SpawnMe() public method

public SpawnMe ( ) : void
return void
示例#1
0
        private void spawnMob(List <string> parameters)
        {
            obj o = this.getMob(Int32.Parse(parameters[0]), parameters);

            Systems.Objects.Add(o);
            o.SpawnMe();
        }
示例#2
0
 public static void IVY(object e)
 {
     try
     {
         if (!Ivy)
         {
             obj o = CapIvy[rnd.Next(0, CapIvy.Count)];
             Systems.Objects.Add(o);
             o.SpawnMe();
             Systems.SendAll(Packet.Unique_Data(5, (int)o.ID, null));
             Ivy = true;
             Console.WriteLine("Captain ivy spawn warp location : {0}{1}, {2}, {3}", o.xSec, o.ySec, o.x, o.y);
         }
     }
     catch (Exception ex)
     {
         Systems.Debugger.Write(ex);
     }
 }
示例#3
0
 public static void CERB(object e)
 {
     try
     {
         if (!Cerb)
         {
             obj o = Cerberus[rnd.Next(0, Cerberus.Count - 1)];
             Systems.Objects.Add(o);
             o.SpawnMe();
             Systems.SendAll(Packet.Unique_Data(5, (int)o.ID, null));
             Cerb = true;
             Console.WriteLine("Cerberus spawn warp location : {0}{1}, {2}, {3}", o.xSec, o.ySec, o.x, o.y);
         }
     }
     catch (Exception ex)
     {
         Systems.Debugger.Write(ex);
     }
 }
示例#4
0
 public static void DEMON(object e)
 {
     try
     {
         if (!Demon)
         {
             obj o = DemonShaitan[rnd.Next(0, DemonShaitan.Count - 1)];
             Systems.Objects.Add(o);
             o.SpawnMe();
             Systems.SendAll(Packet.Unique_Data(5, (int)o.ID, null));
             Demon = true;
             Console.WriteLine("Demon Shaitan spawn warp location : {0}{1}, {2}, {3}", o.xSec, o.ySec, o.x, o.y);
         }
     }
     catch (Exception ex)
     {
         Systems.Debugger.Write(ex);
     }
 }
示例#5
0
 public static void ISY(object e)
 {
     try
     {
         if (!Isy)
         {
             obj o = Isytaru[rnd.Next(0, Isytaru.Count - 1)];
             Systems.Objects.Add(o);
             o.SpawnMe();
             Systems.SendAll(Packet.Unique_Data(5, (int)o.ID, null));
             Isy = true;
             Console.WriteLine("Isytaru spawn warp location : {0}{1}, {2}, {3}", o.xSec, o.ySec, o.x, o.y);
         }
     }
     catch (Exception ex)
     {
         Systems.Debugger.Write(ex);
     }
 }
示例#6
0
 public static void URI(object e)
 {
     try
     {
         if (!Uri)
         {
             obj o = Urichi[rnd.Next(0, Urichi.Count - 1)];
             Systems.Objects.Add(o);
             o.SpawnMe();
             Systems.SendAll(Packet.Unique_Data(5, (int)o.ID, null));
             Uri = true;
             Console.WriteLine("Urichi spawn warp location : {0}{1}, {2}, {3}", o.xSec, o.ySec, o.x, o.y);
         }
     }
     catch (Exception ex)
     {
         Systems.Debugger.Write(ex);
     }
 }
示例#7
0
 public static void TG(object e)
 {
     try
     {
         if (!Tiger)
         {
             obj o = TigerGirl[rnd.Next(0, TigerGirl.Count - 1)];
             Systems.Objects.Add(o);
             o.SpawnMe();
             Systems.SendAll(Packet.Unique_Data(5, (int)o.ID, null));
             Tiger = true;
             Console.WriteLine("Tiger girl spawn warp location : {0}{1}, {2}, {3}", o.xSec, o.ySec, o.x, o.y);
         }
     }
     catch (Exception ex)
     {
         Systems.Debugger.Write(ex);
     }
 }
