code:
@BEFORE_TEST
;기말 시험전의 여러 가지
PRINTFORML ……학기말 시험이 가깝다.
PRINTFORML 좋은 성적을 받을 필요는 없지만, 너무나 형편없는 성적도 곤란하다……
A = 0
A:1 = 0
A:2 = 0
FLAG:2000 = 1
REPEAT CHARANUM
	IF (TALENT:COUNT:교제 || IS_NOTLOVE_FALLEN(COUNT)) && IS_GO_SAMESCHOOL(COUNT) && !IS_UNCONTACTABLE(COUNT)
		A += 1
	ENDIF
REND
IF A > 0
	PRINTFORML %CALLNAME:MASTER%의 휴대폰에 메일이 도착해 있다……
	REPEAT CHARANUM
		IF TALENT:COUNT:교제 == 1 && !IS_NOTLOVE_FALLEN(COUNT) && IS_GO_SAMESCHOOL(COUNT) && !IS_UNCONTACTABLE(COUNT)
			PRINTFORML %COUNT이름으로%부터, 함께 공부를 하지 않겠냐는 권유의 메일이다.
			PRINTFORML 유혹에 넘어간다면, 시험 개시까지의 시간을 사용하게 될 것이다
			A:1 += 1
		ENDIF
	REND
	REPEAT CHARANUM
		IF IS_NOTLOVE_FALLEN(COUNT) && IS_GO_SAMESCHOOL(COUNT) && !IS_UNCONTACTABLE(COUNT)
			PRINTFORML 노예인 %COUNT이름으로%부터의 메일이다. ……이 녀석을 사용해, 컨닝을 실시하는 방법도 있을 것이다.
			A:2 += 1
		ENDIF
	REND

	PRINTL 자, 그럼, 어떻게 하지?
	DRAWLINE
	SIF A:1 > 0
		PRINTFORML [  0] - 함께 공부한다
	SIF A:2 > 0
		PRINTFORML [  1] - 컨닝의 준비를 시킨다
	DRAWLINE
	PRINTFORML [999] - 아무것도 하지 않는다
	DRAWLINE

	$INPUT_LOOP99
	P = 0
	INPUT
	IF RESULT == 0
		P = 1
		CALL DISPLAY_COMMON , 16
		IF RESULT == 999
			PRINTFORML ……뭐, 각오를 단단히 할 수밖에 없을 것이다……
			CALL GET_CALENDER
			RETURN 0
		ENDIF
		CALL TEST_STUDY,RESULT
	ELSEIF RESULT == 1
		P = 2
		CALL DISPLAY_COMMON , 16
		IF RESULT == 999
			PRINTFORML ……뭐, 각오를 단단히 할 수밖에 없을 것이다……
			CALL GET_CALENDER
			RETURN 0
		ENDIF
		CALL CANNNING,RESULT
	ELSEIF RESULT == 999
		PRINTFORML ……뭐, 각오를 단단히 할 수밖에 없을 것이다……
	ELSE
		GOTO INPUT_LOOP99
	ENDIF
ELSE
	PRINTFORML ……뭐, 각오를 단단히 할 수밖에 없을 것이다……
ENDIF
CALL GET_CALENDER

@TEST_STUDY,ARG
PRINTFORM %ARG이름과% 함께 테스트 공부를 실시했다.
IF ABL:ARG:학력 > ABL:MASTER:학력 && ABL:MASTER:학력 < 7 && (TALENT:ARG:연모 == 1 || TALENT:ARG:친애 == 1)
	PRINTFORML %NAME:ARG%의 가르침으로, 공부가 머리에 들어 온다.
	PRINTFORMW ―%CALLNAME:MASTER%의 학력이 올랐다―
	ABL:MASTER:학력 += 1
ENDIF
CFLAG:ARG:2 += 100
PRINTFORML ……해야 할 일은 다 했을 것이다……
PRINTFORML -테스트 대책으로 1주일이 경과했습니다―
IF ABL:ARG:학력 > 5
	FLAG:2000 = 2
ELSE
	FLAG:2000 = 3
ENDIF

@CANNNING,ARG
PRINTFORM %NAME:ARG%에 컨닝의 준비를 시켰다.
IF ABL:ARG:학력 > RAND:6
	PRINTFORML ……적어도 준비는 잘 되지 않았을까……
	FLAG:2000 = 4
ELSE
	PRINTFORML ……컨닝의 성과는 그다지 기대하지 않는 것이 좋을 것 같은 생각이 든다……
	FLAG:2000 = 1
ENDIF

@KIMATU_TEST,ARG
IF ARG == 3
;테스트 공부했다(성공)
	PRINTFORML ……공부의 성과도 있어, 대체로 문제 없이 테스트는 종료했다……
ELSEIF ARG == 4
;컨닝의 준비
	IF ABL:MASTER:감성 >= RAND:6
		PRINTFORML ……컨닝이 잘 된 것 같아, 대체로 문제 없이 테스트는 종료했다……
	ELSE
		PRINTFORML ……컨닝이 들킬 것 같다!
		PRINTFORML 뒤는 자력으로 진행할 수밖에 없을 것이다……
		IF ABL:MASTER:학력 >= GET_TEST_LEVEL()
			PRINTFORML ……테스트는 끝났다. 일단 문제는 없을 것이다……
		ELSE
			PRINTFORML ……테스트는 끝났다. 낙제점은 각오하는 것이 좋을 것 같다……
			FLAG:2000 = 10
		ENDIF
	ENDIF
ELSE
	LOCAL = ABL:MASTER:학력
	SIF ARG == 2
		LOCAL += 2
	IF LOCAL >= GET_TEST_LEVEL()
		PRINTFORML ……테스트는 끝났다. 일단 문제는 없을 것이다……
	ELSE
		PRINTFORML ……테스트는 끝났다. 낙제점은 각오하는 것이 좋을 것 같다……
		FLAG:2000 = 10
	ENDIF
ENDIF
SIF FLAG:2000 != 10
	FLAG:2000 = 0
CALL GET_CALENDER

