- converted all of Doom's actors.

- fixed a few problems that were encountered during conversion:
 * action specials as action functions were not recognized by the parser.
 * Player.StartItem could not be parsed.
 * disabled the naming hack for PowerupType. ZScript, unlike DECORATE will never prepend 'Power' to the power's name, it always needs to specified by its full name.
 * states and defaults were not checked for empty bodies.
 * the scope qualifier for goto labels was not properly converted to a string, because it is an ENamedName, not an FName.
This commit is contained in:
Christoph Oelckers 2016-10-14 20:08:41 +02:00
parent 9e2830a3db
commit 784f7ed671
58 changed files with 4377 additions and 3903 deletions

View file

@ -2431,7 +2431,7 @@ DEFINE_CLASS_PROPERTY_PREFIX(powerup, type, S, PowerupGiver)
// Yuck! What was I thinking when I decided to prepend "Power" to the name?
// Now it's too late to change it...
PClassActor *cls = PClass::FindActor(str);
if (cls == NULL || !cls->IsDescendantOf(RUNTIME_CLASS(APowerup)))
if (cls == NULL || !cls->IsDescendantOf(RUNTIME_CLASS(APowerup)) && !bag.fromZScript)
{
FString st;
st.Format("%s%s", strnicmp(str, "power", 5)? "Power" : "", str);

View file

@ -458,6 +458,18 @@ state_flow_type(X) ::= GOTO(T) IDENTIFIER(C) SCOPE dottable_id(A) state_goto_off
X = flow;
}
state_flow_type(X) ::= GOTO(T) SUPER(C) SCOPE dottable_id(A) state_goto_offset(B).
{
NEW_AST_NODE(StateGoto, flow, T);
flow->Label = A;
flow->Offset = B;
NEW_AST_NODE(Identifier,id,C);
id->Id = NAME_Super;
flow->Qualifier =id;
X = flow;
}
state_goto_offset(X) ::= . { X = NULL; }
state_goto_offset(X) ::= ADD expr(A). { X = A; /*X-overwrites-A*/ } /* Must evaluate to a non-negative integer constant. */

View file