示例#8
0
 public static void MEDUSA_CB(object e)
 {
     try
     {
         if (!Medusa_s)
         {
             obj o = Medusa[rnd.Next(0, Medusa.Count - 1)];
             Systems.Objects.Add(o);
             o.SpawnMe();
             Systems.SendAll(Packet.Unique_Data(5, (int)o.ID, null));
             Medusa_s = true;
             Console.WriteLine("Medusa spawn warp location : {0}{1}, {2}, {3}", o.xSec, o.ySec, o.x, o.y);
         }
     }
     catch (Exception ex)
     {
         Console.WriteLine("Medusa spawn error {0}", ex);
     }
 }
示例#9
0
 public static void ROC_CB(object e)
 {
     try
     {
         if (!Roc_s)
         {
             obj o = Roc[rnd.Next(0, Roc.Count)];
             Systems.Objects.Add(o);
             o.SpawnMe();
             Systems.SendAll(Packet.Unique_Data(5, (int)o.ID, null));
             Roc_s = true;
             Console.WriteLine("Roc spawn warp location : {0}{1}, {2}, {3}", o.xSec, o.ySec, o.x, o.y);
         }
     }
     catch (Exception ex)
     {
         Console.WriteLine("Roc spawn error {0}", ex);
     }
 }
示例#10
0
 public static void LORD(object e)
 {
     try
     {
         if (!Lord)
         {
             obj o = LordYarkan[rnd.Next(0, LordYarkan.Count - 1)];
             Systems.Objects.Add(o);
             o.SpawnMe();
             Systems.SendAll(Packet.Unique_Data(5, (int)o.ID, null));
             Lord = true;
             Console.WriteLine("Lord yarkan spawn warp location : {0}{1}, {2}, {3}", o.xSec, o.ySec, o.x, o.y);
         }
     }
     catch (Exception ex)
     {
         Systems.Debugger.Write(ex);
     }
 }
示例#11
0
        private void SpawnUnique(List <string> parameters)
        {
            obj o = new obj();

            switch ((Uniques)Int32.Parse(parameters[0]))
            {
            case Uniques.TigerGirl:     // INSERT SPAWN CODE HERE
                o = getMob(1954, parameters);
                Systems.Objects.Add(o);
                o.SpawnMe();
                Systems.SendAll(Packet.Unique_Data(5, (int)o.ID, null));
                break;

            case Uniques.Urichi:
                o = getMob(1982, parameters);
                Systems.Objects.Add(o);
                o.SpawnMe();
                Systems.SendAll(Packet.Unique_Data(5, (int)o.ID, null));
                break;

            case Uniques.Isyutaru:
                o = getMob(2002, parameters);
                Systems.Objects.Add(o);
                o.SpawnMe();
                Systems.SendAll(Packet.Unique_Data(5, (int)o.ID, null));
                break;

            case Uniques.LordYarkan:
                o = getMob(3810, parameters);
                Systems.Objects.Add(o);
                o.SpawnMe();
                Systems.SendAll(Packet.Unique_Data(5, (int)o.ID, null));
                break;

            case Uniques.DemonShaitan:
                o = getMob(3875, parameters);
                Systems.Objects.Add(o);
                o.SpawnMe();
                Systems.SendAll(Packet.Unique_Data(5, (int)o.ID, null));
                break;

            case Uniques.Cerberus:
                o = getMob(5871, parameters);
                Systems.Objects.Add(o);
                o.SpawnMe();
                Systems.SendAll(Packet.Unique_Data(5, (int)o.ID, null));
                break;

            case Uniques.CapIvy:
                o = getMob(14778, parameters);
                Systems.Objects.Add(o);
                o.SpawnMe();
                Systems.SendAll(Packet.Unique_Data(5, (int)o.ID, null));
                break;

            case Uniques.Medusa:
                o = getMob(14839, parameters);
                Systems.Objects.Add(o);
                o.SpawnMe();
                Systems.SendAll(Packet.Unique_Data(5, (int)o.ID, null));
                break;

            case Uniques.Roc:
                o = getMob(3877, parameters);
                Systems.Objects.Add(o);
                o.SpawnMe();
                Systems.SendAll(Packet.Unique_Data(5, (int)o.ID, null));
                break;

            case Uniques.Neith:
                o = getMob(32768, parameters);
                Systems.Objects.Add(o);
                o.SpawnMe();
                Systems.SendAll(Packet.Unique_Data(5, (int)o.ID, null));
                break;

            case Uniques.Isis:
                o = getMob(32770, parameters);
                Systems.Objects.Add(o);
                o.SpawnMe();
                Systems.SendAll(Packet.Unique_Data(5, (int)o.ID, null));
                break;

            case Uniques.Sphinx:
                o = getMob(32752, parameters);
                Systems.Objects.Add(o);
                o.SpawnMe();
                Systems.SendAll(Packet.Unique_Data(5, (int)o.ID, null));
                break;
            }
        }
示例#12
0
        ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        // Monster Summon Scrolls
        ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        void HandleSummon(int scrollid)
        {
            try
            {
                //if (this.Character.Information.Level < 10) return;

                int count = 1;//Default should be set to 1

                //single scroll
                if (scrollid == 3936)
                {
                    count = 5;
                }
                //party scroll
                if (scrollid == 3935)
                {
                    if (this.Character.Network.Party == null)
                    {
                        return;
                    }
                    if (this.Character.Network.Party.Members.Count < 5)
                    {
                        return;
                    }

                    count = this.Character.Network.Party.Members.Count;
                }

                int  model = GetStrongMobByLevel(this.Character.Information.Level);
                byte type  = Data.ObjectBase[model].ObjectType;

                for (int i = 1; i <= count; i++)
                {
                    obj Spawn = new obj();

                    Spawn.ID           = model;
                    Spawn.Type         = type;
                    Spawn.Ids          = new Global.ID(Global.ID.IDS.Object);
                    Spawn.UniqueID     = Spawn.Ids.GetUniqueID;
                    Spawn.x            = Character.Position.x;
                    Spawn.z            = Character.Position.z;
                    Spawn.y            = Character.Position.y;
                    Spawn.oX           = Spawn.x;
                    Spawn.oY           = Spawn.y;
                    Spawn.xSec         = Character.Position.xSec;
                    Spawn.ySec         = Character.Position.ySec;
                    Spawn.AutoMovement = true;
                    Spawn.State        = 1;
                    Spawn.Move         = 1;
                    Spawn.SpeedWalk    = Data.ObjectBase[Spawn.ID].SpeedWalk;
                    Spawn.SpeedRun     = Data.ObjectBase[Spawn.ID].SpeedRun;
                    Spawn.SpeedZerk    = Data.ObjectBase[Spawn.ID].SpeedZerk;
                    Spawn.HP           = Data.ObjectBase[model].HP;
                    Spawn.Agresif      = Data.ObjectBase[model].Agresif;
                    Spawn.LocalType    = 1;
                    Spawn.AutoSpawn    = false;
                    Spawn.Kat          = 1;
                    Systems.aRound(ref Spawn.x, ref Spawn.y, 1);
                    Systems.Objects.Add(Spawn);
                    Spawn.SpawnMe();
                }
            }
            catch (Exception ex)
            {
                Systems.Debugger.Write(ex);
            }
        }
