code:
;-------------------------------------------------
;日付が第〇タームか取得
;-------------------------------------------------
@GET_TERM(ARG)
#FUNCTION

SIF !ARG
	ARG = DAY:3

SIF ARG == 31
	ARG = 30

RETURNF ((ARG - 1) / 5) + 1

;-------------------------------------------------
;当該時刻の指定分後の季節・日付・時刻を取得
;RESULT:0=季節　RESULT:1=日付　RESULT:2=時刻
;注意 指定分は1年を超えないこと
;-------------------------------------------------
@CALCULATE_ADD_TIME(季節, 日付, 時刻, 指定分)
#DIM 季節
#DIM 日付
#DIM 時刻
#DIM 指定分
#DIM 取得季節
#DIM 取得日付
#DIM 取得時刻

取得季節 = 0
取得日付 = 0
取得時刻 = 0

取得時刻 = 時刻 + 指定分
IF 取得時刻 >= 1440
	LOCAL:0 = 取得時刻
	取得時刻 %= 1440
	取得日付 += LOCAL:0 / 1440
ENDIF

取得日付 += 日付
IF 取得日付 >= 32
	LOCAL:1 = 取得日付
	取得日付 %= 32
	取得季節 += LOCAL:1 / 32
	取得日付 += LOCAL:1 / 32
ENDIF

取得季節 += 季節
IF 取得季節 >= 5
	取得季節 = 1
ENDIF

RETURN 取得季節, 取得日付, 取得時刻

;-------------------------------------------------
;当該タームの指定ターム後の季節・タームを取得
;RESULT:0=季節　RESULT:1=ターム
;注意 指定タームは1年を超えないこと
;-------------------------------------------------
@CALCULATE_ADD_TERM(季節, ターム, 指定ターム)
#DIM 季節
#DIM ターム
#DIM 指定ターム
#DIM 取得季節
#DIM 取得ターム

取得季節 = 0
取得ターム = 0

取得ターム = ターム + 指定ターム
IF 取得ターム >= 7
	LOCAL = 取得ターム
	取得ターム %= 7
	取得季節 += LOCAL / 7
	取得ターム += LOCAL / 7
ENDIF

取得季節 += 季節
IF 取得季節 >= 5
	取得季節 = 1
ENDIF

RETURN 取得季節, 取得ターム

;-------------------------------------------------
;長期予報
;-------------------------------------------------
@WEATHER_FORECAST_1YEAR

;(天候パッチ)エルニーニョ現象の翌年はラニーニャ現象、ラニーニャ現象の翌年・翌々年は通常、その他は25％でエルニーニョ現象
SELECTCASE YEAR_WEATHER_CONTROL
	CASE 4
		YEAR_WEATHER_CONTROL = 1
	CASE 3
		YEAR_WEATHER_CONTROL = 4
	CASE 2
		YEAR_WEATHER_CONTROL = 3
	CASE RAND:4 == 0
		YEAR_WEATHER_CONTROL = 2
	CASEELSE
		YEAR_WEATHER_CONTROL = 1
ENDSELECT

;-------------------------------------------------
;短期予報
;-------------------------------------------------
@WEATHER_FORECAST_1TERM
#DIM 위치배율
#DIM 예상경과시간
#DIM 일본해저기압발생판정
#DIM 남안저기압발생판정

;(天候パッチ)長期天候傾向が未設定の時は長期予報を行う
SIF YEAR_WEATHER_CONTROL <= 0
	CALL WEATHER_FORECAST_1YEAR

;タームをまたいだ場合に処理を続行
SIF NOW_TERM == GET_TERM()
	RETURN

;現在のターム数を設定
NOW_TERM = GET_TERM()

;梅雨・秋雨入り判定
IF DAY:2 == 1 && NOW_TERM == 6
	IS_RAINY_SEASON1:0 = 1
	PRINTL 우중충한 날씨다…
	PRINTW 장마철에 접어든 것 같다
	CALL ASK_DIARY("장마철에 접어들었다")
ELSEIF DAY:2 == 3 && NOW_TERM == 1
	IS_RAINY_SEASON2 = 1
ENDIF

;現在のタームにおける寒気・暖気の強さを設定
SELECTCASE YEAR_WEATHER_CONTROL
	CASE 3
		SELECTCASE DAY:2
			CASE 2
				POWER_COLD_AIR = MIN(RAND:5 + 2, 5)
				POWER_WARM_AIR = MIN(RAND:5 + 2, 5)
			CASE 4
				POWER_COLD_AIR = MIN(RAND:5 + 2, 5)
				POWER_WARM_AIR = RAND:5 + 1
			CASEELSE
				POWER_COLD_AIR = RAND:5 + 1
				POWER_WARM_AIR = MIN(RAND:5 + 2, 5)
		ENDSELECT
	CASE 2
		SELECTCASE DAY:2
			CASE 4
				POWER_COLD_AIR = MAX(RAND:5, 1)
				POWER_WARM_AIR = MIN(RAND:5 + 2, 5)
			CASEELSE
				POWER_COLD_AIR = RAND:5 + 1
				POWER_WARM_AIR = MAX(RAND:5, 1)
		ENDSELECT
	CASEELSE
		POWER_COLD_AIR = RAND:5 + 1
		POWER_WARM_AIR = RAND:5 + 1
ENDSELECT

;寒気・暖気による作物への影響
IF FLAG:지주 > 0
	IF (POWER_WARM_AIR == 3 || POWER_WARM_AIR == 4) && (DAY:2 == 1 || DAY:2 == 3)
		FLAG:밭일성과 += 10
	ELSEIF POWER_COLD_AIR == 5 && DAY:2 == 1
		FLAG:밭일성과 = MAX(0, FLAG:밭일성과 - 10)
		AMOUNT_COLD_CROP_DAMAGE += 10
	ENDIF
ENDIF

;連続降水カウンター20以上で水害発生の可能性、作物に壊滅的な被害
IF CONTINUOUS_RAINFALL >= 20 && RAND:(MAX(1, (40 - CONTINUOUS_RAINFALL) / 5)) == 0
	IS_FLOOD_CROP_DAMAGE = 1
	FLAG:밭일성과 = 0
ENDIF

;梅雨・秋雨明け判定
IF IS_RAINY_SEASON1:0 == 1 && POWER_WARM_AIR >= 3 && IS_RAINY_SEASON1:1 != 1
	IS_RAINY_SEASON1:1 = 1
	;梅雨末期の線状降水帯発生判定
	IF POWER_WARM_AIR == 5 && RAND:5 == 0 && IS_LINER_RAINBAND:0 == 0
		CALL CALCULATE_ADD_TIME(DAY:2, DAY:3, TIME:0, RAND:4200)
		CALL GENERATE_LINER_RAINBAND(RESULT:0, RESULT:1, RESULT:2)
	ENDIF
ELSEIF IS_RAINY_SEASON1:0 == 1 && (DAY:2 == 3 && NOW_TERM == 1)
	IS_RAINY_SEASON1:0 = 0
	IS_RAINY_SEASON1:1 = 0
	PRINTL 어느덧 여름의 무더위는 지나갔다
	PRINTW 결국 장마는 끝나지 않은 것 같다
	CALL ASK_DIARY("여름이 오지 않았다")
ELSEIF IS_RAINY_SEASON1:1 == 1
	IS_RAINY_SEASON1:0 = 0
	IS_RAINY_SEASON1:1 = 0
	PRINTL 싱그러운 여름 날씨다！
	PRINTW 장마가 끝난 것 같다
	CALL ASK_DIARY("장마가 끝났다")
ELSEIF DAY:2 == 3 && NOW_TERM == 2
	IS_RAINY_SEASON2 = 0
ENDIF

;梅雨による作物への影響
IF FLAG:지주 > 0
	IF DAY:2 == 2 && (NOW_TERM == 1 || NOW_TERM == 2) && IS_RAINY_SEASON1:0 == 1
		FLAG:밭일성과 += 20
	ELSEIF DAY:2 == 2 && NOW_TERM == 4 && IS_RAINY_SEASON1:0 == 1
		FLAG:밭일성과 = MAX(0, FLAG:밭일성과 - 20)
	ELSEIF DAY:2 == 2 && NOW_TERM == 5 && IS_RAINY_SEASON1:0 == 1
		FLAG:밭일성과 = MAX(0, FLAG:밭일성과 - 40)
		IS_COLD_CROP_DAMAGE ++
	ELSEIF DAY:2 == 2 && NOW_TERM == 6 && IS_RAINY_SEASON1:0 == 1
		FLAG:밭일성과 = MAX(0, FLAG:밭일성과 - 80)
		IS_COLD_CROP_DAMAGE ++
	ENDIF
ENDIF

;梅雨・秋雨時以外に寒冷渦の発生判定
IF !IS_RAINY_SEASON1:0 && !IS_RAINY_SEASON2 && POWER_COLD_AIR == 5
	IS_COLD_LOW = 1
	;寒冷渦の勢力圏突入時刻
	TIME_ENTER_TERRITORY_COLD_LOW:0 = DAY:2
	TIME_ENTER_TERRITORY_COLD_LOW:1 = DAY:3 + RAND:2
	TIME_ENTER_TERRITORY_COLD_LOW:2 = RAND:1440

	;寒冷渦の勢力圏通過時刻
	CALL CALCULATE_ADD_TIME((TIME_ENTER_TERRITORY_COLD_LOW:0), (TIME_ENTER_TERRITORY_COLD_LOW:1), (TIME_ENTER_TERRITORY_COLD_LOW:2), 2880)
	TIME_PASSAGE_TERRITORY_COLD_LOW:0 = RESULT:0
	TIME_PASSAGE_TERRITORY_COLD_LOW:1 = RESULT:1
	TIME_PASSAGE_TERRITORY_COLD_LOW:2 = RESULT:2
ELSE
	IS_COLD_LOW = 0
	TIME_ENTER_TERRITORY_COLD_LOW:0 = 0
	TIME_ENTER_TERRITORY_COLD_LOW:1 = 0
	TIME_ENTER_TERRITORY_COLD_LOW:2 = 0
ENDIF

;日本海低気圧の消滅判定
IF IS_SoJ_LOW >= 1
	IS_SoJ_LOW = 0
	TIME_ENTER_TERRITORY_SoJ_LOW:0 = 0
	TIME_ENTER_TERRITORY_SoJ_LOW:1 = 0
	TIME_ENTER_TERRITORY_SoJ_LOW:2 = 0

	TIME_CLOSEST_SoJ_LOW:0 = 0
	TIME_CLOSEST_SoJ_LOW:1 = 0
	TIME_CLOSEST_SoJ_LOW:2 = 0

	TIME_PASSAGE_FAKE_FINE:0 = 0
	TIME_PASSAGE_FAKE_FINE:1 = 0
	TIME_PASSAGE_FAKE_FINE:2 = 0

	TIME_PASSAGE_SoJ_LOW:0 = 0
	TIME_PASSAGE_SoJ_LOW:1 = 0
	TIME_PASSAGE_SoJ_LOW:2 = 0
ENDIF

;南岸低気圧の消滅判定
IF IS_SOUTHERN_LOW == 1
	IS_SOUTHERN_LOW = 0
	TIME_ENTER_TERRITORY_SOUTHERN_LOW:0 = 0
	TIME_ENTER_TERRITORY_SOUTHERN_LOW:1 = 0
	TIME_ENTER_TERRITORY_SOUTHERN_LOW:2 = 0

	TIME_PASSAGE_SOUTHERN_LOW:0 = 0
	TIME_PASSAGE_SOUTHERN_LOW:1 = 0
	TIME_PASSAGE_SOUTHERN_LOW:2 = 0
ENDIF

;台風の消滅判定
IF (DAY:2 == 1 || (DAY:2 == 3 && NOW_TERM >= 4) || DAY:2 == 4 || TIME_PASSAGE_WIND_ZONE_TYPHOON:0 < DAY:2 || GET_LOCATION_LOW() == "台風一過") && IS_TYPHOON:0 == 1
	IS_TYPHOON:0 = 0
	IS_TYPHOON:1 = 0
	IS_TYPHOON:2 = 0
	IS_TYPHOON:3 = 0

	TIME_ENTER_TERRITORY_TYPHOON:0 = 0
	TIME_ENTER_TERRITORY_TYPHOON:1 = 0
	TIME_ENTER_TERRITORY_TYPHOON:2 = 0

	TIME_ENTER_WIND_ZONE_TYPHOON:0 = 0
	TIME_ENTER_WIND_ZONE_TYPHOON:1 = 0
	TIME_ENTER_WIND_ZONE_TYPHOON:2 = 0

	TIME_CLOSEST_TYPHOON:0 = 0
	TIME_CLOSEST_TYPHOON:1 = 0
	TIME_CLOSEST_TYPHOON:2 = 0

	TIME_PASSAGE_EYE_TYPHOON:0 = 0
	TIME_PASSAGE_EYE_TYPHOON:1 = 0
	TIME_PASSAGE_EYE_TYPHOON:2 = 0

	TIME_PASSAGE_WIND_ZONE_TYPHOON:0 = 0
	TIME_PASSAGE_WIND_ZONE_TYPHOON:1 = 0
	TIME_PASSAGE_WIND_ZONE_TYPHOON:2 = 0

	TIME_ENTER_STORM_AREA_TYPHOON:0 = 0
	TIME_ENTER_STORM_AREA_TYPHOON:1 = 0
	TIME_ENTER_STORM_AREA_TYPHOON:2 = 0

	TIME_PASSAGE_STORM_AREA_TYPHOON:0 = 0
	TIME_PASSAGE_STORM_AREA_TYPHOON:1 = 0
	TIME_PASSAGE_STORM_AREA_TYPHOON:2 = 0

ENDIF

;線状降水帯の消滅判定
IF (TIME_PASSAGE_LINER_RAINBAND:0 < DAY:2 || GET_LOCATION_LINER_RAINBAND() == "線状降水帯通過") && IS_LINER_RAINBAND:0 >= 1
	IS_LINER_RAINBAND:0 = 0
	IS_LINER_RAINBAND:1 = 0

	TIME_ENTER_TERRITORY_LINER_RAINBAND:0 = 0
	TIME_ENTER_TERRITORY_LINER_RAINBAND:1 = 0
	TIME_ENTER_TERRITORY_LINER_RAINBAND:2 = 0

	TIME_PASSAGE_LINER_RAINBAND:0 = 0
	TIME_PASSAGE_LINER_RAINBAND:1 = 0
	TIME_PASSAGE_LINER_RAINBAND:2 = 0

ENDIF

;台風と寒冷渦が同時に存在するとき迷走台風になる
IF IS_TYPHOON:0 && IS_COLD_LOW
	;台風の強風域通過時刻を延長する
	CALL CALCULATE_ADD_TIME((TIME_PASSAGE_WIND_ZONE_TYPHOON:0), (TIME_PASSAGE_WIND_ZONE_TYPHOON:1), (TIME_PASSAGE_WIND_ZONE_TYPHOON:2), (720 + RAND:360))
	TIME_PASSAGE_WIND_ZONE_TYPHOON:0 = RESULT:0
	TIME_PASSAGE_WIND_ZONE_TYPHOON:1 = RESULT:1
	TIME_PASSAGE_WIND_ZONE_TYPHOON:2 = RESULT:2

	;台風の暴風域通過時刻を延長する
	IF IS_TYPHOON:1 >= 3
		CALL CALCULATE_ADD_TIME((TIME_PASSAGE_STORM_AREA_TYPHOON:0), (TIME_PASSAGE_STORM_AREA_TYPHOON:1), (TIME_PASSAGE_STORM_AREA_TYPHOON:2), (720 + RAND:360))
		TIME_PASSAGE_STORM_AREA_TYPHOON:0 = RESULT:0
		TIME_PASSAGE_STORM_AREA_TYPHOON:1 = RESULT:1
		TIME_PASSAGE_STORM_AREA_TYPHOON:2 = RESULT:2
	ENDIF
ENDIF

;夏・秋第1・2ターム時に台風の発生判定
IF (DAY:2 == 2 || (DAY:2 == 3 && NOW_TERM <= 2)) && POWER_WARM_AIR == 5 && !IS_TYPHOON:0
	IS_TYPHOON:0 = 1
	IS_TYPHOON:1 = RAND:5 + 1
	IS_TYPHOON:2 = RAND:3 + 1

	;20%の確率で先駆降雨帯発生
	SIF RAND:5 == 0
		IS_TYPHOON:3 = 1

	SELECTCASE IS_TYPHOON:2
		CASE 1
			위치배율 = 7
		CASE 2
			위치배율 = 10
		CASE 3
			위치배율 = 9
	ENDSELECT

	;台風の勢力圏突入時刻を算定
	CALL CALCULATE_ADD_TERM(DAY:2, NOW_TERM, 1)
	TIME_ENTER_TERRITORY_TYPHOON:0 = RESULT:0
	TIME_ENTER_TERRITORY_TYPHOON:1 = ((RESULT:1 - 1) * 5) + 1
	TIME_ENTER_TERRITORY_TYPHOON:2 = RAND:1440

	;台風の強風域突入時刻を算定
	CALL CALCULATE_ADD_TIME((TIME_ENTER_TERRITORY_TYPHOON:0), (TIME_ENTER_TERRITORY_TYPHOON:1), (TIME_ENTER_TERRITORY_TYPHOON:2), 2880)
	TIME_ENTER_WIND_ZONE_TYPHOON:0 = RESULT:0
	TIME_ENTER_WIND_ZONE_TYPHOON:1 = RESULT:1
	TIME_ENTER_WIND_ZONE_TYPHOON:2 = RESULT:2

	;勢力3以上だと暴風域を備える
	IF IS_TYPHOON:1 >= 3
		;台風の暴風域突入時刻
		CALL CALCULATE_ADD_TIME((TIME_ENTER_WIND_ZONE_TYPHOON:0), (TIME_ENTER_WIND_ZONE_TYPHOON:1), (TIME_ENTER_WIND_ZONE_TYPHOON:2), (360 * 위치배율 / 10))
		TIME_ENTER_STORM_AREA_TYPHOON:0 = RESULT:0
		TIME_ENTER_STORM_AREA_TYPHOON:1 = RESULT:1
		TIME_ENTER_STORM_AREA_TYPHOON:2 = RESULT:2

		;台風の暴風域通過時刻
		CALL CALCULATE_ADD_TIME((TIME_ENTER_WIND_ZONE_TYPHOON:0), (TIME_ENTER_WIND_ZONE_TYPHOON:1), (TIME_ENTER_WIND_ZONE_TYPHOON:2), (1080 * 위치배율 / 10))
		TIME_PASSAGE_STORM_AREA_TYPHOON:0 = RESULT:0
		TIME_PASSAGE_STORM_AREA_TYPHOON:1 = RESULT:1
		TIME_PASSAGE_STORM_AREA_TYPHOON:2 = RESULT:2
	ENDIF

	;台風の最接近時刻を算定
	CALL CALCULATE_ADD_TIME((TIME_ENTER_WIND_ZONE_TYPHOON:0), (TIME_ENTER_WIND_ZONE_TYPHOON:1), (TIME_ENTER_WIND_ZONE_TYPHOON:2), (720 * 위치배율 / 10))
	TIME_CLOSEST_TYPHOON:0 = RESULT:0
	TIME_CLOSEST_TYPHOON:1 = RESULT:1
	TIME_CLOSEST_TYPHOON:2 = RESULT:2

	;台風の目通過時刻を算定
	CALL CALCULATE_ADD_TIME((TIME_CLOSEST_TYPHOON:0), (TIME_CLOSEST_TYPHOON:1), (TIME_CLOSEST_TYPHOON:2), (10 * IS_TYPHOON:1))
	TIME_PASSAGE_EYE_TYPHOON:0 = RESULT:0
	TIME_PASSAGE_EYE_TYPHOON:1 = RESULT:1
	TIME_PASSAGE_EYE_TYPHOON:2 = RESULT:2

	;台風の強風域通過時刻を算定
	CALL CALCULATE_ADD_TIME((TIME_ENTER_WIND_ZONE_TYPHOON:0), (TIME_ENTER_WIND_ZONE_TYPHOON:1), (TIME_ENTER_WIND_ZONE_TYPHOON:2), (1420 * 위치배율 / 10))
	TIME_PASSAGE_WIND_ZONE_TYPHOON:0 = RESULT:0
	TIME_PASSAGE_WIND_ZONE_TYPHOON:1 = RESULT:1
	TIME_PASSAGE_WIND_ZONE_TYPHOON:2 = RESULT:2

	;先駆降雨帯発生時・秋雨時の線状降水帯発生判定
	IF (IS_TYPHOON:3 == 1 || (TIME_ENTER_TERRITORY_TYPHOON:0 == 3 && TIME_ENTER_TERRITORY_TYPHOON:1 <= 5)) && POWER_WARM_AIR == 5 && RAND:4 == 0 && IS_LINER_RAINBAND:0 == 0
		CALL GENERATE_LINER_RAINBAND(TIME_ENTER_TERRITORY_TYPHOON:0, TIME_ENTER_TERRITORY_TYPHOON:1, TIME_ENTER_TERRITORY_TYPHOON:2)
	ENDIF

ENDIF

;夏季に寒冷渦発生時の線状降水帯発生判定
IF IS_COLD_LOW && POWER_WARM_AIR == 5 && RAND:4 && IS_LINER_RAINBAND:0 == 0
	CALL CALCULATE_ADD_TIME(DAY:2, DAY:3, TIME:0, RAND:4200)
	CALL GENERATE_LINER_RAINBAND(RESULT:0, RESULT:1, RESULT:2)
ENDIF

;冬に温帯低気圧の発生判定
IF DAY:2 == 4 && !IS_COLD_LOW
	일본해저기압발생판정 = RAND:5
	남안저기압발생판정 = RAND:5

	;二つ玉低気圧発生
	IF !일본해저기압발생판정 && !남안저기압발생판정
		IS_SoJ_LOW = 2
		;日本海低気圧の勢力圏突入時刻
		TIME_ENTER_TERRITORY_SoJ_LOW:0 = DAY:2
		TIME_ENTER_TERRITORY_SoJ_LOW:1 = DAY:3 + RAND:3
		TIME_ENTER_TERRITORY_SoJ_LOW:2 = RAND:1440

		;日本海低気圧の最接近時刻
		CALL CALCULATE_ADD_TIME((TIME_ENTER_TERRITORY_SoJ_LOW:0), (TIME_ENTER_TERRITORY_SoJ_LOW:1), (TIME_ENTER_TERRITORY_SoJ_LOW:2), 720)
		TIME_CLOSEST_SoJ_LOW:0 = RESULT:0
		TIME_CLOSEST_SoJ_LOW:1 = RESULT:1
		TIME_CLOSEST_SoJ_LOW:2 = RESULT:2

		;疑似好天エリア通過時刻
		CALL CALCULATE_ADD_TIME((TIME_CLOSEST_SoJ_LOW:0), (TIME_CLOSEST_SoJ_LOW:1), (TIME_CLOSEST_SoJ_LOW:2), (30 * (RAND:6 + 1)))
		TIME_PASSAGE_FAKE_FINE:0 = RESULT:0
		TIME_PASSAGE_FAKE_FINE:1 = RESULT:1
		TIME_PASSAGE_FAKE_FINE:2 = RESULT:2

		;日本海低気圧の通過時刻
		CALL CALCULATE_ADD_TIME((TIME_CLOSEST_SoJ_LOW:0), (TIME_CLOSEST_SoJ_LOW:1), (TIME_CLOSEST_SoJ_LOW:2), 1080)
		TIME_PASSAGE_SoJ_LOW:0 = RESULT:0
		TIME_PASSAGE_SoJ_LOW:1 = RESULT:1
		TIME_PASSAGE_SoJ_LOW:2 = RESULT:2

	;日本海低気圧発生
	ELSEIF !일본해저기압발생판정
		IS_SoJ_LOW = 1
		;日本海低気圧の勢力圏突入時刻
		TIME_ENTER_TERRITORY_SoJ_LOW:0 = DAY:2
		TIME_ENTER_TERRITORY_SoJ_LOW:1 = DAY:3 + RAND:3
		TIME_ENTER_TERRITORY_SoJ_LOW:2 = RAND:1440

		;日本海低気圧の最接近時刻
		CALL CALCULATE_ADD_TIME((TIME_ENTER_TERRITORY_SoJ_LOW:0), (TIME_ENTER_TERRITORY_SoJ_LOW:1), (TIME_ENTER_TERRITORY_SoJ_LOW:2), 720)
		TIME_CLOSEST_SoJ_LOW:0 = RESULT:0
		TIME_CLOSEST_SoJ_LOW:1 = RESULT:1
		TIME_CLOSEST_SoJ_LOW:2 = RESULT:2

		;日本海低気圧の通過時刻
		CALL CALCULATE_ADD_TIME((TIME_CLOSEST_SoJ_LOW:0), (TIME_CLOSEST_SoJ_LOW:1), (TIME_CLOSEST_SoJ_LOW:2), 1080)
		TIME_PASSAGE_SoJ_LOW:0 = RESULT:0
		TIME_PASSAGE_SoJ_LOW:1 = RESULT:1
		TIME_PASSAGE_SoJ_LOW:2 = RESULT:2

	;南岸低気圧発生
	ELSEIF !남안저기압발생판정
		IS_SOUTHERN_LOW = 1
		;南岸低気圧の勢力圏突入時刻
		TIME_ENTER_TERRITORY_SOUTHERN_LOW:0 = DAY:2
		TIME_ENTER_TERRITORY_SOUTHERN_LOW:1 = DAY:3 + RAND:3
		TIME_ENTER_TERRITORY_SOUTHERN_LOW:2 = RAND:1440

		;南岸低気圧の通過時刻
		CALL CALCULATE_ADD_TIME((TIME_ENTER_TERRITORY_SOUTHERN_LOW:0), (TIME_ENTER_TERRITORY_SOUTHERN_LOW:1), (TIME_ENTER_TERRITORY_SOUTHERN_LOW:2), 1440)
		TIME_PASSAGE_SOUTHERN_LOW:0 = RESULT:0
		TIME_PASSAGE_SOUTHERN_LOW:1 = RESULT:1
		TIME_PASSAGE_SOUTHERN_LOW:2 = RESULT:2
	ENDIF
ENDIF

;春・秋に温暖低気圧の発生判定
IF (DAY:2 == 1 || DAY:2 == 3) && !IS_COLD_LOW && !IS_RAINY_SEASON1:0 && !IS_RAINY_SEASON2
	;春・秋の温帯低気圧の勢力圏突入時刻
	TIME_ENTER_TERRITORY_EXTRATROPICAL_LOW:0 = DAY:2
	TIME_ENTER_TERRITORY_EXTRATROPICAL_LOW:1 = DAY:3 + 1 + RAND:2
	TIME_ENTER_TERRITORY_EXTRATROPICAL_LOW:2 = RAND:1440

	;春・秋の温帯低気圧の温暖前線通過時刻
	CALL CALCULATE_ADD_TIME((TIME_ENTER_TERRITORY_EXTRATROPICAL_LOW:0), (TIME_ENTER_TERRITORY_EXTRATROPICAL_LOW:1), (TIME_ENTER_TERRITORY_EXTRATROPICAL_LOW:2), 1440)
	TIME_PASSAGE_WARM_FRONT:0 = RESULT:0
	TIME_PASSAGE_WARM_FRONT:1 = RESULT:1
	TIME_PASSAGE_WARM_FRONT:2 = RESULT:2

	;春・秋の温帯低気圧の寒冷前線時刻
	CALL CALCULATE_ADD_TIME((TIME_PASSAGE_WARM_FRONT:0), (TIME_PASSAGE_WARM_FRONT:1), (TIME_PASSAGE_WARM_FRONT:2), 720)
	TIME_PASSAGE_COLD_FRONT:0 = RESULT:0
	TIME_PASSAGE_COLD_FRONT:1 = RESULT:1
	TIME_PASSAGE_COLD_FRONT:2 = RESULT:2

	;春・秋の温帯低気圧の勢力圏通過時刻
	CALL CALCULATE_ADD_TIME((TIME_PASSAGE_COLD_FRONT:0), (TIME_PASSAGE_COLD_FRONT:1), (TIME_PASSAGE_COLD_FRONT:2), 180)
	TIME_PASSAGE_EXTRATROPICAL_LOW:0 = RESULT:0
	TIME_PASSAGE_EXTRATROPICAL_LOW:1 = RESULT:1
	TIME_PASSAGE_EXTRATROPICAL_LOW:2 = RESULT:2
;温帯低気圧の消滅判定
ELSE
	TIME_ENTER_TERRITORY_EXTRATROPICAL_LOW:0 = 0
	TIME_ENTER_TERRITORY_EXTRATROPICAL_LOW:1 = 0
	TIME_ENTER_TERRITORY_EXTRATROPICAL_LOW:2 = 0

	TIME_PASSAGE_WARM_FRONT:0 = 0
	TIME_PASSAGE_WARM_FRONT:1 = 0
	TIME_PASSAGE_WARM_FRONT:2 = 0

	TIME_PASSAGE_COLD_FRONT:0 = 0
	TIME_PASSAGE_COLD_FRONT:1 = 0
	TIME_PASSAGE_COLD_FRONT:2 = 0

	TIME_PASSAGE_EXTRATROPICAL_LOW:0 = 0
	TIME_PASSAGE_EXTRATROPICAL_LOW:1 = 0
	TIME_PASSAGE_EXTRATROPICAL_LOW:2 = 0
ENDIF
;-------------------------------------------------
;1日予報
;-------------------------------------------------
@WEATHER_FORECAST_1DAY

;(天候パッチ)長期天候傾向が未設定の時は長期予報を行う
SIF YEAR_WEATHER_CONTROL <= 0
	CALL WEATHER_FORECAST_1YEAR

;天候変更禁止を解除する
FORBIDDEN_CHANGE_WEATHER = 0

;霧発生フラグをリセット
CAN_STRATUS = 0

;(天候パッチ)1日の大気安定度をリセット
ATMOSPHERIC_INSTABILITY = 0

;積雲/積乱雲の発生判定をリセット
CAN_CUMULUS:0 = 0
CAN_CUMULUS:1 = 0
CAN_CUMULUS:2 = 0
TIME_ENTER_TERRITORY_CUMULUS = 0
TIME_CLOSEST_CUMULUS = 0

;霧の発生判定
SIF !IS_COLD_LOW && !IS_TYPHOON:0 && !IS_SoJ_LOW && !IS_SOUTHERN_LOW && !RAND:10
	CAN_STRATUS = 1

;(天候パッチ)1日の大気安定度を設定
ATMOSPHERIC_INSTABILITY = RAND:(8 - POWER_WARM_AIR) + (7 - POWER_WARM_AIR - POWER_COLD_AIR)
SIF DAY:2 == 2 && (IS_COLD_LOW || GET_LOCATION_LOW() == "台風勢力圏")
	ATMOSPHERIC_INSTABILITY -= 6

;(날씨패치) 날씨 안정도가 낮을 경우 선상강수대가 발생할 수 있음
IF ATMOSPHERIC_INSTABILITY <= -2 && IS_LINER_RAINBAND:0 == 0 && RAND:(13+ATMOSPHERIC_INSTABILITY) == 0 && DAY:2 != 4
	CALL GENERATE_LINER_RAINBAND(DAY:2, DAY:3, RAND:1320)
ENDIF

;積雲/積乱雲の発生判定
IF DAY:2 == 2 && POWER_WARM_AIR >= 2 && !IS_COLD_LOW && (GET_LOCATION_LOW() == "台風遠方" || GET_LOCATION_LOW() == "台風一過" || GET_LOCATION_LOW() == "低気圧未発生")
	SELECTCASE ATMOSPHERIC_INSTABILITY
		CASE IS >= 4
			CAN_CUMULUS:0 = 1
		CASE IS >= 0
			CAN_CUMULUS:0 = 2
		CASEELSE
			CAN_CUMULUS:0 = 3
	ENDSELECT
	SIF !RAND:4
		CAN_CUMULUS:1 = 1
ELSEIF DAY:2 == 2 && (IS_COLD_LOW || GET_LOCATION_LOW() == "台風勢力圏")
	SELECTCASE ATMOSPHERIC_INSTABILITY
		CASE IS >= 0
			CAN_CUMULUS:0 = 2
			SIF !RAND:4
				CAN_CUMULUS:1 = 1
		CASE IS >= -3
			CAN_CUMULUS:0 = 3
			SIF !RAND:2
				CAN_CUMULUS:1 = 1
		CASE IS >= -6
			CAN_CUMULUS:0 = 4
			SIF !RAND:2
				CAN_CUMULUS:1 = 1
		CASE IS >= -8
			CAN_CUMULUS:0 = 4
			CAN_CUMULUS:1 = 1
		CASEELSE
			CAN_CUMULUS:0 = 5
			CAN_CUMULUS:1 = 1
	ENDSELECT
;積雲/積乱雲の発生判定をリセット
ELSE
	CAN_CUMULUS:0 = 0
	CAN_CUMULUS:1 = 0
	CAN_CUMULUS:2 = 0
	TIME_ENTER_TERRITORY_CUMULUS = 0
	TIME_CLOSEST_CUMULUS = 0
ENDIF

IF CAN_CUMULUS:1 == 1
	;積雲/積乱雲の勢力圏突入時刻
	TIME_ENTER_TERRITORY_CUMULUS = 840 + RAND:120

	;積雲/積乱雲の最接近時刻
	TIME_CLOSEST_CUMULUS = TIME_ENTER_TERRITORY_CUMULUS + 30 + RAND:15

	;積雲/積乱雲の勢力圏通過時刻
	SELECTCASE CAN_CUMULUS:0
		CASE IS <= 3
			TIME_PASSAGE_CUMULUS = TIME_CLOSEST_CUMULUS + 60 + RAND:15
		CASE 4
			TIME_PASSAGE_CUMULUS = TIME_CLOSEST_CUMULUS + 90  + (RAND:2 * 60) + RAND:30
		CASE 5
			TIME_PASSAGE_CUMULUS = TIME_CLOSEST_CUMULUS + 120  + (RAND:3 * 60) + RAND:30
	ENDSELECT
ENDIF

;かなとこ雲とスーパーセルの場合風の強さ判定
IF CAN_CUMULUS:0 == 4 && CAN_CUMULUS:1 == 1
	IF RAND:(40 + ATMOSPHERIC_INSTABILITY) == 0
		CAN_CUMULUS:2 = 2
	ELSE
		CAN_CUMULUS:2 = 1
	ENDIF
ELSEIF CAN_CUMULUS:0 == 5 && CAN_CUMULUS:1 == 1
	IF RAND:5 == 0
		CAN_CUMULUS:2 = 2
	ELSE
		CAN_CUMULUS:2 = 1
	ENDIF
ENDIF

;-------------------------------------------------
;低気圧の位置判定
;-------------------------------------------------
@GET_LOCATION_LOW
#FUNCTIONS

;台風
IF IS_TYPHOON:0
	;台風の勢力圏突入時刻以前
	IF TIME_ENTER_TERRITORY_TYPHOON:0 > DAY:2
		RETURNF "台風遠方"
	ELSEIF TIME_ENTER_TERRITORY_TYPHOON:0 == DAY:2 && TIME_ENTER_TERRITORY_TYPHOON:1 > DAY:3
		RETURNF "台風遠方"
	ELSEIF TIME_ENTER_TERRITORY_TYPHOON:0 == DAY:2 && TIME_ENTER_TERRITORY_TYPHOON:1 == DAY:3 && TIME_ENTER_TERRITORY_TYPHOON:2 > TIME:0
		RETURNF "台風遠方"
	;台風の強風域突入時刻以前
	ELSEIF TIME_ENTER_WIND_ZONE_TYPHOON:0 > DAY:2
		RETURNF "台風勢力圏"
	ELSEIF TIME_ENTER_WIND_ZONE_TYPHOON:0 == DAY:2 && TIME_ENTER_WIND_ZONE_TYPHOON:1 > DAY:3
		RETURNF "台風勢力圏"
	ELSEIF TIME_ENTER_WIND_ZONE_TYPHOON:0 == DAY:2 && TIME_ENTER_WIND_ZONE_TYPHOON:1 == DAY:3 && TIME_ENTER_WIND_ZONE_TYPHOON:2 > TIME:0
		RETURNF "台風勢力圏"
	;台風に暴風域があり台風の暴風域突入時刻以前
	ELSEIF IS_TYPHOON:1 >= 3 && TIME_ENTER_STORM_AREA_TYPHOON:0 > DAY:2
		RETURNF "台風接近強風域"
	ELSEIF IS_TYPHOON:1 >= 3 && TIME_ENTER_STORM_AREA_TYPHOON:0 == DAY:2 && TIME_ENTER_STORM_AREA_TYPHOON:1 > DAY:3
		RETURNF "台風接近強風域"
	ELSEIF IS_TYPHOON:1 >= 3 && TIME_ENTER_STORM_AREA_TYPHOON:0 == DAY:2 && TIME_ENTER_STORM_AREA_TYPHOON:1 == DAY:3 && TIME_ENTER_STORM_AREA_TYPHOON:2 > TIME:0
		RETURNF "台風接近強風域"
	;台風に暴風域がなく台風の最接近時刻以前
	ELSEIF IS_TYPHOON:1 < 3 && TIME_CLOSEST_TYPHOON:0 > DAY:2
		RETURNF "台風接近強風域"
	ELSEIF IS_TYPHOON:1 < 3 && TIME_CLOSEST_TYPHOON:0 == DAY:2 && TIME_CLOSEST_TYPHOON:1 > DAY:3
		RETURNF "台風接近強風域"
	ELSEIF IS_TYPHOON:1 < 3 && TIME_CLOSEST_TYPHOON:0 == DAY:2 && TIME_CLOSEST_TYPHOON:1 == DAY:3 && TIME_CLOSEST_TYPHOON:2 > TIME:0
		RETURNF "台風接近強風域"
	;台風に暴風域があり台風の最接近時刻以前
	ELSEIF IS_TYPHOON:1 >= 3 && TIME_CLOSEST_TYPHOON:0 > DAY:2
		RETURNF "台風接近暴風域"
	ELSEIF IS_TYPHOON:1 >= 3 && TIME_CLOSEST_TYPHOON:0 == DAY:2 && TIME_CLOSEST_TYPHOON:1 > DAY:3
		RETURNF "台風接近暴風域"
	ELSEIF IS_TYPHOON:1 >= 3 && TIME_CLOSEST_TYPHOON:0 == DAY:2 && TIME_CLOSEST_TYPHOON:1 == DAY:3 && TIME_CLOSEST_TYPHOON:2 > TIME:0
		RETURNF "台風接近暴風域"
	;台風の目通過時刻以前
	ELSEIF TIME_PASSAGE_EYE_TYPHOON:0 > DAY:2
		RETURNF "台風最接近"
	ELSEIF TIME_PASSAGE_EYE_TYPHOON:0 == DAY:2 && TIME_PASSAGE_EYE_TYPHOON:1 > DAY:3
		RETURNF "台風最接近"
	ELSEIF TIME_PASSAGE_EYE_TYPHOON:0 == DAY:2 && TIME_PASSAGE_EYE_TYPHOON:1 == DAY:3 && TIME_PASSAGE_EYE_TYPHOON:2 > TIME:0
		RETURNF "台風最接近"
	;台風に暴風域があり暴風域通過時刻以前
	ELSEIF IS_TYPHOON:1 >= 3 && TIME_PASSAGE_STORM_AREA_TYPHOON:0 > DAY:2
		RETURNF "台風通過暴風域"
	ELSEIF IS_TYPHOON:1 >= 3 && TIME_PASSAGE_STORM_AREA_TYPHOON:0 == DAY:2 && TIME_PASSAGE_STORM_AREA_TYPHOON:1 > DAY:3
		RETURNF "台風通過暴風域"
	ELSEIF IS_TYPHOON:1 >= 3 && TIME_PASSAGE_STORM_AREA_TYPHOON:0 == DAY:2 && TIME_PASSAGE_STORM_AREA_TYPHOON:1 == DAY:3 && TIME_PASSAGE_STORM_AREA_TYPHOON:2 > TIME:0
		RETURNF "台風通過暴風域"
	;台風の強風域通過時刻以前
	ELSEIF TIME_PASSAGE_WIND_ZONE_TYPHOON:0 > DAY:2
		RETURNF "台風通過強風域"
	ELSEIF TIME_PASSAGE_WIND_ZONE_TYPHOON:0 == DAY:2 && TIME_PASSAGE_WIND_ZONE_TYPHOON:1 > DAY:3
		RETURNF "台風通過強風域"
	ELSEIF TIME_PASSAGE_WIND_ZONE_TYPHOON:0 == DAY:2 && TIME_PASSAGE_WIND_ZONE_TYPHOON:1 == DAY:3 && TIME_PASSAGE_WIND_ZONE_TYPHOON:2 > TIME:0
		RETURNF "台風通過強風域"
	ELSE
		RETURNF "台風一過"
	ENDIF
;寒冷渦
ELSEIF IS_COLD_LOW
	;寒冷渦の勢力圏突入時刻以前
	IF TIME_ENTER_TERRITORY_COLD_LOW:0 > DAY:2
		RETURNF "寒冷渦遠方"
	ELSEIF TIME_ENTER_TERRITORY_COLD_LOW:0 == DAY:2 && TIME_ENTER_TERRITORY_COLD_LOW:1 > DAY:3
		RETURNF "寒冷渦遠方"
	ELSEIF TIME_ENTER_TERRITORY_COLD_LOW:0 == DAY:2 && TIME_ENTER_TERRITORY_COLD_LOW:1 == DAY:3 && TIME_ENTER_TERRITORY_COLD_LOW:2 > TIME:0
		RETURNF "寒冷渦遠方"
	;寒冷渦の勢力圏通過時刻以前
	ELSEIF TIME_PASSAGE_TERRITORY_COLD_LOW:0 > DAY:2
		RETURNF "寒冷渦接近"
	ELSEIF TIME_PASSAGE_TERRITORY_COLD_LOW:0 == DAY:2 && TIME_PASSAGE_TERRITORY_COLD_LOW:1 > DAY:3
		RETURNF "寒冷渦接近"
	ELSEIF TIME_PASSAGE_TERRITORY_COLD_LOW:0 == DAY:2 && TIME_PASSAGE_TERRITORY_COLD_LOW:1 == DAY:3 && TIME_PASSAGE_TERRITORY_COLD_LOW:2 > TIME:0
		RETURNF "寒冷渦接近"
	ELSE
		RETURNF "寒冷渦通過"
	ENDIF
