def hitTarget(self, target, angle, attack, damageMod): from Code.Units.Stats import calcKnockback #(self, unit, damageSource, damageType, totalDamage, timeBetweenDamage, timesToDamage) timeBetweenDamage = 10 timesToDamage = 10 target.addBuff(Buffs.DamageBuff(self, target, self.owner, self.DamageType, self.Damage, timeBetweenDamage, timesToDamage)) target.addKnockback(calcKnockback(angle, target, self.getKnockbackAmount(target))) PTRS["EFFECTS"].addEffect(Effects.SpellEffect("Ignite", target.getPos(), target.floor, 40, True, None, target))
def explodeAt(self, tPos, target, angle): from Code.Units.Stats import calcKnockback for u in PTRS["UNITS"].getTargets(self.owner.team, False, True): d = dist(u.getPos(), tPos) if d <= u.size + self.AoE: if target is u: ang = angle else: ang = math.atan2(u.getPos()[1] - tPos[1], u.getPos()[0] - tPos[0]) amount = u.addDamage(self.calcDamage(self.owner, u, self.owner.getStat("attack"), 1), self.owner, self.getDamageType(), stunFactor = self.getStunFactor()) u.addKnockback(calcKnockback(ang, u, self.getKnockbackAmount(u))) u.addBuff(Buffs.StatBuff(self, u, 200, {"moveSpeed":0.5})) self.owner.hitTarget(u, amount)
def hitTarget(self, target, angle, attack, damageMod): from Code.Units.Stats import calcKnockback amount = target.addDamage(self.calcDamage(self.owner, target, attack, damageMod), self.owner, self.getDamageType(), stunFactor = self.getStunFactor()) self.hitsLeft -= 1 target.addKnockback(calcKnockback(angle, target, self.getKnockbackAmount(target))) self.owner.hitTarget(target, amount)