Classes:Pottery1
Jump to navigation
Jump to search
Note: Wait! Stop! You do not need to copy this actor's code into your project! Here's why:
|
| Tall pottery | |||
|---|---|---|---|
| Actor type | Breakable | Game | |
| DoomEd Number | 104 | Class Name | Pottery1 |
Classes: Pottery1
→Pottery2
→Pottery3
A pottery that can be broken. It may contain something in it, which is spawned when A_PotteryExplode is called.
ZScript definition
| Note: The ZScript definition below is for reference and may be different in the current version of UZDoom. The most up-to-date version of this code can be found on UZDoom GitHub. |
class Pottery1 : Actor
{
Default
{
Health 15;
Speed 10;
Height 32;
+SOLID +SHOOTABLE +NOBLOOD +DROPOFF +SMASHABLE
+SLIDESONWALLS +PUSHABLE +TELESTOMP +CANPASS
+NOICEDEATH
}
States
{
Spawn:
POT1 A -1;
Loop;
Death:
POT1 A 0 A_PotteryExplode;
Stop;
}
void A_PotteryExplode()
{
Actor mo = null;
int i;
for(i = random[Pottery](3, 6); i; i--)
{
mo = Spawn ("PotteryBit", Pos, ALLOW_REPLACE);
if (mo)
{
mo.SetState (mo.SpawnState + random[Pottery](0, 4));
mo.Vel.X = random2[Pottery]() / 64.;
mo.Vel.Y = random2[Pottery]() / 64.;
mo.Vel.Z = random[Pottery](5, 12) * 0.75;
}
}
mo.A_StartSound ("PotteryExplode", CHAN_BODY);
// Spawn an item?
Class<Actor> type = GetSpawnableType(args[0]);
if (type != null)
{
if (!(level.nomonsters || sv_nomonsters) || !(GetDefaultByType (type).bIsMonster))
{ // Only spawn monsters if not -nomonsters
Spawn (type, Pos, ALLOW_REPLACE);
}
}
}
}
DECORATE definition
|
Warning: This is legacy code, kept for archival purposes only. DECORATE is deprecated in GZDoom and is completely superseded by ZScript. GZDoom internally uses the ZScript definition above. |
ACTOR Pottery1 native
{
Health 15
Speed 10
Height 32
+SOLID
+SHOOTABLE
+NOBLOOD
+DROPOFF
+SLIDESONWALLS
+PUSHABLE
+TELESTOMP
+CANPASS
+NOICEDEATH
action native A_PotteryExplode();
States
{
Spawn:
POT1 A -1
Loop
Death:
POT1 A 0 A_PotteryExplode
Stop
}
}