mirror of
https://github.com/ZDoom/qzdoom-gpl.git
synced 2024-11-18 18:11:56 +00:00
affd0e5034
the spawn function that only spawns one mace per level. - Moved Mace respawning code into AInventory so that it works properly for replacement actors. SVN r1107 (trunk)
660 lines
9.9 KiB
Text
660 lines
9.9 KiB
Text
/*
|
|
ACTOR HereticWeapon : Weapon
|
|
{
|
|
Weapon.Kickback 150
|
|
}
|
|
*/
|
|
|
|
// Staff --------------------------------------------------------------------
|
|
|
|
ACTOR Staff : HereticWeapon
|
|
{
|
|
Weapon.SelectionOrder 3800
|
|
+THRUGHOST
|
|
+WIMPY_WEAPON
|
|
+MELEEWEAPON
|
|
Weapon.sisterweapon "StaffPowered"
|
|
|
|
action native A_StaffAttack (eval int damage, class<Actor> puff);
|
|
|
|
States
|
|
{
|
|
Ready:
|
|
STFF A 1 A_WeaponReady
|
|
Loop
|
|
Deselect:
|
|
STFF A 1 A_Lower
|
|
Loop
|
|
Select:
|
|
STFF A 1 A_Raise
|
|
Loop
|
|
Fire:
|
|
STFF B 6
|
|
STFF C 8 A_StaffAttack(random[StaffAttack](5, 20), "StaffPuff")
|
|
STFF B 8 A_ReFire
|
|
Goto Ready
|
|
}
|
|
}
|
|
|
|
ACTOR StaffPowered : Staff
|
|
{
|
|
Weapon.sisterweapon "Staff"
|
|
Weapon.ReadySound "weapons/staffcrackle"
|
|
+WEAPON.POWERED_UP
|
|
+WEAPON.READYSNDHALF
|
|
+WEAPON.STAFF2_KICKBACK
|
|
States
|
|
{
|
|
Ready:
|
|
STFF DEF 4 A_WeaponReady
|
|
Loop
|
|
Deselect:
|
|
STFF D 1 A_Lower
|
|
Loop
|
|
Select:
|
|
STFF D 1 A_Raise
|
|
Loop
|
|
Fire:
|
|
STFF G 6
|
|
STFF H 8 A_StaffAttack(random[StaffAttack](18, 81), "StaffPuff2")
|
|
STFF G 8 A_ReFire
|
|
Goto Ready
|
|
}
|
|
}
|
|
|
|
|
|
// Staff puff ---------------------------------------------------------------
|
|
|
|
ACTOR StaffPuff
|
|
{
|
|
RenderStyle Translucent
|
|
Alpha 0.4
|
|
VSpeed 1
|
|
+NOBLOCKMAP
|
|
+NOGRAVITY
|
|
+PUFFONACTORS
|
|
AttackSound "weapons/staffhit"
|
|
States
|
|
{
|
|
Spawn:
|
|
PUF3 A 3 BRIGHT
|
|
PUF3 BCD 3
|
|
Stop
|
|
}
|
|
}
|
|
|
|
// Staff puff 2 -------------------------------------------------------------
|
|
|
|
ACTOR StaffPuff2
|
|
{
|
|
RenderStyle Add
|
|
+NOBLOCKMAP
|
|
+NOGRAVITY
|
|
+PUFFONACTORS
|
|
AttackSound "weapons/staffpowerhit"
|
|
States
|
|
{
|
|
Spawn:
|
|
PUF4 ABCDEF 4 BRIGHT
|
|
Stop
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// Gold wand ----------------------------------------------------------------
|
|
|
|
ACTOR GoldWand : HereticWeapon
|
|
{
|
|
+BLOODSPLATTER
|
|
Weapon.SelectionOrder 2000
|
|
Weapon.AmmoGive 25
|
|
Weapon.AmmoUse 1
|
|
Weapon.AmmoType "GoldWandAmmo"
|
|
Weapon.SisterWeapon "GoldWandPowered"
|
|
Weapon.YAdjust 5
|
|
|
|
action native A_FireGoldWandPL1 ();
|
|
|
|
States
|
|
{
|
|
Ready:
|
|
GWND A 1 A_WeaponReady
|
|
Loop
|
|
Deselect:
|
|
GWND A 1 A_Lower
|
|
Loop
|
|
Select:
|
|
GWND A 1 A_Raise
|
|
Loop
|
|
Fire:
|
|
GWND B 3
|
|
GWND C 5 A_FireGoldWandPL1
|
|
GWND D 3
|
|
GWND D 0 A_ReFire
|
|
Goto Ready
|
|
}
|
|
}
|
|
|
|
ACTOR GoldWandPowered : GoldWand
|
|
{
|
|
+WEAPON.POWERED_UP
|
|
Weapon.AmmoGive 0
|
|
Weapon.SisterWeapon "GoldWand"
|
|
|
|
action native A_FireGoldWandPL2 ();
|
|
|
|
States
|
|
{
|
|
Fire:
|
|
GWND B 3
|
|
GWND C 4 A_FireGoldWandPL2
|
|
GWND D 3
|
|
GWND D 0 A_ReFire
|
|
Goto Ready
|
|
}
|
|
}
|
|
|
|
|
|
// Gold wand FX1 ------------------------------------------------------------
|
|
|
|
ACTOR GoldWandFX1
|
|
{
|
|
Game Heretic
|
|
SpawnID 151
|
|
Radius 10
|
|
Height 6
|
|
Speed 22
|
|
Damage 2
|
|
Projectile
|
|
RenderStyle Add
|
|
DeathSound "weapons/wandhit"
|
|
States
|
|
{
|
|
Spawn:
|
|
FX01 AB 6 BRIGHT
|
|
Loop
|
|
Death:
|
|
FX01 EFGH 3 BRIGHT
|
|
Stop
|
|
}
|
|
}
|
|
|
|
// Gold wand FX2 ------------------------------------------------------------
|
|
|
|
ACTOR GoldWandFX2 : GoldWandFX1
|
|
{
|
|
Game Heretic
|
|
SpawnID 152
|
|
Speed 18
|
|
Damage 1
|
|
DeathSound ""
|
|
States
|
|
{
|
|
Spawn:
|
|
FX01 CD 6 BRIGHT
|
|
Loop
|
|
}
|
|
}
|
|
|
|
// Gold wand puff 1 ---------------------------------------------------------
|
|
|
|
ACTOR GoldWandPuff1
|
|
{
|
|
+NOBLOCKMAP
|
|
+NOGRAVITY
|
|
+PUFFONACTORS
|
|
RenderStyle Add
|
|
States {
|
|
Spawn:
|
|
PUF2 ABCDE 3 BRIGHT
|
|
Stop
|
|
}
|
|
}
|
|
|
|
// Gold wand puff 2 ---------------------------------------------------------
|
|
|
|
ACTOR GoldWandPuff2 : GoldWandFX1
|
|
{
|
|
Skip_Super
|
|
+NOBLOCKMAP
|
|
+NOGRAVITY
|
|
States
|
|
{
|
|
Spawn:
|
|
Goto Super::Death
|
|
}
|
|
}
|
|
|
|
|
|
// Crossbow -----------------------------------------------------------------
|
|
|
|
ACTOR Crossbow : HereticWeapon 2001
|
|
{
|
|
Game Heretic
|
|
SpawnID 27
|
|
Weapon.SelectionOrder 800
|
|
Weapon.AmmoUse 1
|
|
Weapon.AmmoGive 10
|
|
Weapon.AmmoType "CrossbowAmmo"
|
|
Weapon.SisterWeapon "CrossbowPowered"
|
|
Weapon.YAdjust 15
|
|
Inventory.PickupMessage "$TxT_WPNCROSSBOW"
|
|
|
|
action native A_FireCrossbowPL1 ();
|
|
|
|
States
|
|
{
|
|
Spawn:
|
|
WBOW A -1
|
|
Stop
|
|
Ready:
|
|
CRBW AAAAAABBBBBBCCCCCC 1 A_WeaponReady
|
|
Loop
|
|
Deselect:
|
|
CRBW A 1 A_Lower
|
|
Loop
|
|
Select:
|
|
CRBW A 1 A_Raise
|
|
Loop
|
|
Fire:
|
|
CRBW D 6 A_FireCrossbowPL1
|
|
CRBW EFGH 3
|
|
CRBW AB 4
|
|
CRBW C 5 A_ReFire
|
|
Goto Ready
|
|
}
|
|
}
|
|
|
|
|
|
ACTOR CrossbowPowered : Crossbow
|
|
{
|
|
+WEAPON.POWERED_UP
|
|
Weapon.AmmoGive 0
|
|
Weapon.SisterWeapon "Crossbow"
|
|
|
|
action native A_FireCrossbowPL2();
|
|
|
|
States
|
|
{
|
|
Fire:
|
|
CRBW D 5 A_FireCrossbowPL2
|
|
CRBW E 3
|
|
CRBW F 2
|
|
CRBW G 3
|
|
CRBW H 2
|
|
CRBW A 3
|
|
CRBW B 3
|
|
CRBW C 4 A_ReFire
|
|
Goto Ready
|
|
}
|
|
}
|
|
|
|
|
|
// Crossbow FX1 -------------------------------------------------------------
|
|
|
|
ACTOR CrossbowFX1
|
|
{
|
|
Game Heretic
|
|
SpawnID 147
|
|
Radius 11
|
|
Height 8
|
|
Speed 30
|
|
Damage 10
|
|
Projectile
|
|
RenderStyle Add
|
|
SeeSound "weapons/bowshoot"
|
|
DeathSound "weapons/bowhit"
|
|
States
|
|
{
|
|
Spawn:
|
|
FX03 B 1 BRIGHT
|
|
Loop
|
|
Death:
|
|
FX03 HIJ 8 BRIGHT
|
|
Stop
|
|
}
|
|
}
|
|
|
|
|
|
// Crossbow FX2 -------------------------------------------------------------
|
|
|
|
ACTOR CrossbowFX2 : CrossbowFX1
|
|
{
|
|
Game Heretic
|
|
SpawnID 148
|
|
Speed 32
|
|
Damage 6
|
|
States
|
|
{
|
|
Spawn:
|
|
FX03 B 1 BRIGHT A_SpawnItemEx("CrossbowFX4", random2[BoltSpark]()*0.015625, random2[BoltSpark]()*0.015625, 0, 0,0,0,0,SXF_ABSOLUTEPOSITION, 50)
|
|
Loop
|
|
}
|
|
}
|
|
|
|
// Crossbow FX3 -------------------------------------------------------------
|
|
|
|
ACTOR CrossbowFX3 : CrossbowFX1
|
|
{
|
|
Game Heretic
|
|
SpawnID 149
|
|
Speed 20
|
|
Damage 2
|
|
SeeSound ""
|
|
-NOBLOCKMAP
|
|
+WINDTHRUST
|
|
+THRUGHOST
|
|
States
|
|
{
|
|
Spawn:
|
|
FX03 A 1 BRIGHT
|
|
Loop
|
|
Death:
|
|
FX03 CDE 8 BRIGHT
|
|
Stop
|
|
}
|
|
}
|
|
|
|
// Crossbow FX4 -------------------------------------------------------------
|
|
|
|
ACTOR CrossbowFX4
|
|
{
|
|
+NOBLOCKMAP
|
|
Gravity 0.125
|
|
RenderStyle Add
|
|
States
|
|
{
|
|
Spawn:
|
|
FX03 FG 8 BRIGHT
|
|
Stop
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
// Gauntlets ----------------------------------------------------------------
|
|
|
|
ACTOR Gauntlets : Weapon 2005
|
|
{
|
|
Game Heretic
|
|
SpawnID 32
|
|
+BLOODSPLATTER
|
|
Weapon.SelectionOrder 2300
|
|
+WEAPON.WIMPY_WEAPON
|
|
+WEAPON.MELEEWEAPON
|
|
Weapon.Kickback 0
|
|
Weapon.YAdjust 15
|
|
Weapon.UpSound "weapons/gauntletsactivate"
|
|
Weapon.SisterWeapon "GauntletsPowered"
|
|
Inventory.PickupMessage "$TxT_WPNGAUNTLETS"
|
|
|
|
action native A_GauntletAttack (eval int power);
|
|
|
|
States
|
|
{
|
|
Spawn:
|
|
WGNT A -1
|
|
Stop
|
|
Ready:
|
|
GAUN A 1 A_WeaponReady
|
|
Loop
|
|
Deselect:
|
|
GAUN A 1 A_Lower
|
|
Loop
|
|
Select:
|
|
GAUN A 1 A_Raise
|
|
Loop
|
|
Fire:
|
|
GAUN B 4 A_PlayWeaponSound("weapons/gauntletsuse")
|
|
GAUN C 4
|
|
Hold:
|
|
GAUN DEF 4 BRIGHT A_GauntletAttack(0)
|
|
GAUN C 4 A_ReFire
|
|
GAUN B 4 A_Light0
|
|
Goto Ready
|
|
}
|
|
}
|
|
|
|
|
|
ACTOR GauntletsPowered : Gauntlets
|
|
{
|
|
+POWERED_UP
|
|
Weapon.SisterWeapon "Gauntlets"
|
|
States
|
|
{
|
|
Ready:
|
|
GAUN GHI 4 A_WeaponReady
|
|
Loop
|
|
Deselect:
|
|
GAUN G 1 A_Lower
|
|
Loop
|
|
Select:
|
|
GAUN G 1 A_Raise
|
|
Loop
|
|
Fire:
|
|
GAUN J 4 A_PlayWeaponSound("weapons/gauntletsuse")
|
|
GAUN K 4
|
|
Hold:
|
|
GAUN LMN 4 BRIGHT A_GauntletAttack(1)
|
|
GAUN K 4 A_ReFire
|
|
GAUN J 4 A_Light0
|
|
Goto Ready
|
|
}
|
|
}
|
|
|
|
|
|
// Gauntlet puff 1 ----------------------------------------------------------
|
|
|
|
ACTOR GauntletPuff1
|
|
{
|
|
+NOBLOCKMAP
|
|
+NOGRAVITY
|
|
+PUFFONACTORS
|
|
RenderStyle Translucent
|
|
Alpha 0.4
|
|
VSpeed 0.8
|
|
States
|
|
{
|
|
PUF1 ABCD 4 BRIGHT
|
|
Stop
|
|
}
|
|
}
|
|
|
|
// Gauntlett puff 2 ---------------------------------------------------------
|
|
|
|
ACTOR GauntletPuff2 : GauntletPuff1
|
|
{
|
|
States
|
|
{
|
|
PUF1 EFGH 4 BRIGHT
|
|
Stop
|
|
}
|
|
}
|
|
|
|
|
|
// The mace itself ----------------------------------------------------------
|
|
|
|
ACTOR Mace : HereticWeapon
|
|
{
|
|
Game Heretic
|
|
SpawnID 31
|
|
Weapon.SelectionOrder 1400
|
|
Weapon.AmmoUse 1
|
|
Weapon.AmmoGive1 50
|
|
Weapon.YAdjust 15
|
|
Weapon.AmmoType "MaceAmmo"
|
|
Weapon.SisterWeapon "MacePowered"
|
|
Inventory.PickupMessage "$TxT_WPNMACE"
|
|
|
|
action native A_FireMacePL1();
|
|
|
|
States
|
|
{
|
|
Spawn:
|
|
WMCE A -1
|
|
Stop
|
|
Ready:
|
|
MACE A 1 A_WeaponReady
|
|
Loop
|
|
Deselect:
|
|
MACE A 1 A_Lower
|
|
Loop
|
|
Select:
|
|
MACE A 1 A_Raise
|
|
Loop
|
|
Fire:
|
|
MACE B 4
|
|
Hold:
|
|
MACE CDEF 3 A_FireMacePL1
|
|
MACE C 4 A_ReFire
|
|
MACE DEFB 4
|
|
Goto Ready
|
|
}
|
|
}
|
|
|
|
ACTOR MacePowered : Mace
|
|
{
|
|
+WEAPON.POWERED_UP
|
|
Weapon.AmmoUse 5
|
|
Weapon.AmmoGive 0
|
|
Weapon.SisterWeapon "Mace"
|
|
|
|
action native A_FireMacePL2();
|
|
|
|
States
|
|
{
|
|
Fire:
|
|
Hold:
|
|
MACE B 4
|
|
MACE D 4 A_FireMacePL2
|
|
MACE B 4
|
|
MACE A 8 A_ReFire
|
|
Goto Ready
|
|
}
|
|
}
|
|
|
|
// Mace FX1 -----------------------------------------------------------------
|
|
|
|
ACTOR MaceFX1
|
|
{
|
|
Game Heretic
|
|
SpawnID 154
|
|
Radius 8
|
|
Height 6
|
|
Speed 20
|
|
Damage 2
|
|
Projectile
|
|
+THRUGHOST
|
|
+HERETICBOUNCE
|
|
SeeSound "weapons/maceshoot"
|
|
|
|
action native A_MacePL1Check();
|
|
action native A_MaceBallImpact();
|
|
|
|
States
|
|
{
|
|
Spawn:
|
|
FX02 AB 4 A_MacePL1Check
|
|
Loop
|
|
Death:
|
|
FX02 F 4 BRIGHT A_MaceBallImpact
|
|
FX02 GHIJ 4 BRIGHT
|
|
Stop
|
|
}
|
|
}
|
|
|
|
// Mace FX2 -----------------------------------------------------------------
|
|
|
|
ACTOR MaceFX2 : MaceFX1
|
|
{
|
|
Game Heretic
|
|
SpawnID 156
|
|
Speed 10
|
|
Damage 6
|
|
Gravity 0.125
|
|
-NOGRAVITY
|
|
SeeSound ""
|
|
|
|
action native A_MaceBallImpact2();
|
|
|
|
States
|
|
{
|
|
Spawn:
|
|
FX02 CD 4
|
|
Loop
|
|
Death:
|
|
FX02 F 4 A_MaceBallImpact2
|
|
goto Super::Death+1
|
|
}
|
|
}
|
|
|
|
// Mace FX3 -----------------------------------------------------------------
|
|
|
|
ACTOR MaceFX3 : MaceFX1
|
|
{
|
|
Game Heretic
|
|
SpawnID 155
|
|
Speed 7
|
|
Damage 4
|
|
-NOGRAVITY
|
|
Gravity 0.125
|
|
States
|
|
{
|
|
Spawn:
|
|
FX02 AB 4
|
|
Loop
|
|
}
|
|
}
|
|
|
|
|
|
// Mace FX4 -----------------------------------------------------------------
|
|
|
|
ACTOR MaceFX4 native
|
|
{
|
|
Game Heretic
|
|
SpawnID 153
|
|
Radius 8
|
|
Height 6
|
|
Speed 7
|
|
Damage 18
|
|
Gravity 0.125
|
|
Projectile
|
|
-NOGRAVITY
|
|
+TELESTOMP
|
|
+THRUGHOST
|
|
+HERETICBOUNCE
|
|
SeeSound ""
|
|
|
|
action native A_DeathBallImpact();
|
|
|
|
States
|
|
{
|
|
Spawn:
|
|
FX02 E 99
|
|
Loop
|
|
Death:
|
|
FX02 C 4 A_DeathBallImpact
|
|
FX02 GHIJ 4 BRIGHT
|
|
Stop
|
|
}
|
|
}
|
|
|
|
|
|
// Mace spawn spot ----------------------------------------------------------
|
|
|
|
ACTOR MaceSpawner : SpecialSpot 2002
|
|
{
|
|
Game Heretic
|
|
+NOSECTOR
|
|
+NOBLOCKMAP
|
|
States
|
|
{
|
|
Spawn:
|
|
TNT1 A 1
|
|
TNT1 A -1 A_SpawnSingleItem("Mace", 64, 64, 0)
|
|
Stop
|
|
}
|
|
}
|
|
|