public override int apply(object target, StatusEffectTimes sType) { if (sType == StatusEffectTimes.ONDAMAGE) { float t = float.Parse(target.ToString() + ".0"); // HAXXXXXX int dmgMod = (int)Math.Ceiling(t + (t * 0.5)); return(dmgMod); } if (sType == StatusEffectTimes.ONTAKEDAMAGE) { float t = float.Parse(target.ToString() + ".0"); int dmgMod = (int)Math.Floor(t + (t * 0.25)); return(dmgMod); } else { throw new NotImplementedException(); // shouldnt hit this if caller is doing it right } }
// Apply the affect by checking phase public abstract int apply(object target, StatusEffectTimes sType);