code:
;性転換に関する関数

;-------------------------------------------------
;◆ARG:0番のキャラが現在ＴＳしているかどうかを返す関数
;-------------------------------------------------
@TS_IS_O(ARG:0, ふたなりを同性扱いする, 男の娘を男に含める)
#FUNCTION
#DIM ふたなりを同性扱いする
#DIM 男の娘を男に含める

SIF TALENT:(ARG:0):元性別 == 0
	RETURNF 0

IF 男の娘を男に含める && ふたなりを同性扱いする
	RETURNF GROUPMATCH(TALENT:(ARG:0):性別, 1, 2) != GROUPMATCH(TALENT:(ARG:0):元性別, 11, 12)
ELSEIF 男の娘を男に含める
	IF GROUPMATCH(TALENT:(ARG:0):性別, 0, 4) != GROUPMATCH(TALENT:(ARG:0):元性別, 10, 14)
		RETURNF 1
	ELSEIF GROUPMATCH(TALENT:(ARG:0):性別, 3, 5) != GROUPMATCH(TALENT:(ARG:0):元性別, 13, 15)
		RETURNF 1
	ELSEIF GROUPMATCH(TALENT:(ARG:0):性別, 1) != GROUPMATCH(TALENT:(ARG:0):元性別, 11)
		RETURNF 1
	ELSEIF GROUPMATCH(TALENT:(ARG:0):性別, 2) != GROUPMATCH(TALENT:(ARG:0):元性別, 12)
		RETURNF 1
	ENDIF
ELSEIF ふたなりを同性扱いする
	IF GROUPMATCH(TALENT:(ARG:0):性別, 0, 3) != GROUPMATCH(TALENT:(ARG:0):元性別, 10, 13)
		RETURNF 1
	ELSEIF GROUPMATCH(TALENT:(ARG:0):性別, 4, 5) != GROUPMATCH(TALENT:(ARG:0):元性別, 14, 15)
		RETURNF 1
	ELSEIF GROUPMATCH(TALENT:(ARG:0):性別, 1, 2) != GROUPMATCH(TALENT:(ARG:0):元性別, 11, 12)
		RETURNF 1
	ENDIF
ELSE
	RETURNF TALENT:(ARG:0):性別 != (TALENT:(ARG:0):元性別 -10)
ENDIF
RETURNF 0

;-------------------------------------------------
;◆ARG:0番のキャラが現在女性化しているかどうかを返す関数
;元男性or元男の娘が現在女性になっている場合は1を返す
;詳細モードの場合は挙動が変わり、
;元男性 → 男の娘 = 1   元男の娘 → 女性 = 2   元男性 → 女性 = 3
;いずれの場合もふたなりの有無は無視する
;-------------------------------------------------
@TS_IS_F(ARG:0, 詳細モード)
#FUNCTION
#DIM 詳細モード

SIF TALENT:(ARG:0):元性別 == 0 || GROUPMATCH(TALENT:(ARG:0):元性別, 11, 12)
	RETURNF 0

IF 詳細モード
	IF GROUPMATCH(TALENT:(ARG:0):元性別, 10, 13)
		IF GROUPMATCH(TALENT:(ARG:0):性別, 1, 2)
			RETURNF 3
		ELSEIF GROUPMATCH(TALENT:(ARG:0):性別, 4, 5)
			RETURNF 1
		ENDIF
	ELSEIF GROUPMATCH(TALENT:(ARG:0):元性別, 14, 15) && GROUPMATCH(TALENT:(ARG:0):性別, 1, 2)
		RETURNF 2
	ENDIF
ELSE
	RETURNF GROUPMATCH(TALENT:(ARG:0):元性別, 10, 13, 14, 15) == GROUPMATCH(TALENT:(ARG:0):性別, 1, 2)
ENDIF
RETURNF 0

;-------------------------------------------------
;◆ARG:0番のキャラが現在男性化しているかどうかを返す関数
;元女性が現在男性or男の娘になっている場合は1を返す
;詳細モードの場合は挙動が変わり、
;元女性 → 男の娘 = 1   元男の娘 → 男性 = 2   元女性 → 男性 = 3
;いずれの場合もふたなりの有無は無視する
;-------------------------------------------------
@TS_IS_M(ARG:0, 詳細モード)
#FUNCTION
#DIM 詳細モード

SIF TALENT:(ARG:0):元性別 == 0  || GROUPMATCH(TALENT:(ARG:0):性別, 1, 2)
	RETURNF 0

IF 詳細モード
	IF GROUPMATCH(TALENT:(ARG:0):元性別, 11, 12)
		IF GROUPMATCH(TALENT:(ARG:0):性別, 0, 3)
			RETURNF 3
		ELSEIF GROUPMATCH(TALENT:(ARG:0):性別, 4, 5)
			RETURNF 1
		ENDIF
	ELSEIF GROUPMATCH(TALENT:(ARG:0):元性別, 14, 15) && GROUPMATCH(TALENT:(ARG:0):性別, 0, 3)
		RETURNF 2
	ENDIF
ELSE
	RETURNF GROUPMATCH(TALENT:(ARG:0):元性別, 11, 12) == GROUPMATCH(TALENT:(ARG:0):性別, 0, 3, 4, 5)
ENDIF
RETURNF 0

;-------------------------------------------------
;◆ARG:0番のキャラがペニス無の元性別からペニスが生えたかどうかを返す関数
;-------------------------------------------------
@TS_GET_P(ARG:0)
#FUNCTION

SIF HAS_PENIS(ARG:0)
	RETURNF GROUPMATCH(TALENT:(ARG:0):元性別, 11)
RETURNF 0

;-------------------------------------------------
;◆ARG:0番のキャラがペニス有の元性別からペニスを失ったかどうかを返す関数（LOSTのL）
;-------------------------------------------------
@TS_LOST_P(ARG:0)
#FUNCTION

SIF !HAS_PENIS(ARG:0)
	RETURNF GROUPMATCH(TALENT:(ARG:0):元性別, 10, 12, 13, 14, 15)
RETURNF 0

;-------------------------------------------------
;◆ARG:0番のキャラがＶ無の元性別からＶが出来たかどうかを返す関数
;-------------------------------------------------
@TS_GET_V(ARG:0)
#FUNCTION

SIF HAS_VAGINA(ARG:0)
	RETURNF GROUPMATCH(TALENT:(ARG:0):元性別, 10, 14)
RETURNF 0

;-------------------------------------------------
;◆ARG:0番のキャラがＶ有の元性別からＶを失ったかどうかを返す関数（LOSTのL）
;-------------------------------------------------
@TS_LOST_V(ARG:0)
#FUNCTION

SIF !HAS_VAGINA(ARG:0)
	RETURNF GROUPMATCH(TALENT:(ARG:0):元性別, 11, 12, 13, 15)
RETURNF 0

;-------------------------------------------------
;対象キャラの異性化（男の娘は男扱いする）
;-------------------------------------------------
@TS_TO_OTHERSEX(ARG:0, ふたなりを維持する)
#DIM ふたなりを維持する

;ＴＳ経験がない場合の元性別保存処理
SIF TALENT:(ARG:0):元性別 == 0
    TALENT:(ARG:0):元性別 = TALENT:(ARG:0):性別 + 10

;男性が女性化する場合、性偏差が40未満の場合は性偏差を40に
SIF GROUPMATCH(TALENT:(ARG:0):性別, 0, 3) && CFLAG:(ARG:0):性偏差 < 40
    CFLAG:(ARG:0):性偏差 = 40

IF ふたなりを維持する
    SELECTCASE TALENT:(ARG:0):性別
        CASE 0, 4
            TALENT:(ARG:0):性別 = 1
        CASE 3, 5
            TALENT:(ARG:0):性別 = 2
        CASE 1
            TALENT:(ARG:0):性別 = 0
        CASE 2
            TALENT:(ARG:0):性別 = 3
    ENDSELECT
ELSE
    SELECTCASE TALENT:(ARG:0):性別
        CASE 0, 3, 4, 5
            TALENT:(ARG:0):性別 = 1
        CASE 1, 2
            TALENT:(ARG:0):性別 = 0
    ENDSELECT
ENDIF

CALL SET_BODYSIZE(ARG:0)

;-------------------------------------------------
;対象キャラの男の娘化
;-------------------------------------------------
@TS_TO_FEMBOY(ARG:0, ふたなりを維持する)
#DIM ふたなりを維持する

SIF TALENT:(ARG:0):元性別 == 0
    TALENT:(ARG:0):元性別 = TALENT:(ARG:0):性別 + 10

;男性が男の娘化する場合、性偏差が40未満の場合は性偏差を40に
SIF GROUPMATCH(TALENT:(ARG:0):性別, 0, 3) && CFLAG:(ARG:0):性偏差 < 40
    CFLAG:(ARG:0):性偏差 = 40

IF ふたなりを維持する
    SELECTCASE TALENT:(ARG:0):性別
        CASE 0, 1
            TALENT:(ARG:0):性別 = 4
        CASE 2, 3
            TALENT:(ARG:0):性別 = 5
    ENDSELECT
ELSE
    SELECTCASE TALENT:(ARG:0):性別
        CASE 0, 1, 2, 3
            TALENT:(ARG:0):性別 = 4
    ENDSELECT
ENDIF

CALL SET_BODYSIZE(ARG:0)

;-------------------------------------------------
;徐々に女性化していくための性偏差を管理する処理
;-------------------------------------------------
@TS_TO_GETTING(ARG:0, 増減値, メッセージなし)
#DIM 増減値
#DIM メッセージなし

;性偏差増減経験がない場合は初期値設定。男性は1、男の娘と女性は40
IF CFLAG:(ARG:0):性偏差 == 0
    IF GROUPMATCH(TALENT:(ARG:0):性別, 0, 3)
        CFLAG:(ARG:0):性偏差 = 1
    ELSE
        CFLAG:(ARG:0):性偏差 = 40
    ENDIF
ENDIF

CFLAG:(ARG:0):性偏差 += 増減値

;増減後の最低値と最大値の管理
;最低値は1、最高値は女性あるいは男の娘ふたなりの場合120、それ以外は100
IF CFLAG:(ARG:0):性偏差 <= 0
    CFLAG:(ARG:0):性偏差 = 1
ELSEIF GROUPMATCH(TALENT:(ARG:0):性別, 1, 2, 5)
    SIF CFLAG:(ARG:0):性偏差 > 120
        CFLAG:(ARG:0):性偏差 = 120
ELSEIF CFLAG:(ARG:0):性偏差 > 100
    CFLAG:(ARG:0):性偏差 = 100
ENDIF

;男性あるいは男の娘の性偏差が増えた場合の変化処理
IF 増減値 > 0 && IS_MALE(ARG:0, 1)
    ;メッセージなしが有効の場合は飛ばす
    IF メッセージなし == 0
        IF CFLAG:(ARG:0):性偏差 >= 100 && HAS_FUTANARI(ARG:0)
            PRINTFORML %ANAME(ARG:0)%の子宮がドクン、ドクンと脈打って存在を主張する……
            PRINTFORMW かろうじて機能しているペニス以外は完全に女性の身体になってしまったように感じる
            PRINTFORML ……内蔵のどこかか、%ANAME(ARG:0)%の自意識か、見えない部分に男である要素は何か残っているのだろうか
            IF CFLAG:(ARG:0):性偏差 >= 120
                PRINTW
                PRINTFORML %ANAME(ARG:0)%はほとんどが女性化しきってしまった
                PRINTFORML これ以上は特別な処置でも受けなければ、最後に残った決定的な部分が変わることはないだろう
            ENDIF
        ELSEIF CFLAG:(ARG:0):性偏差 >= 100
            PRINTFORML 変わりきった身体は、生来の女性よりも女らしくなってしまっている気さえする
            PRINTFORML ……ペニスがあり子宮がないという以外には%ANAME(ARG:0)%が男である要素は残ってない
            PRINTW
            PRINTFORML %ANAME(ARG:0)%の容姿は女性化しきってしまった
            PRINTFORML これ以上は内蔵の構造でも変わらなければ、女性化が進行することはないだろう
        ELSEIF CFLAG:(ARG:0):性偏差 >= 70
            PRINTFORML 身体の内側から何かが変化している……
            PRINTFORMW もはやペニスが生えている以外に男である要素がなくなっていく気がする
            PRINTFORML ……%ANAME(ARG:0)%が自分は男だと言い張っても、誰も信じはしないだろう
        ELSEIF CFLAG:(ARG:0):性偏差 >= 40 && GROUPMATCH(TALENT:(ARG:0):性別, 4, 5)
            PRINTFORML なんとなく身体がくすぐったい……
            PRINTFORMW ただでさえ男っぽさに乏しいのに、全身がさらに女っぽく変化していくのを感じる
            PRINTFORML ……外見以外のあらゆる要素も、%ANAME(ARG:0)%が男だという証拠を失っていく
        ELSEIF CFLAG:(ARG:0):性偏差 >= 40
            PRINTFORML なんとなく身体がくすぐったい……
            PRINTFORMW 全身のシルエットがさらに柔らかな、女性的なものに変わっているように感じる
            PRINTFORML ……次に鏡を覗いたとき、%ANAME(ARG:0)%は自分が男ではなくなったと錯覚するかもしれない
        ELSEIF CFLAG:(ARG:0):性偏差 >= 20
            PRINTFORML 肌がムズムズする……
            PRINTFORML 気のせいか、肌が柔らかくなり、身体つきが変わってきているように感じる
            IF CFLAG:(ARG:0):性偏差 >= 30
                WAIT
                PRINTFORML ……次に鏡を覗いたとき、%ANAME(ARG:0)%は中性的な顔つきへの変化が進んでいる自分に気がつくだろう
            ENDIF
        ELSEIF CFLAG:(ARG:0):性偏差 >= 0
            PRINTFORML 全身の肌がムズムズとして身体に何かが起こっているのを感じるが、それが何かはわからない
        ENDIF
        PRINTW
    ENDIF
    ;肉体変化は下から順に優先させる
    IF CFLAG:(ARG:0):性偏差 >= 40 && GROUPMATCH(TALENT:(ARG:0):性別, 0, 3)
        CALL TS_TO_FEMBOY(ARG:0, 1)
        IF メッセージなし == 0
            CALLF TAG_PRINT(@"%ANAME(ARG:0)%の容姿は可愛らしく変わり果て、@C:{カラー_ピンク}@%TOSTR_SEX(TALENT:(ARG:0):性別)%@/C@になってしまった！", 1)
            PRINTW
        ENDIF
    ELSEIF CFLAG:(ARG:0):性偏差 >= 50 && TALENT:(ARG:0):ペニスサイズ >= 2
        TALENT:(ARG:0):ペニスサイズ --
        CALL SET_PENISSIZE(ARG:0, TALENT:(ARG:0):ペニスサイズ)
        IF メッセージなし == 0
            CALLF TAG_PRINT(@"%ANAME(ARG:0)%のペニスは肉体の変化に伴い、@C:{カラー_ピンク}@%TOSTR_PENISSIZE(TALENT:(ARG:0):ペニスサイズ)%@/C@サイズに縮んでしまった", 1)
            PRINTW
        ENDIF
    ELSEIF CFLAG:(ARG:0):性偏差 >= 60 && TALENT:(ARG:0):ペニスサイズ >= 1
        TALENT:(ARG:0):ペニスサイズ --
        CALL SET_PENISSIZE(ARG:0, TALENT:(ARG:0):ペニスサイズ)
        IF メッセージなし == 0
            CALLF TAG_PRINT(@"%ANAME(ARG:0)%のペニスは肉体の変化に伴い、@C:{カラー_ピンク}@%TOSTR_PENISSIZE(TALENT:(ARG:0):ペニスサイズ)%@/C@サイズに縮んでしまった", 1)
            PRINTW
        ENDIF
    ELSEIF CFLAG:(ARG:0):性偏差 >= 70 && TALENT:(ARG:0):ヒップサイズ <= -1
        TALENT:(ARG:0):ヒップサイズ ++
        CALL SET_HIPSIZE(ARG:0, TALENT:(ARG:0):ヒップサイズ)
        IF メッセージなし == 0
            CALLF TAG_PRINT(@"薄かった%ANAME(ARG:0)%のお尻は厚みが増し、少し肉感的な@C:{カラー_ピンク}@%TOSTR_HIPSIZE(TALENT:(ARG:0):ヒップサイズ)%@/C@になったようだ", 1)
            PRINTW
        ENDIF
    ELSEIF CFLAG:(ARG:0):性偏差 >= 80 && TALENT:(ARG:0):ペニスサイズ >= 0
        TALENT:(ARG:0):ペニスサイズ --
        CALL SET_PENISSIZE(ARG:0, TALENT:(ARG:0):ペニスサイズ)
        IF メッセージなし == 0
            CALLF TAG_PRINT(@"%ANAME(ARG:0)%のペニスまでも男らしさを失い、@C:{カラー_ピンク}@%TOSTR_PENISSIZE(TALENT:(ARG:0):ペニスサイズ)%@/C@サイズに萎縮してしまった……", 1)
            PRINTW
        ENDIF
    ELSEIF CFLAG:(ARG:0):性偏差 >= 90 && TALENT:(ARG:0):バストサイズ <= -2
        TALENT:(ARG:0):バストサイズ ++
        CALL SET_BUSTSIZE(ARG:0, TALENT:(ARG:0):バストサイズ)
        IF メッセージなし == 0
            CALLF TAG_PRINT(@"%ANAME(ARG:0)%の胸が心なしかふっくらと膨らみ、@C:{カラー_ピンク}@%TOSTR_BUSTSIZE(TALENT:(ARG:0):バストサイズ)%@/C@ながら少女のような乳房になってしまった……", 1)
            PRINTW
        ENDIF
    ELSEIF CFLAG:(ARG:0):性偏差 >= 100 && TALENT:(ARG:0):ペニスサイズ >= -1
        TALENT:(ARG:0):ペニスサイズ --
        CALL SET_PENISSIZE(ARG:0, TALENT:(ARG:0):ペニスサイズ)
        IF メッセージなし == 0
            CALLF TAG_PRINT(@"%ANAME(ARG:0)%のペニスは萎縮が進み、@C:{カラー_ピンク}@%TOSTR_PENISSIZE(TALENT:(ARG:0):ペニスサイズ)%@/C@サイズの可愛らしい突起と化してしまった……", 1)
            PRINTW
        ENDIF
    ENDIF
ENDIF


code:
;-------------------------------------------------
;時間経過イベント
;-------------------------------------------------
@FL_EVENTTURNEND
#DIM DYNAMIC ITER_I
#DIM DYNAMIC ITER_J
#DIM DYNAMIC ITER_K
[IF_DEBUG]
DEBUGPRINTFORML @EVENTTURNEND
[ENDIF]

FLAG:戦略フェイズページ = 1
;FLには期中の概念がないので全行動量消費
SHOP_TIME = CALC_SHOP_TIME()

;拠点フェイズ
IF TIME == 0
	IF SHOP_TIME >= CALC_SHOP_TIME() || CFLAG:MASTER:捕虜先
		CALL TURNEND_LIFE
	ELSE
		BASE:MASTER:体力 = MAXBASE:MASTER:体力
		BASE:MASTER:気力 = MAXBASE:MASTER:気力
		BEGIN SHOP
	ENDIF
	;戦略フェイズ
ELSE
	CALL TURNEND_POLITICS
ENDIF

$SKIPPED

;デッドエンディングならBEGIN TITLE
IF FLAG:強制エンドフラグ == 1

	SETCOLOR カラー_注意
	PRINTFORMW 現時点でのデータを利用し、「周回用セーブ」を作ることができます
	PRINTFORMW 周回用セーブをロードすることで、今の武将やアイテムを引き継いで新規にシナリオを開始できます
	RESETCOLOR

	FLAG:クリア直後フラグ = 1

	CALL SAVE_GAME

	BEGIN TITLE
	;ターンエンド調教が立っているなら即時調教モードに入る
ELSEIF FLAG:ターンエンド調教
	SELECTCASE FLAG:ターンエンド調教
		CASE 調教_閨
			FLAG:調教モード = 1
		CASE 調教_逆調教通常
			FLAG:調教モード = 5
		CASE 調教_慰安
			FLAG:調教モード = 7
			FLAG:慰安モード = 3
	ENDSELECT
	FLAG:ターンエンド調教 = 0
	FLAG:ウフフフラグ = 1
	FLAG:夜這い = 0
	;時間の処理をしないと、「拠点フェイズの終了時にここに到達、調教→交流終了でSLGフェイズのターンエンドが呼ばれ、次期の拠点フェイズに飛ぶ」みたいな挙動になる
	IF TIME == 0
		IF !FLAG:クリアフラグ
			TIME = 1
			DAY --
		ENDIF
	ELSEIF TIME == 1
		TIME = 0
		SHOP_TIME = CALC_SHOP_TIME()
	ENDIF
	FLAG:イベント発生禁止 = 1
	CALL START_TRAIN_COMMON