;二つ玉低気圧
ELSEIF IS_SoJ_LOW == 2
	;二つ玉低気圧の勢力圏突入時刻以前
	IF TIME_ENTER_TERRITORY_SoJ_LOW:0 > DAY:2
		RETURNF "二つ玉低気圧遠方"
	ELSEIF TIME_ENTER_TERRITORY_SoJ_LOW:0 == DAY:2 && TIME_ENTER_TERRITORY_SoJ_LOW:1 > DAY:3
		RETURNF "二つ玉低気圧遠方"
	ELSEIF TIME_ENTER_TERRITORY_SoJ_LOW:0 == DAY:2 && TIME_ENTER_TERRITORY_SoJ_LOW:1 == DAY:3 && TIME_ENTER_TERRITORY_SoJ_LOW:2 > TIME:0
		RETURNF "二つ玉低気圧遠方"
	;二つ玉低気圧の最接近時刻以前
	ELSEIF TIME_CLOSEST_SoJ_LOW:0 > DAY:2
		RETURNF "二つ玉低気圧接近"
	ELSEIF TIME_CLOSEST_SoJ_LOW:0 == DAY:2 && TIME_CLOSEST_SoJ_LOW:1 > DAY:3
		RETURNF "二つ玉低気圧接近"
	ELSEIF TIME_CLOSEST_SoJ_LOW:0 == DAY:2 && TIME_CLOSEST_SoJ_LOW:1 == DAY:3 && TIME_CLOSEST_SoJ_LOW:2 > TIME:0
		RETURNF "二つ玉低気圧接近"
	;疑似好天エリア通過時刻以前
	ELSEIF TIME_PASSAGE_FAKE_FINE:0 > DAY:2
		RETURNF "疑似好天"
	ELSEIF TIME_PASSAGE_FAKE_FINE:0 == DAY:2 && TIME_PASSAGE_FAKE_FINE:1 > DAY:3
		RETURNF "疑似好天"
	ELSEIF TIME_PASSAGE_FAKE_FINE:0 == DAY:2 && TIME_PASSAGE_FAKE_FINE:1 == DAY:3 && TIME_PASSAGE_FAKE_FINE:2 > TIME:0
		RETURNF "疑似好天"
	;二つ玉低気圧の通過時刻以前
	ELSEIF TIME_PASSAGE_SoJ_LOW:0 > DAY:2
		RETURNF "二つ玉低気圧通過中"
	ELSEIF TIME_PASSAGE_SoJ_LOW:0 == DAY:2 && TIME_PASSAGE_SoJ_LOW:1 > DAY:3
		RETURNF "二つ玉低気圧通過中"
	ELSEIF TIME_PASSAGE_SoJ_LOW:0 == DAY:2 && TIME_PASSAGE_SoJ_LOW:1 == DAY:3 && TIME_PASSAGE_SoJ_LOW:2 > TIME:0
		RETURNF "二つ玉低気圧通過中"
	ELSE
		RETURNF "二つ玉低気圧通過"
	ENDIF
;日本海低気圧
ELSEIF IS_SoJ_LOW == 1
	;日本海低気圧の勢力圏突入時刻以前
	IF TIME_ENTER_TERRITORY_SoJ_LOW:0 > DAY:2
		RETURNF "日本海低気圧遠方"
	ELSEIF TIME_ENTER_TERRITORY_SoJ_LOW:0 == DAY:2 && TIME_ENTER_TERRITORY_SoJ_LOW:1 > DAY:3
		RETURNF "日本海低気圧遠方"
	ELSEIF TIME_ENTER_TERRITORY_SoJ_LOW:0 == DAY:2 && TIME_ENTER_TERRITORY_SoJ_LOW:1 == DAY:3 && TIME_ENTER_TERRITORY_SoJ_LOW:2 > TIME:0
		RETURNF "日本海低気圧遠方"
	;日本海低気圧の最接近時刻以前
	ELSEIF TIME_CLOSEST_SoJ_LOW:0 > DAY:2
		RETURNF "日本海低気圧接近"
	ELSEIF TIME_CLOSEST_SoJ_LOW:0 == DAY:2 && TIME_CLOSEST_SoJ_LOW:1 > DAY:3
		RETURNF "日本海低気圧接近"
	ELSEIF TIME_CLOSEST_SoJ_LOW:0 == DAY:2 && TIME_CLOSEST_SoJ_LOW:1 == DAY:3 && TIME_CLOSEST_SoJ_LOW:2 > TIME:0
		RETURNF "日本海低気圧接近"
	;日本海低気圧の通過時刻以前
	ELSEIF TIME_PASSAGE_SoJ_LOW:0 > DAY:2
		RETURNF "日本海低気圧通過中"
	ELSEIF TIME_PASSAGE_SoJ_LOW:0 == DAY:2 && TIME_PASSAGE_SoJ_LOW:1 > DAY:3
		RETURNF "日本海低気圧通過中"
	ELSEIF TIME_PASSAGE_SoJ_LOW:0 == DAY:2 && TIME_PASSAGE_SoJ_LOW:1 == DAY:3 && TIME_PASSAGE_SoJ_LOW:2 > TIME:0
		RETURNF "日本海低気圧通過中"
	ELSE
		RETURNF "日本海低気圧通過"
	ENDIF
;南岸低気圧
ELSEIF IS_SOUTHERN_LOW
	;南岸低気圧の勢力圏突入時刻以前
	IF TIME_ENTER_TERRITORY_SOUTHERN_LOW:0 > DAY:2
		RETURNF "南岸低気圧遠方"
	ELSEIF TIME_ENTER_TERRITORY_SOUTHERN_LOW:0 == DAY:2 && TIME_ENTER_TERRITORY_SOUTHERN_LOW:1 > DAY:3
		RETURNF "南岸低気圧遠方"
	ELSEIF TIME_ENTER_TERRITORY_SOUTHERN_LOW:0 == DAY:2 && TIME_ENTER_TERRITORY_SOUTHERN_LOW:1 == DAY:3 && TIME_ENTER_TERRITORY_SOUTHERN_LOW:2 > TIME:0
		RETURNF "南岸低気圧遠方"
	;南岸低気圧の通過時刻以前
	ELSEIF TIME_PASSAGE_SOUTHERN_LOW:0 > DAY:2
		RETURNF "南岸低気圧接近"
	ELSEIF TIME_PASSAGE_SOUTHERN_LOW:0 == DAY:2 && TIME_PASSAGE_SOUTHERN_LOW:1 > DAY:3
		RETURNF "南岸低気圧接近"
	ELSEIF TIME_PASSAGE_SOUTHERN_LOW:0 == DAY:2 && TIME_PASSAGE_SOUTHERN_LOW:1 == DAY:3 && TIME_PASSAGE_SOUTHERN_LOW:2 > TIME:0
		RETURNF "南岸低気圧接近"
	ELSE
		RETURNF "南岸低気圧通過"
	ENDIF
;春・秋の温帯低気圧
ELSEIF (DAY:2 == 1 || DAY:2 == 3) && !IS_RAINY_SEASON1 && !IS_RAINY_SEASON2
	;温暖前線の勢力圏突入時刻以前
	IF TIME_ENTER_TERRITORY_EXTRATROPICAL_LOW:0 > DAY:2
		RETURNF "温暖前線遠方"
	ELSEIF TIME_ENTER_TERRITORY_EXTRATROPICAL_LOW:0 == DAY:2 && TIME_ENTER_TERRITORY_EXTRATROPICAL_LOW:1 > DAY:3
		RETURNF "温暖前線遠方"
	ELSEIF TIME_ENTER_TERRITORY_EXTRATROPICAL_LOW:0 == DAY:2 && TIME_ENTER_TERRITORY_EXTRATROPICAL_LOW:1 == DAY:3 && TIME_ENTER_TERRITORY_EXTRATROPICAL_LOW:2 > TIME:0
		RETURNF "温暖前線遠方"
	;温暖前線通過時刻以前
	ELSEIF TIME_PASSAGE_WARM_FRONT:0 > DAY:2
		RETURNF "温暖前線接近"
	ELSEIF TIME_PASSAGE_WARM_FRONT:0 == DAY:2 && TIME_PASSAGE_WARM_FRONT:1 > DAY:3
		RETURNF "温暖前線接近"
	ELSEIF TIME_PASSAGE_WARM_FRONT:0 == DAY:2 && TIME_PASSAGE_WARM_FRONT:1 == DAY:3 && TIME_PASSAGE_WARM_FRONT:2 > TIME:0
		RETURNF "温暖前線接近"
	;寒冷前線通過時刻以前
	ELSEIF TIME_PASSAGE_COLD_FRONT:0 > DAY:2
		RETURNF "暖域"
	ELSEIF TIME_PASSAGE_COLD_FRONT:0 == DAY:2 && TIME_PASSAGE_COLD_FRONT:1 > DAY:3
		RETURNF "暖域"
	ELSEIF TIME_PASSAGE_COLD_FRONT:0 == DAY:2 && TIME_PASSAGE_COLD_FRONT:1 == DAY:3 && TIME_PASSAGE_COLD_FRONT:2 > TIME:0
		RETURNF "暖域"
	;温帯低気圧の勢力圏通過時刻以前
	ELSEIF TIME_PASSAGE_EXTRATROPICAL_LOW:0 > DAY:2
		RETURNF "寒冷前線通過"
	ELSEIF TIME_PASSAGE_EXTRATROPICAL_LOW:0 == DAY:2 && TIME_PASSAGE_EXTRATROPICAL_LOW:1 > DAY:3
		RETURNF "寒冷前線通過"
	ELSEIF TIME_PASSAGE_EXTRATROPICAL_LOW:0 == DAY:2 && TIME_PASSAGE_EXTRATROPICAL_LOW:1 == DAY:3 && TIME_PASSAGE_EXTRATROPICAL_LOW:2 > TIME:0
		RETURNF "寒冷前線通過"
	ELSE
		RETURNF "温帯低気圧通過"
	ENDIF
ENDIF

RETURNF "低気圧未発生"

;-------------------------------------------------
;積雲/積乱雲の位置判定
;-------------------------------------------------
@GET_LOCATION_CUMULUS
#FUNCTIONS

IF CAN_CUMULUS:0 && CAN_CUMULUS:1
	IF TIME_ENTER_TERRITORY_CUMULUS > TIME:0
		RETURNF "積乱雲視認"
	ELSEIF TIME_CLOSEST_CUMULUS > TIME:0
		RETURNF "積乱雲接近"
	ELSEIF TIME_PASSAGE_CUMULUS > TIME:0
		RETURNF "積乱雲直下"
	ELSE
		RETURNF "積乱雲通過"
	ENDIF
ELSEIF CAN_CUMULUS:0
	RETURNF "積乱雲遠方"
ENDIF

RETURNF "積乱雲未発生"

;-------------------------------------------------
;台風の襲来判定
;-------------------------------------------------
@GET_LOCATION_AREA_TYPHOON
#FUNCTION
#DIMS 저기압위치

저기압위치 = %GET_LOCATION_LOW()%

SIF 저기압위치 == "台風接近強風域" || 저기압위치 == "台風接近暴風域" || 저기압위치 == "台風最接近" || 저기압위치 == "台風通過暴風域" || 저기압위치 == "台風通過強風域"
	RETURNF 1

RETURNF 0

;-------------------------------------------------
;線状降水帯の発生処理
;-------------------------------------------------
@GENERATE_LINER_RAINBAND(発生季節 = -1, 発生日時 = -1, 発生時間 = 0)
#DIM 発生季節
#DIM 発生日時
#DIM 発生時間
#DIM 継続時間
#DIM 到達時間

SIF 発生季節 == -1
	発生季節 = DAY:2
SIF 発生日時 == -1
	発生日時 = DAY:3

;線状降水帯の勢力決定
IS_LINER_RAINBAND:0 = 1
IF RAND:5 == 0
	IS_LINER_RAINBAND:1 = 2
	継続時間 = 420 +  RAND:300
ELSE
	IS_LINER_RAINBAND:1 = 1
	継続時間 = 180 + RAND:180
ENDIF

;線状降水帯の勢力圏突入時刻
到達時間 = RAND:60
CALL CALCULATE_ADD_TIME(発生季節, 発生日時, 発生時間, 到達時間)
TIME_ENTER_TERRITORY_LINER_RAINBAND:0 = RESULT:0
TIME_ENTER_TERRITORY_LINER_RAINBAND:1 = RESULT:1
TIME_ENTER_TERRITORY_LINER_RAINBAND:2 = RESULT:2

;線状降水帯の通過時刻
CALL CALCULATE_ADD_TIME(発生季節, 発生日時, 発生時間, 到達時間 + 継続時間)
TIME_PASSAGE_LINER_RAINBAND:0 = RESULT:0
TIME_PASSAGE_LINER_RAINBAND:1 = RESULT:1
TIME_PASSAGE_LINER_RAINBAND:2 = RESULT:2

;-------------------------------------------------
;線状降水帯の襲来判定
;-------------------------------------------------
@GET_LOCATION_LINER_RAINBAND
#FUNCTIONS
IF IS_LINER_RAINBAND:0 >= 1
	;線状降水帯の勢力圏突入時刻以前
	IF TIME_ENTER_TERRITORY_LINER_RAINBAND:0 > DAY:2
		RETURNF "線状降水帯遠方"
	ELSEIF TIME_ENTER_TERRITORY_LINER_RAINBAND:0 == DAY:2 && TIME_ENTER_TERRITORY_LINER_RAINBAND:1 > DAY:3
		RETURNF "線状降水帯遠方"
	ELSEIF TIME_ENTER_TERRITORY_LINER_RAINBAND:0 == DAY:2 && TIME_ENTER_TERRITORY_LINER_RAINBAND:1 == DAY:3 && TIME_ENTER_TERRITORY_LINER_RAINBAND:2 > TIME:0
		RETURNF "線状降水帯遠方"
	;線状降水帯の通過時刻以前
	ELSEIF TIME_PASSAGE_LINER_RAINBAND:0 > DAY:2
		RETURNF "線状降水帯勢力圏"
	ELSEIF TIME_PASSAGE_LINER_RAINBAND:0 == DAY:2 && TIME_PASSAGE_LINER_RAINBAND:1 > DAY:3
		RETURNF "線状降水帯勢力圏"
	ELSEIF TIME_PASSAGE_LINER_RAINBAND:0 == DAY:2 && TIME_PASSAGE_LINER_RAINBAND:1 == DAY:3 && TIME_PASSAGE_LINER_RAINBAND:2 > TIME:0
		RETURNF "線状降水帯勢力圏"
	ELSE
		RETURNF "線状降水帯通過"
	ENDIF
ELSE
	RETURNF "線状降水帯未発生"
ENDIF

;-------------------------------------------------
;外の世界で発令されている気象警報・注意報を取得
;-------------------------------------------------
;大雨
@GET_WEATHER_WARNING_HEAVY_RAIN
#FUNCTIONS
#DIMS 低気圧位置
#DIMS 線状降水帯位置
#DIMS 積乱雲位置

低気圧位置 = %GET_LOCATION_LOW()%
線状降水帯位置 = %GET_LOCATION_LINER_RAINBAND()%
積乱雲位置 = %GET_LOCATION_CUMULUS()%

IF CONTINUOUS_RAINFALL >= 15
	RETURNF "大雨特別警報"
ELSEIF 線状降水帯位置 == "線状降水帯勢力圏" && IS_LINER_RAINBAND:1 == 2
	RETURNF "大雨特別警報"
ELSEIF IS_TYPHOON:1 >= 5 && IS_TYPHOON:2 == 3 && POWER_WARM_AIR >= 5 && GET_LOCATION_AREA_TYPHOON() == 1
	RETURNF "大雨特別警報"
ELSEIF CONTINUOUS_RAINFALL >= 10
	RETURNF "大雨警報(土砂災害警戒情報)"
ELSEIF 線状降水帯位置 == "線状降水帯勢力圏"
	RETURNF "大雨警報(土砂災害警戒情報)"
ELSEIF 線状降水帯位置 == "線状降水帯遠方" && IS_LINER_RAINBAND:1 == 2 && TIME_ENTER_TERRITORY_LINER_RAINBAND:1 == DAY:3 && TIME_ENTER_TERRITORY_LINER_RAINBAND:2 <= TIME:0 + 180
	RETURNF "大雨警報(土砂災害警戒情報)"
ELSEIF (GET_LOCATION_AREA_TYPHOON() == 1 || 低気圧位置 == "台風勢力圏") && IS_TYPHOON:3 == 1
	RETURNF "大雨警報"
ELSEIF GET_LOCATION_AREA_TYPHOON() == 1
	RETURNF "大雨警報"
ELSEIF CAN_CUMULUS:0 == 5 && (積乱雲位置 == "積乱雲視認" || 積乱雲位置 == "積乱雲接近" || 積乱雲位置 == "積乱雲直下")
	RETURNF "大雨警報"
ELSEIF CAN_CUMULUS:0 == 4 && (積乱雲位置 == "積乱雲接近" || 積乱雲位置 == "積乱雲直下")
	RETURNF "大雨警報"
ELSEIF CONTINUOUS_RAINFALL >= 5
	RETURNF "大雨警報"
ELSEIF 線状降水帯位置 == "線状降水帯遠方" && IS_LINER_RAINBAND:1 == 2 && TIME_ENTER_TERRITORY_LINER_RAINBAND:1 == DAY:3
	RETURNF "大雨警報"
ELSEIF TIME:5 == 14
	RETURNF "大雨警報"
ELSEIF 線状降水帯位置 == "線状降水帯遠方" && TIME_ENTER_TERRITORY_LINER_RAINBAND:1 == DAY:3 && TIME_ENTER_TERRITORY_LINER_RAINBAND:2 <= TIME:0 + 180
	RETURNF "大雨注意報"
ELSEIF GET_LOCATION_AREA_TYPHOON() == 1 || 低気圧位置 == "台風勢力圏"
	RETURNF "大雨注意報"
ELSEIF 低気圧位置 == "寒冷渦接近" && DAY:2 != 4 && POWER_WARM_AIR != 1
	RETURNF "大雨注意報"
ELSEIF CONTINUOUS_RAINFALL >= 1
	RETURNF "大雨注意報"
ELSEIF CAN_CUMULUS:0 == 5 && 積乱雲位置 == "積乱雲遠方"
	RETURNF "大雨注意報"
ELSEIF CAN_CUMULUS:0 == 4 && (積乱雲位置 == "積乱雲視認" || (積乱雲位置 == "積乱雲遠方" && TIME:0 >= 720))
	RETURNF "大雨注意報"
ELSEIF CAN_CUMULUS:0 == 3 && (積乱雲位置 == "積乱雲接近" || 積乱雲位置 == "積乱雲直下")
	RETURNF "大雨注意報"
ELSEIF TIME:5 == 5
	RETURNF "大雨注意報"
ELSE
	RETURNF "大雨注意報未発令"
ENDIF

;大雪
@GET_WEATHER_WARNING_HEAVY_SNOWFALL
#FUNCTIONS
#DIMS 低気圧位置

低気圧位置 = %GET_LOCATION_LOW()%
IF CONTINUOUS_SNOWFALL >= 30
	RETURNF "大雪特別警報"
ELSEIF 低気圧位置 == "二つ玉低気圧接近" || 低気圧位置 == "疑似好天" || 低気圧位置 == "二つ玉低気圧通過中"
	RETURNF "大雪警報"
ELSEIF 低気圧位置 == "日本海低気圧通過中"
	RETURNF "大雪警報"
ELSEIF 低気圧位置 == "寒冷渦接近" && (DAY:2 == 4 || POWER_WARM_AIR == 1) && DAY:2 != 3
	RETURNF "大雪警報"
ELSEIF CONTINUOUS_SNOWFALL >= 15
	RETURNF "大雪警報"
ELSEIF 低気圧位置 == "日本海低気圧接近"
	RETURNF "大雪注意報"
ELSEIF 低気圧位置 == "南岸低気圧接近"
	RETURNF "大雪注意報"
ELSEIF 低気圧位置 == "寒冷渦遠方" && DAY:2 == 4
	RETURNF "大雪注意報"
ELSEIF CONTINUOUS_SNOWFALL >= 5
	RETURNF "大雪注意報"
ELSE
	RETURNF "大雪注意報未発令"
ENDIF

;暴風・暴風雪
@GET_WEATHER_WARNING_STORM
#FUNCTIONS
#DIMS 低気圧位置

低気圧位置 = %GET_LOCATION_LOW()%
IF (低気圧位置 == "疑似好天" || 低気圧位置 == "二つ玉低気圧通過中") && POWER_COLD_AIR >= 4 && POWER_WARM_AIR >= 5
	RETURNF "暴風雪特別警報"
ELSEIF WIND_VELOCITY >= 3 && TIME:5 >= 8 && TIME:5 <= 12
	RETURNF "暴風雪特別警報"
ELSEIF IS_TYPHOON:1 >= 5 && POWER_COLD_AIR == 1 && POWER_WARM_AIR >= 5 && GET_LOCATION_AREA_TYPHOON() == 1
	RETURNF "暴風特別警報"
ELSEIF WIND_VELOCITY >= 3
	RETURNF "暴風特別警報"
ELSEIF 低気圧位置 == "疑似好天" || 低気圧位置 == "二つ玉低気圧通過中"
	RETURNF "暴風雪警報"
ELSEIF 低気圧位置 == "日本海低気圧通過中" && POWER_COLD_AIR >= 4
	RETURNF "暴風雪警報"
ELSEIF (低気圧位置 == "寒冷渦接近" || (低気圧位置 == "寒冷渦遠方" && (TIME_ENTER_TERRITORY_COLD_LOW:1 == DAY:3 && TIME_ENTER_TERRITORY_COLD_LOW:2 <= TIME:0 + 180))) && (DAY:2 == 4 || POWER_WARM_AIR == 1) && DAY:2 != 3
	RETURNF "暴風雪警報"
