PR

【次回レイド開催まで】レイド複数回攻撃時に2回目以降レイドモンスターがバトル開始時スキルを発動できるように修正 #2358

kouho opened this at 2022-10-21T18:02:46; closed

Description

opened by kouho at 2022-10-21T18:02:46; updated 2022-11-11T11:55:03

概要

レイド複数回攻撃時に2回目以降、
レイドモンスターがバトル開始時スキルを発動できていませんでしたので修正

原因

  • レイドモンスターの初期化処理時にスキルを発動していたが1度しか実行していなかったため。

テスト方法、確認した内容

  • 確認準備

荒天だと分かりづらいので、
レイドの開始時スキルをミッシングブラー305 デッキ制御系 に変更
レイドデッキをスリートップのみにして船の体力を低めのワンパンされる船に設定

  • 結果確認

単発攻撃0ダメ固定
5+1回攻撃でも0ダメのことを確認

できれば修正前は0ダメ以外が出ることを確認してください。

ソース内確認

  • SkillFunc.inc

対象のスキルのフラグを立ててるところにログを仕込んで攻撃回数分通っているかも確認

TODO

本番に反映するとダメージが出ていたものが減ってしまうので、
次回開催回以降反映予定

Comment

#23193 by kouho at 2022-10-21T18:02:56; updated 2022-10-21T18:02:56

@wada
確認お願いいたします

Comment

#23356 by wada at 2022-10-31T12:21:02; updated 2022-10-31T12:21:02

@kouho
Team_raid_monster.prepare_battle()内の$this->format_to_card_data();以外は、初回のみ設定すればよさそうなので、init()に移動をお願いします。

Comment

#23357 by kouho at 2022-10-31T16:15:35; updated 2022-10-31T16:15:35

@wada
確認ありがとうございます。

> Team_raid_monster.prepare_battle()内の$this->format_to_card_data();以外は、初回のみ設定すればよさそうなので、init()に移動をお願いします。

こちら対応しました。

Comment

#23385 by wada at 2022-11-02T12:58:39; updated 2022-11-02T12:58:39

@kouho
確認しました。OKです。

wada add_label at 2022-11-02T12:58:43: 和田 LGTM
kouho refer at 2022-11-02T17:32:26: 2376:【11/11】レイド16回・第1期

Comment

#23482 by kouho at 2022-11-07T11:30:58; updated 2022-11-07T11:30:58

@wada
レイド初期化1回だけするように修正 こちらのコミットが原因でバグが起きていたようです。
毎回の戦闘時に初期化する必要があるようなのでRevertして対応してみました。

Comment

#23483 by wada at 2022-11-07T11:36:23; updated 2022-11-07T11:36:23

@kouho
どの箇所でどのような問題が発生していましたか?
できればselectやinitial_hpは初回だけ実行したいので、それが難しい理由が知りたいです。

Comment

#23484 by kouho at 2022-11-07T14:18:41; updated 2022-11-07T14:18:41

@wada
【修正前に起きていた問題】
バトル時にレイドモンスターが暗くなり、
体力が0になりレイドモンスターが攻撃しなくなっていました。

【原因】
Raid_battle_model->init Raid_battle_vs_model->init が読見込まれていない。通っていない。

上の原因を確認中

Comment

#23485 by wada at 2022-11-07T14:54:08; updated 2022-11-07T14:54:08

@kouho
なるほど、Raid_battle_vs_model.init()でも同じ処理を記載する必要があるということですね。
理想はparent::init()ですが、時間もないのでコピペでも良いですよ。

#以下の処理をRaid_battle_vs_model.init()にも記載
$res = S_LoadModelClass('dao/master_raid_monster_data')->get_battle_data(
	$this->raid_monster_no,
	$this->event_no,
	$this->raid_type,
	$this->lv,
	$this->defense_type
);
foreach ($res as $k => $v) {
	$this->{$k} = $v;
}

// スキル情報の設定
$attack_skill_dao  = S_LoadModelClass('dao/master_raid_monster_data_skill');
$defense_skill_dao = S_LoadModelClass('dao/master_raid_monster_data_lvtype_defense_set');

$attack_skill  = $attack_skill_dao->get_battle_data($this->event_no, $this->raid_type, $this->lv, $this->defense_type);
$defense_skill = $defense_skill_dao->get_battle_data($this->event_no, $this->raid_type, $this->lv, $this->defense_type);

$this->skill = [
	'attack_skill'  => $attack_skill,
	'defense_skill' => $defense_skill
];

$this->damage_log = [];
$this->initial_hp = $this->hp;

Comment

#23486 by kouho at 2022-11-07T15:11:10; updated 2022-11-07T15:11:10

@wada
確認ありがとうございます。

> なるほど、Raid_battle_vs_model.init()でも同じ処理を記載する必要があるということですね。
理想はparent::init()ですが、時間もないのでコピペでも良いですよ。

こちらコピペで修正対応しました。
initに入通らないと書きましたがログの仕込んでいるファイルを間違えていました。

また、Raid_battle_model とRaid_battle_vs_modelでprepare_battle関数の中身が一致しておりましたのでRaid_battle_vs_model側のprepare_battle関数は削除しました

Comment

#23490 by wada at 2022-11-07T16:09:51; updated 2022-11-07T16:09:51

@kouho
ありがとうございます。確認OKです。

kouho merge at 2022-11-07T16:54:36: 【次回レイド開催まで】レイド複数回攻撃時に2回目以降レイドモンスターがバトル開始時スキルを発動できるように修正
kouho close at 2022-11-07T16:54:36: Close
kouho refer at 2022-11-10T13:47:30: 2395:【11/11 12:00まで】レイド16回
kouho refer at 2022-11-11T11:55:03: 2395:【11/11 12:00まで】レイド16回・第1期

Commit range

base432be9e114a5ebc9be4eb127231954513860b71a
headd5be9ef2844c55d3c7c1f9e7c6856117cad23831
base branchjolly/jr-web:develop
head branchjolly/jr-web:fix_raid_monster_start_skill

View commits

Commit details are loaded from Git when a dynamic archive server is running, or can be embedded with --include-commits.
Files changed4 filesView patch
statusfile
modifiedlib/models/Raid_battle_model.php
modifiedlib/models/Raid_battle_vs_model.php
modifiedlib/models/raid/Team_raid_monster.php
modifiedlib/models/raid_vs/Team_raid_monster_vs.php
Patch body is stored as a separate file to keep this page lightweight.