mirror of
https://github.com/ZDoom/gzdoom.git
synced 2025-01-31 05:40:44 +00:00
- another batch of Hexen items converted.
- fixed parsing of named damage types and pain chances.
This commit is contained in:
parent
1652c02a08
commit
61cc7dbb29
17 changed files with 1332 additions and 1204 deletions
|
@ -1554,7 +1554,7 @@ const char *ZCCCompiler::GetString(ZCC_Expression *expr, bool silent)
|
||||||
{
|
{
|
||||||
if (expr->Type == TypeError)
|
if (expr->Type == TypeError)
|
||||||
{
|
{
|
||||||
return 0;
|
return nullptr;
|
||||||
}
|
}
|
||||||
else if (expr->Type->IsKindOf(RUNTIME_CLASS(PString)))
|
else if (expr->Type->IsKindOf(RUNTIME_CLASS(PString)))
|
||||||
{
|
{
|
||||||
|
@ -1568,7 +1568,7 @@ const char *ZCCCompiler::GetString(ZCC_Expression *expr, bool silent)
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (!silent) Error(expr, "Cannot convert to string");
|
if (!silent) Error(expr, "Cannot convert to string");
|
||||||
return 0;
|
return nullptr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1631,7 +1631,7 @@ void ZCCCompiler::DispatchProperty(FPropertyInfo *prop, ZCC_PropertyStmt *proper
|
||||||
conv.d = GetDouble(exp);
|
conv.d = GetDouble(exp);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'Z': // an optional string. Does not allow any numerical value.
|
case 'Z': // an optional string. Does not allow any numeric value.
|
||||||
if (!GetString(exp, true))
|
if (!GetString(exp, true))
|
||||||
{
|
{
|
||||||
// apply this expression to the next argument on the list.
|
// apply this expression to the next argument on the list.
|
||||||
|
@ -1640,7 +1640,8 @@ void ZCCCompiler::DispatchProperty(FPropertyInfo *prop, ZCC_PropertyStmt *proper
|
||||||
p++;
|
p++;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
// fall through
|
conv.s = GetString(exp);
|
||||||
|
break;
|
||||||
|
|
||||||
case 'C': // this parser accepts colors only in string form.
|
case 'C': // this parser accepts colors only in string form.
|
||||||
pref.i = 1;
|
pref.i = 1;
|
||||||
|
|
|
@ -1,186 +0,0 @@
|
||||||
// Centaur ------------------------------------------------------------------
|
|
||||||
|
|
||||||
ACTOR Centaur
|
|
||||||
{
|
|
||||||
Health 200
|
|
||||||
Painchance 135
|
|
||||||
Speed 13
|
|
||||||
Height 64
|
|
||||||
Mass 120
|
|
||||||
Monster
|
|
||||||
+FLOORCLIP
|
|
||||||
+TELESTOMP
|
|
||||||
+SHIELDREFLECT
|
|
||||||
SeeSound "CentaurSight"
|
|
||||||
AttackSound "CentaurAttack"
|
|
||||||
PainSound "CentaurPain"
|
|
||||||
DeathSound "CentaurDeath"
|
|
||||||
ActiveSound "CentaurActive"
|
|
||||||
HowlSound "PuppyBeat"
|
|
||||||
Obituary "$OB_CENTAUR"
|
|
||||||
DamageFactor "Electric", 3
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
CENT AB 10 A_Look
|
|
||||||
Loop
|
|
||||||
See:
|
|
||||||
CENT ABCD 4 A_Chase
|
|
||||||
Loop
|
|
||||||
Pain:
|
|
||||||
CENT G 6 A_Pain
|
|
||||||
CENT G 6 A_SetReflectiveInvulnerable
|
|
||||||
CENT EEE 15 A_CentaurDefend
|
|
||||||
CENT E 1 A_UnsetReflectiveInvulnerable
|
|
||||||
Goto See
|
|
||||||
Melee:
|
|
||||||
CENT H 5 A_FaceTarget
|
|
||||||
CENT I 4 A_FaceTarget
|
|
||||||
CENT J 7 A_CustomMeleeAttack(random[CentaurAttack](3,9))
|
|
||||||
Goto See
|
|
||||||
Death:
|
|
||||||
CENT K 4
|
|
||||||
CENT L 4 A_Scream
|
|
||||||
CENT MN 4
|
|
||||||
CENT O 4 A_NoBlocking
|
|
||||||
CENT PQ 4
|
|
||||||
CENT R 4 A_QueueCorpse
|
|
||||||
CENT S 4
|
|
||||||
CENT T -1
|
|
||||||
Stop
|
|
||||||
XDeath:
|
|
||||||
CTXD A 4
|
|
||||||
CTXD B 4 A_NoBlocking
|
|
||||||
CTXD C 0 A_SpawnItemEx("CentaurSword", 0, 0, 45,
|
|
||||||
1 + random[CentaurDrop](-128,127)*0.03125,
|
|
||||||
1 + random[CentaurDrop](-128,127)*0.03125,
|
|
||||||
8 + random[CentaurDrop](0,255)*0.015625, 270)
|
|
||||||
CTXD C 4 A_SpawnItemEx("CentaurShield", 0, 0, 45,
|
|
||||||
1 + random[CentaurDrop](-128,127)*0.03125,
|
|
||||||
1 + random[CentaurDrop](-128,127)*0.03125,
|
|
||||||
8 + random[CentaurDrop](0,255)*0.015625, 90)
|
|
||||||
CTXD D 3 A_Scream
|
|
||||||
CTXD E 4 A_QueueCorpse
|
|
||||||
CTXD F 3
|
|
||||||
CTXD G 4
|
|
||||||
CTXD H 3
|
|
||||||
CTXD I 4
|
|
||||||
CTXD J 3
|
|
||||||
CTXD K -1
|
|
||||||
Ice:
|
|
||||||
CENT U 5 A_FreezeDeath
|
|
||||||
CENT U 1 A_FreezeDeathChunks
|
|
||||||
Wait
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Centaur Leader -----------------------------------------------------------
|
|
||||||
|
|
||||||
ACTOR CentaurLeader : Centaur
|
|
||||||
{
|
|
||||||
Health 250
|
|
||||||
PainChance 96
|
|
||||||
Speed 10
|
|
||||||
Obituary "$OB_SLAUGHTAUR"
|
|
||||||
HitObituary "$OB_SLAUGHTAURHIT"
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Missile:
|
|
||||||
CENT E 10 A_FaceTarget
|
|
||||||
CENT F 8 Bright A_CustomMissile("CentaurFX", 45, 0, 0, CMF_AIMOFFSET)
|
|
||||||
CENT E 10 A_FaceTarget
|
|
||||||
CENT F 8 Bright A_CustomMissile("CentaurFX", 45, 0, 0, CMF_AIMOFFSET)
|
|
||||||
Goto See
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Mashed centaur -----------------------------------------------------------
|
|
||||||
//
|
|
||||||
// The mashed centaur is only placed through ACS. Nowhere in the game source
|
|
||||||
// is it ever referenced.
|
|
||||||
|
|
||||||
ACTOR CentaurMash : Centaur
|
|
||||||
{
|
|
||||||
+NOBLOOD
|
|
||||||
+BLASTED
|
|
||||||
-TELESTOMP
|
|
||||||
+NOICEDEATH
|
|
||||||
RenderStyle Translucent
|
|
||||||
Alpha 0.4
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Death:
|
|
||||||
XDeath:
|
|
||||||
Ice:
|
|
||||||
Stop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Centaur projectile -------------------------------------------------------
|
|
||||||
|
|
||||||
ACTOR CentaurFX
|
|
||||||
{
|
|
||||||
Speed 20
|
|
||||||
Damage 4
|
|
||||||
Projectile
|
|
||||||
+SPAWNSOUNDSOURCE
|
|
||||||
RenderStyle Add
|
|
||||||
SeeSound "CentaurLeaderAttack"
|
|
||||||
DeathSound "CentaurMissileExplode"
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
CTFX A -1 Bright
|
|
||||||
Stop
|
|
||||||
Death:
|
|
||||||
CTFX B 4 Bright
|
|
||||||
CTFX C 3 Bright
|
|
||||||
CTFX D 4 Bright
|
|
||||||
CTFX E 3 Bright
|
|
||||||
CTFX F 2 Bright
|
|
||||||
Stop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Centaur shield (debris) --------------------------------------------------
|
|
||||||
|
|
||||||
ACTOR CentaurShield
|
|
||||||
{
|
|
||||||
+DROPOFF
|
|
||||||
+CORPSE
|
|
||||||
+NOTELEPORT
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
CTDP ABCDEF 3
|
|
||||||
Goto Spawn+2
|
|
||||||
Crash:
|
|
||||||
CTDP G 4
|
|
||||||
CTDP H 4 A_QueueCorpse
|
|
||||||
CTDP I 4
|
|
||||||
CTDP J -1
|
|
||||||
Stop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Centaur sword (debris) ---------------------------------------------------
|
|
||||||
|
|
||||||
ACTOR CentaurSword
|
|
||||||
{
|
|
||||||
+DROPOFF
|
|
||||||
+CORPSE
|
|
||||||
+NOTELEPORT
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
CTDP KLMNOPQ 3
|
|
||||||
Goto Spawn+2
|
|
||||||
Crash:
|
|
||||||
CTDP R 4
|
|
||||||
CTDP S 4 A_QueueCorpse
|
|
||||||
CTDP T -1
|
|
||||||
Stop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
|
@ -1,385 +0,0 @@
|
||||||
|
|
||||||
// Demon, type 1 (green, like D'Sparil's) -----------------------------------
|
|
||||||
|
|
||||||
ACTOR Demon1
|
|
||||||
{
|
|
||||||
Health 250
|
|
||||||
Painchance 50
|
|
||||||
Speed 13
|
|
||||||
Radius 32
|
|
||||||
Height 64
|
|
||||||
Mass 220
|
|
||||||
Monster
|
|
||||||
+TELESTOMP
|
|
||||||
+FLOORCLIP
|
|
||||||
SeeSound "DemonSight"
|
|
||||||
AttackSound "DemonAttack"
|
|
||||||
PainSound "DemonPain"
|
|
||||||
DeathSound "DemonDeath"
|
|
||||||
ActiveSound "DemonActive"
|
|
||||||
Obituary "$OB_DEMON1"
|
|
||||||
const int ChunkFlags = SXF_TRANSFERTRANSLATION | SXF_ABSOLUTEVELOCITY;
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
DEMN AA 10 A_Look
|
|
||||||
Loop
|
|
||||||
See:
|
|
||||||
DEMN ABCD 4 A_Chase
|
|
||||||
Loop
|
|
||||||
Pain:
|
|
||||||
DEMN E 4
|
|
||||||
DEMN E 4 A_Pain
|
|
||||||
Goto See
|
|
||||||
Melee:
|
|
||||||
DEMN E 6 A_FaceTarget
|
|
||||||
DEMN F 8 A_FaceTarget
|
|
||||||
DEMN G 6 A_CustomMeleeAttack(random[DemonAttack1](1,8)*2)
|
|
||||||
Goto See
|
|
||||||
Missile:
|
|
||||||
DEMN E 5 A_FaceTarget
|
|
||||||
DEMN F 6 A_FaceTarget
|
|
||||||
DEMN G 5 A_CustomMissile("Demon1FX1", 62, 0)
|
|
||||||
Goto See
|
|
||||||
Death:
|
|
||||||
DEMN HI 6
|
|
||||||
DEMN J 6 A_Scream
|
|
||||||
DEMN K 6 A_NoBlocking
|
|
||||||
DEMN L 6 A_QueueCorpse
|
|
||||||
DEMN MNO 6
|
|
||||||
DEMN P -1
|
|
||||||
Stop
|
|
||||||
XDeath:
|
|
||||||
DEMN H 6
|
|
||||||
DEMN I 0 A_SpawnItemEx("Demon1Chunk1", 0,0,45, frandom[DemonChunks](1,4.984375)*cos(Angle+90), frandom[DemonChunks](1,4.984375)*sin(Angle+90), 8, 90, ChunkFlags)
|
|
||||||
DEMN I 0 A_SpawnItemEx("Demon1Chunk2", 0,0,45, frandom[DemonChunks](1,4.984375)*cos(Angle-90), frandom[DemonChunks](1,4.984375)*sin(Angle-90), 8, 270, ChunkFlags)
|
|
||||||
DEMN I 0 A_SpawnItemEx("Demon1Chunk3", 0,0,45, frandom[DemonChunks](1,4.984375)*cos(Angle-90), frandom[DemonChunks](1,4.984375)*sin(Angle-90), 8, 270, ChunkFlags)
|
|
||||||
DEMN I 0 A_SpawnItemEx("Demon1Chunk4", 0,0,45, frandom[DemonChunks](1,4.984375)*cos(Angle-90), frandom[DemonChunks](1,4.984375)*sin(Angle-90), 8, 270, ChunkFlags)
|
|
||||||
DEMN I 6 A_SpawnItemEx("Demon1Chunk5", 0,0,45, frandom[DemonChunks](1,4.984375)*cos(Angle-90), frandom[DemonChunks](1,4.984375)*sin(Angle-90), 8, 270, ChunkFlags)
|
|
||||||
Goto Death+2
|
|
||||||
Ice:
|
|
||||||
DEMN Q 5 A_FreezeDeath
|
|
||||||
DEMN Q 1 A_FreezeDeathChunks
|
|
||||||
Wait
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Demon, type 1, mashed ----------------------------------------------------
|
|
||||||
|
|
||||||
ACTOR Demon1Mash : Demon1
|
|
||||||
{
|
|
||||||
+NOBLOOD
|
|
||||||
+BLASTED
|
|
||||||
-TELESTOMP
|
|
||||||
+NOICEDEATH
|
|
||||||
RenderStyle Translucent
|
|
||||||
Alpha 0.4
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Death:
|
|
||||||
XDeath:
|
|
||||||
Ice:
|
|
||||||
Stop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Demon chunk, base class --------------------------------------------------
|
|
||||||
|
|
||||||
ACTOR DemonChunk
|
|
||||||
{
|
|
||||||
Radius 5
|
|
||||||
Height 5
|
|
||||||
+NOBLOCKMAP
|
|
||||||
+DROPOFF
|
|
||||||
+MISSILE
|
|
||||||
+CORPSE
|
|
||||||
+FLOORCLIP
|
|
||||||
+NOTELEPORT
|
|
||||||
}
|
|
||||||
|
|
||||||
// Demon, type 1, chunk 1 ---------------------------------------------------
|
|
||||||
|
|
||||||
ACTOR Demon1Chunk1 : DemonChunk
|
|
||||||
{
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
DEMA A 4
|
|
||||||
DEMA A 10 A_QueueCorpse
|
|
||||||
DEMA A 20
|
|
||||||
Wait
|
|
||||||
Death:
|
|
||||||
DEMA A -1
|
|
||||||
Stop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Demon, type 1, chunk 2 ---------------------------------------------------
|
|
||||||
|
|
||||||
ACTOR Demon1Chunk2 : DemonChunk
|
|
||||||
{
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
DEMB A 4
|
|
||||||
DEMB A 10 A_QueueCorpse
|
|
||||||
DEMB A 20
|
|
||||||
Wait
|
|
||||||
Death:
|
|
||||||
DEMB A -1
|
|
||||||
Stop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ACTOR Demon1Chunk3 : DemonChunk
|
|
||||||
{
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
DEMC A 4
|
|
||||||
DEMC A 10 A_QueueCorpse
|
|
||||||
DEMC A 20
|
|
||||||
Wait
|
|
||||||
Death:
|
|
||||||
DEMC A -1
|
|
||||||
Stop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Demon, type 1, chunk 4 ---------------------------------------------------
|
|
||||||
|
|
||||||
ACTOR Demon1Chunk4 : DemonChunk
|
|
||||||
{
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
DEMD A 4
|
|
||||||
DEMD A 10 A_QueueCorpse
|
|
||||||
DEMD A 20
|
|
||||||
Wait
|
|
||||||
Death:
|
|
||||||
DEMD A -1
|
|
||||||
Stop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Demon, type 1, chunk 5 ---------------------------------------------------
|
|
||||||
|
|
||||||
ACTOR Demon1Chunk5 : DemonChunk
|
|
||||||
{
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
DEME A 4
|
|
||||||
DEME A 10 A_QueueCorpse
|
|
||||||
DEME A 20
|
|
||||||
Wait
|
|
||||||
Death:
|
|
||||||
DEME A -1
|
|
||||||
Stop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Demon, type 1, projectile ------------------------------------------------
|
|
||||||
|
|
||||||
ACTOR Demon1FX1
|
|
||||||
{
|
|
||||||
Speed 15
|
|
||||||
Radius 10
|
|
||||||
Height 6
|
|
||||||
Damage 5
|
|
||||||
DamageType Fire
|
|
||||||
Projectile
|
|
||||||
+SPAWNSOUNDSOURCE
|
|
||||||
RenderStyle Add
|
|
||||||
SeeSound "DemonMissileFire"
|
|
||||||
DeathSound "DemonMissileExplode"
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
DMFX ABC 4 Bright
|
|
||||||
Loop
|
|
||||||
Death:
|
|
||||||
DMFX DE 4 Bright
|
|
||||||
DMFX FGH 3 Bright
|
|
||||||
Stop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Demon, type 2 (brown) ----------------------------------------------------
|
|
||||||
|
|
||||||
ACTOR Demon2 : Demon1
|
|
||||||
{
|
|
||||||
Obituary "$OB_DEMON2"
|
|
||||||
Species "Demon2"
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
DEM2 AA 10 A_Look
|
|
||||||
Loop
|
|
||||||
See:
|
|
||||||
DEM2 ABCD 4 A_Chase
|
|
||||||
Loop
|
|
||||||
Pain:
|
|
||||||
DEM2 E 4
|
|
||||||
DEM2 E 4 A_Pain
|
|
||||||
Goto See
|
|
||||||
Melee:
|
|
||||||
DEM2 E 6 A_FaceTarget
|
|
||||||
DEM2 F 8 A_FaceTarget
|
|
||||||
DEM2 G 6 A_CustomMeleeAttack(random[DemonAttack1](1,8)*2)
|
|
||||||
Goto See
|
|
||||||
Missile:
|
|
||||||
DEM2 E 5 A_FaceTarget
|
|
||||||
DEM2 F 6 A_FaceTarget
|
|
||||||
DEM2 G 5 A_CustomMissile("Demon2FX1", 62, 0)
|
|
||||||
Goto See
|
|
||||||
Death:
|
|
||||||
DEM2 HI 6
|
|
||||||
DEM2 J 6 A_Scream
|
|
||||||
DEM2 K 6 A_NoBlocking
|
|
||||||
DEM2 L 6 A_QueueCorpse
|
|
||||||
DEM2 MNO 6
|
|
||||||
DEM2 P -1
|
|
||||||
Stop
|
|
||||||
XDeath:
|
|
||||||
DEM2 H 6
|
|
||||||
DEM2 I 0 A_SpawnItemEx("Demon2Chunk1", 0,0,45, frandom[DemonChunks](1,4.984375)*cos(Angle+90), frandom[DemonChunks](1,4.984375)*sin(Angle+90), 8, 90, ChunkFlags)
|
|
||||||
DEM2 I 0 A_SpawnItemEx("Demon2Chunk2", 0,0,45, frandom[DemonChunks](1,4.984375)*cos(Angle-90), frandom[DemonChunks](1,4.984375)*sin(Angle-90), 8, 270, ChunkFlags)
|
|
||||||
DEM2 I 0 A_SpawnItemEx("Demon2Chunk3", 0,0,45, frandom[DemonChunks](1,4.984375)*cos(Angle-90), frandom[DemonChunks](1,4.984375)*sin(Angle-90), 8, 270, ChunkFlags)
|
|
||||||
DEM2 I 0 A_SpawnItemEx("Demon2Chunk4", 0,0,45, frandom[DemonChunks](1,4.984375)*cos(Angle-90), frandom[DemonChunks](1,4.984375)*sin(Angle-90), 8, 270, ChunkFlags)
|
|
||||||
DEM2 I 6 A_SpawnItemEx("Demon2Chunk5", 0,0,45, frandom[DemonChunks](1,4.984375)*cos(Angle-90), frandom[DemonChunks](1,4.984375)*sin(Angle-90), 8, 270, ChunkFlags)
|
|
||||||
Goto Death+2
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Demon, type 2, mashed ----------------------------------------------------
|
|
||||||
|
|
||||||
ACTOR Demon2Mash : Demon2
|
|
||||||
{
|
|
||||||
+NOBLOOD
|
|
||||||
+BLASTED
|
|
||||||
-TELESTOMP
|
|
||||||
+NOICEDEATH
|
|
||||||
RenderStyle Translucent
|
|
||||||
Alpha 0.4
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Death:
|
|
||||||
XDeath:
|
|
||||||
Ice:
|
|
||||||
Stop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Demon, type 2, chunk 1 ---------------------------------------------------
|
|
||||||
|
|
||||||
ACTOR Demon2Chunk1 : DemonChunk
|
|
||||||
{
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
DMBA A 4
|
|
||||||
DMBA A 10 A_QueueCorpse
|
|
||||||
DMBA A 20
|
|
||||||
Wait
|
|
||||||
Death:
|
|
||||||
DMBA A -1
|
|
||||||
Stop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Demon, type 2, chunk 2 ---------------------------------------------------
|
|
||||||
|
|
||||||
ACTOR Demon2Chunk2 : DemonChunk
|
|
||||||
{
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
DMBB A 4
|
|
||||||
DMBB A 10 A_QueueCorpse
|
|
||||||
DMBB A 20
|
|
||||||
Wait
|
|
||||||
Death:
|
|
||||||
DMBB A -1
|
|
||||||
Stop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Demon, type 2, chunk 3 ---------------------------------------------------
|
|
||||||
|
|
||||||
ACTOR Demon2Chunk3 : DemonChunk
|
|
||||||
{
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
DMBC A 4
|
|
||||||
DMBC A 10 A_QueueCorpse
|
|
||||||
DMBC A 20
|
|
||||||
Wait
|
|
||||||
Death:
|
|
||||||
DMBC A -1
|
|
||||||
Stop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Demon, type 2, chunk 4 ---------------------------------------------------
|
|
||||||
|
|
||||||
ACTOR Demon2Chunk4 : DemonChunk
|
|
||||||
{
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
DMBD A 4
|
|
||||||
DMBD A 10 A_QueueCorpse
|
|
||||||
DMBD A 20
|
|
||||||
Wait
|
|
||||||
Death:
|
|
||||||
DMBD A -1
|
|
||||||
Stop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Demon, type 2, chunk 5 ---------------------------------------------------
|
|
||||||
|
|
||||||
ACTOR Demon2Chunk5 : DemonChunk
|
|
||||||
{
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
DMBE A 4
|
|
||||||
DMBE A 10 A_QueueCorpse
|
|
||||||
DMBE A 20
|
|
||||||
Wait
|
|
||||||
Death:
|
|
||||||
DMBE A -1
|
|
||||||
Stop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Demon, type 2, projectile ------------------------------------------------
|
|
||||||
|
|
||||||
ACTOR Demon2FX1
|
|
||||||
{
|
|
||||||
Speed 15
|
|
||||||
Radius 10
|
|
||||||
Height 6
|
|
||||||
Damage 5
|
|
||||||
DamageType Fire
|
|
||||||
Projectile
|
|
||||||
+SPAWNSOUNDSOURCE
|
|
||||||
RenderStyle Add
|
|
||||||
SeeSound "DemonMissileFire"
|
|
||||||
DeathSound "DemonMissileExplode"
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
D2FX ABCDEF 4 Bright
|
|
||||||
Loop
|
|
||||||
Death:
|
|
||||||
D2FX GHIJ 4 Bright
|
|
||||||
D2FX KL 3 Bright
|
|
||||||
Stop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,106 +0,0 @@
|
||||||
|
|
||||||
// Ettin --------------------------------------------------------------------
|
|
||||||
|
|
||||||
ACTOR Ettin
|
|
||||||
{
|
|
||||||
Health 175
|
|
||||||
Radius 25
|
|
||||||
Height 68
|
|
||||||
Mass 175
|
|
||||||
Speed 13
|
|
||||||
Damage 3
|
|
||||||
Painchance 60
|
|
||||||
Monster
|
|
||||||
+FLOORCLIP
|
|
||||||
+TELESTOMP
|
|
||||||
SeeSound "EttinSight"
|
|
||||||
AttackSound "EttinAttack"
|
|
||||||
PainSound "EttinPain"
|
|
||||||
DeathSound "EttinDeath"
|
|
||||||
ActiveSound "EttinActive"
|
|
||||||
HowlSound "PuppyBeat"
|
|
||||||
Obituary "$OB_ETTIN"
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
ETTN AA 10 A_Look
|
|
||||||
Loop
|
|
||||||
See:
|
|
||||||
ETTN ABCD 5 A_Chase
|
|
||||||
Loop
|
|
||||||
Pain:
|
|
||||||
ETTN H 7 A_Pain
|
|
||||||
Goto See
|
|
||||||
Melee:
|
|
||||||
ETTN EF 6 A_FaceTarget
|
|
||||||
ETTN G 8 A_CustomMeleeAttack(random[EttinAttack](1,8)*2)
|
|
||||||
Goto See
|
|
||||||
Death:
|
|
||||||
ETTN IJ 4
|
|
||||||
ETTN K 4 A_Scream
|
|
||||||
ETTN L 4 A_NoBlocking
|
|
||||||
ETTN M 4 A_QueueCorpse
|
|
||||||
ETTN NOP 4
|
|
||||||
ETTN Q -1
|
|
||||||
Stop
|
|
||||||
XDeath:
|
|
||||||
ETTB A 4
|
|
||||||
ETTB B 4 A_NoBlocking
|
|
||||||
ETTB C 4 A_SpawnItemEx("EttinMace", 0,0,8.5,
|
|
||||||
random[DropMace](-128,127) * 0.03125,
|
|
||||||
random[DropMace](-128,127) * 0.03125,
|
|
||||||
10 + random[DropMace](0,255) * 0.015625, 0, SXF_ABSOLUTEVELOCITY)
|
|
||||||
ETTB D 4 A_Scream
|
|
||||||
ETTB E 4 A_QueueCorpse
|
|
||||||
ETTB FGHIJK 4
|
|
||||||
ETTB L -1
|
|
||||||
Stop
|
|
||||||
Ice:
|
|
||||||
ETTN R 5 A_FreezeDeath
|
|
||||||
ETTN R 1 A_FreezeDeathChunks
|
|
||||||
Wait
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Ettin mace ---------------------------------------------------------------
|
|
||||||
|
|
||||||
ACTOR EttinMace
|
|
||||||
{
|
|
||||||
Radius 5
|
|
||||||
Height 5
|
|
||||||
+DROPOFF
|
|
||||||
+CORPSE
|
|
||||||
+NOTELEPORT
|
|
||||||
+FLOORCLIP
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
ETTB MNOP 5
|
|
||||||
Loop
|
|
||||||
Crash:
|
|
||||||
ETTB Q 5
|
|
||||||
ETTB R 5 A_QueueCorpse
|
|
||||||
ETTB S -1
|
|
||||||
Stop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Ettin mash ---------------------------------------------------------------
|
|
||||||
|
|
||||||
ACTOR EttinMash : Ettin
|
|
||||||
{
|
|
||||||
+NOBLOOD
|
|
||||||
+NOICEDEATH
|
|
||||||
RenderStyle Translucent
|
|
||||||
Alpha 0.4
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Death:
|
|
||||||
XDeath:
|
|
||||||
Ice:
|
|
||||||
Stop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,87 +0,0 @@
|
||||||
// Blue mana ----------------------------------------------------------------
|
|
||||||
|
|
||||||
ACTOR Mana1 : Ammo
|
|
||||||
{
|
|
||||||
Inventory.Amount 15
|
|
||||||
Inventory.MaxAmount 200
|
|
||||||
Ammo.BackpackAmount 15
|
|
||||||
Ammo.BackpackMaxAmount 200
|
|
||||||
Radius 8
|
|
||||||
Height 8
|
|
||||||
+FLOATBOB
|
|
||||||
Inventory.Icon "MAN1I0"
|
|
||||||
Inventory.PickupMessage "$TXT_MANA_1"
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
MAN1 ABCDEFGHI 4 Bright
|
|
||||||
Loop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Green mana ---------------------------------------------------------------
|
|
||||||
|
|
||||||
ACTOR Mana2 : Ammo
|
|
||||||
{
|
|
||||||
Inventory.Amount 15
|
|
||||||
Inventory.MaxAmount 200
|
|
||||||
Ammo.BackpackAmount 15
|
|
||||||
Ammo.BackpackMaxAmount 200
|
|
||||||
Radius 8
|
|
||||||
Height 8
|
|
||||||
+FLOATBOB
|
|
||||||
Inventory.Icon "MAN2G0"
|
|
||||||
Inventory.PickupMessage "$TXT_MANA_2"
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
MAN2 ABCDEFGHIJKLMNOP 4 Bright
|
|
||||||
Loop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Combined mana ------------------------------------------------------------
|
|
||||||
|
|
||||||
ACTOR Mana3 : CustomInventory
|
|
||||||
{
|
|
||||||
Radius 8
|
|
||||||
Height 8
|
|
||||||
+FLOATBOB
|
|
||||||
Inventory.PickupMessage "$TXT_MANA_BOTH"
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
MAN3 ABCDEFGHIJKLMNOP 4 Bright
|
|
||||||
Loop
|
|
||||||
Pickup:
|
|
||||||
TNT1 A 0 A_GiveInventory("Mana1", 20)
|
|
||||||
TNT1 A 0 A_GiveInventory("Mana2", 20)
|
|
||||||
Stop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Boost Mana Artifact Krater of Might ------------------------------------
|
|
||||||
|
|
||||||
ACTOR ArtiBoostMana : CustomInventory
|
|
||||||
{
|
|
||||||
+FLOATBOB
|
|
||||||
+COUNTITEM
|
|
||||||
+INVENTORY.INVBAR
|
|
||||||
+INVENTORY.PICKUPFLASH
|
|
||||||
+INVENTORY.FANCYPICKUPSOUND
|
|
||||||
Inventory.DefMaxAmount
|
|
||||||
Inventory.Icon "ARTIBMAN"
|
|
||||||
Inventory.PickupSound "misc/p_pkup"
|
|
||||||
Inventory.PickupMessage "$TXT_ARTIBOOSTMANA"
|
|
||||||
Tag "$TAG_ARTIBOOSTMANA"
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
BMAN A -1
|
|
||||||
Stop
|
|
||||||
Use:
|
|
||||||
TNT1 A 0 A_GiveInventory("Mana1", 200)
|
|
||||||
TNT1 A 0 A_GiveInventory("Mana2", 200)
|
|
||||||
Stop
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,287 +0,0 @@
|
||||||
|
|
||||||
// Yorick's Skull -----------------------------------------------------------
|
|
||||||
|
|
||||||
ACTOR PuzzSkull : PuzzleItem
|
|
||||||
{
|
|
||||||
PuzzleItem.Number 0
|
|
||||||
Inventory.Icon ARTISKLL
|
|
||||||
Inventory.PickupMessage "$TXT_ARTIPUZZSKULL"
|
|
||||||
Tag "$TAG_ARTIPUZZSKULL"
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
ASKU A -1
|
|
||||||
Stop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Heart of D'Sparil --------------------------------------------------------
|
|
||||||
|
|
||||||
ACTOR PuzzGemBig : PuzzleItem
|
|
||||||
{
|
|
||||||
PuzzleItem.Number 1
|
|
||||||
Inventory.Icon ARTIBGEM
|
|
||||||
Inventory.PickupMessage "$TXT_ARTIPUZZGEMBIG"
|
|
||||||
Tag "$TAG_ARTIPUZZGEMBIG"
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
ABGM A -1
|
|
||||||
Stop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Red Gem (Ruby Planet) ----------------------------------------------------
|
|
||||||
|
|
||||||
ACTOR PuzzGemRed : PuzzleItem
|
|
||||||
{
|
|
||||||
PuzzleItem.Number 2
|
|
||||||
Inventory.Icon ARTIGEMR
|
|
||||||
Inventory.PickupMessage "$TXT_ARTIPUZZGEMRED"
|
|
||||||
Tag "$TAG_ARTIPUZZGEMRED"
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
AGMR A -1
|
|
||||||
Stop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Green Gem 1 (Emerald Planet) ---------------------------------------------
|
|
||||||
|
|
||||||
ACTOR PuzzGemGreen1 : PuzzleItem
|
|
||||||
{
|
|
||||||
PuzzleItem.Number 3
|
|
||||||
Inventory.Icon ARTIGEMG
|
|
||||||
Inventory.PickupMessage "$TXT_ARTIPUZZGEMGREEN1"
|
|
||||||
Tag "$TAG_ARTIPUZZGEMGREEN1"
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
AGMG A -1
|
|
||||||
Stop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Green Gem 2 (Emerald Planet) ---------------------------------------------
|
|
||||||
|
|
||||||
ACTOR PuzzGemGreen2 : PuzzleItem
|
|
||||||
{
|
|
||||||
PuzzleItem.Number 4
|
|
||||||
Inventory.Icon ARTIGMG2
|
|
||||||
Inventory.PickupMessage "$TXT_ARTIPUZZGEMGREEN2"
|
|
||||||
Tag "$TAG_ARTIPUZZGEMGREEN2"
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
AGG2 A -1
|
|
||||||
Stop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Blue Gem 1 (Sapphire Planet) ---------------------------------------------
|
|
||||||
|
|
||||||
ACTOR PuzzGemBlue1 : PuzzleItem
|
|
||||||
{
|
|
||||||
PuzzleItem.Number 5
|
|
||||||
Inventory.Icon ARTIGEMB
|
|
||||||
Inventory.PickupMessage "$TXT_ARTIPUZZGEMBLUE1"
|
|
||||||
Tag "$TAG_ARTIPUZZGEMBLUE1"
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
AGMB A -1
|
|
||||||
Stop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Blue Gem 2 (Sapphire Planet) ---------------------------------------------
|
|
||||||
|
|
||||||
ACTOR PuzzGemBlue2 : PuzzleItem
|
|
||||||
{
|
|
||||||
PuzzleItem.Number 6
|
|
||||||
Inventory.Icon ARTIGMB2
|
|
||||||
Inventory.PickupMessage "$TXT_ARTIPUZZGEMBLUE2"
|
|
||||||
Tag "$TAG_ARTIPUZZGEMBLUE2"
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
AGB2 A -1
|
|
||||||
Stop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Book 1 (Daemon Codex) ----------------------------------------------------
|
|
||||||
|
|
||||||
ACTOR PuzzBook1 : PuzzleItem
|
|
||||||
{
|
|
||||||
PuzzleItem.Number 7
|
|
||||||
Inventory.Icon ARTIBOK1
|
|
||||||
Inventory.PickupMessage "$TXT_ARTIPUZZBOOK1"
|
|
||||||
Tag "$TAG_ARTIPUZZBOOK1"
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
ABK1 A -1
|
|
||||||
Stop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Book 2 (Liber Oscura) ----------------------------------------------------
|
|
||||||
|
|
||||||
ACTOR PuzzBook2 : PuzzleItem
|
|
||||||
{
|
|
||||||
PuzzleItem.Number 8
|
|
||||||
Inventory.Icon ARTIBOK2
|
|
||||||
Inventory.PickupMessage "$TXT_ARTIPUZZBOOK2"
|
|
||||||
Tag "$TAG_ARTIPUZZBOOK2"
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
ABK2 A -1
|
|
||||||
Stop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Flame Mask ---------------------------------------------------------------
|
|
||||||
|
|
||||||
|
|
||||||
ACTOR PuzzFlameMask : PuzzleItem
|
|
||||||
{
|
|
||||||
PuzzleItem.Number 9
|
|
||||||
Inventory.Icon ARTISKL2
|
|
||||||
Inventory.PickupMessage "$TXT_ARTIPUZZSKULL2"
|
|
||||||
Tag "$TAG_ARTIPUZZSKULL2"
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
ASK2 A -1
|
|
||||||
Stop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Fighter Weapon (Glaive Seal) ---------------------------------------------
|
|
||||||
|
|
||||||
ACTOR PuzzFWeapon : PuzzleItem
|
|
||||||
{
|
|
||||||
PuzzleItem.Number 10
|
|
||||||
Inventory.Icon ARTIFWEP
|
|
||||||
Inventory.PickupMessage "$TXT_ARTIPUZZFWEAPON"
|
|
||||||
Tag "$TAG_ARTIPUZZFWEAPON"
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
AFWP A -1
|
|
||||||
Stop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Cleric Weapon (Holy Relic) -----------------------------------------------
|
|
||||||
|
|
||||||
ACTOR PuzzCWeapon : PuzzleItem
|
|
||||||
{
|
|
||||||
PuzzleItem.Number 11
|
|
||||||
Inventory.Icon ARTICWEP
|
|
||||||
Inventory.PickupMessage "$TXT_ARTIPUZZCWEAPON"
|
|
||||||
Tag "$TAG_ARTIPUZZCWEAPON"
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
ACWP A -1
|
|
||||||
Stop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Mage Weapon (Sigil of the Magus) -----------------------------------------
|
|
||||||
|
|
||||||
ACTOR PuzzMWeapon : PuzzleItem
|
|
||||||
{
|
|
||||||
PuzzleItem.Number 12
|
|
||||||
Inventory.Icon ARTIMWEP
|
|
||||||
Inventory.PickupMessage "$TXT_ARTIPUZZMWEAPON"
|
|
||||||
Tag "$TAG_ARTIPUZZMWEAPON"
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
AMWP A -1
|
|
||||||
Stop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Clock Gear 1 -------------------------------------------------------------
|
|
||||||
|
|
||||||
ACTOR PuzzGear1 : PuzzleItem
|
|
||||||
{
|
|
||||||
PuzzleItem.Number 13
|
|
||||||
Inventory.Icon ARTIGEAR
|
|
||||||
Inventory.PickupMessage "$TXT_ARTIPUZZGEAR"
|
|
||||||
Tag "$TAG_ARTIPUZZGEAR1"
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
AGER ABCDEFGH 4 Bright
|
|
||||||
Loop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Clock Gear 2 -------------------------------------------------------------
|
|
||||||
|
|
||||||
ACTOR PuzzGear2 : PuzzleItem
|
|
||||||
{
|
|
||||||
PuzzleItem.Number 14
|
|
||||||
Inventory.Icon ARTIGER2
|
|
||||||
Inventory.PickupMessage "$TXT_ARTIPUZZGEAR"
|
|
||||||
Tag "$TAG_ARTIPUZZGEAR2"
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
AGR2 ABCDEFGH 4 Bright
|
|
||||||
Loop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Clock Gear 3 -------------------------------------------------------------
|
|
||||||
|
|
||||||
ACTOR PuzzGear3 : PuzzleItem
|
|
||||||
{
|
|
||||||
PuzzleItem.Number 15
|
|
||||||
Inventory.Icon ARTIGER3
|
|
||||||
Inventory.PickupMessage "$TXT_ARTIPUZZGEAR"
|
|
||||||
Tag "$TAG_ARTIPUZZGEAR3"
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
AGR3 ABCDEFGH 4 Bright
|
|
||||||
Loop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Clock Gear 4 -------------------------------------------------------------
|
|
||||||
|
|
||||||
ACTOR PuzzGear4 : PuzzleItem
|
|
||||||
{
|
|
||||||
PuzzleItem.Number 16
|
|
||||||
Inventory.Icon ARTIGER4
|
|
||||||
Inventory.PickupMessage "$TXT_ARTIPUZZGEAR"
|
|
||||||
Tag "$TAG_ARTIPUZZGEAR4"
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
AGR4 ABCDEFGH 4 Bright
|
|
||||||
Loop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,123 +0,0 @@
|
||||||
// Fire Ball ----------------------------------------------------------------
|
|
||||||
|
|
||||||
ACTOR FireBall
|
|
||||||
{
|
|
||||||
Speed 2
|
|
||||||
Radius 8
|
|
||||||
Height 8
|
|
||||||
Damage 4
|
|
||||||
DamageType Fire
|
|
||||||
+NOBLOCKMAP +NOGRAVITY +DROPOFF +MISSILE
|
|
||||||
+NOTELEPORT
|
|
||||||
RenderStyle Add
|
|
||||||
DeathSound "Fireball"
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
FBL1 AB 4 Bright
|
|
||||||
Loop
|
|
||||||
Death:
|
|
||||||
XPL1 ABCDEF 4 Bright
|
|
||||||
Stop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Arrow --------------------------------------------------------------------
|
|
||||||
|
|
||||||
ACTOR Arrow
|
|
||||||
{
|
|
||||||
Speed 6
|
|
||||||
Radius 8
|
|
||||||
Height 4
|
|
||||||
Damage 4
|
|
||||||
+NOBLOCKMAP +NOGRAVITY +DROPOFF +MISSILE
|
|
||||||
+NOTELEPORT
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
ARRW A -1
|
|
||||||
Stop
|
|
||||||
Death:
|
|
||||||
ARRW A 1
|
|
||||||
Stop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Dart ---------------------------------------------------------------------
|
|
||||||
|
|
||||||
ACTOR Dart
|
|
||||||
{
|
|
||||||
Speed 6
|
|
||||||
Radius 8
|
|
||||||
Height 4
|
|
||||||
Damage 2
|
|
||||||
+NOBLOCKMAP +NOGRAVITY +DROPOFF +MISSILE
|
|
||||||
+NOTELEPORT
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
DART A -1
|
|
||||||
Stop
|
|
||||||
Death:
|
|
||||||
DART A 1
|
|
||||||
Stop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Poison Dart --------------------------------------------------------------
|
|
||||||
|
|
||||||
ACTOR PoisonDart : Dart
|
|
||||||
{
|
|
||||||
PoisonDamage 20
|
|
||||||
}
|
|
||||||
|
|
||||||
// Ripper Ball --------------------------------------------------------------
|
|
||||||
|
|
||||||
ACTOR RipperBall
|
|
||||||
{
|
|
||||||
Speed 6
|
|
||||||
Radius 8
|
|
||||||
Damage 2
|
|
||||||
+NOBLOCKMAP +NOGRAVITY +DROPOFF +MISSILE
|
|
||||||
+NOTELEPORT +RIPPER
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
RIPP ABC 3
|
|
||||||
Loop
|
|
||||||
Death:
|
|
||||||
CFCF Q 4 Bright
|
|
||||||
CFCF R 3 Bright
|
|
||||||
CFCF S 4 Bright
|
|
||||||
CFCF T 3 Bright
|
|
||||||
CFCF U 4 Bright
|
|
||||||
CFCF V 3 Bright
|
|
||||||
CFCF W 4 Bright
|
|
||||||
CFCF X 3 Bright
|
|
||||||
CFCF Y 4 Bright
|
|
||||||
CFCF Z 3 Bright
|
|
||||||
Stop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Projectile Blade ---------------------------------------------------------
|
|
||||||
|
|
||||||
ACTOR ProjectileBlade
|
|
||||||
{
|
|
||||||
Speed 6
|
|
||||||
Radius 6
|
|
||||||
Height 6
|
|
||||||
Damage 3
|
|
||||||
+NOBLOCKMAP +NOGRAVITY +DROPOFF +MISSILE
|
|
||||||
+NOTELEPORT
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
BLAD A -1
|
|
||||||
Stop
|
|
||||||
Death:
|
|
||||||
BLAD A 1
|
|
||||||
Stop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,18 +0,0 @@
|
||||||
|
|
||||||
|
|
||||||
ACTOR ArtiSpeedBoots : PowerupGiver
|
|
||||||
{
|
|
||||||
+FLOATBOB
|
|
||||||
+COUNTITEM
|
|
||||||
+INVENTORY.PICKUPFLASH
|
|
||||||
Inventory.Icon ARTISPED
|
|
||||||
Inventory.PickupMessage "$TXT_ARTISPEED"
|
|
||||||
Tag "$TAG_ARTISPEED"
|
|
||||||
Powerup.Type Speed
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
SPED ABCDEFGH 3 Bright
|
|
||||||
Loop
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,10 +1,3 @@
|
||||||
#include "actors/hexen/mana.txt"
|
|
||||||
#include "actors/hexen/puzzleitems.txt"
|
|
||||||
#include "actors/hexen/scriptprojectiles.txt"
|
|
||||||
#include "actors/hexen/speedboots.txt"
|
|
||||||
#include "actors/hexen/ettin.txt"
|
|
||||||
#include "actors/hexen/centaur.txt"
|
|
||||||
#include "actors/hexen/demons.txt"
|
|
||||||
#include "actors/hexen/firedemon.txt"
|
#include "actors/hexen/firedemon.txt"
|
||||||
#include "actors/hexen/fog.txt"
|
#include "actors/hexen/fog.txt"
|
||||||
#include "actors/hexen/summon.txt"
|
#include "actors/hexen/summon.txt"
|
||||||
|
|
|
@ -97,7 +97,6 @@ zscript/hexen/hexenarmor.txt
|
||||||
zscript/hexen/hexendecorations.txt
|
zscript/hexen/hexendecorations.txt
|
||||||
zscript/hexen/hexenkeys.txt
|
zscript/hexen/hexenkeys.txt
|
||||||
zscript/hexen/hexenspecialdecs.txt
|
zscript/hexen/hexenspecialdecs.txt
|
||||||
/*
|
|
||||||
zscript/hexen/mana.txt
|
zscript/hexen/mana.txt
|
||||||
zscript/hexen/puzzleitems.txt
|
zscript/hexen/puzzleitems.txt
|
||||||
zscript/hexen/scriptprojectiles.txt
|
zscript/hexen/scriptprojectiles.txt
|
||||||
|
@ -105,6 +104,7 @@ zscript/hexen/speedboots.txt
|
||||||
zscript/hexen/ettin.txt
|
zscript/hexen/ettin.txt
|
||||||
zscript/hexen/centaur.txt
|
zscript/hexen/centaur.txt
|
||||||
zscript/hexen/demons.txt
|
zscript/hexen/demons.txt
|
||||||
|
/*
|
||||||
zscript/hexen/firedemon.txt
|
zscript/hexen/firedemon.txt
|
||||||
zscript/hexen/fog.txt
|
zscript/hexen/fog.txt
|
||||||
zscript/hexen/summon.txt
|
zscript/hexen/summon.txt
|
||||||
|
|
204
wadsrc/static/zscript/hexen/centaur.txt
Normal file
204
wadsrc/static/zscript/hexen/centaur.txt
Normal file
|
@ -0,0 +1,204 @@
|
||||||
|
// Centaur ------------------------------------------------------------------
|
||||||
|
|
||||||
|
class Centaur : Actor
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
Health 200;
|
||||||
|
Painchance 135;
|
||||||
|
Speed 13;
|
||||||
|
Height 64;
|
||||||
|
Mass 120;
|
||||||
|
Monster;
|
||||||
|
+FLOORCLIP
|
||||||
|
+TELESTOMP
|
||||||
|
+SHIELDREFLECT
|
||||||
|
SeeSound "CentaurSight";
|
||||||
|
AttackSound "CentaurAttack";
|
||||||
|
PainSound "CentaurPain";
|
||||||
|
DeathSound "CentaurDeath";
|
||||||
|
ActiveSound "CentaurActive";
|
||||||
|
HowlSound "PuppyBeat";
|
||||||
|
Obituary "$OB_CENTAUR";
|
||||||
|
DamageFactor "Electric", 3;
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
CENT AB 10 A_Look;
|
||||||
|
Loop;
|
||||||
|
See:
|
||||||
|
CENT ABCD 4 A_Chase;
|
||||||
|
Loop;
|
||||||
|
Pain:
|
||||||
|
CENT G 6 A_Pain;
|
||||||
|
CENT G 6 A_SetReflectiveInvulnerable;
|
||||||
|
CENT EEE 15 A_CentaurDefend;
|
||||||
|
CENT E 1 A_UnsetReflectiveInvulnerable;
|
||||||
|
Goto See;
|
||||||
|
Melee:
|
||||||
|
CENT H 5 A_FaceTarget;
|
||||||
|
CENT I 4 A_FaceTarget;
|
||||||
|
CENT J 7 A_CustomMeleeAttack(random[CentaurAttack](3,9));
|
||||||
|
Goto See;
|
||||||
|
Death:
|
||||||
|
CENT K 4;
|
||||||
|
CENT L 4 A_Scream;
|
||||||
|
CENT MN 4;
|
||||||
|
CENT O 4 A_NoBlocking;
|
||||||
|
CENT PQ 4;
|
||||||
|
CENT R 4 A_QueueCorpse;
|
||||||
|
CENT S 4;
|
||||||
|
CENT T -1;
|
||||||
|
Stop;
|
||||||
|
XDeath:
|
||||||
|
CTXD A 4;
|
||||||
|
CTXD B 4 A_NoBlocking;
|
||||||
|
CTXD C 0 A_SpawnItemEx("CentaurSword", 0, 0, 45,
|
||||||
|
1 + random[CentaurDrop](-128,127)*0.03125,
|
||||||
|
1 + random[CentaurDrop](-128,127)*0.03125,
|
||||||
|
8 + random[CentaurDrop](0,255)*0.015625, 270);
|
||||||
|
CTXD C 4 A_SpawnItemEx("CentaurShield", 0, 0, 45,
|
||||||
|
1 + random[CentaurDrop](-128,127)*0.03125,
|
||||||
|
1 + random[CentaurDrop](-128,127)*0.03125,
|
||||||
|
8 + random[CentaurDrop](0,255)*0.015625, 90);
|
||||||
|
CTXD D 3 A_Scream;
|
||||||
|
CTXD E 4 A_QueueCorpse;
|
||||||
|
CTXD F 3;
|
||||||
|
CTXD G 4;
|
||||||
|
CTXD H 3;
|
||||||
|
CTXD I 4;
|
||||||
|
CTXD J 3;
|
||||||
|
CTXD K -1;
|
||||||
|
Ice:
|
||||||
|
CENT U 5 A_FreezeDeath;
|
||||||
|
CENT U 1 A_FreezeDeathChunks;
|
||||||
|
Wait;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Centaur Leader -----------------------------------------------------------
|
||||||
|
|
||||||
|
class CentaurLeader : Centaur
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
Health 250;
|
||||||
|
PainChance 96;
|
||||||
|
Speed 10;
|
||||||
|
Obituary "$OB_SLAUGHTAUR";
|
||||||
|
HitObituary "$OB_SLAUGHTAURHIT";
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Missile:
|
||||||
|
CENT E 10 A_FaceTarget;
|
||||||
|
CENT F 8 Bright A_CustomMissile("CentaurFX", 45, 0, 0, CMF_AIMOFFSET);
|
||||||
|
CENT E 10 A_FaceTarget;
|
||||||
|
CENT F 8 Bright A_CustomMissile("CentaurFX", 45, 0, 0, CMF_AIMOFFSET);
|
||||||
|
Goto See;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Mashed centaur -----------------------------------------------------------
|
||||||
|
//
|
||||||
|
// The mashed centaur is only placed through ACS. Nowhere in the game source
|
||||||
|
// is it ever referenced.
|
||||||
|
|
||||||
|
class CentaurMash : Centaur
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
+NOBLOOD
|
||||||
|
+BLASTED
|
||||||
|
-TELESTOMP
|
||||||
|
+NOICEDEATH
|
||||||
|
RenderStyle "Translucent";
|
||||||
|
Alpha 0.4;
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Death:
|
||||||
|
XDeath:
|
||||||
|
Ice:
|
||||||
|
Stop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Centaur projectile -------------------------------------------------------
|
||||||
|
|
||||||
|
class CentaurFX : Actor
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
Speed 20;
|
||||||
|
Damage 4;
|
||||||
|
Projectile;
|
||||||
|
+SPAWNSOUNDSOURCE
|
||||||
|
RenderStyle "Add";
|
||||||
|
SeeSound "CentaurLeaderAttack";
|
||||||
|
DeathSound "CentaurMissileExplode";
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
CTFX A -1 Bright;
|
||||||
|
Stop;
|
||||||
|
Death:
|
||||||
|
CTFX B 4 Bright;
|
||||||
|
CTFX C 3 Bright;
|
||||||
|
CTFX D 4 Bright;
|
||||||
|
CTFX E 3 Bright;
|
||||||
|
CTFX F 2 Bright;
|
||||||
|
Stop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Centaur shield (debris) --------------------------------------------------
|
||||||
|
|
||||||
|
class CentaurShield : Actor
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
+DROPOFF
|
||||||
|
+CORPSE
|
||||||
|
+NOTELEPORT
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
CTDP ABCDEF 3;
|
||||||
|
Goto Spawn+2;
|
||||||
|
Crash:
|
||||||
|
CTDP G 4;
|
||||||
|
CTDP H 4 A_QueueCorpse;
|
||||||
|
CTDP I 4;
|
||||||
|
CTDP J -1;
|
||||||
|
Stop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Centaur sword (debris) ---------------------------------------------------
|
||||||
|
|
||||||
|
class CentaurSword : Actor
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
+DROPOFF
|
||||||
|
+CORPSE
|
||||||
|
+NOTELEPORT
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
CTDP KLMNOPQ 3;
|
||||||
|
Goto Spawn+2;
|
||||||
|
Crash:
|
||||||
|
CTDP R 4;
|
||||||
|
CTDP S 4 A_QueueCorpse;
|
||||||
|
CTDP T -1;
|
||||||
|
Stop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
408
wadsrc/static/zscript/hexen/demons.txt
Normal file
408
wadsrc/static/zscript/hexen/demons.txt
Normal file
|
@ -0,0 +1,408 @@
|
||||||
|
|
||||||
|
// Demon, type 1 (green, like D'Sparil's) -----------------------------------
|
||||||
|
|
||||||
|
class Demon1 : Actor
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
Health 250;
|
||||||
|
Painchance 50;
|
||||||
|
Speed 13;
|
||||||
|
Radius 32;
|
||||||
|
Height 64;
|
||||||
|
Mass 220;
|
||||||
|
Monster;
|
||||||
|
+TELESTOMP
|
||||||
|
+FLOORCLIP
|
||||||
|
SeeSound "DemonSight";
|
||||||
|
AttackSound "DemonAttack";
|
||||||
|
PainSound "DemonPain";
|
||||||
|
DeathSound "DemonDeath";
|
||||||
|
ActiveSound "DemonActive";
|
||||||
|
Obituary "$OB_DEMON1";
|
||||||
|
}
|
||||||
|
|
||||||
|
const ChunkFlags = SXF_TRANSFERTRANSLATION | SXF_ABSOLUTEVELOCITY;
|
||||||
|
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
DEMN AA 10 A_Look;
|
||||||
|
Loop;
|
||||||
|
See:
|
||||||
|
DEMN ABCD 4 A_Chase;
|
||||||
|
Loop;
|
||||||
|
Pain:
|
||||||
|
DEMN E 4;
|
||||||
|
DEMN E 4 A_Pain;
|
||||||
|
Goto See;
|
||||||
|
Melee:
|
||||||
|
DEMN E 6 A_FaceTarget;
|
||||||
|
DEMN F 8 A_FaceTarget;
|
||||||
|
DEMN G 6 A_CustomMeleeAttack(random[DemonAttack1](1,8)*2);
|
||||||
|
Goto See;
|
||||||
|
Missile:
|
||||||
|
DEMN E 5 A_FaceTarget;
|
||||||
|
DEMN F 6 A_FaceTarget;
|
||||||
|
DEMN G 5 A_CustomMissile("Demon1FX1", 62, 0);
|
||||||
|
Goto See;
|
||||||
|
Death:
|
||||||
|
DEMN HI 6;
|
||||||
|
DEMN J 6 A_Scream;
|
||||||
|
DEMN K 6 A_NoBlocking;
|
||||||
|
DEMN L 6 A_QueueCorpse;
|
||||||
|
DEMN MNO 6;
|
||||||
|
DEMN P -1;
|
||||||
|
Stop;
|
||||||
|
XDeath:
|
||||||
|
DEMN H 6;
|
||||||
|
DEMN I 0 A_SpawnItemEx("Demon1Chunk1", 0,0,45, frandom[DemonChunks](1,4.984375)*cos(Angle+90), frandom[DemonChunks](1,4.984375)*sin(Angle+90), 8, 90, ChunkFlags);
|
||||||
|
DEMN I 0 A_SpawnItemEx("Demon1Chunk2", 0,0,45, frandom[DemonChunks](1,4.984375)*cos(Angle-90), frandom[DemonChunks](1,4.984375)*sin(Angle-90), 8, 270, ChunkFlags);
|
||||||
|
DEMN I 0 A_SpawnItemEx("Demon1Chunk3", 0,0,45, frandom[DemonChunks](1,4.984375)*cos(Angle-90), frandom[DemonChunks](1,4.984375)*sin(Angle-90), 8, 270, ChunkFlags);
|
||||||
|
DEMN I 0 A_SpawnItemEx("Demon1Chunk4", 0,0,45, frandom[DemonChunks](1,4.984375)*cos(Angle-90), frandom[DemonChunks](1,4.984375)*sin(Angle-90), 8, 270, ChunkFlags);
|
||||||
|
DEMN I 6 A_SpawnItemEx("Demon1Chunk5", 0,0,45, frandom[DemonChunks](1,4.984375)*cos(Angle-90), frandom[DemonChunks](1,4.984375)*sin(Angle-90), 8, 270, ChunkFlags);
|
||||||
|
Goto Death+2;
|
||||||
|
Ice:
|
||||||
|
DEMN Q 5 A_FreezeDeath;
|
||||||
|
DEMN Q 1 A_FreezeDeathChunks;
|
||||||
|
Wait;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Demon, type 1, mashed ----------------------------------------------------
|
||||||
|
|
||||||
|
class Demon1Mash : Demon1
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
+NOBLOOD
|
||||||
|
+BLASTED
|
||||||
|
-TELESTOMP
|
||||||
|
+NOICEDEATH
|
||||||
|
RenderStyle "Translucent";
|
||||||
|
Alpha 0.4;
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Death:
|
||||||
|
XDeath:
|
||||||
|
Ice:
|
||||||
|
Stop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Demon chunk, base class --------------------------------------------------
|
||||||
|
|
||||||
|
class DemonChunk : Actor
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
Radius 5;
|
||||||
|
Height 5;
|
||||||
|
+NOBLOCKMAP
|
||||||
|
+DROPOFF
|
||||||
|
+MISSILE
|
||||||
|
+CORPSE
|
||||||
|
+FLOORCLIP
|
||||||
|
+NOTELEPORT
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Demon, type 1, chunk 1 ---------------------------------------------------
|
||||||
|
|
||||||
|
class Demon1Chunk1 : DemonChunk
|
||||||
|
{
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
DEMA A 4;
|
||||||
|
DEMA A 10 A_QueueCorpse;
|
||||||
|
DEMA A 20;
|
||||||
|
Wait;
|
||||||
|
Death:
|
||||||
|
DEMA A -1;
|
||||||
|
Stop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Demon, type 1, chunk 2 ---------------------------------------------------
|
||||||
|
|
||||||
|
class Demon1Chunk2 : DemonChunk
|
||||||
|
{
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
DEMB A 4;
|
||||||
|
DEMB A 10 A_QueueCorpse;
|
||||||
|
DEMB A 20;
|
||||||
|
Wait;
|
||||||
|
Death:
|
||||||
|
DEMB A -1;
|
||||||
|
Stop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class Demon1Chunk3 : DemonChunk
|
||||||
|
{
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
DEMC A 4;
|
||||||
|
DEMC A 10 A_QueueCorpse;
|
||||||
|
DEMC A 20;
|
||||||
|
Wait;
|
||||||
|
Death:
|
||||||
|
DEMC A -1;
|
||||||
|
Stop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Demon, type 1, chunk 4 ---------------------------------------------------
|
||||||
|
|
||||||
|
class Demon1Chunk4 : DemonChunk
|
||||||
|
{
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
DEMD A 4;
|
||||||
|
DEMD A 10 A_QueueCorpse;
|
||||||
|
DEMD A 20;
|
||||||
|
Wait;
|
||||||
|
Death:
|
||||||
|
DEMD A -1;
|
||||||
|
Stop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Demon, type 1, chunk 5 ---------------------------------------------------
|
||||||
|
|
||||||
|
class Demon1Chunk5 : DemonChunk
|
||||||
|
{
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
DEME A 4;
|
||||||
|
DEME A 10 A_QueueCorpse;
|
||||||
|
DEME A 20;
|
||||||
|
Wait;
|
||||||
|
Death:
|
||||||
|
DEME A -1;
|
||||||
|
Stop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Demon, type 1, projectile ------------------------------------------------
|
||||||
|
|
||||||
|
class Demon1FX1 : Actor
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
Speed 15;
|
||||||
|
Radius 10;
|
||||||
|
Height 6;
|
||||||
|
Damage 5;
|
||||||
|
DamageType "Fire";
|
||||||
|
Projectile;
|
||||||
|
+SPAWNSOUNDSOURCE
|
||||||
|
RenderStyle "Add";
|
||||||
|
SeeSound "DemonMissileFire";
|
||||||
|
DeathSound "DemonMissileExplode";
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
DMFX ABC 4 Bright;
|
||||||
|
Loop;
|
||||||
|
Death:
|
||||||
|
DMFX DE 4 Bright;
|
||||||
|
DMFX FGH 3 Bright;
|
||||||
|
Stop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Demon, type 2 (brown) ----------------------------------------------------
|
||||||
|
|
||||||
|
class Demon2 : Demon1
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
Obituary "$OB_DEMON2";
|
||||||
|
Species "Demon2";
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
DEM2 AA 10 A_Look;
|
||||||
|
Loop;
|
||||||
|
See:
|
||||||
|
DEM2 ABCD 4 A_Chase;
|
||||||
|
Loop;
|
||||||
|
Pain:
|
||||||
|
DEM2 E 4;
|
||||||
|
DEM2 E 4 A_Pain;
|
||||||
|
Goto See;
|
||||||
|
Melee:
|
||||||
|
DEM2 E 6 A_FaceTarget;
|
||||||
|
DEM2 F 8 A_FaceTarget;
|
||||||
|
DEM2 G 6 A_CustomMeleeAttack(random[DemonAttack1](1,8)*2);
|
||||||
|
Goto See;
|
||||||
|
Missile:
|
||||||
|
DEM2 E 5 A_FaceTarget;
|
||||||
|
DEM2 F 6 A_FaceTarget;
|
||||||
|
DEM2 G 5 A_CustomMissile("Demon2FX1", 62, 0);
|
||||||
|
Goto See;
|
||||||
|
Death:
|
||||||
|
DEM2 HI 6;
|
||||||
|
DEM2 J 6 A_Scream;
|
||||||
|
DEM2 K 6 A_NoBlocking;
|
||||||
|
DEM2 L 6 A_QueueCorpse;
|
||||||
|
DEM2 MNO 6;
|
||||||
|
DEM2 P -1;
|
||||||
|
Stop;
|
||||||
|
XDeath:
|
||||||
|
DEM2 H 6;
|
||||||
|
DEM2 I 0 A_SpawnItemEx("Demon2Chunk1", 0,0,45, frandom[DemonChunks](1,4.984375)*cos(Angle+90), frandom[DemonChunks](1,4.984375)*sin(Angle+90), 8, 90, ChunkFlags);
|
||||||
|
DEM2 I 0 A_SpawnItemEx("Demon2Chunk2", 0,0,45, frandom[DemonChunks](1,4.984375)*cos(Angle-90), frandom[DemonChunks](1,4.984375)*sin(Angle-90), 8, 270, ChunkFlags);
|
||||||
|
DEM2 I 0 A_SpawnItemEx("Demon2Chunk3", 0,0,45, frandom[DemonChunks](1,4.984375)*cos(Angle-90), frandom[DemonChunks](1,4.984375)*sin(Angle-90), 8, 270, ChunkFlags);
|
||||||
|
DEM2 I 0 A_SpawnItemEx("Demon2Chunk4", 0,0,45, frandom[DemonChunks](1,4.984375)*cos(Angle-90), frandom[DemonChunks](1,4.984375)*sin(Angle-90), 8, 270, ChunkFlags);
|
||||||
|
DEM2 I 6 A_SpawnItemEx("Demon2Chunk5", 0,0,45, frandom[DemonChunks](1,4.984375)*cos(Angle-90), frandom[DemonChunks](1,4.984375)*sin(Angle-90), 8, 270, ChunkFlags);
|
||||||
|
Goto Death+2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Demon, type 2, mashed ----------------------------------------------------
|
||||||
|
|
||||||
|
class Demon2Mash : Demon2
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
+NOBLOOD
|
||||||
|
+BLASTED
|
||||||
|
-TELESTOMP
|
||||||
|
+NOICEDEATH
|
||||||
|
RenderStyle "Translucent";
|
||||||
|
Alpha 0.4;
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Death:
|
||||||
|
XDeath:
|
||||||
|
Ice:
|
||||||
|
Stop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Demon, type 2, chunk 1 ---------------------------------------------------
|
||||||
|
|
||||||
|
class Demon2Chunk1 : DemonChunk
|
||||||
|
{
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
DMBA A 4;
|
||||||
|
DMBA A 10 A_QueueCorpse;
|
||||||
|
DMBA A 20;
|
||||||
|
Wait;
|
||||||
|
Death:
|
||||||
|
DMBA A -1;
|
||||||
|
Stop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Demon, type 2, chunk 2 ---------------------------------------------------
|
||||||
|
|
||||||
|
class Demon2Chunk2 : DemonChunk
|
||||||
|
{
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
DMBB A 4;
|
||||||
|
DMBB A 10 A_QueueCorpse;
|
||||||
|
DMBB A 20;
|
||||||
|
Wait;
|
||||||
|
Death:
|
||||||
|
DMBB A -1;
|
||||||
|
Stop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Demon, type 2, chunk 3 ---------------------------------------------------
|
||||||
|
|
||||||
|
class Demon2Chunk3 : DemonChunk
|
||||||
|
{
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
DMBC A 4;
|
||||||
|
DMBC A 10 A_QueueCorpse;
|
||||||
|
DMBC A 20;
|
||||||
|
Wait;
|
||||||
|
Death:
|
||||||
|
DMBC A -1;
|
||||||
|
Stop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Demon, type 2, chunk 4 ---------------------------------------------------
|
||||||
|
|
||||||
|
class Demon2Chunk4 : DemonChunk
|
||||||
|
{
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
DMBD A 4;
|
||||||
|
DMBD A 10 A_QueueCorpse;
|
||||||
|
DMBD A 20;
|
||||||
|
Wait;
|
||||||
|
Death:
|
||||||
|
DMBD A -1;
|
||||||
|
Stop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Demon, type 2, chunk 5 ---------------------------------------------------
|
||||||
|
|
||||||
|
class Demon2Chunk5 : DemonChunk
|
||||||
|
{
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
DMBE A 4;
|
||||||
|
DMBE A 10 A_QueueCorpse;
|
||||||
|
DMBE A 20;
|
||||||
|
Wait;
|
||||||
|
Death:
|
||||||
|
DMBE A -1;
|
||||||
|
Stop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Demon, type 2, projectile ------------------------------------------------
|
||||||
|
|
||||||
|
class Demon2FX1 : Actor
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
Speed 15;
|
||||||
|
Radius 10;
|
||||||
|
Height 6;
|
||||||
|
Damage 5;
|
||||||
|
DamageType "Fire";
|
||||||
|
Projectile;
|
||||||
|
+SPAWNSOUNDSOURCE
|
||||||
|
RenderStyle "Add";
|
||||||
|
SeeSound "DemonMissileFire";
|
||||||
|
DeathSound "DemonMissileExplode";
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
D2FX ABCDEF 4 Bright;
|
||||||
|
Loop;
|
||||||
|
Death:
|
||||||
|
D2FX GHIJ 4 Bright;
|
||||||
|
D2FX KL 3 Bright;
|
||||||
|
Stop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
115
wadsrc/static/zscript/hexen/ettin.txt
Normal file
115
wadsrc/static/zscript/hexen/ettin.txt
Normal file
|
@ -0,0 +1,115 @@
|
||||||
|
|
||||||
|
// Ettin --------------------------------------------------------------------
|
||||||
|
|
||||||
|
class Ettin : Actor
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
Health 175;
|
||||||
|
Radius 25;
|
||||||
|
Height 68;
|
||||||
|
Mass 175;
|
||||||
|
Speed 13;
|
||||||
|
Damage 3;
|
||||||
|
Painchance 60;
|
||||||
|
Monster;
|
||||||
|
+FLOORCLIP
|
||||||
|
+TELESTOMP
|
||||||
|
SeeSound "EttinSight";
|
||||||
|
AttackSound "EttinAttack";
|
||||||
|
PainSound "EttinPain";
|
||||||
|
DeathSound "EttinDeath";
|
||||||
|
ActiveSound "EttinActive";
|
||||||
|
HowlSound "PuppyBeat";
|
||||||
|
Obituary "$OB_ETTIN";
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
ETTN AA 10 A_Look;
|
||||||
|
Loop;
|
||||||
|
See:
|
||||||
|
ETTN ABCD 5 A_Chase;
|
||||||
|
Loop;
|
||||||
|
Pain:
|
||||||
|
ETTN H 7 A_Pain;
|
||||||
|
Goto See;
|
||||||
|
Melee:
|
||||||
|
ETTN EF 6 A_FaceTarget;
|
||||||
|
ETTN G 8 A_CustomMeleeAttack(random[EttinAttack](1,8)*2);
|
||||||
|
Goto See;
|
||||||
|
Death:
|
||||||
|
ETTN IJ 4;
|
||||||
|
ETTN K 4 A_Scream;
|
||||||
|
ETTN L 4 A_NoBlocking;
|
||||||
|
ETTN M 4 A_QueueCorpse;
|
||||||
|
ETTN NOP 4;
|
||||||
|
ETTN Q -1;
|
||||||
|
Stop;
|
||||||
|
XDeath:
|
||||||
|
ETTB A 4;
|
||||||
|
ETTB B 4 A_NoBlocking;
|
||||||
|
ETTB C 4 A_SpawnItemEx("EttinMace", 0,0,8.5,
|
||||||
|
random[DropMace](-128,127) * 0.03125,
|
||||||
|
random[DropMace](-128,127) * 0.03125,
|
||||||
|
10 + random[DropMace](0,255) * 0.015625, 0, SXF_ABSOLUTEVELOCITY);
|
||||||
|
ETTB D 4 A_Scream;
|
||||||
|
ETTB E 4 A_QueueCorpse;
|
||||||
|
ETTB FGHIJK 4;
|
||||||
|
ETTB L -1;
|
||||||
|
Stop;
|
||||||
|
Ice:
|
||||||
|
ETTN R 5 A_FreezeDeath;
|
||||||
|
ETTN R 1 A_FreezeDeathChunks;
|
||||||
|
Wait;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Ettin mace ---------------------------------------------------------------
|
||||||
|
|
||||||
|
class EttinMace : Actor
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
Radius 5;
|
||||||
|
Height 5;
|
||||||
|
+DROPOFF
|
||||||
|
+CORPSE
|
||||||
|
+NOTELEPORT
|
||||||
|
+FLOORCLIP
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
ETTB MNOP 5;
|
||||||
|
Loop;
|
||||||
|
Crash:
|
||||||
|
ETTB Q 5;
|
||||||
|
ETTB R 5 A_QueueCorpse;
|
||||||
|
ETTB S -1;
|
||||||
|
Stop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Ettin mash ---------------------------------------------------------------
|
||||||
|
|
||||||
|
class EttinMash : Ettin
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
+NOBLOOD
|
||||||
|
+NOICEDEATH
|
||||||
|
RenderStyle "Translucent";
|
||||||
|
Alpha 0.4;
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Death:
|
||||||
|
XDeath:
|
||||||
|
Ice:
|
||||||
|
Stop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
99
wadsrc/static/zscript/hexen/mana.txt
Normal file
99
wadsrc/static/zscript/hexen/mana.txt
Normal file
|
@ -0,0 +1,99 @@
|
||||||
|
// Blue mana ----------------------------------------------------------------
|
||||||
|
|
||||||
|
class Mana1 : Ammo
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
Inventory.Amount 15;
|
||||||
|
Inventory.MaxAmount 200;
|
||||||
|
Ammo.BackpackAmount 15;
|
||||||
|
Ammo.BackpackMaxAmount 200;
|
||||||
|
Radius 8;
|
||||||
|
Height 8;
|
||||||
|
+FLOATBOB
|
||||||
|
Inventory.Icon "MAN1I0";
|
||||||
|
Inventory.PickupMessage "$TXT_MANA_1";
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
MAN1 ABCDEFGHI 4 Bright;
|
||||||
|
Loop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Green mana ---------------------------------------------------------------
|
||||||
|
|
||||||
|
class Mana2 : Ammo
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
Inventory.Amount 15;
|
||||||
|
Inventory.MaxAmount 200;
|
||||||
|
Ammo.BackpackAmount 15;
|
||||||
|
Ammo.BackpackMaxAmount 200;
|
||||||
|
Radius 8;
|
||||||
|
Height 8;
|
||||||
|
+FLOATBOB
|
||||||
|
Inventory.Icon "MAN2G0";
|
||||||
|
Inventory.PickupMessage "$TXT_MANA_2";
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
MAN2 ABCDEFGHIJKLMNOP 4 Bright;
|
||||||
|
Loop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Combined mana ------------------------------------------------------------
|
||||||
|
|
||||||
|
class Mana3 : CustomInventory
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
Radius 8;
|
||||||
|
Height 8;
|
||||||
|
+FLOATBOB
|
||||||
|
Inventory.PickupMessage "$TXT_MANA_BOTH";
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
MAN3 ABCDEFGHIJKLMNOP 4 Bright;
|
||||||
|
Loop;
|
||||||
|
Pickup:
|
||||||
|
TNT1 A 0 A_GiveInventory("Mana1", 20);
|
||||||
|
TNT1 A 0 A_GiveInventory("Mana2", 20);
|
||||||
|
Stop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Boost Mana Artifact Krater of Might ------------------------------------
|
||||||
|
|
||||||
|
class ArtiBoostMana : CustomInventory
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
+FLOATBOB
|
||||||
|
+COUNTITEM
|
||||||
|
+INVENTORY.INVBAR
|
||||||
|
+INVENTORY.FANCYPICKUPSOUND
|
||||||
|
Inventory.PickupFlash "PickupFlash";
|
||||||
|
Inventory.DefMaxAmount;
|
||||||
|
Inventory.Icon "ARTIBMAN";
|
||||||
|
Inventory.PickupSound "misc/p_pkup";
|
||||||
|
Inventory.PickupMessage "$TXT_ARTIBOOSTMANA";
|
||||||
|
Tag "$TAG_ARTIBOOSTMANA";
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
BMAN A -1;
|
||||||
|
Stop;
|
||||||
|
Use:
|
||||||
|
TNT1 A 0 A_GiveInventory("Mana1", 200);
|
||||||
|
TNT1 A 0 A_GiveInventory("Mana2", 200);
|
||||||
|
Stop;
|
||||||
|
}
|
||||||
|
}
|
338
wadsrc/static/zscript/hexen/puzzleitems.txt
Normal file
338
wadsrc/static/zscript/hexen/puzzleitems.txt
Normal file
|
@ -0,0 +1,338 @@
|
||||||
|
|
||||||
|
// Yorick's Skull -----------------------------------------------------------
|
||||||
|
|
||||||
|
class PuzzSkull : PuzzleItem
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
PuzzleItem.Number 0;
|
||||||
|
Inventory.Icon "ARTISKLL";
|
||||||
|
Inventory.PickupMessage "$TXT_ARTIPUZZSKULL";
|
||||||
|
Tag "$TAG_ARTIPUZZSKULL";
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
ASKU A -1;
|
||||||
|
Stop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Heart of D'Sparil --------------------------------------------------------
|
||||||
|
|
||||||
|
class PuzzGemBig : PuzzleItem
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
PuzzleItem.Number 1;
|
||||||
|
Inventory.Icon "ARTIBGEM";
|
||||||
|
Inventory.PickupMessage "$TXT_ARTIPUZZGEMBIG";
|
||||||
|
Tag "$TAG_ARTIPUZZGEMBIG";
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
ABGM A -1;
|
||||||
|
Stop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Red Gem (Ruby Planet) ----------------------------------------------------
|
||||||
|
|
||||||
|
class PuzzGemRed : PuzzleItem
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
PuzzleItem.Number 2;
|
||||||
|
Inventory.Icon "ARTIGEMR";
|
||||||
|
Inventory.PickupMessage "$TXT_ARTIPUZZGEMRED";
|
||||||
|
Tag "$TAG_ARTIPUZZGEMRED";
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
AGMR A -1;
|
||||||
|
Stop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Green Gem 1 (Emerald Planet) ---------------------------------------------
|
||||||
|
|
||||||
|
class PuzzGemGreen1 : PuzzleItem
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
PuzzleItem.Number 3;
|
||||||
|
Inventory.Icon "ARTIGEMG";
|
||||||
|
Inventory.PickupMessage "$TXT_ARTIPUZZGEMGREEN1";
|
||||||
|
Tag "$TAG_ARTIPUZZGEMGREEN1";
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
AGMG A -1;
|
||||||
|
Stop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Green Gem 2 (Emerald Planet) ---------------------------------------------
|
||||||
|
|
||||||
|
class PuzzGemGreen2 : PuzzleItem
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
PuzzleItem.Number 4;
|
||||||
|
Inventory.Icon "ARTIGMG2";
|
||||||
|
Inventory.PickupMessage "$TXT_ARTIPUZZGEMGREEN2";
|
||||||
|
Tag "$TAG_ARTIPUZZGEMGREEN2";
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
AGG2 A -1;
|
||||||
|
Stop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Blue Gem 1 (Sapphire Planet) ---------------------------------------------
|
||||||
|
|
||||||
|
class PuzzGemBlue1 : PuzzleItem
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
PuzzleItem.Number 5;
|
||||||
|
Inventory.Icon "ARTIGEMB";
|
||||||
|
Inventory.PickupMessage "$TXT_ARTIPUZZGEMBLUE1";
|
||||||
|
Tag "$TAG_ARTIPUZZGEMBLUE1";
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
AGMB A -1;
|
||||||
|
Stop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Blue Gem 2 (Sapphire Planet) ---------------------------------------------
|
||||||
|
|
||||||
|
class PuzzGemBlue2 : PuzzleItem
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
PuzzleItem.Number 6;
|
||||||
|
Inventory.Icon "ARTIGMB2";
|
||||||
|
Inventory.PickupMessage "$TXT_ARTIPUZZGEMBLUE2";
|
||||||
|
Tag "$TAG_ARTIPUZZGEMBLUE2";
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
AGB2 A -1;
|
||||||
|
Stop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Book 1 (Daemon Codex) ----------------------------------------------------
|
||||||
|
|
||||||
|
class PuzzBook1 : PuzzleItem
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
PuzzleItem.Number 7;
|
||||||
|
Inventory.Icon "ARTIBOK1";
|
||||||
|
Inventory.PickupMessage "$TXT_ARTIPUZZBOOK1";
|
||||||
|
Tag "$TAG_ARTIPUZZBOOK1";
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
ABK1 A -1;
|
||||||
|
Stop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Book 2 (Liber Oscura) ----------------------------------------------------
|
||||||
|
|
||||||
|
class PuzzBook2 : PuzzleItem
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
PuzzleItem.Number 8;
|
||||||
|
Inventory.Icon "ARTIBOK2";
|
||||||
|
Inventory.PickupMessage "$TXT_ARTIPUZZBOOK2";
|
||||||
|
Tag "$TAG_ARTIPUZZBOOK2";
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
ABK2 A -1;
|
||||||
|
Stop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Flame Mask ---------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
class PuzzFlameMask : PuzzleItem
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
PuzzleItem.Number 9;
|
||||||
|
Inventory.Icon "ARTISKL2";
|
||||||
|
Inventory.PickupMessage "$TXT_ARTIPUZZSKULL2";
|
||||||
|
Tag "$TAG_ARTIPUZZSKULL2";
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
ASK2 A -1;
|
||||||
|
Stop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Fighter Weapon (Glaive Seal) ---------------------------------------------
|
||||||
|
|
||||||
|
class PuzzFWeapon : PuzzleItem
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
PuzzleItem.Number 10;
|
||||||
|
Inventory.Icon "ARTIFWEP";
|
||||||
|
Inventory.PickupMessage "$TXT_ARTIPUZZFWEAPON";
|
||||||
|
Tag "$TAG_ARTIPUZZFWEAPON";
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
AFWP A -1;
|
||||||
|
Stop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Cleric Weapon (Holy Relic) -----------------------------------------------
|
||||||
|
|
||||||
|
class PuzzCWeapon : PuzzleItem
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
PuzzleItem.Number 11;
|
||||||
|
Inventory.Icon "ARTICWEP";
|
||||||
|
Inventory.PickupMessage "$TXT_ARTIPUZZCWEAPON";
|
||||||
|
Tag "$TAG_ARTIPUZZCWEAPON";
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
ACWP A -1;
|
||||||
|
Stop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Mage Weapon (Sigil of the Magus) -----------------------------------------
|
||||||
|
|
||||||
|
class PuzzMWeapon : PuzzleItem
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
PuzzleItem.Number 12;
|
||||||
|
Inventory.Icon "ARTIMWEP";
|
||||||
|
Inventory.PickupMessage "$TXT_ARTIPUZZMWEAPON";
|
||||||
|
Tag "$TAG_ARTIPUZZMWEAPON";
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
AMWP A -1;
|
||||||
|
Stop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Clock Gear 1 -------------------------------------------------------------
|
||||||
|
|
||||||
|
class PuzzGear1 : PuzzleItem
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
PuzzleItem.Number 13;
|
||||||
|
Inventory.Icon "ARTIGEAR";
|
||||||
|
Inventory.PickupMessage "$TXT_ARTIPUZZGEAR";
|
||||||
|
Tag "$TAG_ARTIPUZZGEAR1";
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
AGER ABCDEFGH 4 Bright;
|
||||||
|
Loop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Clock Gear 2 -------------------------------------------------------------
|
||||||
|
|
||||||
|
class PuzzGear2 : PuzzleItem
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
PuzzleItem.Number 14;
|
||||||
|
Inventory.Icon "ARTIGER2";
|
||||||
|
Inventory.PickupMessage "$TXT_ARTIPUZZGEAR";
|
||||||
|
Tag "$TAG_ARTIPUZZGEAR2";
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
AGR2 ABCDEFGH 4 Bright;
|
||||||
|
Loop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Clock Gear 3 -------------------------------------------------------------
|
||||||
|
|
||||||
|
class PuzzGear3 : PuzzleItem
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
PuzzleItem.Number 15;
|
||||||
|
Inventory.Icon "ARTIGER3";
|
||||||
|
Inventory.PickupMessage "$TXT_ARTIPUZZGEAR";
|
||||||
|
Tag "$TAG_ARTIPUZZGEAR3";
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
AGR3 ABCDEFGH 4 Bright;
|
||||||
|
Loop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Clock Gear 4 -------------------------------------------------------------
|
||||||
|
|
||||||
|
class PuzzGear4 : PuzzleItem
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
PuzzleItem.Number 16;
|
||||||
|
Inventory.Icon "ARTIGER4";
|
||||||
|
Inventory.PickupMessage "$TXT_ARTIPUZZGEAR";
|
||||||
|
Tag "$TAG_ARTIPUZZGEAR4";
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
AGR4 ABCDEFGH 4 Bright;
|
||||||
|
Loop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
141
wadsrc/static/zscript/hexen/scriptprojectiles.txt
Normal file
141
wadsrc/static/zscript/hexen/scriptprojectiles.txt
Normal file
|
@ -0,0 +1,141 @@
|
||||||
|
// Fire Ball ----------------------------------------------------------------
|
||||||
|
|
||||||
|
class FireBall : Actor
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
Speed 2;
|
||||||
|
Radius 8;
|
||||||
|
Height 8;
|
||||||
|
Damage 4;
|
||||||
|
DamageType "Fire";
|
||||||
|
+NOBLOCKMAP +NOGRAVITY +DROPOFF +MISSILE
|
||||||
|
+NOTELEPORT
|
||||||
|
RenderStyle "Add";
|
||||||
|
DeathSound "Fireball";
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
FBL1 AB 4 Bright;
|
||||||
|
Loop;
|
||||||
|
Death:
|
||||||
|
XPL1 ABCDEF 4 Bright;
|
||||||
|
Stop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Arrow --------------------------------------------------------------------
|
||||||
|
|
||||||
|
class Arrow : Actor
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
Speed 6;
|
||||||
|
Radius 8;
|
||||||
|
Height 4;
|
||||||
|
Damage 4;
|
||||||
|
+NOBLOCKMAP +NOGRAVITY +DROPOFF +MISSILE
|
||||||
|
+NOTELEPORT
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
ARRW A -1;
|
||||||
|
Stop;
|
||||||
|
Death:
|
||||||
|
ARRW A 1;
|
||||||
|
Stop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Dart ---------------------------------------------------------------------
|
||||||
|
|
||||||
|
class Dart : Actor
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
Speed 6;
|
||||||
|
Radius 8;
|
||||||
|
Height 4;
|
||||||
|
Damage 2;
|
||||||
|
+NOBLOCKMAP +NOGRAVITY +DROPOFF +MISSILE
|
||||||
|
+NOTELEPORT
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
DART A -1;
|
||||||
|
Stop;
|
||||||
|
Death:
|
||||||
|
DART A 1;
|
||||||
|
Stop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Poison Dart --------------------------------------------------------------
|
||||||
|
|
||||||
|
class PoisonDart : Dart
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
PoisonDamage 20;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Ripper Ball --------------------------------------------------------------
|
||||||
|
|
||||||
|
class RipperBall : Actor
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
Speed 6;
|
||||||
|
Radius 8;
|
||||||
|
Damage 2;
|
||||||
|
+NOBLOCKMAP +NOGRAVITY +DROPOFF +MISSILE
|
||||||
|
+NOTELEPORT +RIPPER
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
RIPP ABC 3;
|
||||||
|
Loop;
|
||||||
|
Death:
|
||||||
|
CFCF Q 4 Bright;
|
||||||
|
CFCF R 3 Bright;
|
||||||
|
CFCF S 4 Bright;
|
||||||
|
CFCF T 3 Bright;
|
||||||
|
CFCF U 4 Bright;
|
||||||
|
CFCF V 3 Bright;
|
||||||
|
CFCF W 4 Bright;
|
||||||
|
CFCF X 3 Bright;
|
||||||
|
CFCF Y 4 Bright;
|
||||||
|
CFCF Z 3 Bright;
|
||||||
|
Stop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Projectile Blade ---------------------------------------------------------
|
||||||
|
|
||||||
|
class ProjectileBlade : Actor
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
Speed 6;
|
||||||
|
Radius 6;
|
||||||
|
Height 6;
|
||||||
|
Damage 3;
|
||||||
|
+NOBLOCKMAP +NOGRAVITY +DROPOFF +MISSILE
|
||||||
|
+NOTELEPORT
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
BLAD A -1;
|
||||||
|
Stop;
|
||||||
|
Death:
|
||||||
|
BLAD A 1;
|
||||||
|
Stop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
21
wadsrc/static/zscript/hexen/speedboots.txt
Normal file
21
wadsrc/static/zscript/hexen/speedboots.txt
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
|
||||||
|
|
||||||
|
class ArtiSpeedBoots : PowerupGiver
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
+FLOATBOB
|
||||||
|
+COUNTITEM
|
||||||
|
Inventory.PickupFlash "PickupFlash";
|
||||||
|
Inventory.Icon "ARTISPED";
|
||||||
|
Inventory.PickupMessage "$TXT_ARTISPEED";
|
||||||
|
Tag "$TAG_ARTISPEED";
|
||||||
|
Powerup.Type "PowerSpeed";
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
SPED ABCDEFGH 3 Bright;
|
||||||
|
Loop;
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue