code:
; Using Semantic Versioning 2.0.0
;#DIMS CONST eraTW_Version = "0.16.0-beta1"
#DIMS CONST eraTW_Version = "4.903-KR"

;SAVESTR
#DIM CONST 본체버전 = 8

;함락 조건
#DIM CONST REQUIRED_TRUST_연모 = 700
#DIM CONST REQUIRED_FAVOR_연모 = 3000
#DIM CONST REQUIRED_AFFECTION_연모 = 10

#DIM CONST REQUIRED_TRUST_사모 = 250
#DIM CONST REQUIRED_FAVOR_사모 = 1500
#DIM CONST REQUIRED_AFFECTION_사모 = 5

#DIM CONST REQUIRED_FAVOR_섹프 = 1500
#DIM CONST REQUIRED_DESIRE_섹프 = 5
#DIM CONST REQUIRED_ECSTACY_섹프 = 100

#DIM CONST REQUIRED_FAVOR_애욕 = 3000
#DIM CONST REQUIRED_DESIRE_애욕 = 10
#DIM CONST REQUIRED_ECSTACY_애욕 = 500

;TFLAG

#DIM CONST 입사용중 = 60
#DIM CONST 손사용중 = 61
#DIM CONST C사용중 = 62
#DIM CONST V사용중 = 63
#DIM CONST A사용중 = 64
#DIM CONST B사용중 = 65

#DIM CONST 청소 = 40
#DIM CONST 회화 = 41
#DIM CONST 전투 = 42
#DIM CONST 교양 = 43

#DIM CONST 요리 = 44

#DIM CONST 음악 = 45
#DIM CONST 놀이 = 46
#DIM CONST 장사중 = 47
#DIM CONST 연회준비 = 48

#DIM CONST ENKAI_SANKA = 49

#DIM CONST 연회의정리 = 50
#DIM CONST 꽐라된 = 51

#DIM CONST 술 = 52
#DIM CONST 가사 = 53
#DIM CONST 채집 = 54
#DIM CONST 낚시 = 55
#DIM CONST 조제 = 56

;== SPOT ==
;- 하쿠레이신사 -
#DIM CONST 벚꽃길토리이 = 10
#DIM CONST 신사경내 = 20
#DIM CONST 신사본당 = 30
#DIM CONST 신사툇마루 = 40
#DIM CONST 요정의큰나무 = 50
#DIM CONST 몽환유적 = 60

;- 명련사 -
;#DIM CONST 명련사참배길 = 110
#DIM CONST 지장길 = 110
#DIM CONST 수양버들아래 = 120
#DIM CONST 명련사경내 = 130
#DIM CONST 명련사방장 = 140
#DIM CONST 묘지 = 150
;#DIM CONST 성덕도장 = 160
#DIM CONST 신령묘광장 = 160
#DIM CONST 신령묘도장 = 170

;- 인간 마을 -
#DIM CONST 광장 = 210
#DIM CONST 상가거리 = 220
#DIM CONST 술집소로 = 230
#DIM CONST 서당 = 240
#DIM CONST 대중목욕탕 = 250
#DIM CONST 혼숙여관 = 260
#DIM CONST 주택가 = 270

;- 홍마관 -
#DIM CONST 안개의호수 = 310
#DIM CONST 얼음집 = 320
#DIM CONST 폐양관 = 330
#DIM CONST 정문 = 340
#DIM CONST 객실 = 350
#DIM CONST 식당 = 360
#DIM CONST 대도서관 = 370
#DIM CONST 지하실 = 380

;- 미혹의 죽림 -
#DIM CONST 죽림입구 = 410
#DIM CONST 미혹의샛길 = 420
#DIM CONST 사각의죽림 = 430
#DIM CONST 토끼동굴 = 440
#DIM CONST 영원정 = 450
#DIM CONST 무명의언덕 = 460
#DIM CONST 태양의밭 = 470
#DIM CONST 영원정안채 = 480
#DIM CONST 몽환관 = 490

;- 마법의숲 -
#DIM CONST 숲의입구 = 510
#DIM CONST 향림당 = 520
#DIM CONST 고목의큰나무 = 530
#DIM CONST 키리사메마법점 = 540
#DIM CONST 인형양관 = 550
#DIM CONST 재고의길 = 560
#DIM CONST 무연총 = 570

;- 삼도천~명계 -
#DIM CONST 중유의길 = 610
#DIM CONST 삼도천 = 620
#DIM CONST 마요이가 = 630
#DIM CONST 피안 = 640
#DIM CONST 백옥루정원 = 650
#DIM CONST 백옥루 = 660
#DIM CONST 지옥 = 670
#DIM CONST 축생계 = 680
#DIM CONST 영장원 = 690

;- 요괴의 산 산록 -
#DIM CONST 산록의수해 = 710
#DIM CONST 현무의늪 = 720
#DIM CONST 큰두꺼비의연못 = 730
#DIM CONST 세이자은신처앞 = 740
#DIM CONST 선인의저택 = 750
#DIM CONST 간헐천지하센터 = 760
#DIM CONST 깊은숲속 = 770

;- 요괴의 산 산정 -
#DIM CONST 구천의폭포 = 810
#DIM CONST 절경의언덕 = 820
#DIM CONST 산의호수 = 830
#DIM CONST 모리야신사경내 = 840
#DIM CONST 모리야신사본전 = 850
#DIM CONST 홍룡동 = 860

#DIM CONST 천계 = 890

;- 지저 -
#DIM CONST 환상풍혈 = 910
#DIM CONST 지옥의깊은길 = 920
#DIM CONST 옛지옥가도 = 930
#DIM CONST 옛지옥온천 = 940
#DIM CONST 러브호텔 = 950
#DIM CONST 지령전 = 960
#DIM CONST 작열지옥터 = 970

;- 꿈의 세계~달 -
#DIM CONST 괴안통로 = 1010

#DIM CONST 달의도시 = 1050
#DIM CONST 와타츠키정 = 1060
#DIM CONST 옥토거리 = 1070
#DIM CONST 복숭아숲～모래사장 = 1080
#DIM CONST 고요의바다 = 1090

#DEFINE 시간대 TIME:2
;1= 새벽(4~6) 2=정오 전(6~12) 3=낮(12~15) 4=오후(15~18) 5=저녁(18~20) 6=밤(20~23) 7=심야(23~4)
#DEFINE 날씨 TIME:5
;0= 맑음 1=쾌청 2=약간 흐림 3=흐림 4=비 5=폭우 6=이슬비 7=안개 8=눈 9=눈보라 10=가루눈 11=안개눈 12=진눈깨비 13=싸라기눈 14= 15=(Bit 0:강화 플래그 1:흐림 BIT 2:비BIT 3:눈BIT)

;묘화 관계
#DIM CONST 리스트표시행수 = 20
#DIMS CONST 이전페이지 = "<"
#DIMS CONST 다음페이지 = ">"
#DIMS CONST 이전캐릭터 = "<<"
#DIMS CONST 다음캐릭터 = ">>"
#DIMS CONST 그만둔다 = "^"
#DIM CONST 재묘화 = -1
#DIM CONST 돌아간다 = -2
#DIM CONST 화상변환 = 99

;보너스용 ;BONUS_7은 KR판 구잔재
#DIMS BONUS_3_DESCRIPTION, 15
#DIM BONUS_3_ABLE, 15
#DIMS BONUS_4_DESCRIPTION, 15
#DIM BONUS_4_ABLE, 15
#DIMS BONUS_5_DESCRIPTION, 15
#DIM BONUS_5_ABLE, 15
#DIMS BONUS_7_DESCRIPTION, 10
#DIM BONUS_7_ABLE, 10

;캐릭터가 증가하면(자) 적당 늘려 주세요
#DIM CONST 캐릭터수상한 = 160
#DIM CONST EX_CHARANUM = 301

#DIM CONST 간이능력표시최대페이지번호 = 6
#DIM CONST 상세능력표시최대페이지번호 = 6
#DIM CONST 이름표시길이 = 14
#DIM 소트항목, (간이능력표시최대페이지번호 + 1) * 10

#DIM CONST MAXPANTS = 27
#DIM CONST 팬티관리 = 100
#DIM CONST MAXBRA = 22

#DIM CONST 악보최대수 = 2000
#DIM CONST 악보최대수（시리즈별） = 50
#DIM CONST 악보시리즈명시작번호 = 10000
#DIM CONST 악보명개시번호 = 10100
#DIM CONST 악보플래그시작번호 = 1500
#DIM CONST 악보입수방법：랜덤 = 1000
#DIM CONST 악보입수방법：시리즈첫취득 = 1001
#DIM CONST 악보입수방법：시리즈랜덤컴플리트 = 1002
#DIM CONST 악보입수방법：시리즈관련캐릭탄막승부 = 1003
#DIM CONST 악보입수방법：시리즈관련캐릭함락 = 1004
#DIM CONST 악보입수방법：시리즈완전컴플리트 = 1005
#DIM CONST 악보입수방법：랜덤（캐릭터없음） = 1010
#DIM CONST 악보입수방법：요정의뢰성공 = 1100
#DIM CONST 악보입수방법：아야의뢰성공 = 1101
#DIM CONST 악보입수방법：하타테의뢰성공 = 1102
#DIM CONST 악보입수방법：의뢰실패시 = 1103
#DIM CONST 악보처리모드：총수카운트 = 1
#DIM CONST 악보처리모드：소지수카운트 = 2
#DIM CONST 악보처리모드：악보랜덤1개취득 = 10
#DIM CONST 악보처리모드：전악보취득 = 11
#DIM CONST 악보처리모드：캐릭터관련시리즈모두취득 = 30

#DIM SAVEDATA MAIN_MAP

#DIM SAVEDATA YOGORE, 2000
#DIM SAVEDATA LOCK, 2000
#DIM COUNTCHARA, 2000

#DIM SAVEDATA PLANT_TYPE, 5
#DIM SAVEDATA PLANT_DAYS, 5
#DIM SAVEDATA PLANT_GROW, 5
#DIM SAVEDATA PLANT_DRY, 5
#DIMS SAVEDATA HATAKE_NAME, 5
#DIM SAVEDATA PLANT_FOOD, 5

#DIM SAVEDATA CHARISMA_RATE, 190
#DIM SAVEDATA CHARISMA_TENDENCY, 190

#DIM SAVEDATA CM_SELL_PERIOD
#DIM SAVEDATA CM_SELL_MONTH
#DIM SAVEDATA CM_SELL_AMT
#DIM SAVEDATA CM_SELL_PRICE
#DIM SAVEDATA CM_COMMISSION
#DIM SAVEDATA CM_LIMIT
#DIM SAVEDATA CM_INT_RATE

#DIMS SAVEDATA EnkaiTitle
#DIM MAXROOM
#DIM 피난처
#DIM SAVEDATA Default초기위치
#DIM 이사
#DIM ENTRANCE
#DIM SAVEDATA 거점_주인
#DIM SAVEDATA 거점_술벌레
#DIM KEHAI
#DIM PRIVATEROOM, 100
#DIM MAP_PAGES
#DIMS MAPNAME, 10
#DIM SUMIKOMI_ROOM
;#DIMS SUMIKOMI_PN
#DIM CONST MAXHOME = 11

#DIMS SAVEDATA 연회회장표시

#DIM RANDOM_CHARANUM
#DIM RANDOM_TALENT_RATE, 180
#DIM RANDOM_BASE, 2
#DIM CONST MOB_FACETYPES = 11
#DIM 모브코초기V성교경험

#DIM BEFORE_MOUSOU_EXP14; 정액경험
#DIM BEFORE_MOUSOU_EXP15; 정음경험
#DIM BEFORE_MOUSOU_EXP16; 질내사정경험
#DIM BEFORE_MOUSOU_EXP20; Ｖ성교경험
#DIM BEFORE_MOUSOU_EXP21; Ａ성교경험
#DIM BEFORE_MOUSOU_EXP24; 수음경험
#DIM BEFORE_MOUSOU_EXP25; 펠라티오 경험
#DIM BEFORE_MOUSOU_EXP27; 키스경험
#DIM BEFORE_MOUSOU_EXP28; 도구사용경험
#DIM BEFORE_MOUSOU_EXP29; 삽입경험
#DIM BEFORE_MOUSOU_EXP53; 이상경험

#DIM CONST BASE_체력 = 0
#DIM CONST BASE_기력 = 1
#DIM CONST BASE_정력 = 6
#DIM CONST BASE_TSP = 8

#DIM CONST 합의_키스 = 1p0
#DIM CONST 합의_우후후 = 1p1
#DIM CONST 합의_연인 = 1p2
#DIM CONST 합의_애널 = 1p3
#DIM CONST 합의_손봉사 = 1p4
#DIM CONST 합의_다리봉사 = 1p5
#DIM CONST 합의_구봉사 = 1p6
#DIM CONST 합의_가슴봉사 = 1p7
#DIM CONST 합의_가랑이봉사 = 1p8

#DIM CONST 더러운_애액 = 1p0
#DIM CONST 더러운_페니스 = 1p1
#DIM CONST 더러운_정액 = 1p2
#DIM CONST 더러운_애널 = 1p3
#DIM CONST 더러운_모유 = 1p4
#DIM CONST 더러운_점액 = 1p5
#DIM CONST 더러운_파과피 = 1p6
#DIM CONST 더러운_초콜릿 = 1p7

#DIM CONST 상실_페니스 = 1p1
#DIM CONST 상실_바이브 = 1p2
#DIM CONST 상실_페니반 = 1p3
#DIM CONST 상실_흉악 = 1p4
#DIM CONST 상실_무지 = 1p8
#DIM CONST 상실_만취 = 1p9
#DIM CONST 상실_시간정지 = 1p10
#DIM CONST 상실_연모 = 1p11
#DIM CONST 상실_사모 = 1p12
#DIM CONST 상실_억지로 = 1p13
#DIM CONST 상실_스스로 = 1p14
#DIM CONST 상실_어영부영 = 1p15
#DIM CONST 상실_수면 = 1p16

#DIM CONST 이상_사중절정 = 1p2
#DIM CONST 이상_처녀바이브 = 1p4
#DIM CONST 이상_확장 = 1p5
#DIM CONST 이상_야외방뇨 = 1p6
#DIM CONST 이상_배설 = 1p7
#DIM CONST 이상_청소 = 1p11

#DIM CONST SET_FROM_P = 101
#DIM CONST SET_FROM_C = 102
#DIM CONST SET_FROM_YUBI = 103
#DIM CONST SET_FROM_M = 104
#DIM CONST SET_FROM_B = 105
#DIM CONST SET_FROM_V = 106
#DIM CONST SET_FROM_A = 107
#DIM CONST SET_FROM_LEG = 108

#DIM CONST SET_P = 1
#DIM CONST SET_C = 2
#DIM CONST SET_YUBI = 3
#DIM CONST SET_M = 4
#DIM CONST SET_B = 5
#DIM CONST SET_V = 6
#DIM CONST SET_A = 7
#DIM CONST SET_LEG = 8

;배열의 read순서를 랜덤으로 하기 위한 배열. FISHER_YATES_SHAFFLE에서 셔플 합니다
#DIM SHAFFLE_ARRAY, 1000
;모리야복권의 내용.
#DIM SAVEDATA MORIYA_BOX, 300

#DIM SAVEDATA isModifier

;本の種類数　本追加したら増やすこと
#DIM CONST BookTitles = 10

;아니메필터
#DIM CONST 아니메필터_삽입 = 1p0
#DIM CONST 아니메필터_절정 = 1p1
#DIM CONST 아니메필터_사정 = 1p2
#DIM CONST 아니메필터_흘러넘치고 = 1p3

;팬티 일시 보존
#DIM CHARADATA SAVEDATA PANTS_TEMP, 35
#DIM FOUND_PANTS_TYPE
#DIM FOUND_PANTS_OWNER

;일명
#DIMS JOB_NAME, 120

;자유행동
#DIM Activity_Duration, 160
#DIM Activity_Type, 160
#DIMS UNIQUE_FA_NAME, 160
;자유행동모듈
#DIM FA16_HOLE, 3
#DIM FA17_OBJ, 100
#DIM FA17_EXIST, 100

;의뢰 설정수상한 우선 에너지 절약으로 30으로 해 둔다
#DIM CONST MAX_IRAI = 30

;의뢰슬롯
#DIM SAVEDATA IRAI_SLOT, 6
#DIM SAVEDATA IRAI_DATA, 6
#DIM SAVEDATA IRAI_SUB,  6
#DIM SAVEDATA IRAI_EX,  6
;의뢰기한
#DIM SAVEDATA IRAI_DEADLINE, 6

;여기에서의 항목은 폐지
;의뢰주
#DIM SAVEDATA IRAI_CLIENT, 6
;의뢰의 기타 조건 등을 일시 보존하기 위한 변수
#DIM IRAI_SETTING_DEADLINE,MAX_IRAI
#DIM IRAI_SETTING_TARGET,MAX_IRAI
#DIM IRAI_SETTING_CLIENT,MAX_IRAI
#DIMS IRAI_SETTING_COMMANDNAME,MAX_IRAI
;여기까지

#DIM CHARADATA SAVEDATA BUFF,16

;카운터 개별화를 위해 이동
;#DIM CHARADATA SAVEDATA COUNTER_SIKOU, 150

;삽입 콤보 용
#DIM CHARADATA SAVEDATA EFFECTIVE_PATTERN_V, 3
#DIM CHARADATA SAVEDATA EFFECTIVE_PATTERN_A, 3

;아이의 이름
#DIMS CHARADATA SAVEDATA CHILDNAME, 11
;아이의 연령
;#DIM CHARADATA SAVEDATA CHILD_AGE, 11
;자식의성별
#DIM CHARADATA SAVEDATA CHILD_SEX, 11
;아이의 생일 1(X일째)
#DIM CHARADATA SAVEDATA CHILD_BIRTHDAY, 11
;아이의 생일 2(X년 X월 XX일)
#DIM CHARADATA SAVEDATA CHILD_BIRTHDATE, 11
;아이의 애정도
#DIM CHARADATA SAVEDATA CHILD_LOVE, 11
;아이의 탄생한 날의 날씨
#DIMS CHARADATA SAVEDATA CHILD_WEATHER, 11
;子供の行動
#DIMS CHARADATA SAVEDATA CHILD_ACT, 11
;子供の自立先
#DIM CHARADATA SAVEDATA CHILD_AREA, 11

#DIM CONST CHILD_젖떼기 = 25
#DIM CONST CHILD_완구 = 26
#DIM CONST CHILD_붙잡고서기 = 28
#DIM CONST CHILD_아장아장 = 30
#DIM CONST CHILD_말한다 = 35
#DIM CONST CHILD_어휘 = 45
#DIM CONST CHILD_바로잡기 = 55
#DIM CONST CHILD_취학 = 60
#DIM CONST CHILD_자립전 = 90
#DIM CONST CHILD_자립 = 120

;贈り物用
#DIM CHARADATA SAVEDATA GIFT_GOT, 101
#DIM CHARADATA SAVEDATA GIFT_GAVE, 101
#DIMS CHARADATA SAVEDATA GIFT_GOT_ORI_ADJECT, 101
#DIMS CHARADATA SAVEDATA GIFT_GOT_ORI_MAIN, 101
#DIMS CHARADATA SAVEDATA GIFT_GAVE_ORI_ADJECT, 101
#DIMS CHARADATA SAVEDATA GIFT_GAVE_ORI_MAIN, 101

#DIM ROOMDATA, 100
#DIM CONST 장소_이불 = 1p0	;휴식이 자동으로 부여
#DIM CONST 장소_옥내 = 1p1
#DIM CONST 장소_목욕탕 = 1p2
#DIM CONST 장소_주방 = 1p3
#DIM CONST 장소_훈련 = 1p4
#DIM CONST 장소_공부 = 1p5
#DIM CONST 장소_휴식 = 1p6
#DIM CONST 장소_화장실 = 1p7
;#DIM CONST 장소_창공 = 1p8	;※폐지
#DIM CONST 장소_달구경 = 1p9	;실내나 지붕이 있어도 달이 보이는 장소
#DIM CONST 장소_하늘의소리 = 1p10
#DIM CONST 장소_텃밭 = 1p11
#DIM CONST 장소_물긷기 = 1p12
;#DIM CONST 장소_전망 = 1p13	;※폐지
#DIM CONST 장소_빨래너는곳 = 1p14
;#DIM CONST 장소_좁다	= 1p15	;※폐지
#DIM CONST 장소_넓은 = 1p16	;구 전망좁다, 넓지 않은 곳은 구 좁다
;#DIM CONST 장소_선잠_가능 = 1p17	;※폐지
;#DIM CONST 장소_선잠_상시가능 = 1p18	;※폐지
#DIM CONST 장소_신체측정 = 1p19
#DIM CONST 장소_모브 = 1p20
#DIM CONST 장소_모브2 = 1p21
#DIM CONST 장소_모브3 = 1p22
#DIM CONST 장소_과소 = 1p23	;캐릭터가 잘 들어가지 않는다
#DIM CONST 장소_Private = 1p24	;절도 있는 캐릭터는 들어오지 않는다
#DIM CONST 장소_공공장소 = 1p25	;덮치지 않는다
#DIM CONST 장소_음식 = 1p26	;구 거실
#DIM CONST 장소_지붕 = 1p27	;실외이지만 지붕이 있는 장소, 실내도 지붕도 없는 경우는 야외 판정（구 창공）
#DIM CONST 장소_서양식 = 1p28	;옥내가 자동으로 부여
#DIM CONST 장소_집어먹기 = 1p29	;
#DIM CONST 장소_머물지않는다 = 1p30	;캐릭터가 잘 머무르지 않는다（통행용）
#DIM CONST 장소_원룸 = 1p31	;이불·옥내·주방·공부·휴식·음식·코타츠·Private가 자동 부여
#DIM CONST 장소_코타츠 = 1p32	;겨울동안 코타츠가 있다

#DIM CONST 장소_초기위치 = 1p61
#DIM CONST 장소_피난처 = 1p62
#DIM CONST 장소_입구= 1p63

#DIM CONST YOBAI_소프트 = 1p0
#DIM CONST YOBAI_성희롱 = 1p1
#DIM CONST YOBAI_진퉁성희롱 = 1p2
#DIM CONST YOBAI_합의비삽입 = 1p3
#DIM CONST YOBAI_합의섹스 = 1p4
#DIM CONST YOBAI_강간 = 1p5
#DIM CONST YOBAI_설득 = 1p6
#DIM CONST YOBAI_도망 = 1p7

;전투 관련
#DIM ENEMY_NUM
#DIMS ENEMY_NAME
#DIM ENEMY_HP
#DIM ENEMY_MAXHP
#DIM ENEMY_ATK
#DIM ENEMY_ATK_DIRECTION

#DIMS ENEMY_SKILL_NAME
#DIM ENEMY_SKILL_ATK
#DIM ENEMY_SKILL_SPD
#DIM ENEMY_SKILL_WAIT

;색
#DIM CONST C_GREEN    = 0x00FF00
#DIM CONST C_P_GREEN  = 0x70C070
#DIM CONST C_L_GREEN  = 0x90EE90
#DIM CONST C_TEAL     = 0x008080
#DIM CONST C_M_GREEN  = 0x00FA9A

#DIM CONST C_YELLOW   = 0xFFFF00
#DIM CONST C_P_YELLOW = 0x505020
#DIM CONST C_CREAM    = 0xFFFFCC

#DIM CONST C_ORANGE   = 0xFFA500
#DIM CONST C_D_ORANGE = 0xFF6400
#DIM CONST C_RED      = 0xFF0000
#DIM CONST C_D_RED    = 0x990000
#DIM CONST C_P_PURPLE = 0xC070C0

#DIM CONST C_BLUE     = 0x0000FF
#DIM CONST C_AQUA     = 0x66FFFF
#DIM CONST C_P_BLUE   = 0x7070C0
#DIM CONST C_ROYAL_BLUE = 0x4169E1
#DIM CONST C_N_BLUE   = 0x0078B4
#DIM CONST C_S_BLUE   = 0xA0D2FF