ELSEIF WIND_VELOCITY >= 2 && TIME:5 >= 8 && TIME:5 <= 12
	RETURNF "暴風雪警報"
ELSEIF GET_LOCATION_AREA_TYPHOON() == 1 && IS_TYPHOON:1 >= 3
	RETURNF "暴風警報"
ELSEIF 低気圧位置 == "寒冷渦接近" || (低気圧位置 == "寒冷渦遠方" && (TIME_ENTER_TERRITORY_COLD_LOW:1 == DAY:3 && TIME_ENTER_TERRITORY_COLD_LOW:2 <= TIME:0 + 180))
	RETURNF "暴風警報"
ELSEIF WIND_VELOCITY >= 2
	RETURNF "暴風警報"
ELSEIF 低気圧位置 == "二つ玉低気圧接近"
	RETURNF "風雪注意報"
ELSEIF 低気圧位置 == "日本海低気圧接近" && POWER_COLD_AIR >= 4
	RETURNF "風雪注意報"
ELSEIF WIND_VELOCITY >= 1 && TIME:5 >= 8 && TIME:5 <= 12
	RETURNF "風雪注意報"
ELSEIF GET_LOCATION_AREA_TYPHOON() == 1
	RETURNF "強風注意報"
ELSEIF (低気圧位置 == "温暖前線接近" || 低気圧位置 == "暖域") && (POWER_WARM_AIR >= 4 || (DAY:2 == 1 && NOW_TERM == 1))
	RETURNF "強風注意報"
ELSEIF WIND_VELOCITY >= 1
	RETURNF "強風注意報"
ELSE
	RETURNF "強風注意報未発令"
ENDIF

;雷・竜巻
@GET_WEATHER_WARNING_LIGHTNING
#FUNCTIONS
#DIMS 低気圧位置
#DIMS 線状降水帯位置
#DIMS 積乱雲位置

低気圧位置 = %GET_LOCATION_LOW()%
線状降水帯位置 = %GET_LOCATION_LINER_RAINBAND()%
積乱雲位置 = %GET_LOCATION_CUMULUS()%

IF CAN_CUMULUS:2 == 2 && (積乱雲位置 == "積乱雲接近" || 積乱雲位置 == "積乱雲直下")
	RETURNF "雷注意報(竜巻注意情報)"
ELSEIF GET_HEAT_THUNDERSTORM() == 1 && GET_FRONTAL_THUNDERSTORM() == 1 && ATMOSPHERIC_INSTABILITY <= -2
	RETURNF "雷注意報(竜巻注意情報)"
ELSEIF DAY:2 == 2 && (IS_COLD_LOW || 低気圧位置 == "台風勢力圏")
	RETURNF "雷注意報"
ELSEIF CAN_CUMULUS:0 == 3 && (積乱雲位置 == "積乱雲接近" || 積乱雲位置 == "積乱雲直下")
	RETURNF "雷注意報"
ELSEIF 線状降水帯位置 == "線状降水帯勢力圏"
	RETURNF "雷注意報"
ELSEIF (DAY:2 == 1 || DAY:2 == 3) && (低気圧位置 == "寒冷前線通過" || 低気圧位置 == "暖域") && POWER_WARM_AIR >= 3 && POWER_COLD_AIR >= 4
	RETURNF "雷注意報"
ELSEIF GET_HEAT_THUNDERSTORM() == 1
	RETURNF "雷注意報"
ELSEIF GET_FRONTAL_THUNDERSTORM() == 1
	RETURNF "雷注意報"
ELSE
	RETURNF "雷注意報未発令"
ENDIF

;低温
@GET_WEATHER_WARNING_COLD
#FUNCTIONS

IF POWER_COLD_AIR == 5 && DAY:2 == 1
	RETURNF "低温注意報"
ELSEIF IS_COLD_CROP_DAMAGE >= 2
	RETURNF "低温注意報"
ELSE
	RETURNF "低温注意報未発令"
ENDIF

;なだれ
@GET_WEATHER_WARNING_AVALANCHE
#FUNCTIONS
#DIMS 暴風情報

暴風情報 = %GET_WEATHER_WARNING_STORM()%

IF POSSIBLITY_AVALANCHE >= 1
	RETURNF "なだれ注意報"
ELSEIF DAY:2 == 1 && NOW_TERM <= 2 && SNOW_COVERAGE + CONTINUOUS_SNOWFALL >= 7
	RETURNF "なだれ注意報"
ELSEIF SNOW_COVERAGE + CONTINUOUS_SNOWFALL >= 10
	RETURNF "なだれ注意報"
ELSEIF SNOW_COVERAGE >= 15 && CONTINUOUS_SNOWFALL >= 6
	RETURNF "なだれ注意報"
ELSEIF SNOW_COVERAGE >= 5 && CONTINUOUS_SNOWFALL >= 5 && 暴風情報 != "強風注意報未発令"
	RETURNF "なだれ注意報"
ELSE
	RETURNF "なだれ注意報未発令"
ENDIF

;早期注意情報（警報級の可能性）
@GET_WEATHER_ADVISORY_probability_subsequent_WARNING
#FUNCTIONS
#DIMS 低気圧位置
#DIMS 線状降水帯位置
#DIMS 積乱雲位置

低気圧位置 = %GET_LOCATION_LOW()%
線状降水帯位置 = %GET_LOCATION_LINER_RAINBAND()%
積乱雲位置 = %GET_LOCATION_CUMULUS()%

IF (線状降水帯位置 == "線状降水帯遠方" || 線状降水帯位置 == "線状降水帯勢力圏") && TIME_ENTER_TERRITORY_LINER_RAINBAND:1 <= DAY:3 +1
	RETURNF "警報級の可能性［高］"
ELSEIF IS_LINER_RAINBAND:1
	RETURNF "警報級の可能性［中］"
ELSEIF 低気圧位置 == "台風遠方" && IS_TYPHOON:3 == 1 && TIME_ENTER_TERRITORY_TYPHOON:0 == DAY:2 && TIME_ENTER_TERRITORY_TYPHOON:1 <= DAY:3 + 2
	RETURNF "警報級の可能性［高］"
ELSEIF 低気圧位置 == "台風遠方" && TIME_ENTER_TERRITORY_TYPHOON:0 == DAY:2 && TIME_ENTER_TERRITORY_TYPHOON:1 <= DAY:3 + 1
	RETURNF "警報級の可能性［中］"
ELSEIF GET_LOCATION_AREA_TYPHOON() == 1 || 低気圧位置 == "台風勢力圏"
	RETURNF "警報級の可能性［高］"
ELSEIF GET_HEAT_THUNDERSTORM() && GET_FRONTAL_THUNDERSTORM()
	RETURNF "警報級の可能性［高］"
ELSEIF IS_COLD_LOW
	RETURNF "警報級の可能性［中］"
ELSEIF CONTINUOUS_RAINFALL >= 3
	RETURNF "警報級の可能性［中］"
ELSEIF (IS_SoJ_LOW == 2 && TIME_ENTER_TERRITORY_SoJ_LOW:1 <= DAY:3 + 1) && 低気圧位置 != "二つ玉低気圧通過" && 低気圧位置 != "日本海低気圧通過"
	RETURNF "警報級の可能性［高］"
ELSEIF IS_SoJ_LOW && 低気圧位置 != "二つ玉低気圧通過" && 低気圧位置 != "日本海低気圧通過"
	RETURNF "警報級の可能性［中］"
ELSE
	RETURNF "早期注意情報未発表"
ENDIF

;-------------------------------------------------
;熱雷発生フラグ判定
;-------------------------------------------------
@GET_HEAT_THUNDERSTORM
#FUNCTION
#DIMS 積乱雲位置
#DIMS 線状降水帯位置
#DIMS 低気圧位置

低気圧位置 = %GET_LOCATION_LOW()%
線状降水帯位置 = %GET_LOCATION_LINER_RAINBAND()%
積乱雲位置 = %GET_LOCATION_CUMULUS()%

IF 線状降水帯位置 == "線状降水帯勢力圏"
	RETURNF 1
ELSEIF 積乱雲位置 == "積乱雲直下"
	IF CAN_CUMULUS:0 == 3 && ATMOSPHERIC_INSTABILITY <= -3
		RETURNF 1
	ELSEIF CAN_CUMULUS:0 >= 4
		RETURNF 1
	ELSE
		RETURNF 0
	ENDIF
ELSEIF 積乱雲位置 == "積乱雲接近"
	IF CAN_CUMULUS:0 == 4 && ATMOSPHERIC_INSTABILITY <= -7
		RETURNF 1
	ELSEIF CAN_CUMULUS:0 >= 5
		RETURNF 1
	ELSE
		RETURNF 0
	ENDIF
ELSEIF IS_TYPHOON:3 == 1 && 低気圧位置 == "台風勢力圏" && ATMOSPHERIC_INSTABILITY <= -1
	RETURNF 1
ELSEIF (IS_RAINY_SEASON1:0 == 1 || IS_RAINY_SEASON2 == 1) && POWER_WARM_AIR >= 4 && ATMOSPHERIC_INSTABILITY <= 0
	RETURNF 1
ELSEIF (DAY:2 == 1 || DAY:2 == 3) && (低気圧位置 == "温暖前線接近" || 低気圧位置 == "寒冷前線通過" || 低気圧位置 == "寒冷渦接近") && POWER_WARM_AIR >= 5 && ATMOSPHERIC_INSTABILITY <= -1
	RETURNF 1
ELSE
	RETURNF 0
ENDIF

;-------------------------------------------------
;界雷発生フラグ判定
;-------------------------------------------------
@GET_FRONTAL_THUNDERSTORM
#FUNCTION
#DIMS 低気圧位置

低気圧位置 = %GET_LOCATION_LOW()%

IF (DAY:2 == 1 || DAY:2 == 3) && (低気圧位置 == "寒冷前線通過" || 低気圧位置 == "寒冷渦接近") && POWER_WARM_AIR >= 3 && POWER_COLD_AIR >= 4
	RETURNF 1
ELSEIF IS_RAINY_SEASON1:1 == 1
	RETURNF 1
ELSEIF IS_RAINY_SEASON1:0 == 1 && POWER_COLD_AIR >= 4
	RETURNF 1
ELSEIF (低気圧位置 == "二つ玉低気圧接近" || 低気圧位置 == "二つ玉低気圧通過中") && POWER_WARM_AIR >= 3 && POWER_COLD_AIR >= 3
	RETURNF 1
ELSEIF (低気圧位置 == "日本海低気圧接近" || 低気圧位置 == "日本海低気圧通過中") && POWER_WARM_AIR >= 3 && POWER_COLD_AIR >= 3
	RETURNF 1
ELSE
	RETURNF 0
ENDIF

;-------------------------------------------------
;天候が雷であるか
;-------------------------------------------------
@GET_WEATHER_THUNDERSTORM
#FUNCTION

IF (GET_HEAT_THUNDERSTORM() == 1 || GET_FRONTAL_THUNDERSTORM() == 1) && TIME:5 != 1 && (FLAG:이상기상 == 0 || FLAG:이상기상 == 9 || FLAG:이상기상 == 10) && !FORBIDDEN_CHANGE_WEATHER
	RETURNF 1
ELSE
	RETURNF 0
ENDIF

;-------------------------------------------------
;天候システム上の時間帯に応じた名前を返す
;-------------------------------------------------
@GET_NAME_WEATHER_TIMEZOME(ARG = -1)
#FUNCTIONS

SIF ARG == -1
	ARG = TIME

SELECTCASE ARG
	;AM0~3
	CASE 0 TO 179
		;RETURNF "未明"
		RETURNF "미명"
	;AM3~6
	CASE 180 TO 359
		;RETURNF "明け方"
		RETURNF "동틀녘"
	;AM6~9
	CASE 360 TO 539
		;RETURNF "朝"
		RETURNF "아침"
	;AM9~12
	CASE 540 TO 719
		;RETURNF "昼前"
		RETURNF "오전"
	;PM0~3
	CASE 720 TO 899
		;RETURNF "昼過ぎ"
		RETURNF "오후"
	;PM3~6
	CASE 900 TO 1079
		;RETURNF "夕方"
		RETURNF "해질녘"
	;PM6~9
	CASE 1080 TO 1259
		RETURNF "밤의 시작 무렵"
	;PM9~12
	CASE IS >= 1260
		RETURNF "밤늦게"
	CASEELSE
		RETURNF "시간대 에러"
ENDSELECT

;-------------------------------------------------
;台風接近時・猛吹雪時にFLAG:異常気象を設定する
;-------------------------------------------------
@SET_ABNORMAL_WEATHER

IF GET_LOCATION_AREA_TYPHOON() == 1
	FLAG:이상기상 = 9
ELSEIF TIME:5 >= 8 && TIME:5 <= 13 && GET_HEAT_THUNDERSTORM() == 0 && GET_FRONTAL_THUNDERSTORM() == 0 && WIND_VELOCITY >= 2
	FLAG:이상기상 = 10
ELSE
	FLAG:이상기상 = 0
ENDIF

;-------------------------------------------------
;時刻・天候に応じて背景色を変更
;2022/11/23改造
;	・設定すべき背景色と現在背景色を比較し、同じ色なら変更を飛ばす処理(@SET_MAP_WEATHER_BGCOLOR_NEW)
;	・背景色変更処理の前にREDRAW 0をセットし、関数終了後に戻す処理
;	・USE_NEWに0をセットすることで旧処理に戻せる
;2023/01/01改変
;	・旧関数の互換処理を削除、描画制御と背景色比較処理のみに変更
;-------------------------------------------------
@SET_MAP_WEATHER_BGCOLOR
#DIM CURRED		;CURRENT REDRAW。CURRENTREDRAWを保存
#DIM NEXTCOLOR
#DIMS 低気圧位置
#DIMS 積乱雲位置

SIF FLAG:시간정지 || !FLAG:배경색추이
	RETURN
CURRED = CURRENTREDRAW()
REDRAW 0

低気圧位置 = %GET_LOCATION_LOW()%
積乱雲位置 = %GET_LOCATION_CUMULUS()%
SELECTCASE TIME:0
	;AM4~6　早朝
	CASE 240 TO 359
		SELECTCASE TIME:5
			CASE 6, 7, 11
				NEXTCOLOR = C_MAP_霧_夜
			CASE 8, 9, 10, 12
				NEXTCOLOR = C_MAP_雪_夜
			CASEELSE
				NEXTCOLOR = C_MAP_晴れ_早朝
		ENDSELECT

	;AM6~8　正午前
	CASE 360 TO 479
		SELECTCASE TIME:5
			CASE IS <= 3
				IF 低気圧位置 == "台風勢力圏"
					NEXTCOLOR = C_MAP_夕焼け_台風
				ELSEIF (低気圧位置 == "寒冷渦接近" && DAY:2 != 2) || (IS_COLD_LOW && DAY:2 == 2) || 低気圧位置 == "二つ玉低気圧接近" || 低気圧位置 == "日本海低気圧接近" || 低気圧位置 == "南岸低気圧接近" || 低気圧位置 == "温暖前線接近"
					NEXTCOLOR = C_MAP_夕焼け_低気圧
				ELSE
					NEXTCOLOR = C_MAP_晴れ_朝
				ENDIF
			CASE 6, 7, 11
				NEXTCOLOR = C_MAP_霧_昼
			CASE 4, 5, 13, 14, 15
				NEXTCOLOR = C_MAP_雨_昼
			CASE 8, 9, 10, 12
				NEXTCOLOR = C_MAP_雪_昼
			CASEELSE
				NEXTCOLOR = C_MAP_晴れ_朝
		ENDSELECT

	;AM8~12　正午前
	CASE 480 TO 719
		SELECTCASE TIME:5
			CASE 0, 1, 2
				NEXTCOLOR = C_MAP_晴れ_朝
			CASE 3
				NEXTCOLOR = C_MAP_曇り_昼
			CASE 6, 7, 11
				NEXTCOLOR = C_MAP_霧_昼
			CASE 4, 5, 13, 14, 15
				NEXTCOLOR = C_MAP_雨_昼
			CASE 8, 9, 10, 12
				NEXTCOLOR = C_MAP_雪_昼
			CASEELSE
				NEXTCOLOR = C_MAP_晴れ_朝
		ENDSELECT

	;PM12~6　昼
	CASE 720 TO 1079
		SELECTCASE 積乱雲位置
			CASE "積乱雲接近", "積乱雲直下"
				SELECTCASE CAN_CUMULUS:0
				CASE 3, 4, 5
					NEXTCOLOR = C_MAP_積乱雲_昼
				CASEELSE
					NEXTCOLOR = C_MAP_曇り_昼
				ENDSELECT
			CASEELSE
				SELECTCASE TIME:5
					CASE 0, 1
						NEXTCOLOR = C_MAP_晴れ_昼
					CASE 2
						NEXTCOLOR = C_MAP_薄曇_昼
					CASE 3
						NEXTCOLOR = C_MAP_曇り_昼
					CASE 6, 7, 11
						NEXTCOLOR = C_MAP_霧_昼
					CASE 4, 5, 13, 14, 15
						NEXTCOLOR = C_MAP_雨_昼
					CASE 8, 9, 10, 12
						NEXTCOLOR = C_MAP_雪_昼
					CASEELSE
						NEXTCOLOR = C_MAP_晴れ_昼
				ENDSELECT
		ENDSELECT

	;PM6~8　夕
	CASE 1080 TO 1199
		SELECTCASE TIME:5
			CASE IS <= 3
				IF 低気圧位置 == "台風勢力圏"
					NEXTCOLOR = C_MAP_夕焼け_台風
				ELSEIF 低気圧位置 == "寒冷渦接近" || IS_COLD_LOW || 低気圧位置 == "二つ玉低気圧接近" || 低気圧位置 == "日本海低気圧接近" || 低気圧位置 == "南岸低気圧接近" || 低気圧位置 == "温暖前線接近"
					NEXTCOLOR = C_MAP_夕焼け_低気圧
				ELSE
					NEXTCOLOR = C_MAP_夕焼け_通常
				ENDIF
			CASE 6, 7, 11
				NEXTCOLOR = C_MAP_霧_昼
			CASE 4, 5, 13, 14, 15
				NEXTCOLOR = C_MAP_雨_昼
			CASE 8, 9, 10, 12
				NEXTCOLOR = C_MAP_雪_昼
			CASEELSE
				NEXTCOLOR = C_MAP_夕焼け_通常
		ENDSELECT

	;PM8~AM4　夜・深夜
	CASE 0 TO 239, IS >= 1200
		SELECTCASE TIME:5
			CASE 0, 1, 2
				NEXTCOLOR = C_MAP_晴れ_夜
			CASE 6, 7, 11
				NEXTCOLOR = C_MAP_霧_夜
			CASE 3, 4, 5, 13, 14, 15
				NEXTCOLOR = C_MAP_曇り_夜
			CASE 8, 9, 10, 12
				NEXTCOLOR = C_MAP_雪_夜
			CASEELSE
				NEXTCOLOR = C_MAP_晴れ_夜
		ENDSELECT
ENDSELECT

SIF NEXTCOLOR != GETBGCOLOR()
	SETBGCOLOR NEXTCOLOR

REDRAW CURRED

;-------------------------------------------------
;現在の気温
;基礎気温に天候傾向・寒気・暖気・場所に応じた補正を加えて現在の気温を算定する
;-------------------------------------------------
@GET_現在気温
#FUNCTION
#DIM 基礎気温
#DIM HOUR
#DIM 現在マップ
#DIM 現在お出かけマップ
#DIM 高度補正
#DIM 気流補正
#DIM 建造物補正
#DIM 日射補正
#DIM 現在場所
#DIM 補正温度

HOUR = TIME:0 / 60

;現在の基礎気温を取得
SELECTCASE DAY:2
	CASE 1
		SELECTCASE NOW_TERM
			CASE 1
				SELECTCASE HOUR
					CASE 0
						基礎気温 = 気温_春_1T_0時
					CASE 1
						基礎気温 = 気温_春_1T_1時
					CASE 2
						基礎気温 = 気温_春_1T_2時
					CASE 3
						基礎気温 = 気温_春_1T_3時
					CASE 4
						基礎気温 = 気温_春_1T_4時
					CASE 5
						基礎気温 = 気温_春_1T_5時
					CASE 6
						基礎気温 = 気温_春_1T_6時
					CASE 7
						基礎気温 = 気温_春_1T_7時
					CASE 8
						基礎気温 = 気温_春_1T_8時
					CASE 9
						基礎気温 = 気温_春_1T_9時
					CASE 10
						基礎気温 = 気温_春_1T_10時
					CASE 11
						基礎気温 = 気温_春_1T_11時
					CASE 12
						基礎気温 = 気温_春_1T_12時
					CASE 13
						基礎気温 = 気温_春_1T_13時
					CASE 14
						基礎気温 = 気温_春_1T_14時
					CASE 15
						基礎気温 = 気温_春_1T_15時
					CASE 16
						基礎気温 = 気温_春_1T_16時
					CASE 17
						基礎気温 = 気温_春_1T_17時
					CASE 18
						基礎気温 = 気温_春_1T_18時
					CASE 19
						基礎気温 = 気温_春_1T_19時
					CASE 20
						基礎気温 = 気温_春_1T_20時
					CASE 21
						基礎気温 = 気温_春_1T_21時
					CASE 22
						基礎気温 = 気温_春_1T_22時
					CASE 23
						基礎気温 = 気温_春_1T_23時
				ENDSELECT
			CASE 2
				SELECTCASE HOUR
					CASE 0
						基礎気温 = 気温_春_2T_0時
					CASE 1
						基礎気温 = 気温_春_2T_1時
					CASE 2
						基礎気温 = 気温_春_2T_2時
					CASE 3
						基礎気温 = 気温_春_2T_3時
					CASE 4
						基礎気温 = 気温_春_2T_4時
					CASE 5
						基礎気温 = 気温_春_2T_5時
					CASE 6
						基礎気温 = 気温_春_2T_6時
					CASE 7
						基礎気温 = 気温_春_2T_7時
					CASE 8
						基礎気温 = 気温_春_2T_8時
					CASE 9
						基礎気温 = 気温_春_2T_9時
					CASE 10
						基礎気温 = 気温_春_2T_10時
					CASE 11
						基礎気温 = 気温_春_2T_11時
					CASE 12
						基礎気温 = 気温_春_2T_12時
					CASE 13
						基礎気温 = 気温_春_2T_13時
					CASE 14
						基礎気温 = 気温_春_2T_14時
					CASE 15
						基礎気温 = 気温_春_2T_15時
					CASE 16
						基礎気温 = 気温_春_2T_16時
					CASE 17
						基礎気温 = 気温_春_2T_17時
					CASE 18
						基礎気温 = 気温_春_2T_18時
					CASE 19
						基礎気温 = 気温_春_2T_19時
					CASE 20
						基礎気温 = 気温_春_2T_20時
					CASE 21
						基礎気温 = 気温_春_2T_21時
					CASE 22
						基礎気温 = 気温_春_2T_22時
					CASE 23
						基礎気温 = 気温_春_2T_23時
				ENDSELECT
			CASE 3
				SELECTCASE HOUR
					CASE 0
						基礎気温 = 気温_春_3T_0時
					CASE 1
						基礎気温 = 気温_春_3T_1時
					CASE 2
						基礎気温 = 気温_春_3T_2時
					CASE 3
						基礎気温 = 気温_春_3T_3時
					CASE 4
						基礎気温 = 気温_春_3T_4時
					CASE 5
						基礎気温 = 気温_春_3T_5時
					CASE 6
						基礎気温 = 気温_春_3T_6時
					CASE 7
						基礎気温 = 気温_春_3T_7時
					CASE 8
						基礎気温 = 気温_春_3T_8時
					CASE 9
						基礎気温 = 気温_春_3T_9時
					CASE 10
						基礎気温 = 気温_春_3T_10時
					CASE 11
						基礎気温 = 気温_春_3T_11時
					CASE 12
						基礎気温 = 気温_春_3T_12時
					CASE 13
						基礎気温 = 気温_春_3T_13時
					CASE 14
						基礎気温 = 気温_春_3T_14時
					CASE 15
						基礎気温 = 気温_春_3T_15時
					CASE 16
						基礎気温 = 気温_春_3T_16時
					CASE 17
						基礎気温 = 気温_春_3T_17時
					CASE 18
						基礎気温 = 気温_春_3T_18時
					CASE 19
						基礎気温 = 気温_春_3T_19時
					CASE 20
						基礎気温 = 気温_春_3T_20時
					CASE 21
						基礎気温 = 気温_春_3T_21時
					CASE 22
						基礎気温 = 気温_春_3T_22時
					CASE 23
						基礎気温 = 気温_春_3T_23時
				ENDSELECT
			CASE 4
				SELECTCASE HOUR
					CASE 0
						基礎気温 = 気温_春_4T_0時
					CASE 1
						基礎気温 = 気温_春_4T_1時
					CASE 2
						基礎気温 = 気温_春_4T_2時
					CASE 3
						基礎気温 = 気温_春_4T_3時
					CASE 4
						基礎気温 = 気温_春_4T_4時
					CASE 5
						基礎気温 = 気温_春_4T_5時
					CASE 6
						基礎気温 = 気温_春_4T_6時
					CASE 7
						基礎気温 = 気温_春_4T_7時
					CASE 8
						基礎気温 = 気温_春_4T_8時
					CASE 9
						基礎気温 = 気温_春_4T_9時
					CASE 10
						基礎気温 = 気温_春_4T_10時
					CASE 11
						基礎気温 = 気温_春_4T_11時
					CASE 12
						基礎気温 = 気温_春_4T_12時
					CASE 13
						基礎気温 = 気温_春_4T_13時
					CASE 14
						基礎気温 = 気温_春_4T_14時
					CASE 15
						基礎気温 = 気温_春_4T_15時
					CASE 16
						基礎気温 = 気温_春_4T_16時
					CASE 17
						基礎気温 = 気温_春_4T_17時
					CASE 18
						基礎気温 = 気温_春_4T_18時
					CASE 19
						基礎気温 = 気温_春_4T_19時
					CASE 20
						基礎気温 = 気温_春_4T_20時
					CASE 21
						基礎気温 = 気温_春_4T_21時
					CASE 22
						基礎気温 = 気温_春_4T_22時
					CASE 23
						基礎気温 = 気温_春_4T_23時
				ENDSELECT
			CASE 5
				SELECTCASE HOUR
					CASE 0
						基礎気温 = 気温_春_5T_0時
					CASE 1
						基礎気温 = 気温_春_5T_1時
					CASE 2
						基礎気温 = 気温_春_5T_2時
					CASE 3
						基礎気温 = 気温_春_5T_3時
					CASE 4
						基礎気温 = 気温_春_5T_4時
					CASE 5
						基礎気温 = 気温_春_5T_5時
					CASE 6
						基礎気温 = 気温_春_5T_6時
					CASE 7
						基礎気温 = 気温_春_5T_7時
					CASE 8
						基礎気温 = 気温_春_5T_8時
					CASE 9
						基礎気温 = 気温_春_5T_9時
					CASE 10
						基礎気温 = 気温_春_5T_10時
					CASE 11
						基礎気温 = 気温_春_5T_11時
					CASE 12
						基礎気温 = 気温_春_5T_12時
					CASE 13
						基礎気温 = 気温_春_5T_13時
					CASE 14
						基礎気温 = 気温_春_5T_14時
					CASE 15
						基礎気温 = 気温_春_5T_15時
					CASE 16
						基礎気温 = 気温_春_5T_16時
					CASE 17
						基礎気温 = 気温_春_5T_17時
					CASE 18
						基礎気温 = 気温_春_5T_18時
					CASE 19
						基礎気温 = 気温_春_5T_19時
					CASE 20
						基礎気温 = 気温_春_5T_20時
					CASE 21
						基礎気温 = 気温_春_5T_21時
					CASE 22
						基礎気温 = 気温_春_5T_22時
					CASE 23
						基礎気温 = 気温_春_5T_23時
				ENDSELECT
			CASE 6
				SELECTCASE HOUR
					CASE 0
						基礎気温 = 気温_春_6T_0時
					CASE 1
						基礎気温 = 気温_春_6T_1時
					CASE 2
						基礎気温 = 気温_春_6T_2時
					CASE 3
						基礎気温 = 気温_春_6T_3時
					CASE 4
						基礎気温 = 気温_春_6T_4時
					CASE 5
						基礎気温 = 気温_春_6T_5時
					CASE 6
						基礎気温 = 気温_春_6T_6時
					CASE 7
						基礎気温 = 気温_春_6T_7時
					CASE 8
						基礎気温 = 気温_春_6T_8時
					CASE 9
						基礎気温 = 気温_春_6T_9時
					CASE 10
						基礎気温 = 気温_春_6T_10時
					CASE 11
						基礎気温 = 気温_春_6T_11時
					CASE 12
						基礎気温 = 気温_春_6T_12時
					CASE 13
						基礎気温 = 気温_春_6T_13時
					CASE 14
						基礎気温 = 気温_春_6T_14時
					CASE 15
						基礎気温 = 気温_春_6T_15時
					CASE 16
						基礎気温 = 気温_春_6T_16時
					CASE 17
						基礎気温 = 気温_春_6T_17時
					CASE 18
						基礎気温 = 気温_春_6T_18時
					CASE 19
						基礎気温 = 気温_春_6T_19時
					CASE 20
						基礎気温 = 気温_春_6T_20時
					CASE 21
						基礎気温 = 気温_春_6T_21時
					CASE 22
						基礎気温 = 気温_春_6T_22時
					CASE 23
						基礎気温 = 気温_春_6T_23時
				ENDSELECT
		ENDSELECT
	CASE 2
		SELECTCASE NOW_TERM
			CASE 1
				SELECTCASE HOUR
					CASE 0
						基礎気温 = 気温_夏_1T_0時
					CASE 1
						基礎気温 = 気温_夏_1T_1時
					CASE 2
						基礎気温 = 気温_夏_1T_2時
					CASE 3
						基礎気温 = 気温_夏_1T_3時
					CASE 4
						基礎気温 = 気温_夏_1T_4時
					CASE 5
						基礎気温 = 気温_夏_1T_5時
					CASE 6
						基礎気温 = 気温_夏_1T_6時
					CASE 7
						基礎気温 = 気温_夏_1T_7時
					CASE 8
						基礎気温 = 気温_夏_1T_8時
					CASE 9
						基礎気温 = 気温_夏_1T_9時
					CASE 10
						基礎気温 = 気温_夏_1T_10時
					CASE 11
						基礎気温 = 気温_夏_1T_11時
					CASE 12
						基礎気温 = 気温_夏_1T_12時
					CASE 13
						基礎気温 = 気温_夏_1T_13時
					CASE 14
						基礎気温 = 気温_夏_1T_14時
					CASE 15
						基礎気温 = 気温_夏_1T_15時
					CASE 16
						基礎気温 = 気温_夏_1T_16時
					CASE 17
						基礎気温 = 気温_夏_1T_17時
					CASE 18
						基礎気温 = 気温_夏_1T_18時
					CASE 19
						基礎気温 = 気温_夏_1T_19時
					CASE 20
						基礎気温 = 気温_夏_1T_20時
					CASE 21
						基礎気温 = 気温_夏_1T_21時
					CASE 22
						基礎気温 = 気温_夏_1T_22時
					CASE 23
						基礎気温 = 気温_夏_1T_23時
				ENDSELECT
			CASE 2
				SELECTCASE HOUR
					CASE 0
						基礎気温 = 気温_夏_2T_0時
					CASE 1
						基礎気温 = 気温_夏_2T_1時
					CASE 2
						基礎気温 = 気温_夏_2T_2時
					CASE 3
						基礎気温 = 気温_夏_2T_3時
					CASE 4
						基礎気温 = 気温_夏_2T_4時
					CASE 5
						基礎気温 = 気温_夏_2T_5時
					CASE 6
						基礎気温 = 気温_夏_2T_6時
					CASE 7
						基礎気温 = 気温_夏_2T_7時
					CASE 8
						基礎気温 = 気温_夏_2T_8時
					CASE 9
						基礎気温 = 気温_夏_2T_9時
					CASE 10
						基礎気温 = 気温_夏_2T_10時
					CASE 11
						基礎気温 = 気温_夏_2T_11時
					CASE 12
						基礎気温 = 気温_夏_2T_12時
					CASE 13
						基礎気温 = 気温_夏_2T_13時
					CASE 14
						基礎気温 = 気温_夏_2T_14時
					CASE 15
						基礎気温 = 気温_夏_2T_15時
					CASE 16
						基礎気温 = 気温_夏_2T_16時
					CASE 17
						基礎気温 = 気温_夏_2T_17時
					CASE 18
						基礎気温 = 気温_夏_2T_18時
					CASE 19
						基礎気温 = 気温_夏_2T_19時
					CASE 20
						基礎気温 = 気温_夏_2T_20時
					CASE 21
						基礎気温 = 気温_夏_2T_21時
					CASE 22
						基礎気温 = 気温_夏_2T_22時
					CASE 23
						基礎気温 = 気温_夏_2T_23時
				ENDSELECT
			CASE 3
				SELECTCASE HOUR
					CASE 0
						基礎気温 = 気温_夏_3T_0時
					CASE 1
						基礎気温 = 気温_夏_3T_1時
					CASE 2
						基礎気温 = 気温_夏_3T_2時
					CASE 3
						基礎気温 = 気温_夏_3T_3時
					CASE 4
						基礎気温 = 気温_夏_3T_4時
					CASE 5
						基礎気温 = 気温_夏_3T_5時
					CASE 6
						基礎気温 = 気温_夏_3T_6時
					CASE 7
						基礎気温 = 気温_夏_3T_7時
					CASE 8
						基礎気温 = 気温_夏_3T_8時
					CASE 9
						基礎気温 = 気温_夏_3T_9時
					CASE 10
						基礎気温 = 気温_夏_3T_10時
					CASE 11
						基礎気温 = 気温_夏_3T_11時
					CASE 12
						基礎気温 = 気温_夏_3T_12時
					CASE 13
						基礎気温 = 気温_夏_3T_13時
					CASE 14
						基礎気温 = 気温_夏_3T_14時
					CASE 15
						基礎気温 = 気温_夏_3T_15時
					CASE 16
						基礎気温 = 気温_夏_3T_16時
					CASE 17
						基礎気温 = 気温_夏_3T_17時
					CASE 18
						基礎気温 = 気温_夏_3T_18時
					CASE 19
						基礎気温 = 気温_夏_3T_19時
					CASE 20
						基礎気温 = 気温_夏_3T_20時
					CASE 21
						基礎気温 = 気温_夏_3T_21時
					CASE 22
						基礎気温 = 気温_夏_3T_22時
					CASE 23
						基礎気温 = 気温_夏_3T_23時
				ENDSELECT
			CASE 4
				SELECTCASE HOUR
					CASE 0
						基礎気温 = 気温_夏_4T_0時
					CASE 1
						基礎気温 = 気温_夏_4T_1時
					CASE 2
						基礎気温 = 気温_夏_4T_2時
					CASE 3
						基礎気温 = 気温_夏_4T_3時
					CASE 4
						基礎気温 = 気温_夏_4T_4時
					CASE 5
						基礎気温 = 気温_夏_4T_5時
					CASE 6
						基礎気温 = 気温_夏_4T_6時
					CASE 7
						基礎気温 = 気温_夏_4T_7時
					CASE 8
						基礎気温 = 気温_夏_4T_8時
					CASE 9
						基礎気温 = 気温_夏_4T_9時
					CASE 10
						基礎気温 = 気温_夏_4T_10時
					CASE 11
						基礎気温 = 気温_夏_4T_11時
					CASE 12
						基礎気温 = 気温_夏_4T_12時
					CASE 13
						基礎気温 = 気温_夏_4T_13時
					CASE 14
						基礎気温 = 気温_夏_4T_14時
					CASE 15
						基礎気温 = 気温_夏_4T_15時
					CASE 16
						基礎気温 = 気温_夏_4T_16時
					CASE 17
						基礎気温 = 気温_夏_4T_17時
					CASE 18
						基礎気温 = 気温_夏_4T_18時
					CASE 19
						基礎気温 = 気温_夏_4T_19時
					CASE 20
						基礎気温 = 気温_夏_4T_20時
					CASE 21
						基礎気温 = 気温_夏_4T_21時
					CASE 22
						基礎気温 = 気温_夏_4T_22時
					CASE 23
						基礎気温 = 気温_夏_4T_23時
				ENDSELECT
			CASE 5
				SELECTCASE HOUR
					CASE 0
						基礎気温 = 気温_夏_5T_0時
					CASE 1
						基礎気温 = 気温_夏_5T_1時
					CASE 2
						基礎気温 = 気温_夏_5T_2時
					CASE 3
						基礎気温 = 気温_夏_5T_3時
					CASE 4
						基礎気温 = 気温_夏_5T_4時
					CASE 5
						基礎気温 = 気温_夏_5T_5時
					CASE 6
						基礎気温 = 気温_夏_5T_6時
					CASE 7
						基礎気温 = 気温_夏_5T_7時
					CASE 8
						基礎気温 = 気温_夏_5T_8時
					CASE 9
						基礎気温 = 気温_夏_5T_9時
					CASE 10
						基礎気温 = 気温_夏_5T_10時
					CASE 11
						基礎気温 = 気温_夏_5T_11時
					CASE 12
						基礎気温 = 気温_夏_5T_12時
					CASE 13
						基礎気温 = 気温_夏_5T_13時
					CASE 14
						基礎気温 = 気温_夏_5T_14時
					CASE 15
						基礎気温 = 気温_夏_5T_15時
					CASE 16
						基礎気温 = 気温_夏_5T_16時
					CASE 17
						基礎気温 = 気温_夏_5T_17時
					CASE 18
						基礎気温 = 気温_夏_5T_18時
					CASE 19
						基礎気温 = 気温_夏_5T_19時
					CASE 20
						基礎気温 = 気温_夏_5T_20時
					CASE 21
						基礎気温 = 気温_夏_5T_21時
					CASE 22
						基礎気温 = 気温_夏_5T_22時
					CASE 23
						基礎気温 = 気温_夏_5T_23時
				ENDSELECT
			CASE 6
				SELECTCASE HOUR
					CASE 0
						基礎気温 = 気温_夏_6T_0時
					CASE 1
						基礎気温 = 気温_夏_6T_1時
					CASE 2
						基礎気温 = 気温_夏_6T_2時
					CASE 3
						基礎気温 = 気温_夏_6T_3時
					CASE 4
						基礎気温 = 気温_夏_6T_4時
					CASE 5
						基礎気温 = 気温_夏_6T_5時
					CASE 6
						基礎気温 = 気温_夏_6T_6時
					CASE 7
						基礎気温 = 気温_夏_6T_7時
					CASE 8
						基礎気温 = 気温_夏_6T_8時
					CASE 9
						基礎気温 = 気温_夏_6T_9時
					CASE 10
						基礎気温 = 気温_夏_6T_10時
					CASE 11
						基礎気温 = 気温_夏_6T_11時
					CASE 12
						基礎気温 = 気温_夏_6T_12時
					CASE 13
						基礎気温 = 気温_夏_6T_13時
					CASE 14
						基礎気温 = 気温_夏_6T_14時
					CASE 15
						基礎気温 = 気温_夏_6T_15時
					CASE 16
						基礎気温 = 気温_夏_6T_16時
					CASE 17
						基礎気温 = 気温_夏_6T_17時
					CASE 18
						基礎気温 = 気温_夏_6T_18時
					CASE 19
						基礎気温 = 気温_夏_6T_19時
					CASE 20
						基礎気温 = 気温_夏_6T_20時
					CASE 21
						基礎気温 = 気温_夏_6T_21時
					CASE 22
						基礎気温 = 気温_夏_6T_22時
					CASE 23
						基礎気温 = 気温_夏_6T_23時
				ENDSELECT
		ENDSELECT
	CASE 3
		SELECTCASE NOW_TERM
			CASE 1
				SELECTCASE HOUR
					CASE 0
						基礎気温 = 気温_秋_1T_0時
					CASE 1
						基礎気温 = 気温_秋_1T_1時
					CASE 2
						基礎気温 = 気温_秋_1T_2時
					CASE 3
						基礎気温 = 気温_秋_1T_3時
					CASE 4
						基礎気温 = 気温_秋_1T_4時
					CASE 5
						基礎気温 = 気温_秋_1T_5時
					CASE 6
						基礎気温 = 気温_秋_1T_6時
					CASE 7
						基礎気温 = 気温_秋_1T_7時
					CASE 8
						基礎気温 = 気温_秋_1T_8時
					CASE 9
						基礎気温 = 気温_秋_1T_9時
					CASE 10
						基礎気温 = 気温_秋_1T_10時
					CASE 11
						基礎気温 = 気温_秋_1T_11時
					CASE 12
						基礎気温 = 気温_秋_1T_12時
					CASE 13
						基礎気温 = 気温_秋_1T_13時
					CASE 14
						基礎気温 = 気温_秋_1T_14時
					CASE 15
						基礎気温 = 気温_秋_1T_15時
					CASE 16
						基礎気温 = 気温_秋_1T_16時
					CASE 17
						基礎気温 = 気温_秋_1T_17時
					CASE 18
						基礎気温 = 気温_秋_1T_18時
					CASE 19
						基礎気温 = 気温_秋_1T_19時
					CASE 20
						基礎気温 = 気温_秋_1T_20時
					CASE 21
						基礎気温 = 気温_秋_1T_21時
					CASE 22
						基礎気温 = 気温_秋_1T_22時
					CASE 23
						基礎気温 = 気温_秋_1T_23時
				ENDSELECT
			CASE 2
				SELECTCASE HOUR
					CASE 0
						基礎気温 = 気温_秋_2T_0時
					CASE 1
						基礎気温 = 気温_秋_2T_1時
					CASE 2
						基礎気温 = 気温_秋_2T_2時
					CASE 3
						基礎気温 = 気温_秋_2T_3時
					CASE 4
						基礎気温 = 気温_秋_2T_4時
					CASE 5
						基礎気温 = 気温_秋_2T_5時
					CASE 6
						基礎気温 = 気温_秋_2T_6時
					CASE 7
						基礎気温 = 気温_秋_2T_7時
					CASE 8
						基礎気温 = 気温_秋_2T_8時
					CASE 9
						基礎気温 = 気温_秋_2T_9時
					CASE 10
						基礎気温 = 気温_秋_2T_10時
					CASE 11
						基礎気温 = 気温_秋_2T_11時
					CASE 12
						基礎気温 = 気温_秋_2T_12時
					CASE 13
						基礎気温 = 気温_秋_2T_13時
					CASE 14
						基礎気温 = 気温_秋_2T_14時
					CASE 15
						基礎気温 = 気温_秋_2T_15時
					CASE 16
						基礎気温 = 気温_秋_2T_16時
					CASE 17
						基礎気温 = 気温_秋_2T_17時
					CASE 18
						基礎気温 = 気温_秋_2T_18時
					CASE 19
						基礎気温 = 気温_秋_2T_19時
					CASE 20
						基礎気温 = 気温_秋_2T_20時
					CASE 21
						基礎気温 = 気温_秋_2T_21時
					CASE 22
						基礎気温 = 気温_秋_2T_22時
					CASE 23
						基礎気温 = 気温_秋_2T_23時
				ENDSELECT
			CASE 3
				SELECTCASE HOUR
					CASE 0
						基礎気温 = 気温_秋_3T_0時
					CASE 1
						基礎気温 = 気温_秋_3T_1時
					CASE 2
						基礎気温 = 気温_秋_3T_2時
					CASE 3
						基礎気温 = 気温_秋_3T_3時
					CASE 4
						基礎気温 = 気温_秋_3T_4時
					CASE 5
						基礎気温 = 気温_秋_3T_5時
					CASE 6
						基礎気温 = 気温_秋_3T_6時
					CASE 7
						基礎気温 = 気温_秋_3T_7時
					CASE 8
						基礎気温 = 気温_秋_3T_8時
					CASE 9
						基礎気温 = 気温_秋_3T_9時
					CASE 10
						基礎気温 = 気温_秋_3T_10時
					CASE 11
						基礎気温 = 気温_秋_3T_11時
					CASE 12
						基礎気温 = 気温_秋_3T_12時
					CASE 13
						基礎気温 = 気温_秋_3T_13時
					CASE 14
						基礎気温 = 気温_秋_3T_14時
					CASE 15
						基礎気温 = 気温_秋_3T_15時
					CASE 16
						基礎気温 = 気温_秋_3T_16時
					CASE 17
						基礎気温 = 気温_秋_3T_17時
					CASE 18
						基礎気温 = 気温_秋_3T_18時
					CASE 19
						基礎気温 = 気温_秋_3T_19時
					CASE 20
						基礎気温 = 気温_秋_3T_20時
					CASE 21
						基礎気温 = 気温_秋_3T_21時
					CASE 22
						基礎気温 = 気温_秋_3T_22時
					CASE 23
						基礎気温 = 気温_秋_3T_23時
				ENDSELECT
			CASE 4
				SELECTCASE HOUR
					CASE 0
						基礎気温 = 気温_秋_4T_0時
					CASE 1
						基礎気温 = 気温_秋_4T_1時
					CASE 2
						基礎気温 = 気温_秋_4T_2時
					CASE 3
						基礎気温 = 気温_秋_4T_3時
					CASE 4
						基礎気温 = 気温_秋_4T_4時
					CASE 5
						基礎気温 = 気温_秋_4T_5時
					CASE 6
						基礎気温 = 気温_秋_4T_6時
					CASE 7
						基礎気温 = 気温_秋_4T_7時
					CASE 8
						基礎気温 = 気温_秋_4T_8時
					CASE 9
						基礎気温 = 気温_秋_4T_9時
					CASE 10
						基礎気温 = 気温_秋_4T_10時
					CASE 11
						基礎気温 = 気温_秋_4T_11時
					CASE 12
						基礎気温 = 気温_秋_4T_12時
					CASE 13
						基礎気温 = 気温_秋_4T_13時
					CASE 14
						基礎気温 = 気温_秋_4T_14時
					CASE 15
						基礎気温 = 気温_秋_4T_15時
					CASE 16
						基礎気温 = 気温_秋_4T_16時
					CASE 17
						基礎気温 = 気温_秋_4T_17時
					CASE 18
						基礎気温 = 気温_秋_4T_18時
					CASE 19
						基礎気温 = 気温_秋_4T_19時
					CASE 20
						基礎気温 = 気温_秋_4T_20時
					CASE 21
						基礎気温 = 気温_秋_4T_21時
					CASE 22
						基礎気温 = 気温_秋_4T_22時
					CASE 23
						基礎気温 = 気温_秋_4T_23時
				ENDSELECT
			CASE 5
				SELECTCASE HOUR
					CASE 0
						基礎気温 = 気温_秋_5T_0時
					CASE 1
						基礎気温 = 気温_秋_5T_1時
					CASE 2
						基礎気温 = 気温_秋_5T_2時
					CASE 3
						基礎気温 = 気温_秋_5T_3時
					CASE 4
						基礎気温 = 気温_秋_5T_4時
					CASE 5
						基礎気温 = 気温_秋_5T_5時
					CASE 6
						基礎気温 = 気温_秋_5T_6時
					CASE 7
						基礎気温 = 気温_秋_5T_7時
					CASE 8
						基礎気温 = 気温_秋_5T_8時
					CASE 9
						基礎気温 = 気温_秋_5T_9時
					CASE 10
						基礎気温 = 気温_秋_5T_10時
					CASE 11
						基礎気温 = 気温_秋_5T_11時
					CASE 12
						基礎気温 = 気温_秋_5T_12時
					CASE 13
						基礎気温 = 気温_秋_5T_13時
					CASE 14
						基礎気温 = 気温_秋_5T_14時
					CASE 15
						基礎気温 = 気温_秋_5T_15時
					CASE 16
						基礎気温 = 気温_秋_5T_16時
					CASE 17
						基礎気温 = 気温_秋_5T_17時
					CASE 18
						基礎気温 = 気温_秋_5T_18時
					CASE 19
						基礎気温 = 気温_秋_5T_19時
					CASE 20
						基礎気温 = 気温_秋_5T_20時
					CASE 21
						基礎気温 = 気温_秋_5T_21時
					CASE 22
						基礎気温 = 気温_秋_5T_22時
					CASE 23
						基礎気温 = 気温_秋_5T_23時
				ENDSELECT
			CASE 6
				SELECTCASE HOUR
					CASE 0
						基礎気温 = 気温_秋_6T_0時
					CASE 1
						基礎気温 = 気温_秋_6T_1時
					CASE 2
						基礎気温 = 気温_秋_6T_2時
					CASE 3
						基礎気温 = 気温_秋_6T_3時
					CASE 4
						基礎気温 = 気温_秋_6T_4時
					CASE 5
						基礎気温 = 気温_秋_6T_5時
					CASE 6
						基礎気温 = 気温_秋_6T_6時
					CASE 7
						基礎気温 = 気温_秋_6T_7時
					CASE 8
						基礎気温 = 気温_秋_6T_8時
					CASE 9
						基礎気温 = 気温_秋_6T_9時
					CASE 10
						基礎気温 = 気温_秋_6T_10時
					CASE 11
						基礎気温 = 気温_秋_6T_11時
					CASE 12
						基礎気温 = 気温_秋_6T_12時
					CASE 13
						基礎気温 = 気温_秋_6T_13時
					CASE 14
						基礎気温 = 気温_秋_6T_14時
					CASE 15
						基礎気温 = 気温_秋_6T_15時
					CASE 16
						基礎気温 = 気温_秋_6T_16時
					CASE 17
						基礎気温 = 気温_秋_6T_17時
					CASE 18
						基礎気温 = 気温_秋_6T_18時
					CASE 19
						基礎気温 = 気温_秋_6T_19時
					CASE 20
						基礎気温 = 気温_秋_6T_20時
					CASE 21
						基礎気温 = 気温_秋_6T_21時
					CASE 22
						基礎気温 = 気温_秋_6T_22時
					CASE 23
						基礎気温 = 気温_秋_6T_23時
				ENDSELECT
		ENDSELECT
	CASE 4
		SELECTCASE NOW_TERM
			CASE 1
				SELECTCASE HOUR
					CASE 0
						基礎気温 = 気温_冬_1T_0時
					CASE 1
						基礎気温 = 気温_冬_1T_1時
					CASE 2
						基礎気温 = 気温_冬_1T_2時
					CASE 3
						基礎気温 = 気温_冬_1T_3時
					CASE 4
						基礎気温 = 気温_冬_1T_4時
					CASE 5
						基礎気温 = 気温_冬_1T_5時
					CASE 6
						基礎気温 = 気温_冬_1T_6時
					CASE 7
						基礎気温 = 気温_冬_1T_7時
					CASE 8
						基礎気温 = 気温_冬_1T_8時
					CASE 9
						基礎気温 = 気温_冬_1T_9時
					CASE 10
						基礎気温 = 気温_冬_1T_10時
					CASE 11
						基礎気温 = 気温_冬_1T_11時
					CASE 12
						基礎気温 = 気温_冬_1T_12時
					CASE 13
						基礎気温 = 気温_冬_1T_13時
					CASE 14
						基礎気温 = 気温_冬_1T_14時
					CASE 15
						基礎気温 = 気温_冬_1T_15時
					CASE 16
						基礎気温 = 気温_冬_1T_16時
					CASE 17
						基礎気温 = 気温_冬_1T_17時
					CASE 18
						基礎気温 = 気温_冬_1T_18時
					CASE 19
						基礎気温 = 気温_冬_1T_19時
					CASE 20
						基礎気温 = 気温_冬_1T_20時
					CASE 21
						基礎気温 = 気温_冬_1T_21時
					CASE 22
						基礎気温 = 気温_冬_1T_22時
					CASE 23
						基礎気温 = 気温_冬_1T_23時
				ENDSELECT
			CASE 2
				SELECTCASE HOUR
					CASE 0
						基礎気温 = 気温_冬_2T_0時
					CASE 1
						基礎気温 = 気温_冬_2T_1時
					CASE 2
						基礎気温 = 気温_冬_2T_2時
					CASE 3
						基礎気温 = 気温_冬_2T_3時
					CASE 4
						基礎気温 = 気温_冬_2T_4時
					CASE 5
						基礎気温 = 気温_冬_2T_5時
					CASE 6
						基礎気温 = 気温_冬_2T_6時
					CASE 7
						基礎気温 = 気温_冬_2T_7時
					CASE 8
						基礎気温 = 気温_冬_2T_8時
					CASE 9
						基礎気温 = 気温_冬_2T_9時
					CASE 10
						基礎気温 = 気温_冬_2T_10時
					CASE 11
						基礎気温 = 気温_冬_2T_11時
					CASE 12
						基礎気温 = 気温_冬_2T_12時
					CASE 13
						基礎気温 = 気温_冬_2T_13時
					CASE 14
						基礎気温 = 気温_冬_2T_14時
					CASE 15
						基礎気温 = 気温_冬_2T_15時
					CASE 16
						基礎気温 = 気温_冬_2T_16時
					CASE 17
						基礎気温 = 気温_冬_2T_17時
					CASE 18
						基礎気温 = 気温_冬_2T_18時
					CASE 19
						基礎気温 = 気温_冬_2T_19時
					CASE 20
						基礎気温 = 気温_冬_2T_20時
					CASE 21
						基礎気温 = 気温_冬_2T_21時
					CASE 22
						基礎気温 = 気温_冬_2T_22時
					CASE 23
						基礎気温 = 気温_冬_2T_23時
				ENDSELECT
			CASE 3
				SELECTCASE HOUR
					CASE 0
						基礎気温 = 気温_冬_3T_0時
					CASE 1
						基礎気温 = 気温_冬_3T_1時
					CASE 2
						基礎気温 = 気温_冬_3T_2時
					CASE 3
						基礎気温 = 気温_冬_3T_3時
					CASE 4
						基礎気温 = 気温_冬_3T_4時
					CASE 5
						基礎気温 = 気温_冬_3T_5時
					CASE 6
						基礎気温 = 気温_冬_3T_6時
					CASE 7
						基礎気温 = 気温_冬_3T_7時
					CASE 8
						基礎気温 = 気温_冬_3T_8時
					CASE 9
						基礎気温 = 気温_冬_3T_9時
					CASE 10
						基礎気温 = 気温_冬_3T_10時
					CASE 11
						基礎気温 = 気温_冬_3T_11時
					CASE 12
						基礎気温 = 気温_冬_3T_12時
					CASE 13
						基礎気温 = 気温_冬_3T_13時
					CASE 14
						基礎気温 = 気温_冬_3T_14時
					CASE 15
						基礎気温 = 気温_冬_3T_15時
					CASE 16
						基礎気温 = 気温_冬_3T_16時
					CASE 17
						基礎気温 = 気温_冬_3T_17時
					CASE 18
						基礎気温 = 気温_冬_3T_18時
					CASE 19
						基礎気温 = 気温_冬_3T_19時
					CASE 20
						基礎気温 = 気温_冬_3T_20時
					CASE 21
						基礎気温 = 気温_冬_3T_21時
					CASE 22
						基礎気温 = 気温_冬_3T_22時
					CASE 23
						基礎気温 = 気温_冬_3T_23時
				ENDSELECT
			CASE 4
				SELECTCASE HOUR
					CASE 0
						基礎気温 = 気温_冬_4T_0時
					CASE 1
						基礎気温 = 気温_冬_4T_1時
					CASE 2
						基礎気温 = 気温_冬_4T_2時
					CASE 3
						基礎気温 = 気温_冬_4T_3時
					CASE 4
						基礎気温 = 気温_冬_4T_4時
					CASE 5
						基礎気温 = 気温_冬_4T_5時
					CASE 6
						基礎気温 = 気温_冬_4T_6時
					CASE 7
						基礎気温 = 気温_冬_4T_7時
					CASE 8
						基礎気温 = 気温_冬_4T_8時
					CASE 9
						基礎気温 = 気温_冬_4T_9時
					CASE 10
						基礎気温 = 気温_冬_4T_10時
					CASE 11
						基礎気温 = 気温_冬_4T_11時
					CASE 12
						基礎気温 = 気温_冬_4T_12時
					CASE 13
						基礎気温 = 気温_冬_4T_13時
					CASE 14
						基礎気温 = 気温_冬_4T_14時
					CASE 15
						基礎気温 = 気温_冬_4T_15時
					CASE 16
						基礎気温 = 気温_冬_4T_16時
					CASE 17
						基礎気温 = 気温_冬_4T_17時
					CASE 18
						基礎気温 = 気温_冬_4T_18時
					CASE 19
						基礎気温 = 気温_冬_4T_19時
					CASE 20
						基礎気温 = 気温_冬_4T_20時
					CASE 21
						基礎気温 = 気温_冬_4T_21時
					CASE 22
						基礎気温 = 気温_冬_4T_22時
					CASE 23
						基礎気温 = 気温_冬_4T_23時
				ENDSELECT
			CASE 5
				SELECTCASE HOUR
					CASE 0
						基礎気温 = 気温_冬_5T_0時
					CASE 1
						基礎気温 = 気温_冬_5T_1時
					CASE 2
						基礎気温 = 気温_冬_5T_2時
					CASE 3
						基礎気温 = 気温_冬_5T_3時
					CASE 4
						基礎気温 = 気温_冬_5T_4時
					CASE 5
						基礎気温 = 気温_冬_5T_5時
					CASE 6
						基礎気温 = 気温_冬_5T_6時
					CASE 7
						基礎気温 = 気温_冬_5T_7時
					CASE 8
						基礎気温 = 気温_冬_5T_8時
					CASE 9
						基礎気温 = 気温_冬_5T_9時
					CASE 10
						基礎気温 = 気温_冬_5T_10時
					CASE 11
						基礎気温 = 気温_冬_5T_11時
					CASE 12
						基礎気温 = 気温_冬_5T_12時
					CASE 13
						基礎気温 = 気温_冬_5T_13時
					CASE 14
						基礎気温 = 気温_冬_5T_14時
					CASE 15
						基礎気温 = 気温_冬_5T_15時
					CASE 16
						基礎気温 = 気温_冬_5T_16時
					CASE 17
						基礎気温 = 気温_冬_5T_17時
					CASE 18
						基礎気温 = 気温_冬_5T_18時
					CASE 19
						基礎気温 = 気温_冬_5T_19時
					CASE 20
						基礎気温 = 気温_冬_5T_20時
					CASE 21
						基礎気温 = 気温_冬_5T_21時
					CASE 22
						基礎気温 = 気温_冬_5T_22時
					CASE 23
						基礎気温 = 気温_冬_5T_23時
				ENDSELECT
			CASE 6
				SELECTCASE HOUR
					CASE 0
						基礎気温 = 気温_冬_6T_0時
					CASE 1
						基礎気温 = 気温_冬_6T_1時
					CASE 2
						基礎気温 = 気温_冬_6T_2時
					CASE 3
						基礎気温 = 気温_冬_6T_3時
					CASE 4
						基礎気温 = 気温_冬_6T_4時
					CASE 5
						基礎気温 = 気温_冬_6T_5時
					CASE 6
						基礎気温 = 気温_冬_6T_6時
					CASE 7
						基礎気温 = 気温_冬_6T_7時
					CASE 8
						基礎気温 = 気温_冬_6T_8時
					CASE 9
						基礎気温 = 気温_冬_6T_9時
					CASE 10
						基礎気温 = 気温_冬_6T_10時
					CASE 11
						基礎気温 = 気温_冬_6T_11時
					CASE 12
						基礎気温 = 気温_冬_6T_12時
					CASE 13
						基礎気温 = 気温_冬_6T_13時
					CASE 14
						基礎気温 = 気温_冬_6T_14時
					CASE 15
						基礎気温 = 気温_冬_6T_15時
					CASE 16
						基礎気温 = 気温_冬_6T_16時
					CASE 17
						基礎気温 = 気温_冬_6T_17時
					CASE 18
						基礎気温 = 気温_冬_6T_18時
					CASE 19
						基礎気温 = 気温_冬_6T_19時
					CASE 20
						基礎気温 = 気温_冬_6T_20時
					CASE 21
						基礎気温 = 気温_冬_6T_21時
					CASE 22
						基礎気温 = 気温_冬_6T_22時
					CASE 23
						基礎気温 = 気温_冬_6T_23時
				ENDSELECT
		ENDSELECT
ENDSELECT

;天候傾向によって寒気・暖気による補正方法が変化する
SELECTCASE NOW_WEATHER_CONTROL
	;1 春・秋の天気(基本)
	CASE 1
		気流補正 = (POWER_WARM_AIR - POWER_COLD_AIR) * 2
	;2 春・秋の天気(温暖前線接近時)
	CASE 2
		気流補正 = (POWER_WARM_AIR - POWER_COLD_AIR) * 2
	;3 春・秋の天気(暖域時)
	CASE 3
		気流補正 = POWER_WARM_AIR * 2
	;4 春・秋の天気(寒冷前線通過時)
	CASE 4
		気流補正 = (0 - POWER_COLD_AIR) * 2
	;5 春・秋の天気(寒冷渦接近時)
	CASE 5
		気流補正 = (0 - POWER_COLD_AIR) * 2
	;6 夏の天気(基本)
	CASE 6
		気流補正 = (POWER_WARM_AIR - 3) * 3
	;7 夏の天気(夕立接近時)
	CASE 7
		SELECTCASE CAN_CUMULUS:0
			CASE 1,2,3
				気流補正 = (POWER_WARM_AIR - 3) * 3 - (POWER_COLD_AIR / 2)
			CASE 4,5
				気流補正 = 0 - POWER_COLD_AIR
		ENDSELECT
	;8 夏の天気(夕立通過後)
	CASE 8
		SELECTCASE CAN_CUMULUS:0
			CASE 1,2,3
				気流補正 = (POWER_WARM_AIR - 3) * 3 - POWER_COLD_AIR
			CASE 4,5
				気流補正 = (0 - POWER_COLD_AIR) * 2
		ENDSELECT
	;9 冬の天気(基本)
	CASE 9
		気流補正 = (POWER_WARM_AIR - POWER_COLD_AIR) * 2
	;10 冬の天気(日本海低気圧接近時)
	CASE 10
		気流補正 = POWER_WARM_AIR * 2
	;11 冬の天気(日本海低気圧通過時)
	CASE 11
		気流補正 = (0 - POWER_COLD_AIR) * 2
	;12 冬の天気(南岸低気圧接近時)
	CASE 12
		気流補正 = (0 - POWER_COLD_AIR) * 2
	;13 冬の天気(寒冷渦接近時)
	CASE 13
		気流補正 = (0 - POWER_COLD_AIR) * 2
	;14 梅雨・秋雨の天気(基本)
	CASE 14
		IF POWER_WARM_AIR >= POWER_COLD_AIR
			気流補正 = POWER_WARM_AIR
		ELSE
			気流補正 = 0 - POWER_COLD_AIR
		ENDIF
	;15 梅雨・秋雨(梅雨末期・秋雨+台風接近)・先駆降雨帯発生時の天気
	CASE 15
		気流補正 = POWER_WARM_AIR * 2
	;16 台風接近時の天気(強風域)
	CASE 16
		SELECTCASE DAY:2
			CASE 2
				気流補正 = (POWER_WARM_AIR - 3) * 3 + IS_TYPHOON:1
			CASEELSE
				気流補正 = (POWER_WARM_AIR - POWER_COLD_AIR) * 2 + IS_TYPHOON:1
		ENDSELECT
	;21 台風接近時の天気(暴風域・最接近)
	CASE 21
		SELECTCASE DAY:2
			CASE 2
				気流補正 = (POWER_WARM_AIR - 3) * 3 + IS_TYPHOON:1
			CASEELSE
				気流補正 = (POWER_WARM_AIR - POWER_COLD_AIR) * 2 + IS_TYPHOON:1
		ENDSELECT
	;17 台風接近時の天気(台風の目)
	CASE 17
		SELECTCASE DAY:2
			CASE 2
				気流補正 = (POWER_WARM_AIR - 3) * 3 + IS_TYPHOON:1
			CASEELSE
				気流補正 = (POWER_WARM_AIR - POWER_COLD_AIR) * 2 + IS_TYPHOON:1
		ENDSELECT
	;18 霧の天気
	CASE 18
		SELECTCASE DAY:2
			CASE 2
				気流補正 = (POWER_WARM_AIR - 3) * 3
			CASEELSE
				気流補正 = (POWER_WARM_AIR - POWER_COLD_AIR) * 2
		ENDSELECT
	;19 疑似好天
	CASE 19
		気流補正 = (0 - POWER_COLD_AIR) * 15 / 10
	;20 集中豪雨時の天気
	CASE 20
		気流補正 = (POWER_WARM_AIR - POWER_COLD_AIR) * 2
