Husk infections, manually attacking when controlling a creature

This commit is contained in:
Regalis
2016-08-26 20:52:44 +03:00
parent 3d2d06d2e5
commit e2885a912d
19 changed files with 586 additions and 84 deletions
+8 -6
View File
@@ -136,22 +136,24 @@ namespace Barotrauma
{
sound.Play(1.0f, 500.0f, worldPosition);
}
var attackResult = target.AddDamage(attacker, worldPosition, this, deltaTime, playSound);
var effectType = attackResult.Damage > 0.0f ? ActionType.OnUse : ActionType.OnFailure;
foreach (StatusEffect effect in statusEffects)
{
if (effect.Targets.HasFlag(StatusEffect.TargetType.This) && attacker is Character)
{
effect.Apply(ActionType.OnUse, deltaTime, (Character)attacker, (Character)attacker);
effect.Apply(effectType, deltaTime, (Character)attacker, (Character)attacker);
}
if (effect.Targets.HasFlag(StatusEffect.TargetType.Character) && target is Character)
{
effect.Apply(ActionType.OnUse, deltaTime, (Character)target, (Character)target);
}
effect.Apply(effectType, deltaTime, (Character)target, (Character)target);
}
}
return target.AddDamage(attacker, worldPosition, this, deltaTime, playSound);
return attackResult;
}
}
}