mirror of
https://github.com/ZDoom/gzdoom.git
synced 2025-02-07 09:01:57 +00:00
- converted some Heretic stuff to ZScript for testing.
- added type casts to the arguments of function calls. - added string constant to state conversion to FxTypeCast.
This commit is contained in:
parent
afd9347087
commit
6650e2bbfb
21 changed files with 1438 additions and 1144 deletions
|
@ -1748,7 +1748,8 @@ PClassPointer::PClassPointer()
|
||||||
PClassPointer::PClassPointer(PClass *restrict)
|
PClassPointer::PClassPointer(PClass *restrict)
|
||||||
: PPointer(RUNTIME_CLASS(PClass)), ClassRestriction(restrict)
|
: PPointer(RUNTIME_CLASS(PClass)), ClassRestriction(restrict)
|
||||||
{
|
{
|
||||||
mDescriptiveName.Format("ClassPointer<%s>", restrict->TypeName.GetChars());
|
if (restrict) mDescriptiveName.Format("ClassPointer<%s>", restrict->TypeName.GetChars());
|
||||||
|
else mDescriptiveName = "ClassPointer";
|
||||||
}
|
}
|
||||||
|
|
||||||
//==========================================================================
|
//==========================================================================
|
||||||
|
|
|
@ -1123,6 +1123,18 @@ FxExpression *FxTypeCast::Resolve(FCompileContext &ctx)
|
||||||
delete this;
|
delete this;
|
||||||
return x;
|
return x;
|
||||||
}
|
}
|
||||||
|
else if (ValueType == TypeState)
|
||||||
|
{
|
||||||
|
// Right now this only supports string constants. There should be an option to pass a string variable, too.
|
||||||
|
if (basex->isConstant() && (basex->ValueType == TypeString || basex->ValueType == TypeName))
|
||||||
|
{
|
||||||
|
FxExpression *x = new FxMultiNameState(static_cast<FxConstant *>(basex)->GetValue().GetString(), basex->ScriptPosition);
|
||||||
|
x = x->Resolve(ctx);
|
||||||
|
basex = nullptr;
|
||||||
|
delete this;
|
||||||
|
return x;
|
||||||
|
}
|
||||||
|
}
|
||||||
else if (ValueType->IsKindOf(RUNTIME_CLASS(PClassPointer)))
|
else if (ValueType->IsKindOf(RUNTIME_CLASS(PClassPointer)))
|
||||||
{
|
{
|
||||||
FxExpression *x = new FxClassTypeCast(static_cast<PClassPointer*>(ValueType), basex);
|
FxExpression *x = new FxClassTypeCast(static_cast<PClassPointer*>(ValueType), basex);
|
||||||
|
@ -4624,45 +4636,10 @@ FxExpression *FxVMFunctionCall::Resolve(FCompileContext& ctx)
|
||||||
{
|
{
|
||||||
for (unsigned i = 0; i < ArgList->Size(); i++)
|
for (unsigned i = 0; i < ArgList->Size(); i++)
|
||||||
{
|
{
|
||||||
if ((*ArgList)[i]->isConstant())
|
FxExpression *x = new FxTypeCast((*ArgList)[i], argtypes[i + implicit], false);
|
||||||
{
|
x = x->Resolve(ctx);
|
||||||
if (i + implicit < argtypes.Size())
|
failed |= (x == nullptr);
|
||||||
{
|
(*ArgList)[i] = x;
|
||||||
auto type = static_cast<FxConstant*>((*ArgList)[i])->ValueType;
|
|
||||||
// temporary hack to add the casts which get used by the internal definitions
|
|
||||||
if (argtypes[i + implicit] == TypeState && type == TypeString)
|
|
||||||
{
|
|
||||||
ScriptPosition.Message(MSG_WARNING, "Converting %s to state", static_cast<FxConstant*>((*ArgList)[i])->GetValue().GetString());
|
|
||||||
auto statenode = new FxMultiNameState(static_cast<FxConstant*>((*ArgList)[i])->GetValue().GetString(), ScriptPosition);
|
|
||||||
delete (*ArgList)[i];
|
|
||||||
(*ArgList)[i] = statenode;
|
|
||||||
}
|
|
||||||
if (argtypes[i + implicit] == TypeSound && type == TypeString)
|
|
||||||
{
|
|
||||||
ScriptPosition.Message(MSG_WARNING, "Converting %s to sound", static_cast<FxConstant*>((*ArgList)[i])->GetValue().GetString());
|
|
||||||
auto statenode = new FxConstant(FSoundID(static_cast<FxConstant*>((*ArgList)[i])->GetValue().GetString()), ScriptPosition);
|
|
||||||
delete (*ArgList)[i];
|
|
||||||
(*ArgList)[i] = statenode;
|
|
||||||
}
|
|
||||||
if (argtypes[i + implicit] == TypeSInt32 && type == TypeFloat64)
|
|
||||||
{
|
|
||||||
ScriptPosition.Message(MSG_WARNING, "Converting %f to int", static_cast<FxConstant*>((*ArgList)[i])->GetValue().GetFloat());
|
|
||||||
auto statenode = new FxConstant(static_cast<FxConstant*>((*ArgList)[i])->GetValue().GetInt(), ScriptPosition);
|
|
||||||
delete (*ArgList)[i];
|
|
||||||
(*ArgList)[i] = statenode;
|
|
||||||
}
|
|
||||||
if (argtypes[i + implicit] == TypeFloat64 && type == TypeSInt32)
|
|
||||||
{
|
|
||||||
ScriptPosition.Message(MSG_WARNING, "Converting %d to float", static_cast<FxConstant*>((*ArgList)[i])->GetValue().GetInt());
|
|
||||||
auto statenode = new FxConstant(static_cast<FxConstant*>((*ArgList)[i])->GetValue().GetFloat(), ScriptPosition);
|
|
||||||
delete (*ArgList)[i];
|
|
||||||
(*ArgList)[i] = statenode;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
(*ArgList)[i] = (*ArgList)[i]->Resolve(ctx);
|
|
||||||
if ((*ArgList)[i] == NULL) failed = true;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (failed)
|
if (failed)
|
||||||
|
@ -5592,7 +5569,7 @@ FxExpression *FxClassTypeCast::Resolve(FCompileContext &ctx)
|
||||||
|
|
||||||
if (basex->ValueType != TypeName && basex->ValueType != TypeString)
|
if (basex->ValueType != TypeName && basex->ValueType != TypeString)
|
||||||
{
|
{
|
||||||
ScriptPosition.Message(MSG_ERROR, "Cannot convert to class type");
|
ScriptPosition.Message(MSG_ERROR, "Cannot convert %s to class type", basex->ValueType->DescriptiveName());
|
||||||
delete this;
|
delete this;
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
@ -5855,7 +5832,7 @@ FxMultiNameState::FxMultiNameState(const char *_statestring, const FScriptPositi
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
scopename = NULL;
|
scopename = NAME_None;
|
||||||
}
|
}
|
||||||
names = MakeStateNameList(statestring);
|
names = MakeStateNameList(statestring);
|
||||||
names.Insert(0, scopename);
|
names.Insert(0, scopename);
|
||||||
|
|
|
@ -174,6 +174,7 @@ struct ExpVal
|
||||||
|
|
||||||
FName GetName() const
|
FName GetName() const
|
||||||
{
|
{
|
||||||
|
if (Type == TypeString) return FName(*(FString *)&pointer);
|
||||||
return Type == TypeName ? ENamedName(Int) : NAME_None;
|
return Type == TypeName ? ENamedName(Int) : NAME_None;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -338,8 +339,9 @@ public:
|
||||||
FxConstant(PClass *val, const FScriptPosition &pos) : FxExpression(pos)
|
FxConstant(PClass *val, const FScriptPosition &pos) : FxExpression(pos)
|
||||||
{
|
{
|
||||||
value.pointer = (void*)val;
|
value.pointer = (void*)val;
|
||||||
ValueType = val;
|
if (val != nullptr) ValueType = NewClassPointer(val);
|
||||||
value.Type = NewClassPointer(RUNTIME_CLASS(AActor));
|
else ValueType = NewClassPointer(RUNTIME_CLASS(DObject));
|
||||||
|
value.Type = NewClassPointer(RUNTIME_CLASS(DObject));
|
||||||
isresolved = true;
|
isresolved = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,204 +0,0 @@
|
||||||
|
|
||||||
// Wimpy ammo ---------------------------------------------------------------
|
|
||||||
|
|
||||||
ACTOR GoldWandAmmo : Ammo
|
|
||||||
{
|
|
||||||
Inventory.PickupMessage "$TXT_AMMOGOLDWAND1"
|
|
||||||
Inventory.Amount 10
|
|
||||||
Inventory.MaxAmount 100
|
|
||||||
Ammo.BackpackAmount 10
|
|
||||||
Ammo.BackpackMaxAmount 200
|
|
||||||
Inventory.Icon "INAMGLD"
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
AMG1 A -1
|
|
||||||
Stop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Hefty ammo ---------------------------------------------------------------
|
|
||||||
|
|
||||||
ACTOR GoldWandHefty : GoldWandAmmo
|
|
||||||
{
|
|
||||||
Inventory.PickupMessage "$TXT_AMMOGOLDWAND2"
|
|
||||||
Inventory.Amount 50
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
AMG2 ABC 4
|
|
||||||
Loop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// Wimpy ammo ---------------------------------------------------------------
|
|
||||||
|
|
||||||
ACTOR CrossbowAmmo : Ammo
|
|
||||||
{
|
|
||||||
Inventory.PickupMessage "$TXT_AMMOCROSSBOW1"
|
|
||||||
Inventory.Amount 5
|
|
||||||
Inventory.MaxAmount 50
|
|
||||||
Ammo.BackpackAmount 5
|
|
||||||
Ammo.BackpackMaxAmount 100
|
|
||||||
Inventory.Icon "INAMBOW"
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
AMC1 A -1
|
|
||||||
Stop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Hefty ammo ---------------------------------------------------------------
|
|
||||||
|
|
||||||
ACTOR CrossbowHefty : CrossbowAmmo
|
|
||||||
{
|
|
||||||
Inventory.PickupMessage "$TXT_AMMOCROSSBOW2"
|
|
||||||
Inventory.Amount 20
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
AMC2 ABC 5
|
|
||||||
Loop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// Wimpy ammo ---------------------------------------------------------------
|
|
||||||
|
|
||||||
ACTOR MaceAmmo : Ammo
|
|
||||||
{
|
|
||||||
Inventory.PickupMessage "$TXT_AMMOMACE1"
|
|
||||||
Inventory.Amount 20
|
|
||||||
Inventory.MaxAmount 150
|
|
||||||
Ammo.BackpackAmount 20
|
|
||||||
Ammo.BackpackMaxAmount 300
|
|
||||||
Inventory.Icon "INAMLOB"
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
AMM1 A -1
|
|
||||||
Stop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Hefty ammo ---------------------------------------------------------------
|
|
||||||
|
|
||||||
ACTOR MaceHefty : MaceAmmo
|
|
||||||
{
|
|
||||||
Inventory.PickupMessage "$TXT_AMMOMACE2"
|
|
||||||
Inventory.Amount 100
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
AMM2 A -1
|
|
||||||
Stop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Wimpy ammo ---------------------------------------------------------------
|
|
||||||
|
|
||||||
ACTOR BlasterAmmo : Ammo
|
|
||||||
{
|
|
||||||
Inventory.PickupMessage "$TXT_AMMOBLASTER1"
|
|
||||||
Inventory.Amount 10
|
|
||||||
Inventory.MaxAmount 200
|
|
||||||
Ammo.BackpackAmount 10
|
|
||||||
Ammo.BackpackMaxAmount 400
|
|
||||||
Inventory.Icon "INAMBST"
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
AMB1 ABC 4
|
|
||||||
Loop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Hefty ammo ---------------------------------------------------------------
|
|
||||||
|
|
||||||
ACTOR BlasterHefty : BlasterAmmo
|
|
||||||
{
|
|
||||||
Inventory.PickupMessage "$TXT_AMMOBLASTER2"
|
|
||||||
Inventory.Amount 25
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
AMB2 ABC 4
|
|
||||||
Loop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Wimpy ammo ---------------------------------------------------------------
|
|
||||||
|
|
||||||
ACTOR SkullRodAmmo : Ammo
|
|
||||||
{
|
|
||||||
Inventory.PickupMessage "$TXT_AMMOSKULLROD1"
|
|
||||||
Inventory.Amount 20
|
|
||||||
Inventory.MaxAmount 200
|
|
||||||
Ammo.BackpackAmount 20
|
|
||||||
Ammo.BackpackMaxAmount 400
|
|
||||||
Inventory.Icon "INAMRAM"
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
AMS1 AB 5
|
|
||||||
Loop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Hefty ammo ---------------------------------------------------------------
|
|
||||||
|
|
||||||
ACTOR SkullRodHefty : SkullRodAmmo
|
|
||||||
{
|
|
||||||
Inventory.PickupMessage "$TXT_AMMOSKULLROD2"
|
|
||||||
Inventory.Amount 100
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
AMS2 AB 5
|
|
||||||
Loop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Wimpy ammo ---------------------------------------------------------------
|
|
||||||
|
|
||||||
ACTOR PhoenixRodAmmo : Ammo
|
|
||||||
{
|
|
||||||
Inventory.PickupMessage "$TXT_AMMOPHOENIXROD1"
|
|
||||||
Inventory.Amount 1
|
|
||||||
Inventory.MaxAmount 20
|
|
||||||
Ammo.BackpackAmount 1
|
|
||||||
Ammo.BackpackMaxAmount 40
|
|
||||||
Inventory.Icon "INAMPNX"
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
AMP1 ABC 4
|
|
||||||
Loop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// Hefty ammo ---------------------------------------------------------------
|
|
||||||
|
|
||||||
ACTOR PhoenixRodHefty : PhoenixRodAmmo
|
|
||||||
{
|
|
||||||
Inventory.PickupMessage "$TXT_AMMOPHOENIXROD2"
|
|
||||||
Inventory.Amount 10
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
AMP2 ABC 4
|
|
||||||
Loop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// --- Bag of holding -------------------------------------------------------
|
|
||||||
|
|
||||||
ACTOR BagOfHolding : BackpackItem
|
|
||||||
{
|
|
||||||
Inventory.PickupMessage "$TXT_ITEMBAGOFHOLDING"
|
|
||||||
+COUNTITEM
|
|
||||||
+FLOATBOB
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
BAGH A -1
|
|
||||||
Stop
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,35 +0,0 @@
|
||||||
|
|
||||||
// Silver Shield (Shield1) --------------------------------------------------
|
|
||||||
|
|
||||||
Actor SilverShield : BasicArmorPickup
|
|
||||||
{
|
|
||||||
+FLOATBOB
|
|
||||||
Inventory.Pickupmessage "$TXT_ITEMSHIELD1"
|
|
||||||
Inventory.Icon "SHLDA0"
|
|
||||||
Armor.Savepercent 50
|
|
||||||
Armor.Saveamount 100
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
SHLD A -1
|
|
||||||
stop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Enchanted shield (Shield2) -----------------------------------------------
|
|
||||||
|
|
||||||
Actor EnchantedShield : BasicArmorPickup
|
|
||||||
{
|
|
||||||
+FLOATBOB
|
|
||||||
Inventory.Pickupmessage "$TXT_ITEMSHIELD2"
|
|
||||||
Inventory.Icon "SHD2A0"
|
|
||||||
Armor.Savepercent 75
|
|
||||||
Armor.Saveamount 200
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
SHD2 A -1
|
|
||||||
stop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,103 +0,0 @@
|
||||||
// Super map ----------------------------------------------------------------
|
|
||||||
|
|
||||||
ACTOR SuperMap : MapRevealer
|
|
||||||
{
|
|
||||||
+COUNTITEM
|
|
||||||
+INVENTORY.ALWAYSPICKUP
|
|
||||||
+FLOATBOB
|
|
||||||
Inventory.MaxAmount 0
|
|
||||||
Inventory.PickupMessage "$TXT_ITEMSUPERMAP"
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
SPMP A -1
|
|
||||||
Stop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Invisibility -------------------------------------------------------------
|
|
||||||
|
|
||||||
ACTOR ArtiInvisibility : PowerupGiver
|
|
||||||
{
|
|
||||||
+COUNTITEM
|
|
||||||
+FLOATBOB
|
|
||||||
+INVENTORY.PICKUPFLASH
|
|
||||||
RenderStyle Translucent
|
|
||||||
Alpha 0.4
|
|
||||||
Inventory.RespawnTics 4230
|
|
||||||
Inventory.Icon ARTIINVS
|
|
||||||
Powerup.Type Ghost
|
|
||||||
Inventory.PickupMessage "$TXT_ARTIINVISIBILITY"
|
|
||||||
Tag "$TAG_ARTIINVISIBILITY"
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
INVS A 350 Bright
|
|
||||||
Loop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Tome of power ------------------------------------------------------------
|
|
||||||
|
|
||||||
ACTOR ArtiTomeOfPower : PowerupGiver native
|
|
||||||
{
|
|
||||||
+COUNTITEM
|
|
||||||
+FLOATBOB
|
|
||||||
+INVENTORY.PICKUPFLASH
|
|
||||||
Inventory.Icon "ARTIPWBK"
|
|
||||||
Powerup.Type Weaponlevel2
|
|
||||||
Inventory.PickupMessage "$TXT_ARTITOMEOFPOWER"
|
|
||||||
Tag "$TAG_ARTITOMEOFPOWER"
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
PWBK A 350
|
|
||||||
Loop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Time bomb ----------------------------------------------------------------
|
|
||||||
|
|
||||||
ACTOR ActivatedTimeBomb
|
|
||||||
{
|
|
||||||
+NOGRAVITY
|
|
||||||
RenderStyle Translucent
|
|
||||||
Alpha 0.4
|
|
||||||
DeathSound "misc/timebomb"
|
|
||||||
|
|
||||||
action native A_Timebomb();
|
|
||||||
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
FBMB ABCD 10
|
|
||||||
FBMB E 6 A_Scream
|
|
||||||
XPL1 A 4 BRIGHT A_Timebomb
|
|
||||||
XPL1 BCDEF 4 BRIGHT
|
|
||||||
Stop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
ACTOR ArtiTimeBomb : Inventory native
|
|
||||||
{
|
|
||||||
+COUNTITEM
|
|
||||||
+FLOATBOB
|
|
||||||
+INVENTORY.PICKUPFLASH
|
|
||||||
+INVENTORY.INVBAR
|
|
||||||
+INVENTORY.FANCYPICKUPSOUND
|
|
||||||
Inventory.Icon "ARTIFBMB"
|
|
||||||
Inventory.PickupSound "misc/p_pkup"
|
|
||||||
Inventory.PickupMessage "$TXT_ARTIFIREBOMB"
|
|
||||||
Tag "$TAG_ARTIFIREBOMB"
|
|
||||||
Inventory.DefMaxAmount
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
FBMB E 350
|
|
||||||
Loop
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,248 +0,0 @@
|
||||||
ACTOR SkullHang70
|
|
||||||
{
|
|
||||||
Radius 20
|
|
||||||
Height 70
|
|
||||||
+SPAWNCEILING
|
|
||||||
+NOGRAVITY
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
SKH1 A -1
|
|
||||||
Stop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ACTOR SkullHang60
|
|
||||||
{
|
|
||||||
Radius 20
|
|
||||||
Height 60
|
|
||||||
+SPAWNCEILING
|
|
||||||
+NOGRAVITY
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
SKH2 A -1
|
|
||||||
Stop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ACTOR SkullHang45
|
|
||||||
{
|
|
||||||
Radius 20
|
|
||||||
Height 45
|
|
||||||
+SPAWNCEILING
|
|
||||||
+NOGRAVITY
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
SKH3 A -1
|
|
||||||
Stop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ACTOR SkullHang35
|
|
||||||
{
|
|
||||||
Radius 20
|
|
||||||
Height 35
|
|
||||||
+SPAWNCEILING
|
|
||||||
+NOGRAVITY
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
SKH4 A -1
|
|
||||||
Stop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ACTOR Chandelier
|
|
||||||
{
|
|
||||||
Radius 20
|
|
||||||
Height 60
|
|
||||||
+SPAWNCEILING
|
|
||||||
+NOGRAVITY
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
CHDL ABC 4
|
|
||||||
Loop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ACTOR SerpentTorch
|
|
||||||
{
|
|
||||||
Radius 12
|
|
||||||
Height 54
|
|
||||||
+SOLID
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
SRTC ABC 4
|
|
||||||
Loop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ACTOR SmallPillar
|
|
||||||
{
|
|
||||||
Radius 16
|
|
||||||
Height 34
|
|
||||||
+SOLID
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
SMPL A -1
|
|
||||||
Stop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ACTOR StalagmiteSmall
|
|
||||||
{
|
|
||||||
Radius 8
|
|
||||||
Height 32
|
|
||||||
+SOLID
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
STGS A -1
|
|
||||||
Stop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ACTOR StalagmiteLarge
|
|
||||||
{
|
|
||||||
Radius 12
|
|
||||||
Height 64
|
|
||||||
+SOLID
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
STGL A -1
|
|
||||||
Stop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ACTOR StalactiteSmall
|
|
||||||
{
|
|
||||||
Radius 8
|
|
||||||
Height 36
|
|
||||||
+SOLID
|
|
||||||
+SPAWNCEILING
|
|
||||||
+NOGRAVITY
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
STCS A -1
|
|
||||||
Stop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ACTOR StalactiteLarge
|
|
||||||
{
|
|
||||||
Radius 12
|
|
||||||
Height 68
|
|
||||||
+SOLID
|
|
||||||
+SPAWNCEILING
|
|
||||||
+NOGRAVITY
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
STCL A -1
|
|
||||||
Stop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ACTOR FireBrazier
|
|
||||||
{
|
|
||||||
Radius 16
|
|
||||||
Height 44
|
|
||||||
+SOLID
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
KFR1 ABCDEFGH 3 Bright
|
|
||||||
Loop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ACTOR Barrel
|
|
||||||
{
|
|
||||||
Radius 12
|
|
||||||
Height 32
|
|
||||||
+SOLID
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
BARL A -1
|
|
||||||
Stop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ACTOR BrownPillar
|
|
||||||
{
|
|
||||||
Radius 14
|
|
||||||
Height 128
|
|
||||||
+SOLID
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
BRPL A -1
|
|
||||||
Stop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ACTOR Moss1
|
|
||||||
{
|
|
||||||
Radius 20
|
|
||||||
Height 23
|
|
||||||
+SPAWNCEILING
|
|
||||||
+NOGRAVITY
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
MOS1 A -1
|
|
||||||
Stop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ACTOR Moss2
|
|
||||||
{
|
|
||||||
Radius 20
|
|
||||||
Height 27
|
|
||||||
+SPAWNCEILING
|
|
||||||
+NOGRAVITY
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
MOS2 A -1
|
|
||||||
Stop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ACTOR WallTorch
|
|
||||||
{
|
|
||||||
Radius 6
|
|
||||||
Height 16
|
|
||||||
+NOGRAVITY
|
|
||||||
+FIXMAPTHINGPOS
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
WTRH ABC 6 Bright
|
|
||||||
Loop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ACTOR HangingCorpse
|
|
||||||
{
|
|
||||||
Radius 8
|
|
||||||
Height 104
|
|
||||||
+SOLID
|
|
||||||
+SPAWNCEILING
|
|
||||||
+NOGRAVITY
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
HCOR A -1
|
|
||||||
Stop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,144 +0,0 @@
|
||||||
|
|
||||||
ACTOR HereticKey : Key
|
|
||||||
{
|
|
||||||
+NOTDMATCH
|
|
||||||
Radius 20
|
|
||||||
Height 16
|
|
||||||
}
|
|
||||||
|
|
||||||
// Green key ------------------------------------------------------------
|
|
||||||
|
|
||||||
ACTOR KeyGreen : HereticKey
|
|
||||||
{
|
|
||||||
Inventory.PickupMessage "$TXT_GOTGREENKEY"
|
|
||||||
Inventory.Icon "GKEYICON"
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
AKYY ABCDEFGHIJ 3 Bright
|
|
||||||
Loop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Blue key -----------------------------------------------------------------
|
|
||||||
|
|
||||||
ACTOR KeyBlue : HereticKey
|
|
||||||
{
|
|
||||||
Inventory.PickupMessage "$TXT_GOTBLUEKEY"
|
|
||||||
Inventory.Icon "BKEYICON"
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
BKYY ABCDEFGHIJ 3 Bright
|
|
||||||
Loop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Yellow key ---------------------------------------------------------------
|
|
||||||
|
|
||||||
ACTOR KeyYellow : HereticKey
|
|
||||||
{
|
|
||||||
Inventory.PickupMessage "$TXT_GOTYELLOWKEY"
|
|
||||||
Inventory.Icon "YKEYICON"
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
CKYY ABCDEFGHI 3 Bright
|
|
||||||
Loop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// --- Blue Key gizmo -----------------------------------------------------------
|
|
||||||
|
|
||||||
ACTOR KeyGizmoBlue
|
|
||||||
{
|
|
||||||
Radius 16
|
|
||||||
Height 50
|
|
||||||
+SOLID
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
KGZ1 A 1
|
|
||||||
KGZ1 A 1 A_SpawnItemEx("KeyGizmoFloatBlue", 0, 0, 60)
|
|
||||||
KGZ1 A -1
|
|
||||||
Stop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ACTOR KeyGizmoFloatBlue
|
|
||||||
{
|
|
||||||
Radius 16
|
|
||||||
Height 16
|
|
||||||
+SOLID
|
|
||||||
+NOGRAVITY
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
KGZB A -1 Bright
|
|
||||||
Stop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// --- Green Key gizmo -----------------------------------------------------------
|
|
||||||
|
|
||||||
ACTOR KeyGizmoGreen
|
|
||||||
{
|
|
||||||
Radius 16
|
|
||||||
Height 50
|
|
||||||
+SOLID
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
KGZ1 A 1
|
|
||||||
KGZ1 A 1 A_SpawnItemEx("KeyGizmoFloatGreen", 0, 0, 60)
|
|
||||||
KGZ1 A -1
|
|
||||||
Stop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ACTOR KeyGizmoFloatGreen
|
|
||||||
{
|
|
||||||
Radius 16
|
|
||||||
Height 16
|
|
||||||
+SOLID
|
|
||||||
+NOGRAVITY
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
KGZG A -1 Bright
|
|
||||||
Stop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// --- Yellow Key gizmo -----------------------------------------------------------
|
|
||||||
|
|
||||||
ACTOR KeyGizmoYellow
|
|
||||||
{
|
|
||||||
Radius 16
|
|
||||||
Height 50
|
|
||||||
+SOLID
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
KGZ1 A 1
|
|
||||||
KGZ1 A 1 A_SpawnItemEx("KeyGizmoFloatYellow", 0, 0, 60)
|
|
||||||
KGZ1 A -1
|
|
||||||
Stop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ACTOR KeyGizmoFloatYellow
|
|
||||||
{
|
|
||||||
Radius 16
|
|
||||||
Height 16
|
|
||||||
+SOLID
|
|
||||||
+NOGRAVITY
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
KGZY A -1 Bright
|
|
||||||
Stop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,229 +0,0 @@
|
||||||
|
|
||||||
// Pod ----------------------------------------------------------------------
|
|
||||||
|
|
||||||
ACTOR Pod
|
|
||||||
{
|
|
||||||
Health 45
|
|
||||||
Radius 16
|
|
||||||
Height 54
|
|
||||||
Painchance 255
|
|
||||||
+SOLID +NOBLOOD +SHOOTABLE +DROPOFF
|
|
||||||
+WINDTHRUST +PUSHABLE +SLIDESONWALLS
|
|
||||||
+CANPASS +TELESTOMP +DONTMORPH
|
|
||||||
+NOBLOCKMONST +DONTGIB +OLDRADIUSDMG
|
|
||||||
DeathSound "world/podexplode"
|
|
||||||
PushFactor 0.5
|
|
||||||
|
|
||||||
action native A_PodPain (class<Actor> podtype = "PodGoo");
|
|
||||||
action native A_RemovePod ();
|
|
||||||
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
PPOD A 10
|
|
||||||
Loop
|
|
||||||
Pain:
|
|
||||||
PPOD B 14 A_PodPain
|
|
||||||
Goto Spawn
|
|
||||||
Death:
|
|
||||||
PPOD C 5 BRIGHT A_RemovePod
|
|
||||||
PPOD D 5 BRIGHT A_Scream
|
|
||||||
PPOD E 5 BRIGHT A_Explode
|
|
||||||
PPOD F 10 BRIGHT
|
|
||||||
Stop
|
|
||||||
Grow:
|
|
||||||
PPOD IJKLMNOP 3
|
|
||||||
Goto Spawn
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Pod goo (falls from pod when damaged) ------------------------------------
|
|
||||||
|
|
||||||
ACTOR PodGoo
|
|
||||||
{
|
|
||||||
Radius 2
|
|
||||||
Height 4
|
|
||||||
Gravity 0.125
|
|
||||||
+NOBLOCKMAP +MISSILE +DROPOFF
|
|
||||||
+NOTELEPORT +CANNOTPUSH
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
PPOD GH 8
|
|
||||||
Loop
|
|
||||||
Death:
|
|
||||||
PPOD G 10
|
|
||||||
Stop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Pod generator ------------------------------------------------------------
|
|
||||||
|
|
||||||
ACTOR PodGenerator
|
|
||||||
{
|
|
||||||
+NOBLOCKMAP
|
|
||||||
+NOSECTOR
|
|
||||||
+DONTSPLASH
|
|
||||||
AttackSound "world/podgrow"
|
|
||||||
|
|
||||||
action native A_MakePod (class<Actor> podtype = "Pod");
|
|
||||||
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
TNT1 A 35 A_MakePod
|
|
||||||
Loop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Teleglitter generator 1 --------------------------------------------------
|
|
||||||
|
|
||||||
ACTOR TeleGlitterGenerator1
|
|
||||||
{
|
|
||||||
+NOBLOCKMAP
|
|
||||||
+NOGRAVITY
|
|
||||||
+DONTSPLASH
|
|
||||||
+MOVEWITHSECTOR
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
TNT1 A 8 A_SpawnItemEx("TeleGlitter1", random[TeleGlitter](0,31)-16, random[TeleGlitter](0,31)-16, 0, 0,0,0.25)
|
|
||||||
Loop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Teleglitter generator 2 --------------------------------------------------
|
|
||||||
|
|
||||||
ACTOR TeleGlitterGenerator2
|
|
||||||
{
|
|
||||||
+NOBLOCKMAP
|
|
||||||
+NOGRAVITY
|
|
||||||
+DONTSPLASH
|
|
||||||
+MOVEWITHSECTOR
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
TNT1 A 8 A_SpawnItemEx("TeleGlitter2", random[TeleGlitter2](0,31)-16, random[TeleGlitter2](0,31)-16, 0, 0,0,0.25)
|
|
||||||
Loop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Teleglitter 1 ------------------------------------------------------------
|
|
||||||
|
|
||||||
ACTOR TeleGlitter1
|
|
||||||
{
|
|
||||||
+NOBLOCKMAP +NOGRAVITY +MISSILE
|
|
||||||
RenderStyle Add
|
|
||||||
Damage 0
|
|
||||||
|
|
||||||
action native A_AccTeleGlitter ();
|
|
||||||
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
TGLT A 2 BRIGHT
|
|
||||||
TGLT B 2 BRIGHT A_AccTeleGlitter
|
|
||||||
TGLT C 2 BRIGHT
|
|
||||||
TGLT D 2 BRIGHT A_AccTeleGlitter
|
|
||||||
TGLT E 2 BRIGHT
|
|
||||||
Loop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Teleglitter 2 ------------------------------------------------------------
|
|
||||||
|
|
||||||
ACTOR TeleGlitter2 : TeleGlitter1
|
|
||||||
{
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
TGLT F 2 BRIGHT
|
|
||||||
TGLT G 2 BRIGHT A_AccTeleGlitter
|
|
||||||
TGLT H 2 BRIGHT
|
|
||||||
TGLT I 2 BRIGHT A_AccTeleGlitter
|
|
||||||
TGLT J 2 BRIGHT
|
|
||||||
Loop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// --- Volcano --------------------------------------------------------------
|
|
||||||
|
|
||||||
ACTOR Volcano
|
|
||||||
{
|
|
||||||
Radius 12
|
|
||||||
Height 20
|
|
||||||
+SOLID
|
|
||||||
|
|
||||||
action native A_VolcanoSet ();
|
|
||||||
action native A_VolcanoBlast ();
|
|
||||||
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
VLCO A 350
|
|
||||||
VLCO A 35 A_VolcanoSet
|
|
||||||
VLCO BCDBCD 3
|
|
||||||
VLCO E 10 A_VolcanoBlast
|
|
||||||
Goto Spawn+1
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// Volcano blast ------------------------------------------------------------
|
|
||||||
|
|
||||||
ACTOR VolcanoBlast
|
|
||||||
{
|
|
||||||
Radius 8
|
|
||||||
Height 8
|
|
||||||
Speed 2
|
|
||||||
Damage 2
|
|
||||||
DamageType Fire
|
|
||||||
Gravity 0.125
|
|
||||||
+NOBLOCKMAP +MISSILE +DROPOFF
|
|
||||||
+NOTELEPORT
|
|
||||||
DeathSound "world/volcano/blast"
|
|
||||||
|
|
||||||
action native A_VolcBallImpact ();
|
|
||||||
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
VFBL AB 4 BRIGHT A_SpawnItemEx("Puffy", random2[BeastPuff]()*0.015625, random2[BeastPuff]()*0.015625, random2[BeastPuff]()*0.015625,
|
|
||||||
0,0,0,0,SXF_ABSOLUTEPOSITION, 64)
|
|
||||||
Loop
|
|
||||||
|
|
||||||
Death:
|
|
||||||
XPL1 A 4 BRIGHT A_VolcBallImpact
|
|
||||||
XPL1 BCDEF 4 BRIGHT
|
|
||||||
Stop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Volcano T Blast ----------------------------------------------------------
|
|
||||||
|
|
||||||
ACTOR VolcanoTBlast
|
|
||||||
{
|
|
||||||
Radius 8
|
|
||||||
Height 6
|
|
||||||
Speed 2
|
|
||||||
Damage 1
|
|
||||||
DamageType Fire
|
|
||||||
Gravity 0.125
|
|
||||||
+NOBLOCKMAP +MISSILE +DROPOFF
|
|
||||||
+NOTELEPORT
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
VTFB AB 4 BRIGHT
|
|
||||||
Loop
|
|
||||||
Death:
|
|
||||||
SFFI CBABCDE 4 BRIGHT
|
|
||||||
Stop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
|
@ -1,129 +0,0 @@
|
||||||
ACTOR HereticPlayer : PlayerPawn
|
|
||||||
{
|
|
||||||
Health 100
|
|
||||||
Radius 16
|
|
||||||
Height 56
|
|
||||||
Mass 100
|
|
||||||
Painchance 255
|
|
||||||
Speed 1
|
|
||||||
Player.DisplayName "Corvus"
|
|
||||||
Player.StartItem "GoldWand"
|
|
||||||
Player.StartItem "Staff"
|
|
||||||
Player.StartItem "GoldWandAmmo", 50
|
|
||||||
Player.WeaponSlot 1, Staff, Gauntlets
|
|
||||||
Player.WeaponSlot 2, GoldWand
|
|
||||||
Player.WeaponSlot 3, Crossbow
|
|
||||||
Player.WeaponSlot 4, Blaster
|
|
||||||
Player.WeaponSlot 5, SkullRod
|
|
||||||
Player.WeaponSlot 6, PhoenixRod
|
|
||||||
Player.WeaponSlot 7, Mace
|
|
||||||
|
|
||||||
Player.ColorRange 225, 240
|
|
||||||
Player.Colorset 0, "Green", 225, 240, 238
|
|
||||||
Player.Colorset 1, "Yellow", 114, 129, 127
|
|
||||||
Player.Colorset 2, "Red", 145, 160, 158
|
|
||||||
Player.Colorset 3, "Blue", 190, 205, 203
|
|
||||||
// Doom Legacy additions
|
|
||||||
Player.Colorset 4, "Brown", 67, 82, 80
|
|
||||||
Player.Colorset 5, "Light Gray", 9, 24, 22
|
|
||||||
Player.Colorset 6, "Light Brown", 74, 89, 87
|
|
||||||
Player.Colorset 7, "Light Red", 150, 165, 163
|
|
||||||
Player.Colorset 8, "Light Blue", 192, 207, 205
|
|
||||||
Player.Colorset 9, "Beige", 95, 110, 108
|
|
||||||
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
PLAY A -1
|
|
||||||
Stop
|
|
||||||
See:
|
|
||||||
PLAY ABCD 4
|
|
||||||
Loop
|
|
||||||
Melee:
|
|
||||||
Missile:
|
|
||||||
PLAY F 6 BRIGHT
|
|
||||||
PLAY E 12
|
|
||||||
Goto Spawn
|
|
||||||
Pain:
|
|
||||||
PLAY G 4
|
|
||||||
PLAY G 4 A_Pain
|
|
||||||
Goto Spawn
|
|
||||||
Death:
|
|
||||||
PLAY H 6 A_PlayerSkinCheck("AltSkinDeath")
|
|
||||||
PLAY I 6 A_PlayerScream
|
|
||||||
PLAY JK 6
|
|
||||||
PLAY L 6 A_NoBlocking
|
|
||||||
PLAY MNO 6
|
|
||||||
PLAY P -1
|
|
||||||
Stop
|
|
||||||
XDeath:
|
|
||||||
PLAY Q 0 A_PlayerSkinCheck("AltSkinXDeath")
|
|
||||||
PLAY Q 5 A_PlayerScream
|
|
||||||
PLAY R 0 A_NoBlocking
|
|
||||||
PLAY R 5 A_SkullPop
|
|
||||||
PLAY STUVWX 5
|
|
||||||
PLAY Y -1
|
|
||||||
Stop
|
|
||||||
Burn:
|
|
||||||
FDTH A 5 BRIGHT A_PlaySound("*burndeath")
|
|
||||||
FDTH B 4 BRIGHT
|
|
||||||
FDTH C 5 BRIGHT
|
|
||||||
FDTH D 4 BRIGHT A_PlayerScream
|
|
||||||
FDTH E 5 BRIGHT
|
|
||||||
FDTH F 4 BRIGHT
|
|
||||||
FDTH G 5 BRIGHT A_PlaySound("*burndeath")
|
|
||||||
FDTH H 4 BRIGHT
|
|
||||||
FDTH I 5 BRIGHT
|
|
||||||
FDTH J 4 BRIGHT
|
|
||||||
FDTH K 5 BRIGHT
|
|
||||||
FDTH L 4 BRIGHT
|
|
||||||
FDTH M 5 BRIGHT
|
|
||||||
FDTH N 4 BRIGHT
|
|
||||||
FDTH O 5 BRIGHT A_NoBlocking
|
|
||||||
FDTH P 4 BRIGHT
|
|
||||||
FDTH Q 5 BRIGHT
|
|
||||||
FDTH R 4 BRIGHT
|
|
||||||
ACLO E 35 A_CheckPlayerDone
|
|
||||||
Wait
|
|
||||||
AltSkinDeath:
|
|
||||||
PLAY H 10
|
|
||||||
PLAY I 10 A_PlayerScream
|
|
||||||
PLAY J 10 A_NoBlocking
|
|
||||||
PLAY KLM 10
|
|
||||||
PLAY N -1
|
|
||||||
Stop
|
|
||||||
AltSkinXDeath:
|
|
||||||
PLAY O 5
|
|
||||||
PLAY P 5 A_XScream
|
|
||||||
PLAY Q 5 A_NoBlocking
|
|
||||||
PLAY RSTUV 5
|
|
||||||
PLAY W -1
|
|
||||||
Stop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// The player's skull -------------------------------------------------------
|
|
||||||
|
|
||||||
ACTOR BloodySkull : PlayerChunk
|
|
||||||
{
|
|
||||||
Radius 4
|
|
||||||
Height 4
|
|
||||||
+NOBLOCKMAP
|
|
||||||
+DROPOFF
|
|
||||||
+LOWGRAVITY
|
|
||||||
+CANNOTPUSH
|
|
||||||
+SKYEXPLODE
|
|
||||||
+NOBLOCKMONST
|
|
||||||
+NOSKIN
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
BSKL A 0
|
|
||||||
BSKL ABCDE 5 A_CheckFloor("Hit")
|
|
||||||
Goto Spawn+1
|
|
||||||
Hit:
|
|
||||||
BSKL F 16 A_CheckPlayerDone
|
|
||||||
Wait
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -5,13 +5,13 @@
|
||||||
#include "actors/raven/ravenambient.txt"
|
#include "actors/raven/ravenambient.txt"
|
||||||
#include "actors/raven/minotaur.txt"
|
#include "actors/raven/minotaur.txt"
|
||||||
|
|
||||||
#include "actors/heretic/hereticplayer.txt"
|
//#include "actors/heretic/hereticplayer.txt"
|
||||||
#include "actors/heretic/hereticammo.txt"
|
//#include "actors/heretic/hereticammo.txt"
|
||||||
#include "actors/heretic/hereticarmor.txt"
|
//#include "actors/heretic/hereticarmor.txt"
|
||||||
#include "actors/heretic/hereticartifacts.txt"
|
//#include "actors/heretic/hereticartifacts.txt"
|
||||||
#include "actors/heretic/heretickeys.txt"
|
//#include "actors/heretic/heretickeys.txt"
|
||||||
#include "actors/heretic/hereticdecorations.txt"
|
//#include "actors/heretic/hereticdecorations.txt"
|
||||||
#include "actors/heretic/hereticmisc.txt"
|
//#include "actors/heretic/hereticmisc.txt"
|
||||||
#include "actors/heretic/hereticweaps.txt"
|
#include "actors/heretic/hereticweaps.txt"
|
||||||
#include "actors/heretic/mummy.txt"
|
#include "actors/heretic/mummy.txt"
|
||||||
#include "actors/heretic/clink.txt"
|
#include "actors/heretic/clink.txt"
|
||||||
|
|
|
@ -59,5 +59,24 @@ zscript/doom/doomweapons.txt
|
||||||
zscript/doom/stealthmonsters.txt
|
zscript/doom/stealthmonsters.txt
|
||||||
zscript/doom/scriptedmarine.txt
|
zscript/doom/scriptedmarine.txt
|
||||||
|
|
||||||
|
zscript/heretic/hereticplayer.txt
|
||||||
|
zscript/heretic/hereticammo.txt
|
||||||
|
zscript/heretic/hereticarmor.txt
|
||||||
|
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/beast.txt
|
||||||
|
zscript/heretic/snake.txt
|
||||||
|
zscript/heretic/hereticimp.txt
|
||||||
|
zscript/heretic/knight.txt
|
||||||
|
zscript/heretic/wizard.txt
|
||||||
|
zscript/heretic/ironlich.txt
|
||||||
|
zscript/heretic/dsparil.txt
|
||||||
|
zscript/heretic/chicken.txt
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
|
@ -55,7 +55,8 @@ class DoomImp : Actor
|
||||||
TROO U -1;
|
TROO U -1;
|
||||||
Stop;
|
Stop;
|
||||||
Raise:
|
Raise:
|
||||||
TROO MLKJI 8;
|
TROO ML 8;
|
||||||
|
TROO KJI 6;
|
||||||
Goto See;
|
Goto See;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
118
wadsrc/static/zscript/heretic/beast.txt
Normal file
118
wadsrc/static/zscript/heretic/beast.txt
Normal file
|
@ -0,0 +1,118 @@
|
||||||
|
|
||||||
|
// Beast --------------------------------------------------------------------
|
||||||
|
|
||||||
|
class Beast : Actor
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
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 ---------------------------------------------------------------
|
||||||
|
|
||||||
|
class BeastBall : Actor
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
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 --------------------------------------------------------------------
|
||||||
|
|
||||||
|
class Puffy : Actor
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
Radius 6;
|
||||||
|
Height 8;
|
||||||
|
Speed 10;
|
||||||
|
+NOBLOCKMAP
|
||||||
|
+NOGRAVITY
|
||||||
|
+MISSILE
|
||||||
|
+NOTELEPORT
|
||||||
|
+DONTSPLASH
|
||||||
|
RenderStyle "Add";
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
FRB1 DEFGH 4;
|
||||||
|
Stop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
243
wadsrc/static/zscript/heretic/hereticammo.txt
Normal file
243
wadsrc/static/zscript/heretic/hereticammo.txt
Normal file
|
@ -0,0 +1,243 @@
|
||||||
|
|
||||||
|
// Wimpy ammo ---------------------------------------------------------------
|
||||||
|
|
||||||
|
Class GoldWandAmmo : Ammo
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
Inventory.PickupMessage "$TXT_AMMOGOLDWAND1";
|
||||||
|
Inventory.Amount 10;
|
||||||
|
Inventory.MaxAmount 100;
|
||||||
|
Ammo.BackpackAmount 10;
|
||||||
|
Ammo.BackpackMaxAmount 200;
|
||||||
|
Inventory.Icon "INAMGLD";
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
AMG1 A -1;
|
||||||
|
Stop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Hefty ammo ---------------------------------------------------------------
|
||||||
|
|
||||||
|
Class GoldWandHefty : GoldWandAmmo
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
Inventory.PickupMessage "$TXT_AMMOGOLDWAND2";
|
||||||
|
Inventory.Amount 50;
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
AMG2 ABC 4;
|
||||||
|
Loop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// Wimpy ammo ---------------------------------------------------------------
|
||||||
|
|
||||||
|
Class CrossbowAmmo : Ammo
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
Inventory.PickupMessage "$TXT_AMMOCROSSBOW1";
|
||||||
|
Inventory.Amount 5;
|
||||||
|
Inventory.MaxAmount 50;
|
||||||
|
Ammo.BackpackAmount 5;
|
||||||
|
Ammo.BackpackMaxAmount 100;
|
||||||
|
Inventory.Icon "INAMBOW";
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
AMC1 A -1;
|
||||||
|
Stop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Hefty ammo ---------------------------------------------------------------
|
||||||
|
|
||||||
|
Class CrossbowHefty : CrossbowAmmo
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
Inventory.PickupMessage "$TXT_AMMOCROSSBOW2";
|
||||||
|
Inventory.Amount 20;
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
AMC2 ABC 5;
|
||||||
|
Loop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// Wimpy ammo ---------------------------------------------------------------
|
||||||
|
|
||||||
|
Class MaceAmmo : Ammo
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
Inventory.PickupMessage "$TXT_AMMOMACE1";
|
||||||
|
Inventory.Amount 20;
|
||||||
|
Inventory.MaxAmount 150;
|
||||||
|
Ammo.BackpackAmount 20;
|
||||||
|
Ammo.BackpackMaxAmount 300;
|
||||||
|
Inventory.Icon "INAMLOB";
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
AMM1 A -1;
|
||||||
|
Stop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Hefty ammo ---------------------------------------------------------------
|
||||||
|
|
||||||
|
Class MaceHefty : MaceAmmo
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
Inventory.PickupMessage "$TXT_AMMOMACE2";
|
||||||
|
Inventory.Amount 100;
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
AMM2 A -1;
|
||||||
|
Stop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Wimpy ammo ---------------------------------------------------------------
|
||||||
|
|
||||||
|
Class BlasterAmmo : Ammo
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
Inventory.PickupMessage "$TXT_AMMOBLASTER1";
|
||||||
|
Inventory.Amount 10;
|
||||||
|
Inventory.MaxAmount 200;
|
||||||
|
Ammo.BackpackAmount 10;
|
||||||
|
Ammo.BackpackMaxAmount 400;
|
||||||
|
Inventory.Icon "INAMBST";
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
AMB1 ABC 4;
|
||||||
|
Loop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Hefty ammo ---------------------------------------------------------------
|
||||||
|
|
||||||
|
Class BlasterHefty : BlasterAmmo
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
Inventory.PickupMessage "$TXT_AMMOBLASTER2";
|
||||||
|
Inventory.Amount 25;
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
AMB2 ABC 4;
|
||||||
|
Loop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Wimpy ammo ---------------------------------------------------------------
|
||||||
|
|
||||||
|
Class SkullRodAmmo : Ammo
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
Inventory.PickupMessage "$TXT_AMMOSKULLROD1";
|
||||||
|
Inventory.Amount 20;
|
||||||
|
Inventory.MaxAmount 200;
|
||||||
|
Ammo.BackpackAmount 20;
|
||||||
|
Ammo.BackpackMaxAmount 400;
|
||||||
|
Inventory.Icon "INAMRAM";
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
AMS1 AB 5;
|
||||||
|
Loop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Hefty ammo ---------------------------------------------------------------
|
||||||
|
|
||||||
|
Class SkullRodHefty : SkullRodAmmo
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
Inventory.PickupMessage "$TXT_AMMOSKULLROD2";
|
||||||
|
Inventory.Amount 100;
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
AMS2 AB 5;
|
||||||
|
Loop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Wimpy ammo ---------------------------------------------------------------
|
||||||
|
|
||||||
|
Class PhoenixRodAmmo : Ammo
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
Inventory.PickupMessage "$TXT_AMMOPHOENIXROD1";
|
||||||
|
Inventory.Amount 1;
|
||||||
|
Inventory.MaxAmount 20;
|
||||||
|
Ammo.BackpackAmount 1;
|
||||||
|
Ammo.BackpackMaxAmount 40;
|
||||||
|
Inventory.Icon "INAMPNX";
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
AMP1 ABC 4;
|
||||||
|
Loop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// Hefty ammo ---------------------------------------------------------------
|
||||||
|
|
||||||
|
Class PhoenixRodHefty : PhoenixRodAmmo
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
Inventory.PickupMessage "$TXT_AMMOPHOENIXROD2";
|
||||||
|
Inventory.Amount 10;
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
AMP2 ABC 4;
|
||||||
|
Loop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// --- Bag of holding -------------------------------------------------------
|
||||||
|
|
||||||
|
Class BagOfHolding : BackpackItem
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
Inventory.PickupMessage "$TXT_ITEMBAGOFHOLDING";
|
||||||
|
+COUNTITEM
|
||||||
|
+FLOATBOB
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
BAGH A -1;
|
||||||
|
Stop;
|
||||||
|
}
|
||||||
|
}
|
41
wadsrc/static/zscript/heretic/hereticarmor.txt
Normal file
41
wadsrc/static/zscript/heretic/hereticarmor.txt
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
|
||||||
|
// Silver Shield (Shield1) --------------------------------------------------
|
||||||
|
|
||||||
|
Class SilverShield : BasicArmorPickup
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
+FLOATBOB
|
||||||
|
Inventory.Pickupmessage "$TXT_ITEMSHIELD1";
|
||||||
|
Inventory.Icon "SHLDA0";
|
||||||
|
Armor.Savepercent 50;
|
||||||
|
Armor.Saveamount 100;
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
SHLD A -1;
|
||||||
|
stop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Enchanted shield (Shield2) -----------------------------------------------
|
||||||
|
|
||||||
|
Class EnchantedShield : BasicArmorPickup
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
+FLOATBOB
|
||||||
|
Inventory.Pickupmessage "$TXT_ITEMSHIELD2";
|
||||||
|
Inventory.Icon "SHD2A0";
|
||||||
|
Armor.Savepercent 75;
|
||||||
|
Armor.Saveamount 200;
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
SHD2 A -1;
|
||||||
|
stop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
118
wadsrc/static/zscript/heretic/hereticartifacts.txt
Normal file
118
wadsrc/static/zscript/heretic/hereticartifacts.txt
Normal file
|
@ -0,0 +1,118 @@
|
||||||
|
// Super map ----------------------------------------------------------------
|
||||||
|
|
||||||
|
Class SuperMap : MapRevealer
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
+COUNTITEM
|
||||||
|
+INVENTORY.ALWAYSPICKUP
|
||||||
|
+FLOATBOB
|
||||||
|
Inventory.MaxAmount 0;
|
||||||
|
Inventory.PickupMessage "$TXT_ITEMSUPERMAP";
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
SPMP A -1;
|
||||||
|
Stop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Invisibility -------------------------------------------------------------
|
||||||
|
|
||||||
|
Class ArtiInvisibility : PowerupGiver
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
+COUNTITEM
|
||||||
|
+FLOATBOB
|
||||||
|
Inventory.PickupFlash "PickupFlash";
|
||||||
|
RenderStyle "Translucent";
|
||||||
|
Alpha 0.4;
|
||||||
|
Inventory.RespawnTics 4230;
|
||||||
|
Inventory.Icon "ARTIINVS";
|
||||||
|
Powerup.Type "Ghost";
|
||||||
|
Inventory.PickupMessage "$TXT_ARTIINVISIBILITY";
|
||||||
|
Tag "$TAG_ARTIINVISIBILITY";
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
INVS A 350 Bright;
|
||||||
|
Loop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Tome of power ------------------------------------------------------------
|
||||||
|
|
||||||
|
Class ArtiTomeOfPower : PowerupGiver native
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
+COUNTITEM
|
||||||
|
+FLOATBOB
|
||||||
|
Inventory.PickupFlash "PickupFlash";
|
||||||
|
Inventory.Icon "ARTIPWBK";
|
||||||
|
Powerup.Type "Weaponlevel2";
|
||||||
|
Inventory.PickupMessage "$TXT_ARTITOMEOFPOWER";
|
||||||
|
Tag "$TAG_ARTITOMEOFPOWER";
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
PWBK A 350;
|
||||||
|
Loop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Time bomb ----------------------------------------------------------------
|
||||||
|
|
||||||
|
Class ActivatedTimeBomb : Actor
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
+NOGRAVITY
|
||||||
|
RenderStyle "Translucent";
|
||||||
|
Alpha 0.4;
|
||||||
|
DeathSound "misc/timebomb";
|
||||||
|
}
|
||||||
|
|
||||||
|
action native void A_Timebomb();
|
||||||
|
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
FBMB ABCD 10;
|
||||||
|
FBMB E 6 A_Scream;
|
||||||
|
XPL1 A 4 BRIGHT A_Timebomb;
|
||||||
|
XPL1 BCDEF 4 BRIGHT;
|
||||||
|
Stop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Class ArtiTimeBomb : Inventory native
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
+COUNTITEM
|
||||||
|
+FLOATBOB
|
||||||
|
Inventory.PickupFlash "PickupFlash";
|
||||||
|
+INVENTORY.INVBAR
|
||||||
|
+INVENTORY.FANCYPICKUPSOUND
|
||||||
|
Inventory.Icon "ARTIFBMB";
|
||||||
|
Inventory.PickupSound "misc/p_pkup";
|
||||||
|
Inventory.PickupMessage "$TXT_ARTIFIREBOMB";
|
||||||
|
Tag "$TAG_ARTIFIREBOMB";
|
||||||
|
Inventory.DefMaxAmount;
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
FBMB E 350;
|
||||||
|
Loop;
|
||||||
|
}
|
||||||
|
}
|
302
wadsrc/static/zscript/heretic/hereticdecorations.txt
Normal file
302
wadsrc/static/zscript/heretic/hereticdecorations.txt
Normal file
|
@ -0,0 +1,302 @@
|
||||||
|
Class SkullHang70 : Actor
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
Radius 20;
|
||||||
|
Height 70;
|
||||||
|
+SPAWNCEILING
|
||||||
|
+NOGRAVITY
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
SKH1 A -1;
|
||||||
|
Stop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Class SkullHang60 : Actor
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
Radius 20;
|
||||||
|
Height 60;
|
||||||
|
+SPAWNCEILING
|
||||||
|
+NOGRAVITY
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
SKH2 A -1;
|
||||||
|
Stop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Class SkullHang45 : Actor
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
Radius 20;
|
||||||
|
Height 45;
|
||||||
|
+SPAWNCEILING
|
||||||
|
+NOGRAVITY
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
SKH3 A -1;
|
||||||
|
Stop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Class SkullHang35 : Actor
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
Radius 20;
|
||||||
|
Height 35;
|
||||||
|
+SPAWNCEILING
|
||||||
|
+NOGRAVITY
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
SKH4 A -1;
|
||||||
|
Stop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Class Chandelier : Actor
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
Radius 20;
|
||||||
|
Height 60;
|
||||||
|
+SPAWNCEILING
|
||||||
|
+NOGRAVITY
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
CHDL ABC 4;
|
||||||
|
Loop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Class SerpentTorch : Actor
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
Radius 12;
|
||||||
|
Height 54;
|
||||||
|
+SOLID
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
SRTC ABC 4;
|
||||||
|
Loop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Class SmallPillar : Actor
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
Radius 16;
|
||||||
|
Height 34;
|
||||||
|
+SOLID
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
SMPL A -1;
|
||||||
|
Stop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Class StalagmiteSmall : Actor
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
Radius 8;
|
||||||
|
Height 32;
|
||||||
|
+SOLID
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
STGS A -1;
|
||||||
|
Stop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Class StalagmiteLarge : Actor
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
Radius 12;
|
||||||
|
Height 64;
|
||||||
|
+SOLID
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
STGL A -1;
|
||||||
|
Stop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Class StalactiteSmall : Actor
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
Radius 8;
|
||||||
|
Height 36;
|
||||||
|
+SOLID
|
||||||
|
+SPAWNCEILING
|
||||||
|
+NOGRAVITY
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
STCS A -1;
|
||||||
|
Stop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Class StalactiteLarge : Actor
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
Radius 12;
|
||||||
|
Height 68;
|
||||||
|
+SOLID
|
||||||
|
+SPAWNCEILING
|
||||||
|
+NOGRAVITY
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
STCL A -1;
|
||||||
|
Stop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Class FireBrazier : Actor
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
Radius 16;
|
||||||
|
Height 44;
|
||||||
|
+SOLID
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
KFR1 ABCDEFGH 3 Bright;
|
||||||
|
Loop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Class Barrel : Actor
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
Radius 12;
|
||||||
|
Height 32;
|
||||||
|
+SOLID
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
BARL A -1;
|
||||||
|
Stop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Class BrownPillar : Actor
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
Radius 14;
|
||||||
|
Height 128;
|
||||||
|
+SOLID
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
BRPL A -1;
|
||||||
|
Stop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Class Moss1 : Actor
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
Radius 20;
|
||||||
|
Height 23;
|
||||||
|
+SPAWNCEILING
|
||||||
|
+NOGRAVITY
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
MOS1 A -1;
|
||||||
|
Stop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Class Moss2 : Actor
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
Radius 20;
|
||||||
|
Height 27;
|
||||||
|
+SPAWNCEILING
|
||||||
|
+NOGRAVITY
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
MOS2 A -1;
|
||||||
|
Stop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Class WallTorch : Actor
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
Radius 6;
|
||||||
|
Height 16;
|
||||||
|
+NOGRAVITY
|
||||||
|
+FIXMAPTHINGPOS
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
WTRH ABC 6 Bright;
|
||||||
|
Loop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Class HangingCorpse : Actor
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
Radius 8;
|
||||||
|
Height 104;
|
||||||
|
+SOLID
|
||||||
|
+SPAWNCEILING
|
||||||
|
+NOGRAVITY
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
HCOR A -1;
|
||||||
|
Stop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
174
wadsrc/static/zscript/heretic/heretickeys.txt
Normal file
174
wadsrc/static/zscript/heretic/heretickeys.txt
Normal file
|
@ -0,0 +1,174 @@
|
||||||
|
|
||||||
|
Class HereticKey : Key
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
+NOTDMATCH
|
||||||
|
Radius 20;
|
||||||
|
Height 16;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Green key ------------------------------------------------------------
|
||||||
|
|
||||||
|
Class KeyGreen : HereticKey
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
Inventory.PickupMessage "$TXT_GOTGREENKEY";
|
||||||
|
Inventory.Icon "GKEYICON";
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
AKYY ABCDEFGHIJ 3 Bright;
|
||||||
|
Loop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Blue key -----------------------------------------------------------------
|
||||||
|
|
||||||
|
Class KeyBlue : HereticKey
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
Inventory.PickupMessage "$TXT_GOTBLUEKEY";
|
||||||
|
Inventory.Icon "BKEYICON";
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
BKYY ABCDEFGHIJ 3 Bright;
|
||||||
|
Loop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Yellow key ---------------------------------------------------------------
|
||||||
|
|
||||||
|
Class KeyYellow : HereticKey
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
Inventory.PickupMessage "$TXT_GOTYELLOWKEY";
|
||||||
|
Inventory.Icon "YKEYICON";
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
CKYY ABCDEFGHI 3 Bright;
|
||||||
|
Loop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// --- Blue Key gizmo -----------------------------------------------------------
|
||||||
|
|
||||||
|
Class KeyGizmoBlue : Actor
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
Radius 16;
|
||||||
|
Height 50;
|
||||||
|
+SOLID
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
KGZ1 A 1;
|
||||||
|
KGZ1 A 1 A_SpawnItemEx("KeyGizmoFloatBlue", 0, 0, 60);
|
||||||
|
KGZ1 A -1;
|
||||||
|
Stop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Class KeyGizmoFloatBlue : Actor
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
Radius 16;
|
||||||
|
Height 16;
|
||||||
|
+SOLID
|
||||||
|
+NOGRAVITY
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
KGZB A -1 Bright;
|
||||||
|
Stop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// --- Green Key gizmo -----------------------------------------------------------
|
||||||
|
|
||||||
|
Class KeyGizmoGreen : Actor
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
Radius 16;
|
||||||
|
Height 50;
|
||||||
|
+SOLID
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
KGZ1 A 1;
|
||||||
|
KGZ1 A 1 A_SpawnItemEx("KeyGizmoFloatGreen", 0, 0, 60);
|
||||||
|
KGZ1 A -1;
|
||||||
|
Stop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Class KeyGizmoFloatGreen : Actor
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
Radius 16;
|
||||||
|
Height 16;
|
||||||
|
+SOLID
|
||||||
|
+NOGRAVITY
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
KGZG A -1 Bright;
|
||||||
|
Stop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// --- Yellow Key gizmo -----------------------------------------------------------
|
||||||
|
|
||||||
|
Class KeyGizmoYellow : Actor
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
Radius 16;
|
||||||
|
Height 50;
|
||||||
|
+SOLID
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
KGZ1 A 1;
|
||||||
|
KGZ1 A 1 A_SpawnItemEx("KeyGizmoFloatYellow", 0, 0, 60);
|
||||||
|
KGZ1 A -1;
|
||||||
|
Stop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Class KeyGizmoFloatYellow : Actor
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
Radius 16;
|
||||||
|
Height 16;
|
||||||
|
+SOLID
|
||||||
|
+NOGRAVITY
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
KGZY A -1 Bright;
|
||||||
|
Stop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
255
wadsrc/static/zscript/heretic/hereticmisc.txt
Normal file
255
wadsrc/static/zscript/heretic/hereticmisc.txt
Normal file
|
@ -0,0 +1,255 @@
|
||||||
|
|
||||||
|
// Pod ----------------------------------------------------------------------
|
||||||
|
|
||||||
|
class Pod : Actor
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
Health 45;
|
||||||
|
Radius 16;
|
||||||
|
Height 54;
|
||||||
|
Painchance 255;
|
||||||
|
+SOLID +NOBLOOD +SHOOTABLE +DROPOFF
|
||||||
|
+WINDTHRUST +PUSHABLE +SLIDESONWALLS
|
||||||
|
+CANPASS +TELESTOMP +DONTMORPH
|
||||||
|
+NOBLOCKMONST +DONTGIB +OLDRADIUSDMG
|
||||||
|
DeathSound "world/podexplode";
|
||||||
|
PushFactor 0.5;
|
||||||
|
}
|
||||||
|
action native void A_PodPain (class<Actor> podtype = "PodGoo");
|
||||||
|
action native void A_RemovePod ();
|
||||||
|
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
PPOD A 10;
|
||||||
|
Loop;
|
||||||
|
Pain:
|
||||||
|
PPOD B 14 A_PodPain;
|
||||||
|
Goto Spawn;
|
||||||
|
Death:
|
||||||
|
PPOD C 5 BRIGHT A_RemovePod;
|
||||||
|
PPOD D 5 BRIGHT A_Scream;
|
||||||
|
PPOD E 5 BRIGHT A_Explode;
|
||||||
|
PPOD F 10 BRIGHT;
|
||||||
|
Stop;
|
||||||
|
Grow:
|
||||||
|
PPOD IJKLMNOP 3;
|
||||||
|
Goto Spawn;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Pod goo (falls from pod when damaged) ------------------------------------
|
||||||
|
|
||||||
|
class PodGoo : Actor
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
Radius 2;
|
||||||
|
Height 4;
|
||||||
|
Gravity 0.125;
|
||||||
|
+NOBLOCKMAP +MISSILE +DROPOFF
|
||||||
|
+NOTELEPORT +CANNOTPUSH
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
PPOD GH 8;
|
||||||
|
Loop;
|
||||||
|
Death:
|
||||||
|
PPOD G 10;
|
||||||
|
Stop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Pod generator ------------------------------------------------------------
|
||||||
|
|
||||||
|
class PodGenerator : Actor
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
+NOBLOCKMAP
|
||||||
|
+NOSECTOR
|
||||||
|
+DONTSPLASH
|
||||||
|
AttackSound "world/podgrow";
|
||||||
|
}
|
||||||
|
|
||||||
|
action native void A_MakePod (class<Actor> podtype = "Pod");
|
||||||
|
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
TNT1 A 35 A_MakePod;
|
||||||
|
Loop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Teleglitter generator 1 --------------------------------------------------
|
||||||
|
|
||||||
|
class TeleGlitterGenerator1 : Actor
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
+NOBLOCKMAP
|
||||||
|
+NOGRAVITY
|
||||||
|
+DONTSPLASH
|
||||||
|
+MOVEWITHSECTOR
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
TNT1 A 8 A_SpawnItemEx("TeleGlitter1", random[TeleGlitter](0,31)-16, random[TeleGlitter](0,31)-16, 0, 0,0,0.25);
|
||||||
|
Loop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Teleglitter generator 2 --------------------------------------------------
|
||||||
|
|
||||||
|
class TeleGlitterGenerator2 : Actor
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
+NOBLOCKMAP
|
||||||
|
+NOGRAVITY
|
||||||
|
+DONTSPLASH
|
||||||
|
+MOVEWITHSECTOR
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
TNT1 A 8 A_SpawnItemEx("TeleGlitter2", random[TeleGlitter2](0,31)-16, random[TeleGlitter2](0,31)-16, 0, 0,0,0.25);
|
||||||
|
Loop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Teleglitter 1 ------------------------------------------------------------
|
||||||
|
|
||||||
|
class TeleGlitter1 : Actor
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
+NOBLOCKMAP +NOGRAVITY +MISSILE
|
||||||
|
RenderStyle "Add";
|
||||||
|
Damage 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
action native void A_AccTeleGlitter ();
|
||||||
|
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
TGLT A 2 BRIGHT;
|
||||||
|
TGLT B 2 BRIGHT A_AccTeleGlitter;
|
||||||
|
TGLT C 2 BRIGHT;
|
||||||
|
TGLT D 2 BRIGHT A_AccTeleGlitter;
|
||||||
|
TGLT E 2 BRIGHT;
|
||||||
|
Loop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Teleglitter 2 ------------------------------------------------------------
|
||||||
|
|
||||||
|
class TeleGlitter2 : TeleGlitter1
|
||||||
|
{
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
TGLT F 2 BRIGHT;
|
||||||
|
TGLT G 2 BRIGHT A_AccTeleGlitter;
|
||||||
|
TGLT H 2 BRIGHT;
|
||||||
|
TGLT I 2 BRIGHT A_AccTeleGlitter;
|
||||||
|
TGLT J 2 BRIGHT;
|
||||||
|
Loop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// --- Volcano --------------------------------------------------------------
|
||||||
|
|
||||||
|
class Volcano : Actor
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
Radius 12;
|
||||||
|
Height 20;
|
||||||
|
+SOLID
|
||||||
|
}
|
||||||
|
|
||||||
|
action native void A_VolcanoSet ();
|
||||||
|
action native void A_VolcanoBlast ();
|
||||||
|
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
VLCO A 350;
|
||||||
|
VLCO A 35 A_VolcanoSet;
|
||||||
|
VLCO BCDBCD 3;
|
||||||
|
VLCO E 10 A_VolcanoBlast;
|
||||||
|
Goto Spawn+1;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// Volcano blast ------------------------------------------------------------
|
||||||
|
|
||||||
|
class VolcanoBlast : Actor
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
Radius 8;
|
||||||
|
Height 8;
|
||||||
|
Speed 2;
|
||||||
|
Damage 2;
|
||||||
|
DamageType "Fire";
|
||||||
|
Gravity 0.125;
|
||||||
|
+NOBLOCKMAP +MISSILE +DROPOFF
|
||||||
|
+NOTELEPORT
|
||||||
|
DeathSound "world/volcano/blast";
|
||||||
|
}
|
||||||
|
|
||||||
|
action native void A_VolcBallImpact ();
|
||||||
|
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
VFBL AB 4 BRIGHT A_SpawnItemEx("Puffy", random2[BeastPuff]()*0.015625, random2[BeastPuff]()*0.015625, random2[BeastPuff]()*0.015625,
|
||||||
|
0,0,0,0,SXF_ABSOLUTEPOSITION, 64);
|
||||||
|
Loop;
|
||||||
|
|
||||||
|
Death:
|
||||||
|
XPL1 A 4 BRIGHT A_VolcBallImpact;
|
||||||
|
XPL1 BCDEF 4 BRIGHT;
|
||||||
|
Stop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Volcano T Blast ----------------------------------------------------------
|
||||||
|
|
||||||
|
class VolcanoTBlast : Actor
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
Radius 8;
|
||||||
|
Height 6;
|
||||||
|
Speed 2;
|
||||||
|
Damage 1;
|
||||||
|
DamageType "Fire";
|
||||||
|
Gravity 0.125;
|
||||||
|
+NOBLOCKMAP +MISSILE +DROPOFF
|
||||||
|
+NOTELEPORT
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
VTFB AB 4 BRIGHT;
|
||||||
|
Loop;
|
||||||
|
Death:
|
||||||
|
SFFI CBABCDE 4 BRIGHT;
|
||||||
|
Stop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
135
wadsrc/static/zscript/heretic/hereticplayer.txt
Normal file
135
wadsrc/static/zscript/heretic/hereticplayer.txt
Normal file
|
@ -0,0 +1,135 @@
|
||||||
|
class HereticPlayer : PlayerPawn
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
Health 100;
|
||||||
|
Radius 16;
|
||||||
|
Height 56;
|
||||||
|
Mass 100;
|
||||||
|
Painchance 255;
|
||||||
|
Speed 1;
|
||||||
|
Player.DisplayName "Corvus";
|
||||||
|
Player.StartItem "GoldWand";
|
||||||
|
Player.StartItem "Staff";
|
||||||
|
Player.StartItem "GoldWandAmmo", 50;
|
||||||
|
Player.WeaponSlot 1, "Staff", "Gauntlets";
|
||||||
|
Player.WeaponSlot 2, "GoldWand";
|
||||||
|
Player.WeaponSlot 3, "Crossbow";
|
||||||
|
Player.WeaponSlot 4, "Blaster";
|
||||||
|
Player.WeaponSlot 5, "SkullRod";
|
||||||
|
Player.WeaponSlot 6, "PhoenixRod";
|
||||||
|
Player.WeaponSlot 7, "Mace";
|
||||||
|
|
||||||
|
Player.ColorRange 225, 240;
|
||||||
|
Player.Colorset 0, "Green", 225, 240, 238;
|
||||||
|
Player.Colorset 1, "Yellow", 114, 129, 127;
|
||||||
|
Player.Colorset 2, "Red", 145, 160, 158;
|
||||||
|
Player.Colorset 3, "Blue", 190, 205, 203;
|
||||||
|
// Doom Legacy additions
|
||||||
|
Player.Colorset 4, "Brown", 67, 82, 80;
|
||||||
|
Player.Colorset 5, "Light Gray", 9, 24, 22;
|
||||||
|
Player.Colorset 6, "Light Brown", 74, 89, 87;
|
||||||
|
Player.Colorset 7, "Light Red", 150, 165, 163;
|
||||||
|
Player.Colorset 8, "Light Blue", 192, 207, 205;
|
||||||
|
Player.Colorset 9, "Beige", 95, 110, 108;
|
||||||
|
}
|
||||||
|
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
PLAY A -1;
|
||||||
|
Stop;
|
||||||
|
See:
|
||||||
|
PLAY ABCD 4;
|
||||||
|
Loop;
|
||||||
|
Melee:
|
||||||
|
Missile:
|
||||||
|
PLAY F 6 BRIGHT;
|
||||||
|
PLAY E 12;
|
||||||
|
Goto Spawn;
|
||||||
|
Pain:
|
||||||
|
PLAY G 4;
|
||||||
|
PLAY G 4 A_Pain;
|
||||||
|
Goto Spawn;
|
||||||
|
Death:
|
||||||
|
PLAY H 6 A_PlayerSkinCheck("AltSkinDeath");
|
||||||
|
PLAY I 6 A_PlayerScream;
|
||||||
|
PLAY JK 6;
|
||||||
|
PLAY L 6 A_NoBlocking;
|
||||||
|
PLAY MNO 6;
|
||||||
|
PLAY P -1;
|
||||||
|
Stop;
|
||||||
|
XDeath:
|
||||||
|
PLAY Q 0 A_PlayerSkinCheck("AltSkinXDeath");
|
||||||
|
PLAY Q 5 A_PlayerScream;
|
||||||
|
PLAY R 0 A_NoBlocking;
|
||||||
|
PLAY R 5 A_SkullPop;
|
||||||
|
PLAY STUVWX 5;
|
||||||
|
PLAY Y -1;
|
||||||
|
Stop;
|
||||||
|
Burn:
|
||||||
|
FDTH A 5 BRIGHT A_PlaySound("*burndeath");
|
||||||
|
FDTH B 4 BRIGHT;
|
||||||
|
FDTH C 5 BRIGHT;
|
||||||
|
FDTH D 4 BRIGHT A_PlayerScream;
|
||||||
|
FDTH E 5 BRIGHT;
|
||||||
|
FDTH F 4 BRIGHT;
|
||||||
|
FDTH G 5 BRIGHT A_PlaySound("*burndeath");
|
||||||
|
FDTH H 4 BRIGHT;
|
||||||
|
FDTH I 5 BRIGHT;
|
||||||
|
FDTH J 4 BRIGHT;
|
||||||
|
FDTH K 5 BRIGHT;
|
||||||
|
FDTH L 4 BRIGHT;
|
||||||
|
FDTH M 5 BRIGHT;
|
||||||
|
FDTH N 4 BRIGHT;
|
||||||
|
FDTH O 5 BRIGHT A_NoBlocking;
|
||||||
|
FDTH P 4 BRIGHT;
|
||||||
|
FDTH Q 5 BRIGHT;
|
||||||
|
FDTH R 4 BRIGHT;
|
||||||
|
ACLO E 35 A_CheckPlayerDone;
|
||||||
|
Wait;
|
||||||
|
AltSkinDeath:
|
||||||
|
PLAY H 10;
|
||||||
|
PLAY I 10 A_PlayerScream;
|
||||||
|
PLAY J 10 A_NoBlocking;
|
||||||
|
PLAY KLM 10;
|
||||||
|
PLAY N -1;
|
||||||
|
Stop;
|
||||||
|
AltSkinXDeath:
|
||||||
|
PLAY O 5;
|
||||||
|
PLAY P 5 A_XScream;
|
||||||
|
PLAY Q 5 A_NoBlocking;
|
||||||
|
PLAY RSTUV 5;
|
||||||
|
PLAY W -1;
|
||||||
|
Stop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// The player's skull -------------------------------------------------------
|
||||||
|
|
||||||
|
class BloodySkull : PlayerChunk
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
Radius 4;
|
||||||
|
Height 4;
|
||||||
|
Gravity 0.125;
|
||||||
|
+NOBLOCKMAP
|
||||||
|
+DROPOFF
|
||||||
|
+CANNOTPUSH
|
||||||
|
+SKYEXPLODE
|
||||||
|
+NOBLOCKMONST
|
||||||
|
+NOSKIN
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
BSKL A 0;
|
||||||
|
BSKL ABCDE 5 A_CheckFloor("Hit");
|
||||||
|
Goto Spawn+1;
|
||||||
|
Hit:
|
||||||
|
BSKL F 16 A_CheckPlayerDone;
|
||||||
|
Wait;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue