code:
;-------------------------------------------------
;ターン毎に子供の描写をする関数
;従来はCOMENDで行っていた処理
;-------------------------------------------------
@CHILD_DESCRIPTION
#DIM CHILDNUM
#DIMS 아이의이름
#DIM 자립후의아이들
SIF !FLAG:자식묘사
	RETURN

TFLAG:묘사중인아이 = 0
FOR LOCAL, 1, CHARANUM
	;自立した子供の判定
	IF CFLAG:LOCAL:아이인원수 - CFLAG:LOCAL:육아인원수 > 0
		CALL CHILD_MOVEMENT_2(LOCAL)
		IF RESULT
			;같은 묘사는 하지 않는다
			IF TFLAG:묘사중인아이 != 자립후의아이들
				CHILDNUM = TFLAG:묘사중인아이 / 1000
				아이의이름 = %CHILDNAME:LOCAL:CHILDNUM%
				SELECTCASE CHILD_ACT:LOCAL:CHILDNUM
					CASE "仕事"
						PRINTFORMDW 일하고 있는 %조사처리(아이의이름,"을")% 보았다
					CASE "散歩"
						PRINTFORMDW %조사처리(아이의이름,"와")% 마주쳤다
				ENDSELECT
			ENDIF
			자립후의아이들 = TFLAG:묘사중인아이
		ELSE
			자립후의아이들 = 0
		ENDIF
	ENDIF
	;육아중の子供の判定
	SIF !TALENT:LOCAL:육아중
		CONTINUE
	;欲求不満の抑制
	SIF CFLAG:LOCAL:욕구불만도 > 300
		CFLAG:LOCAL:욕구불만도 = 300
	;子供の行動はここで決定
	CALL CHILD_MOVEMENT(LOCAL, TALENT:LOCAL:육아중)
	;描写しない場合はRESULT=0
	SIF !RESULT
		CONTINUE
	CHILDNUM = TALENT:LOCAL:육아중
	아이의이름 = %CHILDNAME:LOCAL:CHILDNUM%
	;유아기（0日～45日）
	IF CFLAG:LOCAL:출산경과일 < CHILD_어휘
		LOCALS = 유아기
	;유소년기（46日～89日）
	ELSEIF CFLAG:LOCAL:출산경과일 < CHILD_자립전
		LOCALS = 유소년기
	;자립전（90日～119日）
	ELSE
		LOCALS = 자립전
	ENDIF
	SELECTCASE CHILD_ACT:LOCAL:CHILDNUM
		CASE "睡眠"
			IF LOCALS == "유아기"
				PRINTFORMDW %아이의이름%는 잠들기 시작했다……
			ELSE
				IF CFLAG:MASTER:현재위치 == CFLAG:LOCAL:초기위치
					PRINTFORMDW %아이의이름%는 잠이 들었다……
				ELSE
					PRINTFORMDW %아이의이름%는 침실로 향했다……
				ENDIF
			ENDIF
			CALL KOJO_MESSAGE_SEND("EVENT", 0, LOCAL, 0, 0, "CHILD_RAISING_SLEEPING", LOCALS)
		CASE "起床"
			PRINTFORMDW %아이의이름%는 눈을 떴다
		CASE "入浴"
			CALL KOJO_MESSAGE_SEND("EVENT", 0, LOCAL, 0, 0, "CHILD_RAISING_BATH", LOCALS)
		CASE "식사"
			IF CFLAG:LOCAL:출산경과일 < CHILD_젖떼기
				PRINTFORMDW %CALLNAME:LOCAL%는 %아이의이름%에게 수유를 하고 있다
				CALL KOJO_MESSAGE_SEND("EVENT", 0, LOCAL, 0, 0, "CHILD_RAISING_식사", "수유")
			ELSEIF LOCALS == "유아기"
				PRINTFORMDW %CALLNAME:LOCAL%는 %아이의이름%에게 이유식을 주고 있다
				CALL KOJO_MESSAGE_SEND("EVENT", 0, LOCAL, 0, 0, "CHILD_RAISING_식사", "이유식")
			ELSE
				SELECTCASE TIME
				CASE 300 TO 540
					PRINTFORMDW %조사처리(아이의이름,"은")% 아침밥을 먹고 있다
				CASE 660 TO 900
					PRINTFORMDW %조사처리(아이의이름,"은")% 점심밥을 먹고 있다
				CASE 1020 TO 1200
					PRINTFORMDW %조사처리(아이의이름,"은")% 저녁밥을 먹고 있다
				CASE 1200 TO 1440
					PRINTFORMDW %조사처리(아이의이름,"은")% 저녁식사를 먹고 있다
				CASE 0 TO 180
					PRINTFORMDW %조사처리(아이의이름,"은")% 야식을 먹고 있다
				CASEELSE
					PRINTFORMDW %조사처리(아이의이름,"은")% 밥을 먹고 있다
				ENDSELECT
				CALL KOJO_MESSAGE_SEND("EVENT", 0, LOCAL, 0, 0, "CHILD_RAISING_식사", LOCALS)
			ENDIF
		CASE "玩具"
			IF LOCALS == "자립전"
				PRINTFORMDL %아이의이름%는 %마스터가% 만들어 준 나무 장난감을 추억 깊은 듯이 바라보고 있다……
			ELSE
				PRINTFORMDW %아이의이름%는 %마스터가% 만든 완구로 놀고 있다
			ENDIF
			CALL KOJO_MESSAGE_SEND("EVENT", 0, LOCAL, 0, 0, "CHILD_RAISING_TOY", LOCALS)
		CASE "お絵かき"
			PRINTFORMDW %조사처리(아이의이름,"은")% 그림을 그리기 시작했다
		CASE "遊び"
			PRINTFORMDW %조사처리(아이의이름,"은")% 뛰어 놀기 시작했다
		CASE "読書"
			PRINTFORMDW %조사처리(아이의이름,"은")% 책을 읽기 시작했다
		CASE "料理"
			PRINTFORMDW %조사처리(아이의이름,"은")% 혼자서 요리를 시작했다
		CASE "絵描き"
			PRINTFORMDW %조사처리(아이의이름,"은")% 그림을 그리기 시작했다
		CASE "歌唱"
			PRINTFORMDW %조사처리(아이의이름,"은")% 노래를 부르기 시작했다
		CASE "掃除"
			PRINTFORMDW %조사처리(아이의이름,"은")% 방 청소를 시작했다
		CASE "支度"
			PRINTFORMDW %조사처리(아이의이름,"은")% 서당에 갈 채비를 하고 있다
		CASE "登校"
			IF (MAIN_MAP != 2 &&CFLAG:MASTER:현재위치 == 寺子屋) || (MAIN_MAP == 2 && CFLAG:MASTER:현재위치 == 222)
				PRINTFORMDW %조사처리(아이의이름,"이")% 등교했다
			ELSE
				PRINTFORMDW %조사처리(아이의이름,"은")% 서당으로 향했다
				CALL KOJO_MESSAGE_SEND("EVENT", 0, LOCAL, 0, 0, "CHILD_RAISING_등하교")
			ENDIF
		CASE "授業"
			PRINTFORMDW %조사처리(아이의이름,"이")% 수업을 받고 있다
		CASE "帰宅"
			IF (MAIN_MAP != 2 &&CFLAG:MASTER:현재위치 == 寺子屋) || (MAIN_MAP == 2 && CFLAG:MASTER:현재위치 == 222)
				PRINTFORMDW %조사처리(아이의이름,"은")% 수업을 마치고 하교했다
			ELSE
				PRINTFORMDW %조사처리(아이의이름,"이")% 서당에서 돌아왔다
				CALL KOJO_MESSAGE_SEND("EVENT", 0, LOCAL, 1, 0, "CHILD_RAISING_등하교")
			ENDIF
		CASEELSE
;				;口上の発生は3分の1,一旦凍結
;				SIF !RAND:3
				CALL KOJO_MESSAGE_SEND("EVENT", 0, LOCAL, 0, 0, "CHILD_RAISING_OTHER", LOCALS)
	ENDSELECT
NEXT
RESETCOLOR

;-------------------------------------------------
;子供の行動を判定する関数
;RETURN 描写するなら1
;-------------------------------------------------
@CHILD_MOVEMENT(CHARA, CHILDNUM)
#DIM CHARA
#DIM CHILDNUM
#DIM TIMESTAMP
#DIM TIMESTAMP_DAY
#DIM 経過時間
VARSET RESULT

;一つ前の行動を保存
LOCALS = %CHILD_ACT:CHARA:CHILDNUM%

;TIME_PROGRESSが使えないので無理矢理算出
SIF TIMESTAMP_DAY != DAY
	TIMESTAMP = 1440 * DAY + TIME
経過時間 = 1440 * DAY + TIME - TIMESTAMP

;10分以上経過してたらダイスを振る
SIF 経過時間 >= 10
	LOCAL = RAND:100

;授業中止
SIF !GO_SCHOOL(CHARA) && GROUPMATCH(CHILD_ACT:CHARA:CHILDNUM, "授業", "支度", "登校")
	CHILD_ACT:CHARA:CHILDNUM =

;유아기（0日～45日）
IF CFLAG:CHARA:출산경과일 < CHILD_어휘
	;睡眠中,お腹が空いたらランダムで起きる
	IF CHILD_ACT:CHARA:CHILDNUM == "睡眠"
		SIF TCVAR:CHARA:아이공복도 >= 180 && LOCAL % 6 == 0
			CHILD_ACT:CHARA:CHILDNUM = 起床
	;起きてる時
	ELSEIF CHILD_ACT:CHARA:CHILDNUM != "睡眠"
		;お風呂
		IF BATHROOM(CFLAG:CHARA:현재위치)
			CHILD_ACT:CHARA:CHILDNUM = 入浴
		;식사中
		ELSEIF CHILD_ACT:CHARA:CHILDNUM == "식사"
			;満たされたら終了
			SIF TCVAR:CHARA:아이공복도 <= 90
				CHILD_ACT:CHARA:CHILDNUM =
			;20分で満たされる計算
			TCVAR:CHARA:아이공복도 -= 経過時間 * 9
		;식사,離乳後は식사系コマンド実行時も発生
		ELSEIF TCVAR:CHARA:아이공복도 >= 180 || (CFLAG:CHARA:출산경과일 >= CHILD_젖떼기 && GROUPMATCH(SELECTCOM, 414, 415, 610, 615, 617))
			;수유
			SIF CFLAG:CHARA:출산경과일 < CHILD_젖떼기
				EXP:CHARA:분유경험 ++
			CHILD_ACT:CHARA:CHILDNUM = 식사
		;玩具終了（식사と違って必ずしも継続しない）
		ELSEIF CHILD_ACT:CHARA:CHILDNUM == "玩具"
			SIF LOCAL % 7 == 0
				CHILD_ACT:CHARA:CHILDNUM =
		;玩具
		ELSEIF CFLAG:CHARA:출산경과일 >= CHILD_玩具 && LOCAL % 6 == 0
			CHILD_ACT:CHARA:CHILDNUM = 玩具
		;睡眠
		ELSEIF TCVAR:CHARA:아이공복도 < 180 && LOCAL < 5
			CHILD_ACT:CHARA:CHILDNUM = 睡眠
		;お風呂から出る
		ELSEIF CHILD_ACT:CHARA:CHILDNUM == "入浴" && !BATHROOM(CFLAG:CHARA:현재위치)
			CHILD_ACT:CHARA:CHILDNUM =
		ENDIF
	ENDIF
	;유아기はすべてキャラ依存
	SIF CFLAG:MASTER:현재위치 == CFLAG:CHARA:현재위치
		RESULT = 1
;通学時（60日～）
ELSEIF GO_SCHOOL(CHARA) && INRANGE(TIME, 360, 900)
	;登校後
	IF CHILD_ACT:CHARA:CHILDNUM == "登校"
		CHILD_ACT:CHARA:CHILDNUM = 授業
	;帰宅後
	ELSEIF  CHILD_ACT:CHARA:CHILDNUM == "帰宅" && INRANGE(TIME, 840, 900)
		CHILD_ACT:CHARA:CHILDNUM =
	;6時～7時,朝ごはん
	ELSEIF INRANGE(TIME, 360, 420)
		CHILD_ACT:CHARA:CHILDNUM = 식사
	;7時～7時半,支度
	ELSEIF INRANGE(TIME, 420, 450)
		CHILD_ACT:CHARA:CHILDNUM = 支度
	;7時半～8時,登校
	ELSEIF INRANGE(TIME, 450, 480)
		CHILD_ACT:CHARA:CHILDNUM = 登校
	;8時～14時,授業
	ELSEIF INRANGE(TIME, 480, 840)
		CHILD_ACT:CHARA:CHILDNUM = 授業
	;14時～15時,下校～帰宅
	ELSEIF INRANGE(TIME, 840, 900) && CHILD_ACT:CHARA:CHILDNUM  == "授業"
		CHILD_ACT:CHARA:CHILDNUM = 帰宅
	ENDIF
	;授業の描写
	IF CHILD_ACT:CHARA:CHILDNUM == "授業"
		IF MAIN_MAP == 2
			SIF CFLAG:MASTER:현재위치 == 222
				RESULT = 1
		ELSE
			SIF CFLAG:MASTER:현재위치 == 寺子屋
				RESULT = 1
		ENDIF
	;登下校描写,寺子屋にいる場合も描写する
	ELSEIF CHILD_ACT:CHARA:CHILDNUM == "登校" || CHILD_ACT:CHARA:CHILDNUM == "帰宅"
		IF MAIN_MAP == 2
			SIF CFLAG:MASTER:현재위치 == 222
				RESULT = 1
			SIF CFLAG:MASTER:현재위치 == CFLAG:CHARA:현재위치
				RESULT = 1
			SIF 自室自宅判定(CFLAG:MASTER:현재위치, CHARA)
				RESULT = 1
		ELSE
			;拠点キャラの場合は拠点内でのみ
			IF CFLAG:CHARA:신사거주
				IF AT_HOME(MASTER)
					SIF CFLAG:MASTER:현재위치 == CFLAG:CHARA:현재위치
						RESULT = 1
					SIF 自室自宅判定(CFLAG:MASTER:현재위치, CHARA, CFLAG:CHARA:출산경과일 >= CHILD_자립전)
						RESULT = 1
				ELSE
					SIF CFLAG:MASTER:현재위치 == 寺子屋
						RESULT = 1
				ENDIF
			ELSE
				SIF CFLAG:MASTER:현재위치 == CFLAG:CHARA:현재위치
					RESULT = 1
				SIF 自室自宅判定(CFLAG:MASTER:현재위치, CHARA, CFLAG:CHARA:출산경과일 >= CHILD_자립전)
					RESULT = 1
				SIF CFLAG:MASTER:현재위치 == 寺子屋
					RESULT = 1
			ENDIF
		ENDIF
	;それ以外の描写
	ELSE
		;拠点にいる時にキャラ依存およびキャラ自室
		IF AT_HOME(MASTER)
			SIF CFLAG:MASTER:현재위치 == CFLAG:CHARA:현재위치
				RESULT = 1
			SIF 自室自宅判定(CFLAG:MASTER:현재위치, CHARA)
				RESULT = 1
		ENDIF
	ENDIF
;유소년기（46日～89日）
ELSEIF CFLAG:CHARA:출산경과일 < CHILD_자립전
	;就寝
	IF 아이의수면시간(CHARA)
		CHILD_ACT:CHARA:CHILDNUM = 睡眠
	;起床
	ELSEIF CHILD_ACT:CHARA:CHILDNUM == "睡眠" && !아이의수면시간(CHARA)
		CHILD_ACT:CHARA:CHILDNUM = 起床
	;お風呂
	ELSEIF BATHROOM(CFLAG:CHARA:현재위치)
		CHILD_ACT:CHARA:CHILDNUM = 入浴
	;식사中
	ELSEIF CHILD_ACT:CHARA:CHILDNUM == "식사"
		;満たされたら終了
		SIF TCVAR:CHARA:아이공복도 <= 120
			CHILD_ACT:CHARA:CHILDNUM =
		;30分で満たされる計算
		TCVAR:CHARA:아이공복도 -= 経過時間 * 12
	;식사,キャラ同室中は식사系コマンド実行時も発生
	ELSEIF TCVAR:CHARA:아이공복도 >= 360 || (CFLAG:MASTER:현재위치 == CFLAG:CHARA:현재위치 && GROUPMATCH(SELECTCOM, 414, 415, 610, 615, 617))
		CHILD_ACT:CHARA:CHILDNUM = 식사
	;行動の終了
	ELSEIF GROUPMATCH(CHILD_ACT:CHARA:CHILDNUM, "玩具", "お絵かき")
		SIF LOCAL % 8 == 0
			CHILD_ACT:CHARA:CHILDNUM =
	;起床後はすぐ別行動に移る（他の行動がなければ）
	ELSEIF CHILD_ACT:CHARA:CHILDNUM == "起床"
		CHILD_ACT:CHARA:CHILDNUM =
	;お風呂から出る
	ELSEIF CHILD_ACT:CHARA:CHILDNUM == "入浴" && !BATHROOM(CFLAG:CHARA:현재위치)
		CHILD_ACT:CHARA:CHILDNUM =
	ELSE
		;行動
		SELECTCASE LOCAL
		CASE IS < 20
			CHILD_ACT:CHARA:CHILDNUM = 玩具
		CASE IS < 40
			CHILD_ACT:CHARA:CHILDNUM = お絵かき
		ENDSELECT
	ENDIF
	;起床、睡眠は自室で描写する,行動移行したときだけキャラ依存でも描写する
	IF GROUPMATCH(CHILD_ACT:CHARA:CHILDNUM, "起床", "睡眠")
		SIF 自室自宅判定(CFLAG:MASTER:현재위치, CHARA)
			RESULT = 1
		SIF CFLAG:MASTER:현재위치 == CFLAG:CHARA:현재위치 && CHILD_ACT:CHARA:CHILDNUM != LOCALS
			RESULT = 1
	;入浴はキャラ依存で描写する
	ELSEIF GROUPMATCH(CHILD_ACT:CHARA:CHILDNUM, "入浴")
		SIF CFLAG:MASTER:현재위치 == CFLAG:CHARA:현재위치
			RESULT = 1
	;それ以外はキャラ依存とキャラ自室で描写する,場合によってはワープするのは仕様
	ELSE
		SIF CFLAG:MASTER:현재위치 == CFLAG:CHARA:현재위치
			RESULT = 1
		SIF 自室自宅判定(CFLAG:MASTER:현재위치, CHARA)
			RESULT = 1
	ENDIF
