private static void populateCharacterPanel(CombatCharacterController character) { BaseCharacterStatPanel._nameText.text = character.charName; BaseCharacterStatPanel._levelText.text = character.level.ToString(); BaseCharacterStatPanel._hpText.text = String.Concat(character.currentHp.ToString(), "/", character.maxHp.ToString()); BaseCharacterStatPanel._mpText.text = String.Concat(character.currentMp.ToString(), "/", character.maxMp.ToString()); BaseCharacterStatPanel._statusText.text = ""; }
private float calcAttackDamage(CombatCharacterController _attacker, CombatCharacterController _defender) { float power = _attacker.Power; float defense = _defender.Defense; float luck = Random.Range(0.8f, 1.2f); float damage = power * (power / (power + defense)) * luck; return damage; }
private void populateCharacterPanel() { CombatCharacterController ccc = this._currentCharacter.GetComponent <CombatCharacterController>(); this._nameText.text = ccc.charName; this._levelText.text = ccc.level.ToString(); this._hpText.text = String.Concat(ccc.currentHp.ToString(), "/", ccc.maxHp.ToString()); this._mpText.text = String.Concat(ccc.currentMp.ToString(), "/", ccc.maxMp.ToString()); this._statusText.text = ""; }
public void onClick() { CombatCharacterController activeCharacter = TurnOrder.getActiveCharacter().GetComponent <CombatCharacterController>(); HashSet <GameObject> foundRange = Rangefinder.findAllTilesInRange( activeCharacter.getCurrentTileOfCharacter(), activeCharacter.GetComponent <CombatCharacterController>().walkRange ); CombatUiStateKeeper.hideCombatUi(); this._currentMovementRange = new Range(foundRange, "movement"); _currentMovementRange.colorRange(); this._isMovementPhase = true; }
public void Init(CombatCharacterController attacker, CombatCharacterController defender) { //create empty subtract operation if (mOperations == null || mOperations.operands.Length != opCount) { mOperations = new MixedNumberOps(); mOperations.operands = new MixedNumberOps.Operand[opCount]; for (int i = 0; i < mOperations.operands.Length; i++) { mOperations.operands[i] = new MixedNumberOps.Operand(); } mOperations.operators = new OperatorType[opCount - 1]; for (int i = 0; i < mOperations.operators.Length; i++) { mOperations.operators[i] = OperatorType.Subtract; } } //fill first operand if (mOperations.operands.Length > 0) { var num = GetNumber(); mOperations.operands[0].ApplyNumber(num); } //this will reset the operation opsWidget.gameObject.SetActive(false); opsWidget.operation = mOperations; if (timerWidget) { timerWidget.SetActive(false); timerWidget.delay = GameData.instance.defendDuration; timerWidget.ResetValue(); } if (deckWidget) { deckWidget.gameObject.SetActive(false); deckWidget.Clear(); } mAttacker = attacker; mDefender = defender; }
public void Init(CombatCharacterController attacker, CombatCharacterController defender) { if (mAttackNumbers == null || mAttackNumbers.Capacity != attackCount) { mAttackNumbers = new M8.CacheList <MixedNumber>(attackCount); } else { mAttackNumbers.Clear(); } //create empty sum operation if (mOperations == null || mOperations.operands.Length != opCount) { mOperations = new MixedNumberOps(); mOperations.operands = new MixedNumberOps.Operand[opCount]; for (int i = 0; i < mOperations.operands.Length; i++) { mOperations.operands[i] = new MixedNumberOps.Operand(); } mOperations.operators = new OperatorType[opCount - 1]; for (int i = 0; i < mOperations.operators.Length; i++) { mOperations.operators[i] = OperatorType.Add; } } //apply fixed numbers if (fixedGroups.Length > 0) { var fixedNumbers = fixedGroups[mCurFixedNumbersIndex].GetNumbers(); mCurFixedNumbersIndex++; if (mCurFixedNumbersIndex == fixedGroups.Length) { mCurFixedNumbersIndex = 0; } var count = Mathf.Min(fixedNumbers.Length, mOperations.operands.Length); for (int i = 0; i < count; i++) { mOperations.operands[i].ApplyNumber(fixedNumbers[i]); } for (int i = count; i < mOperations.operands.Length; i++) { mOperations.operands[i].RemoveNumber(); } } // //this will reset the operation opsWidget.gameObject.SetActive(false); opsWidget.operation = mOperations; if (timerWidget) { timerWidget.SetActive(false); timerWidget.delay = GameData.instance.attackDuration; timerWidget.ResetValue(); } if (counterWidget) { counterWidget.Init(attackCount); } if (deckWidget) { deckWidget.gameObject.SetActive(false); deckWidget.Clear(); } mAttacker = attacker; mDefender = defender; }