qzdoom/wadsrc/static/zscript/actors/strife/merchants.zs

108 lines
1.6 KiB
Text

// Base class for the merchants ---------------------------------------------
class Merchant : Actor
{
Default
{
Health 10000000;
PainChance 256; // a merchant should always enter the pain state when getting hurt
Radius 20;
Height 56;
Mass 5000;
CrushPainSound "misc/pcrush";
+SOLID
+SHOOTABLE
+NOTDMATCH
+NOSPLASHALERT
+NODAMAGE
}
States
{
Spawn:
MRST A 10 A_Look2;
Loop;
MRLK A 30 A_ActiveSound;
Loop;
MRLK B 30;
Loop;
MRBD ABCDEDCB 4;
MRBD A 5;
MRBD F 6;
Loop;
See:
Pain:
MRPN A 1;
MRPN A 2 A_AlertMonsters;
MRPN B 3 A_Pain;
MRPN C 3;
MRPN D 9 Door_CloseWaitOpen(999, 64, 960);
MRPN C 4;
MRPN B 3;
MRPN A 3 A_ClearSoundTarget;
Goto Spawn;
Yes:
MRYS A 20;
// Fall through
Greetings:
MRGT ABCDEFGHI 5;
Goto Spawn;
No:
MRNO AB 6;
MRNO C 10;
MRNO BA 6;
Goto Greetings;
}
}
// Weapon Smith -------------------------------------------------------------
class WeaponSmith : Merchant
{
Default
{
PainSound "smith/pain";
Tag "$TAG_WEAPONSMITH";
}
}
// Bar Keep -----------------------------------------------------------------
class BarKeep : Merchant
{
Default
{
Translation 4;
PainSound "barkeep/pain";
ActiveSound "barkeep/active";
Tag "$TAG_BARKEEP";
}
}
// Armorer ------------------------------------------------------------------
class Armorer : Merchant
{
Default
{
Translation 5;
PainSound "armorer/pain";
Tag "$TAG_ARMORER";
}
}
// Medic --------------------------------------------------------------------
class Medic : Merchant
{
Default
{
Translation 6;
PainSound "medic/pain";
Tag "$TAG_MEDIC";
}
}