날씨 타입
날씨 타입은 발생할 수 있는 조건(온도, 습도, 기압, 풍력, 시간 등)과 게임 월드와 현실 버블에 미치는 영향을 지정합니다.
날씨 타입을 선택할 때 게임은 지역 설정에 정의된 목록을 검토하고 현재 조건에서 적격으로 간주되는 마지막 항목을 선택합니다. 적격 항목이 없으면 잘못된 날씨 타입 "none"이 사용됩니다.
필드
| 식별자 | 설명 |
|---|---|
| id | (필수) 고유 ID. 필요한 경우 밑줄을 사용하여 하나의 연속된 단어여야 합니다. |
| name | (필수) 표시되는 게임 내 이름. |
| color | (필수) 게임 내 이름의 색상. |
| glyph | (필수) 오버맵에 사용되는 기호. |
| map_color | (필수) 오버맵 기호의 색상. |
| ranged_penalty | (필수) 원거리 공격에 대한 페널티. |
| sight_penalty | (필수) 시야 페널티, 즉 타일 투명도에 대한 승수. |
| light_modifier | (필수) 주변 조명에 대한 평면 보너스. |
| sound_attn | (필수) 소리 감쇠(볼륨에 대한 평면 감소). |
| dangerous | (필수) true이면 활동 중단을 요청합니다. |
| precip | (필수) 관련 강수량. 유효한 값: none, very_light, light, heavy. |
| rains | (필수) 해당 강수가 비로 내리는지 여부. |
| acidic | (선택적) 해당 강수가 산성인지 여부. |
| sound_category | (선택적) 재생할 음향 효과. 유효한 값: silent, drizzle, rainy, thunder, flurries, snowstorm, snow. |
| sun_intensity | (필수) 햇빛 강도. 유효한 값: none, light, normal, high. Normal과 high는 "직사광선"으로 간주됩니다. |
| weather_animation | (선택적) 현실 버블의 날씨 애니메이션. 상세 정보 |
| effects | (선택적) 날씨가 일으키는 효과에 대한 [string, int] 쌍 배열. 상세 정보 |
| requirements | (선택적) 이 날씨 타입이 선택될 수 있는 조건. 상세 정보 |
weather_animation
모든 멤버는 필수입니다.
| 식별자 | 설명 |
|---|---|
| factor | 표시 밀도: 0은 없음, 1은 화면을 가립니다. |
| glyph | ASCII 모드에서 사용할 기호. |
| color | 기호 색상. |
| tile | TILES 모드에서 사용할 그래픽 타일. |
effects
여기서 int는 효과 강도입니다.
| 식별자 | 설명 |
|---|---|
| wet | 플레이어를 int 양만큼 젖게 함 |
| thunder | int 중 1의 확률로 천둥 소리 |
| lightning | int 중 1의 확률로 소리와 메시지, 그리고 전기장 과충전 가능성 |
| light_acid | 방수가 아니면 고통을 일으킴 |
| acid_rain | 방수가 아니면 더 많은 고통을 일으킴 |
| morale | 플레이어가 사기 효과를 느끼게 함 |
| effect | 플레이어가 상태 효과에 걸리게 함 |
사기 예제:
{
"name": "morale",
"intensity": 3, // 이 효과는 X 턴마다 적용됩니다.
"bonus": 2, // 사기가 제공하는 보너스.
"bonus_max": 60, // 사기가 플레이어에게 영향을 줄 수 있는 최대 양.
"duration": "180 s", // 사기가 지속되는 시간.
"decay_start": "60 s", // 효과가 지속 시간을 카운트다운하기 시작하기 전의 시간.
"morale_id_str": "morale_weather_rainbow", // 플레이어에게 적용되는 사기의 ID.
"morale_msg": "You stare in awe at the rainbow.", // 플레이어가 영향을 받을 때 채팅에 표시할 메시지.
"morale_msg_frequency": 8, // 플레이어가 영향을 받을 때마다 이 메시지를 표시할 확률.
"message_type": 0 // 표시할 메시지 타입: good, bad, mixed 등.
}
효과 예제:
{
"name": "effect",
"intensity": 3, // 이 효과는 X 턴마다 적용됩니다.
"duration": "30 s", // 효과가 지속되는 시간.
"effect_id_str": "emp",
"effect_intensity": 0, // 적용되는 효과의 강도.
"precipitation_name": "brain waves", // "The <PRECIPITATION> is blocked by your umbrella!" 타입 메시지가 표시될 때 표시할 강수 이름.
"ignore_armor": true, // 모든 보호를 무시합니다.
"bodypart_string": "head", // 효과를 적용할 신체 부위.
"effect_msg": "You feel an odd wave-like sensation pass through your head.", // 플레이어가 영향을 받을 때 채팅에 표시할 메시지.
"effect_msg_frequency": 16, // 플레이어가 영향을 받을 때마다 이 메시지를 표시할 확률.
"effect_msg_blocked_frequency": 32, // 플레이어가 옷으로 효과를 차단할 때마다 이 메시지를 표시할 확률.
"message_type": 2, // 표시할 메시지 타입: good, bad, mixed 등.
"clothing_protection": 0, // 강수를 차단할 X 중 1의 확률.
"umbrella_protection": 0 // 강수를 차단할 X 중 1의 확률.
}
requirements
모든 멤버는 선택 사항입니다.
| 식별자 | 설명 |
|---|---|
| pressure_min | 최소 기압 |
| pressure_max | 최대 기압 |
| humidity_min | 최소 습도 |
| humidity_max | 최대 습도 |
| temperature_min | 최소 온도 |
| temperature_max | 최대 온도 |
| windpower_min | 최소 풍력 |
| windpower_max | 최대 풍력 |
| humidity_and_pressure | 기압과 습도 요구 사항이 있는 경우 둘 다 필요한지 아니면 하나만 필요한지 |
| acidic | 산성 강수가 필요한지 |
| time | 시간대. 유효한 값: day, night, both. |
| required_weathers | 지정된 타입 중 하나에 대한 조건이 일치하는 경우에만 선택됩니다. 즉, 비는 구름, 가벼운 이슬비 또는 이슬비에 대한 조건이 있는 경우에만 발생할 수 있습니다. 필요한 날씨는 지역 날씨 목록에서 이것보다 "앞에" 있어야 합니다. |
예제
{
"id": "lightning",
"type": "weather_type",
"name": "Lightning Storm",
"color": "c_yellow",
"map_color": "h_yellow",
"glyph": "%",
"ranged_penalty": 4,
"sight_penalty": 1.25,
"light_modifier": -45,
"sound_attn": 8,
"dangerous": false,
"precip": "heavy",
"rains": true,
"acidic": false,
"effects": [{ "name": "thunder", "intensity": 50 }, { "name": "lightning", "intensity": 600 }],
"tiles_animation": "weather_rain_drop",
"weather_animation": { "factor": 0.04, "color": "c_light_blue", "glyph": "," },
"sound_category": "thunder",
"sun_intensity": "none",
"requirements": { "pressure_max": 990, "required_weathers": ["thunder"] }
}