ELSE
	CALL FL_STOPBGM()
	FLAG:デイリーイベント = 0
	SIF FLAG:調教要求フラグ
		FLAG:調教要求フラグ = 0
	FLAG:イベント発生禁止 = 0

	FOR ITER_I, 0, CHARANUM
		;全員の体力・気力を最大まで回復
		BASE:(LOCAL:0):体力 = MAXBASE:(LOCAL:0):体力
		BASE:(LOCAL:0):気力 = MAXBASE:(LOCAL:0):気力
		;このターンでのコマンド実行回数をリセット
		FOR ITER_J, 0, 3000
			FOR ITER_K, 0, COM_OPTION_NUM
				COM_COUNT_THIS_TURN:ITER_I:ITER_J:ITER_K = 0
			NEXT
		NEXT
	NEXT
	IF !FLCONFIG:処理実行後のログを消去しない
		CLEARLINE LINECOUNT
	ENDIF
	BEGIN SHOP
ENDIF

;-------------------------------------------------
;拠点フェイズ終了時の処理
;-------------------------------------------------
@TURNEND_LIFE
SHOP_TIME = 0
SHOP_WORK_COUNT = 0

SIF FLAG:イベント発生禁止
	GOTO SKIPPED

;夜に起こるイベント(夜這いなど)
;CALL EVENT_NIGHT

IF CONFIG:7 == 0
	;捕虜の扱いを設定
	;CALL SETSTATE_PRISONER
ELSE
	;捕虜の人数をカウント
	LOCAL:5 = 0
	FOR LOCAL:0, 0, CHARANUM
		IF LOCAL:0 != MASTER && CFLAG:(LOCAL:0):捕虜先 != 0 && CFLAG:(LOCAL:0):捕虜先 == CFLAG:MASTER:所属 && CFLAG:(LOCAL:0):軟禁中 == 0
			LOCAL:5 ++
		ENDIF
	NEXT
	;捕虜が一人でもいればラインを引く
	IF LOCAL:5 >= 1
		CALL SINGLE_DRAWLINE
	ENDIF
ENDIF

CALL EVENT_PRISONER

;捕虜でなければ、FLAG:逆調教回数（捕虜調教回数）を消す
IF !CFLAG:MASTER:捕虜先
	FLAG:逆調教メイン調教者 = 0
	FLAG:逆調教回数 = 0
ENDIF

;口上呼び出し
FOR LOCAL:0, 0, CHARANUM
	;主人公と同一勢力の仕官で、捕虜でない
	IF CFLAG:(LOCAL:0):所属 != 0 && LOCAL:0 != MASTER && CFLAG:(LOCAL:0):所属 == CFLAG:MASTER:所属 && CFLAG:(LOCAL:0):捕虜先 == 0
		CALL KOJO_EVENT(LOCAL:0, 30)
	ENDIF
NEXT

CALL TURNEND_COMMON
;BGMを停止
CALL FL_STOPBGM()

$SKIPPED

;統一後の場合
;一期終了時の処理
;クールタイムのリセット
CVARSET COOLTIME, 0

;ターンを進める
DAY ++

;季節変化の告知
IF HO_WEEK() == 1
	CALL PRINT_TITLE(, "季節")
	CALL DRAW_STILL(@"STILL_%HO_SEASON_STR:HO_SEASON()%", @"[BORDER:8px][BORDER_COLOR:#%CVH(HO_SEASON_COLOR:HO_SEASON())%][SIZE_X:480px][SIZE_Y:320px]", 1)
	PRINTL
	SELECTCASE HO_SEASON()
		CASE HO_季節_春
			PRINTFORML 雪解け水が清流をつくり、草花は芽吹き、鮮やかな色彩を大地に添える
			PRINTFORML 冬が終わり、春がやってきた
		CASE HO_季節_夏
			PRINTFORML 燦々たる陽光が降り注ぎ、木々の緑はますます深みを帯びる
			PRINTFORML 春が終わり、夏がやってきた
		CASE HO_季節_秋
			PRINTFORML 山林は紅に染まり、北からの涼風が夏の終わりを告げる
			PRINTFORML 夏が終わり、秋がやってきた
		CASE HO_季節_冬
			PRINTFORML 草花は枯れ落ち、降りしきる雪が大地を白く染める
			PRINTFORML 秋が終わり、冬がやってきた
	ENDSELECT
	WAIT
ENDIF

;デイリーイベント
FLAG:デイリーイベント = 1
CALL EVENT_DAILY
IF !FLAG:ターンエンド調教
	CALL EVENT_KOJO_DAILY
ENDIF
;-------------------------------------------------
;戦略フェイズ終了時の処理
;-------------------------------------------------
@TURNEND_POLITICS

SIF FLAG:イベント発生禁止
	GOTO SKIPPED

;デッドエンディングなら戻る
IF FLAG:強制エンドフラグ == 1
	RETURN
ENDIF

;一期終了時の処理
SIF !FLAG:ターンエンド調教
	CALL TURNEND_COMMON

$SKIPPED

;時間を進める
DAY ++
IF FLAG:観戦モード
	TIME = 1
ELSE
	TIME = 0
ENDIF

;-------------------------------------------------
;一期終了時の処理
;統一前なら戦略フェイズ終了後、統一後なら拠点フェイズ終了後に呼ばれる
;-------------------------------------------------
@TURNEND_COMMON
#DIM DYNAMIC CHARA_ID
VARSET LOCAL, 0
VARSET PRISONER_TARGET, -1

;「会いに行く」の対象リストのチェック
CALL MEET_CHECK_CANDIDATES

;自勢力でなくなった動物の削除
FOR LOCAL:0, CHARANUM - 1, -1, -1
	IF IS_ANIMAL(LOCAL:0) && CFLAG:(LOCAL:0):所属 != CFLAG:MASTER:所属
		CALL DELETE_CHARA(LOCAL:0)
	ENDIF
NEXT

ARENA_DONE = 0
APPOINT_DONE = 0

;捕虜用変数のクリア
CVARSET CFLAG, 30, 0
CVARSET CFLAG, 31, 0
CVARSET CFLAG, 32, 0

;各子育てコマンドの選択回数をクリア
FOR LOCAL:0, 110, 130
	CVARSET CFLAG, LOCAL:0, 0
NEXT

;口上呼び出し
FOR LOCAL:0, 0, CHARANUM
	IF CFLAG:(LOCAL:0):所属 == CFLAG:MASTER:所属 && LOCAL:0 != MASTER
		CALL SINGLE_DRAWLINE()
		CALL KOJO_EVENT(LOCAL:0, 31)
	ENDIF
NEXT

;触手部屋の管理者に経験値を加算
IF ITEM:触手部屋 && ID_TO_CHARA(FLAG:触手部屋管理者) >= 0 && IS_SYOKUSYU_MANAGE(ID_TO_CHARA(FLAG:触手部屋管理者))
	EXP:(ID_TO_CHARA(FLAG:触手部屋管理者)):触手経験値 += 2
	EXP:(ID_TO_CHARA(FLAG:触手部屋管理者)):魔術経験値 += 2
	CALL TRAIN_AUTO_ABLUP(ID_TO_CHARA(FLAG:触手部屋管理者), 1)
ENDIF

;各クエストのクールタイムを減少
FOR LOCAL, 0, QST_MAX_QUESTNUM
	QST_COOLTIME:LOCAL = MAX(0, QST_COOLTIME:LOCAL - 1)
NEXT

CALL DRAW_LINE()
PRINTFORML 【%TR("レポート")%】
CALL DRAW_LINE()
;CALL EVENT_WORK

;朝のイベント
;CALL EVENT_MORNING
;アイテム開発イベント
;CALL ITEM_DEVELOPMENT

CALL COLOR_LINE
PRINTFORML ◆　%TR("領地")%
CALL COLOR_LINE

CALL HO_FIND_MODULE_BY_USAGE("商店",,1)
IF LIST_COUNT(RESULTS)
	;露店の評判
	FLAG:領地評判_商業 += 領地評判_商業_増減値
	PRINTFORML ・%TR("商業活動の評判")%:{FLAG:領地評判_商業} (+{領地評判_商業_増減値})
	領地評判_商業_増減値 = 0
ENDIF
PRINTL

CALL COLOR_LINE
PRINTFORML ◆　%TR("キャラクター")%
CALL COLOR_LINE

;キャラクターのスキルに応じた処理
CALL TURNEND_SKILL_EVENT

;妊娠出産関連の処理
CALL TURNEND_PREGNANT_PHASE

CALL COLOR_LINE
PRINTFORML ◆　%TR("素質獲得・関係性の変化")%
CALL COLOR_LINE

FOR LOCAL:0, 0, CHARANUM
	IF IS_APPEAR(LOCAL:0)
		;恋慕などの素質変化の処理(二回目)
		CALL TALENT_CHECK(LOCAL:0)
	ENDIF
	CALL CHARA_RELATION_IMPROVE_CHECK(LOCAL:0)
NEXT

;ターン終了時のキャラクター能力処理(体力の回復など)
CALL TURNEND_CHARA_PROCESS
PRINTL

CALL COLOR_LINE
PRINTFORML ◆　%TR("その他")%
CALL COLOR_LINE
IF FLAG:ウフフイベント獲得淫堕点 > 0
	CALL QST_CHANGE_ITEM(@"淫堕点,{FLAG:ウフフイベント獲得淫堕点},", 0, 0)
	CALLF TAG_PRINT(@"・%TR("逢瀬による獲得淫堕点")%: {QST_LEWD_POINT - FLAG:ウフフイベント獲得淫堕点} @C:{カラー_ピンク}@+ {FLAG:ウフフイベント獲得淫堕点}@/C@ → {QST_LEWD_POINT}", 1)
	FLAG:ウフフイベント獲得淫堕点= 0
ENDIF

CALL DRAW_LINE()
WAIT

CALL DRAW_LINE()
PRINTFORML 【%TR("仲間たちの交流")%】
CALL DRAW_LINE()
CALL RELATION_EVENT()
FORCEWAIT

;-------------------------------------------------
;キャラの能力の変動
;-------------------------------------------------
@TURNEND_CHARA_PROCESS
#DIM 対象

FOR LOCAL:0, 0, CHARANUM

	SIF !IS_APPEAR(LOCAL:0)
		CONTINUE
	;全員の体力・気力を最大まで回復
	BASE:(LOCAL:0):体力 = MAXBASE:(LOCAL:0):体力
	BASE:(LOCAL:0):気力 = MAXBASE:(LOCAL:0):気力

	;毛が成長
	CALL INMOU_GROW(LOCAL:0)
	CALL ARMPIT_GROW(LOCAL:0)
	;締まりの改善
	CALL TIGHTNESS_GROW(LOCAL:0)

	;このターン～系フラグを折る
	CFLAG:(LOCAL:0):行動済み = 0

	;捕虜でなく、所属が特殊勢力でないなら、調教カウンタを減らしていく
	IF !IS_SP_COUNTRY(CFLAG:LOCAL:捕虜先) && !IS_SP_COUNTRY(CFLAG:LOCAL:所属)
		FOR LOCAL:1, 0, VARSIZE("SP_TRAIN_COUNT")
			SP_TRAIN_COUNT:LOCAL:(LOCAL:1) = MAX(SP_TRAIN_COUNT:LOCAL:(LOCAL:1) - 1, 0)
		NEXT
	ENDIF

	IF CFLAG:(LOCAL:0):避妊薬残ターン
		CFLAG:(LOCAL:0):避妊薬残ターン = MAX(CFLAG:(LOCAL:0):避妊薬残ターン - 1, 0)
		IF CFLAG:(LOCAL:0):避妊薬残ターン == 0
			CALL COLOR_PRINTL(@"%ANAME(LOCAL)%%TR("の避妊薬の効果が切れました")%", カラー_注意)
			CALL CLEAR_CREAMPIE_HISTORY(LOCAL)
		ENDIF
	ENDIF

	IF CFLAG:(LOCAL:0):排卵誘発剤
		CFLAG:(LOCAL:0):排卵誘発剤 = MAX(CFLAG:(LOCAL:0):排卵誘発剤 - 1, 0)
		SIF CFLAG:(LOCAL:0):排卵誘発剤 == 0
			CALL COLOR_PRINTL(@"%ANAME(LOCAL)%%TR("の排卵誘発剤の効果が切れました")%", カラー_注意)
	ENDIF

	;薬物依存値を減らす 薬物中毒あると300以下にならない
	IF GETBIT(TALENT:(LOCAL:0):淫乱系, 素質_淫乱_薬物中毒)
		CFLAG:(LOCAL:0):薬物依存 = MAX(CFLAG:(LOCAL:0):薬物依存 * 9 / 10, 300)
	ELSE
		CFLAG:(LOCAL:0):薬物依存 = MAX(CFLAG:(LOCAL:0):薬物依存 - RAND:(MAX(CFLAG:(LOCAL:0):薬物依存 * 1 / 10, 1)), 0)

	ENDIF

	;捕虜の場合
	IF CFLAG:(LOCAL:0):捕虜先 != 0 && CFLAG:(LOCAL:0):捕虜先 == CFLAG:MASTER:所属
		;捕虜の機嫌変化
		CALL PRISONER_CHANGE_EMOTION(LOCAL:0)

		;被育児状態の子供の場合
	ELSEIF CFLAG:(LOCAL:0):行動不能状態 == 行動不能_子供
		;機嫌は変動しない

		;捕虜でなく、被育児状態の子供でもない場合
	ELSEIF CFLAG:(LOCAL:0):行動不能状態 != 行動不能_子供
		;現在の機嫌を減衰させる
		TIMES PALAM:(LOCAL:0):怒外, 0.60
		TIMES PALAM:(LOCAL:0):哀外, 0.60
		TIMES PALAM:(LOCAL:0):怖外, 0.60
		TIMES PALAM:(LOCAL:0):怒主, 0.05
		TIMES PALAM:(LOCAL:0):哀主, 0.05
		TIMES PALAM:(LOCAL:0):怖主, 0.05

		;●外的要因による機嫌にランダム値を加える
		;<抑圧>持ちは機嫌が変動しない
		IF !TALENT:(LOCAL:0):抑圧
			;怪我をしている場合
			IF CFLAG:(LOCAL:0):行動不能状態 == 3
				IF RAND:2 == 0
					PALAM:(LOCAL:0):怒外 += RAND:1001
				ELSE
					PALAM:(LOCAL:0):怒外 += RAND:301
				ENDIF
				IF RAND:2 == 0
					PALAM:(LOCAL:0):哀外 += RAND:1001
				ELSE
					PALAM:(LOCAL:0):哀外 += RAND:301
				ENDIF

			ELSE
				IF RAND:15 == 0
					PALAM:(LOCAL:0):怒外 += RAND:2001 - 1000
				ELSE
					PALAM:(LOCAL:0):怒外 += RAND:601 - 300
				ENDIF
				IF RAND:15 == 0
					PALAM:(LOCAL:0):哀外 += RAND:2001 - 1000
				ELSE
					PALAM:(LOCAL:0):哀外 += RAND:601 - 300
				ENDIF
			ENDIF
		ENDIF
	ENDIF

	;捕虜の収監によるRELATIONの変化
	SIF CFLAG:(LOCAL:0):捕虜先 != 0
		CALL PRISONER_CHANGE_RELATION(LOCAL:0)

	;精神力の回復
	IF CFLAG:(LOCAL:0):精神力回復量補正 == 0
		BASE:(LOCAL:0):精神力 = MIN(BASE:(LOCAL:0):精神力 + MAXBASE:(LOCAL:0):精神力 / 2, MAXBASE:(LOCAL:0):精神力)
	ELSE
		BASE:(LOCAL:0):精神力 = MIN(BASE:(LOCAL:0):精神力 + (MAXBASE:(LOCAL:0):精神力 / 2 * CFLAG:(LOCAL:0):精神力回復量補正 / 100), MAXBASE:(LOCAL:0):精神力)
		CFLAG:(LOCAL:0):精神力回復量補正 = 0
	ENDIF

	;崩壊値の減少
	SIF !TALENT:(LOCAL:0):崩壊
		CFLAG:(LOCAL:0):崩壊 -= 600 + (MAXBASE:(LOCAL:0):精神力 / 5)

	SIF TALENT:(LOCAL:0):崩壊
		CFLAG:(LOCAL:0):崩壊 -= MAX((MAXBASE:(LOCAL:0):精神力 / 5), 100)

	CFLAG:(LOCAL:0):崩壊 = LIMIT(CFLAG:(LOCAL:0):崩壊, 0, 10000)

	;子供の成長度を加算
	SIF TALENT:(LOCAL:0):幼児
		CFLAG:(LOCAL:0):子の成長度 = MIN(CFLAG:(LOCAL:0):子の成長度 + 1, 999999)

	;授乳量記録の削除
	CALL CLEAR_BREAST_FEED(LOCAL:0)

NEXT

;-------------------------------------------------
;「会いに行く」での放浪中キャラの用意
;-------------------------------------------------
@MEET_CHECK_CANDIDATES()

MEET_CANDIDATES_REST_TURN --

FOR LOCAL, 0, MEET_MAX_CANDIDATES
	LOCAL:1 = ID_TO_CHARA(MEET_CANDIDATES:LOCAL)
	SIF LOCAL:1 == -1
		CONTINUE
	IF CFLAG:(LOCAL:1):特殊状態 != 特殊状態_放浪 || CFLAG:(LOCAL:1):捕虜先
		MEET_CANDIDATES:LOCAL = 0
	ENDIF
NEXT

IF !IS_COUNTRY(CFLAG:MASTER:所属) || IS_SP_COUNTRY(CFLAG:MASTER:所属)
	VARSET MEET_CANDIDATES, 0
	VARSET MEET_CANDIDATES_REST_TURN, 0
	RETURN 0
ENDIF

LOCAL:2 = 1

FOR LOCAL, 0, MEET_MAX_CANDIDATES
	LOCAL:1 = ID_TO_CHARA(MEET_CANDIDATES:LOCAL)
	IF LOCAL:1 != -1
		LOCAL:2 = 0
		BREAK
	ENDIF
NEXT

SIF LOCAL:2
	MEET_CANDIDATES_REST_TURN = 0

SIF MEET_CANDIDATES_REST_TURN > 0
	RETURN 0

VARSET MEET_CANDIDATES, 0
VARSET MEET_CANDIDATES_REST_TURN, 0

CALL SELECT_CHARA_RANDOM_MULTI(MEET_MAX_CANDIDATES, "MEET_CHECK_CANDIDATES")

FOR LOCAL, 0, MIN(MEET_MAX_CANDIDATES, SELECTED_CHARA_NUM)
	MEET_CANDIDATES:LOCAL = GET_ID(SELECTED_CHARA:LOCAL)
NEXT

SIF SELECTED_CHARA_NUM > 0
	MEET_CANDIDATES_REST_TURN = 4

@SELECT_CHARA_RANDOM_LOGIC_MEET_CHECK_CANDIDATES(対象)
#DIM 対象
RETURN 対象 != MASTER && !CFLAG:対象:捕虜先 && CFLAG:対象:特殊状態 == 特殊状態_放浪

;-------------------------------------------------
;解放カウンタに基づいて捕虜を解放する処理
;-------------------------------------------------
@RELEASE_PRISONERS()
#DIM 特殊捕虜先
VARSET LOCAL

;主人公が捕虜で監禁日数が4日以上ときのみ発生
IF CFLAG:MASTER:捕虜先 && CFLAG:MASTER:解放カウンタ >= 5 && RAND:100 < (CFLAG:MASTER:解放カウンタ - 5) * 15 + 15
	CALL SINGLE_DRAWLINE
	PRINTFORMW 兵士たちが%ANAME(MASTER)%の牢を開け、%ANAME(MASTER)%に対して外に出るように言った
	PRINTFORMW どうやら%ANAME(MASTER)%は解放されることになったようだ…
	PRINTL
	IF CFLAG:MASTER:所属 == 0
		SETCOLOR カラー_注意
		PRINTFORMW %ANAME(MASTER)%は放浪の身になりました
		RESETCOLOR
	ELSE
		SETCOLOR カラー_注意
		PRINTFORMW %ANAME(MASTER)%は君主の元へと戻りました
		RESETCOLOR
	ENDIF
	CALL CAPTURE(MASTER, 0)
