mirror of
https://github.com/ZDoom/gzdoom-gles.git
synced 2024-11-25 13:41:05 +00:00
- Keep all damage factors in the table, even those that are 1.0.
- 256 is a valid pain chance, so clamp to that, not 255. SVN r2237 (trunk)
This commit is contained in:
parent
d1f9b94743
commit
0ca693771b
3 changed files with 6 additions and 11 deletions
13
src/info.cpp
13
src/info.cpp
|
@ -273,17 +273,12 @@ FActorInfo *FActorInfo::GetReplacee (bool lookskill)
|
||||||
|
|
||||||
void FActorInfo::SetDamageFactor(FName type, fixed_t factor)
|
void FActorInfo::SetDamageFactor(FName type, fixed_t factor)
|
||||||
{
|
{
|
||||||
if (factor != FRACUNIT)
|
if (DamageFactors == NULL)
|
||||||
{
|
{
|
||||||
if (DamageFactors == NULL) DamageFactors=new DmgFactors;
|
DamageFactors = new DmgFactors;
|
||||||
|
}
|
||||||
DamageFactors->Insert(type, factor);
|
DamageFactors->Insert(type, factor);
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
if (DamageFactors != NULL)
|
|
||||||
DamageFactors->Remove(type);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//==========================================================================
|
//==========================================================================
|
||||||
//
|
//
|
||||||
|
@ -295,7 +290,7 @@ void FActorInfo::SetPainChance(FName type, int chance)
|
||||||
if (chance >= 0)
|
if (chance >= 0)
|
||||||
{
|
{
|
||||||
if (PainChances == NULL) PainChances=new PainChanceList;
|
if (PainChances == NULL) PainChances=new PainChanceList;
|
||||||
PainChances->Insert(type, MIN(chance, 255));
|
PainChances->Insert(type, MIN(chance, 256));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
@ -158,7 +158,7 @@ struct FPlayerColorSet
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef TMap<FName, fixed_t> DmgFactors;
|
typedef TMap<FName, fixed_t> DmgFactors;
|
||||||
typedef TMap<FName, BYTE> PainChanceList;
|
typedef TMap<FName, int> PainChanceList;
|
||||||
typedef TMap<int, FPlayerColorSet> FPlayerColorSetMap;
|
typedef TMap<int, FPlayerColorSet> FPlayerColorSetMap;
|
||||||
|
|
||||||
struct FActorInfo
|
struct FActorInfo
|
||||||
|
|
|
@ -1285,7 +1285,7 @@ void P_DamageMobj (AActor *target, AActor *inflictor, AActor *source, int damage
|
||||||
painchance = target->PainChance;
|
painchance = target->PainChance;
|
||||||
if (pc != NULL)
|
if (pc != NULL)
|
||||||
{
|
{
|
||||||
BYTE * ppc = pc->CheckKey(mod);
|
int *ppc = pc->CheckKey(mod);
|
||||||
if (ppc != NULL)
|
if (ppc != NULL)
|
||||||
{
|
{
|
||||||
painchance = *ppc;
|
painchance = *ppc;
|
||||||
|
|
Loading…
Reference in a new issue