RPG Maker MZ 戰鬥傷害公式

更新 發佈閱讀 10 分鐘

數值計算可以在 資料庫>技能>傷害>公式 那邊 滑鼠放著等它跑出幫助視窗

raw-image

把幫助視窗的內容打下來,如下:

公式

計算基本傷害的公式。
使用者以 a 表示,目標以 b 表示。
其中之一後面加一個點,以引用此後顯示的狀態。
例如,"a.atk"代表使用者的攻擊力。

攻擊
atk
防禦
def
魔法攻擊
mat
魔法防禦
mdf
敏捷度
agi
運氣
luk
最大 HP
mhp
最大 MP
mmp
HP
hp
MP
mp
TP
tp
等級
level


真的去看原生程式碼以後,發現 RM 內建的戰鬥判定過於簡單,

甚至閃避、命中、暴擊都沒有被基本數值(力量、敏捷、幸運)給影響

以下是我看 rmmz_objects 找到的內容:


敏捷 agi

影響 TPB 類型的戰鬥跑條速度 以及 回合制優先度

Game_Battler.prototype.tpbSpeed = function() {
    return Math.sqrt(this.agi) + 1;
};

Game_Action.prototype.speed = function() {
    const agi = this.subject().agi;
    let speed = agi + Math.randomInt(Math.floor(5 + agi / 4));
    if (this.item()) {
        speed += this.item().speed;
    }
    if (this.isAttack()) {
        speed += this.subject().attackSpeed();
    }
    return speed;
};


幸運 luk

影響上/被上狀態的成功率

Game_Action.prototype.itemEffectAddAttackState = function(target, effect) {
    for (const stateId of this.subject().attackStates()) {
        let chance = effect.value1;
        chance *= target.stateRate(stateId);
        chance *= this.subject().attackStatesRate(stateId);
        chance *= this.lukEffectRate(target);
        if (Math.random() < chance) {
            target.addState(stateId);
            this.makeSuccess(target);
        }
    }
};

Game_Action.prototype.itemEffectAddNormalState = function(target, effect) {
    let chance = effect.value1;
    if (!this.isCertainHit()) {
        chance *= target.stateRate(effect.dataId);
        chance *= this.lukEffectRate(target);
    }

    if (Math.random() < chance) {
        target.addState(effect.dataId);
        this.makeSuccess(target);
    }
};

Game_Action.prototype.itemEffectAddDebuff = function(target, effect) {
    let chance = target.debuffRate(effect.dataId) * this.lukEffectRate(target);
    if (Math.random() < chance) {
        target.addDebuff(effect.dataId, effect.value1);
        this.makeSuccess(target);
    }
};

Game_Action.prototype.lukEffectRate = function(target) {
    return Math.max(1.0 + (this.subject().luk - target.luk) * 0.001, 0.0);
};


閃避率 eva

當系統產的隨機數 < 目標的閃避率 時 閃避成功

Game_Action.prototype.apply = function(target) {
    const result = target.result();
    this.subject().clearResult();
    result.clear();
    result.used = this.testApply(target);
    result.missed = result.used && Math.random() >= this.itemHit(target);
    result.evaded = !result.missed && Math.random() < this.itemEva(target);
    result.physical = this.isPhysical();
    result.drain = this.isDrain();
    if (result.isHit()) {
        if (this.item().damage.type > 0) {
            result.critical = Math.random() < this.itemCri(target);
            const value = this.makeDamageValue(target, result.critical);
            this.executeDamage(target, value);
        }
        for (const effect of this.item().effects) {
            this.applyItemEffect(target, effect);
        }
        this.applyItemUserEffect(target);
    }
    this.updateLastTarget(target);
};


命中率 hit

物理攻擊的命中率:成功率的百分比 乘上 使用者的命中率

非物理攻擊的命中率:成功率的百分比

命中率可以在 資料庫>敵軍(或 角色/職業)>特性>能力值>追加能力值 看到

成功率可以在 資料庫>技能 看到

Game_Action.prototype.itemHit = function(/*target*/) {
    const successRate = this.item().successRate;
    if (this.isPhysical()) {
        return successRate * 0.01 * this.subject().hit;
    } else {
        return successRate * 0.01;
    }
};


暴擊率 cri

攻擊者的暴擊率 乘上(1-受擊者的暴擊迴避率)

暴擊迴避率可以在 資料庫>敵軍(或 角色/職業)>特性>能力值>追加能力值 看到

Game_Action.prototype.itemCri = function(target) {
    return this.item().damage.critical
        ? this.subject().cri * (1 - target.cev)
        : 0;
};


暴擊傷害

固定為傷害 乘上 3

Game_Action.prototype.applyCritical = function(damage) {

    return damage * 3;

};


難怪會有那麼多擴充戰鬥系統的插件,

因為想讓戰鬥變得更有系統性的話,真的是要再找插件。

