code:
;FileName_SYSTM.ERB -------------------------------- Rev1. 00
;뉴 게임 처리
;CALL		SYSTEM
;ARG		VOID
;RETURN		VOID
;COMMENT
;-----------------------------------------------------------
@EVENTFIRST
;클래스 변수 초기화
CALL MAKE_ALL_CLASS_LIST
;복잡화를 위해 전용 함수로 이동
CALL NEWGAME

;욕구불만도의 초기설정
FOR LOCAL, 1, CHARANUM
	CFLAG:LOCAL:욕구불만도 = RAND:500
NEXT
;로드시와 공통의 초기화

;의뢰：편지의 행선지 처리
CALL SETUP_ALL_LETTERS
FOR LOCAL,1,CHARANUM
	IF TALENT:LOCAL:스침
		RANDOM_CHARANUM = LOCAL
		BREAK
	ENDIF
NEXT
;목재데이터
CALL WoodData
;업데이트처리
CALL NEWGAME_VERUP

;SYSTEMCALL to SHOW_SHOP
BEGIN SHOP

@EVENTLOAD
GETTIME
DEBUGPRINTFORML {RESULT / 10000000000000}년 {(RESULT / 100000000000) % 100}월 {(RESULT / 1000000000) % 100}일 {(RESULT / 10000000) % 100}시야
CALL ROOMSETTING
CALL VERSION_UP
SIF CFLAG:MASTER:312
	TIME:3 = CFLAG:MASTER:312
CFLAG:MASTER:312 = 0
CALL MAKE_ALL_CLASS_LIST
;의뢰：편지의 행선지 처리
CALL SETUP_ALL_LETTERS
FOR LOCAL,1,CHARANUM
	;구상 기본 플래그 설정
	CALL KOJO_MESSAGE_SEND("FLAGSETTING", 0, LOCAL)
	IF TALENT:LOCAL:스침
		RANDOM_CHARANUM = LOCAL
		BREAK
	ENDIF
NEXT
;목재데이터
CALL WoodData
;uEmuera 확인
CALL IS_UEMUERA()


code:
;rev로부터 꿀꺽

@SYSTEM_TITLE
LOADGLOBAL
RESULT = GLOBAL
SAVEGLOBAL
LOADGLOBAL

RESETBGCOLOR
IF GAMEBASE_VERSION == 0
	WINDOW_TITLE = %GAMEBASE_TITLE% %eraTW_Version%
ELSEIF GAMEBASE_VERSION < 0
	WINDOW_TITLE = %GAMEBASE_TITLE% 0.00
ENDIF
CLEARLINE 1
RESULT  = 1
LOCAL:2 = LINECOUNT

CALL COMPOSE_SPRITE

$TITLE_SELECT
DO
	REDRAW 0
	CLEARLINE LINECOUNT - LOCAL:2
	FOR LOCAL:0, 0, 35
		HTML_PRINT "

"
	NEXT
	ALIGNMENT CENTER
	CUSTOMDRAWLINE ━
	PRINTFORML %GAMEBASE_TITLE%
	PRINTFORML \@ GAMEBASE_VERSION <= 0 ? %eraTW_Version% # %TOSTR(GAMEBASE_VERSION,"0,.###")% \@
	PRINTFORML %GAMEBASE_YEAR%
;		CALL HTMLPRINTL(@"%HTMLFONT(@"%HTMLSTYLE(@"%GAMEBASE_TITLE%", 2)%", "Courier New", )%")
;		CALL HTMLPRINTL(@"%HTMLFONT(@"%eraTW_Version%", "Courier New")%")
;		CALL HTMLPRINTL(@"%HTMLFONT(@"(%GAMEBASE_YEAR%)", "Courier New")%")
	PRINTL
	PRINTFORML %GAMEBASE_INFO%
	PRINTFORML Updated by %GAMEBASE_AUTHOR%
	CUSTOMDRAWLINE ━
	PRINTFORML [0] 시작하기
	PRINTFORML [1] 불러오기
	ALIGNMENT LEFT
	REDRAW 1
	INPUT
	CUSTOMDRAWLINE ━
	SELECTCASE RESULT
		CASE 0
			RESETDATA
			ADDCHARA 0
			CALL IS_UEMUERA()
			BEGIN FIRST
		CASE 1
			;LOADGAME
			;KR판 추가수정, 로드용 커스텀 함수
			CALL LOADGAME_KR
			GOTO TITLE_SELECT
	ENDSELECT
LOOP RESULT

repo_name: DNS/eraTWKR

license: mit


code:
;변수의 개서등을 따르는 버전 업용
@VERSION_UP
SIF !GETBIT(FLAG:1000, 1)
	CALL KAISYONASI
SIF !GETBIT(FLAG:1000, 2) && FLAG:지주
	CALL MODE_NOUMIN
;SIF !GETBIT(FLAG:1000, 3)
;  	CALL BUGFIX_KOIBITO
;SETBIT FLAG:1000, 3
; SIF !GETBIT(FLAG:1000, 4)
; 	CALL BUGFIX_KOIBITO
;SETBIT FLAG:1000, 4
SIF !GETBIT(FLAG:1000, 5)
	CALL TWKR_VARFIX
SETBIT FLAG:1000, 5
SIF !GETBIT(FLAG:1000, 6) || !GETBIT(FLAG:1000, 10)
	CALL TWKR_ITEMFIX
SETBIT FLAG:1000, 6
SETBIT FLAG:1000, 10
SIF !GETBIT(FLAG:1000, 7)
	CALL TWKR_EXPFIX
SETBIT FLAG:1000, 7
SIF !GETBIT(FLAG:1000, 8)
	CALL TWKR_MANSIONFIX
SETBIT FLAG:1000, 8
SIF !GETBIT(FLAG:1000, 9)
	CALL TWKR_SHOWAA_WIFE_FIX
SETBIT FLAG:1000, 9

;KR판 개인패치
CALL VERSION_UP_KR

@KAISYONASI
SETBIT FLAG:1000, 1
PRINTFORML 스스로 상대에게 고백할 수준의 배짱은 있어?
CALL ASK_YN("그야 있지","못해요")
IF !RESULT
	PRINTFORMW 무능력 모드를 사용하지 않습니다
	FLAG:생활능력무 = 0
ELSE
	PRINTFORMW 무능력 모드를 켭니다(일부 커맨드를 사용 불가·상대 쪽의 덮치기 강화)
	FLAG:생활능력무 = 1
ENDIF
;KR판 참고사항
;BUGFIX_KOIBITO 는 일판의 복수연인 기능 삭제를 위해 사용했던 함수로, 복수연인 기능이 살아있다면 필요없는 기능임.
;1) 연인 시스템을 일판에 맞게 수정하거나
;2) 복수연인 시스템을 삭제하지 않을 거라면 함부로 활성화하지 말것
@BUGFIX_KOIBITO
VARSET LOCAL

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

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

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

SIF LOCAL:1 <= 1
	RETURN

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

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

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

TALENT:(LOCAL:2):연인 = 1
;TALENT:MASTER:연인 = LOCAL:2
;KR판 복수연인가능 호환 위해 1로 설정.
TALENT:MASTER:연인 = 1

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

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

;삭제된 연인플래그 관련 변수 초기화
FLAG:50 = 0 ;구 연인플래그1
FLAG:51 = 0 ;구 연인플래그2
FLAG:52 = 0 ;구 연인플래그3
FLAG:53 = 0 ;구 연인플래그4
FLAG:59 = 0 ;구 가랑이수
FLAG:60 = 0 ;구 걸레최저치
FLAG:61 = 0 ;구 걸레최고치

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

	EQUIP:LOCAL:치마 = CLOTH:0
	EQUIP:LOCAL:상반신윗도리1 = CLOTH:1
	EQUIP:LOCAL:상반신윗도리2 = CLOTH:2
	EQUIP:LOCAL:원피스 = CLOTH:3
	EQUIP:LOCAL:기모노 = CLOTH:4

	;UPDATE 에 있던 코드 이관
	;;바람기공인과 액세서리의 앨리어싱
	CSTR:LOCAL:49=%CSTR:LOCAL:50%
	CSTR:LOCAL:50=%CSTR:LOCAL:51%
	CSTR:LOCAL:51=
	;;아내 추가 패치 관련
	SIF TALENT:LOCAL:연인&&!(TALENT:LOCAL:연인==3)
		TALENT:LOCAL:연인=1
NEXT
PRINTFORMW 초기화 및 이관을 완료했습니다.
;--------------------------------------------------------
;2020.08.07
;아이템 변수 인덱스값 이관용
;--------------------------------------------------------
@TWKR_ITEMFIX

;22.02.10 문따기기능 69 > 1000 이관
IF !GETBIT(FLAG:1000, 10)
	LOCAL = ITEM:28
	ITEM:69 = 0
ENDIF
;문따기기능 28 > 69 이관
LOCAL = ITEM:28
ITEM:28 = 0

ITEM:【문따기기능】 = LOCAL
PRINTL 문따기기능을 이관했습니다.

;--------------------------------------------------------
;2020.10.04
;정음경험/정액경험 이관 처리용
;--------------------------------------------------------
@TWKR_EXPFIX

REPEAT CHARANUM
	LOCAL = MAX(EXP:COUNT:14, EXP:COUNT:15)
	EXP:COUNT:14 = LOCAL ;정액경험(구 정음경험)
	EXP:COUNT:15 = LOCAL ;정음경험(구 정음경험)
REND

PRINTL 과거 세이브의 호환을 위해 정음경험값을 정액경험값에 대입했습니다.

;--------------------------------------------------------
;2021.06.08
;주택/저택 CSV 변수 이관용
;--------------------------------------------------------
@TWKR_MANSIONFIX
;CFLAG:저택에거주
REPEAT CHARANUM
	저택거주:COUNT:0 = CFLAG:COUNT:29
	CFLAG:COUNT:29 = 0
REND
;FLAG:저택독실배정
FOR LOCAL, 161, 178
	SELECTCASE LOCAL
		CASE 161 TO 165
			저택2층독실배정:(LOCAL - 161) = FLAG:LOCAL
		CASE 166 TO 171
			저택3층독실배정:(LOCAL - 166) = FLAG:LOCAL
		CASE 172 TO 178
			저택지하독실배정:(LOCAL - 172) = FLAG:LOCAL
	ENDSELECT
	FLAG:LOCAL = 0
NEXT

PRINTL 주택, 저택 관련 변수 데이터를 주택저택.ERH로 이관했습니다.

;--------------------------------------------------------
;2021.06.11
;DIM CONST AA표시 = 99 및 FLAG:잠복 관련 오류 처리
;복수연인 및 아내 관련 FLAG 의존성 삭제 병행
;--------------------------------------------------------
@TWKR_SHOWAA_WIFE_FIX
;AA표시와 잠복이 겹치던 문제 해결
FLAG:99 = 0

;아내플래그 이관
FOR LOCAL, 150, 154
	FOR LOCAL:1, 0, 64
		SIF GETBIT(FLAG:LOCAL, LOCAL:1)
			아내플래그:(LOCAL:1):0 = 1
	NEXT
	FLAG:LOCAL = 0
NEXT

;58,스침연인수,;100사람까지
스친연인수 = FLAG:58
FLAG:58 = 0
;158,스침아내수,;100사람까지
스친아내수 = FLAG:158
FLAG:158 = 0

PRINTL AA표시/잠복 관련 문제와 아내플래그 FLAG 의존성을 제거했습니다.

;변수의 개서등을 따르는 버전업, 일판의 버전업 함수의 오염을 피한 한판용
@VERSION_UP_KR
SIF !GETBIT(UPDATE_KR, 1)
	CALL ResetBookFLAG
SETBIT UPDATE_KR, 1

@ResetBookFLAG
#DIM DYNAMIC LCOUNT
PRINTL 책의 대출중 처리 FLAG:1011을 리셋합니다
FOR LCOUNT,1,BookTitles + 1
	SIF !ITEM:(100 + LCOUNT)
		CLEARBIT FLAG:1011,LCOUNT
NEXT


code:
@SELL_VIDEO
VARSET LOCALS
VARSET LOCAL

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


code:
@YASAI
FOR LOCAL,0,5
	IF PLANT_TYPE:LOCAL
		SIF FLAG:물주기대행
			PLANT_DRY:LOCAL = 0
		PLANT_DAYS:LOCAL ++
		PLANT_DRY:LOCAL ++

		IF MAIN_MAP == 9
			PLANT_GROW:LOCAL ++
			;肥やしを撒いてある場合は追加
			SIF PLANT_FOOD:LOCAL && PLANT_GROW:LOCAL < 10
				PLANT_GROW:LOCAL ++
		ELSE
			SELECTCASE TIME:5
			CASE 0,1
				PLANT_GROW:LOCAL ++
				;거름을 뿌려 있는 경우는 추가
				SIF PLANT_FOOD:LOCAL && PLANT_GROW:LOCAL < 10
					PLANT_GROW:LOCAL ++
			CASE 2,3
				PLANT_GROW:LOCAL += RAND:2
				SIF PLANT_FOOD:LOCAL && PLANT_GROW:LOCAL < 10
					PLANT_GROW:LOCAL ++
			CASE 4 TO 7
				PLANT_DRY:LOCAL = 0
				;거름을 뿌려 있는 경우는 1/2의 확률로 한층 더 추가
				SIF PLANT_FOOD:LOCAL && PLANT_GROW:LOCAL < 10
					PLANT_GROW:LOCAL += RAND:2
			CASE 8 TO 13
				PLANT_GROW:LOCAL -= RAND:2
			ENDSELECT
		ENDIF
		;三粒の天滴を所有している場合は水やり済み＆成長に補正
		IF ITEM:세방울의천수
			IF FLAG:천적곤신 && PLANT_DRY:LOCAL > 2
				PRINTFORML 곤신의 은총이 마른 밭을 촉촉하게 했다
				PLANT_DRY:LOCAL = 0
				FLAG:천적곤신 = 0
			ENDIF
			SIF PLANT_GROW:LOCAL < 10 && !RAND:4
				PLANT_GROW:LOCAL ++
		ENDIF
	ENDIF
NEXT


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

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

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

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

;이름 길이 체크
STRLENSU LOCALS:1

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

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

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

;받침이 있는 글자와 없는 글자를 구분해 반환
IF GROUPMATCH(LOCALS:2, "2","4","5","9")
    RETURNF 2
ELSEIF INRANGE(ENCODETOUNI(LOCALS:2), 0xAC00, 0xD7A3) ;한글일 때
    IF (ENCODETOUNI(LOCALS:2) - 0xAC00) % 28 == 0 ;받침 없음. ㄴ/ㄹ
        RETURNF 2
    ELSEIF (ENCODETOUNI(LOCALS:2) - 0xAC00) % 28 == 8 ;ㄹ받침 ~으로 예외처리
        RETURNF 3
    ENDIF
ELSE
    RETURNF 1
ENDIF

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

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

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

LOCALS = %ARGS%%조사만선택(ARGS, ARGS:2)%

;====================================================
;                        후치환
;  조사를 붙인 후 추가 처리를 한다
;====================================================
IF LOCALS == "나가"
    RETURNF "내가"
ELSEIF LOCALS == "저가"
    RETURNF "제가"
ELSE
    RETURNF LOCALS
ENDIF

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

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

#DIMS 받침X, 6 = "는","가","를","와","로","였"
#DIMS 받침O, 6 = "은","이","을","과","으로","이었"

;ZNAME.ERH에 정의된 조사처리 불필요 조사 우선처리
SIF GROUPMATCH(ARGS:2, "의","에게")
    RETURNF ARGS:2

;받침 판정 및 조사 선택
LOCAL = KR_NAME(ARGS)
LOCAL:1 = 0 ;반복문 카운트
WHILE LOCAL:1 < 6
    IF GROUPMATCH(ARGS:2, 받침X:(LOCAL:1), 받침O:(LOCAL:1))
        IF LOCAL == 2 ;받침 없음. ㄴ/ㄹ
            RETURNF 받침X:(LOCAL:1)
        ELSEIF 받침X:(LOCAL:1) == "으로" && LOCAL == 3 ;ㄹ받침 ~으로 예외처리
            RETURNF "로"
        ELSE ;받침 있음. ㅇ
            RETURNF 받침O:(LOCAL:1)
        ENDIF
    ENDIF
    LOCAL:1 ++
WEND
;이하 들어오는 모든 조사는 받침유무 판별 및 이에 따른 "이"가 무조건 필요하다 가정.
SIF SUBSTRINGU(ARGS:2, 0,1) == "이"
    ARGS:2 = %REPLACE(ARGS:2, "이","")%

IF LOCAL != 2 ;받침 있음
    RETURNF "이" + ARGS:2
ELSE
    RETURNF ARGS:2
ENDIF

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[SKIPEND]


code:
;==============================================================
;Filename : JP_COMP_FUNCTIONS
;DATE : 2020.07.01
;COMMENT : 파편화되어있는 일판 호환용 함수를 정리한 파일
;원래 해당 함수의 파일 위치를 꼭 적어주시기 바랍니다.
;호환용 함수 발견시 이쪽으로 옮겨주시면 감사하겠습니다.
;이 파일의 내용물은 함부로 번역하지 말아주세요.
;==============================================================
;스테이터스표시관련\LOOK_t.ERB
@充填率(캐릭터등록번호, 몸부위)
#FUNCTION
#DIM 캐릭터등록번호
#DIM 몸부위
RETURNF 충전율(캐릭터등록번호, 몸부위)

;COMMON.ERB
@陥落状態(ARG)
#FUNCTION
RETURNF 함락상태(ARG)

;커맨드관련/COMF/일상계/COMF413 요리만든다_t.ERB
@食事(ARG)
CALL 식사(ARG)

@満腹度上昇(ARG, ARGS)
CALL 만복도상승(ARG, ARGS)

;스테이터스표시관련/모브코표시.ERB
@モブ子生成(캐릭터번호, 스탠딩종류)
#DIM 캐릭터번호
#DIM 스탠딩종류
CALL 모브코생성(캐릭터번호, 스탠딩종류)

;이벤트관련/임신관련/HININSHITE_t.ERB
@妊娠可否(ARG)
#FUNCTION
RETURNF 임신가부(ARG)

;이벤트관련/임신관련/출산경과_t.ERB
@自立先選定(CHARA, CHILDNUM)
#DIM CHARA
#DIM CHILDNUM
CALL 자립처선정(CHARA, CHILDNUM)


code:
;=====================================================================
;변수명의 번역 때문에 정상작동하지 않는 함수 대응용 KR판 데이터베이스
;=====================================================================
;일판 이름 출력 함수. TYPE= 0:CALLNAME 1:NAME
;마지막 대응버전: 4.903-KR
@JP_CHARANAME_KR(ARG, TYPE)
#FUNCTIONS
#DIM TYPE
SELECTCASE ARG
    CASE 1
        SIF TYPE == 1
            RETURNF "博麗 霊夢"
        RETURNF "霊夢"
    CASE 2
        RETURNF "る～こと"
    CASE 3
        SIF TYPE == 1
            RETURNF "カナ アナベラル"
        RETURNF "カナ"
    CASE 4
        RETURNF "魅魔"
    CASE 5
        SIF TYPE == 1
            RETURNF "サニーミルク"
        RETURNF "サニー"
    CASE 6
        SIF TYPE == 1
            RETURNF "ルナチャイルド"
        RETURNF "ルナ"
    CASE 7
        SIF TYPE == 1
            RETURNF "スターサファイア"
        RETURNF "スター"
    CASE 8
        SIF TYPE == 1
            RETURNF "北白河 ちゆり"
        RETURNF "ちゆり"
    CASE 9
        SIF TYPE == 1
            RETURNF "岡崎 夢美"
        RETURNF "夢美"
    CASE 10
        SIF TYPE == 1
            RETURNF "伊吹 萃香"
        RETURNF "萃香"
    CASE 11
        SIF TYPE == 1
            RETURNF "霧雨 魔理沙"
        RETURNF "魔理沙"
    CASE 12
        RETURNF "ルーミア"
    CASE 13
        RETURNF "大妖精"
    CASE 14
        RETURNF "チルノ"
    CASE 15
        SIF TYPE == 1
            RETURNF "十六夜 咲夜"
        RETURNF "咲夜"
    CASE 16
        SIF TYPE == 1
            RETURNF "レミリア スカーレット"
        RETURNF "レミリア"
    CASE 17
        SIF TYPE == 1
            RETURNF "アリス マーガトロイド"
        RETURNF "アリス"
    CASE 18
        SIF TYPE == 1
            RETURNF "リリー ホワイト"
        RETURNF "リリーＷ"
    CASE 19
        SIF TYPE == 1
            RETURNF "リリー ブラック"
        RETURNF "リリーＢ"
    CASE 20
        SIF TYPE == 1
            RETURNF "リリカ プリズムリバー"
        RETURNF "リリカ"
    CASE 21
        SIF TYPE == 1
            RETURNF "メルラン プリズムリバー"
        RETURNF "メルラン"
    CASE 22
        SIF TYPE == 1
            RETURNF "ルナサ プリズムリバー"
        RETURNF "ルナサ"
    CASE 23
        SIF TYPE == 1
            RETURNF "魂魄 妖夢"
        RETURNF "妖夢"
    CASE 24
        RETURNF "橙"
    CASE 25
        SIF TYPE == 1
            RETURNF "八雲 藍"
        RETURNF "藍"
    CASE 26
        SIF TYPE == 1
            RETURNF "八雲 紫"
        RETURNF "紫"
    CASE 27
        SIF TYPE == 1
            RETURNF "リグル ナイトバグ"
        RETURNF "リグル"
    CASE 28
        SIF TYPE == 1
            RETURNF "ミスティア ローレライ"
        RETURNF "ミスティア"
    CASE 29
        SIF TYPE == 1
            RETURNF "射命丸 文"
        RETURNF "文"
    CASE 30
        SIF TYPE == 1
            RETURNF "四季 映姫"
        RETURNF "映姫"
    CASE 31
        SIF TYPE == 1
            RETURNF "東風谷 早苗"
        RETURNF "早苗"
    CASE 32
        SIF TYPE == 1
            RETURNF "八坂 神奈子"
        RETURNF "神奈子"
    CASE 33
        SIF TYPE == 1
            RETURNF "洩矢 諏訪子"
        RETURNF "諏訪子"
    CASE 34
        SIF TYPE == 1
            RETURNF "比那名居 天子"
        RETURNF "天子"
    CASE 35
        SIF TYPE == 1
            RETURNF "永江 衣玖"
        RETURNF "衣玖"
    CASE 36
        SIF TYPE == 1
            RETURNF "火焔猫 燐"
        RETURNF "お燐"
    CASE 37
        SIF TYPE == 1
            RETURNF "霊烏路 空"
        RETURNF "お空"
    CASE 38
        SIF TYPE == 1
            RETURNF "古明地 こいし"
        RETURNF "こいし"
    CASE 39
        RETURNF "ナズーリン"
    CASE 40
        SIF TYPE == 1
            RETURNF "多々良 小傘"
        RETURNF "小傘"
    CASE 41
        SIF TYPE == 1
            RETURNF "封獣 ぬえ"
        RETURNF "ぬえ"
    CASE 42
        SIF TYPE == 1
            RETURNF "姫海棠 はたて"
        RETURNF "はたて"
    CASE 43
        SIF TYPE == 1
            RETURNF "茨木 華扇"
        RETURNF "華扇"
    CASE 44
        SIF TYPE == 1
            RETURNF "ふわふわエレン"
        RETURNF "エレン"
    CASE 45
        SIF TYPE == 1
            RETURNF "朝倉 理香子"
        RETURNF "理香子"
    CASE 46
        RETURNF "明羅"
    CASE 47
        RETURNF "里香"
    CASE 48
        RETURNF "ルイズ"
    CASE 49
        SIF TYPE == 1
            RETURNF "古明地 さとり"
        RETURNF "さとり"
    CASE 50
        SIF TYPE == 1
            RETURNF "フランドール"
        RETURNF "フラン"
    CASE 51
        SIF TYPE == 1
            RETURNF "河城 にとり"
        RETURNF "にとり"
    CASE 52
        SIF TYPE == 1
            RETURNF "鈴仙・優曇華院・イナバ"
        RETURNF "鈴仙"
    CASE 53
        SIF TYPE == 1
            RETURNF "因幡 てゐ"
        RETURNF "てゐ"
    CASE 54
        SIF TYPE == 1
            RETURNF "パチュリー・ノーレッジ"
        RETURNF "パチュリー"
    CASE 55
        SIF TYPE == 1
            RETURNF "聖 白蓮"
        RETURNF "白蓮"
    CASE 56
        SIF TYPE == 1
            RETURNF "豊聡耳神子"
        RETURNF "神子"
    CASE 57
        SIF TYPE == 1
            RETURNF "秦こころ"
        RETURNF "こころ"
    CASE 58
        SIF TYPE == 1
            RETURNF "紅美鈴"
        RETURNF "美鈴"
    CASE 59
        RETURNF "小悪魔"
    CASE 60
        SIF TYPE == 1
            RETURNF "水橋 パルスィ"
        RETURNF "パルスィ"
    CASE 61
        SIF TYPE == 1
            RETURNF "藤原 妹紅"
        RETURNF "妹紅"
    CASE 62
        SIF TYPE == 1
            RETURNF "蓬莱山 輝夜"
        RETURNF "輝夜"
    CASE 63
        SIF TYPE == 1
            RETURNF "今泉影狼"
        RETURNF "影狼"
    CASE 64
        SIF TYPE == 1
            RETURNF "星熊 勇儀"
        RETURNF "勇儀"
    CASE 65
        SIF TYPE == 1
            RETURNF "犬走 椛"
        RETURNF "椛"
    CASE 66
        SIF TYPE == 1
            RETURNF "西行寺 幽々子"
        RETURNF "幽々子"
    CASE 67
        SIF TYPE == 1
            RETURNF "上白沢 慧音"
        RETURNF "慧音"
    CASE 68
        SIF TYPE == 1
            RETURNF "風見 幽香"
        RETURNF "幽香"
    CASE 69
        SIF TYPE == 1
            RETURNF "二ッ岩 マミゾウ"
        RETURNF "マミゾウ"
    CASE 70
        SIF TYPE == 1
            RETURNF "本居 小鈴"
        RETURNF "小鈴"
    CASE 71
        SIF TYPE == 1
            RETURNF "少名 針妙丸"
        RETURNF "針妙丸"
    CASE 72
        SIF TYPE == 1
            RETURNF "八意 永琳"
        RETURNF "永琳"
    CASE 73
        SIF TYPE == 1
            RETURNF "赤 蛮奇"
        RETURNF "蛮奇"
    CASE 74
        SIF TYPE == 1
            RETURNF "レティ・ホワイトロック"
        RETURNF "レティ"
    CASE 75
        SIF TYPE == 1
            RETURNF "メディスン・メランコリー"
        RETURNF "メディスン"
    CASE 76
        SIF TYPE == 1
            RETURNF "小野塚 小町"
        RETURNF "小町"
    CASE 77
        SIF TYPE == 1
            RETURNF "秋 静葉"
        RETURNF "静葉"
    CASE 78
        SIF TYPE == 1
            RETURNF "秋 穣子"
        RETURNF "穣子"
    CASE 79
        SIF TYPE == 1
            RETURNF "鍵山 雛"
        RETURNF "雛"
    CASE 80
        SIF TYPE == 1
            RETURNF "稗田 阿求"
        RETURNF "阿求"
    CASE 81
        SIF TYPE == 1
            RETURNF "宇佐見 蓮子"
        RETURNF "蓮子"
    CASE 82
        SIF TYPE == 1
            RETURNF "マエリベリー・ハーン"
        RETURNF "メリー"
    CASE 83
        RETURNF "キスメ"
    CASE 84
        SIF TYPE == 1
            RETURNF "黒谷 ヤマメ"
        RETURNF "ヤマメ"
    CASE 85
        SIF TYPE == 1
            RETURNF "雲居 一輪"
        RETURNF "一輪"
    CASE 86
        SIF TYPE == 1
            RETURNF "村紗 水蜜"
        RETURNF "ムラサ"
    CASE 87
        SIF TYPE == 1
            RETURNF "寅丸 星"
        RETURNF "星"
    CASE 88
        SIF TYPE == 1
            RETURNF "幽谷 響子"
        RETURNF "響子"
    CASE 89
        SIF TYPE == 1
            RETURNF "宮古 芳香"
        RETURNF "芳香"
    CASE 90
        SIF TYPE == 1
            RETURNF "霍 青娥"
        RETURNF "青娥"
    CASE 91
        SIF TYPE == 1
            RETURNF "蘇我 屠自古"
        RETURNF "屠自古"
    CASE 92
        SIF TYPE == 1
            RETURNF "物部 布都"
        RETURNF "布都"
    CASE 93
        RETURNF "わかさぎ姫"
    CASE 94
        SIF TYPE == 1
            RETURNF "九十九 弁々"
        RETURNF "弁々"
    CASE 95
        SIF TYPE == 1
            RETURNF "九十九 八橋"
        RETURNF "八橋"
    CASE 96
        SIF TYPE == 1
            RETURNF "堀川 雷鼓"
        RETURNF "雷鼓"
    CASE 97
        SIF TYPE == 1
            RETURNF "鬼人 正邪"
        RETURNF "正邪"
    CASE 98
        SIF TYPE == 1
            RETURNF "綿月 依姫"
        RETURNF "依姫"
    CASE 99
        SIF TYPE == 1
            RETURNF "綿月 豊姫"
        RETURNF "豊姫"
    CASE 100
        RETURNF "レイセン"
    CASE 101
        RETURNF "朱鷺子"
    CASE 102
        RETURNF "神綺"
    CASE 103
        RETURNF "夢子"
    CASE 104
        RETURNF "ユキ"
    CASE 105
        RETURNF "マイ"
    CASE 106
        SIF TYPE == 1
            RETURNF "宇佐見 菫子"
        RETURNF "菫子"
    CASE 107
        RETURNF "清蘭"
    CASE 108
        RETURNF "鈴瑚"
    CASE 109
        SIF TYPE == 1
            RETURNF "ドレミー・スイート"
        RETURNF "ドレミー"
    CASE 110
        SIF TYPE == 1
            RETURNF "稀神 サグメ"
        RETURNF "サグメ"
    CASE 111
        RETURNF "クラウンピース"
    CASE 112
        RETURNF "純狐"
    CASE 113
        SIF TYPE == 1
            RETURNF "ヘカーティア・ラピスラズリ"
        RETURNF "ヘカーティア"
    CASE 114
        RETURNF "くるみ"
    CASE 115
        RETURNF "エリー"
    CASE 116
        RETURNF "夢月"
    CASE 117
        RETURNF "幻月"
    CASE 118
        SIF TYPE == 1
            RETURNF "エタニティラルバ"
        RETURNF "ラルバ"
    CASE 119
        SIF TYPE == 1
            RETURNF "坂田 ネムノ"
        RETURNF "ネムノ"
    CASE 120
        SIF TYPE == 1
            RETURNF "高麗野 あうん"
        RETURNF "あうん"
    CASE 121
        SIF TYPE == 1
            RETURNF "矢田寺 成美"
        RETURNF "成美"
    CASE 122
        SIF TYPE == 1
            RETURNF "丁礼田 舞"
        RETURNF "舞"
    CASE 123
        SIF TYPE == 1
            RETURNF "爾子田 里乃"
        RETURNF "里乃"
    CASE 124
        SIF TYPE == 1
            RETURNF "摩多羅 隠岐奈"
        RETURNF "隠岐奈"
    CASE 125
        SIF TYPE == 1
            RETURNF "依神 女苑"
        RETURNF "女苑"
    CASE 126
        SIF TYPE == 1
            RETURNF "依神 紫苑"
        RETURNF "紫苑"
    CASE 127
        SIF TYPE == 1
            RETURNF "戎 瓔花"
        RETURNF "瓔花"
    CASE 128
        SIF TYPE == 1
            RETURNF "牛崎 潤美"
        RETURNF "潤美"
    CASE 129
        SIF TYPE == 1
            RETURNF "庭渡 久侘歌"
        RETURNF "久侘歌"
    CASE 130
        SIF TYPE == 1
            RETURNF "吉弔 八千慧"
        RETURNF "八千慧"
    CASE 131
        SIF TYPE == 1
            RETURNF "杖刀偶 磨弓"
        RETURNF "磨弓"
    CASE 132
        SIF TYPE == 1
            RETURNF "埴安神 袿姫"
        RETURNF "袿姫"
    CASE 133
        SIF TYPE == 1
            RETURNF "驪駒 早鬼"
        RETURNF "早鬼"
    CASE 134
        SIF TYPE == 1
            RETURNF "奥野田 美宵"
        RETURNF "美宵"
    CASE 135
        SIF TYPE == 1
            RETURNF "豪徳寺 ミケ"
        RETURNF "ミケ"
    CASE 136
        SIF TYPE == 1
            RETURNF "山城 たかね"
        RETURNF "たかね"
    CASE 137
        SIF TYPE == 1
            RETURNF "駒草 山如"
        RETURNF "駒草"
    CASE 138
        SIF TYPE == 1
            RETURNF "玉造 魅須丸"
        RETURNF "魅須丸"
    CASE 139
        SIF TYPE == 1
            RETURNF "菅牧 典"
        RETURNF "典"
    CASE 140
        SIF TYPE == 1
            RETURNF "飯綱丸 龍"
        RETURNF "龍"
    CASE 141
        SIF TYPE == 1
            RETURNF "天弓 千亦"
        RETURNF "千亦"
    CASE 142
        SIF TYPE == 1
            RETURNF "姫虫 百々世"
        RETURNF "百々世"
    CASE 143
        SIF TYPE == 1
            RETURNF "饕餮 尤魔"
        RETURNF "尤魔"
    CASE 144
        SIF TYPE == 1
            RETURNF "茨木童子の腕"
        RETURNF "影華扇"
    CASE 145
        RETURNF "小兎姫"
    CASE 146
        RETURNF "エリス"
    CASE 147
        RETURNF "サリエル"
    CASE 148
        RETURNF "サラ"
    CASE 149
        RETURNF "オレンジ"
    CASE 150
        SIF TYPE == 1
            RETURNF "矜羯羅"
        RETURNF "コンガラ"
    CASE 151
        SIF TYPE == 1
            RETURNF "ユウゲンマガン"
        RETURNF "マガン"
    CASE 152
        RETURNF "キクリ"
    CASE RANDOM_CHARANUM
        RETURNF "モブ子"
    CASEELSE
        PRINTFORML 지원하지 않는 캐릭터 번호: {ARG}
ENDSELECT


code:
;KR 개인수정 전용 함수
;CHARA_NUM을 받아 해당 BGM(악보)의 STR값을 반환하는 함수
;테마곡이 없거나, 악보 데이터 없는 경우는 0을 반환

@BGM_NUM(CHARA_NUM)
#FUNCTION
#DIM CHARA_NUM

SELECTCASE CHARA_NUM

    CASE 1 ;레이무
        RETURNF 10508 ;소녀기상곡　~ Dream Battle

    CASE 2 ;루코토
        RETURNF 0

    CASE 3 ;카나
        RETURNF 10207 ;몽소실　~ Lost Dream

    CASE 4 ;미마
        RETURNF 10160 ;Complete Darkness

    CASE 5 ;서니
        RETURNF 10955 ;요정대전쟁　~ Fairy Wars

    CASE 6 ;루나
        RETURNF 10955 ;요정대전쟁　~ Fairy Wars

    CASE 7 ;스타
        RETURNF 10955 ;요정대전쟁　~ Fairy Wars

    CASE 8 ;치유리
        RETURNF 10210 ;Sailor of Time

    CASE 9 ;유메미
        RETURNF 10211 ;Strawberry Crisis!!

    CASE 10 ;스이카
        RETURNF 10452 ;동화나라의 오니들의 섬　~ Missing Power

    CASE 11 ;마리사
        RETURNF 10509 ;사랑색 마스터 스파크

    CASE 12 ;루미아
        RETURNF 10352 ;요마야행

    CASE 13 ;대요정
        RETURNF 10353 ;루네이트 엘프

    CASE 14 ;치르노
        RETURNF 10354 ;말괄량이 연랑

    CASE 15 ;사쿠야
        RETURNF 10359 ;메이드와 피의 회중시계

    CASE 16 ;레밀리아
        RETURNF 10362 ;죽은 왕녀를 위한 셉텟

    CASE 17 ;앨리스
        RETURNF 10406 ;인형재판　~ 사람의 형상을 가지고 노는 소녀

    CASE 18 ;릴리 W
        RETURNF 10407 ;천공에 있는 꽃의 도시

    CASE 19 ;릴리 B
        RETURNF 0

    CASE 20 ;리리카
        RETURNF 10408 ;유령악단　~ Phantom Ensemble

    CASE 21 ;메를랑
        RETURNF 10408 ;유령악단　~ Phantom Ensemble

    CASE 22 ;루나사
        RETURNF 10408 ;유령악단　~ Phantom Ensemble

    CASE 23 ;요우무
        RETURNF 10410 ;히로아리，괴조를 쏘다　~ Till When?

    CASE 24 ;첸
        RETURNF 10404 ;댜오예쭝(withered leaf)

    CASE 25 ;란
        RETURNF 10415 ;소녀환장　~ Necro-Fantasy

    CASE 26 ;유카리
        RETURNF 10417 ;네크로 판타지아

    CASE 27 ;리글
        RETURNF 10502 ;준준추월　~ Mooned Insect

    CASE 28 ;미스티아
        RETURNF 10504 ;이젠 노래밖에 들리지 않아

    CASE 29 ;아야
        RETURNF 10658 ;요괴의 산　~ Mysterious Mountain

    CASE 30 ;에이키
        RETURNF 10564 ;60년만의 동방재판　~ Fate of Sixty Years

    CASE 31 ;사나에
        RETURNF 10660 ;신앙은 덧없는 인간을 위해

    CASE 32 ;카나코
        RETURNF 10662 ;신성하고 장엄한 옛 전장　~ Suwa Foughten Field

    CASE 33 ;스와코
        RETURNF 10664 ;네이티브 페이스

    CASE 34 ;텐시
        RETURNF 10701 ;유정천변　~ Wonderful Heaven

    CASE 35 ;이쿠
        RETURNF 10700 ;검은 바다에 붉음을　~ Legendary Fish

    CASE 36 ;오린
        RETURNF 10760 ;시체여행　~ Be of good cheer!

    CASE 37 ;오쿠
        RETURNF 10762 ;영지의 태양신앙　~ Nuclear Fusion

    CASE 38 ;코이시
        RETURNF 10764 ;하르트만의 요괴소녀

    CASE 39 ;나즈린
        RETURNF 10802 ;작디작은 현장

    CASE 40 ;코가사
        RETURNF 10804 ;만년 방치된 우산에 주의를

    CASE 41 ;누에
        RETURNF 10814 ;헤이안의 에일리언

    CASE 42 ;하타테
        RETURNF 0

    CASE 43 ;카센
        RETURNF 0

    CASE 44 ;엘렌
        RETURNF 10205 ;Tabula rasa　~ 공백소녀

    CASE 45 ;리카코
        RETURNF 10208 ;몽환유희　~ Dream War

    CASE 46 ;메이라
        RETURNF 10154 ;어둠의 힘

    CASE 47 ;리카
        RETURNF 10152 ;She's in a temper!!

    CASE 48 ;루이즈
        RETURNF 10304 ;영천　~ Spiritual Heave

    CASE 49 ;사토리
        RETURNF 10758 ;소녀 사토리　~ 3rd eye

    CASE 50 ;플랑
        RETURNF 10364 ;U.N.오웬은 그녀인가?

    CASE 51 ;니토리
        RETURNF 10656 ;아쿠타가와 류노스케의 캇파　~ Candid Friend

    CASE 52 ;우동게
        RETURNF 10511 ;광기의 눈동자　~ Invisible Full Moon

    CASE 53 ;테위
        RETURNF 10510 ;신데렐라 케이지　~ Kagome-Kagome

    CASE 54 ;파츄리
        RETURNF 10358 ;락드 걸　~ 소녀밀실

    CASE 55 ;뱌쿠렌
        RETURNF 10812 ;감정의 마천루　~ Cosmic Mind

    CASE 56 ;미코
        RETURNF 11012 ;쇼토쿠전설　~ True Administrator

    CASE 57 ;코코로
        RETURNF 11051 ;망실의 이모션

    CASE 58 ;메이링
        RETURNF 10356 ;메이지 17년의 상하이 앨리스

    CASE 59 ;소악마
        RETURNF 10357 ;브와르 마법도서관

    CASE 60 ;파르시
        RETURNF 10754 ;녹안의 젤러시

    CASE 61 ;모코우
        RETURNF 10517 ;달까지 닿아라，불사의 연기

    CASE 62 ;카구야
        RETURNF 10514 ;죽취비상　~ Lunatic Princess

    CASE 63 ;카게로
        RETURNF 11106 ;고독한 웨어울프

    CASE 64 ;유기
        RETURNF 10756 ;꽃의 술잔 오오에야마

    CASE 65 ;모미지
        RETURNF 10657 ;폴 오브 폴　~ 가을다워지는 폭포

    CASE 66 ;유유코
        RETURNF 10412 ;유아하게 피어라，묵염의 벚꽃　~ Border of Life

    CASE 67 ;케이네
        RETURNF 10505 ;그리운 동방의 피　~ Old World

    CASE 68 ;유카
        RETURNF 10562 ;금석환상향　~ Flower Land

    CASE 69 ;마미조
        RETURNF 11014 ;사도의 후타츠이와

    CASE 70 ;코스즈
        RETURNF 0

    CASE 71 ;신묘마루
        RETURNF 11112 ;빛나는 바늘의 소인족　~ Little Princess

    CASE 72 ;에이린
        RETURNF 10513 ;천년환상향　~ History of the Moon

    CASE 73 ;반키
        RETURNF 11104 ;버드나무 아래의 듀라한

    CASE 74 ;레티
        RETURNF 10402 ;크리스탈라이즈 실버

    CASE 75 ;메디슨
        RETURNF 10561 ;포이즌 바디　~ Forsaken Doll

    CASE 76 ;코마치
        RETURNF 10563 ;피안귀항　~ Riverside View

    CASE 77 ;시즈하
        RETURNF 10651 ;인간을 사랑한 신　~ Romantic Fall

    CASE 78 ;미노리코
        RETURNF 10652 ;이나다히메님께 야단맞으니까

    CASE 79 ;히나
        RETURNF 10654 ;운명의 다크사이드

    CASE 80 ;아큐
        RETURNF 0

    CASE 81 ;렌코
        RETURNF 0

    CASE 82 ;메리
        RETURNF 0

    CASE 83 ;키스메
        RETURNF 10751 ;어둠의 풍혈

    CASE 84 ;야마메
        RETURNF 10752 ;봉인당한 요괴　~ Lost Place

    CASE 85 ;이치린
        RETURNF 10806 ;시대 아저씨와 하이칼라 소녀

    CASE 86 ;무라사
        RETURNF 10808 ;캡틴・무라사

    CASE 87 ;쇼
        RETURNF 10810 ;범무늬의 비사문천

    CASE 88 ;쿄코
        RETURNF 11004 ;문앞의 요괴 소녀

    CASE 89 ;요시카
        RETURNF 11006 ;리지드 파라다이스

    CASE 90 ;청아
        RETURNF 11008 ;오랜 위안셴

    CASE 91 ;토지코
        RETURNF 11009 ;몽전대사묘

    CASE 92 ;후토
        RETURNF 11010 ;오오미와 신화전

    CASE 93 ;와카사기히메
        RETURNF 11102 ;비경의 머메이드

    CASE 94 ;벤벤
        RETURNF 11108 ;환상 정유리

    CASE 95 ;야츠하시
        RETURNF 11108 ;환상 정유리

    CASE 96 ;라이코
        RETURNF 11114 ;원시의 비트　~ Pristine Beat

    CASE 97 ;세이자
        RETURNF 11110 ;리버스 이데올로기

    CASE 98 ;요리히메
        RETURNF 0

    CASE 99 ;토요히메
        RETURNF 0

    CASE 100 ;레이센
        RETURNF 0

    CASE 101 ;토키코
        RETURNF 0

    CASE 102 ;신키
        RETURNF 10314 ;신화환상　~ Infinite Being

    CASE 103 ;유메코
        RETURNF 10312 ;가엾은 인형　~ Doll of Misery

    CASE 104 ;유키
        RETURNF 10309 ;진홍의 소녀　~ Crimson Dead!!

    CASE 105 ;마이
        RETURNF 10310 ;배신의 소녀　~ Judas Kiss

    CASE 106 ;스미레코
        RETURNF 11201 ;라스트 오컬티즘　~ 현세의 비술사

    CASE 107 ;세이란
        RETURNF 11252 ;토끼는 내려앉았다

    CASE 108 ;링고
        RETURNF 11254 ;9월의 펌프킨

    CASE 109 ;도레미
        RETURNF 11256 ;영원의 춘몽

    CASE 110 ;사구메
        RETURNF 11258 ;역전하는 휠 오브 포춘

    CASE 111 ;클라운피스
        RETURNF 11260 ;성조기의 피에로

    CASE 112 ;순호
        RETURNF 11262 ;퓨어 퓨리스　~ 마음이 있는 곳

    CASE 113 ;헤카티아
        RETURNF 11264 ;판데모닉 플래닛

    CASE 114 ;쿠루미
        RETURNF 10255 ;홍향곡　~ Scarlet Phoneme

    CASE 115 ;엘리
        RETURNF 10257 ;영전　~ Perdition crisis

    CASE 116 ;무게츠
        RETURNF 10266 ;메이드 환상　~ Icemilk Magic

    CASE 117 ;겐게츠
        RETURNF 10267 ;귀여운 악마　~ Innocence

    CASE 118 ;라바
        RETURNF 11302 ;한여름 요정의 꿈

    CASE 119 ;네무노
        RETURNF 11304 ;깊은 산속의 엔카운터

    CASE 120 ;아운
        RETURNF 11306 ;한 쌍의 신수

    CASE 121 ;나루미
        RETURNF 11308 ;마법의 삿갓 지장

    CASE 122 ;마이
        RETURNF 11310 ;크레이지 백댄서즈

    CASE 123 ;사토노
        RETURNF 11310 ;크레이지 백댄서즈

    CASE 124 ;오키나
        IF CFLAG:TARGET:탄막승부승리 != 1
            RETURNF 11312 ;비닉된 포 시즌스
        ELSE
            RETURNF 11314 ;비신 마타라　~ Hidden Star in All Seasons
        ENDIF

    CASE 125 ;조온
        RETURNF 0

    CASE 126 ;시온
        RETURNF 0

    CASE 127 ;에이카
        RETURNF 0

    CASE 128 ;우루미
        RETURNF 0

    CASE 129 ;쿠타카
        RETURNF 0

    CASE 130 ;야치에
        RETURNF 0

    CASE 131 ;마유미
        RETURNF 0

    CASE 132 ;케이키
        RETURNF 0

    CASE 133 ;사키
        RETURNF 0

    CASE 134 ;미요이
        RETURNF 0

    CASE 135 ;미케
        RETURNF 0

    CASE 136 ;타카네
        RETURNF 0

    CASE 137 ;코마쿠사
        RETURNF 0

    CASE 138 ;미스마루
        RETURNF 0

    CASE 139 ;츠카사
        RETURNF 0

    CASE 140 ;메구무
        RETURNF 0

    CASE 141 ;치마타
        RETURNF 0

    CASE 142 ;모모요
        RETURNF 0

    CASE 143 ;모브코
        RETURNF 0

    CASEELSE
        RETURNF 0
ENDSELECT

;-------------------------------------------------
;리버스에서 참조/변형한 애니메이션 구현 함수
;-------------------------------------------------
;≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
;캐릭터 라인 표시·애니메─숀 함수 파일 「에 째─실마리응」0527판 동고, 동방 Project 로컬 함수 파일
;동방계 바리안트로 사용할 수 있을 것 같은 비주얼·분위기 향상계의 함수군입니다. 동방계 이외에서는… 어떨까. 어느 방해는 하지 않습니다만.
;이쪽은, 에 째─실마리응본체가 없으면 동작하지 않습니다
;≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡

;-------------------------------------------------
;동방 Project풍BGM 컷 인 함수@BGM_CUTIN
;
;   ARG         BGM명을 호출할 캐릭터 번호;
;	ARG:1       스크롤 속도（디폴트라면 5）
;   ARG:2       페이드 인 시작시 공백의 개수 (디폴트면 50, -1을 넣으면 본인 문자열 길이 만큼)
;	ARG:3       참으로 하면 사라지려 할 때가 사이드 아웃에（디폴트라면 페이드 아웃）
;
;-------------------------------------------------
@BGM_CUTIN_KR(ARG, ARG:1 = 5, ARG:2 = 50, ARG:3)
#DIMS BGM_NAME
#DIMS BGM_PRINT

#LOCALSIZE 2

;「♪（홍·문장·DS·요전 타입）」, 「ＢＧＭ（영·풍 이후 타입）」
BGM_NAME = %\@ BGM_NUM(ARG) >= 10400 ? % "BGM. "% # ♪ \@%%STR:BGM_NUM(ARG)%

; ;색보존
; LOCAL:1 = GETCOLOR()
; RESETCOLOR

SIF ARG:2 == -1
    ARG:2 = STRLENS(BGM_NAME) + 4
BGM_PRINT = %" "*ARG:2+BGM_NAME%

; LOCALS:1 = %GETFONT()%
; SIF CHKFONT(ARGS:1)
; 	SETFONT ARGS:1

;표시 온
IF ANIME_CONFIG_KR("BGM_CUTIN")
	;스크롤 속도가 윈드우폭에 대해 너무 빠른 경우, 교정한다 (일단 보류?)
    ; IF ARG:2 == STRLENS(BGM_NAME) + 4
    ;     ARG:1 = ARG:1 > (ARG:2 / 10) ? ARG:2 / 10 # ARG:1
    ;     PRINTFORML {ARG:1}
	; ELSE
    ;    ARG:1 = ARG:1 >= ARG:2 ? ARG:2-1 # ARG:1
    ; ENDIF
	REDRAW 0
	LOCAL = 0
	;사이드 인
	FOR LOCAL, 0, ARG:2, ARG:1
		PRINTSINGLEFORM %SUBSTRING(BGM_PRINT , LOCAL)%
		TWAIT 2, 0
		CLEARLINE 1
	NEXT
	PRINTFORML %BGM_NAME%
	TWAIT 800, 0
	CLEARLINE 1

	IF ARG:3 == 1
		;사이드 아웃cx, 쓰지 않을꺼라 딱히 안건드림
		FOR LOCAL, 0, STRLENS(BGM_NAME)+4, ARG:1*2
			PRINTSINGLEFORM %SUBSTRING(BGM_PRINT , STRLENS(BGM_PRINT)+4-LOCAL)%
			TWAIT 2 , 0
			CLEARLINE 1
		NEXT
	ELSE
		;BGM애니메온이라면 페이드를 강요표시한다
		CALLF ANIME_CONFIG_KR("ONCE")
		;페이드 아웃
        ;CALL FADEOUT_KR(8, " "*(ARG:2-STRLENS(BGM_NAME)-4)+BGM_NAME)
		CALL FADEOUT_KR(8, BGM_NAME)
		CLEARLINE 1
	ENDIF
	REDRAW 1
;표시끄기
ELSE
	;PRINTFORMW %" "*(ARG:2-STRLENS(BGM_NAME)-4)+BGM_NAME%
	PRINTFORMW %BGM_NAME%
ENDIF
; SETFONT LOCALS:1
; SETCOLOR LOCAL:1
; RETURN RESULT


code:
;KR판 오리지날 기능 및 패치 (개인수정 등) 관련 헤더
;가독성, 관리 용이 등을 이유로 옮기기 애매한 헤더는 주석으로 이곳에 기록해주세요.

;SAVELOAD_KR.ERH
;가장 마지막에 세이브한 파일의 인덱스 저장용
#DIM SAVEDATA GLOBAL LAST_SAVE

;UEMUERAFINDER.ERH
#DIM UEMUERA_FLAG

;이벤트관련/연인아내.ERH
;KR판 오리지날 복수 연인 및 아내 기능 지원용 헤더
;포말의 ~ 는 당시 모브코 이름
#DIMS SAVEDATA 포말의연인, 100
#DIMS SAVEDATA 포말의아내, 100
#DIM SAVEDATA 스친연인수
#DIM SAVEDATA 스친아내수

#DIMS CHARADATA SAVEDATA 아내플래그

;DIM_T.ERH
; 한판 업데이트용 추가
#DIM SAVEDATA UPDATE_KR

;PLACE_ERH_저택용.ERH
;MOVEMENTS 폴더 내 위치


code:
;≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
;캐릭터 라인 표시·애니메─숀 함수 파일 「에 째─실마리응」0527판
;문자색설정이나 캐릭터 라인의 비주얼·애니메표시에 특화했다함수 파일입니다.
;이 파일 단독으로 이용할 수 있습니다만, 구응구분 처리응그 외와의 함수명 덮어 쓰는 것에는 주의해 주세요
;아마, 대부분의 바리안트에 그대로 들어갈 수 있어 동작할 것입니다
;≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡

;≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
;＠색조작계 함수
;색의 꺼내기나 변환을 실시하는 기본 함수.
;동고의 함수로부터 불리거나 부를 때에 사용하면 편리하기도 하고.
;≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡

;-------------------------------------------------
;RGB색지정 함수@RGBCOLOR
;	인수 0:Ｒ휘도（0～255）
;	인수 1:Ｇ휘도（0～255）
;	인수 2:Ｂ휘도（0～255）
;
;식중에서 사용하는 함수입니다. 인수 0～3으로 RGB를 지정하면, 16진（0 xRRGGBB）로 해 돌려줍니다
;
;만약을 위해필요인 비트 밖에 보지 않도록. COLOR_FROMRGB 식 안의 함수가 부활했다의 것으로 치환@revkoishi(14/04/28)
;-------------------------------------------------
@RGBCOLOR_KR(ARG:0, ARG:1, ARG:2)
#FUNCTION
;RETURNF (65536*ARG)+(256*ARG:1) +ARG:2
;RETURNF (ARG:0 & 0 xFF) << 16 | (ARG:1 & 0 xFF) << 8 | (ARG:2 & 0 xFF)
RETURNF COLOR_FROMRGB(ARG:0 & 0xFF, ARG:1 & 0xFF, ARG:2 & 0xFF)

;-------------------------------------------------
;칼라 분해 함수@GETRED/GETGREEN/GETBLUE
;	인수:16진칼라 표기, 생략 하면 현재의 문자색
;
;0 xRRGGBB 형식의 칼라 표기로부터, RGB 각각의 값을 0～255로 추출합니다
;
;만약을 위해필요인 비트 밖에 보지 않도록 해 둔다@revkoishi(14/04/20)
;-------------------------------------------------
@GETRED_KR(ARG:0 = -1)
#FUNCTION
;RETURNF (ARG >= 0? ARG # GETCOLOR())/65536
RETURNF ((ARG >= 0 ? ARG:0 # GETCOLOR()) & 0xFF0000) >> 16

@GETGREEN_KR(ARG:0 = -1)
#FUNCTION
;RETURNF ((ARG >= 0? ARG # GETCOLOR())/256)%256
RETURNF ((ARG >= 0 ? ARG:0 # GETCOLOR()) & 0x00FF00) >> 8

@GETBLUE_KR(ARG:0 = -1)
#FUNCTION
;RETURNF (ARG >= 0? ARG # GETCOLOR())%256
RETURNF ((ARG >= 0 ? ARG:0 # GETCOLOR()) & 0x0000FF)

;-------------------------------------------------------------------------------
;	색을 명도의 퍼센트로 변경
;-------------------------------------------------------------------------------
;	예  CALL BRIGHTCOLOR_KR(70)	※70%의 어두움에 SETCOLOR
;		CALL BRIGHTCOLOR_KR(150)	※150%의 밝음에 SETCOLOR
;===============================================================================
@BRIGHTCOLOR_KR(ARG)
SETCOLOR BRIGHTCOLORF_KR(ARG)
RETURN RESULT

;-------------------------------------------------------------------------------
;	상의 녀석의 식중판
;-------------------------------------------------------------------------------
;	예	SETCOLOR BRIGHTCOLORF_KR(50) ※50%의 어두움에 SETCOLOR
;		바로 이것 두드리는 편이 빠른 생각도 든다
;===============================================================================
@BRIGHTCOLORF_KR(ARG, ARG:1 = -1)
#FUNCTION
#LOCALSIZE 1
#DIM NOW,1
ARG = LIMIT(ARG, 0, 1000)
LOCAL = ARG:1 == -1 ? GETCOLOR() # ARG:1
RETURNF RGBCOLOR_KR( TIMESF_KR(GETRED_KR(LOCAL),ARG), TIMESF_KR(GETGREEN_KR(LOCAL),ARG), TIMESF_KR(GETBLUE_KR(LOCAL),ARG) )

;≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
;＠애니메─숀계 함수
;캐릭터 라인을 동이나했다페이드 인·아웃시켰다합니다. 어느 의미 이 파일의 눈인가
;대체로 표시시간가 있기 (위해)때문에, 다용하면 음울함을 줍니다, 주의.
;제어 함수를 통해, 각 함수마다애니메─숀의 온 오프 설정을 할 수 있습니다.
;≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡

;-------------------------------------------------
;애니메─숀 제어 함수@ANIME_CONFIG
;	캐릭터 라인 인수·인수:캐릭터 라인 인수에 의해 기능 분기
;		"SAVE":인수는 무효. 콘피그빗트의 값을 돌려줍니다. 세이브 되는 변수에 대입할 때에.
;		"SET":콘피그빗트에 인수의 값을 직접 대입@EVENTLORD등으로 설정 반영할 때에. 인수 생략 하면 SAVE 호환
;		"FORCE":강제 표시·강제비표시·통상의모드변환을 합니다. 콘피그빗트는 원래인 채입니다
;				（인수=0, 콘피그빗트를 참조해 표시（통상）, 1, 강제 표시, 2, 강제비표시, 생략, 현재의 설정을반환만）
;		"TIMES":이 뒤로 불리는애니메를, 인수의횟수분, 강제 표시로 합니다. 함수는 지정할 수 없습니다. FORCE에우선 합니다
;				 인수를 0으로 하면, 횟수를 초기화합니다. 인수를 생략 하면, 나머지횟수을반환만
;		"ONCE":이 뒤로 불리는애니메를, 1회만 강제 표시로 합니다. 함수는 지정할 수 없습니다. FORCE·TIMES에우선 합니다. 인수는 무효.
;		"%함수명%":지정했다함수마다의 콘피그빗트를 설정합니다. 인수 1으로 표시에, 0으로 비표시로 합니다. 2라고, 설정을 반대로 합니다
;					인수를 생략 하면, 반환값이 진이라면 표시하는 판정이 됩니다（강제 표시상태에영향 됩니다）
;		"USER{번호}":유저 정의의 콘피그 항목을 설정할 수 있습니다. 스스로애니메효과를 작성했다경우에 편리합니다. 1～13번까지 가질 수 있습니다
;					  인수를 생략 하면, 반환값이 진이라면 표시하는 판정이 됩니다（강제 표시상태에영향 됩니다）
;
;에 째─실마리응내장의애니메효과의 종합적인 제어. 함수 마다의 콘피그빗트가 서 있으면, 그 함수의애니메효과를 표시하지 않습니다
;표시하지 않는 경우는 오른쪽 클릭 스킵용과 같은 간략테키스트를 표시하도록(듯이)합니다
;함수명은 앨리어스가 아니고 본체로 지정. 그리고 일본어명도 받아들이게 되어 있습니다.
;구상측 따위로 FORCE·TIMES 기능을 다용하면, 반드시 미움받습니다.
;-------------------------------------------------
@ANIME_CONFIG_KR(ARGS, ARG = -1)
#FUNCTION
#LOCALSIZE 6
;LOCAL는 콘피그빗트를 격납
;LOCAL:1은 강제 표시·비표시상태
;LOCAL:2는횟수지정 강제 표시의횟수를 격납
;LOCAL:3은 편집·참조하는 콘피그빗트의번호
;LOCAL:4는 유저 정의의번호
;LOCAL:5는 ONCE상태

SELECTCASE ARGS
	CASE "SAVE"
		RETURNF LOCAL
	CASE "SET"
		SIF ARG >= 0
			LOCAL = ARG
		RETURNF LOCAL
	CASE "FORCE"
		SIF ARG >= 0
			LOCAL:1 = ARG
		RETURNF LOCAL:1
	CASE "TIMES"
		SIF ARG >= 0
			LOCAL:2 = ARG
		RETURNF LOCAL:2
	CASE "ONCE"
		LOCAL:5 = 1
		RETURNF LOCAL:5
	CASE "SCROLLTEXT", "스크롤"
		;콘피그빗트 0번
		LOCAL:3 = 0
	CASE "FADE", "페이드"
		;콘피그빗트 1번
		LOCAL:3 = 1
	CASE "QUAKE", "진동"
		;콘피그빗트 2번
		LOCAL:3 = 2
	CASE "FLASH", "발광"
		;콘피그빗트 3번
		LOCAL:3 = 3
	CASE "FULLCUTIN", "전화면 컷 인"
		;콘피그빗트 4번
		LOCAL:3 = 4
	CASE "BGM_CUTIN", "ＢＧＭ컷 인"
		;콘피그빗트 41번
		LOCAL:3 = 41
	CASE "CHARA_CUTIN", "캐릭터 컷 인"
		;콘피그빗트 42번
		LOCAL:3 = 42
	CASEELSE
		LOCAL:4 = TOINT(REPLACE(ARGS, "USER", ""))
		;유저 정의의 처리
		IF STRCOUNT(ARGS, "USER") && LOCAL:4 > 0 && LOCAL:4 < 14
			;콘피그빗트 51번 이후
			LOCAL:3 = 50+LOCAL:4
		;그 이외는-1을반환만. 디버그용
		ELSE
			RETURNF -1
		ENDIF
ENDSELECT
;콘피그빗트의 처리
SELECTCASE ARG
	CASE 0
		SETBIT LOCAL, LOCAL:3
	CASE 1
		CLEARBIT LOCAL, LOCAL:3
	CASE 2
		INVERTBIT LOCAL, LOCAL:3
ENDSELECT
;ONCE가 유효한 경우
IF LOCAL:5
	LOCAL:5 = 0
	RETURNF MESSKIP() ? 0 # 1
;강제 표시계가 유효한 경우
ELSEIF LOCAL:2 > 0
	LOCAL:2--
	RETURNF MESSKIP() ? 0 # 1
ELSEIF LOCAL:1
	RETURNF MESSKIP() ? 0 # !(LOCAL:1-1)
ENDIF
;콘피그빗트를 참조해돌아가기
RETURNF MESSKIP() ? 0 # !GETBIT(LOCAL, LOCAL:3)

;-------------------------------------------------
;캐릭터 라인 스크롤 함수@SCROLLTEXT
;	캐릭터 라인 인수:스크롤시킨다캐릭터 라인
;	인수 0:1으로 하면 스크롤중, 캐릭터 라인아래에 DRAWLINE 합니다. 2라면-=라인에
;	인수 1:스크롤 속도（디폴트라면 30）
;	인수 2:윈드우의 옆에 들어가는 문자수（디폴트라면 117）
;			메모  117
;	인수 3:실로 하면 캐릭터 라인이 구석에서 바운드 합니다. 숫자를 올리면 바운드가 느슨해집니다. 누가 이득을 봐 이 기능
;	인수 4:실로 하면 스크롤 방향이 거꾸로 됩니다. 디폴트라면 왼쪽에서 오른쪽. SCROLLTEXTL라고 하는 앨리어스가 존재
;
;인수의 캐릭터 라인을 스크롤 시킵니다
;-------------------------------------------------
@SCROLLTEXT_KR(ARGS, ARG, ARG:1 = 30, ARG:2 = 117, ARG:3, ARG:4)
#LOCALSIZE 3
#LOCALSSIZE 1
LOCALS = %ARGS%
;스페이스를 부가
IF ARG:4
	ARGS = %(" "*ARG:2)+ARGS%
ELSE
	ARGS = %" "*(ARG:2 - 2 - STRLENS(ARGS))+ARGS%
ENDIF
;표시 온
IF ANIME_CONFIG_KR("SCROLLTEXT")
	;스크롤 속도가 윈드우폭에 대해 너무 빠른 경우, 교정한다
	ARG:1 = ARG:1 >= ARG:2 ? ARG:2-1 # ARG:1
	REDRAW 0
	LOCAL = 0
	FOR LOCAL, 0, ARG:2-2, ARG:1
		IF ARG:4
			PRINTSINGLEFORM %SUBSTRING(ARGS , LOCAL)%
		ELSE
			PRINTSINGLEFORM %SUBSTRING(ARGS , (ARG:2 - 2) - LOCAL)%
		ENDIF
		IF ARG == 1
			DRAWLINE
		ELSEIF ARG == 2
			CUSTOMDRAWLINE -=
		ENDIF
		TWAIT 2 , 0
		CLEARLINE 1+!(!ARG)
	NEXT
	;. 실로 적당하게 뜁니다
	IF ARG:3
		FOR LOCAL, ARG:3, ARG:3*5, ARG:3*2
			IF ARG:4
				PRINTFORML %LOCALS%
			ELSE
				PRINTFORML %ARGS%
			ENDIF
			IF ARG == 1
				DRAWLINE
			ELSEIF ARG == 2
				CUSTOMDRAWLINE -=
			ENDIF
			TWAIT 2 , 0
			CLEARLINE 1+!(!ARG)
			FOR LOCAL:1, 0, ARG:2/(LOCAL+4), ARG:1/(LOCAL+1)
				IF ARG:4
					PRINTSINGLEFORM %SUBSTRING(ARGS , ARG:2 - LOCAL:1)%
				ELSE
					PRINTSINGLEFORM %SUBSTRING(ARGS , LOCAL:1)%
				ENDIF
				IF ARG == 1
					DRAWLINE
				ELSEIF ARG == 2
					CUSTOMDRAWLINE -=
				ENDIF
				TWAIT 2 , 0
				CLEARLINE 1+!(!ARG)
			NEXT
			FOR LOCAL:2, 0, ARG:2/(LOCAL+4), ARG:1/(LOCAL+1)
				IF ARG:4
					PRINTSINGLEFORM %SUBSTRING(ARGS , ARG:2 - LOCAL:1 + LOCAL:2)%
				ELSE
					PRINTSINGLEFORM %SUBSTRING(ARGS , LOCAL:1 - LOCAL:2)%
				ENDIF
				IF ARG == 1
					DRAWLINE
				ELSEIF ARG == 2
					CUSTOMDRAWLINE -=
				ENDIF
				TWAIT 2 , 0
				CLEARLINE 1+!(!ARG)
			NEXT
		NEXT
	ENDIF
ENDIF

IF ARG:4
	PRINTFORML %LOCALS%
ELSE
	PRINTFORML %ARGS%
ENDIF
IF ARG == 1
	DRAWLINE
ELSEIF ARG == 2
	CUSTOMDRAWLINE -=
ENDIF
REDRAW 1
RETURN RESULT

;-------------------------------------------------
;캐릭터 라인 오른쪽 스크롤 함수@SCROLLTEXTL
;	캐릭터 라인 인수:스크롤시킨다캐릭터 라인
;	인수 0:실로 하면 스크롤중, 캐릭터 라인아래에 DRAWLINE 합니다
;	인수 1:스크롤 속도（디폴트라면 30）
;	인수 2:윈드우의 옆에 들어가는 문자수（디폴트라면 117）
;	인수 3:실로 하면 캐릭터 라인이 구석에서 바운드 합니다. 숫자를 올리면 바운드가 느슨해집니다
;
;인수의 캐릭터 라인을 윈드우의 금방 다른 곳으로 스크롤 시킵니다
;-------------------------------------------------
@SCROLLTEXTL_KR(ARGS, ARG, ARG:1 = 30, ARG:2 = 117, ARG:3)
CALL SCROLLTEXT_KR(ARGS, ARG, ARG:1, ARG:2, ARG:3, 1)
RETURN RESULT

;-------------------------------------------------
;페이드 아웃 함수@FADEOUT
;	인수 0:팽이수. 많이 할 만큼 완만하게 됩니다. 디폴트는 8
;	캐릭터 라인 인수 0～29:표시하는 캐릭터 라인（공행은 스페이스에서. 생략 하면 무시합니다）
;	인수 3:FULLCUTIN용. 정말로 하면 개막행 삭제로부터 들어갑니다
;
;인수로 준 캐릭터 라인을 표시해, 키 경치에 페이드 아웃 합니다.
;안보이게 되는 것만으로 사라지지 않기 때문에, 필요라면 CLEARLINE로 지워 주세요.
;캐릭터 라인은 30행까지 맡을 수가 있습니다
;-------------------------------------------------
@FADEOUT_KR(ARG = 8, ARGS = "VOID", ARGS:1 = "VOID", ARGS:2 = "VOID", ARGS:3 = "VOID", ARGS:4 = "VOID", ARGS:5 = "VOID", ARGS:6 = "VOID", ARGS:7 = "VOID", ARGS:8 = "VOID", ARGS:9 = "VOID", ARGS:10 = "VOID", ARGS:11 = "VOID", ARGS:12 = "VOID", ARGS:13 = "VOID", ARGS:14 = "VOID", ARGS:15 = "VOID", ARGS:16 = "VOID", ARGS:17 = "VOID", ARGS:18 = "VOID", ARGS:19 = "VOID", ARGS:20 = "VOID", ARGS:21 = "VOID", ARGS:22 = "VOID", ARGS:23 = "VOID", ARGS:24 = "VOID", ARGS:25 = "VOID", ARGS:26 = "VOID", ARGS:27 = "VOID", ARGS:28 = "VOID", ARGS:29 = "VOID", ARG:3)
CALL FADE_KR(ARG, GETCOLOR(), GETBGCOLOR(), ARGS, ARGS:1, ARGS:2, ARGS:3, ARGS:4, ARGS:5, ARGS:6, ARGS:7, ARGS:8, ARGS:9, ARGS:10, ARGS:11, ARGS:12, ARGS:13, ARGS:14, ARGS:15, ARGS:16, ARGS:17, ARGS:18, ARGS:19, ARGS:20, ARGS:21, ARGS:22, ARGS:23, ARGS:24, ARGS:25, ARGS:26, ARGS:27, ARGS:28, ARGS:29, ARG:3)
RETURN RESULT

;-------------------------------------------------
;페이드 인 함수@FADEIN
;	인수 0:팽이수. 많이 할 만큼 완만하게 됩니다. 디폴트는 8
;	캐릭터 라인 인수 0～29:표시하는 캐릭터 라인（공행은 스페이스에서. 생략 하면 무시합니다）
;
;인수로 준 캐릭터 라인을, 키 경치로부터 페이드 인 표시합니다.
;색을 바꾸고 싶은 경우는 사전에 SETCOLOR 하는지, @FADE를 직접 불러 주세요
;캐릭터 라인은 30행까지 맡을 수가 있습니다
;-------------------------------------------------
@FADEIN_KR(ARG = 8, ARGS = "VOID", ARGS:1 = "VOID", ARGS:2 = "VOID", ARGS:3 = "VOID", ARGS:4 = "VOID", ARGS:5 = "VOID", ARGS:6 = "VOID", ARGS:7 = "VOID", ARGS:8 = "VOID", ARGS:9 = "VOID", ARGS:10 = "VOID", ARGS:11 = "VOID", ARGS:12 = "VOID", ARGS:13 = "VOID", ARGS:14 = "VOID", ARGS:15 = "VOID", ARGS:16 = "VOID", ARGS:17 = "VOID", ARGS:18 = "VOID", ARGS:19 = "VOID", ARGS:20 = "VOID", ARGS:21 = "VOID", ARGS:22 = "VOID", ARGS:23 = "VOID", ARGS:24 = "VOID", ARGS:25 = "VOID", ARGS:26 = "VOID", ARGS:27 = "VOID", ARGS:28 = "VOID", ARGS:29 = "VOID")
CALL FADE_KR(ARG, GETBGCOLOR(), GETCOLOR(), ARGS, ARGS:1, ARGS:2, ARGS:3, ARGS:4, ARGS:5, ARGS:6, ARGS:7, ARGS:8, ARGS:9, ARGS:10, ARGS:11, ARGS:12, ARGS:13, ARGS:14, ARGS:15, ARGS:16, ARGS:17, ARGS:18, ARGS:19, ARGS:20, ARGS:21, ARGS:22, ARGS:23, ARGS:24, ARGS:25, ARGS:26, ARGS:27, ARGS:28, ARGS:29)
RETURN RESULT

;-------------------------------------------------
;페이드 처리 함수@FADE
;	인수 0:팽이수. 많이 할 만큼 완만하게 됩니다. 디폴트는 8. 크게 너무 크게 하면 이상해집니다
;	인수 1:초기 문자색
;	인수 2:변화 하는 문자색
;	캐릭터 라인 인수 0～29:표시하는 캐릭터 라인（공행은 스페이스에서. 생략 하면 무시합니다）
;	인수 3:FULLCUTIN용. 정말로 하면 개막행 삭제로부터 들어갑니다
;
;페이드 아웃·페이드 인의 처리를 합니다. 내부 함수입니다만, 호출도 가능합니다
;-------------------------------------------------
@FADE_KR(ARG = 8, ARG:1 , ARG:2, ARGS = "VOID", ARGS:1 = "VOID", ARGS:2 = "VOID", ARGS:3 = "VOID", ARGS:4 = "VOID", ARGS:5 = "VOID", ARGS:6 = "VOID", ARGS:7 = "VOID", ARGS:8 = "VOID", ARGS:9 = "VOID", ARGS:10 = "VOID", ARGS:11 = "VOID", ARGS:12 = "VOID", ARGS:13 = "VOID", ARGS:14 = "VOID", ARGS:15 = "VOID", ARGS:16 = "VOID", ARGS:17 = "VOID", ARGS:18 = "VOID", ARGS:19 = "VOID", ARGS:20 = "VOID", ARGS:21 = "VOID", ARGS:22 = "VOID", ARGS:23 = "VOID", ARGS:24 = "VOID", ARGS:25 = "VOID", ARGS:26 = "VOID", ARGS:27 = "VOID", ARGS:28 = "VOID", ARGS:29 = "VOID", ARG:3)
#LOCALSIZE 3
#DIM PRICOLOR,1
#DIM RED,2
#DIM GREEN,2
#DIM BLUE,2
VARSET RED
VARSET GREEN
VARSET BLUE

;원의 문자색의취득
PRICOLOR = GETCOLOR()

;표시 온
IF ANIME_CONFIG_KR("FADE")
	;일부 환경에서 페이드 처리가 잘 되지 않는 것 같은 것으로 대책@revkoishi(14/05/28)
	LOCAL:2 = CURRENTREDRAW()
	REDRAW 0

	;초기색
	SETCOLOR ARG:1

	;RGB 각각의 베이스치, 감소치를 각 색:0으로 1에 대입
	RED = GETRED_KR()
	IF RED > GETRED_KR(ARG:2)
		RED:1 = MAX(1, (RED-GETRED_KR(ARG:2))/ARG)
	ELSEIF RED < GETRED_KR(ARG:2)
		RED:1 = MIN(-1, (RED-GETRED_KR(ARG:2))/ARG)
	ENDIF
	GREEN = GETGREEN_KR()
	IF GREEN > GETGREEN_KR(ARG:2)
		GREEN:1 = MAX(1, (GREEN-GETGREEN_KR(ARG:2))/ARG)
	ELSEIF GREEN < GETGREEN_KR(ARG:2)
		GREEN:1 = MIN(-1, (GREEN-GETGREEN_KR(ARG:2))/ARG)
	ENDIF
	BLUE = GETBLUE_KR()
	IF BLUE > GETBLUE_KR(ARG:2)
		BLUE:1 = MAX(1, (BLUE-GETBLUE_KR(ARG:2))/ARG)
	ELSEIF BLUE < GETBLUE_KR(ARG:2)
		BLUE:1 = MIN(-1, (BLUE-GETBLUE_KR(ARG:2))/ARG)
	ENDIF

	IF !ARG:3
		FOR LOCAL, 0, 30
			SIF ARGS:LOCAL != "VOID"
				PRINTSL ARGS:LOCAL
		NEXT
		TWAIT 100 , 0
	ENDIF
	CLEARLINE 30-MATCH(ARGS, "VOID")

	FOR LOCAL:1, 0, ARG
		RED = MAX(0, RED-RED:1)
		GREEN = MAX(0, GREEN-GREEN:1)
		BLUE = MAX(0, BLUE-BLUE:1)
		SETCOLOR RED, GREEN, BLUE
		FOR LOCAL, 0, 30
			SIF ARGS:LOCAL != "VOID"
				PRINTSL ARGS:LOCAL
		NEXT
		TWAIT 100 , 0
		CLEARLINE 30-MATCH(ARGS, "VOID")
	NEXT
	SETCOLOR ARG:2
	FOR LOCAL, 0, 30
		SIF ARGS:LOCAL != "VOID"
			PRINTSL ARGS:LOCAL
	NEXT

	REDRAW LOCAL:2
;표시끄기
ELSE
	;종료색이 키 경치와 같은 경우, 초기색으로 표시. 그렇지 않으면 종료색으로 표시
	SETCOLOR GETBGCOLOR() == ARG:2 ? ARG:1 # ARG:2
	FOR LOCAL, 0, 30
		IF ARGS:LOCAL != "VOID"
			PRINTSL ARGS:LOCAL
		ENDIF
	NEXT
ENDIF
SETCOLOR PRICOLOR
RETURN RESULT

;-------------------------------------------------
;에 째─실마리응의 콘피그를 참조해 ARG 분의행 삭제를 실시한다
;생략 하면 일행 삭제. FADE계의 다음에의 사용을 상정
;-------------------------------------------------
@FADE_CLINE_KR(ARG = 1)
IF ANIME_CONFIG_KR("FADE")
	LOCAL:0 = CURRENTREDRAW()
	REDRAW 0
	CLEARLINE ARG
	REDRAW LOCAL:0
ENDIF

;-------------------------------------------------
;FADE_TO_CLEARLINE
;FADEOUT와 행 삭제를 통합했다의
;캐릭터 지정 문자색으로부터 키 경치에 페이드 아웃 한다
;애니메콘피그를 참조해필요라면 행 삭제를 실시한다
;-------------------------------------------------
@FADE_TO_CLEARLINE_KR(ARG:0, ARGS:0)
CALL FADE_KR(ARG:0, GETCOLOR(), GETBGCOLOR(), @"%ARGS:0%")
CALL FADE_CLINE_KR(1)

;-------------------------------------------------
;FADE_TO_CLEARLINE2
;FADE_TO_CLEARLINE의 문자색, 키 경치를 지정 가능하게했다의
;『ARG:0』의 속도로 『ARG:1』의 문자색으로부터 『ARG:2』의 키 경치에 『ARGS:0』의 캐릭터 라인을 페이드 아웃시킨다
;-------------------------------------------------
@FADE_TO_CLEARLINE2_KR(ARG:0, ARG:1, ARG:2, ARGS:0)
CALL FADE_KR(ARG:0, ARG:1, ARG:2, @"%ARGS:0%")
CALL FADE_CLINE_KR(1)

;-------------------------------------------------
;진동 효과 함수@QUAKE
;	인수 0:진동수. 생략 하면 2
;
;화면을 상하에 흔듭니다. 흔들림폭은 어느 정도 랜덤입니다
;-------------------------------------------------
@QUAKE_KR(ARG = 2)
#LOCALSIZE 3
;표시끄기라면돌아가기
SIF !ANIME_CONFIG_KR("QUAKE")
	RETURN RESULT
REDRAW 0
FOR LOCAL, 0, ARG
	LOCAL:1 = RAND:4+1
	FOR LOCAL:2, 0, LOCAL:1
		PRINTL
	NEXT
	TWAIT 100, 0
	CLEARLINE LOCAL:1
	TWAIT 100, 0
NEXT
REDRAW 3
RETURN RESULT

;-------------------------------------------------
;발광 효과 함수@FLASH
;	인수 0:발광수. 생략 하면 2
;	인수 1:빛나는 색. 생략 하면 흰색
;
;화면을 발광시킵니다. 키 경치의 점멸
;-------------------------------------------------
@FLASH_KR(ARG = 2, ARG:1 = 0xFFFFFF)
#LOCALSIZE 2
;표시끄기라면돌아가기
SIF !ANIME_CONFIG_KR("FLASH")
	RETURN RESULT
REDRAW 0
FOR LOCAL, 0, 150
	PRINTL
NEXT
LOCAL:1 = GETBGCOLOR()
FOR LOCAL, 0, ARG
	SETBGCOLOR ARG:1
	REDRAW 2
	SETBGCOLOR LOCAL:1
	REDRAW 2
NEXT
CLEARLINE 150
REDRAW 3
RETURN RESULT

;-------------------------------------------------
;전화면 컷 인 함수@FULLCUTIN
;	인수 0:좌단으로부터의 인덴트
;	인수 1:마루로부터 띄우는 행수（표시 캐릭터 라인과 합해 30을 넘지 말아 주세요）
;	캐릭터 라인 인수 0～29:표시하는 캐릭터 라인
;
;공행으로 화면을 청소해, 전화면 분의 컷 인을 표시합니다
;행 가지런히 하고나 폰트 따위의 옵션은 아직 거의 설정하고 있지 않습니다. 아이디어만 우선.
;-------------------------------------------------
@FULLCUTIN_KR(ARG, ARG:1, ARGS = "VOID", ARGS:1 = "VOID", ARGS:2 = "VOID", ARGS:3 = "VOID", ARGS:4 = "VOID", ARGS:5 = "VOID", ARGS:6 = "VOID", ARGS:7 = "VOID", ARGS:8 = "VOID", ARGS:9 = "VOID", ARGS:10 = "VOID", ARGS:11 = "VOID", ARGS:12 = "VOID", ARGS:13 = "VOID", ARGS:14 = "VOID", ARGS:15 = "VOID", ARGS:16 = "VOID", ARGS:17 = "VOID", ARGS:18 = "VOID", ARGS:19 = "VOID", ARGS:20 = "VOID", ARGS:21 = "VOID", ARGS:22 = "VOID", ARGS:23 = "VOID", ARGS:24 = "VOID", ARGS:25 = "VOID", ARGS:26 = "VOID", ARGS:27 = "VOID", ARGS:28 = "VOID", ARGS:29 = "VOID", ARG:2 = 8)
#LOCALSIZE 1
;표시 온
IF ANIME_CONFIG_KR("FULLCUTIN")
	FOR LOCAL, 0, 30
		IF ARGS:LOCAL == "VOID"
			IF ARG:1 > 0
				ARGS:LOCAL =
				ARG:1--
			ENDIF
		ELSE
			ARGS:LOCAL = %" "*ARG+ARGS:LOCAL%
		ENDIF
	NEXT
	CALL SAVELINE_KR
	FOR LOCAL, 0, 150
		PRINTL
	NEXT
	;FULLCUTIN가 온이라면 페이드는 강제
	CALLF ANIME_CONFIG_KR("ONCE")
	CALL FADEIN_KR(ARG:2, ARGS, ARGS:1, ARGS:2, ARGS:3, ARGS:4, ARGS:5, ARGS:6, ARGS:7, ARGS:8, ARGS:9, ARGS:10, ARGS:11, ARGS:12, ARGS:13, ARGS:14, ARGS:15, ARGS:16, ARGS:17, ARGS:18, ARGS:19, ARGS:20, ARGS:21, ARGS:22, ARGS:23, ARGS:24, ARGS:25, ARGS:26, ARGS:27, ARGS:28, ARGS:29)
	TWAIT 2000, 0
	CALLF ANIME_CONFIG_KR("ONCE")
	CALL FADEOUT_KR(ARG:2, ARGS, ARGS:1, ARGS:2, ARGS:3, ARGS:4, ARGS:5, ARGS:6, ARGS:7, ARGS:8, ARGS:9, ARGS:10, ARGS:11, ARGS:12, ARGS:13, ARGS:14, ARGS:15, ARGS:16, ARGS:17, ARGS:18, ARGS:19, ARGS:20, ARGS:21, ARGS:22, ARGS:23, ARGS:24, ARGS:25, ARGS:26, ARGS:27, ARGS:28, ARGS:29, 1)
	TWAIT 500, 0
	CALL RETURNLINE_KR
;표시끄기（간략화 표시）
ELSE
	PRINTL
	PRINTL
	FOR LOCAL, 0, 30
		IF ARGS:LOCAL != "VOID"
			IF STRLENSU(ARGS:LOCAL) < 2
				PRINTSL ARGS:LOCAL
			ELSE
				PRINTFORMW %" "*ARG+ARGS:LOCAL%
			ENDIF
		ENDIF
	NEXT
	PRINTL
	PRINTL
ENDIF
RETURN RESULT

;-------------------------------------------------
;전화면 컷 인 함수@FULLCUTIN2_KR
;	페이드 인·아웃등이 종래보다 빠른 것뿐입니다
;-------------------------------------------------
@FULLCUTIN2_KR(ARG, ARG:1, ARGS = "VOID", ARGS:1 = "VOID", ARGS:2 = "VOID", ARGS:3 = "VOID", ARGS:4 = "VOID", ARGS:5 = "VOID", ARGS:6 = "VOID", ARGS:7 = "VOID", ARGS:8 = "VOID", ARGS:9 = "VOID", ARGS:10 = "VOID", ARGS:11 = "VOID", ARGS:12 = "VOID", ARGS:13 = "VOID", ARGS:14 = "VOID", ARGS:15 = "VOID", ARGS:16 = "VOID", ARGS:17 = "VOID", ARGS:18 = "VOID", ARGS:19 = "VOID", ARGS:20 = "VOID", ARGS:21 = "VOID", ARGS:22 = "VOID", ARGS:23 = "VOID", ARGS:24 = "VOID", ARGS:25 = "VOID", ARGS:26 = "VOID", ARGS:27 = "VOID", ARGS:28 = "VOID", ARGS:29 = "VOID", ARG:2 = 4)
#LOCALSIZE 1
CALL FULLCUTIN_KR(ARG, ARG:1, ARGS, ARGS:1, ARGS:2, ARGS:3, ARGS:4, ARGS:5, ARGS:6, ARGS:7, ARGS:8, ARGS:9, ARGS:10, ARGS:11, ARGS:12, ARGS:13, ARGS:14, ARGS:15, ARGS:16, ARGS:17, ARGS:18, ARGS:19, ARGS:20, ARGS:21, ARGS:22, ARGS:23, ARGS:24, ARGS:25, ARGS:26, ARGS:27, ARGS:28, ARGS:29, ARG:2)
RETURN RESULT

;-------------------------------------------------------------------------------
;	TIMESの式中関数版TIMESF(式中関数)
;	eratohoЯeverseより引用
;-------------------------------------------------------------------------------
;	例  LOCAL = TIMESF(100,200)
;       この場合 100 * 2.00 + 0 = 200
;===============================================================================
@TIMESF_KR(ARG, ARG:1, ARG:2)
#FUNCTION
; とりあえず0から1兆
RETURNF LIMIT((ARG * ARG:1 / 100) + ARG:2, 0, 999999999999)

;-------------------------------------------------
;재묘화 함수@SAVELINE/@RETURNLINE
;	인수 0:RETUENLINE로부터 불린 것을 나타낸다
;
;SAVELINE 하고 나서 RETURNLINE 하면, SAVELINE했다곳까지 행 삭제합니다.
;메뉴의 재묘화라든지에 이용하십시오
;SAVELINE 잊어 RETURNLINE 하면 몽땅 삭제해 버립니다.
;-------------------------------------------------
@SAVELINE_KR(ARG)
#LOCALSIZE 1
IF ARG
	CLEARLINE LINECOUNT-LOCAL
ELSE
	LOCAL = LINECOUNT
ENDIF
RETURN RESULT

@RETURNLINE_KR
#LOCALSIZE 1
CALL SAVELINE_KR, 1
RETURN RESULT


code:
;≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
;캐릭터 라인 표시·애니메─숀 함수 파일 「에 째─실마리응」0527판 동고, 동방 Project 로컬 함수 파일
;동방계 바리안트로 사용할 수 있을 것 같은 비주얼·분위기 향상계의 함수군입니다. 동방계 이외에서는… 어떨까. 어느 방해는 하지 않습니다만.
;이쪽은, 에 째─실마리응본체가 없으면 동작하지 않습니다
;≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡

; ;-------------------------------------------------
; ;동방 Project풍BGM 컷 인 함수@BGM_CUTIN
; ;	캐릭터 라인 인수 0:곡명
; ;	캐릭터 라인 인수 1:폰트（등폭이 아니면 기능하지 않습니다. 생략했다등 나눔명조）
; ;	인수 0:생략 하면 머리에 「♪（다홍색·문장·DS·요전 타입）」, 정말로 하면 「ＢＧＭ（영·풍 이후 타입）」, 부로 하면 아무것도 붙이지 않는다
; ;	인수 1:스크롤 속도（디폴트라면 5）
; ;	인수 2:화면단까지 들어가는 문자수（디폴트라면 117）
; ;	인수 3:1으로 하면 사라지려 할 때가 사이드 아웃에（디폴트라면 페이드 아웃）
; ;
; ;Windows 표준 폰트가 아닌 HG창영존재 EB는 바람직하지 않기 때문에, 독단과 편견으로 데포의 폰트를 나눔명조로 변경@/L(14/09/28)
; ;-------------------------------------------------
; @BGM_CUTIN_KR(ARGS, ARG, ARGS:1 = "나눔명조", ARG:1 = 5, ARG:2 = 117, ARG:3)
; #LOCALSIZE 2
; #LOCALSSIZE 2
; IF ARG >= 0
; 	LOCALS = %\@ ARG ? %"ＢＧＭ."% # ♪ \@+ARGS%
; ELSE
; 	LOCALS = %ARGS%
; ENDIF
; ;색보존
; LOCAL:1 = GETCOLOR()
; RESETCOLOR
; ARGS = %" "*ARG:2+LOCALS%
; LOCALS:1 = %GETFONT()%
; SIF CHKFONT(ARGS:1)
; 	SETFONT ARGS:1
; ;표시 온
; IF ANIME_CONFIG_KR("BGM_CUTIN")
; 	;스크롤 속도가 윈드우폭에 대해 너무 빠른 경우, 교정한다
; 	ARG:1 = ARG:1 >= ARG:2 ? ARG:2-1 # ARG:1
; 	REDRAW 0
; 	LOCAL = 0
; 	;사이드 인
; 	FOR LOCAL, 0, STRLENS(LOCALS)+4, ARG:1
; 		PRINTSINGLEFORM %SUBSTRING(ARGS , LOCAL)%
; 		TWAIT 2, 0
; 		CLEARLINE 1
; 	NEXT
; 	PRINTFORML %" "*(ARG:2-STRLENS(LOCALS)-4)+LOCALS%
; 	TWAIT 800, 0
; 	CLEARLINE 1

; 	IF ARG:3 == 1
; 		;사이드 아웃
; 		FOR LOCAL, 0, STRLENS(LOCALS)+4, ARG:1*2
; 			PRINTSINGLEFORM %SUBSTRING(ARGS , STRLENS(LOCALS)+4-LOCAL)%
; 			TWAIT 2 , 0
; 			CLEARLINE 1
; 		NEXT
; 	ELSE
; 		;BGM애니메온이라면 페이드를 강요표시한다
; 		CALLF ANIME_CONFIG_KR("ONCE")
; 		;페이드 아웃
; 		CALL FADEOUT_KR(8, " "*(ARG:2-STRLENS(LOCALS)-4)+LOCALS)
; 		CLEARLINE 1
; 	ENDIF
; 	REDRAW 1
; ;표시끄기
; ELSE
; 	PRINTFORMW %" "*(ARG:2-STRLENS(LOCALS)-4)+LOCALS%
; ENDIF

; ; SETFONT LOCALS:1
; ; SETCOLOR LOCAL:1

; RETURN RESULT

;-------------------------------------------------
;동방 Project풍캐릭터 등장 컷 인 함수@CHARA_CUTIN
;	캐릭터 라인 인수 0:직함
;	캐릭터 라인 인수 1:이름
;	캐릭터 라인 인수 2:로마자읽기
;	인수 0:생략 하면 왼쪽, 정이라면 오른쪽 가까이에 표시. 표시 위치의 역으로부터 크롤 인 한다
;	인수 1:스크롤 속도（디폴트라면 30）
;	인수 2:화면단까지 들어가는 문자수（디폴트라면 117）
;			… 바운드 필요 없어군요?
;신령묘풍의 centering입니다. 수요가 있으면 1행째 왼쪽 맞춤·3행목우 대고의 버젼도 만들어?
;-------------------------------------------------
;CSTR:이명의 폰트를 HG교과서체로부터 나눔명조에
;로마자읽기의 폰트를나눔명조로부터 궁서체에, 각각 변경
;HG교과서체의 숙청은 Windows 표준의 폰트는 아니기 때문에. 나눔명조로부터 궁서체에의 변경은 하는 김에 뭔가 바꾸고 싶었다, 라는 것으로
;Win7이면 환경에 의존하지 않을 것이지만, Win8/8. 1에서의 검증이 되어 있지 않기 때문에, 그 근처는 뭐라고곳@/L(2014/09/28)
;-------------------------------------------------
@CHARA_CUTIN_KR(ARGS, ARGS:1, ARGS:2, ARG, ARG:1 = 30, ARG:2 = 117)
#LOCALSIZE 11
#LOCALSSIZE 11
;폰트 보존
LOCALS:10 = %GETFONT()%
;색보존
LOCAL:10 = GETCOLOR()
RESETCOLOR

;우선, 3개의 캐릭터 라인을 짝수로 한다
ARGS   = %\@ STRLENS(ARGS)/2 ? %ARGS+" "% # %ARGS% \@%
ARGS:1 = %\@ STRLENS(ARGS:1)/2 ? %ARGS:1+" "% # %ARGS:2% \@%
ARGS:2 = %\@ STRLENS(ARGS:2)/2 ? %ARGS:2+" "% # %ARGS:2% \@%

;제일 긴 캐릭터 라인의 자수를 보존해, 4를발
LOCAL:3 = MAX(STRLENS(ARGS), STRLENS(ARGS:1), STRLENS(ARGS:2))+4

;캐릭터 라인 정리
FOR LOCAL, 0, 3
	LOCAL:1 = (LOCAL:3-STRLENS(ARGS:LOCAL))/2
	;인덴트겸에 머리와 꼬리를 붙입니다
	ARGS:LOCAL = %(" "*LOCAL:1)+ARGS:LOCAL+(" "*LOCAL:1)%
	;원본을 보존
	LOCALS:LOCAL = %ARGS:LOCAL%
	;스페이스를 부가
	IF !ARG
		LOCALS:LOCAL = %"  "+LOCALS:LOCAL%
		ARGS:LOCAL = %(" "*ARG:2)+LOCALS:LOCAL%
	ELSE
		ARGS:LOCAL = %" "*(ARG:2 - 2 - STRLENS(ARGS:LOCAL))+ARGS:LOCAL%
	ENDIF
NEXT

;괘선도 준비하지 않으면
LOCALS:4 = %"-="*(LOCAL:3/2)%
LOCALS:5 = %"=-"*(LOCAL:3/2)%
;스페이스를 부가
IF !ARG
	LOCALS:4 = %"  "+LOCALS:4%
	LOCALS:5 = %"  "+LOCALS:5%
	LOCALS:6 = %(" "*ARG:2)+LOCALS:4%
	LOCALS:7 = %(" "*ARG:2)+LOCALS:5%
ELSE
	LOCALS:6 = %" "*(ARG:2 - 3 - STRLENS(LOCALS:4))+LOCALS:4%
	LOCALS:7 = %" "*(ARG:2 - 3 - STRLENS(LOCALS:5))+LOCALS:5%
ENDIF

;표시 온
IF ANIME_CONFIG_KR("CHARA_CUTIN")
	;스크롤 속도가 윈드우폭에 대해 너무 빠른 경우, 교정한다
	ARG:1 = ARG:1 >= ARG:2 ? ARG:2-1 # ARG:1
	REDRAW 0
	LOCAL = 0
	FOR LOCAL, 0, ARG:2-2, ARG:1
		IF !ARG
			;괘선은 원폰트
			SETFONT LOCALS:10
			PRINTSINGLEFORM %SUBSTRING(LOCALS:6 , LOCAL)%
			;CSTR:이명는 나눔명조
			;SIF CHKFONT("HG교과서체")
			;	SETFONT "HG교과서체"
			SIF CHKFONT("바탕체")
				SETFONT "바탕체"
			PRINTSINGLEFORM %SUBSTRING(ARGS , LOCAL)%
			;이름은 원폰트
			SETFONT LOCALS:10
			PRINTSINGLEFORM %SUBSTRING(ARGS:1 , LOCAL)%
			;로마자읽기는 궁서체
			SIF CHKFONT("궁서체")
				SETFONT "궁서체"
			;SIF CHKFONT("바탕체 Bold")
			;	SETFONT "바탕체 Bold"
			PRINTSINGLEFORM %SUBSTRING(ARGS:2 , LOCAL)%
			;괘선은 원폰트
			SETFONT LOCALS:10
			PRINTSINGLEFORM %SUBSTRING(LOCALS:7 , LOCAL)%
		ELSE
			SETFONT LOCALS:10
			PRINTSINGLEFORM %SUBSTRING(LOCALS:6 , (ARG:2 - 2) - LOCAL)%
			SIF CHKFONT("바탕체")
				SETFONT "바탕체"
			PRINTSINGLEFORM %SUBSTRING(ARGS , (ARG:2 - 2) - LOCAL)%
			SETFONT LOCALS:10
			PRINTSINGLEFORM %SUBSTRING(ARGS:1 , (ARG:2 - 2) - LOCAL)%
			SIF CHKFONT("궁서체")
				SETFONT "궁서체"
			PRINTSINGLEFORM %SUBSTRING(ARGS:2 , (ARG:2 - 2) - LOCAL)%
			SETFONT LOCALS:10
			PRINTSINGLEFORM %SUBSTRING(LOCALS:7 , (ARG:2 - 2) - LOCAL)%
		ENDIF
		TWAIT 2 , 0
		SIF !ARG || LOCAL
			CLEARLINE 5
	NEXT
ENDIF

IF !ARG
	SETFONT LOCALS:10
	PRINTFORML %LOCALS:4%
	SIF CHKFONT("바탕체")
		SETFONT "바탕체"
	PRINTFORML %LOCALS%
	SETFONT LOCALS:10
	PRINTFORML %LOCALS:1%
	SIF CHKFONT("궁서체")
		SETFONT "궁서체"
	PRINTFORML %LOCALS:2%
	SETFONT LOCALS:10
	PRINTFORML %LOCALS:5%
ELSE
	SETFONT LOCALS:10
	PRINTFORML %LOCALS:6%
	SIF CHKFONT("바탕체")
		SETFONT "바탕체"
	PRINTFORML %ARGS%
	SETFONT LOCALS:10
	PRINTFORML %ARGS:1%
	SIF CHKFONT("궁서체")
		SETFONT "궁서체"
	PRINTFORML %ARGS:2%
	SETFONT LOCALS:10
	PRINTFORML %LOCALS:7%
ENDIF
REDRAW 1
SETCOLOR LOCAL:10
RETURN RESULT


code:
;-------------------------------------------------
;세이브파일의 리스트를 출력하는 함수
;ARG:0  출력할 20단위 인덱스. 일단 확장용으로
;       ex) ARG:0이면 0 ~ 19번까지 세이브 출력
;-------------------------------------------------
@PRINT_SAVEDATA_KR(ARG:0 = 0)
#DIM L_COUNT
#DIMS SAVE_DATA

FOR L_COUNT, ARG:0 * 20, (ARG:0 + 1) * 20, 1
    CHKDATA L_COUNT
    SAVE_DATA '= RESULTS

    SIF L_COUNT == LAST_SAVE
        SETCOLOR C_AQUA

    PRINTFORM [{L_COUNT, 2, RIGHT}]
    IF RESULT == 1
        PRINTFORML ----
    ELSE
        PRINTFORML %SAVE_DATA%
    ENDIF
    RESETCOLOR
NEXT

;-------------------------------------------------
;로드용 커스텀 함수
;LOADGAME 대신 사용
;-------------------------------------------------
@LOADGAME_KR
#DIM SAVE_NUM
#DIMS SAVE_DATA

LOADGLOBAL

$LIST_LOOP
PRINTL 어느 데이터를 로드하시겠습니까?

CALL PRINT_SAVEDATA_KR, 0

;자동저장 99번 데이터 추가 로드
CUSTOMDRAWLINE =
CHKDATA 99
SAVE_DATA '= RESULTS
PRINTFORML [99] %SAVE_DATA%
CUSTOMDRAWLINE =

PRINTFORML [200] 세이브 삭제
PRINTFORML [999] 돌아간다

$INPUT_LOOP
INPUT

IF RESULT == 999
    RETURN
ELSEIF RESULT == 200
    CALL DELETE_SAVE_KR
    GOTO LIST_LOOP
ELSEIF (RESULT < 0 || RESULT >= 20) && RESULT != 99
    CLEARLINE 1
    REUSELASTLINE 잘못된 입력입니다
    GOTO INPUT_LOOP
ELSE
    SAVE_NUM = RESULT
    CHKDATA SAVE_NUM
    ;RESULT == 0이라면 로드 가능
    IF (RESULT != 0 && RESULT != 3)
        SIF RESULT == 1
            CLEARLINE 1
            REUSELASTLINE 저장된 데이터가 없습니다
        GOTO INPUT_LOOP
    ENDIF
    LOADDATA SAVE_NUM
ENDIF

;-------------------------------------------------
;세이브파일 삭제용 함수
;-------------------------------------------------
@DELETE_SAVE_KR
#DIM SAVE_NUM

$LIST_LOOP
PRINTL 어느 데이터를 삭제하시겠습니까?

CALL PRINT_SAVEDATA_KR, 0

PRINTFORML [999] 돌아간다

INPUT
IF RESULT == 999
    RETURN
ELSE
    SAVE_NUM = RESULT
    CHKDATA SAVE_NUM
    IF RESULT == 1
        PRINTW 저장된 데이터가 없습니다
        GOTO LIST_LOOP
    ELSE
        DRAWLINE
        PRINTFORML %RESULTS%
        PRINTL
        PRINTL 정말로 선택한 데이터를 삭제하시겠습니까?
        SETCOLOR C_RED
        PRINTL ** 삭제한 데이터는 복구가 불가능합니다 **
        RESETCOLOR
        PRINTL
        PRINTLC [0] 삭제한다
        PRINTLC [1] 삭제하지 않는다

        $INPUT_LOOP_2
        INPUT
        IF RESULT == 0
            DELDATA SAVE_NUM
            PRINTW 데이터를 삭제했습니다
            GOTO LIST_LOOP
        ELSEIF RESULT == 1
            GOTO LIST_LOOP
        ELSE
            CLEARLINE 1
            REUSELASTLINE 잘못된 입력입니다
            GOTO INPUT_LOOP_2
        ENDIF
    ENDIF
ENDIF

;-------------------------------------------------
;저장용 커스텀 함수
;SAVEGAME 대신 사용
;-------------------------------------------------
@SAVEGAME_KR
#DIM SAVE_NUM

$LIST_LOOP
PRINTL 어디에 저장하겠습니까?

CALL PRINT_SAVEDATA_KR, 0

PRINTFORML [999] 돌아간다

$INPUT_LOOP
INPUT

IF RESULT == 999
    RETURN
ELSEIF RESULT < 0 || RESULT >= 20
    CLEARLINE 1
    REUSELASTLINE 잘못된 입력입니다
    GOTO INPUT_LOOP
ELSE
    SAVE_NUM = RESULT
    CHKDATA SAVE_NUM
    ;RESULT == 1은 "파일이 없음"
    IF RESULT != 1
        PRINTL 이미 데이터가 존재합니다. 덮어쓰겠습니까?
        PRINTLC [0] 예
        PRINTLC [1] 아니오
        PRINTL
        $INPUT_LOOP_2
        INPUT
        IF RESULT == 1
            GOTO LIST_LOOP
        ELSEIF RESULT != 0
            GOTO INPUT_LOOP_2
        ENDIF
    ENDIF
    LAST_SAVE = SAVE_NUM
    SAVEGLOBAL
    SAVEDATA SAVE_NUM, SAVE_DESCRIPTION_KR()
ENDIF

;-------------------------------------------------
;세이브파일에 저장할 설명문구를 반환하는 함수
;@SAVEINFO 형식과 동일
;-------------------------------------------------
@SAVE_DESCRIPTION_KR
#FUNCTIONS
#DIMS DYNAMIC DESCRIPTION

GETTIME
DESCRIPTION += RESULTS
;장소는 요괴의 산(산록)으로 반각 16 문자분 , 이름은 클라운피스로 14 문자분 필요
DESCRIPTION += @" {DAY,3,RIGHT}일째 %GET_MAPNAME(MAIN_MAP), 16, LEFT% %NAME:MASTER, 14, LEFT% Ver %SAVESTR:본체버전, 9, LEFT%"
RETURNF DESCRIPTION


code:
@IS_UEMUERA()
LOCAL:0 = MOUSEX()
LOCAL:1 = MOUSEY()
IF LOCAL:0 == 0 && LOCAL:1 == 0
	PRINTFORML uEmuera환경 감지
	UEMUERA_FLAG = 1
ELSE
	UEMUERA_FLAG = 0
ENDIF


code:
;≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
;「에 째─실마리응」0527판  By.
;Emuera 전용 범용, 애니메─숀·비주얼 확장 함수 파일. 거의 바리안트간 호환 있어
;무단재배포ＯＫ, 그 때 개변·덧붙여 씀은 원래의 기능을 해치지 않는 범위로 부탁합니다
;≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡

이것은 뭔가 말하면, 범용 편리 함수 파일（비주얼계）입니다.
당연히 Emuera 전용입니다. 가능한 한 사가 개조를 포함한 새로운 버젼을 준비해 주세요.

캐릭터 라인이 페이드 아웃했다날아 와, PALAM를 비주얼 풀인 색 다하고 바 표시에했다,
뭐 그러한 함수만 차 있습니다.
캐릭터 라인 조작이 편해지는 것 같은 것도 상당히.

애니메효과의 제어를 행하는 콘피그 함수 「ANIME_CONFIG」를 준비 섬했다.
다만, 단품에서는 LOCAL에의 보존인 것으로 설정은세이브 되지 않습니다.
설정했다치를 꺼내 다른 변수（GLOBAL가 추천）에 보존해 사용해 봐 주세요.
유저 설정의 콘피그 항목을 늘릴 수 있으므로, 에 째─실마리응외의 콘피그도 함께 맡을 수 있거나 합니다.

파일 구성…
  PANIMATION.ERB      … 에 째─실마리응본체
  PANIMATION_TOHO.ERB … 동방계 바리안트전용 함수. 본체 필수

자세한 사용법은 파일내의 함수마다의 코멘트를 봐 주세요.
손가 비는 대로, Readme를 충실시킨다일지도 모릅니다.

바라건데, 어딘가 먼 모르는 바리안트를 도움이 될 수 있도록.

사례와 선전.

에 째─실마리응은, 구상·개발 ch의 해악들의 협력으로 되어 있습니다.

  irc. 2 ch.net계 「#eraEVENT_KXX」

자 여러분도, 꼭 꼭.

@FULLCUTIN?   그렇다면 재료야!

;일단, 사용예
SETFONT "나눔명조"
FONTSTYLE 3
REDRAW 0
CALL FULLCUTIN_KR(40, 25, "에 째─실마리응Presents", "  ", "  ", "　　　　　　-광기의 전화면 컷 인")
FONTSTYLE 0
SETFONT "D2era"
REDRAW 1


code:
;==============================================================
;KR판 고유기능 복수연인/아내 관련
;
;Changelog
;20.7.24
;연인플래그 의존성 삭제함. 아내플래그도 의존성 삭제 가능하나 보류
;현재 아내 관련 기능은 TALENT 설정 없이 이곳 함수에만 의존하고 있음
;21.6.11
;FLAG 의존성을 대부분 삭제함.
;23.11.12
;이벤트관련 폴더에서 개인수정전용함수 폴더로 이관
;==============================================================
@SET_연인(ARG)

SELECTCASE ARG
	CASE -1
		스친연인수 = 0
		VARSET 포말의연인
		RETURN -1
	CASE RANDOM_CHARANUM
		IF 스친연인수 < 100
			포말의연인:스친연인수 = %CALLNAME:ARG%
			스친연인수 ++
		ELSE
			포말의연인:(RAND:100) = %CALLNAME:ARG%
		ENDIF
	CASE 1 TO CHARANUM
		SIF !TALENT:ARG:연인
			TALENT:ARG:연인 = 1
	CASEELSE
		THROW NO가 부정합니다
ENDSELECT

@IS_연인(ARG)
#FUNCTION
IF TALENT:ARG:스침
	SIF FINDELEMENT(포말의연인, CALLNAME:ARG, , , 1) > 0
		RETURNF 1
	RETURNF 0
ENDIF
SELECTCASE NO:ARG
	CASE 0
		RETURNF 0
	CASE 1 TO CHARANUM
		SIF TALENT:ARG:연인 == 1
			RETURNF 1
	CASEELSE
		THROW NO가 부정합니다
ENDSELECT
RETURNF 0

[SKIPSTART]
;HOW_연인 기능 사용하는 곳이 없어 삭제.
;연인 총 수 필요시 예문.
@HOW_연인()
#FUNCTION
VARSET LOCAL
FOR LOCAL, 1, CHARANUM
	IF LOCAL == FLAG:역극
		CONTINUE
	ELSEIF IS_연인(LOCAL)
		LOCAL:1 ++
	ENDIF
NEXT
;스침상대 연인 스텍기능이 남아있을 때
LOCAL:1 += 스친연인수
RETURNF LOCAL:1
[SKIPEND]

;;
@SET_아내(ARG)
SELECTCASE ARG
	CASE -1
		스친아내수 = 0
		VARSET 포말의아내
		VARSET 아내플래그
		RETURN -1
	CASE RANDOM_CHARANUM
		VARSET LOCALS
		IF 스친아내수 < 100
			포말의아내:스친아내수 = %CALLNAME:ARG%
			스친아내수 ++
		ELSE
			포말의아내:(RAND:100) = %CALLNAME:ARG%
		ENDIF
		SIF FINDELEMENT(포말의연인, CALLNAME:ARG, , ,1) > 0
			포말의연인:FINDELEMENT(포말의연인, CALLNAME:ARG, , ,1) '= ""
	CASE 1 TO CHARANUM
		아내플래그:ARG:0 = 1
	CASEELSE
		THROW NO가 부정합니다
ENDSELECT

@IS_아내(ARG)
#FUNCTION
IF TALENT:ARG:스침
	SIF FINDELEMENT(포말의아내, CALLNAME:ARG, , , 1) > 0
		RETURNF 1
	RETURNF 0
ELSE
	RETURNF TOINT(아내플래그:ARG:0)
ENDIF

@WITH_아내(ARG)
#FUNCTION
;아내의 몇 사람과 ARG가 같은 장소에 있을까를 돌려준다
VARSET LOCAL
SIF ARG == 0
	ARG = MASTER
FOR LOCAL, 1, CHARANUM
	SIF CFLAG:LOCAL:현재위치 == CFLAG:ARG:현재위치
		LOCAL:1 += IS_아내(LOCAL)
NEXT
RETURNF LOCAL:1

@HOW_아내
#FUNCTION
;아내이 지금 몇 사람 있을까를 돌려준다
VARSET LOCAL
FOR LOCAL, 1, CHARANUM
	LOCAL:1 += IS_아내(LOCAL)
NEXT
LOCAL:1 += 스친아내수
RETURNF LOCAL:1

path: ERB/개인수정전용함수/연인플래그_t.ERB