parent
1fb0f79fb0
commit
c0605dc965
|
|
@ -0,0 +1,49 @@
|
|||
elements.flying_fish = {
|
||||
color: ["#0077be", "#00aaff"], // Цвета для летающей рыбы
|
||||
behavior: [
|
||||
"SW:water AND M2%10|M2%10|SW:water AND M2%10", // Может прыгать в воздух и возвращаться в воду
|
||||
"SW:water|XX|SW:water", // Движение влево и вправо в воде
|
||||
"SW:water AND M1%10|M1%10|SW:water AND M1%10" // Лёгкое спускание, если в воздухе
|
||||
],
|
||||
category: "life", // Категория, в которой будет находиться элемент
|
||||
state: "liquid", // Условное состояние рыбы
|
||||
density: 997, // Плотность, близкая к воде
|
||||
tempHigh: 50, // Температура, при которой рыба погибает
|
||||
stateHigh: "meat",
|
||||
tempLow: -10, // Температура, при которой рыба замерзает
|
||||
stateLow: "frozen_fish",
|
||||
reactions: {
|
||||
"fire": {elem1: "meat"}, // Рыба "сгорает" при контакте с огнём
|
||||
"acid": {elem1: null } // Рыба исчезает в кислоте
|
||||
},
|
||||
properties: {
|
||||
energy: 100, // Энергия рыбы, уменьшается со временем
|
||||
},
|
||||
tick: function(pixel) {
|
||||
// Уменьшение энергии
|
||||
pixel.energy -= 0.1;
|
||||
|
||||
// Если энергия исчерпана, рыба превращается в "мертвую рыбу"
|
||||
if (pixel.energy <= 0) {
|
||||
changePixel(pixel, "dead_fish");
|
||||
}
|
||||
|
||||
// Восстановление энергии в воде
|
||||
if (pixel.currentState === "water") {
|
||||
pixel.energy += 0.5;
|
||||
}
|
||||
|
||||
// Поведение прыжков: при контакте с водой рыбка "прыгает" в воздух
|
||||
if (pixel.y < height - 1 && isEmpty(pixel.x, pixel.y + 1)) {
|
||||
pixel.energy += 0.2; // Лёгкое восстановление энергии
|
||||
}
|
||||
},
|
||||
};
|
||||
|
||||
elements.dead_fish = {
|
||||
color: "#555555", // Серый цвет для мертвой рыбы
|
||||
behavior: behaviors.STATIC, // Никакого движения
|
||||
category: "life", // Категория остаётся той же
|
||||
state: "solid", // Мёртвая рыба становится твёрдой
|
||||
density: 1100, // Немного плотнее воды
|
||||
};
|
||||
Loading…
Reference in New Issue