princess-synergy/www/js/plugins/JsScript71Set.js
2026-02-13 09:06:31 -06:00

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++;
}