@GET_TEST_LEVEL()
#FUNCTION
#DIM layer
#DIM schoolIndex
#DIM masterLayer
#DIM schoolLayer
masterLayer = POWER(2,GET_CHARA_LAYER(MASTER) - 1)
schoolIndex = GET_CHARA_GO_SCHOOL_INDEX(MASTER)
schoolLayer = GET_SCHOOL_LAYER(schoolIndex)
layer = 0
WHILE 1
	SIF (masterLayer & schoolLayer) != 0
		BREAK
	layer += 1 - (masterLayer > schoolLayer) * 2
	masterLayer = masterLayer * 2 / (masterLayer > schoolLayer ? 4 # 1)
WEND
RETURNF (GET_SCHOOL_STUDY_LEVEL(schoolIndex) / 2) + RAND:4 + 1 + layer


code:
@VALENTINE
PRINTFORML 오늘은 발렌타인데이다.
LOCAL = 0
REPEAT CHARANUM
	;主人公は排除
	SIF COUNT == 0
		CONTINUE
	IF TALENT:COUNT:연모 || TALENT:COUNT:친애 && !IS_UNCONTACTABLE(COUNT)
		IF IS_GO_SAMESCHOOL(COUNT)
			PRINTFORMW %COUNT이름이% 손수 만든 초콜릿을 가져왔다.
		ELSE
			PRINTFORMW %COUNT이름으로%부터 손수 만든 초콜릿이 도착했다.
		ENDIF
		IF ABL:COUNT:12 < 2
			PRINTFORML 초콜릿은 볼품이 없지만, 정성스럽게 포장되어 있었다.
			PRINTFORML 가사경험 + 5
			EXP:COUNT:61 += 5
		ELSEIF ABL:COUNT:12 < 4
			PRINTFORML 초콜릿은 사랑스러운 포장지으로, 정성스럽게 포장되어 있었다.
			PRINTFORML 가사경험 + 10
			EXP:COUNT:61 += 10
		ELSE
			PRINTFORML 정성스럽게 포장된 초콜릿을 열어, 초콜렛을 입에 넣었다.
			PRINTFORML ……시판의 초콜릿보다 맛있는 것 같은 생각이 든다.
			PRINTFORML 가사경험 + 20
			EXP:COUNT:61 += 20
		ENDIF
		IF TALENT:COUNT:츤데레 == 1 &&  IS_GO_SAMESCHOOL(COUNT)
			PRINTFORML 우물쭈물 얼굴을 붉히고 있는 것을 보니, 초콜렛을 선물하기 위해서는, 상당한 용기를 필요로 하는 것 같다.
		ENDIF
		PRINTFORML 초콜릿을 선물하는데 성공해, 그녀의 호감도가 올랐다.
	;호감도의 상승
		CFLAG:COUNT:2 += 250
	;애정경험
		PRINTFORML 애정경험 + 20
		EXP:COUNT:23 += 20
	ELSEIF TALENT:COUNT:교제 && !IS_UNCONTACTABLE(COUNT)
		IF IS_GO_SAMESCHOOL(COUNT)
			PRINTFORMW %COUNT이름이% 초콜릿을 가져왔다.
		ELSE
			PRINTFORMW %COUNT이름으로%부터 초콜릿이 도착했다.
		ENDIF
		IF TALENT:COUNT:츤데레 == 1 &&  IS_GO_SAMESCHOOL(COUNT)
			PRINTFORML 의리 초콜렛이라고 말하면서 태연한 척 하고 있지만, 그 초콜렛에서는 왠지 희미한 따뜻함이 전해진다.
		ENDIF
		PRINTFORML 초콜릿을 선물하는데 성공해, 그녀의 호감도가 올랐다.
	;호감도의 상승
		CFLAG:COUNT:2 += 100
	ENDIF
REND
FLAG:2000 = 1

repo_name: Catalyst/B

license: unknown


code:
@SELECT_FIRST_SCHOOL
#DIM selectedSchool
#DIM admissionCost
#DIM extraAdmissionCost
;ゲーム開始時の学校選択。入学金額を戻す
PRINTL 전학갈 곳을 결정해 주세요。학원에 따라 입학금이 필요하기 때문에 대출이 늘어납니다。
DRAWLINE
WHILE 1
	CALL SELECT_SCHOOL(0)
	selectedSchool = RESULT
	CALL PRINT_SCHOOL_COMMENT(selectedSchool)
	PRINTW
	CALL SCHOOL_DIFFICULTY , selectedSchool
	SIF RESULT != 1
		BREAK
WEND
CFLAG:MASTER:1001 = selectedSchool
CALL DIARY_SET,GET_SCHOOL_NAME(selectedSchool)+"에서 새로운 생활을 시작했다。"
admissionCost = GET_SCHOOL_ADMISSION_COST(MASTER,selectedSchool)
extraAdmissionCost = GET_SCHOOL_EXTRA_ADMISSION_COST(MASTER,selectedSchool)
SIF admissionCost > 0
	PRINTFORM 입학금 {admissionCost}엔
SIF extraAdmissionCost > 0
	PRINTFORM \@ admissionCost > 0 ? 과 # \@이면공작비 {extraAdmissionCost}엔
SIF admissionCost + extraAdmissionCost > 0
	PRINTFORMW 이 대출에 가산됩니다。
;OP選択後に加算する。一時保管用にMONEY:2を使う(後でクリア)
MONEY:2 = admissionCost + extraAdmissionCost

@CHANGE_SCHOOL
#DIM selectedSchool
#DIM admissionCost
#DIM extraAdmissionCost
PRINTL 10,000엔을 소비해서 전학을 갈 수 있습니다。학원에 따라서는 입학금도 필요합니다。
PRINTL 평일 낮에는 다른 학교 학생과 만날 수 없습니다。
PRINTL 전학갑니까？
PRINTFORML [0]YES
PRINTFORML [1]NO
WHILE 1
	INPUT
	SELECTCASE RESULT
		CASE 1
			RETURN 0
		CASE 0
			PRINTL 전학할 곳을 골라주십시오。
			PRINT 특정 조건을 달성하여 해금된 학교는「
				SETCOLOR 0,190,0
				PRINT 이 색
				RESETCOLOR
			PRINTL 」으로 표시됩니다。
			PRINTFORML 현재 당신의 학력은 {ABL:MASTER:학력}입니다。
			DRAWLINE
			CALL SELECT_SCHOOL(1,"GET_CHARA_GO_SCHOOL_INDEX(MASTER) != index")
			SIF RESULT <= 0
				RETURN 0
			selectedSchool = RESULT
			CALL PRINT_SCHOOL_COMMENT(selectedSchool)
			PRINTW
			CALL SCHOOL_DIFFICULTY , selectedSchool
			SIF RESULT == 1
				RETURN 0
			CFLAG:MASTER:1001 = selectedSchool
			MONEY -= 10000
			CFLAG:MASTER:1002 = 0
			CALL DIARY_SET,GET_SCHOOL_NAME(selectedSchool)+"에 전학갔다。"
			PRINTFORMW %조사선택(GET_SCHOOL_NAME(selectedSchool),"로")% 전학갔습니다。
			CALL CLEAR_CLUBDATA()
			admissionCost = GET_SCHOOL_ADMISSION_COST(MASTER,selectedSchool)
			extraAdmissionCost = GET_SCHOOL_EXTRA_ADMISSION_COST(MASTER,selectedSchool)
			IF admissionCost > 0
				IF MONEY > admissionCost
					PRINTFORML 입학금으로 {admissionCost}엔 지불했습니다。
					MONEY -= admissionCost
				ELSE
					PRINTFORML 입학금 {admissionCost}엔을 지불할 수 없기에、대출이 늘었습니다。
					MONEY:1 += admissionCost
				ENDIF
				IF MONEY > extraAdmissionCost
					PRINTFORML 이면공작비용으로 {extraAdmissionCost}엔 지불했습니다。
					MONEY -= extraAdmissionCost
				ELSE
					PRINTFORML 이면공작비용 {extraAdmissionCost}엔을 지불할 수 없기에、대출이 늘었습니다。
					MONEY:1 += extraAdmissionCost
				ENDIF
				PRINTFORMW
			ENDIF
			BREAK
		CASEELSE
			CONTINUE
	ENDSELECT
WEND

@CLEAR_CLUBDATA()
IF TALENT:MASTER:체육부
	TALENT:MASTER:체육부 = 0
	ABL:MASTER:운동능력 -= 1
ELSEIF TALENT:MASTER:문화부
	TALENT:MASTER:문화부 = 0
	ABL:MASTER:감성 -= 1
ELSEIF TALENT:MASTER:격투기부
	TALENT:MASTER:격투기부 = 0
	ABL:MASTER:전투능력 -= 1
ELSEIF TALENT:MASTER:위원회
	TALENT:MASTER:위원회 = 0
	ABL:MASTER:학력 -= 1
ELSE
	TALENT:MASTER:귀가부 = 0
ENDIF

@SELECT_SCHOOL(isAllowCancel=1,excludeRule="")
#DIM admissionableMap,SCHOOL_MAXCOUNT ;転入可能な学園を格納するリスト
#DIM isAllowCancel
#DIMS excludeRule
#DIM admissinableSchoolCount
#DIM maxPage
#DIM DYNAMIC currentPage = 0
#DIM index
#DIM lines
#DIM admissionCost

CALL CREATE_SCHOOL_ADMISSIONABLE_LIST(excludeRule,admissionableMap)
admissinableSchoolCount = RESULT
maxPage = (admissinableSchoolCount - 1) / 10
WHILE 1
	lines = LINECOUNT
	PRINTL           학교이름            　　　      주체    구분　　   　종류    필요학력    입학금   　생활비/일
	PRINTL   ------------------------------------------------------------------------------------------------------
	FOR index,currentPage * 10,(currentPage+1) * 10
		SELECTCASE admissionableMap:index
			CASE 0
				PRINTL
				CONTINUE
			CASE IS < 0
				CALL SEIHA_JYOUKYOU,ABS(admissionableMap:index)
				SETCOLOR 128,128,128
				PRINTPLAINFORM [{index,3}] - %GET_SCHOOL_NAME(ABS(admissionableMap:index)),20,LEFT% %GET_SCHOOLTYPE_TEXT(ABS(admissionableMap:index))% %GET_SCHOOLCATEGORY_TEXT_FROMINDEX(ABS(admissionableMap:index)),14,LEFT% %GET_BOYS_OR_GIRLS_SCHOOL_TEXT(ABS(admissionableMap:index)),6%      {GET_RELATIONAL_STUDY_LEVEL(MASTER,ABS(admissionableMap:index)),2,RIGHT}
				PRINTL
				RESETCOLOR
			CASEELSE
				CALL SEIHA_JYOUKYOU,admissionableMap:index
				admissionCost = GET_SCHOOL_ADMISSION_COST(MASTER,admissionableMap:index) + GET_SCHOOL_EXTRA_ADMISSION_COST(MASTER,admissionableMap:index)
				PRINTFORML [{index,3}] - %GET_SCHOOL_NAME(admissionableMap:index),20,LEFT% %GET_SCHOOLTYPE_TEXT(admissionableMap:index)% %GET_SCHOOLCATEGORY_TEXT_FROMINDEX(admissionableMap:index),14,LEFT% %GET_BOYS_OR_GIRLS_SCHOOL_TEXT(admissionableMap:index),6%      {GET_RELATIONAL_STUDY_LEVEL(MASTER,admissionableMap:index),2,RIGHT}　　 %\@ admissionCost > 0 ? {admissionCost,8,RIGHT}円 # \@,10,RIGHT%　{GET_DAILY_COST(MASTER,admissionableMap:index),7,RIGHT}円
		ENDSELECT
	NEXT
	DRAWLINE
	SIF TALENT:MASTER:수수께끼의매력 && ITEM:여장도구 == 0 && MONEY > ITEMPRICE:여장도구
		PRINTFORML [1001] - 【여장도구】를 산다
	SIF TALENT:MASTER:금단의지식 && TALENT:MASTER:조합지식 && !TALENT:MASTER:왜소 && !TALENT:MASTER:초등학생 && MONEY > ITEMPRICE:APTX5000하플링
		PRINTFORML [1002] - 【APTX5000하플링】을 산다
	SIF TALENT:MASTER:금단의지식 && TALENT:MASTER:조합지식 && !TALENT:MASTER:장신 && !TALENT:MASTER:대학생 && MONEY > ITEMPRICE:APTX5500기간트
		PRINTFORML [1003] - 【APTX5500기간트】를 산다
	PRINTFORM %\@ (currentPage > 1) ? [1000] - 첫 페이지 # \@,15,LEFT%
	PRINTFORM %\@ (currentPage > 0) ? [2000] - 이전 페이지 # \@,21,LEFT%
	PRINTFORM %\@ isAllowCancel ? [3000] - 돌아온다 # \@,23,LEFT%
	PRINTFORM %\@ (currentPage < maxPage) ? [4000] - 다음 페이지 # \@,21,LEFT%
	PRINTFORM %\@ (currentPage < maxPage - 1) ? [5000] - 마지막 페이지 # \@,15,LEFT%
	PRINTL
	DRAWLINE
	INPUT
	SELECTCASE RESULT
		CASE 1001
			SIF !TALENT:MASTER:수수께끼의매력 || ITEM:여장도구 > 0
				CONTINUE
			WHILE 1
				PRINTFORML 여장도구를 사면 여학교에 전학가능해집니다。
				PRINTFORML 구입합니까？
				PRINTFORML [0] - 구입한다
				PRINTFORML [1] - 그만둔다
				INPUT
				SIF RESULT == 0 || RESULT == 1
					BREAK
			WEND
			IF RESULT == 0
				ITEM:여장도구++
				MONEY -= ITEMPRICE:여장도구
			ENDIF
		CASE 1002 TO 1003
			SIF !TALENT:MASTER:금단의지식 || !TALENT:MASTER:조합지식 || ((TALENT:MASTER:왜소 || TALENT:MASTER:초등학생) && RESULT == 1002) || ((TALENT:MASTER:장신 || TALENT:MASTER:대학생) && RESULT == 1003)
				CONTINUE
			LOCAL = (TALENT:MASTER:장신 - TALENT:MASTER:왜소) - (RESULT == 1002) + (RESULT == 1003)
			admissionCost = (RESULT == 1003 ? ITEMPRICE:APTX5500기간트 # ITEMPRICE:APTX5000하플링)
			WHILE 1
				SELECTCASE LOCAL
					CASE 1,-1
						PRINTFORML %\@ LOCAL == 1 ? 상위 # 하위 \@% 학교에 다닐수 있도록、소질【%\@ LOCAL == 1 ? 장신 # 왜소 \@%】를 얻습니다。
					CASE 0
						PRINTFORML 소질【%\@ TALENT:MASTER:장신 ? 장신을 # 왜소를 \@%】 소거합니다。
				ENDSELECT
				PRINTFORML 구입합니까？
				PRINTFORML [0] - 구입한다
				PRINTFORML [1] - 그만둔다
				INPUT
				SIF RESULT == 0 || RESULT == 1
					BREAK
			WEND
			IF RESULT == 0
				TALENT:MASTER:장신 = (LOCAL > 0)
				TALENT:MASTER:왜소 = (LOCAL < 0)
				MONEY -= admissionCost
			ENDIF
		CASE 1000
			currentPage = 0
		CASE 2000,4000
			currentPage = LIMIT(currentPage - (RESULT == 2000) + (RESULT == 4000),0,maxPage)
		CASE 3000
			RETURN -1
		CASE 5000
			currentPage = maxPage
		CASE currentPage * 10 TO (currentPage + 1) * 10
			SIF admissionableMap:RESULT > 0
				RETURN admissionableMap:RESULT
		CASEELSE
			;아무것도안한다
	ENDSELECT
	CLEARLINE LINECOUNT - lines
WEND

@SEIHA_JYOUKYOU ,ARG
;銅
;SETCOLOR 0xA0522D
;PRINTFORML %UNICODE(0x26CA)%
;RESETCOLOR
;銀
;SETCOLOR 0x778899
;PRINTFORML %UNICODE(0x26CA)%
;RESETCOLOR
;金
;SETCOLOR 0xFFD700
;PRINTFORML %UNICODE(0x26CA)%
;RESETCOLOR
IF SEIHA:ARG:2 == 1
	SETCOLOR 0xFFD700
	PRINTFORM %UNICODE(0x26CA)%
	RESETCOLOR
ELSEIF SEIHA:ARG:1 == 1
	SETCOLOR 0x778899
	PRINTFORM %UNICODE(0x26CA)%
	RESETCOLOR
ELSEIF SEIHA:ARG:0 == 1
	SETCOLOR 0xA0522D
	PRINTFORM %UNICODE(0x26CA)%
	RESETCOLOR
ELSE
	PRINTFORM
ENDIF

;転入可能な学園のリストを返す。戻り値は転入可能な学園数
;excludeRule = 特に除外ルールがある場合に記載。
@CREATE_SCHOOL_ADMISSIONABLE_LIST(excludeRule,adminssionableMap)
#DIMS excludeRule
#DIM REF adminssionableMap
#DIM ret
#DIM index
#DIM exportPattern
#DIM isNotExportTarget
ret = INIT_LIST(adminssionableMap,0)
FOR index,1,SCHOOL_MAXCOUNT + 1
	RESULT = 0
	TRYCALLFORM SCHOOL_DATA_IS_EXISTS_{index}
	SIF RESULT == 0
		CONTINUE
	exportPattern = RESULT
	isNotExportTarget = 0
	isNotExportTarget |= (((!TALENT:MASTER:남자 && !IS_GIRLS_GOING_SCHOOL(index)) || (TALENT:MASTER:남자 && !IS_BOYS_GOING_SCHOOL(index))) && ITEM:여장도구 == 0)
	isNotExportTarget |= (!IS_CHARA_LAYER_GOABLE_LAYER(MASTER,index))
	isNotExportTarget |= (GET_CHARA_STUDY_LEVEL(MASTER,index) < GET_SCHOOL_STUDY_LEVEL(index) - 4) ;4差までは入れる(ただし賄賂が必要)
	isNotExportTarget |= (excludeRule != "" && EVALUATE(excludeRule) == 0)
	SIF exportPattern == 2 && isNotExportTarget
		CONTINUE
	ret = LIST_ADD(adminssionableMap,index * (1 - isNotExportTarget * 2),,0)
NEXT
RETURN GET_LIST_LAST_ELEMENT(adminssionableMap,0) + 1

;연령的にそのキャラが通える学校か。
@IS_CHARA_LAYER_GOABLE_LAYER(targetChara,schoolIndex)
#FUNCTION
#DIM targetChara
#DIM schoolIndex
#DIM targetCharaLayer
#DIM schoolLayer
targetCharaLayer = POWER(2,GET_CHARA_LAYER(targetChara) - 1)
schoolLayer = GET_SCHOOL_LAYER(schoolIndex)
SIF ((targetCharaLayer & schoolLayer) > 0) || ((targetCharaLayer > schoolLayer) && TALENT:targetChara:장신) || ((targetCharaLayer < schoolLayer) && TALENT:targetChara:왜소)
	RETURNF 1
SIF (((targetCharaLayer >> 1) & schoolLayer) > 0) && (TALENT:targetChara:작은체형 || TALENT:targetChara:소인체형 || TALENT:targetChara:수수께끼의매력)
	RETURNF 1
SIF (((targetCharaLayer << 1) & schoolLayer) > 0) && (TALENT:targetChara:카리스마 || TALENT:targetChara:수수께끼의매력)
	RETURNF 1
RETURNF 0

@GET_CHARA_LAYER(targetChara = -1)
#FUNCTION
#DIM targetChara
#DIM answer
SIF targetChara == -1
	targetChara = TARGET
answer = TALENT:targetChara:교사 * 5 + TALENT:targetChara:대학생 * 4 + TALENT:targetChara:고등학생 * 3 + TALENT:targetChara:중학생 * 2 + TALENT:targetChara:초등학생
RETURNF (answer == 0 ? 6 # answer)

;入学金の算出
@GET_SCHOOL_ADMISSION_COST(targetChara,schoolIndex)
#FUNCTION
#DIM targetChara
#DIM schoolIndex
#DIM answer
;基本
answer = ((GET_SCHOOL_WEALTH_LEVEL(schoolIndex) * 50000 / GET_SCHOOL_SIZE_LEVEL(schoolIndex)) + (GET_SCHOOL_ORDER_LEVEL(schoolIndex) / 2) * 5000 + GET_DORMITRY_CLASS(schoolIndex) * 10000) * (GET_SCHOOL_TECH_LEVEL(schoolIndex) / 3)
;사립は10倍(実際は30倍とかいくらしい)
SIF IS_PRIVATESCHOOL(schoolIndex)
	answer *= 10
;結果、千円以下になったら無料にする。(結果的に공립はほぼ無料～1万円くらいのはず)
SIF answer < 1000
	answer = 0
SELECTCASE FLAG:4
	CASE 1 ;Easy
		TIMES answer,0.8
	CASE 3 ;Hard
		TIMES answer,1.2
ENDSELECT
RETURNF ROUNDUP(answer,3)

;入学金の他に裏工作が必要となる場合、その金額
@GET_SCHOOL_EXTRA_ADMISSION_COST(targetChara,schoolIndex)
#FUNCTION
#DIM targetChara
#DIM schoolIndex
#DIM answer
;基本値は入学金
answer = GET_SCHOOL_ADMISSION_COST(targetChara,schoolIndex)
;학력が足りない場合は不足分の2乗%が必要
answer *= POWER(LIMIT(GET_SCHOOL_STUDY_LEVEL(schoolIndex) - GET_CHARA_STUDY_LEVEL(targetChara,schoolIndex),0,10),2)
RETURNF ROUNDUP(answer / 10,3) ;難易度は考慮しない(入学金に含まれているので)

;1日あたりの生活費・学費の算出。現状はMASTER用なのでキャラの素質は見てないが、将来的には영애だと高くなるとかしたい
@GET_DAILY_COST(targetChara,schoolIndex)
#FUNCTION
#DIM targetChara
#DIM schoolIndex
#DIM schoolCost
#DIM lifeCost
#DIM answer
;基本の学費
schoolCost = (GET_SCHOOL_WEALTH_LEVEL(schoolIndex) * 2000 / GET_SCHOOL_SIZE_LEVEL(schoolIndex)) + (GET_SCHOOL_ORDER_LEVEL(schoolIndex) / 3) * 100
;공립だと値下げ
SIF !IS_PRIVATESCHOOL(schoolIndex)
	schoolCost /= 10
;공립なら借金がある間は学費タダ
SIF !IS_PRIVATESCHOOL(schoolIndex) && MONEY:1 > 0
	schoolCost = 0
;食費・光熱費の類はどこでも変わらんので固定。後は周辺が発展してたりすると高くなる。寮費なんかは学費に含めておく扱い
lifeCost = (300 + GET_SCHOOL_AROUND_DEVELOP_LEVEL(schoolIndex) * 100) / (GET_SCHOOL_TECH_LEVEL(schoolIndex) / 3 + 1)
;寮があれば安くなる(可能な限り寮暮らしになるため。借金ある身で贅沢とか許されざるよ････。ただ全寮制か選択制かでお値段は変わります)
SELECTCASE GET_DORMITRY_CLASS(schoolIndex)
	CASE 0
		;아무것도안한다
	CASE 1
		TIMES lifeCost, 0.7
	CASE 2
		TIMES lifeCost, 0.5
	CASEELSE
		THROW 부정한 기숙사 카테고리입니다。
ENDSELECT
answer = schoolCost + lifeCost
SELECTCASE FLAG:4
	CASE 1 ;Easy
		TIMES answer,0.8
	CASE 3 ;Hard
		TIMES answer,1.2
ENDSELECT
RETURNF answer

@IS_GOING_DAYTIME_TRAIN_ALLOWED_SCHOOL(targetChara = -1)
#FUNCTION
#DIM targetChara
SIF targetChara == -1
	targetChara = TARGET
RETURNF IS_GO_SAMESCHOOL(targetChara,MASTER) && GET_SCHOOL_ORDER_LEVEL(GET_CHARA_GO_SCHOOL_INDEX(targetChara)) <= 3

@IS_GOING_NIGHT_SCHOOL_TRAIN_ALLOWED_SCHOOL(targetChara = -1)
#FUNCTION
#DIM targetChara
SIF targetChara == -1
	targetChara = TARGET
RETURNF IS_GO_SAMESCHOOL(targetChara,MASTER) && GET_SCHOOL_ORDER_LEVEL(GET_CHARA_GO_SCHOOL_INDEX(targetChara)) <= 5

@IS_GOING_DAILY_SCHOOL_TRAIN_ALLOWED_SCHOOL(targetChara = -1)
#FUNCTION
#DIM targetChara
SIF targetChara == -1
	targetChara = TARGET
RETURNF IS_GO_SAMESCHOOL(targetChara,MASTER) && GET_SCHOOL_ORDER_LEVEL(GET_CHARA_GO_SCHOOL_INDEX(targetChara)) >= 8

;運営主体のテキストを返す
@GET_SCHOOLTYPE_TEXT(schoolIndex)
#FUNCTIONS
#DIM schoolIndex
SELECTCASE 1
	CASE IS_PRIVATESCHOOL(schoolIndex)
		RETURNF "사립"
	CASE IS_NATIONALSCHOOL(schoolIndex)
		RETURNF "국립"
	CASEELSE
		RETURNF "공립"
ENDSELECT

;学園のカテゴリのテキストを返す
@GET_SCHOOLCATEGORY_TEXT_FROMINDEX(schoolIndex)
#FUNCTIONS
#DIM schoolIndex
RETURNF GET_SCHOOLCATEGORY_TEXT(GET_SCHOOL_LAYER(schoolIndex))

@GET_SCHOOLCATEGORY_TEXT(schoolLayer)
#FUNCTIONS
#DIM schoolLayer
SELECTCASE schoolLayer
	CASE 1
		RETURNF "   초등학교   "
	CASE 2
		RETURNF "    중학교    "
	CASE 3
		RETURNF "   초중일관   "
	CASE 4
		RETURNF "   고등학교   "
	CASE 5
		RETURNF "  초・고병립  " ;どんなだ
	CASE 6
		RETURNF "   중고일관   "
	CASE 7
		RETURNF "  초중고일관  "
	CASE 8
		RETURNF "     대학     "
	CASE 9
		RETURNF "  초・대병립  "
	CASE 10
		RETURNF "  중・대병립  "
	CASE 11
		RETURNF "  초중대병립  "
	CASE 12
		RETURNF "   고대일관   "
	CASE 13
		RETURNF "  초고대병립  "
	CASE 14
		RETURNF "  중고대일관  "
	CASE 15
		RETURNF "에스컬레이터식"
ENDSELECT

@GET_BOYS_OR_GIRLS_SCHOOL_TEXT(schoolIndex)
#FUNCTIONS
#DIM schoolIndex
SELECTCASE 1
	CASE IS_BOYSSCHOOL(schoolIndex)
		RETURNF "남자교"
	CASE IS_GIRLSSCHOOL(schoolIndex)
		RETURNF "여자교"
	CASE IS_CO_EDUCATION_SCHOOL(schoolIndex)
		RETURNF " 공학 "
	CASEELSE
		THROW 부정한 category입니다。 : {GET_SCHOOL_CATEGORY(schoolIndex)}
ENDSELECT


code:
;이 파일은 이제 쓰이지 않아요. 개를 놀게 할 때는 주위에 소중한 것이 없는 안전한 장소에서 놀게 합시다.
;뜯어 볼 사람 있을 것 같아서 주석 처리. 시나리오 하위 폴더 학원에 있는 SCHOOL_DATA로

@SCHOOL_COMMENT_1
;모리히사 고교, 동일 성씨 있음, 에라 고교에서 음차한 모양
PRINTL -사립 모리히사 고교-
PRINTL 약간 부자성향의 자녀가 많은 사립학교。다만 전문분야에서 월등한 성과를 보인 학생을 받아들이는 사례도 있다。
PRINTL 자유도는 제법 높은 학교지만 이는 학생이 학생으로서의 절도를 벗어나지 않는다는 전제 하에 주어진 것이다。
PRINTW 교복은 블레이저。유명한 디자인 회사의 디자인이고 평가도 높다。

@SCHOOL_COMMENT_2
;나나츠시마학원, 동일 지명 있음
PRINTL －나나츠시마 학원－
PRINTL 작은 섬에 있는 유일한 학교。 학생이 적기 때문에 초등학생부터 고등학생까지 이 학교에 다니고 있다。
PRINTL 대학 이후의 고등교육을 원하는 사람은 혼슈로 건너갈 수밖에 없지만、그대로 돌아 오지 않는 사례가 많기 때문에、도민들 사이에서는 학생의 진학을 환영하지 않는 경향이 있다。
PRINTW 몇 안 되는 교사들은 도민의 몰이해와 노후화되는 시설에 고민하고 있다。 교복은 세일러복

@SCHOOL_COMMENT_3
;케나가레야마 고교, 비슷한 지명 있음
PRINTL -현립 케나가레야마 고교-
PRINTL 공립학교。 주변 지역은 최악의 치안을 자랑하지만、그 원인 중 하나는 이 학교의 존재라고 할 수 있다。 학생의 성적、입학 난이도 모두 최저
PRINTL 히라가나로 이름 쓰면 입학 가능하다고까지 말하고、과거가 어떻든 입학을 거부하지 않기 때문에 일단 고졸 직함을 원하는 학생들로 붐빈다。
PRINTL 당연히 학생들에게는 의욕도 학력도 없는 게 보통이고 제대로 된 교사도 한 달 안에 죽은 고기 같은 눈이 되는 게 일반적이다。
PRINTW 교복은 세일러복이지만 디자인이 낡아 학생들은 마음대로 개조하거나 아예 교복을 입지 않는 경우가 많다。

@SCHOOL_COMMENT_4
;히카미 학원 대학 부속, 동일 지명이 있어서 히카미로 번역했으나 의도는 일상(닛죠)인듯
PRINTL -사립 히카미 학원 대학부속교-
PRINTL 히카미대학의 부속학교。 중학교부터 대학까지 에스컬레이터식으로 진학 가능。
PRINTL 모체가 신토 계열이기 때문에 일본식 이미지를 강하게 내세우고 있고 문과 계열 평가가 높은 학교。
PRINTL 자녀가 옛 야마토 나데시코처럼 되어주기를 바라는 부모에게는 인기있는 학교。 성질상 신사에 의탁할 예정인 학생도 많다。
PRINTW 이미지를 중시하는 관계상 교칙은 상당히 엄격하다。 교복은 세일러복

@SCHOOL_COMMENT_5
;에반게리움 세례학원, 복음 라틴어와 성노예에서 음차한 모양, 동명 종교의식이 있기에 성례로 표기
PRINTL -에반게리움 성례학원-
PRINTL 미션스쿨 계열 기숙사제 여학원。중고 일관 에스컬레이터식。
PRINTL 원래는 수도원에서 부유한 자녀들을 돌보며 교육하던 것이 원류이며 그래서 지금도 영애가 많다。
PRINTL 특히 장래에 시집갈 곳이 정해질 때까지、쓸데없는 추문을 일으키지 않도록 격리하는 의미로 이 학원에 수감된 아이가 많은 것이 특징。
PRINTL 그렇기 때문에 학원의 설비가 매우 잘 갖추어져 있어 기숙사는 호텔로 착각할 정도다。
PRINTL 또한 미션 계열인 만큼 신학 수업이 마련되어 있으며 이를 위한 신부와 수녀들까지 고용되어 있다。
PRINTL 교칙은 상당히 엄격하고、위반자는 퇴학도 포함해 엄한 처분이 있다。제복은 수도복을 어레인지한 블레이저


code:
@SCHOOL_DIFFICULTY,ARG
#DIM DYNAMIC DIFFICULTY_TOP
#DIMS DYNAMIC DIFFICULTY_TOPS
#DIM DYNAMIC DIFFICULTY_LOW
#DIMS DYNAMIC DIFFICULTY_LOWS
#DIM DYNAMIC VALUE_TOP
#DIMS DYNAMIC VALUE_TOPS
#DIM DYNAMIC VALUE_SECOND
#DIMS DYNAMIC VALUE_SECONDS

;学園の難易度表示関数
;LOCAL:0が学園番号
LOCAL:0 = ARG
;LOCAL:1がキャラcsc開始番号
LOCAL:1 = (LOCAL:0 - 100)*100
SIF LOCAL:0 >= 200
	LOCAL:1 = LOCAL:0*100
SIF LOCAL:1 == 0
	LOCAL:1 = 1
;LOCAL:2がキャラクタ総数
LOCAL:2 = 0
;LOCAL:3が校内キャラクタ数
LOCAL:3 = 0
LOCAL:4 = 0
LOCAL:5 = 0
LOCAL:6 = 0
LOCAL:7 = 0
LOCAL:8 = 0
LOCAL:9 = 0
LOCAL:10 = 0
LOCAL:11 = 0
LOCAL:12 = 0
LOCAL:13 = CHARANUM
DIFFICULTY_LOW = 100

LOCAL:1 = (LOCAL:0 - 1)*100

SIF LOCAL:1 == 0
	LOCAL:1 = 1
FOR (LOCAL:6), LOCAL:1,(LOCAL:1+100)
	IF EXISTCSV((LOCAL:6)) == 1 && !CSVTALENT((LOCAL:6),GETNUM(TALENT, "성별위장"))
		LOCAL:2 += 1
		SIF CSVCFLAG((LOCAL:6),1001) == LOCAL:0
			LOCAL:3 += 1
		LOCAL:7 = GET_CHARA_DIFFICULTY((LOCAL:6))
		CALL PROSTITUTION_CUSTOMER_MAKE,0,1
		ADDCHARA (LOCAL:6)
		LOCAL:8 = GET_PROSTITUTION_VALUE(0, LOCAL:13)
		DELCHARA LOCAL:13
;バグチェック用 キャラの難度と評価を確認するときに外す
;		PRINTFORML [{(LOCAL:6)}]%CSVNAME((LOCAL:6)),13,LEFT%　　({LOCAL:7,3})　　({LOCAL:8,5})
		LOCAL:9 += LOCAL:7
		LOCAL:10 += LOCAL:8
		SIF LOCAL:8 >= 6000 && CSVCFLAG((LOCAL:6),1001) == LOCAL:0
			LOCAL:11 -= 1
		SIF LOCAL:8 >= 8000 && CSVCFLAG((LOCAL:6),1001) == LOCAL:0
			LOCAL:11 -= 1
		SIF LOCAL:8 >= 10000 && CSVCFLAG((LOCAL:6),1001) == LOCAL:0
			LOCAL:11 -= 1
		SIF LOCAL:8 >= 15000
			LOCAL:11 -= 1
		SIF LOCAL:8 >= 20000
			LOCAL:11 -= 1
		SIF LOCAL:8 >= 30000
			LOCAL:11 -= 1
		IF LOCAL:7 > DIFFICULTY_TOP && CSVTALENT(LOCAL:6,290) == 0
			DIFFICULTY_TOP = LOCAL:7
			DIFFICULTY_TOPS = %CSVNAME(LOCAL:6)%
		ENDIF
		IF LOCAL:7 < DIFFICULTY_LOW && CSVTALENT(LOCAL:6,290) == 0
			DIFFICULTY_LOW = LOCAL:7
			DIFFICULTY_LOWS = %CSVNAME(LOCAL:6)%
		ENDIF
		IF LOCAL:8 > VALUE_TOP && CSVTALENT(LOCAL:6,290) == 0
			VALUE_SECOND = VALUE_TOP
			VALUE_SECONDS = %VALUE_TOPS%
			VALUE_TOP = LOCAL:8
			VALUE_TOPS = %CSVNAME(LOCAL:6)%
		ELSEIF LOCAL:8 > VALUE_SECOND && CSVTALENT(LOCAL:6,290) == 0
			VALUE_SECOND = LOCAL:8
			VALUE_SECONDS = %CSVNAME(LOCAL:6)%
		ENDIF
	ENDIF
NEXT
LOCAL:9 = LOCAL:9/LOCAL:2
LOCAL:10 = LOCAL:10/LOCAL:2
;バグチェック用
;PRINTFORML キャラクター平均難易度({LOCAL:9,3})　キャラクター平均価値({LOCAL:10,5})

;難易度査定
;平均難易度が-5を下回るごとに-1
;平均難易度が5を上回るごとに+1
;平均価格が4000を500下回るごとに+1
;平均価格が4000を500上回るるごとに+1
;価値6000以上の校内キャラ1名につき-1
;価値8000以上の校内キャラ1名につき-1
;価値10000以上の校内キャラ1名につき-1
;価値15000以上のキャラ1名につき-1
;価値20000以上のキャラ1名につき-1
;価値30000以上のキャラ1名につき-1
;人数が6人だと+1
;人数が5人だと+3
;人数が4人以下だと+6
;キャラが5人増えるごとに+1

SIF LOCAL:9 <= -5
	LOCAL:11 += (LOCAL:9 + 5)
SIF LOCAL:9 >= 5
	LOCAL:11 += (LOCAL:9 - 5)
SIF LOCAL:10 <= 4000
	LOCAL:11 += (4000 - LOCAL:10)/500
SIF LOCAL:10 >= 4000
	LOCAL:11 -= (LOCAL:10 - 4000)/500
SIF LOCAL:2 == 6
	LOCAL:11 += 1
SIF LOCAL:2 == 5
	LOCAL:11 += 3
SIF LOCAL:2 <= 4
	LOCAL:11 += 6
SIF LOCAL:2 >= 5
	LOCAL:11 += (LOCAL:2/5)

DRAWLINE
PRINTFORML [{LOCAL:0}]%GET_SCHOOL_NAME(LOCAL:0)%
PRINT 総合
;PRINTFORM [{LOCAL:11}]
	SETCOLOR 0xFFFF00
	PRINT ★
SIF LOCAL:11 >= -5
	PRINT ★
SIF LOCAL:11 >= 0
	PRINT ★
SIF LOCAL:11 >= 3
	PRINT ★
SIF LOCAL:11 >= 6
	PRINT ★
SIF LOCAL:11 >= 9
	PRINT ★
SIF LOCAL:11 >= 12
	PRINT ★
SIF LOCAL:11 >= 15
	PRINT ★
PRINTL
RESETCOLOR
PRINT 가드의 단단함
	IF LOCAL:9 <= -11
		PRINTL 매우 느슨함
	ELSEIF LOCAL:9 <= -6 && LOCAL:9 >= -10
		PRINTL 느슨함
	ELSEIF LOCAL:9 <= -1 && LOCAL:9 >= -5
		PRINTL 약간 느슨함
	ELSEIF LOCAL:9 >= 0 && LOCAL:9 <= 4
		PRINTL 보통
	ELSEIF LOCAL:9 >= 5 && LOCAL:9 <= 9
		PRINTL 약간 단단함
	ELSEIF LOCAL:9 >= 10 && LOCAL:9 <= 14
		PRINTL 단단함
	ELSEIF LOCAL:9 >= 15
		PRINTL 매우 단단함
	ENDIF
PRINT 퀄리티
	IF LOCAL:10 <= 2499
		PRINTL 매우 낮다
	ELSEIF LOCAL:10 >= 2500 && LOCAL:10 <= 2999
		PRINTL 낮다
	ELSEIF LOCAL:10 >= 3000 && LOCAL:10 <= 3499
		PRINTL 약간 낮다
	ELSEIF LOCAL:10 >= 3500 && LOCAL:10 <= 4499
		PRINTL 보통
	ELSEIF LOCAL:10 >= 4500 && LOCAL:10 <= 4999
		PRINTL 약간 높다
	ELSEIF LOCAL:10 >= 5000 && LOCAL:10 <= 5499
		PRINTL 높다
	ELSEIF LOCAL:10 >= 5500
		PRINTL 매우 높다
	ENDIF
PRINTFORML 캐릭터 총수　　{LOCAL:2}인
PRINTFORML 교내 캐릭터수　{LOCAL:3}인
PRINTFORML 교외 캐릭터수　{(LOCAL:2-LOCAL:3)}인

DRAWLINE
SETCOLOR 0XDDA0DD
PRINTFORML %STR:(LOCAL:0)%인가…
PRINT 자료로 볼때는 전체적으로
IF LOCAL:9 < -10
	PRINT 아주 쉬운 것 같은 여자
ELSEIF LOCAL:9 < -5
	PRINT 바보같을 것 같은 여자
ELSEIF LOCAL:9 < 5
	PRINT 미지근할 것 같은 여자
ELSEIF LOCAL:9 < 10
	PRINT 평범한 여자
ELSEIF LOCAL:9 < 15
	PRINT 딱딱한 것 같은 여자
ELSEIF LOCAL:9 >= 15
	PRINT 벅찬 것 같은 여자
ENDIF
PRINTL 가 많은 학원인 것 같다.
IF LOCAL:10 <= 3499
	PRINT 게다가,
ELSEIF LOCAL:10 >= 4500
	PRINT 하지만,
ELSE
	PRINT 아무튼,
ENDIF
IF LOCAL:10 >= 5500
	PRINT 여자의 레벨로 보면 전국 유수한, 꼭 여기의 여자를 보내 달라는 요망이 오고 있는
ELSEIF LOCAL:10 >= 5000
	PRINT 돈벌이를 기대할 수 있는 여자가 꽤 있다고 예전부터 소문난
ELSEIF LOCAL:10 >= 4500
	PRINT 우리들의 사이에서는 이따금 화제가 되는 평판이 좋은
ELSEIF LOCAL:10 >= 3500
	PRINT 여자의 레벨은 특별히 좋지도 나쁘지도 않다는 평범한
ELSEIF LOCAL:10 >= 3000
	PRINT 우리 손님의 요구로부터 보면, 평가도 별로라고 하는
ELSEIF LOCAL:10 >= 2500
	PRINT 요망이 적고 거의 주목받고 있지 않는
ELSEIF LOCAL:10 <= 2499
	PRINT 이쪽 세계에서는 완전히 무명인
ENDIF
PRINTL 학원이기도 하다…
PRINTL 라고 말해도 여기의 조사도 완벽하지 않기 때문에.
IF LOCAL:10 <= 3500
	PRINTL 조사 누락도 있을 것이고, 어떤 곳에도 발굴되지 않은 원석이 있는 것이다.
ELSEIF LOCAL:10 >= 4500
	PRINTL 게중에는 별로 돈벌이가 되지 않는 여자도 있을 것이고, 엉뚱한 행동을 하게 될지도 모른다.
ELSE
	PRINTL 결국, 실제로 들어가 보기 전에는 어떤 여자가 있을지 모를려나.
ENDIF
PRINTL
PRINT 그런데, 자료에 의하면 여기에 입학하려고 하면
IF VALUE_TOPS == DIFFICULTY_TOPS && VALUE_TOP >= 30000
	PRINTFORML 무엇보다도 『%VALUE_TOPS%』%조사만처리(VALUE_TOPS,"가")% 중요하다.
	PRINTL 이 녀석은 특히 요망이 큰 톱 클래스의 여자로, 위쪽에서부터 직접 전국에서 지정되고 있는 거물이다.
	PRINTL 간단하지 않다고 생각하지만…이 녀석을 어떻게든 할 수 있으면 빚이든 뭐든 곧바로 반제할 수 있는 것이 아닐까?
ELSEIF VALUE_TOPS == DIFFICULTY_TOPS && VALUE_TOP >= 10000
	PRINTFORML 역시 『%VALUE_TOPS%』%조사만처리(VALUE_TOPS,"가")% 필요하게 될 것이다.
	PRINTL 이 여자는 우리들의 근처에서도 유명한 타겟으로, 부디 우리 가게에 보내 달라는 요망이 오고 있을 정도다.
	PRINTL 당연히 가드는 단단할테니까, 초조해 하지 않고 신중하게 진행해 달라고?
ELSEIF VALUE_TOPS == DIFFICULTY_TOPS && VALUE_TOP >= 8000
	PRINTFORML 『%VALUE_TOPS%』%조사만처리(VALUE_TOPS,"가")% 중심이 될 것이다.
	PRINTL 이 녀석은 학원 안에서도 레벨이 높다고 소문난 여자다. 할 수 있는 한 노려야 할 타겟일 것이다.
	PRINTL 다만 아무튼…그 밖에도 좋은 여자는 있는 것 같으니까, 그 밖에도 눈을 돌릴 필요가 있을지도 모르겠다.
ELSEIF VALUE_TOPS == DIFFICULTY_TOPS
	PRINTFORML 『%VALUE_TOPS%』에게는 주의를 기울여 둬라.
	PRINTL 무리해서 노릴 필요는 없을지도 모르지만, 사전 조사에서는 탑이었던 여자다.
	PRINTL 그 밖에도 좋은 여자가 있다고 하는데…할 수 있다면 물건으로 해 두고 싶구나.
ELSEIF VALUE_TOP >= 30000
	PRINTFORML 무엇보다도 『%VALUE_TOPS%』%조사만처리(VALUE_TOPS,"가")% 중요하다.
	PRINTL 이 녀석은 특히 요망이 큰 톱 클래스의 여자로, 위쪽에서부터 직접 전국에서 지정되고 있는 거물이다.
ELSEIF VALUE_TOP >= 10000
	PRINTFORML 역시 『%VALUE_TOPS%』%조사만처리(VALUE_TOPS,"가")% 필요하게 될 것이다.
	PRINTL 이 여자는 우리들의 근처에서도 유명한 타겟으로, 부디 우리 가게에 보내 달라는 요망이 오고 있을 정도다.
ELSEIF VALUE_TOP >= 8000
	PRINTFORML 『%VALUE_TOPS%』%조사만처리(VALUE_TOPS,"가")% 중심이 될 것이다.
	PRINTL 이 녀석은 학원 안에서도 레벨이 높다고 소문난 여자다. 할 수 있는 한 노려야 할 타겟일 것이다.
ELSE
	PRINTFORML 『%VALUE_TOPS%』%조사만처리(VALUE_TOPS,"는")% 신경써 두면 좋다.
	PRINTFORML 중요라고 쓰여져 있었으니, 반드시 평가가 높았을 것이다…
ENDIF
IF VALUE_SECOND >= 30000
	PRINTFORML 그것과, 『%VALUE_SECONDS%』도 지극히 중요하다고 말해도 좋다.
	PRINTFORML 2번 타겟이라고는 해도, 이 녀석은 좀처럼 볼 수 없는 극상의 여자다. 이 여자도 전국에서 지정되고 있었던가.
ELSEIF VALUE_SECOND >= 10000
	PRINTFORML 그것과, 『%VALUE_SECONDS%』도 잊어서는 안 되겠구나.
	PRINTFORML 이 학원의 2번 타겟의 조사 결과이지만…다른 장소에서는 여유로 탑이 되어도 이상하지 않은 인재다.
ELSEIF VALUE_SECOND >= 8000
	PRINTFORML 그것과, 『%VALUE_SECONDS%』도 상당한 레벨의 여자라는 소문이다.
	PRINTFORML 조사한 녀석의 개인적인 감상으로는, 이 녀석이 제일 좋았던 것 같다. 어쨌든 주목이다.
ELSEIF VALUE_SECOND >= 1
	PRINTFORML 그것과, 『%VALUE_SECONDS%』도 신경이 쓰이는 존재다.
	PRINTFORML 분명하게 다른 것과는 다른, 그런 분위기를 가지고 있다는 이야기다.
ENDIF
SIF VALUE_SECOND >= 1 && VALUE_SECONDS == DIFFICULTY_TOPS
	PRINTFORML 다만 이 여자는, 가드의 단단함도 정평이 있던 것 같다. 그 점은 요주의다.
PRINTL
IF DIFFICULTY_LOW <= -50 && DIFFICULTY_LOWS != VALUE_TOPS && DIFFICULTY_LOWS != VALUE_SECONDS
	PRINTFORML 다른 정보는……그래그래, 『%DIFFICULTY_LOWS%』%조사만처리(DIFFICULTY_LOWS,"를")% 우선으로 노려 보는 것도 좋을지도 모른다.
	PRINTFORML 그 여자는 명백하게 아주 쉬운 것 같아, 손쉽게 떨어뜨릴 수 있다고 자료에 써 있어.
	PRINTFORML 이런 여자를 사용해, 그 교우 관계를 따라 차례차례 다른 여자를 물건으로 해 간다. 기본이다.
ELSEIF DIFFICULTY_LOW <= -40 && DIFFICULTY_LOWS != VALUE_TOPS && DIFFICULTY_LOWS != VALUE_SECONDS
	PRINTFORML 다른 정보는……그래그래, 『%DIFFICULTY_LOWS%』%조사만처리(DIFFICULTY_LOWS,"를")% 우선으로 노려 보는 것도 좋을지도 모른다.
	PRINTFORML 주위와 비교해도 분명하게 가드가 느슨한 여자다. 간단하게 물건으로 할 수 있겠네.
	PRINTFORML 이런 여자를 사용해, 그 교우 관계를 따라 차례차례 다른 여자를 물건으로 해 간다. 기본이다.
ELSEIF DIFFICULTY_LOW <= -30 && DIFFICULTY_LOWS != VALUE_TOPS && DIFFICULTY_LOWS != VALUE_SECONDS
	PRINTFORML 다른 정보는……그래그래, 『%DIFFICULTY_LOWS%』%조사만처리(DIFFICULTY_LOWS,"를")% 우선으로 노려 보는 것도 좋을지도 모른다.
	PRINTFORML 그야말로 엉덩이가 가벼운 것 같은 여자다. 빠르게 돈을 벌게 하려면 이 근처가 적당하다.
	PRINTFORML 이런 여자를 사용해, 그 교우 관계를 따라 차례차례 다른 여자를 물건으로 해 간다. 기본이다.
ELSEIF DIFFICULTY_LOWS != VALUE_TOPS && DIFFICULTY_LOWS != VALUE_SECONDS
	PRINTFORML 그 밖에 특히 눈에 띄는 정보는 없지만…『%DIFFICULTY_LOWS%』%조사만처리(DIFFICULTY_LOWS,"를")% 우선 추천 한다고.
	PRINTFORML 나의 감이지만 이 여자는 아마 가드가 느슨한 것 같다. 오랜 세월 이 일을 하고 있으면 느낌이 온다.
	PRINTFORML 믿든 믿지 않든 상관없지만…나의 감은 지금까지 빗나갔던 적이 없다고 말해 둔다.
ENDIF
IF DIFFICULTY_TOP >= 50 && VALUE_TOPS != DIFFICULTY_TOPS && VALUE_SECONDS != DIFFICULTY_TOPS
	PRINTL
	PRINTFORML 그것과 마지막으로, 『%DIFFICULTY_TOPS%』에는 가능한 한 손을 대지 않는 편이 좋을지도 몰라.
	PRINTFORML 훌륭하게 가드가 단단한 것 같고, 분명히 말해 수지에 맞지 않는 것은 틀림없다.
	PRINTFORML 게중에는 이런 가드가 단단한 여자를 떨어뜨리는 것이 취미의 녀석도 있다고 들었지만…충고는 했어?
ENDIF
PRINTL
PRINTL 아무튼 뭐든지간에, 실제로 입학해도 여자와 잘 만날 수 없으면 이야기가 되지 않아.
PRINTL 마지막으로 물건을 부르는 방법은 현장에서의 정보수집이다, 라고 그 야쿠자의 남자는 말했다……

RESETCOLOR
PRINTL
PRINTFORML 이 학원으로 좋습니까?
PRINTFORML [1]네
PRINTFORML [2]아니오
$INPUT_LOOP
INPUT
IF RESULT == 1
	RETURN 0
ELSEIF RESULT == 2
	RETURN 1
ELSE
	GOTO INPUT_LOOP
ENDIF

@GET_CHARA_DIFFICULTY,ARG
#FUNCTION
;キャラNOのおおよその難易度を代入する関数
LOCAL:0 = ARG
;LOCAL:1が難易度　点数が高いほど高難易度
LOCAL:1 = 0
;체력は1600を基準に50ごとに+-1点
SIF CSVBASE(LOCAL:0,0) >= 1600
	LOCAL:1 -= (CSVBASE(LOCAL:0,0)-1600)/50
SIF CSVBASE(LOCAL:0,0) <= 1600
	LOCAL:1 += (1600 - CSVBASE(LOCAL:0,0))/50
;기력は1600を基準に30ごとに+-1点
SIF CSVBASE(LOCAL:0,1) >= 1600
	LOCAL:1 -= (CSVBASE(LOCAL:0,1) - 1600)/30
SIF CSVBASE(LOCAL:0,1) <= 1600
	LOCAL:1 += (1600 - CSVBASE(LOCAL:0,1))/30
;처녀
SIF CSVTALENT(LOCAL:0, 0) == 1
	LOCAL:1 -= 4
;겁쟁이
SIF CSVTALENT(LOCAL:0, 20) == 1
	LOCAL:1 -= 8
;반항적
SIF CSVTALENT(LOCAL:0, 21) == 1
	LOCAL:1 += 10
;꿋꿋함
SIF CSVTALENT(LOCAL:0, 22) == 1
	LOCAL:1 += 12
;솔직
SIF CSVTALENT(LOCAL:0, 23) == 1
	LOCAL:1 -= 6
;얌전함
SIF CSVTALENT(LOCAL:0, 24) == 1
	LOCAL:1 -= 6
;프라이드높음
SIF CSVTALENT(LOCAL:0, 25) == 1
	LOCAL:1 += 6
;건방짐
SIF CSVTALENT(LOCAL:0, 26) == 1
	LOCAL:1 += 8
;프라이드낮음
SIF CSVTALENT(LOCAL:0, 27) == 1
	LOCAL:1 -= 6
;츤데레
SIF CSVTALENT(LOCAL:0, 28) == 1
	LOCAL:1 += 4
;감정풍부
SIF CSVTALENT(LOCAL:0, 29) == 1
	LOCAL:1 -= 16
;감정부족
SIF CSVTALENT(LOCAL:0, 30) == 1
	LOCAL:1 += 3
;사교적
SIF CSVTALENT(LOCAL:0, 31) == 1
	LOCAL:1 -= 8
;내향적
SIF CSVTALENT(LOCAL:0, 32) == 1
	LOCAL:1 += 1
;인간혐오
SIF CSVTALENT(LOCAL:0, 33) == 1
	LOCAL:1 += 7
;고결
SIF CSVTALENT(LOCAL:0, 34) == 1
	LOCAL:1 += 25
;성악
SIF CSVTALENT(LOCAL:0, 35) == 1
	LOCAL:1 += 17
;자제심
SIF CSVTALENT(LOCAL:0, 50) == 1
	LOCAL:1 += 15
;무관심
SIF CSVTALENT(LOCAL:0, 51) == 1
	LOCAL:1 += 3
;호기심
SIF CSVTALENT(LOCAL:0, 53) == 1
	LOCAL:1 -= 2
;보수적
SIF CSVTALENT(LOCAL:0, 54) == 1
	LOCAL:1 += 4
;낙관적
SIF CSVTALENT(LOCAL:0, 55) == 1
	LOCAL:1 -= 9
;비관적
SIF CSVTALENT(LOCAL:0, 56) == 1
	LOCAL:1 += 12
;일선을넘지않음
SIF CSVTALENT(LOCAL:0, 57) == 1
	LOCAL:1 += 20
;눈에띄고싶어함
SIF CSVTALENT(LOCAL:0, 58) == 1
	LOCAL:1 -= 5
;충동적
SIF CSVTALENT(LOCAL:0, 59) == 1
	LOCAL:1 -= 12
;정욕
SIF CSVTALENT(LOCAL:0, 60) == 1
	LOCAL:1 -= 10
;금욕
SIF CSVTALENT(LOCAL:0, 61) == 1
	LOCAL:1 += 14
;정조관념
SIF CSVTALENT(LOCAL:0, 80) == 1
	LOCAL:1 += 9
;정조무관심
SIF CSVTALENT(LOCAL:0, 81) == 1
	LOCAL:1 -= 7
;억압
SIF CSVTALENT(LOCAL:0, 82) == 1
	LOCAL:1 += 22
;해방
SIF CSVTALENT(LOCAL:0, 83) == 1
	LOCAL:1 -= 8
;저항
SIF CSVTALENT(LOCAL:0, 84) == 1
	LOCAL:1 += 12
;부끄럼쟁이
SIF CSVTALENT(LOCAL:0, 85) == 1
	LOCAL:1 += 4
;수치심없음
SIF CSVTALENT(LOCAL:0, 86) == 1
	LOCAL:1 -= 4
;약점
SIF CSVTALENT(LOCAL:0, 87) == 1
	LOCAL:1 -= 10
;굴복
SIF CSVTALENT(LOCAL:0, 88) == 1
	LOCAL:1 -= 9
;Ｂ열등감
SIF CSVTALENT(LOCAL:0, 89) == 1
	LOCAL:1 -= 10
;반하기쉬움
SIF CSVTALENT(LOCAL:0, 90) == 1
	LOCAL:1 -= 8
;철벽
SIF CSVTALENT(LOCAL:0, 91) == 1
	LOCAL:1 += 24
;아픔에약함
SIF CSVTALENT(LOCAL:0, 100) == 1
	LOCAL:1 += 2
;아픔에강함
SIF CSVTALENT(LOCAL:0, 101) == 1
	LOCAL:1 -= 2
;젖기쉬움
SIF CSVTALENT(LOCAL:0, 102) == 1
	LOCAL:1 -= 1
;젖기어려움
SIF CSVTALENT(LOCAL:0, 103) == 1
	LOCAL:1 += 1
;영체
SIF CSVTALENT(LOCAL:0, 104) == 1
	LOCAL:1 += 4
;유연한신체
SIF CSVTALENT(LOCAL:0, 105) == 1
	LOCAL:1 -= 4
;흡정
SIF CSVTALENT(LOCAL:0, 106) == 1
	LOCAL:1 -= 3
;습득빠름
SIF CSVTALENT(LOCAL:0, 120) == 1
	LOCAL:1 -= 6
;습득느림
SIF CSVTALENT(LOCAL:0, 121) == 1
	LOCAL:1 += 6
;고양이혀
SIF CSVTALENT(LOCAL:0, 124) == 1
	LOCAL:1 += 1
;약독내성
SIF CSVTALENT(LOCAL:0, 126) == 1
	LOCAL:1 += 3
;자위하기쉬움
SIF CSVTALENT(LOCAL:0, 150) == 1
	LOCAL:1 -= 5
;악취둔감
SIF CSVTALENT(LOCAL:0, 151) == 1
	LOCAL:1 -= 4
;악취민감
SIF CSVTALENT(LOCAL:0, 152) == 1
	LOCAL:1 += 4
;더러움무시
SIF CSVTALENT(LOCAL:0, 154) == 1
	LOCAL:1 -= 8
;헌신적
SIF CSVTALENT(LOCAL:0, 153) == 1
	LOCAL:1 -= 8
;레이프소망
SIF CSVTALENT(LOCAL:0, 154) == 1
	LOCAL:1 -= 8
;Ａ거부
SIF CSVTALENT(LOCAL:0, 155) == 1
	LOCAL:1 += 4
;키스좋아함
SIF CSVTALENT(LOCAL:0, 156) == 1
	LOCAL:1 -= 2
;걸레녀
SIF CSVTALENT(LOCAL:0, 157) == 1
	LOCAL:1 -= 17
;거절
SIF CSVTALENT(LOCAL:0, 158) == 1
	LOCAL:1 += 2
;쾌감에솔직
SIF CSVTALENT(LOCAL:0, 170) == 1
	LOCAL:1 -= 9
;쾌감을부정
SIF CSVTALENT(LOCAL:0, 171) == 1
	LOCAL:1 += 25
;중독되기쉬움
SIF CSVTALENT(LOCAL:0, 172) == 1
	LOCAL:1 -= 15
;즉각함락
SIF CSVTALENT(LOCAL:0, 173) == 1
	LOCAL:1 -= 35
;음핵
SIF CSVTALENT(LOCAL:0, 174) == 1
	LOCAL:1 -= 2
;음호
SIF CSVTALENT(LOCAL:0, 175) == 1
	LOCAL:1 -= 2
;음항
SIF CSVTALENT(LOCAL:0, 176) == 1
	LOCAL:1 -= 2
;음유
SIF CSVTALENT(LOCAL:0, 177) == 1
	LOCAL:1 -= 2
;영구발정
SIF CSVTALENT(LOCAL:0, 178) == 1
	LOCAL:1 -= 35
;노출광
SIF CSVTALENT(LOCAL:0, 179) == 1
	LOCAL:1 -= 10
;도착적
SIF CSVTALENT(LOCAL:0, 190) == 1
	LOCAL:1 -= 6
;바이
SIF CSVTALENT(LOCAL:0, 191) == 1
	LOCAL:1 -= 7
;남성혐오
SIF CSVTALENT(LOCAL:0, 192) == 1
	LOCAL:1 += 8
;새드
SIF CSVTALENT(LOCAL:0, 193) == 1
	LOCAL:1 -= 1
;마조
SIF CSVTALENT(LOCAL:0, 194) == 1
	LOCAL:1 -= 10
;질투
SIF CSVTALENT(LOCAL:0, 195) == 1
	LOCAL:1 += 2
;망신
SIF CSVTALENT(LOCAL:0, 196) == 1
	LOCAL:1 -= 10
;여성혐오
SIF CSVTALENT(LOCAL:0, 198) == 1
	LOCAL:1 += 8
;공주님소망
SIF CSVTALENT(LOCAL:0, 199) == 1
	LOCAL:1 -= 5
;카리스마
SIF CSVTALENT(LOCAL:0, 216) == 1
	LOCAL:1 += 50
;小柄体系
SIF CSVTALENT(LOCAL:0, 230) == 1
	LOCAL:1 -= 5
;Ｃ둔감
SIF CSVTALENT(LOCAL:0, 231) == 1
	LOCAL:1 += 3
;Ｃ민감
SIF CSVTALENT(LOCAL:0, 232) == 1
	LOCAL:1 -= 3
;Ｖ둔감
SIF CSVTALENT(LOCAL:0, 233) == 1
	LOCAL:1 += 3
;Ｖ민감
SIF CSVTALENT(LOCAL:0, 234) == 1
	LOCAL:1 -= 3
;Ａ둔감
SIF CSVTALENT(LOCAL:0, 235) == 1
	LOCAL:1 += 3
;Ａ민감
SIF CSVTALENT(LOCAL:0, 236) == 1
	LOCAL:1 -= 3
;Ｂ둔감
SIF CSVTALENT(LOCAL:0, 237) == 1
	LOCAL:1 += 3
;Ｂ민감
SIF CSVTALENT(LOCAL:0, 238) == 1
	LOCAL:1 -= 3
;빈유
SIF CSVTALENT(LOCAL:0, 239) == 1
	LOCAL:1 += 1
;절벽
SIF CSVTALENT(LOCAL:0, 240) == 1
	LOCAL:1 += 3
;회복빠름
SIF CSVTALENT(LOCAL:0, 280) == 1
	LOCAL:1 -= 5
;회복느림
SIF CSVTALENT(LOCAL:0, 281) == 1
	LOCAL:1 -= 5
;후타나리
SIF CSVTALENT(LOCAL:0, 289) == 1
	LOCAL:1 -= 5
;맹인
SIF CSVTALENT(LOCAL:0, 545) == 1
	LOCAL:1 += 4
;실어증
SIF CSVTALENT(LOCAL:0, 545) == 1
	LOCAL:1 -= 10
;느슨함
SIF CSVTALENT(LOCAL:0, 200) == 1
	LOCAL:1 -= 5
RETURNF LOCAL:1


code:
;エンディングの最大INDEX定義。超過してもいい
#DIM CONST SCENARIO_EVENT_GOODENDING_MAXINDEX = 999
#DIM CONST SCENARIO_EVENT_BADENDING_MAXINDEX  = 999

;エンディング履歴の最大格納数
#DIM CONST ENDING_HISTORY_MAXCOUNT = 100000

;エンディング履歴データ。"エンディング番号,全体の分岐ルート,MASTERの学園,"MASTERのNAME","MASTERのCALLNAME",[対象キャラNO,陥落ルート,固有の分岐ルート,補足情報]*"のフォーマットで履歴を格納する。初期値はESC文字
;リプレイする際にはこれを全部検索する。予定。ある程度は正規表現で絞り込める？
#DIMS SAVEDATA ENDING_HISTORY_DATA,ENDING_HISTORY_MAXCOUNT


code:
;エンディングの存在判定。常に1を返す
@SCENARIO_EVENT_GOODENDING_IS_EXIST_1()
RETURN 1

;単体エンドなどで特定キャラを対象に判定を行う場合、引数のINIT済みリストに必要な数だけキャラ番号を格納して返す。NOへの変換はFW側でやる。不要ならそのまま返す
;複数人返す場合、最初のキャラがENDING_PATTERNとEXTRAINFO以外全ての関数で引数として渡される
@SCENARIO_EVENT_GOODENDING_ENDING_TARGETCHARAMAP_1(targetCharaList)
#DIM REF targetCharaList
RETURN

;同一インデックス番号で内部分岐させる場合に書く。またエンディング名称の枝番になる。基本空文字でいい
@SCENARIO_EVENT_GOODENDING_ENDING_PATTERN_1(targetChara)
#FUNCTIONS
#DIM targetChara
RETURNF ""

;追加で格納する情報があれば返す。
@SCENARIO_EVENT_GOODENDING_ENDING_TARGETCHARA_EXTRAINFO_1(targetChara,endingPattern)
#FUNCTIONS
#DIM targetChara
#DIMS endingPattern
RETURNF ""

;エンディング名称。エンディングメッセージの最後に表示
@SCENARIO_EVENT_GOODENDING_ENDING_NAME_1(masterSchoolIndex,targetChara,endingPattern)
#FUNCTIONS
#DIM masterSchoolIndex
#DIM targetChara
#DIMS endingPattern
RETURNF "ノーマルエンド"

;エンディング選択肢
@SCENARIO_EVENT_GOODENDING_SELECTION_TEXT_1(masterSchoolIndex,targetChara,endingPattern)
#FUNCTIONS
#DIM masterSchoolIndex
#DIM targetChara
#DIMS endingPattern
RETURNF "直接納める（通常エンド)"

;特定のオープニングを選んだ場合のみ発生する특수EDなら、そのオープニング番号を返す。オープニングに無関係なら-1を返す。
@SCENARIO_EVENT_GOODENDING_IS_SP_OPENING_PATTERN_1()
#FUNCTION
RETURNF -1

;特定のオープニングと借金ゼロ以外の条件がある場合、ここに書く。
;1を返せばエンディング選択可能
;学内キャラの総数と学外キャラ含めた総数(登場キャラ数ではない)及び陥落数は(엔딩조건제외を抜いたうえで)フレームワーク側から引数で渡される。
@SCENARIO_EVENT_GOODENDING_IS_ENDING_SELECTABLE_1(inschoolCount,inschoolFallenCount,totalSchoolCount,totalSchoolFallenCount,targetCharaList,endingPatternList)
#DIM inschoolCount
#DIM inschoolFallenCount
#DIM totalSchoolCount
#DIM totalSchoolFallenCount
#DIM REF targetCharaList
#DIMS REF endingPatternList
RETURN 1

;制覇のレベル。0 - 通常エンド。1 - 学園制覇エンド。2 - 学園完全制覇エンド
@SCENARIO_EVENT_GOODENDING_SEIHA_PATTERN_1()
#FUNCTION
RETURNF 0

@SCENARIO_EVENT_GOODENDING_ENDING_TEXT_1(masterSchoolIndex,targetNoList,endingPatternList,fallenInfoText,extraInfoText)
#DIM masterSchoolIndex
#DIM REF targetNoList
#DIMS REF endingPatternList
#DIMS REF fallenInfoText
#DIMS REF extraInfoText
PRINTW 最後の借金を返済すると、チンピラ風の男は丁寧に金を数えて、それをかばんに突っ込んだ。
PRINTW 『おめでとう、これでお前さんは自由の身だ』
PRINTW 『これで無茶して危ない橋を渡る必要もないわけだな』
PRINTW そういって、男は金の入ったバッグを持って背を向けた。
PRINTW 『あぁ、そうそう、もしお前さんが退屈だと思うんなら……』
PRINTW 男はそう言って、名刺を投げてよこした。
PRINTW 『ここに連絡しな、金次第で無理も聴いてやれるかもな？』
PRINTW そういい捨てて、彼は部屋を出て行ってしまった
PRINTW ……いつか、これを使うことになるのだろうか？
PRINTW だが、今はそれよりも해방感を楽しんでいよう……


code:
;エンディングの存在判定。常に1を返す
@SCENARIO_EVENT_GOODENDING_IS_EXIST_2()
RETURN 1

;単体エンドなどで特定キャラを対象に判定を行う場合、引数のINIT済みリストに必要な数だけキャラ番号を格納して返す。NOへの変換はFW側でやる。不要ならそのまま返す
;複数人返す場合、最初のキャラがENDING_PATTERNとEXTRAINFO以外全ての関数で引数として渡される
@SCENARIO_EVENT_GOODENDING_ENDING_TARGETCHARAMAP_2(targetCharaList)
#DIM REF targetCharaList
#DIM ret
#DIM selectableCharaList,100 ;とりあえず100
ret = GET_RULED_CONTACTABLE_CHARAS("TALENT:index:친애",selectableCharaList)
SIF ret == -1
	THROW 陥落キャラ判定領域がいっぱいになりました
ret = SORT_RULED_MAXPARAM_CHARA("ABL:index:순종 * 10 + ABL:index:정신의존 * 5 + EXP:index:애정경험 + CFLAG:index:의존도",selectableCharaList,targetCharaList)
RETURN

;同一インデックス番号で内部分岐させる場合に書く。またエンディング名称の枝番になる。基本空文字でいい
@SCENARIO_EVENT_GOODENDING_ENDING_PATTERN_2(targetChara)
#FUNCTIONS
#DIM targetChara
IF TALENT:targetChara:남편있음 && TALENT:targetChara:ＮＴＬ
	RETURNF "b"
ELSE
	RETURNF "a"
ENDIF

;追加で格納する情報があれば返す。
@SCENARIO_EVENT_GOODENDING_ENDING_TARGETCHARA_EXTRAINFO_2(targetChara,endingPattern)
#FUNCTIONS
#DIM targetChara
#DIMS endingPattern
RETURNF ""

;エンディング名称。エンディングメッセージの最後に表示
@SCENARIO_EVENT_GOODENDING_ENDING_NAME_2(masterSchoolIndex,targetChara,endingPattern)
#FUNCTIONS
#DIM masterSchoolIndex
#DIM targetChara
#DIMS endingPattern
SELECTCASE endingPattern
	CASE "b"
		RETURNF "연모単体間男エンド"
	CASE "a"
		RETURNF "연모単体エンド"
	CASEELSE
		THROW 부정한 pattern입니다。 : %endingPattern%
ENDSELECT

;エンディング選択肢
@SCENARIO_EVENT_GOODENDING_SELECTION_TEXT_2(masterSchoolIndex,targetChara,endingPattern)
#FUNCTIONS
#DIM masterSchoolIndex
#DIM targetChara
#DIMS endingPattern
targetChara = GET_RULED_CONTACTABLE_FIRST_CHARA("TALENT:index:친애")
SELECTCASE endingPattern
	CASE "b"
		RETURNF CALLNAME:targetChara + "への指輪を買う（間男エンド）"
	CASE "a"
		RETURNF CALLNAME:targetChara + "への指輪を買う（연모エンド）"
	CASEELSE
		THROW 부정한 pattern입니다。 : %endingPattern%
ENDSELECT

;特定のオープニングを選んだ場合のみ発生する특수EDなら、そのオープニング番号を返す。オープニングに無関係なら-1を返す。
@SCENARIO_EVENT_GOODENDING_IS_SP_OPENING_PATTERN_2()
#FUNCTION
RETURNF -1

;特定のオープニングと借金ゼロ以外の条件がある場合、ここに書く。
;1を返せばエンディング選択可能
;学内キャラの総数と学外キャラ含めた総数(登場キャラ数ではない)及び陥落数は(엔딩조건제외を抜いたうえで)フレームワーク側から引数で渡される。
@SCENARIO_EVENT_GOODENDING_IS_ENDING_SELECTABLE_2(inschoolCount,inschoolFallenCount,totalSchoolCount,totalSchoolFallenCount,targetCharaList,endingPatternList)
#DIM inschoolCount
#DIM inschoolFallenCount
#DIM totalSchoolCount
#DIM totalSchoolFallenCount
#DIM REF targetCharaList
#DIMS REF endingPatternList
RETURN COUNT_RULED_CONTACTABLE_CHARAS("IS_LOVING(index)") == 1 && COUNT_RULED_CONTACTABLE_CHARAS("TALENT:index:친애") > 0

;制覇のレベル。0 - 通常エンド。1 - 学園制覇エンド。2 - 学園完全制覇エンド
@SCENARIO_EVENT_GOODENDING_SEIHA_PATTERN_2()
#FUNCTION
RETURNF 0

@SCENARIO_EVENT_GOODENDING_ENDING_TEXT_2(masterSchoolIndex,targetNoList,endingPatternList,fallenInfoText,extraInfoText)
#DIM masterSchoolIndex
#DIM REF targetNoList
#DIMS REF endingPatternList
#DIMS REF fallenInfoText
#DIMS REF extraInfoText
TRYCCALLFORM KOJO_MESSAGE_ENDING_K{targetNoList:0}
	RETURN 0
CATCH
ENDCATCH

DRAWLINE
PRINTW ………………
PRINTW …………
PRINTW ……
SELECTCASE endingPatternList:0
	CASE "b"
		PRINTFORMW 納金を済ませて数日後、%마스터호칭은%%CSVNAME(targetNoList:0)%とともにホテルの一室にいた。
		PRINTFORMW 何度目かの交わりを終え、しっとりと汗ばんだ体で%CSVCALLNAME(targetNoList:0)%と抱き合いながら、ふと考える。
		PRINTFORMW ……%CSVCALLNAME(targetNoList:0)%의 ために買った指輪をいつ渡そうか？
		PRINTFORM %마스터호칭이% 指輪を渡せば、%CSVCALLNAME(targetNoList:0)%はすぐにでも%PARTNER_CSVNAME(targetNoList:0)%と別れる決心をするだろう。
		PRINTFORMW だが、今の状態。不倫がもたらす背徳感の中で味わう%CSVCALLNAME(targetNoList:0)%의 身体は格別だ。
		PRINTFORMW もうしばらく……卒業まではこのままでいいか……？
		PRINTFORMW と、邪なことを考えていると、先ほど果てたばかりの페니스にゆっくりと血が集まりだした。
		PRINTW
		PRINTFORMW 鎌首をもたげ始めた페니스に気づいた%CSVCALLNAME(targetNoList:0)%が、もう一回する？と可愛らしく聞いてくる。
		PRINTFORMW %마스터호칭은%、返事とばかりに%CSVCALLNAME(targetNoList:0)%を仰向けに寝かせると、%CSVCALLNAME(targetNoList:0)%に覆いかぶさっていった……
	CASE "a"
		PRINTFORMW 納金を済ませて屋敷に戻ると、%CSVCALLNAME(targetNoList:0)%は%CALLNAME:MASTER%に抱き寄ってきた
		PRINTFORMW %CSVCALLNAME(targetNoList:0)%を가슴に抱いたまま、ベッドの上に座り%CSVCALLNAME(targetNoList:0)%も腿の上に座らせる
		PRINTFORMW 背後から腕を回し、%CSVCALLNAME(targetNoList:0)%의 左손を손繰り寄せると、%마스터호칭은%손にした指輪を薬指に嵌めた
		PRINTFORMW シンプルながら美麗な細工のなされた指輪を見て、%CSVCALLNAME(targetNoList:0)%は一瞬驚きを顔に浮かべる
		PRINTFORMW だがすぐに意味を理解し、%CALLNAME:MASTER%に抱きついて受け入れる意志を示した
		PRINTFORMW %CSVCALLNAME(targetNoList:0)%의 顔は満面の笑みが浮かび、瞳がわずかに潤んでいる
		PRINTFORMW その唇に%마스터호칭은%唇と重ねると、%CSVCALLNAME(targetNoList:0)%もそれに答えて舌を絡ませていく
		PRINTFORMW しばらく입付けをしていると、%CSVCALLNAME(targetNoList:0)%はベッドの上に倒れこみ、%CALLNAME:MASTER%も引きこむ
		PRINTFORMW ベッドの上で自ら服を肌蹴ていく%CSVCALLNAME(targetNoList:0)%에게、%마스터호칭은%覆いかぶさっていった……
	CASEELSE
		THROW 부정한 pattern입니다。 : %endingPatternList:0%
ENDSELECT
CALL GAME_CONTINUE


code:
;エンディングの存在判定。常に1を返す
@SCENARIO_EVENT_GOODENDING_IS_EXIST_3()
RETURN 1

;単体エンドなどで特定キャラを対象に判定を行う場合、引数のINIT済みリストに必要な数だけキャラ番号を格納して返す。NOへの変換はFW側でやる。不要ならそのまま返す
;複数人返す場合、最初のキャラがENDING_PATTERNとEXTRAINFO以外全ての関数で引数として渡される
@SCENARIO_EVENT_GOODENDING_ENDING_TARGETCHARAMAP_3(targetCharaList)
#DIM REF targetCharaList
#DIM ret
#DIM selectableCharaList,100 ;とりあえず100
ret = GET_RULED_CONTACTABLE_CHARAS("TALENT:index:창녀",selectableCharaList)
SIF ret == -1
	THROW 陥落キャラ判定領域がいっぱいになりました
ret = SORT_RULED_MAXPARAM_CHARA("ABL:index:욕망 * 10 + ABL:index:노출증 * 5 + ABL:index:자위중독 * 5 + ABL:index:정액중독 * 5 + ABL:index:섹스중독 * 6 + EXP:index:자위경험 + EXP:index:조교자위경험 + EXP:index:정액경험 + EXP:index:치욕쾌락경험 ",selectableCharaList,targetCharaList)

;同一インデックス番号で内部分岐させる場合に書く。またエンディング名称の枝番になる。基本空文字でいい
@SCENARIO_EVENT_GOODENDING_ENDING_PATTERN_3(targetChara)
#FUNCTIONS
#DIM targetChara
RETURNF ""

;追加で格納する情報があれば返す。
@SCENARIO_EVENT_GOODENDING_ENDING_TARGETCHARA_EXTRAINFO_3(targetChara,endingPattern)
#FUNCTIONS
#DIM targetChara
#DIMS endingPattern
RETURNF ""

;エンディング名称。エンディングメッセージの最後に表示
@SCENARIO_EVENT_GOODENDING_ENDING_NAME_3(masterSchoolIndex,targetChara,endingPattern)
#FUNCTIONS
#DIM masterSchoolIndex
#DIM targetChara
#DIMS endingPattern
RETURNF "음란単体エンド"

;エンディング選択肢
@SCENARIO_EVENT_GOODENDING_SELECTION_TEXT_3(masterSchoolIndex,targetChara,endingPattern)
#FUNCTIONS
#DIM masterSchoolIndex
#DIM targetChara
#DIMS endingPattern
RETURNF CALLNAME:targetChara + "専用の바이브を買う（음란エンド）"

;特定のオープニングを選んだ場合のみ発生する특수EDなら、そのオープニング番号を返す。オープニングに無関係なら-1を返す。
@SCENARIO_EVENT_GOODENDING_IS_SP_OPENING_PATTERN_3()
#FUNCTION
RETURNF -1

;特定のオープニングと借金ゼロ以外の条件がある場合、ここに書く。
;1を返せばエンディング選択可能
;学内キャラの総数と学外キャラ含めた総数(登場キャラ数ではない)及び陥落数は(엔딩조건제외を抜いたうえで)フレームワーク側から引数で渡される。
@SCENARIO_EVENT_GOODENDING_IS_ENDING_SELECTABLE_3(inschoolCount,inschoolFallenCount,totalSchoolCount,totalSchoolFallenCount,targetCharaList,endingPatternList)
#DIM inschoolCount
#DIM inschoolFallenCount
#DIM totalSchoolCount
#DIM totalSchoolFallenCount
#DIM REF targetCharaList
#DIMS REF endingPatternList
RETURN COUNT_RULED_CONTACTABLE_CHARAS("IS_SEXMIND(index)") == 1 && COUNT_RULED_CONTACTABLE_CHARAS("TALENT:index:창녀") > 0

;制覇のレベル。0 - 通常エンド。1 - 学園制覇エンド。2 - 学園完全制覇エンド
@SCENARIO_EVENT_GOODENDING_SEIHA_PATTERN_3()
#FUNCTION
RETURNF 0

@SCENARIO_EVENT_GOODENDING_ENDING_TEXT_3(masterSchoolIndex,targetNoList,endingPatternList,fallenInfoText,extraInfoText)
#DIM masterSchoolIndex
#DIM REF targetNoList
#DIMS REF endingPatternList
#DIMS REF fallenInfoText
#DIMS REF extraInfoText
TRYCCALLFORM KOJO_MESSAGE_ENDING_K{targetNoList:0}
	RETURN 0
CATCH
ENDCATCH

DRAWLINE
PRINTW ………………
PRINTW …………
PRINTW ……
PRINTFORMW 納金を済ませて屋敷に戻ると、%CSVNAME(targetNoList:0)%はベットの上で자위に耽っていたようだ
PRINTFORMW 一糸纏わぬ姿のまま、%CALLNAME:MASTER%に艶かしい視線を送っている
PRINTFORMW 早速とばかりに、今まで使っていたそれよりも一回り太くなった바이브を見せる
PRINTFORMW うっとりとした瞳で바이브を見つめると、%CSVCALLNAME(targetNoList:0)%は四つん這いになって、妖艶な声色で바이브をせがむ
PRINTFORMW 粘液に塗れた膣입はすんなりと바이브を受け入れ、%CSVCALLNAME(targetNoList:0)%を身悶えさせる
PRINTFORMW 艶やかな喘ぎ声、快感に悶える仕草、%CSVCALLNAME(targetNoList:0)%의 肢体のすべてが魅惑的に彩られていた
PRINTFORMW %CSVCALLNAME(targetNoList:0)%は物欲しそうな瞳で%마스터호칭을% 見つめている
PRINTFORMW %마스터호칭은%気づかぬ内に痛い程に勃起していた페니스を取り出すと、濡れた%CSVCALLNAME(targetNoList:0)%의 アヌスを貫いていった……


code:
;エンディングの存在判定。常に1を返す
@SCENARIO_EVENT_GOODENDING_IS_EXIST_4()
RETURN 1

;単体エンドなどで特定キャラを対象に判定を行う場合、引数のINIT済みリストに必要な数だけキャラ番号を格納して返す。NOへの変換はFW側でやる。不要ならそのまま返す
;複数人返す場合、最初のキャラがENDING_PATTERNとEXTRAINFO以外全ての関数で引数として渡される
@SCENARIO_EVENT_GOODENDING_ENDING_TARGETCHARAMAP_4(targetCharaList)
#DIM REF targetCharaList
#DIM ret
#DIM selectableCharaList,100 ;とりあえず100
ret = GET_RULED_CONTACTABLE_CHARAS("TALENT:index:예속",selectableCharaList)
SIF ret == -1
	THROW 陥落キャラ判定領域がいっぱいになりました
ret = SORT_RULED_MAXPARAM_CHARA("ABL:index:순종 * 10 + ABL:index:봉사정신 * 5 + ABL:index:마조끼 * 5 + EXP:index:고통쾌락경험 + EXP:index:봉사쾌락경험 + EXP:index:이상경험 * 7 - CFLAG:index:의존도",selectableCharaList,targetCharaList)

;同一インデックス番号で内部分岐させる場合に書く。またエンディング名称の枝番になる。基本空文字でいい
@SCENARIO_EVENT_GOODENDING_ENDING_PATTERN_4(targetChara)
#FUNCTIONS
#DIM targetChara
RETURNF ""

;追加で格納する情報があれば返す。
@SCENARIO_EVENT_GOODENDING_ENDING_TARGETCHARA_EXTRAINFO_4(targetChara,endingPattern)
#FUNCTIONS
#DIM targetChara
#DIMS endingPattern
RETURNF ""

;エンディング名称。エンディングメッセージの最後に表示
@SCENARIO_EVENT_GOODENDING_ENDING_NAME_4(masterSchoolIndex,targetChara,endingPattern)
#FUNCTIONS
#DIM masterSchoolIndex
#DIM targetChara
#DIMS endingPattern
RETURNF "복종単体エンド"

;エンディング選択肢
@SCENARIO_EVENT_GOODENDING_SELECTION_TEXT_4(masterSchoolIndex,targetChara,endingPattern)
#FUNCTIONS
#DIM masterSchoolIndex
#DIM targetChara
#DIMS endingPattern
RETURNF CALLNAME:targetChara + "用の개목걸이を買う（복종エンド）"

;特定のオープニングを選んだ場合のみ発生する특수EDなら、そのオープニング番号を返す。オープニングに無関係なら-1を返す。
@SCENARIO_EVENT_GOODENDING_IS_SP_OPENING_PATTERN_4()
#FUNCTION
RETURNF -1

;特定のオープニングと借金ゼロ以外の条件がある場合、ここに書く。
;1を返せばエンディング選択可能
;学内キャラの総数と学外キャラ含めた総数(登場キャラ数ではない)及び陥落数は(엔딩조건제외を抜いたうえで)フレームワーク側から引数で渡される。
@SCENARIO_EVENT_GOODENDING_IS_ENDING_SELECTABLE_4(inschoolCount,inschoolFallenCount,totalSchoolCount,totalSchoolFallenCount,targetCharaList,endingPatternList)
#DIM inschoolCount
#DIM inschoolFallenCount
#DIM totalSchoolCount
#DIM totalSchoolFallenCount
#DIM REF targetCharaList
#DIMS REF endingPatternList
RETURN COUNT_RULED_CONTACTABLE_CHARAS("IS_SURRENDER(index)") == 1 && COUNT_RULED_CONTACTABLE_CHARAS("TALENT:index:예속") > 0

;制覇のレベル。0 - 通常エンド。1 - 学園制覇エンド。2 - 学園完全制覇エンド
@SCENARIO_EVENT_GOODENDING_SEIHA_PATTERN_4()
#FUNCTION
RETURNF 0

@SCENARIO_EVENT_GOODENDING_ENDING_TEXT_4(masterSchoolIndex,targetNoList,endingPatternList,fallenInfoText,extraInfoText)
#DIM masterSchoolIndex
#DIM REF targetNoList
#DIMS REF endingPatternList
#DIMS REF fallenInfoText
#DIMS REF extraInfoText
TRYCCALLFORM KOJO_MESSAGE_ENDING_K{targetNoList:0}
	RETURN 0
CATCH
ENDCATCH

DRAWLINE
PRINTW ………………
PRINTW …………
PRINTW ……
PRINTFORMW 納金を済ませて屋敷に戻ると、%CSVNAME(targetNoList:0)%は丁寧に%마스터호칭을% 出迎えた
PRINTFORMW %CSVCALLNAME(targetNoList:0)%は、椅子に腰掛ける%CALLNAME:MASTER%의 傍らに立ち、命令を待っている
PRINTFORMW それを見た%마스터호칭은%%CSVCALLNAME(targetNoList:0)%を呼びつけると、買ってきたばかりの개목걸이を嵌めてやる
PRINTFORMW %CSVCALLNAME(targetNoList:0)%は自らの名の刻まれた개목걸이を撫でると笑みを浮かべた
PRINTFORMW その頬を撫でてやると、それがスイッチであるかのように%CSVCALLNAME(targetNoList:0)%は%CALLNAME:MASTER%への忠誠の言葉を紡いでいく
PRINTFORMW そして%마스터호칭이% 視線を下げると、%CSVCALLNAME(targetNoList:0)%は손際よく股間をまさぐり페니스を노출させた
PRINTFORMW %CSVCALLNAME(targetNoList:0)%は上目遣いで페니스に舌を這わせ、입に含み、헌신적に奉仕をしている
PRINTFORMW その頭を撫でて、%CSVCALLNAME(targetNoList:0)%は笑みを深めるのを見ると、%CALLNAME:MASTER%もまた笑みを深めていった……


code:
;エンディングの存在判定。常に1を返す
@SCENARIO_EVENT_GOODENDING_IS_EXIST_5()
RETURN 1

;単体エンドなどで特定キャラを対象に判定を行う場合、引数のINIT済みリストに必要な数だけキャラ番号を格納して返す。NOへの変換はFW側でやる。不要ならそのまま返す
;複数人返す場合、最初のキャラがENDING_PATTERNとEXTRAINFO以外全ての関数で引数として渡される
@SCENARIO_EVENT_GOODENDING_ENDING_TARGETCHARAMAP_5(targetCharaList)
#DIM REF targetCharaList
#DIM ret
#DIM selectableCharaList,100 ;とりあえず100
#DIM targetIndexList,5
#DIM index
ret = GET_RULED_CONTACTABLE_CHARAS("IS_UPPER_FALLEN(index) && NO:index != MASTER",selectableCharaList)
SIF ret == -1
	THROW 陥落キャラ判定領域がいっぱいになりました
ret = SORT_RULED_MAXPARAM_CHARA("ABL:index:순종 + ABL:index:욕망 + ABL:index:정신의존 / 2 + ABS(CFLAG:index:2) + EXP:index:피조교경험 / 10",selectableCharaList,targetCharaList)

;同一インデックス番号で内部分岐させる場合に書く。またエンディング名称の枝番になる。基本空文字でいい
@SCENARIO_EVENT_GOODENDING_ENDING_PATTERN_5(targetChara)
#FUNCTIONS
#DIM targetChara
RETURNF ""

;追加で格納する情報があれば返す。
@SCENARIO_EVENT_GOODENDING_ENDING_TARGETCHARA_EXTRAINFO_5(targetChara,endingPattern)
#FUNCTIONS
#DIM targetChara
#DIMS endingPattern
SELECTCASE 1
	CASE ABL:targetChara:Ｖ감각 > 5
		RETURNF "임신奴隷"
	CASE ABL:targetChara:Ａ감각 >= 5 && TALENT:targetChara:처녀
		RETURNF "애널奴隷"
	CASEELSE
		RETURNF "その他"
ENDSELECT

;エンディング名称。エンディングメッセージの最後に表示
@SCENARIO_EVENT_GOODENDING_ENDING_NAME_5(masterSchoolIndex,targetChara,endingPattern)
#FUNCTIONS
#DIM masterSchoolIndex
#DIM targetChara
#DIMS endingPattern
RETURNF "ハーレムエンド"

;エンディング選択肢
@SCENARIO_EVENT_GOODENDING_SELECTION_TEXT_5(masterSchoolIndex,targetChara,endingPattern)
#FUNCTIONS
#DIM masterSchoolIndex
#DIM targetChara
#DIMS endingPattern
RETURNF "館の権利書を買う（ハーレムエンド）"

;特定のオープニングを選んだ場合のみ発生する특수EDなら、そのオープニング番号を返す。オープニングに無関係なら-1を返す。
@SCENARIO_EVENT_GOODENDING_IS_SP_OPENING_PATTERN_5()
#FUNCTION
RETURNF -1

;特定のオープニングと借金ゼロ以外の条件がある場合、ここに書く。
;1を返せばエンディング選択可能
;学内キャラの総数と学外キャラ含めた総数(登場キャラ数ではない)及び陥落数は(엔딩조건제외を抜いたうえで)フレームワーク側から引数で渡される。
@SCENARIO_EVENT_GOODENDING_IS_ENDING_SELECTABLE_5(inschoolCount,inschoolFallenCount,totalSchoolCount,totalSchoolFallenCount,targetCharaList,endingPatternList)
#DIM inschoolCount
#DIM inschoolFallenCount
#DIM totalSchoolCount
#DIM totalSchoolFallenCount
#DIM REF targetCharaList
#DIMS REF endingPatternList
RETURN COUNT_RULED_CONTACTABLE_CHARAS("IS_UPPER_FALLEN(index)") > 0 && COUNT_RULED_CONTACTABLE_CHARAS("IS_FALLEN(index)") >= 5

;制覇のレベル。0 - 通常エンド。1 - 学園制覇エンド。2 - 学園完全制覇エンド
@SCENARIO_EVENT_GOODENDING_SEIHA_PATTERN_5()
#FUNCTION
RETURNF 0

@SCENARIO_EVENT_GOODENDING_ENDING_TEXT_5(masterSchoolIndex,targetNoList,endingPatternList,fallenInfoText,extraInfoText)
#DIM masterSchoolIndex
#DIM REF targetNoList
#DIMS REF endingPatternList
#DIMS REF fallenInfoText
#DIMS REF extraInfoText
REPEAT CHARANUM
	IF CFLAG:COUNT:21 == 2
		TARGET = COUNT
		CALL KOJO_MESSAGE_ENDING
	ENDIF
	SIF FLAG:5 == 9
		BREAK
REND
SIF FLAG:5 == 9
	RETURN 0

PRINTW 納金を済ませて屋敷に戻っていた
PRINTFORMW %마스터호칭은%ここでの生活を満喫していた
PRINTW 当初はどうなる事かとも思ったが、慣れてみるとどうという事もない
PRINTFORMW 何よりここには%마스터호칭을% 慕い、どんな命令にも応えてくれる少女達がいるのだ
;임신奴隷
SELECTCASE extraInfoText:0
	CASE "임신奴隷"
		PRINTFORMW 中でも%CALLNAME:MASTER%의 お気に入りは%CSVCALLNAME(targetNoList:0)%だった
		PRINTFORMW %CSVCALLNAME(targetNoList:0)%は%CALLNAME:MASTER%に질내を開発され、すっかりその虜となっていた
		PRINTFORMW %CSVCALLNAME(targetNoList:0)%は何度も子宮に注がれ%CALLNAME:MASTER%의 子を임신していたが
		PRINTW 大きな腹をしながらも我慢できないらしく、질내への挿入を望んでくる
		PRINTW 我が子への愛情と背徳の快楽の狭間で揺れるその姿に정욕を刺激され
		PRINTFORMW %마스터호칭은%屹立した肉棒を%CSVCALLNAME(targetNoList:0)%의 질내へとうずめていった…
	CASE "애널奴隷"
		PRINTFORMW 中でも%CALLNAME:MASTER%의 お気に入りは%CSVCALLNAME(targetNoList:0)%だった
		PRINTFORMW %CSVCALLNAME(targetNoList:0)%はいまだ처녀のままだ
		PRINTFORMW しかし%CALLNAME:MASTER%의 손で後ろの穴を開発され、その快感にとりつかれてしまった
		PRINTW 今では애널での性交にこの上ない愉悦を感じるようになっている
		PRINTFORMW 처녀のままで애널に挿入され、直腸まで犯されながら絶頂に達する%CSVCALLNAME(targetNoList:0)%
		PRINTW その도착적な姿に強烈な興奮を깨우침えながら、腸内に白濁液を注ぎ込んでいった…
	CASEELSE
		PRINTFORMW %마스터호칭이% 指示しなくても、少女たちは손で、가슴で、あるいは입で%CALLNAME:MASTER%に奉仕する
		PRINTFORMW 積極的に%마스터호칭을% 求め、与えられる快感に敏感に反応してくる
		PRINTW さて、次は誰を抱いてやろうか？
		PRINTFORMW %마스터호칭은%、並んで%마스터호칭을% 待つ少女たちの中から%CSVCALLNAME(targetNoList:0)%に目をつけた
		PRINTFORMW ぐっしょりと股間を濡らし、期待するように%마스터호칭을% 見上げるその姿に誘われ
		PRINTFORMW %마스터호칭은%ゆっくりと%CSVCALLNAME(targetNoList:0)%に近づいていった…
ENDSELECT


code:
;エンディングの存在判定。常に1を返す
@SCENARIO_EVENT_GOODENDING_IS_EXIST_6()
RETURN 1

;単体エンドなどで特定キャラを対象に判定を行う場合、引数のINIT済みリストに必要な数だけキャラ番号を格納して返す。NOへの変換はFW側でやる。不要ならそのまま返す
;複数人返す場合、最初のキャラがENDING_PATTERNとEXTRAINFO以外全ての関数で引数として渡される
@SCENARIO_EVENT_GOODENDING_ENDING_TARGETCHARAMAP_6(targetCharaList)
#DIM REF targetCharaList
RETURN

;同一インデックス番号で内部分岐させる場合に書く。またエンディング名称の枝番になる。基本空文字でいい
@SCENARIO_EVENT_GOODENDING_ENDING_PATTERN_6(targetChara)
#FUNCTIONS
#DIM targetChara
RETURNF ""

;追加で格納する情報があれば返す。
@SCENARIO_EVENT_GOODENDING_ENDING_TARGETCHARA_EXTRAINFO_6(targetChara,endingPattern)
#FUNCTIONS
#DIM targetChara
#DIMS endingPattern
RETURNF ""

;エンディング名称。エンディングメッセージの最後に表示
@SCENARIO_EVENT_GOODENDING_ENDING_NAME_6(masterSchoolIndex,targetChara,endingPattern)
#FUNCTIONS
#DIM masterSchoolIndex
#DIM targetChara
#DIMS endingPattern
RETURNF "社交界エンド"

;エンディング選択肢
@SCENARIO_EVENT_GOODENDING_SELECTION_TEXT_6(masterSchoolIndex,targetChara,endingPattern)
#FUNCTIONS
#DIM masterSchoolIndex
#DIM targetChara
#DIMS endingPattern
RETURNF "館の権利書を買う（社交界エンド）"

;特定のオープニングを選んだ場合のみ発生する특수EDなら、そのオープニング番号を返す。オープニングに無関係なら-1を返す。
@SCENARIO_EVENT_GOODENDING_IS_SP_OPENING_PATTERN_6()
#FUNCTION
RETURNF -1

;特定のオープニングと借金ゼロ以外の条件がある場合、ここに書く。
;1を返せばエンディング選択可能
;学内キャラの総数と学外キャラ含めた総数(登場キャラ数ではない)及び陥落数は(엔딩조건제외を抜いたうえで)フレームワーク側から引数で渡される。
@SCENARIO_EVENT_GOODENDING_IS_ENDING_SELECTABLE_6(inschoolCount,inschoolFallenCount,totalSchoolCount,totalSchoolFallenCount,targetCharaList,endingPatternList)
#DIM inschoolCount
#DIM inschoolFallenCount
#DIM totalSchoolCount
#DIM totalSchoolFallenCount
#DIM REF targetCharaList
#DIMS REF endingPatternList
RETURN COUNT_RULED_CONTACTABLE_CHARAS("IS_FALLEN(index) && TALENT:index:영애") >= 6

;制覇のレベル。0 - 通常エンド。1 - 学園制覇エンド。2 - 学園完全制覇エンド
@SCENARIO_EVENT_GOODENDING_SEIHA_PATTERN_6()
#FUNCTION
RETURNF 0

@SCENARIO_EVENT_GOODENDING_ENDING_TEXT_6(masterSchoolIndex,targetNoList,endingPatternList,fallenInfoText,extraInfoText)
#DIM masterSchoolIndex
#DIM REF targetNoList
#DIMS REF endingPatternList
#DIMS REF fallenInfoText
#DIMS REF extraInfoText
PRINTFORMW %CALLNAME:MASTER%의 손に落ちた少女たちの中には、資産家の영애と言える娘たちが多く含まれていた。
PRINTFORMW それはつまり、%CALLNAME:MASTER%의 손には、多くの資産家に対する強力な影響力があるという事を意味する。
PRINTW これを利用しない손はないだろう‥‥
PRINTFORMW 自由になってからという物、%마스터호칭은%裏社会のコネと、영애たちへの影響力を生かして徐々に社会への影響力を強めて行った。
PRINTFORMW %CALLNAME:MASTER%의 意に従って働いた영애たちには、無論十分な報酬を。
PRINTFORMW %마스터호칭은%携帯を손に取った。股を濡らして待っているだろう영애たちの期待に応えるために。


code:
;エンディングの存在判定。常に1を返す
@SCENARIO_EVENT_GOODENDING_IS_EXIST_7()
RETURN 1

;単体エンドなどで特定キャラを対象に判定を行う場合、引数のINIT済みリストに必要な数だけキャラ番号を格納して返す。NOへの変換はFW側でやる。不要ならそのまま返す
;複数人返す場合、最初のキャラがENDING_PATTERNとEXTRAINFO以外全ての関数で引数として渡される
@SCENARIO_EVENT_GOODENDING_ENDING_TARGETCHARAMAP_7(targetCharaList)
#DIM REF targetCharaList
RETURN

;同一インデックス番号で内部分岐させる場合に書く。またエンディング名称の枝番になる。基本空文字でいい
@SCENARIO_EVENT_GOODENDING_ENDING_PATTERN_7(targetChara)
#FUNCTIONS
#DIM targetChara
RETURNF ""

;追加で格納する情報があれば返す。
@SCENARIO_EVENT_GOODENDING_ENDING_TARGETCHARA_EXTRAINFO_7(targetChara,endingPattern)
#FUNCTIONS
#DIM targetChara
#DIMS endingPattern
RETURNF ""

;エンディング名称。エンディングメッセージの最後に表示
@SCENARIO_EVENT_GOODENDING_ENDING_NAME_7(masterSchoolIndex,targetChara,endingPattern)
#FUNCTIONS
#DIM masterSchoolIndex
#DIM targetChara
#DIMS endingPattern
RETURNF "芸能界エンド"

;エンディング選択肢
@SCENARIO_EVENT_GOODENDING_SELECTION_TEXT_7(masterSchoolIndex,targetChara,endingPattern)
#FUNCTIONS
#DIM masterSchoolIndex
#DIM targetChara
#DIMS endingPattern
RETURNF "芸能界に손を回す（芸能界エンド）"

;特定のオープニングを選んだ場合のみ発生する특수EDなら、そのオープニング番号を返す。オープニングに無関係なら-1を返す。
@SCENARIO_EVENT_GOODENDING_IS_SP_OPENING_PATTERN_7()
#FUNCTION
RETURNF -1

;特定のオープニングと借金ゼロ以外の条件がある場合、ここに書く。
;1を返せばエンディング選択可能
;学内キャラの総数と学外キャラ含めた総数(登場キャラ数ではない)及び陥落数は(엔딩조건제외を抜いたうえで)フレームワーク側から引数で渡される。
@SCENARIO_EVENT_GOODENDING_IS_ENDING_SELECTABLE_7(inschoolCount,inschoolFallenCount,totalSchoolCount,totalSchoolFallenCount,targetCharaList,endingPatternList)
#DIM inschoolCount
#DIM inschoolFallenCount
#DIM totalSchoolCount
#DIM totalSchoolFallenCount
#DIM REF targetCharaList
#DIMS REF endingPatternList
RETURN COUNT_RULED_CONTACTABLE_CHARAS("IS_FALLEN(index) && TALENT:index:연예인") >= 5

;制覇のレベル。0 - 通常エンド。1 - 学園制覇エンド。2 - 学園完全制覇エンド
@SCENARIO_EVENT_GOODENDING_SEIHA_PATTERN_7()
#FUNCTION
RETURNF 0

@SCENARIO_EVENT_GOODENDING_ENDING_TEXT_7(masterSchoolIndex,targetNoList,endingPatternList,fallenInfoText,extraInfoText)
#DIM masterSchoolIndex
#DIM REF targetNoList
#DIMS REF endingPatternList
#DIMS REF fallenInfoText
#DIMS REF extraInfoText
PRINTFORMW %CALLNAME:MASTER%의 손に落ちた少女たちの中には、芸能界の인기者が多く含まれていた。
PRINTFORMW それはつまり、%CALLNAME:MASTER%의 손には、芸能界に対する強力な影響力があるという事を意味する。
PRINTW これを利用しない손はないだろう‥‥
PRINTFORMW 自由になってからという物、%마스터호칭은%裏社会のコネと、アイドルたちへの影響力を生かして徐々に芸能会への影響力を強めて行った。
PRINTFORMW %마스터호칭은%テレビを付けた。　画面では、見慣れた顔が澄ました顔で、ラブソングを熱唱している。
PRINTFORMW 誰も知りはしないだろうが、この歌は%CALLNAME:MASTER%に捧げられたものなのだ。


code:
;エンディングの存在判定。常に1を返す
@SCENARIO_EVENT_GOODENDING_IS_EXIST_8()
RETURN 1

;単体エンドなどで特定キャラを対象に判定を行う場合、引数のINIT済みリストに必要な数だけキャラ番号を格納して返す。NOへの変換はFW側でやる。不要ならそのまま返す
;複数人返す場合、最初のキャラがENDING_PATTERNとEXTRAINFO以外全ての関数で引数として渡される
@SCENARIO_EVENT_GOODENDING_ENDING_TARGETCHARAMAP_8(targetCharaList)
#DIM REF targetCharaList
RETURN

;同一インデックス番号で内部分岐させる場合に書く。またエンディング名称の枝番になる。基本空文字でいい
@SCENARIO_EVENT_GOODENDING_ENDING_PATTERN_8(targetChara)
#FUNCTIONS
#DIM targetChara
RETURNF ""

;追加で格納する情報があれば返す。
@SCENARIO_EVENT_GOODENDING_ENDING_TARGETCHARA_EXTRAINFO_8(targetChara,endingPattern)
#FUNCTIONS
#DIM targetChara
#DIMS endingPattern
RETURNF ""

;エンディング名称。エンディングメッセージの最後に表示
@SCENARIO_EVENT_GOODENDING_ENDING_NAME_8(masterSchoolIndex,targetChara,endingPattern)
#FUNCTIONS
#DIM masterSchoolIndex
#DIM targetChara
#DIMS endingPattern
RETURNF "間男ハーレムエンド"

;エンディング選択肢
@SCENARIO_EVENT_GOODENDING_SELECTION_TEXT_8(masterSchoolIndex,targetChara,endingPattern)
#FUNCTIONS
#DIM masterSchoolIndex
#DIM targetChara
#DIMS endingPattern
RETURNF "館の権利書を買う（間男ハーレムエンド）"

;特定のオープニングを選んだ場合のみ発生する특수EDなら、そのオープニング番号を返す。オープニングに無関係なら-1を返す。
@SCENARIO_EVENT_GOODENDING_IS_SP_OPENING_PATTERN_8()
#FUNCTION
RETURNF -1

;特定のオープニングと借金ゼロ以外の条件がある場合、ここに書く。
;1を返せばエンディング選択可能
;学内キャラの総数と学外キャラ含めた総数(登場キャラ数ではない)及び陥落数は(엔딩조건제외を抜いたうえで)フレームワーク側から引数で渡される。
@SCENARIO_EVENT_GOODENDING_IS_ENDING_SELECTABLE_8(inschoolCount,inschoolFallenCount,totalSchoolCount,totalSchoolFallenCount,targetCharaList,endingPatternList)
#DIM inschoolCount
#DIM inschoolFallenCount
#DIM totalSchoolCount
#DIM totalSchoolFallenCount
#DIM REF targetCharaList
#DIMS REF endingPatternList
RETURN COUNT_RULED_CONTACTABLE_CHARAS("IS_FALLEN(index) && TALENT:index:남편있음") >= 5

;制覇のレベル。0 - 通常エンド。1 - 学園制覇エンド。2 - 学園完全制覇エンド
@SCENARIO_EVENT_GOODENDING_SEIHA_PATTERN_8()
#FUNCTION
RETURNF 0

@SCENARIO_EVENT_GOODENDING_ENDING_TEXT_8(masterSchoolIndex,targetNoList,endingPatternList,fallenInfoText,extraInfoText)
#DIM masterSchoolIndex
#DIM REF targetNoList
#DIMS REF endingPatternList
#DIMS REF fallenInfoText
#DIMS REF extraInfoText
PRINTFORMW %마스터호칭은%多くの女と不倫関係を築いた。
PRINTFORMW それはつまり、社会的責任を負わないままで、快楽を貪れるということだ。
PRINTW この愉快な状況を利用しない손はないだろう・・・
PRINTFORMW 自由になってからという物、%마스터호칭은%かつて関係を持った女達からの密かな援助によって、気楽に生きている。
PRINTFORMW 他の男に%마스터호칭과% の関係を隠して暮らしている女もいるが、%CALLNAME:MASTER%に与えられた快楽が忘れられず、密かに%마스터호칭과% の情事を求めてくる。
PRINTFORMW 임신を報告する女達の中には、愛する者との間の子ではなく、%마스터호칭과% の子どもだと耳打ちする者もいた。
PRINTFORMW 心も肉体も%CALLNAME:MASTER%に捧げ、裏切りすらも快楽のスパイスとする女達と%마스터호칭과% の関係はまだまだ続く・・・


code:
;エンディングの存在判定。常に1を返す
@SCENARIO_EVENT_GOODENDING_IS_EXIST_9()
RETURN 1

;単体エンドなどで特定キャラを対象に判定を行う場合、引数のINIT済みリストに必要な数だけキャラ番号を格納して返す。NOへの変換はFW側でやる。不要ならそのまま返す
;複数人返す場合、最初のキャラがENDING_PATTERNとEXTRAINFO以外全ての関数で引数として渡される
@SCENARIO_EVENT_GOODENDING_ENDING_TARGETCHARAMAP_9(targetCharaList)
#DIM REF targetCharaList
RETURN

;同一インデックス番号で内部分岐させる場合に書く。またエンディング名称の枝番になる。基本空文字でいい
@SCENARIO_EVENT_GOODENDING_ENDING_PATTERN_9(targetChara)
#FUNCTIONS
#DIM targetChara
RETURNF ""

;追加で格納する情報があれば返す。
@SCENARIO_EVENT_GOODENDING_ENDING_TARGETCHARA_EXTRAINFO_9(targetChara,endingPattern)
#FUNCTIONS
#DIM targetChara
#DIMS endingPattern
RETURNF ""

;エンディング名称。エンディングメッセージの最後に表示
@SCENARIO_EVENT_GOODENDING_ENDING_NAME_9(masterSchoolIndex,targetChara,endingPattern)
#FUNCTIONS
#DIM masterSchoolIndex
#DIM targetChara
#DIMS endingPattern
RETURNF "탐정エンド"

;エンディング選択肢
@SCENARIO_EVENT_GOODENDING_SELECTION_TEXT_9(masterSchoolIndex,targetChara,endingPattern)
#FUNCTIONS
#DIM masterSchoolIndex
#DIM targetChara
#DIMS endingPattern
RETURNF "탐정事務所の権利書を買う（탐정エンド）"

;特定のオープニングを選んだ場合のみ発生する특수EDなら、そのオープニング番号を返す。オープニングに無関係なら-1を返す。
@SCENARIO_EVENT_GOODENDING_IS_SP_OPENING_PATTERN_9()
#FUNCTION
RETURNF -1

;特定のオープニングと借金ゼロ以外の条件がある場合、ここに書く。
;1を返せばエンディング選択可能
;学内キャラの総数と学外キャラ含めた総数(登場キャラ数ではない)及び陥落数は(엔딩조건제외を抜いたうえで)フレームワーク側から引数で渡される。
@SCENARIO_EVENT_GOODENDING_IS_ENDING_SELECTABLE_9(inschoolCount,inschoolFallenCount,totalSchoolCount,totalSchoolFallenCount,targetCharaList,endingPatternList)
#DIM inschoolCount
#DIM inschoolFallenCount
#DIM totalSchoolCount
#DIM totalSchoolFallenCount
#DIM REF targetCharaList
#DIMS REF endingPatternList
RETURN COUNT_RULED_CONTACTABLE_CHARAS("IS_FALLEN(index) && TALENT:index:탐정") >= 5

;制覇のレベル。0 - 通常エンド。1 - 学園制覇エンド。2 - 学園完全制覇エンド
@SCENARIO_EVENT_GOODENDING_SEIHA_PATTERN_9()
#FUNCTION
RETURNF 0

@SCENARIO_EVENT_GOODENDING_ENDING_TEXT_9(masterSchoolIndex,targetNoList,endingPatternList,fallenInfoText,extraInfoText)
#DIM masterSchoolIndex
#DIM REF targetNoList
#DIMS REF endingPatternList
#DIMS REF fallenInfoText
#DIMS REF extraInfoText
PRINTFORMW %CALLNAME:MASTER%의 손に落ちた女達の中には、腕利きの탐정が多く含まれていた。
PRINTFORMW それはつまり、%CALLNAME:MASTER%의 손には、いかなる秘密も探れる捜査能力があるという事を意味する。
PRINTW これを利用しない손はないだろう‥‥
PRINTFORMW 自由になってからというもの、%마스터호칭은%裏社会の客をターゲットにした탐정事務所を開設した。
PRINTFORMW 借金の返済のために磨いた情報収集力は、有能な助손達の손伝いもあって、もはや裏の世界でも一定の顧客を獲得していた。
PRINTFORMW 今や%마스터호칭은%、借金に苦しむ学生ではない。裏社会でも두려움られる腕利きの탐정事務所の所長だ。
PRINTFORMW %마스터호칭은%調査資料に目を通しながら、助손に賞賛の言葉をかけ、今夜の予定を開けておくよう指示した。
PRINTFORMW 澄ました顔で頷いた助손の瞳が、一瞬だけ夜に与えられるであろう快楽に濁ったのを、優れた観察眼を손に入れた%마스터호칭은%見逃さなかった。


code:
;エンディングの存在判定。常に1を返す
@SCENARIO_EVENT_GOODENDING_IS_EXIST_10()
RETURN 1

;単体エンドなどで特定キャラを対象に判定を行う場合、引数のINIT済みリストに必要な数だけキャラ番号を格納して返す。NOへの変換はFW側でやる。不要ならそのまま返す
;複数人返す場合、最初のキャラがENDING_PATTERNとEXTRAINFO以外全ての関数で引数として渡される
@SCENARIO_EVENT_GOODENDING_ENDING_TARGETCHARAMAP_10(targetCharaList)
#DIM REF targetCharaList
RETURN

;同一インデックス番号で内部分岐させる場合に書く。またエンディング名称の枝番になる。基本空文字でいい
@SCENARIO_EVENT_GOODENDING_ENDING_PATTERN_10(targetChara)
#FUNCTIONS
#DIM targetChara
RETURNF ""

;追加で格納する情報があれば返す。
@SCENARIO_EVENT_GOODENDING_ENDING_TARGETCHARA_EXTRAINFO_10(targetChara,endingPattern)
#FUNCTIONS
#DIM targetChara
#DIMS endingPattern
RETURNF ""

;エンディング名称。エンディングメッセージの最後に表示
@SCENARIO_EVENT_GOODENDING_ENDING_NAME_10(masterSchoolIndex,targetChara,endingPattern)
#FUNCTIONS
#DIM masterSchoolIndex
#DIM targetChara
#DIMS endingPattern
RETURNF "교사エンド"

;エンディング選択肢
@SCENARIO_EVENT_GOODENDING_SELECTION_TEXT_10(masterSchoolIndex,targetChara,endingPattern)
#FUNCTIONS
#DIM masterSchoolIndex
#DIM targetChara
#DIMS endingPattern
RETURNF "オフィスビルの権利書を買う（교사エンド）"

;特定のオープニングを選んだ場合のみ発生する특수EDなら、そのオープニング番号を返す。オープニングに無関係なら-1を返す。
@SCENARIO_EVENT_GOODENDING_IS_SP_OPENING_PATTERN_10()
#FUNCTION
RETURNF -1

;特定のオープニングと借金ゼロ以外の条件がある場合、ここに書く。
;1を返せばエンディング選択可能
;学内キャラの総数と学外キャラ含めた総数(登場キャラ数ではない)及び陥落数は(엔딩조건제외を抜いたうえで)フレームワーク側から引数で渡される。
@SCENARIO_EVENT_GOODENDING_IS_ENDING_SELECTABLE_10(inschoolCount,inschoolFallenCount,totalSchoolCount,totalSchoolFallenCount,targetCharaList,endingPatternList)
#DIM inschoolCount
#DIM inschoolFallenCount
#DIM totalSchoolCount
#DIM totalSchoolFallenCount
#DIM REF targetCharaList
#DIMS REF endingPatternList
RETURN COUNT_RULED_CONTACTABLE_CHARAS("IS_FALLEN(index) && TALENT:index:교사") >= 5

;制覇のレベル。0 - 通常エンド。1 - 学園制覇エンド。2 - 学園完全制覇エンド
@SCENARIO_EVENT_GOODENDING_SEIHA_PATTERN_10()
#FUNCTION
RETURNF 0

@SCENARIO_EVENT_GOODENDING_ENDING_TEXT_10(masterSchoolIndex,targetNoList,endingPatternList,fallenInfoText,extraInfoText)
#DIM masterSchoolIndex
#DIM REF targetNoList
#DIMS REF endingPatternList
#DIMS REF fallenInfoText
#DIMS REF extraInfoText
PRINTFORMW %CALLNAME:MASTER%의 손に落ちた女達の中には、교사が多く含まれていた。
PRINTFORMW それはつまり、%CALLNAME:MASTER%의 손には、年頃の学生の個人情報を簡単に集める力があるという事を意味する。
PRINTW これを利用しない손はないだろう‥‥
PRINTFORMW 自由になってからというもの%마스터호칭은%、より効率良く女を손中に収める손段を作った。
PRINTFORMW 学校で教채찍をとっている女達に言い含め、これは、という生徒をリストアップさせ、情報を献上させる。
PRINTFORMW 교사と言う立場であれば、家庭環境から、指導歴、成績や友人関係、連絡先や身体測定の結果まで、通常では知りえないことも容易に손に入る。
PRINTFORMW その上、生徒は毎年入学してくる。危険な손段を取らずとも、%CALLNAME:MASTER%にとって都合のいい生徒は必ずいる。
PRINTFORMW 現に今、%CALLNAME:MASTER%의 上で腰を振っている女も、そうやって손に入れた女だ。調教が終わり、%CALLNAME:MASTER%に奉仕することに喜びすら感じている。
PRINTFORMW 隣には、その生徒を連れてきた교사の姿もある。その目は욕정しきっており、%CALLNAME:MASTER%의 くれるご褒美を待ちかね、自ら秘唇を慰めて準備している。
PRINTFORMW %CALLNAME:MASTER%に奉仕し、%CALLNAME:MASTER%의 為に교사になり、そして次の獲物を差し出す。
PRINTFORMW このサイクルは、%CALLNAME:MASTER%의 욕망が尽きぬ限り終わることはないだろう・・・


code:
;エンディングの存在判定。常に1を返す
@SCENARIO_EVENT_GOODENDING_IS_EXIST_11()
RETURN 1

;単体エンドなどで特定キャラを対象に判定を行う場合、引数のINIT済みリストに必要な数だけキャラ番号を格納して返す。NOへの変換はFW側でやる。不要ならそのまま返す
;複数人返す場合、最初のキャラがENDING_PATTERNとEXTRAINFO以外全ての関数で引数として渡される
@SCENARIO_EVENT_GOODENDING_ENDING_TARGETCHARAMAP_11(targetCharaList)
#DIM REF targetCharaList
RETURN

;同一インデックス番号で内部分岐させる場合に書く。またエンディング名称の枝番になる。基本空文字でいい
@SCENARIO_EVENT_GOODENDING_ENDING_PATTERN_11(targetChara)
#FUNCTIONS
#DIM targetChara
RETURNF ""

;追加で格納する情報があれば返す。
@SCENARIO_EVENT_GOODENDING_ENDING_TARGETCHARA_EXTRAINFO_11(targetChara,endingPattern)
#FUNCTIONS
#DIM targetChara
#DIMS endingPattern
RETURNF ""

;エンディング名称。エンディングメッセージの最後に表示
@SCENARIO_EVENT_GOODENDING_ENDING_NAME_11(masterSchoolIndex,targetChara,endingPattern)
#FUNCTIONS
#DIM masterSchoolIndex
#DIM targetChara
#DIMS endingPattern
RETURNF "로봇소녀エンド"

;エンディング選択肢
@SCENARIO_EVENT_GOODENDING_SELECTION_TEXT_11(masterSchoolIndex,targetChara,endingPattern)
#FUNCTIONS
#DIM masterSchoolIndex
#DIM targetChara
#DIMS endingPattern
RETURNF "プラントの権利書を買う（로봇소녀エンド）"

;特定のオープニングを選んだ場合のみ発生する특수EDなら、そのオープニング番号を返す。オープニングに無関係なら-1を返す。
@SCENARIO_EVENT_GOODENDING_IS_SP_OPENING_PATTERN_11()
#FUNCTION
RETURNF -1

;特定のオープニングと借金ゼロ以外の条件がある場合、ここに書く。
;1を返せばエンディング選択可能
;学内キャラの総数と学外キャラ含めた総数(登場キャラ数ではない)及び陥落数は(엔딩조건제외を抜いたうえで)フレームワーク側から引数で渡される。
@SCENARIO_EVENT_GOODENDING_IS_ENDING_SELECTABLE_11(inschoolCount,inschoolFallenCount,totalSchoolCount,totalSchoolFallenCount,targetCharaList,endingPatternList)
#DIM inschoolCount
#DIM inschoolFallenCount
#DIM totalSchoolCount
#DIM totalSchoolFallenCount
#DIM REF targetCharaList
#DIMS REF endingPatternList
RETURN COUNT_RULED_CONTACTABLE_CHARAS("IS_FALLEN(index) && TALENT:index:로봇소녀") >= 5

;制覇のレベル。0 - 通常エンド。1 - 学園制覇エンド。2 - 学園完全制覇エンド
@SCENARIO_EVENT_GOODENDING_SEIHA_PATTERN_11()
#FUNCTION
RETURNF 0

@SCENARIO_EVENT_GOODENDING_ENDING_TEXT_11(masterSchoolIndex,targetNoList,endingPatternList,fallenInfoText,extraInfoText)
#DIM masterSchoolIndex
#DIM REF targetNoList
#DIMS REF endingPatternList
#DIMS REF fallenInfoText
#DIMS REF extraInfoText
PRINTFORMW %CALLNAME:MASTER%의 손に落ちた女達の中には、機械の体を持つ少女が多く含まれていた。
PRINTFORMW それはつまり、%CALLNAME:MASTER%의 손の中にある少女達は、永遠に変わらない美貌と肉体を持っているという事を意味する。
PRINTW ・・・%마스터호칭과% 少女達が出会ってから、どれほどの時間が経っただろう。
PRINTFORMW %CALLNAME:MASTER%의 隣に侍る少女達は、出会った時と同じく、今も変わらない美貌と肉体で%마스터호칭을% 楽しませてくれる。
PRINTFORMW しかし、その体の内部は%마스터호칭과% の数え切れないの情事によって、開発され尽くし、%CALLNAME:MASTER%に奉仕することが至上の使命とインプットされている。
PRINTFORMW %CALLNAME:MASTER%に対する少女達の奉仕は終わることは無い・・・


code:
;エンディングの存在判定。常に1を返す
@SCENARIO_EVENT_GOODENDING_IS_EXIST_12()
RETURN 1

;単体エンドなどで特定キャラを対象に判定を行う場合、引数のINIT済みリストに必要な数だけキャラ番号を格納して返す。NOへの変換はFW側でやる。不要ならそのまま返す
;複数人返す場合、最初のキャラがENDING_PATTERNとEXTRAINFO以外全ての関数で引数として渡される
@SCENARIO_EVENT_GOODENDING_ENDING_TARGETCHARAMAP_12(targetCharaList)
#DIM REF targetCharaList
RETURN

;同一インデックス番号で内部分岐させる場合に書く。またエンディング名称の枝番になる。基本空文字でいい
@SCENARIO_EVENT_GOODENDING_ENDING_PATTERN_12(targetChara)
#FUNCTIONS
#DIM targetChara
RETURNF ""

;追加で格納する情報があれば返す。
@SCENARIO_EVENT_GOODENDING_ENDING_TARGETCHARA_EXTRAINFO_12(targetChara,endingPattern)
#FUNCTIONS
#DIM targetChara
#DIMS endingPattern
RETURNF ""

;エンディング名称。エンディングメッセージの最後に表示
@SCENARIO_EVENT_GOODENDING_ENDING_NAME_12(masterSchoolIndex,targetChara,endingPattern)
#FUNCTIONS
#DIM masterSchoolIndex
#DIM targetChara
#DIMS endingPattern
RETURNF "AV녀エンド"

;エンディング選択肢
@SCENARIO_EVENT_GOODENDING_SELECTION_TEXT_12(masterSchoolIndex,targetChara,endingPattern)
#FUNCTIONS
#DIM masterSchoolIndex
#DIM targetChara
#DIMS endingPattern
RETURNF "撮影スタジオの権利書を買う（AV녀エンド）"

;特定のオープニングを選んだ場合のみ発生する특수EDなら、そのオープニング番号を返す。オープニングに無関係なら-1を返す。
@SCENARIO_EVENT_GOODENDING_IS_SP_OPENING_PATTERN_12()
#FUNCTION
RETURNF -1

;特定のオープニングと借金ゼロ以外の条件がある場合、ここに書く。
;1を返せばエンディング選択可能
;学内キャラの総数と学外キャラ含めた総数(登場キャラ数ではない)及び陥落数は(엔딩조건제외を抜いたうえで)フレームワーク側から引数で渡される。
@SCENARIO_EVENT_GOODENDING_IS_ENDING_SELECTABLE_12(inschoolCount,inschoolFallenCount,totalSchoolCount,totalSchoolFallenCount,targetCharaList,endingPatternList)
#DIM inschoolCount
#DIM inschoolFallenCount
#DIM totalSchoolCount
#DIM totalSchoolFallenCount
#DIM REF targetCharaList
#DIMS REF endingPatternList
RETURN COUNT_RULED_CONTACTABLE_CHARAS("IS_FALLEN(index) && TALENT:index:AV녀") >= 5

;制覇のレベル。0 - 通常エンド。1 - 学園制覇エンド。2 - 学園完全制覇エンド
@SCENARIO_EVENT_GOODENDING_SEIHA_PATTERN_12()
#FUNCTION
RETURNF 0

@SCENARIO_EVENT_GOODENDING_ENDING_TEXT_12(masterSchoolIndex,targetNoList,endingPatternList,fallenInfoText,extraInfoText)
#DIM masterSchoolIndex
#DIM REF targetNoList
#DIMS REF endingPatternList
#DIMS REF fallenInfoText
#DIMS REF extraInfoText
PRINTFORMW %CALLNAME:MASTER%의 손に落ちた女達の中には、AV녀として有名な少女が多く含まれていた。
PRINTFORMW それはつまり、%CALLNAME:MASTER%의 손の中にある少女達を使えばいくらでも上質なAVを撮影できるという事を意味する。
PRINTW これを利用しない손はないだろう‥‥
PRINTFORMW 自由になった%마스터호칭은%AVを撮影、販売する会社を開設した。
PRINTW
PRINTFORMW 事務所兼撮影場所として購入した館に、今日も嬌声がこだましている。
PRINTFORMW 自らが男優となり……時には、少女同士を絡ませ撮影する。
PRINTFORMW %CALLNAME:MASTER%의 손がけたAVは女優の質やプレイ内容の良さからすぐに話題となり、多くの売り上げをもたらしている。
PRINTFORMW %CALLNAME:MASTER%의 男優兼監督業はまだまだ終わりそうにない……


code:
;エンディングの存在判定。常に1を返す
@SCENARIO_EVENT_GOODENDING_IS_EXIST_13()
RETURN 1

;単体エンドなどで特定キャラを対象に判定を行う場合、引数のINIT済みリストに必要な数だけキャラ番号を格納して返す。NOへの変換はFW側でやる。不要ならそのまま返す
;複数人返す場合、最初のキャラがENDING_PATTERNとEXTRAINFO以外全ての関数で引数として渡される
@SCENARIO_EVENT_GOODENDING_ENDING_TARGETCHARAMAP_13(targetCharaList)
#DIM REF targetCharaList
RETURN

;同一インデックス番号で内部分岐させる場合に書く。またエンディング名称の枝番になる。基本空文字でいい
@SCENARIO_EVENT_GOODENDING_ENDING_PATTERN_13(targetChara)
#FUNCTIONS
#DIM targetChara
RETURNF ""

;追加で格納する情報があれば返す。
@SCENARIO_EVENT_GOODENDING_ENDING_TARGETCHARA_EXTRAINFO_13(targetChara,endingPattern)
#FUNCTIONS
#DIM targetChara
#DIMS endingPattern
RETURNF ""

;エンディング名称。エンディングメッセージの最後に表示
@SCENARIO_EVENT_GOODENDING_ENDING_NAME_13(masterSchoolIndex,targetChara,endingPattern)
#FUNCTIONS
#DIM masterSchoolIndex
#DIM targetChara
#DIMS endingPattern
RETURNF "촉수の館エンド"

;エンディング選択肢
@SCENARIO_EVENT_GOODENDING_SELECTION_TEXT_13(masterSchoolIndex,targetChara,endingPattern)
#FUNCTIONS
#DIM masterSchoolIndex
#DIM targetChara
#DIMS endingPattern
RETURNF "古びた洋館の権利書を買う（촉수の館エンド）"

;特定のオープニングを選んだ場合のみ発生する특수EDなら、そのオープニング番号を返す。オープニングに無関係なら-1を返す。
@SCENARIO_EVENT_GOODENDING_IS_SP_OPENING_PATTERN_13()
#FUNCTION
RETURNF -1

;特定のオープニングと借金ゼロ以外の条件がある場合、ここに書く。
;1を返せばエンディング選択可能
;学内キャラの総数と学外キャラ含めた総数(登場キャラ数ではない)及び陥落数は(엔딩조건제외を抜いたうえで)フレームワーク側から引数で渡される。
@SCENARIO_EVENT_GOODENDING_IS_ENDING_SELECTABLE_13(inschoolCount,inschoolFallenCount,totalSchoolCount,totalSchoolFallenCount,targetCharaList,endingPatternList)
#DIM inschoolCount
#DIM inschoolFallenCount
#DIM totalSchoolCount
#DIM totalSchoolFallenCount
#DIM REF targetCharaList
#DIMS REF endingPatternList
RETURN COUNT_RULED_CONTACTABLE_CHARAS("TALENT:index:모판") >= 5

;制覇のレベル。0 - 通常エンド。1 - 学園制覇エンド。2 - 学園完全制覇エンド
@SCENARIO_EVENT_GOODENDING_SEIHA_PATTERN_13()
#FUNCTION
RETURNF 0

@SCENARIO_EVENT_GOODENDING_ENDING_TEXT_13(masterSchoolIndex,targetNoList,endingPatternList,fallenInfoText,extraInfoText)
#DIM masterSchoolIndex
#DIM REF targetNoList
#DIMS REF endingPatternList
#DIMS REF fallenInfoText
#DIMS REF extraInfoText
PRINTFORMW %CALLNAME:MASTER%의 손には、촉수の모판として改造された少女が多く含まれていた。
PRINTFORMW それはつまり、%CALLNAME:MASTER%의 손の中にある少女達を使えばいくらでも촉수生物たちが増やせるという事を意味する。
PRINTW これを利用しない손はないだろう‥‥
PRINTFORMW 自由になった%마스터호칭은%密かに촉수生物を研究しはじめた。
PRINTW
PRINTFORMW %CALLNAME:MASTER%의 住居兼研究所の館に、今日も嬌声がこだましている。
PRINTFORMW 館中いたるところにはびこる촉수達。その所々に果実のようにぶら下がり、あるいは幹のような촉수に半ば取り込まれた少女達。
PRINTFORMW 少女達はみな嫌な顔ひとつせず、それどころか촉수に穴という穴を貫かれて歓喜の声を上げている。
PRINTFORMW %마스터호칭은%その中でほくそ笑みながら촉수達を操り、哀れな犠牲者を嬲り、촉수達を増やし続けている。
PRINTFORMW いつの日か、촉수達は館から溢れ出すだろう。その時、%마스터호칭은%촉수の、いや、人類の王となるのだ。


code:
;エンディングの存在判定。常に1を返す
@SCENARIO_EVENT_GOODENDING_IS_EXIST_30()
RETURN 1

;単体エンドなどで特定キャラを対象に判定を行う場合、引数のINIT済みリストに必要な数だけキャラ番号を格納して返す。NOへの変換はFW側でやる。不要ならそのまま返す
;複数人返す場合、最初のキャラがENDING_PATTERNとEXTRAINFO以外全ての関数で引数として渡される
@SCENARIO_EVENT_GOODENDING_ENDING_TARGETCHARAMAP_30(targetCharaList)
#DIM REF targetCharaList
RETURN

;同一インデックス番号で内部分岐させる場合に書く。またエンディング名称の枝番になる。基本空文字でいい
@SCENARIO_EVENT_GOODENDING_ENDING_PATTERN_30(targetChara)
#FUNCTIONS
#DIM targetChara
RETURNF ""

;追加で格納する情報があれば返す。
@SCENARIO_EVENT_GOODENDING_ENDING_TARGETCHARA_EXTRAINFO_30(targetChara,endingPattern)
#FUNCTIONS
#DIM targetChara
#DIMS endingPattern
RETURNF ""

;エンディング名称。エンディングメッセージの最後に表示
@SCENARIO_EVENT_GOODENDING_ENDING_NAME_30(masterSchoolIndex,targetChara,endingPattern)
#FUNCTIONS
#DIM masterSchoolIndex
#DIM targetChara
#DIMS endingPattern
RETURNF GET_SCHOOL_NAME(masterSchoolIndex) + "の支配者エンド"

;エンディング選択肢
@SCENARIO_EVENT_GOODENDING_SELECTION_TEXT_30(masterSchoolIndex,targetChara,endingPattern)
#FUNCTIONS
#DIM masterSchoolIndex
#DIM targetChara
#DIMS endingPattern
RETURNF GET_SCHOOL_NAME(masterSchoolIndex) + "を支配する（" + GET_SCHOOL_NAME(masterSchoolIndex) + "の支配者エンド）"

;特定のオープニングを選んだ場合のみ発生する특수EDなら、そのオープニング番号を返す。オープニングに無関係なら-1を返す。
@SCENARIO_EVENT_GOODENDING_IS_SP_OPENING_PATTERN_30()
#FUNCTION
RETURNF -1

;特定のオープニングと借金ゼロ以外の条件がある場合、ここに書く。
;1を返せばエンディング選択可能
;学内キャラの総数と学外キャラ含めた総数(登場キャラ数ではない)及び陥落数は(엔딩조건제외を抜いたうえで)フレームワーク側から引数で渡される。
@SCENARIO_EVENT_GOODENDING_IS_ENDING_SELECTABLE_30(inschoolCount,inschoolFallenCount,totalSchoolCount,totalSchoolFallenCount,targetCharaList,endingPatternList)
#DIM inschoolCount
#DIM inschoolFallenCount
#DIM totalSchoolCount
#DIM totalSchoolFallenCount
#DIM REF targetCharaList
#DIMS REF endingPatternList
RETURN (inschoolCount == inschoolFallenCount)

;制覇のレベル。0 - 通常エンド。1 - 学園制覇エンド。2 - 学園完全制覇エンド
@SCENARIO_EVENT_GOODENDING_SEIHA_PATTERN_30()
#FUNCTION
RETURNF 1

@SCENARIO_EVENT_GOODENDING_ENDING_TEXT_30(masterSchoolIndex,targetNoList,endingPatternList,fallenInfoText,extraInfoText)
#DIM masterSchoolIndex
#DIM REF targetNoList
#DIMS REF endingPatternList
#DIMS REF fallenInfoText
#DIMS REF extraInfoText
PRINTFORMW %마스터호칭은%%GET_SCHOOL_NAME(masterSchoolIndex)%의 目ぼしい女達をすべてその支配下においた。
PRINTFORMW %GET_SCHOOL_NAME(masterSchoolIndex)%において%CALLNAME:MASTER%의 影響力は拡大しており、もはやこの学校に%CALLNAME:MASTER%に逆らえる者はいない。
PRINTFORMW 校則の制定、教員の人事、理事会の決議、入学させる学生の選定、すべてが思いのままだ。
PRINTFORMW この立場を利用すれば好きな女生徒を店で働かせることも可能だから、今後は金銭的にも十分な利益が得られることだろう。
PRINTFORMW 学園を支配した%마스터호칭은%とりあえず학생회장に就任することにした。
PRINTFORMW
PRINTFORMW 深夜、%GET_SCHOOL_NAME(masterSchoolIndex)%의 학생회室から嬌声がこだましている……
PRINTFORMW 中では%GET_SCHOOL_NAME(masterSchoolIndex)%의 少女たちが全裸で絡み合っており、その中心に設置されたソファーに%마스터호칭이% いた。
PRINTFORMW 陥落させた奴隷たちを侍らせた%마스터호칭은%、だがここにきてどこか物足りなさを感じているのだった。
PRINTFORMW この学園の女どもはなかなかではあったが、まだ何かが足りない。
PRINTFORMW そういえばこの間の報告にあった学園は―――
PRINTFORMW %마스터호칭은%次なる狩場へと思いを巡らせ、股間に血が滾るのを感じていた……


code:
;エンディングの存在判定。常に1を返す
@SCENARIO_EVENT_GOODENDING_IS_EXIST_31()
RETURN 1

;単体エンドなどで特定キャラを対象に判定を行う場合、引数のINIT済みリストに必要な数だけキャラ番号を格納して返す。NOへの変換はFW側でやる。不要ならそのまま返す
;複数人返す場合、最初のキャラがENDING_PATTERNとEXTRAINFO以外全ての関数で引数として渡される
@SCENARIO_EVENT_GOODENDING_ENDING_TARGETCHARAMAP_31(targetCharaList)
#DIM REF targetCharaList
RETURN

;同一インデックス番号で内部分岐させる場合に書く。またエンディング名称の枝番になる。基本空文字でいい
@SCENARIO_EVENT_GOODENDING_ENDING_PATTERN_31(targetChara)
#FUNCTIONS
#DIM targetChara
RETURNF ""

;追加で格納する情報があれば返す。
@SCENARIO_EVENT_GOODENDING_ENDING_TARGETCHARA_EXTRAINFO_31(targetChara,endingPattern)
#FUNCTIONS
#DIM targetChara
#DIMS endingPattern
RETURNF ""

;エンディング名称。エンディングメッセージの最後に表示
@SCENARIO_EVENT_GOODENDING_ENDING_NAME_31(masterSchoolIndex,targetChara,endingPattern)
#FUNCTIONS
#DIM masterSchoolIndex
#DIM targetChara
#DIMS endingPattern
RETURNF GET_SCHOOL_NAME(masterSchoolIndex) + "完全制覇エンド"

;エンディング選択肢
@SCENARIO_EVENT_GOODENDING_SELECTION_TEXT_31(masterSchoolIndex,targetChara,endingPattern)
#FUNCTIONS
#DIM masterSchoolIndex
#DIM targetChara
#DIMS endingPattern
RETURNF GET_SCHOOL_NAME(masterSchoolIndex) + "を完全制覇する（" + GET_SCHOOL_NAME(masterSchoolIndex) + "完全制覇エンド）"

;特定のオープニングを選んだ場合のみ発生する특수EDなら、そのオープニング番号を返す。オープニングに無関係なら-1を返す。
@SCENARIO_EVENT_GOODENDING_IS_SP_OPENING_PATTERN_31()
#FUNCTION
RETURNF -1

;特定のオープニングと借金ゼロ以外の条件がある場合、ここに書く。
;1を返せばエンディング選択可能
;学内キャラの総数と学外キャラ含めた総数(登場キャラ数ではない)及び陥落数は(엔딩조건제외を抜いたうえで)フレームワーク側から引数で渡される。
@SCENARIO_EVENT_GOODENDING_IS_ENDING_SELECTABLE_31(inschoolCount,inschoolFallenCount,totalSchoolCount,totalSchoolFallenCount,targetCharaList,endingPatternList)
#DIM inschoolCount
#DIM inschoolFallenCount
#DIM totalSchoolCount
#DIM totalSchoolFallenCount
#DIM REF targetCharaList
#DIMS REF endingPatternList
RETURN (totalSchoolCount == totalSchoolFallenCount) && MONEY >= 10000000

;制覇のレベル。0 - 通常エンド。1 - 学園制覇エンド。2 - 学園完全制覇エンド
@SCENARIO_EVENT_GOODENDING_SEIHA_PATTERN_31()
#FUNCTION
RETURNF 2

@SCENARIO_EVENT_GOODENDING_ENDING_TEXT_31(masterSchoolIndex,targetNoList,endingPatternList,fallenInfoText,extraInfoText)
#DIM masterSchoolIndex
#DIM REF targetNoList
#DIMS REF endingPatternList
#DIMS REF fallenInfoText
#DIMS REF extraInfoText
PRINTFORMW %마스터호칭은%%GET_SCHOOL_NAME(masterSchoolIndex)%とその周辺一帯のめぼしい女達をすべてその支配下においた。
PRINTFORMW %GET_SCHOOL_NAME(masterSchoolIndex)%周辺において%CALLNAME:MASTER%의 影響力は拡大しており、もはやこの周辺では%CALLNAME:MASTER%に逆らえる者はいない。
PRINTFORMW 校則の制定、教員の人事、理事会の決議、入学させる学生の選定、すべてが思いのままだ。
PRINTFORMW これだけの力を손にすれば新たな組織を設立し、独立することも視野に入ってくるだろう。
PRINTFORMW 学園を支配した%마스터호칭은%とりあえず理事長に就任することにした。
PRINTFORMW
PRINTFORMW 深夜、都内某ビル最上階――
PRINTFORMW 全身を高級슈츠に身を包んだ%마스터호칭은%大量の女を連れてそのイベントに出席していた。
PRINTFORMW この催しは権力者によって定期的に開催されているもので、持ち込んだ奴隷の調教を見世物にするといった非合法のものだ。
PRINTW
PRINTFORMW 既に常連の%마스터호칭은%、奴隷を通じて様々な人脈を築き上げることに成功し、政界、財界等にも顔が利くようになっており、裏社会の住人としての確固たる地位を築いていた。
PRINTFORMW ――確かに%GET_SCHOOL_NAME(masterSchoolIndex)%의 女どもはなかなか役に立った。だがまだまだ足りない。
PRINTFORMW 女を利用して更なる高みを目指してやる。世界にはまだまだ役に立つ女はいるはずだ―――
PRINTFORMW 拘束された女の가슴を채찍で打ちすえ、喝采を浴びる%CALLNAME:MASTER%의 興味は、既に次のラウンドへと進んでいたのであった……


code:
;エンディングの存在判定。常に1を返す
@SCENARIO_EVENT_GOODENDING_IS_EXIST_32()
RETURN 1

;単体エンドなどで特定キャラを対象に判定を行う場合、引数のINIT済みリストに必要な数だけキャラ番号を格納して返す。NOへの変換はFW側でやる。不要ならそのまま返す
;複数人返す場合、最初のキャラがENDING_PATTERNとEXTRAINFO以外全ての関数で引数として渡される
@SCENARIO_EVENT_GOODENDING_ENDING_TARGETCHARAMAP_32(targetCharaList)
#DIM REF targetCharaList
RETURN

;同一インデックス番号で内部分岐させる場合に書く。またエンディング名称の枝番になる。基本空文字でいい
@SCENARIO_EVENT_GOODENDING_ENDING_PATTERN_32(targetChara)
#FUNCTIONS
#DIM targetChara
RETURNF ""

;追加で格納する情報があれば返す。
@SCENARIO_EVENT_GOODENDING_ENDING_TARGETCHARA_EXTRAINFO_32(targetChara,endingPattern)
#FUNCTIONS
#DIM targetChara
#DIMS endingPattern
RETURNF ""

;エンディング名称。エンディングメッセージの最後に表示
@SCENARIO_EVENT_GOODENDING_ENDING_NAME_32(masterSchoolIndex,targetChara,endingPattern)
#FUNCTIONS
#DIM masterSchoolIndex
#DIM targetChara
#DIMS endingPattern
RETURNF "血の復讐エンド"

;エンディング選択肢
@SCENARIO_EVENT_GOODENDING_SELECTION_TEXT_32(masterSchoolIndex,targetChara,endingPattern)
#FUNCTIONS
#DIM masterSchoolIndex
#DIM targetChara
#DIMS endingPattern
RETURNF "復讐を遂げる（復讐エンド）"

;特定のオープニングを選んだ場合のみ発生する특수EDなら、そのオープニング番号を返す。オープニングに無関係なら-1を返す。
@SCENARIO_EVENT_GOODENDING_IS_SP_OPENING_PATTERN_32()
#FUNCTION
RETURNF 2

;特定のオープニングと借金ゼロ以外の条件がある場合、ここに書く。
;1を返せばエンディング選択可能
;学内キャラの総数と学外キャラ含めた総数(登場キャラ数ではない)及び陥落数は(엔딩조건제외を抜いたうえで)フレームワーク側から引数で渡される。
@SCENARIO_EVENT_GOODENDING_IS_ENDING_SELECTABLE_32(inschoolCount,inschoolFallenCount,totalSchoolCount,totalSchoolFallenCount,targetCharaList,endingPatternList)
#DIM inschoolCount
#DIM inschoolFallenCount
#DIM totalSchoolCount
#DIM totalSchoolFallenCount
#DIM REF targetCharaList
#DIMS REF endingPatternList
RETURN IS_NONEXISTABLE_CSV_CHARA_NAME_RULED_CONTACTABLE("エレノア","TALENT:index:친애") && IS_NONEXISTABLE_CSV_CHARA_NAME_RULED_CONTACTABLE("ルイーザ","TALENT:index:예속")

;制覇のレベル。0 - 通常エンド。1 - 学園制覇エンド。2 - 学園完全制覇エンド
@SCENARIO_EVENT_GOODENDING_SEIHA_PATTERN_32()
#FUNCTION
RETURNF 0

@SCENARIO_EVENT_GOODENDING_ENDING_TEXT_32(masterSchoolIndex,targetNoList,endingPatternList,fallenInfoText,extraInfoText)
#DIM masterSchoolIndex
#DIM REF targetNoList
#DIMS REF endingPatternList
#DIMS REF fallenInfoText
#DIMS REF extraInfoText
PRINTFORMW %마스터호칭은%がらんとした薄汚い部屋で、部屋の主の帰りを待っていた。　部屋には薄く埃が溜まり、隅には発泡酒の空き缶が転がっている。
PRINTFORMW これが自分を売り飛ばして逃げた父親の今の住処らしい。　落ちぶれるところまで落ちぶれたという所か。
PRINTFORMW 顎を軽くしゃくると、四つん這いのルイーザが媚びた目でこちらを見上げながら、%CALLNAME:MASTER%의 바지のファスナーを입で降ろした。
PRINTFORMW 舌で器用に一物を探り出してしゃぶり始める。　そのみじめな姿を見下ろして鼻で笑った。
PRINTFORMW 部屋の扉が開き、エレノアが入ってくる。　エレノアは眉を顰めて
PRINTFORMW 『なに、この部屋？　長居したら病気になりそうね。　キミの……えーと、父親だった男って、まだ帰ってこないの？』
PRINTFORMW 自分の母親の方は、もう見もしない。　気にはならないのか、と聞いて見ると
PRINTFORMW 『平気よ。　私はちゃんとした家族が欲しくて、私にできる事は何でもするつもりだったけど、私の両親にそんな気はなかった。　それだけよ』
PRINTFORMW 『だから私の家庭は、自分で作るわ。　だから平気。　……付き合ってくれるんでしょう？』
PRINTFORMW 頷くと、エレノアは微笑んだ。
PRINTW
PRINTFORMW ……足音が聞こえてくる。　今度こそ、あの男が帰ってきたのだろう。
PRINTFORMW 自分の事を玩具としか思っていない女の為に、何もかも捨てた男。　己が追い詰められた時、子供さえも売り飛ばした男。
PRINTFORMW その男にとって、唯一輝いていたであろう女が自分が捨てた子供の奴隷と化した姿を見た時、男は何というだろうか？
PRINTFORMW 想像すると嘲笑が漏れるのを抑えきれない。　今、ノブが回って……


code:
;エンディングの存在判定。常に1を返す
@SCENARIO_EVENT_GOODENDING_IS_EXIST_33()
RETURN 1

;単体エンドなどで特定キャラを対象に判定を行う場合、引数のINIT済みリストに必要な数だけキャラ番号を格納して返す。NOへの変換はFW側でやる。不要ならそのまま返す
;複数人返す場合、最初のキャラがENDING_PATTERNとEXTRAINFO以外全ての関数で引数として渡される
@SCENARIO_EVENT_GOODENDING_ENDING_TARGETCHARAMAP_33(targetCharaList)
#DIM REF targetCharaList
RETURN

;同一インデックス番号で内部分岐させる場合に書く。またエンディング名称の枝番になる。基本空文字でいい
@SCENARIO_EVENT_GOODENDING_ENDING_PATTERN_33(targetChara)
#FUNCTIONS
#DIM targetChara
RETURNF ""

;追加で格納する情報があれば返す。
@SCENARIO_EVENT_GOODENDING_ENDING_TARGETCHARA_EXTRAINFO_33(targetChara,endingPattern)
#FUNCTIONS
#DIM targetChara
#DIMS endingPattern
RETURNF ""

;エンディング名称。エンディングメッセージの最後に表示
@SCENARIO_EVENT_GOODENDING_ENDING_NAME_33(masterSchoolIndex,targetChara,endingPattern)
#FUNCTIONS
#DIM masterSchoolIndex
#DIM targetChara
#DIMS endingPattern
RETURNF "会社乗っ取りエンド"

;エンディング選択肢
@SCENARIO_EVENT_GOODENDING_SELECTION_TEXT_33(masterSchoolIndex,targetChara,endingPattern)
#FUNCTIONS
#DIM masterSchoolIndex
#DIM targetChara
#DIMS endingPattern
RETURNF "カウフフェルト社を乗っ取る（会社乗っ取りエンド）"

;特定のオープニングを選んだ場合のみ発生する특수EDなら、そのオープニング番号を返す。オープニングに無関係なら-1を返す。
@SCENARIO_EVENT_GOODENDING_IS_SP_OPENING_PATTERN_33()
#FUNCTION
RETURNF 2

;特定のオープニングと借金ゼロ以外の条件がある場合、ここに書く。
;1を返せばエンディング選択可能
;学内キャラの総数と学外キャラ含めた総数(登場キャラ数ではない)及び陥落数は(엔딩조건제외を抜いたうえで)フレームワーク側から引数で渡される。
@SCENARIO_EVENT_GOODENDING_IS_ENDING_SELECTABLE_33(inschoolCount,inschoolFallenCount,totalSchoolCount,totalSchoolFallenCount,targetCharaList,endingPatternList)
#DIM inschoolCount
#DIM inschoolFallenCount
#DIM totalSchoolCount
#DIM totalSchoolFallenCount
#DIM REF targetCharaList
#DIMS REF endingPatternList
RETURN IS_NONEXISTABLE_CSV_CHARA_NAME_RULED_CONTACTABLE("エレノア","TALENT:index:예속") && IS_NONEXISTABLE_CSV_CHARA_NAME_RULED_CONTACTABLE("ルイーザ","TALENT:index:예속") && IS_NONEXISTABLE_CSV_CHARA_NAME_RULED_CONTACTABLE("マリア","TALENT:index:창녀")

;制覇のレベル。0 - 通常エンド。1 - 学園制覇エンド。2 - 学園完全制覇エンド
@SCENARIO_EVENT_GOODENDING_SEIHA_PATTERN_33()
#FUNCTION
RETURNF 0

@SCENARIO_EVENT_GOODENDING_ENDING_TEXT_33(masterSchoolIndex,targetNoList,endingPatternList,fallenInfoText,extraInfoText)
#DIM masterSchoolIndex
#DIM REF targetNoList
#DIMS REF endingPatternList
#DIMS REF fallenInfoText
#DIMS REF extraInfoText
PRINTFORMW 納金を済ませて数日後、%마스터호칭은%ホテルの一室で「連絡」を待っていた。
PRINTFORMW 椅子に腰かけた%CALLNAME:MASTER%に개목걸이を巻いたエレノアがかいがいしく世話を焼いている。
PRINTFORMW かつては溌溂としていたエレノアの目は、今や媚びたような上目遣いでこちらを見上げているばかりだ。
PRINTFORMW ベットの上では、ルイーザが嬌声を上げながら延々と자위に耽っているが、母親の無様な姿に娘は一顧だにしない。
PRINTFORMW ……電話がかかってきた。　相손は……マリア。
PRINTFORMW マリア『お待たせいたしました、ご主人様。　「社長」は私に손を出しましたわ。　二人でホテルに入る所もきちんと写真に撮られている筈』
PRINTFORMW エレノアの父親……。　カウフフェルト社の社長は女にだらしない面があり、家庭環境に難があるのはエレノアを通じて分かっていた。
PRINTFORMW 社長の好みにはまりそうな女……복종させたマリアを社長に取り入らせる所までは上손く行っている。
PRINTFORMW エレノアが家庭環境を維持する努力をしなくなれば、この夫婦はじきに離婚の話を始めるだろう。
PRINTFORMW これをルイーザに渡せば、都合のいい時期に、ルイーザの有利な条件で離婚できるはずだ。
PRINTFORMW 財産分与の一部としてカウフフェルト社の株を確保させ、社長の唯一の子供であるエレノアの立場を利用すれば、近い将来会社丸ごとの乗っ取りが可能になる……かも知れない。
PRINTFORMW 最初思いついた時は、自分でも何を勘違いをと思った物だが、現実には全てその方向に進んでいる気がしてならなかった。
PRINTFORMW 流石にこれだけでは손が足りないだろうが……。　%마스터호칭은%納金の連絡を終えた後のチンピラ風の男の顔を思い出した。
PRINTFORMW あいつは何か察したような顔で、名刺を投げてよこしたはずだ。
PRINTFORMW 『ここに連絡しな、金次第で無理も聴いてやれるかもな？』
PRINTW
PRINTFORMW ……借金は返し終えた。　だがそれだけだ。　それだけで終わって良いのだろうか？
PRINTFORMW 既にさんざん손を汚したのに？
PRINTFORMW 気が付けば、손はスマホに延びていた。
PRINTFORMW %CALLNAME:MASTER%의 손を止める者は誰もいなかった……


code:
;エンディングの存在判定。常に1を返す
@SCENARIO_EVENT_GOODENDING_IS_EXIST_34()
RETURN 1

;単体エンドなどで特定キャラを対象に判定を行う場合、引数のINIT済みリストに必要な数だけキャラ番号を格納して返す。NOへの変換はFW側でやる。不要ならそのまま返す
;複数人返す場合、最初のキャラがENDING_PATTERNとEXTRAINFO以外全ての関数で引数として渡される
@SCENARIO_EVENT_GOODENDING_ENDING_TARGETCHARAMAP_34(targetCharaList)
#DIM REF targetCharaList
RETURN

;同一インデックス番号で内部分岐させる場合に書く。またエンディング名称の枝番になる。基本空文字でいい
@SCENARIO_EVENT_GOODENDING_ENDING_PATTERN_34(targetChara)
#FUNCTIONS
#DIM targetChara
RETURNF ""

;追加で格納する情報があれば返す。
@SCENARIO_EVENT_GOODENDING_ENDING_TARGETCHARA_EXTRAINFO_34(targetChara,endingPattern)
#FUNCTIONS
#DIM targetChara
#DIMS endingPattern
RETURNF ""

;エンディング名称。エンディングメッセージの最後に表示
@SCENARIO_EVENT_GOODENDING_ENDING_NAME_34(masterSchoolIndex,targetChara,endingPattern)
#FUNCTIONS
#DIM masterSchoolIndex
#DIM targetChara
#DIMS endingPattern
RETURNF "断罪エンド"

;エンディング選択肢
@SCENARIO_EVENT_GOODENDING_SELECTION_TEXT_34(masterSchoolIndex,targetChara,endingPattern)
#FUNCTIONS
#DIM masterSchoolIndex
#DIM targetChara
#DIMS endingPattern
RETURNF "絆に兄の情報を渡す(断罪エンド)"

;特定のオープニングを選んだ場合のみ発生する특수EDなら、そのオープニング番号を返す。オープニングに無関係なら-1を返す。
@SCENARIO_EVENT_GOODENDING_IS_SP_OPENING_PATTERN_34()
#FUNCTION
RETURNF 3

;特定のオープニングと借金ゼロ以外の条件がある場合、ここに書く。
;1を返せばエンディング選択可能
;学内キャラの総数と学外キャラ含めた総数(登場キャラ数ではない)及び陥落数は(엔딩조건제외を抜いたうえで)フレームワーク側から引数で渡される。
@SCENARIO_EVENT_GOODENDING_IS_ENDING_SELECTABLE_34(inschoolCount,inschoolFallenCount,totalSchoolCount,totalSchoolFallenCount,targetCharaList,endingPatternList)
#DIM inschoolCount
#DIM inschoolFallenCount
#DIM totalSchoolCount
#DIM totalSchoolFallenCount
#DIM REF targetCharaList
#DIMS REF endingPatternList
RETURN IS_NONEXISTABLE_CSV_CHARA_NAME_RULED_CONTACTABLE("絆","CFLAG:index:201 == 23 && IS_FALLEN(index)") && IS_NONEXISTABLE_CSV_CHARA_NAME_RULED_CONTACTABLE("舞","IS_FALLEN(index)") && IS_NONEXISTABLE_CSV_CHARA_NAME_RULED_CONTACTABLE("かすみ","IS_FALLEN(index)")

;制覇のレベル。0 - 通常エンド。1 - 学園制覇エンド。2 - 学園完全制覇エンド
@SCENARIO_EVENT_GOODENDING_SEIHA_PATTERN_34()
#FUNCTION
RETURNF 0

@SCENARIO_EVENT_GOODENDING_ENDING_TEXT_34(masterSchoolIndex,targetNoList,endingPatternList,fallenInfoText,extraInfoText)
#DIM masterSchoolIndex
#DIM REF targetNoList
#DIMS REF endingPatternList
#DIMS REF fallenInfoText
#DIMS REF extraInfoText
PRINTFORMW 納金を済ませて해방された数日後、%마스터호칭은%絆にかすみから受け取った調査報告を渡した。
PRINTFORMW 絆はそれを受け取ると、隅々まで目を通し始めた……。
PRINTFORMW 絆「……だから兄さんは、ボクたちにまで隠したのか。　話せなかったんだね、兄さん……」
PRINTFORMW 絆は時折泣きそうな表情になりながらも、資料を最後まで読み通した。
PRINTFORMW ……絆はどうするのだろう……？
PRINTFORMW 絆「どうするって？　今更放置なんてするくらいなら、ボクはここまでやってない」
PRINTFORMW 絆「前に相談した警察の人がいるんだ。　あの人なら話を聞いてくれる。　せめて罪だけは償ってもらう……」
PRINTFORML ………………
PRINTFORML …………
PRINTFORMW ……
PRINTFORMW 翌日、敬流山学園に多数の警官が訪れた。
PRINTFORMW 抗議する교사たちを殆ど無視して校内に踏み入り、挑発する生徒たちを押しのけて、御代一派がたまり場にしている유도부の部室に向かう。
PRINTFORMW あまりに急な事で御代たちは逃げる事さえできなかっただろう。
PRINTFORMW 警官に囲まれて憎々しげに連れ出される御代と、部屋の外で野次馬に紛れるようにそれを見ていた絆の目があったのは偶然だったろうか。
PRINTFORMW 御代「あぁ、そうか。　お前がな……。　似てるとは思ってたんだ、巧の奴と」
PRINTFORMW 御代はクックッと含み笑いをしながら警官に引き立てられていく。
PRINTFORMW 絆に、奴に言ってやることはないのかと問うと
PRINTFORMW 絆「……いや、ないね。　あいつとは二度と会いたくはないよ。　精々重い罪になる事を期待するだけさ」
PRINTFORMW ならば、この学校で彼女がすることはもう終わりだ。　……やはり転校するのだろうか？
PRINTFORMW 絆「それなんだけど、ボクはこの学校から去る気はないよ。　小清水先生も心配だし……何より、キミがいる」
PRINTFORMW 絆「これをきっかけに、この学校も少しはマシになると良いんだけど……」
PRINTW
PRINTFORMW ……この高校がこれをきっかけに良い方向に変わるのか、それは分からない。
PRINTFORMW だが、少なくとも隣にいる남장の少女が過去から해방されたことは間違いないのだろう。
PRINTFORMW %마스터호칭이% 、少女の耳元に後の話は部屋でしようと囁くと、少女はぱっと赤面した。


code:
;エンディングの存在判定。常に1を返す
@SCENARIO_EVENT_GOODENDING_IS_EXIST_endingIndex()
RETURN 1

;単体エンドなどで特定キャラを対象に判定を行う場合、引数のINIT済みリストに必要な数だけキャラ番号を格納して返す。NOへの変換はFW側でやる。不要ならそのまま返す
;複数人返す場合、最初のキャラがENDING_PATTERNとEXTRAINFO以外全ての関数で引数として渡される
@SCENARIO_EVENT_GOODENDING_ENDING_TARGETCHARAMAP_endingIndex(targetCharaList)
#DIM REF targetCharaList
RETURN

;同一インデックス番号で内部分岐させる場合に書く。またエンディング名称の枝番になる。基本空文字でいい
@SCENARIO_EVENT_GOODENDING_ENDING_PATTERN_endingIndex(targetChara)
#FUNCTIONS
#DIM targetChara
RETURNF ""

;追加で格納する情報があれば返す。
@SCENARIO_EVENT_GOODENDING_ENDING_TARGETCHARA_EXTRAINFO_endingIndex(targetChara,endingPattern)
#FUNCTIONS
#DIM targetChara
#DIMS endingPattern
RETURNF ""

;エンディング名称。エンディングメッセージの最後に表示
@SCENARIO_EVENT_GOODENDING_ENDING_NAME_endingIndex(masterSchoolIndex,targetChara,endingPattern)
#FUNCTIONS
#DIM masterSchoolIndex
#DIM targetChara
#DIMS endingPattern
RETURNF ""

;エンディング選択肢
@SCENARIO_EVENT_GOODENDING_SELECTION_TEXT_endingIndex(masterSchoolIndex,targetChara,endingPattern)
#FUNCTIONS
#DIM masterSchoolIndex
#DIM targetChara
#DIMS endingPattern
RETURNF ""

;特定のオープニングを選んだ場合のみ発生する특수EDなら、そのオープニング番号を返す。オープニングに無関係なら-1を返す。
@SCENARIO_EVENT_GOODENDING_IS_SP_OPENING_PATTERN_endingIndex()
#FUNCTION
RETURNF -1

;特定のオープニングと借金ゼロ以外の条件がある場合、ここに書く。
;1を返せばエンディング選択可能
;学内キャラの総数と学外キャラ含めた総数(登場キャラ数ではない)及び陥落数は(엔딩조건제외を抜いたうえで)フレームワーク側から引数で渡される。
@SCENARIO_EVENT_GOODENDING_IS_ENDING_SELECTABLE_endingIndex(inschoolCount,inschoolFallenCount,totalSchoolCount,totalSchoolFallenCount,targetCharaList,endingPatternList)
#DIM inschoolCount
#DIM inschoolFallenCount
#DIM totalSchoolCount
#DIM totalSchoolFallenCount
#DIM REF targetCharaList
#DIMS REF endingPatternList
RETURN 1

;制覇のレベル。0 - 通常エンド。1 - 学園制覇エンド。2 - 学園完全制覇エンド
@SCENARIO_EVENT_GOODENDING_SEIHA_PATTERN_endingIndex()
#FUNCTION
RETURNF 0

@SCENARIO_EVENT_GOODENDING_ENDING_TEXT_endingIndex(targetNoList,endingPatternList,fallenInfoText,extraInfoText)
#DIM REF targetNoList
#DIMS REF endingPatternList
#DIMS REF fallenInfoText
#DIMS REF extraInfoText


code:
;エンディングの存在判定。常に1を返す
@SCENARIO_EVENT_GOODENDING_IS_EXIST_36()
RETURN 1

;単体エンドなどで特定キャラを対象に判定を行う場合、引数のINIT済みリストに必要な数だけキャラ番号を格納して返す。NOへの変換はFW側でやる。不要ならそのまま返す
;複数人返す場合、最初のキャラがENDING_PATTERNとEXTRAINFO以外全ての関数で引数として渡される
@SCENARIO_EVENT_GOODENDING_ENDING_TARGETCHARAMAP_36(targetCharaList)
#DIM REF targetCharaList
targetCharaList:0 = GETCHARA(GET_CHARA_NO_FROM_NAME("和美"))
targetCharaList:1 = GETCHARA(GET_CHARA_NO_FROM_NAME("奈月"))
targetCharaList:2 = GETCHARA(GET_CHARA_NO_FROM_NAME("由美"))
targetCharaList:3 = GETCHARA(GET_CHARA_NO_FROM_NAME("楓"))
RETURN

;同一インデックス番号で内部分岐させる場合に書く。またエンディング名称の枝番になる。基本空文字でいい
@SCENARIO_EVENT_GOODENDING_ENDING_PATTERN_36(targetChara)
#FUNCTIONS
#DIM targetChara
RETURNF ""

;追加で格納する情報があれば返す。
@SCENARIO_EVENT_GOODENDING_ENDING_TARGETCHARA_EXTRAINFO_36(targetChara,endingPattern)
#FUNCTIONS
#DIM targetChara
#DIMS endingPattern
RETURNF ""

;エンディング名称。エンディングメッセージの最後に表示
@SCENARIO_EVENT_GOODENDING_ENDING_NAME_36(masterSchoolIndex,targetChara,endingPattern)
#FUNCTIONS
#DIM masterSchoolIndex
#DIM targetChara
#DIMS endingPattern
RETURNF ""

;エンディング選択肢
@SCENARIO_EVENT_GOODENDING_SELECTION_TEXT_36(masterSchoolIndex,targetChara,endingPattern)
#FUNCTIONS
#DIM masterSchoolIndex
#DIM targetChara
#DIMS endingPattern
RETURNF ""

;特定のオープニングを選んだ場合のみ発生する특수EDなら、そのオープニング番号を返す。オープニングに無関係なら-1を返す。
@SCENARIO_EVENT_GOODENDING_IS_SP_OPENING_PATTERN_36()
#FUNCTION
RETURNF 3

;特定のオープニングと借金ゼロ以外の条件がある場合、ここに書く。
;1を返せばエンディング選択可能
;学内キャラの総数と学外キャラ含めた総数(登場キャラ数ではない)及び陥落数は(엔딩조건제외を抜いたうえで)フレームワーク側から引数で渡される。
@SCENARIO_EVENT_GOODENDING_IS_ENDING_SELECTABLE_36(inschoolCount,inschoolFallenCount,totalSchoolCount,totalSchoolFallenCount,targetCharaList,endingPatternList)
#DIM inschoolCount
#DIM inschoolFallenCount
#DIM totalSchoolCount
#DIM totalSchoolFallenCount
#DIM REF targetCharaList
#DIMS REF endingPatternList
#DIM index
FOR index,0,4 ;(和美、奈月、由美、楓の4人)
	SIF targetCharaList:index <= 0 || !TALENT:(targetCharaList:index):모판
		RETURN 0
NEXT
RETURN 1

;制覇のレベル。0 - 通常エンド。1 - 学園制覇エンド。2 - 学園完全制覇エンド
@SCENARIO_EVENT_GOODENDING_SEIHA_PATTERN_36()
#FUNCTION
RETURNF 0

@SCENARIO_EVENT_GOODENDING_ENDING_TEXT_36(masterSchoolIndex,targetNoList,endingPatternList,fallenInfoText,extraInfoText)
#DIM masterSchoolIndex
#DIM REF targetNoList
#DIMS REF endingPatternList
#DIMS REF fallenInfoText
#DIMS REF extraInfoText
;ごめんね、4人分書いたらクッソ長くてごめんね
PRINTFORMW その洞窟がいつからあるのか。知るものはいない。
PRINTFORMW そもそも存在を知る者自体がほぼ皆無に等しいのだ。
PRINTFORMW
PRINTFORMW それはどうでもいい、とあなたは思う。なにせ、あなた自身もとっくに忘れたことだ。
PRINTFORMW 大事なのは、その洞窟があなたの城である、ということだ。
PRINTFORMW
PRINTFORMW あなたがぱちん、と指を鳴らす。それだけで、洞窟は本当の姿を取り戻す。
PRINTFORMW そう。果てしない촉수による肉の壁と、そこに半ば埋め込まれて犯され続ける女達の姿を。
PRINTFORMW ････あなたの中のガキが、あまりの光景に息をのむのが分かった。こいつ自身の意志はさておき、この地獄を作り出したのが自分であることに、気づいているからだろう。
PRINTFORMW
PRINTFORMW そのとき、촉수の壁が僅かに歪む。
PRINTFORMW 「ああ、ご主人様、お帰りなさいませ%UNICODE(0x2661)%」
PRINTFORMW 出迎えるのは、淫蕩な笑みを浮かべた奈月と楓だ。
PRINTFORMW
PRINTFORMW かつて退魔の巫女を名乗っていた二人だと、想像できるものがいるだろうか。それほどに、今の姿とは似ても似つかない。
PRINTFORMW 二人は大きく育ったお腹を嬉しそうに撫でながら、あなたに媚びた女の笑みを向けている。
PRINTFORMW 二人の胎内にいるのは、人間の子供ではない。すっかり촉수の모판が板につき、子宮の内側から촉수に陵辱されて喜んでいる。
PRINTFORMW 服は가슴や秘所だけを晒しながら、そこを細い촉수で常にこね回して、二人に快感を送り続ける。時々目を剥いてガクガクと震えるのは、何度も何度も絶頂を味わっているのだろう。
PRINTFORMW 그리고、二人が絶頂するたびに、上質な霊力が%CALLNAME:MASTER%に流れこんでくるのだ。
PRINTFORMW
PRINTFORMW 「そうそう。先日捕らえたこの女ですが、問題なく仕上げていますよ。ほら」
PRINTFORMW 「ほんと、無様な女でした。こんな女が同僚だったなんて、恥ずかしいです」
PRINTFORMW どさり、と奈月が女を投げ落とす。先日入り込んだ侵入者だ。かつて楓の同僚だったらしいが、しかし今は。
PRINTFORMW 「もっと、もっとぉ････%UNICODE(0x2661)%　촉수、くださぁい････%UNICODE(0x2661)%%UNICODE(0x2661)%」
PRINTFORMW 蕩けた顔で촉수を求め、壁のほうへと這っていこうとしている。見かねた楓が背中を足で踏みつけると、それだけで絶頂したのか、ビクビクと身体を痙攣させている。
PRINTFORMW
PRINTFORMW ････よくやった。褒美をやろう。そう言うと、二人の表情は歓喜に歪み。そして。
PRINTFORMW 「あ、ひあああああん%UNICODE(0x2661)% 촉수、でて、出てきてますぅううう%UNICODE(0x2661)%%UNICODE(0x2661)%」
PRINTFORMW 「ご、ご主人様ぁ%UNICODE(0x2661)% 私たちの촉수出産アクメ、見てくださいいいいい%UNICODE(0x2661)%%UNICODE(0x2661)%」
PRINTFORMW 突然激しく暴れ出した촉수を、びちゃびちゃ、と産み落としながら、嬉しそうに絶頂しつづける。
PRINTFORMW 勿論それだけでは終わらない。異常な出産を終えれば、今度は二人とも、自分が産み落とした촉수達に犯され続けるだろう。例の侵入者ともどもだ。
PRINTFORMW 終わりなどない陵辱に歓喜する二人を残し、奥に向かうことにした。
PRINTFORMW
PRINTFORMW 「あぁ、ご主人様ぁ････%UNICODE(0x2661)% お帰りに、なったんですねぇ････%UNICODE(0x2661)%」
PRINTFORMW 촉수の中のくぼみ、미약の池から、声がする。両손両足を拘束された由美が、미약に浸かりながら、あなたを見上げている。
PRINTFORMW 先の侵入者を招いた原因は、由美が後をつけられていたせいだった。そのために罰として、ここに放置されている。
PRINTFORMW 「お願い、しますぅ････%UNICODE(0x2661)% 손も、足も動かせない、のに、どんどん、どんどんイキたくて････。
PRINTFORMW 　時々、촉수が責めてくれても、イキそうになったら、止まっちゃって････。アタシ、もう一週間、一度もイケて、ないんですぅ････%UNICODE(0x2661)%。
PRINTFORMW 　どうか、お慈悲を、お慈悲をぉ････%UNICODE(0x2661)%」
PRINTFORMW
PRINTFORMW 一週間の寸止めで焦らしに焦らされた身体をこすり合わせながら、由美が舌を出して懇願する。かつて忍びとして魔を狩りつづけていた彼女の姿とは、誰も思うまい。
PRINTFORMW 뭐、いいか。そう言うと同時、由美の身体を拘束していた촉수が外れ、巨大な肉塊が미약プールに飛び込む。
PRINTFORMW その異様な物体に驚くどころか、由美は満面に笑みを広げた。
PRINTFORMW 「あはっ%UNICODE(0x2661)% 촉수きたぁ%UNICODE(0x2661)% ご主人様、ありがとうございますぅ%UNICODE(0x2661)%%UNICODE(0x2661)%」
PRINTFORMW 自分から肉塊にすがりつき、伸びる촉수を咥えてしごきながら、秘所を広げて촉수を誘い込む。
PRINTFORMW 貴女の背後で、由美の狂ったような嬌声が響き始めたのは、そのすぐ後だった。
PRINTFORMW
PRINTFORMW 그리고、最奥。身体の殆どを촉수に覆われ、力なく項垂れるその女を見たとき。あなたの中のガキが、何かを叫んだのが分かった。
PRINTFORMW おそらく、その女を気遣う声だろう。遠野 和美。全ての始まりになった女だ。
PRINTFORMW あなたが近づくと、그녀는 顔をあげ････目の前にいる幼なじみの姿を、じっと見つめる。
PRINTFORMW
PRINTFORMW 「あはぁ、ご主人様やぁ････お帰りなさいぃ････%UNICODE(0x2661)%」
PRINTFORMW あなたの中のガキが、絶句するのが分かった。今や彼女にとって、この姿は大切な幼なじみのものではなく、悦楽の主人のものである。それに気づいてしまったのだ。
PRINTFORMW 「お願い、しますぅ････%UNICODE(0x2661)% 奈月ちゃんや由美ちゃんばかりやのうて、私も犯してくださぁい････%UNICODE(0x2661)% あうっ！」
PRINTFORMW 촉수が緩み、彼女がべちゃり、と地面に落ちる。そのままずりずりと這いずって、あなたに取りすがった。
PRINTFORMW 「あはっ、ご主人様の、オチンチンやぁ････。ご奉仕、させて貰いますぅ････%UNICODE(0x2661)%」
PRINTFORMW すすんであなたの페니스を取り出し、입にくわえる。おいしそうに페니스をしゃぶる幼なじみの姿に、あなたの中のガキが悲嘆にくれているのが分かる。
PRINTFORMW
PRINTFORMW あと、一息だ。
PRINTFORMW
PRINTFORMW 地面に寝そべり、勃起した페니스を見せつけ。跨がれ、と命じた。和美はゴクリ、と、息をのみ、
PRINTFORMW 그리고、秘所が페니스をくわえ込む寸前で、待て、と命じる。
PRINTFORMW 「ああ、そんなぁ････。もう少しで、オチンチンが入るのにぃ････」
PRINTFORMW 名残惜しげに腰を振る和美。あなたはにやりと笑むと、彼女に告げた。
PRINTFORMW
PRINTFORMW 選ばせてやる。このまま何もせずに帰れば、このガキは返してやる。お前も自由にしてやろう。このまま腰を下ろせば、一生ここで모판だ。
PRINTFORMW どちらにする？
PRINTFORMW
PRINTFORMW 「元に、戻れる････？ そんなの････」
PRINTFORMW 和美の瞳に、僅かな理性の光が戻った。はあはあと荒い呼吸のまま、あなたを見下ろす。
PRINTFORMW
PRINTFORMW 「そんなの、どうでもええわ！」
PRINTFORMW 叫ぶが早いか、一気に腰を下ろす。当然、子宮の奥深くまで%CALLNAME:MASTER%의 페니스が一気に貫いた。
PRINTFORMW 「～～～～～%UNICODE(0x2661)%%UNICODE(0x2661)%%UNICODE(0x2661)%%UNICODE(0x2661)%」
PRINTFORMW 全身を痙攣させながら、絶頂に身を震わせる和美。그대로、獣のように腰を振り、快楽を貪り始めた。
PRINTFORMW
PRINTFORMW ガキの心が、絶望に包まれた。最期に残った幼なじみにまで見捨てられ、完全に心が折れたのだ。
PRINTFORMW その心を、あなたのなかの闇が食らい始める。絶望に弱った心は저항すらできない、ただの餌だ。
PRINTFORMW もうすぐだ。もうすぐ、完全に復活できる。その事実を噛みしめるように、あなたは大事な모판の질내を陵辱するのだった。


code:
;エンディングの存在判定。常に1を返す
@SCENARIO_EVENT_BADENDING_IS_EXIST_1()
RETURN 1

;単体エンドなどで特定キャラを対象に判定を行う場合、引数のINIT済みリストに必要な数だけキャラ番号を格納して返す。NOへの変換はFW側でやる。不要ならそのまま返す
;複数人返す場合、最初のキャラがENDING_PATTERNとEXTRAINFO以外全ての関数で引数として渡される
@SCENARIO_EVENT_BADENDING_ENDING_TARGETCHARAMAP_1(targetCharaList)
#DIM REF targetCharaList
RETURN

;同一インデックス番号で内部分岐させる場合に書く。またエンディング名称の枝番になる。基本空文字でいい
@SCENARIO_EVENT_BADENDING_ENDING_PATTERN_1(targetChara)
#FUNCTIONS
#DIM targetChara
RETURNF ""

;追加で格納する情報があれば返す。
@SCENARIO_EVENT_BADENDING_ENDING_TARGETCHARA_EXTRAINFO_1(targetChara,endingPattern)
#FUNCTIONS
#DIM targetChara
#DIMS endingPattern
RETURNF ""

;エンディング名称。エンディングメッセージの最後に表示
@SCENARIO_EVENT_BADENDING_ENDING_NAME_1(masterSchoolIndex,targetChara,endingPattern)
#FUNCTIONS
#DIM masterSchoolIndex
#DIM targetChara
#DIMS endingPattern
RETURNF "期限超過エンド"

;NGメッセージ。エンディングメッセージの最初に出力される、具体的に何が問題なのかを説明する短文
@SCENARIO_EVENT_BADENDING_ENDING_FIRSTTRAPPED_1(targetChara,endingPattern)
#FUNCTIONS
#DIM targetChara
#DIMS endingPattern
RETURNF TOSTR(DAY-1) + "日経過"

;エンディング優先度。同時に複数の条件を満たした場合、高い方が優先される。(同じならインデックスの若い方)
;0 - 汎用エンド、1 - 汎用だが특수な描写のあるエンド、2 - 各オープニングの固有エンド
@SCENARIO_EVENT_BADENDING_ENDING_PRIOROITY_1(targetChara,endingPattern)
#FUNCTION
#DIM targetChara
#DIMS endingPattern
RETURNF 0

;特定のオープニングを選んだ場合のみ発生する특수EDなら、そのオープニング番号を返す。オープニングに無関係なら-1を返す。
@SCENARIO_EVENT_BADENDING_IS_SP_OPENING_PATTERN_1()
#FUNCTION
RETURNF -1

;特定のオープニング以外の条件をここに書く。
;1を返せばバッドエンドに入る
@SCENARIO_EVENT_BADENDING_IS_ENDING_EXECUTE_1(targetCharaList,endingPatternList)
#DIM REF targetCharaList
#DIMS REF endingPatternList
RETURN DAY > 344 && FLAG:5 == 0

@SCENARIO_EVENT_BADENDING_ENDING_TEXT_1(masterSchoolIndex,targetNoList,endingPatternList,fallenInfoText,extraInfoText)
#DIM masterSchoolIndex
#DIM REF targetNoList
#DIMS REF endingPatternList
#DIMS REF fallenInfoText
#DIMS REF extraInfoText
PRINTFORMW 気がつくと%마스터호칭은%見知らぬ場所に居た。
PRINTW 体は밧줄で縛られ、目隠しと입枷が嵌められている。
PRINTW 体が揺れている所から車の中なのか？
PRINTW 『よう、残念だったなぁ……時間切れだよ』
PRINTW 最初に会ったチンピラ風の男だ。　何が楽しいのかニヤニヤしながらこちらを覗き込んでいる。
PRINTW 『分かってた筈だよな？　しくじったらどうなるかは……まぁ、なんだ』
PRINTW 男は、一瞬言いよどんで……
PRINTW 『人間のお前さんとはこれでお別れだ……그리고、はじめまして新しい奴隷さんよ』
PRINTW 『長い付き合いにはならねえだろうが，よろしくな？』