qzdoom-gpl/wadsrc/decorate/strife/merchants.txt
Christoph Oelckers 605a9a7715 May 6, 2006 (Changes by Graf Zahl)
- Converted a_zombie.cpp and most of a_strifestuff.cpp to DECORATE.
- Converted a_strifekeys.cpp to DECORATE and moved the pickup messages to the
  string table.
- Removed the WIF_HITS_GHOSTS weapon flag and replaced it with MF2_THRUGHOST. 
  There is no need to keep two flags around with virtually the same meaning.
- Changed the ShadowArmor to use the VISIBILITYPULSE flag to change its translucency.
  It looks much better now than the cheap code pointer based blinking it used before.
- Converted most of a_strifeitems.cpp to DECORATE and moved the pickup messages 
  to the string table.
- Converted a_strifearmor.cpp to DECORATE and moved the pickup messages to the
  string table.
- Moved the messages for killing spectres to the string table.
- Converted the quest items to DECORATE. Also changed A_GiveQuestItem to get
  the messages it prints from the string table instead of the quest item's tag
  string.

May 5, 2006 (Changes by Graf Zahl)
- Removed the hopelessly outdated thingdef_doc.txt file from the repository.
- Converted a_peasant.cpp and a_ratbuddy.cpp to DECORATE.
- Fixed: C_DoKey didn't treat an empty string as 'no binding' when checking for
  valid double bindings.
- Converted a_merchants.cpp to DECORATE.
- Added MF5_NODAMAGE flag to generalize the behavior of Strife's merchants which
  can be shot but take no damage from getting hurt.
- Converted a_beggars.cpp to DECORATE.
- Added an Inventory.GiveQuest property. This makes it possible to define all of
  Strife's original items that also give a quest item in DECORATE but it is also 
  useful to define items like the ones in Day of the Acolyte without ugly workarounds.
- Added a Tag property and Strife teaser conversation IDs to DECORATE so now it is 
  possible to define many of Strife's items.
- Added a FastSpeed property to DECORATE so that projectiles can finally be
  assigned a higher speed for fast mode.
- Added a ACS_LockedExecuteDoor special. It is basically the same as the existing
  ACS_LockedExecute but it uses the 'door' message instead of 'remote'. This
  cannot be integrated into ACS_LockedExecute because all its arguments are already
  in use.
- Added a fully customizable A_CustomMeleeAttack function for DECORATE.


SVN r83 (trunk)
2006-05-07 00:27:22 +00:00

99 lines
1.6 KiB
Text

// Base class for the merchants ---------------------------------------------
ACTOR Merchant
{
Health 10000000
PainChance 256 // a merchant should always enter the pain state when getting hurt
Radius 20
Height 56
Mass 5000
+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 3 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 -------------------------------------------------------------
ACTOR WeaponSmith : Merchant 116
{
Game Strife
ConversationID 2
PainSound "smith/pain"
Tag "Weapon_Smith"
}
// Bar Keep -----------------------------------------------------------------
ACTOR BarKeep : Merchant 72
{
Game Strife
Translation 4
ConversationID 3
PainSound "barkeep/pain"
ActiveSound "barkeep/active"
Tag "Bar_Keep"
}
// Armorer ------------------------------------------------------------------
ACTOR Armorer : Merchant 73
{
Game Strife
Translation 5
ConversationID 4
PainSound "armorer/pain"
Tag "Armorer"
}
// Medic --------------------------------------------------------------------
ACTOR Medic : Merchant 74
{
Game Strife
Translation 6
ConversationID 5
PainSound "medic/pain"
Tag "Medic"
}