From ddda797f5be05424d5342c7875a2171f6026afa1 Mon Sep 17 00:00:00 2001 From: Igor Morozov <24278723+morozoffnor@users.noreply.github.com> Date: Wed, 31 Jan 2024 12:23:02 +0300 Subject: [PATCH] debuff logic rewrite --- app/tools/items/bolt.mjs | 6 ++++++ app/tools/items/tools/useItem.mjs | 27 ++++++++------------------- 2 files changed, 14 insertions(+), 19 deletions(-) diff --git a/app/tools/items/bolt.mjs b/app/tools/items/bolt.mjs index 741b045..5e6eafd 100644 --- a/app/tools/items/bolt.mjs +++ b/app/tools/items/bolt.mjs @@ -61,6 +61,7 @@ export class Bolt { } this.icon = "boltRare.png" this.effectInfo = { + instant: true, option1: 5, v: 2 } @@ -79,6 +80,7 @@ export class Bolt { } this.icon = "boltLegendary.png" this.effectInfo = { + instant: true, option1: 5, v: 2 } @@ -86,6 +88,10 @@ export class Bolt { return this } + /** + * @param {{type: Number | NumberConstructor}} size + * @returns Number + */ useItem(size) { if (this.subtype === 'addition') { return size + this.effectInfo.option1 diff --git a/app/tools/items/tools/useItem.mjs b/app/tools/items/tools/useItem.mjs index ecc4e2d..9260343 100644 --- a/app/tools/items/tools/useItem.mjs +++ b/app/tools/items/tools/useItem.mjs @@ -1,6 +1,8 @@ import {getUserById, IncUserStats} from "../../../database/database.mjs"; import {bot} from "../../../main.mjs"; import {config} from "../../../config.mjs"; +import {Bolt} from "../bolt.mjs"; +import {handleItem} from "./itemsHandler.mjs"; export async function useItem(usedItem) { let user = await getUserById(parseInt(usedItem['userId'])) @@ -33,26 +35,13 @@ export async function useDebuffItem(usedItem) { if (user.items[i]._id == usedItem['itemId']) { // console.log('found item in user ' + user.id) console.log('debuffing other user') - // TODO rewrite this custom thing for Bolt - - if (user.items[i].effectInfo.v === 2) { - switch (user.items[i].rarity) { - case 'Rare': - target.cockStats.currentSize = (target.cockStats.currentSize + user.items[i].effectInfo.option1).toFixed(3) - const message = `@${user.userName} использовал ${user.items[i].name} [${user.items[i].rarity}] на @${target.userName}!\nТеперь его хуй равен ${target.cockStats.currentSize}` - await bot.telegram.sendMessage(config.chatId, message, {parse_mode: "HTML"}) - break - case 'Legendary': - target.cockStats.currentSize = (target.cockStats.currentSize * user.items[i].effectInfo.option1).toFixed(3) - const message1 = `@${user.userName} использовал ${user.items[i].name} [${user.items[i].rarity}] на @${target.userName}!\nТеперь его хуй равен ${target.cockStats.currentSize}` - await bot.telegram.sendMessage(config.chatId, message1, {parse_mode: "HTML"}) - break - } - - - - + if (user.items[i].effectInfo.instant) { + const targetSize = target.cockStats.currentSize + const newTargetSize = await handleItem(user.items[i], targetSize) + target.cockStats.currentSize = await newTargetSize + const message = `@${user.userName} использовал ${user.items[i].name} [${user.items[i].rarity}] на @${target.userName}!\nТеперь его хуй равен ${target.cockStats.currentSize}` + await bot.telegram.sendMessage(config.chatId, message, {parse_mode: "HTML"}) } else { target.activatedItem = user.items[i] const message = `@${user.userName} использовал ${user.items[i].name} [${user.items[i].rarity}] на @${target.userName}`