diff --git a/src/scripting/thingdef_properties.cpp b/src/scripting/thingdef_properties.cpp index 084736c24..833a2d381 100644 --- a/src/scripting/thingdef_properties.cpp +++ b/src/scripting/thingdef_properties.cpp @@ -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); diff --git a/src/scripting/zscript/zcc-parse.lemon b/src/scripting/zscript/zcc-parse.lemon index dba30af5f..cd1cbce14 100644 --- a/src/scripting/zscript/zcc-parse.lemon +++ b/src/scripting/zscript/zcc-parse.lemon @@ -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. */ diff --git a/src/scripting/zscript/zcc_compile.cpp b/src/scripting/zscript/zcc_compile.cpp index 904f938ca..f24bce20c 100644 --- a/src/scripting/zscript/zcc_compile.cpp +++ b/src/scripting/zscript/zcc_compile.cpp @@ -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 rets(1); TArray args; - TArray argflags; + TArray argflags; TArray 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 diff --git a/wadsrc/static/actors/doom/arachnotron.txt b/wadsrc/static/actors/doom/arachnotron.txt deleted file mode 100644 index 1a70a11d1..000000000 --- a/wadsrc/static/actors/doom/arachnotron.txt +++ /dev/null @@ -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 - } -} - - diff --git a/wadsrc/static/actors/doom/archvile.txt b/wadsrc/static/actors/doom/archvile.txt deleted file mode 100644 index f2c5d6ab4..000000000 --- a/wadsrc/static/actors/doom/archvile.txt +++ /dev/null @@ -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 - } -} - diff --git a/wadsrc/static/actors/doom/bossbrain.txt b/wadsrc/static/actors/doom/bossbrain.txt deleted file mode 100644 index 67b6da7d6..000000000 --- a/wadsrc/static/actors/doom/bossbrain.txt +++ /dev/null @@ -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 - } -} diff --git a/wadsrc/static/actors/doom/bruiser.txt b/wadsrc/static/actors/doom/bruiser.txt deleted file mode 100644 index 0a2bdcff6..000000000 --- a/wadsrc/static/actors/doom/bruiser.txt +++ /dev/null @@ -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 - } -} - diff --git a/wadsrc/static/actors/doom/cacodemon.txt b/wadsrc/static/actors/doom/cacodemon.txt deleted file mode 100644 index db2ee7657..000000000 --- a/wadsrc/static/actors/doom/cacodemon.txt +++ /dev/null @@ -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 - } -} diff --git a/wadsrc/static/actors/doom/cyberdemon.txt b/wadsrc/static/actors/doom/cyberdemon.txt deleted file mode 100644 index 9f9c986f4..000000000 --- a/wadsrc/static/actors/doom/cyberdemon.txt +++ /dev/null @@ -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 - } -} - diff --git a/wadsrc/static/actors/doom/demon.txt b/wadsrc/static/actors/doom/demon.txt deleted file mode 100644 index 3680b24e9..000000000 --- a/wadsrc/static/actors/doom/demon.txt +++ /dev/null @@ -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" -} - - diff --git a/wadsrc/static/actors/doom/doomammo.txt b/wadsrc/static/actors/doom/doomammo.txt deleted file mode 100644 index bc931c08f..000000000 --- a/wadsrc/static/actors/doom/doomammo.txt +++ /dev/null @@ -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 - } -} - diff --git a/wadsrc/static/actors/doom/doomarmor.txt b/wadsrc/static/actors/doom/doomarmor.txt deleted file mode 100644 index c676f9131..000000000 --- a/wadsrc/static/actors/doom/doomarmor.txt +++ /dev/null @@ -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 - } -} - diff --git a/wadsrc/static/actors/doom/doomartifacts.txt b/wadsrc/static/actors/doom/doomartifacts.txt deleted file mode 100644 index e9caa5f11..000000000 --- a/wadsrc/static/actors/doom/doomartifacts.txt +++ /dev/null @@ -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 - } -} - diff --git a/wadsrc/static/actors/doom/doomdecorations.txt b/wadsrc/static/actors/doom/doomdecorations.txt deleted file mode 100644 index 4206c09ed..000000000 --- a/wadsrc/static/actors/doom/doomdecorations.txt +++ /dev/null @@ -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 - } -} - diff --git a/wadsrc/static/actors/doom/doomhealth.txt b/wadsrc/static/actors/doom/doomhealth.txt deleted file mode 100644 index c1a8d96ff..000000000 --- a/wadsrc/static/actors/doom/doomhealth.txt +++ /dev/null @@ -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 - } -} diff --git a/wadsrc/static/actors/doom/doomimp.txt b/wadsrc/static/actors/doom/doomimp.txt deleted file mode 100644 index a5725e724..000000000 --- a/wadsrc/static/actors/doom/doomimp.txt +++ /dev/null @@ -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 - } -} diff --git a/wadsrc/static/actors/doom/doomkeys.txt b/wadsrc/static/actors/doom/doomkeys.txt deleted file mode 100644 index d24392559..000000000 --- a/wadsrc/static/actors/doom/doomkeys.txt +++ /dev/null @@ -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 - } -} - diff --git a/wadsrc/static/actors/doom/doommisc.txt b/wadsrc/static/actors/doom/doommisc.txt deleted file mode 100644 index cb22474b9..000000000 --- a/wadsrc/static/actors/doom/doommisc.txt +++ /dev/null @@ -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 - } -} diff --git a/wadsrc/static/actors/doom/doomplayer.txt b/wadsrc/static/actors/doom/doomplayer.txt deleted file mode 100644 index e31c10ea7..000000000 --- a/wadsrc/static/actors/doom/doomplayer.txt +++ /dev/null @@ -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 - } -} diff --git a/wadsrc/static/actors/doom/doomweapons.txt b/wadsrc/static/actors/doom/doomweapons.txt deleted file mode 100644 index 16369572b..000000000 --- a/wadsrc/static/actors/doom/doomweapons.txt +++ /dev/null @@ -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 - } -} - diff --git a/wadsrc/static/actors/doom/fatso.txt b/wadsrc/static/actors/doom/fatso.txt deleted file mode 100644 index 9b3a7d26a..000000000 --- a/wadsrc/static/actors/doom/fatso.txt +++ /dev/null @@ -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 - } -} - - diff --git a/wadsrc/static/actors/doom/keen.txt b/wadsrc/static/actors/doom/keen.txt deleted file mode 100644 index 7ad41d2ce..000000000 --- a/wadsrc/static/actors/doom/keen.txt +++ /dev/null @@ -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 - } -} diff --git a/wadsrc/static/actors/doom/lostsoul.txt b/wadsrc/static/actors/doom/lostsoul.txt deleted file mode 100644 index bd6212cf2..000000000 --- a/wadsrc/static/actors/doom/lostsoul.txt +++ /dev/null @@ -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 - } -} diff --git a/wadsrc/static/actors/doom/painelemental.txt b/wadsrc/static/actors/doom/painelemental.txt deleted file mode 100644 index bba475650..000000000 --- a/wadsrc/static/actors/doom/painelemental.txt +++ /dev/null @@ -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 - } -} diff --git a/wadsrc/static/actors/doom/possessed.txt b/wadsrc/static/actors/doom/possessed.txt deleted file mode 100644 index 6961cc8a5..000000000 --- a/wadsrc/static/actors/doom/possessed.txt +++ /dev/null @@ -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 - } -} diff --git a/wadsrc/static/actors/doom/revenant.txt b/wadsrc/static/actors/doom/revenant.txt deleted file mode 100644 index 4062647f4..000000000 --- a/wadsrc/static/actors/doom/revenant.txt +++ /dev/null @@ -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 - } -} diff --git a/wadsrc/static/actors/doom/scriptedmarine.txt b/wadsrc/static/actors/doom/scriptedmarine.txt deleted file mode 100644 index 73de9a49d..000000000 --- a/wadsrc/static/actors/doom/scriptedmarine.txt +++ /dev/null @@ -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 - } -} diff --git a/wadsrc/static/actors/doom/spidermaster.txt b/wadsrc/static/actors/doom/spidermaster.txt deleted file mode 100644 index e087b3fb3..000000000 --- a/wadsrc/static/actors/doom/spidermaster.txt +++ /dev/null @@ -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 - } -} diff --git a/wadsrc/static/actors/doom/stealthmonsters.txt b/wadsrc/static/actors/doom/stealthmonsters.txt deleted file mode 100644 index 275537485..000000000 --- a/wadsrc/static/actors/doom/stealthmonsters.txt +++ /dev/null @@ -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" -} - diff --git a/wadsrc/static/decorate.txt b/wadsrc/static/decorate.txt index 079d8fa6a..1ae7d7328 100644 --- a/wadsrc/static/decorate.txt +++ b/wadsrc/static/decorate.txt @@ -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" diff --git a/wadsrc/static/zscript.txt b/wadsrc/static/zscript.txt index 9ba69ceef..73bb467d8 100644 --- a/wadsrc/static/zscript.txt +++ b/wadsrc/static/zscript.txt @@ -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 diff --git a/wadsrc/static/zscript/doom/arachnotron.txt b/wadsrc/static/zscript/doom/arachnotron.txt new file mode 100644 index 000000000..e3aa17d48 --- /dev/null +++ b/wadsrc/static/zscript/doom/arachnotron.txt @@ -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; + } +} + + diff --git a/wadsrc/static/zscript/doom/archvile.txt b/wadsrc/static/zscript/doom/archvile.txt new file mode 100644 index 000000000..bdca2b05f --- /dev/null +++ b/wadsrc/static/zscript/doom/archvile.txt @@ -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; + } +} + diff --git a/wadsrc/static/zscript/doom/bossbrain.txt b/wadsrc/static/zscript/doom/bossbrain.txt new file mode 100644 index 000000000..533d0fa01 --- /dev/null +++ b/wadsrc/static/zscript/doom/bossbrain.txt @@ -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; + } +} diff --git a/wadsrc/static/zscript/doom/bruiser.txt b/wadsrc/static/zscript/doom/bruiser.txt new file mode 100644 index 000000000..bbeb319f6 --- /dev/null +++ b/wadsrc/static/zscript/doom/bruiser.txt @@ -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; + } +} + diff --git a/wadsrc/static/zscript/doom/cacodemon.txt b/wadsrc/static/zscript/doom/cacodemon.txt new file mode 100644 index 000000000..6a07feb70 --- /dev/null +++ b/wadsrc/static/zscript/doom/cacodemon.txt @@ -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; + } +} diff --git a/wadsrc/static/zscript/doom/cyberdemon.txt b/wadsrc/static/zscript/doom/cyberdemon.txt new file mode 100644 index 000000000..75f4fd211 --- /dev/null +++ b/wadsrc/static/zscript/doom/cyberdemon.txt @@ -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; + } +} + diff --git a/wadsrc/static/actors/doom/deadthings.txt b/wadsrc/static/zscript/doom/deadthings.txt similarity index 67% rename from wadsrc/static/actors/doom/deadthings.txt rename to wadsrc/static/zscript/doom/deadthings.txt index f90d35eef..3a7e47610 100644 --- a/wadsrc/static/actors/doom/deadthings.txt +++ b/wadsrc/static/zscript/doom/deadthings.txt @@ -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; } } diff --git a/wadsrc/static/zscript/doom/demon.txt b/wadsrc/static/zscript/doom/demon.txt new file mode 100644 index 000000000..398888e45 --- /dev/null +++ b/wadsrc/static/zscript/doom/demon.txt @@ -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"; + } +} + + diff --git a/wadsrc/static/zscript/doom/doomammo.txt b/wadsrc/static/zscript/doom/doomammo.txt new file mode 100644 index 000000000..394f13e94 --- /dev/null +++ b/wadsrc/static/zscript/doom/doomammo.txt @@ -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; + } +} + diff --git a/wadsrc/static/zscript/doom/doomarmor.txt b/wadsrc/static/zscript/doom/doomarmor.txt new file mode 100644 index 000000000..8c3d52cc9 --- /dev/null +++ b/wadsrc/static/zscript/doom/doomarmor.txt @@ -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; + } +} + diff --git a/wadsrc/static/zscript/doom/doomartifacts.txt b/wadsrc/static/zscript/doom/doomartifacts.txt new file mode 100644 index 000000000..ad5e304c6 --- /dev/null +++ b/wadsrc/static/zscript/doom/doomartifacts.txt @@ -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; + } +} + diff --git a/wadsrc/static/zscript/doom/doomdecorations.txt b/wadsrc/static/zscript/doom/doomdecorations.txt new file mode 100644 index 000000000..8eec812f6 --- /dev/null +++ b/wadsrc/static/zscript/doom/doomdecorations.txt @@ -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; + } +} + diff --git a/wadsrc/static/zscript/doom/doomhealth.txt b/wadsrc/static/zscript/doom/doomhealth.txt new file mode 100644 index 000000000..c0ecf2dc0 --- /dev/null +++ b/wadsrc/static/zscript/doom/doomhealth.txt @@ -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; + } +} diff --git a/wadsrc/static/zscript/doom/doomimp.txt b/wadsrc/static/zscript/doom/doomimp.txt new file mode 100644 index 000000000..244ae70ea --- /dev/null +++ b/wadsrc/static/zscript/doom/doomimp.txt @@ -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; + } +} diff --git a/wadsrc/static/zscript/doom/doomkeys.txt b/wadsrc/static/zscript/doom/doomkeys.txt new file mode 100644 index 000000000..9ae88dade --- /dev/null +++ b/wadsrc/static/zscript/doom/doomkeys.txt @@ -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; + } +} + diff --git a/wadsrc/static/zscript/doom/doommisc.txt b/wadsrc/static/zscript/doom/doommisc.txt new file mode 100644 index 000000000..80e330a68 --- /dev/null +++ b/wadsrc/static/zscript/doom/doommisc.txt @@ -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; + } +} diff --git a/wadsrc/static/zscript/doom/doomplayer.txt b/wadsrc/static/zscript/doom/doomplayer.txt new file mode 100644 index 000000000..6ec0d5f90 --- /dev/null +++ b/wadsrc/static/zscript/doom/doomplayer.txt @@ -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; + } +} diff --git a/wadsrc/static/zscript/doom/doomweapons.txt b/wadsrc/static/zscript/doom/doomweapons.txt new file mode 100644 index 000000000..41f2c434f --- /dev/null +++ b/wadsrc/static/zscript/doom/doomweapons.txt @@ -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; + } +} + diff --git a/wadsrc/static/zscript/doom/fatso.txt b/wadsrc/static/zscript/doom/fatso.txt new file mode 100644 index 000000000..46d013d7f --- /dev/null +++ b/wadsrc/static/zscript/doom/fatso.txt @@ -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; + } +} + + diff --git a/wadsrc/static/zscript/doom/keen.txt b/wadsrc/static/zscript/doom/keen.txt new file mode 100644 index 000000000..a60e924ef --- /dev/null +++ b/wadsrc/static/zscript/doom/keen.txt @@ -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; + } +} diff --git a/wadsrc/static/zscript/doom/lostsoul.txt b/wadsrc/static/zscript/doom/lostsoul.txt new file mode 100644 index 000000000..69574e5c7 --- /dev/null +++ b/wadsrc/static/zscript/doom/lostsoul.txt @@ -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; + } +} diff --git a/wadsrc/static/zscript/doom/painelemental.txt b/wadsrc/static/zscript/doom/painelemental.txt new file mode 100644 index 000000000..ce30bbfd3 --- /dev/null +++ b/wadsrc/static/zscript/doom/painelemental.txt @@ -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; + } +} diff --git a/wadsrc/static/zscript/doom/possessed.txt b/wadsrc/static/zscript/doom/possessed.txt new file mode 100644 index 000000000..de1e50ff2 --- /dev/null +++ b/wadsrc/static/zscript/doom/possessed.txt @@ -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 ; + } +} diff --git a/wadsrc/static/zscript/doom/revenant.txt b/wadsrc/static/zscript/doom/revenant.txt new file mode 100644 index 000000000..7fc8b8e0d --- /dev/null +++ b/wadsrc/static/zscript/doom/revenant.txt @@ -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; + } +} diff --git a/wadsrc/static/zscript/doom/scriptedmarine.txt b/wadsrc/static/zscript/doom/scriptedmarine.txt new file mode 100644 index 000000000..358bf4ea4 --- /dev/null +++ b/wadsrc/static/zscript/doom/scriptedmarine.txt @@ -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; + } +} diff --git a/wadsrc/static/zscript/doom/spidermaster.txt b/wadsrc/static/zscript/doom/spidermaster.txt new file mode 100644 index 000000000..b9f060068 --- /dev/null +++ b/wadsrc/static/zscript/doom/spidermaster.txt @@ -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; + } +} diff --git a/wadsrc/static/zscript/doom/stealthmonsters.txt b/wadsrc/static/zscript/doom/stealthmonsters.txt new file mode 100644 index 000000000..785261fbb --- /dev/null +++ b/wadsrc/static/zscript/doom/stealthmonsters.txt @@ -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"; + } +} +