mirror of
https://github.com/ZDoom/gzdoom.git
synced 2024-11-13 07:57:52 +00:00
- use '|', not '+' to combine flags.
There's probably going to be more of these coming...
This commit is contained in:
parent
c78fdae31d
commit
602f541e31
1 changed files with 11 additions and 10 deletions
|
@ -5234,17 +5234,17 @@ static void DoDamage(AActor *dmgtarget, AActor *self, int amount, FName DamageTy
|
||||||
{
|
{
|
||||||
int dmgFlags = 0;
|
int dmgFlags = 0;
|
||||||
if (flags & DMSS_FOILINVUL)
|
if (flags & DMSS_FOILINVUL)
|
||||||
dmgFlags += DMG_FOILINVUL;
|
dmgFlags |= DMG_FOILINVUL;
|
||||||
if (flags & DMSS_FOILBUDDHA)
|
if (flags & DMSS_FOILBUDDHA)
|
||||||
dmgFlags += DMG_FOILBUDDHA;
|
dmgFlags |= DMG_FOILBUDDHA;
|
||||||
if ((flags & DMSS_KILL) || (flags & DMSS_NOFACTOR)) //Kill implies NoFactor
|
if (flags & (DMSS_KILL | DMSS_NOFACTOR)) //Kill implies NoFactor
|
||||||
dmgFlags += DMG_NO_FACTOR;
|
dmgFlags |= DMG_NO_FACTOR;
|
||||||
if (!(flags & DMSS_AFFECTARMOR) || (flags & DMSS_KILL)) //Kill overrides AffectArmor
|
if (!(flags & DMSS_AFFECTARMOR) || (flags & DMSS_KILL)) //Kill overrides AffectArmor
|
||||||
dmgFlags += DMG_NO_ARMOR;
|
dmgFlags |= DMG_NO_ARMOR;
|
||||||
if (flags & DMSS_KILL) //Kill adds the value of the damage done to it. Allows for more controlled extreme death types.
|
if (flags & DMSS_KILL) //Kill adds the value of the damage done to it. Allows for more controlled extreme death types.
|
||||||
amount += dmgtarget->health;
|
amount += dmgtarget->health;
|
||||||
if (flags & DMSS_NOPROTECT) //Ignore PowerProtection.
|
if (flags & DMSS_NOPROTECT) //Ignore PowerProtection.
|
||||||
dmgFlags += DMG_NO_PROTECT;
|
dmgFlags |= DMG_NO_PROTECT;
|
||||||
|
|
||||||
if (amount > 0)
|
if (amount > 0)
|
||||||
P_DamageMobj(dmgtarget, self, self, amount, DamageType, dmgFlags); //Should wind up passing them through just fine.
|
P_DamageMobj(dmgtarget, self, self, amount, DamageType, dmgFlags); //Should wind up passing them through just fine.
|
||||||
|
@ -5412,12 +5412,12 @@ static void DoKill(AActor *killtarget, AActor *self, FName damagetype, int flags
|
||||||
speciespass = DoCheckSpecies(killtarget, species, (flags & KILS_EXSPECIES) ? true : false);
|
speciespass = DoCheckSpecies(killtarget, species, (flags & KILS_EXSPECIES) ? true : false);
|
||||||
if ((flags & KILS_EITHER) ? (filterpass || speciespass) : (filterpass && speciespass)) //Check this first. I think it'll save the engine a lot more time this way.
|
if ((flags & KILS_EITHER) ? (filterpass || speciespass) : (filterpass && speciespass)) //Check this first. I think it'll save the engine a lot more time this way.
|
||||||
{
|
{
|
||||||
int dmgFlags = DMG_NO_ARMOR + DMG_NO_FACTOR;
|
int dmgFlags = DMG_NO_ARMOR | DMG_NO_FACTOR;
|
||||||
|
|
||||||
if (KILS_FOILINVUL)
|
if (KILS_FOILINVUL)
|
||||||
dmgFlags += DMG_FOILINVUL;
|
dmgFlags |= DMG_FOILINVUL;
|
||||||
if (KILS_FOILBUDDHA)
|
if (KILS_FOILBUDDHA)
|
||||||
dmgFlags += DMG_FOILBUDDHA;
|
dmgFlags |= DMG_FOILBUDDHA;
|
||||||
|
|
||||||
|
|
||||||
if ((killtarget->flags & MF_MISSILE) && (flags & KILS_KILLMISSILES))
|
if ((killtarget->flags & MF_MISSILE) && (flags & KILS_KILLMISSILES))
|
||||||
|
@ -5426,7 +5426,8 @@ static void DoKill(AActor *killtarget, AActor *self, FName damagetype, int flags
|
||||||
//Check to see if it's invulnerable. Disregarded if foilinvul is on, but never works on a missile with NODAMAGE
|
//Check to see if it's invulnerable. Disregarded if foilinvul is on, but never works on a missile with NODAMAGE
|
||||||
//since that's the whole point of it.
|
//since that's the whole point of it.
|
||||||
if ((!(killtarget->flags2 & MF2_INVULNERABLE) || (flags & KILS_FOILINVUL)) &&
|
if ((!(killtarget->flags2 & MF2_INVULNERABLE) || (flags & KILS_FOILINVUL)) &&
|
||||||
(!(killtarget->flags2 & MF7_BUDDHA) || (flags & KILS_FOILBUDDHA)) && !(killtarget->flags5 & MF5_NODAMAGE))
|
(!(killtarget->flags2 & MF7_BUDDHA) || (flags & KILS_FOILBUDDHA)) &&
|
||||||
|
!(killtarget->flags5 & MF5_NODAMAGE))
|
||||||
{
|
{
|
||||||
P_ExplodeMissile(killtarget, NULL, NULL);
|
P_ExplodeMissile(killtarget, NULL, NULL);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue