예제 #1
0
        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);
        }
예제 #2
0
        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);
        }