
//============================================================================
/**
 *
 *@file		sub_153.s
 *@brief	戦闘シーケンス
 *			おいうちチェックシーケンス
 *@author	HisashiSogabe
 *@data		2006.02.10
 *
 */
//============================================================================
	.text

	.include	"waza_seq_def.h"

SUB_153:
	GOSUB			SUB_SEQ_AD_PUSH
SUB_153_LOOP:
	OIUCHI_CHECK	SUB_153_END
	//おいうち発動は、ダメージを２倍にする
	VALUE			VAL_SET,BUF_PARA_DAMAGE_VALUE,20
	CRITICAL_CHECK
	DAMAGE_CALC
	TYPE_CHECK
	//AttackMsgが出るようにフラグを落とす
	VALUE			VAL_NBIT,BUF_PARA_SERVER_STATUS_FLAG,SERVER_STATUS_FLAG_NO_ATTACK_MSG
	//WazaEffectが出るようにフラグを落とす
	VALUE			VAL_NBIT,BUF_PARA_SERVER_STATUS_FLAG,SERVER_STATUS_FLAG_NO_WAZA_EFFECT
	ATTACK_MESSAGE
	SERVER_WAIT
	IF				IF_FLAG_BIT,BUF_PARA_WAZA_STATUS_FLAG,WAZA_STATUS_FLAG_HAZURE,OiuchiHazure
	WAZA_EFFECT		SIDE_ATTACK
	SERVER_WAIT
	MIGAWARI_CHECK	SIDE_DEFENCE,Migawari

// ----------------------------------------------------------------------------
// localize_spec_mark(LANG_ALL) imatake 2007/02/10
// 入れ替え「おいうち」発生時に「かいがらのすず」の効果が出ない不具合の修正

#if AFTER_MASTER_070202_BT2_FIX
	//かいがらダメージの計算をする（通常攻撃）
KaigaraDamageCalc:
	VALUE_WORK		VAL_SET,BUF_PARA_TEMP_WORK,BUF_PARA_DAMAGE
	VALUE			VAL_MUL,BUF_PARA_TEMP_WORK,-1
	IF_PSP_WORK		IF_FLAG_NC,SIDE_DEFENCE,ID_PSP_hp,BUF_PARA_TEMP_WORK,KaigaraDamageSetNowHP
	//ダメージ量をかいがらダメージワークに代入
KaigaraDamageSetDamage:
	VALUE_WORK		VAL_SET,BUF_PARA_OSTF_KAIGARA_DAMAGE,BUF_PARA_DAMAGE
	BRANCH			Normal
	//現在のHPをかいがらダメージワークに代入
KaigaraDamageSetNowHP:
	PSP_VALUE_WORK	VAL_GET,SIDE_DEFENCE,ID_PSP_hp,BUF_PARA_OSTF_KAIGARA_DAMAGE
	VALUE			VAL_MUL,BUF_PARA_OSTF_KAIGARA_DAMAGE,-1

#endif //AFTER_MASTER_070202_BT2_FIX

// ----------------------------------------------------------------------------

Normal:
	VALUE_WORK		VAL_SET,BUF_PARA_HP_CALC_WORK,BUF_PARA_DAMAGE
	VALUE_WORK		VAL_SET,BUF_PARA_BUTSURI_OSTF_DAMAGE_D,BUF_PARA_DAMAGE
	VALUE_WORK		VAL_SET,BUF_PARA_CLIENT_WORK,BUF_PARA_DEFENCE_CLIENT
// ----------------------------------------------------------------------------
// localize_spec_mark(LANG_ALL) imatake 2007/01/24
// 「おいうち」発動時に「きあいのタスキ」が効かない不具合を修正
#if AFTER_MASTER_070123_BT3_FIX
	HP1_CHECK		SIDE_WORK
#endif //AFTER_MASTER_070123_BT3_FIX
// ----------------------------------------------------------------------------
	GOSUB			SUB_SEQ_HP_CALC
	GOSUB			SUB_SEQ_CRITICAL_HIT
	GOSUB			SUB_SEQ_WAZA_STATUS_MSG
	//気絶させたらおんねんチェックをする
	IF_PSP			IF_FLAG_EQ,SIDE_DEFENCE,ID_PSP_hp,0,OnnenCheck
	//技がヒットした時にチェックする特性をチェック
	WAZA_HIT_TOKUSEI_CHECK	SUB_153_SOUBI_ITEM
	GOSUB_WORK		BUF_PARA_TEMP_WORK

