public override void Use(BattleCharacter owner, BattleCharacter target) { logic = BattleDirectorController.Instance; //成功判定 bool m_success = BattleFormula.CheckRate(successRate); if (!m_success) { //失敗メッセージを表示 logic.Message(target.CharacterName + failureMessage); return; } //命中 bool m_hit = BattleFormula.CheckRate(hitRate); if (!m_hit) { //Miss logic.Miss(target); return; } int damage = BattleFormula.PhysicalAttackDamage(owner.status, target.status); damage = Mathf.RoundToInt(damage * damageRate); //クリティカル bool m_critical = BattleFormula.CheckRate(1); if (m_critical) { damage = Mathf.RoundToInt(damage * 1.5f); } //成功メッセージを表示 if (successMessage != string.Empty) { logic.Message(owner.CharacterName + successMessage); } logic.DamageLogic(target, damage, m_critical); }
private void Awake() { Instance = this; }