;자립전（90日～119日）
ELSE
	;就寝（自立日を除く）
	IF 아이의수면시간(CHARA) && CFLAG:CHARA:출산경과일 != CHILD_自立
		CHILD_ACT:CHARA:CHILDNUM = 睡眠
	;起床
	ELSEIF CHILD_ACT:CHARA:CHILDNUM == "睡眠" && !아이의수면시간(CHARA)
		CHILD_ACT:CHARA:CHILDNUM = 起床
	;식사中
	ELSEIF CHILD_ACT:CHARA:CHILDNUM == "식사"
		;満たされたら終了
		SIF TCVAR:CHARA:아이공복도 <= 0
			CHILD_ACT:CHARA:CHILDNUM =
		;30分で満たされる計算
		TCVAR:CHARA:아이공복도 -= 経過時間 * 12
	;식사,キャラ同室中は식사系コマンド実行時も発生
	ELSEIF TCVAR:CHARA:아이공복도 >= 360 || (CFLAG:MASTER:현재위치 == CFLAG:CHARA:현재위치 && GROUPMATCH(SELECTCOM, 414, 415, 610, 615, 617))
		CHILD_ACT:CHARA:CHILDNUM = 식사
	;玩具終了
	ELSEIF CHILD_ACT:CHARA:CHILDNUM == "玩具"
		SIF LOCAL % 3 == 0
			CHILD_ACT:CHARA:CHILDNUM =
	;行動の終了（ある程度継続する）
	ELSEIF GROUPMATCH(CHILD_ACT:CHARA:CHILDNUM, "遊ぶ", "勉強", "読書", "料理", "絵描き", "歌唱", "掃除")
		SIF LOCAL % 8 == 0
			CHILD_ACT:CHARA:CHILDNUM =
	;起床後はすぐ別行動に移る（他の行動がなければ）
	ELSEIF CHILD_ACT:CHARA:CHILDNUM == "起床"
		CHILD_ACT:CHARA:CHILDNUM =
	ELSE
		;行動
		SELECTCASE LOCAL
		CASE IS < 6
			CHILD_ACT:CHARA:CHILDNUM = 遊び
		CASE IS < 12
			CHILD_ACT:CHARA:CHILDNUM = 勉強
		CASE IS < 14
			CHILD_ACT:CHARA:CHILDNUM = 読書
		CASE IS < 16
			CHILD_ACT:CHARA:CHILDNUM = 料理
		CASE IS < 18
			CHILD_ACT:CHARA:CHILDNUM = 絵描き
		CASE IS < 20
			CHILD_ACT:CHARA:CHILDNUM = 歌唱
		CASE IS < 22
			CHILD_ACT:CHARA:CHILDNUM = 掃除
		CASE IS < 24
			CHILD_ACT:CHARA:CHILDNUM = 玩具
		ENDSELECT
	ENDIF
	;起床、睡眠は自室で描写する,行動移行したときだけキャラ依存でも描写する
	IF GROUPMATCH(CHILD_ACT:CHARA:CHILDNUM, "起床", "睡眠")
		SIF 自室自宅判定(CFLAG:MASTER:현재위치, CHARA, 1)
			RESULT = 1
		SIF CFLAG:MASTER:현재위치 == CFLAG:CHARA:현재위치 && CHILD_ACT:CHARA:CHILDNUM != LOCALS
			RESULT = 1
	;玩具、絵かき、掃除、勉強はキャラ自室のみ描写する
	ELSEIF GROUPMATCH(CHILD_ACT:CHARA:CHILDNUM, "玩具", "絵描き", "掃除", "勉強")
		SIF 自室自宅判定(CFLAG:MASTER:현재위치, CHARA, 1)
			RESULT = 1
	;遊びと歌唱は訓練できる場所
	ELSEIF GROUPMATCH(CHILD_ACT:CHARA:CHILDNUM, "遊び", "歌唱")
		SIF 전투훈련가능(CFLAG:MASTER:현재위치)
			RESULT = 1
	;読書は読書できる場所かキャラ自室
	ELSEIF CHILD_ACT:CHARA:CHILDNUM == "読書"
	    IF 自室自宅判定(CFLAG:MASTER:현재위치, CHARA, 1)
			RESULT = 1
		ELSEIF IS_LIBRARY(CFLAG:MASTER:현재위치, 1)
			IF CFLAG:CHARA:신사거주 && AT_HOME(MASTER)
				RESULT = 1
			ELSEIF CFLAG:MASTER:현재위치 / 100 == CFLAG:CHARA:자택위치 / 100
				RESULT = 1
			ENDIF
		ENDIF
	;料理は料理できる場所
	ELSEIF CHILD_ACT:CHARA:CHILDNUM == "料理"
		IF KITCHEN(CFLAG:MASTER:현재위치)
			IF CFLAG:CHARA:신사거주 && AT_HOME(MASTER)
				RESULT = 1
			ELSEIF CFLAG:MASTER:현재위치 / 100 == CFLAG:CHARA:자택위치 / 100
				RESULT = 1
			ENDIF
		ENDIF
	;それ以外はキャラ依存とキャラ自室で描写する
	ELSE
		SIF CFLAG:MASTER:현재위치 == CFLAG:CHARA:현재위치
			RESULT = 1
		SIF 自室自宅判定(CFLAG:MASTER:현재위치, CHARA, 1)
			RESULT = 1
	ENDIF
ENDIF

;식사以外ならお腹が減る
SIF CHILD_ACT:CHARA:CHILDNUM != "식사"
	TCVAR:CHARA:아이공복도 += 経過時間
IF CFLAG:CHARA:출산경과일 < CHILD_어휘
	TCVAR:CHARA:아이공복도 = MIN(TCVAR:CHARA:아이공복도, 180)
ELSE
	TCVAR:CHARA:아이공복도 = MIN(TCVAR:CHARA:아이공복도, 480)
ENDIF

TIMESTAMP = 1440 * DAY + TIME
TIMESTAMP_DAY = DAY
;시간정지中は描写しない
SIF FLAG:시간정지
	RESULT = 0
;우후후中は描写しない
SIF CFLAG:MASTER:우후후
	RESULT = 0
;この時点でRESULT=1なら情景描写はする
SIF RESULT
	TFLAG:묘사중인아이 = CHARA
;行動が継続していたら移行描写はしない
SIF CHILD_ACT:CHARA:CHILDNUM == LOCALS
	RESULT = 0

RETURN RESULT

;-------------------------------------------------
;子供の描写を判定する際の自室と自宅の判定
;ARG    判定地点（主に현재위치）
;ARG:1  拠点内のデフォルト초기위치を含めるなら1（자립전）
;RETURN 描写するなら1
;-------------------------------------------------
@自室自宅判定(ARG, CHARA, ARG:1)
#FUNCTION
#DIM CHARA
;拠点キャラの場合は自室
IF CFLAG:CHARA:신사거주
	SIF ARG == CFLAG:CHARA:초기위치
		RETURNF 1
;外のキャラの場合は自宅前とお招き部屋,
ELSE
	SIF ARG == CFLAG:CHARA:자택위치
		RETURNF 1
	SIF ARG == OMANEKIBEYA() && TARGET == CHARA
		RETURNF 1
	SIF ARG:1 && ARG == Default초기위치
		RETURNF 1
ENDIF
RETURNF 0

;-------------------------------------------------
;自立後の子供の行動を判定する関数
;RETURN 描写するなら1
;-------------------------------------------------
@CHILD_MOVEMENT_2(CHARA)
#DIM CHARA
#DIM CHILDNUM
#DIM 묘사수
VARSET RESULT
묘사수 = MIN(10, CFLAG:CHARA:아이인원수 - CFLAG:CHARA:육아인원수) + 1
FOR LOCAL, 1,  묘사수
	CHILDNUM = LOCAL
	SIF CHILDNAME:CHARA:CHILDNUM == ""
		BREAK
	;親の睡眠時間を受け継ぐ
	IF !BETWEENTIME(CFLAG:CHARA:기상시간, CFLAG:CHARA:취침시간)
		CHILD_ACT:CHARA:CHILDNUM = 睡眠
	;8割は表示されない,例外的に末番一致でスキップする（自立先が被った場合の特別処置）
	ELSEIF FLAG:일일이벤트 < 800 && FLAG:일일이벤트 % 10 != CHARA % 10
		CHILD_ACT:CHARA:CHILDNUM =
	;土日祝日はオフ
	ELSEIF YOUBI_MATCH(DAY, "토일") || FESTIVAL() != ""
		CHILD_ACT:CHARA:CHILDNUM = 散歩
	;活動中は仕事（親の活動時間を受け継ぐ）
	ELSEIF BETWEENTIME(CFLAG:CHARA:내방시간, CFLAG:CHARA:귀가시간)
		CHILD_ACT:CHARA:CHILDNUM = 仕事
	;それ以外はフリー
	ELSE
		CHILD_ACT:CHARA:CHILDNUM = 散歩
	ENDIF
	;睡眠,その他は表示されない
	IF GROUPMATCH(CHILD_ACT:CHARA:CHILDNUM, "", "睡眠")
		RESULT = 0
	;それ以外は自立先に居れば表示される,ただし現地エリアに引っ越していると表示されない
	ELSEIF CHILD_AREA:CHARA:CHILDNUM / 100 != MAIN_MAP
		SIF CFLAG:MASTER:현재위치 == CHILD_AREA:CHARA:CHILDNUM
			RESULT = 1
	ENDIF

	;시간정지中は描写しない
	SIF FLAG:시간정지
		RESULT = 0
	;우후후中は描写しない（念の為）
	SIF CFLAG:MASTER:우후후
		RESULT = 0
	;この時点でRESULT=1なら描写する,自立後用の処理
	SIF RESULT
		TFLAG:묘사중인아이 = CHILDNUM * 1000 + CHARA
NEXT
RETURN RESULT


code:
@ESTRUS_CYCLE(ARG)
#FUNCTION
SELECTCASE CFLAG:(ARG:0):900
	;안전한 날
	CASE 1 TO 2
		LOCAL = 15
	CASE 3 TO 4
		LOCAL = 30
	CASE 5
		LOCAL = 50
	CASE 6
		LOCAL = 70
	;위험일
	CASE 7
		LOCAL = 150
	CASE 8
		LOCAL = 100
	CASE 9
		LOCAL = 60
	CASE 10
		LOCAL = 40
ENDSELECT
RETURNF LOCAL

@REAL_ESTRUS_CYCLE(ARG)
#FUNCTION
	LOCAL = ESTRUS_CYCLE(ARG)
	SIF TCVAR:ARG:강제배란
		LOCAL = MAX(LOCAL, LOCAL / 5 + 100)
RETURNF LOCAL

;생리주기 문자 F함수
;다음날등의 상태를 참조할 수 있다
@ESTRUS_CATEGORY(C_ID, ADD_DAY)
#FUNCTIONS
#DIM C_ID     ;등록 번호
#DIM ADD_DAY  ;며칠 후를 참조하는지, 0이라면 오늘
#DIM CHECK_DAY;실제로 참조되는 날의 주기
SIF ADD_DAY < 0
	ADD_DAY = -(ABS(ADD_DAY) % 10)
