diff --git a/wadsrc/static/actors/hexen/clericflame.txt b/wadsrc/static/actors/hexen/clericflame.txt deleted file mode 100644 index b6688a6ed..000000000 --- a/wadsrc/static/actors/hexen/clericflame.txt +++ /dev/null @@ -1,196 +0,0 @@ - -// The Cleric's Flame Strike ------------------------------------------------ - -ACTOR CWeapFlame : ClericWeapon -{ - +NOGRAVITY - Weapon.SelectionOrder 1000 - Weapon.AmmoUse 4 - Weapon.AmmoGive 25 - Weapon.KickBack 150 - Weapon.YAdjust 10 - Weapon.AmmoType1 "Mana2" - Inventory.PickupMessage "$TXT_WEAPON_C3" - Tag "$TAG_CWEAPFLAME" - - action native A_CFlameAttack(); - - States - { - Spawn: - WCFM ABCDEFGH 4 Bright - Loop - Select: - CFLM A 1 A_Raise - Loop - Deselect: - CFLM A 1 A_Lower - Loop - Ready: - CFLM AAAABBBBCCCC 1 A_WeaponReady - Loop - Fire: - CFLM A 2 Offset (0, 40) - CFLM D 2 Offset (0, 50) - CFLM D 2 Offset (0, 36) - CFLM E 4 Bright - CFLM F 4 Bright A_CFlameAttack - CFLM E 4 Bright - CFLM G 2 Offset (0, 40) - CFLM G 2 - Goto Ready - } -} - -// Floor Flame -------------------------------------------------------------- - -ACTOR CFlameFloor -{ - +NOBLOCKMAP +NOGRAVITY - RenderStyle Add - States - { - Spawn: - CFFX N 5 Bright - CFFX O 4 Bright - CFFX P 3 Bright - Stop - } -} - -// Flame Puff --------------------------------------------------------------- - -ACTOR FlamePuff -{ - Radius 1 - Height 1 - +NOBLOCKMAP +NOGRAVITY - RenderStyle Add - SeeSound "ClericFlameExplode" - AttackSound "ClericFlameExplode" - States - { - Spawn: - CFFX ABC 3 Bright - CFFX D 4 Bright - CFFX E 3 Bright - CFFX F 4 Bright - CFFX G 3 Bright - CFFX H 4 Bright - CFFX I 3 Bright - CFFX J 4 Bright - CFFX K 3 Bright - CFFX L 4 Bright - CFFX M 3 Bright - Stop - } -} - -// Flame Puff 2 ------------------------------------------------------------- - -ACTOR FlamePuff2 : FlamePuff -{ - States - { - Spawn: - CFFX ABC 3 Bright - CFFX D 4 Bright - CFFX E 3 Bright - CFFX F 4 Bright - CFFX G 3 Bright - CFFX H 4 Bright - CFFX IC 3 Bright - CFFX D 4 Bright - CFFX E 3 Bright - CFFX F 4 Bright - CFFX G 3 Bright - CFFX H 4 Bright - CFFX I 3 Bright - CFFX J 4 Bright - CFFX K 3 Bright - CFFX L 4 Bright - CFFX M 3 Bright - Stop - } -} - -// Circle Flame ------------------------------------------------------------- - -ACTOR CircleFlame -{ - Radius 6 - Damage 2 - DamageType "Fire" - Projectile - -ACTIVATEIMPACT - -ACTIVATEPCROSS - RenderStyle Add - DeathSound "ClericFlameCircle" - Obituary "$OB_MPCWEAPFLAME" - - action native A_CFlameRotate(); - - States - { - Spawn: - CFCF A 4 Bright - CFCF B 2 Bright A_CFlameRotate - CFCF C 2 Bright - CFCF D 1 Bright - CFCF E 2 Bright - CFCF F 2 Bright A_CFlameRotate - CFCF G 1 Bright - CFCF HI 2 Bright - CFCF J 1 Bright A_CFlameRotate - CFCF K 2 Bright - CFCF LM 3 Bright - CFCF N 2 Bright A_CFlameRotate - CFCF O 3 Bright - CFCF P 2 Bright - Stop - Death: - CFCF QR 3 Bright - CFCF S 3 Bright A_Explode(20, 20, 0) - CFCF TUVWXYZ 3 Bright - Stop - } -} - -// Flame Missile ------------------------------------------------------------ - -ACTOR CFlameMissile : FastProjectile native -{ - Speed 200 - Radius 14 - Height 8 - Damage 8 - DamageType "Fire" - +INVISIBLE - RenderStyle Add - Obituary "$OB_MPCWEAPFLAME" - - action native A_CFlamePuff(); - action native A_CFlameMissile(); - - States - { - Spawn: - CFFX A 4 Bright - CFFX A 1 A_CFlamePuff - Goto Death + 1 - Death: - CFFX A 1 Bright A_CFlameMissile - CFFX ABC 3 Bright - CFFX D 4 Bright - CFFX E 3 Bright - CFFX F 4 Bright - CFFX G 3 Bright - CFFX H 4 Bright - CFFX I 3 Bright - CFFX J 4 Bright - CFFX K 3 Bright - CFFX L 4 Bright - CFFX M 3 Bright - Stop - } -} diff --git a/wadsrc/static/actors/hexen/clericholy.txt b/wadsrc/static/actors/hexen/clericholy.txt deleted file mode 100644 index f24a846b3..000000000 --- a/wadsrc/static/actors/hexen/clericholy.txt +++ /dev/null @@ -1,237 +0,0 @@ - -// Cleric Weapon Piece ------------------------------------------------------ - -ACTOR ClericWeaponPiece : WeaponPiece -{ - Inventory.PickupSound "misc/w_pkup" - Inventory.PickupMessage "$TXT_WRAITHVERGE_PIECE" - Inventory.ForbiddenTo FighterPlayer, MagePlayer - WeaponPiece.Weapon CWeapWraithverge - +FLOATBOB -} - -// Cleric Weapon Piece 1 ---------------------------------------------------- - -ACTOR CWeaponPiece1 : ClericWeaponPiece -{ - WeaponPiece.Number 1 - States - { - Spawn: - WCH1 A -1 - Stop - } -} - -// Cleric Weapon Piece 2 ---------------------------------------------------- - -ACTOR CWeaponPiece2 : ClericWeaponPiece -{ - WeaponPiece.Number 2 - States - { - Spawn: - WCH2 A -1 - Stop - } -} - -// Cleric Weapon Piece 3 ---------------------------------------------------- - -ACTOR CWeaponPiece3 : ClericWeaponPiece -{ - WeaponPiece.Number 3 - States - { - Spawn: - WCH3 A -1 - Stop - } -} - -// Wraithverge Drop --------------------------------------------------------- - -ACTOR WraithvergeDrop -{ - States - { - Spawn: - TNT1 A 1 - TNT1 A 1 A_DropWeaponPieces("CWeaponPiece1", "CWeaponPiece2", "CWeaponPiece3") - Stop - } -} - -// Cleric's Wraithverge (Holy Symbol?) -------------------------------------- - -ACTOR CWeapWraithverge : ClericWeapon native -{ - Health 3 - Weapon.SelectionOrder 3000 - +WEAPON.PRIMARY_USES_BOTH - +Inventory.NoAttenPickupSound - Weapon.AmmoUse1 18 - Weapon.AmmoUse2 18 - Weapon.AmmoGive1 20 - Weapon.AmmoGive2 20 - Weapon.KickBack 150 - Weapon.AmmoType1 "Mana1" - Weapon.AmmoType2 "Mana2" - Inventory.PickupMessage "$TXT_WEAPON_C4" - Tag "$TAG_CWEAPWRAITHVERGE" - Inventory.PickupSound "WeaponBuild" - - action native A_CHolyAttack(); - action native A_CHolyPalette(); - - States - { - Spawn: - TNT1 A -1 - Stop - Ready: - CHLY A 1 A_WeaponReady - Loop - Select: - CHLY A 1 A_Raise - Loop - Deselect: - CHLY A 1 A_Lower - Loop - Fire: - CHLY AB 1 Bright Offset (0, 40) - CHLY CD 2 Bright Offset (0, 43) - CHLY E 2 Bright Offset (0, 45) - CHLY F 6 Bright Offset (0, 48) A_CHolyAttack - CHLY GG 2 Bright Offset (0, 40) A_CHolyPalette - CHLY G 2 Offset (0, 36) A_CHolyPalette - Goto Ready - } -} - -// Holy Missile ------------------------------------------------------------- - -ACTOR HolyMissile -{ - Speed 30 - Radius 15 - Height 8 - Damage 4 - Projectile - -ACTIVATEIMPACT -ACTIVATEPCROSS - +EXTREMEDEATH - - action native A_CHolyAttack2(); - - States - { - Spawn: - SPIR PPPP 3 Bright A_SpawnItemEx("HolyMissilePuff") - Death: - SPIR P 1 Bright A_CHolyAttack2 - Stop - } -} - -// Holy Missile Puff -------------------------------------------------------- - -ACTOR HolyMissilePuff -{ - Radius 4 - Height 8 - +NOBLOCKMAP +NOGRAVITY +DROPOFF - +NOTELEPORT - RenderStyle "Translucent" - Alpha 0.4 - States - { - Spawn: - SPIR QRSTU 3 - Stop - } -} - -// Holy Puff ---------------------------------------------------------------- - -ACTOR HolyPuff -{ - +NOBLOCKMAP +NOGRAVITY - RenderStyle Translucent - Alpha 0.6 - States - { - Spawn: - SPIR KLMNO 3 - Stop - } -} - -// Holy Spirit -------------------------------------------------------------- - -ACTOR HolySpirit native -{ - Health 105 - Speed 12 - Radius 10 - Height 6 - Damage 3 - Projectile - +RIPPER +SEEKERMISSILE - +FOILINVUL +SKYEXPLODE +NOEXPLODEFLOOR +CANBLAST - +EXTREMEDEATH - RenderStyle Translucent - Alpha 0.4 - DeathSound "SpiritDie" - Obituary "$OB_MPCWEAPWRAITHVERGE" - - action native A_CHolySeek(); - action native A_CHolyCheckScream(); - - States - { - Spawn: - SPIR AAB 2 A_CHolySeek - SPIR B 2 A_CHolyCheckScream - Loop - Death: - SPIR D 4 - SPIR E 4 A_Scream - SPIR FGHI 4 - Stop - } -} - -// Holy Tail ---------------------------------------------------------------- - -ACTOR HolyTail -{ - Radius 1 - Height 1 - +NOBLOCKMAP +NOGRAVITY +DROPOFF +NOCLIP - +NOTELEPORT - RenderStyle Translucent - Alpha 0.6 - - action native A_CHolyTail(); - - States - { - Spawn: - SPIR C 1 A_CHolyTail - Loop - TailTrail: - SPIR D -1 - Stop - } -} - -// Holy Tail Trail --------------------------------------------------------- - -ACTOR HolyTailTrail : HolyTail -{ - States - { - Spawn: - Goto TailTrail - } -} diff --git a/wadsrc/static/actors/hexen/clericstaff.txt b/wadsrc/static/actors/hexen/clericstaff.txt deleted file mode 100644 index bd848b5c6..000000000 --- a/wadsrc/static/actors/hexen/clericstaff.txt +++ /dev/null @@ -1,96 +0,0 @@ - -// The Cleric's Serpent Staff ----------------------------------------------- - -ACTOR CWeapStaff : ClericWeapon -{ - Weapon.SelectionOrder 1600 - Weapon.AmmoUse1 1 - Weapon.AmmoGive1 25 - Weapon.KickBack 150 - Weapon.YAdjust 10 - Weapon.AmmoType1 "Mana1" - Inventory.PickupMessage "$TXT_WEAPON_C2" - Obituary "$OB_MPCWEAPSTAFFM" - Tag "$TAG_CWEAPSTAFF" - - action native A_CStaffInitBlink(); - action native A_CStaffCheckBlink(); - action native A_CStaffCheck(); - action native A_CStaffAttack(); - - States - { - Spawn: - WCSS A -1 - Stop - Select: - CSSF C 1 A_Raise - Loop - Deselect: - CSSF B 3 - CSSF C 4 - CSSF C 1 A_Lower - Wait - Ready: - CSSF C 4 - CSSF B 3 A_CStaffInitBlink - CSSF AAAAAAA 1 A_WeaponReady - CSSF A 1 A_CStaffCheckBlink - Goto Ready + 2 - Fire: - CSSF A 1 Offset (0, 45) A_CStaffCheck - CSSF J 1 Offset (0, 50) A_CStaffAttack - CSSF J 2 Offset (0, 50) - CSSF J 2 Offset (0, 45) - CSSF A 2 Offset (0, 40) - CSSF A 2 Offset (0, 36) - Goto Ready + 2 - Blink: - CSSF BBBCCCCCBBB 1 A_WeaponReady - Goto Ready + 2 - Drain: - CSSF K 10 Offset (0, 36) - Goto Ready + 2 - } -} - -// Serpent Staff Missile ---------------------------------------------------- - -ACTOR CStaffMissile native -{ - Speed 22 - Radius 12 - Height 10 - Damage 5 - RenderStyle Add - Projectile - DeathSound "ClericCStaffExplode" - Obituary "$OB_MPCWEAPSTAFFR" - States - { - Spawn: - CSSF DDEE 1 Bright A_CStaffMissileSlither - Loop - Death: - CSSF FG 4 Bright - CSSF HI 3 Bright - Stop - } -} - -// Serpent Staff Puff ------------------------------------------------------- - -ACTOR CStaffPuff -{ - +NOBLOCKMAP +NOGRAVITY - +PUFFONACTORS - RenderStyle Translucent - Alpha 0.6 - SeeSound "ClericCStaffHitThing" - States - { - Spawn: - FHFX STUVW 4 - Stop - } -} diff --git a/wadsrc/static/actors/hexen/dragon.txt b/wadsrc/static/actors/hexen/dragon.txt deleted file mode 100644 index f6c3746f2..000000000 --- a/wadsrc/static/actors/hexen/dragon.txt +++ /dev/null @@ -1,117 +0,0 @@ - -// Dragon ------------------------------------------------------------------- - -ACTOR Dragon -{ - Health 640 - PainChance 128 - Speed 10 - Height 65 - Mass 0x7fffffff - Monster - +NOGRAVITY +FLOAT +NOBLOOD - +BOSS - +DONTMORPH +NOTARGET - +NOICEDEATH - SeeSound "DragonSight" - AttackSound "DragonAttack" - PainSound "DragonPain" - DeathSound "DragonDeath" - ActiveSound "DragonActive" - Obituary "$OB_DRAGON" - - action native A_DragonInitFlight(); - action native A_DragonFlap(); - action native A_DragonFlight(); - action native A_DragonPain(); - action native A_DragonAttack(); - action native A_DragonCheckCrash(); - - States - { - Spawn: - DRAG D 10 A_Look - Loop - See: - DRAG CB 5 - DRAG A 5 A_DragonInitFlight - DRAG B 3 A_DragonFlap - DRAG BCCDDCCBBAA 3 A_DragonFlight - Goto See + 3 - Pain: - DRAG F 10 A_DragonPain - Goto See + 3 - Missile: - DRAG E 8 A_DragonAttack - Goto See + 3 - Death: - DRAG G 5 A_Scream - DRAG H 4 A_NoBlocking - DRAG I 4 - DRAG J 4 A_DragonCheckCrash - Wait - Crash: - DRAG KL 5 - DRAG M -1 - Stop - } -} - -// Dragon Fireball ---------------------------------------------------------- - -ACTOR DragonFireball -{ - Speed 24 - Radius 12 - Height 10 - Damage 6 - DamageType "Fire" - Projectile - -ACTIVATEIMPACT -ACTIVATEPCROSS - RenderStyle Add - DeathSound "DragonFireballExplode" - - action native A_DragonFX2(); - - States - { - Spawn: - DRFX ABCDEF 4 Bright - Loop - Death: - DRFX GHI 4 Bright - DRFX J 4 Bright A_DragonFX2 - DRFX KL 3 Bright - Stop - } -} - -// Dragon Fireball Secondary Explosion -------------------------------------- - -ACTOR DragonExplosion -{ - Radius 8 - Height 8 - DamageType "Fire" - +NOBLOCKMAP - +NOTELEPORT - +INVISIBLE - RenderStyle Add - DeathSound "DragonFireballExplode" - States - { - Spawn: - CFCF Q 1 Bright - CFCF Q 4 Bright A_UnHideThing - CFCF R 3 Bright A_Scream - CFCF S 4 Bright - CFCF T 3 Bright A_Explode (80, 128, 0) - CFCF U 4 Bright - CFCF V 3 Bright - CFCF W 4 Bright - CFCF X 3 Bright - CFCF Y 4 Bright - CFCF Z 3 Bright - Stop - } -} diff --git a/wadsrc/static/actors/hexen/fighteraxe.txt b/wadsrc/static/actors/hexen/fighteraxe.txt deleted file mode 100644 index 28642c7d1..000000000 --- a/wadsrc/static/actors/hexen/fighteraxe.txt +++ /dev/null @@ -1,113 +0,0 @@ - -// The Fighter's Axe -------------------------------------------------------- - -ACTOR FWeapAxe : FighterWeapon native -{ - Weapon.SelectionOrder 1500 - +WEAPON.AXEBLOOD +WEAPON.AMMO_OPTIONAL +WEAPON.MELEEWEAPON - Weapon.AmmoUse1 2 - Weapon.AmmoGive1 25 - Weapon.KickBack 150 - Weapon.YAdjust -12 - Weapon.AmmoType1 "Mana1" - Inventory.PickupMessage "$TXT_WEAPON_F2" - Obituary "$OB_MPFWEAPAXE" - Tag "$TAG_FWEAPAXE" - - action native A_FAxeCheckUp(); - action native A_FAxeCheckReady(); - action native A_FAxeCheckAtk(); - action native A_FAxeAttack(); - action native A_FAxeCheckUpG(); - action native A_FAxeCheckReadyG(); - - States - { - Spawn: - WFAX A -1 - Stop - Select: - FAXE A 1 A_FAxeCheckUp - Loop - Deselect: - FAXE A 1 A_Lower - Loop - Ready: - FAXE A 1 A_FAxeCheckReady - Loop - Fire: - FAXE B 4 Offset (15, 32) A_FAxeCheckAtk - FAXE C 3 Offset (15, 32) - FAXE D 2 Offset (15, 32) - FAXE D 1 Offset (-5, 70) A_FAxeAttack - FAXE D 2 Offset (-25, 90) - FAXE E 1 Offset (15, 32) - FAXE E 2 Offset (10, 54) - FAXE E 7 Offset (10, 150) - FAXE A 1 Offset (0, 60) A_ReFire - FAXE A 1 Offset (0, 52) - FAXE A 1 Offset (0, 44) - FAXE A 1 Offset (0, 36) - FAXE A 1 - Goto Ready - SelectGlow: - FAXE L 1 A_FAxeCheckUpG - Loop - DeselectGlow: - FAXE L 1 A_Lower - Loop - ReadyGlow: - FAXE LLL 1 A_FAxeCheckReadyG - FAXE MMM 1 A_FAxeCheckReadyG - Loop - FireGlow: - FAXE N 4 Offset (15, 32) - FAXE O 3 Offset (15, 32) - FAXE P 2 Offset (15, 32) - FAXE P 1 Offset (-5, 70) A_FAxeAttack - FAXE P 2 Offset (-25, 90) - FAXE Q 1 Offset (15, 32) - FAXE Q 2 Offset (10, 54) - FAXE Q 7 Offset (10, 150) - FAXE A 1 Offset (0, 60) A_ReFire - FAXE A 1 Offset (0, 52) - FAXE A 1 Offset (0, 44) - FAXE A 1 Offset (0, 36) - FAXE A 1 - Goto ReadyGlow - } -} - -// Axe Puff ----------------------------------------------------------------- - -ACTOR AxePuff -{ - +NOBLOCKMAP +NOGRAVITY - +PUFFONACTORS - RenderStyle Translucent - Alpha 0.6 - SeeSound "FighterAxeHitThing" - AttackSound "FighterHammerHitWall" - ActiveSound "FighterHammerMiss" - States - { - Spawn: - FHFX STUVW 4 - Stop - } -} - -// Glowing Axe Puff --------------------------------------------------------- - -ACTOR AxePuffGlow : AxePuff -{ - +PUFFONACTORS - RenderStyle Add - Alpha 1 - States - { - Spawn: - FAXE RSTUVWX 4 Bright - Stop - } -} diff --git a/wadsrc/static/actors/hexen/fighterfist.txt b/wadsrc/static/actors/hexen/fighterfist.txt deleted file mode 100644 index b6a27332d..000000000 --- a/wadsrc/static/actors/hexen/fighterfist.txt +++ /dev/null @@ -1,64 +0,0 @@ - -// Fist (first weapon) ------------------------------------------------------ - -ACTOR FWeapFist : FighterWeapon -{ - +BLOODSPLATTER - Weapon.SelectionOrder 3400 - +WEAPON.MELEEWEAPON - Weapon.KickBack 150 - Obituary "$OB_MPFWEAPFIST" - Tag "$TAG_FWEAPFIST" - - action native A_FPunchAttack(); - - States - { - Select: - FPCH A 1 A_Raise - Loop - Deselect: - FPCH A 1 A_Lower - Loop - Ready: - FPCH A 1 A_WeaponReady - Loop - Fire: - FPCH B 5 Offset (5, 40) - FPCH C 4 Offset (5, 40) - FPCH D 4 Offset (5, 40) A_FPunchAttack - FPCH C 4 Offset (5, 40) - FPCH B 5 Offset (5, 40) A_ReFire - Goto Ready - Fire2: - FPCH DE 4 Offset (5, 40) - FPCH E 1 Offset (15, 50) - FPCH E 1 Offset (25, 60) - FPCH E 1 Offset (35, 70) - FPCH E 1 Offset (45, 80) - FPCH E 1 Offset (55, 90) - FPCH E 1 Offset (65, 90) - FPCH E 10 Offset (0, 150) - Goto Ready - } -} - -// Punch puff --------------------------------------------------------------- - -ACTOR PunchPuff -{ - +NOBLOCKMAP +NOGRAVITY - +PUFFONACTORS - RenderStyle Translucent - Alpha 0.6 - SeeSound "FighterPunchHitThing" - AttackSound "FighterPunchHitWall" - ActiveSound "FighterPunchMiss" - VSpeed 1 - States - { - Spawn: - FHFX STUVW 4 - Stop - } -} diff --git a/wadsrc/static/actors/hexen/fighterhammer.txt b/wadsrc/static/actors/hexen/fighterhammer.txt deleted file mode 100644 index d9932ae5f..000000000 --- a/wadsrc/static/actors/hexen/fighterhammer.txt +++ /dev/null @@ -1,101 +0,0 @@ - -// The Fighter's Hammer ----------------------------------------------------- - -ACTOR FWeapHammer : FighterWeapon -{ - +BLOODSPLATTER - Weapon.SelectionOrder 900 - +WEAPON.AMMO_OPTIONAL +WEAPON.MELEEWEAPON - Weapon.AmmoUse1 3 - Weapon.AmmoGive1 25 - Weapon.KickBack 150 - Weapon.YAdjust -10 - Weapon.AmmoType1 "Mana2" - Inventory.PickupMessage "$TXT_WEAPON_F3" - Obituary "$OB_MPFWEAPHAMMERM" - Tag "$TAG_FWEAPHAMMER" - - action native A_FHammerAttack(); - action native A_FHammerThrow(); - - States - { - Spawn: - WFHM A -1 - Stop - Select: - FHMR A 1 A_Raise - Loop - Deselect: - FHMR A 1 A_Lower - Loop - Ready: - FHMR A 1 A_WeaponReady - Loop - Fire: - FHMR B 6 Offset (5, 0) - FHMR C 3 Offset (5, 0) A_FHammerAttack - FHMR D 3 Offset (5, 0) - FHMR E 2 Offset (5, 0) - FHMR E 10 Offset (5, 150) A_FHammerThrow - FHMR A 1 Offset (0, 60) - FHMR A 1 Offset (0, 55) - FHMR A 1 Offset (0, 50) - FHMR A 1 Offset (0, 45) - FHMR A 1 Offset (0, 40) - FHMR A 1 Offset (0, 35) - FHMR A 1 - Goto Ready - } -} - -// Hammer Missile ----------------------------------------------------------- - -ACTOR HammerMissile -{ - Speed 25 - Radius 14 - Height 20 - Damage 10 - DamageType "Fire" - Projectile - DeathSound "FighterHammerExplode" - Obituary "$OB_MPFWEAPHAMMERR" - - States - { - Spawn: - FHFX A 2 Bright - FHFX B 2 Bright A_PlaySound ("FighterHammerContinuous") - FHFX CDEFGH 2 Bright - Loop - Death: - FHFX I 3 Bright A_SetTranslucent(1,1) - FHFX J 3 Bright - FHFX K 3 Bright A_Explode (128, 128, 0) - FHFX LM 3 Bright - FHFX N 3 - FHFX OPQR 3 Bright - Stop - } -} - -// Hammer Puff (also used by fist) ------------------------------------------ - -ACTOR HammerPuff -{ - +NOBLOCKMAP +NOGRAVITY - +PUFFONACTORS - RenderStyle "Translucent" - Alpha 0.6 - VSpeed 0.8 - SeeSound "FighterHammerHitThing" - AttackSound "FighterHammerHitWall" - ActiveSound "FighterHammerMiss" - States - { - Spawn: - FHFX STUVW 4 - Stop - } -} diff --git a/wadsrc/static/actors/hexen/fighterquietus.txt b/wadsrc/static/actors/hexen/fighterquietus.txt deleted file mode 100644 index 8d784ebf5..000000000 --- a/wadsrc/static/actors/hexen/fighterquietus.txt +++ /dev/null @@ -1,164 +0,0 @@ - -// Fighter Weapon Piece ----------------------------------------------------- - -ACTOR FighterWeaponPiece : WeaponPiece -{ - Inventory.PickupSound "misc/w_pkup" - Inventory.PickupMessage "$TXT_QUIETUS_PIECE" - Inventory.ForbiddenTo ClericPlayer, MagePlayer - WeaponPiece.Weapon FWeapQuietus - +FLOATBOB -} - -// Fighter Weapon Piece 1 --------------------------------------------------- - -ACTOR FWeaponPiece1 : FighterWeaponPiece -{ - WeaponPiece.Number 1 - States - { - Spawn: - WFR1 A -1 Bright - Stop - } -} - -// Fighter Weapon Piece 2 --------------------------------------------------- - -ACTOR FWeaponPiece2 : FighterWeaponPiece -{ - WeaponPiece.Number 2 - States - { - Spawn: - WFR2 A -1 Bright - Stop - } -} - -// Fighter Weapon Piece 3 --------------------------------------------------- - -ACTOR FWeaponPiece3 : FighterWeaponPiece -{ - WeaponPiece.Number 3 - States - { - Spawn: - WFR3 A -1 Bright - Stop - } -} - -// Quietus Drop ------------------------------------------------------------- - -ACTOR QuietusDrop -{ - States - { - Spawn: - TNT1 A 1 - TNT1 A 1 A_DropWeaponPieces("FWeaponPiece1", "FWeaponPiece2", "FWeaponPiece3") - Stop - } -} - -// The Fighter's Sword (Quietus) -------------------------------------------- - -ACTOR FWeapQuietus : FighterWeapon -{ - Health 3 - Weapon.SelectionOrder 2900 - +WEAPON.PRIMARY_USES_BOTH - +Inventory.NoAttenPickupSound - Weapon.AmmoUse1 14 - Weapon.AmmoUse2 14 - Weapon.AmmoGive1 20 - Weapon.AmmoGive2 20 - Weapon.KickBack 150 - Weapon.YAdjust 10 - Weapon.AmmoType1 "Mana1" - Weapon.AmmoType2 "Mana2" - Inventory.PickupMessage "$TXT_WEAPON_F4" - Inventory.PickupSound "WeaponBuild" - Tag "$TAG_FWEAPQUIETUS" - - action native A_FSwordAttack(); - - States - { - Spawn: - TNT1 A -1 - Stop - Select: - FSRD A 1 Bright A_Raise - Loop - Deselect: - FSRD A 1 Bright A_Lower - Loop - Ready: - FSRD AAAABBBBCCCC 1 Bright A_WeaponReady - Loop - Fire: - FSRD DE 3 Bright Offset (5, 36) - FSRD F 2 Bright Offset (5, 36) - FSRD G 3 Bright Offset (5, 36) A_FSwordAttack - FSRD H 2 Bright Offset (5, 36) - FSRD I 2 Bright Offset (5, 36) - FSRD I 10 Bright Offset (5, 150) - FSRD A 1 Bright Offset (5, 60) - FSRD B 1 Bright Offset (5, 55) - FSRD C 1 Bright Offset (5, 50) - FSRD A 1 Bright Offset (5, 45) - FSRD B 1 Bright Offset (5, 40) - Goto Ready - } -} - -// Fighter Sword Missile ---------------------------------------------------- - -ACTOR FSwordMissile native -{ - Speed 30 - Radius 16 - Height 8 - Damage 8 - Projectile - +EXTREMEDEATH - RenderStyle Add - DeathSound "FighterSwordExplode" - Obituary "$OB_MPFWEAPQUIETUS" - - action native A_FSwordFlames(); - - States - { - Spawn: - FSFX ABC 3 Bright - Loop - Death: - FSFX D 4 Bright - FSFX E 3 Bright A_FSwordFlames - FSFX F 4 Bright A_Explode (64, 128, 0) - FSFX G 3 Bright - FSFX H 4 Bright - FSFX I 3 Bright - FSFX J 4 Bright - FSFX KLM 3 Bright - Stop - } -} - -// Fighter Sword Flame ------------------------------------------------------ - -ACTOR FSwordFlame -{ - +NOBLOCKMAP +NOGRAVITY - RenderStyle Translucent - Alpha 0.6 - States - { - Spawn: - FSFX NOPQRSTUVW 3 Bright - Stop - } -} diff --git a/wadsrc/static/actors/hexen/healingradius.txt b/wadsrc/static/actors/hexen/healingradius.txt deleted file mode 100644 index cc921f59c..000000000 --- a/wadsrc/static/actors/hexen/healingradius.txt +++ /dev/null @@ -1,23 +0,0 @@ - -// Healing Radius Artifact -------------------------------------------------- - -ACTOR ArtiHealingRadius : Inventory native -{ - +COUNTITEM - +FLOATBOB - Inventory.DefMaxAmount - +INVENTORY.INVBAR - +INVENTORY.PICKUPFLASH - +INVENTORY.FANCYPICKUPSOUND - Inventory.Icon "ARTIHRAD" - Inventory.PickupSound "misc/p_pkup" - Inventory.PickupMessage "$TXT_ARTIHEALINGRADIUS" - Tag "$TAG_ARTIHEALINGRADIUS" - States - { - Spawn: - HRAD ABCDEFGHIJKLMNOP 4 Bright - Loop - } -} - diff --git a/wadsrc/static/actors/hexen/heresiarch.txt b/wadsrc/static/actors/hexen/heresiarch.txt deleted file mode 100644 index 4d32f701e..000000000 --- a/wadsrc/static/actors/hexen/heresiarch.txt +++ /dev/null @@ -1,335 +0,0 @@ - -// The Heresiarch him/itself ------------------------------------------------ - -ACTOR Heresiarch native -{ - Health 5000 - Painchance 10 - Speed 16 - Radius 40 - Height 110 - Mass 500 - Damage 9 - Monster - +FLOORCLIP - +BOSS - +DONTMORPH - +NOTARGET - +NOICEDEATH - +DEFLECT - +NOBLOOD - SeeSound "SorcererSight" - PainSound "SorcererPain" - DeathSound "SorcererDeathScream" - ActiveSound "SorcererActive" - Obituary "$OB_HERESIARCH" - - action native A_SorcSpinBalls(); - action native A_SpeedBalls(); - action native A_SorcBossAttack(); - action native A_SpawnFizzle(); - - States - { - Spawn: - SORC A 3 - SORC A 2 A_SorcSpinBalls - Idle: - SORC A 10 A_Look - Wait - See: - SORC ABCD 5 A_Chase - Loop - Pain: - SORC G 8 - SORC G 8 A_Pain - Goto See - Missile: - SORC F 6 Bright A_FaceTarget - SORC F 6 Bright A_SpeedBalls - SORC F 6 Bright A_FaceTarget - Wait - Attack1: - SORC E 6 Bright - SORC E 6 Bright A_SpawnFizzle - SORC E 5 Bright A_FaceTarget - Goto Attack1+1 - Attack2: - SORC E 2 Bright - SORC E 2 Bright A_SorcBossAttack - Goto See - Death: - SORC H 5 Bright - SORC I 5 Bright A_FaceTarget - SORC J 5 Bright A_Scream - SORC KLMNOPQRST 5 Bright - SORC U 5 Bright A_NoBlocking - SORC VWXY 5 Bright - SORC Z -1 Bright - Stop - } -} - -// Base class for the balls flying around the Heresiarch's head ------------- - -ACTOR SorcBall native -{ - Speed 10 - Radius 5 - Height 5 - Projectile - -ACTIVATEIMPACT - -ACTIVATEPCROSS - +FULLVOLDEATH - +CANBOUNCEWATER - +NOWALLBOUNCESND - BounceType "HexenCompat" - SeeSound "SorcererBallBounce" - DeathSound "SorcererBigBallExplode" - - action native A_SorcBallOrbit(); - action native A_SorcBallPop(); - action native A_BounceCheck (); -} - -// First ball (purple) - fires projectiles ---------------------------------- - -ACTOR SorcBall1 : SorcBall native -{ - States - { - Spawn: - SBMP ABCDEFGHIJKLMNOP 2 A_SorcBallOrbit - Loop - Pain: - SBMP A 5 A_SorcBallPop - SBMP B 2 A_BounceCheck - Wait - Death: - SBS4 D 0 A_ChangeFlag("NOBOUNCESOUND", 1) - SBS4 D 5 A_Explode(255,255) - SBS4 E 5 - SBS4 FGH 6 - Stop - } -} - - -// Second ball (blue) - generates the shield -------------------------------- - -ACTOR SorcBall2 : SorcBall native -{ - States - { - Spawn: - SBMB ABCDEFGHIJKLMNOP 2 A_SorcBallOrbit - Loop - Pain: - SBMB A 5 A_SorcBallPop - SBMB B 2 A_BounceCheck - Wait - Death: - SBS4 D 0 A_ChangeFlag("NOBOUNCESOUND", 1) - SBS3 D 5 A_Explode(255,255) - SBS3 E 5 - SBS3 FGH 6 - Stop - } -} - -// Third ball (green) - summons Bishops ------------------------------------- - -ACTOR SorcBall3 : SorcBall native -{ - States - { - Spawn: - SBMG ABCDEFGHIJKLMNOP 2 A_SorcBallOrbit - Loop - Pain: - SBMG A 5 A_SorcBallPop - SBMG B 2 A_BounceCheck - Wait - Death: - SBS4 D 0 A_ChangeFlag("NOBOUNCESOUND", 1) - SBS3 D 5 A_Explode(255,255) - SBS3 E 5 - SBS3 FGH 6 - Stop - } -} - - -// Sorcerer spell 1 (The burning, bouncing head thing) ---------------------- - -ACTOR SorcFX1 -{ - Speed 7 - Radius 5 - Height 5 - Projectile - -ACTIVATEIMPACT - -ACTIVATEPCROSS - -NOGRAVITY - +FULLVOLDEATH - +CANBOUNCEWATER - +NOWALLBOUNCESND - BounceFactor 1.0 - +HEXENBOUNCE - SeeSound "SorcererBallBounce" - DeathSound "SorcererHeadScream" - - action native A_SorcFX1Seek(); - - States - { - Spawn: - SBS1 A 2 Bright - SBS1 BCD 3 Bright A_SorcFX1Seek - Loop - Death: - FHFX S 2 Bright A_Explode(30, 128) - FHFX SS 6 Bright - Stop - } -} - - -// Sorcerer spell 2 (The visible part of the shield) ------------------------ - -ACTOR SorcFX2 -{ - Speed 15 - Radius 5 - Height 5 - +NOBLOCKMAP - +NOGRAVITY - +NOTELEPORT - - action native A_SorcFX2Split(); - action native A_SorcFX2Orbit (); - - states - { - Spawn: - SBS2 A 3 Bright A_SorcFX2Split - Loop - Orbit: - SBS2 A 2 Bright - SBS2 BCDEFGHIJKLMNOPA 2 Bright A_SorcFX2Orbit - Goto Orbit+1 - Death: - SBS2 A 10 - Stop - } -} - -// The translucent trail behind SorcFX2 ------------------------------------- - -ACTOR SorcFX2T1 : SorcFX2 -{ - RenderStyle Translucent - Alpha 0.4 - States - { - Spawn: - Goto Death - } -} - - -// Sorcerer spell 3 (The Bishop spawner) ------------------------------------ - -ACTOR SorcFX3 -{ - Speed 15 - Radius 22 - Height 65 - +NOBLOCKMAP - +MISSILE - +NOTELEPORT - SeeSound "SorcererBishopSpawn" - - action native A_SpawnBishop(); - action native A_SorcererBishopEntry(); - - States - { - Spawn: - SBS3 ABC 2 Bright - Loop - Death: - SBS3 A 4 Bright - BISH P 4 A_SorcererBishopEntry - BISH ON 4 - BISH MLKJIH 3 - BISH G 3 A_SpawnBishop - Stop - } -} - - -// The Bishop spawner's explosion animation --------------------------------- - -ACTOR SorcFX3Explosion -{ - +NOBLOCKMAP - +NOGRAVITY - +NOTELEPORT - RenderStyle Translucent - Alpha 0.4 - States - { - Spawn: - SBS3 DEFGH 3 - Stop - } -} - - -// Sorcerer spell 4 (The purple projectile) --------------------------------- - -ACTOR SorcFX4 -{ - Speed 12 - Radius 10 - Height 10 - Projectile - -ACTIVATEIMPACT - -ACTIVATEPCROSS - DeathSound "SorcererBallExplode" - - action native A_SorcFX4Check(); - - States - { - Spawn: - SBS4 ABC 2 Bright A_SorcFX4Check - Loop - Death: - SBS4 D 2 Bright - SBS4 E 2 Bright A_Explode(20, 128) - SBS4 FGH 2 Bright - Stop - } -} - - -// Spark that appears when shooting SorcFX4 --------------------------------- - -ACTOR SorcSpark1 -{ - Radius 5 - Height 5 - Gravity 0.125 - +NOBLOCKMAP - +DROPOFF - +NOTELEPORT - RenderStyle Add - States - { - Spawn: - SBFX ABCDEFG 4 Bright - Stop - } -} diff --git a/wadsrc/static/actors/hexen/iceguy.txt b/wadsrc/static/actors/hexen/iceguy.txt deleted file mode 100644 index 235be474f..000000000 --- a/wadsrc/static/actors/hexen/iceguy.txt +++ /dev/null @@ -1,167 +0,0 @@ - -// Ice Guy ------------------------------------------------------------------ - -ACTOR IceGuy -{ - Health 120 - PainChance 144 - Speed 14 - Radius 22 - Height 75 - Mass 150 - DamageType "Ice" - Monster - +NOBLOOD - +TELESTOMP - +NOICEDEATH - SeeSound "IceGuySight" - AttackSound "IceGuyAttack" - ActiveSound "IceGuyActive" - Obituary "$OB_ICEGUY" - - action native A_IceGuyLook(); - action native A_IceGuyChase(); - action native A_IceGuyAttack(); - - States - { - Spawn: - ICEY A 10 A_IceGuyLook - Loop - See: - ICEY A 4 A_Chase - ICEY B 4 A_IceGuyChase - ICEY CD 4 A_Chase - Loop - Pain: - ICEY A 1 A_Pain - Goto See - Missile: - ICEY EF 3 A_FaceTarget - ICEY G 8 Bright A_IceGuyAttack - ICEY F 4 A_FaceTarget - Goto See - Death: - ICEY A 1 A_IceGuyDie - Stop - Inactive: - ICEY A -1 - Goto See - } -} - -// Ice Guy Projectile ------------------------------------------------------- - -ACTOR IceGuyFX -{ - Speed 14 - Radius 8 - Height 10 - Damage 1 - DamageType "Ice" - Projectile - -ACTIVATEIMPACT -ACTIVATEPCROSS - DeathSound "IceGuyMissileExplode" - - action native A_IceGuyMissileExplode(); - - States - { - Spawn: - ICPR ABC 3 Bright A_SpawnItemEx("IceFXPuff", 0,0,2) - Loop - Death: - ICPR D 4 Bright - ICPR E 4 Bright A_IceGuyMissileExplode - ICPR FG 4 Bright - ICPR H 3 Bright - Stop - } -} - -// Ice Guy Projectile's Puff ------------------------------------------------ - -ACTOR IceFXPuff -{ - Radius 1 - Height 1 - +NOBLOCKMAP +NOGRAVITY +DROPOFF +SHADOW - +NOTELEPORT - RenderStyle Translucent - Alpha 0.4 - States - { - Spawn: - ICPR IJK 3 - ICPR LM 2 - Stop - } -} - -// Secondary Ice Guy Projectile (ejected by the primary projectile) --------- - -ACTOR IceGuyFX2 -{ - Speed 10 - Radius 4 - Height 4 - Damage 1 - DamageType "Ice" - Gravity 0.125 - +NOBLOCKMAP +DROPOFF +MISSILE - +NOTELEPORT - +STRIFEDAMAGE - States - { - Spawn: - ICPR NOP 3 Bright - Loop - } -} - -// Ice Guy Bit -------------------------------------------------------------- - -ACTOR IceGuyBit -{ - Radius 1 - Height 1 - Gravity 0.125 - +NOBLOCKMAP +DROPOFF - +NOTELEPORT - States - { - Spawn: - ICPR Q 50 Bright - Stop - ICPR R 50 Bright - Stop - } -} - -// Ice Guy Wisp 1 ----------------------------------------------------------- - -ACTOR IceGuyWisp1 -{ - +NOBLOCKMAP +NOGRAVITY +DROPOFF +MISSILE - +NOTELEPORT - RenderStyle Translucent - Alpha 0.4 - States - { - Spawn: - ICWS ABCDEFGHI 2 - Stop - } -} - -// Ice Guy Wisp 2 ----------------------------------------------------------- - -ACTOR IceGuyWisp2 : IceGuyWisp1 -{ - States - { - Spawn: - ICWS JKLMNOPQR 2 - Stop - } -} diff --git a/wadsrc/static/actors/hexen/magecone.txt b/wadsrc/static/actors/hexen/magecone.txt deleted file mode 100644 index 72c37c38c..000000000 --- a/wadsrc/static/actors/hexen/magecone.txt +++ /dev/null @@ -1,89 +0,0 @@ - -// The Mage's Frost Cone ---------------------------------------------------- - -ACTOR MWeapFrost : MageWeapon -{ - +BLOODSPLATTER - Weapon.SelectionOrder 1700 - Weapon.AmmoUse1 3 - Weapon.AmmoGive1 25 - Weapon.KickBack 150 - Weapon.YAdjust 20 - Weapon.AmmoType1 "Mana1" - Inventory.PickupMessage "$TXT_WEAPON_M2" - Obituary "$OB_MPMWEAPFROST" - Tag "$TAG_MWEAPFROST" - - action native A_FireConePL1(); - - States - { - Spawn: - WMCS ABC 8 Bright - Loop - Select: - CONE A 1 A_Raise - Loop - Deselect: - CONE A 1 A_Lower - Loop - Ready: - CONE A 1 A_WeaponReady - Loop - Fire: - CONE B 3 - CONE C 4 - Hold: - CONE D 3 - CONE E 5 - CONE F 3 A_FireConePL1 - CONE G 3 - CONE A 9 - CONE A 10 A_ReFire - Goto Ready - } -} - -// Frost Missile ------------------------------------------------------------ - -ACTOR FrostMissile native -{ - Speed 25 - Radius 13 - Height 8 - Damage 1 - DamageType "Ice" - Projectile - DeathSound "MageShardsExplode" - Obituary "$OB_MPMWEAPFROST" - - action native A_ShedShard(); - - States - { - Spawn: - SHRD A 2 Bright - SHRD A 3 Bright A_ShedShard - SHRD B 3 Bright - SHRD C 3 Bright - Loop - Death: - SHEX ABCDE 5 Bright - Stop - } -} - -// Ice Shard ---------------------------------------------------------------- - -ACTOR IceShard : FrostMissile -{ - DamageType "Ice" - -ACTIVATEIMPACT - -ACTIVATEPCROSS - States - { - Spawn: - SHRD ABC 3 Bright - Loop - } -} diff --git a/wadsrc/static/actors/hexen/magelightning.txt b/wadsrc/static/actors/hexen/magelightning.txt deleted file mode 100644 index d12b7d389..000000000 --- a/wadsrc/static/actors/hexen/magelightning.txt +++ /dev/null @@ -1,154 +0,0 @@ - -// The Mage's Lightning Arc of Death ---------------------------------------- - -ACTOR MWeapLightning : MageWeapon -{ - +NOGRAVITY - Weapon.SelectionOrder 1100 - Weapon.AmmoUse1 5 - Weapon.AmmoGive1 25 - Weapon.KickBack 0 - Weapon.YAdjust 20 - Weapon.AmmoType1 "Mana2" - Inventory.PickupMessage "$TXT_WEAPON_M3" - Tag "$TAG_MWEAPLIGHTNING" - - action native A_LightningReady(); - action native A_MLightningAttack(class floor = "LightningFloor", class ceiling = "LightningCeiling"); - - States - { - Spawn: - WMLG ABCDEFGH 4 Bright - Loop - Select: - MLNG A 1 Bright A_Raise - Loop - Deselect: - MLNG A 1 Bright A_Lower - Loop - Ready: - MLNG AAAAA 1 Bright A_WeaponReady - MLNG A 1 Bright A_LightningReady - MLNG BBBBBB 1 Bright A_WeaponReady - MLNG CCCCC 1 Bright A_WeaponReady - MLNG C 1 Bright A_LightningReady - MLNG BBBBBB 1 Bright A_WeaponReady - Loop - Fire: - MLNG DE 3 Bright - MLNG F 4 Bright A_MLightningAttack - MLNG G 4 Bright - MLNG HI 3 Bright - MLNG I 6 Bright Offset (0, 199) - MLNG C 2 Bright Offset (0, 55) - MLNG B 2 Bright Offset (0, 50) - MLNG B 2 Bright Offset (0, 45) - MLNG B 2 Bright Offset (0, 40) - Goto Ready - } -} - -// Ceiling Lightning -------------------------------------------------------- - -ACTOR Lightning native -{ - MissileType "LightningZap" - AttackSound "MageLightningZap" - ActiveSound "MageLightningContinuous" - Obituary "$OB_MPMWEAPLIGHTNING" -} - -ACTOR LightningCeiling : Lightning -{ - Health 144 - Speed 25 - Radius 16 - Height 40 - Damage 8 - Projectile - +CEILINGHUGGER - RenderStyle Add - - action native A_LightningZap(); - action native A_LightningClip(); - action native A_LightningRemove(); - - States - { - Spawn: - MLFX A 2 Bright A_LightningZap - MLFX BCD 2 Bright A_LightningClip - Loop - Death: - MLF2 A 2 Bright A_LightningRemove - MLF2 BCDEKLM 3 Bright - ACLO E 35 - MLF2 NO 3 Bright - MLF2 P 4 Bright - MLF2 QP 3 Bright - MLF2 Q 4 Bright - MLF2 P 3 Bright - MLF2 O 3 Bright - MLF2 P 3 Bright - MLF2 P 1 Bright A_HideThing - ACLO E 1050 - Stop - } -} - -// Floor Lightning ---------------------------------------------------------- - -ACTOR LightningFloor : LightningCeiling -{ - -CEILINGHUGGER - +FLOORHUGGER - RenderStyle Add - - action native A_LastZap(); - - States - { - Spawn: - MLFX E 2 Bright A_LightningZap - MLFX FGH 2 Bright A_LightningClip - Loop - Death: - MLF2 F 2 Bright A_LightningRemove - MLF2 GHIJKLM 3 Bright - ACLO E 20 - MLF2 NO 3 Bright - MLF2 P 4 Bright - MLF2 QP 3 Bright - MLF2 Q 4 Bright A_LastZap - MLF2 POP 3 Bright - MLF2 P 1 Bright A_HideThing - Goto Super::Death + 19 - } -} - -// Lightning Zap ------------------------------------------------------------ - -ACTOR LightningZap native -{ - Radius 15 - Height 35 - Damage 2 - Projectile - -ACTIVATEIMPACT - -ACTIVATEPCROSS - RenderStyle Add - Obituary "$OB_MPMWEAPLIGHTNING" - - action native A_ZapMimic(); - - States - { - Spawn: - MLFX IJKLM 2 Bright A_ZapMimic - Loop - Death: - MLFX NOPQRSTU 2 Bright - Stop - } -} diff --git a/wadsrc/static/actors/hexen/magestaff.txt b/wadsrc/static/actors/hexen/magestaff.txt deleted file mode 100644 index 381588ce5..000000000 --- a/wadsrc/static/actors/hexen/magestaff.txt +++ /dev/null @@ -1,142 +0,0 @@ - -// Mage Weapon Piece -------------------------------------------------------- - -ACTOR MageWeaponPiece : WeaponPiece -{ - Inventory.PickupSound "misc/w_pkup" - Inventory.PickupMessage "$TXT_BLOODSCOURGE_PIECE" - Inventory.ForbiddenTo FighterPlayer, ClericPlayer - WeaponPiece.Weapon MWeapBloodscourge - +FLOATBOB -} - -// Mage Weapon Piece 1 ------------------------------------------------------ - -ACTOR MWeaponPiece1 : MageWeaponPiece -{ - WeaponPiece.Number 1 - States - { - Spawn: - WMS1 A -1 Bright - Stop - } -} - -// Mage Weapon Piece 2 ------------------------------------------------------ - -ACTOR MWeaponPiece2 : MageWeaponPiece -{ - WeaponPiece.Number 2 - States - { - Spawn: - WMS2 A -1 Bright - Stop - } -} - -// Mage Weapon Piece 3 ------------------------------------------------------ - -ACTOR MWeaponPiece3 : MageWeaponPiece -{ - WeaponPiece.Number 3 - States - { - Spawn: - WMS3 A -1 Bright - Stop - } -} - -// Bloodscourge Drop -------------------------------------------------------- - -ACTOR BloodscourgeDrop -{ - States - { - Spawn: - TNT1 A 1 - TNT1 A 1 A_DropWeaponPieces("MWeaponPiece1", "MWeaponPiece2", "MWeaponPiece3") - Stop - } -} - -// The Mages's Staff (Bloodscourge) ----------------------------------------- - -ACTOR MWeapBloodscourge : MageWeapon native -{ - Health 3 - Weapon.SelectionOrder 3100 - Weapon.AmmoUse1 15 - Weapon.AmmoUse2 15 - Weapon.AmmoGive1 20 - Weapon.AmmoGive2 20 - Weapon.KickBack 150 - Weapon.YAdjust 20 - Weapon.AmmoType1 "Mana1" - Weapon.AmmoType2 "Mana2" - +WEAPON.PRIMARY_USES_BOTH - +Inventory.NoAttenPickupSound - Inventory.PickupMessage "$TXT_WEAPON_M4" - Inventory.PickupSound "WeaponBuild" - Tag "$TAG_MWEAPBLOODSCOURGE" - - action native A_MStaffAttack(); - action native A_MStaffPalette(); - - States - { - Spawn: - TNT1 A -1 - Stop - Select: - MSTF A 1 A_Raise - Loop - Deselect: - MSTF A 1 A_Lower - Loop - Ready: - MSTF AAAAAABBBBBBCCCCCCDDDDDDEEEEEEFFFFF 1 A_WeaponReady - Loop - Fire: - MSTF G 4 Offset (0, 40) - MSTF H 4 Bright Offset (0, 48) A_MStaffAttack - MSTF H 2 Bright Offset (0, 48) A_MStaffPalette - MSTF II 2 Offset (0, 48) A_MStaffPalette - MSTF I 1 Offset (0, 40) - MSTF J 5 Offset (0, 36) - Goto Ready - } -} - -// Mage Staff FX2 (Bloodscourge) -------------------------------------------- - -ACTOR MageStaffFX2 native -{ - Speed 17 - Height 8 - Damage 4 - DamageType "Fire" - Projectile - +SEEKERMISSILE - +SCREENSEEKER - +EXTREMEDEATH - DeathSound "MageStaffExplode" - Obituary "$OB_MPMWEAPBLOODSCOURGE" - - action native A_MStaffTrack(); - - States - { - Spawn: - MSP2 ABCD 2 Bright A_MStaffTrack - Loop - Death: - MSP2 E 4 Bright A_SetTranslucent(1,1) - MSP2 F 5 Bright A_Explode (80, 192, 0) - MSP2 GH 5 Bright - MSP2 I 4 Bright - Stop - } -} diff --git a/wadsrc/static/actors/hexen/magewand.txt b/wadsrc/static/actors/hexen/magewand.txt deleted file mode 100644 index e9a1f339b..000000000 --- a/wadsrc/static/actors/hexen/magewand.txt +++ /dev/null @@ -1,73 +0,0 @@ - -// The Mage's Wand ---------------------------------------------------------- - -ACTOR MWeapWand : MageWeapon -{ - Weapon.SelectionOrder 3600 - Weapon.KickBack 0 - Weapon.YAdjust 9 - Tag "$TAG_MWEAPWAND" - - States - { - Select: - MWND A 1 A_Raise - Loop - Deselect: - MWND A 1 A_Lower - Loop - Ready: - MWND A 1 A_WeaponReady - Loop - Fire: - MWND A 6 - MWND B 6 Bright Offset (0, 48) A_FireCustomMissile ("MageWandMissile") - MWND A 3 Offset (0, 40) - MWND A 3 Offset (0, 36) A_ReFire - Goto Ready - } -} - -// Wand Smoke --------------------------------------------------------------- - -ACTOR MageWandSmoke -{ - +NOBLOCKMAP +NOGRAVITY +SHADOW - +NOTELEPORT +CANNOTPUSH +NODAMAGETHRUST - RenderStyle Translucent - Alpha 0.6 - States - { - Spawn: - MWND CDCD 4 - Stop - } -} - -// Wand Missile ------------------------------------------------------------- - -ACTOR MageWandMissile : FastProjectile -{ - Speed 184 - Radius 12 - Height 8 - Damage 2 - +RIPPER +CANNOTPUSH +NODAMAGETHRUST - +SPAWNSOUNDSOURCE - MissileType "MageWandSmoke" - SeeSound "MageWandFire" - Obituary "$OB_MPMWEAPWAND" - States - { - Spawn: - MWND CD 4 Bright - Loop - Death: - MWND E 4 Bright - MWND F 3 Bright - MWND G 4 Bright - MWND H 3 Bright - MWND I 4 Bright - Stop - } -} diff --git a/wadsrc/static/actors/hexen/serpent.txt b/wadsrc/static/actors/hexen/serpent.txt deleted file mode 100644 index 50d81bf8a..000000000 --- a/wadsrc/static/actors/hexen/serpent.txt +++ /dev/null @@ -1,224 +0,0 @@ - -// Serpent ------------------------------------------------------------------ - -ACTOR Serpent -{ - Health 90 - PainChance 96 - Speed 12 - Radius 32 - Height 70 - Mass 0x7fffffff - Monster - -SHOOTABLE - +NOBLOOD - +CANTLEAVEFLOORPIC +NONSHOOTABLE - +STAYMORPHED +DONTBLAST +NOTELEOTHER - +INVISIBLE - SeeSound "SerpentSight" - AttackSound "SerpentAttack" - PainSound "SerpentPain" - DeathSound "SerpentDeath" - HitObituary "$OB_SERPENTHIT" - - action native A_SerpentHumpDecide(); - action native A_SerpentHide(); - action native A_SerpentCheckForAttack(); - action native A_SerpentSpawnGibs(); - action native A_SerpentUnHide(); - action native A_SerpentRaiseHump(); - action native A_SerpentLowerHump(); - action native A_SerpentChooseAttack(); - action native A_SerpentMeleeAttack(); - - States - { - Spawn: - SSPT H 10 A_Look - Loop - See: - SSPT HH 1 A_Chase("Melee", "None", CHF_NIGHTMAREFAST|CHF_NOPLAYACTIVE) - SSPT H 2 A_SerpentHumpDecide - Loop - Pain: - SSPT L 5 - SSPT L 5 A_Pain - Dive: - SSDV ABC 4 - SSDV D 4 A_UnSetShootable - SSDV E 3 A_PlaySoundEx("SerpentActive", "Body") - SSDV F 3 - SSDV GH 4 - SSDV I 3 - SSDV J 3 A_SerpentHide - Goto See - Melee: - SSPT A 1 A_UnHideThing - SSPT A 1 A_PlaySoundEx("SerpentBirth", "Voice") - SSPT B 3 A_SetShootable - SSPT C 3 - SSPT D 4 A_SerpentCheckForAttack - Goto Dive - Death: - SSPT O 4 - SSPT P 4 A_Scream - SSPT Q 4 A_NoBlocking - SSPT RSTUVWXYZ 4 - Stop - XDeath: - SSXD A 4 - SSXD B 4 A_SpawnItemEx("SerpentHead", 0, 0, 45) - SSXD C 4 A_NoBlocking - SSXD DE 4 - SSXD FG 3 - SSXD H 3 A_SerpentSpawnGibs - Stop - Ice: - SSPT [ 5 A_FreezeDeath - SSPT [ 1 A_FreezeDeathChunks - Wait - Walk: - SSPT IJI 5 A_Chase("Attack", "None", CHF_NIGHTMAREFAST) - SSPT J 5 A_SerpentCheckForAttack - Goto Dive - Hump: - SSPT H 3 A_SerpentUnHide - SSPT EFGEF 3 A_SerpentRaiseHump - SSPT GEF 3 - SSPT GEFGE 3 A_SerpentLowerHump - SSPT F 3 A_SerpentHide - Goto See - Attack: - SSPT K 6 A_FaceTarget - SSPT L 5 A_SerpentChooseAttack - Goto MeleeAttack - MeleeAttack: - SSPT N 5 A_SerpentMeleeAttack - Goto Dive - } -} - -// Serpent Leader ----------------------------------------------------------- - -ACTOR SerpentLeader : Serpent -{ - Mass 200 - Obituary "$OB_SERPENT" - States - { - Missile: - SSPT N 5 A_CustomMissile("SerpentFX", 32, 0) - Goto Dive - } -} - -// Serpent Missile Ball ----------------------------------------------------- - -ACTOR SerpentFX -{ - Speed 15 - Radius 8 - Height 10 - Damage 4 - Projectile - -ACTIVATEIMPACT -ACTIVATEPCROSS - RenderStyle Add - DeathSound "SerpentFXHit" - - States - { - Spawn: - SSFX A 0 - SSFX A 3 Bright A_PlaySoundEx("SerpentFXContinuous", "Body", 1) - SSFX BAB 3 Bright - Goto Spawn+1 - Death: - SSFX C 4 Bright A_StopSoundEx("Body") - SSFX DEFGH 4 Bright - Stop - } -} - -// Serpent Head ------------------------------------------------------------- - -ACTOR SerpentHead -{ - Radius 5 - Height 10 - Gravity 0.125 - +NOBLOCKMAP - - action native A_SerpentHeadCheck(); - - States - { - Spawn: - SSXD IJKLMNOP 4 A_SerpentHeadCheck - Loop - Death: - SSXD S -1 - Loop - } -} - -// Serpent Gib 1 ------------------------------------------------------------ - -ACTOR SerpentGib1 -{ - Radius 3 - Height 3 - +NOBLOCKMAP +NOGRAVITY - - action native A_FloatGib(); - action native A_DelayGib(); - action native A_SinkGib(); - - States - { - Spawn: - SSXD Q 6 - SSXD Q 6 A_FloatGib - SSXD QQ 8 A_FloatGib - SSXD QQ 12 A_FloatGib - SSXD Q 232 A_DelayGib - SSXD QQ 12 A_SinkGib - SSXD QQQ 8 A_SinkGib - Stop - } -} - -// Serpent Gib 2 ------------------------------------------------------------ - -ACTOR SerpentGib2 : SerpentGib1 -{ - States - { - Spawn: - SSXD R 6 - SSXD R 6 A_FloatGib - SSXD RR 8 A_FloatGib - SSXD RR 12 A_FloatGib - SSXD R 232 A_DelayGib - SSXD RR 12 A_SinkGib - SSXD RRR 8 A_SinkGib - Stop - } -} - -// Serpent Gib 3 ------------------------------------------------------------ - -ACTOR SerpentGib3 : SerpentGib1 -{ - States - { - Spawn: - SSXD T 6 - SSXD T 6 A_FloatGib - SSXD TT 8 A_FloatGib - SSXD TT 12 A_FloatGib - SSXD T 232 A_DelayGib - SSXD TT 12 A_SinkGib - SSXD TTT 8 A_SinkGib - Stop - } -} diff --git a/wadsrc/static/actors/hexen/spike.txt b/wadsrc/static/actors/hexen/spike.txt deleted file mode 100644 index eaadfe012..000000000 --- a/wadsrc/static/actors/hexen/spike.txt +++ /dev/null @@ -1,104 +0,0 @@ - -// Dirt clump (spawned by spike) -------------------------------------------- - -ACTOR DirtClump -{ - +NOBLOCKMAP - +NOTELEPORT - States - { - Spawn: - TSPK C 20 - Loop - } -} - -// Spike (thrust floor) ----------------------------------------------------- - -ACTOR ThrustFloor native -{ - Radius 20 - Height 128 - - action native A_ThrustRaise(); - action native A_ThrustImpale(); - action native A_ThrustLower(); - action native A_ThrustInitDn(); - action native A_ThrustInitUp(); - - States - { - ThrustRaising: - TSPK A 2 A_ThrustRaise - Loop - BloodThrustRaising: - TSPK B 2 A_ThrustRaise - Loop - ThrustLower: - TSPK A 2 A_ThrustLower - Loop - BloodThrustLower: - TSPK B 2 A_ThrustLower - Loop - ThrustInit1: - TSPK A 3 - TSPK A 4 A_ThrustInitDn - TSPK A -1 - Loop - BloodThrustInit1: - TSPK B 3 - TSPK B 4 A_ThrustInitDn - TSPK B -1 - Loop - ThrustInit2: - TSPK A 3 - TSPK A 4 A_ThrustInitUp - TSPK A 10 - Loop - BloodThrustInit2: - TSPK B 3 - TSPK B 4 A_ThrustInitUp - TSPK B 10 - Loop - ThrustRaise: - TSPK A 8 A_ThrustRaise - TSPK A 6 A_ThrustRaise - TSPK A 4 A_ThrustRaise - TSPK A 3 A_SetSolid - TSPK A 2 A_ThrustImpale - Loop - BloodThrustRaise: - TSPK B 8 A_ThrustRaise - TSPK B 6 A_ThrustRaise - TSPK B 4 A_ThrustRaise - TSPK B 3 A_SetSolid - TSPK B 2 A_ThrustImpale - Loop - } -} - -// Spike up ----------------------------------------------------------------- - -ACTOR ThrustFloorUp : ThrustFloor -{ - +SOLID - +NOTELEPORT +FLOORCLIP - States - { - Spawn: - Goto ThrustInit2 - } -} - -// Spike down --------------------------------------------------------------- - -ACTOR ThrustFloorDown : ThrustFloor -{ - +NOTELEPORT +FLOORCLIP - +INVISIBLE - States - { - Spawn: - Goto ThrustInit1 - } -} diff --git a/wadsrc/static/actors/hexen/teleportother.txt b/wadsrc/static/actors/hexen/teleportother.txt deleted file mode 100644 index 7ef86636d..000000000 --- a/wadsrc/static/actors/hexen/teleportother.txt +++ /dev/null @@ -1,112 +0,0 @@ - -// Teleport Other Artifact -------------------------------------------------- - -ACTOR ArtiTeleportOther : Inventory native -{ - +COUNTITEM - +FLOATBOB - +INVENTORY.INVBAR - +INVENTORY.PICKUPFLASH - +INVENTORY.FANCYPICKUPSOUND - Inventory.DefMaxAmount - Inventory.Icon "ARTITELO" - Inventory.PickupSound "misc/p_pkup" - Inventory.PickupMessage "$TXT_ARTITELEPORTOTHER" - Tag "$TAG_ARTITELEPORTOTHER" - States - { - Spawn: - TELO ABCD 5 - Loop - } -} - - -// Teleport Other FX -------------------------------------------------------- - -ACTOR TelOtherFX1 native -{ - Damage 10001 - Projectile - -ACTIVATEIMPACT - -ACTIVATEPCROSS - +BLOODLESSIMPACT - Radius 16 - Height 16 - Speed 20 - - action native A_TeloSpawnA (); - action native A_TeloSpawnB (); - action native A_TeloSpawnC (); - action native A_TeloSpawnD (); - action native A_CheckTeleRing (); - - States - { - Spawn: - TRNG E 5 Bright - TRNG D 4 Bright - TRNG C 3 Bright A_TeloSpawnC - TRNG B 3 Bright A_TeloSpawnB - TRNG A 3 Bright A_TeloSpawnA - TRNG B 3 Bright A_TeloSpawnB - TRNG C 3 Bright A_TeloSpawnC - TRNG D 3 Bright A_TeloSpawnD - Goto Spawn+2 - Death: - TRNG E 3 Bright - Stop - } -} - - -ACTOR TelOtherFX2 : TelOtherFX1 -{ - Speed 16 - States - { - Spawn: - TRNG BCDCB 4 Bright - TRNG A 4 Bright A_CheckTeleRing - Loop - } -} - -ACTOR TelOtherFX3 : TelOtherFX1 -{ - Speed 16 - States - { - Spawn: - TRNG CDCBA 4 Bright - TRNG B 4 Bright A_CheckTeleRing - Loop - } -} - -ACTOR TelOtherFX4 : TelOtherFX1 -{ - Speed 16 - States - { - Spawn: - TRNG DCBAB 4 Bright - TRNG C 4 Bright A_CheckTeleRing - Loop - } - -} - -ACTOR TelOtherFX5 : TelOtherFX1 -{ - Speed 16 - States - { - Spawn: - TRNG CBABC 4 Bright - TRNG D 4 Bright A_CheckTeleRing - Loop - } -} - - diff --git a/wadsrc/static/actors/hexen/wraith.txt b/wadsrc/static/actors/hexen/wraith.txt deleted file mode 100644 index 8d25bc74a..000000000 --- a/wadsrc/static/actors/hexen/wraith.txt +++ /dev/null @@ -1,218 +0,0 @@ - -// Wraith ------------------------------------------------------------------- - -ACTOR Wraith -{ - Health 150 - PainChance 25 - Speed 11 - Height 55 - Mass 75 - Damage 10 - Monster - +NOGRAVITY +DROPOFF +FLOAT - +FLOORCLIP +TELESTOMP - SeeSound "WraithSight" - AttackSound "WraithAttack" - PainSound "WraithPain" - DeathSound "WraithDeath" - ActiveSound "WraithActive" - HitObituary "$OB_WRAITHHIT" - Obituary "$OB_WRAITH" - - action native A_WraithInit(); - action native A_WraithChase(); - action native A_WraithFX3(); - action native A_WraithMelee(); - - States - { - Spawn: - WRTH A 10 - WRTH B 5 A_WraithInit - Goto Look - Look: - WRTH AB 15 A_Look - Loop - See: - WRTH ABCD 4 A_WraithChase - Loop - Pain: - WRTH A 2 - WRTH H 6 A_Pain - Goto See - Melee: - WRTH E 6 A_FaceTarget - WRTH F 6 A_WraithFX3 - WRTH G 6 A_WraithMelee - Goto See - Missile: - WRTH E 6 A_FaceTarget - WRTH F 6 - WRTH G 6 A_CustomMissile("WraithFX1", 32, 0) - Goto See - Death: - WRTH I 4 - WRTH J 4 A_Scream - WRTH KL 4 - WRTH M 4 A_NoBlocking - WRTH N 4 A_QueueCorpse - WRTH O 4 - WRTH PQ 5 - WRTH R -1 - Stop - XDeath: - WRT2 A 5 - WRT2 B 5 A_Scream - WRT2 CD 5 - WRT2 E 5 A_NoBlocking - WRT2 F 5 A_QueueCorpse - WRT2 G 5 - WRT2 H -1 - Stop - Ice: - WRT2 I 5 A_FreezeDeath - WRT2 I 1 A_FreezeDeathChunks - Wait - } -} - -// Buried wraith ------------------------------------------------------------ - -ACTOR WraithBuried : Wraith -{ - Height 68 - -SHOOTABLE - -SOLID - +DONTMORPH - +DONTBLAST - +SPECIALFLOORCLIP - +STAYMORPHED - +INVISIBLE - PainChance 0 - - action native A_WraithRaiseInit(); - action native A_WraithRaise(); - - States - { - Spawn: - Goto Super::Look - See: - WRTH A 2 A_WraithRaiseInit - WRTH A 2 A_WraithRaise - WRTH A 2 A_FaceTarget - WRTH BB 2 A_WraithRaise - Goto See + 1 - Chase: - Goto Super::See - } -} - -// Wraith FX 1 -------------------------------------------------------------- - -ACTOR WraithFX1 -{ - Speed 14 - Radius 10 - Height 6 - Mass 5 - Damage 5 - DamageType "Fire" - Projectile - +FLOORCLIP - SeeSound "WraithMissileFire" - DeathSound "WraithMissileExplode" - - action native A_WraithFX2(); - - States - { - Spawn: - WRBL A 3 Bright - WRBL B 3 Bright A_WraithFX2 - WRBL C 3 Bright - Loop - Death: - WRBL D 4 Bright - WRBL E 4 Bright A_WraithFX2 - WRBL F 4 Bright - WRBL GH 3 Bright A_WraithFX2 - WRBL I 3 Bright - Stop - } -} - -// Wraith FX 2 -------------------------------------------------------------- - -ACTOR WraithFX2 -{ - Radius 2 - Height 5 - Mass 5 - +NOBLOCKMAP +DROPOFF - +FLOORCLIP +NOTELEPORT - States - { - Spawn: - WRBL JKLMNOP 4 Bright - Stop - } -} - -// Wraith FX 3 -------------------------------------------------------------- - -ACTOR WraithFX3 -{ - Radius 2 - Height 5 - Mass 5 - +NOBLOCKMAP +DROPOFF +MISSILE - +FLOORCLIP +NOTELEPORT - DeathSound "Drip" - States - { - Spawn: - WRBL QRS 4 Bright - Loop - Death: - WRBL S 4 Bright - Stop - } -} - -// Wraith FX 4 -------------------------------------------------------------- - -ACTOR WraithFX4 -{ - Radius 2 - Height 5 - Mass 5 - +NOBLOCKMAP +DROPOFF +MISSILE - +NOTELEPORT - DeathSound "Drip" - States - { - Spawn: - WRBL TUVW 4 - Loop - Death: - WRBL W 10 - Stop - } -} - -// Wraith FX 5 -------------------------------------------------------------- - -ACTOR WraithFX5 : WraithFX4 -{ - States - { - Spawn: - WRBL XYZ 7 - Loop - Death: - WRBL Z 35 - Stop - } -} diff --git a/wadsrc/static/actors/strife/strifestuff.txt b/wadsrc/static/actors/strife/strifestuff.txt index 95d6d93cd..3bbc1fb90 100644 --- a/wadsrc/static/actors/strife/strifestuff.txt +++ b/wadsrc/static/actors/strife/strifestuff.txt @@ -1675,8 +1675,8 @@ ACTOR Meat native ACTOR Junk : Meat { -states -{ + States + { Spawn: JUNK A 700 Stop diff --git a/wadsrc/static/decorate.txt b/wadsrc/static/decorate.txt index 88ce6a2c7..6ecac49c6 100644 --- a/wadsrc/static/decorate.txt +++ b/wadsrc/static/decorate.txt @@ -1,23 +1,3 @@ -#include "actors/hexen/clericflame.txt" -#include "actors/hexen/clericholy.txt" -#include "actors/hexen/clericstaff.txt" -#include "actors/hexen/magewand.txt" -#include "actors/hexen/magecone.txt" -#include "actors/hexen/magelightning.txt" -#include "actors/hexen/magestaff.txt" -#include "actors/hexen/fighterfist.txt" -#include "actors/hexen/fighteraxe.txt" -#include "actors/hexen/fighterhammer.txt" -#include "actors/hexen/fighterquietus.txt" -#include "actors/hexen/dragon.txt" -#include "actors/hexen/healingradius.txt" -#include "actors/hexen/teleportother.txt" -#include "actors/hexen/iceguy.txt" -#include "actors/hexen/serpent.txt" -#include "actors/hexen/spike.txt" -#include "actors/hexen/wraith.txt" -#include "actors/hexen/heresiarch.txt" - #include "actors/strife/strifehumanoid.txt" #include "actors/strife/strifeplayer.txt" #include "actors/strife/strifeweapons.txt" diff --git a/wadsrc/static/zscript.txt b/wadsrc/static/zscript.txt index 570d6eee3..c4dac2b95 100644 --- a/wadsrc/static/zscript.txt +++ b/wadsrc/static/zscript.txt @@ -116,7 +116,6 @@ zscript/hexen/bishop.txt zscript/hexen/blastradius.txt zscript/hexen/boostarmor.txt zscript/hexen/clericmace.txt -/* zscript/hexen/clericflame.txt zscript/hexen/clericholy.txt zscript/hexen/clericstaff.txt @@ -136,4 +135,3 @@ zscript/hexen/serpent.txt zscript/hexen/spike.txt zscript/hexen/wraith.txt zscript/hexen/heresiarch.txt -*/ \ No newline at end of file diff --git a/wadsrc/static/zscript/hexen/clericflame.txt b/wadsrc/static/zscript/hexen/clericflame.txt new file mode 100644 index 000000000..ae5ecaac3 --- /dev/null +++ b/wadsrc/static/zscript/hexen/clericflame.txt @@ -0,0 +1,211 @@ + +// The Cleric's Flame Strike ------------------------------------------------ + +class CWeapFlame : ClericWeapon +{ + Default + { + +NOGRAVITY + Weapon.SelectionOrder 1000; + Weapon.AmmoUse 4; + Weapon.AmmoGive 25; + Weapon.KickBack 150; + Weapon.YAdjust 10; + Weapon.AmmoType1 "Mana2"; + Inventory.PickupMessage "$TXT_WEAPON_C3"; + Tag "$TAG_CWEAPFLAME"; + } + + action native void A_CFlameAttack(); + + States + { + Spawn: + WCFM ABCDEFGH 4 Bright; + Loop; + Select: + CFLM A 1 A_Raise; + Loop; + Deselect: + CFLM A 1 A_Lower; + Loop; + Ready: + CFLM AAAABBBBCCCC 1 A_WeaponReady; + Loop; + Fire: + CFLM A 2 Offset (0, 40); + CFLM D 2 Offset (0, 50); + CFLM D 2 Offset (0, 36); + CFLM E 4 Bright; + CFLM F 4 Bright A_CFlameAttack; + CFLM E 4 Bright; + CFLM G 2 Offset (0, 40); + CFLM G 2; + Goto Ready; + } +} + +// Floor Flame -------------------------------------------------------------- + +class CFlameFloor : Actor +{ + Default + { + +NOBLOCKMAP +NOGRAVITY + RenderStyle "Add"; + } + States + { + Spawn: + CFFX N 5 Bright; + CFFX O 4 Bright; + CFFX P 3 Bright; + Stop; + } +} + +// Flame Puff --------------------------------------------------------------- + +class FlamePuff : Actor +{ + Default + { + Radius 1; + Height 1; + +NOBLOCKMAP +NOGRAVITY + RenderStyle "Add";; + SeeSound "ClericFlameExplode"; + AttackSound "ClericFlameExplode"; + } + States + { + Spawn: + CFFX ABC 3 Bright; + CFFX D 4 Bright; + CFFX E 3 Bright; + CFFX F 4 Bright; + CFFX G 3 Bright; + CFFX H 4 Bright; + CFFX I 3 Bright; + CFFX J 4 Bright; + CFFX K 3 Bright; + CFFX L 4 Bright; + CFFX M 3 Bright; + Stop; + } +} + +// Flame Puff 2 ------------------------------------------------------------- + +class FlamePuff2 : FlamePuff +{ + States + { + Spawn: + CFFX ABC 3 Bright; + CFFX D 4 Bright; + CFFX E 3 Bright; + CFFX F 4 Bright; + CFFX G 3 Bright; + CFFX H 4 Bright; + CFFX IC 3 Bright; + CFFX D 4 Bright; + CFFX E 3 Bright; + CFFX F 4 Bright; + CFFX G 3 Bright; + CFFX H 4 Bright; + CFFX I 3 Bright; + CFFX J 4 Bright; + CFFX K 3 Bright; + CFFX L 4 Bright; + CFFX M 3 Bright; + Stop; + } +} + +// Circle Flame ------------------------------------------------------------- + +class CircleFlame : Actor +{ + Default + { + Radius 6; + Damage 2; + DamageType "Fire"; + Projectile; + -ACTIVATEIMPACT + -ACTIVATEPCROSS + RenderStyle "Add"; + DeathSound "ClericFlameCircle"; + Obituary "$OB_MPCWEAPFLAME"; + } + + action native void A_CFlameRotate(); + + States + { + Spawn: + CFCF A 4 Bright; + CFCF B 2 Bright A_CFlameRotate; + CFCF C 2 Bright; + CFCF D 1 Bright; + CFCF E 2 Bright; + CFCF F 2 Bright A_CFlameRotate; + CFCF G 1 Bright; + CFCF HI 2 Bright; + CFCF J 1 Bright A_CFlameRotate; + CFCF K 2 Bright; + CFCF LM 3 Bright; + CFCF N 2 Bright A_CFlameRotate; + CFCF O 3 Bright; + CFCF P 2 Bright; + Stop; + Death: + CFCF QR 3 Bright; + CFCF S 3 Bright A_Explode(20, 20, 0); + CFCF TUVWXYZ 3 Bright; + Stop; + } +} + +// Flame Missile ------------------------------------------------------------ + +class CFlameMissile : FastProjectile native +{ + Default + { + Speed 200; + Radius 14; + Height 8; + Damage 8; + DamageType "Fire"; + +INVISIBLE + RenderStyle "Add"; + Obituary "$OB_MPCWEAPFLAME"; + } + + action native void A_CFlamePuff(); + action native void A_CFlameMissile(); + + States + { + Spawn: + CFFX A 4 Bright; + CFFX A 1 A_CFlamePuff; + Goto Death + 1; + Death: + CFFX A 1 Bright A_CFlameMissile; + CFFX ABC 3 Bright; + CFFX D 4 Bright; + CFFX E 3 Bright; + CFFX F 4 Bright; + CFFX G 3 Bright; + CFFX H 4 Bright; + CFFX I 3 Bright; + CFFX J 4 Bright; + CFFX K 3 Bright; + CFFX L 4 Bright; + CFFX M 3 Bright; + Stop; + } +} diff --git a/wadsrc/static/zscript/hexen/clericholy.txt b/wadsrc/static/zscript/hexen/clericholy.txt new file mode 100644 index 000000000..b238ce09b --- /dev/null +++ b/wadsrc/static/zscript/hexen/clericholy.txt @@ -0,0 +1,267 @@ + +// Cleric Weapon Piece ------------------------------------------------------ + +class ClericWeaponPiece : WeaponPiece +{ + Default + { + Inventory.PickupSound "misc/w_pkup"; + Inventory.PickupMessage "$TXT_WRAITHVERGE_PIECE"; + Inventory.ForbiddenTo "FighterPlayer", "MagePlayer"; + WeaponPiece.Weapon "CWeapWraithverge"; + +FLOATBOB + } +} + +// Cleric Weapon Piece 1 ---------------------------------------------------- + +class CWeaponPiece1 : ClericWeaponPiece +{ + Default + { + WeaponPiece.Number 1; + } + States + { + Spawn: + WCH1 A -1; + Stop; + } +} + +// Cleric Weapon Piece 2 ---------------------------------------------------- + +class CWeaponPiece2 : ClericWeaponPiece +{ + Default + { + WeaponPiece.Number 2; + } + States + { + Spawn: + WCH2 A -1; + Stop; + } +} + +// Cleric Weapon Piece 3 ---------------------------------------------------- + +class CWeaponPiece3 : ClericWeaponPiece +{ + Default + { + WeaponPiece.Number 3; + } + States + { + Spawn: + WCH3 A -1; + Stop; + } +} + +// Wraithverge Drop --------------------------------------------------------- + +class WraithvergeDrop : Actor +{ + States + { + Spawn: + TNT1 A 1; + TNT1 A 1 A_DropWeaponPieces("CWeaponPiece1", "CWeaponPiece2", "CWeaponPiece3"); + Stop; + } +} + +// Cleric's Wraithverge (Holy Symbol?) -------------------------------------- + +class CWeapWraithverge : ClericWeapon native +{ + Default + { + Health 3; + Weapon.SelectionOrder 3000; + +WEAPON.PRIMARY_USES_BOTH; + +Inventory.NoAttenPickupSound + Weapon.AmmoUse1 18; + Weapon.AmmoUse2 18; + Weapon.AmmoGive1 20; + Weapon.AmmoGive2 20; + Weapon.KickBack 150; + Weapon.AmmoType1 "Mana1"; + Weapon.AmmoType2 "Mana2"; + Inventory.PickupMessage "$TXT_WEAPON_C4"; + Tag "$TAG_CWEAPWRAITHVERGE"; + Inventory.PickupSound "WeaponBuild"; + } + + action native void A_CHolyAttack(); + action native void A_CHolyPalette(); + + States + { + Spawn: + TNT1 A -1; + Stop; + Ready: + CHLY A 1 A_WeaponReady; + Loop; + Select: + CHLY A 1 A_Raise; + Loop; + Deselect: + CHLY A 1 A_Lower; + Loop; + Fire: + CHLY AB 1 Bright Offset (0, 40); + CHLY CD 2 Bright Offset (0, 43); + CHLY E 2 Bright Offset (0, 45); + CHLY F 6 Bright Offset (0, 48) A_CHolyAttack; + CHLY GG 2 Bright Offset (0, 40) A_CHolyPalette; + CHLY G 2 Offset (0, 36) A_CHolyPalette; + Goto Ready; + } +} + +// Holy Missile ------------------------------------------------------------- + +class HolyMissile : Actor +{ + Default + { + Speed 30; + Radius 15; + Height 8; + Damage 4; + Projectile; + -ACTIVATEIMPACT -ACTIVATEPCROSS + +EXTREMEDEATH + } + + action native void A_CHolyAttack2(); + + States + { + Spawn: + SPIR PPPP 3 Bright A_SpawnItemEx("HolyMissilePuff"); + Death: + SPIR P 1 Bright A_CHolyAttack2; + Stop; + } +} + +// Holy Missile Puff -------------------------------------------------------- + +class HolyMissilePuff : Actor +{ + Default + { + Radius 4; + Height 8; + +NOBLOCKMAP +NOGRAVITY +DROPOFF + +NOTELEPORT + RenderStyle "Translucent"; + Alpha 0.4; + } + States + { + Spawn: + SPIR QRSTU 3; + Stop; + } +} + +// Holy Puff ---------------------------------------------------------------- + +class HolyPuff : Actor +{ + Default + { + +NOBLOCKMAP +NOGRAVITY + RenderStyle "Translucent"; + Alpha 0.6; + } + States + { + Spawn: + SPIR KLMNO 3; + Stop; + } +} + +// Holy Spirit -------------------------------------------------------------- + +class HolySpirit : Actor native +{ + Default + { + Health 105; + Speed 12; + Radius 10; + Height 6; + Damage 3; + Projectile; + +RIPPER +SEEKERMISSILE + +FOILINVUL +SKYEXPLODE +NOEXPLODEFLOOR +CANBLAST + +EXTREMEDEATH + RenderStyle "Translucent"; + Alpha 0.4; + DeathSound "SpiritDie"; + Obituary "$OB_MPCWEAPWRAITHVERGE"; + } + + action native void A_CHolySeek(); + action native void A_CHolyCheckScream(); + + States + { + Spawn: + SPIR AAB 2 A_CHolySeek; + SPIR B 2 A_CHolyCheckScream; + Loop; + Death: + SPIR D 4; + SPIR E 4 A_Scream; + SPIR FGHI 4; + Stop; + } +} + +// Holy Tail ---------------------------------------------------------------- + +class HolyTail : Actor +{ + Default + { + Radius 1; + Height 1; + +NOBLOCKMAP +NOGRAVITY +DROPOFF +NOCLIP + +NOTELEPORT + RenderStyle "Translucent"; + Alpha 0.6; + } + + action native void A_CHolyTail(); + + States + { + Spawn: + SPIR C 1 A_CHolyTail; + Loop; + TailTrail: + SPIR D -1; + Stop; + } +} + +// Holy Tail Trail --------------------------------------------------------- + +class HolyTailTrail : HolyTail +{ + States + { + Spawn: + Goto TailTrail; + } +} diff --git a/wadsrc/static/zscript/hexen/clericstaff.txt b/wadsrc/static/zscript/hexen/clericstaff.txt new file mode 100644 index 000000000..7ae0e9da3 --- /dev/null +++ b/wadsrc/static/zscript/hexen/clericstaff.txt @@ -0,0 +1,105 @@ + +// The Cleric's Serpent Staff ----------------------------------------------- + +class CWeapStaff : ClericWeapon +{ + Default + { + Weapon.SelectionOrder 1600; + Weapon.AmmoUse1 1; + Weapon.AmmoGive1 25; + Weapon.KickBack 150; + Weapon.YAdjust 10; + Weapon.AmmoType1 "Mana1"; + Inventory.PickupMessage "$TXT_WEAPON_C2"; + Obituary "$OB_MPCWEAPSTAFFM"; + Tag "$TAG_CWEAPSTAFF"; + } + + action native void A_CStaffInitBlink(); + action native void A_CStaffCheckBlink(); + action native void A_CStaffCheck(); + action native void A_CStaffAttack(); + + States + { + Spawn: + WCSS A -1; + Stop; + Select: + CSSF C 1 A_Raise; + Loop; + Deselect: + CSSF B 3; + CSSF C 4; + CSSF C 1 A_Lower; + Wait; + Ready: + CSSF C 4; + CSSF B 3 A_CStaffInitBlink; + CSSF AAAAAAA 1 A_WeaponReady; + CSSF A 1 A_CStaffCheckBlink; + Goto Ready + 2; + Fire: + CSSF A 1 Offset (0, 45) A_CStaffCheck; + CSSF J 1 Offset (0, 50) A_CStaffAttack; + CSSF J 2 Offset (0, 50); + CSSF J 2 Offset (0, 45); + CSSF A 2 Offset (0, 40); + CSSF A 2 Offset (0, 36); + Goto Ready + 2; + Blink: + CSSF BBBCCCCCBBB 1 A_WeaponReady; + Goto Ready + 2; + Drain: + CSSF K 10 Offset (0, 36); + Goto Ready + 2; + } +} + +// Serpent Staff Missile ---------------------------------------------------- + +class CStaffMissile : Actor native +{ + Default + { + Speed 22; + Radius 12; + Height 10; + Damage 5; + RenderStyle "Add"; + Projectile; + DeathSound "ClericCStaffExplode"; + Obituary "$OB_MPCWEAPSTAFFR"; + } + States + { + Spawn: + CSSF DDEE 1 Bright A_CStaffMissileSlither; + Loop; + Death: + CSSF FG 4 Bright; + CSSF HI 3 Bright; + Stop; + } +} + +// Serpent Staff Puff ------------------------------------------------------- + +class CStaffPuff : Actor +{ + Default + { + +NOBLOCKMAP +NOGRAVITY + +PUFFONACTORS + RenderStyle "Translucent"; + Alpha 0.6; + SeeSound "ClericCStaffHitThing"; + } + States + { + Spawn: + FHFX STUVW 4; + Stop; + } +} diff --git a/wadsrc/static/zscript/hexen/dragon.txt b/wadsrc/static/zscript/hexen/dragon.txt new file mode 100644 index 000000000..bfc037e71 --- /dev/null +++ b/wadsrc/static/zscript/hexen/dragon.txt @@ -0,0 +1,126 @@ + +// Dragon ------------------------------------------------------------------- + +class Dragon : Actor +{ + Default + { + Health 640; + PainChance 128; + Speed 10; + Height 65; + Mass 0x7fffffff; + Monster; + +NOGRAVITY +FLOAT +NOBLOOD + +BOSS + +DONTMORPH +NOTARGET + +NOICEDEATH + SeeSound "DragonSight"; + AttackSound "DragonAttack"; + PainSound "DragonPain"; + DeathSound "DragonDeath"; + ActiveSound "DragonActive"; + Obituary "$OB_DRAGON"; + } + + action native void A_DragonInitFlight(); + action native void A_DragonFlap(); + action native void A_DragonFlight(); + action native void A_DragonPain(); + action native void A_DragonAttack(); + action native void A_DragonCheckCrash(); + + States + { + Spawn: + DRAG D 10 A_Look; + Loop; + See: + DRAG CB 5; + DRAG A 5 A_DragonInitFlight; + DRAG B 3 A_DragonFlap; + DRAG BCCDDCCBBAA 3 A_DragonFlight; + Goto See + 3; + Pain: + DRAG F 10 A_DragonPain; + Goto See + 3; + Missile: + DRAG E 8 A_DragonAttack; + Goto See + 3; + Death: + DRAG G 5 A_Scream; + DRAG H 4 A_NoBlocking; + DRAG I 4; + DRAG J 4 A_DragonCheckCrash; + Wait; + Crash: + DRAG KL 5; + DRAG M -1; + Stop; + } +} + +// Dragon Fireball ---------------------------------------------------------- + +class DragonFireball : Actor +{ + Default + { + Speed 24; + Radius 12; + Height 10; + Damage 6; + DamageType "Fire"; + Projectile; + -ACTIVATEIMPACT -ACTIVATEPCROSS + RenderStyle "Add"; + DeathSound "DragonFireballExplode"; + } + + action native void A_DragonFX2(); + + States + { + Spawn: + DRFX ABCDEF 4 Bright; + Loop; + Death: + DRFX GHI 4 Bright; + DRFX J 4 Bright A_DragonFX2; + DRFX KL 3 Bright; + Stop; + } +} + +// Dragon Fireball Secondary Explosion -------------------------------------- + +class DragonExplosion : Actor +{ + Default + { + Radius 8; + Height 8; + DamageType "Fire"; + +NOBLOCKMAP + +NOTELEPORT + +INVISIBLE + RenderStyle "Add"; + DeathSound "DragonFireballExplode"; + } + States + { + Spawn: + CFCF Q 1 Bright; + CFCF Q 4 Bright A_UnHideThing; + CFCF R 3 Bright A_Scream; + CFCF S 4 Bright; + CFCF T 3 Bright A_Explode (80, 128, 0); + CFCF U 4 Bright; + CFCF V 3 Bright; + CFCF W 4 Bright; + CFCF X 3 Bright; + CFCF Y 4 Bright; + CFCF Z 3 Bright; + Stop; + } +} diff --git a/wadsrc/static/zscript/hexen/fighteraxe.txt b/wadsrc/static/zscript/hexen/fighteraxe.txt new file mode 100644 index 000000000..30b235192 --- /dev/null +++ b/wadsrc/static/zscript/hexen/fighteraxe.txt @@ -0,0 +1,122 @@ + +// The Fighter's Axe -------------------------------------------------------- + +class FWeapAxe : FighterWeapon native +{ + Default + { + Weapon.SelectionOrder 1500; + +WEAPON.AXEBLOOD +WEAPON.AMMO_OPTIONAL +WEAPON.MELEEWEAPON + Weapon.AmmoUse1 2; + Weapon.AmmoGive1 25; + Weapon.KickBack 150; + Weapon.YAdjust -12; + Weapon.AmmoType1 "Mana1"; + Inventory.PickupMessage "$TXT_WEAPON_F2"; + Obituary "$OB_MPFWEAPAXE"; + Tag "$TAG_FWEAPAXE"; + } + + action native void A_FAxeCheckUp(); + action native void A_FAxeCheckReady(); + action native void A_FAxeCheckAtk(); + action native void A_FAxeAttack(); + action native void A_FAxeCheckUpG(); + action native void A_FAxeCheckReadyG(); + + States + { + Spawn: + WFAX A -1; + Stop; + Select: + FAXE A 1 A_FAxeCheckUp; + Loop; + Deselect: + FAXE A 1 A_Lower; + Loop; + Ready: + FAXE A 1 A_FAxeCheckReady; + Loop; + Fire: + FAXE B 4 Offset (15, 32) A_FAxeCheckAtk; + FAXE C 3 Offset (15, 32); + FAXE D 2 Offset (15, 32); + FAXE D 1 Offset (-5, 70) A_FAxeAttack; + FAXE D 2 Offset (-25, 90); + FAXE E 1 Offset (15, 32); + FAXE E 2 Offset (10, 54); + FAXE E 7 Offset (10, 150); + FAXE A 1 Offset (0, 60) A_ReFire; + FAXE A 1 Offset (0, 52); + FAXE A 1 Offset (0, 44); + FAXE A 1 Offset (0, 36); + FAXE A 1; + Goto Ready; + SelectGlow: + FAXE L 1 A_FAxeCheckUpG; + Loop; + DeselectGlow: + FAXE L 1 A_Lower; + Loop; + ReadyGlow: + FAXE LLL 1 A_FAxeCheckReadyG; + FAXE MMM 1 A_FAxeCheckReadyG; + Loop; + FireGlow: + FAXE N 4 Offset (15, 32); + FAXE O 3 Offset (15, 32); + FAXE P 2 Offset (15, 32); + FAXE P 1 Offset (-5, 70) A_FAxeAttack; + FAXE P 2 Offset (-25, 90); + FAXE Q 1 Offset (15, 32); + FAXE Q 2 Offset (10, 54); + FAXE Q 7 Offset (10, 150); + FAXE A 1 Offset (0, 60) A_ReFire; + FAXE A 1 Offset (0, 52); + FAXE A 1 Offset (0, 44); + FAXE A 1 Offset (0, 36); + FAXE A 1; + Goto ReadyGlow; + } +} + +// Axe Puff ----------------------------------------------------------------- + +class AxePuff : Actor +{ + Default + { + +NOBLOCKMAP +NOGRAVITY + +PUFFONACTORS + RenderStyle "Translucent"; + Alpha 0.6; + SeeSound "FighterAxeHitThing"; + AttackSound "FighterHammerHitWall"; + ActiveSound "FighterHammerMiss"; + } + States + { + Spawn: + FHFX STUVW 4; + Stop; + } +} + +// Glowing Axe Puff --------------------------------------------------------- + +class AxePuffGlow : AxePuff +{ + Default + { + +PUFFONACTORS + RenderStyle "Add"; + Alpha 1; + } + States + { + Spawn: + FAXE RSTUVWX 4 Bright; + Stop; + } +} diff --git a/wadsrc/static/zscript/hexen/fighterfist.txt b/wadsrc/static/zscript/hexen/fighterfist.txt new file mode 100644 index 000000000..8428ebe7d --- /dev/null +++ b/wadsrc/static/zscript/hexen/fighterfist.txt @@ -0,0 +1,70 @@ + +// Fist (first weapon) ------------------------------------------------------ + +class FWeapFist : FighterWeapon +{ + Default + { + +BLOODSPLATTER + Weapon.SelectionOrder 3400; + +WEAPON.MELEEWEAPON + Weapon.KickBack 150; + Obituary "$OB_MPFWEAPFIST"; + Tag "$TAG_FWEAPFIST"; + } + + action native void A_FPunchAttack(); + + States + { + Select: + FPCH A 1 A_Raise; + Loop; + Deselect: + FPCH A 1 A_Lower; + Loop; + Ready: + FPCH A 1 A_WeaponReady; + Loop; + Fire: + FPCH B 5 Offset (5, 40); + FPCH C 4 Offset (5, 40); + FPCH D 4 Offset (5, 40) A_FPunchAttack; + FPCH C 4 Offset (5, 40); + FPCH B 5 Offset (5, 40) A_ReFire; + Goto Ready; + Fire2: + FPCH DE 4 Offset (5, 40); + FPCH E 1 Offset (15, 50); + FPCH E 1 Offset (25, 60); + FPCH E 1 Offset (35, 70); + FPCH E 1 Offset (45, 80); + FPCH E 1 Offset (55, 90); + FPCH E 1 Offset (65, 90); + FPCH E 10 Offset (0, 150); + Goto Ready; + } +} + +// Punch puff --------------------------------------------------------------- + +class PunchPuff : Actor +{ + Default + { + +NOBLOCKMAP +NOGRAVITY + +PUFFONACTORS + RenderStyle "Translucent"; + Alpha 0.6; + SeeSound "FighterPunchHitThing"; + AttackSound "FighterPunchHitWall"; + ActiveSound "FighterPunchMiss"; + VSpeed 1; + } + States + { + Spawn: + FHFX STUVW 4; + Stop; + } +} diff --git a/wadsrc/static/zscript/hexen/fighterhammer.txt b/wadsrc/static/zscript/hexen/fighterhammer.txt new file mode 100644 index 000000000..f415cbb72 --- /dev/null +++ b/wadsrc/static/zscript/hexen/fighterhammer.txt @@ -0,0 +1,110 @@ + +// The Fighter's Hammer ----------------------------------------------------- + +class FWeapHammer : FighterWeapon +{ + Default + { + +BLOODSPLATTER + Weapon.SelectionOrder 900; + +WEAPON.AMMO_OPTIONAL +WEAPON.MELEEWEAPON + Weapon.AmmoUse1 3; + Weapon.AmmoGive1 25; + Weapon.KickBack 150; + Weapon.YAdjust -10; + Weapon.AmmoType1 "Mana2"; + Inventory.PickupMessage "$TXT_WEAPON_F3"; + Obituary "$OB_MPFWEAPHAMMERM"; + Tag "$TAG_FWEAPHAMMER"; + } + + action native void A_FHammerAttack(); + action native void A_FHammerThrow(); + + States + { + Spawn: + WFHM A -1; + Stop; + Select: + FHMR A 1 A_Raise; + Loop; + Deselect: + FHMR A 1 A_Lower; + Loop; + Ready: + FHMR A 1 A_WeaponReady; + Loop; + Fire: + FHMR B 6 Offset (5, 0); + FHMR C 3 Offset (5, 0) A_FHammerAttack; + FHMR D 3 Offset (5, 0); + FHMR E 2 Offset (5, 0); + FHMR E 10 Offset (5, 150) A_FHammerThrow; + FHMR A 1 Offset (0, 60); + FHMR A 1 Offset (0, 55); + FHMR A 1 Offset (0, 50); + FHMR A 1 Offset (0, 45); + FHMR A 1 Offset (0, 40); + FHMR A 1 Offset (0, 35); + FHMR A 1; + Goto Ready; + } +} + +// Hammer Missile ----------------------------------------------------------- + +class HammerMissile : Actor +{ + Default + { + Speed 25; + Radius 14; + Height 20; + Damage 10; + DamageType "Fire"; + Projectile; + DeathSound "FighterHammerExplode"; + Obituary "$OB_MPFWEAPHAMMERR"; + } + + States + { + Spawn: + FHFX A 2 Bright; + FHFX B 2 Bright A_PlaySound ("FighterHammerContinuous"); + FHFX CDEFGH 2 Bright; + Loop; + Death: + FHFX I 3 Bright A_SetTranslucent(1,1); + FHFX J 3 Bright; + FHFX K 3 Bright A_Explode (128, 128, 0); + FHFX LM 3 Bright; + FHFX N 3; + FHFX OPQR 3 Bright; + Stop; + } +} + +// Hammer Puff (also used by fist) ------------------------------------------ + +class HammerPuff : Actor +{ + Default + { + +NOBLOCKMAP +NOGRAVITY + +PUFFONACTORS + RenderStyle "Translucent"; + Alpha 0.6; + VSpeed 0.8; + SeeSound "FighterHammerHitThing"; + AttackSound "FighterHammerHitWall"; + ActiveSound "FighterHammerMiss"; + } + States + { + Spawn: + FHFX STUVW 4; + Stop; + } +} diff --git a/wadsrc/static/zscript/hexen/fighterquietus.txt b/wadsrc/static/zscript/hexen/fighterquietus.txt new file mode 100644 index 000000000..5fe132237 --- /dev/null +++ b/wadsrc/static/zscript/hexen/fighterquietus.txt @@ -0,0 +1,185 @@ + +// Fighter Weapon Piece ----------------------------------------------------- + +class FighterWeaponPiece : WeaponPiece +{ + Default + { + Inventory.PickupSound "misc/w_pkup"; + Inventory.PickupMessage "$TXT_QUIETUS_PIECE"; + Inventory.ForbiddenTo "ClericPlayer", "MagePlayer"; + WeaponPiece.Weapon "FWeapQuietus"; + +FLOATBOB + } +} + +// Fighter Weapon Piece 1 --------------------------------------------------- + +class FWeaponPiece1 : FighterWeaponPiece +{ + Default + { + WeaponPiece.Number 1; + } + States + { + Spawn: + WFR1 A -1 Bright; + Stop; + } +} + +// Fighter Weapon Piece 2 --------------------------------------------------- + +class FWeaponPiece2 : FighterWeaponPiece +{ + Default + { + WeaponPiece.Number 2; + } + States + { + Spawn: + WFR2 A -1 Bright; + Stop; + } +} + +// Fighter Weapon Piece 3 --------------------------------------------------- + +class FWeaponPiece3 : FighterWeaponPiece +{ + Default + { + WeaponPiece.Number 3; + } + States + { + Spawn: + WFR3 A -1 Bright; + Stop; + } +} + +// Quietus Drop ------------------------------------------------------------- + +class QuietusDrop : Actor +{ + States + { + Spawn: + TNT1 A 1; + TNT1 A 1 A_DropWeaponPieces("FWeaponPiece1", "FWeaponPiece2", "FWeaponPiece3"); + Stop; + } +} + +// The Fighter's Sword (Quietus) -------------------------------------------- + +class FWeapQuietus : FighterWeapon +{ + Default + { + Health 3; + Weapon.SelectionOrder 2900; + +WEAPON.PRIMARY_USES_BOTH; + +Inventory.NoAttenPickupSound + Weapon.AmmoUse1 14; + Weapon.AmmoUse2 14; + Weapon.AmmoGive1 20; + Weapon.AmmoGive2 20; + Weapon.KickBack 150; + Weapon.YAdjust 10; + Weapon.AmmoType1 "Mana1"; + Weapon.AmmoType2 "Mana2"; + Inventory.PickupMessage "$TXT_WEAPON_F4"; + Inventory.PickupSound "WeaponBuild"; + Tag "$TAG_FWEAPQUIETUS"; + } + + action native void A_FSwordAttack(); + + States + { + Spawn: + TNT1 A -1; + Stop; + Select: + FSRD A 1 Bright A_Raise; + Loop; + Deselect: + FSRD A 1 Bright A_Lower; + Loop; + Ready: + FSRD AAAABBBBCCCC 1 Bright A_WeaponReady; + Loop; + Fire: + FSRD DE 3 Bright Offset (5, 36); + FSRD F 2 Bright Offset (5, 36); + FSRD G 3 Bright Offset (5, 36) A_FSwordAttack; + FSRD H 2 Bright Offset (5, 36); + FSRD I 2 Bright Offset (5, 36); + FSRD I 10 Bright Offset (5, 150); + FSRD A 1 Bright Offset (5, 60); + FSRD B 1 Bright Offset (5, 55); + FSRD C 1 Bright Offset (5, 50); + FSRD A 1 Bright Offset (5, 45); + FSRD B 1 Bright Offset (5, 40); + Goto Ready; + } +} + +// Fighter Sword Missile ---------------------------------------------------- + +class FSwordMissile : Actor native +{ + Default + { + Speed 30; + Radius 16; + Height 8; + Damage 8; + Projectile; + +EXTREMEDEATH + RenderStyle "Add"; + DeathSound "FighterSwordExplode"; + Obituary "$OB_MPFWEAPQUIETUS"; + } + + action native void A_FSwordFlames(); + + States + { + Spawn: + FSFX ABC 3 Bright; + Loop; + Death: + FSFX D 4 Bright; + FSFX E 3 Bright A_FSwordFlames; + FSFX F 4 Bright A_Explode (64, 128, 0); + FSFX G 3 Bright; + FSFX H 4 Bright; + FSFX I 3 Bright; + FSFX J 4 Bright; + FSFX KLM 3 Bright; + Stop; + } +} + +// Fighter Sword Flame ------------------------------------------------------ + +class FSwordFlame : Actor +{ + Default + { + +NOBLOCKMAP +NOGRAVITY + RenderStyle "Translucent"; + Alpha 0.6; + } + States + { + Spawn: + FSFX NOPQRSTUVW 3 Bright; + Stop; + } +} diff --git a/wadsrc/static/zscript/hexen/healingradius.txt b/wadsrc/static/zscript/hexen/healingradius.txt new file mode 100644 index 000000000..94d8e2dd5 --- /dev/null +++ b/wadsrc/static/zscript/hexen/healingradius.txt @@ -0,0 +1,26 @@ + +// Healing Radius Artifact -------------------------------------------------- + +class ArtiHealingRadius : Inventory native +{ + Default + { + +COUNTITEM + +FLOATBOB + Inventory.DefMaxAmount; + +INVENTORY.INVBAR + +INVENTORY.FANCYPICKUPSOUND + Inventory.PickupFlash "PickupFlash"; + Inventory.Icon "ARTIHRAD"; + Inventory.PickupSound "misc/p_pkup"; + Inventory.PickupMessage "$TXT_ARTIHEALINGRADIUS"; + Tag "$TAG_ARTIHEALINGRADIUS"; + } + States + { + Spawn: + HRAD ABCDEFGHIJKLMNOP 4 Bright; + Loop; + } +} + diff --git a/wadsrc/static/zscript/hexen/heresiarch.txt b/wadsrc/static/zscript/hexen/heresiarch.txt new file mode 100644 index 000000000..076bc01ca --- /dev/null +++ b/wadsrc/static/zscript/hexen/heresiarch.txt @@ -0,0 +1,362 @@ + +// The Heresiarch him/itself ------------------------------------------------ + +class Heresiarch native +{ + Default + { + Health 5000; + Painchance 10; + Speed 16; + Radius 40; + Height 110; + Mass 500; + Damage 9; + Monster; + +FLOORCLIP + +BOSS + +DONTMORPH + +NOTARGET + +NOICEDEATH + +DEFLECT + +NOBLOOD + SeeSound "SorcererSight"; + PainSound "SorcererPain"; + DeathSound "SorcererDeathScream"; + ActiveSound "SorcererActive"; + Obituary "$OB_HERESIARCH"; + } + + action native void A_SorcSpinBalls(); + action native void A_SpeedBalls(); + action native void A_SorcBossAttack(); + action native void A_SpawnFizzle(); + + States + { + Spawn: + SORC A 3; + SORC A 2 A_SorcSpinBalls; + Idle: + SORC A 10 A_Look; + Wait; + See: + SORC ABCD 5 A_Chase; + Loop; + Pain: + SORC G 8; + SORC G 8 A_Pain; + Goto See; + Missile: + SORC F 6 Bright A_FaceTarget; + SORC F 6 Bright A_SpeedBalls; + SORC F 6 Bright A_FaceTarget; + Wait; + Attack1: + SORC E 6 Bright; + SORC E 6 Bright A_SpawnFizzle; + SORC E 5 Bright A_FaceTarget; + Goto Attack1+1; + Attack2: + SORC E 2 Bright; + SORC E 2 Bright A_SorcBossAttack; + Goto See; + Death: + SORC H 5 Bright; + SORC I 5 Bright A_FaceTarget; + SORC J 5 Bright A_Scream; + SORC KLMNOPQRST 5 Bright; + SORC U 5 Bright A_NoBlocking; + SORC VWXY 5 Bright; + SORC Z -1 Bright; + Stop; + } +} + +// Base class for the balls flying around the Heresiarch's head ------------- + +class SorcBall native +{ + Default + { + Speed 10; + Radius 5; + Height 5; + Projectile; + -ACTIVATEIMPACT + -ACTIVATEPCROSS + +FULLVOLDEATH + +CANBOUNCEWATER + +NOWALLBOUNCESND + BounceType "HexenCompat"; + SeeSound "SorcererBallBounce"; + DeathSound "SorcererBigBallExplode"; + } + + action native void A_SorcBallOrbit(); + action native void A_SorcBallPop(); + action native void A_BounceCheck (); +} + +// First ball (purple) - fires projectiles ---------------------------------- + +class SorcBall1 : SorcBall native +{ + States + { + Spawn: + SBMP ABCDEFGHIJKLMNOP 2 A_SorcBallOrbit; + Loop; + Pain: + SBMP A 5 A_SorcBallPop; + SBMP B 2 A_BounceCheck; + Wait; + Death: + SBS4 D 0 A_ChangeFlag("NOBOUNCESOUND", 1); + SBS4 D 5 A_Explode(255,255); + SBS4 E 5; + SBS4 FGH 6; + Stop; + } +} + + +// Second ball (blue) - generates the shield -------------------------------- + +class SorcBall2 : SorcBall native +{ + States + { + Spawn: + SBMB ABCDEFGHIJKLMNOP 2 A_SorcBallOrbit; + Loop; + Pain: + SBMB A 5 A_SorcBallPop; + SBMB B 2 A_BounceCheck; + Wait; + Death: + SBS4 D 0 A_ChangeFlag("NOBOUNCESOUND", 1); + SBS3 D 5 A_Explode(255,255); + SBS3 E 5; + SBS3 FGH 6; + Stop; + } +} + +// Third ball (green) - summons Bishops ------------------------------------- + +class SorcBall3 : SorcBall native +{ + States + { + Spawn: + SBMG ABCDEFGHIJKLMNOP 2 A_SorcBallOrbit; + Loop; + Pain: + SBMG A 5 A_SorcBallPop; + SBMG B 2 A_BounceCheck; + Wait; + Death: + SBS4 D 0 A_ChangeFlag("NOBOUNCESOUND", 1); + SBS3 D 5 A_Explode(255,255); + SBS3 E 5; + SBS3 FGH 6; + Stop; + } +} + + +// Sorcerer spell 1 (The burning, bouncing head thing) ---------------------- + +class SorcFX1 : Actor +{ + Default + { + Speed 7; + Radius 5; + Height 5; + Projectile; + -ACTIVATEIMPACT + -ACTIVATEPCROSS + -NOGRAVITY + +FULLVOLDEATH + +CANBOUNCEWATER + +NOWALLBOUNCESND + BounceFactor 1.0; + BounceType "HexenCompat"; + SeeSound "SorcererBallBounce"; + DeathSound "SorcererHeadScream"; + } + + action native void A_SorcFX1Seek(); + + States + { + Spawn: + SBS1 A 2 Bright; + SBS1 BCD 3 Bright A_SorcFX1Seek; + Loop; + Death: + FHFX S 2 Bright A_Explode(30, 128); + FHFX SS 6 Bright; + Stop; + } +} + + +// Sorcerer spell 2 (The visible part of the shield) ------------------------ + +class SorcFX2 : Actor +{ + Default + { + Speed 15; + Radius 5; + Height 5; + +NOBLOCKMAP + +NOGRAVITY + +NOTELEPORT + } + + action native void A_SorcFX2Split(); + action native void A_SorcFX2Orbit (); + + states + { + Spawn: + SBS2 A 3 Bright A_SorcFX2Split; + Loop; + Orbit: + SBS2 A 2 Bright; + SBS2 BCDEFGHIJKLMNOPA 2 Bright A_SorcFX2Orbit; + Goto Orbit+1; + Death: + SBS2 A 10; + Stop; + } +} + +// The translucent trail behind SorcFX2 ------------------------------------- + +class SorcFX2T1 : SorcFX2 +{ + Default + { + RenderStyle "Translucent"; + Alpha 0.4; + } + States + { + Spawn: + Goto Death; + } +} + + +// Sorcerer spell 3 (The Bishop spawner) ------------------------------------ + +class SorcFX3 : Actor +{ + Default + { + Speed 15; + Radius 22; + Height 65; + +NOBLOCKMAP + +MISSILE + +NOTELEPORT + SeeSound "SorcererBishopSpawn"; + } + + action native void A_SpawnBishop(); + action native void A_SorcererBishopEntry(); + + States + { + Spawn: + SBS3 ABC 2 Bright; + Loop; + Death: + SBS3 A 4 Bright; + BISH P 4 A_SorcererBishopEntry; + BISH ON 4; + BISH MLKJIH 3; + BISH G 3 A_SpawnBishop; + Stop; + } +} + + +// The Bishop spawner's explosion animation --------------------------------- + +class SorcFX3Explosion : Actor +{ + Default + { + +NOBLOCKMAP + +NOGRAVITY + +NOTELEPORT + RenderStyle "Translucent"; + Alpha 0.4; + } + States + { + Spawn: + SBS3 DEFGH 3; + Stop; + } +} + + +// Sorcerer spell 4 (The purple projectile) --------------------------------- + +class SorcFX4 : Actor +{ + Default + { + Speed 12; + Radius 10; + Height 10; + Projectile; + -ACTIVATEIMPACT + -ACTIVATEPCROSS + DeathSound "SorcererBallExplode"; + } + + action native void A_SorcFX4Check(); + + States + { + Spawn: + SBS4 ABC 2 Bright A_SorcFX4Check; + Loop; + Death: + SBS4 D 2 Bright; + SBS4 E 2 Bright A_Explode(20, 128); + SBS4 FGH 2 Bright; + Stop; + } +} + + +// Spark that appears when shooting SorcFX4 --------------------------------- + +class SorcSpark1 : Actor +{ + Default + { + Radius 5; + Height 5; + Gravity 0.125; + +NOBLOCKMAP + +DROPOFF + +NOTELEPORT + RenderStyle "Add"; + } + States + { + Spawn: + SBFX ABCDEFG 4 Bright; + Stop; + } +} diff --git a/wadsrc/static/zscript/hexen/iceguy.txt b/wadsrc/static/zscript/hexen/iceguy.txt new file mode 100644 index 000000000..635aea07f --- /dev/null +++ b/wadsrc/static/zscript/hexen/iceguy.txt @@ -0,0 +1,185 @@ + +// Ice Guy ------------------------------------------------------------------ + +class IceGuy : Actor +{ + Default + { + Health 120; + PainChance 144; + Speed 14; + Radius 22; + Height 75; + Mass 150; + DamageType "Ice"; + Monster; + +NOBLOOD + +TELESTOMP + +NOICEDEATH + SeeSound "IceGuySight"; + AttackSound "IceGuyAttack"; + ActiveSound "IceGuyActive"; + Obituary "$OB_ICEGUY"; + } + + action native void A_IceGuyLook(); + action native void A_IceGuyChase(); + action native void A_IceGuyAttack(); + + States + { + Spawn: + ICEY A 10 A_IceGuyLook; + Loop; + See: + ICEY A 4 A_Chase; + ICEY B 4 A_IceGuyChase; + ICEY CD 4 A_Chase; + Loop; + Pain: + ICEY A 1 A_Pain; + Goto See; + Missile: + ICEY EF 3 A_FaceTarget; + ICEY G 8 Bright A_IceGuyAttack; + ICEY F 4 A_FaceTarget; + Goto See; + Death: + ICEY A 1 A_IceGuyDie; + Stop; + Inactive: + ICEY A -1; + Goto See; + } +} + +// Ice Guy Projectile ------------------------------------------------------- + +class IceGuyFX : Actor +{ + Default + { + Speed 14; + Radius 8; + Height 10; + Damage 1; + DamageType "Ice"; + Projectile; + -ACTIVATEIMPACT -ACTIVATEPCROSS + DeathSound "IceGuyMissileExplode"; + } + + action native void A_IceGuyMissileExplode(); + + States + { + Spawn: + ICPR ABC 3 Bright A_SpawnItemEx("IceFXPuff", 0,0,2); + Loop; + Death: + ICPR D 4 Bright; + ICPR E 4 Bright A_IceGuyMissileExplode; + ICPR FG 4 Bright; + ICPR H 3 Bright; + Stop; + } +} + +// Ice Guy Projectile's Puff ------------------------------------------------ + +class IceFXPuff : Actor +{ + Default + { + Radius 1; + Height 1; + +NOBLOCKMAP +NOGRAVITY +DROPOFF +SHADOW + +NOTELEPORT + RenderStyle "Translucent"; + Alpha 0.4; + } + States + { + Spawn: + ICPR IJK 3; + ICPR LM 2; + Stop; + } +} + +// Secondary Ice Guy Projectile (ejected by the primary projectile) --------- + +class IceGuyFX2 : Actor +{ + Default + { + Speed 10; + Radius 4; + Height 4; + Damage 1; + DamageType "Ice"; + Gravity 0.125; + +NOBLOCKMAP +DROPOFF +MISSILE + +NOTELEPORT + +STRIFEDAMAGE + } + States + { + Spawn: + ICPR NOP 3 Bright; + Loop; + } +} + +// Ice Guy Bit -------------------------------------------------------------- + +class IceGuyBit : Actor +{ + Default + { + Radius 1; + Height 1; + Gravity 0.125; + +NOBLOCKMAP +DROPOFF + +NOTELEPORT + } + States + { + Spawn: + ICPR Q 50 Bright; + Stop; + ICPR R 50 Bright; + Stop; + } +} + +// Ice Guy Wisp 1 ----------------------------------------------------------- + +class IceGuyWisp1 : Actor +{ + Default + { + +NOBLOCKMAP +NOGRAVITY +DROPOFF +MISSILE + +NOTELEPORT + RenderStyle "Translucent"; + Alpha 0.4; + } + States + { + Spawn: + ICWS ABCDEFGHI 2; + Stop; + } +} + +// Ice Guy Wisp 2 ----------------------------------------------------------- + +class IceGuyWisp2 : IceGuyWisp1 +{ + States + { + Spawn: + ICWS JKLMNOPQR 2; + Stop; + } +} diff --git a/wadsrc/static/zscript/hexen/magecone.txt b/wadsrc/static/zscript/hexen/magecone.txt new file mode 100644 index 000000000..94452985c --- /dev/null +++ b/wadsrc/static/zscript/hexen/magecone.txt @@ -0,0 +1,98 @@ + +// The Mage's Frost Cone ---------------------------------------------------- + +class MWeapFrost : MageWeapon +{ + Default + { + +BLOODSPLATTER + Weapon.SelectionOrder 1700; + Weapon.AmmoUse1 3; + Weapon.AmmoGive1 25; + Weapon.KickBack 150; + Weapon.YAdjust 20; + Weapon.AmmoType1 "Mana1"; + Inventory.PickupMessage "$TXT_WEAPON_M2"; + Obituary "$OB_MPMWEAPFROST"; + Tag "$TAG_MWEAPFROST"; + } + + action native void A_FireConePL1(); + + States + { + Spawn: + WMCS ABC 8 Bright; + Loop; + Select: + CONE A 1 A_Raise; + Loop; + Deselect: + CONE A 1 A_Lower; + Loop; + Ready: + CONE A 1 A_WeaponReady; + Loop; + Fire: + CONE B 3; + CONE C 4; + Hold: + CONE D 3; + CONE E 5; + CONE F 3 A_FireConePL1; + CONE G 3; + CONE A 9; + CONE A 10 A_ReFire; + Goto Ready; + } +} + +// Frost Missile ------------------------------------------------------------ + +class FrostMissile : Actor native +{ + Default + { + Speed 25; + Radius 13; + Height 8; + Damage 1; + DamageType "Ice"; + Projectile; + DeathSound "MageShardsExplode"; + Obituary "$OB_MPMWEAPFROST"; + } + + action native void A_ShedShard(); + + States + { + Spawn: + SHRD A 2 Bright; + SHRD A 3 Bright A_ShedShard; + SHRD B 3 Bright; + SHRD C 3 Bright; + Loop; + Death: + SHEX ABCDE 5 Bright; + Stop; + } +} + +// Ice Shard ---------------------------------------------------------------- + +class IceShard : FrostMissile +{ + Default + { + DamageType "Ice"; + -ACTIVATEIMPACT + -ACTIVATEPCROSS + } + States + { + Spawn: + SHRD ABC 3 Bright; + Loop; + } +} diff --git a/wadsrc/static/zscript/hexen/magelightning.txt b/wadsrc/static/zscript/hexen/magelightning.txt new file mode 100644 index 000000000..2c35a41e5 --- /dev/null +++ b/wadsrc/static/zscript/hexen/magelightning.txt @@ -0,0 +1,169 @@ + +// The Mage's Lightning Arc of Death ---------------------------------------- + +class MWeapLightning : MageWeapon +{ + Default + { + +NOGRAVITY + Weapon.SelectionOrder 1100; + Weapon.AmmoUse1 5; + Weapon.AmmoGive1 25; + Weapon.KickBack 0; + Weapon.YAdjust 20; + Weapon.AmmoType1 "Mana2"; + Inventory.PickupMessage "$TXT_WEAPON_M3"; + Tag "$TAG_MWEAPLIGHTNING"; + } + + action native void A_LightningReady(); + action native void A_MLightningAttack(class floor = "LightningFloor", class ceiling = "LightningCeiling"); + + States + { + Spawn: + WMLG ABCDEFGH 4 Bright; + Loop; + Select: + MLNG A 1 Bright A_Raise; + Loop; + Deselect: + MLNG A 1 Bright A_Lower; + Loop; + Ready: + MLNG AAAAA 1 Bright A_WeaponReady; + MLNG A 1 Bright A_LightningReady; + MLNG BBBBBB 1 Bright A_WeaponReady; + MLNG CCCCC 1 Bright A_WeaponReady; + MLNG C 1 Bright A_LightningReady; + MLNG BBBBBB 1 Bright A_WeaponReady; + Loop; + Fire: + MLNG DE 3 Bright; + MLNG F 4 Bright A_MLightningAttack; + MLNG G 4 Bright; + MLNG HI 3 Bright; + MLNG I 6 Bright Offset (0, 199); + MLNG C 2 Bright Offset (0, 55); + MLNG B 2 Bright Offset (0, 50); + MLNG B 2 Bright Offset (0, 45); + MLNG B 2 Bright Offset (0, 40); + Goto Ready; + } +} + +// Ceiling Lightning -------------------------------------------------------- + +class Lightning : Actor native +{ + Default + { + MissileType "LightningZap"; + AttackSound "MageLightningZap"; + ActiveSound "MageLightningContinuous"; + Obituary "$OB_MPMWEAPLIGHTNING"; + } +} + +class LightningCeiling : Lightning +{ + Default + { + Health 144; + Speed 25; + Radius 16; + Height 40; + Damage 8; + Projectile; + +CEILINGHUGGER + RenderStyle "Add"; + } + + action native void A_LightningZap(); + action native void A_LightningClip(); + action native void A_LightningRemove(); + + States + { + Spawn: + MLFX A 2 Bright A_LightningZap; + MLFX BCD 2 Bright A_LightningClip; + Loop; + Death: + MLF2 A 2 Bright A_LightningRemove; + MLF2 BCDEKLM 3 Bright; + ACLO E 35; + MLF2 NO 3 Bright; + MLF2 P 4 Bright; + MLF2 QP 3 Bright; + MLF2 Q 4 Bright; + MLF2 P 3 Bright; + MLF2 O 3 Bright; + MLF2 P 3 Bright; + MLF2 P 1 Bright A_HideThing; + ACLO E 1050; + Stop; + } +} + +// Floor Lightning ---------------------------------------------------------- + +class LightningFloor : LightningCeiling +{ + Default + { + -CEILINGHUGGER + +FLOORHUGGER + RenderStyle "Add"; + } + + action native void A_LastZap(); + + States + { + Spawn: + MLFX E 2 Bright A_LightningZap; + MLFX FGH 2 Bright A_LightningClip; + Loop; + Death: + MLF2 F 2 Bright A_LightningRemove; + MLF2 GHIJKLM 3 Bright; + ACLO E 20; + MLF2 NO 3 Bright; + MLF2 P 4 Bright; + MLF2 QP 3 Bright; + MLF2 Q 4 Bright A_LastZap; + MLF2 POP 3 Bright; + MLF2 P 1 Bright A_HideThing; + Goto Super::Death + 19; + } +} + +// Lightning Zap ------------------------------------------------------------ + +class LightningZap : Actor native +{ + Default + { + Radius 15; + Height 35; + Damage 2; + Projectile; + -ACTIVATEIMPACT + -ACTIVATEPCROSS + RenderStyle "Add"; + Obituary "$OB_MPMWEAPLIGHTNING"; + } + + action native void A_ZapMimic(); + + States + { + Spawn: + MLFX IJKLM 2 Bright A_ZapMimic; + Loop; + Death: + MLFX NOPQRSTU 2 Bright; + Stop; + } +} diff --git a/wadsrc/static/zscript/hexen/magestaff.txt b/wadsrc/static/zscript/hexen/magestaff.txt new file mode 100644 index 000000000..b71c1e3dc --- /dev/null +++ b/wadsrc/static/zscript/hexen/magestaff.txt @@ -0,0 +1,160 @@ + +// Mage Weapon Piece -------------------------------------------------------- + +class MageWeaponPiece : WeaponPiece +{ + Default + { + Inventory.PickupSound "misc/w_pkup"; + Inventory.PickupMessage "$TXT_BLOODSCOURGE_PIECE"; + Inventory.ForbiddenTo "FighterPlayer", "ClericPlayer"; + WeaponPiece.Weapon "MWeapBloodscourge"; + +FLOATBOB + } +} + +// Mage Weapon Piece 1 ------------------------------------------------------ + +class MWeaponPiece1 : MageWeaponPiece +{ + Default + { + WeaponPiece.Number 1; + } + States + { + Spawn: + WMS1 A -1 Bright; + Stop; + } +} + +// Mage Weapon Piece 2 ------------------------------------------------------ + +class MWeaponPiece2 : MageWeaponPiece +{ + Default + { + WeaponPiece.Number 2; + } + States + { + Spawn: + WMS2 A -1 Bright; + Stop; + } +} + +// Mage Weapon Piece 3 ------------------------------------------------------ + +class MWeaponPiece3 : MageWeaponPiece +{ + Default + { + WeaponPiece.Number 3; + } + States + { + Spawn: + WMS3 A -1 Bright; + Stop; + } +} + +// Bloodscourge Drop -------------------------------------------------------- + +class BloodscourgeDrop : Actor +{ + States + { + Spawn: + TNT1 A 1; + TNT1 A 1 A_DropWeaponPieces("MWeaponPiece1", "MWeaponPiece2", "MWeaponPiece3"); + Stop; + } +} + +// The Mages's Staff (Bloodscourge) ----------------------------------------- + +class MWeapBloodscourge : MageWeapon native +{ + Default + { + Health 3; + Weapon.SelectionOrder 3100; + Weapon.AmmoUse1 15; + Weapon.AmmoUse2 15; + Weapon.AmmoGive1 20; + Weapon.AmmoGive2 20; + Weapon.KickBack 150; + Weapon.YAdjust 20; + Weapon.AmmoType1 "Mana1"; + Weapon.AmmoType2 "Mana2"; + +WEAPON.PRIMARY_USES_BOTH; + +Inventory.NoAttenPickupSound + Inventory.PickupMessage "$TXT_WEAPON_M4"; + Inventory.PickupSound "WeaponBuild"; + Tag "$TAG_MWEAPBLOODSCOURGE"; + } + + action native void A_MStaffAttack(); + action native void A_MStaffPalette(); + + States + { + Spawn: + TNT1 A -1; + Stop; + Select: + MSTF A 1 A_Raise; + Loop; + Deselect: + MSTF A 1 A_Lower; + Loop; + Ready: + MSTF AAAAAABBBBBBCCCCCCDDDDDDEEEEEEFFFFF 1 A_WeaponReady; + Loop; + Fire: + MSTF G 4 Offset (0, 40); + MSTF H 4 Bright Offset (0, 48) A_MStaffAttack; + MSTF H 2 Bright Offset (0, 48) A_MStaffPalette; + MSTF II 2 Offset (0, 48) A_MStaffPalette; + MSTF I 1 Offset (0, 40); + MSTF J 5 Offset (0, 36); + Goto Ready; + } +} + +// Mage Staff FX2 (Bloodscourge) -------------------------------------------- + +class MageStaffFX2 : Actor native +{ + Default + { + Speed 17; + Height 8; + Damage 4; + DamageType "Fire"; + Projectile; + +SEEKERMISSILE + +SCREENSEEKER + +EXTREMEDEATH + DeathSound "MageStaffExplode"; + Obituary "$OB_MPMWEAPBLOODSCOURGE"; + } + + action native void A_MStaffTrack(); + + States + { + Spawn: + MSP2 ABCD 2 Bright A_MStaffTrack; + Loop; + Death: + MSP2 E 4 Bright A_SetTranslucent(1,1); + MSP2 F 5 Bright A_Explode (80, 192, 0); + MSP2 GH 5 Bright; + MSP2 I 4 Bright; + Stop; + } +} diff --git a/wadsrc/static/zscript/hexen/magewand.txt b/wadsrc/static/zscript/hexen/magewand.txt new file mode 100644 index 000000000..3feb96ae1 --- /dev/null +++ b/wadsrc/static/zscript/hexen/magewand.txt @@ -0,0 +1,81 @@ + +// The Mage's Wand ---------------------------------------------------------- + +class MWeapWand : MageWeapon +{ + Default + { + Weapon.SelectionOrder 3600; + Weapon.KickBack 0; + Weapon.YAdjust 9; + Tag "$TAG_MWEAPWAND"; + } + States + { + Select: + MWND A 1 A_Raise; + Loop; + Deselect: + MWND A 1 A_Lower; + Loop; + Ready: + MWND A 1 A_WeaponReady; + Loop; + Fire: + MWND A 6; + MWND B 6 Bright Offset (0, 48) A_FireCustomMissile ("MageWandMissile"); + MWND A 3 Offset (0, 40); + MWND A 3 Offset (0, 36) A_ReFire; + Goto Ready; + } +} + +// Wand Smoke --------------------------------------------------------------- + +class MageWandSmoke : Actor +{ + Default + { + +NOBLOCKMAP +NOGRAVITY +SHADOW + +NOTELEPORT +CANNOTPUSH +NODAMAGETHRUST + RenderStyle "Translucent"; + Alpha 0.6; + } + States + { + Spawn: + MWND CDCD 4; + Stop; + } +} + +// Wand Missile ------------------------------------------------------------- + +class MageWandMissile : FastProjectile +{ + Default + { + Speed 184; + Radius 12; + Height 8; + Damage 2; + +RIPPER +CANNOTPUSH +NODAMAGETHRUST + +SPAWNSOUNDSOURCE + MissileType "MageWandSmoke"; + SeeSound "MageWandFire"; + Obituary "$OB_MPMWEAPWAND"; + } + States + { + Spawn: + MWND CD 4 Bright; + Loop; + Death: + MWND E 4 Bright; + MWND F 3 Bright; + MWND G 4 Bright; + MWND H 3 Bright; + MWND I 4 Bright; + Stop; + } +} diff --git a/wadsrc/static/zscript/hexen/serpent.txt b/wadsrc/static/zscript/hexen/serpent.txt new file mode 100644 index 000000000..516d0c703 --- /dev/null +++ b/wadsrc/static/zscript/hexen/serpent.txt @@ -0,0 +1,238 @@ + +// Serpent ------------------------------------------------------------------ + +class Serpent : Actor +{ + Default + { + Health 90; + PainChance 96; + Speed 12; + Radius 32; + Height 70; + Mass 0x7fffffff; + Monster; + -SHOOTABLE + +NOBLOOD + +CANTLEAVEFLOORPIC +NONSHOOTABLE + +STAYMORPHED +DONTBLAST +NOTELEOTHER + +INVISIBLE + SeeSound "SerpentSight"; + AttackSound "SerpentAttack"; + PainSound "SerpentPain"; + DeathSound "SerpentDeath"; + HitObituary "$OB_SERPENTHIT"; + } + + action native void A_SerpentHumpDecide(); + action native void A_SerpentHide(); + action native void A_SerpentCheckForAttack(); + action native void A_SerpentSpawnGibs(); + action native void A_SerpentUnHide(); + action native void A_SerpentRaiseHump(); + action native void A_SerpentLowerHump(); + action native void A_SerpentChooseAttack(); + action native void A_SerpentMeleeAttack(); + + States + { + Spawn: + SSPT H 10 A_Look; + Loop; + See: + SSPT HH 1 A_Chase("Melee", "None", CHF_NIGHTMAREFAST|CHF_NOPLAYACTIVE); + SSPT H 2 A_SerpentHumpDecide; + Loop; + Pain: + SSPT L 5; + SSPT L 5 A_Pain; + Dive: + SSDV ABC 4; + SSDV D 4 A_UnSetShootable; + SSDV E 3 A_PlaySound("SerpentActive", CHAN_BODY); + SSDV F 3; + SSDV GH 4; + SSDV I 3; + SSDV J 3 A_SerpentHide; + Goto See; + Melee: + SSPT A 1 A_UnHideThing; + SSPT A 1 A_PlaySound("SerpentBirth", CHAN_BODY); + SSPT B 3 A_SetShootable; + SSPT C 3; + SSPT D 4 A_SerpentCheckForAttack; + Goto Dive; + Death: + SSPT O 4; + SSPT P 4 A_Scream; + SSPT Q 4 A_NoBlocking; + SSPT RSTUVWXYZ 4; + Stop; + XDeath: + SSXD A 4; + SSXD B 4 A_SpawnItemEx("SerpentHead", 0, 0, 45); + SSXD C 4 A_NoBlocking; + SSXD DE 4; + SSXD FG 3; + SSXD H 3 A_SerpentSpawnGibs; + Stop; + Ice: + SSPT [ 5 A_FreezeDeath; + SSPT [ 1 A_FreezeDeathChunks; + Wait; + Walk: + SSPT IJI 5 A_Chase("Attack", "None", CHF_NIGHTMAREFAST); + SSPT J 5 A_SerpentCheckForAttack; + Goto Dive; + Hump: + SSPT H 3 A_SerpentUnHide; + SSPT EFGEF 3 A_SerpentRaiseHump; + SSPT GEF 3; + SSPT GEFGE 3 A_SerpentLowerHump; + SSPT F 3 A_SerpentHide; + Goto See; + Attack: + SSPT K 6 A_FaceTarget; + SSPT L 5 A_SerpentChooseAttack; + Goto MeleeAttack; + MeleeAttack: + SSPT N 5 A_SerpentMeleeAttack; + Goto Dive; + } +} + +// Serpent Leader ----------------------------------------------------------- + +class SerpentLeader : Serpent +{ + Default + { + Mass 200; + Obituary "$OB_SERPENT"; + } + States + { + Missile: + SSPT N 5 A_CustomMissile("SerpentFX", 32, 0); + Goto Dive; + } +} + +// Serpent Missile Ball ----------------------------------------------------- + +class SerpentFX : Actor +{ + Default + { + Speed 15; + Radius 8; + Height 10; + Damage 4; + Projectile; + -ACTIVATEIMPACT -ACTIVATEPCROSS + RenderStyle "Add"; + DeathSound "SerpentFXHit"; + } + States + { + Spawn: + SSFX A 0; + SSFX A 3 Bright A_PlaySound("SerpentFXContinuous", CHAN_BODY, 1.0, 1); + SSFX BAB 3 Bright; + Goto Spawn+1; + Death: + SSFX C 4 Bright A_StopSound(CHAN_BODY); + SSFX DEFGH 4 Bright; + Stop; + } +} + +// Serpent Head ------------------------------------------------------------- + +class SerpentHead : Actor +{ + Default + { + Radius 5; + Height 10; + Gravity 0.125; + +NOBLOCKMAP + } + + action native void A_SerpentHeadCheck(); + + States + { + Spawn: + SSXD IJKLMNOP 4 A_SerpentHeadCheck; + Loop; + Death: + SSXD S -1; + Loop; + } +} + +// Serpent Gib 1 ------------------------------------------------------------ + +class SerpentGib1 : Actor +{ + Default + { + Radius 3; + Height 3; + +NOBLOCKMAP +NOGRAVITY + } + + action native void A_FloatGib(); + action native void A_DelayGib(); + action native void A_SinkGib(); + + States + { + Spawn: + SSXD Q 6; + SSXD Q 6 A_FloatGib; + SSXD QQ 8 A_FloatGib; + SSXD QQ 12 A_FloatGib; + SSXD Q 232 A_DelayGib; + SSXD QQ 12 A_SinkGib; + SSXD QQQ 8 A_SinkGib; + Stop; + } +} + +// Serpent Gib 2 ------------------------------------------------------------ + +class SerpentGib2 : SerpentGib1 +{ + States + { + Spawn: + SSXD R 6; + SSXD R 6 A_FloatGib; + SSXD RR 8 A_FloatGib; + SSXD RR 12 A_FloatGib; + SSXD R 232 A_DelayGib; + SSXD RR 12 A_SinkGib; + SSXD RRR 8 A_SinkGib; + Stop; + } +} + +// Serpent Gib 3 ------------------------------------------------------------ + +class SerpentGib3 : SerpentGib1 +{ + States + { + Spawn: + SSXD T 6; + SSXD T 6 A_FloatGib; + SSXD TT 8 A_FloatGib; + SSXD TT 12 A_FloatGib; + SSXD T 232 A_DelayGib; + SSXD TT 12 A_SinkGib; + SSXD TTT 8 A_SinkGib; + Stop; + } +} diff --git a/wadsrc/static/zscript/hexen/spike.txt b/wadsrc/static/zscript/hexen/spike.txt new file mode 100644 index 000000000..2c8b4e80a --- /dev/null +++ b/wadsrc/static/zscript/hexen/spike.txt @@ -0,0 +1,116 @@ + +// Dirt clump (spawned by spike) -------------------------------------------- + +class DirtClump : Actor +{ + Default + { + +NOBLOCKMAP + +NOTELEPORT + } + States + { + Spawn: + TSPK C 20; + Loop; + } +} + +// Spike (thrust floor) ----------------------------------------------------- + +class ThrustFloor : Actor native +{ + Default + { + Radius 20; + Height 128; + } + + action native void A_ThrustRaise(); + action native void A_ThrustImpale(); + action native void A_ThrustLower(); + action native void A_ThrustInitDn(); + action native void A_ThrustInitUp(); + + States + { + ThrustRaising: + TSPK A 2 A_ThrustRaise; + Loop; + BloodThrustRaising: + TSPK B 2 A_ThrustRaise; + Loop; + ThrustLower: + TSPK A 2 A_ThrustLower; + Loop; + BloodThrustLower: + TSPK B 2 A_ThrustLower; + Loop; + ThrustInit1: + TSPK A 3; + TSPK A 4 A_ThrustInitDn; + TSPK A -1; + Loop; + BloodThrustInit1: + TSPK B 3; + TSPK B 4 A_ThrustInitDn; + TSPK B -1; + Loop; + ThrustInit2: + TSPK A 3; + TSPK A 4 A_ThrustInitUp; + TSPK A 10; + Loop; + BloodThrustInit2: + TSPK B 3; + TSPK B 4 A_ThrustInitUp; + TSPK B 10; + Loop; + ThrustRaise: + TSPK A 8 A_ThrustRaise; + TSPK A 6 A_ThrustRaise; + TSPK A 4 A_ThrustRaise; + TSPK A 3 A_SetSolid; + TSPK A 2 A_ThrustImpale; + Loop; + BloodThrustRaise: + TSPK B 8 A_ThrustRaise; + TSPK B 6 A_ThrustRaise; + TSPK B 4 A_ThrustRaise; + TSPK B 3 A_SetSolid; + TSPK B 2 A_ThrustImpale; + Loop; + } +} + +// Spike up ----------------------------------------------------------------- + +class ThrustFloorUp : ThrustFloor +{ + Default + { + +SOLID + +NOTELEPORT +FLOORCLIP + } + States + { + Spawn: + Goto ThrustInit2; + } +} + +// Spike down --------------------------------------------------------------- + +class ThrustFloorDown : ThrustFloor +{ + Default + { + +NOTELEPORT +FLOORCLIP + +INVISIBLE + } + States + { + Spawn: + Goto ThrustInit1; + } +} diff --git a/wadsrc/static/zscript/hexen/teleportother.txt b/wadsrc/static/zscript/hexen/teleportother.txt new file mode 100644 index 000000000..90015b207 --- /dev/null +++ b/wadsrc/static/zscript/hexen/teleportother.txt @@ -0,0 +1,130 @@ + +// Teleport Other Artifact -------------------------------------------------- + +class ArtiTeleportOther : Inventory native +{ + Default + { + +COUNTITEM + +FLOATBOB + +INVENTORY.INVBAR + +INVENTORY.FANCYPICKUPSOUND + Inventory.PickupFlash "PickupFlash"; + Inventory.DefMaxAmount; + Inventory.Icon "ARTITELO"; + Inventory.PickupSound "misc/p_pkup"; + Inventory.PickupMessage "$TXT_ARTITELEPORTOTHER"; + Tag "$TAG_ARTITELEPORTOTHER"; + } + States + { + Spawn: + TELO ABCD 5; + Loop; + } +} + + +// Teleport Other FX -------------------------------------------------------- + +class TelOtherFX1 : Actor native +{ + Default + { + Damage 10001; + Projectile; + -ACTIVATEIMPACT + -ACTIVATEPCROSS + +BLOODLESSIMPACT + Radius 16; + Height 16; + Speed 20; + } + + action native void A_TeloSpawnA(); + action native void A_TeloSpawnB(); + action native void A_TeloSpawnC(); + action native void A_TeloSpawnD(); + action native void A_CheckTeleRing (); + + States + { + Spawn: + TRNG E 5 Bright; + TRNG D 4 Bright; + TRNG C 3 Bright A_TeloSpawnC; + TRNG B 3 Bright A_TeloSpawnB; + TRNG A 3 Bright A_TeloSpawnA; + TRNG B 3 Bright A_TeloSpawnB; + TRNG C 3 Bright A_TeloSpawnC; + TRNG D 3 Bright A_TeloSpawnD; + Goto Spawn+2; + Death: + TRNG E 3 Bright; + Stop; + } +} + + +class TelOtherFX2 : TelOtherFX1 +{ + Default + { + Speed 16; + } + States + { + Spawn: + TRNG BCDCB 4 Bright; + TRNG A 4 Bright A_CheckTeleRing; + Loop; + } +} + +class TelOtherFX3 : TelOtherFX1 +{ + Default + { + Speed 16; + } + States + { + Spawn: + TRNG CDCBA 4 Bright; + TRNG B 4 Bright A_CheckTeleRing; + Loop; + } +} + +class TelOtherFX4 : TelOtherFX1 +{ + Default + { + Speed 16; + } + States + { + Spawn: + TRNG DCBAB 4 Bright; + TRNG C 4 Bright A_CheckTeleRing; + Loop; + } + +} + +class TelOtherFX5 : TelOtherFX1 +{ + Default + { + Speed 16; + } + States + { + Spawn: + TRNG CBABC 4 Bright; + TRNG D 4 Bright A_CheckTeleRing; + Loop; + } +} + + diff --git a/wadsrc/static/zscript/hexen/wraith.txt b/wadsrc/static/zscript/hexen/wraith.txt new file mode 100644 index 000000000..a8b648a72 --- /dev/null +++ b/wadsrc/static/zscript/hexen/wraith.txt @@ -0,0 +1,236 @@ + +// Wraith ------------------------------------------------------------------- + +class Wraith : Actor +{ + Default + { + Health 150; + PainChance 25; + Speed 11; + Height 55; + Mass 75; + Damage 10; + Monster; + +NOGRAVITY +DROPOFF +FLOAT + +FLOORCLIP +TELESTOMP + SeeSound "WraithSight"; + AttackSound "WraithAttack"; + PainSound "WraithPain"; + DeathSound "WraithDeath"; + ActiveSound "WraithActive"; + HitObituary "$OB_WRAITHHIT"; + Obituary "$OB_WRAITH"; + } + + action native void A_WraithInit(); + action native void A_WraithChase(); + action native void A_WraithFX3(); + action native void A_WraithMelee(); + + States + { + Spawn: + WRTH A 10; + WRTH B 5 A_WraithInit; + Goto Look; + Look: + WRTH AB 15 A_Look; + Loop; + See: + WRTH ABCD 4 A_WraithChase; + Loop; + Pain: + WRTH A 2; + WRTH H 6 A_Pain; + Goto See; + Melee: + WRTH E 6 A_FaceTarget; + WRTH F 6 A_WraithFX3; + WRTH G 6 A_WraithMelee; + Goto See; + Missile: + WRTH E 6 A_FaceTarget; + WRTH F 6; + WRTH G 6 A_CustomMissile("WraithFX1", 32, 0); + Goto See; + Death: + WRTH I 4; + WRTH J 4 A_Scream; + WRTH KL 4; + WRTH M 4 A_NoBlocking; + WRTH N 4 A_QueueCorpse; + WRTH O 4; + WRTH PQ 5; + WRTH R -1; + Stop; + XDeath: + WRT2 A 5; + WRT2 B 5 A_Scream; + WRT2 CD 5; + WRT2 E 5 A_NoBlocking; + WRT2 F 5 A_QueueCorpse; + WRT2 G 5; + WRT2 H -1; + Stop; + Ice: + WRT2 I 5 A_FreezeDeath; + WRT2 I 1 A_FreezeDeathChunks; + Wait; + } +} + +// Buried wraith ------------------------------------------------------------ + +class WraithBuried : Wraith +{ + Default + { + Height 68; + -SHOOTABLE + -SOLID + +DONTMORPH + +DONTBLAST + +SPECIALFLOORCLIP + +STAYMORPHED + +INVISIBLE + PainChance 0; + } + + action native void A_WraithRaiseInit(); + action native void A_WraithRaise(); + + States + { + Spawn: + Goto Super::Look; + See: + WRTH A 2 A_WraithRaiseInit; + WRTH A 2 A_WraithRaise; + WRTH A 2 A_FaceTarget; + WRTH BB 2 A_WraithRaise; + Goto See + 1; + Chase: + Goto Super::See; + } +} + +// Wraith FX 1 -------------------------------------------------------------- + +class WraithFX1 : Actor +{ + Default + { + Speed 14; + Radius 10; + Height 6; + Mass 5; + Damage 5; + DamageType "Fire"; + Projectile; + +FLOORCLIP + SeeSound "WraithMissileFire"; + DeathSound "WraithMissileExplode"; + } + + action native void A_WraithFX2(); + + States + { + Spawn: + WRBL A 3 Bright; + WRBL B 3 Bright A_WraithFX2; + WRBL C 3 Bright; + Loop; + Death: + WRBL D 4 Bright; + WRBL E 4 Bright A_WraithFX2; + WRBL F 4 Bright; + WRBL GH 3 Bright A_WraithFX2; + WRBL I 3 Bright; + Stop; + } +} + +// Wraith FX 2 -------------------------------------------------------------- + +class WraithFX2 : Actor +{ + Default + { + Radius 2; + Height 5; + Mass 5; + +NOBLOCKMAP +DROPOFF + +FLOORCLIP +NOTELEPORT + } + States + { + Spawn: + WRBL JKLMNOP 4 Bright; + Stop; + } +} + +// Wraith FX 3 -------------------------------------------------------------- + +class WraithFX3 : Actor +{ + Default + { + Radius 2; + Height 5; + Mass 5; + +NOBLOCKMAP +DROPOFF +MISSILE + +FLOORCLIP +NOTELEPORT + DeathSound "Drip"; + } + States + { + Spawn: + WRBL QRS 4 Bright; + Loop; + Death: + WRBL S 4 Bright; + Stop; + } +} + +// Wraith FX 4 -------------------------------------------------------------- + +class WraithFX4 : Actor +{ + Default + { + Radius 2; + Height 5; + Mass 5; + +NOBLOCKMAP +DROPOFF +MISSILE + +NOTELEPORT + DeathSound "Drip"; + } + States + { + Spawn: + WRBL TUVW 4; + Loop; + Death: + WRBL W 10; + Stop; + } +} + +// Wraith FX 5 -------------------------------------------------------------- + +class WraithFX5 : WraithFX4 +{ + States + { + Spawn: + WRBL XYZ 7; + Loop; + Death: + WRBL Z 35; + Stop; + } +}