191 lines
9.7 KiB
JavaScript
191 lines
9.7 KiB
JavaScript
const {
|
||
UserModel,
|
||
WorldModel,
|
||
JobModel
|
||
} = require('/workspace/degradin/Dev/Telegram/CampFire Play/config')
|
||
const {
|
||
giveExp,
|
||
setCooldown
|
||
} = require('/workspace/degradin/Dev/Telegram/CampFire Play/utils')
|
||
|
||
module.exports = async (ctx) => {
|
||
let user = await UserModel.findByPk(ctx.from.id);
|
||
let job = await JobModel.findByPk(user.job);
|
||
let world = await WorldModel.findByPk(1)
|
||
let timer = user.jobtime
|
||
let cooldown = setCooldown(user, 3600, timer)
|
||
if (user.jobtime > cooldown.currentTime) return ctx.reply(`📛 Работать можно будет через ${cooldown.timeLeftInMinutes} минут(у/ы)`);
|
||
if (user.job == 0) {
|
||
return await ctx.reply(`📛 Вы безработный.`)
|
||
}
|
||
user.jobtime = Number(cooldown.endTime)
|
||
let jobExp = job.exp;
|
||
user.jobcheck++
|
||
switch (user.job) {
|
||
case 1:
|
||
if (user.jobcheck >= 4) {
|
||
let paydayfee = job.salary / 100 * world.transactionfee
|
||
let payday = job.salary - paydayfee
|
||
world.balance -= payday
|
||
user.money += payday
|
||
giveExp(user, jobExp)
|
||
user.jobcheck = 0
|
||
user.save()
|
||
world.save()
|
||
return ctx.reply(`👔 Вы отработали смену дворника. \n🧾 Расчетный лист: \n⏳ Отработано часов: 4/4 \n💸 Оклад: ₽${job.salary} \nℹ️ Подоходный налог: ${world.transactionfee}% \n💹 К выплате: ₽${payday}`)
|
||
} else {
|
||
user.save()
|
||
return ctx.reply(`👔 Вы подмели дворы. \n⏳ Отработано часов: ${user.jobcheck}/4`)
|
||
}
|
||
break;
|
||
case 2:
|
||
if (user.jobcheck >= 2) {
|
||
let paydayfee = job.salary / 100 * world.transactionfee
|
||
let payday = job.salary - paydayfee
|
||
world.balance -= payday
|
||
user.money += payday
|
||
giveExp(user, jobExp)
|
||
user.jobcheck = 0
|
||
user.save()
|
||
world.save()
|
||
return ctx.reply(`👔 Вы отработали смену промоутера. \n🧾 Расчетный лист: \n⏳ Отработано часов: 2/2 \n💸 Оклад: ₽${job.salary} \nℹ️ Подоходный налог: ${world.transactionfee}% \n💹 К выплате: ₽${payday}`)
|
||
} else {
|
||
user.save()
|
||
return ctx.reply(`👔 Вы раздавали листовки целый час. \n⏳ Отработано часов: ${user.jobcheck}/2`)
|
||
}
|
||
break;
|
||
case 3:
|
||
if (user.jobcheck >= 4) {
|
||
let paydayfee = job.salary / 100 * world.transactionfee
|
||
let payday = job.salary - paydayfee
|
||
world.balance -= payday
|
||
let tips = [50, 100, 200, 500, 1000].random()
|
||
user.money += tips
|
||
user.money += payday
|
||
giveExp(user, jobExp)
|
||
user.jobcheck = 0
|
||
user.save()
|
||
world.save()
|
||
return ctx.reply(`👔 Вы отработали смену официанта. \n🧾 Расчетный лист: \n⏳ Отработано часов: 4/4 \n💸 Оклад: ₽${job.salary} \nℹ️ Подоходный налог: ${world.transactionfee}% \n💹 К выплате: ₽${payday} \n💰 Получено чаевых: ₽${tips}`)
|
||
} else {
|
||
let tips = [50, 100, 200, 500, 1000].random()
|
||
user.money += tips
|
||
user.save()
|
||
return ctx.reply(`👔 Вы целый час бегали и отрабатывали заказы. \n🧾 Получено чаевых: ₽${tips} \n⏳ Отработано часов: ${user.jobcheck}/4`)
|
||
}
|
||
break;
|
||
case 4:
|
||
if (user.jobcheck >= 5) {
|
||
let paydayfee = job.salary / 100 * world.transactionfee
|
||
let payday = job.salary - paydayfee
|
||
world.balance -= payday
|
||
let tips = [50, 100, 200, 300, 500, 1000, 2000].random()
|
||
world.balance -= tips
|
||
user.money += tips
|
||
user.money += payday
|
||
giveExp(user, jobExp)
|
||
user.jobcheck = 0
|
||
user.save()
|
||
world.save()
|
||
return ctx.reply(`👔 Вы отработали смену бармена. \n🧾 Расчетный лист: \n⏳ Отработано часов: 5/5 \n💸 Оклад: ₽${job.salary} \nℹ️ Подоходный налог: ${world.transactionfee}% \n💹 К выплате: ₽${payday} \n💰 Получено чаевых: ₽${tips}`)
|
||
} else {
|
||
let tips = [50, 100, 200, 300, 500, 1000, 2000].random()
|
||
world.balance -= tips
|
||
user.money += tips
|
||
user.save()
|
||
world.save()
|
||
return ctx.reply(`👔 Вы целый час стояли за стойкой и разливали пойло. \n🧾 Получено чаевых: ₽${tips} \n⏳ Отработано часов: ${user.jobcheck}/5`)
|
||
}
|
||
break;
|
||
case 5:
|
||
if (user.jobcheck >= 5) {
|
||
let paydayfee = job.salary / 100 * world.transactionfee
|
||
let payday = job.salary - paydayfee
|
||
world.balance -= payday
|
||
user.money += payday
|
||
giveExp(user, jobExp)
|
||
user.jobcheck = 0
|
||
user.save()
|
||
world.save()
|
||
return ctx.reply(`👔 Вы отработали смену кассира. \n🧾 Расчетный лист: \n⏳ Отработано часов: 5/5 \n💸 Оклад: ₽${job.salary} \nℹ️ Подоходный налог: ${world.transactionfee}% \n💹 К выплате: ₽${payday}`)
|
||
} else {
|
||
user.save()
|
||
return ctx.reply(`👔 Вы целый час обслуживали покупателей и кричали: "Гаааляяя, отмена!". \n⏳ Отработано часов: ${user.jobcheck}/5`)
|
||
}
|
||
break;
|
||
case 6:
|
||
if (user.jobcheck >= 6) {
|
||
let paydayfee = job.salary / 100 * world.transactionfee
|
||
let payday = job.salary - paydayfee
|
||
let stealed = [{
|
||
name: "Помада",
|
||
price: 200
|
||
}, {
|
||
name: "Бюстгалтер",
|
||
price: 1300
|
||
}, {
|
||
name: "Прокладки",
|
||
price: 250
|
||
}, {
|
||
name: "Перцовый балончик",
|
||
price: 600
|
||
}, {
|
||
name: "Гитара",
|
||
price: 6500
|
||
}, {
|
||
name: "Комбик",
|
||
price: 9000
|
||
}, {
|
||
name: "Кроссовки",
|
||
price: 2000
|
||
}, {
|
||
name: "Шампунь",
|
||
price: 180
|
||
}, {
|
||
name: "Смартфон Texno",
|
||
price: 6999
|
||
}, {
|
||
name: "TWS Гарнитура",
|
||
price: 2800
|
||
}, {
|
||
name: "Геймпад GameStation 5",
|
||
price: 1400
|
||
}, {
|
||
name: "Дилдо",
|
||
price: 600
|
||
}, {
|
||
name: "Вагиноимитатор",
|
||
price: 600
|
||
}].random()
|
||
world.balance -= payday
|
||
world.balance -= Number(stealed.price)
|
||
user.money += payday
|
||
user.money += Number(stealed.price)
|
||
giveExp(user, jobExp)
|
||
user.jobcheck = 0
|
||
user.save()
|
||
world.save()
|
||
return ctx.reply(`👔 Вы отработали смену в Диких Ягодах. \n🧾 Расчетный лист: \n⏳ Отработано часов: 6/6 \n💸 Оклад: ₽${job.salary} \nℹ️ Подоходный налог: ${world.transactionfee}% \n💹 К выплате: ₽${payday} \n💰 Вы украли и продали со склада: ${stealed.name} (₽${stealed.price})`)
|
||
} else {
|
||
user.save()
|
||
return ctx.reply(`👔 Вы целый час выдавали заказы в Диких Ягодах. \n⏳ Отработано часов: ${user.jobcheck}/6`)
|
||
}
|
||
break;
|
||
case 7:
|
||
if (user.jobcheck >= 6) {
|
||
let paydayfee = job.salary / 100 * world.transactionfee
|
||
let payday = job.salary - paydayfee
|
||
world.balance -= payday
|
||
user.money += payday
|
||
giveExp(user, jobExp)
|
||
user.jobcheck = 0
|
||
user.save()
|
||
world.save()
|
||
return ctx.reply(`👔 Вы отработали смену слесарем. \n🧾 Расчетный лист: \n⏳ Отработано часов: 6/6 \n💸 Оклад: ₽${job.salary} \nℹ️ Подоходный налог: ${world.transactionfee}% \n💹 К выплате: ₽${payday}`)
|
||
} else {
|
||
user.save()
|
||
return ctx.reply(`👔 Вы целый час работали на заводе, вы молодец! \n⏳ Отработано часов: ${user.jobcheck}/6`)
|
||
}
|
||
break;
|
||
}
|
||
} |