- converted more Heretic actors.

This commit is contained in:
Christoph Oelckers 2016-10-17 10:07:12 +02:00
parent c623539d2d
commit c13916ea18
14 changed files with 1761 additions and 1680 deletions

View file

@ -4297,7 +4297,6 @@ FxExpression *FxFunctionCall::Resolve(FCompileContext& ctx)
// Note that for all builtins the used arguments have to be nulled in the ArgList so that they won't get deleted before they get used.
FxExpression *func = nullptr;
Printf("Resolving %s with %d args\n", MethodName.GetChars(), ArgList->Size());
switch (MethodName)
{
case NAME_Random:

View file

@ -1,109 +0,0 @@
// Beast --------------------------------------------------------------------
ACTOR Beast
{
Health 220
Radius 32
Height 74
Mass 200
Speed 14
Painchance 100
Monster
+FLOORCLIP
SeeSound "beast/sight"
AttackSound "beast/attack"
PainSound "beast/pain"
DeathSound "beast/death"
ActiveSound "beast/active"
Obituary "$OB_BEAST"
DropItem "CrossbowAmmo", 84, 10
States
{
Spawn:
BEAS AB 10 A_Look
Loop
See:
BEAS ABCDEF 3 A_Chase
Loop
Missile:
BEAS H 10 A_FaceTarget
BEAS I 10 A_CustomComboAttack("BeastBall", 32, random[BeastAttack](1,8)*3, "beast/attack")
Goto See
Pain:
BEAS G 3
BEAS G 3 A_Pain
Goto See
Death:
BEAS R 6
BEAS S 6 A_Scream
BEAS TUV 6
BEAS W 6 A_NoBlocking
BEAS XY 6
BEAS Z -1
Stop
XDeath:
BEAS J 5
BEAS K 6 A_Scream
BEAS L 5
BEAS M 6
BEAS N 5
BEAS O 6 A_NoBlocking
BEAS P 5
BEAS Q -1
Stop
}
}
// Beast ball ---------------------------------------------------------------
ACTOR BeastBall
{
Radius 9
Height 8
Speed 12
FastSpeed 20
Damage 4
Projectile
-ACTIVATEIMPACT
-ACTIVATEPCROSS
-NOBLOCKMAP
+WINDTHRUST
+SPAWNSOUNDSOURCE
RenderStyle Add
SeeSound "beast/attack"
States
{
Spawn:
FRB1 AABBCC 2 A_SpawnItemEx("Puffy", random2[BeastPuff]()*0.015625, random2[BeastPuff]()*0.015625, random2[BeastPuff]()*0.015625,
0,0,0,0,SXF_ABSOLUTEPOSITION, 64)
Loop
Death:
FRB1 DEFGH 4
Stop
}
}
// Puffy --------------------------------------------------------------------
ACTOR Puffy
{
Radius 6
Height 8
Speed 10
+NOBLOCKMAP
+NOGRAVITY
+MISSILE
+NOTELEPORT
+DONTSPLASH
RenderStyle Add
States
{
Spawn:
FRB1 DEFGH 4
Stop
}
}

View file

@ -1,46 +0,0 @@
ACTOR Clink
{
Health 150
Radius 20
Height 64
Mass 75
Speed 14
Painchance 32
Monster
+NOBLOOD
+FLOORCLIP
SeeSound "clink/sight"
AttackSound "clink/attack"
PainSound "clink/pain"
DeathSound "clink/death"
ActiveSound "clink/active"
Obituary "$OB_CLINK"
DropItem "SkullRodAmmo", 84, 20
States
{
Spawn:
CLNK AB 10 A_Look
Loop
See:
CLNK ABCD 3 A_Chase
Loop
Melee:
CLNK E 5 A_FaceTarget
CLNK F 4 A_FaceTarget
CLNK G 7 A_CustomMeleeAttack(random[ClinkAttack](3,9), "clink/attack", "clink/attack")
Goto See
Pain:
CLNK H 3
CLNK H 3 A_Pain
Goto See
Death:
CLNK IJ 6
CLNK K 5 A_Scream
CLNK L 5 A_NoBlocking
CLNK MN 5
CLNK O -1
Stop
}
}

View file

@ -1,156 +0,0 @@
// Heretic imp (as opposed to the Doom variety) -----------------------------
ACTOR HereticImp
{
Health 40
Radius 16
Height 36
Mass 50
Speed 10
Painchance 200
Monster
+FLOAT
+NOGRAVITY
+SPAWNFLOAT
+DONTOVERLAP
+MISSILEMORE
SeeSound "himp/sight"
AttackSound "himp/attack"
PainSound "himp/pain"
DeathSound "himp/death"
ActiveSound "himp/active"
Obituary "$OB_HERETICIMP"
HitObituary "$OB_HERETICIMPHIT"
action native A_ImpMsAttack();
action native A_ImpDeath();
action native A_ImpXDeath1();
action native A_ImpExplode();
States
{
Spawn:
IMPX ABCB 10 A_Look
Loop
See:
IMPX AABBCCBB 3 A_Chase
Loop
Melee:
IMPX DE 6 A_FaceTarget
IMPX F 6 A_CustomMeleeAttack(random[ImpMeAttack](5,12), "himp/attack", "himp/attack")
Goto See
Missile:
IMPX A 10 A_FaceTarget
IMPX B 6 A_ImpMsAttack
IMPX CBAB 6
Goto Missile+2
Pain:
IMPX G 3
IMPX G 3 A_Pain
Goto See
Death:
IMPX G 4 A_ImpDeath
IMPX H 5
Wait
XDeath:
IMPX S 5 A_ImpXDeath1
IMPX TU 5
IMPX V 5 A_Gravity
IMPX W 5
Wait
Crash:
IMPX I 7 A_ImpExplode
IMPX J 7 A_Scream
IMPX K 7
IMPX L -1
Stop
XCrash:
IMPX X 7
IMPX Y 7
IMPX Z -1
Stop
}
}
// Heretic imp leader -------------------------------------------------------
ACTOR HereticImpLeader : HereticImp
{
Species "HereticImpLeader"
Health 80
-MISSILEMORE
AttackSound "himp/leaderattack"
States
{
Melee:
Stop
Missile:
IMPX DE 6 A_FaceTarget
IMPX F 6 A_CustomComboAttack("HereticImpBall", 32, random[ImpMsAttack2](5,12), "himp/leaderattack")
Goto See
}
}
// Heretic imp chunk 1 ------------------------------------------------------
ACTOR HereticImpChunk1
{
Mass 5
Radius 4
+NOBLOCKMAP
+MOVEWITHSECTOR
States
{
Spawn:
IMPX M 5
IMPX NO 700
Stop
}
}
// Heretic imp chunk 2 ------------------------------------------------------
ACTOR HereticImpChunk2
{
Mass 5
Radius 4
+NOBLOCKMAP
+MOVEWITHSECTOR
States
{
Spawn:
IMPX P 5
IMPX QR 700
Stop
}
}
// Heretic imp ball ---------------------------------------------------------
ACTOR HereticImpBall
{
Radius 8
Height 8
Speed 10
FastSpeed 20
Damage 1
Projectile
SeeSound "himp/leaderattack"
+SPAWNSOUNDSOURCE
-ACTIVATEPCROSS
-ACTIVATEIMPACT
RenderStyle Add
States
{
Spawn:
FX10 ABC 6 Bright
Loop
Death:
FX10 DEFG 5 Bright
Stop
}
}

File diff suppressed because it is too large Load diff

View file

@ -1,133 +0,0 @@
// Mummy --------------------------------------------------------------------
ACTOR Mummy
{
Health 80
Radius 22
Height 62
Mass 75
Speed 12
Painchance 128
Monster
+FLOORCLIP
SeeSound "mummy/sight"
AttackSound "mummy/attack1"
PainSound "mummy/pain"
DeathSound "mummy/death"
ActiveSound "mummy/active"
HitObituary "$OB_MUMMY"
DropItem "GoldWandAmmo", 84, 3
States
{
Spawn:
MUMM AB 10 A_Look
Loop
See:
MUMM ABCD 4 A_Chase
Loop
Melee:
MUMM E 6 A_FaceTarget
MUMM F 6 A_CustomMeleeAttack(random[MummyAttack](1,8)*2, "mummy/attack2", "mummy/attack")
MUMM G 6
Goto See
Pain:
MUMM H 4
MUMM H 4 A_Pain
Goto See
Death:
MUMM I 5
MUMM J 5 A_Scream
MUMM K 5 A_SpawnItemEx("MummySoul", 0,0,10, 0,0,1)
MUMM L 5
MUMM M 5 A_NoBlocking
MUMM NO 5
MUMM P -1
Stop
}
}
// Mummy leader -------------------------------------------------------------
ACTOR MummyLeader : Mummy
{
Species "MummyLeader"
Health 100
Painchance 64
Obituary "$OB_MUMMYLEADER"
States
{
Missile:
MUMM X 5 A_FaceTarget
MUMM Y 5 Bright A_FaceTarget
MUMM X 5 A_FaceTarget
MUMM Y 5 Bright A_FaceTarget
MUMM X 5 A_FaceTarget
MUMM Y 5 Bright A_CustomComboAttack("MummyFX1", 32, random[MummyAttack2](1,8)*2, "mummy/attack2")
Goto See
}
}
// Mummy ghost --------------------------------------------------------------
ACTOR MummyGhost : Mummy
{
+SHADOW
+GHOST
RenderStyle Translucent
Alpha 0.4
}
// Mummy leader ghost -------------------------------------------------------
ACTOR MummyLeaderGhost : MummyLeader
{
Species "MummyLeaderGhost"
+SHADOW
+GHOST
RenderStyle Translucent
Alpha 0.4
}
// Mummy soul ---------------------------------------------------------------
ACTOR MummySoul
{
+NOBLOCKMAP
+NOGRAVITY
States
{
Spawn:
MUMM QRS 5
MUMM TUVW 9
Stop
}
}
// Mummy FX 1 (flying head) -------------------------------------------------
ACTOR MummyFX1
{
Radius 8
Height 14
Speed 9
FastSpeed 18
Damage 4
RenderStyle Add
Projectile
-ACTIVATEPCROSS
-ACTIVATEIMPACT
+SEEKERMISSILE
States
{
Spawn:
FX15 A 5 Bright A_PlaySound("mummy/head")
FX15 B 5 Bright A_SeekerMissile(10,20)
FX15 C 5 Bright
FX15 B 5 Bright A_SeekerMissile(10,20)
Loop
Death:
FX15 DEFG 5 Bright
Stop
}
}

View file

@ -1,95 +0,0 @@
ACTOR Snake
{
Health 280
Radius 22
Height 70
Speed 10
Painchance 48
Monster
+FLOORCLIP
AttackSound "snake/attack"
SeeSound "snake/sight"
PainSound "snake/pain"
DeathSound "snake/death"
ActiveSound "snake/active"
Obituary "$OB_SNAKE"
DropItem "PhoenixRodAmmo", 84, 5
States
{
Spawn:
SNKE AB 10 A_Look
Loop
See:
SNKE ABCD 4 A_Chase
Loop
Missile:
SNKE FF 5 A_FaceTarget
SNKE FFF 4 A_CustomMissile("SnakeProjA", 32, 0, 0, CMF_CHECKTARGETDEAD)
SNKE FFF 5 A_FaceTarget
SNKE F 4 A_CustomMissile("SnakeProjB", 32, 0, 0, CMF_CHECKTARGETDEAD)
Goto See
Pain:
SNKE E 3
SNKE E 3 A_Pain
Goto See
Death:
SNKE G 5
SNKE H 5 A_Scream
SNKE IJKL 5
SNKE M 5 A_NoBlocking
SNKE NO 5
SNKE P -1
Stop
}
}
// Snake projectile A -------------------------------------------------------
ACTOR SnakeProjA
{
Radius 12
Height 8
Speed 14
FastSpeed 20
Damage 1
Projectile
-NOBLOCKMAP
-ACTIVATEIMPACT
-ACTIVATEPCROSS
+WINDTHRUST
+SPAWNSOUNDSOURCE
RenderStyle Add
SeeSound "snake/attack"
States
{
Spawn:
SNFX ABCD 5 Bright
Loop
Death:
SNFX EF 5 Bright
SNFX G 4 Bright
SNFX HI 3 Bright
Stop
}
}
// Snake projectile B -------------------------------------------------------
ACTOR SnakeProjB : SnakeProjA
{
Damage 3
+NOBLOCKMAP
-WINDTHRUST
States
{
Spawn:
SNFX JK 6 Bright
Loop
Death:
SNFX LM 5 Bright
SNFX N 4 Bright
SNFX O 3 Bright
Stop
}
}

View file

@ -1,9 +1,3 @@
#include "actors/heretic/hereticweaps.txt"
#include "actors/heretic/mummy.txt"
#include "actors/heretic/clink.txt"
#include "actors/heretic/beast.txt"
#include "actors/heretic/snake.txt"
#include "actors/heretic/hereticimp.txt"
#include "actors/heretic/knight.txt"
#include "actors/heretic/wizard.txt"
#include "actors/heretic/ironlich.txt"

View file

@ -73,13 +73,13 @@ zscript/heretic/hereticartifacts.txt
zscript/heretic/heretickeys.txt
zscript/heretic/hereticdecorations.txt
zscript/heretic/hereticmisc.txt
/*
zscript/heretic/hereticweaps.txt
zscript/heretic/mummy.txt
zscript/heretic/clink.txt
zscript/heretic/beast.txt
zscript/heretic/snake.txt
zscript/heretic/hereticimp.txt
/*
zscript/heretic/knight.txt
zscript/heretic/wizard.txt
zscript/heretic/ironlich.txt

View file

@ -0,0 +1,48 @@
class Clink : Actor
{
Default
{
Health 150;
Radius 20;
Height 64;
Mass 75;
Speed 14;
Painchance 32;
Monster;
+NOBLOOD
+FLOORCLIP
SeeSound "clink/sight";
AttackSound "clink/attack";
PainSound "clink/pain";
DeathSound "clink/death";
ActiveSound "clink/active";
Obituary "$OB_CLINK";
DropItem "SkullRodAmmo", 84, 20;
}
States
{
Spawn:
CLNK AB 10 A_Look;
Loop;
See:
CLNK ABCD 3 A_Chase;
Loop;
Melee:
CLNK E 5 A_FaceTarget;
CLNK F 4 A_FaceTarget;
CLNK G 7 A_CustomMeleeAttack(random[ClinkAttack](3,9), "clink/attack", "clink/attack");
Goto See;
Pain:
CLNK H 3;
CLNK H 3 A_Pain;
Goto See;
Death:
CLNK IJ 6;
CLNK K 5 A_Scream;
CLNK L 5 A_NoBlocking;
CLNK MN 5;
CLNK O -1;
Stop;
}
}

View file

@ -0,0 +1,171 @@
// Heretic imp (as opposed to the Doom variety) -----------------------------
class HereticImp : Actor
{
Default
{
Health 40;
Radius 16;
Height 36;
Mass 50;
Speed 10;
Painchance 200;
Monster;
+FLOAT
+NOGRAVITY
+SPAWNFLOAT
+DONTOVERLAP
+MISSILEMORE
SeeSound "himp/sight";
AttackSound "himp/attack";
PainSound "himp/pain";
DeathSound "himp/death";
ActiveSound "himp/active";
Obituary "$OB_HERETICIMP";
HitObituary "$OB_HERETICIMPHIT";
}
action native void A_ImpMsAttack();
action native void A_ImpDeath();
action native void A_ImpXDeath1();
action native void A_ImpExplode();
States
{
Spawn:
IMPX ABCB 10 A_Look;
Loop;
See:
IMPX AABBCCBB 3 A_Chase;
Loop;
Melee:
IMPX DE 6 A_FaceTarget;
IMPX F 6 A_CustomMeleeAttack(random[ImpMeAttack](5,12), "himp/attack", "himp/attack");
Goto See;
Missile:
IMPX A 10 A_FaceTarget;
IMPX B 6 A_ImpMsAttack;
IMPX CBAB 6;
Goto Missile+2;
Pain:
IMPX G 3;
IMPX G 3 A_Pain;
Goto See;
Death:
IMPX G 4 A_ImpDeath;
IMPX H 5;
Wait;
XDeath:
IMPX S 5 A_ImpXDeath1;
IMPX TU 5;
IMPX V 5 A_Gravity;
IMPX W 5;
Wait;
Crash:
IMPX I 7 A_ImpExplode;
IMPX J 7 A_Scream;
IMPX K 7;
IMPX L -1;
Stop;
XCrash:
IMPX X 7;
IMPX Y 7;
IMPX Z -1;
Stop;
}
}
// Heretic imp leader -------------------------------------------------------
class HereticImpLeader : HereticImp
{
Default
{
Species "HereticImpLeader";
Health 80;
-MISSILEMORE
AttackSound "himp/leaderattack";
}
States
{
Melee:
Stop;
Missile:
IMPX DE 6 A_FaceTarget;
IMPX F 6 A_CustomComboAttack("HereticImpBall", 32, random[ImpMsAttack2](5,12), "himp/leaderattack");
Goto See;
}
}
// Heretic imp chunk 1 ------------------------------------------------------
class HereticImpChunk1 : Actor
{
Default
{
Mass 5;
Radius 4;
+NOBLOCKMAP
+MOVEWITHSECTOR
}
States
{
Spawn:
IMPX M 5;
IMPX NO 700;
Stop;
}
}
// Heretic imp chunk 2 ------------------------------------------------------
class HereticImpChunk2 : Actor
{
Default
{
Mass 5;
Radius 4;
+NOBLOCKMAP
+MOVEWITHSECTOR
}
States
{
Spawn:
IMPX P 5;
IMPX QR 700;
Stop;
}
}
// Heretic imp ball ---------------------------------------------------------
class HereticImpBall : Actor
{
Default
{
Radius 8;
Height 8;
Speed 10;
FastSpeed 20;
Damage 1;
Projectile;
SeeSound "himp/leaderattack";
+SPAWNSOUNDSOURCE
-ACTIVATEPCROSS
-ACTIVATEIMPACT
RenderStyle "Add";
}
States
{
Spawn:
FX10 ABC 6 Bright;
Loop;
Death:
FX10 DEFG 5 Bright;
Stop;
}
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,151 @@
// Mummy --------------------------------------------------------------------
class Mummy : Actor
{
Default
{
Health 80;
Radius 22;
Height 62;
Mass 75;
Speed 12;
Painchance 128;
Monster;
+FLOORCLIP
SeeSound "mummy/sight";
AttackSound "mummy/attack1";
PainSound "mummy/pain";
DeathSound "mummy/death";
ActiveSound "mummy/active";
HitObituary "$OB_MUMMY";
DropItem "GoldWandAmmo", 84, 3;
}
States
{
Spawn:
MUMM AB 10 A_Look;
Loop;
See:
MUMM ABCD 4 A_Chase;
Loop;
Melee:
MUMM E 6 A_FaceTarget;
MUMM F 6 A_CustomMeleeAttack(random[MummyAttack](1,8)*2, "mummy/attack2", "mummy/attack");
MUMM G 6;
Goto See;
Pain:
MUMM H 4;
MUMM H 4 A_Pain;
Goto See;
Death:
MUMM I 5;
MUMM J 5 A_Scream;
MUMM K 5 A_SpawnItemEx("MummySoul", 0,0,10, 0,0,1);
MUMM L 5;
MUMM M 5 A_NoBlocking;
MUMM NO 5;
MUMM P -1;
Stop;
}
}
// Mummy leader -------------------------------------------------------------
class MummyLeader : Mummy
{
Default
{
Species "MummyLeader";
Health 100;
Painchance 64;
Obituary "$OB_MUMMYLEADER";
}
States
{
Missile:
MUMM X 5 A_FaceTarget;
MUMM Y 5 Bright A_FaceTarget;
MUMM X 5 A_FaceTarget;
MUMM Y 5 Bright A_FaceTarget;
MUMM X 5 A_FaceTarget;
MUMM Y 5 Bright A_CustomComboAttack("MummyFX1", 32, random[MummyAttack2](1,8)*2, "mummy/attack2");
Goto See;
}
}
// Mummy ghost --------------------------------------------------------------
class MummyGhost : Mummy
{
Default
{
+SHADOW
+GHOST
RenderStyle "Translucent";
Alpha 0.4;
}
}
// Mummy leader ghost -------------------------------------------------------
class MummyLeaderGhost : MummyLeader
{
Default
{
Species "MummyLeaderGhost";
+SHADOW
+GHOST
RenderStyle "Translucent";
Alpha 0.4;
}
}
// Mummy soul ---------------------------------------------------------------
class MummySoul : Actor
{
Default
{
+NOBLOCKMAP
+NOGRAVITY
}
States
{
Spawn:
MUMM QRS 5;
MUMM TUVW 9;
Stop;
}
}
// Mummy FX 1 (flying head) -------------------------------------------------
class MummyFX1 : Actor
{
Default
{
Radius 8;
Height 14;
Speed 9;
FastSpeed 18;
Damage 4;
RenderStyle "Add";
Projectile;
-ACTIVATEPCROSS
-ACTIVATEIMPACT
+SEEKERMISSILE
}
States
{
Spawn:
FX15 A 5 Bright A_PlaySound("mummy/head");
FX15 B 5 Bright A_SeekerMissile(10,20);
FX15 C 5 Bright;
FX15 B 5 Bright A_SeekerMissile(10,20);
Loop;
Death:
FX15 DEFG 5 Bright;
Stop;
}
}

View file

@ -0,0 +1,104 @@
class Snake : Actor
{
Default
{
Health 280;
Radius 22;
Height 70;
Speed 10;
Painchance 48;
Monster;
+FLOORCLIP
AttackSound "snake/attack";
SeeSound "snake/sight";
PainSound "snake/pain";
DeathSound "snake/death";
ActiveSound "snake/active";
Obituary "$OB_SNAKE";
DropItem "PhoenixRodAmmo", 84, 5;
}
States
{
Spawn:
SNKE AB 10 A_Look;
Loop;
See:
SNKE ABCD 4 A_Chase;
Loop;
Missile:
SNKE FF 5 A_FaceTarget;
SNKE FFF 4 A_CustomMissile("SnakeProjA", 32, 0, 0, CMF_CHECKTARGETDEAD);
SNKE FFF 5 A_FaceTarget;
SNKE F 4 A_CustomMissile("SnakeProjB", 32, 0, 0, CMF_CHECKTARGETDEAD);
Goto See;
Pain:
SNKE E 3;
SNKE E 3 A_Pain;
Goto See;
Death:
SNKE G 5;
SNKE H 5 A_Scream;
SNKE IJKL 5;
SNKE M 5 A_NoBlocking;
SNKE NO 5;
SNKE P -1;
Stop;
}
}
// Snake projectile A -------------------------------------------------------
class SnakeProjA : Actor
{
Default
{
Radius 12;
Height 8;
Speed 14;
FastSpeed 20;
Damage 1;
Projectile;
-NOBLOCKMAP
-ACTIVATEIMPACT
-ACTIVATEPCROSS
+WINDTHRUST
+SPAWNSOUNDSOURCE
RenderStyle "Add";
SeeSound "snake/attack";
}
States
{
Spawn:
SNFX ABCD 5 Bright;
Loop;
Death:
SNFX EF 5 Bright;
SNFX G 4 Bright;
SNFX HI 3 Bright;
Stop;
}
}
// Snake projectile B -------------------------------------------------------
class SnakeProjB : SnakeProjA
{
Default
{
Damage 3;
+NOBLOCKMAP
-WINDTHRUST
}
States
{
Spawn:
SNFX JK 6 Bright;
Loop;
Death:
SNFX LM 5 Bright;
SNFX N 4 Bright;
SNFX O 3 Bright;
Stop;
}
}