- Fixed: Resurrecting a player must set mo->special1 to 0 because it is used
as a counter by the Hexen fighter's fist weapon. - Fixed: The Wraithwerge's spirits shouldn't attack friends. - Fixed: The Heresiarch's balls must not adjust their z-position after the Heresiarch dies. - Added damage type specific pain chances and an MF5_NOPAIN flag that can be used to suppress entering the pain state altogether. - Changed font initialization so that you can define replacements for the default fonts in FONTDEFS. - Removed the 'add a bot' menu option since bots are beyond repair and therefore mostly useless. - Fixed: Hitscan attacks must always spawn a puff so that it and its properties can be used as damage inflictor. SVN r534 (trunk)
This commit is contained in:
parent
73f96e1df6
commit
87383a32c6
13 changed files with 114 additions and 34 deletions
|
|
@ -229,6 +229,7 @@ static flagdef ActorFlags[]=
|
|||
DEFINE_FLAG(MF5, PIERCEARMOR, AActor, flags5),
|
||||
DEFINE_FLAG(MF5, NOBLOODDECALS, AActor, flags5),
|
||||
DEFINE_FLAG(MF5, USESPECIAL, AActor, flags5),
|
||||
DEFINE_FLAG(MF5, NOPAIN, AActor, flags5),
|
||||
|
||||
// Effect flags
|
||||
DEFINE_FLAG(FX, VISIBILITYPULSE, AActor, effects),
|
||||
|
|
@ -1181,6 +1182,12 @@ static FActorInfo * CreateNewActor(FActorInfo ** parentc, Baggage *bag)
|
|||
info->DamageFactors = new DmgFactors;
|
||||
*info->DamageFactors = *parent->ActorInfo->DamageFactors;
|
||||
}
|
||||
if (parent->ActorInfo->PainChances != NULL)
|
||||
{
|
||||
// copy pain chances from parent
|
||||
info->PainChances = new PainChanceList;
|
||||
*info->PainChances = *parent->ActorInfo->PainChances;
|
||||
}
|
||||
|
||||
// Check for "replaces"
|
||||
SC_MustGetString ();
|
||||
|
|
@ -2552,7 +2559,18 @@ static void ActorReactionTime (AActor *defaults, Baggage &bag)
|
|||
//==========================================================================
|
||||
static void ActorPainChance (AActor *defaults, Baggage &bag)
|
||||
{
|
||||
SC_MustGetNumber();
|
||||
if (!SC_CheckNumber())
|
||||
{
|
||||
FName painType;
|
||||
if (SC_Compare("Normal")) painType = NAME_None;
|
||||
else painType=sc_String;
|
||||
SC_MustGetToken(',');
|
||||
SC_MustGetNumber();
|
||||
|
||||
if (bag.Info->PainChances == NULL) bag.Info->PainChances=new PainChanceList;
|
||||
(*bag.Info->PainChances)[painType] = (BYTE)sc_Number;
|
||||
return;
|
||||
}
|
||||
defaults->PainChance=sc_Number;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue