code:
;-------------------------------------------------
;하늘의 소리를 듣는다
;일상계 커맨드, 레벨 1
;-------------------------------------------------
@COM422
PRINTL [0] - 사람을 찾고 있다
PRINTL [1] - 청소를 하고 싶다
PRINTL [2] - 밖에 있는 사람을 찾고 싶다
PRINTL [100] - 돌아간다
INPUT
IF RESULT == 0
	CALL HITOSAGASI()
ELSEIF RESULT == 1
	CALL OHEYA_CHECK
ELSEIF RESULT == 2
	CALL BROAD_HITOSAGASI
	TIME += 3
	RETURN 1
ELSEIF RESULT == 100
	RETURN -1
ENDIF
INPUTS
RESULT = TOINT(RESULTS)
IF RESULT == 0
	REPLACE RESULTS, CALLNAME:MASTER, "%CALLNAME:MASTER%"
	FOR LOCAL, 1, 19
		SIF STR:LOCAL == RESULTS
			RESULT = LOCAL
	NEXT
ENDIF

IF (RESULT >= 26 && RESULT <= 35) && ABL:MASTER:교양 < 1 && !INRANGE(CFLAG:MASTER:초기위치, 26,35)
	PRINTFORMW 미숙한 %CALLNAME:MASTER%로선 찾아낼 수 없다…
ELSE
	IF IN_HOME(RESULT) == 1
		SIF AT_HOME(MASTER) == 0
			GOTO MURIDESU
		CALL SKIP_MOVE(CFLAG:MASTER:현재위치, RESULT)
	ENDIF
ENDIF

TIME += 10
RETURN 1
$MURIDESU
PRINTW 여기에서는 갈 수 없다…
TIME += 10
RETURN 1

@BROAD_HITOSAGASI
$KAKUNIN
FOR LOCAL, 0,11
	SIF LOCAL == MAIN_MAP
		CONTINUE
	LOCAL:1 = 5000 + LOCAL
	PRINTFORMLC [{LOCAL}] - %STR:(LOCAL:1)%
	CALL 광역체크(LOCAL, 1)
NEXT
DRAWLINE
PRINT [100] - 확인 종료
$INPUT_LOOP
INPUT
IF RESULT == 100 || RESULT == MAIN_MAP
	RETURN -1
ELSEIF RESULT < 0
	CLEARLINE 1
	GOTO INPUT_LOOP
ELSEIF RESULT >= 11
	PRINTW 미작성입니다
	CLEARLINE 2
	GOTO INPUT_LOOP
ENDIF
CALL 광역체크(RESULT, 2)
CALL ASK_YN("다른 지역을 본다","확인 종료")
SIF !RESULT
	GOTO KAKUNIN

@광역체크(ARG, ARG:1)
VARSET LOCAL

FOR LOCAL, 1, CHARANUM
	SIF AT_HOME(LOCAL) == 1
		CONTINUE
	SIF CFLAG:LOCAL:현재위치 == MAXROOM && CFLAG:LOCAL:수면
		CONTINUE
	FOR LOCAL:1, 10,100,10
		IF CFLAG:LOCAL:현재위치 == ARG * 100 + LOCAL:1
			;그 지역에 있는 캐릭터를표시
			IF ARG:1 == 2
				SIF CFLAG:LOCAL:행동 == 5
					SETCOLOR 255, 100, 0
				PRINTFORML %CALLNAME:LOCAL, 15, LEFT%
				RESETCOLOR
			ENDIF
			LOCAL:2 ++
		ENDIF
	NEXT
NEXT
;그 지역에 있는 인원수
IF ARG:1 == 1
	IF LOCAL:2
		PRINTFORML {LOCAL:2}인
	ELSE
		PRINTL 아무도 없다
	ENDIF
ENDIF

;하늘의 소리를 듣는다
@COM_ABLE422
;정지 중에는 불가
SIF FLAG:70 == 1
	RETURN 0
;실행 판정
SIF !TFLAG:100
	RETURN 0
;일괄관리
SIF GLOBAL_COMABLE(421)
	RETURN RESULT
;새전함
SIF !하늘의성가(CFLAG:MASTER:현재위치) && CFLAG:MASTER:현재위치 != 천계
	RETURN 0
SIF CFLAG:우후후 == 2
	RETURN 0
RETURN 1

path: ERB/커맨드관련/COMF/일상계/COMF422 하늘의소리를듣는다_t.ERB


code:
;-------------------------------------------------
;도구를산다
;-------------------------------------------------
@COM423
TFLAG:194 = 1
;PRINTFORML {ITEMSALES:62}
CALL ITEM_SALES
DRAWLINE
CALL LIST_ITEM("캇파 도구")
DRAWLINE
PRINTL 「지금이라면 싸게 해 두어」
PRINTFORML 구입할 아이템을 선택해주세요 소지금 :\\%TOSTR(MONEY,"#,###")%
;CALL TOOL_BUY
CALL SHOW_ITEM, "캇파 도구", 3
PRINTL
DRAWLINE
PRINT [100] - 돌아간다　　　　　[101] - 도구의 개조　[102] - 도구의 개발
INPUT
LOCAL = RESULT
SELECTCASE LOCAL
CASE 100
	RETURN -1
CASE 101
	CALL TOOL_CUSTOM
	SIF RESULT
		RETURN RESULT
CASE 102
	PRINTL 「개발하려면 git가 필요하다」
	PRINTW git란 도대체…
	RETURN -1
CASEELSE
	SELECTCASE ITEMSTOCK(LOCAL)
	CASE 1, 4
		RETURN -1
	CASE 2
		PRINTW 품절입니다
		RETURN -1
	CASE 3
		PRINTW 소지금이 충분하지 않습니다
		RETURN -1
	CASE 5
		PRINTW 이미 충분히 가지고 있습니다
		RETURN -1
	CASEELSE
		SIF !INRANGE(LOCAL, 0, 100)
			RETURN -1
	ENDSELECT
	PRINTFORML %ITEMNAME:LOCAL%를 구입하겠습니까?
	PRINTL [0] - 네  [1] - 아니오
	INPUT
	SIF RESULT
		RETURN -1
	ITEM:LOCAL ++
	SELECTCASE ITEMSALES:LOCAL
	CASE IS > 1
		ITEMSALES:LOCAL --
	CASE 1
		ITEMSALES:LOCAL = -1
	ENDSELECT
	MONEY -= ITEMPRICE:LOCAL / 3
ENDSELECT
RESTART

;도구를산다
@COM_ABLE423
;일단 정지
RETURN 0
;정지 중에는 불가
SIF FLAG:70 == 1
	RETURN 0
;이동 실행 판정
SIF !TFLAG:100
	RETURN 0
;일괄관리
SIF GLOBAL_COMABLE(423)
	RETURN RESULT
;에 새가 있는 곳
SIF TARGET != 51
	RETURN 0
SIF CFLAG:우후후 == 2
	RETURN 0
RETURN 1

repo_name: purugi/eraTWKR

path: ERB/커맨드관련/COMF/일상계/COMF423 도구를산다_t.ERB

license: mit


code:
;-------------------------------------------------
;약을산다
;-------------------------------------------------
@COM424
#DIM 바가지
DRAWLINE
CALL LIST_ITEM("토끼 약품")
DRAWLINE
PRINTFORML 구입할 아이템을 선택해주세요 소지금 :\\%TOSTR(MONEY,"#,###")%
PRINTL
VARSET LOCALS
CALL EX_SHOPPING("로션 물병(와인)","로션이 든 큰병. 5회분은 있을 것이다. ", 0,1000)
CALL EX_SHOPPING("콘돔 이득용 팩","50개나 들어가 있다. ", 1,1000)
CALL EX_SHOPPING("필(5정들이)","밝은 가족 계획", 2,5000)
CALL EX_SHOPPING("미약","호의를 안기 쉬워지는", 250)
CALL EX_SHOPPING("수면제","악용하면 안 돼요?", 252)
CALL EX_SHOPPING("영양드링크","타우린 1000mg 배합", 501)
CALL EX_SHOPPING("정력제","더러운 부자 납품업자", 502)
CALL EX_SHOPPING("우콘드링크","술 마시기 전에", 510)
CALL EX_SHOPPING("붕대","상처를 입은 데나 숨기고 싶은 장소에 감자", 520)
SIF TARGET == 53 && !ITEM:130
	CALL EX_SHOPPING("토부「개운대문」","럭키 색골이 일어나는 꿈의 아이템", 130)
DRAWLINE
PRINTL [100] 그만둔다
INPUT
SELECTCASE RESULT
	CASE 0
		CALL BUY_ABLE(40,1000,5)
	CASE 1
		CALL BUY_ABLE(45,1000,50)
	CASE 2
		CALL BUY_ABLE(49,5000,5)
	CASE 130
		SIF TARGET == 53 && !ITEM:130
			CALL BOTTAKURI
	;정리하고 구매 함수로 수매
	;이것들의 아이템은 특히 할인은 없기 때문에 @BUY_ABLE를 사용하는 필연성이 없다
	CASE 250, 252, 501, 502, 510, 520
		SELECTCASE ITEMSTOCK(RESULT)
		CASE 1, 4
		CASE 2
			PRINTW 품절입니다
		CASE 3
			PRINTW 소지금이 충분하지 않습니다
		CASE 5
			PRINTW 이미 충분히 가지고 있습니다
		CASEELSE
			CALL ITEM_MATOMEGAI(RESULT)
		ENDSELECT
	CASE 100
		RETURN -1
	CASEELSE
ENDSELECT
RESTART

;약을산다
@COM_ABLE424
;일단 정지
RETURN 0
;정지 중에는 불가
SIF FLAG:70 == 1
	RETURN 0
;이동 실행 판정
SIF !TFLAG:100
	RETURN 0
;일괄관리
SIF GLOBAL_COMABLE(424)
	RETURN RESULT
SIF CFLAG:MASTER:현재위치 != CFLAG:52:현재위치 && CFLAG:MASTER:현재위치 != CFLAG:53:현재위치
	RETURN 0
SIF CFLAG:우후후 == 2
	RETURN 0
RETURN 1

path: ERB/커맨드관련/COMF/일상계/COMF424 약을산다_t.ERB


code:
;-------------------------------------------------
;약을 탄다
;일상계 커맨드, 레벨 1
;-------------------------------------------------
@COM425
PRINTL 어느 약을 섞겠습니까?
$LOOP
SIF ITEM:41
	PRINTFORML [{41}] %ITEMNAME:41%
SIF ITEM:42
	PRINTFORML [{42}] %ITEMNAME:42%
SIF ITEM:250
	PRINTFORML [{250}] %ITEMNAME:250%
SIF ITEM:252
	PRINTFORML [{252}] %ITEMNAME:252%
PRINTL [999] 그만둔다
INPUT

SIF RESULT == 999
	RETURN 0
IF RESULT != 41 && RESULT != 42 && RESULT != 250 && RESULT != 252
	GOTO LOOP
ELSEIF ITEM:RESULT
	TFLAG:131 = RESULT
	PRINTFORML 차에 %ITEMNAME:RESULT%를 섞었습니다
	ITEM:RESULT -= 1
IF FLAG:70
	BASE:MASTER:TSP -= 30
ELSE
	TIME += 10
ENDIF
	RETURN 1
ELSE
	RETURN 0
ENDIF

;-------------------------------------------------
;실행 판정
;-------------------------------------------------
;약을 탄다
@COM_ABLE425
;목격자가 있으면 안 됨
SIF TARGET > 0 && !FLAG:70
	RETURN 0
SIF !TFLAG:100
	RETURN 0
;일괄관리
SIF GLOBAL_COMABLE(425)
	RETURN RESULT

;기력 0
SIF BASE:MASTER:기력 <= 0
	RETURN 0
SIF CFLAG:우후후 == 2
	RETURN 0
SIF TFLAG:131
	RETURN 0
RETURN 1

path: ERB/커맨드관련/COMF/일상계/COMF425 약을탄다_t.ERB


code:
;-------------------------------------------------
;위험한 약을산다
;-------------------------------------------------
@COM426

$LOOP
PRINTFORML 구입할 아이템을 선택해주세요 소지금 :\\%TOSTR(MONEY,"#,###")%
PRINTL
VARSET LOCALS
LOCALS = [41] 미약　￥3000
PRINTFORM %LOCALS, 48, LEFT%
PRINTL
LOCALS = [42] 이뇨제　￥3000
PRINTFORM %LOCALS, 48, LEFT%
PRINTL
LOCALS = [250] 춘약　￥5000
PRINTFORM %LOCALS, 48, LEFT%
PRINTL 호의를 안기 쉬워진다

;LOCALS = [2] 풍유제　￥2000
LOCALS = [2] 우유　￥2000
PRINTFORM %LOCALS, 48, LEFT%
PRINTL 이것을 계속 마시면 가슴이 커질지도
LOCALS = [501] 축흉제　￥2000
PRINTFORM %LOCALS, 48, LEFT%
PRINTL 이것을 계속 마시면 가슴이 작아질지도
LOCALS = [502] 아포트키신 4869　￥10000
PRINTFORM %LOCALS, 48, LEFT%
PRINTL 신이치를 바 로로 하는 약
LOCALS = [503] 장아이 072　￥10000
PRINTFORM %LOCALS, 48, LEFT%
PRINTL 거대한 육체를 인스턴트에 만들어 내는 트레이닝 약물
LOCALS = [42] 타노시이드린크　￥3000
PRINTFORM %LOCALS, 48, LEFT%
PRINTL 다복감을 가불해, 머지않아 감정이 시들고 끝난다
DRAWLINE
PRINTL [100] 그만둔다
INPUT
SELECTCASE RESULT
	CASE 0
		IF MONEY < ITEMPRICE:RESULT
			PRINTW 돈이 부족하다
			GOTO LOOP
		ELSEIF ITEM:RESULT > 50
			PRINTW 지금은 충분하다
			GOTO LOOP
		ELSE
			PRINTFORMW %ITEMNAME:RESULT%를 샀습니다
			ITEM:RESULT += 5
			MONEY -= ITEMPRICE:RESULT
			GOTO LOOP
		ENDIF
	CASE 100
		RETURN -1
	CASEELSE
		GOTO LOOP
ENDSELECT

RETURN 1

path: ERB/커맨드관련/COMF/일상계/COMF426 위험한약을산다_t.ERB


code:
;-------------------------------------------------
;요술망치를 쓴다
;일상계 커맨드, 레벨 1
;-------------------------------------------------
@COM428
SIF FLAG:역극 != 71
	PRINTL 신묘마루 「이용은 계획적으로」
PRINTL 무슨 소원을 빌겠습니까?
SIF TALENT:71:체형 != 0
	PRINTL [2] - 신묘마루를 평범한 크기로
IF GETBIT(TALENT:MASTER:성별, 1)
	PRINTL [3] - 경이적인 양물로!
	PRINTL [4] - 아예 인간 물건이 아닌 걸로!
ENDIF
SIF TALENT:MASTER:100 >= -4
	PRINTL [5] - 난쟁이로 해줘!
SIF TALENT:MASTER:100 < -4 && CFLAG:MASTER:요술망치 == 6
	PRINTL [6] - 원래 크기에 되돌려줘……
PRINTL
PRINTL [100] - 돌아간다
$LOOP
INPUT
IF RESULT == 2
	PRINTFORMW 소원을 담아 요술망치를 휘둘러보았다
	PRINTFORMW 신묘마루의 몸은 평범한 소녀 사이즈가 되었다.
	CFLAG:MASTER:요술망치 = 8
	TALENT:71:체형 = 0
ELSEIF RESULT ==  3
	PRINTW 소원을 담아 요술망치를 휘둘러보았다
	PRINTW 도저히 숨기지 못할 정도로 양물이 커졌다
	CFLAG:MASTER:요술망치 = 4
	CFLAG:MASTER:382 = TALENT:MASTER:형상
	TALENT:MASTER:형상 = 10
	CFLAG:MASTER:마력회수 = 6
ELSEIF RESULT == 4
	PRINTW 소원을 담아 요술망치를 휘둘러보았다
	PRINTW 놀랍게도 자신의 물건이 아예 한 개 더 생겼다
	CFLAG:MASTER:382 = TALENT:MASTER:형상
	CFLAG:MASTER:요술망치 = 5
	TALENT:MASTER:183 = 1
	CFLAG:MASTER:마력회수 = 6
ELSEIF RESULT == 5 && TALENT:MASTER:100 >= -4
	PRINTFORMW 소원을 담아 요술망치를 휘둘러보았다
	PRINTFORMW %CALLNAME:MASTER%의 몸은 순식간에 줄어들었다
	CFLAG:MASTER:마력회수 = 3
	CFLAG:MASTER:요술망치 = 6
	FLAG:원래체격 = TALENT:MASTER:100
	TALENT:MASTER:100 = -5
ELSEIF RESULT == 6 && TALENT:MASTER:100 < -4 && CFLAG:MASTER:현재위치 == 54
	PRINTFORMW 「여기서 하지 마!」
	RETURN -1
ELSEIF RESULT == 6 && TALENT:MASTER:100 < -4
	PRINTFORMW 소원을 담아 요술망치를 휘둘러보았다
	PRINTFORMW %CALLNAME:MASTER%의 몸은 원래대로 돌아왔다
	TALENT:MASTER:100 = FLAG:원래체격
	CFLAG:MASTER:마력회수 = 3
	CFLAG:MASTER:요술망치 = 7
ELSEIF RESULT == 100
SIF FLAG:역극 != 71
	PRINTL 신묘마루 「그러는 게 현명하죠」
	RETURN -1
ELSE
	GOTO LOOP
ENDIF
TIME += 5

RETURN 1

;요술망치를 쓴다
@COM_ABLE428
;정지 중에는 불가
SIF FLAG:70 == 1
	RETURN 0
;이동 실행 판정
SIF !TFLAG:100
	RETURN 0
;일괄관리
SIF GLOBAL_COMABLE(428)
	RETURN RESULT
;신묘마루가 자고 있으면 불가
SIF CFLAG:71:수면
	RETURN 0
;신묘마루가 있는 곳. 신묘마루가 벌레통에 있을 때는 거실이나 툇마루에 있으면 세이프
IF CFLAG:MASTER:현재위치 != CFLAG:71:현재위치 && FLAG:역극 != 71
	IF CFLAG:71:현재위치 == 54 && (CFLAG:MASTER:현재위치 == 9 || CFLAG:MASTER:현재위치 == 10) && AT_HOME(MASTER)
	ELSE
	RETURN 0
	ENDIF
ENDIF
;SIF CFLAG:MASTER:현재위치 != CFLAG:71:현재위치
;	RETURN 0
SIF CFLAG:우후후 == 2
	RETURN 0
;마력회수중 및 신묘마루 거대화 중에는 사용할 수 없다
SIF CFLAG:MASTER:마력회수 > 0 || CFLAG:MASTER:요술망치 == 8
	RETURN 0
RETURN 1

path: ERB/커맨드관련/COMF/일상계/COMF428 요술망치를쓴다_t.ERB


code:
;-------------------------------------------------
;갈아입히기
;일상계 커맨드, 레벨 1
;-------------------------------------------------
@COM429
#DIM C_ID
#DIM ID_갈아입히기대상, 캐릭터수상한
#DIM 갈아입히기가능인원수
#DIM L_ID ;사용 리스트의 ID
CALL MAKE_CHARA_LIST("갈아입히기 가능 캐릭터리스트", L_ID, ID_갈아입히기대상, 갈아입히기가능인원수)
IF 갈아입히기가능인원수 <= 1
	PRINTFORMW %CALLNAME:(MASTER)%는 갈아입기로 했다
	CALL 복장갈아입히기(MASTER)
	CALL CLOTHES_SETTING_TRAIN(MASTER)
	RETURN -1
ENDIF

;갈아입음 대상의 선택
;리스트 작성시에 가부 판정 하고 있기 때문에 여기에서는 필요없습니다
PRINTFORML 옷을 갈아입을 수가 있습니다
PRINTFORML 누구의 갈아 입을 것을 합니까?
PRINTFORML
CALL SIMPLE_CHARA_LIST(ID_갈아입히기대상, 갈아입히기가능인원수)
;캔슬했다
SIF RESULT == 999
	RETURN -1

;RESULT는 곧 썩으므로
C_ID = ID_갈아입히기대상:(RESULT)
SIF FLAG:시간정지 == 1 && !(C_ID == MASTER)
	CFLAG:C_ID:시간정지착의 = 1
CALL 복장갈아입히기(C_ID)
CALL CLOTHES_SETTING_TRAIN(C_ID)
RETURN 0

