mirror of
https://github.com/ZDoom/qzdoom.git
synced 2025-02-21 11:21:04 +00:00
- Fixed: Monster reaction time was always zero with fast monsters and not just on nightmare.
This commit is contained in:
parent
f384c7bc1f
commit
4ff72e937f
8 changed files with 18 additions and 1 deletions
|
@ -476,6 +476,7 @@ enum ESkillProperty
|
||||||
SKILLP_Infight,
|
SKILLP_Infight,
|
||||||
SKILLP_PlayerRespawn,
|
SKILLP_PlayerRespawn,
|
||||||
SKILLP_SpawnMulti,
|
SKILLP_SpawnMulti,
|
||||||
|
SKILLP_InstantReaction,
|
||||||
};
|
};
|
||||||
enum EFSkillProperty // floating point properties
|
enum EFSkillProperty // floating point properties
|
||||||
{
|
{
|
||||||
|
@ -520,6 +521,7 @@ struct FSkillInfo
|
||||||
double Aggressiveness;
|
double Aggressiveness;
|
||||||
int SpawnFilter;
|
int SpawnFilter;
|
||||||
bool SpawnMulti;
|
bool SpawnMulti;
|
||||||
|
bool InstantReaction;
|
||||||
int ACSReturn;
|
int ACSReturn;
|
||||||
FString MenuName;
|
FString MenuName;
|
||||||
FString PicName;
|
FString PicName;
|
||||||
|
|
|
@ -77,6 +77,7 @@ void FMapInfoParser::ParseSkill ()
|
||||||
skill.Aggressiveness = 1.;
|
skill.Aggressiveness = 1.;
|
||||||
skill.SpawnFilter = 0;
|
skill.SpawnFilter = 0;
|
||||||
skill.SpawnMulti = false;
|
skill.SpawnMulti = false;
|
||||||
|
skill.InstantReaction = false;
|
||||||
skill.ACSReturn = 0;
|
skill.ACSReturn = 0;
|
||||||
skill.MustConfirm = false;
|
skill.MustConfirm = false;
|
||||||
skill.Shortcut = 0;
|
skill.Shortcut = 0;
|
||||||
|
@ -197,6 +198,10 @@ void FMapInfoParser::ParseSkill ()
|
||||||
{
|
{
|
||||||
skill.SpawnMulti = true;
|
skill.SpawnMulti = true;
|
||||||
}
|
}
|
||||||
|
else if (sc.Compare ("InstantReaction"))
|
||||||
|
{
|
||||||
|
skill.InstantReaction = true;
|
||||||
|
}
|
||||||
else if (sc.Compare("ACSReturn"))
|
else if (sc.Compare("ACSReturn"))
|
||||||
{
|
{
|
||||||
ParseAssign();
|
ParseAssign();
|
||||||
|
@ -400,8 +405,12 @@ int G_SkillProperty(ESkillProperty prop)
|
||||||
|
|
||||||
case SKILLP_PlayerRespawn:
|
case SKILLP_PlayerRespawn:
|
||||||
return AllSkills[gameskill].PlayerRespawn;
|
return AllSkills[gameskill].PlayerRespawn;
|
||||||
|
|
||||||
case SKILLP_SpawnMulti:
|
case SKILLP_SpawnMulti:
|
||||||
return AllSkills[gameskill].SpawnMulti;
|
return AllSkills[gameskill].SpawnMulti;
|
||||||
|
|
||||||
|
case SKILLP_InstantReaction:
|
||||||
|
return AllSkills[gameskill].InstantReaction;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -540,6 +549,7 @@ FSkillInfo &FSkillInfo::operator=(const FSkillInfo &other)
|
||||||
Aggressiveness= other.Aggressiveness;
|
Aggressiveness= other.Aggressiveness;
|
||||||
SpawnFilter = other.SpawnFilter;
|
SpawnFilter = other.SpawnFilter;
|
||||||
SpawnMulti = other.SpawnMulti;
|
SpawnMulti = other.SpawnMulti;
|
||||||
|
InstantReaction = other.InstantReaction;
|
||||||
ACSReturn = other.ACSReturn;
|
ACSReturn = other.ACSReturn;
|
||||||
MenuName = other.MenuName;
|
MenuName = other.MenuName;
|
||||||
PicName = other.PicName;
|
PicName = other.PicName;
|
||||||
|
|
|
@ -4477,7 +4477,7 @@ void ConstructActor(AActor *actor, const DVector3 &pos, bool SpawningMapThing)
|
||||||
|
|
||||||
FRandom &rng = Level->BotInfo.m_Thinking ? pr_botspawnmobj : pr_spawnmobj;
|
FRandom &rng = Level->BotInfo.m_Thinking ? pr_botspawnmobj : pr_spawnmobj;
|
||||||
|
|
||||||
if (actor->isFast() && actor->flags3 & MF3_ISMONSTER)
|
if (!!G_SkillProperty(SKILLP_InstantReaction) && actor->flags3 & MF3_ISMONSTER)
|
||||||
actor->reactiontime = 0;
|
actor->reactiontime = 0;
|
||||||
|
|
||||||
if (actor->flags3 & MF3_ISMONSTER)
|
if (actor->flags3 & MF3_ISMONSTER)
|
||||||
|
|
|
@ -183,6 +183,7 @@ skill nightmare
|
||||||
{
|
{
|
||||||
AmmoFactor = 2
|
AmmoFactor = 2
|
||||||
FastMonsters
|
FastMonsters
|
||||||
|
InstantReaction
|
||||||
DisableCheats
|
DisableCheats
|
||||||
RespawnTime = 12
|
RespawnTime = 12
|
||||||
SpawnFilter = Nightmare
|
SpawnFilter = Nightmare
|
||||||
|
|
|
@ -217,6 +217,7 @@ skill nightmare
|
||||||
{
|
{
|
||||||
AmmoFactor = 2
|
AmmoFactor = 2
|
||||||
FastMonsters
|
FastMonsters
|
||||||
|
InstantReaction
|
||||||
DisableCheats
|
DisableCheats
|
||||||
RespawnTime = 12
|
RespawnTime = 12
|
||||||
SpawnFilter = Nightmare
|
SpawnFilter = Nightmare
|
||||||
|
|
|
@ -315,6 +315,7 @@ skill nightmare
|
||||||
AmmoFactor = 1.5
|
AmmoFactor = 1.5
|
||||||
DoubleAmmoFactor = 1.5
|
DoubleAmmoFactor = 1.5
|
||||||
FastMonsters
|
FastMonsters
|
||||||
|
InstantReaction
|
||||||
DisableCheats
|
DisableCheats
|
||||||
SpawnFilter = Nightmare
|
SpawnFilter = Nightmare
|
||||||
Name = "$MNU_BLACKPLAGUE"
|
Name = "$MNU_BLACKPLAGUE"
|
||||||
|
|
|
@ -456,6 +456,7 @@ skill nightmare
|
||||||
AmmoFactor = 1.5
|
AmmoFactor = 1.5
|
||||||
DoubleAmmoFactor = 1.5
|
DoubleAmmoFactor = 1.5
|
||||||
FastMonsters
|
FastMonsters
|
||||||
|
InstantReaction
|
||||||
DisableCheats
|
DisableCheats
|
||||||
SpawnFilter = Nightmare
|
SpawnFilter = Nightmare
|
||||||
Name = "$MNU_BLACKPLAGUE"
|
Name = "$MNU_BLACKPLAGUE"
|
||||||
|
|
|
@ -963,6 +963,7 @@ enum ESkillProperty
|
||||||
SKILLP_Infight,
|
SKILLP_Infight,
|
||||||
SKILLP_PlayerRespawn,
|
SKILLP_PlayerRespawn,
|
||||||
SKILLP_SpawnMulti,
|
SKILLP_SpawnMulti,
|
||||||
|
SKILLP_InstantReaction,
|
||||||
};
|
};
|
||||||
enum EFSkillProperty // floating point properties
|
enum EFSkillProperty // floating point properties
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue