code:
@ITEM_BUY(ARG)
#DIM LC
;모두의 것↓은 거동 확인용 같았기 때문에 없고 좋다
;PRINTFORML {ITEMSALES:62}
CALL ITEM_SALES

DRAWLINE
LC = LINECOUNT
CALL LIST_ITEM("모두")
SIF LC != LINECOUNT
	DRAWLINE
;우선 무조건 전부 표시로 했지만 TYPE 지정도 가능
PRINTFORML 구입할 아이템을 선택해주세요 소지금 :\\%TOSTR(MONEY,"#,###")%
	CALL SHOW_ITEM
DRAWLINE
;ARG는 아마 캇파로부터의 도구 구입의 아쉬움? (할인 구입의 흔적이)(으)로 사용하지 않지만 그대로
SIF !ARG
	PRINTL [200] - 조교 아이템　[300] - 소모품　[400] - 일용품　[500] - 음식물　[600] - 소질　[700] - 체질 변화
PRINT [999] - 모두 표시　　　[100] - 돌아간다

;먼저 공통 처리
;SHOP 구입 가능한 ITEM를 추가하면(자) 무효 범위를 맞추는 것
DO
	INPUT
	LOCAL = RESULT
	SELECTCASE LOCAL
	CASE 100
		RETURN 0
	CASE 999
		TFLAG:표시아이템종류 = 0
		RESTART
	CASE 200, 300, 400, 500, 600, 700
		TFLAG:표시아이템종류 = LOCAL / 100
		RESTART
	CASE IS < 0, IS > 100, 58, 59, 61, 71, 72, 74, 77, 78
		; 무효 범위
	CASEELSE
		SIF !ITEM_TYPE(LOCAL, TFLAG:표시아이템종류)
			CONTINUE
		SELECTCASE ITEMSTOCK(LOCAL)
		CASE 1, 4
			;
		CASE 2
			REUSELASTLINE 품절입니다
			;
		CASE 3
			REUSELASTLINE 소지금이 충분하지 않습니다
			;
		CASE 5
			REUSELASTLINE 이미 충분히 가지고 있습니다
			;
		CASEELSE
			; 다음의 스텝에
			BREAK
		ENDSELECT
	ENDSELECT
LOOP 1

;구입 처리 본체
SELECTCASE LOCAL
CASE 60, 62
	PRINTFORML %ITEMNAME:LOCAL%를 습득하겠습니까?
	CALL ASK_YN
	IF !RESULT
		MONEY -= ITEMPRICE:LOCAL
		SELECTCASE LOCAL
		;CASE 61
		;	TALENT:MASTER:조합지식 = 1
		CASE 62
			TALENT:MASTER:금단의지식 = 1
		ENDSELECT
		ITEMSALES:LOCAL = -1
	ENDIF
CASE 63
	PRINTFORML 【기교UP】를 구입하겠습니까?
	CALL ASK_YN
	IF !RESULT
		MONEY -= ITEMPRICE:LOCAL
		ABL:MASTER:기교 += 1
	ENDIF
CASE 64
	PRINTFORML 【기교DOWN】를 구입하겠습니까?
	CALL ASK_YN
	IF !RESULT
		MONEY -= ITEMPRICE:LOCAL
		ABL:MASTER:기교 -= 1
	ENDIF
CASE 65
	PRINTFORML 【오명반납】을 구입하겠습니까?
	CALL ASK_YN
	IF !RESULT
		MONEY -= ITEMPRICE:LOCAL
		CFLAG:MASTER:329 -= 1
	ENDIF
CASE 66
	PRINTFORML 【악취내성UP】를 구입하겠습니까?
	CALL ASK_YN
	IF !RESULT
		MONEY -= ITEMPRICE:LOCAL
		TALENT:MASTER:61 += 1
	ENDIF
CASE 67
	PRINTFORML 【악취내성DOWN】를 구입하겠습니까?
	CALL ASK_YN
	IF !RESULT
		MONEY -= ITEMPRICE:LOCAL
		TALENT:MASTER:61 -= 1
	ENDIF
;CASE 71
;	PRINTFORML 【약의재료(쌍)】를 구입하겠습니까?
;	CALL ASK_YN
;	SIF RESULT
;		RESTART
;	PRINTL 누구에게 사용하겠습니까?
;	CALL SHOW_CHARA_LIST("여자")
;	LOCAL:1 = RESULT
;	SELECTCASE LOCAL:1
;	CASE 999
;	CASEELSE
;		PRINTFORMW %CALLNAME:(LOCAL:1)%는 후타나리가 되었습니다
;		MONEY -= ITEMPRICE:LOCAL
;		TALENT:(LOCAL:1):성별 |= 2
;		MAXBASE:(LOCAL:1):2 = 10000
;		MAXBASE:(LOCAL:1):정력 = 1000
;		MAXBASE:(LOCAL:1):발기 = 1500
;		SIF BASE:(LOCAL:1):정력 > 1000
;			BASE:(LOCAL:1):정력 = 1000
;	ENDSELECT
;CASE 72
;	PRINTFORML 【약의재료(소)】를 구입하겠습니까?
;	CALL ASK_YN
;	SIF RESULT
;		RESTART
;	PRINTL 누구에게 사용하겠습니까?
;	CALL SHOW_CHARA_LIST("후타나리")
;	LOCAL:1 = RESULT
;	SELECTCASE LOCAL:1
;	CASE 999
;	CASEELSE
;		PRINTFORMW %CALLNAME:(LOCAL:1)%는 여자아이가 되었습니다
;		MONEY -= ITEMPRICE:LOCAL
;		TALENT:(LOCAL:1):성별 = 1
;		MAXBASE:(LOCAL:1):2 = 0
;		MAXBASE:(LOCAL:1):정력 = 0
;	ENDSELECT
;CASE 73
;	PRINTFORML 【푸른 캔디】를 구입하겠습니까?
;	CALL ASK_YN
;	SIF RESULT
;		RESTART
;	PRINTL 누구에게 사용하겠습니까?
;	FOR LOCAL:1, 0, CHARANUM
;		SIF TALENT:(LOCAL:1):성별 == 2
;			CONTINUE
;		SIF TALENT:(LOCAL:1):모유체질
;			CONTINUE
;		SIF CFLAG:(LOCAL:1):출금
;			CONTINUE
;		PRINTFORML [{LOCAL:1, 3}] - %CALLNAME:(LOCAL:1)%
;	NEXT
;	PRINTFORML
;	PRINTL [999] - 돌아간다
;	DO
;		INPUT
;		LOCAL:1 = RESULT
;		SELECTCASE LOCAL:1
;		CASE 999
;			BREAK
;		CASE 0 TO CHARANUM - 1
;			SIF TALENT:(LOCAL:1):성별 == 2
;				BREAK
;			SIF TALENT:(LOCAL:1):모유체질
;				BREAK
;			SIF CFLAG:(LOCAL:1):출금
;				BREAK
;			PRINTFORMW %CALLNAME:(LOCAL:1)%는 [모유체질]을 얻었습니다
;			MONEY -= ITEMPRICE:LOCAL
;			TALENT:(LOCAL:1):모유체질 = 1
;			BREAK
;		ENDSELECT
;	LOOP 1
;CASE 74
;	PRINTFORML 【붉은 캔디】를 구입하겠습니까?
;	CALL ASK_YN
;	SIF RESULT
;		RESTART
;	PRINTL 누구에게 사용하겠습니까?
;	CALL SHOW_CHARA_LIST("비처녀")
;	LOCAL:1 = RESULT
;	SELECTCASE LOCAL:1
;	CASE 999
;	CASEELSE
;		PRINTFORMW %CALLNAME:(LOCAL:1)%의 처녀막이 재생했습니다
;		MONEY -= ITEMPRICE:LOCAL
;		TALENT:(LOCAL:1):처녀 = 2
;	ENDSELECT
;CASE 77
;	PRINTFORML 【갈색의캔디】를 구입하겠습니까?
;	CALL ASK_YN
;	SIF RESULT
;		RESTART
;	PRINTL 누구에게 사용하겠습니까?
;	CALL SHOW_CHARA_LIST("인간귀")
;	LOCAL:1 = RESULT
;	SELECTCASE LOCAL:1
;	CASE 999
;	CASEELSE
;		PRINTFORML [4]고양이 귀
;		PRINTFORML [3]강아지 귀
;		PRINTFORML [2]토끼 귀
;		PRINTFORML [1]동물귀
;		PRINTFORML
;		PRINTFORML [0]역시 그만두고
;		DO
;			INPUT
;			SELECTCASE RESULT
;			CASE 0
;				RESTART
;			CASE 1, 2, 3, 4
;				MONEY -= ITEMPRICE:LOCAL
;				TALENT:(LOCAL:1):동물귀 = RESULT
;				PRINTFORMW %CALLNAME:(LOCAL:1)%에게 %GET_TALENTNAME(GETNUM(TALENT, "동물귀"), TALENT:(LOCAL:1):동물귀)%가 났습니다
;				BREAK
;			CASEELSE
;			ENDSELECT
;		LOOP 1
;	ENDSELECT
;CASE 78
;	PRINTFORML 【물색의캔디】를 구입하겠습니까?
;	CALL ASK_YN
;	SIF RESULT
;		RESTART
;	PRINTL 누구에게 사용하겠습니까?
;	CALL SHOW_CHARA_LIST("케모미미")
;	LOCAL:1 = RESULT
;	SELECTCASE LOCAL:1
;	CASE 999
;	CASEELSE
;		PRINTFORMW %CALLNAME:(LOCAL:1)%의 %GET_TALENTNAME(GETNUM(TALENT, "동물귀"), TALENT:(LOCAL:1):동물귀)%가 사라졌습니다
;		MONEY -= ITEMPRICE:LOCAL
;		TALENT:(LOCAL:1):동물귀 = 0
;	ENDSELECT
CASE 95
	PRINTFORML 과자상자를 구입하겠습니까?
	CALL ASK_YN
	IF !RESULT
		MONEY -= ITEMPRICE:LOCAL
		ITEM:LOCAL ++
	ENDIF
CASE 99
	PRINTFORML 약혼반지를 구입하겠습니까?
	CALL ASK_YN
	IF !RESULT
		MONEY -= ITEMPRICE:LOCAL
		ITEM:LOCAL ++
	ENDIF
CASE 98
	SELECTCASE  ITEM:주택
		CASE 0
			PRINTFORML 주택을 구입하겠습니까?
		CASE 1
			PRINTFORML 저택으로 증축하겠습니까?
		CASE 2,3
			PRINTFORML 더욱 증축하겠습니까?
	ENDSELECT
	CALL ASK_YN
	IF !RESULT
		SELECTCASE  ITEM:주택
		CASE 1
			MONEY -= ITEMPRICE:LOCAL*3
			ITEM:LOCAL ++
			CALL SET_MAINHOME()
		CASE 2,3
			MONEY -= ITEMPRICE:LOCAL*3
			ITEM:LOCAL ++
			CALL SET_MAINHOME()
		CASEELSE
			MONEY -= ITEMPRICE:LOCAL
		ITEM:LOCAL ++
		ENDSELECT
	ENDIF
CASE 94
	PRINTFORML 【크리스마스선물】을 구입하겠습니까?
	CALL ASK_YN
	IF !RESULT
		MONEY -= ITEMPRICE:LOCAL
		ITEM:LOCAL ++
		PRINTFORML 선물을 샀습니다
		PRINTFORMW 동의 24 기한정 데, 데이트 안에 건네줄 수 있습니다
	ENDIF

;통계 구매는 할 수 있는 편이 좋은 것인지 정제 한다면 할 수 있는 것은 이상해 의 것인지
;대량으로 사용하는 것이라도 없음 그렇고? 그렇다고 하는 것으로 현상의 처리를 계승한다
;여기의 분기를 코멘트 아웃 하면 정리하고 구매 가능
CASE 41
	MONEY -= ITEMPRICE:LOCAL
	ITEM:LOCAL ++
	PRINTW 미약을 정제 했습니다
	RESTART

;복수 소지 아이템
CASE 40 TO 60, 91, 92,
	CALL ITEM_MATOMEGAI(LOCAL)
;단품 아이템
CASE 0 TO 39
	PRINTFORML %ITEMNAME:LOCAL%를 구입하겠습니까?
	CALL ASK_YN
	IF !RESULT
		ITEM:LOCAL ++
		IF ARG == 1
			MONEY -= ITEMPRICE:LOCAL / 3
		ELSE
			MONEY -= ITEMPRICE:LOCAL
		ENDIF
		IF LOCAL == 36 && ITEM:망가진우산
			PRINTFORMW 새로운 것을 샀으므로 망가진우산은 처분했습니다
			ITEM:망가진우산 = 0
		ENDIF
		SETBIT FLAG:아이템구입끝난상태, LOCAL
		RESTART
	ENDIF
ENDSELECT
RESTART

;----------------------------------------------------------------------
;  메뉴의 통신 판매로 사용되는 항목의 표시 메뉴
;	ARGS:0 는 표시 아이템의 타입
;	ARG:0 (DISCOUNT)는 캇파용
@SHOW_ITEM, ARGS:0 = "SHOP", ARG:0 = 1
#DIM DISCOUNT
#DIM WIDTH
#DIM 항목수
#DIM LOOP_LO
#DIM LOOP_HI
DISCOUNT = MAX( 1, ARG:0 )

DRAWLINE
WIDTH = GETCONFIG("PRINTCの文字数")
항목수 = 0
CALL ITEM_RANGE, ARGS
LOOP_LO = RESULT:0
LOOP_HI = RESULT:1

FOR LOCAL, LOOP_LO, LOOP_HI
	;표시하지 않는다

	;잡곡(48)을 표시시키지 않았던 것은 왜?
	;SIF LOCAL == 48
	;	CONTINUE
	;증류주와 약주를 제외해 둔다
	SIF GROUPMATCH(LOCAL, 55, 58, 59, 71, 72, 73, 74, 75, 76, 77, 78)
		CONTINUE
	SIF GROUPMATCH( ITEMSTOCK(LOCAL), 1, 4 )
		CONTINUE
	SIF ARGS:0 == "SHOP" && !ITEM_TYPE(LOCAL, TFLAG:표시아이템종류)
		CONTINUE

	LOCALS = [{LOCAL, 2}]%ITEMNAME:LOCAL%
	SELECTCASE ITEMSTOCK(LOCAL)
	;품절
	CASE 2
		LOCALS:1 = 품절
		SETCOLOR 150,150,150
	CASE 5
		LOCALS:1 =
		SETCOLOR 150,150,150
	CASEELSE
		IF LOCAL==98&&ITEM:주택>=1
			LOCALS:1 = ￥{ITEMPRICE:LOCAL*3 / DISCOUNT}
		ELSE
			LOCALS:1 = ￥{ITEMPRICE:LOCAL / DISCOUNT}
		ENDIF
	ENDSELECT
	PRINTFORM %LOCALS, WIDTH,LEFT%%LOCALS:1,7%
	RESETCOLOR
	항목수 ++
	SIF 항목수 % PRINTCPERLINE() == 0
		PRINTL
NEXT
PRINTL

;--------------------------------------------------------------
; ITEM_RANGE
;	각종류의 ITEM의 값의 범위의 최소치와 최대치+1를 RESULT:0 와 RESULT:1 로 돌려준다
;	루프를 돌리기 위한 것이므로, 범위내에서도 반드시 지정의 종별의 ITEM라고는 할 수 없다.
;	ITEM_TYPE(S)로 확인하는 것
;--------------------------------------------------------------
@ITEM_RANGE, ARGS = "", ARG = 0
#LOCALSIZE 1
#DIM LO
#DIM HI
LO = 0
HI = 1000
SIF ARGS == ""
	ARGS '= TOSTR( ARG )
SELECTCASE ARGS
CASE "모두", "0"
	;0~1000
CASE "SHOP", "1"
	LO = 0
	HI = 100
CASE "조교", "SHOP_조교", "2"
	LO = 0
	HI = 30
CASE "소모품", "SHOP_소모품", "3"
	LO = 40
	HI = 50
CASE "일용품", "SHOP_일용품", "4"
	LO = 30
	HI = 100
CASE "음식물", "SHOP_음식물", "5"
	LO = 47
	HI = 60
CASE "소질", "SHOP_소질", "6"
	LO = 60
	HI = 70
CASE "체질 변화", "SHOP_체질 변화", "7"
	LO = 70
	HI = 80

;커맨드 용
; 이하는 중복 한다
CASE "캇파 도구", "10"
	;풀장과 조교 도구
	LO = 0
	HI = 40
CASE "토끼 약품", "20"
;토끼용
	LO = 40
	HI = 600
CASE "식재료의 시장", "30"
	LO = 47
	HI = 51
CASE "술집", "40"
	LO = 51
	HI = 60

;이후, CSV를 보면서 적당하게

CASE "꽃집", "원예용품", "50"
;150~는 원예 관련
	LO = 150
	HI = 200
CASE "초콜렛", "60"
	LO = 120
	HI = 130
CASE "야채", "70"
	LO = 350
	HI = 390
CASE "그 외", "80"
;좋은 이름을 생각해내지 못했기 때문에 이것으로
;의뢰 용품이나 경품 종류 등?
	LO = 100
	HI = 260
CASE "전용", "90"
;현재 상태로서는 일종류만? (마수정의팬던트(399))
	LO = 399
	HI = 500
CASE "회복", "100"
	LO = 500
	HI = 600
CASE "소재", "110"
;600~는 소재
	LO = 600
	HI = 700
CASE "고기", "120"
;700~는 고기
	LO = 700
	HI = 800
CASE "의상", "130"
;800~는 의상?
	LO = 800
	HI = 900
CASE "특수", "140"
;900~는 제단만
;미실장이니까 어떻게 형용한 것인가 감각이 몰라
	LO = 900
	HI = 1000
ENDSELECT
RETURN LO, HI

@ITEM_TYPE(ARG, ARG:1)
#FUNCTION
SIF ARG < 0 || ARG >= 1000 || ITEMNAME:ARG == ""
	RETURNF 0
SELECTCASE ARG:1
	CASE 0
		RETURNF 1
	CASE 2	;조교
		SIF INRANGE(ARG, 0, 23 )
			RETURNF 1
	CASE 3	;소모품
		SIF INRANGE(ARG, 40, 45 ) || ARG == 49
			RETURNF 1
	CASE 4	;일용품
		SIF INRANGE(ARG, 30, 39)
			RETURNF 1
		SIF GROUPMATCH(ARG, 94, 95,99)
			RETURNF 1
	CASE 5	;"음식물"
		SIF INRANGE(ARG, 50, 59)
			RETURNF 1
		; 백미, 잡곡
		SIF GROUPMATCH(ARG, 47, 48)
			RETURNF 1
	CASE 6	;"소질"
		SIF ARG >= 60 && ARG < 70
			RETURNF 1
	CASE 7	;"체질 변화"
		SIF ARG >= 70 && ARG < 80
			RETURNF 1

	; 이하는 중복 한다
	CASE 10	;캇파 도구
		;풀장과 조교 도구
		SIF ARG == 38 || INRANGE(ARG, 0, 23)
			RETURNF 1
	CASE 20	;토끼 약품
		SIF GROUPMATCH( ARG, 40, 45, 49, 250, 252, 501, 502, 510, 520)
			RETURNF 1
	CASE 30	;식재료의 시장
		SIF GROUPMATCH( ARG, 47, 48, 50 )
			RETURNF 1
	CASE 40	;주점
		SIF INRANGE(ARG, 51, 59)
			RETURNF 1
	CASE 50	;꽃집
		SIF INRANGE(ARG, 150, 199)
			RETURNF 1
	CASE 60 ;초콜렛
		SIF INRANGE(ARG, 120, 129)
			RETURNF 1
	CASE 70 ;야채
		SIF INRANGE(ARG, 350, 389)
			RETURNF 1
	CASE 80	;"그 외"
		SIF INRANGE(ARG, 200, 259)
			RETURNF 1
		SIF GROUPMATCH(ARG, 130, 131, 140)
			RETURNF 1
		SIF INRANGE(ARG, 101, 109)	;대본을 추가
			RETURNF 1
	CASE 90	;"전용"
		SIF INRANGE(ARG, 399, 499)
			RETURNF 1
	CASE 100	;"회복"
		SIF INRANGE(ARG, 500, 599)
			RETURNF 1
	CASE 110	;"소재"
		SIF INRANGE(ARG, 600, 699)
			RETURNF 1
	CASE 120	;"고기"
		SIF INRANGE(ARG, 700, 799)
			RETURNF 1
	CASE 130	;"의상"
		SIF INRANGE(ARG, 800, 899)
			RETURNF 1
	CASE 140	;"특수"
		SIF INRANGE(ARG, 900, 999)
			RETURNF 1
ENDSELECT
RETURNF 0

;ITEM_TYPE()의 캐릭터라인에서의 타입 지정
@ITEM_TYPES, ARG:0, ARGS:0
#FUNCTION
#LOCALSIZE 1
#DIM TYPE

TYPE = 0
SELECTCASE ARGS:0
CASE "모두"
	RETURNF 1
CASE "조교", "SHOP_조교"
	TYPE = 2
CASE "소모품", "SHOP_소모품"
	TYPE = 3
CASE "일용품", "SHOP_일용품"
	TYPE = 4
CASE "음식물", "SHOP_음식물"
	TYPE = 5
CASE "소질", "SHOP_소질"
	TYPE = 6
CASE "체질 변화", "SHOP_체질 변화"
	TYPE = 7

; 이하는 중복 한다
CASE "캇파 도구"
	;풀장과 조교 도구
	TYPE = 10
CASE "토끼 약품"
	TYPE = 20
CASE "식재료의 시장"
	TYPE = 30
CASE "초콜렛"
	TYPE = 35
CASE "술집"
	TYPE = 40
CASE "꽃집", "원예용품"
	TYPE = 50
CASE "초콜렛"
	TYPE = 60
CASE "야채"
	TYPE = 70
CASE "그 외"
	TYPE = 80
CASE "전용"
	TYPE = 90
CASE "회복"
	TYPE = 100
CASE "소재"
	TYPE = 110
CASE "고기"
	TYPE = 120
CASE "의상"
	TYPE = 130
CASE "특수"
	TYPE = 140
ENDSELECT
SIF TYPE
	RETURNF ITEM_TYPE( ARG, TYPE )
RETURNF 0

;조건부 아이템의 처리
@ITEM_SALES
;ITEMSALES = 0 구입가능
;ITEMSALES = -1 품절
;ITEMSALES = -2 봉인

;기교
IF ABL:MASTER:기교 < 5
	ITEMSALES:【기교UP】 = 0
ELSE
	ITEMSALES:【기교UP】 = -2
ENDIF
IF ABL:MASTER:기교
	ITEMSALES:【기교DOWN】 = 0
ELSE
	ITEMSALES:【기교DOWN】 = -2
ENDIF

;악취내성
IF TALENT:MASTER:악취내성 < 2
	ITEMSALES:【악취내성UP】 = 0
ELSE
	ITEMSALES:【악취내성UP】 = -2
ENDIF

IF TALENT:MASTER:악취내성 > -2
	ITEMSALES:【악취내성DOWN】 = 0
ELSE
	ITEMSALES:【악취내성DOWN】 = -2
ENDIF

;TSLv
;	미실장(ITEM.csv에서는 코멘트 아웃)
IF ABL:MASTER:TSLv > 4
	ITEMSALES:70 = -2
ENDIF

SIF TALENT:MASTER:금단의지식
	ITEMSALES:【금단의지식】 = -1
;SIF TALENT:MASTER:조합지식
;	ITEMSALES:【조합지식】 = -1
;미실장
SIF TALENT:MASTER:악취내성 == 2
	ITEMSALES:60 = -1

FOR LOCAL, 0, 100
	;ITEMSTOCK로 연주하므로 고려하지 않는다
	SIF !STRLENS(ITEMNAME:LOCAL)
		CONTINUE
	SELECTCASE LOCAL
		;한 개까지
		CASE 0 TO 39, 94, 95,99
			ITEMSALES:LOCAL = 0
			SIF ITEM:LOCAL
				ITEMSALES:LOCAL = -1
			;소비 아이템은 재차 구입할 수 있도록(듯이) 예외 처리
			SIF GROUPMATCH(ITEMNAME:LOCAL, "로터", "접는우산", "크리스마스선물", "과자상자","약혼반지")
				CONTINUE
			;만약을 위해 에러 피하고
			IF !INRANGE(LOCAL, 0, 39)
			ELSEIF GETBIT(FLAG:아이템구입끝난상태, LOCAL)
				ITEMSALES:LOCAL = -1
			ENDIF
		;미약
		CASE 41
			ITEMSALES:LOCAL = -2
			SIF ABL:MASTER:교양 >= 2
				ITEMSALES:LOCAL = 0
		;금단
		CASE 70 TO 99
			;품절일 경우는 그대로
			SIF ITEMSALES:LOCAL == -1
				CONTINUE
			ITEMSALES:LOCAL = -2
			;eraTW에서는 ASSI가 발생하지 않기 때문에 고쳐 썼다
			SELECTCASE LOCAL
			CASE 90, 71 TO 78
			;금단의지식
				SIF TALENT:MASTER:금단의지식
					ITEMSALES:LOCAL = 0
				;LOCAL:1 =
				SELECTCASE ITEMNAME:LOCAL
				CASE "약의재료(쌍)"
					SIF FINDCHARA(TALENT:성별, 1) == -1
						ITEMSALES:LOCAL = -2
				CASE "약의재료(소)"
					SIF FINDCHARA(TALENT:성별, 3) == -1
						ITEMSALES:LOCAL = -2
				CASE "푸른 캔디"
				;몸이 성장하는 캔디. 모유체질이 되는, 코멘트 아웃 상태

				CASE "붉은 캔디"
				;몸이 젊어지는 캔디. 처녀막이 재생한다
				;전원이 처녀로♂당신의 경우는 빠져버린다(남자는 TALENT:처녀 == 0)지만
				;거기까지 하는 것 멘드이
					SIF ALLSAMES(-1, FINDCHARA(TALENT:처녀, 0), FINDCHARA(TALENT:처녀, -1))
						ITEMSALES:LOCAL = -2
				CASE "갈색의캔디"
				;짐승의 특성을 얻는 캔디. 동물귀가 난다
					SIF FINDCHARA(TALENT:동물귀, 0) == -1
						ITEMSALES:LOCAL = -2
				CASE "물색의캔디"
				;짐승의 특성을 잃는 캔디. 동물귀가 사라진다
					SIF !SUMCARRAY(TALENT:동물귀)
						ITEMSALES:LOCAL = -2
				ENDSELECT
			CASE 70, 91, 92
			;조합지식
			;3개와도 미실장
				SIF TALENT:MASTER:조합지식
					ITEMSALES:LOCAL = 0
			CASE 95
			;과자 선물상자
				ITEMSALES:LOCAL = 0
			CASE 98

				IF ITEM:주택 < 4
					ITEMSALES:주택 = 0
				ELSE
					ITEMSALES:주택 = -2
				ENDIF
			ENDSELECT
	ENDSELECT
NEXT

;오명반납
IF CFLAG:MASTER:329
	ITEMSALES:65 = 0
ELSE
	ITEMSALES:65 = -2
ENDIF

@EX_SHOPPING(ARGS, ARGS:1, ARG, ARG:1)
;ARGS 상품명　ARGS:1 설명　ARG 입력하는 번호　ARG:1 가격
VARSET LOCALS
SIF !ARG:1
	ARG:1 = ITEMPRICE:ARG
LOCALS = [{ARG}] %ARGS% ￥{ARG:1}
SIF GROUPMATCH( ITEMSTOCK(ARG), 2, 5 )
	SETCOLOR 150,150,150
PRINTFORML %LOCALS, 48, LEFT%%ARGS:1%
RESETCOLOR

@BUY_ABLE(ARG, 구입액, 개수=1, ARG:3)
;ARG=상품
;ARG:1=가격, 0이라면 ITEMPRICE:ARG
;ARG:2=개수
;ARG:3=세일(가격인하율)
;물건을 구입하면(자) RETURN 1, 뭐양 겨울밤으로 하고 없으면 RETURN 0
#DIM 개수
#DIM 구입액
SIF !구입액
	구입액 = ITEMPRICE:ARG * 개수

	구입액 = 구입액 * (100 - ARG:3) / 100
IF MONEY < 구입액
	PRINTW 돈이 부족하다
ELSEIF ARG < 0 || ARG >= 1000 || !STRLENS(ITEMNAME:ARG) || ITEMSALES:ARG == -2
	PRINTW 무효인 수치입니다
ELSEIF ITEMSALES:ARG == -1
	PRINTW 품절입니다
ELSEIF ITEMSALES:ARG > 0 && ITEMSALES:ARG < 개수
	PRINTW 그렇게 없습니다
ELSEIF (개수 && ITEM:ARG >= (100 - 개수)) || ITEM:ARG > 99
	PRINTW 충분히 가지고 있다
ELSE
	ITEM:ARG += 개수
	MONEY -= 구입액
	SELECTCASE ITEMSALES:ARG
	CASE IS > 1
		ITEMSALES:ARG --
	CASE 1
		ITEMSALES:ARG = -1
	ENDSELECT
	PRINTFORMW %ITEMNAME:ARG%를 ￥{구입액}으로 \@ 개수 > 1 ? {개수}개 #  \@구입했습니다
	RETURN 1
ENDIF
RETURN 0

;아이템 정리하고 구매 함수
;우동 로부터 정리하고 사고 하고 싶었기 때문에 독립 함수화
;반드시 먼저@ITEMSTOCK로 판정해 구입 가능한 아이템만으로 호출하는 것
;단체 구입 전용이겠지만 정리하고 사 가능하겠지만 구입 가불가의 판정은 필요해서 먼저 공통으로 가 주세요
;ARG：구입 대상 아이템
@ITEM_MATOMEGAI(ARG)
#DIM 구입가능수
#DIM CONST 최대개수 = 99

PRINTFORM %ITEMNAME:ARG%를 몇 개 구입하겠습니까?
;ITEM:50이외의개수 한정 아이템에서도 움직이도록(듯이) 했다(여기의 SIF 이후의 처리에서는 원래 그렇게 되었다)
;불안정 나올지도
;SIF ARG == 50
SIF ITEMSALES:ARG > 0
	PRINTFORM (나머지{ITEMSALES:ARG}개)
PRINTL

구입가능수 = MIN(최대개수  - ITEM:ARG, ( ITEMPRICE:ARG > 0 ?  MONEY / ITEMPRICE:ARG # 최대개수  ), ( ITEMSALES:ARG > 0 ?  ITEMSALES:ARG # 최대개수  ) )
구입가능수 = LIMIT(구입가능수, 0, 최대개수 )

;돈부족, 아이템수의 초과는 나중에 맞춘다
PRINTL [0]  - 그만둔다
SIF 구입가능수
 PRINT [1]  - 1
SIF 구입가능수 >= 5
 PRINT [5]  - 5
SIF 구입가능수 >= 10
 PRINT [10] - 10
SIF 구입가능수 >= 20
 PRINT [20] - 20
SIF 구입가능수 >= 50
 PRINT [50] - 50
SIF NOSAMES(구입가능수, 0, 1, 5, 10, 20, 50)
 PRINT [99] - 살 수 있는 만큼
INPUT

IF RESULT >= 1
	RESULT = LIMIT( MIN(구입가능수, RESULT ), 0, 99 )
	;개수 한정
	IF ITEMSALES:ARG > 0
		RESULT = MIN( ITEMSALES:ARG, RESULT )
		ITEMSALES:ARG -= RESULT
		SIF ITEMSALES:ARG <= 0
			ITEMSALES:ARG = -1
	ENDIF
	;구입 처리
	ITEM:ARG += RESULT
	PRINTFORMW %ITEMNAME:ARG%를 {RESULT}개, \\{RESULT * ITEMPRICE:ARG}으로 구입했습니다
	MONEY -= RESULT * ITEMPRICE:ARG
ENDIF

;ITEM 소지수리스트 표시 함수
;「우선 현상으로 보기 쉬운 형태에서의 실장」을 하기로 했다
;본래는@ITEM_TYPE로 판정하는 편이 스마트하지만 인수가 정수형인 것이 해고이다
;앞으로도 증축에 증축을 거듭해 가면(자) 차질이 생기는 것은 틀림없지만 일단 독자적으로 분류한다
;향후의 발전에 따라 실정으로부터 괴리해 나갈 우려가 있으므로 주의
;물정에 밝지 않게 DRAWLINE를 하면(자) TYPE == "모두"로 심한 짓이 되므로 호출원으로 한다
;ITEM가 없을 때에 DRAWLINE 이중 표시등의 폐해는 있을지도이지만 그럼 없어
@LIST_ITEM(TYPE = "모두")
#DIMS TYPE
#DIM DYNAMIC 표시수
#DIM DYNAMIC LO
#DIM DYNAMIC HI
LO = 0
HI = 1000
표시수 = 0

SELECTCASE TYPE
CASE "모두"
;보기 쉬운 리스트로 한 생각
;ITEM 번호순서는 아니고 용도나 성질의 가까운 것으로 늘어놓고 있는 점에 주의

;상비품 등
	CALL LIST_ITEM("SHOP_조교")
	CALL LIST_ITEM("SHOP_일용품")
	CALL LIST_ITEM("SHOP_소질")
	CALL LIST_ITEM("SHOP_체질 변화")

;소모품류
;그 외도 아마 소모품
	CALL LIST_ITEM("SHOP_소모품")
	CALL LIST_ITEM("SHOP_음식물")
	CALL LIST_ITEM("초콜렛")
	CALL LIST_ITEM("야채")
	CALL LIST_ITEM("원예용품")
	CALL LIST_ITEM("그 외")
	CALL LIST_ITEM("회복")

;소재 따위, 현상 거의 미실장?
	CALL LIST_ITEM("소재")
	CALL LIST_ITEM("고기")
	CALL LIST_ITEM("의상")

;귀중품?
	CALL LIST_ITEM("전용")
	CALL LIST_ITEM("특수")

;커맨드
CASE "토끼 약품", "캇파 도구"
	CALL ITEM_RANGE, TYPE
	LO = RESULT:0
	HI = RESULT:1
	FOR LOCAL, LO, HI
		IF ITEM:LOCAL && ITEM_TYPES(LOCAL, TYPE)
			표시수 ++
			PRINTFORMLC 　%ITEMNAME:LOCAL%\@ ITEM:LOCAL > 1 ?  ×{ITEM:LOCAL} #\@
			SIF 표시수 % 4 == 0
				PRINTL
		ENDIF
	NEXT
	SIF !LINEISEMPTY()
			PRINTL

;각종 ITEM : @ITEM_TYPES 와 ITEM_RANGE에 의한 분류
; 위의 커맨드 용무와 같게 해도 되지만, 나누어 둔다
{
CASE "SHOP_조교", "SHOP_소모품", "SHOP_일용품", "SHOP_음식물", "SHOP_소질", "SHOP_체질 변화",
		"초콜렛", "원예용품", "야채", "그 외", "전용", "회복",
		"소재", "고기", "의상", "특수"
}
	; 루프 범위의 취득: 별로 0~1000 고정에서도 좋지만
	CALL ITEM_RANGE, TYPE
	LO = RESULT:0
	HI = RESULT:1

	FOR LOCAL, LO, HI
		IF ITEM:LOCAL && ITEM_TYPES(LOCAL, TYPE)
			표시수 ++
			PRINTFORMLC 　%ITEMNAME:LOCAL%\@ ITEM:LOCAL > 1 ?  ×{ITEM:LOCAL} #\@
			SIF 표시수 % 4 == 0
				PRINTL
		ENDIF
	NEXT
	SIF !LINEISEMPTY()
			PRINTL
ENDSELECT

;------------------------------------------------------------------------
;  쌀·술·모종의 재고 보충
;	잡곡은 1일의 마지막에+10, 가게에는 최대로 20이 보관됩니다
;	묵은쌀은 1일의 마지막에+7, 가게의 최대재고는 15입니다
;	백미는 1일의 마지막에+5, 가게의 최대재고는 10입니다
;
@EVENTTURNEND
#DIM zaiko_lcount
#DIM loop_lo
#DIM loop_hi
#PRI
CALL 가게에입하, "잡곡",		10,	20
CALL 가게에입하, "묵은쌀",		7,	15
CALL 가게에입하, "백미",		5,	10

; 통신 판매의 술은 재고가 적습니다
;	많이 사고 싶다면, 마을까지 갑시다
CALL 가게에입하, "탁주",	5,	10
CALL 가게에입하, "청주",		3,	10
CALL 가게에입하, "오니고로시",		1,	10
CALL 가게에입하, "감주",		7,	20

CALL ITEM_RANGE, "꽃집"
loop_lo = RESULT:0 + 1
loop_hi = RESULT:1
FOR zaiko_lcount, loop_lo, loop_hi
	; 모종은 1종 1일 1개 입하, 최대재고도 3입니다
	;	모종을 허술하게 하면(자) 할까 링에 화를 들어요?
	CALL 가게에입하, TOSTR(zaiko_lcount), 1,	3
NEXT
; RETURN 1 해서는 안됩니다

;------------------------------------------------
; 가게에입하 함수
;	EVENTTURNEND에서의 입하와 술집에서의 매각때에 사용한다
;
@가게에입하(이름,입하량,최대재고)
#LOCALSIZE 1
#DIMS 이름
#DIM 입하량
#DIM 최대재고
#DIM ITEM_NO
SIF 이름 == "" || !입하량 || !최대재고
	RETURN
IF ISNUMERIC(이름 )
	ITEM_NO = TOINT(이름 )
ELSE
	ITEM_NO = GETNUM( ITEM, 이름 )
ENDIF
SIF ITEM_NO < 0
	RETURN

SELECTCASE ITEMSALES:ITEM_NO
CASE -1
	ITEMSALES:ITEM_NO = 입하량
CASE IS >= 최대재고
	; 과잉 재고 때는 재고 입하하지 않는다
CASE IS > 0
	ITEMSALES:ITEM_NO = MIN( ITEMSALES:ITEM_NO + 입하량, 최대재고 )
ENDSELECT


code:
;FileName_SHOP.ERB -------------------------------- Rev1. 00
;기상 전메뉴 화면 표시
;CALL		SYSTEM
;ARG		VOID
;RETURN		VOID
;COMMENT
;----------------------------------------------------------
@SHOW_SHOP

;;
CALL 저택방이름설정
;기상 전화면 표시중 플래그
TFLAG:100 = 0
;---------------------
;기상시간 자동 보정, 최저 수면 시간은 4시간
LOCAL:1 = CFLAG:MASTER:취침시간 - DAY * 1440
IF (TIME:3 >= LOCAL:1 && (TIME:3 - LOCAL:1) < 240) || (TIME:3 < 240 && (1440 + TIME:3 - LOCAL:1) < 240)
	PRINTL 수면 시간이 너무 짧습니다. 적어도 4시간 이상은 자야 합니다
	TIME:3 = ((LOCAL:1 / 60) + 4) * 60
	SIF (LOCAL:1 % 60)
		TIME:3 += 60
	SIF TIME:3 >= 1440
		TIME:3 -= 1440
	PRINTFORMW 기상시간을 (%시각표시(TIME:3)%)로 설정했습니다
ENDIF
;---------------------
DRAWLINE
PRINTFORML {DAY}일째 (%GET_DAY()%) 소지금 :\\%TOSTR(MONEY,"#,###")%
PRINTL

CALL BASE_BAR(MASTER, "체력", 26, "초록")
PRINTFORM
CALL BASE_BAR(MASTER, "기력", 26, "파랑", "「개행」")
CALL BASE_BAR(MASTER, "TSP", 26, "물색")
PRINTFORM
SIF TALENT:MASTER:2 & 2
	CALL BASE_BAR(MASTER, "정력", 26, "노랑")
PRINTFORML

;PRINT 체력
;CALL PRINT_COLORBAR, BASE:MASTER:0, MAXBASE:MASTER:0, 26, UNICODE(0x2585), UNICODE(0x2585), BARCOLORSET("빨강"), RESULT:1
;PRINTFORML  ({BASE:MASTER:체력, 5}/{MAXBASE:MASTER:체력, 5})
;PRINT 기력
;CALL PRINT_COLORBAR, BASE:MASTER:1, MAXBASE:MASTER:1, 26, UNICODE(0x2585), UNICODE(0x2585), BARCOLORSET("초록"), RESULT:1
;PRINTFORML  ({BASE:MASTER:1, 5}/{MAXBASE:MASTER:1, 5})

PRINTFORM 자택위치：%GET_MAPNAME(MAIN_MAP)%
IF FLAG:기절중단
	PRINTFORML 기절중
ELSE
	PRINTFORML
ENDIF
PRINTFORML 기상시간：%시각표시(TIME:3)%
PRINTFORML
CALL TW_TIPS
PRINTFORML

SETCOLOR 103,228,126
PRINTL 【메인 메뉴】
RESETCOLOR
PRINTLC [100] - 기상
PRINTLC [102] - 생활환경 설정
SIF CFLAG:MASTER:현재위치 != OMANEKIBEYA()
	PRINTLC [110] - 자택 이사
PRINTL
PRINTL

PRINTLC [101] - 능력 표시
PRINTLC [103] - 스키마 통신 판매
IF MAIN_MAP==14
	PRINTFORML [104] - 주거 설정
ELSE
	PRINTL
ENDIF
PRINTLC [105] - 실적 해제
SIF FLAG:700
	PRINTLC [106] - 콜렉션
PRINTL
PRINTL

SETCOLOR 103,228,126
PRINTL 【시스템 메뉴】
RESETCOLOR
PRINTLC [107] - 의뢰 리셋
PRINTLC [700] - 의상 리셋
PRINTL
PRINTLC [400] - OPTION

SIF SAVESTR:본체버전 != eraTW_Version
	SETCOLOR C_RED
PRINTLC [500] - UPDATE
PRINTL
;PRINTLC [420] - TUTORIAL
RESETCOLOR

PRINTL
PRINTL

PRINTLC [200] - SAVE
PRINTLC [300] - LOAD
PRINTL

SIF MONEY:2
	PRINTFORML [600] - 카리스마 매각

SIF FLAG:엔딩여부
	PRINTFORML [800] - 강하게 뉴게임

DRAWLINE

;FileName_SHOP.ERB -------------------------------- Rev1. 00
;기상 전메뉴 RESULT 처리
;CALL		SYSTEM
;ARG		VOID
;RETURN		VOID
;COMMENT
;----------------------------------------------------------
@USERSHOP
;기상
IF RESULT == 100
	BEGIN TRAIN
	RETURN 1
;능력표시
ELSEIF RESULT == 101
	DEBUGCLEAR
	CALL SHOW_CHARA_LIST("존재하는 캐릭터리스트", "체력 기력", "「정보 표시」 「조건 변경」")
;	CALL SHOW_CHARADATA
;콜렉션
ELSEIF RESULT == 106 && FLAG:700 && !FLAG:기절중단
	CALL SHOW_COLLECTION
;통신 판매
ELSEIF RESULT == 103 && !FLAG:기절중단
	CALL ITEM_BUY
;설정
ELSEIF RESULT == 102 && !FLAG:기절중단
	CALL SCHEDULE
ELSEIF RESULT == 104 && !FLAG:기절중단&&MAIN_MAP==14
	CALL 주거설정함수
ELSEIF RESULT == 105 && !FLAG:기절중단
	CALL BONUS
ELSEIF RESULT == 107 && !FLAG:기절중단
	CALL IRAI_RESET
ELSEIF RESULT == 110 && CFLAG:MASTER:현재위치 != OMANEKIBEYA()&& !FLAG:기절중단
	CALL SET_MAINHOME
;SAVE
ELSEIF RESULT == 200
	SAVEGAME
;LOAD
ELSEIF RESULT == 300
	LOADGAME
;OPTION
ELSEIF RESULT == 400
	CALL OPTION
ELSEIF RESULT == 420
	CALL TUTORIAL_MAIN
ELSEIF RESULT == 500
	CALL UPDATE
ELSEIF RESULT == 600
	CALL CM_BALANCE
ELSEIF RESULT == 700
	CALL RESET_ALL_CLOTHES
ELSEIF RESULT == 800
	IF FLAG:엔딩여부
		PRINTFORML 시간을 날려버리고 첫날로 되돌아가겠습니까?
		PRINTL
		PRINTL [0] 아직 할 게 남았어
		PRINTL [1] 좋아! 지금이다!
		INPUT
		IF RESULT == 1
			CALL 강하게뉴게임
		ELSE
;			PRINTW 「스위치」를 누르는 것은 멈출 수 없었지만, 행운에도 옵션 선택까지 밖에 돌아오지 않았다.
			RESTART
		ENDIF
	ENDIF
ENDIF

@TW_TIPS
SETCOLOR C_YELLOW
PRINTPLAIN TIPS:
PRINTDATA
	DATAFORM 시간정지 능력은 사용할수록 성장한다.
	DATAFORM 유실물을 찾고 싶으면 물건 찾는 게 특기인 캐릭터한테 부탁해라.
	DATAFORM 술은 술집에서 사준다.
	DATAFORM 운세 뽑기 및 점의 결과에 따라서는 일부 판정에 보정이 붙는다. 제비뽑기에도…
	DATAFORM 눈이 내리면 작물이 자라기 어려워진다.
	DATAFORM 카리스마는 홍마관의 카지노 등에서 쓸 수 있는 통화.
	DATAFORM 대개 현금보다 카리스마로 지불하는 게 싼 편.
	DATAFORM 일부 캐릭터는 고유 커맨드가 있다.
	DATAFORM 전투능력 및 교양이 낮으면 호감도가 올라가기 어려워질 때가 있다.
	DATAFORM 웬만한 건 신한테 비는 걸로 해결할 수 있다.
	DATAFORM 인간 마을 광장에서는 랜덤 캐릭터를 낚을 수 있다.
	DATAFORM 랜덤 캐릭터는 첫날만 능력이 많이 오른다.
	DATAFORM 랜덤 캐릭터를 망각했을 경우 두 번 다시 재등장하지 않지만, 임신 판정을 하는 것은 망각했을 경우만.
	DATAFORM 랜덤 캐릭터가 재등장시키는 경우, 능력 상승 보정을 잃어 임신하지 않게 된다.
	DATAFORM 랜덤 캐릭터를 두 명 이상 동시에 출현시킬 수 없다.
	DATAFORM 금욕이 힘들어지면 순순히 싸거나 마음의 평안을 소원으로 빌어라.
	DATAFORM 주야역전 생활하는 캐릭터도 있다. 친해지고 싶으면 기상 시간을 늦추자.
	DATAFORM 커맨드가 표시되지 않는다? 필터가 걸렸는지 봐봐.
	DATAFORM 무능력자라면 다양한 커맨드를 사용할 수 없지만 덮쳐지기 쉬워진다.
	DATAFORM 캐릭터의 업무는 돕는 데에 조건이 있거나 애초에 돕지 못하는 것도 있다.
	DATAFORM 요리하려면 식재료가 필요.
	DATAFORM 술벌레 병에 물을 넣으면 술이 생긴다.
	DATAFORM 로터는 텃밭에서 만들 수 있다.
	DATAFORM 더러움 내성이 높으면 청소가 엉성하게 된다.
	DATAFORM 카지노에서 많이 놀면 회원 랭크가 오른다.
	DATAFORM 시간각인은 같은 레벨의 쾌락·괘씸각인에 준한 효과가 있다. 뻣뻣한 캐릭터라면 몸부터 친해지는 것도 한 방편.
	DATAFORM 콜렉션의 스키마 등은 현실 날짜가 바뀌면 보충된다. 소지수 상한이 있으니 적극적으로 사용하자.
	DATAFORM 당신의 능력 및 특정 인물과의 친교 등, 조건을 충족해야 들어갈 수 있는 장소가 있다.
	DATAFORM 공부나 훈련은 다른 사람과 함께 하는 편이 효율적.
	DATAFORM 애태우기 모드는 부위 쾌락이 들어가기 어려워지는 대신에 절정을 억제한다. 다중 절정에 다소 도움이 된다.
	DATAFORM 스즈나안에서 책을 빌리면 대응기능의 경험이 들어가기 쉬워진다.
	DATAFORM 미라다의 돌은 욕망을 올리기 쉽고 덮치기가 먹히기 쉬워지지만, 친밀과 신뢰는 올라가기 어려워진다.
	DATAFORM 1년 이상 플레이하면 옵션의 바이처 더스트로 일부 능력을 계승해 주회 가능하다.
	DATAFORM 동시 절정하면 호감도 상승치나 절정·피사정에 따른 소스 추가에 보너스가 들어간다.
	DATAFORM 3일 금욕하면 【농후정액】이 되어 사정이 강화되지만, 사정한 다음 날에는 【농후정액】을 상실한다.
	DATAFORM 계속 금욕하면 스트레스를 받거나 몽정한다.
	DATAFORM 요리평가가 80점 이상이라면 기분이 좋아지고, 35점 이하라면 나빠진다.
	DATAFORM 츠쿠모가미는 욕정이 올라가기 어렵고, 임신 확률이 낮은 편이지만 플레이어의 도구사용경험이 완화된다.
	DATAFORM 신뢰도가 너무 낮으면 호감도가 올라가기 어려워진다. 데이트 중이라면 이 제약은 사라진다.
	DATAFORM 육아중은 욕구 불만도에 상한이 걸린다. 아이가 자거나 통학중이라면…
	DATAFORM 조제 세트를 소지하고 있지 않아도, 조제 가능한 장소가 몇개인가 있다.
	DATAFORM 조제 성공율에는 조제 Lv 외에 교양도 영향을 준다.
ENDDATA
PRINTFORML

;SHOP전에 실행
@저택방이름설정

FOR LOCAL, 161, 178
	IF FLAG:LOCAL
		SELECTCASE CFLAG:(FLAG:LOCAL):저택에거주
			CASE 1415 TO 1419
				STR:(8000+CFLAG:(FLAG:LOCAL):저택에거주)=이층·%CALLNAME:(FLAG:LOCAL)%의 방
			CASE 1424 TO 1429
				STR:(8000+CFLAG:(FLAG:LOCAL):저택에거주)=삼층·%CALLNAME:(FLAG:LOCAL)%의 방
			CASE 1434 TO 1439
				STR:(8000+CFLAG:(FLAG:LOCAL):저택에거주)=지하·%CALLNAME:(FLAG:LOCAL)%의 방
		ENDSELECT
	ELSE
		SELECTCASE LOCAL
			CASE 161 TO 165
				STR:(LOCAL+9400-161+15)=이층·독실{LOCAL-160}
			CASE 166 TO 171
				STR:(LOCAL+9400-166+24)=삼층·독실{LOCAL-165}
			CASE 172 TO 178
				STR:(LOCAL+9400-172+34)=지하·독실{LOCAL-171}
		ENDSELECT
	ENDIF
NEXT

repo_name: purugi/eraTWKR

license: mit


code:
;FileName_SHOP.ERB -------------------------------- Rev1. 00
;RESULT_104(설정) 처리
;CALL		SYSTEM
;ARG		VOID
;RETURN		VOID
;COMMENT
;----------------------------------------------------------
@SCHEDULE
#DIM 동거사람
#DIM 전날취침시간
전날취침시간 = CFLAG:MASTER:취침시간 - DAY * 1440
PRINTFORML [0] - 기상시간 설정(현재：%시각표시(TIME:3)%)
PRINTFORML [1] - 개인 방 설정(현재：%NAME_FROM_PLACE(CFLAG:MASTER:초기위치)%)
;SIF FLAG:더부살이캐릭터 == 0
;	PRINTL [2] - 더부살이
PRINTFORML [4] - 부업(현재：\@ FLAG:부업 ?  온 # 오프 \@)
PRINTFORML [5] - 개명
PRINTFORML [6] - 술벌레 병을 이동(현재：\@ !MAIN_MAP ?  %STR:거점_술벌레% # %STR:(거점_술벌레 + 8000)% \@)
SIF ITEM:제단
	PRINTFORML [7] - 자동결연(현재의 대상：\@ FLAG:자동결연 ?  %CALLNAME:(FLAG:자동결연)%# 없음\@)
;#;PRINTFORML [-99] - 디버그용, 함수 호출해 보탄
PRINTL [100] - 돌아간다
INPUT
IF RESULT == 100
	RETURN 0
ELSEIF RESULT == 0
	동거사람 = 0
	FOR LOCAL, 1, CHARANUM
		IF CFLAG:LOCAL:초기위치 == CFLAG:MASTER:초기위치
			동거사람 = LOCAL
			BREAK
		ENDIF
	NEXT
	$INPUT_LOOP
	PRINTFORML 몇 시에 기상합니까? (전날취침시간：%시각표시(전날취침시간)%)(수면시간：{수면시간예측(TIME:3) / 60}시간{수면시간예측(TIME:3) % 60}분 )
	PRINTBUTTON "┏━ △ ", 60
	PRINTBUTTON "━△", 10
	PRINTBUTTON "△━┓", 1
	PRINTL
	PRINT ┃
	SIF TIME:3 < 600
		PRINT ０
	PRINTFORM %TOFULL(TOSTR(TIME:3 / 60))%：
	SIF TIME:3 % 60 < 10
		PRINT ０
	PRINTFORM %TOFULL(TOSTR(TIME:3 % 60))%　┃
	PRINTL
	PRINTBUTTON "┗━ ▽ ", -60
	PRINTBUTTON "━▽", -10
	PRINTBUTTON "▽━┛", -1
	PRINTL
	SIF 동거사람 < CHARANUM && 동거사람
		PRINTBUTTON "[동거(同居) 안의" + CALLNAME:동거사람 + "의 기상시간에 맞추는]", 10000
	PRINTL
	IF 수면시간예측(TIME:3) < 240
		CALL COLORMESSAGE("최악이어도 4시간 이상 잘 필요가 있습니다", C_ORANGE, 1)
	ELSE
		PRINTFORML [0] - 완료
	ENDIF
	INPUT
	IF RESULT == 0 && 수면시간예측(TIME:3) >= 240
		PRINTFORM 자명종을
		CALL COLORMESSAGE(@"%시각표시(TIME:3)%", C_YELLOW)
		PRINTFORMW 로 설정했습니다.
		RETURN 1
	ELSEIF RESULT == 10000 && 동거사람 < CHARANUM && 동거사람
		TIME:3 = CFLAG:동거사람:기상시간
	ELSEIF INRANGE(RESULT, -1360, 1360)
		TIME:3 += RESULT
		IF TIME:3 >= 1440
			TIME:3 -= 1440
		ELSEIF TIME:3 < 0
			TIME:3 += 1440
		ENDIF
	ENDIF
	CLEARLINE 7
	GOTO INPUT_LOOP
[SKIPSTART]
	;전의 것이 괜찮다고 되면(자) 여기를 되돌려
	VARSET LOCAL
	FOR LOCAL, 0, 24
		IF 수면시간예측(LOCAL * 60) < 240
			SETCOLOR 50, 50, 50
			PRINTPLAINFORM [{LOCAL, 2}]
		ELSE
			SIF TIME:3 == LOCAL * 60
				SETCOLOR C_AQUA
			PRINTFORM [{LOCAL, 2}]
		ENDIF
		RESETCOLOR
		SIF LOCAL % 12 == 11
			PRINTL
	NEXT
	IF 동거사람 < CHARANUM && 동거사람
		LOCAL:1 = CFLAG:동거사람:기상시간 / 60
		DRAWLINE
		PRINTFORML [{LOCAL:1, 2}] - 동거(同居) 안의 %CALLNAME:동거사람%의 기상시간
	ENDIF
	$INPUT_LOOP
	INPUT
	SIF RESULT < 0 || RESULT > 23 || 수면시간예측(RESULT * 60) < 240
		GOTO INPUT_LOOP
	TIME:3 = RESULT * 60
	PRINTFORM 자명종을
	CALL COLORMESSAGE(@"%시각표시(TIME:3)%", C_YELLOW)
	PRINTFORMW 로 설정했습니다. ({수면시간예측(TIME:3) / 60}시간{수면시간예측(TIME:3) % 60}분 잡니다)
[SKIPEND]
;;------------------------------------------------------------
;;안 2 수면시간을 직접 지정하는 방법, 기상시간을 자동으로 설정해 준다
;	$INPUT_LOOP_0
;	PRINTL 최저 4시간은 잘 필요가 있으며, 12시간 이상이면 자연스럽게 깨어납니다
;	PRINTFORML 몇 시간 자겠습니까? (4~12를 입력해주세요) (8시간이 평균적인 수면시간입니다)
;	$INPUT_LOOP_1
;	INPUT
;	SIF RESULT < 4 || RESULT > 12
;		GOTO INPUT_LOOP_1
;	TIME:3 = ((LOCAL:1 / 60) + RESULT) * 60
;	SIF (LOCAL:1 % 60)
;		TIME:3 += 60
;	SIF TIME:3 >= 1440
;		TIME:3 -= 1440
;	PRINTFORML 기상시간은 (%시각표시(TIME:3)%)가 됩니다
;	PRINTL 괜찮겠습니까?
;	PRINTL  [0] 네
;	PRINTL  [1] 아니오
;	$INPUT_LOOP_2
;	INPUT
;	IF RESULT == 0
;		PRINTFORMW 기상시간을 (%시각표시(TIME:3)%)로 설정했습니다
;	ELSEIF RESULT == 1
;		GOTO INPUT_LOOP_0
;	ELSE
;		GOTO INPUT_LOOP_2
;	ENDIF
ELSEIF RESULT == 1
	PRINTL 연모의 캐릭터와 같은 방이 될 수가 있습니다
	SIF CFLAG:MASTER:초기위치 == Default초기위치
		SETCOLOR C_AQUA
	PRINTFORML [0] - %NAME_FROM_PLACE(Default초기위치)%
	RESETCOLOR
	FOR LOCAL, 1, CHARANUM
		SIF CFLAG:MASTER:초기위치 == CFLAG:LOCAL:초기위치
			SETCOLOR C_AQUA
		IF TALENT:LOCAL:연모
			IF CFLAG:LOCAL:신사거주
				PRINTFORML [{LOCAL}] - %CALLNAME:LOCAL%의 방
			ELSEIF FLAG:더부살이캐릭터 == LOCAL && !MAIN_MAP
				PRINTFORML [{LOCAL}] - %CALLNAME:LOCAL%의 방
			ELSEIF FLAG:16 == LOCAL && !MAIN_MAP
				PRINTFORML [{LOCAL}] - %CALLNAME:LOCAL%의 방
			ELSEIF LOCAL == 71 && !MAIN_MAP
				PRINTFORML [{LOCAL}] - %CALLNAME:LOCAL%의 벌레통
			ENDIF
		ENDIF
		RESETCOLOR
;		IF MAP_거주자(MAIN_MAP, LOCAL) && CFLAG:LOCAL:집주인후보
;			LOCAL:1 ++
;			SIF CFLAG:LOCAL:더부살이필요신뢰도 > CFLAG:LOCAL:신뢰도 && DAY > 1
;				SETCOLOR C_L_GRAY
;			IF MAIN_MAP == 0
;				LOCALS:LOCAL = %STR:(CFLAG:LOCAL:집주인후보)%
;			ELSE
;				LOCALS:LOCAL = %STR:(CFLAG:LOCAL:집주인후보 + 8000)%
;			ENDIF
;			PRINTFORML [{LOCAL + 500}] - %LOCALS%　주인 :%CALLNAME:LOCAL% 필요 신뢰도:{CFLAG:LOCAL:더부살이필요신뢰도}
;			RESETCOLOR
;		ENDIF
	NEXT
;	SIF !MAIN_MAP
;		PRINTL [999] - 창고
	PRINTFORML [998] - 캔슬
	$INPUT_LOOP2
	INPUT
	IF RESULT == 998
		RETURN 1
	ELSEIF RESULT < 0 || RESULT >= CHARANUM
		CLEARLINE 1
		GOTO INPUT_LOOP2
	ELSEIF RESULT == 0
	;초기 당신 방
		CFLAG:MASTER:초기위치 = Default초기위치
		SIF Default초기위치 == 53
			STR:53 = %CALLNAME:MASTER%의 창고
;	ELSEIF RESULT == 999
;		CFLAG:MASTER:초기위치 = 53
;		STR:53 = %CALLNAME:MASTER%의 창고
	ELSEIF RESULT == 71 && TALENT:MASTER:100 >= -4 && TALENT:RESULT:연모
		PRINTW 난쟁이가 아니므로 같이 잘 수는 없다
		CLEARLINE 2
		GOTO INPUT_LOOP2
	ELSEIF TALENT:RESULT:연모 && CFLAG:RESULT:신사거주
		CFLAG:MASTER:초기위치 = CFLAG:RESULT:초기위치
		STR:53 = 창고
	;ELSEIF TALENT:RESULT:연모 && (RESULT <= 10 ||FLAG:16 == RESULT)
	;	CFLAG:MASTER:초기위치 = CFLAG:RESULT:초기위치
;	ELSEIF INRANGE(RESULT - 500,1, CHARANUM)

	ELSE
		CLEARLINE 1
		GOTO INPUT_LOOP2
	ENDIF
	PRINTFORML %NAME_FROM_PLACE(CFLAG:MASTER:초기위치)%로 설정했습니다
	PRINTFORMW 변경은 다음날부터 반영됩니다
ELSEIF RESULT == 4
	FLAG:부업 = !FLAG:부업
	IF FLAG:부업
		PRINTFORMW 취침시에 남은 TSP를 사용해 부업 합니다
	ELSE
		PRINTFORMW 부업을 오프로 했습니다
	ENDIF
ELSEIF RESULT == 5
	CALL NAME_CUSTOM(MASTER)
ELSEIF RESULT == 6
	CALL 술벌레이사
ELSEIF RESULT == 7 && ITEM:제단
	CALL AUTO_ENMUSUBI
ELSEIF RESULT == -99
	;이 항목은 아니고
	;@TEST_동작테스트용의 내용을 만져 주세요
	;#; CALL TEST_동작테스트용
ENDIF
RETURN 1

[SKIPSTART]
함수의 동작 테스트용
PRINTFORM를 코피페 하면 말표시시의 웨이트의 빈도 조정 정도의 용도에는 사용할 수 있다
주의점
·사용할 수 있는 타이밍이 한정된다(의로, 판정 내용에 따라서는 거동이 바뀐다)
·CFLAG의 조작 등을 실시했을 경우에는 세이브하지 않고 그대로 Emuera를 종료하는 편이 무난
·다 사용했으면 백지로 돌아가 둡시다
[SKIPEND]
@TEST_동작테스트용
;좋아하게 써라

[SKIPSTART]
;구문, 몽정 이벤트의 동작 테스트
DO
	PRINTFORMW 와 대기중
	CALL DAIRY_EV2
LOOP 1
[SKIPEND]

@술벌레이사
#DIMS 이사사키나칭
#DIM 이사처지점
PRINTFORML 어디에 이동시킬까?
FOR LOCAL, 1,100
	IF ROOMDATA:LOCAL & 장소_주방
		IF MAIN_MAP == 0
			LOCALS = %STR:LOCAL%
		ELSE
			LOCALS = %STR:(LOCAL + 8000 + MAIN_MAP * 100)%
		ENDIF
		IF LOCAL == 거점_술벌레 % 100
			SETCOLOR C_AQUA
		ELSEIF PRIVATEROOM:LOCAL && !TALENT:(PRIVATEROOM:LOCAL):연모
			SETCOLOR 100, 100, 100
		ENDIF
		PRINTFORML [{LOCAL}] %LOCALS%
		RESETCOLOR
	ENDIF
NEXT
DRAWLINE
PRINTFORML [100] 역시 그만둔다
INPUT
IF INRANGE(RESULT, 1,99) && ROOMDATA:RESULT & 장소_주방
	IF PRIVATEROOM:RESULT && !TALENT:(PRIVATEROOM:RESULT):연모
		PRINTFORMW 과연 거기에 두는 것은 맛이 없을 것이다
		RESTART
	ENDIF
	이사처지점 = RESULT
	IF MAIN_MAP == 0
		이사사키나칭 = %STR:이사처지점%
	ELSE
		이사사키나칭 = %STR:(이사처지점 + 8000 + MAIN_MAP * 100)%
		이사처지점 += MAIN_MAP * 100
	ENDIF

	PRINTFORML %이사사키나칭%에 병을 가지고 가기로 했다
	PRINTFORML 내용이 들어간 물병을 옮기는 것은 꽤 중노동이다……
	CALL COLORMESSAGE(@"술벌레를 %이사사키나칭%에 이동시켰습니다", C_YELLOW, 2)
	거점_술벌레 = 이사처지점
ENDIF

;시간(ARG)에 기상하는 경우 얼마나 수면 하는지를 산출
@수면시간예측(ARG)
#FUNCTION
LOCAL = CFLAG:MASTER:취침시간 - DAY * 1440
IF ARG >= LOCAL
	RETURNF ARG - LOCAL
ELSE
	RETURNF 1440 + ARG - LOCAL
ENDIF

@AUTO_ENMUSUBI
PRINTFORML 그 날 기원 드려서 없었던 경우, 자는 앞에 자동으로 대상 캐릭터와의 결연을 바라도록(듯이) 합니다.
PRINTFORML 대상을 선택해 주세요
FOR LOCAL, 1, CHARANUM
	SIF TALENT:LOCAL:스침
		CONTINUE
	SIF CFLAG:LOCAL:출금
		CONTINUE
	SIF FLAG:자동결연 == LOCAL
		SETCOLOR C_YELLOW
	PRINTFORMLC [{LOCAL}] %CALLNAME:LOCAL%
	RESETCOLOR
NEXT
PRINTFORML
DRAWLINE
PRINTFORML [999] 그만둔다
INPUT
IF RESULT == 999
	FLAG:자동결연 = 0
ELSEIF INRANGE(RESULT, 1, CHARANUM)
	FLAG:자동결연 = RESULT
ENDIF


code:
@주거설정함수
#DIM 선택한방

DRAWLINE
IF ITEM:주택==1

ENDIF

IF ITEM:주택>=2
	PRINTFORML 2층
	PRINTL
	PRINTFORML [15] [%STR:9415%]
	PRINTFORML [16] [%STR:9416%]
	PRINTFORML [17] [%STR:9417%]
	PRINTFORML [18] [%STR:9418%]
	PRINTFORML [19] [%STR:9419%]
	DRAWLINE
ENDIF

IF ITEM:주택>=3
	PRINTFORML 3층
	PRINTL
	PRINTFORML [24] [%STR:9424%]
	PRINTFORML [25] [%STR:9425%]
	PRINTFORML [26] [%STR:9426%]
	PRINTFORML [27] [%STR:9427%]
	PRINTFORML [28] [%STR:9428%]
	PRINTFORML [29] [%STR:9429%]
	DRAWLINE
ENDIF
IF ITEM:주택>=4
	PRINTFORML 지하
	PRINTL
	PRINTFORML [34] [%STR:9434%]
	PRINTFORML [35] [%STR:9435%]
	PRINTFORML [36] [%STR:9436%]
	PRINTFORML [37] [%STR:9437%]
	PRINTFORML [38] [%STR:9438%]
	PRINTFORML [39] [%STR:9439%]
	DRAWLINE
ENDIF
PRINTFORML [999] 돌아간다
$LOOP
INPUT
선택한방 =RESULT
SELECTCASE 선택한방
	CASE 15 TO 19
		CALL SET_TOMYHOUSECHAR
		SIF !(INRANGE(RESULT,1,CHARANUM-1) || RESULT == 999)
			RETURN
		CALL SET_TOMYHOUSESET(선택한방,RESULT)
	CASE 24 TO 29
		CALL SET_TOMYHOUSECHAR
		SIF !(INRANGE(RESULT,1,CHARANUM-1) || RESULT == 999)
			RETURN
		CALL SET_TOMYHOUSESET(선택한방,RESULT)
	CASE 34 TO 39
		CALL SET_TOMYHOUSECHAR
		SIF !(INRANGE(RESULT,1,CHARANUM-1) || RESULT == 999)
			RETURN
		CALL SET_TOMYHOUSESET(선택한방,RESULT)
	CASE 999
		RETURN
	CASEELSE
		GOTO LOOP
ENDSELECT
RETURN

@SET_TOMYHOUSECHAR
#DIM CHARA_ID
FOR CHARA_ID, 1, CHARANUM -1
	SIF !TALENT:CHARA_ID:연인 && !TALENT:CHARA_ID:연모
		CONTINUE
	SIF CFLAG:CHARA_ID:저택에거주
		SETCOLOR C_PINK
	PRINTFORMLC [{CHARA_ID, 3}] %CALLNAME:CHARA_ID%
	RESETCOLOR
NEXT
PRINTL
DRAWLINE
PRINTL [900] 방 비우기
PRINTL [999] 돌아간다
DO
	INPUT
	CHARA_ID = RESULT
	SELECTCASE CHARA_ID
		CASE 900
			PRINTW 방을 비웁니다.
			RETURN 999
		CASE 999
			PRINTW 돌아갑니다
			RETURN
		CASE 1 TO CHARANUM
			RETURN RESULT
	CASEELSE
	ENDSELECT
LOOP 1

RESTART

@SET_TOMYHOUSESET(선택한방,선택한캐릭)
#DIM 선택한방
#DIM 선택한캐릭
IF 선택한캐릭 == 999
	SELECTCASE 선택한방
		CASE 15 TO 19
			IF FLAG:(161+선택한방-15)!=0
			;;이전 거주자 처리
				STR:(선택한방+8000+1400)=이층·독실{선택한방-14}
				CFLAG:(FLAG:(161+선택한방-15)):신사거주 = 0
				CFLAG:(FLAG:(161+선택한방-15)):초기위치 = CSVCFLAG ((FLAG:(161+선택한방-15)), 311)
				CFLAG:(FLAG:(161+선택한방-15)):저택에거주=0
				FLAG:(161+선택한방-15)=0
			ENDIF
		CASE 24 TO 29
			IF FLAG:(161+선택한방-24+5)!=0
				STR:(선택한방+8000+1400)=삼층·독실{선택한방-1423}
				CFLAG:(FLAG:(161+선택한방-24+5)):신사거주 = 0
				CFLAG:(FLAG:(161+선택한방-24+5)):초기위치 = CSVCFLAG ((FLAG:(161+선택한방-24+5)), 311)
				CFLAG:(FLAG:(161+선택한방-24+5)):저택에거주=0
				FLAG:(161+선택한방-24+5)=0
			ENDIF
		CASE 34 TO 39
			IF FLAG:(161+선택한방-34+11)!=0
				STR:(선택한방+8000+1400)=지하·독실{선택한방-1433}
				CFLAG:(FLAG:(161+선택한방-34+11)):신사거주 = 0
				CFLAG:(FLAG:(161+선택한방-34+11)):초기위치 = CSVCFLAG ((FLAG:(161+선택한방-34+11)), 311)
				CFLAG:(FLAG:(161+선택한방-34+11)):저택에거주=0
				FLAG:(161+선택한방-34+11)=0
			ENDIF
	ENDSELECT

	RETURN
ENDIF

;;선택한캐릭이 이미 자택에 살고 있을때 원래 살고있던 방의 이름을 되돌림
IF CFLAG:선택한캐릭:저택에거주
	FOR LOCAL, 161, 178
		IF FLAG:LOCAL ==선택한캐릭

			SELECTCASE 선택한방
				CASE 15 TO 19
					STR:((CFLAG:선택한캐릭:저택에거주)+8000)=이층·독실{(CFLAG:선택한캐릭:저택에거주)-1414}
				CASE 24 TO 29
					STR:((CFLAG:선택한캐릭:저택에거주)+8000)=삼층·독실{(CFLAG:선택한캐릭:저택에거주)-1423}
				CASE 34 TO 39
					STR:((CFLAG:선택한캐릭:저택에거주)+8000)=지하·독실{(CFLAG:선택한캐릭:저택에거주)-1433}
			ENDSELECT
			FLAG:LOCAL=0
			CFLAG:선택한캐릭:저택에거주=0
		ENDIF
	NEXT
ENDIF

SELECTCASE 선택한방
	CASE 15 TO 19
		IF FLAG:(161+선택한방-15)!=0
		;;이전 거주자 처리
			CFLAG:(FLAG:(161+선택한방-15)):신사거주 = 0
			CFLAG:(FLAG:(161+선택한방-15)):초기위치 = CSVCFLAG ((FLAG:(161+선택한방-15)), 311)
			CFLAG:(FLAG:(161+선택한방-15)):저택에거주=0

		ENDIF
		;;이후 거주자 처리
		STR:(9400+선택한방)=이층·%CALLNAME:선택한캐릭%의 방
		FLAG:(161+선택한방-15)=선택한캐릭
	CASE 24 TO 29
		IF FLAG:(161+선택한방-24+5)!=0
			CFLAG:(FLAG:(161+선택한방-24+5)):신사거주 = 0
			CFLAG:(FLAG:(161+선택한방-24+5)):초기위치 = CSVCFLAG ((FLAG:(161+선택한방-24+5)), 311)
			CFLAG:(FLAG:(161+선택한방-24+5)):저택에거주=0

		ENDIF
		STR:(9400+선택한방)=삼층·%CALLNAME:선택한캐릭%의 방
		FLAG:(161+선택한방-24+5)=선택한캐릭
	CASE 34 TO 39
		IF FLAG:(161+선택한방-34+11)!=0
			CFLAG:(FLAG:(161+선택한방-34+11)):신사거주 = 0
			CFLAG:(FLAG:(161+선택한방-34+11)):초기위치 = CSVCFLAG ((FLAG:(161+선택한방-34+11)), 311)
			CFLAG:(FLAG:(161+선택한방-34+11)):저택에거주=0
		ENDIF
		STR:(9400+선택한방)=지하·%CALLNAME:선택한캐릭%의 방
		FLAG:(161+선택한방-34+11)=선택한캐릭
ENDSELECT
CFLAG:선택한캐릭:신사거주=1400+선택한방
CFLAG:선택한캐릭:초기위치 =1400+선택한방
CFLAG:선택한캐릭:저택에거주=1400+선택한방

CALL ROOMSETTING


code:
@TUTORIAL_MAIN

CLEARLINE 1
PRINTL
CALL PRINT_IMAGE("立ち絵_服_通常_109", 1000, "center")
PRINTL
PRINTL
PRINTL
SETBGCOLOR 0, 0, 102
PRINTFORML .........
PRINTFORML ......
PRINTFORML ...
PRINTFORML ............정신 차려보니 이상한 세계에 있었다.
PRINTFORML 눈 앞에는 빨간 나이트캡과 갈색 머리의 소녀의 모습이 있었다.
PRINTW
SETCOLOR 0xE6E6FA
CALL DQPRINT("「앞도, 뒤도 없는 꿈에 세계에 온 것을 환영해요.」")

SELECTCASE FLAG:592
	CASE 0
		IF CFLAG:[[도레미]]:안면
			CALL DQPRINT("「어머, 저를 아시나요?」")
			CALL DQPRINT("「흐음, 당신이 알고 있는 '나'와 '내'가 같을지는... 글쌔, 어떨까요?」")
			PRINTFORMDW 소녀는 의미심장한 미소를 지었다.
		ELSE
			CALL DQPRINT("「저는 여기에 온 사람들을 안내하는 역할을 맡고 있어요.」")
			CALL DQPRINT("「꿈의 주인이라고 생각하시면 편할지도?」")
			PRINTFORMDW 소녀는 정중한 몸짓으로 인사를 건냈다.
		ENDIF
	CASE 1
		CALL DQPRINT("「또 오셨네요.」")
		CALL DQPRINT("「이번에는 무슨 이야기를 할까요?」")
		PRINTFORMDW 소녀는 새침한 표정으로 당신을 맞이했다.
	CASE 2
		CALL DQPRINT("「어서오세요.」")
		CALL DQPRINT("「밤에 잠을 잘수 없으니까, 늦잠자지 않을 정도로만 있으셔야 해요?」")
		PRINTFORMDW 소녀는 생긋 웃어보이며 당신을 맞이했다.
	CASE 3
		CALL DQPRINT("「어서오세요, 단골 손님.」")
		CALL DQPRINT("「거창한 대접은 못하지만, 앞으로도 잘 부탁드려요.」")
		PRINTFORMDW 소녀는 부드러운 표정을 지으며 당신을 맞이했다.
	CASEELSE
		SELECTCASE RAND:5
			CASE 0
				CALL DQPRINT("「또 오셨네요.」")
				CALL DQPRINT("「이번에는 무슨 이야기를 할까요?」")
				PRINTFORMDW 소녀는 새침한 표정으로 당신을 맞이했다.
			CASE 1
				CALL DQPRINT("「어서오세요.」")
				CALL DQPRINT("「밤에 잠을 잘수 없으니까, 늦잠자지 않을 정도로만 있으셔야 해요?」")
				PRINTFORMDW 소녀는 생긋 웃어보이며 당신을 맞이했다.
			CASE 2
				CALL DQPRINT("「어서오세요, 단골 손님.」")
				CALL DQPRINT("「거창한 대접은 못하지만, 앞으로도 잘 부탁드려요.」")
				PRINTFORMDW 소녀는 부드러운 표정을 지으며 당신을 맞이했다.
			CASE 3
				IF CFLAG:[[도레미]]:안면
					CALL DQPRINT("「오늘 저를 만났다고요?」")
					CALL DQPRINT("「흐음, 당신이 알고 있는 '나'와 '내'가 같을지는... 글쌔, 어떨까요?」")
				ELSE
					CALL DQPRINT("「이야기만 하니까 시시하다고요?」")
					CALL DQPRINT("「후후... 그 말은 기대해도 좋다는 뜻인가요?」")
				ENDIF
				PRINTFORMDW 소녀는 의미심장한 미소를 지었다.
			CASEELSE
				CALL DQPRINT("「스위티 수면 배개는 어떤가요?」")
				CALL DQPRINT("「후후, 당연 그렇겠지요. 제 야심작이니까요♪」")
				PRINTFORMDW 소녀는 자신만만한 표정을 지었다.
		ENDSELECT
ENDSELECT
PRINTL
CALL DQPRINT("「음, 이곳에 왔다는 것은 무언가 궁금한 것이 있는 것이겠죠.」")
CALL DQPRINT("「……무엇을 알고 싶습니까?」",2)
DRAWLINE
PRINTL

$LOOP01

RESETCOLOR
PRINTLC [100] - 뭘 해야할까?
PRINTLC [101] - 시간 정지
PRINTLC [102] - 돈을 버는 방법
PRINTLC [103] - 하루의 흐름
PRINTL
PRINTLC [104] - 기상과 취침
PRINTLC [105] - 발원
PRINTLC [106] - 특수 발원
PRINTLC [107] - 실적
PRINTL
PRINTLC [108] - 여성과의 관계
PRINTLC [109] - 친해지는 방법
PRINTLC [110] - 가볍게 즐기고 싶다
PRINTLC [111] - 욕구 불만
PRINTL
PRINTLC [112] - 덮쳐지다
PRINTLC [113] - 미움받았을 때는?
PRINTLC [114] - 서브 캐릭터
PRINTLC [115] - 서브 캐릭터의 덮치기
PRINTL
PRINTLC [116] - 카리스마
PRINTLC [117] - 누군가를 만나고 싶다
PRINTLC [118] - 운수에 대해
;PRINTLC [119] - 악보 ;한판에는 악보 기능이 구현되지 않았음
PRINTL
PRINTLC [200] - 청소
PRINTLC [201] - 화술
PRINTLC [202] - 전투
PRINTLC [203] - 교양
PRINTL
PRINTLC [204] - 요리 재료
PRINTLC [205] - 요리
PRINTLC [206] - 음악과 연주
PRINTLC [207] - 낚시
PRINTL
PRINTLC [208] - 채집
PRINTLC [209] - 조제
PRINTLC [210] - 양조
PRINTLC [211] - 텃밭
PRINTL
PRINTLC [212] - 의뢰
PRINTLC [213] - 탄막 승부
PRINTL
PRINTL [998] - 그런데...
PRINTL [999] - 딱히 궁금한 것은 없어.

$INPUTLOOP
INPUT
SETCOLOR 0xE6E6FA
CLEARLINE 12
SELECTCASE RESULT
	CASE 100
		CALL DQPRINT("무엇을 해야할까... 라.")
		CALL DQPRINT("당신에게 주어진 목표 같은건 딱히 없답니다?")
		CALL DQPRINT("당신은 그저 하고 싶은대로 살아가면 된답니다.")
		CALL DQPRINT("이 세상에서 누군가와 사랑을 하던지, 누군가'들' 이랑 사랑을 하던지, 능력을 이용해 누군가를 '곤경'에 빠트린다던지...")
		CALL DQPRINT("당신의 욕망에 움직임을 맡기세요.")
		CALL DQPRINT("아, 여기에서는 당신 마음대로 안되니까 알아두면 좋아요?")
		FLAG:591 += 9
	CASE 101
		CALL DQPRINT("Timestop. 시간 정지. 흔히들 꿈의 능력이라고도 하죠.")
		CALL DQPRINT("시간을 정지할 수 있다는 것은 어떠한 능력보다도 강력해요. 가령, 시간을 멈추고 누군가를 괴롭힌다던지.")
		CALL DQPRINT("다만, 당신의 시간 정지는 만능이 아니에요. TSP라는 특수한 에너지를 소비하니까요.")
		CALL DQPRINT("정확하게는 당신이 시간을 정지한 채 어떤 행동을 할 때 소모되지만요. 가령, 누군가의 가슴을 만진다던지.")
		CALL DQPRINT("TSP는 시간 정지를 사용하면 사용할수록 그 한계치가 높아지니 시간이 될 때 마다 사용하는게 좋겠지요?")
		CALL DQPRINT("응? 어떻게 그걸 알고 있냐고요?")
		CALL DQPRINT("글쌔요? 그건 이 세계의 창조자만이 알지 않을까요.")
		FLAG:591 += 12
	CASE 102
		CALL DQPRINT("돈은 일종의 재물로써, 자본주의 사회에서 살아남기 위해서는 필수적인 요소에요.")
		CALL DQPRINT("물론 환상향은 그렇게 자본주의에 큰 영향을 받고 있지는 않지만요.")
		CALL DQPRINT("그럼 무슨 소용이냐고요? 솔직하게 말하자면, 당신에게 있어 그리 큰 의미는 없다는걸 잘 알고 계시지 않나요?")
		CALL DQPRINT("모른다고 하더라도 곧 알게 될테지만.")
		CALL DQPRINT("이 세상에서 돈을 버는 방법은 크게 몇 가지로 나뉘어요.")
		CALL DQPRINT("첫째. 일 돕기.")
		CALL DQPRINT("일하지 않는 자, 먹지도 말라. 이 세상에서는 여러 사람들이 노동이란 행위를 하고 있어요.")
		CALL DQPRINT("그런 사람들은 특정한 위치에서 일을 합니다. 일을 도와 줌으로써 돈을 받을 수 있어요. 그녀와의 관계는 덤이고요.")
		CALL DQPRINT("둘째. 의뢰.")
		CALL DQPRINT("둘째... 이기는 한데, 벌 수 있는 금액이 많지 않으니 호감을 살 때에 사용하면 좋아요?")
		CALL DQPRINT("셋째. 농사.")
		CALL DQPRINT("농민으로써 농사를 짓고, 수확을 거둬 돈을 버는 방법이에요.")
		CALL DQPRINT("네? 농민이 아니라고요? 그럼 못하는거죠.")
		CALL DQPRINT("넷째. 카리스마.")
		CALL DQPRINT("이 세상의 또 다른 화폐인 '카리스마'. 붉은 저택의 당주가 만들었다곤 하지만, 가격이 불안정하죠.")
		CALL DQPRINT("주식하는 느낌이랄까?")
		CALL DQPRINT("응? 일 하기 싫다고요? 그럼 디버거나 쓰셔야죠. 여기서 이러지 말고.")
		FLAG:591 += 12
	CASE 103
		CALL DQPRINT("「一日は、基本的にこの目覚め前のメニュー画面からはじまります」")
		CALL DQPRINT("「【自宅引っ越し】や【기상시간調整】、【SAVE】【LOAD】など、ここでしかできないことも多いです」")
		CALL DQPRINT("「準備ができたら、【目を覚ます】ことで一日が始まります」")
		CALL DQPRINT("「台風や吹雪、何か特殊な出来事が起きているときは、この時状況がわかります」")
		CALL DQPRINT("「日中の活動中、『기력』が無くなると多くのコマンドが実行できなくなります」")
		CALL DQPRINT("「また、『체력』が無くなると、そこで一日は終了です」")
		CALL DQPRINT("「おやつや식사、【낮잠】や【入浴】、【아이템】の使用などで、체력기력を保っていきましょう」")
		CALL DQPRINT("「また、起床からの活動時間が一定時間を超えると『要수면』状態になります」")
		CALL DQPRINT("「『要수면』状態になると、체력기력の消費が大きく増加します。大人しく寝ましょう」")
		CALL DQPRINT("「【낮잠】をしたり、졸음쫒기강도に効果のある아이템を使用すれば、要수면状態に入るのを遅らせることができます」")
		CALL DQPRINT("「취침、ないしは체력が尽きると、一日の終了です」")
		CALL DQPRINT("「청소やお仕事を手伝ったことによる報酬や、호감도上昇によるカリスマ報酬が入ります」")
		CALL DQPRINT("「この時、お子さんがいると養育費が引かれ、日中の過ごし方によって기력などに補正がかかることがあります」")
		CALL DQPRINT("「持ち物や、状況によっては特別な出来事が起きることもあるかもしれませんね」")
		CALL DQPRINT("「……だいたいこんなところですね。詳しい機能については、また別にご説明します」")
		FLAG:591 += 15
	CASE 104
		CALL DQPRINT("「起床前のメニューの【住環境設定】から、기상시간を変更することができます」")
		CALL DQPRINT("「よっぽどの不調でない限り、この時間から寝過ごしはしません」")
		CALL DQPRINT("「同衾している人にゴネられるとか、幸せな時間を過ごしているなら話は別でしょうけどね」")
		CALL DQPRINT("「기상시간によって、취침すべき時刻……『要수면』状態に入る時間も変わってきます」")
		CALL DQPRINT("「たまに昼夜逆転生活している人がいますので、そういう人と交流を深めるなら、あえて起床を遅らせるのも手ですね」")
		CALL DQPRINT("「취침は『수면可』になればいつでも可能です」")
		CALL DQPRINT("「外出中に체력切れになって変なところで寝たり、철야したりすると、수면で十分に回復することができません」")
		CALL DQPRINT("「また、きちんと취침しないと、『자동결연』の발원한다などができないこともあるので、注意してください」")
		CALL DQPRINT("「なんにしても、眠くなったらきちんと寝床に入って、質の高い眠りを取ってくださいね。私のためにも♪」")
		IF ITEM:스위티숙면배개
			CALL DQPRINT("「そうそう、こないだ提供させていただいた獏印の安眠枕はいかがですか？」")
			CALL DQPRINT("「細かいチューンナップにも応じさせてもらいますので、末永くご愛用くださいね♪」")
		ELSE
			CALL DQPRINT("「とは言え、色々忙しいと수면時間を確保するのも難しいですよね」")
			CALL DQPRINT("「そんな多忙なあなたには『安眠枕』のご提供も検討してますので、どうぞご期待を」")
		ENDIF
		FLAG:591 += 11
	CASE 105
		CALL DQPRINT("「マップ上の特定の場所では１日１回【발원한다】をすることができます」")
		CALL DQPRINT("「実績解除で入手できる『제단』があれば、自室でいつでも【발원한다】できるようになりますよ」")
		CALL DQPRINT("「なんの神様に祈るのかって？　えーと……それ、私に聞きますか？」")
		CALL DQPRINT("「【발원한다】ではお賽銭や捧げものを献じて、いくつかの奇跡を起こすことができます」")
		CALL DQPRINT("「『縁結び』は、翌日に特定の方一名が、拠点へ来訪してくるようにすることができます」")
		CALL DQPRINT("「『정력절륜』『心の平安を願う』……は、まあそのままですね」")
		CALL DQPRINT("「『おっぱいおっぱい』……って、もぉ、仕方ない人ですね」")
		CALL DQPRINT("「こちらは、普段信仰している神様以外の『特定の神様』をデイリーイベントで呼び出しやすくなります」")
		CALL DQPRINT("「『ギャルの……』あぁもういいです。こちらは、お청소などで狙いのモノが手に入りやすくなりますよ」")
		CALL DQPRINT("「『みんながＨな気分になりますように』……ほんと、いやらしいですねぇ」")
		CALL DQPRINT("「こちらは이상기상の『桃色の風』を引き起こせますが……あまり調子には乗らないほうがいいですよ？」")
		FLAG:591 += 12
	CASE 106
		CALL DQPRINT("「これから紹介するのは、特殊なタイプの【발원한다】となります」")
		CALL DQPRINT("「『女の子に嫌われてしまったのを何とかしたい』……何と都合のいい話だことで」")
		CALL DQPRINT("「特定の捧げもの……その方のパンツを捧げることで、반발각인を一段階和らげることができます」")
		CALL DQPRINT("「また、特別な関係の人と一緒に발원한다をすることで、새드끼を下げたり、さらに艶っぽくしてもらうこともできます」")
		CALL DQPRINT("「また『子宝を祈願する』こともできますよ。ふふ、お幸せに」")
		CALL DQPRINT("「これらの特定の方を対象とした발원한다は、代償として、もれなくその方のパンツが必要です」")
		CALL DQPRINT("「日ごろから、タブリも関わりなく常に回収に励んでおけばいいのでは？」")
		CALL DQPRINT("「……え？　棒読みっぽい？　バレましたか。いや、実に面倒な神様だなあ、と思いましてね」")
		CALL DQPRINT("「ついでに『悪徳商売をする悪い奴』をとっちめてもらうこともできますので、機会があれば」")
		CALL DQPRINT("「また、誰かの落し物の持ち主探しや落し物探しを手伝っている時にも、パンツを奉じると探し出すことができますよ」")
		CALL DQPRINT("「そうそう、起床前メニューの【住環境設定】から、【자동결연】を設定することもできます」")
		CALL DQPRINT("「その日【발원한다】をしなかった場合に、きちんと취침すると自動で【縁結び】を行えますよ」")
		CALL DQPRINT("「時と場合によって、使い分けるようにしてみてくださいね」")
		FLAG:591 += 13
	CASE 107
		CALL DQPRINT("「実績解除は、起床前メニューから行うことができます」")
		CALL DQPRINT("「例のブツの収集数や、『연모』などの陥落系素質を一定人数取得、などの条件を満たすとボー가지がもらえます」")
		CALL DQPRINT("「ここでのみ取得できる『오방짐작』などの能力や、『神棚』などの아이템も存在します」")
		CALL DQPRINT("「これらは非常に便利なので、どんどん解放できるように動くとよいでしょうね」")
		CALL DQPRINT("「체력最大値や기력最大値などはここでの성장が主となるので、特に優先で」")
		CALL DQPRINT("「ついつい忘れがちなので、たまに確認する癖をつけておくようにしましょう」")
		FLAG:591 += 6
	CASE 108
		CALL DQPRINT("「みなさんとの関係については、いくつかの段階に分かれています」")
		CALL DQPRINT("「大別すると、『사모』→『연모』へ進むルートと、『섹프』→『애욕』へ進むルートの２つです」")
		CALL DQPRINT("「いったんどちらかのルートに乗ると、基本的にはそのルートで固定となります」")
		CALL DQPRINT("「オプションで相互変化を可ならしめることもできます。場合によってはご活用を」")
		CALL DQPRINT("「『사모』等を取得するのに必要な条件は、【능력표시】の『陥落条件』から確認することができますよ」")
		CALL DQPRINT("「また、十分交友を深めた方とは、告白を介して연인となることができます」")
		CALL DQPRINT("「ただし、こちらの世界では基本的には연인となれるのは一人だけのようです」")
		IF TALENT:[[도레미]]:연인
			CALL DQPRINT("「……ということで、末永く大事にしてくださいね♪」")
			CALL DQPRINT("「夢の世界まで管理されるのかって？　ふふ、そういう女を選んだのはあなたでしょう？」")
		ELSEIF TALENT:MASTER:연인
			CALL DQPRINT("「残念そうな顔ですね？　まぁ、ハーレムを作りたいなら別の世界で、ということで」")
			CALL DQPRINT("「どうしても、別の可能性が見てみたいなら……オプションから『파이ツァ・ダスト』を選んでみてください」")
			CALL DQPRINT("「開始から120日以上経っていれば選ぶことができますが……どうか、後悔のない選択を」")
			FLAG:591 ++
		ELSE
			CALL DQPRINT("「十分に時間をかけて、무드を盛り上げ、熱い告白をしてあげてください」")
			CALL DQPRINT("「また、場合によっては、デートの帰り道などで想いを打ち明けられることもあるかもしれませんよ？」")
		ENDIF
		FLAG:591 += 9
	CASE 109
		CALL DQPRINT("「みなさんと仲良くなるには、とにかく接点を持つことですね」")
		CALL DQPRINT("「あまり親しくないうちは、できることも少ないかもしれません」")
		CALL DQPRINT("「회화をしたり、차を入れたり……お일을 돕는다のもいいかもしれませんね」")
		CALL DQPRINT("「楽器の演奏や、요리に自信があれば、そちらでアピールするのもよいでしょう」")
		CALL DQPRINT("「【採集】【調合】などは、ある程度親しくなると一緒にいれば手伝ってもらえますよ」")
		CALL DQPRINT("「ある程度親しくなって、【데리고 나간다】ことができるようになったら、【デート】に誘ってみましょう」")
		CALL DQPRINT("「데이트중は、호감도や신뢰도が上がりやすくなります。また『데이트경험』を得ることもできます」")
		CALL DQPRINT("「『데이트경험』はより関係を深めるときに色々有意に働きますので、積極的にいきましょうね」")
		CALL DQPRINT("「親しくなれば色々とできることは増えますが、やり過ぎると『반발각인』がついてしまうことがあります」")
		CALL DQPRINT("「基本的に体の接触を伴う行為は『사모』を得てから行ったほうがいいでしょうね」")
		CALL DQPRINT("「淫らな行為についても、まともな状態であれば『연모』や『섹프』を得てからをおすすめします」")
		CALL DQPRINT("「あぁそうそう、차や식사に『춘약』を仕込むと、호감도が上がりやすくなりますよ」")
		FLAG:591 += 12
	CASE 110
		CALL DQPRINT("「てっとり早く楽しみたいのなら……【시간정지】中に致すのが一番でしょうね」")
		CALL DQPRINT("「予め身体を開発したり『시간각인』を取得することで、コマンドの判定に有利な補正を与えることもできます」")
		CALL DQPRINT("「ただし、時姦中の絶頂は『無自覚』扱いなので、섹프路線を目指す場合の絶頂数にはカウントされません」")
		CALL DQPRINT("「時姦中はTSPを少しずつ消費していきますが、TSPがゼロになってもその場ですぐにバレることはありません」")
		CALL DQPRINT("「また、お酒で酔い潰すと、女の子のガードがゆるくなります」")
		CALL DQPRINT("「具体的には、相手を『만취』状態まで飲ませれば前後不覚となりますので、저항なく押し倒せるでしょう」")
		CALL DQPRINT("「아이템の『우콘드린크』などを使用して自分を酔いにくくし、強い酒類を用意しておきましょうね」")
		CALL DQPRINT("「また、차などに『수면제』を仕込んでおけば、수면中に部屋に入り込み장난をすることもできます」")
		CALL DQPRINT("「ただし、睡姦・酔姦ともに、やりすぎて目を醒まされると物凄い反発を食らうこと必至です」")
		CALL DQPRINT("「場合によっては『止める』ことも英断として必要かもしれませんよ？」")
		CALL DQPRINT("「いずれにせよ、これらの無自覚な状態での関係を持った場合は『깨끗한교제』とは呼べなくなりますので、ご了承を」")
		FLAG:591 += 11
	CASE 111
		CALL DQPRINT("「『欲求不満度』は、女の子たちがどれだけ性欲を持て余しているか、を示したものです」")
		CALL DQPRINT("「【実績解除】にて取得できる『정욕감지』能力があれば可視化することができます」")
		CALL DQPRINT("「『欲求不満度』が高いと、押し倒される可能性が高まったり、性的なことに対しガードが薄くなるかもしれません」")
		CALL DQPRINT("「もともと累積的なもので、溜まってる方もいらっしゃるかもしれません。放っておくと、자위で発散されます」")
		CALL DQPRINT("「また、『미약』系統の아이템を使用し絶頂しない程度の接触を繰り返せば、欲求不満度を急速に高められます」")
		CALL DQPRINT("「逆に、絶頂を迎えたり、強度の性的な接触を行うと、欲求不満度が減少します」")
		CALL DQPRINT("「ちなみに、押し倒されたときには、『欲求不満度』がゼロにならないと解放してくれません」")
		CALL DQPRINT("「しっかり最後まで付き合ってあげてくださいね」")
		FLAG:591 += 8
	CASE 112
		CALL DQPRINT("「もう、あなたもスキモノですねえ」")
		CALL DQPRINT("「陥落素質無し、かつ意識のある状態で情事に及びたい場合などは、女の子側の主体的な행동が必須となります」")
		CALL DQPRINT("「そのための『押し倒され』です。条件を満たすと、女の子側から덮치기をかけてきます」")
		CALL DQPRINT("「押し倒されているときは、相手の체력・기력の消費が抑えられ、長く楽しめるかもしれません」")
		CALL DQPRINT("「また、押し倒されている状態であなたの체력が尽きると、相手の새드ッ気を上げることができます」")
		CALL DQPRINT("「押し倒されるための前提条件として、性に対する知識があること、女の子を『その気』にさせることが必要です」")
		CALL DQPRINT("「具体的には、『욕정』『欲求不満度』などが十分高まっている必要があります」")
		CALL DQPRINT("「さらに、【抱き着く】コマンドは、相手からの덮치기を誘発しやすくする効果を持ちます」")
		CALL DQPRINT("「時姦などで『욕정』を稼ぎ、미약系統の아이템を使用しておくことで、最後の一押しをかけましょう」")
		CALL DQPRINT("「【調合】でのみ得られる普通の『미약』以外の系統아이템が、これらの動きの助けになるでしょうね」")
		CALL DQPRINT("「どちらにしてもこのあたり、陥落素質が無ければかなりシビアなバランスになっています」")
		CALL DQPRINT("「『반감』や『불쾌』の値に気を配り、迂闊に手を出して반발각인をもらうことがないよう、気をつけましょうね」")
		FLAG:591 += 12
	CASE 113
		CALL DQPRINT("「女の子に嫌われてしまったら？　まあ、とにかく謝ればいいんじゃないですか？」")
		CALL DQPRINT("「『분노ゲージ』が見えているときには、迂闊な행동はしないようにしましょう」")
		CALL DQPRINT("「분노状態は日が過ぎれば収まりますが、『반발각인』を得てしまった場合にはずっと影響が出続けます」")
		CALL DQPRINT("「『반발각인』があると、コマンドの実行判定がより厳しくなってしまうので、早急に何とかしたいところです」")
		CALL DQPRINT("「『반발각인』が１の場合、通販等で『과자상자』を購入し【사과한다】と、運が良いと반발각인を消すことができます」")
		CALL DQPRINT("「『반발각인』が２以上の場合は、対象の方のパンツを捧げて【발원한다】をすると、刻印を一段階下げられます")
		CALL DQPRINT("「デートに誘える仲であれば、デート終了時のイベントで『반발각인』が下がる場合もあります」")
		CALL DQPRINT("「デートでしっかりおもてなしをして、汚名返上を心がけるようにしましょうね」")
		CALL DQPRINT("「ちなみに『반발각인』は消せますが、その方の情報・履歴には残ってしまいます」")
		CALL DQPRINT("「後で顧みて反省するためのものなので、あしからずご了承くださいね」")
		FLAG:591 += 10
	CASE 114
		CALL DQPRINT("「非固定キャラ、いわゆるランダムキャラの方々ですね」")
		CALL DQPRINT("「主には、外出先の特定の場所、時間で【여자아이를 물색する】と出会うことができます」")
		CALL DQPRINT("「時間をかけて、あるいは시간정지して吟味すれば、きっとお気に入りの子が見つかると思いますよ」")
		CALL DQPRINT("「地域によって、現れる女性たちの종족や特徴も変わってきますので、色々調べてみましょう」")
		CALL DQPRINT("「ナンパした女性とは、しばらく一緒に행동することができます」")
		CALL DQPRINT("「初日は、各能力の上昇係数が極めて高いので、どんどん関係を深めていくことができます」")
		CALL DQPRINT("「……場合によっては『스침の関係』にまで発展できるかもしれません」")
		CALL DQPRINT("「一日の終わりに、その日に出会った女性を覚えているか、忘れるかを選択できます」")
		CALL DQPRINT("「再度会いたい、と思うなら、【覚えておく】ようにしましょう」")
		CALL DQPRINT("「後日その場所に行って【여자아이를 물색する】際、【以前知り合った娘を探す】から探すことができますよ」")
		CALL DQPRINT("「【きれいさっぱり忘れる】と同じ方とは出会えませんが、こちらでしか임신させることはできません」")
		CALL DQPRINT("「一部実績の解除に必要ですので、時と場合によっては忘れることも必要かもしれませんね」")
		CALL DQPRINT("「あぁそうそう、これらのモブキャラ記録は、通常のセーブデータとは異なるファイルに格納されています」")
		CALL DQPRINT("「バージョンアップの際には、忘れずに『datファイル』も移植するようにしましょうね」")
		FLAG:591 += 14
	CASE 115
		CALL DQPRINT("「モブキャラの方々と出会えるもう一つの方法が、偶発的なエンカウントです」")
		CALL DQPRINT("「外出先から一人で拠点に戻るとき、たまに不逞の輩に襲われることがあります」")
		CALL DQPRINT("「物騒だって？　いや、幻想郷はもともとそういう所ですし。인간、立場ないですしね」")
		CALL DQPRINT("「ええと、その日に【여자아이를 물색】していないこともエンカウントの発生条件となりますのでご注意を」")
		CALL DQPRINT("「탄막승부を挑まれることになりますので、しっかりと『戦闘技能』を鍛えておきたいものですね」")
		CALL DQPRINT("「ちなみにこの時の탄막승부では、相手側に地の利の補正がかかりますので、気をつけてください」")
		CALL DQPRINT("「大地を司る神様の가호でも受けていれば、地の利の補正を無効化することもできるかもですね」")
		CALL DQPRINT("「탄막승부に勝てば、まあ色々好きにできますよ。패배자に慈悲は無用、ですね♪」")
		CALL DQPRINT("「逆に負けてしまうと、お金やらカリスマやらを奪われてしまいます」")
		CALL DQPRINT("「相手が『발정』していると、襲われることもあるかもですね。性的な意味で」")
		CALL DQPRINT("「え？　……どちらにしても、おいしい目にあってるんじゃないかって？」")
		CALL DQPRINT("「……そういうたくましい所は、幻想郷向きだと思いますよ、ええ、はい」")
		FLAG:591 += 12
	CASE 116
		CALL DQPRINT("「カリスマは、お金の代わりとして用いることができる『通貨』のようなものですね」")
		CALL DQPRINT("「おもには、【紅魔館カジノ】でチップとして賭けたり、稼ぐものになります」")
		CALL DQPRINT("「また、一部店舗ではお金での支払に代えて、カリスマ支払をすることもできます」")
		CALL DQPRINT("「全般的にカリスマ支払のほうがお得、という話です」")
		CALL DQPRINT("「その日に稼いだ호감도の量に応じ、ボー가지でカリスマをもらえることもあります」")
		CALL DQPRINT("「ただし、もらえる量は少なめとなっていますので、本格的な稼ぎにはつなげにくいでしょう」")
		CALL DQPRINT("「カリスマと￥には変動相場制が敷かれており、紅魔館で取引を行うことができます」")
		CALL DQPRINT("「カリスマ相場は『そちら』の日付に連動し、日々レートを変えていきます」")
		CALL DQPRINT("「カリスマ安の時に一気に取引を行うことで、大量の￥を稼ぎ出すこともできるでしょう」")
		CALL DQPRINT("「ただし、カリスマが暴落したりすると取引が停止することもありますのでご了承を」")
		FLAG:591 += 10
	CASE 117
		CALL DQPRINT("「狙いのあの子になかなか会えない？」")
		CALL DQPRINT("「自分の拠点外に暮らしている方なら、そちらに引っ越すほうがお手軽だと思いますよ」")
		CALL DQPRINT("「外出してその方の暮らしている地域に向かってもよいですが、不在のことも多いと思うので」")
		CALL DQPRINT("「現在お探しの方が何処にいるのか調べるには【발원한다】のできるところで【하늘의 소리를 듣는다】とよいでしょう」")
		CALL DQPRINT("「このとき、【外にいる人を探したい】で表示されない人は、취침しているなどでやはり会えません」")
		CALL DQPRINT("「活動時間が夜にズレている方もいますので、その場合は기상시간を調整するなどして対応しましょう」")
		CALL DQPRINT("「どうしても自拠点に招きたい場合は、【발원한다】で【縁結び】を願うとよいでしょう」")
		CALL DQPRINT("「翌日に、その方が拠点に訪問してきてくれます。【住環境設定】からできる【자동결연】も便利ですね」")
		CALL DQPRINT("「拠点でないとできないこと、やりにくいことも多いので、できれば拠点に초대したいところです」")
		FLAG:591 += 9
	CASE 118
		CALL DQPRINT("「運勢……またの名を행운보정、いわゆるツキのことですね」")
		CALL DQPRINT("「博麗운세 뽑기や、『역서』から出てくる易者の占いなどで今日の運勢を知ることができます」")
		CALL DQPRINT("「運勢が良いと、釣りや採集の成果や、탄막승부などで幸運が味方してくれることがあります」")
		CALL DQPRINT("「くじ引きでもいい結果が出るかもしれません、そちらも期待していいでしょう」")
		CALL DQPRINT("「また、女の子とのラッキースケベに出くわす可能性なども高まります」")
		CALL DQPRINT("「えっちなハプニング一点狙いであれば、因幡の白兎が取り扱っている『開運大紋』を入手してもよいかもです」")
		CALL DQPRINT("「運試しをしてから一日を始め、その日の身の振り方を考えてみるのもあなたの自由ですよ」")
		FLAG:591 += 7
	CASE 119
		CALL DQPRINT("「楽譜は、콜렉션要素の一つですね」")
		CALL DQPRINT("「キャラテーマの楽譜は、対象の方に演奏を大成功させると入手できます」")
		CALL DQPRINT("「タイトルテーマの楽譜は、そのシリーズの楽譜を初めて入手したとき、同時に入手できます」")
		CALL DQPRINT("「通常ステージ、非キャラ対象テーマ楽譜は、演奏中に誰かがいる時、成功時に３割の確率で入手できます」")
		CALL DQPRINT("「ゲームオーバーのテーマの楽譜は、そのシリーズの関係の方に탄막승부を挑むと入手できます」")
		CALL DQPRINT("「エンディングテーマの楽譜は、そのシリーズの関係の方が연모・애욕を取得したときに入手できます」")
		CALL DQPRINT("「あとは、特定の方からの依頼を成功…一部失敗した時に入手できる楽譜もあります」")
		CALL DQPRINT("「これは、いつものお二人以外で『主役を張ったことがある』方々のものが中心ですね」")
		CALL DQPRINT("「シリーズの楽譜を埋めていったとき、最後にエンディングテーマ他の楽譜を入手できます」")
		CALL DQPRINT("「음악기능を磨くついでに、のんびり収集していくといいのでは？」")
		FLAG:591 += 9
	CASE 200
		CALL DQPRINT("「この世界ではタンスをあさったり、ツボを調べたりはできませんが、청소をすることはできます」")
		CALL DQPRINT("「日々の生活ともに、少しずつ汚れはたまっていくもの。청소も大切な営みの一つです」")
		CALL DQPRINT("「部屋の主がいない部屋の청소を代わりにやってあげると、喜ばれるかもしれませんね」")
		CALL DQPRINT("「……思わぬ『拾い物』があるかもしれませんが、それを目当てにはしないでくださいよ」")
		CALL DQPRINT("「また、その日の清掃量の合計で、住み込み先の主からお小遣いがもらえるかもしれません」")
		CALL DQPRINT("「あまり時間をかけたくないのなら、시간정지中に청소をするのもよいでしょう」")
		CALL DQPRINT("「……とはいえ、やり過ぎにも注意です。ごくまれに、『청소중독』に陥る方もいらっしゃいますから」")
		CALL DQPRINT("「まさか、睦み合いの最中に、気になったからと청소を始めたり……しませんよね？」")
		CALL DQPRINT("「ちなみに、実績解除にて습득できる『오방짐작』能力があれば、どこが汚れているか一目でわかるようになりますよ」")
		FLAG:591 += 9
	CASE 201
		CALL DQPRINT("「화술기능について、ですか」")
		CALL DQPRINT("「회화は交友を深める第一歩ですが、話が弾むかどうかは別の問題です」")
		CALL DQPRINT("「화술기능とは、相手に話をしていて楽しいな、と思わせる、引き出しの多さを示していると思ってください」")
		CALL DQPRINT("「時と場合によっては、人を言いくるめるのに効果を発揮するかもしれません」")
		CALL DQPRINT("「……とはいえ、どんなに話術に長けた人でも、マンネリには勝てません」")
		CALL DQPRINT("「ほら、どんなに仲が良い人とでも、ずーっと話し込んでいると、話のタネがなくなるでしょう？」")
		CALL DQPRINT("「あとは……『노점을 연다』で商品を売ったりするときに、口八丁で高く買わせる、なんて芸当もできるでしょうね」")
		FLAG:591 += 7
	CASE 202
		CALL DQPRINT("「戦闘技能について、ですか」")
		CALL DQPRINT("「そのままですね。탄막승부の巧拙に直結しています」")
		CALL DQPRINT("「……ごくまれに、投げつけられた物を回避したい時にも活きるかもしれません」")
		CALL DQPRINT("「鍛えるためには、【탄막승부】をするか、どこか『開けた場所』で【전투훈련】をすればよいです」")
		CALL DQPRINT("「一人で訓練をするよりも、誰かと一緒にやったほうがタメになるのは、まあ当たり前ですね」")
		CALL DQPRINT("「ちなみに、里にある대본屋で『전술지도서』を借りておくと、経験が多く溜まってお得ですよ」")
		CALL DQPRINT("「それなりに疲れるとは思いますが、護身のためにも、少しは鍛えておくとよいのでは？」")
		CALL DQPRINT("「外出先から一人で시간정지せずに拠点に戻るときに、妖怪や요정に絡まれることもあるようですから」")
		FLAG:591 += 8
	CASE 203
		CALL DQPRINT("「교양について、ですか」")
		CALL DQPRINT("「何をするにつけても、ものを知っている、ということは有利に働くものです」")
		CALL DQPRINT("「人によっては、교양のない人とは話が合わないからイヤ、なんてこともあるかもしれません」")
		CALL DQPRINT("「また、교양Lvが高くないとお手伝いできない仕事や、立ち入れない場所もあります」")
		CALL DQPRINT("「あとは、採集物のリストの解放や、調合レシピの一部解放などにも関与していますね」")
		CALL DQPRINT("「교양Lvを上げるためには、まあ一番手っ取り早いのはお공부することですね」")
		CALL DQPRINT("「落ち着いて座れる部屋で、誰かに教わったり教えたりしながら、少しずつ学習をしていくといいのでは？」")
		CALL DQPRINT("「里にある대본屋で『사전』を借りておくと、効率よく経験を貯めることができますよ」")
		CALL DQPRINT("「クイズ王……もとい、賢者目指して、お공부に励んでみるのもよいかもしれませんね」")
		FLAG:591 += 9
	CASE 204
		CALL DQPRINT("「요리の材料について、ですか」")
		CALL DQPRINT("「부엌があるところで、所持している穀類、あるいは『魚』や『개구리』などを요리することができます」")
		CALL DQPRINT("「穀類については、通信販売や、人里に買い出しに行くとよいでしょう」")
		CALL DQPRINT("「安価な『잡곡』、それなりな『묵은쌀』、高級でおいしい『백미』……それぞれに買い蓄えることができます」")
		CALL DQPRINT("「魚に関しては、外出先で『釣り』をすることで手に入れることができます」")
		CALL DQPRINT("「개구리は『釣り』の外道として、あるいは『採集』によって手に入れることができます」")
		CALL DQPRINT("「『禁断の요리』なるものもあるようですが……やめたほうがいいと思いますよ、アレを調理するのは」")
		CALL DQPRINT("「ああ、所持している野菜は、調理の際にプラスアルファで加えることができますよ」")
		CALL DQPRINT("「요리の鉄人目指して頑張ってくださいね♪」")
		FLAG:591 += 9
	CASE 205
		CALL DQPRINT("「요리のできばえは、『요리기능』によって決定されます」")
		CALL DQPRINT("「また、『요리기능』がある程度高くないと、調理できない요리もありますので、そのつもりで」")
		CALL DQPRINT("「요리기능が高ければ、人に振る舞った時に喜ばれやすくなります」")
		CALL DQPRINT("「一人で作ってもよいですが、誰かと一緒に作ったほうがよいものができますよ」")
		CALL DQPRINT("「里にある대본屋で『조리지도서』を借りておくと、効率よく経験を貯めることができます」")
		CALL DQPRINT("「요리의맛付けは、人によって好みが分かれます。軽食・主食・デザートの好みもそれぞれ違います」")
		CALL DQPRINT("「요리に特殊な味付けや、こっそり『混ぜ物』をすることもできますが…あまり、やり過ぎないようにしましょうね」")
		CALL DQPRINT("「作った요리は携帯することができますが、時間が経つと味が落ち傷んでしまいます。召し上がるならお早めに」")
		CALL DQPRINT("「通販などで『보온전기밥통』を買っておくと、冷めずにキープできる時間が延びますよ」")
		FLAG:591 += 9
	CASE 206
		CALL DQPRINT("「通販で楽器を購入すると、【연주한다】ことができるようになります」")
		CALL DQPRINT("「바이올린だけは、음악기능を少し磨かないと演奏は難しいようです」")
		CALL DQPRINT("「また、피아노は流石に持ち運べないので、特定の場所に設置する感じになりますね」")
		CALL DQPRINT("「人がいるところでは自分の演奏を聴いてもらうこともできます」")
		CALL DQPRINT("「회화よりも広く、多くの人へ言葉や想いを届けることができますよ」")
		CALL DQPRINT("「このとき、演奏が上手だと、賞賛の言葉や『おひねり』をもらえるかもしれません」")
		CALL DQPRINT("「逆に、耳障りだったり、仕事中の人の傍で演奏しちゃうと、大変なことになるかもです」")
		CALL DQPRINT("「一人でしっかり練習して『음악기능』を高めてから、お披露目するといいでしょうね」")
		CALL DQPRINT("「연주경험を延々と積み重ねることで、いずれ『楽器知識』や『相対음감』などを身につけることもできるでしょう」")
		CALL DQPRINT("「里の대본屋で『연주지도서』を借りておくと、効率よく経験を貯めることができますよ」")
		CALL DQPRINT("「また、一緒にいる人の음악기능がある程度高いと、演奏に飛び込み参加してくれるかもしれません」")
		CALL DQPRINT("「セッションで観衆を沸かせるとか、ロマンありますよね♪」")
		FLAG:591 += 12
	CASE 207
		CALL DQPRINT("「通販で『낚싯대』を購入すると、【釣り】ができるようになります」")
		CALL DQPRINT("「おもに外出先の水辺で、낚시를 한다ことができますよ」")
		CALL DQPRINT("「釣りは『待ち』が肝要です。いずれ釣れるさ、くらいの気構えでどんと待ちましょう」")
		CALL DQPRINT("「『魚』や『맛있는물고기』が釣れればよいですが、結構な割合でゴミや外道も上がるようです」")
		CALL DQPRINT("「日によっては、全然釣れない日もあるかもしれません。まあ、そういう日もあるということで」")
		CALL DQPRINT("「一度でうまくいかなくても、いずれ釣れる時がきます。相方とのんびり、釣り糸を垂れてみてください」")
		CALL DQPRINT("「里の대본屋で『생선도감』を借りておくと、効率よく経験を貯めることができますよ」")
		CALL DQPRINT("「釣りバカ、釣りキチは褒め言葉。太公望の境地まで行ってみます？」")
		FLAG:591 += 8
	CASE 208
		CALL DQPRINT("「マップ上の特定の場所で【採集】をすることができます」")
		CALL DQPRINT("「経験が浅く『채집기능』が低いうちは、大したものは採集できないかもしれません」")
		CALL DQPRINT("「採集したものは【調合】の材料にしたり、果物の類なら아이템として食べることもできます」")
		CALL DQPRINT("「ものによっては露店で売ったり、약초の類については、영원정のお医者さんに卸すこともできますよ」")
		CALL DQPRINT("「ちなみに場所ごと、あるいは季節ごとに採集できる아이템が違っています」")
		CALL DQPRINT("「どこで何が取れるか、今の季節に何が採集できるのかは、『採集リスト』を見るとよいでしょう」")
		CALL DQPRINT("「ちなみに、採集リストの解放には一定の『교양Lv』が必要ですので、注意してください」")
		CALL DQPRINT("「里の대본屋で『채집가이드』を借りておくと、採集できるものが増えたり、経験を貯めやすくなりますよ」")
		CALL DQPRINT("「一人でやるより、誰かに手伝ってもらえると質・量・経験ともにいいのかもしれませんね」")
		CALL DQPRINT("「時間が惜しいときには、『시간정지中』でも、TSPを消費して採集をすることができます」")
		CALL DQPRINT("「当然ですが、時を止めて採集をしているときは手伝ってもらえないので、一人での作業になりますよ」")
		CALL DQPRINT("「また、地点によっては特定の人の許可を得ないと採集ができない場合もありますので、あしからず」")
		FLAG:591 += 12
	CASE 209
		CALL DQPRINT("「通信販売で『조제용품 세트』を購入すると【調合】ができるようになります」")
		CALL DQPRINT("「조제용품 세트を持っていなくても、場所によっては調合器具を借りられるところもあるようですよ」")
		CALL DQPRINT("「基本的には、採集などで入手した아이템を消費して、新しい아이템を作り出せます」")
		CALL DQPRINT("「調合の経験を重ねることで、『조제기능』が上がると、調合できる아이템が増え、成功率が上がります」")
		CALL DQPRINT("「レシピに『水』が必要な아이템を조제한다には、【물긷기】をしてくる必要がありますので気を付けてください」")
		CALL DQPRINT("「必要な아이템が揃っていれば、同じ아이템を複数個一気に조제한다こともできます」")
		CALL DQPRINT("「取得できる経験量などは同じまま、調合所要時間を減らせるので、出来る限りまとめ作りすることをオススメしますよ」")
		CALL DQPRINT("「里の대본屋で『약학교본』を借りておくと、中位までの調合品のレシピが解放されるとともに、経験を貯めやすくなります」")
		CALL DQPRINT("「また、例に漏れず、一緒に手伝ってくれる人がいると、効率よく調合を行うことができますよ」")
		CALL DQPRINT("「ちなみに、調合レシピの中には、特定の方からのみ教わることのできるものも存在しています」")
		CALL DQPRINT("「とりあえず色々接点を持って、その方との『친밀』を上げていけば色々と教えてもらえるのでは？」")
		FLAG:591 += 11
	CASE 210
		CALL DQPRINT("「拠点の『부엌』などに置かれている술벌레の入っている瓶を利用して、酒造りをすることができます」")
		CALL DQPRINT("「부엌で【술벌레 상태를 본다】コマンドを選んでください」")
		CALL DQPRINT("「このとき、【물긷기】をしていると、술벌레の瓶に水を入れ替えることができます」")
		CALL DQPRINT("「あとは数日経てば、自然に水が酒に変化していきますよ」")
		CALL DQPRINT("「仕上がるまでの時間を短縮したいときには、TSPが十分성장していれば【時間操作酒造】ができます」")
		CALL DQPRINT("「他にも、『그냥 물』から『탁주』を作る時には、『탁주』を５個入れることで仕上がりを早められますね」")
		CALL DQPRINT("「また、瓶に入れる水の種類によって、作られる酒が変わってきます」")
		CALL DQPRINT("「우물などから汲める『그냥 물』からは『탁주』、さらに『탁주』のまま置いておくと『청주』が作られます」")
		CALL DQPRINT("「『안개의 호수』とその호숫가から汲める『안개의 호수의 물』からは、直接『청주』を作らせることができます」")
		CALL DQPRINT("「『옛지옥 온천』で汲める『지옥 온천의 물』からは『오니고로시』が作られます。ただし、作れる量は少なめのようですね」")
		CALL DQPRINT("「『산의 호수』とその호숫가で汲める『기적의 물』からは『신주』が作られます。残念ながらこちらも作れる量はごく少なめのようです」")
		CALL DQPRINT("「ああ、出来上がったお酒を取り出したいときには、必ず入れ替えるお水を汲んできてくださいね」")
		CALL DQPRINT("「出来上がる酒の量は『교양Lv』によって多少増減するようですよ」")
		CALL DQPRINT("「得られたお酒は人にふるまっても良し、里の『술집に卸す』も良し。お好きに消費していってください」")
		CALL DQPRINT("「ちなみに『증류주』や『약주』などは【調合】で作るお酒です。술벌레からは作れませんのであしからず」")
		FLAG:591 += 15
	CASE 211
		CALL DQPRINT("「まずは里の【꽃집】で『원예용품일식』と、野菜等の種を購入してきてください。텃밭が始められますよ」")
		CALL DQPRINT("「拠点のマップの W が描かれているところで、텃밭を運営することができます」")
		CALL DQPRINT("「拠点によってはスペースがなく、栽培ができない所もありますので、ご了承ください」")
		CALL DQPRINT("「種を撒いたら、土が乾ききる前に물긷기をしてきて、水をやってあげてください」")
		CALL DQPRINT("「あとは、日が経っていくうちに野菜が성장していきます。気長に見守りましょう」")
		CALL DQPRINT("「土が乾いたまま放っておくと、野菜が枯れてしまいます。まれに、水をあげると蘇る場合もあるようですが」")
		CALL DQPRINT("「水撒きが大変ということであれば、紅魔館の有料の『代行サービス』を依頼してもいいかもですね」")
		CALL DQPRINT("「あるいは、河童の道具屋の『간이풀장』を改造して『ス푸딩クラー』を作ってもらえば、すぐ水撒きができるようになるでしょう」")
		CALL DQPRINT("「晴れが続けば野菜はどんどん育ちますが、雨や雪では、성장が遅くなってしまいます」")
		CALL DQPRINT("「꽃집で『거름』を買うか【調合】で作って撒けば、植物の성장を早めることができますよ」")
		CALL DQPRINT("「作物は（実）か（熟）の状態で収穫することができます」")
		CALL DQPRINT("「（熟）の状態だと、豊作になって収穫量が増えることがありますよ。うっかり収穫し忘れることがないようにしましょう」")
		CALL DQPRINT("「拠点によっては、天候の影響を受けずに作物を育てることができます。うまく栽培を進めていきましょうね」")
		FLAG:591 += 13
	CASE 212
		CALL DQPRINT("「たまに、出会った方から依頼を持ちかけられることがあります」")
		CALL DQPRINT("「依頼を期日内に成功させると、様々な報酬がもらえますよ」")
		CALL DQPRINT("「逆に、期日内で終わらせられないと失敗になり、호감도や신뢰도が下がってしまいます」")
		CALL DQPRINT("「依頼の内容は多岐に渡り、キャラにより固有の依頼もあります」")
		CALL DQPRINT("「ちょっと大変なのが『手紙を届ける』『誰かの落し物を届ける』『落し物を探す』でしょうか」")
		CALL DQPRINT("「お届け対象の方の所在を探るには【하늘의 소리를 듣는다】とよいでしょう」")
		CALL DQPRINT("「探し物の場合は、ダウジングや探査が得意な方を尋ねると、力を貸してくれますよ」")
		CALL DQPRINT("「あるいは、【발원한다】で捧げ物を奉じて神様の力を借りれば、在り処を探ることもできるかもしれません」")
		CALL DQPRINT("「依頼を完了したら、必ず【報告をする】ようにしてください」")
		CALL DQPRINT("「外出先で依頼者が不在でも、居宅を訪ねれば報告完了したことになりますので、ご安心を」")
		CALL DQPRINT("「ああそうそう、魔理沙さんに聞けば、困りごとを抱えている人を教えてくれるかもしれませんね」")
		FLAG:591 += 10
	CASE 213
		CALL DQPRINT("「탄막승부ですか。互いの戦闘技能の粋を尽くした美しき決闘です」")
		CALL DQPRINT("「전투훈련ができるくらい広い空間で、申し込むことができます」")
		CALL DQPRINT("「たまに、外出先から一人で戻る時に不逞の輩に決闘を申し込まれることもあるかもしれません」")
		CALL DQPRINT("「基本は、３機の残機を失う前に、相手を３回撃ち落とせば勝ちです」")
		CALL DQPRINT("「公開された自分のダイス値が、相手の予測値と比べてあからさまに小さい場合は【回避に専念】しておきましょう」")
		CALL DQPRINT("「【回避に専念】している間は、値が負けてもグレイズして체력で受けることができます」")
		CALL DQPRINT("「체력が無くなったらピチュってしまいますので、凌いだらどこかで勝負をしかけたいものです」")
		CALL DQPRINT("「【勝負する】際に、ボムを放つことで値の上乗せができます」")
		CALL DQPRINT("「また、ボムは僅差で敗れそうなときにその勝負を無効化することもできるので、使いどころは慎重に考えましょう」")
		CALL DQPRINT("「【調合】で作れる탄막승부を支援する아이템を持ち込めば、補正を受けられるので少し優位に立てるかもです」")
		CALL DQPRINT("「탄막승부の勝利数は『実績解除』に直結し、あるいは楽譜の入手に関わってくることもあります」")
		CALL DQPRINT("「まずは勝てそうな人から、少しずつ挑んでいくといいのでは？」")
		FLAG:591 += 12
	CASE 998
		SELECTCASE RAND:7
			CASE 0
				CALL DQPRINT("「眠そうですね」")
				CALL DQPRINT("「いやまぁ……私の話が長いので、仕方ないんでしょうけど」")
				CALL DQPRINT("「夢の中で入眠するとは、これいかに」")
				FLAG:591 ++
			CASE 1
				CALL DQPRINT("「基礎基本の復習・確認は大事ですよ」")
				CALL DQPRINT("「こういったインフォメーションの隅々まで目を通すのは、よい傾向です」")
			CASE 2
				CALL DQPRINT("「ずいぶん、ゆっくりした語り口だと？」")
				CALL DQPRINT("「テキストが無味乾燥にならないようにする『伝統芸能』だと伺ってましたけど」")
				CALL DQPRINT("「何だったら、音でも鳴らします？　こう、ピロピロって」")
				FLAG:591 ++
			CASE 3
				CALL DQPRINT("「何だったら子守唄でも歌います？」")
				CALL DQPRINT("「……余計に話が頭に入らなくなるって？　そりゃそうですよね」")
			CASE 4
				CALL DQPRINT("「え？　夢枕に美女が立つと、いい思いができるんじゃ、って？」")
				CALL DQPRINT("「……夢魔か何かと混同されるとは心外ですね」")
				CALL DQPRINT("「私、由緒正しい悪夢イーターですので」")
				FLAG:591 ++
			CASE 5
				CALL DQPRINT("「あなたが朝、寝過ごしもせずぴしゃりと起きられるのはなぜだと思います？」")
				CALL DQPRINT("「……ふふ、ご想像におまかせしますよ」")
			CASEELSE
				CALL DQPRINT("「……はぁ、なんでこんな仕事をしているのかと？」")
				CALL DQPRINT("「夢の中ですからね。まあ、多少メタなことを言っても大丈夫、ということでしょう」")
		ENDSELECT
		FLAG:591 += 2
	CASE 999
		CALL TUTORIAL_BONUS()
		GOTO TUTORIALEND
	CASEELSE
		CLEARLINE 1
		CALL TUTORIAL_BONUS()
		GOTO LOOP01
ENDSELECT
CALL TUTORIAL_BONUS()
GOTO LOOP01

$TUTORIALEND
CALL DQPRINT("「おや？　お帰りですか？」")
SELECTCASE RAND:2
	CASE 0
		CALL DQPRINT("「……それでは、よい夢――いえいえ、現の日々を」", 1)
	CASE 1
		CALL DQPRINT("「では……いってらっしゃいませ。よい目覚めをお迎えくださいね」", 1)
ENDSELECT
PRINTL
RESETCOLOR
RESETBGCOLOR
;消去行数は今のところ固定（最初～））
CLEARLINE 17
PRINTL
RETURN

;-------------------------------------------------
;ド○クエっぽくテキストを流す
;ARGS ""で括って文字列を入れる
;ARG:0	0 = クリックしたら消える（省略時）
;		1 = 消えない（改行つき）
;		2 = 灰色にして残す(改行つき)
;ARG:1 テキスト表記・１文字あたりwait時間 省略可
;-------------------------------------------------
@DQPRINT(ARGS, ARG:0 = 0, ARG:1 = 20)
#DIM 文字数
#DIM 検索数

LOCAL:0 = 0

STRLENFORM %ARGS%
文字数 = RESULT:0
検索数 = 文字数 + 1

FOR LOCAL:0, 0, 検索数
	IF LOCAL:0 == 文字数
		IF ARG:0
			PRINTFORM %ARGS%
		ELSE
			REUSELASTLINE %ARGS%
		ENDIF
		WAIT
	ELSE
		SUBSTRING ARGS, 0, LOCAL:0
		REUSELASTLINE %RESULTS:0%
		TWAIT ARG:1, 1
	ENDIF
NEXT
IF ARG:0 == 0
	REUSELASTLINE
ELSEIF ARG:0 == 2
	CLEARLINE 1
	CALL COLORMESSAGE(@"%ARGS%", 0x696969, 1)
ENDIF

;-------------------------------------------------
;チュートリアル読破ボーナス贈呈
;-------------------------------------------------
@TUTORIAL_BONUS()
#DIM ボーナス内容
#DIM 授与個数

ボーナス内容 = 0

IF FLAG:591 >= TB_TOTALLINES()
	FLAG:592 ++
	ボーナス内容 = FLAG:592
ENDIF

SIF ボーナス内容
	TWAIT 2500, 1
SELECTCASE ボーナス内容
	CASE 1
		CALL DQPRINT("「夢の世界でのお喋りにお付き合いいただき、ありがとうございます」")
		CALL DQPRINT("「こちら、ほんの気持ちですが。お受け取りくださいな」")
	CASE 2
		CALL DQPRINT("「ずいぶん話し込んでしまいました。はい、こちら粗品となります」")
		CALL DQPRINT("「え？　夢でもらったものが持ち越せるのはなんでだって？」")
		CALL DQPRINT("「そこはそれ、夢の支配者たる私にとってはさしたる障害ではありませんよ」")
	CASE 3
		CALL DQPRINT("「なかなかの聞き上手とみました。あるいは生真面目なのか」")
		CALL DQPRINT("「それとも、景品があると燃えるタイプですかね？　ふふ♪」")
	CASE 4
		CALL DQPRINT("「ここまでお付き合いくださり、ありがとうございます」")
		CALL DQPRINT("「夢の世界でもくつろぎはじめるあたり、流石というかなんというか」")
		CALL DQPRINT("「さて、今回はとっておきの一品。現在提供中の、安眠枕の改良試作品です」")
		CALL DQPRINT("「夢の世界でもリラックスできるほどのあなたには必要ないかもしれませんが、どうぞお試しください」")
		CALL DQPRINT("「あ、後で使用感を聞かせてくださいね♪」")
ENDSELECT

IF ボーナス内容
	SELECTCASE ボーナス内容
		CASE 4
			授与個数 = 1

		CASEELSE
			授与個数 = 3
	ENDSELECT
	IF ITEM:TB_ITEM() + 授与個数 > 99
		ITEM:TB_ITEM() = 99
	ELSE
		ITEM:TB_ITEM() += 授与個数
	ENDIF
	IF ボーナス内容 == 4
		CALL COLORMESSAGE(@"%ITEMNAME:TB_ITEM()%をもらった！", C_YELLOW, 2, 1)
	ELSE
		CALL COLORMESSAGE(@"%ITEMNAME:TB_ITEM()%を{授与個数}個もらった！", C_YELLOW, 2, 1)
	ENDIF
	CLEARLINE 1
ENDIF

;-------------------------------------------------
;チュートリアル読破ボーナスと累計行数対応一覧
;あとあと拡張する……かも？
;-------------------------------------------------
@TB_TOTALLINES()
#FUNCTION

SELECTCASE FLAG:592
	CASE 0
		RETURNF 150
	CASE 1
		RETURNF 200
	CASE 2
		RETURNF 250
	CASE 3
		RETURNF 300
	CASEELSE
		RETURNF 999999
ENDSELECT

;-------------------------------------------------
;チュートリアル読破ボーナス進行度と授与아이템対応一覧
;あとあと拡張する……かも？
;-------------------------------------------------
@TB_ITEM()
#FUNCTION

SELECTCASE FLAG:592
	CASE 1	;수면제
		RETURNF 252
	CASE 2	;약주
		RETURNF 59
	CASE 3	;다크매터
		RETURNF 639
	CASE 4	;스위티숙면배개
		RETURNF 404
ENDSELECT


code:
@UPDATE
#DIM C_ID
#DIM 갱신능력번호
#DIM 최저능력치
#DIM 최저경험수
#DIM 육아중의아이
#DIM 아이설정첫회
#DIM 대사실장체크, 캐릭터수상한
#DIM 리셋화면
#DIM 기능소질갱신용

;---------------------------------------
;TWKR판 고유 또는 구버전 기능
FOR C_ID, 1, CHARANUM
;;바람기공인과 액세서리의 앨리어싱
CSTR:C_ID:49=%CSTR:C_ID:50%
CSTR:C_ID:50=%CSTR:C_ID:51%
CSTR:C_ID:51=

;;아내 추가 패치 관련
	SIF TALENT:C_ID:연인&&!(TALENT:C_ID:연인==3)
		TALENT:C_ID:연인=1
NEXT
;----------------------------------------

PRINTL 구버전에는 존재하지 않던 캐릭터·초기 소질·플래그 등이 있으면 수중에 넣습니다.

VARSET 대사실장체크
리셋화면 = 0
FOR C_ID, 51, 캐릭터수상한
	SIF CFLAG:C_ID:대사실장상황
	CONTINUE
	IF C_ID < CHARANUM
		SIF TALENT:C_ID:스침
			DELCHARA C_ID
	ENDIF
	IF GETCHARA (C_ID) == -1
		ADDCHARA C_ID
		TARGET = C_ID
		RESULT = 0
		TRYCALLFORM M_KOJO_K{NO:C_ID}
		SIF RESULT
			CFLAG:C_ID:대사실장상황 = 1
	ENDIF
	IF TALENT:C_ID:스침
		RANDOM_CHARANUM = C_ID
		BREAK
	ENDIF
NEXT

IF !CFLAG:MASTER:아이인원수
	FOR C_ID, 1, CHARANUM
		SIF TALENT:C_ID:스침
			CONTINUE
		CFLAG:MASTER:아이인원수 += CFLAG:C_ID:아이인원수
		CFLAG:MASTER:육아인원수 += CFLAG:C_ID:육아인원수
	NEXT
ENDIF
SIF !CM_LIMIT
	CM_LIMIT = 100
YOGORE:348 = 0
FOR C_ID, 1, CHARANUM
	;캐릭터 이름과 통칭을 업데이트
	IF NAME:C_ID != CSVNAME(C_ID)
		NAME:C_ID = %CSVNAME(C_ID)%
		PRINTFORML 캐릭터 이름을 %조사처리(NAME:C_ID,"로")% 갱신
	ENDIF
	IF CALLNAME:C_ID != CSVCALLNAME(C_ID)
		CALLNAME:C_ID = %CSVCALLNAME(C_ID)%
		PRINTFORML 캐릭터 통칭을 %조사처리(CALLNAME:C_ID,"로")% 갱신
	ENDIF
	SIF TALENT:C_ID:스침
		CONTINUE
	;CSTR:일정보를 CSTR:3으로 이행하는 수속
	IF CSTR:C_ID:3 == "" && CSVCSTR(C_ID, 3) != ""
		CSTR:C_ID:3 = %CSVCSTR(C_ID, 3)%
		CSTR:C_ID:1 =
	ENDIF
	TALENT:C_ID:186 = 0
	IF TALENT:C_ID:연모
		TALENT:C_ID:사모 = 0
		TALENT:C_ID:섹프 = 0
		TALENT:C_ID:애욕 = 0
	ENDIF
	CALL 이력캐릭터라인변환(C_ID)
	IF TALENT:C_ID:육아중
		FOR LOCAL:1, 1, 11
			SIF (CHILD_BIRTHDAY:C_ID:(LOCAL:1) > CHILD_BIRTHDAY:C_ID:(LOCAL:1 - 1)) || (LOCAL:1 - 1) == 0
				육아중의아이 = LOCAL:1
		NEXT
		TALENT:C_ID:육아중 = 육아중의아이
	ENDIF
	SIF !TALENT:C_ID:임신
		CFLAG:C_ID:임신자각상태 = 0
	SIF !CFLAG:C_ID:의뢰상황
		CFLAG:C_ID:의뢰내용 = 0

	FOR LOCAL:1, 0, 3
		SIF !EFFECTIVE_PATTERN_V:C_ID:(LOCAL:1)
			EFFECTIVE_PATTERN_V:C_ID:(LOCAL:1) = 1 + RAND:3
		SIF !EFFECTIVE_PATTERN_A:C_ID:(LOCAL:1)
			EFFECTIVE_PATTERN_A:C_ID:(LOCAL:1) = 1 + RAND:3
	NEXT

	;종족계 소질을 갱신
	FOR LOCAL:1, 190, 198
		TALENT:C_ID:(LOCAL:1) = CSVTALENT(C_ID, LOCAL:1)
	NEXT
	;습기선호, 한기선호, 종족(미사용? ), 반백택, 동물귀도 변동하지 않는다고 생각되므로 갱신
	FOR LOCAL:1, 163, 167
		TALENT:C_ID:(LOCAL:1) = CSVTALENT(C_ID, LOCAL:1)
	NEXT

	;기능계 소질
	기능소질갱신용 = MAX(ABL:C_ID:낚시기능, CSVTALENT(C_ID, 47))
	TALENT:C_ID:낚시Lv = MAX(TALENT:C_ID:낚시Lv, 기능소질갱신용)
	CALL SET_MINIMUM_EXP(C_ID, GETNUM(EXP, "낚시경험"), TALENT:C_ID:낚시Lv)

	기능소질갱신용 = MAX(ABL:C_ID:채집기능, CSVTALENT(C_ID, 48))
	TALENT:C_ID:채집Lv = MAX(TALENT:C_ID:채집Lv, 기능소질갱신용)
	CALL SET_MINIMUM_EXP(C_ID, GETNUM(EXP, "채집경험"), TALENT:C_ID:채집Lv)

	기능소질갱신용 = MAX(ABL:C_ID:조제기능, CSVTALENT(C_ID, 49))
	TALENT:C_ID:조제Lv = MAX(TALENT:C_ID:조제Lv, 기능소질갱신용)
	CALL SET_MINIMUM_EXP(C_ID, GETNUM(EXP, "조제경험"), TALENT:C_ID:조제Lv)
;TODO 벌채경험 이식시 수정 및 추가바람
[SKIPSTART]
	기능소질갱신용 = CSVTALENT(C_ID, 46)
	TALENT:C_ID:伐採Lv = MAX(TALENT:C_ID:伐採Lv, 技能素質更新用)
	CALL SET_MINIMUM_EXP(C_ID, GETNUM(EXP, "벌채경험"), TALENT:C_ID:伐採Lv)
[SKIPEND]

	TALENT:C_ID:통각 = CSVTALENT(C_ID, GETNUM(TALENT, "통각"))
	TALENT:C_ID:동물귀 = CSVTALENT(C_ID, GETNUM(TALENT, "동물귀"))
	SIF TALENT:C_ID:회복속도 < CSVTALENT(C_ID, GETNUM(TALENT, "회복속도")) && !TALENT:C_ID:임신 && CFLAG:C_ID:출산경과일 > 20
		TALENT:C_ID:회복속도 = CSVTALENT(C_ID, GETNUM(TALENT, "회복속도"))
	;아마 괜찮다고 생각하지만, 후천적인 취득 처리를 전망해 판정
	SIF TALENT:C_ID:청소부 == 0
		TALENT:C_ID:청소부 = CSVTALENT(C_ID, GETNUM(TALENT, "청소부"))
	SIF TALENT:C_ID:음감 == 0
		TALENT:C_ID:음감 = CSVTALENT(C_ID, GETNUM(TALENT, "음감"))
	SIF TALENT:C_ID:음악지식 == 0
		TALENT:C_ID:음악지식 = CSVTALENT(C_ID, GETNUM(TALENT, "음악지식"))
	SIF GETBIT(TALENT:C_ID:성별, 1) && !TALENT:C_ID:형상
		CALL TINKO_DECIDE(C_ID)

	;내방확률 보정을 읽어들여
	FOR LOCAL:1, 420, 432
		CFLAG:C_ID:(LOCAL:1) = CSVCFLAG(C_ID, LOCAL:1)
	NEXT
	;내방 위치를 읽어들여
	FOR LOCAL:1, 450, 462
		CFLAG:C_ID:(LOCAL:1) = CSVCFLAG(C_ID, LOCAL:1)
	NEXT
	FOR LOCAL:1, 1, CHARANUM
		RELATION:C_ID:(LOCAL:1) = CSVRELATION(C_ID, LOCAL:1)
	NEXT
	;주인 플래그
	CFLAG:C_ID:집주인후보 = CSVCFLAG (C_ID, GETNUM(CFLAG, "집주인후보"))
	CFLAG:C_ID:더부살이필요신뢰도 = CSVCFLAG (C_ID, GETNUM(CFLAG, "더부살이필요신뢰도"))
	CFLAG:C_ID:집세 = CSVCFLAG (C_ID, GETNUM(CFLAG, "집세"))

	CFLAG:C_ID:고유커맨드 = CSVCFLAG (C_ID, GETNUM(CFLAG, "고유커맨드"))
	CFLAG:C_ID:지위 = CSVCFLAG (C_ID, GETNUM(CFLAG, "지위"))
	CFLAG:C_ID:초기위치 = CSVCFLAG (C_ID, GETNUM(CFLAG, "초기위치"))
	SIF CFLAG:C_ID:신사거주
		CFLAG:C_ID:초기위치 = CFLAG:C_ID:신사거주
	CFLAG:C_ID:내방시간 = CSVCFLAG (C_ID, GETNUM(CFLAG, "내방시간"))
	CFLAG:C_ID:귀가시간 = CSVCFLAG (C_ID, GETNUM(CFLAG, "귀가시간"))
	CFLAG:C_ID:취침시간 = CSVCFLAG (C_ID, GETNUM(CFLAG, "취침시간"))
	CFLAG:C_ID:기상시간 = CSVCFLAG (C_ID, GETNUM(CFLAG, "기상시간"))
	CFLAG:C_ID:자주가는지역 = CSVCFLAG (C_ID, GETNUM(CFLAG, "자주가는지역"))
	CFLAG:C_ID:자택위치 = CSVCFLAG (C_ID, GETNUM(CFLAG, "자택위치"))
	CFLAG:C_ID:이동율보정 = CSVCFLAG (C_ID, GETNUM(CFLAG, "이동율보정"))
	CFLAG:C_ID:이동절도 = CSVCFLAG (C_ID, GETNUM(CFLAG, "이동절도"))
	;CFLAG:C_ID:내방억제치 = CSVCFLAG(C_ID, GETNUM(CFLAG, "내방억제치")) ;TODO 내방억제치 이식시 수정 및 추가바람
	CFLAG:C_ID:탄막특능 = CSVCFLAG (C_ID, GETNUM(CFLAG, "탄막특능"))
	SIF !CFLAG:C_ID:탄막특능
		CALL 탄막특수능력설정(C_ID)
	;최대 기력 체력이 CSV치보다 낮은 경우 CSV에 맞춘다
	IF !CFLAG:C_ID:회복속도다운
		SIF MAXBASE:C_ID:0 < CSVBASE (C_ID, 0)
			MAXBASE:C_ID:0 = CSVBASE (C_ID, 0)
		SIF MAXBASE:C_ID:1 < CSVBASE (C_ID, 1)
			MAXBASE:C_ID:1 = CSVBASE (C_ID, 1)
	ENDIF
	;술내성
	MAXBASE:C_ID:술기운 = CSVBASE(C_ID, GETNUM(BASE, "술기운"))
	CALL SET_MINIMUM_EXP_ALL(C_ID)
	FOR 갱신능력번호, 0, 111
		SIF EXP:C_ID:갱신능력번호 < CSVEXP (C_ID, 갱신능력번호)
			EXP:C_ID:갱신능력번호 = (EXP:C_ID:갱신능력번호 + CSVEXP (C_ID, 갱신능력번호))
	NEXT
	;팬티 종류 비존재시 소거
	FOR LOCAL:1, 2, MAXPANTS
		SIF CFLAG:C_ID:(LOCAL:1 + 팬티관리) && GET_STR(C_ID, "하반신속옷_비켜놓아가능", LOCAL:1, "이름") == ""
			CFLAG:C_ID:(LOCAL:1 + 팬티관리) = 0
	NEXT
	;자식의성별과 생년월일
	IF EXP:C_ID:출산경험
		FOR LOCAL:1, 1, 11
			IF CHILD_BIRTHDAY:C_ID:(LOCAL:1) && !CHILD_BIRTHDATE:C_ID:(LOCAL:1)
				;생년월일 설정
				CHILD_BIRTHDATE:C_ID:(LOCAL:1) = DAY_TO_DATE(CHILD_BIRTHDAY:C_ID:(LOCAL:1))
				;날씨는 거슬러 올라갈 수 없기 때문에 개이고 란 것으로
				CHILD_WEATHER:C_ID:(LOCAL:1) = 분명히 맑음
				;엘렌의 아이는 예외
				IF C_ID == [[엘렌]]
					CHILD_SEX:C_ID:(LOCAL:1) = 0
				ELSE
					;첫회
					IF !아이설정첫회 && !FLAG:자식의성별
						아이설정첫회 = 1
						PRINTL 자식의성별이 설정되어 있지 않습니다
						PRINTL 선택해 주세요
						CALL ASK_M("랜덤", 1, "여자아이", 1, "남자아이", 1)
						SIF RESULT == 1 || RESULT == 2
							FLAG:자식의성별 = RESULT
					ENDIF
					IF !FLAG:자식의성별
						CHILD_SEX:C_ID:(LOCAL:1) = RAND:2 + 1
					ELSE
						CHILD_SEX:C_ID:(LOCAL:1) = FLAG:자식의성별
					ENDIF
					PRINTFORM %CHILDNAME:C_ID:(LOCAL:1), 15, LEFT% 는 \@ CHILD_SEX:C_ID:(LOCAL:1) == 1 ?  녀 # 남 \@의 아이로 생년월일은
					CALL PRINT_DATE(CHILD_BIRTHDAY:C_ID:(LOCAL:1))
					PRINTFORML 입니다
				ENDIF
			ENDIF
		NEXT
	ENDIF
NEXT
CFLAG:MASTER:신사거주 = CFLAG:MASTER:초기위치
IF FLAG:더부살이캐릭터 && SUMIKOMI_ROOM
	CFLAG:(FLAG:더부살이캐릭터):신사거주 = SUMIKOMI_ROOM
	CFLAG:(FLAG:더부살이캐릭터):초기위치 = SUMIKOMI_ROOM
	CFLAG:(FLAG:더부살이캐릭터):자택위치 = SUMIKOMI_ROOM
ENDIF
SIF !FLAG:술벌레
	FLAG:술벌레 = 1

;레이무
NAME:[[레이무]] = 하쿠레이 레이무

;루코토

;카나

;미마

;서니

;루나

;스타

;치유리

;유메미

;스이카

;마리사

;루미아

;다이짱

;⑨

;메이드장

;

;앨리스

;흰 백합

;패모속의 백합

;리리카

;메를랑

;루나사

;요우무

;첸

;란

;유카리

;리글

;미스치
;문

;에이키 님

;사나에

;카나코 님

;스와코 님

;텐시

;이쿠 씨

;오린
;먹는다

;코이시

;나즈

;코가사

;누에

;하타테

;카센

;엘렌

;리카코

;메이라

;리카

;루이즈

;사토링

;플랑

;니토리

;레이센
NAME:[[우동게]] = 레이센·우돈게인·이나바
;테위
;파츄리

;뱌쿠렌
NAME:[[뱌쿠렌]] = 히지리 뱌쿠렌

;미코 님

;코코로
;CFLAG:57:신사 거주 = CFLAG:57:초기 위치

;메이링

;개

;파르시

;모코우

;공주님

;카게로
;유우기

;모미지
;님

;케이네
NAME:[[케이네]] = 카미시라사와 케이네

;유카
;TALENT:68:105 = 1

;마미조

;코스즈

;신묘마루
NAME:[[신묘마루]] = 스쿠나 신묘마루
;CFLAG:71:신사 거주 = CFLAG:71:초기 위치
;TALENT:71:100 = -5

;에이린
NAME:[[에이린]] = 야고코로 에이린

;반키

;레티

;메디슨

;코마치

;시즈하

;미노리코

;히나

;아큐

;렌코

;메리

;키스메

;야마메

;이치린

;무라사

;쇼

;쿄코
;요시카

;청아

;토지코

;후토

;와카사기히메

;벤벤

;야츠하시

;라이코

;세이자

;요리히메
NAME:[[요리히메]] = 와타츠키노 요리히메

;토요히메
NAME:[[토요히메]] = 와타츠키노 토요히메

;레이센

;토키코

;신키

;유메코

;유키

;마이

;스미레코

;세이란

;링고

;도레미

;사구메

;클라운피스
CALLNAME:[[클라운피스]] = 클라운피스

;순호

;헤카티아
CALLNAME:[[헤카티아]] = 헤카티아

;오키나

SIF !EXP:[[뱌쿠렌]]:V경험
	TALENT:[[뱌쿠렌]]:0 = 1
;초대면 관리를 FLAG:13으로부터 CFLAG:18에 이행
IF FLAG:13 != 0
	FOR C_ID, 1, 63
		SIF GETBIT(FLAG:13, C_ID)
			CFLAG:C_ID:안면 = 1
	NEXT
	FLAG:13 = 0
ENDIF

;의상 플래그의 수정
CFLAG:[[레이무]]:기본복장세트 = 101
CFLAG:[[오쿠]]:기본복장세트 = 137
CFLAG:[[니토리]]:기본복장세트 = 151
CFLAG:[[우동게]]:기본복장세트 = 152
CFLAG:[[테위]]:기본복장세트 = 153
CFLAG:[[파츄리]]:기본복장세트 = 154
CFLAG:[[뱌쿠렌]]:기본복장세트 = 155
CFLAG:[[미코]]:기본복장세트 = 156
CFLAG:[[코코로]]:기본복장세트 = 157
CFLAG:[[신묘마루]]:기본복장세트 = 171

;당신 관련 처리

;본래 붙지 않을 부정적 감정이 MASTER에게 붙어 있는 경우의 삭제처리
SIF CFLAG:MASTER:언짢음 == 1
	CFLAG:MASTER:언짢음 = 0
SIF CFLAG:MASTER:빡침 == 1
	CFLAG:MASTER:빡침 = 0
SIF TALENT:MASTER:기분 == -1
	TALENT:MASTER:기분 = 0

MAXBASE:MASTER:술기운 = 1500
;MASTER가 여자, 후타나리 때
IF GETBIT(TALENT:MASTER:성별, 0)
	IF FLAG:주회수 && TALENT:MASTER:처녀 == 1 && CSTR:MASTER:처녀상실이력 != ""
		CSTR:MASTER:처녀상실이력 =
		CFLAG:MASTER:처녀상실기념일 = 0
		CFLAG:MASTER:처녀상실대상 = 0
	ENDIF
;MASTER가 남자
ELSE
	TALENT:MASTER:가슴사이즈 = -2
ENDIF
SIF GETBIT(TALENT:MASTER:성별, 1) && !TALENT:MASTER:형상
	CALL TINKO_DECIDE(MASTER)
;요술망치의 대상이 종료하지 않고 훨씬 허술한 쓸모 있게 되고 있는 경우의 수정
;요주의 크게 한 후에 2 개로 했을 경우, 및 2 개로 한 후에 크게 했을 경우, 허술한 것이 Default가 될 가능성이 있습니다
;그 경우, 스스로 원래 형상을 재설정하지 않으면 안됩니다
SIF TALENT:MASTER:형상 != CFLAG:MASTER:382 && CFLAG:MASTER:마력회수 < 0
	TALENT:MASTER:형상 = CFLAG:MASTER:382
SIF CFLAG:MASTER:마력회수 > 0 && CFLAG:MASTER:요술망치 == 0
	CFLAG:MASTER:마력회수 = 0
IF TALENT:MASTER:체형 == -3
	TALENT:MASTER:체형 = 0
	PRINTFORML ―――%CALLNAME:MASTER%의 체형을 재설정합니다―――
	PRINTL
ENDIF

;접는우산
SIF ITEM:36 == 0 && ITEMSTOCK(36) == 2
	ITEMSALES:36 ++
;로터
SIF ITEM:0 < 0
	ITEM:0 = 0
SIF ITEM:0 == 0 && ITEMSTOCK(0) == 2
	ITEM:0 = 1

FLAG:출금인원수 = 0
FOR C_ID, 1, CHARANUM
	SIF TALENT:C_ID:스침
		CONTINUE
	SIF CFLAG:C_ID:출금
		FLAG:출금인원수 ++
NEXT

SIF FLAG:3 == 0
	PRINTL 연회의유무 옵션이 OFF가 되었습니다

LOCAL = TARGET
FOR C_ID, 1, CHARANUM
	RESULT = 0
	TARGET = C_ID
;TODO 추후 NEWGAME 디렉토리 이식시 추가 및 수정바람
[SKIPSTART]
	CALL KOJO_MULTIPLE(C_ID)
	IF RESULT
		;신규구상 추가시의 리셋 처리 스위치
		IF RESULT == 2
			대사실장체크 :C_ID = 1
			리셋화면 = 1
		ENDIF
		RESULTS =
		;口上の存在判定 and RESULTSに文字列代入
		IF CFLAG:C_ID:口上セレクタ
			TRYCALLFORM M_KOJO_K{C_ID}_{CFLAG:C_ID:口上セレクタ}
		ELSE
[SKIPEND]
	TRYCALLFORM M_KOJO_K{C_ID}
	IF RESULT
		IF !CFLAG:C_ID:대사실장상황
			대사실장체크 :C_ID = 1
			리셋화면 = 1
			CFLAG:C_ID:대사실장상황 = 1
		ENDIF
		PRINTFORML {C_ID}:%CALLNAME:C_ID% 대사의 UPDATE가 존재하는지 확인합니다
		TRYCALLFORM M_KOJO_UPDATE_K{C_ID}
		PRINTL
	ELSE
		CFLAG:C_ID:대사실장상황 = 0
	ENDIF
NEXT
TARGET = LOCAL

SIF FLAG:34 < DAY
	FLAG:34 = DAY + 1
VARSET FLAG, 0, 300, 500
VARSET LOCAL
;팬티를 CFLAG에 이행
;SAVESTR:10에 2 문자 이상 있으면 실행
IF STRLENS(SAVESTR:10) > 1
	FLAG:700 = 0
	FOR LOCAL,1,CHARANUM
		FOR LOCAL:1,0,MAXPANTS
			LOCALS = /%CALLNAME:LOCAL%{LOCAL:1}/
			CFLAG:LOCAL:(LOCAL:1 + 팬티관리) = STRCOUNT(SAVESTR:10,LOCALS)
			SIF CFLAG:LOCAL:(LOCAL:1 + 팬티관리)
				FLAG:700 ++
		NEXT
	NEXT
	SAVESTR:10 =
	PRINTL 당신의 중요한 팬티 콜렉션을 이행했습니다
ENDIF

;소작인로
IF FLAG:지주 && !FLAG:농민난이도
	CALL MODE_NOUMIN
	CALL LOAN_NOUMIN
ENDIF

;홍마카지노용
SIF !FLAG:카리스마변동상황
	CALL SET_CHARISMA("NEW")

PRINTFORML 낡은 세이브 데이터를 계승했을 경우, 의뢰 상황을 리셋하지 않으면 에러로 다운될 가능성이 높습니다.
PRINTFORML 의뢰 상황을 리셋하겠습니까?
CALL ASK_YN
SIF !RESULT
	CALL IRAI_RESET

;아이템류의 재고 관리
CALL ITEM_RANGE, "식재료의 시장"
FOR LOCAL, RESULT:0, RESULT:1
	SIF ITEM_TYPES( LOCAL, "식재료의 시장" ) && (ITEMSALES:LOCAL == 0 || ITEMSALES:LOCAL > 30 )
		ITEMSALES:LOCAL = LIMIT( ITEMSALES:LOCAL, 10, 30 )
NEXT
CALL ITEM_RANGE, "술집"
FOR LOCAL, RESULT:0, RESULT:1
	SIF ITEM_TYPES( LOCAL, "술집" ) && (ITEMSALES:LOCAL == 0 || ITEMSALES:LOCAL > 30 )
		ITEMSALES:LOCAL = LIMIT( ITEMSALES:LOCAL, 5, 30 )
	[SKIPSTART]
	;TODO 실제 주류 소지수 제한 기능 이식시 추가바람
	IF ITEM:LOCAL > 99
		LOCAL:1 = ITEM:LOCAL - 99
		LOCAL:2 = ITEMPRICE:LOCAL * 50 / 100
		ITEM:LOCAL = 99
		MONEY += LOCAL:1 * LOCAL:2
		PRINTFORML %ITEMNAME:LOCAL%이(가) 99개 이상이므로 초과분을 현금으로 반환합니다.
		PRINTFORML 특별히 통상 주류 매입시 최고금액으로 인수하오니 양해 부탁드립니다.
		PRINTFORML 그리고, 앞으로의 주류 최대소지수는 99개로 제한됩니다.
	ENDIF
	[SKIPEND]
NEXT
CALL ITEM_RANGE, "꽃집"
FOR LOCAL, 1 + RESULT:0, RESULT:1
	SIF ITEM_TYPES( LOCAL, "꽃집" ) && (ITEMSALES:LOCAL == 0 || ITEMSALES:LOCAL > 3 )
		ITEMSALES:LOCAL = 3
NEXT

IF TALENT:MASTER:체형 == -3
	TALENT:MASTER:체형 = 0
	PRINTFORML ---%CALLNAME:MASTER%의 체형을 재설정합니다―--
	PRINTL
ENDIF
IF !FLAG:연회개최플래그
ELSEIF !FLAG:32
	;필요한가 모르겠지만 만약을 위해, 입니다
	;잠정 처리로 우선 하쿠레이 신사 경내를 지정, 주최자가 어긋나거나 해도 신경쓰지 말아라
	FLAG:32 = 2
	PRINTFORML 연회의 개최 위치를 수정합니다
ELSEIF FLAG:32 == 230
	;버그 보고에서의 FLAG:32의 내용은 아마 여기
	FLAG:32 = 218
	PRINTFORML 연회의 개최 위치를 수정합니다
ENDIF

CALL SET_ENKAI_LOCATIONDISPLAY
SAVESTR:본체버전 = %eraTW_Version%

IF 리셋화면
	PRINTFORML 이하 캐릭터의 대사가 신규 실장되었습니다.
	PRINTFORML 호감도, 경험, 능력 등을 리셋하고 싶은 캐릭터를 선택해주세요.
	$PRINT_RESETCHARA
	FOR LOCAL, 1, CHARANUM
		SIF !대사실장체크 :LOCAL
			CONTINUE
		PRINTFORMLC [{LOCAL}] %CALLNAME:LOCAL%
	NEXT
	PRINTFORML
	DRAWLINE
	PRINTFORML [999] 종료
	INPUT
	SIF 캐릭터수상한 < RESULT
		GOTO UPDATE_END
	SIF !대사실장체크 :RESULT
		GOTO UPDATE_END
	IF 대사실장체크 :RESULT
		대사실장체크 :RESULT = 0
		CALL RESET_KOJO_CHARA(RESULT)
		GOTO PRINT_RESETCHARA
	ENDIF
ENDIF

$UPDATE_END

PRINTW 갱신 완료했습니다

;아프데로 CSV read에 의한 갱신되지 않는 소질
@TALENT_NOT_UPDATED(ARG)
#FUNCTION
SELECTCASE ARG
	CASE 15,28,29,35 TO 39, 42 TO 49, 58, 59, 63 TO 69, 72 TO 79, 87 TO 91, 95 TO 99, 107 TO 120, 122 TO 129
		RETURNF 1
	CASEELSE
		RETURNF 0
ENDSELECT

@이력캐릭터라인변환(ARG)
#DIM 일자
VARSET LOCALS
IF CFLAG:ARG:첫키스상실기념일 && CSTR:ARG:첫키스상실이력 == ""
	일자 = CFLAG:ARG:첫키스상실기념일
	LOCALS = %PRINT_DATE_F(일자)%, %CALLNAME:(CFLAG:ARG:첫키스상실상대)%에
	SIF CSTR:ARG:첫키스위치 != ""
		LOCALS += @"%CSTR:ARG:첫키스위치%로"
	IF CFLAG:ARG:첫키스상실대상 & (상실_스스로 | 상실_연모 | 상실_사모)
		LOCALS += "첫키스를 바쳤다"
	ELSE
		SIF CFLAG:ARG:첫키스상실대상 & 상실_어영부영
			LOCALS += "흐르게 되는 대로"
		LOCALS += "첫키스를 빼앗겼다"
	ENDIF
	CSTR:ARG:첫키스상실이력 = %LOCALS%
	PRINTFORML %CALLNAME:ARG%의 첫키스 이력을 신형식으로 변환했습니다
ENDIF

IF CFLAG:ARG:애널처녀상실기념일 && CSTR:ARG:애널처녀상실이력 == ""
	일자 = CFLAG:ARG:애널처녀상실기념일
	LOCALS:1 = %PRINT_DATE_F(일자)%,\@ CFLAG:ARG:애널처녀상실대상 & 상실_시간정지?  시간정지중# \@
	SIF CSTR:ARG:A처녀상실위치 != ""
		LOCALS:1 += @"%CSTR:ARG:A처녀상실위치%로"
	IF GETBIT (CFLAG:ARG:애널처녀상실대상,3)
		LOCALS:1 += @"%CALLNAME:(CFLAG:ARG:애널처녀상실상대)%에 페니스밴드로"
	ELSEIF GETBIT (CFLAG:ARG:애널처녀상실대상,2)
		LOCALS:1 += @"%CALLNAME:(CFLAG:ARG:애널처녀상실상대)%에 애널바이브로"
	ELSEIF GETBIT (CFLAG:ARG:애널처녀상실대상,1)
		LOCALS:1 += @"%CALLNAME:(CFLAG:ARG:애널처녀상실상대)%의 페니스에"
	ENDIF
	IF CFLAG:ARG:애널처녀상실대상 & 상실_시간정지
		LOCALS:1 += "항문 처녀를 빼앗겼다"
	ELSE
		LOCALS:1 += "항문 처녀를 바쳤다"
	ENDIF
	CSTR:ARG:애널처녀상실이력 = %LOCALS:1%
	PRINTFORML %CALLNAME:ARG%의 애널처녀상실이력을 신형식으로 변환했습니다
ENDIF

IF CFLAG:ARG:처녀상실기념일 && CSTR:ARG:처녀상실이력 == ""
	일자 = CFLAG:ARG:처녀상실기념일
	LOCAL = CFLAG:ARG:처녀상실대상
	LOCALS:2 = %PRINT_DATE_F(일자)%,
	SIF LOCAL & 상실_시간정지
		LOCALS:2 += "시간정지중에"
	SIF GETBIT (LOCAL,9)
		LOCALS:2 += "만취하고 있을 때"
	SIF GETBIT (LOCAL,16)
		LOCALS:2 += "자고 있는 동안에"
	SIF CSTR:ARG:처녀상실위치 != ""
		LOCALS:2 += @"%CSTR:ARG:처녀상실위치%로\@ LOCAL & 상실_연모 ?  사랑하는# \@%CALLNAME:(CFLAG:ARG:처녀상실상대)%"
	IF GETBIT (LOCAL,3)
		LOCALS:2 += "에 페니스밴드로"
	ELSEIF GETBIT (LOCAL,2)
		LOCALS:2 += "에 바이브로"
	ELSEIF GETBIT (LOCAL,1)
		LOCALS:2 += "의 페니스에"
	ENDIF
	SIF LOCAL & 상실_어영부영
		LOCALS:2 += "조금씩"
	IF (GETBIT (LOCAL, 11) || GETBIT (LOCAL, 12)) && ((!GETBIT (LOCAL,9) && !GETBIT (LOCAL,13) && !GETBIT (LOCAL,16)) || GETBIT (LOCAL,14))
		LOCALS:2 += "처녀를 바쳤다"
	ELSE
		SIF LOCAL & 상실_억지로
			LOCALS:2 += "힘으로"
		LOCALS:2 += @"처녀를 \@ARG == MASTER ?  준# 빼앗겼다\@"
	ENDIF
	CSTR:ARG:처녀상실이력 = %LOCALS:2%
	PRINTFORML %CALLNAME:ARG%의 처녀상실이력을 신형식으로 변환했습니다
ENDIF

@RESET_KOJO_CHARA(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 ;TODO 원본에서 2번 씀
CFLAG:ARG:발렌타인 = 0
CFLAG:ARG:마지막에만난날 = 0
CFLAG:ARG:무자각임신 = 0
CFLAG:ARG:임신추가사이즈 = 0
CFLAG:ARG:깨끗한교제 = 0
CFLAG:ARG:출산경과일 = 0
CFLAG:ARG:육아인원수 = 0

CFLAG:ARG:자각사정 = 0 ;TODO 현재 원본에 없음
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
MARK:ARG:시간각인 = 0
MARK:ARG:반발각인 = 0
MARK:ARG:반발취득이력 = 0
MARK:ARG:고통각인 = 0
MARK:ARG:쾌락각인 = 0
MARK:ARG:괘씸각인 = 0

;CSTR:ARG:바람기들킴 =
;CSTR:ARG:바람기공인 =
CSTR:ARG:처녀상실이력 =
CSTR:ARG:애널처녀상실이력 =
CSTR:ARG:첫키스상실이력 =

UWAKI_KNOWN:ARG:0 =
UWAKI_ACCEPTED:ARG:0 =

;함락
TALENT:ARG:약점 = 0
TALENT:ARG:연모 = 0
TALENT:ARG:사모 = 0
TALENT:ARG:음란 = 0
TALENT:ARG:애욕 = 0
TALENT:ARG:섹프 = 0
TALENT:ARG:임신 = 0
TALENT:ARG:육아중 = 0
TALENT:ARG:모성 = 0
TALENT:ARG:연인 = 0
TALENT:ARG:초경 = 0
TALENT:ARG:모유체질 = 0
SIF TALENT:MASTER:연인 == ARG
	TALENT:MASTER:연인 = 0
;음란계
TALENT:ARG:마조 = 0
TALENT:ARG:자위중독 = 0
TALENT:ARG:음호 = 0
TALENT:ARG:항문광 = 0
TALENT:ARG:음유 = 0
TALENT:ARG:키스마 = 0
TALENT:ARG:포르치오성감 = 0

IF CFLAG:ARG:회복속도다운
	MAXBASE:ARG:체력 += 500
	MAXBASE:ARG:기력 += 500
	TALENT:ARG:회복속도 = CFLAG:ARG:회복속도다운 - 2
	CFLAG:ARG:회복속도다운 = 0
ENDIF
IF CFLAG:ARG:가슴랭크업 == 1 && TALENT:ARG:가슴사이즈 > -2
	TALENT:ARG:가슴사이즈 -= 1
	CFLAG:ARG:가슴랭크업 = 0
ENDIF
TALENT:ARG:통각 = CSVTALENT(ARG,40)
CFLAG:ARG:애널처녀상실기념일 = 0
CFLAG:ARG:처녀상실기념일 = 0
CSTR:ARG:애널처녀상실이력 =
CSTR:ARG:처녀상실이력 =
CSTR:ARG:첫키스상실이력 =

FOR LOCAL,0,100
	ABL:ARG:LOCAL = CSVABL(ARG,LOCAL)
	EXP:ARG:LOCAL = CSVEXP(ARG,LOCAL)
NEXT
VARSET JUEL:ARG:0, 0
VARSET CHILD_BIRTHDAY:ARG:0, 0
VARSET CHILD_WEATHER:ARG:0, ""
VARSET CHILD_SEX:ARG:0, 0
VARSET CHILDNAME:ARG:0, ""
;SIF !EXP:ARG:키스경험
	TALENT:ARG:키스미경험 = 1
TALENT:ARG:0 = CSVTALENT(ARG,0)
PRINTFORMW %CALLNAME:ARG%를 리셋 했습니다.

;CSV 갱신용
@SET_MINIMUM_EXP_ALL(C_ID)
#DIM C_ID
#DIM 갱신능력번호
#DIM 최저능력치

FOR 갱신능력번호,0,100
	최저능력치 = CSVABL(C_ID, 갱신능력번호)
	SIF 최저능력치 == 0
		CONTINUE
	;전투능력
	IF ABLNAME:갱신능력번호 == "전투능력"
		;전투능력 수정
		SIF ABL:C_ID:갱신능력번호 < 최저능력치 && EXP:C_ID:전투경험 == CSVEXP(C_ID, GETNUM(EXP, "전투경험"))
			ABL:C_ID:갱신능력번호 = 최저능력치
		CALL SET_MINIMUM_EXP(C_ID, GETNUM(EXP, "전투경험"), 최저능력치)
		CONTINUE
	ENDIF
	ABL:C_ID:갱신능력번호 = MAX(최저능력치, ABL:C_ID:갱신능력번호)
	SELECTCASE ABLNAME:갱신능력번호
	CASE "청소기능"
		CALL SET_MINIMUM_EXP(C_ID, GETNUM(EXP, "청소경험"), 최저능력치)
	CASE "화술기능"
		CALL SET_MINIMUM_EXP(C_ID, GETNUM(EXP, "회화경험"), 최저능력치)
	CASE "교양"
		CALL SET_MINIMUM_EXP(C_ID, GETNUM(EXP, "학습경험"), 최저능력치)
	CASE "요리기능"
		CALL SET_MINIMUM_EXP(C_ID, GETNUM(EXP, "요리경험"), 최저능력치)
	CASE "음악기능"
		SELECTCASE TALENT:C_ID:음악지식
		CASE 1
			CALL SET_MINIMUM_EXP(C_ID, GETNUM(EXP, "연주경험"), 최저능력치)
		CASE 2
			CALL SET_MINIMUM_EXP(C_ID, GETNUM(EXP, "가창경험"), 최저능력치)
		CASE 3
			CALL SET_MINIMUM_EXP(C_ID, GETNUM(EXP, "무도경험"), 최저능력치)
		ENDSELECT
	CASE "낚시기능"
		ABL:C_ID:갱신능력번호 = MAX(ABL:C_ID:갱신능력번호, CSVTALENT(C_ID, 47))
		CALL SET_MINIMUM_EXP(C_ID, GETNUM(EXP, "낚시경험"), 최저능력치)
		TALENT:C_ID:낚시Lv = MAX(TALENT:C_ID:낚시Lv, ABL:C_ID:낚시기능)
	CASE "채집기능"
		ABL:C_ID:갱신능력번호 = MAX(ABL:C_ID:갱신능력번호, CSVTALENT(C_ID, 48))
		CALL SET_MINIMUM_EXP(C_ID, GETNUM(EXP, "채집경험"), 최저능력치)
		TALENT:C_ID:채집Lv = MAX(TALENT:C_ID:채집Lv, ABL:C_ID:채집기능)
	CASE "조제기능"
		ABL:C_ID:갱신능력번호 = MAX(ABL:C_ID:갱신능력번호, CSVTALENT(C_ID, 49))
		CALL SET_MINIMUM_EXP(C_ID, GETNUM(EXP, "조제경험"), 최저능력치)
		TALENT:C_ID:조제Lv = MAX(TALENT:C_ID:조제Lv, ABL:C_ID:조제기능)
	ENDSELECT
NEXT

;비에로계 ABL, 40~49에 대해
;CSV 준거로 능력이 상승했을 경우에 최저한의 EXP를 취득해, 표시한다
@SET_MINIMUM_EXP(C_ID, VAR_ID, MINIMUM_ABL)
#DIM C_ID
#DIM VAR_ID
#DIM MINIMUM_ABL
#DIM MINIMUM_EXP
SIF MINIMUM_ABL == 0
	RETURN
MINIMUM_EXP = EXPLV:(MINIMUM_ABL + 2)
SIF EXP:C_ID:VAR_ID >= MINIMUM_EXP
	RETURN
EXP:C_ID:VAR_ID = MINIMUM_EXP
PRINTFORML %CALLNAME:C_ID%의 %조사처리(EXPNAME:VAR_ID,"가")% {EXP:C_ID:VAR_ID}에 올랐습니다

;TODO 이하 귀형수 캐릭터 실장시 수정요함
;-------------------------------------------------
;CSVを使わず弾幕特殊能力を個別に設定する関数
;新しくキャラクターを追加する際にCSVだと手間なので増設したものです
;▼memo
;0	【言笑自若】: 相手のダイス数Down
;	何があっても決して慌てず、落ち着いていることのたとえ。
;1	【温柔敦厚】: 相手のダイス面Down
;	優しく穏やかで、思いやりがあること。
;2	【勇気凛々】: %CALLNAME:OPPONENT%のダイス数Up
;	失敗や危険をかえりみず、勇敢に物事に立ち向かっていこうとするさま。
;3	【豪放磊落】: %CALLNAME:OPPONENT%のダイス面Up
;	心が広く大らかで、些細なことは気にしないこと。または、そのような様子。
;4	【怪力乱神】: %CALLNAME:OPPONENT%のダイス値が相手のダイス値より小さくても、その差が一定数以下なら、残機が減らない
;	人の知識では理解することが出来ない、怪しく奇怪な現象や物事のこと。
;5	【洽覧深識】: %CALLNAME:OPPONENT%の初期残機が4になる
;	体験して得た経験や知識が多くあり、様々なことを知っていること。
;6	【残忍酷薄】: 相手の被弾からの復帰時のボム数が-1される
;	人のことを気遣うこともなく、むごいこと。
;7	【乾坤一擲】: %CALLNAME:OPPONENT%が一定確率でボムを使うようになる
;	自身の運命を賭けて、運まかせの大博打をすること。
;8	【狷介孤高】: %CALLNAME:OPPONENT%のダイス修正値Up
;	意志を曲げずに、他人と協力しないこと。
;9	【幽愁暗恨】: 相手のダイス修正値Down
;	誰にも知られることのない深い恨みや憂いのこと。
;10  【百載無窮】: 全ての特殊能力をあわせ持つ。最強
;	いつまでも無くなることがないこと。
;-------------------------------------------------
@탄막특수능력설정(ARG)
#DIM CONST SKL言笑自若 = 0
#DIM CONST SKL温柔敦厚 = 1
#DIM CONST SKL勇気凛々 = 2
#DIM CONST SKL豪放磊落 = 3
#DIM CONST SKL怪力乱神 = 4
#DIM CONST SKL洽覧深識 = 5
#DIM CONST SKL残忍酷薄 = 6
#DIM CONST SKL乾坤一擲 = 7
#DIM CONST SKL狷介孤高 = 8
#DIM CONST SKL幽愁暗恨 = 9
#DIM CONST SKL百載無窮 = 10

CFLAG:ARG:탄막특능 = 0

SELECTCASE ARG
CASE [[瓔花]]
	SETBIT CFLAG:ARG:탄막특능, SKL温柔敦厚
CASE [[潤美]]
	SETBIT CFLAG:ARG:탄막특능, SKL豪放磊落
CASE [[久侘歌]]
	SETBIT CFLAG:ARG:탄막특능, SKL言笑自若
	SETBIT CFLAG:ARG:탄막특능, SKL勇気凛々
CASE [[八千慧]]
	SETBIT CFLAG:ARG:탄막특능, SKL言笑自若
	SETBIT CFLAG:ARG:탄막특능, SKL洽覧深識
	SETBIT CFLAG:ARG:탄막특능, SKL残忍酷薄
CASE [[磨弓]]
	SETBIT CFLAG:ARG:탄막특능, SKL勇気凛々
	SETBIT CFLAG:ARG:탄막특능, SKL怪力乱神
CASE [[袿姫]]
	SETBIT CFLAG:ARG:탄막특능, SKL言笑自若
	SETBIT CFLAG:ARG:탄막특능, SKL温柔敦厚
	SETBIT CFLAG:ARG:탄막특능, SKL洽覧深識
CASE [[早鬼]]
	SETBIT CFLAG:ARG:탄막특능, SKL怪力乱神
	SETBIT CFLAG:ARG:탄막특능, SKL豪放磊落
	SETBIT CFLAG:ARG:탄막특능, SKL乾坤一擲
ENDSELECT