Example #1
0
        public void ShouldDeleteMonsterTest()
        {
            Monster m = MonsterDB.GetMonsters().ElementAt(1);

            MonsterDB.DeleteMonster(m);
            Assert.That(MonsterDB.GetMonsters(), Has.None.EqualTo(m));
        }
Example #2
0
 private void updateButton_Click(object sender, RoutedEventArgs e)
 {
     if (Utillity.CheckAddOrUpdateMonsterFields(nameTextBox, attackTextBox, hpTextBox))
     {
         MonsterDB.UpdateMonster(this.MObject);
         MessageBox.Show("Monster updated");
     }
 }
Example #3
0
 public MonsterListBox(ref DBlist DB)
 {
     foreach (KeyValuePair <int, MonsterDB> items in DB._mob_db)
     {
         MonsterDB db = items.Value;
         Add(new MonsterDB_Binding(db.MobId, db.Name, db.Level, db.IsBoss, db.Tribe, db.Element, db.Size,
                                   db.Atk, db.Matk, db.Hp, db.Def, db.Mdef, db.Hit, db.Flee));
     }
 }
Example #4
0
 public MonsterListBox(Dictionary <int, MonsterDB> DB)
 {
     foreach (KeyValuePair <int, MonsterDB> items in DB)
     {
         MonsterDB db = items.Value;
         Add(new MonsterDB_Binding(db.MobId, db.Name, db.Level, db.Type, db.StatusInfo, db.Tribe, db.Element, db.Size,
                                   db.Atk, db.Matk, db.Hp, db.Def, db.Mdef, db.Hit, db.Flee));
     }
 }
Example #5
0
 public void AddList(MonsterDB db)
 {
     if (Count == db.MobId)
     {
         Add(new MonsterDB_Binding(db.MobId, db.Name, db.Level, db.IsBoss, db.Tribe, db.Element, db.Size,
                                   db.Atk, db.Matk, db.Hp, db.Def, db.Mdef, db.Hit, db.Flee));
     }
     else
     {
         SetItem(db.MobId, new MonsterDB_Binding(db.MobId, db.Name, db.Level, db.IsBoss, db.Tribe, db.Element, db.Size,
                                                 db.Atk, db.Matk, db.Hp, db.Def, db.Mdef, db.Hit, db.Flee));
     }
 }
 private void deleteMonsterButton_Click(object sender, RoutedEventArgs e)
 {
     if (monsterDataGrid.SelectedItem != null)
     {
         Monster m       = (Monster)monsterDataGrid.SelectedItem;
         var     bericht = MessageBox.Show("Bent u zeker dat u dit monster wilt verwijderen?", "Monster Verwijderen?", MessageBoxButton.YesNo, MessageBoxImage.Exclamation);
         if (bericht == MessageBoxResult.Yes)
         {
             MonsterDB.DeleteMonster(m);
             monsterCollection.Remove(m);
         }
     }
     else
     {
         MessageBox.Show("Gelieve een monster te selecteren");
     }
 }
Example #7
0
    private void SetSpawnableMonsterList()
    {
        List <MonsterName> monsterList = ObjectManager.Instance.monsterPool.GetMonsterList();

        if (monsterList == null)
        {
            return;
        }

        monsterList.ListShuffle(30);


        int spawnMonsterTypeNum = 0;

        if (monsterList.Count > 1)
        {
            spawnMonsterTypeNum = Random.Range(2, monsterList.Count);
        }
        else
        {
            spawnMonsterTypeNum = Random.Range(1, monsterList.Count);
        }
        for (int i = 0; i < spawnMonsterTypeNum; i++)
        {
            spawnableMonsterList.Add(monsterList[i]);
        }

        monsterList.Clear();
        monsterList = null;


        //랜덤
        if (randomGenerator != null)
        {
            for (int i = 0; i < spawnableMonsterList.Count; i++)
            {
                MonsterDB monsterData = DatabaseLoader.Instance.GetMonsterData(spawnableMonsterList[i]);

                if (monsterData != null)
                {
                    randomGenerator.AddToList(spawnableMonsterList[i], monsterData.Probability);
                }
            }
        }
    }
Example #8
0
        public void ShouldCreateMonster()
        {
            Monster m = new Monster
            {
                MonsterId = MonsterDB.GetNextMonsterId(),
                Alive     = true,
                Attack    = 1,
                HP        = 1,
                Name      = "BenMonster"
            };

            int amountInDb = MonsterDB.GetMonsters().Count;

            MonsterDB.InsertMonster(m);

            int amountInDbAfterInsert = MonsterDB.GetMonsters().Count;

            Assert.That(amountInDb + 1, Is.EqualTo(amountInDbAfterInsert));
        }
        public MonsterWindow()
        {
            InitializeComponent();
            monsterList = MonsterDB.GetMonsters();

            foreach (Monster m in monsterList)
            {
                monsterCollection.Add(m);
            }

            monsterDataGrid.DataContext           = monsterCollection;
            monsterDataGrid.ColumnWidth           = 70;
            monsterDataGrid.CanUserResizeColumns  = true;
            monsterDataGrid.CanUserAddRows        = false;
            monsterDataGrid.CanUserSortColumns    = false;
            monsterDataGrid.CanUserDeleteRows     = false;
            monsterDataGrid.CanUserReorderColumns = false;
            monsterDataGrid.IsReadOnly            = true;
        }
