/// <summary> /// Adds a monster from trainer encounter. /// </summary> /// <param name="monsterInfo">Monster info.</param> public void AddMonster(MonsterParty monstersInfo) { for (var count = 0; count < MAX_MONSTERS_IN_PARTY; count++) { var monsterInfo = monstersInfo[count]; party[count].Initialize(HeavyMonsters.GetHeavyReference(monsterInfo.MonsterIndex), (ushort)monsterInfo.MonsterLevel); for (var index = 0; index < partyMovesContainer.Length; index++) { partyMovesContainer[index] = null; } //TODO clean this up. if (monsterInfo.MoveOne.MonsterMoveIndex >= 0) { partyMovesContainer[0] = MonsterMoves.GetMonsterMove(monsterInfo.MoveOne.MonsterMoveIndex).GetMonsterMoveInfoFromMonsterMove(monsterInfo.MoveOne.CurrentPP); } if (monsterInfo.MoveTwo.MonsterMoveIndex >= 0) { partyMovesContainer[1] = MonsterMoves.GetMonsterMove(monsterInfo.MoveTwo.MonsterMoveIndex).GetMonsterMoveInfoFromMonsterMove(monsterInfo.MoveTwo.CurrentPP); } if (monsterInfo.MoveThree.MonsterMoveIndex >= 0) { partyMovesContainer[2] = MonsterMoves.GetMonsterMove(monsterInfo.MoveThree.MonsterMoveIndex).GetMonsterMoveInfoFromMonsterMove(monsterInfo.MoveThree.CurrentPP); } if (monsterInfo.MoveFour.MonsterMoveIndex >= 0) { partyMovesContainer[3] = MonsterMoves.GetMonsterMove(monsterInfo.MoveFour.MonsterMoveIndex).GetMonsterMoveInfoFromMonsterMove(monsterInfo.MoveFour.CurrentPP); } var movesBundle = new MonsterMovesBundle(partyMovesContainer); party[count].InitializeMoves(movesBundle); } }
public void StartWildBattle(MonsterParty playerParty, WildMonster wildMonster) { this.playerParty = playerParty; this.wildMonster = wildMonster; isTamerBattle = false; StartCoroutine(SetupBattle()); }
/// <summary> /// Starts a battle with a wild monster. /// </summary> /// <param name="playerParty">Player's party of monsters.</param> /// <param name="wildMonster">Copy of the wild monster generated from the MapLayer.</param> public void StartWildBattle(MonsterParty playerParty, MonsterObj wildMonster) { _playerParty = playerParty; _wildMonster = wildMonster; _isCharBattle = false; _player = playerParty.GetComponent <PlayerController>(); StartCoroutine(SetupBattle()); }
protected virtual void Awake() { MonstersParty = new MonsterParty(); for (var index = 0; index < monstersInfo.Count; index++) { MonstersParty.AddMonsterToParty(index, monstersInfo[index]); } }
/// <summary> /// Starts a battle with an enemy character. /// </summary> /// <param name="playerParty">Player's party of monsters.</param> /// <param name="battlerParty">Battler's party of monsters.</param> public void StartCharBattle(MonsterParty playerParty, MonsterParty battlerParty) { _playerParty = playerParty; _battlerParty = battlerParty; _isCharBattle = true; _player = playerParty.GetComponent <PlayerController>(); _battler = battlerParty.GetComponent <BattlerController>(); StartCoroutine(SetupBattle()); }
private void Start() { if (_id.Equals(null)) { _id = _name + Random.Range(0, 65534); } _party = GetComponent <MonsterParty>(); }
public void StartTamerBattle(MonsterParty playerParty, MonsterParty enemyParty) { this.playerParty = playerParty; this.enemyTamerParty = enemyParty; isTamerBattle = true; playerController = playerParty.GetComponent <PlayerController>(); enemyTamerController = enemyParty.GetComponent <TamerController>(); StartCoroutine(SetupBattle()); }
public void StartWildBattle(WildMonster wildMonster) { gameState = GameState.Battle; playerController.Pause(); battleSystem.SetActive(true); worldCamera.gameObject.SetActive(false); battleCamera.gameObject.SetActive(true); MonsterParty playerParty = playerController.GetComponent <MonsterParty>(); BattleManager.Get.StartWildBattle(playerParty, wildMonster); }
public void SetInitialSpawn(HexGrid grid, List <HexMapCsv> file) { monstersInWorld = new List <MonsterParty>(); if (file != null) { List <HexMapCsv> inhabitedRows = file.Where(r => r.Inhabitant != string.Empty && r.Inhabitant != "main").ToList(); foreach (HexMapCsv row in inhabitedRows) { monstersInWorld.Add(MonsterParty.Create(this.gameObject.transform.parent, row.Inhabitant, grid.Tiles.Where(t => t.Coordinates.x == row.X && t.Coordinates.y == row.Z).First())); } } }
public void StartTamerBattle(TamerController tamerController) { gameState = GameState.Battle; enemyTamerController = tamerController; playerController.Pause(); battleSystem.SetActive(true); worldCamera.gameObject.SetActive(false); battleCamera.gameObject.SetActive(true); MonsterParty playerParty = playerController.GetComponent <MonsterParty>(); MonsterParty tamerParty = tamerController.GetComponent <MonsterParty>(); BattleManager.Get.StartTamerBattle(playerParty, tamerParty); }
public void FinishBattle() { StallingRoundNumber = 0; var darkenessLoot = DarkestDungeonManager.Data.LootDatabase.DarknessLoot["battle"]; for (int i = darkenessLoot.Count - 1; i >= 0; i--) { if (darkenessLoot[i].DarknessLevel == RaidSceneManager.TorchMeter.CurrentRange.Min) { if (RandomSolver.CheckSuccess(darkenessLoot[i].Chance)) { for (int j = 0; j < darkenessLoot[i].Codes.Count; j++) { BattleLoot.Add(new LootDefinition() { Code = darkenessLoot[i].Codes[j], Count = 1 }); } } break; } } for (int i = 0; i < HeroParty.Units.Count; i++) { var hero = (Hero)HeroParty.Units[i].Character; if (hero.HeroClass.ExtraBattleLoot != null) { BattleLoot.Add(hero.HeroClass.ExtraBattleLoot); } } HeroFormation.RectTransform.SetParent(Rect.parent, false); RaidSceneManager.DungeonCamera.target = HeroFormation.ranks.RectTransform; MonsterFormation.overlay.ResetOverlay(); MonsterParty.DeleteFormation(); MonsterFormation.gameObject.SetActive(false); ResetIds(); backdrop.Deactivate(); Round.OrderedUnits.Clear(); RaidSceneManager.TorchMeter.ClearModifier(); if (SharedHealth.IsActive) { SharedHealth.Reset(); } }
private void Awake() { currentLocateParty = GetComponent <MonsterParty>(); isDropOn = false; }
public void Awake() { monsterParty = this.GetComponent <MonsterParty>(); OverworldEventManager.Instance().onStartTurn += DetermineBehaviours; }