示例#13
0
        public void RandomMonster(int sID, byte randomTYPE)
        {
            try
            {
                obj o = new obj();
                o.ID = sID;
                o.Ids = new Global.ID(Global.ID.IDS.Object);
                o.UniqueID = o.Ids.GetUniqueID;
                o.x = this.x;
                o.z = this.z;
                o.y = this.y;
                o.oY = this.oY;
                o.oX = this.oX;
                //Systems.aRound(ref o.oX, ref o.oY, 1);

                o.xSec = this.xSec;
                o.ySec = this.ySec;

                o.AutoMovement = this.AutoMovement;
                if (ID == 1979 || ID == 2101 || ID == 2124 || ID == 2111 || ID == 2112) o.AutoMovement = false;
                o.AutoSpawn = true;
                o.Move = 1;

                o.HP = Data.ObjectBase[o.ID].HP;
                o.SpeedWalk = Data.ObjectBase[o.ID].SpeedWalk;
                o.SpeedRun = Data.ObjectBase[o.ID].SpeedRun;
                o.SpeedZerk = Data.ObjectBase[o.ID].SpeedZerk;
                o.Agresif = 0;
                o.LocalType = 1;
                o.State = 2;
                o.Kat = 1;
                o.Agro = new List<_agro>();
                o.spawnOran = 0;

                if (randomTYPE == 0) // Standart
                {
                    o.Type = Systems.RandomType(Data.ObjectBase[o.ID].Level, ref this.Kat, false, ref o.Agresif);
                    if (o.Type == 1) o.Agresif = 1;
                    if (Data.ObjectBase[o.ID].Agresif == 1)
                    {
                        o.Agresif = 1;
                    }
                    o.HP *= this.Kat;
                }
                else
                {
                    if (randomTYPE == 6)
                        o.HP *= 4;
                    else if (randomTYPE == 4)
                        o.HP *= 20;
                    else if (randomTYPE == 1)
                        o.HP *= 2;
                    else if (randomTYPE == 16)
                        o.HP *= 10;
                    else if (randomTYPE == 17)
                        o.HP *= 20;
                    else if (randomTYPE == 20)
                        o.HP *= 210;
                    o.AutoSpawn = false;
                    o.Type = randomTYPE;
                    o.Agresif = 1;
                }

                o.SpawnMe();
                Systems.Objects.Add(o);
            }
            catch (Exception ex)
            {
                Console.WriteLine("Respawn monster: {0}",ex);
                Systems.Debugger.Write(ex);
            }
        }