@ -1657,7 +1657,7 @@ void ZCCCompiler::DispatchProperty(FPropertyInfo *prop, ZCC_PropertyStmt *proper
// Skip the DECORATE 'no comma' marker
if (*p == '_') p++;
else if (*p == 0)
if (*p == 0)
{
if (exp != property->Values)
{
@ -1834,7 +1834,7 @@ void ZCCCompiler::InitDefaults()
for (auto d : c->Defaults)
{
auto content = d->Content;
do
if (content != nullptr) do
{
switch (content->NodeType)
{
@ -1870,7 +1870,7 @@ void ZCCCompiler::InitFunctions()
{
TArray<PType *> rets(1);
TArray<PType *> args;
TArray<DWORD> argflags;
TArray<uint32_t> argflags;
TArray<ENamedName> argnames;
for (auto c : Classes)
@ -2032,8 +2032,13 @@ FxExpression *ZCCCompiler::SetupActionFunction(PClassActor *cls, ZCC_TreeNode *a
}
else
{
Error(af, "%s: action function not found in %s", FName(id->Identifier).GetChars(), cls->TypeName.GetChars());
return nullptr;
// it may also be an action special so check that first before printing an error.
if (!P_FindLineSpecial(FName(id->Identifier).GetChars()))
{
Error(af, "%s: action function not found in %s", FName(id->Identifier).GetChars(), cls->TypeName.GetChars());
return nullptr;
}
// Action specials fall through to the code generator.
}
}
return ConvertAST(af);
@ -2074,7 +2079,7 @@ void ZCCCompiler::CompileStates()
for (auto s : c->States)
{
auto st = s->Body;
do
if (st != nullptr) do
{
switch (st->NodeType)
{
@ -2187,7 +2192,7 @@ void ZCCCompiler::CompileStates()
statename = "";
if (sg->Qualifier != nullptr)
{
statename << sg->Qualifier->Id << "::";
statename << FName(sg->Qualifier->Id) << "::";
}
auto part = sg->Label;
do

View file

@ -1,85 +0,0 @@
//===========================================================================
//
// Arachnotron
//
//===========================================================================
ACTOR Arachnotron
{
Health 500
Radius 64
Height 64
Mass 600
Speed 12
PainChance 128
Monster
+FLOORCLIP
+BOSSDEATH
SeeSound "baby/sight"
PainSound "baby/pain"
DeathSound "baby/death"
ActiveSound "baby/active"
Obituary "$OB_BABY"
States
{
Spawn:
BSPI AB 10 A_Look
Loop
See:
BSPI A 20
BSPI A 3 A_BabyMetal
BSPI ABBCC 3 A_Chase
BSPI D 3 A_BabyMetal
BSPI DEEFF 3 A_Chase
Goto See+1
Missile:
BSPI A 20 BRIGHT A_FaceTarget
BSPI G 4 BRIGHT A_BspiAttack
BSPI H 4 BRIGHT
BSPI H 1 BRIGHT A_SpidRefire
Goto Missile+1
Pain:
BSPI I 3
BSPI I 3 A_Pain
Goto See+1
Death:
BSPI J 20 A_Scream
BSPI K 7 A_NoBlocking
BSPI LMNO 7
BSPI P -1 A_BossDeath
Stop
Raise:
BSPI P 5
BSPI ONMLKJ 5
Goto See+1
}
}
//===========================================================================
//
// Arachnotron plasma
//
//===========================================================================
ACTOR ArachnotronPlasma
{
Radius 13
Height 8
Speed 25
Damage 5
Projectile
+RANDOMIZE
RenderStyle Add
Alpha 0.75
SeeSound "baby/attack"
DeathSound "baby/shotx"
States
{
Spawn:
APLS AB 5 BRIGHT
Loop
Death:
APBX ABCDE 5 BRIGHT
Stop
}
}

View file

@ -1,83 +0,0 @@
//===========================================================================
//
// Arch Vile
//
//===========================================================================
ACTOR Archvile
{
Health 700
Radius 20
Height 56
Mass 500
Speed 15
PainChance 10
Monster
MaxTargetRange 896
+QUICKTORETALIATE
+FLOORCLIP
+NOTARGET
SeeSound "vile/sight"
PainSound "vile/pain"
DeathSound "vile/death"
ActiveSound "vile/active"
MeleeSound "vile/stop"
Obituary "$OB_VILE"
States
{
Spawn:
VILE AB 10 A_Look
Loop
See:
VILE AABBCCDDEEFF 2 A_VileChase
Loop
Missile:
VILE G 0 BRIGHT A_VileStart
VILE G 10 BRIGHT A_FaceTarget
VILE H 8 BRIGHT A_VileTarget
VILE IJKLMN 8 BRIGHT A_FaceTarget
VILE O 8 BRIGHT A_VileAttack
VILE P 20 BRIGHT
Goto See
Heal:
VILE "[\]" 10 BRIGHT
Goto See
Pain:
VILE Q 5
VILE Q 5 A_Pain
Goto See
Death:
VILE Q 7
VILE R 7 A_Scream
VILE S 7 A_NoBlocking
VILE TUVWXY 7
VILE Z -1
Stop
}
}
//===========================================================================
//
// Arch Vile Fire
//
//===========================================================================
ACTOR ArchvileFire
{
+NOBLOCKMAP +NOGRAVITY
RenderStyle Add
Alpha 1
States
{
Spawn:
FIRE A 2 BRIGHT A_StartFire
FIRE BAB 2 BRIGHT A_Fire
FIRE C 2 BRIGHT A_FireCrackle
FIRE BCBCDCDCDEDED 2 BRIGHT A_Fire
FIRE E 2 BRIGHT A_FireCrackle
FIRE FEFEFGHGHGH 2 BRIGHT A_Fire
Stop
}
}

View file

@ -1,120 +0,0 @@
//===========================================================================
//
// Boss Brain
//
//===========================================================================
ACTOR BossBrain
{
Health 250
Mass 10000000
PainChance 255
+SOLID +SHOOTABLE
+NOICEDEATH
+OLDRADIUSDMG
PainSound "brain/pain"
DeathSound "brain/death"
States
{
BrainExplode:
MISL BC 10 Bright
MISL D 10 A_BrainExplode
Stop
Spawn:
BBRN A -1
Stop
Pain:
BBRN B 36 A_BrainPain
Goto Spawn
Death:
BBRN A 100 A_BrainScream
BBRN AA 10
BBRN A -1 A_BrainDie
Stop
}
}
//===========================================================================
//
// Boss Eye
//
//===========================================================================
ACTOR BossEye
{
Height 32
+NOBLOCKMAP
+NOSECTOR
States
{
Spawn:
SSWV A 10 A_Look
Loop
See:
SSWV A 181 A_BrainAwake
SSWV A 150 A_BrainSpit
Wait
}
}
//===========================================================================
//
// Boss Target
//
//===========================================================================
ACTOR BossTarget : SpecialSpot
{
Height 32
+NOBLOCKMAP
+NOSECTOR
}
//===========================================================================
//
// Spawn shot
//
//===========================================================================
ACTOR SpawnShot
{
Radius 6
Height 32
Speed 10
Damage 3
Projectile
+NOCLIP
-ACTIVATEPCROSS
+RANDOMIZE
SeeSound "brain/spit"
DeathSound "brain/cubeboom"
States
{
Spawn:
BOSF A 3 BRIGHT A_SpawnSound
BOSF BCD 3 BRIGHT A_SpawnFly
Loop
}
}
//===========================================================================
//
// Spawn fire
//
//===========================================================================
ACTOR SpawnFire
{
Height 78
+NOBLOCKMAP
+NOGRAVITY
RenderStyle Add
States
{
Spawn:
FIRE ABCDEFGH 4 Bright A_Fire
Stop
}
}

View file

@ -1,131 +0,0 @@
//===========================================================================
//
// Baron of Hell
//
//===========================================================================
ACTOR BaronOfHell
{
Health 1000
Radius 24
Height 64
Mass 1000
Speed 8
PainChance 50
Monster
+FLOORCLIP
+BOSSDEATH
SeeSound "baron/sight"
PainSound "baron/pain"
DeathSound "baron/death"
ActiveSound "baron/active"
Obituary "$OB_BARON"
HitObituary "$OB_BARONHIT"
States
{
Spawn:
BOSS AB 10 A_Look
Loop
See:
BOSS AABBCCDD 3 A_Chase
Loop
Melee:
Missile:
BOSS EF 8 A_FaceTarget
BOSS G 8 A_BruisAttack
Goto See
Pain:
BOSS H 2
BOSS H 2 A_Pain
Goto See
Death:
BOSS I 8
BOSS J 8 A_Scream
BOSS K 8
BOSS L 8 A_NoBlocking
BOSS MN 8
BOSS O -1 A_BossDeath
Stop
Raise:
BOSS O 8
BOSS NMLKJI 8
Goto See
}
}
//===========================================================================
//
// Hell Knight
//
//===========================================================================
ACTOR HellKnight : BaronOfHell
{
Health 500
-BOSSDEATH
SeeSound "knight/sight"
ActiveSound "knight/active"
PainSound "knight/pain"
DeathSound "knight/death"
HitObituary "$OB_KNIGHTHIT"
Obituary "$OB_KNIGHT"
States
{
Spawn:
BOS2 AB 10 A_Look
Loop
See:
BOS2 AABBCCDD 3 A_Chase
Loop
Melee:
Missile:
BOS2 EF 8 A_FaceTarget
BOS2 G 8 A_BruisAttack
Goto See
Pain:
BOS2 H 2
BOS2 H 2 A_Pain
Goto See
Death:
BOS2 I 8
BOS2 J 8 A_Scream
BOS2 K 8
BOS2 L 8 A_NoBlocking
BOS2 MN 8
BOS2 O -1
Stop
Raise:
BOS2 O 8
BOS2 NMLKJI 8
Goto See
}
}
//===========================================================================
//
// Baron slime ball
//
//===========================================================================
ACTOR BaronBall
{
Radius 6
Height 16
Speed 15
FastSpeed 20
Damage 8
Projectile
+RANDOMIZE
RenderStyle Add
Alpha 1
SeeSound "baron/attack"
DeathSound "baron/shotx"
Decal "BaronScorch"
States
{
Spawn:
BAL7 AB 4 BRIGHT
Loop
Death:
BAL7 CDE 6 BRIGHT
Stop
}
}

View file

@ -1,82 +0,0 @@
//===========================================================================
//
// Cacodemon
//
//===========================================================================
ACTOR Cacodemon
{
Health 400
Radius 31
Height 56
Mass 400
Speed 8
PainChance 128
Monster
+FLOAT +NOGRAVITY
SeeSound "caco/sight"
PainSound "caco/pain"
DeathSound "caco/death"
ActiveSound "caco/active"
Obituary "$OB_CACO"
HitObituary "$OB_CACOHIT"
States
{
Spawn:
HEAD A 10 A_Look
Loop
See:
HEAD A 3 A_Chase
Loop
Missile:
HEAD B 5 A_FaceTarget
HEAD C 5 A_FaceTarget
HEAD D 5 BRIGHT A_HeadAttack
Goto See
Pain:
HEAD E 3
HEAD E 3 A_Pain
HEAD F 6
Goto See
Death:
HEAD G 8
HEAD H 8 A_Scream
HEAD I 8
HEAD J 8
HEAD K 8 A_NoBlocking
HEAD L -1 A_SetFloorClip
Stop
Raise:
HEAD L 8 A_UnSetFloorClip
HEAD KJIHG 8
Goto See
}
}
//===========================================================================
//
// Cacodemon plasma ball
//
//===========================================================================
ACTOR CacodemonBall
{
Radius 6
Height 8
Speed 10
FastSpeed 20
Damage 5
Projectile
+RANDOMIZE
RenderStyle Add
Alpha 1
SeeSound "caco/attack"
DeathSound "caco/shotx"
States
{
Spawn:
BAL2 AB 4 BRIGHT
Loop
Death:
BAL2 CDE 6 BRIGHT
Stop
}
}

View file

@ -1,61 +0,0 @@
//===========================================================================
//
// Cyberdemon
//
//===========================================================================
ACTOR Cyberdemon
{
Health 4000
Radius 40
Height 110
Mass 1000
Speed 16
PainChance 20
Monster
MinMissileChance 160
+BOSS
+MISSILEMORE
+FLOORCLIP
+NORADIUSDMG
+DONTMORPH
+BOSSDEATH
SeeSound "cyber/sight"
PainSound "cyber/pain"
DeathSound "cyber/death"
ActiveSound "cyber/active"
Obituary "$OB_CYBORG"
States
{
Spawn:
CYBR AB 10 A_Look
Loop
See:
CYBR A 3 A_Hoof
CYBR ABBCC 3 A_Chase
CYBR D 3 A_Metal
CYBR D 3 A_Chase
Loop
Missile:
CYBR E 6 A_FaceTarget
CYBR F 12 A_CyberAttack
CYBR E 12 A_FaceTarget
CYBR F 12 A_CyberAttack
CYBR E 12 A_FaceTarget
CYBR F 12 A_CyberAttack
Goto See
Pain:
CYBR G 10 A_Pain
Goto See
Death:
CYBR H 10
CYBR I 10 A_Scream
CYBR JKL 10
CYBR M 10 A_NoBlocking
CYBR NO 10
CYBR P 30
CYBR P -1 A_BossDeath
Stop
}
}

View file

@ -1,71 +0,0 @@
//===========================================================================
//
// Pink Demon
//
//===========================================================================
ACTOR Demon
{
Health 150
PainChance 180
Speed 10
Radius 30
Height 56
Mass 400
Monster
+FLOORCLIP
SeeSound "demon/sight"
AttackSound "demon/melee"
PainSound "demon/pain"
DeathSound "demon/death"
ActiveSound "demon/active"
Obituary "$OB_DEMONHIT"
States
{
Spawn:
SARG AB 10 A_Look
Loop
See:
SARG AABBCCDD 2 Fast A_Chase
Loop
Melee:
SARG EF 8 Fast A_FaceTarget
SARG G 8 Fast A_SargAttack
Goto See
Pain:
SARG H 2 Fast
SARG H 2 Fast A_Pain
Goto See
Death:
SARG I 8
SARG J 8 A_Scream
SARG K 4
SARG L 4 A_NoBlocking
SARG M 4
SARG N -1
Stop
Raise:
SARG N 5
SARG MLKJI 5
Goto See
}
}
//===========================================================================
//
// Spectre
//
//===========================================================================
ACTOR Spectre : Demon
{
+SHADOW
RenderStyle OptFuzzy
Alpha 0.5
SeeSound "spectre/sight"
AttackSound "spectre/melee"
PainSound "spectre/pain"
DeathSound "spectre/death"
ActiveSound "spectre/active"
HitObituary "$OB_SPECTREHIT"
}

View file

@ -1,142 +0,0 @@
// Clip --------------------------------------------------------------------
ACTOR Clip : Ammo
{
Inventory.PickupMessage "$GOTCLIP"
Inventory.Amount 10
Inventory.MaxAmount 200
Ammo.BackpackAmount 10
Ammo.BackpackMaxAmount 400
Inventory.Icon "CLIPA0"
States
{
Spawn:
CLIP A -1
Stop
}
}
// Clip box ----------------------------------------------------------------
ACTOR ClipBox : Clip
{
Inventory.PickupMessage "$GOTCLIPBOX"
Inventory.Amount 50
States
{
Spawn:
AMMO A -1
Stop
}
}
// Rocket ------------------------------------------------------------------
ACTOR RocketAmmo : Ammo
{
Inventory.PickupMessage "$GOTROCKET"
Inventory.Amount 1
Inventory.MaxAmount 50
Ammo.BackpackAmount 1
Ammo.BackpackMaxAmount 100
Inventory.Icon "ROCKA0"
States
{
Spawn:
ROCK A -1
Stop
}
}
// Rocket box --------------------------------------------------------------
ACTOR RocketBox : RocketAmmo
{
Inventory.PickupMessage "$GOTROCKBOX"
Inventory.Amount 5
States
{
Spawn:
BROK A -1
Stop
}
}
// Cell --------------------------------------------------------------------
ACTOR Cell : Ammo
{
Inventory.PickupMessage "$GOTCELL"
Inventory.Amount 20
Inventory.MaxAmount 300
Ammo.BackpackAmount 20
Ammo.BackpackMaxAmount 600
Inventory.Icon "CELLA0"
States
{
Spawn:
CELL A -1
Stop
}
}
// Cell pack ---------------------------------------------------------------
ACTOR CellPack : Cell
{
Inventory.PickupMessage "$GOTCELLBOX"
Inventory.Amount 100
States
{
Spawn:
CELP A -1
Stop
}
}
// Shells ------------------------------------------------------------------
ACTOR Shell : Ammo
{
Inventory.PickupMessage "$GOTSHELLS"
Inventory.Amount 4
Inventory.MaxAmount 50
Ammo.BackpackAmount 4
Ammo.BackpackMaxAmount 100
Inventory.Icon "SHELA0"
States
{
Spawn:
SHEL A -1
Stop
}
}
// Shell box ---------------------------------------------------------------
ACTOR ShellBox : Shell
{
Inventory.PickupMessage "$GOTSHELLBOX"
Inventory.Amount 20
States
{
Spawn:
SBOX A -1
Stop
}
}
// Backpack ---------------------------------------------------------------
ACTOR Backpack : BackpackItem
{
Height 26
Inventory.PickupMessage "$GOTBACKPACK"
States
{
Spawn:
BPAK A -1
Stop
}
}

View file

@ -1,60 +0,0 @@
// Armor bonus --------------------------------------------------------------
Actor ArmorBonus : BasicArmorBonus
{
Radius 20
Height 16
Inventory.Pickupmessage "$GOTARMBONUS"
Inventory.Icon "ARM1A0"
Armor.Savepercent 33.335
Armor.Saveamount 1
Armor.Maxsaveamount 200
+COUNTITEM
+INVENTORY.ALWAYSPICKUP
States
{
Spawn:
BON2 ABCDCB 6
loop
}
}
// Green armor --------------------------------------------------------------
Actor GreenArmor : BasicArmorPickup
{
Radius 20
Height 16
Inventory.Pickupmessage "$GOTARMOR"
Inventory.Icon "ARM1A0"
Armor.SavePercent 33.335
Armor.SaveAmount 100
States
{
Spawn:
ARM1 A 6
ARM1 B 7 bright
loop
}
}
// Blue armor ---------------------------------------------------------------
Actor BlueArmor : BasicArmorPickup
{
Radius 20
Height 16
Inventory.Pickupmessage "$GOTMEGA"
Inventory.Icon "ARM2A0"
Armor.Savepercent 50
Armor.Saveamount 200
States
{
Spawn:
ARM2 A 6
ARM2 B 6 bright
loop
}
}

View file

@ -1,171 +0,0 @@
// Invulnerability Sphere ---------------------------------------------------
ACTOR InvulnerabilitySphere : PowerupGiver
{
+COUNTITEM
+INVENTORY.AUTOACTIVATE
+INVENTORY.ALWAYSPICKUP
+INVENTORY.BIGPOWERUP
Inventory.MaxAmount 0
Powerup.Type Invulnerable
Powerup.Color InverseMap
Inventory.PickupMessage "$GOTINVUL"
States
{
Spawn:
PINV ABCD 6 Bright
Loop
}
}
// Soulsphere --------------------------------------------------------------
ACTOR Soulsphere : Health
{
+COUNTITEM
+INVENTORY.AUTOACTIVATE
+INVENTORY.ALWAYSPICKUP
+INVENTORY.FANCYPICKUPSOUND
Inventory.Amount 100
Inventory.MaxAmount 200
Inventory.PickupMessage "$GOTSUPER"
Inventory.PickupSound "misc/p_pkup"
States
{
Spawn:
SOUL ABCDCB 6 Bright
Loop
}
}
// Mega sphere --------------------------------------------------------------
ACTOR MegasphereHealth : Health // for manipulation by Dehacked
{
Inventory.Amount 200
Inventory.MaxAmount 200
+INVENTORY.ALWAYSPICKUP
}
// DeHackEd can only modify the blue armor's type, not the megasphere's.
actor BlueArmorForMegasphere : BlueArmor
{
Armor.SavePercent 50
Armor.SaveAmount 200
}
ACTOR Megasphere : CustomInventory
{
+COUNTITEM
+INVENTORY.ALWAYSPICKUP
Inventory.PickupMessage "$GOTMSPHERE"
Inventory.PickupSound "misc/p_pkup"
States
{
Spawn:
MEGA ABCD 6 BRIGHT
Loop
Pickup:
TNT1 A 0 A_GiveInventory("BlueArmorForMegasphere", 1)
TNT1 A 0 A_GiveInventory("MegasphereHealth", 1)
Stop
}
}
// Invisibility -------------------------------------------------------------
ACTOR BlurSphere : PowerupGiver
{
+COUNTITEM
+VISIBILITYPULSE
+INVENTORY.AUTOACTIVATE
+INVENTORY.ALWAYSPICKUP
+INVENTORY.BIGPOWERUP
Inventory.MaxAmount 0
Powerup.Type Invisibility
RenderStyle Translucent
Inventory.PickupMessage "$GOTINVIS"
States
{
Spawn:
PINS ABCD 6 Bright
Loop
}
}
// Radiation suit (aka iron feet) -------------------------------------------
ACTOR RadSuit : PowerupGiver
{
Height 46
+INVENTORY.AUTOACTIVATE
+INVENTORY.ALWAYSPICKUP
Inventory.MaxAmount 0
Inventory.PickupMessage "$GOTSUIT"
Powerup.Type IronFeet
States
{
Spawn:
SUIT A -1 Bright
Stop
}
}
// infrared -----------------------------------------------------------------
ACTOR Infrared : PowerupGiver
{
+COUNTITEM
+INVENTORY.AUTOACTIVATE
+INVENTORY.ALWAYSPICKUP
Inventory.MaxAmount 0
Powerup.Type LightAmp
Inventory.PickupMessage "$GOTVISOR"
States
{
Spawn:
PVIS A 6 Bright
PVIS B 6
Loop
}
}
// Allmap -------------------------------------------------------------------
ACTOR Allmap : MapRevealer
{
+COUNTITEM
+INVENTORY.FANCYPICKUPSOUND
+INVENTORY.ALWAYSPICKUP
Inventory.MaxAmount 0
Inventory.PickupSound "misc/p_pkup"
Inventory.PickupMessage "$GOTMAP"
States
{
Spawn:
PMAP ABCDCB 6 Bright
Loop
}
}
// Berserk ------------------------------------------------------------------
ACTOR Berserk : CustomInventory
{
+COUNTITEM
+INVENTORY.ALWAYSPICKUP
Inventory.PickupMessage "$GOTBERSERK"
Inventory.PickupSound "misc/p_pkup"
States
{
Spawn:
PSTR A -1
Stop
Pickup:
TNT1 A 0 A_GiveInventory("PowerStrength")
TNT1 A 0 HealThing(100, 0)
TNT1 A 0 A_SelectWeapon("Fist")
Stop
}
}

View file

@ -1,753 +0,0 @@
// Tech lamp ---------------------------------------------------------------
ACTOR TechLamp
{
Radius 16
Height 80
ProjectilePassHeight -16
+SOLID
States
{
Spawn:
TLMP ABCD 4 BRIGHT
Loop
}
}
// Tech lamp 2 -------------------------------------------------------------
ACTOR TechLamp2
{
Radius 16
Height 60
ProjectilePassHeight -16
+SOLID
States
{
Spawn:
TLP2 ABCD 4 BRIGHT
Loop
}
}
// Column ------------------------------------------------------------------
ACTOR Column
{
Radius 16
Height 48
ProjectilePassHeight -16
+SOLID
States
{
Spawn:
COLU A -1 BRIGHT
Stop
}
}
// Tall green column -------------------------------------------------------
ACTOR TallGreenColumn
{
Radius 16
Height 52
ProjectilePassHeight -16
+SOLID
States
{
Spawn:
COL1 A -1
Stop
}
}
// Short green column ------------------------------------------------------
ACTOR ShortGreenColumn
{
Radius 16
Height 40
ProjectilePassHeight -16
+SOLID
States
{
Spawn:
COL2 A -1
Stop
}
}
// Tall red column ---------------------------------------------------------
ACTOR TallRedColumn
{
Radius 16
Height 52
ProjectilePassHeight -16
+SOLID
States
{
Spawn:
COL3 A -1
Stop
}
}
// Short red column --------------------------------------------------------
ACTOR ShortRedColumn
{
Radius 16
Height 40
ProjectilePassHeight -16
+SOLID
States
{
Spawn:
COL4 A -1
Stop
}
}
// Skull column ------------------------------------------------------------
ACTOR SkullColumn
{
Radius 16
Height 40
ProjectilePassHeight -16
+SOLID
States
{
Spawn:
COL6 A -1
Stop
}
}
// Heart column ------------------------------------------------------------
ACTOR HeartColumn
{
Radius 16
Height 40
ProjectilePassHeight -16
+SOLID
States
{
Spawn:
COL5 AB 14
Loop
}
}
// Evil eye ----------------------------------------------------------------
ACTOR EvilEye
{
Radius 16
Height 54
ProjectilePassHeight -16
+SOLID
States
{
Spawn:
CEYE ABCB 6 BRIGHT
Loop
}
}
// Floating skull ----------------------------------------------------------
ACTOR FloatingSkull
{
Radius 16
Height 26
ProjectilePassHeight -16
+SOLID
States
{
Spawn:
FSKU ABC 6 BRIGHT
Loop
}
}
// Torch tree --------------------------------------------------------------
ACTOR TorchTree
{
Radius 16
Height 56
ProjectilePassHeight -16
+SOLID
States
{
Spawn:
TRE1 A -1
Stop
}
}
// Blue torch --------------------------------------------------------------
ACTOR BlueTorch
{
Radius 16
Height 68
ProjectilePassHeight -16
+SOLID
States
{
Spawn:
TBLU ABCD 4 BRIGHT
Loop
}
}
// Green torch -------------------------------------------------------------
ACTOR GreenTorch
{
Radius 16
Height 68
ProjectilePassHeight -16
+SOLID
States
{
Spawn:
TGRN ABCD 4 BRIGHT
Loop
}
}
// Red torch ---------------------------------------------------------------
ACTOR RedTorch
{
Radius 16
Height 68
ProjectilePassHeight -16
+SOLID
States
{
Spawn:
TRED ABCD 4 BRIGHT
Loop
}
}
// Short blue torch --------------------------------------------------------
ACTOR ShortBlueTorch
{
Radius 16
Height 37
ProjectilePassHeight -16
+SOLID
States
{
Spawn:
SMBT ABCD 4 BRIGHT
Loop
}
}
// Short green torch -------------------------------------------------------
ACTOR ShortGreenTorch
{
Radius 16
Height 37
ProjectilePassHeight -16
+SOLID
States
{
Spawn:
SMGT ABCD 4 BRIGHT
Loop
}
}
// Short red torch ---------------------------------------------------------
ACTOR ShortRedTorch
{
Radius 16
Height 37
ProjectilePassHeight -16
+SOLID
States
{
Spawn:
SMRT ABCD 4 BRIGHT
Loop
}
}
// Stalagtite --------------------------------------------------------------
ACTOR Stalagtite
{
Radius 16
Height 40
ProjectilePassHeight -16
+SOLID
States
{
Spawn:
SMIT A -1
Stop
}
}
// Tech pillar -------------------------------------------------------------
ACTOR TechPillar
{
Radius 16
Height 128
ProjectilePassHeight -16
+SOLID
States
{
Spawn:
ELEC A -1
Stop
}
}
// Candle stick ------------------------------------------------------------
ACTOR Candlestick
{
Radius 20
Height 14
ProjectilePassHeight -16
States
{
Spawn:
CAND A -1 BRIGHT
Stop
}
}
// Candelabra --------------------------------------------------------------
ACTOR Candelabra
{
Radius 16
Height 60
ProjectilePassHeight -16
+SOLID
States
{
Spawn:
CBRA A -1 BRIGHT
Stop
}
}
// Bloody twitch -----------------------------------------------------------
ACTOR BloodyTwitch
{
Radius 16
Height 68
+SOLID
+NOGRAVITY
+SPAWNCEILING
States
{
Spawn:
GOR1 A 10
GOR1 B 15
GOR1 C 8
GOR1 B 6
Loop
}
}
// Meat 2 ------------------------------------------------------------------
ACTOR Meat2
{
Radius 16
Height 84
+SOLID
+NOGRAVITY
+SPAWNCEILING
States
{
Spawn:
GOR2 A -1
Stop
}
}
// Meat 3 ------------------------------------------------------------------
ACTOR Meat3
{
Radius 16
Height 84
+SOLID
+NOGRAVITY
+SPAWNCEILING
States
{
Spawn:
GOR3 A -1
Stop
}
}
// Meat 4 ------------------------------------------------------------------
ACTOR Meat4
{
Radius 16
Height 68
+SOLID
+NOGRAVITY
+SPAWNCEILING
States
{
Spawn:
GOR4 A -1
Stop
}
}
// Meat 5 ------------------------------------------------------------------
ACTOR Meat5
{
Radius 16
Height 52
+SOLID
+NOGRAVITY
+SPAWNCEILING
States
{
Spawn:
GOR5 A -1
Stop
}
}
// Nonsolid meat -----------------------------------------------------------
ACTOR NonsolidMeat2 : Meat2
{
-SOLID
Radius 20
}
ACTOR NonsolidMeat3 : Meat3
{
-SOLID
Radius 20
}
ACTOR NonsolidMeat4 : Meat4
{
-SOLID
Radius 20
}
ACTOR NonsolidMeat5 : Meat5
{
-SOLID
Radius 20
}
// Nonsolid bloody twitch --------------------------------------------------
ACTOR NonsolidTwitch : BloodyTwitch
{
-SOLID
Radius 20
}
// Head on a stick ---------------------------------------------------------
ACTOR HeadOnAStick
{
Radius 16
Height 56
ProjectilePassHeight -16
+SOLID
States
{
Spawn:
POL4 A -1
Stop
}
}
// Heads (plural!) on a stick ----------------------------------------------
ACTOR HeadsOnAStick
{
Radius 16
Height 64
ProjectilePassHeight -16
+SOLID
States
{
Spawn:
POL2 A -1
Stop
}
}
// Head candles ------------------------------------------------------------
ACTOR HeadCandles
{
Radius 16
Height 42
ProjectilePassHeight -16
+SOLID
States
{
Spawn:
POL3 AB 6 BRIGHT
Loop
}
}
// Dead on a stick ---------------------------------------------------------
ACTOR DeadStick
{
Radius 16
Height 64
ProjectilePassHeight -16
+SOLID
States
{
Spawn:
POL1 A -1
Stop
}
}
// Still alive on a stick --------------------------------------------------
ACTOR LiveStick
{
Radius 16
Height 64
ProjectilePassHeight -16
+SOLID
States
{
Spawn:
POL6 A 6
POL6 B 8
Loop
}
}
// Big tree ----------------------------------------------------------------
ACTOR BigTree
{
Radius 32
Height 108
ProjectilePassHeight -16
+SOLID
States
{
Spawn:
TRE2 A -1
Stop
}
}
// Burning barrel ----------------------------------------------------------
ACTOR BurningBarrel
{
Radius 16
Height 32
ProjectilePassHeight -16
+SOLID
States
{
Spawn:
FCAN ABC 4 BRIGHT
Loop
}
}
// Hanging with no guts ----------------------------------------------------
ACTOR HangNoGuts
{
Radius 16
Height 88
+SOLID
+NOGRAVITY
+SPAWNCEILING
States
{
Spawn:
HDB1 A -1
Stop
}
}
// Hanging from bottom with no brain ---------------------------------------
ACTOR HangBNoBrain
{
Radius 16
Height 88
+SOLID
+NOGRAVITY
+SPAWNCEILING
States
{
Spawn:
HDB2 A -1
Stop
}
}
// Hanging from top, looking down ------------------------------------------
ACTOR HangTLookingDown
{
Radius 16
Height 64
+SOLID
+NOGRAVITY
+SPAWNCEILING
States
{
Spawn:
HDB3 A -1
Stop
}
}
// Hanging from top, looking up --------------------------------------------
ACTOR HangTLookingUp
{
Radius 16
Height 64
+SOLID
+NOGRAVITY
+SPAWNCEILING
States
{
Spawn:
HDB5 A -1
Stop
}
}
// Hanging from top, skully ------------------------------------------------
ACTOR HangTSkull
{
Radius 16
Height 64
+SOLID
+NOGRAVITY
+SPAWNCEILING
States
{
Spawn:
HDB4 A -1
Stop
}
}
// Hanging from top without a brain ----------------------------------------
ACTOR HangTNoBrain
{
Radius 16
Height 64
+SOLID
+NOGRAVITY
+SPAWNCEILING
States
{
Spawn:
HDB6 A -1
Stop
}
}
// Colon gibs --------------------------------------------------------------
ACTOR ColonGibs
{
Radius 20
Height 4
+NOBLOCKMAP
+MOVEWITHSECTOR
States
{
Spawn:
POB1 A -1
Stop
}
}
// Small pool o' blood -----------------------------------------------------
ACTOR SmallBloodPool
{
Radius 20
Height 1
+NOBLOCKMAP
+MOVEWITHSECTOR
States
{
Spawn:
POB2 A -1
Stop
}
}
// brain stem lying on the ground ------------------------------------------
ACTOR BrainStem
{
Radius 20
Height 4
+NOBLOCKMAP
+MOVEWITHSECTOR
States
{
Spawn:
BRS1 A -1
Stop
}
}
// Grey stalagmite (unused Doom sprite, definition taken from Skulltag -----
ACTOR Stalagmite
{
Radius 16
Height 48
+SOLID
States
{
Spawn:
SMT2 A -1
Stop
}
}

View file

@ -1,45 +0,0 @@
// Health bonus -------------------------------------------------------------
ACTOR HealthBonus : Health
{
+COUNTITEM
+INVENTORY.ALWAYSPICKUP
Inventory.Amount 1
Inventory.MaxAmount 200
Inventory.PickupMessage "$GOTHTHBONUS"
States
{
Spawn:
BON1 ABCDCB 6
Loop
}
}
// Stimpack -----------------------------------------------------------------
ACTOR Stimpack : Health
{
Inventory.Amount 10
Inventory.PickupMessage "$GOTSTIM"
States
{
Spawn:
STIM A -1
Stop
}
}
// Medikit -----------------------------------------------------------------
ACTOR Medikit : Health
{
Inventory.Amount 25
Inventory.PickupMessage "$GOTMEDIKIT"
Health.LowMessage 25, "$GOTMEDINEED"
States
{
Spawn:
MEDI A -1
Stop
}
}

View file

@ -1,87 +0,0 @@
//===========================================================================
//
// Imp
//
//===========================================================================
ACTOR DoomImp
{
Health 60
Radius 20
Height 56
Mass 100
Speed 8
PainChance 200
Monster
+FLOORCLIP
SeeSound "imp/sight"
PainSound "imp/pain"
DeathSound "imp/death"
ActiveSound "imp/active"
HitObituary "$OB_IMPHIT"
Obituary "$OB_IMP"
States
{
Spawn:
TROO AB 10 A_Look
Loop
See:
TROO AABBCCDD 3 A_Chase
Loop
Melee:
Missile:
TROO EF 8 A_FaceTarget
TROO G 6 A_TroopAttack
Goto See
Pain:
TROO H 2
TROO H 2 A_Pain
Goto See
Death:
TROO I 8
TROO J 8 A_Scream
TROO K 6
TROO L 6 A_NoBlocking
TROO M -1
Stop
XDeath:
TROO N 5
TROO O 5 A_XScream
TROO P 5
TROO Q 5 A_NoBlocking
TROO RST 5
TROO U -1
Stop
Raise:
TROO MLKJI 8
Goto See
}
}
//===========================================================================
//
// Imp fireball
//
//===========================================================================
ACTOR DoomImpBall
{
Radius 6
Height 8
Speed 10
FastSpeed 20
Damage 3
Projectile
+RANDOMIZE
RenderStyle Add
Alpha 1
SeeSound "imp/attack"
DeathSound "imp/shotx"
States
{
Spawn:
BAL1 AB 4 BRIGHT
Loop
Death:
BAL1 CDE 6 BRIGHT
Stop
}
}

View file

@ -1,98 +0,0 @@
Actor DoomKey : Key
{
Radius 20
Height 16
+NOTDMATCH
}
// Blue key card ------------------------------------------------------------
Actor BlueCard : DoomKey
{
Inventory.Pickupmessage "$GOTBLUECARD"
Inventory.Icon "STKEYS0"
States
{
Spawn:
BKEY A 10
BKEY B 10 bright
loop
}
}
// Yellow key card ----------------------------------------------------------
Actor YellowCard : DoomKey
{
Inventory.Pickupmessage "$GOTYELWCARD"
Inventory.Icon "STKEYS1"
States
{
Spawn:
YKEY A 10
YKEY B 10 bright
loop
}
}
// Red key card -------------------------------------------------------------
Actor RedCard : DoomKey
{
Inventory.Pickupmessage "$GOTREDCARD"
Inventory.Icon "STKEYS2"
States
{
Spawn:
RKEY A 10
RKEY B 10 bright
loop
}
}
// Blue skull key -----------------------------------------------------------
Actor BlueSkull : DoomKey
{
Inventory.Pickupmessage "$GOTBLUESKUL"
Inventory.Icon "STKEYS3"
States
{
Spawn:
BSKU A 10
BSKU B 10 bright
loop
}
}
// Yellow skull key ---------------------------------------------------------
Actor YellowSkull : DoomKey
{
Inventory.Pickupmessage "$GOTYELWSKUL"
Inventory.Icon "STKEYS4"
States
{
Spawn:
YSKU A 10
YSKU B 10 bright
loop
}
}
// Red skull key ------------------------------------------------------------
Actor RedSkull : DoomKey
{
Inventory.Pickupmessage "$GOTREDSKUL"
Inventory.Icon "STKEYS5"
States
{
Spawn:
RSKU A 10
RSKU B 10 bright
loop
}
}

View file

@ -1,104 +0,0 @@
// The barrel of green goop ------------------------------------------------
ACTOR ExplosiveBarrel
{
Health 20
Radius 10
Height 42
+SOLID
+SHOOTABLE
+NOBLOOD
+ACTIVATEMCROSS
+DONTGIB
+NOICEDEATH
+OLDRADIUSDMG
DeathSound "world/barrelx"
Obituary "$OB_BARREL"
States
{
Spawn:
BAR1 AB 6
Loop
Death:
BEXP A 5 BRIGHT
BEXP B 5 BRIGHT A_Scream
BEXP C 5 BRIGHT
BEXP D 5 BRIGHT A_Explode
BEXP E 10 BRIGHT
TNT1 A 1050 BRIGHT A_BarrelDestroy
TNT1 A 5 A_Respawn
Wait
}
}
// Bullet puff -------------------------------------------------------------
ACTOR BulletPuff
{
+NOBLOCKMAP
+NOGRAVITY
+ALLOWPARTICLES
+RANDOMIZE
RenderStyle Translucent
Alpha 0.5
VSpeed 1
Mass 5
States
{
Spawn:
PUFF A 4 Bright
PUFF B 4
Melee:
PUFF CD 4
Stop
}
}
// Container for an unused state -------------------------------------------
/* Doom defined the states S_STALAG, S_DEADTORSO, and S_DEADBOTTOM but never
* actually used them. For compatibility with DeHackEd patches, they still
* need to be kept around. This actor serves that purpose.
*/
ACTOR DoomUnusedStates
{
States
{
Label1:
SMT2 A -1
stop
Label2:
PLAY N -1
stop
PLAY S -1
stop
TNT: // MBF compatibility
TNT1 A -1
Loop
}
}
// MBF Beta emulation items
Actor EvilSceptre : ScoreItem
{
Inventory.PickupMessage "$BETA_BONUS3"
States
{
Spawn:
BON3 A 6
Loop
}
}
Actor UnholyBible : ScoreItem
{
Inventory.PickupMessage "$BETA_BONUS4"
States
{
Spawn:
BON4 A 6
Loop
}
}

View file

@ -1,90 +0,0 @@
//===========================================================================
//
// Player
//
//===========================================================================
ACTOR DoomPlayer : PlayerPawn
{
Speed 1
Health 100
Radius 16
Height 56
Mass 100
PainChance 255
Player.DisplayName "Marine"
Player.CrouchSprite "PLYC"
Player.StartItem "Pistol"
Player.StartItem "Fist"
Player.StartItem "Clip", 50
Player.WeaponSlot 1, Fist, Chainsaw
Player.WeaponSlot 2, Pistol
Player.WeaponSlot 3, Shotgun, SuperShotgun
Player.WeaponSlot 4, Chaingun
Player.WeaponSlot 5, RocketLauncher
Player.WeaponSlot 6, PlasmaRifle
Player.WeaponSlot 7, BFG9000
Player.ColorRange 112, 127
Player.Colorset 0, "Green", 0x70, 0x7F, 0x72
Player.Colorset 1, "Gray", 0x60, 0x6F, 0x62
Player.Colorset 2, "Brown", 0x40, 0x4F, 0x42
Player.Colorset 3, "Red", 0x20, 0x2F, 0x22
// Doom Legacy additions
Player.Colorset 4, "Light Gray", 0x58, 0x67, 0x5A
Player.Colorset 5, "Light Brown", 0x38, 0x47, 0x3A
Player.Colorset 6, "Light Red", 0xB0, 0xBF, 0xB2
Player.Colorset 7, "Light Blue", 0xC0, 0xCF, 0xC2
States
{
Spawn:
PLAY A -1
Loop
See:
PLAY ABCD 4
Loop
Missile:
PLAY E 12
Goto Spawn
Melee:
PLAY F 6 BRIGHT
Goto Missile
Pain:
PLAY G 4
PLAY G 4 A_Pain
Goto Spawn
Death:
PLAY H 0 A_PlayerSkinCheck("AltSkinDeath")
Death1:
PLAY H 10
PLAY I 10 A_PlayerScream
PLAY J 10 A_NoBlocking
PLAY KLM 10
PLAY N -1
Stop
XDeath:
PLAY O 0 A_PlayerSkinCheck("AltSkinXDeath")
XDeath1:
PLAY O 5
PLAY P 5 A_XScream
PLAY Q 5 A_NoBlocking
PLAY RSTUV 5
PLAY W -1
Stop
AltSkinDeath:
PLAY H 6
PLAY I 6 A_PlayerScream
PLAY JK 6
PLAY L 6 A_NoBlocking
PLAY MNO 6
PLAY P -1
Stop
AltSkinXDeath:
PLAY Q 5 A_PlayerScream
PLAY R 0 A_NoBlocking
PLAY R 5 A_SkullPop
PLAY STUVWX 5
PLAY Y -1
Stop
}
}

View file

@ -1,574 +0,0 @@
// --------------------------------------------------------------------------
//
// Doom weapon base class
//
// --------------------------------------------------------------------------
ACTOR DoomWeapon : Weapon
{
Weapon.Kickback 100
}
// --------------------------------------------------------------------------
//
// Fist
//
// --------------------------------------------------------------------------
ACTOR Fist : Weapon
{
Weapon.SelectionOrder 3700
Weapon.Kickback 100
Obituary "$OB_MPFIST"
Tag "$TAG_FIST"
+WEAPON.WIMPY_WEAPON
+WEAPON.MELEEWEAPON
States
{
Ready:
PUNG A 1 A_WeaponReady
Loop
Deselect:
PUNG A 1 A_Lower
Loop
Select:
PUNG A 1 A_Raise
Loop
Fire:
PUNG B 4
PUNG C 4 A_Punch
PUNG D 5
PUNG C 4
PUNG B 5 A_ReFire
Goto Ready
}
}
// --------------------------------------------------------------------------
//
// Pistol
//
// --------------------------------------------------------------------------
ACTOR Pistol : DoomWeapon
{
Weapon.SelectionOrder 1900
Weapon.AmmoUse 1
Weapon.AmmoGive 20
Weapon.AmmoType "Clip"
Obituary "$OB_MPPISTOL"
+WEAPON.WIMPY_WEAPON
Inventory.Pickupmessage "$PICKUP_PISTOL_DROPPED"
Tag "$TAG_PISTOL"
States
{
Ready:
PISG A 1 A_WeaponReady
Loop
Deselect:
PISG A 1 A_Lower
Loop
Select:
PISG A 1 A_Raise
Loop
Fire:
PISG A 4
PISG B 6 A_FirePistol
PISG C 4
PISG B 5 A_ReFire
Goto Ready
Flash:
PISF A 7 Bright A_Light1
Goto LightDone
PISF A 7 Bright A_Light1
Goto LightDone
Spawn:
PIST A -1
Stop
}
}
// --------------------------------------------------------------------------
//
// Chainsaw
//
// --------------------------------------------------------------------------
ACTOR Chainsaw : Weapon
{
Weapon.Kickback 0
Weapon.SelectionOrder 2200
Weapon.UpSound "weapons/sawup"
Weapon.ReadySound "weapons/sawidle"
Inventory.PickupMessage "$GOTCHAINSAW"
Obituary "$OB_MPCHAINSAW"
Tag "$TAG_CHAINSAW"
+WEAPON.MELEEWEAPON
States
{
Ready:
SAWG CD 4 A_WeaponReady
Loop
Deselect:
SAWG C 1 A_Lower
Loop
Select:
SAWG C 1 A_Raise
Loop
Fire:
SAWG AB 4 A_Saw
SAWG B 0 A_ReFire
Goto Ready
Spawn:
CSAW A -1
Stop
}
}
// --------------------------------------------------------------------------
//
// Shotgun
//
// --------------------------------------------------------------------------
ACTOR Shotgun : DoomWeapon
{
Weapon.SelectionOrder 1300
Weapon.AmmoUse 1
Weapon.AmmoGive 8
Weapon.AmmoType "Shell"
Inventory.PickupMessage "$GOTSHOTGUN"
Obituary "$OB_MPSHOTGUN"
Tag "$TAG_SHOTGUN"
States
{
Ready:
SHTG A 1 A_WeaponReady
Loop
Deselect:
SHTG A 1 A_Lower
Loop
Select:
SHTG A 1 A_Raise
Loop
Fire:
SHTG A 3
SHTG A 7 A_FireShotgun
SHTG BC 5
SHTG D 4
SHTG CB 5
SHTG A 3
SHTG A 7 A_ReFire
Goto Ready
Flash:
SHTF A 4 Bright A_Light1
SHTF B 3 Bright A_Light2
Goto LightDone
Spawn:
SHOT A -1
Stop
}
}
// --------------------------------------------------------------------------
//
// Shotgun
//
// --------------------------------------------------------------------------
ACTOR SuperShotgun : DoomWeapon
{
Weapon.SelectionOrder 400
Weapon.AmmoUse 2
Weapon.AmmoGive 8
Weapon.AmmoType "Shell"
Inventory.PickupMessage "$GOTSHOTGUN2"
Obituary "$OB_MPSSHOTGUN"
Tag "$TAG_SUPERSHOTGUN"
States
{
Ready:
SHT2 A 1 A_WeaponReady
Loop
Deselect:
SHT2 A 1 A_Lower
Loop
Select:
SHT2 A 1 A_Raise
Loop
Fire:
SHT2 A 3
SHT2 A 7 A_FireShotgun2
SHT2 B 7
SHT2 C 7 A_CheckReload
SHT2 D 7 A_OpenShotgun2
SHT2 E 7
SHT2 F 7 A_LoadShotgun2
SHT2 G 6
SHT2 H 6 A_CloseShotgun2
SHT2 A 5 A_ReFire
Goto Ready
// unused states
SHT2 B 7
SHT2 A 3
Goto Deselect
Flash:
SHT2 I 4 Bright A_Light1
SHT2 J 3 Bright A_Light2
Goto LightDone
Spawn:
SGN2 A -1
Stop
}
}
// --------------------------------------------------------------------------
//
// Chaingun
//
// --------------------------------------------------------------------------
ACTOR Chaingun : DoomWeapon
{
Weapon.SelectionOrder 700
Weapon.AmmoUse 1
Weapon.AmmoGive 20
Weapon.AmmoType "Clip"
Inventory.PickupMessage "$GOTCHAINGUN"
Obituary "$OB_MPCHAINGUN"
Tag "$TAG_CHAINGUN"
States
{
Ready:
CHGG A 1 A_WeaponReady
Loop
Deselect:
CHGG A 1 A_Lower
Loop
Select:
CHGG A 1 A_Raise
Loop
Fire:
CHGG AB 4 A_FireCGun
CHGG B 0 A_ReFire
Goto Ready
Flash:
CHGF A 5 Bright A_Light1
Goto LightDone
CHGF B 5 Bright A_Light2
Goto LightDone
Spawn:
MGUN A -1
Stop
}
}
// --------------------------------------------------------------------------
//
// Rocket launcher
//
// --------------------------------------------------------------------------
ACTOR RocketLauncher : DoomWeapon
{
Weapon.SelectionOrder 2500
Weapon.AmmoUse 1
Weapon.AmmoGive 2
Weapon.AmmoType "RocketAmmo"
+WEAPON.NOAUTOFIRE
Inventory.PickupMessage "$GOTLAUNCHER"
Tag "$TAG_ROCKETLAUNCHER"
States
{
Ready:
MISG A 1 A_WeaponReady
Loop
Deselect:
MISG A 1 A_Lower
Loop
Select:
MISG A 1 A_Raise
Loop
Fire:
MISG B 8 A_GunFlash
MISG B 12 A_FireMissile
MISG B 0 A_ReFire
Goto Ready
Flash:
MISF A 3 Bright A_Light1
MISF B 4 Bright
MISF CD 4 Bright A_Light2
Goto LightDone
Spawn:
LAUN A -1
Stop
}
}
ACTOR Rocket
{
Radius 11
Height 8
Speed 20
Damage 20
Projectile
+RANDOMIZE
+DEHEXPLOSION
+ROCKETTRAIL
SeeSound "weapons/rocklf"
DeathSound "weapons/rocklx"
Obituary "$OB_MPROCKET"
States
{
Spawn:
MISL A 1 Bright
Loop
Death:
MISL B 8 Bright A_Explode
MISL C 6 Bright
MISL D 4 Bright
Stop
}
}
// --------------------------------------------------------------------------
//
// Grenade -- Taken and adapted from Skulltag, with MBF stuff added to it
//
// --------------------------------------------------------------------------
ACTOR Grenade
{
Radius 8
Height 8
Speed 25
Damage 20
Projectile
-NOGRAVITY
+RANDOMIZE
+DEHEXPLOSION
+GRENADETRAIL
BounceType "Doom"
Gravity 0.25
SeeSound "weapons/grenlf"
DeathSound "weapons/grenlx"
BounceSound "weapons/grbnce"
Obituary "$OB_GRENADE"
DamageType Grenade
States
{
Spawn:
SGRN A 1 Bright
Loop
Death:
MISL B 8 Bright A_Explode
MISL C 6 Bright
MISL D 4 Bright
Stop
Grenade:
MISL A 1000 A_Die
Wait
Detonate:
MISL B 4 A_Scream
MISL C 6 A_Detonate
MISL D 10
Stop
Mushroom:
MISL B 8 A_Mushroom
Goto Death+1
}
}
// --------------------------------------------------------------------------
//
// Plasma rifle
//
// --------------------------------------------------------------------------
ACTOR PlasmaRifle : DoomWeapon
{
Weapon.SelectionOrder 100
Weapon.AmmoUse 1
Weapon.AmmoGive 40
Weapon.AmmoType "Cell"
Inventory.PickupMessage "$GOTPLASMA"
Tag "$TAG_PLASMARIFLE"
States
{
Ready:
PLSG A 1 A_WeaponReady
Loop
Deselect:
PLSG A 1 A_Lower
Loop
Select:
PLSG A 1 A_Raise
Loop
Fire:
PLSG A 3 A_FirePlasma
PLSG B 20 A_ReFire
Goto Ready
Flash:
PLSF A 4 Bright A_Light1
Goto LightDone
PLSF B 4 Bright A_Light1
Goto LightDone
Spawn:
PLAS A -1
Stop
}
}
ACTOR PlasmaBall
{
Radius 13
Height 8
Speed 25
Damage 5
Projectile
+RANDOMIZE
RenderStyle Add
Alpha 0.75
SeeSound "weapons/plasmaf"
DeathSound "weapons/plasmax"
Obituary "$OB_MPPLASMARIFLE"
States
{
Spawn:
PLSS AB 6 Bright
Loop
Death:
PLSE ABCDE 4 Bright
Stop
}
}
// --------------------------------------------------------------------------
//
// BFG 2704
//
// --------------------------------------------------------------------------
ACTOR PlasmaBall1 : PlasmaBall
{
Damage 4
BounceType "Classic"
BounceFactor 1.0
Obituary "$OB_MPBFG_MBF"
States
{
Spawn:
PLS1 AB 6 Bright
Loop
Death:
PLS1 CDEFG 4 Bright
Stop
}
}
ACTOR PlasmaBall2 : PlasmaBall1
{
States
{
Spawn:
PLS2 AB 6 Bright
Loop
Death:
PLS2 CDE 4 Bright
Stop
}
}
// --------------------------------------------------------------------------
//
// BFG 9000
//
// --------------------------------------------------------------------------
ACTOR BFG9000 : DoomWeapon
{
Height 20
Weapon.SelectionOrder 2800
Weapon.AmmoUse 40
Weapon.AmmoGive 40
Weapon.AmmoType "Cell"
+WEAPON.NOAUTOFIRE
Inventory.PickupMessage "$GOTBFG9000"
Tag "$TAG_BFG9000"
States
{
Ready:
BFGG A 1 A_WeaponReady
Loop
Deselect:
BFGG A 1 A_Lower
Loop
Select:
BFGG A 1 A_Raise
Loop
Fire:
BFGG A 20 A_BFGsound
BFGG B 10 A_GunFlash
BFGG B 10 A_FireBFG
BFGG B 20 A_ReFire
Goto Ready
Flash:
BFGF A 11 Bright A_Light1
BFGF B 6 Bright A_Light2
Goto LightDone
Spawn:
BFUG A -1
Stop
OldFire:
BFGG A 10 A_BFGsound
BFGG BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB 1 A_FireOldBFG
BFGG B 0 A_Light0
BFGG B 20 A_ReFire
Goto Ready
}
}
ACTOR BFGBall
{
Radius 13
Height 8
Speed 25
Damage 100
Projectile
+RANDOMIZE
RenderStyle Add
Alpha 0.75
DeathSound "weapons/bfgx"
Obituary "$OB_MPBFG_BOOM"
States
{
Spawn:
BFS1 AB 4 Bright
Loop
Death:
BFE1 AB 8 Bright
BFE1 C 8 Bright A_BFGSpray
BFE1 DEF 8 Bright
Stop
}
}
ACTOR BFGExtra
{
+NOBLOCKMAP
+NOGRAVITY
RenderStyle Add
Alpha 0.75
DamageType "BFGSplash"
States
{
Spawn:
BFE2 ABCD 8 Bright
Stop
}
}

View file

@ -1,89 +0,0 @@
//===========================================================================
//
// Mancubus
//
//===========================================================================
ACTOR Fatso
{
Health 600
Radius 48
Height 64
Mass 1000
Speed 8
PainChance 80
Monster
+FLOORCLIP
+BOSSDEATH
SeeSound "fatso/sight"
PainSound "fatso/pain"
DeathSound "fatso/death"
ActiveSound "fatso/active"
Obituary "$OB_FATSO"
States
{
Spawn:
FATT AB 15 A_Look
Loop
See:
FATT AABBCCDDEEFF 4 A_Chase
Loop
Missile:
FATT G 20 A_FatRaise
FATT H 10 BRIGHT A_FatAttack1
FATT IG 5 A_FaceTarget
FATT H 10 BRIGHT A_FatAttack2
FATT IG 5 A_FaceTarget
FATT H 10 BRIGHT A_FatAttack3
FATT IG 5 A_FaceTarget
Goto See
Pain:
FATT J 3
FATT J 3 A_Pain
Goto See
Death:
FATT K 6
FATT L 6 A_Scream
FATT M 6 A_NoBlocking
FATT NOPQRS 6
FATT T -1 A_BossDeath
Stop
Raise:
FATT R 5
FATT QPONMLK 5
Goto See
}
}
//===========================================================================
//
// Mancubus fireball
//
//===========================================================================
ACTOR FatShot
{
Radius 6
Height 8
Speed 20
Damage 8
Projectile
+RANDOMIZE
RenderStyle Add
Alpha 1
SeeSound "fatso/attack"
DeathSound "fatso/shotx"
States
{
Spawn:
MANF AB 4 BRIGHT
Loop
Death:
MISL B 8 BRIGHT
MISL C 6 BRIGHT
MISL D 4 BRIGHT
Stop
}
}

View file

@ -1,41 +0,0 @@
//===========================================================================
//
// Commander Keen
//
//===========================================================================
ACTOR CommanderKeen
{
Health 100
Radius 16
Height 72
Mass 10000000
PainChance 256
+SOLID
+SPAWNCEILING
+NOGRAVITY
+SHOOTABLE
+COUNTKILL
+NOICEDEATH
+ISMONSTER
PainSound "keen/pain"
DeathSound "keen/death"
States
{
Spawn:
KEEN A -1
Loop
Death:
KEEN AB 6
KEEN C 6 A_Scream
KEEN DEFGH 6
KEEN I 6
KEEN J 6
KEEN K 6 A_KeenDie
KEEN L -1
Stop
Pain:
KEEN M 4
KEEN M 8 A_Pain
Goto Spawn
}
}

View file

@ -1,80 +0,0 @@
//===========================================================================
//
// Lost Soul
//
//===========================================================================
ACTOR LostSoul
{
Health 100
Radius 16
Height 56
Mass 50
Speed 8
Damage 3
PainChance 256
Monster
+FLOAT +NOGRAVITY +MISSILEMORE +DONTFALL +NOICEDEATH
AttackSound "skull/melee"
PainSound "skull/pain"
DeathSound "skull/death"
ActiveSound "skull/active"
RenderStyle SoulTrans
Obituary "$OB_SKULL"
States
{
Spawn:
SKUL AB 10 BRIGHT A_Look
Loop
See:
SKUL AB 6 BRIGHT A_Chase
Loop
Missile:
SKUL C 10 BRIGHT A_FaceTarget
SKUL D 4 BRIGHT A_SkullAttack
SKUL CD 4 BRIGHT
Goto Missile+2
Pain:
SKUL E 3 BRIGHT
SKUL E 3 BRIGHT A_Pain
Goto See
Death:
SKUL F 6 BRIGHT
SKUL G 6 BRIGHT A_Scream
SKUL H 6 BRIGHT
SKUL I 6 BRIGHT A_NoBlocking
SKUL J 6
SKUL K 6
Stop
}
}
Actor BetaSkull : LostSoul
{
States
{
Spawn:
SKUL A 10 A_Look
Loop
See:
SKUL BCDA 5 A_Chase
Loop
Missile:
SKUL E 4 A_FaceTarget
SKUL F 5 A_BetaSkullAttack
SKUL F 4
Goto See
Pain:
SKUL G 4
SKUL H 2 A_Pain
Goto See
SKUL I 4
Goto See
Death:
SKUL JKLM 5
SKUL N 5 A_Scream
SKUL O 5
SKUL P 5 A_Fall
SKUL Q 5 A_Stop
Wait
}
}

View file

@ -1,50 +0,0 @@
//===========================================================================
//
// Pain Elemental
//
//===========================================================================
ACTOR PainElemental
{
Health 400
Radius 31
Height 56
Mass 400
Speed 8
PainChance 128
Monster
+FLOAT
+NOGRAVITY
SeeSound "pain/sight"
PainSound "pain/pain"
DeathSound "pain/death"
ActiveSound "pain/active"
States
{
Spawn:
PAIN A 10 A_Look
Loop
See:
PAIN AABBCC 3 A_Chase
Loop
Missile:
PAIN D 5 A_FaceTarget
PAIN E 5 A_FaceTarget
PAIN F 5 BRIGHT A_FaceTarget
PAIN F 0 BRIGHT A_PainAttack
Goto See
Pain:
PAIN G 6
PAIN G 6 A_Pain
Goto See
Death:
PAIN H 8 BRIGHT
PAIN I 8 BRIGHT A_Scream
PAIN JK 8 BRIGHT
PAIN L 8 BRIGHT A_PainDie
PAIN M 8 BRIGHT
Stop
Raise:
PAIN MLKJIH 8
Goto See
}
}

View file

@ -1,241 +0,0 @@
//===========================================================================
//
// Zombie man
//
//===========================================================================
ACTOR ZombieMan
{
Health 20
Radius 20
Height 56
Speed 8
PainChance 200
Monster
+FLOORCLIP
SeeSound "grunt/sight"
AttackSound "grunt/attack"
PainSound "grunt/pain"
DeathSound "grunt/death"
ActiveSound "grunt/active"
Obituary "$OB_ZOMBIE"
DropItem "Clip"
States
{
Spawn:
POSS AB 10 A_Look
Loop
See:
POSS AABBCCDD 4 A_Chase
Loop
Missile:
POSS E 10 A_FaceTarget
POSS F 8 A_PosAttack
POSS E 8
Goto See
Pain:
POSS G 3
POSS G 3 A_Pain
Goto See
Death:
POSS H 5
POSS I 5 A_Scream
POSS J 5 A_NoBlocking
POSS K 5
POSS L -1
Stop
XDeath:
POSS M 5
POSS N 5 A_XScream
POSS O 5 A_NoBlocking
POSS PQRST 5
POSS U -1
Stop
Raise:
POSS K 5
POSS JIH 5
Goto See
}
}
//===========================================================================
//
// Sergeant / Shotgun guy
//
//===========================================================================
ACTOR ShotgunGuy
{
Health 30
Radius 20
Height 56
Mass 100
Speed 8
PainChance 170
Monster
+FLOORCLIP
SeeSound "shotguy/sight"
AttackSound "shotguy/attack"
PainSound "shotguy/pain"
DeathSound "shotguy/death"
ActiveSound "shotguy/active"
Obituary "$OB_SHOTGUY"
DropItem "Shotgun"
States
{
Spawn:
SPOS AB 10 A_Look
Loop
See:
SPOS AABBCCDD 3 A_Chase
Loop
Missile:
SPOS E 10 A_FaceTarget
SPOS F 10 BRIGHT A_SposAttackUseAtkSound
SPOS E 10
Goto See
Pain:
SPOS G 3
SPOS G 3 A_Pain
Goto See
Death:
SPOS H 5
SPOS I 5 A_Scream
SPOS J 5 A_NoBlocking
SPOS K 5
SPOS L -1
Stop
XDeath:
SPOS M 5
SPOS N 5 A_XScream
SPOS O 5 A_NoBlocking
SPOS PQRST 5
SPOS U -1
Stop
Raise:
SPOS L 5
SPOS KJIH 5
Goto See
}
}
//===========================================================================
//
// Chaingunner
//
//===========================================================================
ACTOR ChaingunGuy
{
Health 70
Radius 20
Height 56
Mass 100
Speed 8
PainChance 170
Monster
+FLOORCLIP
SeeSound "chainguy/sight"
PainSound "chainguy/pain"
DeathSound "chainguy/death"
ActiveSound "chainguy/active"
AttackSound "chainguy/attack"
Obituary "$OB_CHAINGUY"
Dropitem "Chaingun"
States
{
Spawn:
CPOS AB 10 A_Look
Loop
See:
CPOS AABBCCDD 3 A_Chase
Loop
Missile:
CPOS E 10 A_FaceTarget
CPOS FE 4 BRIGHT A_CPosAttack
CPOS F 1 A_CPosRefire
Goto Missile+1
Pain:
CPOS G 3
CPOS G 3 A_Pain
Goto See
Death:
CPOS H 5
CPOS I 5 A_Scream
CPOS J 5 A_NoBlocking
CPOS KLM 5
CPOS N -1
Stop
XDeath:
CPOS O 5
CPOS P 5 A_XScream
CPOS Q 5 A_NoBlocking
CPOS RS 5
CPOS T -1
Stop
Raise:
CPOS N 5
CPOS MLKJIH 5
Goto See
}
}
//===========================================================================
//
// SS Nazi
//
//===========================================================================
ACTOR WolfensteinSS
{
Health 50
Radius 20
Height 56
Speed 8
PainChance 170
Monster
+FLOORCLIP
SeeSound "wolfss/sight"
PainSound "wolfss/pain"
DeathSound "wolfss/death"
ActiveSound "wolfss/active"
AttackSound "wolfss/attack"
Obituary "$OB_WOLFSS"
Dropitem "Clip"
States
{
Spawn:
SSWV AB 10 A_Look
Loop
See:
SSWV AABBCCDD 3 A_Chase
Loop
Missile:
SSWV E 10 A_FaceTarget
SSWV F 10 A_FaceTarget
SSWV G 4 BRIGHT A_CPosAttack
SSWV F 6 A_FaceTarget
SSWV G 4 BRIGHT A_CPosAttack
SSWV F 1 A_CPosRefire
Goto Missile+1
Pain:
SSWV H 3
SSWV H 3 A_Pain
Goto See
Death:
SSWV I 5
SSWV J 5 A_Scream
SSWV K 5 A_NoBlocking
SSWV L 5
SSWV M -1
Stop
XDeath:
SSWV N 5
SSWV O 5 A_XScream
SSWV P 5 A_NoBlocking
SSWV QRSTU 5
SSWV V -1
Stop
Raise:
SSWV M 5
SSWV LKJI 5
Goto See
}
}

View file

@ -1,113 +0,0 @@
//===========================================================================
//
// Revenant
//
//===========================================================================
ACTOR Revenant
{
Health 300
Radius 20
Height 56
Mass 500
Speed 10
PainChance 100
Monster
MeleeThreshold 196
+MISSILEMORE
+FLOORCLIP
SeeSound "skeleton/sight"
PainSound "skeleton/pain"
DeathSound "skeleton/death"
ActiveSound "skeleton/active"
MeleeSound "skeleton/melee"
HitObituary "$OB_UNDEADHIT"
Obituary "$OB_UNDEAD"
States
{
Spawn:
SKEL AB 10 A_Look
Loop
See:
SKEL AABBCCDDEEFF 2 A_Chase
Loop
Melee:
SKEL G 0 A_FaceTarget
SKEL G 6 A_SkelWhoosh
SKEL H 6 A_FaceTarget
SKEL I 6 A_SkelFist
Goto See
Missile:
SKEL J 0 BRIGHT A_FaceTarget
SKEL J 10 BRIGHT A_FaceTarget
SKEL K 10 A_SkelMissile
SKEL K 10 A_FaceTarget
Goto See
Pain:
SKEL L 5
SKEL L 5 A_Pain
Goto See
Death:
SKEL LM 7
SKEL N 7 A_Scream
SKEL O 7 A_NoBlocking
SKEL P 7
SKEL Q -1
Stop
Raise:
SKEL Q 5
SKEL PONML 5
Goto See
}
}
//===========================================================================
//
// Revenant Tracer
//
//===========================================================================
ACTOR RevenantTracer
{
Radius 11
Height 8
Speed 10
Damage 10
Projectile
+SEEKERMISSILE
+RANDOMIZE
SeeSound "skeleton/attack"
DeathSound "skeleton/tracex"
RenderStyle Add
States
{
Spawn:
FATB AB 2 BRIGHT A_Tracer
Loop
Death:
FBXP A 8 BRIGHT
FBXP B 6 BRIGHT
FBXP C 4 BRIGHT
Stop
}
}
//===========================================================================
//
// Revenant Tracer Smoke
//
//===========================================================================
ACTOR RevenantTracerSmoke
{
+NOBLOCKMAP
+NOGRAVITY
+NOTELEPORT
RenderStyle Translucent
Alpha 0.5
States
{
Spawn:
PUFF ABABC 4
Stop
}
}

View file

@ -1,306 +0,0 @@
// Scriptable marine -------------------------------------------------------
ACTOR ScriptedMarine native
{
Health 100
Radius 16
Height 56
Mass 100
Speed 8
Painchance 160
MONSTER
-COUNTKILL
Translation 0
Damage 100
DeathSound "*death"
PainSound "*pain50"
action native A_M_Refire (bool ignoremissile=false);
action native A_M_CheckAttack ();
action native A_MarineChase ();
action native A_MarineLook ();
action native A_MarineNoise ();
action native A_M_Punch (int force);
action native A_M_SawRefire ();
action native A_M_FirePistol (bool accurate);
action native A_M_FireShotgun ();
action native A_M_FireShotgun2 ();
action native A_M_FireCGun(bool accurate);
action native A_M_FireMissile ();
action native A_M_FirePlasma ();
action native A_M_FireRailgun ();
action native A_M_BFGsound ();
action native A_M_FireBFG ();
States
{
Spawn:
PLAY A 4 A_MarineLook
PLAY A 4 A_MarineNoise
Loop
Idle:
PLAY A 4 A_MarineLook
PLAY A 4 A_MarineNoise
PLAY A 4 A_MarineLook
PLAY B 4 A_MarineNoise
PLAY B 4 A_MarineLook
PLAY B 4 A_MarineNoise
Loop
See:
PLAY ABCD 4 A_MarineChase
Loop
Melee.Fist:
PLAY E 4 A_FaceTarget
PLAY E 4 A_M_Punch(1)
PLAY A 9
PLAY A 0 A_M_Refire(1)
Loop
PLAY A 5 A_FaceTarget
Goto See
Melee.Berserk:
PLAY E 4 A_FaceTarget
PLAY E 4 A_M_Punch(10)
PLAY A 9
PLAY A 0 A_M_Refire(1)
Loop
PLAY A 5 A_FaceTarget
Goto See
Melee.Chainsaw:
PLAY E 4 A_MarineNoise
PLAY E 4 A_M_Saw
PLAY E 0 A_M_SawRefire
goto Melee.Chainsaw+1
PLAY A 0
Goto See
Missile:
Missile.None:
PLAY E 12 A_FaceTarget
Goto Idle
PLAY F 6 BRIGHT
Loop
Missile.Pistol:
PLAY E 4 A_FaceTarget
PLAY F 6 BRIGHT A_M_FirePistol(1)
PLAY A 4 A_FaceTarget
PLAY A 0 A_M_Refire
PLAY A 5
Goto See
Fireloop.Pistol:
PLAY F 6 BRIGHT A_M_FirePistol(0)
PLAY A 4 A_FaceTarget
PLAY A 0 A_M_Refire
Goto Fireloop.Pistol
PLAY A 5
Goto See
Missile.Shotgun:
PLAY E 3 A_M_CheckAttack
PLAY F 7 BRIGHT A_M_FireShotgun
Goto See
Missile.SSG:
PLAY E 3 A_M_CheckAttack
PLAY F 7 BRIGHT A_M_FireShotgun2
Goto See
Missile.Chaingun:
PLAY E 4 A_FaceTarget
PLAY FF 4 BRIGHT A_M_FireCGun(1)
PLAY FF 4 BRIGHT A_M_FireCGun(0)
PLAY A 0 A_M_Refire
Goto Missile.Chaingun+3
PLAY A 0
Goto See
Missile.Rocket:
PLAY E 8
PLAY F 6 BRIGHT A_M_FireMissile
PLAY E 6
PLAY A 0 A_M_Refire
Loop
PLAY A 0
Goto See
Missile.Plasma:
PLAY E 2 A_FaceTarget
PLAY E 0 A_FaceTarget
PLAY F 3 BRIGHT A_M_FirePlasma
PLAY A 0 A_M_Refire
Goto Missile.Plasma+1
PLAY A 0
Goto See
Missile.Railgun:
PLAY E 4 A_M_CheckAttack
PLAY F 6 BRIGHT A_M_FireRailgun
Goto See
Missile.BFG:
PLAY E 5 A_M_BFGSound
PLAY EEEEE 5 A_FaceTarget
PLAY F 6 BRIGHT A_M_FireBFG
PLAY A 4 A_FaceTarget
PLAY A 0 A_M_Refire
Loop
PLAY A 0
Goto See
SkipAttack:
PLAY A 1
Goto See
Pain:
PLAY G 4
PLAY G 4 A_Pain
Goto Idle
Death:
PLAY H 10
PLAY I 10 A_Scream
PLAY J 10 A_NoBlocking
PLAY KLM 10
PLAY N -1
Stop
XDeath:
PLAY O 5
PLAY P 5 A_XScream
PLAY Q 5 A_NoBlocking
PLAY RSTUV 5
PLAY W -1
Stop
Raise:
PLAY MLKJIH 5
Goto See
}
}
//---------------------------------------------------------------------------
ACTOR MarineFist : ScriptedMarine
{
States
{
Melee:
Goto Super::Melee.Fist
Missile:
Stop
}
}
//---------------------------------------------------------------------------
ACTOR MarineBerserk : MarineFist
{
States
{
Melee:
Goto Super::Melee.Berserk
Missile:
Stop
}
}
//---------------------------------------------------------------------------
ACTOR MarineChainsaw : ScriptedMarine
{
States
{
Melee:
Goto Super::Melee.Chainsaw
Missile:
Stop
}
}
//---------------------------------------------------------------------------
ACTOR MarinePistol : ScriptedMarine
{
States
{
Missile:
Goto Super::Missile.Pistol
}
}
//---------------------------------------------------------------------------
ACTOR MarineShotgun : ScriptedMarine
{
States
{
Missile:
Goto Super::Missile.Shotgun
}
}
//---------------------------------------------------------------------------
ACTOR MarineSSG : ScriptedMarine
{
States
{
Missile:
Goto Super::Missile.SSG
}
}
//---------------------------------------------------------------------------
ACTOR MarineChaingun : ScriptedMarine
{
States
{
Missile:
Goto Super::Missile.Chaingun
}
}
//---------------------------------------------------------------------------
ACTOR MarineRocket : MarineFist
{
States
{
Missile:
Goto Super::Missile.Rocket
}
}
//---------------------------------------------------------------------------
ACTOR MarinePlasma : ScriptedMarine
{
States
{
Missile:
Goto Super::Missile.Plasma
}
}
//---------------------------------------------------------------------------
ACTOR MarineRailgun : ScriptedMarine
{
States
{
Missile:
Goto Super::Missile.Railgun
}
}
//---------------------------------------------------------------------------
ACTOR MarineBFG : ScriptedMarine
{
States
{
Missile:
Goto Super::Missile.BFG
}
}

View file

@ -1,59 +0,0 @@
//===========================================================================
//
// Spider boss
//
//===========================================================================
ACTOR SpiderMastermind
{
Health 3000
Radius 128
Height 100
Mass 1000
Speed 12
PainChance 40
Monster
MinMissileChance 160
+BOSS
+MISSILEMORE
+FLOORCLIP
+NORADIUSDMG
+DONTMORPH
+BOSSDEATH
SeeSound "spider/sight"
AttackSound "spider/attack"
PainSound "spider/pain"
DeathSound "spider/death"
ActiveSound "spider/active"
Obituary "$OB_SPIDER"
States
{
Spawn:
SPID AB 10 A_Look
Loop
See:
SPID A 3 A_Metal
SPID ABB 3 A_Chase
SPID C 3 A_Metal
SPID CDD 3 A_Chase
SPID E 3 A_Metal
SPID EFF 3 A_Chase
Loop
Missile:
SPID A 20 BRIGHT A_FaceTarget
SPID G 4 BRIGHT A_SPosAttackUseAtkSound
SPID H 4 BRIGHT A_SposAttackUseAtkSound
SPID H 1 BRIGHT A_SpidRefire
Goto Missile+1
Pain:
SPID I 3
SPID I 3 A_Pain
Goto See
Death:
SPID J 20 A_Scream
SPID K 10 A_NoBlocking
SPID LMNOPQR 10
SPID S 30
SPID S -1 A_BossDeath
Stop
}
}

View file

@ -1,103 +0,0 @@
ACTOR StealthArachnotron : Arachnotron
{
+STEALTH
RenderStyle Translucent
Alpha 0
Obituary "$OB_STEALTHBABY"
}
ACTOR StealthArchvile : Archvile
{
+STEALTH
RenderStyle Translucent
Alpha 0
Obituary "$OB_STEALTHVILE"
}
ACTOR StealthBaron : BaronOfHell
{
+STEALTH
RenderStyle Translucent
Alpha 0
Obituary "$OB_STEALTHBARON"
HitObituary "$OB_STEALTHBARON"
}
ACTOR StealthCacodemon : Cacodemon
{
+STEALTH
RenderStyle Translucent
Alpha 0
Obituary "$OB_STEALTHCACO"
HitObituary "$OB_STEALTHCACO"
}
ACTOR StealthChaingunGuy : ChaingunGuy
{
+STEALTH
RenderStyle Translucent
Alpha 0
Obituary "$OB_STEALTHCHAINGUY"
}
ACTOR StealthDemon : Demon
{
+STEALTH
RenderStyle Translucent
Alpha 0
Obituary "$OB_STEALTHDEMON"
HitObituary "$OB_STEALTHDEMON"
}
ACTOR StealthHellKnight : HellKnight
{
+STEALTH
RenderStyle Translucent
Alpha 0
Obituary "$OB_STEALTHKNIGHT"
HitObituary "$OB_STEALTHKNIGHT"
}
ACTOR StealthDoomImp : DoomImp
{
+STEALTH
RenderStyle Translucent
Alpha 0
Obituary "$OB_STEALTHIMP"
HitObituary "$OB_STEALTHIMP"
}
ACTOR StealthFatso : Fatso
{
+STEALTH
RenderStyle Translucent
Alpha 0
Obituary "$OB_STEALTHFATSO"
}
ACTOR StealthRevenant : Revenant
{
+STEALTH
RenderStyle Translucent
Alpha 0
Obituary "$OB_STEALTHUNDEAD"
HitObituary "$OB_STEALTHUNDEAD"
}
ACTOR StealthShotgunGuy : ShotgunGuy
{
+STEALTH
RenderStyle Translucent
Alpha 0
Obituary "$OB_STEALTHSHOTGUNGUY"
}
ACTOR StealthZombieMan : ZombieMan
{
+STEALTH
RenderStyle Translucent
Alpha 0
Obituary "$OB_STEALTHZOMBIE"
}

View file

@ -1,32 +1,3 @@
#include "actors/doom/doomplayer.txt"
#include "actors/doom/possessed.txt"
#include "actors/doom/doomimp.txt"
#include "actors/doom/demon.txt"
#include "actors/doom/lostsoul.txt"
#include "actors/doom/cacodemon.txt"
#include "actors/doom/bruiser.txt"
#include "actors/doom/revenant.txt"
#include "actors/doom/arachnotron.txt"
#include "actors/doom/fatso.txt"
#include "actors/doom/painelemental.txt"
#include "actors/doom/archvile.txt"
#include "actors/doom/cyberdemon.txt"
#include "actors/doom/spidermaster.txt"
#include "actors/doom/keen.txt"
#include "actors/doom/bossbrain.txt"
#include "actors/doom/deadthings.txt"
#include "actors/doom/doomammo.txt"
#include "actors/doom/doomarmor.txt"
#include "actors/doom/doomartifacts.txt"
#include "actors/doom/doomhealth.txt"
#include "actors/doom/doomkeys.txt"
#include "actors/doom/doommisc.txt"
#include "actors/doom/doomdecorations.txt"
#include "actors/doom/doomweapons.txt"
#include "actors/doom/stealthmonsters.txt"
#include "actors/doom/scriptedmarine.txt"
#include "actors/raven/artiegg.txt"
#include "actors/raven/artitele.txt"
#include "actors/raven/ravenartifacts.txt"

View file

@ -30,6 +30,34 @@ zscript/shared/setcolor.txt
zscript/shared/sectoraction.txt
zscript/shared/dog.txt
zscript/doom/doomplayer.txt
zscript/doom/possessed.txt
zscript/doom/doomimp.txt
zscript/doom/demon.txt
zscript/doom/lostsoul.txt
zscript/doom/cacodemon.txt
zscript/doom/bruiser.txt
zscript/doom/revenant.txt
zscript/doom/arachnotron.txt
zscript/doom/fatso.txt
zscript/doom/painelemental.txt
zscript/doom/archvile.txt
zscript/doom/cyberdemon.txt
zscript/doom/spidermaster.txt
zscript/doom/keen.txt
zscript/doom/bossbrain.txt
zscript/doom/deadthings.txt
zscript/doom/doomammo.txt
zscript/doom/doomarmor.txt
zscript/doom/doomartifacts.txt
zscript/doom/doomhealth.txt
zscript/doom/doomkeys.txt
zscript/doom/doommisc.txt
zscript/doom/doomdecorations.txt
zscript/doom/doomweapons.txt
zscript/doom/stealthmonsters.txt
zscript/doom/scriptedmarine.txt
//zscript/test1.txt

View file

@ -0,0 +1,91 @@
//===========================================================================
//
// Arachnotron
//
//===========================================================================
class Arachnotron : Actor
{
Default
{
Health 500;
Radius 64;
Height 64;
Mass 600;
Speed 12;
PainChance 128;
Monster;
+FLOORCLIP
+BOSSDEATH
SeeSound "baby/sight";
PainSound "baby/pain";
DeathSound "baby/death";
ActiveSound "baby/active";
Obituary "$OB_BABY";
}
States
{
Spawn:
BSPI AB 10 A_Look;
Loop;
See:
BSPI A 20;
BSPI A 3 A_BabyMetal;
BSPI ABBCC 3 A_Chase;
BSPI D 3 A_BabyMetal;
BSPI DEEFF 3 A_Chase;
Goto See+1;
Missile:
BSPI A 20 BRIGHT A_FaceTarget;
BSPI G 4 BRIGHT A_BspiAttack;
BSPI H 4 BRIGHT;
BSPI H 1 BRIGHT A_SpidRefire;
Goto Missile+1;
Pain:
BSPI I 3;
BSPI I 3 A_Pain;
Goto See+1;
Death:
BSPI J 20 A_Scream;
BSPI K 7 A_NoBlocking;
BSPI LMNO 7;
BSPI P -1 A_BossDeath;
Stop;
Raise:
BSPI P 5;
BSPI ONMLKJ 5;
Goto See+1;
}
}
//===========================================================================
//
// Arachnotron plasma
//
//===========================================================================
class ArachnotronPlasma : Actor
{
Default
{
Radius 13;
Height 8;
Speed 25;
Damage 5;
Projectile;
+RANDOMIZE
RenderStyle "Add";
Alpha 0.75;
SeeSound "baby/attack";
DeathSound "baby/shotx";
}
States
{
Spawn:
APLS AB 5 BRIGHT;
Loop;
Death:
APBX ABCDE 5 BRIGHT;
Stop;
}
}

View file

@ -0,0 +1,89 @@
//===========================================================================
//
// Arch Vile
//
//===========================================================================
class Archvile : Actor
{
Default
{
Health 700;
Radius 20;
Height 56;
Mass 500;
Speed 15;
PainChance 10;
Monster;
MaxTargetRange 896;
+QUICKTORETALIATE
+FLOORCLIP
+NOTARGET
SeeSound "vile/sight";
PainSound "vile/pain";
DeathSound "vile/death";
ActiveSound "vile/active";
MeleeSound "vile/stop";
Obituary "$OB_VILE";
}
States
{
Spawn:
VILE AB 10 A_Look;
Loop;
See:
VILE AABBCCDDEEFF 2 A_VileChase;
Loop;
Missile:
VILE G 0 BRIGHT A_VileStart;
VILE G 10 BRIGHT A_FaceTarget;
VILE H 8 BRIGHT A_VileTarget;
VILE IJKLMN 8 BRIGHT A_FaceTarget;
VILE O 8 BRIGHT A_VileAttack;
VILE P 20 BRIGHT;
Goto See;
Heal:
VILE [\] 10 BRIGHT;
Goto See;
Pain:
VILE Q 5;
VILE Q 5 A_Pain;
Goto See;
Death:
VILE Q 7;
VILE R 7 A_Scream;
VILE S 7 A_NoBlocking;
VILE TUVWXY 7;
VILE Z -1;
Stop;
}
}
//===========================================================================
//
// Arch Vile Fire
//
//===========================================================================
class ArchvileFire : Actor
{
Default
{
+NOBLOCKMAP +NOGRAVITY
RenderStyle "Add";
Alpha 1;
}
States
{
Spawn:
FIRE A 2 BRIGHT A_StartFire;
FIRE BAB 2 BRIGHT A_Fire;
FIRE C 2 BRIGHT A_FireCrackle;
FIRE BCBCDCDCDEDED 2 BRIGHT A_Fire;
FIRE E 2 BRIGHT A_FireCrackle;
FIRE FEFEFGHGHGH 2 BRIGHT A_Fire;
Stop;
}
}

View file

@ -0,0 +1,135 @@
//===========================================================================
//
// Boss Brain
//
//===========================================================================
class BossBrain : Actor
{
Default
{
Health 250;
Mass 10000000;
PainChance 255;
+SOLID +SHOOTABLE
+NOICEDEATH
+OLDRADIUSDMG
PainSound "brain/pain";
DeathSound "brain/death";
}
States
{
BrainExplode:
MISL BC 10 Bright;
MISL D 10 A_BrainExplode;
Stop;
Spawn:
BBRN A -1;
Stop;
Pain:
BBRN B 36 A_BrainPain;
Goto Spawn;
Death:
BBRN A 100 A_BrainScream;
BBRN AA 10;
BBRN A -1 A_BrainDie;
Stop;
}
}
//===========================================================================
//
// Boss Eye
//
//===========================================================================
class BossEye : Actor
{
Default
{
Height 32;
+NOBLOCKMAP
+NOSECTOR
}
States
{
Spawn:
SSWV A 10 A_Look;
Loop;
See:
SSWV A 181 A_BrainAwake;
SSWV A 150 A_BrainSpit;
Wait;
}
}
//===========================================================================
//
// Boss Target
//
//===========================================================================
class BossTarget : SpecialSpot
{
Default
{
Height 32;
+NOBLOCKMAP;
+NOSECTOR;
}
}
//===========================================================================
//
// Spawn shot
//
//===========================================================================
class SpawnShot : Actor
{
Default
{
Radius 6;
Height 32;
Speed 10;
Damage 3;
Projectile;
+NOCLIP
-ACTIVATEPCROSS
+RANDOMIZE
SeeSound "brain/spit";
DeathSound "brain/cubeboom";
}
States
{
Spawn:
BOSF A 3 BRIGHT A_SpawnSound;
BOSF BCD 3 BRIGHT A_SpawnFly;
Loop;
}
}
//===========================================================================
//
// Spawn fire
//
//===========================================================================
class SpawnFire : Actor
{
Default
{
Height 78;
+NOBLOCKMAP
+NOGRAVITY
RenderStyle "Add";
}
States
{
Spawn:
FIRE ABCDEFGH 4 Bright A_Fire;
Stop;
}
}

View file

@ -0,0 +1,140 @@
//===========================================================================
//
// Baron of Hell
//
//===========================================================================
class BaronOfHell : Actor
{
Default
{
Health 1000;
Radius 24;
Height 64;
Mass 1000;
Speed 8;
PainChance 50;
Monster;
+FLOORCLIP
+BOSSDEATH
SeeSound "baron/sight";
PainSound "baron/pain";
DeathSound "baron/death";
ActiveSound "baron/active";
Obituary "$OB_BARON";
HitObituary "$OB_BARONHIT";
}
States
{
Spawn:
BOSS AB 10 A_Look ;
Loop;
See:
BOSS AABBCCDD 3 A_Chase;
Loop;
Melee:
Missile:
BOSS EF 8 A_FaceTarget;
BOSS G 8 A_BruisAttack;
Goto See;
Pain:
BOSS H 2;
BOSS H 2 A_Pain;
Goto See;
Death:
BOSS I 8;
BOSS J 8 A_Scream;
BOSS K 8;
BOSS L 8 A_NoBlocking;
BOSS MN 8;
BOSS O -1 A_BossDeath;
Stop;
Raise:
BOSS O 8;
BOSS NMLKJI 8;
Goto See;
}
}
//===========================================================================
//
// Hell Knight
//
//===========================================================================
class HellKnight : BaronOfHell
{
Default
{
Health 500;
-BOSSDEATH;
SeeSound "knight/sight";
ActiveSound "knight/active";
PainSound "knight/pain";
DeathSound "knight/death";
HitObituary "$OB_KNIGHTHIT";
Obituary "$OB_KNIGHT";
}
States
{
Spawn:
BOS2 AB 10 A_Look;
Loop;
See:
BOS2 AABBCCDD 3 A_Chase;
Loop;
Melee:
Missile:
BOS2 EF 8 A_FaceTarget;
BOS2 G 8 A_BruisAttack;
Goto See;
Pain:
BOS2 H 2;
BOS2 H 2 A_Pain;
Goto See;
Death:
BOS2 I 8;
BOS2 J 8 A_Scream;
BOS2 K 8;
BOS2 L 8 A_NoBlocking;
BOS2 MN 8;
BOS2 O -1;
Stop;
Raise:
BOS2 O 8;
BOS2 NMLKJI 8;
Goto See;
}
}
//===========================================================================
//
// Baron slime ball
//
//===========================================================================
class BaronBall : Actor
{
Default
{
Radius 6;
Height 16;
Speed 15;
FastSpeed 20;
Damage 8;
Projectile ;
+RANDOMIZE
RenderStyle "Add";
Alpha 1;
SeeSound "baron/attack";
DeathSound "baron/shotx";
Decal "BaronScorch";
}
States
{
Spawn:
BAL7 AB 4 BRIGHT;
Loop;
Death:
BAL7 CDE 6 BRIGHT;
Stop;
}
}

View file

@ -0,0 +1,88 @@
//===========================================================================
//
// Cacodemon
//
//===========================================================================
class Cacodemon : Actor
{
Default
{
Health 400;
Radius 31;
Height 56;
Mass 400;
Speed 8;
PainChance 128;
Monster;
+FLOAT +NOGRAVITY
SeeSound "caco/sight";
PainSound "caco/pain";
DeathSound "caco/death";
ActiveSound "caco/active";
Obituary "$OB_CACO";
HitObituary "$OB_CACOHIT";
}
States
{
Spawn:
HEAD A 10 A_Look;
Loop;
See:
HEAD A 3 A_Chase;
Loop;
Missile:
HEAD B 5 A_FaceTarget;
HEAD C 5 A_FaceTarget;
HEAD D 5 BRIGHT A_HeadAttack;
Goto See;
Pain:
HEAD E 3;
HEAD E 3 A_Pain;
HEAD F 6;
Goto See;
Death:
HEAD G 8;
HEAD H 8 A_Scream;
HEAD I 8;
HEAD J 8;
HEAD K 8 A_NoBlocking;
HEAD L -1 A_SetFloorClip;
Stop;
Raise:
HEAD L 8 A_UnSetFloorClip;
HEAD KJIHG 8;
Goto See;
}
}
//===========================================================================
//
// Cacodemon plasma ball
//
//===========================================================================
class CacodemonBall : Actor
{
Default
{
Radius 6;
Height 8;
Speed 10;
FastSpeed 20;
Damage 5;
Projectile;
+RANDOMIZE
RenderStyle "Add";
Alpha 1;
SeeSound "caco/attack";
DeathSound "caco/shotx";
}
States
{
Spawn:
BAL2 AB 4 BRIGHT;
Loop;
Death:
BAL2 CDE 6 BRIGHT;
Stop;
}
}

View file

@ -0,0 +1,64 @@
//===========================================================================
//
// Cyberdemon
//
//===========================================================================
class Cyberdemon : Actor
{
Default
{
Health 4000;
Radius 40;
Height 110;
Mass 1000;
Speed 16;
PainChance 20;
Monster;
MinMissileChance 160;
+BOSS
+MISSILEMORE
+FLOORCLIP
+NORADIUSDMG
+DONTMORPH
+BOSSDEATH
SeeSound "cyber/sight";
PainSound "cyber/pain";
DeathSound "cyber/death";
ActiveSound "cyber/active";
Obituary "$OB_CYBORG";
}
States
{
Spawn:
CYBR AB 10 A_Look;
Loop;
See:
CYBR A 3 A_Hoof;
CYBR ABBCC 3 A_Chase;
CYBR D 3 A_Metal;
CYBR D 3 A_Chase;
Loop;
Missile:
CYBR E 6 A_FaceTarget;
CYBR F 12 A_CyberAttack;
CYBR E 12 A_FaceTarget;
CYBR F 12 A_CyberAttack;
CYBR E 12 A_FaceTarget;
CYBR F 12 A_CyberAttack;
Goto See;
Pain:
CYBR G 10 A_Pain;
Goto See;
Death:
CYBR H 10;
CYBR I 10 A_Scream;
CYBR JKL 10;
CYBR M 10 A_NoBlocking;
CYBR NO 10;
CYBR P 30;
CYBR P -1 A_BossDeath;
Stop;
}
}

View file

@ -1,30 +1,30 @@
// Gibbed marine -----------------------------------------------------------
actor GibbedMarine
class GibbedMarine : Actor
{
States
{
Spawn:
PLAY W -1
Stop
PLAY W -1;
Stop;
}
}
// Gibbed marine (extra copy) ----------------------------------------------
actor GibbedMarineExtra : GibbedMarine
class GibbedMarineExtra : GibbedMarine
{
}
// Dead marine -------------------------------------------------------------
actor DeadMarine
class DeadMarine : Actor
{
States
{
Spawn:
PLAY N -1
Stop
PLAY N -1;
Stop;
}
}
@ -35,63 +35,78 @@ actor DeadMarine
// Dead zombie man ---------------------------------------------------------
actor DeadZombieMan : ZombieMan
class DeadZombieMan : ZombieMan
{
Skip_Super
DropItem None
Default
{
Skip_Super;
DropItem "None";
}
States
{
Spawn:
Goto Super::Death+4
Goto Super::Death+4;
}
}
// Dead shotgun guy --------------------------------------------------------
actor DeadShotgunGuy : ShotgunGuy
class DeadShotgunGuy : ShotgunGuy
{
Skip_Super
DropItem None
Default
{
Skip_Super;
DropItem "None";
}
States
{
Spawn:
Goto Super::Death+4
Goto Super::Death+4;
}
}
// Dead imp ----------------------------------------------------------------
actor DeadDoomImp : DoomImp
class DeadDoomImp : DoomImp
{
Skip_Super
Default
{
Skip_Super;
}
States
{
Spawn:
Goto Super::Death+4
Goto Super::Death+4;
}
}
// Dead demon --------------------------------------------------------------
actor DeadDemon : Demon
class DeadDemon : Demon
{
Skip_Super
Default
{
Skip_Super;
}
States
{
Spawn:
Goto Super::Death+5
Goto Super::Death+5;
}
}
// Dead cacodemon ----------------------------------------------------------
actor DeadCacodemon : Cacodemon
class DeadCacodemon : Cacodemon
{
Skip_Super
Default
{
Skip_Super;
}
States
{
Spawn:
Goto Super::Death+5
Goto Super::Death+5;
}
}
@ -103,12 +118,15 @@ actor DeadCacodemon : Cacodemon
* a holdover from that.)
*/
actor DeadLostSoul : LostSoul
class DeadLostSoul : LostSoul
{
Skip_Super
Default
{
Skip_Super;
}
States
{
Spawn:
Goto Super::Death+5
Goto Super::Death+5;
}
}

View file

@ -0,0 +1,77 @@
//===========================================================================
//
// Pink Demon
//
//===========================================================================
class Demon : Actor
{
Default
{
Health 150;
PainChance 180;
Speed 10;
Radius 30;
Height 56;
Mass 400;
Monster;
+FLOORCLIP
SeeSound "demon/sight";
AttackSound "demon/melee";
PainSound "demon/pain";
DeathSound "demon/death";
ActiveSound "demon/active";
Obituary "$OB_DEMONHIT";
}
States
{
Spawn:
SARG AB 10 A_Look;
Loop;
See:
SARG AABBCCDD 2 Fast A_Chase;
Loop;
Melee:
SARG EF 8 Fast A_FaceTarget;
SARG G 8 Fast A_SargAttack;
Goto See;
Pain:
SARG H 2 Fast;
SARG H 2 Fast A_Pain;
Goto See;
Death:
SARG I 8;
SARG J 8 A_Scream;
SARG K 4;
SARG L 4 A_NoBlocking;
SARG M 4;
SARG N -1;
Stop;
Raise:
SARG N 5;
SARG MLKJI 5;
Goto See;
}
}
//===========================================================================
//
// Spectre
//
//===========================================================================
class Spectre : Demon
{
Default
{
+SHADOW
RenderStyle "OptFuzzy";
Alpha 0.5;
SeeSound "spectre/sight";
AttackSound "spectre/melee";
PainSound "spectre/pain";
DeathSound "spectre/death";
ActiveSound "spectre/active";
HitObituary "$OB_SPECTREHIT";
}
}

View file

@ -0,0 +1,169 @@
// Clip --------------------------------------------------------------------
class Clip : Ammo
{
Default
{
Inventory.PickupMessage "$GOTCLIP";
Inventory.Amount 10;
Inventory.MaxAmount 200;
Ammo.BackpackAmount 10;
Ammo.BackpackMaxAmount 400;
Inventory.Icon "CLIPA0";
}
States
{
Spawn:
CLIP A -1;
Stop;
}
}
// Clip box ----------------------------------------------------------------
class ClipBox : Clip
{
Default
{
Inventory.PickupMessage "$GOTCLIPBOX";
Inventory.Amount 50;
}
States
{
Spawn:
AMMO A -1;
Stop;
}
}
// Rocket ------------------------------------------------------------------
class RocketAmmo : Ammo
{
Default
{
Inventory.PickupMessage "$GOTROCKET";
Inventory.Amount 1;
Inventory.MaxAmount 50;
Ammo.BackpackAmount 1;
Ammo.BackpackMaxAmount 100;
Inventory.Icon "ROCKA0";
}
States
{
Spawn:
ROCK A -1;
Stop;
}
}
// Rocket box --------------------------------------------------------------
class RocketBox : RocketAmmo
{
Default
{
Inventory.PickupMessage "$GOTROCKBOX";
Inventory.Amount 5;
}
States
{
Spawn:
BROK A -1;
Stop;
}
}
// Cell --------------------------------------------------------------------
class Cell : Ammo
{
Default
{
Inventory.PickupMessage "$GOTCELL";
Inventory.Amount 20;
Inventory.MaxAmount 300;
Ammo.BackpackAmount 20;
Ammo.BackpackMaxAmount 600;
Inventory.Icon "CELLA0";
}
States
{
Spawn:
CELL A -1;
Stop;
}
}
// Cell pack ---------------------------------------------------------------
class CellPack : Cell
{
Default
{
Inventory.PickupMessage "$GOTCELLBOX";
Inventory.Amount 100;
}
States
{
Spawn:
CELP A -1;
Stop;
}
}
// Shells ------------------------------------------------------------------
class Shell : Ammo
{
Default
{
Inventory.PickupMessage "$GOTSHELLS";
Inventory.Amount 4;
Inventory.MaxAmount 50;
Ammo.BackpackAmount 4;
Ammo.BackpackMaxAmount 100;
Inventory.Icon "SHELA0";
}
States
{
Spawn:
SHEL A -1;
Stop;
}
}
// Shell box ---------------------------------------------------------------
class ShellBox : Shell
{
Default
{
Inventory.PickupMessage "$GOTSHELLBOX";
Inventory.Amount 20;
}
States
{
Spawn:
SBOX A -1;
Stop;
}
}
// Backpack ---------------------------------------------------------------
class Backpack : BackpackItem
{
Default
{
Height 26;
Inventory.PickupMessage "$GOTBACKPACK";
}
States
{
Spawn:
BPAK A -1;
Stop;
}
}

View file

@ -0,0 +1,69 @@
// Armor bonus --------------------------------------------------------------
class ArmorBonus : BasicArmorBonus
{
Default
{
Radius 20;
Height 16;
Inventory.Pickupmessage "$GOTARMBONUS";
Inventory.Icon "ARM1A0";
Armor.Savepercent 33.335;
Armor.Saveamount 1;
Armor.Maxsaveamount 200;
+COUNTITEM
+INVENTORY.ALWAYSPICKUP
}
States
{
Spawn:
BON2 ABCDCB 6;
loop;
}
}
// Green armor --------------------------------------------------------------
class GreenArmor : BasicArmorPickup
{
Default
{
Radius 20;
Height 16;
Inventory.Pickupmessage "$GOTARMOR";
Inventory.Icon "ARM1A0";
Armor.SavePercent 33.335;
Armor.SaveAmount 100;
}
States
{
Spawn:
ARM1 A 6;
ARM1 B 7 bright;
loop;
}
}
// Blue armor ---------------------------------------------------------------
class BlueArmor : BasicArmorPickup
{
Default
{
Radius 20;
Height 16;
Inventory.Pickupmessage "$GOTMEGA";
Inventory.Icon "ARM2A0";
Armor.Savepercent 50;
Armor.Saveamount 200;
}
States
{
Spawn:
ARM2 A 6;
ARM2 B 6 bright;
loop;
}
}

View file

@ -0,0 +1,201 @@
// Invulnerability Sphere ---------------------------------------------------
class InvulnerabilitySphere : PowerupGiver
{
Default
{
+COUNTITEM
+INVENTORY.AUTOACTIVATE
+INVENTORY.ALWAYSPICKUP
+INVENTORY.BIGPOWERUP
Inventory.MaxAmount 0;
Powerup.Type "PowerInvulnerable";
Powerup.Color "InverseMap";
Inventory.PickupMessage "$GOTINVUL";
}
States
{
Spawn:
PINV ABCD 6 Bright;
Loop;
}
}
// Soulsphere --------------------------------------------------------------
class Soulsphere : Health
{
Default
{
+COUNTITEM;
+INVENTORY.AUTOACTIVATE;
+INVENTORY.ALWAYSPICKUP;
+INVENTORY.FANCYPICKUPSOUND;
Inventory.Amount 100;
Inventory.MaxAmount 200;
Inventory.PickupMessage "$GOTSUPER";
Inventory.PickupSound "misc/p_pkup";
}
States
{
Spawn:
SOUL ABCDCB 6 Bright;
Loop;
}
}
// Mega sphere --------------------------------------------------------------
class MegasphereHealth : Health // for manipulation by Dehacked
{
Default
{
Inventory.Amount 200;
Inventory.MaxAmount 200;
+INVENTORY.ALWAYSPICKUP
}
}
// DeHackEd can only modify the blue armor's type, not the megasphere's.
class BlueArmorForMegasphere : BlueArmor
{
Default
{
Armor.SavePercent 50;
Armor.SaveAmount 200;
}
}
class Megasphere : CustomInventory
{
Default
{
+COUNTITEM
+INVENTORY.ALWAYSPICKUP
Inventory.PickupMessage "$GOTMSPHERE";
Inventory.PickupSound "misc/p_pkup";
}
States
{
Spawn:
MEGA ABCD 6 BRIGHT;
Loop;
Pickup:
TNT1 A 0 A_GiveInventory("BlueArmorForMegasphere", 1);
TNT1 A 0 A_GiveInventory("MegasphereHealth", 1);
Stop;
}
}
// Invisibility -------------------------------------------------------------
class BlurSphere : PowerupGiver
{
Default
{
+COUNTITEM
+VISIBILITYPULSE
+INVENTORY.AUTOACTIVATE
+INVENTORY.ALWAYSPICKUP
+INVENTORY.BIGPOWERUP
Inventory.MaxAmount 0;
Powerup.Type "PowerInvisibility";
RenderStyle "Translucent";
Inventory.PickupMessage "$GOTINVIS";
}
States
{
Spawn:
PINS ABCD 6 Bright;
Loop;
}
}
// Radiation suit (aka iron feet) -------------------------------------------
class RadSuit : PowerupGiver
{
Default
{
Height 46;
+INVENTORY.AUTOACTIVATE
+INVENTORY.ALWAYSPICKUP
Inventory.MaxAmount 0;
Inventory.PickupMessage "$GOTSUIT";
Powerup.Type "PowerIronFeet";
}
States
{
Spawn:
SUIT A -1 Bright;
Stop;
}
}
// infrared -----------------------------------------------------------------
class Infrared : PowerupGiver
{
Default
{
+COUNTITEM
+INVENTORY.AUTOACTIVATE
+INVENTORY.ALWAYSPICKUP
Inventory.MaxAmount 0;
Powerup.Type "PowerLightAmp";
Inventory.PickupMessage "$GOTVISOR";
}
States
{
Spawn:
PVIS A 6 Bright;
PVIS B 6;
Loop;
}
}
// Allmap -------------------------------------------------------------------
class Allmap : MapRevealer
{
Default
{
+COUNTITEM
+INVENTORY.FANCYPICKUPSOUND
+INVENTORY.ALWAYSPICKUP
Inventory.MaxAmount 0;
Inventory.PickupSound "misc/p_pkup";
Inventory.PickupMessage "$GOTMAP";
}
States
{
Spawn:
PMAP ABCDCB 6 Bright;
Loop;
}
}
// Berserk ------------------------------------------------------------------
class Berserk : CustomInventory
{
Default
{
+COUNTITEM
+INVENTORY.ALWAYSPICKUP
Inventory.PickupMessage "$GOTBERSERK";
Inventory.PickupSound "misc/p_pkup";
}
States
{
Spawn:
PSTR A -1;
Stop;
Pickup:
TNT1 A 0 A_GiveInventory("PowerStrength");
TNT1 A 0 HealThing(100, 0);
TNT1 A 0 A_SelectWeapon("Fist");
Stop;
}
}

View file

@ -0,0 +1,900 @@
// Tech lamp ---------------------------------------------------------------
class TechLamp : Actor
{
Default
{
Radius 16;
Height 80;
ProjectilePassHeight -16;
+SOLID
}
States
{
Spawn:
TLMP ABCD 4 BRIGHT;
Loop;
}
}
// Tech lamp 2 -------------------------------------------------------------
class TechLamp2 : Actor
{
Default
{
Radius 16;
Height 60;
ProjectilePassHeight -16;
+SOLID
}
States
{
Spawn:
TLP2 ABCD 4 BRIGHT;
Loop;
}
}
// Column ------------------------------------------------------------------
class Column : Actor
{
Default
{
Radius 16;
Height 48;
ProjectilePassHeight -16;
+SOLID
}
States
{
Spawn:
COLU A -1 BRIGHT;
Stop;
}
}
// Tall green column -------------------------------------------------------
class TallGreenColumn : Actor
{
Default
{
Radius 16;
Height 52;
ProjectilePassHeight -16;
+SOLID
}
States
{
Spawn:
COL1 A -1;
Stop;
}
}
// Short green column ------------------------------------------------------
class ShortGreenColumn : Actor
{
Default
{
Radius 16;
Height 40;;
ProjectilePassHeight -16;
+SOLID
}
States
{
Spawn:
COL2 A -1;
Stop;
}
}
// Tall red column ---------------------------------------------------------
class TallRedColumn : Actor
{
Default
{
Radius 16;
Height 52;
ProjectilePassHeight -16;
+SOLID
}
States
{
Spawn:
COL3 A -1;
Stop;
}
}
// Short red column --------------------------------------------------------
class ShortRedColumn : Actor
{
Default
{
Radius 16;
Height 40;
ProjectilePassHeight -16;
+SOLID
}
States
{
Spawn:
COL4 A -1;
Stop;
}
}
// Skull column ------------------------------------------------------------
class SkullColumn : Actor
{
Default
{
Radius 16;
Height 40;
ProjectilePassHeight -16;
+SOLID
}
States
{
Spawn:
COL6 A -1;
Stop;
}
}
// Heart column ------------------------------------------------------------
class HeartColumn : Actor
{
Default
{
Radius 16;
Height 40;
ProjectilePassHeight -16;
+SOLID
}
States
{
Spawn:
COL5 AB 14;
Loop;
}
}
// Evil eye ----------------------------------------------------------------
class EvilEye : Actor
{
Default
{
Radius 16;
Height 54;
ProjectilePassHeight -16;
+SOLID
}
States
{
Spawn:
CEYE ABCB 6 BRIGHT;
Loop;
}
}
// Floating skull ----------------------------------------------------------
class FloatingSkull : Actor
{
Default
{
Radius 16;
Height 26;
ProjectilePassHeight -16;
+SOLID
}
States
{
Spawn:
FSKU ABC 6 BRIGHT;
Loop;
}
}
// Torch tree --------------------------------------------------------------
class TorchTree : Actor
{
Default
{
Radius 16;
Height 56;
ProjectilePassHeight -16;
+SOLID
}
States
{
Spawn:
TRE1 A -1;
Stop;
}
}
// Blue torch --------------------------------------------------------------
class BlueTorch : Actor
{
Default
{
Radius 16;
Height 68;;
ProjectilePassHeight -16;
+SOLID
}
States
{
Spawn:
TBLU ABCD 4 BRIGHT;
Loop;
}
}
// Green torch -------------------------------------------------------------
class GreenTorch : Actor
{
Default
{
Radius 16;
Height 68;
ProjectilePassHeight -16;
+SOLID
}
States
{
Spawn:
TGRN ABCD 4 BRIGHT;
Loop;
}
}
// Red torch ---------------------------------------------------------------
class RedTorch : Actor
{
Default
{
Radius 16;
Height 68;
ProjectilePassHeight -16;
+SOLID
}
States
{
Spawn:
TRED ABCD 4 BRIGHT;
Loop;
}
}
// Short blue torch --------------------------------------------------------
class ShortBlueTorch : Actor
{
Default
{
Radius 16;
Height 37;
ProjectilePassHeight -16;
+SOLID
}
States
{
Spawn:
SMBT ABCD 4 BRIGHT;
Loop;
}
}
// Short green torch -------------------------------------------------------
class ShortGreenTorch : Actor
{
Default
{
Radius 16;
Height 37;
ProjectilePassHeight -16;
+SOLID
}
States
{
Spawn:
SMGT ABCD 4 BRIGHT;
Loop;
}
}
// Short red torch ---------------------------------------------------------
class ShortRedTorch : Actor
{
Default
{
Radius 16;
Height 37;
ProjectilePassHeight -16;
+SOLID
}
States
{
Spawn:
SMRT ABCD 4 BRIGHT;
Loop;
}
}
// Stalagtite --------------------------------------------------------------
class Stalagtite : Actor
{
Default
{
Radius 16;
Height 40;
ProjectilePassHeight -16;
+SOLID
}
States
{
Spawn:
SMIT A -1;
Stop;
}
}
// Tech pillar -------------------------------------------------------------
class TechPillar : Actor
{
Default
{
Radius 16;
Height 128;
ProjectilePassHeight -16;
+SOLID
}
States
{
Spawn:
ELEC A -1;
Stop;
}
}
// Candle stick ------------------------------------------------------------
class Candlestick : Actor
{
Default
{
Radius 20;
Height 14;
ProjectilePassHeight -16;
}
States
{
Spawn:
CAND A -1 BRIGHT;
Stop;
}
}
// Candelabra --------------------------------------------------------------
class Candelabra : Actor
{
Default
{
Radius 16;
Height 60;
ProjectilePassHeight -16;
+SOLID
}
States
{
Spawn:
CBRA A -1 BRIGHT;
Stop;
}
}
// Bloody twitch -----------------------------------------------------------
class BloodyTwitch : Actor
{
Default
{
Radius 16;
Height 68;
+SOLID
+NOGRAVITY
+SPAWNCEILING
}
States
{
Spawn:
GOR1 A 10;
GOR1 B 15;
GOR1 C 8;
GOR1 B 6;
Loop;
}
}
// Meat 2 ------------------------------------------------------------------
class Meat2 : Actor
{
Default
{
Radius 16;
Height 84;
+SOLID
+NOGRAVITY
+SPAWNCEILING
}
States
{
Spawn:
GOR2 A -1;
Stop;
}
}
// Meat 3 ------------------------------------------------------------------
class Meat3 : Actor
{
Default
{
Radius 16;
Height 84;
+SOLID
+NOGRAVITY
+SPAWNCEILING
}
States
{
Spawn:
GOR3 A -1;
Stop;
}
}
// Meat 4 ------------------------------------------------------------------
class Meat4 : Actor
{
Default
{
Radius 16;
Height 68;
+SOLID
+NOGRAVITY
+SPAWNCEILING
}
States
{
Spawn:
GOR4 A -1;
Stop;
}
}
// Meat 5 ------------------------------------------------------------------
class Meat5 : Actor
{
Default
{
Radius 16;
Height 52;
+SOLID
+NOGRAVITY
+SPAWNCEILING
}
States
{
Spawn:
GOR5 A -1;
Stop;
}
}
// Nonsolid meat -----------------------------------------------------------
class NonsolidMeat2 : Meat2
{
Default
{
-SOLID
Radius 20;
}
}
class NonsolidMeat3 : Meat3
{
Default
{
-SOLID
Radius 20;
}
}
class NonsolidMeat4 : Meat4
{
Default
{
-SOLID
Radius 20;
}
}
class NonsolidMeat5 : Meat5
{
Default
{
-SOLID
Radius 20;
}
}
// Nonsolid bloody twitch --------------------------------------------------
class NonsolidTwitch : BloodyTwitch
{
Default
{
-SOLID
Radius 20;
}
}
// Head on a stick ---------------------------------------------------------
class HeadOnAStick : Actor
{
Default
{
Radius 16;
Height 56;
ProjectilePassHeight -16;
+SOLID
}
States
{
Spawn:
POL4 A -1;
Stop;
}
}
// Heads (plural!) on a stick ----------------------------------------------
class HeadsOnAStick : Actor
{
Default
{
Radius 16;
Height 64;;
ProjectilePassHeight -16;
+SOLID
}
States
{
Spawn:
POL2 A -1;
Stop;
}
}
// Head candles ------------------------------------------------------------
class HeadCandles : Actor
{
Default
{
Radius 16;
Height 42;
ProjectilePassHeight -16;
+SOLID
}
States
{
Spawn:
POL3 AB 6 BRIGHT;
Loop;
}
}
// Dead on a stick ---------------------------------------------------------
class DeadStick : Actor
{
Default
{
Radius 16;
Height 64;
ProjectilePassHeight -16;
+SOLID
}
States
{
Spawn:
POL1 A -1;
Stop;
}
}
// Still alive on a stick --------------------------------------------------
class LiveStick : Actor
{
Default
{
Radius 16;
Height 64;
ProjectilePassHeight -16;
+SOLID
}
States
{
Spawn:
POL6 A 6;
POL6 B 8;
Loop;
}
}
// Big tree ----------------------------------------------------------------
class BigTree : Actor
{
Default
{
Radius 32;
Height 108;
ProjectilePassHeight -16;
+SOLID
}
States
{
Spawn:
TRE2 A -1;
Stop;
}
}
// Burning barrel ----------------------------------------------------------
class BurningBarrel : Actor
{
Default
{
Radius 16;
Height 32;
ProjectilePassHeight -16;
+SOLID
}
States
{
Spawn:
FCAN ABC 4 BRIGHT;
Loop;
}
}
// Hanging with no guts ----------------------------------------------------
class HangNoGuts : Actor
{
Default
{
Radius 16;
Height 88;
+SOLID
+NOGRAVITY
+SPAWNCEILING
}
States
{
Spawn:
HDB1 A -1;
Stop;
}
}
// Hanging from bottom with no brain ---------------------------------------
class HangBNoBrain : Actor
{
Default
{
Radius 16;
Height 88;
+SOLID
+NOGRAVITY
+SPAWNCEILING
}
States
{
Spawn:
HDB2 A -1;
Stop;
}
}
// Hanging from top, looking down ------------------------------------------
class HangTLookingDown : Actor
{
Default
{
Radius 16;
Height 64;
+SOLID
+NOGRAVITY
+SPAWNCEILING
}
States
{
Spawn:
HDB3 A -1;
Stop;
}
}
// Hanging from top, looking up --------------------------------------------
class HangTLookingUp : Actor
{
Default
{
Radius 16;
Height 64;
+SOLID
+NOGRAVITY
+SPAWNCEILING
}
States
{
Spawn:
HDB5 A -1;
Stop;
}
}
// Hanging from top, skully ------------------------------------------------
class HangTSkull : Actor
{
Default
{
Radius 16;
Height 64;
+SOLID
+NOGRAVITY
+SPAWNCEILING
}
States
{
Spawn:
HDB4 A -1;
Stop;
}
}
// Hanging from top without a brain ----------------------------------------
class HangTNoBrain : Actor
{
Default
{
Radius 16;
Height 64;
+SOLID
+NOGRAVITY
+SPAWNCEILING
}
States
{
Spawn:
HDB6 A -1;
Stop;
}
}
// Colon gibs --------------------------------------------------------------
class ColonGibs : Actor
{
Default
{
Radius 20;
Height 4;
+NOBLOCKMAP
+MOVEWITHSECTOR
}
States
{
Spawn:
POB1 A -1;
Stop;
}
}
// Small pool o' blood -----------------------------------------------------
class SmallBloodPool : Actor
{
Default
{
Radius 20;
Height 1;
+NOBLOCKMAP
+MOVEWITHSECTOR
}
States
{
Spawn:
POB2 A -1;
Stop;
}
}
// brain stem lying on the ground ------------------------------------------
class BrainStem : Actor
{
Default
{
Radius 20;
Height 4;
+NOBLOCKMAP
+MOVEWITHSECTOR
}
States
{
Spawn:
BRS1 A -1;
Stop;
}
}
// Grey stalagmite (unused Doom sprite, definition taken from Skulltag -----
class Stalagmite : Actor
{
Default
{
Radius 16;
Height 48;
+SOLID
}
States
{
Spawn:
SMT2 A -1;
Stop;
}
}

View file

@ -0,0 +1,54 @@
// Health bonus -------------------------------------------------------------
class HealthBonus : Health
{
Default
{
+COUNTITEM
+INVENTORY.ALWAYSPICKUP
Inventory.Amount 1;
Inventory.MaxAmount 200;
Inventory.PickupMessage "$GOTHTHBONUS";
}
States
{
Spawn:
BON1 ABCDCB 6;
Loop;
}
}
// Stimpack -----------------------------------------------------------------
class Stimpack : Health
{
Default
{
Inventory.Amount 10;
Inventory.PickupMessage "$GOTSTIM";
}
States
{
Spawn:
STIM A -1;
Stop;
}
}
// Medikit -----------------------------------------------------------------
class Medikit : Health
{
Default
{
Inventory.Amount 25;
Inventory.PickupMessage "$GOTMEDIKIT";
Health.LowMessage 25, "$GOTMEDINEED";
}
States
{
Spawn:
MEDI A -1;
Stop;
}
}

View file

@ -0,0 +1,93 @@
//===========================================================================
//
// Imp
//
//===========================================================================
class DoomImp : Actor
{
Default
{
Health 60;
Radius 20;
Height 56;
Mass 100;
Speed 8;
PainChance 200;
Monster;
+FLOORCLIP
SeeSound "imp/sight";
PainSound "imp/pain";
DeathSound "imp/death";
ActiveSound "imp/active";
HitObituary "$OB_IMPHIT";
Obituary "$OB_IMP";
}
States
{
Spawn:
TROO AB 10 A_Look;
Loop;
See:
TROO AABBCCDD 3 A_Chase;
Loop;
Melee:
Missile:
TROO EF 8 A_FaceTarget;
TROO G 6 A_TroopAttack ;
Goto See;
Pain:
TROO H 2;
TROO H 2 A_Pain;
Goto See;
Death:
TROO I 8;
TROO J 8 A_Scream;
TROO K 6;
TROO L 6 A_NoBlocking;
TROO M -1;
Stop;
XDeath:
TROO N 5;
TROO O 5 A_XScream;
TROO P 5;
TROO Q 5 A_NoBlocking;
TROO RST 5;
TROO U -1;
Stop;
Raise:
TROO MLKJI 8;
Goto See;
}
}
//===========================================================================
//
// Imp fireball
//
//===========================================================================
class DoomImpBall : Actor
{
Default
{
Radius 6;
Height 8;
Speed 10;
FastSpeed 20;
Damage 3;
Projectile;
+RANDOMIZE
RenderStyle "Add";
Alpha 1;
SeeSound "imp/attack";
DeathSound "imp/shotx";
}
States
{
Spawn:
BAL1 AB 4 BRIGHT;
Loop;
Death:
BAL1 CDE 6 BRIGHT;
Stop;
}
}

View file

@ -0,0 +1,119 @@
class DoomKey : Key
{
Default
{
Radius 20;
Height 16;
+NOTDMATCH
}
}
// Blue key card ------------------------------------------------------------
class BlueCard : DoomKey
{
Default
{
Inventory.Pickupmessage "$GOTBLUECARD";
Inventory.Icon "STKEYS0";
}
States
{
Spawn:
BKEY A 10;
BKEY B 10 bright;
loop;
}
}
// Yellow key card ----------------------------------------------------------
class YellowCard : DoomKey
{
Default
{
Inventory.Pickupmessage "$GOTYELWCARD";
Inventory.Icon "STKEYS1";
}
States
{
Spawn:
YKEY A 10;
YKEY B 10 bright;
loop;
}
}
// Red key card -------------------------------------------------------------
class RedCard : DoomKey
{
Default
{
Inventory.Pickupmessage "$GOTREDCARD";
Inventory.Icon "STKEYS2";
}
States
{
Spawn:
RKEY A 10;
RKEY B 10 bright;
loop;
}
}
// Blue skull key -----------------------------------------------------------
class BlueSkull : DoomKey
{
Default
{
Inventory.Pickupmessage "$GOTBLUESKUL";
Inventory.Icon "STKEYS3";
}
States
{
Spawn:
BSKU A 10;
BSKU B 10 bright;
loop;
}
}
// Yellow skull key ---------------------------------------------------------
class YellowSkull : DoomKey
{
Default
{
Inventory.Pickupmessage "$GOTYELWSKUL";
Inventory.Icon "STKEYS4";
}
States
{
Spawn:
YSKU A 10;
YSKU B 10 bright;
loop;
}
}
// Red skull key ------------------------------------------------------------
class RedSkull : DoomKey
{
Default
{
Inventory.Pickupmessage "$GOTREDSKUL";
Inventory.Icon "STKEYS5";
}
States
{
Spawn:
RSKU A 10;
RSKU B 10 bright;
loop;
}
}

View file

@ -0,0 +1,116 @@
// The barrel of green goop ------------------------------------------------
class ExplosiveBarrel : Actor
{
Default
{
Health 20;
Radius 10;
Height 42;
+SOLID
+SHOOTABLE
+NOBLOOD
+ACTIVATEMCROSS
+DONTGIB
+NOICEDEATH
+OLDRADIUSDMG
DeathSound "world/barrelx";
Obituary "$OB_BARREL";
}
States
{
Spawn:
BAR1 AB 6;
Loop;
Death:
BEXP A 5 BRIGHT;
BEXP B 5 BRIGHT A_Scream;
BEXP C 5 BRIGHT;
BEXP D 5 BRIGHT A_Explode;
BEXP E 10 BRIGHT;
TNT1 A 1050 BRIGHT A_BarrelDestroy;
TNT1 A 5 A_Respawn;
Wait;
}
}
// Bullet puff -------------------------------------------------------------
class BulletPuff : Actor
{
Default
{
+NOBLOCKMAP
+NOGRAVITY
+ALLOWPARTICLES
+RANDOMIZE
RenderStyle "Translucent";
Alpha 0.5;
VSpeed 1;
Mass 5;
}
States
{
Spawn:
PUFF A 4 Bright;
PUFF B 4;
Melee:
PUFF CD 4;
Stop;
}
}
// Container for an unused state -------------------------------------------
/* Doom defined the states S_STALAG, S_DEADTORSO, and S_DEADBOTTOM but never
* actually used them. For compatibility with DeHackEd patches, they still
* need to be kept around. This class serves that purpose.
*/
class DoomUnusedStates : Actor
{
States
{
Label1:
SMT2 A -1;
stop;
Label2:
PLAY N -1;
stop;
PLAY S -1;
stop;
TNT: // MBF compatibility
TNT1 A -1;
Loop;
}
}
// MBF Beta emulation items
class EvilSceptre : ScoreItem
{
Default
{
Inventory.PickupMessage "$BETA_BONUS3";
}
States
{
Spawn:
BON3 A 6;
Loop;
}
}
class UnholyBible : ScoreItem
{
Default
{
Inventory.PickupMessage "$BETA_BONUS4";
}
States
{
Spawn:
BON4 A 6;
Loop;
}
}

View file

@ -0,0 +1,93 @@
//===========================================================================
//
// Player
//
//===========================================================================
class DoomPlayer : PlayerPawn
{
Default
{
Speed 1;
Health 100;
Radius 16;
Height 56;
Mass 100;
PainChance 255;
Player.DisplayName "Marine";
Player.CrouchSprite "PLYC";
Player.StartItem "Pistol";
Player.StartItem "Fist";
Player.StartItem "Clip", 50;
Player.WeaponSlot 1, "Fist", "Chainsaw";
Player.WeaponSlot 2, "Pistol";
Player.WeaponSlot 3, "Shotgun", "SuperShotgun";
Player.WeaponSlot 4, "Chaingun";
Player.WeaponSlot 5, "RocketLauncher";
Player.WeaponSlot 6, "PlasmaRifle";
Player.WeaponSlot 7, "BFG9000";
Player.ColorRange 112, 127;
Player.Colorset 0, "Green", 0x70, 0x7F, 0x72;
Player.Colorset 1, "Gray", 0x60, 0x6F, 0x62;
Player.Colorset 2, "Brown", 0x40, 0x4F, 0x42;
Player.Colorset 3, "Red", 0x20, 0x2F, 0x22;
// Doom Legacy additions
Player.Colorset 4, "Light Gray", 0x58, 0x67, 0x5A;
Player.Colorset 5, "Light Brown", 0x38, 0x47, 0x3A;
Player.Colorset 6, "Light Red", 0xB0, 0xBF, 0xB2;
Player.Colorset 7, "Light Blue", 0xC0, 0xCF, 0xC2;
}
States
{
Spawn:
PLAY A -1;
Loop;
See:
PLAY ABCD 4;
Loop;
Missile:
PLAY E 12;
Goto Spawn;
Melee:
PLAY F 6 BRIGHT;
Goto Missile;
Pain:
PLAY G 4;
PLAY G 4 A_Pain;
Goto Spawn;
Death:
PLAY H 0 A_PlayerSkinCheck("AltSkinDeath");
Death1:
PLAY H 10;
PLAY I 10 A_PlayerScream;
PLAY J 10 A_NoBlocking;
PLAY KLM 10;
PLAY N -1;
Stop;
XDeath:
PLAY O 0 A_PlayerSkinCheck("AltSkinXDeath");
XDeath1:
PLAY O 5;
PLAY P 5 A_XScream;
PLAY Q 5 A_NoBlocking;
PLAY RSTUV 5;
PLAY W -1;
Stop;
AltSkinDeath:
PLAY H 6;
PLAY I 6 A_PlayerScream;
PLAY JK 6;
PLAY L 6 A_NoBlocking;
PLAY MNO 6;
PLAY P -1;
Stop;
AltSkinXDeath:
PLAY Q 5 A_PlayerScream;
PLAY R 0 A_NoBlocking;
PLAY R 5 A_SkullPop;
PLAY STUVWX 5;
PLAY Y -1;
Stop;
}
}

View file

@ -0,0 +1,621 @@
// --------------------------------------------------------------------------
//
// Doom weapon base class
//
// --------------------------------------------------------------------------
class DoomWeapon : Weapon
{
Default
{
Weapon.Kickback 100;
}
}
// --------------------------------------------------------------------------
//
// Fist
//
// --------------------------------------------------------------------------
class Fist : Weapon
{
Default
{
Weapon.SelectionOrder 3700;
Weapon.Kickback 100;
Obituary "$OB_MPFIST";
Tag "$TAG_FIST";
+WEAPON.WIMPY_WEAPON
+WEAPON.MELEEWEAPON
}
States
{
Ready:
PUNG A 1 A_WeaponReady;
Loop;
Deselect:
PUNG A 1 A_Lower;
Loop;
Select:
PUNG A 1 A_Raise;
Loop;
Fire:
PUNG B 4;
PUNG C 4 A_Punch;
PUNG D 5;
PUNG C 4;
PUNG B 5 A_ReFire;
Goto Ready;
}
}
// --------------------------------------------------------------------------
//
// Pistol
//
// --------------------------------------------------------------------------
class Pistol : DoomWeapon
{
Default
{
Weapon.SelectionOrder 1900;
Weapon.AmmoUse 1;
Weapon.AmmoGive 20;
Weapon.AmmoType "Clip";
Obituary "$OB_MPPISTOL";
+WEAPON.WIMPY_WEAPON
Inventory.Pickupmessage "$PICKUP_PISTOL_DROPPED";
Tag "$TAG_PISTOL";
}
States
{
Ready:
PISG A 1 A_WeaponReady;
Loop;
Deselect:
PISG A 1 A_Lower;
Loop;
Select:
PISG A 1 A_Raise;
Loop;
Fire:
PISG A 4;
PISG B 6 A_FirePistol;
PISG C 4;
PISG B 5 A_ReFire;
Goto Ready;
Flash:
PISF A 7 Bright A_Light1;
Goto LightDone;
PISF A 7 Bright A_Light1;
Goto LightDone;
Spawn:
PIST A -1;
Stop;
}
}
// --------------------------------------------------------------------------
//
// Chainsaw
//
// --------------------------------------------------------------------------
class Chainsaw : Weapon
{
Default
{
Weapon.Kickback 0;
Weapon.SelectionOrder 2200;
Weapon.UpSound "weapons/sawup";
Weapon.ReadySound "weapons/sawidle";
Inventory.PickupMessage "$GOTCHAINSAW";
Obituary "$OB_MPCHAINSAW";
Tag "$TAG_CHAINSAW";
+WEAPON.MELEEWEAPON
}
States
{
Ready:
SAWG CD 4 A_WeaponReady;
Loop;
Deselect:
SAWG C 1 A_Lower;
Loop;
Select:
SAWG C 1 A_Raise;
Loop;
Fire:
SAWG AB 4 A_Saw;
SAWG B 0 A_ReFire;
Goto Ready;
Spawn:
CSAW A -1;
Stop;
}
}
// --------------------------------------------------------------------------
//
// Shotgun
//
// --------------------------------------------------------------------------
class Shotgun : DoomWeapon
{
Default
{
Weapon.SelectionOrder 1300;
Weapon.AmmoUse 1;
Weapon.AmmoGive 8;
Weapon.AmmoType "Shell";
Inventory.PickupMessage "$GOTSHOTGUN";
Obituary "$OB_MPSHOTGUN";
Tag "$TAG_SHOTGUN";
}
States
{
Ready:
SHTG A 1 A_WeaponReady;
Loop;
Deselect:
SHTG A 1 A_Lower;
Loop;
Select:
SHTG A 1 A_Raise;
Loop;
Fire:
SHTG A 3;
SHTG A 7 A_FireShotgun;
SHTG BC 5;
SHTG D 4;
SHTG CB 5;
SHTG A 3;
SHTG A 7 A_ReFire;
Goto Ready;
Flash:
SHTF A 4 Bright A_Light1;
SHTF B 3 Bright A_Light2;
Goto LightDone;
Spawn:
SHOT A -1;
Stop;
}
}
// --------------------------------------------------------------------------
//
// Shotgun
//
// --------------------------------------------------------------------------
class SuperShotgun : DoomWeapon
{
Default
{
Weapon.SelectionOrder 400;
Weapon.AmmoUse 2;
Weapon.AmmoGive 8;
Weapon.AmmoType "Shell";
Inventory.PickupMessage "$GOTSHOTGUN2";
Obituary "$OB_MPSSHOTGUN";
Tag "$TAG_SUPERSHOTGUN";
}
States
{
Ready:
SHT2 A 1 A_WeaponReady;
Loop;
Deselect:
SHT2 A 1 A_Lower;
Loop;
Select:
SHT2 A 1 A_Raise;
Loop;
Fire:
SHT2 A 3;
SHT2 A 7 A_FireShotgun2;
SHT2 B 7;
SHT2 C 7 A_CheckReload;
SHT2 D 7 A_OpenShotgun2;
SHT2 E 7;
SHT2 F 7 A_LoadShotgun2;
SHT2 G 6;
SHT2 H 6 A_CloseShotgun2;
SHT2 A 5 A_ReFire;
Goto Ready;
// unused states
SHT2 B 7;
SHT2 A 3;
Goto Deselect;
Flash:
SHT2 I 4 Bright A_Light1;
SHT2 J 3 Bright A_Light2;
Goto LightDone;
Spawn:
SGN2 A -1;
Stop;
}
}
// --------------------------------------------------------------------------
//
// Chaingun
//
// --------------------------------------------------------------------------
class Chaingun : DoomWeapon
{
Default
{
Weapon.SelectionOrder 700;
Weapon.AmmoUse 1;
Weapon.AmmoGive 20;
Weapon.AmmoType "Clip";
Inventory.PickupMessage "$GOTCHAINGUN";
Obituary "$OB_MPCHAINGUN";
Tag "$TAG_CHAINGUN";
}
States
{
Ready:
CHGG A 1 A_WeaponReady;
Loop;
Deselect:
CHGG A 1 A_Lower;
Loop;
Select:
CHGG A 1 A_Raise;
Loop;
Fire:
CHGG AB 4 A_FireCGun;
CHGG B 0 A_ReFire;
Goto Ready;
Flash:
CHGF A 5 Bright A_Light1;
Goto LightDone;
CHGF B 5 Bright A_Light2;
Goto LightDone;
Spawn:
MGUN A -1;
Stop;
}
}
// --------------------------------------------------------------------------
//
// Rocket launcher
//
// --------------------------------------------------------------------------
class RocketLauncher : DoomWeapon
{
Default
{
Weapon.SelectionOrder 2500;
Weapon.AmmoUse 1;
Weapon.AmmoGive 2;
Weapon.AmmoType "RocketAmmo";
+WEAPON.NOAUTOFIRE
Inventory.PickupMessage "$GOTLAUNCHER";
Tag "$TAG_ROCKETLAUNCHER";
}
States
{
Ready:
MISG A 1 A_WeaponReady;
Loop;
Deselect:
MISG A 1 A_Lower;
Loop;
Select:
MISG A 1 A_Raise;
Loop;
Fire:
MISG B 8 A_GunFlash;
MISG B 12 A_FireMissile;
MISG B 0 A_ReFire;
Goto Ready;
Flash:
MISF A 3 Bright A_Light1;
MISF B 4 Bright;
MISF CD 4 Bright A_Light2;
Goto LightDone;
Spawn:
LAUN A -1;
Stop;
}
}
class Rocket : Actor
{
Default
{
Radius 11;
Height 8;
Speed 20;
Damage 20;
Projectile;
+RANDOMIZE
+DEHEXPLOSION
+ROCKETTRAIL
SeeSound "weapons/rocklf";
DeathSound "weapons/rocklx";
Obituary "$OB_MPROCKET";
}
States
{
Spawn:
MISL A 1 Bright;
Loop;
Death:
MISL B 8 Bright A_Explode;
MISL C 6 Bright;
MISL D 4 Bright;
Stop;
}
}
// --------------------------------------------------------------------------
//
// Grenade -- Taken and adapted from Skulltag, with MBF stuff added to it
//
// --------------------------------------------------------------------------
class Grenade : Actor
{
Default
{
Radius 8;
Height 8;
Speed 25;
Damage 20;
Projectile;
-NOGRAVITY
+RANDOMIZE
+DEHEXPLOSION
+GRENADETRAIL
BounceType "Doom";
Gravity 0.25;
SeeSound "weapons/grenlf";
DeathSound "weapons/grenlx";
BounceSound "weapons/grbnce";
Obituary "$OB_GRENADE";
DamageType "Grenade";
}
States
{
Spawn:
SGRN A 1 Bright;
Loop;
Death:
MISL B 8 Bright A_Explode;
MISL C 6 Bright;
MISL D 4 Bright;
Stop;
Grenade:
MISL A 1000 A_Die;
Wait;
Detonate:
MISL B 4 A_Scream;
MISL C 6 A_Detonate;
MISL D 10;
Stop;
Mushroom:
MISL B 8 A_Mushroom;
Goto Death+1;
}
}
// --------------------------------------------------------------------------
//
// Plasma rifle
//
// --------------------------------------------------------------------------
class PlasmaRifle : DoomWeapon
{
Default
{
Weapon.SelectionOrder 100;
Weapon.AmmoUse 1;
Weapon.AmmoGive 40;
Weapon.AmmoType "Cell";
Inventory.PickupMessage "$GOTPLASMA";
Tag "$TAG_PLASMARIFLE";
}
States
{
Ready:
PLSG A 1 A_WeaponReady;
Loop;
Deselect:
PLSG A 1 A_Lower;
Loop;
Select:
PLSG A 1 A_Raise;
Loop;
Fire:
PLSG A 3 A_FirePlasma;
PLSG B 20 A_ReFire;
Goto Ready;
Flash:
PLSF A 4 Bright A_Light1;
Goto LightDone;
PLSF B 4 Bright A_Light1;
Goto LightDone;
Spawn:
PLAS A -1;
Stop;
}
}
class PlasmaBall : Actor
{
Default
{
Radius 13;
Height 8;
Speed 25;
Damage 5;
Projectile;
+RANDOMIZE
RenderStyle "Add";
Alpha 0.75;
SeeSound "weapons/plasmaf";
DeathSound "weapons/plasmax";
Obituary "$OB_MPPLASMARIFLE";
}
States
{
Spawn:
PLSS AB 6 Bright;
Loop;
Death:
PLSE ABCDE 4 Bright;
Stop;
}
}
// --------------------------------------------------------------------------
//
// BFG 2704
//
// --------------------------------------------------------------------------
class PlasmaBall1 : PlasmaBall
{
Default
{
Damage 4;
BounceType "Classic";
BounceFactor 1.0;
Obituary "$OB_MPBFG_MBF";
}
States
{
Spawn:
PLS1 AB 6 Bright;
Loop;
Death:
PLS1 CDEFG 4 Bright;
Stop;
}
}
class PlasmaBall2 : PlasmaBall1
{
States
{
Spawn:
PLS2 AB 6 Bright;
Loop;
Death:
PLS2 CDE 4 Bright;
Stop;
}
}
// --------------------------------------------------------------------------
//
// BFG 9000
//
// --------------------------------------------------------------------------
class BFG9000 : DoomWeapon
{
Default
{
Height 20;
Weapon.SelectionOrder 2800;
Weapon.AmmoUse 40;
Weapon.AmmoGive 40;
Weapon.AmmoType "Cell";
+WEAPON.NOAUTOFIRE;
Inventory.PickupMessage "$GOTBFG9000";
Tag "$TAG_BFG9000";
}
States
{
Ready:
BFGG A 1 A_WeaponReady;
Loop;
Deselect:
BFGG A 1 A_Lower;
Loop;
Select:
BFGG A 1 A_Raise;
Loop;
Fire:
BFGG A 20 A_BFGsound;
BFGG B 10 A_GunFlash;
BFGG B 10 A_FireBFG;
BFGG B 20 A_ReFire;
Goto Ready;
Flash:
BFGF A 11 Bright A_Light1;
BFGF B 6 Bright A_Light2;
Goto LightDone;
Spawn:
BFUG A -1;
Stop;
OldFire:
BFGG A 10 A_BFGsound;
BFGG BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB 1 A_FireOldBFG;
BFGG B 0 A_Light0;
BFGG B 20 A_ReFire;
Goto Ready;
}
}
class BFGBall : Actor
{
Default
{
Radius 13;
Height 8;
Speed 25;
Damage 100;
Projectile;
+RANDOMIZE
RenderStyle "Add";
Alpha 0.75;
DeathSound "weapons/bfgx";
Obituary "$OB_MPBFG_BOOM";
}
States
{
Spawn:
BFS1 AB 4 Bright;
Loop;
Death:
BFE1 AB 8 Bright;
BFE1 C 8 Bright A_BFGSpray;
BFE1 DEF 8 Bright;
Stop;
}
}
class BFGExtra : Actor
{
Default
{
+NOBLOCKMAP
+NOGRAVITY
RenderStyle "Add";
Alpha 0.75;
DamageType "BFGSplash";
}
States
{
Spawn:
BFE2 ABCD 8 Bright;
Stop;
}
}

View file

@ -0,0 +1,95 @@
//===========================================================================
//
// Mancubus
//
//===========================================================================
class Fatso : Actor
{
Default
{
Health 600;
Radius 48;
Height 64;
Mass 1000;
Speed 8;
PainChance 80;
Monster;
+FLOORCLIP
+BOSSDEATH
SeeSound "fatso/sight";
PainSound "fatso/pain";
DeathSound "fatso/death";
ActiveSound "fatso/active";
Obituary "$OB_FATSO";
}
States
{
Spawn:
FATT AB 15 A_Look;
Loop;
See:
FATT AABBCCDDEEFF 4 A_Chase;
Loop;
Missile:
FATT G 20 A_FatRaise;
FATT H 10 BRIGHT A_FatAttack1;
FATT IG 5 A_FaceTarget;
FATT H 10 BRIGHT A_FatAttack2;
FATT IG 5 A_FaceTarget;
FATT H 10 BRIGHT A_FatAttack3;
FATT IG 5 A_FaceTarget;
Goto See;
Pain:
FATT J 3;
FATT J 3 A_Pain;
Goto See;
Death:
FATT K 6;
FATT L 6 A_Scream;
FATT M 6 A_NoBlocking;
FATT NOPQRS 6;
FATT T -1 A_BossDeath;
Stop;
Raise:
FATT R 5;
FATT QPONMLK 5;
Goto See;
}
}
//===========================================================================
//
// Mancubus fireball
//
//===========================================================================
class FatShot : Actor
{
Default
{
Radius 6;
Height 8;
Speed 20;
Damage 8;
Projectile;
+RANDOMIZE
RenderStyle "Add";
Alpha 1;
SeeSound "fatso/attack";
DeathSound "fatso/shotx";
}
States
{
Spawn:
MANF AB 4 BRIGHT;
Loop;
Death:
MISL B 8 BRIGHT;
MISL C 6 BRIGHT;
MISL D 4 BRIGHT;
Stop;
}
}

View file

@ -0,0 +1,44 @@
//===========================================================================
//
// Commander Keen
//
//===========================================================================
class CommanderKeen : Actor
{
Default
{
Health 100;
Radius 16;
Height 72;
Mass 10000000;
PainChance 256;
+SOLID
+SPAWNCEILING
+NOGRAVITY
+SHOOTABLE
+COUNTKILL
+NOICEDEATH
+ISMONSTER
PainSound "keen/pain";
DeathSound "keen/death";
}
States
{
Spawn:
KEEN A -1;
Loop;
Death:
KEEN AB 6;
KEEN C 6 A_Scream;
KEEN DEFGH 6;
KEEN I 6;
KEEN J 6;
KEEN K 6 A_KeenDie;
KEEN L -1;
Stop;
Pain:
KEEN M 4;
KEEN M 8 A_Pain;
Goto Spawn;
}
}

View file

@ -0,0 +1,83 @@
//===========================================================================
//
// Lost Soul
//
//===========================================================================
class LostSoul : Actor
{
Default
{
Health 100;
Radius 16;
Height 56;
Mass 50;
Speed 8;
Damage 3;
PainChance 256;
Monster;
+FLOAT +NOGRAVITY +MISSILEMORE +DONTFALL +NOICEDEATH;
AttackSound "skull/melee";
PainSound "skull/pain";
DeathSound "skull/death";
ActiveSound "skull/active";
RenderStyle "SoulTrans";
Obituary "$OB_SKULL";
}
States
{
Spawn:
SKUL AB 10 BRIGHT A_Look;
Loop;
See:
SKUL AB 6 BRIGHT A_Chase;
Loop;
Missile:
SKUL C 10 BRIGHT A_FaceTarget;
SKUL D 4 BRIGHT A_SkullAttack;
SKUL CD 4 BRIGHT;
Goto Missile+2;
Pain:
SKUL E 3 BRIGHT;
SKUL E 3 BRIGHT A_Pain;
Goto See;
Death:
SKUL F 6 BRIGHT;
SKUL G 6 BRIGHT A_Scream;
SKUL H 6 BRIGHT;
SKUL I 6 BRIGHT A_NoBlocking;
SKUL J 6;
SKUL K 6;
Stop;
}
}
class BetaSkull : LostSoul
{
States
{
Spawn:
SKUL A 10 A_Look;
Loop;
See:
SKUL BCDA 5 A_Chase;
Loop;
Missile:
SKUL E 4 A_FaceTarget;
SKUL F 5 A_BetaSkullAttack;
SKUL F 4;
Goto See;
Pain:
SKUL G 4;
SKUL H 2 A_Pain;
Goto See;
SKUL I 4;
Goto See;
Death:
SKUL JKLM 5;
SKUL N 5 A_Scream;
SKUL O 5;
SKUL P 5 A_Fall;
SKUL Q 5 A_Stop;
Wait;
}
}

View file

@ -0,0 +1,53 @@
//===========================================================================
//
// Pain Elemental
//
//===========================================================================
class PainElemental : Actor
{
Default
{
Health 400;
Radius 31;
Height 56;
Mass 400;
Speed 8;
PainChance 128;
Monster;
+FLOAT
+NOGRAVITY
SeeSound "pain/sight";
PainSound "pain/pain";
DeathSound "pain/death";
ActiveSound "pain/active";
}
States
{
Spawn:
PAIN A 10 A_Look;
Loop;
See:
PAIN AABBCC 3 A_Chase;
Loop;
Missile:
PAIN D 5 A_FaceTarget;
PAIN E 5 A_FaceTarget;
PAIN F 5 BRIGHT A_FaceTarget;
PAIN F 0 BRIGHT A_PainAttack;
Goto See;
Pain:
PAIN G 6;
PAIN G 6 A_Pain;
Goto See;
Death:
PAIN H 8 BRIGHT;
PAIN I 8 BRIGHT A_Scream;
PAIN JK 8 BRIGHT;
PAIN L 8 BRIGHT A_PainDie;
PAIN M 8 BRIGHT;
Stop;
Raise:
PAIN MLKJIH 8;
Goto See;
}
}

View file

@ -0,0 +1,253 @@
//===========================================================================
//
// Zombie man
//
//===========================================================================
class ZombieMan : Actor
{
Default
{
Health 20;
Radius 20;
Height 56;
Speed 8;
PainChance 200;
Monster;
+FLOORCLIP
SeeSound "grunt/sight";
AttackSound "grunt/attack";
PainSound "grunt/pain";
DeathSound "grunt/death";
ActiveSound "grunt/active";
Obituary "$OB_ZOMBIE";
DropItem "Clip";
}
States
{
Spawn:
POSS AB 10 A_Look;
Loop;
See:
POSS AABBCCDD 4 A_Chase;
Loop;
Missile:
POSS E 10 A_FaceTarget;
POSS F 8 A_PosAttack;
POSS E 8;
Goto See;
Pain:
POSS G 3;
POSS G 3 A_Pain;
Goto See;
Death:
POSS H 5;
POSS I 5 A_Scream;
POSS J 5 A_NoBlocking;
POSS K 5;
POSS L -1;
Stop;
XDeath:
POSS M 5;
POSS N 5 A_XScream;
POSS O 5 A_NoBlocking;
POSS PQRST 5;
POSS U -1;
Stop;
Raise:
POSS K 5;
POSS JIH 5;
Goto See;
}
}
//===========================================================================
//
// Sergeant / Shotgun guy
//
//===========================================================================
class ShotgunGuy : Actor
{
Default
{
Health 30;
Radius 20;
Height 56;
Mass 100;
Speed 8;
PainChance 170;
Monster;
+FLOORCLIP
SeeSound "shotguy/sight";
AttackSound "shotguy/attack";
PainSound "shotguy/pain";
DeathSound "shotguy/death";
ActiveSound "shotguy/active";
Obituary "$OB_SHOTGUY";
DropItem "Shotgun";
}
States
{
Spawn:
SPOS AB 10 A_Look;
Loop;
See:
SPOS AABBCCDD 3 A_Chase;
Loop;
Missile:
SPOS E 10 A_FaceTarget;
SPOS F 10 BRIGHT A_SposAttackUseAtkSound;
SPOS E 10;
Goto See;
Pain:
SPOS G 3;
SPOS G 3 A_Pain;
Goto See;
Death:
SPOS H 5;
SPOS I 5 A_Scream;
SPOS J 5 A_NoBlocking;
SPOS K 5;
SPOS L -1;
Stop;
XDeath:
SPOS M 5;
SPOS N 5 A_XScream;
SPOS O 5 A_NoBlocking;
SPOS PQRST 5;
SPOS U -1;
Stop;
Raise:
SPOS L 5;
SPOS KJIH 5;
Goto See;
}
}
//===========================================================================
//
// Chaingunner
//
//===========================================================================
class ChaingunGuy : Actor
{
Default
{
Health 70;
Radius 20;
Height 56;
Mass 100;
Speed 8;
PainChance 170;
Monster;
+FLOORCLIP
SeeSound "chainguy/sight";
PainSound "chainguy/pain";
DeathSound "chainguy/death";
ActiveSound "chainguy/active";
AttackSound "chainguy/attack";
Obituary "$OB_CHAINGUY";
Dropitem "Chaingun";
}
States
{
Spawn:
CPOS AB 10 A_Look;
Loop;
See:
CPOS AABBCCDD 3 A_Chase;
Loop;
Missile:
CPOS E 10 A_FaceTarget;
CPOS FE 4 BRIGHT A_CPosAttack;
CPOS F 1 A_CPosRefire;
Goto Missile+1;
Pain:
CPOS G 3;
CPOS G 3 A_Pain;
Goto See;
Death:
CPOS H 5;
CPOS I 5 A_Scream;
CPOS J 5 A_NoBlocking;
CPOS KLM 5;
CPOS N -1;
Stop;
XDeath:
CPOS O 5;
CPOS P 5 A_XScream;
CPOS Q 5 A_NoBlocking;
CPOS RS 5;
CPOS T -1;
Stop;
Raise:
CPOS N 5;
CPOS MLKJIH 5;
Goto See;
}
}
//===========================================================================
//
// SS Nazi
//
//===========================================================================
class WolfensteinSS : Actor
{
Default
{
Health 50;
Radius 20;
Height 56;
Speed 8;
PainChance 170;
Monster;
+FLOORCLIP
SeeSound "wolfss/sight";
PainSound "wolfss/pain";
DeathSound "wolfss/death";
ActiveSound "wolfss/active";
AttackSound "wolfss/attack";
Obituary "$OB_WOLFSS";
Dropitem "Clip";
}
States
{
Spawn:
SSWV AB 10 A_Look;
Loop;
See:
SSWV AABBCCDD 3 A_Chase;
Loop;
Missile:
SSWV E 10 A_FaceTarget;
SSWV F 10 A_FaceTarget;
SSWV G 4 BRIGHT A_CPosAttack;
SSWV F 6 A_FaceTarget;
SSWV G 4 BRIGHT A_CPosAttack;
SSWV F 1 A_CPosRefire;
Goto Missile+1;
Pain:
SSWV H 3;
SSWV H 3 A_Pain;
Goto See;
Death:
SSWV I 5;
SSWV J 5 A_Scream;
SSWV K 5 A_NoBlocking;
SSWV L 5;
SSWV M -1;
Stop;
XDeath:
SSWV N 5 ;
SSWV O 5 A_XScream;
SSWV P 5 A_NoBlocking;
SSWV QRSTU 5;
SSWV V -1;
Stop;
Raise:
SSWV M 5;
SSWV LKJI 5;
Goto See ;
}
}

View file

@ -0,0 +1,122 @@
//===========================================================================
//
// Revenant
//
//===========================================================================
class Revenant : Actor
{
Default
{
Health 300;
Radius 20;
Height 56;
Mass 500;
Speed 10;
PainChance 100;
Monster;
MeleeThreshold 196;
+MISSILEMORE
+FLOORCLIP
SeeSound "skeleton/sight";
PainSound "skeleton/pain";
DeathSound "skeleton/death";
ActiveSound "skeleton/active";
MeleeSound "skeleton/melee";
HitObituary "$OB_UNDEADHIT";
Obituary "$OB_UNDEAD";
}
States
{
Spawn:
SKEL AB 10 A_Look;
Loop;
See:
SKEL AABBCCDDEEFF 2 A_Chase;
Loop;
Melee:
SKEL G 0 A_FaceTarget;
SKEL G 6 A_SkelWhoosh;
SKEL H 6 A_FaceTarget;
SKEL I 6 A_SkelFist;
Goto See;
Missile:
SKEL J 0 BRIGHT A_FaceTarget;
SKEL J 10 BRIGHT A_FaceTarget;
SKEL K 10 A_SkelMissile;
SKEL K 10 A_FaceTarget;
Goto See;
Pain:
SKEL L 5;
SKEL L 5 A_Pain;
Goto See;
Death:
SKEL LM 7;
SKEL N 7 A_Scream;
SKEL O 7 A_NoBlocking;
SKEL P 7;
SKEL Q -1;
Stop;
Raise:
SKEL Q 5;
SKEL PONML 5;
Goto See;
}
}
//===========================================================================
//
// Revenant Tracer
//
//===========================================================================
class RevenantTracer : Actor
{
Default
{
Radius 11;
Height 8;
Speed 10;
Damage 10;
Projectile;
+SEEKERMISSILE
+RANDOMIZE
SeeSound "skeleton/attack";
DeathSound "skeleton/tracex";
RenderStyle "Add";
}
States
{
Spawn:
FATB AB 2 BRIGHT A_Tracer;
Loop;
Death:
FBXP A 8 BRIGHT;
FBXP B 6 BRIGHT;
FBXP C 4 BRIGHT;
Stop;
}
}
//===========================================================================
//
// Revenant Tracer Smoke
//
//===========================================================================
class RevenantTracerSmoke : Actor
{
Default
{
+NOBLOCKMAP
+NOGRAVITY
+NOTELEPORT
RenderStyle "Translucent";
Alpha 0.5;
}
States
{
Spawn:
PUFF ABABC 4;
Stop;
}
}

View file

@ -0,0 +1,309 @@
// Scriptable marine -------------------------------------------------------
class ScriptedMarine : Actor native
{
Default
{
Health 100;
Radius 16;
Height 56;
Mass 100;
Speed 8;
Painchance 160;
MONSTER;
-COUNTKILL
Translation 0;
Damage 100;
DeathSound "*death";
PainSound "*pain50";
}
action native void A_M_Refire (bool ignoremissile=false);
action native void A_M_CheckAttack ();
action native void A_MarineChase ();
action native void A_MarineLook ();
action native void A_MarineNoise ();
action native void A_M_Punch (int force);
action native void A_M_SawRefire ();
action native void A_M_FirePistol (bool accurate);
action native void A_M_FireShotgun ();
action native void A_M_FireShotgun2 ();
action native void A_M_FireCGun(bool accurate);
action native void A_M_FireMissile ();
action native void A_M_FirePlasma ();
action native void A_M_FireRailgun ();
action native void A_M_BFGsound ();
action native void A_M_FireBFG ();
States
{
Spawn:
PLAY A 4 A_MarineLook;
PLAY A 4 A_MarineNoise;
Loop;
Idle:
PLAY A 4 A_MarineLook;
PLAY A 4 A_MarineNoise;
PLAY A 4 A_MarineLook;
PLAY B 4 A_MarineNoise;
PLAY B 4 A_MarineLook;
PLAY B 4 A_MarineNoise;
Loop;
See:
PLAY ABCD 4 A_MarineChase;
Loop;
Melee.Fist:
PLAY E 4 A_FaceTarget;
PLAY E 4 A_M_Punch(1);
PLAY A 9;
PLAY A 0 A_M_Refire(1);
Loop;
PLAY A 5 A_FaceTarget;
Goto See;
Melee.Berserk:
PLAY E 4 A_FaceTarget;
PLAY E 4 A_M_Punch(10);
PLAY A 9;
PLAY A 0 A_M_Refire(1);
Loop;
PLAY A 5 A_FaceTarget;
Goto See;
Melee.Chainsaw:
PLAY E 4 A_MarineNoise;
PLAY E 4 A_M_Saw;
PLAY E 0 A_M_SawRefire;
goto Melee.Chainsaw+1;
PLAY A 0;
Goto See;
Missile:
Missile.None:
PLAY E 12 A_FaceTarget;
Goto Idle;
PLAY F 6 BRIGHT;
Loop;
Missile.Pistol:
PLAY E 4 A_FaceTarget;
PLAY F 6 BRIGHT A_M_FirePistol(1);
PLAY A 4 A_FaceTarget;
PLAY A 0 A_M_Refire;
PLAY A 5;
Goto See;
Fireloop.Pistol:
PLAY F 6 BRIGHT A_M_FirePistol(0);
PLAY A 4 A_FaceTarget;
PLAY A 0 A_M_Refire;
Goto Fireloop.Pistol;
PLAY A 5;
Goto See;
Missile.Shotgun:
PLAY E 3 A_M_CheckAttack;
PLAY F 7 BRIGHT A_M_FireShotgun;
Goto See;
Missile.SSG:
PLAY E 3 A_M_CheckAttack;
PLAY F 7 BRIGHT A_M_FireShotgun2;
Goto See;
Missile.Chaingun:
PLAY E 4 A_FaceTarget;
PLAY FF 4 BRIGHT A_M_FireCGun(1);
PLAY FF 4 BRIGHT A_M_FireCGun(0);
PLAY A 0 A_M_Refire;
Goto Missile.Chaingun+3;
PLAY A 0;
Goto See;
Missile.Rocket:
PLAY E 8;
PLAY F 6 BRIGHT A_M_FireMissile;
PLAY E 6;
PLAY A 0 A_M_Refire;
Loop;
PLAY A 0;
Goto See;
Missile.Plasma:
PLAY E 2 A_FaceTarget;
PLAY E 0 A_FaceTarget;
PLAY F 3 BRIGHT A_M_FirePlasma;
PLAY A 0 A_M_Refire;
Goto Missile.Plasma+1;
PLAY A 0;
Goto See;
Missile.Railgun:
PLAY E 4 A_M_CheckAttack;
PLAY F 6 BRIGHT A_M_FireRailgun;
Goto See;
Missile.BFG:
PLAY E 5 A_M_BFGSound;
PLAY EEEEE 5 A_FaceTarget;
PLAY F 6 BRIGHT A_M_FireBFG;
PLAY A 4 A_FaceTarget;
PLAY A 0 A_M_Refire;
Loop;
PLAY A 0;
Goto See;
SkipAttack:
PLAY A 1;
Goto See;
Pain:
PLAY G 4;
PLAY G 4 A_Pain;
Goto Idle;
Death:
PLAY H 10;
PLAY I 10 A_Scream;
PLAY J 10 A_NoBlocking;
PLAY KLM 10;
PLAY N -1;
Stop;
XDeath:
PLAY O 5;
PLAY P 5 A_XScream;
PLAY Q 5 A_NoBlocking;
PLAY RSTUV 5;
PLAY W -1;
Stop;
Raise:
PLAY MLKJIH 5;
Goto See;
}
}
//---------------------------------------------------------------------------
class MarineFist : ScriptedMarine
{
States
{
Melee:
Goto Super::Melee.Fist;
Missile:
Stop;
}
}
//---------------------------------------------------------------------------
class MarineBerserk : MarineFist
{
States
{
Melee:
Goto Super::Melee.Berserk;
Missile:
Stop;
}
}
//---------------------------------------------------------------------------
class MarineChainsaw : ScriptedMarine
{
States
{
Melee:
Goto Super::Melee.Chainsaw;
Missile:
Stop;
}
}
//---------------------------------------------------------------------------
class MarinePistol : ScriptedMarine
{
States
{
Missile:
Goto Super::Missile.Pistol;
}
}
//---------------------------------------------------------------------------
class MarineShotgun : ScriptedMarine
{
States
{
Missile:
Goto Super::Missile.Shotgun;
}
}
//---------------------------------------------------------------------------
class MarineSSG : ScriptedMarine
{
States
{
Missile:
Goto Super::Missile.SSG;
}
}
//---------------------------------------------------------------------------
class MarineChaingun : ScriptedMarine
{
States
{
Missile:
Goto Super::Missile.Chaingun;
}
}
//---------------------------------------------------------------------------
class MarineRocket : MarineFist
{
States
{
Missile:
Goto Super::Missile.Rocket;
}
}
//---------------------------------------------------------------------------
class MarinePlasma : ScriptedMarine
{
States
{
Missile:
Goto Super::Missile.Plasma;
}
}
//---------------------------------------------------------------------------
class MarineRailgun : ScriptedMarine
{
States
{
Missile:
Goto Super::Missile.Railgun;
}
}
//---------------------------------------------------------------------------
class MarineBFG : ScriptedMarine
{
States
{
Missile:
Goto Super::Missile.BFG;
}
}

View file

@ -0,0 +1,62 @@
//===========================================================================
//
// Spider boss
//
//===========================================================================
class SpiderMastermind : Actor
{
Default
{
Health 3000;
Radius 128;
Height 100;
Mass 1000;
Speed 12;
PainChance 40;
Monster;
MinMissileChance 160;
+BOSS
+MISSILEMORE
+FLOORCLIP
+NORADIUSDMG
+DONTMORPH
+BOSSDEATH
SeeSound "spider/sight";
AttackSound "spider/attack";
PainSound "spider/pain";
DeathSound "spider/death";
ActiveSound "spider/active";
Obituary "$OB_SPIDER";
}
States
{
Spawn:
SPID AB 10 A_Look;
Loop;
See:
SPID A 3 A_Metal;
SPID ABB 3 A_Chase;
SPID C 3 A_Metal;
SPID CDD 3 A_Chase;
SPID E 3 A_Metal;
SPID EFF 3 A_Chase;
Loop;
Missile:
SPID A 20 BRIGHT A_FaceTarget;
SPID G 4 BRIGHT A_SPosAttackUseAtkSound;
SPID H 4 BRIGHT A_SposAttackUseAtkSound;
SPID H 1 BRIGHT A_SpidRefire;
Goto Missile+1;
Pain:
SPID I 3;
SPID I 3 A_Pain;
Goto See;
Death:
SPID J 20 A_Scream;
SPID K 10 A_NoBlocking;
SPID LMNOPQR 10;
SPID S 30;
SPID S -1 A_BossDeath;
Stop;
}
}

View file

@ -0,0 +1,139 @@
class StealthArachnotron : Arachnotron
{
Default
{
+STEALTH
RenderStyle "Translucent";
Alpha 0;
Obituary "$OB_STEALTHBABY";
}
}
class StealthArchvile : Archvile
{
Default
{
+STEALTH
RenderStyle "Translucent";
Alpha 0;
Obituary "$OB_STEALTHVILE";
}
}
class StealthBaron : BaronOfHell
{
Default
{
+STEALTH
RenderStyle "Translucent";
Alpha 0;
Obituary "$OB_STEALTHBARON";
HitObituary "$OB_STEALTHBARON";
}
}
class StealthCacodemon : Cacodemon
{
Default
{
+STEALTH
RenderStyle "Translucent";
Alpha 0;
Obituary "$OB_STEALTHCACO";
HitObituary "$OB_STEALTHCACO";
}
}
class StealthChaingunGuy : ChaingunGuy
{
Default
{
+STEALTH
RenderStyle "Translucent";
Alpha 0;
Obituary "$OB_STEALTHCHAINGUY";
}
}
class StealthDemon : Demon
{
Default
{
+STEALTH
RenderStyle "Translucent";
Alpha 0;
Obituary "$OB_STEALTHDEMON";
HitObituary "$OB_STEALTHDEMON";
}
}
class StealthHellKnight : HellKnight
{
Default
{
+STEALTH
RenderStyle "Translucent";
Alpha 0;
Obituary "$OB_STEALTHKNIGHT";
HitObituary "$OB_STEALTHKNIGHT";
}
}
class StealthDoomImp : DoomImp
{
Default
{
+STEALTH
RenderStyle "Translucent";
Alpha 0;
Obituary "$OB_STEALTHIMP";
HitObituary "$OB_STEALTHIMP";
}
}
class StealthFatso : Fatso
{
Default
{
+STEALTH
RenderStyle "Translucent";
Alpha 0;
Obituary "$OB_STEALTHFATSO";
}
}
class StealthRevenant : Revenant
{
Default
{
+STEALTH
RenderStyle "Translucent";
Alpha 0;
Obituary "$OB_STEALTHUNDEAD";
HitObituary "$OB_STEALTHUNDEAD";
}
}
class StealthShotgunGuy : ShotgunGuy
{
Default
{
+STEALTH
RenderStyle "Translucent";
Alpha 0;
Obituary "$OB_STEALTHSHOTGUNGUY";
}
}
class StealthZombieMan : ZombieMan
{
Default
{
+STEALTH
RenderStyle "Translucent";
Alpha 0;
Obituary "$OB_STEALTHZOMBIE";
}
}