#DIM CONST C_WHITE    = 0xC0C0C0
#DIM CONST C_L_GRAY   = 0x777777
#DIM CONST C_GRAY     = 0x404040

#DIM CONST C_PINK     = 0xFFCCFF
#DIM CONST C_D_PINK   = 0x990099
#DIM CONST C_H_PINK   = 0xFF69B4
#DIM CONST C_V_PINK   = 0xFF00FF

;주로 맵용
#DIM CONST C_WOOD1   = 0xB18F61
#DIM CONST C_WOOD2   = 0x7D4B19
#DIM CONST C_FOREST1 = 0x5EBE83
#DIM CONST C_FOREST2 = 0x0F6428
#DIM CONST C_FUTON   = 0xF0DCDC
#DIM CONST C_STONE1  = 0x969696
#DIM CONST C_STONE2  = 0x646464
#DIM CONST C_FLAME   = 0xFF4242
#DIM CONST C_PLANT   = 0x32CD322
#DIM CONST C_WINDOW  = 0xa2d7dd
#DIM CONST C_TORII   = 0xe60033

#DIM CONST C_THE_WORLD = 0x01183c

;(天候パッチ)
#DIM CONST C_MAP_夕焼け_通常 = 0x191000
#DIM CONST C_MAP_夕焼け_低気圧 = 0x2e0e00
#DIM CONST C_MAP_夕焼け_台風 = 0x2e0100
#DIM CONST C_MAP_晴れ_早朝 = 0x001919
#DIM CONST C_MAP_晴れ_朝 = 0x0a0900
#DIM CONST C_MAP_晴れ_昼 = 0x001d1f
#DIM CONST C_MAP_薄曇_昼 = 0x091a1b
#DIM CONST C_MAP_曇り_昼 = 0x141414
#DIM CONST C_MAP_雨_昼 = 0x0d162b
#DIM CONST C_MAP_雪_昼 = 0x242424
#DIM CONST C_MAP_霧_昼 = 0x303030
#DIM CONST C_MAP_積乱雲_昼 = 0x000000
#DIM CONST C_MAP_晴れ_夜 = 0x030024
#DIM CONST C_MAP_曇り_夜 = 0x000000
#DIM CONST C_MAP_雪_夜 = 0x242424
#DIM CONST C_MAP_霧_夜 = 0x303030
#DIM CONST C_MAP_皆既月食 = 0x4c0201

;카드게임용 변수
;판정용으로 BJ 이외의함수에서도 참조할 수 있도록(듯이) 광역 변수화
;
;일단 알기 쉽게 정공법의 사용법을 상정해 만들었다
;　CARD_HAND:0:0 == 5       ;플레이어 0의 명함 0은 5입니다
;　CARD_HAND:0:1 == 1       ;플레이어 0의 명함 1은 1입니다
;
;이런 사용법도 할 수 있다(명함의 기록 영역을 산찰과 동매수분 확보하고 있기 (위해)때문에)
;　CARD_HAND:0:1 == 5       ;CARD1는 플레이어 5가 가지고 있습니다
;　CARD_HAND:0:2 == 1       ;CARD2는 플레이어 1이 가지고 있습니다
;　CARD_HAND:0:3 == -1      ;CARD3는 장소에 엎드릴 수 있었던 상태입니다
;　CARD_HAND:0:4 == -2      ;CARD4는 이 게임에서는 사용하지 않습니다
;사용 변수를 압축할 수 있지만 명함의 차례 등은 기록할 수 없는 것이 결점
;그리고 처리 내용이 까다롭다
;
;이렇게 하면 60명은 참가시키는 것이 가능
;·CARD_DECK에 플레이어의 셔플 상황을 기록해
;·CARD_HAND:X:Y는 변칙적으로 이용해
;　X=0, Y=1-60에서는 상기 방법에 의해 각 카드의 분배 상황을 기록
;　X=1, Y=1-60에서는 참가 캐릭터의 ID를 기록
;무엇보다, 이 규모라고 카드 자체의 매수가 부족하겠지만

#DIM NUM_JOKER              ;사용하는 조커의 수
#DIM CONST MAX_JOKER = 8    ;조커의 상한은 8매
#DIM NUM_CARD               ;플레이어에 포함되는 카드의 매수
#DIM NUM_CARD_PL            ;카드게임의 참가 플레이어 인원수(최대 10)
#DIM CONST MAX_CARD_PL = 10 ;참가 플레이어 상한은 10명
#DIM CARD_PL_ID, 10         ;각 PL의 등록 번호, 지금 응과 개 사용하지 않다
#DIM CARD_DECK, 60          ;산찰, 1~52＋조커 0~8매, 합계 60매
#DIM NEW_CARD               ;다음에 당기는 산찰의 번호(≒현재 소비한 산찰의 매수)
#DIM CARD_HAND, 10, 60      ;각 PL의 명함
#DIM NUM_HAND, 10           ;각 PL의 소지 매수

;카드(트럼프) 게임용 범용 캐릭터라인 변수
;주의점으로서는
;SUIT:0이 「?」(으)로 RANK:0을 「JK」로 하고 있는 점
{
#DIMS CONST CARD_SUIT, 5  = "？",
	@"%UNICODE(0x2660)%",
	@"%UNICODE(0x2663)%",
	@"%UNICODE(0x2665)%",
	@"%UNICODE(0x2666)%"
}
{
#DIMS CONST CARD_RANK, 14 = "JK",
	"Ａ", "２", "３", "４", "５",
	"６", "７", "８", "⑨", "10",
	"Ｊ", "Ｑ", "Ｋ"
}

;賭場関連 (도박 관련)
#DIM SAVEDATA KOMAFUDA, 250
#DIM BAKUTO_WORDCOLOR = 0xD5DEDF, 0xC7F0B9, 0xA0DFFF, 0x8496A5, 0xD5DEDF, 0xD5DEDF, 0xD5DEDF, 0xD37CD0
#DIM TOBA_ROTATE, 5, 4
#DIMS BAKUTO_NAME = "당신", "야마와로", "캇파", "카라스텐구", "뱀요괴", "모브1", "모브2", "딜러"
#DIMS CH_PRIZE, 7, 7
{
#DIMS CONST CHIN_PRIZE = "히후미", "숀벤", "눈 없음", "핀", "니조우", "산타", "요츠야", "고케", "롯포우",
			"시고로", "2의 아라시", "3의 아라시", "4의 아라시", "5의 아라시", "6의 아라시", "핀조로"
}

#DIM CONST COM클리캡 = 42
#DIM CONST COM오나홀 = 43;필요없는데
#DIM CONST COM바이브 = 44
#DIM CONST COM애널바이브 = 45
#DIM CONST COM애널비즈 = 46;필요없는데
#DIM CONST COM유두캡 = 47
#DIM CONST COM착유기 = 48;필요없는데
#DIM CONST COM눈가리개 = 104
#DIM CONST COM밧줄 = 105
#DIM CONST COM볼개그 = 106;필요없는데
#DIM CONST COM관장 = 146;필요없는데
#DIM CONST COM확장벌룬 = 147;필요없는데
#DIM CONST COM애널전극 = 148;필요없는데
#DIM CONST COM비디오촬영 = 183;필요없는데
#DIM CONST COM목욕탕플레이 = 187;필요없는데
#DIM CONST COM샤워 = 188
#DIM CONST COM새댁플레이 = 189
#DIM CONST COM한우산을씀 = 351

#DIMS CHARADATA SAVEDATA UWAKI_KNOWN
#DIMS CHARADATA SAVEDATA UWAKI_ACCEPTED

#DIM SAVEDATA MOBGIRL_PLACE, 20
#DIM CONST MAXMOB = 20
#DIM SAVEDATA STALKED
#DIM GatheringSeason

#DIM HANDICAP_FIXED
#DIM HANDICAP_RAND

;#DIM SAVEDATA 초상첨부메시지 ;KR판 - JP 호환성 위해 번역하지 않음

#DIM CONST 소지수제한 = 99

;고유요리
#DIM SAVEDATA LEARNED_MENU, 200

#DIM SAVEDATA GLOBAL GLOBAL_BONUS, 10
;한판 실적 저장을 위한 추가 변수
#DIM SAVEDATA GLOBAL GLOBAL_BONUS_KR, 10

#DIMS SAVEDATA VAR_FERMENT
#DIMS SAVEDATA VAR_WATER

;コマンド用
#DIMS COM_STR
#DIMS CHARADATA COMMON_EFFECT


code:
;********************************************************************************************
;2019/8/14 作成 ロウ@TW夢子口上の人
;
;Licence  :ライセンスフリー(CC0)。
;
;グラフィック表示簡易化ライブラリ
;なんかややこしいグラフィック表示関連を簡単に表示できるようにまとめたもの。
;HTMLもどきだし、可読性悪いし、冗長なので「もう画像指定したら縦幅とか勝手に揃えろよ」っていうことで作りました。
;********************************************************************************************

;********************************************************************************************
;画像表示用関数
;これを呼べば画像の縦横計算とかややこしいことしないで画像を一枚表示できる
;横位置は左揃えの場合は左端から、右揃えの場合は右端から指定したピクセル数分間隔を空ける
;画像反転フラグは 1:横反転 2：縦反転 3:縦横反転
;********************************************************************************************
@画像表示(画像名, 表示位置, 縦位置, 横位置, 拡大比率 = 100, 自動改行 = 0, ボタン生成 = 0, VALUE = "", TITLE = "", マウスオーバー画像名 = "", 画像反転フラグ = 0)
#DIMS 画像名				;リソース名
#DIMS マウスオーバー画像名	;マウスオーバー時に表示する画像名 省略可
#DIMS 表示位置				;表示位置指定文字列
#DIM  縦位置				;ピクセル指定 内部でフォントサイズ基準のパーセンテージに変換する
#DIM  横位置				;上に同じ
#DIM  自動改行				;自動改行有無フラグ デフォルトはしない
#DIM  拡大比率				;パーセンテージ指定 指定しなければ100
#DIM  ボタン生成			;ボタンとして使用するか デフォルトはしない
#DIMS  VALUE				;ボタンのバリュー
#DIMS  TITLE				;マウスオーバー時に表示する文字列
#DIM  画像反転フラグ		;画像反転を行うかのフラグ
#DIMS  表示HTML
IF SPRITECREATED(画像名)
	SIF 描画開始行数 == 0
		描画開始行数 = LINECOUNT

	表示HTML =
	表示HTML += @"%画像表示位置HTML(表示位置)%"

	SIF GROUPMATCH(表示位置, "LEFT", "left", "左")
		表示HTML += @"%横位置HTML(横位置)%"
	SIF ボタン生成
		表示HTML += @"%ボタン生成HTML(VALUE, TITLE)%"

	表示HTML += @"%画像表示単独HTML(画像名, 縦位置, 拡大比率, マウスオーバー画像名, 画像反転フラグ)%"

	SIF ボタン生成
		表示HTML += @"</button>"
	SIF GROUPMATCH(表示位置, "RIGHT", "right", "右")
		表示HTML += @"%横位置HTML(横位置)%"

	DEBUGPRINTFORML %表示HTML%
	HTML_PRINT 表示HTML

	SIF 自動改行
		CALL ピクセル自動改行(縦位置 + デフォルトキャラ画像横幅 * 拡大比率 / 100)
ELSE
	RETURN 0
ENDIF
RETURN 1

;********************************************************************************************
;画像セット関数
;並べて表示したい場合に、画像一斉表示関数と合わせて使用する
;横位置は指定したピクセル数分画像間の間隔を空ける
;********************************************************************************************
@画像セット(画像名, 縦位置, 画像間隔, 拡大比率 = 100, レイヤー階数 = 0, ボタン生成 = 0, VALUE = "", TITLE = "", マウスオーバー画像名 = "", 画像反転フラグ = 0)
#DIMS 画像名				;リソース名
#DIMS マウスオーバー画像名	;マウスオーバー時に表示する画像名 省略可
#DIMS 表示位置				;表示位置指定文字列
#DIM  縦位置				;ピクセル指定 内部でフォントサイズ基準のパーセンテージに変換する
#DIM  画像間隔				;ピクセル指定 内部でフォントサイズ基準のパーセンテージに変換する
#DIM  拡大比率				;パーセンテージ指定 指定しなければ100
#DIM  レイヤー階数			;重ね表示時の階数
#DIM  ボタン生成			;ボタンとして使用するか デフォルトはしない
#DIMS VALUE					;ボタンのバリュー
#DIMS TITLE					;マウスオーバー時に表示する文字列
#DIM  画像反転フラグ		;画像反転を行うかのフラグ 1:横反転 2：縦反転 3:縦横反転

SIF 描画開始行数 == 0
	描画開始行数 = LINECOUNT
;PRINTFORML %画像名%をチェック
IF SPRITECREATED(画像名)
	SIF TEMP_HTML:レイヤー階数 != "" && 画像間隔 > 0
		TEMP_HTML:レイヤー階数 += @"%横位置HTML(画像間隔)%"

	SIF ボタン生成
		TEMP_HTML:レイヤー階数 += @"%ボタン生成HTML(VALUE, TITLE)%"

	TEMP_HTML:レイヤー階数 += @"%画像表示単独HTML(画像名, 縦位置, 拡大比率, マウスオーバー画像名, 画像反転フラグ, レイヤー階数)%"

	SIF ボタン生成
		TEMP_HTML:レイヤー階数 += @"</button>"

	LOCAL = 縦位置 + デフォルトキャラ画像横幅 * 拡大比率 / 100
	SIF LOCAL > TEMP_HTML_MAX_HEIGHT
		TEMP_HTML_MAX_HEIGHT = LOCAL

	SIF MAX_LAYER_NUM < レイヤー階数
		MAX_LAYER_NUM = レイヤー階数
ELSE
	;PRINTFORML ないよ
	RETURN 0
ENDIF
RETURN 1

;********************************************************************************************
;ダミーセット関数
;並べて表示したい場合に、画像一斉表示関数と合わせて使用する
;横位置は指定したピクセル数分画像間の間隔を空ける
;********************************************************************************************
@ダミーセット(縦位置, 画像間隔, 拡大比率 = 100, レイヤー階数 = 0)
#DIM  縦位置				;ピクセル指定 内部でフォントサイズ基準のパーセンテージに変換する
#DIM  画像間隔				;ピクセル指定 内部でフォントサイズ基準のパーセンテージに変換する
#DIM  拡大比率				;パーセンテージ指定 指定しなければ100
#DIM  レイヤー階数			;重ね表示時の階数
#DIM  画像横幅				;フォントサイズ基準のパーセンテージ

;uEmuera環境でエフェクトがずれる際には以下の二行をアンコメント
;CALL 画像セット("ダミー", 縦位置, 画像間隔, 拡大比率, レイヤー階数)
;RETURN 1

SIF TEMP_HTML:レイヤー階数 != "" && 画像間隔 > 0
	TEMP_HTML:レイヤー階数 += @"%横位置HTML(画像間隔)%"

画像横幅 = (デフォルトキャラ画像横幅 * 拡大比率) / GETCONFIG("フォントサイズ")
TEMP_HTML:レイヤー階数 += @"<shape type='space' param='{画像横幅}'>"

LOCAL = 縦位置 + デフォルトキャラ画像横幅 * 拡大比率 / 100
SIF LOCAL > TEMP_HTML_MAX_HEIGHT
	TEMP_HTML_MAX_HEIGHT = LOCAL

SIF MAX_LAYER_NUM < レイヤー階数
	MAX_LAYER_NUM = レイヤー階数

RETURN 1

;********************************************************************************************
;画像一斉表示関数
;並べて表示したい場合に、画像セット関数と合わせて使用する
;レイヤー階数-1で全てのレイヤーを一斉表示する
;********************************************************************************************
@画像一斉表示(表示位置, 横位置, 自動改行 = 0, レイヤー階数 = -1)
#DIMS 表示位置				;表示位置指定文字列
#DIM  横位置				;上に同じ
#DIM DYNAMIC 自動改行		;自動改行有無フラグ デフォルトはしない
#DIM DYNAMIC レイヤー階数	;重ね表示時の階数

IF レイヤー階数 == -1
	FOR レイヤー階数, 0, MAX_LAYER_NUM + 1
		CALL 画像一斉表示(表示位置, 横位置, 0, レイヤー階数)
	NEXT

	SIF 自動改行
		CALL ピクセル自動改行(TEMP_HTML_MAX_HEIGHT)
	CALL 画像描画終了

	RETURN 1
ENDIF

IF TEMP_HTML:レイヤー階数 != ""
	TEMP_HTML:レイヤー階数 = %画像表示位置HTML(表示位置)%%TEMP_HTML:レイヤー階数%

	SIF GROUPMATCH(表示位置, "LEFT", "left", "左")
		TEMP_HTML:レイヤー階数 = %横位置HTML(横位置)%%TEMP_HTML:レイヤー階数%
	SIF GROUPMATCH(表示位置, "RIGHT", "right", "右")
		TEMP_HTML:レイヤー階数 += @"%横位置HTML(横位置)%"

	HTML_PRINT TEMP_HTML:レイヤー階数

	SIF 自動改行
		CALL ピクセル自動改行(TEMP_HTML_MAX_HEIGHT)

	TEMP_HTML:レイヤー階数 =
ELSE
	RETURN 0
ENDIF
RETURN 1

;********************************************************************************************
;画像表示単独のHTML取得関数
;諸々の計算は内部でするので指定するのは画像だけにしたい
;拡大縮小したい場合を考えて一応拡大比率指定出来るように
;********************************************************************************************
@画像表示単独HTML(画像名, 縦位置, 拡大比率 = 100, マウスオーバー画像名 = "", 画像反転フラグ = 0, レイヤー階数 = 0)
#FUNCTIONS
#DIMS 画像名				;リソース名
#DIMS マウスオーバー画像名	;マウスオーバー時に表示する画像名 省略可
#DIM  拡大比率				;パーセンテージ指定 指定しなければ100
#DIM  画像縦幅				;ややこしいがフォントサイズ基準のパーセンテージ
#DIM  画像横幅				;上に同じ
#DIM  縦位置				;ピクセル指定 内部でフォントサイズ基準のパーセンテージに変換する
#DIM  画像反転フラグ		;画像反転を行うかのフラグ 1:横反転 2：縦反転 3:縦横反転
#DIM  レイヤー階数			;重ね表示時の階数