Example #10
0
        public Yggdrasil()
        {
            Opt = Settings.Deserialize();

            server           = new SocketWrapper();
            server.OnAccept += new SocketWrapper.dlgAccept(server_OnAccept);
            server.OnClose  += new SocketWrapper.dlgClose(server_OnClose);
            server.OnRead   += new SocketWrapper.dlgRead(server_OnRead);

            //TODO: Load mob/map/item/etc databases
            EvolutionDB.Load("Data\\DigimonEvolve.bin");
            MapDB.Load("Data\\MapList.bin");
            PortalDB.Load("Data\\MapPortal.bin");
            DigimonDB.Load("Data\\DigimonList.bin");
            ItemDB.Load("Data\\ItemList.bin");
            MonsterDB.Load("Data\\MonsterList.bin");
            TacticsDB.Load("Data\\Tactics.bin");

            World();

            Initialize();
        }
        private void addButton_Click(object sender, RoutedEventArgs e)
        {
            if (Utillity.CheckAddOrUpdateMonsterFields(nameTextBox, attackTextBox, hpTextBox))
            {
                Monster m = new Monster {
                    MonsterId = MonsterDB.GetNextMonsterId(),
                    Alive     = (bool)aliveCheckBox.IsChecked ? true : false,
                    Attack    = int.Parse(attackTextBox.Text),
                    HP        = int.Parse(hpTextBox.Text),
                    Name      = nameTextBox.Text
                };

                MonsterDB.InsertMonster(m);
                monsterCollection.Add(m);

                MessageBox.Show("Monster Toegevoegd!");
            }
            else
            {
                MessageBox.Show("Gelieve alle velden in te vullen");
            }
        }
