void Awake() { if (!_gameStart) { _instance = this; _gameStart = true; } }
void OnDestroy() { s_Sigleton = null; if (this.m_IsBattleStart) { BattleData.IsNewbie = false; } }
void Awake() { s_Sigleton = this; this.m_TotalObserveTick = ConfigInterface.Instance.SystemConfig.MatchObserveLimitSecond * ClientConfigConstants.Instance.TicksPerSecond; this.m_TotalMatchTick = ConfigInterface.Instance.SystemConfig.MatchDurationSecond * ClientConfigConstants.Instance.TicksPerSecond; AudioController.PlayMusic("BattleVisit"); }
public void WhenBuildingBattle_ReturnValidBattle() { var builder = new BattleBuilder(); var director = new BattleDirector(); director.Build(builder); var battle = builder.Build(); battle.Should().BeOfType <Battle>(); battle.Arena.Should().NotBeNull(); battle.BattleSystem.Should().BeOfType <ConditionalTurnBasedBattle>(); battle.Mob.Should().NotBeNull(); battle.Party.Should().NotBeNull(); battle.ProgressionSystem.Should().BeOfType <SphereGrid>(); }
public void WhenBuildingBattle_ReturnValidBattle() { var builder = new BattleBuilder(); var director = new BattleDirector(); director.Build(builder); var battle = builder.Build(); battle.Should().BeOfType <Battle>(); battle.AggroedEnemies.Should().NotBeNull(); battle.BattleSystem.Should().BeOfType <RealTimeBattle>(); battle.Map.Should().NotBeNull(); battle.Player.Should().NotBeNull(); battle.ProgressionSystem.Should().BeOfType <ActivityBasedProgression>(); }
public void Heal(Character target) { int healRoll = Random.Range(0, 11) + wisdom / 10; target.currentHealth += healRoll; if (target.currentHealth > target.maximumHealth) { target.currentHealth = target.maximumHealth; } BattleDirector bd = GameObject.Find("MessagePanel").GetComponentInChildren <BattleDirector>(); bd.StartCoroutine(bd.MakeMessage(this, "Healed " + target.FullName() + " for " + healRoll + " health!", target)); target.battleIcon.DisplayHealing(healRoll); healReserves--; if (healReserves == 0) { bd.StartCoroutine(bd.MakeMessage(this, FullName() + " has exhausted their healing reserves!", this)); } }
public void BasicAttack(Character target, int modifier) { BattleDirector bd = GameObject.Find("MessagePanel").GetComponentInChildren <BattleDirector>(); if (AttackRoll(target)) { int damageDealt = DealDamage(target, modifier); if (CritCheck()) { bd.StartCoroutine(bd.MakeMessage(this, "CRITICAL! " + FullName() + " attacked " + target.FullName() + " for " + damageDealt + " damage!", target)); //half damage to left and right of target if (traits.Contains("Wild Strikes")) { int targetIndex = 0; if (characterFaction == Character.Faction.friend) { targetIndex = BattleDirector.enemyCombatants.IndexOf(target); } else { targetIndex = BattleDirector.playerCombatants.IndexOf(target); } Character leftOfTarget; Character rightOfTarget; if (targetIndex > 0 && targetIndex < 4) { if (target.characterFaction == Character.Faction.enemy) { leftOfTarget = ((Character)BattleDirector.enemyCombatants[targetIndex - 1]); rightOfTarget = ((Character)BattleDirector.enemyCombatants[targetIndex + 1]); } else { leftOfTarget = ((Character)BattleDirector.playerCombatants[targetIndex - 1]); rightOfTarget = ((Character)BattleDirector.playerCombatants[targetIndex + 1]); } attackRolld20 = 1; DealDamage(leftOfTarget, modifier); DealDamage(rightOfTarget, modifier); bd.StartCoroutine(bd.MakeMessage(this, leftOfTarget.FullName() + " took " + damageDealt / 2 + " damage!", leftOfTarget)); bd.StartCoroutine(bd.MakeMessage(this, rightOfTarget.FullName() + " took " + damageDealt / 2 + " damage!", rightOfTarget)); } else if (targetIndex > 0) { if (target.characterFaction == Character.Faction.enemy) { leftOfTarget = ((Character)BattleDirector.enemyCombatants[targetIndex - 1]); } else { leftOfTarget = ((Character)BattleDirector.playerCombatants[targetIndex - 1]); } attackRolld20 = 1; DealDamage(leftOfTarget, (damageDealt / 2)); bd.StartCoroutine(bd.MakeMessage(this, leftOfTarget.FullName() + " took " + damageDealt / 2 + " damage!", leftOfTarget)); } else { if (target.characterFaction == Character.Faction.enemy) { rightOfTarget = ((Character)BattleDirector.enemyCombatants[targetIndex + 1]); } else { rightOfTarget = ((Character)BattleDirector.playerCombatants[targetIndex + 1]); } attackRolld20 = 1; DealDamage(rightOfTarget, (damageDealt / 2)); bd.StartCoroutine(bd.MakeMessage(this, rightOfTarget.FullName() + " took " + damageDealt / 2 + " damage!", rightOfTarget)); } } } else { bd.StartCoroutine(bd.MakeMessage(this, FullName() + " attacked " + target.FullName() + " for " + damageDealt + " damage!", target)); } if (target.currentHealth <= 0) { bd.StartCoroutine(bd.MakeMessage(this, FullName() + " killed " + target.FullName() + "!", target)); } } else { bd.StartCoroutine(bd.MakeMessage(this, FullName() + "'s attack missed " + target.FullName() + "!", target)); } }
public void Add(BattleDirector director) { battleDirectors.Add(director); }