public void RemoveTargetInteraction(TargetTranslator.Translator target) { if (OtherInteraction.Contains(target)) { OtherInteraction.Remove(target); } }
public void RemoveTargetCooldown(TargetTranslator.Translator target) { if (ExtraTargetDamageCooldown.ContainsKey(target)) { ExtraTargetDamageCooldown.Remove(target); } }
public void ApplyTargetInteraction(TargetTranslator.Translator target) { if (!OtherInteraction.Contains(target)) { OtherInteraction.Add(target); } }
public bool ContainsTargetInteraction(TargetTranslator.Translator target) { foreach (TargetTranslator.Translator Targets in OtherInteraction) { if (Targets == target) { return(true); } } return(false); }
public void ApplyCooldownToTarget(TargetTranslator.Translator target, int CooldownTime) { foreach (TargetTranslator.Translator key in ExtraTargetDamageCooldown.Keys) { if (key == target) { ExtraTargetDamageCooldown[key] = CooldownTime; return; } } ExtraTargetDamageCooldown.Add(target, CooldownTime); }
public int HurtTarget(TargetTranslator.Translator target, int Damage, int DamageDirection, float Knockback, int Cooldown = 8, bool Critical = false) { foreach (TargetTranslator.Translator Keys in ExtraTargetDamageCooldown.Keys) { if (Keys == target) { return(0); } } if (target.Immunity) { return(0); } int NewDamage = Damage - target.Defense / 2; if (NewDamage < 1) { NewDamage = 1; } if (Critical) { NewDamage *= 2; } target.Health -= NewDamage; if (target.Health <= 0) { target.Kill(NewDamage, DamageDirection, true, " was slain..."); } else { target.PlayHurtSound(); target.ApplyKnockback(Knockback, DamageDirection); target.HitEffect(NewDamage, DamageDirection); } CombatText.NewText(target.GetRectangle, Microsoft.Xna.Framework.Color.MediumPurple, NewDamage); ApplyCooldownToTarget(target, Cooldown); return(NewDamage); }
public bool ContainsTargetCooldown(TargetTranslator.Translator target) { return(ExtraTargetDamageCooldown.ContainsKey(target)); }