Exemple #1
0
 public Summon(Character owner, Skill skill, Point summonPos, SummonMovementType movementType)
 {
     this.movementType             = movementType;
     this.summonOwner              = owner;
     this.Map                      = owner.Map;
     this.summonSkill              = skill;
     this.summonSkill.CurrentLevel = skill.MaxLevel;
     this.Position                 = summonPos;
     spawned = false;
 }
Exemple #2
0
 public MapleSummon(MapleCharacter owner, int skill, Point pos, SummonMovementType movementType)
 {
     Owner      = owner;
     SkillId    = skill;
     SkillLevel = owner.GetSkillLevel(SkillFactory.GetSkill(skill));
     if (SkillLevel == 0)
     {
         Console.WriteLine("Trying to create a summon for a char without the skill");
     }
     MovementType = movementType;
     Position     = pos;
 }
 public MapleSummon(int objectId, int sourceSkillId, Point position, SummonType type, SummonMovementType movementType, MapleCharacter owner, byte skillLevel, uint durationMS)
 {
     ObjectId        = objectId;
     SourceSkillId   = sourceSkillId;
     Position        = position;
     Owner           = owner;
     SkillLevel      = skillLevel;
     Type            = type;
     MovementType    = movementType;
     HP              = 0;
     LastAbilityTime = DateTime.FromFileTime(0);
     if (durationMS > 0)
     {
         CancelSchedule = Scheduler.ScheduleRemoveSummon(owner, sourceSkillId, durationMS);
     }
 }
Exemple #4
0
        public static SummonMovementType GetSummonMovementType(Skill summonSkill)
        {
            SummonMovementType summonMovementType = SummonMovementType.Follow;

            switch (summonSkill.MapleID)
            {
                #region stationary
            case (int)SkillNames.Ranger.Puppet:
                summonMovementType = SummonMovementType.Stationary;
                break;

            case (int)SkillNames.Sniper.Puppet:
                summonMovementType = SummonMovementType.Stationary;
                break;

            case (int)SkillNames.WindArcher3.Puppet:
                summonMovementType = SummonMovementType.Stationary;
                break;

            case (int)SkillNames.Outlaw.Octopus:
                summonMovementType = SummonMovementType.Stationary;
                break;

            case (int)SkillNames.Corsair.WrathoftheOctopi:
                summonMovementType = SummonMovementType.Stationary;
                break;
                #endregion

                #region circle
            case (int)SkillNames.Bowmaster.Phoenix:
                summonMovementType = SummonMovementType.CircleFollow;
                break;

            case (int)SkillNames.Marksman.Frostprey:
                summonMovementType = SummonMovementType.CircleFollow;
                break;
                #endregion

                #region teleport
            case (int)SkillNames.FirePoisonArchMage.Elquines:
                summonMovementType = SummonMovementType.TeleportFollow;
                break;

            case (int)SkillNames.IceLightningArchMage.Ifrit:
                summonMovementType = SummonMovementType.TeleportFollow;
                break;

            case (int)SkillNames.Priest.SummonDragon:
                summonMovementType = SummonMovementType.TeleportFollow;
                break;

            case (int)SkillNames.Bishop.Bahamut:
                summonMovementType = SummonMovementType.TeleportFollow;
                break;

            case (int)SkillNames.BlazeWizard3.Ifrit:
                summonMovementType = SummonMovementType.TeleportFollow;
                break;
                #endregion

                #region follow
            case (int)SkillNames.DarkKnight.Beholder:
                summonMovementType = SummonMovementType.Follow;
                break;

            case (int)SkillNames.BlazeWizard.Flame:
                summonMovementType = SummonMovementType.Follow;
                break;

            case (int)SkillNames.DawnWarrior.Soul:
                summonMovementType = SummonMovementType.Follow;
                break;

            case (int)SkillNames.WindArcher.Storm:
                summonMovementType = SummonMovementType.Follow;
                break;

            case (int)SkillNames.NightWalker.Darkness:
                summonMovementType = SummonMovementType.Follow;
                break;

            case (int)SkillNames.ThunderBreaker.LightningSprite:
                summonMovementType = SummonMovementType.Follow;
                break;
                #endregion

            default:
                summonMovementType = SummonMovementType.Follow;
                break;
            }

            return(summonMovementType);
        }