ENDIF

FOR LOCAL, 1, CHARANUM
	特殊捕虜先 = IS_SP_COUNTRY(CFLAG:LOCAL:捕虜先)
	;もしその国が何らかの理由で滅んでいるのにまだ捕らえられていたら、強制的に解放する
	IF CFLAG:LOCAL:捕虜先 && !IS_COUNTRY(CFLAG:LOCAL:捕虜先)
		IF !LOCAL:1
			CALL SINGLE_DRAWLINE
			LOCAL:1 = 1
		ENDIF
		SETCOLOR カラー_注意
		IF IS_COUNTRY(CFLAG:LOCAL:所属)
			PRINTFORML 囚われていた%ANAME(LOCAL)%は解放され、%ANAME(GET_COUNTRY_BOSS(CFLAG:LOCAL:所属))%のところに戻りました
		ELSE
			PRINTFORML 囚われていた%ANAME(LOCAL)%は解放され、放浪しました
			CFLAG:LOCAL:特殊状態 = 特殊状態_放浪
		ENDIF
		RESETCOLOR
		;通常の解放処理
	ELSEIF LOCAL != MASTER && CFLAG:LOCAL:捕虜先 && CFLAG:LOCAL:捕虜先 != CFLAG:MASTER:所属 && MIN((CFLAG:LOCAL:解放カウンタ - 5) * 5, 30) > RAND:100 && !特殊捕虜先
		IF !LOCAL:1
			CALL SINGLE_DRAWLINE
			LOCAL:1 = 1
		ENDIF
		SETCOLOR カラー_注意
		IF IS_COUNTRY(CFLAG:LOCAL:所属)
			PRINTFORML %ANAME(GET_COUNTRY_BOSS(CFLAG:LOCAL:捕虜先))%に囚われていた%ANAME(LOCAL)%は\@ CFLAG:LOCAL:解放カウンタ >= 10 ? ようやく# \@解放され、%ANAME(GET_COUNTRY_BOSS(CFLAG:LOCAL:所属))%のところに戻りました
		ELSE
			PRINTFORML %ANAME(GET_COUNTRY_BOSS(CFLAG:LOCAL:捕虜先))%に囚われていた%ANAME(LOCAL)%は解放され、放浪しました
		ENDIF
		RESETCOLOR
		CALL CAPTURE(LOCAL:0, 0)
		;たまに脱走する。特殊勢力なら率高め
	ELSEIF (LOCAL != MASTER && CFLAG:LOCAL:捕虜先 && CFLAG:LOCAL:捕虜先 != CFLAG:MASTER:所属 && 特殊捕虜先 * 12 + 3 > RAND:100)
		IF !LOCAL:1
			CALL SINGLE_DRAWLINE
			LOCAL:1 = 1
		ENDIF
		IF CFLAG:LOCAL:捕虜先 != CFLAG:LOCAL:所属 && (!特殊捕虜先 || CFLAG:LOCAL:所属)
			SETCOLOR カラー_注意
			IF IS_COUNTRY(CFLAG:LOCAL:所属)
				PRINTFORML %ANAME(GET_COUNTRY_BOSS(CFLAG:LOCAL:捕虜先))%に囚われていた%ANAME(LOCAL)%は脱走し、%ANAME(GET_COUNTRY_BOSS(CFLAG:LOCAL:所属))%のところに戻りました
			ELSE
				PRINTFORML %ANAME(GET_COUNTRY_BOSS(CFLAG:LOCAL:捕虜先))%に囚われていた%ANAME(LOCAL)%は脱走し、放浪しました
			ENDIF
			RESETCOLOR
			CALL CAPTURE(LOCAL:0, 0)
		ENDIF
	ENDIF
NEXT
CALL KILL_EMPTY_LINE()

;-------------------------------------------------
;@TURNEND_SKILL_EVENT
;
;-------------------------------------------------
;region @TURNEND_SKILL_EVENT
@TURNEND_SKILL_EVENT
#DIM DYNAMIC CHARA_ID
#DIM DYNAMIC SKILL_LV
#DIM DYNAMIC EXP_GAIN
#DIM DYNAMIC EFFECT_RATE
#DIM DYNAMIC ITER_I
#DIM DYNAMIC ITER_J

VARI CUM_AMOUNT_TO_M
FOR CHARA_ID, 0, CHARANUM
	;キャラクターのスキルに応じた処理
	;;経口摂取
	CALL SKILL_GET_LEVEL(CHARA_ID, スキル_大分類_性技, "ORAL_INTAKE")
	SKILL_LV = RESULT
	IF SKILL_LV
		CALL SKILL_GET_EFFECT_RATE(スキル_ジャンル_性技, "ORAL_INTAKE", SKILL_LV)
		CALL STOMACH_SPERM_DECREASE(CHARA_ID, RESULT)
		CUM_AMOUNT_TO_M = RESULT
		IF CUM_AMOUNT_TO_M > 0
			PRINTFORML %ANAME(CHARA_ID)%は口腔に注がれた精液のうち{CUM_AMOUNT_TO_M}mlをマナに変換した
			CALL PRINT_ADD_EXP(CHARA_ID, "魔術経験値", CUM_AMOUNT_TO_M / 10, 1)
			CALL TRAIN_AUTO_ABLUP(CHARA_ID)
		ENDIF
	ENDIF
NEXT

VARI MILK_AMOUNT
VARI CUM_AMOUNT_TO_V
VARI CUM_AMOUNT_TO_A
VARI AMOUNT
VARI PROVIDER_ID
VARI EXP_GAIN_CAP_MANA_CUM_PROVIDE
VARI EXP_GAIN_CAP_MANA_BREAST_FEED
VARI EXP_GAIN
;;魔力供乳
FOR CHARA_ID, 0, CHARANUM
	MILK_AMOUNT = 0
	CUM_AMOUNT_TO_V = 0
	CUM_AMOUNT_TO_A = 0
	EXP_GAIN_CAP_MANA_CUM_PROVIDE = 0
	EXP_GAIN_CAP_MANA_BREAST_FEED = 0
	FOR ITER_I, 0, CHARANUM
		PROVIDER_ID = ITER_I
		CALL SKILL_GET_LEVEL(PROVIDER_ID, スキル_大分類_性技, "MANA_CUM_PROVIDE")
		SKILL_LV = RESULT
		IF SKILL_LV
			;魔力供給
			CALL SKILL_GET_EFFECT_RATE(スキル_ジャンル_性技, "MANA_CUM_PROVIDE", SKILL_LV)
			EFFECT_RATE = RESULT
			FOR ITER_J, 0, WOMB_RECORD_MAX
				IF WOMB_SPERM_ID:CHARA_ID:ITER_J == GET_ID(PROVIDER_ID)
					AMOUNT = FTIMES(WOMB_SPERM_AMOUNT:CHARA_ID:ITER_J, EFFECT_RATE)
					CUM_AMOUNT_TO_V += AMOUNT
					;変換した分の精液を減らす
					WOMB_SPERM_AMOUNT:CHARA_ID:ITER_J = MAX(WOMB_SPERM_AMOUNT:CHARA_ID:ITER_J - AMOUNT, 0)
				ENDIF
				IF ANUS_SPERM_ID:CHARA_ID:ITER_J == GET_ID(PROVIDER_ID)
					AMOUNT = FTIMES(ANUS_SPERM_AMOUNT:CHARA_ID:ITER_J, EFFECT_RATE)
					CUM_AMOUNT_TO_A += AMOUNT
					;変換した分の精液を減らす
					ANUS_SPERM_AMOUNT:CHARA_ID:ITER_J = MAX(ANUS_SPERM_AMOUNT:CHARA_ID:ITER_J - AMOUNT, 0)
				ENDIF
			NEXT
			IF (CUM_AMOUNT_TO_V > 0 || CUM_AMOUNT_TO_A > 0)
				EXP_GAIN_CAP_MANA_CUM_PROVIDE += MAX(ABL:PROVIDER_ID:魔術 / 10, 2)
			ENDIF
		ENDIF
		;魔力供乳
		CALL SKILL_GET_LEVEL(PROVIDER_ID, スキル_大分類_性技, "MANA_PROVIDE")
		SKILL_LV = RESULT
		IF SKILL_LV
			CALL SKILL_GET_EFFECT_RATE(スキル_ジャンル_性技, "MANA_PROVIDE", SKILL_LV)
			EFFECT_RATE = RESULT
			FOR ITER_J, 0, WOMB_RECORD_MAX
				IF BREAST_FEED_ID:PROVIDER_ID:ITER_J == GET_ID(CHARA_ID)
					MILK_AMOUNT += FTIMES(BREAST_FEED_AMOUNT:PROVIDER_ID:ITER_J, EFFECT_RATE)
				ENDIF
			NEXT
			IF MILK_AMOUNT > 0
				EXP_GAIN_CAP_MANA_BREAST_FEED += MAX(ABL:PROVIDER_ID:魔術 / 10, 2)
			ENDIF
		ENDIF
	NEXT
	EXP_GAIN = LIMIT(CUM_AMOUNT_TO_V / 15, 0, EXP_GAIN_CAP_MANA_CUM_PROVIDE)
	IF EXP_GAIN  > 0
		CALLF TAG_PRINT(@"@C:{カラー_妊娠}@%ANAME(CHARA_ID)%は膣内に注がれた濃厚な精液{CUM_AMOUNT_TO_V}mlを魔力に変換した@/C@", 1)
		CALL PRINT_ADD_EXP(CHARA_ID, "魔術経験値", EXP_GAIN, 1)
		CALL TRAIN_AUTO_ABLUP(CHARA_ID)
	ENDIF
	EXP_GAIN = LIMIT(CUM_AMOUNT_TO_A / 15, 0, EXP_GAIN_CAP_MANA_CUM_PROVIDE)
	IF EXP_GAIN  > 0
		CALLF TAG_PRINT(@"@C:{カラー_妊娠}@%ANAME(CHARA_ID)%は肛腔に注がれた濃厚な精液{CUM_AMOUNT_TO_A}mlを魔力に変換した@/C@", 1)
		CALL PRINT_ADD_EXP(CHARA_ID, "魔術経験値", EXP_GAIN, 1)
		CALL TRAIN_AUTO_ABLUP(CHARA_ID)
	ENDIF
	EXP_GAIN = LIMIT(MILK_AMOUNT  / 10, 0, EXP_GAIN_CAP_MANA_BREAST_FEED)
	IF EXP_GAIN  > 0
		CALLF TAG_PRINT(@"@C:{カラー_妊娠}@%ANAME(CHARA_ID)%は飲み干した豊潤な母乳{MILK_AMOUNT}mlを魔力に変換した@/C@", 1)
		CALL PRINT_ADD_EXP(CHARA_ID, "魔術経験値", EXP_GAIN, 1)
		CALL TRAIN_AUTO_ABLUP(CHARA_ID)
	ENDIF
NEXT

;#endregion

repo_name: pervysquirrelz/erafl

license: unknown


code:
#DIM  CONST UI_CONTAINER_ID_MAX = 100
#DIMS XML_UI_CONTAINER, UI_CONTAINER_ID_MAX
;文字数単位での最大幅と高さ
#DIM CONST UI_MAXWIDTH = 86
#DIM CONST UI_MAXHEIGHT = 45


code:
;-------------------------------------------------
;;; 疑似UIコンテナ
;-------------------------------------------------
@UIC_INIT()
#DIM CONTAINER_ID ;

CONTAINER_ID ++
IF CONTAINER_ID == UI_CONTAINER_ID_MAX
    CONTAINER_ID = 1
ENDIF

XML_UI_CONTAINER:CONTAINER_ID '= @"<layout><containers id = '{CONTAINER_ID}'></containers></layout>"
RESULT = CONTAINER_ID
RETURN RESULT

;-------------------------------------------------
;;; 指定したIDにUIコンテナを追加する
;;; - ARGS
;;;     - CONTAINER_ID {int}: コンテナID
;;;     - CONTAINER_NAME {string}: コンテナ名
;;;     - TEXT {string}: コンテナ内テキスト
;;;     - DIC_ATTRIBUTES {string}: DIVタグに指定する属性
;;;       - 指定可能な属性の詳細は以下のURLを参照。属性の大文字小文字は区別されない(全て小文字に変換される)
;;;       - https://evilmask.gitlab.io/emuera.em.doc/Emuera/HTML_PRINT.html#div
;;; - RETURN
;;;     - RESULT {int}: 0 失敗 1 成功
;-------------------------------------------------
@UIC_ADD(CONTAINER_ID, CONTAINER_NAME, TEXT = "", DIC_ATTRIBUTES = "")
#DIM  CONTAINER_ID
#DIMS CONTAINER_NAME
#DIMS TEXT
#DIMS DIC_ATTRIBUTES

VARS XML
IF XML_UI_CONTAINER:CONTAINER_ID == ""
    RETURN 0
ENDIF
XML = %XML_UI_CONTAINER:CONTAINER_ID%

;既に同名のコンテナがある場合は追加しない
IF XML_GET(XML, @"//containers[@id = '{CONTAINER_ID}']/container[@name = '%CONTAINER_NAME%']", 1)
    RETURN 0
ENDIF

;DIVタグの追加
XML_ADDNODE XML, @"//containers[@id = '{CONTAINER_ID}']", @"<container name = '%CONTAINER_NAME%'>

</container>"

;DIVタグの属性が指定されていない場合はデフォルト値を設定
IF DIC_ATTRIBUTES == ""
    DIC_ATTRIBUTES '= "[RECT:0,0,0,0]"
ENDIF
DIC_ATTRIBUTES = %TOLOWER(DIC_ATTRIBUTES)%
IF !DIC_CONTAINSKEY(DIC_ATTRIBUTES, "xpos")
    DIC_ATTRIBUTES += "[xpos:0]"
ENDIF
IF !DIC_CONTAINSKEY(DIC_ATTRIBUTES, "ypos")
    DIC_ATTRIBUTES += "[ypos:0]"
ENDIF

;コンテナ配列を更新
XML_UI_CONTAINER:CONTAINER_ID = %XML%

;DIVタグの属性を設定
VARI I
VARI KEY_NUM
VARS KEYS, 100
CALL DIC_KEYS(DIC_ATTRIBUTES)
KEY_NUM = RESULT
ARRAYCOPY "RESULTS", "KEYS"

FOR I, 0, KEY_NUM
    CALL UIC_SET_DIVATTR(CONTAINER_ID, CONTAINER_NAME, TOLOWER(KEYS:I), TOLOWER(DIC_GET(DIC_ATTRIBUTES, KEYS:I)))
NEXT

;コンテナ内テキストの設定
IF TEXT != ""
    CALL UIC_SET_TEXT(CONTAINER_ID, CONTAINER_NAME, TEXT)
ENDIF

RETURN 1

@UIC_SHOW(CONTAINER_ID)
#DIM CONTAINER_ID
VARS DIVS, 100

VARS HTML
VARI CONTAINER_CNT
VARI I
CONTAINER_CNT = XML_GET(XML_UI_CONTAINER:CONTAINER_ID, @"//containers[@id = '{CONTAINER_ID}']/container", DIVS, 2)
FOR I, 0, CONTAINER_CNT
    HTML += DIVS:I
NEXT

HTML_PRINT HTML_UNESCAPE(HTML_UNESCAPE(HTML)), 0
RETURN

;-------------------------------------------------
;;; コンテナにテキストをセットする
;;; - ARGS
;;;     - CONTAINER_ID {int}: コンテナID
;;;     - CONTAINER_NAME {string}: コンテナ名
;;;     - TEXT {string}: セットするテキスト
;;; - RETURN
;;;     - RESULT {int}: 0 失敗 1 成功
;-------------------------------------------------
@UIC_SET_TEXT(CONTAINER_ID, CONTAINER_NAME, TEXT)
#DIM CONTAINER_ID
#DIMS CONTAINER_NAME
#DIMS TEXT

; テキストノードを更新
; HTMLテキストが入ることを前提としているため、HTMLエスケープを行う
XML_SET XML_UI_CONTAINER:CONTAINER_ID, @"//containers[@id = '{CONTAINER_ID}']/container[@name = '%CONTAINER_NAME%']/div", HTML_ESCAPE(TEXT), 0, 2
RETURN RESULT

;-------------------------------------------------
;;; コンテナの存在判定を行う
;;; - ARGS
;;;     - CONTAINER_ID {int}: コンテナID
;;;     - CONTAINER_NAME {string}: コンテナ名
;;; - RETURN
;;;     - RESULT {int}: 0 存在しない 1 存在する
;-------------------------------------------------
@UIC_EXISTS(CONTAINER_ID, CONTAINER_NAME)
#FUNCTION
#DIM CONTAINER_ID
#DIMS CONTAINER_NAME

; XMLドキュメントが存在しない場合
IF XML_UI_CONTAINER:CONTAINER_ID == ""
    RETURNF 0
ENDIF

; コンテナの存在チェック
RETURNF XML_GET(XML_UI_CONTAINER:CONTAINER_ID, @"//containers[@id = '{CONTAINER_ID}']/container[@name = '%CONTAINER_NAME%']")

;-------------------------------------------------
;;; DIVタグの属性値をセットする
;;; - ARGS
;;;     - CONTAINER_ID {int}: コンテナID
;;;     - CONTAINER_NAME {string}: コンテナ名
;;;     - ATTRIBUTE_NAME {string}: 設定したい属性名
;;;     - ATTRIBUTE_VALUE {string}: 設定したい属性値
;;; - RETURN
;;;     - RESULT {int}: 0 失敗 1 成功
;-------------------------------------------------
@UIC_SET_DIVATTR(CONTAINER_ID, CONTAINER_NAME, ATTRIBUTE_NAME, ATTRIBUTE_VALUE)
#DIM CONTAINER_ID
#DIMS CONTAINER_NAME
#DIMS ATTRIBUTE_NAME
#DIMS ATTRIBUTE_VALUE
#DIMS DYNAMIC POS_VALUES, 4
#DIMS RECT_STR
; コンテナの存在確認
IF !UIC_EXISTS(CONTAINER_ID, CONTAINER_NAME)
    RETURN 0
ENDIF

; 属性名は小文字に変換（HTMLの属性は大文字小文字を区別しない）
ATTRIBUTE_NAME = %TOLOWER(ATTRIBUTE_NAME)%
ATTRIBUTE_VALUE = %TOLOWER(ATTRIBUTE_VALUE)%

; 有効な属性名かチェック
SELECTCASE ATTRIBUTE_NAME
        ; サイズと位置関連
    CASE "width", "height", "xpos", "ypos", "size", "rect", "pos"
        ; 表示関連
    CASE "depth", "color", "display"
        ; マージン・パディング・ボーダー関連
    CASE "margin", "padding", "border", "bcolor", "radius"
        ; 無効な属性名の場合
    CASEELSE
        RETURN 0
ENDSELECT

VARS XPATH
XPATH '= @"//containers[@id = '{CONTAINER_ID}']/container[@name = '%CONTAINER_NAME%']/div"

; RECT属性の場合は個別の位置・サイズ属性も設定
IF ATTRIBUTE_NAME == "rect"
    ; x,y,width,heightの形式から数値を取り出す
    SPLIT ATTRIBUTE_VALUE, ",", POS_VALUES
    ; 個別の属性を設定
    XML_ADDATTRIBUTE XML_UI_CONTAINER:CONTAINER_ID, XPATH, "xpos", POS_VALUES:0
    XML_ADDATTRIBUTE XML_UI_CONTAINER:CONTAINER_ID, XPATH, "ypos", POS_VALUES:1
    XML_ADDATTRIBUTE XML_UI_CONTAINER:CONTAINER_ID, XPATH, "width", POS_VALUES:2
    XML_ADDATTRIBUTE XML_UI_CONTAINER:CONTAINER_ID, XPATH, "height", POS_VALUES:3
ELSEIF ATTRIBUTE_NAME == "pos"
    SPLIT ATTRIBUTE_VALUE, ",", POS_VALUES
    XML_ADDATTRIBUTE XML_UI_CONTAINER:CONTAINER_ID, XPATH, "xpos", POS_VALUES:0
    XML_ADDATTRIBUTE XML_UI_CONTAINER:CONTAINER_ID, XPATH, "ypos", POS_VALUES:1
