- converted some Hexen stuff.

This commit is contained in:
Christoph Oelckers 2016-10-17 23:27:34 +02:00
parent 1c21dbc44c
commit d66631478a
18 changed files with 883 additions and 773 deletions

View file

@ -1,20 +0,0 @@
// The Doom and Heretic players are not excluded from pickup in case
// somebody wants to use these weapons with either of those games.
ACTOR FighterWeapon : Weapon native
{
Weapon.Kickback 150
Inventory.ForbiddenTo ClericPlayer, MagePlayer
}
ACTOR ClericWeapon : Weapon native
{
Weapon.Kickback 150
Inventory.ForbiddenTo FighterPlayer, MagePlayer
}
ACTOR MageWeapon : Weapon native
{
Weapon.Kickback 150
Inventory.ForbiddenTo FighterPlayer, ClericPlayer
}

View file

@ -1,103 +0,0 @@
// The cleric ---------------------------------------------------------------
ACTOR ClericPlayer : PlayerPawn
{
Health 100
ReactionTime 0
PainChance 255
Radius 16
Height 64
Speed 1
+NOSKIN
+NODAMAGETHRUST
+NOTHRUSTWHENINVUL
PainSound "PlayerClericPain"
RadiusDamageFactor 0.25
Player.JumpZ 9
Player.Viewheight 48
Player.SpawnClass "Cleric"
Player.DisplayName "Cleric"
Player.SoundClass "cleric"
Player.ScoreIcon "CLERFACE"
Player.InvulnerabilityMode "Ghost"
Player.HealRadiusType "Health"
Player.Hexenarmor 10, 10, 25, 5, 20
Player.StartItem "CWeapMace"
Player.Portrait "P_CWALK1"
Player.WeaponSlot 1, CWeapMace
Player.WeaponSlot 2, CWeapStaff
Player.WeaponSlot 3, CWeapFlame
Player.WeaponSlot 4, CWeapWraithverge
Player.FlechetteType "ArtiPoisonBag1"
Player.ColorRange 146, 163
Player.Colorset 0, "Blue", 146, 163, 161
Player.ColorsetFile 1, "Red", "TRANTBL7", 0xB3
Player.ColorsetFile 2, "Gold", "TRANTBL8", 0x8C
Player.ColorsetFile 3, "Dull Green", "TRANTBL9", 0x41
Player.ColorsetFile 4, "Green", "TRANTBLA", 0xC9
Player.ColorsetFile 5, "Gray", "TRANTBLB", 0x30
Player.ColorsetFile 6, "Brown", "TRANTBLC", 0x72
Player.ColorsetFile 7, "Purple", "TRANTBLD", 0xEE
States
{
Spawn:
CLER A -1
Stop
See:
CLER ABCD 4
Loop
Pain:
CLER H 4
CLER H 4 A_Pain
Goto Spawn
Missile:
Melee:
CLER EFG 6
Goto Spawn
Death:
CLER I 6
CLER J 6 A_PlayerScream
CLER KL 6
CLER M 6 A_NoBlocking
CLER NOP 6
CLER Q -1
Stop
XDeath:
CLER R 5 A_PlayerScream
CLER S 5
CLER T 5 A_NoBlocking
CLER UVWXYZ 5
CLER [ -1
Stop
Ice:
CLER "\" 5 A_FreezeDeath
CLER "\" 1 A_FreezeDeathChunks
Wait
Burn:
FDTH C 5 BRIGHT A_PlaySound("*burndeath")
FDTH D 4 BRIGHT
FDTH G 5 BRIGHT
FDTH H 4 BRIGHT A_PlayerScream
FDTH I 5 BRIGHT
FDTH J 4 BRIGHT
FDTH K 5 BRIGHT
FDTH L 4 BRIGHT
FDTH M 5 BRIGHT
FDTH N 4 BRIGHT
FDTH O 5 BRIGHT
FDTH P 4 BRIGHT
FDTH Q 5 BRIGHT
FDTH R 4 BRIGHT
FDTH S 5 BRIGHT A_NoBlocking
FDTH T 4 BRIGHT
FDTH U 5 BRIGHT
FDTH V 4 BRIGHT
ACLO E 35 A_CheckPlayerDone
Wait
ACLO E 8
Stop
}
}

View file

@ -1,126 +0,0 @@
// The fighter --------------------------------------------------------------
ACTOR FighterPlayer : PlayerPawn
{
Health 100
PainChance 255
Radius 16
Height 64
Speed 1
+NOSKIN
+NODAMAGETHRUST
+NOTHRUSTWHENINVUL
PainSound "PlayerFighterPain"
RadiusDamageFactor 0.25
Player.JumpZ 9
Player.Viewheight 48
Player.SpawnClass "Fighter"
Player.DisplayName "Fighter"
Player.SoundClass "fighter"
Player.ScoreIcon "FITEFACE"
Player.HealRadiusType "Armor"
Player.Hexenarmor 15, 25, 20, 15, 5
Player.StartItem "FWeapFist"
Player.ForwardMove 1.08, 1.2
Player.SideMove 1.125, 1.475
Player.Portrait "P_FWALK1"
Player.WeaponSlot 1, FWeapFist
Player.WeaponSlot 2, FWeapAxe
Player.WeaponSlot 3, FWeapHammer
Player.WeaponSlot 4, FWeapQuietus
Player.ColorRange 246, 254
Player.Colorset 0, "Gold", 246, 254, 253
Player.ColorsetFile 1, "Red", "TRANTBL0", 0xAC
Player.ColorsetFile 2, "Blue", "TRANTBL1", 0x9D
Player.ColorsetFile 3, "Dull Green", "TRANTBL2", 0x3E
Player.ColorsetFile 4, "Green", "TRANTBL3", 0xC8
Player.ColorsetFile 5, "Gray", "TRANTBL4", 0x2D
Player.ColorsetFile 6, "Brown", "TRANTBL5", 0x6F
Player.ColorsetFile 7, "Purple", "TRANTBL6", 0xEE
States
{
Spawn:
PLAY A -1
Stop
See:
PLAY ABCD 4
Loop
Missile:
Melee:
PLAY EF 8
Goto Spawn
Pain:
PLAY G 4
PLAY G 4 A_Pain
Goto Spawn
Death:
PLAY H 6
PLAY I 6 A_PlayerScream
PLAY JK 6
PLAY L 6 A_NoBlocking
PLAY M 6
PLAY N -1
Stop
XDeath:
PLAY O 5 A_PlayerScream
PLAY P 5 A_SkullPop("BloodyFighterSkull")
PLAY R 5 A_NoBlocking
PLAY STUV 5
PLAY W -1
Stop
Ice:
PLAY X 5 A_FreezeDeath
PLAY X 1 A_FreezeDeathChunks
Wait
Burn:
FDTH A 5 BRIGHT A_PlaySound("*burndeath")
FDTH B 4 BRIGHT
FDTH G 5 BRIGHT
FDTH H 4 BRIGHT A_PlayerScream
FDTH I 5 BRIGHT
FDTH J 4 BRIGHT
FDTH K 5 BRIGHT
FDTH L 4 BRIGHT
FDTH M 5 BRIGHT
FDTH N 4 BRIGHT
FDTH O 5 BRIGHT
FDTH P 4 BRIGHT
FDTH Q 5 BRIGHT
FDTH R 4 BRIGHT
FDTH S 5 BRIGHT A_NoBlocking
FDTH T 4 BRIGHT
FDTH U 5 BRIGHT
FDTH V 4 BRIGHT
ACLO E 35 A_CheckPlayerDone
Wait
ACLO E 8
Stop
}
}
// The fighter's bloody skull --------------------------------------------------------------
Actor BloodyFighterSkull : PlayerChunk
{
Radius 4
Height 4
+NOBLOCKMAP
+DROPOFF
+LOWGRAVITY
+CANNOTPUSH
+SKYEXPLODE
+NOBLOCKMONST
+NOSKIN
States
{
Spawn:
BSKL A 0
BSKL ABCDFGH 5 A_CheckFloor("Hit")
Goto Spawn+1
Hit:
BSKL I 16 A_CheckPlayerDone
Wait
}
}

View file

@ -1,106 +0,0 @@
// Temp Small Flame --------------------------------------------------------
ACTOR FlameSmallTemp
{
+NOTELEPORT
RenderStyle Add
States
{
Spawn:
FFSM AB 3 Bright
FFSM C 2 Bright A_CountdownArg(0)
FFSM C 2 Bright
FFSM D 3 Bright
FFSM E 3 Bright A_CountdownArg(0)
Loop
}
}
// Temp Large Flame ---------------------------------------------------------
ACTOR FlameLargeTemp
{
+NOTELEPORT
RenderStyle Add
States
{
Spawn:
FFLG A 4 Bright
FFLG B 4 Bright A_CountdownArg(0)
FFLG C 4 Bright
FFLG D 4 Bright A_CountdownArg(0)
FFLG E 4 Bright
FFLG F 4 Bright A_CountdownArg(0)
FFLG G 4 Bright
FFLG H 4 Bright A_CountdownArg(0)
FFLG I 4 Bright
FFLG J 4 Bright A_CountdownArg(0)
FFLG K 4 Bright
FFLG L 4 Bright A_CountdownArg(0)
FFLG M 4 Bright
FFLG N 4 Bright A_CountdownArg(0)
FFLG O 4 Bright
FFLG P 4 Bright A_CountdownArg(0)
Goto Spawn+4
}
}
// Small Flame --------------------------------------------------------------
ACTOR FlameSmall : SwitchableDecoration
{
+NOTELEPORT
+INVISIBLE
Radius 15
RenderStyle Add
States
{
Active:
FFSM A 0 Bright A_PlaySound("Ignite")
Spawn:
FFSM A 3 Bright
FFSM A 3 Bright A_UnHideThing
FFSM ABCDE 3 Bright
Goto Spawn+2
Inactive:
FFSM A 2
FFSM B 2 A_HideThing
FFSM C 200
Wait
}
}
ACTOR FlameSmall2 : FlameSmall
{
}
// Large Flame --------------------------------------------------------------
ACTOR FlameLarge : SwitchableDecoration
{
+NOTELEPORT
+INVISIBLE
Radius 15
RenderStyle Add
States
{
Active:
FFLG A 0 Bright A_PlaySound("Ignite")
Spawn:
FFLG A 2 Bright
FFLG A 2 Bright A_UnHideThing
FFLG ABCDEFGHIJKLMNOP 4 Bright
Goto Spawn+6
Inactive:
FFLG DCB 2
FFLG A 2 A_HideThing
FFLG A 200
Wait
}
}
ACTOR FlameLarge2 : FlameLarge
{
}

View file

@ -1,27 +0,0 @@
// Buzzy fly ----------------------------------------------------------------
ACTOR LittleFly
{
+NOBLOCKMAP +NOGRAVITY
+CANPASS
Speed 6
Radius 5
Height 5
Mass 2
ActiveSound "FlyBuzz"
action native A_FlySearch();
action native A_FlyBuzz();
States
{
Spawn:
TNT1 A 20 A_FlySearch // [RH] Invisible when not flying
Loop
Buzz:
AFLY ABCD 3 A_FlyBuzz
Loop
}
}

View file

@ -1,124 +0,0 @@
ACTOR Korax
{
Health 5000
Painchance 20
Speed 10
Radius 65
Height 115
Mass 2000
Damage 15
Monster
+BOSS
+FLOORCLIP
+TELESTOMP
+DONTMORPH
+NOTARGET
+NOICEDEATH
SeeSound "KoraxSight"
AttackSound "KoraxAttack"
PainSound "KoraxPain"
DeathSound "KoraxDeath"
ActiveSound "KoraxActive"
Obituary "$OB_KORAX" // "%o was swept from the board by Korax."
action native A_KoraxChase();
action native A_KoraxDecide();
action native A_KoraxBonePop();
action native A_KoraxMissile();
action native A_KoraxCommand();
States
{
Spawn:
KORX A 5 A_Look
Loop
See:
KORX AAA 3 A_KoraxChase
KORX B 3 A_Chase
KORX BBB 3 A_KoraxChase
KORX C 0 A_PlaySound("KoraxStep")
KORX C 3 A_Chase
KORX CCC 3 A_KoraxChase
KORX D 3 A_Chase
KORX DDD 3 A_KoraxChase
KORX A 0 A_PlaySound("KoraxStep")
KORX A 3 A_Chase
Loop
Pain:
KORX H 5 A_Pain
KORX H 5
Goto See
Missile:
KORX E 2 Bright A_FaceTarget
KORX E 5 Bright A_KoraxDecide
Wait
Death:
KORX I 5
KORX J 5 A_FaceTarget
KORX K 5 A_Scream
KORX LMNOP 5
KORX Q 10
KORX R 5 A_KoraxBonePop
KORX S 5 A_NoBlocking
KORX TU 5
KORX V -1
Stop
Attack:
KORX E 4 Bright A_FaceTarget
KORX F 8 Bright A_KoraxMissile
KORX E 8 Bright
Goto See
Command:
KORX E 5 Bright A_FaceTarget
KORX W 10 Bright A_FaceTarget
KORX G 15 Bright A_KoraxCommand
KORX W 10 Bright
KORX E 5 Bright
Goto See
}
}
ACTOR KoraxSpirit
{
Speed 8
Projectile
+NOCLIP
-ACTIVATEPCROSS
-ACTIVATEIMPACT
RenderStyle Translucent
Alpha 0.4
action native A_KSpiritRoam();
States
{
Spawn:
SPIR AB 5 A_KSpiritRoam
Loop
Death:
SPIR DEFGHI 5
Stop
}
}
ACTOR KoraxBolt
{
Radius 15
Height 35
Projectile
-ACTIVATEPCROSS
-ACTIVATEIMPACT
RenderStyle Add
action native A_KBolt();
action native A_KBoltRaise();
States
{
Spawn:
MLFX I 2 Bright
MLFX J 2 Bright A_KBoltRaise
MLFX IJKLM 2 Bright A_KBolt
Stop
}
}

View file

@ -1,104 +0,0 @@
// The mage -----------------------------------------------------------------
ACTOR MagePlayer : PlayerPawn
{
Health 100
ReactionTime 0
PainChance 255
Radius 16
Height 64
Speed 1
+NOSKIN
+NODAMAGETHRUST
+NOTHRUSTWHENINVUL
PainSound "PlayerMagePain"
RadiusDamageFactor 0.25
Player.JumpZ 9
Player.Viewheight 48
Player.SpawnClass "Mage"
Player.DisplayName "Mage"
Player.SoundClass "mage"
Player.ScoreIcon "MAGEFACE"
Player.InvulnerabilityMode "Reflective"
Player.HealRadiusType "Mana"
Player.Hexenarmor 5, 5, 15, 10, 25
Player.StartItem "MWeapWand"
Player.ForwardMove 0.88, 0.92
Player.SideMove 0.875, 0.925
Player.Portrait "P_MWALK1"
Player.WeaponSlot 1, MWeapWand
Player.WeaponSlot 2, MWeapFrost
Player.WeaponSlot 3, MWeapLightning
Player.WeaponSlot 4, MWeapBloodscourge
Player.FlechetteType "ArtiPoisonBag2"
Player.ColorRange 146, 163
Player.Colorset 0, "Blue", 146, 163, 161
Player.ColorsetFile 1, "Red", "TRANTBL7", 0xB3
Player.ColorsetFile 2, "Gold", "TRANTBL8", 0x8C
Player.ColorsetFile 3, "Dull Green", "TRANTBL9", 0x41
Player.ColorsetFile 4, "Green", "TRANTBLA", 0xC9
Player.ColorsetFile 5, "Gray", "TRANTBLB", 0x30
Player.ColorsetFile 6, "Brown", "TRANTBLC", 0x72
Player.ColorsetFile 7, "Purple", "TRANTBLD", 0xEE
States
{
Spawn:
MAGE A -1
Stop
See:
MAGE ABCD 4
Loop
Missile:
Melee:
MAGE EF 8
Goto Spawn
Pain:
MAGE G 4
MAGE G 4 A_Pain
Goto Spawn
Death:
MAGE H 6
MAGE I 6 A_PlayerScream
MAGE JK 6
MAGE L 6 A_NoBlocking
MAGE M 6
MAGE N -1
Stop
XDeath:
MAGE O 5 A_PlayerScream
MAGE P 5
MAGE R 5 A_NoBlocking
MAGE STUVW 5
MAGE X -1
Stop
Ice:
MAGE Y 5 A_FreezeDeath
MAGE Y 1 A_FreezeDeathChunks
Wait
Burn:
FDTH E 5 BRIGHT A_PlaySound("*burndeath")
FDTH F 4 BRIGHT
FDTH G 5 BRIGHT
FDTH H 4 BRIGHT A_PlayerScream
FDTH I 5 BRIGHT
FDTH J 4 BRIGHT
FDTH K 5 BRIGHT
FDTH L 4 BRIGHT
FDTH M 5 BRIGHT
FDTH N 4 BRIGHT
FDTH O 5 BRIGHT
FDTH P 4 BRIGHT
FDTH Q 5 BRIGHT
FDTH R 4 BRIGHT
FDTH S 5 BRIGHT A_NoBlocking
FDTH T 4 BRIGHT
FDTH U 5 BRIGHT
FDTH V 4 BRIGHT
ACLO E 35 A_CheckPlayerDone
Wait
ACLO E 8
Stop
}
}

View file

@ -1,155 +0,0 @@
// Snout puff ---------------------------------------------------------------
ACTOR SnoutPuff
{
+NOBLOCKMAP
+NOGRAVITY
Renderstyle Translucent
Alpha 0.6
States
{
Spawn:
FHFX STUVW 4
Stop
}
}
// Snout --------------------------------------------------------------------
ACTOR Snout : Weapon
{
Weapon.SelectionOrder 10000
+WEAPON.DONTBOB
+WEAPON.MELEEWEAPON
Weapon.Kickback 150
Weapon.YAdjust 10
action native A_SnoutAttack ();
States
{
Ready:
WPIG A 1 A_WeaponReady
Loop
Deselect:
WPIG A 1 A_Lower
Loop
Select:
WPIG A 1 A_Raise
Fire:
WPIG A 4 A_SnoutAttack
WPIG B 8 A_SnoutAttack
Goto Ready
Grunt:
WPIG B 8
Goto Ready
}
}
// Pig player ---------------------------------------------------------------
ACTOR PigPlayer : PlayerPawn native
{
Health 30
ReactionTime 0
PainChance 255
Radius 16
Height 24
Speed 1
+WINDTHRUST
+NOSKIN
-PICKUP
PainSound "PigPain"
DeathSound "PigDeath"
Player.JumpZ 6
Player.Viewheight 28
Player.ForwardMove 0.96, 0.98
Player.SideMove 0.95833333, 0.975
Player.SpawnClass "Pig"
Player.SoundClass "Pig"
Player.DisplayName "Pig"
Player.MorphWeapon "Snout"
States
{
Spawn:
PIGY A -1
Stop
See:
PIGY ABCD 3
Loop
Pain:
PIGY D 4 A_PigPain
Goto Spawn
Melee:
Missile:
PIGY A 12
Goto Spawn
Death:
PIGY E 4 A_Scream
PIGY F 3 A_NoBlocking
PIGY G 4
PIGY H 3
PIGY IJK 4
PIGY L -1
Stop
Ice:
PIGY M 5 A_FreezeDeath
PIGY M 1 A_FreezeDeathChunks
Wait
}
}
// Pig (non-player) ---------------------------------------------------------
ACTOR Pig : MorphedMonster
{
Health 25
Painchance 128
Speed 10
Radius 12
Height 22
Mass 60
Monster
-COUNTKILL
+WINDTHRUST
+DONTMORPH
SeeSound "PigActive1"
PainSound "PigPain"
DeathSound "PigDeath"
ActiveSound "PigActive1"
States
{
Spawn:
PIGY B 10 A_Look
Loop
See:
PIGY ABCD 3 A_Chase
Loop
Pain:
PIGY D 4 A_PigPain
Goto See
Melee:
PIGY A 5 A_FaceTarget
PIGY A 10 A_CustomMeleeAttack(random[PigAttack](2,3), "PigAttack")
Goto See
Death:
PIGY E 4 A_Scream
PIGY F 3 A_NoBlocking
PIGY G 4 A_QueueCorpse
PIGY H 3
PIGY IJK 4
PIGY L -1
Stop
Ice:
PIGY M 5 A_FreezeDeath
PIGY M 1 A_FreezeDeathChunks
Wait
}
}

View file

@ -1,11 +1,3 @@
#include "actors/hexen/baseweapons.txt"
#include "actors/hexen/korax.txt"
#include "actors/hexen/fighterplayer.txt"
#include "actors/hexen/clericplayer.txt"
#include "actors/hexen/mageplayer.txt"
#include "actors/hexen/pig.txt"
#include "actors/hexen/flame.txt"
#include "actors/hexen/flies.txt"
#include "actors/hexen/hexenarmor.txt"
#include "actors/hexen/hexendecorations.txt"
#include "actors/hexen/hexenkeys.txt"

View file

@ -84,3 +84,56 @@ zscript/heretic/wizard.txt
zscript/heretic/ironlich.txt
zscript/heretic/dsparil.txt
zscript/heretic/chicken.txt
zscript/hexen/baseweapons.txt
zscript/hexen/korax.txt
zscript/hexen/fighterplayer.txt
zscript/hexen/clericplayer.txt
zscript/hexen/mageplayer.txt
zscript/hexen/pig.txt
zscript/hexen/flame.txt
zscript/hexen/flies.txt
/*
zscript/hexen/hexenarmor.txt
zscript/hexen/hexendecorations.txt
zscript/hexen/hexenkeys.txt
zscript/hexen/hexenspecialdecs.txt
zscript/hexen/mana.txt
zscript/hexen/puzzleitems.txt
zscript/hexen/scriptprojectiles.txt
zscript/hexen/speedboots.txt
zscript/hexen/ettin.txt
zscript/hexen/centaur.txt
zscript/hexen/demons.txt
zscript/hexen/firedemon.txt
zscript/hexen/fog.txt
zscript/hexen/summon.txt
zscript/hexen/flechette.txt
zscript/hexen/clericboss.txt
zscript/hexen/fighterboss.txt
zscript/hexen/mageboss.txt
zscript/hexen/bats.txt
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
zscript/hexen/magewand.txt
zscript/hexen/magecone.txt
zscript/hexen/magelightning.txt
zscript/hexen/magestaff.txt
zscript/hexen/fighterfist.txt
zscript/hexen/fighteraxe.txt
zscript/hexen/fighterhammer.txt
zscript/hexen/fighterquietus.txt
zscript/hexen/dragon.txt
zscript/hexen/healingradius.txt
zscript/hexen/teleportother.txt
zscript/hexen/iceguy.txt
zscript/hexen/serpent.txt
zscript/hexen/spike.txt
zscript/hexen/wraith.txt
zscript/hexen/heresiarch.txt
*/

View file

@ -0,0 +1,29 @@
// The Doom and Heretic players are not excluded from pickup in case
// somebody wants to use these weapons with either of those games.
class FighterWeapon : Weapon native
{
Default
{
Weapon.Kickback 150;
Inventory.ForbiddenTo "ClericPlayer", "MagePlayer";
}
}
class ClericWeapon : Weapon native
{
Default
{
Weapon.Kickback 150;
Inventory.ForbiddenTo "FighterPlayer", "MagePlayer";
}
}
class MageWeapon : Weapon native
{
Default
{
Weapon.Kickback 150;
Inventory.ForbiddenTo "FighterPlayer", "ClericPlayer";
}
}

View file

@ -0,0 +1,106 @@
// The cleric ---------------------------------------------------------------
class ClericPlayer : PlayerPawn
{
Default
{
Health 100;
ReactionTime 0;
PainChance 255;
Radius 16;
Height 64;
Speed 1;
+NOSKIN
+NODAMAGETHRUST
+PLAYERPAWN.NOTHRUSTWHENINVUL
PainSound "PlayerClericPain";
RadiusDamageFactor 0.25;
Player.JumpZ 9;
Player.Viewheight 48;
Player.SpawnClass "Cleric";
Player.DisplayName "Cleric";
Player.SoundClass "cleric";
Player.ScoreIcon "CLERFACE";
Player.InvulnerabilityMode "Ghost";
Player.HealRadiusType "Health";
Player.Hexenarmor 10, 10, 25, 5, 20;
Player.StartItem "CWeapMace";
Player.Portrait "P_CWALK1";
Player.WeaponSlot 1, "CWeapMace";
Player.WeaponSlot 2, "CWeapStaff";
Player.WeaponSlot 3, "CWeapFlame";
Player.WeaponSlot 4, "CWeapWraithverge";
Player.FlechetteType "ArtiPoisonBag1";
Player.ColorRange 146, 163;
Player.Colorset 0, "Blue", 146, 163, 161;
Player.ColorsetFile 1, "Red", "TRANTBL7", 0xB3;
Player.ColorsetFile 2, "Gold", "TRANTBL8", 0x8C;
Player.ColorsetFile 3, "Dull Green", "TRANTBL9", 0x41;
Player.ColorsetFile 4, "Green", "TRANTBLA", 0xC9;
Player.ColorsetFile 5, "Gray", "TRANTBLB", 0x30;
Player.ColorsetFile 6, "Brown", "TRANTBLC", 0x72;
Player.ColorsetFile 7, "Purple", "TRANTBLD", 0xEE;
}
States
{
Spawn:
CLER A -1;
Stop;
See:
CLER ABCD 4;
Loop;
Pain:
CLER H 4;
CLER H 4 A_Pain;
Goto Spawn;
Missile:
Melee:
CLER EFG 6;
Goto Spawn;
Death:
CLER I 6;
CLER J 6 A_PlayerScream;
CLER KL 6;
CLER M 6 A_NoBlocking;
CLER NOP 6;
CLER Q -1;
Stop;
XDeath:
CLER R 5 A_PlayerScream;
CLER S 5;
CLER T 5 A_NoBlocking;
CLER UVWXYZ 5;
CLER [ -1;
Stop;
Ice:
CLER \ 5 A_FreezeDeath;
CLER \ 1 A_FreezeDeathChunks;
Wait;
Burn:
FDTH C 5 BRIGHT A_PlaySound("*burndeath");
FDTH D 4 BRIGHT;
FDTH G 5 BRIGHT;
FDTH H 4 BRIGHT A_PlayerScream;
FDTH I 5 BRIGHT;
FDTH J 4 BRIGHT;
FDTH K 5 BRIGHT;
FDTH L 4 BRIGHT;
FDTH M 5 BRIGHT;
FDTH N 4 BRIGHT;
FDTH O 5 BRIGHT;
FDTH P 4 BRIGHT;
FDTH Q 5 BRIGHT;
FDTH R 4 BRIGHT;
FDTH S 5 BRIGHT A_NoBlocking;
FDTH T 4 BRIGHT;
FDTH U 5 BRIGHT;
FDTH V 4 BRIGHT;
ACLO E 35 A_CheckPlayerDone;
Wait;
ACLO E 8;
Stop;
}
}

View file

@ -0,0 +1,133 @@
// The fighter --------------------------------------------------------------
class FighterPlayer : PlayerPawn
{
Default
{
Health 100;
PainChance 255;
Radius 16;
Height 64;
Speed 1;
+NOSKIN
+NODAMAGETHRUST
+PLAYERPAWN.NOTHRUSTWHENINVUL
PainSound "PlayerFighterPain";
RadiusDamageFactor 0.25;
Player.JumpZ 9;
Player.Viewheight 48;
Player.SpawnClass "Fighter";
Player.DisplayName "Fighter";
Player.SoundClass "fighter";
Player.ScoreIcon "FITEFACE";
Player.HealRadiusType "Armor";
Player.Hexenarmor 15, 25, 20, 15, 5;
Player.StartItem "FWeapFist";
Player.ForwardMove 1.08, 1.2;
Player.SideMove 1.125, 1.475;
Player.Portrait "P_FWALK1";
Player.WeaponSlot 1, "FWeapFist";
Player.WeaponSlot 2, "FWeapAxe";
Player.WeaponSlot 3, "FWeapHammer";
Player.WeaponSlot 4, "FWeapQuietus";
Player.ColorRange 246, 254;
Player.Colorset 0, "Gold", 246, 254, 253;
Player.ColorsetFile 1, "Red", "TRANTBL0", 0xAC;
Player.ColorsetFile 2, "Blue", "TRANTBL1", 0x9D;
Player.ColorsetFile 3, "Dull Green", "TRANTBL2", 0x3E;
Player.ColorsetFile 4, "Green", "TRANTBL3", 0xC8;
Player.ColorsetFile 5, "Gray", "TRANTBL4", 0x2D;
Player.ColorsetFile 6, "Brown", "TRANTBL5", 0x6F;
Player.ColorsetFile 7, "Purple", "TRANTBL6", 0xEE;
}
States
{
Spawn:
PLAY A -1;
Stop;
See:
PLAY ABCD 4;
Loop;
Missile:
Melee:
PLAY EF 8;
Goto Spawn;
Pain:
PLAY G 4;
PLAY G 4 A_Pain;
Goto Spawn;
Death:
PLAY H 6;
PLAY I 6 A_PlayerScream;
PLAY JK 6;
PLAY L 6 A_NoBlocking;
PLAY M 6;
PLAY N -1;
Stop;
XDeath:
PLAY O 5 A_PlayerScream;
PLAY P 5 A_SkullPop("BloodyFighterSkull");
PLAY R 5 A_NoBlocking;
PLAY STUV 5;
PLAY W -1;
Stop;
Ice:
PLAY X 5 A_FreezeDeath;
PLAY X 1 A_FreezeDeathChunks;
Wait;
Burn:
FDTH A 5 BRIGHT A_PlaySound("*burndeath");
FDTH B 4 BRIGHT;
FDTH G 5 BRIGHT;
FDTH H 4 BRIGHT A_PlayerScream;
FDTH I 5 BRIGHT;
FDTH J 4 BRIGHT;
FDTH K 5 BRIGHT;
FDTH L 4 BRIGHT;
FDTH M 5 BRIGHT;
FDTH N 4 BRIGHT;
FDTH O 5 BRIGHT;
FDTH P 4 BRIGHT;
FDTH Q 5 BRIGHT;
FDTH R 4 BRIGHT;
FDTH S 5 BRIGHT A_NoBlocking;
FDTH T 4 BRIGHT;
FDTH U 5 BRIGHT;
FDTH V 4 BRIGHT;
ACLO E 35 A_CheckPlayerDone;
Wait;
ACLO E 8;
Stop;
}
}
// The fighter's bloody skull --------------------------------------------------------------
class BloodyFighterSkull : PlayerChunk
{
Default
{
Radius 4;
Height 4;
Gravity 0.125;
+NOBLOCKMAP
+DROPOFF
+CANNOTPUSH
+SKYEXPLODE
+NOBLOCKMONST
+NOSKIN
}
States
{
Spawn:
BSKL A 0;
BSKL ABCDFGH 5 A_CheckFloor("Hit");
Goto Spawn+1;
Hit:
BSKL I 16 A_CheckPlayerDone;
Wait;
}
}

View file

@ -0,0 +1,122 @@
// Temp Small Flame --------------------------------------------------------
class FlameSmallTemp : Actor
{
Default
{
+NOTELEPORT
RenderStyle "Add";
}
States
{
Spawn:
FFSM AB 3 Bright;
FFSM C 2 Bright A_CountdownArg(0);
FFSM C 2 Bright;
FFSM D 3 Bright;
FFSM E 3 Bright A_CountdownArg(0);
Loop;
}
}
// Temp Large Flame ---------------------------------------------------------
class FlameLargeTemp : Actor
{
Default
{
+NOTELEPORT
RenderStyle "Add";
}
States
{
Spawn:
FFLG A 4 Bright;
FFLG B 4 Bright A_CountdownArg(0);
FFLG C 4 Bright;
FFLG D 4 Bright A_CountdownArg(0);
FFLG E 4 Bright;
FFLG F 4 Bright A_CountdownArg(0);
FFLG G 4 Bright;
FFLG H 4 Bright A_CountdownArg(0);
FFLG I 4 Bright;
FFLG J 4 Bright A_CountdownArg(0);
FFLG K 4 Bright;
FFLG L 4 Bright A_CountdownArg(0);
FFLG M 4 Bright;
FFLG N 4 Bright A_CountdownArg(0);
FFLG O 4 Bright;
FFLG P 4 Bright A_CountdownArg(0);
Goto Spawn+4;
}
}
// Small Flame --------------------------------------------------------------
class FlameSmall : SwitchableDecoration
{
Default
{
+NOTELEPORT
+INVISIBLE
Radius 15;
RenderStyle "Add";
}
States
{
Active:
FFSM A 0 Bright A_PlaySound("Ignite");
Spawn:
FFSM A 3 Bright;
FFSM A 3 Bright A_UnHideThing;
FFSM ABCDE 3 Bright;
Goto Spawn+2;
Inactive:
FFSM A 2;
FFSM B 2 A_HideThing;
FFSM C 200;
Wait;
}
}
class FlameSmall2 : FlameSmall
{
}
// Large Flame --------------------------------------------------------------
class FlameLarge : SwitchableDecoration
{
Default
{
+NOTELEPORT
+INVISIBLE
Radius 15;
RenderStyle "Add";
}
States
{
Active:
FFLG A 0 Bright A_PlaySound("Ignite");
Spawn:
FFLG A 2 Bright;
FFLG A 2 Bright A_UnHideThing;
FFLG ABCDEFGHIJKLMNOP 4 Bright;
Goto Spawn+6;
Inactive:
FFLG DCB 2;
FFLG A 2 A_HideThing;
FFLG A 200;
Wait;
}
}
class FlameLarge2 : FlameLarge
{
}

View file

@ -0,0 +1,30 @@
// Buzzy fly ----------------------------------------------------------------
class LittleFly : Actor
{
Default
{
+NOBLOCKMAP +NOGRAVITY
+CANPASS
Speed 6;
Radius 5;
Height 5;
Mass 2;
ActiveSound "FlyBuzz";
}
action native void A_FlySearch();
action native void A_FlyBuzz();
States
{
Spawn:
TNT1 A 20 A_FlySearch; // [RH] Invisible when not flying
Loop;
Buzz:
AFLY ABCD 3 A_FlyBuzz;
Loop;
}
}

View file

@ -0,0 +1,133 @@
class Korax : Actor
{
Default
{
Health 5000;
Painchance 20;
Speed 10;
Radius 65;
Height 115;
Mass 2000;
Damage 15;
Monster;
+BOSS
+FLOORCLIP
+TELESTOMP
+DONTMORPH
+NOTARGET
+NOICEDEATH
SeeSound "KoraxSight";
AttackSound "KoraxAttack";
PainSound "KoraxPain";
DeathSound "KoraxDeath";
ActiveSound "KoraxActive";
Obituary "$OB_KORAX";
}
action native void A_KoraxChase();
action native void A_KoraxDecide();
action native void A_KoraxBonePop();
action native void A_KoraxMissile();
action native void A_KoraxCommand();
States
{
Spawn:
KORX A 5 A_Look;
Loop;
See:
KORX AAA 3 A_KoraxChase;
KORX B 3 A_Chase;
KORX BBB 3 A_KoraxChase;
KORX C 0 A_PlaySound("KoraxStep");
KORX C 3 A_Chase;
KORX CCC 3 A_KoraxChase;
KORX D 3 A_Chase;
KORX DDD 3 A_KoraxChase;
KORX A 0 A_PlaySound("KoraxStep");
KORX A 3 A_Chase;
Loop;
Pain:
KORX H 5 A_Pain;
KORX H 5;
Goto See;
Missile:
KORX E 2 Bright A_FaceTarget;
KORX E 5 Bright A_KoraxDecide;
Wait;
Death:
KORX I 5;
KORX J 5 A_FaceTarget;
KORX K 5 A_Scream;
KORX LMNOP 5;
KORX Q 10;
KORX R 5 A_KoraxBonePop;
KORX S 5 A_NoBlocking;
KORX TU 5;
KORX V -1;
Stop;
Attack:
KORX E 4 Bright A_FaceTarget;
KORX F 8 Bright A_KoraxMissile;
KORX E 8 Bright;
Goto See;
Command:
KORX E 5 Bright A_FaceTarget;
KORX W 10 Bright A_FaceTarget;
KORX G 15 Bright A_KoraxCommand;
KORX W 10 Bright;
KORX E 5 Bright;
Goto See;
}
}
class KoraxSpirit : Actor
{
Default
{
Speed 8;
Projectile;
+NOCLIP
-ACTIVATEPCROSS
-ACTIVATEIMPACT
RenderStyle "Translucent";
Alpha 0.4;
}
action native void A_KSpiritRoam();
States
{
Spawn:
SPIR AB 5 A_KSpiritRoam;
Loop;
Death:
SPIR DEFGHI 5;
Stop;
}
}
class KoraxBolt : Actor
{
Default
{
Radius 15;
Height 35;
Projectile;
-ACTIVATEPCROSS
-ACTIVATEIMPACT
RenderStyle "Add";
}
action native void A_KBolt();
action native void A_KBoltRaise();
States
{
Spawn:
MLFX I 2 Bright;
MLFX J 2 Bright A_KBoltRaise;
MLFX IJKLM 2 Bright A_KBolt;
Stop;
}
}

View file

@ -0,0 +1,107 @@
// The mage -----------------------------------------------------------------
class MagePlayer : PlayerPawn
{
Default
{
Health 100;
ReactionTime 0;
PainChance 255;
Radius 16;
Height 64;
Speed 1;
+NOSKIN
+NODAMAGETHRUST
+PLAYERPAWN.NOTHRUSTWHENINVUL
PainSound "PlayerMagePain";
RadiusDamageFactor 0.25;
Player.JumpZ 9;
Player.Viewheight 48;
Player.SpawnClass "Mage";
Player.DisplayName "Mage";
Player.SoundClass "mage";
Player.ScoreIcon "MAGEFACE";
Player.InvulnerabilityMode "Reflective";
Player.HealRadiusType "Mana";
Player.Hexenarmor 5, 5, 15, 10, 25;
Player.StartItem "MWeapWand";
Player.ForwardMove 0.88, 0.92;
Player.SideMove 0.875, 0.925;
Player.Portrait "P_MWALK1";
Player.WeaponSlot 1, "MWeapWand";
Player.WeaponSlot 2, "MWeapFrost";
Player.WeaponSlot 3, "MWeapLightning";
Player.WeaponSlot 4, "MWeapBloodscourge";
Player.FlechetteType "ArtiPoisonBag2";
Player.ColorRange 146, 163;
Player.Colorset 0, "Blue", 146, 163, 161;
Player.ColorsetFile 1, "Red", "TRANTBL7", 0xB3;
Player.ColorsetFile 2, "Gold", "TRANTBL8", 0x8C;
Player.ColorsetFile 3, "Dull Green", "TRANTBL9", 0x41;
Player.ColorsetFile 4, "Green", "TRANTBLA", 0xC9;
Player.ColorsetFile 5, "Gray", "TRANTBLB", 0x30;
Player.ColorsetFile 6, "Brown", "TRANTBLC", 0x72;
Player.ColorsetFile 7, "Purple", "TRANTBLD", 0xEE;
}
States
{
Spawn:
MAGE A -1;
Stop;
See:
MAGE ABCD 4;
Loop;
Missile:
Melee:
MAGE EF 8;
Goto Spawn;
Pain:
MAGE G 4;
MAGE G 4 A_Pain;
Goto Spawn;
Death:
MAGE H 6;
MAGE I 6 A_PlayerScream;
MAGE JK 6;
MAGE L 6 A_NoBlocking;
MAGE M 6;
MAGE N -1;
Stop;
XDeath:
MAGE O 5 A_PlayerScream;
MAGE P 5;
MAGE R 5 A_NoBlocking;
MAGE STUVW 5;
MAGE X -1;
Stop;
Ice:
MAGE Y 5 A_FreezeDeath;
MAGE Y 1 A_FreezeDeathChunks;
Wait;
Burn:
FDTH E 5 BRIGHT A_PlaySound("*burndeath");
FDTH F 4 BRIGHT;
FDTH G 5 BRIGHT;
FDTH H 4 BRIGHT A_PlayerScream;
FDTH I 5 BRIGHT;
FDTH J 4 BRIGHT;
FDTH K 5 BRIGHT;
FDTH L 4 BRIGHT;
FDTH M 5 BRIGHT;
FDTH N 4 BRIGHT;
FDTH O 5 BRIGHT;
FDTH P 4 BRIGHT;
FDTH Q 5 BRIGHT;
FDTH R 4 BRIGHT;
FDTH S 5 BRIGHT A_NoBlocking;
FDTH T 4 BRIGHT;
FDTH U 5 BRIGHT;
FDTH V 4 BRIGHT;
ACLO E 35 A_CheckPlayerDone;
Wait;
ACLO E 8;
Stop;
}
}

View file

@ -0,0 +1,170 @@
// Snout puff ---------------------------------------------------------------
class SnoutPuff : Actor
{
Default
{
+NOBLOCKMAP
+NOGRAVITY
Renderstyle "Translucent";
Alpha 0.6;
}
States
{
Spawn:
FHFX STUVW 4;
Stop;
}
}
// Snout --------------------------------------------------------------------
class Snout : Weapon
{
Default
{
Weapon.SelectionOrder 10000;
+WEAPON.DONTBOB
+WEAPON.MELEEWEAPON
Weapon.Kickback 150;
Weapon.YAdjust 10;
}
action native void A_SnoutAttack ();
States
{
Ready:
WPIG A 1 A_WeaponReady;
Loop;
Deselect:
WPIG A 1 A_Lower;
Loop;
Select:
WPIG A 1 A_Raise;
Fire:
WPIG A 4 A_SnoutAttack;
WPIG B 8 A_SnoutAttack;
Goto Ready;
Grunt:
WPIG B 8;
Goto Ready;
}
}
// Pig player ---------------------------------------------------------------
class PigPlayer : PlayerPawn native
{
Default
{
Health 30;
ReactionTime 0;
PainChance 255;
Radius 16;
Height 24;
Speed 1;
+WINDTHRUST
+NOSKIN
-PICKUP
PainSound "PigPain";
DeathSound "PigDeath";
Player.JumpZ 6;
Player.Viewheight 28;
Player.ForwardMove 0.96, 0.98;
Player.SideMove 0.95833333, 0.975;
Player.SpawnClass "Pig";
Player.SoundClass "Pig";
Player.DisplayName "Pig";
Player.MorphWeapon "Snout";
}
States
{
Spawn:
PIGY A -1;
Stop;
See:
PIGY ABCD 3;
Loop;
Pain:
PIGY D 4 A_PigPain;
Goto Spawn;
Melee:
Missile:
PIGY A 12;
Goto Spawn;
Death:
PIGY E 4 A_Scream;
PIGY F 3 A_NoBlocking;
PIGY G 4;
PIGY H 3;
PIGY IJK 4;
PIGY L -1;
Stop;
Ice:
PIGY M 5 A_FreezeDeath;
PIGY M 1 A_FreezeDeathChunks;
Wait;
}
}
// Pig (non-player) ---------------------------------------------------------
class Pig : MorphedMonster
{
Default
{
Health 25;
Painchance 128;
Speed 10;
Radius 12;
Height 22;
Mass 60;
Monster;
-COUNTKILL
+WINDTHRUST
+DONTMORPH
SeeSound "PigActive1";
PainSound "PigPain";
DeathSound "PigDeath";
ActiveSound "PigActive1";
}
States
{
Spawn:
PIGY B 10 A_Look;
Loop;
See:
PIGY ABCD 3 A_Chase;
Loop;
Pain:
PIGY D 4 A_PigPain;
Goto See;
Melee:
PIGY A 5 A_FaceTarget;
PIGY A 10 A_CustomMeleeAttack(random[PigAttack](2,3), "PigAttack");
Goto See;
Death:
PIGY E 4 A_Scream;
PIGY F 3 A_NoBlocking;
PIGY G 4 A_QueueCorpse;
PIGY H 3;
PIGY IJK 4;
PIGY L -1;
Stop;
Ice:
PIGY M 5 A_FreezeDeath;
PIGY M 1 A_FreezeDeathChunks;
Wait;
}
}