- converted the remaining Hexen actors.

This commit is contained in:
Christoph Oelckers 2016-10-18 18:11:13 +02:00
parent 2c1d9a7a96
commit 1bdc1ccb6c
41 changed files with 2999 additions and 2753 deletions

View file

@ -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
}
}

View file

@ -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
}
}

View file

@ -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
}
}

View file

@ -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
}
}

View file

@ -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
}
}

View file

@ -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
}
}

View file

@ -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
}
}

View file

@ -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
}
}

View file

@ -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
}
}

View file

@ -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
}
}

View file

@ -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
}
}

View file

@ -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
}
}

View file

@ -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<Actor> floor = "LightningFloor", class<Actor> 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
}
}

View file

@ -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
}
}

View file

@ -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
}
}

View file

@ -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
}
}

View file

@ -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
}
}

View file

@ -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
}
}

View file

@ -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
}
}

View file

@ -1675,8 +1675,8 @@ ACTOR Meat native
ACTOR Junk : Meat
{
states
{
States
{
Spawn:
JUNK A 700
Stop

View file

@ -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"

View file

@ -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
*/

View file

@ -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;
}
}

View file

@ -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;
}
}

View file

@ -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;
}
}

View file

@ -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;
}
}

View file

@ -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;
}
}

View file

@ -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;
}
}

View file

@ -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;
}
}

View file

@ -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;
}
}

View file

@ -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;
}
}

View file

@ -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;
}
}

View file

@ -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;
}
}

View file

@ -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;
}
}

View file

@ -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<Actor> floor = "LightningFloor", class<Actor> 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;
}
}

View file

@ -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;
}
}

View file

@ -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;
}
}

View file

@ -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;
}
}

View file

@ -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;
}
}

View file

@ -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;
}
}

View file

@ -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;
}
}