Description
opened by kouho at 2022-10-21T18:02:46; updated 2022-11-11T11:55:03
概要
レイド複数回攻撃時に2回目以降、
レイドモンスターがバトル開始時スキルを発動できていませんでしたので修正
原因
- レイドモンスターの初期化処理時にスキルを発動していたが1度しか実行していなかったため。
テスト方法、確認した内容
荒天だと分かりづらいので、
レイドの開始時スキルをミッシングブラー305 デッキ制御系 に変更
レイドデッキをスリートップのみにして船の体力を低めのワンパンされる船に設定
単発攻撃0ダメ固定
5+1回攻撃でも0ダメのことを確認
できれば修正前は0ダメ以外が出ることを確認してください。
ソース内確認
対象のスキルのフラグを立ててるところにログを仕込んで攻撃回数分通っているかも確認
TODO
本番に反映するとダメージが出ていたものが減ってしまうので、
次回開催回以降反映予定
Comment
#23193 by kouho at 2022-10-21T18:02:56; updated 2022-10-21T18:02:56
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
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期