IF SPRITECREATED(画像名)
	IF UEMUERA_FLAG ;[Personal fix]uEmuera 감지기 패치
		画像縦幅 = (デフォルトキャラ画像横幅 * 拡大比率) / GETCONFIG("フォントサイズ") * (GETBIT(画像反転フラグ, 1) ? -1 # 1 )
		画像横幅 = (デフォルトキャラ画像横幅 * 拡大比率) / GETCONFIG("フォントサイズ") * (GETBIT(画像反転フラグ, 0) ? -1 # 1 )

		;切捨て保護のため先に掛け算
		縦位置   = (100 * 縦位置 / GETCONFIG("フォントサイズ")) - (100 * (LINECOUNT-描画開始行数+レイヤー階数) * (GETCONFIG("一行の高さ") / GETCONFIG("フォントサイズ")))

		LOCALS =
	ELSE
		画像縦幅 = (デフォルトキャラ画像横幅 * 拡大比率) / 100 * (GETBIT(画像反転フラグ, 1) ? -1 # 1 )
		画像横幅 = (デフォルトキャラ画像横幅 * 拡大比率) / 100 * (GETBIT(画像反転フラグ, 0) ? -1 # 1 )

		;切捨て保護のため先に掛け算
		縦位置   = (100 * 縦位置 / GETCONFIG("フォントサイズ")) - (100 * (LINECOUNT-描画開始行数+レイヤー階数) * (GETCONFIG("一行の高さ") / GETCONFIG("フォントサイズ")))

		LOCALS =
	ENDIF
	RETURNF LOCALS
ELSE
	PRINTFORML 画像リソースが見つかりません
	RETURNF @""
ENDIF

;********************************************************************************************
;位置揃え指定関数
;PタグがただのALIGNMENT指定用タグと化してるので分離
;戻り値としてＰタグの文字列を返す
;ARGS = 画像表示位置指定文字列
;********************************************************************************************
@画像表示位置HTML(表示位置)
#FUNCTIONS
#DIMS 表示位置
SELECTCASE 表示位置
	CASE "LEFT", "left", "左"
		LOCALS =

		RETURNF LOCALS
	CASE "CENTER", "center", "中央"
		LOCALS =

		RETURNF LOCALS
	CASE "RIGHT", "right", "右"
		LOCALS =

		RETURNF LOCALS
	CASEELSE
		;認識できなかったら左揃え
		LOCALS =

		RETURNF LOCALS
ENDSELECT

;********************************************************************************************
;ボタン生成関数
;戻り値としてbuttonタグの文字列を返す
;POSはややこしいので使用しない
;********************************************************************************************
@ボタン生成HTML(VALUE, TITLE)
#FUNCTIONS
#DIMS  VALUE		;ボタンのバリュー
#DIMS  TITLE		;マウスオーバー時に表示する文字列
LOCALS = <button
SIF VALUE != ""
	LOCALS += @" value='%VALUE%'"
SIF TITLE != ""
	LOCALS += @" title='%TITLE%'"
LOCALS += @" >"
RETURNF LOCALS

;********************************************************************************************
;横位置指定関数
;いちいち場合分けするのが嫌なので全てshapeで調節する
;戻り値としてshapeタグの文字列を返す
;横位置はピクセル単位での指定
;********************************************************************************************
@横位置HTML(横位置)
#FUNCTIONS
#DIM 横位置		;ピクセル指定 内部でフォントサイズ基準のパーセンテージに変換する

;切捨て保護のため先に掛け算
横位置 = 100 * 横位置 / GETCONFIG("フォントサイズ")

LOCALS = <shape type='space' param='{横位置}'>
RETURNF LOCALS

;********************************************************************************************
;画像合わせ改行関数
;画像に合わせて改行したい場合に使用する
;縦幅をピクセル単位で指定すると、それをぎりぎり内包する行数だけ改行する
;********************************************************************************************
@ピクセル自動改行(縦幅)
#DIM 縦幅
#DIM 行数

;端数切り上げ。演算内容は 縦幅 / GETCONFIG("一行の高さ")
行数 = (縦幅 + GETCONFIG("一行の高さ") - 1) / GETCONFIG("一行の高さ")

FOR LOCAL, 0, 行数 - (LINECOUNT - 描画開始行数)
	PRINTFORML
NEXT
描画開始行数 = 0
RETURN 1

;********************************************************************************************
;画像セット等で変更される変数のリセット
;行ずれの無視、レイヤーの消去に使用
;********************************************************************************************
@画像描画終了
VARSET TEMP_HTML
描画開始行数 = 0
MAX_LAYER_NUM = 0
TEMP_HTML_MAX_HEIGHT = 0

repo_name: DNS/eraTWKR

license: mit


code:
#DIMS TEMP_HTML, 100					;一時HTML保存用変数
#DIM TEMP_HTML_MAX_HEIGHT 				;一時最大縦幅取得用変数
#DIM MAX_LAYER_NUM						;一時最大レイヤー数保管用変数
#DIM 描画開始行数						;連続描画で何故か行ずれが起きるので、その対策
#DIM カラーマトリクスベース, 22, 5, 5	;カラーマトリクス保管用変数
#DIM カラーマトリクス初期化フラグ		;カラーマトリクス初期化フラグ
#DIM NEXT_GID = 1						;グラフィックID走査用変数


code:
;********************************************************************************************
;2019/8/14 作成 ロウ@TW夢子口上の人
;
;Licence  :ライセンスフリー(CC0)。
;
;グラフィック表示簡易化ライブラリ
;なんかややこしいグラフィック表示関連を簡単に表示できるようにまとめたもの。
;HTMLもどきだし、可読性悪いし、冗長なので「もう画像指定したら縦幅とか勝手に揃えろよ」っていうことで作りました。
;********************************************************************************************

;********************************************************************************************
;画像合成関数
;指定したグラフィックIDにリソース画像を重ねて合成する関数
;グラフィックIDが0の変数を渡すと勝手に使用可能なグラフィックIDを走査してその変数に渡す
;その場合は初めに合成されたリソースのサイズに合わせてグラフィックを作成する
;横幅か縦幅に0が入っている場合には自動でリソース画像のサイズを取得してサイズを合わせる
;ブレンド名はリソースを合成する際に適用するカラーブレンドの名称を入れる　例="赤"
;********************************************************************************************
@画像合成(グラフィックID, リソース名, POS_X = 0, POS_Y = 0, 横幅 = 0, 縦幅 = 0, カラーブレンド名 = "")
#DIM REF グラフィックID		;合成先のグラフィックID 参照渡し
#DIMS リソース名			;合成元のリソースID
#DIM POS_X					;リソースを配置するX座標
#DIM POS_Y					;リソースを配置するY座標
#DIM 横幅					;合成するリソースの横幅
#DIM 縦幅					;合成するリソースの縦幅
#DIMS カラーブレンド名		;カラーブレンドの名称
#DIM カラーマトリクス, 5, 5	;カラーブレンドに使用するマトリクス
VARSET カラーマトリクス
SIF !SPRITECREATED(リソース名)
	;リソースが存在しない場合0を返す
	RETURN 0
IF 横幅 == 0 || 縦幅 == 0
	横幅 = SPRITEWIDTH(リソース名)
	縦幅 = SPRITEHEIGHT(リソース名)
ENDIF
IF グラフィックID == 0
	;前回呼び出されていれば続きから始める
	グラフィックID = NEXT_GID
	WHILE GCREATED(グラフィックID)
		;空いているグラフィックIDを走査する
		グラフィックID ++
	WEND
	;次回は続きから走査するように設定
	NEXT_GID = グラフィックID + 1

	GCREATE グラフィックID, 横幅, 縦幅
ENDIF
IF カラーブレンド名 == ""
	GDRAWSPRITE グラフィックID, リソース名, POS_X, POS_Y,  横幅, 縦幅
	DEBUGPRINTFORML 画像合成：%リソース名%:{グラフィックID},{POS_X},{POS_Y},{横幅},{縦幅}
ELSE
	;カラーブレンドが設定されている場合、適用して合成
	CALL カラーブレンド取得(カラーマトリクス, カラーブレンド名)
	GDRAWSPRITE グラフィックID, リソース名, POS_X, POS_Y,  横幅, 縦幅, カラーマトリクス:0:0
	DEBUGPRINTFORML 画像合成：%リソース名%:{グラフィックID},{POS_X},{POS_Y},{横幅},{縦幅},%カラーブレンド名%
ENDIF
SIF RESULT == 0
	RETURN 0
RETURN 1

;********************************************************************************************
;リソース新規作成関数
;引数に渡した名称のスプライトリソースを、第二引数に渡したグラフィックIDで作成する
;********************************************************************************************
@リソース登録(リソース名, グラフィックID)
#DIMS リソース名
#DIM グラフィックID
SIF SPRITECREATED(リソース名)
	;すでにその名前のリソースが存在すると失敗する。
	RETURN 0
SIF !GCREATED(グラフィックID)
	;元となるグラフィックIDが未作成、または廃棄済みであった場合失敗する。
	RETURN 0
SPRITECREATE リソース名, グラフィックID
RETURN 1

;********************************************************************************************
;カラーブレンド取得関数
;カラーブレンド名を取得する関数
;カラーマトリクスの初期化関数はこの下にあります
;********************************************************************************************
@カラーブレンド取得(カラーマトリクス, カラーブレンド名)
#DIM REF カラーマトリクス, 0, 0	;使用するカラーマトリクスを格納する変数 参照渡し
#DIMS カラーブレンド名			;カラーブレンドの名称
SIF !カラーマトリクス初期化フラグ
	;今回起動時にカラーマトリクスが初期化されていない場合は初期化を行う
	CALL カラーマトリクス初期化
;カラーマトリクス参照変数にベースから取得したマトリクスを代入する
SELECTCASE カラーブレンド名
	CASE "青"
		CALL カラーマトリクス取得(カラーマトリクス, 0)
	CASE "紫"
		CALL カラーマトリクス取得(カラーマトリクス, 1)
	CASE "赤"
		CALL カラーマトリクス取得(カラーマトリクス, 2)
	CASE "黄"
		CALL カラーマトリクス取得(カラーマトリクス, 3)
	CASE "緑"
		CALL カラーマトリクス取得(カラーマトリクス, 4)
	CASE "水"
		CALL カラーマトリクス取得(カラーマトリクス, 5)
	CASE "白"
		CALL カラーマトリクス取得(カラーマトリクス, 6)
	CASE "灰"
		CALL カラーマトリクス取得(カラーマトリクス, 7)
	CASE "黒"
		CALL カラーマトリクス取得(カラーマトリクス, 8)
	CASE "栗"
		CALL カラーマトリクス取得(カラーマトリクス, 9)
	CASE "桃"
		CALL カラーマトリクス取得(カラーマトリクス, 10)
	CASE "橙"
		CALL カラーマトリクス取得(カラーマトリクス, 11)
	CASE "普通"
		CALL カラーマトリクス取得(カラーマトリクス, 12)
	CASE "褐色"
		CALL カラーマトリクス取得(カラーマトリクス, 13)
	CASE "黄色"
		CALL カラーマトリクス取得(カラーマトリクス, 14)
	CASE "日焼け"
		CALL カラーマトリクス取得(カラーマトリクス, 15)
	CASE "不健康"
		CALL カラーマトリクス取得(カラーマトリクス, 16)
	CASE "悪魔"
		CALL カラーマトリクス取得(カラーマトリクス, 17)
	CASE "朱色"
		CALL カラーマトリクス取得(カラーマトリクス, 18)
	CASE "銀"
		CALL カラーマトリクス取得(カラーマトリクス, 19)
	CASE "金"
		CALL カラーマトリクス取得(カラーマトリクス, 20)
	CASE "土気色"
		CALL カラーマトリクス取得(カラーマトリクス, 21)
	CASEELSE
		CALL カラーマトリクス取得(カラーマトリクス, 12)
ENDSELECT
RETURN 1

;********************************************************************************************
;カラーマトリクス取得関数
;ディクショナリーライブラリから引用
;********************************************************************************************
@カラーマトリクス取得(カラーマトリクス, MID)
#DIM REF カラーマトリクス, 0, 0
#DIM MID ;マトリクスID
FOR LOCAL, 0, 5
	FOR LOCAL:1, 0, 5
		カラーマトリクス:LOCAL:(LOCAL:1) = カラーマトリクスベース:MID:LOCAL:(LOCAL:1)
	NEXT
NEXT
RETURN 1

;********************************************************************************************
;カラーマトリクス初期化関数
;ディクショナリーライブラリから引用
;基本青色素材用なので、色々試してカラーマトリクス作ってみたよ！って人はフィードバックくれると
;嬉しいです。
;********************************************************************************************
@カラーマトリクス初期化
#DIM _CNT
;"[青:0][紫:1][赤:2][黄:3][緑:4][水:5][白:6][黒:7][灰:8][栗:9][桃:10][橙:11]"
;"[普通:12][褐色:13][黄色:14][日焼:15][不健康:16][悪魔:17]"
_CNT = 0;"青"
	カラーマトリクスベース:_CNT:0:0 = 256,  0,  0,  0,  0;R
	カラーマトリクスベース:_CNT:1:0 =   0,256,  0,  0,  0;G
	カラーマトリクスベース:_CNT:2:0 =   0,  0,256,  0,  0;B
	カラーマトリクスベース:_CNT:3:0 =   0,  0,  0,256,  0;A
	カラーマトリクスベース:_CNT:4:0 =   0,  0,  0,  0,256;平行
_CNT = 1;"紫"
	カラーマトリクスベース:_CNT:0:0 = 196,196,  0,  0,  0;R
	カラーマトリクスベース:_CNT:1:0 =   0,196,196,  0,  0;G
	カラーマトリクスベース:_CNT:2:0 = 196,  0,196,  0,  0;B
	カラーマトリクスベース:_CNT:3:0 =   0,  0,  0,256,  0;A
	カラーマトリクスベース:_CNT:4:0 =   0,  0,  0,  0,256;平行
_CNT = 2;"赤"
	カラーマトリクスベース:_CNT:0:0 =   0,256,  0,  0,  0
	カラーマトリクスベース:_CNT:1:0 =   0,  0,256,  0,  0
	カラーマトリクスベース:_CNT:2:0 = 256,  0,  0,  0,  0
	カラーマトリクスベース:_CNT:3:0 =   0,  0,  0,256,  0
	カラーマトリクスベース:_CNT:4:0 =   0,  0,  0,  0,256
_CNT = 3;"黄"
	カラーマトリクスベース:_CNT:0:0 =   0,196,196,  0,  0;
	カラーマトリクスベース:_CNT:1:0 = 196,  0,196,  0,  0;
	カラーマトリクスベース:_CNT:2:0 = 196,196,  0,  0,  0;
	カラーマトリクスベース:_CNT:3:0 =   0,  0,  0,256,  0;
	カラーマトリクスベース:_CNT:4:0 =   0,  0,  0,  0,256;
_CNT = 4;"緑"
	カラーマトリクスベース:_CNT:0:0 =   0,  0,256,  0,  0
	カラーマトリクスベース:_CNT:1:0 = 256,  0,  0,  0,  0
	カラーマトリクスベース:_CNT:2:0 =   0,256,  0,  0,  0
	カラーマトリクスベース:_CNT:3:0 =   0,  0,  0,256,  0
	カラーマトリクスベース:_CNT:4:0 =   0,  0,  0,  0,256
_CNT = 5;"水"
	カラーマトリクスベース:_CNT:0:0 = 196,  0,196,  0,  0;
	カラーマトリクスベース:_CNT:1:0 = 196,196,  0,  0,  0;
	カラーマトリクスベース:_CNT:2:0 =   0,196,196,  0,  0;
	カラーマトリクスベース:_CNT:3:0 =   0,  0,  0,256,  0;
	カラーマトリクスベース:_CNT:4:0 =   0,  0,  0,  0,256;
_CNT = 6;"白"//元絵が青一色だから
	カラーマトリクスベース:_CNT:0:0 = 128,128,128,  0,  0;
	カラーマトリクスベース:_CNT:1:0 = 128,128,128,  0,  0;
	カラーマトリクスベース:_CNT:2:0 = 128,128,128,  0,  0;
	カラーマトリクスベース:_CNT:3:0 =   0,  0,  0,256,  0;
	カラーマトリクスベース:_CNT:4:0 =   0,  0,  0,  0,256;
_CNT = 7;"灰"
	カラーマトリクスベース:_CNT:0:0 = 128,128,128,  0,  0;
	カラーマトリクスベース:_CNT:1:0 = 128,128,128,  0,  0;
	カラーマトリクスベース:_CNT:2:0 = 128,128,128,  0,  0;
	カラーマトリクスベース:_CNT:3:0 =   0,  0,  0,256,  0;
	カラーマトリクスベース:_CNT:4:0 = -64,-64,-64,  0,256;
_CNT = 8;"黒"
	カラーマトリクスベース:_CNT:0:0 = 128,128,128,  0,  0;
	カラーマトリクスベース:_CNT:1:0 = 128,128,128,  0,  0;
	カラーマトリクスベース:_CNT:2:0 = 128,128,128,  0,  0;
	カラーマトリクスベース:_CNT:3:0 =   0,  0,  0,256,  0;
	カラーマトリクスベース:_CNT:4:0 = -128,-128,-128,  0,256;
_CNT = 9;"栗"
	カラーマトリクスベース:_CNT:0:0 =  56, 30,  6,  0,  0;
	カラーマトリクスベース:_CNT:1:0 =  56, 30,  6,  0,  0;
	カラーマトリクスベース:_CNT:2:0 =  56, 30,  6,  0,  0;
	カラーマトリクスベース:_CNT:3:0 =   0,  0,  0,256,  0;
	カラーマトリクスベース:_CNT:4:0 =   0,  0,  0,  0,256;
_CNT = 10;"桃"
	カラーマトリクスベース:_CNT:0:0 = 126, 58, 76,  0,  0;
	カラーマトリクスベース:_CNT:1:0 = 126, 58, 76,  0,  0;
	カラーマトリクスベース:_CNT:2:0 = 126, 58, 76,  0,  0;
	カラーマトリクスベース:_CNT:3:0 =   0,  0,  0,256,  0;
	カラーマトリクスベース:_CNT:4:0 =   3,  3,  3,  0,256;
_CNT = 11;"橙"
	カラーマトリクスベース:_CNT:0:0 = 128, 71,  0,  0,  0;
	カラーマトリクスベース:_CNT:1:0 = 128, 71,  0,  0,  0;
	カラーマトリクスベース:_CNT:2:0 = 128, 71,  0,  0,  0;
	カラーマトリクスベース:_CNT:3:0 =   0,  0,  0,256,  0;
	カラーマトリクスベース:_CNT:4:0 =   0,  0,  0,  0,256;
_CNT = 12;"普通"
	カラーマトリクスベース:_CNT:0:0 = 256,  0,  0,  0,  0;R
	カラーマトリクスベース:_CNT:1:0 =   0,256,  0,  0,  0;G
	カラーマトリクスベース:_CNT:2:0 =   0,  0,256,  0,  0;B
	カラーマトリクスベース:_CNT:3:0 =   0,  0,  0,256,  0;A
	カラーマトリクスベース:_CNT:4:0 =   0,  0,  0,  0,256;平行
_CNT = 13;"褐色" (0.9, 0.7, 0.7)
	カラーマトリクスベース:_CNT:0:0 = 231,  0,  0,  0,  0;R
	カラーマトリクスベース:_CNT:1:0 =   0,180,  0,  0,  0;G
	カラーマトリクスベース:_CNT:2:0 =   0,  0,180,  0,  0;B
	カラーマトリクスベース:_CNT:3:0 =   0,  0,  0,256,  0;A
	カラーマトリクスベース:_CNT:4:0 =   0,  0,  0,  0,256;平行
_CNT = 14;"黄色" (1.05, 1.05, 1)
	カラーマトリクスベース:_CNT:0:0 = 269,  0,  0,  0,  0;R
	カラーマトリクスベース:_CNT:1:0 =   0,269,  0,  0,  0;G
	カラーマトリクスベース:_CNT:2:0 =   0,  0,256,  0,  0;B
	カラーマトリクスベース:_CNT:3:0 =   0,  0,  0,256,  0;A
	カラーマトリクスベース:_CNT:4:0 =   0,  0,  0,  0,256;平行
_CNT = 15;"日焼" (1.2, 0.95, 0.95)
	カラーマトリクスベース:_CNT:0:0 = 308,  0,  0,  0,  0;R
	カラーマトリクスベース:_CNT:1:0 =   0,244,  0,  0,  0;G
	カラーマトリクスベース:_CNT:2:0 =   0,  0,244,  0,  0;B
	カラーマトリクスベース:_CNT:3:0 =   0,  0,  0,256,  0;A
	カラーマトリクスベース:_CNT:4:0 =   0,  0,  0,  0,256;平行
_CNT = 16;"不健康" (1.2, 1.05, 1.2)
	カラーマトリクスベース:_CNT:0:0 = 308,  0,  0,  0,  0;R
	カラーマトリクスベース:_CNT:1:0 =   0,269,  0,  0,  0;G
	カラーマトリクスベース:_CNT:2:0 =   0,  0,308,  0,  0;B
	カラーマトリクスベース:_CNT:3:0 =   0,  0,  0,256,  0;A
	カラーマトリクスベース:_CNT:4:0 =   0,  0,  0,  0,256;平行
_CNT = 17;"悪魔" (0.75, 0.75, 1.5)
	カラーマトリクスベース:_CNT:0:0 = 192,  0,  0,  0,  0;R
	カラーマトリクスベース:_CNT:1:0 =   0,192,  0,  0,  0;G
	カラーマトリクスベース:_CNT:2:0 =   0,  0,384,  0,  0;B
	カラーマトリクスベース:_CNT:3:0 =   0,  0,  0,256,  0;A
	カラーマトリクスベース:_CNT:4:0 =   0,  0,  0,  0,256;平行
_CNT = 18;"朱色"
	カラーマトリクスベース:_CNT:0:0 = 384,  0,  0,  0,  0;R
	カラーマトリクスベース:_CNT:1:0 =   0,244,  0,  0,  0;G
	カラーマトリクスベース:_CNT:2:0 =   0,  0,192,  0,  0;B
	カラーマトリクスベース:_CNT:3:0 =   0,  0,  0,256,  0;A
	カラーマトリクスベース:_CNT:4:0 = -16,-16,-16,  0,256;
_CNT = 19;"銀"
	カラーマトリクスベース:_CNT:0:0 = 162, 64,162,  0,  0;
	カラーマトリクスベース:_CNT:1:0 = 162,162, 64,  0,  0;
	カラーマトリクスベース:_CNT:2:0 =  64,162,162,  0,  0;
	カラーマトリクスベース:_CNT:3:0 =   0,  0,  0,256,  0;
	カラーマトリクスベース:_CNT:4:0 =  -8, -8, -8,  0,256;
_CNT = 20;"金"
	カラーマトリクスベース:_CNT:0:0 =   0,196,179,  0,  0;
	カラーマトリクスベース:_CNT:1:0 = 179,  0,196,  0,  0;
	カラーマトリクスベース:_CNT:2:0 = 196,179,  0,  0,  0;
	カラーマトリクスベース:_CNT:3:0 =   0,  0,  0,256,  0;
	カラーマトリクスベース:_CNT:4:0 =   0,  0,  0,  0,256;
_CNT = 21;"土気色" (0.90, 0.90, 0.85)
	カラーマトリクスベース:_CNT:0:0 = 230,  0,  0,  0,  0;R
	カラーマトリクスベース:_CNT:1:0 =   0,230,  0,  0,  0;G
	カラーマトリクスベース:_CNT:2:0 =   0,  0,218,  0,  0;B
	カラーマトリクスベース:_CNT:3:0 =   0,  0,  0,256,  0;A
	カラーマトリクスベース:_CNT:4:0 =   0,  0,  0,  0,256;平行
カラーマトリクス初期化フラグ = 1
RETURN 1


code:
@BASE자연변동(ARG)
#DIM 체력회복량
#DIM 기력회복량
#DIM 욕구불만
#DIM 우산대미지
#DIM Lapse
#DIM 지저
#DIMS 低気圧位置
低気圧位置 = %GET_LOCATION_LOW()%
Lapse = TIME_PROGRESS(TIME:1)

;MASTER와 같은 장소에 없을 때
IF CFLAG:ARG:현재위치 != CFLAG:MASTER:현재위치
	BASE:ARG:무드 = BASE:ARG:무드 - Lapse * 4 * (BASE:ARG:무드 + 500) / 500
	BASE:ARG:무드 = MAX(0, BASE:ARG:무드)
	BASE:ARG:이성 = BASE:ARG:이성 + Lapse * (MAXBASE:ARG:이성 + 500) / (BASE:ARG:이성 + 500)
ELSE
	;선향옥토による補正　무드↑이성↓분노↓
	IF IsInsenceValid(ARG)
		BASE:ARG:무드 += Lapse * (SQRT(TFLAG:선향옥토) / 2)
		BASE:ARG:무드 = MIN(BASE:ARG:무드 , MAXBASE:ARG:무드)
		BASE:ARG:이성 -= Lapse * (SQRT(TFLAG:선향옥토) / 2)
		BASE:ARG:분노 -= Lapse * SQRT(TFLAG:선향옥토) / (CFLAG:ARG:빡침 + 1)
	ENDIF
	;포이즌바디の媚毒付与による補正　이성↓ 발정付与・無差別だがそれなり注ぐ必要あり
	;計算式が複雑すぎる
	IF TCVAR:ARG:포이즌게이지
		BASE:ARG:이성 -= Lapse * (MAX(SQRT(TCVAR:ARG:포이즌게이지) / 2, 1))
		IF BASE:ARG:이성 <= 0 && PALAM:ARG:욕정 >= PALAMLV:7 && TCVAR:ARG:발정 == 0 && !TALENT:ARG:임신
			;1000ほどゲージを稼ぐと3割程度で발정付与　欲求不満度が上がるほど確率向上
			IF RAND:(TCVAR:ARG:포이즌게이지 + SQRT(TCVAR:ARG:포이즌게이지 * CFLAG:ARG:욕구불만도 / 2)) > SQRT(TCVAR:ARG:포이즌게이지) * 20
				TCVAR:ARG:발정 = 1
				IF Lapse && !CFLAG:ARG:수면
					SETCOLOR C_PINK
					PRINTFORML 신체에 \@ TCVAR:ARG:포이즌게이지 > 1000 ? 충분히 #  \@ 스며든 미독이 %CALLNAME:ARG%의 이성을 녹여 간다…
					PRINTFORMW %ARG는% 발정해버렸다
					RESETCOLOR
				ENDIF
			ENDIF
		ENDIF
	ENDIF
ENDIF
;ガシングガーデン　이성↓욕구불만도↑ 발정付与 약독내성・비생물には効かない
IF IsGardenValid(ARG)
	BASE:ARG:이성 -= Lapse * MAX(RAND:(ABL:ARG:욕망 + 1), 4)
	욕구불만 = 욕구불만소질보정(ARG, (2 * Lapse))
	;自宅マップでないと上昇量が半減
	SIF !IN_HOME(TFLAG:GG설치위치)
		욕구불만 /= 2
	CFLAG:ARG:욕구불만도 = LIMIT(CFLAG:ARG:욕구불만도 + 욕구불만, 0, 1000)
	SIF BASE:ARG:이성 <= 0 && CFLAG:ARG:욕구불만도 >= 1000 && PALAM:ARG:욕정 >= PALAMLV:5 && !TALENT:ARG:임신
		TCVAR:ARG:발정 = 1
ENDIF
BASE:ARG:이성 = LIMIT(BASE:ARG:이성, 0, MAXBASE:ARG:이성)

;업무중의 경우, 일량이 감소한다
IF CFLAG:ARG:행동 == 5
	BASE:ARG:일량 = MAX(BASE:ARG:일량 - Lapse * 10, 0)
	;연회에서 감추고 있는 경우 술기운이 상승
	SIF CFLAG:ARG:직종 == 49 && !(TALENT:ARG:술내성 == -2 || CFLAG:ARG:임신자각상태 == 1)
		BASE:ARG:술기운 += Lapse * (RAND:3 * (4 - TALENT:ARG:술내성))
ENDIF
;분노는 항상 감소한다
BASE:ARG:분노 = BASE:ARG:분노 - Lapse * 5 / (CFLAG:ARG:빡침 + 1)
;연회의 자리라면 한층 더 감소한다
SIF CFLAG:ARG:직종 == 49 && CFLAG:ARG:빡침 > 0
	BASE:ARG:분노 -= Lapse * 5 / (CFLAG:ARG:빡침 + 1)
SIF BASE:ARG:분노 <= 0
	CFLAG:ARG:빡침 = 0
BASE:ARG:분노 = MAX(0, BASE:ARG:분노)
;술기운은 항상 감소한다
BASE:ARG:술기운 = BASE:ARG:술기운 - Lapse
;만취시는 감소량이 증가한다
SIF TCVAR:ARG:만취
	BASE:ARG:술기운 -= Lapse * (RAND:4)
BASE:ARG:술기운 = MAX(0, BASE:ARG:술기운)
;수면심도의 변동
IF CFLAG:ARG:수면
	;자고 있는 경우
	TCVAR:ARG:수면심도 += Lapse * 10 * MAX(TCVAR:ARG:수면제강도, 1)
	TCVAR:ARG:수면심도 += (BASE:ARG:술기운 / 5 + TCVAR:ARG:피로도 / 3)
	TCVAR:ARG:피로도    = TCVAR:ARG:피로도 * 2 / 3
	SIF TCVAR:ARG:피로도 < 100
		TCVAR:ARG:피로도 = 0
ELSE
	;자지 않았다
	IF TCVAR:ARG:수면심도 > 0
		TCVAR:ARG:수면심도 -= Lapse * 10
	ELSE
		TCVAR:ARG:수면심도 = 0
	ENDIF
ENDIF

;언짢음
SIF CFLAG:ARG:언짢음
	BASE:ARG:분노 = MAXBASE:ARG:분노

;발기도의 자연 증감
IF CFLAG:ARG:우후후
	IF BASE:ARG:발기 <= 900 && (BASE:ARG:정력 >= 500 || TCVAR:ARG:국사무쌍약)
		BASE:ARG:발기 += Lapse * 2
		SIF BASE:ARG:정력 >= 1000 || TCVAR:ARG:국사무쌍약
			BASE:ARG:발기 += Lapse * 5
	ENDIF
ELSE
	SIF CFLAG:ARG:발기도2 <= CFLAG:ARG:발기도 && !TCVAR:ARG:이기초
		BASE:ARG:발기 = MAX(0,BASE:ARG:발기 - Lapse * 20)
ENDIF
IF ARG == MASTER
	IF BASE:ARG:발기 <= 900 && BASE:ARG:정력 >= 500
		FOR LOCAL, 1, GET_TARGETNUM() + 1
			SIF !CFLAG:(TARGET:LOCAL):우후후
				CONTINUE
			;리얼리티는 차치하고 우선
			BASE:MASTER:발기 += GET_TARGETNUM() * 5
			BREAK
		NEXT
		SIF TARGET
			BASE:MASTER:발기 += MIN(10, 1 + ABL:TARGET:욕망 / 5) * Lapse
	ENDIF
	;사양이 올바른 것인지 모르지만 수면간보너스
	SIF CFLAG:MASTER:장난 == 2 || FLAG:70
		BASE:MASTER:발기 += 5
ENDIF
BASE:ARG:발기 = MIN(BASE:ARG:발기, MAXBASE:ARG:발기)

;미약플래그
TCVAR:ARG:미약 = MAX(TCVAR:ARG:미약 - Lapse,0)
;이뇨제
TCVAR:ARG:이뇨제 = MAX(TCVAR:ARG:이뇨제 - Lapse,0)
;춘약 플래그
TCVAR:ARG:춘약 = MAX(TCVAR:ARG:춘약 - Lapse,0)
;선향옥토
IF ARG == MASTER
	TFLAG:선향옥토 = MAX(TFLAG:선향옥토 - Lapse,0)
	TFLAG:포이즌바디 = MAX(TFLAG:포이즌바디 - Lapse, 0)
ENDIF
;포이즌게이지
TCVAR:ARG:포이즌게이지 = MAX(TCVAR:ARG:포이즌게이지 - (Lapse * MAX(TCVAR:ARG:포이즌게이지 / 100, 1)), 0)

욕구불만 = 0
IF (TCVAR:ARG:춘약 || TCVAR:ARG:발정 || IsInsenceValid(ARG)) && ARG != MASTER
	욕구불만 = 욕구불만소질보정(ARG,Lapse)
	CFLAG:ARG:욕구불만도 = LIMIT(CFLAG:ARG:욕구불만도 + 욕구불만, 0, 1000)
ENDIF
;데일리 감산 처리
CFLAG:ARG:데일리 = MAX(CFLAG:ARG:데일리 - Lapse,0)
;더러움을 붙인다
TCVAR:ARG:더럽히는양 = 0
IF AT_HOME(ARG) || CFLAG:ARG:현재위치 == OMANEKIBEYA()
	TCVAR:ARG:더럽히는양 = CFLAG:ARG:수면 ? 0 # 3 - ABL:ARG:청소기능 / (1 + TALENT:ARG:게으름)
	SIF TALENT:ARG:유치
		TCVAR:ARG:더럽히는양 += 2
	SIF CFLAG:ARG:초기위치 == CFLAG:ARG:현재위치 && TALENT:ARG:게으름
		TCVAR:ARG:더럽히는양 += 3
	SIF CFLAG:ARG:대청소 > 0
		TCVAR:ARG:더럽히는양 = CFLAG:ARG:수면 ? 0 # 1 + TALENT:ARG:유치 - 3 * (ABL:ARG:청소기능 + 1)
	;청소를 하고 있는 경우, 더러움이 감소
	IF CFLAG:ARG:직종 == 40 && CFLAG:ARG:행동 == 5
		TCVAR:ARG:더럽히는양 = -2 * (ABL:ARG:청소기능 * 20 + 100)
	;청소부는 12~18시의 사이 청소하는, 당신의 기능이 높으면 청소시켜 주지 않다
	ELSEIF TALENT:ARG:청소부 && CFLAG:ARG:신사거주 && BETWEENTIME(720,1080)
		TCVAR:ARG:더럽히는양 = -1 * MAX(ABL:ARG:청소기능 + 2 - ABL:MASTER:청소기능, 1)
	ENDIF
	YOGORE:(CFLAG:ARG:현재위치) += TCVAR:ARG:더럽히는양 * Lapse / 5
	YOGORE:(CFLAG:ARG:현재위치) = LIMIT(YOGORE:(CFLAG:ARG:현재위치), 0, 6000)
ENDIF
IF !CFLAG:ARG:우후후 && CFLAG:ARG:행동 != 5 && Lapse >= 10 && ARG
	체력회복량 = (10 + TALENT:ARG:회복속도) * Lapse / 20
	기력회복량 = (10 + TALENT:ARG:회복속도) * Lapse / 20
	;회복량이 100 미만인 경우 숨김
	CALL RECOVER(ARG, 체력회복량,"체력", 체력회복량 < 100 ? "" # "시간경과에 의한 자연 회복" )
	CALL RECOVER(ARG, 기력회복량,"기력", 기력회복량 < 100 ? "" # "시간경과에 의한 자연 회복" )
ENDIF
;쇠약의 처리
IF CFLAG:ARG:쇠약
	체력회복량 = (3 + TALENT:ARG:회복속도) * MAXBASE:ARG:체력/2000
	기력회복량 = (3 + TALENT:ARG:회복속도) * MAXBASE:ARG:기력/2000
	;동침 상태라면 상대의 회복량이 상승
	IF CFLAG:ARG:동침중
		체력회복량 *= 2
		기력회복량 *= 2
	ENDIF
	CALL RECOVER(ARG,Lapse * 체력회복량,"체력")
	CALL RECOVER(ARG,Lapse * 기력회복량,"기력")
	CFLAG:ARG:쇠약 = MAX(CFLAG:ARG:쇠약 - Lapse, 0)
	IF BASE:ARG:체력 > MAXBASE:ARG:체력 / 2
		CFLAG:ARG:쇠약 = 0
		TCVAR:ARG:휴식중 = 0
	ENDIF
ENDIF
;비, 눈이 내리고 있는 경우, 지붕이 없으면 체력이 조금씩 줄어든다
;신사 밖으로 있는 캐릭터는 줄어들지 않지만 당신과 데이트중의 상대는 줄어든다
;비로 쇠약 상태는 되지 않는다
IF OUTROOF(CFLAG:ARG:현재위치) && (AT_HOME(ARG) || ARG == MASTER || FLAG:데이트상대 == ARG)
	;당신이 접 이식 우산을 가지고 있지 않은 경우
	IF ARG == MASTER && !ITEM:접는우산
		SELECTCASE TIME:5
			;비·안개비
			CASE 4, 6
				;불필요한 타이밍에 메시지가 나오지 않게
				SIF Lapse && !TFLAG:195 && !CFLAG:ARG:우후후 && !CFLAG:ARG:수면
					PRINTW 비에 젖어서 쌀쌀하다
			;큰 비
			CASE 5
				SIF Lapse && !TFLAG:195 && !CFLAG:ARG:우후후 && !CFLAG:ARG:수면
					PRINTW 차가운 빗줄기가 피부를 찌르고 있다
			;눈·가루눈·안개눈·진눈깨비
			CASE 8, 10, 12
				SIF Lapse && !TFLAG:195 && !CFLAG:ARG:우후후 && !CFLAG:ARG:수면
					PRINTW 눈을 뒤집어써서 쌀쌀하다
			;폭설
			CASE 9
				SIF Lapse && !TFLAG:195 && !CFLAG:ARG:우후후 && !CFLAG:ARG:수면
					PRINTW 폭설에 몸이 얼어붙을 것 같다
			;(天候パッチ)豪雨・ひょうを追加、あられを変更
			;あられ
			CASE 13
				IF GET_HEAT_THUNDERSTORM() == 1
					SIF Lapse && !TFLAG:195 && !CFLAG:ARG:우후후 && !CFLAG:ARG:수면
						PRINTW 싸라기눈에 힘차게 맞아서 아프다
				ELSE
					SIF Lapse && !TFLAG:195 && !CFLAG:ARG:우후후 && !CFLAG:ARG:수면
						PRINTW 눈을 뒤집어써서 쌀쌀하다
				ENDIF
			;豪雨
			CASE 14
				SIF Lapse && !TFLAG:195 && !CFLAG:ARG:우후후 && !CFLAG:ARG:수면
					PRINTW 폭포수 같은 비가 몸에 부딪친다
			;ひょう
			CASE 15
				SIF Lapse && !TFLAG:195 && !CFLAG:ARG:우후후 && !CFLAG:ARG:수면
					PRINTW 굵은 우박이 몸을 아프게 한다
		ENDSELECT
	;당신이 접 이식 우산 을 가지고 있는과 체력 대신에 우산내구도가 줄어든다
	ELSEIF ARG == MASTER
		SELECTCASE TIME:5
			;안개비, 안개눈
			CASE 6, 12
				우산대미지 = 1
				;(天候パッチ)風速の影響
				IF WIND_VELOCITY == 1
					우산대미지 += 20
				ELSEIF WIND_VELOCITY == 2
					우산대미지 += 50
				ELSEIF WIND_VELOCITY >= 3
					우산대미지 += 100
				ENDIF
			;진눈깨비
			CASE 13
				우산대미지 = 5
				;(天候パッチ)風速の影響
				IF WIND_VELOCITY == 1
					우산대미지 += 50
				ELSEIF WIND_VELOCITY == 2
					우산대미지 += 200
				ELSEIF WIND_VELOCITY >= 3
					우산대미지 += 400
				ENDIF
			;비·눈·가루눈
			CASE 4, 6, 8, 10, 12
				우산대미지 = 2
				;(天候パッチ)風速の影響
				IF WIND_VELOCITY == 1
					우산대미지 += 30
				ELSEIF WIND_VELOCITY == 2
					우산대미지 += 100
				ELSEIF WIND_VELOCITY >= 3
					우산대미지 += 200
				ENDIF
			;폭우·폭설
			CASE 5, 9
				우산대미지 = 20
				;(天候パッチ)風速の影響
				IF WIND_VELOCITY == 1
					우산대미지 += 50
				ELSEIF WIND_VELOCITY == 2
					우산대미지 += 200
				ELSEIF WIND_VELOCITY >= 3
					우산대미지 += 400
				ENDIF
			;(天候パッチ)豪雨・ひょうを追加
			;豪雨
			CASE 14
				우산대미지 = 50
				;(天候パッチ)風速の影響
				IF WIND_VELOCITY == 1
					우산대미지 += 50
				ELSEIF WIND_VELOCITY == 2
					우산대미지 += 150
				ELSEIF WIND_VELOCITY >= 3
					우산대미지 += 300
				ENDIF
			;ひょう
			CASE 15
				우산대미지 = 100
				;(天候パッチ)風速の影響
				IF WIND_VELOCITY == 1
					우산대미지 += 50
				ELSEIF WIND_VELOCITY == 2
					우산대미지 += 200
				ELSEIF WIND_VELOCITY >= 3
					우산대미지 += 400
				ENDIF
			CASEELSE
				우산대미지 = 0
		ENDSELECT
			FLAG:우산내구도 += 우산대미지 * Lapse
			IF FLAG:우산내구도 > 10000
				ITEM:접는우산 = 0
				ITEMSALES:36 ++
				FLAG:우산내구도 = 0
				ITEM:망가진우산 = 1
				SIF EQUIP:TARGET:액세서리!= 6
					TEQUIP:TARGET:한우산을씀 = 0
				CALL COLORMESSAGE(@"우산이 망가졌다!",C_YELLOW,2)
			ELSEIF FLAG:우산내구도 > 8000 && 우산대미지
				SIF Lapse && !TFLAG:195 && !CFLAG:ARG:우후후 && !CFLAG:ARG:수면
					CALL COLORMESSAGE(@"우산이 망가질 것 같다…",C_YELLOW,1)
			ENDIF
	ENDIF
	SIF (CFLAG:ARG:우후후 == 2 && BASE:ARG:기력 > 500) || CFLAG:ARG:우후후 != 2
		BASE:ARG:체력 = MAX(BASE:ARG:체력 + 날씨에의한영향(ARG, CFLAG:ARG:현재위치) * Lapse, 500)
ENDIF

;(天候パッチ)雷・竜巻遭遇判定
지저 = 0
IF CFLAG:MASTER:데이트중 == 9
	지저 = 1
ELSEIF CFLAG:MASTER:현재위치 == OMANEKIBEYA() && GROUPMATCH(CFLAG:MASTER:초대, 36, 37, 38, 49, 60, 64, 83, 84)
	지저 = 1
ENDIF
IF OUTROOF(CFLAG:ARG:현재위치) && ARG == MASTER && Lapse && !CFLAG:ARG:우후후 && !CFLAG:ARG:수면 && CFLAG:MASTER:현재위치 != 천계 && !지저
	IF GET_FRONTAL_THUNDERSTORM() == 1 && GET_HEAT_THUNDERSTORM() == 1 && GET_WEATHER_THUNDERSTORM() == 1
		CALL COLORMESSAGE(@"천둥이 심하게 치고 있다",C_YELLOW,2)
	ELSEIF (GET_FRONTAL_THUNDERSTORM() == 1 || GET_HEAT_THUNDERSTORM() == 1) && GET_WEATHER_THUNDERSTORM() == 1
		CALL COLORMESSAGE(@"천둥소리가 들려온다",C_YELLOW,2)
	ENDIF
ENDIF

IF OUTROOF(CFLAG:ARG:현재위치) && ARG == MASTER && WIND_VELOCITY >= 2 && Lapse && !CFLAG:ARG:우후후 && !CFLAG:ARG:수면 && CFLAG:MASTER:현재위치 != 천계 && !지저
	IF CAN_CUMULUS:2 == 2 && RAND:10 == 0
		SETCOLOR C_RED
		PRINTW 회오리바람이다！！
		RESETCOLOR
		PRINTL
		PRINTW 회오리바람에 휘말려버려 날아가 버렸다……
		PRINTL
		CALL ASK_DIARY("회오리바람과 조우했다")
		BASE:MASTER:체력 -= (MAXBASE:MASTER:체력 * 3)
	ELSEIF GET_FRONTAL_THUNDERSTORM() == 1 && GET_HEAT_THUNDERSTORM() == 1 && ATMOSPHERIC_INSTABILITY <= -2 && TIME:5 >= 13 && RAND:30 == 0
		SETCOLOR C_RED
		PRINTW 회오리바람이다！！
		RESETCOLOR
		PRINTL
		PRINTW 회오리바람에 휘말려버려 날아가 버렸다……
		PRINTL
		CALL ASK_DIARY("회오리바람과 조우했다")
		BASE:MASTER:체력 -= (MAXBASE:MASTER:체력 * 3)
	ENDIF
ELSEIF OUTROOF(CFLAG:ARG:현재위치) && ARG == MASTER && Lapse && !CFLAG:ARG:우후후 && !CFLAG:ARG:수면 && CFLAG:MASTER:현재위치 != 천계 && !지저
	IF (低気圧位置 == "台風接近暴風域" || 低気圧位置 == "台風通過暴風域") && IS_TYPHOON:1 >= 5 && WIND_VELOCITY >= 3 && RAND:10 == 0
		PRINTFORML …길을 걷고 있는데 무언가가 이쪽으로 날아왔다
		SETCOLOR C_RED
		PRINTW 쓰러진 나무다！！
		RESETCOLOR
		PRINTL
		PRINTFORML 폭풍에 날려진 쓰러진 나무가 %CALLNAME:MASTER%에게 직격했다…
		PRINTL
		;CALL ASK_DIARY("날아온 물건에 직격했다")
		BASE:MASTER:체력 -= (MAXBASE:MASTER:체력 * 3)
	ELSEIF WIND_VELOCITY >= 3 && RAND:20 == 0
		PRINTFORML …길을 걷고 있는데 무언가가 이쪽으로 날아왔다
		SETCOLOR C_RED
		PRINTW 짐수레다！！
		RESETCOLOR
		PRINTL
		PRINTFORML 폭풍에 날려진 짐수레가 %CALLNAME:MASTER%에게 직격했다…
		PRINTL
		;CALL ASK_DIARY("날아온 물건에 직격했다")
		BASE:MASTER:체력 -= (MAXBASE:MASTER:체력 * 2)
	ELSEIF (低気圧位置 == "台風接近暴風域" || 低気圧位置 == "台風通過暴風域") && IS_TYPHOON:1 >= 5 && WIND_VELOCITY >= 2 && RAND:40 == 0
		PRINTFORML …길을 걷고 있는데 무언가가 이쪽으로 날아왔다
		SETCOLOR C_RED
		PRINTW 기왓장이다！！
		RESETCOLOR
		PRINTL
		PRINTFORML 폭풍에 날려진 기왓장이 %CALLNAME:MASTER%에게 직격했다…
		PRINTL
		;CALL ASK_DIARY("날아온 물건에 직격했다")
		BASE:MASTER:체력 -= MAXBASE:MASTER:체력
	ELSEIF (低気圧位置 == "台風接近暴風域" || 低気圧位置 == "台風通過暴風域") && WIND_VELOCITY >= 2 && RAND:80 == 0
		PRINTFORML …길을 걷고 있는데 무언가가 이쪽으로 날아왔다
		SETCOLOR C_RED
		PRINTW 기왓장이다！！
		RESETCOLOR
		PRINTL
		PRINTFORML 폭풍에 날려진 기왓장이 %CALLNAME:MASTER%에게 직격했다…
		PRINTL
		;CALL ASK_DIARY("날아온 물건에 직격했다")
		BASE:MASTER:체력 -= MAXBASE:MASTER:체력
	ENDIF
ENDIF

;------------------------------------------
;캐릭터(ARG)가 지점(ARG:1)에 있을 때에 받는 체력에의 증감치
;이동 경향에서도 사용하므로 함수 로 분리
;------------------------------------------
@날씨에의한영향(ARG, ARG:1)
#FUNCTION
VARSET LOCAL
;옥외, 우산 장비 이루어, 한우산을씀 하지 않는다
IF OUTROOF(ARG:1) && EQUIP:ARG:액세서리!= 6 && !TEQUIP:ARG:한우산을씀
	;당신은 우산을 가지고 있으면 제외
	SIF ARG == MASTER && ITEM:접는우산
		RETURNF 0
	SELECTCASE TIME:5
		;여름의 맑음
		CASE 0
			SIF DAY:2 == 2 && (TALENT:ARG:수서 || TALENT:ARG:빙정 == 2)
				LOCAL = -2
		;여름의 맑은 하늘
		CASE 1
			SIF DAY:2 == 2 && (TALENT:ARG:수서 || TALENT:ARG:빙정 == 2)
				LOCAL = -3
		;비·안개비
		CASE 4, 6
			IF TALENT:ARG:수서
				LOCAL = 3
			ELSE
				LOCAL = -2
			ENDIF
		;눈·가루눈·안개눈·진눈깨비
		CASE 8, 10, 11, 12
			IF TALENT:ARG:빙정
				LOCAL = 3
			ELSE
				LOCAL = -2
			ENDIF
		;큰 비
		CASE 5
			IF TALENT:ARG:수서
				LOCAL = 3
			ELSE
				LOCAL = -3
			ENDIF
		;吹雪(天候パッチ)あられ
		CASE 9, 13
			IF TALENT:ARG:빙정
				LOCAL = 3
			ELSE
				LOCAL = -3
			ENDIF
		;(天候パッチ)豪雨・ひょうを追加
		;豪雨
		CASE 14
			IF TALENT:ARG:수서
				LOCAL = 3
			ELSE
				LOCAL = -6
			ENDIF
		;ひょう
		CASE 15
			LOCAL = -10
	ENDSELECT
	;(天候パッチ)風速の影響
	IF WIND_VELOCITY == 1
		LOCAL -= 1
	ELSEIF WIND_VELOCITY == 2
		LOCAL -= 3
	ELSEIF WIND_VELOCITY >= 3
		LOCAL -= 6
	ENDIF
ENDIF

;흡혈귀와 빙정는 대미지 2배, 당신도 방위할 수 있으므로 영향을 크고
SIF LOCAL < 0 && (TALENT:ARG:흡혈귀 || TALENT:ARG:빙정 || ARG == MASTER)
	TIMES LOCAL, 2.0
RETURNF LOCAL

@IsGardenValid(ARG)
#FUNCTION
SIF CFLAG:ARG:현재위치 != TFLAG:GG설치위치
	RETURNF 0
SIF ARG == MASTER
	RETURNF 0
SIF TALENT:ARG:인형
	RETURNF 0
SIF TALENT:ARG:약독내성
	RETURNF 0

RETURNF 1

@IsInsenceValid(ARG)
#FUNCTION
SIF !TFLAG:선향옥토
	RETURNF 0
SIF ARG == MASTER
	RETURNF 0
SIF CFLAG:ARG:현재위치 != CFLAG:MASTER:현재위치
	RETURNF 0
SIF TALENT:ARG:인형
	RETURNF 0
SIF TALENT:ARG:약독내성
	RETURNF 0
RETURNF TFLAG:선향옥토

@IsHeat(ARG)
#FUNCTION
SIF TCVAR:ARG:미약 || TCVAR:ARG:발정 || IsGardenValid(ARG)
	RETURNF 1
RETURNF 0


code:
;-----------------------------------------------------------
;맵 묘화 처리
;2캐릭터 세트의 반각 숫자(01이라든지)는 자동으로 버튼화, 전각 숫자는 인식하지 않는다
;-----------------------------------------------------------
@DRAW_MAP(ARGS)
#DIMS AA, 50
#DIMS COLOR, 50
#DIM MODE
#DIM LOCATION

#DIM LINENUM
#DIM X_POINT

;AA를 취득, 없으면 그대로 돌아간다
VARSET AA
VARSET COLOR
;SETFONT "ＭＳ ゴシック" 한판 임의수정, 한판은 굴림체이므로 누락
;외출 맵인가 어떤가의 분기
IF ARGS == "ODEKAKE"
	TRYCCALLFORM ODEKAKEMAP_{CFLAG:MASTER:데이트중}(AA)
	CATCH
		;SETFONT 한판 임의수정, 한판은 굴림체이므로 누락
		RETURN 0
	ENDCATCH
ELSE
	TRYCCALLFORM MAP_VIEWING(MAIN_MAP)
		CALL DRAW_INFORMATIONLINE(@"%MAPNAME:(TFLAG:맵변환)%")
		PRINTFORML
		IF RECOLOREDMAPS
			TRYCCALLFORM COLOREDMAP_%RESULTS%_{TFLAG:맵변환}(AA, COLOR)
			CATCH
				RECOLOREDMAPS = 0
				CALL DRAW_MAP
				RECOLOREDMAPS = 1
				RETURN
			ENDCATCH
		ELSE
			TRYCALLFORM MAP_%RESULTS%_{TFLAG:맵변환}(AA)
		ENDIF
	CATCH
		;SETFONT 한판 임의수정, 한판은 굴림체이므로 누락
		RETURN 0
	ENDCATCH
ENDIF

;-----------------------------------------------------------
;묘화 처리
;-----------------------------------------------------------
FOR LINENUM, 0, VARSIZE("AA")
	SIF AA:LINENUM == ""
		CONTINUE
	;행 마다 초기화
	X_POINT = 0
	RESULTS = I
	;행의 종단까지 루프
	WHILE RESULTS != "" && STRLENSU(RESULTS) < 3
		;1문자 꺼낸다
		SUBSTRINGU AA:LINENUM, X_POINT, 1
		;숫자라면 버튼으로 한다
		IF ISNUMERIC(RESULTS)
			;분기 귀찮기 때문에 반드시 2자릿수 취한다
			SUBSTRINGU AA:LINENUM, X_POINT, 2
			CALL GETMAP(TOINT(RESULTS), ARGS)
			X_POINT += 2
		;기호에 의미를 갖게하는 예, 이것이라면#은 보통으로는 사용할 수 없게 되지만 뭐 좋은가
		ELSEIF RESULTS == "#"
			;반드시 2 문자 잡는다
			SUBSTRINGU AA:LINENUM, X_POINT, 2
				IF ARGS == "HIKKOSHI"
					TRYCALLFORM DRAW_MAP_BG_{MAIN_MAP}(RESULTS)
				ELSE
				TRYCALLFORM DRAW_MAP_BG_{CFLAG:MASTER:데이트중}(RESULTS)
				ENDIF
			X_POINT += 2
		;보통의 문자
		ELSE
			;CALL DRAW_MAP_BG(RESULTS)
			IF ARGS == "HIKKOSHI"
				TRYCALLFORM DRAW_MAP_BG_{MAIN_MAP}(RESULTS)
			ELSE
				TRYCALLFORM DRAW_MAP_BG_{CFLAG:MASTER:데이트중}(RESULTS)
			ENDIF
			X_POINT ++
		ENDIF
	WEND
	PRINTL
NEXT
;SETFONT 한판 임의수정, 한판은 굴림체이므로 누락
RESETCOLOR
;------------------------------------------
;맵 표시 설정
;ARG    표시 맵의 MAPID
;ARG:1  판정할 장소ID（임의）
;------------------------------------------
@MAP_VIEWING(ARG, ARG:1)
SIF !TFLAG:맵변환
	TFLAG:맵변환 = MAP_AREASELECT(ARG, ARG:1)
RESULTS = %MAP_VIEWING_NAME(ARG)%

;------------------------------------------
;맵에 표시할 숫자 버튼 묘화 설정
;ARG   두자리 버튼 수치（장소ID의 뒷자리 두자리）
;ARGS  "ODEKAKE"=외출맵
;------------------------------------------
@GETMAP(ARG, ARGS)
#DIM P_ID
#DIM Q_ID

;외출맵
IF ARGS == "ODEKAKE"
	P_ID = (ARG * 10) + (CFLAG:MASTER:데이트중 * 100)
;거점 맵
ELSE
	P_ID = ARG + MAIN_MAP * 100
ENDIF
;위치짐작
IF TALENT:MASTER:위치짐작 && (FLAG:짐작모드 == 1 || ARGS == "ODEKAKE")
	IF ARGS != "ODEKAKE"
		;모브는 우선도 최저
		SIF ROOMDATA:ARG & 장소_모브
			SETCOLOR C_D_PINK
	ENDIF

	KEHAI = 0
	FOR LOCAL, 1, CHARANUM
		;内部構造判定,第三引数は第二と同じにする
		IF ARGS != "ODEKAKE" && GETMAP_BUILDING(MAIN_MAP, P_ID, P_ID)
			;内部にあたる場所をすべてチェック
			FOR Q_ID, MINROOM(), MAXROOM
				IF GETMAP_BUILDING(MAIN_MAP, P_ID, Q_ID) && CFLAG:LOCAL:현재위치 == Q_ID
					KEHAI = CHECK_HEHAI(LOCAL)
					SIF KEHAI > 1
						BREAK
				ENDIF
			NEXT
		;通常の地点
		ELSEIF CFLAG:LOCAL:현재위치 == P_ID
			KEHAI = CHECK_HEHAI(LOCAL)
		ENDIF
		;特定の行動優先
		SIF KEHAI > 1
			BREAK
	NEXT
	CALL SET_KEHAI_COLOR(KEHAI)
;汚部屋察知,お出かけマップ時は使わない
ELSEIF TALENT:MASTER:오방짐작 && FLAG:짐작모드 == 2 && ARGS != "ODEKAKE"
	SELECTCASE YOGORE:P_ID
		CASE IS < 1000
			SETCOLOR C_CREAM
		CASE IS < 2000
			SETCOLOR C_YELLOW
		CASE IS < 5000
			SETCOLOR C_V_PINK
		CASEELSE
			SETCOLOR C_RED
	ENDSELECT
ENDIF

;MASTERは優先度最高
SIF CFLAG:MASTER:현재위치 == P_ID
	SETCOLOR C_GREEN
;マッププレビュー時（SHOP画面か初期状態）
IF CFLAG:MASTER:수면 || (DAY == 1 && TIME == 0)
	SIF P_ID == Default초기위치 || CMATCH(CFLAG:집주인후보, P_ID, 1, CHARANUM)
		SETCOLOR C_ORANGE
ENDIF

IF ARGS == "ODEKAKE" && ARG >= 10
	;特殊ワープ用
	SETCOLOR C_P_PURPLE
	PRINTBUTTON "◇", ARG
ELSE
	PRINTBUTTON (ARG > 9 ? TOSTR(ARG) # TOFULL(TOSTR(ARG))), ARG
ENDIF
RESETCOLOR

;------------------------------------------
;위치감지한 인물의 행동
;------------------------------------------
@CHECK_HEHAI(ARG)
#FUNCTION
;仕事中
IF CFLAG:ARG:행동 == 5
	RETURNF 2
;睡眠中
ELSEIF CFLAG:ARG:수면
	RETURNF 3
;自由行動中
ELSEIF Activity_Duration:ARG
	RETURNF 4
;何もしてない
ELSE
	RETURNF 1
ENDIF

;------------------------------------------
;위치감지의 착색
;------------------------------------------
@SET_KEHAI_COLOR(ARG)
;何もしてない＠ピンク
IF ARG == 1
	SETCOLOR C_H_PINK
;仕事中＠濃オレンジ
ELSEIF ARG == 2
	SETCOLOR C_D_ORANGE
;睡眠中＠紺色
ELSEIF ARG == 3
	SETCOLOR C_N_BLUE
;自由行動中＠黄色
ELSEIF ARG == 4
	SETCOLOR C_YELLOW
ENDIF

;--------------------------------------------------
;맵 공통의 묘화 처리
;ARG      SLICED
;#a～#d       텃밭의 묘화
;#e, #o, #p   거점 밖의 묘화（気配用）
;--------------------------------------------------
@MAP_PRINT(ARGS)
SELECTCASE ARGS
CASE "#a"
	IF HATAKE_NAME:0 != ""
		SETCOLOR C_P_GREEN
		PRINT VV
		RESETCOLOR
	ELSE
		PRINT
	ENDIF
CASE "#b"
	IF HATAKE_NAME:1 != ""
		SETCOLOR C_P_GREEN
		PRINT VV
		RESETCOLOR
	ELSE
		PRINT
	ENDIF
CASE "#c"
	IF HATAKE_NAME:2 != ""
		SETCOLOR C_P_GREEN
		PRINT VV
		RESETCOLOR
	ELSE
		PRINT
	ENDIF
CASE "#d"
	IF HATAKE_NAME:3 != ""
		SETCOLOR C_P_GREEN
		PRINT VV
		RESETCOLOR
	ELSE
		PRINT
	ENDIF
CASE "#e"
	SIF TALENT:MASTER:위치짐작 && COUNTCHARA:(MAXROOM) > 0 && FLAG:짐작모드 == 1
		SETCOLOR 255, 100, 200
	PRINT ↓
	RESETCOLOR
CASE "#o"
	SIF TALENT:MASTER:위치짐작 && COUNTCHARA:(MAXROOM) > 0 && FLAG:짐작모드 == 1
		SETCOLOR 255, 100, 200
	PRINT ←
	RESETCOLOR
CASE "#p"
	SIF TALENT:MASTER:위치짐작 && COUNTCHARA:(MAXROOM) > 0 && FLAG:짐작모드 == 1
		SETCOLOR 255, 100, 200
	PRINT →
	RESETCOLOR
;布団
;┌─┐　#f#j#g
;└─┘　#h#j#i
CASE "#f"
	SETCOLOR C_FUTON
	PRINT ┌
	RESETCOLOR
CASE "#g"
	SETCOLOR C_FUTON
	PRINT ┐
	RESETCOLOR
CASE "#h"
	SETCOLOR C_FUTON
	PRINT └
	RESETCOLOR
CASE "#i"
	SETCOLOR C_FUTON
	PRINT ┘
	RESETCOLOR
CASE "#j"
	SETCOLOR C_FUTON
	PRINT ─
	RESETCOLOR
;토리이
;┳━┳　#l#k#l
;╋━╋　#n#k#n
;┃　┃　#m　#m
CASE "#k"
	SETCOLOR C_TORII
	PRINT ━
	RESETCOLOR
CASE "#l"
	SETCOLOR C_TORII
	PRINT ┳
	RESETCOLOR
CASE "#m"
	SETCOLOR C_TORII
	PRINT ┃
	RESETCOLOR
CASE "#n"
	SETCOLOR C_TORII
	PRINT ╋
	RESETCOLOR
ENDSELECT

;===========================================================
;장소명 표시
;===========================================================
@PRINT_SPOT
#DIMS SPOTNAME, 100

VARSET SPOTNAME
CALLFORM MAP_SPOTNAME_{MAIN_MAP}(SPOTNAME)
FOR  LOCAL, 0, VARSIZE("SPOTNAME")
	IF SPOTNAME:LOCAL != ""
		IF MAIN_MAP * 100 + LOCAL != CFLAG:MASTER:현재위치
			PRINTBUTTON TOSTR(LOCAL, "00") + "." + SPOTNAME:LOCAL + "　", MAIN_MAP * 100 + LOCAL
		ELSE
			SETCOLOR 0x00FF00
			PRINTS TOSTR(LOCAL, "00") + "." + SPOTNAME:LOCAL + "　"
			RESETCOLOR
		ENDIF
	ENDIF
NEXT


code:
;FileName_JOB.ERB ----------------------------- Rev1. 00
;일 개시 처리
;CALL		USER
;ARG		캐릭터 NO
;RETURN		VOID
;COMMENT
;-----------------------------------------------------------
@CHARA_JOBSTR(ARG)
#DIM 이동전
#DIM 이동후
#DIMS HOLD_SAMEN

IF EX:ARG:질내정액 + EX:ARG:애널내정액 >= 500
	HOLD_SAMEN = 배에 충분히 정액을 모은
ELSEIF EX:ARG:질내정액 + EX:ARG:애널내정액 >= 100
	HOLD_SAMEN = 배에 정액을 모은
ELSE
	HOLD_SAMEN =
ENDIF

;FOR LOCAL, 0, CHARANUM
;	SIF CFLAG:LOCAL:직장 == 0 && CFLAG:LOCAL:행동 == 5
;		PRINTFORMW ### JOB 326ERROR %CALLNAME:LOCAL% ###
;NEXT
VARSET LOCAL
이동전 = 0
이동후 = 0
;울면서 일에게 성실하니까
IF CFLAG:ARG:우후후 && !GROUPMATCH(CFLAG:ARG:직종, 49, 51)
	PRINTFORMW %ARG는% \@ CFLAG:ARG:직장 == CFLAG:ARG:현재위치 ?  일을 시작하 # 일하러 가 \@지 않으면 안 되는 것 같다…
	CALL ENDUFUFU(ARG)
	CFLAG:MASTER:우후후 = 0
	TFLAG:106 = 0
	IF TFLAG:102 == 3 && TFLAG:껴안기모드
		TFLAG:껴안기모드 = 0
		TFLAG:102 = 1
	ENDIF
ENDIF

SIF CFLAG:ARG:행동 == 5
	CALL JOBMOVE(ARG)

IF CAN_SEE(ARG) && !TFLAG:원거리이동
	IF CFLAG:ARG:현재위치 == TFLAG:연회장 && TIME_PROGRESS(TIME:1) && (CFLAG:ARG:직종 == 49 || CFLAG:ARG:직종 == 51)
		CALL 연회묘사(ARG)
	ELSEIF CFLAG:ARG:현재위치 == CFLAG:ARG:직장 && TIME_PROGRESS(TIME:1)
		CALL 일정경묘사(ARG)
		IF BASE:ARG:일량
			;일이 아직 3분의 2이상 남아 있다
			IF BASE:ARG:일량 >= (MAXBASE:ARG:일량 / 3) * 2
				IF CFLAG:ARG:직종 == 48
					PRINTW 　연회 준비는 꽤 남아 있는 것 같다…
				ELSEIF CFLAG:ARG:직종 == 50
					PRINTW 　연회 정리는 꽤 남아 있는 것 같다…
				ELSEIF CFLAG:ARG:직종 == 46
					PRINTW 놀이에 몰두하고 있다…
				ELSE
					PRINTFORMW %조사처리(GET_JOBNAME(ARG),"는")% 꽤 남아 있는 것 같다…
				ENDIF
				LOCAL = 3
			;일이 아직 3분의 1이상 남아 있다
			ELSEIF BASE:ARG:일량 >= (MAXBASE:ARG:일량 / 3)
				IF CFLAG:ARG:직종 == 48
					PRINTW 　연회 준비가 끝나려면 아직 시간이 걸릴 것 같다…
				ELSEIF CFLAG:ARG:직종 == 50
					PRINTW 　연회 정리를 끝내려면 시간이 더 걸릴 것 같다…
				ELSEIF CFLAG:ARG:직종 == 46
					PRINTW 아직 더 놀고 싶은 것 같다…
				ELSE
					PRINTFORMW %조사처리(GET_JOBNAME(ARG),"가")% 끝나려면 아직 시간이 더 걸릴 것 같다…
				ENDIF
				LOCAL = 2
			ELSE
				IF CFLAG:ARG:직종 == 48
					PRINTW 　조금만 더 하면 연회 준비를 마칠 수 있을 것 같다…
				ELSEIF CFLAG:ARG:직종 == 50
					PRINTW 　조금만 더 하면 연회 정리를 끝낼 수 있을 것 같다…
				ELSEIF CFLAG:ARG:직종 == 46
					PRINTW 놀다 지친 것 같다…
				ELSE
					PRINTFORMW 조금 더 있으면 %조사처리(GET_JOBNAME(ARG),"가")% 끝날 것 같다…
				ENDIF
				LOCAL = 1
			ENDIF
			;통상의 일말 업무 중 한편 연회 플래그가 서지 않으면 표시한다
			SIF CFLAG:ARG:연회참가 == 0
				CALL KOJO_MESSAGE_SEND("EVENT", 13, ARG, 2, LOCAL)
		ENDIF
		;연회중의 경우만, 스무스하게 다음의 동작에 연결된다
		;술을 다 마셨을 때 에 1 턴 아무것도 하지 않고 멍하니 하는 것을 방지하는 처리
;		SIF CFLAG:ARG:연회참가 > 0 && BASE:ARG:일량 <= 0
;			CALL CHARA_JOBEND(ARG)
	ELSEIF CFLAG:ARG:직종 != 51
		IF !AT_HOME(ARG) && GET_MAPID(CFLAG:ARG:현재위치) != MAIN_MAP
			이동전 = 6000 + (CFLAG:ARG:현재위치 / 10)
		ELSE
			이동전 = CFLAG:ARG:현재위치
		ENDIF
		IF IN_HOME(CFLAG:ARG:직장) == 0 && GET_MAPID(CFLAG:ARG:직장) != MAIN_MAP
			이동후 = 6000 + (CFLAG:ARG:직장 / 10)
		ELSE
			이동후 = CFLAG:ARG:직장
		ENDIF
		;시간 경과하고 있지 않았으면 비표시
		IF !TIME_PROGRESS(TIME:1)
		;이동전과 이동 후의 위치가 같으면 비표시
		ELSEIF NAME_FROM_PLACE(이동전) == NAME_FROM_PLACE(이동후)
		ELSEIF CFLAG:ARG:현재위치 == OMANEKIBEYA()
			;방에 오르고 있으면 나온다, 미안합니다 귀찮은 것으로 지문 정리해 버립니다；
			CFLAG:MASTER:현재위치 = CFLAG:ARG:자택위치
			PRINTFORMW %ARG는% 용무가 있는 것 같아서 밖으로 나왔다
		ELSEIF CFLAG:ARG:직종 == 48
			PRINTFORM %HOLD_SAMEN% %ARG는% 연회를 준비하기 위해
			PRINTFORMS NAME_FROM_PLACE(이동전)
			PRINT 에서
			PRINTFORM %조사처리(NAME_FROM_PLACE(이동후),"로")%
			PRINTW 이동했습니다.
		ELSEIF CFLAG:ARG:직종 == 49
			PRINTFORM %HOLD_SAMEN% %ARG는%
			PRINTFORMS NAME_FROM_PLACE(이동전)
			PRINT 에서
			PRINTFORMS NAME_FROM_PLACE(이동후)
			PRINTW 의 연회에 참가하러 갔습니다.
		ELSEIF CFLAG:ARG:직종 == 46
			PRINTFORM %HOLD_SAMEN% %ARG는%
			PRINTFORMS NAME_FROM_PLACE(이동전)
			PRINT 에서
			PRINTFORMS NAME_FROM_PLACE(이동후)
			PRINTW 에 놀러 갔습니다.
		ELSE
			PRINTFORM %HOLD_SAMEN% %ARG는% %GET_JOBNAME(ARG)% 때문에
			PRINTFORMS NAME_FROM_PLACE(이동전)
			PRINT 에서
			PRINTFORM %조사처리(NAME_FROM_PLACE(이동후),"로")%
			PRINTW 이동했습니다.
		ENDIF

		;통상의 직장에 이동 말연회 플래그가 서지 않으면 표시한다
		SIF CFLAG:ARG:연회참가 == 0
			CALL KOJO_MESSAGE_SEND("EVENT", 13, ARG, 1, LOCAL)
	ENDIF
ENDIF
SIF CFLAG:ARG:동침중
	CALL SET_TOGETHER(0, ARG, 1)
SIF CFLAG:ARG:동행 && CFLAG:ARG:직종 != 51
	CFLAG:ARG:동행 = 0
IF FLAG:데이트상대 == ARG
	FLAG:데이트상대 = 0
	TFLAG:데이트전호감도 = 0
	CFLAG:ARG:데이트중 = MAIN_MAP
ENDIF
;직장에 이동
SIF CFLAG:ARG:직장 && SHIRAHU(ARG)
	CFLAG:ARG:현재위치 = CFLAG:ARG:직장
SIF CFLAG:ARG:직종 == 49 && !TCVAR:ARG:만취 && (BASE:ARG:술기운 > (MAXBASE:ARG:술기운 / 10) * 8)
	CALL ENKAI_DRUNK(ARG)
CFLAG:ARG:행동 = 5
IF TCVAR:ARG:갈아입음
	CALL OKIGAE(ARG, TCVAR:ARG:갈아입음)
ENDIF
;FileName_JOB.ERB ----------------------------- Rev1. 00
;일종료 처리
;CALL		USER
;ARG		캐릭터 NO
;RETURN		VOID
;COMMENT
;-----------------------------------------------------------
@CHARA_JOBEND(ARG)
;일 후 데일리 SET
SIF CFLAG:ARG:행동 == 5
	CALL SET_DERAY(3, ARG)

;일량을 0으로 한다
SIF CFLAG:ARG:행동 == 5
	BASE:ARG:일량 = 0
;이 타이밍에 피로 추가
CALL ADD_TIRED(ARG, MAXBASE:ARG:일량 / 2)

;업무중 플래그 OFF
CFLAG:ARG:행동 = 0
IF CFLAG:ARG:현재위치 == CFLAG:ARG:직장 && CFLAG:ARG:직종 != 51
	SELECTCASE CFLAG:ARG:직종
	CASE 46
		IF CFLAG:ARG:현재위치 == CFLAG:MASTER:현재위치
			PRINTFORMW %ARG는% 다 놀았습니다.
			;수고 하셨습니다 말
			SIF CFLAG:ARG:연회참가 == 0
				CALL KOJO_MESSAGE_SEND("EVENT", 13, ARG, 3,0)
		ENDIF
	CASE 48
		IF CFLAG:ARG:현재위치 == CFLAG:MASTER:현재위치
			PRINTFORMW %CALLNAME:ARG%의 연회 준비가 끝났습니다.
			SIF ARG == [[레이무]] ;원문 お疲れいむ
				PRINTL   수고하쿠레이
		ENDIF
		IF DAY == FLAG:개시일 && TIME >= FLAG:33
			CALL ENKAI_START(ARG)
		ELSEIF 연회개최중판정()
			CALL ENKAI_START(ARG)
		ENDIF
	CASE 49
		CALL ENKAI_DRUNK(ARG)
	CASE 50
		IF CFLAG:ARG:현재위치 == CFLAG:MASTER:현재위치
			PRINTFORMW %CALLNAME:ARG%의 연회 정리가 끝났습니다.
			SIF ARG == [[레이무]] ;원문 お疲れいむ
				PRINTL 　수고하쿠레이
		ENDIF
		CFLAG:ARG:직종 = 0
		CFLAG:ARG:연회참가 = 3
		CALL CHARA_JOBEND_GO_HOME(ARG)
	CASEELSE
		IF CFLAG:ARG:현재위치 == CFLAG:MASTER:현재위치
			PRINTFORMW %CALLNAME:ARG%의 %조사처리(GET_JOBNAME(ARG),"가")% 끝났습니다.
			;수고 하셨습니다 말
			CALL KOJO_MESSAGE_SEND("EVENT", 13, ARG, 3,0)
			IF MAXBASE:ARG:일량 < (TCVAR:ARG:도운양 * 3) && TCVAR:ARG:답례
				PRINTFORMW %CALLNAME:ARG%에서 %조사처리(ITEMNAME:(TCVAR:ARG:답례), "를")% 받았다
				ITEM:(TCVAR:ARG:답례) ++
			ENDIF
		ENDIF
		IF CFLAG:ARG:현재위치 / 100 != MAIN_MAP && !CFLAG:ARG:신사거주 && VISIT(ARG)
			IF !RAND:15
				IF FLAG:교류내방모드 == 1 && CFLAG:ARG:호감도 <= 50
				ELSEIF FLAG:교류내방모드 == 2 && !TALENT:ARG:사모 && !IS_LOVER(ARG) && !TALENT:ARG:연인 && !TALENT:ARG:섹프
				ELSEIF FLAG:교류내방모드 == 3
				ELSE
					CALL 주인공물건으로향한다(ARG)
				ENDIF
			ELSEIF CFLAG:ARG:현재위치 == CFLAG:MASTER:현재위치 && CAN_DATE(ARG) && !FLAG:데이트상대
				PRINTFORML %CALLNAME:ARG%에게 데이트 신청할까?
				CALL ASK_YN
				IF !RESULT
					CALL 외출처로부터권할수있을까(ARG)
					IF RESULT
						CFLAG:MASTER:동행 = 60
						CFLAG:ARG:동행 = 60
						CFLAG:ARG:데이트중 = CFLAG:MASTER:현재위치 / 100
						FLAG:데이트상대 = ARG
						TFLAG:데이트전호감도 = CFLAG:ARG:호감도
						TIME += 1
						PRINTFORMW 일을 마친 %ARG와% 데이트하기로 했다
						;필요한가 모르겠지만 일단
						RETURN
					ENDIF
				ENDIF
			ENDIF
		ENDIF
		CALL CHARA_JOBEND_GO_HOME(ARG)
	ENDSELECT
ENDIF

@CHARA_JOBEND_GO_HOME(ARG)
IF CFLAG:ARG:신사거주 && !AT_HOME(ARG)
	SIF CFLAG:ARG:현재위치 == CFLAG:MASTER:현재위치
		PRINTFORMW %ARG는% %GET_MAPNAME(MAIN_MAP)%로 돌아갔다
	CFLAG:ARG:현재위치 = MAXROOM
ENDIF


code:
;FileName_JOB.ERB ----------------------------- Rev1. 00
;휴일 판정 처리
;CALL		USER
;ARG		캐릭터 NO
;ARG:1(생략가능)	0:일이 끝나 있으면 휴일 1:일인 어느 날은 일일(일량·종료시각을 보지 않는다)
;RETURN		0:일일, 1:휴일
;COMMENT
;-----------------------------------------------------------
@CHARA_HOLIDAY(ARG, ARG:1=0)
#FUNCTION

;잔일량·일종료시간을 확인할까 분기
IF !ARG:1
	SIF BASE:ARG:일량 <= 0
		RETURNF 1
	SIF TCVAR:ARG:일종료 > 0 && TIME > TCVAR:ARG:일종료
		RETURNF 1
ENDIF
RETURNF TCVAR:ARG:일개시 == -1

;-----------------------------------------------------------
;@CHARA_HOLIDAY로부터 분리
;MOVEMENT가 불릴 때에 갱신된다
;ARG:1에 1을 설정하면(자) 연회나 업무중에 의한 스킵을 무시
;-----------------------------------------------------------
@일내용설정(ARG, ARG:1)
#DIM 청소하기
VARSET LOCAL

;CFLAG:350 직종(40, 청소　41, 회화　42, 전투　43, 교양　44, 요리　45, 음악 46, 놀이 47, 장사중(도울수없다) 48, 연회준비 49, 연회참가 50, 연회 정리 51, 연회 후의 취기 52, 여자 모임
;TCVAR:도울수없다 =1 도울수없다 =2 도와도 빨리는 끝나지 않는다
;연회계의 일은 여기에서는 설정하지 않습니다. 연회. ERB를 참조해 주세요.

;에이키 님은 일이 있습니다. 일꾼이군요.
;IF ARG == 30
	;기수일은 비번입니다
;	IF (DAY % 2 == 1)
;		BASE:ARG:일량 = 0
;	ENDIF

IF !ARG:1
	;현재 업무중이라면 돌아간다
	SIF CFLAG:ARG:행동 == 5
		RETURN

	;연회에 참가하는 놈은 그 날의 일을 쉰다
	IF FLAG:연회개최플래그 > 0 && CFLAG:ARG:연회참가 > 0
		IF !GROUPMATCH(CFLAG:ARG:직종, 48, 49, 50, 51)
			TCVAR:ARG:일개시 = -1
			TCVAR:ARG:일종료 = -1
		ENDIF
		RETURN
	ENDIF
ENDIF

IF CFLAG:ARG:출산휴가중
	TCVAR:ARG:일개시 = -1
	TCVAR:ARG:일종료 = -1
	RETURN
ENDIF

;일개시·일종료시각을―1으로 한다(개시시각이―1이라면 휴일이라고 판정)
TCVAR:ARG:일개시 = -1
TCVAR:ARG:일종료 = -1

;일의 처리
SELECTCASE ARG
;todo - possibly replace with a new framework if more cases like this appear
CASE [[코토히메]]
	;sometimes she skips
	TCVAR:ARG:일의유무 = RAND:4
	IF TCVAR:ARG:일의유무 != 0
		MAXBASE:ARG:일량 = 600 * 4
		TCVAR:ARG:일개시 = CLOCK_TO_TIME( 6, 0)
		TCVAR:ARG:일종료 = CLOCK_TO_TIME(10, 0)
		CFLAG:ARG:직장 = P202중앙광장
		CFLAG:ARG:직종 = 42
		TCVAR:ARG:급료 = 3
		TCVAR:ARG:도울수없다 = 2
	ENDIF
CASE [[레이무]]
	청소하기 = 0
	IF YOGORE:P22참배길 > 1000
		청소하기 = P22참배길
	ELSE
		청소하기 = FINDELEMENT(YOGORE, MAXARRAY(YOGORE, 1, 6), 1, 6)
	ENDIF
	IF 청소하기 <= 0
	ELSEIF YOGORE:청소하기 <= 1000
	ELSEIF TIME < CLOCK_TO_TIME(8, 0) && !TFLAG:대폭풍예보일
		CFLAG:ARG:직장 = 청소하기
		;아침 2시간 정도 청소하기
		MAXBASE:ARG:일량 = 600 * 2
		CFLAG:ARG:직종 = 40
		;TCVAR:ARG:도울수없다 = 1
		TCVAR:ARG:급료 = 0
		TCVAR:ARG:일개시 = CLOCK_TO_TIME( 6, 0)
		TCVAR:ARG:일종료 = CLOCK_TO_TIME( 8, 0)
	ENDIF
CASE [[루코토]]
	IF IS_WEEKDAY(DAY)
		MAXBASE:ARG:일량 = 600 * 3
		TCVAR:ARG:일개시 = CLOCK_TO_TIME(18, 0)
		TCVAR:ARG:일종료 = CLOCK_TO_TIME(21, 0)
		CFLAG:ARG:직장 = P8부엌
		CFLAG:ARG:직종 = 44
		TCVAR:ARG:급료 = 2
	ENDIF
CASE [[미마]]
	IF YOUBI_MATCH(DAY, "월수")
	;월요일은 마리사, 수요일은 스이카의 상대
		MAXBASE:ARG:일량 = 600 * 3
		TCVAR:ARG:일개시 = CLOCK_TO_TIME(16, 0)
		TCVAR:ARG:일종료 = CLOCK_TO_TIME(19, 0)
		CFLAG:ARG:직장 = P11마당
		CFLAG:ARG:직종 = 42
		TCVAR:ARG:급료 = 5
		TCVAR:ARG:답례 = GETNUM(ITEM, "엿")
	ELSEIF YOUBI_MATCH(DAY, "일") && INRANGE(DAY:3, 8, 14) && !TFLAG:대폭풍예보일
		CALL JOB_여자회(ARG)
	ENDIF
CASE [[서니]]
	IF IS_WEEKEND(DAY)
		CALL JOB_요정의놀이(ARG)
	ENDIF
CASE [[루나]]
	IF IS_WEEKEND(DAY)
		CALL JOB_요정의놀이(ARG)
	ENDIF
CASE [[스타]]
	IF IS_WEEKEND(DAY)
		CALL JOB_요정의놀이(ARG)
	ENDIF
;치유리는 평일 일찍 일어나 연구실에
CASE [[치유리]]
	IF IS_WEEKDAY(DAY)
		MAXBASE:ARG:일량 = 600 * 6
		TCVAR:ARG:일개시 = CLOCK_TO_TIME( 6, 0)
		TCVAR:ARG:일종료 = CLOCK_TO_TIME(12, 0)
		CFLAG:ARG:직장 = P49몽환유적・연구실
		CFLAG:ARG:직종 = 43
		TCVAR:ARG:급료 = 3
	ENDIF
;유메미도 연구 짓고
CASE [[유메미]]
	IF IS_WEEKDAY(DAY)
		MAXBASE:ARG:일량 = 600 * 6
		TCVAR:ARG:일개시 = CLOCK_TO_TIME(11, 0)
		TCVAR:ARG:일종료 = CLOCK_TO_TIME(17, 0)
		CFLAG:ARG:직장 = P49몽환유적・연구실
		CFLAG:ARG:직종 = 43
		TCVAR:ARG:급료 = 3
	ENDIF
CASE [[스이카]]
	;스이카 월요일은 술마시기, 수요일은 트레이닝
	;임신 자각시 술 취소
	IF YOUBI_MATCH(DAY, "월") && CFLAG:ARG:임신자각상태 == 0
		MAXBASE:ARG:일량 = 600 * 5
		TCVAR:ARG:일개시 = CLOCK_TO_TIME(16, 0)
		TCVAR:ARG:일종료 = CLOCK_TO_TIME(21, 0)
		CFLAG:ARG:직장 = P10툇마루
		CFLAG:ARG:직종 = 41
		TCVAR:ARG:급료 = 0
	ELSEIF YOUBI_MATCH(DAY, "수") && !TFLAG:대폭풍예보일
		MAXBASE:ARG:일량 = 600 * 3
		TCVAR:ARG:일개시 = CLOCK_TO_TIME(16, 0)
		TCVAR:ARG:일종료 = CLOCK_TO_TIME(19, 0)
		CFLAG:ARG:직장 = P11마당
		CFLAG:ARG:직종 = 42
		TCVAR:ARG:급료 = 1
	ENDIF
CASE [[마리사]]
	IF YOUBI_MATCH(DAY, "월") && !TFLAG:대폭풍예보일
		MAXBASE:ARG:일량 = 600 * 6
		TCVAR:ARG:일개시 = CLOCK_TO_TIME(13, 0)
		TCVAR:ARG:일종료 = CLOCK_TO_TIME(19, 0)
		CFLAG:ARG:직장 = P6헛간
		CFLAG:ARG:직종 = 40
		TCVAR:ARG:급료 = 1
	ENDIF
CASE [[루미아]]
	IF YOUBI_MATCH(DAY, "화") && CFLAG:ARG:임신경과일수 <= 36 && MAIN_MAP != 1 ;일본판 임신경과일수 71
		MAXBASE:ARG:일량 = 600 * 2
		TCVAR:ARG:일개시 = CLOCK_TO_TIME(22,  0)
		TCVAR:ARG:일종료 = CLOCK_TO_TIME(24, 00)
		CFLAG:ARG:직장 = P140지장길
		CFLAG:ARG:직종 = 42
		TCVAR:ARG:급료 = 0
		TCVAR:ARG:답례 = GETNUM(ITEM, "정체불명고기")
		RETURN
	ENDIF
CASE [[대요정]]
	IF IS_WEEKEND(DAY)
		CALL JOB_요정의놀이(ARG)
	ENDIF
CASE [[치르노]]
	IF IS_WEEKEND(DAY)
		CALL JOB_요정의놀이(ARG)
	;아침에 일어 나, 눈이 내리고 있으면(자) 논다
	ELSEIF TIME:5 == 8
		MAXBASE:ARG:일량 = 600 * 1
		TCVAR:ARG:일개시 = CLOCK_TO_TIME( 6, 0)
		TCVAR:ARG:일종료 = CLOCK_TO_TIME( 7, 0)
		CFLAG:ARG:직장 = P343호숫가
		CFLAG:ARG:직종 = 46
		TCVAR:ARG:급료 = 0
	;여름 개이고 맑은 하늘 아이스크림 가게
	ELSEIF (DAY:2 == 2 && TIME:5 < 2)
		MAXBASE:ARG:일량 = 600 * 5
		TCVAR:ARG:일개시 = CLOCK_TO_TIME(10, 0)
		TCVAR:ARG:일종료 = CLOCK_TO_TIME(15, 0)
		CFLAG:ARG:직장 = P202중앙광장
		CFLAG:ARG:직종 = 41
		TCVAR:ARG:급료 = 0
		TCVAR:ARG:답례 = GETNUM(ITEM, "아이스크림")
	ENDIF
CASE [[사쿠야]]
	IF YOUBI_MATCH(DAY, "월수금")
		IF TIME <= CLOCK_TO_TIME(12, 0)
		;~12:00
			MAXBASE:ARG:일량 = 600 * 4
			TCVAR:ARG:일개시 = CLOCK_TO_TIME( 8, 0)
			TCVAR:ARG:일종료 = CLOCK_TO_TIME(12, 0)
			CFLAG:ARG:직장 = P309객실
			CFLAG:ARG:직종 = 40
			TCVAR:ARG:급료 = 5
			TCVAR:ARG:답례 = GETNUM(ITEM, "홍차")
		ELSEIF !BASE:ARG:일량 && TIME <= CLOCK_TO_TIME(16, 59)
		;12:01~16:59
			BASE:ARG:일량 = 1200
		ELSE
		;17:00~
			MAXBASE:ARG:일량 = 600 * 2
			TCVAR:ARG:일개시 = CLOCK_TO_TIME(17, 0)
			TCVAR:ARG:일종료 = CLOCK_TO_TIME(19, 0)
			CFLAG:ARG:직장 = P313주방
			CFLAG:ARG:직종 = 44
			TCVAR:ARG:급료 = 5
			TCVAR:ARG:답례 = GETNUM(ITEM, "홍차")
		ENDIF
	ENDIF
CASE [[레밀리아]]
	IF YOUBI_MATCH(DAY, "일") && !TFLAG:대폭풍예보일
		MAXBASE:ARG:일량 = 300
		TCVAR:ARG:일개시 = CLOCK_TO_TIME(18, 30)
		TCVAR:ARG:일종료 = CLOCK_TO_TIME(19,  0)
		CFLAG:ARG:직장 = P327작은발코니
		CFLAG:ARG:직종 = 43
		TCVAR:ARG:급료 = 5
	ENDIF
CASE [[앨리스]]
	IF DAY % 14 == 0 && !TFLAG:대폭풍예보일
		MAXBASE:ARG:일량 = 600 * 3
		TCVAR:ARG:일개시 = CLOCK_TO_TIME(10, 0)
		TCVAR:ARG:일종료 = CLOCK_TO_TIME(13, 0)
		CFLAG:ARG:직장 = P202중앙광장
		CFLAG:ARG:직종 = 40
		TCVAR:ARG:급료 = 5
		TCVAR:ARG:답례 = GETNUM(ITEM, "엿")
		TCVAR:ARG:도울수없다 = 1
	ELSEIF GROUPMATCH(DAY:3, 7, 16, 17, 27)
		MAXBASE:ARG:일량 = 600 * 2
		TCVAR:ARG:일개시 = CLOCK_TO_TIME(10, 0)
		TCVAR:ARG:일종료 = CLOCK_TO_TIME(12, 0)
		;자신의 집의 부엌
		CFLAG:ARG:직장 = P525인형저택・거실
		;신사에 거주해 하고 있는 경우 신사의 부엌
		SIF FLAG:더부살이캐릭터 == ARG && MAIN_MAP == 0
			CFLAG:ARG:직장 = P8부엌
		CFLAG:ARG:직종 = 44
		TCVAR:ARG:급료 = 0
		TCVAR:ARG:답례 = GETNUM(ITEM, "엿")
	ENDIF
CASE [[유메코]]
	IF YOUBI_MATCH(DAY,"월목")
		;掃除が仕事だけど、基本앨리스의 인형がやってくれてるから月木のみ
		MAXBASE:ARG:일량 = 600 * 4;=2400=4時間
		CFLAG:ARG:직종 = 40;掃除
		CFLAG:ARG:직장 = P520인형저택앞;洋館前 스타트
		TCVAR:ARG:일개시 = CLOCK_TO_TIME(7, 0)
		TCVAR:ARG:일종료 = CLOCK_TO_TIME(11, 00)
		TCVAR:ARG:급료 = 3
		TCVAR:ARG:답례 = GETNUM(ITEM, "홍차")
	ENDIF
CASE [[루나사]], [[메를랑]], [[리리카]]
	IF  DAY % 28 == 21 && !TFLAG:대폭풍예보일
		MAXBASE:ARG:일량 = 600 * 6
		TCVAR:ARG:일개시 = CLOCK_TO_TIME(13, 0)
		TCVAR:ARG:일종료 = CLOCK_TO_TIME(19, 0)
		CFLAG:ARG:직장 = P202중앙광장
		TCVAR:ARG:도울수없다 = 1
		CFLAG:ARG:직종 = 47
		TCVAR:ARG:급료 = 5
	ENDIF
CASE [[요우무]]
	IF YOUBI_MATCH(DAY, "수")
		MAXBASE:ARG:일량 = 600 * 3
		TCVAR:ARG:일개시 = CLOCK_TO_TIME(13, 0)
		TCVAR:ARG:일종료 = CLOCK_TO_TIME(16, 0)
		CFLAG:ARG:직장 = P216식료품가게
		CFLAG:ARG:직종 = 41
		TCVAR:ARG:급료 = 3
	ENDIF
CASE [[란]]
	IF GROUPMATCH(DAY:3, 5, 20)
		MAXBASE:ARG:일량 = 600 * 6
		TCVAR:ARG:일개시 = CLOCK_TO_TIME(10, 0)
		TCVAR:ARG:일종료 = CLOCK_TO_TIME(16, 0)
		CFLAG:ARG:직장 = 4
		CFLAG:ARG:직종 = 43
		TCVAR:ARG:급료 = 5
	ENDIF
CASE [[유카리]]
	IF (DAY:2 == 4 && DAY:3 == 30)
		MAXBASE:ARG:일량 = 600 * 14
		TCVAR:ARG:일개시 = CLOCK_TO_TIME(13,  0)
		TCVAR:ARG:일종료 = CLOCK_TO_TIME(24, 00)
		;원래는 180≒다음날 3시를 상정?
		;날 넘어 처리는 귀찮지만 하려고 생각하면 할 수 없지는 않는, 은 두
		CFLAG:ARG:직장 = P4본당
		CFLAG:ARG:직종 = 43
		TCVAR:ARG:급료 = 5
	ELSEIF YOUBI_MATCH(DAY, "일") && INRANGE(DAY:3, 8, 14) && !TFLAG:대폭풍예보일
		CALL JOB_여자회(ARG)
	ENDIF
CASE [[미스티아]]
	;-는 이따금 포장마차를 열고 있습니다. 미 술 정말 좋아합니다.
	;3일에 한 번 포장마차 열고 있습니다
	;이렇게 한다고 캘린더의 일자 준거가 되어 알기 쉽다고 생각하지만 제발
	;IF DAY:3 % 3 == 0
	IF DAY % 3 == 0
		MAXBASE:ARG:일량 = 600 * 8
		TCVAR:ARG:일개시 = CLOCK_TO_TIME(16,  0)
		TCVAR:ARG:일종료 = CLOCK_TO_TIME(24, 00)
		CFLAG:ARG:직종 = 44
		TCVAR:ARG:급료 = 2
		CFLAG:ARG:직장 = P444밤참새의포장마차
		TCVAR:ARG:답례 = GETNUM(ITEM, "야트메꼬치")
	ENDIF
CASE [[아야]]
	IF YOUBI_MATCH(DAY, "금")
		;시간에 비해 일량 빈데 해
		MAXBASE:ARG:일량 = 600 * 4
		TCVAR:ARG:일개시 = CLOCK_TO_TIME(13, 0)
		TCVAR:ARG:일종료 = CLOCK_TO_TIME(19, 0)
		CFLAG:ARG:직장 = P808아야댁
		CFLAG:ARG:직종 = 43
		TCVAR:ARG:급료 = 4
	ENDIF
CASE [[에이키]]
	IF DAY % 2 == 0
		;에이키님は偶数日にお仕事があります。働き者ですね。
		MAXBASE:ARG:일량 = 600 * 10
		TCVAR:ARG:일개시 = CLOCK_TO_TIME( 9, 0)
		TCVAR:ARG:일종료 = CLOCK_TO_TIME(19, 0)
		CFLAG:ARG:직장 = P612법정
		CFLAG:ARG:직종 = 43
		TCVAR:ARG:급료 = 0
		TCVAR:ARG:도울수없다 = 1
	ENDIF
CASE [[사나에]]
	IF YOUBI_MATCH(DAY, "화금") && !TFLAG:대폭풍예보일
		MAXBASE:ARG:일량 = 600 * 4
		TCVAR:ARG:일개시 = CLOCK_TO_TIME(12, 0)
		TCVAR:ARG:일종료 = CLOCK_TO_TIME(16, 0)
		CFLAG:ARG:직장 = P202중앙광장
		CFLAG:ARG:직종 = 41
		TCVAR:ARG:급료 = 3
	ENDIF
CASE [[카나코]]
	IF DAY:2 == 2 && DAY:3 == 5 && !TFLAG:대폭풍예보일
		MAXBASE:ARG:일량 = 600 * 3
		TCVAR:ARG:일개시 = CLOCK_TO_TIME( 9, 0)
		TCVAR:ARG:일종료 = CLOCK_TO_TIME(12, 0)
		CFLAG:ARG:직장 = P222서당
		CFLAG:ARG:직종 = 41
		TCVAR:ARG:급료 = 0
		TCVAR:ARG:답례 = GETNUM(ITEM, "떡잎으로싼떡")
	ELSEIF YOUBI_MATCH(DAY, "일") && INRANGE(DAY:3, 8, 14)
		CALL JOB_여자회(ARG)
	ENDIF
CASE [[스와코]]
	IF MONEY < 500 && !MAIN_MAP
		MAXBASE:ARG:일량 = 600 * 2
		TCVAR:ARG:일개시 = CLOCK_TO_TIME(11, 0)
		TCVAR:ARG:일종료 = CLOCK_TO_TIME(13, 0)
		CFLAG:ARG:직장 = P8부엌
		CFLAG:ARG:직종 = 44
		TCVAR:ARG:급료 = 5
	ENDIF
CASE [[텐시]]
	IF YOUBI_MATCH(DAY, "토") && !TFLAG:대폭풍예보일
		MAXBASE:ARG:일량 = 100
		TCVAR:ARG:일개시 = CLOCK_TO_TIME(10,  0)
		TCVAR:ARG:일종료 = CLOCK_TO_TIME(10, 10)
		CFLAG:ARG:직장 = P3새전함
		CFLAG:ARG:직종 = 41
		TCVAR:ARG:급료 = 0
		TCVAR:ARG:도울수없다 = 1
	ENDIF
CASE [[이쿠]]
	IF YOUBI_MATCH(DAY, "화")
		MAXBASE:ARG:일량 = 600 * 1
		TCVAR:ARG:일개시 = CLOCK_TO_TIME(20, 0)
		TCVAR:ARG:일종료 = CLOCK_TO_TIME(21, 0)
		CFLAG:ARG:직장 = P830현운해
		CFLAG:ARG:직종 = 41
		TCVAR:ARG:급료 = 5
	ENDIF
CASE [[오린]]
	IF IS_WEEKDAY(DAY)
		;시간 준거라면600*5=3000
		MAXBASE:ARG:일량 = 5000
		TCVAR:ARG:일개시 = CLOCK_TO_TIME( 7, 0)
		TCVAR:ARG:일종료 = CLOCK_TO_TIME(12, 0)
		CFLAG:ARG:직장 = P928작열지옥터
		CFLAG:ARG:직종 = 42
		TCVAR:ARG:급료 = 3
		TCVAR:ARG:도울수없다 = 2
	ENDIF
CASE [[오쿠]]
	IF IS_WEEKDAY(DAY)
		MAXBASE:ARG:일량 = 600 * 3
		TCVAR:ARG:일개시 = CLOCK_TO_TIME(10, 0)
		TCVAR:ARG:일종료 = CLOCK_TO_TIME(13, 0)
		CFLAG:ARG:직장 = P929지옥의인공태양
		CFLAG:ARG:직종 = 43
		TCVAR:ARG:급료 = 2
		TCVAR:ARG:도울수없다 = 2
	ENDIF
CASE [[코가사]]
	IF YOUBI_MATCH(DAY, "화금") && !TFLAG:대폭풍예보일
		MAXBASE:ARG:일량 = 600 * 4
		TCVAR:ARG:일개시 = CLOCK_TO_TIME(20, 0)
		TCVAR:ARG:일종료 = CLOCK_TO_TIME(24, 0)
		CFLAG:ARG:직종 = 41
		TCVAR:ARG:급료 = 1
		CFLAG:ARG:직장 = P222서당

		;명련사 강당
		SIF YOUBI_MATCH(DAY, "화")
			CFLAG:ARG:직장 = P104강당
	ENDIF
CASE [[누에]]
	;누에는 매월6일에 소악마와 요리
	IF DAY:3 == 6
		MAXBASE:ARG:일량 = 600 * 1
		TCVAR:ARG:일개시 = CLOCK_TO_TIME(22, 0)
		TCVAR:ARG:일종료 = CLOCK_TO_TIME(23, 0)
		CFLAG:ARG:직장 = P313주방
		CFLAG:ARG:직종 = 44
		TCVAR:ARG:급료 = 5
		TCVAR:ARG:도울수없다 = 2
	ENDIF
;2022/09/27加筆
;人里のカフェ（呑屋小道）を間借りして写真館・失せ物屋を開く
CASE [[하타테]]
	IF YOUBI_MATCH(DAY, "토") && !TFLAG:대폭풍예보일
		;妊娠中は仕事量をセーブ
		IF CFLAG:ARG:임신자각상태 == 1
			MAXBASE:ARG:일량 = 600 * 3
			TCVAR:ARG:일개시 = CLOCK_TO_TIME(17, 0)
			TCVAR:ARG:일종료 = CLOCK_TO_TIME(20, 0)
		ELSE
			MAXBASE:ARG:일량 = 600 * 5
			TCVAR:ARG:일개시 = CLOCK_TO_TIME(17, 0)
			TCVAR:ARG:일종료 = CLOCK_TO_TIME(22, 0)
		ENDIF
		CFLAG:ARG:직장 = P212카페
		CFLAG:ARG:직종 = 43
		TCVAR:ARG:급료 = 1
	ENDIF
CASE [[카센]]
	IF YOUBI_MATCH(DAY, "토") && !TFLAG:대폭풍예보일
		MAXBASE:ARG:일량 = 600 * 5
		TCVAR:ARG:일개시 = CLOCK_TO_TIME(11, 0)
		TCVAR:ARG:일종료 = CLOCK_TO_TIME(16, 0)
		CFLAG:ARG:직장 = P217과자가게
		CFLAG:ARG:직종 = 41
		TCVAR:ARG:급료 = 0
		TCVAR:ARG:도울수없다 = 2
	ELSE
		MAXBASE:ARG:일량 = 600 * 2
		TCVAR:ARG:일개시 = CLOCK_TO_TIME(7, 0)
		TCVAR:ARG:일종료 = CLOCK_TO_TIME(9, 0)
		CFLAG:ARG:직장 = P722선인저택・도장
		CFLAG:ARG:직종 = 42
		TCVAR:ARG:급료 = 0
		TCVAR:ARG:도울수없다 = 2
	ENDIF
CASE [[엘렌]]
	;매월 15, 30일에 마을에 마법가게 출장
	IF GROUPMATCH(DAY:3, 15, 30) && !TFLAG:대폭풍예보일
		CFLAG:ARG:직장 = P202중앙광장
		CFLAG:ARG:직종 = 41
		TCVAR:ARG:급료 = 3
		MAXBASE:ARG:일량 = 600 * 5
		TCVAR:ARG:일개시 = CLOCK_TO_TIME(14, 0)
		TCVAR:ARG:일종료 = CLOCK_TO_TIME(19, 0)
	;그 이외의해는 개이고인가 흐림이라면5%의 확률로 마법의숲의 채집, 다만 메인 맵이 마법의숲 때 한정
	ELSEIF TIME:5 <= 3 && FLAG:일일이벤트 < 50 && MAIN_MAP == 5
		IF !RAND:2
			CFLAG:ARG:직장 = P540고목의큰나무
		ELSE
			CFLAG:ARG:직장 = P507버섯군생지
		ENDIF
		CFLAG:ARG:직종 = 43
		TCVAR:ARG:급료 = 3
		MAXBASE:ARG:일량 = 600 * 5
		TCVAR:ARG:일개시 = CLOCK_TO_TIME( 7, 0)
		TCVAR:ARG:일종료 = CLOCK_TO_TIME(12, 0)
		TCVAR:ARG:도울수없다 = 2
	ENDIF
CASE [[플랑]]
	IF DAY % 2
		MAXBASE:ARG:일량 = 600 * 1
		TCVAR:ARG:일개시 = CLOCK_TO_TIME(19, 0)
		TCVAR:ARG:일종료 = CLOCK_TO_TIME(20, 0)
		CFLAG:ARG:직장 = P329창고
		CFLAG:ARG:직종 = 46
		TCVAR:ARG:급료 = 0
	ENDIF
CASE [[우동게]]
	IF YOUBI_MATCH(DAY, "화") && !TFLAG:대폭풍예보일
		MAXBASE:ARG:일량 = 600 * 5
		TCVAR:ARG:일개시 = CLOCK_TO_TIME(10, 0)
		TCVAR:ARG:일종료 = CLOCK_TO_TIME(15, 0)
		CFLAG:ARG:직장 = P202중앙광장
		CFLAG:ARG:직종 = 41
		TCVAR:ARG:급료 = 3
		TCVAR:ARG:갈아입음 = OBJNAME_TO_ID(ARG, "GET", "의상세트", "우동게 약장수 세트")
	ELSEIF YOUBI_MATCH(DAY, "목")
		MAXBASE:ARG:일량 = 600 * 8
		TCVAR:ARG:일개시 = CLOCK_TO_TIME(10, 0)
		TCVAR:ARG:일종료 = CLOCK_TO_TIME(18, 0)
		CFLAG:ARG:직장 = P405조제실
		CFLAG:ARG:직종 = 53
		TCVAR:ARG:급료 = 2
		SIF TALENT:MASTER:조합지식
			TCVAR:ARG:급료 = 3
	ENDIF
CASE [[파츄리]]
	;쳇은 진짜 은둔 형 외톨이
	IF !TALENT:ARG:연모 || YOUBI_MATCH(DAY, "토")
		CFLAG:ARG:직장 = P310도서관
		TCVAR:ARG:일개시 = 480
		TCVAR:ARG:일개시 = CLOCK_TO_TIME( 8, 0)
		SELECTCASE CFLAG:ARG:2
		CASE IS <  100
			MAXBASE:ARG:일량 = 600 * 15
			TCVAR:ARG:일종료 = CLOCK_TO_TIME(23, 0)
		CASE IS <  500
			MAXBASE:ARG:일량 = 600 * 9
			TCVAR:ARG:일종료 = CLOCK_TO_TIME(20, 0)
		CASE IS < 1000
			MAXBASE:ARG:일량 = 600 * 6
			TCVAR:ARG:일종료 = CLOCK_TO_TIME(14, 0)
		CASE IS < 3000
			MAXBASE:ARG:일량 = 600 * 4
			TCVAR:ARG:일종료 = CLOCK_TO_TIME(12, 0)
		CASEELSE
			MAXBASE:ARG:일량 = 600 * 2
			TCVAR:ARG:일종료 = CLOCK_TO_TIME(10, 0)
		ENDSELECT
		CFLAG:ARG:직종 = 43
		TCVAR:ARG:급료 = 0
		TCVAR:ARG:도울수없다 = 1
	ENDIF
CASE [[뱌쿠렌]]
	;팔꿈치 링은 절의 선전으로 전직했습니다
	IF YOUBI_MATCH(DAY, "월목") && !TFLAG:대폭풍예보일
		MAXBASE:ARG:일량 = 600 * 4
		TCVAR:ARG:일개시 = CLOCK_TO_TIME(12, 0)
		TCVAR:ARG:일종료 = CLOCK_TO_TIME(16, 0)
		CFLAG:ARG:직장 = P202중앙광장
		CFLAG:ARG:직종 = 41
		TCVAR:ARG:급료 = 3
		TCVAR:ARG:답례 = GETNUM(ITEM, "엿")
	ELSEIF YOUBI_MATCH(DAY, "일") && INRANGE(DAY:3, 8, 14)
		CALL JOB_여자회(ARG)
	ENDIF
CASE [[미코]]
	IF YOUBI_MATCH(DAY, "월수금")
		MAXBASE:ARG:일량 = 600 * 3
		TCVAR:ARG:일개시 = CLOCK_TO_TIME(13, 0)
		TCVAR:ARG:일종료 = CLOCK_TO_TIME(16, 0)
		CFLAG:ARG:직장 = P126도장
		CFLAG:ARG:직종 = 42
		TCVAR:ARG:급료 = 1
	ENDIF
CASE [[코코로]]
	IF FESTIVAL() == "예대제" && !TFLAG:대폭풍예보일
		MAXBASE:ARG:일량 = 600 * 3
		TCVAR:ARG:일개시 = CLOCK_TO_TIME(10, 0)
		TCVAR:ARG:일종료 = CLOCK_TO_TIME(13, 0)
		CFLAG:ARG:직장 = P2경내
		TCVAR:ARG:도울수없다 = 1
		CFLAG:ARG:직종 = 43
		TCVAR:ARG:급료 = 0
	ELSEIF YOUBI_MATCH(DAY, "일") && !TFLAG:대폭풍예보일
		MAXBASE:ARG:일량 = 600 * 3
		TCVAR:ARG:일개시 = CLOCK_TO_TIME(10, 0)
		TCVAR:ARG:일종료 = CLOCK_TO_TIME(13, 0)
		CFLAG:ARG:직장 = P11마당
		TCVAR:ARG:도울수없다 = 1
		CFLAG:ARG:직종 = 43
		TCVAR:ARG:급료 = 0
	ENDIF
CASE [[메이링]]
	;메이링은 토일요일 이외 점심까지 문지기
	IF IS_WEEKDAY(DAY)
		MAXBASE:ARG:일량 = 600 * 6
		TCVAR:ARG:일개시 = CLOCK_TO_TIME( 6, 0)
		TCVAR:ARG:일종료 = CLOCK_TO_TIME(12, 0)
		CFLAG:ARG:직장 = P301정문
		CFLAG:ARG:직종 = 42
		TCVAR:ARG:급료 = 2
		TCVAR:ARG:도울수없다 = 2
	ENDIF
CASE [[소악마]]
	;소악마는 매월6일에 요리
	IF DAY:3 == 6
		MAXBASE:ARG:일량 = 600
		CFLAG:ARG:직장 = P313주방
		TCVAR:ARG:일개시 = CLOCK_TO_TIME(22, 0)
		TCVAR:ARG:일종료 = CLOCK_TO_TIME(23, 0)
		CFLAG:ARG:직종 = 44
		TCVAR:ARG:급료 = 5
	ENDIF
CASE [[파르시]]
	IF IS_WEEKDAY(DAY)
		MAXBASE:ARG:일량 = 600
		CFLAG:ARG:직장 = P946다리
		TCVAR:ARG:일개시 = CLOCK_TO_TIME(13, 0)
		TCVAR:ARG:일종료 = CLOCK_TO_TIME(18, 0)
		CFLAG:ARG:직종 = 41
		TCVAR:ARG:급료 = 2
	ENDIF
CASE [[카구야]]
	IF (DAY:2 == 3 && DAY:3 == 14)
	;높은 급료로 답례는 고급품.
		MAXBASE:ARG:일량 = 600 * 6
		TCVAR:ARG:일개시 = CLOCK_TO_TIME(13, 0)
		TCVAR:ARG:일종료 = CLOCK_TO_TIME(19, 0)
		CFLAG:ARG:직장 = P401영원정입구
		CFLAG:ARG:직종 = 43
		TCVAR:ARG:급료 = 5
		TCVAR:ARG:도울수없다 = 2
		SELECTCASE RAND:4
			CASE 3
				TCVAR:ARG:답례 = GETNUM(ITEM, "선향옥토")
			CASE 2
				TCVAR:ARG:답례 = GETNUM(ITEM, "현자의돌")
			CASE 1
				TCVAR:ARG:답례 = GETNUM(ITEM, "엘릭서")
			CASE 0
				TCVAR:ARG:답례 = GETNUM(ITEM, "킹・크림슨")
		ENDSELECT
	ELSEIF !CFLAG:ARG:우후후 && !TFLAG:대폭풍예보일
	;공주는 기본적으로 매일 분재를 돌본다. 우후후에서 게으름을 피운다.
		MAXBASE:ARG:일량 = 600
		TCVAR:ARG:일개시 = CLOCK_TO_TIME(13, 0)
		TCVAR:ARG:일종료 = CLOCK_TO_TIME(14, 0)
		CFLAG:ARG:직장 = P421마당
		CFLAG:ARG:직종 = 43
		TCVAR:ARG:급료 = 0
	ENDIF
CASE [[유기]]
	IF YOUBI_MATCH(DAY, "목")
		MAXBASE:ARG:일량 = 600 * 5
		TCVAR:ARG:일개시 = CLOCK_TO_TIME(16, 0)
		TCVAR:ARG:일종료 = CLOCK_TO_TIME(21, 0)
		CFLAG:ARG:직장 = P10툇마루
		CFLAG:ARG:직종 = 41
		TCVAR:ARG:급료 = 0
		TCVAR:ARG:도울수없다 = 1
	ENDIF
CASE [[모미지]]
	;수목일은 잘자, 6시간격 22시 취침
	;월 화는 아침에 일어 나 곧으로부터 오후, 7시부터 14시
	IF YOUBI_MATCH(DAY, "월화")
		MAXBASE:ARG:일량 = 600 * 7
		TCVAR:ARG:일개시 = CLOCK_TO_TIME( 7, 0)
		TCVAR:ARG:일종료 = CLOCK_TO_TIME(14, 0)
		CFLAG:ARG:직장 = P802다리
		CFLAG:ARG:직종 = 42
		TCVAR:ARG:급료 = 2
		TCVAR:ARG:도울수없다 = 2
	;금토은 오후부터 잘 때까지, 14시부터 21시
	ELSEIF YOUBI_MATCH(DAY, "금토")
		MAXBASE:ARG:일량 = 600 * 7
		TCVAR:ARG:일개시 = CLOCK_TO_TIME(14, 0)
		TCVAR:ARG:일종료 = CLOCK_TO_TIME(21, 0)
		CFLAG:ARG:직장 = P805정상
		CFLAG:ARG:직종 = 42
		TCVAR:ARG:급료 = 2
		TCVAR:ARG:도울수없다 = 2
	ENDIF
CASE [[케이네]]
	;케이네은 토일요일 이외 14시까지 서당으로 수업중, 나머지의 30분은 뒷정리
	IF IS_WEEKDAY(DAY) && FESTIVAL() == "" && !TFLAG:대폭풍예보일
		MAXBASE:ARG:일량 = 600 * 6 + 300
		TCVAR:ARG:일개시 = CLOCK_TO_TIME( 8,  0)
		TCVAR:ARG:일종료 = CLOCK_TO_TIME(14, 30)
		CFLAG:ARG:직장 = P222서당
		CFLAG:ARG:직종 = 43
		TCVAR:ARG:급료 = 3
	ENDIF
CASE [[유카]]
	;유카 4일에 한 번의 꽃의 손질
	;일자 의존의 판정 어째서 엄밀하게는 4일에 한 번에는 되지 않다
	IF DAY:2 < 4 && DAY:3 % 4 == 2
		MAXBASE:ARG:일량 = 600 * 4
		TCVAR:ARG:일개시 = CLOCK_TO_TIME( 6, 0)
		TCVAR:ARG:일종료 = CLOCK_TO_TIME(10, 0)
		CFLAG:ARG:직장 = P438태양의밭
		CFLAG:ARG:직종 = 41
		TCVAR:ARG:급료 = 2
	ENDIF
CASE [[코스즈]]
	IF YOUBI_MATCH(DAY, "수목")
		MAXBASE:ARG:일량 = 600 * 8
		TCVAR:ARG:일개시 = CLOCK_TO_TIME( 9, 0)
		TCVAR:ARG:일종료 = CLOCK_TO_TIME(17, 0)
		CFLAG:ARG:직장 = P213스즈나안
		CFLAG:ARG:직종 = 41
		TCVAR:ARG:도울수없다 = 2
		TCVAR:ARG:급료 = 2
	ELSEIF YOUBI_MATCH(DAY, "월화금")
		MAXBASE:ARG:일량 = 600 * 2
		TCVAR:ARG:일개시 = CLOCK_TO_TIME(18, 0)
		TCVAR:ARG:일종료 = CLOCK_TO_TIME(20, 0)
		CFLAG:ARG:직장 = P213스즈나안
		CFLAG:ARG:직종 = 40
		TCVAR:ARG:급료 = 3
	ENDIF
CASE [[에이린]]
	;에이린은 일요일 이외 저녁까지 꼭 진찰. 의사니까, 어쩔 수 없다
	IF !YOUBI_MATCH(DAY, "일") ;일판 수정되어 월화금만
		MAXBASE:ARG:일량 = 600 * 8
		TCVAR:ARG:일개시 = CLOCK_TO_TIME(10, 0)
		TCVAR:ARG:일종료 = CLOCK_TO_TIME(18, 0)
		CFLAG:ARG:직장 = P404진찰실
		CFLAG:ARG:직종 = 43
		TCVAR:ARG:급료 = 5
		TCVAR:ARG:도울수없다 = 2
		TCVAR:ARG:답례 = GETNUM(ITEM, "불끈불끈Z")
		;조합지식과 교양이 필요
		SIF !TALENT:MASTER:조합지식
			TCVAR:ARG:도울수없다 = 1
	ELSEIF YOUBI_MATCH(DAY, "일") && INRANGE(DAY:3, 8, 14) && !TFLAG:대폭풍예보일
		CALL JOB_여자회(ARG)
	ENDIF
CASE [[메디슨]]
	IF DAY % 7 == 3
		MAXBASE:ARG:일량 = 600 * 6
		TCVAR:ARG:일개시 = CLOCK_TO_TIME( 7, 0)
		TCVAR:ARG:일종료 = CLOCK_TO_TIME(13, 0)
		CFLAG:ARG:직장 = P436무명의언덕
		CFLAG:ARG:직종 = 40
		TCVAR:ARG:급료 = 1
	ENDIF
CASE [[코마치]]
	;코마치는 월수금에 나룻배사공 하지만 2분의 1으로 게으름 피운다
	IF YOUBI_MATCH(DAY, "월수금")
		;추석은 바빠서 강제 출근
		SIF GET_MONTH() == "여름의 달" && INRANGE(DAY:3, 1, 15)
			TCVAR:ARG:일의유무 = 2
		SIF !TCVAR:ARG:일의유무
			TCVAR:ARG:일의유무 = RAND:2 + 1
		IF TCVAR:ARG:일의유무 == 2
			MAXBASE:ARG:일량 = 600 * 6
			TCVAR:ARG:일개시 = CLOCK_TO_TIME(10, 0)
			TCVAR:ARG:일종료 = CLOCK_TO_TIME(16, 0)
			CFLAG:ARG:직장 = P602삼도천모래밭
			CFLAG:ARG:직종 = 41
			TCVAR:ARG:급료 = 2
		ENDIF
	ENDIF
CASE [[히나]]
	청소하기 = 0
	FOR LOCAL, P701수해도입구, P740야마와로의아지트 + 1
		;判定場所以外を弾く
		SELECTCASE LOCAL
			CASE P701수해도입구, P702산길・늪으로가는길, P705산길・산비탈, P707산길・분기점
			CASE P710고양이마을, P711휴게소
			CASE P731댑싸리, P732산정으로가는길, P738깊은숲속, P739비천애
			CASEELSE
				CONTINUE
		ENDSELECT
		SIF YOGORE:LOCAL > 1000
			청소하기 = LOCAL
	NEXT
	IF !청소하기
		CFLAG:ARG:직장 = P701수해도입구
	ELSE
		CFLAG:ARG:직장 = 청소하기
	ENDIF
	IF FESTIVAL() == "히나마츠리"
		MAXBASE:ARG:일량 = 600 * 10
		TCVAR:ARG:일개시 = CLOCK_TO_TIME( 7, 0)
		TCVAR:ARG:일종료 = CLOCK_TO_TIME(20, 0)
		CFLAG:ARG:직종 = 40
		TCVAR:ARG:급료 = 2
	ELSEIF YOUBI_MATCH(DAY, "토")
		MAXBASE:ARG:일량 = 600 * 5
		TCVAR:ARG:일개시 = CLOCK_TO_TIME(12, 0)
		TCVAR:ARG:일종료 = CLOCK_TO_TIME(17, 0)
		CFLAG:ARG:직종 = 40
		TCVAR:ARG:급료 = 1
	ENDIF
CASE [[아큐]]
	IF INRANGE(DAY:3, 15, 20)
		MAXBASE:ARG:일량 = 600 * 3
		TCVAR:ARG:일개시 = CLOCK_TO_TIME(10, 0)
		TCVAR:ARG:일종료 = CLOCK_TO_TIME(13, 0)
		CFLAG:ARG:직장 = P221히에다저택
		CFLAG:ARG:직종 = 43
		TCVAR:ARG:급료 = 5
	ENDIF
CASE [[렌코]], [[메리]]
	IF INRANGE(DAY:3, 25, 28)
		MAXBASE:ARG:일량 = 600 * 2
		TCVAR:ARG:일개시 = CLOCK_TO_TIME(19, 0)
		TCVAR:ARG:일종료 = CLOCK_TO_TIME(21, 0)
		CFLAG:ARG:직장 = P232렌코방
		CFLAG:ARG:직종 = 43
		TCVAR:ARG:급료 = 3
	ENDIF
CASE [[이치린]]
	;이치린 언니(누나)와  일을 교대했습니다
	IF YOUBI_MATCH(DAY, "화목") && !TFLAG:대폭풍예보일
		MAXBASE:ARG:일량 = 600 * 5
		TCVAR:ARG:일개시 = CLOCK_TO_TIME( 7, 0)
		TCVAR:ARG:일종료 = CLOCK_TO_TIME(12, 0)
		CFLAG:ARG:직장 = P102경내
		CFLAG:ARG:직종 = 40
		TCVAR:ARG:급료 = 4
	ENDIF
CASE [[쇼]]
	IF YOUBI_MATCH(DAY, "금")
		MAXBASE:ARG:일량 = 600 * 1
		TCVAR:ARG:일개시 = CLOCK_TO_TIME(13, 0)
		TCVAR:ARG:일종료 = CLOCK_TO_TIME(14, 0)
		CFLAG:ARG:직장 = P103본당
		CFLAG:ARG:직종 = 41
		TCVAR:ARG:급료 = 0
		TCVAR:ARG:도울수없다 = 2
	ELSEIF IS_WEEKDAY(DAY)
		MAXBASE:ARG:일량 = 600 * 4
		TCVAR:ARG:일개시 = CLOCK_TO_TIME(10, 0)
		TCVAR:ARG:일종료 = CLOCK_TO_TIME(14, 0)
		CFLAG:ARG:직장 = P103본당
		CFLAG:ARG:직종 = 43
		TCVAR:ARG:급료 = 0
		TCVAR:ARG:도울수없다 = 0
	ENDIF
CASE [[요시카]]
	IF DAY:3 == 4 && !TFLAG:대폭풍예보일
		MAXBASE:ARG:일량 = 600 * 16
		TCVAR:ARG:일개시 = CLOCK_TO_TIME( 8, 0)
		TCVAR:ARG:일종료 = CLOCK_TO_TIME(23, 0)
		CFLAG:ARG:직장 = P121묘지
		CFLAG:ARG:직종 = 43
		TCVAR:ARG:급료 = 0
		TCVAR:ARG:도울수없다 = 0
	ENDIF
CASE [[청아]]
	IF DAY:3 == 4 && !TFLAG:대폭풍예보일
		MAXBASE:ARG:일량 = 600 * 16
		TCVAR:ARG:일개시 = CLOCK_TO_TIME( 8, 0)
		TCVAR:ARG:일종료 = CLOCK_TO_TIME(23, 0)
		CFLAG:ARG:직장 = P121묘지
		CFLAG:ARG:직종 = 43
		TCVAR:ARG:급료 = 5
		TCVAR:ARG:도울수없다 = 2
	ENDIF
CASE [[토지코]]
	IF YOUBI_MATCH(DAY, "화")
		MAXBASE:ARG:일량 = 600 * 1
		TCVAR:ARG:일개시 = CLOCK_TO_TIME(20, 0)
		TCVAR:ARG:일종료 = CLOCK_TO_TIME(21, 0)
		CFLAG:ARG:직장 = P830현운해
		CFLAG:ARG:직종 = 41
		TCVAR:ARG:급료 = 5
	ENDIF
CASE [[후토]]
	;후토신령묘의 권유 담당
	IF YOUBI_MATCH(DAY, "수토") && !TFLAG:대폭풍예보일
		MAXBASE:ARG:일량 = 600 * 4
		TCVAR:ARG:일개시 = CLOCK_TO_TIME(12, 0)
		TCVAR:ARG:일종료 = CLOCK_TO_TIME(16, 0)
		CFLAG:ARG:직장 = P202중앙광장
		CFLAG:ARG:직종 = 41
		TCVAR:ARG:급료 = 3
	ENDIF
CASE [[벤벤]], [[야츠하시]]
	IF  DAY % 28 == 7 && !TFLAG:대폭풍예보일
		MAXBASE:ARG:일량 = 600 * 6
		TCVAR:ARG:일개시 = CLOCK_TO_TIME(15, 0)
		TCVAR:ARG:일종료 = CLOCK_TO_TIME(21, 0)
		CFLAG:ARG:직장 = P202중앙광장
		TCVAR:ARG:도울수없다 = 1
		CFLAG:ARG:직종 = 47
		TCVAR:ARG:급료 = 5
	ENDIF
CASE [[라이코]]
	IF  DAY % 28 == 7 && !TFLAG:대폭풍예보일
		MAXBASE:ARG:일량 = 600 * 6
		TCVAR:ARG:일개시 = CLOCK_TO_TIME(15, 0)
		TCVAR:ARG:일종료 = CLOCK_TO_TIME(21, 0)
		CFLAG:ARG:직장 = P202중앙광장
		TCVAR:ARG:도울수없다 = 1
		CFLAG:ARG:직종 = 47
		TCVAR:ARG:급료 = 5
	ELSEIF YOUBI_MATCH(DAY, "화")
		MAXBASE:ARG:일량 = 600 * 1
		TCVAR:ARG:일개시 = CLOCK_TO_TIME(20, 0)
		TCVAR:ARG:일종료 = CLOCK_TO_TIME(21, 0)
		CFLAG:ARG:직장 = P830현운해
		CFLAG:ARG:직종 = 41
		TCVAR:ARG:급료 = 5
	ENDIF
CASE [[세이자]]
	IF YOUBI_MATCH(DAY, "월수") && !TFLAG:대폭풍예보일
		MAXBASE:ARG:일량 = 600 * 4
		TCVAR:ARG:일개시 = CLOCK_TO_TIME(20, 0)
		TCVAR:ARG:일종료 = CLOCK_TO_TIME(24, 0)
		CFLAG:ARG:직장 = P301정문
		SIF YOUBI_MATCH(DAY, "수")
			CFLAG:ARG:직장 = 540
		CFLAG:ARG:직종 = 41
		TCVAR:ARG:급료 = 1
	ENDIF
CASE [[유유코]]
	IF YOUBI_MATCH(DAY, "일") && INRANGE(DAY:3, 8, 14) && !TFLAG:대폭풍예보일
		CALL JOB_여자회(ARG)
	ENDIF
CASE [[오키나]]
	IF YOUBI_MATCH(DAY, "일") && INRANGE(DAY:3, 8, 14) && !TFLAG:대폭풍예보일
		CALL JOB_여자회(ARG)
	ENDIF
CASE [[신키]]
	IF YOUBI_MATCH(DAY, "일") && INRANGE(DAY:3, 8, 14) && !TFLAG:대폭풍예보일
		CALL JOB_여자회(ARG)
	ENDIF
CASE [[쿠타카]]
	IF IS_WEEKDAY(DAY)
		MAXBASE:ARG:일량 = 600 * 6
		TCVAR:ARG:일개시 = CLOCK_TO_TIME(9, 0)
		TCVAR:ARG:일종료 = CLOCK_TO_TIME(15, 0)
		CFLAG:ARG:직장 = P640이계의문
		CFLAG:ARG:직종 = 41
		TCVAR:ARG:급료 = 3
		TCVAR:ARG:도울수없다 = 2
	ENDIF
CASE [[미요이]]
	IF YOUBI_MATCH(DAY, "수목금토일")
		MAXBASE:ARG:일량 = 600 * 6
		TCVAR:ARG:일개시 = CLOCK_TO_TIME(18, 0)
		TCVAR:ARG:일종료 = CLOCK_TO_TIME(24, 0)
		CFLAG:ARG:직장 = P238예탄정
		CFLAG:ARG:직종 = 44
		TCVAR:ARG:급료 = 2
		TCVAR:ARG:도울수없다 = 2
	ENDIF
CASE [[유마]]
	IF YOUBI_MATCH(DAY, "월수금")
		MAXBASE:ARG:일량 = 600 * 7
		TCVAR:ARG:일개시 = CLOCK_TO_TIME(11, 0)
		TCVAR:ARG:일종료 = CLOCK_TO_TIME(18, 0)
		CFLAG:ARG:직장 = P930옛혈지지옥
		CFLAG:ARG:직종 = 42
		TCVAR:ARG:급료 = 2
		TCVAR:ARG:도울수없다 = 2
	ENDIF
;다른 사람들은 지금 바쁜 일에는 붙지 않았습니다. 일안 모집. 아마 요우무와 란 님은 부정기에 바쁘겠지……
ENDSELECT

;휴가 플래그 사용하지 않아도 TCVAR:ARG:일개시에 판별할 수 있었으므로
;일이 없는 경우의 리셋 처리를 정리했다
IF TCVAR:ARG:일개시 >= 0
	;GET_JOBPLACE는 주인의 REPLACEMENT유기 처리
	CFLAG:ARG:직장 = GET_JOBPLACE("일", ARG)
	RETURN
ELSE
	MAXBASE:ARG:일량 = 0
ENDIF

;FileName_JOB.ERB ----------------------------- Rev1. 00
;업무중의 이동 처리
;CALL		USER
;ARG		캐릭터 NO
;RETURN		VOID
;COMMENT
;-----------------------------------------------------------
@JOBMOVE(ARG)
#DIM 전의직장
#DIM 청소하기
SIF CFLAG:ARG:연회참가 > 0 || GROUPMATCH(CFLAG:ARG:직종, 48,49,50,51)
	RETURN
전의직장 = CFLAG:ARG:직장

SELECTCASE ARG
CASE [[레이무]]
	IF YOGORE:(CFLAG:ARG:직장) > 1000
	ELSEIF YOGORE:P22참배길 > 1000
		LOCAL = P22참배길
	ELSE
		LOCAL = FINDELEMENT(YOGORE, MAXARRAY(YOGORE, 1, 6), 1, 6)
	ENDIF
	IF LOCAL <= 0
	ELSEIF YOGORE:LOCAL <= 1000
	ELSE
		CFLAG:ARG:직장 = LOCAL
	ENDIF
CASE [[스이카]]
	IF YOUBI_MATCH(DAY, "수")
		TCVAR:ARG:도울수없다 = 0
	ELSE
		TCVAR:ARG:도울수없다 = 1
	ENDIF
CASE [[마리사]]
	IF TIME >= CLOCK_TO_TIME(16, 0)
		CFLAG:ARG:직장 = P11마당
		CFLAG:ARG:직종 = 42
	ELSE
		CFLAG:ARG:직장 = P6헛간
		CFLAG:ARG:직종 = 40
	ENDIF
CASE [[앨리스]]
	;공연이 끝나면 뒷정리를 도울 수 있다
	IF TIME >= CLOCK_TO_TIME(12, 0)
		TCVAR:ARG:도울수없다 = 0
	;공연일에 없으면 도울 수 있다
	ELSEIF DAY % 14 > 0
		TCVAR:ARG:도울수없다 = 0
	;공연중은 도울수없다
	ELSE
		TCVAR:ARG:도울수없다 = 1
	ENDIF
CASE [[유메코]]
	;저택 내 청소　더러워진 부분부터 4군데 순차 이동
	;지금 가장 지저분한 곳에서 4개를 찾는다　저택 앞～인형저택 전역
	;일률적으로 청소 시간은 1시간으로 한다
	;여기에서는 TCVAR:ARG:399를 사용하고 있습니다. 구상에서 중복하여 사용하면 버그를 일으킬 수 있으니 주의하세요.
	청소하기 = FINDELEMENT( YOGORE, MAXARRAY(YOGORE, P520인형저택앞, P531인형저택・빈방), P520인형저택앞, P531인형저택・빈방)
	SIF 청소하기 == P525인형저택・거실
		청소하기 = P528인형저택・창고
	IF CLOCK_TO_TIME(7, 0) <= TIME && TIME <= CLOCK_TO_TIME(8, 0) && TCVAR:ARG:399 < 1
		TCVAR:ARG:399 = 1
	ELSEIF CLOCK_TO_TIME(8, 0) <= TIME && TIME <= CLOCK_TO_TIME(9, 0) && TCVAR:ARG:399 < 2
		CFLAG:ARG:직장 = 청소하기
		TCVAR:ARG:399 = 2
	ELSEIF CLOCK_TO_TIME(9, 0) <= TIME && TIME <= CLOCK_TO_TIME(10, 0) && TCVAR:ARG:399 < 3
		CFLAG:ARG:직장 = 청소하기
		TCVAR:ARG:399 = 3
	ELSEIF CLOCK_TO_TIME(10, 0) <= TIME && TIME <= CLOCK_TO_TIME(11, 00) && TCVAR:ARG:399 < 4
		CFLAG:ARG:직장 = 청소하기
		TCVAR:ARG:399 = 4
	ENDIF
CASE [[미스티아]]
	;개점준비는 도울 수 있다
	IF BASE:ARG:일량 > 3000
		TCVAR:ARG:도울수없다 = 0
	;포장마차를 내면(자) 도와도 시간은 변함없다
	ELSE
		TCVAR:ARG:도울수없다 = 2
	ENDIF
CASE [[아야]]
	;교양과 신뢰가 필요
	IF CFLAG:ARG:신뢰도 < 500 || ABL:MASTER:교양 < 3
		TCVAR:ARG:도울수없다 = 1
	ELSE
		TCVAR:ARG:도울수없다 = 0
	ENDIF
CASE [[에이키]]
	;午前中の裁判、昼休みは도울수없다
	IF INRANGE(TIME, CLOCK_TO_TIME(9, 0), CLOCK_TO_TIME(12, 59))
		TCVAR:ARG:도울수없다 = 1
	;定時が終わってもサビ残…手伝えば早く終る
	ELSEIF TIME >= CLOCK_TO_TIME(17, 0) && CFLAG:ARG:신뢰도 >= 300
		CFLAG:ARG:직종 = 43
		TCVAR:ARG:도울수없다 = 0
		TCVAR:ARG:급료 = 0
	;高LV교양と신뢰도で午後の仕事手伝える。薄給。仕事はいくらでも湧く
	ELSEIF ABL:MASTER:교양 >= 4 && CFLAG:ARG:신뢰도 >= 300
		CFLAG:ARG:직종 = 43
		TCVAR:ARG:도울수없다 = 2
		TCVAR:ARG:급료 = 1
	ELSE
		TCVAR:ARG:도울수없다 = 1
	ENDIF
CASE [[카센]]
	IF YOUBI_MATCH(DAY, "토")
		IF TIME >= CLOCK_TO_TIME(14, 0)
			CFLAG:ARG:직장 = P212카페
			CFLAG:ARG:직종 = 41
		ELSE
			CFLAG:ARG:직장 = P218일품요릿집
			CFLAG:ARG:직종 = 41
		ENDIF
	ENDIF
CASE [[엘렌]]
	IF TIME:0 == TCVAR:ARG:357
	;전회의 처리로부터 시간이 경과하고 있지 않으면 패스
	ELSEIF GROUPMATCH(DAY:3, 15, 30)
	;출장
		;객수의 증감, 계상, 기본은-3~＋5
		LOCAL:1 = RAND:8 - 3

		;날씨
		SELECTCASE TIME:5
		;안개비, 안개는-1
		CASE 6, 7
			LOCAL:1 -= 1
		;비, 눈은-2
		CASE 4, 8
			LOCAL:1 -= 2
		;큰 비, 눈보라, 진눈깨비, 뻥튀기는-3
		CASE 5, 9, 12, 13
			LOCAL:1 -= 3
		ENDSELECT
		;무지개, 다이아몬드 더스트는＋2
		SIF TIME:7 >= 1
			LOCAL:1 += 2

		;객수가 적으면보다 늘린다
		SIF TCVAR:ARG:354 < 5
			LOCAL:1 += 1
		;객수가 많으면보다 줄인다
		SIF TCVAR:ARG:354 > 25
			LOCAL:1 -= 3

		;음수 방지
		TCVAR:ARG:354 = MAX(0, TCVAR:ARG:354 + LOCAL:1)
		SIF LOCAL:1 > 0
			TCVAR:ARG:355 += LOCAL:1
		;현재의 객수가 일정 이상이라면 엘렌의 응원자로 돈다
		IF TCVAR:ARG:354 > 25
			CFLAG:ARG:직종 = 43
		;그렇지 않으면 유객 행위에
		ELSE
			CFLAG:ARG:직종 = 41
		ENDIF
	;채집 엘렌의 채집량을 계상
	ELSE
		;채집량이 이상하게 안 되게
		SIF !INRANGE(TCVAR:ARG:357, 420, 720)
			TCVAR:ARG:357 = 420
		;계산식은(현재의 TIME-전회 계산한 TIME)*1~20의 난수
		TCVAR:ARG:354 += (TIME:0 - TCVAR:ARG:357) * (RAND:20 + 1)
		;채집량이 최대 일량을 웃돌면(자) 종료
		SIF TCVAR:ARG:354 > MAXBASE:ARG:일량
			BASE:ARG:일량 = 1
	ENDIF
CASE [[케이네]]
	;수업이 끝나면 뒷정리를 도울 수 있다
	IF TIME >= CLOCK_TO_TIME(14, 0)
		CFLAG:ARG:직종 = 40
		TCVAR:ARG:도울수없다 = 0
	;점심시간은 당연히 무리
	ELSEIF INRANGE(TIME, CLOCK_TO_TIME(12, 0), CLOCK_TO_TIME(12, 59))
		TCVAR:ARG:도울수없다 = 1
	;교양이 3이상 또한 신뢰도가 50이상이라면 수업을 도울 수 있다
	ELSEIF ABL:MASTER:교양 >= 3 && CFLAG:ARG:신뢰도 >= 50
		TCVAR:ARG:도울수없다 = 2
	;그 이외는 도울수없다
	ELSE
		TCVAR:ARG:도울수없다 = 1
	ENDIF
ENDSELECT

;직장 갱신
SIF 전의직장 != CFLAG:ARG:직장
	CFLAG:ARG:직장 = GET_JOBPLACE("일", ARG)

;FileName_JOB.ERB ------------------------------- Rev1. 00
;일나토리 이득
;CALL		USER
;ARG		VOID
;RETURN		VOID
;COMMENT
;-----------------------------------------------------------
@GET_JOBNAME(ARG)
#FUNCTIONS
SELECTCASE ARG
CASE [[레이무]]
	LOCALS = 청소
CASE [[루코토]]
	LOCALS = 가사
CASE [[미마]]
	IF YOUBI_MATCH(DAY, "월수")
		LOCALS = 트레이닝
	ELSEIF YOUBI_MATCH(DAY, "일") && INRANGE(DAY:3, 8, 14)
		LOCALS = 정례 여자 모임
	ENDIF
CASE [[치유리]], [[유메미]]
	LOCALS = 연구
CASE [[스이카]]
	IF YOUBI_MATCH(DAY, "수")
		LOCALS = 트레이닝
	ELSE
		LOCALS = 음주
	ENDIF
CASE [[마리사]]
	IF TIME >= CLOCK_TO_TIME(16, 0)
		LOCALS = 트레이닝
	ELSE
		LOCALS = 발굴 작업
	ENDIF
CASE [[루미아]]
	LOCALS = 식료 확보
CASE [[치르노]]
	SIF CFLAG:ARG:직종 == 41
		LOCALS = 아이스 가게
CASE [[레밀리아]]
	LOCALS = 일요일의 일과
CASE [[앨리스]]
;도울 수 없으면 인형극, 요리라면 가사
	IF TCVAR:ARG:도울수없다
		LOCALS = 인형극
	ELSEIF CFLAG:ARG:직종 == 44
		LOCALS = 가사
	ELSE
		LOCALS = 뒷정리
	ENDIF
;3 자매
CASE [[유메코]]
	LOCALS = 청소
CASE [[루나사]], [[메를랑]], [[리리카]]
	LOCALS = 콘서트
CASE [[요우무]]
	LOCALS = 시장
CASE [[란]]
	LOCALS = 결계 관리
CASE [[유카리]]
	IF (DAY:2 == 4 && DAY:3 == 30)
		LOCALS = 결계 관리
	ELSEIF YOUBI_MATCH(DAY, "일") && INRANGE(DAY:3, 8, 14)
		LOCALS = 정례 여자 모임
	ENDIF
CASE [[미스티아]]
	IF BASE:ARG:일량 > 3000
		LOCALS = 개점준비
	ELSE
		LOCALS = 포장마차 일
	ENDIF
CASE [[아야]]
	LOCALS = 기사 집필
CASE [[에이키]]
	IF INRANGE(TIME, CLOCK_TO_TIME(9, 0), CLOCK_TO_TIME(11, 59))
		LOCALS = 재판
	ELSEIF INRANGE(TIME, CLOCK_TO_TIME(12, 0), CLOCK_TO_TIME(12, 59))
		LOCALS = 점심시간
	ELSEIF INRANGE(TIME, CLOCK_TO_TIME(13, 0), CLOCK_TO_TIME(16, 59))
		LOCALS = 사무작업
	ELSE
		LOCALS = 서류정리
	ENDIF
CASE [[사나에]]
	LOCALS = 권유
CASE [[카나코]]
	SIF DAY:2 == 2 && DAY:3 == 5
		LOCALS = 신체측정
	SIF YOUBI_MATCH(DAY, "일") && INRANGE(DAY:3, 8, 14)
		LOCALS = 정례 여자 모임
CASE [[스와코]]
	LOCALS = 요리
CASE [[텐시]]
	LOCALS = 발원
CASE [[이쿠]]
	LOCALS = 회화
CASE [[오린]]
	LOCALS = 원령 관리
CASE [[오쿠]]
	LOCALS = 출력 관리
CASE [[코가사]]
	LOCALS = 보모
CASE [[누에]]
	LOCALS = 요리
CASE [[카센]]
	IF YOUBI_MATCH(DAY, "토")
		LOCALS = 식도락
	ELSE
		LOCALS = 수행
	ENDIF
CASE [[엘렌]]
	IF GROUPMATCH(DAY:3, 15, 30)
		LOCALS = 마법가게 출장
	ELSE
		LOCALS = 채집
	ENDIF
CASE [[우동게]]
	IF YOUBI_MATCH(DAY, "화")
		LOCALS = 약 행상인
	ELSE
		LOCALS = 조제
	ENDIF
CASE [[파츄리]]
	LOCALS = 독서
CASE [[뱌쿠렌]]
	IF YOUBI_MATCH(DAY, "월목")
		LOCALS = 포교
	ELSEIF YOUBI_MATCH(DAY, "일") && INRANGE(DAY:3, 8, 14)
		LOCALS = 정례 여자 모임
	ENDIF
CASE [[미코]]
	LOCALS = 수행
CASE [[코코로]]
	IF FESTIVAL() == "예대제"
		LOCALS = 노가쿠
	ELSE
		LOCALS = 노가쿠 연습
	ENDIF
CASE [[메이링]]
	LOCALS = 문지기
CASE [[소악마]]
	LOCALS = 요리
CASE [[파르시]]
	LOCALS = 다리 파수꾼
CASE [[카구야]]
	IF (DAY:2 == 3 && DAY:3 == 14)
		LOCALS = 월도만상전의 사회
	ELSE
		LOCALS = 분재 가꾸기
	ENDIF
CASE [[유기]]
	LOCALS = 음주
CASE [[모미지]]
	LOCALS = 경비
CASE [[케이네]]
	IF INRANGE(TIME, CLOCK_TO_TIME(12, 0), CLOCK_TO_TIME(12, 59))
		LOCALS = 점심 시간
	ELSEIF TIME >= CLOCK_TO_TIME(14, 0)
		LOCALS = 뒷정리
	ELSE
		LOCALS = 서당 수업
	ENDIF
CASE [[유카]]
	LOCALS = 꽃의 손질
CASE [[코스즈]]
	IF YOUBI_MATCH(DAY, "수목")
		LOCALS = 가게 보기
	ELSE
		LOCALS = 장서 정리
	ENDIF
CASE [[에이린]]
	SIF !YOUBI_MATCH(DAY, "일")
		LOCALS = 진찰
	SIF YOUBI_MATCH(DAY, "일") && INRANGE(DAY:3, 8, 14)
		LOCALS = 정례 여자 모임
CASE [[메디슨]]
	LOCALS = 독 채집
CASE [[코마치]]
	LOCALS = 사공
CASE [[히나]]
	LOCALS = 액 모으기
CASE [[아큐]]
	LOCALS = 집필 작업
CASE [[렌코]]
	LOCALS = 리포트
CASE [[메리]]
	LOCALS = 리포트
CASE [[이치린]]
	LOCALS = 청소
CASE [[쇼]]
	IF YOUBI_MATCH(DAY, "금")
		LOCALS = 설법
	ELSE
		LOCALS = 근행
	ENDIF
CASE [[요시카]]
	LOCALS = 정비(피)
CASE [[청아]]
	LOCALS = 정비
CASE [[후토]]
	LOCALS = 회화
CASE [[벤벤]], [[야츠하시]]
	LOCALS = 콘서트
CASE [[라이코]]
	IF DAY % 28 == 7
		LOCALS = 콘서트
	ELSE
		LOCALS = 회화
	ENDIF
CASE [[유유코]]
	IF YOUBI_MATCH(DAY, "일") && INRANGE(DAY:3, 8, 14)
		LOCALS = 정례 여자 모임
	ENDIF
CASE [[오키나]]
	IF YOUBI_MATCH(DAY, "일") && INRANGE(DAY:3, 8, 14)
		LOCALS = 정례 여자 모임
	ENDIF
CASE [[신키]]
	IF YOUBI_MATCH(DAY, "일") && INRANGE(DAY:3, 8, 14)
		LOCALS = 정례 여자 모임
	ENDIF
CASE [[쿠타카]]
	LOCALS = 관문지기
CASE [[미요이]]
	LOCALS = 급사
CASEELSE
	LOCALS = 일
ENDSELECT
RETURNF LOCALS

@SPECIALJOB(ARG)
SELECTCASE ARG
	CASE 1
		PRINTFORML 오늘 %ARG는% 요괴 퇴치 일이 있다고 한다
		INPUT
		PRINTL [0]돕는다
		PRINTL [1]열심히 해
		IF RESULT == 0
			IF ABL:MASTER:전투능력 < 2
				PRINTL 방해가 되니까 오지마~ 라는 소리를 들었다…
			ELSE
				PRINTFORML %ARG는% 주저하면서도 동행을 허락해 주었다
				PRINTFORML %STR:(CFLAG:ARG:직장 / 10 + 6000)%로 갑니다
			ENDIF
		ELSE
			PRINTFORML %마스터는% %CALLNAME:ARG%에게 응원을 보냈다
		ENDIF
ENDSELECT

;-----------------------------------------------------------
;共通の仕事
;-----------------------------------------------------------
;誰が何と言おうと女子会
@JOB_여자회(ARG)
MAXBASE:ARG:일량 = 600 * 3
TCVAR:ARG:일개시 = CLOCK_TO_TIME(18, 0)
TCVAR:ARG:일종료 = CLOCK_TO_TIME(21, 0)
CFLAG:ARG:직장 = P211술집
CFLAG:ARG:직종 = 52
TCVAR:ARG:도울수없다 = 1

@JOB_요정의놀이(ARG)
MAXBASE:ARG:일량 = 600 * 7
TCVAR:ARG:일개시 = CLOCK_TO_TIME(10, 0)
TCVAR:ARG:일종료 = CLOCK_TO_TIME(17, 0)
IF DAY % 4 == 0
	CFLAG:ARG:직장 = P32서니방
ELSEIF DAY % 4 == 1
	CFLAG:ARG:직장 = P25수호신의숲
ELSEIF DAY % 4 == 2
	CFLAG:ARG:직장 = P2경내
ELSE
	CFLAG:ARG:직장 = P27삼요정의집・객실
ENDIF
CFLAG:ARG:직종 = 46
TCVAR:ARG:급료 = 0