sandboxels/mods/prairie.js

200 lines
7.8 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

elements.bison = {
color: ["#8B4513", "#A0522D"], // Цвета для бизонов
behavior: [
"XX|XX|XX", // Едят траву вокруг
"M2%1|XX|M2%1", // Медленное движение влево и вправо
"M1|M1%1|M1" // Лёгкое спускание, если нет опоры
],
category: "life", // Категория для бизонов
state: "solid", // Бизоны — твёрдые существа
density: 1200, // Плотность, выше чем у воды
tempHigh: 60, // Температура, при которой бизон "умирает"
stateHigh: "dead_bison",
tempLow: -20, // Температура, при которой бизон замерзает
stateLow: "frozen_meat",
reactions: {
"water": {elem1: "bison_wet" }, // Бизон становится мокрым в воде
"grass": {elem2: null, chance: 0.3, func:behaviors.FEEDPIXEL},
"shepherdia": {elem2: null, chance: 0.3, func:behaviors.FEEDPIXEL}
},
properties: {
energy: 200, // Энергия бизона
},
burn: 50,
burnTime: 500,
burnInto: "dead_bison",
tick: function(pixel) {
// Уменьшение энергии со временем
pixel.energy -= 0.05;
// Если энергия исчерпана, бизон умирает
if (pixel.energy <= 0) {
changePixel(pixel, "dead_bison");
}
// Еда (травы добавляет энергию)
if (pixel.currentState === "grass") {
pixel.energy += 5;
}
// Восстановление энергии при отдыхе
if (!pixel.moving) {
pixel.energy += 0.1;
}
},
};
elements.dead_bison = {
color: "#654321", // Коричневый цвет для мёртвого бизона
behavior: [
"XX|XX|XX",
"XX|CH:rotten_meat%0.1|XX",
"M2|M1|M2"
], // Никакого движения
category: "life", // Категория остаётся той же
state: "solid", // Мёртвый бизон остаётся твёрдым
density: 1300, // Немного плотнее живого бизона
burn: 100,
burnTime: 1000,
burnInto: "ash",
hidden: true
};
elements.bison_wet = {
color: "#5F4C40", // Темный цвет для мокрого бизона
behavior: [
"XX|XX|XX", // Едят траву вокруг
"M2%1|XX|M2%1", // Медленное движение влево и вправо
"M1|M1%1|M1" // Лёгкое спускание, если нет опоры
], // Поведение такое же, как у обычного бизона
category: "life", // Категория та же
state: "solid", // Мокрый бизон остаётся твёрдым
density: 1250, // Немного тяжелее, чем сухой бизон
tempHigh: 60, // Тот же предел температуры
stateHigh: "dead_bison",
tempLow: -20, // Тот же предел температуры
stateLow: "frozen_meat",
properties: {
energy: 150, // Мокрый бизон теряет немного энергии
},
reactions: {
"grass": {elem2: null, chance: 0.3, func:behaviors.FEEDPIXEL},
"shepherdia": {elem2: null, chance: 0.3, func:behaviors.FEEDPIXEL}
},
tick: function(pixel) {
// Постепенное "высыхание"
pixel.energy -= 0.1;
if (pixel.energy <= 0) {
changePixel(pixel, "bison");
}
},
burn: 100,
burnTime: 1000,
burnInto: "ash",
hidden: true
};
elements.shepherdia = {
color: "#FF6347", // Ярко-красный цвет ягоды
behavior: [
"XX|XX|XX", // Остаётся статичной
"XX|XX|XX", // Не двигается
"M2|M1|M2" // Остаётся на месте
],
category: "food", // Категория еды
state: "solid", // Твёрдое состояние
density: 800, // Лёгкий элемент
tempHigh: 40, // Портится при высокой температуре
stateHigh: "rotten_fruit",
tempLow: -5, // Замерзает при низкой температуре
stateLow: "frozen_fruit",
properties: {
nutrition: 50, // Восстанавливает энергию при поедании
},
burn: 100,
burnTime: 1000,
burnInto: "ash",
hidden: true
};
elements.rotten_fruit = {
color: "#8B0000", // Тёмно-красный цвет испорченной ягоды
behavior: behaviors.POWDER, // Никакого движения
category: "food", // Остаётся в категории еды
state: "solid", // Всё ещё твёрдое состояние
density: 800, // Такая же плотность
hidden: true
};
elements.frozen_fruit = {
color: "#ADD8E6", // Светло-голубой цвет замороженной ягоды
behavior: behaviors.POWDER, // Никакого движения
category: "food", // Остаётся в категории еды
state: "solid", // Твёрдое состояние
density: 850, // Немного тяжелее
hidden: true
};
elements.shepherdia_bush = {
color: "#228B22", // Зелёный цвет куста
behavior: [
"XX|XX|XX", // Остаётся статичным
"CR:shepherdia%1|XX|CR:shepherdia%1", // Не двигается
"XX|XX|XX" // Остаётся на месте
],
category: "plant", // Категория растений
state: "solid", // Твёрдое состояние
density: 1000, // Средняя плотность для растения
tempHigh: 50, // Горит при высокой температуре
stateHigh: "ash",
reactions: {
"water": { elem1: "wet_bush" } // Куст становится мокрым при контакте с водой
},
burn: 100,
burnTime: 1000,
burnInto: "ash",
hidden: true,
seed: "shepherdia_seed"
};
elements.wet_bush = {
color: "#2E8B57", // Тёмно-зелёный цвет мокрого куста
behavior: behaviors.WALL, // Никакого движения
category: "plant", // Остаётся в категории растений
state: "solid", // Твёрдое состояние
density: 1020, // Немного тяжелее из-за воды
tempHigh: 50, // Также горит при высокой температуре
stateHigh: "ash",
properties: {
energy: 150, // Мокрый куст теряет немного энергии
},
tick: function(pixel) {
// Постепенное "высыхание"
pixel.energy -= 0.1;
if (pixel.energy <= 0) {
changePixel(pixel, "shepherdia_bush");
}
},
burn: 100,
burnTime: 1000,
burnInto: "ash",
hidden: true
};
elements.shepherdia_seed = {
color: "#8B4513", // Коричневый цвет семени
behavior: [
"XX|XX|XX", // Остаётся статичным
"XX|XX|XX", // Не двигается
"XX|M1|XX" // Падает вниз
],
category: "plant", // Категория растений
state: "solid", // Твёрдое состояние
density: 900, // Лёгкая плотность
tempHigh: 50, // Горит при высокой температуре
stateHigh: "ash",
reactions: {
"water": { elem1: "shepherdia_bush" } // При контакте с водой превращается в куст
},
seed: true
};