ENDSELECT

現在マップ = GET_MAPID(CFLAG:MASTER:현재위치)
高度補正 = 0
現在お出かけマップ = GET_MAP_REPLACEMENT(CFLAG:MASTER:현재위치)

;マップごとに高度による気温低下の補正値を決定
SELECTCASE 現在マップ
	CASE 0
		高度補正 = 0

		補正温度 = 基礎気温 + 気流補正 * 10 - 高度補正 * 10
	CASE 1
		高度補正 = 3

		補正温度 = 基礎気温 + 気流補正 * 10 - 高度補正 * 10
	CASE 2
		高度補正 = 0

		補正温度 = 基礎気温 + 気流補正 * 10 - 高度補正 * 10
	CASE 3
		高度補正 = 0

		補正温度 = 基礎気温 + 気流補正 * 10 - 高度補正 * 10
	CASE 4
		高度補正 = 0

		補正温度 = 基礎気温 + 気流補正 * 10 - 高度補正 * 10
	CASE 5
		高度補正 = 0

		補正温度 = 基礎気温 + 気流補正 * 10 - 高度補正 * 10
	CASE 6
		高度補正 = 10

		補正温度 = 基礎気温 + 気流補正 * 10 - 高度補正 * 10
	CASE 7
		高度補正 = 6

		補正温度 = 基礎気温 + 気流補正 * 10 - 高度補正 * 10
	CASE 8
		IF (MAIN_MAP == 現在マップ && 現在お出かけマップ == 天界) || (MAIN_MAP != 現在マップ && CFLAG:MASTER:현재위치 == 天界)
			高度補正 = 20

			補正温度 = 基礎気温 + 気流補正 * 10 - 高度補正 * 10
		ELSE
			高度補正 = 12

			補正温度 = 基礎気温 + 気流補正 * 10 - 高度補正 * 10
		ENDIF
	;灼熱地獄跡は40℃,その他地底は20℃
	CASE 9
		IF (MAIN_MAP == 現在マップ && 現在お出かけマップ == 灼熱地獄跡) || (MAIN_MAP != 現在マップ && CFLAG:MASTER:현재위치 == 灼熱地獄跡)
			補正温度 = 400
		ELSE
			補正温度 = 200
		ENDIF
	CASE 10
		高度補正 = 0

		補正温度 = 基礎気温 + 気流補正 * 10 - 高度補正 * 10
ENDSELECT

;屋内では20℃に近づくように気温が上下する
;屋外では日射がある場合、気温上昇
日射補正 = 0
IF OUTROOF(CFLAG:MASTER:현재위치)
	SELECTCASE TIME:5
		CASE 0,1
			SELECTCASE TIME:0
				CASE 360 TO 599, 960 TO 1079
					日射補正 += 15
				CASE 600 TO 959
					日射補正 += 20
			ENDSELECT

			SELECTCASE DAY:2
				CASE 1,3
					日射補正 += 10
				CASE 2
					日射補正 += 15
				CASE 4
					日射補正 += 10
			ENDSELECT
		CASE 2
			日射補正 += 5
	ENDSELECT
	補正温度 += 日射補正
ELSE
	SELECTCASE 補正温度
		CASE IS <= 250
			建造物補正 = 50

			補正温度 = MIN(200, 補正温度 + 建造物補正)
		CASEELSE
			建造物補正 = -40

			補正温度 = MAX(250, 補正温度 + 建造物補正)
	ENDSELECT
ENDIF

;チルノがいると気温低下
IF CFLAG:MASTER:현재위치 == CFLAG:14:현재위치
	補正温度 -= 100
ENDIF

;風呂では30℃に近づくように気温が上昇する
IF BATHCHECK(CFLAG:MASTER:현재위치) && 補正温度 < 300
	建造物補正 = 100

	補正温度 = MIN(300, 補正温度 + 建造物補正)
ENDIF

;炬燵では25℃に近づくように気温が上昇する
;炬燵は気温10℃未満で出す
IF 코타츠가있는장소(CFLAG:MASTER:현재위치) && 補正温度 < 100
	建造物補正 = 100

	補正温度 = MIN(250, 補正温度 + 建造物補正)
ENDIF

RETURNF 補正温度

;-------------------------------------------------
;現在の体感気温
;現在の気温に天気・風力・場所に応じた補正を加えて現在の体感気温を算定する
;-------------------------------------------------
@GET_体感気温
#FUNCTION
#DIM 現在の気温
#DIM 体感気温
#DIM 降水フラグ

現在の気温 = GET_現在気温()
降水フラグ = 0

IF !OUTROOF(CFLAG:MASTER:현재위치)
	RETURNF 現在の気温
ENDIF

体感気温 = 現在の気温

RETURNF 体感気温


code:
;FileName_COMMON.ERB ------------------------------- Rev1. 00
;계절 관리
;CALL		USER
;ARG		VOID
;RETURN		VOID
;COMMENT
;-----------------------------------------------------------
@CHANGE_MONTH
#DIM 운세뽑기값
;일자가 달을 넘으면(자) 달변경
IF DAY:3 > 31
	DAY:3 = 1
	DAY:2 ++
	;겨울의 다음은 봄
	IF DAY:2 > 4
		DAY:2 = 1
		FLAG:연시대출금 = FLAG:지주대출금
		;(天候パッチ)長期予報を行う
		CALL WEATHER_FORECAST_1YEAR
	ENDIF
	;여름이 되면 발렌타인 플래그 리셋
	SIF DAY:2 == 2
		CVARSET CFLAG, 383
	;징수 발생
	SIF FLAG:지주
		FLAG:연공 = 1
	IF FLAG:물주기대행
		FLAG:물주기대행 = 0
		PRINTFORMW 물주기대행의 기한이 지났습니다.
	ENDIF
	IF FLAG:신문구독
		IF MONEY < 3000 && MONEY:2 < 10
			PRINTFORML 돈이 부족하기에 붕붕마루 신문의 구독을 정지합니다.
		ELSE
			PRINTL
			PRINTFORML ★붕붕마루 신문을 계속 구독하겠습니까? (월액 ₩3000 or 10 카리스마)
			CALL ASK_M("해약", 1,"갱신(₩3000)", MONEY >= 3000,"갱신(10 카리스마)", MONEY:2 >= 10)
			SELECTCASE RESULT
				CASE 0
					PRINTFORML 구독을 정지합니다.
					FLAG:신문구독 = 0
				CASE 1
					MONEY -= 3000
					PRINTFORML 이번 달도 구독합니다.
				CASE 2
					MONEY:2 -= 10
					PRINTFORML 이번 달도 구독합니다.
			ENDSELECT
		ENDIF
	ENDIF
	IF FLAG:운세뽑기계약
		운세뽑기값 = 50
		SIF !MAIN_MAP
			운세뽑기값 = 30
		IF MONEY:2 < 운세뽑기값
			PRINTFORML 카리스마가 부족하기 때문에, 운세뽑기계약이 중지되었습니다
			FLAG:운세뽑기계약 = 0
		ELSE
			PRINTFORML 운세뽑기계약을 계속하겠습니까?
			CALL ASK_YN
			IF !RESULT
				PRINTFORML 계약을 갱신했습니다
				MONEY:2 -= 운세뽑기값
			ELSE
				FLAG:운세뽑기계약 = 0
				PRINTFORML 계약을 종료합니다
			ENDIF
		ENDIF
	ENDIF
	IF FLAG:蟲の採集サービス
		PRINTFORMDL
		PRINTFORMW 벌레 수집 서비스의 계약 기간이 만료되었습니다.
		PRINTFORMW 벌레 수집 서비스를 계속하시겠습니까?
		PRINTFORML 소지금:%금액표시(MONEY)%
		LOCAL = CALCULATE_IFS_PRICE()
		CALL ASK_M("갱신하지 않는다",1,@"갱신한다 (₩{LOCAL})",MONEY >= LOCAL)
		IF RESULT > 0
			MONEY -= LOCAL
			PRINTFORMW 계약을 갱신했습니다.
			PRINTFORMDL
			PRINTFORML 현재 벌레 채집 장소는 %GET_MAPNAME(FLAG:蟲の採集サービス - 1)%입니다.
			PRINTFORMW 변경하고 싶다면 %CALLNAME:[[リグル]]%에게 말을 걸어주세요.
		ELSE
			FLAG:蟲の採集サービス = 0
		ENDIF
		PRINTFORMDL
	ENDIF
ENDIF
;이상치를 고정 수정
SIF DAY:3 < 1
	DAY:3 = 1
SIF DAY:2 < 1 || DAY:2 > 4
	DAY:2 = 1

;FileName_COMMON.ERB ------------------------------- Rev1. 00
;시간대 관리
;CALL		USER
;ARG		VOID
;RETURN		VOID
;COMMENT
;-----------------------------------------------------------
@CHANGE_TIMEZONE
#DIM 現在時間帯

;SELECTCASE TIME
;	CASE 240 TO 599
;		LOCAL = 1
;	CASE 600 TO 1139
;		LOCAL = 2
;	CASE 1140 TO 1440 , 0 TO 239
;		LOCAL = 3
;ENDSELECT

SELECTCASE TIME
	;AM4~6　이른 아침
	CASE 240 TO 359
		LOCAL = 1
	;AM6~12　정오전
	CASE 360 TO 719
		LOCAL = 2
	;PM12~3　낮
	CASE 720 TO 899
		LOCAL = 3
	;PM3~6　오후
	CASE 900 TO 1079
		LOCAL = 4
	;PM6~8　저녁
	CASE 1080 TO 1199
		LOCAL = 5
	;PM8~11　밤
	CASE 1200 TO 1379
		LOCAL = 6
	;PM11~AM4　심야
	CASE 0 TO 239, IS >= 1380
		LOCAL = 7
ENDSELECT

;(天候パッチ)天候システム上の時間帯管理
SELECTCASE TIME
	;AM0~3　未明
	CASE 0 TO 179
		現在時間帯 = 1
	;AM3~6　明け方
	CASE 180 TO 359
		現在時間帯 = 2
	;AM6~9　朝
	CASE 360 TO 539
		現在時間帯 = 3
	;AM9~12　昼前
	CASE 540 TO 719
		現在時間帯 = 4
	;PM0~3　昼過ぎ
	CASE 720 TO 899
		現在時間帯 = 5
	;PM3~6　夕方
	CASE 900 TO 1079
		現在時間帯 = 6
	;PM6~9　夜のはじめ頃
	CASE 1080 TO 1259
		現在時間帯 = 7
	;PM9~12　夜遅く
	CASE IS >= 1260
		現在時間帯 = 8
ENDSELECT

;(天候パッチ)現在の天候傾向を判定
CALL CHANGE_WEATHER_SYSTEM

IF LOCAL != TIME:2
	TIME:2 = LOCAL
	TRYCALLFORM MOB_PLACE_{MAIN_MAP}
	CALL TIMEZONE_MOVE
ENDIF
;(天候パッチ)天候システム上の時間帯変動・天候変化
IF WEATHER_TIMEZOME != 現在時間帯
	WEATHER_TIMEZOME = 現在時間帯
	CALL CHANGE_WEATHER
ENDIF
;(天候パッチ)時刻・天候に応じて背景色を変更
CALL SET_MAP_WEATHER_BGCOLOR

;FileName_COMMON.ERB ------------------------------- Rev1.00
;계절 이름 취득
;CALL		USER
;ARG		인수가 없는 경우 DAY:2
;RETURN		VOID
;COMMENT
;-----------------------------------------------------------
@GET_MONTH(ARG)
#FUNCTIONS
SIF !ARG
	ARG = DAY:2
SIF !STRLENS(LOCALS)
	SPLIT "무의 달/봄의 달/여름의 달/가을의 달/겨울의 달", "/", LOCALS
RETURNF LOCALS:(ARG)

;FileName_COMMON.ERB ------------------------------- Rev1. 00
;날씨 이름 취득
;CALL		USER
;ARG		VOID
;RETURN		VOID
;COMMENT
;-----------------------------------------------------------
@GET_WEATHER
#FUNCTIONS
#DIMS 표시_이상기상, 15
;(天候パッチ)台風・猛吹雪は表示しない
IF FLAG:이상기상 && FLAG:이상기상 != 9 && FLAG:이상기상 != 10
	;SPLIT " /Ｃ敏感/Ｖ敏感/Ａ敏感/Ｂ敏感/Ｍ敏感/スカート/パンツ/桃色の風/台風/猛吹雪", "/", 表示_異常気象
	SPLIT " /C민감/V민감/A민감/B민감/M민감/치마/팬티/분홍바람/태풍/비바람", "/", 표시_이상기상
	RETURNF 표시_이상기상:(FLAG:이상기상)
ENDIF
;(天候パッチ)豪雨・ひょうを追加
SIF !STRLENS(LOCALS)
	;SPLIT "晴れ/快晴/薄曇   /曇り/雨/大雨/霧雨  /霧  /雪/大雪/細雪  /霧雪  /みぞれ /あられ  /豪雨/ひょう", "/", LOCALS
	SPLIT "맑음/쾌청/약간흐림/흐림/비/폭우/이슬비/안개/눈/폭설/가루눈/안개눈/진눈깨비/싸라기눈/호우/우박", "/", LOCALS
RETURNF LOCALS:(TIME:5)

;-------------------------------------------------
;평일 판정(ARG)
;DAY를 건네주어 츠키～ 금요일이라면 1
;-------------------------------------------------
@IS_WEEKDAY(ARG)
#FUNCTION
SIF !ARG
	ARG = DAY
RETURNF INRANGE(ARG % 7, 1, 5)

;-------------------------------------------------
;주말 판정(ARG)
;DAY를 건네주어 토일요일이라면 1
;-------------------------------------------------
@IS_WEEKEND(ARG)
#FUNCTION
SIF !ARG
	ARG = DAY
RETURNF !INRANGE(ARG % 7, 1, 5)

;-------------------------------------------------
;요일 일치 판정(ARG)
;DAY와 캐릭터라인을 건네주어, 일치하고 있으면 1
;판정용 캐릭터라인은 일월화수목금토에서 각 요일을 나타낸다(=복수 지정 가능)
;-------------------------------------------------
@YOUBI_MATCH(ARG, CHECK_STR)
#FUNCTION
#DIMS  CHECK_STR
SIF !ARG
	ARG = DAY
SIF STRCOUNT(CHECK_STR, GET_DAY(ARG))
	RETURNF 1
RETURNF 0

;-------------------------------------------------
;함수명 :GET_DAY
;개요:요일을 나타내는 캐릭터라인을 취득하는 함수
;인수:인수가 없는 경우 DAY
;반환값:요일을 나타내는 캐릭터라인(일/월/화/수/목/금/토)
;비고:문중 함수
;-------------------------------------------------
@GET_DAY(ARG)
#FUNCTIONS
#DIMS CONST YOUBI = "일", "월", "화", "수", "목", "금", "토"
SIF !ARG
	ARG = DAY
RETURNF YOUBI:(ARG % 7)

;FileName_COMMON.ERB ------------------------------- Rev1. 00
;날씨 관리
;CALL		USER
;ARG		VOID
;RETURN		VOID
;COMMENT
;-----------------------------------------------------------
@CHANGE_WEATHER
#DIM 지저
#DIM 입수팬티
#DIM 소유자
#DIM 루프개시
#DIM 루프종료
#DIM 루프가산
DEBUGPRINTL 【CHANGE_WEATHER】CALL CHANGE_WATHER
;날씨 관리에 메시지 표시 처리시켜 죄송합니다＞＜；
;우후후 안은 공기를 읽는 정도의 능력
;날씨 변화하지 않아도 무지개는 사라진다
지저 = 0
IF CFLAG:MASTER:데이트중 == 9
	지저 = 1
ELSEIF CFLAG:MASTER:현재위치 == OMANEKIBEYA() && GROUPMATCH(CFLAG:MASTER:초대, 36, 37, 38, 49, 60, 64, 83, 84)
	지저 = 1
ENDIF
TIME:7 = 0
IF !지저
	SELECTCASE FLAG:이상기상
		CASE 7
			;이러해도 하지 않으면 또 노팬티가 날라와서 끝낸다고 생각해
			DO
				CALL RAND_CHARASELECT("주인공 이외의캐릭터리스트")
				소유자 = RESULT
				입수팬티 = 오늘의팬티(소유자)
			LOOP !입수팬티
			SIF CFLAG:소유자:(입수팬티 + 팬티관리) == 0
				SETCOLOR C_PINK
			PRINTFORML 회오리 바람이 %CALLNAME:소유자%의 %조사처리(PANTSNAME(입수팬티, 소유자),"를")% 옮겨 왔다
			RESETCOLOR
			CALL ASK_YN("줍는다","줍지 않는다")
			IF !RESULT
				PRINTFORMW %마스터는% %CALLNAME:소유자%의 %조사처리(PANTSNAME(입수팬티, 소유자),"를")% 주웠다
				CALL PANTS_GETTING(소유자, 입수팬티)
			ELSE
				PRINTFORML %PANTSNAME(입수팬티, 소유자)%는 그대로 어딘가에 날아 갔다
			ENDIF
		CASE 8
			SETCOLOR 255,100,255
			FONTBOLD
			PRINTFORMW 환상향에 분홍색의 바람이 불었다!
			FOR LOCAL,1,CHARANUM
				IF !RAND:8 && !TALENT:LOCAL:임신
					PRINTFORML 분홍색의 바람을 받은 %조사처리(CALLNAME:LOCAL,"는")% 이상한 기분이 되었다…
					CFLAG:LOCAL:욕구불만도 += LIMIT((10 + RAND:20 + RAND:20 + RAND:20) * ABL:LOCAL:욕망, 200,1000)
					SIF !TALENT:LOCAL:인형
						TCVAR:LOCAL:발정 = 1
				ENDIF
			NEXT
			RESETCOLOR
			FONTREGULAR
	ENDSELECT
ENDIF

SIF FLAG:이상기상 >= 1 && FLAG:이상기상 <= 8
	RETURN

SIF TIME:5 > 15
	TIME:5 = 0

;(天候パッチ)天候変更禁止ならば処理終了
SIF FORBIDDEN_CHANGE_WEATHER == 1
	RETURN

;(天候パッチ)新しい天候管理システムへ
TRYCALLFORM CHANGE_WEATHER_SYSTEM_{NOW_WEATHER_CONTROL}

[SKIPSTART]
@현재기온설정
;높낮이차이를 5 분할
SELECTCASE TIME
	;PM11~AM4
	CASE 0 TO 299, IS >= 1380
		LOCAL = FLAG:62
	;AM5~7
	CASE 300 TO 479
		LOCAL = FLAG:62 + ((FLAG:61 - FLAG:62) / 5)
	;AM8~9
	CASE 480 TO 599
		LOCAL = FLAG:62 + ((FLAG:61 - FLAG:62) / 5 * 2)
	;AM10~11
	CASE 600 TO 719
		LOCAL = FLAG:62 + ((FLAG:61 - FLAG:62) / 5 * 3)
	;PM12~2
	CASE 720 TO 899
		LOCAL = FLAG:62 + ((FLAG:61 - FLAG:62) / 5 * 4)
	;PM3~5
	CASE 900 TO 1079
		LOCAL = FLAG:61
	;PM6~7
	CASE 1080 TO 1199
		LOCAL = FLAG:62 + ((FLAG:61 - FLAG:62) / 5 * 4)
	;PM8~9
	CASE 1200 TO 1259
		LOCAL = FLAG:62 + ((FLAG:61 - FLAG:62) / 5 * 2)
	;PM9~10
	CASE 1260 TO 1379
		LOCAL = FLAG:62 + ((FLAG:61 - FLAG:62) / 5)
ENDSELECT
;해가 나와 있지 않으면 온도 저하
SELECTCASE TIME
	;AM5~PM7
	CASE 300 TO 1199
		SIF TIME:5 > 1
			LOCAL -= ((FLAG:61 - FLAG:62) / 5)
