- 841 名前:ゲーム好き名無しさん mailto:sage [2017/10/21(土) 13:27:43.63 ID:opp/ly0r0.net]
- >>798
特定のアイテム"だけ"でいいならこんな感じ。剣全般とかになるともう少し工夫しないと駄目 targetItem:{id:<対象のID>, isWeapon: <対象が武器ならtrue, アイテムならfalse>} extraRecoveryValue: <耐久変化値、減らすなら負の値、増やすなら正の値> の2つを耐久変化アイテムに入れれば動く。行数制限きついから結構見辛くしてしまった (function(){ var alias1 = Miscellaneous.isDurabilityChangeAllowed; Miscellaneous.isDurabilityChangeAllowed = function(item, targetItem) { if (item && targetItem && typeof item.custom.targetItem === 'object') { if (item.custom.targetItem.id === targetItem.getId() && item.custom.targetItem.isWeapon === targetItem.isWeapon()) { return true; } else { return false; } } return alias1.call(this, item, targetItem); }; var alias2 = DurabilityChangeItemUse.enterMainUseCycle; DurabilityChangeItemUse.enterMainUseCycle = function(itemUseParent) { var durability, generator; var itemTargetInfo = itemUseParent.getItemTargetInfo(); if (typeof itemTargetInfo.item.custom.extraRecoveryValue !== 'number') { return alias2.call(this, itemUseParent); } durability = itemTargetInfo.targetItem.getLimit() + itemTargetInfo.item.custom.extraRecoveryValue; if (durability > itemTargetInfo.targetItem.getLimitMax()) { durability = itemTargetInfo.targetItem.getLimitMax(); } else if (durability <= 0) { durability = -1; } this._dynamicEvent = createObject(DynamicEvent); generator = this._dynamicEvent.acquireEventGenerator(); generator.itemDurabilityChange(itemTargetInfo.targetUnit, itemTargetInfo.targetItem, durability, IncreaseType.ASSIGNMENT, itemUseParent.isItemSkipMode()); return this._dynamicEvent.executeDynamicEvent(); }; })();
|

|