code:
;FileName_SHOP_CUSTOM.ERB -------------------------- Rev1. 00
;MASTER 생성 처리
;CALL		USER
;ARG		MASTER 캐릭터 NO
;RETURN		VOID
;COMMENT
;-----------------------------------------------------------
@CUSTOM_CHARAMAKE(ARG)
;NO는 적당하게 설정
NO:ARG = 0

;성별(1=여성 2= 남성 3=후타나리)
TALENT:ARG:2 = 1
;MASTER는 초기 성별=남자
SIF ARG == 0
	TALENT:ARG:2 = 2
;기력, 체력
MAXBASE:ARG:0 = 2000
BASE:ARG:0 = MAXBASE:ARG:0
MAXBASE:ARG:1 = 2000
BASE:ARG:1 = MAXBASE:ARG:1

;모드 선택
$INPUT_LOOP
PRINTL ★★모드를 선택해 주세요★★
PRINTL [0]START [1]역극 모드
INPUT
IF RESULT == 0
	FLAG:5 = 0
ELSEIF RESULT == 1
	$LOOP_NARIKIRI
	FOR LOCAL, 1, CHARANUM
		PRINTFORMLC [{LOCAL}] %CALLNAME:LOCAL%
	NEXT
	PRINTL
	DRAWLINE
	PRINTL [900] 그만둔다
	PRINTL 누구로 되겠습니까?
	INPUT
	SELECTCASE RESULT
		CASE 1 TO CHARANUM
			NAME:MASTER = %NAME:RESULT%
			CALLNAME:MASTER = %CALLNAME:RESULT%
			FOR LOCAL, 0,200
				TALENT:MASTER:LOCAL = TALENT:RESULT:LOCAL
			NEXT
			FOR LOCAL, 0,55
				ABL:MASTER:LOCAL = ABL:RESULT:LOCAL
			NEXT
			FOR LOCAL, 0,14
				MAXBASE:MASTER:LOCAL = MAXBASE:RESULT:LOCAL
				BASE:MASTER:LOCAL = MAXBASE:RESULT:LOCAL
			NEXT
			FOR LOCAL, 0,100
				EXP:MASTER:LOCAL = EXP:RESULT:LOCAL
			NEXT
			CFLAG:MASTER:7 = RESULT
			CFLAG:MASTER:초기위치 = CFLAG:RESULT:초기위치
			CFLAG:RESULT:출금 = 1
			FLAG:역극 = RESULT
			PRINTFORMW %CALLNAME:RESULT%로서 게임을 개시합니다
			IF !TALENT:MASTER:처녀
				PRINTL 처녀가 되겠습니까?
				PRINTL [0]네 [1]아니오
				INPUT
				IF RESULT == 0
					TALENT:MASTER:처녀 = 1
					EXP:MASTER:V경험 = 0
					ABL:MASTER:V감각 = 0
					EXP:MASTER:V성교경험 = 0
					EXP:MASTER:V확장경험 = 0
					EXP:MASTER:정음경험 = 0
				ENDIF
			ENDIF
			IF MAXBASE:MASTER:체력 < 2000
				PRINTFORML 이 캐릭터는 체력이 낮은입니다. 2000까지 올립니까?
				CALL ASK_YN("올린다","이대로")
				SIF RESULT == 0
					MAXBASE:MASTER:체력 = 2000
			ENDIF
			IF MAXBASE:MASTER:기력 < 2000
				PRINTFORML 이 캐릭터는 기력이 낮은입니다. 2000까지 올립니까?
				CALL ASK_YN("올린다","이대로")
				SIF RESULT == 0
					MAXBASE:MASTER:기력 = 2000
			ENDIF
			CALL CLOTHES_CUSTOM
			RETURN 0
		CASE 900
			GOTO INPUT_LOOP
		CASEELSE
			GOTO LOOP_NARIKIRI
	ENDSELECT
ELSE
	GOTO INPUT_LOOP
ENDIF

;이름 결정
CALL NAME_CUSTOM(ARG)

;신분 설정
CALL CUSTOM_TERMINAL(ARG)

;FileName_SHOP_CUSTOM.ERB -------------------------- Rev1. 00
;CALL		USER
;ARG		NONE
;RETURN		VOID
;COMMENT
;캐릭터를 추가했을 때에 하나 하나 여기를 만질 필요가 없게
;캐릭터수상한은 ERH 파일로 정의
;-----------------------------------------------------------
@ADD_ALL_CHARACTERS
FOR LOCAL, CHARANUM, 캐릭터수상한
	SIF !EXISTCSV(LOCAL)
		CONTINUE
	ADDCHARA LOCAL
	TARGET = LOCAL
	CALL SET_MINIMUM_EXP_ALL(LOCAL)
	RESULT = 0
	TRYCALLFORM M_KOJO_K{NO:LOCAL}
	SIF RESULT
		CFLAG:LOCAL:대사실장상황 = 1
NEXT
CVARSET BASE, GETNUM(BASE, "술기운"), 0

;FileName_SHOP_CUSTOM.ERB -------------------------- Rev1. 00
;MASTER 신분 설정 처리
;CALL		USER
;ARG		MASTER 캐릭터 NO
;RETURN		VOID
;COMMENT
;-----------------------------------------------------------
@CUSTOM_TERMINAL(ARG)
;배타적 연산
;MASTER가 여자, 후타나리일 때의 배타
IF TALENT:ARG:성별 & 1
	ABL:ARG:호모끼 = 0
	ABL:ARG:게이중독 = 0
	EXP:ARG:게이경험 = 0
	SIF !(TALENT:ARG:2 & 2)
		EXP:ARG:사정경험 = 0
	SIF TALENT:ARG:성별 != 1
		TALENT:ARG:구현 = 0
;MASTER가 남자일 때의 배타
ELSE
	ABL:ARG:V감각 = 0
	ABL:ARG:레즈끼 = 0
	ABL:ARG:레즈중독 = 0
	EXP:ARG:레즈경험 = 0
	EXP:ARG:분유경험 = 0
	EXP:ARG:V경험 = 0
	EXP:ARG:파이즈리경험 = 0
	EXP:ARG:V성교경험 = 0
	EXP:ARG:V확장경험 = 0
	TALENT:ARG:V감도 = 0
	TALENT:ARG:처녀 = 0
	TALENT:ARG:모유체질 = 0
	TALENT:ARG:가슴사이즈 = -2
	TALENT:ARG:걸레 = 0
	TALENT:ARG:초경 = 0
	TALENT:ARG:구현 = 0
ENDIF
;자지 붙으면 정력 세트
IF TALENT:ARG:2 & 2
	MAXBASE:ARG:정력 = 1000
	BASE:ARG:정력 = 1000
	MAXBASE:ARG:발기 = 1500
	;실적 보너스분
	SIF ARG == MASTER && GETBIT(FLAG:702, 8)
		MAXBASE:MASTER:정력 += 100
ELSE
	TALENT:ARG:비동정 = 0
	MAXBASE:ARG:정력 = 0
	BASE:ARG:정력 = 0
ENDIF
;처녀라면 V계 경험 없음
IF TALENT:ARG:처녀 == 1
	ABL:ARG:V감각 = 0
	EXP:ARG:V경험 = 0
	EXP:ARG:V성교경험 = 0
	EXP:ARG:V확장경험 = 0
;비처녀는 V경험 1
ELSEIF TALENT:ARG:2 & 1 && EXP:ARG:V경험 == 0
	EXP:ARG:V경험 = 1
ENDIF

;===========
;화면 표시
;===========
DRAWLINE
PRINTFORML 이름：%NAME:ARG%　통칭：%CALLNAME:ARG%
CALL BASE_BAR(ARG, "체력", 18, "초록", "「개행」")
CALL BASE_BAR(ARG, "기력", 18, "파랑", "「개행」")
;능력·성기술표시
CALL PRINT_STATE_ABL(ARG)
PRINTL
;소질표시
CALL PRINT_STATE_TALENT(ARG)
PRINTL
;경험표시
CALL PRINT_STATE_EXP(ARG)
PRINTL
;------------------------------
DRAWLINE
;최종결정
IF LOCAL:100 == 1000
	DRAWLINE
	PRINTL 정말 이것으로 괜찮겠습니까?
;이름의 설정
ELSEIF LOCAL:100 == 1001
	CALL NAME_CUSTOM(ARG)
	LOCAL:100 = 0
	RESTART
;베이스 설정
ELSEIF LOCAL:100 == 1002
	CALL BASE_CUSTOM(ARG)
;소질 설정
ELSEIF LOCAL:100 == 1003
	CALL TALENT_CUSTOM(ARG, LOCAL:101)
;능력 설정
ELSEIF LOCAL:100 == 1004
	CALL ABL_CUSTOM(ARG)
;경험 설정
ELSEIF LOCAL:100 == 1005
	CALL EXP_CUSTOM(ARG)
ELSEIF LOCAL:100 == 1006
	CALL CLOTHES_CUSTOM
ENDIF
;------------------------------
DRAWLINE
PRINTFORML [1000] - \@(LOCAL:100 == 1000) ?  네 # 결정\@  [1001] - 이름의 변경  [1002] - 체력, 기력의 설정
PRINTL [1003] - 소질의 설정  [1004] - 능력의 설정  [1005] - 경험의 설정
INPUT
;최종결정
IF RESULT == 1000 && LOCAL:100 == 1000
	SIF NO:MASTER == NO:ARG
		CALL CLOTHES_CUSTOM
	RETURN 0
;설정계 입력
ELSEIF RESULT >= 1000
	LOCAL:100 = RESULT
	RESTART
ENDIF

;베이스 설정
IF LOCAL:100 == 1002
	IF RESULT == 0 && MAXBASE:ARG:0 > 1000
		MAXBASE:ARG:0 -= 100
	ELSEIF RESULT == 1 && MAXBASE:ARG:0 < 2500
		MAXBASE:ARG:0 += 100
	ELSEIF RESULT == 2 && MAXBASE:ARG:1 > 1000
		MAXBASE:ARG:1 -= 100
	ELSEIF RESULT == 3 && MAXBASE:ARG:1 < 2500
		MAXBASE:ARG:1 += 100
	ENDIF
	BASE:ARG:0 = MAXBASE:ARG:0
	BASE:ARG:1 = MAXBASE:ARG:1
	RESTART
;소질 설정
ELSEIF LOCAL:100 == 1003
	SIF RESULT < 0 || RESULT > 500 || TALENTNAME:RESULT == ""
		RESTART
	;함락 소질 외 (1에서도 2에서도 안 돼)
	SIF 선택할수없는소질(RESULT, NO:ARG)
		RESTART
	;성별
	IF RESULT == GETNUM(TALENT, "성별")
		IF TALENT:ARG:RESULT == 3
			TALENT:ARG:RESULT = 1
		ELSE
			TALENT:ARG:RESULT ++
		ENDIF
	;성별기호
	ELSEIF RESULT == GETNUM(TALENT, "성별기호")
		IF TALENT:ARG:RESULT == 3
			TALENT:ARG:RESULT = -1
		ELSE
			TALENT:ARG:RESULT ++
		ENDIF
	;온 오프형의 소질
	ELSEIF TALENTNAME:RESULT == GET_TALENTNAME(RESULT, 1) || RESULT == 1 || RESULT == 6
		TALENT:ARG:RESULT = !TALENT:ARG:RESULT
		;온 오프형으로 별도 추가가 필요한 소질
		;모유체질
		IF RESULT == 149
			IF TALENT:ARG:RESULT
				MAXBASE:ARG:모유 = 2000
			ELSE
				MAXBASE:ARG:모유 = 0
			ENDIF
		ENDIF
	;체형
	ELSEIF RESULT == GETNUM(TALENT, "체형")
		;체형이 「난쟁이(-5)」이라고 「거인(3)」의 경우를 독립 처리
		IF TALENT:ARG:RESULT == -5
			TALENT:ARG:RESULT = -2
		ELSEIF TALENT:ARG:RESULT == 3
			TALENT:ARG:RESULT = -5
		ELSE
			TALENT:ARG:RESULT ++
		ENDIF
	;양적 소질
	ELSE
		;구석까지 가면―1을 건다
		IF STRLENS(GET_TALENTNAME(RESULT, TALENT:ARG:RESULT + 1)) || TALENT:ARG:RESULT == -1
			TALENT:ARG:RESULT ++
		ELSE
			TALENT:ARG:RESULT = -1 * TALENT:ARG:RESULT
		ENDIF
	ENDIF
;능력 설정
ELSEIF LOCAL:100 == 1004
	LOCAL = RESULT / 2
	SIF !STRLENS(ABLNAME:LOCAL)
		RESTART
	;동성애 관계
	IF !(TALENT:ARG:2 & 1) && (LOCAL == 17 || LOCAL == 32)
		RESTART
	ELSEIF TALENT:ARG:2 & 1 && (LOCAL == 18 || LOCAL == 33)
		RESTART
	ENDIF
	;중독 관계
	SIF LOCAL >= 30
		RESTART
	;홀수(+)
	IF RESULT % 2
		IF ABL:ARG:LOCAL >= 2
			RESTART
		ELSE
			ABL:ARG:LOCAL ++
		ENDIF
	;짝수(-)
	ELSE
		IF ABL:ARG:LOCAL <= 0
			RESTART
		ELSE
			ABL:ARG:LOCAL --
		ENDIF
	ENDIF
ELSEIF LOCAL:100 == 1005
	LOCAL = RESULT
	SIF !STRLENS(EXPNAME:LOCAL)
		RESTART
	;동성애 관계
	IF !(TALENT:ARG:2 & 1) && LOCAL == 41
		RESTART
	ELSEIF TALENT:ARG:2 & 1 && LOCAL == 42
		RESTART
	ENDIF
	PRINTFORM %EXPNAME:LOCAL%를 입력해주세요
	PRINTBUTTON "[캔슬]",-1
	INPUT
	SIF RESULT < 0
		RESTART
	EXP:ARG:LOCAL = MIN(RESULT, 30)
ELSEIF RESULT == 1006
ENDIF
RESTART

;FileName_SHOP_CUSTOM.ERB -------------------------- Rev1. 00
;이름의 설정
;CALL		USER
;ARG		MASTER 캐릭터 NO
;RETURN		VOID
;COMMENT
;-----------------------------------------------------------
@NAME_CUSTOM(ARG)
PRINTL 캐릭터의 이름(NAME)을 입력해주세요
IF STRLENS(NAME:ARG)
	PRINTFORM 현재의 이름：%NAME:ARG%
	PRINTBUTTON "[변경하지 않음]",""
	PRINTL
ENDIF
INPUTS
IF RESULTS == ""
	NAME:ARG = %NAME:ARG%
ELSE
	NAME:ARG = %RESULTS%
ENDIF

PRINTL 캐릭터의 통칭(CALLNAME)을 입력해 주세요
IF STRLENS(CALLNAME:ARG)
	PRINTFORM 현재의 통칭：%CALLNAME:ARG%
	PRINTBUTTON "[변경하지 않음]",""
	PRINTL
ENDIF
INPUTS
IF RESULTS == ""
	CALLNAME:ARG = %CALLNAME:ARG%
ELSE
	CALLNAME:ARG = %RESULTS%
ENDIF

;FileName_SHOP_CUSTOM.ERB -------------------------- Rev1. 00
;베이스의 설정
;CALL		USER
;ARG		MASTER 캐릭터 NO
;RETURN		VOID
;COMMENT
;-----------------------------------------------------------
@BASE_CUSTOM(ARG)
CALL BASE_BAR(ARG, "체력", 18, "초록")
IF BASE:ARG:0 != 1000
	PRINTBUTTON "[－]", 0
ELSE
	SETCOLOR 0x969696
	PRINT [－]
	RESETCOLOR
ENDIF
IF BASE:ARG:0 != 2500
	PRINTBUTTON "[＋]", 1
ELSE
	SETCOLOR 0x969696
	PRINT [＋]
	RESETCOLOR
ENDIF
PRINTL
CALL BASE_BAR(ARG, "기력", 18, "파랑")
IF BASE:ARG:1 != 1000
	PRINTBUTTON "[－]", 2
ELSE
	SETCOLOR 0x969696
	PRINT [－]
	RESETCOLOR
ENDIF
IF BASE:ARG:1 != 2500
	PRINTBUTTON "[＋]", 3
ELSE
	SETCOLOR 0x969696
	PRINT [＋]
	RESETCOLOR
ENDIF
PRINTL

;FileName_SHOP_CUSTOM.ERB -------------------------- Rev1. 00
;소질의 설정
;CALL		USER
;ARG		0:MASTER 캐릭터 NO, 1:페이지수
;RETURN		VOID
;COMMENT
;-----------------------------------------------------------
@TALENT_CUSTOM(ARG, ARG:1)
VARSET LOCAL
FOR LOCAL, 0, 157
	SETCOLOR 150, 150, 150
	IF 선택할수없는소질(LOCAL, NO:ARG) == 1
		CONTINUE
	ELSEIF 선택할수없는소질(LOCAL, NO:ARG) == 2
		;표시는 시킨다
		SETCOLOR 50, 50, 50
		LOCALS = [{LOCAL, 3}]%TALENTNAME:LOCAL%
		GOTO SKIP
	ENDIF
	SELECTCASE TALENTNAME:LOCAL
	;TALENT.CSV에 등록되지 않았다
	CASE ""
		CONTINUE
	;온 오프형의 소질(TALENTNAME와 소질표시가 일치)
	CASE GET_TALENTNAME(LOCAL, 1)
		SIF TALENT:ARG:LOCAL
			SETCOLOR C_AQUA
		LOCALS = [{LOCAL, 3}]%TALENTNAME:LOCAL%
	CASE "비동정"
		SIF !TALENT:ARG:LOCAL
			SETCOLOR C_AQUA
		LOCALS = [{LOCAL, 3}]동정
	CASE "키스미경험"
		SIF !TALENT:ARG:LOCAL
			SETCOLOR C_AQUA
		LOCALS = [{LOCAL, 3}]%TALENTNAME:LOCAL%
	;양적 소질
	CASEELSE
		LOCALS =  [{LOCAL, 3}]%TALENTNAME:LOCAL%
		IF STRLENS(GET_TALENTNAME(LOCAL, TALENT:ARG:LOCAL))
			LOCALS:1 = 【%GET_TALENTNAME(LOCAL, TALENT:ARG:LOCAL)%】
			SETCOLOR C_AQUA
		ELSEIF TALENTNAME:LOCAL == "성별"
			LOCALS:1 = 【여자】
			SETCOLOR C_AQUA
		ELSE
			LOCALS:1 = 【－】
		ENDIF
		LOCALS += LOCALS:1
	ENDSELECT
	$SKIP
	SIF LOCAL:1 % 3 == 0
		PRINTL
	IF 선택할수없는소질(LOCAL, NO:ARG) == 2
		PRINTPLAINFORM %LOCALS, 30, LEFT%
	ELSE
		PRINTFORM %LOCALS, 30, LEFT%
	ENDIF
	LOCAL:1 ++
NEXT
RESETCOLOR
PRINTL

;FileName_SHOP_CUSTOM.ERB -------------------------- Rev1. 00
;능력의 설정
;CALL		USER
;ARG		MASTER 캐릭터 NO
;RETURN		VOID
;COMMENT
;-----------------------------------------------------------
@ABL_CUSTOM(ARG)
LOCAL:1 = 0
FOR LOCAL, 0,50
	SIF !STRLENS(ABLNAME:LOCAL)
		CONTINUE
	;동성애 관계
	IF !(TALENT:ARG:2 & 1) && (LOCAL == 17 || LOCAL == 32)
		CONTINUE
	ELSEIF TALENT:ARG:2 & 1 && (LOCAL == 18 || LOCAL == 33)
		CONTINUE
	ENDIF
	;중독도 없음
	SIF LOCAL >= 30
		CONTINUE
	PRINTFORM %ABLNAME:LOCAL,12%:{ABL:ARG:LOCAL, 5, LEFT}
	IF ABL:ARG:LOCAL != 0
		PRINTBUTTON "[－]", LOCAL * 2
	ELSE
		SETCOLOR 0x969696
		PRINT [－]
		RESETCOLOR
	ENDIF
	IF ABL:ARG:LOCAL != 2
		PRINTBUTTON "[＋]", LOCAL * 2 + 1
	ELSE
		SETCOLOR 0x969696
		PRINT [＋]
		RESETCOLOR
	ENDIF
	LOCAL:1 ++
	SIF LOCAL:1 % 2 == 0
		PRINTL
NEXT
PRINTL

;FileName_SHOP_CUSTOM.ERB -------------------------- Rev1. 00
;경험의 설정
;CALL		USER
;ARG		MASTER 캐릭터 NO
;RETURN		VOID
;COMMENT
;-----------------------------------------------------------
@EXP_CUSTOM(ARG)
VARSET LOCAL
FOR LOCAL, 0,100
	SIF !STRLENS(EXPNAME:LOCAL)
		CONTINUE
	;동성애 관계
	IF !(TALENT:ARG:2 & 1) && LOCAL == 41
		CONTINUE
	ELSEIF TALENT:ARG:2 & 1 && LOCAL == 42
		CONTINUE
	ENDIF
	SIF LOCAL == 57 || (60 <= LOCAL && LOCAL <= 65)
		CONTINUE
	PRINTFORM [{LOCAL, 2}] - %EXPNAME:LOCAL,12%:{EXP:ARG:LOCAL, 5, LEFT}
	LOCAL:1 += 1
	SIF LOCAL:1 % 3 == 0
		PRINTL
NEXT
PRINTL

;FileName_SHOP_CUSTOM.ERB -------------------------- Rev1. 00
;복장의 설정
;CALL		USER
;ARG		MASTER 캐릭터 NO
;RETURN		VOID
;COMMENT
;-----------------------------------------------------------
@CLOTHES_CUSTOM(ARG)
;당신 이외라면 변경하지 않는다
SIF NO:ARG != NO:MASTER || FLAG:역극
	RETURN 0
;MASTER의 성별 판정
IF TALENT:ARG:2 & 1
	CFLAG:ARG:7 = 2
ELSE
	CFLAG:ARG:7 = 1
ENDIF
PRINTFORML 평상복을 선택해주세요.
DRAWLINE
$LOOP
PRINTL [0] - 전라
PRINTL [1] - 남장 세트
PRINTL [2] - 여장 세트
PRINTL [3] - 집사 세트
PRINTL [4] - 가정부 세트
PRINTL [5] - 신관 세트
PRINTL [6] - 작업복 세트
PRINTL [7] - 도복 세트
PRINTL [8] - 서생 세트
PRINTL [9] - 여학생 세트
INPUT
SELECTCASE RESULT
	CASE 0
	PRINTFORMW 너무 과격하잖아!
	GOTO LOOP
	CASE 1 TO 6
		CFLAG:MASTER:7 = RESULT
	CASE 7 TO 9
		CFLAG:MASTER:7 = RESULT + 1
	CASEELSE
		GOTO LOOP
ENDSELECT
RETURN 0

@선택할수없는소질(ARG, CHARA)
#FUNCTION
#DIM CHARA
;CHARA는 NO:의 형태로 건네받아 온다
;RETURNF 2는 표시는 시키는 것
SELECTCASE ARG
;정욕감지~, 보너스 소질 및 특수 함락, 종족, 잉태계
CASE IS >=157
	RETURNF 1
;당신은 선택할 수 없는 1
CASE GETNUM(TALENT, "키스미경험"), GETNUM(TALENT, "습득속도") TO GETNUM(TALENT, "바늘질"), GETNUM(TALENT, "약독내성"), GETNUM(TALENT, "즉각함락"), GETNUM(TALENT, "맹신"), GETNUM(TALENT, "소악마")
	SIF CHARA == NO:MASTER
		RETURNF 1
;당신은 선택할 수 없는 2
CASE GETNUM(TALENT, "여우") TO GETNUM(TALENT, "수수께끼의매력"), GETNUM(TALENT, "회복속도") TO GETNUM(TALENT, "이상한뿌리"), GETNUM(TALENT, "광기"), GETNUM(TALENT, "인기")
	SIF CHARA == NO:MASTER
		RETURNF 1
;당신은 선택하지 못하고, 여성기가 없으면 선택할 수 없다
CASE GETNUM(TALENT, "모유체질")
	SIF CHARA == NO:MASTER
		RETURNF 1
	SIF !GETBIT(TALENT:CHARA:성별, 0)
		RETURNF 2
;여성기가 없으면 선택할 수 없다
CASE GETNUM(TALENT, "처녀"), GETNUM(TALENT, "걸레"), GETNUM(TALENT, "V감도")
	SIF !GETBIT(TALENT:CHARA:성별, 0)
		RETURNF 2
;남성기가 없으면 선택할 수 없다
CASE GETNUM(TALENT, "비동정")
	SIF !GETBIT(TALENT:CHARA:성별, 1)
		RETURNF 2
;남성기가 있으면 선택할 수 없다
CASE GETNUM(TALENT, "구현")
	SIF GETBIT(TALENT:CHARA:성별, 1)
		RETURNF 2
;당신 이외는 선택할 수 없다
CASE GETNUM(TALENT, "연령")
	SIF CHARA != NO:MASTER
		RETURNF 1
;전원 선택할 수 없는 1
CASE GETNUM(TALENT, "연모") TO GETNUM(TALENT, "붕괴"), GETNUM(TALENT, "기분"), GETNUM(TALENT, "용모"), GETNUM(TALENT, "약점"), GETNUM(TALENT, "조합지식"), GETNUM(TALENT, "요호"), GETNUM(TALENT, "여우"), GETNUM(TALENT, "흡혈귀"), GETNUM(TALENT, "조제Lv"), GETNUM(TALENT, "채집Lv"), GETNUM(TALENT, "낚시Lv")
	RETURNF 1
;전원 선택할 수 없는 2
CASE GETNUM(TALENT, "자위중독") TO GETNUM(TALENT, "포르치오성감"), GETNUM(TALENT, "달변"), GETNUM(TALENT, "질투"), GETNUM(TALENT, "농후정액"), GETNUM(TALENT, "정애미각"), GETNUM(TALENT, "금단의지식"), GETNUM(TALENT, "절륜") TO GETNUM(TALENT, "모성")
	RETURNF 1
;여성기가 있어 유아나 유치가 없으면 선택할 수 없다
CASE GETNUM(TALENT, "초경")
	SIF !GETBIT(TALENT:CHARA:성별, 0)
		RETURNF 2
	SIF !TALENT:CHARA:애같음 && !TALENT:CHARA:유치
		RETURNF 2
ENDSELECT
RETURNF 0

;===========
;캐릭터 커스텀
;===========
@CHARA_CUSTOM

	PRINTL 캐릭터의 설정을 바꿀 수 있습니다
	FOR LOCAL, 0, CHARANUM
		IF FLAG:역극
			SIF LOCAL == FLAG:역극
				CONTINUE
		ENDIF
		PRINTFORMLC [{LOCAL}] - %CALLNAME:LOCAL%
	NEXT
	PRINTL [999] 설정 완료
	INPUT

	IF RESULT >= 0 && RESULT < CHARANUM
		SIF RESULT != FLAG:역극
			CALL CUSTOM_TERMINAL(RESULT)
	ELSEIF RESULT == 999
		PRINTL 괜찮겠습니까?
		PRINTL [0] 네
		PRINTL [1] 아니오
		PRINTL
		ONEINPUT
		IF RESULT == 0
			RETURN
		ENDIF
	ENDIF
	RESTART
RETURN 0

@LIMITED_CUSTOM(ARG)
$LOOP
PRINTFORML [0] 체형 변경 현재의 체형: %GET_TALENTNAME(100, TALENT:ARG:100)%
PRINTFORML [1] 가슴사이즈 변경 현재의 가슴사이즈: %GET_TALENTNAME(105, TALENT:ARG:105)%
PRINTFORM [2] 감도 상승
	SELECTCASE TCVAR:ARG:감도상승부위
		CASE 101 TO 104,106
			PRINTFORML %TALENTNAME:(TCVAR:ARG:감도상승부위)% 선택중
		CASEELSE
			PRINTL
	ENDSELECT
DRAWLINE
PRINTL [100] 종료
INPUT
IF RESULT == 0
	PRINTLC [0] 난쟁이
	PRINTLC [3] 유아 체형
	PRINTLC [4] 작은 체형
	PRINTLC [5] 보통
	PRINTLC [6] 장신
	PRINTLC [7] 거구
	PRINTL
	DRAWLINE
	PRINTL [100] 돌아간다
	INPUT
	SELECTCASE RESULT
		CASE 0, 3 TO 7
			TALENT:ARG:100 = RESULT - 5
	ENDSELECT
	GOTO LOOP
ELSEIF RESULT == 1
	PRINTLC [0] 절벽
	PRINTLC [1] 빈유
	PRINTLC [2] 평유
	PRINTLC [3] 거유
	PRINTLC [4] 폭유
	PRINTL
	DRAWLINE
	PRINTL [100] 돌아간다
	INPUT
	SELECTCASE RESULT
		CASE 0 TO 4
			TALENT:ARG:105 = RESULT - 2
	ENDSELECT
	GOTO LOOP
ELSEIF RESULT == 2
	PRINTL 한 부위만 감도를 올릴 수 있습니다
	PRINTFORMLC [101] C감도
	PRINTFORMLC [102] V감도
	PRINTFORMLC [103] A감도
	PRINTFORMLC [104] B감도
	PRINTFORMLC [106] M감도
	PRINTL
	DRAWLINE
	PRINTL [100] 돌아간다
	INPUT
	IF RESULT >= 101 && RESULT <= 104 || RESULT == 106
		IF TALENT:ARG:RESULT > 0
			PRINTW 벌써 민감합니다
		ELSE
			TCVAR:ARG:감도상승부위 = RESULT
		ENDIF
	ENDIF
	GOTO LOOP
ENDIF


code:
;FileName_SYSTM.ERB -------------------------------- Rev1. 00
;뉴 게임 처리
;CALL		SYSTEM
;ARG		VOID
;RETURN		VOID
;COMMENT
;-----------------------------------------------------------
@EVENTFIRST
;타겟·어시스턴트 초기화
TARGET = 0
ASSI = 0

PBAND = 12

CALL MAKE_ALL_CLASS_LIST
;Default 옵션
CALL DEFAULT_OPTION

CALL ADD_ALL_CHARACTERS
;MASTER 생성
CALL CUSTOM_CHARAMAKE(MASTER)
;자지 있어라면 발기치 세트
IF TALENT:MASTER:2 & 2
	MAXBASE:MASTER:5 = 1500
	CALL TINKO_DECIDE(MASTER)
ENDIF
MAXBASE:MASTER:TSP = 100
BASE:MASTER:TSP = 100

;초기 지점 설정

FOR LOCAL, 0, CHARANUM
	;개시 위치
	CFLAG:LOCAL:현재위치 = CFLAG:LOCAL:초기위치
	;복장
	CALL SELECT_CLOTHES(LOCAL, "오늘의 의상")
	CALL CTRL_CLOTHES_SET(LOCAL, "현재 의상의 변경_평상복")
	CALL CLOTHES_SETTING_TRAIN(LOCAL)
	CALL 속옷확인리셋(LOCAL)
	SIF !EXP:LOCAL:키스경험
		TALENT:LOCAL:키스미경험 = 1
NEXT

;MASTER 기상시간 세트(7시)
TIME:3 = 420

CALL KAISYONASI

;MASTER 수면중 플래그 ON
CALL SET_SLEEP(1, MASTER, 0)

CALL SET_NOUMIN
CALL SET_MAINHOME
CALL VIRGIN_SET

CALL SET_CHARISMA("NEW")
;CALL CHARA_CUSTOM
SIF !CM_LIMIT
	CM_LIMIT = 100
;일자 1 일째
DAY = 1
DAY:2 = 1
DAY:3 = 1
FLAG:술벌레 = 1

FLAG:그림표시 = 1
FLAG:AA표시 = 1
FLAG:자식묘사 = 1

;욕구불만도의 초기설정
FOR LOCAL, 1, CHARANUM
	CFLAG:LOCAL:욕구불만도 = RAND:500
NEXT
;의뢰：편지의 행선지 처리
CALL SETUP_ALL_LETTERS

;본체버전을 기록
SAVESTR:본체버전 = %eraTW_Version%

CALL NEWGAME_BONUS

;SYSTEMCALL to SHOW_SHOP
BEGIN SHOP

@EVENTLOAD
GETTIME
DEBUGPRINTFORML {RESULT / 10000000000000}년 {(RESULT / 100000000000) % 100}월 {(RESULT / 1000000000) % 100}일 {(RESULT / 10000000) % 100}시야
CALL ROOMSETTING
CALL VERSION_UP
SIF CFLAG:MASTER:312
	TIME:3 = CFLAG:MASTER:312
CFLAG:MASTER:312 = 0
CALL MAKE_ALL_CLASS_LIST
;의뢰：편지의 행선지 처리
CALL SETUP_ALL_LETTERS

@VIRGIN_SET
PRINTL 게임 개시 앞에 각 캐릭터의 처녀·비처녀를 변경할 수 있습니다.
DRAWLINE
PRINTL [0] 설정 종료
PRINTL [1] 개별 설정
PRINTL [2] 당연히 전원 처녀지
PRINTL [3] 환상소녀는 오래 사니까 경험이 풍부해
PRINTL [4] 오히려 전원 걸레야
PRINTL [5] 전원 어린 여자아이야
PRINTL [6] 전원 동물귀야
PRINTL [7] 전원 자지가 나 있어
PRINTL [8] 전원 처녀 비치야
PRINTL [9] 전원 섹스가 뭔지도 몰라
PRINTL [10] 전원 섹스에 미쳐있어
PRINTL [11] 초기화
$LOOP
INPUT
SELECTCASE RESULT
	CASE 0
		PRINTW 설정을 종료합니다.
		RETURN
	CASE 1
		CALL SET_VIRGINITY
	CASE 2
		FOR LOCAL, 1, CHARANUM
			CALL SET_VIRGIN(LOCAL)
		NEXT
		PRINTW 이런 처녀 요리사를 봤나!
		PRINTW 전원 처녀로 만들었습니다.
	CASE 3
		FOR LOCAL, 1, CHARANUM
			TALENT:LOCAL:처녀 = 0
			SIF TALENT:LOCAL:성별기호 == 1
				TALENT:LOCAL:성별기호 = 0
			EXP:LOCAL:V경험 = MAX(EXP:LOCAL:V경험, 50)
			ABL:LOCAL:V감각 = MAX(ABL:LOCAL:V감각, 2)
			ABL:LOCAL:허리 = MAX(ABL:LOCAL:허리, 2)
			EXP:LOCAL:V성교경험 = MAX(EXP:LOCAL:V경험, 50)
			EXP:LOCAL:V확장경험 = MAX(EXP:LOCAL:V확장경험, 3)
			EXP:LOCAL:정음경험 = MAX(EXP:LOCAL:정음경험, 10)
		NEXT
		PRINTW 전원 비처녀로 만들었습니다.
	CASE 4
		FOR LOCAL, 1, CHARANUM
			CALL SET_YARIMAN(LOCAL)
		NEXT
		PRINTW 전원 걸레로 만들었습니다.
	CASE 5
		FOR LOCAL, 1, CHARANUM
			CALL SET_LOLI(LOCAL)
		NEXT
		IF TALENT:MASTER:형상 < 6
			PRINTFORML 가끔은 로리콘도 좋더라!
			PRINTFORML
			PRINTW 전원 유녀로 만들었습니다.
		ELSE
			PRINTFORML 변태 새끼.
			PRINTFORML
			PRINTW 전원 유녀로 만들었습니다.
		ENDIF
	CASE 6
		FOR LOCAL, 1, CHARANUM
			TALENT:LOCAL:143 = 1
		NEXT

		PRINTW 전원 동물귀로 만들었습니다. 발정기가 된다면...
	CASE 7
		FOR LOCAL, 1, CHARANUM
			TALENT:LOCAL:2 = 3
			TALENT:LOCAL:형상 = 3
			MAXBASE:LOCAL:5 = MAX(1500, MAXBASE:LOCAL:5)
			MAXBASE:LOCAL:정력 = MAX(1000, MAXBASE:LOCAL:정력)
		NEXT
		PRINTFORMW 전원 후타나리로 만들었습니다.
	CASE 8
		PRINTFORMW 따지는 게 많은 놈이네.
		FOR LOCAL, 1, CHARANUM
			TALENT:LOCAL:처녀 = 1
			SIF TALENT:LOCAL:성별기호 == 1
				TALENT:LOCAL:성별기호 = 0
			EXP:LOCAL:V경험 = 0
			ABL:LOCAL:V감각 = 0
			ABL:LOCAL:욕망 = MAX(3, ABL:LOCAL:욕망)
			EXP:LOCAL:V성교경험 = 0
			EXP:LOCAL:V확장경험 = 0
			EXP:LOCAL:정음경험 = 0
			EXP:LOCAL:키스경험 = 0
			TALENT:LOCAL:걸레 = 1
			TALENT:LOCAL:키스미경험 = 1
			TALENT:LOCAL:정조 = -1
		NEXT
		PRINTW 전원 처녀 비치로 만들었습니다.
	CASE 9
		FOR LOCAL, 1, CHARANUM
			CALL SET_VIRGIN(LOCAL)
			TALENT:LOCAL:무지 = 1
		NEXT
		PRINTW 코토히메 씨 여기예요
		PRINTW 전원 처녀에다가 지식도 없게 만들었습니다.
	CASE 10
		CALL MAKE_HENTAI(0)
		PRINTW 전원 욕망에 미쳐있게 만들었습니다. 행운을 빌어요 (웃음)
	CASE 11
		FOR LOCAL, 1, CHARANUM
			CALL RESET_CHARA(LOCAL)
		NEXT
		PRINTFORMW 전원 초기 설정으로 되돌렸습니다.
	CASE -1
		CALL MAKE_HENTAI(1)
		PRINTW 너는 이미 죽어있다.
	CASE -2
		CALL MAKE_HENTAI(2)
		PRINTW 진심으로?
	CASE -3
		CALL MAKE_HENTAI(3)
		RETURN
	CASEELSE
		GOTO LOOP
ENDSELECT
RESTART

@MAKE_HENTAI(ARG)
FOR LOCAL, 1, CHARANUM
	CFLAG:LOCAL:호감도 = 200
	ABL:LOCAL:욕망 = MAX(30, ABL:LOCAL:욕망)
	ABL:LOCAL:순종 = MAX(10, ABL:LOCAL:순종)
	ABL:LOCAL:자위중독 = MAX(5, ABL:LOCAL:자위중독)
	ABL:LOCAL:C감각 = MAX(3, ABL:LOCAL:C감각)
	ABL:LOCAL:V감각 = MAX(3, ABL:LOCAL:V감각)
	ABL:LOCAL:A감각 = MAX(3, ABL:LOCAL:A감각)
	ABL:LOCAL:B감각 = MAX(3, ABL:LOCAL:B감각)
	ABL:LOCAL:M감각 = MAX(3, ABL:LOCAL:M감각)
	TALENT:LOCAL:자위중독 = 1
	TALENT:LOCAL:도착적 = 1
	TALENT:LOCAL:쾌감응답 = 1
	TALENT:LOCAL:정조 = -1
	TALENT:LOCAL:젖기쉬움 = 1
	TALENT:LOCAL:성별기호 = -1
	TALENT:LOCAL:악취내성 = 1
NEXT

IF ARG > 0
	FOR LOCAL, 1, CHARANUM
		CFLAG:LOCAL:호감도 = 500
		TALENT:LOCAL:악취내성 = 2
		ABL:LOCAL:욕망 = MAX(35, ABL:LOCAL:욕망)
		ABL:LOCAL:순종 = MAX(15, ABL:LOCAL:순종)
		ABL:LOCAL:자위중독 = MAX(10, ABL:LOCAL:자위중독)
		MAXBASE:LOCAL:체력 = MAX(2250, MAXBASE:LOCAL:체력)
		MAXBASE:LOCAL:기력 = MAX(1750, MAXBASE:LOCAL:기력)
		MARK:LOCAL:쾌락각인 = 1

		BASE:LOCAL:체력 = MAXBASE:LOCAL:체력
		BASE:LOCAL:기력 = MAXBASE:LOCAL:기력
	NEXT
ENDIF

IF ARG > 1
	FOR LOCAL, 1, CHARANUM
		CFLAG:LOCAL:호감도 = 1000
		TALENT:LOCAL:악취내성 = 3
		ABL:LOCAL:욕망 = MAX(45, ABL:LOCAL:욕망)
		ABL:LOCAL:순종 = MAX(25, ABL:LOCAL:순종)
		ABL:LOCAL:자위중독 = MAX(20, ABL:LOCAL:자위중독)
		MAXBASE:LOCAL:체력 = MAX(3500, MAXBASE:LOCAL:체력)
		MAXBASE:LOCAL:기력 = MAX(2500, MAXBASE:LOCAL:기력)
		TALENT:LOCAL:즉각함락 = 1
		MARK:LOCAL:쾌락각인 = 2

		BASE:LOCAL:체력 = MAXBASE:LOCAL:체력
		BASE:LOCAL:기력 = MAXBASE:LOCAL:기력
	NEXT
ENDIF

IF ARG > 2
	FOR LOCAL, 1, CHARANUM
		ABL:LOCAL:욕망 = MAX(99, ABL:LOCAL:욕망)
		TALENT:LOCAL:애욕 = 1
		TALENT:LOCAL:섹프 = 1
		CFLAG:LOCAL:호감도 = 3000
		EXP:LOCAL:절정경험 = 500
		MAXBASE:LOCAL:체력 = MAX(5000, MAXBASE:LOCAL:체력)
		MAXBASE:LOCAL:기력 = MAX(3500, MAXBASE:LOCAL:기력)
		MARK:LOCAL:쾌락각인 = 3

		BASE:LOCAL:체력 = MAXBASE:LOCAL:체력
		BASE:LOCAL:기력 = MAXBASE:LOCAL:기력
	NEXT
ENDIF

@SET_VIRGINITY
#DIM CHARA_ID
FOR CHARA_ID, 1, CHARANUM
	SIF TALENT:CHARA_ID:처녀
		SETCOLOR C_PINK
	SIF TALENT:CHARA_ID:걸레
		SETCOLOR C_P_BLUE
	PRINTFORMLC [{CHARA_ID, 3}] %CALLNAME:CHARA_ID%
	RESETCOLOR
NEXT
PRINTL
DRAWLINE
PRINTL [999] 설정 종료
DO
	INPUT
	CHARA_ID = RESULT
	SELECTCASE CHARA_ID
	CASE 999
		PRINTW 개별 설정을 종료합니다.
		RETURN
	CASE 1 TO CHARANUM
		BREAK
	CASEELSE
	ENDSELECT
LOOP 1

IF TALENT:CHARA_ID:걸레
	IF CSVTALENT(CHARA_ID, GETNUM(TALENT, "처녀")) == 1
		PRINTFORMW %CALLNAME:CHARA_ID%의 능력을 초기 설정으로 되돌립니다
		CALL RESET_CHARA(CHARA_ID)
	ELSE
		PRINTFORMW %CALLNAME:CHARA_ID%를 처녀로 만듭니다
		CALL SET_VIRGIN(CHARA_ID)
	ENDIF
ELSEIF TALENT:CHARA_ID:처녀
	IF CSVTALENT(CHARA_ID, GETNUM(TALENT, "처녀")) == 0
		PRINTFORMW %CALLNAME:CHARA_ID%의 능력을 초기 설정으로 되돌립니다
		CALL RESET_CHARA(CHARA_ID)
	ELSE
		PRINTFORMW %CALLNAME:CHARA_ID%를 비처녀로 만듭니다
		TALENT:CHARA_ID:처녀 = 0
	ENDIF
ELSE
	PRINTFORMW %CALLNAME:CHARA_ID%를 걸레로 만듭니다
	CALL SET_YARIMAN(CHARA_ID)
ENDIF
RESTART

@SET_VIRGIN(ARG)
TALENT:ARG:처녀 = 1

CFLAG:ARG:처녀상실기념일=0
CSTR:ARG:첫키스위치=0
CSTR:ARG:처녀상실위치=0
CSTR:ARG:A처녀상실위치=0
CSTR:ARG:첫키스상실이력=0
CSTR:ARG:처녀상실이력=0
CSTR:ARG:애널처녀상실이력=0
CFLAG:ARG:좋아하는체위=0
CFLAG:ARG:애널개발허가=0
CFLAG:ARG:처녀상실기념일=0
CFLAG:ARG:처녀상실대상=0
CFLAG:ARG:처녀상실상대=0
CFLAG:ARG:동정상실기념일=0
CFLAG:ARG:동정상실대상=0
CFLAG:ARG:애널처녀상실기념일=0
CFLAG:ARG:애널처녀상실대상=0
CFLAG:ARG:애널처녀상실상대=0
CFLAG:ARG:첫키스상실기념일=0
CFLAG:ARG:첫키스상실상대=0
CFLAG:ARG:첫키스상실대상=0
CFLAG:ARG:누계질내정액=0
CFLAG:ARG:누계애널정액=0
CFLAG:ARG:누계정음=0
CFLAG:ARG:누계뿌려짐=0

EXP:ARG:C경험 = 0
EXP:ARG:B경험 = 0
EXP:ARG:V경험 = 0
EXP:ARG:A경험 = 0
ABL:ARG:V감각 = 0
ABL:ARG:A감각 = 0
EXP:ARG:V성교경험 = 0
EXP:ARG:V확장경험 = 0
EXP:ARG:A성교경험 = 0
EXP:ARG:A확장경험 = 0
EXP:ARG:수음경험 = 0
EXP:ARG:펠라티오경험 = 0
EXP:ARG:파이즈리경험 = 0
EXP:ARG:키스경험 = 0
EXP:ARG:봉사쾌락경험 = 0
EXP:ARG:애정경험 = 0
EXP:ARG:고통쾌락경험 = 0
EXP:ARG:가학쾌락경험 = 0
EXP:ARG:노출쾌락경험 = 0
EXP:ARG:긴박경험 = 0
EXP:ARG:절정경험 = 0
EXP:ARG:사정경험 = 0
EXP:ARG:분유경험 = 0
EXP:ARG:방뇨경험 = 0
EXP:ARG:정음경험 = 0
EXP:ARG:정음경험 = 0
EXP:ARG:출산경험 = 0
TALENT:ARG:키스미경험 = 1
TALENT:ARG:걸레 = 0
TALENT:ARG:성별기호 = CSVTALENT(ARG, 81)
TALENT:ARG:정조 = CSVTALENT(ARG, 30)
ABL:ARG:허리 = CSVABL(ARG, GETNUM(ABL, "허리"))
ABL:ARG:욕망 = CSVABL(ARG, GETNUM(ABL, "욕망"))

@SET_YARIMAN(ARG)
TALENT:ARG:처녀 = 0
SIF TALENT:ARG:성별기호 == 1
	TALENT:ARG:성별기호 = 0
EXP:ARG:V경험 = MAX(EXP:ARG:V경험, 100)
ABL:ARG:V감각 = MAX(ABL:ARG:V감각, 3)
ABL:ARG:허리 = MAX(ABL:ARG:허리, 3)
ABL:ARG:욕망 = 3
EXP:ARG:V성교경험 = MAX(EXP:ARG:V경험, 100)
EXP:ARG:V확장경험 = MAX(EXP:ARG:V확장경험, 3)
EXP:ARG:정음경험 = MAX(EXP:ARG:정음경험, 50)
TALENT:ARG:걸레 = 1
TALENT:ARG:정조 = -1

@SET_LOLI(ARG)
TALENT:ARG:가슴사이즈 = MAX(TALENT:ARG:가슴사이즈 - 2, -2)
TALENT:ARG:체형 = -2

;강하게뉴게임에서도 사용된다
;CFLAG의 리셋는 인계에 지장이 있으므로 금지
@RESET_CHARA(ARG)
FOR LOCAL, 0, VARSIZE("TALENTNAME")
	TALENT:ARG:LOCAL = CSVTALENT(ARG, LOCAL)
NEXT
FOR LOCAL, 0, VARSIZE("EXPNAME")
	EXP:ARG:LOCAL = CSVEXP(ARG, LOCAL)
NEXT
FOR LOCAL, 0, VARSIZE("ABLNAME")
	ABL:ARG:LOCAL = CSVABL(ARG, LOCAL)
NEXT
FOR LOCAL, 0, VARSIZE("EXPNAME")
	EXP:ARG:LOCAL = CSVEXP(ARG, LOCAL)
NEXT
FOR LOCAL, 0, VARSIZE("BASENAME")
	BASE:ARG:LOCAL = CSVBASE(ARG, LOCAL)
	MAXBASE:ARG:LOCAL = BASE:ARG:LOCAL
NEXT
CFLAG:ARG:처녀상실기념일=0
CSTR:ARG:첫키스위치=
CSTR:ARG:처녀상실위치=
CSTR:ARG:A처녀상실위치=
CSTR:ARG:첫키스상실이력=
CSTR:ARG:처녀상실이력=
CSTR:ARG:애널처녀상실이력=
CFLAG:ARG:좋아하는체위=0
CFLAG:ARG:애널개발허가=0
CFLAG:ARG:처녀상실기념일=0
CFLAG:ARG:처녀상실대상=0
CFLAG:ARG:처녀상실상대=0
CFLAG:ARG:동정상실기념일=0
CFLAG:ARG:동정상실대상=0
CFLAG:ARG:애널처녀상실기념일=0
CFLAG:ARG:애널처녀상실대상=0
CFLAG:ARG:애널처녀상실상대=0
CFLAG:ARG:첫키스상실기념일=0
CFLAG:ARG:첫키스상실상대=0
CFLAG:ARG:첫키스상실대상=0
CFLAG:ARG:누계질내정액=0
CFLAG:ARG:누계애널정액=0
CFLAG:ARG:누계정음=0
CFLAG:ARG:누계뿌려짐=0

@NEWGAME_BONUS
SETCOLOR 103,228,126
PRINTFORML 【뉴 게임 특전】
RESETCOLOR
$TOKUTEN
PRINTFORML 좋아하는 것을 선택해 주세요
CALL ASK_M("【붉은실】", 1 ,"【절륜】", 1,"【수수께끼의매력】", 1, "【만능잉태】", 1, "【익스텐드】", 1,"【습득 빠름】", 1)
SELECTCASE RESULT
	CASE 0
		PRINTFORML 데이트 중 상대와의 상성을 올릴수 있는 특성입니다.
		PRINTFORML 괜찮겠습니까?
		CALL ASK_YN
		IF !RESULT
			SETBIT FLAG:호감도보너스취득상황, 8
			TALENT:MASTER:붉은실 = 1
			PRINTFORMW 【붉은실】을 얻었다!
		ELSE
			GOTO TOKUTEN
		ENDIF
	CASE 1
		PRINTFORML 사정시 체력, 기력이 감소하지 않고 사정량이 2배 증가합니다.
		PRINTFORML 괜찮겠습니까?
		CALL ASK_YN
		IF !RESULT
			SETBIT FLAG:팬티보너스취득상황, 8
			TALENT:MASTER:절륜 = 1
			PRINTFORMW 【절륜】을 얻었다!
		ELSE
			GOTO TOKUTEN
		ENDIF
	CASE 2
		PRINTFORML 대부분의 커맨드에 보정이 붙으며 호감도 상승량이 증가합니다.
		PRINTFORML 괜찮겠습니까?
		CALL ASK_YN
		IF !RESULT
			SETBIT FLAG:함락보너스취득상황, 3
			TALENT:MASTER:수수께끼의매력 = 1
			PRINTFORMW 【수수께끼의매력】을 얻었다!
		ELSE
			GOTO TOKUTEN
		ENDIF
	CASE 3
		PRINTFORML 어떤 종족이라도 임신시키기 쉬워집니다.
		PRINTFORML 괜찮겠습니까?
		CALL ASK_YN
		IF !RESULT
			SETBIT FLAG:잉태보너스취득상황, 1
			TALENT:MASTER:만능잉태 = 1
			PRINTFORMW 【만능잉태】를 얻었다!
		ELSE
			GOTO TOKUTEN
		ENDIF
	CASE 4
		PRINTFORML 탄막승부시 잔기가 1개 증가합니다.
		PRINTFORML 괜찮겠습니까?
		CALL ASK_YN
		IF !RESULT
			SETBIT FLAG:탄막승부보너스취득상황, 5
			TALENT:MASTER:익스텐드 = 1
			PRINTFORMW 【익스텐드】를 얻었다!
		ELSE
			GOTO TOKUTEN
		ENDIF
	CASE 5
		PRINTFORML 기교 및 성기술 ABL이 쉽게 오릅니다.
		PRINTFORML 괜찮겠습니까?
		CALL ASK_YN
		IF !RESULT
			SETBIT FLAG:기술보너스취득상황, 6
			TALENT:MASTER:습득속도 = 1
			PRINTFORMW 【습득 빠름】를 얻었다!
		ELSE
			GOTO TOKUTEN
		ENDIF
ENDSELECT

repo_name: purugi/eraTWKR

license: mit


code:
;rev로부터 꿀꺽

@SYSTEM_TITLE
LOADGLOBAL
RESULT = GLOBAL
SAVEGLOBAL
LOADGLOBAL

REDRAW 0
CLEARLINE 1
RESULT  = 1
LOCAL:2 = LINECOUNT

DO
	FOR LOCAL:1, 0, 126
		CLEARLINE LINECOUNT - LOCAL:2
		FOR LOCAL:0, 0, 35
			HTML_PRINT "

"
		NEXT
		$START
		ALIGNMENT CENTER
		CUSTOMDRAWLINE ━
		PRINTFORML %GAMEBASE_TITLE%
		PRINTFORML %eraTW_Version%
		PRINTFORML %GAMEBASE_YEAR%
		PRINTL
		PRINTFORML %GAMEBASE_INFO%
		PRINTFORML Updated by %GAMEBASE_AUTHOR%
		CUSTOMDRAWLINE ━
		PRINTFORML [0] 시작하기
		PRINTFORML [1] 불러오기
		ALIGNMENT LEFT
		INPUT
		CUSTOMDRAWLINE ━
		SELECTCASE RESULT
			CASE 0
				RESETDATA
				ADDCHARA 0
				BEGIN FIRST
			CASE 1
				LOADGAME
		ENDSELECT
		GOTO START
	NEXT
LOOP RESULT
REDRAW 1


code:
;변수의 개서등을 따르는 버전 업용
@VERSION_UP
SIF !GETBIT(FLAG:1000, 1)
	CALL KAISYONASI
SIF !GETBIT(FLAG:1000, 2) && FLAG:지주
	CALL MODE_NOUMIN
; SIF !GETBIT(FLAG:1000, 3)
;  	CALL BUGFIX_KOIBITO
; SETBIT FLAG:1000, 3
; SIF !GETBIT(FLAG:1000, 4)
; 	CALL BUGFIX_KOIBITO
;SETBIT FLAG:1000, 4
SIF !GETBIT(FLAG:1000, 5)
	CALL TWKR_VARFIX
SETBIT FLAG:1000, 5
@KAISYONASI
SETBIT FLAG:1000, 1
PRINTFORML 스스로 상대에게 고백할 수준의 배짱은 있어?
CALL ASK_YN("그야 있지","못해요")
IF !RESULT
	PRINTFORMW 무능력 모드를 사용하지 않습니다
	FLAG:생활능력무 = 0
ELSE
	PRINTFORMW 무능력 모드를 켭니다(일부 커맨드를 사용 불가·상대 쪽의 덮치기 강화)
	FLAG:생활능력무 = 1
ENDIF
;KR판 연인플래그 개선시 필요
[SKIPSTART]
@BUGFIX_KOIBITO
VARSET LOCAL

PRINTFORML 이전 버전의 오류 해결을 위해、한 사람을 제외한 연인을 리셋합니다.
PRINTFORMW 그 사과의 대가로서 미라다의돌을 드립니다.

FLAG:추가연인수 = 0
ITEM:미라다의돌 += 1

FOR LOCAL,1,CHARANUM
	SIF TALENT:LOCAL:연인
		LOCAL:1 ++
NEXT

SIF LOCAL:1 <= 1
	RETURN

PRINTFORML 연인 상태를 유지할 캐릭터를 고르세요.

FOR LOCAL,1,CHARANUM
	SIF TALENT:LOCAL:연인
		PRINTFORMLC [{LOCAL}] %CALLNAME:LOCAL%
NEXT
PRINTFORML
INPUT
SIF TALENT:RESULT:연인
	LOCAL:2 = RESULT

FOR LOCAL,1,CHARANUM
	TALENT:LOCAL:연인 = 0
NEXT

TALENT:(LOCAL:2):연인 = 1
TALENT:MASTER:연인 = LOCAL:2

PRINTFORMW 리셋했습니다.
[SKIPEND]
;===============================================
;이하 KR판 고유기능
;일판과의 호환성 개선을 위해 0.15버전 기준에서 작성됨.
;기능이 포함된다면 0.16버전일것
;날짜 2020.06.22
;===============================================
@TWKR_VARFIX
#DIM CLOTH, 5
VARSET LOCAL ;1: 천적곤신, 2:가랑이수/추가연인수
PRINTFORMW KR판의 CSV 내 변수 위치 조정에 따른 변수값 초기화 및 조정을 실시합니다.
;FLAG.CSV
;신체측정 관련 플래그 변동됨
FLAG:1066 = 0
FLAG:1068 = 0
FLAG:1069 = 0

LOCAL:1 = FLAG:1500
FLAG:천적곤신 = LOCAL:1
FLAG:1500 = 0

;연인플래그 개선시 주석 해제
[SKIPSTART]
LOCAL:2 = FLAG:59
SIF LOCAL:2 == 0
LOCAL:2 = 1
FLAG:추가연인수 = LOCAL:2 - 1
FLAG:50 = 0
[SKIPEND]

;EQUIP.CSV
FOR LOCAL,1,CHARANUM
	SIF EQUIP:LOCAL:13
	CLOTH:0 = EQUIP:LOCAL:13
	SIF EQUIP:LOCAL:14
	CLOTH:1 = EQUIP:LOCAL:14
	SIF EQUIP:LOCAL:15
	CLOTH:2 = EQUIP:LOCAL:15
	SIF EQUIP:LOCAL:16
	CLOTH:3 = EQUIP:LOCAL:16
	SIF EQUIP:LOCAL:17
	CLOTH:4 = EQUIP:LOCAL:17

	EQUIP:LOCAL:치마 = CLOTH:0
	EQUIP:LOCAL:상반신윗도리1 = CLOTH:1
	EQUIP:LOCAL:상반신윗도리2 = CLOTH:2
	EQUIP:LOCAL:원피스 = CLOTH:3
	EQUIP:LOCAL:기모노 = CLOTH:4
NEXT
PRINTFORMW 초기화 및 이관을 완료했습니다.


code:
@SELL_VIDEO
VARSET LOCALS
VARSET LOCAL

;LOCAL:1 비디오 가격
;LOCAL:2 SELECTCOM 단가
FOR LOCAL, 0,1000
	;COM:애무를 본다
	IF LOCAL == 0
		LOCAL:2 = 50
	;COM:쿠니를 본다
	ELSEIF LOCAL == 1
		LOCAL:2 = 50
	;COM:펠라하는을 본다
	ELSEIF LOCAL == 2
		LOCAL:2 = 200
	;COM:손가락 삽입를 본다
	ELSEIF LOCAL == 3
		LOCAL:2 = 150
	;COM:애널 빨고를 본다
	ELSEIF LOCAL == 4
		LOCAL:2 = 100
	;COM:애널 애무를 본다
	ELSEIF LOCAL == 5
		LOCAL:2 = 100
	;COM:가슴 애무를 본다
	ELSEIF LOCAL == 6
		LOCAL:2 = 100
	;COM:유두 고문을 본다
	ELSEIF LOCAL == 7
		LOCAL:2 = 150
	;COM:음부개장을 본다
	ELSEIF LOCAL == 8
		LOCAL:2 = 300
	;COM:자위를 본다
	;자동적으로 공개 자위가 된다
	ELSEIF LOCAL == 9
		LOCAL:2 = 500

	;COM:키스 하는을 본다
	ELSEIF LOCAL == 20
		LOCAL:2 = 100

	;COM:로터를 본다
	ELSEIF LOCAL == 40
		LOCAL:2 = 150
	;COM:E마사지기를 본다
	ELSEIF LOCAL == 41
		LOCAL:2 = 200
	;COM:클리캡을 본다
	ELSEIF LOCAL == 42
		LOCAL:2 = 150
	;COM:오나홀를 본다
	ELSEIF LOCAL == 43
		LOCAL:2 = 100
	;COM:바이브를 본다
	ELSEIF LOCAL == 44
		LOCAL:2 = 200
	;COM:애널바이브를 본다
	ELSEIF LOCAL == 45
		LOCAL:2 = 250
	;COM:애널비즈을 본다
	ELSEIF LOCAL == 46
		LOCAL:2 = 150
	;COM:유두캡을 본다
	ELSEIF LOCAL == 47
		LOCAL:2 = 150
	;COM:착유기를 본다
	ELSEIF LOCAL == 48
		LOCAL:2 = 250

	;COM:정상위를 본다
	ELSEIF LOCAL == 60
		LOCAL:2 = 300
	;COM:배후정도를 본다
	ELSEIF LOCAL == 61
		LOCAL:2 = 450
	;COM:정상위애널을 본다
	ELSEIF LOCAL == 62
		LOCAL:2 = 250
	;COM:후배위애널을 본다
	ELSEIF LOCAL == 63
		LOCAL:2 = 400
	;COM:역강간을 본다
	ELSEIF LOCAL == 64
		LOCAL:2 = 500
	;COM:기승위를 본다
	ELSEIF LOCAL == 65
		LOCAL:2 = 500
	;COM:기승위애널을 본다
	ELSEIF LOCAL == 66
		LOCAL:2 = 500
	;COM:대면좌위를 본다
	ELSEIF LOCAL == 67
		LOCAL:2 = 450
	;COM:후배위를 본다
	ELSEIF LOCAL == 68
		LOCAL:2 = 500
	;COM:대면좌위애널을 본다
	ELSEIF LOCAL == 69
		LOCAL:2 = 450
	;COM:후배위애널을 본다
	ELSEIF LOCAL == 70
		LOCAL:2 = 500
	;COM:2 개찔러(3P)를 본다
	ELSEIF LOCAL == 71
		LOCAL:2 = 500

	;COM:수음을 본다
	ELSEIF LOCAL == 80
		LOCAL:2 = 300
	;COM:펠라치오를 본다
	ELSEIF LOCAL == 81
		LOCAL:2 = 400
	;COM:파이즈리를 본다
	ELSEIF LOCAL == 82
		LOCAL:2 = 500
	;COM:가랑이를 본다
	ELSEIF LOCAL == 83
		LOCAL:2 = 350
	;COM:거품춤을 본다
	ELSEIF LOCAL == 84
		LOCAL:2 = 500
	;COM:다리 호된 훈련을 본다
	ELSEIF LOCAL == 85
		LOCAL:2 = 350
	;COM:다리 빨고 강제를 본다
	ELSEIF LOCAL == 86
		LOCAL:2 = 350
	;COM:파이즈리 펠라를 본다
	ELSEIF LOCAL == 87
		LOCAL:2 = 500

	;COM:애널 애무되는을 본다
	ELSEIF LOCAL == 90
		LOCAL:2 = 100
	;COM:애널 빨고 되는을 본다
	ELSEIF LOCAL == 91
		LOCAL:2 = 100
	;COM:A 정상위 되는을 본다
	ELSEIF LOCAL == 92
		LOCAL:2 = 250
	;COM:A 후배위 되는을 본다
	ELSEIF LOCAL == 93
		LOCAL:2 = 400
	;COM:A 기승위 하는을 본다
	ELSEIF LOCAL == 94
		LOCAL:2 = 500

	;COM:스팬킹을 본다
	ELSEIF LOCAL == 100
		LOCAL:2 = 250
	;COM:채찍을 본다
	ELSEIF LOCAL == 101
		LOCAL:2 = 350
	;COM:초를 본다
	ELSEIF LOCAL == 102
		LOCAL:2 = 400
	;COM:바늘을 본다
	ELSEIF LOCAL == 103
		LOCAL:2 = 500
	;COM:눈가리개를 본다
	ELSEIF LOCAL == 104
		LOCAL:2 = 150
	;COM:밧줄을 본다
	ELSEIF LOCAL == 105
		LOCAL:2 = 200
	;COM:볼개그를 본다
	ELSEIF LOCAL == 106
		LOCAL:2 = 250

	;COM:커닐링구스강제를 본다
	ELSEIF LOCAL == 120
		LOCAL:2 = 250
	;COM:조개 겹옷을 본다
	ELSEIF LOCAL == 121
		LOCAL:2 = 350
	;COM:조수를 범하게 한다를 본다
	ELSEIF LOCAL == 122
		LOCAL:2 = 500
	;COM:풋잡를 본다
	ELSEIF LOCAL == 123
		LOCAL:2 = 350
	;COM:더블 펠라를 본다
	ELSEIF LOCAL == 124
		LOCAL:2 = 450
	;COM:더블 파이즈리를 본다
	ELSEIF LOCAL == 125
		LOCAL:2 = 500
	;COM:젖치기를 본다
	ELSEIF LOCAL == 126
		LOCAL:2 = 200

	;COM:이마라치오를 본다
	ELSEIF LOCAL == 140
		LOCAL:2 = 450
	;COM:피스트성교를 본다
	ELSEIF LOCAL == 141
		LOCAL:2 = 500
	;COM:애널피스트를 본다
	ELSEIF LOCAL == 142
		LOCAL:2 = 500
	;COM:두 구멍 피스트를 본다
	ELSEIF LOCAL == 143
		LOCAL:2 = 500
	;COM:방뇨를 본다
	ELSEIF LOCAL == 144
		LOCAL:2 = 200
	;COM:애널 봉사 강제를 본다
	ELSEIF LOCAL == 145
		LOCAL:2 = 250
	;COM:관장기＋플러그를 본다
	ELSEIF LOCAL == 146
		LOCAL:2 = 350
	;COM:확장벌룬을 본다
	ELSEIF LOCAL == 147
		LOCAL:2 = 150
	;COM:애널전극을 본다
	ELSEIF LOCAL == 148
		LOCAL:2 = 250

	;COM:로션을 본다
	ELSEIF LOCAL == 180
		LOCAL:2 = 10
	;COM:미약을 본다
	ELSEIF LOCAL == 181
		LOCAL:2 = 100
	;COM:이뇨제를 본다
	ELSEIF LOCAL == 182
		LOCAL:2 = 100
	;COM:비디오카메라를 본다
	ELSEIF LOCAL == 183
		LOCAL:2 = 0
	;COM:야외플레이를 본다
	ELSEIF LOCAL == 184
		LOCAL:2 = 250
	;COM:조수를 범하는을 본다
	ELSEIF LOCAL == 185
		LOCAL:2 = 300
	;COM:수치플레이를 본다
	ELSEIF LOCAL == 186
		LOCAL:2 = 250
	;COM:목욕탕플레이를 본다
	ELSEIF LOCAL == 187
		LOCAL:2 = 200
	;COM:샤워를 본다
	ELSEIF LOCAL == 188
		LOCAL:2 = 100
	;COM:새댁플레이를 본다
	ELSEIF LOCAL == 189
		LOCAL:2 = 200

	;COM:식스나인을 본다
	ELSEIF LOCAL == 501
		LOCAL:2 = 400
	;COM:이와시미즈를 본다
	ELSEIF LOCAL == 502
		LOCAL:2 = 500
	;COM:G 스폿 자극을 본다
	ELSEIF LOCAL == 503
		LOCAL:2 = 200
	;COM:흐트러지고 모란을 본다
	ELSEIF LOCAL == 504
		LOCAL:2 = 500

	;COM:삽입 G스포 고문을 본다
	ELSEIF LOCAL == 506
		LOCAL:2 = 500
	;COM:삽입자궁구고문을 본다
	ELSEIF LOCAL == 507
		LOCAL:2 = 500
	;COM:69파이즈리를 본다
	ELSEIF LOCAL == 508
		LOCAL:2 = 500

	;COM:2 개 펠라를 본다
	ELSEIF LOCAL == 510
		LOCAL:2 = 450
	;COM:더블 가랑이를 본다
	ELSEIF LOCAL == 511
		LOCAL:2 = 500
	;COM:교호 삽입을 본다
	ELSEIF LOCAL == 511
		LOCAL:2 = 500
	ENDIF
	LOCALS = /{LOCAL}/
	SELECTCASE STRCOUNT(TSTR:1, LOCALS)
		;테이프에 비치지 않았다
		CASE 0
			LOCAL:1 = LOCAL:1
		;1회 비치고 있다
		CASE 1
			LOCAL:1 += LOCAL:2
		CASEELSE
			LOCAL:1 += LOCAL:2 * (2 + STRCOUNT(TSTR:1, LOCALS)) / 3
	ENDSELECT
NEXT
;처녀상실
SIF STRCOUNT(TSTR:1,"/LV1/")
	LOCAL:1 += 5000
SIF STRCOUNT(TSTR:1,"/LV2/")
	LOCAL:1 += 4000
SIF STRCOUNT(TSTR:1,"/LV3/")
	LOCAL:1 += 3000
SIF STRCOUNT(TSTR:1,"/LV4/")
	LOCAL:1 += 2000

;다중 절정
SIF STRCOUNT(TSTR:1,"/O4/")
	LOCAL:1 += 1000 * (4 + STRCOUNT(TSTR:1,"/O4/")) / 5
SIF STRCOUNT(TSTR:1,"/O3/")
	LOCAL:1 += 500 * (3 + STRCOUNT(TSTR:1,"/O3/")) / 4
SIF STRCOUNT(TSTR:1,"/O2/")
	LOCAL:1 += 300 * (2 + STRCOUNT(TSTR:1,"/O2/")) / 3

;절정
SIF STRCOUNT(TSTR:1,"/C/")
	LOCAL:1 += 200 * (2 + STRCOUNT(TSTR:1,"/C/")) / 3
SIF STRCOUNT(TSTR:1,"/V/")
	LOCAL:1 += 200 * (2 + STRCOUNT(TSTR:1,"/V/")) / 3
SIF STRCOUNT(TSTR:1,"/A/")
	LOCAL:1 += 200 * (2 + STRCOUNT(TSTR:1,"/A/")) / 3
SIF STRCOUNT(TSTR:1,"/B/")
	LOCAL:1 += 200 * (2 + STRCOUNT(TSTR:1,"/B/")) / 3

;사정
SIF STRCOUNT(TSTR:1,"/SM/")
	LOCAL:1 += 200 * (2 + STRCOUNT(TSTR:1,"/SM/")) / 3
SIF STRCOUNT(TSTR:1,"/ST/")
	LOCAL:1 += 300 * (2 + STRCOUNT(TSTR:1,"/ST/")) / 3
SIF STRCOUNT(TSTR:1,"/SA/")
	LOCAL:1 += 300 * (2 + STRCOUNT(TSTR:1,"/SA/")) / 3
SIF STRCOUNT(TSTR:1,"/SV/")
	LOCAL:1 += 300 * (2 + STRCOUNT(TSTR:1,"/SV/")) / 3

;분유
SIF STRCOUNT(TSTR:1,"/MILK/")
	LOCAL:1 += 500 * (3 + STRCOUNT(TSTR:1,"/MILK/")) / 4

SPLIT TSTR:1,"/", LOCALS
FOR LOCAL, 0, RESULT
	IF LOCALS:LOCAL == "0" || TOINT(LOCALS:LOCAL)
		PRINTL
		PRINTFORM %TRAINNAME:(TOINT(LOCALS:LOCAL))%
	ENDIF
	IF STRCOUNT(LOCALS:LOCAL,"LV")
		PRINT 처녀상실
	ELSEIF LOCALS:LOCAL == "C"
		IF LOCALS:(LOCAL + 1)== "C"
			PRINT C강절정
			LOCAL ++
		ELSE
			PRINT C절정
		ENDIF
	ELSEIF LOCALS:LOCAL == "V"
		IF LOCALS:(LOCAL + 1) == "V"
			PRINT V강절정
			LOCAL ++
		ELSE
			PRINT V절정
		ENDIF
	ELSEIF LOCALS:LOCAL == "A"
		IF LOCALS:(LOCAL + 1) == "A"
			PRINT A강절정
			LOCAL ++
		ELSE
			PRINT A절정
		ENDIF
	ELSEIF LOCALS:LOCAL == "B"
		IF LOCALS:(LOCAL + 1) == "B"
			PRINT B강절정
			LOCAL ++
		ELSE
			PRINT B절정
		ENDIF
	ELSEIF LOCALS:LOCAL == "SM"
		PRINT 사정(주인)
	ELSEIF LOCALS:LOCAL == "ST"
		PRINT 사정
	ELSEIF LOCALS:LOCAL == "SA"
		PRINT 사정(조수)
	ELSEIF LOCALS:LOCAL == "SV"
		PRINT (질내사정)
	ELSEIF LOCALS:LOCAL == "MILK"
		PRINT 분유
	ELSE
	ENDIF
NEXT
PRINTL
LOCAL:2 = 100
;소질:처녀를 본다
SIF TALENT:처녀 && TALENT:처녀 != -1
	LOCAL:2 += 20
;소질:무관심을 본다
SIF TALENT:무관심
	LOCAL:2 -= 30
;소질:감정결여를 본다
SIF TALENT:감정결여
	LOCAL:2 -= 30
;부끄러워해, 혹은 수치심 없음
SIF TALENT:수치심
	LOCAL:2 += 10
;소질:절벽을 본다
SIF TALENT:가슴사이즈 == -2
	LOCAL:2 -= 10
;소질:거유를 본다
SIF TALENT:가슴사이즈 == 1
	LOCAL:2 += 10
;소질:폭유를 본다
SIF TALENT:가슴사이즈 == 2
	LOCAL:2 += 20
;소질:동물귀를 본다
SIF TALENT:동물귀
	LOCAL:2 += 10
;소질:인기를 본다
SIF TALENT:인기
	LOCAL:2 += 20
;소질:수수께끼의매력을 본다
SIF TALENT:수수께끼의매력
	LOCAL:2 += 30
;소질:매력을 본다
SIF TALENT:매력
	LOCAL:2 += 20
;-----------------------------------------------------------

;노예의 피사경험을 본다
SIF EXP:TARGET:53 >= EXPLV:3
	LOCAL:2 += 10

;배율 처리
SIF LOCAL:2 < 50
	LOCAL:2 = 50

LOCAL:1 = LOCAL:1 * LOCAL:2 / 100

;난이도 처리
LOCAL:1 = LOCAL:1 * (20 - 5 * FLAG:4) / 10

PRINTFORML 녹화한 비디오는 ${LOCAL:1} 정도의 가격이 붙을 것 같다
PRINTL 녹화한 비디오를 어떻게 할지 선택해주세요
PRINTL [0] - 판다
PRINTL [1] - 수중에 남긴다
DRAWLINE

$INPUT_LOOP
INPUT
IF RESULT == 0
	PRINTFORML 조교시에 녹화한 비디오를 팔아 ${LOCAL:1} 입수했습니다
	MONEY += LOCAL:1
ELSEIF RESULT == 1
	PRINTFORML 조교시에 녹화한 비디오를 수중에 남겨두었다
ELSE
	GOTO INPUT_LOOP
ENDIF
DRAWLINE


code:
@YASAI
FOR LOCAL, 0,5
	IF PLANT_TYPE:LOCAL
		SIF FLAG:물주기대행
			PLANT_DRY:LOCAL = 0
		PLANT_DAYS:LOCAL ++
		PLANT_DRY:LOCAL ++
		;三粒の天滴を所有している場合は水やり済み＆成長に補正
		IF ITEM:세방울의천수
			PLANT_DRY:LOCAL = 0
			SIF PLANT_GROW:LOCAL < 10
				PLANT_GROW:LOCAL ++
	   ENDIF
		IF MAIN_MAP == 9
			PLANT_GROW:LOCAL ++
			;肥やしを撒いてある場合は追加
			SIF PLANT_FOOD:LOCAL && PLANT_GROW:LOCAL < 10
				PLANT_GROW:LOCAL ++
		ELSE
			SELECTCASE TIME:5
			CASE 0,1
				PLANT_GROW:LOCAL ++
				;거름을 뿌려 있는 경우는 추가
				SIF PLANT_FOOD:LOCAL && PLANT_GROW:LOCAL < 10
					PLANT_GROW:LOCAL ++
			CASE 2,3
				PLANT_GROW:LOCAL += RAND:2
				SIF PLANT_FOOD:LOCAL && PLANT_GROW:LOCAL < 10
					PLANT_GROW:LOCAL ++
			CASE 4 TO 7
				PLANT_DRY:LOCAL = 0
				;거름을 뿌려 있는 경우는 1/2의 확률로 한층 더 추가
				SIF PLANT_FOOD:LOCAL && PLANT_GROW:LOCAL < 10
					PLANT_GROW:LOCAL += RAND:2
			CASE 8 TO 13
				PLANT_GROW:LOCAL -= RAND:2
			ENDSELECT
		ENDIF
	ENDIF
NEXT


code:
;Creat by 렌렌
;
;   【사용방법】
;
;      %CALLNAME:TARGET%は 를 번역할 때의 기존 방식 = %CALLNAME:TARGET%(은)는
;      %CALLNAME:TARGET%は 를 번역할 때의 신규 방식 = %CALLNAME:TARGET%
;          신규 방식을 사용하면 자동으로 은/는 처리를 해줌
;
;      함수 종류는 현재 (플레이어는/플레이어가/플레이어어와/플레이어를          타겟은/타겟이/타겟을/타겟과)
;                       각각         CALLNAME:MASTER                                        CALLNAME:TARGET            에 대응
;             (      일반적으로 %CALLNAME%은 %CALLNAME:TARGET%의 생략형임         )
;
;      이후 함수는 계속 추가 예정
;
;      함수의 괄호안에 아무 값이나 넣으면 CALLNAME이 아니라 NAME을 참고
;
;
;                            ----------사용 예시 정리-------------
;
;
;                    %CALLNAME:MASTER%は = %플레이어는%
;                    %CALLNAME:MASTER%が = %플레이어가%
;                    %CALLNAME:MASTER%を = %플레이어를%
;                    %CALLNAME:MASTER%と = %플레이어와%
;
;
;                    %CALLNAME:MASTER%は = %마스터는%
;                    %CALLNAME:MASTER%が = %마스터가%
;                    %CALLNAME:MASTER%を = %마스터를%
;                    %CALLNAME:MASTER%と = %마스터와%
;
;
;                    %CALLNAME:TARGET%は = %타겟은%
;                    %CALLNAME:TARGET%が = %타겟이%
;                    %CALLNAME:TARGET%を = %타겟을%
;                    %CALLNAME:TARGET%と = %타겟과%
;
;
;                    %CALLNAME:PLAYER%は = %조교자는%
;                    %CALLNAME:PLAYER%が = %조교자가%
;                    %CALLNAME:PLAYER%を = %조교자를%
;                    %CALLNAME:PLAYER%と = %조교자와%
;
;
;                    %NAME:MASTER%は = %플레이어는(1)%
;                    %NAME:MASTER%が = %플레이어가(1)%
;                    %NAME:MASTER%を = %플레이어를(1)%
;                    %NAME:MASTER%と = %플레이어와(1)%
;
;
;                    %NAME:TARGET%は = %타겟은(1)%
;                    %NAME:TARGET%が = %타겟이(1)%
;                    %NAME:TARGET%を = %타겟을(1)%
;                    %NAME:TARGET%と = %타겟과(1)%
;                ---------------------------------------------------------------
;
;
;
;
;        2012 / 07 / 13 업뎃              -함수 기반 변경 및 종류 추가
;                         대응 인수 (대상)  = MASTER, TARGET, ASSI, ARG (4종)
;                        조사 종류 = 은/는, 이/가, 을/를, 와/과, 로/으로, 랑/이랑, 라/이라, 며/이며, 고/이고 (9종)
;
;
;        2012 / 07 / 14 업뎃              -함수 정리
;            조사 종류 추가 (다/이다. 현재 10종)
;                       기반 변경. CALLNAME, MASTER 등을 따로 넣지 않고 곧바로 대입 처리
;            式中関数에 대응 가능
;            기존 (개별) 함수는 그대로 사용 가능
;            선언되어 있지 않은 타입의 인수를 받을때는 (플레이어/타겟/조수/ARG 외) 아래와 같이 사용
;
;
;            PRINTFORMW %CALLNAME:(ARG:1)%が
;            PRINTFORMW %조사처리(CALLNAME:(ARG:1),"가")%
;
;
;                ※ 式中関数
;            PRINTFORMW ――%CNAME()%を、調教する。
;            PRINTFORMW ――%조사처리(CNAME(),"를")%、조교한다.
;
;
;            '조사처리'대신 '조사만처리'를 사용하면 조사 부분만 가져올 수 있다
;            도중에 끊겨있는 경우에 유용 (주로 」, 』 등을 사용하는 부분)
;
;            PRINTFORMW 調教者を「%NAME:TARGET%」に設定します
;            PRINTFORMW 조교자를 「%NAME:TARGET%」%조사만처리(NAME:TARGET,"로")% 설정합니다
;
;
;    ...'조사만처리'를 간락화 할 수 있을 듯 하지만 플래그 겹침문제나 변수 리셋 관련으로 고민할 필요가 있을 듯
;
;
;
;
;        2012 / 08 / 04 업뎃              -종류 추가. 범용화 처리. 치환의 간편화를 위해 정규식 srs 파일 업로드
;            현재
;
;            대응 인수 (대상)  = MASTER, TARGET, ASSI (3종)
;                        조사 종류 = 은/는, 이/가, 을/를, 와/과, 로/으로, 랑/이랑, 라/이라, 며/이며, 고/이고, 다/이다, 이었/였, 여/이여, 야/이야 (13종)
;
;
;        2012 / 08 / 08 업뎃              -종류 추가. 정규식 추가 및 수정
;                              -조사처리 이후 RESULT 사용시 문제 발생 없도록 대처
;                        조사 종류 = 은/는, 이/가, 을/를, 와/과, 로/으로, 랑/이랑, 라/이라, 며/이며, 고/이고, 다/이다, 이었/였, 여/이여, 야/이야, 나/이나, 면/이면 (15종)
;
;
;        2012 / 09 / 06 업뎃              -배리언트 변수 사이즈에 영향을 덜 받도록 수정
;                              -조사처리에 마지막 치환 부분 추가 (나가->내가,저가->제가 등에 대응)
;                        조사 종류 = 은/는, 이/가, 을/를, 와/과, 로/으로, 랑/이랑, 라/이라, 며/이며, 고/이고, 다/이다, 이었/였, 여/이여, 야/이야, 나/이나, 면/이면 (15종)
;
;
;        2012 / 09 / 10 업뎃              -RESULT, RESULTS 양쪽 대응. 처리 방식 변경
;
;        2014 / 02 / 15 업뎃              -조사 종류 추가.
;                        조사 종류 = 은/는, 이/가, 을/를, 와/과, 로/으로, 랑/이랑, 라/이라, 며/이며, 고/이고, 다/이다, 이었/였, 여/이여, 야/이야, 나/이나, 면/이면, 겠/이겠, 셨/이셨, 잖/이잖 니/이니 (19종)
;
;        2014 / 05 / 07 업뎃              -오류 수정 및 CASELESS 추가
;               %조사처리(CALLNAME:MASTER,"의")% 를 입력하면 [이름의]가 출력되도록
;                                                                            (기존 = [이름])
;                '이지만' 이 제대로 처리되지 않는 문제 수정
;---------------------------------------------------------------------------------------------------------------------

;====================================================
;                        후치환
;  조사를 붙인 후 추가 처리를 한다
;====================================================

@후치환(ARGS)
#FUNCTIONS

SIF ARGS == "나가"
    ARGS = 내가

SIF ARGS == "저가"
    ARGS = 제가

RETURNF ARGS

;========================================
;                        KR_NAME
;  이름의 마지막 글자를 체크해 Type을 반환해준다
;   2 = 받침 없음       1 = 받침 있음         (혹시 모를 오류 방지를 위해 0은 사용하지 않음)
;========================================
@KR_NAME(ARGS)
#FUNCTION
#LOCALSIZE 6
#LOCALSSIZE 6

LOCAL:5 = RESULT
LOCALS:5 = %RESULTS%

;이름을 가져온다
LOCALS:1 = %ARGS%

;이름 길이 체크
STRLENSU LOCALS:1

;체크한 값을 보존
LOCAL:1 = RESULT - 1

;이름의 마지막 글자를 보존한다
IF LOCAL:1 > 0
    SUBSTRINGU LOCALS:1, LOCAL:1, 1
ELSE
    SUBSTRINGU LOCALS:1, 0, 1
ENDIF
LOCALS:2 = %RESULTS%

RESULT = LOCAL:5
LOCAL:5 = 0
RESULTS = %LOCALS:5%
LOCALS:5 = 0

;받침이 있는 글자와 없는 글자를 구분해 반환
IF LOCALS:2 == "가"
    RETURNF 2
ELSEIF LOCALS:2 == "나"
    RETURNF 2
ELSEIF LOCALS:2 == "다"
    RETURNF 2
ELSEIF LOCALS:2 == "라"
    RETURNF 2
ELSEIF LOCALS:2 == "마"
    RETURNF 2
ELSEIF LOCALS:2 == "바"
    RETURNF 2
ELSEIF LOCALS:2 == "사"
    RETURNF 2
ELSEIF LOCALS:2 == "아"
    RETURNF 2
ELSEIF LOCALS:2 == "자"
    RETURNF 2
ELSEIF LOCALS:2 == "차"
    RETURNF 2
ELSEIF LOCALS:2 == "카"
    RETURNF 2
ELSEIF LOCALS:2 == "타"
    RETURNF 2
ELSEIF LOCALS:2 == "파"
    RETURNF 2
ELSEIF LOCALS:2 == "하"
    RETURNF 2
ELSEIF LOCALS:2 == "까"
    RETURNF 2
ELSEIF LOCALS:2 == "따"
    RETURNF 2
ELSEIF LOCALS:2 == "빠"
    RETURNF 2
ELSEIF LOCALS:2 == "싸"
    RETURNF 2
ELSEIF LOCALS:2 == "짜"
    RETURNF 2
ELSEIF LOCALS:2 == "갸"
    RETURNF 2
ELSEIF LOCALS:2 == "냐"
    RETURNF 2
ELSEIF LOCALS:2 == "댜"
    RETURNF 2
ELSEIF LOCALS:2 == "랴"
    RETURNF 2
ELSEIF LOCALS:2 == "먀"
    RETURNF 2
ELSEIF LOCALS:2 == "뱌"
    RETURNF 2
ELSEIF LOCALS:2 == "샤"
    RETURNF 2
ELSEIF LOCALS:2 == "야"
    RETURNF 2
ELSEIF LOCALS:2 == "쟈"
    RETURNF 2
ELSEIF LOCALS:2 == "챠"
    RETURNF 2
ELSEIF LOCALS:2 == "캬"
    RETURNF 2
ELSEIF LOCALS:2 == "탸"
    RETURNF 2
ELSEIF LOCALS:2 == "퍄"
    RETURNF 2
ELSEIF LOCALS:2 == "햐"
    RETURNF 2
ELSEIF LOCALS:2 == "꺄"
    RETURNF 2
ELSEIF LOCALS:2 == "땨"
    RETURNF 2
ELSEIF LOCALS:2 == "뺘"
    RETURNF 2
ELSEIF LOCALS:2 == "쌰"
    RETURNF 2
ELSEIF LOCALS:2 == "쨔"
    RETURNF 2
ELSEIF LOCALS:2 == "거"
    RETURNF 2
ELSEIF LOCALS:2 == "너"
    RETURNF 2
ELSEIF LOCALS:2 == "더"
    RETURNF 2
ELSEIF LOCALS:2 == "러"
    RETURNF 2
ELSEIF LOCALS:2 == "머"
    RETURNF 2
ELSEIF LOCALS:2 == "버"
    RETURNF 2
ELSEIF LOCALS:2 == "서"
    RETURNF 2
ELSEIF LOCALS:2 == "어"
    RETURNF 2
ELSEIF LOCALS:2 == "저"
    RETURNF 2
ELSEIF LOCALS:2 == "처"
    RETURNF 2
ELSEIF LOCALS:2 == "커"
    RETURNF 2
ELSEIF LOCALS:2 == "터"
    RETURNF 2
ELSEIF LOCALS:2 == "퍼"
    RETURNF 2
ELSEIF LOCALS:2 == "허"
    RETURNF 2
ELSEIF LOCALS:2 == "꺼"
    RETURNF 2
ELSEIF LOCALS:2 == "떠"
    RETURNF 2
ELSEIF LOCALS:2 == "뻐"
    RETURNF 2
ELSEIF LOCALS:2 == "써"
    RETURNF 2
ELSEIF LOCALS:2 == "쩌"
    RETURNF 2
ELSEIF LOCALS:2 == "겨"
    RETURNF 2
ELSEIF LOCALS:2 == "녀"
    RETURNF 2
ELSEIF LOCALS:2 == "뎌"
    RETURNF 2
ELSEIF LOCALS:2 == "려"
    RETURNF 2
ELSEIF LOCALS:2 == "며"
    RETURNF 2
ELSEIF LOCALS:2 == "벼"
    RETURNF 2
ELSEIF LOCALS:2 == "셔"
    RETURNF 2
ELSEIF LOCALS:2 == "여"
    RETURNF 2
ELSEIF LOCALS:2 == "져"
    RETURNF 2
ELSEIF LOCALS:2 == "쳐"
    RETURNF 2
ELSEIF LOCALS:2 == "켜"
    RETURNF 2
ELSEIF LOCALS:2 == "텨"
    RETURNF 2
ELSEIF LOCALS:2 == "펴"
    RETURNF 2
ELSEIF LOCALS:2 == "혀"
    RETURNF 2
ELSEIF LOCALS:2 == "껴"
    RETURNF 2
ELSEIF LOCALS:2 == "뗘"
    RETURNF 2
ELSEIF LOCALS:2 == "뼈"
    RETURNF 2
ELSEIF LOCALS:2 == "쎠"
    RETURNF 2
ELSEIF LOCALS:2 == "쪄"
    RETURNF 2
ELSEIF LOCALS:2 == "고"
    RETURNF 2
ELSEIF LOCALS:2 == "노"
    RETURNF 2
ELSEIF LOCALS:2 == "도"
    RETURNF 2
ELSEIF LOCALS:2 == "로"
    RETURNF 2
ELSEIF LOCALS:2 == "모"
    RETURNF 2
ELSEIF LOCALS:2 == "보"
    RETURNF 2
ELSEIF LOCALS:2 == "소"
    RETURNF 2
ELSEIF LOCALS:2 == "오"
    RETURNF 2
ELSEIF LOCALS:2 == "조"
    RETURNF 2
ELSEIF LOCALS:2 == "초"
    RETURNF 2
ELSEIF LOCALS:2 == "코"
    RETURNF 2
ELSEIF LOCALS:2 == "토"
    RETURNF 2
ELSEIF LOCALS:2 == "포"
    RETURNF 2
ELSEIF LOCALS:2 == "호"
    RETURNF 2
ELSEIF LOCALS:2 == "꼬"
    RETURNF 2
ELSEIF LOCALS:2 == "또"
    RETURNF 2
ELSEIF LOCALS:2 == "뽀"
    RETURNF 2
ELSEIF LOCALS:2 == "쏘"
    RETURNF 2
ELSEIF LOCALS:2 == "쯔"
    RETURNF 2
ELSEIF LOCALS:2 == "교"
    RETURNF 2
ELSEIF LOCALS:2 == "뇨"
    RETURNF 2
ELSEIF LOCALS:2 == "됴"
    RETURNF 2
ELSEIF LOCALS:2 == "료"
    RETURNF 2
ELSEIF LOCALS:2 == "묘"
    RETURNF 2
ELSEIF LOCALS:2 == "뵤"
    RETURNF 2
ELSEIF LOCALS:2 == "쇼"
    RETURNF 2
ELSEIF LOCALS:2 == "요"
    RETURNF 2
ELSEIF LOCALS:2 == "죠"
    RETURNF 2
ELSEIF LOCALS:2 == "쵸"
    RETURNF 2
ELSEIF LOCALS:2 == "쿄"
    RETURNF 2
ELSEIF LOCALS:2 == "툐"
    RETURNF 2
ELSEIF LOCALS:2 == "표"
    RETURNF 2
ELSEIF LOCALS:2 == "효"
    RETURNF 2
ELSEIF LOCALS:2 == "꾜"
    RETURNF 2
ELSEIF LOCALS:2 == "뚀"
    RETURNF 2
ELSEIF LOCALS:2 == "뾰"
    RETURNF 2
ELSEIF LOCALS:2 == "쑈"
    RETURNF 2
ELSEIF LOCALS:2 == "쬬"
    RETURNF 2
ELSEIF LOCALS:2 == "구"
    RETURNF 2
ELSEIF LOCALS:2 == "누"
    RETURNF 2
ELSEIF LOCALS:2 == "두"
    RETURNF 2
ELSEIF LOCALS:2 == "루"
    RETURNF 2
ELSEIF LOCALS:2 == "무"
    RETURNF 2
ELSEIF LOCALS:2 == "부"
    RETURNF 2
ELSEIF LOCALS:2 == "수"
    RETURNF 2
ELSEIF LOCALS:2 == "우"
    RETURNF 2
ELSEIF LOCALS:2 == "주"
    RETURNF 2
ELSEIF LOCALS:2 == "추"
    RETURNF 2
ELSEIF LOCALS:2 == "쿠"
    RETURNF 2
ELSEIF LOCALS:2 == "투"
    RETURNF 2
ELSEIF LOCALS:2 == "푸"
    RETURNF 2
ELSEIF LOCALS:2 == "후"
    RETURNF 2
ELSEIF LOCALS:2 == "꾸"
    RETURNF 2
ELSEIF LOCALS:2 == "뚜"
    RETURNF 2
ELSEIF LOCALS:2 == "뿌"
    RETURNF 2
ELSEIF LOCALS:2 == "쑤"
    RETURNF 2
ELSEIF LOCALS:2 == "쭈"
    RETURNF 2
ELSEIF LOCALS:2 == "규"
    RETURNF 2
ELSEIF LOCALS:2 == "뉴"
    RETURNF 2
ELSEIF LOCALS:2 == "듀"
    RETURNF 2
ELSEIF LOCALS:2 == "류"
    RETURNF 2
ELSEIF LOCALS:2 == "뮤"
    RETURNF 2
ELSEIF LOCALS:2 == "뷰"
    RETURNF 2
ELSEIF LOCALS:2 == "슈"
    RETURNF 2
ELSEIF LOCALS:2 == "유"
    RETURNF 2
ELSEIF LOCALS:2 == "쥬"
    RETURNF 2
ELSEIF LOCALS:2 == "츄"
    RETURNF 2
ELSEIF LOCALS:2 == "큐"
    RETURNF 2
ELSEIF LOCALS:2 == "튜"
    RETURNF 2
ELSEIF LOCALS:2 == "퓨"
    RETURNF 2
ELSEIF LOCALS:2 == "휴"
    RETURNF 2
ELSEIF LOCALS:2 == "뀨"
    RETURNF 2
ELSEIF LOCALS:2 == "뜌"
    RETURNF 2
ELSEIF LOCALS:2 == "쀼"
    RETURNF 2
ELSEIF LOCALS:2 == "쓔"
    RETURNF 2
ELSEIF LOCALS:2 == "쮸"
    RETURNF 2
ELSEIF LOCALS:2 == "그"
    RETURNF 2
ELSEIF LOCALS:2 == "느"
    RETURNF 2
ELSEIF LOCALS:2 == "드"
    RETURNF 2
ELSEIF LOCALS:2 == "르"
    RETURNF 2
ELSEIF LOCALS:2 == "므"
    RETURNF 2
ELSEIF LOCALS:2 == "브"
    RETURNF 2
ELSEIF LOCALS:2 == "스"
    RETURNF 2
ELSEIF LOCALS:2 == "으"
    RETURNF 2
ELSEIF LOCALS:2 == "즈"
    RETURNF 2
ELSEIF LOCALS:2 == "츠"
    RETURNF 2
ELSEIF LOCALS:2 == "크"
    RETURNF 2
ELSEIF LOCALS:2 == "트"
    RETURNF 2
ELSEIF LOCALS:2 == "프"
    RETURNF 2
ELSEIF LOCALS:2 == "흐"
    RETURNF 2
ELSEIF LOCALS:2 == "끄"
    RETURNF 2
ELSEIF LOCALS:2 == "뜨"
    RETURNF 2
ELSEIF LOCALS:2 == "쁘"
    RETURNF 2
ELSEIF LOCALS:2 == "쓰"
    RETURNF 2
ELSEIF LOCALS:2 == "쯔"
    RETURNF 2
ELSEIF LOCALS:2 == "기"
    RETURNF 2
ELSEIF LOCALS:2 == "니"
    RETURNF 2
ELSEIF LOCALS:2 == "디"
    RETURNF 2
ELSEIF LOCALS:2 == "리"
    RETURNF 2
ELSEIF LOCALS:2 == "미"
    RETURNF 2
ELSEIF LOCALS:2 == "비"
    RETURNF 2
ELSEIF LOCALS:2 == "시"
    RETURNF 2
ELSEIF LOCALS:2 == "이"
    RETURNF 2
ELSEIF LOCALS:2 == "지"
    RETURNF 2
ELSEIF LOCALS:2 == "치"
    RETURNF 2
ELSEIF LOCALS:2 == "키"
    RETURNF 2
ELSEIF LOCALS:2 == "티"
    RETURNF 2
ELSEIF LOCALS:2 == "피"
    RETURNF 2
ELSEIF LOCALS:2 == "히"
    RETURNF 2
ELSEIF LOCALS:2 == "끼"
    RETURNF 2
ELSEIF LOCALS:2 == "띠"
    RETURNF 2
ELSEIF LOCALS:2 == "삐"
    RETURNF 2
ELSEIF LOCALS:2 == "씨"
    RETURNF 2
ELSEIF LOCALS:2 == "찌"
    RETURNF 2
ELSEIF LOCALS:2 == "개"
    RETURNF 2
ELSEIF LOCALS:2 == "내"
    RETURNF 2
ELSEIF LOCALS:2 == "대"
    RETURNF 2
ELSEIF LOCALS:2 == "래"
    RETURNF 2
ELSEIF LOCALS:2 == "매"
    RETURNF 2
ELSEIF LOCALS:2 == "배"
    RETURNF 2
ELSEIF LOCALS:2 == "새"
    RETURNF 2
ELSEIF LOCALS:2 == "애"
    RETURNF 2
ELSEIF LOCALS:2 == "재"
    RETURNF 2
ELSEIF LOCALS:2 == "채"
    RETURNF 2
ELSEIF LOCALS:2 == "캐"
    RETURNF 2
ELSEIF LOCALS:2 == "태"
    RETURNF 2
ELSEIF LOCALS:2 == "패"
    RETURNF 2
ELSEIF LOCALS:2 == "해"
    RETURNF 2
ELSEIF LOCALS:2 == "깨"
    RETURNF 2
ELSEIF LOCALS:2 == "때"
    RETURNF 2
ELSEIF LOCALS:2 == "빼"
    RETURNF 2
ELSEIF LOCALS:2 == "쌔"
    RETURNF 2
ELSEIF LOCALS:2 == "째"
    RETURNF 2
ELSEIF LOCALS:2 == "걔"
    RETURNF 2
ELSEIF LOCALS:2 == "냬"
    RETURNF 2
ELSEIF LOCALS:2 == "댸"
    RETURNF 2
ELSEIF LOCALS:2 == "럐"
    RETURNF 2
ELSEIF LOCALS:2 == "먜"
    RETURNF 2
ELSEIF LOCALS:2 == "뱨"
    RETURNF 2
ELSEIF LOCALS:2 == "섀"
    RETURNF 2
ELSEIF LOCALS:2 == "얘"
    RETURNF 2
ELSEIF LOCALS:2 == "쟤"
    RETURNF 2
ELSEIF LOCALS:2 == "챼"
    RETURNF 2
ELSEIF LOCALS:2 == "컈"
    RETURNF 2
ELSEIF LOCALS:2 == "턔"
    RETURNF 2
ELSEIF LOCALS:2 == "퍠"
    RETURNF 2
ELSEIF LOCALS:2 == "햬"
    RETURNF 2
ELSEIF LOCALS:2 == "꺠"
    RETURNF 2
ELSEIF LOCALS:2 == "떄"
    RETURNF 2
ELSEIF LOCALS:2 == "뺴"
    RETURNF 2
ELSEIF LOCALS:2 == "썌"
    RETURNF 2
ELSEIF LOCALS:2 == "쨰"
    RETURNF 2
ELSEIF LOCALS:2 == "게"
    RETURNF 2
ELSEIF LOCALS:2 == "네"
    RETURNF 2
ELSEIF LOCALS:2 == "데"
    RETURNF 2
ELSEIF LOCALS:2 == "레"
    RETURNF 2
ELSEIF LOCALS:2 == "메"
    RETURNF 2
ELSEIF LOCALS:2 == "베"
    RETURNF 2
ELSEIF LOCALS:2 == "세"
    RETURNF 2
ELSEIF LOCALS:2 == "에"
    RETURNF 2
ELSEIF LOCALS:2 == "제"
    RETURNF 2
ELSEIF LOCALS:2 == "체"
    RETURNF 2
ELSEIF LOCALS:2 == "케"
    RETURNF 2
ELSEIF LOCALS:2 == "테"
    RETURNF 2
ELSEIF LOCALS:2 == "페"
    RETURNF 2
ELSEIF LOCALS:2 == "헤"
    RETURNF 2
ELSEIF LOCALS:2 == "께"
    RETURNF 2
ELSEIF LOCALS:2 == "떼"
    RETURNF 2
ELSEIF LOCALS:2 == "뻬"
    RETURNF 2
ELSEIF LOCALS:2 == "쎄"
    RETURNF 2
ELSEIF LOCALS:2 == "쩨"
    RETURNF 2
ELSEIF LOCALS:2 == "계"
    RETURNF 2
ELSEIF LOCALS:2 == "녜"
    RETURNF 2
ELSEIF LOCALS:2 == "뎨"
    RETURNF 2
ELSEIF LOCALS:2 == "례"
    RETURNF 2
ELSEIF LOCALS:2 == "몌"
    RETURNF 2
ELSEIF LOCALS:2 == "볘"
    RETURNF 2
ELSEIF LOCALS:2 == "셰"
    RETURNF 2
ELSEIF LOCALS:2 == "예"
    RETURNF 2
ELSEIF LOCALS:2 == "졔"
    RETURNF 2
ELSEIF LOCALS:2 == "쳬"
    RETURNF 2
ELSEIF LOCALS:2 == "켸"
    RETURNF 2
ELSEIF LOCALS:2 == "톄"
    RETURNF 2
ELSEIF LOCALS:2 == "폐"
    RETURNF 2
ELSEIF LOCALS:2 == "혜"
    RETURNF 2
ELSEIF LOCALS:2 == "꼐"
    RETURNF 2
ELSEIF LOCALS:2 == "뗴"
    RETURNF 2
ELSEIF LOCALS:2 == "뼤"
    RETURNF 2
ELSEIF LOCALS:2 == "쎼"
    RETURNF 2
ELSEIF LOCALS:2 == "쪠"
    RETURNF 2
ELSEIF LOCALS:2 == "과"
    RETURNF 2
ELSEIF LOCALS:2 == "놔"
    RETURNF 2
ELSEIF LOCALS:2 == "돠"
    RETURNF 2
ELSEIF LOCALS:2 == "롸"
    RETURNF 2
ELSEIF LOCALS:2 == "뫄"
    RETURNF 2
ELSEIF LOCALS:2 == "봐"
    RETURNF 2
ELSEIF LOCALS:2 == "솨"
    RETURNF 2
ELSEIF LOCALS:2 == "와"
    RETURNF 2
ELSEIF LOCALS:2 == "좌"
    RETURNF 2
ELSEIF LOCALS:2 == "촤"
    RETURNF 2
ELSEIF LOCALS:2 == "콰"
    RETURNF 2
ELSEIF LOCALS:2 == "톼"
    RETURNF 2
ELSEIF LOCALS:2 == "퐈"
    RETURNF 2
ELSEIF LOCALS:2 == "화"
    RETURNF 2
ELSEIF LOCALS:2 == "꽈"
    RETURNF 2
ELSEIF LOCALS:2 == "똬"
    RETURNF 2
ELSEIF LOCALS:2 == "뽜"
    RETURNF 2
ELSEIF LOCALS:2 == "쏴"
    RETURNF 2
ELSEIF LOCALS:2 == "쫘"
    RETURNF 2
ELSEIF LOCALS:2 == "괘"
    RETURNF 2
ELSEIF LOCALS:2 == "놰"
    RETURNF 2
ELSEIF LOCALS:2 == "돼"
    RETURNF 2
ELSEIF LOCALS:2 == "뢔"
    RETURNF 2
ELSEIF LOCALS:2 == "뫠"
    RETURNF 2
ELSEIF LOCALS:2 == "봬"
    RETURNF 2
ELSEIF LOCALS:2 == "쇄"
    RETURNF 2
ELSEIF LOCALS:2 == "왜"
    RETURNF 2
ELSEIF LOCALS:2 == "좨"
    RETURNF 2
ELSEIF LOCALS:2 == "쵀"
    RETURNF 2
ELSEIF LOCALS:2 == "쾌"
    RETURNF 2
ELSEIF LOCALS:2 == "퇘"
    RETURNF 2
ELSEIF LOCALS:2 == "퐤"
    RETURNF 2
ELSEIF LOCALS:2 == "홰"
    RETURNF 2
ELSEIF LOCALS:2 == "꽤"
    RETURNF 2
ELSEIF LOCALS:2 == "뙈"
    RETURNF 2
ELSEIF LOCALS:2 == "뽸"
    RETURNF 2
ELSEIF LOCALS:2 == "쐐"
    RETURNF 2
ELSEIF LOCALS:2 == "쫴"
    RETURNF 2
ELSEIF LOCALS:2 == "괴"
    RETURNF 2
ELSEIF LOCALS:2 == "뇌"
    RETURNF 2
ELSEIF LOCALS:2 == "되"
    RETURNF 2
ELSEIF LOCALS:2 == "뢰"
    RETURNF 2
ELSEIF LOCALS:2 == "뫼"
    RETURNF 2
ELSEIF LOCALS:2 == "뵈"
    RETURNF 2
ELSEIF LOCALS:2 == "쇠"
    RETURNF 2
ELSEIF LOCALS:2 == "외"
    RETURNF 2
ELSEIF LOCALS:2 == "죄"
    RETURNF 2
ELSEIF LOCALS:2 == "최"
    RETURNF 2
ELSEIF LOCALS:2 == "쾨"
    RETURNF 2
ELSEIF LOCALS:2 == "퇴"
    RETURNF 2
ELSEIF LOCALS:2 == "푀"
    RETURNF 2
ELSEIF LOCALS:2 == "회"
    RETURNF 2
ELSEIF LOCALS:2 == "꾀"
    RETURNF 2
ELSEIF LOCALS:2 == "뙤"
    RETURNF 2
ELSEIF LOCALS:2 == "뾔"
    RETURNF 2
ELSEIF LOCALS:2 == "쐬"
    RETURNF 2
ELSEIF LOCALS:2 == "쬐"
    RETURNF 2
ELSEIF LOCALS:2 == "궈"
    RETURNF 2
ELSEIF LOCALS:2 == "눠"
    RETURNF 2
ELSEIF LOCALS:2 == "둬"
    RETURNF 2
ELSEIF LOCALS:2 == "뤄"
    RETURNF 2
ELSEIF LOCALS:2 == "뭐"
    RETURNF 2
ELSEIF LOCALS:2 == "붜"
    RETURNF 2
ELSEIF LOCALS:2 == "숴"
    RETURNF 2
ELSEIF LOCALS:2 == "워"
    RETURNF 2
ELSEIF LOCALS:2 == "줘"
    RETURNF 2
ELSEIF LOCALS:2 == "춰"
    RETURNF 2
ELSEIF LOCALS:2 == "쿼"
    RETURNF 2
ELSEIF LOCALS:2 == "퉈"
    RETURNF 2
ELSEIF LOCALS:2 == "풔"
    RETURNF 2
ELSEIF LOCALS:2 == "훠"
    RETURNF 2
ELSEIF LOCALS:2 == "꿔"
    RETURNF 2
ELSEIF LOCALS:2 == "뚸"
    RETURNF 2
ELSEIF LOCALS:2 == "뿨"
    RETURNF 2
ELSEIF LOCALS:2 == "쒀"
    RETURNF 2
ELSEIF LOCALS:2 == "쭤"
    RETURNF 2
ELSEIF LOCALS:2 == "궤"
    RETURNF 2
ELSEIF LOCALS:2 == "눼"
    RETURNF 2
ELSEIF LOCALS:2 == "뒈"
    RETURNF 2
ELSEIF LOCALS:2 == "뤠"
    RETURNF 2
ELSEIF LOCALS:2 == "뭬"
    RETURNF 2
ELSEIF LOCALS:2 == "붸"
    RETURNF 2
ELSEIF LOCALS:2 == "쉐"
    RETURNF 2
ELSEIF LOCALS:2 == "웨"
    RETURNF 2
ELSEIF LOCALS:2 == "줴"
    RETURNF 2
ELSEIF LOCALS:2 == "췌"
    RETURNF 2
ELSEIF LOCALS:2 == "퀘"
    RETURNF 2
ELSEIF LOCALS:2 == "퉤"
    RETURNF 2
ELSEIF LOCALS:2 == "풰"
    RETURNF 2
ELSEIF LOCALS:2 == "훼"
    RETURNF 2
ELSEIF LOCALS:2 == "꿰"
    RETURNF 2
ELSEIF LOCALS:2 == "뛔"
    RETURNF 2
ELSEIF LOCALS:2 == "쀄"
    RETURNF 2
ELSEIF LOCALS:2 == "쒜"
    RETURNF 2
ELSEIF LOCALS:2 == "쮀"
    RETURNF 2
ELSEIF LOCALS:2 == "귀"
    RETURNF 2
ELSEIF LOCALS:2 == "늬"
    RETURNF 2
ELSEIF LOCALS:2 == "뒤"
    RETURNF 2
ELSEIF LOCALS:2 == "뤼"
    RETURNF 2
ELSEIF LOCALS:2 == "뮈"
    RETURNF 2
ELSEIF LOCALS:2 == "뷔"
    RETURNF 2
ELSEIF LOCALS:2 == "쉬"
    RETURNF 2
ELSEIF LOCALS:2 == "위"
    RETURNF 2
ELSEIF LOCALS:2 == "쥐"
    RETURNF 2
ELSEIF LOCALS:2 == "취"
    RETURNF 2
ELSEIF LOCALS:2 == "퀴"
    RETURNF 2
ELSEIF LOCALS:2 == "튀"
    RETURNF 2
ELSEIF LOCALS:2 == "퓌"
    RETURNF 2
ELSEIF LOCALS:2 == "휘"
    RETURNF 2
ELSEIF LOCALS:2 == "뀌"
    RETURNF 2
ELSEIF LOCALS:2 == "뛰"
    RETURNF 2
ELSEIF LOCALS:2 == "쀠"
    RETURNF 2
ELSEIF LOCALS:2 == "쒸"
    RETURNF 2
ELSEIF LOCALS:2 == "쮜"
    RETURNF 2
ELSEIF LOCALS:2 == "긔"
    RETURNF 2
ELSEIF LOCALS:2 == "늬"
    RETURNF 2
ELSEIF LOCALS:2 == "듸"
    RETURNF 2
ELSEIF LOCALS:2 == "릐"
    RETURNF 2
ELSEIF LOCALS:2 == "믜"
    RETURNF 2
ELSEIF LOCALS:2 == "븨"
    RETURNF 2
ELSEIF LOCALS:2 == "싀"
    RETURNF 2
ELSEIF LOCALS:2 == "의"
    RETURNF 2
ELSEIF LOCALS:2 == "즤"
    RETURNF 2
ELSEIF LOCALS:2 == "츼"
    RETURNF 2
ELSEIF LOCALS:2 == "킈"
    RETURNF 2
ELSEIF LOCALS:2 == "틔"
    RETURNF 2
ELSEIF LOCALS:2 == "픠"
    RETURNF 2
ELSEIF LOCALS:2 == "희"
    RETURNF 2
ELSEIF LOCALS:2 == "끠"
    RETURNF 2
ELSEIF LOCALS:2 == "띄"
    RETURNF 2
ELSEIF LOCALS:2 == "쁴"
    RETURNF 2
ELSEIF LOCALS:2 == "씌"
    RETURNF 2
ELSEIF LOCALS:2 == "쯰"
    RETURNF 2
ELSEIF LOCALS:2 == "2"
    RETURNF 2
ELSEIF LOCALS:2 == "4"
    RETURNF 2
ELSEIF LOCALS:2 == "5"
    RETURNF 2
ELSEIF LOCALS:2 == "9"
    RETURNF 2
ELSE
    RETURNF 1
ENDIF

;========================================
;                        조사선택
;
;  모든 개별 함수의 BASE 함수
;  입력받은 이름에 해당 조사를 붙여 되돌려준다
;
;    ex) CALLNAME:MASTER가 '당신'인 경우,
;        %조사선택(CALLNAME:MASTER,"는")%
;         를 부르면 '당신은' 이 반환된다
;
;  종류 : 式中関数
;  PRINTFORM 등의 출력 함수에서 부르면 내용이 전개되어 반환된다
;========================================

;========================================
;                        조사선택 (ver.2)
;
;  입력받은 이름에 따라 조사를 처리하는 함수
;
;    ex) %조사선택(CALLNAME:TARGET,"이")%
;
;  式中関数 등에도 대응할 수 있다
;
;    ex) %조사선택(CNAME(),"를")%
;
;========================================

@조사선택(ARGS, ARGS:2)
#FUNCTIONS

;이름을 받아온다
LOCALS = %ARGS%

;받침 판정 및 조사 선택
IF KR_NAME(LOCALS) == 2
    ;받침 없음. ㄴ/ㄹ
    IF ARGS:2 == "는" || ARGS:2 == "은"
        LOCALS += "는"
    ELSEIF ARGS:2 == "가" || ARGS:2 == "이"
        LOCALS += "가"
    ELSEIF ARGS:2 == "를" || ARGS:2 == "을"
        LOCALS += "를"
    ELSEIF ARGS:2 == "와" || ARGS:2 == "과"
        LOCALS += "와"
    ELSEIF ARGS:2 == "로" || ARGS:2 == "으로"
        LOCALS += "로"
    ELSEIF ARGS:2 == "랑" || ARGS:2 == "이랑"
        LOCALS += "랑"
    ELSEIF ARGS:2 == "라" || ARGS:2 == "이라"
        LOCALS += "라"
    ELSEIF ARGS:2 == "며" || ARGS:2 == "이며"
        LOCALS += "며"
    ELSEIF ARGS:2 == "고" || ARGS:2 == "이고"
        LOCALS += "고"
    ELSEIF ARGS:2 == "다" || ARGS:2 == "이다"
        LOCALS += "다"
    ELSEIF ARGS:2 == "였" || ARGS:2 == "이었"
        LOCALS += "였"
    ELSEIF ARGS:2 == "여" || ARGS:2 == "이여"
        LOCALS += "여"
    ELSEIF ARGS:2 == "야" || ARGS:2 == "이야"
        LOCALS += "야"
    ELSEIF ARGS:2 == "나" || ARGS:2 == "이나"
        LOCALS += "나"
    ELSEIF ARGS:2 == "면" || ARGS:2 == "이면"
        LOCALS += "면"
    ELSEIF ARGS:2 == "지만" || ARGS:2 == "이지만"
        LOCALS += "지만"
    ELSEIF ARGS:2 == "겠" || ARGS:2 == "이겠"
        LOCALS += "겠"
    ELSEIF ARGS:2 == "셨" || ARGS:2 == "이셨"
        LOCALS += "셨"
    ELSEIF ARGS:2 == "잖" || ARGS:2 == "이잖"
        LOCALS += "잖"
    ELSEIF ARGS:2 == "니" || ARGS:2 == "이니"
        LOCALS += "니"
    ELSE
        LOCALS = %LOCALS%%ARGS:2%
    ENDIF
ELSE
    ;받침 없음. ㅇ
    IF ARGS:2 == "는" || ARGS:2 == "은"
        LOCALS += "은"
    ELSEIF ARGS:2 == "가" || ARGS:2 == "이"
        LOCALS += "이"
    ELSEIF ARGS:2 == "를" || ARGS:2 == "을"
        LOCALS += "을"
    ELSEIF ARGS:2 == "와" || ARGS:2 == "과"
        LOCALS += "과"
    ELSEIF ARGS:2 == "로" || ARGS:2 == "으로"
        LOCALS += "으로"
    ELSEIF ARGS:2 == "랑" || ARGS:2 == "이랑"
        LOCALS += "이랑"
    ELSEIF ARGS:2 == "라" || ARGS:2 == "이라"
        LOCALS += "이라"
    ELSEIF ARGS:2 == "며" || ARGS:2 == "이며"
        LOCALS += "이며"
    ELSEIF ARGS:2 == "고" || ARGS:2 == "이고"
        LOCALS += "이고"
    ELSEIF ARGS:2 == "다" || ARGS:2 == "이다"
        LOCALS += "이다"
    ELSEIF ARGS:2 == "였" || ARGS:2 == "이었"
        LOCALS += "이었"
    ELSEIF ARGS:2 == "여" || ARGS:2 == "이여"
        LOCALS += "이여"
    ELSEIF ARGS:2 == "야" || ARGS:2 == "이야"
        LOCALS += "이야"
    ELSEIF ARGS:2 == "나" || ARGS:2 == "이나"
        LOCALS += "이나"
    ELSEIF ARGS:2 == "면" || ARGS:2 == "이면"
        LOCALS += "이면"
    ELSEIF ARGS:2 == "지만" || ARGS:2 == "이지만"
        LOCALS += "이지만"
    ELSEIF ARGS:2 == "겠" || ARGS:2 == "이겠"
        LOCALS += "이겠"
    ELSEIF ARGS:2 == "셨" || ARGS:2 == "이셨"
        LOCALS += "이셨"
    ELSEIF ARGS:2 == "잖" || ARGS:2 == "이잖"
        LOCALS += "이잖"
    ELSEIF ARGS:2 == "니" || ARGS:2 == "이니"
        LOCALS += "이니"
    ELSE
        LOCALS = %LOCALS%%ARGS:2%
    ENDIF
ENDIF

LOCALS = %후치환(LOCALS)%

RETURNF LOCALS

;-------------------------------------------------------
;조사만선택
;입력받은 문자에 해당하는 조사'만'을 되돌려주는 함수
;-------------------------------------------------------

@조사만선택(ARGS, ARGS:2)
#FUNCTIONS

;이름을 받아온다
LOCALS = %ARGS%

;받침 판정 및 조사 선택
IF KR_NAME(LOCALS) == 2
    ;받침 없음. ㄴ/ㄹ
    IF ARGS:2 == "는" || ARGS:2 == "은"
        LOCALS = 는
    ELSEIF ARGS:2 == "가" || ARGS:2 == "이"
        LOCALS = 가
    ELSEIF ARGS:2 == "를" || ARGS:2 == "을"
        LOCALS = 를
    ELSEIF ARGS:2 == "와" || ARGS:2 == "과"
        LOCALS = 와
    ELSEIF ARGS:2 == "로" || ARGS:2 == "으로"
        LOCALS = 로
    ELSEIF ARGS:2 == "랑" || ARGS:2 == "이랑"
        LOCALS = 랑
    ELSEIF ARGS:2 == "라" || ARGS:2 == "이라"
        LOCALS = 라
    ELSEIF ARGS:2 == "며" || ARGS:2 == "이며"
        LOCALS = 며
    ELSEIF ARGS:2 == "고" || ARGS:2 == "이고"
        LOCALS = 고
    ELSEIF ARGS:2 == "다" || ARGS:2 == "이다"
        LOCALS = 다
    ELSEIF ARGS:2 == "였" || ARGS:2 == "이었"
        LOCALS = 였
    ELSEIF ARGS:2 == "여" || ARGS:2 == "이여"
        LOCALS = 여
    ELSEIF ARGS:2 == "야" || ARGS:2 == "이야"
        LOCALS = 야
    ELSEIF ARGS:2 == "나" || ARGS:2 == "이나"
        LOCALS = 나
    ELSEIF ARGS:2 == "면" || ARGS:2 == "이면"
        LOCALS = 면
    ELSEIF ARGS:2 == "지만" || ARGS:2 == "이지만"
        LOCALS = 지만
    ELSEIF ARGS:2 == "겠" || ARGS:2 == "이겠"
        LOCALS = 겠
    ELSEIF ARGS:2 == "셨" || ARGS:2 == "이셨"
        LOCALS = 셨
    ELSEIF ARGS:2 == "잖" || ARGS:2 == "이잖"
        LOCALS = 잖
    ELSEIF ARGS:2 == "니" || ARGS:2 == "이니"
        LOCALS = 니
    ELSE
        LOCALS = %ARGS:2%
    ENDIF
ELSE
    ;받침 없음. ㅇ
    IF ARGS:2 == "는" || ARGS:2 == "은"
        LOCALS = 은
    ELSEIF ARGS:2 == "가" || ARGS:2 == "이"
        LOCALS = 이
    ELSEIF ARGS:2 == "를" || ARGS:2 == "을"
        LOCALS = 을
    ELSEIF ARGS:2 == "와" || ARGS:2 == "과"
        LOCALS = 과
    ELSEIF ARGS:2 == "로" || ARGS:2 == "으로"
        LOCALS = 으로
    ELSEIF ARGS:2 == "랑" || ARGS:2 == "이랑"
        LOCALS = 이랑
    ELSEIF ARGS:2 == "라" || ARGS:2 == "이라"
        LOCALS = 이라
    ELSEIF ARGS:2 == "며" || ARGS:2 == "이며"
        LOCALS = 이며
    ELSEIF ARGS:2 == "고" || ARGS:2 == "이고"
        LOCALS = 이고
    ELSEIF ARGS:2 == "다" || ARGS:2 == "이다"
        LOCALS = 이다
    ELSEIF ARGS:2 == "였" || ARGS:2 == "이었"
        LOCALS = 이었
    ELSEIF ARGS:2 == "여" || ARGS:2 == "이여"
        LOCALS = 이여
    ELSEIF ARGS:2 == "야" || ARGS:2 == "이야"
        LOCALS = 이야
    ELSEIF ARGS:2 == "나" || ARGS:2 == "이나"
        LOCALS = 이나
    ELSEIF ARGS:2 == "면" || ARGS:2 == "이면"
        LOCALS = 이면
    ELSEIF ARGS:2 == "지만" || ARGS:2 == "이지만"
        LOCALS = 이지만
    ELSEIF ARGS:2 == "겠" || ARGS:2 == "이겠"
        LOCALS = 이겠
    ELSEIF ARGS:2 == "셨" || ARGS:2 == "이셨"
        LOCALS = 이셨
    ELSEIF ARGS:2 == "잖" || ARGS:2 == "이잖"
        LOCALS = 이잖
    ELSEIF ARGS:2 == "니" || ARGS:2 == "이니"
        LOCALS = 이니
    ELSE
        LOCALS = %ARGS:2%
    ENDIF
ENDIF

RETURNF LOCALS

;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
;　　　↓↓↓　이하, 조사선택 함수를 이용한 개별 함수 부분　↓↓↓
;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

@조사만처리(ARGS, ARGS:2)
#FUNCTIONS
RETURNF 조사만선택(ARGS, ARGS:2)

@조사처리(ARGS, ARGS:2)
#FUNCTIONS
RETURNF 조사선택(ARGS, ARGS:2)

[SKIPSTART]
;====================================================
;             플레이어 (MASTER) 조사 결정 함수 부분
;====================================================

@플레이어는(ARGS = "CALLNAME")
#FUNCTIONS
SIF ARGS == "CALLNAME"
    RETURNF 조사선택(CALLNAME:MASTER, "는")
RETURNF 조사선택(NAME:MASTER, "는")

@플레이어가(ARGS = "CALLNAME")
#FUNCTIONS
SIF ARGS == "CALLNAME"
    RETURNF 조사선택(CALLNAME:MASTER, "가")
RETURNF 조사선택(NAME:MASTER, "가")

@플레이어를(ARGS = "CALLNAME")
#FUNCTIONS
SIF ARGS == "CALLNAME"
    RETURNF 조사선택(CALLNAME:MASTER, "를")
RETURNF 조사선택(NAME:MASTER, "를")

@플레이어와(ARGS = "CALLNAME")
#FUNCTIONS
SIF ARGS == "CALLNAME"
    RETURNF 조사선택(CALLNAME:MASTER, "와")
RETURNF 조사선택(NAME:MASTER, "와")

@플레이어로(ARGS = "CALLNAME")
#FUNCTIONS
SIF ARGS == "CALLNAME"
    RETURNF 조사선택(CALLNAME:MASTER, "로")
RETURNF 조사선택(NAME:MASTER, "로")

@플레이어랑(ARGS = "CALLNAME")
#FUNCTIONS
SIF ARGS == "CALLNAME"
    RETURNF 조사선택(CALLNAME:MASTER, "랑")
RETURNF 조사선택(NAME:MASTER, "랑")

@플레이어며(ARGS = "CALLNAME")
#FUNCTIONS
SIF ARGS == "CALLNAME"
    RETURNF 조사선택(CALLNAME:MASTER, "며")
RETURNF 조사선택(NAME:MASTER, "며")

@플레이어고(ARGS = "CALLNAME")
#FUNCTIONS
SIF ARGS == "CALLNAME"
    RETURNF 조사선택(CALLNAME:MASTER, "고")
RETURNF 조사선택(NAME:MASTER, "고")

@플레이어라(ARGS = "CALLNAME")
#FUNCTIONS
SIF ARGS == "CALLNAME"
    RETURNF 조사선택(CALLNAME:MASTER, "라")
RETURNF 조사선택(NAME:MASTER, "라")

@플레이어다(ARGS = "CALLNAME")
#FUNCTIONS
SIF ARGS == "CALLNAME"
    RETURNF 조사선택(CALLNAME:MASTER, "다")
RETURNF 조사선택(NAME:MASTER, "다")

@플레이어였(ARGS = "CALLNAME")
#FUNCTIONS
SIF ARGS == "CALLNAME"
    RETURNF 조사선택(CALLNAME:MASTER, "였")
RETURNF 조사선택(NAME:MASTER, "였")

@플레이어여(ARGS = "CALLNAME")
#FUNCTIONS
SIF ARGS == "CALLNAME"
    RETURNF 조사선택(CALLNAME:MASTER, "여")
RETURNF 조사선택(NAME:MASTER, "여")

@플레이어야(ARGS = "CALLNAME")
#FUNCTIONS
SIF ARGS == "CALLNAME"
    RETURNF 조사선택(CALLNAME:MASTER, "야")
RETURNF 조사선택(NAME:MASTER, "야")

@플레이어나(ARGS = "CALLNAME")
#FUNCTIONS
SIF ARGS == "CALLNAME"
    RETURNF 조사선택(CALLNAME:MASTER, "이나")
RETURNF 조사선택(NAME:MASTER, "이나")

@플레이어면(ARGS = "CALLNAME")
#FUNCTIONS
SIF ARGS == "CALLNAME"
    RETURNF 조사선택(CALLNAME:MASTER, "이면")
RETURNF 조사선택(NAME:MASTER, "이면")

;====================================================
;             조수 (ASSI) 조사 결정 함수 부분
;====================================================

@조수는(ARGS = "CALLNAME")
#FUNCTIONS
SIF ARGS == "CALLNAME"
    RETURNF 조사선택(CALLNAME:ASSI, "는")
RETURNF 조사선택(NAME:ASSI, "는")

@조수가(ARGS = "CALLNAME")
#FUNCTIONS
SIF ARGS == "CALLNAME"
    RETURNF 조사선택(CALLNAME:ASSI, "가")
RETURNF 조사선택(NAME:ASSI, "가")

@조수를(ARGS = "CALLNAME")
#FUNCTIONS
SIF ARGS == "CALLNAME"
    RETURNF 조사선택(CALLNAME:ASSI, "를")
RETURNF 조사선택(NAME:ASSI, "를")

@조수와(ARGS = "CALLNAME")
#FUNCTIONS
SIF ARGS == "CALLNAME"
    RETURNF 조사선택(CALLNAME:ASSI, "와")
RETURNF 조사선택(NAME:ASSI, "와")

@조수로(ARGS = "CALLNAME")
#FUNCTIONS
SIF ARGS == "CALLNAME"
    RETURNF 조사선택(CALLNAME:ASSI, "로")
RETURNF 조사선택(NAME:ASSI, "로")

@조수랑(ARGS = "CALLNAME")
#FUNCTIONS
SIF ARGS == "CALLNAME"
    RETURNF 조사선택(CALLNAME:ASSI, "랑")
RETURNF 조사선택(NAME:ASSI, "랑")

@조수며(ARGS = "CALLNAME")
#FUNCTIONS
SIF ARGS == "CALLNAME"
    RETURNF 조사선택(CALLNAME:ASSI, "며")
RETURNF 조사선택(NAME:ASSI, "며")

@조수고(ARGS = "CALLNAME")
#FUNCTIONS
SIF ARGS == "CALLNAME"
    RETURNF 조사선택(CALLNAME:ASSI, "고")
RETURNF 조사선택(NAME:ASSI, "고")

@조수다(ARGS = "CALLNAME")
#FUNCTIONS
SIF ARGS == "CALLNAME"
    RETURNF 조사선택(CALLNAME:ASSI, "다")
RETURNF 조사선택(NAME:ASSI, "다")

@조수였(ARGS = "CALLNAME")
#FUNCTIONS
SIF ARGS == "CALLNAME"
    RETURNF 조사선택(CALLNAME:ASSI, "였")
RETURNF 조사선택(NAME:ASSI, "였")

@조수여(ARGS = "CALLNAME")
#FUNCTIONS
SIF ARGS == "CALLNAME"
    RETURNF 조사선택(CALLNAME:ASSI, "여")
RETURNF 조사선택(NAME:ASSI, "여")

@조수야(ARGS = "CALLNAME")
#FUNCTIONS
SIF ARGS == "CALLNAME"
    RETURNF 조사선택(CALLNAME:ASSI, "야")
RETURNF 조사선택(NAME:ASSI, "야")

@조수나(ARGS = "CALLNAME")
#FUNCTIONS
SIF ARGS == "CALLNAME"
    RETURNF 조사선택(CALLNAME:ASSI, "이나")
RETURNF 조사선택(NAME:ASSI, "이나")

@조수면(ARGS = "CALLNAME")
#FUNCTIONS
SIF ARGS == "CALLNAME"
    RETURNF 조사선택(CALLNAME:ASSI, "이면")
RETURNF 조사선택(NAME:ASSI, "이면")

@조수라(ARGS = "CALLNAME")
#FUNCTIONS
SIF ARGS == "CALLNAME"
    RETURNF 조사선택(CALLNAME:ASSI, "라")
RETURNF 조사선택(NAME:ASSI, "라")

;------------------끝줄

[SKIPEND]


code:
#DIM CONST ALIGN_LEFT = 0
#DIM CONST ALIGN_CENTER = 1
#DIM CONST ALIGN_RIGHT = 2

#DIM CONST ALIGNS = ALIGN_LEFT, ALIGN_CENTER, ALIGN_RIGHT

#DIMS CONST ALIGN_LEFT_STRING = "left"
#DIMS CONST ALIGN_CENTER_STRING = "center"
#DIMS CONST ALIGN_RIGHT_STRING = "right"


code:
@Animations_Display(animation, type, size=1000, align=ALIGN_LEFT)
#DIM DYNAMIC animation
#DIM DYNAMIC type
#DIM DYNAMIC size
#DIM DYNAMIC align
#DIMS DYNAMIC alignString

#DIMS DYNAMIC resourceName

SIF !Animations_IsValid(animation)
    CALLF ThrowInvalidTypeException("animation")

SIF !Animations_IsValidType(type)
    CALLF ThrowInvalidTypeException("type")

SIF !Align_IsValid(align)
    CALLF ThrowInvalidTypeException("align")

alignString = Align_ToString(align)
animationString = Animations_ToString(animation)
typeString = Animations_TypeToString(type)

resourceName = %animationString%_%typeString%

IF type == ANIMATION_TYPE_CLIMAX
    CALL PRINT_IMAGE_ANIMATION_사정후(resourceName, size, alignString)
ELSE
    SELECTCASE animation
        CASE ANIMATION_MISSIONARY
            CALL PRINT_IMAGE_ANIMATION_정상위(resourceName, size, alignString)
        CASE ANIMATION_DOGGY
            CALL PRINT_IMAGE_ANIMATION_후배위(resourceName, size, alignString)
    ENDSELECT
ENDIF

@Animations_ToString(animation)
#FUNCTIONS
#DIM DYNAMIC animation