;CLOTHES_SETTING_TRAIN에 구두벗어 처리를 이동시켰으므로
;여기서 CLOTHES_SETTING_TRAIN 하면(자) 구두를 벗으며 끝내, 구두설정의 보존을 할 수 없습니다
;호출원으로 CLOTHES_SETTING_TRAIN 하는 것
@복장갈아입히기(C_ID)
#DIM C_ID
CALL SHOW_CLOTHES(C_ID, "현재의 의상")
PRINTFORML %CALLNAME:C_ID%의 갈아 입을 옷 안
PRINTFORML
PRINTFORML [6] - 의상 확인
PRINTFORML [5] - 의상의 것 걸러서 필요해 지정
PRINTFORML [4] - 파자마의 변경
PRINTFORML [3] - 매일의 의상의 변경
PRINTFORML [2] - 의상의 일시 변경
PRINTFORML [1] - 팬티
PRINTFORML
PRINTFORML [0] - 돌아간다
DO
	INPUT
	SELECTCASE RESULT
	CASE 6
		CALL SHOW_CHARA_CLOTHES(C_ID, 0)
	CASE 5
		CALL SHOW_CLOTHES(C_ID, "거름필요한의상")
		PRINTFORML %CALLNAME:C_ID%의 거름필요한의상을 설정중
		PRINTFORML
		PRINTFORML [4] - 현재의 의상을 지정한다
		PRINTFORML [3] - 의상세트를 지정한다
		PRINTFORML [2] - 특정 캐릭터의 평상복의 흉내
		PRINTFORML [1] - 걸러서 필요해 지정의 리셋
		PRINTFORML
		PRINTFORML [0] - 그만둔다
		DO
			INPUT
			SELECTCASE RESULT
			CASE 4
				CALL DECIDE_CLOTHES(C_ID, "거름필요한의상", "현재의 의상")
			CASE 3
				CALL COSPLAY_SET(C_ID, "거름필요한의상")
			CASE 2
				CALL COSPLAY_CHARA(C_ID, "거름필요한의상")
			CASE 1
				PRINTFORML 정말로 리셋 합니까?
				PRINTFORML
				PRINTFORML [1] - 리셋 한다
				PRINTFORML [0] - 그만둔다
				DO
					INPUT
					SELECTCASE RESULT
					CASE 1
						CALL CTRL_CLOTHES_SET(C_ID, "거름필요한의상의 리셋")
					CASE 0
					CASEELSE
						REUSELASTLINE 무효인 입력입니다
						CONTINUE
					ENDSELECT
					RESTART
				LOOP 1
			CASE 0
				RESTART
			CASEELSE
			ENDSELECT
			RESTART
		LOOP 1
	CASE 4
		SIF C_ID == MASTER
			RESTART
		CALL SHOW_CLOTHES(C_ID, "오늘의 파자마")
		PRINTFORML %CALLNAME:C_ID%의 파자마를 설정중
		PRINTFORML
		PRINTFORML [5] - 좋아하는 대로 시킨다
		PRINTFORML [4] - 거름필요한의상으로 자 준다
		PRINTFORML [3] - 파자마를 지정한다
		PRINTFORML [2] - 전라로 자 준다
		PRINTFORML [1] - 팬티만으로 자 준다
		PRINTFORML
		PRINTFORML [0] - 그만둔다
		DO
			INPUT
			SELECTCASE RESULT
			CASE 5
				CFLAG:C_ID:파자마지정 = 0
			CASE 4
				SIF CFLAG:C_ID:거름필요한의상
					CALL CTRL_CLOTHES_SET(C_ID, "파자마의 변경_거름필요한의상")
			CASE 3
				CALL COSPLAY_SELECT(C_ID, "파자마", "파자마 세트")
			CASE 2
				CALL CTRL_CLOTHES_SET(C_ID, "파자마의 변경_전라")
			CASE 1
				CALL CTRL_CLOTHES_SET(C_ID, "파자마의 변경_판이치")
			CASE 0
			CASEELSE
				REUSELASTLINE 무효인 입력입니다
				CONTINUE
			ENDSELECT
			RESTART
		LOOP 1
	CASE 3
		CALL SHOW_CLOTHES(C_ID, "오늘의 의상")
		PRINTFORML %CALLNAME:C_ID%의 평상복을 설정중
		PRINTFORML
		PRINTFORML [4] - 현재의 의상을 지정한다( 걸러서 필요해에 덧쓰기됩니다)
		PRINTFORML [3] - 의상세트를 지정한다
		PRINTFORML [2] - 특정 캐릭터의 평상복의 흉내
		PRINTFORML [1] - 본인 맡김
		PRINTFORML
		PRINTFORML [0] - 그만둔다
		DO
			INPUT
			SELECTCASE RESULT
			CASE 4
				CALL DECIDE_CLOTHES(C_ID, "평상복", "현재의 의상")
			CASE 3
				CALL COSPLAY_SET(C_ID, "평상복")
			CASE 2
				CALL COSPLAY_CHARA(C_ID, "평상복")
			CASE 1
				PRINTFORMW 평상복의 설정은 본인의 기분에 맡깁니다
				CFLAG:C_ID:기본복장세트 = 0
			CASE 0
			ENDSELECT
			RESTART
		LOOP 1
	CASE 2
		;#;PRINTFORML CFLAG:C_ID:의상일시변경 {CFLAG:C_ID:의상일시변경}
		CALL SHOW_CLOTHES(C_ID, "현재의 의상")
		PRINTFORML %CALLNAME:C_ID%의 현재의 의상을 갈아입히기중
		PRINTFORML
		PRINTFORML [4] - 거름필요한의상에 갈아입히기
		PRINTFORML [3] - 의상세트를 지정한다
		PRINTFORML [2] - 특정 캐릭터의 평상복의 흉내
		PRINTFORML [1] - 오늘의 Default에 되돌린다
		PRINTFORML
		PRINTFORML [0] - 그만둔다
		DO
			INPUT
			SELECTCASE RESULT
			CASE 4
				SIF !CFLAG:C_ID:거름필요한의상
					RESTART
				CALL DECIDE_CLOTHES(C_ID, "현재의 의상", "거름필요한의상")
			CASE 3
				CALL COSPLAY_SET(C_ID, "현재의 의상")
			CASE 2
				CALL COSPLAY_CHARA(C_ID, "현재의 의상")
			CASE 1
				PRINTFORMW 오늘의 의상을 다시 입혔다
				CALL CTRL_CLOTHES_SET(C_ID, "현재 의상의 변경_평상복")
			CASE 0
			ENDSELECT
			RESTART
		LOOP 1
	CASE 1
		PRINTFORML %CALLNAME:C_ID%의 팬티를 음미중
		PRINTFORML 현재 착용중의 팬티：%GET_STR(C_ID, "하반신속옷_비켜놓아가능", EQUIP:C_ID:하반신속옷2, "이름")%
		SELECTCASE CFLAG:C_ID:지정팬티
		CASE 0
			PRINTFORML 　현재의 팬티 설정：지정 없음
		CASE 100
			PRINTFORML 　현재의 팬티 설정：노팬티 지정
		CASEELSE
			PRINTFORML 　현재의 팬티 설정：%GET_STR(C_ID, "하반신속옷_비켜놓아가능", CFLAG:C_ID:지정팬티, "이름")%
		ENDSELECT
		PRINTFORML
		PRINTFORML
		PRINTFORML [2] - 현재의 팬티를 걸러서 필요해 지정
		PRINTFORML [1] - 팬티의 걸러서 필요해 지정을 해제한다
		PRINTFORML
		PRINTFORML [0] - 그만둔다
		DO
			INPUT
			SELECTCASE RESULT
			CASE 2
				PRINTFORMW 현재의 팬티를 걸러서 필요해로 지정했습니다
				CFLAG:C_ID:지정팬티 = EQUIP:C_ID:하반신속옷2
				SIF !CFLAG:C_ID:지정팬티
					CFLAG:C_ID:지정팬티 = 100
			CASE 1
				PRINTFORMW 팬티의 걸러서 필요해 지정을 해제했습니다
				CFLAG:C_ID:지정팬티 = 0
			CASE 0
			ENDSELECT
			RESTART
		LOOP 1
	CASE 0
		RETURN
	CASEELSE
		REUSELASTLINE 무효인 입력입니다
		CONTINUE
	ENDSELECT
	RESTART
LOOP 1

;모방시키는 대상 캐릭터의 선택
@COSPLAY_CHARA(C_ID, TYPE)
#DIM  C_ID
#DIMS TYPE
#DIM  COS_CHARA
PRINTFORML %CALLNAME:C_ID%의%TYPE%를 설정중
PRINTFORML 누구의 의상을 흉내내게 합니까?
CALL SHOW_CHARA_LIST("평상복 모방 가능 캐릭터리스트", "체력 기력")
COS_CHARA = RESULT
IF GROUPMATCH(COS_CHARA, 0, 999)
	PRINTFORMW 의상의 설정을 중단했다
	RETURN
ELSEIF COS_CHARA == C_ID
	SELECTCASE TYPE
	CASE "거름필요한의상"
		PRINTFORMW 의상의 설정을 중단했다
	CASE "평상복"
		PRINTFORMW 평상복의 설정은 본인의 기분에 맡깁니다
		CFLAG:C_ID:기본복장세트 = 0
	CASE "현재의 의상"
		PRINTFORMW 오늘의 의상을 다시 입혔다
		CALL CTRL_CLOTHES_SET(C_ID, "현재 의상의 변경_평상복")
	ENDSELECT
	RETURN
ENDIF
CALL DECIDE_CLOTHES(C_ID, TYPE, "캐릭터 평상복", COS_CHARA)
SIF RESULT
	RESTART

;의상세트의 카테고리 선택
@COSPLAY_SET(C_ID, TYPE)
#DIM  C_ID
#DIM  SET_ID
#DIMS TYPE
#DIMS CATEGORY
CALL SHOW_CLOTHES(C_ID, TYPE)
PRINTFORML %CALLNAME:C_ID%의%TYPE%를 설정중
PRINTFORML 의상의 종류의 선택
PRINTFORML
PRINTFORML [3] - 기본 의상세트
PRINTFORML [2] - 코스프레 의상세트
PRINTFORML [1] - 캐릭터 특수 의상세트
PRINTFORML
PRINTFORML [0] - 그만둔다
DO
	INPUT
	SELECTCASE RESULT
	CASE 3
		CATEGORY '= "기본 의상세트"
	CASE 2
		CATEGORY '= "코스프레 의상세트"
	CASE 1
		CATEGORY '= "캐릭터 특수 의상세트"
	CASE 0
		RETURN
	CASEELSE
		REUSELASTLINE 무효인 입력입니다
		CONTINUE
	ENDSELECT
	BREAK
LOOP 1
CALL COSPLAY_SELECT(C_ID, TYPE, CATEGORY)

;개개의 의상세트의 선택
@COSPLAY_SELECT(C_ID, TYPE, CATEGORY)
#DIM  C_ID
#DIM  SET_ID
#DIMS TYPE
#DIMS CATEGORY
PRINTFORML %CALLNAME:C_ID%의%TYPE%를 설정중(%CATEGORY%)
PRINTFORML 사용하는 의상세트를 선택해 주세요
PRINTFORML
CALL CLASS_LIST("의상세트", CATEGORY)
PRINTFORML
PRINTFORML [0] - 그만둔다
DO
	INPUT
	SET_ID = RESULT
	SELECTCASE SET_ID
	CASE 0
		RETURN
	CASEELSE
		SIF GET_INT(0, "의상세트" , SET_ID, CATEGORY)
			BREAK
		REUSELASTLINE 무효인 입력입니다
		CONTINUE
	ENDSELECT
LOOP 1
CALL DECIDE_CLOTHES(C_ID, TYPE, "의상세트", SET_ID)
SIF RESULT
	RESTART

;의상 결정의 최종 확인
@DECIDE_CLOTHES(C_ID, COS_SAVE, COS_LOAD, SET_ID)
#DIM  C_ID     ;설정하는 캐릭터
#DIMS COS_SAVE ;의상의 보존처
#DIMS COS_LOAD ;의상의 참조원
#DIM  SET_ID   ;참조 의상등의 ID
;#; PRINTFORML C_ID{C_ID}, COS_SAVE%COS_SAVE%, COS_LOAD%COS_LOAD%, SET_ID{SET_ID}
PRINTFORMW 최종 확인
CALL SHOW_CLOTHES(C_ID, COS_LOAD, SET_ID)
PRINTFORML
PRINTFORML 이 의상으로 괜찮겠습니까?
PRINTFORML
PRINTFORML [1] - 결정
PRINTFORML [0] - 다시 생각한다
PRINTFORML
PRINTFORML [9] - 그만둔다
DO
	INPUT
	SELECTCASE RESULT
	CASE 1
		BREAK
	CASE 0
		RETURN 1
	CASE 9
		RETURN
	CASEELSE
		REUSELASTLINE 무효인 입력입니다
		CONTINUE
	ENDSELECT
LOOP 1

SELECTCASE COS_LOAD
CASE "현재의 의상"
	SELECTCASE COS_SAVE
	CASE "평상복"
		PRINTFORMW 지금 착용하고 있는 의상을 매일 입어 주기로 했다
		CFLAG:C_ID:기본복장세트 = 100
		CALL CTRL_CLOTHES_SET(C_ID, "현재 의상의 보존_걸러서 필요해")
	CASE "거름필요한의상"
		PRINTFORMW 지금 착용하고 있는 의상을 걸러서 필요해로 지정했다
		CALL CTRL_CLOTHES_SET(C_ID, "현재 의상의 보존_걸러서 필요해")
	ENDSELECT

CASE "의상세트"
	PRINTFORMW %CALLNAME:C_ID%의%COS_SAVE%에 %GET_STR(C_ID, "의상세트", SET_ID, "이름")%를 지정했습니다
	SELECTCASE COS_SAVE
	CASE "현재의 의상"
		CALL CTRL_CLOTHES_SET(C_ID, "현재 의상의 변경_의상세트", SET_ID)
	CASE "평상복"
		CALL CTRL_CLOTHES_SET(C_ID, "평상복의 변경_의상세트", SET_ID)
	CASE "거름필요한의상"
		CALL CTRL_CLOTHES_SET(C_ID, "거름필요한의상의 변경_의상세트", SET_ID)
	CASE "파자마"
		CALL CTRL_CLOTHES_SET(C_ID, "파자마의 변경_의상세트", SET_ID)
	ENDSELECT

CASE "캐릭터 평상복"
	PRINTFORMW %CALLNAME:C_ID%에 %CALLNAME:SET_ID%의 모습을 흉내내게 하기로 했다
	SELECTCASE COS_SAVE
	CASE "현재의 의상"
		CALL CTRL_CLOTHES_SET(C_ID, "현재 의상의 변경_캐릭터 의상", SET_ID, "평상복")
	CASE "평상복"
		CALL CTRL_CLOTHES_SET(C_ID, "평상복의 변경_캐릭터 의상", SET_ID, "평상복")
	CASE "거름필요한의상"
		CALL CTRL_CLOTHES_SET(C_ID, "거름필요한의상의 변경_캐릭터 의상", SET_ID, "평상복")
	ENDSELECT

ENDSELECT

;갈아입히기
@COM_ABLE429
;이동 실행 판정
SIF !TFLAG:100
	RETURN 0
;일괄관리
SIF GLOBAL_COMABLE(429)
	RETURN RESULT
;개인 방 설정
SIF (CFLAG:MASTER:현재위치 != CFLAG:MASTER:311) && (CFLAG:현재위치 != CFLAG:311)
	RETURN 0
SIF !GETBIT(CFLAG:TARGET:기정사실, 1) && TARGET
	RETURN 0
SIF CFLAG:우후후
	RETURN 0
RETURN 1

path: ERB/커맨드관련/COMF/일상계/COMF429 갈이입히기_t.ERB


code:
;-------------------------------------------------
;갈아입는다
;일상계 커맨드, 레벨 1
;-------------------------------------------------
@COM430
#DIM 대상
#DIM 종류

;곤란한 일에 고유는 캐릭터로 명칭 판정하고 있는 것으로 당신이 신으면(자) 이름이 바뀐다

PRINTW 훔친 팬티에는 귀댁인가?
DRAWLINE
CALL DISPLAY_ALL_COLLECTION(1,1)
DRAWLINE
PRINTFORML [0] 입어 바꾸지 않는다
$INPUT_LOOP
INPUT
IF RESULT == 0
	RETURN 0
ELSE
	대상 = RESULT / 100
	종류 = RESULT % 100
	CALL SPEND_HAVE_COLLECTION(RESULT)
	IF RESULT != 0
		CFLAG:MASTER:206 = 종류
		CFLAG:MASTER:246 = 종류
		CFLAG:MASTER:오늘팬티 = 종류
		CFLAG:MASTER:파자마팬티 = 종류
		PRINTFORM %마스터는%
		IF EQUIP:MASTER:하반신속옷2 == 0
			PRINTFORML %CALLNAME:(대상)%의 %PANTSNAME(종류, 대상)%를 입었다
		ELSE
			PRINTFORM %PANTSNAME(EQUIP:MASTER:하반신속옷2)%로부터
			PRINTFORML %CALLNAME:(대상)%의 %PANTSNAME(종류, 대상)%로 갈아입었다
		ENDIF
		EQUIP:MASTER:하반신속옷2 = 종류
	ELSE
		GOTO INPUT_LOOP
	ENDIF
ENDIF
IF !FLAG:시간정지
	TIME += 3
ELSE
	BASE:MASTER:TSP -= 5
ENDIF
RETURN 1

;갈아입는다
@COM_ABLE430
;이동 실행 판정
SIF !TFLAG:100
	RETURN 0
;일괄관리
SIF GLOBAL_COMABLE(430)
	RETURN RESULT
;개인 방 설정
SIF (CFLAG:MASTER:현재위치 != CFLAG:MASTER:311) && (CFLAG:현재위치 != CFLAG:311)
	RETURN 0
;SIF CSTR:MASTER:12 == ""
SIF !FLAG:팬티수송
	RETURN 0
SIF !FLAG:시간정지 && (!GETBIT(CFLAG:TARGET:기정사실, 1) && TARGET)
	RETURN 0
SIF CFLAG:우후후
	RETURN 0
RETURN 1

path: ERB/커맨드관련/COMF/일상계/COMF430 갈아입는다_t.ERB


code:
;-------------------------------------------------
;욕실로느긋하게쉰다
;일상계 커맨드, 레벨 1
;-------------------------------------------------
@COM431
#DIM 회복전체력1
#DIM 회복전기력1
#DIM 회복후체력1
#DIM 회복후기력1
#DIM 회복전체력2
#DIM 회복전기력2
#DIM 회복후체력2
#DIM 회복후기력2

회복전체력1 = BASE:MASTER:체력
회복전기력1 = BASE:MASTER:기력
IF DAY * 1440 + TIME - EX:MASTER:전회입욕시각 < 360
	TFLAG:194 = 1
	PRINTFORML 조금 전 들어갔던 바로 직후다
	RETURN -1
ELSE
	IF BATHCHECK(CFLAG:MASTER:현재위치)
		IF TARGET > 0 && CFLAG:TARGET:6 > 0 && !CFLAG:TARGET:수면
			회복전체력2 = BASE:TARGET:체력
			회복전기력2 = BASE:TARGET:기력
			CALL ODEKAKE_OFURO(TARGET, 1)
			회복후체력2 = BASE:TARGET:체력
			회복후기력2 = BASE:TARGET:기력
		ENDIF
		CALL ODEKAKE_OFURO(MASTER, 1)
		CFLAG:MASTER:목욕탕 = 0
	;풀장으로 느긋하게 쉬는 경우(휴식의 한층 더 약체화판)
	ELSE
		CALL ODEKAKE_OFURO(MASTER, 3)
		IF GETBIT (FLAG:풀장, 2)
			STAIN:MASTER:구 = 0
			STAIN:MASTER:1 = 0
			STAIN:MASTER:2 = 2
			STAIN:MASTER:3 = 1
			STAIN:MASTER:4 = 8
			STAIN:MASTER:5 = 0
		ENDIF
		IF TARGET > 0 && CFLAG:TARGET:6 > 0 && !CFLAG:TARGET:수면
			회복전체력2 = BASE:TARGET:체력
			회복전기력2 = BASE:TARGET:기력
			CALL ODEKAKE_OFURO(TARGET, 3)
			회복후체력2 = BASE:TARGET:체력
			회복후기력2 = BASE:TARGET:기력
		ENDIF
	ENDIF
	회복후체력1 = BASE:MASTER:체력
	회복후기력1 = BASE:MASTER:기력
	DRAWLINE
	PRINTFORML 체력+{ABS(회복후체력1 - 회복전체력1)}(%CALLNAME:MASTER%)
	PRINTFORML 기력+{ABS(회복후기력1 - 회복전기력1)}(%CALLNAME:MASTER%)
	IF TARGET
		PRINTFORML 체력+{ABS(회복후체력2 - 회복전체력2)}(%CALLNAME:TARGET%)
		PRINTFORML 기력+{ABS(회복후기력2 - 회복전기력2)}(%CALLNAME:TARGET%)
	ENDIF
	TIME += 30
ENDIF

;욕실로느긋하게쉰다
@COM_ABLE431
;이동 실행 판정
SIF !TFLAG:100
	RETURN 0
;일괄관리
SIF GLOBAL_COMABLE(431)
	RETURN RESULT
;정지 중에는 불가
SIF FLAG:70 == 1
	RETURN 0
;수면중
SIF CFLAG:수면
	RETURN 0
;동침중
SIF CFLAG:동침중
	RETURN 0
;욕실이 있는 장소 이외는 불가
IF !BATHCHECK(CFLAG:MASTER:현재위치)
	SIF !GETBIT (FLAG:풀장, 2)
		RETURN 0
	SIF SMALL_PLACE(CFLAG:MASTER:현재위치) || AT_HOME(MASTER) == 0
		RETURN 0
ENDIF
SIF PLACE_SENTO()
	RETURN 0
SIF CFLAG:우후후 == 2
	RETURN 0
RETURN 1

path: ERB/커맨드관련/COMF/일상계/COMF431 욕실에서쉰다_t.ERB


code:
;-------------------------------------------------
;목욕탕
;일상계 커맨드, 레벨 1
;-------------------------------------------------
@COM432
#DIM 회복전체력1
#DIM 회복전기력1
#DIM 회복후체력1
#DIM 회복후기력1
#DIM 회복전체력2
#DIM 회복전기력2
#DIM 회복후체력2
#DIM 회복후기력2

회복전체력1 = BASE:MASTER:체력
회복전기력1 = BASE:MASTER:기력
IF DAY * 1440 + TIME - EX:MASTER:전회입욕시각 < 360
	TFLAG:194 = 1
	PRINTFORML 방금 막 목욕한 직후다
	RETURN -1
ELSEIF PLACE_SENTO() == 2
	;접수대 를 화나게 해 버렸을 경우
	IF TFLAG:209 == 4
		PRINTFORML 접수대 쪽에서 날선 시선이 날아오고 있다……
		PRINTFORML 다른 날에 다시 오는 편이 좋을 것 같다……
		RETURN -1
	;접수대 통상 운행
	ELSE
		;돈 부족했다 이벤트를 보고 있다
		IF TFLAG:209 == 3
			PRINTL 「……어라, 웬 일이야? 혹시 목욕값 가져왔어?」
		;그만두는을 선택했지만 역시 들어가고 싶어졌다
		ELSEIF TFLAG:209 == 2
			PRINTL 「……뭐야, 혹시 마음이 변했어?」
		;그 이외
		ELSE
			;게을러 그다지 의욕이 없는 접수대
			PRINTL 「……어섭셔―」
		ENDIF
		PRINTL 「목욕비는 \400이면 돼」
		DRAWLINE
		PRINTL [1] \400 내고 입욕한다
		PRINTL [0] 그만둔다
		$LOOP_hitozato
		INPUT
		IF RESULT == 1
			IF MONEY < 400
				PRINTW 「……응, 편히 쉬다 나와요」
				PRINTW 「근데 안 되잖아. 돈 부족하잖아!」
				PRINTW 「…………」
					;도발 내성 없는 접수대 빡침
					IF TFLAG:209 >= 2
						PRINTL 「…………저기 있지. 나도 이래봬도 한가하지가 않아요」
						PRINTL 「……이러면 화낸다?」
						TFLAG:209 = 4
					ELSE
						PRINTL 「…………저기 있지. 괜히 오지랖 떠는 걸지도 모르겠는데」
						PRINTL 「……만약 돈 없어서 힘들기라도 하면, 여기서 발품깨나 팔아야하지만 온천이 있으니 거기 가보지그래?」
						TFLAG:209 = 3
					ENDIF
				RETURN -1
			ELSE
				MONEY -= 400
				PRINTL 「……응, 편히 쉬다 나와요」
				IF TARGET > 0 && CFLAG:TARGET:6 > 0 && !CFLAG:TARGET:수면
					PRINTL 「……아, 말해두겠는데 내가 지켜보고 있으니 이상한 짓 하지 마」
					PRINTL
					PRINTFORMW %조교자는% %타겟과% 탈의실 앞에서 일단 갈라지고 목욕탕으로 간다
					회복전체력2 = BASE:TARGET:체력
					회복전기력2 = BASE:TARGET:기력
					CALL ODEKAKE_OFURO(TARGET, 1)
					회복후체력2 = BASE:TARGET:체력
					회복후기력2 = BASE:TARGET:기력
				ENDIF

				CALL ODEKAKE_OFURO(MASTER, 1)

				DRAWLINE
				PRINTW …
				PRINTW ……
				PRINTW …………
				PRINTFORMW %조교자는% 욕탕에 몸을 담갔다
				PRINTW …………
				PRINTW ……
				PRINTW …
				;대중목욕탕은 30분 고정
				TIME += 30
				;대중목욕탕총입탕회수+1
				CFLAG:400 += 1
				;대중목욕탕시한입탕회수+1
				TFLAG:210 += 1
				;대중목욕탕플래그를 1으로 설정
				TFLAG:209 = 1
				RETURN 1
			ENDIF
		ELSEIF RESULT == 0
			;도발 내성 없는 접수대 빡침
			IF TFLAG:209 >= 2
				PRINTL 「…………저기 있지. 나도 이래봬도 한가하지가 않아요」
				PRINTL 「……이러면 화낸다?」
				TFLAG:209 = 4
			ELSE
				PRINTL 「관두려고? ……뭐, 상관없지만」
				PRINTL 「…………저기 있지. 괜히 오지랖 떠는 걸지도 모르겠는데」
				PRINTL 「……만약 돈 아까워서 그런 거면, 여기서 발품깨나 팔아야하지만 온천이 있으니 거기 가보지그래?」
				TFLAG:209 = 2
			ENDIF
			RETURN -1
		ELSE
			GOTO LOOP_hitozato
		ENDIF
	ENDIF
ELSEIF PLACE_SENTO() == 9
	;접수대를 화나게 해 버렸을 경우
	IF TFLAG:211 == 4
		PRINTFORML 접수대 쪽에서 날선 시선이 날아오고 있다……
		PRINTFORML 다른 날에 다시 오는 편이 좋을 것 같다……
		RETURN -1
	;접수대 요괴 통상 운행
	ELSE
		;돈 부족했다 이벤트를 보고 있다
		IF TFLAG:211 == 3
			PRINTL 「돈 없는 놈은 상대하기 싫타. 돈을 두둑히 얹으면 손님 나리로 대해야쥐!」
		;그만둔다를 선택했지만 역시 들어가고 싶어졌다
		ELSEIF TFLAG:211 == 2
			PRINTL 「모―처럼 요런 데까지 와놓고 온천에나 가겠다니 평생의 6할은 손해 본다야!」
		;그 이외
		ELSE
			;모브 요괴
			PRINTL 「어서 오십시여다―!」
			;처음으로 옛지옥온천에서 입욕 커맨드를 선택했을 경우
			IF TFLAG:211 == 0 && TFLAG:212 == 0 && CFLAG:401 == 0
				PRINTL 「잉야―! 웬 일이대야. 인간이 요기까지 웬 용무디야?」
				PRINTFORMW  %조교자는% 접수대를 보는 요괴에 입욕하고 싶다는 뜻을 전했다
				PRINTL 「무에라―? ……흠. ……흠」
				PRINTL 「……뭐꼬 뭐꼬, 손님이었남!」
				PRINTL 「근댜 용케도 이런 데까지 다 왔네! 댁도 별종이댜―」
			ENDIF
		ENDIF
		PRINTL 「그럼, 받아둘 건 받아두겠다야―」
		;옛지옥온천입탕회수가 통산 15회 이상 나와 아직에 -등응을 한번도 선택하고 있지 않다
		IF CFLAG:401 >= 15 && CFLAG:402 == 0
			PRINTL 「댁한테는 두둑하게 벌어재꼈다야!」
			PRINTL 「더더 벌어재껴야지! 돈! 돈!! 돈!!! 돈을 원한댜―!」
			PRINTL 「하니 돈 원하니까, 나가 생각한 뉴 플랜이 있다야!」
			PRINTFORMW  접수대의 요괴는 %CALLNAME:PLAYER%에 그렇게 말하고는, 크힐힐 징그러운 웃음을 내며 얼른! 얼른! 하고 %조교자를% 재촉해댔다……
		ELSE
			PRINTL 「이맨치 다 주라!」
			PRINTFORML  접수대의 요괴는, 바로 옆에 놓여 있던 메모 같은 것을 손가락으로 가리키고 얼른! 얼른! 하고 %조교자를% 재촉해댔다……
		ENDIF
		DRAWLINE
		PRINTL [1] \1000 내고 입욕한다
		;옛지옥온천입탕회수가 통산 15회가 되었을 때 출현
		SIF CFLAG:401 >= 15
			PRINTL [2] \5000 내고 입욕한다
		PRINTL [0] 그만둔다
		$LOOP_titei
		INPUT
		SELECTCASE RESULT
			CASE 1
				IF MONEY < 1000
					PRINTW  접수대의 요괴는 열심히 금액이 맞는지 아닌지 세면서 확인하고 있다……
					PRINTW 「…………」
					PRINTW 「이 양반 너무하다야―! 돈 모자란데 참 유들유들하게도 내겠단 소리를 다 했대!」
					;접수대 빡침
					IF TFLAG:211 >= 2
						PRINTL 「우가―!! 우가―!! 우가―!!」
						PRINTL 「돈을 안 낸 놈이랑 어울릴 짬은 없대야―!!」
						TFLAG:211 = 4
					ELSE
						PRINTL 「이 양반, 여기까지 와놓고 대체 뭐하러 온겨―!!」
						PRINTL 「날 놀리러 온 기야―?!」
						TFLAG:211 = 3
					ENDIF
					RETURN -1
				ELSE
					MONEY -= 1000
					PRINTW  접수대의 요괴는 열심히 금액이 맞는지 아닌지 세면서 확인하고 있다……
					PRINTL 「읍쌰, 편히 들어갔다 나온나―!」
					IF TARGET > 0 && CFLAG:TARGET:6 > 0 && !CFLAG:TARGET:수면 && TALENT:TARGET:성별 != 2
						PRINTL (크힐힐, 암컷 아도 같이 데려오다니 좋은 놈이다야)
						PRINTL (여기선 나으 슈퍼 테크니크를 구사해 마음껏 저 암컷 아를 눈으로 범해줘야지―!)
						PRINTFORMW %조교자는% %타겟과% 함께 탈의실로 향했다
						PRINTFORMW %타겟은% %조교자가% 보내는 시선에 부끄러운 내색이다……
						회복전체력2 = BASE:TARGET:체력
						회복전기력2 = BASE:TARGET:기력
						CALL ODEKAKE_OFURO(TARGET, 2)
						IF CHK_DATENOW(CFLAG:TARGET:데이트중)
							CALL 붉은실발동
							EXP:MASTER:데이트경험 ++
							EXP:TARGET:데이트경험 ++
						ENDIF
							CALL DATE_GOES_ON(1)
						SOURCE:TARGET:노출 += 300 + (ABL:TARGET:친밀 * 15)
						회복후체력2 = BASE:TARGET:체력
						회복후기력2 = BASE:TARGET:기력
					ENDIF
					CALL ODEKAKE_OFURO(MASTER, 2)
					DRAWLINE
					PRINTW …
					PRINTW ……
					PRINTW …………
					IF TARGET > 0 && CFLAG:TARGET:6 > 0 && !CFLAG:TARGET:수면
						PRINTFORMW %CALLNAME:PLAYER%과 %타겟은% 둘이 사이좋게 온천에서 편히 쉬었다
					ELSE
						PRINTFORMW %조교자는% 온천에서 편히 쉬었다
					ENDIF
					PRINTW …………
					PRINTW ……
					PRINTW …
					;옛지옥온천은 30분 고정
					TIME += 30
					;옛지옥온천입탕회수+1
					CFLAG:401 += 1
					;옛지옥온천시한입탕회수+1
					TFLAG:212 += 1
					;옛지옥온천플래그를 1로 설정
					TFLAG:211 = 1
					PRINTL 이곳의 탕으로도 술을 만들 수 있을지 모른다……
					PRINTL 물을 길어 돌아가겠습니까?
					PRINTL [0] 아니오　[1] 네
					INPUT
					IF RESULT
						TFLAG:물긷기 = 3
						PRINTFORML %STR:(7000 + TFLAG:물긷기)%를 길었다
						IF MAIN_MAP != 9
							PRINTL 가진 상태로 걷기는 힘들기에 귀가합니다
							CALL 외출처로부터귀가
						ENDIF
					ENDIF
						RETURN 1
				ENDIF
			CASE 2
				PRINTL 「미안하데야―! 지금 암컷 아들을 조달 중이얌―!」
				PRINTL  현재 이벤트 작성 중이므로 기다려 주세요
				GOTO LOOP_titei
			CASE 0
				;접수대 빡침
				IF TFLAG:211 >= 2
					PRINTL 「우가―!! 우가―!! 우가―!!」
					PRINTL 「돈을 안 낸 놈이랑 어울릴 짬은 없대야―!!」
					TFLAG:211 = 4
				ELSE
					PRINTL 「아오―, 안 들어가면 빨리 어디 가부리라―!」
					PRINTL 「돈 안 되는 놈은 손님이고 뭐고 아녀―!」
					TFLAG:211 = 2
				ENDIF
				RETURN -1
			CASEELSE
				GOTO LOOP_titei
		ENDSELECT
	ENDIF
ENDIF
회복후체력1 = BASE:MASTER:체력
회복후기력1 = BASE:MASTER:기력
DRAWLINE
PRINTFORML 체력+{ABS(회복후체력1 - 회복전체력1)}(%CALLNAME:MASTER%)
PRINTFORML 기력+{ABS(회복후기력1 - 회복전기력1)}(%CALLNAME:MASTER%)
IF TARGET
	PRINTFORML 체력+{ABS(회복후체력2 - 회복전체력2)}(%CALLNAME:TARGET%)
	PRINTFORML 기력+{ABS(회복후기력2 - 회복전기력2)}(%CALLNAME:TARGET%)
ENDIF

;목욕탕
@COM_ABLE432
;이동 실행 판정
SIF !TFLAG:100
	RETURN 0
;일괄관리
SIF GLOBAL_COMABLE(432)
	RETURN RESULT
;정지 중에는 불가
SIF FLAG:70 == 1
	RETURN 0
;수면중
SIF CFLAG:수면
	RETURN 0
;동침중
SIF CFLAG:동침중
	RETURN 0
;욕실이 있는 장소 이외는 불가
SIF !PLACE_SENTO()
	RETURN 0
SIF CFLAG:우후후 == 2
	RETURN 0
RETURN 1

@PLACE_SENTO()
#FUNCTION
IF CFLAG:MASTER:현재위치 == GET_MAP_REPLACEMENT(223)
	RETURNF 2
ELSEIF CFLAG:MASTER:현재위치 == GET_MAP_REPLACEMENT(934)
	RETURNF 9
ELSE
	RETURNF 0
ENDIF

@ODEKAKE_OFURO(ARG, ARG:1)
;ARG=1 마을　ARG=2 지저 =3풀장
RESET_STAIN ARG
STAIN:ARG:4 = 0
CFLAG:ARG:질내사정 = 0
CFLAG:ARG:애널사정 = 0
CFLAG:ARG:구내정액 = 0
CFLAG:ARG:안면정액 = 0
CFLAG:ARG:손에정액 = 0
CFLAG:ARG:목욕탕 = MIN(CFLAG:ARG:목욕탕 - 1000,0)
SELECTCASE ARG:1
	CASE 1
		CALL RECOVER_PERMIL(ARG, 100,"체력", 1)
		CALL RECOVER_PERMIL(ARG, 250,"기력", 1)
	CASE 2
		CALL RECOVER_PERMIL(ARG, 150,"체력", 1)
		CALL RECOVER_PERMIL(ARG, 400,"기력", 1)
	CASE 3
		CALL RECOVER_PERMIL(ARG, 60,"체력", 1)
		CALL RECOVER_PERMIL(ARG, 150,"기력", 1)
ENDSELECT
SIF ARG == MASTER
	EX:MASTER:전회입욕시각 = DAY * 1440 + TIME

path: ERB/커맨드관련/COMF/일상계/COMF432 대중목욕탕_t.ERB


code:
;-------------------------------------------------
;제비
;일상계 커맨드, 레벨 1
;-------------------------------------------------
;LOCAL
@COM434
VARSET LOCAL

IF !GETBIT(FLAG:999, 0)

	PRINTFORML 새전함의 구석에 벽보가 있다
	PRINTFORML ┌─────────┐
	PRINTFORML ｜　　　　　　　　　｜
	PRINTFORML ｜　제비　　　　｜
	PRINTFORML ｜　　시작했습니다　｜
	PRINTFORML ｜　　　　　　　　　｜
	PRINTFORML ｜　　　　　　　　　｜
	PRINTFORML ｜　　1일 1회 200엔 ｜
	PRINTFORML ｜　　대금은 이쪽　｜
	PRINTFORML ｜　　　　　　　　　｜
	PRINTFORML └─────────┘
	PRINTFORMW
	PRINTFORMW …
	PRINTFORMW 새전하코에 들어갈 수 있으면 되는 것 같지만, 도대체 어디에서 나온다?

	SETBIT FLAG:999, 0

ENDIF

IF GETBIT(FLAG:999, 1)
	PRINTFORML 제비는 1일 1회입니다.
	RETURN -1
ENDIF

IF MONEY < 200
	PRINTFORML 지갑을 확인하면(자) 돈이 부족했다.
	RETURN -1
ENDIF

PRINTFORML 제비는 1회 200엔, 어떻게 해?
PRINTFORML [1] 당겨 본다
PRINTFORML [0] 그만둔다
PRINTFORML
INPUT
SIF !RESULT
	RETURN -1

MONEY -= 200
TIME += 2
SETBIT FLAG:999, 1

SELECTCASE RAND:15
	CASE 0 TO 6
		PRINTL 판, 판
		PRINTL 돈을 넣고 백 손을 쓴다
		PRINTW ……
		PRINTL 팔랑팔랑무엇인가가 떨어져 내렸다
		PRINTW 손에 들어 보기에, 아무래도 이것이 제비인것 같다
	CASE 7 TO 11
		PRINTL 체린체린
		PRINTW 돈을 새전함에 던져 붐비면(자)……
		PRINTW 새전함에서 제비가 튀어 나왔다
	CASE 12 TO 13
		PRINTW ……
		PRINTW …
		PRINTW 아…있는 그대로 지금 일어난 일을 이야기하군!
		PRINTW 「제비를 위해서(때문에) 새전을 넣으면(자) 그 손에 제비가 쥐여져 있던」
		PRINTW 인… 무슨 말을 하고 있는지 원으로부터-라고 생각하지만 나도 무엇을 하셨는지 몰랐다…
		PRINTW 두가 어떻게든 될 것 같았다…
		PRINTW 최면술이라고 초스피드라고 시간정지라고, 그런 체치인 것자 결코
		PRINTW 좀 더 무섭기는 하지만 일부분을 맛보았다구…
	CASE 14
		PRINTW (곤)
		PRINTL 후두부에 무엇인가가 부딪쳤다
		PRINTL 악화되면(자), 발 밑에 무엇인가를 싼 종이가 떨어지고 있었다
		PRINTW 열어 보면, 종이는 제비로……
		PRINTW ……제비로 돌을 파오 말아 주세요
ENDSELECT

PRINTW 받았다(? ) 제비의 내용을 보았다.
PRINTW …
CALL FORTUNE

;맞아, 캐쉬 배경으로 밤환불 처리
IF GETBIT(FLAG:999, 10)
	PRINTL ……
	PRINTW …

	SELECTCASE RAND:15
		CASE 0 TO 4
			PRINTW 제비의 마지막에 기묘한 문언이 있었다
			PRINTL ┌─·─키리트리센─·─┐
			PRINTL ｜　　　　　　　　　｜
			PRINTL ｜　환상향 공통　　　｜
			PRINTL ｜　　　　　상품권　｜
			PRINTL ｜　　　　　　　　　｜
			PRINTL ｜　　　　　 200엔 ｜
			PRINTL ｜　　　　　　　　　｜
			PRINTL ｜　거스름돈도 나옵니다　｜
			PRINTL ｜　　사용 기한 없음　｜
			PRINTL └─────────┘
			PRINTW 이것은 이른바 하나의 금권이라고 생각해도 좋은 것일까?
		CASE 5 TO 6
			PRINTL 훈
			PRINTW 칼깃소리를 들은 당신은 순식간에 몸을 숙였다
			PRINTL 트스트슥
			PRINTW 무엇인가가 박힌 것 같은 소리가 난 벽을 보면(자), 거기에는 방금전 들어갈 수 있었음이 분명한 새전이 박히고 있었다
			PRINTL 저것, 눈치채지 않았으면 박히고 있었어?
		CASE 7 TO 11
			PRINTL 체린체린♪    ○삼
			PRINTW 새전함에서 조금 전 처넣었음이 분명한 새전이 튀어 나왔다
		CASE 12 TO 13
			PRINTW ……
			PRINTW …
			PRINTW 아…있는 그대로 지금 일어난 일을 이야기하군!
			PRINTW 「제비를 다 읽었다고 생각하면(자) 조금 전 들어갈 수 있었음이 분명한 새전이 손 속에 돌아오고 있었다」
			PRINTW 인… 무슨 말을 하고 있는지 원으로부터-라고 생각하지만 나도 무엇을 하셨는지 몰랐다…
			PRINTW 두가 어떻게든 될 것 같았다…
			PRINTW 순간이동이라고 인과 역전이라고 시간정지라고, 그런 체치인 것자 결코
			PRINTW 좀 더 무섭기는 하지만 일부분을 맛보았다구…
		CASE 14
			PRINTW (코트코특)
			PRINTL 후두부에 무엇인가가 부딪쳤다
			PRINTL 악화되면(자), 발 밑에 조금 전 들어갈 수 있었음이 분명한 새전이 떨어지고 있었다
			PRINTW 이 돈으로 내일도 당기러 오라고 말하는 것인 것일까?
	ENDSELECT

	MONEY += 200
	CLEARBIT FLAG:999, 10
ENDIF

RETURN 1

;-------------------------------------------------
;실행 판정
;-------------------------------------------------
;제비
@COM_ABLE434
;일괄관리
SIF GLOBAL_COMABLE(434)
	RETURN RESULT
SIF !TFLAG:100
	RETURN 0
;기력 0에서는 불가
SIF BASE:MASTER:기력 <= 0
	RETURN 0
;새전함(제비의 대금 입금시키고도 겸하고 있다)가 아니면 안 끌린다
SIF CFLAG:MASTER:현재위치 != 새전함
	RETURN 0
;정지 중에는 불가
SIF FLAG:70 == 1
	RETURN 0
RETURN 1

path: ERB/커맨드관련/COMF/일상계/COMF434 운세뽑기_t.ERB


code:
;-------------------------------------------------
;모리야복권
;일상계 커맨드, 레벨 1
;-------------------------------------------------
;모리야가 t……복권
;LOCAL
@COM435
#DIM 가챠횟수
#DIM 카리스마지불
VARSET LOCAL
가챠횟수 = 0
IF !BETWEENTIME(600,1200)
	PRINTFORML 닫혀 있다……
	PRINTFORMW 영업 시간이 아닌 것 같다
	RETURN -1
ENDIF
IF !GETBIT(FLAG:999, 2)
	PRINTFORMW 경내 한구석에 벽보가 붙어 있다
	PRINTFORML ┌─────────────┐
	PRINTFORML ｜　　　　　　　　　　　　　 ｜
	PRINTFORML ｜　　모리야 복권　　　　　　｜
	PRINTFORML ｜　　　　　절찬 판매중!　　 ｜
	PRINTFORML ｜　　　　　　　　　　　　　 ｜
	PRINTFORML ｜　　　　　　　　　　　　　 ｜
	PRINTFORML ｜　　　　　　　　　　　　　 ｜
	PRINTFORML ｜　　이익은 보증합니다　　　｜
	PRINTFORML ｜　　　　　　　　　　　　　 ｜
	PRINTFORML ｜　　　　　　　모리야 신사　｜
	PRINTFORML └─────────────┘
	PRINTFORMW
	PRINTFORML 도우미 노릇하러 와 있을 터인 무녀복(하카마는 녹색, 당연합죠) 소녀가 상냥하게 웃으며 이쪽을 보고 있다
	PRINTFORMW 그리고 소녀 옆에는 「시주함」이라고 적힌 상자가 놓여 있다
	PRINTFORML …
	PRINTFORML ……
	PRINTFORMW 뭐지? 이 싫은 예감밖에 들지 않을 만큼 싫은 예감은…

	SETBIT FLAG:999, 2
	;최초의 복권 세트를 작성
	CALL FISHER_YATES_SHAFFLE(300)
	ARRAYCOPY "SHAFFLE_ARRAY", "MORIYA_BOX"
ENDIF

IF FLAG:모리야복권데이트상대
	PRINTFORML 「복권이나 뽑을 때가 아니잖아요」
	PRINTFORML 「신과의 데이트권이라고요. 1분 1초라도 헛되이 쓰면 안 되죠!」
	RETURN -1
ENDIF

IF MONEY < 3000
	PRINTFORMW 지갑을 확인했더니 돈이 부족했다
	PRINTFORMW 자, 시주하기 위해서 돈을 모아오세요
	RETURN -1
ENDIF

PRINTL 모리야 복권은 1회 3000엔이나 20카리스마, 혹은 모리야 부적 5장입니다
PRINTL 어떻게 하겠습니까?
CALL ASK_M("위험이 위태로울 것 같으니 그만둔다", 1,"\\3000으로 뽑아본다", MONEY >= 3000, "20CM로 뽑아본다", MONEY:2 >= 20, "부적 5장으로 뽑는다", ITEM:131>= 5, "\\27000으로 10연 가챠", MONEY >= 27000, "180CM로 10연 가챠", MONEY:2 >= 180, "부적 50장으로 10연 가챠", ITEM:131 >= 50)
SELECTCASE RESULT
	CASE 0
		RETURN -1
	CASE 1
		MONEY -= 3000
	CASE 2
		MONEY:2 -= 20
	CASE 3
		ITEM:131 -= 5
	CASE 4
		가챠횟수 = 9
		MONEY -= 27000
	CASE 5
		가챠횟수 = 9
		MONEY:2 -= 180
	CASE 6
		가챠횟수 = 9
		ITEM:131 -= 50
ENDSELECT

IF (RESULT == 1 || RESULT == 2) && ITEM:토부「개운대문」
	PRINTFORML 토부 「개운대문」을 사용할래?
	CALL ASK_YN
	IF !RESULT
		ITEM:토부「개운대문」 --
		TFLAG:194 = 5
	ENDIF
ENDIF

$RENZOKU

IF GETBIT(FLAG:999, 3)
	IF MORIYA_BOX:0 == -1
		PRINTFORMW 현재의 복권 상자 내용물을 다 뽑았기에 새 상자를 준비합니다
		CALL FISHER_YATES_SHAFFLE(300)
		ARRAYCOPY "SHAFFLE_ARRAY", "MORIYA_BOX"
	ELSE
		PRINTFORML 이 복권 상자에서는 이미 특상이 나왔습니다
		PRINTFORML 이 복권 상자를 폐기하고 새 복권을 뽑겠습니까?
		PRINTFORML [1] 다음 상자를 받는다
		PRINTFORML [0] 아직 이 상자를 더 뽑는다
		$LOOP_INPUT_2
		INPUT
		SELECTCASE RESULT
			CASE 0
				PRINTW 그럼 이 상자에서 뽑겠습니다
			CASE 1
				PRINTW 그럼 교환할게요
				CLEARBIT FLAG:999, 3
				CALL FISHER_YATES_SHAFFLE(300)
				ARRAYCOPY "SHAFFLE_ARRAY", "MORIYA_BOX"
			CASEELSE
				GOTO LOOP_INPUT_2
		ENDSELECT
	ENDIF
ENDIF

PRINTL 돈을 시주함에 넣고
PRINTL 상자 속에서 복권을 한 장 뽑아
PRINTW 접수원 소녀에게 건넸다.
PRINTL ……
PRINTL …
CALL FOTUNE_MORIYA
TIME += 2
IF 가챠횟수 > 0
	PRINTFORMW
	가챠횟수 --
	GOTO RENZOKU
ENDIF

RETURN 1

;모리야복권
@COM_ABLE435
;일괄관리
SIF GLOBAL_COMABLE(435)
	RETURN RESULT
SIF !TFLAG:100
	RETURN 0
;정지중에는 불가
SIF FLAG:70 == 1
	RETURN 0
;기력 0일 때는 불가
SIF BASE:MASTER:기력 <= 0
	RETURN 0
IF MAIN_MAP == 8
	SIF CFLAG:MASTER:현재위치 != 813
		RETURN 0
ELSE
	SIF CFLAG:MASTER:현재위치 != 모리야신사경내
		RETURN 0
ENDIF
RETURN 1

path: ERB/커맨드관련/COMF/일상계/COMF435 모리야복권_t.ERB


code:
;-------------------------------------------------
;독서
;일상계 커맨드, 레벨 1
;-------------------------------------------------
@COM436

PRINTL 무엇을 읽자?
CALL ASK_M("문학", 1, "실용서", 1, "야한 책", 1, "캔슬", 1)
IF RESULT == 0
	SELECTCASE RAND:10
		;인살
		CASE 0
			TFLAG:193 = 1
		;실패
		CASE 1 TO 3
			TFLAG:193 = 2
		;문학
		CASEELSE
			TFLAG:193 = 3
	ENDSELECT
ELSEIF RESULT == 1
	SELECTCASE RAND:10
		;실패
		CASE 0 TO 2
			TFLAG:193 = 4
		;실용
		CASEELSE
			TFLAG:193 = 5
	ENDSELECT
ELSEIF RESULT == 2
	SELECTCASE RAND:9
		;우스이타카이혼
		CASE 0 TO 2
			TFLAG:193 = 6
		;보건 체육
		CASE 3 TO 5
			TFLAG:193 = 7
		;카 매스-호랑이
		CASE 6 TO 8
			TFLAG:193 = 8
		;위험한 책
;		CASEELSE
;		IF !TALENT:MASTER:금단의지식
;			TFLAG:193 = 9
;		ELSE
;			GOTO LOOP
;		ENDIF
	ENDSELECT
ELSEIF RESULT == 3
	RETURN -1
ENDIF

IF TARGET == 54 && CFLAG:325 == 5
	IF TALENT:연모
		PRINTFORM 파츄리와 함께 독서를 즐기기로 했다
	ELSE
		PRINTFORM 파츄리의 독서가 끝날 때까지 이쪽도 독서로 시간을 보내기로 했다
	ENDIF
ENDIF
PRINTFORM %마스터는%, 책장에 있었다
SELECTCASE TFLAG:193
	CASE 1
		PRINT 「닌자 슬레이어-」
	CASE 2 TO 3
		PRINT 문예서
	CASE 4 TO 5
		PRINT 실용서
	CASE 6
		PRINT 싱겁고 높은 책
	CASE 7
		PRINT 보건 체육의 책
	CASE 8
		PRINT 「카마·스트라」
;	CASE 9
;		PRINT 타이틀이 없는 가죽 장정의 습기를 띤 책
ENDSELECT
PRINTFORML 를 읽어 보았다

;3분의 1으로 추가 이벤트
SIF !RAND:3 && TARGET == 54
	TFLAG:194 = 1
;TARGET가 무지하고 H인 독서 또한 MASTER가 TARGET보다 교양이 높게 TARGET의 교양이 2이상 또한 5분의 1
SIF !RAND:5 && TALENT:TARGET:무지 && TFLAG:193 >= 6 && TFLAG:193 <= 8 && ABL:MASTER:교양 > ABL:교양 && ABL:교양 >= 2
	TFLAG:194 = 2

SELECTCASE TFLAG:193
	CASE 1
		EXP:MASTER:74 += 5
	CASE 3
	;문학
		EXP:MASTER:75 ++
	CASE 5
	;실용
		SELECTCASE RAND:6
			CASE 0
				EXP:MASTER:71 ++
			CASE 1
				EXP:MASTER:72 ++
			CASE 2
				EXP:MASTER:76 ++
			CASE 3
				EXP:MASTER:82 ++
			CASE 4
				EXP:MASTER:84 ++
			CASEELSE
				EXP:MASTER:85 ++
		ENDSELECT
	CASE 6
		CALL RECOVER(MASTER, 100,"정력")
		CALL RECOVER(MASTER, 100,"발기")
ENDSELECT

IF TARGET > 0 && CFLAG:행동 != 5
	;고정으로 획득하는 소스
	SOURCE:환락 = 200
	;신뢰
	TFLAG:98 = 3

	;ABL:순종을 본다
	IF ABL:순종 <= 1
		SOURCE:환락 += (ABL:순종 * 80)
	ELSEIF ABL:순종 <= 3
		SOURCE:환락 += 300 + (ABL:순종 * 80)
	ELSEIF ABL:순종 <= 5
		SOURCE:환락 += 700 + (ABL:순종 * 80)
	ELSEIF ABL:순종 <= 8
		SOURCE:환락 += 950 + (ABL:순종 * 100)
	ELSEIF ABL:순종 <= 11
		SOURCE:환락 += 1200 + (ABL:순종 * 90)
	ELSE
		SOURCE:환락 += 2000 + (ABL:순종 * 50)
	ENDIF

	;호감 도를 본다
	IF CFLAG:2 <= 500
		SOURCE:환락 += CFLAG:2 * 2
	ELSEIF CFLAG:2 <= 5000
		SOURCE:환락 += 1000 + (CFLAG:2 - 500) / 2
	ELSE
		SOURCE:환락 += 5000 + (CFLAG:2 - 5000) / 3
	ENDIF
	SIF SOURCE:환락 < 0
		SOURCE:환락 = 0
ENDIF

DOWNBASE:MASTER:체력 = 50
DOWNBASE:MASTER:기력 = 200
TIME += 60
RETURN 1

;-------------------------------------------------
;실행 가능 판정
;-------------------------------------------------
;독서
@COM_ABLE436
;실행 판정
SIF !TFLAG:100
	RETURN 0
;일괄관리
SIF GLOBAL_COMABLE(436)
	RETURN RESULT
;데이트 도중
;SIF (CFLAG:현재위치 % 100) % 10 && CFLAG:MASTER:현재위치 != OMANEKIBEYA()
;	RETURN 0
;동침중
SIF CFLAG:MASTER:동침중
	RETURN 0
;우후후 안도 안 돼
SIF CFLAG:MASTER:우후후
	RETURN 0
;기력 0에서는 불가
SIF BASE:MASTER:기력 <= 0
	RETURN 0
;도서관
SIF !IS_LIBRARY(CFLAG:MASTER:현재위치)
	RETURN 0
;수면중
SIF CFLAG:수면
	RETURN 0
;시간정지중
SIF FLAG:70
	RETURN 0
RETURN 1

path: ERB/커맨드관련/COMF/일상계/COMF436 독서_t.ERB


code:
;-------------------------------------------------
;기다린다
;일상계 커맨드, 레벨 1
;-------------------------------------------------
@COM440
DOWNBASE:MASTER:기력 = 50
;SIF FLAG:70 == 1
	;BASE:MASTER:TSP -= 50
;SIF FLAG:70 != 1
TIME += 20
RETURN 1

;기다린다
@COM_ABLE440
;숍 화면에서는 불가
SIF !TFLAG:100
	RETURN 0
;일괄관리
SIF GLOBAL_COMABLE(440)
	RETURN RESULT
;기력 0에서는 불가
SIF BASE:MASTER:기력 <= 0
	RETURN 0
;우후후중은 불가
SIF CFLAG:우후후
	RETURN 0
;거점외 한편, 벚꽃길의 토리이(실수 10으로 지정), 지장길, 광장, 안개의호수, 죽림입구, 숲의입구, 중유의길, 산록의수해, 구천의폭포, 환상풍혈, 명련테라야마문이 아니면 불가
SIF !IN_HOME(CFLAG:MASTER:현재위치) && NOSAMES(CFLAG:MASTER:현재위치, 10, 지장길, 광장, 안개의호수, 죽림입구, 숲의입구, 중유의길, 산록의수해, 구천의폭포, 환상풍혈, 회안통로)
	RETURN 0
;거점내는 거점 입구 이외는 불가
SIF IN_HOME(CFLAG:MASTER:현재위치) && !CHK_ENTRANCE(CFLAG:MASTER:현재위치, MAIN_MAP)
	RETURN 0
;정지 중에는 불가
SIF FLAG:70 == 1
	RETURN 0
RETURN 1

path: ERB/커맨드관련/COMF/일상계/COMF440 기다린다_t.ERB


code:
;-------------------------------------------------
;수업을받는다
;일상계 커맨드, 레벨 1
;-------------------------------------------------
@COM441
DOWNBASE:MASTER:체력 = 50
DOWNBASE:MASTER:기력 = 200

IF TARGET > 0 && !CFLAG:수면
	;고정으로 획득하는 소스
	SOURCE:환락 = 200

	;신뢰
	TFLAG:98 = 3
	SIF ABL:MASTER:교양 > 2
		TFLAG:98 ++
	IF ABL:MASTER:교양 > ABL:교양
		TFLAG:98 ++
		EXP:학습경험 += 2
	ENDIF
	IF ABL:MASTER:교양 < ABL:교양 - 2
		MAXBASE:MASTER:기력+=1
		EXP:MASTER:학습경험 ++
	ENDIF
	;ABL:순종을 본다
	IF ABL:순종 <= 1
		SOURCE:환락 += (ABL:순종 * 60)
	ELSEIF ABL:순종 <= 3
		SOURCE:환락 += 200 + (ABL:순종 * 60)
	ELSEIF ABL:순종 <= 5
		SOURCE:환락 += 500 + (ABL:순종 * 60)
	ELSEIF ABL:순종 <= 8
		SOURCE:환락 += 750 + (ABL:순종 * 75)
	ELSEIF ABL:순종 <= 11
		SOURCE:환락 += 1000 + (ABL:순종 * 75)
	ELSE
		SOURCE:환락 += 2000 + (ABL:순종 * 30)
	ENDIF

;수업을 받으면(자) 회수를 카운트
SIF CFLAG:현재위치 == 서당 && CFLAG:67:행동 == 5
	TCVAR:67:특수이벤트 ++

	;호감 도를 본다
	IF CFLAG:2 <= 500
		SOURCE:환락 += CFLAG:2
	ELSEIF CFLAG:2 <= 5000
		SOURCE:환락 += 500 + (CFLAG:2 - 500) / 3
	ELSE
		SOURCE:환락 += 2000 + (CFLAG:2 - 5000) / 5
	ENDIF
	SIF SOURCE:환락 < 0
		SOURCE:환락 = 0
	MAXBASE:MASTER:기력+=1
	EXP:MASTER:학습경험 ++
	EXP:학습경험 ++
ENDIF

TIME += 60
MAXBASE:MASTER:기력+=1
EXP:MASTER:학습경험 ++
IF ITEM:103 && !RAND:2
	MAXBASE:MASTER:기력+=1
	EXP:MASTER:학습경험 ++
ENDIF
RETURN 1

;-------------------------------------------------
;실행 판정
;-------------------------------------------------
;수업을받는다
@COM_ABLE441
;청소 실행 판정
SIF !TFLAG:100
	RETURN 0
;일괄관리
SIF GLOBAL_COMABLE(441)
	RETURN RESULT
;정지 중에는 불가
SIF FLAG:70 == 1
	RETURN 0
;서당 이외 불가
SIF CFLAG:MASTER:현재위치 != 240
	RETURN 0
;케이네이 있는 곳
SIF CFLAG:MASTER:현재위치 != CFLAG:67:현재위치
	RETURN 0
;업무중 이외 불가
SIF CFLAG:행동 != 5
	RETURN 0
;점심 시간중은 불가
SIF TIME >= 720 && TIME <= 780
	RETURN 0
;수업 시간 뒤는 불가
SIF TIME >= 840
	RETURN 0
;기력 0
SIF BASE:MASTER:기력 <= 0
	RETURN 0
SIF CFLAG:우후후 == 2
	RETURN 0
RETURN 1

path: ERB/커맨드관련/COMF/일상계/COMF441 수업을받는다_t.ERB


code:
;벌채한다
@COM442
#DIM 채취수

채취수 = 1 + ABL:MASTER:전투능력
IF TARGET && !FLAG:70
	채취수 += ABL:TARGET:전투능력
	DOWNBASE:체력 = 100
	DOWNBASE:기력 = 100
ENDIF

IF FLAG:70
	BASE:MASTER:TSP -= 200
ELSE
	DOWNBASE:MASTER:체력 = 100
	DOWNBASE:MASTER:기력 = 100
	TIME += 60
ENDIF

PRINTFORMW %마스터는% 나무를 온다―
PRINTFORMW 헤이 헤이 호-
PRINTFORMW 헤이 헤이 호-
PRINTFORMW …
PRINTFORMW ……
PRINTFORMW 목재를{채취수}손에 넣었다

ITEM:목재 += 채취수

SELECTCASE RAND:20
	CASE 0 TO 4
		LOCAL = 377
	CASE 5
		LOCAL = 4
	CASEELSE
		LOCAL = 0
ENDSELECT
IF LOCAL
	PRINTFORMW 나무에 무엇이지는 있다…
	PRINTFORMW %ITEMNAME:LOCAL%를 손에 넣었다
	ITEM:LOCAL ++
ENDIF

RETURN 1

@COM_ABLE442
;실행 판정
SIF !TFLAG:100
	RETURN 0
;일괄관리
SIF GLOBAL_COMABLE(419)
	RETURN RESULT
SIF CFLAG:우후후 == 2
	RETURN 0
SIF !벌채가능()
	RETURN 0
RETURN 1

@벌채가능()
#FUNCTION
IF !IN_HOME(CFLAG:MASTER:현재위치)
	SELECTCASE CFLAG:MASTER:현재위치
		CASE 숲의입구, 고목의큰나무, 산록의수해
			RETURNF 1
	ENDSELECT
ENDIF
RETURNF 0

path: ERB/커맨드관련/COMF/일상계/COMF442 벌채한다_t.ERB


code:
;-------------------------------------------------
;고유 커맨드
;일상계 커맨드, 레벨 X
;-------------------------------------------------
@COM443
TRYCALLFORM UNIQUE_COM_%NAME_UNIQUE_COM(TARGET)%
SIF RESULT == -1
	RETURN -1
TIME += 3
RETURN 1

@COM_ABLE443
;정지 중에는 불가
SIF FLAG:70 == 1
	RETURN 0
;실행 판정
SIF !TFLAG:100
	RETURN 0
;일괄관리
SIF GLOBAL_COMABLE(443)
	RETURN RESULT
SIF TARGET <= 0
	RETURN 0
SIF !SHIRAHU(TARGET)
	RETURN 0
SIF CFLAG:우후후
	RETURN 0
SIF !ABLE_UNIQUE_COM(TARGET)
	RETURN 0
RETURN 1

@NAME_UNIQUE_COM(CHARA)
#FUNCTIONS
#DIM CHARA
RETURNF GET_STR(0, "캐릭터데이터", CHARA, "고유커맨드")

@ABLE_UNIQUE_COM(CHARA)
#FUNCTION
#DIM CHARA
RETURNF GET_INT(0, "캐릭터데이터", CHARA, "고유커맨드 실행 가능")

;-------------------------------------------------
;레이무 용
;-------------------------------------------------
@UNIQUE_COM_운세뽑기계약
#DIM 운세뽑기값
IF FLAG:운세뽑기계약
	PRINTFORML 「이미 계약하고 있잖니」
	RETURN -1
ENDIF
IF !MAIN_MAP
	운세뽑기값 = 30
ELSE
	운세뽑기값 = 50
ENDIF
PRINTFORML 「낙원의 멋진 무녀가 매일 널 위해서 운세를 뽑아줄게」
PRINTFORML 「월 50 카리스마야. 싸지?」
SIF !MAIN_MAP
	PRINTFORML 「신사에 얹혀사는 동안에는 30이면 돼」
CALL ASK_M("부탁한다", MONEY:2 >= 운세뽑기값,"그만둔다", 1)
SIF RESULT
	RETURN -1
PRINTFORMW 「매번 감사! 이사하면 재계약해야 되거든」
MONEY:2 -= 운세뽑기값
FLAG:운세뽑기계약 = 1

;-------------------------------------------------
;아야 용
;-------------------------------------------------
@UNIQUE_COM_신문구독
IF FLAG:신문구독
	PRINTFORML 「이미 구독하고 계시잖아요」
	RETURN -1
ENDIF
PRINTFORML 「월\\3000에 환상향의 『현재』를 알 수 있다! 붕붕마루 신문을 구독하지 않으실래요?」
CALL ASK_M("필요 없어", 1,"구독한다", MONEY >= 3000,"카리스마로 구독한다", MONEY:2 >= 10)
SELECTCASE RESULT
	CASE 0
		RETURN -1
	CASE 1
		MONEY -= 3000
	CASE 2
		MONEY:2 -= 10
ENDSELECT
PRINTFORMW 붕붕마루 신문을 구독하기로 했습니다.
PRINTFORMW 매월 첫날에 계약을 갱신합니다.
FLAG:신문구독 = 1

;-------------------------------------------------
;텐시용
;-------------------------------------------------
@UNIQUE_COM_기후조작
IF CFLAG:MASTER:현재위치 == 천계
	PRINTFORML 「여기선 무리야」
	RETURN -1
ENDIF
IF FLAG:이상기상
	PRINTFORML 「이 날씨는 못 바꿔」
	RETURN -1
ENDIF
IF GETBIT(TFLAG:일일일회, 6)
	PRINTFORML 「오늘은 이제 안 해」
	RETURN -1
ENDIF
PRINTFORML 「대략적으로밖에 안 해. 귀찮거든」
$LOOP
CALL ASK_M("맑음", 1,"흐림", 1,"비", 1, "눈", DAY:2 == 4, "팬티", 1)
SELECTCASE RESULT
	CASE 0
		;비라면 저확률로 무지개
		SIF INRANGE(TIME:5, 4,7) && !RAND:7
			TIME:7 = 1
		;눈이라면 저확률로 다이아몬드 더스트
		SIF INRANGE(TIME:5, 8,13) && !RAND:7
			TIME:7 = 2
		TIME:5 = RAND:2
	CASE 1
		TIME:5 = RAND:2 + 2
	CASE 2
		;맑음을 바꾸려고 하면 무지개
		IF TIME:5 < 2 && !RAND:4
			TIME:7 = 1
		ELSE
			TIME:5 = 4 + RAND:4
		ENDIF
	CASE 3
		;맑음을 바꾸려고 하면 다이아몬드 더스트
		IF TIME:5 < 2 && !RAND:4
			TIME:7 = 2
		ELSE
			TIME:5 = 8 + RAND:6
		ENDIF
	CASE 4
		PRINTFORML 「바보 아냐?」
		RETURN -1
ENDSELECT

DOWNBASE:기력 = 300
SETBIT TFLAG:일일일회, 6

;-------------------------------------------------
;모미지 용
;-------------------------------------------------
@UNIQUE_COM_천리안
PRINTFORML 「어디를 보겠어요?」
CALL BROAD_HITOSAGASI

;-------------------------------------------------
;치르노용
;-------------------------------------------------
;아이스크림의 가격은 계절에 의해 변동한다(여름이 제일 높다)
@UNIQUE_COM_아이스를산다
#DIM 아이스값
#DIM 팩값
아이스값 = ICE_PRICE()
팩값 = ICE_PRICE() * 9
PRINTL 「아이스 원해?」
PRINTFORML
PRINTFORML 소지금 :\\%TOSTR(MONEY,"#,###")%
PRINTFORML
CALL EX_SHOPPING("아이스", "달고 맛있는 아이스", 0, 아이스값)
CALL EX_SHOPPING("아이스 세트", "다 같이 먹자", 1, 팩값)
PRINTFORML
PRINTL [100] 그만둔다
INPUT
SELECTCASE RESULT
	CASE 0
		CALL BUY_ABLE(213, 아이스값 , 1)
	CASE 1
		CALL BUY_ABLE(213, 팩값 , 10)
	CASE 100
		RETURN -1
	CASEELSE
ENDSELECT
RESTART

@ICE_PRICE
#FUNCTION
SELECTCASE DAY:2
CASE 1
	RETURNF 400
CASE 2
	RETURNF 500
CASE 3
	RETURNF 300
CASE 4
	RETURNF 200
ENDSELECT

;-------------------------------------------------
;사쿠야 용
;-------------------------------------------------
@UNIQUE_COM_홍마관출장서비스
PRINTFORML 「어머, 뭔가 난처해?」
PRINTFORML
CALL ASK_M("부탁하지 않는다", 1, "청소 대행", !TFLAG:출장청소, "물주기대행", ITEM:150)
SELECTCASE RESULT
CASE 0
	RETURN -1
CASE 1
	PRINTFORML 홉고블린에게 %GET_MAPNAME(MAIN_MAP)%의 청소를 부탁하겠습니까?
	CALL PAY_YEN_OR_CM(3000,10)
	SIF !RESULT
		RETURN -1
	PRINTFORML 출장 청소 서비스를 의뢰했습니다.
	TFLAG:출장청소 = 1
CASE 2
	PRINTFORML 홉고블린에게 텃밭의 물주기를 부탁하겠습니까? (이번 달까지)
	CALL PAY_YEN_OR_CM(15000,70)
	SIF !RESULT
		RETURN -1
	PRINTFORML 물주기대행을 의뢰했습니다.
	FLAG:물주기대행 = 1
ENDSELECT
RETURN 1

;-------------------------------------------------
;나즈린용
;-------------------------------------------------
@UNIQUE_COM_다우징
#DIM DYNAMIC CNT_TALK
#DIM DYNAMIC CNT_DOWSING
#DIM CAN_SLOT
#DIM CHK_SLOT
#DIM TMP_ID
IF !CNT_TALK
	PRINTFORML 「흠. 물건 찾기 상담인가」
	PRINTFORML 「확실히 그건 내 전문 분야인걸」
	PRINTFORMW 「그러면 자세하게 이야기를 들어볼까」
	CNT_TALK ++
	CAN_SLOT = CAN_DOWSING()
	IF !CAN_SLOT
		PRINTFORML 「이봐이봐. 딱히 찾고 싶은 것도 없는데 다우징해달라고 한 거야?」
		PRINTFORMW 「구경거리가 아니라고? 참 내…」
		RETURN
	ENDIF
ELSE
	PRINTFORMW 「뭐가 더 남았어?」
ENDIF

FOR CHK_SLOT, 1, 6
	SIF !GETBIT(CAN_SLOT, CHK_SLOT)
		CONTINUE
	PRINTFORML [{CHK_SLOT}] - 의뢰{CHK_SLOT}　＜%STR_DATA_IRAI(IRAI_SLOT:CHK_SLOT, "의뢰명", IRAI_SLOT_TO_CLIENT(CHK_SLOT))%＞
NEXT
PRINTFORML
PRINTFORML [0] - 그만둔다
DO
	INPUT
	CHK_SLOT = RESULT
	SELECTCASE CHK_SLOT
	CASE 1 TO 5
		SIF !GETBIT(CAN_SLOT, CHK_SLOT)
			CONTINUE
		IF IRAI_SUB:CHK_SLOT
			PRINTFORML 「이봐이봐, 그 의뢰라면 이미 조사했잖아」
			CONTINUE
		ENDIF
		PRINTFORML 「그렇군」
		PRINTFORML 「다우징에는 약간의 시주를 받는데, 괜찮겠지?」
		CALL ASK_M("그만둔다", 1, "\\1000을 희사한다", MONEY >= 1000, "5CM를 희사한다", MONEY:2 >= 5)
		SELECTCASE RESULT
		CASE 0
			PRINTFORMW 「이런, 그건 유감인걸」
			BREAK
		CASE 1
			MONEY -= 1000
		CASE 2
			MONEY:2 -= 5
		ENDSELECT
		CNT_DOWSING ++
		SELECTCASE IRAI_SLOT_TO_TASKNAME(CHK_SLOT)
		CASE "수색(인물)"
			CNT_DOWSING ++
			TMP_ID = IRAI_SLOT_TO_PERSON(CHK_SLOT)
			IRAI_SUB:CHK_SLOT = TMP_ID
			IF CALLNAME:TMP_ID == "나즈린"
			;나즈 대사는 인물에 대한 반응 분기가 많지만 만들 수 없다
			;분명히 자신이 상대라면 이런 느낌이 될 것이다
				PRINTFORML 「아까부터 조금 전부터 펜듈럼이 쭉 반응하고 있는데」
				PRINTFORML 「그 의뢰는 나와 관련 있는 것 아닐까?」
				PRINTFORMW 「왠지 그런 느낌이 들어」
				BREAK
			ENDIF
			CALL DOWSING_TSUBUYAKI
			PRINTFORML 「결론이 나왔어」
			PRINTFORML 「%CALLNAME:TMP_ID%가 중요 인물이야」
			PRINTFORML 「내친 김에 있는 곳도 뽑아둘까?」
			CALL ASK_M("그만둔다", 1, "\\500을 희사한다", MONEY >= 500, "3CM를 희사한다", MONEY:2 >= 3)
			SELECTCASE RESULT
			CASE 0
				PRINTFORMW 「이런, 그건 유감인걸」
				BREAK
			CASE 1
				MONEY -= 500
			CASE 2
				MONEY:2 -= 3
			ENDSELECT
			IF CFLAG:TMP_ID:현재위치 == SUKIMA()
				PRINTFORML 「으응~, 반응이 안정되지 않는데」
				PRINTFORMW 「지금 당장 만나는 것은 어려운 것 같다」
			ELSE
				PRINTFORMW 「그녀는 현재, “%STR:(5000 + GET_MAPID(CFLAG:TMP_ID:현재위치))%”의 주변에 있는 것 같다」
			ENDIF
		CASE "수색(장소)"
			CNT_DOWSING ++
			TMP_ID = IRAI_SLOT_TO_PLACE(CHK_SLOT)
			IRAI_SUB:CHK_SLOT = TMP_ID + 5000
			CALL DOWSING_TSUBUYAKI
			PRINTFORML 「결론이 나왔어」
			PRINTFORML 「네가 목표로 해야 할 장소는 “%STR:(5000 + GET_MAPID(TMP_ID))%”다」
			PRINTFORML 「좀 더 상세한 정보가 필요한가?」

			CALL ASK_M("그만둔다", 1, "\\2000을 희사한다", MONEY >= 2000, "10CM를 희사한다", MONEY:2 >= 10)
			SELECTCASE RESULT
			CASE 0
				PRINTFORMW 「이런, 그건 유감인걸」
				BREAK
			CASE 1
				MONEY -= 2000
			CASE 2
				MONEY:2 -= 10
			ENDSELECT
			IRAI_SUB:CHK_SLOT = TMP_ID
			PRINTFORMW 「%STR:(5000 + GET_MAPID(TMP_ID))%주변, 특히“%GET_PLACENAME(TMP_ID)%”의 반응이 강하네」
		CASEELSE
			PRINTFORMW 「어? ……으응~, 낚싯대의 상태가 이상한데」
			PRINTFORML
			PRINTFORML 　에러 발생중(로그의 제공을 부탁합니다)
			PRINTFORML 　클릭으로 에러 로그 생성
			PRINTFORMW ◆여기에서
			PRINTFORML IRAI_SLOT:CHK_SLOT　{IRAI_SLOT:CHK_SLOT}
			PRINTFORML IRAI_DATA:CHK_SLOT　{IRAI_DATA:CHK_SLOT}
			CALL SHOW_IRAI_DATA(IRAI_SLOT:CHK_SLOT, CHK_SLOT)
			PRINTFORML
			PRINTFORML ◆여기까지
			PRINTFORMW 　코피페 대기
		ENDSELECT

	CASE 0
		IF CNT_DOWSING
			PRINTDATAL
				DATA 「도움이 되었을까?」
				DATA 「행운을 빌어둘게」
				DATA 「이제 된 거야?」
			ENDDATA
			PRINTFORMW 「뭐, 마음 길게 먹고 찾아봐」
		ELSE
			PRINTFORMW 「변죽만 울리지 말아줬으면 하는데」
		ENDIF
		RETURN
	CASEELSE
		$RETRY
		PRINTFORMW 「응, 뭐라고?」
		CONTINUE
	ENDSELECT
	BREAK
LOOP 1
RESTART

;수탁이 끝난 의뢰의 다우징 가부 판정
;반환값은 BIT로 각 의뢰의 다우징 가부
@CAN_DOWSING()
#FUNCTION
#DIM CHK_SLOT
#DIM DYNAMIC CAN_SLOT
FOR CHK_SLOT, 1, 6
	SIF !IRAI_SLOT_CAN_DOWSING(CHK_SLOT)
		CONTINUE
	SETBIT CAN_SLOT, CHK_SLOT
NEXT
RETURNF CAN_SLOT

;개개의 의뢰슬롯의 다우징 가부 판정
@IRAI_SLOT_CAN_DOWSING(CHK_SLOT)
#FUNCTION
#DIM CHK_SLOT
SIF IRAI_SLOT_TO_PROGRESS(CHK_SLOT) != "의뢰중"
	RETURNF 0
SIF !GROUPMATCH(IRAI_SLOT_TO_TASKNAME(CHK_SLOT), "수색(인물)", "수색(장소)")
	RETURNF 0
RETURNF CHK_SLOT

;다우징중의 혼잣말
@DOWSING_TSUBUYAKI
#DIMS COMMENT, 3
COMMENT:0 '= "「호오…… 이건」"
STRDATA COMMENT:1
	DATA 「……꽤 좁혀냈군」
	DATA 「음, 이러면 앞뒤가 안 맞는데」
	DATA 「이런, 그렇게 되는 건가」
	DATA 「그럼, 이렇게 하면…………」
ENDDATA
STRDATA COMMENT:2
	DATA 「……그런 건가」
	DATA 「뭐야, 간단한 거잖아」
	DATA 「좋아, 이거다」
	DATA 「이쯤일까」
ENDDATA
CALL PRINT_GROUP(COMMENT, 3)

;-------------------------------------------------
;스타용
;-------------------------------------------------
@UNIQUE_COM_기척을찾는다
PRINTFORML 「흐응, 누군가 찾아?」
PRINTFORML 「그렇네…… 용돈 줄래?」
CALL ASK_M("역시 그만", 1, "\\500 줄게", MONEY >= 500, "3CM 줄게", MONEY:2 >= 3)
SELECTCASE RESULT
CASE 0
	PRINTDATAW
		DATAFORM 「우―, %CALLNAME:MASTER%의 구두쇠」
		DATAFORM 「……하아」
		DATAFORM 스타 사파이어는 말없이 이쪽을 째려보고 있다
	ENDDATA
	RETURN
CASE 1
	MONEY -= 500
CASE 2
	MONEY:2 -= 3
ENDSELECT
PRINTDATAW
	DATAFORM 「와이~」
	DATAFORM 「했다―」
	DATAFORM 「용돈이다―」
	DATAFORM 「말귀 밝은 사람은 좋아해」
	DATAFORM 스타 사파이어는 흡족해하고 있다
ENDDATA
PRINTFORML 「그럼 시작할게♪」
PRINTFORMW 「음, 보자……」
PRINTFORML
CALL HITOSAGASI
PRINTFORMW

;-------------------------------------------------
;마리사 용
;교우 관계 넓은 것 같고, 귀는 빠를 것이다
;-------------------------------------------------
@UNIQUE_COM_사람돕기
#DIM PREV_DAY
#DIM IRAI_ABLE
#DIM CLIENT_ID
IF PREV_DAY == DAY
	PRINTFORMW 「오늘은 이제(벌써) 가르침이라고 한?」
	RETURN
ENDIF
PREV_DAY = DAY
PRINTFORMW 「네? “곤란하고 있는 여자아이를 모르는가”?」

CALL CAN_IRAI_START
IRAI_ABLE = RESULT
IF IRAI_ABLE && IRAI_CHARA_TO_PROGRESS(TARGET) == "의뢰미수탁"
	PRINTFORML 「있고 말이야, 여기에 한사람인!」
	CALL IRAI_START(TARGET)
	SIF IRAI_CHARA_TO_PROGRESS(TARGET) != "의뢰중"
		PRINTFORMW 「무엇이야, 보통 이 흘러 나오고 거절할까?」
	RETURN
ENDIF

CLIENT_ID = SEARCH_UNIQUE_COM_사람돕기()
SELECTCASE CLIENT_ID
CASE 0
	PRINTFORML 「으응~」
	PRINTFORMW 「내가 아는 한에서는 없는 것 같다」
CASEELSE
	PRINTDATAL
		DATAFORM 「으응~」
		DATAFORM 「그러니까」
		DATAFORM 「분명히……」
	ENDDATA
	PRINTDATAW
		DATAFORM 「%CALLNAME:CLIENT_ID%가 그런 이야기를 하고 있다고 생각한다」
		DATAFORM 「%CALLNAME:CLIENT_ID%가 무엇인가 말했던 것이구나」
		DATAFORM 「%CALLNAME:CLIENT_ID%가 곤란하고 있다고 소문으로 들었다구」
		DATAFORM 「%CALLNAME:CLIENT_ID%의 곳에라도 가 보면 괜찮지 않을까?」
		DATAFORM 「%CALLNAME:CLIENT_ID%를 만나러 가면 좋으면 생각해」
	ENDDATA
ENDSELECT

@SEARCH_UNIQUE_COM_사람돕기
#FUNCTION
#DIM DYNAMIC CLIENT_ID, 캐릭터수상한
#DIM DYNAMIC CLIENT_CNT
FOR LOCAL:0, 1, CHARANUM
	SIF IRAI_CHARA_TO_PROGRESS(LOCAL:0) != "의뢰미수탁"
		CONTINUE
	CLIENT_ID:CLIENT_CNT = LOCAL:0
	CLIENT_CNT ++
NEXT
SIF !CLIENT_CNT
	RETURNF 0
RETURNF CLIENT_ID:(RAND:CLIENT_CNT)

;-------------------------------------------------
;니토리 용
;-------------------------------------------------
@UNIQUE_COM_도구를산다
TFLAG:194 = 1
CALL ITEM_SALES
DRAWLINE
CALL LIST_ITEM("캇파 도구")
DRAWLINE
PRINTL 「지금이라면 싸게 해 두어」
PRINTFORML 구입할 아이템을 선택해주세요 소지금 :\\%TOSTR(MONEY,"#,###")%
CALL SHOW_ITEM, "캇파 도구", 3
PRINTL
DRAWLINE
PRINT [100] - 돌아간다　　　　　[101] - 도구의 개조　[102] - 도구의 개발
INPUT
LOCAL = RESULT
SELECTCASE LOCAL
CASE 100
	RETURN -1
CASE 101
	CALL TOOL_CUSTOM
	SIF RESULT
		RETURN RESULT
CASE 102
	PRINTL 「개발하려면 git가 필요하다」
	PRINTW git란 도대체…
	RETURN -1
CASEELSE
	SELECTCASE ITEMSTOCK(LOCAL)
	CASE 1, 4
		RETURN -1
	CASE 2
		PRINTW 품절입니다
		RETURN -1
	CASE 3
		PRINTW 소지금이 충분하지 않습니다
		RETURN -1
	CASE 5
		PRINTW 이미 충분히 가지고 있습니다
		RETURN -1
	CASEELSE
		SIF !INRANGE(LOCAL, 0, 100)
			RETURN -1
	ENDSELECT
	PRINTFORML %ITEMNAME:LOCAL%를 구입하겠습니까?
	PRINTL [0] - 네  [1] - 아니오
	INPUT
	SIF RESULT
		RETURN -1
	ITEM:LOCAL ++
	MONEY -= ITEMPRICE:LOCAL / 3
	SIF INRANGE(LOCAL, 0, 39)
		SETBIT FLAG:아이템구입끝난상태, LOCAL
ENDSELECT
RESTART

;도구 개조 함수
;현재 상태로서는 풀장 뿐이지만
;개조 아이템이 증가하면(자) 한층 더 비대화 하는 것이 눈에 보이므로 독립
;구입으로 RETURN -1, 구입하지 않을 때는 RETURN 0
;아무것도 하지 않고 말미에 도달하면(자) 구입한 취급이 됩니다
@TOOL_CUSTOM
#DIM 번호_간이풀장
GETNUM ITEM, "간이풀장"
번호_간이풀장 = RESULT

PRINTFORML 개조할 아이템을 선택해주세요 소지금 :\\%TOSTR(MONEY,"#,###")%
IF ITEM:간이풀장
	LOCALS = [{번호_간이풀장}] 간이풀장
	PRINTBUTTONLC LOCALS, 번호_간이풀장
ENDIF
PRINT [100] - 역시 그만둔다
INPUT
SELECTCASE RESULT
CASE 100
	RETURN
CASE 번호_간이풀장
	SIF !ITEM:간이풀장
		RETURN
	PRINTL 「어떻게 개조해?」
	PRINT 현재 상태：
	SIF GETBIT (FLAG:풀장, 0)
		PRINT [자주모터]
	SIF GETBIT (FLAG:풀장, 1)
		PRINT [온수 기능]
	SIF GETBIT (FLAG:풀장, 2)
		PRINT [샤워]
	SIF GETBIT (FLAG:풀장, 3)
		PRINT [이상한 거품]
	PRINTL

	IF !GETBIT (FLAG:풀장, 0)
		PRINTL [1] - 모터(\5000)：이동의 부담이 없어진다
	ELSE
		SETCOLOR 150,150,150
		PRINTL [완료] - 모터：이동의 부담이 없어진다
		RESETCOLOR
	ENDIF
	IF !GETBIT (FLAG:풀장, 1)
		PRINTL [2] - 온수 기능(\5000)：넓은 장소에서 편하게 한다
	ELSE
		SETCOLOR 150,150,150
		PRINTL [완료] - 온수 기능：넓은 장소에서 편하게 한다·목욕탕플레이가 생긴다
		RESETCOLOR
	ENDIF
	IF !GETBIT (FLAG:풀장, 2)
		PRINTL [3] - 샤워(\5000)：샤워로 씻을 수 있다·물주기도 할 수 있다
	ELSE
		SETCOLOR 150,150,150
		PRINTL [완료] - 샤워：샤워로 씻을 수 있다·물주기도 할 수 있다
		RESETCOLOR
	ENDIF
	SIF FLAG:풀장 < 7
		PRINTFORML [4] - 3개 모두 개조(1개당\\5000)
	IF FLAG:풀장 < 7
		PRINTL [? ] - ?
	ELSEIF !GETBIT (FLAG:풀장, 3) && FLAG:풀장 < 8
		PRINTL [5] - 이상한 거품(\5000)：와카사기히메가 자유롭게 이동할 수 있게 된다
	ELSE
		SETCOLOR 150,150,150
		PRINTL [완료] - 이상한 거품：와카사기히메가 자유롭게 이동할 수 있게 된다
		RESETCOLOR
		PRINTL 더 이상 개조할 수 없다
	ENDIF

	PRINTL [100]역시 그만둔다
	INPUT
	SELECTCASE RESULT
	CASE 100
		RETURN
	CASE 1
		IF !GETBIT (FLAG:풀장, 0) && MONEY >= 5000
			PRINTL 이동의 부담이 없어졌다!
			SETBIT FLAG:풀장, 0
			MONEY -= 5000
		ELSE
			RETURN
		ENDIF
	CASE 2
		IF !GETBIT (FLAG:풀장, 1) && MONEY >= 5000
			PRINTL 넓은 장소에서 편하게 하게 되었다!
			PRINTL 목욕탕 플레이가 가능해졌다!
			SETBIT FLAG:풀장, 1
			MONEY -= 5000
		ELSE
			RETURN
		ENDIF
	CASE 3
		IF !GETBIT (FLAG:풀장, 2) && MONEY >= 5000
			PRINTL 샤워를 사용할 수 있게 되었다!
			PRINTL 물주기가 편해졌다!
			SETBIT FLAG:풀장, 2
			MONEY -= 5000
		ELSE
			RETURN
		ENDIF
	CASE 4
		IF FLAG:풀장 < 7
			PRINTL 여러 가지 기능이 추가되었다! && MONEY >= 5000 * (!GETBIT (FLAG:풀장, 0) + !GETBIT (FLAG:풀장, 1) + !GETBIT (FLAG:풀장, 2))
			MONEY -= 5000 * (!GETBIT (FLAG:풀장, 0) + !GETBIT (FLAG:풀장, 1) + !GETBIT (FLAG:풀장, 2))
			FLAG:풀장 = 7
		ELSE
			RETURN
		ENDIF
	CASE 5
		IF !GETBIT (FLAG:풀장, 3) && FLAG:풀장 < 8 && MONEY >= 5000
			PRINTL 와카사기히메에게 이상한 거품을 사 주었다!
			FLAG:풀장 = 15
			MONEY -= 5000
		ELSE
			RETURN
		ENDIF
	ENDSELECT
CASEELSE
	RETURN
ENDSELECT
RETURN -1

;-------------------------------------------------
;레이센용
;-------------------------------------------------
@UNIQUE_COM_약을산다
DRAWLINE
CALL LIST_ITEM("토끼 약품")
DRAWLINE
PRINTFORML 구입할 아이템을 선택해주세요 소지금 :\\%TOSTR(MONEY,"#,###")%
PRINTL
VARSET LOCALS
CALL EX_SHOPPING("로션병", "로션들이의 대병. 5회분은 있을 것이다. ", 0,1000)
CALL EX_SHOPPING("콘돔 이득용 팩", "50개나 들어가 있다. ", 1,1000)
CALL EX_SHOPPING("필(5정들이)", "밝은 가족 계획", 2,5000)
CALL EX_SHOPPING("미약", "호의를 안기 쉬워지는", 250)
CALL EX_SHOPPING("수면제", "악용은 안 돼요? ", 252)
CALL EX_SHOPPING("영양드링크", "타우린 1000mg 배합", 501)
CALL EX_SHOPPING("정력제", "더러운 부자 납품업자", 502)
CALL EX_SHOPPING("우콘드린크", "술을 마시기 전에", 510)
CALL EX_SHOPPING("붕대", "상처를 입었는데나 숨기고 싶은 장소에 감자", 520)
SIF TARGET == 53 && !ITEM:130
	CALL EX_SHOPPING("토부「개운대문」","럭키 색골이 일어나는 꿈의 아이템", 130)
DRAWLINE
PRINTL [100] 그만둔다
INPUT
SELECTCASE RESULT
	CASE 0
		CALL BUY_ABLE(40,1000,5)
	CASE 1
		CALL BUY_ABLE(45,1000,50)
	CASE 2
		CALL BUY_ABLE(49,5000,5)
	CASE 130
		SIF TARGET == 53 && !ITEM:130
			CALL BOTTAKURI
	;정리하고 구매 함수로 수매
	;이것들의 아이템은 특히 할인은 없기 때문에 @BUY_ABLE를 사용하는 필연성이 없다
	CASE 250, 252, 501, 502, 510, 520
		SELECTCASE ITEMSTOCK(RESULT)
		CASE 1, 4
		CASE 2
			PRINTW 품절입니다
		CASE 3
			PRINTW 소지금이 충분하지 않습니다
		CASE 5
			PRINTW 이미 충분히 가지고 있습니다
		CASEELSE
			CALL ITEM_MATOMEGAI(RESULT)
		ENDSELECT
	CASE 100
		RETURN -1
	CASEELSE
ENDSELECT
RESTART

@BOTTAKURI
SELECTCASE FLAG:개운대문구입회수
CASE 0
	LOCAL = 1000
CASE 1 TO 3
	LOCAL = 10000
CASE 3 TO 10
	LOCAL = 20000
CASE 11 TO 20
	LOCAL = 30000
CASEELSE
	LOCAL = 50000
ENDSELECT
SIF TALENT:TARGET:연모 && LOCAL >= 20000
	LOCAL /= 2

SIF !FLAG:개운대문구입회수
	PRINTFORML 「지금이라면 시험 가격의 \\{LOCAL}! 가져가 이 도둑―!」
IF LOCAL <= 10000
ELSE
	IF TALENT:TARGET:연모
		PRINTFORML 「%CALLNAME:MASTER%라면 \\{LOCAL}로 좋아」
	ELSE
		PRINTFORML 「그렇다면 \\{LOCAL}가 되었어」
	ENDIF
	CALL ASK_M("웃기지마", 1, "삽니다", MONEY >= LOCAL, "그런 일 말 할 입장이야? ", CFLAG:TARGET:약점잡힘 && !CFLAG:TARGET:약점잡음)
	SELECTCASE RESULT
		CASE 0
			RETURN
		CASE 1
		CASE 2
			PRINTFORMW 약점과 바꿔 공짜로 Get 했다
			ITEM:130 ++
			CFLAG:TARGET:약점잡힘 = 0
			RETURN
	ENDSELECT
ENDIF

IF MONEY >= LOCAL
	ITEM:130 ++
	MONEY -= LOCAL
	FLAG:개운대문구입회수 ++
	PRINTFORMW \\{LOCAL}를 지불해 토부「개운대문」를 구입했다
ENDIF

;-------------------------------------------------
;미스치 용
;-------------------------------------------------
@UNIQUE_COM_포장마차에서식사
#DIM 동행인원수카운트
#DIM 음주가능인원수
#DIM ATSUKAN
#DIM OOMORI
#DIM KAIKEI
#DIM KAKAKU, 2

동행인원수카운트 = 1
음주가능인원수 = 0
ATSUKAN = 0
KAIKEI = 0
OOMORI = 0
VARSET KAKAKU
SIF CAN_DRINK(MASTER)
	음주가능인원수 = 1
FOR LOCAL, 1, CHARANUM
	SIF !CFLAG:LOCAL:동행
		CONTINUE
	 SIF !TIME_PROGRESS(TCVAR:LOCAL:공복시각)
	 	CONTINUE
	동행인원수카운트 ++
	SIF CAN_DRINK(LOCAL)
		음주가능인원수 ++
NEXT
PRINTFORML 「오세요, {동행인원수카운트}분」
KAKAKU:0 = 3 * 동행인원수카운트
KAKAKU:1 = 5 * 동행인원수카운트
CALL ASK_M("꼬치구이 진열 한 사람 몫 3CM", MONEY:2 >= KAKAKU:0 && TIME_PROGRESS(TCVAR:MASTER:공복시각),"꼬치구이 진열(대) 한 사람 몫 5CM", MONEY:2 >= KAKAKU:1 && TIME_PROGRESS(TCVAR:MASTER:공복시각),"테이크 아웃　5CM", MONEY:2 >= 5 && !ITEM:야트메꼬치,"그만둔다", 1)
IF RESULT == 3
	PRINTFORML 「다시 와」
	RETURN -1
ENDIF
IF RESULT == 2
	ITEM:야트메꼬치 ++
	MONEY:2 -= 5
	PRINTFORML 「식기 전에 먹어」
	SOURCE:환락 += 200
	TFLAG:98 = 1
	TIME += 5
	RETURN 1
ENDIF
MONEY:2 -= KAKAKU:RESULT
KAIKEI = KAKAKU:RESULT

SIF RESULT == 1
	OOMORI = 1

IF MONEY:2 >= 2 * 음주가능인원수
	PRINTFORML 「한사람 2 카리스마로 데운 술도 붙여?」(술기운·기력회복량 업)
	CALL ASK_YN
	IF !RESULT
		ATSUKAN = 1
		KAIKEI += 2 * 음주가능인원수
		MONEY:2 -= 2 * 음주가능인원수
	ENDIF
ENDIF
;신뢰
TFLAG:98 += 3
;동행중 전원이 돌린다

FOR LOCAL, 0, CHARANUM
	SIF !CFLAG:LOCAL:동행 && LOCAL
		CONTINUE
	 SIF !TIME_PROGRESS(TCVAR:LOCAL:공복시각)
	 	CONTINUE
	CALL EAT_YATSUME(LOCAL, OOMORI, ATSUKAN)
NEXT

SOURCE:환락 += KAIKEI * 100
PRINTFORML 「닫아{KAIKEI}카리스마가 됩니다」
PRINTFORML 「다시 와」
TIME += 30

@EAT_YATSUME(대상, ARG, ARG:1)
#DIM 회복전체력
#DIM 회복전기력
#DIM 회복전정력
#DIM 회복후체력
#DIM 회복후기력
#DIM 회복후정력
#DIM 대상

회복전체력 = BASE:대상:체력
회복전기력 = BASE:대상:기력
회복전정력 = BASE:대상:정력

;수북히 담음의 경우
IF ARG == 1
	CALL 만복도상승(대상,"주식")
	CALL RECOVER_PERMIL(대상, 100,"체력")
	CALL RECOVER_PERMIL(대상, 200,"기력")
	CALL RECOVER_PERMIL(대상, 100,"정력")
ELSE
	CALL 만복도상승(대상,"경식")
	CALL RECOVER_PERMIL(대상, 50,"체력")
	CALL RECOVER_PERMIL(대상, 100,"기력")
	CALL RECOVER_PERMIL(대상, 50,"정력")
ENDIF
IF 대상
;고정으로 획득하는 소스
SOURCE:대상:환락 = 1000
SOURCE:대상:사랑 = 300

;ABL:욕망을 본다
IF ABL:대상:욕망 <= 1
	SOURCE:대상:환락 += (ABL:대상:욕망 * 60)
ELSEIF ABL:대상:욕망 <= 3
	SOURCE:대상:환락 += 400 + (ABL:대상:욕망 * 60)
ELSEIF ABL:대상:욕망 <= 5
	SOURCE:대상:환락 += 800 + (ABL:대상:욕망 * 60)
ELSEIF ABL:대상:욕망 <= 8
	SOURCE:대상:환락 += 1000 + (ABL:대상:욕망 * 75)
ELSEIF ABL:대상:욕망 <= 11
	SOURCE:대상:환락 += 1700 + (ABL:대상:욕망 * 75)
ELSE
	SOURCE:대상:환락 += 2500 + (ABL:대상:욕망 * 35)
ENDIF

;ABL:대상:봉사정신을 본다
IF ABL:대상:봉사정신 <= 1
	SOURCE:대상:사랑 += (ABL:대상:봉사정신 * 30)
ELSEIF ABL:대상:봉사정신 <= 3
	SOURCE:대상:사랑 += 200 + (ABL:대상:봉사정신 * 30)
ELSEIF ABL:대상:봉사정신 <= 5
	SOURCE:대상:사랑 += 500 + (ABL:대상:봉사정신 * 30)
ELSEIF ABL:대상:봉사정신 <= 8
	SOURCE:대상:사랑 += 700 + (ABL:대상:봉사정신 * 45)
ELSEIF ABL:대상:봉사정신 <= 11
	SOURCE:대상:사랑 += 1200 + (ABL:대상:봉사정신 * 45)
ELSE
	SOURCE:대상:사랑 += 1800 + (ABL:대상:봉사정신 * 20)
ENDIF

;호감 도를 본다
IF CFLAG:대상:2 <= 500
	SOURCE:대상:환락 += CFLAG:대상:2
ELSEIF CFLAG:대상:2 <= 5000
	SOURCE:대상:환락 += 750 + (CFLAG:대상:2 - 500) / 3
ELSE
	SOURCE:대상:환락 += 2000 + (CFLAG:대상:2 - 5000) / 4
ENDIF
SIF SOURCE:대상:환락 < 0
	SOURCE:대상:환락 = 0
SOURCE:대상:수동 = 200 + 110 * ABL:대상:순종
SOURCE:대상:정복 = 200 + 110 * ABL:대상:새드끼

SIF TALENT:대식가
	TIMES SOURCE:대상:환락 , 1.50
ENDIF
;데운 술 부탁했을 경우
IF ARG:1 && CAN_DRINK(대상)
	TIMES SOURCE:대상:환락 , 1.10
	CALL RECOVER_PERMIL(대상, 50,"기력")
	SIF 대상 != MASTER
		CALL KIGEN_CHANGE(대상, 50,1)
	CALL DRUNKEN(대상, 52)
ENDIF

회복후체력 = BASE:대상:체력
회복후기력 = BASE:대상:기력
회복후정력 = BASE:대상:정력

PRINTFORML 체력+{ABS(회복후체력 - 회복전체력)}(%CALLNAME:대상%)
PRINTFORML 기력+{ABS(회복후기력 - 회복전기력)}(%CALLNAME:대상%)
SIF ABS(회복후정력 - 회복전정력) > 0
	PRINTFORML 정력+{ABS(회복후정력 - 회복전정력)}(%CALLNAME:대상%)
PRINTFORMW
TIME += 20
SIF ARG == 1
	TIME += 10

;-------------------------------------------------
;코가사 용
;-------------------------------------------------
@UNIQUE_COM_우산의수리
PRINTFORML 코가사에게 접는 우산을 고쳐달라고 했다
IF ITEM:망가진우산
	PRINTFORMW 「좀 더 소중하게 써주라」
	DOWNBASE:기력 = 200
	SOURCE:환락 += 1000
	ITEM:망가진우산 = 0
	ITEM:접는우산 = 1
	TIME += 45
ELSE
	PRINTFORMW 「소중하게 써줘」
	DOWNBASE:기력 = 100
	SOURCE:환락 += 1000 + ABL:친밀 * 50
	TFLAG:호감도보너스 = FLAG:우산내구도 / 10
	TFLAG:98 = FLAG:우산내구도 / 1000
	FLAG:우산내구도 = 0
ENDIF
TIME += 30

;-------------------------------------------------
;에이린용
;-------------------------------------------------
@UNIQUE_COM_생약을판다
#DIM 후보번호
#DIM 후보개수
#DIM 매각개수

PRINTFORML 소지금:\\%TOSTR(MONEY,"#,###")%
DRAWLINE
;소지하고 있는 소재 아이템의 매각 가능물·개수를 리스트화
LOCAL:1 = 999
FOR LOCAL:0 ,600, 700
	SELECTCASE LOCAL:0
		CASE 600, 602, 610, 611, 616, 621, 626 TO 631, 636, 638, 639
			;가지고 있어도 팔리지 않는 소재를 위의 CASE에 추가
		CASEELSE
			IF ITEM:(LOCAL:0)
				LOCALS:0 = [{LOCAL:0}] %ITEMNAME:(LOCAL:0), 16, LEFT%×{ITEM:(LOCAL:0)}
				LOCAL:1 += STRLENS(LOCALS:0)
				SIF ITEM:(LOCAL:0) < 10
					LOCAL:1 ++
				IF LOCAL:1 > 90
					IF LOCAL:1 >= 999
					;최초만 개행하지 않는다
					ELSE
						PRINTL
					ENDIF
					LOCAL:1 = 0
					PRINT
				ENDIF
				PRINTFORM [{LOCAL:0}] %ITEMNAME:(LOCAL:0), 16, LEFT%×{ITEM:(LOCAL:0)}
				SIF ITEM:(LOCAL:0) < 10
					PRINT
				PRINT
				ENDIF
	ENDSELECT
NEXT
PRINTL
PRINTL 　　[100] 그만둔다
DRAWLINE
PRINTFORML 「무엇을 팔까?」
$INPUT_LOOP01
INPUT
SELECTCASE RESULT
	CASE 100
		RETURN -1
	CASE 601, 603 TO 609, 612 TO 615, 617 TO 620, 622 TO 625, 632 TO 635, 637, 640, 641
		후보번호 = RESULT
		후보개수 = ITEM:(후보번호)
		IF 후보개수
			SELECTCASE 후보번호
				CASE 601, 612, 635
					PRINTFORML 「%조사처리(ITEMNAME:후보번호,"라")%. 강한 독을 가지기 때문이야말로, 사용 방법에 따라서는……말야.
				CASE 603, 618
					PRINTFORML 「%조사처리(ITEMNAME:후보번호,"라")%. 강장의 생약으로서 유명하지만……후후, 어떻게 사용해 받고 싶은 것일까?
				CASE 605, 624
					PRINTFORML 「%조사처리(ITEMNAME:후보번호,"라")%. 보통 사람이 이것에 손을 대면, 쓸모가 없게 되기 때문에 주의하도록 하세요.
				CASE 654
					PRINTFORML 「%조사처리(ITEMNAME:후보번호,"라")%. 발굴까지 진한 모래응이라고, 좀처럼 다예가 아니다.
				CASE 606, 609, 615, 625, 640
					PRINTFORML 「%ITEMNAME:후보번호%…!   자주(잘) 손에 넣었군요, 이런 것.
				CASEELSE
					PRINTFORM 「%조사처리(ITEMNAME:후보번호,"라")%.
			ENDSELECT
			PRINTFORM 　\\{(ITEMPRICE:(후보번호) / 2)}로 매입하지만, 어떻게 해?」
			SETCOLOR 0x777777
			PRINTFORML   몇개 팝니까? (1～{후보개수}의 개수를 입력, 0으로 돌아온다)
			RESETCOLOR
			PRINTL
			PRINTBUTTON "[0] 그만둔다", 0
			PRINT
			PRINTBUTTON "[1] 1개", 1
			PRINT
			IF 후보개수 >= 5
				PRINTBUTTON "[5] 5개", 5
				PRINT
			ENDIF
			IF 후보개수 >= 10
				PRINTBUTTON "[10] 10개", 10
				PRINT
			ENDIF
			$INPUT_LOOP02
			INPUT
			SELECTCASE RESULT
				CASE 0
					RESTART
				CASE 1 TO 후보개수
					CLEARLINE 2
					매각개수 = RESULT
					PRINTFORMW 「고마워요. 그러면 %조사처리(ITEMNAME:후보번호,"를")% {매각개수}개, \\{(ITEMPRICE:(후보번호) / 2 * 매각개수)}로 매입할게」
					MONEY += (ITEMPRICE:(후보번호) / 2 * 매각개수)
					ITEM:(후보번호) -= 매각개수
					RESTART
				CASEELSE
					CLEARLINE 1
					GOTO INPUT_LOOP02
			ENDSELECT
		ELSE
			CLEARLINE 1
			GOTO INPUT_LOOP01
		ENDIF
	CASEELSE
		CLEARLINE 1
		GOTO INPUT_LOOP01
ENDSELECT
RESTART

path: ERB/커맨드관련/COMF/일상계/COMF443 고유커맨드_t.ERB


code:
;-------------------------------------------------
;여자아이를 물색
;일상계 커맨드, 레벨 1
;-------------------------------------------------

@COM444
#DIMS YUKIZURI_RACE  ;생성하는 MOB소녀의 종류

IF FLAG:데이트상대
	PRINTFORMW 어마어마하게 귀여운 아가씨가 바로 옆에 있다
	RETURN -1
ENDIF

$BUSSYOKU
IF !FLAG:70
	TIME += 3
ELSE
	BASE:MASTER:TSP -= 10
ENDIF
PRINTFORML %마스터는% 귀여운 아가씨가 없는지 물색했다
PRINTFORMW ……저 아이는 어떨까?
SETBIT TFLAG:일일일회, 9
SELECTCASE CAN_NANPA(CFLAG:MASTER:현재위치)
	CASE 1
		YUKIZURI_RACE '= TEXTR("마을 아가씨/유부녀")
	CASE 2
		YUKIZURI_RACE = 요정
	CASE 3
		YUKIZURI_RACE = メイド요정
	CASE 4
		YUKIZURI_RACE = イナバ
	CASE 5
		YUKIZURI_RACE = ゾンビフェアリー
	CASE 6
		YUKIZURI_RACE '= TEXTR("化け狸/化け狐/化け猫")
	CASE 7
		YUKIZURI_RACE = 河童
	CASE 8
		YUKIZURI_RACE = 白狼텐구
	CASE 9
		IF !RAND:10
			YUKIZURI_RACE = 鬼
		ELSE
			YUKIZURI_RACE = ゾンビフェアリー
		ENDIF
	CASE 10
		YUKIZURI_RACE = 玉兎
ENDSELECT

;PRINTFORMW %YUKIZURI_RACE%
CALL MAKE_YUKIZURI(RANDOM_CHARANUM, YUKIZURI_RACE)
TEQUIP:RANDOM_CHARANUM:상반신착의상황 = 1
$CHOICE
CALL CHARA_STATE(RANDOM_CHARANUM)
IF CSTR:RANDOM_CHARANUM:처녀상실이력 != ""
	DRAWLINE
	CALL COLORMESSAGE(@"처녀상실이력：%CSTR:RANDOM_CHARANUM:처녀상실이력%",C_PINK,1)
	PRINTFORML
ENDIF
DEBUGPRINTFORML %CSTR:RANDOM_CHARANUM:モブ子画像文字列_服_通常%
CALL ASK_M("마음이 간다", 1,"다른 아가씨를 찾는다", 1,"직전의 아가씨를 찾는다", TFLAG:직전모브코맵 == CFLAG:MASTER:현재위치 /100,"이전 알게 된 아가씨를 찾는다", 1,"물색 중지", 1)
IF RESULT == 4
	CFLAG:RANDOM_CHARANUM:현재위치 = SUKIMA()
	CFLAG:RANDOM_CHARANUM:갈아입음실행 = 0
	CFLAG:RANDOM_CHARANUM:출금 = 2
	SIF TARGET == RANDOM_CHARANUM
		TARGET = 0
	RETURN -1
ENDIF
IF RESULT == 1
	TFLAG:직전모브코맵 = CFLAG:MASTER:현재위치 /100
	SAVECHARA "TEMP_MOB", "직전에 만난 아이", RANDOM_CHARANUM
	GOTO BUSSYOKU
ELSEIF RESULT == 3
	CALL LOAD_MOBGIRL
	IF RESULT == -1
		;만약을 위해 신품으로 해 둔다
		CALL モブ子画像リセット(RANDOM_CHARANUM)
		DELCHARA RANDOM_CHARANUM
		ADDCHARA RANDOM_CHARANUM
		RETURN -1
	ENDIF
	CFLAG:RANDOM_CHARANUM:출금 = 0
ELSEIF RESULT == 2
	CALL モブ子画像リセット(RANDOM_CHARANUM)
	DELCHARA RANDOM_CHARANUM
	LOADCHARA "TEMP_MOB"
	TFLAG:직전모브코맵 = 0
	GOTO CHOICE
ENDIF
CFLAG:RANDOM_CHARANUM:현재위치 = CFLAG:MASTER:현재위치
CFLAG:RANDOM_CHARANUM:데이트중 = MAIN_MAP

IF CFLAG:MASTER:현재위치 / 100 == MAIN_MAP
	;拠点内で시간정지せずに物色した場合は、동행扱い
	IF !FLAG:70
		CFLAG:RANDOM_CHARANUM:동행 = 180
		CFLAG:MASTER:동행 = 180
	ENDIF
	CFLAG:RANDOM_CHARANUM:거점내방 = 1
	CFLAG:RANDOM_CHARANUM:만난위치 = 0
	;CFLAG:RANDOM_CHARANUM:자택위치 = 0
	CFLAG:RANDOM_CHARANUM:내방시간 = CSVCFLAG(RANDOM_CHARANUM,352)
	CFLAG:RANDOM_CHARANUM:귀가시간 = CSVCFLAG(RANDOM_CHARANUM,353)
	CFLAG:RANDOM_CHARANUM:취침시간 = CSVCFLAG(RANDOM_CHARANUM,354)
	CFLAG:RANDOM_CHARANUM:기상시간 = CSVCFLAG(RANDOM_CHARANUM,355)
ELSE
	;引っ越ししたりして定義しなおす場合もあるので、毎回確認
	CFLAG:RANDOM_CHARANUM:거점내방 = 0
	CFLAG:RANDOM_CHARANUM:만난위치 = CFLAG:MASTER:현재위치
	;CFLAG:RANDOM_CHARANUM:자택위치 = CFLAG:MASTER:현재위치
	CFLAG:RANDOM_CHARANUM:내방시간 = 0
	CFLAG:RANDOM_CHARANUM:귀가시간 = 0
	CFLAG:RANDOM_CHARANUM:취침시간 = 0
	CFLAG:RANDOM_CHARANUM:기상시간 = 0
ENDIF
CFLAG:RANDOM_CHARANUM:데일리 = 30
TARGET = RANDOM_CHARANUM
RETURN 1