ENDSELECT
;----------------------------------------------------------------
@연간기초최고기온(ARG, ARG:1)
#FUNCTION
;ARG   지정의 달
;ARG:1 지정의 날
SELECTCASE ARG
	CASE 1
		SELECTCASE ARG:1
			CASE 1 TO 3
				RETURNF 17
			CASE 4, 5
				RETURNF 18
			CASE 6 TO 8
				RETURNF 19
			CASE 9 TO 11
				RETURNF 20
			CASE 12 TO 14
				RETURNF 21
			CASE 15 TO 18
				RETURNF 22
			CASE 19 TO 22
				RETURNF 23
			CASE 23 TO 27
				RETURNF 24
			CASE 28 TO 30
				RETURNF 25
		ENDSELECT
	CASE 2
		SELECTCASE ARG:1
			CASE 1, 2
				RETURNF 25
			CASE 3 TO 7
				RETURNF 26
			CASE 8 TO 13
				RETURNF 27
			CASE 14 TO 17
				RETURNF 28
			CASE 18 TO 22
				RETURNF 29
			CASE 23 TO 28
				RETURNF 30
			CASE 29, 30
				RETURNF 31
		ENDSELECT
	CASE 3
		SELECTCASE ARG:1
			CASE 1, 2
				RETURNF 31
			CASE 3, 4
				RETURNF 30
			CASE 5 TO 7
				RETURNF 29
			CASE 8 TO 10
				RETURNF 28
			CASE 11, 12
				RETURNF 27
			CASE 13, 14
				RETURNF 26
			CASE 15, 16
				RETURNF 25
			CASE 17 TO 19
				RETURNF 24
			CASE 20 TO 22
				RETURNF 23
			CASE 23, 24
				RETURNF 22
			CASE 25 TO 27
				RETURNF 21
			CASE 28, 29
				RETURNF 20
			CASE 30
				RETURNF 19
		ENDSELECT
	CASE 4
		SELECTCASE ARG:1
			CASE 1 TO 4
				RETURNF 19
			CASE 5 TO 7
				RETURNF 18
			CASE 8 TO 10
				RETURNF 17
			CASE 11, 12
				RETURNF 16
			CASE 13, 14
				RETURNF 15
			CASE 15, 16
				RETURNF 14
			CASE 17, 18
				RETURNF 13
			CASE 19, 20
				RETURNF 12
			CASE 21, 22
				RETURNF 11
			CASE 23 TO 25
				RETURNF 10
			CASE 26, 27
				RETURNF 9
			CASE 28, 29
				RETURNF 8
			CASE 30
				RETURNF 7
		ENDSELECT
	CASE 5
		SELECTCASE ARG:1
			CASE 1 TO 3
				RETURNF 7
			CASE 4 TO 9
				RETURNF 6
			CASE 10 TO 14
				RETURNF 5
			CASE 15 TO 21
				RETURNF 4
			CASE 22 TO 28
				RETURNF 5
			CASE 29, 30
				RETURNF 6
		ENDSELECT
	CASE 6
		SELECTCASE ARG:1
			CASE 1 TO 6
				RETURNF 6
			CASE 7 TO 12
				RETURNF 7
			CASE 13, 14
				RETURNF 8
			CASE 15, 16
				RETURNF 9
			CASE 17, 18
				RETURNF 10
			CASE 19, 20
				RETURNF 11
			CASE 21, 22
				RETURNF 12
			CASE 23, 24
				RETURNF 13
			CASE 25, 26
				RETURNF 14
			CASE 27, 28
				RETURNF 15
			CASE 29
				RETURNF 16
			CASE 30
				RETURNF 17
		ENDSELECT
ENDSELECT

;----------------------------------------------------------------
@연간기초최저기온(ARG, ARG:1)
#FUNCTION
;ARG   지정의 달
;ARG:1 지정의 날
SELECTCASE ARG
	CASE 1
		SELECTCASE ARG:1
			CASE 1 TO 3
				RETURNF 11
			CASE 4 TO 6
				RETURNF 12
			CASE 7, 8
				RETURNF 13
			CASE 9 TO 11
				RETURNF 14
			CASE 12 TO 14
				RETURNF 15
			CASE 15 TO 17
				RETURNF 16
			CASE 18 TO 20
				RETURNF 17
			CASE 21 TO 23
				RETURNF 18
			CASE 24 TO 27
				RETURNF 19
			CASE 28 TO 30
				RETURNF 20
		ENDSELECT
	CASE 2
		SELECTCASE ARG:1
			CASE 1 TO 3
				RETURNF 20
			CASE 4 TO 7
				RETURNF 21
			CASE 8 TO 10
				RETURNF 22
			CASE 11 TO 14
				RETURNF 23
			CASE 15 TO 22
				RETURNF 24
			CASE 23 TO 30
				RETURNF 25
		ENDSELECT
	CASE 3
		SELECTCASE ARG:1
			CASE 1 TO 5
				RETURNF 25
			CASE 6 TO 9
				RETURNF 24
			CASE 10 TO 12
				RETURNF 23
			CASE 13, 14
				RETURNF 22
			CASE 15 TO 17
				RETURNF 21
			CASE 18 TO 20
				RETURNF 20
			CASE 21 TO 23
				RETURNF 19
			CASE 24, 25
				RETURNF 18
			CASE 26
				RETURNF 17
			CASE 27, 28
				RETURNF 16
			CASE 29
				RETURNF 15
			CASE 30
				RETURNF 14
		ENDSELECT
	CASE 4
		SELECTCASE ARG:1
			CASE 1 TO 3
				RETURNF 14
			CASE 4, 5
				RETURNF 13
			CASE 6, 7
				RETURNF 12
			CASE 8, 9
				RETURNF 11
			CASE 10, 11
				RETURNF 10
			CASE 12 TO 14
				RETURNF 9
			CASE 15 TO 17
				RETURNF 8
			CASE 18 TO 20
				RETURNF 7
			CASE 21 TO 23
				RETURNF 6
			CASE 24 TO 26
				RETURNF 5
			CASE 27 TO 29
				RETURNF 4
			CASE 30
				RETURNF 3
		ENDSELECT
	CASE 5
		SELECTCASE ARG:1
			CASE 1, 2
				RETURNF 3
			CASE 3 TO 6
				RETURNF 2
			CASE 7 TO 10
				RETURNF 1
			CASE 11 TO 13
				RETURNF 0
			CASE 14 TO 21
				RETURNF -1
			CASE 22 TO 30
				RETURNF 0
		ENDSELECT
	CASE 6
		SELECTCASE ARG:1
			CASE 1 TO 3
				RETURNF 0
			CASE 4 TO 6
				RETURNF 1
			CASE 7, 8
				RETURNF 2
			CASE 9, 10
				RETURNF 3
			CASE 11 TO 14
				RETURNF 4
			CASE 15, 16
				RETURNF 5
			CASE 17, 18
				RETURNF 6
			CASE 19, 20
				RETURNF 7
			CASE 21 TO 23
				RETURNF 8
			CASE 24, 25
				RETURNF 9
			CASE 26 TO 28
				RETURNF 10
			CASE 29, 30
				RETURNF 11
		ENDSELECT
ENDSELECT
[SKIPEND]

;정시 조우위치 재설정
@TIMEZONE_MOVE
#DIMS 이동전
#DIMS 이동후
FOR LOCAL,1,CHARANUM
	SIF 출현상태(LOCAL) != 1
		CONTINUE
	SIF !CHARA_HOLIDAY(LOCAL)
		CONTINUE
	SIF CFLAG:LOCAL:초대
		CONTINUE
	SIF CFLAG:LOCAL:동행 || CHK_DATENOW(CFLAG:LOCAL:데이트중)
		CONTINUE
	SIF !CFLAG:LOCAL:전턴위치
		CONTINUE
	SIF CFLAG:LOCAL:수면
		CONTINUE
	;당신과 같은 장소에 있으면 확률이 떨어집니다
	IF CFLAG:MASTER:현재위치 == CFLAG:LOCAL:현재위치
		IF TALENT:LOCAL:연모
			;恋慕は5分の1
			SIF RAND:5
				CONTINUE
		ELSEIF TALENT:LOCAL:사모
			;思慕は4分の1
			SIF RAND:4
				CONTINUE
		ELSE
			;それ以外は3分の1
			SIF RAND:3
				CONTINUE
		ENDIF
	ELSE
		;見てない場所なら2分の1
		SIF RAND:2
			CONTINUE
	ENDIF
	CALL 만남플래그결정(LOCAL)
NEXT
;全キャラ決定後、連動キャラを設定する
FOR LOCAL, 1, CHARANUM
	VARSET RESULT
	CALLFORM CHARAMOVE_DATA_{LOCAL}(1)
	;依存連動
	IF RESULT
		CFLAG:LOCAL:만난위치 = CFLAG:RESULT:만난위치
	;対等連動
	ELSEIF RESULT:1
		;連動設定する
		CFLAG:LOCAL:만난위치 = CFLAG:연동캐릭터설정(RESULT:1, RESULT:2, RESULT:3):만난위치
	ENDIF
NEXT

repo_name: DNS/eraTWKR

license: mit


code:
;테위 구상을 참고에 만든 구상이 없는 캐릭터로 우후후중 호출하는 자동 신음 함수
;구상 소유에서도 임의로 대사에 끼울 수 있도록(듯이) ARGS 나름으로 괄호생략 할 수 있도록(듯이)해 보았다

@AUTO_AEGI(ARG,ARGS)
#DIM 신음강도
#DIM 신음회수

;제정신이 아니면 안 돼
SIF !SHIRAHU(ARG)
	RETURN 0
SIF !CFLAG:ARG:우후후
	RETURN 0
SIF GROUPMATCH(SELECTCOM, 19, 20, 81, 88, 89)
	RETURN 0
신음강도 = AEGI_LEVEL(ARG)

SIF !신음강도
	RETURN 0
SIF ARG == RANDOM_CHARANUM
	SETCOLOR CFLAG:ARG:1000

SIF ARGS != "전괄호생략" && ARGS != "괄호생략"
	PRINT 「

SELECTCASE 신음강도
	CASE 1
		신음회수 = 2 + RAND:2
	CASE 2
		신음회수 = 2 + RAND:2 + RAND:3
	CASE 3
		신음회수 = 3 + RAND:2 + RAND:3 + RAND:3
	CASEELSE
		신음회수 = 3 + RAND:신음강도 + RAND:신음강도 + RAND:신음강도
ENDSELECT

FOR LOCAL,0,신음회수
	LOCALS:LOCAL = %AEGI_PATTERN(신음강도, ARG)%
	;전의 것과 함께라면 한 번만 재추첨
	SIF LOCAL > 0 && LOCALS:LOCAL == LOCALS:(LOCAL - 1)
		LOCALS:LOCAL = %AEGI_PATTERN(신음강도, ARG)%
	PRINTFORM %LOCALS:LOCAL%
	SIF !RAND:2 && 신음강도 <= 3
		PRINT …
	SIF 신음강도 >= 4 || (신음강도 == 3 && !RAND:4)
		CALL HEARTMARK(1)
	SIF LOCAL != 신음회수 - 1
		PRINTPLAIN
NEXT

SIF ARGS != "후괄호생략" && ARGS != "괄호생략"
	PRINTL 」
SIF ARG == RANDOM_CHARANUM
	RESETCOLOR

@AEGI_LEVEL(ARG)
#FUNCTION
LOCAL = CUP:ARG:쾌C + CUP:ARG:쾌V + CUP:ARG:쾌A + CUP:ARG:쾌B + CUP:ARG:쾌M

SELECTCASE LOCAL
	CASE 0
		RETURNF 0
	CASE IS < 2500
		RETURNF 1
	CASE IS < 5000
		RETURNF 2
	CASE IS < 10000
		RETURNF 3
	CASE IS < 30000
		RETURNF 4
	CASE IS < 50000
		RETURNF 5
	CASEELSE
		RETURNF 6
ENDSELECT

;바리에이션 및 신음 강도와 대사의 대응 상황은 개선의 여지가 있을 것이다
;
;>우선은 추잡하게 만져지고 있는 장소를 중얼거리도록 하자
;>대상의 CUP를 보기 위해서(때문에) 인수를 확장
@AEGI_PATTERN(신음강도, ARG)
#FUNCTIONS
#DIM 신음강도

;부위 중얼거려, 우선 20%로（부위 그 자체를 중얼거린다고는 말하지 않았다）
;부위마다의 CUP를 합계해 난수를 취해, C로부터 순서에 난수가 합계치 이내인가로 부위를 판정, 히트 하면 그 부위를 중얼거린다（신음 강도와 함락계 소질과 부위 감도를 맞추어 계산해 괜찮지만, 그것은 앞의 이야기）
;부위 함락은 감도 5가 조건인 것을 생각하면 좀 더 나누면서 「감각*30(최대 180)+1 d100」의 결과로 분기 시키는 것으로 바리에이션이 나오면 좋겠다
IF TCVAR:ARG:억지로 && 신음강도 < 3

ELSEIF RAND:100 < 20 && (CUP:ARG:쾌C + CUP:ARG:쾌V + CUP:ARG:쾌A + CUP:ARG:쾌B + CUP:ARG:쾌M)
	SELECTCASE RAND:(CUP:ARG:쾌C + CUP:ARG:쾌V + CUP:ARG:쾌A + CUP:ARG:쾌B + CUP:ARG:쾌M)
	;CUP를 합계해 난수를 취한다. 이것으로 CUP의 값에 응해 줍는 확률에 차이가 생긴다
	CASE IS < CUP:ARG:쾌C
		;클리, 육봉 어떻게 하지…（이후에 성별 판정 넣으면 분기는 가능한 것이긴 하다）
		LOCAL = MIN(ABL:ARG:C감각 * 20, 180) + RAND:100
		SIF CFLAG:ARG:오토신음 != 2
			LOCAL = MIN(LOCAL, 150)
		SELECTCASE LOCAL
		;감각＋난수에 의한 분기, 아래에 가는 만큼 저것입니다
		CASE 0 TO 80
			LOCALS = %TEXTR("앗…/싫엇/햐앙!/으응/")%
		CASE 81 TO 150
			LOCALS = %TEXTR("클리…/후아아/후앗/콩알/거기잇/")%
		CASE 151 TO 200
			LOCALS = %TEXTR("클리토리스/클리잇/콩알/클리는/콩/클리/")%
		CASEELSE
			LOCALS = %TEXTR("클리이/클리잇/콩/콩알에～/클리토리스/클리…/")%
		ENDSELECT

	CASE IS < CUP:ARG:쾌C + CUP:ARG:쾌V
		LOCAL = MIN(ABL:ARG:V감각 * 20, 180) + RAND:100
		SIF CFLAG:ARG:오토신음 != 2
			LOCAL = MIN(LOCAL, 150)
		;질, 고기 오나홀까지 말하게 하는 것은 조금 다르다고 생각했으므로 삼가했습니다
		SELECTCASE LOCAL
		;감각＋난수에 의한 분기, 아래에 가는 만큼 저것입니다
		CASE 0 TO 80
			LOCALS = %TEXTR("큿…/긋…/안됏/햐앙/거기잇/")%
		CASE 81 TO 150
			LOCALS = %TEXTR("안에…/딱딱해/흐아앙/아앙/그거어/온다/안에/")%
		CASE 151 TO 200
			LOCALS = %TEXTR("보지/보지/빨리/안에에/온닷/후…후아앗")%
		CASEELSE
			LOCALS = %TEXTR("보지이/히이익/딱딱한게/찌걱찌걱/흐아앙～/아네에/")%
		ENDSELECT

	CASE IS < CUP:ARG:쾌C + CUP:ARG:쾌V + CUP:ARG:쾌A
		;구멍, 아마 제일 까불며 떠들 수 있는 장소라고 생각한다（의 것으로 뒤는 맡겼다）
		LOCAL = MIN(ABL:ARG:A감각 * 20, 180) + RAND:100
		SIF CFLAG:ARG:오토신음 != 2
			LOCAL = MIN(LOCAL, 150)
		SELECTCASE LOCAL
		;감각＋난수에 의한 분기, 아래에 가는 만큼 저것입니다
		CASE 0 TO 80
			LOCALS = %TEXTR("응큿…/아긋…/싫엇/햐웃/온닷/거기/")%
		CASE 81 TO 150
			LOCALS = %TEXTR("엉덩이/히잇/거긴/엉덩이/다른/")%
		CASE 151 TO 200
			LOCALS = %TEXTR("엉덩이 구멍/엉덩이/엉덩이/갑자기/아긋/애널/찐득찐득/")%
		CASEELSE
			LOCALS = %TEXTR("엉덩이 구멍/애널～/엉덩잇/더러운 구멍/엉덩이 구멍/엉덩이잇/아네에/")%
		ENDSELECT

	CASE IS < CUP:ARG:쾌C + CUP:ARG:쾌V + CUP:ARG:쾌A + CUP:ARG:쾌B
		;가슴, 여러 가지 걸친다고 생각하면 않는 사람을 잊고 있었다(피츄)
		LOCAL = MIN(ABL:ARG:B감각 * 20, 180) + RAND:100
		SIF CFLAG:ARG:오토신음 != 2
			LOCAL = MIN(LOCAL, 150)
		SELECTCASE LOCAL
		;감각＋난수에 의한 분기, 아래에 가는 만큼 저것입니다
		CASE 0 TO 80
			LOCALS = %TEXTR("하앗…/잇…/싫엇/햐앙/냐앗/")%
		CASE 81 TO 150
			LOCALS = %TEXTR("가슴/젖꼭지/주물주물/꾸물꾸물/하아앙/")%
		CASE 151 TO 200
			LOCALS = %TEXTR("가슴/젖가슴/젖꼭지/만지작만지작/조물조물/오돌오돌/")%
		CASEELSE
			LOCALS = %TEXTR("가슴/젖가슴/젖꼭지/조물조물/탱글탱글/꼭지가아/주물주물/")%
		ENDSELECT

	CASEELSE
		LOCAL = MIN(ABL:ARG:M감각 * 20, 180) + RAND:100
		SIF CFLAG:ARG:오토신음 != 2
			LOCAL = MIN(LOCAL, 150)
		;썩어 실은 죽어 분기의 가능성이 높다고 한다. 커맨드주세요
		SELECTCASE LOCAL
		;감각＋난수에 의한 분기, 아래에 가는 만큼 저것입니다
		CASE 0 TO 80
			LOCALS = %TEXTR("응…/응후…/응흣/햣/응냣/")%
		CASE 81 TO 150
			LOCALS = %TEXTR("입/입/혀/쥬붓/하웃/츄릅/")%
		CASE 151 TO 200
			LOCALS = %TEXTR("입보지/혀/날름/안/츄/할짝/")%
		CASEELSE
			LOCALS = %TEXTR("입보지/입보지잇/날름날름/입보지/츄릅츄릅/할짝할짝/")%
		ENDSELECT

	ENDSELECT
	RETURNF LOCALS
ENDIF
IF TCVAR:ARG:억지로 && (신음강도 < 3 || (신음강도 == 3 && RAND:4))
	IF TALENT:ARG:담력 > 0 || TALENT:ARG:응답 > 0 || TALENT:ARG:자존심 > 0
		LOCALS = %TEXTR("그만둬어…/엄청 못해/이제 됐잖아…/기분나빠…/손대지맛…/죽엇/젠자앙/구읏…")%
		SIF !RAND:10 && !TALENT:ARG:인간
			LOCALS = 인간 따위에게에
	ELSE
		LOCALS = %TEXTR("우읏…/구훗…/시러어…/그만해에…/싫어…/용서해줘어…/싫어어/히구읏")%
	ENDIF
ELSE
;통상 신음
SELECTCASE 신음강도
	CASE 1
		LOCALS = %TEXTR("앗…/읏…/응…/후웃…/하앗…/")%
	CASE 2
		LOCALS = %TEXTR("야앗/핫/후아아/후앗/후읏/쿠흣/쿠-읏/앗/아-앗/아앗/아앙/하앗/하-읏/히앗/히읏/히응/히얏/으읏/하웃/응핫/응큿")%
	CASEELSE
		IF RAND:신음강도 >= 3 && CFLAG:ARG:오토신음 == 2
			LOCALS = %TEXTR("아″앗/아″아아~~/우″아″앗/우″아″아″앗/으″앗/으″읏/으″으~~읏/으″흣/흐아″앗/흐아″~~앗/으″읏/으″웃/아히이/흐아″/흐에에/가앗/흐가앗/히~~잇/흐″흐읏/")%
		ELSEIF RAND:신음강도 >= 2
			LOCALS = %TEXTR("읏/으읏/히잇/히이잇/아히잇/하힛/굉장햇/갱장해/흐에에/~~읏/히아앗″앙/으응″읏/흐아아앙/")%
		ELSEIF !RAND:3
			LOCALS = %TEXTR("하읏/하흣/쿠응/아앗/햐앗/하앗/앗/")%
		ELSEIF !RAND:2
			LOCALS = %TEXTR("좋앗/좀 더어/히응/히-잇/응하앗/아앙/아아앙/기분 좋앗")%
		ELSE
			LOCALS = %TEXTR("야앗/후아아/후앗/후-읏/앗/아-읏/아앗/아앙/하앗/하-읏/히잇/히얏/응읏/하읏/응큿")%
		ENDIF
ENDSELECT
ENDIF
;랜덤으로 「읏」를 카타카나로 하는 것으로 바리에이션이 증가한 것처럼 착각시키는 고식적인 처리
IF !RAND:4 && 신음강도 >= 3
	LOCALS = %REPLACE(@"%LOCALS%","앗","아앗")%
	LOCALS = %REPLACE(@"%LOCALS%","앙","아앙")%
	LOCALS = %REPLACE(@"%LOCALS%","어","어엇")%
	LOCALS = %REPLACE(@"%LOCALS%","에","에엣")%
	LOCALS = %REPLACE(@"%LOCALS%","잇","이잇")%
	LOCALS = %REPLACE(@"%LOCALS%","읏","으읏")%
	LOCALS = %REPLACE(@"%LOCALS%","응","으응")%
	LOCALS = %REPLACE(@"%LOCALS%","큿","크읏")%
ENDIF
RETURNF LOCALS


code:
@SAMEROOM(ARG, ARG:1)
#FUNCTION
SIF ARG < 0 || ARG >= CHARANUM
	RETURNF 0
SIF ARG:1 < 0 || ARG:1 >= CHARANUM
	RETURNF 0
ARG:1 = ARG:1 ?  ARG:1 # TARGET
SIF CFLAG:ARG:현재위치 == CFLAG:(ARG:1):현재위치
	RETURNF 1