// ----------------------------------------------------------------------------
// localize_spec_mark(LANG_ALL) imatake 2007/02/10
// 入れ替え「おいうち」発生時に装備したどうぐの効果が出ない不具合の修正

#if AFTER_MASTER_070202_BT2_FIX
SUB_153_SOUBI_ITEM:
	//技がヒットした時にチェックする装備アイテムをチェック
	WAZA_HIT_SOUBI_ITEM_CHECK	SUB_153_SOUBI_ITEM_2
	GOSUB_WORK		BUF_PARA_TEMP_WORK

SUB_153_SOUBI_ITEM_2:
	//次のチェックのために技がヒットしたフラグを立てておく
	VALUE			VAL_BIT,BUF_PARA_SERVER_STATUS_FLAG,SERVER_STATUS_FLAG_WAZA_HIT
	//技がヒットした時にチェックする装備アイテムをチェック（とんぼがえり用のも呼ぶ。かいがらのすず、いのちのたま用）
	WAZA_HIT_SOUBI_ITEM_CHECK_TONBOGAERI	SUB_153_NEXT_JUMP
	GOSUB_WORK		BUF_PARA_TEMP_WORK

SUB_153_NEXT_JUMP:
	//次のチェックのために立てておいたフラグを落とす（落とさなくてもいいはずだがよからぬ動作をしないように念のため）
	VALUE			VAL_NBIT,BUF_PARA_SERVER_STATUS_FLAG,SERVER_STATUS_FLAG_WAZA_HIT
	BRANCH			SUB_153_NEXT

#else //AFTER_MASTER_070202_BT2_FIX
SUB_153_SOUBI_ITEM:
	//技がヒットした時にチェックする装備アイテムをチェック
	WAZA_HIT_SOUBI_ITEM_CHECK	SUB_153_NEXT
	GOSUB_WORK		BUF_PARA_TEMP_WORK

	BRANCH			SUB_153_NEXT
#endif //AFTER_MASTER_070202_BT2_FIX

// ----------------------------------------------------------------------------

Migawari:
// ----------------------------------------------------------------------------
// localize_spec_mark(LANG_ALL) imatake 2007/02/10
// 入れ替え「おいうち」発生時に「かいがらのすず」の効果が出ない不具合の修正
// 入れ替え「おいうち」発生時にみがわり人形破壊のメッセージが出ない不具合の修正

#if AFTER_MASTER_070202_BT2_FIX
	//かいがらダメージの計算をする（みがわり攻撃）
KaigaraDamageCalcMigawari:
	VALUE_WORK		VAL_SET,BUF_PARA_TEMP_WORK,BUF_PARA_DAMAGE
	VALUE			VAL_MUL,BUF_PARA_TEMP_WORK,-1
	IF_PSP_WORK		IF_FLAG_NC,SIDE_DEFENCE,ID_PSP_wkw_migawari_hp,BUF_PARA_TEMP_WORK,KaigaraDamageSetMigawariHP
	//ダメージ量をかいがらダメージワークに代入
//KaigaraDamageSetDamage:
	VALUE_WORK		VAL_SET,BUF_PARA_OSTF_KAIGARA_DAMAGE,BUF_PARA_DAMAGE
	BRANCH			MigawariNext
	//現在のHPをかいがらダメージワークに代入
KaigaraDamageSetMigawariHP:
#if AFTER_MASTER_070202_BT4_FIX
	//みがわりは消えるので、フラグを落としておく
	PSP_VALUE		VAL_NBIT,SIDE_DEFENCE,ID_PSP_condition2,CONDITION2_MIGAWARI
#endif //AFTER_MASTER_070202_BT4_FIX
	PSP_VALUE_WORK	VAL_GET,SIDE_DEFENCE,ID_PSP_wkw_migawari_hp,BUF_PARA_OSTF_KAIGARA_DAMAGE
	VALUE			VAL_MUL,BUF_PARA_OSTF_KAIGARA_DAMAGE,-1
