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)
This commit is contained in:
parent
abed04ab23
commit
605a9a7715
51 changed files with 4047 additions and 5982 deletions
|
|
@ -89,6 +89,7 @@ static FRandom pr_spawnmapthing ("SpawnMapThing");
|
|||
static FRandom pr_spawnpuff ("SpawnPuff");
|
||||
static FRandom pr_spawnblood ("SpawnBlood");
|
||||
static FRandom pr_splatter ("BloodSplatter");
|
||||
static FRandom pr_takedamage ("TakeDamage");
|
||||
static FRandom pr_ripperblood ("RipperBlood");
|
||||
static FRandom pr_chunk ("Chunk");
|
||||
static FRandom pr_checkmissilespawn ("CheckMissileSpawn");
|
||||
|
|
@ -3051,6 +3052,7 @@ AActor *AActor::StaticSpawn (const TypeInfo *type, fixed_t ix, fixed_t iy, fixed
|
|||
actor->frame = st->GetFrame();
|
||||
actor->renderflags = (actor->renderflags & ~RF_FULLBRIGHT) | st->GetFullbright();
|
||||
actor->touching_sectorlist = NULL; // NULL head of sector list // phares 3/13/98
|
||||
actor->Speed = actor->GetClass()->Meta.GetMetaFixed(AMETA_FastSpeed, actor->Speed);
|
||||
|
||||
// set subsector and/or block links
|
||||
actor->LinkToWorld (SpawningMapThing);
|
||||
|
|
@ -4595,6 +4597,16 @@ int AActor::DoSpecialDamage (AActor *target, int damage)
|
|||
}
|
||||
else
|
||||
{
|
||||
if (target->player)
|
||||
{
|
||||
int poisondamage = GetClass()->Meta.GetMetaInt(AMETA_PoisonDamage);
|
||||
if (poisondamage > 0)
|
||||
{
|
||||
P_PoisonPlayer (target->player, this, this->target, poisondamage);
|
||||
damage >>= 1;
|
||||
}
|
||||
}
|
||||
|
||||
return damage;
|
||||
}
|
||||
}
|
||||
|
|
@ -4607,6 +4619,16 @@ int AActor::TakeSpecialDamage (AActor *inflictor, AActor *source, int damage, in
|
|||
// it needs to work.
|
||||
FState *death;
|
||||
|
||||
if (flags5 & MF5_NODAMAGE)
|
||||
{
|
||||
target = source;
|
||||
if (PainState != NULL && pr_takedamage() < PainChance)
|
||||
{
|
||||
SetState (PainState);
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (DeathState != NULL)
|
||||
{
|
||||
return damage;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue