code:
;오브젝트 본체
;여기서 ARG로 건네받는 것은 IRAI_SLOT의 내용(의뢰 ID + 의뢰자 등록 번호 * 1000)입니다
;함수명의@고유의뢰X의 X는 캐릭터 번호(레이무의 의뢰)군요
;진한 개는@EXIST 함수 불필요해 좋아(로 한다)
;상류, 캐릭터데이터측에서 의뢰 ID의 범위를 기술하는 것이 존부의 확인을 겸한다
;함수명 etc를 미스도 참 에러 토해 주고 알겠지
@고유의뢰1(ARG, O_DATA, V_NAME)
#FUNCTION
#LOCALSIZE 1
#LOCALSSIZE 1
#DIMS O_DATA
#DIMS V_NAME
SELECTCASE ARG % 1000
;ID101：어깨 안마
CASE 101
	SELECTCASE O_DATA
	CASE "의뢰명"
		CALLF MAKE_STR(V_NAME, "어깨 안마")
	CASE "의뢰내용 표시"
		CALLF MAKE_STR(V_NAME, "레이무의 어깨를 안마한다")
	CASE "의뢰 보수 표시"
		CALLF MAKE_STR(V_NAME, "녹즙")
	CASE "의뢰실행 커맨드 이름"
		CALLF MAKE_STR(V_NAME, "어깨를 안마한다")

	CASE "의뢰내용"
		CALLF MAKE_INT(V_NAME, MAKE_IRAI_DATA(0, "작업"))
	CASE "의뢰 서브"
	CASE "의뢰기한"
	;발생시는 아니고 수탁시에 확정합니다
	CASE "의뢰 발생율"
	;이것은 다른 고유 의뢰와의 상대 확률 어째서 10%가 아닙니다
		CALLF MAKE_INT(V_NAME, 10)
	CASE "의뢰 발생 조건"
		CALLF MAKE_INT(V_NAME, 1)
	CASE "의뢰 수탁 가능 조건"
	;수탁 가능은@COM_ABLE366도 확인
	;여기를 참조하는 것은 의뢰인을 TARGET로 하고 있는 때이므로 소안내로 좋아
		CALLF MAKE_INT(V_NAME, 1)
	CASE "의뢰실행 가능 조건"
	;실행 가능은@COM_ABLE367도 확인
	;소안내로 좋아
		CALLF MAKE_INT(V_NAME, 1)
	;성공/실패 처리는 CARRYOUT로 직접 쓴다
	;SOURCE나 ITEM 입수 따위, 내용이 복잡해서
	CASE "의뢰 소멸 조건"
	;30%로 소실
		SIF RAND:100 < 30
			CALLF MAKE_INT(V_NAME, 1)
	ENDSELECT

;ID102：마리사의 분실물
CASE 102
	SELECTCASE O_DATA
	CASE "의뢰명"
		CALLF MAKE_STR(V_NAME, "마리사의 분실물")
	CASE "의뢰내용 표시"
		CALLF MAKE_STR(V_NAME, "마리사에게 분실물을 보낸다")
	CASE "의뢰 보수 표시"
		CALLF MAKE_STR(V_NAME, @"\\500")
	CASE "의뢰 보고 불필요"
		CALLF MAKE_STR(V_NAME, "보고 불필요(보수 수리에는 보고 필수)")
	CASE "의뢰실행 커맨드 이름"
		CALLF MAKE_STR(V_NAME, "분실물을 보낸다")

	CASE "의뢰내용"
		CALLF MAKE_INT(V_NAME, MAKE_IRAI_DATA(11, "전령(인물)"))
	CASE "의뢰 서브"
	CASE "의뢰기한"
		CALLF MAKE_INT(V_NAME, 7)
	;발생시는 아니고 수탁시에 확정합니다
	CASE "의뢰 발생율"
	;이것은 다른 고유 의뢰와의 상대 확률 어째서 10%가 아닙니다
		CALLF MAKE_INT(V_NAME, 10)
	CASE "의뢰 발생 조건"
		SIF GET_MAPID(CFLAG:11:현재위치) != 0 && CAN_MEET(11)
			CALLF MAKE_INT(V_NAME, 1)
	CASE "의뢰 수탁 가능 조건"
	;수탁 가능은@COM_ABLE366도 확인
	;여기를 참조하는 것은 의뢰인을 TARGET로 하고 있는 때이므로 소안내로 좋아
		CALLF MAKE_INT(V_NAME, 1)
	CASE "의뢰실행 가능 조건"
	;실행 가능은@COM_ABLE367/@CAN_IRAI_SLOT_DO도 확인
	;소안내로 좋아
		CALLF MAKE_INT(V_NAME, 1)
	;성공/실패 처리는 CARRYOUT로 직접 쓴다
	;SOURCE나 ITEM 입수 따위, 내용이 복잡해서
	CASE "의뢰 소멸 조건"
	;30%로 소실
		SIF RAND:100 < 30
			CALLF MAKE_INT(V_NAME, 1)
	ENDSELECT

;ID103：연회용의 술
CASE 103
	SELECTCASE O_DATA
	CASE "의뢰명"
		CALLF MAKE_STR(V_NAME, "연회용의 술")
	CASE "의뢰내용 표시"
		CALLF MAKE_STR(V_NAME, "술의 납입(10개)")
	CASE "의뢰 보수 표시"
		CALLF MAKE_STR(V_NAME, "연회규모 업")
	CASE "의뢰실행 커맨드 이름"
		CALLF MAKE_STR(V_NAME, "술을 건네준다")

	;대상의 ITEM_ID가 선택 가능해서 우선 작업 분류에
	CASE "의뢰내용"
		CALLF MAKE_INT(V_NAME, MAKE_IRAI_DATA(0, "작업"))
	CASE "의뢰 서브"
	CASE "의뢰기한"
	;발생시는 아니고 수탁시에 확정합니다
	CASE "의뢰 발생율"
	;조건을 채우는 것이 드물다고 생각하므로 조금 비싸게 합시다
		CALLF MAKE_INT(V_NAME, 100)
	CASE "의뢰 발생 조건"
		SIF FLAG:연회개최플래그 == 1
			CALLF MAKE_INT(V_NAME, 1)
	CASE "의뢰 수탁 가능 조건"
	;수탁 가능은@COM_ABLE366도 확인
	;여기를 참조하는 것은 의뢰인을 TARGET로 하고 있는 때이므로 소안내로 좋아
		CALLF MAKE_INT(V_NAME, 1)
	CASE "의뢰실행 가능 조건"
	;실행 가능은@COM_ABLE367도 확인
		SIF MAX(ITEM:51, ITEM:52, ITEM:53) >= 10
			CALLF MAKE_INT(V_NAME, 1)
	;성공/실패 처리는 CARRYOUT로 직접 쓴다
	;SOURCE나 ITEM 입수 따위, 내용이 복잡해서
	CASE "의뢰 소멸 조건"
		SIF FLAG:연회개최플래그 == 1 && !DAY % 7
			CALLF MAKE_INT(V_NAME, 1)
	ENDSELECT
ENDSELECT

;고유 의뢰의 열매 처리용
;이 함수는 실행/성공/실패시의
;보수와 페널티와 지문만을 취급합니다
;각 캐릭터의 메시지는 다른 장소에서
@IRAI_고유1(CHARA, IRAI_ID, SCENE)
#DIM  CHARA
#DIM  IRAI_ID
#DIMS SCENE
#DIM  CLIENT_ID
CLIENT_ID = IRAI_ID_TO_CLIENT(IRAI_ID)
SELECTCASE STR_DATA_IRAI(IRAI_ID, "의뢰명", CLIENT_ID)
;개개의 의뢰명으로 분기
CASE "어깨 안마"
	SELECTCASE SCENE
	CASE "의뢰 조건 표시"
	;무엇인가 전용의 표시 정보를 마련하고 싶을 시용
	;수탁 끝난 의뢰 표시로 사용됩니다
	;
	;PRINT계만으로 SOURCE라든지는 넣으면 안 돼, WAIT도 없음으로
	;여기 이외의표시 항목은
	;PRINTFORML 　　　　　：
	;되고 있으므로 스페이스를 가지런히 하는 편이 보기에 좋습니다

	CASE "의뢰실행시"
	;의뢰실행시에는 RESULT가 의미를 가집니다
	;이 CASE에 한정해, RESULT가 의미를 가집니다
	;의뢰실행시의 RESULT에는 IRAI_CONST_RESULT()를 사용해 주세요
	;가능한 인수는"캔슬", "실행해 성공", "실행해 실패", "실행해 미해결"입니다
	;독자 처리를 가르치고 싶을 때는"실행해 미해결"로 유보하자 마자 해 주세요
	;
	;·실행시/성공 보고/실패 보고로 지문을 붙일 때는 모두 마지막에 WAIT 붙이는 편이 좋다
	;·다만, @CHANGE_CFLAG를 사용하면(자) 함수측에서 PRINTFORMW 해 WAIT가 들어간다
		SOURCE:환락 = 1000
		SOURCE:사랑 = 300
		SOURCE:노출 = 20
		DOWNBASE:기력 += 50
		DOWNBASE:MASTER:기력 += 50
		PRINTFORMW %마스터는% %CALLNAME:TARGET%의 어깨를 주물렀다
		;이것은 추가의 10분
		TIME += 10
		;4할의 확률 그렇지만과 해!분기
		IF RAND:100 < 60
			RETURN IRAI_CONST_RESULT("실행해 미해결")
		ELSE
			RETURN IRAI_CONST_RESULT("실행해 성공")
		ENDIF
	CASE "의뢰 성공시"
	;성공 보고시의 보수 등
		SOURCE:환락 += 1000
		CALL CHANGE_CFLAG(2, 1, 20)
		CALL CHANGE_CFLAG(4, 1, 5)
		CALL GET_ITEM("녹즙", 1, 2)
	CASE "의뢰 실패시"
	;실패 보고시의 처리
		CALL CHANGE_CFLAG(2, 1, -5)
		CALL CHANGE_CFLAG(4, 1, -3)
	ENDSELECT

CASE "마리사의 분실물"
	SELECTCASE SCENE
	CASE "의뢰 조건 표시"
	CASE "의뢰실행시"
		SOURCE:환락 = 500
		PRINTFORMW %마스터는% %CALLNAME:11%에게 잊은 물건을 건네주었다
		;시스템 메시지 다하고 호감도 변화
		;마지막 인수만 호감도가 변화
		CALL CHANGE_CFLAG(2, 11, 20)
		CALL CHANGE_CFLAG(4, 11, 10)
		RETURN IRAI_CONST_RESULT("실행해 성공")
	CASE "의뢰 성공시"
		SOURCE:TARGET:환락 += 1000
		;시스템 메시지 다하고 호감도 변화
		;마지막 인수만 호감도가 변화
		CALL CHANGE_CFLAG(2, TARGET, 20)
		;시스템 메시지 다하고 신뢰도 변화
		;마지막 인수만 신뢰도가 변화
		CALL CHANGE_CFLAG(4, TARGET, 10)
		CALL GET_MONEY_YEN(500, 2)
	CASE "의뢰 실패시"
		CALL CHANGE_CFLAG(2, TARGET, -10)
		CALL CHANGE_CFLAG(4, TARGET, -10)
	ENDSELECT

CASE "연회용의 술"
	SELECTCASE SCENE
	CASE "의뢰 조건 표시"
	CASE "의뢰실행시"
		PRINTL 어떤 것을 건네줄까?
		CALL 술일람표시(10)
		IF INRANGE(RESULT, 51, 53)
			PRINTFORMW %마스터는% %CALLNAME:TARGET%에게 술을 건네주었다
			ITEM:RESULT -= 10
			FLAG:연회차입 = RESULT
			RETURN IRAI_CONST_RESULT("실행해 성공")
		ELSE
			RETURN IRAI_CONST_RESULT("캔슬")
		ENDIF
	CASE "의뢰 성공시"
		;시스템 메시지 다하고 호감도 변화
		;마지막 인수만 호감도가 변화
		CALL CHANGE_CFLAG(2, TARGET, 50)
		;시스템 메시지 다하고 신뢰도 변화
		;마지막 인수만 신뢰도가 변화
		CALL CHANGE_CFLAG(4, TARGET, 20)
	CASE "의뢰 실패시"
		;시스템 메시지 다하고 호감도 변화
		;마지막 인수만 호감도가 변화
		CALL CHANGE_CFLAG(2, TARGET, -30)
		;시스템 메시지 다하고 신뢰도 변화
		;마지막 인수만 신뢰도가 변화
		CALL CHANGE_CFLAG(4, TARGET, -10)
	ENDSELECT

ENDSELECT


code:
@고유의뢰10(ARG, O_DATA, V_NAME)
#FUNCTION
#LOCALSIZE 1
#LOCALSSIZE 1
#DIMS O_DATA
#DIMS V_NAME
SELECTCASE ARG % 1000
;ID101：술을 마시자
CASE 101
	SELECTCASE O_DATA
	CASE "의뢰명"
		CALLF MAKE_STR(V_NAME, "술을 마시자")
	CASE "의뢰내용 표시"
		CALLF MAKE_STR(V_NAME, "청주를 납입한다")
	CASE "의뢰 보수 표시"
		CALLF MAKE_STR(V_NAME, @"\\5000")
	CASE "의뢰실행 커맨드 이름"
		CALLF MAKE_STR(V_NAME, "청주를 건네준다")

	CASE "의뢰내용"
		CALLF MAKE_INT(V_NAME, MAKE_IRAI_DATA(GETNUM(ITEM, "청주"), "조달"))
	CASE "의뢰 서브"
		CALLF MAKE_INT(V_NAME, 1)
	CASE "의뢰기한"
	;발생시는 아니고 수탁시에 확정합니다
		CALLF MAKE_INT(V_NAME, 5)
	CASE "의뢰 발생율"
	;이것은 다른 고유 의뢰와의 상대 확률 어째서 10%가 아닙니다
		CALLF MAKE_INT(V_NAME, 10)
	CASE "의뢰 발생 조건"
		CALLF MAKE_INT(V_NAME, 1)
	CASE "의뢰 수탁 가능 조건"
	;수탁 가능은@COM_ABLE366도 확인
	;여기를 참조하는 것은 의뢰인을 TARGET로 하고 있는 때이므로 소안내로 좋아
		CALLF MAKE_INT(V_NAME, 1)
	CASE "의뢰실행 가능 조건"
	;실행 가능은@COM_ABLE367도 확인
		CALLF MAKE_INT(V_NAME, 1)
	;성공/실패 처리는 CARRYOUT로 직접 쓴다
	;SOURCE나 ITEM 입수 따위, 내용이 복잡해서
	CASE "의뢰 소멸 조건"
	;30%로 소실
		SIF RAND:100 < 30
			CALLF MAKE_INT(V_NAME, 1)
	ENDSELECT
ENDSELECT

;고유 의뢰의 설정용
;이 함수는 실행/성공/실패시의
;보수와 페널티와 지문만을 취급합니다
;각 캐릭터의 메시지는 다른 장소에서
@IRAI_고유10(CHARA, IRAI_ID, SCENE)
#DIM  CHARA
#DIM  IRAI_ID
#DIMS SCENE
#DIM  CLIENT_ID
CLIENT_ID = IRAI_ID_TO_CLIENT(IRAI_ID)
SELECTCASE STR_DATA_IRAI(IRAI_ID, "의뢰명", CLIENT_ID)
;개개의 의뢰명으로 분기
CASE "술을 마시자"
	SELECTCASE SCENE
	CASE "의뢰 조건 표시"
	;무엇인가 전용의 표시 정보를 마련하고 싶을 시용
	;수탁 끝난 의뢰 표시로 사용됩니다
	;
	;PRINT계만으로 SOURCE라든지는 넣으면 안 돼, WAIT도 없음으로
	;여기 이외의표시 항목은
	;PRINTFORML 　　　　　：
	;되고 있으므로 스페이스를 가지런히 하는 편이 보기에 좋습니다

	CASE "의뢰실행시"
	;이 CASE에 한정해, RESULT가 의미를 가집니다
	;의뢰실행시의 RESULT에는 IRAI_CONST_RESULT()를 사용해 주세요
	;가능한 인수는"캔슬", "실행해 성공", "실행해 실패", "실행해 미해결"입니다
	;독자 처리를 가르치고 싶을 때는"실행해 미해결"로 유보하자 마자 해 주세요
		PRINTFORMW %마스터는% %CALLNAME:TARGET%에게 술을 건네주었다
		ITEM:청주 --
		RETURN IRAI_CONST_RESULT("실행해 성공")
	CASE "의뢰 성공시"
	;성공 보고시의 보수 등
		SOURCE:TARGET:환락 += 2000
		;시스템 메시지 다하고 호감도 변화
		;마지막 인수만 호감도가 변화
		CALL CHANGE_CFLAG(2, TARGET, 30)
		;시스템 메시지 다하고 신뢰도 변화
		;마지막 인수만 신뢰도가 변화
		CALL CHANGE_CFLAG(4, TARGET, 20)
		;기분을 자주(잘) 하는 처리를 넣어도 괜찮다
		TALENT:TARGET:기분 = LIMIT(TALENT:기분 + 1, -1, 1)
		CALL GET_MONEY_YEN(5000, 2)
	CASE "의뢰 실패시"
	;실패 보고시의 처리
		;시스템 메시지 다하고 호감도 변화
		;마지막 인수만 호감도가 변화
		CALL CHANGE_CFLAG(2, TARGET, -50)
		;시스템 메시지 다하고 신뢰도 변화
		;마지막 인수만 신뢰도가 변화
		CALL CHANGE_CFLAG(4, TARGET, -20)
		;기분을 악화시키는 처리를 넣어도 괜찮다
		TALENT:(TARGET):기분 = LIMIT(TALENT:(TARGET):기분 -1, -1, 1)
	ENDSELECT
ENDSELECT

license: mit


code:
@고유의뢰13(ARG, O_DATA, V_NAME)
#FUNCTION
#LOCALSIZE 1
#LOCALSSIZE 1
#DIMS O_DATA
#DIMS V_NAME
SELECTCASE ARG % 1000
;ID101：대 아이스크림
CASE 101
	SELECTCASE O_DATA
	CASE "의뢰명"
		CALLF MAKE_STR(V_NAME, "대 아이스크림")
	CASE "의뢰내용 표시"
		CALLF MAKE_STR(V_NAME, "아이스크림을 6개 납입한다")
	CASE "의뢰 보수 표시"
		CALLF MAKE_STR(V_NAME, @"\\3000")
	CASE "의뢰실행 커맨드 이름"
		CALLF MAKE_STR(V_NAME, "아이스크림을 건네준다")

	CASE "의뢰내용"
		CALLF MAKE_INT(V_NAME, MAKE_IRAI_DATA(GETNUM(ITEM, "아이스크림"), "조달"))
	CASE "의뢰 서브"
		CALLF MAKE_INT(V_NAME, 6)
	CASE "의뢰기한"
	CASE "의뢰 발생율"
	;이것은 다른 고유 의뢰와의 상대 확률 어째서 10%가 아닙니다
		CALLF MAKE_INT(V_NAME, 10)
	CASE "의뢰 발생 조건"
		;치르노를 만날 수 있는 상태인 것
		SIF CAN_MEET(14)
			CALLF MAKE_INT(V_NAME, 1)
	CASE "의뢰 수탁 가능 조건"
	;수탁 가능은@COM_ABLE366도 확인
	;여기를 참조하는 것은 의뢰인을 TARGET로 하고 있는 때이므로 소안내로 좋아
		CALLF MAKE_INT(V_NAME, 1)
	CASE "의뢰실행 가능 조건"
	;실행 가능은@COM_ABLE367도 확인
		CALLF MAKE_INT(V_NAME, 1)
	;성공/실패 처리는 CARRYOUT로 직접 쓴다
	;SOURCE나 ITEM 입수 따위, 내용이 복잡해서
	CASE "의뢰 소멸 조건"
	;30%로 소실
		SIF RAND:100 < 30
			CALLF MAKE_INT(V_NAME, 1)
	ENDSELECT
ENDSELECT

