Example #1
0
 private void AddActors(IEnumerable <GameRolePlayActorInformations> actors)
 {
     foreach (var actor in actors)
     {
         if (actor is GameRolePlayGroupMonsterInformations monster)
         {
             Monsters.Add(new MonsterGroup(monster.StaticInfos,
                                           monster.ContextualId, monster.Disposition.CellId));
             continue;
         }
         if (actor is GameRolePlayNpcInformations npc)
         {
             Npcs.Add(new Npc(npc.Disposition.CellId, npc.ContextualId, npc.NpcId));
             continue;
         }
         if (actor is GameRolePlayCharacterInformations player)
         {
             Players.Add(new Player(actor.Disposition.CellId, player.ContextualId, player.Name));
             continue;
         }
         if (actor is GameRolePlayMerchantInformations merchant)
         {
             Merchants.Add(new Merchant(merchant.Disposition.CellId, merchant.ContextualId, merchant.SellType,
                                        merchant.Name));
             continue;
         }
         Entities.Add(new Entity.Entity(actor.ContextualId, actor.Disposition.CellId));
     }
 }
Example #2
0
 public void AddActor(GameRolePlayActorInformations actor)
 {
     if (actor is GameRolePlayCharacterInformations character)
     {
         Players.Add(character);
         Console.WriteLine($@"(Player) {character.Name} en cellid ->  {character.Disposition.CellId}");
         return;
     }
     if (actor is GameRolePlayGroupMonsterInformations monster)
     {
         Monsters.Add(monster);
         var monsterName = FastD2IReader.Instance.GetText(ObjectDataManager.Instance
                                                          .Get <Monster>(monster.StaticInfos.MainCreatureLightInfos.CreatureGenericId).NameId);
         Console.WriteLine($@"(Monster) {monsterName} en cellid ->  {monster.Disposition.CellId}");
         return;
     }
     if (actor is GameRolePlayNpcInformations npc)
     {
         Npcs.Add(npc);
         var npcName =
             FastD2IReader.Instance.GetText(ObjectDataManager.Instance.Get <Npc>(npc.NpcId).NameId);
         Console.WriteLine($@"(Npc) {npcName} en cellid ->  {npc.Disposition.CellId}");
         return;
     }
     Others.Add(actor);
     Console.WriteLine($@"(Other) Aucune Idée en cellid -> {actor.Disposition.CellId}");
 }
Example #3
0
        /// <summary>
        /// Initializes and places monsters
        ///	in rooms throughout the dungeon.
        /// </summary>
        private static void GenerateMonsters()
        {
            foreach (var r in Rooms)
            {
                var monsterAmount = GameManager.Random.Next(1, 4);

                for (var i = 0; i < monsterAmount; i++)
                {
                    int ry;
                    int rx;
                    while (true)
                    {
                        ry = GameManager.Random.Next(r.Position[0], r.Position[0] + r.Height);
                        rx = GameManager.Random.Next(r.Position[1], r.Position[1] + r.Width);

                        if (!MonsterAt(ry, rx, ref m_target) &&
                            Grid[ry][rx].Type != '@' &&
                            Grid[ry][rx].Type != ' ' &&
                            Grid[ry][rx].Door == null)
                        {
                            break;
                        }
                    }

                    var m = new Monster();
                    m.ConstructMonster();
                    SetEntity(m, ry, rx);
                    Monsters.Add(m);
                    Grid[ry][rx].NewLocal(m);
                }
            }
        }
Example #4
0
        public void ParseFormBinary(BinaryReader reader)
        {
            MaxX   = reader.ReadInt32();
            MaxY   = reader.ReadInt32();
            MaxZ   = reader.ReadInt32();
            Offset = new Vector3(); Offset.ParseFormBinary(reader);
            Size   = new Vector3(); Size.ParseFormBinary(reader);
            int Nodes_Len = reader.ReadInt32();

            while (Nodes_Len-- > 0)
            {
                MapNode Nodes_Temp = new MapNode();
                Nodes_Temp = new MapNode(); Nodes_Temp.ParseFormBinary(reader);
                Nodes.Add(Nodes_Temp);
            }
            int Monsters_Len = reader.ReadInt32();

            while (Monsters_Len-- > 0)
            {
                MapMonsterGroup Monsters_Temp = new MapMonsterGroup();
                Monsters_Temp = new MapMonsterGroup(); Monsters_Temp.ParseFormBinary(reader);
                Monsters.Add(Monsters_Temp);
            }
            Born = new MapNode(); Born.ParseFormBinary(reader);
        }
