ACTOR StrifeWeapon : DoomWeapon { } // 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 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 { ConversationID 102,-1,-1 Speed 30 Radius 10 Height 10 Damage 10 Projectile +STRIFEDAMAGE MaxStepHeight 4 SeeSound "misc/swish" ActiveSound "misc/swish" DeathSound "weapons/xbowhit" States { Spawn: AROW A 10 A_LoopActiveSound Loop } } // Poison Bolt -------------------------------------------------------------- ACTOR PoisonBolt native { ConversationID 102,-1,-1 Speed 30 Radius 10 Height 10 Damage 500 Projectile +STRIFEDAMAGE MaxStepHeight 4 SeeSound "misc/swish" ActiveSound "misc/swish" States { Spawn: ARWP A 10 A_LoopActiveSound Loop Death: AROW A 1 Stop } } // Strife's Crossbow -------------------------------------------------------- ACTOR StrifeCrossbow : StrifeWeapon 2001 { Game Strife +FLOORCLIP ConversationID 194, 188, 192 Weapon.SelectionOrder 1200 +WEAPON.NOALERT Weapon.AmmoUse1 1 Weapon.AmmoGive1 8 Weapon.AmmoType1 "ElectricBolts" Weapon.SisterWeapon "StrifeCrossbow2" Inventory.PickupMessage "$TXT_STRIFECROSSBOW" Inventory.Icon "CBOWA0" Tag "crossbow" action native A_ClearFlash (); action native A_ShowElectricFlash (); action native A_FireArrow (class 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" 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 2002 { Game Strife ConversationID 188, 182, 186 +FLOORCLIP Weapon.SelectionOrder 600 Weapon.AmmoUse1 1 Weapon.AmmoGive1 20 Weapon.AmmoType1 "ClipOfBullets" Inventory.Icon "RIFLA0" Tag "assault_gun" Inventory.PickupMessage "$TXT_ASSAULTGUN" 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 2006 { Game Strife ConversationID 189, 183, 187 DropItem "AssaultGun" Inventory.PickupMessage "$TXT_ASSAULTGUN" States { Spawn: RIFL B -1 Stop } } // Mini-Missile Launcher ---------------------------------------------------- ACTOR MiniMissileLauncher : StrifeWeapon 2003 { Game Strife ConversationID 192, 186, 190 +FLOORCLIP Weapon.SelectionOrder 1800 Weapon.AmmoUse1 1 Weapon.AmmoGive1 8 Weapon.AmmoType1 "MiniMissiles" Inventory.Icon "MMSLA0" Tag "mini_missile_launcher" 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 { ConversationID 51,-1,-1 +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 { ConversationID 99,-1,-1 Speed 20 Radius 10 Height 14 Damage 10 Projectile +STRIFEDAMAGE MaxStepHeight 4 SeeSound "weapons/minimissile" DeathSound "weapons/minimissilehit" States { Spawn: MICR A 6 Bright A_RocketInFlight Loop Death: SMIS A 0 Bright A_SetTranslucent(1,1) SMIS A 0 Bright A_StopSoundEx("Voice") 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 2005 { Game Strife ConversationID 190, 184, 188 +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 "flame_thrower" 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" 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 2004 { Game Strife ConversationID 193, 187, 191 +FLOORCLIP Weapon.SelectionOrder 300 Weapon.AmmoUse1 20 Weapon.AmmoGive1 40 Weapon.AmmoType1 "EnergyPod" Weapon.SisterWeapon "Mauler2" Inventory.Icon "TRPDA0" Tag "mauler" Inventory.PickupMessage "$TXT_MAULER" 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" 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" 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 States { Spawn: TWAV AB 9 Bright Death: TWAV C 9 Bright Stop } } // High-Explosive Grenade --------------------------------------------------- ACTOR HEGrenade { ConversationID 106,-1,-1 Speed 15 Radius 13 Height 13 Mass 20 Damage 1 Reactiontime 30 Projectile -NOGRAVITY +STRIFEDAMAGE +NOBOUNCESOUND +BOUNCEONACTORS +EXPLODEONWATER +DOOMBOUNCE MaxStepHeight 4 BounceFactor 0.5 BounceCount 2 SeeSound "weapons/hegrenadeshoot" DeathSound "weapons/hegrenadebang" 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 { ConversationID 107,-1,-1 Speed 15 Radius 13 Height 13 Mass 20 Damage 1 Reactiontime 40 Projectile -NOGRAVITY +STRIFEDAMAGE +NOBOUNCESOUND +BOUNCEONACTORS +EXPLODEONWATER +DOOMBOUNCE MaxStepHeight 4 BounceFactor 0.5 BounceCount 2 SeeSound "weapons/phgrenadeshoot" DeathSound "weapons/phgrenadebang" 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 RenderStyle Add 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 154 { Game Strife ConversationID 195, 189, 193 +FLOORCLIP Weapon.SelectionOrder 2400 Weapon.AmmoUse1 1 Weapon.AmmoGive1 12 Weapon.AmmoType1 "HEGrenadeRounds" Weapon.SisterWeapon "StrifeGrenadeLauncher2" Inventory.Icon "GRNDA0" Tag "Grenade_launcher" Inventory.PickupMessage "$TXT_GLAUNCHER" action native A_FireGrenade (class 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" 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 } }