Beispiel #1
0
	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))
Beispiel #2
0
	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)
Beispiel #3
0
	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)