CHECK_DAY = (CFLAG:C_ID:생리주기 + ADD_DAY + 10) % 10
SIF !CHECK_DAY
	CHECK_DAY = 10
SIF TCVAR:C_ID:강제배란
	RETURNF "배란유발제 효과 발휘중"
SELECTCASE CHECK_DAY
;안전한 날
CASE 1 TO 2
	RETURNF "안전한 날"
CASE 6
	RETURNF "위험일 전날"
;위험일
CASE 7
	RETURNF "위험일"
CASE 8
	RETURNF "배란"
ENDSELECT

;생리주기 표시 함수
;비슷한의가 몇도 있었으므로 전부 여기서 처리해버린다
@NEW_CYCLE_PRINT(C_ID, ADD_DAY, OP)
#DIM  C_ID    ;등록 번호
#DIM  ADD_DAY ;며칠 후를 참조하는지, 0이라면 오늘
#DIMS OP      ;옵션, 현재 「등폭」마셔
#DIMS 표시문  ;표시되는 내용
VARSET 표시문
IF TALENT:C_ID:임신
	SETCOLOR C_PINK
	표시문 '= CLIP_HEART("임신")
ELSEIF CFLAG:C_ID:임신경과일수
	SETCOLOR C_PINK
	표시문 '= CLIP_HEART("착상제")
ELSEIF !ADD_DAY && TCVAR:C_ID:발정
	SETCOLOR C_PINK
	표시문 '= CLIP_HEART("발정중")
ELSE
	표시문 '= ESTRUS_CATEGORY(C_ID, ADD_DAY)
	SIF !STRLENS(표시문)
		RETURN
	SELECTCASE 표시문
	CASE "위험일"
		SETCOLOR C_PINK
		표시문 '= CLIP_HEART(표시문)
	CASE "배란", "위험일 전날", "배란유발제 효과 발휘중"
		SETCOLOR 0xEE60EE
	CASE "안전한 날"
		SETCOLOR C_AQUA
	ENDSELECT
ENDIF
IF STRCOUNT(OP, "「등폭」")
	PRINTFORM %표시문, 10, LEFT%
ELSE
	PRINTFORM %표시문%
ENDIF
RESETCOLOR

@CYCLE_PRINT(ARG)
CALL NEW_CYCLE_PRINT(ARG)
RETURN

VARSET LOCAL
IF TALENT:ARG:임신
	SETCOLOR C_PINK
	CALL HEART
	PRINTFORM 임신{CFLAG:ARG:임신경과일수}일째
	CALL HEART
ELSEIF CFLAG:ARG:임신경과일수
	SETCOLOR C_PINK
	CALL HEART
	PRINTFORM 착상제
	CALL HEART
ELSEIF ESTRUS_CYCLE(ARG) == 150
	SETCOLOR C_PINK
	CALL HEART
	IF TCVAR:ARG:발정
		PRINTFORM 발정중
	ELSE
		PRINTFORM 위험일
	ENDIF
	CALL HEART
ELSEIF ESTRUS_CYCLE(ARG) == 100
	SETCOLOR 0xEE60EE
	PRINTFORM 배란
ELSEIF ESTRUS_CYCLE(ARG) == 70
	SETCOLOR 0xEE60EE
	PRINTFORM 위험일 전날
ELSEIF ESTRUS_CYCLE(ARG) == 15
	SETCOLOR C_AQUA
	PRINTFORM 안전한 날
ENDIF
RESETCOLOR

@CYCLE_PRINT다음날(ARG)
CALL NEW_CYCLE_PRINT(ARG, 1)
RETURN

VARSET LOCAL
IF TALENT:ARG:임신
	SETCOLOR C_PINK
	CALL HEART
	PRINTFORM 임신
	CALL HEART
ELSEIF CFLAG:ARG:임신경과일수
	SETCOLOR C_PINK
	CALL HEART
	PRINTFORM 착상제
	CALL HEART
ELSEIF CFLAG:ARG:900 == 6
	SETCOLOR C_PINK
	CALL HEART
	IF TCVAR:ARG:발정
		PRINTFORM 발정중
	ELSE
		PRINTFORM 위험일
	ENDIF
	CALL HEART
ELSEIF CFLAG:ARG:900 == 7
	SETCOLOR 0xEE60EE
	PRINTFORM 배란
ELSEIF CFLAG:ARG:900 == 5
	SETCOLOR 0xEE60EE
	PRINTFORM 위험일 전날
ELSEIF CFLAG:ARG:900 == 10 || CFLAG:ARG:900 == 1
	SETCOLOR C_AQUA
	PRINTFORM 안전한 날
ENDIF
RESETCOLOR

;@CYCLE_PRINT다음날()을 표시 무너지고 하지 않게
;텍스트를 같은 폭으로 출력하도록(듯이) 한 것
@PRINT_CYCLE_다음날(캐릭터등록번호)
#DIM 캐릭터등록번호
#DIMS 표시문
CALL NEW_CYCLE_PRINT(캐릭터등록번호, 1, "「등폭」")
RETURN

표시문 =
IF TALENT:캐릭터등록번호:임신
	SETCOLOR C_PINK
	표시문 = %CLIP_HEART("임신")%
ELSE
	SELECTCASE CFLAG:캐릭터등록번호:생리주기
	CASE 6
		SETCOLOR C_PINK
		IF TCVAR:캐릭터등록번호:발정
			표시문 = %CLIP_HEART("발정중")%
		ELSE
			표시문 = %CLIP_HEART("위험일")%
		ENDIF
	CASE 7
		SETCOLOR 0xEE60EE
		표시문 = 배란
	CASE 5
		SETCOLOR 0xEE60EE
		표시문 = 위험일 전날
	CASE 10, 1
		SETCOLOR C_AQUA
		표시문 = 안전한 날
	ENDSELECT
ENDIF
PRINTFORM %표시문, 10, LEFT%
RESETCOLOR

repo_name: DNS/eraTWKR

license: mit


code:
@HININSHITE(ARG)

IF ESTRUS_CYCLE(ARG) == 150
	LOCALS = 위험일이
ELSEIF ESTRUS_CYCLE(ARG) != 15
	LOCALS = 안전한 날이 아니
ENDIF

PRINTFORML %ARG는% 오늘이 %LOCALS%므로 제대로 피임해 달라고 말했다…
CALL KOJO_MESSAGE_SEND("EVENT",18,TARGET,1,0)
{
	CALL ASK_M("포기한다",1,@"콘돔을 착용한다(나머지 {ITEM:45}장)",ITEM:45,@"피임약을 건네준다(나머지 {ITEM:49}정)",ITEM:49,
	"생으로 하게 해주세요 부탁 드려요", !TCVAR:간절히원함, "아니 임신만은 꼭 시켜 주겠다", (TEQUIP:TARGET:밧줄 || TEQUIP:TARGET:구속 || CFLAG:TARGET:패배자))
}
IF RESULT == 1
	ITEM:45 -= 1
	PRINTL 콘돔을 착용했다
	TEQUIP:MASTER:콘돔 = 1
ELSEIF RESULT == 2
	ITEM:49 -= 1
	TCVAR:ARG:피임약 = 1
	PRINTFORML %CALLNAME:ARG%에게 피임약을 먹였다
ELSEIF RESULT == 3
	TCVAR:ARG:간절히원함 = 1
	CALL OGAMITAOSHI(ARG)
	SIF RESULT == -1
		RETURN -1
ELSEIF RESULT == 4
	TCVAR:ARG:억지로 = 1
ELSE
	PRINTFORML 유감스럽지만 포기하자
	RESULT = -1
	RETURN -1
ENDIF

@피임요구(ARG)
SIF CFLAG:ARG:생해금  == 2
	RETURN
SIF !임신가부(ARG)
	RETURN
SIF !HAS_PENIS(MASTER)
	RETURN
SIF TALENT:ARG:무지
	RETURN
SIF TFLAG:16
	RETURN
SIF TCVAR:ARG:억지로
	RETURN
SIF !SHIRAHU(ARG)
	RETURN
SIF TCVAR:ARG:삽입거절
	RETURN -1
;안전일
SIF ESTRUS_CYCLE(ARG) == 15
	RETURN
IF !CFLAG:ARG:생해금
	CALL HININSHITE(ARG)
ELSEIF ESTRUS_CYCLE(ARG) == 150
	CALL HININSHITE(ARG)
ENDIF
SIF RESULT == -1
	RETURN -1

@임신가부(ARG)
#FUNCTION
SIF TEQUIP:PLAYER:콘돔 || TCVAR:ARG:피임약
	RETURNF 0
SIF TALENT:ARG:유치 && !TALENT:ARG:초경
	RETURNF 0
SIF ((CHECK_CHARA(ARG, "유령") || CHECK_CHARA(ARG, "인형") || CHECK_CHARA(ARG, "봉래인")) && !CFLAG:ARG:육아인원수) || TALENT:ARG:임신
	RETURNF 0
RETURNF 1

@AUTO_CONTRACEPTION(ARG)
IF CFLAG:ARG:임신경과일수 <= 16 && TALENT:ARG:임신
	PRINTFORMW 안정기까지는 그만두자
	RETURN -1
ENDIF
IF CFLAG:ARG:임신경과일수 > 36 && TALENT:ARG:임신
	PRINTFORMW 아기가 걱정되니 그만두자
	RETURN -1
ENDIF
SIF !TALENT:ARG:육아중
	RETURN
SIF !HAS_PENIS(MASTER)
	RETURN
SIF TEQUIP:PLAYER:콘돔 || TCVAR:ARG:피임약
	RETURN
SIF CFLAG:ARG:출산경과일 >= CHILD_취학
	RETURN
