gzdoom/wadsrc/static/actors/heretic/hereticweaps.txt
Randy Heit a7e40b56f6 - Fixed: Player names and chat macros that end with incomplete \c escapes now
have those escapes stripped before printing so that they do not merge with
  subsequent text.
- Moved default weapon slot assignments into the player classes.
  Weapon.SlotNumber is now used solely for mods that want to add new weapons
  without completely redoing the player's arsenal. Restored some config-based
  weapon slot customization, though slots are no longer automatically saved
  to the config and section names have changed slightly. However, unlike
  before, config slots are now the definitive word on slot assignments and
  cannot be overridden by any other files loaded.
- Fixed: Several weapons were missing a game filter from their definitions.
- Removed storage of weapon slots in the config so that weapon slots can
  be setup in the weapons themselves. Slots are still configurable, since
  they need to be for KEYCONF to work; any changes simply won't be saved
  when you quit.
- Removed limit on weapon slot sizes.


SVN r1428 (trunk)
2009-02-20 00:53:25 +00:00

1136 lines
17 KiB
Text

ACTOR HereticWeapon : Weapon
{
Weapon.Kickback 150
}
// Staff --------------------------------------------------------------------
ACTOR Staff : HereticWeapon
{
Game Heretic
Weapon.SelectionOrder 3800
+THRUGHOST
+WIMPY_WEAPON
+MELEEWEAPON
Weapon.sisterweapon "StaffPowered"
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
{
Game Heretic
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 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
{
Game Heretic
+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
{
Game Heretic
+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
{
Game Heretic
+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 (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
{
Game Heretic
+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
{
Spawn:
PUF1 ABCD 4 BRIGHT
Stop
}
}
// Gauntlett puff 2 ---------------------------------------------------------
ACTOR GauntletPuff2 : GauntletPuff1
{
States
{
Spawn:
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
{
Game Heretic
+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
}
}
// Blaster ------------------------------------------------------------------
ACTOR Blaster : HereticWeapon 53
{
Game Heretic
SpawnID 28
+BLOODSPLATTER
Weapon.SelectionOrder 500
Weapon.AmmoUse 1
Weapon.AmmoGive 30
Weapon.YAdjust 15
Weapon.AmmoType "BlasterAmmo"
Weapon.SisterWeapon "BlasterPowered"
Inventory.PickupMessage "$TxT_WPNBLASTER"
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
{
Game Heretic
+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
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
{
Game Heretic
SpawnID 157
Radius 8
Height 6
Speed 14
Damage 1
Projectile
+RIPPER
DeathSound "weapons/blasterpowhit"
States
{
Spawn:
FX18 M 4
FX18 N 5
Loop
Death:
FX18 OPQRS 4 BRIGHT
Stop
}
}
// Blaster Puff -------------------------------------------------------------
ACTOR BlasterPuff
{
+NOBLOCKMAP
+NOGRAVITY
+PUFFONACTORS
RenderStyle Add
States
{
Crash:
FX17 ABCDE 4 BRIGHT
Stop
Spawn:
FX17 FG 3 BRIGHT
FX17 HIJKL 4 BRIGHT
Stop
}
}
// Skull (Horn) Rod ---------------------------------------------------------
ACTOR SkullRod : HereticWeapon 2004
{
Game Heretic
SpawnID 30
Weapon.SelectionOrder 200
Weapon.AmmoUse1 1
Weapon.AmmoGive1 50
Weapon.YAdjust 15
Weapon.AmmoType1 "SkullRodAmmo"
Weapon.SisterWeapon "SkullRodPowered"
Inventory.PickupMessage "$TxT_WPNSKULLROD"
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
{
Game Heretic
+WEAPON.POWERED_UP
Weapon.AmmoUse1 5
Weapon.AmmoGive1 0
Weapon.SisterWeapon "SkullRod"
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
{
Game Heretic
SpawnID 160
Radius 12
Height 8
Speed 22
Damage 3
Projectile
+WINDTHRUST
-NOBLOCKMAP
RenderStyle Add
SeeSound "weapons/hornrodshoot"
DeathSound "weapons/hornrodhit"
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"
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
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 2003 native
{
Game Heretic
SpawnID 29
+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"
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
{
Game Heretic
+WEAPON.POWERED_UP
Weapon.SisterWeapon "PhoenixRod"
Weapon.AmmoGive 0
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
{
Game Heretic
SpawnID 163
Radius 11
Height 8
Speed 20
Damage 20
DamageType Fire
Projectile
+THRUGHOST
+SPECIALFIREDAMAGE
SeeSound "weapons/phoenixshoot"
DeathSound "weapons/phoenixhit"
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
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
}
}