public Summon(Character owner, Skill skill, Point summonPos, SummonConstants.SummonMovementType movementType) { MovementType = movementType; SummonOwner = owner; Map = owner.Map; SummonSkill = skill; SummonSkill.CurrentLevel = skill.MaxLevel; Position = summonPos; spawned = false; }
public static SummonConstants.SummonMovementType GetSummonMovementType(Skill summonSkill) { SummonConstants.SummonMovementType summonMovementType = SummonConstants.SummonMovementType.Follow; switch (summonSkill.MapleID) { #region stationary case (int)CharacterConstants.SkillNames.Ranger.Puppet: summonMovementType = SummonConstants.SummonMovementType.Stationary; break; case (int)CharacterConstants.SkillNames.Sniper.Puppet: summonMovementType = SummonConstants.SummonMovementType.Stationary; break; case (int)CharacterConstants.SkillNames.WindArcher3.Puppet: summonMovementType = SummonConstants.SummonMovementType.Stationary; break; case (int)CharacterConstants.SkillNames.Outlaw.Octopus: summonMovementType = SummonConstants.SummonMovementType.Stationary; break; case (int)CharacterConstants.SkillNames.Corsair.WrathoftheOctopi: summonMovementType = SummonConstants.SummonMovementType.Stationary; break; #endregion #region circle case (int)CharacterConstants.SkillNames.Bowmaster.Phoenix: summonMovementType = SummonConstants.SummonMovementType.CircleFollow; break; case (int)CharacterConstants.SkillNames.Marksman.Frostprey: summonMovementType = SummonConstants.SummonMovementType.CircleFollow; break; #endregion #region teleport case (int)CharacterConstants.SkillNames.FirePoisonArchMage.Elquines: summonMovementType = SummonConstants.SummonMovementType.TeleportFollow; break; case (int)CharacterConstants.SkillNames.IceLightningArchMage.Ifrit: summonMovementType = SummonConstants.SummonMovementType.TeleportFollow; break; case (int)CharacterConstants.SkillNames.Priest.SummonDragon: summonMovementType = SummonConstants.SummonMovementType.TeleportFollow; break; case (int)CharacterConstants.SkillNames.Bishop.Bahamut: summonMovementType = SummonConstants.SummonMovementType.TeleportFollow; break; case (int)CharacterConstants.SkillNames.BlazeWizard3.Ifrit: summonMovementType = SummonConstants.SummonMovementType.TeleportFollow; break; #endregion #region follow case (int)CharacterConstants.SkillNames.DarkKnight.Beholder: summonMovementType = SummonConstants.SummonMovementType.Follow; break; case (int)CharacterConstants.SkillNames.BlazeWizard.Flame: summonMovementType = SummonConstants.SummonMovementType.Follow; break; case (int)CharacterConstants.SkillNames.DawnWarrior.Soul: summonMovementType = SummonConstants.SummonMovementType.Follow; break; case (int)CharacterConstants.SkillNames.WindArcher.Storm: summonMovementType = SummonConstants.SummonMovementType.Follow; break; case (int)CharacterConstants.SkillNames.NightWalker.Darkness: summonMovementType = SummonConstants.SummonMovementType.Follow; break; case (int)CharacterConstants.SkillNames.ThunderBreaker.LightningSprite: summonMovementType = SummonConstants.SummonMovementType.Follow; break; #endregion default: summonMovementType = SummonConstants.SummonMovementType.Follow; break; } return(summonMovementType); }