ELSEIF ATTRIBUTE_NAME == "size"
    SPLIT ATTRIBUTE_VALUE, ",", POS_VALUES
    XML_ADDATTRIBUTE XML_UI_CONTAINER:CONTAINER_ID, XPATH, "width", POS_VALUES:0
    XML_ADDATTRIBUTE XML_UI_CONTAINER:CONTAINER_ID, XPATH, "height", POS_VALUES:1
ELSE
    XML_ADDATTRIBUTE XML_UI_CONTAINER:CONTAINER_ID, XPATH, ATTRIBUTE_NAME, ATTRIBUTE_VALUE
ENDIF

; 指定された属性を設定

RETURN 1

;-------------------------------------------------
;;; DIVタグの属性値を取得する
;;; - ARGS
;;;     - CONTAINER_ID {int}: コンテナID
;;;     - CONTAINER_NAME {string}: コンテナ名
;;;     - ATTRIBUTE_NAME {string}: 取得したい属性名
;;; - RETURN
;;;     - RESULTS:0 {string}: 属性値
;;;     - RESULT {int}: 0 失敗 1 成功
;-------------------------------------------------
@UIC_GET_DIVATTR(CONTAINER_ID, CONTAINER_NAME, ATTRIBUTE_NAME)
#DIM CONTAINER_ID
#DIMS CONTAINER_NAME
#DIMS ATTRIBUTE_NAME
#DIMS ATTRIBUTE_VALUE

; 属性名は小文字に変換（HTMLの属性は大文字小文字を区別しない）
ATTRIBUTE_NAME = %TOLOWER(ATTRIBUTE_NAME)%

; コンテナが存在しない、または属性が取得できない場合は失敗を返す
IF !XML_GET(XML_UI_CONTAINER:CONTAINER_ID, @"//containers[@id = '{CONTAINER_ID}']/container[@name = '%CONTAINER_NAME%']/div/@%ATTRIBUTE_NAME%", ATTRIBUTE_VALUE)
    RESULTS:0 = ""
    RETURN 0
ENDIF

RESULTS:0 = %ATTRIBUTE_VALUE%
RETURN 1

;-------------------------------------------------
;;; コンテナの位置とサイズを取得する
;;; - ARGS
;;;     - CONTAINER_ID {int}: コンテナID
;;;     - CONTAINER_NAME {string}: コンテナ名
;;; - RETURN
;;;     - RESULT:0 {int}: 0 失敗 1 成功
;;;     - RESULT:1 {int}: 原点X座標
;;;     - RESULT:2 {int}: 原点Y座標
;;;     - RESULT:3 {int}: 幅
;;;     - RESULT:4 {int}: 高さ
;-------------------------------------------------
@UIC_GET_DIVRECT(CONTAINER_ID, CONTAINER_NAME)
#DIM CONTAINER_ID
#DIMS CONTAINER_NAME
#DIMS DYNAMIC RECT_VALUES, 4

VARS RECT_STR
VARSET RECT_VALUES

;XPOS属性が存在する場合はその値をそのまま使用する
VARI ERROR_CNT
CALL UIC_GET_DIVATTR(CONTAINER_ID, CONTAINER_NAME, "XPOS")
IF RESULT
    RECT_VALUES:0 = %RESULTS:0%
    CALL UIC_GET_DIVATTR(CONTAINER_ID, CONTAINER_NAME, "YPOS")
    IF RESULT
        RECT_VALUES:1 = %RESULTS:0%
    ELSE
        ERROR_CNT++
    ENDIF
    CALL UIC_GET_DIVATTR(CONTAINER_ID, CONTAINER_NAME, "WIDTH")
    IF RESULT
        RECT_VALUES:2 = %RESULTS:0%
    ELSE
        ERROR_CNT++
    ENDIF
    CALL UIC_GET_DIVATTR(CONTAINER_ID, CONTAINER_NAME, "HEIGHT")
    IF RESULT
        RECT_VALUES:3 = %RESULTS:0%
    ELSE
        ERROR_CNT++
    ENDIF
    IF ERROR_CNT
        RETURN 0, 0, 0, 0, 0
    ELSE
        RETURN 1, TOINT(RECT_VALUES:0), TOINT(RECT_VALUES:1), TOINT(RECT_VALUES:2), TOINT(RECT_VALUES:3)
    ENDIF
ELSE
    ;UICは基本的にすべてXPOS, YPOS, WIDTH, HEIGHT属性で保持しているはず。RECT属性が存在するか一応確認
    CALL UIC_GET_DIVATTR(CONTAINER_ID, CONTAINER_NAME, "RECT")
    ; [RECT:x,y,width,height]の形式から数値を取り出す
    SPLIT RECT_STR, ",", RECT_VALUES
    RETURN 1, TOINT(RECT_VALUES:0), TOINT(RECT_VALUES:1), TOINT(RECT_VALUES:2), TOINT(RECT_VALUES:3)
ENDIF

;-------------------------------------------------
;;; コンテナの基準点座標を取得する
;;; - ARGS
;;;     - CONTAINER_ID {int}: コンテナID
;;;     - CONTAINER_NAME {string}: コンテナ名
;;;     - PIVOT_POINT {string}: 基準点の指定
;;;       - LEFT_TOP: 左上
;;;       - LEFT_BOTTOM: 左下
;;;       - RIGHT_TOP: 右上
;;;       - RIGHT_BOTTOM: 右下
;;;       - CENTER: 中央
;;;       - TOP: 上辺中央
;;;       - RIGHT: 右辺中央
;;;       - BOTTOM: 下辺中央
;;;       - LEFT: 左辺中央
;;; - RETURN
;;;     - RESULT:0 {int}: 0 失敗 1 成功
;;;     - RESULT:1 {int}: 基準点のX座標
;;;     - RESULT:2 {int}: 基準点のY座標
;-------------------------------------------------
@UIC_GET_PIVOT(CONTAINER_ID, CONTAINER_NAME, PIVOT_POINT)
#DIM CONTAINER_ID
#DIMS CONTAINER_NAME
#DIMS PIVOT_POINT

; コンテナの矩形情報を取得
CALL UIC_GET_DIVRECT(CONTAINER_ID, CONTAINER_NAME)
SIF !RESULT
    RETURN 0, 0, 0

; 基準点の座標を計算
CALL UIC_CALC_RECT_PIVOT(RESULT:1, RESULT:2, RESULT:3, RESULT:4, PIVOT_POINT)
RETURN RESULT, RESULT:1, RESULT:2

;-------------------------------------------------
;;; 矩形の基準点座標を取得する
;;; - ARGS
;;;     - X {int}: 矩形の左上X座標
;;;     - Y {int}: 矩形の左上Y座標
;;;     - WIDTH {int}: 矩形の幅
;;;     - HEIGHT {int}: 矩形の高さ
;;;     - PIVOT_POINT {string}: 基準点の指定 @UIC_GET_PIVOT参照
;;; - RETURN
;;;     - RESULT:0 {int}: 0 失敗 1 成功
;;;     - RESULT:1 {int}: 基準点のX座標
;;;     - RESULT:2 {int}: 基準点のY座標
;-------------------------------------------------
@UIC_CALC_RECT_PIVOT(POS_X, POS_Y, WIDTH, HEIGHT, PIVOT_POINT)
#DIM POS_X
#DIM POS_Y
#DIM WIDTH
#DIM HEIGHT
#DIMS PIVOT_POINT

SELECTCASE TOUPPER(PIVOT_POINT)
        ; 四隅
    CASE "LEFT_TOP"
        RETURN 1, POS_X, POS_Y
    CASE "LEFT_BOTTOM"
        RETURN 1, POS_X, POS_Y + HEIGHT
    CASE "RIGHT_TOP"
        RETURN 1, POS_X + WIDTH, POS_Y
    CASE "RIGHT_BOTTOM"
        RETURN 1, POS_X + WIDTH, POS_Y + HEIGHT
        ; 中央
    CASE "CENTER"
        RETURN 1, POS_X + (WIDTH / 2), POS_Y + (HEIGHT / 2)
        ; 各辺の中点
    CASE "TOP"
        RETURN 1, POS_X + (WIDTH / 2), POS_Y
    CASE "RIGHT"
        RETURN 1, POS_X + WIDTH, POS_Y + (HEIGHT / 2)
    CASE "BOTTOM"
        RETURN 1, POS_X + (WIDTH / 2), POS_Y + HEIGHT
    CASE "LEFT"
        RETURN 1, POS_X, POS_Y + (HEIGHT / 2)
    CASEELSE
        ; 無効な基準点が指定された場合
        RETURN 0, 0, 0
ENDSELECT

;-------------------------------------------------
;;; コンテナの相対位置を設定する
;;; - ARGS
;;;     - CONTAINER_ID {int}: コンテナID
;;;     - TARGET_NAME {string}: 位置を設定するコンテナ名
;;;     - REFERENCE_NAME {string}: 基準となるコンテナ名
;;;     - ANCHOR {string}: ターゲットコンテナのアンカーポイント
;;;       - LEFT_TOP: 左上
;;;       - LEFT_BOTTOM: 左下
;;;       - RIGHT_TOP: 右上
;;;       - RIGHT_BOTTOM: 右下
;;;       - CENTER: 中央
;;;       - TOP: 上辺中央
;;;       - RIGHT: 右辺中央
;;;       - BOTTOM: 下辺中央
;;;       - LEFT: 左辺中央
;;;     - TARGET_PIVOT {string}: 基準コンテナの基準点。指定パラメータ名はアンカーポイントと同様
;;;     - PADDING {int}: コンテナ間の余白
;;; - RETURN
;;;     - RESULT {int}: 0 失敗 1 成功
;-------------------------------------------------
@UIC_SET_LAYOUT(CONTAINER_ID, TARGET_NAME, DIC_LAYOUT)
#DIM CONTAINER_ID
#DIMS TARGET_NAME
#DIMS DIC_LAYOUT
VARS REFERENCE_NAME
VARS ANCHOR
VARS TARGET_PIVOT
VARI PADDING
VARI REF_X
VARI REF_Y
VARI ANCHOR_X
VARI ANCHOR_Y
VARI TARGET_X
VARI TARGET_Y
VARI TARGET_WIDTH
VARI TARGET_HEIGHT
VARS PADDING_STR
VARS PADDING_VALUES, 2

IF DIC_CONTAINSKEY(DIC_LAYOUT, "TARGET")
    REFERENCE_NAME = %DIC_GET(DIC_LAYOUT, "TARGET")%
ELSE
    REFERENCE_NAME = "LINE_LEFT"
ENDIF

IF DIC_CONTAINSKEY(DIC_LAYOUT, "ANCHOR")
    ANCHOR = %DIC_GET(DIC_LAYOUT, "ANCHOR")%
ELSE
    ANCHOR = "LEFT_TOP"
ENDIF

IF DIC_CONTAINSKEY(DIC_LAYOUT, "TARGET_PIVOT")
    TARGET_PIVOT = %DIC_GET(DIC_LAYOUT, "TARGET_PIVOT")%
ELSE
    TARGET_PIVOT = "LEFT_TOP"
ENDIF

IF DIC_CONTAINSKEY(DIC_LAYOUT, "PADDING")
    PADDING_STR = %DIC_GET(DIC_LAYOUT, "PADDING")%
    ; カンマで区切られているかチェック
    IF STRCOUNT(PADDING_STR, ",")
        ; 水平・垂直パディングを個別に設定
        SPLIT PADDING_STR, ",", PADDING_VALUES
    ELSE
        ; 単一の値を両方に設定
        PADDING_VALUES:0 = %PADDING_STR%
        PADDING_VALUES:1 = %PADDING_STR%
    ENDIF
ELSE
    PADDING_VALUES:0 = 0
    PADDING_VALUES:1 = 0
ENDIF

IF REFERENCE_NAME == "LINE_LEFT"
    REF_X = 0
    REF_Y = 0
ELSEIF REFERENCE_NAME == "LINE_RIGHT"
    REF_X = UI_MAXWIDTH * 100
    REF_Y = 0
ELSE
    ; 基準コンテナの指定位置を取得
    CALL UIC_GET_PIVOT(CONTAINER_ID, REFERENCE_NAME, TARGET_PIVOT)
    SIF !RESULT
        RETURN 0
    REF_X = RESULT:1
    REF_Y = RESULT:2
ENDIF
; レイアウト変更対象コンテナのサイズを取得
CALL UIC_GET_DIVRECT(CONTAINER_ID, TARGET_NAME)
SIF !RESULT
    RETURN 0
TARGET_WIDTH = RESULT:3
TARGET_HEIGHT = RESULT:4

; ターゲットコンテナのアンカー位置を計算
CALL UIC_CALC_RECT_PIVOT(0, 0, TARGET_WIDTH, TARGET_HEIGHT, ANCHOR)
SIF !RESULT
    RETURN 0
ANCHOR_X = RESULT:1
ANCHOR_Y = RESULT:2

; パディングを考慮した最終位置を計算
SELECTCASE TARGET_PIVOT
    CASE "LEFT_TOP", "LEFT", "LEFT_BOTTOM"
        TARGET_X = REF_X - ANCHOR_X + TOINT(PADDING_VALUES:0)
    CASE "RIGHT_TOP", "RIGHT", "RIGHT_BOTTOM"
        TARGET_X = REF_X - ANCHOR_X - TOINT(PADDING_VALUES:0)
    CASEELSE
        TARGET_X = REF_X - ANCHOR_X
ENDSELECT

SELECTCASE TARGET_PIVOT
    CASE "LEFT_TOP", "TOP", "RIGHT_TOP"
        TARGET_Y = REF_Y - ANCHOR_Y - TOINT(PADDING_VALUES:1)
    CASE "LEFT_BOTTOM", "BOTTOM", "RIGHT_BOTTOM"
        TARGET_Y = REF_Y - ANCHOR_Y + TOINT(PADDING_VALUES:1)
    CASEELSE
        TARGET_Y = REF_Y - ANCHOR_Y
ENDSELECT

; 位置を設定
CALL UIC_SET_DIVATTR(CONTAINER_ID, TARGET_NAME, "POS", @"{TARGET_X},{TARGET_Y}")
RETURN RESULT

;-------------------------------------------------
;;; 指定IDのコンテナを破棄する
;;; - ARGS
;;;     - CONTAINER_ID {int}: コンテナID, 無指定の場合はすべてのコンテナを破棄
;-------------------------------------------------
@UIC_DISPOSE(CONTAINER_ID = -1)
#DIM CONTAINER_ID

IF CONTAINER_ID == -1
    VARSET XML_UI_CONTAINER
ELSE
    XML_UI_CONTAINER:CONTAINER_ID '= ""
ENDIF

;-------------------------------------------------
;-------------------------------------------------

@NEWLINE(ARG)
VARI I
FOR I, 0, ARG
    PRINTL
NEXT
RETURN

@HTML_UNESCAPE(ARGS)
#FUNCTIONS
#DIMS DYNAMIC RESULT_TEXT
#DIMS DYNAMIC TARGET_TEXT

TARGET_TEXT = %ARGS%