SIF !Animations_IsValid(animation)
    CALLF ThrowInvalidTypeException("animation")

SELECTCASE animation
    CASE ANIMATION_MISSIONARY
        RETURNF "正常位"
    CASE ANIMATION_DOGGY
        RETURNF "後背位"
ENDSELECT

CALLF ENDFUNCTION()

@Animations_TypeToString(type)
#FUNCTIONS
#DIM DYNAMIC type

SIF !Animations_IsValidType(type)
    CALLF ThrowInvalidTypeException("type")

SELECTCASE type
    CASE ANIMATION_TYPE_INSERT
        RETURNF "挿入"
    CASE ANIMATION_TYPE_CLIMAX
        RETURNF "絶頂"
    CASE ANIMATION_TYPE_EJACULATION_CREAMPIE
        RETURNF "絶頂"
    CASE ANIMATION_TYPE_AFTER_EJACULATION_CREAMPIE
        RETURNF "中出し"
ENDSELECT

CALLF ENDFUNCTION()

@Animations_IsValid(animation)
#FUNCTION
#DIM DYNAMIC animation
#DIM DYNAMIC _result

CALLF GlobalArrayIsContainsRef(ANIMATIONS, VARSIZE("ANIMATIONS"), animation, _result)

RETURNF _result

@Animations_IsValidType(type)
#FUNCTION
#DIM DYNAMIC type
#DIM DYNAMIC _result

CALLF GlobalArrayIsContainsRef(ANIMATION_TYPES, VARSIZE("ANIMATION_TYPES"), type, _result)

RETURNF _result


code:
#DIM CONST ANIMATION_MISSIONARY = 0
#DIM CONST ANIMATION_DOGGY = 1

#DIM CONST ANIMATIONS = ANIMATION_MISSIONARY, ANIMATION_DOGGY

#DIM CONST ANIMATION_TYPE_INSERT = 0
#DIM CONST ANIMATION_TYPE_CLIMAX = 1
#DIM CONST ANIMATION_TYPE_EJACULATION_CREAMPIE = 2
#DIM CONST ANIMATION_TYPE_AFTER_EJACULATION_CREAMPIE = 3

#DIM CONST ANIMATION_TYPES = ANIMATION_TYPE_INSERT, ANIMATION_TYPE_CLIMAX, ANIMATION_TYPE_EJACULATION_CREAMPIE, ANIMATION_TYPE_AFTER_EJACULATION_CREAMPIE


code:
@Align_IsValid(align)
#FUNCTION
#DIM DYNAMIC align
#DIM DYNAMIC _result

CALLF GlobalArrayIsContainsRef(ALIGNS, VARSIZE("ALIGNS"), align, _result)

RETURNF 0

@Align_ToString(align)
#FUNCTIONS
#DIM DYNAMIC align

SIF !Align_IsValid(align)
    CALLF ThrowInvalidTypeException("align")

SELECTCASE align
    CASE ALIGN_LEFT
        RETURNF ALIGN_LEFT_STRING
    CASE ALIGN_CENTER
        RETURNF ALIGN_CENTER_STRING
    CASE ALIGN_RIGHT
        RETURNF ALIGN_RIGHT_STRING
ENDSELECT

CALLF ENDFUNCTION()

@ThrowInvalidTypeException(argumentName)
#FUNCTION
#DIMS DYNAMIC argumentName

THROW "Invalid argument type '{argumentName}'"

@ENDFUNCTION()
#FUNCTION
THROW "Unreachable code!"

;TODO: Improve array argument like "nameof(arrayName)" if can
@GlobalArrayIsContains(array, length, value)
#FUNCTION
#DIM DYNAMIC array
#DIM DYNAMIC length
#DIM DYNAMIC value
#DIM DYNAMIC _result

CALLF GlobalArrayIsContainsRef(array, length, value, _result)

RETURNF _result

@GlobalArrayIsContainsRef(array, length, value, outResult)
#FUNCTION
#DIM DYNAMIC array
#DIM DYNAMIC length
#DIM DYNAMIC value
#DIM REF outResult

#DIM DYNAMIC index

FOR index, 0, length
    SIF value == array:index
        outResult = 1
        RETURNF
NEXT

outResult = 0


code:
@강하게뉴게임
;팬티 보관고. 200 인분 30 종류까지 대응이 뛰어나고 것 test2
#DIM 팬티콜렉션, 200,40
#DIM PREV_MASTER
#DIM RETAIN_CFLAG, 150
#DIM 인계캐릭

;주회전의 성장분을 기록
;매주당신 커스텀 해 체력 기력 2500 스타트 하면(자) 주회마다+500가 될 생각이 들지만
;바이처 더스트의 해금일부터 해 그런 굉장한 효율로도 되지 않아이겠지 감
;이쪽이 고민해도 디버그 콘솔이나 ERB조금 고쳐 쓸 수 있으면(자) 손다 키군요 해
PREV_MASTER = FLAG:역극

VARSET JUEL
VARSET MOBGIRL_PLACE, 99

;사용 LOCAL 배열 요소
;5：역극 캐릭터의 출금상태
;6：지금 주회의 캐릭터 인원수(CHARANUM 퇴피용)

;FLAG 리셋
;남겨지는 FLAG
;11：주회수
;560：발원함 확인용. 확인 후 리셋
;561：정력강화회수
;563：중혼가능인원수(미사용)
;564-567：연모/연인특전(미사용)
;700：팬티콜렉션(종류수)
;701-702：실적 해제 관계 + 810
;850：청소중독 치료 회수
;1007：생리주기가시화의 ON/OFF
;1028：짐작모드
;1030：역극

CALL BUFF_RESET

FOR LOCAL, 0,1500
	SELECTCASE LOCAL
	CASE 11, 22, 23, 560,561,563 TO 567,700 TO 709,810,850,1001 TO 1999
		CONTINUE
	CASEELSE
		FLAG:LOCAL = 0
	ENDSELECT
NEXT

;역극 캐릭터의 출금상태를 체크, 출금플래그는 LOCAL:5에 보존
SIF FLAG:역극
	LOCAL:5 = CFLAG:(FLAG:역극):출금

CFLAG:MASTER:초대 = 0
CFLAG:MASTER:육아인원수 = 0
CFLAG:MASTER:아이인원수 = 0
FLAG:주회수 ++
FOR LOCAL, 1, CHARANUM
	RETAIN_CFLAG:LOCAL = CFLAG:LOCAL:구상용이어받아테두리
	IF TALENT:LOCAL:연인 || GETBIT(CFLAG:LOCAL:인계, 1)
		SETBIT TFLAG:(LOCAL + 500), 1
	ELSEIF TALENT:LOCAL:연모 || GETBIT(CFLAG:LOCAL:인계, 0)
		SETBIT TFLAG:(LOCAL + 500), 0
	ENDIF
	SIF TALENT:LOCAL:자위중독 || GETBIT(CFLAG:LOCAL:인계, 2)
		SETBIT TFLAG:(LOCAL + 500), 2
	SIF TALENT:LOCAL:음호 || GETBIT(CFLAG:LOCAL:인계, 3)
		SETBIT TFLAG:(LOCAL + 500), 3
	SIF TALENT:LOCAL:항문광 || GETBIT(CFLAG:LOCAL:인계, 4)
		SETBIT TFLAG:(LOCAL + 500), 4
	SIF TALENT:LOCAL:음유 || GETBIT(CFLAG:LOCAL:인계, 5)
		SETBIT TFLAG:(LOCAL + 500), 5
	SIF TALENT:LOCAL:키스마 || GETBIT(CFLAG:LOCAL:인계, 6)
		SETBIT TFLAG:(LOCAL + 500), 6
	SIF GETBIT(TALENT:LOCAL:연인, 1) || GETBIT(CFLAG:LOCAL:인계, 7)
		SETBIT TFLAG:(LOCAL + 500), 7
	FOR LOCAL:1, 0,40
		팬티콜렉션 :LOCAL:(LOCAL:1) = CFLAG:LOCAL:(LOCAL:1 + 100)
	NEXT
NEXT
;리셋이전캐릭터 인원수를 LOCAL:6에 앞둔다.
LOCAL:6 = CHARANUM

;;
CALL SET_인계여부
;당신 이외 전원 리셋.
;여기서 CHARANUM의 값이 바뀌므로 주의
;;PICKUPCHARA 0
인계캐릭 =1
REPEAT (LOCAL:6)-1
	IF GETBIT(CFLAG:인계캐릭:인계, 8)

		;;인계 캐릭에 따로 처리할것
		CFLAG:인계캐릭:저택에거주=0

		인계캐릭 ++
		CONTINUE
	ENDIF
	DELCHARA 인계캐릭
REND

;리셋이전캐릭터 인원수로 FOR문을 돌린다
FOR LOCAL, 1, LOCAL:6
	;CSV 파일의 존재 판정
	IF EXISTCSV(LOCAL)
		IF GETCHARA (LOCAL) == -1
			ADDCHARA LOCAL
			TARGET = LOCAL
			RESULT = 0
			SORTCHARA
			TRYCALLFORM M_KOJO_K{NO:LOCAL}
			SIF RESULT
				CFLAG:LOCAL:대사실장상황 = 1
		ENDIF
		;효율화 추구를 위해 인계 플래그와 동시에 돌린다
		;파일 체크는 벌써 하고 있기 때문에 그 안에서 돌리면 끝나는 이야기였습니다(반성)
		FOR LOCAL:1, 0,40
			;인계 플래그세트
			SIF LOCAL:1 < 9 && GETBIT (TFLAG:(LOCAL + 500), LOCAL:1)
				SETBIT CFLAG:LOCAL:인계, LOCAL:1
			;팬티콜렉션의 인계
			CFLAG:LOCAL:(LOCAL:1 + 100) = 팬티콜렉션 :LOCAL:(LOCAL:1)
			CFLAG:LOCAL:구상용이어받아테두리 = RETAIN_CFLAG:LOCAL
		NEXT
	ENDIF
NEXT

;타겟·어시스턴트 초기화, 대본 관계 리셋
TARGET = 0
ASSI = 0
PBAND = 12
;패치에서 추가 부분
	ITEM:101 = 0
	ITEM:102 = 0
	ITEM:103 = 0
	ITEM:104 = 0
	ITEM:105 = 0
;Default 옵션
CALL DEFAULT_OPTION
;초기 지점 설정
FOR LOCAL, 0, CHARANUM
	;개시 위치
	CFLAG:LOCAL:현재위치 = CFLAG:LOCAL:초기위치
	;복장
	CALL SELECT_CLOTHES(LOCAL, "오늘의 의상")
	CALL CTRL_CLOTHES_SET(LOCAL, "현재 의상의 변경_평상복")
	CALL 속옷확인리셋(LOCAL)
	;이것 아마 문제 안되겠지만 일단
	CFLAG:LOCAL:파자마 = 0
	CALL CLOTHES_SETTING_TRAIN(LOCAL)
NEXT

;MASTER 기상시간 세트(7시)
TIME:3 = 420

;MASTER 수면중 플래그 ON
CALL SET_SLEEP(1, MASTER, 0)

;일자 1 일째
DAY = 1
DAY:2 = 1
DAY:3 = 1

BASE:MASTER:체력 = MAXBASE:MASTER:체력
BASE:MASTER:기력 = MAXBASE:MASTER:기력
BASE:MASTER:정력 = MAXBASE:MASTER:정력

CFLAG:MASTER:취침시간 = 0
CALL SET_NOUMIN
CALL SET_MAINHOME
STR:16 = 낡은오두막
FLAG:술벌레 = 1

;당신의 기정사실 및[연인]을 클리어
CLEARBIT CFLAG:MASTER:기정사실, 2
TALENT:MASTER:연인 = 0

;다 되고 있는 캐릭터의 출금을 체크
SIF FLAG:역극
	CFLAG:(FLAG:역극):출금 = LOCAL:5

CALL VIRGIN_SET
CALL 특전
CALL SET_CHARISMA("RESET")

PRINTFORML %CALLNAME:MASTER%의 경험·능력도 리셋하겠습니까?
CALL COLORMESSAGE(@"실적으로 취득한 소질 등도 취소되기 때문에 추천하지 않습니다", C_YELLOW, 1)
CALL ASK_YN
IF !RESULT
	FOR LOCAL, 0, 150
		EXP:MASTER:LOCAL = 0
		SIF LOCAL < 100
			ABL:MASTER:LOCAL = 0
	NEXT
	PRINTFORMW 리셋 했습니다.
ENDIF

PRINTFORML %마스터를% 커스터마이즈하겠습니까?
CALL ASK_YN
IF !RESULT
	CALL TINKO_DECIDE(MASTER)
	CALL CUSTOM_TERMINAL(MASTER)
ENDIF

SIF LOCAL
	WAIT
;SYSTEMCALL to SHOW_SHOP
BEGIN SHOP

@특전
PRINTW *연인 특전*
PRINTW 이전에 연인이 된 적이 있는 캐릭터의 소질을 변경할 수 있습니다
$LOOP
DRAWLINE
FOR LOCAL, 1, CHARANUM
SIF GETBIT (CFLAG:LOCAL:인계, 1)
	PRINTFORMLC [{LOCAL}] %CALLNAME:LOCAL%
NEXT
PRINTL
DRAWLINE
PRINTL [999] 다음
INPUT
IF RESULT >= 1 && RESULT <= CHARANUM && GETBIT (CFLAG:RESULT:인계, 1)
	CALL CUSTOM_TERMINAL(RESULT)
	GOTO LOOP
ENDIF

PRINTW *연모 특전*
PRINTW 이전에 연모를 취득한 적이 있는 캐릭터의 일부 소질을 변경할 수 있습니다
$LOOP2
DRAWLINE
FOR LOCAL, 1, CHARANUM
SIF GETBIT (CFLAG:LOCAL:인계, 0)
	PRINTFORMLC [{LOCAL}] %CALLNAME:LOCAL%
NEXT
PRINTL
DRAWLINE
PRINTL [999] 다음
INPUT
IF RESULT >= 1 && RESULT <= CHARANUM && GETBIT (CFLAG:RESULT:인계, 0)
	CALL LIMITED_CUSTOM(RESULT)
	GOTO LOOP2
ENDIF
FOR LOCAL, 1, CHARANUM
	SIF TCVAR:LOCAL:감도상승부위
		TALENT:LOCAL:(TCVAR:LOCAL:감도상승부위) ++
NEXT

@SET_인계여부
#DIM CHARA_ID
PRINTFORML 신부(전 신부)의 경우 인계할 수 있습니다.
PRINTFORML 인계할 캐릭터를 선택해주세요.
DRAWLINE
FOR CHARA_ID, 1, CHARANUM
	IF !GETBIT(TFLAG:(CHARA_ID + 500),7)
		;;인계하는 캐릭터에게 따로 처리할 부분
		CONTINUE
	ENDIF
	SIF GETBIT(CFLAG:CHARA_ID:인계,8)
		SETCOLOR C_PINK
	PRINTFORMLC [{CHARA_ID, 3}] %CALLNAME:CHARA_ID%
	RESETCOLOR
NEXT
PRINTL
DRAWLINE
PRINTL [999] 설정 종료
DO
	INPUT
	CHARA_ID = RESULT
	SELECTCASE CHARA_ID
	CASE 999
		PRINTW 개별 설정을 종료합니다.
		RETURN
	CASE 1 TO CHARANUM
		BREAK
	CASEELSE
	ENDSELECT
LOOP 1

IF !GETBIT(CFLAG:CHARA_ID:인계,8)
	PRINTFORMW %CALLNAME:CHARA_ID%를 인계합니다.
	SETBIT CFLAG:CHARA_ID:인계,8

ELSE
	PRINTFORMW %CALLNAME:CHARA_ID%를 인계하지 않습니다.
	CLEARBIT CFLAG:CHARA_ID:인계,8
ENDIF
DRAWLINE
RESTART


code:
;FileName_COMMON.ERB ------------------------------- Rev1. 00
;계절 관리
;CALL		USER
;ARG		VOID
;RETURN		VOID
;COMMENT
;-----------------------------------------------------------
@CHANGE_MONTH
#DIM 운세뽑기값
;일자가 달을 넘으면(자) 달변경
IF DAY:3 > 31
	DAY:3 = 1
	DAY:2 ++
	;겨울의 다음은 봄
	IF DAY:2 > 4
		DAY:2 = 1
		FLAG:연시대출금 = FLAG:지주대출금
	ENDIF
	;여름이 되면 발렌타인 플래그 리셋
	SIF DAY:2 == 2
		CVARSET CFLAG, 383
	;징수 발생
	SIF FLAG:지주
		FLAG:연공 = 1
	IF FLAG:물주기대행
		FLAG:물주기대행 = 0
		PRINTFORMW 물주기대행의 기한이 지났습니다.
	ENDIF
	IF FLAG:신문구독
		IF MONEY < 3000 && MONEY:2 < 10
			PRINTFORML 돈이 부족하기에 붕붕마루 신문의 구독을 정지합니다.
		ELSE
			PRINTL
			PRINTFORML ★붕붕마루 신문을 계속 구독하겠습니까? (월액￥3000 or 10 카리스마)
			CALL ASK_M("해약", 1,"갱신(￥3000)", MONEY >= 3000,"갱신(10 카리스마)", MONEY:2 >= 10)
			SELECTCASE RESULT
				CASE 0
					PRINTFORML 구독을 정지합니다.
					FLAG:신문구독 = 0
				CASE 1
					MONEY -= 3000
					PRINTFORML 이번 달도 구독합니다.
				CASE 2
					MONEY:2 -= 10
					PRINTFORML 이번 달도 구독합니다.
			ENDSELECT
		ENDIF
	ENDIF
	IF FLAG:운세뽑기계약
		운세뽑기값 = 50
		SIF !MAIN_MAP
			운세뽑기값 = 30
		IF MONEY:2 < 운세뽑기값
			PRINTFORML 카리스마가 부족하기 때문에, 운세뽑기계약이 중지되었습니다
			FLAG:운세뽑기계약 = 0
		ELSE
			PRINTFORML 운세뽑기계약을 계속하겠습니까?
			CALL ASK_YN
			IF !RESULT
				PRINTFORML 계약을 갱신했습니다
				MONEY:2 -= 운세뽑기값
			ELSE
				FLAG:운세뽑기계약 = 0
				PRINTFORML 계약을 종료합니다
			ENDIF
		ENDIF
	ENDIF
ENDIF
;이상치를 고정 수정
SIF DAY:3 < 1
	DAY:3 = 1
SIF DAY:2 < 1 || DAY:2 > 4
	DAY:2 = 1

;FileName_COMMON.ERB ------------------------------- Rev1. 00
;시간대 관리
;CALL		USER
;ARG		VOID
;RETURN		VOID
;COMMENT
;-----------------------------------------------------------
@CHANGE_TIMEZONE

;SELECTCASE TIME
;	CASE 240 TO 599
;		LOCAL = 1
;	CASE 600 TO 1139
;		LOCAL = 2
;	CASE 1140 TO 1440 , 0 TO 239
;		LOCAL = 3
;ENDSELECT

SELECTCASE TIME
	;AM4~6　이른 아침
	CASE 240 TO 359
		LOCAL = 1
	;AM6~12　정오전
	CASE 360 TO 719
		LOCAL = 2
	;PM12~3　주
	CASE 720 TO 899
		LOCAL = 3
	;PM3~6　오후
	CASE 900 TO 1079
		LOCAL = 4
	;PM6~8　석
	CASE 1080 TO 1199
		LOCAL = 5
	;PM8~11　야
	CASE 1200 TO 1379
		LOCAL = 6
	;PM11~AM4　심야
	CASE 0 TO 239, IS >= 1380
		LOCAL = 7
ENDSELECT

IF LOCAL != TIME:2
	TIME:2 = LOCAL
	CALL CHANGE_WEATHER
	TRYCALLFORM MOB_PLACE_{MAIN_MAP}
	CALL TIMEZONE_MOVE
ENDIF

;FileName_COMMON.ERB ------------------------------- Rev1. 00
;계절 나토리 이득
;CALL		USER
;ARG		인수가 없는 경우 DAY:2
;RETURN		VOID
;COMMENT
;-----------------------------------------------------------
@GET_MONTH(ARG)
#FUNCTIONS
SIF !ARG
	ARG = DAY:2
SIF !STRLENS(LOCALS)
	SPLIT "무의 달/봄의 달/여름의 월/가을의 월/겨울의 달", "/", LOCALS
RETURNF LOCALS:(ARG)

;FileName_COMMON.ERB ------------------------------- Rev1. 00
;날씨 나토리 이득
;CALL		USER
;ARG		VOID
;RETURN		VOID
;COMMENT
;-----------------------------------------------------------
@GET_WEATHER
#FUNCTIONS
#DIMS 표시_이상기상, 15
IF FLAG:이상기상
	SPLIT " /C민감/V민감/A민감/B민감/M민감/치마/팬티/분홍색의 바람/태풍/비바람", "/", 표시_이상기상
	RETURNF 표시_이상기상:(FLAG:이상기상)
ENDIF
SIF !STRLENS(LOCALS)
	SPLIT "맑음/쾌청/약간흐림/흐림/비/폭우/이슬비/안개/눈/눈보라/가루눈/안개눈/진눈깨비/우박", "/", LOCALS
RETURNF LOCALS:(TIME:5)

;-------------------------------------------------
;평일 판정(ARG)
;DAY를 건네주어 츠키～ 금요일이라면 1
;-------------------------------------------------
@IS_WEEKDAY(ARG)
#FUNCTION
SIF !ARG
	ARG = DAY
RETURNF INRANGE(ARG % 7, 1, 5)

;-------------------------------------------------
;주말 판정(ARG)
;DAY를 건네주어 토일요일이라면 1
;-------------------------------------------------
@IS_WEEKEND(ARG)
#FUNCTION
SIF !ARG
	ARG = DAY
RETURNF !INRANGE(ARG % 7, 1, 5)

;-------------------------------------------------
;요일 일치 판정(ARG)
;DAY와 캐릭터라인을 건네주어, 일치하고 있으면 1
;판정용 캐릭터라인은 세월화수목금흙에서 각 요일을 나타낸다(=복수 지정 가능)
;-------------------------------------------------
@YOUBI_MATCH(ARG, CHECK_STR)
#FUNCTION
#DIMS  CHECK_STR
SIF !ARG
	ARG = DAY
SIF STRCOUNT(CHECK_STR, GET_DAY(ARG))
	RETURNF 1
RETURNF 0