@COM_ABLE444
;일괄관리
SIF GLOBAL_COMABLE(622)
	RETURN RESULT
SIF !CAN_NANPA(CFLAG:MASTER:현재위치)
	RETURN 0
SIF !INRANGE(TIME, 540,1140)
	RETURN 0
; SIF !CFLAG:RANDOM_CHARANUM:출금
; 	RETURN 0
RETURN 1

@CAN_NANPA(ARG)
#FUNCTION

SIF ARG == GET_MAP_REPLACEMENT(202)
	RETURNF 1
SIF ARG == GET_MAP_REPLACEMENT(438)
	RETURNF 2
SIF ARG == GET_MAP_REPLACEMENT(309)
	RETURNF 3
SIF ARG == GET_MAP_REPLACEMENT(415)
	RETURNF 4
SIF ARG == GET_MAP_REPLACEMENT(416)
	RETURNF 4
SIF ARG == GET_MAP_REPLACEMENT(431)
	RETURNF 4
SIF ARG == GET_MAP_REPLACEMENT(434)
	RETURNF 4
SIF ARG == GET_MAP_REPLACEMENT(927)
	RETURNF 5
SIF ARG == GET_MAP_REPLACEMENT(928)
	RETURNF 5
SIF ARG == GET_MAP_REPLACEMENT(601)
	RETURNF 6
SIF ARG == GET_MAP_REPLACEMENT(704)
	RETURNF 7
SIF ARG == GET_MAP_REPLACEMENT(806)
	RETURNF 8
SIF ARG == GET_MAP_REPLACEMENT(938)
	RETURNF 9
SIF ARG == 1070
	RETURNF 10

RETURNF 0

@PRINT_SAVED_GIRL_LIST
DRAWLINE
FOR LOCAL,0,MAXMOB
	IF FIND_CHARADATA(TOSTR(LOCAL))
		CHKCHARADATA RESULTS:0
		SIF MOBGIRL_PLACE:LOCAL == CFLAG:MASTER:현재위치 / 100
			SETCOLOR  C_P_GREEN
		PRINTBUTTON @"[%RESULTS:0%]", LOCAL
		PRINTFORML
	ELSE
		PRINTBUTTON "[없음]", LOCAL
		PRINTFORML
	ENDIF
	RESETCOLOR
NEXT
DRAWLINE
PRINTBUTTON "[그만둔다]", 99

@LOAD_MOBGIRL
CALL PRINT_SAVED_GIRL_LIST
INPUT
LOCAL = RESULT
SIF !INRANGE(LOCAL, 0, MAXMOB -1)
	RETURN -1
IF MOBGIRL_PLACE:LOCAL != CFLAG:MASTER:현재위치 / 100
	PRINTFORML {MOBGIRL_PLACE:LOCAL}
	PRINTFORMW 여기에는 없을 것이다
	RETURN -1
ENDIF
IF FIND_CHARADATA(TOSTR(LOCAL))
	CALL モブ子画像リセット(RANDOM_CHARANUM)
	DELCHARA RANDOM_CHARANUM
	LOADCHARA TOSTR(LOCAL)
	PRINTFORML %CALLNAME:RANDOM_CHARANUM%を見つけた
	IF CSTR:RANDOM_CHARANUM:モブ子画像文字列_服_通常 == ""
		PRINTFORML 外見が未設定です。タイプを選んでください。
		PRINTBUTTON "[町娘] ", "町娘"
		PRINTBUTTON "[유부녀] ", "유부녀"
		PRINTBUTTON "[요정] ", "요정"
		PRINTBUTTON "[メイド요정] ", "メイド요정"
		PRINTBUTTON "[ゾンビフェアリー] ", "ゾンビフェアリー"
		PRINTBUTTON "[河童] ", "河童"
		PRINTBUTTON "[白狼텐구] ", "白狼텐구"
		PRINTBUTTON "[イナバ] ", "イナバ"
		PRINTBUTTON "[玉兎] ", "玉兎"
		PRINTBUTTON "[鬼] ", "鬼"
		PRINTBUTTON "[化け狸] ", "化け狸"
		PRINTBUTTON "[化け狐] ", "化け狐"
		PRINTBUTTON "[化け猫] ", "化け猫"
		PRINTBUTTON "[ランダム] ", "ランダム"
		INPUTS
		CALL SET_MOB_IMAGE_STR(RANDOM_CHARANUM, RESULTS)
	ENDIF
	;過去に合成されて裸画像の笑顔に[装飾_照れ]が乗ってない場合に追記
	SIF STRFIND(CSTR:RANDOM_CHARANUM:モブ子画像文字列_裸_笑顔, "装飾_照れ") == -1
		CSTR:RANDOM_CHARANUM:モブ子画像文字列_裸_笑顔 += "[装飾9:装飾_照れ][乗色:朱色]"

	IF FLAG:70	;시간정지中は反応なし

	ELSEIF CFLAG:RANDOM_CHARANUM:패배자 && (TALENT:RANDOM_CHARANUM:섹프 || TALENT:RANDOM_CHARANUM:사모)
		PRINTFORMW %CALLNAME:MASTER%の姿を認めた%CALLNAME:RANDOM_CHARANUM%は悔しげな、それでいて期待するような表情でもじもじしている…
	ELSEIF CFLAG:RANDOM_CHARANUM:패배자 && !TALENT:RANDOM_CHARANUM:연모 && !TALENT:RANDOM_CHARANUM:사모 && !TALENT:RANDOM_CHARANUM:애욕
		PRINTFORMW %CALLNAME:MASTER%の姿を認めた%CALLNAME:RANDOM_CHARANUM%は表情を強ばらせた
	ELSEIF TALENT:RANDOM_CHARANUM:연모
		PRINTFORMW %CALLNAME:MASTER%の姿を認めた%CALLNAME:RANDOM_CHARANUM%は嬉しそうにこちらに駆け寄ってきた
	ELSEIF TALENT:RANDOM_CHARANUM:애욕
		PRINTFORMW %CALLNAME:MASTER%の姿を認めた%CALLNAME:RANDOM_CHARANUM%はこちらにやって来るなり、腕にしなだれかかってきた…
	ELSEIF ABL:RANDOM_CHARANUM:친밀 >= 5
		PRINTFORMW %CALLNAME:MASTER%の姿を認めた%CALLNAME:RANDOM_CHARANUM%は手を振ってきた
	ENDIF
ELSE
	RETURN -1
ENDIF

@SAVE_MOBGIRL
#DIM CHOSEN_MOB
#DIMS MOBNAME

$LOOP
CALL PRINT_SAVED_GIRL_LIST
INPUT
SIF RESULT == 99
	RETURN -1
SIF !INRANGE(RESULT, 0, MAXMOB - 1)
	GOTO LOOP

CHOSEN_MOB = RESULT
IF FIND_CHARADATA(TOSTR(CHOSEN_MOB))
	CHKCHARADATA RESULTS:0
	STRFIND RESULTS:0, "："
	SUBSTRING RESULTS:0, 0, RESULT
	MOBNAME = %RESULTS:0%
	PRINTFORML %조사처리(MOBNAME,"를")% 잊어, 대신에 %조사처리(CALLNAME:RANDOM_CHARANUM,"를")% 기억합니까?
	CALL ASK_YN
	IF !RESULT
		PRINTFORM %마스터는% 몰인정하게도 %조사처리(MOBNAME,"를")% 깨끗히 잊고,
	ELSE
		GOTO LOOP
	ENDIF
ENDIF
MOBGIRL_PLACE:CHOSEN_MOB = CFLAG:RANDOM_CHARANUM:자주가는지역
TALENT:RANDOM_CHARANUM:스침 = 2
CFLAG:RANDOM_CHARANUM:모브코세이브슬롯 = CHOSEN_MOB
SAVECHARA TOSTR(CHOSEN_MOB), CSTR:RANDOM_CHARANUM:모브코프로필1, RANDOM_CHARANUM
PRINTFORMW %조사처리(CALLNAME:RANDOM_CHARANUM,"를")% 기억했다

;-------------------------------------------------
;모브코프로필2を更新する
;패배자でなければ、その日の過ごし方の様子でプロフィール２を追記
;패배자の場合は、陥落状態に合わせて更新
;-------------------------------------------------
@MOBGIRL_PROFILE2()
#DIM 횟수

횟수 = EXP:RANDOM_CHARANUM:V성교경험 + EXP:RANDOM_CHARANUM:A성교경험

;패배자でない場合は、性的関係の進展でテキストを構成
IF CFLAG:RANDOM_CHARANUM:패배자 == 0
	;出会って日が浅い
	IF DAY:0 - PRINTDATEF_TO_DAY(CSTR:RANDOM_CHARANUM:모브코프로필1) <= 30
		CSTR:RANDOM_CHARANUM:모브코프로필2 = 出会ったばかりの%CALLNAME:MASTER%
	ELSE
		CSTR:RANDOM_CHARANUM:모브코프로필2 = %CALLNAME:MASTER%
	ENDIF
	;생해금
	IF CFLAG:RANDOM_CHARANUM:생해금
		IF TALENT:RANDOM_CHARANUM:유부녀 == 1
			LOCALS = に夢中になってしまい、夫や家庭を顧みない、爛れた間柄となっている
		ELSE
			LOCALS = を雌として本能的に受け入れ、질내사정で子を孕んでもいいとすら感じている
		ENDIF
	;합의ックス
	ELSEIF GETBIT(CFLAG:RANDOM_CHARANUM:기정사실 , 1)
		IF TALENT:RANDOM_CHARANUM:유부녀 == 1
			LOCALS = を持て余した情欲のはけ口にしているようだ
		ELSE
			LOCALS = に惹かれ、体を許してしまった
		ENDIF
	;수면간(一応)
	ELSEIF EXP:RANDOM_CHARANUM:수면간경험
		LOCALS = の策に嵌り、眠っている間に体を好きにされてしまった
	;합의なしックス
	ELSEIF CFLAG:RANDOM_CHARANUM:대주고말았다
		IF TALENT:RANDOM_CHARANUM:유부녀 == 1
			LOCALS = の夫にはない매력に抗えないでいるようだ
		ELSE
			LOCALS = と流されるがままに淫行に及んでしまった
		ENDIF
	;괘씸각인
	ELSEIF MARK:RANDOM_CHARANUM:괘씸각인
		IF TALENT:RANDOM_CHARANUM:유부녀 == 1
			LOCALS = にいけないと思いながらも性的な目線を向けている
		ELSE
			LOCALS = に性的な興味を持ち始めたようだ
		ENDIF
	;시간각인
	ELSEIF MARK:RANDOM_CHARANUM:시간각인
		LOCALS = の目に留まり、止まった時の中で体を開発されてしまった
	ELSE
		LOCALS = の印象はまずまずのようだ
	ENDIF
	CSTR:RANDOM_CHARANUM:모브코프로필2 += LOCALS

;패배자の場合は、陥落強度に応じてテキストを構成
ELSE
	IF TALENT:RANDOM_CHARANUM:연모
		CSTR:RANDOM_CHARANUM:모브코프로필2 = 弾幕ごっこの勝敗などどうでもよく、今や%CALLNAME:MASTER%に心の底から惚れこんでいるようだ
	ELSEIF TALENT:RANDOM_CHARANUM:애욕
		IF GETBIT(TALENT:MASTER:성별, 1)
			IF 횟수 >= 75
				CSTR:RANDOM_CHARANUM:모브코프로필2 = %CALLNAME:MASTER%ちんぽに完全に굴복し、再び犯されるのを今か今かと心待ちにしている
			ELSE
				CSTR:RANDOM_CHARANUM:모브코프로필2 = %CALLNAME:MASTER%に完全に굴복し、再び愛されるのを今か今かと心待ちにしている
			ENDIF
		ELSE
			CSTR:RANDOM_CHARANUM:모브코프로필2 = かつての威勢はどこへやら、心もカラダも%CALLNAME:MASTER%色にどっぷり染められてしまっている
		ENDIF
	ELSEIF TALENT:RANDOM_CHARANUM:사모
		CSTR:RANDOM_CHARANUM:모브코프로필2 = %CALLNAME:MASTER%の腕っぷしだけでなく、人となりが気になり始めたようだ
	ELSEIF TALENT:RANDOM_CHARANUM:섹프
		CSTR:RANDOM_CHARANUM:모브코프로필2 = %CALLNAME:MASTER%に散々に鳴かされ、肉欲の虜に堕ちてしまっている
	ELSEIF MARK:RANDOM_CHARANUM:쾌락각인
		CSTR:RANDOM_CHARANUM:모브코프로필2 = 口では부정しつつも、体は正直に快楽に反応してしまっているようだ
	ENDIF
ENDIF

;-------------------------------------------------
;PRINT_DATE_Fの●年目 ■の★日の文字列を
;DAY:0（총날짜）と同じ日数に読み替える関数
;ARGS CSTR:RANDOM_CHARANUM:모브코프로필1を
;代入して、出会った日付を割り出す使用前提
;-------------------------------------------------
@PRINTDATEF_TO_DAY(ARGS)
#FUNCTION
#DIM YEAR
#DIM MOUTH
#DIMS 계절
#DIM DAYS
#DIMS 컷
#DIM TOTAL

SPLIT ARGS, "：", LOCALS
컷 = %LOCALS:1%
SPLIT 컷, "년째 ", LOCALS
컷 = %LOCALS:1%
YEAR = TOINT(LOCALS:0)
SPLIT 컷, "월", LOCALS
계절 = %LOCALS:0%
컷 = %LOCALS:1%
SPLIT 컷, "일", LOCALS
DAYS = TOINT(LOCALS:0)
SELECTCASE 계절
	CASE "봄"
		MOUTH = 0
	CASE "여름"
		MOUTH = 31
	CASE "가을"
		MOUTH = 62
	CASE "겨울"
		MOUTH = 93
ENDSELECT
TOTAL = (YEAR - 1) * 124 + MOUTH + DAYS
RETURNF TOTAL

path: ERB/커맨드관련/COMF/일상계/COMF444 여자아이를물색_t.ERB


code:
;채집한다
@COM445
#DIM 채집물
#DIM 채집파워
#DIM 채집파워M
#DIM 채집파워T
#DIM 토지의은혜
#DIM CHARA

;명백한 사람의 부지에서의 무단 채집은 그만둔다
SELECTCASE CFLAG:MASTER:현재위치
	CASE 태양의밭, 438
		IF ABL:[[유카]]:친밀 < 5
			DRAWLINE
			PRINTFORML 여기서 무단으로 채집을 하는 것은 매우 위험한 생각이 든다…
			RETURN -1
		ENDIF
	;천계, 도원
	CASE 천계, 833
		IF ABL:[[텐시]]:친밀 < 5
			DRAWLINE
			PRINTFORML 여기서 무단으로 채집을 하는 것은 곤란한 생각이 든다…
			RETURN -1
		ENDIF
ENDSELECT

채집물 = 0
채집파워M = 0
채집파워T = 0
LOCAL:4 = 0

;참가자 판정
IF FLAG:데이트상대 && !FLAG:70
	CHARA = FLAG:데이트상대
ELSEIF TARGET && ABL:TARGET:친밀 >= 5 && !FLAG:70
	CHARA = TARGET
ELSE
	CHARA = 0
ENDIF

;토지의 은혜. 일일로-25～+25의 사이를 랜덤으로 부동. 낚시를 참고에.
토지의은혜 = FLAG:일일이벤트 / 20 - 25

SIF ITEM:세방울의천수
	토지의은혜 += 10

;채집 파워 설정
채집파워M = 10 + TALENT:MASTER:채집Lv * 10 + ABL:MASTER:교양 * 5 + TFLAG:행운보정 * 3
SIF ITEM:108
	채집파워M += 10

SIF CHARA && !FLAG:70
	채집파워T = 10 + TALENT:CHARA:채집Lv * 10 + ABL:CHARA:교양 * 5
;참가자로 가장 파워가 높은 것을 기준에,1/2한 이제(이미/벌써/더는/정말) 1명의 파워를 더한다
IF 채집파워M >= 채집파워T
	채집파워 = 채집파워M + (채집파워T / 2)
ELSE
	채집파워 = 채집파워T + (채집파워M / 2)
ENDIF

REPEAT 5
	REUSELASTLINE  \@ CHARA ? %조사처리(CALLNAME:CHARA,"와")% 함께 #  \@채집중.%"." * COUNT%
	TWAIT 150, 1
REND
;디버그용
;LOCAL:6 = GATHERING_SPOT(CFLAG:MASTER:현재 위치)
;PRINTFORML {LOCAL:6}

$TREASURSARCH

;채집물의 선출（LOCAL:1 개시치, LOCAL:2 종료치, LOCAL:3늘리는 값）
;랜덤으로 검색 스타트 위치를 비켜 놓거나 검색의 방향을 바꾸거나 한다
SELECTCASE RAND:5
	CASE 0
		LOCAL:1 = 600 + RAND:40
		LOCAL:2 = 707
		LOCAL:3 = 1
	CASE 1
		LOCAL:1 = 706
		LOCAL:2 = 599
		LOCAL:3 = -1
	CASE 2
		LOCAL:1 = 640 - RAND:40
		LOCAL:2 = 599
		LOCAL:3 = -1
	CASEELSE
		LOCAL:1 = 600 + (5 * (RAND:9))
		LOCAL:2 = 707
		LOCAL:3 = 1
ENDSELECT

FOR LOCAL:0, LOCAL:1, LOCAL:2, LOCAL:3
	;아이템が無名でなく、出現条件を満たし、所有数上限でない
	SIF ITEMNAME:(LOCAL:0) == ""
		CONTINUE
	SIF ITEM:(LOCAL:0) == 99
		CONTINUE
	IF ITEMNAME:(LOCAL:0) != "" && GATHERING_PRODUCT(LOCAL:0, GATHERING_SPOT(CFLAG:MASTER:현재위치)) >= 1 && ITEM:(LOCAL:0) != 99 && GATHERING_SEASON(LOCAL:0)
		LOCAL:5 = ITEMPRICE:(LOCAL:0) + 1000
		;채집 파워＋보정치가 √ 아이템 비용+1000을 웃돌면 입수
		IF 채집파워 + 토지의은혜 >= SQRT(LOCAL:5)
			채집물 = LOCAL:0
			;가격 10000을 넘는 희소 아이템은 1개 밖에 손에 들어 오지 않는, 그것 이하의 가격대는 채집 파워에 응해 복수 입수가 가능하게
			SELECTCASE LOCAL:5
				CASE 0 TO 2000
					TFLAG:194 = MAX((RAND:(SQRT(채집파워)) - 1), 1)
				CASE 2001 TO 4000
					TFLAG:194 = MAX((RAND:(SQRT(채집파워)) - 2), 1)
				CASE 4001 TO 7000
					TFLAG:194 = MAX((RAND:(SQRT(채집파워)) - 3), 1)
				CASE 7001 TO 10999
					TFLAG:194 = MAX((RAND:(SQRT(채집파워)) - 4), 1)
				CASEELSE
					TFLAG:194 = 1
			ENDSELECT
			BREAK
		ENDIF
	ENDIF
NEXT
;시행 회수를 1회늘린다
LOCAL:4 ++
;채집물이 마음에 들지 않는 경우는 당겨 수선
IF 채집물 != 0
	SETCOLOR 0x00FF00
	PRINTFORM %ITEMNAME:(채집물)%
	RESETCOLOR
	PRINTFORML %조사만처리(ITEMNAME:(채집물),"가")% 발견되었다. 채집합니까?
	CALL ASK_YN
	IF !RESULT
		CLEARLINE 4
	ELSE
		CLEARLINE 4
		채집물 = 0
		TFLAG:194 = 0
		REPEAT 5
			REUSELASTLINE  \@ CHARA ? %조사처리(CALLNAME:CHARA,"와")% 함께 #  \@채집중.%"." * COUNT%
			TWAIT 150, 1
		REND
	ENDIF
ENDIF

;시행 회수 3회 이하로 채집물이 확보되어 있지 않은 경우는 루프
SIF LOCAL:4 <= 3 && 채집물 == 0
	GOTO TREASURSARCH

; 아이템 입수 처리 99개 이상이 되지 않도록 한다
IF 채집물 != 0
	IF ITEM:(채집물) + TFLAG:194 > 99
		ITEM:(채집물) = 99
	ELSE
		ITEM:(채집물) += TFLAG:194
	ENDIF
ENDIF

;기본경험
EXP:MASTER:채집경험 ++
SIF CHARA
	EXP:CHARA:채집경험 ++

SIF ITEM:108 && !RAND:2
	EXP:MASTER:채집경험 ++

SIF ABL:MASTER:교양 <= 2
	EXP:MASTER:학습경험 ++

;능력차이로 가르쳐 받는·가르쳐 준다
IF 채집파워M >= 채집파워T && CHARA
	EXP:CHARA:채집경험 ++
ELSEIF CHARA
	EXP:MASTER:채집경험 ++
ENDIF
IF ABL:MASTER:교양 >=  ABL:CHARA:교양 && CHARA
	EXP:CHARA:학습경험 ++
ELSEIF CHARA
	EXP:MASTER:학습경험 ++
ENDIF

;데이트 경험
IF CHK_DATENOW(CFLAG:CHARA:데이트중) && CHARA > 0
	EXP:MASTER:데이트경험 ++
	EXP:CHARA:데이트경험 ++
ENDIF

;시간 정지시는 TSP감
IF FLAG:70
	BASE:MASTER:TSP -= 120
ELSE
	;시간 경과
	TIME += 60
	;체력 감소는 전투 능력에 의해 감소 억제
	DOWNBASE:MASTER:체력 = 180 - (ABL:MASTER:전투능력 * 15)
	DOWNBASE:MASTER:기력 = 150
ENDIF