; HTML特殊文字のアンエスケープ
TARGET_TEXT = %REPLACE(TARGET_TEXT, "<", "<")%
TARGET_TEXT = %REPLACE(TARGET_TEXT, ">", ">")%
TARGET_TEXT = %REPLACE(TARGET_TEXT, """, "\"")%
TARGET_TEXT = %REPLACE(TARGET_TEXT, "'", "'")%
TARGET_TEXT = %REPLACE(TARGET_TEXT, "'", "'")%
TARGET_TEXT = %REPLACE(TARGET_TEXT, "'", "'")%
TARGET_TEXT = %REPLACE(TARGET_TEXT, "/", "/")%
TARGET_TEXT = %REPLACE(TARGET_TEXT, "`", "`")%
TARGET_TEXT = %REPLACE(TARGET_TEXT, " ", " ")%
TARGET_TEXT = %REPLACE(TARGET_TEXT, "&", "&")%

RETURNF TARGET_TEXT

;-------------------------------------------------
;;; EM-EE V50で実装されたテキスト行連結時の改行コード置換文字列変更機能を用いて
;;; FLでは改行コードを\t\tに変更している
;;; この関数はその前提で行連結を用いて記載されたテキストを行単位に分割する
;;;
;;; ※解釈する行連結文字列はスペースインデントにもタブインデントにも対応しているが、スペースインデント推奨
;;; タブインデントは数次第では正しく分割できない可能性がある
;-------------------------------------------------
@TEXT_SPLIT_RAWTEXT(TEXT, SPLIT_ARRAY)
#DIMS TEXT
#DIMS REF SPLIT_ARRAY
#DIM  LINE_CNT

; 2つ以上のタブで区切られた行を分割する
; 二つ目の条件は空行に対応するため。特殊なインデントでTEXTを投入されると正しく分割できないかもしれない
REGEXPMATCH TEXT, "[^\t]+ \t|[\t]+ \t",RESULT, SPLIT_ARRAY
LINE_CNT = RESULT
VARI I
;スペースインデントの冒頭スペース、タブインデント、改行符丁の文末\s\tを除去
;デイリーイベントにつけられた改行符丁\nもV50以降は不要なので除去
FOR I, 0, LINE_CNT
    SPLIT_ARRAY:I = %REPLACE(SPLIT_ARRAY:I, "^[ |\t|\n]+| \t$", "")%
NEXT

RETURN LINE_CNT


code:
;-------------------------------------------------
;与えたバージョン文字列に対応するバージョン数値の取得
;-------------------------------------------------
@GET_VERSION_VALUE(バージョン文字列)
#FUNCTION
#DIMS バージョン文字列
VARSET LOCALS
;RESULT退避
LOCAL = RESULT
SPLIT バージョン文字列, ".", LOCALS
RESULT = LOCAL

RETURNF TOINT(LOCALS:0) * 10000 + TOINT(LOCALS:1) * 1000 + TOINT(LOCALS:2)
;-------------------------------------------------
;与えたバージョン数値に対応するバージョン文字列の取得
;-------------------------------------------------
@GET_VERSION_STRING(バージョン数値)
#FUNCTIONS
#DIM バージョン数値

RETURNF TOSTR(バージョン数値 / 10000) + "." + TOSTR(バージョン数値 % 10000)
;-------------------------------------------------
;与えたバージョン文字列と今のバージョンを比較し、アプデが必要か調べる
;-------------------------------------------------
@CHECK_UPDATE(バージョン文字列)
#FUNCTION
#DIMS バージョン文字列

RETURNF LASTLOAD_VERSION < GET_VERSION_VALUE(バージョン文字列)

;-------------------------------------------------
;セーブデータのアップデート処理
;-------------------------------------------------
@UPDATE
#DIM 強制引き継ぎフラグ
#DIM L_CNT
#DIM CHARA_ID
DEBUGPRINTFORML @UPDATE CALLED
強制引き継ぎフラグ = 0

; キャラの追加
FOR LOCAL:0, 0, MAX_FIXED_CHARA
	;CSVファイルの存在判定
	SIF EXISTCSV(LOCAL:0) && GETCHARA(LOCAL:0) == -1
		CALL ADD_CHARA_FROM_CSV(LOCAL:0)
NEXT

; ポートレートサイズ
IF PORTRAIT_倍率 == 0
	PORTRAIT_サイズ設定値 = 1
	PORTRAIT_倍率 = PORTRAIT_サイズ設定定義:PORTRAIT_サイズ設定値
ENDIF

; キャラに対する更新
FOR LOCAL, 0, CHARANUM
	;毎調教事に初期化すべきフラグ・変数で初期化が漏れていたフラグの初期化
	VARSET COM_FORBIDDEN:LOCAL:0, 0
	;TALENTの陥落判定とFLAGの同期
	IF TALENT:LOCAL:恋慕 && !CFLAG:LOCAL:陥落済み
		FLAG:陥落人数 += 1
		CFLAG:LOCAL:陥落済み = 1
	ENDIF
	;最低スキルポイント付与
	L_CNT = 0
	FOR L_CNT, 0, SKILL_MAJOR_GENRE_NUM
		IF BASE_SKILL_POINT:LOCAL:L_CNT == 0
			BASE_SKILL_POINT:LOCAL:L_CNT = 初期SP
		ENDIF
	NEXT
	;一部のキャラクターは口上カラーコードの初期設定が欠けているためここでセット
	CFLAG:NAME_TO_CHARA("エル"):口上カラーコード = エル_口上カラー
	IF !CFLAG:NAME_TO_CHARA("あなた"):口上カラーコード
		CFLAG:NAME_TO_CHARA("あなた"):口上カラーコード = カラー_白
	ENDIF
	;不正なキャラデータの修正
	;-------------------------------------------------
	;親が育児状態だが育児対象キャラがデータ上存在しない
	IF CFLAG:LOCAL:育児対象 > 0 && ID_TO_CHARA(CFLAG:LOCAL:育児対象) == -1
		CFLAG:LOCAL:行動不能状態 = 0
		CFLAG:LOCAL:育児対象 = 0
		CFLAG:LOCAL:育児期間 = 0
		TALENT:LOCAL:子供人質 = 0
	ENDIF
	IF LOCAL == NAME_TO_CHARA("UC_オリヴィア")
		SIF CFLAG:LOCAL:所属 == 所属_プレイヤー
			CFLAG:LOCAL:ゲストモブ = 0
		SIF !TALENT:LOCAL:動物耳
			TALENT:LOCAL:動物耳 = 1
		SIF !TALENT:LOCAL:しっぽ
			TALENT:LOCAL:しっぽ = 1
	ENDIF
	;触手妊娠バグの補正
	SIF !TALENT:LOCAL:妊娠 && !TALENT:LOCAL:触手妊娠 && CFLAG:LOCAL:妊娠期間 > 0
		CFLAG:LOCAL:妊娠期間 = 0
NEXT

; 所持武器リストのDB変換
CALL UPDATE_CONVERT_DIC_WEAPON_STOCK_LIST_TO_DT()
IF RESULT
	; 武器定義ファイルからテーブルへの武器ステータス読込
	CALL LOAD_WEAPON_DATA_TO_TABLE()
ENDIF

;暫定対応：不正な状態になったデータのリカバリ処理
DT_SELECT "WEAPON_STOCK",@"EQUIP_CHARA_ID > {CHARANUM -1}"
FOR LOCAL, 0, RESULT
	DT_CELL_SET "WEAPON_STOCK", RESULT:(LOCAL + 1), "EQUIP_CHARA_ID", -2, 1
NEXT

;クエストデータに関する補正
;深森の忘都のクエスト進行度不具合の補正
IF QST_SV_QUEST_FLAG:30 == 1
	;ダイラオルム討伐済みならクリア扱いにする
	IF QST_SV_EVENT_FLAG:30:110 == 1
		QST_SV_QUEST_FLAG:30 = 2
	ENDIF
ENDIF

;-------------------------------------------------
;バージョンアップによるセーブデータ修正
;-------------------------------------------------
IF CHECK_UPDATE("0.3.801")
	FOR LOCAL, 0, CHARANUM
		IF FACE_PARTS:LOCAL:IMG_鼻 == ""
			CALL SET_FACE_DEFAULT_NOSE_PARTS(LOCAL)
		ENDIF
	NEXT
ENDIF
IF CHECK_UPDATE("0.3.722")
	;追加したコンフィグの初期値設定
	FLCONFIG:宿泊ゲストの男性率 = 40
	FLCONFIG:カップル客の生成率 = 50
	FLCONFIG:カップル客の個室以外での逢瀬を許可 = 1
	FLCONFIG:同性カップル客の生成率 = 20
	FLCONFIG:女性同性カップルの許可 = 1
	FLCONFIG:男性同性カップルの許可 = 0
ENDIF
IF CHECK_UPDATE("0.3.721")
	;関係性レコードのキャラ削除時の不具合に対する暫定補正対応
	CALL CHARA_RELATION_DELETE_INVALID_RECORD()
ENDIF
IF CHECK_UPDATE("0.3.400")
	;エンチャントルーンの在庫管理テーブルを作成
	CALL CREATE_RUNE_STOCK_TABLE()
	FLCONFIG:エネミーの好色率 = 50
ENDIF
IF CHECK_UPDATE("0.3.332")
	;「eraFL_v0.331用_ユーザビリティ向上パッチ」対応
	;■ルビ表示の調整対応
	;あなたのルビを削除
	;・名前が「あなた」以外でルビが「アナタ」になっていたら削除する
	IF CSTR:MASTER:名 != "あなた" && CSTR:MASTER:名カナ == "アナタ"
		DEBUGPRINTL CHECK_UPDATE 0.3.332: 「%ANAME(MASTER)%」のルビを削除
		CSTR:MASTER:名カナ '= ""
	ENDIF

	;■TALENT:ミドルネーム洋風の追加対応
	;キャラをチェックして「TALENT:ミドルネーム洋風」を設定する
	;・中華名(名前が性＋名)でないキャラはミドルネーム洋風
	FOR CHARA_ID, 0, CHARANUM
		IF NAME:CHARA_ID != CSTR:CHARA_ID:姓 + CSTR:CHARA_ID:名
			DEBUGPRINTFORML CHECK_UPDATE 0.3.332: [{CHARA_ID}] %ANAME(CHARA_ID)% に「TALENT:ミドルネーム洋風」を設定
			TALENT:CHARA_ID:ミドルネーム洋風 = 1
		ENDIF
	NEXT
ENDIF
IF CHECK_UPDATE("0.3.323")
	;ススキとミニョネットのキャラ番号が重複していた場合補正
	IF NAME_TO_CHARA("UC_ススキ") == -1 && NAME_TO_CHARA("ミニョネット") > 0
		;ミニョネットの番号を14->15に変更
		NO:NAME_TO_CHARA("ミニョネット") = 15
		;ススキを追加
		CALL ADD_CHARA_FROM_CSV(14)
	ENDIF
	;★ここから追加
	;ススキとeraRx4358の追加キャラ番号が重複していた場合補正
	IF NAME_TO_CHARA("UC_ススキ") == -1 && NAME_TO_CHARA("ディック・デイビッド") > 0
		NO:NAME_TO_CHARA("ディック・デイビッド") = 50
		;催淫蟲も移動
		NO:NAME_TO_CHARA("催淫蟲") = 51
		;ススキを追加
		CALL ADD_CHARA_FROM_CSV(14)
	ENDIF
	;追加ここまで
ENDIF
;v0.320で発生したモブ増殖バグで不正な状態になったデータのリカバリ処理
IF CHECK_UPDATE("0.3.211")
	DT_SELECT "WEAPON_STOCK",@"EQUIP_CHARA_ID > {CHARANUM -1}"
	FOR LOCAL, 0, RESULT
		DT_CELL_SET "WEAPON_STOCK", RESULT:(LOCAL + 1), "EQUIP_CHARA_ID", -2, 1
	NEXT
ENDIF
IF CHECK_UPDATE("0.3.110")
	CALL CREATE_CRAFT_ORDER_TABLE
ENDIF
IF CHECK_UPDATE("0.2.910")
	FLCONFIG:BGMの音量 = 30
	FLCONFIG:SEの音量 = 80
ENDIF
IF CHECK_UPDATE("0.2.901")
	;オリヴィアが重複して追加される不具合の対応
	L_CNT = 0
	FOR LOCAL, 0, CHARANUM
		IF CSTR:LOCAL:99 == "UC_オリヴィア"
			L_CNT ++
		ENDIF
		;二人目のオリヴィアを強制削除
		IF L_CNT == 2 && CSTR:LOCAL:99 == "UC_オリヴィア"
			CALL DELETE_CHARA(LOCAL, 1)
			BREAK
		ENDIF
	NEXT
ENDIF
IF CHECK_UPDATE("0.2.80")
	;衣装プリセット初期設定
	CALL CREATE_CLOTH_DRAWER_TABLE
ENDIF
IF CHECK_UPDATE("0.2.72")
	;クエスト編成プリセットがキャラ削除時に破損する不具合の対応
	VARSET _LIST_QST_PARTY_PRESET
ENDIF
IF CHECK_UPDATE("0.2.60")
	FLCONFIG:売春ゲストの男性率 = 80
ENDIF
IF CHECK_UPDATE("0.2.61")
	FOR LOCAL, 0, CHARANUM
		IF NAME:LOCAL == "スキュラ"
			CFLAG:LOCAL:慰安モブ = 1
		ENDIF
	NEXT
	FLCONFIG:公演ゲストの男性率 = 50
ENDIF
IF CHECK_UPDATE("0.1.70")
	CALL INIT_CONFIG_FLCONFIG()
ENDIF


code:
;-------------------------------------------------
; @FL_INIT_LOADER から呼ばれる口上初期読み込み
;-------------------------------------------------
@KOJO_DEFINE_K99
#DIMS CONST XML_PATH_COMBAT = "ERB/TRAIN/CLOSE_COMBAT/99_戦闘メッセージ"
#DIMS CONST XML_PATTERN_COMBAT = "KOJO_K99_COMBAT*"
#DIM CONST 汎用口上番号 = 99

CALL KOJO_XML_REGISTER_FROM_SPLIT_FILES(XML_PATH_COMBAT, XML_PATTERN_COMBAT, "data", 汎用口上番号, XMLID_KOJO_CLASS_COMBAT)
RETURN 1

;口上選択画面の表示名
@KOJO_DEFINE_NAME_K99
RESULTS '= "戦闘メッセージ地の文"
RETURN 1

;口上選択画面で表示する口上情報、サンプル
@KOJO_DEFINE_KOJO_INFO_K99(CHARA_ID)
#DIM CHARA_ID
#DIM カラー
カラー = CFLAG:CHARA_ID:口上カラーコード

CALLF TAG_PRINT(@"@C:{カラー_注釈}@◇　口上の特徴　◇@/C@", 1)
PRINTFORML 口上XMLの記述サンプル
PRINTL
PRINTFORML

;口上出力前の初期処理。共通処理以外で口上出力前に予め取得しておきたい情報があれば別途ここに記述
@KOJO_XML_INIT_K99(KOJO_CHARA_ID)
#DIM  KOJO_CHARA_ID
;出力前の共通初期処理
CALL KOJO_XML_INIT_COMMON_BEFORE_PRINT(KOJO_CHARA_ID)

;-------------------------------------------------
; SELECTCOMがどのグループに属するのかを文字列で返す
; RESULTSで返却するグループ名のリストは口上シートA列COM|GROUPに指定した名称と一致している必要がある
; KOJO_CHARA_ID 口上参照キャラの登録番号
; PLACE 口上出力箇所 コマンド実行前と後で参照グループを切り替えたいならばこの引数を見る
; REUSLT = 0 合致グループなし
; REUSLT = 1 合致グループあり
; REUSLT = 2 合致グループあり、排他(該当グループ以外に適合する条件の口上があっても該当するグループのみ出力)
; RESULTS: グループ名のリスト
;-------------------------------------------------
@KOJO_XML_COMGROUP_K99(KOJO_CHARA_ID, PLACE)
#DIM  KOJO_CHARA_ID
#DIMS PLACE
;口上固有の条件グループはここに定義

;共通のコマンドグループ
CALL KOJO_GET_COMGROUP(KOJO_CHARA_ID, PLACE)

RETURN RESULT


code:
<?xml version="1.0" encoding="utf-8"?>
<data>
  <command skillDefName="SMITE" actionName="CC_ACTION_ATTACK" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE" sequence="0">
    <contents>[$CC_ANAME]は標的めがけ痛烈な一撃を見舞った！</contents>
  </command>
  <command skillDefName="SMITE" actionName="CC_ACTION_ATTACK" name="実行" kojoPlace="EXEC" priority="11" isExclusive="TRUE" eval="{CC_AFLAG(ACTION_DID, "PSV_UNIQUE_LINA_SMITE")}">
    <contents>[$CC_ANAME]は ひょうてき めがけ つうれつな いちげきを みまった！</contents>
  </command>
  <command skillDefName="SMITE" actionName="CC_ACTION_ATTACK" name="実行" kojoPlace="EXEC" priority="11" isExclusive="TRUE" eval="{CC_AFLAG(ACTION_DID, "K1_UNIQUE_SKILL_SMITE_TWICE")}">
    <contents>@C:{カラー_注意}@再発動：<%CC_GETS_ACT_INFO(ACTION_DID, "SKILL_NAME")%>@/C@ [$CC_ANAME]は優雅に武器を一振りすると、相手の脳天に第二撃を叩きつけた！</contents>
  </command>
  <command skillDefName="WPN_SMITE" actionName="CC_ACTION_ATTACK" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE" sequence="0">
    <contents>[$CC_ANAME]は標的めがけ痛烈な一撃を見舞った！</contents>
  </command>
  <command skillDefName="WPN_SMITE" actionName="CC_ACTION_ATTACK" name="実行" kojoPlace="EXEC" priority="11" isExclusive="TRUE" eval="{CC_AFLAG(ACTION_DID, "PSV_UNIQUE_LINA_SMITE")}">
    <contents>[$CC_ANAME]は ひょうてき めがけ つうれつな いちげきを みまった！</contents>
  </command>
  <command skillDefName="WPN_SMITE" actionName="CC_ACTION_ATTACK" name="実行" kojoPlace="EXEC" priority="11" isExclusive="TRUE" eval="{CC_AFLAG(ACTION_DID, "K1_UNIQUE_SKILL_SMITE_TWICE")}">
    <contents>@C:{カラー_注意}@再発動：<%CC_GETS_ACT_INFO(ACTION_DID, "SKILL_NAME")%>@/C@ [$CC_ANAME]は優雅に武器を一振りすると、相手の脳天に第二撃を叩きつけた！</contents>
  </command>
  <command skillDefName="CLEAVE_ATTACK" actionName="CC_ACTION_ATTACK" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE" sequence="0">
    <contents>[$CC_ANAME]は標的をなぎ払った！</contents>
  </command>
  <command skillDefName="ACT_CAST_SMITE" actionName="CC_ACTION_ATTACK" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE">
    <contents>投射されたマナの一撃が標的を射抜く！</contents>
  </command>
  <command skillDefName="ACT_CAST_SMITE" actionName="CC_ACTION_ADD_SP_TOKEN" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE">
    <contents>@C:{カラー_注意}@再行動：[$CC_ANAME]は素早く術式を再構成し、追撃の構えを取った！@/C@</contents>
  </command>
  <command skillDefName="ACT_FATAL_ATTACK" actionName="CC_ACTION_ATTACK" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE" eval="{CC_AFLAG(ACTION_DID, "FATAL_ATTACK")}">
    <contents>弱り鈍る標的を[$CC_ANAME]の一撃が痛打した！</contents>
  </command>
  <command skillDefName="ACT_FATAL_ATTACK" actionName="CC_ACTION_ATTACK" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE" eval="{!CC_AFLAG(ACTION_DID, "FATAL_ATTACK")}">
    <contents>[$CC_ANAME]は弱った標的に狙いを定め、一撃を放った！</contents>
  </command>
  <command skillDefName="WPN_FATAL_ATTACK" actionName="CC_ACTION_ATTACK" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE" eval="{CC_AFLAG(ACTION_DID, "FATAL_ATTACK")}">
    <contents>弱り鈍る標的を[$CC_ANAME]の一撃が痛打した！</contents>
  </command>
  <command skillDefName="WPN_FATAL_ATTACK" actionName="CC_ACTION_ATTACK" name="実行" kojoPlace="EXEC" priority="11" isExclusive="TRUE" eval="{!CC_AFLAG(ACTION_DID, "FATAL_ATTACK")}">
    <contents>[$CC_ANAME]は弱った標的に狙いを定め、一撃を放った！</contents>
  </command>
  <command skillDefName="ACT_FATAL_ATTACK,WPN_FATAL_ATTACK" actionName="CC_ACTION_ATTACK" name="実行" kojoPlace="EXEC" priority="11" isExclusive="TRUE" eval="{CC_AFLAG(ACTION_DID, "FATAL_STING") && CC_AFLAG(ACTION_DID, "K17_UNIQUE_FATAL_STING")}">
    <contents>弱り鈍る標的を[$CC_ANAME]の一撃が洒然と打ち抜いた！</contents>
  </command>
  <command skillDefName="ACT_FATAL_ATTACK,WPN_FATAL_ATTACK" actionName="CC_ACTION_ATTACK" name="実行" kojoPlace="EXEC" priority="11" isExclusive="TRUE" eval="{!CC_AFLAG(ACTION_DID, "FATAL_ATTACK") && CC_AFLAG(ACTION_DID, "K17_UNIQUE_FATAL_STING")}">
    <contents>[$CC_ANAME]は弱った標的に狙いを定めると、音もなく背後に忍び寄る！</contents>
  </command>
  <command skillDefName="ACT_CAST_ATTACK_ALL" actionName="CC_ACTION_ATTACK" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE" sequence="0">
    <contents>術式から展開した膨大な魔力の奔流が仇なす者全てに襲いかかる！</contents>
  </command>
  <command skillDefName="ACT_THUNDER_STORM" actionName="CC_ACTION_ATTACK" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE" sequence="0">
    <contents>凄まじい電撃の奔流が対峙する者全てを薙ぎ払う！</contents>
  </command>
  <command skillDefName="ACT_FIRE_BREATH" actionName="CC_ACTION_ATTACK" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE" sequence="0">
    <contents>放たれた猛炎が対峙する者を焼き払う！</contents>
  </command>
  <command skillDefName="ACT_CAST_FIRE_BALL" actionName="CC_ACTION_ATTACK" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE" sequence="0">
    <contents>燃え盛る火球が[$CC_TNAME]%CC_AFLAG(ACTION_DID, "TARGET_HEADCOUNT") == 1 ? "" # "たち"%を呑みこむ！</contents>
  </command>
  <command skillDefName="ACT_CAST_STONE_RAIN" actionName="ANY" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE" sequence="0">
    <contents>天から降る礫が容赦なく大地を打つ！</contents>
  </command>
  <command skillDefName="ENEMY_ACT_SAND_DIVE" actionName="CC_ACTION_ATTACK" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE">
    <contents>大地に叩きつける一撃とともに[$CC_ANAME]は砂に潜行し、反撃を妨げる！</contents>
  </command>
  <command skillDefName="ENEMY_ACT_HOWITZER" actionName="CC_ACTION_ATTACK" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE" sequence="0">
    <contents>発射された榴弾から飛び散った子弾が[$CC_TNAME]%CC_AFLAG(ACTION_DID, "TARGET_HEADCOUNT") == 1 ? "" # "たち"%に降り注ぐ！</contents>
  </command>
  <command skillDefName="ACT_DANCE_OF_ADDITIONAL_ATTACK" actionName="CC_ACTION_ADD_SP_TOKEN" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE">
    <contents>@C:{カラー_注意}@奏でられる軽快な演舞曲が[$CC_TNAME]の身体を軽くした！@/C@</contents>
  </command>
  <command skillDefName="ACT_CAST_ADD_DECOY" actionName="CC_ACTION_ADD_SP_TOKEN" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE">
    <contents>@C:{カラー_注意}@詠唱によって生み出された霧が[$CC_TNAME]の幻影を作り出した！@/C@</contents>
  </command>
  <command skillDefName="ACT_CAST_ADD_HIDE" actionName="CC_ACTION_ADD_SP_TOKEN" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE">
    <contents>@C:{カラー_注意}@詠唱により[$CC_TNAME]の姿が薄れていく！@/C@</contents>
  </command>
  <command skillDefName="WPN_ADD_FRAGILE" actionName="CC_ACTION_ADD_SP_TOKEN" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE">
    <contents>@C:{カラー_注意}@強烈な突きを受けた[$CC_TNAME]の防御が崩れた！@/C@</contents>
  </command>
  <command skillDefName="ACT_VOICE_OF_FRAGILE" actionName="CC_ACTION_ADD_SP_TOKEN" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE">
    <contents>@C:{カラー_注意}@大気を震わすような力強い言霊が[$CC_TNAME]の防御を打ち砕いた！@/C@</contents>
  </command>
  <command skillDefName="ACT_SONG_OF_ADD_BARRIER" actionName="CC_ACTION_ADD_SP_TOKEN" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE">
    <contents>@C:{カラー_注意}@苦痛を和らげるような優しい言霊が[$CC_TNAME]の身体を包みこんだ！@/C@</contents>
  </command>
  <command skillDefName="ACT_REACT_OTHER" actionName="CC_ACTION_ADD_SP_TOKEN" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE">
    <contents>@C:{カラー_注意}@[$CC_ANAME]は[$CC_TNAME]に行動を譲った！@/C@</contents>
  </command>
  <command skillDefName="ACT_SONG_OF_FRAGILE" actionName="CC_ACTION_ADD_SP_TOKEN" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE">
    <contents>@C:{カラー_注意}@力を奪う旋律が[$CC_TNAME]の防御力を弱体化させた！@/C@</contents>
  </command>
  <command skillDefName="ACT_ADD_VITAL_POINT" actionName="CC_ACTION_ADD_SP_TOKEN" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE">
    <contents>[$CC_ANAME]は[$CC_TNAME]の急所を突いた！</contents>
  </command>
  <command skillDefName="ACT_ADD_VITAL_POINT_AND_WEAKNESS" actionName="CC_ACTION_ADD_SP_TOKEN" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE" sequence="0">
    <contents>[$CC_ANAME]は萎腕の秘孔を突いた！</contents>
  </command>
  <command skillDefName="ACT_DOUBLE_VITAL_POINT" actionName="CC_ACTION_ADD_SP_TOKEN" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE">
    <contents>[$CC_ANAME]は倍加の秘孔を突いた！</contents>
  </command>
  <command skillDefName="ACT_VITAL_POINT_CORPSE_EXPLOSION" actionName="CC_ACTION_ADD_SP_TOKEN" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE" sequence="0">
    <contents>[$CC_ANAME]は散華の秘孔を突いた！
        @C:{カラー_赤}@[$CC_TNAME]は生ける爆弾と化した！@/C@</contents>
  </command>
  <command skillDefName="ACT_COUNTER_ATTACK" actionName="CC_ACTION_ADD_SP_TOKEN" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE">
    <contents>[$CC_ANAME]は攻撃に備えた！</contents>
  </command>
  <command skillDefName="ACT_ARROW_RAIN" actionName="CC_ACTION_ADD_SP_TOKEN" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE">
    <contents>[$CC_ANAME]は無数の矢を天に放った！</contents>
  </command>
  <command skillDefName="OPENING_ADD_CAST_TOKEN" actionName="CC_ACTION_ADD_SP_TOKEN" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE">
    <contents>[$CC_ANAME]は瞬時に術式を展開した！</contents>
  </command>
  <command skillDefName="OPENING_ADD_WARCRY" actionName="CC_ACTION_ADD_SP_TOKEN" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE" sequence="0">
    <contents>[$CC_ANAME]は戦いの幕開けに名乗りの咆哮を上げた！</contents>
  </command>
  <command skillDefName="PSV_ENEMY_OPENING_ADD_BARRIER" actionName="CC_ACTION_ADD_SP_TOKEN" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE">
    <contents>[$CC_ANAME]は戦いに先立って防備を固めた！</contents>
  </command>
  <command skillDefName="STUN_ROAR" actionName="CC_ACTION_ADD_ABNORMALITY" name="スタン付与成功" kojoPlace="RESULT" priority="10" isExclusive="TRUE" eval="{CC_AFLAG(ACTION_DID, "INFLICT_SUCCEEDED")}">
    <contents>@C:{カラー_注意}@耳をつんざくような激烈な咆哮に[$CC_TNAME]は思わずたじろいでしまった！@/C@</contents>
  </command>
  <command skillDefName="STUN_ROAR" actionName="CC_ACTION_ADD_ABNORMALITY" name="スタン付与失敗(抵抗)" kojoPlace="RESULT" priority="10" isExclusive="TRUE" eval="{CC_AFLAG(ACTION_DID, "INFLICT_REGISTED")}">
    <contents>激烈な咆哮を前にしても[$CC_TNAME]は全く動じていない……！</contents>
  </command>
  <command skillDefName="ACT_SHOCK_BOLT" actionName="CC_ACTION_ADD_ABNORMALITY" name="スタン付与成功" kojoPlace="RESULT" priority="10" isExclusive="TRUE" eval="{CC_AFLAG(ACTION_DID, "INFLICT_SUCCEEDED")}">
    <contents>電撃の直撃を受けた[$CC_TNAME]はよろめき、体勢を崩した！</contents>
  </command>
  <command skillDefName="ACT_SHOCK_BOLT" actionName="CC_ACTION_ADD_ABNORMALITY" name="スタン付与失敗(抵抗)" kojoPlace="RESULT" priority="10" isExclusive="TRUE" eval="{CC_AFLAG(ACTION_DID, "INFLICT_REGISTED")}">
    <contents>[$CC_TNAME]は電撃の直撃によろめくも、体勢を立て直した……！</contents>
  </command>
  <command skillDefName="ACT_SHADOW_SEWING" actionName="CC_ACTION_ADD_ABNORMALITY" name="スタン付与成功" kojoPlace="RESULT" priority="10" isExclusive="TRUE" eval="{CC_AFLAG(ACTION_DID, "INFLICT_SUCCEEDED")}">
    <contents>@C:{カラー_注意}@[$CC_ANAME]と重なるように斬りつけた分身が、[$CC_TNAME]の影を地面に縫い止めた！@/C@</contents>
  </command>
  <command skillDefName="ACT_SHADOW_SEWING" actionName="CC_ACTION_ADD_ABNORMALITY" name="スタン付与失敗(抵抗)" kojoPlace="RESULT" priority="10" isExclusive="TRUE" eval="{CC_AFLAG(ACTION_DID, "INFLICT_REGISTED")}">
    <contents>[$CC_TNAME]は一瞬たじろぐも、束縛から脱した……！</contents>
  </command>
  <command skillDefName="ACT_HAMMER_FALL" actionName="CC_ACTION_ADD_ABNORMALITY" name="スタン付与成功" kojoPlace="RESULT" priority="10" isExclusive="TRUE" eval="{CC_AFLAG(ACTION_DID, "INFLICT_SUCCEEDED")}">
    <contents>@C:{カラー_注意}@すさまじい衝撃が[$CC_TNAME]に襲いかかる！@/C@</contents>
  </command>
  <command skillDefName="ACT_HAMMER_FALL" actionName="CC_ACTION_ADD_ABNORMALITY" name="スタン付与失敗(抵抗)" kojoPlace="RESULT" priority="10" isExclusive="TRUE" eval="{CC_AFLAG(ACTION_DID, "INFLICT_REGISTED")}">
    <contents>[$CC_TNAME]は一瞬たじろぐも、すぐにバランスを取り戻した……！</contents>
  </command>
  <command skillDefName="ACT_STUN_ENEMY" actionName="CC_ACTION_ADD_ABNORMALITY" name="スタン付与成功" kojoPlace="RESULT" priority="10" isExclusive="TRUE" eval="{CC_AFLAG(ACTION_DID, "INFLICT_SUCCEEDED")}">
    <contents>不意の牽制を受けた[$CC_TNAME]はよろめき、体勢を崩した！</contents>
  </command>
  <command skillDefName="ACT_STUN_ENEMY" actionName="CC_ACTION_ADD_ABNORMALITY" name="スタン付与失敗(抵抗)" kojoPlace="RESULT" priority="10" isExclusive="TRUE" eval="{CC_AFLAG(ACTION_DID, "INFLICT_REGISTED")}">
    <contents>しかし[$CC_TNAME]は牽制に動じていない……！</contents>
  </command>
  <command skillDefName="ENEMY_SKILL_DRAGON_ROAR" actionName="CC_ACTION_ADD_ABNORMALITY" name="スタン付与成功" kojoPlace="RESULT" priority="10" isExclusive="TRUE" eval="{CC_AFLAG(ACTION_DID, "INFLICT_SUCCEEDED")}">
    <contents>@C:{カラー_注意}@耳をつんざくような激烈な咆哮に[$CC_TNAME]は思わずたじろいでしまった！@/C@</contents>
  </command>
  <command skillDefName="ENEMY_SKILL_DRAGON_ROAR" actionName="CC_ACTION_ADD_ABNORMALITY" name="スタン付与失敗(抵抗)" kojoPlace="RESULT" priority="10" isExclusive="TRUE" eval="{CC_AFLAG(ACTION_DID, "INFLICT_REGISTED")}">
    <contents>激烈な咆哮を前にしても[$CC_TNAME]は全く動じていない……！</contents>
  </command>
  <command skillDefName="ENEMY_STUN_REBOUND" actionName="CC_ACTION_ATTACK" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE">
    <contents>縛に苦しむ[$CC_ANAME]の怨嗟に応えるように、噴き出した地縛霊が対手を絡め取ろうと手を伸ばす！</contents>
  </command>
  <command skillDefName="ENEMY_STUN_REBOUND" actionName="CC_ACTION_ADD_ABNORMALITY" name="スタン付与成功" kojoPlace="RESULT" priority="10" isExclusive="TRUE" eval="{CC_AFLAG(ACTION_DID, "INFLICT_SUCCEEDED")}">
    <contents>@C:{カラー_注意}@[$CC_TNAME]は地縛霊に足を取られてしまった！@/C@</contents>
  </command>
  <command skillDefName="ENEMY_STUN_REBOUND" actionName="CC_ACTION_ADD_ABNORMALITY" name="スタン付与失敗(抵抗)" kojoPlace="RESULT" priority="10" isExclusive="TRUE" eval="{CC_AFLAG(ACTION_DID, "INFLICT_REGISTED")}">
    <contents>[$CC_TNAME]は地縛霊の束縛をかわした……！</contents>
  </command>
  <command skillDefName="WRAITHLORD_POISON" actionName="CC_ACTION_ATTACK" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE">
    <contents>[$CC_ANAME]は黒衣の下からおぞましき短刀を取り出すと、呪詛を込めて[$CC_TNAME]を刺し貫いた！</contents>
  </command>
  <command skillDefName="ACT_ENEMY_WRAITHLORD_CRUSH" actionName="CC_ACTION_ATTACK" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE" sequence="0">
    <contents>黒衣の冥将が振るうおぞましき鉄塊が立ちはだかるもの全てを破砕する――！</contents>
  </command>
  <command skillDefName="ENEMY_PARTHIAN_SHOT" actionName="CC_ACTION_ATTACK" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE">
    <contents>[$CC_ANAME]は疾走する馬上で身体を捻って背面の[$CC_TNAME]に毒矢を放ち、大きく距離を離した！</contents>
  </command>
  <command skillDefName="ENEMY_SELF_IGNITON" actionName="CC_ACTION_ATTACK" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE">
    <contents>[$CC_ANAME]は引火した火だるまの身体でのたうちながら、[$CC_TNAME]に飛びかかってきた！</contents>
  </command>
  <command skillDefName="ACT_SHINOBI_POISON" actionName="CC_ACTION_ATTACK" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE" sequence="0">
    <contents>[$CC_ANAME]が吹き飛ばしたマナ触媒が毒の煙幕となって、[$CC_TNAME]たちを包み込む！</contents>
  </command>
  <command skillDefName="ACT_ENEMY_SHINOBI_POISON" actionName="CC_ACTION_ATTACK" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE" sequence="0">
    <contents>[$CC_ANAME]が吹き飛ばしたマナ触媒が毒の煙幕となって、[$CC_TNAME]たちを包み込む！</contents>
  </command>
  <command skillDefName="ENEMY_ACT_SAND_STORM" actionName="CC_ACTION_ATTACK" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE" sequence="0">
    <contents>うねり渦巻く大旋風が、熱い砂塵を巻き上げながら[$CC_ANAME]に迫りくる……！</contents>
  </command>
  <command skillDefName="ENEMY_ACT_SAND_STORM" actionName="CC_ACTION_INFLICT_ABNORMALITY" name="盲目付与成功" kojoPlace="RESULT" priority="10" isExclusive="TRUE" token="BLIND" eval="{CC_AFLAG(ACTION_DID, "INFLICT_SUCCEEDED")}">
    <contents>[$CC_TNAME]は目に砂が入ってしまった！</contents>
  </command>
  <command skillDefName="ENEMY_ACT_SAND_STORM" actionName="CC_ACTION_INFLICT_ABNORMALITY" name="盲目付与失敗(抵抗)" kojoPlace="RESULT" priority="10" isExclusive="TRUE" token="BLIND" eval="{CC_AFLAG(ACTION_DID, "INFLICT_REGISTED")}">
    <contents>しかし[$CC_TNAME]は砂の猛威を免れた！</contents>
  </command>
  <command skillDefName="ACT_CAST_ADD_BLIND" actionName="CC_ACTION_ATTACK" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE" sequence="0">
    <contents>[$CC_TNAME]の眼前に飛来した光弾から、まばゆい閃光が弾ける！</contents>
  </command>
  <command skillDefName="ACT_CAST_ADD_BLIND" actionName="CC_ACTION_INFLICT_ABNORMALITY" name="盲目付与成功" kojoPlace="RESULT" priority="10" isExclusive="TRUE" token="BLIND" eval="{CC_AFLAG(ACTION_DID, "INFLICT_SUCCEEDED")}">
    <contents>[$CC_TNAME]は眩しさのあまり視界が利かなくなった！</contents>
  </command>
  <command skillDefName="ACT_CAST_ADD_BLIND" actionName="CC_ACTION_INFLICT_ABNORMALITY" name="盲目付与失敗(抵抗)" kojoPlace="RESULT" priority="10" isExclusive="TRUE" token="BLIND" eval="{CC_AFLAG(ACTION_DID, "INFLICT_REGISTED")}">
    <contents>しかし[$CC_TNAME]には通じていない！</contents>
  </command>
  <command skillDefName="ACT_FRONT_DEFENCE" actionName="ANY" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE" sequence="0">
    <contents>[$CC_ANAME]は堅牢な防陣を敷き、身を挺してパーティの盾となった！</contents>
  </command>
  <command skillDefName="ACT_FRONT_DEFENCE" actionName="ANY" name="実行" kojoPlace="EXEC" priority="11" isExclusive="TRUE" sequence="0" eval="{CC_AFLAG(ACTION_DID, "K13_UNIQUE_SKILL_REARGUARD")}">
    <contents>[$CC_ANAME]は守りを固めつつ、敵を挑発した！</contents>
  </command>
  <command skillDefName="WPN_FRONT_DEFENCE" actionName="ANY" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE" sequence="0">
    <contents>[$CC_ANAME]は堅牢な防陣を敷き、身を挺してパーティの盾となった！</contents>
  </command>
  <command skillDefName="WPN_FRONT_DEFENCE" actionName="ANY" name="実行" kojoPlace="EXEC" priority="11" isExclusive="TRUE" sequence="0" eval="{CC_AFLAG(ACTION_DID, "K13_UNIQUE_SKILL_REARGUARD")}">
    <contents>[$CC_ANAME]は守りを固めつつ、敵を挑発した！</contents>
  </command>
  <command skillDefName="ACT_DEPLOY_DECOY" actionName="ANY" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE">
    <contents>[$CC_ANAME]は身代わりを作り出した！</contents>
  </command>
  <command skillDefName="ACT_REACT" actionName="ANY" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE">
    <contents>[$CC_ANAME]は追撃の構えを取った！</contents>
  </command>
  <command skillDefName="ACT_HIDING" actionName="ANY" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE">
    <contents>[$CC_ANAME]は身を隠した！</contents>
  </command>
  <command skillDefName="ACT_TRACKING" actionName="ANY" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE" sequence="0">
    <contents>[$CC_ANAME]は標的を見つけると追跡を開始した！</contents>
  </command>
  <command skillDefName="ACT_BINDINGTRAP" actionName="ANY" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE">
    <contents>[$CC_ANAME]は[$CC_TNAME]の近くに罠を仕掛けた！</contents>
  </command>
  <command skillDefName="ACT_EAGLE_EYE" actionName="ANY" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE">
    <contents>[$CC_ANAME]は敵の弱点を注意深く観察する！</contents>
  </command>
  <command skillDefName="EMEMY_WIND_DEFENCE" actionName="ANY" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE" sequence="0">
    <contents>[$CC_ANAME]が荒々しい暴風をその身にまとう！</contents>
  </command>
  <command skillDefName="WPN_WIND_DEFENCE" actionName="ANY" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE" sequence="0">
    <contents>[$CC_ANAME]が荒々しい暴風をその身にまとう！</contents>
  </command>
  <command skillDefName="ENEMY_SKILL_SCALE_EXPAND" actionName="ANY" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE" sequence="0">
    <contents>[$CC_ANAME]の鱗が硬質化・拡張し、守りを固めつつ敵を挑発した！</contents>
  </command>
  <command skillDefName="ENEMY_DRAGON_ADIPOCERE" actionName="ANY" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE" sequence="0">
    <contents>[$CC_ANAME]の身体から染み出した死蝋が四肢血肉を繋ぎ止め、怨嗟の力を満たしていく……！</contents>
  </command>
  <command skillDefName="WPN_RECOVER_STUN_ALL" actionName="CC_ACTION_SUB_SP_TOKEN" name="実行" kojoPlace="RESULT" priority="10" isExclusive="TRUE">
    <contents>@C:{カラー_注意}@――[$CC_TNAME]は鼓舞され立ち直った！@/C@</contents>
  </command>
  <command skillDefName="WPN_RECOVER_STUN_ALL" actionName="CC_ACTION_SUB_SP_TOKEN" name="実行" kojoPlace="RESULT" priority="11" isExclusive="TRUE" eval="{CC_SP_TOKEN_NUM(CC_GET_ACT_INFO(ACTION_DID, "TARGET_DID"), "STUN")}">
    <contents>@C:{カラー_注意}@――[$CC_TNAME]は鼓舞されたものの、完全には立ち直れていないようだ……！@/C@</contents>
  </command>
  <command skillDefName="WPN_RECOVER_STUN_ALL" actionName="CC_ACTION_MESSAGE" name="実行" kojoPlace="RESULT" priority="10" isExclusive="TRUE">
    <contents>[$CC_TNAME]は既に戦意旺盛だ！</contents>
  </command>
  <command skillDefName="ACT_SONG_OF_RECOVER_STUN_ALL" actionName="CC_ACTION_SUB_SP_TOKEN" name="実行" kojoPlace="RESULT" priority="10" isExclusive="TRUE">
    <contents>@C:{カラー_注意}@――[$CC_TNAME]は鼓舞され立ち直った！@/C@</contents>
  </command>
  <command skillDefName="ACT_SONG_OF_RECOVER_STUN_ALL" actionName="CC_ACTION_SUB_SP_TOKEN" name="実行" kojoPlace="RESULT" priority="11" isExclusive="TRUE" eval="{CC_SP_TOKEN_NUM(CC_GET_ACT_INFO(ACTION_DID, "TARGET_DID"), "STUN")}">
    <contents>@C:{カラー_注意}@――[$CC_TNAME]は鼓舞されたものの、完全には立ち直れていないようだ……！@/C@</contents>
  </command>
  <command skillDefName="ACT_SONG_OF_RECOVER_STUN_ALL" actionName="CC_ACTION_MESSAGE" name="実行" kojoPlace="RESULT" priority="10" isExclusive="TRUE">
    <contents>[$CC_TNAME]は既に戦意旺盛だ！</contents>
  </command>
  <command skillDefName="ACT_SHADOW_CLONING" actionName="CC_ACTION_ADD_SP_TOKEN" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE" sequence="0">
    <contents>粉のように舞ったマナ触媒の中、瞬きの間に[$CC_ANAME]が分身し、敵前に躍り出た！</contents>
  </command>
  <command skillDefName="ACT_SHADOW_CLONING_ALTER" actionName="CC_ACTION_ADD_SP_TOKEN" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE" sequence="0">
    <contents>雪のように舞い踊ったマナ触媒の中、瞬きの間に[$CC_ANAME]が分身し、敵前に躍り出た！</contents>
  </command>
  <command skillDefName="ENEMY_SKILL_THUNDER_CROW" actionName="CC_ACTION_ATTACK" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE" sequence="0">
    <contents>巨大な竜腕が雷霆を伴って[$CC_TNAME]%CC_AFLAG(ACTION_DID, "TARGET_HEADCOUNT") == 1 ? "" # "たち"%に叩きつけられる！</contents>
  </command>
  <command skillDefName="TESTSKILL" actionName="CC_ACTION_SUMMON_ACTOR" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE">
    <contents>@C:{カラー_注意}@[$CC_ANAME]は何処からともなく壊乱の狂鹿を呼び寄せた！@/C@</contents>
  </command>
  <command skillDefName="ACT_SUMMON_MERCENARY" actionName="CC_ACTION_SUMMON_ACTOR" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE">
    <contents>@C:{カラー_注意}@[$CC_ANAME]は何処からともなく傭兵を呼び寄せた！@/C@</contents>
  </command>
  <command skillDefName="ACT_MARE_NOSTRUM" actionName="CC_ACTION_SUMMON_ACTOR" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE">
    <contents>@C:{カラー_注意}@[$CC_ANAME]の呼集に応じ、海都リヴィエラの鋭兵が戦列に加わった！@/C@</contents>
  </command>
  <command skillDefName="ATK_ADD_CAST_TOKEN" actionName="ANY" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE" sequence="0">
    <contents>@C:{カラー_注意}@≪%CC_GETS_ACT_INFO(ACTION_DID, "SKILL_NAME")%≫@/C@が発動！[$CC_ANAME]は攻撃の最中に術式を展開した！</contents>
  </command>
  <command skillDefName="ATK_ADD_CAST_TOKEN_ALT" actionName="ANY" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE" sequence="0">
    <contents>@C:{カラー_注意}@≪%CC_GETS_ACT_INFO(ACTION_DID, "SKILL_NAME")%≫@/C@が発動！[$CC_ANAME]は攻撃の最中に術式を展開した！</contents>
  </command>
  <command skillDefName="ATK_ADD_SONG_TOKEN" actionName="ANY" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE" sequence="0">
    <contents>@C:{カラー_注意}@≪%CC_GETS_ACT_INFO(ACTION_DID, "SKILL_NAME")%≫@/C@が発動！[$CC_ANAME]は戦いの最中に旋律を奏でた！</contents>
  </command>
  <command skillDefName="ATK_ADD_CHARGE_TOKEN" actionName="ANY" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE" sequence="0">
    <contents>@C:{カラー_注意}@≪%CC_GETS_ACT_INFO(ACTION_DID, "SKILL_NAME")%≫@/C@が発動！[$CC_ANAME]は力を蓄えている！</contents>
  </command>
  <command skillDefName="ENEMY_SKILL_DRAGON_RISING" actionName="ANY" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE" sequence="0">
    <contents>[$CC_ANAME]は竜気を放出し、天高く舞い上がった！</contents>
  </command>
  <command skillDefName="ENEMY_CHARGE_PREP" actionName="ANY" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE" sequence="0">
    <contents>[$CC_ANAME]は大きく距離を取り、突撃の助走に入った！</contents>
  </command>
  <command skillDefName="ATK_ADDITIONAL_ATTACK_WITH_DECOY" actionName="CC_ACTION_ADD_NORMAL_ATTACK_BASE_PARAM" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE" sequence="0">
    <contents>@C:{カラー_注意}@≪%CC_GETS_ACT_INFO(ACTION_DID, "SKILL_NAME")%≫@/C@が発動！[$CC_ANAME]は身代わりと連携して追撃の構えをとった！</contents>
  </command>
  <command skillDefName="CHASE_POISON" actionName="ANY" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE">
    <contents>@C:{カラー_注意}@≪%CC_GETS_ACT_INFO(ACTION_DID, "SKILL_NAME")%≫@/C@が発動！毒に蝕まれ隙を見せた[$CC_TNAME]に[$CC_ANAME]は痛打を見舞った！</contents>
  </command>
  <command skillDefName="CHASE_BURN" actionName="ANY" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE">
    <contents>@C:{カラー_注意}@≪%CC_GETS_ACT_INFO(ACTION_DID,"SKILL_NAME")%≫@/C@が発動！炎に巻かれ隙を見せた[$CC_TNAME]に[$CC_ANAME]は痛打を見舞った！</contents>
  </command>
  <command skillDefName="ATK_BOOST_CRT_BY_SONG" actionName="ANY" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE" sequence="0">
    <contents>@C:{カラー_注意}@≪%CC_GETS_ACT_INFO(ACTION_DID, "SKILL_NAME")%≫@/C@が発動！[$CC_ANAME]の攻撃はリズムに合わせて鋭敏になった！</contents>
  </command>
  <command skillDefName="ATK_BOOST_CRT_BY_HIDE" actionName="ANY" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE" sequence="0">
    <contents>@C:{カラー_注意}@≪%CC_GETS_ACT_INFO(ACTION_DID, "SKILL_NAME")%≫@/C@が発動！身を潜めていた[$CC_ANAME]は[$CC_TNAME]の意識外から急所を狙う！</contents>
  </command>
  <command skillDefName="ARMOR_DECAY" actionName="CC_ACTION_MODIFY_ABLITY" name="成功(侵徹)" kojoPlace="RESULT" priority="11" isExclusive="TRUE" eval="{CC_AFLAG(ACTION_DID, "WPN_UPWARD_ARMOR_DECAY_RATE")}">
    <contents>@C:{カラー_注意}@≪%CC_GETS_ACT_INFO(ACTION_DID, "SKILL_NAME")%≫@/C@が発動！[$CC_TNAME]のダメージ軽減値を@C:{カラー_オレンジ}@{CC_AFLAG(ACTION_DID, "EFFECT_RATE")}@/C@減少させた！@C:{カラー_黄緑}@≪%CC_AFLAGS(ACTION_DID, "WPN_UPWARD_ARMOR_DECAY")%≫ 補正:+{CC_AFLAG(ACTION_DID, "WPN_UPWARD_ARMOR_DECAY_RATE")}\%@/C@</contents>
  </command>
  <command skillDefName="ARMOR_DECAY" actionName="CC_ACTION_MODIFY_ABLITY" name="成功" kojoPlace="RESULT" priority="10" isExclusive="TRUE">
    <contents>@C:{カラー_注意}@≪%CC_GETS_ACT_INFO(ACTION_DID, "SKILL_NAME")%≫@/C@が発動！[$CC_TNAME]のダメージ軽減値を@C:{カラー_オレンジ}@{CC_AFLAG(ACTION_DID, "EFFECT_RATE")}@/C@減少させた！</contents>
  </command>
  <command skillDefName="STUN_ENEMY" actionName="CC_ACTION_ADD_ABNORMALITY" name="スタン付与成功" kojoPlace="RESULT" priority="10" isExclusive="TRUE" eval="{CC_AFLAG(ACTION_DID, "INFLICT_SUCCEEDED")}">
    <contents>@C:{カラー_注意}@≪%CC_GETS_ACT_INFO(ACTION_DID, "SKILL_NAME")%≫@/C@が発動！強烈な一撃によって[$CC_TNAME]は体勢を崩した！</contents>
  </command>
  <command skillDefName="STUN_ENEMY" actionName="CC_ACTION_ADD_ABNORMALITY" name="スタン付与失敗(抵抗)非表示" kojoPlace="RESULT" priority="10" isExclusive="TRUE" eval="{CC_AFLAG(ACTION_DID, "INFLICT_REGISTED")}">
  </command>
  <command skillDefName="PSV_SHADOW_SEWING" actionName="CC_ACTION_ADD_ABNORMALITY" name="スタン付与成功" kojoPlace="RESULT" priority="10" isExclusive="TRUE" eval="{CC_AFLAG(ACTION_DID, "INFLICT_SUCCEEDED")}">
    <contents>@C:{カラー_注意}@≪%CC_GETS_ACT_INFO(ACTION_DID, "SKILL_NAME")%≫@/C@が発動！[$CC_ANAME]と重なるように斬りつけた分身が、[$CC_TNAME]の影を地面に縫い止めた！</contents>
  </command>
  <command skillDefName="PSV_SHADOW_SEWING" actionName="CC_ACTION_ADD_ABNORMALITY" name="スタン付与失敗(抵抗)非表示" kojoPlace="RESULT" priority="10" isExclusive="TRUE" eval="{CC_AFLAG(ACTION_DID, "INFLICT_REGISTED")}">
  </command>
  <command skillDefName="PSV_SURVIVOR" actionName="ANY" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE">
    <contents>@C:{カラー_注意}@≪%CC_GETS_ACT_INFO(ACTION_DID, "SKILL_NAME")%≫@/C@が発動！[$CC_ANAME]はかろうじて持ちこたえた！</contents>
  </command>
  <command skillDefName="ACT_LINA_ATTACK_ALL" actionName="CC_ACTION_SET_SP_TOKEN" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE">
    <contents>@C:{カラー_注意}@くるくるとまわる姿を見て[$CC_TNAME]は思わずよろめいた！@/C@</contents>
  </command>
</data>


code:
<?xml version="1.0" encoding="utf-8"?>
<data>
  <command skillDefName="ANY" actionName="ANY" name="発動共通メッセージ" kojoPlace="TRIGGER" priority="1" isExclusive="TRUE">
    <contents>[$CC_ANAME]のスキル：@C:{カラー_注意}@≪%CC_GETS_ACT_INFO(ACTION_DID, "SKILL_NAME")%≫@/C@が発動！</contents>
  </command>
  <command skillDefName="ANY" actionName="ANY" name="トークンスキル発動共通メッセージ" kojoPlace="TRIGGER" priority="2" isExclusive="TRUE" eval="{CC_GET_ACT_INFO(ACTION_DID, "IS_TOKEN_SKILL")}">
    <contents>@C:{カラー_注意}@≪%CC_GETS_SP_TOKEN_PARAMS(CC_GET_ACT_INFO(ACTION_DID, "TOKEN_DID"), "TOKEN_NAME")%≫@/C@トークンの効果発動！</contents>
  </command>
  <command skillDefName="ANY" actionName="CC_ACTION_ATTACK" name="盲目によるミス" kojoPlace="RESULT" priority="1" isExclusive="TRUE" eval="{CC_AFLAG(ACTION_DID, "AVOIDED_BY_BLIND")}">
    <contents>[$CC_ANAME]の攻撃は[$CC_TNAME]に命中しなかった…（@C:{カラー_オリーブ}@盲目状態によるミス！@/C@）</contents>
  </command>
  <command skillDefName="ANY" actionName="CC_ACTION_ATTACK" name="ジャンプによるミス" kojoPlace="RESULT" priority="1" isExclusive="TRUE" eval="{CC_AFLAG(ACTION_DID, "AVOIDED_BY_DRAGON_JUMP")}">
    <contents>[$CC_ANAME]の攻撃は[$CC_TNAME]に届かなかった…（@C:{カラー_オリーブ}@ジャンプ状態によるミス！@/C@）</contents>
  </command>
  <command skillDefName="ANY" actionName="CC_ACTION_ATTACK" name="ジャンプによるミス" kojoPlace="RESULT" priority="1" isExclusive="TRUE" eval="{CC_AFLAG(ACTION_DID, "AVOIDED_BY_DRAGON_RISING")}">
    <contents>[$CC_ANAME]の攻撃は[$CC_TNAME]に届かなかった…（@C:{カラー_オリーブ}@昇竜状態によるミス！@/C@）</contents>
  </command>
  <command skillDefName="ANY" actionName="CC_ACTION_ATTACK" name="突撃準備によるミス" kojoPlace="RESULT" priority="1" isExclusive="TRUE" eval="{CC_AFLAG(ACTION_DID, "AVOIDED_BY_CHARGE_PREP")}">
    <contents>[$CC_ANAME]の攻撃は[$CC_TNAME]に届かなかった…（@C:{カラー_オリーブ}@突撃準備状態によるミス！@/C@）</contents>
  </command>
  <command skillDefName="ANY" actionName="CC_ACTION_ATTACK" name="デコイによる回避andデコイ維持" kojoPlace="RESULT" priority="2" isExclusive="TRUE" eval="{CC_AFLAG(ACTION_DID, "AVOIDED_BY_DECOY") && CC_AFLAG(ACTION_DID, "DECOY_PRESERVED")}">
    <contents>[$CC_ANAME]の攻撃を[$CC_TNAME]のデコイが代わりに引き受けた！
        @C:{カラー_黄緑}@<%SKILL_GET_NAMEF(武器スキル_パッシブ, "WPN_DECOY_AMPLIFIER", 1)%> [$CC_TNAME]のデコイはなお形を保っている！@/C@</contents>
  </command>
  <command skillDefName="ANY" actionName="CC_ACTION_ATTACK" name="デコイによる回避" kojoPlace="RESULT" priority="1" isExclusive="TRUE" eval="{CC_AFLAG(ACTION_DID, "AVOIDED_BY_DECOY")}">
    <contents>[$CC_ANAME]の攻撃を[$CC_TNAME]のデコイが代わりに引き受けた！
        デコイは霧散した……！</contents>
  </command>
  <command skillDefName="ANY" actionName="CC_ACTION_ATTACK" name="分身による回避and分身維持" kojoPlace="RESULT" priority="2" isExclusive="TRUE" eval="{CC_AFLAG(ACTION_DID, "AVOIDED_BY_DECOY_SHADOW") && CC_AFLAG(ACTION_DID, "DECOY_PRESERVED")}">
    <contents>[$CC_ANAME]の攻撃を[$CC_TNAME]の分身が代わりに引き受けた！
            @C:{カラー_黄緑}@<%SKILL_GET_NAMEF(武器スキル_パッシブ, "WPN_DECOY_AMPLIFIER", 1)%> [$CC_TNAME]の分身はなお形を保っている！@/C@</contents>
  </command>
  <command skillDefName="ANY" actionName="CC_ACTION_ATTACK" name="分身による回避" kojoPlace="RESULT" priority="1" isExclusive="TRUE" eval="{CC_AFLAG(ACTION_DID, "AVOIDED_BY_DECOY_SHADOW")}">
    <contents>[$CC_ANAME]の攻撃を[$CC_TNAME]の分身が代わりに引き受けた！
            分身の一体が霧散した……！</contents>
  </command>
  <command skillDefName="ANY" actionName="CC_ACTION_ATTACK" name="一撃離脱による回避" kojoPlace="RESULT" priority="1" isExclusive="TRUE" eval="{CC_AFLAG(ACTION_DID, "AVOIDED_BY_HIT_AND_RUN")}">
    <contents>[$CC_ANAME]の攻撃は逃走する[$CC_TNAME]には届かない！
            しかし、僅かながら距離が詰まった……！</contents>
  </command>
  <command skillDefName="ANY" actionName="CC_ACTION_ATTACK" name="突撃準備の低減" kojoPlace="RESULT" priority="1" isExclusive="TRUE" eval="{CC_AFLAG(ACTION_DID, "LOST_CHARGE_PREP")}">
    <contents>[$CC_ANAME]の攻撃により、[$CC_TNAME]の突撃準備に遅滞が生じた！</contents>
  </command>
  <command skillDefName="ANY" actionName="CC_ACTION_ATTACK" name="パリィによる回避" kojoPlace="RESULT" priority="1" isExclusive="TRUE" eval="{CC_AFLAG(ACTION_DID, "AVOIDED_BY_PARRY")}">
    <contents>[$CC_ANAME]の攻撃を、[$CC_TNAME]は破魔の光を纏わせた武器で受け流した！</contents>
  </command>
  <command skillDefName="ANY" actionName="CC_ACTION_ATTACK" name="バリアで防がれた" kojoPlace="RESULT" priority="2" isExclusive="TRUE" eval="{CC_AFLAG(ACTION_DID, "DECREASED_BY_BARRIER")}">
    <contents>[$CC_ANAME]の攻撃は[$CC_TNAME]に@C:{カラー_オレンジ}@{[$DAMAGE]}@/C@ダメージを与えた(バリア:{CC_AFLAG(ACTION_DID, "BARRIER_BEFORE")}→@C:{カラー_オレンジ}@{CC_AFLAG(ACTION_DID, "BARRIER_AFTER")}@/C@)%[$CRITICAL] ? @"@C:{カラー_シアン}@ ≪!CRITICAL!≫@/C@" # ""%</contents>
  </command>
  <command skillDefName="ANY" actionName="CC_ACTION_ATTACK" name="バリアで完全に防がれた" kojoPlace="RESULT" priority="2" isExclusive="TRUE" eval="{CC_AFLAG(ACTION_DID, "NULLIFIED_BY_BARRIER")}">
    <contents>[$CC_ANAME]の攻撃を[$CC_TNAME]は完全に防いだ！(バリア:{CC_AFLAG(ACTION_DID, "BARRIER_BEFORE")}→@C:{カラー_オレンジ}@{CC_AFLAG(ACTION_DID, "BARRIER_AFTER")}@/C@) %[$CRITICAL] ? @"@C:{カラー_シアン}@ ≪!CRITICAL!≫@/C@" # ""%</contents>
  </command>
  <command skillDefName="ANY" actionName="CC_ACTION_ATTACK" name="攻撃成功" kojoPlace="RESULT" priority="1" isExclusive="TRUE" eval="{CC_AFLAG(ACTION_DID, "ATTACK_SUCCEEDED")}">
    <contents>[$CC_ANAME]は[$CC_TNAME]に@C:{カラー_オレンジ}@{[$DAMAGE]}@/C@のダメージを与えた！ %[$CRITICAL] ? @"@C:{カラー_シアン}@ ≪!CRITICAL!≫@/C@" # ""%</contents>
  </command>
  <command skillDefName="ANY" actionName="CC_ACTION_MULTIPLE_ATTACK" name="すべて回避された" kojoPlace="RESULT" priority="3" isExclusive="TRUE" eval="{CC_AFLAG(ACTION_DID, "ALL_ATTACK_AVOIDED")}">
    <contents>[$CC_TNAME]はすべての攻撃を回避した！</contents>
  </command>
  <command skillDefName="ANY" actionName="CC_ACTION_MULTIPLE_ATTACK" name="バリアで防がれた" kojoPlace="RESULT" priority="2" isExclusive="TRUE" eval="{CC_AFLAG(ACTION_DID, "DECREASED_BY_BARRIER")}">
    <contents>[$CC_TNAME]に{CC_AFLAG(ACTION_DID, "ATTACK_SUCCEEDED")}回命中して合計@C:{カラー_オレンジ}@{[$DAMAGE]}@/C@のダメージを与えた！(平均@C:{カラー_オレンジ}@{CC_AFLAG(ACTION_DID, "AVERAGE_DAMAGE")}@/C@ダメージ)(バリア:{CC_AFLAG(ACTION_DID, "BARRIER_BEFORE")}→@C:{カラー_オレンジ}@{CC_AFLAG(ACTION_DID, "BARRIER_AFTER")}@/C@)</contents>
  </command>
  <command skillDefName="ANY" actionName="CC_ACTION_MULTIPLE_ATTACK" name="バリアで完全に防がれた" kojoPlace="RESULT" priority="2" isExclusive="TRUE" eval="{CC_AFLAG(ACTION_DID, "NULLIFIED_BY_BARRIER")}">
    <contents>[$CC_TNAME]に{CC_AFLAG(ACTION_DID, "ATTACK_SUCCEEDED")}回命中したが完全に防がれた！(バリア:{CC_AFLAG(ACTION_DID, "BARRIER_BEFORE")}→@C:{カラー_オレンジ}@{CC_AFLAG(ACTION_DID, "BARRIER_AFTER")}@/C@)</contents>
  </command>
  <command skillDefName="ANY" actionName="CC_ACTION_MULTIPLE_ATTACK" name="攻撃成功" kojoPlace="RESULT" priority="1" isExclusive="TRUE" eval="{CC_AFLAG(ACTION_DID, "ATTACK_SUCCEEDED")}">
    <contents>[$CC_TNAME]に{CC_AFLAG(ACTION_DID, "ATTACK_SUCCEEDED")}回命中して合計@C:{カラー_オレンジ}@{[$DAMAGE]}@/C@のダメージを与えた！(平均@C:{カラー_オレンジ}@{CC_AFLAG(ACTION_DID, "AVERAGE_DAMAGE")}@/C@ダメージ)</contents>
  </command>
  <command skillDefName="ANY" actionName="ANY" name="戦闘不能" kojoPlace="DEFEAT" priority="1" isExclusive="TRUE">
    <contents>@C:{カラー_注意}@――[$CC_TNAME]は戦闘不能になった！@/C@</contents>
  </command>
  <command skillDefName="ANY" actionName="CC_ACTION_HEAL" name="成功" kojoPlace="RESULT" priority="1" isExclusive="TRUE">
    <contents>[$CC_ANAME]は[$CC_TNAME]の体力を@C:{カラー_緑}@{CC_AFLAG(ACTION_DID, "HEAL_VALUE")}回復した@/C@</contents>
  </command>
  <command skillDefName="ANY" actionName="CC_ACTION_ADD_ABNORMALITY" name="スタン付与成功" kojoPlace="RESULT" priority="1" isExclusive="TRUE" token="STUN" eval="{CC_AFLAG(ACTION_DID, "INFLICT_SUCCEEDED")}">
    <contents>[$CC_TNAME]は体制を崩した！</contents>
  </command>
  <command skillDefName="ANY" actionName="CC_ACTION_ADD_ABNORMALITY" name="スタン付与失敗(抵抗)" kojoPlace="RESULT" priority="1" isExclusive="TRUE" token="STUN" eval="{CC_AFLAG(ACTION_DID, "INFLICT_REGISTED")}">
    <contents>しかし[$CC_TNAME]は動じていない！</contents>
  </command>
  <command skillDefName="ANY" actionName="CC_ACTION_INFLICT_ABNORMALITY" name="毒付与成功" kojoPlace="RESULT" priority="1" isExclusive="TRUE" token="POISON" eval="{CC_AFLAG(ACTION_DID, "INFLICT_SUCCEEDED")}">
    <contents>[$CC_TNAME]の身体は毒に侵された！</contents>
  </command>
  <command skillDefName="ANY" actionName="CC_ACTION_INFLICT_ABNORMALITY" name="毒付与失敗(効果量不足)" kojoPlace="RESULT" priority="1" isExclusive="TRUE" token="POISON" eval="{CC_AFLAG(ACTION_DID, "ALREADY_INFLICTED")}">
    <contents>[$CC_TNAME]の身体はすでに毒に侵されている！</contents>
  </command>
  <command skillDefName="ANY" actionName="CC_ACTION_INFLICT_ABNORMALITY" name="毒付与失敗(抵抗)" kojoPlace="RESULT" priority="1" isExclusive="TRUE" token="POISON" eval="{CC_AFLAG(ACTION_DID, "INFLICT_REGISTED")}">
    <contents>しかし[$CC_TNAME]に毒は通じなかったようだ……！</contents>
  </command>
  <command skillDefName="ANY" actionName="CC_ACTION_INFLICT_ABNORMALITY" name="燃焼付与成功" kojoPlace="RESULT" priority="1" isExclusive="TRUE" token="BURN" eval="{CC_AFLAG(ACTION_DID, "INFLICT_SUCCEEDED")}">
    <contents>[$CC_TNAME]の身体は火傷を受けた！</contents>
  </command>
  <command skillDefName="ANY" actionName="CC_ACTION_INFLICT_ABNORMALITY" name="燃焼付与失敗(効果量不足)" kojoPlace="RESULT" priority="1" isExclusive="TRUE" token="BURN" eval="{CC_AFLAG(ACTION_DID, "ALREADY_INFLICTED")}">
    <contents>[$CC_TNAME]の身体はすでに火傷を負っている！</contents>
  </command>
  <command skillDefName="ANY" actionName="CC_ACTION_INFLICT_ABNORMALITY" name="燃焼付与失敗(抵抗)" kojoPlace="RESULT" priority="1" isExclusive="TRUE" token="BURN" eval="{CC_AFLAG(ACTION_DID, "INFLICT_REGISTED")}">
    <contents>しかし[$CC_TNAME]は火の手を免れたようだ……！</contents>
  </command>
  <command skillDefName="ANY" actionName="CC_ACTION_INFLICT_ABNORMALITY" name="盲目付与成功" kojoPlace="RESULT" priority="1" isExclusive="TRUE" token="BLIND" eval="{CC_AFLAG(ACTION_DID, "INFLICT_SUCCEEDED")}">
    <contents>[$CC_TNAME]は視界を奪われた！</contents>
  </command>
  <command skillDefName="ANY" actionName="CC_ACTION_INFLICT_ABNORMALITY" name="盲目付与失敗(効果量不足)" kojoPlace="RESULT" priority="1" isExclusive="TRUE" token="BLIND" eval="{CC_AFLAG(ACTION_DID, "ALREADY_INFLICTED")}">
    <contents>[$CC_TNAME]はすでに盲目状態だ！</contents>
  </command>
  <command skillDefName="ANY" actionName="CC_ACTION_INFLICT_ABNORMALITY" name="盲目付与失敗(抵抗)" kojoPlace="RESULT" priority="1" isExclusive="TRUE" token="BLIND" eval="{CC_AFLAG(ACTION_DID, "INFLICT_REGISTED")}">
    <contents>しかし[$CC_TNAME]は盲目にならなかった……！</contents>
  </command>
  <command skillDefName="ANY" actionName="CC_ACTION_INFLICT_ESTRUS" name="発情付与成功" kojoPlace="RESULT" priority="1" isExclusive="TRUE" eval="{CC_AFLAG(ACTION_DID, "INFLICT_SUCCEEDED")}">
    <contents>@C:{カラー_ピンク}@[$CC_TNAME]は発情してしまった！@/C@</contents>
  </command>
  <command skillDefName="ANY" actionName="CC_ACTION_INFLICT_ESTRUS" name="発情上限" kojoPlace="RESULT" priority="1" isExclusive="TRUE" eval="{CC_AFLAG(ACTION_DID, "ALREADY_INFLICTED")}">
    <contents>@C:{カラー_ピンク}@[$CC_TNAME]は完全に発情しきっている……！@/C@</contents>
  </command>
  <command skillDefName="ANY" actionName="CC_ACTION_INFLICT_ESTRUS" name="発情付与失敗(抵抗)" kojoPlace="RESULT" priority="1" isExclusive="TRUE" eval="{CC_AFLAG(ACTION_DID, "INFLICT_REGISTED")}">
    <contents>しかし[$CC_TNAME]は誘惑を振りほどいたようだ…！</contents>
  </command>
  <command skillDefName="ANY" actionName="CC_ACTION_MESSAGE" name="アイテムが足りない" kojoPlace="RESULT" priority="1" isExclusive="TRUE" eval="{CC_AFLAG(ACTION_DID, "LACK_ITEM")}">
    <contents>……しかし必要なアイテムが足りない！</contents>
  </command>
  <command skillDefName="ANY" actionName="CC_ACTION_MESSAGE" name="召喚失敗" kojoPlace="RESULT" priority="1" isExclusive="TRUE" eval="{CC_AFLAG(ACTION_DID, "NO_SUMMON_CAPACITY")}">
    <contents>……しかし指揮可能なメンバーの余剰がない！</contents>
  </command>
  <command skillDefName="ANY" actionName="CC_ACTION_TEAR_CLOTH" name="すでに全裸" kojoPlace="RESULT" priority="2" isExclusive="TRUE" eval="{CC_AFLAG(ACTION_DID, "ALREADY_NAKED")}">
    <contents>[$CC_TNAME]はすでに全裸だ！</contents>
  </command>
  <command skillDefName="ANY" actionName="CC_ACTION_TEAR_CLOTH" name="脱衣失敗" kojoPlace="RESULT" priority="2" isExclusive="TRUE" eval="{CC_AFLAG(ACTION_DID, "INFLICT_REGISTED")}">
    <contents>[$CC_TNAME]の服は敗れなかった！</contents>
  </command>
  <command skillDefName="ANY" actionName="CC_ACTION_TEAR_CLOTH" name="脱衣" kojoPlace="RESULT" priority="1" isExclusive="TRUE">
    <contents>[$CC_TNAME]の@C:{カラー_ピンク}@%CC_AFLAGS(ACTION_DID, "DAMAGED_CLOTH")%@/C@は無惨に引き裂かれてしまった！</contents>
  </command>
  <command skillDefName="ANY" actionName="CC_ACTION_BUST_INFLATION" name="膨乳" kojoPlace="RESULT" priority="2" isExclusive="TRUE" eval="{CC_AFLAG(ACTION_DID, "NOT_CHANGED")}">
    <contents>……しかし、何も起こらなかった！</contents>
  </command>
  <command skillDefName="ANY" actionName="CC_ACTION_BUST_INFLATION" name="膨乳" kojoPlace="RESULT" priority="1" isExclusive="TRUE">
    <contents>[$CC_TNAME]は@C:{カラー_ピンク}@%CC_AFLAGS(ACTION_DID, "BUST_RESULT")%@/C@になった！</contents>
  </command>
</data>


code:
<?xml version="1.0" encoding="utf-8"?>
<data>
  <command skillDefName="OPENING_SHADOW_CLONING" actionName="CC_ACTION_ADD_SP_TOKEN" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE" sequence="0">
    <contents>[$CC_ANAME]は分身を伴って、前線に躍り出た！</contents>
  </command>
  <command skillDefName="OPENING_SHADOW_HIDDEN" actionName="CC_ACTION_ADD_SP_TOKEN" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE" sequence="0">
    <contents>[$CC_ANAME]は隠形し、一切の気配を断った……</contents>
  </command>
  <command skillDefName="ACT_SHINOBI_FIRE" actionName="CC_ACTION_ATTACK" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE" sequence="0">
    <contents>[$CC_ANAME]が放った薬液が火炎を巻き起こし、[$CC_TNAME]たちを包み込む！</contents>
  </command>
  <command skillDefName="ACT_SHINOBI_SMOKE" actionName="ANY" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE" sequence="0">
    <contents>[$CC_ANAME]が放った薬液が弾けて煙柱を立ち上らせ、[$CC_TNAME]%CC_AFLAG(ACTION_DID, "TARGET_HEADCOUNT") == 1 ? "" # "たち"%を包み込む！</contents>
  </command>
</data>


code:
<?xml version="1.0" encoding="utf-8"?>
<data>
  <command skillDefName="K17_UNIQUE_FATAL_STING" actionName="CC_ACTION_ATTACK" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE" eval="{CC_AFLAG(ACTION_DID, "FATAL_STING")}">
    <contents>弱り鈍る標的を[$CC_ANAME]の一撃が洒然と打ち抜いた！</contents>
  </command>
  <command skillDefName="K17_UNIQUE_FATAL_STING" actionName="CC_ACTION_ATTACK" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE" eval="{!CC_AFLAG(ACTION_DID, "FATAL_STING")}">
    <contents>[$CC_ANAME]は弱った標的に狙いを定めると、音もなく背後に忍び寄る！</contents>
  </command>
</data>


code:
<?xml version="1.0" encoding="utf-8"?>
<data>
  <command skillDefName="K18_UNIQUE_MY_POISON" actionName="CC_ACTION_INFLICT_ABNORMALITY" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE" sequence="0">
    <contents>[$CC_ANAME]が撒き散らした腐肉が毒の触媒となって、[$CC_TNAME]たちを包み込む！</contents>
  </command>
  <command skillDefName="K18_UNIQUE_MY_POISON" actionName="CC_ACTION_ADD_SP_TOKEN" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE" sequence="0">
    <contents>[$CC_ANAME]は短時間だけ、ダメージを受けづらくなった！</contents>
  </command>
  <command skillDefName="K18_UNIQUE_LANCE_DANCE" actionName="ANY" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE" sequence="0">
    <contents>@C:{カラー_注意}@槍から放出された魔力の一閃が[$CC_TNAME]の防御を打ち砕く！@/C@</contents>
  </command>
  <command skillDefName="K18_UNIQUE_LANCE_DANCE" actionName="ANY" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE" sequence="1">
    <contents>@C:{カラー_注意}@さらに[$CC_ANAME]は標的めがけ、鮮烈な連撃を見舞った！@/C@</contents>
  </command>
</data>


code:
<?xml version="1.0" encoding="utf-8"?>
<data>
  <command skillDefName="K21_UNIQUE_TWIN_DANCE" actionName="ANY" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE" sequence="1">
    <contents>@C:{カラー_注意}@[$CC_ANAME]は自ら守りを捨て、敵中へと飛び込むと激しい連撃をくらわせた！@/C@</contents>
  </command>
  <command skillDefName="K21_UNIQUE_FOLLOW_ME" actionName="ANY" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE" sequence="1">
    <contents>@C:{カラー_注意}@[$CC_ANAME]は味方を激しく鼓舞し、敵中へと切り込んでいった！@/C@</contents>
  </command>
</data>


code:
<?xml version="1.0" encoding="utf-8"?>
<data>
  <command skillDefName="ACT_SNIPING" actionName="ANY" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE" sequence="1">
    <contents>@C:{カラー_注意}@[$CC_ANAME]は息を潜め、標的に向けて狙い澄ました一撃を放った！@/C@</contents>
  </command>
  <command skillDefName="OPENING_ADD_HIDE_TOKEN" actionName="CC_ACTION_ADD_SP_TOKEN" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE" sequence="0">
    <contents>@C:{カラー_注意}@≪%CC_GETS_ACT_INFO(ACTION_DID, "SKILL_NAME")%≫@/C@が発動！
[$CC_ANAME]は身を潜め、攻撃の機会を窺う！</contents>
  </command>
</data>


code:
<?xml version="1.0" encoding="utf-8"?>
<data>
  <command skillDefName="K24_UNIQUE_SKILL_SPIRITOSO" actionName="ANY" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE" sequence="1">
    <contents>@C:{カラー_注意}@流麗な歌声が、[$CC_TNAME]の詠唱を加速させる！@/C@</contents>
  </command>
  <command skillDefName="K24_UNIQUE_SKILL_GRAVE" actionName="ANY" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE" sequence="1">
    <contents>@C:{カラー_注意}@厳かな歌声が、[$CC_TNAME]達を護るように包み込む！@/C@</contents>
  </command>
  <command skillDefName="K24_UNIQUE_SKILL_MORENDO" actionName="CC_ACTION_ADD_SP_TOKEN" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE">
    <contents>@C:{カラー_注意}@戦意を奪う歌声が、[$CC_TNAME]の攻撃力を弱体化させた！@/C@</contents>
  </command>
</data>


code:
<?xml version="1.0" encoding="utf-8"?>
<data>
  <command skillDefName="K26_UNIQUE_SKILL_STUN_ROAR" actionName="CC_ACTION_ADD_ABNORMALITY" name="スタン付与成功" kojoPlace="RESULT" priority="10" isExclusive="TRUE" eval="{CC_AFLAG(ACTION_DID, "INFLICT_SUCCEEDED")}">
    <contents>@C:{カラー_注意}@耳をつんざくような激烈な咆哮に[$CC_TNAME]は思わずたじろいでしまった！@/C@</contents>
  </command>
  <command skillDefName="K26_UNIQUE_SKILL_STUN_ROAR" actionName="CC_ACTION_ADD_ABNORMALITY" name="スタン付与失敗(抵抗)" kojoPlace="RESULT" priority="10" isExclusive="TRUE" eval="{CC_AFLAG(ACTION_DID, "INFLICT_REGISTED")}">
    <contents>激烈な咆哮を前にしても[$CC_TNAME]は全く動じていない……！</contents>
  </command>
  <command skillDefName="OPENING_ADD_DRAGONIC_TOKEN" actionName="CC_ACTION_ADD_SP_TOKEN" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE" sequence="0">
    <contents>[$CC_ANAME]は呼吸を整え、竜気を充填した！</contents>
  </command>
  <command skillDefName="K26_UNIQUE_SKILL_THUNDER_CROW" actionName="CC_ACTION_ATTACK" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE" sequence="0">
    <contents>巨大な竜腕が雷霆を伴って[$CC_TNAME]%CC_AFLAG(ACTION_DID, "TARGET_HEADCOUNT") == 1 ? "" # "たち"%に叩きつけられる！</contents>
  </command>
  <command skillDefName="K26_UNIQUE_SKILL_PLASMA_BRESS" actionName="CC_ACTION_ATTACK" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE" sequence="0">
    <contents>[$CC_ANAME]の前方に渦巻いた莫大なマナが、超高熱の熱線と化して敵を薙ぎ払う！</contents>
  </command>
  <command skillDefName="K26_UNIQUE_SKILL_DRAGONHEART" actionName="ANY" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE" sequence="0">
    <contents>@C:{カラー_注意}@≪%CC_GETS_ACT_INFO(ACTION_DID, "SKILL_NAME")%≫@/C@が発動！[$CC_ANAME]の心臓がマナを汲み上げる！</contents>
  </command>
  <command skillDefName="K26_UNIQUE_SKILL_DRAGONSPIRITED" actionName="ANY" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE" sequence="0">
    <contents>@C:{カラー_注意}@≪%CC_GETS_ACT_INFO(ACTION_DID, "SKILL_NAME")%≫@/C@が発動！[$CC_ANAME]に竜気が充溢し、竜スキルがリチャージされた！</contents>
  </command>
  <command skillDefName="K26_UNIQUE_SKILL_DRAGON_JUMP" actionName="ANY" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE" sequence="0">
    <contents>[$CC_ANAME]は竜気を放出し、天高く跳躍した！</contents>
  </command>
  <command skillDefName="K26_UNIQUE_SKILL_DRAGON_JUMP" actionName="ANY" name="実行" kojoPlace="EXEC" priority="11" isExclusive="TRUE" sequence="0" eval="{CC_AFLAG(ACTION_DID, "WPN_RISING_ASSIST_RATE")}">
    <contents>[$CC_ANAME]は竜気を放出し、天高く跳躍した！@C:{カラー_黄緑}@≪%CC_AFLAGS(ACTION_DID, "WPN_RISING_ASSIST")%≫@/C@が羽撃き、より天高くへその身を運ぶ！</contents>
  </command>
</data>


code:
<?xml version="1.0" encoding="utf-8"?>
<data>
  <command skillDefName="K28_UNIQUE_SKILL_TRACKING" actionName="CC_ACTION_ADD_SP_TOKEN" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE" sequence="0">
    <contents>@C:{カラー_注意}@≪%CC_GETS_ACT_INFO(ACTION_DID, "SKILL_NAME")%≫@/C@が発動！
[$CC_ANAME]は標的を見定めると、追跡を開始した！</contents>
  </command>
  <command skillDefName="K28_UNIQUE_SKILL_FINAL_STUB" actionName="ANY" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE">
    <contents>@C:{カラー_注意}@≪%CC_GETS_ACT_INFO(ACTION_DID, "SKILL_NAME")%≫@/C@が発動！罠にかかった[$CC_TNAME]の急所に[$CC_ANAME]は狙いを定め、一撃を放った！</contents>
  </command>
  <command skillDefName="K28_UNIQUE_SKILL_SPOTTING" actionName="CC_ACTION_ADD_SP_TOKEN" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE" eval="{CC_GET_ACT_INFO(ACTION_DID, "ACTOR_DID") != CC_GET_ACT_INFO(ACTION_DID, "TARGET_DID")}">
    <contents>@C:{カラー_注意}@[$CC_ANAME]は標的を観測し、[$CC_TNAME]へ攻撃指示を行った！@/C@</contents>
  </command>
  <command skillDefName="K28_UNIQUE_SKILL_SPOTTING" actionName="CC_ACTION_ADD_SP_TOKEN" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE" eval="{CC_GET_ACT_INFO(ACTION_DID, "ACTOR_DID") == CC_GET_ACT_INFO(ACTION_DID, "TARGET_DID")}">
    <contents>@C:{カラー_注意}@[$CC_ANAME]は標的の観測を行った！@/C@</contents>
  </command>
</data>


code:
<?xml version="1.0" encoding="utf-8"?>
<data>
  <command skillDefName="K29_UNIQUE_BREAK_EDGE" actionName="ANY" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE" sequence="1">
    <contents>@C:{カラー_注意}@[$CC_ANAME]は標的の得物を砕き、返す刃で急所を狙う！@/C@</contents>
  </command>
  <command skillDefName="K29_UNIQUE_EVIL_EYE_OP" actionName="CC_ACTION_ADD_SP_TOKEN" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE" sequence="0">
    <contents>@C:{カラー_注意}@≪%CC_GETS_ACT_INFO(ACTION_DID, "SKILL_NAME")%≫@/C@が発動！
[$CC_ANAME]の瞳が深紅に染まる！</contents>
  </command>
  <command skillDefName="K29_UNIQUE_SKILL_BREAK_EDGE_CORE" actionName="ANY" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE" sequence="0">
    <contents>@C:{カラー_注意}@≪%CC_GETS_ACT_INFO(ACTION_DID, "SKILL_NAME")%≫@/C@が発動！[$CC_ANAME]は反撃を恐れず標的の急所を狙う！</contents>
  </command>
  <command skillDefName="K29_UNIQUE_SKILL_BREAK_ARMOR_CORE" actionName="ANY" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE" sequence="0">
    <contents>@C:{カラー_注意}@≪%CC_GETS_ACT_INFO(ACTION_DID, "SKILL_NAME")%≫@/C@が発動！[$CC_ANAME]は守りが薄くなった標的の急所を狙う！</contents>
  </command>
</data>


code:
<?xml version="1.0" encoding="utf-8"?>
<data>
  <command skillDefName="ACT_ELLE_UNIQUE_SKILL_1" actionName="ANY" name="実行" kojoPlace="EXEC" priority="10" isExclusive="TRUE" sequence="0">
    <contents>術符から展開された膨大なマナの奔流が[$CC_ANAME]の魔術を大幅に増幅する！</contents>
  </command>
</data>