public override IActiveEffect OnCast(Farmer player, int level, int targetX, int targetY) { TendrilGroup tendrils = new TendrilGroup(); foreach (var npc in player.currentLocation.characters) { if (npc is Monster mob) { float rad = Game1.tileSize; int dur = 11 * 60; if (Vector2.Distance(mob.position, new Vector2(targetX, targetY)) <= rad) { tendrils.Add(new Tendril(mob, new Vector2(targetX, targetY), rad, dur)); player.AddCustomSkillExperience(Magic.Skill, 3); } } } return(tendrils.Any() ? tendrils : null); }
public override IActiveEffect onCast(Farmer player, int level, int targetX, int targetY) { TendrilGroup tendrils = new TendrilGroup(); foreach (var npc in player.currentLocation.characters) { if (npc is Monster mob) { float rad = (7 - level * 2) * Game1.tileSize / 2; int dur = (level * 2 + 5) * 60; if (Vector2.Distance(mob.position, new Vector2(targetX, targetY)) <= rad) { tendrils.Add(new Tendril(mob, new Vector2(targetX, targetY), rad, dur)); player.addMagicExp(3); } } } return(tendrils.Any() ? tendrils : null); }