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

;====================================================
;                        후치환
;  조사를 붙인 후 추가 처리를 한다
;====================================================

@후치환(ARGS)
#FUNCTIONS

SIF ARGS == "나가"
    ARGS = 내가

SIF ARGS == "저가"
    ARGS = 제가

RETURNF ARGS

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

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

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

;이름 길이 체크
STRLENSU LOCALS:1

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

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

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

;받침이 있는 글자와 없는 글자를 구분해 반환
IF LOCALS:2 == "가"
    RETURNF 2
ELSEIF LOCALS:2 == "나"
    RETURNF 2
ELSEIF LOCALS:2 == "다"
    RETURNF 2
ELSEIF LOCALS:2 == "라"
    RETURNF 2
ELSEIF LOCALS:2 == "마"
    RETURNF 2
ELSEIF LOCALS:2 == "바"
    RETURNF 2
ELSEIF LOCALS:2 == "사"
    RETURNF 2
ELSEIF LOCALS:2 == "아"
    RETURNF 2
ELSEIF LOCALS:2 == "자"
    RETURNF 2
ELSEIF LOCALS:2 == "차"
    RETURNF 2
ELSEIF LOCALS:2 == "카"
    RETURNF 2
ELSEIF LOCALS:2 == "타"
    RETURNF 2
ELSEIF LOCALS:2 == "파"
    RETURNF 2
ELSEIF LOCALS:2 == "하"
    RETURNF 2
ELSEIF LOCALS:2 == "까"
    RETURNF 2
ELSEIF LOCALS:2 == "따"
    RETURNF 2
ELSEIF LOCALS:2 == "빠"
    RETURNF 2
ELSEIF LOCALS:2 == "싸"
    RETURNF 2
ELSEIF LOCALS:2 == "짜"
    RETURNF 2
ELSEIF LOCALS:2 == "갸"
    RETURNF 2
ELSEIF LOCALS:2 == "냐"
    RETURNF 2
ELSEIF LOCALS:2 == "댜"
    RETURNF 2
ELSEIF LOCALS:2 == "랴"
    RETURNF 2
ELSEIF LOCALS:2 == "먀"
    RETURNF 2
ELSEIF LOCALS:2 == "뱌"
    RETURNF 2
ELSEIF LOCALS:2 == "샤"
    RETURNF 2
ELSEIF LOCALS:2 == "야"
    RETURNF 2
ELSEIF LOCALS:2 == "쟈"
    RETURNF 2
ELSEIF LOCALS:2 == "챠"
    RETURNF 2
ELSEIF LOCALS:2 == "캬"
    RETURNF 2
ELSEIF LOCALS:2 == "탸"
    RETURNF 2
ELSEIF LOCALS:2 == "퍄"
    RETURNF 2
ELSEIF LOCALS:2 == "햐"
    RETURNF 2
ELSEIF LOCALS:2 == "꺄"
    RETURNF 2
ELSEIF LOCALS:2 == "땨"
    RETURNF 2
ELSEIF LOCALS:2 == "뺘"
    RETURNF 2
ELSEIF LOCALS:2 == "쌰"
    RETURNF 2
ELSEIF LOCALS:2 == "쨔"
    RETURNF 2
ELSEIF LOCALS:2 == "거"
    RETURNF 2
ELSEIF LOCALS:2 == "너"
    RETURNF 2
ELSEIF LOCALS:2 == "더"
    RETURNF 2
ELSEIF LOCALS:2 == "러"
    RETURNF 2
ELSEIF LOCALS:2 == "머"
    RETURNF 2
ELSEIF LOCALS:2 == "버"
    RETURNF 2
ELSEIF LOCALS:2 == "서"
    RETURNF 2
ELSEIF LOCALS:2 == "어"
    RETURNF 2
ELSEIF LOCALS:2 == "저"
    RETURNF 2
ELSEIF LOCALS:2 == "처"
    RETURNF 2
ELSEIF LOCALS:2 == "커"
    RETURNF 2
ELSEIF LOCALS:2 == "터"
    RETURNF 2
ELSEIF LOCALS:2 == "퍼"
    RETURNF 2
ELSEIF LOCALS:2 == "허"
    RETURNF 2
ELSEIF LOCALS:2 == "꺼"
    RETURNF 2
ELSEIF LOCALS:2 == "떠"
    RETURNF 2
ELSEIF LOCALS:2 == "뻐"
    RETURNF 2
ELSEIF LOCALS:2 == "써"
    RETURNF 2
ELSEIF LOCALS:2 == "쩌"
    RETURNF 2
ELSEIF LOCALS:2 == "겨"
    RETURNF 2
ELSEIF LOCALS:2 == "녀"
    RETURNF 2
ELSEIF LOCALS:2 == "뎌"
    RETURNF 2
ELSEIF LOCALS:2 == "려"
    RETURNF 2
ELSEIF LOCALS:2 == "며"
    RETURNF 2
ELSEIF LOCALS:2 == "벼"
    RETURNF 2
ELSEIF LOCALS:2 == "셔"
    RETURNF 2
ELSEIF LOCALS:2 == "여"
    RETURNF 2
ELSEIF LOCALS:2 == "져"
    RETURNF 2
ELSEIF LOCALS:2 == "쳐"
    RETURNF 2
ELSEIF LOCALS:2 == "켜"
    RETURNF 2
ELSEIF LOCALS:2 == "텨"
    RETURNF 2
ELSEIF LOCALS:2 == "펴"
    RETURNF 2
ELSEIF LOCALS:2 == "혀"
    RETURNF 2
ELSEIF LOCALS:2 == "껴"
    RETURNF 2
ELSEIF LOCALS:2 == "뗘"
    RETURNF 2
ELSEIF LOCALS:2 == "뼈"
    RETURNF 2
ELSEIF LOCALS:2 == "쎠"
    RETURNF 2
ELSEIF LOCALS:2 == "쪄"
    RETURNF 2
ELSEIF LOCALS:2 == "고"
    RETURNF 2
ELSEIF LOCALS:2 == "노"
    RETURNF 2
ELSEIF LOCALS:2 == "도"
    RETURNF 2
ELSEIF LOCALS:2 == "로"
    RETURNF 2
ELSEIF LOCALS:2 == "모"
    RETURNF 2
ELSEIF LOCALS:2 == "보"
    RETURNF 2
ELSEIF LOCALS:2 == "소"
    RETURNF 2
ELSEIF LOCALS:2 == "오"
    RETURNF 2
ELSEIF LOCALS:2 == "조"
    RETURNF 2
ELSEIF LOCALS:2 == "초"
    RETURNF 2
ELSEIF LOCALS:2 == "코"
    RETURNF 2
ELSEIF LOCALS:2 == "토"
    RETURNF 2
ELSEIF LOCALS:2 == "포"
    RETURNF 2
ELSEIF LOCALS:2 == "호"
    RETURNF 2
ELSEIF LOCALS:2 == "꼬"
    RETURNF 2
ELSEIF LOCALS:2 == "또"
    RETURNF 2
ELSEIF LOCALS:2 == "뽀"
    RETURNF 2
ELSEIF LOCALS:2 == "쏘"
    RETURNF 2
ELSEIF LOCALS:2 == "쯔"
    RETURNF 2
ELSEIF LOCALS:2 == "교"
    RETURNF 2
ELSEIF LOCALS:2 == "뇨"
    RETURNF 2
ELSEIF LOCALS:2 == "됴"
    RETURNF 2
ELSEIF LOCALS:2 == "료"
    RETURNF 2
ELSEIF LOCALS:2 == "묘"
    RETURNF 2
ELSEIF LOCALS:2 == "뵤"
    RETURNF 2
ELSEIF LOCALS:2 == "쇼"
    RETURNF 2
ELSEIF LOCALS:2 == "요"
    RETURNF 2
ELSEIF LOCALS:2 == "죠"
    RETURNF 2
ELSEIF LOCALS:2 == "쵸"
    RETURNF 2
ELSEIF LOCALS:2 == "쿄"
    RETURNF 2
ELSEIF LOCALS:2 == "툐"
    RETURNF 2
ELSEIF LOCALS:2 == "표"
    RETURNF 2
ELSEIF LOCALS:2 == "효"
    RETURNF 2
ELSEIF LOCALS:2 == "꾜"
    RETURNF 2
ELSEIF LOCALS:2 == "뚀"
    RETURNF 2
ELSEIF LOCALS:2 == "뾰"
    RETURNF 2
ELSEIF LOCALS:2 == "쑈"
    RETURNF 2
ELSEIF LOCALS:2 == "쬬"
    RETURNF 2
ELSEIF LOCALS:2 == "구"
    RETURNF 2
ELSEIF LOCALS:2 == "누"
    RETURNF 2
ELSEIF LOCALS:2 == "두"
    RETURNF 2
ELSEIF LOCALS:2 == "루"
    RETURNF 2
ELSEIF LOCALS:2 == "무"
    RETURNF 2
ELSEIF LOCALS:2 == "부"
    RETURNF 2
ELSEIF LOCALS:2 == "수"
    RETURNF 2
ELSEIF LOCALS:2 == "우"
    RETURNF 2
ELSEIF LOCALS:2 == "주"
    RETURNF 2
ELSEIF LOCALS:2 == "추"
    RETURNF 2
ELSEIF LOCALS:2 == "쿠"
    RETURNF 2
ELSEIF LOCALS:2 == "투"
    RETURNF 2
ELSEIF LOCALS:2 == "푸"
    RETURNF 2
ELSEIF LOCALS:2 == "후"
    RETURNF 2
ELSEIF LOCALS:2 == "꾸"
    RETURNF 2
ELSEIF LOCALS:2 == "뚜"
    RETURNF 2
ELSEIF LOCALS:2 == "뿌"
    RETURNF 2
ELSEIF LOCALS:2 == "쑤"
    RETURNF 2
ELSEIF LOCALS:2 == "쭈"
    RETURNF 2
ELSEIF LOCALS:2 == "규"
    RETURNF 2
ELSEIF LOCALS:2 == "뉴"
    RETURNF 2
ELSEIF LOCALS:2 == "듀"
    RETURNF 2
ELSEIF LOCALS:2 == "류"
    RETURNF 2
ELSEIF LOCALS:2 == "뮤"
    RETURNF 2
ELSEIF LOCALS:2 == "뷰"
    RETURNF 2
ELSEIF LOCALS:2 == "슈"
    RETURNF 2
ELSEIF LOCALS:2 == "유"
    RETURNF 2
ELSEIF LOCALS:2 == "쥬"
    RETURNF 2
ELSEIF LOCALS:2 == "츄"
    RETURNF 2
ELSEIF LOCALS:2 == "큐"
    RETURNF 2
ELSEIF LOCALS:2 == "튜"
    RETURNF 2
ELSEIF LOCALS:2 == "퓨"
    RETURNF 2
ELSEIF LOCALS:2 == "휴"
    RETURNF 2
ELSEIF LOCALS:2 == "뀨"
    RETURNF 2
ELSEIF LOCALS:2 == "뜌"
    RETURNF 2
ELSEIF LOCALS:2 == "쀼"
    RETURNF 2
ELSEIF LOCALS:2 == "쓔"
    RETURNF 2
ELSEIF LOCALS:2 == "쮸"
    RETURNF 2
ELSEIF LOCALS:2 == "그"
    RETURNF 2
ELSEIF LOCALS:2 == "느"
    RETURNF 2
ELSEIF LOCALS:2 == "드"
    RETURNF 2
ELSEIF LOCALS:2 == "르"
    RETURNF 2
ELSEIF LOCALS:2 == "므"
    RETURNF 2
ELSEIF LOCALS:2 == "브"
    RETURNF 2
ELSEIF LOCALS:2 == "스"
    RETURNF 2
ELSEIF LOCALS:2 == "으"
    RETURNF 2
ELSEIF LOCALS:2 == "즈"
    RETURNF 2
ELSEIF LOCALS:2 == "츠"
    RETURNF 2
ELSEIF LOCALS:2 == "크"
    RETURNF 2
ELSEIF LOCALS:2 == "트"
    RETURNF 2
ELSEIF LOCALS:2 == "프"
    RETURNF 2
ELSEIF LOCALS:2 == "흐"
    RETURNF 2
ELSEIF LOCALS:2 == "끄"
    RETURNF 2
ELSEIF LOCALS:2 == "뜨"
    RETURNF 2
ELSEIF LOCALS:2 == "쁘"
    RETURNF 2
ELSEIF LOCALS:2 == "쓰"
    RETURNF 2
ELSEIF LOCALS:2 == "쯔"
    RETURNF 2
ELSEIF LOCALS:2 == "기"
    RETURNF 2
ELSEIF LOCALS:2 == "니"
    RETURNF 2
ELSEIF LOCALS:2 == "디"
    RETURNF 2
ELSEIF LOCALS:2 == "리"
    RETURNF 2
ELSEIF LOCALS:2 == "미"
    RETURNF 2
ELSEIF LOCALS:2 == "비"
    RETURNF 2
ELSEIF LOCALS:2 == "시"
    RETURNF 2
ELSEIF LOCALS:2 == "이"
    RETURNF 2
ELSEIF LOCALS:2 == "지"
    RETURNF 2
ELSEIF LOCALS:2 == "치"
    RETURNF 2
ELSEIF LOCALS:2 == "키"
    RETURNF 2
ELSEIF LOCALS:2 == "티"
    RETURNF 2
ELSEIF LOCALS:2 == "피"
    RETURNF 2
ELSEIF LOCALS:2 == "히"
    RETURNF 2
ELSEIF LOCALS:2 == "끼"
    RETURNF 2
ELSEIF LOCALS:2 == "띠"
    RETURNF 2
ELSEIF LOCALS:2 == "삐"
    RETURNF 2
ELSEIF LOCALS:2 == "씨"
    RETURNF 2
ELSEIF LOCALS:2 == "찌"
    RETURNF 2
ELSEIF LOCALS:2 == "개"
    RETURNF 2
ELSEIF LOCALS:2 == "내"
    RETURNF 2
ELSEIF LOCALS:2 == "대"
    RETURNF 2
ELSEIF LOCALS:2 == "래"
    RETURNF 2
ELSEIF LOCALS:2 == "매"
    RETURNF 2
ELSEIF LOCALS:2 == "배"
    RETURNF 2
ELSEIF LOCALS:2 == "새"
    RETURNF 2
ELSEIF LOCALS:2 == "애"
    RETURNF 2
ELSEIF LOCALS:2 == "재"
    RETURNF 2
ELSEIF LOCALS:2 == "채"
    RETURNF 2
ELSEIF LOCALS:2 == "캐"
    RETURNF 2
ELSEIF LOCALS:2 == "태"
    RETURNF 2
ELSEIF LOCALS:2 == "패"
    RETURNF 2
ELSEIF LOCALS:2 == "해"
    RETURNF 2
ELSEIF LOCALS:2 == "깨"
    RETURNF 2
ELSEIF LOCALS:2 == "때"
    RETURNF 2
ELSEIF LOCALS:2 == "빼"
    RETURNF 2
ELSEIF LOCALS:2 == "쌔"
    RETURNF 2
ELSEIF LOCALS:2 == "째"
    RETURNF 2
ELSEIF LOCALS:2 == "걔"
    RETURNF 2
ELSEIF LOCALS:2 == "냬"
    RETURNF 2
ELSEIF LOCALS:2 == "댸"
    RETURNF 2
ELSEIF LOCALS:2 == "럐"
    RETURNF 2
ELSEIF LOCALS:2 == "먜"
    RETURNF 2
ELSEIF LOCALS:2 == "뱨"
    RETURNF 2
ELSEIF LOCALS:2 == "섀"
    RETURNF 2
ELSEIF LOCALS:2 == "얘"
    RETURNF 2
ELSEIF LOCALS:2 == "쟤"
    RETURNF 2
ELSEIF LOCALS:2 == "챼"
    RETURNF 2
ELSEIF LOCALS:2 == "컈"
    RETURNF 2
ELSEIF LOCALS:2 == "턔"
    RETURNF 2
ELSEIF LOCALS:2 == "퍠"
    RETURNF 2
ELSEIF LOCALS:2 == "햬"
    RETURNF 2
ELSEIF LOCALS:2 == "꺠"
    RETURNF 2
ELSEIF LOCALS:2 == "떄"
    RETURNF 2
ELSEIF LOCALS:2 == "뺴"
    RETURNF 2
ELSEIF LOCALS:2 == "썌"
    RETURNF 2
ELSEIF LOCALS:2 == "쨰"
    RETURNF 2
ELSEIF LOCALS:2 == "게"
    RETURNF 2
ELSEIF LOCALS:2 == "네"
    RETURNF 2
ELSEIF LOCALS:2 == "데"
    RETURNF 2
ELSEIF LOCALS:2 == "레"
    RETURNF 2
ELSEIF LOCALS:2 == "메"
    RETURNF 2
ELSEIF LOCALS:2 == "베"
    RETURNF 2
ELSEIF LOCALS:2 == "세"
    RETURNF 2
ELSEIF LOCALS:2 == "에"
    RETURNF 2
ELSEIF LOCALS:2 == "제"
    RETURNF 2
ELSEIF LOCALS:2 == "체"
    RETURNF 2
ELSEIF LOCALS:2 == "케"
    RETURNF 2
ELSEIF LOCALS:2 == "테"
    RETURNF 2
ELSEIF LOCALS:2 == "페"
    RETURNF 2
ELSEIF LOCALS:2 == "헤"
    RETURNF 2
ELSEIF LOCALS:2 == "께"
    RETURNF 2
ELSEIF LOCALS:2 == "떼"
    RETURNF 2
ELSEIF LOCALS:2 == "뻬"
    RETURNF 2
ELSEIF LOCALS:2 == "쎄"
    RETURNF 2
ELSEIF LOCALS:2 == "쩨"
    RETURNF 2
ELSEIF LOCALS:2 == "계"
    RETURNF 2
ELSEIF LOCALS:2 == "녜"
    RETURNF 2
ELSEIF LOCALS:2 == "뎨"
    RETURNF 2
ELSEIF LOCALS:2 == "례"
    RETURNF 2
ELSEIF LOCALS:2 == "몌"
    RETURNF 2
ELSEIF LOCALS:2 == "볘"
    RETURNF 2
ELSEIF LOCALS:2 == "셰"
    RETURNF 2
ELSEIF LOCALS:2 == "예"
    RETURNF 2
ELSEIF LOCALS:2 == "졔"
    RETURNF 2
ELSEIF LOCALS:2 == "쳬"
    RETURNF 2
ELSEIF LOCALS:2 == "켸"
    RETURNF 2
ELSEIF LOCALS:2 == "톄"
    RETURNF 2
ELSEIF LOCALS:2 == "폐"
    RETURNF 2
ELSEIF LOCALS:2 == "혜"
    RETURNF 2
ELSEIF LOCALS:2 == "꼐"
    RETURNF 2
ELSEIF LOCALS:2 == "뗴"
    RETURNF 2
ELSEIF LOCALS:2 == "뼤"
    RETURNF 2
ELSEIF LOCALS:2 == "쎼"
    RETURNF 2
ELSEIF LOCALS:2 == "쪠"
    RETURNF 2
ELSEIF LOCALS:2 == "과"
    RETURNF 2
ELSEIF LOCALS:2 == "놔"
    RETURNF 2
ELSEIF LOCALS:2 == "돠"
    RETURNF 2
ELSEIF LOCALS:2 == "롸"
    RETURNF 2
ELSEIF LOCALS:2 == "뫄"
    RETURNF 2
ELSEIF LOCALS:2 == "봐"
    RETURNF 2
ELSEIF LOCALS:2 == "솨"
    RETURNF 2
ELSEIF LOCALS:2 == "와"
    RETURNF 2
ELSEIF LOCALS:2 == "좌"
    RETURNF 2
ELSEIF LOCALS:2 == "촤"
    RETURNF 2
ELSEIF LOCALS:2 == "콰"
    RETURNF 2
ELSEIF LOCALS:2 == "톼"
    RETURNF 2
ELSEIF LOCALS:2 == "퐈"
    RETURNF 2
ELSEIF LOCALS:2 == "화"
    RETURNF 2
ELSEIF LOCALS:2 == "꽈"
    RETURNF 2
ELSEIF LOCALS:2 == "똬"
    RETURNF 2
ELSEIF LOCALS:2 == "뽜"
    RETURNF 2
ELSEIF LOCALS:2 == "쏴"
    RETURNF 2
ELSEIF LOCALS:2 == "쫘"
    RETURNF 2
ELSEIF LOCALS:2 == "괘"
    RETURNF 2
ELSEIF LOCALS:2 == "놰"
    RETURNF 2
ELSEIF LOCALS:2 == "돼"
    RETURNF 2
ELSEIF LOCALS:2 == "뢔"
    RETURNF 2
ELSEIF LOCALS:2 == "뫠"
    RETURNF 2
ELSEIF LOCALS:2 == "봬"
    RETURNF 2
ELSEIF LOCALS:2 == "쇄"
    RETURNF 2
ELSEIF LOCALS:2 == "왜"
    RETURNF 2
ELSEIF LOCALS:2 == "좨"
    RETURNF 2
ELSEIF LOCALS:2 == "쵀"
    RETURNF 2
ELSEIF LOCALS:2 == "쾌"
    RETURNF 2
ELSEIF LOCALS:2 == "퇘"
    RETURNF 2
ELSEIF LOCALS:2 == "퐤"
    RETURNF 2
ELSEIF LOCALS:2 == "홰"
    RETURNF 2
ELSEIF LOCALS:2 == "꽤"
    RETURNF 2
ELSEIF LOCALS:2 == "뙈"
    RETURNF 2
ELSEIF LOCALS:2 == "뽸"
    RETURNF 2
ELSEIF LOCALS:2 == "쐐"
    RETURNF 2
ELSEIF LOCALS:2 == "쫴"
    RETURNF 2
ELSEIF LOCALS:2 == "괴"
    RETURNF 2
ELSEIF LOCALS:2 == "뇌"
    RETURNF 2
ELSEIF LOCALS:2 == "되"
    RETURNF 2
ELSEIF LOCALS:2 == "뢰"
    RETURNF 2
ELSEIF LOCALS:2 == "뫼"
    RETURNF 2
ELSEIF LOCALS:2 == "뵈"
    RETURNF 2
ELSEIF LOCALS:2 == "쇠"
    RETURNF 2
ELSEIF LOCALS:2 == "외"
    RETURNF 2
ELSEIF LOCALS:2 == "죄"
    RETURNF 2
ELSEIF LOCALS:2 == "최"
    RETURNF 2
ELSEIF LOCALS:2 == "쾨"
    RETURNF 2
ELSEIF LOCALS:2 == "퇴"
    RETURNF 2
ELSEIF LOCALS:2 == "푀"
    RETURNF 2
ELSEIF LOCALS:2 == "회"
    RETURNF 2
ELSEIF LOCALS:2 == "꾀"
    RETURNF 2
ELSEIF LOCALS:2 == "뙤"
    RETURNF 2
ELSEIF LOCALS:2 == "뾔"
    RETURNF 2
ELSEIF LOCALS:2 == "쐬"
    RETURNF 2
ELSEIF LOCALS:2 == "쬐"
    RETURNF 2
ELSEIF LOCALS:2 == "궈"
    RETURNF 2
ELSEIF LOCALS:2 == "눠"
    RETURNF 2
ELSEIF LOCALS:2 == "둬"
    RETURNF 2
ELSEIF LOCALS:2 == "뤄"
    RETURNF 2
ELSEIF LOCALS:2 == "뭐"
    RETURNF 2
ELSEIF LOCALS:2 == "붜"
    RETURNF 2
ELSEIF LOCALS:2 == "숴"
    RETURNF 2
ELSEIF LOCALS:2 == "워"
    RETURNF 2
ELSEIF LOCALS:2 == "줘"
    RETURNF 2
ELSEIF LOCALS:2 == "춰"
    RETURNF 2
ELSEIF LOCALS:2 == "쿼"
    RETURNF 2
ELSEIF LOCALS:2 == "퉈"
    RETURNF 2
ELSEIF LOCALS:2 == "풔"
    RETURNF 2
ELSEIF LOCALS:2 == "훠"
    RETURNF 2
ELSEIF LOCALS:2 == "꿔"
    RETURNF 2
ELSEIF LOCALS:2 == "뚸"
    RETURNF 2
ELSEIF LOCALS:2 == "뿨"
    RETURNF 2
ELSEIF LOCALS:2 == "쒀"
    RETURNF 2
ELSEIF LOCALS:2 == "쭤"
    RETURNF 2
ELSEIF LOCALS:2 == "궤"
    RETURNF 2
ELSEIF LOCALS:2 == "눼"
    RETURNF 2
ELSEIF LOCALS:2 == "뒈"
    RETURNF 2
ELSEIF LOCALS:2 == "뤠"
    RETURNF 2
ELSEIF LOCALS:2 == "뭬"
    RETURNF 2
ELSEIF LOCALS:2 == "붸"
    RETURNF 2
ELSEIF LOCALS:2 == "쉐"
    RETURNF 2
ELSEIF LOCALS:2 == "웨"
    RETURNF 2
ELSEIF LOCALS:2 == "줴"
    RETURNF 2
ELSEIF LOCALS:2 == "췌"
    RETURNF 2
ELSEIF LOCALS:2 == "퀘"
    RETURNF 2
ELSEIF LOCALS:2 == "퉤"
    RETURNF 2
ELSEIF LOCALS:2 == "풰"
    RETURNF 2
ELSEIF LOCALS:2 == "훼"
    RETURNF 2
ELSEIF LOCALS:2 == "꿰"
    RETURNF 2
ELSEIF LOCALS:2 == "뛔"
    RETURNF 2
ELSEIF LOCALS:2 == "쀄"
    RETURNF 2
ELSEIF LOCALS:2 == "쒜"
    RETURNF 2
ELSEIF LOCALS:2 == "쮀"
    RETURNF 2
ELSEIF LOCALS:2 == "귀"
    RETURNF 2
ELSEIF LOCALS:2 == "늬"
    RETURNF 2
ELSEIF LOCALS:2 == "뒤"
    RETURNF 2
ELSEIF LOCALS:2 == "뤼"
    RETURNF 2
ELSEIF LOCALS:2 == "뮈"
    RETURNF 2
ELSEIF LOCALS:2 == "뷔"
    RETURNF 2
ELSEIF LOCALS:2 == "쉬"
    RETURNF 2
ELSEIF LOCALS:2 == "위"
    RETURNF 2
ELSEIF LOCALS:2 == "쥐"
    RETURNF 2
ELSEIF LOCALS:2 == "취"
    RETURNF 2
ELSEIF LOCALS:2 == "퀴"
    RETURNF 2
ELSEIF LOCALS:2 == "튀"
    RETURNF 2
ELSEIF LOCALS:2 == "퓌"
    RETURNF 2
ELSEIF LOCALS:2 == "휘"
    RETURNF 2
ELSEIF LOCALS:2 == "뀌"
    RETURNF 2
ELSEIF LOCALS:2 == "뛰"
    RETURNF 2
ELSEIF LOCALS:2 == "쀠"
    RETURNF 2
ELSEIF LOCALS:2 == "쒸"
    RETURNF 2
ELSEIF LOCALS:2 == "쮜"
    RETURNF 2
ELSEIF LOCALS:2 == "긔"
    RETURNF 2
ELSEIF LOCALS:2 == "늬"
    RETURNF 2
ELSEIF LOCALS:2 == "듸"
    RETURNF 2
ELSEIF LOCALS:2 == "릐"
    RETURNF 2
ELSEIF LOCALS:2 == "믜"
    RETURNF 2
ELSEIF LOCALS:2 == "븨"
    RETURNF 2
ELSEIF LOCALS:2 == "싀"
    RETURNF 2
ELSEIF LOCALS:2 == "의"
    RETURNF 2
ELSEIF LOCALS:2 == "즤"
    RETURNF 2
ELSEIF LOCALS:2 == "츼"
    RETURNF 2
ELSEIF LOCALS:2 == "킈"
    RETURNF 2
ELSEIF LOCALS:2 == "틔"
    RETURNF 2
ELSEIF LOCALS:2 == "픠"
    RETURNF 2
ELSEIF LOCALS:2 == "희"
    RETURNF 2
ELSEIF LOCALS:2 == "끠"
    RETURNF 2
ELSEIF LOCALS:2 == "띄"
    RETURNF 2
ELSEIF LOCALS:2 == "쁴"
    RETURNF 2
ELSEIF LOCALS:2 == "씌"
    RETURNF 2
ELSEIF LOCALS:2 == "쯰"
    RETURNF 2
ELSEIF LOCALS:2 == "2"
    RETURNF 2
ELSEIF LOCALS:2 == "4"
    RETURNF 2
ELSEIF LOCALS:2 == "5"
    RETURNF 2
ELSEIF LOCALS:2 == "9"
    RETURNF 2
ELSE
    RETURNF 1
ENDIF

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

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

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

;이름을 받아온다
LOCALS = %ARGS%

;받침 판정 및 조사 선택
IF KR_NAME(LOCALS) == 2
    ;받침 없음.?/?
    IF ARGS:2 == "는" || ARGS:2 == "은"
        LOCALS += "는"
    ELSEIF ARGS:2 == "가" || ARGS:2 == "이"
        LOCALS += "가"
    ELSEIF ARGS:2 == "를" || ARGS:2 == "을"
        LOCALS += "를"
    ELSEIF ARGS:2 == "와" || ARGS:2 == "과"
        LOCALS += "와"
    ELSEIF ARGS:2 == "로" || ARGS:2 == "으로"
        LOCALS += "로"
    ELSEIF ARGS:2 == "랑" || ARGS:2 == "이랑"
        LOCALS += "랑"
    ELSEIF ARGS:2 == "라" || ARGS:2 == "이라"
        LOCALS += "라"
    ELSEIF ARGS:2 == "며" || ARGS:2 == "이며"
        LOCALS += "며"
    ELSEIF ARGS:2 == "고" || ARGS:2 == "이고"
        LOCALS += "고"
    ELSEIF ARGS:2 == "다" || ARGS:2 == "이다"
        LOCALS += "다"
    ELSEIF ARGS:2 == "였" || ARGS:2 == "이었"
        LOCALS += "였"
    ELSEIF ARGS:2 == "여" || ARGS:2 == "이여"
        LOCALS += "여"
    ELSEIF ARGS:2 == "야" || ARGS:2 == "이야"
        LOCALS += "야"
    ELSEIF ARGS:2 == "나" || ARGS:2 == "이나"
        LOCALS += "나"
    ELSEIF ARGS:2 == "면" || ARGS:2 == "이면"
        LOCALS += "면"
    ELSEIF ARGS:2 == "지만" || ARGS:2 == "이지만"
        LOCALS += "지만"
    ELSEIF ARGS:2 == "겠" || ARGS:2 == "이겠"
        LOCALS += "겠"
    ELSEIF ARGS:2 == "셨" || ARGS:2 == "이셨"
        LOCALS += "셨"
    ELSEIF ARGS:2 == "잖" || ARGS:2 == "이잖"
        LOCALS += "잖"
    ELSEIF ARGS:2 == "니" || ARGS:2 == "이니"
        LOCALS += "니"
    ELSEIF ARGS:2 == "구" || ARGS:2 == "이구"
        LOCALS += "구"
    ELSE
        LOCALS = %LOCALS%%ARGS:2%
    ENDIF
ELSE
    ;받침 없음.?
    IF ARGS:2 == "는" || ARGS:2 == "은"
        LOCALS += "은"
    ELSEIF ARGS:2 == "가" || ARGS:2 == "이"
        LOCALS += "이"
    ELSEIF ARGS:2 == "를" || ARGS:2 == "을"
        LOCALS += "을"
    ELSEIF ARGS:2 == "와" || ARGS:2 == "과"
        LOCALS += "과"
    ELSEIF ARGS:2 == "로" || ARGS:2 == "으로"
        LOCALS += "으로"
    ELSEIF ARGS:2 == "랑" || ARGS:2 == "이랑"
        LOCALS += "이랑"
    ELSEIF ARGS:2 == "라" || ARGS:2 == "이라"
        LOCALS += "이라"
    ELSEIF ARGS:2 == "며" || ARGS:2 == "이며"
        LOCALS += "이며"
    ELSEIF ARGS:2 == "고" || ARGS:2 == "이고"
        LOCALS += "이고"
    ELSEIF ARGS:2 == "다" || ARGS:2 == "이다"
        LOCALS += "이다"
    ELSEIF ARGS:2 == "였" || ARGS:2 == "이었"
        LOCALS += "이었"
    ELSEIF ARGS:2 == "여" || ARGS:2 == "이여"
        LOCALS += "이여"
    ELSEIF ARGS:2 == "야" || ARGS:2 == "이야"
        LOCALS += "이야"
    ELSEIF ARGS:2 == "나" || ARGS:2 == "이나"
        LOCALS += "이나"
    ELSEIF ARGS:2 == "면" || ARGS:2 == "이면"
        LOCALS += "이면"
    ELSEIF ARGS:2 == "지만" || ARGS:2 == "이지만"
        LOCALS += "이지만"
    ELSEIF ARGS:2 == "겠" || ARGS:2 == "이겠"
        LOCALS += "이겠"
    ELSEIF ARGS:2 == "셨" || ARGS:2 == "이셨"
        LOCALS += "이셨"
    ELSEIF ARGS:2 == "잖" || ARGS:2 == "이잖"
        LOCALS += "이잖"
    ELSEIF ARGS:2 == "니" || ARGS:2 == "이니"
        LOCALS += "이니"
    ELSEIF ARGS:2 == "구" || ARGS:2 == "이구"
        LOCALS += "이구"
    ELSE
        LOCALS = %LOCALS%%ARGS:2%
    ENDIF
ENDIF

LOCALS = %후치환(LOCALS)%

RETURNF LOCALS

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

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

;이름을 받아온다
LOCALS = %ARGS%

;받침 판정 및 조사 선택
IF KR_NAME(LOCALS) == 2
    ;받침 없음.?/?
    IF ARGS:2 == "는" || ARGS:2 == "은"
        LOCALS = 는
    ELSEIF ARGS:2 == "가" || ARGS:2 == "이"
        LOCALS = 가
    ELSEIF ARGS:2 == "를" || ARGS:2 == "을"
        LOCALS = 를
    ELSEIF ARGS:2 == "와" || ARGS:2 == "과"
        LOCALS = 와
    ELSEIF ARGS:2 == "로" || ARGS:2 == "으로"
        LOCALS = 로
    ELSEIF ARGS:2 == "랑" || ARGS:2 == "이랑"
        LOCALS = 랑
    ELSEIF ARGS:2 == "라" || ARGS:2 == "이라"
        LOCALS = 라
    ELSEIF ARGS:2 == "며" || ARGS:2 == "이며"
        LOCALS = 며
    ELSEIF ARGS:2 == "고" || ARGS:2 == "이고"
        LOCALS = 고
    ELSEIF ARGS:2 == "다" || ARGS:2 == "이다"
        LOCALS = 다
    ELSEIF ARGS:2 == "였" || ARGS:2 == "이었"
        LOCALS = 였
    ELSEIF ARGS:2 == "여" || ARGS:2 == "이여"
        LOCALS = 여
    ELSEIF ARGS:2 == "야" || ARGS:2 == "이야"
        LOCALS = 야
    ELSEIF ARGS:2 == "나" || ARGS:2 == "이나"
        LOCALS = 나
    ELSEIF ARGS:2 == "면" || ARGS:2 == "이면"
        LOCALS = 면
    ELSEIF ARGS:2 == "지만" || ARGS:2 == "이지만"
        LOCALS = 지만
    ELSEIF ARGS:2 == "겠" || ARGS:2 == "이겠"
        LOCALS = 겠
    ELSEIF ARGS:2 == "셨" || ARGS:2 == "이셨"
        LOCALS = 셨
    ELSEIF ARGS:2 == "잖" || ARGS:2 == "이잖"
        LOCALS = 잖
    ELSEIF ARGS:2 == "니" || ARGS:2 == "이니"
        LOCALS = 니
    ELSE
        LOCALS = %ARGS:2%
    ENDIF
ELSE
    ;받침 없음.?
    IF ARGS:2 == "는" || ARGS:2 == "은"
        LOCALS = 은
    ELSEIF ARGS:2 == "가" || ARGS:2 == "이"
        LOCALS = 이
    ELSEIF ARGS:2 == "를" || ARGS:2 == "을"
        LOCALS = 을
    ELSEIF ARGS:2 == "와" || ARGS:2 == "과"
        LOCALS = 과
    ELSEIF ARGS:2 == "로" || ARGS:2 == "으로"
        LOCALS = 으로
    ELSEIF ARGS:2 == "랑" || ARGS:2 == "이랑"
        LOCALS = 이랑
    ELSEIF ARGS:2 == "라" || ARGS:2 == "이라"
        LOCALS = 이라
    ELSEIF ARGS:2 == "며" || ARGS:2 == "이며"
        LOCALS = 이며
    ELSEIF ARGS:2 == "고" || ARGS:2 == "이고"
        LOCALS = 이고
    ELSEIF ARGS:2 == "다" || ARGS:2 == "이다"
        LOCALS = 이다
    ELSEIF ARGS:2 == "였" || ARGS:2 == "이었"
        LOCALS = 이었
    ELSEIF ARGS:2 == "여" || ARGS:2 == "이여"
        LOCALS = 이여
    ELSEIF ARGS:2 == "야" || ARGS:2 == "이야"
        LOCALS = 이야
    ELSEIF ARGS:2 == "나" || ARGS:2 == "이나"
        LOCALS = 이나
    ELSEIF ARGS:2 == "면" || ARGS:2 == "이면"
        LOCALS = 이면
    ELSEIF ARGS:2 == "지만" || ARGS:2 == "이지만"
        LOCALS = 이지만
    ELSEIF ARGS:2 == "겠" || ARGS:2 == "이겠"
        LOCALS = 이겠
    ELSEIF ARGS:2 == "셨" || ARGS:2 == "이셨"
        LOCALS = 이셨
    ELSEIF ARGS:2 == "잖" || ARGS:2 == "이잖"
        LOCALS = 이잖
    ELSEIF ARGS:2 == "니" || ARGS:2 == "이니"
        LOCALS = 이니
    ELSE
        LOCALS = %ARGS:2%
    ENDIF
ENDIF

RETURNF LOCALS

;-------------------------------------------------------
;숫자 처리
;입력받은 숫자에 해당하는 조사를 되돌려주는 함수
;-------------------------------------------------------

@숫자처리(ARG, ARGS)
#FUNCTIONS

;숫자를 문자열로 받아온다
LOCALS = %TOSTR(ARG)%

IF ARGS == "로" || ARGS == "으로"
    ;숫자길이 길이 체크
    STRLENSU LOCALS
    ;체크한 값을 보존
    LOCAL = RESULT - 1
    ;숫자의 마지막 자리 수를 보존한다
    IF LOCAL > 0
        SUBSTRINGU LOCALS, LOCAL, 1
    ELSE
        SUBSTRINGU LOCALS, 0, 1
    ENDIF
    ;결과를 정수형으로 받아온다
    LOCAL = TOINT(RESULTS)
    IF GROUPMATCH(LOCAL,0,3,6)
        ;받침 있음
        LOCALS += "으로"
    ELSE
        ;받침 없거나 ㄹ
        LOCALS += "로"
    ENDIF
ELSE
    RETURNF 조사선택(LOCALS, ARGS)
ENDIF

RETURNF LOCALS

;-------------------------------------------------------
;숫자만처리
;입력받은 숫자에 해당하는 조사'만'을 되돌려주는 함수
;-------------------------------------------------------

@숫자만처리(ARG, ARGS)
#FUNCTIONS

;숫자를 문자열로 받아온다
LOCALS = %TOSTR(ARG)%

IF ARGS == "로" || ARGS == "으로"
    ;숫자길이 길이 체크
    STRLENSU LOCALS
    ;체크한 값을 보존
    LOCAL = RESULT - 1
    ;숫자의 마지막 자리 수를 보존한다
    IF LOCAL > 0
        SUBSTRINGU LOCALS, LOCAL, 1
    ELSE
        SUBSTRINGU LOCALS, 0, 1
    ENDIF
    ;결과를 정수형으로 받아온다
    LOCAL = TOINT(RESULTS)
    IF GROUPMATCH(LOCAL,0,3,6)
        ;받침 있음
        LOCALS = % "으로" %
    ELSE
        ;받침 없거나 ㄹ
        LOCALS = % "로" %
    ENDIF
ELSE
    RETURNF 조사만선택(LOCALS, ARGS)
ENDIF

RETURNF LOCALS

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[SKIPEND]

repo_name: Catalyst/B

license: unknown


code:
;조사처리 보조 헤더파일

#DEFINE 마스터는 조사처리(NAME:MASTER,"는")
#DEFINE 마스터가 조사처리(NAME:MASTER,"가")
#DEFINE 마스터를 조사처리(NAME:MASTER,"를")
#DEFINE 마스터와 조사처리(NAME:MASTER,"과")
#DEFINE 마스터로 조사처리(NAME:MASTER,"로")
#DEFINE 마스터지만 조사처리(NAME:MASTER,"지만")
#DEFINE 마스터였 조사처리(NAME:MASTER,"였")
#DEFINE 마스터라 조사처리(NAME:MASTER,"라")
#DEFINE 마스터면 조사처리(NAME:MASTER,"면")

#DEFINE 조수는 조사처리(NAME:ASSI,"는")
#DEFINE 조수가 조사처리(NAME:ASSI,"가")
#DEFINE 조수를 조사처리(NAME:ASSI,"를")
#DEFINE 조수와 조사처리(NAME:ASSI,"과")
#DEFINE 조수로 조사처리(NAME:ASSI,"로")
#DEFINE 조수지만 조사처리(NAME:ASSI,"지만")
#DEFINE 조수였 조사처리(NAME:ASSI,"였")

#DEFINE 타겟은 조사처리(NAME:TARGET,"는")
#DEFINE 타겟이 조사처리(NAME:TARGET,"가")
#DEFINE 타겟을 조사처리(NAME:TARGET,"를")
#DEFINE 타겟과 조사처리(NAME:TARGET,"과")
#DEFINE 타겟으로 조사처리(NAME:TARGET,"로")
#DEFINE 타겟이지만 조사처리(NAME:TARGET,"지만")
#DEFINE 타겟이었 조사처리(NAME:TARGET,"였")
#DEFINE 타겟이라 조사처리(NAME:TARGET,"라")
#DEFINE 타겟이면 조사처리(NAME:TARGET,"면")

#DEFINE 마스터이름은 조사처리(NAME:MASTER,"는")
#DEFINE 마스터이름이 조사처리(NAME:MASTER,"가")
#DEFINE 마스터이름을 조사처리(NAME:MASTER,"를")
#DEFINE 마스터이름과 조사처리(NAME:MASTER,"과")
#DEFINE 마스터이름으로 조사처리(NAME:MASTER,"로")
#DEFINE 마스터이름이지만 조사처리(NAME:MASTER,"지만")
#DEFINE 마스터이름이었 조사처리(NAME:MASTER,"였")
#DEFINE 마스터이름이라 조사처리(NAME:MASTER,"라")
#DEFINE 마스터이름이구 조사처리(NAME:MASTER,"구")

#DEFINE 마스터호칭은 조사처리(CALLNAME:MASTER,"는")
#DEFINE 마스터호칭이 조사처리(CALLNAME:MASTER,"가")
#DEFINE 마스터호칭을 조사처리(CALLNAME:MASTER,"를")
#DEFINE 마스터호칭과 조사처리(CALLNAME:MASTER,"과")
#DEFINE 마스터호칭으로 조사처리(CALLNAME:MASTER,"로")
#DEFINE 마스터호칭이지만 조사처리(CALLNAME:MASTER,"지만")
#DEFINE 마스터호칭이었 조사처리(CALLNAME:MASTER,"였")
#DEFINE 마스터호칭이라 조사처리(CALLNAME:MASTER,"라")
#DEFINE 마스터호칭이구 조사처리(CALLNAME:MASTER,"구")

#DEFINE 이름만은 조사처리(NAME,"는")
#DEFINE 이름만이 조사처리(NAME,"가")
#DEFINE 이름만을 조사처리(NAME,"를")
#DEFINE 이름만과 조사처리(NAME,"과")
#DEFINE 이름만으로 조사처리(NAME,"로")
#DEFINE 이름만이지만 조사처리(NAME,"지만")

#DEFINE 호칭만은 조사처리(CALLNAME,"는")
#DEFINE 호칭만이 조사처리(CALLNAME,"가")
#DEFINE 호칭만을 조사처리(CALLNAME,"를")
#DEFINE 호칭만과 조사처리(CALLNAME,"과")
#DEFINE 호칭만으로 조사처리(CALLNAME,"로")
#DEFINE 호칭만이지만 조사처리(CALLNAME,"지만")

#DEFINE 타겟이름은 조사처리(NAME:TARGET,"는")
#DEFINE 타겟이름이 조사처리(NAME:TARGET,"가")
#DEFINE 타겟이름을 조사처리(NAME:TARGET,"를")
#DEFINE 타겟이름과 조사처리(NAME:TARGET,"과")
#DEFINE 타겟이름으로 조사처리(NAME:TARGET,"로")
#DEFINE 타겟이름이지만 조사처리(NAME:TARGET,"지만")
#DEFINE 타겟이름이었 조사처리(NAME:TARGET,"였")
#DEFINE 타겟이름이라 조사처리(NAME:TARGET,"라")
#DEFINE 타겟이름이면 조사처리(NAME:TARGET,"면")

#DEFINE 타겟캐릭은 조사처리(CALLNAME:targetChara,"는")
#DEFINE 타겟캐릭이 조사처리(CALLNAME:targetChara,"가")
#DEFINE 타겟캐릭을 조사처리(CALLNAME:targetChara,"를")
#DEFINE 타겟캐릭과 조사처리(CALLNAME:targetChara,"과")
#DEFINE 타겟캐릭으로 조사처리(CALLNAME:targetChara,"로")
#DEFINE 타겟캐릭이지만 조사처리(CALLNAME:targetChara,"지만")
#DEFINE 타겟캐릭이었 조사처리(CALLNAME:targetChara,"였")
#DEFINE 타겟캐릭이라 조사처리(CALLNAME:targetChara,"라")
#DEFINE 타겟캐릭이면 조사처리(CALLNAME:targetChara,"면")

#DEFINE 만난캐릭은 조사처리(CALLNAME:meetingChara,"는")
#DEFINE 만난캐릭이 조사처리(CALLNAME:meetingChara,"가")
#DEFINE 만난캐릭을 조사처리(CALLNAME:meetingChara,"를")
#DEFINE 만난캐릭과 조사처리(CALLNAME:meetingChara,"과")
#DEFINE 만난캐릭으로 조사처리(CALLNAME:meetingChara,"로")
#DEFINE 만난캐릭이지만 조사처리(CALLNAME:meetingChara,"지만")
#DEFINE 만난캐릭이었 조사처리(CALLNAME:meetingChara,"였")
#DEFINE 만난캐릭이라 조사처리(CALLNAME:meetingChara,"라")
#DEFINE 만난캐릭이면 조사처리(CALLNAME:meetingChara,"면")

#DEFINE 타겟호칭은 조사처리(CALLNAME:TARGET,"는")
#DEFINE 타겟호칭이 조사처리(CALLNAME:TARGET,"가")
#DEFINE 타겟호칭을 조사처리(CALLNAME:TARGET,"를")
#DEFINE 타겟호칭과 조사처리(CALLNAME:TARGET,"과")
#DEFINE 타겟호칭으로 조사처리(CALLNAME:TARGET,"로")
#DEFINE 타겟호칭이지만 조사처리(CALLNAME:TARGET,"지만")
#DEFINE 타겟호칭이었 조사처리(CALLNAME:TARGET,"였")
#DEFINE 타겟호칭이라 조사처리(CALLNAME:TARGET,"라")
#DEFINE 타겟호칭이면 조사처리(CALLNAME:TARGET,"면")

#DEFINE 조교자이름은 조사처리(NAME:PLAYER,"는")
#DEFINE 조교자이름이 조사처리(NAME:PLAYER,"가")
#DEFINE 조교자이름을 조사처리(NAME:PLAYER,"를")
#DEFINE 조교자이름과 조사처리(NAME:PLAYER,"과")
#DEFINE 조교자이름으로 조사처리(NAME:PLAYER,"로")
#DEFINE 조교자이름이지만 조사처리(NAME:PLAYER,"지만")
#DEFINE 조교자이름이었 조사처리(NAME:PLAYER,"였")

#DEFINE 조교자호칭은 조사처리(CALLNAME:PLAYER,"는")
#DEFINE 조교자호칭이 조사처리(CALLNAME:PLAYER,"가")
#DEFINE 조교자호칭을 조사처리(CALLNAME:PLAYER,"를")
#DEFINE 조교자호칭과 조사처리(CALLNAME:PLAYER,"과")
#DEFINE 조교자호칭으로 조사처리(CALLNAME:PLAYER,"로")
#DEFINE 조교자호칭이지만 조사처리(CALLNAME:PLAYER,"지만")
#DEFINE 조교자호칭이었 조사처리(CALLNAME:PLAYER,"였")

#DEFINE 조수이름은 조사처리(NAME:ASSI,"는")
#DEFINE 조수이름이 조사처리(NAME:ASSI,"가")
#DEFINE 조수이름을 조사처리(NAME:ASSI,"를")
#DEFINE 조수이름과 조사처리(NAME:ASSI,"과")
#DEFINE 조수이름으로 조사처리(NAME:ASSI,"로")
#DEFINE 조수이름이지만 조사처리(NAME:ASSI,"지만")
#DEFINE 조수이름이었 조사처리(NAME:ASSI,"였")

#DEFINE 조수호칭은 조사처리(CALLNAME:ASSI,"는")
#DEFINE 조수호칭이 조사처리(CALLNAME:ASSI,"가")
#DEFINE 조수호칭을 조사처리(CALLNAME:ASSI,"를")
#DEFINE 조수호칭과 조사처리(CALLNAME:ASSI,"과")
#DEFINE 조수호칭으로 조사처리(CALLNAME:ASSI,"로")
#DEFINE 조수호칭이지만 조사처리(CALLNAME:ASSI,"지만")
#DEFINE 조수호칭이었 조사처리(CALLNAME:ASSI,"였")

#DEFINE ARG이름은 조사처리(NAME:ARG,"는")
#DEFINE ARG이름이 조사처리(NAME:ARG,"가")
#DEFINE ARG이름을 조사처리(NAME:ARG,"를")
#DEFINE ARG이름과 조사처리(NAME:ARG,"과")
#DEFINE ARG이름으로 조사처리(NAME:ARG,"로")
#DEFINE ARG이름이지만 조사처리(NAME:ARG,"지만")
#DEFINE ARG이름이었 조사처리(NAME:ARG,"였")

#DEFINE ARG는 조사처리(CALLNAME:ARG,"는")
#DEFINE ARG가 조사처리(CALLNAME:ARG,"가")
#DEFINE ARG를 조사처리(CALLNAME:ARG,"를")
#DEFINE ARG와 조사처리(CALLNAME:ARG,"과")
#DEFINE ARG로 조사처리(CALLNAME:ARG,"로")
#DEFINE ARG지만 조사처리(CALLNAME:ARG,"지만")
#DEFINE ARG였 조사처리(CALLNAME:ARG,"였")

#DEFINE COUNT이름은 조사처리(NAME:COUNT,"는")
#DEFINE COUNT이름이 조사처리(NAME:COUNT,"가")
#DEFINE COUNT이름을 조사처리(NAME:COUNT,"를")
#DEFINE COUNT이름과 조사처리(NAME:COUNT,"과")
#DEFINE COUNT이름으로 조사처리(NAME:COUNT,"로")
#DEFINE COUNT이름이지만 조사처리(NAME:COUNT,"지만")

#DEFINE COUNT호칭은 조사처리(CALLNAME:COUNT,"는")
#DEFINE COUNT호칭이 조사처리(CALLNAME:COUNT,"가")
#DEFINE COUNT호칭을 조사처리(CALLNAME:COUNT,"를")
#DEFINE COUNT호칭과 조사처리(CALLNAME:COUNT,"과")
#DEFINE COUNT호칭으로 조사처리(CALLNAME:COUNT,"로")
#DEFINE COUNT호칭이지만 조사처리(CALLNAME:COUNT,"지만")


code:
@SELECT_ARBEIT
;バイトとか
X = 0
CALL DISPLAY_COMMON , 6
SIF RESULT == 999
	RETURN 0

@SELECT_ARBEIT2(targetChara)
#DIM targetChara
#DIM DYNAMIC partTimeJobIndex = 0
#DIMS DYNAMIC abilityList,10 ;とりあえず10
#DIM DYNAMIC needAbilityMaxIndex
#DIM index
#DIM abilityValue
#DIMS DYNAMIC abilityInfo = ""
;아르바이트内容決定
PRINTFORML %NAME:targetChara%의 아르바이트를 설정합니다。
WHILE 1
	RESULT = 0
	TRYCALLFORM PARTTIMEJOB_IS_EXIST_{partTimeJobIndex}()
	SIF RESULT == 0
		BREAK
	IF !FUNC_INDEX_CALL_V("PARTTIMEJOB_IS_WORKABLE",partTimeJobIndex,targetChara)
		partTimeJobIndex++
		CONTINUE
	ENDIF

	abilityInfo =
	needAbilityMaxIndex = SPLIT_STRING(FUNC_STR_INDEX_CALL("PARTTIMEJOB_ABILITY_TEXT",partTimeJobIndex),",",abilityList)
	FOR index,0,needAbilityMaxIndex + 1
		SELECTCASE 1
			CASE GETNUM(ABL,abilityList:index) >= 0
				abilityValue = EVALUATE("ABL:index:" + abilityList:index,targetChara)
			CASE GETNUM(EXP,abilityList:index) >= 0
				abilityValue = EVALUATE("EXP:index:" + abilityList:index,targetChara)
			CASE GETNUM(TALENT,abilityList:index) >= 0
				abilityValue = EVALUATE("TALENT:index:" + abilityList:index,targetChara)
			CASE GETNUM(CFLAG,abilityList:index) >= 0
				abilityValue = EVALUATE("CFLAG:index:" + abilityList:index,targetChara)
			CASEELSE
				throw ability명칭이 틀립니다。　：　%abilityList:index%
		ENDSELECT
		abilityInfo = %abilityInfo%%abilityList:index%：%TOSTR(abilityValue)%,
	NEXT

	PRINTFORML [{partTimeJobIndex,2,RIGHT}] - %FUNC_STR_INDEX_CALL("PARTTIMEJOB_NAME",partTimeJobIndex)% (%SUBSTRING(abilityInfo,0,STRLENS(abilityInfo) - 1)%)
	partTimeJobIndex++
WEND
DRAWLINE
WHILE 1
	INPUT
	partTimeJobIndex = RESULT
	RESULT = 0
	TRYCALLFORM PARTTIMEJOB_IS_EXIST_{partTimeJobIndex}()
	SIF RESULT != 1
		CONTINUE
	SIF !FUNC_INDEX_CALL_V("PARTTIMEJOB_IS_WORKABLE",partTimeJobIndex,targetChara)
		CONTINUE
	BREAK
WEND
CFLAG:targetChara:64 = partTimeJobIndex
RETURN

@NIGHT_ARBEIT
#DIM partTimeJobIndex
;아르바이트内容決定
REPEAT CHARANUM
;체력一定以下で無視
	SIF BASE:COUNT:0 < 500
		CONTINUE
	SIF COUNT == ASSI
		CONTINUE
	;連絡取れない状態の時は処理しない
	SIF IS_UNCONTACTABLE(COUNT)
		CONTINUE
	SIF EXTRA_WORK_IS_DOING(COUNT)
		CONTINUE

	IF CFLAG:COUNT:12 == 3
		PRINTFORML %NAME:COUNT%의 아르바이트를 실행합니다。
		partTimeJobIndex = CFLAG:COUNT:64
		RESULT = 0
		TRYCALLFORM PARTTIMEJOB_IS_EXIST_{partTimeJobIndex}()
		SIF RESULT != 1
			CONTINUE
		SIF !FUNC_INDEX_CALL_V("PARTTIMEJOB_IS_WORKABLE",partTimeJobIndex,COUNT)
			CONTINUE

		PRINTFORML %COUNT이름은% %조사선택(STRFORM("%"+"FUNC_STR_INDEX_CALL(\"PARTTIMEJOB_NAME\",partTimeJobIndex)"+"%"+"%"+"FUNC_STR_INDEX_CALL(\"PARTTIMEJOB_NAME_SUFFIX\",partTimeJobIndex)"+"%"),"를")% 실시합니다。
		CALL DO_WORK(partTimeJobIndex,COUNT)
	ENDIF
REND

@DO_WORK(partTimeJobIndex,targetChara)
#DIM partTimeJobIndex
#DIM targetChara
#DIM reward ;報酬額
#DIM stress
#DIM losePower
#DIMS penaltyList = "붕괴,MINDBREAK","광기,LUNATICS"
#DIMS penaltyParts,2
#DIM penaltyValue
#DIM index
#DIM DYNAMIC minStress = 0

reward = MAX(FUNC_INDEX_CALL_V("PARTTIMEJOB_CALCULATE_VALUE",partTimeJobIndex,targetChara),500)
stress = MAX(FUNC_INDEX_CALL_V("PARTTIMEJOB_WORK_CALCULATE_STRESS",partTimeJobIndex,targetChara),1)
losePower = FUNC_INDEX_CALL("PARTTIMEJOB_LOOSE_POWER_BASE",partTimeJobIndex)

;平日か否かによる増減
reward = reward * FUNC_INDEX_CALL("PARTTIMEJOB_CALCULATE_VALUE_" + \@ IS_HOLIDAY() ? HOLIDAY # WORKDAY \@ + "_MULTIPLE") / 100

;共通要素
SELECTCASE FLAG:4
	CASE 1 ;Easy
		PRINTFORML 난이도：EASY ×120％
		TIMES reward , 1.20
	CASE 2 ;normal
		;아무것도안한다
	CASE 3 ;HARD
		PRINTFORML 난이도：HARD ×80％
		TIMES reward , 0.80
	CASEELSE
		THROW 난이도가 정확하지 않습니다。 ： {FLAG:4}
ENDSELECT

FOR index,0,VARSIZE("penaltyList")
	CALLF SPLIT_STRING(penaltyList:index,",",penaltyParts)
	IF EVALUATE("TALENT:index:" + penaltyParts:0,targetChara)
		PRINTL
		penaltyValue = FUNC_INDEX_CALL_V("PARTTIMEJOB_" + penaltyParts:1 + "_PENALTY",partTimeJobIndex,targetChara)
		PRINTFORML %penaltyParts:0% ×{penaltyValue}％
		reward = reward * penaltyValue / 100
		PRINTL
	ENDIF
NEXT

;친애時특수処理 ;どーなるか分からんので一応変数の置換だけしておく
;IF TALENT:targetChara:친애
;	CALL EXTRA_ARBEIT, targetChara, stress
;	IF RESULT > 0
;		stress += RESULT
;		reward *= (10 + (RESULT * 2))
;		reward /= 10
;		PRINTFORML -친애効果により必死に働いている-
;	ENDIF
;ENDIF

;협박中
IF CFLAG:targetChara:117 == 3
	PRINTFORML ……？:×50％
	reward /= 2
	minStress += 1
ENDIF

IF BASE:targetChara:0 > stress * losePower
	BASE:targetChara:0 -= stress * losePower
	CALLFORM PARTTIMEJOB_IS_SP_EVENT_SUCCESS_{partTimeJobIndex}(targetChara)
ELSE
	BASE:targetChara:0 = 100
	stress += 2
	reward /= 2
	minStress += 2

	CALLFORM PARTTIMEJOB_IS_SP_EVENT_FAIL_{partTimeJobIndex}(targetChara)

	PRINTFORML %타겟캐릭은% %FUNC_STR_INDEX_CALL("PARTTIMEJOB_TIRED_MESSAGE",partTimeJobIndex)% 모양이다。
ENDIF

reward = MAX(reward,500)
MONEY += reward
PRINTFORML 보수로 {reward}엔을 얻었다。

stress = MAX(minStress, stress - ABL:targetChara:정신의존 / 2)
CFLAG:targetChara:10 += stress
PRINTFORML 스트레스＋{stress}

;스트레스치100以上で붕괴を得る
IF CFLAG:targetChara:10 >= 100 && !TALENT:targetChara:붕괴
	;아르바이트で【붕괴】を得た場合のイベント
	PRINTFORMW %CALLNAME:targetChara%의 모습이 이상하다
	IF TALENT:targetChara:초등학생 || TALENT:targetChara:중학생 || TALENT:targetChara:고등학생 || TALENT:targetChara:대학생
		PRINTFORM 학업과 아르바이트에 의한 과도한 피로 때문에、
	ELSEIF TALENT:targetChara:교사 || TALENT:targetChara:사회인
		PRINTFORM 본업과 부업에 의한 과도한 피로 때문에、
	ELSE
		PRINTFORM 과도한 노동에 의한 정신적 피로 때문에、
	ENDIF
	PRINTFORMW 정신에 이상이 생겨버린 것 같다
	PRINTFORMW %타겟캐릭은% 【붕괴】해 버렸다
	TALENT:targetChara:붕괴 = 1
	;;붕괴による素質の変化
	;CALL EVENT_CHANGE_TALENT_HOUKAI

	CALL DIARY_SET,"과도한 노동으로 인한 피로를 견디지 못하고 "+NAME:targetChara+"의 정신이 무너져 버렸다。"
ENDIF

;붕괴・광기ではなく、체력にも余裕がある場合、2%의 確率で특수イベント発生
IF !TALENT:targetChara:붕괴 && !TALENT:targetChara:광기 && BASE:targetChara:0 > 100 && RAND:100 < 2
	SIF FUNC_INDEX_CALL_V("PARTTIMEJOB_IS_SP_EVENT_STARTABLE",partTimeJobIndex,targetChara)
		CALLFORM PARTTIMEJOB_SP_EVENT_{partTimeJobIndex}(targetChara)
ENDIF


code:
@EXTRA_ARBEIT, ARG, ARG:1
;친애キャラは체력、ストレスを追加消費してより稼いでくれる
;체력とストレスの余力を取得
LOCAL = (BASE:ARG:0 / 200) - ARG:1
LOCAL:1 = 100 - CFLAG:ARG:10 - ARG:1
;PRINTFORMW TEST : {LOCAL} : {LOCAL:1}

;より小さい方、(余裕のない方)を選ぶ
SIF LOCAL > LOCAL:1
	LOCAL = LOCAL:1
;余力がないなら処理は終了
SIF LOCAL <= 0
	RETURN 0

LOCAL /= 2

LOCAL:1 = 3

SIF TALENT:ARG:꿋꿋함
	LOCAL:1 += 1
SIF TALENT:ARG:프라이드높음
	LOCAL:1 += 1
SIF TALENT:ARG:츤데레
	LOCAL:1 += 1
SIF TALENT:ARG:망신
	LOCAL:1 += 1
SIF ABL:ARG:순종 > 7
	LOCAL += 1
SIF ABL:ARG:순종 > 9
	LOCAL += 1

SIF TALENT:ARG:겁쟁이
	LOCAL:1 -= 1
SIF TALENT:ARG:프라이드낮음
	LOCAL:1 -= 1
SIF TALENT:ARG:인간혐오
	LOCAL:1 -= 1

;PRINTFORMW TEST2 : {LOCAL} : {LOCAL:1}

SIF LOCAL:1 > LOCAL
	LOCAL:1 = LOCAL

SIF LOCAL:1 < 0
	LOCAL:1 = 0

RETURN LOCAL:1


code:
;旧아르바이트処理。もう使われていません。
@NEWSPAPER, ARG
;変数初期化
C = 0
;ABL:순종をみる
IF ABL:ARG:0 == 0
	P = 0
ELSEIF ABL:ARG:0 == 1
	P = 10
ELSEIF ABL:ARG:0 == 2
	P = 20
ELSEIF ABL:ARG:0 == 3
	P = 30
ELSEIF ABL:ARG:0 == 4
	P = 50
ELSEIF ABL:ARG:0 == 5
	P = 70
ELSEIF ABL:ARG:0 == 6
	P = 90
ELSEIF ABL:ARG:0 == 7
	P = 120
ELSEIF ABL:ARG:0 == 8
	P = 150
ELSEIF ABL:ARG:0 == 9
	P = 200
ELSE
	P = 250
ENDIF
C += P

;ABL:운동능력をみる
IF ABL:ARG:23 == 0
	P = 0
ELSEIF ABL:ARG:23 == 1
	P = 300
ELSEIF ABL:ARG:23 == 2
	P = 600
ELSEIF ABL:ARG:23 == 3
	P = 1000
ELSEIF ABL:ARG:23 == 4
	P = 1500
ELSEIF ABL:ARG:23 == 5
	P = 2000
ELSEIF ABL:ARG:23 == 6
	P = 2500
ELSEIF ABL:ARG:23 == 7
	P = 3500
ELSEIF ABL:ARG:23 == 8
	P = 4300
ELSEIF ABL:ARG:23 == 9
	P = 5000
ELSE
	P = 6000
ENDIF
C += P

;ABL:봉사정신をみる
IF ABL:ARG:7 == 0
	P = 0
ELSEIF ABL:ARG:7 == 1
	P = 30
ELSEIF ABL:ARG:7 == 2
	P = 50
ELSEIF ABL:ARG:7 == 3
	P = 100
ELSEIF ABL:ARG:7 == 4
	P = 150
ELSEIF ABL:ARG:7 == 5
	P = 250
ELSEIF ABL:ARG:7 == 6
	P = 350
ELSEIF ABL:ARG:7 == 7
	P = 400
ELSEIF ABL:ARG:7 == 8
	P = 600
ELSEIF ABL:ARG:7 == 9
	P = 800
ELSE
	P = 1000
ENDIF
C += P

;タレント
IF TALENT:ARG:초등학생
	C *= 2
	C /= 3
ENDIF
IF TALENT:ARG:중학생
	C *= 2
	C /= 3
ENDIF
IF TALENT:ARG:대학생
	C *= 3
	C /= 2
ENDIF

;아르바이트に割ける時間が長い
IF TALENT:ARG:귀가부
	C *= 11
	C /= 10
ENDIF

;ストレスの基本
D = 1
SIF TALENT:ARG:반항적 == 1
	D += 1
SIF TALENT:ARG:프라이드높음 == 1
	D += 1
SIF TALENT:ARG:프라이드낮음 == 1
	D -= 1
SIF TALENT:ARG:헌신적 == 1
	D -= 1
SIF TALENT:ARG:낙관적 == 1
	D -= 1
SIF TALENT:ARG:비관적 == 1
	D += 1
SIF D <= 0
	D = 1

;報酬の計算
;難易度処理
;EASY
IF FLAG:4 == 1
	PRINTFORML 난이도：EASY ×120％
	TIMES C , 1.20
;NORMAL
ELSEIF FLAG:4 == 2
	TIMES C , 1.00
;HARD
ELSEIF FLAG:4 == 3
	PRINTFORML 난이도：HARD ×80％
	TIMES C , 0.80
ENDIF

;붕괴,광기は利潤をかなり低くする（순종によって、80％まで回復）
IF TALENT:ARG:9 || TALENT:ARG:291
	PRINTL
	IF TALENT:ARG:9
		C *= ABL:ARG:0
		TIMES C , 0.08
		Z = ABL:ARG:0
		Z *= 8
		PRINTFORML %TALENTNAME:9% ×{Z}％
	ELSEIF TALENT:ARG:291
		C *= ABL:ARG:0
		TIMES C , 0.08
		Z = ABL:ARG:0
		Z *= 8
		PRINTFORML %TALENTNAME:141% ×{Z}％
	ENDIF
PRINTL
ENDIF

;친애時특수処理
;IF TALENT:ARG:친애
;	CALL EXTRA_ARBEIT, ARG, D
;	IF RESULT > 0
;		D += RESULT
;		C *= (10 + (RESULT * 2))
;		C /= 10
;		PRINTFORML -친애効果により必死に働いている-
;	ENDIF
;ENDIF

IF BASE:ARG:0 > D*200
;체력の消費
	BASE:ARG:0 -= D*200
;협박中
	IF CFLAG:ARG:117 == 3
		PRINTFORML ……？:×50％
		S /= 2
	ENDIF

	MONEY += C
	PRINTFORML 보수로 {C}엔을 얻었다。
	D = MAX(0, D - ABL:ARG:정신의존 / 2)
	PRINTFORML 스트레스＋{D}

;스트레스치の付加
	CFLAG:ARG:10 += D
	PRINTFORML 스트레스＋{D}
ELSE
	BASE:ARG:0 = 100
	D += 2
	C /= 2
;협박中
	IF CFLAG:ARG:117 == 3
		PRINTFORML ……？:×50％
		S /= 2
	ENDIF

	MONEY += C
	PRINTFORML %조사처리(NAME:ARG,"은")% 新聞を配り終えるのに随分と時間が掛かってしまった様だ。
	PRINTFORML 보수로 {C}엔을 얻었다。
;스트레스치の付加
	D = MAX(2, D - ABL:ARG:정신의존 / 2) ;最低でも협박されている分の2は上がる
	CFLAG:ARG:10 += D
	PRINTFORML 스트레스＋{D}
ENDIF

;스트레스치100以上で붕괴を得る
IF CFLAG:ARG:10 >= 100 && TALENT:ARG:9 == 0
	;아르바이트で【붕괴】を得た場合のイベント
	PRINTFORMW %CALLNAME:ARG%의 모습이 이상하다
	IF TALENT:ARG:초등학생 || TALENT:ARG:중학생 || TALENT:ARG:고등학생 || TALENT:ARG:대학생
		PRINTFORM 학업과 아르바이트에 의한 과도한 피로 때문에、
	ELSEIF TALENT:ARG:교사 || TALENT:ARG:사회인
		PRINTFORM 본업과 부업에 의한 과도한 피로 때문에、
	ELSE
		PRINTFORM 과도한 노동에 의한 정신적 피로 때문에、
	ENDIF
	PRINTFORMW 정신에 이상이 생겨버린 것 같다
	PRINTFORMW %조사처리(NAME:ARG,"은")%【붕괴】해 버렸다

		TALENT:ARG:붕괴 = 1

	;;붕괴による素質の変化
	;CALL EVENT_CHANGE_TALENT_HOUKAI

	CALL DIARY_SET,"과도한 노동으로 인한 피로를 견디지 못하고 "+NAME:ARG+"의 정신이 무너져 버렸다。"
ENDIF


code:
@SECURITY, ARG
;変数初期化
C = 0
;ABL:순종をみる
IF ABL:ARG:0 == 0
	P = 0
ELSEIF ABL:ARG:0 == 1
	P = 15
ELSEIF ABL:ARG:0 == 2
	P = 30
ELSEIF ABL:ARG:0 == 3
	P = 40
ELSEIF ABL:ARG:0 == 4
	P = 60
ELSEIF ABL:ARG:0 == 5
	P = 80
ELSEIF ABL:ARG:0 == 6
	P = 100
ELSEIF ABL:ARG:0 == 7
	P = 150
ELSEIF ABL:ARG:0 == 8
	P = 170
ELSEIF ABL:ARG:0 == 9
	P = 250
ELSE
	P = 300
ENDIF
C += P

;ABL:전투능력をみる
IF ABL:ARG:24 == 0
	P = 0
ELSEIF ABL:ARG:24 == 1
	P = 300
ELSEIF ABL:ARG:24 == 2
	P = 600
ELSEIF ABL:ARG:24 == 3
	P = 900
ELSEIF ABL:ARG:24 == 4
	P = 1500
ELSEIF ABL:ARG:24 == 5
	P = 2000
ELSEIF ABL:ARG:24 == 6
	P = 2500
ELSEIF ABL:ARG:24 == 7
	P = 4000
ELSEIF ABL:ARG:24 == 8
	P = 6000
ELSEIF ABL:ARG:24 == 9
	P = 7000
ELSE
	P = 9000
ENDIF
C += P

;ABL:봉사정신をみる
IF ABL:ARG:7 == 0
	P = 0
ELSEIF ABL:ARG:7 == 1
	P = 30
ELSEIF ABL:ARG:7 == 2
	P = 50
ELSEIF ABL:ARG:7 == 3
	P = 100
ELSEIF ABL:ARG:7 == 4
	P = 150
ELSEIF ABL:ARG:7 == 5
	P = 250
ELSEIF ABL:ARG:7 == 6
	P = 350
ELSEIF ABL:ARG:7 == 7
	P = 400
ELSEIF ABL:ARG:7 == 8
	P = 600
ELSEIF ABL:ARG:7 == 9
	P = 800
ELSE
	P = 1000
ENDIF
C += P

;タレント
IF TALENT:ARG:초등학생
	C /= 3
ENDIF
IF TALENT:ARG:중학생
	C /= 2
ENDIF
IF TALENT:ARG:대학생
	C *= 3
	C /= 2
ENDIF

;아르바이트に割ける時間が長い
IF TALENT:ARG:귀가부
	C *= 12
	C /= 10
ENDIF
IF TALENT:ARG:천연
	C *= 11
	C /= 10
ENDIF
IF TALENT:ARG:기가셈
	C *= 11
	C /= 10
ENDIF
IF TALENT:ARG:무기력
	C *= 9
	C /= 10
ENDIF
IF TALENT:ARG:파이터
	C *= 13
	C /= 10
ENDIF

;ストレスの基本
D = 3
SIF TALENT:ARG:반항적 == 1
	D += 1
SIF TALENT:ARG:프라이드높음 == 1
	D += 1
SIF TALENT:ARG:프라이드낮음 == 1
	D -= 1
SIF TALENT:ARG:헌신적 == 1
	D -= 1
SIF TALENT:ARG:낙관적 == 1
	D -= 1
SIF TALENT:ARG:비관적 == 1
	D += 1
SIF D <= 0
	D = 1

;報酬の計算
;難易度処理
;EASY
IF FLAG:4 == 1
	PRINTFORML 난이도：EASY ×120％
	TIMES C , 1.20
;NORMAL
ELSEIF FLAG:4 == 2
	TIMES C , 1.00
;HARD
ELSEIF FLAG:4 == 3
	PRINTFORML 난이도：HARD ×80％
	TIMES C , 0.80
ENDIF

;붕괴,광기は利潤をかなり低くする（순종によって、80％まで回復）
IF TALENT:ARG:9 || TALENT:ARG:291
PRINTL
	IF TALENT:ARG:9
		C *= ABL:ARG:0
		TIMES C , 0.08
		Z = ABL:ARG:0
		Z *= 8
		PRINTFORML %TALENTNAME:9% ×{Z}％
	ELSEIF TALENT:ARG:291
		C *= ABL:ARG:0
		TIMES C , 0.08
		Z = ABL:ARG:0
		Z *= 8
		PRINTFORML %TALENTNAME:141% ×{Z}％
	ENDIF
PRINTL
ENDIF

;친애時특수処理
;IF TALENT:ARG:친애
;	CALL EXTRA_ARBEIT, ARG, D
;	IF RESULT > 0
;		D += RESULT
;		C *= (10 + (RESULT * 2))
;		C /= 10
;		PRINTFORML -친애効果により必死に働いている-
;	ENDIF
;ENDIF

IF BASE:ARG:0 > D*200
;체력の消費
	BASE:ARG:0 -= D*200
;협박中
	IF CFLAG:ARG:117 == 3
		PRINTFORML ……？:×50％
		S /= 2
	ENDIF

	CALL SEARCH_VILLAN,ARG

	MONEY += C
	PRINTFORML 보수로 {C}엔을 얻었다。
;스트레스치の付加
	D = MAX(0, D - ABL:ARG:정신의존 / 2)
	CFLAG:ARG:10 += D
	PRINTFORML 스트레스＋{D}
ELSE
	BASE:ARG:0 = 100
	D += 2
	C /= 2
;협박中
	IF CFLAG:ARG:117 == 3
		PRINTFORML ……？:×50％
		S /= 2
	ENDIF

	MONEY += C
	PRINTFORML %조사처리(NAME:ARG,"은")% 疲れて仕事途中でダウンしてしまった様だ。
	PRINTFORML 보수로 {C}엔을 얻었다。
;스트레스치の付加
	D = MAX(2, D - ABL:ARG:정신의존 / 2)
	CFLAG:ARG:10 += D
	PRINTFORML 스트레스＋{D}
ENDIF


code:
@TEACHER, ARG
;変数初期化
C = 0
;ABL:순종をみる
IF ABL:ARG:0 == 0
	P = 0
ELSEIF ABL:ARG:0 == 1
	P = 10
ELSEIF ABL:ARG:0 == 2
	P = 20
ELSEIF ABL:ARG:0 == 3
	P = 30
ELSEIF ABL:ARG:0 == 4
	P = 50
ELSEIF ABL:ARG:0 == 5
	P = 70
ELSEIF ABL:ARG:0 == 6
	P = 90
ELSEIF ABL:ARG:0 == 7
	P = 120
ELSEIF ABL:ARG:0 == 8
	P = 150
ELSEIF ABL:ARG:0 == 9
	P = 200
ELSE
	P = 250
ENDIF
C += P

;ABL:학력をみる
IF ABL:ARG:22 == 0
	P = 0
ELSEIF ABL:ARG:22 == 1
	P = 500
ELSEIF ABL:ARG:22 == 2
	P = 1000
ELSEIF ABL:ARG:22 == 3
	P = 1200
ELSEIF ABL:ARG:22 == 4
	P = 1500
ELSEIF ABL:ARG:22 == 5
	P = 1800
ELSEIF ABL:ARG:22 == 6
	P = 2000
ELSEIF ABL:ARG:22 == 7
	P = 4000
ELSEIF ABL:ARG:22 == 8
	P = 6000
ELSEIF ABL:ARG:22 == 9
	P = 8000
ELSE
	P = 10000
ENDIF
C += P

;ABL:봉사정신をみる
IF ABL:ARG:7 == 0
	P = 0
ELSEIF ABL:ARG:7 == 1
	P = 50
ELSEIF ABL:ARG:7 == 2
	P = 100
ELSEIF ABL:ARG:7 == 3
	P = 200
ELSEIF ABL:ARG:7 == 4
	P = 300
ELSEIF ABL:ARG:7 == 5
	P = 500
ELSEIF ABL:ARG:7 == 6
	P = 700
ELSEIF ABL:ARG:7 == 7
	P = 900
ELSEIF ABL:ARG:7 == 8
	P = 1200
ELSEIF ABL:ARG:7 == 9
	P = 1500
ELSE
	P = 1800
ENDIF
C += P

;タレント
SIF TALENT:ARG:초등학생
	C /= 5
SIF TALENT:ARG:중학생
	C /= 2
IF TALENT:ARG:대학생
	C *= 3
	C /= 2
ENDIF
IF TALENT:ARG:우등생
	C *= 15
	C /= 10
ENDIF
;아르바이트に割ける時間が長い
IF TALENT:ARG:귀가부
	C *= 11
	C /= 10
ENDIF

;ストレスの基本
D = 4
SIF TALENT:ARG:반항적 == 1
	D += 1
SIF TALENT:ARG:프라이드높음 == 1
	D += 1
SIF TALENT:ARG:프라이드낮음 == 1
	D -= 1
SIF TALENT:ARG:헌신적 == 1
	D -= 1
SIF TALENT:ARG:낙관적 == 1
	D -= 1
SIF TALENT:ARG:비관적 == 1
	D += 1
SIF TALENT:ARG:사교적 == 1
	D -= 1
SIF TALENT:ARG:내향적 == 1
	D += 1
SIF TALENT:ARG:인간혐오 == 1
	D += 1
SIF D <= 0
	D = 1

;報酬の計算
;難易度処理
;EASY
IF FLAG:4 == 1
	PRINTFORML 난이도：EASY ×120％
	TIMES C , 1.20
;NORMAL
ELSEIF FLAG:4 == 2
	TIMES C , 1.00
;HARD
ELSEIF FLAG:4 == 3
	PRINTFORML 난이도：HARD ×80％
	TIMES C , 0.80
ENDIF

;붕괴,광기は利潤をかなり低くする(こんな状態で家庭교사は無理だろ)
IF TALENT:ARG:9 || TALENT:ARG:291
PRINTL
	IF TALENT:ARG:9
		TIMES C , 0.05
		PRINTFORML %TALENTNAME:9% ×5％
	ELSEIF TALENT:ARG:291
		TIMES C , 0.05
		PRINTFORML %TALENTNAME:141% ×5％
	ENDIF
PRINTL
ENDIF

;친애時특수処理
;IF TALENT:ARG:친애
;	CALL EXTRA_ARBEIT, ARG, D
;	IF RESULT > 0
;		D += RESULT
;		C *= (10 + (RESULT * 2))
;		C /= 10
;		PRINTFORML -친애効果により必死に働いている-
;	ENDIF
;ENDIF

IF BASE:ARG:0 > D*100
;체력の消費
	BASE:ARG:0 -= D*100
;협박中
	IF CFLAG:ARG:117 == 3
		PRINTFORML ……？:×50％
		S /= 2
	ENDIF

	MONEY += C
	PRINTFORML 보수로 {C}엔을 얻었다。
;스트레스치の付加
	D = MAX(0, D - ABL:ARG:정신의존 / 2)
	CFLAG:ARG:10 += D
	PRINTFORML 스트레스＋{D}
ELSE
	BASE:ARG:0 = 100
	D += 2
	C /= 2
;협박中
	IF CFLAG:ARG:117 == 3
		PRINTFORML ……？:×50％
		S /= 2
	ENDIF

	MONEY += C
	PRINTFORML %조사처리(NAME:ARG,"은")% 途中で疲れ果てて眠ってしまった様だ。
	PRINTFORML 보수로 {C}엔을 얻었다。
;스트레스치の付加
	D = MAX(2, D - ABL:ARG:정신의존 / 2)
	CFLAG:ARG:10 += D
	PRINTFORML 스트레스＋{D}
ENDIF


code:
@TEA_SHOP, ARG
;変数初期化
C = 0
;ABL:순종をみる
IF ABL:ARG:0 == 0
	P = 0
ELSEIF ABL:ARG:0 == 1
	P = 15
ELSEIF ABL:ARG:0 == 2
	P = 30
ELSEIF ABL:ARG:0 == 3
	P = 40
ELSEIF ABL:ARG:0 == 4
	P = 60
ELSEIF ABL:ARG:0 == 5
	P = 80
ELSEIF ABL:ARG:0 == 6
	P = 100
ELSEIF ABL:ARG:0 == 7
	P = 150
ELSEIF ABL:ARG:0 == 8
	P = 170
ELSEIF ABL:ARG:0 == 9
	P = 250
ELSE
	P = 300
ENDIF
C += P

;ABL:감성をみる
IF ABL:ARG:25 == 0
	P = 0
ELSEIF ABL:ARG:25 == 1
	P = 200
ELSEIF ABL:ARG:25 == 2
	P = 500
ELSEIF ABL:ARG:25 == 3
	P = 900
ELSEIF ABL:ARG:25 == 4
	P = 1500
ELSEIF ABL:ARG:25 == 5
	P = 2300
ELSEIF ABL:ARG:25 == 6
	P = 3000
ELSEIF ABL:ARG:25 == 7
	P = 3700
ELSEIF ABL:ARG:25 == 8
	P = 4500
ELSEIF ABL:ARG:25 == 9
	P = 5000
ELSE
	P = 6000
ENDIF
C += P

;ABL:봉사정신をみる
IF ABL:ARG:7 == 0
	P = 0
ELSEIF ABL:ARG:7 == 1
	P = 30
ELSEIF ABL:ARG:7 == 2
	P = 50
ELSEIF ABL:ARG:7 == 3
	P = 100
ELSEIF ABL:ARG:7 == 4
	P = 150
ELSEIF ABL:ARG:7 == 5
	P = 250
ELSEIF ABL:ARG:7 == 6
	P = 350
ELSEIF ABL:ARG:7 == 7
	P = 400
ELSEIF ABL:ARG:7 == 8
	P = 600
ELSEIF ABL:ARG:7 == 9
	P = 800
ELSE
	P = 1000
ENDIF
C += P

;ABL:料理能力をみる
IF ABL:ARG:12 < 3
	P = 0
ELSEIF ABL:ARG:12 == 3
	P = 10
ELSEIF ABL:ARG:12 == 4
	P = 350
ELSEIF ABL:ARG:12 == 5
	P = 400
ELSEIF ABL:ARG:12 == 6
	P = 600
ELSEIF ABL:ARG:12 == 7
	P = 900
ELSEIF ABL:ARG:12 == 8
	P = 1000
ELSEIF ABL:ARG:12 == 9
	P = 1500
ELSE
	P = 2000
ENDIF
C += P

;タレント
IF TALENT:ARG:초등학생
	C /= 3
ENDIF
IF TALENT:ARG:중학생
	C /= 2
ENDIF
IF TALENT:ARG:대학생
	C *= 3
	C /= 2
ENDIF

;아르바이트に割ける時間が長い
IF TALENT:ARG:귀가부
	C *= 11
	C /= 10
ENDIF

;ストレスの基本
D = 2
SIF TALENT:ARG:반항적 == 1
	D += 1
SIF TALENT:ARG:프라이드높음 == 1
	D += 1
SIF TALENT:ARG:프라이드낮음 == 1
	D -= 1
SIF TALENT:ARG:헌신적 == 1
	D -= 1
SIF TALENT:ARG:낙관적 == 1
	D -= 1
SIF TALENT:ARG:비관적 == 1
	D += 1
SIF TALENT:ARG:사교적 == 1
	D -= 1
SIF TALENT:ARG:내향적 == 1
	D += 1
SIF TALENT:ARG:인간혐오 == 1
	D += 1
SIF D <= 0
	D = 1

;報酬の計算
S = C
;難易度処理
;EASY
IF FLAG:4 == 1
	PRINTFORML 난이도：EASY ×120％
	TIMES S , 1.20
;NORMAL
ELSEIF FLAG:4 == 2
	TIMES S , 1.00
;HARD
ELSEIF FLAG:4 == 3
	PRINTFORML 난이도：HARD ×80％
	TIMES S , 0.80
ENDIF

;붕괴,광기は利潤をかなり低くする（순종によって、80％まで回復）
IF TALENT:ARG:9 || TALENT:ARG:291
PRINTL
	IF TALENT:ARG:9
		S *= ABL:ARG:0
		TIMES S , 0.08
		Z = ABL:ARG:0
		Z *= 8
		PRINTFORML %TALENTNAME:9% ×{Z}％
	ELSEIF TALENT:ARG:291
		S *= ABL:ARG:0
		TIMES S , 0.08
		Z = ABL:ARG:0
		Z *= 8
		PRINTFORML %TALENTNAME:141% ×{Z}％
	ENDIF
PRINTL
ENDIF

;친애時특수処理
;IF TALENT:ARG:친애
;	CALL EXTRA_ARBEIT, ARG, D
;	IF RESULT > 0
;		D += RESULT
;		C *= (10 + (RESULT * 2))
;		C /= 10
;		PRINTFORML -친애効果により必死に働いている-
;	ENDIF
;ENDIF

IF BASE:ARG:0 > D*200
;체력の消費
	BASE:ARG:0 -= D*200
	;협박中
	IF CFLAG:ARG:117 == 3
		PRINTFORML ……？:×50％
		S /= 2
	ENDIF

	MONEY += S
	PRINTFORML 보수로 {S}엔을 얻었다。
;스트레스치の付加
	D = MAX(0, D - ABL:ARG:정신의존 / 2)
	CFLAG:ARG:10 += D
	PRINTFORML 스트레스＋{D}
ELSE
	BASE:ARG:0 = 100
	D += 2
	S /= 2
;협박中
	IF CFLAG:ARG:117 == 3
		PRINTFORML ……？:×50％
		S /= 2
	ENDIF

	MONEY += S
	PRINTFORML %조사처리(NAME:ARG,"은")% 業務時間中何度も休憩を取っていた。
	PRINTFORML 보수로 {S}엔을 얻었다。
;스트레스치の付加
	D = MAX(2, D - ABL:ARG:정신의존 / 2)
	CFLAG:ARG:10 += D
	PRINTFORML 스트레스＋{D}
ENDIF


code:
@WORK_IDOL, ARG
;日曜日は収入が大きいが、それ以外は安い
;変数初期化
C = 0
;ABL:순종をみる
IF ABL:ARG:0 == 0
	P = 0
ELSEIF ABL:ARG:0 == 1
	P = 15
ELSEIF ABL:ARG:0 == 2
	P = 30
ELSEIF ABL:ARG:0 == 3
	P = 40
ELSEIF ABL:ARG:0 == 4
	P = 60
ELSEIF ABL:ARG:0 == 5
	P = 80
ELSEIF ABL:ARG:0 == 6
	P = 100
ELSEIF ABL:ARG:0 == 7
	P = 150
ELSEIF ABL:ARG:0 == 8
	P = 170
ELSEIF ABL:ARG:0 == 9
	P = 250
ELSE
	P = 300
ENDIF
C += P

;ABL:감성をみる
IF ABL:ARG:25 == 0
	P = 0
ELSEIF ABL:ARG:25 == 1
	P = 200
ELSEIF ABL:ARG:25 == 2
	P = 400
ELSEIF ABL:ARG:25 == 3
	P = 600
ELSEIF ABL:ARG:25 == 4
	P = 800
ELSEIF ABL:ARG:25 == 5
	P = 1000
ELSEIF ABL:ARG:25 == 6
	P = 1500
ELSEIF ABL:ARG:25 == 7
	P = 3000
ELSEIF ABL:ARG:25 == 8
	P = 5000
ELSEIF ABL:ARG:25 == 9
	P = 6500
ELSE
	P = 8000
ENDIF
C += P

;ABL:봉사정신をみる
IF ABL:ARG:7 == 0
	P = 0
ELSEIF ABL:ARG:7 == 1
	P = 40
ELSEIF ABL:ARG:7 == 2
	P = 60
ELSEIF ABL:ARG:7 == 3
	P = 120
ELSEIF ABL:ARG:7 == 4
	P = 180
ELSEIF ABL:ARG:7 == 5
	P = 270
ELSEIF ABL:ARG:7 == 6
	P = 360
ELSEIF ABL:ARG:7 == 7
	P = 420
ELSEIF ABL:ARG:7 == 8
	P = 600
ELSEIF ABL:ARG:7 == 9
	P = 800
ELSE
	P = 1000
ENDIF
C += P

;ABL:歌唱能力をみる
IF ABL:ARG:14 < 3
	P = 0
ELSEIF ABL:ARG:14 == 3
	P = 200
ELSEIF ABL:ARG:14 == 4
	P = 500
ELSEIF ABL:ARG:14 == 5
	P = 700
ELSEIF ABL:ARG:14 == 6
	P = 1000
ELSEIF ABL:ARG:14 == 7
	P = 2000
ELSEIF ABL:ARG:14 == 8
	P = 2500
ELSEIF ABL:ARG:14 == 9
	P = 3000
ELSE
	P = 4000
ENDIF
C += P

;ABL:노출증をみる
IF ABL:ARG:노출증 < 5
	P = 0
ELSEIF ABL:ARG:노출증 == 5
	P = 500
ELSEIF ABL:ARG:노출증 == 6
	P = 500
ELSEIF ABL:ARG:노출증 == 7
	P = 1500
ELSEIF ABL:ARG:노출증 == 8
	P = 2000
ELSEIF ABL:ARG:노출증 == 9
	P = 2500
ELSE
	P = 3000
ENDIF
C += P

;タレント
IF TALENT:ARG:초등학생
	C /= 3
ENDIF
IF TALENT:ARG:중학생
	C /= 2
ENDIF
IF TALENT:ARG:대학생
	C *= 3
	C /= 2
ENDIF

;아르바이트に割ける時間が長い
IF TALENT:ARG:귀가부
	C *= 11
	C /= 10
ENDIF
IF TALENT:ARG:주부
	C *= 12
	C /= 10
ENDIF

IF TALENT:ARG:인기
	C *= 15
	C /= 10
ENDIF

IF TALENT:ARG:수수께끼의매력
	C *= 2
ENDIF

;日曜日かどうか
;■■■曜日取得処理
W = DAY + 2		;第1日目は水曜で固定
W %= 7			;7で除算した余りを曜日指定変数としてWに代入

IF W == 0
	C *= 25
	C /= 10
ELSE
	C *= 1
	C /= 3
ENDIF

;ストレスの基本
D = 4
SIF TALENT:ARG:반항적 == 1
	D += 1
SIF TALENT:ARG:프라이드높음 == 1
	D += 1
SIF TALENT:ARG:프라이드낮음 == 1
	D -= 1
SIF TALENT:ARG:헌신적 == 1
	D -= 1
SIF TALENT:ARG:낙관적 == 1
	D -= 1
SIF TALENT:ARG:비관적 == 1
	D += 1
SIF TALENT:ARG:사교적 == 1
	D -= 1
SIF TALENT:ARG:내향적 == 1
	D += 3
SIF TALENT:ARG:인간혐오 == 1
	D += 3
SIF D <= 0
	D = 1

SIF FLAG:8 == 0
	D += 1

;報酬の計算
S = C
;難易度処理
;EASY
IF FLAG:4 == 1
	PRINTFORML 난이도：EASY ×120％
	TIMES S , 1.20
;NORMAL
ELSEIF FLAG:4 == 2
	TIMES S , 1.00
;HARD
ELSEIF FLAG:4 == 3
	PRINTFORML 난이도：HARD ×80％
	TIMES S , 0.80
ENDIF

;붕괴,광기は利潤をかなり低くする（순종によって、80％まで回復）
IF TALENT:ARG:9 || TALENT:ARG:291
PRINTL
	IF TALENT:ARG:9
		S *= ABL:ARG:0
		TIMES S , 0.08
		Z = ABL:ARG:0
		Z *= 8
		PRINTFORML %TALENTNAME:9% ×{Z}％
	ELSEIF TALENT:ARG:291
		S *= ABL:ARG:0
		TIMES S , 0.08
		Z = ABL:ARG:0
		Z *= 8
		PRINTFORML %TALENTNAME:141% ×{Z}％
	ENDIF
PRINTL
ENDIF

;친애時특수処理
;IF TALENT:ARG:친애
;	CALL EXTRA_ARBEIT, ARG, D
;	IF RESULT > 0
;		D += RESULT
;		S *= (10 + (RESULT * 4))
;		S /= 10
;		PRINTFORML -친애効果により必死に働いている-
;	ENDIF
;ENDIF

IF W == 0
	C = D * 250
ELSE
	C = D * 100
ENDIF

IF BASE:ARG:0 > C
;체력の消費
	BASE:ARG:0 -= C
;협박中
	IF CFLAG:ARG:117 == 3
		PRINTFORML ……？:×50％
		S /= 2
	ENDIF

	MONEY += S
	PRINTFORML 보수로 {S}엔을 얻었다。
;스트레스치の付加
	D = MAX(0, D - ABL:ARG:정신의존 / 2)
	CFLAG:ARG:10 += D
	PRINTFORML 스트레스＋{D}
ELSE
	BASE:ARG:0 = 100
	D += 2
	S /= 2
;협박中
	IF CFLAG:ARG:117 == 3
		PRINTFORML ……？:×50％
		S /= 2
	ENDIF

	MONEY += S
	PRINTFORML %조사처리(NAME:ARG,"은")% 業務時間中何度も休憩を取っていた。
	PRINTFORML 보수로 {S}엔을 얻었다。
;스트레스치の付加
	D = MAX(2, D - ABL:ARG:정신의존 / 2)
	CFLAG:ARG:10 += D
	PRINTFORML 스트레스＋{D}
ENDIF


code:
@WORK_MAID, ARG
;変数初期化
C = 0
;ABL:순종をみる
IF ABL:ARG:0 == 0
	P = 0
ELSEIF ABL:ARG:0 == 1
	P = 30
ELSEIF ABL:ARG:0 == 2
	P = 50
ELSEIF ABL:ARG:0 == 3
	P = 70
ELSEIF ABL:ARG:0 == 4
	P = 100
ELSEIF ABL:ARG:0 == 5
	P = 150
ELSEIF ABL:ARG:0 == 6
	P = 200
ELSEIF ABL:ARG:0 == 7
	P = 250
ELSEIF ABL:ARG:0 == 8
	P = 300
ELSEIF ABL:ARG:0 == 9
	P = 400
ELSE
	P = 500
ENDIF
C += P

;ABL:학력をみる
IF ABL:ARG:학력 == 0
	P = 0
ELSEIF ABL:ARG:학력 == 1
	P = 10
ELSEIF ABL:ARG:학력 == 2
	P = 60
ELSEIF ABL:ARG:학력 == 3
	P = 300
ELSEIF ABL:ARG:학력 == 4
	P = 600
ELSEIF ABL:ARG:학력 == 5
	P = 1200
ELSEIF ABL:ARG:학력 == 6
	P = 2000
ELSEIF ABL:ARG:학력 == 7
	P = 2500
ELSEIF ABL:ARG:학력 == 8
	P = 3000
ELSEIF ABL:ARG:학력 == 9
	P = 3500
ELSE
	P = 5000
ENDIF
C += P

;ABL:운동능력をみる
IF ABL:ARG:운동능력 == 0
	P = 0
ELSEIF ABL:ARG:운동능력 == 1
	P = 10
ELSEIF ABL:ARG:운동능력 == 2
	P = 60
ELSEIF ABL:ARG:운동능력 == 3
	P = 300
ELSEIF ABL:ARG:운동능력 == 4
	P = 600
ELSEIF ABL:ARG:운동능력 == 5
	P = 1200
ELSEIF ABL:ARG:운동능력 == 6
	P = 2000
ELSEIF ABL:ARG:운동능력 == 7
	P = 2500
ELSEIF ABL:ARG:운동능력 == 8
	P = 3000
ELSEIF ABL:ARG:운동능력 == 9
	P = 3500
ELSE
	P = 5000
ENDIF
C += P

;ABL:봉사정신をみる
IF ABL:ARG:7 == 0
	P = 0
ELSEIF ABL:ARG:7 == 1
	P = 10
ELSEIF ABL:ARG:7 == 2
	P = 20
ELSEIF ABL:ARG:7 == 3
	P = 50
ELSEIF ABL:ARG:7 == 4
	P = 100
ELSEIF ABL:ARG:7 == 5
	P = 250
ELSEIF ABL:ARG:7 == 6
	P = 350
ELSEIF ABL:ARG:7 == 7
	P = 450
ELSEIF ABL:ARG:7 == 8
	P = 650
ELSEIF ABL:ARG:7 == 9
	P = 900
ELSE
	P = 1200
ENDIF
C += P

;ABL:料理能力をみる
IF ABL:ARG:12 < 3
	P = 0
ELSEIF ABL:ARG:12 == 3
	P = 10
ELSEIF ABL:ARG:12 == 4
	P = 350
ELSEIF ABL:ARG:12 == 5
	P = 400
ELSEIF ABL:ARG:12 == 6
	P = 600
ELSEIF ABL:ARG:12 == 7
	P = 900
ELSEIF ABL:ARG:12 == 8
	P = 1000
ELSEIF ABL:ARG:12 == 9
	P = 1500
ELSE
	P = 2000
ENDIF
C += P

;タレント
IF TALENT:ARG:초등학생
	C /= 3
ENDIF
IF TALENT:ARG:중학생
	C /= 2
ENDIF
IF TALENT:ARG:대학생
	C *= 3
	C /= 2
ENDIF
IF TALENT:ARG:우등생
	C *= 11
	C /= 10
ENDIF
;아르바이트に割ける時間が長い
IF TALENT:ARG:귀가부
	C *= 11
	C /= 10
ENDIF

;ストレスの基本
D = 3
SIF TALENT:ARG:반항적 == 1
	D += 1
SIF TALENT:ARG:프라이드높음 == 1
	D += 1
SIF TALENT:ARG:프라이드낮음 == 1
	D -= 1
SIF TALENT:ARG:헌신적 == 1
	D -= 1
SIF TALENT:ARG:낙관적 == 1
	D -= 1
SIF TALENT:ARG:비관적 == 1
	D += 1
SIF TALENT:ARG:사교적 == 1
	D -= 1
SIF TALENT:ARG:내향적 == 1
	D += 1
SIF TALENT:ARG:인간혐오 == 1
	D += 1
SIF D <= 0
	D = 1

;報酬の計算
S = C
;難易度処理
;EASY
IF FLAG:4 == 1
	PRINTFORML 난이도：EASY ×120％
	TIMES S , 1.20
;NORMAL
ELSEIF FLAG:4 == 2
	TIMES S , 1.00
;HARD
ELSEIF FLAG:4 == 3
	PRINTFORML 난이도：HARD ×80％
	TIMES S , 0.80
ENDIF

;붕괴,광기は利潤をかなり低くする（순종によって、80％まで回復）
IF TALENT:ARG:9 || TALENT:ARG:291
PRINTL
	IF TALENT:ARG:9
		S *= ABL:ARG:0
		TIMES S , 0.08
		Z = ABL:ARG:0
		Z *= 8
		PRINTFORML %TALENTNAME:9% ×{Z}％
	ELSEIF TALENT:ARG:291
		S *= ABL:ARG:0
		TIMES S , 0.08
		Z = ABL:ARG:0
		Z *= 8
		PRINTFORML %TALENTNAME:141% ×{Z}％
	ENDIF
PRINTL
ENDIF

;친애時특수処理
;IF TALENT:ARG:친애
;	CALL EXTRA_ARBEIT, ARG, D
;	IF RESULT > 0
;		D += RESULT
;		S *= (10 + (RESULT * 4))
;		S /= 10
;		PRINTFORML -친애効果により必死に働いている-
;	ENDIF
;ENDIF

IF BASE:ARG:0 > D*200
;체력の消費
	BASE:ARG:0 -= D*200
	;협박中
	IF CFLAG:ARG:117 == 3
		PRINTFORML ……？:×50％
		S /= 2
	ENDIF

	MONEY += S
	PRINTFORML 보수로 {S}엔을 얻었다。
;스트레스치の付加
	D = MAX(0, D - ABL:ARG:정신의존 / 2)
	CFLAG:ARG:10 += D
	PRINTFORML 스트레스＋{D}
ELSE
	BASE:ARG:0 = 100
	D += 2
	S /= 2
;협박中
	IF CFLAG:ARG:117 == 3
		PRINTFORML ……？:×50％
		S /= 2
	ENDIF

	MONEY += S
	PRINTFORML %조사처리(NAME:ARG,"은")% 業務時間中何度も休憩を取っていた。
	PRINTFORML 보수로 {S}엔을 얻었다。
;스트레스치の付加
	D = MAX(2, D - ABL:ARG:정신의존 / 2)
	CFLAG:ARG:10 += D
	PRINTFORML 스트레스＋{D}
ENDIF


code:
@WORK_MODEL, ARG
;アイドルよりやや安めで、日曜日の補正がない。
;変数初期化
C = 0
;ABL:순종をみる
IF ABL:ARG:0 == 0
	P = 0
ELSEIF ABL:ARG:0 == 1
	P = 10
ELSEIF ABL:ARG:0 == 2
	P = 20
ELSEIF ABL:ARG:0 == 3
	P = 30
ELSEIF ABL:ARG:0 == 4
	P = 40
ELSEIF ABL:ARG:0 == 5
	P = 60
ELSEIF ABL:ARG:0 == 6
	P = 90
ELSEIF ABL:ARG:0 == 7
	P = 120
ELSEIF ABL:ARG:0 == 8
	P = 150
ELSEIF ABL:ARG:0 == 9
	P = 230
ELSE
	P = 270
ENDIF
C += P

;ABL:감성をみる
IF ABL:ARG:25 == 0
	P = 0
ELSEIF ABL:ARG:25 == 1
	P = 150
ELSEIF ABL:ARG:25 == 2
	P = 300
ELSEIF ABL:ARG:25 == 3
	P = 400
ELSEIF ABL:ARG:25 == 4
	P = 600
ELSEIF ABL:ARG:25 == 5
	P = 800
ELSEIF ABL:ARG:25 == 6
	P = 1200
ELSEIF ABL:ARG:25 == 7
	P = 1800
ELSEIF ABL:ARG:25 == 8
	P = 3000
ELSEIF ABL:ARG:25 == 9
	P = 5000
ELSE
	P = 7000
ENDIF
C += P

;ABL:봉사정신をみる
IF ABL:ARG:7 == 0
	P = 0
ELSEIF ABL:ARG:7 == 1
	P = 40
ELSEIF ABL:ARG:7 == 2
	P = 60
ELSEIF ABL:ARG:7 == 3
	P = 120
ELSEIF ABL:ARG:7 == 4
	P = 180
ELSEIF ABL:ARG:7 == 5
	P = 270
ELSEIF ABL:ARG:7 == 6
	P = 360
ELSEIF ABL:ARG:7 == 7
	P = 420
ELSEIF ABL:ARG:7 == 8
	P = 600
ELSEIF ABL:ARG:7 == 9
	P = 800
ELSE
	P = 1000
ENDIF
C += P

;EXP:피사경험をみる 歌唱能力の
IF EXP:ARG:피사경험 < 5
	P = 0
ELSEIF EXP:ARG:피사경험 < 10
	P = 100
ELSEIF EXP:ARG:피사경험 < 30
	P = 150
ELSEIF EXP:ARG:피사경험 < 50
	P = 200
ELSEIF EXP:ARG:피사경험 < 100
	P = 500
ELSEIF EXP:ARG:피사경험 < 200
	P = 1000
ELSEIF EXP:ARG:피사경험 < 300
	P = 1500
ELSEIF EXP:ARG:피사경험 < 400
	P = 2000
ELSEIF EXP:ARG:피사경험 < 500
	P = 2500
ELSEIF EXP:ARG:피사경험 < 600
	P = 3500
ELSE
	P = 4000
ENDIF
C += P

;ABL:노출증をみる
IF ABL:ARG:노출증 < 5
	P = 0
ELSEIF ABL:ARG:노출증 == 5
	P = 500
ELSEIF ABL:ARG:노출증 == 6
	P = 500
ELSEIF ABL:ARG:노출증 == 7
	P = 1500
ELSEIF ABL:ARG:노출증 == 8
	P = 2000
ELSEIF ABL:ARG:노출증 == 9
	P = 2500
ELSE
	P = 3000
ENDIF
C += P

;タレント
IF TALENT:ARG:초등학생
	C /= 3
ENDIF
IF TALENT:ARG:중학생
	C /= 2
ENDIF
IF TALENT:ARG:대학생
	C *= 3
	C /= 2
ENDIF
IF TALENT:ARG:코스프레속성
	C *= 3
	C /= 2
ENDIF

;아르바이트に割ける時間が長い
IF TALENT:ARG:귀가부
	C *= 11
	C /= 10
ENDIF
IF TALENT:ARG:주부
	C *= 12
	C /= 10
ENDIF

IF TALENT:ARG:인기
	C *= 15
	C /= 10
ENDIF
IF TALENT:ARG:수수께끼의매력
	C *= 2
ENDIF
IF TALENT:ARG:수수함
	C *= 2
	C /= 3
ENDIF

;ストレスの基本
D = 3
SIF TALENT:ARG:반항적 == 1
	D += 1
SIF TALENT:ARG:프라이드높음 == 1
	D += 1
SIF TALENT:ARG:프라이드낮음 == 1
	D -= 1
SIF TALENT:ARG:헌신적 == 1
	D -= 1
SIF TALENT:ARG:낙관적 == 1
	D -= 1
SIF TALENT:ARG:비관적 == 1
	D += 1
SIF TALENT:ARG:사교적 == 1
	D -= 1
SIF TALENT:ARG:내향적 == 1
	D += 3
SIF TALENT:ARG:인간혐오 == 1
	D += 3
SIF D <= 0
	D = 1

SIF FLAG:8 == 0
	D += 1

;報酬の計算
S = C
;難易度処理
;EASY
IF FLAG:4 == 1
	PRINTFORML 난이도：EASY ×120％
	TIMES S , 1.20
;NORMAL
ELSEIF FLAG:4 == 2
	TIMES S , 1.00
;HARD
ELSEIF FLAG:4 == 3
	PRINTFORML 난이도：HARD ×80％
	TIMES S , 0.80
ENDIF

;붕괴,광기は利潤をかなり低くする（순종によって、80％まで回復）
IF TALENT:ARG:9 || TALENT:ARG:291
PRINTL
	IF TALENT:ARG:9
		S *= ABL:ARG:0
		TIMES S , 0.08
		Z = ABL:ARG:0
		Z *= 8
		PRINTFORML %TALENTNAME:9% ×{Z}％
	ELSEIF TALENT:ARG:291
		S *= ABL:ARG:0
		TIMES S , 0.08
		Z = ABL:ARG:0
		Z *= 8
		PRINTFORML %TALENTNAME:141% ×{Z}％
	ENDIF
PRINTL
ENDIF

;친애時특수処理
;IF TALENT:ARG:친애
;	CALL EXTRA_ARBEIT, ARG, D
;	IF RESULT > 0
;		D += RESULT
;		S *= (10 + (RESULT * 4))
;		S /= 10
;		PRINTFORML -친애効果により必死に働いている-
;	ENDIF
;ENDIF

C = D * 100

IF BASE:ARG:0 > C
;체력の消費
	BASE:ARG:0 -= C
;협박中
	IF CFLAG:ARG:117 == 3
		PRINTFORML ……？:×50％
		S /= 2
	ENDIF

	MONEY += S
	PRINTFORML 보수로 {S}엔을 얻었다。
;스트레스치の付加
	D = MAX(0, D - ABL:ARG:정신의존 / 2)
	CFLAG:ARG:10 += D
	PRINTFORML 스트레스＋{D}
ELSE
	BASE:ARG:0 = 100
	D += 2
	S /= 2
;협박中
	IF CFLAG:ARG:117 == 3
		PRINTFORML ……？:×50％
		S /= 2
	ENDIF

	MONEY += S
	PRINTFORML %조사처리(NAME:ARG,"은")% 業務時間中何度も休憩を取っていた。
	PRINTFORML 보수로 {S}엔을 얻었다。
;스트레스치の付加
	D = MAX(2, D - ABL:ARG:정신의존 / 2)
	CFLAG:ARG:10 += D
	PRINTFORML 스트레스＋{D}
ENDIF


code:
;存在チェック。1なら存在、2なら隠し扱い(選択不可だが探索は継続)
;隠しにするのは、キャラ固有以外の条件があるとき。(例えば特定のイベント後に選択できるなど)
@PARTTIMEJOB_IS_EXIST_0()
RETURN 1

@PARTTIMEJOB_NAME_0()
#FUNCTIONS
RETURNF "가정교사"

;作業名の後に付ける単語。「○○は(作業名)(この関数の値)を行います」という表示になる。
;通常は"の아르바이트"でいいはずだが、ライブ活動のように아르바이트ではない場合はここで調整する。
@PARTTIMEJOB_NAME_SUFFIX_0()
#FUNCTIONS
RETURNF " 아르바이트"

;可能になる条件。可能な場合に1を返す
@PARTTIMEJOB_IS_WORKABLE_0(targetChara)
#FUNCTION
#DIM targetChara
RETURNF 1

;必要能力。与えられた名前(カンマ区切り)でABLとEXPとTALENTとCFLAGをこの順に検索し、最初に見つかったものを必要能力とみなす。
;TALENTはそもそもBOOL型の値、CFLAGは定義が切られていないので、原則ABLで指定
@PARTTIMEJOB_ABILITY_TEXT_0()
#FUNCTIONS
RETURNF "학력"

;報酬額計算。難易度・붕괴・광기・친애効果・협박・疲労などの効果を計算する前の基礎値を返す。なお、500を割った場合はフレームワーク側で500にする。
@PARTTIMEJOB_CALCULATE_VALUE_0(targetChara)
#FUNCTION
#DIM targetChara
#DIM DYNAMIC answer = 0
answer += CALC_CHARA_LISTARRAY_DATA("ABL",targetChara,"순종","0,10,20,30,50,70,90,120,150,200,250")
answer += CALC_CHARA_LISTARRAY_DATA("ABL",targetChara,"학력","0,500,1000,1200,1500,1800,2000,4000,6000,8000,10000")
answer += CALC_CHARA_LISTARRAY_DATA("ABL",targetChara,"봉사정신","0,50,100,200,300,500,700,900,1200,1500,1800")
answer = answer * CALC_CHARA_MULTIPLE_DATA("TALENT",targetChara,"초등학생*2,중학생*5,고등학생*10,대학생*15,우등생*15,귀가부*11",10,1000) / 1000
RETURNF answer

;休日時の倍率を100倍した値。
@PARTTIMEJOB_CALCULATE_VALUE_HOLIDAY_MULTIPLE_0()
#FUNCTION
RETURNF 100

;平日時の倍率を100倍した値。
@PARTTIMEJOB_CALCULATE_VALUE_WORKDAY_MULTIPLE_0()
#FUNCTION
RETURNF 110

;【붕괴】時の減少割合。何%にするか返す。例えば5なら5%。
@PARTTIMEJOB_MINDBREAK_PENALTY_0(targetChara)
#FUNCTION
#DIM targetChara
RETURNF 5

;【광기】時の減少割合。何%にするか返す。例えば5なら5%。ただし【붕괴】している場合はそちらが優先
@PARTTIMEJOB_LUNATICS_PENALTY_0(targetChara)
#FUNCTION
#DIM targetChara
RETURNF 5

;ストレス計算。친애効果・정신의존などの効果を計算する前の基礎値を返す。なお、0以下になった場合はフレームワーク側で1にする。
@PARTTIMEJOB_WORK_CALCULATE_STRESS_0(targetChara)
#FUNCTION
#DIM targetChara
RETURNF 4 + CALC_CHARA_SINGLE_DATA("TALENT",targetChara,"반항적,프라이드높음,프라이드낮음*-1,헌신적*-1,낙관적*-1,비관적,사교적*-1,내향적")

;消費체력の基礎値。実際にはこれにストレスを掛けた値減る。체력がマイナスになる場合は100で止め、失敗イベントを起こす。
@PARTTIMEJOB_LOOSE_POWER_BASE_0()
#FUNCTION
RETURNF 100

@PARTTIMEJOB_TIRED_MESSAGE_0()
#FUNCTIONS
RETURNF "도중에 몹시 지쳐서 잠든"

;成功時イベント。成功時に確実に起こるイベント。
@PARTTIMEJOB_IS_SP_EVENT_SUCCESS_0(targetChara)
#DIM targetChara
RETURN

;失敗時イベント。失敗時に確実に起こるイベント。
@PARTTIMEJOB_IS_SP_EVENT_FAIL_0(targetChara)
#DIM targetChara
RETURN

;특수イベント。低確率(2%)で起きる可能性があるイベント。ここで各バイト固有の発生条件を返す。
@PARTTIMEJOB_IS_SP_EVENT_STARTABLE_0(targetChara)
#FUNCTION
#DIM targetChara
RETURNF 0

;특수イベント。例えば家庭교사先の子を紹介するなど
@PARTTIMEJOB_SP_EVENT_0(targetChara)
#DIM targetChara
RETURN


code:
;存在チェック。1なら存在、2なら隠し扱い(選択不可だが探索は継続)
;隠しにするのは、キャラ固有以外の条件があるとき。(例えば特定のイベント後に選択できるなど)
@PARTTIMEJOB_IS_EXIST_1()
RETURN 1

@PARTTIMEJOB_NAME_1()
#FUNCTIONS
RETURNF "신문배달"

;作業名の後に付ける単語。「○○は(作業名)(この関数の値)を行います」という表示になる。
;通常は"の아르바이트"でいいはずだが、ライブ活動のように아르바이트ではない場合はここで調整する。
@PARTTIMEJOB_NAME_SUFFIX_1()
#FUNCTIONS
RETURNF " 아르바이트"

;可能になる条件。可能な場合に1を返す
@PARTTIMEJOB_IS_WORKABLE_1(targetChara)
#FUNCTION
#DIM targetChara
RETURNF 1

;必要能力。与えられた名前(カンマ区切り)でABLとEXPとTALENTとCFLAGをこの順に検索し、最初に見つかったものを必要能力とみなす。
;TALENTはそもそもBOOL型の値、CFLAGは定義が切られていないので、原則ABLで指定
@PARTTIMEJOB_ABILITY_TEXT_1()
#FUNCTIONS
RETURNF "운동능력"

;報酬額計算。難易度・붕괴・광기・친애効果・협박・疲労などの効果を計算する前の基礎値を返す。なお、500を割った場合はフレームワーク側で500にする。
@PARTTIMEJOB_CALCULATE_VALUE_1(targetChara)
#FUNCTION
#DIM targetChara
#DIM DYNAMIC answer = 0
answer += CALC_CHARA_LISTARRAY_DATA("ABL",targetChara,"순종","0,10,20,30,50,70,90,120,150,200,250")
answer += CALC_CHARA_LISTARRAY_DATA("ABL",targetChara,"운동능력","0,300,600,1000,1500,2000,2500,3500,4300,5000,6000")
answer += CALC_CHARA_LISTARRAY_DATA("ABL",targetChara,"봉사정신","0,30,50,100,150,250,350,400,600,800,1000")
answer = answer * CALC_CHARA_MULTIPLE_DATA("TALENT",targetChara,"초등학생*4,중학생*5,고등학생*10,대학생*15,귀가부*11",10,1000) / 1000
RETURNF answer

;休日時の倍率を100倍した値。
@PARTTIMEJOB_CALCULATE_VALUE_HOLIDAY_MULTIPLE_1()
#FUNCTION
RETURNF 100

;平日時の倍率を100倍した値。
@PARTTIMEJOB_CALCULATE_VALUE_WORKDAY_MULTIPLE_1()
#FUNCTION
RETURNF 100

;【붕괴】時の減少割合。何%にするか返す。例えば5なら5%。
@PARTTIMEJOB_MINDBREAK_PENALTY_1(targetChara)
#FUNCTION
#DIM targetChara
RETURNF 8 * ABL:targetChara:순종

;【광기】時の減少割合。何%にするか返す。例えば5なら5%。ただし【붕괴】している場合はそちらが優先
@PARTTIMEJOB_LUNATICS_PENALTY_1(targetChara)
#FUNCTION
#DIM targetChara
RETURNF 8 * ABL:targetChara:순종

;ストレス計算。친애効果・정신의존などの効果を計算する前の基礎値を返す。なお、0以下になった場合はフレームワーク側で1にする。
@PARTTIMEJOB_WORK_CALCULATE_STRESS_1(targetChara)
#FUNCTION
#DIM targetChara
RETURNF 1 + CALC_CHARA_SINGLE_DATA("TALENT",targetChara,"반항적,프라이드높음,프라이드낮음*-1,헌신적*-1,낙관적*-1,비관적")

;消費체력の基礎値。実際にはこれにストレスを掛けた値減る。체력がマイナスになる場合は100で止め、失敗イベントを起こす。
@PARTTIMEJOB_LOOSE_POWER_BASE_1()
#FUNCTION
RETURNF 200

@PARTTIMEJOB_TIRED_MESSAGE_1()
#FUNCTIONS
RETURNF "신문을 전부 돌리는데 꽤나 상당한 시간이 걸린"

;成功時イベント。成功時に確実に起こるイベント。
@PARTTIMEJOB_IS_SP_EVENT_SUCCESS_1(targetChara)
#DIM targetChara
RETURN

;失敗時イベント。失敗時に確実に起こるイベント。
@PARTTIMEJOB_IS_SP_EVENT_FAIL_1(targetChara)
#DIM targetChara
RETURN

;특수イベント。低確率(2%)で起きる可能性があるイベント。ここで各バイト固有の発生条件を返す。
@PARTTIMEJOB_IS_SP_EVENT_STARTABLE_1(targetChara)
#FUNCTION
#DIM targetChara
RETURNF 0

;특수イベント。例えば家庭교사先の子を紹介するなど
@PARTTIMEJOB_SP_EVENT_1(targetChara)
#DIM targetChara
RETURN


code:
;存在チェック。1なら存在、2なら隠し扱い(選択不可だが探索は継続)
;隠しにするのは、キャラ固有以外の条件があるとき。(例えば特定のイベント後に選択できるなど)
@PARTTIMEJOB_IS_EXIST_2()
RETURN 1

@PARTTIMEJOB_NAME_2()
#FUNCTIONS
RETURNF "경비원"

;作業名の後に付ける単語。「○○は(作業名)(この関数の値)を行います」という表示になる。
;通常は"の아르바이트"でいいはずだが、ライブ活動のように아르바이트ではない場合はここで調整する。
@PARTTIMEJOB_NAME_SUFFIX_2()
#FUNCTIONS
RETURNF " 아르바이트"

;可能になる条件。可能な場合に1を返す
@PARTTIMEJOB_IS_WORKABLE_2(targetChara)
#FUNCTION
#DIM targetChara
RETURNF 1

;必要能力。与えられた名前(カンマ区切り)でABLとEXPとTALENTとCFLAGをこの順に検索し、最初に見つかったものを必要能力とみなす。
;TALENTはそもそもBOOL型の値、CFLAGは定義が切られていないので、原則ABLで指定
@PARTTIMEJOB_ABILITY_TEXT_2()
#FUNCTIONS
RETURNF "전투능력"

;報酬額計算。難易度・붕괴・광기・친애効果・협박・疲労などの効果を計算する前の基礎値を返す。なお、500を割った場合はフレームワーク側で500にする。
@PARTTIMEJOB_CALCULATE_VALUE_2(targetChara)
#FUNCTION
#DIM targetChara
#DIM DYNAMIC answer = 0
answer += CALC_CHARA_LISTARRAY_DATA("ABL",targetChara,"순종","0,15,30,40,60,80,100,150,170,250,300")
answer += CALC_CHARA_LISTARRAY_DATA("ABL",targetChara,"전투능력","0,300,600,900,1500,2000,2500,4000,6000,7000,9000")
answer += CALC_CHARA_LISTARRAY_DATA("ABL",targetChara,"봉사정신","0,30,50,100,150,250,350,400,600,800,1000")
answer = answer * CALC_CHARA_MULTIPLE_DATA("TALENT",targetChara,"초등학생*3,중학생*5,고등학생*10,대학생*15,귀가부*12,천연*11,기가셈*11,무기력*9,파이터*13",10,1000) / 1000
RETURNF answer

;休日時の倍率を100倍した値。
@PARTTIMEJOB_CALCULATE_VALUE_HOLIDAY_MULTIPLE_2()
#FUNCTION
RETURNF 110

;平日時の倍率を100倍した値。
@PARTTIMEJOB_CALCULATE_VALUE_WORKDAY_MULTIPLE_2()
#FUNCTION
RETURNF 100

;【붕괴】時の減少割合。何%にするか返す。例えば5なら5%。
@PARTTIMEJOB_MINDBREAK_PENALTY_2(targetChara)
#FUNCTION
#DIM targetChara
RETURNF 8 * ABL:targetChara:순종

;【광기】時の減少割合。何%にするか返す。例えば5なら5%。ただし【붕괴】している場合はそちらが優先
@PARTTIMEJOB_LUNATICS_PENALTY_2(targetChara)
#FUNCTION
#DIM targetChara
RETURNF 8 * ABL:targetChara:순종

;ストレス計算。친애効果・정신의존などの効果を計算する前の基礎値を返す。なお、0以下になった場合はフレームワーク側で1にする。
@PARTTIMEJOB_WORK_CALCULATE_STRESS_2(targetChara)
#FUNCTION
#DIM targetChara
RETURNF 3 + CALC_CHARA_SINGLE_DATA("TALENT",targetChara,"반항적,프라이드높음,프라이드낮음*-1,헌신적*-1,낙관적*-1,비관적")

;消費체력の基礎値。実際にはこれにストレスを掛けた値減る。체력がマイナスになる場合は100で止め、失敗イベントを起こす。
@PARTTIMEJOB_LOOSE_POWER_BASE_2()
#FUNCTION
RETURNF 200

@PARTTIMEJOB_TIRED_MESSAGE_2()
#FUNCTIONS
RETURNF "일하는 도중에 지쳐서 뻗어버린"

;成功時イベント。成功時に確実に起こるイベント。
@PARTTIMEJOB_IS_SP_EVENT_SUCCESS_2(targetChara)
#DIM targetChara
CALL SEARCH_VILLAN(targetChara)
RETURN

;失敗時イベント。失敗時に確実に起こるイベント。
@PARTTIMEJOB_IS_SP_EVENT_FAIL_2(targetChara)
#DIM targetChara
RETURN

;특수イベント。低確率(2%以下)で起きる可能性があるイベント。ここで各バイト固有の発生条件を返す。
@PARTTIMEJOB_IS_SP_EVENT_STARTABLE_2(targetChara)
#FUNCTION
#DIM targetChara
RETURNF 0

;특수イベント。例えば家庭교사先の子を紹介するなど
@PARTTIMEJOB_SP_EVENT_2(targetChara)
#DIM targetChara
RETURN


code:
;存在チェック。1なら存在、2なら隠し扱い(選択不可だが探索は継続)
;隠しにするのは、キャラ固有以外の条件があるとき。(例えば特定のイベント後に選択できるなど)
@PARTTIMEJOB_IS_EXIST_3()
RETURN 1

@PARTTIMEJOB_NAME_3()
#FUNCTIONS
RETURNF "찻집"

;作業名の後に付ける単語。「○○は(作業名)(この関数の値)を行います」という表示になる。
;通常は"の아르바이트"でいいはずだが、ライブ活動のように아르바이트ではない場合はここで調整する。
@PARTTIMEJOB_NAME_SUFFIX_3()
#FUNCTIONS
RETURNF " 아르바이트"

;可能になる条件。可能な場合に1を返す
@PARTTIMEJOB_IS_WORKABLE_3(targetChara)
#FUNCTION
#DIM targetChara
RETURNF 1

;必要能力。与えられた名前(カンマ区切り)でABLとEXPとTALENTとCFLAGをこの順に検索し、最初に見つかったものを必要能力とみなす。
;TALENTはそもそもBOOL型の値、CFLAGは定義が切られていないので、原則ABLで指定
@PARTTIMEJOB_ABILITY_TEXT_3()
#FUNCTIONS
RETURNF "감성"

;報酬額計算。難易度・붕괴・광기・친애効果・협박・疲労などの効果を計算する前の基礎値を返す。なお、500を割った場合はフレームワーク側で500にする。
@PARTTIMEJOB_CALCULATE_VALUE_3(targetChara)
#FUNCTION
#DIM targetChara
#DIM DYNAMIC answer = 0
answer += CALC_CHARA_LISTARRAY_DATA("ABL",targetChara,"순종","0,15,30,40,60,80,100,150,170,250,300")
answer += CALC_CHARA_LISTARRAY_DATA("ABL",targetChara,"감성","0,200,500,900,1500,2300,3000,3700,4500,5000,6000")
answer += CALC_CHARA_LISTARRAY_DATA("ABL",targetChara,"봉사정신","0,30,50,100,150,250,350,400,600,800,1000")
answer += CALC_CHARA_LISTARRAY_DATA("ABL",targetChara,"요리기능","0,0,0,10,350,400,600,900,1000,1500,2000")
answer = answer * CALC_CHARA_MULTIPLE_DATA("TALENT",targetChara,"초등학생*3,중학생*5,고등학생*10,대학생*15,귀가부*11",10,1000) / 1000
RETURNF answer

;休日時の倍率を100倍した値。
@PARTTIMEJOB_CALCULATE_VALUE_HOLIDAY_MULTIPLE_3()
#FUNCTION
RETURNF 110

;平日時の倍率を100倍した値。
@PARTTIMEJOB_CALCULATE_VALUE_WORKDAY_MULTIPLE_3()
#FUNCTION
RETURNF 100

;【붕괴】時の減少割合。何%にするか返す。例えば5なら5%。
@PARTTIMEJOB_MINDBREAK_PENALTY_3(targetChara)
#FUNCTION
#DIM targetChara
RETURNF 8 * ABL:targetChara:순종

;【광기】時の減少割合。何%にするか返す。例えば5なら5%。ただし【붕괴】している場合はそちらが優先
@PARTTIMEJOB_LUNATICS_PENALTY_3(targetChara)
#FUNCTION
#DIM targetChara
RETURNF 8 * ABL:targetChara:순종

;ストレス計算。친애効果・정신의존などの効果を計算する前の基礎値を返す。なお、0以下になった場合はフレームワーク側で1にする。
@PARTTIMEJOB_WORK_CALCULATE_STRESS_3(targetChara)
#FUNCTION
#DIM targetChara
RETURNF 2 + CALC_CHARA_SINGLE_DATA("TALENT",targetChara,"반항적,프라이드높음,프라이드낮음*-1,헌신적*-1,낙관적*-1,비관적,사교적*-1,내향적,인간혐오")

;消費체력の基礎値。実際にはこれにストレスを掛けた値減る。체력がマイナスになる場合は100で止め、失敗イベントを起こす。
@PARTTIMEJOB_LOOSE_POWER_BASE_3()
#FUNCTION
RETURNF 200

@PARTTIMEJOB_TIRED_MESSAGE_3()
#FUNCTIONS
RETURNF "업무 시간 중 몇 번이고 졸아버린"

;成功時イベント。成功時に確実に起こるイベント。
@PARTTIMEJOB_IS_SP_EVENT_SUCCESS_3(targetChara)
#DIM targetChara
RETURN

;失敗時イベント。失敗時に確実に起こるイベント。
@PARTTIMEJOB_IS_SP_EVENT_FAIL_3(targetChara)
#DIM targetChara
RETURN

;특수イベント。低確率(2%以下)で起きる可能性があるイベント。ここで各バイト固有の発生条件を返す。
@PARTTIMEJOB_IS_SP_EVENT_STARTABLE_3(targetChara)
#FUNCTION
#DIM targetChara
RETURNF 0

;특수イベント。例えば家庭교사先の子を紹介するなど
@PARTTIMEJOB_SP_EVENT_3(targetChara)
#DIM targetChara
RETURN


code:
;存在チェック。1なら存在、2なら隠し扱い(選択不可だが探索は継続)
;隠しにするのは、キャラ固有以外の条件があるとき。(例えば特定のイベント後に選択できるなど)
@PARTTIMEJOB_IS_EXIST_4()
RETURN 1

@PARTTIMEJOB_NAME_4()
#FUNCTIONS
RETURNF "라이브 활동"

;作業名の後に付ける単語。「○○は(作業名)(この関数の値)を行います」という表示になる。
;通常は"の아르바이트"でいいはずだが、ライブ活動のように아르바이트ではない場合はここで調整する。
@PARTTIMEJOB_NAME_SUFFIX_4()
#FUNCTIONS
RETURNF ""

;可能になる条件。可能な場合に1を返す
@PARTTIMEJOB_IS_WORKABLE_4(targetChara)
#FUNCTION
#DIM targetChara
RETURNF TALENT:targetChara:연예인

;必要能力。与えられた名前(カンマ区切り)でABLとEXPとTALENTとCFLAGをこの順に検索し、最初に見つかったものを必要能力とみなす。
;TALENTはそもそもBOOL型の値、CFLAGは定義が切られていないので、原則ABLで指定
@PARTTIMEJOB_ABILITY_TEXT_4()
#FUNCTIONS
RETURNF "감성"

;報酬額計算。難易度・붕괴・광기・친애効果・협박・疲労などの効果を計算する前の基礎値を返す。なお、500を割った場合はフレームワーク側で500にする。
@PARTTIMEJOB_CALCULATE_VALUE_4(targetChara)
#FUNCTION
#DIM targetChara
#DIM DYNAMIC answer = 0
answer += CALC_CHARA_LISTARRAY_DATA("ABL",targetChara,"순종","0,15,30,40,60,80,100,150,170,250,300")
answer += CALC_CHARA_LISTARRAY_DATA("ABL",targetChara,"감성","0,200,400,600,800,1000,1500,3000,5000,6500,8000")
answer += CALC_CHARA_LISTARRAY_DATA("ABL",targetChara,"봉사정신","0,40,60,120,180,270,360,420,600,800,1000")
answer += CALC_CHARA_LISTARRAY_DATA("ABL",targetChara,"가창기능","0,0,0,200,500,700,1000,2000,2500,3000,4000")
answer += CALC_CHARA_LISTARRAY_DATA("ABL",targetChara,"노출증","0,0,0,0,0,500,500,1500,2000,2500,3000")
answer = answer * CALC_CHARA_MULTIPLE_DATA("TALENT",targetChara,"초등학생*3,중학생*5,고등학생*10,대학생*15,귀가부*11,주부*12,인기*15,수수께끼의매력*20",10,1000) / 1000
RETURNF answer

;休日時の倍率を100倍した値。
@PARTTIMEJOB_CALCULATE_VALUE_HOLIDAY_MULTIPLE_4()
#FUNCTION
RETURNF 250

;平日時の倍率を100倍した値。
@PARTTIMEJOB_CALCULATE_VALUE_WORKDAY_MULTIPLE_4()
#FUNCTION
RETURNF 33

;【붕괴】時の減少割合。何%にするか返す。例えば5なら5%。
@PARTTIMEJOB_MINDBREAK_PENALTY_4(targetChara)
#FUNCTION
#DIM targetChara
RETURNF 8 * ABL:targetChara:순종

;【광기】時の減少割合。何%にするか返す。例えば5なら5%。ただし【붕괴】している場合はそちらが優先
@PARTTIMEJOB_LUNATICS_PENALTY_4(targetChara)
#FUNCTION
#DIM targetChara
RETURNF 8 * ABL:targetChara:순종

;ストレス計算。친애効果・정신의존などの効果を計算する前の基礎値を返す。なお、0以下になった場合はフレームワーク側で1にする。
@PARTTIMEJOB_WORK_CALCULATE_STRESS_4(targetChara)
#FUNCTION
#DIM targetChara
RETURNF 4 + CALC_CHARA_SINGLE_DATA("TALENT",targetChara,"반항적,프라이드높음,프라이드낮음*-1,헌신적*-1,낙관적*-1,비관적,사교적*-1,내향적*3,인간혐오*3") + IS_HOLIDAY()

;消費체력の基礎値。実際にはこれにストレスを掛けた値減る。체력がマイナスになる場合は100で止め、失敗イベントを起こす。
@PARTTIMEJOB_LOOSE_POWER_BASE_4()
#FUNCTION
RETURNF (IS_HOLIDAY() ? 250 # 100)

@PARTTIMEJOB_TIRED_MESSAGE_4()
#FUNCTIONS
RETURNF "라이브 중에도 피로를 감추지 못해、좀처럼 분위기를 살리지 못한"

;成功時イベント。成功時に確実に起こるイベント。
@PARTTIMEJOB_IS_SP_EVENT_SUCCESS_4(targetChara)
#DIM targetChara
RETURN

;失敗時イベント。失敗時に確実に起こるイベント。
@PARTTIMEJOB_IS_SP_EVENT_FAIL_4(targetChara)
#DIM targetChara
RETURN

;특수イベント。低確率(2%以下)で起きる可能性があるイベント。ここで各バイト固有の発生条件を返す。
@PARTTIMEJOB_IS_SP_EVENT_STARTABLE_4(targetChara)
#FUNCTION
#DIM targetChara
RETURNF 0

;특수イベント。例えば家庭교사先の子を紹介するなど
@PARTTIMEJOB_SP_EVENT_4(targetChara)
#DIM targetChara
RETURN


code:
;存在チェック。1なら存在、2なら隠し扱い(選択不可だが探索は継続)
;隠しにするのは、キャラ固有以外の条件があるとき。(例えば特定のイベント後に選択できるなど)
@PARTTIMEJOB_IS_EXIST_5()
RETURN 1

@PARTTIMEJOB_NAME_5()
#FUNCTIONS
RETURNF "촬영회"

;作業名の後に付ける単語。「○○は(作業名)(この関数の値)を行います」という表示になる。
;通常は"の아르바이트"でいいはずだが、ライブ活動のように아르바이트ではない場合はここで調整する。
@PARTTIMEJOB_NAME_SUFFIX_5()
#FUNCTIONS
RETURNF ""

;可能になる条件。可能な場合に1を返す
@PARTTIMEJOB_IS_WORKABLE_5(targetChara)
#FUNCTION
#DIM targetChara
RETURNF TALENT:targetChara:멋쟁이

;必要能力。与えられた名前(カンマ区切り)でABLとEXPとTALENTとCFLAGをこの順に検索し、最初に見つかったものを必要能力とみなす。
;TALENTはそもそもBOOL型の値、CFLAGは定義が切られていないので、原則ABLで指定
@PARTTIMEJOB_ABILITY_TEXT_5()
#FUNCTIONS
RETURNF "감성"

;報酬額計算。難易度・붕괴・광기・친애効果・협박・疲労などの効果を計算する前の基礎値を返す。なお、500を割った場合はフレームワーク側で500にする。
@PARTTIMEJOB_CALCULATE_VALUE_5(targetChara)
#FUNCTION
#DIM targetChara
#DIM DYNAMIC answer = 0
answer += CALC_CHARA_LISTARRAY_DATA("ABL",targetChara,"순종","0,10,20,30,40,60,90,120,150,230,270")
answer += CALC_CHARA_LISTARRAY_DATA("ABL",targetChara,"감성","0,150,300,400,600,800,1200,1800,3000,5000,7000")
answer += CALC_CHARA_LISTARRAY_DATA("ABL",targetChara,"봉사정신","0,40,60,120,180,270,360,420,600,800,1000")
answer += CALC_CHARA_RANGED_DATA("EXP",targetChara,"피사경험","5,0|10,100|30,150|50,200|100,500|200,1000|300,1500|400,2000|500,2500|600,3500|*,4000")
answer += CALC_CHARA_LISTARRAY_DATA("ABL",targetChara,"노출증","0,0,0,0,0,500,500,1500,2000,2500,3000")
answer = answer * CALC_CHARA_MULTIPLE_DATA("TALENT",targetChara,"초등학생*3,중학생*5,고등학생*10,대학생*15,코스프레속성*15,귀가부*11,주부*12,인기*15,수수께끼의매력*20,수수함*6",10,1000) / 1000
RETURNF answer

;休日時の倍率を100倍した値。
@PARTTIMEJOB_CALCULATE_VALUE_HOLIDAY_MULTIPLE_5()
#FUNCTION
RETURNF 110

;平日時の倍率を100倍した値。
@PARTTIMEJOB_CALCULATE_VALUE_WORKDAY_MULTIPLE_5()
#FUNCTION
RETURNF 100

;【붕괴】時の減少割合。何%にするか返す。例えば5なら5%。
@PARTTIMEJOB_MINDBREAK_PENALTY_5(targetChara)
#FUNCTION
#DIM targetChara
RETURNF 8 * ABL:targetChara:순종

;【광기】時の減少割合。何%にするか返す。例えば5なら5%。ただし【붕괴】している場合はそちらが優先
@PARTTIMEJOB_LUNATICS_PENALTY_5(targetChara)
#FUNCTION
#DIM targetChara
RETURNF 8 * ABL:targetChara:순종

;ストレス計算。친애効果・정신의존などの効果を計算する前の基礎値を返す。なお、0以下になった場合はフレームワーク側で1にする。
@PARTTIMEJOB_WORK_CALCULATE_STRESS_5(targetChara)
#FUNCTION
#DIM targetChara
#DIM answer
RETURNF 3 + CALC_CHARA_SINGLE_DATA("TALENT",targetChara,"반항적,프라이드높음,프라이드낮음*-1,헌신적*-1,낙관적*-1,비관적,사교적*-1,내향적") + IS_HOLIDAY()

;消費체력の基礎値。実際にはこれにストレスを掛けた値減る。체력がマイナスになる場合は100で止め、失敗イベントを起こす。
@PARTTIMEJOB_LOOSE_POWER_BASE_5()
#FUNCTION
RETURNF 100

@PARTTIMEJOB_TIRED_MESSAGE_5()
#FUNCTIONS
RETURNF "피곤해서인지 몇 번이나 촬영을 중단시켜 버린"

;成功時イベント。成功時に確実に起こるイベント。
@PARTTIMEJOB_IS_SP_EVENT_SUCCESS_5(targetChara)
#DIM targetChara
RETURN

;失敗時イベント。失敗時に確実に起こるイベント。
@PARTTIMEJOB_IS_SP_EVENT_FAIL_5(targetChara)
#DIM targetChara
RETURN

;특수イベント。低確率(2%以下)で起きる可能性があるイベント。ここで各バイト固有の発生条件を返す。
@PARTTIMEJOB_IS_SP_EVENT_STARTABLE_5(targetChara)
#FUNCTION
#DIM targetChara
RETURNF 0

;특수イベント。例えば家庭교사先の子を紹介するなど
@PARTTIMEJOB_SP_EVENT_5(targetChara)
#DIM targetChara
RETURN


code:
;存在チェック。1なら存在、2なら隠し扱い(選択不可だが探索は継続)
;隠しにするのは、キャラ固有以外の条件があるとき。(例えば特定のイベント後に選択できるなど)
@PARTTIMEJOB_IS_EXIST_6()
RETURN 1

@PARTTIMEJOB_NAME_6()
#FUNCTIONS
RETURNF "하우스 메이드"

;作業名の後に付ける単語。「○○は(作業名)(この関数の値)を行います」という表示になる。
;通常は"の아르바이트"でいいはずだが、ライブ活動のように아르바이트ではない場合はここで調整する。
@PARTTIMEJOB_NAME_SUFFIX_6()
#FUNCTIONS
RETURNF " 아르바이트"

;可能になる条件。可能な場合に1を返す
@PARTTIMEJOB_IS_WORKABLE_6(targetChara)
#FUNCTION
#DIM targetChara
RETURNF TALENT:targetChara:메이드

;必要能力。与えられた名前(カンマ区切り)でABLとEXPとTALENTとCFLAGをこの順に検索し、最初に見つかったものを必要能力とみなす。
;TALENTはそもそもBOOL型の値、CFLAGは定義が切られていないので、原則ABLで指定
@PARTTIMEJOB_ABILITY_TEXT_6()
#FUNCTIONS
RETURNF "학력,운동능력"

;報酬額計算。難易度・붕괴・광기・친애効果・협박・疲労などの効果を計算する前の基礎値を返す。なお、500を割った場合はフレームワーク側で500にする。
@PARTTIMEJOB_CALCULATE_VALUE_6(targetChara)
#FUNCTION
#DIM targetChara
#DIM DYNAMIC answer = 0
answer += CALC_CHARA_LISTARRAY_DATA("ABL",targetChara,"순종","0,30,50,70,100,150,200,250,300,400,500")
answer += CALC_CHARA_LISTARRAY_DATA("ABL",targetChara,"학력","0,10,60,300,600,1200,2000,2500,3000,3500,5000")
answer += CALC_CHARA_LISTARRAY_DATA("ABL",targetChara,"운동능력","0,10,60,300,600,1200,2000,2500,3000,3500,5000")
answer += CALC_CHARA_LISTARRAY_DATA("ABL",targetChara,"봉사정신","0,10,20,50,100,250,350,450,650,900,1200")
answer += CALC_CHARA_LISTARRAY_DATA("ABL",targetChara,"요리기능","0,0,0,10,350,400,600,900,1000,1500,2000")
answer = answer * CALC_CHARA_MULTIPLE_DATA("TALENT",targetChara,"초등학생*3,중학생*5,고등학생*10,대학생*15,우등생*11,귀가부*11",10,1000) / 1000
RETURNF answer

;休日時の倍率を100倍した値。
@PARTTIMEJOB_CALCULATE_VALUE_HOLIDAY_MULTIPLE_6()
#FUNCTION
RETURNF 100

;平日時の倍率を100倍した値。
@PARTTIMEJOB_CALCULATE_VALUE_WORKDAY_MULTIPLE_6()
#FUNCTION
RETURNF 100

;【붕괴】時の減少割合。何%にするか返す。例えば5なら5%。
@PARTTIMEJOB_MINDBREAK_PENALTY_6(targetChara)
#FUNCTION
#DIM targetChara
RETURNF 8 * ABL:targetChara:순종

;【광기】時の減少割合。何%にするか返す。例えば5なら5%。ただし【붕괴】している場合はそちらが優先
@PARTTIMEJOB_LUNATICS_PENALTY_6(targetChara)
#FUNCTION
#DIM targetChara
RETURNF 8 * ABL:targetChara:순종

;ストレス計算。친애効果・정신의존などの効果を計算する前の基礎値を返す。なお、0以下になった場合はフレームワーク側で1にする。
@PARTTIMEJOB_WORK_CALCULATE_STRESS_6(targetChara)
#FUNCTION
#DIM targetChara
RETURNF 3 + CALC_CHARA_SINGLE_DATA("TALENT",targetChara,"반항적,프라이드높음,프라이드낮음*-1,헌신적*-1,낙관적*-1,비관적,사교적*-1,내향적,인간혐오")

;消費체력の基礎値。実際にはこれにストレスを掛けた値減る。체력がマイナスになる場合は100で止め、失敗イベントを起こす。
@PARTTIMEJOB_LOOSE_POWER_BASE_6()
#FUNCTION
RETURNF 200

@PARTTIMEJOB_TIRED_MESSAGE_6()
#FUNCTIONS
RETURNF "업무 시간 중 몇차례나 휴식을 취한"

;成功時イベント。成功時に確実に起こるイベント。
@PARTTIMEJOB_IS_SP_EVENT_SUCCESS_6(targetChara)
#DIM targetChara
RETURN

;失敗時イベント。失敗時に確実に起こるイベント。
@PARTTIMEJOB_IS_SP_EVENT_FAIL_6(targetChara)
#DIM targetChara
RETURN

;특수イベント。低確率(2%以下)で起きる可能性があるイベント。ここで各バイト固有の発生条件を返す。
@PARTTIMEJOB_IS_SP_EVENT_STARTABLE_6(targetChara)
#FUNCTION
#DIM targetChara
RETURNF 0

;특수イベント。例えば家庭교사先の子を紹介するなど
@PARTTIMEJOB_SP_EVENT_6(targetChara)
#DIM targetChara
RETURN


code:
;存在チェック。1なら存在、2なら隠し扱い(選択不可だが探索は継続)
;隠しにするのは、キャラ固有以外の条件があるとき。(例えば特定のイベント後に選択できるなど)
@PARTTIMEJOB_IS_EXIST_partTimeJobIndex()
RETURN 1

@PARTTIMEJOB_NAME_partTimeJobIndex()
#FUNCTIONS
RETURNF ""

;作業名の後に付ける単語。「○○は(作業名)(この関数の値)を行います」という表示になる。
;通常は"の아르바이트"でいいはずだが、ライブ活動のように아르바이트ではない場合はここで調整する。
@PARTTIMEJOB_NAME_SUFFIX_partTimeJobIndex()
#FUNCTIONS
RETURNF " 아르바이트"

;可能になる条件。可能な場合に1を返す
@PARTTIMEJOB_IS_WORKABLE_partTimeJobIndex(targetChara)
#FUNCTION
#DIM targetChara
RETURNF 1

;必要能力。与えられた名前(カンマ区切り)でABLとEXPとTALENTとCFLAGをこの順に検索し、最初に見つかったものを必要能力とみなす。
;TALENTはそもそもBOOL型の値、CFLAGは定義が切られていないので、原則ABLで指定
@PARTTIMEJOB_ABILITY_TEXT_partTimeJobIndex()
#FUNCTIONS
RETURNF ""

;報酬額計算。難易度・붕괴・광기・친애効果・협박・疲労などの効果を計算する前の基礎値を返す。なお、500を割った場合はフレームワーク側で500にする。
@PARTTIMEJOB_CALCULATE_VALUE_partTimeJobIndex(targetChara)
#FUNCTION
#DIM targetChara
#DIM DYNAMIC answer = 0
answer += CALC_CHARA_LISTARRAY_DATA("ABL",targetChara,"순종","0,10,20,30,50,70,90,120,150,200,250")
answer += CALC_CHARA_LISTARRAY_DATA("ABL",targetChara,"학력","0,500,1000,1200,1500,1800,2000,4000,6000,8000,10000")
answer += CALC_CHARA_LISTARRAY_DATA("ABL",targetChara,"봉사정신","0,50,100,200,300,500,700,900,1200,1500,1800")
answer = answer * CALC_CHARA_MULTIPLE_DATA("TALENT",targetChara,"초등학생*2,중학생*5,고등학생*10,대학생*15,우등생*15,귀가부*11",10,1000) / 1000
RETURNF answer

;休日時の倍率を100倍した値。
@PARTTIMEJOB_CALCULATE_VALUE_HOLIDAY_MULTIPLE_partTimeJobIndex()
#FUNCTION
RETURNF 100

;平日時の倍率を100倍した値。
@PARTTIMEJOB_CALCULATE_VALUE_WORKDAY_MULTIPLE_partTimeJobIndex()
#FUNCTION
RETURNF 100

;【붕괴】時の減少割合。何%にするか返す。例えば5なら5%。
@PARTTIMEJOB_MINDBREAK_PENALTY_partTimeJobIndex(targetChara)
#FUNCTION
#DIM targetChara
RETURNF 8 * ABL:targetChara:순종

;【광기】時の減少割合。何%にするか返す。例えば5なら5%。ただし【붕괴】している場合はそちらが優先
@PARTTIMEJOB_LUNATICS_PENALTY_partTimeJobIndex(targetChara)
#FUNCTION
#DIM targetChara
RETURNF 8 * ABL:targetChara:순종

;ストレス計算。친애効果・정신의존などの効果を計算する前の基礎値を返す。なお、0以下になった場合はフレームワーク側で1にする。
@PARTTIMEJOB_WORK_CALCULATE_STRESS_partTimeJobIndex(targetChara)
#FUNCTION
#DIM targetChara
RETURNF 1 + CALC_CHARA_SINGLE_DATA("TALENT",targetChara,"반항적,프라이드높음,프라이드낮음*-1,헌신적*-1,낙관적*-1,비관적,사교적*-1,내향적")

;消費체력の基礎値。実際にはこれにストレスを掛けた値減る。체력がマイナスになる場合は100で止め、失敗イベントを起こす。
@PARTTIMEJOB_LOOSE_POWER_BASE_partTimeJobIndex()
#FUNCTION
RETURNF 100

@PARTTIMEJOB_TIRED_MESSAGE_partTimeJobIndex()
#FUNCTIONS
RETURNF ""

;成功時イベント。成功時に確実に起こるイベント。
@PARTTIMEJOB_IS_SP_EVENT_SUCCESS_partTimeJobIndex(targetChara)
#DIM targetChara
RETURN

;失敗時イベント。失敗時に確実に起こるイベント。
@PARTTIMEJOB_IS_SP_EVENT_FAIL_partTimeJobIndex(targetChara)
#DIM targetChara
RETURN

;특수イベント。低確率(2%以下)で起きる可能性があるイベント。ここで各バイト固有の発生条件を返す。
@PARTTIMEJOB_IS_SP_EVENT_STARTABLE_partTimeJobIndex(targetChara)
#FUNCTION
#DIM targetChara
RETURNF 0

;특수イベント。例えば家庭교사先の子を紹介するなど
@PARTTIMEJOB_SP_EVENT_partTimeJobIndex(targetChara)
#DIM targetChara
RETURN


code:
@SCENARIO_DEL_CHARACTER(targetCharaNo = -1, targetCharaIndex = -1)
#DIM targetCharaIndex
#DIM targetCharaNo
#DIM deleteChara
				;targetCharaNo		=CSV固有キャラクター番号
				;targetCharaIndex	=ゲーム内登録キャラクター番号
				;優先順位はゲーム内登録番号 > CSV固有番号
IF targetCharaIndex > 0
	deleteChara = targetCharaIndex
ELSEIF targetCharaNo > 0
	deleteChara = GETCHARA(targetCharaNo)
ELSE
	THROW 대상 캐릭터를 지정해주세요。
ENDIF

SIF deleteChara < 0
	RETURN 0

DELCHARA deleteChara
IF TARGET > deleteChara
	TARGET -= 1
ELSEIF TARGET == deleteChara
	TARGET = -1
ENDIF
IF ASSI > deleteChara
	ASSI -= 1
ELSEIF ASSI == deleteChara
	ASSI = -1
ENDIF


code:
@SCENARIO_GET_CHARACTER, ARG
;まだ登録されていないARGが指定しているキャラ番号のキャラを登録する
;TARGET = CHARANUM-1 でその追加したキャラを指定し@CHARA_BUY_AFTERを呼んだあと知り合いフラグに1を入れる
;ループを意識して、既にGETしてるキャラは再GETはしない。

IF CHARANUM < 100
	CALL GET_CHARANUM,ARG
	IF RESULT == -1
		ADDCHARA ARG
		T = TARGET
		TARGET = CHARANUM-1
		CALL CHARA_BUY_AFTER
		CFLAG:1000 = 1
		TARGET = T
	ENDIF
ENDIF


code:
#DIM CONST CHARACTER_MAXCOUNT=100000

;NO依存で管理するフラグ。未登場キャラの初回登場イベントが起きた日を格納。周回でクリア
#DIM SAVEDATA CHARA_FIRST_FLAGS,CHARACTER_MAXCOUNT
;0:登場イベント未発生、それ以外:初回登場イベントが発生したDAY

;NO依存で管理するフラグ。未登場キャラの登場イベントで使用でき、登場イベントが起きた日を格納。周回でクリア
#DIM SAVEDATA CHARA_APPEAR_FLAGS,CHARACTER_MAXCOUNT

;NO依存で管理するフラグ。未登場キャラのイベントで使用でき、경계イベントの発生有無を管理。周回でクリア。
;0:경계イベント未発生 -1:発生し解決済み それ以外:경계イベントが発生したDAY
#DIM SAVEDATA CHARA_WARNING_FLAGS,CHARACTER_MAXCOUNT

;NO依存で管理するフラグ。未登場キャラの固有イベントで使用できる。登場済キャラの固有イベントではCFLAGが使えるため、原則使用しない。周回でクリア
#DIM SAVEDATA CHARA_EXTRA_FLAGS,CHARACTER_MAXCOUNT,5

;存在するキャラのNOを格納するリスト。キャラ固有イベントでのスキャン対象絞り込みに使う。
;Emueraの立ち上げのたびにクリア
#DIM EXIST_CHARA_NO_LIST,CHARACTER_MAXCOUNT

;EXIST_CHARA_NO_LISTの初期化を終えているか管理するフラグ
;こいつもEmueraの立ち上げのたびにクリア。これで起動後初回実行時のみ初期化処理が走ることになる
#DIM IS_EXIST_CHARA_NO_LIST_FORMATTED

;オープニングのパターン
#DIM SAVEDATA OPENING_PATTERN

;매춘앨범のCSTRの最初・最後インデックス。
;ループ構文するなら
;  FOR LOCAL, 매춘앨범_CSTR最初, 매춘앨범_CSTR最後+1; 新しいの方から
;    IF CSTR:CharaIndex:LOCAL != ""
;もしくは
;  FOR LOCAL, 매춘앨범_CSTR最後, 매춘앨범_CSTR最初-1, -1; 古いの方から
;    IF CSTR:CharaIndex:LOCAL != ""
#DIM CONST 매춘앨범_CSTR最初 = 60
#DIM CONST 매춘앨범_CSTR最後 = 69

;保管したビデオの最初・最後インデックス。
;ループ構文するなら
;  FOR LOCAL, 保管したビデオ_最初, 保管したビデオ_最後+1; 古いの方から
;    IF CSTR:CharaIndex:LOCAL != ""
;もしくは
;  FOR LOCAL, 保管したビデオ_最初, 保管したビデオ_最後-1, -1; 新しいの方から
;    IF CSTR:CharaIndex:LOCAL != ""
#DIM CONST 保管したビデオ_最初 = 1030
#DIM CONST 保管したビデオ_最後 = 1039


code:
@BIRTHDAY
;キャラクターの誕生日を検出し、メッセージを出力するシステム
;現在は単なる表示機能しかないが、加筆によって変えることができる

A = 0
B = 0

;カレンダーを呼び出す
CALL GET_CALENDER
IF D:21 == 1
;1月生まれのキャラクター
	IF A == 1
		SIF B == 1 ;1月1日	一ノ瀬晴
		CALL GET_CHARANUM,7501
		SIF B == 7 ;1月7日	一条かれん
		CALL GET_CHARANUM,2505
		SIF B == 7 ;1月7日	キサラ・ウェストフィールド
		CALL GET_CHARANUM,6604
		SIF B == 10 ;1月10日	レオナ・ハイデルン
		CALL GET_CHARANUM,6607
		SIF B == 13 ;1月13日	虹野沙希
		CALL GET_CHARANUM,402
		SIF B == 17 ;1月17日	小泉花陽
		CALL GET_CHARANUM,4807
		SIF B == 23 ;1月23日	B・ジェニー
		CALL GET_CHARANUM,6603
		SIF B == 29 ;1月29日	高野晶
		CALL GET_CHARANUM,2504
;2月生まれのキャラクター
	ELSEIF A == 2
		SIF B == 3 ;2月3日	如月未緒
		CALL GET_CHARANUM,412
		SIF B == 4 ;2月4日	まりん
		CALL GET_CHARANUM,6605
		SIF B == 28 ;2月28日	沢近愛理
		CALL GET_CHARANUM,2502
		SIF B == 29 ;2月29日	永山朱鷺
		CALL GET_CHARANUM,2512
;3月生まれのキャラクター
	ELSEIF A == 3
		SIF B == 3 ;3月3日	館林見晴
		CALL GET_CHARANUM,411
		SIF B == 3 ;3月3日	姉ヶ崎妙
		CALL GET_CHARANUM,2524
		SIF B == 14 ;3月14日	麻宮アテナ
		CALL GET_CHARANUM,6601
		SIF B == 15 ;3月15日	園田海未
		CALL GET_CHARANUM,4803
		SIF B == 23 ;3月23日	塚本八雲
		CALL GET_CHARANUM,2517
		SIF B == 29 ;3月29日	藤堂香澄
		CALL GET_CHARANUM,6602
;4月生まれのキャラクター
	ELSEIF A == 4
		SIF B == 4 ;4月4日	早乙女好雄
			CALL GET_CHARANUM,414
		SIF B == 8 ;4月8日	サラ・アディエマス
			CALL GET_CHARANUM,2518
		SIF B == 8 ;4月8日	キング
			CALL GET_CHARANUM,6611
		SIF B == 12 ;4月12日	浅見景
			CALL GET_CHARANUM,5802
		SIF B == 12 ;4月12日	結城つむぎ
			CALL GET_CHARANUM,2507
		SIF B == 19 ;4月19日	西木野真姫
			CALL GET_CHARANUM,4805
		SIF B == 20 ;4月20日	姉ヶ崎寧々
			CALL GET_CHARANUM,80007
		SIF B == 22 ;4月22日	大塚舞
			CALL GET_CHARANUM,2508
		SIF B == 24 ;4月24日	冴子
			CALL GET_CHARANUM,2515
;5月生まれのキャラクター
	ELSEIF A == 5
		SIF B == 3 ;5月3日	巳沢雫
			CALL GET_CHARANUM,6608
		SIF B == 9 ;5月9日	城戸円
			CALL GET_CHARANUM,2509
		SIF B == 11 ;5月11日	双葉ほたる
			CALL GET_CHARANUM,6606
		SIF B == 16 ;5月16日	早乙女優美
			CALL GET_CHARANUM,404
		SIF B == 25 ;5月25日	俵屋さつき
			CALL GET_CHARANUM,2519
;6月生まれのキャラクター
	ELSEIF A == 6
		SIF B == 6 ;6月6日	ルイーゼ・マイリンク
			CALL GET_CHARANUM,6610
		SIF B == 7 ;6月7日	砺波順子
			CALL GET_CHARANUM,2513
		SIF B == 9 ;6月9日	東條希
			CALL GET_CHARANUM,4806
		SIF B == 13 ;6月13日	古式ゆかり
			CALL GET_CHARANUM,408
;7月生まれのキャラクター
	ELSEIF A == 7
		SIF B == 7 ;7月7日	紐緒結奈
			CALL GET_CHARANUM,407
		SIF B == 18 ;7月18日	笹倉葉子
			CALL GET_CHARANUM,2523
		SIF B == 19 ;7月19日	朝比奈桃子
			CALL GET_CHARANUM,5801
		SIF B == 22 ;7月22日	矢澤にこ
			CALL GET_CHARANUM,4808
		SIF B == 24 ;7月24日	赤座あかり
			CALL GET_CHARANUM,6000
		SIF B == 24 ;7月26日	周防美琴
			CALL GET_CHARANUM,2503
;8月生まれのキャラクター
	ELSEIF A == 8
		SIF B == 2 ;8月2日	嵯峨野恵
			CALL GET_CHARANUM,2506
		SIF B == 3 ;8月3日	高坂穂乃果
			CALL GET_CHARANUM,4800
		SIF B == 17 ;8月17日	小早川凛子
			CALL GET_CHARANUM,80007
		SIF B == 18 ;8月18日	刑部絃子
			CALL GET_CHARANUM,2522
		SIF B == 23 ;8月23日	伊集院レイ
			CALL GET_CHARANUM,413
		SIF B == 31 ;8月31日	ララ・ゴンザレス
			CALL GET_CHARANUM,2516
;9月生まれのキャラクター
	ELSEIF A == 9
		SIF B == 5 ;9月5日	美樹原愛
			CALL GET_CHARANUM,410
		SIF B == 5 ;9月12日	南ことり
			CALL GET_CHARANUM,4802
		SIF B == 23 ;9月23日	鬼怒川綾乃
			CALL GET_CHARANUM,2511
		SIF B == 30 ;9月30日	片桐彩子
			CALL GET_CHARANUM,406
;10月生まれのキャラクター
	ELSEIF A == 10
		SIF B == 2 ;10月2日	フィオリーナ・ジェルミ
			CALL GET_CHARANUM,6609
		SIF B == 5 ;10月5日	高嶺愛花
			CALL GET_CHARANUM,80006
		SIF B == 17 ;10月17日	朝日奈夕子
			CALL GET_CHARANUM,405
		SIF B == 18 ;10月18日	雪野美奈
			CALL GET_CHARANUM,2514
		SIF B == 21 ;10月21日	絢瀬絵里
			CALL GET_CHARANUM,4801
;11月生まれのキャラクター
	ELSEIF A == 11
		SIF B == 1 ;11月1日	星空凛
			CALL GET_CHARANUM,4804
		SIF B == 15 ;11月15日	鏡魅羅
			CALL GET_CHARANUM,403
		SIF B == 30 ;11月30日	塚本天満
			CALL GET_CHARANUM,2501
;12月生まれのキャラクター
	ELSEIF A == 12
		SIF B == 2 ;12月2日	三原梢
			CALL GET_CHARANUM,2510
		SIF B == 3 ;12月3日	清川望
			CALL GET_CHARANUM,409
	ENDIF
ENDIF

IF A == 1
	IF B == 1
		LOCALS:0 = 2
	ELSE
		LOCALS:0 = 1
	ENDIF
ELSEIF A == 2
	IF B == 1
		LOCALS:0 = 3
	ELSE
		LOCALS:0 = 2
	ENDIF
ELSEIF A == 3
	IF B == 1
		LOCALS:0 = 4
	ELSE
		LOCALS:0 = 3
	ENDIF
ELSEIF A == 4
	IF B == 1
		LOCALS:0 = 5
	ELSE
		LOCALS:0 = 4
	ENDIF
ELSEIF A == 5
	IF B == 1
		LOCALS:0 = 6
	ELSE
		LOCALS:0 = 5
	ENDIF
ELSEIF A == 6
	IF B == 1
		LOCALS:0 = 7
	ELSE
		LOCALS:0 = 6
	ENDIF
ELSEIF A == 7
	IF B == 1
		LOCALS:0 = 8
	ELSE
		LOCALS:0 = 7
	ENDIF
ELSEIF A == 8
	IF B == 1
		LOCALS:0 = 9
	ELSE
		LOCALS:0 = 8
	ENDIF
ELSEIF A == 9
	IF B == 1
		LOCALS:0 = 10
	ELSE
		LOCALS:0 = 9
	ENDIF
ELSEIF A == 10
	IF B == 1
		LOCALS:0 = 11
	ELSE
		LOCALS:0 = 10
	ENDIF
ELSEIF A == 11
	IF B == 1
		LOCALS:0 = 12
	ELSE
		LOCALS:0 = 11
	ENDIF
ELSEIF A == 12
	IF B == 1
		LOCALS:0 = 1
	ELSE
		LOCALS:0 = 12
	ENDIF
ENDIF

IF B == 1
	LOCALS:1 = 1
ELSEIF B == 2
	LOCALS:1 = 2
ELSEIF B == 3
	LOCALS:1 = 3
ELSEIF B == 4
	LOCALS:1 = 4
ELSEIF B == 5
	LOCALS:1 = 5
ELSEIF B == 6
	LOCALS:1 = 6
ELSEIF B == 7
	LOCALS:1 = 7
ELSEIF B == 8
	LOCALS:1 = 8
ELSEIF B == 9
	LOCALS:1 = 9
ELSEIF B == 10
	LOCALS:1 = 10
ELSEIF B == 11
	LOCALS:1 = 11
ELSEIF B == 12
	LOCALS:1 = 12
ELSEIF B == 13
	LOCALS:1 = 13
ELSEIF B == 14
	LOCALS:1 = 14
ELSEIF B == 15
	LOCALS:1 = 15
ELSEIF B == 16
	LOCALS:1 = 16
ELSEIF B == 17
	LOCALS:1 = 17
ELSEIF B == 18
	LOCALS:1 = 18
ELSEIF B == 19
	LOCALS:1 = 19
ELSEIF B == 20
	LOCALS:1 = 20
ELSEIF B == 21
	LOCALS:1 = 21
ELSEIF B == 22
	LOCALS:1 = 22
ELSEIF B == 23
	LOCALS:1 = 23
ELSEIF B == 24
	LOCALS:1 = 24
ELSEIF B == 25
	LOCALS:1 = 25
ELSEIF B == 26
	LOCALS:1 = 26
ELSEIF B == 27
	LOCALS:1 = 27
ELSEIF B == 28
	LOCALS:1 = 28
ELSEIF B == 29
	LOCALS:1 = 29
ELSEIF B == 30
	LOCALS:1 = 30
ELSEIF B == 31
	LOCALS:1 = 31
ENDIF

;所属ごとに色を呼び出す
IF RESULT != -1 && (FLAG:93 % 10) == 1
;	M:1 = M
;	N:1 = N
;	O:1 = O
;	M = CFLAG:RESULT:195
;	N = CFLAG:RESULT:196
;	O = CFLAG:RESULT:197
;	IF M == 0 && N == 0 && O == 0 || FLAG:93 == 0
;		RESETCOLOR
;	ELSE
;		SETCOLOR M, N, O
;	ENDIF
;M = M:1
;N = N:1
;O = O:1
	CALL SET_CHARACOLOR(RESULT)
ENDIF

;キャラクターを検出およびメッセージを出力
IF RESULT != -1 && CFLAG:RESULT:1000 >= 5
	IF RESULT == 6000
		PRINTFORMW 「유루유리 시작해~ 오늘은~ 아카링의 생일이야~」
	ELSEIF RESULT == 8006 || RESULT == 8007 || RESULT == 8008
		PRINTFORMW %LOCALS:0%월 %LOCALS:1%일은、『러브 플러스』의 히로인、『%NAME:RESULT%』의 생일입니다。
	ELSE
;		PRINTFORMW %LOCALS:0%月%LOCALS:1%日は、『%NAME:RESULT%』의 생일입니다。
	ENDIF
ENDIF

RESETCOLOR
DRAWLINE


code:
@BEFORE_BUNKASAI
PRINTFORML ……다음 주말은 문화제다。
A = 0
FLAG:2000 = 1
REPEAT CHARANUM
	IF TALENT: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_GO_SAMESCHOOL(COUNT) && !IS_UNCONTACTABLE(COUNT)
			PRINTFORML %COUNT이름으로%부터、문화제 준비를 부탁받아서 도와달라는 메일이다。
			PRINTFORML 권유를 수락하면、축제 시작까지 시간은 잡아먹겠지만……
		ENDIF
	REND

	P = 3
	CALL DISPLAY_COMMON , 16
	IF RESULT == 999
		PRINTFORML ……일주일이나 이런 일을 같이 할 수는 없다。
		CALL GET_CALENDER
		RETURN 0
	ENDIF

	PRINTFORML %NAME:RESULT%의 부탁을 듣고 문화제 준비를 돕기로 했다。
	PRINTFORML %NAME:RESULT%의 호감도가 올랐다。
;好感度の上昇
	CFLAG:RESULT:2 += 200
	IF TALENT:RESULT:연모 == 1 || TALENT:RESULT:친애 == 1
;애정경험
		PRINTFORML 애정경험 + 20
		EXP:RESULT:23 += 20
		IF (ABL:RESULT:감성 > ABL:MASTER:감성) && ABL:MASTER:감성 < 7
			PRINTFORML %조사처리(NAME:RESULT,"과")% 함께 일하며、조금은 생각하는 바가 있었던 것일까。
			PRINTFORMW ―%CALLNAME:MASTER%의 감성이 올랐다―
			ABL:MASTER:감성 += 1
		ENDIF
	ENDIF
	FLAG:2000 = 2
ELSE
	PRINTFORML ……뭐어、%CALLNAME:MASTER%에게는 관계없는 일이다……
ENDIF
CALL GET_CALENDER

@BUNKASAI,ARG
IF ARG == 2
;体育祭当日
	PRINTFORML ……오늘은 문화제 당일이다。
	PRINTFORML %CALLNAME:MASTER%의 노고도 있어、준비는 만전이다。
	PRINTFORML 스태프로 일한 %CALLNAME:MASTER%의 모습을 볼 사람은 본 것 같고、말을 걸어 주는 사람도 있다。
	REPEAT CHARANUM && !IS_UNCONTACTABLE(COUNT)
		IF IS_GO_SAMESCHOOL(COUNT)
;同じ学校
			IF CFLAG:COUNT:1000 == 7
;입説いてる相손
				PRINTFORML %NAME:COUNT%의 호감도가 조금 올랐다。
				CFLAG:COUNT:1010 += 5
			ENDIF
			IF TALENT:COUNT:교제 == 1
				PRINTFORML %NAME:COUNT%의 호감도가 조금 올랐다。
;好感度の上昇
				CFLAG:COUNT:2 += 50
				IF TALENT:COUNT:연모 == 1 || TALENT:COUNT:친애 == 1
	;애정경험
					PRINTFORML 애정경험 + 5
					EXP:COUNT:23 += 5
				ENDIF
			ENDIF
		ENDIF
	REND
ELSE
	PRINTFORML ……문화제 당일、오늘은 날씨가 맑았다。
ENDIF
PRINTFORML ―문화제로 2일 경과했습니다―
CALL GET_CALENDER