Compare commits
No commits in common. "ada10ae8b5341a7772d3dc015f3956a0ed6a12c5" and "aa4277453f4409da8838393564024c58ec70545e" have entirely different histories.
ada10ae8b5
...
aa4277453f
@ -79,10 +79,6 @@ const Character = sequelize.define('character', {
|
|||||||
},
|
},
|
||||||
activeEffects: { type: DataTypes.JSON, allowNull: true, defaultValue: [] },
|
activeEffects: { type: DataTypes.JSON, allowNull: true, defaultValue: [] },
|
||||||
equippedItems: { type: DataTypes.ARRAY(DataTypes.INTEGER), allowNull: true, defaultValue: [] },
|
equippedItems: { type: DataTypes.ARRAY(DataTypes.INTEGER), allowNull: true, defaultValue: [] },
|
||||||
enemiesKilled: {
|
|
||||||
type: DataTypes.INTEGER,
|
|
||||||
defaultValue: 0
|
|
||||||
},
|
|
||||||
});
|
});
|
||||||
|
|
||||||
module.exports = Character;
|
module.exports = Character;
|
||||||
|
38
rpg.js
38
rpg.js
@ -1298,7 +1298,6 @@ rpg.command('giveitem', async (ctx) => {
|
|||||||
ctx.reply(`Вы успешно купили ${item.name} за ${item.price}₽!`);
|
ctx.reply(`Вы успешно купили ${item.name} за ${item.price}₽!`);
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
CharacterModel.prototype.addEquippedItem = async function (item) {
|
CharacterModel.prototype.addEquippedItem = async function (item) {
|
||||||
@ -2176,8 +2175,6 @@ rpg.action(/hit_\d+/, async (ctx) => {
|
|||||||
await battle.save();
|
await battle.save();
|
||||||
logs(ctx, "Победа персонажа", { enemy, battle });
|
logs(ctx, "Победа персонажа", { enemy, battle });
|
||||||
Exp(ctx, character, enemy.level * 10)
|
Exp(ctx, character, enemy.level * 10)
|
||||||
character.enemiesKilled += 1;
|
|
||||||
await character.save();
|
|
||||||
let droppedItems = await dropItem(character, enemy.id);
|
let droppedItems = await dropItem(character, enemy.id);
|
||||||
logs(ctx, "Предметы с врага", { droppedItems });
|
logs(ctx, "Предметы с врага", { droppedItems });
|
||||||
if (droppedItems) {
|
if (droppedItems) {
|
||||||
@ -2436,8 +2433,6 @@ rpg.action(/critical_\d+/, async (ctx) => {
|
|||||||
battle.status = "completed";
|
battle.status = "completed";
|
||||||
await battle.save();
|
await battle.save();
|
||||||
Exp(ctx, character, enemy.level * 11)
|
Exp(ctx, character, enemy.level * 11)
|
||||||
character.enemiesKilled += 1;
|
|
||||||
await character.save();
|
|
||||||
let droppedItems = await dropItem(character, enemy.id);
|
let droppedItems = await dropItem(character, enemy.id);
|
||||||
logs(ctx, "Предметы с врага", { droppedItems });
|
logs(ctx, "Предметы с врага", { droppedItems });
|
||||||
if (droppedItems) {
|
if (droppedItems) {
|
||||||
@ -2530,4 +2525,37 @@ rpg.action(/miss_\d+/, async (ctx) => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
rpg.command("start_battle", async (ctx) => {
|
||||||
|
const character = await CharacterModel.findOne({ where: { telegram_id: ctx.from.id } });
|
||||||
|
|
||||||
|
if (!character) {
|
||||||
|
return ctx.reply("Ваш персонаж не найден. Создайте его, чтобы начать играть!");
|
||||||
|
}
|
||||||
|
|
||||||
|
// Поиск или создание новой битвы
|
||||||
|
const enemy = await Enemy.findByPk(1); // Случайный враг
|
||||||
|
const battle = await Battle.create({
|
||||||
|
character: character.telegram_id,
|
||||||
|
enemy: enemy.id,
|
||||||
|
enemy_hp: enemy.hp,
|
||||||
|
logs: [],
|
||||||
|
status: "active",
|
||||||
|
});
|
||||||
|
|
||||||
|
// Генерация ссылки на Miniapp
|
||||||
|
const miniappUrl = `https://web-bot.campfiregg.ru/battle?battleId=${battle.id}&playerId=${character.telegram_id}`;
|
||||||
|
|
||||||
|
await ctx.reply(
|
||||||
|
`⚔️ Битва началась!\nВаш противник: ${enemy.name}\n🛡️ Уровень: ${enemy.level}\n❤️ Здоровье: ${enemy.hp}\n\nПерейдите в мини-приложение, чтобы продолжить:`,
|
||||||
|
{
|
||||||
|
reply_markup: {
|
||||||
|
inline_keyboard: [
|
||||||
|
[{ text: "Открыть битву", web_app: { url: miniappUrl } }],
|
||||||
|
],
|
||||||
|
},
|
||||||
|
}
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
module.exports = rpg;
|
module.exports = rpg;
|
||||||
|
Loading…
Reference in New Issue
Block a user