gzdoom/wadsrc/static/actors/strife/strifeweapons.txt
2016-03-01 09:47:10 -06:00

813 lines
13 KiB
Text

ACTOR StrifeWeapon : Weapon
{
Weapon.Kickback 100
}
// Same as the bullet puff for Doom -----------------------------------------
ACTOR StrifePuff
{
+NOBLOCKMAP
+NOGRAVITY
+ALLOWPARTICLES
RenderStyle Translucent
Alpha 0.25
states
{
Spawn:
POW3 ABCDEFGH 3
Stop
Crash:
PUFY A 4 Bright
PUFY BCD 4
Stop
}
}
// A spark when you hit something that doesn't bleed ------------------------
// Only used by the dagger.
ACTOR StrifeSpark : StrifePuff
{
RenderStyle Add
States
{
Crash:
POW2 ABCD 4
Stop
}
}
// Punch Dagger -------------------------------------------------------------
ACTOR PunchDagger : StrifeWeapon
{
Weapon.SelectionOrder 3900
+WEAPON.NOALERT
Obituary "$OB_MPPUNCHDAGGER"
Tag "$TAG_PUNCHDAGGER"
action native A_JabDagger ();
States
{
Ready:
PNCH A 1 A_WeaponReady
Loop
Deselect:
PNCH A 1 A_Lower
Loop
Select:
PNCH A 1 A_Raise
Loop
Fire:
PNCH B 4
PNCH C 4 A_JabDagger
PNCH D 5
PNCH C 4
PNCH B 5 A_ReFire
Goto Ready
}
}
// The base for Strife projectiles that die with ZAP1 -----------------------
ACTOR StrifeZap1
{
+NOBLOCKMAP
+NOGRAVITY
+DROPOFF
States
{
Spawn:
Death:
ZAP1 A 3 A_AlertMonsters
ZAP1 BCDEFE 3
ZAP1 DCB 2
ZAP1 A 1
Stop
}
}
// Electric Bolt ------------------------------------------------------------
ACTOR ElectricBolt : StrifeZap1
{
Speed 30
Radius 10
Height 10
Damage 10
Projectile
+STRIFEDAMAGE
MaxStepHeight 4
SeeSound "misc/swish"
ActiveSound "misc/swish"
DeathSound "weapons/xbowhit"
Obituary "$OB_MPELECTRICBOLT"
States
{
Spawn:
AROW A 10 A_LoopActiveSound
Loop
}
}
// Poison Bolt --------------------------------------------------------------
ACTOR PoisonBolt native
{
Speed 30
Radius 10
Height 10
Damage 500
Projectile
+STRIFEDAMAGE
MaxStepHeight 4
SeeSound "misc/swish"
ActiveSound "misc/swish"
Obituary "$OB_MPPOISONBOLT"
States
{
Spawn:
ARWP A 10 A_LoopActiveSound
Loop
Death:
AROW A 1
Stop
}
}
// Strife's Crossbow --------------------------------------------------------
ACTOR StrifeCrossbow : StrifeWeapon
{
+FLOORCLIP
Weapon.SelectionOrder 1200
+WEAPON.NOALERT
Weapon.AmmoUse1 1
Weapon.AmmoGive1 8
Weapon.AmmoType1 "ElectricBolts"
Weapon.SisterWeapon "StrifeCrossbow2"
Inventory.PickupMessage "$TXT_STRIFECROSSBOW"
Tag "$TAG_STRIFECROSSBOW1"
Inventory.Icon "CBOWA0"
action native A_ClearFlash ();
action native A_ShowElectricFlash ();
action native A_FireArrow (class<Actor> proj);
states
{
Spawn:
CBOW A -1
Stop
Ready:
XBOW A 0 A_ShowElectricFlash
XBOW A 1 A_WeaponReady
Wait
Deselect:
XBOW A 1 A_Lower
Loop
Select:
XBOW A 1 A_Raise
Loop
Fire:
XBOW A 3 A_ClearFlash
XBOW B 6 A_FireArrow("ElectricBolt")
XBOW C 4
XBOW D 6
XBOW E 3
XBOW F 5
XBOW G 0 A_ShowElectricFlash
XBOW G 5 A_CheckReload
Goto Ready+1
Flash:
XBOW KLM 5
Loop
}
}
ACTOR StrifeCrossbow2 : StrifeCrossbow
{
Weapon.SelectionOrder 2700
Weapon.AmmoUse1 1
Weapon.AmmoGive1 0
Weapon.AmmoType1 "PoisonBolts"
Weapon.SisterWeapon "StrifeCrossbow"
Tag "$TAG_STRIFECROSSBOW2"
States
{
Ready:
XBOW H 1 A_WeaponReady
Loop
Deselect:
XBOW H 1 A_Lower
Loop
Select:
XBOW H 1 A_Raise
Loop
Fire:
XBOW H 3
XBOW B 6 A_FireArrow("PoisonBolt")
XBOW C 4
XBOW D 6
XBOW E 3
XBOW I 5
XBOW J 5 A_CheckReload
Goto Ready
Flash:
Stop
}
}
// Assault Gun --------------------------------------------------------------
actor AssaultGun : StrifeWeapon
{
+FLOORCLIP
Weapon.SelectionOrder 600
Weapon.AmmoUse1 1
Weapon.AmmoGive1 20
Weapon.AmmoType1 "ClipOfBullets"
Inventory.Icon "RIFLA0"
Tag "$TAG_ASSAULTGUN"
Inventory.PickupMessage "$TXT_ASSAULTGUN"
Obituary "$OB_MPASSAULTGUN"
States
{
Spawn:
RIFL A -1
Stop
Ready:
RIFG A 1 A_WeaponReady
Loop
Deselect:
RIFG B 1 A_Lower
Loop
Select:
RIFG A 1 A_Raise
Loop
Fire:
RIFF AB 3 A_FireAssaultGun
RIFG D 3 A_FireAssaultGun
RIFG C 0 A_ReFire
RIFG B 2 A_Light0
Goto Ready
}
}
// Standing variant of the assault gun --------------------------------------
ACTOR AssaultGunStanding : WeaponGiver
{
DropItem "AssaultGun"
Inventory.PickupMessage "$TXT_ASSAULTGUN"
States
{
Spawn:
RIFL B -1
Stop
}
}
// Mini-Missile Launcher ----------------------------------------------------
ACTOR MiniMissileLauncher : StrifeWeapon
{
+FLOORCLIP
Weapon.SelectionOrder 1800
Weapon.AmmoUse1 1
Weapon.AmmoGive1 8
Weapon.AmmoType1 "MiniMissiles"
Inventory.Icon "MMSLA0"
Tag "$TAG_MMLAUNCHER"
Inventory.PickupMessage "$TXT_MMLAUNCHER"
action native A_FireMiniMissile ();
States
{
Spawn:
MMSL A -1
Stop
Ready:
MMIS A 1 A_WeaponReady
Loop
Deselect:
MMIS A 1 A_Lower
Loop
Select:
MMIS A 1 A_Raise
Loop
Fire:
MMIS A 4 A_FireMiniMissile
MMIS B 4 A_Light1
MMIS C 5 Bright
MMIS D 2 Bright A_Light2
MMIS E 2 Bright
MMIS F 2 Bright A_Light0
MMIS F 0 A_ReFire
Goto Ready
}
}
// Rocket Trail -------------------------------------------------------------
ACTOR RocketTrail
{
+NOBLOCKMAP
+NOGRAVITY
RenderStyle Translucent
Alpha 0.25
SeeSound "misc/missileinflight"
States
{
Spawn:
PUFY BCBCD 4
Stop
}
}
// Rocket Puff --------------------------------------------------------------
ACTOR MiniMissilePuff : StrifePuff
{
-ALLOWPARTICLES
States
{
Spawn:
Goto Crash
}
}
// Mini Missile -------------------------------------------------------------
ACTOR MiniMissile
{
Speed 20
Radius 10
Height 14
Damage 10
Projectile
+STRIFEDAMAGE
MaxStepHeight 4
SeeSound "weapons/minimissile"
DeathSound "weapons/minimissilehit"
Obituary "$OB_MPMINIMISSILELAUNCHER"
States
{
Spawn:
MICR A 6 Bright A_RocketInFlight
Loop
Death:
SMIS A 0 Bright A_SetTranslucent(1,1)
SMIS A 0 Bright // State left for savegame compatibility
SMIS A 5 Bright A_Explode(64,64,1,1)
SMIS B 5 Bright
SMIS C 4 Bright
SMIS DEFG 2 Bright
Stop
}
}
// Flame Thrower ------------------------------------------------------------
ACTOR FlameThrower : StrifeWeapon
{
+FLOORCLIP
Weapon.SelectionOrder 2100
Weapon.Kickback 0
Weapon.AmmoUse1 1
Weapon.AmmoGive1 100
Weapon.UpSound "weapons/flameidle"
Weapon.ReadySound "weapons/flameidle"
Weapon.AmmoType1 "EnergyPod"
Inventory.Icon "FLAMA0"
Tag "$TAG_FLAMER"
Inventory.PickupMessage "$TXT_FLAMER"
action native A_FireFlamer ();
States
{
Spawn:
FLAM A -1
Stop
Ready:
FLMT AB 3 A_WeaponReady
Loop
Deselect:
FLMT A 1 A_Lower
Loop
Select:
FLMT A 1 A_Raise
Loop
Fire:
FLMF A 2 A_FireFlamer
FLMF B 3 A_ReFire
Goto Ready
}
}
// Flame Thrower Projectile -------------------------------------------------
ACTOR FlameMissile
{
Speed 15
Height 11
Radius 8
Mass 10
Damage 4
DamageType Fire
ReactionTime 8
Projectile
-NOGRAVITY
+STRIFEDAMAGE
MaxStepHeight 4
RenderStyle Add
SeeSound "weapons/flamethrower"
Obituary "$OB_MPFLAMETHROWER"
action native A_FlameDie ();
States
{
Spawn:
FRBL AB 3 Bright
FRBL C 3 Bright A_Countdown
Loop
Death:
FRBL D 5 Bright A_FlameDie
FRBL EFGHI 5 Bright
Stop
}
}
// Mauler -------------------------------------------------------------------
// The scatter version
ACTOR Mauler : StrifeWeapon
{
+FLOORCLIP
Weapon.SelectionOrder 300
Weapon.AmmoUse1 20
Weapon.AmmoGive1 40
Weapon.AmmoType1 "EnergyPod"
Weapon.SisterWeapon "Mauler2"
Inventory.Icon "TRPDA0"
Tag "$TAG_MAULER1"
Inventory.PickupMessage "$TXT_MAULER"
Obituary "$OB_MPMAULER1"
action native A_FireMauler1 ();
States
{
Ready:
MAUL FGHA 6 A_WeaponReady
Loop
Deselect:
MAUL A 1 A_Lower
Loop
Select:
MAUL A 1 A_Raise
Loop
Fire:
BLSF A 5 Bright A_FireMauler1
MAUL B 3 Bright A_Light1
MAUL C 2 A_Light2
MAUL DE 2
MAUL A 7 A_Light0
MAUL H 7
MAUL G 7 A_CheckReload
Goto Ready
Spawn:
TRPD A -1
Stop
}
}
// Mauler Torpedo version ---------------------------------------------------
ACTOR Mauler2 : Mauler
{
Weapon.SelectionOrder 3300
Weapon.AmmoUse1 30
Weapon.AmmoGive1 0
Weapon.AmmoType1 "EnergyPod"
Weapon.SisterWeapon "Mauler"
Tag "$TAG_MAULER2"
action native A_FireMauler2Pre ();
action native A_FireMauler2 ();
States
{
Ready:
MAUL IJKL 7 A_WeaponReady
Loop
Deselect:
MAUL I 1 A_Lower
Loop
Select:
MAUL I 1 A_Raise
Loop
Fire:
MAUL I 20 A_FireMauler2Pre
MAUL J 10 A_Light1
BLSF A 10 Bright A_FireMauler2
MAUL B 10 Bright A_Light2
MAUL C 2
MAUL D 2 A_Light0
MAUL E 2 A_ReFire
Goto Ready
}
}
// Mauler "Bullet" Puff -----------------------------------------------------
ACTOR MaulerPuff
{
+NOBLOCKMAP
+NOGRAVITY
+PUFFONACTORS
RenderStyle Add
DamageType Disintegrate
states
{
Spawn:
MPUF AB 5
POW1 ABCDE 4
Stop
}
}
// The Mauler's Torpedo -----------------------------------------------------
ACTOR MaulerTorpedo
{
Speed 20
Height 8
Radius 13
Damage 1
DamageType Disintegrate
Projectile
+STRIFEDAMAGE
MaxStepHeight 4
RenderStyle Add
SeeSound "weapons/mauler2fire"
DeathSound "weapons/mauler2hit"
Obituary "$OB_MPMAULER"
action native A_MaulerTorpedoWave ();
States
{
Spawn:
TORP ABCD 4 Bright
Loop
Death:
THIT AB 8 Bright
THIT C 8 Bright A_MaulerTorpedoWave
THIT DE 8 Bright
Stop
}
}
// The mini torpedoes shot by the big torpedo --------------------------------
ACTOR MaulerTorpedoWave
{
Speed 35
Radius 13
Height 13
Damage 10
DamageType Disintegrate
Projectile
+STRIFEDAMAGE
MaxStepHeight 4
RenderStyle Add
Obituary "$OB_MPMAULER"
States
{
Spawn:
TWAV AB 9 Bright
Death:
TWAV C 9 Bright
Stop
}
}
// High-Explosive Grenade ---------------------------------------------------
ACTOR HEGrenade
{
Speed 15
Radius 13
Height 13
Mass 20
Damage 1
Reactiontime 30
Projectile
-NOGRAVITY
+STRIFEDAMAGE
+BOUNCEONACTORS
+EXPLODEONWATER
MaxStepHeight 4
BounceType "Doom"
BounceFactor 0.5
BounceCount 2
SeeSound "weapons/hegrenadeshoot"
DeathSound "weapons/hegrenadebang"
Obituary "$OB_MPSTRIFEGRENADE"
States
{
Spawn:
GRAP AB 3 A_Countdown
Loop
Death:
BNG4 A 0 Bright A_NoGravity
BNG4 A 0 Bright A_SetTranslucent(1,1)
BNG4 A 2 Bright A_Explode(192,192,1,1)
BNG4 BCDEFGHIJKLMN 3 Bright
Stop
}
}
// White Phosphorous Grenade ------------------------------------------------
ACTOR PhosphorousGrenade
{
Speed 15
Radius 13
Height 13
Mass 20
Damage 1
Reactiontime 40
Projectile
-NOGRAVITY
+STRIFEDAMAGE
+BOUNCEONACTORS
+EXPLODEONWATER
BounceType "Doom"
MaxStepHeight 4
BounceFactor 0.5
BounceCount 2
SeeSound "weapons/phgrenadeshoot"
DeathSound "weapons/phgrenadebang"
Obituary "$OB_MPPHOSPHOROUSGRENADE"
States
{
Spawn:
GRIN AB 3 A_Countdown
Loop
Death:
BNG3 A 2 A_SpawnItemEx("PhosphorousFire")
Stop
}
}
// Fire from the Phoshorous Grenade -----------------------------------------
ACTOR PhosphorousFire native
{
Reactiontime 120
DamageType Fire
+NOBLOCKMAP
+FLOORCLIP
+NOTELEPORT
+NODAMAGETHRUST
+DONTSPLASH
RenderStyle Add
Obituary "$OB_MPPHOSPHOROUSGRENADE"
action native A_Burnarea ();
action native A_Burnination ();
states
{
Spawn:
BNG3 B 2 Bright A_Burnarea
BNG3 C 2 Bright A_Countdown
FLBE A 2 Bright A_Burnination
FLBE B 2 Bright A_Countdown
FLBE C 2 Bright A_Burnarea
FLBE D 3 Bright A_Countdown
FLBE E 3 Bright A_Burnarea
FLBE F 3 Bright A_Countdown
FLBE G 3 Bright A_Burnination
Goto Spawn+5
Death:
FLBE H 2 Bright
FLBE I 2 Bright A_Burnination
FLBE JK 2 Bright
Stop
}
}
// High-Explosive Grenade Launcher ------------------------------------------
ACTOR StrifeGrenadeLauncher : StrifeWeapon
{
+FLOORCLIP
Weapon.SelectionOrder 2400
Weapon.AmmoUse1 1
Weapon.AmmoGive1 12
Weapon.AmmoType1 "HEGrenadeRounds"
Weapon.SisterWeapon "StrifeGrenadeLauncher2"
Inventory.Icon "GRNDA0"
Tag "$TAG_GLAUNCHER1"
Inventory.PickupMessage "$TXT_GLAUNCHER"
action native A_FireGrenade (class<Actor> grenadetype, int angleofs, state flash);
States
{
Spawn:
GRND A -1
Stop
Ready:
GREN A 1 A_WeaponReady
Loop
Deselect:
GREN A 1 A_Lower
Loop
Select:
GREN A 1 A_Raise
Loop
Fire:
GREN A 5 A_FireGrenade("HEGrenade", -90, "Flash")
GREN B 10
GREN A 5 A_FireGrenade("HEGrenade", 90, "Flash2")
GREN C 10
GREN A 0 A_ReFire
Goto Ready
Flash:
GREF A 5 Bright A_Light1
Goto LightDone
Flash2:
GREF B 5 Bright A_Light2
Goto LightDone
}
}
// White Phosphorous Grenade Launcher ---------------------------------------
ACTOR StrifeGrenadeLauncher2 : StrifeGrenadeLauncher
{
Weapon.SelectionOrder 3200
Weapon.AmmoUse1 1
Weapon.AmmoGive1 0
Weapon.AmmoType1 "PhosphorusGrenadeRounds"
Weapon.SisterWeapon "StrifeGrenadeLauncher"
Tag "$TAG_GLAUNCHER2"
States
{
Ready:
GREN D 1 A_WeaponReady
Loop
Deselect:
GREN D 1 A_Lower
Loop
Select:
GREN D 1 A_Raise
Loop
Fire:
GREN D 5 A_FireGrenade("PhosphorousGrenade", -90, "Flash")
GREN E 10
GREN D 5 A_FireGrenade("PhosphorousGrenade", 90, "Flash2")
GREN F 10
GREN A 0 A_ReFire
Goto Ready
Flash:
GREF C 5 Bright A_Light1
Goto LightDone
Flash2:
GREF D 5 Bright A_Light2
Goto LightDone
}
}