Example #5
0
        private void SpawnDwarfs(IAdventureLocation playerLocation)
        {
            var spawnPoints   = Locations.Values.Where(l => l.IsSpawnPoint && l.SpawnType == MonsterGroup.Dwarves);
            var altSpawnPoint = Locations.Values.Where(l => l.IsAlternateSpawnPoint &&
                                                       l.SpawnType == MonsterGroup.Dwarves).FirstOrDefault();

            foreach (var spawnPoint in spawnPoints)
            {
                Monsters.Add(new WanderingMonster(spawnPoint, MonsterGroup.Dwarves));
            }

            if (altSpawnPoint != null)
            {
                // Do not spawn a dwarf on top of the player!
                foreach (var monster in Monsters)
                {
                    if (monster.CurrentLocation.LocationId.Equals(playerLocation.LocationId))
                    {
                        monster.CurrentLocation = altSpawnPoint;
                        monster.PrevLocation    = altSpawnPoint;
                        break;
                    }
                }
            }
        }
Example #6
0
 public void AddMonster(Monster monster)
 {
     if (monster != null)
     {
         Monsters.Add(monster.Cid, monster);
     }
 }
Example #7
0
        public void OnUpdate()
        {
            Message  = Random.Range(1, 100).ToString();
            Sprite   = SpriteData[spriteIdx++ % SpriteData.Length];
            Texture  = TextureData[textureIdx++ % TextureData.Length];
            IsActive = !IsActive;
            Ability  = (Ability == HeartAbility.Sun) ? HeartAbility.Moon : HeartAbility.Sun;
            X        = Random.Range(-200f, 200f);
            Scale    = new Vector3(Random.Range(0.3f, 1f), Random.Range(0.3f, 1f), 0);
            Color    = new Color(Random.Range(0f, 1f), Random.Range(0f, 1f), Random.Range(0f, 1f));
            Progress = Random.Range(0f, 1f);
            Size     = new Vector2(Random.Range(64, 128), Random.Range(64, 128));

            Monsters.Clear();
            var count = Random.Range(0, 6);

            for (var i = 0; i < count; i++)
            {
                var monster = new Monster();
                monster.Name    = "Aruka" + Random.Range(1, 100);
                monster.Texture = MonsterTextureData;
                Monsters.Add(monster);
            }

            MasterMonster.Name    = "Amanuma" + Random.Range(1, 100);
            MasterMonster.Texture = MonsterTextureData;
        }
Example #8
0
        /// <summary> Spawns a random entity in the world </summary>
        public void SpawnEntity()
        {
            NPC entity = null;

            switch (random.Next(0, 3)) // Number is >= 0 and < 3
            {
            // Monster
            case 0:
                entity = RandomMonster();
                Monsters.Add((Monster)entity);
                this.Controls.Add(entity);
                break;

            // Money
            case 1:
                entity = RandomMoney();
                Money.Add((Money)entity);
                this.Controls.Add(entity);
                break;

            // Health
            case 2:
                entity = RandomHealth();
                Health.Add((Health)entity);
                this.Controls.Add(entity);
                break;

            default:
                break;
            }
        }
Example #9
0
 public void AddMonster(Monster monster)
 {
     Monsters.Add(monster);
     // A new monster cannot be walkable
     SetIsWalkable(monster.X, monster.Y, false);
     Game.SchedulingSystem.Add(monster);
 }
        public void SpawnMonsters(int nrMonsters)
        {
            // Divide game field in sections based on nrMonsters and place a monster randomly in each section
            int dY = GameWidth / nrMonsters;

            for (int i = 0; i < nrMonsters; i++)
            {
                Monster monster;
                // Pick a type at random
                int type = rand.Next(0, 2);
                if (type == 0)
                {
                    monster = new Monster(Point.RandomPoint(Margin.X + 1, Margin.X + GameWidth * 2 - 1, Margin.Y + 1 + i * dY, Margin.Y + dY - 1 + i * dY), 'M');
                }
                else
                {
                    monster = new RockDestroyer(Point.RandomPoint(Margin.X + 1, Margin.X + GameWidth * 2 - 1, Margin.Y + 1 + i * dY, Margin.Y + dY - 1 + i * dY), 'D');
                }

                for (int r = 0; r < Terrain.Count; r++)
                {
                    if (monster.Location.Equals(Terrain[r].Location))
                    {
                        Terrain.RemoveAt(r);
                        r--;
                    }
                }

                Monsters.Add(monster);
            }
        }
 public BattleEncounter(params string[] monsterNames) : this()
 {
     foreach (var monsterName in monsterNames)
     {
         Monsters.Add(new Monster(DarkestDungeonManager.Data.Monsters[monsterName]));
     }
 }