;고유 의뢰의 설정용
;이 함수는 실행/성공/실패시의
;보수와 페널티와 지문만을 취급합니다
;각 캐릭터의 메시지는 다른 장소에서
@IRAI_고유13(CHARA, IRAI_ID, SCENE)
#DIM  CHARA
#DIM  IRAI_ID
#DIMS SCENE
#DIM  CLIENT_ID
CLIENT_ID = IRAI_ID_TO_CLIENT(IRAI_ID)
SELECTCASE STR_DATA_IRAI(IRAI_ID, "의뢰명", CLIENT_ID)
;개개의 의뢰명으로 분기
CASE "대 아이스크림"
	SELECTCASE SCENE
	CASE "의뢰 조건 표시"
	;무엇인가 전용의 표시 정보를 마련하고 싶을 시용
	;수탁 끝난 의뢰 표시로 사용됩니다
	;
	;PRINT계만으로 SOURCE라든지는 넣으면 안 돼, WAIT도 없음으로
	;여기 이외의표시 항목은
	;PRINTFORML 　　　　　：
	;되고 있으므로 스페이스를 가지런히 하는 편이 보기에 좋습니다

	CASE "의뢰실행시"
	;이 CASE에 한정해, RESULT가 의미를 가집니다
	;의뢰실행시의 RESULT에는 IRAI_CONST_RESULT()를 사용해 주세요
	;가능한 인수는"캔슬", "실행해 성공", "실행해 실패", "실행해 미해결"입니다
	;독자 처리를 가르치고 싶을 때는"실행해 미해결"로 유보하자 마자 해 주세요
		PRINTFORMW %마스터는% %CALLNAME:TARGET%에게 아이스크림을 건네주었다
		;아이스크림
		ITEM:213 -= 6
		RETURN IRAI_CONST_RESULT("실행해 성공")
	CASE "의뢰 성공시"
	;성공 보고시의 보수 등
		SOURCE:TARGET:환락 += 200
		SOURCE:TARGET:정복 += 300
		;시스템 메시지 다하고 호감도 변화
		;마지막 인수만 호감도가 변화
		CALL CHANGE_CFLAG(2, TARGET, 20)
		;시스템 메시지 다하고 신뢰도 변화
		;마지막 인수만 신뢰도가 변화
		CALL CHANGE_CFLAG(4, TARGET, 5)
		CALL GET_MONEY_YEN(3000, 2)
	CASE "의뢰 실패시"
	;실패 보고시의 처리
		;시스템 메시지 다하고 호감도 변화
		;마지막 인수만 호감도가 변화
		CALL CHANGE_CFLAG(2, TARGET, -20)
		;시스템 메시지 다하고 신뢰도 변화
		;마지막 인수만 신뢰도가 변화
		CALL CHANGE_CFLAG(4, TARGET, -10)
	ENDSELECT
ENDSELECT


code:
@고유의뢰14(ARG, O_DATA, V_NAME)
#FUNCTION
#LOCALSIZE 1
#LOCALSSIZE 1
#DIMS O_DATA
#DIMS V_NAME
SELECTCASE ARG % 1000
;ID101：노―！올―！자―！
CASE 101
	SELECTCASE O_DATA
	CASE "의뢰명"
		CALLF MAKE_STR(V_NAME, "노―！올―！자―！")
	CASE "의뢰내용 표시"
		CALLF MAKE_STR(V_NAME, "함께 논다")
	CASE "의뢰 보수 표시"
		CALLF MAKE_STR(V_NAME, "좋은 것")
	CASE "의뢰실행 커맨드 이름"
		CALLF MAKE_STR(V_NAME, "같이 놀이한다")

	CASE "의뢰내용"
		CALLF MAKE_INT(V_NAME, MAKE_IRAI_DATA(0, "작업"))
	CASE "의뢰 서브"
	CASE "의뢰기한"
	CASE "의뢰 발생율"
	;이것은 다른 고유 의뢰와의 상대 확률 어째서 10%가 아닙니다
		CALLF MAKE_INT(V_NAME, 10)
	CASE "의뢰 발생 조건"
		CALLF MAKE_INT(V_NAME, 1)
	CASE "의뢰 수탁 가능 조건"
	;수탁 가능은@COM_ABLE366도 확인
	;여기를 참조하는 것은 의뢰인을 TARGET로 하고 있는 때이므로 소안내로 좋아
		CALLF MAKE_INT(V_NAME, 1)
	CASE "의뢰실행 가능 조건"
	;실행 가능은@COM_ABLE367도 확인
		IF SHIRAHU(TARGET) != 1
		ELSE
			CALLF MAKE_INT(V_NAME, 1)
		ENDIF
	;성공/실패 처리는 CARRYOUT로 직접 쓴다
	;SOURCE나 ITEM 입수 따위, 내용이 복잡해서
	CASE "의뢰 소멸 조건"
	;30%로 소실
		SIF RAND:100 < 30
			CALLF MAKE_INT(V_NAME, 1)
	ENDSELECT
ENDSELECT

;고유 의뢰의 설정용
;이 함수는 실행/성공/실패시의
;보수와 페널티와 지문만을 취급합니다
;각 캐릭터의 메시지는 다른 장소에서
@IRAI_고유14(CHARA, IRAI_ID, SCENE)
#DIM  CHARA
#DIM  IRAI_ID
#DIMS SCENE
#DIM  CLIENT_ID
CLIENT_ID = IRAI_ID_TO_CLIENT(IRAI_ID)
SELECTCASE STR_DATA_IRAI(IRAI_ID, "의뢰명", CLIENT_ID)
;개개의 의뢰명으로 분기
CASE "노―！올―！자―！"
	SELECTCASE SCENE
	CASE "의뢰 조건 표시"
	;무엇인가 전용의 표시 정보를 마련하고 싶을 시용
	;수탁 끝난 의뢰 표시로 사용됩니다
	;
	;PRINT계만으로 SOURCE라든지는 넣으면 안 돼, WAIT도 없음으로
	;여기 이외의표시 항목은
	;PRINTFORML 　　　　　：
	;되고 있으므로 스페이스를 가지런히 하는 편이 보기에 좋습니다

	CASE "의뢰실행시"
	;이 CASE에 한정해, RESULT가 의미를 가집니다
	;의뢰실행시의 RESULT에는 IRAI_CONST_RESULT()를 사용해 주세요
	;가능한 인수는"캔슬", "실행해 성공", "실행해 실패", "실행해 미해결"입니다
	;독자 처리를 가르치고 싶을 때는"실행해 미해결"로 유보하자 마자 해 주세요
		SOURCE:환락 = 1500
		PRINTFORMW %마스터는% %타겟과% 캐치볼을 하기로 했다
		PRINTFORMW %타겟은% 시종 웃는 얼굴이었다
		PRINTL
		TIME += 20
		DOWNBASE:체력 = 150
		DOWNBASE:기력 = 100
		DOWNBASE:MASTER:체력 = 150
		DOWNBASE:MASTER:기력 = 100
		RETURN IRAI_CONST_RESULT("실행해 성공")
	CASE "의뢰 성공시"
	;성공 보고시의 보수 등
		TALENT:TARGET:기분 = LIMIT(TALENT:기분 + 1, -1, 1)
		CALL CHANGE_CFLAG(2, 14, 30)
		CALL CHANGE_CFLAG(4, 14, 15)
		CALL GET_ITEM("개구리", 1, 1)
		PRINTFORMW ……이 개구리, 어떻게 하지?
	CASE "의뢰 실패시"
	;실패 보고시의 처리
	ENDSELECT
ENDSELECT


code:
@고유의뢰15(ARG, O_DATA, V_NAME)
#FUNCTION
#LOCALSIZE 1
#LOCALSSIZE 1
#DIMS O_DATA
#DIMS V_NAME
SELECTCASE ARG % 1000
;ID101：메이링에게 간식
CASE 101
	SELECTCASE O_DATA
	CASE "의뢰명"
		CALLF MAKE_STR(V_NAME, "메이링에게 간식")
	CASE "의뢰내용 표시"
		CALLF MAKE_STR(V_NAME, "메이링에게 간식을 건네준다")
	CASE "의뢰 보수 표시"
		CALLF MAKE_STR(V_NAME, @"\\1000")
	CASE "의뢰 보고 불필요"
		CALLF MAKE_STR(V_NAME, "보고 불필요(보고 없이 보수 수리 가능)")
	CASE "의뢰실행 커맨드 이름"
		CALLF MAKE_STR(V_NAME, "차입을 건네준다")

	CASE "의뢰내용"
		CALLF MAKE_INT(V_NAME, MAKE_IRAI_DATA([[메이링]], "전령(인물)"))
	CASE "의뢰 서브"
	CASE "의뢰기한"
	CASE "의뢰 발생율"
	;이것은 다른 고유 의뢰와의 상대 확률 어째서 10%가 아닙니다
		CALLF MAKE_INT(V_NAME, 10)
	CASE "의뢰 발생 조건"
		SIF CAN_MEET([[메이링]])
			CALLF MAKE_INT(V_NAME, 1)
	CASE "의뢰 수탁 가능 조건"
	;수탁 가능은@COM_ABLE366도 확인
	;여기를 참조하는 것은 의뢰인을 TARGET로 하고 있는 때이므로 소안내로 좋아
		IF !IS_WEEKDAY(DAY)
		ELSEIF !INRANGE(TIME / 60, 7, 11)
		ELSE
			CALLF MAKE_INT(V_NAME, 1)
		ENDIF
	CASE "의뢰실행 가능 조건"
	;실행 가능은@COM_ABLE367도 확인
		CALLF MAKE_INT(V_NAME, 1)
	;성공/실패 처리는 CARRYOUT로 직접 쓴다
	;SOURCE나 ITEM 입수 따위, 내용이 복잡해서
	CASE "의뢰 소멸 조건"
	;30%로 소실
		SIF RAND:100 < 30
			CALLF MAKE_INT(V_NAME, 1)
	ENDSELECT
ENDSELECT

;고유 의뢰의 설정용
;이 함수는 실행/성공/실패시의
;보수와 페널티와 지문만을 취급합니다
;각 캐릭터의 메시지는 다른 장소에서
@IRAI_고유15(CHARA, IRAI_ID, SCENE)
#DIM  CHARA
#DIM  IRAI_ID
#DIMS SCENE
#DIM  CLIENT_ID
CLIENT_ID = IRAI_ID_TO_CLIENT(IRAI_ID)
SELECTCASE STR_DATA_IRAI(IRAI_ID, "의뢰명", CLIENT_ID)
;개개의 의뢰명으로 분기
CASE "메이링에게 간식"
	SELECTCASE SCENE
	CASE "의뢰 조건 표시"
	;무엇인가 전용의 표시 정보를 마련하고 싶을 시용
	;수탁 끝난 의뢰 표시로 사용됩니다
	;
	;PRINT계만으로 SOURCE라든지는 넣으면 안 돼, WAIT도 없음으로
	;여기 이외의표시 항목은
	;PRINTFORML 　　　　　：
	;되고 있으므로 스페이스를 가지런히 하는 편이 보기에 좋습니다

	CASE "의뢰실행시"
	;이 CASE에 한정해, RESULT가 의미를 가집니다
	;의뢰실행시의 RESULT에는 IRAI_CONST_RESULT()를 사용해 주세요
	;가능한 인수는"캔슬", "실행해 성공", "실행해 실패", "실행해 미해결"입니다
	;독자 처리를 가르치고 싶을 때는"실행해 미해결"로 유보하자 마자 해 주세요
		SOURCE:환락 = 500
		PRINTFORMW %마스터는% %CALLNAME:TARGET%에게 %CALLNAME:15%의 간식을 건네주었다
		PRINTFORMW %타겟은% 기꺼이 받았다
		PRINTL
		CALL CHANGE_CFLAG(2, TARGET, 30)
		CALL CHANGE_CFLAG(4, TARGET, 15)
		TALENT:기분 = LIMIT(TALENT:기분 + 1, -1, 1)
		RETURN IRAI_CONST_RESULT("실행해 성공")
	CASE "의뢰 성공시"
	;성공 보고시의 보수 등
		CALL CHANGE_CFLAG(2, TARGET, 20)
		CALL CHANGE_CFLAG(4, TARGET, 10)
		CALL GET_MONEY_YEN(1000, 2)
	CASE "의뢰 보고 불필요"
	;달성 후에 보고를 하지 않았던 경우, 다소 줄인다
		PRINTFORML 의뢰를 달성 한 %CALLNAME:MASTER%의 방에 %조사처리(CALLNAME:CHARA,"으로")%부터의 답례\\1000이 도착했다
		CALL GET_MONEY_YEN(1000, 1)
		CALL CHANGE_CFLAG(2, CHARA, 15)
		CALL CHANGE_CFLAG(4, CHARA, 7)
	CASE "의뢰 실패시"
	;실패 보고시의 처리
	ENDSELECT
ENDSELECT


code:
@고유의뢰23(ARG, O_DATA, V_NAME)
#FUNCTION
#LOCALSIZE 1
#LOCALSSIZE 1
#DIMS O_DATA
#DIMS V_NAME
SELECTCASE ARG % 1000
;ID101：카리스마 부족
CASE 101
	SELECTCASE O_DATA
	CASE "의뢰명"
		CALLF MAKE_STR(V_NAME, "카리스마 부족")
	CASE "의뢰내용 표시"
		CALLF MAKE_STR(V_NAME, "100 카리스마 건네준다")
	CASE "의뢰 보수 표시"
		CALLF MAKE_STR(V_NAME, @"\\20000")
	CASE "의뢰실행 커맨드 이름"
		CALLF MAKE_STR(V_NAME, "카리스마를 준다")

	CASE "의뢰내용"
		CALLF MAKE_INT(V_NAME, MAKE_IRAI_DATA(0, "작업"))
	CASE "의뢰 서브"
	CASE "의뢰기한"
	CASE "의뢰 발생율"
	;이것은 다른 고유 의뢰와의 상대 확률 어째서 10%가 아닙니다
		CALLF MAKE_INT(V_NAME, 10)
	CASE "의뢰 발생 조건"
		CALLF MAKE_INT(V_NAME, 1)
	CASE "의뢰 수탁 가능 조건"
	;수탁 가능은@COM_ABLE366도 확인
	;여기를 참조하는 것은 의뢰인을 TARGET로 하고 있는 때이므로 소안내로 좋아
		CALLF MAKE_INT(V_NAME, 1)
	CASE "의뢰실행 가능 조건"
	;실행 가능은@COM_ABLE367도 확인
		SIF MONEY:2 >= 100
			CALLF MAKE_INT(V_NAME, 1)
	;성공/실패 처리는 CARRYOUT로 직접 쓴다
	;SOURCE나 ITEM 입수 따위, 내용이 복잡해서
	CASE "의뢰 소멸 조건"
	;30%로 소실
		SIF RAND:100 < 30
			CALLF MAKE_INT(V_NAME, 1)
	ENDSELECT
ENDSELECT

;고유 의뢰의 설정용
;이 함수는 실행/성공/실패시의
;보수와 페널티와 지문만을 취급합니다
;각 캐릭터의 메시지는 다른 장소에서
@IRAI_고유23(CHARA, IRAI_ID, SCENE)
#DIM  CHARA
#DIM  IRAI_ID
#DIMS SCENE
#DIM  CLIENT_ID
CLIENT_ID = IRAI_ID_TO_CLIENT(IRAI_ID)
SELECTCASE STR_DATA_IRAI(IRAI_ID, "의뢰명", CLIENT_ID)
;개개의 의뢰명으로 분기
CASE "카리스마 부족"
	SELECTCASE SCENE
	CASE "의뢰 조건 표시"
	;무엇인가 전용의 표시 정보를 마련하고 싶을 시용
	;수탁 끝난 의뢰 표시로 사용됩니다
	;
	;PRINT계만으로 SOURCE라든지는 넣으면 안 돼, WAIT도 없음으로
	;여기 이외의표시 항목은
	;PRINTFORML 　　　　　：
	;되고 있으므로 스페이스를 가지런히 하는 편이 보기에 좋습니다

	CASE "의뢰실행시"
	;이 CASE에 한정해, RESULT가 의미를 가집니다
	;의뢰실행시의 RESULT에는 IRAI_CONST_RESULT()를 사용해 주세요
	;가능한 인수는"캔슬", "실행해 성공", "실행해 실패", "실행해 미해결"입니다
	;독자 처리를 가르치고 싶을 때는"실행해 미해결"로 유보하자 마자 해 주세요
		SOURCE:환락 = 3000
		CALL LOST_MONEY_CM(100, 2)
		RETURN IRAI_CONST_RESULT("실행해 성공")
	CASE "의뢰 성공시"
	;성공 보고시의 보수 등
		MONEY += 20000
		;시스템 메시지 다하고 호감도 변화
		;마지막 인수만 호감도가 변화
		CALL CHANGE_CFLAG(2, TARGET, 20)
		;시스템 메시지 다하고 신뢰도 변화
		;마지막 인수만 신뢰도가 변화
		CALL CHANGE_CFLAG(4, TARGET, 10)
		CALL GET_MONEY_YEN(20000, 2)
	CASE "의뢰 실패시"
	;실패 보고시의 처리
		CALL CHANGE_CFLAG(2, TARGET, -10)
		CALL CHANGE_CFLAG(4, TARGET, -10)
	ENDSELECT
ENDSELECT


code:
@고유의뢰29(ARG, O_DATA, V_NAME)
#FUNCTION
#LOCALSIZE 1
#LOCALSSIZE 1
#DIMS O_DATA
#DIMS V_NAME
SELECTCASE ARG % 1000
;ID101：술을 주세요
CASE 101
	SELECTCASE O_DATA
	CASE "의뢰명"
		CALLF MAKE_STR(V_NAME, "술을 주세요")
	CASE "의뢰내용 표시"
		CALLF MAKE_STR(V_NAME, "술을 3개 이상 납입한다")
	CASE "의뢰 보수 표시"
		CALLF MAKE_STR(V_NAME, @"\\5000")
	CASE "의뢰실행 커맨드 이름"
		CALLF MAKE_STR(V_NAME, "술을 건네준다")

	;의뢰 대상이 실행시로 결정하므로
	;우선 작업으로 해 CLIENT와의 동실 판정만 시켜
	CASE "의뢰내용"
		CALLF MAKE_INT(V_NAME, MAKE_IRAI_DATA(0, "작업"))
	CASE "의뢰 서브"
	CASE "의뢰기한"
	;발생시는 아니고 수탁시에 확정합니다
		CALLF MAKE_INT(V_NAME, 8)
	CASE "의뢰 발생율"
	;이것은 다른 고유 의뢰와의 상대 확률 어째서 10%가 아닙니다
		CALLF MAKE_INT(V_NAME, 10)
	CASE "의뢰 발생 조건"
		CALLF MAKE_INT(V_NAME, 1)
	CASE "의뢰 수탁 가능 조건"
	;수탁 가능은@COM_ABLE366도 확인
	;여기를 참조하는 것은 의뢰인을 TARGET로 하고 있는 때이므로 소안내로 좋아
		CALLF MAKE_INT(V_NAME, 1)
	CASE "의뢰실행 가능 조건"
	;실행 가능은@COM_ABLE367도 확인
		SIF MAX(ITEM:51, ITEM:52, ITEM:53) >= 3
			CALLF MAKE_INT(V_NAME, 1)
	;성공/실패 처리는 CARRYOUT로 직접 쓴다
	;SOURCE나 ITEM 입수 따위, 내용이 복잡해서
	CASE "의뢰 소멸 조건"
	;30%로 소실
		SIF RAND:100 < 30
			CALLF MAKE_INT(V_NAME, 1)
	ENDSELECT
;ID102：가두 앙케이트
CASE 102
	SELECTCASE O_DATA
	CASE "의뢰명"
		CALLF MAKE_STR(V_NAME, "가두 앙케이트")
	CASE "의뢰내용 표시"
		CALLF MAKE_STR(V_NAME, "마을 광장에서의 탐문")
	CASE "의뢰 보수 표시"
		CALLF MAKE_STR(V_NAME, @"\\3000")
	CASE "의뢰실행 커맨드 이름"
		CALLF MAKE_STR(V_NAME, "가두 앙케이트")

	CASE "의뢰내용"
		;마을 중앙 광장(202)이 대상
		CALLF MAKE_INT(V_NAME, MAKE_IRAI_DATA(202, "전령(장소)"))
	CASE "의뢰 서브"
	CASE "의뢰기한"
	;발생시는 아니고 수탁시에 확정합니다
		CALLF MAKE_INT(V_NAME, 7)
	CASE "의뢰 발생율"
	;이것은 다른 고유 의뢰와의 상대 확률 어째서 10%가 아닙니다
		CALLF MAKE_INT(V_NAME, 10)
	CASE "의뢰 발생 조건"
		CALLF MAKE_INT(V_NAME, 1)
	CASE "의뢰 수탁 가능 조건"
	;수탁 가능은@COM_ABLE366도 확인
	;여기를 참조하는 것은 의뢰인을 TARGET로 하고 있는 때이므로 소안내로 좋아
		CALLF MAKE_INT(V_NAME, 1)
	CASE "의뢰실행 가능 조건"
	;실행 가능은@COM_ABLE367도 확인
		IF FLAG:70
		ELSE
			CALLF MAKE_INT(V_NAME, 1)
		ENDIF
	;성공/실패 처리는 CARRYOUT로 직접 쓴다
	;SOURCE나 ITEM 입수 따위, 내용이 복잡해서
	CASE "의뢰 소멸 조건"
	;30%로 소실
		SIF RAND:100 < 30
			CALLF MAKE_INT(V_NAME, 1)
	ENDSELECT
ENDSELECT

;고유 의뢰의 설정용
;이 함수는 실행/성공/실패시의
;보수와 페널티와 지문만을 취급합니다
;각 캐릭터의 메시지는 다른 장소에서
@IRAI_고유29(CHARA, IRAI_ID, SCENE)
#DIM  CHARA
#DIM  IRAI_ID
#DIMS SCENE
#DIM  CLIENT_ID
CLIENT_ID = IRAI_ID_TO_CLIENT(IRAI_ID)
SELECTCASE STR_DATA_IRAI(IRAI_ID, "의뢰명", CLIENT_ID)
;개개의 의뢰명으로 분기
CASE "술을 주세요"
	SELECTCASE SCENE
	CASE "의뢰 조건 표시"
	;무엇인가 전용의 표시 정보를 마련하고 싶을 시용
	;수탁 끝난 의뢰 표시로 사용됩니다
	;
	;PRINT계만으로 SOURCE라든지는 넣으면 안 돼, WAIT도 없음으로
	;여기 이외의표시 항목은
	;PRINTFORML 　　　　　：
	;되고 있으므로 스페이스를 가지런히 하는 편이 보기에 좋습니다

	CASE "의뢰실행시"
	;이 CASE에 한정해, RESULT가 의미를 가집니다
	;의뢰실행시의 RESULT에는 IRAI_CONST_RESULT()를 사용해 주세요
	;가능한 인수는"캔슬", "실행해 성공", "실행해 실패", "실행해 미해결"입니다
	;독자 처리를 가르치고 싶을 때는"실행해 미해결"로 유보하자 마자 해 주세요
		PRINTL 어떤 것을 건네줄까?
		CALL 술일람표시(3)
		IF INRANGE(RESULT, 51, 53)
			PRINTFORML %마스터는% %CALLNAME:TARGET%에게 술을 건네주었다
			;TFLAG에 건네준 술번호를 보존. 보수등을 분기 시키고 싶은 경우에.
			TFLAG:194 = RESULT
			LOCALS = %ITEMNAME:RESULT%
			CALL LOST_ITEM(LOCALS, 3, 2)
			RETURN IRAI_CONST_RESULT("실행해 성공")
		ELSE
			RETURN IRAI_CONST_RESULT("캔슬")
		ENDIF
	CASE "의뢰 성공시"
	;성공 보고시의 보수 등
		CALL KIGEN_CHANGE(TARGET, 100, 1)
		SOURCE:TARGET:환락 += 2000
		;시스템 메시지 다하고 호감도 변화
		;마지막 인수만 호감도가 변화
		CALL CHANGE_CFLAG(2, TARGET, 30)
		;시스템 메시지 다하고 신뢰도 변화
		;마지막 인수만 신뢰도가 변화
		CALL CHANGE_CFLAG(4, TARGET, 10)
		CALL GET_MONEY_YEN(5000, 2)
	CASE "의뢰 실패시"
	;실패 보고시의 처리
		;시스템 메시지 다하고 호감도 변화
		;마지막 인수만 호감도가 변화
		CALL CHANGE_CFLAG(2, TARGET, -20)
		;시스템 메시지 다하고 신뢰도 변화
		;마지막 인수만 신뢰도가 변화
		CALL CHANGE_CFLAG(4, TARGET, -10)
	ENDSELECT

CASE "가두 앙케이트"
	SELECTCASE SCENE
	CASE "의뢰 조건 표시"
	;무엇인가 전용의 표시 정보를 마련하고 싶을 시용
	;수탁 끝난 의뢰 표시로 사용됩니다
	;
	;PRINT계만으로 SOURCE라든지는 넣으면 안 돼, WAIT도 없음으로
	;여기 이외의표시 항목은
	;PRINTFORML 　　　　　：
	;되고 있으므로 스페이스를 가지런히 하는 편이 보기에 좋습니다

	CASE "의뢰실행시"
	;이 CASE에 한정해, RESULT가 의미를 가집니다
	;의뢰실행시의 RESULT에는 IRAI_CONST_RESULT()를 사용해 주세요
	;가능한 인수는"캔슬", "실행해 성공", "실행해 실패", "실행해 미해결"입니다
	;독자 처리를 가르치고 싶을 때는"실행해 미해결"로 유보하자 마자 해 주세요
		DOWNBASE:MASTER:기력 += 50
		PRINTFORMW %마스터는% 길가는 마을 사람들을 붙잡고선 앙케이트 조사를 했다
		TIME += 120
		RETURN IRAI_CONST_RESULT("실행해 성공")
	CASE "의뢰 성공시"
	;성공 보고시의 보수 등
		CALL KIGEN_CHANGE(TARGET, 100, 1)
		SOURCE:TARGET:환락 = 1000
		SOURCE:TARGET:정복 = 500
		;시스템 메시지 다하고 호감도 변화
		;마지막 인수만 호감도가 변화
		CALL CHANGE_CFLAG(2, TARGET, 30)
		;시스템 메시지 다하고 신뢰도 변화
		;마지막 인수만 신뢰도가 변화
		CALL CHANGE_CFLAG(4, TARGET, 15)
		CALL GET_MONEY_YEN(3000, 2)
	CASE "의뢰 실패시"
	;실패 보고시의 처리
		;시스템 메시지 다하고 호감도 변화
		;마지막 인수만 호감도가 변화
		CALL CHANGE_CFLAG(2, TARGET, -20)
		;시스템 메시지 다하고 신뢰도 변화
		;마지막 인수만 신뢰도가 변화
		CALL CHANGE_CFLAG(4, TARGET, -10)
	ENDSELECT
ENDSELECT


code:
@고유의뢰30(ARG, O_DATA, V_NAME)
#FUNCTION
#LOCALSIZE 1
#LOCALSSIZE 1
#DIMS O_DATA
#DIMS V_NAME
SELECTCASE ARG % 1000
;ID101：설교 타임
CASE 101
	SELECTCASE O_DATA
	CASE "의뢰명"
		CALLF MAKE_STR(V_NAME, "설교 타임")
	CASE "의뢰내용 표시"
		CALLF MAKE_STR(V_NAME, "코마치에게 에이키의 편지를 전해준다")
	CASE "의뢰 보수 표시"
		CALLF MAKE_STR(V_NAME, @"\\1000")
	CASE "의뢰실행 커맨드 이름"
		CALLF MAKE_STR(V_NAME, "편지를 건네준다")

	CASE "의뢰내용"
		CALLF MAKE_INT(V_NAME, MAKE_IRAI_DATA([[코마치]], "전령(인물)"))
	CASE "의뢰 서브"
	CASE "의뢰기한"
	;발생시는 아니고 수탁시에 확정합니다
	CASE "의뢰 발생율"
	;이것은 다른 고유 의뢰와의 상대 확률 어째서 10%가 아닙니다
		CALLF MAKE_INT(V_NAME, 10)
	CASE "의뢰 발생 조건"
		SIF CAN_MEET([[코마치]])
			CALLF MAKE_INT(V_NAME, 1)
	CASE "의뢰 수탁 가능 조건"
	;수탁 가능은@COM_ABLE366도 확인
		;일의 요일이 아니다
		IF !YOUBI_MATCH(DAY, "월수금")
		;일의 시간대가 아니다
		ELSEIF !INRANGE(TIME / 60, 11, 15)
		;코마치가 삼도천에 있다
		ELSEIF CFLAG:[[코마치]]:현재위치 == 삼도천
		;상기의 조건을 빠졌을 경우, 땡땡이 인정으로 한다
		ELSE
			CALLF MAKE_INT(V_NAME, 1)
		ENDIF
	CASE "의뢰실행 가능 조건"
	;실행 가능은@COM_ABLE367도 확인
		CALLF MAKE_INT(V_NAME, 1)
	;성공/실패 처리는 CARRYOUT로 직접 쓴다
	;SOURCE나 ITEM 입수 따위, 내용이 복잡해서
	CASE "의뢰 소멸 조건"
	;30%로 소실
	SIF RAND:100 < 30
		CALLF MAKE_INT(V_NAME, 1)
	ENDSELECT
ENDSELECT

;고유 의뢰의 설정용
;이 함수는 실행/성공/실패시의
;보수와 페널티와 지문만을 취급합니다
;각 캐릭터의 메시지는 다른 장소에서
@IRAI_고유30(CHARA, IRAI_ID, SCENE)
#DIM  CHARA
#DIM  IRAI_ID
#DIMS SCENE
#DIM  CLIENT_ID
CLIENT_ID = IRAI_ID_TO_CLIENT(IRAI_ID)
SELECTCASE STR_DATA_IRAI(IRAI_ID, "의뢰명", CLIENT_ID)
;개개의 의뢰명으로 분기
CASE "설교 타임"
	SELECTCASE SCENE
	CASE "의뢰 조건 표시"
	;무엇인가 전용의 표시 정보를 마련하고 싶을 시용
	;수탁 끝난 의뢰 표시로 사용됩니다
	;
	;PRINT계만으로 SOURCE라든지는 넣으면 안 돼, WAIT도 없음으로
	;여기 이외의표시 항목은
	;PRINTFORML 　　　　　：
	;되고 있으므로 스페이스를 가지런히 하는 편이 보기에 좋습니다

	CASE "의뢰실행시"
	;이 CASE에 한정해, RESULT가 의미를 가집니다
	;의뢰실행시의 RESULT에는 IRAI_CONST_RESULT()를 사용해 주세요
	;가능한 인수는"캔슬", "실행해 성공", "실행해 실패", "실행해 미해결"입니다
	;독자 처리를 가르치고 싶을 때는"실행해 미해결"로 유보하자 마자 해 주세요
		PRINTFORMW %마스터는% %CALLNAME:TARGET%에게 맡고 있던 편지를 전했다
		SOURCE:공포 = 100
		SOURCE:굴종 = 500
		CALL CHANGE_CFLAG(4, TARGET, 3)
		RETURN IRAI_CONST_RESULT("실행해 성공")
	CASE "의뢰 성공시"
	;성공 보고시의 보수 등
		;시스템 메시지 다하고 호감도 변화
		;마지막 인수만 호감도가 변화
		CALL CHANGE_CFLAG(2, TARGET, 20)
		;시스템 메시지 다하고 신뢰도 변화
		;마지막 인수만 신뢰도가 변화
		CALL CHANGE_CFLAG(4, TARGET, 15)
		CALL GET_MONEY_YEN(1000, 2)
	CASE "의뢰 실패시"
	;실패 보고시의 처리
		;시스템 메시지 다하고 호감도 변화
		;마지막 인수만 호감도가 변화
		CALL CHANGE_CFLAG(2, TARGET, -20)
		;시스템 메시지 다하고 신뢰도 변화
		;마지막 인수만 신뢰도가 변화
		CALL CHANGE_CFLAG(4, TARGET, -10)
	ENDSELECT
ENDSELECT


code:
@고유의뢰49(ARG, O_DATA, V_NAME)
#FUNCTION
#LOCALSIZE 1
#LOCALSSIZE 1
#DIMS O_DATA
#DIMS V_NAME
SELECTCASE ARG % 1000
;ID101：참고 문헌
CASE 101
	SELECTCASE O_DATA
	CASE "의뢰명"
		CALLF MAKE_STR(V_NAME, "참고 문헌")
	CASE "의뢰내용 표시"
		CALLF MAKE_STR(V_NAME, "책을 빌려온다")
	CASE "의뢰 보수 표시"
		CALLF MAKE_STR(V_NAME, @"\\500")
	CASE "의뢰실행 커맨드 이름"
		CALLF MAKE_STR(V_NAME, "책을 빌린다")
	CASE "의뢰 비고 표시"
		CALLF MAKE_STR(V_NAME, "마을의 대본소나 홍마관의 대도서관에서 책을 빌려 오는 심부름이다")

	CASE "의뢰내용"
		CALLF MAKE_INT(V_NAME, MAKE_IRAI_DATA(0, "그 외"))
	CASE "의뢰 서브"
	CASE "의뢰기한"
		CALLF MAKE_INT(V_NAME, 7)
	CASE "의뢰 발생율"
	;이것은 다른 고유 의뢰와의 상대 확률 어째서 10%가 아닙니다
		CALLF MAKE_INT(V_NAME, 10)
	CASE "의뢰 발생 조건"
		CALLF MAKE_INT(V_NAME, 1)
	CASE "의뢰 수탁 가능 조건"
	;수탁 가능은@COM_ABLE366도 확인
	;여기를 참조하는 것은 의뢰인을 TARGET로 하고 있는 때이므로 소안내로 좋아
		CALLF MAKE_INT(V_NAME, 1)
	CASE "의뢰실행 가능 조건"
	;실행 가능은@COM_ABLE367도 확인
		SIF GROUPMATCH(CFLAG:MASTER:현재위치, GET_MAP_REPLACEMENT(213), GET_MAP_REPLACEMENT(310))
			CALLF MAKE_INT(V_NAME, 1)
	;성공/실패 처리는 CARRYOUT로 직접 쓴다
	;SOURCE나 ITEM 입수 따위, 내용이 복잡해서
	CASE "의뢰 소멸 조건"
	;30%로 소실
		SIF RAND:100 < 30
			CALLF MAKE_INT(V_NAME, 1)
	ENDSELECT
;ID102：도서의 반환(마을)
CASE 102
	SELECTCASE O_DATA
	CASE "의뢰명"
		CALLF MAKE_STR(V_NAME, "도서의 반환(마을)")
	CASE "의뢰내용 표시"
		CALLF MAKE_STR(V_NAME, "책을 돌려주고 온다")
	CASE "의뢰 보수 표시"
		CALLF MAKE_STR(V_NAME, @"\\500")
	CASE "의뢰실행 커맨드 이름"
		CALLF MAKE_STR(V_NAME, "책을 돌려준다")

	CASE "의뢰내용"
		CALLF MAKE_INT(V_NAME, MAKE_IRAI_DATA(213, "전령(장소)"))
	CASE "의뢰 서브"
	CASE "의뢰기한"
		CALLF MAKE_INT(V_NAME, 3)
	CASE "의뢰 발생율"
	;이것은 다른 고유 의뢰와의 상대 확률 어째서 10%가 아닙니다
		CALLF MAKE_INT(V_NAME, 10)
	CASE "의뢰 발생 조건"
		CALLF MAKE_INT(V_NAME, 1)
	CASE "의뢰 수탁 가능 조건"
	;수탁 가능은@COM_ABLE366도 확인
	;여기를 참조하는 것은 의뢰인을 TARGET로 하고 있는 때이므로 소안내로 좋아
		CALLF MAKE_INT(V_NAME, 1)
	CASE "의뢰실행 가능 조건"
	;실행 가능은@COM_ABLE367도 확인
		CALLF MAKE_INT(V_NAME, 1)
	;성공/실패 처리는 CARRYOUT로 직접 쓴다
	;SOURCE나 ITEM 입수 따위, 내용이 복잡해서
	CASE "의뢰 소멸 조건"
	;30%로 소실
		SIF RAND:100 < 30
			CALLF MAKE_INT(V_NAME, 1)
	ENDSELECT
;ID103：도서의 반환(홍마관)
CASE 103
	SELECTCASE O_DATA
	CASE "의뢰명"
		CALLF MAKE_STR(V_NAME, "도서의 반환(홍마관)")
	CASE "의뢰내용 표시"
		CALLF MAKE_STR(V_NAME, "책을 돌려주고 온다")
	CASE "의뢰 보수 표시"
		CALLF MAKE_STR(V_NAME, @"\\500")
	CASE "의뢰실행 커맨드 이름"
		CALLF MAKE_STR(V_NAME, "책을 돌려준다")

	CASE "의뢰내용"
		CALLF MAKE_INT(V_NAME, MAKE_IRAI_DATA(310, "전령(장소)"))
	CASE "의뢰 서브"
	CASE "의뢰기한"
		CALLF MAKE_INT(V_NAME, 3)
	CASE "의뢰 발생율"
	;이것은 다른 고유 의뢰와의 상대 확률 어째서 10%가 아닙니다
		CALLF MAKE_INT(V_NAME, 10)
	CASE "의뢰 발생 조건"
		CALLF MAKE_INT(V_NAME, 1)
	CASE "의뢰 수탁 가능 조건"
	;수탁 가능은@COM_ABLE366도 확인
	;여기를 참조하는 것은 의뢰인을 TARGET로 하고 있는 때이므로 소안내로 좋아
		CALLF MAKE_INT(V_NAME, 1)
	CASE "의뢰실행 가능 조건"
	;실행 가능은@COM_ABLE367도 확인
		CALLF MAKE_INT(V_NAME, 1)
	;성공/실패 처리는 CARRYOUT로 직접 쓴다
	;SOURCE나 ITEM 입수 따위, 내용이 복잡해서
	CASE "의뢰 소멸 조건"
	;30%로 소실
		SIF RAND:100 < 30
			CALLF MAKE_INT(V_NAME, 1)
	ENDSELECT
ENDSELECT

;고유 의뢰의 설정용
;이 함수는 실행/성공/실패시의
;보수와 페널티와 지문만을 취급합니다
;각 캐릭터의 메시지는 다른 장소에서
@IRAI_고유49(CHARA, IRAI_ID, SCENE)
#DIM  CHARA
#DIM  IRAI_ID
#DIMS SCENE
#DIM  CLIENT_ID
CLIENT_ID = IRAI_ID_TO_CLIENT(IRAI_ID)
SELECTCASE STR_DATA_IRAI(IRAI_ID, "의뢰명", CLIENT_ID)
;개개의 의뢰명으로 분기
;나무!
CASE "참고 문헌", "도서의 반환(마을)", "도서의 반환(홍마관)"
	SELECTCASE SCENE
	CASE "의뢰 조건 표시"
	;무엇인가 전용의 표시 정보를 마련하고 싶을 시용
	;수탁 끝난 의뢰 표시로 사용됩니다
	;
	;PRINT계만으로 SOURCE라든지는 넣으면 안 돼, WAIT도 없음으로
	;여기 이외의표시 항목은
	;PRINTFORML 　　　　　：
	;되고 있으므로 스페이스를 가지런히 하는 편이 보기에 좋습니다

	CASE "의뢰실행시"
	;이 CASE에 한정해, RESULT가 의미를 가집니다
	;의뢰실행시의 RESULT에는 IRAI_CONST_RESULT()를 사용해 주세요
	;가능한 인수는"캔슬", "실행해 성공", "실행해 실패", "실행해 미해결"입니다
	;독자 처리를 가르치고 싶을 때는"실행해 미해결"로 유보하자 마자 해 주세요
		PRINTFORMW %마스터는% %CALLNAME:49%의 개야를 해냈다
		RETURN IRAI_CONST_RESULT("실행해 성공")
	CASE "의뢰 성공시"
	;성공 보고시의 보수 등
		CALL CHANGE_CFLAG(2, TARGET, 20)
		CALL CHANGE_CFLAG(4, TARGET, 10)
		CALL GET_MONEY_YEN(500, 2)
	CASE "의뢰 실패시"
	;실패 보고시의 처리
		CALL CHANGE_CFLAG(2, TARGET, -10)
		CALL CHANGE_CFLAG(4, TARGET, -10)
	ENDSELECT
ENDSELECT


code:
@고유의뢰51(ARG, O_DATA, V_NAME)
#FUNCTION
#LOCALSIZE 1
#LOCALSSIZE 1
#DIMS O_DATA
#DIMS V_NAME
SELECTCASE ARG % 1000
;ID101：니토리와 오이
CASE 101
	SELECTCASE O_DATA
	CASE "의뢰명"
		CALLF MAKE_STR(V_NAME, "니토리와 오이")
	CASE "의뢰내용 표시"
		CALLF MAKE_STR(V_NAME, "오이를 납입한다")
	CASE "의뢰 보수 표시"
		CALLF MAKE_STR(V_NAME, @"\\1000")
	CASE "의뢰실행 커맨드 이름"
		CALLF MAKE_STR(V_NAME, "오이를 납입")

	CASE "의뢰내용"
		CALLF MAKE_INT(V_NAME, MAKE_IRAI_DATA(GETNUM(ITEM, "오이"), "조달"))
	CASE "의뢰 서브"
		CALLF MAKE_INT(V_NAME, 1)
	CASE "의뢰기한"
		CALLF MAKE_INT(V_NAME, 7)
	CASE "의뢰 발생율"
	;이것은 다른 고유 의뢰와의 상대 확률 어째서 10%가 아닙니다
		CALLF MAKE_INT(V_NAME, 10)
	CASE "의뢰 발생 조건"
		CALLF MAKE_INT(V_NAME, 1)
	CASE "의뢰 수탁 가능 조건"
	;수탁 가능은@COM_ABLE366도 확인
	;여기를 참조하는 것은 의뢰인을 TARGET로 하고 있는 때이므로 소안내로 좋아
		CALLF MAKE_INT(V_NAME, 1)
	CASE "의뢰실행 가능 조건"
	;실행 가능은@COM_ABLE367도 확인
		CALLF MAKE_INT(V_NAME, 1)
	;성공/실패 처리는 CARRYOUT로 직접 쓴다
	;SOURCE나 ITEM 입수 따위, 내용이 복잡해서
	CASE "의뢰 소멸 조건"
	;30%로 소실
		SIF RAND:100 < 30
			CALLF MAKE_INT(V_NAME, 1)
	ENDSELECT
;ID102：캇파스타터
CASE 102
	SELECTCASE O_DATA
	CASE "의뢰명"
		CALLF MAKE_STR(V_NAME, "캇파스타터")
	CASE "의뢰내용 표시"
		CALLF MAKE_STR(V_NAME, "연구개발용의 자금 기부(100 카리스마)")
	CASE "의뢰 보수 표시"
		CALLF MAKE_STR(V_NAME, "조품(로터 1개)")
	CASE "의뢰실행 커맨드 이름"
		CALLF MAKE_STR(V_NAME, "자금 기부")

	CASE "의뢰내용"
		CALLF MAKE_INT(V_NAME, MAKE_IRAI_DATA(0, "작업"))
	CASE "의뢰 서브"
	CASE "의뢰기한"
	CASE "의뢰 발생율"
	;이것은 다른 고유 의뢰와의 상대 확률 어째서 10%가 아닙니다
		CALLF MAKE_INT(V_NAME, 10)
	CASE "의뢰 발생 조건"
		CALLF MAKE_INT(V_NAME, 1)
	CASE "의뢰 수탁 가능 조건"
	;수탁 가능은@COM_ABLE366도 확인
	;여기를 참조하는 것은 의뢰인을 TARGET로 하고 있는 때이므로 소안내로 좋아
		CALLF MAKE_INT(V_NAME, 1)
	CASE "의뢰실행 가능 조건"
	;실행 가능은@COM_ABLE367도 확인
		SIF MONEY:2 >= 100
			CALLF MAKE_INT(V_NAME, 1)
	;성공/실패 처리는 CARRYOUT로 직접 쓴다
	;SOURCE나 ITEM 입수 따위, 내용이 복잡해서
	CASE "의뢰 소멸 조건"
	;30%로 소실
		SIF RAND:100 < 30
			CALLF MAKE_INT(V_NAME, 1)
	ENDSELECT
ENDSELECT

;고유 의뢰의 설정용
;이 함수는 실행/성공/실패시의
;보수와 페널티와 지문만을 취급합니다
;각 캐릭터의 메시지는 다른 장소에서
@IRAI_고유51(CHARA, IRAI_ID, SCENE)
#DIM  CHARA
#DIM  IRAI_ID
#DIMS SCENE
#DIM  CLIENT_ID
CLIENT_ID = IRAI_ID_TO_CLIENT(IRAI_ID)
SELECTCASE STR_DATA_IRAI(IRAI_ID, "의뢰명", CLIENT_ID)
;개개의 의뢰명으로 분기
CASE "니토리와 오이"
	SELECTCASE SCENE
	CASE "의뢰 조건 표시"
	;무엇인가 전용의 표시 정보를 마련하고 싶을 시용
	;수탁 끝난 의뢰 표시로 사용됩니다
	;
	;PRINT계만으로 SOURCE라든지는 넣으면 안 돼, WAIT도 없음으로
	;여기 이외의표시 항목은
	;PRINTFORML 　　　　　：
	;되고 있으므로 스페이스를 가지런히 하는 편이 보기에 좋습니다

	CASE "의뢰실행시"
	;이 CASE에 한정해, RESULT가 의미를 가집니다
	;의뢰실행시의 RESULT에는 IRAI_CONST_RESULT()를 사용해 주세요
	;가능한 인수는"캔슬", "실행해 성공", "실행해 실패", "실행해 미해결"입니다
	;독자 처리를 가르치고 싶을 때는"실행해 미해결"로 유보하자 마자 해 주세요
		SOURCE:TARGET:환락 += 500
		PRINTFORML %마스터는% %CALLNAME:TARGET%에게 오이를 납입했다
		CALL LOST_ITEM("오이", 1, 2)
		RETURN IRAI_CONST_RESULT("실행해 성공")
	CASE "의뢰 성공시"
	;성공 보고시의 보수 등
		CALL CHANGE_CFLAG(2, TARGET, 30)
		CALL CHANGE_CFLAG(4, TARGET, 20)
		TALENT:기분 = LIMIT(TALENT:기분 + 1, -1, 1)
		CALL GET_MONEY_YEN(1000, 2)
	CASE "의뢰 실패시"
	;실패 보고시의 처리
		CALL CHANGE_CFLAG(2, TARGET, -10)
		CALL CHANGE_CFLAG(4, TARGET, -10)
		TALENT:기분 = LIMIT(TALENT:기분 - 1, -1, 1)
	ENDSELECT

CASE "캇파스타터"
	SELECTCASE SCENE
	CASE "의뢰 조건 표시"
	;무엇인가 전용의 표시 정보를 마련하고 싶을 시용
	;수탁 끝난 의뢰 표시로 사용됩니다
	;
	;PRINT계만으로 SOURCE라든지는 넣으면 안 돼, WAIT도 없음으로
	;여기 이외의표시 항목은
	;PRINTFORML 　　　　　：
	;되고 있으므로 스페이스를 가지런히 하는 편이 보기에 좋습니다

	CASE "의뢰실행시"
	;이 CASE에 한정해, RESULT가 의미를 가집니다
	;의뢰실행시의 RESULT에는 IRAI_CONST_RESULT()를 사용해 주세요
	;가능한 인수는"캔슬", "실행해 성공", "실행해 실패", "실행해 미해결"입니다
	;독자 처리를 가르치고 싶을 때는"실행해 미해결"로 유보하자 마자 해 주세요
		SOURCE:환락 = 1000
		PRINTFORML %마스터는% %CALLNAME:TARGET%에게 카리스마를 기부했다
		CALL LOST_MONEY_CM(100, 2)
		RETURN IRAI_CONST_RESULT("실행해 성공")
	CASE "의뢰 성공시"
	;성공 보고시의 보수 등
		;시스템 메시지 다하고 호감도 변화
		;마지막 인수만 호감도가 변화
		CALL CHANGE_CFLAG(2, TARGET, 20)
		;시스템 메시지 다하고 신뢰도 변화
		;마지막 인수만 신뢰도가 변화
		CALL CHANGE_CFLAG(4, TARGET, 10)
		PRINTFORML 조품의 로터를 받았다
		CALL GET_ITEM("로터", 1, 2)
		RETURN IRAI_CONST_RESULT("실행해 성공")
	CASE "의뢰 실패시"
	;실패 보고시의 처리
		CALL CHANGE_CFLAG(2, TARGET, -10)
		CALL CHANGE_CFLAG(4, TARGET, -10)
	ENDSELECT
ENDSELECT


code:
@고유의뢰76(ARG, O_DATA, V_NAME)
#FUNCTION
#LOCALSIZE 1
#LOCALSSIZE 1
#DIMS O_DATA
#DIMS V_NAME
SELECTCASE ARG % 1000
;ID101：추석 진짜 괴롭다
;―, 환상 들어가지 않을 것이고 독자 해석의 덩어리이지만
;바쁜 것 같아라고 생각했던 것이다
CASE 101
	SELECTCASE O_DATA
	CASE "의뢰명"
		CALLF MAKE_STR(V_NAME, "추석 진짜 괴롭다")
	CASE "의뢰내용 표시"
		CALLF MAKE_STR(V_NAME, "삼도의 뱃사공을 보좌한다")
	CASE "의뢰 보수 표시"
		CALLF MAKE_STR(V_NAME, @"\\5000")
	CASE "의뢰실행 커맨드 이름"
		CALLF MAKE_STR(V_NAME, "코마치를 도움")

	CASE "의뢰내용"
		CALLF MAKE_INT(V_NAME, MAKE_IRAI_DATA(0, "작업"))
	CASE "의뢰 서브"
	CASE "의뢰기한"
	;발생시는 아니고 수탁시에 확정합니다
	CASE "의뢰 발생율"
	;이것은 다른 고유 의뢰와의 상대 확률 어째서 10%가 아닙니다
		CALLF MAKE_INT(V_NAME, 10)
	CASE "의뢰 발생 조건"
		SIF GET_MONTH() == "여름의 달" && INRANGE(DAY:3, 1, 15)
			CALLF MAKE_INT(V_NAME, 1)
	CASE "의뢰 수탁 가능 조건"
	;수탁 가능은@COM_ABLE366도 확인
		;여름의 달의 전반을 추석 인정
		IF !(GET_MONTH() == "여름의 달" && INRANGE(DAY:3, 1, 15))
		;토일요일은 쉰다
		ELSEIF IS_WEEKEND(DAY)
		;일의 시간대가 아니다
		ELSEIF !INRANGE(TIME / 60, 10, 15)
		ELSEIF CFLAG:76:연회참가
		;코마치와 함께 삼도천에 있다
		ELSEIF ALLSAMES(CFLAG:76:현재위치, CFLAG:MASTER:현재위치, 삼도천)
			CALLF MAKE_INT(V_NAME, 1)
		ENDIF
	CASE "의뢰실행 가능 조건"
	;실행 가능은@COM_ABLE367도 확인
		SIF ALLSAMES(CFLAG:76:현재위치, CFLAG:MASTER:현재위치, 삼도천)
			CALLF MAKE_INT(V_NAME, 1)
	;성공/실패 처리는 CARRYOUT로 직접 쓴다
	;SOURCE나 ITEM 입수 따위, 내용이 복잡해서
	CASE "의뢰 소멸 조건"
		SIF !(GET_MONTH() == "여름의 달" && INRANGE(DAY:3, 1, 15))
			CALLF MAKE_INT(V_NAME, 1)
	ENDSELECT
ENDSELECT

;고유 의뢰의 설정용
;이 함수는 실행/성공/실패시의
;보수와 페널티와 지문만을 취급합니다
;각 캐릭터의 메시지는 다른 장소에서
@IRAI_고유76(CHARA, IRAI_ID, SCENE)
#DIM  CHARA
#DIM  IRAI_ID
#DIMS SCENE
#DIM  CLIENT_ID
CLIENT_ID = IRAI_ID_TO_CLIENT(IRAI_ID)
SELECTCASE STR_DATA_IRAI(IRAI_ID, "의뢰명", CLIENT_ID)
;개개의 의뢰명으로 분기
CASE "추석 진짜 괴롭다"
	SELECTCASE SCENE
	CASE "의뢰 조건 표시"
	;무엇인가 전용의 표시 정보를 마련하고 싶을 시용
	;수탁 끝난 의뢰 표시로 사용됩니다
	;
	;PRINT계만으로 SOURCE라든지는 넣으면 안 돼, WAIT도 없음으로
	;여기 이외의표시 항목은
	;PRINTFORML 　　　　　：
	;되고 있으므로 스페이스를 가지런히 하는 편이 보기에 좋습니다

	CASE "의뢰실행시"
	;이 CASE에 한정해, RESULT가 의미를 가집니다
	;의뢰실행시의 RESULT에는 IRAI_CONST_RESULT()를 사용해 주세요
	;가능한 인수는"캔슬", "실행해 성공", "실행해 실패", "실행해 미해결"입니다
	;독자 처리를 가르치고 싶을 때는"실행해 미해결"로 유보하자 마자 해 주세요
		DOWNBASE:MASTER:체력 += 100
		DOWNBASE:MASTER:기력 += 50
		PRINTFORMW %마스터는% 망자로 북적거리는 강변에서 사신들과 섞여 일했다
		TIME += 120
		RETURN IRAI_CONST_RESULT("실행해 성공")
	CASE "의뢰 성공시"
	;성공 보고시의 보수 등
		SOURCE:TARGET:환락 += 500
		SOURCE:TARGET:정복 += 500
		;시스템 메시지 다하고 호감도 변화
		;마지막 인수만 호감도가 변화
		CALL CHANGE_CFLAG(2, TARGET, 20)
		;시스템 메시지 다하고 신뢰도 변화
		;마지막 인수만 신뢰도가 변화
		CALL CHANGE_CFLAG(4, TARGET, 10)
		CALL GET_MONEY_YEN(5000, 2)
	CASE "의뢰 실패시"
	;실패 보고시의 처리
		;시스템 메시지 다하고 호감도 변화
		;마지막 인수만 호감도가 변화
		CALL CHANGE_CFLAG(2, TARGET, -20)
		;시스템 메시지 다하고 신뢰도 변화
		;마지막 인수만 신뢰도가 변화
		CALL CHANGE_CFLAG(4, TARGET, -10)
	ENDSELECT

ENDSELECT


code:
@고유의뢰79(ARG, O_DATA, V_NAME)
#FUNCTION
#LOCALSIZE 1
#LOCALSSIZE 1
#DIMS O_DATA
#DIMS V_NAME
SELECTCASE ARG % 1000
;ID101：감주 주세요
CASE 101
	SELECTCASE O_DATA
	CASE "의뢰명"
		CALLF MAKE_STR(V_NAME, "감주 주세요")
	CASE "의뢰내용 표시"
		CALLF MAKE_STR(V_NAME, "감주를 2개 납입한다")
	CASE "의뢰 보수 표시"
		CALLF MAKE_STR(V_NAME, @"\\1000")
	CASE "의뢰실행 커맨드 이름"
		CALLF MAKE_STR(V_NAME, "감주를 건네준다")

	CASE "의뢰내용"
		CALLF MAKE_INT(V_NAME, MAKE_IRAI_DATA(GETNUM(ITEM, "감주"), "조달"))
	CASE "의뢰 서브"
		CALLF MAKE_INT(V_NAME, 2)
	CASE "의뢰기한"
		CALLF MAKE_INT(V_NAME, 3)
	CASE "의뢰 발생율"
	;이것은 다른 고유 의뢰와의 상대 확률 어째서 10%가 아닙니다
		CALLF MAKE_INT(V_NAME, 10)
	CASE "의뢰 발생 조건"
		SIF DAY:2 != 2
			CALLF MAKE_INT(V_NAME, 1)
	CASE "의뢰 수탁 가능 조건"
	;수탁 가능은@COM_ABLE366도 확인
	;여기를 참조하는 것은 의뢰인을 TARGET로 하고 있는 때이므로 소안내로 좋아
		CALLF MAKE_INT(V_NAME, 1)
	CASE "의뢰실행 가능 조건"
	;실행 가능은@COM_ABLE367도 확인
		CALLF MAKE_INT(V_NAME, 1)
	;성공/실패 처리는 CARRYOUT로 직접 쓴다
	;SOURCE나 ITEM 입수 따위, 내용이 복잡해서
	CASE "의뢰 소멸 조건"
	;30%로 소실
		SIF RAND:100 < 30 || DAY:2 == 2
			CALLF MAKE_INT(V_NAME, 1)
	ENDSELECT
ENDSELECT

;고유 의뢰의 설정용
;이 함수는 실행/성공/실패시의
;보수와 페널티와 지문만을 취급합니다
;각 캐릭터의 메시지는 다른 장소에서
@IRAI_고유79(CHARA, IRAI_ID, SCENE)
#DIM  CHARA
#DIM  IRAI_ID
#DIMS SCENE
#DIM  CLIENT_ID
CLIENT_ID = IRAI_ID_TO_CLIENT(IRAI_ID)
SELECTCASE STR_DATA_IRAI(IRAI_ID, "의뢰명", CLIENT_ID)
;개개의 의뢰명으로 분기
CASE "감주 주세요"
	SELECTCASE SCENE
	CASE "의뢰 조건 표시"
	;무엇인가 전용의 표시 정보를 마련하고 싶을 시용
	;수탁 끝난 의뢰 표시로 사용됩니다
	;
	;PRINT계만으로 SOURCE라든지는 넣으면 안 돼, WAIT도 없음으로
	;여기 이외의표시 항목은
	;PRINTFORML 　　　　　：
	;되고 있으므로 스페이스를 가지런히 하는 편이 보기에 좋습니다

	CASE "의뢰실행시"
	;이 CASE에 한정해, RESULT가 의미를 가집니다
	;의뢰실행시의 RESULT에는 IRAI_CONST_RESULT()를 사용해 주세요
	;가능한 인수는"캔슬", "실행해 성공", "실행해 실패", "실행해 미해결"입니다
	;독자 처리를 가르치고 싶을 때는"실행해 미해결"로 유보하자 마자 해 주세요
		SOURCE:TARGET:환락 += 500
		SOURCE:MASTER:노출 += 100
		CALL LOST_ITEM("감주", 2, 2)
		PRINTFORMW %마스터가% %CALLNAME:TARGET%에게 감주를 건네주자, 그녀의 표정이 조금 누그러졌다
		PRINTFORML 후우 후우 하면서 감주를 마시는 %타겟이% 혀를 데지 않을까 하고 주시하고 있자
		PRINTFORMW 그 시선을 알아차린 %타겟은% 멋쩍은 듯이 부끄러워했다
		PRINTFORML
		TIME += 20
		RETURN IRAI_CONST_RESULT("실행해 성공")
	CASE "의뢰 성공시"
	;성공 보고시의 보수 등
		CALL CHANGE_CFLAG(2, TARGET, 30)
		CALL CHANGE_CFLAG(4, TARGET, 20)
		TALENT:기분 = LIMIT(TALENT:기분 + 1, -1, 1)
		CALL GET_MONEY_YEN(1000, 2)
	CASE "의뢰 실패시"
	;실패 보고시의 처리
		CALL CHANGE_CFLAG(2, TARGET, -10)
		CALL CHANGE_CFLAG(4, TARGET, -10)
	ENDSELECT
ENDSELECT


code:
;존부 함수
;F함수는 TRYCALL계를 사용할 수 없기 때문에 통상 함수로 존부 배열을 만들어버린다
@EXIST_일반의뢰1
#LOCALSIZE 1
#LOCALSSIZE 1

;오브젝트 본체
;여기서 ARG로 건네받는 것은 CLIENT_ID입니다
@일반의뢰1(ARG, O_DATA, V_NAME)
#FUNCTION
#LOCALSIZE 1
#LOCALSSIZE 1
#DIMS O_DATA
#DIMS V_NAME
SELECTCASE O_DATA
CASE "의뢰명"
	CALLF MAKE_STR(V_NAME, "청소를 도와줘")
CASE "의뢰내용 표시"
	CALLF MAKE_STR(V_NAME, @"%CALLNAME:ARG%의 방 청소를 돕는다")
CASE "의뢰 보수 표시"
	CALLF MAKE_STR(V_NAME, @"低級素材")
CASE "의뢰실행 커맨드 이름"
	IF YOGORE:(GET_CHARAHOME(ARG)) < 1000
		CALLF MAKE_STR(V_NAME, "청소할 수 있었다")
	ELSE
		CALLF MAKE_STR(V_NAME, "청소를 한다")
	ENDIF
CASE "의뢰내용"
	CALLF MAKE_INT(V_NAME, MAKE_IRAI_DATA(0, "작업"))
CASE "의뢰 서브"
CASE "의뢰기한"
;발생시는 아니고 수탁시에 확정합니다
CASE "의뢰 발생율"
;이것은 다른 일반의뢰와의 상대 확률 어째서 10%가 아닙니다
	CALLF MAKE_INT(V_NAME, 10)
CASE "의뢰 발생 조건"
;자택이 당신과 동일 맵의 캐릭터만
	SIF MAIN_MAP == GET_MAPID(GET_CHARAHOME(ARG))
		CALLF MAKE_INT(V_NAME, 1)
CASE "의뢰 수탁 가능 조건"
;그 의뢰자의 자택 부근에 있을 때
;(기본 조건으로 해 우선 의뢰자와 당신이 동일 지점에 있을 것이므로 이것으로 좋다)
	IF MAIN_MAP != GET_MAPID(GET_CHARAHOME(ARG))
	ELSEIF CFLAG:ARG:연회참가
	ELSEIF YOGORE:(GET_CHARAHOME(ARG)) < 1000
	ELSEIF GET_MAPID(CFLAG:MASTER:현재위치) == MAIN_MAP
		CALLF MAKE_INT(V_NAME, 1)
	ENDIF
CASE "의뢰실행 가능 조건"
;의뢰자와 TARGET가 동일하고, 그 의뢰자의 자택에 있을 때
;(기본 조건으로 해 우선 의뢰자와 당신이 동일 지점에 있을 것이므로 이것으로 좋다)
	IF MAIN_MAP != GET_MAPID(GET_CHARAHOME(ARG))
	ELSEIF CFLAG:ARG:연회참가
	ELSEIF CFLAG:ARG:현재위치 == GET_CHARAHOME(ARG)
		CALLF MAKE_INT(V_NAME, 1)
	ENDIF
;성공/실패 처리는 CARRYOUT로 직접 쓴다
;SOURCE나 ITEM 입수, 소비가 번잡하게 되므로
CASE "의뢰 소멸 조건"
	SIF RAND:100 < 30
		CALLF MAKE_INT(V_NAME, 1)
CASE "의뢰인 데리고 나가 가능"
	CALLF MAKE_INT(V_NAME, 1)
ENDSELECT

@IRAI_일반1(CHARA, IRAI_ID, SCENE)
#DIM  CHARA
#DIM  IRAI_ID
#DIMS SCENE
#DIM  CLIENT_ID
#DIM  SWEEP_ID
#DIM  SWEEP_POWER
#DIM  PREV_YOGORE
CLIENT_ID = IRAI_ID_TO_CLIENT(IRAI_ID)
SELECTCASE SCENE
CASE "의뢰 조건 표시"
;무엇인가 전용의 표시 정보를 마련하고 싶을 시용
;수탁 끝난 의뢰 표시로 사용됩니다
;
;PRINT계만으로 SOURCE라든지는 넣으면 안 돼, WAIT도 없음으로
;여기 이외의표시 항목은
;PRINTFORML 　　　　　：
;되고 있으므로 스페이스를 가지런히 하는 편이 보기에 좋습니다

CASE "의뢰실행시"
;이 CASE에 한정해, RESULT가 의미를 가집니다
;의뢰실행시의 RESULT에는 IRAI_CONST_RESULT()를 사용해 주세요
;가능한 인수는"캔슬", "실행해 성공", "실행해 실패", "실행해 미해결"입니다
;독자 처리를 가르치고 싶을 때는"실행해 미해결"로 유보하자 마자 해 주세요
;
;"의뢰실행시"에 한정하고 말하면, CHARA는 TARGET와 동일하고, 반드시 CLIENT_ID와 일치한다고는 할 수 없습니다
;개개의 케이스로 확인할 필요가 있습니다
;이 의뢰는 「작업」취급이며, CLIENT가 TARGET가 되어 있을 때 마셔 실행할 수 있습니다
;
;
;거의 청소 커맨드의 Copy(복사)이지만 반드시 도와 주어 청소 효과가 높다
	IF YOGORE:(GET_CHARAHOME(TARGET)) < 1000
		PRINTFORMW %CALLNAME:TARGET%의 방은 충분히 깨끗하다
		TIME += 3
	ELSE
		PRINTFORMW %마스터는% %타겟과% 협력해 방 청소를 했다
		PRINTFORML
		SWEEP_ID = CFLAG:MASTER:현재위치
		SWEEP_POWER = (2 + ABL:MASTER:청소기능 + 3 * TALENT:MASTER:청소중독) * (5 - TALENT:MASTER:61) / 5
		PREV_YOGORE = YOGORE:SWEEP_ID
		YOGORE:SWEEP_ID = YOGORE:SWEEP_ID / (SWEEP_POWER + 1 + ABL:청소기능)
		SIF GROUPMATCH(CFLAG:MASTER:현재위치, 9, 10)
			YOGORE:(54) = 0
			;PRINTL 내친 김에 벌레통도 청소했다
			;PRINTFORML 신묘마루의 개인물품을 치우고 뒤집어서 흔들면 그만이니까 간단하다
		EX:MASTER:오늘의청소회수 += PREV_YOGORE - YOGORE:SWEEP_ID
		EXP:청소경험 ++
		EXP:MASTER:청소경험 ++

		DOWNBASE:MASTER:체력 = 50
		DOWNBASE:MASTER:기력 = 100
		DOWNBASE:기력 = 100
		TIME += 20
	ENDIF
	SOURCE:환락 = 500
	SOURCE:정복 = 200
	RETURN IRAI_CONST_RESULT("실행해 성공")
CASE "의뢰 성공시"
;성공 보고시의 보수 등
	CALL CHANGE_CFLAG(2, TARGET, 20)
	CALL CHANGE_CFLAG(4, TARGET, 10)
		CALL GetRandMaterial(1, 1000)
CASE "의뢰 실패시"
;실패 보고시의 처리
	CALL CHANGE_CFLAG(2, TARGET, -10)
	CALL CHANGE_CFLAG(4, TARGET, -10)
ENDSELECT


code:
;존부 함수
;F함수는 TRYCALL계를 사용할 수 없기 때문에 통상 함수로 존부 배열을 만들어버린다
@EXIST_일반의뢰2
#LOCALSIZE 1
#LOCALSSIZE 1

;오브젝트 본체
@일반의뢰2(ARG, O_DATA, V_NAME)
#FUNCTION
#LOCALSIZE 1
#LOCALSSIZE 1
#DIMS O_DATA
#DIMS V_NAME
SELECTCASE O_DATA
CASE "의뢰명"
	CALLF MAKE_STR(V_NAME, "꽃에 물을 줘")
CASE "의뢰내용 표시"
	CALLF MAKE_STR(V_NAME, @"%CALLNAME:ARG%의 자택 초목에 물을 준다")
CASE "의뢰 보수 표시"
	CALLF MAKE_STR(V_NAME, @"\\500")
CASE "의뢰 보고 불필요"
	CALLF MAKE_STR(V_NAME, "보고 불필요(보수 수리에는 보고 필수)")
CASE "의뢰실행 커맨드 이름"
	CALLF MAKE_STR(V_NAME, "물주기")

CASE "의뢰내용"
	CALLF MAKE_INT(V_NAME, MAKE_IRAI_DATA(GET_CHARAHOME(ARG), "전령(장소)"))
CASE "의뢰 서브"
CASE "의뢰기한"
;발생시는 아니고 수탁시에 확정합니다
CASE "의뢰 발생율"
;이것은 다른 일반의뢰와의 상대 확률 어째서 15%가 아닙니다
	CALLF MAKE_INT(V_NAME, 15)
CASE "의뢰 발생 조건"
;자택이 당신과 동일 맵의 캐릭터만
	SIF MAIN_MAP == GET_MAPID(GET_CHARAHOME(ARG)) && MAP_CAN_MOVE(GET_CHARAHOME(ARG), MASTER) && ABL:ARG:친밀 >= 2
		CALLF MAKE_INT(V_NAME, 1)
CASE "의뢰 수탁 가능 조건"
;그 의뢰자의 자택에 있을 때
	SIF MAIN_MAP == GET_MAPID(GET_CHARAHOME(ARG)) && MAP_CAN_MOVE(GET_CHARAHOME(ARG), MASTER)
		CALLF MAKE_INT(V_NAME, 1)
CASE "의뢰실행 가능 조건"
		CALLF MAKE_INT(V_NAME, 1)
;성공/실패 처리는 CARRYOUT로 직접 쓴다
;SOURCE나 ITEM 입수, 소비가 번잡하게 되므로
CASE "의뢰 소멸 조건"
	SIF RAND:100 < 30
		CALLF MAKE_INT(V_NAME, 1)
ENDSELECT

@IRAI_일반2(CHARA, IRAI_ID, SCENE)
#DIM  CHARA
#DIM  IRAI_ID
#DIMS SCENE
#DIM  CLIENT_ID
CLIENT_ID = IRAI_ID_TO_CLIENT(IRAI_ID)
SELECTCASE SCENE
CASE "의뢰 조건 표시"
;무엇인가 전용의 표시 정보를 마련하고 싶을 시용
;수탁 끝난 의뢰 표시로 사용됩니다
;
;PRINT계만으로 SOURCE라든지는 넣으면 안 돼, WAIT도 없음으로
;여기 이외의표시 항목은
;PRINTFORML 　　　　　：
;되고 있으므로 스페이스를 가지런히 하는 편이 보기에 좋습니다

CASE "의뢰실행시"
;이 CASE에 한정해, RESULT가 의미를 가집니다
;의뢰실행시의 RESULT에는 IRAI_CONST_RESULT()를 사용해 주세요
;가능한 인수는"캔슬", "실행해 성공", "실행해 실패", "실행해 미해결"입니다
;독자 처리를 가르치고 싶을 때는"실행해 미해결"로 유보하자 마자 해 주세요
	PRINTFORMW %마스터는% %CALLNAME:CLIENT_ID%의 집 분재나 식목에 물을 주었다
	PRINTFORML
	RETURN IRAI_CONST_RESULT("실행해 성공")
CASE "의뢰 성공시"
;성공 보고시의 보수 등
	CALL CHANGE_CFLAG(2, TARGET, 20)
	CALL CHANGE_CFLAG(4, TARGET, 15)
	CALL GET_MONEY_YEN(500, 2)
CASE "의뢰 실패시"
;실패 보고시의 처리
	CALL CHANGE_CFLAG(2, TARGET, -10)
	CALL CHANGE_CFLAG(4, TARGET, -5)
ENDSELECT


code:
;존부 함수
;F함수는 TRYCALL계를 사용할 수 없기 때문에 통상 함수로 존부 배열을 만들어버린다
@EXIST_일반의뢰3
#LOCALSIZE 1
#LOCALSSIZE 1

;오브젝트 본체
;여기서 ARG로 건네받는 것은 CLIENT_ID입니다
@일반의뢰3(ARG, O_DATA, V_NAME)
#FUNCTION
#LOCALSIZE 1
#LOCALSSIZE 1
#DIMS O_DATA
#DIMS V_NAME
SELECTCASE O_DATA
CASE "의뢰명"
	CALLF MAKE_STR(V_NAME, "함께 놀자")
CASE "의뢰내용 표시"
	CALLF MAKE_STR(V_NAME, @"%ARG와% 함께 논다")
CASE "의뢰 보수 표시"
	CALLF MAKE_STR(V_NAME, "사이가 좋아진다")
CASE "의뢰실행 커맨드 이름"
	CALLF MAKE_STR(V_NAME, "논다")

CASE "의뢰내용"
	CALLF MAKE_INT(V_NAME, MAKE_IRAI_DATA(0, "작업"))
CASE "의뢰 서브"
CASE "의뢰기한"
;발생시는 아니고 수탁시에 확정합니다
CASE "의뢰 발생율"
;이것은 다른 일반의뢰와의 상대 확률 어째서 15%가 아닙니다
	CALLF MAKE_INT(V_NAME, 15)
CASE "의뢰 발생 조건"
;유치 캐릭터 한정
;레밀리아에서도 발생해 버리지만 신경쓰지 말아라
	SIF TALENT:ARG:유치
		CALLF MAKE_INT(V_NAME, 1)
CASE "의뢰 수탁 가능 조건"
	CALLF MAKE_INT(V_NAME, 1)
CASE "의뢰실행 가능 조건"
	CALLF MAKE_INT(V_NAME, 1)
;성공/실패 처리는 CARRYOUT로 직접 쓴다
;SOURCE나 ITEM 입수, 소비가 번잡하게 되므로
CASE "의뢰 소멸 조건"
	SIF RAND:100 < 30
		CALLF MAKE_INT(V_NAME, 1)
ENDSELECT

@IRAI_일반3(CHARA, IRAI_ID, SCENE)
#DIM  CHARA
#DIM  IRAI_ID
#DIMS SCENE
#DIM  CLIENT_ID
CLIENT_ID = IRAI_ID_TO_CLIENT(IRAI_ID)
SELECTCASE SCENE
CASE "의뢰 조건 표시"
;무엇인가 전용의 표시 정보를 마련하고 싶을 시용
;수탁 끝난 의뢰 표시로 사용됩니다
;
;PRINT계만으로 SOURCE라든지는 넣으면 안 돼, WAIT도 없음으로
;여기 이외의표시 항목은
;PRINTFORML 　　　　　：
;되고 있으므로 스페이스를 가지런히 하는 편이 보기에 좋습니다

CASE "의뢰실행시"
;이 CASE에 한정해, RESULT가 의미를 가집니다
;의뢰실행시의 RESULT에는 IRAI_CONST_RESULT()를 사용해 주세요
;가능한 인수는"캔슬", "실행해 성공", "실행해 실패", "실행해 미해결"입니다
;독자 처리를 가르치고 싶을 때는"실행해 미해결"로 유보하자 마자 해 주세요
;
;"의뢰실행시"에 한정하고 말하면, CHARA는 TARGET와 동일하고, 반드시 CLIENT_ID와 일치한다고는 할 수 없습니다
;개개의 케이스로 확인할 필요가 있습니다
;이 의뢰는 「작업」취급이며, CLIENT가 TARGET가 되어 있을 때 마셔 실행할 수 있습니다
;
;
	SOURCE:환락 = 1500
	PRINTFORMW %마스터는% %타겟과% 놀았다
	PRINTFORML
	TIME += 20
	DOWNBASE:체력 = 150
	DOWNBASE:기력 = 100
	DOWNBASE:MASTER:체력 = 150
	DOWNBASE:MASTER:기력 = 100
	RETURN IRAI_CONST_RESULT("실행해 성공")
CASE "의뢰 성공시"
;성공 보고시의 보수 등
	TALENT:TARGET:기분 = LIMIT(TALENT:기분 + 1, -1, 1)
	CALL CHANGE_CFLAG(2, TARGET, 30)
	CALL CHANGE_CFLAG(4, TARGET, 5)
CASE "의뢰 실패시"
;실패 보고시의 처리
	CALL CHANGE_CFLAG(2, TARGET, -10)
	CALL CHANGE_CFLAG(4, TARGET, -5)
ENDSELECT


code:
;존부 함수
;F함수는 TRYCALL계를 사용할 수 없기 때문에 통상 함수로 존부 배열을 만들어버린다
@EXIST_일반의뢰4
#LOCALSIZE 1
#LOCALSSIZE 1

;오브젝트 본체
;여기서 ARG로 건네받는 것은 CLIENT_ID입니다
@일반의뢰4(ARG, O_DATA, V_NAME)
#FUNCTION
#LOCALSIZE 1
#LOCALSSIZE 1
#DIMS O_DATA
#DIMS V_NAME
SELECTCASE O_DATA
CASE "의뢰명"
	CALLF MAKE_STR(V_NAME, "요리를 잘하고 싶다")
CASE "의뢰내용 표시"
	CALLF MAKE_STR(V_NAME, @"%CALLNAME:ARG%의 요리 연습을 지도한다")
CASE "의뢰 보수 표시"
	CALLF MAKE_STR(V_NAME, @"\\500")
CASE "의뢰실행 커맨드 이름"
	CALLF MAKE_STR(V_NAME, "요리")
CASE "의뢰 비고 표시"
	CALLF MAKE_STR(V_NAME, "우선은 요리할 수 있는 장소로 이동하자")

CASE "의뢰내용"
	CALLF MAKE_INT(V_NAME, MAKE_IRAI_DATA(0, "작업"))
CASE "의뢰 서브"
CASE "의뢰기한"
;발생시는 아니고 수탁시에 확정합니다
CASE "의뢰 발생율"
;이것은 다른 일반의뢰와의 상대 확률 어째서 10%가 아닙니다
	CALLF MAKE_INT(V_NAME, 10)
CASE "의뢰 발생 조건"
	SIF ABL:ARG:요리기능 < ABL:MASTER:요리기능 && ABL:MASTER:요리기능 >=2 && ABL:ARG:친밀 >= 3
		CALLF MAKE_INT(V_NAME, 1)
CASE "의뢰 수탁 가능 조건"
	IF FLAG:요리
	ELSEIF CFLAG:ARG:연회참가
	ELSEIF GET_MAPID(CFLAG:MASTER:현재위치) == MAIN_MAP
		CALLF MAKE_INT(V_NAME, 1)
	ENDIF
CASE "의뢰실행 가능 조건"
	SIF !FLAG:요리 && KITCHEN(CFLAG:MASTER:현재위치)
		CALLF MAKE_INT(V_NAME, 1)
;성공/실패 처리는 CARRYOUT로 직접 쓴다
;SOURCE나 ITEM 입수, 소비가 번잡하게 되므로
CASE "의뢰 소멸 조건"
	SIF RAND:100 < 30
		CALLF MAKE_INT(V_NAME, 1)
CASE "의뢰인 데리고 나가 가능"
	CALLF MAKE_INT(V_NAME, 1)
ENDSELECT

@IRAI_일반4(CHARA, IRAI_ID, SCENE)
#DIM  CHARA
#DIM  IRAI_ID
#DIMS SCENE
#DIM  CLIENT_ID
CLIENT_ID = IRAI_ID_TO_CLIENT(IRAI_ID)
SELECTCASE SCENE
CASE "의뢰 조건 표시"
;무엇인가 전용의 표시 정보를 마련하고 싶을 시용
;수탁 끝난 의뢰 표시로 사용됩니다
;
;PRINT계만으로 SOURCE라든지는 넣으면 안 돼, WAIT도 없음으로
;여기 이외의표시 항목은
;PRINTFORML 　　　　　：
;되고 있으므로 스페이스를 가지런히 하는 편이 보기에 좋습니다

CASE "의뢰실행시"
;이 CASE에 한정해, RESULT가 의미를 가집니다
;의뢰실행시의 RESULT에는 IRAI_CONST_RESULT()를 사용해 주세요
;가능한 인수는"캔슬", "실행해 성공", "실행해 실패", "실행해 미해결"입니다
;독자 처리를 가르치고 싶을 때는"실행해 미해결"로 유보하자 마자 해 주세요
;
;"의뢰실행시"에 한정하고 말하면, CHARA는 TARGET와 동일하고, 반드시 CLIENT_ID와 일치한다고는 할 수 없습니다
;개개의 케이스로 확인할 필요가 있습니다
;이 의뢰는 「작업」취급이며, CLIENT가 TARGET가 되어 있을 때 마셔 실행할 수 있습니다
;
;
	SOURCE:환락 = 500
	PRINTFORML %마스터는% %타겟과% 함께 요리를 했다
	TIME += 20
	DOWNBASE:체력 = 50
	DOWNBASE:기력 = 50
	DOWNBASE:MASTER:체력 = 50
	DOWNBASE:MASTER:기력 = 50
	CALL 일반의뢰4_COOKING(TARGET)
	RETURN IRAI_CONST_RESULT("실행해 성공")
CASE "의뢰 성공시"
;성공 보고시의 보수 등
	CALL CHANGE_CFLAG(2, TARGET, 20)
	CALL CHANGE_CFLAG(4, TARGET, 20)
	EXP:TARGET:요리경험 += 5 * (ABL:MASTER:요리기능 - ABL:TARGET:요리기능)
	PRINTFORML
	PRINTFORML 만든 요리는 둘이서 함께 먹었다
	CALL GET_MONEY_YEN(500, 2)
	CALL 식사(TARGET)
	CALL 식사(MASTER)
	CALL RESET_DISH
CASE "의뢰 실패시"
;실패 보고시의 처리
	CALL CHANGE_CFLAG(2, TARGET, -10)
	CALL CHANGE_CFLAG(4, TARGET, -10)
	EXP:TARGET:요리경험 ++
ENDSELECT

@일반의뢰4_COOKING(CHARA)
#DIM CHARA
DISHQUALITY = CHARA_FOOD_QUALITY(CHARA)
;맛설정 처리
SELECTCASE DISHQUALITY
CASE 1
	ITEM:잡곡 ++
	DISHTASTE += GET_TASTE_INGREDIENT("잡곡")
CASE 2
	ITEM:묵은쌀 ++
	DISHTASTE += GET_TASTE_INGREDIENT("묵은쌀")
CASE 3
	ITEM:백미 ++
	DISHTASTE += GET_TASTE_INGREDIENT("백미")
ENDSELECT
DISHTYPE    = CHARA_RAND_COOKING(CHARA)
CALL COOKING(CHARA, "「요리 내용 자동 결정」")

;적당으로 결정했다
;사용하는 식재료의 수준
@CHARA_FOOD_QUALITY(CHARA)
#FUNCTION
#DIM CHARA
#DIM CONST DISH_조식 = 1
#DIM CONST DISH_보통식 = 2
#DIM CONST DISH_미식 = 3
SELECTCASE CSVCALLNAME(NO:CHARA)
CASE "루미아", "리글", "뱌쿠렌", "메디슨", "요시카"
	RETURNF DISH_조식
{
CASE "사쿠야", "레밀리아", "플랑", "텐시", "이쿠",
	 "카구야", "유유코", "에이린", "미노리코", "아큐",
	 "청아", "요리히메", "토요히메", "순호"
}
	RETURNF DISH_미식
CASEELSE
	RETURNF DISH_보통식
ENDSELECT

;요리 메뉴 추첨
[SKIPSTART]
0 없음
1 "경식", 1,
2 "주식", ABL:MASTER:요리기능 > 1,
3 "디저트", ABL:MASTER:요리기능 > 2,

4 "금단의 요리", ABL:MASTER:요리기능 > 2,
5 "개구리 요리", ITEM:개구리
[SKIPEND]
@CHARA_RAND_COOKING(CHARA)
#FUNCTION
#DIM CHARA
#DIM CONST MENU_경식       = 1
#DIM CONST MENU_주식       = 2
#DIM CONST MENU_디저트   = 3
#DIM CONST MENU_금단의요리 = 4
#DIM CONST MENU_개구리요리 = 5
#DIM MENU_HIT, 6
VARSET MENU_HIT, 10
MENU_HIT:0 = 0
MENU_HIT:MENU_금단의요리 = 0
MENU_HIT:MENU_개구리요리 = 0

SELECTCASE ABL:CHARA:요리기능
CASE 0, 1
	MENU_HIT:MENU_경식     += 5
	MENU_HIT:MENU_주식     += 10
CASE 2, 3
	MENU_HIT:MENU_주식     += 5
	MENU_HIT:MENU_디저트 += 10
ENDSELECT

SIF ABL:CHARA:욕망 >= 5
	MENU_HIT:MENU_금단의요리 += 5
SIF ABL:CHARA:정액중독 >= 3
	MENU_HIT:MENU_금단의요리 += 5
SIF ABL:CHARA:질내사정중독 >= 3
	MENU_HIT:MENU_금단의요리 += 5
SIF ABL:CHARA:항내사정중독 >= 3
	MENU_HIT:MENU_금단의요리 += 5
RETURNF ARRAY_HIT(MENU_HIT, VARSIZE("MENU_HIT"))


code:
;존부 함수
;F함수는 TRYCALL계를 사용할 수 없기 때문에 통상 함수로 존부 배열을 만들어버린다
@EXIST_일반의뢰5
#LOCALSIZE 1
#LOCALSSIZE 1

;오브젝트 본체
;여기서 ARG로 건네받는 것은 CLIENT_ID입니다
@일반의뢰5(ARG, O_DATA, V_NAME)
#FUNCTION
#LOCALSIZE 1
#LOCALSSIZE 1
#DIMS O_DATA
#DIMS V_NAME
SELECTCASE O_DATA
CASE "의뢰명"
	CALLF MAKE_STR(V_NAME, "특훈 같이해줘")
CASE "의뢰내용 표시"
	CALLF MAKE_STR(V_NAME, @"%CALLNAME:ARG%의 탄막 특훈을 돕는다")
CASE "의뢰 보수 표시"
	CALLF MAKE_STR(V_NAME, @"\\500")
CASE "의뢰실행 커맨드 이름"
	CALLF MAKE_STR(V_NAME, "특훈이다!")
CASE "의뢰 비고 표시"
	CALLF MAKE_STR(V_NAME, "우선은 특훈을 할 수 있는 트인 장소로 이동하자")

CASE "의뢰내용"
	CALLF MAKE_INT(V_NAME, MAKE_IRAI_DATA(0, "작업"))
CASE "의뢰 서브"
CASE "의뢰기한"
;발생시는 아니고 수탁시에 확정합니다
CASE "의뢰 발생율"
;이것은 다른 일반의뢰와의 상대 확률 어째서 10%가 아닙니다
	CALLF MAKE_INT(V_NAME, 10)
CASE "의뢰 발생 조건"
	;현상의 마을에서는 달성 불능인 유익 거점이 마을의 경우는 제외
	SIF ABL:ARG:전투능력 <= ABL:MASTER:전투능력 && ABL:ARG:친밀 >= 2 && MAIN_MAP != 2
		CALLF MAKE_INT(V_NAME, 1)
CASE "의뢰 수탁 가능 조건"
	IF CFLAG:ARG:연회참가
	;의뢰발생조건에서 마을을 제외할 수 없을 것 같아 이곳에서 제외
	ELSEIF MAIN_MAP == 2
	ELSEIF GET_MAPID(CFLAG:MASTER:현재위치) == MAIN_MAP
		CALLF MAKE_INT(V_NAME, 1)
	ENDIF
CASE "의뢰실행 가능 조건"
	SIF 전투훈련가능(CFLAG:MASTER:현재위치)
		CALLF MAKE_INT(V_NAME, 1)
;성공/실패 처리는 CARRYOUT로 직접 쓴다
;SOURCE나 ITEM 입수, 소비가 번잡하게 되므로
CASE "의뢰 소멸 조건"
	SIF RAND:100 < 30
		CALLF MAKE_INT(V_NAME, 1)
CASE "의뢰인 데리고 나가 가능"
	CALLF MAKE_INT(V_NAME, 1)
ENDSELECT

@IRAI_일반5(CHARA, IRAI_ID, SCENE)
#DIM  CHARA
#DIM  IRAI_ID
#DIMS SCENE
#DIM  CLIENT_ID
#DIM  BAD_WEATHER

CLIENT_ID = IRAI_ID_TO_CLIENT(IRAI_ID)
SELECTCASE SCENE
CASE "의뢰 조건 표시"
;무엇인가 전용의 표시 정보를 마련하고 싶을 시용
;수탁 끝난 의뢰 표시로 사용됩니다
;
;PRINT계만으로 SOURCE라든지는 넣으면 안 돼, WAIT도 없음으로
;여기 이외의표시 항목은
;PRINTFORML 　　　　　：
;되고 있으므로 스페이스를 가지런히 하는 편이 보기에 좋습니다

CASE "의뢰실행시"
;이 CASE에 한정해, RESULT가 의미를 가집니다
;의뢰실행시의 RESULT에는 IRAI_CONST_RESULT()를 사용해 주세요
;가능한 인수는"캔슬", "실행해 성공", "실행해 실패", "실행해 미해결"입니다
;독자 처리를 가르치고 싶을 때는"실행해 미해결"로 유보하자 마자 해 주세요
;
;"의뢰실행시"에 한정하고 말하면, CHARA는 TARGET와 동일하고, 반드시 CLIENT_ID와 일치한다고는 할 수 없습니다
;개개의 케이스로 확인할 필요가 있습니다
;이 의뢰는 「작업」취급이며, CLIENT가 TARGET가 되어 있을 때 마셔 실행할 수 있습니다
;

;날씨를 참조
	BAD_WEATHER = 0
	SELECTCASE TIME:5
	CASE 4, 6, 8, 10, 12, 13
		;악천후
		BAD_WEATHER = 1
	CASE 5, 9
		;위험 있고 날씨
		BAD_WEATHER = 2
	;그 이외
	CASEELSE
		;여름 철은 죽어라
		SIF DAY:2 == 2 && TIME:5 == 1 && INRANGE(TIME, 361, 1019)
			BAD_WEATHER = 3
	ENDSELECT
	SIF !OUTROOF(CFLAG:MASTER:현재위치)
		BAD_WEATHER = 0

	PRINTFORMW %마스터는% %타겟과% 탄막 놀이의 특훈을 했다
	SELECTCASE TIME:5
	CASE 4, 6
		PRINTL 빗속 탄막 훈련을 실시했다
		PRINTW 매우 지쳤다
	CASE 1
		IF BAD_WEATHER == 3
			PRINTL 강렬한 직사광선 아래에서 탄막 훈련을 실시했다
			PRINTW 열사병에 걸릴 것 같다…
		ELSE
			PRINTW 구름 한점 없는 푸른 하늘 아래에서 탄막 훈련을 실시했다
		ENDIF
	CASE 5
		PRINTL 격렬한 비가 내리고 거칠어지는 중, 어려운 훈련을 강행했다
		PRINTW 죽을 정도로 지쳤다
	CASE 8, 10, 12, 13
		PRINTL 눈 속에서 탄막의 훈련을 실시했다
		PRINTW 매우 지쳤다
	CASE 9
		PRINTL 눈보라 속에서, 어려운 훈련을 강행했다
		PRINTW 죽을 정도로 지쳤다
	CASEELSE
;		PRINTL 탄막의 훈련을 실시했다
	ENDSELECT

	TCVAR:MASTER:공복시각 -= 15
	TCVAR:TARGET:공복시각 -= 15
	DOWNBASE:MASTER:체력 = 100 * (2 + BAD_WEATHER)
	DOWNBASE:MASTER:기력 = 100 * (2 + BAD_WEATHER)
	DOWNBASE:체력 = 50 * (2 + BAD_WEATHER)
	DOWNBASE:기력 = 50 * (2 + BAD_WEATHER)
	SOURCE:환락 = 600 + 100 * (1 + BAD_WEATHER)
	TIME += 60
	EXP:MASTER:전투경험 += 1 + ABL:전투능력
	EXP:전투경험 += MAX(ABL:전투능력 - ABL:MASTER:전투능력 + 1, 1) * 3 + BAD_WEATHER

	IF ITEM:전술지도서
		EXP:MASTER:전투경험 ++
		EXP:TARGET:전투경험 ++
	ENDIF
	IF ITEM:스포츠드링크 >= 2
		IF BAD_WEATHER == 3
			DOWNBASE:MASTER:체력 -= 200
			DOWNBASE:MASTER:기력 -= 300
			DOWNBASE:체력 -= 70
			DOWNBASE:기력 -= 100
		ELSE
			DOWNBASE:MASTER:체력 -= 50
			DOWNBASE:MASTER:기력 -= 50
			DOWNBASE:체력 -= 20
			DOWNBASE:기력 -= 20
		ENDIF
		SOURCE:환락 += 1000
		PRINTL 훈련 후에 둘이서 스포츠드링크를 마셨다
		PRINTW 지친 몸에 수분이 스며든다…
		ITEM:스포츠드링크 -= 2
		;원래 구문이라면 소비는 1개 같지만 2개에
	ENDIF
	RETURN IRAI_CONST_RESULT("실행해 성공")
CASE "의뢰 성공시"
;성공 보고시의 보수 등
	CALL CHANGE_CFLAG(2, TARGET, 30)
	CALL CHANGE_CFLAG(4, TARGET, 20)
	CALL GET_MONEY_YEN(500, 2)
CASE "의뢰 실패시"
;실패 보고시의 처리
	CALL CHANGE_CFLAG(2, TARGET, -10)
	CALL CHANGE_CFLAG(4, TARGET, -10)
ENDSELECT


code:
;존부 함수
;F함수는 TRYCALL계를 사용할 수 없기 때문에 통상 함수로 존부 배열을 만들어버린다
@EXIST_일반의뢰6
#LOCALSIZE 1
#LOCALSSIZE 1

;오브젝트 본체
;여기서 ARG로 건네받는 것은 CLIENT_ID입니다
@일반의뢰6(ARG, O_DATA, V_NAME)
#FUNCTION
#LOCALSIZE 1
#LOCALSSIZE 1
#DIMS O_DATA
#DIMS V_NAME
SELECTCASE O_DATA
CASE "의뢰명"
	CALLF MAKE_STR(V_NAME, "누군가 가르쳐 줘!")
CASE "의뢰내용 표시"
	CALLF MAKE_STR(V_NAME, @"%CALLNAME:ARG%의 의문에 답한다")
CASE "의뢰 보수 표시"
	CALLF MAKE_STR(V_NAME, @"\\500")
CASE "의뢰실행 커맨드 이름"
	IF IS_LIBRARY(CFLAG:MASTER:현재위치)
		CALLF MAKE_STR(V_NAME, "조사해본다")
	ELSE
		CALLF MAKE_STR(V_NAME, "가르쳐 준다")
	ENDIF
CASE "의뢰내용"
	CALLF MAKE_INT(V_NAME, MAKE_IRAI_DATA(0, "그 외"))
CASE "의뢰 서브"
	CALLF MAKE_INT(V_NAME, (ABL:ARG:교양 + RAND(1, 10)) * 10)
CASE "의뢰기한"
;발생시는 아니고 수탁시에 확정합니다
CASE "의뢰 발생율"
;이것은 다른 일반의뢰와의 상대 확률 어째서 10%가 아닙니다
	CALLF MAKE_INT(V_NAME, 10)
CASE "의뢰 발생 조건"
	SIF ABL:ARG:교양 <= ABL:MASTER:교양
		CALLF MAKE_INT(V_NAME, 1)
CASE "의뢰 수탁 가능 조건"
	CALLF MAKE_INT(V_NAME, 1)
CASE "의뢰실행 가능 조건"
	;조사 것은 언제라도
	IF FLAG:70
	ELSEIF IS_LIBRARY(CFLAG:MASTER:현재위치)
		CALLF MAKE_INT(V_NAME, 1)
	;가르치는 것은 CLIENT를 TARGET로 할 필요가 있다
	ELSEIF TARGET == ARG && SHIRAHU(ARG)
		CALLF MAKE_INT(V_NAME, 1)
	ENDIF
;성공/실패 처리는 CARRYOUT로 직접 쓴다
;SOURCE나 ITEM 입수, 소비가 번잡하게 되므로
CASE "의뢰 소멸 조건"
	SIF RAND:100 < 30
		CALLF MAKE_INT(V_NAME, 1)
CASE "의뢰인 데리고 나가 가능"
	CALLF MAKE_INT(V_NAME, 1)
ENDSELECT

@IRAI_일반6(CHARA, IRAI_ID, SCENE)
#DIM  CHARA
#DIM  IRAI_ID
#DIMS SCENE
#DIM  CLIENT_ID
#DIM  LIBRARY_ID
#DIMS LIBRARY_NAME
#DIM  CHK_SLOT
CLIENT_ID = IRAI_ID_TO_CLIENT(IRAI_ID)
CHK_SLOT  = SEARCH_IRAI_SLOT(IRAI_ID)
SELECTCASE SCENE
CASE "의뢰 조건 표시"
PRINTFORML 　　이해도：%IRAI_일반6_DIFFICULTY(CHK_SLOT)%
;무엇인가 전용의 표시 정보를 마련하고 싶을 시용
;수탁 끝난 의뢰 표시로 사용됩니다
;
;PRINT계만으로 SOURCE라든지는 넣으면 안 돼, WAIT도 없음으로
;여기 이외의표시 항목은
;PRINTFORML 　　　　　：
;되고 있으므로 스페이스를 가지런히 하는 편이 보기에 좋습니다

CASE "의뢰실행시"
;의뢰실행시에는 RESULT가 의미를 가집니다
;이 CASE에 한정해, RESULT가 의미를 가집니다
;의뢰실행시의 RESULT에는 IRAI_CONST_RESULT()를 사용해 주세요
;가능한 인수는"캔슬", "실행해 성공", "실행해 실패", "실행해 미해결"입니다
;독자 처리를 가르치고 싶을 때는"실행해 미해결"로 유보하자 마자 해 주세요
	LIBRARY_ID = IS_LIBRARY(CFLAG:MASTER:현재위치)
	IF LIBRARY_ID
		IF INRANGE(LIBRARY_ID, 1, 99)
			LIBRARY_NAME '= STR:LIBRARY_ID
		ELSE
			LIBRARY_NAME '= STR:(8000 + LIBRARY_ID)
		ENDIF
		IF TARGET == CLIENT_ID
			PRINTFORML %마스터는% %CALLNAME:TARGET%의 의문에 답하기 위해 %조사처리(LIBRARY_NAME,"를")% 방문했다
			PRINTFORML 여기라면 도움이 되는 자료가 발견될 것 같다
			CALL ASK_M("그만둔다", 1, "조사해본다", 1, "답변해 본다", 1)
			SELECTCASE RESULT
			CASE 0
				RETURN IRAI_CONST_RESULT("캔슬")
			CASE 1
				PRINTFORMW %마스터와% %타겟은% %LIBRARY_NAME%에서 조사를 했다
				EXP:MASTER:학습경험 ++
				EXP:TARGET:학습경험 ++
				IRAI_SUB:CHK_SLOT -= ABL:MASTER:교양 + ABL:TARGET:교양 + 5
				IRAI_SUB:CHK_SLOT = MAX(IRAI_SUB:CHK_SLOT, 1)
				TIME += 30
			CASE 2
				GOTO ANSWER
			ENDSELECT
		ELSE
			PRINTFORML %마스터는% %LIBRARY_NAME%에서 조사를 했다
			EXP:MASTER:학습경험 ++
			IRAI_SUB:CHK_SLOT -= ABL:MASTER:교양 + 3
			IRAI_SUB:CHK_SLOT = MAX(IRAI_SUB:CHK_SLOT, 1)
		ENDIF
		PRINTFORML 현재의 당신의 이해도
		PRINTFORMW 　%IRAI_일반6_DIFFICULTY(CHK_SLOT)%
		RETURN IRAI_CONST_RESULT("실행해 미해결")
	ELSE
		$ANSWER
		PRINTFORML %마스터는% %CALLNAME:TARGET%의 의문에 답했다
		IF IRAI_일반6_SUCCESS(CHK_SLOT)
			PRINTFORMW %CALLNAME:TARGET%의 의문은 풀렸다!
			SOURCE:환락 = 300
			EXP:MASTER:학습경험 += ABL:TARGET:교양 * 5
			EXP:TARGET:학습경험 += ABL:TARGET:교양 * 5
			IF ITEM:103
				EXP:MASTER:학습경험 ++
				EXP:TARGET:학습경험 ++
			ENDIF
			DOWNBASE:MASTER:체력 = 70
			DOWNBASE:MASTER:기력 = 100
			DOWNBASE:체력 = 50
			DOWNBASE:기력 = 70
			TIME += 30
			RETURN IRAI_CONST_RESULT("실행해 성공")
		ELSE
			PRINTFORMW %타겟은% 납득할 수 없었던 것 같다……
			RETURN IRAI_CONST_RESULT("실행해 실패")
		ENDIF
	ENDIF
CASE "의뢰 성공시"
;성공 보고시의 보수 등
	CALL CHANGE_CFLAG(2, TARGET, 50)
	CALL CHANGE_CFLAG(4, TARGET, 30)
	CALL KIGEN_CHANGE(TARGET,100,1)
	CALL GET_MONEY_YEN(500, 2)
CASE "의뢰 실패시"
;실패 보고시의 처리
	CALL CHANGE_CFLAG(2, TARGET, -10)
	CALL CHANGE_CFLAG(4, TARGET, -10)
ENDSELECT

@IRAI_일반6_SUCCESS(CHK_SLOT)
#FUNCTION
#DIM CHK_SLOT
SIF RAND:MAX(1, IRAI_SUB:CHK_SLOT) <= (1 + ABL:MASTER:교양) * 20
	RETURNF 1

@IRAI_일반6_DIFFICULTY(CHK_SLOT)
#FUNCTIONS
#DIM CHK_SLOT
SIF IRAI_SUB:CHK_SLOT <= (1 + ABL:MASTER:교양) * 20
	RETURNF "완벽하게 이해시켜 보이겠다"
;난이도 전체로 차분을 퍼센트화한 것
SELECTCASE (IRAI_SUB:CHK_SLOT - ((1 + ABL:MASTER:교양) * 20)) * 100 / IRAI_SUB:CHK_SLOT
CASE 0, 1, 2, 3
	RETURNF "잘 알려줄 수 있을 것 같다"
CASE 4, 5, 6
	RETURNF "충분히 알려줄 수 있다"
CASE 7 TO 10
	RETURNF "대답할 수 있을 것이다"
CASE 11 TO 33
	RETURNF "이것으로 납득해 주지 않을까"
CASE 34 TO 50
	RETURNF "어떻게든 된다, 아마도"
CASE 51 TO 70
	RETURNF "어려운 질문이다"
CASEELSE
	RETURNF "전혀 짐작도 안간다"
ENDSELECT


code:
;존부 함수
;F함수는 TRYCALL계를 사용할 수 없기 때문에 통상 함수로 존부 배열을 만들어버린다
@EXIST_일반의뢰7
#LOCALSIZE 1
#LOCALSSIZE 1

;오브젝트 본체
;여기서 ARG로 건네받는 것은 CLIENT_ID입니다
@일반의뢰7(ARG, O_DATA, V_NAME)
#FUNCTION
#LOCALSIZE 1
#LOCALSSIZE 1
#DIMS O_DATA
#DIMS V_NAME
SELECTCASE O_DATA
CASE "의뢰명"
	CALLF MAKE_STR(V_NAME, "대청소가 끝나지 않는다")
CASE "의뢰내용 표시"
	CALLF MAKE_STR(V_NAME, "대청소의 도움")
CASE "의뢰 보수 표시"
	CALLF MAKE_STR(V_NAME, @"\\1500")
CASE "의뢰실행 커맨드 이름"
	IF YOGORE:(GET_CHARAHOME(ARG)) < 1000
		CALLF MAKE_STR(V_NAME, "청소할 수 있었다")
	ELSE
		CALLF MAKE_STR(V_NAME, "청소를 한다")
	ENDIF

CASE "의뢰내용"
	CALLF MAKE_INT(V_NAME, MAKE_IRAI_DATA(0, "작업"))
CASE "의뢰 서브"
CASE "의뢰기한"
;발생시는 아니고 수탁시에 확정합니다
CASE "의뢰 발생율"
	CALLF MAKE_INT(V_NAME, 80)
CASE "의뢰 발생 조건"
	IF MAIN_MAP != GET_MAPID(GET_CHARAHOME(ARG))
	ELSEIF !(DAY:2 == 4 && INRANGE(DAY:3, 15, 31))
	ELSEIF ABL:ARG:친밀 >= 3
		CALLF MAKE_INT(V_NAME, 1)
	ENDIF
CASE "의뢰 수탁 가능 조건"
;그 의뢰자의 자택 부근에 있을 때
;(기본 조건으로 해 우선 의뢰자와 당신이 동일 지점에 있을 것이므로 이것으로 좋다)
	IF MAIN_MAP != GET_MAPID(GET_CHARAHOME(ARG))
	ELSEIF CFLAG:ARG:연회참가
	ELSEIF YOGORE:(GET_CHARAHOME(ARG)) < 1000
	ELSEIF GET_MAPID(CFLAG:MASTER:현재위치) == MAIN_MAP
		CALLF MAKE_INT(V_NAME, 1)
	ENDIF
CASE "의뢰실행 가능 조건"
;의뢰자와 TARGET가 동일하고, 그 의뢰자의 자택에 있을 때
;(기본 조건으로 해 우선 의뢰자와 당신이 동일 지점에 있을 것이므로 이것으로 좋다)
	IF MAIN_MAP != GET_MAPID(GET_CHARAHOME(ARG))
	ELSEIF CFLAG:ARG:연회참가
	ELSEIF CFLAG:ARG:현재위치 == GET_CHARAHOME(ARG)
		CALLF MAKE_INT(V_NAME, 1)
	ENDIF
;성공/실패 처리는 CARRYOUT로 직접 쓴다
;SOURCE나 ITEM 입수, 소비가 번잡하게 되므로
CASE "의뢰 소멸 조건"
	SIF !(DAY:2 == 4 && INRANGE(DAY:3, 15, 31))
		CALLF MAKE_INT(V_NAME, 1)
CASE "의뢰인 데리고 나가 가능"
	CALLF MAKE_INT(V_NAME, 1)
ENDSELECT

@IRAI_일반7(CHARA, IRAI_ID, SCENE)
#DIM  CHARA
#DIM  IRAI_ID
#DIMS SCENE
#DIM  CLIENT_ID
#DIM  SWEEP_ID
#DIM  SWEEP_POWER
#DIM  PREV_YOGORE
CLIENT_ID = IRAI_ID_TO_CLIENT(IRAI_ID)
SELECTCASE SCENE
CASE "의뢰 조건 표시"
;무엇인가 전용의 표시 정보를 마련하고 싶을 시용
;수탁 끝난 의뢰 표시로 사용됩니다
;
;PRINT계만으로 SOURCE라든지는 넣으면 안 돼, WAIT도 없음으로
;여기 이외의표시 항목은
;PRINTFORML 　　　　　：
;되고 있으므로 스페이스를 가지런히 하는 편이 보기에 좋습니다

CASE "의뢰실행시"
;이 CASE에 한정해, RESULT가 의미를 가집니다
;의뢰실행시의 RESULT에는 IRAI_CONST_RESULT()를 사용해 주세요
;가능한 인수는"캔슬", "실행해 성공", "실행해 실패", "실행해 미해결"입니다
;독자 처리를 가르치고 싶을 때는"실행해 미해결"로 유보하자 마자 해 주세요
	IF YOGORE:(GET_CHARAHOME(TARGET)) < 1000
		PRINTFORMW %CALLNAME:TARGET%의 방은 충분히 깨끗하다
		TIME += 3
	ELSE
		PRINTFORMW %마스터는% %타겟과% 협력해 철저하게 방을 청소했다
		PRINTFORML
		SWEEP_ID = CFLAG:MASTER:현재위치
		SWEEP_POWER = (2 + ABL:MASTER:청소기능 + 3 * TALENT:MASTER:청소중독) * (5 - TALENT:MASTER:61) / 5
		PREV_YOGORE = YOGORE:SWEEP_ID
		;청소 효과 한층 더 높은
		YOGORE:SWEEP_ID = YOGORE:SWEEP_ID / (SWEEP_POWER + 2 + ABL:청소기능)
		SIF GROUPMATCH(CFLAG:MASTER:현재위치, 9, 10)
			YOGORE:(54) = 0
			;PRINTL 내친 김에 벌레통도 청소했다
			;PRINTFORML 신묘마루의 개인물품을 치우고 뒤집어서 흔들면 그만이니까 간단하다
		EX:MASTER:오늘의청소회수 += PREV_YOGORE - YOGORE:SWEEP_ID
		EXP:청소경험 ++
		EXP:MASTER:청소경험 ++

		DOWNBASE:MASTER:체력 = 50
		DOWNBASE:MASTER:기력 = 100
		DOWNBASE:기력 = 100
		TIME += 40
	ENDIF
	SOURCE:환락 = 500
	SOURCE:정복 = 200
	RETURN IRAI_CONST_RESULT("실행해 성공")
CASE "의뢰 성공시"
;성공 보고시의 보수 등
	CALL CHANGE_CFLAG(2, TARGET, 30)
	CALL CHANGE_CFLAG(4, TARGET, 30)
	CALL GET_MONEY_YEN(1500, 2)
CASE "의뢰 실패시"
;실패 보고시의 처리
	CALL CHANGE_CFLAG(2, TARGET, -20)
	CALL CHANGE_CFLAG(4, TARGET, -10)
ENDSELECT


code:
;존부 함수
;F함수는 TRYCALL계를 사용할 수 없기 때문에 통상 함수로 존부 배열을 만들어버린다
@EXIST_일반의뢰8
#LOCALSIZE 1
#LOCALSSIZE 1

;오브젝트 본체
;여기서 ARG로 건네받는 것은 CLIENT_ID입니다
@일반의뢰8(ARG, O_DATA, V_NAME)
#FUNCTION
#LOCALSIZE 1
#LOCALSSIZE 1
#DIMS O_DATA
#DIMS V_NAME
SELECTCASE O_DATA
CASE "의뢰명"
	CALLF MAKE_STR(V_NAME, "편지를 보내줘")
CASE "의뢰내용 표시"
	CALLF MAKE_STR(V_NAME, @"어떤 인물에게 편지를 보낸다")
CASE "의뢰 보수 표시"
	CALLF MAKE_STR(V_NAME, @"소재 4개")
CASE "의뢰실행 커맨드 이름"
	CALLF MAKE_STR(V_NAME, "편지를 건네준다")

CASE "의뢰내용"
	CALLF MAKE_INT(V_NAME, MAKE_IRAI_DATA(WHO_LETTER_TO(ARG), "전령(인물)"))
CASE "의뢰 서브"
CASE "의뢰기한"
;발생시는 아니고 수탁시에 확정합니다
	CALLF MAKE_INT(V_NAME, 3)
CASE "의뢰 발생율"
	CALLF MAKE_INT(V_NAME, 10)
CASE "의뢰 발생 조건"
	SIF CFLAG:ARG:신뢰도 >= 30 && WHO_LETTER_TO(ARG)
		CALLF MAKE_INT(V_NAME, 1)
CASE "의뢰 수탁 가능 조건"
	SIF CFLAG:ARG:신뢰도 >= 30 && WHO_LETTER_TO(ARG)
		CALLF MAKE_INT(V_NAME, 1)
CASE "의뢰실행 가능 조건"
	CALLF MAKE_INT(V_NAME, 1)
;성공/실패 처리는 CARRYOUT로 직접 쓴다
;SOURCE나 ITEM 입수, 소비가 번잡하게 되므로
CASE "의뢰 소멸 조건"
	SIF RAND:100 < 30
		CALLF MAKE_INT(V_NAME, 1)
ENDSELECT

@IRAI_일반8(CHARA, IRAI_ID, SCENE)
#DIM  CHARA
#DIM  IRAI_ID
#DIMS SCENE
#DIM  CLIENT_ID
CLIENT_ID = IRAI_ID_TO_CLIENT(IRAI_ID)
SELECTCASE SCENE
CASE "의뢰 조건 표시"
;무엇인가 전용의 표시 정보를 마련하고 싶을 시용
;수탁 끝난 의뢰 표시로 사용됩니다
;
;PRINT계만으로 SOURCE라든지는 넣으면 안 돼, WAIT도 없음으로
;여기 이외의표시 항목은
;PRINTFORML 　　　　　：
;되고 있으므로 스페이스를 가지런히 하는 편이 보기에 좋습니다

CASE "의뢰실행시"
;이 CASE에 한정해, RESULT가 의미를 가집니다
;의뢰실행시의 RESULT에는 IRAI_CONST_RESULT()를 사용해 주세요
;가능한 인수는"캔슬", "실행해 성공", "실행해 실패", "실행해 미해결"입니다
;독자 처리를 가르치고 싶을 때는"실행해 미해결"로 유보하자 마자 해 주세요
	PRINTFORMW %마스터는% %CALLNAME:TARGET%에게 맡고 있던 편지를 건네주었다
	PRINTFORML
	SOURCE:환락 = 500
	CALL CHANGE_CFLAG(2, TARGET, 20)
	RETURN IRAI_CONST_RESULT("실행해 성공")
CASE "의뢰 성공시"
;성공 보고시의 보수 등
	SOURCE:환락 = 500
	CALL CHANGE_CFLAG(2, TARGET, 50)
	CALL CHANGE_CFLAG(4, TARGET, 30)
	CALL GetRandMaterial(4, 3000)
CASE "의뢰 실패시"
;실패 보고시의 처리
	CALL CHANGE_CFLAG(2, TARGET, -20)
	CALL CHANGE_CFLAG(4, TARGET, -10)
ENDSELECT


code:
;존부 함수
;F함수는 TRYCALL계를 사용할 수 없기 때문에 통상 함수로 존부 배열을 만들어버린다
@EXIST_일반의뢰9
#LOCALSIZE 1
#LOCALSSIZE 1

;오브젝트 본체
;여기서 ARG로 건네받는 것은 CLIENT_ID입니다
@일반의뢰9(ARG, O_DATA, V_NAME)
#FUNCTION
#LOCALSIZE 1
#LOCALSSIZE 1
#DIMS O_DATA
#DIMS V_NAME
SELECTCASE O_DATA
CASE "의뢰명"
	CALLF MAKE_STR(V_NAME, "누군가의 유실물")
CASE "의뢰내용 표시"
	CALLF MAKE_STR(V_NAME, @"주인을 찾는다")
CASE "의뢰 보수 표시"
	CALLF MAKE_STR(V_NAME, @"상급 소재")
CASE "의뢰 보고 불필요"
	CALLF MAKE_STR(V_NAME, "보고 불필요(보수 수리에는 보고 필수)")
CASE "의뢰실행 커맨드 이름"
	CALLF MAKE_STR(V_NAME, "유실물을 돌려준다")

CASE "의뢰내용"
	CALLF MAKE_INT(V_NAME, MAKE_IRAI_DATA(RAND_PERSON(ARG), "수색(인물)"))
CASE "의뢰 서브"
	;패턴 설정
	CALLF MAKE_INT(V_NAME, RAND:3 + 1)
CASE "의뢰기한"
	CALLF MAKE_INT(V_NAME, 10)
CASE "의뢰 발생율"
	CALLF MAKE_INT(V_NAME, 4)
CASE "의뢰 발생 조건"
	SIF CFLAG:ARG:신뢰도 >= 30
		CALLF MAKE_INT(V_NAME, 1)
CASE "의뢰 수탁 가능 조건"
	CALLF MAKE_INT(V_NAME, 1)
CASE "의뢰실행 가능 조건"
	CALLF MAKE_INT(V_NAME, 1)
;성공/실패 처리는 CARRYOUT로 직접 쓴다
;SOURCE나 ITEM 입수, 소비가 번잡하게 되므로
CASE "의뢰 소멸 조건"
	SIF RAND:100 < 30
		CALLF MAKE_INT(V_NAME, 1)
ENDSELECT

@IRAI_일반9(CHARA, IRAI_ID, SCENE)
#DIM  CHARA
#DIM  IRAI_ID
#DIMS SCENE
#DIM  CLIENT_ID
CLIENT_ID = IRAI_ID_TO_CLIENT(IRAI_ID)
SELECTCASE SCENE
CASE "의뢰 조건 표시"
;무엇인가 전용의 표시 정보를 마련하고 싶을 시용
;수탁 끝난 의뢰 표시로 사용됩니다
;
;PRINT계만으로 SOURCE라든지는 넣으면 안 돼, WAIT도 없음으로
;여기 이외의표시 항목은
;PRINTFORML 　　　　　：
;되고 있으므로 스페이스를 가지런히 하는 편이 보기에 좋습니다

CASE "의뢰실행시"
;이 CASE에 한정해, RESULT가 의미를 가집니다
;의뢰실행시의 RESULT에는 IRAI_CONST_RESULT()를 사용해 주세요
;가능한 인수는"캔슬", "실행해 성공", "실행해 실패", "실행해 미해결"입니다
;독자 처리를 가르치고 싶을 때는"실행해 미해결"로 유보하자 마자 해 주세요
	PRINTFORMW %마스터는% %CALLNAME:TARGET%에게 맡고 있던 유실물을 돌려주었다
	PRINTFORML
	SOURCE:복종 = 1500
	SOURCE:환락 = 1000
	CALL CHANGE_CFLAG(2, TARGET, 20)
	CALL CHANGE_CFLAG(4, TARGET, 10)
	RETURN IRAI_CONST_RESULT("실행해 성공")
CASE "의뢰 성공시"
;성공 보고시의 보수 등
	SOURCE:환락 = 500
	CALL CHANGE_CFLAG(2, TARGET, 30)
	CALL CHANGE_CFLAG(4, TARGET, 20)
	CALL GetRandMaterial(1, 10000, 5000)
CASE "의뢰 실패시"
;실패 보고시의 처리
	CALL CHANGE_CFLAG(2, TARGET, -2)
	CALL CHANGE_CFLAG(4, TARGET, -1)
ENDSELECT


code:
;존부 함수
;F함수는 TRYCALL계를 사용할 수 없기 때문에 통상 함수로 존부 배열을 만들어버린다
@EXIST_일반의뢰10
#LOCALSIZE 1
#LOCALSSIZE 1

;오브젝트 본체
;여기서 ARG로 건네받는 것은 CLIENT_ID입니다
@일반의뢰10(ARG, O_DATA, V_NAME)
#FUNCTION
#LOCALSIZE 1
#LOCALSSIZE 1
#DIMS O_DATA
#DIMS V_NAME
SELECTCASE O_DATA
CASE "의뢰명"
	CALLF MAKE_STR(V_NAME, "아무리 해도 찾지 못했다")
CASE "의뢰내용 표시"
	CALLF MAKE_STR(V_NAME, @"%CALLNAME:ARG%의 유실물을 찾아준다")
CASE "의뢰 보수 표시"
	CALLF MAKE_STR(V_NAME, @"상급소재 2개")
CASE "의뢰실행 커맨드 이름"
	CALLF MAKE_STR(V_NAME, "찾는다")

CASE "의뢰내용"
	CALLF MAKE_INT(V_NAME, MAKE_IRAI_DATA(RAND_PLACE(ARG, "LOST_ITEM"), "수색(장소)"))
CASE "의뢰 서브"
	;패턴 설정
	CALLF MAKE_INT(V_NAME, RAND:2 + 1)
CASE "의뢰기한"
	CALLF MAKE_INT(V_NAME, 10)
CASE "의뢰 발생율"
	CALLF MAKE_INT(V_NAME, 3)
CASE "의뢰 발생 조건"
	SIF CFLAG:ARG:신뢰도 >= 30
		CALLF MAKE_INT(V_NAME, 1)
CASE "의뢰 수탁 가능 조건"
	CALLF MAKE_INT(V_NAME, 1)
CASE "의뢰실행 가능 조건"
	CALLF MAKE_INT(V_NAME, 1)
;성공/실패 처리는 CARRYOUT로 직접 쓴다
;SOURCE나 ITEM 입수, 소비가 번잡하게 되므로
CASE "의뢰 소멸 조건"
	SIF RAND:100 < 30
		CALLF MAKE_INT(V_NAME, 1)
ENDSELECT

@IRAI_일반10(CHARA, IRAI_ID, SCENE)
#DIM  CHARA
#DIM  IRAI_ID
#DIMS SCENE
#DIM  CLIENT_ID
CLIENT_ID = IRAI_ID_TO_CLIENT(IRAI_ID)
SELECTCASE SCENE
CASE "의뢰 조건 표시"
;무엇인가 전용의 표시 정보를 마련하고 싶을 시용
;수탁 끝난 의뢰 표시로 사용됩니다
;
;PRINT계만으로 SOURCE라든지는 넣으면 안 돼, WAIT도 없음으로
;여기 이외의표시 항목은
;PRINTFORML 　　　　　：
;되고 있으므로 스페이스를 가지런히 하는 편이 보기에 좋습니다

CASE "의뢰실행시"
;이 CASE에 한정해, RESULT가 의미를 가집니다
;의뢰실행시의 RESULT에는 IRAI_CONST_RESULT()를 사용해 주세요
;가능한 인수는"캔슬", "실행해 성공", "실행해 실패", "실행해 미해결"입니다
;독자 처리를 가르치고 싶을 때는"실행해 미해결"로 유보하자 마자 해 주세요
	PRINTFORMW 근처를 찾고 있던 %마스터는% 마침내 찾고 있던 유실물을 발견했다
	PRINTFORML
	RETURN IRAI_CONST_RESULT("실행해 성공")
CASE "의뢰 성공시"
;성공 보고시의 보수 등
	SOURCE:복종 = 1500
	SOURCE:환락 = 1000
	CALL CHANGE_CFLAG(2, TARGET, 50)
	CALL CHANGE_CFLAG(4, TARGET, 30)
	CALL GetRandMaterial(2, 10000, 5000)
CASE "의뢰 실패시"
;실패 보고시의 처리
	CALL CHANGE_CFLAG(2, TARGET, -2)
	CALL CHANGE_CFLAG(4, TARGET, -1)
ENDSELECT


code:
;존부 함수
;F함수는 TRYCALL계를 사용할 수 없기 때문에 통상 함수로 존부 배열을 만들어버린다
@EXIST_일반의뢰11
#LOCALSIZE 1
#LOCALSSIZE 1

;오브젝트 본체
;여기서 ARG로 건네받는 것은 CLIENT_ID입니다
@일반의뢰11(ARG, O_DATA, V_NAME)
#FUNCTION
#LOCALSIZE 1
#LOCALSSIZE 1
#DIMS O_DATA
#DIMS V_NAME
SELECTCASE O_DATA
CASE "의뢰명"
	CALLF MAKE_STR(V_NAME, "아무리 해도 찾지 못했다")
CASE "의뢰내용 표시"
	CALLF MAKE_STR(V_NAME, @"%CALLNAME:ARG%의 유실물을 찾아준다")
CASE "의뢰 보수 표시"
	CALLF MAKE_STR(V_NAME, @"\\3200")
CASE "의뢰실행 커맨드 이름"
	CALLF MAKE_STR(V_NAME, "찾는다")

CASE "의뢰내용"
	CALLF MAKE_INT(V_NAME, MAKE_IRAI_DATA(RAND_PERSON(ARG), "수색(인물)"))
CASE "의뢰 서브"
	;패턴 설정, 습득되는 패턴은0
	CALLF MAKE_INT(V_NAME, 0)
CASE "의뢰기한"
	CALLF MAKE_INT(V_NAME, 10)
CASE "의뢰 발생율"
	CALLF MAKE_INT(V_NAME, 3)
CASE "의뢰 발생 조건"
	SIF CFLAG:ARG:신뢰도 >= 30
		CALLF MAKE_INT(V_NAME, 1)
CASE "의뢰 수탁 가능 조건"
	CALLF MAKE_INT(V_NAME, 1)
CASE "의뢰실행 가능 조건"
	CALLF MAKE_INT(V_NAME, 1)
;성공/실패 처리는 CARRYOUT로 직접 쓴다
;SOURCE나 ITEM 입수, 소비가 번잡하게 되므로
CASE "의뢰 소멸 조건"
	SIF RAND:100 < 30
		CALLF MAKE_INT(V_NAME, 1)
ENDSELECT

@IRAI_일반11(CHARA, IRAI_ID, SCENE)
#DIM  CHARA
#DIM  IRAI_ID
#DIMS SCENE
#DIM  CLIENT_ID
CLIENT_ID = IRAI_ID_TO_CLIENT(IRAI_ID)
SELECTCASE SCENE
CASE "의뢰 조건 표시"
;무엇인가 전용의 표시 정보를 마련하고 싶을 시용
;수탁 끝난 의뢰 표시로 사용됩니다
;
;PRINT계만으로 SOURCE라든지는 넣으면 안 돼, WAIT도 없음으로
;여기 이외의표시 항목은
;PRINTFORML 　　　　　：
;되고 있으므로 스페이스를 가지런히 하는 편이 보기에 좋습니다

CASE "의뢰실행시"
;이 CASE에 한정해, RESULT가 의미를 가집니다
;의뢰실행시의 RESULT에는 IRAI_CONST_RESULT()를 사용해 주세요
;가능한 인수는"캔슬", "실행해 성공", "실행해 실패", "실행해 미해결"입니다
;독자 처리를 가르치고 싶을 때는"실행해 미해결"로 유보하자 마자 해 주세요
	SOURCE:환락 = 500
	PRINTFORMW 탐문을 계속하고 있던 %마스터는% 마침내 찾고 있던 유실물을 발견했다
	PRINTFORML
	RETURN IRAI_CONST_RESULT("실행해 성공")
CASE "의뢰 성공시"
;성공 보고시의 보수 등
	SOURCE:복종 = 1500
	SOURCE:환락 = 1000
	CALL CHANGE_CFLAG(2, TARGET, 25)
	CALL CHANGE_CFLAG(4, TARGET, 15)
	CALL GET_MONEY_YEN(3200, 2)
CASE "의뢰 실패시"
;실패 보고시의 처리
	CALL CHANGE_CFLAG(2, TARGET, -2)
	CALL CHANGE_CFLAG(4, TARGET, -1)
ENDSELECT


code:
;존부 함수
;F関数はTRYCALL系が使えないので通常関数で存否配列を作っちゃう
@EXIST_일반의뢰12
#LOCALSIZE 1
#LOCALSSIZE 1

;오브젝트 본체
;여기서 ARG로 건네받는 것은 CLIENT_ID입니다
@일반의뢰12(ARG, O_DATA, V_NAME)
#FUNCTION
#LOCALSIZE 1
#LOCALSSIZE 1
#DIMS O_DATA
#DIMS V_NAME
SELECTCASE O_DATA
CASE "의뢰명"
	CALLF MAKE_STR(V_NAME, "혼내줘！")
CASE "의뢰내용 표시"
	CALLF MAKE_STR(V_NAME, @"토벌대상을 탄막승부로 이긴다")
CASE "의뢰 보수 표시"
	CALLF MAKE_STR(V_NAME, @"상금(시가)")
CASE "의뢰실행 커맨드 이름"
	CALLF MAKE_STR(V_NAME, "혼내준다")
CASE "의뢰내용"
	CALLF MAKE_INT(V_NAME, MAKE_IRAI_DATA(RAND_HANTING(ARG), "토벌"))
CASE "의뢰 서브"
CASE "의뢰기한"
;発生時ではなく受託時に確定します
	CALLF MAKE_INT(V_NAME, 10)
CASE "의뢰 발생율"
;これは他の일반의뢰との相対確率なんで10％ではありません
	CALLF MAKE_INT(V_NAME, 2)
CASE "의뢰 발생 조건"
;CSVの전투능력が1以上
	SIF CSVABL(ARG, GETNUM(ABL, "전투능력")) >= 1
		CALLF MAKE_INT(V_NAME, 1)
CASE "의뢰 수탁 가능 조건"
;あなたの전투능력が1以上
	SIF ABL:MASTER:전투능력 >= 1
		CALLF MAKE_INT(V_NAME, 1)
CASE "의뢰실행 가능 조건"
	CALLF MAKE_INT(V_NAME, 1)
;成功/失敗処理はCARRYOUTで直接書く
;SOURCEやITEM入手、消費が煩雑になるので
CASE "의뢰 소멸 조건"
	SIF RAND:100 < 30
		CALLF MAKE_INT(V_NAME, 1)
CASE "의뢰인 데리고 나가 가능"
ENDSELECT

@IRAI_일반12(CHARA, IRAI_ID, SCENE)
#DIM  CHARA
#DIM  IRAI_ID
#DIMS SCENE
#DIM  CLIENT_ID
#DIM  CHK_SLOT
#DIM  OPPONENT_REMAIN
CLIENT_ID = IRAI_ID_TO_CLIENT(IRAI_ID)
CHK_SLOT  = SEARCH_IRAI_SLOT(IRAI_ID)
SELECTCASE SCENE
CASE "의뢰 조건 표시"
;何か専用の表示情報を設けたい時用
;受託済みの依頼表示で使用されます
;
;PRINT系だけでSOURCEとかは入れちゃダメ、WAITも無しで
;ここ以外の表示項目は
;PRINTFORML 　　　　　：
;となっているのでスペースを揃えたほうが見栄えが良いです

CASE "의뢰실행시"
;このCASEに限り、RESULTが意味を持ちます
;의뢰실행시のRESULTにはIRAI_CONST_RESULT()を使用してください
;可能な引数は"キャンセル", "실행해 성공", "実行して失敗", "실행해 미해결"です
;独自処理を仕込みたい時は"실행해 미해결"で先延ばしするなりしてください
;
;
	;実行できないパターン
	;拠点では屋内だとダメ（原作だとめっちゃやってるけど）
	IF CANNOT_DANMAKU() == 1
		PRINTFORMW 옥외에서 도전하자…
		RETURN IRAI_CONST_RESULT("실행해 미해결")
	;仕事中はダメ
	ELSEIF CANNOT_DANMAKU() == 2
		PRINTFORMW 바쁜 상황이다…
		RETURN IRAI_CONST_RESULT("실행해 미해결")
	;あなたが疲労
	ELSEIF CANNOT_DANMAKU() == 3
		PRINTFORMW 지금은 피곤하다…
		RETURN IRAI_CONST_RESULT("실행해 미해결")
	;対象が疲労
	ELSEIF CANNOT_DANMAKU() == 4
		PRINTFORMW 지금 도전하는 것은 공정하지 않다…
		RETURN IRAI_CONST_RESULT("실행해 미해결")
	;既に挑んでる
	ELSEIF CANNOT_DANMAKU() == 5
		PRINTFORMW 오늘은 더 이상 도전할 수 없다…
		RETURN IRAI_CONST_RESULT("실행해 미해결")
	ELSE
		;ほぼ弾幕勝負のコピペ
		SETCOLOR C_GREEN
		PRINTFORML ＜토벌전＞
		RESETCOLOR
		PRINTFORMW 승부 개시！！
		CALL DANMAKU_BATTLE(TARGET)
		OPPONENT_REMAIN = RESULT
		CALL KOJO_MESSAGE_SEND("DANMAKU", OPPONENT_REMAIN, TARGET, -1, -1, "戦闘後")
		PRINTL
		TCVAR:TARGET:탄막승부불능 = 1
		SIF OPPONENT_REMAIN == 0
			CFLAG:TARGET:탄막승부승리 = 1
		DOWNBASE:기력 += 500
		DOWNBASE:MASTER:기력 += 500
		DOWNBASE:체력 += 500
		DOWNBASE:MASTER:체력 += 500
		SOURCE:환락 += (3000 + ABL:친밀 * 100) / (OPPONENT_REMAIN + 1)
		TFLAG:호감도보너스 = 1600 / (OPPONENT_REMAIN + 1)
		TFLAG:신뢰도관리 = 3 - LOCAL

		EXP:MASTER:전투경험 += 3

		TIME += 60

		SIF AT_HOME(MASTER)
			YOGORE:(CFLAG:MASTER:현재위치) = LIMIT(YOGORE:(CFLAG:MASTER:현재위치) + 3000, 0, 6000)
		IF OPPONENT_REMAIN == 0
			PRINTL
			SETCOLOR C_YELLOW
			PRINTFORMW %타겟을% 혼내주었다！
			RESETCOLOR
			RETURN IRAI_CONST_RESULT("실행해 성공")
		ELSE
			SETCOLOR C_GREEN
			PRINTFORML %CALLNAME:TARGET%의 토벌에 실패했다……
			PRINTFORMW ……이렇게 되면 후일 다시 시작할 수밖에 없다
			RESETCOLOR
			RETURN IRAI_CONST_RESULT("실행해 미해결")
		ENDIF
	ENDIF
CASE "의뢰 성공시"
;성공 보고시の報酬など
	SELECTCASE ABL:(IRAI_SLOT_TO_PERSON(CHK_SLOT)):전투능력
	CASE IS <= 1
		SOURCE:환락 = 1000
		CALL CHANGE_CFLAG(2, TARGET, 10 + RAND:5)
		CALL CHANGE_CFLAG(4, TARGET, 15 + RAND:5)
		CALL GET_SPELL_CARD_BONUS_YEN(1000, 2)
	CASE 2
		SOURCE:환락 = 1500
		CALL CHANGE_CFLAG(2, TARGET, 15 + RAND:5)
		CALL CHANGE_CFLAG(4, TARGET, 20 + RAND:10)
		CALL GET_SPELL_CARD_BONUS_YEN(2000, 2)
	CASE 3
		SOURCE:환락 = 2000
		CALL CHANGE_CFLAG(2, TARGET, 20 + RAND:10)
		CALL CHANGE_CFLAG(4, TARGET, 25 + RAND:10)
		CALL GET_SPELL_CARD_BONUS_YEN(5000, 2)
	CASE 4
		SOURCE:환락 = 2500
		CALL CHANGE_CFLAG(2, TARGET, 25 + RAND:10)
		CALL CHANGE_CFLAG(4, TARGET, 30 + RAND:10)
		CALL GET_SPELL_CARD_BONUS_YEN(10000, 2)
	CASE 5
		SOURCE:환락 = 3000
		CALL CHANGE_CFLAG(2, TARGET, 30 + RAND:20)
		CALL CHANGE_CFLAG(4, TARGET, 35 + RAND:20)
		CALL GET_SPELL_CARD_BONUS_YEN(15000, 2)
	CASEELSE
		SOURCE:환락 = 4000
		CALL CHANGE_CFLAG(2, TARGET, 40 + RAND:20)
		CALL CHANGE_CFLAG(4, TARGET, 40 + RAND:20)
		CALL GET_SPELL_CARD_BONUS_YEN(30000, 2)
	ENDSELECT
CASE "의뢰 실패시"
;실패 보고시の処理
;過酷な依頼なので少しだけ
	PRINTFORML BoNus FAilEd...
	CALL CHANGE_CFLAG(2, TARGET, -3)
	CALL CHANGE_CFLAG(4, TARGET, -2)
ENDSELECT

;依頼での弾幕勝負ができない場合は真
@CANNOT_DANMAKU
#FUNCTION
;拠点では屋内だとダメ（原作だとめっちゃやってるけど）
IF AT_HOME(MASTER) && !OUTROOF(CFLAG:MASTER:현재위치) && !전투훈련가능(CFLAG:MASTER:현재위치)
	RETURNF 1
;仕事中はダメ
ELSEIF CFLAG:TARGET:행동 == 5
	RETURNF 2
;あなたが疲労
ELSEIF BASE:MASTER:기력 < 500 || BASE:MASTER:체력 < 500
	RETURNF 3
;対象が疲労
ELSEIF BASE:TARGET:기력 < 500 || BASE:TARGET:체력 < 500
	RETURNF 4
;既に挑んでる
ELSEIF TCVAR:TARGET:탄막승부불능
	RETURNF 5
ENDIF
RETURNF 0


code:
;존부 함수
;F関数はTRYCALL系が使えないので通常関数で存否配列を作っちゃう
@EXIST_일반의뢰13
#LOCALSIZE 1
#LOCALSSIZE 1

;오브젝트 본체
;여기서 ARG로 건네받는 것은 CLIENT_ID입니다
@일반의뢰13(ARG, O_DATA, V_NAME)
#FUNCTION
#LOCALSIZE 1
#LOCALSSIZE 1
#DIMS O_DATA
#DIMS V_NAME
SELECTCASE O_DATA
CASE "의뢰명"
	CALLF MAKE_STR(V_NAME, "맛있는물고기가 먹고 싶네")
CASE "의뢰내용 표시"
	CALLF MAKE_STR(V_NAME, @"맛있는물고기를 전달한다")
CASE "의뢰 보수 표시"
	CALLF MAKE_STR(V_NAME, @"백미 3개")
CASE "의뢰실행 커맨드 이름"
	CALLF MAKE_STR(V_NAME, "맛있는물고기를 전달한다")
CASE "의뢰내용"
	CALLF MAKE_INT(V_NAME, MAKE_IRAI_DATA(GETNUM(ITEM, "맛있는물고기"), "조달"))
CASE "의뢰 서브"
	CALLF MAKE_INT(V_NAME, 1)
CASE "의뢰기한"
;発生時ではなく受託時に確定します
	CALLF MAKE_INT(V_NAME, 5)
CASE "의뢰 발생율"
;これは他の일반의뢰との相対確率なんで10％ではありません
	CALLF MAKE_INT(V_NAME, 3)
CASE "의뢰 발생 조건"
;와카사기히메以外
	SIF ARG != [[와카사기히메]]
		CALLF MAKE_INT(V_NAME, 1)
CASE "의뢰 수탁 가능 조건"
;낚싯대を持ってる
	SIF ITEM:낚싯대
		CALLF MAKE_INT(V_NAME, 1)
CASE "의뢰실행 가능 조건"
	CALLF MAKE_INT(V_NAME, 1)
;成功/失敗処理はCARRYOUTで直接書く
;SOURCEやITEM入手、消費が煩雑になるので
CASE "의뢰 소멸 조건"
	SIF RAND:100 < 30
		CALLF MAKE_INT(V_NAME, 1)
CASE "의뢰인 데리고 나가 가능"
ENDSELECT

@IRAI_일반13(CHARA, IRAI_ID, SCENE)
#DIM  CHARA
#DIM  IRAI_ID
#DIMS SCENE
#DIM  CLIENT_ID
CLIENT_ID = IRAI_ID_TO_CLIENT(IRAI_ID)
SELECTCASE SCENE
CASE "의뢰 조건 표시"
;何か専用の表示情報を設けたい時用
;受託済みの依頼表示で使用されます
;
;PRINT系だけでSOURCEとかは入れちゃダメ、WAITも無しで
;ここ以外の表示項目は
;PRINTFORML 　　　　　：
;となっているのでスペースを揃えたほうが見栄えが良いです

CASE "의뢰실행시"
;このCASEに限り、RESULTが意味を持ちます
;의뢰실행시のRESULTにはIRAI_CONST_RESULT()を使用してください
;可能な引数は"キャンセル", "실행해 성공", "実行して失敗", "실행해 미해결"です
;独自処理を仕込みたい時は"실행해 미해결"で先延ばしするなりしてください
	SOURCE:TARGET:환락 += 1000
	PRINTFORML %마스터는% %CALLNAME:TARGET%에게 맛있는물고기를 건네주었다
	PRINTFORML 왠지 살아갈 희망이 생겼어
	CALL LOST_ITEM("맛있는물고기", 1, 2)
	RETURN IRAI_CONST_RESULT("실행해 성공")
CASE "의뢰 성공시"
;성공 보고시の報酬など
	CALL CHANGE_CFLAG(2, TARGET, 30)
	CALL CHANGE_CFLAG(4, TARGET, 20)
	TALENT:기분 = LIMIT(TALENT:기분 + 1, -1, 1)
	CALL GET_ITEM("백미", 3, 2)
CASE "의뢰 실패시"
;실패 보고시の処理
	CALL CHANGE_CFLAG(2, TARGET, -5)
	CALL CHANGE_CFLAG(4, TARGET, -5)
ENDSELECT

path: ERB/커맨드관련/COMF/의뢰/일반의뢰13_맛있는생선이먹고싶네.ERB


code:
;존부 함수
;F関数はTRYCALL系が使えないので通常関数で存否配列を作っちゃう
	;暫定的コメントアウト
;@EXIST_일반의뢰14
;#LOCALSIZE 1
;#LOCALSSIZE 1

;오브젝트 본체
;여기서 ARG로 건네받는 것은 CLIENT_ID입니다
@일반의뢰14(ARG, O_DATA, V_NAME)
#FUNCTION
#LOCALSIZE 1
#LOCALSSIZE 1
#DIMS O_DATA
#DIMS V_NAME
SELECTCASE O_DATA
CASE "의뢰명"
	CALLF MAKE_STR(V_NAME, "장작을 팬다")
CASE "의뢰내용 표시"
	CALLF MAKE_STR(V_NAME, @"목재를 전달")
CASE "의뢰 보수 표시"
	CALLF MAKE_STR(V_NAME, @"잡곡 3개")
CASE "의뢰실행 커맨드 이름"
	CALLF MAKE_STR(V_NAME, "목재를 5개 전달")
CASE "의뢰내용"
	CALLF MAKE_INT(V_NAME, MAKE_IRAI_DATA(GETNUM(ITEM, "목재"), "조달"))
CASE "의뢰 서브"
	CALLF MAKE_INT(V_NAME, 1)
CASE "의뢰기한"
;発生時ではなく受託時に確定します
	CALLF MAKE_INT(V_NAME, 5)
CASE "의뢰 발생율"
	IF DAY:2 == 4
	;冬は発生しやすい
		CALLF MAKE_INT(V_NAME, 10)
	ELSE
		CALLF MAKE_INT(V_NAME, 3)
	ENDIF
CASE "의뢰 발생 조건"
	CALLF MAKE_INT(V_NAME, 1)
CASE "의뢰 수탁 가능 조건"
;목재を持ってる
	SIF ITEM:목재
		CALLF MAKE_INT(V_NAME, 1)
CASE "의뢰실행 가능 조건"
	SIF ITEM:목재 >= 5
		CALLF MAKE_INT(V_NAME, 1)
;成功/失敗処理はCARRYOUTで直接書く
;SOURCEやITEM入手、消費が煩雑になるので
CASE "의뢰 소멸 조건"
	SIF RAND:100 < 30
		CALLF MAKE_INT(V_NAME, 1)
CASE "의뢰인 데리고 나가 가능"
ENDSELECT

@IRAI_일반14(CHARA, IRAI_ID, SCENE)
#DIM  CHARA
#DIM  IRAI_ID
#DIMS SCENE
#DIM  CLIENT_ID
CLIENT_ID = IRAI_ID_TO_CLIENT(IRAI_ID)
SELECTCASE SCENE
CASE "의뢰 조건 표시"
;何か専用の表示情報を設けたい時用
;受託済みの依頼表示で使用されます
;
;PRINT系だけでSOURCEとかは入れちゃダメ、WAITも無しで
;ここ以外の表示項目は
;PRINTFORML 　　　　　：
;となっているのでスペースを揃えたほうが見栄えが良いです

CASE "의뢰실행시"
;このCASEに限り、RESULTが意味を持ちます
;의뢰실행시のRESULTにはIRAI_CONST_RESULT()を使用してください
;可能な引数は"キャンセル", "실행해 성공", "実行して失敗", "실행해 미해결"です
;独自処理を仕込みたい時は"실행해 미해결"で先延ばしするなりしてください
	PRINTFORML %마스터는% %CALLNAME:TARGET%에게 목재를 건네주었다
	IF DAY:2 == 4
	;冬はメッセージあり
		PRINTFORML 이걸로 추위에 떨지 않고 끝나겠어, 라며 기뻐했다
		SOURCE:TARGET:환락 += 2000
	ELSE
		PRINTFORML
		SOURCE:TARGET:환락 += 1000
	ENDIF
	CALL LOST_ITEM("목재", 5, 2)
	RETURN IRAI_CONST_RESULT("실행해 성공")
CASE "의뢰 성공시"
;성공 보고시の報酬など
	CALL CHANGE_CFLAG(2, TARGET, 30)
	CALL CHANGE_CFLAG(4, TARGET, 20)
	TALENT:기분 = LIMIT(TALENT:기분 + 1, -1, 1)
	CALL GET_ITEM("잡곡", 3, 2)
CASE "의뢰 실패시"
;실패 보고시の処理
	CALL CHANGE_CFLAG(2, TARGET, -5)
	CALL CHANGE_CFLAG(4, TARGET, -5)
ENDSELECT