;참가자의 소스, 동일 커맨드 제한을 받지 않기 때문에 소극적으로, 발견되지 않으면 반감
IF CHARA > 0
	;고정으로 획득하는 소스
	SOURCE:CHARA:환락 = 300
	SOURCE:CHARA:사랑 = 50

	;ABL:순종을 본다
	IF ABL:순종 <= 1
		SOURCE:CHARA:환락 += (ABL:순종 * 40)
		SOURCE:CHARA:사랑 += (ABL:친밀 * 20)
	ELSEIF ABL:순종 <= 3
		SOURCE:CHARA:환락 += 200 + (ABL:순종 * 40)
		SOURCE:CHARA:사랑 += 50 + (ABL:친밀 * 30)
	ELSEIF ABL:순종 <= 5
		SOURCE:CHARA:환락 += 500 + (ABL:순종 * 40)
		SOURCE:CHARA:사랑 += 200 + (ABL:친밀 * 30)
	ELSEIF ABL:순종 <= 8
		SOURCE:CHARA:환락 += 750 + (ABL:순종 * 60)
		SOURCE:CHARA:사랑 += 300 + (ABL:친밀 * 40)
	ELSEIF ABL:순종 <= 11
		SOURCE:CHARA:환락 += 1000 + (ABL:순종 * 60)
		SOURCE:CHARA:사랑 += 600 + (ABL:친밀 * 40)
	ELSE
		SOURCE:CHARA:환락 += 1600 + (ABL:순종 * 30)
		SOURCE:CHARA:사랑 += 1000 + (ABL:친밀 * 20)
	ENDIF
	SIF CHARA != FLAG:데이트상대
		SOURCE:CHARA:사랑 = 0

	;호감도는 보지 않는다

	SOURCE:CHARA:수동 = 200 + 100 * ABL:순종
	SOURCE:CHARA:정복 = 200 + 100 * ABL:새드끼

	;채집 성과를 보는, 아이템 가격에 응해 우선 설정
	IF 채집물
		SELECTCASE ITEMPRICE:(채집물)
			CASE 1 TO 499
				TIMES SOURCE:CHARA:환락 , 1.00
				TIMES SOURCE:CHARA:수동 , 1.00
				TIMES SOURCE:CHARA:정복 , 1.00
				SOURCE:CHARA:달성 = 80
			CASE 500 TO 999
				TIMES SOURCE:CHARA:환락 , 1.10
				TIMES SOURCE:CHARA:수동 , 1.10
				TIMES SOURCE:CHARA:정복 , 1.10
				SOURCE:CHARA:달성 = 115
			CASE 1000 TO 2999
				TIMES SOURCE:CHARA:환락 , 1.25
				TIMES SOURCE:CHARA:수동 , 1.25
				TIMES SOURCE:CHARA:정복 , 1.15
				SOURCE:CHARA:달성 = 125
			CASE 3000 TO 5999
				TIMES SOURCE:CHARA:환락 , 1.50
				TIMES SOURCE:CHARA:수동 , 1.50
				TIMES SOURCE:CHARA:정복 , 1.25
				SOURCE:CHARA:달성 = 150
			CASE 6000 TO 9999
				TIMES SOURCE:CHARA:환락 , 1.75
				TIMES SOURCE:CHARA:수동 , 1.75
				TIMES SOURCE:CHARA:정복 , 1.50
				SOURCE:CHARA:달성 = 200
			CASE 10000 TO 14999
				TIMES SOURCE:CHARA:환락 , 2.00
				TIMES SOURCE:CHARA:수동 , 2.00
				TIMES SOURCE:CHARA:정복 , 1.75
				SOURCE:CHARA:달성 = 300
			CASEELSE
				TIMES SOURCE:CHARA:환락 , 2.25
				TIMES SOURCE:CHARA:수동 , 2.25
				TIMES SOURCE:CHARA:정복 , 2.00
				SOURCE:CHARA:달성 = 350
		ENDSELECT
	;발견되지 않는다
	ELSE
		TIMES SOURCE:CHARA:환락 , 0.50
		TIMES SOURCE:CHARA:수동 , 0.50
		TIMES SOURCE:CHARA:정복 , 0.50
	ENDIF
	;채집물의 캐릭터에게 응한 고유 반응（덧쓰기）
	SELECTCASE 채집물
		;개구리
		CASE 706
		;치르노
			IF CHARA == [[치르노]]
				TIMES SOURCE:CHARA:환락 , 2.00
				TIMES SOURCE:CHARA:수동 , 2.00
				TIMES SOURCE:CHARA:정복 , 2.00
			;스와코
			ELSEIF CHARA == [[스와코]]
				TIMES SOURCE:CHARA:환락 , 0.50
				TIMES SOURCE:CHARA:수동 , 0.50
				TIMES SOURCE:CHARA:정복 , 0.50
			ELSE
				TIMES SOURCE:CHARA:환락 , 1.25
				TIMES SOURCE:CHARA:수동 , 1.00
				TIMES SOURCE:CHARA:정복 , 1.00
			ENDIF
			SOURCE:CHARA:달성 = 110
	ENDSELECT
ENDIF

;플래그 인도
TFLAG:SELECTCOM분기 = 채집물

RETURN 1

;-------------------------------------------------
;실행 가능 판정
;-------------------------------------------------
;채집한다
@COM_ABLE445
SIF !TFLAG:100
	RETURN 0
;일괄관리
SIF GLOBAL_COMABLE(445)
	RETURN RESULT
;채집할 수 있는 장소이다
SIF !GATHERING_SPOT(CFLAG:MASTER:현재위치)
	RETURN 0
;데이트중은 데이트 상대와 만
SIF FLAG:데이트상대 && TARGET != FLAG:데이트상대
	RETURN 0
;수면중
SIF CFLAG:MASTER:수면
	RETURN 0
SIF CFLAG:우후후
	RETURN 0
;체력·기력 부족
SIF BASE:MASTER:기력 < 650 || BASE:MASTER:체력 < 680
	RETURN 0
;시간 정지중도 가능（가짜）
;SIF FLAG:70
;	RETURN 0
RETURN 1

;-----------------------------------------------------------
;현재 위치로부터 채집 스팟을 산출하는 함수
;ARG		현재 위치
;RETURN		0 해당 없음	1～30숲, 초원	31～60 수계		61～ 특수
;COMMENT	장소를 추가했을 경우, CASE를 변경의 일
;-----------------------------------------------------------
@GATHERING_SPOT(ARG)
#FUNCTION
IF !AT_HOME(MASTER)
;서브 맵 따위에서의 판정
	SELECTCASE ARG
		CASE 수호신의숲
			SIF MAIN_MAP != 0
				RETURNF 1
		CASE 사각의죽림		;430메인 맵에서는 「지하실」을 지정하기 위해(때문에) 제외
			SIF MAIN_MAP != 4
				RETURNF 2
		CASE 무명의언덕
			RETURNF 3
		CASE 태양의밭
			RETURNF 4
		CASE 재고의길
			RETURNF 5
		CASE 고목의큰나무		;530
			SIF MAIN_MAP != 5
				RETURNF 6
		CASE 630	;삼도천～명계에 있어서의 마요히가메인맙 실장시에는 고쳐 쓸 필요 있을지도
			RETURNF 7
		CASE 740	;요괴의산·산록에 있어서의 마요히가
			SIF MAIN_MAP != 7
				RETURNF 7
		CASE 피안
			RETURNF 8
		CASE 산록의수해
			SIF MAIN_MAP != 7
				RETURNF 11
		CASE 절경의언덕
			SIF MAIN_MAP != 8
			RETURNF 12
		CASE 천계
			RETURNF 13
		CASE 복숭아숲～모래사장
			RETURNF 14
		CASE 안개의호수
			SIF MAIN_MAP != 3
				RETURNF 31
		CASE 삼도천
			RETURNF 32
		CASE 현무의늪
			SIF MAIN_MAP != 7
				RETURNF 33
		CASE 큰두꺼비의연못
			SIF MAIN_MAP != 7
				RETURNF 34
		CASE 구천의폭포
			SIF MAIN_MAP != 8
				RETURNF 35
		CASE 산의호수
			SIF MAIN_MAP != 8
				RETURNF 36
		CASE 지옥의깊은길
			SIF MAIN_MAP != 9
				RETURNF 37
		CASE 묘지
			RETURNF 61
		CASE 무연총
			RETURNF 62
		CASE 간헐천지하센터
			RETURNF 64
		CASE 작열지옥터
			RETURNF 65
		CASE 회안통로
			SIF MAIN_MAP != 9
				RETURNF 66
		CASE 고요의바다
			RETURNF 67
	ENDSELECT
ELSE
	;メインマップでの判定
	SELECTCASE MAIN_MAP
		CASE 0
			;博霊神社：수호신의 숲
			SIF ARG == 25
				RETURNF 1
		CASE 1
			;명련사:묘지
			SIF ARG == 121
				RETURNF 61
		CASE 3
			;홍마관:호숫가
			SIF ARG == 343
				RETURNF 31
		CASE 4
			;영원정:사각의죽림, 무명의언덕, 태양의 밭
			SELECTCASE ARG
				CASE 433
					RETURNF 2
				CASE 436
					RETURNF 3
				CASE 438
					RETURNF 4
			ENDSELECT
		CASE 5
			;마법의숲:무연총, 버섯 군생지, 재고의길, 고목의 큰나무
			SELECTCASE ARG
				CASE 506
					RETURNF 62
				CASE 507
					RETURNF 63
				CASE 509
					RETURNF 5
				CASE 540
					RETURNF 6
			ENDSELECT
		CASE 7
			;요괴의산 산록:늪에 계속되는 길, 현무의 늪, 중턱, 대두꺼비의 연못
			SELECTCASE ARG
				CASE 702
					RETURNF 9
				CASE 703
					RETURNF 33
				CASE 705
					RETURNF 10
				CASE 708
					RETURNF 34
			ENDSELECT
		CASE 8
			;요괴의산 산정:정상, 폭포의 뒤, 호숫가, 도원
			SELECTCASE ARG
				CASE 805
					RETURNF 12
				CASE 806
					RETURNF 35
				CASE 814
					RETURNF 36
				CASE 833
					RETURNF 13
			ENDSELECT
		CASE 9
			;지저:작열 지옥자취, 강가, 세로구멍의 바닥
			SELECTCASE ARG
				CASE 928
					RETURNF 65
				CASE 945
					RETURNF 37
				CASE 948
					RETURNF 66
			ENDSELECT
	ENDSELECT
ENDIF
RETURNF 0

;-------------------------------------------------
;그 채집 스팟에서의 채집물의 출현 판정을 하는 함수
; 아이템 번호 ARG:0
;GATHERING_SPOT(ARG)의 돌아가 값ARG:1（채집 스팟）  의
;출현 가부를 숫자로 돌려주는 출현==1비출현==0
; 아이템을 추가했을 경우는, GROUPMATCH내에 각각 덧붙여 씀
;-------------------------------------------------
@GATHERING_PRODUCT(ARG:0, ARG:1)
#FUNCTION

SELECTCASE ARG:1
	;고장을 지키는 신 숲, 요정의 큰 나무
	CASE 1
		SIF GROUPMATCH(ARG:0, 600, 601, 602, 607, 608, 611, 612, 616, 619, 621, 622, 626, 627, 628, 636)
			RETURNF 1
	;경사각의 대나무숲
	CASE 2
		SIF GROUPMATCH(ARG:0, 607, 608, 611, 612, 613, 618, 619, 629, 635, 640)
			RETURNF 1
	;무명의 언덕
	CASE 3
		SIF GROUPMATCH(ARG:0, 600, 601, 602, 603, 612, 616, 620, 626, 627, 631, 636, 638)
			RETURNF 1
	;태양의 밭
	CASE 4
		SIF GROUPMATCH(ARG:0, 612, 613, 614, 615, 617, 618, 619, 620, 623, 624, 626, 627)
			RETURNF 1
	;재고의 길
	CASE 5
		SIF GROUPMATCH(ARG:0, 612, 614, 619, 624, 631, 632, 638)
			RETURNF 1
	;고목의 큰 나무
	CASE 6
		SIF GROUPMATCH(ARG:0, 600, 601, 602, 603, 604, 605, 607, 608, 611, 612, 616, 618, 621, 622, 623, 625, 626, 627, 628)
			RETURNF 1
	;마요히가
	CASE 7
		SIF GROUPMATCH(ARG:0, 600, 601, 602, 603, 607, 608, 611, 612, 616, 617, 619, 621, 622, 626, 627, 628)
			RETURNF 1
	;피안
	CASE 8
		SIF GROUPMATCH(ARG:0, 600, 601, 607, 608, 612, 614, 620, 624, 638)
			RETURNF 1
	;산길·늪에 계속되는 길
	CASE 9
		SIF GROUPMATCH(ARG:0, 600, 601, 602, 607, 608, 611, 612, 616, 617, 621, 622, 626, 627, 628, 636)
			RETURNF 1
	;산길·중턱
	CASE 10
		SIF GROUPMATCH(ARG:0, 611, 613, 616, 619, 621, 622, 623, 633)
			RETURNF 1
	;산기슭의 수해
	CASE 11
		SIF GROUPMATCH(ARG:0, 600, 601, 602, 607, 608, 611, 612, 613, 616, 617, 619, 621, 622, 623, 626, 627, 628, 633)
			RETURNF 1
	;절경의 언덕, 정상
	CASE 12
		SIF GROUPMATCH(ARG:0, 602, 603, 607, 608, 611, 612, 615, 616, 619, 621, 622, 625, 626, 627, 628)
			RETURNF 1
	;천계, 도원
	CASE 13
		SIF GROUPMATCH(ARG:0, 615, 623, 630)
			RETURNF 1
	;도림～모래 사장
	CASE 14
		SIF GROUPMATCH(ARG:0, 607, 608, 613, 615, 617, 618, 624, 625, 630)
			RETURNF 1
	;안개호, 호숫가(홍마관)
	CASE 31
		SIF GROUPMATCH(ARG:0, 606, 607, 608, 609, 611, 612, 617, 624, 633, 706)
			RETURNF 1
	;삼도천
	CASE 32
		SIF GROUPMATCH(ARG:0, 607, 608, 612, 614, 631, 638, 706)
			RETURNF 1
	;현무의 늪
	CASE 33
		SIF GROUPMATCH(ARG:0, 606, 607, 609, 611, 612, 618, 635, 706)
			RETURNF 1
	;대두꺼비의 연못
	CASE 34
		SIF GROUPMATCH(ARG:0, 604, 612, 620, 631, 636, 706)
			RETURNF 1
	;구천의 폭포, 폭포의 뒤
	CASE 35
		SIF GROUPMATCH(ARG:0, 600, 601, 602, 606, 609, 611, 613, 631, 634, 706)
			RETURNF 1
	;산의 호수, 호숫가（요괴의산 산정）
	CASE 36
		SIF GROUPMATCH(ARG:0, 606, 607, 609, 611, 612, 618, 632, 706)
			RETURNF 1
	;지옥의 후카미치, 강가
	CASE 37
		SIF GROUPMATCH(ARG:0, 600, 601, 602, 604, 606, 609, 620, 631, 633, 636, 706)
			RETURNF 1
	;묘지
	CASE 61
		SIF GROUPMATCH(ARG:0, 600, 601, 602, 604, 614, 620, 631, 636, 638)
			RETURNF 1
	;무연총
	CASE 62
		SIF GROUPMATCH(ARG:0, 604, 606, 609, 631, 634, 635, 636, 638)
			RETURNF 1
	;버섯 군생지
	CASE 63
		SIF GROUPMATCH(ARG:0, 600, 601, 602, 603, 604, 605, 605, 629)
			RETURNF 1
	;간헐천 지하 센터
	CASE 64
		SIF GROUPMATCH(ARG:0, 632, 634, 637)
			RETURNF 1
	;작열 지옥자취
	CASE 65
		SIF GROUPMATCH(ARG:0, 631, 634, 635, 637, 638)
			RETURNF 1
	;환상 바람구멍, 세로구멍의 바닥
	CASE 66
		SIF GROUPMATCH(ARG:0, 602, 604, 631, 632, )
			RETURNF 1
	;정인가의 바다
	CASE 67
		SIF GROUPMATCH(ARG:0, 639)
			RETURNF 1
ENDSELECT
RETURNF 0

;-------------------------------------------------
;채집물의 계절마다의 출현 판정
; 아이템 번호 ARG:0의 계절마다의
;출현 가부를 숫자로 돌려주는 함수 출현==1비출현==0
; 아이템을 추가했을 경우는, CASE에 덧붙여 씀
;-------------------------------------------------
@GATHERING_SEASON(ARG:0)
#FUNCTION

SELECTCASE DAY:2
	;봄:
	CASE 1
		SELECTCASE ARG:0
			CASE 600 TO 602, 604 TO 608, 610 TO 613, 616, 618 TO 627, 629, 631 TO 640, 706
				RETURNF 1
		ENDSELECT
	;여름
	CASE 2
		SELECTCASE ARG:0
			CASE 600 TO 601, 603, 606 TO 608, 612 TO 613, 618 TO 627, 630 TO 640, 706
				RETURNF 1
		ENDSELECT
	;가을
	CASE 3
		SELECTCASE ARG:0
			CASE 600 TO 608, 611 TO 614, 616 TO 623, 625 TO 628, 631 TO 640, 706
				RETURNF 1
		ENDSELECT
	;동
	CASE 4
		;천계, 지저, 달과 버섯 군생지는 여름으로 간주해 채집 가능
		IF GROUPMATCH(GATHERING_SPOT(CFLAG:MASTER:현재위치), 13, 14, 37, 63, 64, 65, 66, 67)
			SELECTCASE ARG:0
				CASE 600 TO 601, 603, 606 TO 608, 612 TO 613, 618 TO 627, 630 TO 640, 706
					RETURNF 1
			ENDSELECT
		ELSE
			SELECTCASE ARG:0
				CASE 606, 609, 615, 620, 631 TO 635, 637 TO 640
					RETURNF 1
			ENDSELECT
		ENDIF
ENDSELECT
RETURNF 0

@SHOW_GATHERING_LIST
#DIM PLACE
PRINTFORML 採集場所一覧
CALL COLORMESSAGE(@"中級素材　",C_YELLOW)
CALL COLORMESSAGE(@"高級素材　",C_P_GREEN)
CALL COLORMESSAGE(@"最高級素材",C_AQUA)
PRINTFORML
DRAWLINE
PRINTFORMLC [1] 수호신의 숲・요정의 큰나무
PRINTFORMLC [2] 사각의 죽림
PRINTFORMLC [3] 무명의 언덕
PRINTFORMLC [4] 태양의 밭
PRINTFORMLC [5] 재고의 길
PRINTFORMLC [6] 고목의 큰나무
PRINTFORMLC [7] 마요히가
PRINTFORMLC [8] 피안
PRINTFORMLC [9] 산길·늪으로 가는 길
PRINTFORMLC [10] 산길·산비탈
PRINTFORMLC [11] 산기슭 수해
PRINTFORMLC [12] 절경의 언덕、정상
PRINTFORMLC [13] 천계、도원
PRINTFORMLC [14] 복숭아숲～모래사장
PRINTFORMLC [31] 안개의 호수、호숫가(紅魔館)
PRINTFORMLC [32] 삼도천
PRINTFORMLC [33] 현무의 늪
PRINTFORMLC [34] 큰두꺼비 연못
PRINTFORMLC [35] 구천의 폭포、폭포 뒤
PRINTFORMLC [36] 산의 호수、호숫가（妖怪の山山頂）
PRINTFORMLC [37] 지옥의 깊은길、강가
PRINTFORMLC [61] 묘지
PRINTFORMLC [62] 무연총
PRINTFORMLC [63] 버섯 군생지
PRINTFORMLC [64] 지하 간헐천 센터
PRINTFORMLC [65] 작열지옥터
PRINTFORMLC [66] 환상풍혈、수혈의 바닥
PRINTFORMLC [67] 고요의 바다
PRINTFORML
DRAWLINE
PRINTFORML [99] やめる
INPUT
PLACE = RESULT
SELECTCASE PLACE
	CASE 99
		RETURN -1
	CASEELSE
		CALL SHOW_GATHERING_ITEM(PLACE)
		PRINTFORMW
		CLEARLINE 1
		RESTART
ENDSELECT

@SHOW_GATHERING_LIST_SELECT(PLACE)
#DIM PLACE
DRAWLINE
PRINTFORML 採集可能物一覧
CALL COLORMESSAGE(@"中級素材　",C_YELLOW)
CALL COLORMESSAGE(@"高級素材　",C_P_GREEN)
CALL COLORMESSAGE(@"最高級素材",C_AQUA)
PRINTFORML
DRAWLINE

SELECTCASE PLACE
	CASE 99
		RETURN -1
	CASEELSE
		CALL SHOW_GATHERING_ITEM(PLACE)
		PRINTFORML
		DRAWLINE
		PRINTFORMW
ENDSELECT

@SHOW_GATHERING_ITEM(PLACE)
#DIM PLACE

FOR LOCAL,600,710
	IF GATHERING_PRODUCT(LOCAL, PLACE)
		LOCALS = %ITEMNAME:LOCAL%
		IF ITEMPRICE:LOCAL >= 1000
			SETCOLOR C_YELLOW
			SIF ABL:MASTER:교양 < 1
				LOCALS = ？？？
		ENDIF
		IF ITEMPRICE:LOCAL >= 3000
			SETCOLOR C_P_GREEN
			SIF ABL:MASTER:교양 < 2
				LOCALS = ？？？
		ENDIF
		IF ITEMPRICE:LOCAL >= 10000
			SETCOLOR C_AQUA
			SIF ABL:MASTER:교양 < 3
				LOCALS = ？？？
		ENDIF
		;季節条件を満たしていない場合は灰色表記に
		SIF !GATHERING_SEASON(LOCAL)
			SETCOLOR 0x606060

		PRINTFORM %LOCALS%
	ENDIF
	RESETCOLOR
NEXT

;-----------------------------
;引数で指定した価格範囲内の素材の中からランダムに入手
;-----------------------------
@GetRandMaterial(QYT, PriceRange:0, PriceRange:1)
#DIM PriceRange, 2
#DIM cArray, 100
#DIM cNumber
#DIM Chosen
#DIM QYT
cNumber = 0
FOR LOCAL, 600, 700
	SIF ITEMNAME:LOCAL == ""
		CONTINUE
	;아이템価格上限
	SIF ITEMPRICE:LOCAL > PriceRange:0
		CONTINUE
	;下限は省略可
	SIF ITEMPRICE:LOCAL < PriceRange:1
		CONTINUE
	SIF ITEM:LOCAL >= 99
		CONTINUE
	cArray:cNumber = LOCAL
	cNumber ++
NEXT
SIF !cNumber
	RETURN

FOR LOCAL,0,QYT
	Chosen = RAND:cNumber
	ITEM:Chosen ++
	CALL COLORMESSAGE(@"%ITEMNAME:Chosen%を手に入れた",C_YELLOW,1)
NEXT

path: ERB/커맨드관련/COMF/일상계/COMF445 채집한다_t.ERB