Example #12
0
 /// <summary>
 /// Fill the List of Monsters
 /// </summary>
 private void fillMonsters()
 {
     Monsters.Add(new Monster("Orc", "", 3, 150, 0, 0, 15, 30));
     Monsters.Add(new Monster("Goblin", "", 5, 50, 0, 0, 10, 20));
     Monsters.Add(new Monster("Slug", "", 1, 50, 0, 0, 10, 15));
     Monsters.Add(new Monster("Rat", "", 15, 70, 0, 0, 10, 25));
     Monsters.Add(new Monster("Skeleton", "", 4, 100, 0, 0, 10, 25));
 }
Example #13
0
 /// <summary>
 /// Fill the List of Monsters
 /// </summary>
 private void FillMonsters()
 {
     Monsters.Add(new Monster("Men in Blue", "", 5, 200, 0, 0, 35));
     Monsters.Add(new Monster("Alliance Soldier", "", 3, 150, 0, 0, 15));
     Monsters.Add(new Monster("Reaver", "", 6, 300, 0, 0, 50));
     Monsters.Add(new Monster("Alliance Spy", "", 4, 100, 0, 0, 20));
     Monsters.Add(new Monster("Random Hoodlum", "", 3, 50, 0, 0, 5));
 }
Example #14
0
 /// <summary>
 /// Fill the List of Monsters
 /// </summary>
 private void fillMonsters()
 {
     Monsters.Add(new Monster("Orc", "", 3, 100, 0, 0, 10));
     Monsters.Add(new Monster("Goblin", "", 1, 30, 0, 0, 5));
     Monsters.Add(new Monster("Slug", "", 5, 3, 0, 0, 2));
     Monsters.Add(new Monster("Rat", "", 0, 5, 0, 0, 1));
     Monsters.Add(new Monster("Skeleton", "", 4, 70, 0, 0, 7));
 }
Example #15
0
        public GameMaster(Monster monster)
        {
            this.clueDeck     = new ClueDeck(monster);
            this.weaponDeck   = new WeaponDeck();
            IsMonsterRevealed = false;

            Monsters.Add(monster);
        }
Example #16
0
        public void AddEnemy()
        {
            var random    = new Random();
            var enemyX    = MapWidth - 1;
            var enemyY    = random.Next(MapHeight);
            var enemyType = (MonsterType)random.Next(3);

            Monsters.Add(new Monster(this, enemyX, enemyY, enemyType));
        }
Example #17
0
        public void SpawnBossMonster()
        {
            HarpRadisheal harpRadisheal = Instantiate(PrefabManager.Instance.bossMonster, SpawnPoint, Quaternion.identity).GetComponent <HarpRadisheal>();

            Monsters.Add(Key, harpRadisheal);
            harpRadisheal.index = Monsters.Count - 1;
            harpRadisheal.ChangeSortingLayer(harpRadisheal.index * -2, harpRadisheal.index * -2 + 1);
            Key++;
        }
Example #18
0
        public void AddMonster(Monster mons)
        {
            var pos = mons.Position;

            SetAttribute(pos.X, pos.Y, MapAttributes.Stand);
            Monsters.Add(mons);

            MonsterAdd?.Invoke(mons, new EventArgs());
        }
Example #19
0
        private void SpawnPirates()
        {
            var spawnPoints = Locations.Values.Where(l => l.IsSpawnPoint && l.SpawnType == MonsterGroup.Pirate);

            foreach (var spawnPoint in spawnPoints)
            {
                Monsters.Add(new WanderingMonster(spawnPoint, MonsterGroup.Pirate));
            }
        }
Example #20
0
 public MonsterWeakTile(int power, Position position)
 {
     lifes    = power;
     Power    = power;
     Position = position;
     PlayerTile.CauseDamage += OnReceiveDamage;
     itemName = "Weak monster";
     Monsters.Add(this);
 }
Example #21
0
            public Fight(Hero hero)
            {
                this.Monsters = new List <Enemy>();
                this.hero     = hero;
                Enemy giant    = new Giant();
                Enemy bigbaddy = new BigBaddy();

                Monsters.Add(giant);
                Monsters.Add(bigbaddy);
            }
