tarinai/js/data.js
2026-07-05 18:01:36 +09:00

89 lines
6.6 KiB
JavaScript

"use strict";
const SPRITES = [
{ id: "smile", label: "\u901a\u5e38\u305f\u308a\u306a\u3044", path: "assets/sprites/tarinai_01_smile.webp" },
{ id: "angry", label: "\u6012\u308a\u305f\u308a\u306a\u3044", path: "assets/sprites/tarinai_02_angry.webp" },
{ id: "teary", label: "\u6d99\u305f\u308a\u306a\u3044", path: "assets/sprites/tarinai_03_teary.webp" },
{ id: "jito", label: "\u3058\u3068\u76ee\u305f\u308a\u306a\u3044", path: "assets/sprites/tarinai_04_jito.webp" },
{ id: "drool", label: "\u3088\u3060\u308c\u305f\u308a\u306a\u3044", path: "assets/sprites/tarinai_05_drool.webp" },
{ id: "cry", label: "\u6ce3\u304d\u305f\u308a\u306a\u3044", path: "assets/sprites/tarinai_06_cry.webp" },
{ id: "sleep", label: "\u7720\u308a\u305f\u308a\u306a\u3044", path: "assets/sprites/tarinai_07_sleep.webp" },
{ id: "pokan", label: "\u307d\u304b\u3093\u305f\u308a\u306a\u3044", path: "assets/sprites/tarinai_08_pokan.webp" },
{ id: "stretch", label: "\u4f38\u3073\u305f\u308a\u306a\u3044", path: "assets/sprites/tarinai_09_stretch.webp", actionOnly: true },
{ id: "hurt", label: "\u75db\u304c\u308a\u305f\u308a\u306a\u3044", path: "assets/sprites/tarinai_10_hurt.webp", actionOnly: true },
{ id: "weak", label: "\u5f31\u308a\u305f\u308a\u306a\u3044", path: "assets/sprites/tarinai_11_weak.webp", actionOnly: true },
{ id: "back", label: "\u5965\u5411\u304d\u305f\u308a\u306a\u3044", path: "assets/sprites/tarinai_12_back.webp", actionOnly: true },
{ id: "flee", label: "\u6557\u8d70\u305f\u308a\u306a\u3044", path: "assets/sprites/tarinai_13_flee.webp", actionOnly: true },
{ id: "zunda_eat", label: "\u305a\u3093\u3060\u9905\u98df\u3079\u305f\u308a\u306a\u3044", path: "assets/sprites/tarinai_14_zunda_eat.webp", actionOnly: true },
{ id: "hurt2", label: "\u75db\u304c\u308a\u305f\u308a\u306a\u30442", path: "assets/sprites/tarinai_15_hurt2.webp", actionOnly: true },
{ id: "normal_smirk", label: "\u901a\u5e38\u305f\u308a\u306a\u3044\u30fb\u306b\u3084\u308a", path: "assets/sprites/tarinai_16_normal_smirk.webp", displayOnly: true },
{ id: "normal_tongue", label: "\u4f4e\u30b9\u30c8\u30ec\u30b9\u305f\u308a\u306a\u3044\u30fb\u820c", path: "assets/sprites/tarinai_17_normal_tongue.webp", displayOnly: true },
{ id: "fear", label: "\u6050\u6016\u305f\u308a\u306a\u3044", path: "assets/sprites/tarinai_18_fear.webp", actionOnly: true },
{ id: "flee_fear2", label: "\u6557\u8d70\u6050\u6016\u305f\u308a\u306a\u30442", path: "assets/sprites/tarinai_19_flee_fear2.webp", actionOnly: true },
{ id: "sleep2", label: "\u7720\u308a\u305f\u308a\u306a\u30442", path: "assets/sprites/tarinai_20_sleep2.webp", actionOnly: true },
{ id: "normal_happy", label: "\u4f4e\u30b9\u30c8\u30ec\u30b9\u305f\u308a\u306a\u3044\u30fb\u3054\u304d\u3052\u3093", path: "assets/sprites/tarinai_21_normal_happy.webp", displayOnly: true },
{ id: "fear_blue", label: "\u6050\u6016\u305f\u308a\u306a\u3044\u30fb\u9752\u3056\u3081", path: "assets/sprites/tarinai_22_fear_blue.webp", actionOnly: true },
{ id: "fear_cry", label: "\u6050\u6016\u305f\u308a\u306a\u3044\u30fb\u6d99", path: "assets/sprites/tarinai_23_fear_cry.webp", actionOnly: true },
{ id: "stress_dizzy", label: "\u9ad8\u30b9\u30c8\u30ec\u30b9\u305f\u308a\u306a\u3044\u30fb\u3050\u308b\u3050\u308b", path: "assets/sprites/tarinai_24_stress_dizzy.webp", actionOnly: true },
{ id: "stress_sweat", label: "\u9ad8\u30b9\u30c8\u30ec\u30b9\u305f\u308a\u306a\u3044\u30fb\u6c57", path: "assets/sprites/tarinai_25_stress_sweat.webp", actionOnly: true },
{ id: "intimidate", label: "\u5a01\u5687\u305f\u308a\u306a\u3044", path: "assets/sprites/tarinai_26_intimidate.webp", actionOnly: true },
{ id: "birth_ritual", label: "\u3078\u3053\u3078\u3053\u305f\u308a\u306a\u3044", path: "assets/sprites/tarinai_27_birth_ritual.webp", actionOnly: true },
{ id: "zunchi_slave", label: "\u305a\u3093\u3061\u3069\u308c\u3044", path: "assets/sprites/tarinai_28_zunchi_slave.webp", displayOnly: true },
{ id: "hungry_70", label: "\u7a7a\u817970\u4ee5\u4e0a\u305f\u308a\u306a\u3044", path: "assets/sprites/tarinai_29_hungry_70.webp", displayOnly: true },
{ id: "zunchi_slave_alt", label: "\u305a\u3093\u3061\u3069\u308c\u3044 2", path: "assets/sprites/tarinai_30_zunchi_slave_alt.webp", displayOnly: true },
{ id: "sunbath_1", label: "\u65e5\u5149\u6d74\u305f\u308a\u306a\u3044 1", path: "assets/sprites/tarinai_31_sunbath_01.webp", actionOnly: true },
{ id: "sunbath_2", label: "\u65e5\u5149\u6d74\u305f\u308a\u306a\u3044 2", path: "assets/sprites/tarinai_32_sunbath_02.webp", actionOnly: true },
{ id: "sunbath_3", label: "\u65e5\u5149\u6d74\u305f\u308a\u306a\u3044 3", path: "assets/sprites/tarinai_33_sunbath_03.webp", actionOnly: true },
{ id: "hot_1", label: "\u6691\u3044\u305f\u308a\u306a\u3044 1", path: "assets/sprites/tarinai_34_hot_01.webp", displayOnly: true },
{ id: "hot_2", label: "\u6691\u3044\u305f\u308a\u306a\u3044 2", path: "assets/sprites/tarinai_35_hot_02.webp", displayOnly: true },
{ id: "hot_3", label: "\u6691\u3044\u305f\u308a\u306a\u3044 3", path: "assets/sprites/tarinai_36_hot_03.webp", displayOnly: true },
{ id: "cold_1", label: "\u5bd2\u3044\u305f\u308a\u306a\u3044 1", path: "assets/sprites/tarinai_37_cold_01.webp", displayOnly: true },
{ id: "cold_2", label: "\u5bd2\u3044\u305f\u308a\u306a\u3044 2", path: "assets/sprites/tarinai_38_cold_02.webp", displayOnly: true },
{ id: "cold_3", label: "\u5bd2\u3044\u305f\u308a\u306a\u3044 3", path: "assets/sprites/tarinai_39_cold_03.webp", displayOnly: true },
];
const CONFIG = {
initialPopulation: 18,
maxFenceCollisionChecks: 18,
effectLimit: 78,
grassLimit: 99,
grassLimitsByField: { cage: 19, garden: 99, park: 299 },
worldPadding: 30,
hungerPerMinute: 36.0,
lonelinessPerMinute: 7.6,
energyPerMinute: 8.2,
reproductionCooldown: 18,
dayLength: 120,
standardTemperature: 15,
summerTemperatureBoost: 5,
climateTemperatureMin: -20,
climateTemperatureMax: 50,
temperatureMin: -Infinity,
temperatureMax: Infinity,
temperatureComfortMin: 10,
temperatureComfortMax: 25,
temperatureStressMargin: 5,
temperatureEnergyMargin: 10,
temperatureItemRange: 127,
childGrowTime: 58,
fightCooldown: 8,
weatherChangeMin: 46,
weatherChangeMax: 96,
bubbleLimit: 32,
};
const FIELD_LAYOUT = Object.freeze({
height: "calc(100vh - 140px)",
minHeight: "620px",
mobileHeight: "66vh",
mobileMinHeight: "460px",
});
const FIELD_TYPES = {
cage: { id: "cage", worldScale: 0.46, population: 12, grass: 16 },
garden: { id: "garden", worldScale: 1.0, population: CONFIG.initialPopulation, grass: 34 },
park: { id: "park", worldScale: 2.35, population: 24, grass: 62 },
};
const LIGHTING_TUNING = {
rayAlpha: 0.040,
nightOverlayAlpha: 0.135,
goldenOverlayAlpha: 0.045,
bloomWashAlpha: 0.040,
};