public bool ExecuteAttack(Vector3 tileCoords, int dmgMod, int rangeMod) { Transform target = TileSystem.ObjectAtTile(tileCoords); if (target != null && TileSystem.TileDistance(target.position, actorPosition.position) <= (range + rangeMod)) { ICanBeDamaged victim = target.GetComponent <ICanBeDamaged>(); if (victim != null) { victim.TakeDamage(damage + dmgMod); return(true); } } return(false); }
public override bool ExecuteAttack(Vector3 tileCoords, int modifier) { Transform actorPosition = gameObject.transform; Transform target = TileSystem.ObjectAtTile(tileCoords); if (target != null && TileSystem.TileDistance(target.position, actorPosition.position) <= range) { ICanBeDamaged victim = target.GetComponent <ICanBeDamaged>(); if (victim != null) { victim.TakeDamage(damage * modifier); return(true); } } return(false); }