Example #22
0
        //loads all the monsters at the start of the game into the list and displays a internal log
        private void Awake()
        {
            Instance = this;
            foreach (Monster monster in GetComponents <Monster>())
            {
                Debug.Log("Monster Found");
                Monsters.Add(monster);
            }

            Monsters.AddRange(GetComponents <Monster>());
        }
    public void Read(BinaryReader br)
    {
        Monsters.Clear();
        int monsterCount = br.ReadInt32();

        for (int j = 0; j < monsterCount; j++)
        {
            Monsters.Add(new Monster(DarkestDungeonManager.Data.Monsters[br.ReadString()]));
        }
        Cleared = br.ReadBoolean();
    }
Example #24
0
 public void AddMonster(Monster monster, bool setActive)
 {
     if (!Monsters.Contains(monster))
     {
         Monsters.Add(monster);
     }
     if (setActive)
     {
         SetIsWalkable(monster.X, monster.Y, false);
         GameController.SchedulingSystem.Add(monster);
     }
 }
Example #25
0
 //Генерация случайного монстра в зависимости от стадии игры
 public void GenerateMonster(Hero sam, Cell[,] table)
 {
     if (Monsters.Count < 10 * MonsterTier)
     {
         int      index      = DataBase.RNG.Next(3 * MonsterTier);
         Type[]   gameTypes  = new Type[] { typeof(Labyrinth), typeof(Hero), typeof(Cell[, ]) };
         object[] gameValues = new object[] { this, sam, table };
         var      o          = DataBase.MonsterTypes[index].GetConstructor(gameTypes);
         Monster  m          = o.Invoke(gameValues) as Monster;
         Monsters.Add(m);
     }
 }
Example #26
0
 public void AddMonster(int monsterId, int chanceOfEncounter)
 {
     if (Monsters.Exists(m => m.MonsterId == monsterId))
     {
         Monsters.First(m => m.MonsterId == monsterId)
         .ChanceOfEncounter = chanceOfEncounter;
     }
     else
     {
         Monsters.Add(new MonsterEncounter(monsterId, chanceOfEncounter));
     }
 }
Example #27
0
    //내부 함수

    private void SpanMonster()
    {
        //몬스터 생성 후 정보 할당
        var mt     = BM.CreateMonster(MONSTER_TYPE.COMMON);
        int hp     = 5;
        int speed  = 3;
        int attack = 1;
        int reward = 1;

        mt.SetStatus(hp, speed, attack, reward, m_RoundPath);
        Monsters.Add(mt);
        //
    }
Example #28
0
        public void SpawnMonsters(int monsterCount)
        {
            Enumerable.Range(0, monsterCount).ToList().ForEach(_ =>
            {
                Position randomPosition;
                do
                {
                    randomPosition = _dice.RollPosition(Size.Width, Size.Height);
                } while (!MonsterCanSpawnOn(randomPosition));

                Monsters.Add(MonsterFactory.CreateRandomMonster(randomPosition));
            });
        }
Example #29
0
        public ViewModel()
        {
            foreach (var info in Info.Instance().Party)
            {
                Party.Add(new Character(0x5616 + info.Value * 148)
                {
                    Info = info
                });
            }

            for (uint i = 0; i < 256; i++)
            {
                Items.Add(new Item(0x3F14 + i * 2, 0x4114 + i));
            }

            foreach (var info in Info.Instance().KeyItems)
            {
                KeyItems.Add(new BitValue(0x44D4, info));
            }

            for (uint i = 0; i < 200; i++)
            {
                Equipments.Add(new Equipment(0x44EA + i * 22));
            }

            foreach (var info in Info.Instance().Blitz_Player)
            {
                if (info.Value >= 60)
                {
                    continue;
                }
                Blitz.Add(new BlitzBall(0x1234, info));
            }
            for (uint i = 0; i < 8; i++)
            {
                Blitz_Term.Add(new IntValue(0x1676 + i, 1));
            }

            foreach (var info in Info.Instance().Monsters)
            {
                Monsters.Add(new IntValue(0x4254 + info.Value, 1)
                {
                    Info = info
                });
            }

            for (uint i = 0; i < 6; i++)
            {
                FavorabilityRatings.Add(new IntValue(0x78 + i * 4, 4));
            }
        }
Example #30
0
        public Settings(Shop shop)
        {
            this.Monsters = new List <Monster>();
            myShop        = shop;
            Monster monster = new Monster();

            Monsters.Add(monster);

            AddDefaultMonster("Giant Snake", 10, 10, 25, 50);
            AddDefaultMonster("Raptor", 15, 15, 50, 150);
            AddDefaultMonster("Chomper", 20, 20, 75, 200);
            AddDefaultMonster("Scipher", 30, 30, 100, 250);
            AddDefaultMonster("Mega Bear", 50, 50, 125, 300);
        }