69 lines
2.5 KiB
JavaScript
69 lines
2.5 KiB
JavaScript
|
|
/*--------------------------------------------------------------------------
|
|
|
|
戦闘時、Unitのcustom.tmpNowVirtualAttackに一時的にvirtualAttackUnitを保持します。
|
|
SkillRandomizer._isSkillInvokedInternalなどvirtualAttackUnitを渡せない関数で
|
|
virtualAttackUnitを参照することができます。
|
|
|
|
使用方法:
|
|
unit.custom.tmpNowVirtualAttackでvirtualAttackUnitの参照が可能
|
|
|
|
作成者:
|
|
o-to
|
|
|
|
更新履歴:
|
|
2015/05/30:新規作成
|
|
2016/01/10:
|
|
EPとFPシステム導入時に武器のEP・FP消費判定前にスキル発動によって
|
|
EP・FPを消費してしまって攻撃できない可能性があるため修正
|
|
|
|
--------------------------------------------------------------------------*/
|
|
|
|
(function() {
|
|
|
|
// 攻撃前にスキル発動するか
|
|
OT_BeforeAttackSkill = false;
|
|
|
|
// virtualAttackUnit作成時にテンポラリデータを作成
|
|
var alias1 = VirtualAttackControl.createVirtualAttackUnit;
|
|
VirtualAttackControl.createVirtualAttackUnit = function(unitSelf, targetUnit, isSrc, attackInfo) {
|
|
var virtualAttackUnit = alias1.call(this, unitSelf, targetUnit, isSrc, attackInfo);
|
|
|
|
delete virtualAttackUnit.unitSelf.custom.tmpNowVirtualAttack;
|
|
virtualAttackUnit.unitSelf.custom.tmpNowVirtualAttack = virtualAttackUnit;
|
|
//root.log('テンポラリ作成');
|
|
|
|
OT_BeforeAttackSkill = true;
|
|
return virtualAttackUnit;
|
|
};
|
|
|
|
// 戦闘後テンポラリデータ削除(削除しないとセーブ時にエラーになる)
|
|
var alias2 = NormalAttackOrderBuilder._endVirtualAttack;
|
|
NormalAttackOrderBuilder._endVirtualAttack = function(virtualActive, virtualPassive)
|
|
{
|
|
alias2.call(this, virtualActive, virtualPassive);
|
|
delete virtualActive.unitSelf.custom.tmpNowVirtualAttack;
|
|
delete virtualPassive.unitSelf.custom.tmpNowVirtualAttack;
|
|
|
|
OT_BeforeAttackSkill = false;
|
|
//root.log('テンポラリ削除');
|
|
};
|
|
|
|
// 攻撃開始前にスキル発動する可能性があるためチェックを入れる
|
|
var alias3 = VirtualAttackControl.isRound;
|
|
VirtualAttackControl.isRound = function(virtualAttackUnit)
|
|
{
|
|
OT_BeforeAttackSkill = true;
|
|
return alias3.call(this, virtualAttackUnit);
|
|
};
|
|
|
|
// 攻撃可能か判定時に攻撃開始後にスキル発動する可能性があるためチェックを外す
|
|
var alias4 = VirtualAttackControl.isAttackContinue;
|
|
VirtualAttackControl.isAttackContinue = function(virtualAttackUnit)
|
|
{
|
|
OT_BeforeAttackSkill = false;
|
|
return alias4.call(this, virtualAttackUnit);
|
|
};
|
|
|
|
})();
|
|
|