留言
avatar-img
留言分享你的想法!
avatar-img
12atan
8會員
11內容數
BL萬歲!犬貓萬歲!RM萬歲! 也可以在這裡找到我🌿 https://linktr.ee/12atan
你可能也想看
Thumbnail
在小小的租屋房間裡,透過蝦皮購物平臺採購各種黏土、模型、美甲材料等創作素材,打造專屬黏土小宇宙的療癒過程。文中分享多個蝦皮挖寶地圖,並推薦蝦皮分潤計畫。
Thumbnail
在小小的租屋房間裡,透過蝦皮購物平臺採購各種黏土、模型、美甲材料等創作素材,打造專屬黏土小宇宙的療癒過程。文中分享多個蝦皮挖寶地圖,並推薦蝦皮分潤計畫。
Thumbnail
小蝸和小豬因購物習慣不同常起衝突,直到發現蝦皮分潤計畫,讓小豬的購物愛好產生價值,也讓小蝸開始欣賞另一半的興趣。想增加收入或改善伴侶間的購物觀念差異?讓蝦皮分潤計畫成為你們的神隊友吧!
Thumbnail
小蝸和小豬因購物習慣不同常起衝突,直到發現蝦皮分潤計畫,讓小豬的購物愛好產生價值,也讓小蝸開始欣賞另一半的興趣。想增加收入或改善伴侶間的購物觀念差異?讓蝦皮分潤計畫成為你們的神隊友吧!
Thumbnail
這篇內容,將會講解什麼是運算子,以及與運算子相關的知識。包括運算子的簡介、賦值運算子、算術運算子、遞增/遞減、比較運算子、邏輯運算子。
Thumbnail
這篇內容,將會講解什麼是運算子,以及與運算子相關的知識。包括運算子的簡介、賦值運算子、算術運算子、遞增/遞減、比較運算子、邏輯運算子。
Thumbnail
這篇內容,將會講解什麼是變數,以及與變數相關的知識。包括變數、資料型態、變數賦值、變數的命名規則、變數的作用區域、變數的可重複性、內建變數。
Thumbnail
這篇內容,將會講解什麼是變數,以及與變數相關的知識。包括變數、資料型態、變數賦值、變數的命名規則、變數的作用區域、變數的可重複性、內建變數。
Thumbnail
這篇內容,將透過實戰教學,來講解「滑鼠點方塊」的程式碼。包括如何測試遊戲、座標系統、自訂參數和內建參數、if else、and、遊戲的邏輯設計、程式碼解析。
Thumbnail
這篇內容,將透過實戰教學,來講解「滑鼠點方塊」的程式碼。包括如何測試遊戲、座標系統、自訂參數和內建參數、if else、and、遊戲的邏輯設計、程式碼解析。
Thumbnail
電腦只做一件事情: 運算。 我們所看到的任何酷酷的應用: 不論是網頁動畫、遊戲特效、甚至是 AI 說的話,全部都 是由電腦的運算結果組合而成的。 首先我們來梳理一下各個名詞之間的關聯: 1. 運算分成兩個部分: 運算子 (運算的名稱,如: 加法) 和運算元 (運算的對象,如: 8)。運算就是對資
Thumbnail
電腦只做一件事情: 運算。 我們所看到的任何酷酷的應用: 不論是網頁動畫、遊戲特效、甚至是 AI 說的話,全部都 是由電腦的運算結果組合而成的。 首先我們來梳理一下各個名詞之間的關聯: 1. 運算分成兩個部分: 運算子 (運算的名稱,如: 加法) 和運算元 (運算的對象,如: 8)。運算就是對資
Thumbnail
在EXCEL中如果要進行四則運算,必須先輸入一個等於『=』,之後再輸入想要運算的算式。 但如果EXCEL的資料中,有一堆算式,但是前面沒有等於該怎麼快速計算呢😣 【📁檔案下載】 看教學之前可以先下載練習檔,學中做、做中學效果更好哦。 檔案下載 【▶️影音教學】
Thumbnail
在EXCEL中如果要進行四則運算,必須先輸入一個等於『=』,之後再輸入想要運算的算式。 但如果EXCEL的資料中,有一堆算式,但是前面沒有等於該怎麼快速計算呢😣 【📁檔案下載】 看教學之前可以先下載練習檔,學中做、做中學效果更好哦。 檔案下載 【▶️影音教學】
Thumbnail
這篇教學主要介紹瞭如何在遊戲中設置連續登入獎勵的方法,包括建立變量、加入時間、計算登入和連續登入次數,以及顯示和執行連續登入獎勵的具體方法。
Thumbnail
這篇教學主要介紹瞭如何在遊戲中設置連續登入獎勵的方法,包括建立變量、加入時間、計算登入和連續登入次數,以及顯示和執行連續登入獎勵的具體方法。
Thumbnail
這是個自己學習的紀錄,可能會有點枯燥,但忘了時能夠當作查詢資料用:)
Thumbnail
這是個自己學習的紀錄,可能會有點枯燥,但忘了時能夠當作查詢資料用:)
Thumbnail
Excel是職場上必備的工具之一,它可以用來處理各種數據,從簡單的計算到複雜的分析,都能夠勝任。在Excel中,有一個非常實用的技巧,叫做「微調按鈕」。微調按鈕可以讓你輕鬆地調整數據,而不需要手動輸入。它非常適合用於以下情況:需要頻繁調整數據的情況,例如:產品價格、銷售目標等。
Thumbnail
Excel是職場上必備的工具之一,它可以用來處理各種數據,從簡單的計算到複雜的分析,都能夠勝任。在Excel中,有一個非常實用的技巧,叫做「微調按鈕」。微調按鈕可以讓你輕鬆地調整數據,而不需要手動輸入。它非常適合用於以下情況:需要頻繁調整數據的情況,例如:產品價格、銷售目標等。
Thumbnail
當不同位置的數字要快速求和,有什麼方法可以快速計算出來呢?今天就來學學這方法,讓你在短短3秒內完成求和操作。。無論您是初學者還是有經驗的Excel用戶,這些實用的技巧都能幫助您提高工作效率。立即閱讀本文,掌握快速求和的訣竅,節省寶貴時間!
Thumbnail
當不同位置的數字要快速求和,有什麼方法可以快速計算出來呢?今天就來學學這方法,讓你在短短3秒內完成求和操作。。無論您是初學者還是有經驗的Excel用戶,這些實用的技巧都能幫助您提高工作效率。立即閱讀本文,掌握快速求和的訣竅,節省寶貴時間!
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News