PRINTFORML 육아중인 %CALLNAME:ARG%의 부담을 늘리면 안되니 피임하자
CALL ASK_M("콘돔을 착용한다",ITEM:콘돔,"피임약을 먹인다",ITEM:피임약,"포기한다",1)
SELECTCASE RESULT
	CASE 0
		ITEM:콘돔 --
		TEQUIP:PLAYER:콘돔 = 1
		PRINTL 콘돔을 착용했다
		RETURN 1
	CASE 1
		ITEM:피임약 --
		TCVAR:ARG:피임약 = 1
		PRINTFORML %CALLNAME:ARG%에게 피임약을 먹였다
		RETURN 1
	CASE 2
		PRINTFORML 유감스럽지만 포기하기로 했다
		RETURN -1
ENDSELECT

@ChkBeforeInsert(ARG)
CALL AUTO_SKIN_EQUIP
IF GROUPMATCH(TALENT:ARG:처녀, 1, -1)
	CALL LOST_VIRGIN_STOP(ARG)
	SIF RESULT == -1
		RETURN -1
ENDIF
CALL AUTO_CONTRACEPTION(ARG)
SIF RESULT == -1
	RETURN -1
CALL 피임요구(ARG)
IF RESULT == -1
	RETURN -1
ENDIF


code:
@CHK_HININ_LOVE(ARG)
#FUNCTION
LOCAL = 0
SIF TALENT:ARG:연인
	LOCAL += 300
;애정경험

LOCAL += EXP:ARG:애정경험 / 2

;호감도
SELECTCASE CFLAG:ARG:호감도
CASE 0 TO 499
	LOCAL -= 100
CASE 500 TO 999
	LOCAL += 30
CASE 1000 TO 2999
	LOCAL += 50
CASEELSE
	LOCAL += CFLAG:ARG:호감도 / 30
ENDSELECT

LOCAL += ABL:ARG:친밀 * 20
LOCAL += ABL:ARG:순종 * 7
LOCAL += ABL:ARG:봉사정신 * 7

RETURNF LOCAL

@CHK_HININ_REASON(ARG,ARGS)
#FUNCTION
#DIM 이성판정치
VARSET LOCAL

LOCAL:3 += GETPALAMLV(PALAM:욕정,15) * (10 + TALENT:ARG:쾌감응답 * 3)
LOCAL:3 += GETPALAMLV(PALAM:공순,15) * (10 - TALENT:ARG:태도 * 3)
LOCAL:3 += GETPALAMLV(PALAM:호의,15) * 10

LOCAL:5 += ABL:ARG:질내사정중독 * 15
LOCAL:5 += ABL:ARG:욕망 * (10 + TALENT:ARG:쾌감응답 * 2)
LOCAL:5 += MARK:ARG:쾌락각인 * 10
LOCAL:5 += MARK:ARG:괘씸각인 * 10
LOCAL:5 += MARK:ARG:고통각인 * 10
LOCAL:5 -= MARK:ARG:반발각인 * 100

이성판정치 = 800 - LOCAL:3 * LOCAL:5 / 300

SIF ESTRUS_CYCLE(ARG) == 150
	이성판정치 += 1000

IF TCVAR:ARG:발정 && TALENT:ARG:동물귀 && CFLAG:ARG:900 == 7
	이성판정치 -= 200
ELSEIF TCVAR:ARG:미약 || IsHeat(ARG)
	이성판정치 -= 50
ENDIF
SIF IsInsenceValid(ARG)
	이성판정치 -= 50

IF TALENT:ARG:츤데레
	IF TALENT:ARG:연모
		이성판정치 = 이성판정치 * 2 / 3
	ELSE
		이성판정치 = 이성판정치 * 3 / 2
	ENDIF
ENDIF

;신뢰도
IF CFLAG:ARG:신뢰도 < 100
	이성판정치 *= 5
ELSEIF CFLAG:ARG:신뢰도 < 300
	이성판정치 *= 5 / 2
ELSEIF CFLAG:ARG:신뢰도 < 500
	이성판정치 *= 5 / 3
ELSEIF CFLAG:ARG:신뢰도 < 1000
	이성판정치 *= 5 / 4
ENDIF

;카운터라면 여기서 소질 처리해 둔다
IF ARGS == "COUNTER"
	SIF TALENT:ARG:저항
		이성판정치 += 300
	IF TALENT:ARG:자존심 == -1
		이성판정치  = 이성판정치 * 9 / 10
	ELSEIF TALENT:ARG:자존심 == 1
		이성판정치 = 이성판정치 * 6 / 5
	ENDIF
	SIF OTOKOGIRAI(ARG)
		이성판정치 = 이성판정치 * 3 / 2
	SIF TALENT:ARG:정조 == 1
		이성판정치 = 이성판정치 * 6 / 5
	SIF TALENT:MASTER:수수께끼의매력
		이성판정치 = 이성판정치 * 9 / 10
	SIF TALENT:ARG:도착적
		이성판정치 = 이성판정치 * 9 / 10
	IF TALENT:ARG:일선을넘지않음
		SELECTCASE EXP:ARG:애정경험
			CASE IS >= 500
				이성판정치 = 이성판정치 / 2
			CASE IS >= 300
				이성판정치 = 이성판정치 * 4 / 3
			CASE IS >= 100
				이성판정치 = 이성판정치 * 3 / 2
			CASEELSE
				이성판정치 *= 2
		ENDSELECT
	ENDIF
	IF TALENT:ARG:츤데레
		IF TALENT:ARG:연모
			이성판정치 = 이성판정치 * 2 / 3
		ELSE
			이성판정치 = 이성판정치 * 3 / 2
		ENDIF
	ENDIF
ENDIF

이성판정치 = MAX(이성판정치,0)
RETURNF 이성판정치

@OGAMITAOSHI(ARG)
#DIM 이성판정치
#DIM 호의판정치
#DIM 호의표시
VARSET LOCAL

PRINTFORMW %CALLNAME:ARG%의 마음 속

호의판정치 = CHK_HININ_LOVE(ARG)
CALL SHOW_LOVEPOWER(호의판정치)

WAIT
이성판정치 = CHK_HININ_REASON(ARG)

CALL SHOW_REASONWALL(이성판정치)
IF TALENT:MASTER:수수께끼의매력
	CALL COLORMESSAGE(@"%ARG는%, %CALLNAME:MASTER%의 수수께끼의 매력에 이성이 흔들리는 것을 느꼈다……",C_PINK,1,1)
	이성판정치 = 이성판정치 * 9 / 10
	CALL SHOW_REASONWALL(이성판정치)
ENDIF
IF TALENT:ARG:자존심 == -1
	이성판정치  = 이성판정치 * 9 / 10
ELSEIF TALENT:ARG:자존심 == 1
	이성판정치 = 이성판정치 * 6 / 5
	CALL COLORMESSAGE(@"자존심이 높은 %ARG는%, 자신을 싸게 파는 짓은 안 하려고 생각하고 있다",C_PINK,1,1)
	CALL SHOW_REASONWALL(이성판정치)
ENDIF
IF TALENT:ARG:정조 == 1
	이성판정치 = 이성판정치 * 6 / 5
	CALL COLORMESSAGE(@"정조 관념이 강한 %ARG는%, 거기까지 허락해도 좋은 걸까 하고 다시 생각했다……",C_PINK,1,1)
	CALL SHOW_REASONWALL(이성판정치)
ENDIF
IF OTOKOGIRAI(ARG)
	이성판정치 = 이성판정치 * 3 / 2
	IF TALENT:ARG:성별기호 == 3
		CALL COLORMESSAGE(@"%ARG는% 다른 사람에 대해 일반적으로 기피 감정을 가지고 있다……",C_PINK,1,1)
	ELSEIF TALENT:ARG:성별기호 == 1
		CALL COLORMESSAGE(@"%ARG는% 남성에 대해 일반적으로 기피 감정을 가지고 있다……",C_PINK,1,1)
	ENDIF
	CALL SHOW_REASONWALL(이성판정치)
ENDIF
IF TALENT:ARG:도착적
	CALL COLORMESSAGE(@"%ARG는%, 흐트러진 관계에 도착적인 매력을 느끼고 있다……",C_PINK,1,1)
	이성판정치 = 이성판정치 * 8 / 10
	CALL SHOW_REASONWALL(이성판정치)
ENDIF
IF TALENT:ARG:일선을넘지않음
	SELECTCASE EXP:ARG:애정경험
		CASE IS >= 500
			CALL COLORMESSAGE(@"%ARG는%, %CALLNAME:MASTER%에게는 이제 모든 것을 허락해주고 싶다……!",C_PINK,1,1)
			이성판정치 = 이성판정치 / 2
		CASE IS >= 300
			CALL COLORMESSAGE(@"%ARG는%, %CALLNAME:MASTER% 상대라고 해도 아직 약간 저항이 있는 것 같다……",C_PINK,1,1)
			이성판정치 = 이성판정치 * 6 / 5
		CASE IS >= 100
			CALL COLORMESSAGE(@"%ARG는%, 친한 상대라도 어느 정도의 거리는 두고 싶다……",C_PINK,1,1)
			이성판정치 = 이성판정치 * 3 / 2
		CASEELSE
			CALL COLORMESSAGE(@"%ARG는%, 다른 사람을 그렇게까지 받아들이고 싶어 하지 않는다……",C_PINK,1,1)
			이성판정치 *= 2
	ENDSELECT
	CALL SHOW_REASONWALL(이성판정치)
ENDIF
IF TALENT:ARG:츤데레
	IF TALENT:ARG:연모
		이성판정치 = 이성판정치 * 2 / 3
		CALL COLORMESSAGE(@"%ARG는% 데레다!",C_PINK,1,1)
	ELSE
		이성판정치 = 이성판정치 * 3 / 2
		CALL COLORMESSAGE(@"%ARG는% 반감을 품고 있다……",C_PINK,1,1)
	ENDIF
	CALL SHOW_REASONWALL(이성판정치)
