Issue

【メモ】アナラプティックの最大体力上昇について #143

kouho opened this at 2022-09-28T11:57:48; open

Description

opened by kouho at 2022-09-28T11:57:48; updated 2022-09-28T13:30:10

#問題と対応内容
アナラプティックのスキル説明文が誤っていたため正しいものに修正

【誤】
肉体の強度を高める薬により、今の体力が1000以上ある味方の最大体力に、自分の 今の体力 を加える。[バトル開始時発動][バトル終了まで有効]

【正】
肉体の強度を高める薬により、今の体力が1000以上ある味方の最大体力に、自分の 最大体力(ステータスUP系スキル上昇分含む) を加える。[バトル開始時発動][バトル終了まで有効]

対応方針

スキル説明文の修正のみで、ユーザーからの補填等への希望は対応しない

最大体力上昇の処理

SkillFunc.inc

以下のようにフラグだけ立てられています

case 1417:
	$skill_name = 'アナラプティック';
	$return_data['hp_up_flg1417'] = 1; //体力上昇の対象が異なるためフラグを分ける
	$animation_flg = 1;
	break;

SubFunc.inc

実処理はこちらです。
アナラプティックのみ他のスキルによる上昇値が含められておりソース内のコメントにも記載されております。

S_GetSkillStatusUpflgToStatus関数

$plus_hp = $tmp_hp = $card_data[$skill_pos]['hp_max']になっており、
実際の体力上昇値はミルダの最大体力

	//アナラプティックの体力UP(体力1000以上の味方の【海賊】の最大体力を引き上げる(ミルダの体力分))
	//他のスキルによる上昇値を含めるため、一番最後に計算する
	if(is_array($status_after_up['hp_up_skill_pos1417'][$no])){
		$tmp_hp = 0;//体力の一時格納用
		$plus_hp = 0;//体力の上昇値
		$skill_plus_hp1417 = array();//アナラプティックでのカードごとの体力の上昇値
		foreach($status_after_up['hp_up_skill_pos1417'][$no] as $skill_pos){
			//上昇量が高いものを優先
			$tmp_hp = $card_data[$skill_pos]['hp_max'];
			if($plus_hp < $tmp_hp){
				$plus_hp = $tmp_hp;
			}
		}
		for($hp_up_pos = 1; $hp_up_pos <= 8; $hp_up_pos++){
			if($card_data[$no*10+$hp_up_pos]['hp']+$tmp_hp_up[$no*10+$hp_up_pos] >= 1000){
				$card_data[$no*10+$hp_up_pos]['hp_max'] += $plus_hp;
				if($war_flg == 1){//戦争だったら
					$skill_plus_hp1417[$no*10+$hp_up_pos] = $plus_hp;
				}else{
					$card_data[$no*10+$hp_up_pos]['hp'] += $plus_hp;
				}
			}
		}
	}

S_GetSkillStatusUpflgToStatus_WarAttacklist関数

	//アナラプティックの体力UP(体力1000以上の味方の【海賊】の最大体力を引き上げる(ミルダの体力分))
	//他のスキルによる上昇値を含めるため、一番最後に計算する
	if(is_array($status_after_up['hp_up_skill_pos1417'])){
		$tmp_hp = 0;//体力の一時格納用
		$plus_hp = 0;//体力の上昇値
		foreach($status_after_up['hp_up_skill_pos1417'] as $skill_pos){
			//上昇量が高いものを優先
			$tmp_hp = $deck[$skill_pos]['card_stamina'];
			if($plus_hp < $tmp_hp){
				$plus_hp = $tmp_hp;
			}
		}
		for($hp_up_pos = 1; $hp_up_pos <= 8; $hp_up_pos++){
			if($deck[$hp_up_pos]['card_stamina'] >= 1000){
				$deck[$hp_up_pos]['card_stamina'] += $plus_hp;
			}
		}
	}

類似スキル

1432 サプライシップ
アナラプティックの船版。ソース内にも船の最大体力をアップするスキルが作られたら処理順番の問題が発生する 記載があり

補給物資を配布して、味方の【海賊】全ての最大体力を、船の最大体力分引き上げる。[バトル開始時発動][バトル終了まで有効]

注意点

カードの体力を参照して最大体力を増やすような同系統のスキルは増やさないほうがいい