qzdoom/wadsrc/static/actors/heretic/hereticweaps.txt
2016-03-01 09:47:10 -06:00

1133 lines
16 KiB
Text

ACTOR HereticWeapon : Weapon
{
Weapon.Kickback 150
}
// Staff --------------------------------------------------------------------
ACTOR Staff : HereticWeapon
{
Weapon.SelectionOrder 3800
+THRUGHOST
+WIMPY_WEAPON
+MELEEWEAPON
Weapon.sisterweapon "StaffPowered"
Obituary "$OB_MPSTAFF"
Tag "$TAG_STAFF"
action native A_StaffAttack (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
Obituary "$OB_MPPSTAFF"
Tag "$TAG_STAFFP"
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 4 BRIGHT
PUF3 BCD 4
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
Inventory.PickupMessage "$TXT_WPNGOLDWAND"
Obituary "$OB_MPGOLDWAND"
Tag "$TAG_GOLDWAND"
action native A_FireGoldWandPL1 ();
States
{
Spawn:
GWAN A -1
Stop
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"
Obituary "$OB_MPPGOLDWAND"
Tag "$TAG_GOLDWANDP"
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
{
Radius 10
Height 6
Speed 22
Damage 2
Projectile
RenderStyle Add
DeathSound "weapons/wandhit"
Obituary "$OB_MPPGOLDWAND"
States
{
Spawn:
FX01 AB 6 BRIGHT
Loop
Death:
FX01 EFGH 3 BRIGHT
Stop
}
}
// Gold wand FX2 ------------------------------------------------------------
ACTOR GoldWandFX2 : GoldWandFX1
{
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
+PUFFONACTORS
States
{
Spawn:
Goto Super::Death
}
}
// Crossbow -----------------------------------------------------------------
ACTOR Crossbow : HereticWeapon
{
Weapon.SelectionOrder 800
Weapon.AmmoUse 1
Weapon.AmmoGive 10
Weapon.AmmoType "CrossbowAmmo"
Weapon.SisterWeapon "CrossbowPowered"
Weapon.YAdjust 15
Inventory.PickupMessage "$TXT_WPNCROSSBOW"
Tag "$TAG_CROSSBOW"
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"
Tag "$TAG_CROSSBOWP"
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
{
Radius 11
Height 8
Speed 30
Damage 10
Projectile
RenderStyle Add
SeeSound "weapons/bowshoot"
DeathSound "weapons/bowhit"
Obituary "$OB_MPCROSSBOW"
States
{
Spawn:
FX03 B 1 BRIGHT
Loop
Death:
FX03 HIJ 8 BRIGHT
Stop
}
}
// Crossbow FX2 -------------------------------------------------------------
ACTOR CrossbowFX2 : CrossbowFX1
{
Speed 32
Damage 6
Obituary "$OB_MPPCROSSBOW"
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
{
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
{
+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"
Tag "$TAG_GAUNTLETS"
Obituary "$OB_MPGAUNTLETS"
action native A_GauntletAttack (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
Tag "$TAG_GAUNTLETSP"
Obituary "$OB_MPPGAUNTLETS"
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
{
Spawn:
PUF1 ABCD 4 BRIGHT
Stop
}
}
// Gauntlet puff 2 ---------------------------------------------------------
ACTOR GauntletPuff2 : GauntletPuff1
{
States
{
Spawn:
PUF1 EFGH 4 BRIGHT
Stop
}
}
// The mace itself ----------------------------------------------------------
ACTOR Mace : HereticWeapon
{
Weapon.SelectionOrder 1400
Weapon.AmmoUse 1
Weapon.AmmoGive1 50
Weapon.YAdjust 15
Weapon.AmmoType "MaceAmmo"
Weapon.SisterWeapon "MacePowered"
Inventory.PickupMessage "$TXT_WPNMACE"
Tag "$TAG_MACE"
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"
Tag "$TAG_MACEP"
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
{
Radius 8
Height 6
Speed 20
Damage 2
Projectile
+THRUGHOST
BounceType "HereticCompat"
SeeSound "weapons/maceshoot"
Obituary "$OB_MPMACE"
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
{
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
{
Speed 7
Damage 4
-NOGRAVITY
Gravity 0.125
States
{
Spawn:
FX02 AB 4
Loop
}
}
// Mace FX4 -----------------------------------------------------------------
ACTOR MaceFX4 native
{
Radius 8
Height 6
Speed 7
Damage 18
Gravity 0.125
Projectile
-NOGRAVITY
+TELESTOMP
+THRUGHOST
-NOTELEPORT
BounceType "HereticCompat"
SeeSound ""
Obituary "$OB_MPPMACE"
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
{
+NOSECTOR
+NOBLOCKMAP
States
{
Spawn:
TNT1 A 1
TNT1 A -1 A_SpawnSingleItem("Mace", 64, 64, 0)
Stop
}
}
// Blaster ------------------------------------------------------------------
ACTOR Blaster : HereticWeapon
{
+BLOODSPLATTER
Weapon.SelectionOrder 500
Weapon.AmmoUse 1
Weapon.AmmoGive 30
Weapon.YAdjust 15
Weapon.AmmoType "BlasterAmmo"
Weapon.SisterWeapon "BlasterPowered"
Inventory.PickupMessage "$TXT_WPNBLASTER"
Tag "$TAG_BLASTER"
Obituary "$OB_MPBLASTER"
action native A_FireBlasterPL1();
States
{
Spawn:
WBLS A -1
Stop
Ready:
BLSR A 1 A_WeaponReady
Loop
Deselect:
BLSR A 1 A_Lower
Loop
Select:
BLSR A 1 A_Raise
Loop
Fire:
BLSR BC 3
Hold:
BLSR D 2 A_FireBlasterPL1
BLSR CB 2
BLSR A 0 A_ReFire
Goto Ready
}
}
ACTOR BlasterPowered : Blaster
{
+WEAPON.POWERED_UP
Weapon.AmmoUse 5
Weapon.AmmoGive 0
Weapon.SisterWeapon "Blaster"
States
{
Fire:
BLSR BC 0
Hold:
BLSR D 3 A_FireCustomMissile("BlasterFX1")
BLSR CB 4
BLSR A 0 A_ReFire
Goto Ready
}
}
// Blaster FX 1 -------------------------------------------------------------
ACTOR BlasterFX1 : FastProjectile native
{
Radius 12
Height 8
Speed 184
Damage 2
SeeSound "weapons/blastershoot"
DeathSound "weapons/blasterhit"
+SPAWNSOUNDSOURCE
Obituary "$OB_MPPBLASTER"
Tag "$TAG_BLASTERP"
action native A_SpawnRippers();
States
{
Spawn:
ACLO E 200
Loop
Death:
FX18 A 3 BRIGHT A_SpawnRippers
FX18 B 3 BRIGHT
FX18 CDEFG 4 BRIGHT
Stop
}
}
// Blaster smoke ------------------------------------------------------------
ACTOR BlasterSmoke
{
+NOBLOCKMAP
+NOGRAVITY
+NOTELEPORT
+CANNOTPUSH
RenderStyle Translucent
Alpha 0.4
States
{
Spawn:
FX18 HIJKL 4
Stop
}
}
// Ripper -------------------------------------------------------------------
ACTOR Ripper native
{
Radius 8
Height 6
Speed 14
Damage 1
Projectile
+RIPPER
DeathSound "weapons/blasterpowhit"
Obituary "$OB_MPPBLASTER"
States
{
Spawn:
FX18 M 4
FX18 N 5
Loop
Death:
FX18 OPQRS 4 BRIGHT
Stop
}
}
// Blaster Puff -------------------------------------------------------------
ACTOR BlasterPuff
{
+NOBLOCKMAP
+NOGRAVITY
+PUFFONACTORS
RenderStyle Add
SeeSound "weapons/blasterhit"
States
{
Crash:
FX17 ABCDE 4 BRIGHT
Stop
Spawn:
FX17 FG 3 BRIGHT
FX17 HIJKL 4 BRIGHT
Stop
}
}
// Skull (Horn) Rod ---------------------------------------------------------
ACTOR SkullRod : HereticWeapon
{
Weapon.SelectionOrder 200
Weapon.AmmoUse1 1
Weapon.AmmoGive1 50
Weapon.YAdjust 15
Weapon.AmmoType1 "SkullRodAmmo"
Weapon.SisterWeapon "SkullRodPowered"
Inventory.PickupMessage "$TXT_WPNSKULLROD"
Tag "$TAG_SKULLROD"
action native A_FireSkullRodPL1();
States
{
Spawn:
WSKL A -1
Stop
Ready:
HROD A 1 A_WeaponReady
Loop
Deselect:
HROD A 1 A_Lower
Loop
Select:
HROD A 1 A_Raise
Loop
Fire:
HROD AB 4 A_FireSkullRodPL1
HROD B 0 A_ReFire
Goto Ready
}
}
ACTOR SkullRodPowered : SkullRod
{
+WEAPON.POWERED_UP
Weapon.AmmoUse1 5
Weapon.AmmoGive1 0
Weapon.SisterWeapon "SkullRod"
Tag "$TAG_SKULLRODP"
action native A_FireSkullRodPL2();
States
{
Fire:
HROD C 2
HROD D 3
HROD E 2
HROD F 3
HROD G 4 A_FireSkullRodPL2
HROD F 2
HROD E 3
HROD D 2
HROD C 2 A_ReFire
Goto Ready
}
}
// Horn Rod FX 1 ------------------------------------------------------------
ACTOR HornRodFX1
{
Radius 12
Height 8
Speed 22
Damage 3
Projectile
+WINDTHRUST
-NOBLOCKMAP
RenderStyle Add
SeeSound "weapons/hornrodshoot"
DeathSound "weapons/hornrodhit"
Obituary "$OB_MPSKULLROD"
States
{
Spawn:
FX00 AB 6 BRIGHT
Loop
Death:
FX00 HI 5 BRIGHT
FX00 JK 4 BRIGHT
FX00 LM 3 BRIGHT
Stop
}
}
// Horn Rod FX 2 ------------------------------------------------------------
ACTOR HornRodFX2 native
{
Radius 12
Height 8
Speed 22
Damage 10
Health 140
Projectile
RenderStyle Add
SeeSound "weapons/hornrodpowshoot"
DeathSound "weapons/hornrodpowhit"
Obituary "$OB_MPPSKULLROD"
action native A_AddPlayerRain();
action native A_HideInCeiling();
action native A_SkullRodStorm();
States
{
Spawn:
FX00 C 3 BRIGHT
FX00 D 3 BRIGHT A_SeekerMissile(10, 30)
FX00 E 3 BRIGHT
FX00 F 3 BRIGHT A_SeekerMissile(10, 30)
Loop
Death:
FX00 H 5 BRIGHT A_AddPlayerRain
FX00 I 5 BRIGHT
FX00 J 4 BRIGHT
FX00 KLM 3 BRIGHT
FX00 G 1 A_HideInCeiling
FX00 G 1 A_SkullRodStorm
Wait
}
}
// Rain pillar 1 ------------------------------------------------------------
ACTOR RainPillar native
{
Radius 5
Height 12
Speed 12
Damage 5
Mass 5
Projectile
-ACTIVATEPCROSS
-ACTIVATEIMPACT
RenderStyle Add
Obituary "$OB_MPPSKULLROD"
action native A_RainImpact();
States
{
Spawn:
FX22 A -1 BRIGHT
Stop
Death:
FX22 B 4 BRIGHT A_RainImpact
FX22 CDEF 4 BRIGHT
Stop
NotFloor:
FX22 GHI 4 BRIGHT
Stop
}
}
// Rain tracker "inventory" item --------------------------------------------
ACTOR RainTracker : Inventory native
{
+INVENTORY.UNDROPPABLE
}
// Phoenix Rod --------------------------------------------------------------
ACTOR PhoenixRod : Weapon native
{
+WEAPON.NOAUTOFIRE
Weapon.SelectionOrder 2600
Weapon.Kickback 150
Weapon.YAdjust 15
Weapon.AmmoUse 1
Weapon.AmmoGive 2
Weapon.AmmoType "PhoenixRodAmmo"
Weapon.Sisterweapon "PhoenixRodPowered"
Inventory.PickupMessage "$TXT_WPNPHOENIxROD"
Tag "$TAG_PHOENIxROD"
action native A_FirePhoenixPL1();
States
{
Spawn:
WPHX A -1
Stop
Ready:
PHNX A 1 A_WeaponReady
Loop
Deselect:
PHNX A 1 A_Lower
Loop
Select:
PHNX A 1 A_Raise
Loop
Fire:
PHNX B 5
PHNX C 7 A_FirePhoenixPL1
PHNX DB 4
PHNX B 0 A_ReFire
Goto Ready
}
}
ACTOR PhoenixRodPowered : PhoenixRod native
{
+WEAPON.POWERED_UP
+WEAPON.MELEEWEAPON
Weapon.SisterWeapon "PhoenixRod"
Weapon.AmmoGive 0
Tag "$TAG_PHOENIxRODP"
action native A_InitPhoenixPL2();
action native A_FirePhoenixPL2();
action native A_ShutdownPhoenixPL2();
States
{
Fire:
PHNX B 3 A_InitPhoenixPL2
Hold:
PHNX C 1 A_FirePhoenixPL2
PHNX B 4 A_ReFire
Powerdown:
PHNX B 4 A_ShutdownPhoenixPL2
Goto Ready
}
}
// Phoenix FX 1 -------------------------------------------------------------
ACTOR PhoenixFX1 native
{
Radius 11
Height 8
Speed 20
Damage 20
DamageType Fire
Projectile
+THRUGHOST
+SPECIALFIREDAMAGE
SeeSound "weapons/phoenixshoot"
DeathSound "weapons/phoenixhit"
Obituary "$OB_MPPHOENIXROD"
action native A_PhoenixPuff();
States
{
Spawn:
FX04 A 4 BRIGHT A_PhoenixPuff
Loop
Death:
FX08 A 6 BRIGHT A_Explode
FX08 BC 5 BRIGHT
FX08 DEFGH 4 BRIGHT
Stop
}
}
// Phoenix puff -------------------------------------------------------------
ACTOR PhoenixPuff
{
+NOBLOCKMAP
+NOGRAVITY
+NOTELEPORT
+CANNOTPUSH
RenderStyle Translucent
Alpha 0.4
States
{
Spawn:
FX04 BCDEF 4
Stop
}
}
// Phoenix FX 2 -------------------------------------------------------------
ACTOR PhoenixFX2 native
{
Radius 6
Height 8
Speed 10
Damage 2
DamageType Fire
Projectile
RenderStyle Add
Obituary "$OB_MPPPHOENIXROD"
action native A_FlameEnd();
action native A_FloatPuff();
States
{
Spawn:
FX09 ABABA 2 BRIGHT
FX09 B 2 BRIGHT A_FlameEnd
FX09 CDEF 2 BRIGHT
Stop
Death:
FX09 G 3 BRIGHT
FX09 H 3 BRIGHT A_FloatPuff
FX09 I 4 BRIGHT
FX09 JK 5 BRIGHT
Stop
}
}