ENDIF
WAIT
IF CHK_HININ_LOVE(ARG) > 이성판정치
	IF ESTRUS_CYCLE(ARG) != 150
		PRINTFORMW %CALLNAME:MASTER%의 부끄러움도 체면도 없는 간곡한 부탁에, %CALLNAME:ARG%도 결국 허락해 주었다
		CFLAG:ARG:생해금 = 1
		CALL KOJO_MESSAGE_SEND("EVENT",18,TARGET,4,0)
		PRINTW 위험일 이외에는 피임 없이 섹스해도 괜찮게 됐다!
	ELSE
		PRINTFORMW %CALLNAME:ARG%의 아이를 원한다, 라고 하자, %ARG는% 얼굴을 붉히며 고개를 끄덕였다
		CFLAG:ARG:생해금 = 2
		CALL KOJO_MESSAGE_SEND("EVENT",18,TARGET,5,0)
		PRINTFORMW %CALLNAME:ARG%에게서 아이 만들기 합의를 얻었다!
	ENDIF
ELSE
	PRINTFORML	%ARG는% 간곡히 거절했다
	CALL KOJO_MESSAGE_SEND("EVENT",18,TARGET,2,0)
	CALL ASK_YN("상대방의 의사를 존중한다","한 번 더 밀고 나간다")
	IF RESULT == 0
		TCVAR:ARG:삽입거절 = 1
		RETURN -1
	ELSE
	;말솜씨와 상대하기에 따라서는 밀어붙이면 어떻게든 된다
		LOCAL = (4 - TALENT:ARG:응답 - TALENT:ARG:담력 - TALENT:ARG:태도) * (ABL:MASTER:화술기능 + 3 * CFLAG:ARG:퇴짜)
		LOCAL:2 = 이성판정치 * (100 - LOCAL) / 100
		CALL SHOW_REASONWALL(LOCAL:2)
		IF CHK_HININ_LOVE(ARG) > LOCAL:2
			PRINTFORMW %마스터는% 세 치 혀로 어떻게든 %ARG를% 구슬렸다
			IF ESTRUS_CYCLE(ARG) != 150
				CFLAG:ARG:생해금 = 1
				CALL KOJO_MESSAGE_SEND("EVENT",18,TARGET,4,0)
				PRINTW 위험일 이외에는 피임 없이 섹스해도 괜찮게 됐다!
			ELSE
				CFLAG:ARG:생해금 = 2
				CALL KOJO_MESSAGE_SEND("EVENT",18,TARGET,5,0)
				PRINTFORMW %CALLNAME:ARG%에게서 아이 만들기 합의를 얻었다!
			ENDIF
		ELSE
			CALL KOJO_MESSAGE_SEND("EVENT",18,TARGET,3,0)
			PRINTFORMW %CALLNAME:ARG%에게 진심으로 혼났다…
			CFLAG:ARG:퇴짜 += 1
			CALL ENDUFUFU(ARG)
			CALL GET_ANGRY(ARG)
			MARK:ARG:반발각인 = MIN(MARK:ARG:반발각인 + 1, 3)
			TFLAG:106 = 0
			TCVAR:ARG:삽입거절 = 1
			RETURN -1
		ENDIF
	ENDIF
ENDIF

@SHOW_REASONWALL(이성판정치, UNIT = 100)
#DIM 이성판정치
#DIM UNIT

PRINTFORM 이성의 벽 %" " * STRLENS(CALLNAME:MASTER)%:
SETCOLOR 255,255,0
LOCAL = MAX(이성판정치 / UNIT,1)
PRINTFORM %"★" * LOCAL%
RESETCOLOR
SIF 이성판정치 % UNIT > (UNIT / 2)
	PRINTL ★
PRINTW

@SHOW_LOVEPOWER(호의판정치, UNIT = 100, ARGS)
#DIM 호의판정치
#DIM 호의표시
#DIM UNIT
IF ARGS == ""
	PRINTFORM %CALLNAME:MASTER%에게의 호의:
ELSE
	PRINTFORM %ARGS%
ENDIF
호의표시 = MAX(호의판정치 / UNIT,0)
;LOCALS:1 = %GETFONT()%
;SETFONT "Times New Roman"
LOCAL = GETCOLOR()
PRINTFORM %UNICODE(0x2764) * MAX((호의표시 / 10000 -1),0)%
RESETCOLOR
SETCOLOR 255,51,153
SIF 호의표시 >=10000
	PRINTFORM %UNICODE(0x2764) * (9999)%%UNICODE(0x2764)%

PRINTFORM %UNICODE(0x2764) * (호의표시 % 10000)%
SETCOLOR LOCAL

SIF 호의판정치 % UNIT > (UNIT / 2)
	PRINTFORML %UNICODE(0x2764)%
SETFONT LOCALS:1
PRINTW


code:
;하루의 마지막에 불려 가는 함수
@GET_CHILD(ARG)
#DIM 임신필요치
#DIM 중독보정
#DIM 임신정액판정

SELECTCASE ABL:ARG:질내사정중독
	CASE 0 TO 2
		중독보정 = 5
	CASE 3 TO 5
		중독보정 = 4
	CASEELSE
		중독보정 = 2
ENDSELECT

EX:ARG:자궁내정액 += EX:ARG:질내정액 / 중독보정

;1≦出産経過日≦59の場合、子宮内精液リセット処理を追記
SIF (TALENT:ARG:유치 && !TALENT:ARG:초경) || INRANGE(CFLAG:ARG:출산경과일, 1, 59)
	EX:ARG:자궁내정액 = 0

IF !TALENT:MASTER:만능잉태
	IF CHECK_CHARA(ARG, "오니")
		임신필요치 = 10000 - 3000 * TALENT:MASTER:오니잉태 - 1000 * TALENT:MASTER:요괴잉태
		SIF CFLAG:ARG:자식보정 >= 5
			임신필요치 = 임신필요치 * MAX(120 - 4 * CFLAG:ARG:자식보정, 5) / 100
	ELSEIF CHECK_CHARA(ARG, "텐구")
		임신필요치 = 5000 - 2000 * TALENT:MASTER:텐구잉태 - 1000 * TALENT:MASTER:요괴잉태
		SIF CFLAG:ARG:자식보정 >= 5
			임신필요치 = 임신필요치 * MAX(60 - 4 * CFLAG:ARG:자식보정, 5) / 40
	ELSEIF CHECK_CHARA(ARG, "요정")
		임신필요치 = 4000 - 1500 * TALENT:MASTER:요정잉태
		SIF CFLAG:ARG:자식보정 >= 5
			임신필요치 = 임신필요치 * MAX(60 - 4 * CFLAG:ARG:자식보정, 5) / 40
	ELSEIF CHECK_CHARA(ARG, "신령")
		임신필요치 = 20000 - 15000 * TALENT:MASTER:신령잉태
		SIF CFLAG:ARG:자식보정 >= 5
			임신필요치 = 임신필요치 * MAX(100 - 4 * CFLAG:ARG:자식보정, 5) / 100
	ELSEIF CHECK_CHARA(ARG, "츠쿠모가미")
	;기본 필요치는 요정보다 높지만 도구사용경험에 의해 내린다
		임신필요치 = MAX(5000 - EXP:MASTER:도구사용경험 * (1 + TALENT:MASTER:츠쿠모가미잉태), 2000)
		SIF CFLAG:ARG:자식보정 >= 5
			임신필요치 = 임신필요치 * MAX(60 - 4 * CFLAG:ARG:자식보정, 5) / 40
	ELSEIF CHECK_CHARA(ARG, "봉래인")
	;발원함에 의한 영향이 상대적으로 크다
		임신필요치 = 200000
		SIF TALENT:MASTER:봉래잉태
			임신필요치 /= 10
		SIF CFLAG:ARG:자식보정 >= 5
			임신필요치 = 임신필요치 * MAX(50 - 2 * CFLAG:ARG:자식보정, 1) / 100
	ELSEIF CHECK_CHARA(ARG, "신령")
		임신필요치 = 150000
		SIF TALENT:MASTER:신령잉태
			임신필요치 /= 10
		SIF CFLAG:ARG:자식보정 >= 5
			임신필요치 = 임신필요치 * MAX(60 - 2 * CFLAG:ARG:자식보정, 1) / 100
	ELSEIF CHECK_CHARA(ARG, "인형")
		임신필요치 = 150000
		SIF TALENT:MASTER:인형잉태
			임신필요치 /= 10
		SIF CFLAG:ARG:자식보정 >= 5
			임신필요치 = 임신필요치 * MAX(60 - 2 * CFLAG:ARG:자식보정, 1) / 100
	ELSEIF CHECK_CHARA(ARG, "요괴")
		임신필요치 = MAX(3000 - CFLAG:ARG:자식보정 * 10 - 1000 * TALENT:MASTER:요괴잉태, 500)
	ELSEIF CHECK_CHARA(ARG, "선인") || CHECK_CHARA(ARG, "천인") || CHECK_CHARA(ARG, "월인") || CHECK_CHARA(ARG, "마계인")
		임신필요치 = MAX(2400 - CFLAG:ARG:자식보정 * 10, 500)
	;이외의 인간
	ELSE
		임신필요치 = MAX(2000 - CFLAG:ARG:자식보정 * 10, 500)
	ENDIF
	SIF CHECK_CHARA(ARG, "요정")
		임신필요치 = (임신필요치 + MAX(2000 - CFLAG:ARG:자식보정 * 10, 500)) / 2
ELSE
	임신필요치 = MAX(2000 - CFLAG:ARG:자식보정 * 12, 100)
ENDIF
SIF TCVAR:ARG:축복
	임신필요치 = 임신필요치 * 95 / 100
SIF FLAG:포부 == 6
	임신필요치 = 임신필요치 / 2
SIF FLAG:포부 == 9
	임신필요치 = 임신필요치 * 9 / 10
SIF TALENT:ARG:인간
	임신필요치 /= 2
SIF TALENT:ARG:스침
	임신필요치 /= 4
SIF TALENT:MASTER:농후정액
	임신필요치 /= 4
SIF TALENT:ARG:임신소망
	임신필요치 = 임신필요치 * 8 / 10