MigawariNext:
#endif //AFTER_MASTER_070202_BT2_FIX

// ----------------------------------------------------------------------------

// ----------------------------------------------------------------------------
// localize_spec_mark(LANG_ALL) imatake 2007/01/24
// 「みがわり」中の相手に「おいうち」が決まったときの不具合を修正
#if AFTER_MASTER_070123_BT1_FIX
	//DefenceClientをClientWorkにコピー
	VALUE_WORK		VAL_SET,BUF_PARA_CLIENT_WORK,BUF_PARA_DEFENCE_CLIENT
#endif //AFTER_MASTER_070123_BT1_FIX
// ----------------------------------------------------------------------------
	GOSUB			SUB_SEQ_MIGAWARI_HIT
	BRANCH			SUB_153_NEXT

OiuchiHazure:
	WAIT			MSG_WAIT/2
	GOSUB			SUB_SEQ_WAZA_NO_HIT

SUB_153_NEXT:
	//おいうちが発動するとAttackClient、DefenceClient、waza_no_nowが変わっているので、元に戻す
	GOSUB			SUB_SEQ_AD_POP
	VALUE_WORK		VAL_GET,BUF_PARA_WAZA_NO_TEMP,BUF_PARA_WAZA_NO_NOW
	BRANCH			SUB_153_LOOP

//おんねんチェック
OnnenCheck:
//	ONNEN			TokuseiCheck
//	MESSAGE			OnnenDamageMineMsg,TAG_NICK_WAZA,SIDE_ATTACK,SIDE_WORK
//	SERVER_WAIT
//	WAIT			MSG_WAIT
	GOSUB			SUB_SEQ_MICHIDURE_KIZETSU

TokuseiCheck:
	//技がヒットした時にチェックする特性をチェック（特性発動で気絶がありうるので、おんねんチェックのあとにする）
	WAZA_HIT_TOKUSEI_CHECK	SoubiItemCheck
	GOSUB_WORK		BUF_PARA_TEMP_WORK

// ----------------------------------------------------------------------------
// localize_spec_mark(LANG_ALL) imatake 2007/02/10
// 入れ替え「おいうち」発生時に装備したどうぐの効果が出ない不具合の修正

#if AFTER_MASTER_070202_BT2_FIX
SoubiItemCheck:
	//技がヒットした時にチェックする装備アイテムをチェック
	WAZA_HIT_SOUBI_ITEM_CHECK	SoubiItemCheck2
	GOSUB_WORK		BUF_PARA_TEMP_WORK

SoubiItemCheck2:
	//次のチェックのために技がヒットしたフラグを立てておく
	VALUE			VAL_BIT,BUF_PARA_SERVER_STATUS_FLAG,SERVER_STATUS_FLAG_WAZA_HIT
	//技がヒットした時にチェックする装備アイテムをチェック（とんぼがえり用のも呼ぶ。かいがらのすず、いのちのたま用）
	WAZA_HIT_SOUBI_ITEM_CHECK_TONBOGAERI	SoubiItemCheckAfter
	GOSUB_WORK		BUF_PARA_TEMP_WORK

SoubiItemCheckAfter:
	//次のチェックのために立てておいたフラグを落とす（落とさなくてもいいはずだがよからぬ動作をしないように念のため）
	VALUE			VAL_NBIT,BUF_PARA_SERVER_STATUS_FLAG,SERVER_STATUS_FLAG_WAZA_HIT

#else //AFTER_MASTER_070202_BT2_FIX
SoubiItemCheck:
	//技がヒットした時にチェックする装備アイテムをチェック
	WAZA_HIT_SOUBI_ITEM_CHECK	SUB_153_POP
	GOSUB_WORK		BUF_PARA_TEMP_WORK

#endif //AFTER_MASTER_070202_BT2_FIX

// ----------------------------------------------------------------------------

SUB_153_POP:
	//おいうちが発動するとAttackClient、DefenceClient、waza_no_nowが変わっているので、元に戻す
	GOSUB			SUB_SEQ_AD_POP
	VALUE_WORK		VAL_GET,BUF_PARA_WAZA_NO_TEMP,BUF_PARA_WAZA_NO_NOW

SUB_153_END:
	SEQ_END