示例#14
0
        ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        // Spawn Monsters
        ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        void GM_LOADMONSTER(int model, byte type, byte type2)
        {
            try
            {
                Framework.Ini ini;
                ini = new Framework.Ini(Environment.CurrentDirectory + @"\Settings\Settings.ini");
                string count = ini.GetValue("Custom", "GMSpawnCount", "1").ToString();
                int total = Convert.ToInt16(count);

                for (int i = 1; i <= total; i++)
                {

                    obj o = new obj();

                    o.ID = model;
                    o.Type = type;
                    o.Ids = new Global.ID(Global.ID.IDS.Object);
                    o.UniqueID = o.Ids.GetUniqueID;
                    o.x = Character.Position.x;
                    o.z = Character.Position.z;
                    o.y = Character.Position.y;
                    o.oX = o.x;
                    o.oY = o.y;
                    o.xSec = Character.Position.xSec;
                    o.ySec = Character.Position.ySec;
                    o.AutoMovement = true;
                    o.HP = Data.ObjectBase[model].HP;
                    o.Agresif = Data.ObjectBase[model].Agresif;
                    if (Data.ObjectBase[model].Type == 4) o.LocalType = 4;
                    else if (Data.ObjectBase[model].Type == 1) o.LocalType = 1;
                    else if (Data.ObjectBase[model].Type == 2) o.LocalType = 2;
                    o.AutoSpawn = false;
                    o.Kat = 1;
                    o.SpeedWalk = Data.ObjectBase[o.ID].SpeedWalk;
                    o.SpeedRun = Data.ObjectBase[o.ID].SpeedRun;
                    o.SpeedZerk = Data.ObjectBase[o.ID].SpeedZerk;
                    Systems.aRound(ref o.oX, ref o.oY, 5);
                    Systems.Objects.Add(o);
                    o.SpawnMe();
                    if (o.ID == 1954 || o.ID == 1982 || o.ID == 2002 || o.ID == 3810 || o.ID == 3875 || o.ID == 5871 || o.ID == 14538 || o.ID == 14839 || o.ID == 3877)
                        Systems.SendAll(Packet.Unique_Data(5, (int)o.ID, null));

                        Framework.Ini ini2;
                        ini2 = new Framework.Ini(Environment.CurrentDirectory + @"\Settings\Settings.ini");
                        string spawnmessage = ini.GetValue("Custom", "EnableUniqueMessage", "0").ToString();
                        if (spawnmessage == "1")
                             Systems.SendAll(Packet.Unique_Data(5, (int)o.ID, null));
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
            }
        }
示例#15
0
 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 // Spawn & Kill
 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 void GM_ZOE(int model, byte count)
 {
     try
     {
         for (int x = 0; x < count; x++)
         {
             // spawn
             obj o = new obj();
             o.ID = model;
             o.Type = 3;
             o.Ids = new Global.ID(Global.ID.IDS.Object);
             o.UniqueID = o.Ids.GetUniqueID;
             o.x = Character.Position.x;
             o.z = Character.Position.z;
             o.y = Character.Position.y;
             o.oX = o.x;
             o.oY = o.y;
             o.xSec = Character.Position.xSec;
             o.ySec = Character.Position.ySec;
             o.AutoMovement = false;
             o.HP = Data.ObjectBase[model].HP;
             o.Agresif = Data.ObjectBase[model].Agresif;
             if (Data.ObjectBase[model].Type == 4) o.LocalType = 4;
             else if (Data.ObjectBase[model].Type == 1) o.LocalType = 1;
             else if (Data.ObjectBase[model].Type == 2) o.LocalType = 2;
             o.AutoSpawn = false;
             o.Kat = 1;
             o.SpeedWalk = Data.ObjectBase[o.ID].SpeedWalk;
             o.SpeedRun = Data.ObjectBase[o.ID].SpeedRun;
             o.SpeedZerk = Data.ObjectBase[o.ID].SpeedZerk;
             Systems.aRound(ref o.oX, ref o.oY, 5);
             Systems.Objects.Add(o);
             o.SpawnMe();
             o.AddAgroDmg(Character.Information.UniqueID, o.HP);
             if (o.ID == 1954 || o.ID == 1982 || o.ID == 2002 || o.ID == 3810 || o.ID == 3875 || o.ID == 5871 || o.ID == 14538 || o.ID == 14839 || o.ID == 3877)
                 Systems.SendAll(Packet.Unique_Data(5, (int)o.ID, null));
             // kill
             obj o2 = GetObject(o.UniqueID);
             o2.HP = 0;
             o2.GetDie = true;
             o2.SetExperience();
             o2.MonsterDrop();
             o2.StartDeadTimer(100);
             if (o2.ID == 1954 || o2.ID == 1982 || o2.ID == 2002 || o2.ID == 3810 || o2.ID == 3875 || o2.ID == 5871 || o2.ID == 14538)
                 Systems.SendAll(Packet.Unique_Data(6, (int)o2.ID, Character.Information.Name));
         }
     }
     catch (Exception ex)
     {
         Console.WriteLine("[ZOE] Error : " + ex.Message);
         Systems.Debugger.Write(ex);
     }
 }
示例#16
0
 private void SpawnUnique(List<string> parameters)
 {
     obj o = new obj();
     switch ((Uniques)Int32.Parse(parameters[0]))
     {
         case Uniques.TigerGirl: // INSERT SPAWN CODE HERE
             o = getMob(1954, parameters);
             Systems.Objects.Add(o);
             o.SpawnMe();
             Systems.SendAll(Packet.Unique_Data(5, (int)o.ID, null));
             break;
         case Uniques.Urichi:
             o = getMob(1982, parameters);
             Systems.Objects.Add(o);
             o.SpawnMe();
             Systems.SendAll(Packet.Unique_Data(5, (int)o.ID, null));
             break;
         case Uniques.Isyutaru:
             o = getMob(2002, parameters);
             Systems.Objects.Add(o);
             o.SpawnMe();
             Systems.SendAll(Packet.Unique_Data(5, (int)o.ID, null));
             break;
         case Uniques.LordYarkan:
             o = getMob(3810, parameters);
             Systems.Objects.Add(o);
             o.SpawnMe();
             Systems.SendAll(Packet.Unique_Data(5, (int)o.ID, null));
             break;
         case Uniques.DemonShaitan:
             o = getMob(3875, parameters);
             Systems.Objects.Add(o);
             o.SpawnMe();
             Systems.SendAll(Packet.Unique_Data(5, (int)o.ID, null));
             break;
         case Uniques.Cerberus:
             o = getMob(5871, parameters);
             Systems.Objects.Add(o);
             o.SpawnMe();
             Systems.SendAll(Packet.Unique_Data(5, (int)o.ID, null));
             break;
         case Uniques.CapIvy:
             o = getMob(14778, parameters);
             Systems.Objects.Add(o);
             o.SpawnMe();
             Systems.SendAll(Packet.Unique_Data(5, (int)o.ID, null));
             break;
         case Uniques.Medusa:
             o = getMob(14839, parameters);
             Systems.Objects.Add(o);
             o.SpawnMe();
             Systems.SendAll(Packet.Unique_Data(5, (int)o.ID, null));
             break;
         case Uniques.Roc:
             o = getMob(3877, parameters);
             Systems.Objects.Add(o);
             o.SpawnMe();
             Systems.SendAll(Packet.Unique_Data(5, (int)o.ID, null));
             break;
         case Uniques.Neith:
             o = getMob(32768, parameters);
             Systems.Objects.Add(o);
             o.SpawnMe();
             Systems.SendAll(Packet.Unique_Data(5, (int)o.ID, null));
             break;
         case Uniques.Isis:
             o = getMob(32770, parameters);
             Systems.Objects.Add(o);
             o.SpawnMe();
             Systems.SendAll(Packet.Unique_Data(5, (int)o.ID, null));
             break;
         case Uniques.Sphinx:
             o = getMob(32752, parameters);
             Systems.Objects.Add(o);
             o.SpawnMe();
             Systems.SendAll(Packet.Unique_Data(5, (int)o.ID, null));
             break;
     }
 }
示例#17
0
        ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        // Monster Summon Scrolls
        ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        void HandleSummon(int scrollid)
        {
            try
            {
                //if (this.Character.Information.Level < 10) return;

                int count = 1;//Default should be set to 1

                //single scroll
                if (scrollid == 3936)
                {
                    count = 5;
                }
                //party scroll
                if (scrollid == 3935)
                {
                    if (this.Character.Network.Party == null) return;
                    if (this.Character.Network.Party.Members.Count < 5) return;

                    count = this.Character.Network.Party.Members.Count;
                }

                int model = GetStrongMobByLevel(this.Character.Information.Level);
                byte type = Data.ObjectBase[model].ObjectType;

                for (int i = 1; i <= count; i++)
                {
                    obj Spawn = new obj();

                    Spawn.ID = model;
                    Spawn.Type = type;
                    Spawn.Ids = new Global.ID(Global.ID.IDS.Object);
                    Spawn.UniqueID = Spawn.Ids.GetUniqueID;
                    Spawn.x = Character.Position.x;
                    Spawn.z = Character.Position.z;
                    Spawn.y = Character.Position.y;
                    Spawn.oX = Spawn.x;
                    Spawn.oY = Spawn.y;
                    Spawn.xSec = Character.Position.xSec;
                    Spawn.ySec = Character.Position.ySec;
                    Spawn.AutoMovement = true;
                    Spawn.State = 1;
                    Spawn.Move = 1;
                    Spawn.SpeedWalk = Data.ObjectBase[Spawn.ID].SpeedWalk;
                    Spawn.SpeedRun = Data.ObjectBase[Spawn.ID].SpeedRun;
                    Spawn.SpeedZerk = Data.ObjectBase[Spawn.ID].SpeedZerk;
                    Spawn.HP = Data.ObjectBase[model].HP;
                    Spawn.Agresif = Data.ObjectBase[model].Agresif;
                    Spawn.LocalType = 1;
                    Spawn.AutoSpawn = false;
                    Spawn.Kat = 1;
                    Systems.aRound(ref Spawn.x, ref Spawn.y, 1);
                    Systems.Objects.Add(Spawn);
                    Spawn.SpawnMe();
                }
            }
            catch (Exception ex)
            {
                Systems.Debugger.Write(ex);
            }
        }