IF 충전율(ARG,4) > 20
	DRAWLINE
	SETCOLOR C_CREAM
	PRINTFORML %CALLNAME:ARG%의 자궁안은 부어 넣어진 %CALLNAME:MASTER%의 정으로 가득 차 있다…
	IF !FLAG:화상표시
		SETFONT "MS PGothic"
		PRINTL 　　　　　　　　　　　}　}　　　　　　　　　　　　 　 　 （
		PRINTL ヽ.__　　　　　　　　　',　',　_　　　　　　　　　　　　　　）　　　　　　　　　　　　　　 　 　 　 　 　 , --､
		PRINTL 　(　｀ヽ　　　　　　　 ヽ ﾉ　 ヽ　　　　　　　　　　　　0　　　　　　　　　　　　　　　　　　＿__ ノノ⌒＼
		PRINTL 　　ー '　　　　　　　　　乂 ＿}　　　　　　　　　　 　 ...........　　　　　　 /⌒´　　/ ￣ ｀ヾ⌒ ´
		PRINTL 　　　　　　　｀⌒ヽ.. ＿　　　　　 　 ⌒).　　　　　,..::::::::::::::::.:..　　 (__メ　　　　　乂＿__ノ
		PRINTL 　　　　　　　　　　 乂＿） 　 　　　　　ー(__)　　.j::::'´　 ｀ ::::〔
		PRINTL 　　　　　⌒ー（⌒）　　　　　　　　　　　　- ､ 　 〕::::.　　 ..:::::{　　　　　　　　　 -― - ､
		PRINTL 　　　　　　　　　　　---　､ 　 　　　　　乂_ノ　　ﾍ::::.::::::.::::::ﾒ　　　　　　　 （　　　　　　｀￣ ｀ヽ
		PRINTL 　　　　　　　　　 /　　　 　 ＼ 　　ー ´　-､_○　　｀~~~~~´　, -- ､　　　　　　ー　⌒´￣￣）　}
		PRINTL 　　＿　　　　　 人　　　　　　 ',　　　　/　　　　　　　　　　　乂__ノ⌒ヽ　　　　　　　　　　 （　（
		PRINTL ´　　　　 ＼　　{　 }　　　　　　 }　　　　　　　　　　 0　　　　　　　　　　 ー　　 ＿　　　　　　 ー―
		PRINTL 　　 -- ､　　｀￣ ´ ヽ　　＿ ..ノ　　　　　　　　　　 (　　　　　　　　　　　　　 （　　　｀ヽ
		PRINTL ／　　　 ＼ _＿　イ｀¨¨´　--､　　　--､　　　　　　′　　　　　　　　　　　　　＼　＿ メ
		PRINTL 　 　　（⌒）　　　　　　__/ 　　　ー乂__ノ　 _　　　　　　(⌒ ）　　---　､　　　　　　　　　 ＼
		PRINTL ー'⌒´　　　　　　　　　　　　　　　　　　　（__）　　　　　 ⌒ヽ /　　　　　＼　　　　　　　　　 ー ⌒
		PRINTL 　　　　　　　　　　　　　　　　＿　　　　　 ノ　　　-､　　　　　.′　　　　　　＼
		PRINTL 　　　　　　　　　　　　　 ／　　　 ヽ　　.〃　　 （__ノ　　　　　　　　　　　　　　 ､
		PRINTL 　　　　　　　　　　　　 /　　　　　　}　　{{　　　（　　　　　　　i
		PRINTL 　　　　　　　　　　　　.{　　　　　　ﾉ　　 j　　　　）　　　--､　{　　　　　　　　　　 ',
		PRINTL 　　　-――　､　　　ノ 乂 　　 ／　　 /　　　　　　　 {　　 }　',　　　　　　　 　 　 }
		PRINTL ／　　――　､ ｀￣　 ）-- ⌒´　　　　　　　　　　　　 乂__ !.　ヽ　　　　　　　　　 ,
		PRINTL 　 ／　　　　　 ｀￣￣　　　　　　　　　　　　　　　　　　　　}}　　 ＼　　　　　　　/
		PRINTW ／　　　　　　　　　　　　　　　　　　　　　　　　 　 　 　 　 {{　　　　　ー―　､　 {
	ELSE
		CALL PRINT_IMAGE_ANIMATION("受精",0,7,FLAG:애니메이션,1)
		CALL PRINT_IMAGE_ANIMATION("受精",0,3,1,0)
		CALL PRINT_IMAGE("受精2")
		WAIT
	ENDIF
ENDIF
SETFONT
IF MIN(충전율(ARG,4),100) * REAL_ESTRUS_CYCLE(ARG) / 100 > RAND:임신필요치
	DRAWLINE
	CFLAG:ARG:임신경과일수 = 1
	SIF FLAG:포부 == 6
		FLAG:포부 = 9
	IF FLAG:1007
		SETCOLOR C_CREAM
		PRINTFORML 당신의 정자는 자신의 것인양 %CALLNAME:ARG%의 자궁을 헤엄쳐 돌아, 무방비인 난자로 쇄도해 갔다…
		IF !FLAG:화상표시
			SETFONT "MS PGothic"
			PRINTL 　　　　　　　　　　　　　　　　..__＿....-------....＿..
			PRINTL 　　　　　　　　　　　　 .._..-‐'"⌒　　　　　　　　 ｀"'''ゝ､_..
			PRINTL 　　　　　　　　　　_..‐''´　　　　　　　　　　　　　　　　　"ｰ 、..
			PRINTL 　　　　　　　　 .:ノ'´　　. .　. 　 .　 . . .. .: . .　.　 ..　　　 　 　 `＼:.
			PRINTL 　　　　　　　.:ノ′ 　 .　 . .: .:.: .:. .: . .: .: .:. . : .: .:.. : . .　. 　 　 　 ﾞゝ:.　　こ二ﾆ==-‐'´￣｀ヽ、_,
			PRINTL 　　　　　 .:_／ 　 . ..:..:.:.::;:;;';:;';';.:　'"´　　　　'　　;.:.. : .　.　　　　 　 ＼:.
			PRINTL 　　　　　.:/′ 　 .. ..:.:.:;:;';;';'.''´　　　　　 　 　 　 　 　 ;.:. . .　　 　 　 ヽ、:.
			PRINTL 　　　　.:丿　.　.　. ..:.::;';':''　　　　　　　　　 　 　 　 　 　 :.:. : .　　　 　 ヽ::
			PRINTL 　　　 .:丿　　　..　. ..::;'′　　　　　　　 　 　 　 　 　 　 　 ,:.:.. . .　 　 　 '、::
			PRINTL 　　　 ::「　　　　.. . .:.;'　　　　　　　　　　　　　　　　　 　 　 :.:.　 . 　 　 .　i、::　　　こ二ﾆ==-‐'⌒丶、＿ノ
			PRINTL 　　　::||　　　　. . ..:.;　　　　　　　　 　 　 　 　 　 　 　 　 　 ;.: . . .　　 ,::　!::
			PRINTL 　　　::〕 　 　 　 . ..:;　　　　　　　　　　　　　　　　　　　　 　 :.:. . .　:';';にﾆ==-‐'´￣｀ヽ、_,
			PRINTL 　　　::|!　　　　　..:.:;　　　　　　　　　　　　　　　　　　　　 　 ;.: :.　　 　｀: .!'::　　　　　　　　"
			PRINTL 　　　::卜　　　　.. .:.:,　　　　　　　　　　　　　　　　　　　　　.:.:. . .. . 　 　 |::′　[][]/7
			PRINTL 　　　 ::'、　　　 　 . .::,　　　　　　　　　　　　 　 　 　 　 　 ,:.: . .　　　　 │:: 　 　 //lニ◎
			PRINTL 　　　 ::弋 　 　 　 .. . :.,　　　　　　　　　　　　　　　　 　 ,.:.: : .　　　 　 丿::　　　　　　// ﾟﾟ〃
			PRINTL 　　　　 ::ヽ　　 　 　 . . .:...　　　 　 　 　 　 　 　 　 　 ,..: .: . ..　 　 　 _j′　　　　　　　　　´　ﾟ　｡
			PRINTL 　　　　　':ヽ、　　　　　.　.: :': . ..　　 　 　 　 　 　 ,. .:.: . :　.. 　 　 　 /′　　　　　　　　　 　 　 　 °
			PRINTL 　　　　　　':ヽ、　　 　 　 ..　. : .: ' : . ...,. .,... . : ' :. : .　.　　　 　 　 _／:'
			PRINTL 　　　　　　　 ':ヾ 、　　　　　　 ..　:　. .: . . : .　:　.　　　　　　　 _／:'　　　　こ二ﾆ==-‐'⌒丶、＿ノ
			PRINTL 　　　　　　　　　':ﾞゝ､　　　　　　　　　 .　 .　　　　　　　　　_ノ'´:'
			PRINTL 　　　　　　　　　　　':ﾞﾞ'ゝ､_ 　　　　　　　　　　　　　　_..-‐'´:'
			PRINTL 　　　　　　　　　　　　　　':ﾞﾞ'''ｰ-....＿＿____＿....-一"´:'
			PRINTW 　　　　　　　　　　　　　　　　　　　　 ''￣｀''
			SETFONT
		ELSE
			CALL PRINT_IMAGE_ANIMATION("受精",0,12,FLAG:애니메이션,0)
			CALL PRINT_IMAGE("受精11")
			WAIT
		ENDIF
		IF TALENT:ARG:연모
			PRINTFORMW %CALLNAME:ARG%의 몸은 사랑하는 %CALLNAME:MASTER%의 유전자를 기뻐하며 받아들이고 있다…
		ELSE
			PRINTFORMW %CALLNAME:ARG%의 몸은 본인의 의사와는 관계없이 %CALLNAME:MASTER%의 유전자를 받아들였다…
		ENDIF
		IF TALENT:ARG:스침
			FONTBOLD
			PRINTFORMW %ARG는% 스친상대인 %CALLNAME:MASTER%에게 임신되어 버렸다……
			FONTREGULAR
			FLAG:스침잉태수 ++
		ENDIF
	ENDIF
	IF TCVAR:(ARG):씨받음자각
		CFLAG:ARG:몸으로기억_어머니 = 1
		;PRINTFORML Succeed2
	ELSE
		CFLAG:ARG:무자각임신 = 1
	ENDIF
ENDIF
RESETCOLOR
;임신에 수반하는 이것저것
@CHANGE_N_STATUS(ARG)

CFLAG:ARG:회복속도다운 = TALENT:ARG:회복속도 + 2
IF TALENT:ARG:회복속도 > -1
	DRAWLINE
	PRINTFORMW %ARG는% 쉽게 지쳤다
	TALENT:ARG:회복속도 = -1
ENDIF

;무자각에의 처리
@PERCIEVE(ARG)
IF CFLAG:ARG:임신경과일수 == 71 / 2 ;KR판 수치조정, 일판 71
	DRAWLINE
	PRINTFORMW %CALLNAME:ARG%의 출산이 가까운 시일내에 되었다.
	PRINTFORMW 격렬한 행위는 피하는 것이 좋을 것 같다…
	;CFLAG:출산휴가타입=-1이외의 업무 정보가 CSV 정의된 캐릭터는 출산 휴가에 들어간다
	IF CFLAG:ARG:출산휴가타입 > -1 && CFLAG:ARG:출산휴가중 == 0 && CSTR:ARG:3 != ""
		PRINTFORMW 모체에 위험이 나올 가능성이 있기 때문이라고, %ARG를% 출산까지 휴양 시키는 일로 했다…
		CFLAG:ARG:출산휴가중 = 1
	ENDIF
ELSEIF CFLAG:ARG:임신경과일수 == 60 / 2 ;KR판 수치조정, 일판은 60
	DRAWLINE
	IF TALENT:ARG:가슴사이즈 < 2
		TALENT:ARG:가슴사이즈 += 1
		PRINTFORMW %CALLNAME:ARG%의 가슴이 커졌다
		CFLAG:ARG:가슴랭크업 = 1
	ENDIF
	IF !TALENT:ARG:모유체질
		PRINTFORMW %ARG는%  모유가 나오게 되었다
		TALENT:ARG:모유체질 = 1
	ENDIF

	PRINTFORML 이미 %ARG가% 임신하고 있는 것은 멀리서도 분명하다…
	IF !CFLAG:ARG:무자각임신 && CFLAG:ARG:출산휴가타입 == 2
		PRINTFORML %ARG는% 엉뚱한 짓을 하지 않고, 당분간 휴양 하기로 결정했다…
		CFLAG:ARG:출산휴가중 = 1
	ELSEIF CFLAG:ARG:무자각임신
		PRINTFORML %ARG는% 몸에 기억에 없는 임신에 격렬하게 초췌하고 있다…
		IF CFLAG:ARG:출산휴가타입 == 1 || CFLAG:ARG:출산휴가타입 == 0
			PRINTFORMW %ARG는% 자신이 임신한 것을 받아들여 요양하기로 결정했다…
			CFLAG:ARG:출산휴가중 = 1
		ENDIF
		;자신을 속이지 못하고 임신하고 있는 것을 자각하는 시기로 한다
		CFLAG:ARG:임신자각상태 = 1
	ENDIF
	BASE:ARG:체력 -= 200
	MAXBASE:ARG:체력 -= 200
	BASE:ARG:기력 -= 200
	MAXBASE:ARG:기력 -= 200
ELSEIF CFLAG:ARG:임신경과일수 == 40 / 2 ;KR판 수치조정, 일판은 40
	DRAWLINE
	PRINTFORML %CALLNAME:ARG%의 배의 부푼 곳이 뚜렷해졌다…
	IF !CFLAG:ARG:무자각임신 && CFLAG:ARG:출산휴가타입 == 1
		PRINTFORM %ARG는% 몸의 부담을 피하기 위해, 당분간
		IF GROUPMATCH(ARG,96,91,35)
			PRINTFORM 천계에서의 약속
		ELSEIF GROUPMATCH(ARG,134,95,94,76,57,31,22,21,20)
			PRINTFORM %GET_JOBNAME(ARG)%\@ GROUPMATCH(ARG,31,76,134) ? 의 일을 # %조사만처리(GET_JOBNAME(ARG), "를")% \@
 		ELSEIF ARG == 17
			PRINTFORM 인형극을
		ELSE
			PRINTFORM 장사를
		ENDIF
		PRINTFORML 쉬기로 했다…
		CFLAG:ARG:출산휴가중 = 1
	ELSEIF CFLAG:ARG:무자각임신
		PRINTFORML %ARG는%  아직 스스로의 몸의 변화를 받아들여지지 않는 것 같다
	ENDIF
	BASE:ARG:체력 -= 200
	MAXBASE:ARG:체력 -= 200
	BASE:ARG:기력 -= 200
	MAXBASE:ARG:기력 -= 200

ELSEIF CFLAG:ARG:임신경과일수 == 30 / 2 ;KR판 수치조정, 일판 30
	PRINTFORML %CALLNAME:ARG%의 배의 부푼 곳은 아직 눈에 띄지 않는다…
	;PRINTFORMW %CALLNAME:ARG%의 몸은 상당히 안정기에 접어든 것 같다…
	IF !CFLAG:ARG:무자각임신 && GROUPMATCH(ARG,4,10,11,36,43,56,58,65,75,87,129)
		PRINTFORM %ARG는% 몸의 부담을 피하기 위해, 당분간
		IF ARG == 10 || ARG == 11
			PRINTFORM 트레이닝을
		ELSEIF ARG == 87
			PRINTFORM 근행을
		ELSE
			PRINTFORM  %조사처리(GET_JOBNAME(ARG),"를")%
		ENDIF
		PRINTFORML 쉬기로 했다…
		CFLAG:ARG:출산휴가중 = 1
	ELSEIF CFLAG:ARG:무자각임신
		PRINTFORML %ARG는% 다소의 위화감을 느끼고는 있지만, 아직도 임신했다고는 눈치채지 못한 것 같다
	ENDIF
	BASE:ARG:체력 -= 100
	MAXBASE:ARG:체력 -= 100
	BASE:ARG:기력 -= 100
	MAXBASE:ARG:기력 -= 100
ELSEIF CFLAG:ARG:임신경과일수 == 20 / 2 ;KR판 수치조정, 일판은 20
	DRAWLINE
	PRINTFORMW %CALLNAME:ARG%의 모습이 이상하다…
	PRINTFORML %ARG는% 아이를 임신한 같다
	PRINTFORMW %ARG는% [임신] 한 것 같다
	TALENT:ARG:임신 = 1
	IF TALENT:ARG:임신소망
		TALENT:ARG:임신소망 = 0
		PRINTFORMW %ARG는% [임신소망]을 잃었다
	ENDIF
	CALL CHANGE_N_STATUS(ARG)

	;자각으로 분기
	IF CFLAG:ARG:몸으로기억_어머니 == 1 && !CFLAG:ARG:무자각임신
		PRINTFORML %CALLNAME:ARG%의 몸이 불안하게 되어 왔다.
		PRINTFORML 안정기까지 무리한 행위는 피하는 것이 좋을 것 같다…
		IF TALENT:ARG:연모
			PRINTFORMW %ARG는% 수줍어하면서 %CALLNAME:MASTER%의 아이를 내려 주신 것을 보고해 왔다
			CALL KOJO_MESSAGE_SEND("EVENT",24,ARG,1,0)
		ELSEIF TALENT:ARG:사모
			PRINTFORMW %ARG는% 흠칫흠칫%CALLNAME:MASTER%의 아이를 내려 주신 것을 보고해 왔다
			CALL KOJO_MESSAGE_SEND("EVENT",24,ARG,2,0)
			;CFLAG:ARG:임신경과일수 = 2
		ELSE
			PRINTFORMW %ARG는% 곤혹스러운 얼굴로 %CALLNAME:MASTER%의 아이를 내려 주신 것을 보고해 왔다
			CALL KOJO_MESSAGE_SEND("EVENT",24,ARG,3,0)
			;CFLAG:ARG:임신경과일수 = 1
		ENDIF
		;36=오린 을 64=유우기 로 변경. 유우기에게 출산 휴가도 설정
		;SIF ARG == 10 || ARG == 36
		IF ARG == 10 || ARG == 64
			PRINTFORMW 임신한 %ARG는%, 출산할 때까지 음주를 자제하기로 했다…
			SIF ARG == 64
				CFLAG:ARG:출산휴가중 = 1
		ENDIF
		;자각사정이 있으므로 임신하고 있는 것은 곧바로 자각한다
		CFLAG:ARG:임신자각상태 = 1
	ELSE
		PRINTFORMW 그러나 %ARG는% 자신의 몸에 무엇이 일어났는지 눈치채지 못한 것 같다…
		CALL KOJO_MESSAGE_SEND("EVENT",24,ARG,4,0)
	ENDIF
ENDIF

@MasterPregnancy
#DIM C_ID
VARSET LOCAL
;妊娠オフなら飛ばす
SIF !FLAG:임신스위치
	RETURN
;男なら飛ばす
SIF TALENT:MASTER:성별 == 2
	RETURN
;もう妊娠してたら飛ばす
SIF CFLAG:MASTER:임신경과일수
	RETURN
;キャラ順ランダマイズ
CALL FISHER_YATES_SHAFFLE(CHARANUM - 1)

FOR LOCAL , 0 , CHARANUM - 1
	C_ID = SHAFFLE_ARRAY:LOCAL + 1
	SIF !TCVAR:C_ID:씨받이양
		CONTINUE
	SIF TALENT:C_ID:스침
		CONTINUE
	;ここで妊娠判定、つくってないからコメントアウトしとく。
	;TCVAR:種付け自覚があったらCFLAG:身に覚え_父 = 1しておいてね。
	;CALL あなた妊娠判定(C_ID)
	;↑ので妊娠したらループ中断
	SIF CFLAG:MASTER:임신경과일수
		BREAK
NEXT