Example #12
0
        public void Command(Client client, string[] cmd)
        {
            if (client.AccessLevel <= 0)
            {
                return;
            }
            if (cmd.Length == 0)
            {
                return;
            }
            Character Tamer     = client.Tamer;
            GameMap   ActiveMap = null;

            if (Tamer != null && Tamer.Partner != null)
            {
                ActiveMap = Maps[client.Tamer.Location.Map];
            }
            switch (cmd[0])
            {
            case "inc":
            {
                client.Send(new ChatNormal(Tamer.DigimonHandle, string.Format("Incubator: Level {1} {0}", Tamer.Incubator, Tamer.IncubatorLevel)));
                break;
            }

            case "item":
            {
                int  fullId = int.Parse(cmd[1]);
                Item e      = new Item(0);
                e.ID = fullId;

                if (e.ItemData == null)
                {
                    client.Send(new ChatNormal(Tamer.DigimonHandle, string.Format("An item with the id {0} was not found.", fullId)));
                    return;
                }
                e.Unknown = (short)e.Max;
                e.Amount  = 1;
                if (cmd.Length == 3)
                {
                    int count = 1;
                    int.TryParse(cmd[2], out count);
                    count    = count > e.Max ? e.Max : count;
                    count    = count < 0 ? 1 : count;
                    e.Amount = count;
                }
                if (cmd.Length == 9)
                {
                    short[] shorts = new short[6];
                    for (int i = 3; i < cmd.Length; i++)
                    {
                        shorts[i - 3] = short.Parse(cmd[i]);
                    }
                    e.Unknown1 = shorts[0];
                    e.Unknown2 = shorts[1];
                    e.Unknown3 = shorts[2];
                    e.Unknown4 = shorts[3];
                    e.Unknown5 = shorts[4];
                    e.Unknown6 = shorts[5];
                }
                e.time_t = 0xFFFFFFFF;
                int slot = Tamer.Inventory.Add(e);
                if (slot != -1)
                {
                    client.Send(new CashWHItem(slot, e, ((e.Modifier ^ 1) / 2), e.Max));
                }
                break;
            }

            case "sk1":
            {
                Client Target = ActiveMap.Find(cmd[1]);
                if (Target == null)
                {
                    return;
                }
                short skill = 0; short.TryParse(cmd[2], out skill);
                client.Send(new UseSkill(Tamer.DigimonHandle, Target.Tamer.DigimonHandle, skill, 1, 9999));
                break;
            }

            case "hatch":
            {
                int fullId = 31001;
                int.TryParse(cmd[1], out fullId);
                Send(new BroadcastHatch(Tamer.Name, "I am a banana", fullId, 65000, 5));
                break;
            }

            case "sk2":
            {
                short skill = 0; short.TryParse(cmd[1], out skill);
                client.Send(new UseSkill(Tamer.DigimonHandle, Tamer.TamerHandle, skill, 1, 9999));
                break;
            }

            case "list":
            {
                client.Send(new BaseChat(ChatType.Normal, Tamer.DigimonHandle, "Players on this map:"));
                foreach (Client other in ActiveMap.Tamers)
                {
                    client.Send(new BaseChat(ChatType.Normal, Tamer.DigimonHandle, string.Format("{0} - {1}", other.Tamer, other.Tamer.Partner)));
                }
                break;
            }

            case "force":
            {
                foreach (Client other in ActiveMap.Tamers)
                {
                    ActiveMap.Spawn(other);
                }
                break;
            }

            case "spawn":
            {
                uint value = 0;
                uint.TryParse(cmd[1], out value);
                MDBDigimon Mob = MonsterDB.GetDigimon(value);
                if (Mob == null)
                {
                    client.Send(new BaseChat(ChatType.Normal, Tamer.DigimonHandle, string.Format("Mob {0} was not found.", value)));
                }
                uint    id   = GetModel((uint)(64 + (Mob.Models[0] * 128)) << 8);
                GameMap cMap = Maps[Tamer.Location.Map];
                cMap.Send(new SpawnObject(id, Tamer.Location.PosX, Tamer.Location.PosY));
                break;
            }

            case "rld":
            case "reload":
            {
                ActiveMap.Leave(client);
                client.Send(new MapChange(Opt.GameServer.IP.ToString(), Opt.GameServer.Port,
                                          Tamer.Location.Map, Tamer.Location.PosX, Tamer.Location.PosY, Tamer.Location.MapName));
                break;
            }

            case "save":
            {
                client.Send(new BaseChat(ChatType.Shout, "ADMIN", "Saving..."));
                SqlDB.SaveTamer(client);
                break;
            };

            case "ann":
            {
                Send(new BaseChat().Megaphone(Tamer.Name, string.Join(" ", cmd, 1, cmd.Length - 1), 402417));
                break;
            };

            case "map":
            {
                int     mapId = int.Parse(cmd[1]);
                int     X     = int.Parse(cmd[2]);
                int     Y     = int.Parse(cmd[3]);
                MapData Map   = MapDB.GetMap(mapId);
                Tamer.Location = new Position(mapId, X, Y);
                SqlDB.SaveTamerPosition(client);
                client.Send(new MapChange(Opt.GameServer.IP.ToString(), Opt.GameServer.Port, mapId, X, Y, Map.Name));
                break;
            };

            case "tele":
            {
                Position p = null;
                switch (cmd[1].ToLower())
                {
                case "dats":
                default:
                    p = new Position(1, 29877, 22184);
                    break;
                }
                if (p != null)
                {
                    SqlDB.SaveTamerPosition(client);

                    ActiveMap.Leave(client);
                    Tamer.Location = p;
                    client.Send(new MapChange(Opt.GameServer.IP.ToString(), Opt.GameServer.Port, p.Map, p.PosX, p.PosY, p.MapName));
                }
                break;
            }

            case "where":
            case "pos":
            case "loc":
            {
                client.Send(new ChatNormal(Tamer.DigimonHandle, string.Format("You are at {0}", Tamer.Location)));
                break;
            }

            case "merc":
            {
                int value = 0;
                if (!int.TryParse(cmd[1], out value))
                {
                    return;
                }

                DigimonData dData = DigimonDB.GetDigimon(value);
                if (dData == null)
                {
                    client.Send(new ChatNormal(Tamer.DigimonHandle, string.Format("Mercenary id {0} was not found.", value)));
                }
                else
                {
                    client.Send(new ChatNormal(Tamer.DigimonHandle, string.Format("Mercenary {1} Found: {0}", dData.DisplayName, value)));
                }
                break;
            }

            case "mk":
            {
                if (cmd.Length < 3)
                {
                    return;
                }
                int value = 0;
                if (!int.TryParse(cmd[2], out value))
                {
                    return;
                }

                DigimonData dData = DigimonDB.GetDigimon(value);
                if (dData == null)
                {
                    return;
                }
                uint digiId = SqlDB.CreateMercenary(client.Tamer.CharacterId, cmd[1], value, 5, 14000, 100);
                if (digiId == 0)
                {
                    client.Send(new ChatNormal(Tamer.DigimonHandle, "Failed to create mercenary."));
                    return;
                }
                else
                {
                    for (int i = 0; i < Tamer.ArchivedDigimon.Length; i++)
                    {
                        if (Tamer.ArchivedDigimon[i] != 0)
                        {
                            continue;
                        }
                        Tamer.ArchivedDigimon[i] = (uint)digiId;
                        break;
                    }
                    client.Send(new ChatNormal(Tamer.DigimonHandle, "Mercenary added to Digimon Archive."));
                }
                break;
            }

            case "self.setav":
            case "tamer.setav":
            {
                int value = 0;
                if (!int.TryParse(cmd[2], out value))
                {
                    return;
                }
                switch (cmd[1].ToLower())
                {
                case "level":
                case "lv":
                    Tamer.Level = value;
                    ActiveMap.Send(new UpdateLevel(Tamer.TamerHandle, (byte)value));
                    break;

                case "at":
                    Tamer.AT = value; break;

                case "de":
                    Tamer.DE = value; break;

                case "hp":
                    Tamer.MaxHP = value;
                    Tamer.HP    = value; break;

                case "ds":
                    Tamer.MaxDS = value;
                    Tamer.DS    = value; break;

                case "fatigue":
                    Tamer.Fatigue = value; break;

                case "ms":
                    Tamer.MS = (short)value; break;

                case "tamer":
                    Tamer.Model = (CharacterModel)value; break;

                case "archive":
                    Tamer.ArchiveSize = value; break;

                case "inv":
                    Tamer.InventorySize = value; break;

                case "storage":
                    Tamer.StorageSize = value; break;

                case "size":
                    ActiveMap.Send(new ChangeSize(Tamer.TamerHandle, value, 0));
                    break;

                case "bits":
                    Tamer.Money = value;
                    //client.Send(new UpdateMoney());
                    break;
                }
                client.Send(new UpdateStats(Tamer, Tamer.Partner));
                break;
            }

            case "mon.setav":
            case "digimon.setav":
            {
                if (cmd[1].ToLower() == "min")
                {
                    Tamer.Partner.Stats = new DigimonStats();
                    Tamer.Partner.Level = 1;
                    Tamer.Partner.EXP   = 0;
                    client.Send(new UpdateStats(Tamer, Tamer.Partner));
                    return;
                }
                else if (cmd[1].ToLower() == "max")
                {
                    Tamer.Partner.Stats.Max();
                    Tamer.Level = 99;
                    client.Send(new UpdateStats(Tamer, Tamer.Partner));
                    return;
                }
                else if (cmd[1].ToLower() == "default")
                {
                    DigimonData dData = DigimonDB.GetDigimon(Tamer.Partner.CurrentForm);
                    if (dData != null)
                    {
                        Tamer.Partner.Stats = dData.Default(Tamer, Tamer.Partner.Stats.Intimacy, Tamer.Partner.Size);
                        client.Send(new UpdateStats(Tamer, Tamer.Partner));
                    }
                }
                int value = 0;
                if (!int.TryParse(cmd[2], out value))
                {
                    return;
                }
                switch (cmd[1].ToLower())
                {
                case "lv":
                case "level":
                    Tamer.Partner.Level = value;
                    ActiveMap.Send(new UpdateLevel(Tamer.DigimonHandle, (byte)value));
                    break;

                case "exp":
                    Tamer.Partner.EXP = value;
                    break;

                case "hp":
                    Tamer.Partner.Stats.MaxHP = (short)value;
                    Tamer.Partner.Stats.HP    = (short)value;
                    break;

                case "ds":
                    Tamer.Partner.Stats.MaxDS = (short)value; Tamer.Partner.Stats.DS = (short)value; break;

                case "at":
                    Tamer.Partner.Stats.AT = (short)value; break;

                case "de":
                    Tamer.Partner.Stats.DE = (short)value; break;

                case "ev":
                    Tamer.Partner.Stats.EV = (short)value; break;

                case "ht":
                    Tamer.Partner.Stats.HT = (short)value; break;

                case "cr":
                    Tamer.Partner.Stats.CR = (short)value; break;

                case "as":
                    Tamer.Partner.Stats.AS = (short)value; break;

                case "ms":
                    Tamer.Partner.Stats.MS = (short)value; break;

                case "int":
                case "sync":
                case "intimacy":
                    Tamer.Partner.Stats.Intimacy = (short)value; break;

                case "type":
                    Tamer.Partner.Species     = value;
                    Tamer.Partner.CurrentForm = value;
                    break;

                case "name":
                    Tamer.Partner.Name = cmd[2]; break;

                case "size":
                    Tamer.Partner.Size = (short)value;
                    ActiveMap.Send(new ChangeSize(Tamer.DigimonHandle, value, 0));
                    break;

                case "scale":
                    Tamer.Partner.Scale = (byte)value; break;
                }
                client.Send(new UpdateStats(Tamer, Tamer.Partner));
                break;
            }
            }
        }
Example #13
0
 private void ReadDBData()
 {
     this.monsterDB = DatabaseLoader.Instance.GetMonsterData(this.monsterName);
 }