Project1

标题: 请问有没有在伤害公式里代替b.addState(1)赋予目标死亡的状态 [打印本页]

作者: qq1293616440    时间: 2024-9-4 15:26
标题: 请问有没有在伤害公式里代替b.addState(1)赋予目标死亡的状态
目前在做一个即死效果的技能,我想通过在伤害公式写入“b.addState(1)”的函数来赋予目标死亡(1号)状态。
但大概是我加入了太多插件的原因,这条函数在实测中失去效果了——唯独1号状态无法赋予目标,从2号状态开始的其他状态都能生效。
因为这个技能在伤害公式栏里有判定条件,所以我没法在“技能—效果”栏里直接赋予对面状态。
所以我想请教各位大佬有没有代替“b.addState()”同样能够赋予目标1号状态的函数
p.s. 我试过用“b.die()”来代替,虽然有效果,但是这一条函数太无敌了,能够无视目标的属性有效度和状态有效度强制击杀...
作者: 塔啦啦    时间: 2024-9-8 22:15
HIME_CustomDeathStates
附加死亡状态插件
给其他效果加上相当于死亡的效果
作者: 小秋橙    时间: 2024-9-9 15:57
Game_Battler.prototype.refresh = function() {
    Game_BattlerBase.prototype.refresh.call(this);
    if (this.hp === 0) {
        this.addState(this.deathStateId());
    } else {
        this.removeState(this.deathStateId());
    }
};

Game_Battler.prototype.addState = function(stateId) { // 感觉应该从 rpg_objects.js 的第 3000 行左右修改这几个函数,话说唯独 1 号状态不能添加也是够奇怪的,要是能断点调试一下就好了
    if (this.isStateAddable(stateId)) {
        if (!this.isStateAffected(stateId)) {
            this.addNewState(stateId);
            this.refresh();
        }
        this.resetStateCounts(stateId);
        this._result.pushAddedState(stateId);
    }
};

Game_Battler.prototype.isStateAddable = function(stateId) {
    return (this.isAlive() && $dataStates[stateId] &&
            !this.isStateResist(stateId) &&
            !this._result.isStateRemoved(stateId) &&
            !this.isStateRestrict(stateId));
};




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1