242 lines
11 KiB
JavaScript
242 lines
11 KiB
JavaScript
let EmTurnFlame = 0;
|
|
let _TnEmNo = 0;
|
|
let _SWCngFlg = false;
|
|
let _CmnGoFlg = false;
|
|
let _EmPicNo = -1;
|
|
let _NowTurnEmNo = 0;
|
|
let _TnSkillNo = -1;
|
|
let _BtlEnemyTurnSpineFlg = null;
|
|
let BtlEnemyCellDmgFlg = false;
|
|
Game_Interpreter.prototype.BtlEnemyTurn_Update = function () {
|
|
//1.最初に点滅させる(5フレ毎)
|
|
if (EmTurnFlame == 0) {
|
|
_EmPicNo = -1;
|
|
_NowTurnEmNo = TurnCard[0]._No;
|
|
_TnSkillNo = -1;
|
|
switch (befTurnType) {
|
|
case EnBefTurn.Mikata:
|
|
_TnEmNo = -TurnCard[0]._No - 1;
|
|
_EmPicNo = PN_CharacterPL + NPlayer[_TnEmNo]._PicNo;
|
|
_BtlEnemyTurnSpineFlg = NPlayer[_TnEmNo].SpineFlg;
|
|
break;
|
|
case EnBefTurn.Enemy:
|
|
_TnEmNo = TurnCard[0]._No;
|
|
_EmPicNo = PN_Character + NEnemy[_TnEmNo]._PicNo;
|
|
_BtlEnemyTurnSpineFlg = NEnemy[_TnEmNo].SpineFlg;
|
|
if (NEnemy[_TnEmNo]._hp == 0) {
|
|
this.ChangePhase_TurnChange();
|
|
btlWaitFlame = 30;
|
|
}
|
|
break;
|
|
case EnBefTurn.Skill:
|
|
_TnSkillNo = TurnCard[0]._No;
|
|
_TnEmNo = -1;
|
|
_EmPicNo = PN_CharacterPL + NPlayer[0]._PicNo;
|
|
break;
|
|
case EnBefTurn.EmSkill:
|
|
break;
|
|
}
|
|
StateEffectFlame = 0;
|
|
}
|
|
if (EmTurnFlame >= 1) {
|
|
if (_NowTurnEmNo != TurnCard[0]._No) {
|
|
EmTurnFlame = 0;
|
|
if (TurnCard[0]._No == -1) {
|
|
this.ChangePhase_TurnChange(true);
|
|
} else {
|
|
if (NEnemy[_TnEmNo]._hp == 0) {
|
|
this.ChangePhase_TurnChange(true);
|
|
}
|
|
}
|
|
btlWaitFlame = 30;
|
|
return;
|
|
}
|
|
}
|
|
if (EmTurnFlame <= 15 && _EmPicNo != -1) {
|
|
if (EmTurnFlame % 10 == 0) {
|
|
if (!_BtlEnemyTurnSpineFlg)
|
|
this.SpriteCngColor(_EmPicNo, [190, 190, 190, 0]);
|
|
else
|
|
this.SetSpineColor(_EmPicNo , 2,2,2,1);
|
|
}
|
|
if (EmTurnFlame % 10 == 5) {
|
|
if (!_BtlEnemyTurnSpineFlg)
|
|
this.SpriteCngColor(_EmPicNo, [0, 0, 0, 0]);
|
|
else
|
|
this.SetSpineColor(_EmPicNo , 1,1,1,1);
|
|
}
|
|
}
|
|
if (EmTurnFlame >= 20) {
|
|
if (!StateSyoriEnd) {
|
|
if (befTurnType != EnBefTurn.Skill && befTurnType != EnBefTurn.EmSkill) {
|
|
this.StateUpdate(TurnCard[0]._No);
|
|
} else {
|
|
StateSyoriEnd = true;
|
|
}
|
|
} else {
|
|
if (cardUseEffTimer == 0 && cardUseMoveTimer == 0) {
|
|
if (UseCard_SkillCounter == 0) {
|
|
if (TurnCard[0]._Type == EnemyTCType.PlSkill) {
|
|
this.SkillLogAdd(EnemyDrawSkillText, 1);
|
|
} else {
|
|
this.SkillLogAdd(EnemyDrawSkillText, 2);
|
|
}
|
|
let _skName = "";
|
|
if (memoSkillArr.length > 0) _skName = memoSkillArr[0];
|
|
SetEnemyLogText = SetEnemyLogText.replace("Name", _skName);
|
|
if (SetEnemyLogText != "") this.BLogAdd(180, SetEnemyLogText);
|
|
switch (befTurnType) {
|
|
case EnBefTurn.Mikata:
|
|
GetSkillMemoData(NPlayer[_TnEmNo].enemy(), NPlayer[_TnEmNo]._UsePtnNo);
|
|
if (NPlayer[_TnEmNo].SpineFlg) {
|
|
let memoTag = "Spine_Atk" + (NPlayer[_TnEmNo]._UsePtnNo + 1);
|
|
let atkAtr = MetaChecker(NPlayer[_TnEmNo].enemy() , memoTag , NPlayer[_TnEmNo].AtkStr);
|
|
this.SetSpineAnime(_EmPicNo, atkAtr, false, 0, 100);
|
|
this.AddSpineAnime(_EmPicNo, "Idl", true, 0, 100);
|
|
if (btl味方VoiceData.isVoice) {
|
|
if (atkAtr != "") {
|
|
if (btl味方VoiceData.AtkVoice.length > 0) {
|
|
this.PRandVoice(btl味方VoiceData.charaName , btl味方VoiceData.AtkVoice);
|
|
}
|
|
} else {
|
|
let voiceTag = "Vo" + (NPlayer[_TnEmNo]._UsePtnNo + 1);
|
|
let voTagName = MetaChecker(NPlayer[_TnEmNo].enemy() , memoTag , false);
|
|
switch (voTagName) {
|
|
case "cng":
|
|
this.PRandVoice(btl味方VoiceData.charaName , btl味方VoiceData.CngVoice);
|
|
break;
|
|
case "heal":
|
|
this.PRandVoice(btl味方VoiceData.charaName , btl味方VoiceData.HealVoice);
|
|
break;
|
|
default:
|
|
if (btl味方VoiceData.ExVoice.length > 0) {
|
|
this.PRandVoice(btl味方VoiceData.charaName , btl味方VoiceData.ExVoice);
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
break;
|
|
case EnBefTurn.Enemy:
|
|
GetSkillMemoData(NEnemy[_TnEmNo].enemy(), NEnemy[_TnEmNo]._UsePtnNo);
|
|
if (NEnemy[_TnEmNo].SpineFlg) {
|
|
let memoTag = "Spine_Atk" + (NEnemy[_TnEmNo]._UsePtnNo + 1);
|
|
let atkAtr = MetaChecker(NEnemy[_TnEmNo].enemy() , memoTag , NEnemy[_TnEmNo].AtkStr);
|
|
this.SetSpineAnime(_EmPicNo, atkAtr, false, 0, 100);
|
|
this.AddSpineAnime(_EmPicNo, "Idl", true, 0, 100);
|
|
}
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
if (UseCard_SkillCounter > CardSkills.length - 1) {
|
|
StateSyoriNo = 0;
|
|
let ckTurnNo = TurnCard[0]._No;
|
|
if (NEnemy.length - 1 >= ckTurnNo) {
|
|
if (ckTurnNo >= 0) {
|
|
stateData = NEnemy[ckTurnNo]._NState;
|
|
} else {
|
|
stateData = NPlayer[-ckTurnNo - 1]._NState;
|
|
}
|
|
for (let j = 0; j < stateData.length; j++) {
|
|
CheckStateData = $dataStates[stateData[j]._No];
|
|
for (let i = 0; i <= CheckStateData.traits.length - 1; i++) {
|
|
let stateDamage = 0;
|
|
switch (CheckStateData.traits[i].dataId) {
|
|
case StType.CelDmg:
|
|
this.StateEffectSet(ckTurnNo);
|
|
stateDamage = Math.round(stateData[j]._Turn);
|
|
if (stateDamage > 0) {
|
|
BtlEnemyCellDmgFlg = true;
|
|
SetEnemyDmgStac(DType.Dmg, ckTurnNo, 15, stateDamage);
|
|
} else {
|
|
SetEnemyDmgStac(DType.HpRecv, ckTurnNo, 15, -stateDamage);
|
|
}
|
|
stateData[j]._Turn--;
|
|
if (stateData[j]._Turn <= 0) {
|
|
stateData.splice(j , 1); j--;
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
StateSyoriNo++;
|
|
}
|
|
}
|
|
HandStateCng();
|
|
this.DefBtn_Draw();
|
|
this.EnemySkillEndPicMove();
|
|
switch (befTurnType) {
|
|
case EnBefTurn.Mikata:
|
|
case EnBefTurn.Enemy:
|
|
this.SetEnemyNextAction(TurnCard[0]._No);
|
|
StateDelCheck_ENo(TurnCard[0]._No);
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
this.ChangePhase_TurnChange();
|
|
btlWaitFlame = 30;
|
|
} else {
|
|
this.EnemySkillUsePicMove();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if (cardUseMoveTimer == 1) {
|
|
this.EnemySkillEffectSet();
|
|
}
|
|
if (cardUseEffTimer == 1) {
|
|
let _Skill_Id = CardSkills[UseCard_SkillCounter].id;
|
|
let _CkCmn = MetaChecker(CardSkills[UseCard_SkillCounter], "SetCmn");
|
|
if (_CkCmn != "" && !_CmnGoFlg) {
|
|
this.SetCmnEvent(_CkCmn);
|
|
_CmnGoFlg = true;
|
|
UseCard_SkillCounter++;
|
|
cardUseEffTimer--;
|
|
return;
|
|
}
|
|
let _CkSwt = MetaChecker(CardSkills[UseCard_SkillCounter], "SetSwt");
|
|
if (_CkSwt != "" && !_SWCngFlg) {
|
|
$gameSwitches.setValue(Number(_CkSwt), true);
|
|
_SWCngFlg = true;
|
|
UseCard_SkillCounter++;
|
|
cardUseEffTimer--;
|
|
return;
|
|
}
|
|
damageWait = MetaChecker(CardSkills[UseCard_SkillCounter], "DmgWait", 0);
|
|
let setStateArr = GetStateList(CardSkills[UseCard_SkillCounter]);
|
|
let actionENo = TurnCard[0]._No;
|
|
let skillValue = GetSkillCalcValue(actionENo, CardSkills[UseCard_SkillCounter].id);
|
|
if (befTurnType == EnBefTurn.Skill) actionENo = -1;
|
|
if (setStateArr.length > 0) {
|
|
for (let i = 0; i <= setStateArr.length - 1; i++) {
|
|
if (setStateArr[i]._Turn == 0) setStateArr[i]._Turn = skillValue;
|
|
AddStateTarget(actionENo, damageWait, setStateArr[i]);
|
|
}
|
|
} else {
|
|
try {
|
|
if (_TnEmNo >= 0) {
|
|
if (CheckStateInType(NEnemy[_TnEmNo]._NState, StType.DefKantu)) {
|
|
CardKoukaArr.push(KSkill.防御貫通);
|
|
}
|
|
} else {
|
|
if (CheckStateInType(NPlayer[-_TnEmNo - 1]._NState, StType.DefKantu)) {
|
|
CardKoukaArr.push(KSkill.防御貫通);
|
|
}
|
|
}
|
|
} catch (e) {
|
|
}
|
|
SetDmgStac_Damage(actionENo, _Skill_Id, damageWait);
|
|
}
|
|
UseCard_SkillCounter++;
|
|
}
|
|
if (cardUseMoveTimer > 0) {
|
|
cardUseMoveTimer--;
|
|
}
|
|
if (cardUseEffTimer > 0) {
|
|
cardUseEffTimer--;
|
|
}
|
|
EmTurnFlame++;
|
|
}
|