;-------------------------------------------------
;함수명 :GET_DAY
;개요:요일을 나타내는 캐릭터라인을 취득하는 함수
;인수:인수가 없는 경우 DAY
;반환값:요일을 나타내는 캐릭터라인(일/월/화/수/목/금/흙)
;비고:문중 함수
;-------------------------------------------------
@GET_DAY(ARG)
#FUNCTIONS
#DIMS CONST YOUBI = "일", "월", "화", "수", "목", "금", "토"
SIF !ARG
	ARG = DAY
RETURNF YOUBI:(ARG % 7)

;FileName_COMMON.ERB ------------------------------- Rev1. 00
;날씨 관리
;CALL		USER
;ARG		VOID
;RETURN		VOID
;COMMENT
;-----------------------------------------------------------
@CHANGE_WEATHER
#DIM 지저
#DIM 입수팬티
#DIM 소유자
#DIM 루프개시
#DIM 루프종료
#DIM 루프가산
DEBUGPRINTL 【CHANGE_WEATHER】CALL CHANGE_WATHER
;기후 관리에 메시지 표시 처리시켜 죄송합니다＞＜；
;우후후 안은 공기를 읽는 정도의 능력
;기후 변화하지 않아도 무지개는 사라진다
지저 = 0
IF CFLAG:MASTER:데이트중 == 9
	지저 = 1
ELSEIF CFLAG:MASTER:현재위치 == OMANEKIBEYA() && GROUPMATCH(CFLAG:MASTER:초대, 36, 37, 38, 49, 60, 64, 83, 84)
	지저 = 1
ENDIF
TIME:7 = 0
IF !지저
	SELECTCASE FLAG:이상기상
		CASE 7
			;이러해도 하지 않으면 또 노팬티가 날라와서 끝낸다고 생각해
			DO
				CALL RAND_CHARASELECT("주인공 이외의캐릭터리스트")
				소유자 = RESULT
				입수팬티 = 오늘의팬티(소유자)
			LOOP !입수팬티
			PRINTFORML 츠무지 바람이 %CALLNAME:소유자%의 %PANTSNAME(입수팬티, 소유자)%를 옮겨 왔다
			CALL ASK_YN("줍는","줍지 않다")
			IF !RESULT
				PRINTFORMW %마스터는% %CALLNAME:소유자%의 %PANTSNAME(입수팬티, 소유자)%를 주웠다
				CALL PANTS_GETTING(소유자, 입수팬티)
			ELSE
				PRINTFORML %PANTSNAME(입수팬티, 소유자)%는 그대로 어딘가에 날아 갔다
			ENDIF
		CASE 8
			SETCOLOR 255,100,255
			FONTBOLD
			PRINTFORMW 환상향에 분홍색의 바람이 불었다!
			FOR LOCAL, 1, CHARANUM
				IF !RAND:10
					PRINTFORML 분홍색의 바람을 받은 %CALLNAME:LOCAL%는 이상한 기분이 되었다…
					CFLAG:LOCAL:욕구불만도 += LIMIT((10 + RAND:20 + RAND:20 + RAND:20) * ABL:LOCAL:욕망, 200,1000)
					SIF !TALENT:LOCAL:비생물
						TCVAR:LOCAL:발정 = 1
				ENDIF
			NEXT
			RESETCOLOR
			FONTREGULAR
	ENDSELECT
ENDIF

SIF FLAG:이상기상
	RETURN
SIF TIME:5 > 15
	TIME:5 = 0
;기후 변화 확률(표준은50%)
SELECTCASE TIME:5
	CASE 5
		LOCAL = 16
	CASE 9
		IF DAY:2 == 2
			LOCAL = 12
		ELSE
			LOCAL = 16
		ENDIF
	CASE IS >= 8
		IF DAY:2 == 4
			LOCAL = 24
		ELSEIF DAY:2 == 2
			LOCAL = 12
		ELSE
			LOCAL = 16
		ENDIF
	CASEELSE
		LOCAL = 24
ENDSELECT

IF RAND:LOCAL + 1 <= 12 && CFLAG:MASTER:현재위치 != 천계
	;기후 변화 발생으로 무지개는 사라진다
	;TIME:7 = 0
	SELECTCASE TIME:5
		;개이고의 때
		CASE 0
			;20%로 맑은 하늘에 이행
			IF RAND:5 == 0
				SETBIT TIME:5, 0
			;20%로 박담에 이행
			ELSEIF RAND:5 == 0
				SETBIT TIME:5, 1
				SIF !CFLAG:MASTER:우후후 && !지저
					PRINTW 살짝 흐려졌다
			;5%로 흐림에 이행
			ELSEIF RAND:20 == 0
				TIME:5 = 3
				SIF !CFLAG:MASTER:우후후 && !지저
					PRINTW 구름이 나왔다
			;상기 확률에 걸리지 않았으면 맑음
			ELSE
				TIME:5 = 0
			ENDIF
		CASE 1
			;20%로 맑음에 이행
			IF RAND:5 == 0
				CLEARBIT TIME:5, 0
			;20%로 박담에 이행
			ELSEIF RAND:5 == 0
				TIME:5 = 2
				SIF !CFLAG:MASTER:우후후 && !지저
					PRINTW 살짝 흐려졌다
			ENDIF
		;흐림때
		CASE 2,3
			;25%로 강화 or약체화
			IF RAND:4 == 0
				INVERTBIT TIME:5, 0
			ELSE
				;20%로 맑음에 이행
				IF RAND:5 == 0
					TIME:5 = 0
					IF !CFLAG:MASTER:우후후 && !지저
						IF TIME:2 >= 5 && TIME:2 <= 7
							PRINTW 별이 보인다
						ELSE
							PRINTW 해가 비친다
						ENDIF
					ENDIF
				;박담이라면10%로 비나 눈에 이행
				ELSEIF TIME:5 == 2 && RAND:10 == 0
					IF DAY:2 == 4 && RAND:5
						TIME:5 = 8
						SIF !CFLAG:MASTER:우후후 && !지저
							PRINTW 눈이 내리기 시작했다!
					ELSE
						TIME:5 = 4
						SIF !CFLAG:MASTER:우후후 && !지저
							PRINTW 비가 내리기 시작했다!
					ENDIF
					;더욱10%의 확률로 안개비, 가루눈에 이행
					SIF RAND:10 == 0
						SETBIT TIME:5, 1
				;흐림이라면30%로 비에 이행
				ELSEIF TIME:5 == 3 && RAND:10 < 3
					IF DAY:2 == 4 && RAND:5
						TIME:5 = 8
						SIF !CFLAG:MASTER:우후후 && !지저
							PRINTW 눈이 내리기 시작했다!
					ELSE
						TIME:5 = 4
						SIF !CFLAG:MASTER:우후후 && !지저
							PRINTW 비가 내리기 시작했다!
					ENDIF
				ENDIF
			ENDIF
		;비때
		CASE 4,5,6,7
			;25%로 강화 or약체화
			IF RAND:4 == 0
				INVERTBIT TIME:5, 0
				IF TIME:5 == 5
					PRINTW 억수가 되었다!
				ELSE
					PRINTW 비가 약해졌다
				ENDIF
			ELSE
				;25%로 흐림에 이행
				IF RAND:4 == 0
					TIME:5 = 3
					SIF !CFLAG:MASTER:우후후 && !지저
						PRINTW 비가 그친 것 같다
					;만약을 위해 한우산을씀을 해제
					FOR LOCAL, 0, CHARANUM
						SIF TEQUIP:LOCAL:201
							TEQUIP:LOCAL:201 = 0
					NEXT
				;비라면10%로 안개비인가 진눈깨비에 이행
				ELSEIF TIME:5 == 4 && RAND:10 == 0
					IF DAY:2 == 4
						TIME:5 = 12
						SIF !CFLAG:MASTER:우후후 && !지저
							PRINTW 눈이 약간 섞여있다
					ELSE
						TIME:5 = 6
						SIF !CFLAG:MASTER:우후후 && !지저
							PRINTW 빗줄기가 가늘어졌다
					;더욱10%의 확률로 안개, 뻥튀기에 이행
					SIF RAND:10 == 0
						SETBIT TIME:5, 0
					ENDIF
				;10%로 맑음에 이행
				ELSEIF RAND:10 == 0
					TIME:5 = 0
					IF !CFLAG:MASTER:우후후 && !지저
						;일지도 모르면 좋은 개개 확실히 보이는 것은 기분을 자주(잘) 시키는 마법
						IF TIME:2 >= 5 && TIME:2 <= 7
							PRINTW 갑자기 밤하늘이 개었다! 달무리가 보일지도 모르겠다
						ELSE
							PRINTW 갑자기 해가 비쳤다! 무지개가 보일지도 모르겠다
						ENDIF
					FOR LOCAL, 0, CHARANUM
						SIF TEQUIP:LOCAL:201
							TEQUIP:LOCAL:201 = 0
					NEXT
					ENDIF
					;더욱 저확률로 쾌청
					SIF RAND:100 < 5
						TIME:5 = 1
					;비→개이고를 처리하면(자) 무지개가 나온다
					TIME:7 = 1
				ENDIF
			ENDIF
		;눈때
		CASE IS >= 8
			;눈은 겨울 이외 내리지 않는다
			IF DAY:2 != 4
				;비가 내린다
				CLEARBIT TIME:5, 3
				SETBIT TIME:5, 2
				SIF !CFLAG:MASTER:우후후 && !지저
					PRINTW 눈은 비로 바뀐 것 같다
			;10%로 강화
			ELSEIF !GETBIT(TIME:5, 0) && RAND:10 == 0
				SETBIT TIME:5, 0
				PRINTW 눈보라가 쳐 왔다!
			;50%의 확률로 약체화
			ELSEIF GETBIT(TIME:5, 0) && RAND:2
				CLEARBIT TIME:5, 0
				PRINTW 눈보라는 약해진 것 같다

			ELSE
				;25%로 흐림에 이행
				IF RAND:4 == 0
					TIME:5 = 3
					SIF !CFLAG:MASTER:우후후 && !지저
						PRINTW 눈이 그친 것 같다
					FOR LOCAL, 0, CHARANUM
						SIF TEQUIP:LOCAL:201
							TEQUIP:LOCAL:201 = 0
					NEXT
				;눈이라면10%로 가루눈이나 진눈깨비에 이행
				ELSEIF TIME:5 == 8 && RAND:10 == 0
					IF RAND:2
						TIME:5 = 10
						SIF !CFLAG:MASTER:우후후 && !지저
							PRINTW 눈송이가 작아졌다
					ELSE
						TIME:5 = 12
						SIF !CFLAG:MASTER:우후후 && !지저
							PRINTW 비도 약간 섞여있다
					ENDIF
					;더욱10%의 확률로 안개눈, 우박에 이행
					SIF RAND:10 == 0
						SETBIT TIME:5, 0
				;10%로 맑음에 이행
				ELSEIF RAND:10 == 0
					TIME:5 = 0
					IF !CFLAG:MASTER:우후후 && !지저
						IF TIME:2 >= 5 && TIME:2 <= 7
							PRINTW 갑자기 밤하늘이 개었다! 다이아몬드 더스트가 보일지도 모른다
						ELSE
							PRINTW 갑자기 해가 비쳤다! 다이아몬드 더스트가 보일지도 모른다
						ENDIF
					FOR LOCAL, 0, CHARANUM
						SIF TEQUIP:LOCAL:201
							TEQUIP:LOCAL:201 = 0
					NEXT
					ENDIF
					;더욱 저확률로 쾌청
					SIF RAND:100 < 5
						TIME:5 = 1
					;눈→개이고를 처리하면(자) 다이아몬드 더스트가 나온다
					TIME:7 = 2
				ENDIF
			ENDIF
		CASEELSE
			TIME:5 = RAND:5
	ENDSELECT
ENDIF
[SKIPSTART]
@현재기온설정
;높낮이차이를 5 분할
SELECTCASE TIME
	;PM11~AM4
	CASE 0 TO 299, IS >= 1380
		LOCAL = FLAG:62
	;AM5~7
	CASE 300 TO 479
		LOCAL = FLAG:62 + ((FLAG:61 - FLAG:62) / 5)
	;AM8~9
	CASE 480 TO 599
		LOCAL = FLAG:62 + ((FLAG:61 - FLAG:62) / 5 * 2)
	;AM10~11
	CASE 600 TO 719
		LOCAL = FLAG:62 + ((FLAG:61 - FLAG:62) / 5 * 3)
	;PM12~2
	CASE 720 TO 899
		LOCAL = FLAG:62 + ((FLAG:61 - FLAG:62) / 5 * 4)
	;PM3~5
	CASE 900 TO 1079
		LOCAL = FLAG:61
	;PM6~7
	CASE 1080 TO 1199
		LOCAL = FLAG:62 + ((FLAG:61 - FLAG:62) / 5 * 4)
	;PM8~9
	CASE 1200 TO 1259
		LOCAL = FLAG:62 + ((FLAG:61 - FLAG:62) / 5 * 2)
	;PM9~10
	CASE 1260 TO 1379
		LOCAL = FLAG:62 + ((FLAG:61 - FLAG:62) / 5)
ENDSELECT
;해가 나와 있지 않으면 온도 저하
SELECTCASE TIME
	;AM5~PM7
	CASE 300 TO 1199
		SIF TIME:5 > 1
			LOCAL -= ((FLAG:61 - FLAG:62) / 5)
ENDSELECT
;----------------------------------------------------------------
@연간기초최고기온(ARG, ARG:1)
#FUNCTION
;ARG   지정의 달
;ARG:1 지정의 날
SELECTCASE ARG
	CASE 1
		SELECTCASE ARG:1
			CASE 1 TO 3
				RETURNF 17
			CASE 4, 5
				RETURNF 18
			CASE 6 TO 8
				RETURNF 19
			CASE 9 TO 11
				RETURNF 20
			CASE 12 TO 14
				RETURNF 21
			CASE 15 TO 18
				RETURNF 22
			CASE 19 TO 22
				RETURNF 23
			CASE 23 TO 27
				RETURNF 24
			CASE 28 TO 30
				RETURNF 25
		ENDSELECT
	CASE 2
		SELECTCASE ARG:1
			CASE 1, 2
				RETURNF 25
			CASE 3 TO 7
				RETURNF 26
			CASE 8 TO 13
				RETURNF 27
			CASE 14 TO 17
				RETURNF 28
			CASE 18 TO 22
				RETURNF 29
			CASE 23 TO 28
				RETURNF 30
			CASE 29, 30
				RETURNF 31
		ENDSELECT
	CASE 3
		SELECTCASE ARG:1
			CASE 1, 2
				RETURNF 31
			CASE 3, 4
				RETURNF 30
			CASE 5 TO 7
				RETURNF 29
			CASE 8 TO 10
				RETURNF 28
			CASE 11, 12
				RETURNF 27
			CASE 13, 14
				RETURNF 26
			CASE 15, 16
				RETURNF 25
			CASE 17 TO 19
				RETURNF 24
			CASE 20 TO 22
				RETURNF 23
			CASE 23, 24
				RETURNF 22
			CASE 25 TO 27
				RETURNF 21
			CASE 28, 29
				RETURNF 20
			CASE 30
				RETURNF 19
		ENDSELECT
	CASE 4
		SELECTCASE ARG:1
			CASE 1 TO 4
				RETURNF 19
			CASE 5 TO 7
				RETURNF 18
			CASE 8 TO 10
				RETURNF 17
			CASE 11, 12
				RETURNF 16
			CASE 13, 14
				RETURNF 15
			CASE 15, 16
				RETURNF 14
			CASE 17, 18
				RETURNF 13
			CASE 19, 20
				RETURNF 12
			CASE 21, 22
				RETURNF 11
			CASE 23 TO 25
				RETURNF 10
			CASE 26, 27
				RETURNF 9
			CASE 28, 29
				RETURNF 8
			CASE 30
				RETURNF 7
		ENDSELECT
	CASE 5
		SELECTCASE ARG:1
			CASE 1 TO 3
				RETURNF 7
			CASE 4 TO 9
				RETURNF 6
			CASE 10 TO 14
				RETURNF 5
			CASE 15 TO 21
				RETURNF 4
			CASE 22 TO 28
				RETURNF 5
			CASE 29, 30
				RETURNF 6
		ENDSELECT
	CASE 6
		SELECTCASE ARG:1
			CASE 1 TO 6
				RETURNF 6
			CASE 7 TO 12
				RETURNF 7
			CASE 13, 14
				RETURNF 8
			CASE 15, 16
				RETURNF 9
			CASE 17, 18
				RETURNF 10
			CASE 19, 20
				RETURNF 11
			CASE 21, 22
				RETURNF 12
			CASE 23, 24
				RETURNF 13
			CASE 25, 26
				RETURNF 14
			CASE 27, 28
				RETURNF 15
			CASE 29
				RETURNF 16
			CASE 30
				RETURNF 17
		ENDSELECT
ENDSELECT

;----------------------------------------------------------------
@연간기초최저기온(ARG, ARG:1)
#FUNCTION
;ARG   지정의 달
;ARG:1 지정의 날
SELECTCASE ARG
	CASE 1
		SELECTCASE ARG:1
			CASE 1 TO 3
				RETURNF 11
			CASE 4 TO 6
				RETURNF 12
			CASE 7, 8
				RETURNF 13
			CASE 9 TO 11
				RETURNF 14
			CASE 12 TO 14
				RETURNF 15
			CASE 15 TO 17
				RETURNF 16
			CASE 18 TO 20
				RETURNF 17
			CASE 21 TO 23
				RETURNF 18
			CASE 24 TO 27
				RETURNF 19
			CASE 28 TO 30
				RETURNF 20
		ENDSELECT
	CASE 2
		SELECTCASE ARG:1
			CASE 1 TO 3
				RETURNF 20
			CASE 4 TO 7
				RETURNF 21
			CASE 8 TO 10
				RETURNF 22
			CASE 11 TO 14
				RETURNF 23
			CASE 15 TO 22
				RETURNF 24
			CASE 23 TO 30
				RETURNF 25
		ENDSELECT
	CASE 3
		SELECTCASE ARG:1
			CASE 1 TO 5
				RETURNF 25
			CASE 6 TO 9
				RETURNF 24
			CASE 10 TO 12
				RETURNF 23
			CASE 13, 14
				RETURNF 22
			CASE 15 TO 17
				RETURNF 21
			CASE 18 TO 20
				RETURNF 20
			CASE 21 TO 23
				RETURNF 19
			CASE 24, 25
				RETURNF 18
			CASE 26
				RETURNF 17
			CASE 27, 28
				RETURNF 16
			CASE 29
				RETURNF 15
			CASE 30
				RETURNF 14
		ENDSELECT
	CASE 4
		SELECTCASE ARG:1
			CASE 1 TO 3
				RETURNF 14
			CASE 4, 5
				RETURNF 13
			CASE 6, 7
				RETURNF 12
			CASE 8, 9
				RETURNF 11
			CASE 10, 11
				RETURNF 10
			CASE 12 TO 14
				RETURNF 9
			CASE 15 TO 17
				RETURNF 8
			CASE 18 TO 20
				RETURNF 7
			CASE 21 TO 23
				RETURNF 6
			CASE 24 TO 26
				RETURNF 5
			CASE 27 TO 29
				RETURNF 4
			CASE 30
				RETURNF 3
		ENDSELECT
	CASE 5
		SELECTCASE ARG:1
			CASE 1, 2
				RETURNF 3
			CASE 3 TO 6
				RETURNF 2
			CASE 7 TO 10
				RETURNF 1
			CASE 11 TO 13
				RETURNF 0
			CASE 14 TO 21
				RETURNF -1
			CASE 22 TO 30
				RETURNF 0
		ENDSELECT
	CASE 6
		SELECTCASE ARG:1
			CASE 1 TO 3
				RETURNF 0
			CASE 4 TO 6
				RETURNF 1
			CASE 7, 8
				RETURNF 2
			CASE 9, 10
				RETURNF 3
			CASE 11 TO 14
				RETURNF 4
			CASE 15, 16
				RETURNF 5
			CASE 17, 18
				RETURNF 6
			CASE 19, 20
				RETURNF 7
			CASE 21 TO 23
				RETURNF 8
			CASE 24, 25
				RETURNF 9
			CASE 26 TO 28
				RETURNF 10
			CASE 29, 30
				RETURNF 11
		ENDSELECT
ENDSELECT
[SKIPEND]

@TIMEZONE_MOVE
#DIMS 이동전
#DIMS 이동후
FOR LOCAL, 1, CHARANUM
	SIF RAND:3 > 0
		CONTINUE
	SIF 출현상태(LOCAL) != 1
		CONTINUE
	SIF !CHARA_HOLIDAY(LOCAL)
		CONTINUE
	SIF CFLAG:LOCAL:초대
		CONTINUE
	SIF CFLAG:LOCAL:동행 || CHK_DATENOW(CFLAG:LOCAL:데이트중)
		CONTINUE
	SIF !CFLAG:LOCAL:전턴위치
		CONTINUE
	SIF CFLAG:LOCAL:수면
		CONTINUE
	IF CFLAG:MASTER:현재위치 == CFLAG:LOCAL:현재위치
		LOCAL:1 = RAND:5
		IF TALENT:LOCAL:연모 && LOCAL:1 < 3
			CONTINUE
		ELSEIF !LOCAL:1
			CONTINUE
		ENDIF
	ENDIF
	CALL 만남플래그결정(LOCAL)
;	CFLAG:LOCAL:현재위치 = CFLAG:LOCAL:만난위치
;	이동전 = %STR:(6000 + CFLAG:LOCAL:전턴위치 / 10)%
;	SIF CFLAG:LOCAL:전턴위치 == SUKIMA()
;		이동전 = 방
;	이동후 = %STR:(6000 + CFLAG:LOCAL:현재위치 / 10)%
;	SIF CFLAG:LOCAL:현재위치 == SUKIMA()
;		이동후 = 방
;	SIF CFLAG:LOCAL:전턴위치 != CFLAG:LOCAL:현재위치 && (CFLAG:MASTER:현재위치 / 100 == CFLAG:LOCAL:전턴위치 / 100) && !AT_HOME() && CFLAG:MASTER:현재위치 != OMANEKIBEYA()
;		PRINTFORML %CALLNAME:LOCAL%는 【%이동전%】에서 【%이동후%】로 이동했다
NEXT
;캐릭터를 움직였으므로 TARGET재설정
;CALL TARGETSET_CHACK