@opfr/services 0.49.8 → 0.49.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.es.js CHANGED
@@ -7416,38 +7416,50 @@ export {
7416
7416
  kd as updateUserShop,
7417
7417
  Qu as userCooldownGetters,
7418
7418
  me as userCooldownModel,
7419
+ Gc as userCooldownSchema,
7419
7420
  up as userCooldownUpdates,
7420
7421
  gp as userCrewExists,
7421
7422
  V as userCrewModel,
7423
+ zt as userCrewSchema,
7422
7424
  mp as userCrewUpdates,
7423
7425
  Ge as userDailyReportModel,
7426
+ Jc as userDailyReportSchema,
7424
7427
  wp as userDailyReportUpdates,
7425
7428
  Hu as userEncyclopediaGetters,
7426
7429
  de as userEncyclopediaModel,
7430
+ Zs as userEncyclopediaSchema,
7427
7431
  Gu as userEncyclopediaUpdates,
7428
7432
  ge as userGamesModel,
7433
+ ed as userGamesSchema,
7429
7434
  hp as userGamesUpdates,
7430
7435
  $p as userGetters,
7431
7436
  Lu as userInventoryGetters,
7432
7437
  fe as userInventoryModel,
7438
+ Tt as userInventorySchema,
7433
7439
  cp as userInventoryUpdates,
7434
7440
  dp as userMetaGetters,
7435
7441
  L as userMetaModel,
7442
+ Ft as userMetaSchema,
7436
7443
  op as userMetaUpdates,
7437
7444
  C as userModel,
7438
7445
  be as userOrnamentsModel,
7446
+ Jt as userOrnamentsSchema,
7439
7447
  xp as userOrnamentsUpdates,
7440
7448
  Ku as userQuestGetters,
7441
7449
  D as userQuestMetaModel,
7450
+ Ot as userQuestMetaSchema,
7442
7451
  ip as userQuestMetaUpdates,
7443
7452
  we as userQuestModel,
7453
+ sa as userQuestSchema,
7444
7454
  Up as userQuestUpdates,
7445
7455
  Bp as userRaidGetters,
7446
7456
  he as userRaidModel,
7457
+ yd as userRaidSchema,
7447
7458
  vp as userRaidUpdates,
7448
7459
  B as userSchema,
7449
7460
  kp as userShopGetters,
7450
7461
  Ve as userShopModel,
7462
+ vd as userShopSchema,
7451
7463
  Cp as userShopUpdates,
7452
7464
  Op as userUpdates,
7453
7465
  Rp as warnGetters,
package/dist/index.umd.js CHANGED
@@ -1 +1 @@
1
- (function(l,o){typeof exports=="object"&&typeof module<"u"?o(exports,require("mongoose"),require("@opfr/utils-lang"),require("@opfr/items"),require("@opfr/utils-type"),require("@opfr/raids"),require("events"),require("@opfr/ornaments"),require("@opfr/canvas")):typeof define=="function"&&define.amd?define(["exports","mongoose","@opfr/utils-lang","@opfr/items","@opfr/utils-type","@opfr/raids","events","@opfr/ornaments","@opfr/canvas"],o):(l=typeof globalThis<"u"?globalThis:l||self,o(l.services={},l.mongoose,l["@opfr/utils-lang"],l["@opfr/items"],l["@opfr/utils-type"],l["@opfr/raids"],l.events,l["@opfr/ornaments"],l["@opfr/canvas"]))})(this,(function(l,o,p,g,r,y,ze,d,C){"use strict";function wa(t){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const a in t)if(a!=="default"){const s=Object.getOwnPropertyDescriptor(t,a);Object.defineProperty(e,a,s.get?s:{enumerable:!0,get:()=>t[a]})}}return e.default=t,Object.freeze(e)}const We=wa(ze),ce=Object.freeze(Object.defineProperty({__proto__:null,get Annihilation(){return Os},get Champion(){return Is},get Cursed_Branch(){return Rs},get EZ(){return qs},get GiantHunter(){return As},get Immortal(){return Cs},get Insistent(){return _s},get Massacre(){return Ns},get Master(){return Ds},get Participation(){return Ps},get Phoenix(){return Ms},get Rebirth(){return Bs},get Resurrection(){return Ss},get Sabotage(){return ks},get ShootingStar(){return Qs},get Sniper(){return $s},get Top64(){return Us},get TrollSupreme(){return Es},get Unstoppable(){return Fs},get VictoryByKO(){return xs},get ZeroScored(){return vs}},Symbol.toStringTag,{value:"Module"})),Be=new o.Schema({bannedUserId:String,authorId:String,unbannedTimestamp:Date,reason:String});Be.index({bannedUserId:1}),Be.index({unbannedTimestamp:1});const H=o.models?.Bans||o.model("Bans",Be),ha=Object.freeze(Object.defineProperty({__proto__:null,getUnbanUsers:async()=>await H.find({unbannedTimestamp:{$lte:new Date,$ne:null}})},Symbol.toStringTag,{value:"Module"})),_a=async t=>await H.create({...t}),Sa=async t=>await H.findOne({bannedUserId:t}),Ba=async t=>{await H.deleteOne({bannedUserId:t})},Ma=t=>H.exists({bannedUserId:t}),Ca=new o.Schema({betOwner:String,betId:Number,channelId:String,messageId:String,title:String,desc:String,state:String,end:Date,highestBet:Number,choices:{type:[String],default:[]},bets:{type:[{owner:String,amount:Number,choice:Number}],default:[]}}),Me=o.models?.Bets||o.model("Bets",Ca),Ra=async(t,e={})=>{const a=await Me.findById(t,e);return a||null},Ua=async t=>await Me.create({...t}),Xe=new o.Schema({senderId:String,receiverId:String,amount:Number,gameMode:String,meta:{rps:{type:String,default:void 0}}});Xe.index({receiverId:1});const oe=o.models?.Invitations||o.model("Invitations",Xe),va=async t=>{const e=await oe.findOne({...t});return e||null},Aa=async t=>await oe.create({...t}),ka=async t=>{await oe.deleteMany({...t})},xa=new o.Schema({guildId:{type:String,required:!0,unique:!0},suggestionChannelId:{type:String,default:null},reportChannelId:{type:String,default:null},reportModeratorChannelId:{type:String,default:null},factionChannelId:{type:String,default:null},discussionChannelId:{type:String,default:null},questFallbackChannelId:{type:String,default:null},reportBugChannelId:{type:String,default:null},expeditionChannelId:{type:String,default:null},ranking:{channelId:{type:String,default:null},messageId:{type:String,default:null}},roles:{premium:{type:String,default:null},booster:{type:String,default:null},scam:{type:String,default:null}},channels:{gambling:{type:String,default:null},work:{type:String,default:null},raid:{type:String,default:null}},edito:{channelId:{type:String,default:null},price:{type:Number,default:100},sentAtMidnight:{type:Boolean,default:!1},messageId:{type:String,default:null}},crew:{infoChannelId:{type:String,default:null},crewChannelIds:{type:[{channelId:{type:String},crewId:{type:String}}],default:[]}},shopChannelId:{type:String,default:null},blackMarketChannelId:{type:String,default:null}}),ue=o.models?.Settings||o.model("Settings",xa),_=async(t,e,a=!1)=>{await ue.updateOne({guildId:t},e,{upsert:a})},$a=Object.freeze(Object.defineProperty({__proto__:null,addCrewChannelId:async(t,e,a)=>{await _(t,{$push:{"crew.crewChannelIds":{channelId:a,crewId:e}}})},randomizeEditoPrice:async t=>{const e=p.randomBetween(100,1001);return await _(t,{$set:{"edito.price":e}}),e},sentAtMidnight:async(t,e)=>{await _(t,{$set:{"edito.sentAtMidnight":e}})},setCrewInfoChannelId:async(t,e)=>{await _(t,{$set:{"crew.infoChannelId":e}})},setDiscussionChannelId:async(t,e)=>{await _(t,{$set:{discussionChannelId:e}})},setEditoChannel:async(t,e)=>{await _(t,{$set:{"edito.channelId":e}})},setEditoMessageId:async(t,e)=>{await _(t,{$set:{"edito.messageId":e}})},setFactionChannel:async(t,e)=>{await _(t,{$set:{factionChannelId:e}})},setQuestChannelId:async(t,e)=>{await _(t,{$set:{questFallbackChannelId:e}})},setRankingChannel:async(t,e)=>{await _(t,{$set:{"ranking.channelId":e}})},setRankingMessage:async(t,e)=>{await _(t,{$set:{"ranking.messageId":e}})},setReportBugChannelId:async(t,e)=>{await _(t,{$set:{reportBugChannelId:e}})},setReportChannel:async(t,e)=>{await _(t,{$set:{reportChannelId:e}})},setReportModeratorChannel:async(t,e)=>{await _(t,{$set:{reportModeratorChannelId:e}})},setShopChannelId:async(t,e,a)=>{await _(t,{$set:{shopChannelId:e,blackMarketChannelId:a}})},setSuggestionChannel:async(t,e)=>{await _(t,{$set:{suggestionChannelId:e}})},updateChannelId:async(t,e)=>{await _(t,{$set:Object.fromEntries(Object.entries(e).map(([a,s])=>[`channels.${a}`,s]))})},updateRolesId:async(t,e)=>{await _(t,{$set:Object.fromEntries(Object.entries(e).map(([a,s])=>[`roles.${a}`,s]))})}},Symbol.toStringTag,{value:"Module"})),Je=async t=>await ue.create({guildId:t}),Na=async(t,e={})=>{const a=await ue.findOne({guildId:t},e);return a||Je(t)};class A{constructor(){if(this.constructor===A)throw new Error("Abstract classes can't be instantiated.")}name;price;size;currency;data;toDBShopItem(){return{name:this.name,price:this.price,size:this.size,entityId:this.data.id,currency:this.currency}}async onBuy(e,a){this.currency==="berry"?(await kt(e,-1*this.price*a),await Mt(e,this.price*a)):await F(e,this.currency,this.price*a)}isBackground(){return!1}isChest(){return!1}isTitle(){return!1}isBoostXp(){return!1}isRepair(){return!1}isStore(){return!1}isObject(){return!1}isBottle(){return!1}isEquipment(){return!1}}class Ze extends A{constructor({name:e,price:a,item:s,size:i,currency:c}){super(),this.name=e,this.data=s,this.price=a,this.size=i,this.currency=c}async onBuy(e,a){await super.onBuy(e,a),await Vt(e,this.data.background.id)}isBackground(){return!0}}class et extends A{constructor({name:e,price:a,item:s,size:i,currency:c}){super(),this.name=e,this.data=s,this.price=a,this.size=i,this.currency=c}async onBuy(e,a){await super.onBuy(e,a),await $(e,this.data.id,a)}isBoostXp(){return!0}}class tt extends A{constructor({name:e,price:a,item:s,size:i,currency:c}){super(),this.name=e,this.data=s,this.price=a,this.size=i,this.currency=c}async onBuy(e,a){await super.onBuy(e,a),await $(e,this.data.id,a)}isChest(){return!0}}class at extends A{constructor({name:e,price:a,item:s,size:i,currency:c}){super(),this.name=e,this.data=s,this.price=a,this.size=i,this.currency=c}async onBuy(e,a){await super.onBuy(e,a),await $(e,this.data.id,a)}isObject(){return!0}}class st extends A{constructor({name:e,price:a,item:s,size:i,currency:c}){super(),this.name=e,this.data=s,this.price=a,this.size=i,this.currency=c}async onBuy(e,a){await super.onBuy(e,a),await Le(e,p.range({stop:a}).map(()=>g.seedEquipment({...this.data},Date.now()-Math.round(Math.random()*1e3))))}isEquipment(){return!0}}class rt extends A{constructor({name:e,price:a,item:s,size:i,currency:c}){super(),this.name=e,this.data=s,this.price=a,this.size=i,this.currency=c}async onBuy(e,a){await super.onBuy(e,a),await $(e,this.data.id,a)}isBottle(){return!0}}class nt extends A{constructor({name:e,price:a,item:s,size:i,currency:c}){super(),this.name=e,this.data=s,this.price=a,this.size=i,this.currency=c}async onBuy(e,a){await super.onBuy(e,a),await $(e,this.data.id,a)}isRepair(){return!0}}class it extends A{constructor({name:e,price:a,item:s,size:i,currency:c}){super(),this.name=e,this.data=s,this.price=a,this.size=i,this.currency=c}async onBuy(e,a){await super.onBuy(e,a),await $(e,this.data.id,a)}isStore(){return!0}}class lt extends A{constructor({name:e,price:a,item:s,size:i,currency:c}){super(),this.name=e,this.data=s,this.price=a,this.size=i,this.currency=c}async onBuy(e,a){await super.onBuy(e,a),await Ge(e,this.data.title.name)}isTitle(){return!0}}const dt=(t,e)=>{const a=t.items.find(s=>s.entityId===e);if(a){const{name:s,price:i,size:c,currency:u}=a,f=g.findEntity(a.entityId);if(g.isBackgroundItem(f))return new Ze({name:s,price:i,item:f,size:c,currency:u});if(g.isTitleItem(f))return new lt({name:s,price:i,item:f,size:c,currency:u});if(g.isChestItem(f))return new tt({name:s,price:i,item:f,size:c,currency:u});if(g.isBoostItem(f))return new et({name:s,price:i,item:f,size:c,currency:u});if(g.isRepairItem(f))return new nt({name:s,price:i,item:f,size:c,currency:u});if(g.isStoreItem(f))return new it({name:s,price:i,item:f,size:c,currency:u});if(g.isObjectItem(f))return new at({name:s,price:i,item:f,size:c,currency:u});if(g.isEquipment(f))return new st({name:s,price:i,item:f,size:c,currency:u});if(g.isBottleItem(f))return new rt({name:s,price:i,size:c,item:f,currency:u})}},Oa=Object.freeze(Object.defineProperty({__proto__:null,getShopItem:dt,getShopItemList:t=>{const e=[];for(const{entityId:a}of t.items){const s=dt(t,a);s&&e.push(s)}return e}},Symbol.toStringTag,{value:"Module"})),Ea=new o.Schema({shopType:{type:String,required:!0,unique:!0},publishedAt:{type:Date,default:new Date},duration:{type:Number,default:null},closeAt:{type:Date,default:null},items:{type:[{name:String,price:Number,size:{type:Number,default:null},entityId:String,currency:String}],default:[]},stats:{berrySpent:{type:Number,default:0},itemBought:{type:Number,default:0},chestBought:{type:Number,default:0},boostTimeBought:{type:Number,default:0},percentBought:{type:Number,default:0}}},{minimize:!1}),fe=o.models?.Shop||o.model("Shop",Ea),Ia=async(t,e)=>{await ct({shopType:t},e,!0)},Ce=async(t,e)=>{await ct({_id:t},e,!0)},ct=async(t,e,a=!1)=>{await fe.updateOne(t,e,{upsert:a})},Da=Object.freeze(Object.defineProperty({__proto__:null,buyShopItem:async(t,e,a,s)=>{const i=e.map(c=>(c.name===a.name&&c.size&&(c.size-=s),c));await Ce(t,{$set:{items:i}})},publish:async t=>{await Ce(t,{$set:{publishedAt:new Date}})},setShopItems:async(t,e)=>{await Ia(t,{$set:{items:[...e]}})},updateShopStats:async(t,e,a)=>{await Ce(t,{$inc:{"stats.berrySpent":e.price*a,"stats.itemBought":a,"stats.chestBought":e.isChest()?a:0,"stats.percentBought":e.isRepair()?e.data.repair*a:0,"stats.boostTimeBought":e.isBoostXp()?e.data.id==="boost_xp_day"?a:7*a:0}})}},Symbol.toStringTag,{value:"Module"})),Fa=t=>fe.create({shopType:t}),Qa=async(t,e={})=>{const a=await ot({shopType:t},e);return a||await Fa(t)},ot=(t,e={})=>fe.findOne(t,e),qa=Object.freeze(Object.defineProperty({__proto__:null,getCommandCooldown:(t,e)=>t.commands[e],getRaidCooldown:(t,e)=>t.raid[e]},Symbol.toStringTag,{value:"Module"})),Re=new o.Schema({user:{type:o.Schema.Types.ObjectId,ref:"User",required:!0},date:Date,type:String},{minimize:!1});Re.index({user:1}),Re.index({date:-1});const P=o.models?.Reminder||o.model("Reminder",Re),Pa=Object.freeze(Object.defineProperty({__proto__:null,getAllPassedReminder:async()=>await P.find({date:{$lte:new Date}})},Symbol.toStringTag,{value:"Module"})),La=async(t,e)=>{await P.deleteOne({user:t,type:e})},ut=async(t,e,a,s)=>{await P.updateOne({user:t,type:e},a,{upsert:s})},Ue=async(t,e,a)=>{await ut(t,e,{$set:{date:a}},!0)},ve=async(t,e,a)=>{await ut(t,e,[{$set:{date:{$add:["$date",a]}}}],!1)},Ka=Object.freeze(Object.defineProperty({__proto__:null,addReminder:Ue,deleteSelectedReminders:async t=>{await P.deleteMany({_id:{$in:t}})},removeReminder:async(t,e)=>{await La(t,e)},updateReminderDate:ve},Symbol.toStringTag,{value:"Module"})),ja=async(t,e={})=>{const a=await P.findOne({user:t},e);return a||null},Ha=async(t,e,a)=>await P.create({user:t,date:e,type:a}),Ga=(t,e)=>{const a=p.filterNullAndUndefined(Object.values(t.equippedItems)),s=e.equipments.filter(i=>a.find(c=>c.id===i.id)).length;if(s===e.equipments.length)return e.fullBonus;if(s>=e.equipments.length/2)return e.halfBonus},Ae=t=>{let e={vitality:0,strength:0,agility:0,chance:0,intelligence:0,wisdom:0};for(const a of g.EQUIPMENT_SLOT){const s=t.equippedItems?.[a];s&&(e=p.mergeObjects(e,g.fromDBToEquipableEquipment(s).characteristics,(i,c)=>i+c))}for(const a of g.allPanoplies){const s=Ga(t,a);s&&!("target"in s)&&(e=p.mergeObjects(e,s,(i,c)=>i+c))}return e},Ta=Object.freeze(Object.defineProperty({__proto__:null,calcBottleMultiplier:(t,{buffs:e})=>{const a=g.getPanoplyBonus(t.equippedItems).find(([s,i])=>s.id==="herbalist"&&i!==null);return a&&a[1]==="full"?e.map(s=>({...s,multiplier:s.multiplier*1.25})):a&&a[1]==="half"?e.map(s=>({...s,multiplier:s.multiplier*1.1})):e},calcMinStreakForWorkLoot:t=>{const e=g.getPanoplyBonus(t.equippedItems).find(([a,s])=>a.id==="marine"&&s!==null);return e&&e[1]==="full"?10:e&&e[1]==="half"?20:1/0},getItemList:t=>Object.fromEntries(t.itemList),getRecipeResult:(t,e)=>{const a=g.getPanoplyBonus(t.equippedItems).find(([s,i])=>s.id==="little_blacksmith"&&i!==null);return a?.[1]==="full"&&e==="chest_3"?"chest_blacksmith_3":a?.[1]==="half"&&e==="chest_2"?"chest_blacksmith_2":a?.[1]==="half"&&e==="chest_1"?"chest_blacksmith_1":e},getUserEquipmentsCharacteristics:Ae,hasEnoughEnchantedStone:(t,e)=>(t.itemList.get("enchanted_stone")||0)>=e,hasEnoughItem:(t,e,a)=>(t.itemList.get(a)||0)>=e,hasEnoughItemsForRecipe:(t,e,a)=>{for(const s of e)if((t.itemList.get(s.itemId)||0)<s.size*a)return!1;return!0},hasEnoughTools:(t,e)=>(t.itemList.get("tools")||0)>=e,hasInventoryRequirements:(t,e)=>p.recordToArray(e).reduce((a,[s,i])=>a&&(t.itemList.get(s)??0)>=(i??0),!0),hasRevolutionaryBuff:t=>g.getPanoplyBonus(t.equippedItems).find(([a,s])=>a.id==="revolutionary"&&s!==null)?.[1]??null,maxCraftQuantity:(t,e)=>{let a=1/0;for(const s of e)a=Math.min(a,Math.floor((t.itemList.get(s.itemId)||0)/s.size));return a}},Symbol.toStringTag,{value:"Module"})),Va=Object.freeze(Object.defineProperty({__proto__:null,getEncyclopedia:t=>t.encyclopedia,hasFoundItem:(t,e)=>t.encyclopedia.includes(e)},Symbol.toStringTag,{value:"Module"})),Ya=new o.Schema({user:{type:o.Schema.Types.ObjectId,required:!0,unique:!0,ref:"User"},encyclopedia:{type:[String],default:[]}}),z=o.models?.UserEncyclopedia||o.model("UserEncyclopedia",Ya),ft=async(t,e)=>{await z.updateOne({user:t},e,{upsert:!0})},pe=async(t,e)=>{await ft(t,{$addToSet:{encyclopedia:{$each:e}}})},za=Object.freeze(Object.defineProperty({__proto__:null,addItem:pe},Symbol.toStringTag,{value:"Module"})),pt=async t=>await z.create({user:t}),Wa=async t=>{const e=await z.findOne({user:t});return e||await pt(t)},Xa=["crewUpdate","crewQuestUpdate","userMetaUpdate","userQuestMetaUpdate","userQuestUpdate","userInventoryUpdate","userOrnamentsUpdate","userDaily","crewDaily","userChristmasUpdate"],mt=new We.EventEmitter,k=(t,e,a)=>{mt.emit(t,e,a)},Ja=t=>{for(const e of Xa)mt.on(e,(a,s)=>{t(e,a,s)})};class n{chest;repeatable;onUserMetaUpdate;onUserQuestUpdate;onUserQuestMetaUpdate;onUserInventoryUpdate;onUserOrnamentsUpdate;onCrewUpdate;onCrewQuestUpdate;complete=async(e,{_userQuest:a,_userCrew:s,_userMeta:i,_userInventory:c})=>{const u=a??await Te(e);if(this.isCompleted(u)&&!this.repeatable)return null;const f=i??await X(e),b=s??await jt(e),M=c??await L(e);return this.crew&&b?this.daily?await this.markCrewDailyAsCompleted(b.crew._id,u.user._id):(await this.markAsCompleted(u),await this.markCrewAsCompleted(b.crew._id)):await this.markAsCompleted(u),await this.specificQuestCompletion(u,b),await this.applyReward(u,f,b,M)};async applyReward(e,a,s,i){return this.title&&await Ge(e.user._id,this.title.name),this.badge&&(this.crew&&s?await fa(s.crew._id,this.badge,this.rank.id):await Yt(e.user._id,this.badge,this.rank.id)),this.isFactionBadge&&await zt(e.user._id,this.rank.id),this.asset&&await Wt(e.user._id,this.asset),this.chest&&await Dt(i.user._id,this.chest),this.getComputedRewards(a,e)}getComputedRewards=(e,a)=>{const s=this.daily&&xe(a)?$e(a):1;return{xp:(p.isFunction(this.xp)?this.xp(e):this.xp)*s*(1+je(e)),berry:(p.isFunction(this.berry)?this.berry(e):this.berry)*s}};async specificQuestCompletion(e,a){this.id==="daily_all"&&(await ta(e.user._id,e.lastFullComplete),a&&await this.markCrewDailyAsCompleted(a.crew._id,e.user._id)),this.id==="be_level_10"&&await ia(e.user._id,!0),this.id!=="be_level_10"&&this.id.startsWith("be_level_")&&await la(e.user._id,!0),this.id==="crew_all_members_daily"&&a&&await Kt(e.user._id)}isCompleted(e){return this.daily?bt(e,this.id):gt(e,this.id)}async markAsCompleted(e){this.daily?await ea(e.user._id,this.id):await Zt(e.user._id,this.id)}async markCrewAsCompleted(e){await ga(e,this.id)}async markCrewDailyAsCompleted(e,a){await ya(e,a.toHexString(),this.id)}}class Za extends n{name="Bienvenue à bord !";id="crew_create_or_join";rank=r.RANKS.LEGENDARY;description="Créer son équipage/Rejoindre un équipage";berry=1e6;xp=1e5;badge=null;asset=null;title=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1}class es extends n{name="Prêt à naviguer !";id="crew_daily_click";rank=r.RANKS.COMMON;description="Faire acte de présence auprès de son équipage";berry=1e4;xp=1e3;crew=!0;daily=!0;secret=!1;asset=null;title=null;badge=null;isFactionBadge=!1}const ts=Object.freeze(Object.defineProperty({__proto__:null,CrewCreateOrJoin:Za,CrewValidateDaily:es},Symbol.toStringTag,{value:"Module"}));class as extends n{name="1 jour 1 message";id="daily_send_message";rank=r.RANKS.COMMON;description="Envoyer un message";berry=({xp:e})=>(r.getCurrentLevel(e.amount)/10+1)*1e3;xp=({xp:e})=>(r.getCurrentLevel(e.amount)/10+1)*100;daily=!0;secret=!1;crew=!1;isFactionBadge=!1;badge=null;asset=null;title=null}class ss extends n{name="Les nouvelles sont bonnes ?";id="daily_read_edito";rank=r.RANKS.COMMON;description="Réagir à l'édito";berry=({xp:e})=>(r.getCurrentLevel(e.amount)/10+1)*3e3;xp=({xp:e})=>(r.getCurrentLevel(e.amount)/10+1)*300;daily=!0;secret=!1;crew=!1;isFactionBadge=!1;badge=null;asset=null;title=null}class rs extends n{name="Quoi ? Feur !";id="daily_answer";rank=r.RANKS.COMMON;description="Répondre à quelqu'un";berry=({xp:e})=>(r.getCurrentLevel(e.amount)/10+1)*1500;xp=({xp:e})=>(r.getCurrentLevel(e.amount)/10+1)*150;daily=!0;secret=!1;crew=!1;isFactionBadge=!1;badge=null;asset=null;title=null}class ns extends n{name="Narcissique";id="daily_check_profile";rank=r.RANKS.COMMON;description="Regarder son profil";berry=({xp:e})=>(r.getCurrentLevel(e.amount)/10+1)*2e3;xp=({xp:e})=>(r.getCurrentLevel(e.amount)/10+1)*200;daily=!0;secret=!1;crew=!1;isFactionBadge=!1;badge=null;asset=null;title=null}class is extends n{name="Almanax";id="almanax";rank=r.RANKS.MYTHIC;description="Valider 365 jours de suite les quêtes quotidiennes";berry=1e9;xp=1e6;badge=d.BadgeList.calendar;secret=!1;crew=!1;isFactionBadge=!1;asset=null;title=null;daily=!1}const ke=Object.freeze(Object.defineProperty({__proto__:null,Almanax:is,DailyAnswer:rs,DailyCheckProfile:ns,DailyReadEdito:ss,DailySendMessage:as},Symbol.toStringTag,{value:"Module"})),ls=async(t,e,a,{berry:s,xp:i})=>{const c=await Te(e).then(h=>h.populate("user","faction")),u=$e(c),f=ht(c,c.user.faction),{badge:b,isFactionBadge:M,title:q,rank:j,name:de,description:Ec,daily:Se,secret:Ic}=t;return a.Image().setImageName(`quest_success_${j.id}`).setDimensions(2080,636).draw(),b?a.Image().setImageName(d.progressiveBadgeTypeGuard(b)?`cropped_badge_${b.img}_${j.id}`:`cropped_badge_${b.img}`).setOrigin(C.CanvasOrigin.CENTER).setScale(2).setPosition(370,318).draw():M&&c.user.faction!=="citizen"?a.Image().setImageName(`cropped_badge_${c.user.faction}_${j.id}`).setOrigin(C.CanvasOrigin.CENTER).setScale(2).setPosition(370,318).draw():a.Image().setImageName(`badge_default_${j.id}`).setScale(2).setOrigin(C.CanvasOrigin.CENTER).setPosition(370,318).draw(),a.Text(Se?"QUÊTE JOURNALIÈRE TERMINÉE !":"SUCCÈS DÉBLOQUÉ !").setPosition(739,100).setFont("text",70).setColor(j.color).draw(),a.Text(de).setPosition(739,325).setOrigin(C.CanvasOrigin.BOTTOM_LEFT).setFont("poppins",de.length>=35?65-(de.length-35):65).draw(),a.Text(Ic?"Succès caché":Ec).setPosition(739,360).setFont("poppins_italic",35).draw(),a.Text(`Récompenses: ${p.formatNumber(s)}${Se&&u>1?` (+${p.formatNumber(s*(u-1))})`:""} `).setPosition(739,520).setFont("poppins",35).setOrigin(C.CanvasOrigin.LEFT).draw(s!==0).next((h,S)=>C.nextAllToXAxis(h.Image(),S)).setImageName("quest_berry").setDimensions(50,79).draw(s!==0).next((h,S)=>C.nextAllToXAxis(h.Text(` / ${p.formatNumber(i)}${Se&&u>1?` (+${p.formatNumber(i*(u-1))})`:""} `),S)).draw(i!==0).next((h,S)=>C.nextAllToXAxis(h.Image(),S)).setImageName("quest_xp").setDimensions(57,59).draw(i!==0).next((h,S)=>C.nextAllToXAxis(h.Text(` combo x${u}`),S)).draw(Se&&u>1).next((h,S)=>C.nextAllToXAxis(h.Text(" et la possibilité "),S)).draw(M&&c.user.faction==="citizen").next((h,S)=>C.nextAllToXAxis(h.Text("de choisir ta faction"),S)).setFont("poppins_bold",35).draw(M&&c.user.faction==="citizen").next((h,S)=>C.nextAllToXAxis(h.Text(" et le titre "),S)).setFont("poppins",35).draw(!!q||M&&c.user.faction!=="citizen").next((h,S)=>C.nextAllToXAxis(h.Text(q?.name??""),S)).setFont("poppins_bold",35).setColor(q?.rank.color??"white").draw(!!q).next((h,S)=>C.nextAllToXAxis(h.Text(f?.name??""),S)).setColor(f?.rank.color??"white").draw(M&&!!f),await a.encode("webp")},ds=10,cs=1e7,os=100,us=["berry","success_COMMON","success_RARE","success_EPIC","success_LEGENDARY","success_MYTHIC","xp"],fs={factions:{b_citizen_COMMON:"<:BasiqueOPFRbois:1175507882188484761>",b_citizen_RARE:"<:BasiqueOPFRargent:1175507880724668488>",b_citizen_EPIC:"<:BasiqueOPFRor:1175507883501289512>",b_citizen_LEGENDARY:"<:BasiqueOPFRplatine:1175507886714134548>",b_citizen_MYTHIC:"<:BasiqueOPFRultime:1175507889553670264>",b_marine_COMMON:"<:Marinebois:1175507936953512036>",b_marine_RARE:"<:Marineargent:1175508322351321178>",b_marine_EPIC:"<:Marineor:1175508300603863132>",b_marine_LEGENDARY:"<:Marineplatine:1175507940803879012>",b_marine_MYTHIC:"<:Marineultime:1175508279590395977>",b_revolutionary_COMMON:"<:RvoBois:1175507954779295810>",b_revolutionary_RARE:"<:RvoArgent:1175508199118483457>",b_revolutionary_EPIC:"<:RvoOr:1175508111885344819>",b_revolutionary_LEGENDARY:"<:RvoPlatine:1175507958378008756>",b_revolutionary_MYTHIC:"<:RvoUltime:1175508127815319612>",b_pirate_COMMON:"<:Piratebois:1175508259768115272>",b_pirate_RARE:"<:Pirateargent:1175507943987363941>",b_pirate_EPIC:"<:Pirateor:1175508240243621928>",b_pirate_LEGENDARY:"<:Pirateplatine:1175507949578358804>",b_pirate_MYTHIC:"<:Pirateultime:1175507951709061150>"}},gt=(t,e)=>t.completed.includes(e),yt=t=>{for(const e of Object.values(ce)){const a=new e;if(a.repeatable&&t===a.id)return!0}return!1},ps=t=>{for(const e of Object.values(_t)){const a=new e;if(a.id===t)return a.name}return null},bt=(t,e)=>{const a=t.daily[e];return a&&p.sameDay(a,new Date)},xe=t=>p.sameDay(p.yesterday(),t.lastFullComplete),$e=t=>xe(t)?1+Math.min(2,t.streak/10):1,wt=t=>t.completed.reduce((e,a)=>e+(a.startsWith("be_level_")?1:0),0),ht=(t,e)=>{const a=wt(t);return d.factionTitleList.find(s=>s.strength===a&&s.faction===e)},ms=Object.freeze(Object.defineProperty({__proto__:null,getFactionTitle:ht,getFactionTitleStrength:wt,getQuestName:ps,getStreakMultiplier:$e,isDailyQuestCompleted:bt,isQuestCompleted:gt,isRepetableQuestExist:yt,isStreaking:xe},Symbol.toStringTag,{value:"Module"})),gs=(t,e)=>{const a=t.badge,s=t.isFactionBadge;return a?d.progressiveBadgeTypeGuard(a)?a.emojis[a.isProgressive.findIndex(i=>i===t.rank.id)]:a.emojis:s?fs.factions[`b_${e}_${t.rank.id}`]:""},ys=t=>{const[e,a]=t.split("_"),s=Object.values(d.BadgeList).find(i=>i.id===e);if(s)return d.progressiveBadgeTypeGuard(s)?s.emojis[s.isProgressive.findIndex(i=>i===a)]:s.emojis},bs=async(t,e)=>{const a=Object.values(ke).find(s=>new s().id===t);if(a){const s=new a,i=await s.complete(e,{});i&&k("userDaily",e,[[s,i]])}},ws=async(t,e)=>{const a=Object.values(ts).find(s=>new s().id===t);if(a){const s=new a,i=await s.complete(e,{});i&&k("crewDaily",e,[[s,i]])}},hs=async(t,e)=>{if(!yt(e))return;const a=Object.values(ce).find(s=>new s().id===e);if(a){const s=new a,i=await s.complete(t,{});i&&k("userQuestUpdate",t,[[s,i]])}};class _s extends n{name="L'Insistant";id="insistent";rank=r.RANKS.COMMON;description="Être repêché et atteindre les huitièmes de finale";berry=1e6;xp=0;secret=!1;asset=null;title=null;badge=null;isFactionBadge=!1;daily=!1;crew=!1;repeatable=!0}class Ss extends n{name="Résurrection";id="resurrection";rank=r.RANKS.RARE;description="Être repêché et atteindre les quarts de finale";berry=3e6;xp=0;secret=!1;asset=null;title=null;badge=null;isFactionBadge=!1;daily=!1;crew=!1;repeatable=!0}class Bs extends n{name="Renaissance";id="rebirth";rank=r.RANKS.EPIC;description="Être repêché et atteindre au moins les demi-finales";berry=1e7;xp=0;secret=!1;asset=null;title=null;badge=null;isFactionBadge=!1;daily=!1;crew=!1;repeatable=!0}class Ms extends n{name="Phoenix";id="phoenix";rank=r.RANKS.LEGENDARY;description="Être repêché et aller en finale";berry=2e7;xp=0;secret=!1;asset=null;title=null;badge=null;isFactionBadge=!1;daily=!1;crew=!1;repeatable=!0}class Cs extends n{name="L'Immortel";id="immortal";rank=r.RANKS.MYTHIC;description="Être repêché et remporter le tournoi";berry=4e7;xp=0;secret=!1;asset=null;title=null;badge=null;isFactionBadge=!1;daily=!1;crew=!1;repeatable=!0}class Rs extends n{name="Branche Maudite";id="cursed_branch";rank=r.RANKS.RARE;description="Perdre le tournoi en top 32";berry=25e6;xp=0;secret=!1;asset=null;title=null;badge=null;isFactionBadge=!1;daily=!1;crew=!1;repeatable=!0}class Us extends n{name="Top 64";id="top64";rank=r.RANKS.COMMON;description="Perdre le tournoi en top 64";berry=15e6;xp=0;secret=!1;asset=null;title=null;badge=null;isFactionBadge=!1;daily=!1;crew=!1;repeatable=!0}class vs extends n{name="Zero Pointé";id="zeroscored";rank=r.RANKS.COMMON;description="Se faire éliminer directement avec tous ses choix dès le premier duel";berry=1e7;xp=0;secret=!1;asset=null;title=null;badge=null;isFactionBadge=!1;daily=!1;crew=!1;repeatable=!0}class As extends n{name="Chasseur de Géants";id="gianthunter";rank=r.RANKS.MYTHIC;description="Battre les 3 tap-in du tournoi avec tes choix";berry=1e8;xp=0;chest=[{chest:"chest_2",size:5}];secret=!1;asset=null;title=null;badge=null;isFactionBadge=!1;daily=!1;crew=!1;repeatable=!0}class ks extends n{name="Sabotage";id="sabotage";rank=r.RANKS.EPIC;description="Empêcher un choix de tap-in d'atteindre le top 32";berry=3e7;xp=0;secret=!1;asset=null;title=null;badge=null;isFactionBadge=!1;daily=!1;crew=!1;repeatable=!0}class xs extends n{name="Victoire par K.O";id="victorybyko";rank=r.RANKS.COMMON;description="Gagner un duel avec plus de 75% des votes";berry=5e6;xp=0;secret=!1;asset=null;title=null;badge=null;isFactionBadge=!1;daily=!1;crew=!1;repeatable=!0}class $s extends n{name="Le Sniper";id="sniper";rank=r.RANKS.RARE;description="Gagner un duel avec plus de 80% des votes";berry=1e7;xp=0;secret=!1;asset=null;title=null;badge=null;isFactionBadge=!1;daily=!1;crew=!1;repeatable=!0}class Ns extends n{name="Massacre";id="massacre";rank=r.RANKS.EPIC;description="Gagner un duel avec plus de 90% des votes";berry=25e6;xp=0;secret=!1;asset=null;title=null;badge=null;isFactionBadge=!1;daily=!1;crew=!1;repeatable=!0}class Os extends n{name="Annihilation";id="annihilation";rank=r.RANKS.MYTHIC;description="Gagner un duel avec 100% des votes (aucun vote pour l'adversaire)";berry=1e8;xp=0;chest=[{chest:"chest_1",size:5}];secret=!1;asset=null;title=null;badge=null;isFactionBadge=!1;daily=!1;crew=!1;repeatable=!0}class Es extends n{name="Troll Suprême";id="trollSupreme";rank=r.RANKS.MYTHIC;description="Prendre un choix totalement troll et improbable, puis gagner le tournoi avec !";berry=1e8;xp=0;chest=[{chest:"chest_3",size:1}];secret=!1;asset=null;title=null;badge=null;isFactionBadge=!1;daily=!1;crew=!1;repeatable=!0}class Is extends n{name="Champion";id="champion";rank=r.RANKS.RARE;description="Remporter un tournoi";berry=0;xp=0;chest=[{chest:"chest_2",size:5}];secret=!1;asset=null;title=null;badge=null;isFactionBadge=!1;daily=!1;crew=!1;repeatable=!0}class Ds extends n{name="Le Maître";id="master";rank=r.RANKS.RARE;description="Remporter un tournoi avec trois choix différents dans le top 16";berry=0;xp=0;chest=[{chest:"chest_3",size:1}];secret=!1;asset=null;title=null;badge=null;isFactionBadge=!1;daily=!1;crew=!1;repeatable=!0}class Fs extends n{name="L'Inarrétable";id="unstoppable";rank=r.RANKS.EPIC;description="Remporter un tournoi avec une finale écrasante";berry=0;xp=0;chest=[{chest:"chest_1",size:5},{chest:"chest_2",size:3}];secret=!1;asset=null;title=null;badge=null;isFactionBadge=!1;daily=!1;crew=!1;repeatable=!0}class Qs extends n{name="L'Etoile Filante";id="shootingstar";rank=r.RANKS.LEGENDARY;description="Passer du statut d'outsider à finaliste";berry=5e7;xp=0;secret=!1;asset=null;title=null;badge=null;isFactionBadge=!1;daily=!1;crew=!1;repeatable=!0}class qs extends n{name="EZ";id="ez";rank=r.RANKS.EPIC;description="Débloquer tous les succès Victoire sans difficulté";berry=0;xp=0;chest=[{chest:"chest_3",size:1}];secret=!1;asset=null;title=null;badge=null;isFactionBadge=!1;daily=!1;crew=!1;repeatable=!0}class Ps extends n{name="Participation";id="participation";rank=r.RANKS.COMMON;description="Participer au tournoi avec 1, 2, 3 et 4 choix";berry=1e7;xp=0;secret=!1;asset=null;title=null;badge=null;isFactionBadge=!1;daily=!1;crew=!1;repeatable=!0}class Ls extends n{name="Prenez-en soin";id="crew_carpenter_1_week";rank=r.RANKS.COMMON;description="Rester au dessus de 80% de détérioration pendant 1 semaine";berry=5e4;xp=5e3;crew=!0;secret=!0;badge=d.BadgeList.carpenter;asset=null;title=null;isFactionBadge=!1;daily=!1;onCrewQuestUpdate=e=>e.meta.streak80Percent>=7}class Ks extends n{name="Il est comme neuf !";id="crew_carpenter_1_month";rank=r.RANKS.RARE;description="Rester au dessus de 80% de détérioration pendant 1 mois";berry=2e5;xp=25e3;crew=!0;secret=!0;badge=d.BadgeList.carpenter;asset=null;title=null;isFactionBadge=!1;daily=!1;onCrewQuestUpdate=e=>e.meta.streak80Percent>=30}class js extends n{name="À l'occasion, je vous mettrai un petit coup de polish";id="crew_carpenter_3_months";rank=r.RANKS.EPIC;description="Rester au dessus de 80% de détérioration pendant 3 mois";berry=1e6;xp=5e4;crew=!0;secret=!0;badge=d.BadgeList.carpenter;asset=null;title=null;isFactionBadge=!1;daily=!1;onCrewQuestUpdate=e=>e.meta.streak80Percent>=90}class Hs extends n{name="Vous ne naviguez qu'en eau calme ?";id="crew_carpenter_6_months";rank=r.RANKS.LEGENDARY;description="Rester au dessus de 80% de détérioration pendant 6 mois";berry=1e7;xp=1e5;crew=!0;secret=!0;badge=d.BadgeList.carpenter;asset=null;title=null;isFactionBadge=!1;daily=!1;onCrewQuestUpdate=e=>e.meta.streak80Percent>=180}class Gs extends n{name="C'est un sacré charpentier que vous avez là !";id="crew_carpenter_1_year";rank=r.RANKS.MYTHIC;description="Rester au dessus de 80% de détérioration pendant 1 an";berry=5e7;xp=25e4;crew=!0;secret=!0;asset=null;title=d.questTitles["Charpentier Légendaire"];badge=d.BadgeList.carpenter;isFactionBadge=!1;daily=!1;onCrewQuestUpdate=e=>e.meta.streak80Percent>=365}class Ts extends n{name="Au rapport !";id="crew_all_members_daily";rank=r.RANKS.RARE;description="Tous les membres ont rempli leurs quêtes quotidiennes";berry=5e4;xp=5e3;crew=!0;daily=!0;secret=!1;asset=null;title=null;badge=null;isFactionBadge=!1;onCrewQuestUpdate=(e,a)=>pa(e,"daily_all")&&!p.sameDay(e.daily?.[a.user._id.toHexString()]?.crew_all_members_daily??new Date(0),new Date)&&!p.sameDay(a.lastAllMembersDaily,new Date)}class Vs extends n{name="Réunion de crise";id="crew_vocal_5";rank=r.RANKS.COMMON;description="Être dans un un vocal avec les 5 membres pendant 1 heure";berry=5e4;xp=5e3;crew=!0;badge=d.BadgeList.shipsecte;asset=null;title=null;isFactionBadge=!1;secret=!1;daily=!1;onCrewQuestUpdate=e=>e.meta.maxVoiceMembers>=5}class Ys extends n{name="Conseil de guerre";id="crew_vocal_7";rank=r.RANKS.RARE;description="Être dans un un vocal avec les 7 membres pendant 1 heure";berry=2e5;xp=25e3;crew=!0;badge=d.BadgeList.shipsecte;asset=null;title=null;isFactionBadge=!1;secret=!1;daily=!1;onCrewQuestUpdate=e=>e.meta.maxVoiceMembers>=7}class zs extends n{name="Réunion de famille";id="crew_vocal_10";rank=r.RANKS.EPIC;description="Être dans un un vocal avec les 10 membres pendant 1 heure";berry=1e6;xp=5e4;crew=!0;badge=d.BadgeList.shipsecte;asset=null;title=null;isFactionBadge=!1;secret=!1;daily=!1;onCrewQuestUpdate=e=>e.meta.maxVoiceMembers>=10}class Ws extends n{name="Les Inséparables";id="crew_vocal_12";rank=r.RANKS.LEGENDARY;description="Être dans un un vocal avec les 12 membres pendant 1 heure";berry=1e7;xp=1e5;crew=!0;badge=d.BadgeList.shipsecte;asset=null;title=null;isFactionBadge=!1;secret=!1;daily=!1;onCrewQuestUpdate=e=>e.meta.maxVoiceMembers>=12}class Xs extends n{name="Ambiance sectaire un peu";id="crew_vocal_15";rank=r.RANKS.MYTHIC;description="Être dans un un vocal avec les 15 membres pendant 1 heure";berry=5e7;xp=25e4;crew=!0;asset=null;title=d.questTitles["Membre d'une secte"];badge=d.BadgeList.shipsecte;isFactionBadge=!1;secret=!1;daily=!1;onCrewQuestUpdate=e=>e.meta.maxVoiceMembers>=15}const Ne=Object.freeze(Object.defineProperty({__proto__:null,CrewAllMembersDaily:Ts,CrewCarpenter1Month:Ks,CrewCarpenter1Week:Ls,CrewCarpenter1Year:Gs,CrewCarpenter3Months:js,CrewCarpenter6Months:Hs,CrewVocal10:zs,CrewVocal12:Ws,CrewVocal15:Xs,CrewVocal5:Vs,CrewVocal7:Ys},Symbol.toStringTag,{value:"Module"}));class Js extends n{name="Ah bah maintenant, elle va marcher beaucoup moins bien forcément !";id="crew_break_ship";rank=r.RANKS.LEGENDARY;description="Casser son bateau (atteindre les 0% de détérioration)";berry=-1e6;xp=-1e5;crew=!0;secret=!0;badge=null;asset=null;title=null;isFactionBadge=!1;daily=!1;onCrewUpdate=e=>e.disintegration<=0}class Zs extends n{name="Sympa votre barque";id="crew_ship_level_10";rank=r.RANKS.COMMON;description="Atteindre le niveau 10 d'équipage";berry=5e4;xp=5e3;crew=!0;badge=d.BadgeList.crewship;asset=null;title=null;isFactionBadge=!1;secret=!1;daily=!1;onCrewUpdate=e=>r.getCurrentCrewLevel(e.meta.xp)>=10}class er extends n{name="Joli bicoque";id="crew_ship_level_25";rank=r.RANKS.RARE;description="Atteindre le niveau 25 d'équipage";berry=2e5;xp=25e3;crew=!0;badge=d.BadgeList.crewship;asset=null;title=null;isFactionBadge=!1;secret=!1;daily=!1;onCrewUpdate=e=>r.getCurrentCrewLevel(e.meta.xp)>=25}class tr extends n{name="* C'est un fameux trois-mâts *";id="crew_ship_level_50";rank=r.RANKS.EPIC;description="Atteindre le niveau 50 d'équipage";berry=1e6;xp=5e4;crew=!0;badge=d.BadgeList.crewship;asset=null;title=null;isFactionBadge=!1;secret=!1;daily=!1;onCrewUpdate=e=>r.getCurrentCrewLevel(e.meta.xp)>=50}class ar extends n{name="* Fin comme un oiseau *";id="crew_ship_level_75";rank=r.RANKS.LEGENDARY;description="Atteindre le niveau 75 d'équipage";berry=1e7;xp=1e5;crew=!0;badge=d.BadgeList.crewship;asset=null;title=null;isFactionBadge=!1;secret=!1;daily=!1;onCrewUpdate=e=>r.getCurrentCrewLevel(e.meta.xp)>=75}class sr extends n{name="* Hisse et ho ! *";id="crew_ship_level_100";rank=r.RANKS.MYTHIC;description="Atteindre le niveau 100 d'équipage";berry=5e7;xp=25e4;crew=!0;asset=null;title=d.questTitles.Santiano;badge=d.BadgeList.crewship;isFactionBadge=!1;secret=!1;daily=!1;onCrewUpdate=e=>r.getCurrentCrewLevel(e.meta.xp)>=100}class rr extends n{name="Y'a pas de petites économies";id="crew_have_100M_berry";rank=r.RANKS.COMMON;description="Avoir 100 000 000 Berrys dans le coffre d'équipage";berry=5e4;xp=5e3;crew=!0;badge=d.BadgeList.communism;asset=null;title=null;isFactionBadge=!1;secret=!1;daily=!1;onCrewUpdate=e=>e.meta.berry>=1e8}class nr extends n{name="Joli butin !";id="crew_have_500M_berry";rank=r.RANKS.RARE;description="Avoir 500 000 000 Berrys dans le coffre d'équipage";berry=2e5;xp=25e3;crew=!0;badge=d.BadgeList.communism;asset=null;title=null;isFactionBadge=!1;secret=!1;daily=!1;onCrewUpdate=e=>e.meta.berry>=5e8}class ir extends n{name="Vous économisez pour un nouveau bateau ?";id="crew_have_1Md_berry";rank=r.RANKS.EPIC;description="Avoir 1 000 000 000 Berrys dans le coffre d'équipage";berry=1e6;xp=5e4;crew=!0;badge=d.BadgeList.communism;asset=null;title=null;isFactionBadge=!1;secret=!1;daily=!1;onCrewUpdate=e=>e.meta.berry>=1e9}class lr extends n{name="Ça fait beaucoup là non ?";id="crew_have_5Md_berry";rank=r.RANKS.LEGENDARY;description="Avoir 5 000 000 000 Berrys dans le coffre d'équipage";berry=1e7;xp=1e5;crew=!0;badge=d.BadgeList.communism;asset=null;title=null;isFactionBadge=!1;secret=!1;daily=!1;onCrewUpdate=e=>e.meta.berry>=5e9}class dr extends n{name="Karl Marx serait fier de vous !";id="crew_have_50Md_berry";rank=r.RANKS.MYTHIC;description="Avoir 50 000 000 000 Berrys dans le coffre d'équipage";berry=5e7;xp=25e4;crew=!0;asset=null;title=d.questTitles.Communiste;badge=d.BadgeList.communism;isFactionBadge=!1;secret=!1;daily=!1;onCrewUpdate=e=>e.meta.berry>=5e10}class cr extends n{name="Plus on est de fous...";id="crew_size_5";rank=r.RANKS.COMMON;description="Être dans un équipage de 5 membres";berry=5e4;xp=5e3;crew=!0;badge=d.BadgeList.sardine;asset=null;title=null;isFactionBadge=!1;secret=!1;daily=!1;onCrewUpdate=e=>e.members.length>=5}class or extends n{name="Plus on rit !";id="crew_size_7";rank=r.RANKS.RARE;description="Être dans un équipage de 7 membres";berry=2e5;xp=25e3;crew=!0;badge=d.BadgeList.sardine;asset=null;title=null;isFactionBadge=!1;secret=!1;daily=!1;onCrewUpdate=e=>e.members.length>=7}class ur extends n{name="Une petite famille";id="crew_size_10";rank=r.RANKS.EPIC;description="Être dans un équipage de 10 membres";berry=1e6;xp=5e4;crew=!0;badge=d.BadgeList.sardine;asset=null;title=null;isFactionBadge=!1;secret=!1;daily=!1;onCrewUpdate=e=>e.members.length>=10}class fr extends n{name="Va falloir des dortoirs en plus";id="crew_size_12";rank=r.RANKS.LEGENDARY;description="Être dans un équipage de 12 membres";berry=1e7;xp=1e5;crew=!0;badge=d.BadgeList.sardine;asset=null;title=null;isFactionBadge=!1;secret=!1;daily=!1;onCrewUpdate=e=>e.members.length>=12}class pr extends n{name="* Ah qu'est-ce qu'on est serré ! *";id="crew_size_15";rank=r.RANKS.MYTHIC;description="Être dans un équipage de 15 membres";berry=5e7;xp=25e4;crew=!0;asset=null;title=d.questTitles.Sardine;badge=d.BadgeList.sardine;isFactionBadge=!1;secret=!1;daily=!1;onCrewUpdate=e=>e.members.length>=15}class mr extends n{name="C'est sympa pour eux !";id="crew_bring_50k_xp";rank=r.RANKS.COMMON;description="Rapporter 50 000 XP à l'équipage";berry=5e4;xp=5e3;badge=d.BadgeList.broship;asset=null;title=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onCrewUpdate=(e,a)=>e.stats[a.toHexString()]&&e.stats[a.toHexString()].xp>=5e4}class gr extends n{name="On voit que tu aimes ton équipage";id="crew_bring_500k_xp";rank=r.RANKS.RARE;description="Rapporter 500 000 XP à l'équipage";berry=2e5;xp=25e3;badge=d.BadgeList.broship;asset=null;title=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onCrewUpdate=(e,a)=>e.stats[a.toHexString()]&&e.stats[a.toHexString()].xp>=5e5}class yr extends n{name="Le méritent-ils vraiment ?";id="crew_bring_1m_xp";rank=r.RANKS.EPIC;description="Rapporter 1 000 000 XP à l'équipage";berry=1e6;xp=5e4;badge=d.BadgeList.broship;asset=null;title=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onCrewUpdate=(e,a)=>e.stats[a.toHexString()]&&e.stats[a.toHexString()].xp>=1e6}class br extends n{name="J'espère que t'as eu une prime";id="crew_bring_5m_xp";rank=r.RANKS.LEGENDARY;description="Rapporter 5 000 000 XP à l'équipage";berry=1e7;xp=1e5;badge=d.BadgeList.broship;asset=null;title=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onCrewUpdate=(e,a)=>e.stats[a.toHexString()]&&e.stats[a.toHexString()].xp>=5e6}class wr extends n{name="Qu'on lui fasse une statue de Bronze !";id="crew_bring_50m_xp";rank=r.RANKS.MYTHIC;description="Rapporter 50 000 000 XP à l'équipage";berry=5e7;xp=25e4;asset=null;title=d.questTitles["Team Player"];badge=d.BadgeList.broship;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onCrewUpdate=(e,a)=>e.stats[a.toHexString()]&&e.stats[a.toHexString()].xp>=5e7}const Oe=Object.freeze(Object.defineProperty({__proto__:null,CrewBeLevel10:Zs,CrewBeLevel100:sr,CrewBeLevel25:er,CrewBeLevel50:tr,CrewBeLevel75:ar,CrewBreakShip:Js,CrewBring1mXp:yr,CrewBring500kXp:gr,CrewBring50kXp:mr,CrewBring50mXp:wr,CrewBring5mXp:br,CrewHave100MBerry:rr,CrewHave1MdBerry:ir,CrewHave500MBerry:nr,CrewHave50MdBerry:dr,CrewHave5MdBerry:lr,CrewSize10:ur,CrewSize12:fr,CrewSize15:pr,CrewSize5:cr,CrewSize7:or},Symbol.toStringTag,{value:"Module"}));class hr extends n{name="Ne fais rien exploser hein ?";id="have_1_recipe";rank=r.RANKS.COMMON;description="Avoir 1 recette";berry=5e4;xp=5e3;asset=null;title=null;badge=d.BadgeList.recipe;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserInventoryUpdate=e=>e.recipes.length>=1}class _r extends n{name="C'est bien tu sais faire des pâtes !";id="have_5_recipe";rank=r.RANKS.RARE;description="Avoir 5 recettes";berry=2e5;xp=25e3;asset=null;title=null;badge=d.BadgeList.recipe;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserInventoryUpdate=e=>e.recipes.length>=5}class Sr extends n{name="Ta grand-mère t'as donné son livre ?";id="have_10_recipe";rank=r.RANKS.EPIC;description="Avoir 10 recettes";berry=1e6;xp=5e4;asset=null;title=null;badge=d.BadgeList.recipe;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserInventoryUpdate=e=>e.recipes.length>=10}class Br extends n{name="Let him cook";id="have_25_recipe";rank=r.RANKS.LEGENDARY;description="Avoir 25 recettes";berry=1e6;xp=1e5;asset=null;title=null;badge=d.BadgeList.recipe;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserInventoryUpdate=e=>e.recipes.length>=25}class Mr extends n{name="Paul Bocuse";id="have_100_recipe";rank=r.RANKS.MYTHIC;description="Avoir 100 recettes";berry=5e7;xp=25e4;asset=null;title=d.questTitles["Paul Bocuse"];badge=d.BadgeList.recipe;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserInventoryUpdate=e=>e.recipes.length>=100}const Ee=Object.freeze(Object.defineProperty({__proto__:null,Have100Recipe:Mr,Have10Recipe:Sr,Have1Recipe:hr,Have25Recipe:Br,Have5Recipe:_r},Symbol.toStringTag,{value:"Module"}));class Cr extends n{name="Enfin de quoi t'acheter un bon vélo !";id="have_500000_berry";rank=r.RANKS.COMMON;description="Avoir 500 000 Berrys";berry=1e5;xp=5e3;badge=d.BadgeList.berry;asset=null;title=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserMetaUpdate=e=>e.berry>=5e5}class Rr extends n{name="Ouah t'es multi-millionaire !";id="have_5000000_berry";rank=r.RANKS.RARE;description="Avoir 5 000 000 Berrys";berry=1e6;xp=25e3;badge=d.BadgeList.berry;asset=null;title=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserMetaUpdate=e=>e.berry>=5e6}class Ur extends n{name="Presque riche";id="have_50000000_berry";rank=r.RANKS.EPIC;description="Avoir 50 000 000 Berrys";berry=1e7;xp=5e4;badge=d.BadgeList.berry;asset=null;title=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserMetaUpdate=e=>e.berry>=5e7}class vr extends n{name="Un 20m² à Paris";id="have_500000000_berry";rank=r.RANKS.LEGENDARY;description="Avoir 500 000 000 Berrys";berry=1e8;xp=1e5;badge=d.BadgeList.berry;asset=null;title=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserMetaUpdate=e=>e.berry>=5e8}class Ar extends n{name="This is Elon Musk";id="have_5000000000_berry";rank=r.RANKS.MYTHIC;description="Avoir 5 000 000 000 Berrys";berry=1e9;xp=25e4;asset=null;title=d.questTitles["Elon Musk"];badge=d.BadgeList.berry;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserMetaUpdate=e=>e.berry>=5e9}class kr extends n{name="5 jours / semaine à Basic Fit";id="have_25_strength";rank=r.RANKS.COMMON;description="Avoir 25 de force";berry=5e4;xp=5e3;badge=null;asset=null;title=null;isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserMetaUpdate=e=>y.getComputedCharacteristicValue(e.characteristics.strength)>=25}class xr extends n{name="La fonte > les livres";id="have_50_strength";rank=r.RANKS.RARE;description="Avoir 50 de force";berry=2e5;xp=25e3;badge=null;asset=null;title=null;isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserMetaUpdate=e=>y.getComputedCharacteristicValue(e.characteristics.strength)>=50}class $r extends n{name="Moi, musclé ?";id="have_100_strength";rank=r.RANKS.EPIC;description="Avoir 100 de force";berry=1e6;xp=5e4;badge=null;asset=null;title=null;isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserMetaUpdate=e=>y.getComputedCharacteristicValue(e.characteristics.strength)>=100}class Nr extends n{name="Hercules";id="have_250_strength";rank=r.RANKS.LEGENDARY;description="Avoir 250 de force";berry=1e7;xp=1e5;badge=null;asset=null;title=null;isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserMetaUpdate=e=>y.getComputedCharacteristicValue(e.characteristics.strength)>=250}class Or extends n{name="Titan";id="have_500_strength";rank=r.RANKS.MYTHIC;description="Avoir 500 de force";berry=5e7;xp=25e4;badge=null;asset=null;title=d.questTitles.Titan;isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserMetaUpdate=e=>y.getComputedCharacteristicValue(e.characteristics.strength)>=500}class Er extends n{name="Chat de gouttière";id="have_25_agility";rank=r.RANKS.COMMON;description="Avoir 25 d'agilité";berry=5e4;xp=5e3;badge=null;asset=null;title=null;isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserMetaUpdate=e=>y.getComputedCharacteristicValue(e.characteristics.agility)>=25}class Ir extends n{name="Hop ! Grand écart !";id="have_50_agility";rank=r.RANKS.RARE;description="Avoir 50 d'agilité";berry=2e5;xp=25e3;badge=null;asset=null;title=null;isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserMetaUpdate=e=>y.getComputedCharacteristicValue(e.characteristics.agility)>=50}class Dr extends n{name="Danseur étoile";id="have_100_agility";rank=r.RANKS.EPIC;description="Avoir 100 d'agilité";berry=1e6;xp=5e4;badge=null;asset=null;title=null;isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserMetaUpdate=e=>y.getComputedCharacteristicValue(e.characteristics.agility)>=100}class Fr extends n{name="L'Éclair de Konoha ! (merde mauvais manga)";id="have_250_agility";rank=r.RANKS.LEGENDARY;description="Avoir 250 d'agilité";berry=1e7;xp=1e5;badge=null;asset=null;title=null;isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserMetaUpdate=e=>y.getComputedCharacteristicValue(e.characteristics.agility)>=250}class Qr extends n{name="Héritier de Bon Clay";id="have_500_agility";rank=r.RANKS.MYTHIC;description="Avoir 500 d'agilité";berry=5e7;xp=25e4;badge=null;asset=null;title=d.questTitles["Héritier de Bon Clay"];isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserMetaUpdate=e=>y.getComputedCharacteristicValue(e.characteristics.agility)>=500}class qr extends n{name="2+2 = 4";id="have_25_intelligence";rank=r.RANKS.COMMON;description="Avoir 25 d'intelligence";berry=5e4;xp=5e3;badge=null;asset=null;title=null;isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserMetaUpdate=e=>y.getComputedCharacteristicValue(e.characteristics.intelligence)>=25}class Pr extends n{name="Petit Einstein";id="have_50_intelligence";rank=r.RANKS.RARE;description="Avoir 50 d'intelligence";berry=2e5;xp=25e3;badge=null;asset=null;title=null;isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserMetaUpdate=e=>y.getComputedCharacteristicValue(e.characteristics.intelligence)>=50}class Lr extends n{name="HPI";id="have_100_intelligence";rank=r.RANKS.EPIC;description="Avoir 100 d'intelligence";berry=1e6;xp=5e4;badge=null;asset=null;title=null;isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserMetaUpdate=e=>y.getComputedCharacteristicValue(e.characteristics.intelligence)>=100}class Kr extends n{name="Sorcier du savoir";id="have_250_intelligence";rank=r.RANKS.LEGENDARY;description="Avoir 250 d'intelligence";berry=1e7;xp=1e5;badge=null;asset=null;title=null;isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserMetaUpdate=e=>y.getComputedCharacteristicValue(e.characteristics.intelligence)>=250}class jr extends n{name="Héritier de Vegapunk";id="have_500_intelligence";rank=r.RANKS.MYTHIC;description="Avoir 500 d'intelligence";berry=5e7;xp=25e4;badge=null;asset=null;title=d.questTitles["Héritier de Vegapunk"];isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserMetaUpdate=e=>y.getComputedCharacteristicValue(e.characteristics.intelligence)>=500}class Hr extends n{name="Touche du bois";id="have_25_chance";rank=r.RANKS.COMMON;description="Avoir 25 de chance";berry=5e4;xp=5e3;badge=null;asset=null;title=null;isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserMetaUpdate=e=>y.getComputedCharacteristicValue(e.characteristics.chance)>=25}class Gr extends n{name="Petit veinard";id="have_50_chance";rank=r.RANKS.RARE;description="Avoir 50 de chance";berry=2e5;xp=25e3;badge=null;asset=null;title=null;isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserMetaUpdate=e=>y.getComputedCharacteristicValue(e.characteristics.chance)>=50}class Tr extends n{name="LA CHAAAAAATTE !";id="have_100_chance";rank=r.RANKS.EPIC;description="Avoir 100 de chance";berry=1e6;xp=5e4;badge=null;asset=null;title=null;isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserMetaUpdate=e=>y.getComputedCharacteristicValue(e.characteristics.chance)>=100}class Vr extends n{name="Favori des Astres";id="have_250_chance";rank=r.RANKS.LEGENDARY;description="Avoir 250 de chance";berry=1e7;xp=1e5;badge=null;asset=null;title=null;isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserMetaUpdate=e=>y.getComputedCharacteristicValue(e.characteristics.chance)>=250}class Yr extends n{name="Héritier de Baggy";id="have_500_chance";rank=r.RANKS.MYTHIC;description="Avoir 500 de chance";berry=5e7;xp=25e4;badge=null;asset=null;title=d.questTitles["Héritier de Baggy"];isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserMetaUpdate=e=>y.getComputedCharacteristicValue(e.characteristics.chance)>=500}class zr extends n{name="Résistant";id="have_25_vitality";rank=r.RANKS.COMMON;description="Avoir 25 de vitalité";berry=5e4;xp=5e3;badge=null;asset=null;title=null;isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserMetaUpdate=e=>y.getComputedCharacteristicValue(e.characteristics.vitality)>=25}class Wr extends n{name="Solide comme un roc";id="have_50_vitality";rank=r.RANKS.RARE;description="Avoir 50 de vitalité";berry=2e5;xp=25e3;badge=null;asset=null;title=null;isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserMetaUpdate=e=>y.getComputedCharacteristicValue(e.characteristics.vitality)>=50}class Xr extends n{name="Le tank !";id="have_100_vitality";rank=r.RANKS.EPIC;description="Avoir 100 de vitalité";berry=1e6;xp=5e4;badge=null;asset=null;title=null;isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserMetaUpdate=e=>y.getComputedCharacteristicValue(e.characteristics.vitality)>=100}class Jr extends n{name="Mais t'es increvable !";id="have_250_vitality";rank=r.RANKS.LEGENDARY;description="Avoir 250 de vitalité";berry=1e7;xp=1e5;badge=null;asset=null;title=null;isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserMetaUpdate=e=>y.getComputedCharacteristicValue(e.characteristics.vitality)>=250}class Zr extends n{name="Héritier de Kaido";id="have_500_vitality";rank=r.RANKS.MYTHIC;description="Avoir 500 de vitalité";berry=5e7;xp=25e4;badge=null;asset=null;title=d.questTitles["Héritier de Kaido"];isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserMetaUpdate=e=>y.getComputedCharacteristicValue(e.characteristics.vitality)>=500}class en extends n{name="Tu as lu des livres ?";id="have_25_wisdom";rank=r.RANKS.COMMON;description="Avoir 25 de sagesse";berry=5e4;xp=5e3;badge=null;asset=null;title=null;isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserMetaUpdate=e=>y.getComputedCharacteristicValue(e.characteristics.wisdom)>=25}class tn extends n{name="Filozof";id="have_50_wisdom";rank=r.RANKS.RARE;description="Avoir 50 de sagesse";berry=2e5;xp=25e3;badge=null;asset=null;title=null;isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserMetaUpdate=e=>y.getComputedCharacteristicValue(e.characteristics.wisdom)>=50}class an extends n{name="Platon";id="have_100_wisdom";rank=r.RANKS.EPIC;description="Avoir 100 de sagesse";berry=1e6;xp=5e4;badge=null;asset=null;title=null;isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserMetaUpdate=e=>y.getComputedCharacteristicValue(e.characteristics.wisdom)>=100}class sn extends n{name="Oracle vénéré";id="have_250_wisdom";rank=r.RANKS.LEGENDARY;description="Avoir 250 de sagesse";berry=1e7;xp=1e5;badge=null;asset=null;title=null;isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserMetaUpdate=e=>y.getComputedCharacteristicValue(e.characteristics.wisdom)>=250}class rn extends n{name="Héritier d'Ohara";id="have_500_wisdom";rank=r.RANKS.MYTHIC;description="Avoir 500 de sagesse";berry=5e7;xp=25e4;badge=null;asset=null;title=d.questTitles["Héritier d'Ohara"];isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserMetaUpdate=e=>y.getComputedCharacteristicValue(e.characteristics.wisdom)>=500}class nn extends n{name="Un pas devant l'autre !";id="be_level_10";rank=r.RANKS.COMMON;description="Atteindre le niveau 10";berry=1e5;xp=0;secret=!1;crew=!1;daily=!1;asset=null;title=null;badge=null;isFactionBadge=!0;onUserMetaUpdate=({xp:e})=>r.getCurrentLevel(e.amount)>=10}class ln extends n{name="T'inquiète pas ça va bien se passer";id="be_level_20";rank=r.RANKS.COMMON;description="Atteindre le niveau 20";berry=3e5;xp=0;secret=!1;crew=!1;daily=!1;asset=null;title=null;badge=null;isFactionBadge=!0;onUserMetaUpdate=({xp:e})=>r.getCurrentLevel(e.amount)>=20}class dn extends n{name="Commence par me parler poliment";id="be_level_30";rank=r.RANKS.RARE;description="Atteindre le niveau 30";berry=1e6;xp=0;secret=!1;crew=!1;daily=!1;asset=null;title=null;badge=null;isFactionBadge=!0;onUserMetaUpdate=({xp:e})=>r.getCurrentLevel(e.amount)>=30}class cn extends n{name="On te respecte à la cantine";id="be_level_40";rank=r.RANKS.RARE;description="Atteindre le niveau 40";berry=3e6;xp=0;secret=!1;crew=!1;daily=!1;asset=null;title=null;badge=null;isFactionBadge=!0;onUserMetaUpdate=({xp:e})=>r.getCurrentLevel(e.amount)>=40}class on extends n{name="Ça commence à devenir sérieux";id="be_level_50";rank=r.RANKS.EPIC;description="Atteindre le niveau 50";berry=5e6;xp=0;secret=!1;crew=!1;daily=!1;asset=null;title=null;badge=null;isFactionBadge=!0;onUserMetaUpdate=({xp:e})=>r.getCurrentLevel(e.amount)>=50}class un extends n{name="Une chambre individuelle ? La chance !";id="be_level_60";rank=r.RANKS.EPIC;description="Atteindre le niveau 60";berry=1e7;xp=0;secret=!1;crew=!1;daily=!1;asset=null;title=null;badge=null;isFactionBadge=!0;onUserMetaUpdate=({xp:e})=>r.getCurrentLevel(e.amount)>=60}class fn extends n{name="Oulah, les responsabilités arrivent";id="be_level_70";rank=r.RANKS.LEGENDARY;description="Atteindre le niveau 70";berry=5e7;xp=0;secret=!1;crew=!1;daily=!1;asset=null;title=null;badge=null;isFactionBadge=!0;onUserMetaUpdate=({xp:e})=>r.getCurrentLevel(e.amount)>=70}class pn extends n{name="Faut pas t'emmerder toi";id="be_level_80";rank=r.RANKS.LEGENDARY;description="Atteindre le niveau 80";berry=5e7;xp=0;secret=!1;crew=!1;daily=!1;asset=null;title=null;badge=null;isFactionBadge=!0;onUserMetaUpdate=({xp:e})=>r.getCurrentLevel(e.amount)>=80}class mn extends n{name="Là on parle !";id="be_level_90";rank=r.RANKS.MYTHIC;description="Atteindre le niveau 90";berry=1e8;xp=0;secret=!1;crew=!1;daily=!1;asset=null;title=null;badge=null;isFactionBadge=!0;onUserMetaUpdate=({xp:e})=>r.getCurrentLevel(e.amount)>=90}class gn extends n{name="*S'agenouille*";id="be_level_120";rank=r.RANKS.MYTHIC;description="Atteindre le niveau 120";berry=1e9;xp=0;secret=!1;crew=!1;daily=!1;asset=null;title=null;badge=null;isFactionBadge=!0;onUserMetaUpdate=({xp:e})=>r.getCurrentLevel(e.amount)>=120}class yn extends n{name="T'as des amis ?";id="daily_vocal";rank=r.RANKS.COMMON;description="Se connecter 10 min en vocal";berry=({xp:e})=>(r.getCurrentLevel(e.amount)/10+1)*5e3;xp=({xp:e})=>(r.getCurrentLevel(e.amount)/10+1)*500;daily=!0;secret=!1;crew=!1;isFactionBadge=!1;badge=null;asset=null;title=null;onUserMetaUpdate=({xp:e})=>e.voice.minutesInVoiceToday>=10&&p.sameDay(e.voice.lastConnection,new Date)}class bn extends n{name="Merci <3";id="premium";rank=r.RANKS.MYTHIC;description="Faire un don (validation manuelle)";berry=1;xp=0;isFactionBadge=!1;asset=null;badge=d.BadgeList.premium;title=d.questTitles.Mécène;daily=!1;crew=!1;secret=!1;onUserMetaUpdate=e=>!!e.premium}const Ie=Object.freeze(Object.defineProperty({__proto__:null,BeLevel10:nn,BeLevel120:gn,BeLevel20:ln,BeLevel30:dn,BeLevel40:cn,BeLevel50:on,BeLevel60:un,BeLevel70:fn,BeLevel80:pn,BeLevel90:mn,DailyVocal:yn,Have100Agility:Dr,Have100Chance:Tr,Have100Intelligence:Lr,Have100Strength:$r,Have100Vitality:Xr,Have100Wisdom:an,Have250Agility:Fr,Have250Chance:Vr,Have250Intelligence:Kr,Have250Strength:Nr,Have250Vitality:Jr,Have250Wisdom:sn,Have25Agility:Er,Have25Chance:Hr,Have25Intelligence:qr,Have25Strength:kr,Have25Vitality:zr,Have25Wisdom:en,Have500Agility:Qr,Have500Chance:Yr,Have500Intelligence:jr,Have500Strength:Or,Have500Vitality:Zr,Have500Wisdom:rn,Have500kBerry:Cr,Have500mBerry:vr,Have50Agility:Ir,Have50Chance:Gr,Have50Intelligence:Pr,Have50Strength:xr,Have50Vitality:Wr,Have50Wisdom:tn,Have50mBerry:Ur,Have5mBerry:Rr,Have5mdBerry:Ar,Premium:bn},Symbol.toStringTag,{value:"Module"}));class wn extends n{name="Un poster dans ta chambre";id="have_1_background";rank=r.RANKS.EPIC;description="Avoir 1 background";berry=1e6;xp=5e4;asset=null;title=null;badge=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserOrnamentsUpdate=e=>e.unlockedBackgrounds.filter(a=>a!=="default").length>=1}class hn extends n{name="Fan de One Piece";id="have_25_background";rank=r.RANKS.LEGENDARY;description="Avoir 25 backgrounds différents";berry=5e6;xp=1e5;asset=null;title=null;badge=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserOrnamentsUpdate=e=>e.unlockedBackgrounds.filter(a=>a!=="default").length>=25}class _n extends n{name="Tu vas en faire quoi ? Tu peux en mettre qu'un";id="have_50_background";rank=r.RANKS.MYTHIC;description="Avoir 50 backgrounds différents";berry=5e7;xp=25e4;asset=null;title=null;badge=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserOrnamentsUpdate=e=>e.unlockedBackgrounds.filter(a=>a!=="default").length>=50}class Sn extends n{name="PTDR t ki ?";id="have_10_title";rank=r.RANKS.EPIC;description="Avoir 10 titres différents";berry=1e6;xp=5e4;asset=null;title=null;badge=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserOrnamentsUpdate=e=>e.unlockedTitles.length>=10}class Bn extends n{name="On m'appelle Personne";id="have_50_title";rank=r.RANKS.LEGENDARY;description="Avoir 50 titres différents";berry=5e6;xp=1e5;asset=null;title=null;badge=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserOrnamentsUpdate=e=>e.unlockedTitles.length>=50}class Mn extends n{name="Ok Daenerys";id="have_100_title";rank=r.RANKS.MYTHIC;description="Avoir 100 titres différents";berry=5e7;xp=25e4;asset=null;title=null;badge=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserOrnamentsUpdate=e=>e.unlockedTitles.length>=100}const De=Object.freeze(Object.defineProperty({__proto__:null,Have100Title:Mn,Have10Title:Sn,Have1Background:wn,Have25Background:hn,Have50Background:_n,Have50Title:Bn},Symbol.toStringTag,{value:"Module"}));class Cn extends n{name="Petit joueur";id="bet_min_value";rank=r.RANKS.RARE;description="Mise la somme minimale lors d'un pari";berry=5e4;xp=1e4;secret=!0;asset=null;title=d.questTitles["Petit joueur"];badge=null;isFactionBadge=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.betMin}class Rn extends n{name="On a tous le droit à une seconde chance";id="lose_everything";rank=r.RANKS.RARE;description="Perdre tous ses Berrys";berry=1e5;xp=1e4;secret=!0;asset=null;badge=null;isFactionBadge=!1;daily=!1;crew=!1;title=null;onUserQuestMetaUpdate=e=>e.loseEverything}class Un extends n{name="T'es sûr de toi ?";id="bet_10M";rank=r.RANKS.EPIC;description="Miser plus de 10 000 000 de Berrys en une seule fois";berry=5e5;xp=5e4;secret=!0;asset=null;badge=null;isFactionBadge=!1;daily=!1;crew=!1;title=null;onUserQuestMetaUpdate=e=>e.bet10M}class vn extends n{name="Ok j'ai rien dit";id="win_10M_bet";rank=r.RANKS.LEGENDARY;description="Gagner en ayant misé plus de 10M de Berrys";berry=1e6;xp=5e4;secret=!0;asset=null;badge=null;isFactionBadge=!1;daily=!1;crew=!1;title=null;onUserQuestMetaUpdate=e=>e.winBet10M}class An extends n{name="T'es accro là non ?";id="bet_total_10M";rank=r.RANKS.LEGENDARY;description="Miser plus de 10 000 000 de Berrys en tout";berry=1e6;xp=1e5;asset=null;title=d.questTitles["Gambling addict"];badge=d.BadgeList.casino;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.totalBet>=1e7}class kn extends n{name="LE MILLIARD";id="bet_total_1Md";rank=r.RANKS.MYTHIC;description="Miser plus de 1 000 000 000 de Berrys en tout";berry=5e7;xp=25e4;asset=null;badge=d.BadgeList.casino;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;title=null;onUserQuestMetaUpdate=e=>e.totalBet>=1e9}class xn extends n{name="Cheh !";id="lose_10M";rank=r.RANKS.LEGENDARY;description="Perdre 10M de Berrys en une fois";berry=1e6;xp=1e5;secret=!0;asset=null;badge=d.BadgeList.noluck;title=null;isFactionBadge=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.lose10M}class $n extends n{name="Bon anniversaire !";id="birthday";rank=r.RANKS.EPIC;description="Fêter son anniversaire";berry=1e6;xp=5e3;badge=null;asset=null;title=null;isFactionBadge=!1;daily=!1;secret=!1;crew=!1;onUserQuestMetaUpdate=e=>e.hasCelebrateBirthday}class Nn extends n{name="Il ne va pas te répondre tu sais ?";id="bot_ping";rank=r.RANKS.EPIC;description="Ping le bot 100 fois";berry=25e4;xp=25e3;secret=!0;title=d.questTitles.Teubé;badge=null;asset=d.profileAssets.idiot;isFactionBadge=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=({botPing:e})=>e>=100}class On extends n{name="Tu avais soif ?";id="drink_100_xp_bottles_1_day";rank=r.RANKS.LEGENDARY;description="Boire 100 Potions d'XP en une journée";berry=1e6;xp=5e4;secret=!0;isFactionBadge=!1;badge=null;asset=null;title=null;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.items.bottle.today>=100}class En extends n{name="Un ptit goût amer non ?";id="drink_200";rank=r.RANKS.COMMON;description="Boire 200 Potions d'XP";berry=5e4;xp=5e3;isFactionBadge=!1;badge=null;asset=null;title=null;daily=!1;crew=!1;secret=!1;onUserQuestMetaUpdate=e=>e.items.bottle.total>=200}class In extends n{name="Ça se boit bien finalement";id="drink_500";rank=r.RANKS.RARE;description="Boire 500 Potions d'XP";berry=2e5;xp=25e3;isFactionBadge=!1;badge=null;asset=null;title=null;daily=!1;crew=!1;secret=!1;onUserQuestMetaUpdate=e=>e.items.bottle.total>=500}class Dn extends n{name="Les potions donnent des aiiiiles !";id="drink_1000";rank=r.RANKS.EPIC;description="Boire 1000 Potions d'XP";berry=1e6;xp=5e4;isFactionBadge=!1;badge=null;asset=null;title=null;daily=!1;crew=!1;secret=!1;onUserQuestMetaUpdate=e=>e.items.bottle.total>=1e3}class Fn extends n{name="À deux doigts de vomir";id="drink_2000";rank=r.RANKS.LEGENDARY;description="Boire 2000 Potions d'XP";berry=1e7;xp=1e5;isFactionBadge=!1;badge=null;asset=null;title=null;daily=!1;crew=!1;secret=!1;onUserQuestMetaUpdate=e=>e.items.bottle.total>=2e3}class Qn extends n{name="Alcoolique";id="drink_5000";rank=r.RANKS.MYTHIC;description="Boire 5000 Potions d'XP";berry=5e7;xp=25e4;asset=null;title=d.questTitles.Alcoolique;badge=null;isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserQuestMetaUpdate=e=>e.items.bottle.total>=5e3}class qn extends n{name="C'est sympa ce ptit jeu";id="chest_open_50";rank=r.RANKS.COMMON;description="Ouvrir 50 Coffres";berry=5e4;xp=5e3;asset=null;title=null;badge=null;isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserQuestMetaUpdate=e=>e.items.chest.total>=50}class Pn extends n{name="T'as enfin eu un truc intéressant ?";id="chest_open_150";rank=r.RANKS.RARE;description="Ouvrir 150 Coffres";berry=2e5;xp=25e3;asset=null;title=null;badge=null;isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserQuestMetaUpdate=e=>e.items.chest.total>=150}class Ln extends n{name="Ça commence à gratter hein ?";id="chest_open_500";rank=r.RANKS.EPIC;description="Ouvrir 500 Coffres";berry=1e6;xp=5e4;asset=null;title=null;badge=null;isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserQuestMetaUpdate=e=>e.items.chest.total>=500}class Kn extends n{name="LAISSEZ-MOI OUVRIR DES COFFRES !";id="chest_open_1000";rank=r.RANKS.LEGENDARY;description="Ouvrir 1000 Coffres";berry=1e7;xp=1e5;asset=null;title=null;badge=null;isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserQuestMetaUpdate=e=>e.items.chest.total>=1e3}class jn extends n{name="xXFan2GenshinXx";id="chest_open_2000";rank=r.RANKS.MYTHIC;description="Ouvrir 2000 Coffres";berry=5e7;xp=25e4;asset=null;title=d.questTitles["Gatcha Addict"];badge=null;isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserQuestMetaUpdate=e=>e.items.chest.total>=2e3}class Hn extends n{name="Ils font mieux chez Ikea";id="craft_20_times";rank=r.RANKS.COMMON;description="Effectuer 20 crafts";berry=5e4;xp=5e3;asset=null;title=null;badge=d.BadgeList.craft;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.crafts.total>=20}class Gn extends n{name="Te fais pas mal avec le marteau";id="craft_50_times";rank=r.RANKS.RARE;description="Effectuer 50 crafts";berry=2e5;xp=25e3;asset=null;title=null;badge=d.BadgeList.craft;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.crafts.total>=50}class Tn extends n{name="Insensible aux échardes on dirait";id="craft_200_times";rank=r.RANKS.EPIC;description="Effectuer 200 crafts";berry=1e6;xp=5e4;asset=null;title=null;badge=d.BadgeList.craft;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.crafts.total>=200}class Vn extends n{name="Je ne veux pas voir l'état de ton atelier";id="craft_500_times";rank=r.RANKS.LEGENDARY;description="Effectuer 500 crafts";berry=1e6;xp=1e5;asset=null;title=null;badge=d.BadgeList.craft;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.crafts.total>=500}class Yn extends n{name="Mac Gyver";id="craft_1000_times";rank=r.RANKS.MYTHIC;description="Effectuer 1000 crafts";berry=5e7;xp=25e4;asset=null;title=d.questTitles["Mac Gyver"];badge=d.BadgeList.craft;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.crafts.total>=1e3}class zn extends n{name="Apprenti Gourmand";id="craft_10_cooked_meals";rank=r.RANKS.COMMON;description="Cuisiner 10 plats";berry=5e5;xp=2e4;asset=null;title=d.questTitles["Apprenti Gourmand"];badge=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.crafts.cookedMeal>=10}class Wn extends n{name="Chef Amateur";id="craft_50_cooked_meals";rank=r.RANKS.RARE;description="Cuisiner 50 plats";berry=2e5;xp=5e4;asset=null;title=d.questTitles["Chef Amateur"];badge=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.crafts.cookedMeal>=50}class Xn extends n{name="Maître des Saveurs";id="craft_100_cooked_meals";rank=r.RANKS.EPIC;description="Cuisiner 100 plats";berry=1e7;xp=1e5;asset=null;title=d.questTitles["Maître des Saveurs"];badge=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.crafts.cookedMeal>=100}class Jn extends n{name="Artiste Culinaire";id="craft_250_cooked_meals";rank=r.RANKS.LEGENDARY;description="Cuisiner 250 plats";berry=5e7;xp=2e5;asset=null;title=d.questTitles["Artiste Culinaire"];badge=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.crafts.cookedMeal>=250}class Zn extends n{name="Sultan des Épices";id="craft_500_cooked_meals";rank=r.RANKS.MYTHIC;description="Cuisiner 500 plats";berry=1e8;xp=5e5;asset=null;title=d.questTitles["Sultan des Épices"];badge=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.crafts.cookedMeal>=500}class ei extends n{name="C'est une bonne situation ça scribe ?";id="craft_5_scrolls";rank=r.RANKS.COMMON;description="Craft 5 Parchemins";berry=5e5;xp=2e4;asset=null;title=d.questTitles["Apprenti Scribe"];badge=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.crafts.scrolls>=5}class ti extends n{name="Artisan des Runes";id="craft_10_scrolls";rank=r.RANKS.RARE;description="Craft 10 Parchemins";berry=2e6;xp=5e4;asset=null;title=d.questTitles["Artisan des Runes"];badge=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.crafts.scrolls>=10}class ai extends n{name="Collectionneur des Manuscrits";id="craft_20_scrolls";rank=r.RANKS.EPIC;description="Craft 20 Parchemins";berry=1e7;xp=1e5;asset=null;title=d.questTitles["Collectionneur de Manuscrits"];badge=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.crafts.scrolls>=20}class si extends n{name="Maître des Enluminures";id="craft_50_scrolls";rank=r.RANKS.LEGENDARY;description="Craft 50 Parchemins";berry=5e7;xp=2e5;asset=null;title=d.questTitles["Maître des Enluminures"];badge=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.crafts.scrolls>=50}class ri extends n{name="Protecteur du Savoir";id="craft_100_scrolls";rank=r.RANKS.MYTHIC;description="Craft 100 Parchemins";berry=1e8;xp=5e5;asset=null;title=d.questTitles["Protecteur du Savoir"];badge=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.crafts.scrolls>=100}class ni extends n{name="Egoïste...";id="crew_10_percent";rank=r.RANKS.LEGENDARY;description="Être à 10% d'XP pour l'équipage pendant 3 mois";berry=1e6;xp=1e5;secret=!0;asset=null;title=d.questTitles.Egoïste;badge=d.BadgeList.selfish;isFactionBadge=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.timeAt10Percent>=90}class ii extends n{name="Merci bien camarade !";id="crew_90_percent";rank=r.RANKS.LEGENDARY;description="Être à 90% d'XP pour l'équipage pendant 3 mois";berry=1e6;xp=1e5;secret=!0;asset=null;title=d.questTitles.Camarade;badge=d.BadgeList.camarade;isFactionBadge=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.timeAt90Percent>=90}class li extends n{name="Vaut mieux ça que perdre non ?";id="draw_100";rank=r.RANKS.COMMON;description="Faire 100 égalités";berry=5e4;xp=5e3;asset=null;title=null;badge=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.draw>=100}class di extends n{name="Tu as trouvé ton rival";id="draw_300";rank=r.RANKS.RARE;description="Faire 300 égalités";berry=2e5;xp=25e3;asset=null;title=null;badge=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.draw>=300}class ci extends n{name="Rathon c'est toi ?";id="draw_1000";rank=r.RANKS.EPIC;description="Faire 1000 égalités";berry=1e6;xp=5e4;asset=null;title=null;badge=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.draw>=1e3}class oi extends n{name="Tu te bats contre un mur ou quoi ?";id="draw_2000";rank=r.RANKS.LEGENDARY;description="Faire 2000 égalités";berry=1e7;xp=1e5;asset=null;title=null;badge=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.draw>=2e3}class ui extends n{name="De vrais jumeaux";id="draw_5000";rank=r.RANKS.MYTHIC;description="Faire 5000 égalités";berry=5e7;xp=25e4;asset=null;title=d.questTitles.Égalitaire;badge=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.draw>=5e3}class fi extends n{name="Y'a un truc que t'as pas compris ?";id="edito_read_100";rank=r.RANKS.EPIC;description="Lire 100 fois l'édito en une journée";berry=25e4;xp=25e3;secret=!0;crew=!1;daily=!1;title=d.questTitles.Culturé;badge=null;asset=d.profileAssets.edito;isFactionBadge=!1;onUserQuestMetaUpdate=e=>e.edito.readToday>=100}class pi extends n{name="Une fois, pas deux";id="everyone";rank=r.RANKS.LEGENDARY;description="Tenter de tag everyone";berry=-1e6;xp=-5e4;secret=!0;asset=null;title=null;badge=null;isFactionBadge=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.tagEveryone}class mi extends n{name="Emoji Diable";id="double_six";rank=r.RANKS.LEGENDARY;description="Faire 50 fois un double six";berry=1e6;xp=1e5;asset=null;badge=d.BadgeList.doublesix;title=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.double_six>=50}class gi extends n{name="Pas de chance ^^";id="draw_double_six";rank=r.RANKS.RARE;description="Faire une fois une égalité en double 6";berry=2e5;xp=25e3;asset=null;title=null;badge=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.drawDoubleSix>=1}class yi extends n{name="Jamais 6 sans 7";id="seven_quitte_ou_double";rank=r.RANKS.MYTHIC;description='Gagner 7 fois de suite "Doubles" au Quitte ou Double';berry=5e7;xp=25e4;asset=null;badge=d.BadgeList.chance;title=d.questTitles.Chanceux;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.sevenQuitteOuDouble>=1}class bi extends n{name="Le 5 à la suite";id="win_5_in_row";rank=r.RANKS.EPIC;description="Gagner aux 5 jeux du casino à la suite";berry=1e6;xp=5e4;asset=null;title=null;badge=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>{const a=e.lastGames.slice(0,5);return a.length<5||p.unique(a,s=>s.gameType).length<5?!1:a.reduce((s,i)=>s+i.endState,0)===5}}class wi extends n{name="Le 5 à la suite, mais dans l'autre sens";id="lose_5_in_row";rank=r.RANKS.EPIC;description="Perdre aux 5 jeux du casino à la suite";berry=1e6;xp=5e4;asset=null;title=null;badge=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>{const a=e.lastGames.slice(0,5);return a.length!==5||p.unique(a,s=>s.gameType).length<5?!1:a.reduce((s,i)=>s+i.endState,0)===-5}}class hi extends n{name="Jacques le noir";id="ten_black_jack";rank=r.RANKS.LEGENDARY;description="Faire 10 fois BlackJack";berry=5e6;xp=5e4;asset=null;badge=d.BadgeList["black-jack"];title=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.black_jack>=10}class _i extends n{name="La feuille enveloppe la pierre ! T'es sûr ?";id="paper_100";rank=r.RANKS.LEGENDARY;description="Faire 100 fois de suite Papier au PPC";berry=1e6;xp=1e5;asset=null;title=d.questTitles.Papyrus;badge=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.rps.lastRps==="paper"&&e.rps.nb>=100}class Si extends n{name="On fait la paire !";id="scissor_100";rank=r.RANKS.LEGENDARY;description="Faire 100 fois de suite Ciseaux au PPC";berry=1e6;xp=1e5;asset=null;title=d.questTitles.Couturier;badge=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.rps.lastRps==="scissor"&&e.rps.nb>=100}class Bi extends n{name="Golem";id="rock_100";rank=r.RANKS.LEGENDARY;description="Faire 100 fois de suite Pierre au PPC";berry=1e6;xp=1e5;asset=null;title=d.questTitles.Golem;badge=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.rps.lastRps==="rock"&&e.rps.nb>=100}class Mi extends n{name="LE NEUF ET LE HUIT !!!";id="guess_in_one";rank=r.RANKS.MYTHIC;description="Deviner le Juste Prix en un coup";berry=5e7;xp=25e4;asset=null;title=null;badge=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.guessInOne>=1}class Ci extends n{name="Sataniste";id="bet_666_50_times";rank=r.RANKS.LEGENDARY;description="Miser 666 Berry au moins une fois par jour pendant 1 mois";berry=1e6;xp=5e4;secret=!0;title=d.questTitles.Démon;isFactionBadge=!1;daily=!1;crew=!1;badge=null;asset=d.profileAssets.satan;onUserQuestMetaUpdate=e=>e.bet666.amount>=30}class Ri extends n{name="Jour, Nuit";id="win_lose_10_times";rank=r.RANKS.LEGENDARY;description='Faire un enchaînement "Victoire/Défaite" 10 fois de suite';berry=1e6;xp=5e4;secret=!0;asset=null;title=null;badge=null;isFactionBadge=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>{const a=e.lastGames;if(a.length!==20)return!1;for(let s=0;s<a.length;s++)if(s%2===0&&a[s].endState!==1||s%2!==0&&a[s].endState!==-1)return!1;return!0}}class Ui extends n{name="Explorateur novice";id="finish_10_raids";rank=r.RANKS.COMMON;description="Réussir 10 expéditions";berry=5e4;xp=5e3;badge=null;asset=null;title=null;isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserQuestMetaUpdate=({raidFinished:e})=>e>=10}class vi extends n{name="Aventurier intrépide";id="finish_25_raids";rank=r.RANKS.RARE;description="Réussir 25 expéditions";berry=2e5;xp=25e3;badge=null;asset=null;title=null;isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserQuestMetaUpdate=({raidFinished:e})=>e>=25}class Ai extends n{name="Conquérant des terres";id="finish_50_raids";rank=r.RANKS.EPIC;description="Réussir 50 expéditions";berry=1e6;xp=5e4;badge=null;asset=null;title=null;isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserQuestMetaUpdate=({raidFinished:e})=>e>=50}class ki extends n{name="Pionnier des secrets";id="finish_100_raids";rank=r.RANKS.LEGENDARY;description="Réussir 100 expéditions";berry=1e7;xp=1e5;badge=null;asset=null;title=null;isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserQuestMetaUpdate=({raidFinished:e})=>e>=100}class xi extends n{name="Légende vivante";id="finish_200_raids";rank=r.RANKS.MYTHIC;description="Réussir 200 expéditions";berry=5e7;xp=25e4;badge=null;asset=null;title=d.questTitles["Légende vivante"];isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserQuestMetaUpdate=({raidFinished:e})=>e>=200}class $i extends n{name="Vif";id="random_message_20";rank=r.RANKS.COMMON;description="Récupérer 20 Messages aléatoires";berry=5e4;xp=5e3;secret=!1;daily=!1;crew=!1;isFactionBadge=!1;badge=null;asset=null;title=null;onUserQuestMetaUpdate=e=>e.randomMessage>=20}class Ni extends n{name="Lucky Luke";id="random_message_50";rank=r.RANKS.RARE;description="Récupérer 50 Messages aléatoires";berry=2e5;xp=25e3;secret=!1;daily=!1;crew=!1;isFactionBadge=!1;badge=null;asset=null;title=null;onUserQuestMetaUpdate=e=>e.randomMessage>=50}class Oi extends n{name="Rapide";id="random_message_100";rank=r.RANKS.EPIC;description="Récupérer 100 Messages aléatoires";berry=1e6;xp=5e4;secret=!1;daily=!1;crew=!1;isFactionBadge=!1;badge=null;asset=null;title=null;onUserQuestMetaUpdate=e=>e.randomMessage>=100}class Ei extends n{name="Et Furieux";id="random_message_200";rank=r.RANKS.LEGENDARY;description="Récupérer 200 Messages aléatoires";berry=1e7;xp=1e5;secret=!1;daily=!1;crew=!1;isFactionBadge=!1;badge=null;asset=null;title=null;onUserQuestMetaUpdate=e=>e.randomMessage>=200}class Ii extends n{name="Ka-Chow";id="random_message_500";rank=r.RANKS.MYTHIC;description="Récupérer 500 Messages aléatoires";berry=5e7;xp=25e4;secret=!1;daily=!1;crew=!1;isFactionBadge=!1;badge=null;asset=null;title=d.questTitles["Flash Mc Queen"];onUserQuestMetaUpdate=e=>e.randomMessage>=500}class Di extends n{name="Collabo";id="collabo";rank=r.RANKS.COMMON;description="Report une personne au staff";berry=1e4;xp=5e3;secret=!0;daily=!1;crew=!1;isFactionBadge=!1;badge=null;asset=null;title=null;onUserQuestMetaUpdate=e=>e.reportedSomeone}class Fi extends n{name="Bienvenue sur OPFR";id="send_100_msg";rank=r.RANKS.COMMON;description="Envoyer 100 messages";berry=1e4;xp=1e3;badge=d.BadgeList.ecrire;asset=null;title=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=({messageSent:e})=>e>=100}class Qi extends n{name="Une vraie pipelette";id="send_1000_msg";rank=r.RANKS.RARE;description="Envoyer 1 000 messages";berry=1e5;xp=1e4;badge=d.BadgeList.ecrire;asset=null;title=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=({messageSent:e})=>e>=1e3}class qi extends n{name="Faites le taire ";id="send_25000_msg";rank=r.RANKS.EPIC;description="Envoyer 25 000 messages";berry=1e6;xp=5e4;badge=d.BadgeList.ecrire;asset=null;title=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=({messageSent:e})=>e>=25e3}class Pi extends n{name="Tu sors de chez toi des fois ?";id="send_100000_msg";rank=r.RANKS.LEGENDARY;description="Envoyer 100 000 messages";berry=1e7;xp=1e5;badge=d.BadgeList.ecrire;asset=null;title=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=({messageSent:e})=>e>=1e5}class Li extends n{name="J'ai pas les mots... mais toi si !";id="send_200000_msg";rank=r.RANKS.MYTHIC;description="Envoyer 200 000 messages";berry=1e8;xp=25e4;badge=d.BadgeList.ecrire;asset=null;title=d.questTitles.Spammeur;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=({messageSent:e})=>e>=2e5}class Ki extends n{name="T'as reçu ton argent de poche ?";id="spend_shop_5m";rank=r.RANKS.COMMON;description="Dépenser 5 000 000 Berrys dans la boutique";berry=5e4;xp=5e3;badge=d.BadgeList.mode;asset=null;title=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=({totalSpentInShop:e})=>e>=5e6}class ji extends n{name="Tu t'es fait plaisir !";id="spend_shop_50m";rank=r.RANKS.RARE;description="Dépenser 50 000 000 Berrys dans la boutique";berry=2e5;xp=25e3;badge=d.BadgeList.mode;asset=null;title=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=({totalSpentInShop:e})=>e>=5e7}class Hi extends n{name="C'était les soldes j'espère !";id="spend_shop_500m";rank=r.RANKS.EPIC;description="Dépenser 500 000 000 Berrys dans la boutique";berry=1e6;xp=5e4;badge=d.BadgeList.mode;asset=null;title=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=({totalSpentInShop:e})=>e>=5e8}class Gi extends n{name="Paré pour la Fashion Week";id="spend_shop_5ml";rank=r.RANKS.LEGENDARY;description="Dépenser 5 000 000 000 Berrys dans la boutique";berry=5e6;xp=1e5;badge=d.BadgeList.mode;asset=null;title=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=({totalSpentInShop:e})=>e>=5e9}class Ti extends n{name="Fashion Viktim";id="spend_shop_50ml";rank=r.RANKS.MYTHIC;description="Dépenser 50 000 000 000 Berrys dans la boutique";berry=5e7;xp=25e4;badge=d.BadgeList.mode;asset=null;title=d.questTitles["Fashion Viktim"];isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=({totalSpentInShop:e})=>e>=5e10}class Vi extends n{name="On commence à se connaître";id="voice_1_hours";rank=r.RANKS.COMMON;description="Se connecter 10h en vocal";berry=5e4;xp=5e3;badge=d.BadgeList.ermite;asset=null;title=null;isFactionBadge=!1;daily=!1;secret=!1;crew=!1;onUserQuestMetaUpdate=({totalMinutesInVoice:e})=>e>=600}class Yi extends n{name="Je sais tout de toi";id="voice_10_hours";rank=r.RANKS.RARE;description="Se connecter 25h en vocal";berry=2e5;xp=25e3;badge=d.BadgeList.ermite;asset=null;title=null;isFactionBadge=!1;daily=!1;secret=!1;crew=!1;onUserQuestMetaUpdate=({totalMinutesInVoice:e})=>e>=1500}class zi extends n{name="T'as pas soif ?";id="voice_250_hours";rank=r.RANKS.EPIC;description="Se connecter 250h en vocal";berry=1e6;xp=5e4;badge=d.BadgeList.ermite;asset=null;title=null;isFactionBadge=!1;daily=!1;secret=!1;crew=!1;onUserQuestMetaUpdate=({totalMinutesInVoice:e})=>e>=15e3}class Wi extends n{name="Ok Socrate";id="voice_2500_hours";rank=r.RANKS.LEGENDARY;description="Se connecter 2500h en vocal";berry=1e7;xp=1e5;badge=d.BadgeList.ermite;asset=null;title=null;isFactionBadge=!1;daily=!1;secret=!1;crew=!1;onUserQuestMetaUpdate=({totalMinutesInVoice:e})=>e>=60*2500}class Xi extends n{name="Elle ressemble à quoi la lumière du soleil ?";id="voice_5000_hours";rank=r.RANKS.MYTHIC;description="Se connecter 5000h en vocal";berry=5e7;xp=25e4;asset=null;title=d.questTitles.Ermite;badge=d.BadgeList.ermite;isFactionBadge=!1;daily=!1;secret=!1;crew=!1;onUserQuestMetaUpdate=({totalMinutesInVoice:e})=>e>=60*5e3}class Ji extends n{name="Stagiaire";id="work_100";rank=r.RANKS.COMMON;description="Travailler 100 fois";berry=5e4;xp=5e3;asset=null;title=null;badge=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.work>=100}class Zi extends n{name="Alternant";id="work_300";rank=r.RANKS.RARE;description="Travailler 300 fois";berry=2e5;xp=25e3;asset=null;title=null;badge=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.work>=300}class el extends n{name="Smicard";id="work_1000";rank=r.RANKS.EPIC;description="Travailler 1000 fois";berry=1e6;xp=5e4;asset=null;title=null;badge=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.work>=1e3}class tl extends n{name="Communiste";id="work_2000";rank=r.RANKS.LEGENDARY;description="Travailler 2000 fois";berry=1e7;xp=1e5;asset=null;title=null;badge=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.work>=2e3}class al extends n{name="Esclave";id="work_5000";rank=r.RANKS.MYTHIC;description="Travailler 5000 fois";berry=5e7;xp=25e4;asset=null;title=d.questTitles.Esclave;badge=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.work>=5e3}class sl extends n{name="Timide";id="write_10_chats";rank=r.RANKS.COMMON;description="Écrire dans 10 chats différents";berry=1e4;xp=1e3;badge=d.BadgeList.exploration;asset=null;title=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=({writeDifferentChat:e})=>e.length>=10}class rl extends n{name="Curieux";id="write_20_chats";rank=r.RANKS.RARE;description="Écrire dans 20 chats différents";berry=1e5;xp=1e4;badge=d.BadgeList.exploration;asset=null;title=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=({writeDifferentChat:e})=>e.length>=20}class nl extends n{name="Voyeur";id="write_50_chats";rank=r.RANKS.EPIC;description="Écrire dans 50 chats différents";berry=5e5;xp=5e4;badge=d.BadgeList.exploration;asset=null;title=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=({writeDifferentChat:e})=>e.length>=50}class il extends n{name="Philanthrope";id="write_100_chats";rank=r.RANKS.LEGENDARY;description="Écrire dans 100 chats différents";berry=1e6;xp=1e5;badge=d.BadgeList.exploration;asset=null;title=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=({writeDifferentChat:e})=>e.length>=100}class ll extends n{name="Explorateur";id="write_200_chats";rank=r.RANKS.MYTHIC;description="Écrire dans 200 chats différents";berry=1e7;xp=25e4;asset=null;title=d.questTitles.Explorateur;badge=d.BadgeList.exploration;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=({writeDifferentChat:e})=>e.length>=200}class dl extends n{name="Jeune étudiant";id="drink_50_alcohols";rank=r.RANKS.COMMON;description="Boire 50 alcools";berry=5e5;xp=2e4;secret=!1;asset=null;title=d.questTitles["Jeune étudiant"];badge=null;isFactionBadge=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.items.alcohols.total>=50}class cl extends n{name="Habitué des bars";id="drink_250_alcohols";rank=r.RANKS.RARE;description="Boire 250 alcools";berry=2e6;xp=5e4;secret=!1;asset=null;title=d.questTitles["Habitué des bars"];badge=null;isFactionBadge=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.items.alcohols.total>=250}class ol extends n{name="Alcoolique notoire";id="drink_500_alcohols";rank=r.RANKS.EPIC;description="Boire 500 alcools";berry=1e7;xp=1e5;secret=!1;asset=null;title=d.questTitles["Alcoolique notoire"];badge=null;isFactionBadge=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.items.alcohols.total>=500}class ul extends n{name="Ivrogne";id="drink_1000_alcohols";rank=r.RANKS.LEGENDARY;description="Boire 1000 alcools";berry=5e7;xp=2e5;secret=!1;asset=null;title=d.questTitles.Ivrogne;badge=null;isFactionBadge=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.items.alcohols.total>=1e3}class fl extends n{name="Breton";id="drink_2000_alcohols";rank=r.RANKS.MYTHIC;description="Boire 2000 alcools";berry=1e8;xp=5e5;secret=!1;asset=null;title=d.questTitles.Breton;badge=null;isFactionBadge=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.items.alcohols.total>=2e3}class pl extends n{name="Buveur de Rhum";id="drink_10_rhum";rank=r.RANKS.COMMON;description="Boire 10 Rhums";berry=5e5;xp=2e4;secret=!1;asset=null;title=d.questTitles["Buveur de Rhum"];badge=null;isFactionBadge=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.items.alcohols.rhums>=10}class ml extends n{name="Amateur de Rhum";id="drink_100_rhum";rank=r.RANKS.RARE;description="Boire 100 Rhums";berry=2e6;xp=5e4;secret=!1;asset=null;title=d.questTitles["Amateur de Rhum"];badge=null;isFactionBadge=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.items.alcohols.rhums>=100}class gl extends n{name="Connaisseur de Rhum";id="drink_250_rhum";rank=r.RANKS.EPIC;description="Boire 250 Rhums";berry=1e7;xp=1e5;secret=!1;asset=null;title=d.questTitles["Connaisseur de Rhum"];badge=null;isFactionBadge=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.items.alcohols.rhums>=250}class yl extends n{name="Rhumologue";id="drink_500_rhum";rank=r.RANKS.LEGENDARY;description="Boire 500 Rhums";berry=5e7;xp=2e5;secret=!1;asset=null;title=d.questTitles.Rhumologue;badge=null;isFactionBadge=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.items.alcohols.rhums>=500}class bl extends n{name="Dieu du Rhum";id="drink_1000_rhum";rank=r.RANKS.MYTHIC;description="Boire 1000 Rhums";berry=1e8;xp=5e5;secret=!1;asset=null;title=d.questTitles["Dieu du Rhum"];badge=null;isFactionBadge=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.items.alcohols.rhums>=1e3}class wl extends n{name="Buveur de Bière";id="drink_10_beer";rank=r.RANKS.COMMON;description="Boire 10 Bières";berry=5e5;xp=2e4;secret=!1;asset=null;title=d.questTitles["Buveur de Bière"];badge=null;isFactionBadge=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.items.alcohols.beers>=10}class hl extends n{name="Amateur de Bière";id="drink_100_beer";rank=r.RANKS.RARE;description="Boire 100 Bières";berry=2e6;xp=5e4;secret=!1;asset=null;title=d.questTitles["Amateur de Rhum"];badge=null;isFactionBadge=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.items.alcohols.beers>=100}class _l extends n{name="Connaisseur de Bière";id="drink_250_beer";rank=r.RANKS.EPIC;description="Boire 250 Bières";berry=1e7;xp=1e5;secret=!1;asset=null;title=d.questTitles["Connaisseur de Rhum"];badge=null;isFactionBadge=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.items.alcohols.beers>=250}class Sl extends n{name="Bièrologue";id="drink_500_beer";rank=r.RANKS.LEGENDARY;description="Boire 500 Bières";berry=5e7;xp=2e5;secret=!1;asset=null;title=d.questTitles.Bièrologue;badge=null;isFactionBadge=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.items.alcohols.beers>=500}class Bl extends n{name="Dieu de la Bière";id="drink_1000_beer";rank=r.RANKS.MYTHIC;description="Boire 1000 Bières";berry=1e8;xp=5e5;secret=!1;asset=null;title=d.questTitles["Dieu de la Bière"];badge=null;isFactionBadge=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.items.alcohols.beers>=1e3}class Ml extends n{name="Buveur de Vin";id="drink_10_wine";rank=r.RANKS.COMMON;description="Boire 10 Vins";berry=5e5;xp=2e4;secret=!1;asset=null;title=d.questTitles["Buveur de Vin"];badge=null;isFactionBadge=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.items.alcohols.wines>=10}class Cl extends n{name="Amateur de Vin";id="drink_100_wine";rank=r.RANKS.RARE;description="Boire 100 Vins";berry=2e6;xp=5e4;secret=!1;asset=null;title=d.questTitles["Amateur de Vin"];badge=null;isFactionBadge=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.items.alcohols.wines>=100}class Rl extends n{name="Connaisseur de Vin";id="drink_250_wine";rank=r.RANKS.EPIC;description="Boire 250 Vins";berry=1e7;xp=1e5;secret=!1;asset=null;title=d.questTitles["Connaisseur de Vin"];badge=null;isFactionBadge=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.items.alcohols.wines>=250}class Ul extends n{name="Vinologue";id="drink_500_wine";rank=r.RANKS.LEGENDARY;description="Boire 500 Vins";berry=1e7;xp=2e5;secret=!1;asset=null;title=d.questTitles.Vinologue;badge=null;isFactionBadge=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.items.alcohols.wines>=500}class vl extends n{name="Dieu du Vin";id="drink_1000_wine";rank=r.RANKS.MYTHIC;description="Boire 1000 Vins";berry=1e8;xp=5e5;secret=!1;asset=null;title=d.questTitles["Dieu du Vin"];badge=null;isFactionBadge=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.items.alcohols.wines>=1e3}const Fe=Object.freeze(Object.defineProperty({__proto__:null,Bet10M:Un,Bet666:Ci,BetMinValue:Cn,Birthday:$n,BotPing:Nn,ChestOpen1000Quest:Kn,ChestOpen150Quest:Pn,ChestOpen2000Quest:jn,ChestOpen500Quest:Ln,ChestOpen50Quest:qn,Craft1000Times:Yn,Craft100CookedMeals:Xn,Craft100Scrolls:ri,Craft10CookedMeals:zn,Craft10Scrolls:ti,Craft200Times:Tn,Craft20Scrolls:ai,Craft20Times:Hn,Craft250CookedMeals:Jn,Craft500CookedMeals:Zn,Craft500Times:Vn,Craft50CookedMeals:Wn,Craft50Scrolls:si,Craft50Times:Gn,Craft5Scrolls:ei,Crew10Percent:ni,Crew90Percent:ii,DoubleSix:mi,Draw1000Quest:ci,Draw100Quest:li,Draw2000Quest:oi,Draw300Quest:di,Draw5000Quest:ui,DrawDoubleSix:gi,Drink1000Alcohols:ul,Drink1000Beer:Bl,Drink1000Quest:Dn,Drink1000Rhum:bl,Drink1000Wine:vl,Drink100Beer:hl,Drink100Rhum:ml,Drink100Today:On,Drink100Wine:Cl,Drink10Beer:wl,Drink10Rhum:pl,Drink10Wine:Ml,Drink2000Alcohols:fl,Drink2000Quest:Fn,Drink200Quest:En,Drink250Alcohols:cl,Drink250Beer:_l,Drink250Rhum:gl,Drink250Wine:Rl,Drink5000Quest:Qn,Drink500Alcohols:ol,Drink500Beer:Sl,Drink500Quest:In,Drink500Rhum:yl,Drink500Wine:Ul,Drink50Alcohols:dl,Edito:fi,Everyone:pi,Finish100Raids:ki,Finish10Raids:Ui,Finish200Raids:xi,Finish25Raids:vi,Finish50Raids:Ai,GuessInOne:Mi,Lose10M:xn,LoseAll5GamesInRow:wi,LoseEverything:Rn,Paper100:_i,RandomMessage100Quest:Oi,RandomMessage200Quest:Ei,RandomMessage20Quest:$i,RandomMessage500Quest:Ii,RandomMessage50Quest:Ni,Report:Di,Rock100:Bi,Scissor100:Si,SevenQuitteOuDouble:yi,SpendShop500M:Hi,SpendShop50M:ji,SpendShop50Ml:Ti,SpendShop5M:Ki,SpendShop5Ml:Gi,TenBlackJack:hi,TotalBet10M:An,TotalBet1Md:kn,Voice10Hours:Vi,Voice2500Hours:Wi,Voice250Hours:zi,Voice25Hours:Yi,Voice5000Hours:Xi,WinAll5GamesInRow:bi,WinLose10:Ri,WinOn10MBet:vn,Work1000Quest:el,Work100Quest:Ji,Work2000Quest:tl,Work300Quest:Zi,Work5000Quest:al,Write100Chats:il,Write10Chats:sl,Write200Chats:ll,Write20Chats:rl,Write50Chats:nl,send100000Messages:Pi,send1000Messages:Qi,send100Messages:Fi,send200000Messages:Li,send25000Messages:qi},Symbol.toStringTag,{value:"Module"}));class Al extends n{name="T'as pas oublié de ranger ta chambre ?";id="daily_all";rank=r.RANKS.RARE;description="Finir les quêtes journalières";berry=({xp:e})=>(r.getCurrentLevel(e.amount)/10+1)*12500;xp=({xp:e})=>(r.getCurrentLevel(e.amount)/10+1)*1250;daily=!0;secret=!1;crew=!1;isFactionBadge=!1;badge=null;asset=null;title=null;onUserQuestUpdate=e=>{for(const[a,s]of Object.entries(e.daily))if(!p.sameDay(s,new Date)&&this.id!==a)return!1;return Object.keys(e.daily).filter(a=>a!==this.id).length>=5}}const Qe=Object.freeze(Object.defineProperty({__proto__:null,DailyAll:Al},Symbol.toStringTag,{value:"Module"})),_t=[...Object.values(Ie),...Object.values(De),...Object.values(Ee),...Object.values(Fe),...Object.values(Qe),...Object.values(Oe),...Object.values(Ne),...Object.values(ke),...Object.values(ce)],kl=async t=>{const e=[];for(const a of Object.values(Ie)){const s=new a;if(s.onUserMetaUpdate?.(t)){const i=await s.complete(t.user._id,{_userMeta:t});i&&e.push([s,i])}}e.length>0&&k("userMetaUpdate",t.user._id,e)},xl=async t=>{const e=[];for(const a of Object.values(Fe)){const s=new a;if(s.onUserQuestMetaUpdate?.(t)){const i=await s.complete(t.user._id,{});i&&e.push([s,i])}}e.length>0&&k("userQuestMetaUpdate",t.user._id,e)},$l=["raidUnlock"],St=new ze.EventEmitter,W=(t,e,a)=>{St.emit(t,e,a)},Nl=t=>{for(const e of $l)St.on(e,(a,s)=>{t(e,a,s)})},Ol=async t=>{const e=await Ve(t.user._id);r.getCurrentLevel(t.xp.amount)>=30&&!ne(e,"training")&&(await le(e.user._id,"training"),W("raidUnlock",t.user._id,"training")),(e.obtainedRewards.training?.filter(a=>a.startsWith("end_"))?.length??0)>=4&&!ne(e,"resources")&&(await le(e.user._id,"resources"),W("raidUnlock",t.user._id,"resources"))},El=async t=>{const e=await Ve(t.user._id);p.unique(t.equipmentList,a=>a.id).map(a=>g.findEquipment(a)).filter(a=>a.panoply==="adventurer").length===6&&!ne(e,"pirate_cave")&&(await le(e.user._id,"pirate_cave"),W("raidUnlock",t.user._id,"pirate_cave")),(t.itemList.get("map_fragment")??0)>=5&&!ne(e,"mysterious_island")&&(await le(e.user._id,"mysterious_island"),await F(t.user._id,"map_fragment",5),W("raidUnlock",t.user._id,"mysterious_island"))},Bt=new o.Schema({user:{type:o.Schema.Types.ObjectId,required:!0,unique:!0,ref:"User"},tagEveryone:{type:Boolean,default:!1},botPing:{type:Number,default:0},writeDifferentChat:[String],messageSent:{type:Number,default:0},totalMinutesInVoice:{type:Number,default:0},hadMoreThanZeroBerry:{type:Boolean,default:!1},totalBet:{type:Number,default:0},edito:{readToday:{type:Number,default:0},lastTimeRead:{type:Date,default:new Date}},double_six:{type:Number,default:0},lastGames:{type:[{gameType:String,endState:Number}],default:[]},black_jack:{type:Number,default:0},rps:{type:{lastRps:String,nb:Number},default:{lastRps:"paper",nb:-1}},totalSpentInShop:{type:Number,default:0},work:{type:Number,default:0},draw:{type:Number,default:0},bet666:{amount:{type:Number,default:0},last:{type:Date,default:new Date(0)}},betMin:{type:Boolean,default:!1},loseEverything:{type:Boolean,default:!1},bet10M:{type:Boolean,default:!1},winBet10M:{type:Boolean,default:!1},lose10M:{type:Boolean,default:!1},items:{bottle:{total:{type:Number,default:0},today:{type:Number,default:0},last:{type:Date,default:new Date}},chest:{total:{type:Number,default:0}},alcohols:{wines:{type:Number,default:0},rhums:{type:Number,default:0},beers:{type:Number,default:0},total:{type:Number,default:0}}},randomMessage:{type:Number,default:0},timeAt10Percent:{type:Number,default:0},timeAt90Percent:{type:Number,default:0},sevenQuitteOuDouble:{type:Number,default:0},drawDoubleSix:{type:Number,default:0},guessInOne:{type:Number,default:0},crafts:{cookedMeal:{type:Number,default:0},scrolls:{type:Number,default:0},total:{type:Number,default:0}},raidFinished:{type:Number,default:0},reportedSomeone:{type:Boolean,default:!1},hasCelebrateBirthday:{type:Boolean,default:!1}});Bt.post("findOneAndUpdate",async function(t){await xl(t)});const N=o.models?.UserQuestMeta||o.model("UserQuestMeta",Bt),m=async(t,e)=>{await N.findOneAndUpdate({user:t},e,{upsert:!0,returnDocument:"after"})},Il=async t=>{await m(t,{$inc:{work:1}})},Dl=async t=>{await m(t,{$set:{hadMoreThanZeroBerry:!0}})},Fl=async t=>{await m(t,{$set:{sevenQuitteOuDouble:!0}})},Ql=async t=>{await m(t,{$inc:{black_jack:1}})},ql=async(t,e,a)=>{await m(t,{$push:{lastGames:{$each:[{gameType:e,endState:a}],$position:0,$slice:20}}})},Pl=async t=>{await m(t,{$inc:{draw:1}})},Ll=async t=>{const e=new Date;e.setDate(e.getDate()-1),e.setHours(0,0,0,0);const a=new Date;a.setDate(a.getDate()-1),a.setHours(23,59,59,999),await N.updateOne({user:t,"bet666.last":{$gte:e,$lte:a}},{$inc:{"bet666.amount":1},$set:{"bet666.last":new Date}}),await N.updateOne({user:t,"bet666.last":{$lt:e}},{$set:{"bet666.last":new Date,"bet666.amount":1}})},Kl=async(t,e)=>{await m(t,{$inc:{totalBet:e}})},jl=async(t,e)=>{await m(t,[{$set:{"rps.nb":{$cond:{if:{$eq:["$rps.lastRps",e]},then:{$add:["$rps.nb",1]},else:1}},"rps.lastRps":e}}])},Mt=async(t,e)=>{await m(t,{$inc:{totalSpentInShop:e}})},Hl=async(t,e,a)=>{const s=g.findEntity(a);await m(t,{$inc:{"crafts.cookedMeal":g.isCookedMeal(s)?e:0,"crafts.scrolls":g.isScrollItem(s)?e:0,"crafts.total":e}})},Gl=async t=>{await m(t,{$set:{reportedSomeone:!0}})},Tl=async t=>{await m(t,{$inc:{randomMessage:1}})},Vl=async t=>{await m(t,{$inc:{botPing:1}})},Yl=async t=>{await m(t,{$inc:{guessInOne:1}})},zl=async t=>{await m(t,{$set:{hasCelebrateBirthday:!0}})},Wl=async t=>{await m(t,{$inc:{double_six:1}})},Xl=async t=>{await m(t,{$inc:{drawDoubleSix:1}})},Jl=async(t,e)=>{e?await m(t,{$set:{timeAt10Percent:0}}):await m(t,{$inc:{timeAt10Percent:1}})},Zl=async(t,e)=>{e?await m(t,{$set:{timeAt90Percent:0}}):await m(t,{$inc:{timeAt90Percent:1}})},ed=async t=>{await m(t,{$set:{tagEveryone:!0}})},td=async t=>{await m(t,{$set:{betMin:!0}})},Ct=async t=>{await m(t,{$set:{loseEverything:!0}})},ad=Object.freeze(Object.defineProperty({__proto__:null,addTotalMinutesInVoice:async(t,e)=>{await m(t,{$inc:{totalMinutesInVoice:e}})},addWrittenTextChannel:async(t,e)=>{await m(t,{$addToSet:{writeDifferentChat:e}})},bet666:Ll,botPingIncrement:Vl,drawDoubleSix:Xl,drawIncrement:Pl,hadMoreThanZeroBerry:Dl,hasBet10M:async t=>{await m(t,{$set:{bet10M:!0}})},hasBetMin:td,hasCelebrateBirthday:zl,hasGuessInOne:Yl,hasLose10M:async t=>{await m(t,{$set:{lose10M:!0}})},hasLoseEverything:Ct,hasReportedSomeone:Gl,hasSevenQod:Fl,hasTagEveryone:ed,hasWinBet10M:async t=>{await m(t,{$set:{winBet10M:!0}})},incrementAlcoholDrink:async(t,e,a)=>{await m(t,{$inc:{"items.alcohols.wines":e==="wine"?a:0,"items.alcohols.beers":e==="beer"?a:0,"items.alcohols.rhums":e==="rhum"?a:0,"items.alcohols.total":a}})},incrementBottleUsedToday:async(t,e)=>{const a=new Date;a.setHours(0,0,0,0),await N.updateOne({user:t,"items.bottle.last":{$gte:a}},{$inc:{"items.bottle.today":e},$set:{"items.bottle.last":new Date}}),await N.updateOne({user:t,"items.bottle.last":{$lt:a}},{$set:{"items.bottle.last":new Date,"items.bottle.today":e}})},incrementBottleUsedTotal:async(t,e)=>{await m(t,{$inc:{"items.bottle.total":e}})},incrementChestOpenedTotal:async(t,e)=>{await m(t,{$inc:{"items.chest.total":e}})},incrementMessageSend:async t=>{await m(t,{$inc:{messageSent:1}})},randomMessageIncrement:Tl,readEdito:async t=>{const e=new Date;e.setHours(0,0,0,0),await N.updateOne({user:t,"edito.lastTimeRead":{$gte:e}},{$inc:{"edito.readToday":1},$set:{"edito.lastTimeRead":new Date}}),await N.updateOne({user:t,"edito.lastTimeRead":{$lt:e}},{$set:{"edito.lastTimeRead":new Date,"edito.readToday":1}})},updateCrafts:Hl,updateCrew10Percent:Jl,updateCrew90Percent:Zl,updateLastGames:ql,updateRps:jl,updateTotalBet:Kl,updateTotalSpentInShop:Mt,winBlackjack:Ql,winDoubleSix:Wl,workIncrement:Il},Symbol.toStringTag,{value:"Module"})),sd=["death"],Rt=new We.EventEmitter,Ut=(t,e)=>{Rt.emit(t,e)},rd=t=>{for(const e of sd)Rt.on(e,a=>{t(e,a)})},G={multiplier:{type:Number,default:0},origin:String,expireAt:{type:Date,default:null},startAt:{type:Date,default:null}},vt=new o.Schema({user:{type:o.Schema.Types.ObjectId,required:!0,unique:!0,ref:"User"},premium:{type:Date,default:null},booster:{type:Boolean,default:!1},scam:{type:Boolean,default:!1},berry:{type:Number,default:0,index:!0},xp:{lastMessageWithXp:{type:Date,default:new Date},voice:{lastConnection:{type:Date,default:new Date},minutesInVoiceToday:{type:Number,default:0}},amount:{type:Number,default:0,index:!0},boost:{type:Date,default:null}},buffs:{cooldown:{casino:{type:[G],default:[]},work:{type:[G],default:[]}},berry:{work:{type:[G],default:[]},global:{type:[G],default:[]}},drop:{work:{type:[G],default:[]}},xp:{global:{type:[G],default:[]}}},hp:{type:Number,default:100},workUnluckyStreak:{type:Number,default:0},characteristics:{vitality:{type:Number,default:0},strength:{type:Number,default:0},agility:{type:Number,default:0},chance:{type:Number,default:0},intelligence:{type:Number,default:0},wisdom:{type:Number,default:0}},resetCharacteristics:{free:{type:Boolean,default:!0},nextAvailable:{type:Date,default:null}},scrolls:{vitality:{type:Number,default:0},strength:{type:Number,default:0},agility:{type:Number,default:0},chance:{type:Number,default:0},intelligence:{type:Number,default:0},wisdom:{type:Number,default:0}}});vt.post("findOneAndUpdate",async function(t){await Ol(t),await kl(t),t.berry===0&&await Ct(t.user._id),t.hp<=0&&Ut("death",t.user._id)});const D=o.models?.UserMeta||o.model("UserMeta",vt),At=async t=>await D.create({user:t}),X=async(t,e={})=>{const a=await D.findOne({user:t},e);return a||await At(t)},nd=(t,e)=>D.findOneAndUpdate({user:t},e,{returnDocument:"after",upsert:!0}),w=async(t,e)=>{await D.findOneAndUpdate({user:t},e,{returnDocument:"after",upsert:!0})},kt=async(t,e)=>{await w(t,[{$set:{berry:{$max:[{$add:["$berry",e]},0]}}}])},id=async(t,e)=>{await w(t,{$set:{premium:e}})},ld=async(t,e)=>{await w(t,{$set:{booster:e}})},dd=async(t,e)=>{const{xp:{boost:a}}=await nd(t,[{$set:{"xp.boost":{$cond:{if:{$or:[{$not:"$xp.boost"},{$lt:["$xp.boost",new Date]}]},then:{$add:[new Date,e]},else:{$add:["$xp.boost",e]}}}}}]);return a},qe=async(t,e)=>{if(Array.isArray(e)){for(const s of e)await qe(t,s);return}const a=g.transformToDBBuff(e);await w(t,[{$set:{[`buffs.${e.target}`]:{$map:{input:`$buffs.${e.target}`,as:"buff",in:{$cond:{if:{$eq:[{$substr:["$$buff.origin",0,{$indexOfBytes:["$$buff.origin","/"]}]},e.origin.split("/")[0]]},then:{multiplier:e.multiplier,origin:e.origin,expireAt:a.expireAt?{$cond:{if:{$lt:["$$buff.expireAt",new Date]},then:a.expireAt,else:{$add:["$$buff.expireAt",(e.endIn??0)*60*60*1e3]}}}:null,startAt:{$cond:{if:{$gte:["$$buff.startAt",new Date]},then:"$$buff.startAt",else:{$add:[new Date,(e.startIn??0)*60*60*1e3]}}}},else:"$$buff"}}}}}},{$set:{[`buffs.${e.target}`]:{$cond:{if:{$in:[e.origin.split("/")[0],{$map:{input:`$buffs.${e.target}`,as:"buff",in:{$substr:["$$buff.origin",0,{$indexOfBytes:["$$buff.origin","/"]}]}}}]},then:`$buffs.${e.target}`,else:{$concatArrays:[`$buffs.${e.target}`,[{...a}]]}}}}}])},Pe=async(t,e)=>{await w(t,{$pull:{[`buffs.${e.target}`]:{origin:e.origin}}})},cd=async(t,e,a,s)=>{const i=g.fromDBToEquipableEquipment(e),c=p.filterNullAndUndefined(Object.values(a)),u=g.allPanoplies.find(M=>M.id===i.panoply);if(!u)return;const f=u.equipments.filter(M=>(c.find(q=>M.id===q.id)||!s&&i.id===M.id)&&(s?i.id!==M.id:!0)).length,b=f===u.equipments.length?u.fullBonus:f>=u.equipments.length/2?u.halfBonus:void 0;u.halfBonus&&"target"in u.halfBonus&&await Pe(t,u.halfBonus),u.fullBonus&&"target"in u.fullBonus&&await Pe(t,u.fullBonus),b&&"target"in b&&await qe(t,b)},xt=async(t,e,{userMeta:a,userInventory:s})=>{const i=a??await X(t,{buffs:0,xp:0}),c=s??await L(t,{itemList:0,equipmentList:0}),f=await Q(t,i,c)-i.hp;await w(t,{$set:{hp:i.hp+Math.floor(Math.min(e,f))}})},od=async(t,e)=>{await w(t,[{$set:{hp:{$max:[{$add:["$hp",-e]},0]}}}])},T=async(t,e)=>{const a=await Q(t);await w(t,[{$set:{hp:{$round:[{$multiply:[{$divide:["$hp",e]},a]},0]}}}])},ud=Object.freeze(Object.defineProperty({__proto__:null,addBerry:kt,addCharacteristics:async(t,e)=>{const a=await Q(t),s=Object.fromEntries(Object.entries(e).filter(([,i])=>i!==0).map(([i,c])=>[`characteristics.${i}`,c]));await w(t,{$inc:s}),T(t,a)},addMinutesInVoiceToday:async(t,e)=>{await w(t,{$inc:{"xp.voice.minutesInVoiceToday":e}})},addScrollCharacteristic:async(t,e)=>{const a=await Q(t),s=Object.fromEntries(Object.entries(e).filter(([,i])=>i!==0).map(([i,c])=>[`scrolls.${i}`,c]));await w(t,{$inc:s}),T(t,a)},gainHp:xt,incrementWorkUnluckyStreak:async t=>{await w(t,{$inc:{workUnluckyStreak:1}})},loseHp:od,removeBuff:Pe,resetCharacteristics:async(t,e,a)=>{const s=await Q(t,a),i={vitality:0,strength:0,agility:0,chance:0,intelligence:0,wisdom:0};e?await w(t,{$set:{characteristics:i,"resetCharacteristics.free":!1}}):await w(t,{$set:{characteristics:i,"resetCharacteristics.nextAvailable":new Date(Date.now()+720*60*60*1e3)},$inc:{berry:-1e8}}),T(t,s)},resetMinutesInVoiceToday:async t=>{await w(t,{$set:{"xp.voice.minutesInVoiceToday":0}})},resetWorkUnluckyStreak:async t=>{await w(t,{$set:{workUnluckyStreak:0}})},updateBoost:dd,updateBooster:ld,updateBuff:qe,updateHp:T,updateLastVoiceConnection:async(t,e)=>{await w(t,{$set:{"xp.voice.lastConnection":e}})},updatePanoplyBuff:cd,updatePremium:id,updateScam:async(t,e)=>{await w(t,{$set:{scam:e}})}},Symbol.toStringTag,{value:"Module"})),fd=async t=>{const e=[];for(const a of Object.values(Ee)){const s=new a;if(s.onUserInventoryUpdate?.(t)){const i=await s.complete(t.user._id,{});i&&e.push([s,i])}}e.length>0&&k("userInventoryUpdate",t.user._id,e)},$t=new o.Schema({user:{type:o.Schema.Types.ObjectId,required:!0,unique:!0,ref:"User"},equippedItems:{type:Object,default:{}},equipmentSave:{type:[Object],default:[]},equipmentList:{type:[{id:String,seed:Number}],default:[]},itemList:{type:Map,of:Number,default:{}},recipes:{type:[String],default:[]}},{minimize:!1});$t.post("findOneAndUpdate",async function(t){await El(t),await fd(t)});const J=o.models?.UserInventory||o.model("UserInventory",$t),x=async(t,e)=>{await J.findOneAndUpdate({user:t},e,{upsert:!0,returnDocument:"after"})},$=async(t,e,a)=>{await x(t,{$inc:{[`itemList.${e}`]:a}}),await pe(t,[e])},pd=async(t,e)=>{await x(t,{$inc:Object.fromEntries(Object.entries(e).filter(([,a])=>(a??0)>0).map(([a,s])=>[`itemList.${a}`,s]))}),await pe(t,p.recordToArray(e).filter(([,a])=>a>0).map(([a])=>a))},F=async(t,e,a)=>{a!==0&&await x(t,[{$set:{[`itemList.${e}`]:{$max:[{$add:[`$itemList.${e}`,-a]},0]}}}])},Nt=async(t,e,a)=>{await x(t,{$pull:{equipmentList:{id:e,seed:a}}})},Ot=async(t,e,a,s)=>{a!==0&&(g.isEquipmentId(e)?await Nt(t,e,s):await F(t,e,a))},md=async(t,e)=>{await x(t,{$set:{[`itemList.${e}`]:0}})},Le=async(t,e)=>{await x(t,{$push:{equipmentList:{$each:e}}}),await pe(t,e.map(a=>a.id))},gd=async t=>{const e=await L(t);await x(t,{$push:{equipmentSave:e.equippedItems}})},yd=async(t,e)=>{const a=await L(t);if(!a.equipmentSave[e])return;Object.entries(a.equipmentSave[e]).forEach(([i,c])=>{g.EQUIPMENT_SLOT.find(u=>u===i)&&Et(t,i,c)})},Et=async(t,e,a)=>{const s=await Q(t);await x(t,{$set:{[`equippedItems.${e}`]:a}}),await T(t,s)},bd=async(t,e)=>{const a=await Q(t);await x(t,{$set:{[`equippedItems.${e}`]:null}}),await T(t,a)},wd=async(t,e,a,s,i)=>{for(const{itemId:f,size:b}of e)await F(t,f,b*s);const{itemId:c,size:u}=a;g.isEquipmentId(c)?await Le(t,[{id:c,seed:i}]):await $(t,c,u*s)},hd=async(t,e,a,s,i)=>{await Ot(t,e.id,s,i);for(const{entityId:c,quantity:u}of a)g.isEquipmentId(c)||await $(t,c,s*u);await F(t,"tools",1)},_d=async(t,e,a,s)=>{await F(t,e,s*4),await F(t,"enchanted_stone",s),await $(t,a,s)},Sd=async(t,e)=>{await x(t,{$addToSet:{recipes:e}})},It=async(t,e,a)=>{await $(t,e,a)},Dt=async(t,e)=>{e.forEach(async a=>await It(t,a.chest,a.size))},Bd=Object.freeze(Object.defineProperty({__proto__:null,addEquipments:Le,addInventoryItem:$,addInventoryItems:pd,changeEquipedEquipment:yd,craftItem:wd,dismantleEntity:hd,enchantItem:_d,equip:Et,giveChest:It,giveChests:Dt,removeAllItemInventory:md,removeEquipment:Nt,removeInventoryEntity:Ot,removeInventoryItem:F,saveEquipments:gd,unequip:bd,unlockRecipe:Sd},Symbol.toStringTag,{value:"Module"})),Ft=async t=>await J.create({user:t}),L=async(t,e={})=>{const a=await J.findOne({user:t},e);return a||await Ft(t)},Ke=t=>Object.fromEntries(r.CHARACTERISTICS.map(e=>[e,y.getComputedCharacteristicValue(t.characteristics[e])+t.scrolls[e]])),Md=t=>Date.now()-t.xp.lastMessageWithXp.getTime()>60*1e3,je=t=>{const{boost:e}=t.xp;return(e!==null&&Date.now()<e.getTime()?.2:0)+Math.max(t.premium?.5:0,t.booster?.25:0)+t.buffs.xp.global.reduce((a,{expireAt:s,startAt:i,multiplier:c})=>a+((i??new Date)<=new Date&&(!s||!p.hasExpire(s))?c:0),0)},Cd=t=>{const e=t.trim().length,a=2;return e<10?10*a:e>300?300*a:e*a},Rd=t=>{const e=r.getCurrentLevel(t.xp.amount);return e<=10?5e3:e>10&&e<=20?1e4:e>20&&e<=30?2e4:e>30&&e<=40?3e4:e>40&&e<=50?5e4:e>50&&e<=60?75e3:e>60&&e<=70?15e4:e>70&&e<=80?25e4:e>80&&e<=90?4e5:e>90&&e<=100?75e4:e>100?14e6:0},Ud=(t,e,a)=>(e*=1+je(t),Math.ceil(e*a)),vd=(t,e,a)=>{const s=a?1:Qt(t);return e<=0?e:Math.ceil(e*(s||1))},Ad=t=>t.buffs.cooldown.work.reduce((e,{expireAt:a,startAt:s,multiplier:i})=>e+(new Date>=(s??new Date)&&(!a||!p.hasExpire(a))?i:0),1),kd=t=>t.buffs.drop.work.reduce((e,{expireAt:a,startAt:s,multiplier:i})=>e+(new Date>=(s??new Date)&&(!a||!p.hasExpire(a))?i:0),1),xd=t=>t.buffs.berry.work.reduce((e,{expireAt:a,startAt:s,multiplier:i})=>e+(new Date>=(s??new Date)&&(!a||!p.hasExpire(a))?i:0),1),Qt=t=>t.buffs.berry.global.reduce((e,{expireAt:a,startAt:s,multiplier:i})=>e+(new Date>=(s??new Date)&&(!a||!p.hasExpire(a))?i:0),1),$d=t=>t.buffs.cooldown.casino.reduce((e,{expireAt:a,startAt:s,multiplier:i})=>e+(new Date>=(s??new Date)&&(!a||!p.hasExpire(a))?i:0),1),Q=async(t,e,a)=>{const s=e??await X(t,{buffs:0,xp:0}),i=a??await L(t,{itemList:0,equipmentList:0});return((Ke(s).vitality??0)+Ae(i).vitality)*r.HP_PER_VITALITY+r.DEFAULT_MAX_HP},Nd=Object.freeze(Object.defineProperty({__proto__:null,calcBerry:vd,calcBerryGlobalBuff:Qt,calcBerryWorkBuff:xd,calcCooldownCasinoBuff:$d,calcCooldownWorkBuff:Ad,calcDropWorkBuff:kd,calcMessageXp:Cd,calcXp:Ud,calcXpBoost:je,getBerryRank:async t=>(await D.aggregate([{$setWindowFields:{sortBy:{berry:-1},output:{rank:{$rank:{}}}}},{$match:{_id:t}},{$project:{rank:1}}]))[0],getGlobalRank:async t=>(await D.aggregate([{$setWindowFields:{sortBy:{"xp.amount":-1},output:{rank:{$rank:{}}}}},{$match:{_id:t}},{$project:{rank:1}}]))[0],getMaxHp:Q,getTotalCharacteristics:Ke,getXpDeathPenalties:Rd,hasCharacteristicRequirement:async(t,e,a,s)=>{const i=a??await X(t,{buffs:0,xp:0}),c=s??await L(t,{itemList:0,equipmentList:0}),u=p.mergeObjects(Ke(i),Ae(c),(f,b)=>f+b);if("sum"in e){let f=0;for(const b of e.characteristics)f+=u[b]??0;return f>=e.sum}else{for(const f of Object.keys(e))if(u[f]<(e[f]??0))return!1;return!0}},hasMalusBuff:t=>{const e=[...t.buffs.xp.global,...t.buffs.berry.global,...t.buffs.berry.work,...t.buffs.cooldown.work,...t.buffs.cooldown.casino,...t.buffs.drop.work];for(const{multiplier:a,startAt:s,expireAt:i}of e)if(a<0&&(!i||!p.hasExpire(i))&&(s??new Date)<=new Date)return!0;return!1},isCooldownForXpPassed:Md},Symbol.toStringTag,{value:"Module"})),Od=new o.Schema({user:{type:o.Schema.Types.ObjectId,required:!0,unique:!0,ref:"User"},raid:{classic:{type:Date,default:new Date(0)},special:{type:Date,default:new Date(0)},christmas:{type:Date,default:new Date(0)}},lockUserCommand:{type:Date,default:new Date(0)},commands:{work:{type:Date,default:new Date(0)},dice:{type:Date,default:new Date(0)},qod:{type:Date,default:new Date(0)},guess:{type:Date,default:new Date(0)},blackjack:{type:Date,default:new Date(0)},rps:{type:Date,default:new Date(0)}}}),Z=o.models?.UserCooldown||o.model("UserCooldown",Od),ee=async(t,e)=>{await Z.updateOne({user:t},e,{upsert:!0})},Ed=async(t,e)=>{await ee(t,[{$set:{"raid.special":{$subtract:[{$ifNull:["$raid.special",new Date]},e*3600*1e3]},"raid.classic":{$subtract:[{$ifNull:["$raid.classic",new Date]},e*3600*1e3]},"raid.christmas":{$subtract:[{$ifNull:["$raid.christmas",new Date]},e*3600*1e3]}}}]),await ve(t,"raid/special",-1*e*3600*1e3),await ve(t,"raid/classic",-1*e*3600*1e3)},qt=async(t,e,a,s)=>{await ee(t,{$set:{[`raid.${e}`]:new Date(Date.now()+a)}}),s.raid[e]&&await Ue(t,`raid/${e}`,new Date(Date.now()+a))},Id=Object.freeze(Object.defineProperty({__proto__:null,lockUserCommand:async t=>{await ee(t,{$set:{lockUserCommand:new Date(Date.now()+2*3600*1e3)}}),await xt(t,1,{})},reduceRaidCooldown:Ed,startRaidCooldown:qt,useCommand:async(t,e,a,s)=>{await ee(t,{$set:{[`commands.${e}`]:new Date(Date.now()+a)}}),s.commands[e]&&await Ue(t,`commands/${e}`,new Date(Date.now()+a))}},Symbol.toStringTag,{value:"Module"})),Dd=["work","rps","blackjack","guess","qod","dice"],Pt=async t=>await Z.create({user:t}),Fd=async(t,e={})=>{const a=await Z.findOne({user:t},e);return a||await Pt(t)},Lt=new o.Schema({user:{type:o.Schema.Types.ObjectId,required:!0,unique:!0,ref:"User"},crew:{type:o.Schema.Types.ObjectId,ref:"Crew",required:!0,index:!0},permission:String,percent:Number,lastAllMembersDaily:{type:Date,default:new Date(0)}},{minimize:!1});Lt.virtual("inventory",{ref:"Crew",localField:"crew",foreignField:"_id",justOne:!0});const K=o.models?.UserCrew||o.model("UserCrew",Lt),He=async(t,e)=>{await K.updateOne({user:t},e,{upsert:!0})},Qd=async(t,e)=>{await He(t,{$set:{percent:e}})},Kt=async t=>{await He(t,{$set:{lastAllMembersDaily:new Date}})},qd=Object.freeze(Object.defineProperty({__proto__:null,allMembersDailyComplete:Kt,updatePercent:Qd},Symbol.toStringTag,{value:"Module"})),jt=t=>K.findOne({user:t}),Pd=async(t,e,a,s)=>await K.create({user:t,crew:e,percent:s,permission:a}),Ld=t=>K.exists({user:t}),Kd=async t=>{await K.deleteOne({user:t})},jd=new o.Schema({user:{type:o.Schema.Types.ObjectId,required:!0,unique:!0,ref:"User"},xpYesterday:{type:Number,default:0},berryYesterday:{type:Number,default:0},previousOrnament:{unlockedBadges:{type:[String],default:[]},unlockedTitles:{type:[String],default:[]},unlockedBackgrounds:{type:[String],default:[]}},previousCompletedQuest:{type:[String],default:[]},previousMessageSent:{type:Number,default:0}}),me=o.models?.UserDailyReport||o.model("UserDailyReport",jd),Ht=async(t,e)=>{await me.updateOne({user:t},e,{upsert:!0})},Hd=Object.freeze(Object.defineProperty({__proto__:null,updateDailyReport:async(t,e)=>{await Ht(t,{$set:{xpYesterday:e.meta.xp.amount,berryYesterday:e.meta.berry,previousCompletedQuest:e.quest.completed,"previousOrnament.unlockedBadges":e.ornaments.unlockedBadges,"previousOrnament.unlockedTitles":e.ornaments.unlockedTitles,"previousOrnament.unlockedBackgrounds":e.ornaments.unlockedBackgrounds,previousMessageSent:e.questMeta.messageSent}})}},Symbol.toStringTag,{value:"Module"})),Gd=new o.Schema({user:{type:o.Schema.Types.ObjectId,required:!0,unique:!0,ref:"User"},guess:{type:{tries:Number,amount:Number,numberToGuess:Number,lastGuess:Number},default:null}}),te=o.models?.UserGames||o.model("UserGames",Gd),ge=async(t,e)=>{await te.updateOne({user:t},e,{upsert:!0})},Td=Object.freeze(Object.defineProperty({__proto__:null,resetGuessGame:async t=>{await ge(t,{$set:{guess:null}})},setGuessGame:async(t,e,a,s)=>{await ge(t,{$set:{guess:{amount:e,tries:a,numberToGuess:s,lastGuess:0}}})},updateGuessGame:async t=>{await ge(t,{$inc:{"guess.tries":1},$set:{"guess.lastGuess":Date.now()}})}},Symbol.toStringTag,{value:"Module"})),Gt=async t=>await te.create({user:t}),Vd=async(t,e)=>{const a=await te.findOne({user:t},e);return a||await Gt(t)},Yd=async t=>{const e=[];for(const a of Object.values(De)){const s=new a;if(s.onUserOrnamentsUpdate?.(t)){const i=await s.complete(t.user._id,{});i&&e.push([s,i])}}e.length>0&&k("userOrnamentsUpdate",t.user._id,e)},Tt=new o.Schema({user:{type:o.Schema.Types.ObjectId,required:!0,unique:!0,ref:"User"},unlockedFactionBadges:{type:[String],default:[]},unlockedBadges:{type:[String],default:[]},unlockedTitles:{type:[String],default:[]},selectedTitle:{type:String,default:null},unlockedBackgrounds:{type:[String],default:["default"]},selectedBackground:{type:String,default:"default"},unlockedProfileAssets:{type:[String],default:[]},unlockedBags:{type:[String],default:["default"]},selectedBag:{type:String,default:"default"}});Tt.post("findOneAndUpdate",async function(t){await Yd(t)});const ae=o.models?.UserOrnaments||o.model("UserOrnaments",Tt),R=async(t,e)=>{await ae.findOneAndUpdate({user:t},e,{upsert:!0,returnDocument:"after"})},Ge=async(t,e)=>{await R(t,{$addToSet:{unlockedTitles:e}})},zd=async(t,e)=>{await R(t,{$addToSet:{unlockedTitles:{$each:e}}})},Wd=async(t,e)=>{await R(t,{$set:{selectedTitle:e}})},Vt=async(t,e)=>{await R(t,{$addToSet:{unlockedBackgrounds:e}})},Xd=async(t,e)=>{await R(t,{$addToSet:{unlockedBackgrounds:{$each:e}}})},Jd=async(t,e)=>{await R(t,{$set:{selectedBackground:e}})},Yt=async(t,e,a)=>{e.isProgressive?await R(t,{$addToSet:{unlockedBadges:`${e.id}_${a}`}}):await R(t,{$addToSet:{unlockedBadges:e.id}})},zt=async(t,e)=>{await R(t,{$addToSet:{unlockedFactionBadges:{$each:[`b_marine_${e}`,`b_revolutionary_${e}`,`b_pirate_${e}`]}}})},Wt=async(t,e)=>{await R(t,{$addToSet:{unlockedProfileAssets:e}})},Zd=Object.freeze(Object.defineProperty({__proto__:null,selectBackground:Jd,selectBag:async(t,e)=>{await R(t,{$set:{selectedBag:e}})},selectTitle:Wd,unlockBackground:Vt,unlockBackgrounds:Xd,unlockBadge:Yt,unlockBag:async(t,e)=>{await R(t,{$addToSet:{unlockedBags:e}})},unlockFactionBadge:zt,unlockProfileAsset:Wt,unlockTitle:Ge,unlockTitles:zd},Symbol.toStringTag,{value:"Module"})),Xt=async t=>await ae.create({user:t}),ec=async(t,e)=>{const a=await ae.findOne({user:t},e);return a||await Xt(t)},tc=async t=>{const e=[];for(const a of Object.values(Qe)){const s=new a;if(s.onUserQuestUpdate?.(t)){const i=await s.complete(t.user._id,{_userQuest:t});i&&e.push([s,i])}}e.length>0&&k("userQuestUpdate",t.user._id,e)},Jt=new o.Schema({user:{type:o.Schema.Types.ObjectId,required:!0,unique:!0,ref:"User"},completed:{type:[String],default:[]},daily:{type:Object,default:{}},streak:{type:Number,default:0},lastFullComplete:{type:Date,default:new Date}},{minimize:!1});Jt.post("findOneAndUpdate",async function(t){await tc(t)});const se=o.models?.UserQuest||o.model("UserQuest",Jt),re=async(t,e)=>{await se.findOneAndUpdate({user:t},e,{upsert:!0,returnDocument:"after"})},Zt=async(t,e)=>{await re(t,{$addToSet:{completed:e}})},ea=async(t,e)=>{await re(t,[{$addFields:{[`daily.${e}`]:new Date}}])},ta=async(t,e)=>{p.sameDay(p.yesterday(),e)?await re(t,{$inc:{streak:1},$set:{lastFullComplete:new Date}}):await re(t,{$set:{lastFullComplete:new Date,streak:1}})},ac=Object.freeze(Object.defineProperty({__proto__:null,completeDailyQuest:ea,completeQuest:Zt,updateStreak:ta},Symbol.toStringTag,{value:"Module"})),aa=async t=>await se.create({user:t}),Te=async t=>{const e=await se.findOne({user:t});return e||await aa(t)},ne=(t,e)=>t.unlocked?.[e],sc=Object.freeze(Object.defineProperty({__proto__:null,alreadyObtainedRaidReward:(t,e,a)=>e in t.obtainedRewards?t.obtainedRewards[e].includes(a):!1,fulfillCondition:(t,e,a,s)=>s==="include"?a.every(i=>(t.obtainedConditions[e]??[]).includes(i)):a.every(i=>!(t.obtainedConditions[e]??[]).includes(i)),getObtainedRaidReward:(t,e)=>t.obtainedRewards[e]??[],hasUnlockedRaid:ne},Symbol.toStringTag,{value:"Module"})),rc=new o.Schema({user:{type:o.Schema.Types.ObjectId,required:!0,unique:!0,ref:"User"},currentRaid:{type:{raidId:String,seed:String,progression:{type:[String],default:[]},buffItem:String,rewards:{type:Object,default:{}}},default:void 0},obtainedConditions:{type:Object,default:{}},obtainedRewards:{type:Object,default:{}},unlocked:{type:Object,default:{}}},{minimize:!1}),ie=o.models?.UserRaid||o.model("UserRaid",rc),E=async(t,e)=>{await ie.updateOne({user:t},e,{upsert:!0})},le=async(t,e)=>{await E(t,{$set:{[`unlocked.${e}`]:!0}})},nc=Object.freeze(Object.defineProperty({__proto__:null,addRewardsToRaid:async(t,e)=>{await E(t,{$inc:Object.fromEntries(p.recordToArray(e).filter(([a])=>a!=="title"&&a!=="condition").map(([a,s])=>[`currentRaid.rewards.${a}`,s])),...e.title?{$set:{"currentRaid.rewards.title":e.title}}:{}})},claimReward:async(t,e,a)=>{await E(t,{$addToSet:{[`obtainedRewards.${e}`]:a}})},progressRaid:async(t,e)=>{await E(t,{$push:{"currentRaid.progression":e}})},resetRaid:async t=>{await E(t,{$unset:{currentRaid:""}})},resetRaidProgression:async t=>{await E(t,{$set:{"currentRaid.progression":[]}})},startRaid:async(t,e,a,s,i,c)=>{const u=Date.now();return await E(t,{$set:{currentRaid:{raidId:e,buffItem:a,seed:u,progression:[],rewards:{}}}}),await qt(t,s,i,c),u},unlockRaid:le,updateCondition:async(t,e,a)=>{await E(t,{$addToSet:{[`obtainedConditions.${e}`]:a}})}},Symbol.toStringTag,{value:"Module"})),sa=async t=>await ie.create({user:t}),Ve=async t=>{const e=await ie.findOne({user:t});return e||await sa(t)},ic=Object.freeze(Object.defineProperty({__proto__:null,getShopItemRest:(t,e,a,s,i)=>{if(g.isEquipmentId(e))return s;let c=g.getAllItemsLimit()[e];const u=t.limit?.[e];return i==="half"&&e==="chest_2"&&(c+=2),i==="full"&&e==="chest_3"&&(c+=1),c?t.lastShopId!==a?c:u?c-u:Math.min(c,s):s},isShopBuyLimitReached:(t,e,a,s)=>{if(g.isEquipmentId(e))return!1;let i=g.getAllItemsLimit()[e];const c=t.limit?.[e];return s==="half"&&e==="chest_2"&&(i+=2),s==="full"&&e==="chest_3"&&(i+=1),t.lastShopId!==a?!1:!!(i&&c&&c>=i)}},Symbol.toStringTag,{value:"Module"})),lc=new o.Schema({user:{type:o.Schema.Types.ObjectId,required:!0,unique:!0,ref:"User"},lastShopId:{type:Number,default:0},limit:{type:Object,default:{}}},{minimize:!1}),ye=o.models?.UserShop||o.model("UserShop",lc),ra=async(t,e)=>{await ye.updateOne({user:t},e,{upsert:!0})},dc=Object.freeze(Object.defineProperty({__proto__:null,increaseShopBuyLimit:async(t,e,a,s)=>{await ra(t,[{$set:{limit:{$cond:{if:{$eq:["$lastShopId",a]},then:{$mergeObjects:["$limit",{[e]:{$add:[{$ifNull:[`$limit.${e}`,0]},s]}}]},else:{[e]:s}}},lastShopId:a}}])}},Symbol.toStringTag,{value:"Module"})),v={localField:"_id",foreignField:"user",justOne:!0},B=new o.Schema({userId:{type:String,required:!0,unique:!0},birthday:{type:Date,default:null},faction:{type:String,default:r.DEFAULT_FACTION},canChangeFaction:{type:Boolean,default:!1},canChooseFaction:{type:Boolean,default:!1},settings:{sort:{inventory:{type:String,default:"alpha"}},sendDailyReport:{type:Boolean,default:!1},sendDailyQuest:{type:Boolean,default:!1},reminder:{raid:{classic:{type:Boolean,default:!1},special:{type:Boolean,default:!1},christmas:{type:Boolean,default:!1}},commands:{work:{type:Boolean,default:!1},dice:{type:Boolean,default:!1},qod:{type:Boolean,default:!1},blackjack:{type:Boolean,default:!1},guess:{type:Boolean,default:!1},rps:{type:Boolean,default:!1}}}}});B.virtual("inventory",{ref:"UserInventory",...v}),B.virtual("raid",{ref:"UserRaid",...v}),B.virtual("games",{ref:"UserGames",...v}),B.virtual("ornaments",{ref:"UserOrnaments",...v}),B.virtual("crew",{ref:"UserCrew",...v}),B.virtual("dailyReport",{ref:"UserDailyReport",...v}),B.virtual("shop",{ref:"UserShop",...v}),B.virtual("meta",{ref:"UserMeta",...v}),B.virtual("quest",{ref:"UserQuest",...v}),B.virtual("questMeta",{ref:"UserQuestMeta",...v}),B.virtual("cooldown",{ref:"UserCooldown",...v}),B.virtual("reminder",{ref:"Reminder",localField:"_id",foreignField:"user"}),B.virtual("encyclopedia",{ref:"UserEncyclopedia",...v}),B.post("deleteOne",async function(){const t=this.getQuery()._id;await J.deleteOne({user:t}),await te.deleteOne({user:t}),await ae.deleteOne({user:t}),await ie.deleteOne({user:t}),await K.deleteOne({user:t}),await me.deleteOne({user:t}),await ye.deleteOne({user:t}),await D.deleteOne({user:t}),await se.deleteOne({user:t}),await N.deleteOne({user:t}),await Z.deleteOne({user:t}),await z.deleteOne({user:t})});const U=o.models?.User||o.model("User",B),cc=t=>U.create({userId:t}),be=async(t,e={})=>{const a=await na({userId:t},e);return a||await cc(t)},na=(t,e={})=>U.findOne(t,e),oc=Object.freeze(Object.defineProperty({__proto__:null,getAllDailyReport:async()=>U.aggregate([{$match:{"settings.sendDailyReport":!0}},{$lookup:{from:"usermetas",localField:"_id",foreignField:"user",as:"meta"}},{$lookup:{from:"userdailyreports",localField:"_id",foreignField:"user",as:"dailyReport"}},{$match:{$and:[{$expr:{$gt:["$dailyReport.xpYesterday",0]}},{faction:{$ne:"citizen"}}]}}]),getBerryRanking:async()=>U.aggregate([{$lookup:{from:"usermetas",localField:"_id",foreignField:"user",as:"meta"}},{$unwind:"$meta"},{$sort:{"meta.berry":-1}},{$limit:10},{$project:{_id:1,userId:1,"meta.berry":1}}]),getDailyReport:t=>{const{berry:e,xp:a}=t.meta,{voice:s,amount:i}=a,{unlockedBadges:c,unlockedBackgrounds:u,unlockedTitles:f}=t.ornaments,{previousOrnament:b,previousCompletedQuest:M,xpYesterday:q,berryYesterday:j,previousMessageSent:de}=t.dailyReport;return{berry:e-j,xp:i-q,message:t.questMeta.messageSent-de,voice:p.sameDay(s.lastConnection,p.yesterday())?s.minutesInVoiceToday:0,quest:p.exclude(t.quest.completed,M),badge:p.exclude(c,b.unlockedBadges),title:p.exclude(f,b.unlockedTitles),background:p.exclude(u,b.unlockedBackgrounds)}},getFactionRank:async(t,e)=>(await U.aggregate([{$lookup:{from:"usermetas",localField:"_id",foreignField:"user",as:"meta"}},{$unwind:"$meta"},{$match:{faction:t.faction}},{$setWindowFields:{sortBy:{"meta.xp.amount":-1},output:{rank:{$rank:{}}}}},{$match:{_id:e}},{$project:{rank:1}}]))[0],getFactionRanking:async t=>U.aggregate([{$match:{faction:t}},{$lookup:{from:"usermetas",localField:"_id",foreignField:"user",as:"meta"}},{$unwind:"$userMeta"},{$sort:{"userMeta.xp.amount":-1}},{$limit:10},{$project:{_id:1,userId:1,"meta.xp.amount":1}}]),getGlobalRanking:async()=>U.aggregate([{$lookup:{from:"usermetas",localField:"_id",foreignField:"user",as:"meta"}},{$unwind:"$meta"},{$sort:{"meta.xp.amount":-1}},{$limit:10},{$project:{_id:1,userId:1,"meta.xp.amount":1}}]),getNextBirthdays:()=>U.aggregate([{$match:{birthday:{$ne:null}}},{$addFields:{day:{$dayOfMonth:"$birthday"},month:{$month:"$birthday"},year:{$year:"$birthday"},nextBirthday:{$dateFromParts:{year:{$cond:[{$lt:[{$dateFromParts:{year:{$year:new Date},month:{$month:"$birthday"},day:{$dayOfMonth:"$birthday"}}},new Date]},{$add:[{$year:new Date},1]},{$year:new Date}]},month:{$month:"$birthday"},day:{$dayOfMonth:"$birthday"}}}}},{$sort:{nextBirthday:1}},{$limit:10},{$project:{_id:0,userId:1,birthday:1,nextBirthday:1}}]),getSuccessRanking:async()=>U.aggregate([{$lookup:{from:"userquests",localField:"_id",foreignField:"user",as:"quest"}},{$unwind:"$quest"},{$addFields:{success_count:{$size:{$ifNull:["$quest.completed",[]]}}}},{$sort:{success_count:-1}},{$limit:10},{$project:{_id:1,userId:1,"quest.completed":1}}]),getTodayAllBirthday:()=>U.aggregate([{$match:{birthday:{$ne:null}}},{$addFields:{birthMonth:{$month:"$birthday"},birthDay:{$dayOfMonth:"$birthday"}}},{$addFields:{currentMonth:{$month:new Date},currentDay:{$dayOfMonth:new Date}}},{$match:{$expr:{$and:[{$eq:["$birthMonth","$currentMonth"]},{$eq:["$birthDay","$currentDay"]}]}}}]),getUserBirthday:async t=>await be(t,{birthday:1})},Symbol.toStringTag,{value:"Module"})),I=async(t,e,a=!1)=>{await U.updateOne(t,e,{upsert:a})},ia=async(t,e)=>{await I({_id:t},{$set:{canChooseFaction:e}})},la=async(t,e)=>{await I({_id:t},{$set:{canChangeFaction:e}})},uc=Object.freeze(Object.defineProperty({__proto__:null,canChangeFaction:la,canChooseFaction:ia,removeBirthday:async t=>{await I({userId:t},{$set:{birthday:null}})},setBirthday:async(t,e)=>{await I({userId:t},{$set:{birthday:e}})},updateFaction:async(t,e)=>{await I({_id:t},{$set:{faction:e}})},updateInventorySort:async(t,e)=>{await I({_id:t},{$set:{"settings.sort.inventory":e}})},updateReminderSettings:async(t,e,a)=>{await I({_id:t},{$set:{[`settings.reminder.${e}`]:a}})},updateSendDailyQuest:async(t,e)=>{await I({userId:t},{$set:{"settings.sendDailyQuest":e}})},updateSendDailyReport:async(t,e)=>{await I({userId:t},{$set:{"settings.sendDailyReport":e}})}},Symbol.toStringTag,{value:"Module"})),fc=async t=>{await U.deleteOne({userId:t})},pc=async t=>await me.create({user:t}),mc=async t=>await N.create({user:t}),gc=async t=>await ye.create({user:t}),da=(t,e)=>{switch(t){case"dailyReport":return pc(e);case"games":return Gt(e);case"inventory":return Ft(e);case"meta":return At(e);case"raid":return sa(e);case"ornaments":return Xt(e);case"quest":return aa(e);case"questMeta":return mc(e);case"shop":return gc(e);case"cooldown":return Pt(e);case"reminder":return[];case"crew":return null;case"encyclopedia":return pt(e)}},ca=async(t,e,a)=>{if(Array.isArray(e)){const s=await t.populate(e);for(const i of e)s[i]||(s[i]=await da(i,t._id));return s}else{const s=await t.populate(e,a),i=s[e];return(!i||Array.isArray(i)&&i.length===0)&&(s[e]=await da(e,t._id)),s}},oa=new o.Schema({warnedUserId:String,authorId:String,date:{type:Date,default:Date.now()},reason:{type:String,default:null}});oa.index({warnedUserId:1});const V=o.models?.Warns||o.model("Warns",oa),yc=Object.freeze(Object.defineProperty({__proto__:null,getUserWarnCount:async t=>await V.countDocuments({warnedUserId:t}),getUserWarns:async t=>await V.find({warnedUserId:t})},Symbol.toStringTag,{value:"Module"})),bc=async t=>await V.findOne({warnedUserId:t}),wc=async t=>await V.create({...t}),hc=async t=>await V.findByIdAndDelete(t),_c=async t=>{const e={};for(const a of Object.values(Oe)){const s=new a;for(const i of t.members){const c=await be(i,{_id:1});if(s.onCrewUpdate?.(t,c._id)){const u=await s.complete(c._id,{});if(u){const f=e[c.id];e[c.id]=f?[c._id,[...f[1],[s,u]]]:[c._id,[[s,u]]]}}}}Object.values(e).forEach(([a,s])=>{k("crewUpdate",a,s)})},Sc={localField:"_id",foreignField:"crew",justOne:!0},we=new o.Schema({createdBy:String,members:{type:[String],default:[]},limit:{type:Number,default:3},name:String,description:String,channelId:String,meta:{xp:{type:Number,default:0},berry:{type:Number,default:0},buffs:{xp:{boost:{type:Number,default:0},expireAt:{type:Date,default:null}}}},disintegration:{type:Number,default:100},faction:String,stats:{type:Object,default:{}},ornament:{unlockedBadges:[String]}},{timestamps:!0,minimize:!1});we.index({"meta.xp":-1}),we.virtual("quest",{ref:"CrewQuest",...Sc}),we.post("findOneAndUpdate",async function(t){await _c(t)});const Y=o.models?.Crew||o.model("Crew",we),Bc=(t,e)=>Math.ceil(e*(t.disintegration/100)*(ua(t)||1)),ua=t=>new Date>=(t.meta.buffs.xp.expireAt??new Date(0))?!1:t.meta.buffs.xp.boost,Mc=Object.freeze(Object.defineProperty({__proto__:null,calcXp:Bc,getCrewRank:async t=>(await Y.aggregate([{$setWindowFields:{sortBy:{"meta.xp":-1},output:{rank:{$rank:{}}}}},{$match:{_id:t._id}},{$project:{_id:1,"meta.xp":1,rank:1}}]))[0],getCrewRanking:async()=>Y.aggregate([{$sort:{"meta.xp":-1}},{$limit:10}]),hasXpBuff:ua},Symbol.toStringTag,{value:"Module"})),O=async(t,e)=>{await Y.findOneAndUpdate({_id:t},e,{returnDocument:"after"})},fa=async(t,e,a)=>{e.isProgressive?await O(t,{$addToSet:{"ornament.unlockedBadges":`${e.id}_${a}`}}):await O(t,{$addToSet:{"ornament.unlockedBadges":e.id}})},Cc=Object.freeze(Object.defineProperty({__proto__:null,addBerry:async(t,e,a)=>{await O(t,{$inc:{"meta.berry":e,[`stats.${a.toHexString()}.berry`]:e}})},addMember:async(t,e)=>{await O(t,{$addToSet:{members:e}})},addXp:async(t,e,a)=>{await O(t,{$inc:{"meta.xp":e,[`stats.${a.toHexString()}.xp`]:e}})},addXpBuff:async(t,e)=>{await O(t,[{$set:{"meta.buffs.xp":{$cond:{if:{$or:[{$eq:["$meta.buffs.xp.expireAt",null]},{lt:["$meta.buffs.xp.expireAt",new Date]}]},then:{boost:1.1,expireAt:{$add:[new Date,e*60*60*1e3]}},else:{boost:1.1,expireAt:{$add:["$meta.buffs.xp.expireAt",e*60*60*1e3]}}}}}}])},applyDisintegration:async(t,e)=>{const[a,s]=[e-2,(e-3)*2+3];await O(t,[{$set:{disintegration:{$max:[{$add:["$disintegration",-1*p.randomBetween(a,s)]},0]}}}])},increaseLimit:async(t,e)=>{await O(t,{$inc:{limit:1,"meta.berry":-e}})},removeMember:async(t,e,a)=>{await O(t,{$pull:{members:e},$unset:{[`stats.${a}`]:1}})},repair:async(t,e)=>{await O(t,[{$set:{disintegration:{$min:[{$add:["$disintegration",e]},100]}}}])},unlockBadge:fa},Symbol.toStringTag,{value:"Module"})),Rc=async(t,e={})=>{const a=await Y.findById(t,e);return a||null},Uc=async(t,{name:e,description:a,channelId:s,faction:i})=>await Y.create({name:e,description:a,createdBy:t,channelId:s,faction:i,members:[t]}),pa=(t,e)=>{for(const[,a]of Object.entries(t.daily??{}))if(!a?.[e]||!p.sameDay(a[e],new Date))return!1;return!0},vc=Object.freeze(Object.defineProperty({__proto__:null,isAllDailyCompleted:pa},Symbol.toStringTag,{value:"Module"})),Ac=async t=>{const e={},{crew:a}=await t.populate("crew");for(const s of Object.values(Ne)){const i=new s;for(const c of a.members){const u=await be(c,{_id:1,crew:1}).then(f=>ca(f,"crew",{lastAllMembersDaily:1}));if(u.crew&&i.onCrewQuestUpdate?.(t,u.crew)){const f=await i.complete(u._id,{});if(f){const b=e[u.id];e[u.id]=b?[u._id,[...b[1],[i,f]]]:[u._id,[[i,f]]]}}}}Object.values(e).forEach(([s,i])=>{k("crewQuestUpdate",s,i)})},ma=new o.Schema({crew:{type:o.Schema.Types.ObjectId,required:!0,unique:!0,ref:"Crew"},completed:[String],daily:{type:Object,default:{}},meta:{streak80Percent:{type:Number,default:0},maxVoiceMembers:{type:Number,default:0},actualVoiceMembers:{amount:{type:Number,default:0},connectedAt:{type:Date,default:new Date}}}},{minimize:!1});ma.post("findOneAndUpdate",async function(t){await Ac(t)});const he=o.models?.CrewQuest||o.model("CrewQuest",ma),_e=async(t,e)=>{await he.findOneAndUpdate({crew:t},e,{upsert:!0,returnDocument:"after"})},ga=async(t,e)=>{await _e(t,{$addToSet:{completed:e}})},ya=async(t,e,a)=>{await _e(t,[{$addFields:{[`daily.${e}.${a}`]:new Date}}])},kc=Object.freeze(Object.defineProperty({__proto__:null,completeDailyQuest:ya,completeQuest:ga,setActualVoiceMembers:async(t,e)=>{await _e(t,{$set:{"meta.actualVoiceMembers.amount":e,"meta.actualVoiceMembers.connectedAt":new Date}})},setMaxVoiceMembers:async(t,e)=>{await _e(t,{$set:{"meta.maxVoiceMembers":e}})}},Symbol.toStringTag,{value:"Module"})),Ye=async t=>await he.create({crew:t}),xc=async t=>{const e=await he.findOne({crew:t});return e||await Ye(t)},ba=(t,e)=>{switch(t){case"quest":return Ye(e)}},$c=async(t,e,a)=>{if(Array.isArray(e)){const s=await t.populate(e);for(const i of e)s[i]||(s[i]=await ba(i,t._id));return s}else{const s=await t.populate(e,a),i=s[e];return(!i||Array.isArray(i)&&i.length===0)&&(s[e]=await ba(e,t._id)),s}},Nc=t=>{o.connect(t)};class Oc extends o.Types.ObjectId{}l.ALL_QUESTS=_t,l.BET_MAX_VALUE=cs,l.BET_MIN_VALUE=ds,l.BackgroundShopItem=Ze,l.BoostXpShopItem=et,l.BottleShopItem=rt,l.COOLDOWN_COMMANDS=Dd,l.ChestShopItem=tt,l.CrewQuestQuests=Ne,l.CrewQuests=Oe,l.EDITO_READ=os,l.EquipmentShopItem=st,l.ObjectId=Oc,l.ObjectShopItem=at,l.QUEST_ASSET_IMAGES=us,l.Quest=n,l.RepairShopItem=nt,l.StoreShopItem=it,l.TitleShopItem=lt,l.UserDailyQuests=ke,l.UserInventoryQuests=Ee,l.UserMetaQuests=Ie,l.UserOrnamentsQuests=De,l.UserQuestMetaQuests=Fe,l.UserQuestQuests=Qe,l.UserRepetableQuests=ce,l.banExists=Ma,l.banGetters=ha,l.banModel=H,l.betModel=Me,l.completeCrewQuest=ws,l.completeDailyQuest=bs,l.completeRepeatableQuest=hs,l.connectToServices=Nc,l.createBan=_a,l.createBet=Ua,l.createCrew=Uc,l.createCrewQuest=Ye,l.createInvitations=Aa,l.createReminder=Ha,l.createSettings=Je,l.createUserCrew=Pd,l.createWarn=wc,l.crewGetters=Mc,l.crewModel=Y,l.crewQuestGetters=vc,l.crewQuestModel=he,l.crewQuestUpdates=kc,l.crewUpdates=Cc,l.deleteBan=Ba,l.deleteInvitations=ka,l.deleteUserById=fc,l.deleteUserCrewById=Kd,l.deleteWarn=hc,l.emitQuestEvent=k,l.emitRaidEvent=W,l.emitUserMetaEvent=Ut,l.finWarnById=bc,l.findBan=Sa,l.findBetById=Ra,l.findCrewById=Rc,l.findCrewQuest=xc,l.findInvitations=va,l.findReminder=ja,l.findSettingsByGuildId=Na,l.findShop=ot,l.findShopByType=Qa,l.findUser=na,l.findUserById=be,l.findUserCooldown=Fd,l.findUserCrew=jt,l.findUserEncyclopedia=Wa,l.findUserGames=Vd,l.findUserInventory=L,l.findUserMeta=X,l.findUserOrnaments=ec,l.findUserQuest=Te,l.findUserRaid=Ve,l.getBadgeEmojisFromId=ys,l.getQuestBadgeEmojis=gs,l.invitationsModel=oe,l.onQuestEvent=Ja,l.onRaidEvent=Nl,l.onUserMetaEvent=rd,l.populateCrew=$c,l.populateUser=ca,l.questCanvas=ls,l.reminderGetters=Pa,l.reminderModel=P,l.reminderUpdates=Ka,l.settingsModel=ue,l.settingsUpdates=$a,l.shopGetters=Oa,l.shopModel=fe,l.shopUpdates=Da,l.updateUserCooldown=ee,l.updateUserCrew=He,l.updateUserDailyReport=Ht,l.updateUserEncyclopedia=ft,l.updateUserGames=ge,l.updateUserInventory=x,l.updateUserMeta=w,l.updateUserOrnaments=R,l.updateUserQuest=re,l.updateUserQuestMeta=m,l.updateUserRaid=E,l.updateUserShop=ra,l.userCooldownGetters=qa,l.userCooldownModel=Z,l.userCooldownUpdates=Id,l.userCrewExists=Ld,l.userCrewModel=K,l.userCrewUpdates=qd,l.userDailyReportModel=me,l.userDailyReportUpdates=Hd,l.userEncyclopediaGetters=Va,l.userEncyclopediaModel=z,l.userEncyclopediaUpdates=za,l.userGamesModel=te,l.userGamesUpdates=Td,l.userGetters=oc,l.userInventoryGetters=Ta,l.userInventoryModel=J,l.userInventoryUpdates=Bd,l.userMetaGetters=Nd,l.userMetaModel=D,l.userMetaUpdates=ud,l.userModel=U,l.userOrnamentsModel=ae,l.userOrnamentsUpdates=Zd,l.userQuestGetters=ms,l.userQuestMetaModel=N,l.userQuestMetaUpdates=ad,l.userQuestModel=se,l.userQuestUpdates=ac,l.userRaidGetters=sc,l.userRaidModel=ie,l.userRaidUpdates=nc,l.userSchema=B,l.userShopGetters=ic,l.userShopModel=ye,l.userShopUpdates=dc,l.userUpdates=uc,l.warnGetters=yc,l.warnModel=V,Object.defineProperty(l,Symbol.toStringTag,{value:"Module"})}));
1
+ (function(l,o){typeof exports=="object"&&typeof module<"u"?o(exports,require("mongoose"),require("@opfr/utils-lang"),require("@opfr/items"),require("@opfr/utils-type"),require("@opfr/raids"),require("events"),require("@opfr/ornaments"),require("@opfr/canvas")):typeof define=="function"&&define.amd?define(["exports","mongoose","@opfr/utils-lang","@opfr/items","@opfr/utils-type","@opfr/raids","events","@opfr/ornaments","@opfr/canvas"],o):(l=typeof globalThis<"u"?globalThis:l||self,o(l.services={},l.mongoose,l["@opfr/utils-lang"],l["@opfr/items"],l["@opfr/utils-type"],l["@opfr/raids"],l.events,l["@opfr/ornaments"],l["@opfr/canvas"]))})(this,(function(l,o,p,g,r,y,tt,d,C){"use strict";function Ca(t){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const a in t)if(a!=="default"){const s=Object.getOwnPropertyDescriptor(t,a);Object.defineProperty(e,a,s.get?s:{enumerable:!0,get:()=>t[a]})}}return e.default=t,Object.freeze(e)}const at=Ca(tt),ce=Object.freeze(Object.defineProperty({__proto__:null,get Annihilation(){return Qs},get Champion(){return Ps},get Cursed_Branch(){return xs},get EZ(){return Hs},get GiantHunter(){return Os},get Immortal(){return ks},get Insistent(){return Rs},get Massacre(){return Fs},get Master(){return Ls},get Participation(){return Gs},get Phoenix(){return As},get Rebirth(){return vs},get Resurrection(){return Us},get Sabotage(){return Es},get ShootingStar(){return js},get Sniper(){return Ds},get Top64(){return $s},get TrollSupreme(){return qs},get Unstoppable(){return Ks},get VictoryByKO(){return Is},get ZeroScored(){return Ns}},Symbol.toStringTag,{value:"Module"})),Be=new o.Schema({bannedUserId:String,authorId:String,unbannedTimestamp:Date,reason:String});Be.index({bannedUserId:1}),Be.index({unbannedTimestamp:1});const H=o.models?.Bans||o.model("Bans",Be),Ra=Object.freeze(Object.defineProperty({__proto__:null,getUnbanUsers:async()=>await H.find({unbannedTimestamp:{$lte:new Date,$ne:null}})},Symbol.toStringTag,{value:"Module"})),Ua=async t=>await H.create({...t}),va=async t=>await H.findOne({bannedUserId:t}),Aa=async t=>{await H.deleteOne({bannedUserId:t})},ka=t=>H.exists({bannedUserId:t}),xa=new o.Schema({betOwner:String,betId:Number,channelId:String,messageId:String,title:String,desc:String,state:String,end:Date,highestBet:Number,choices:{type:[String],default:[]},bets:{type:[{owner:String,amount:Number,choice:Number}],default:[]}}),Me=o.models?.Bets||o.model("Bets",xa),$a=async(t,e={})=>{const a=await Me.findById(t,e);return a||null},Na=async t=>await Me.create({...t}),st=new o.Schema({senderId:String,receiverId:String,amount:Number,gameMode:String,meta:{rps:{type:String,default:void 0}}});st.index({receiverId:1});const oe=o.models?.Invitations||o.model("Invitations",st),Oa=async t=>{const e=await oe.findOne({...t});return e||null},Ea=async t=>await oe.create({...t}),Ia=async t=>{await oe.deleteMany({...t})},Da=new o.Schema({guildId:{type:String,required:!0,unique:!0},suggestionChannelId:{type:String,default:null},reportChannelId:{type:String,default:null},reportModeratorChannelId:{type:String,default:null},factionChannelId:{type:String,default:null},discussionChannelId:{type:String,default:null},questFallbackChannelId:{type:String,default:null},reportBugChannelId:{type:String,default:null},expeditionChannelId:{type:String,default:null},ranking:{channelId:{type:String,default:null},messageId:{type:String,default:null}},roles:{premium:{type:String,default:null},booster:{type:String,default:null},scam:{type:String,default:null}},channels:{gambling:{type:String,default:null},work:{type:String,default:null},raid:{type:String,default:null}},edito:{channelId:{type:String,default:null},price:{type:Number,default:100},sentAtMidnight:{type:Boolean,default:!1},messageId:{type:String,default:null}},crew:{infoChannelId:{type:String,default:null},crewChannelIds:{type:[{channelId:{type:String},crewId:{type:String}}],default:[]}},shopChannelId:{type:String,default:null},blackMarketChannelId:{type:String,default:null}}),ue=o.models?.Settings||o.model("Settings",Da),_=async(t,e,a=!1)=>{await ue.updateOne({guildId:t},e,{upsert:a})},Fa=Object.freeze(Object.defineProperty({__proto__:null,addCrewChannelId:async(t,e,a)=>{await _(t,{$push:{"crew.crewChannelIds":{channelId:a,crewId:e}}})},randomizeEditoPrice:async t=>{const e=p.randomBetween(100,1001);return await _(t,{$set:{"edito.price":e}}),e},sentAtMidnight:async(t,e)=>{await _(t,{$set:{"edito.sentAtMidnight":e}})},setCrewInfoChannelId:async(t,e)=>{await _(t,{$set:{"crew.infoChannelId":e}})},setDiscussionChannelId:async(t,e)=>{await _(t,{$set:{discussionChannelId:e}})},setEditoChannel:async(t,e)=>{await _(t,{$set:{"edito.channelId":e}})},setEditoMessageId:async(t,e)=>{await _(t,{$set:{"edito.messageId":e}})},setFactionChannel:async(t,e)=>{await _(t,{$set:{factionChannelId:e}})},setQuestChannelId:async(t,e)=>{await _(t,{$set:{questFallbackChannelId:e}})},setRankingChannel:async(t,e)=>{await _(t,{$set:{"ranking.channelId":e}})},setRankingMessage:async(t,e)=>{await _(t,{$set:{"ranking.messageId":e}})},setReportBugChannelId:async(t,e)=>{await _(t,{$set:{reportBugChannelId:e}})},setReportChannel:async(t,e)=>{await _(t,{$set:{reportChannelId:e}})},setReportModeratorChannel:async(t,e)=>{await _(t,{$set:{reportModeratorChannelId:e}})},setShopChannelId:async(t,e,a)=>{await _(t,{$set:{shopChannelId:e,blackMarketChannelId:a}})},setSuggestionChannel:async(t,e)=>{await _(t,{$set:{suggestionChannelId:e}})},updateChannelId:async(t,e)=>{await _(t,{$set:Object.fromEntries(Object.entries(e).map(([a,s])=>[`channels.${a}`,s]))})},updateRolesId:async(t,e)=>{await _(t,{$set:Object.fromEntries(Object.entries(e).map(([a,s])=>[`roles.${a}`,s]))})}},Symbol.toStringTag,{value:"Module"})),rt=async t=>await ue.create({guildId:t}),Qa=async(t,e={})=>{const a=await ue.findOne({guildId:t},e);return a||rt(t)};class A{constructor(){if(this.constructor===A)throw new Error("Abstract classes can't be instantiated.")}name;price;size;currency;data;toDBShopItem(){return{name:this.name,price:this.price,size:this.size,entityId:this.data.id,currency:this.currency}}async onBuy(e,a){this.currency==="berry"?(await Et(e,-1*this.price*a),await kt(e,this.price*a)):await F(e,this.currency,this.price*a)}isBackground(){return!1}isChest(){return!1}isTitle(){return!1}isBoostXp(){return!1}isRepair(){return!1}isStore(){return!1}isObject(){return!1}isBottle(){return!1}isEquipment(){return!1}}class nt extends A{constructor({name:e,price:a,item:s,size:i,currency:c}){super(),this.name=e,this.data=s,this.price=a,this.size=i,this.currency=c}async onBuy(e,a){await super.onBuy(e,a),await Jt(e,this.data.background.id)}isBackground(){return!0}}class it extends A{constructor({name:e,price:a,item:s,size:i,currency:c}){super(),this.name=e,this.data=s,this.price=a,this.size=i,this.currency=c}async onBuy(e,a){await super.onBuy(e,a),await $(e,this.data.id,a)}isBoostXp(){return!0}}class lt extends A{constructor({name:e,price:a,item:s,size:i,currency:c}){super(),this.name=e,this.data=s,this.price=a,this.size=i,this.currency=c}async onBuy(e,a){await super.onBuy(e,a),await $(e,this.data.id,a)}isChest(){return!0}}class dt extends A{constructor({name:e,price:a,item:s,size:i,currency:c}){super(),this.name=e,this.data=s,this.price=a,this.size=i,this.currency=c}async onBuy(e,a){await super.onBuy(e,a),await $(e,this.data.id,a)}isObject(){return!0}}class ct extends A{constructor({name:e,price:a,item:s,size:i,currency:c}){super(),this.name=e,this.data=s,this.price=a,this.size=i,this.currency=c}async onBuy(e,a){await super.onBuy(e,a),await He(e,p.range({stop:a}).map(()=>g.seedEquipment({...this.data},Date.now()-Math.round(Math.random()*1e3))))}isEquipment(){return!0}}class ot extends A{constructor({name:e,price:a,item:s,size:i,currency:c}){super(),this.name=e,this.data=s,this.price=a,this.size=i,this.currency=c}async onBuy(e,a){await super.onBuy(e,a),await $(e,this.data.id,a)}isBottle(){return!0}}class ut extends A{constructor({name:e,price:a,item:s,size:i,currency:c}){super(),this.name=e,this.data=s,this.price=a,this.size=i,this.currency=c}async onBuy(e,a){await super.onBuy(e,a),await $(e,this.data.id,a)}isRepair(){return!0}}class ft extends A{constructor({name:e,price:a,item:s,size:i,currency:c}){super(),this.name=e,this.data=s,this.price=a,this.size=i,this.currency=c}async onBuy(e,a){await super.onBuy(e,a),await $(e,this.data.id,a)}isStore(){return!0}}class pt extends A{constructor({name:e,price:a,item:s,size:i,currency:c}){super(),this.name=e,this.data=s,this.price=a,this.size=i,this.currency=c}async onBuy(e,a){await super.onBuy(e,a),await We(e,this.data.title.name)}isTitle(){return!0}}const mt=(t,e)=>{const a=t.items.find(s=>s.entityId===e);if(a){const{name:s,price:i,size:c,currency:u}=a,f=g.findEntity(a.entityId);if(g.isBackgroundItem(f))return new nt({name:s,price:i,item:f,size:c,currency:u});if(g.isTitleItem(f))return new pt({name:s,price:i,item:f,size:c,currency:u});if(g.isChestItem(f))return new lt({name:s,price:i,item:f,size:c,currency:u});if(g.isBoostItem(f))return new it({name:s,price:i,item:f,size:c,currency:u});if(g.isRepairItem(f))return new ut({name:s,price:i,item:f,size:c,currency:u});if(g.isStoreItem(f))return new ft({name:s,price:i,item:f,size:c,currency:u});if(g.isObjectItem(f))return new dt({name:s,price:i,item:f,size:c,currency:u});if(g.isEquipment(f))return new ct({name:s,price:i,item:f,size:c,currency:u});if(g.isBottleItem(f))return new ot({name:s,price:i,size:c,item:f,currency:u})}},qa=Object.freeze(Object.defineProperty({__proto__:null,getShopItem:mt,getShopItemList:t=>{const e=[];for(const{entityId:a}of t.items){const s=mt(t,a);s&&e.push(s)}return e}},Symbol.toStringTag,{value:"Module"})),Pa=new o.Schema({shopType:{type:String,required:!0,unique:!0},publishedAt:{type:Date,default:new Date},duration:{type:Number,default:null},closeAt:{type:Date,default:null},items:{type:[{name:String,price:Number,size:{type:Number,default:null},entityId:String,currency:String}],default:[]},stats:{berrySpent:{type:Number,default:0},itemBought:{type:Number,default:0},chestBought:{type:Number,default:0},boostTimeBought:{type:Number,default:0},percentBought:{type:Number,default:0}}},{minimize:!1}),fe=o.models?.Shop||o.model("Shop",Pa),La=async(t,e)=>{await gt({shopType:t},e,!0)},Ce=async(t,e)=>{await gt({_id:t},e,!0)},gt=async(t,e,a=!1)=>{await fe.updateOne(t,e,{upsert:a})},Ka=Object.freeze(Object.defineProperty({__proto__:null,buyShopItem:async(t,e,a,s)=>{const i=e.map(c=>(c.name===a.name&&c.size&&(c.size-=s),c));await Ce(t,{$set:{items:i}})},publish:async t=>{await Ce(t,{$set:{publishedAt:new Date}})},setShopItems:async(t,e)=>{await La(t,{$set:{items:[...e]}})},updateShopStats:async(t,e,a)=>{await Ce(t,{$inc:{"stats.berrySpent":e.price*a,"stats.itemBought":a,"stats.chestBought":e.isChest()?a:0,"stats.percentBought":e.isRepair()?e.data.repair*a:0,"stats.boostTimeBought":e.isBoostXp()?e.data.id==="boost_xp_day"?a:7*a:0}})}},Symbol.toStringTag,{value:"Module"})),ja=t=>fe.create({shopType:t}),Ha=async(t,e={})=>{const a=await yt({shopType:t},e);return a||await ja(t)},yt=(t,e={})=>fe.findOne(t,e),Ga=Object.freeze(Object.defineProperty({__proto__:null,getCommandCooldown:(t,e)=>t.commands[e],getRaidCooldown:(t,e)=>t.raid[e]},Symbol.toStringTag,{value:"Module"})),Re=new o.Schema({user:{type:o.Schema.Types.ObjectId,ref:"User",required:!0},date:Date,type:String},{minimize:!1});Re.index({user:1}),Re.index({date:-1});const P=o.models?.Reminder||o.model("Reminder",Re),Ta=Object.freeze(Object.defineProperty({__proto__:null,getAllPassedReminder:async()=>await P.find({date:{$lte:new Date}})},Symbol.toStringTag,{value:"Module"})),Va=async(t,e)=>{await P.deleteOne({user:t,type:e})},bt=async(t,e,a,s)=>{await P.updateOne({user:t,type:e},a,{upsert:s})},Ue=async(t,e,a)=>{await bt(t,e,{$set:{date:a}},!0)},ve=async(t,e,a)=>{await bt(t,e,[{$set:{date:{$add:["$date",a]}}}],!1)},Ya=Object.freeze(Object.defineProperty({__proto__:null,addReminder:Ue,deleteSelectedReminders:async t=>{await P.deleteMany({_id:{$in:t}})},removeReminder:async(t,e)=>{await Va(t,e)},updateReminderDate:ve},Symbol.toStringTag,{value:"Module"})),za=async(t,e={})=>{const a=await P.findOne({user:t},e);return a||null},Wa=async(t,e,a)=>await P.create({user:t,date:e,type:a}),Xa=(t,e)=>{const a=p.filterNullAndUndefined(Object.values(t.equippedItems)),s=e.equipments.filter(i=>a.find(c=>c.id===i.id)).length;if(s===e.equipments.length)return e.fullBonus;if(s>=e.equipments.length/2)return e.halfBonus},Ae=t=>{let e={vitality:0,strength:0,agility:0,chance:0,intelligence:0,wisdom:0};for(const a of g.EQUIPMENT_SLOT){const s=t.equippedItems?.[a];s&&(e=p.mergeObjects(e,g.fromDBToEquipableEquipment(s).characteristics,(i,c)=>i+c))}for(const a of g.allPanoplies){const s=Xa(t,a);s&&!("target"in s)&&(e=p.mergeObjects(e,s,(i,c)=>i+c))}return e},Ja=Object.freeze(Object.defineProperty({__proto__:null,calcBottleMultiplier:(t,{buffs:e})=>{const a=g.getPanoplyBonus(t.equippedItems).find(([s,i])=>s.id==="herbalist"&&i!==null);return a&&a[1]==="full"?e.map(s=>({...s,multiplier:s.multiplier*1.25})):a&&a[1]==="half"?e.map(s=>({...s,multiplier:s.multiplier*1.1})):e},calcMinStreakForWorkLoot:t=>{const e=g.getPanoplyBonus(t.equippedItems).find(([a,s])=>a.id==="marine"&&s!==null);return e&&e[1]==="full"?10:e&&e[1]==="half"?20:1/0},getItemList:t=>Object.fromEntries(t.itemList),getRecipeResult:(t,e)=>{const a=g.getPanoplyBonus(t.equippedItems).find(([s,i])=>s.id==="little_blacksmith"&&i!==null);return a?.[1]==="full"&&e==="chest_3"?"chest_blacksmith_3":a?.[1]==="half"&&e==="chest_2"?"chest_blacksmith_2":a?.[1]==="half"&&e==="chest_1"?"chest_blacksmith_1":e},getUserEquipmentsCharacteristics:Ae,hasEnoughEnchantedStone:(t,e)=>(t.itemList.get("enchanted_stone")||0)>=e,hasEnoughItem:(t,e,a)=>(t.itemList.get(a)||0)>=e,hasEnoughItemsForRecipe:(t,e,a)=>{for(const s of e)if((t.itemList.get(s.itemId)||0)<s.size*a)return!1;return!0},hasEnoughTools:(t,e)=>(t.itemList.get("tools")||0)>=e,hasInventoryRequirements:(t,e)=>p.recordToArray(e).reduce((a,[s,i])=>a&&(t.itemList.get(s)??0)>=(i??0),!0),hasRevolutionaryBuff:t=>g.getPanoplyBonus(t.equippedItems).find(([a,s])=>a.id==="revolutionary"&&s!==null)?.[1]??null,maxCraftQuantity:(t,e)=>{let a=1/0;for(const s of e)a=Math.min(a,Math.floor((t.itemList.get(s.itemId)||0)/s.size));return a}},Symbol.toStringTag,{value:"Module"})),Za=Object.freeze(Object.defineProperty({__proto__:null,getEncyclopedia:t=>t.encyclopedia,hasFoundItem:(t,e)=>t.encyclopedia.includes(e)},Symbol.toStringTag,{value:"Module"})),wt=new o.Schema({user:{type:o.Schema.Types.ObjectId,required:!0,unique:!0,ref:"User"},encyclopedia:{type:[String],default:[]}}),z=o.models?.UserEncyclopedia||o.model("UserEncyclopedia",wt),ht=async(t,e)=>{await z.updateOne({user:t},e,{upsert:!0})},pe=async(t,e)=>{await ht(t,{$addToSet:{encyclopedia:{$each:e}}})},es=Object.freeze(Object.defineProperty({__proto__:null,addItem:pe},Symbol.toStringTag,{value:"Module"})),_t=async t=>await z.create({user:t}),ts=async t=>{const e=await z.findOne({user:t});return e||await _t(t)},as=["crewUpdate","crewQuestUpdate","userMetaUpdate","userQuestMetaUpdate","userQuestUpdate","userInventoryUpdate","userOrnamentsUpdate","userDaily","crewDaily","userChristmasUpdate"],St=new at.EventEmitter,k=(t,e,a)=>{St.emit(t,e,a)},ss=t=>{for(const e of as)St.on(e,(a,s)=>{t(e,a,s)})};class n{chest;repeatable;onUserMetaUpdate;onUserQuestUpdate;onUserQuestMetaUpdate;onUserInventoryUpdate;onUserOrnamentsUpdate;onCrewUpdate;onCrewQuestUpdate;complete=async(e,{_userQuest:a,_userCrew:s,_userMeta:i,_userInventory:c})=>{const u=a??await Je(e);if(this.isCompleted(u)&&!this.repeatable)return null;const f=i??await X(e),b=s??await Vt(e),M=c??await L(e);return this.crew&&b?this.daily?await this.markCrewDailyAsCompleted(b.crew._id,u.user._id):(await this.markAsCompleted(u),await this.markCrewAsCompleted(b.crew._id)):await this.markAsCompleted(u),await this.specificQuestCompletion(u,b),await this.applyReward(u,f,b,M)};async applyReward(e,a,s,i){return this.title&&await We(e.user._id,this.title.name),this.badge&&(this.crew&&s?await wa(s.crew._id,this.badge,this.rank.id):await Zt(e.user._id,this.badge,this.rank.id)),this.isFactionBadge&&await ea(e.user._id,this.rank.id),this.asset&&await ta(e.user._id,this.asset),this.chest&&await Pt(i.user._id,this.chest),this.getComputedRewards(a,e)}getComputedRewards=(e,a)=>{const s=this.daily&&xe(a)?$e(a):1;return{xp:(p.isFunction(this.xp)?this.xp(e):this.xp)*s*(1+Te(e)),berry:(p.isFunction(this.berry)?this.berry(e):this.berry)*s}};async specificQuestCompletion(e,a){this.id==="daily_all"&&(await na(e.user._id,e.lastFullComplete),a&&await this.markCrewDailyAsCompleted(a.crew._id,e.user._id)),this.id==="be_level_10"&&await fa(e.user._id,!0),this.id!=="be_level_10"&&this.id.startsWith("be_level_")&&await pa(e.user._id,!0),this.id==="crew_all_members_daily"&&a&&await Tt(e.user._id)}isCompleted(e){return this.daily?Ct(e,this.id):Bt(e,this.id)}async markAsCompleted(e){this.daily?await ra(e.user._id,this.id):await sa(e.user._id,this.id)}async markCrewAsCompleted(e){await Sa(e,this.id)}async markCrewDailyAsCompleted(e,a){await Ba(e,a.toHexString(),this.id)}}class rs extends n{name="Bienvenue à bord !";id="crew_create_or_join";rank=r.RANKS.LEGENDARY;description="Créer son équipage/Rejoindre un équipage";berry=1e6;xp=1e5;badge=null;asset=null;title=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1}class ns extends n{name="Prêt à naviguer !";id="crew_daily_click";rank=r.RANKS.COMMON;description="Faire acte de présence auprès de son équipage";berry=1e4;xp=1e3;crew=!0;daily=!0;secret=!1;asset=null;title=null;badge=null;isFactionBadge=!1}const is=Object.freeze(Object.defineProperty({__proto__:null,CrewCreateOrJoin:rs,CrewValidateDaily:ns},Symbol.toStringTag,{value:"Module"}));class ls extends n{name="1 jour 1 message";id="daily_send_message";rank=r.RANKS.COMMON;description="Envoyer un message";berry=({xp:e})=>(r.getCurrentLevel(e.amount)/10+1)*1e3;xp=({xp:e})=>(r.getCurrentLevel(e.amount)/10+1)*100;daily=!0;secret=!1;crew=!1;isFactionBadge=!1;badge=null;asset=null;title=null}class ds extends n{name="Les nouvelles sont bonnes ?";id="daily_read_edito";rank=r.RANKS.COMMON;description="Réagir à l'édito";berry=({xp:e})=>(r.getCurrentLevel(e.amount)/10+1)*3e3;xp=({xp:e})=>(r.getCurrentLevel(e.amount)/10+1)*300;daily=!0;secret=!1;crew=!1;isFactionBadge=!1;badge=null;asset=null;title=null}class cs extends n{name="Quoi ? Feur !";id="daily_answer";rank=r.RANKS.COMMON;description="Répondre à quelqu'un";berry=({xp:e})=>(r.getCurrentLevel(e.amount)/10+1)*1500;xp=({xp:e})=>(r.getCurrentLevel(e.amount)/10+1)*150;daily=!0;secret=!1;crew=!1;isFactionBadge=!1;badge=null;asset=null;title=null}class os extends n{name="Narcissique";id="daily_check_profile";rank=r.RANKS.COMMON;description="Regarder son profil";berry=({xp:e})=>(r.getCurrentLevel(e.amount)/10+1)*2e3;xp=({xp:e})=>(r.getCurrentLevel(e.amount)/10+1)*200;daily=!0;secret=!1;crew=!1;isFactionBadge=!1;badge=null;asset=null;title=null}class us extends n{name="Almanax";id="almanax";rank=r.RANKS.MYTHIC;description="Valider 365 jours de suite les quêtes quotidiennes";berry=1e9;xp=1e6;badge=d.BadgeList.calendar;secret=!1;crew=!1;isFactionBadge=!1;asset=null;title=null;daily=!1}const ke=Object.freeze(Object.defineProperty({__proto__:null,Almanax:us,DailyAnswer:cs,DailyCheckProfile:os,DailyReadEdito:ds,DailySendMessage:ls},Symbol.toStringTag,{value:"Module"})),fs=async(t,e,a,{berry:s,xp:i})=>{const c=await Je(e).then(h=>h.populate("user","faction")),u=$e(c),f=Ut(c,c.user.faction),{badge:b,isFactionBadge:M,title:q,rank:j,name:de,description:Ec,daily:Se,secret:Ic}=t;return a.Image().setImageName(`quest_success_${j.id}`).setDimensions(2080,636).draw(),b?a.Image().setImageName(d.progressiveBadgeTypeGuard(b)?`cropped_badge_${b.img}_${j.id}`:`cropped_badge_${b.img}`).setOrigin(C.CanvasOrigin.CENTER).setScale(2).setPosition(370,318).draw():M&&c.user.faction!=="citizen"?a.Image().setImageName(`cropped_badge_${c.user.faction}_${j.id}`).setOrigin(C.CanvasOrigin.CENTER).setScale(2).setPosition(370,318).draw():a.Image().setImageName(`badge_default_${j.id}`).setScale(2).setOrigin(C.CanvasOrigin.CENTER).setPosition(370,318).draw(),a.Text(Se?"QUÊTE JOURNALIÈRE TERMINÉE !":"SUCCÈS DÉBLOQUÉ !").setPosition(739,100).setFont("text",70).setColor(j.color).draw(),a.Text(de).setPosition(739,325).setOrigin(C.CanvasOrigin.BOTTOM_LEFT).setFont("poppins",de.length>=35?65-(de.length-35):65).draw(),a.Text(Ic?"Succès caché":Ec).setPosition(739,360).setFont("poppins_italic",35).draw(),a.Text(`Récompenses: ${p.formatNumber(s)}${Se&&u>1?` (+${p.formatNumber(s*(u-1))})`:""} `).setPosition(739,520).setFont("poppins",35).setOrigin(C.CanvasOrigin.LEFT).draw(s!==0).next((h,S)=>C.nextAllToXAxis(h.Image(),S)).setImageName("quest_berry").setDimensions(50,79).draw(s!==0).next((h,S)=>C.nextAllToXAxis(h.Text(` / ${p.formatNumber(i)}${Se&&u>1?` (+${p.formatNumber(i*(u-1))})`:""} `),S)).draw(i!==0).next((h,S)=>C.nextAllToXAxis(h.Image(),S)).setImageName("quest_xp").setDimensions(57,59).draw(i!==0).next((h,S)=>C.nextAllToXAxis(h.Text(` combo x${u}`),S)).draw(Se&&u>1).next((h,S)=>C.nextAllToXAxis(h.Text(" et la possibilité "),S)).draw(M&&c.user.faction==="citizen").next((h,S)=>C.nextAllToXAxis(h.Text("de choisir ta faction"),S)).setFont("poppins_bold",35).draw(M&&c.user.faction==="citizen").next((h,S)=>C.nextAllToXAxis(h.Text(" et le titre "),S)).setFont("poppins",35).draw(!!q||M&&c.user.faction!=="citizen").next((h,S)=>C.nextAllToXAxis(h.Text(q?.name??""),S)).setFont("poppins_bold",35).setColor(q?.rank.color??"white").draw(!!q).next((h,S)=>C.nextAllToXAxis(h.Text(f?.name??""),S)).setColor(f?.rank.color??"white").draw(M&&!!f),await a.encode("webp")},ps=10,ms=1e7,gs=100,ys=["berry","success_COMMON","success_RARE","success_EPIC","success_LEGENDARY","success_MYTHIC","xp"],bs={factions:{b_citizen_COMMON:"<:BasiqueOPFRbois:1175507882188484761>",b_citizen_RARE:"<:BasiqueOPFRargent:1175507880724668488>",b_citizen_EPIC:"<:BasiqueOPFRor:1175507883501289512>",b_citizen_LEGENDARY:"<:BasiqueOPFRplatine:1175507886714134548>",b_citizen_MYTHIC:"<:BasiqueOPFRultime:1175507889553670264>",b_marine_COMMON:"<:Marinebois:1175507936953512036>",b_marine_RARE:"<:Marineargent:1175508322351321178>",b_marine_EPIC:"<:Marineor:1175508300603863132>",b_marine_LEGENDARY:"<:Marineplatine:1175507940803879012>",b_marine_MYTHIC:"<:Marineultime:1175508279590395977>",b_revolutionary_COMMON:"<:RvoBois:1175507954779295810>",b_revolutionary_RARE:"<:RvoArgent:1175508199118483457>",b_revolutionary_EPIC:"<:RvoOr:1175508111885344819>",b_revolutionary_LEGENDARY:"<:RvoPlatine:1175507958378008756>",b_revolutionary_MYTHIC:"<:RvoUltime:1175508127815319612>",b_pirate_COMMON:"<:Piratebois:1175508259768115272>",b_pirate_RARE:"<:Pirateargent:1175507943987363941>",b_pirate_EPIC:"<:Pirateor:1175508240243621928>",b_pirate_LEGENDARY:"<:Pirateplatine:1175507949578358804>",b_pirate_MYTHIC:"<:Pirateultime:1175507951709061150>"}},Bt=(t,e)=>t.completed.includes(e),Mt=t=>{for(const e of Object.values(ce)){const a=new e;if(a.repeatable&&t===a.id)return!0}return!1},ws=t=>{for(const e of Object.values(vt)){const a=new e;if(a.id===t)return a.name}return null},Ct=(t,e)=>{const a=t.daily[e];return a&&p.sameDay(a,new Date)},xe=t=>p.sameDay(p.yesterday(),t.lastFullComplete),$e=t=>xe(t)?1+Math.min(2,t.streak/10):1,Rt=t=>t.completed.reduce((e,a)=>e+(a.startsWith("be_level_")?1:0),0),Ut=(t,e)=>{const a=Rt(t);return d.factionTitleList.find(s=>s.strength===a&&s.faction===e)},hs=Object.freeze(Object.defineProperty({__proto__:null,getFactionTitle:Ut,getFactionTitleStrength:Rt,getQuestName:ws,getStreakMultiplier:$e,isDailyQuestCompleted:Ct,isQuestCompleted:Bt,isRepetableQuestExist:Mt,isStreaking:xe},Symbol.toStringTag,{value:"Module"})),_s=(t,e)=>{const a=t.badge,s=t.isFactionBadge;return a?d.progressiveBadgeTypeGuard(a)?a.emojis[a.isProgressive.findIndex(i=>i===t.rank.id)]:a.emojis:s?bs.factions[`b_${e}_${t.rank.id}`]:""},Ss=t=>{const[e,a]=t.split("_"),s=Object.values(d.BadgeList).find(i=>i.id===e);if(s)return d.progressiveBadgeTypeGuard(s)?s.emojis[s.isProgressive.findIndex(i=>i===a)]:s.emojis},Bs=async(t,e)=>{const a=Object.values(ke).find(s=>new s().id===t);if(a){const s=new a,i=await s.complete(e,{});i&&k("userDaily",e,[[s,i]])}},Ms=async(t,e)=>{const a=Object.values(is).find(s=>new s().id===t);if(a){const s=new a,i=await s.complete(e,{});i&&k("crewDaily",e,[[s,i]])}},Cs=async(t,e)=>{if(!Mt(e))return;const a=Object.values(ce).find(s=>new s().id===e);if(a){const s=new a,i=await s.complete(t,{});i&&k("userQuestUpdate",t,[[s,i]])}};class Rs extends n{name="L'Insistant";id="insistent";rank=r.RANKS.COMMON;description="Être repêché et atteindre les huitièmes de finale";berry=1e6;xp=0;secret=!1;asset=null;title=null;badge=null;isFactionBadge=!1;daily=!1;crew=!1;repeatable=!0}class Us extends n{name="Résurrection";id="resurrection";rank=r.RANKS.RARE;description="Être repêché et atteindre les quarts de finale";berry=3e6;xp=0;secret=!1;asset=null;title=null;badge=null;isFactionBadge=!1;daily=!1;crew=!1;repeatable=!0}class vs extends n{name="Renaissance";id="rebirth";rank=r.RANKS.EPIC;description="Être repêché et atteindre au moins les demi-finales";berry=1e7;xp=0;secret=!1;asset=null;title=null;badge=null;isFactionBadge=!1;daily=!1;crew=!1;repeatable=!0}class As extends n{name="Phoenix";id="phoenix";rank=r.RANKS.LEGENDARY;description="Être repêché et aller en finale";berry=2e7;xp=0;secret=!1;asset=null;title=null;badge=null;isFactionBadge=!1;daily=!1;crew=!1;repeatable=!0}class ks extends n{name="L'Immortel";id="immortal";rank=r.RANKS.MYTHIC;description="Être repêché et remporter le tournoi";berry=4e7;xp=0;secret=!1;asset=null;title=null;badge=null;isFactionBadge=!1;daily=!1;crew=!1;repeatable=!0}class xs extends n{name="Branche Maudite";id="cursed_branch";rank=r.RANKS.RARE;description="Perdre le tournoi en top 32";berry=25e6;xp=0;secret=!1;asset=null;title=null;badge=null;isFactionBadge=!1;daily=!1;crew=!1;repeatable=!0}class $s extends n{name="Top 64";id="top64";rank=r.RANKS.COMMON;description="Perdre le tournoi en top 64";berry=15e6;xp=0;secret=!1;asset=null;title=null;badge=null;isFactionBadge=!1;daily=!1;crew=!1;repeatable=!0}class Ns extends n{name="Zero Pointé";id="zeroscored";rank=r.RANKS.COMMON;description="Se faire éliminer directement avec tous ses choix dès le premier duel";berry=1e7;xp=0;secret=!1;asset=null;title=null;badge=null;isFactionBadge=!1;daily=!1;crew=!1;repeatable=!0}class Os extends n{name="Chasseur de Géants";id="gianthunter";rank=r.RANKS.MYTHIC;description="Battre les 3 tap-in du tournoi avec tes choix";berry=1e8;xp=0;chest=[{chest:"chest_2",size:5}];secret=!1;asset=null;title=null;badge=null;isFactionBadge=!1;daily=!1;crew=!1;repeatable=!0}class Es extends n{name="Sabotage";id="sabotage";rank=r.RANKS.EPIC;description="Empêcher un choix de tap-in d'atteindre le top 32";berry=3e7;xp=0;secret=!1;asset=null;title=null;badge=null;isFactionBadge=!1;daily=!1;crew=!1;repeatable=!0}class Is extends n{name="Victoire par K.O";id="victorybyko";rank=r.RANKS.COMMON;description="Gagner un duel avec plus de 75% des votes";berry=5e6;xp=0;secret=!1;asset=null;title=null;badge=null;isFactionBadge=!1;daily=!1;crew=!1;repeatable=!0}class Ds extends n{name="Le Sniper";id="sniper";rank=r.RANKS.RARE;description="Gagner un duel avec plus de 80% des votes";berry=1e7;xp=0;secret=!1;asset=null;title=null;badge=null;isFactionBadge=!1;daily=!1;crew=!1;repeatable=!0}class Fs extends n{name="Massacre";id="massacre";rank=r.RANKS.EPIC;description="Gagner un duel avec plus de 90% des votes";berry=25e6;xp=0;secret=!1;asset=null;title=null;badge=null;isFactionBadge=!1;daily=!1;crew=!1;repeatable=!0}class Qs extends n{name="Annihilation";id="annihilation";rank=r.RANKS.MYTHIC;description="Gagner un duel avec 100% des votes (aucun vote pour l'adversaire)";berry=1e8;xp=0;chest=[{chest:"chest_1",size:5}];secret=!1;asset=null;title=null;badge=null;isFactionBadge=!1;daily=!1;crew=!1;repeatable=!0}class qs extends n{name="Troll Suprême";id="trollSupreme";rank=r.RANKS.MYTHIC;description="Prendre un choix totalement troll et improbable, puis gagner le tournoi avec !";berry=1e8;xp=0;chest=[{chest:"chest_3",size:1}];secret=!1;asset=null;title=null;badge=null;isFactionBadge=!1;daily=!1;crew=!1;repeatable=!0}class Ps extends n{name="Champion";id="champion";rank=r.RANKS.RARE;description="Remporter un tournoi";berry=0;xp=0;chest=[{chest:"chest_2",size:5}];secret=!1;asset=null;title=null;badge=null;isFactionBadge=!1;daily=!1;crew=!1;repeatable=!0}class Ls extends n{name="Le Maître";id="master";rank=r.RANKS.RARE;description="Remporter un tournoi avec trois choix différents dans le top 16";berry=0;xp=0;chest=[{chest:"chest_3",size:1}];secret=!1;asset=null;title=null;badge=null;isFactionBadge=!1;daily=!1;crew=!1;repeatable=!0}class Ks extends n{name="L'Inarrétable";id="unstoppable";rank=r.RANKS.EPIC;description="Remporter un tournoi avec une finale écrasante";berry=0;xp=0;chest=[{chest:"chest_1",size:5},{chest:"chest_2",size:3}];secret=!1;asset=null;title=null;badge=null;isFactionBadge=!1;daily=!1;crew=!1;repeatable=!0}class js extends n{name="L'Etoile Filante";id="shootingstar";rank=r.RANKS.LEGENDARY;description="Passer du statut d'outsider à finaliste";berry=5e7;xp=0;secret=!1;asset=null;title=null;badge=null;isFactionBadge=!1;daily=!1;crew=!1;repeatable=!0}class Hs extends n{name="EZ";id="ez";rank=r.RANKS.EPIC;description="Débloquer tous les succès Victoire sans difficulté";berry=0;xp=0;chest=[{chest:"chest_3",size:1}];secret=!1;asset=null;title=null;badge=null;isFactionBadge=!1;daily=!1;crew=!1;repeatable=!0}class Gs extends n{name="Participation";id="participation";rank=r.RANKS.COMMON;description="Participer au tournoi avec 1, 2, 3 et 4 choix";berry=1e7;xp=0;secret=!1;asset=null;title=null;badge=null;isFactionBadge=!1;daily=!1;crew=!1;repeatable=!0}class Ts extends n{name="Prenez-en soin";id="crew_carpenter_1_week";rank=r.RANKS.COMMON;description="Rester au dessus de 80% de détérioration pendant 1 semaine";berry=5e4;xp=5e3;crew=!0;secret=!0;badge=d.BadgeList.carpenter;asset=null;title=null;isFactionBadge=!1;daily=!1;onCrewQuestUpdate=e=>e.meta.streak80Percent>=7}class Vs extends n{name="Il est comme neuf !";id="crew_carpenter_1_month";rank=r.RANKS.RARE;description="Rester au dessus de 80% de détérioration pendant 1 mois";berry=2e5;xp=25e3;crew=!0;secret=!0;badge=d.BadgeList.carpenter;asset=null;title=null;isFactionBadge=!1;daily=!1;onCrewQuestUpdate=e=>e.meta.streak80Percent>=30}class Ys extends n{name="À l'occasion, je vous mettrai un petit coup de polish";id="crew_carpenter_3_months";rank=r.RANKS.EPIC;description="Rester au dessus de 80% de détérioration pendant 3 mois";berry=1e6;xp=5e4;crew=!0;secret=!0;badge=d.BadgeList.carpenter;asset=null;title=null;isFactionBadge=!1;daily=!1;onCrewQuestUpdate=e=>e.meta.streak80Percent>=90}class zs extends n{name="Vous ne naviguez qu'en eau calme ?";id="crew_carpenter_6_months";rank=r.RANKS.LEGENDARY;description="Rester au dessus de 80% de détérioration pendant 6 mois";berry=1e7;xp=1e5;crew=!0;secret=!0;badge=d.BadgeList.carpenter;asset=null;title=null;isFactionBadge=!1;daily=!1;onCrewQuestUpdate=e=>e.meta.streak80Percent>=180}class Ws extends n{name="C'est un sacré charpentier que vous avez là !";id="crew_carpenter_1_year";rank=r.RANKS.MYTHIC;description="Rester au dessus de 80% de détérioration pendant 1 an";berry=5e7;xp=25e4;crew=!0;secret=!0;asset=null;title=d.questTitles["Charpentier Légendaire"];badge=d.BadgeList.carpenter;isFactionBadge=!1;daily=!1;onCrewQuestUpdate=e=>e.meta.streak80Percent>=365}class Xs extends n{name="Au rapport !";id="crew_all_members_daily";rank=r.RANKS.RARE;description="Tous les membres ont rempli leurs quêtes quotidiennes";berry=5e4;xp=5e3;crew=!0;daily=!0;secret=!1;asset=null;title=null;badge=null;isFactionBadge=!1;onCrewQuestUpdate=(e,a)=>ha(e,"daily_all")&&!p.sameDay(e.daily?.[a.user._id.toHexString()]?.crew_all_members_daily??new Date(0),new Date)&&!p.sameDay(a.lastAllMembersDaily,new Date)}class Js extends n{name="Réunion de crise";id="crew_vocal_5";rank=r.RANKS.COMMON;description="Être dans un un vocal avec les 5 membres pendant 1 heure";berry=5e4;xp=5e3;crew=!0;badge=d.BadgeList.shipsecte;asset=null;title=null;isFactionBadge=!1;secret=!1;daily=!1;onCrewQuestUpdate=e=>e.meta.maxVoiceMembers>=5}class Zs extends n{name="Conseil de guerre";id="crew_vocal_7";rank=r.RANKS.RARE;description="Être dans un un vocal avec les 7 membres pendant 1 heure";berry=2e5;xp=25e3;crew=!0;badge=d.BadgeList.shipsecte;asset=null;title=null;isFactionBadge=!1;secret=!1;daily=!1;onCrewQuestUpdate=e=>e.meta.maxVoiceMembers>=7}class er extends n{name="Réunion de famille";id="crew_vocal_10";rank=r.RANKS.EPIC;description="Être dans un un vocal avec les 10 membres pendant 1 heure";berry=1e6;xp=5e4;crew=!0;badge=d.BadgeList.shipsecte;asset=null;title=null;isFactionBadge=!1;secret=!1;daily=!1;onCrewQuestUpdate=e=>e.meta.maxVoiceMembers>=10}class tr extends n{name="Les Inséparables";id="crew_vocal_12";rank=r.RANKS.LEGENDARY;description="Être dans un un vocal avec les 12 membres pendant 1 heure";berry=1e7;xp=1e5;crew=!0;badge=d.BadgeList.shipsecte;asset=null;title=null;isFactionBadge=!1;secret=!1;daily=!1;onCrewQuestUpdate=e=>e.meta.maxVoiceMembers>=12}class ar extends n{name="Ambiance sectaire un peu";id="crew_vocal_15";rank=r.RANKS.MYTHIC;description="Être dans un un vocal avec les 15 membres pendant 1 heure";berry=5e7;xp=25e4;crew=!0;asset=null;title=d.questTitles["Membre d'une secte"];badge=d.BadgeList.shipsecte;isFactionBadge=!1;secret=!1;daily=!1;onCrewQuestUpdate=e=>e.meta.maxVoiceMembers>=15}const Ne=Object.freeze(Object.defineProperty({__proto__:null,CrewAllMembersDaily:Xs,CrewCarpenter1Month:Vs,CrewCarpenter1Week:Ts,CrewCarpenter1Year:Ws,CrewCarpenter3Months:Ys,CrewCarpenter6Months:zs,CrewVocal10:er,CrewVocal12:tr,CrewVocal15:ar,CrewVocal5:Js,CrewVocal7:Zs},Symbol.toStringTag,{value:"Module"}));class sr extends n{name="Ah bah maintenant, elle va marcher beaucoup moins bien forcément !";id="crew_break_ship";rank=r.RANKS.LEGENDARY;description="Casser son bateau (atteindre les 0% de détérioration)";berry=-1e6;xp=-1e5;crew=!0;secret=!0;badge=null;asset=null;title=null;isFactionBadge=!1;daily=!1;onCrewUpdate=e=>e.disintegration<=0}class rr extends n{name="Sympa votre barque";id="crew_ship_level_10";rank=r.RANKS.COMMON;description="Atteindre le niveau 10 d'équipage";berry=5e4;xp=5e3;crew=!0;badge=d.BadgeList.crewship;asset=null;title=null;isFactionBadge=!1;secret=!1;daily=!1;onCrewUpdate=e=>r.getCurrentCrewLevel(e.meta.xp)>=10}class nr extends n{name="Joli bicoque";id="crew_ship_level_25";rank=r.RANKS.RARE;description="Atteindre le niveau 25 d'équipage";berry=2e5;xp=25e3;crew=!0;badge=d.BadgeList.crewship;asset=null;title=null;isFactionBadge=!1;secret=!1;daily=!1;onCrewUpdate=e=>r.getCurrentCrewLevel(e.meta.xp)>=25}class ir extends n{name="* C'est un fameux trois-mâts *";id="crew_ship_level_50";rank=r.RANKS.EPIC;description="Atteindre le niveau 50 d'équipage";berry=1e6;xp=5e4;crew=!0;badge=d.BadgeList.crewship;asset=null;title=null;isFactionBadge=!1;secret=!1;daily=!1;onCrewUpdate=e=>r.getCurrentCrewLevel(e.meta.xp)>=50}class lr extends n{name="* Fin comme un oiseau *";id="crew_ship_level_75";rank=r.RANKS.LEGENDARY;description="Atteindre le niveau 75 d'équipage";berry=1e7;xp=1e5;crew=!0;badge=d.BadgeList.crewship;asset=null;title=null;isFactionBadge=!1;secret=!1;daily=!1;onCrewUpdate=e=>r.getCurrentCrewLevel(e.meta.xp)>=75}class dr extends n{name="* Hisse et ho ! *";id="crew_ship_level_100";rank=r.RANKS.MYTHIC;description="Atteindre le niveau 100 d'équipage";berry=5e7;xp=25e4;crew=!0;asset=null;title=d.questTitles.Santiano;badge=d.BadgeList.crewship;isFactionBadge=!1;secret=!1;daily=!1;onCrewUpdate=e=>r.getCurrentCrewLevel(e.meta.xp)>=100}class cr extends n{name="Y'a pas de petites économies";id="crew_have_100M_berry";rank=r.RANKS.COMMON;description="Avoir 100 000 000 Berrys dans le coffre d'équipage";berry=5e4;xp=5e3;crew=!0;badge=d.BadgeList.communism;asset=null;title=null;isFactionBadge=!1;secret=!1;daily=!1;onCrewUpdate=e=>e.meta.berry>=1e8}class or extends n{name="Joli butin !";id="crew_have_500M_berry";rank=r.RANKS.RARE;description="Avoir 500 000 000 Berrys dans le coffre d'équipage";berry=2e5;xp=25e3;crew=!0;badge=d.BadgeList.communism;asset=null;title=null;isFactionBadge=!1;secret=!1;daily=!1;onCrewUpdate=e=>e.meta.berry>=5e8}class ur extends n{name="Vous économisez pour un nouveau bateau ?";id="crew_have_1Md_berry";rank=r.RANKS.EPIC;description="Avoir 1 000 000 000 Berrys dans le coffre d'équipage";berry=1e6;xp=5e4;crew=!0;badge=d.BadgeList.communism;asset=null;title=null;isFactionBadge=!1;secret=!1;daily=!1;onCrewUpdate=e=>e.meta.berry>=1e9}class fr extends n{name="Ça fait beaucoup là non ?";id="crew_have_5Md_berry";rank=r.RANKS.LEGENDARY;description="Avoir 5 000 000 000 Berrys dans le coffre d'équipage";berry=1e7;xp=1e5;crew=!0;badge=d.BadgeList.communism;asset=null;title=null;isFactionBadge=!1;secret=!1;daily=!1;onCrewUpdate=e=>e.meta.berry>=5e9}class pr extends n{name="Karl Marx serait fier de vous !";id="crew_have_50Md_berry";rank=r.RANKS.MYTHIC;description="Avoir 50 000 000 000 Berrys dans le coffre d'équipage";berry=5e7;xp=25e4;crew=!0;asset=null;title=d.questTitles.Communiste;badge=d.BadgeList.communism;isFactionBadge=!1;secret=!1;daily=!1;onCrewUpdate=e=>e.meta.berry>=5e10}class mr extends n{name="Plus on est de fous...";id="crew_size_5";rank=r.RANKS.COMMON;description="Être dans un équipage de 5 membres";berry=5e4;xp=5e3;crew=!0;badge=d.BadgeList.sardine;asset=null;title=null;isFactionBadge=!1;secret=!1;daily=!1;onCrewUpdate=e=>e.members.length>=5}class gr extends n{name="Plus on rit !";id="crew_size_7";rank=r.RANKS.RARE;description="Être dans un équipage de 7 membres";berry=2e5;xp=25e3;crew=!0;badge=d.BadgeList.sardine;asset=null;title=null;isFactionBadge=!1;secret=!1;daily=!1;onCrewUpdate=e=>e.members.length>=7}class yr extends n{name="Une petite famille";id="crew_size_10";rank=r.RANKS.EPIC;description="Être dans un équipage de 10 membres";berry=1e6;xp=5e4;crew=!0;badge=d.BadgeList.sardine;asset=null;title=null;isFactionBadge=!1;secret=!1;daily=!1;onCrewUpdate=e=>e.members.length>=10}class br extends n{name="Va falloir des dortoirs en plus";id="crew_size_12";rank=r.RANKS.LEGENDARY;description="Être dans un équipage de 12 membres";berry=1e7;xp=1e5;crew=!0;badge=d.BadgeList.sardine;asset=null;title=null;isFactionBadge=!1;secret=!1;daily=!1;onCrewUpdate=e=>e.members.length>=12}class wr extends n{name="* Ah qu'est-ce qu'on est serré ! *";id="crew_size_15";rank=r.RANKS.MYTHIC;description="Être dans un équipage de 15 membres";berry=5e7;xp=25e4;crew=!0;asset=null;title=d.questTitles.Sardine;badge=d.BadgeList.sardine;isFactionBadge=!1;secret=!1;daily=!1;onCrewUpdate=e=>e.members.length>=15}class hr extends n{name="C'est sympa pour eux !";id="crew_bring_50k_xp";rank=r.RANKS.COMMON;description="Rapporter 50 000 XP à l'équipage";berry=5e4;xp=5e3;badge=d.BadgeList.broship;asset=null;title=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onCrewUpdate=(e,a)=>e.stats[a.toHexString()]&&e.stats[a.toHexString()].xp>=5e4}class _r extends n{name="On voit que tu aimes ton équipage";id="crew_bring_500k_xp";rank=r.RANKS.RARE;description="Rapporter 500 000 XP à l'équipage";berry=2e5;xp=25e3;badge=d.BadgeList.broship;asset=null;title=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onCrewUpdate=(e,a)=>e.stats[a.toHexString()]&&e.stats[a.toHexString()].xp>=5e5}class Sr extends n{name="Le méritent-ils vraiment ?";id="crew_bring_1m_xp";rank=r.RANKS.EPIC;description="Rapporter 1 000 000 XP à l'équipage";berry=1e6;xp=5e4;badge=d.BadgeList.broship;asset=null;title=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onCrewUpdate=(e,a)=>e.stats[a.toHexString()]&&e.stats[a.toHexString()].xp>=1e6}class Br extends n{name="J'espère que t'as eu une prime";id="crew_bring_5m_xp";rank=r.RANKS.LEGENDARY;description="Rapporter 5 000 000 XP à l'équipage";berry=1e7;xp=1e5;badge=d.BadgeList.broship;asset=null;title=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onCrewUpdate=(e,a)=>e.stats[a.toHexString()]&&e.stats[a.toHexString()].xp>=5e6}class Mr extends n{name="Qu'on lui fasse une statue de Bronze !";id="crew_bring_50m_xp";rank=r.RANKS.MYTHIC;description="Rapporter 50 000 000 XP à l'équipage";berry=5e7;xp=25e4;asset=null;title=d.questTitles["Team Player"];badge=d.BadgeList.broship;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onCrewUpdate=(e,a)=>e.stats[a.toHexString()]&&e.stats[a.toHexString()].xp>=5e7}const Oe=Object.freeze(Object.defineProperty({__proto__:null,CrewBeLevel10:rr,CrewBeLevel100:dr,CrewBeLevel25:nr,CrewBeLevel50:ir,CrewBeLevel75:lr,CrewBreakShip:sr,CrewBring1mXp:Sr,CrewBring500kXp:_r,CrewBring50kXp:hr,CrewBring50mXp:Mr,CrewBring5mXp:Br,CrewHave100MBerry:cr,CrewHave1MdBerry:ur,CrewHave500MBerry:or,CrewHave50MdBerry:pr,CrewHave5MdBerry:fr,CrewSize10:yr,CrewSize12:br,CrewSize15:wr,CrewSize5:mr,CrewSize7:gr},Symbol.toStringTag,{value:"Module"}));class Cr extends n{name="Ne fais rien exploser hein ?";id="have_1_recipe";rank=r.RANKS.COMMON;description="Avoir 1 recette";berry=5e4;xp=5e3;asset=null;title=null;badge=d.BadgeList.recipe;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserInventoryUpdate=e=>e.recipes.length>=1}class Rr extends n{name="C'est bien tu sais faire des pâtes !";id="have_5_recipe";rank=r.RANKS.RARE;description="Avoir 5 recettes";berry=2e5;xp=25e3;asset=null;title=null;badge=d.BadgeList.recipe;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserInventoryUpdate=e=>e.recipes.length>=5}class Ur extends n{name="Ta grand-mère t'as donné son livre ?";id="have_10_recipe";rank=r.RANKS.EPIC;description="Avoir 10 recettes";berry=1e6;xp=5e4;asset=null;title=null;badge=d.BadgeList.recipe;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserInventoryUpdate=e=>e.recipes.length>=10}class vr extends n{name="Let him cook";id="have_25_recipe";rank=r.RANKS.LEGENDARY;description="Avoir 25 recettes";berry=1e6;xp=1e5;asset=null;title=null;badge=d.BadgeList.recipe;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserInventoryUpdate=e=>e.recipes.length>=25}class Ar extends n{name="Paul Bocuse";id="have_100_recipe";rank=r.RANKS.MYTHIC;description="Avoir 100 recettes";berry=5e7;xp=25e4;asset=null;title=d.questTitles["Paul Bocuse"];badge=d.BadgeList.recipe;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserInventoryUpdate=e=>e.recipes.length>=100}const Ee=Object.freeze(Object.defineProperty({__proto__:null,Have100Recipe:Ar,Have10Recipe:Ur,Have1Recipe:Cr,Have25Recipe:vr,Have5Recipe:Rr},Symbol.toStringTag,{value:"Module"}));class kr extends n{name="Enfin de quoi t'acheter un bon vélo !";id="have_500000_berry";rank=r.RANKS.COMMON;description="Avoir 500 000 Berrys";berry=1e5;xp=5e3;badge=d.BadgeList.berry;asset=null;title=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserMetaUpdate=e=>e.berry>=5e5}class xr extends n{name="Ouah t'es multi-millionaire !";id="have_5000000_berry";rank=r.RANKS.RARE;description="Avoir 5 000 000 Berrys";berry=1e6;xp=25e3;badge=d.BadgeList.berry;asset=null;title=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserMetaUpdate=e=>e.berry>=5e6}class $r extends n{name="Presque riche";id="have_50000000_berry";rank=r.RANKS.EPIC;description="Avoir 50 000 000 Berrys";berry=1e7;xp=5e4;badge=d.BadgeList.berry;asset=null;title=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserMetaUpdate=e=>e.berry>=5e7}class Nr extends n{name="Un 20m² à Paris";id="have_500000000_berry";rank=r.RANKS.LEGENDARY;description="Avoir 500 000 000 Berrys";berry=1e8;xp=1e5;badge=d.BadgeList.berry;asset=null;title=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserMetaUpdate=e=>e.berry>=5e8}class Or extends n{name="This is Elon Musk";id="have_5000000000_berry";rank=r.RANKS.MYTHIC;description="Avoir 5 000 000 000 Berrys";berry=1e9;xp=25e4;asset=null;title=d.questTitles["Elon Musk"];badge=d.BadgeList.berry;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserMetaUpdate=e=>e.berry>=5e9}class Er extends n{name="5 jours / semaine à Basic Fit";id="have_25_strength";rank=r.RANKS.COMMON;description="Avoir 25 de force";berry=5e4;xp=5e3;badge=null;asset=null;title=null;isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserMetaUpdate=e=>y.getComputedCharacteristicValue(e.characteristics.strength)>=25}class Ir extends n{name="La fonte > les livres";id="have_50_strength";rank=r.RANKS.RARE;description="Avoir 50 de force";berry=2e5;xp=25e3;badge=null;asset=null;title=null;isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserMetaUpdate=e=>y.getComputedCharacteristicValue(e.characteristics.strength)>=50}class Dr extends n{name="Moi, musclé ?";id="have_100_strength";rank=r.RANKS.EPIC;description="Avoir 100 de force";berry=1e6;xp=5e4;badge=null;asset=null;title=null;isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserMetaUpdate=e=>y.getComputedCharacteristicValue(e.characteristics.strength)>=100}class Fr extends n{name="Hercules";id="have_250_strength";rank=r.RANKS.LEGENDARY;description="Avoir 250 de force";berry=1e7;xp=1e5;badge=null;asset=null;title=null;isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserMetaUpdate=e=>y.getComputedCharacteristicValue(e.characteristics.strength)>=250}class Qr extends n{name="Titan";id="have_500_strength";rank=r.RANKS.MYTHIC;description="Avoir 500 de force";berry=5e7;xp=25e4;badge=null;asset=null;title=d.questTitles.Titan;isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserMetaUpdate=e=>y.getComputedCharacteristicValue(e.characteristics.strength)>=500}class qr extends n{name="Chat de gouttière";id="have_25_agility";rank=r.RANKS.COMMON;description="Avoir 25 d'agilité";berry=5e4;xp=5e3;badge=null;asset=null;title=null;isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserMetaUpdate=e=>y.getComputedCharacteristicValue(e.characteristics.agility)>=25}class Pr extends n{name="Hop ! Grand écart !";id="have_50_agility";rank=r.RANKS.RARE;description="Avoir 50 d'agilité";berry=2e5;xp=25e3;badge=null;asset=null;title=null;isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserMetaUpdate=e=>y.getComputedCharacteristicValue(e.characteristics.agility)>=50}class Lr extends n{name="Danseur étoile";id="have_100_agility";rank=r.RANKS.EPIC;description="Avoir 100 d'agilité";berry=1e6;xp=5e4;badge=null;asset=null;title=null;isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserMetaUpdate=e=>y.getComputedCharacteristicValue(e.characteristics.agility)>=100}class Kr extends n{name="L'Éclair de Konoha ! (merde mauvais manga)";id="have_250_agility";rank=r.RANKS.LEGENDARY;description="Avoir 250 d'agilité";berry=1e7;xp=1e5;badge=null;asset=null;title=null;isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserMetaUpdate=e=>y.getComputedCharacteristicValue(e.characteristics.agility)>=250}class jr extends n{name="Héritier de Bon Clay";id="have_500_agility";rank=r.RANKS.MYTHIC;description="Avoir 500 d'agilité";berry=5e7;xp=25e4;badge=null;asset=null;title=d.questTitles["Héritier de Bon Clay"];isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserMetaUpdate=e=>y.getComputedCharacteristicValue(e.characteristics.agility)>=500}class Hr extends n{name="2+2 = 4";id="have_25_intelligence";rank=r.RANKS.COMMON;description="Avoir 25 d'intelligence";berry=5e4;xp=5e3;badge=null;asset=null;title=null;isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserMetaUpdate=e=>y.getComputedCharacteristicValue(e.characteristics.intelligence)>=25}class Gr extends n{name="Petit Einstein";id="have_50_intelligence";rank=r.RANKS.RARE;description="Avoir 50 d'intelligence";berry=2e5;xp=25e3;badge=null;asset=null;title=null;isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserMetaUpdate=e=>y.getComputedCharacteristicValue(e.characteristics.intelligence)>=50}class Tr extends n{name="HPI";id="have_100_intelligence";rank=r.RANKS.EPIC;description="Avoir 100 d'intelligence";berry=1e6;xp=5e4;badge=null;asset=null;title=null;isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserMetaUpdate=e=>y.getComputedCharacteristicValue(e.characteristics.intelligence)>=100}class Vr extends n{name="Sorcier du savoir";id="have_250_intelligence";rank=r.RANKS.LEGENDARY;description="Avoir 250 d'intelligence";berry=1e7;xp=1e5;badge=null;asset=null;title=null;isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserMetaUpdate=e=>y.getComputedCharacteristicValue(e.characteristics.intelligence)>=250}class Yr extends n{name="Héritier de Vegapunk";id="have_500_intelligence";rank=r.RANKS.MYTHIC;description="Avoir 500 d'intelligence";berry=5e7;xp=25e4;badge=null;asset=null;title=d.questTitles["Héritier de Vegapunk"];isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserMetaUpdate=e=>y.getComputedCharacteristicValue(e.characteristics.intelligence)>=500}class zr extends n{name="Touche du bois";id="have_25_chance";rank=r.RANKS.COMMON;description="Avoir 25 de chance";berry=5e4;xp=5e3;badge=null;asset=null;title=null;isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserMetaUpdate=e=>y.getComputedCharacteristicValue(e.characteristics.chance)>=25}class Wr extends n{name="Petit veinard";id="have_50_chance";rank=r.RANKS.RARE;description="Avoir 50 de chance";berry=2e5;xp=25e3;badge=null;asset=null;title=null;isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserMetaUpdate=e=>y.getComputedCharacteristicValue(e.characteristics.chance)>=50}class Xr extends n{name="LA CHAAAAAATTE !";id="have_100_chance";rank=r.RANKS.EPIC;description="Avoir 100 de chance";berry=1e6;xp=5e4;badge=null;asset=null;title=null;isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserMetaUpdate=e=>y.getComputedCharacteristicValue(e.characteristics.chance)>=100}class Jr extends n{name="Favori des Astres";id="have_250_chance";rank=r.RANKS.LEGENDARY;description="Avoir 250 de chance";berry=1e7;xp=1e5;badge=null;asset=null;title=null;isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserMetaUpdate=e=>y.getComputedCharacteristicValue(e.characteristics.chance)>=250}class Zr extends n{name="Héritier de Baggy";id="have_500_chance";rank=r.RANKS.MYTHIC;description="Avoir 500 de chance";berry=5e7;xp=25e4;badge=null;asset=null;title=d.questTitles["Héritier de Baggy"];isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserMetaUpdate=e=>y.getComputedCharacteristicValue(e.characteristics.chance)>=500}class en extends n{name="Résistant";id="have_25_vitality";rank=r.RANKS.COMMON;description="Avoir 25 de vitalité";berry=5e4;xp=5e3;badge=null;asset=null;title=null;isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserMetaUpdate=e=>y.getComputedCharacteristicValue(e.characteristics.vitality)>=25}class tn extends n{name="Solide comme un roc";id="have_50_vitality";rank=r.RANKS.RARE;description="Avoir 50 de vitalité";berry=2e5;xp=25e3;badge=null;asset=null;title=null;isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserMetaUpdate=e=>y.getComputedCharacteristicValue(e.characteristics.vitality)>=50}class an extends n{name="Le tank !";id="have_100_vitality";rank=r.RANKS.EPIC;description="Avoir 100 de vitalité";berry=1e6;xp=5e4;badge=null;asset=null;title=null;isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserMetaUpdate=e=>y.getComputedCharacteristicValue(e.characteristics.vitality)>=100}class sn extends n{name="Mais t'es increvable !";id="have_250_vitality";rank=r.RANKS.LEGENDARY;description="Avoir 250 de vitalité";berry=1e7;xp=1e5;badge=null;asset=null;title=null;isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserMetaUpdate=e=>y.getComputedCharacteristicValue(e.characteristics.vitality)>=250}class rn extends n{name="Héritier de Kaido";id="have_500_vitality";rank=r.RANKS.MYTHIC;description="Avoir 500 de vitalité";berry=5e7;xp=25e4;badge=null;asset=null;title=d.questTitles["Héritier de Kaido"];isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserMetaUpdate=e=>y.getComputedCharacteristicValue(e.characteristics.vitality)>=500}class nn extends n{name="Tu as lu des livres ?";id="have_25_wisdom";rank=r.RANKS.COMMON;description="Avoir 25 de sagesse";berry=5e4;xp=5e3;badge=null;asset=null;title=null;isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserMetaUpdate=e=>y.getComputedCharacteristicValue(e.characteristics.wisdom)>=25}class ln extends n{name="Filozof";id="have_50_wisdom";rank=r.RANKS.RARE;description="Avoir 50 de sagesse";berry=2e5;xp=25e3;badge=null;asset=null;title=null;isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserMetaUpdate=e=>y.getComputedCharacteristicValue(e.characteristics.wisdom)>=50}class dn extends n{name="Platon";id="have_100_wisdom";rank=r.RANKS.EPIC;description="Avoir 100 de sagesse";berry=1e6;xp=5e4;badge=null;asset=null;title=null;isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserMetaUpdate=e=>y.getComputedCharacteristicValue(e.characteristics.wisdom)>=100}class cn extends n{name="Oracle vénéré";id="have_250_wisdom";rank=r.RANKS.LEGENDARY;description="Avoir 250 de sagesse";berry=1e7;xp=1e5;badge=null;asset=null;title=null;isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserMetaUpdate=e=>y.getComputedCharacteristicValue(e.characteristics.wisdom)>=250}class on extends n{name="Héritier d'Ohara";id="have_500_wisdom";rank=r.RANKS.MYTHIC;description="Avoir 500 de sagesse";berry=5e7;xp=25e4;badge=null;asset=null;title=d.questTitles["Héritier d'Ohara"];isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserMetaUpdate=e=>y.getComputedCharacteristicValue(e.characteristics.wisdom)>=500}class un extends n{name="Un pas devant l'autre !";id="be_level_10";rank=r.RANKS.COMMON;description="Atteindre le niveau 10";berry=1e5;xp=0;secret=!1;crew=!1;daily=!1;asset=null;title=null;badge=null;isFactionBadge=!0;onUserMetaUpdate=({xp:e})=>r.getCurrentLevel(e.amount)>=10}class fn extends n{name="T'inquiète pas ça va bien se passer";id="be_level_20";rank=r.RANKS.COMMON;description="Atteindre le niveau 20";berry=3e5;xp=0;secret=!1;crew=!1;daily=!1;asset=null;title=null;badge=null;isFactionBadge=!0;onUserMetaUpdate=({xp:e})=>r.getCurrentLevel(e.amount)>=20}class pn extends n{name="Commence par me parler poliment";id="be_level_30";rank=r.RANKS.RARE;description="Atteindre le niveau 30";berry=1e6;xp=0;secret=!1;crew=!1;daily=!1;asset=null;title=null;badge=null;isFactionBadge=!0;onUserMetaUpdate=({xp:e})=>r.getCurrentLevel(e.amount)>=30}class mn extends n{name="On te respecte à la cantine";id="be_level_40";rank=r.RANKS.RARE;description="Atteindre le niveau 40";berry=3e6;xp=0;secret=!1;crew=!1;daily=!1;asset=null;title=null;badge=null;isFactionBadge=!0;onUserMetaUpdate=({xp:e})=>r.getCurrentLevel(e.amount)>=40}class gn extends n{name="Ça commence à devenir sérieux";id="be_level_50";rank=r.RANKS.EPIC;description="Atteindre le niveau 50";berry=5e6;xp=0;secret=!1;crew=!1;daily=!1;asset=null;title=null;badge=null;isFactionBadge=!0;onUserMetaUpdate=({xp:e})=>r.getCurrentLevel(e.amount)>=50}class yn extends n{name="Une chambre individuelle ? La chance !";id="be_level_60";rank=r.RANKS.EPIC;description="Atteindre le niveau 60";berry=1e7;xp=0;secret=!1;crew=!1;daily=!1;asset=null;title=null;badge=null;isFactionBadge=!0;onUserMetaUpdate=({xp:e})=>r.getCurrentLevel(e.amount)>=60}class bn extends n{name="Oulah, les responsabilités arrivent";id="be_level_70";rank=r.RANKS.LEGENDARY;description="Atteindre le niveau 70";berry=5e7;xp=0;secret=!1;crew=!1;daily=!1;asset=null;title=null;badge=null;isFactionBadge=!0;onUserMetaUpdate=({xp:e})=>r.getCurrentLevel(e.amount)>=70}class wn extends n{name="Faut pas t'emmerder toi";id="be_level_80";rank=r.RANKS.LEGENDARY;description="Atteindre le niveau 80";berry=5e7;xp=0;secret=!1;crew=!1;daily=!1;asset=null;title=null;badge=null;isFactionBadge=!0;onUserMetaUpdate=({xp:e})=>r.getCurrentLevel(e.amount)>=80}class hn extends n{name="Là on parle !";id="be_level_90";rank=r.RANKS.MYTHIC;description="Atteindre le niveau 90";berry=1e8;xp=0;secret=!1;crew=!1;daily=!1;asset=null;title=null;badge=null;isFactionBadge=!0;onUserMetaUpdate=({xp:e})=>r.getCurrentLevel(e.amount)>=90}class _n extends n{name="*S'agenouille*";id="be_level_120";rank=r.RANKS.MYTHIC;description="Atteindre le niveau 120";berry=1e9;xp=0;secret=!1;crew=!1;daily=!1;asset=null;title=null;badge=null;isFactionBadge=!0;onUserMetaUpdate=({xp:e})=>r.getCurrentLevel(e.amount)>=120}class Sn extends n{name="T'as des amis ?";id="daily_vocal";rank=r.RANKS.COMMON;description="Se connecter 10 min en vocal";berry=({xp:e})=>(r.getCurrentLevel(e.amount)/10+1)*5e3;xp=({xp:e})=>(r.getCurrentLevel(e.amount)/10+1)*500;daily=!0;secret=!1;crew=!1;isFactionBadge=!1;badge=null;asset=null;title=null;onUserMetaUpdate=({xp:e})=>e.voice.minutesInVoiceToday>=10&&p.sameDay(e.voice.lastConnection,new Date)}class Bn extends n{name="Merci <3";id="premium";rank=r.RANKS.MYTHIC;description="Faire un don (validation manuelle)";berry=1;xp=0;isFactionBadge=!1;asset=null;badge=d.BadgeList.premium;title=d.questTitles.Mécène;daily=!1;crew=!1;secret=!1;onUserMetaUpdate=e=>!!e.premium}const Ie=Object.freeze(Object.defineProperty({__proto__:null,BeLevel10:un,BeLevel120:_n,BeLevel20:fn,BeLevel30:pn,BeLevel40:mn,BeLevel50:gn,BeLevel60:yn,BeLevel70:bn,BeLevel80:wn,BeLevel90:hn,DailyVocal:Sn,Have100Agility:Lr,Have100Chance:Xr,Have100Intelligence:Tr,Have100Strength:Dr,Have100Vitality:an,Have100Wisdom:dn,Have250Agility:Kr,Have250Chance:Jr,Have250Intelligence:Vr,Have250Strength:Fr,Have250Vitality:sn,Have250Wisdom:cn,Have25Agility:qr,Have25Chance:zr,Have25Intelligence:Hr,Have25Strength:Er,Have25Vitality:en,Have25Wisdom:nn,Have500Agility:jr,Have500Chance:Zr,Have500Intelligence:Yr,Have500Strength:Qr,Have500Vitality:rn,Have500Wisdom:on,Have500kBerry:kr,Have500mBerry:Nr,Have50Agility:Pr,Have50Chance:Wr,Have50Intelligence:Gr,Have50Strength:Ir,Have50Vitality:tn,Have50Wisdom:ln,Have50mBerry:$r,Have5mBerry:xr,Have5mdBerry:Or,Premium:Bn},Symbol.toStringTag,{value:"Module"}));class Mn extends n{name="Un poster dans ta chambre";id="have_1_background";rank=r.RANKS.EPIC;description="Avoir 1 background";berry=1e6;xp=5e4;asset=null;title=null;badge=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserOrnamentsUpdate=e=>e.unlockedBackgrounds.filter(a=>a!=="default").length>=1}class Cn extends n{name="Fan de One Piece";id="have_25_background";rank=r.RANKS.LEGENDARY;description="Avoir 25 backgrounds différents";berry=5e6;xp=1e5;asset=null;title=null;badge=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserOrnamentsUpdate=e=>e.unlockedBackgrounds.filter(a=>a!=="default").length>=25}class Rn extends n{name="Tu vas en faire quoi ? Tu peux en mettre qu'un";id="have_50_background";rank=r.RANKS.MYTHIC;description="Avoir 50 backgrounds différents";berry=5e7;xp=25e4;asset=null;title=null;badge=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserOrnamentsUpdate=e=>e.unlockedBackgrounds.filter(a=>a!=="default").length>=50}class Un extends n{name="PTDR t ki ?";id="have_10_title";rank=r.RANKS.EPIC;description="Avoir 10 titres différents";berry=1e6;xp=5e4;asset=null;title=null;badge=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserOrnamentsUpdate=e=>e.unlockedTitles.length>=10}class vn extends n{name="On m'appelle Personne";id="have_50_title";rank=r.RANKS.LEGENDARY;description="Avoir 50 titres différents";berry=5e6;xp=1e5;asset=null;title=null;badge=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserOrnamentsUpdate=e=>e.unlockedTitles.length>=50}class An extends n{name="Ok Daenerys";id="have_100_title";rank=r.RANKS.MYTHIC;description="Avoir 100 titres différents";berry=5e7;xp=25e4;asset=null;title=null;badge=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserOrnamentsUpdate=e=>e.unlockedTitles.length>=100}const De=Object.freeze(Object.defineProperty({__proto__:null,Have100Title:An,Have10Title:Un,Have1Background:Mn,Have25Background:Cn,Have50Background:Rn,Have50Title:vn},Symbol.toStringTag,{value:"Module"}));class kn extends n{name="Petit joueur";id="bet_min_value";rank=r.RANKS.RARE;description="Mise la somme minimale lors d'un pari";berry=5e4;xp=1e4;secret=!0;asset=null;title=d.questTitles["Petit joueur"];badge=null;isFactionBadge=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.betMin}class xn extends n{name="On a tous le droit à une seconde chance";id="lose_everything";rank=r.RANKS.RARE;description="Perdre tous ses Berrys";berry=1e5;xp=1e4;secret=!0;asset=null;badge=null;isFactionBadge=!1;daily=!1;crew=!1;title=null;onUserQuestMetaUpdate=e=>e.loseEverything}class $n extends n{name="T'es sûr de toi ?";id="bet_10M";rank=r.RANKS.EPIC;description="Miser plus de 10 000 000 de Berrys en une seule fois";berry=5e5;xp=5e4;secret=!0;asset=null;badge=null;isFactionBadge=!1;daily=!1;crew=!1;title=null;onUserQuestMetaUpdate=e=>e.bet10M}class Nn extends n{name="Ok j'ai rien dit";id="win_10M_bet";rank=r.RANKS.LEGENDARY;description="Gagner en ayant misé plus de 10M de Berrys";berry=1e6;xp=5e4;secret=!0;asset=null;badge=null;isFactionBadge=!1;daily=!1;crew=!1;title=null;onUserQuestMetaUpdate=e=>e.winBet10M}class On extends n{name="T'es accro là non ?";id="bet_total_10M";rank=r.RANKS.LEGENDARY;description="Miser plus de 10 000 000 de Berrys en tout";berry=1e6;xp=1e5;asset=null;title=d.questTitles["Gambling addict"];badge=d.BadgeList.casino;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.totalBet>=1e7}class En extends n{name="LE MILLIARD";id="bet_total_1Md";rank=r.RANKS.MYTHIC;description="Miser plus de 1 000 000 000 de Berrys en tout";berry=5e7;xp=25e4;asset=null;badge=d.BadgeList.casino;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;title=null;onUserQuestMetaUpdate=e=>e.totalBet>=1e9}class In extends n{name="Cheh !";id="lose_10M";rank=r.RANKS.LEGENDARY;description="Perdre 10M de Berrys en une fois";berry=1e6;xp=1e5;secret=!0;asset=null;badge=d.BadgeList.noluck;title=null;isFactionBadge=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.lose10M}class Dn extends n{name="Bon anniversaire !";id="birthday";rank=r.RANKS.EPIC;description="Fêter son anniversaire";berry=1e6;xp=5e3;badge=null;asset=null;title=null;isFactionBadge=!1;daily=!1;secret=!1;crew=!1;onUserQuestMetaUpdate=e=>e.hasCelebrateBirthday}class Fn extends n{name="Il ne va pas te répondre tu sais ?";id="bot_ping";rank=r.RANKS.EPIC;description="Ping le bot 100 fois";berry=25e4;xp=25e3;secret=!0;title=d.questTitles.Teubé;badge=null;asset=d.profileAssets.idiot;isFactionBadge=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=({botPing:e})=>e>=100}class Qn extends n{name="Tu avais soif ?";id="drink_100_xp_bottles_1_day";rank=r.RANKS.LEGENDARY;description="Boire 100 Potions d'XP en une journée";berry=1e6;xp=5e4;secret=!0;isFactionBadge=!1;badge=null;asset=null;title=null;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.items.bottle.today>=100}class qn extends n{name="Un ptit goût amer non ?";id="drink_200";rank=r.RANKS.COMMON;description="Boire 200 Potions d'XP";berry=5e4;xp=5e3;isFactionBadge=!1;badge=null;asset=null;title=null;daily=!1;crew=!1;secret=!1;onUserQuestMetaUpdate=e=>e.items.bottle.total>=200}class Pn extends n{name="Ça se boit bien finalement";id="drink_500";rank=r.RANKS.RARE;description="Boire 500 Potions d'XP";berry=2e5;xp=25e3;isFactionBadge=!1;badge=null;asset=null;title=null;daily=!1;crew=!1;secret=!1;onUserQuestMetaUpdate=e=>e.items.bottle.total>=500}class Ln extends n{name="Les potions donnent des aiiiiles !";id="drink_1000";rank=r.RANKS.EPIC;description="Boire 1000 Potions d'XP";berry=1e6;xp=5e4;isFactionBadge=!1;badge=null;asset=null;title=null;daily=!1;crew=!1;secret=!1;onUserQuestMetaUpdate=e=>e.items.bottle.total>=1e3}class Kn extends n{name="À deux doigts de vomir";id="drink_2000";rank=r.RANKS.LEGENDARY;description="Boire 2000 Potions d'XP";berry=1e7;xp=1e5;isFactionBadge=!1;badge=null;asset=null;title=null;daily=!1;crew=!1;secret=!1;onUserQuestMetaUpdate=e=>e.items.bottle.total>=2e3}class jn extends n{name="Alcoolique";id="drink_5000";rank=r.RANKS.MYTHIC;description="Boire 5000 Potions d'XP";berry=5e7;xp=25e4;asset=null;title=d.questTitles.Alcoolique;badge=null;isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserQuestMetaUpdate=e=>e.items.bottle.total>=5e3}class Hn extends n{name="C'est sympa ce ptit jeu";id="chest_open_50";rank=r.RANKS.COMMON;description="Ouvrir 50 Coffres";berry=5e4;xp=5e3;asset=null;title=null;badge=null;isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserQuestMetaUpdate=e=>e.items.chest.total>=50}class Gn extends n{name="T'as enfin eu un truc intéressant ?";id="chest_open_150";rank=r.RANKS.RARE;description="Ouvrir 150 Coffres";berry=2e5;xp=25e3;asset=null;title=null;badge=null;isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserQuestMetaUpdate=e=>e.items.chest.total>=150}class Tn extends n{name="Ça commence à gratter hein ?";id="chest_open_500";rank=r.RANKS.EPIC;description="Ouvrir 500 Coffres";berry=1e6;xp=5e4;asset=null;title=null;badge=null;isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserQuestMetaUpdate=e=>e.items.chest.total>=500}class Vn extends n{name="LAISSEZ-MOI OUVRIR DES COFFRES !";id="chest_open_1000";rank=r.RANKS.LEGENDARY;description="Ouvrir 1000 Coffres";berry=1e7;xp=1e5;asset=null;title=null;badge=null;isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserQuestMetaUpdate=e=>e.items.chest.total>=1e3}class Yn extends n{name="xXFan2GenshinXx";id="chest_open_2000";rank=r.RANKS.MYTHIC;description="Ouvrir 2000 Coffres";berry=5e7;xp=25e4;asset=null;title=d.questTitles["Gatcha Addict"];badge=null;isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserQuestMetaUpdate=e=>e.items.chest.total>=2e3}class zn extends n{name="Ils font mieux chez Ikea";id="craft_20_times";rank=r.RANKS.COMMON;description="Effectuer 20 crafts";berry=5e4;xp=5e3;asset=null;title=null;badge=d.BadgeList.craft;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.crafts.total>=20}class Wn extends n{name="Te fais pas mal avec le marteau";id="craft_50_times";rank=r.RANKS.RARE;description="Effectuer 50 crafts";berry=2e5;xp=25e3;asset=null;title=null;badge=d.BadgeList.craft;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.crafts.total>=50}class Xn extends n{name="Insensible aux échardes on dirait";id="craft_200_times";rank=r.RANKS.EPIC;description="Effectuer 200 crafts";berry=1e6;xp=5e4;asset=null;title=null;badge=d.BadgeList.craft;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.crafts.total>=200}class Jn extends n{name="Je ne veux pas voir l'état de ton atelier";id="craft_500_times";rank=r.RANKS.LEGENDARY;description="Effectuer 500 crafts";berry=1e6;xp=1e5;asset=null;title=null;badge=d.BadgeList.craft;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.crafts.total>=500}class Zn extends n{name="Mac Gyver";id="craft_1000_times";rank=r.RANKS.MYTHIC;description="Effectuer 1000 crafts";berry=5e7;xp=25e4;asset=null;title=d.questTitles["Mac Gyver"];badge=d.BadgeList.craft;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.crafts.total>=1e3}class ei extends n{name="Apprenti Gourmand";id="craft_10_cooked_meals";rank=r.RANKS.COMMON;description="Cuisiner 10 plats";berry=5e5;xp=2e4;asset=null;title=d.questTitles["Apprenti Gourmand"];badge=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.crafts.cookedMeal>=10}class ti extends n{name="Chef Amateur";id="craft_50_cooked_meals";rank=r.RANKS.RARE;description="Cuisiner 50 plats";berry=2e5;xp=5e4;asset=null;title=d.questTitles["Chef Amateur"];badge=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.crafts.cookedMeal>=50}class ai extends n{name="Maître des Saveurs";id="craft_100_cooked_meals";rank=r.RANKS.EPIC;description="Cuisiner 100 plats";berry=1e7;xp=1e5;asset=null;title=d.questTitles["Maître des Saveurs"];badge=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.crafts.cookedMeal>=100}class si extends n{name="Artiste Culinaire";id="craft_250_cooked_meals";rank=r.RANKS.LEGENDARY;description="Cuisiner 250 plats";berry=5e7;xp=2e5;asset=null;title=d.questTitles["Artiste Culinaire"];badge=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.crafts.cookedMeal>=250}class ri extends n{name="Sultan des Épices";id="craft_500_cooked_meals";rank=r.RANKS.MYTHIC;description="Cuisiner 500 plats";berry=1e8;xp=5e5;asset=null;title=d.questTitles["Sultan des Épices"];badge=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.crafts.cookedMeal>=500}class ni extends n{name="C'est une bonne situation ça scribe ?";id="craft_5_scrolls";rank=r.RANKS.COMMON;description="Craft 5 Parchemins";berry=5e5;xp=2e4;asset=null;title=d.questTitles["Apprenti Scribe"];badge=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.crafts.scrolls>=5}class ii extends n{name="Artisan des Runes";id="craft_10_scrolls";rank=r.RANKS.RARE;description="Craft 10 Parchemins";berry=2e6;xp=5e4;asset=null;title=d.questTitles["Artisan des Runes"];badge=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.crafts.scrolls>=10}class li extends n{name="Collectionneur des Manuscrits";id="craft_20_scrolls";rank=r.RANKS.EPIC;description="Craft 20 Parchemins";berry=1e7;xp=1e5;asset=null;title=d.questTitles["Collectionneur de Manuscrits"];badge=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.crafts.scrolls>=20}class di extends n{name="Maître des Enluminures";id="craft_50_scrolls";rank=r.RANKS.LEGENDARY;description="Craft 50 Parchemins";berry=5e7;xp=2e5;asset=null;title=d.questTitles["Maître des Enluminures"];badge=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.crafts.scrolls>=50}class ci extends n{name="Protecteur du Savoir";id="craft_100_scrolls";rank=r.RANKS.MYTHIC;description="Craft 100 Parchemins";berry=1e8;xp=5e5;asset=null;title=d.questTitles["Protecteur du Savoir"];badge=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.crafts.scrolls>=100}class oi extends n{name="Egoïste...";id="crew_10_percent";rank=r.RANKS.LEGENDARY;description="Être à 10% d'XP pour l'équipage pendant 3 mois";berry=1e6;xp=1e5;secret=!0;asset=null;title=d.questTitles.Egoïste;badge=d.BadgeList.selfish;isFactionBadge=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.timeAt10Percent>=90}class ui extends n{name="Merci bien camarade !";id="crew_90_percent";rank=r.RANKS.LEGENDARY;description="Être à 90% d'XP pour l'équipage pendant 3 mois";berry=1e6;xp=1e5;secret=!0;asset=null;title=d.questTitles.Camarade;badge=d.BadgeList.camarade;isFactionBadge=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.timeAt90Percent>=90}class fi extends n{name="Vaut mieux ça que perdre non ?";id="draw_100";rank=r.RANKS.COMMON;description="Faire 100 égalités";berry=5e4;xp=5e3;asset=null;title=null;badge=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.draw>=100}class pi extends n{name="Tu as trouvé ton rival";id="draw_300";rank=r.RANKS.RARE;description="Faire 300 égalités";berry=2e5;xp=25e3;asset=null;title=null;badge=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.draw>=300}class mi extends n{name="Rathon c'est toi ?";id="draw_1000";rank=r.RANKS.EPIC;description="Faire 1000 égalités";berry=1e6;xp=5e4;asset=null;title=null;badge=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.draw>=1e3}class gi extends n{name="Tu te bats contre un mur ou quoi ?";id="draw_2000";rank=r.RANKS.LEGENDARY;description="Faire 2000 égalités";berry=1e7;xp=1e5;asset=null;title=null;badge=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.draw>=2e3}class yi extends n{name="De vrais jumeaux";id="draw_5000";rank=r.RANKS.MYTHIC;description="Faire 5000 égalités";berry=5e7;xp=25e4;asset=null;title=d.questTitles.Égalitaire;badge=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.draw>=5e3}class bi extends n{name="Y'a un truc que t'as pas compris ?";id="edito_read_100";rank=r.RANKS.EPIC;description="Lire 100 fois l'édito en une journée";berry=25e4;xp=25e3;secret=!0;crew=!1;daily=!1;title=d.questTitles.Culturé;badge=null;asset=d.profileAssets.edito;isFactionBadge=!1;onUserQuestMetaUpdate=e=>e.edito.readToday>=100}class wi extends n{name="Une fois, pas deux";id="everyone";rank=r.RANKS.LEGENDARY;description="Tenter de tag everyone";berry=-1e6;xp=-5e4;secret=!0;asset=null;title=null;badge=null;isFactionBadge=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.tagEveryone}class hi extends n{name="Emoji Diable";id="double_six";rank=r.RANKS.LEGENDARY;description="Faire 50 fois un double six";berry=1e6;xp=1e5;asset=null;badge=d.BadgeList.doublesix;title=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.double_six>=50}class _i extends n{name="Pas de chance ^^";id="draw_double_six";rank=r.RANKS.RARE;description="Faire une fois une égalité en double 6";berry=2e5;xp=25e3;asset=null;title=null;badge=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.drawDoubleSix>=1}class Si extends n{name="Jamais 6 sans 7";id="seven_quitte_ou_double";rank=r.RANKS.MYTHIC;description='Gagner 7 fois de suite "Doubles" au Quitte ou Double';berry=5e7;xp=25e4;asset=null;badge=d.BadgeList.chance;title=d.questTitles.Chanceux;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.sevenQuitteOuDouble>=1}class Bi extends n{name="Le 5 à la suite";id="win_5_in_row";rank=r.RANKS.EPIC;description="Gagner aux 5 jeux du casino à la suite";berry=1e6;xp=5e4;asset=null;title=null;badge=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>{const a=e.lastGames.slice(0,5);return a.length<5||p.unique(a,s=>s.gameType).length<5?!1:a.reduce((s,i)=>s+i.endState,0)===5}}class Mi extends n{name="Le 5 à la suite, mais dans l'autre sens";id="lose_5_in_row";rank=r.RANKS.EPIC;description="Perdre aux 5 jeux du casino à la suite";berry=1e6;xp=5e4;asset=null;title=null;badge=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>{const a=e.lastGames.slice(0,5);return a.length!==5||p.unique(a,s=>s.gameType).length<5?!1:a.reduce((s,i)=>s+i.endState,0)===-5}}class Ci extends n{name="Jacques le noir";id="ten_black_jack";rank=r.RANKS.LEGENDARY;description="Faire 10 fois BlackJack";berry=5e6;xp=5e4;asset=null;badge=d.BadgeList["black-jack"];title=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.black_jack>=10}class Ri extends n{name="La feuille enveloppe la pierre ! T'es sûr ?";id="paper_100";rank=r.RANKS.LEGENDARY;description="Faire 100 fois de suite Papier au PPC";berry=1e6;xp=1e5;asset=null;title=d.questTitles.Papyrus;badge=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.rps.lastRps==="paper"&&e.rps.nb>=100}class Ui extends n{name="On fait la paire !";id="scissor_100";rank=r.RANKS.LEGENDARY;description="Faire 100 fois de suite Ciseaux au PPC";berry=1e6;xp=1e5;asset=null;title=d.questTitles.Couturier;badge=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.rps.lastRps==="scissor"&&e.rps.nb>=100}class vi extends n{name="Golem";id="rock_100";rank=r.RANKS.LEGENDARY;description="Faire 100 fois de suite Pierre au PPC";berry=1e6;xp=1e5;asset=null;title=d.questTitles.Golem;badge=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.rps.lastRps==="rock"&&e.rps.nb>=100}class Ai extends n{name="LE NEUF ET LE HUIT !!!";id="guess_in_one";rank=r.RANKS.MYTHIC;description="Deviner le Juste Prix en un coup";berry=5e7;xp=25e4;asset=null;title=null;badge=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.guessInOne>=1}class ki extends n{name="Sataniste";id="bet_666_50_times";rank=r.RANKS.LEGENDARY;description="Miser 666 Berry au moins une fois par jour pendant 1 mois";berry=1e6;xp=5e4;secret=!0;title=d.questTitles.Démon;isFactionBadge=!1;daily=!1;crew=!1;badge=null;asset=d.profileAssets.satan;onUserQuestMetaUpdate=e=>e.bet666.amount>=30}class xi extends n{name="Jour, Nuit";id="win_lose_10_times";rank=r.RANKS.LEGENDARY;description='Faire un enchaînement "Victoire/Défaite" 10 fois de suite';berry=1e6;xp=5e4;secret=!0;asset=null;title=null;badge=null;isFactionBadge=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>{const a=e.lastGames;if(a.length!==20)return!1;for(let s=0;s<a.length;s++)if(s%2===0&&a[s].endState!==1||s%2!==0&&a[s].endState!==-1)return!1;return!0}}class $i extends n{name="Explorateur novice";id="finish_10_raids";rank=r.RANKS.COMMON;description="Réussir 10 expéditions";berry=5e4;xp=5e3;badge=null;asset=null;title=null;isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserQuestMetaUpdate=({raidFinished:e})=>e>=10}class Ni extends n{name="Aventurier intrépide";id="finish_25_raids";rank=r.RANKS.RARE;description="Réussir 25 expéditions";berry=2e5;xp=25e3;badge=null;asset=null;title=null;isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserQuestMetaUpdate=({raidFinished:e})=>e>=25}class Oi extends n{name="Conquérant des terres";id="finish_50_raids";rank=r.RANKS.EPIC;description="Réussir 50 expéditions";berry=1e6;xp=5e4;badge=null;asset=null;title=null;isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserQuestMetaUpdate=({raidFinished:e})=>e>=50}class Ei extends n{name="Pionnier des secrets";id="finish_100_raids";rank=r.RANKS.LEGENDARY;description="Réussir 100 expéditions";berry=1e7;xp=1e5;badge=null;asset=null;title=null;isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserQuestMetaUpdate=({raidFinished:e})=>e>=100}class Ii extends n{name="Légende vivante";id="finish_200_raids";rank=r.RANKS.MYTHIC;description="Réussir 200 expéditions";berry=5e7;xp=25e4;badge=null;asset=null;title=d.questTitles["Légende vivante"];isFactionBadge=!1;daily=!1;crew=!1;secret=!1;onUserQuestMetaUpdate=({raidFinished:e})=>e>=200}class Di extends n{name="Vif";id="random_message_20";rank=r.RANKS.COMMON;description="Récupérer 20 Messages aléatoires";berry=5e4;xp=5e3;secret=!1;daily=!1;crew=!1;isFactionBadge=!1;badge=null;asset=null;title=null;onUserQuestMetaUpdate=e=>e.randomMessage>=20}class Fi extends n{name="Lucky Luke";id="random_message_50";rank=r.RANKS.RARE;description="Récupérer 50 Messages aléatoires";berry=2e5;xp=25e3;secret=!1;daily=!1;crew=!1;isFactionBadge=!1;badge=null;asset=null;title=null;onUserQuestMetaUpdate=e=>e.randomMessage>=50}class Qi extends n{name="Rapide";id="random_message_100";rank=r.RANKS.EPIC;description="Récupérer 100 Messages aléatoires";berry=1e6;xp=5e4;secret=!1;daily=!1;crew=!1;isFactionBadge=!1;badge=null;asset=null;title=null;onUserQuestMetaUpdate=e=>e.randomMessage>=100}class qi extends n{name="Et Furieux";id="random_message_200";rank=r.RANKS.LEGENDARY;description="Récupérer 200 Messages aléatoires";berry=1e7;xp=1e5;secret=!1;daily=!1;crew=!1;isFactionBadge=!1;badge=null;asset=null;title=null;onUserQuestMetaUpdate=e=>e.randomMessage>=200}class Pi extends n{name="Ka-Chow";id="random_message_500";rank=r.RANKS.MYTHIC;description="Récupérer 500 Messages aléatoires";berry=5e7;xp=25e4;secret=!1;daily=!1;crew=!1;isFactionBadge=!1;badge=null;asset=null;title=d.questTitles["Flash Mc Queen"];onUserQuestMetaUpdate=e=>e.randomMessage>=500}class Li extends n{name="Collabo";id="collabo";rank=r.RANKS.COMMON;description="Report une personne au staff";berry=1e4;xp=5e3;secret=!0;daily=!1;crew=!1;isFactionBadge=!1;badge=null;asset=null;title=null;onUserQuestMetaUpdate=e=>e.reportedSomeone}class Ki extends n{name="Bienvenue sur OPFR";id="send_100_msg";rank=r.RANKS.COMMON;description="Envoyer 100 messages";berry=1e4;xp=1e3;badge=d.BadgeList.ecrire;asset=null;title=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=({messageSent:e})=>e>=100}class ji extends n{name="Une vraie pipelette";id="send_1000_msg";rank=r.RANKS.RARE;description="Envoyer 1 000 messages";berry=1e5;xp=1e4;badge=d.BadgeList.ecrire;asset=null;title=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=({messageSent:e})=>e>=1e3}class Hi extends n{name="Faites le taire ";id="send_25000_msg";rank=r.RANKS.EPIC;description="Envoyer 25 000 messages";berry=1e6;xp=5e4;badge=d.BadgeList.ecrire;asset=null;title=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=({messageSent:e})=>e>=25e3}class Gi extends n{name="Tu sors de chez toi des fois ?";id="send_100000_msg";rank=r.RANKS.LEGENDARY;description="Envoyer 100 000 messages";berry=1e7;xp=1e5;badge=d.BadgeList.ecrire;asset=null;title=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=({messageSent:e})=>e>=1e5}class Ti extends n{name="J'ai pas les mots... mais toi si !";id="send_200000_msg";rank=r.RANKS.MYTHIC;description="Envoyer 200 000 messages";berry=1e8;xp=25e4;badge=d.BadgeList.ecrire;asset=null;title=d.questTitles.Spammeur;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=({messageSent:e})=>e>=2e5}class Vi extends n{name="T'as reçu ton argent de poche ?";id="spend_shop_5m";rank=r.RANKS.COMMON;description="Dépenser 5 000 000 Berrys dans la boutique";berry=5e4;xp=5e3;badge=d.BadgeList.mode;asset=null;title=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=({totalSpentInShop:e})=>e>=5e6}class Yi extends n{name="Tu t'es fait plaisir !";id="spend_shop_50m";rank=r.RANKS.RARE;description="Dépenser 50 000 000 Berrys dans la boutique";berry=2e5;xp=25e3;badge=d.BadgeList.mode;asset=null;title=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=({totalSpentInShop:e})=>e>=5e7}class zi extends n{name="C'était les soldes j'espère !";id="spend_shop_500m";rank=r.RANKS.EPIC;description="Dépenser 500 000 000 Berrys dans la boutique";berry=1e6;xp=5e4;badge=d.BadgeList.mode;asset=null;title=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=({totalSpentInShop:e})=>e>=5e8}class Wi extends n{name="Paré pour la Fashion Week";id="spend_shop_5ml";rank=r.RANKS.LEGENDARY;description="Dépenser 5 000 000 000 Berrys dans la boutique";berry=5e6;xp=1e5;badge=d.BadgeList.mode;asset=null;title=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=({totalSpentInShop:e})=>e>=5e9}class Xi extends n{name="Fashion Viktim";id="spend_shop_50ml";rank=r.RANKS.MYTHIC;description="Dépenser 50 000 000 000 Berrys dans la boutique";berry=5e7;xp=25e4;badge=d.BadgeList.mode;asset=null;title=d.questTitles["Fashion Viktim"];isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=({totalSpentInShop:e})=>e>=5e10}class Ji extends n{name="On commence à se connaître";id="voice_1_hours";rank=r.RANKS.COMMON;description="Se connecter 10h en vocal";berry=5e4;xp=5e3;badge=d.BadgeList.ermite;asset=null;title=null;isFactionBadge=!1;daily=!1;secret=!1;crew=!1;onUserQuestMetaUpdate=({totalMinutesInVoice:e})=>e>=600}class Zi extends n{name="Je sais tout de toi";id="voice_10_hours";rank=r.RANKS.RARE;description="Se connecter 25h en vocal";berry=2e5;xp=25e3;badge=d.BadgeList.ermite;asset=null;title=null;isFactionBadge=!1;daily=!1;secret=!1;crew=!1;onUserQuestMetaUpdate=({totalMinutesInVoice:e})=>e>=1500}class el extends n{name="T'as pas soif ?";id="voice_250_hours";rank=r.RANKS.EPIC;description="Se connecter 250h en vocal";berry=1e6;xp=5e4;badge=d.BadgeList.ermite;asset=null;title=null;isFactionBadge=!1;daily=!1;secret=!1;crew=!1;onUserQuestMetaUpdate=({totalMinutesInVoice:e})=>e>=15e3}class tl extends n{name="Ok Socrate";id="voice_2500_hours";rank=r.RANKS.LEGENDARY;description="Se connecter 2500h en vocal";berry=1e7;xp=1e5;badge=d.BadgeList.ermite;asset=null;title=null;isFactionBadge=!1;daily=!1;secret=!1;crew=!1;onUserQuestMetaUpdate=({totalMinutesInVoice:e})=>e>=60*2500}class al extends n{name="Elle ressemble à quoi la lumière du soleil ?";id="voice_5000_hours";rank=r.RANKS.MYTHIC;description="Se connecter 5000h en vocal";berry=5e7;xp=25e4;asset=null;title=d.questTitles.Ermite;badge=d.BadgeList.ermite;isFactionBadge=!1;daily=!1;secret=!1;crew=!1;onUserQuestMetaUpdate=({totalMinutesInVoice:e})=>e>=60*5e3}class sl extends n{name="Stagiaire";id="work_100";rank=r.RANKS.COMMON;description="Travailler 100 fois";berry=5e4;xp=5e3;asset=null;title=null;badge=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.work>=100}class rl extends n{name="Alternant";id="work_300";rank=r.RANKS.RARE;description="Travailler 300 fois";berry=2e5;xp=25e3;asset=null;title=null;badge=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.work>=300}class nl extends n{name="Smicard";id="work_1000";rank=r.RANKS.EPIC;description="Travailler 1000 fois";berry=1e6;xp=5e4;asset=null;title=null;badge=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.work>=1e3}class il extends n{name="Communiste";id="work_2000";rank=r.RANKS.LEGENDARY;description="Travailler 2000 fois";berry=1e7;xp=1e5;asset=null;title=null;badge=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.work>=2e3}class ll extends n{name="Esclave";id="work_5000";rank=r.RANKS.MYTHIC;description="Travailler 5000 fois";berry=5e7;xp=25e4;asset=null;title=d.questTitles.Esclave;badge=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.work>=5e3}class dl extends n{name="Timide";id="write_10_chats";rank=r.RANKS.COMMON;description="Écrire dans 10 chats différents";berry=1e4;xp=1e3;badge=d.BadgeList.exploration;asset=null;title=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=({writeDifferentChat:e})=>e.length>=10}class cl extends n{name="Curieux";id="write_20_chats";rank=r.RANKS.RARE;description="Écrire dans 20 chats différents";berry=1e5;xp=1e4;badge=d.BadgeList.exploration;asset=null;title=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=({writeDifferentChat:e})=>e.length>=20}class ol extends n{name="Voyeur";id="write_50_chats";rank=r.RANKS.EPIC;description="Écrire dans 50 chats différents";berry=5e5;xp=5e4;badge=d.BadgeList.exploration;asset=null;title=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=({writeDifferentChat:e})=>e.length>=50}class ul extends n{name="Philanthrope";id="write_100_chats";rank=r.RANKS.LEGENDARY;description="Écrire dans 100 chats différents";berry=1e6;xp=1e5;badge=d.BadgeList.exploration;asset=null;title=null;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=({writeDifferentChat:e})=>e.length>=100}class fl extends n{name="Explorateur";id="write_200_chats";rank=r.RANKS.MYTHIC;description="Écrire dans 200 chats différents";berry=1e7;xp=25e4;asset=null;title=d.questTitles.Explorateur;badge=d.BadgeList.exploration;isFactionBadge=!1;secret=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=({writeDifferentChat:e})=>e.length>=200}class pl extends n{name="Jeune étudiant";id="drink_50_alcohols";rank=r.RANKS.COMMON;description="Boire 50 alcools";berry=5e5;xp=2e4;secret=!1;asset=null;title=d.questTitles["Jeune étudiant"];badge=null;isFactionBadge=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.items.alcohols.total>=50}class ml extends n{name="Habitué des bars";id="drink_250_alcohols";rank=r.RANKS.RARE;description="Boire 250 alcools";berry=2e6;xp=5e4;secret=!1;asset=null;title=d.questTitles["Habitué des bars"];badge=null;isFactionBadge=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.items.alcohols.total>=250}class gl extends n{name="Alcoolique notoire";id="drink_500_alcohols";rank=r.RANKS.EPIC;description="Boire 500 alcools";berry=1e7;xp=1e5;secret=!1;asset=null;title=d.questTitles["Alcoolique notoire"];badge=null;isFactionBadge=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.items.alcohols.total>=500}class yl extends n{name="Ivrogne";id="drink_1000_alcohols";rank=r.RANKS.LEGENDARY;description="Boire 1000 alcools";berry=5e7;xp=2e5;secret=!1;asset=null;title=d.questTitles.Ivrogne;badge=null;isFactionBadge=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.items.alcohols.total>=1e3}class bl extends n{name="Breton";id="drink_2000_alcohols";rank=r.RANKS.MYTHIC;description="Boire 2000 alcools";berry=1e8;xp=5e5;secret=!1;asset=null;title=d.questTitles.Breton;badge=null;isFactionBadge=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.items.alcohols.total>=2e3}class wl extends n{name="Buveur de Rhum";id="drink_10_rhum";rank=r.RANKS.COMMON;description="Boire 10 Rhums";berry=5e5;xp=2e4;secret=!1;asset=null;title=d.questTitles["Buveur de Rhum"];badge=null;isFactionBadge=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.items.alcohols.rhums>=10}class hl extends n{name="Amateur de Rhum";id="drink_100_rhum";rank=r.RANKS.RARE;description="Boire 100 Rhums";berry=2e6;xp=5e4;secret=!1;asset=null;title=d.questTitles["Amateur de Rhum"];badge=null;isFactionBadge=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.items.alcohols.rhums>=100}class _l extends n{name="Connaisseur de Rhum";id="drink_250_rhum";rank=r.RANKS.EPIC;description="Boire 250 Rhums";berry=1e7;xp=1e5;secret=!1;asset=null;title=d.questTitles["Connaisseur de Rhum"];badge=null;isFactionBadge=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.items.alcohols.rhums>=250}class Sl extends n{name="Rhumologue";id="drink_500_rhum";rank=r.RANKS.LEGENDARY;description="Boire 500 Rhums";berry=5e7;xp=2e5;secret=!1;asset=null;title=d.questTitles.Rhumologue;badge=null;isFactionBadge=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.items.alcohols.rhums>=500}class Bl extends n{name="Dieu du Rhum";id="drink_1000_rhum";rank=r.RANKS.MYTHIC;description="Boire 1000 Rhums";berry=1e8;xp=5e5;secret=!1;asset=null;title=d.questTitles["Dieu du Rhum"];badge=null;isFactionBadge=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.items.alcohols.rhums>=1e3}class Ml extends n{name="Buveur de Bière";id="drink_10_beer";rank=r.RANKS.COMMON;description="Boire 10 Bières";berry=5e5;xp=2e4;secret=!1;asset=null;title=d.questTitles["Buveur de Bière"];badge=null;isFactionBadge=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.items.alcohols.beers>=10}class Cl extends n{name="Amateur de Bière";id="drink_100_beer";rank=r.RANKS.RARE;description="Boire 100 Bières";berry=2e6;xp=5e4;secret=!1;asset=null;title=d.questTitles["Amateur de Rhum"];badge=null;isFactionBadge=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.items.alcohols.beers>=100}class Rl extends n{name="Connaisseur de Bière";id="drink_250_beer";rank=r.RANKS.EPIC;description="Boire 250 Bières";berry=1e7;xp=1e5;secret=!1;asset=null;title=d.questTitles["Connaisseur de Rhum"];badge=null;isFactionBadge=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.items.alcohols.beers>=250}class Ul extends n{name="Bièrologue";id="drink_500_beer";rank=r.RANKS.LEGENDARY;description="Boire 500 Bières";berry=5e7;xp=2e5;secret=!1;asset=null;title=d.questTitles.Bièrologue;badge=null;isFactionBadge=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.items.alcohols.beers>=500}class vl extends n{name="Dieu de la Bière";id="drink_1000_beer";rank=r.RANKS.MYTHIC;description="Boire 1000 Bières";berry=1e8;xp=5e5;secret=!1;asset=null;title=d.questTitles["Dieu de la Bière"];badge=null;isFactionBadge=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.items.alcohols.beers>=1e3}class Al extends n{name="Buveur de Vin";id="drink_10_wine";rank=r.RANKS.COMMON;description="Boire 10 Vins";berry=5e5;xp=2e4;secret=!1;asset=null;title=d.questTitles["Buveur de Vin"];badge=null;isFactionBadge=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.items.alcohols.wines>=10}class kl extends n{name="Amateur de Vin";id="drink_100_wine";rank=r.RANKS.RARE;description="Boire 100 Vins";berry=2e6;xp=5e4;secret=!1;asset=null;title=d.questTitles["Amateur de Vin"];badge=null;isFactionBadge=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.items.alcohols.wines>=100}class xl extends n{name="Connaisseur de Vin";id="drink_250_wine";rank=r.RANKS.EPIC;description="Boire 250 Vins";berry=1e7;xp=1e5;secret=!1;asset=null;title=d.questTitles["Connaisseur de Vin"];badge=null;isFactionBadge=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.items.alcohols.wines>=250}class $l extends n{name="Vinologue";id="drink_500_wine";rank=r.RANKS.LEGENDARY;description="Boire 500 Vins";berry=1e7;xp=2e5;secret=!1;asset=null;title=d.questTitles.Vinologue;badge=null;isFactionBadge=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.items.alcohols.wines>=500}class Nl extends n{name="Dieu du Vin";id="drink_1000_wine";rank=r.RANKS.MYTHIC;description="Boire 1000 Vins";berry=1e8;xp=5e5;secret=!1;asset=null;title=d.questTitles["Dieu du Vin"];badge=null;isFactionBadge=!1;daily=!1;crew=!1;onUserQuestMetaUpdate=e=>e.items.alcohols.wines>=1e3}const Fe=Object.freeze(Object.defineProperty({__proto__:null,Bet10M:$n,Bet666:ki,BetMinValue:kn,Birthday:Dn,BotPing:Fn,ChestOpen1000Quest:Vn,ChestOpen150Quest:Gn,ChestOpen2000Quest:Yn,ChestOpen500Quest:Tn,ChestOpen50Quest:Hn,Craft1000Times:Zn,Craft100CookedMeals:ai,Craft100Scrolls:ci,Craft10CookedMeals:ei,Craft10Scrolls:ii,Craft200Times:Xn,Craft20Scrolls:li,Craft20Times:zn,Craft250CookedMeals:si,Craft500CookedMeals:ri,Craft500Times:Jn,Craft50CookedMeals:ti,Craft50Scrolls:di,Craft50Times:Wn,Craft5Scrolls:ni,Crew10Percent:oi,Crew90Percent:ui,DoubleSix:hi,Draw1000Quest:mi,Draw100Quest:fi,Draw2000Quest:gi,Draw300Quest:pi,Draw5000Quest:yi,DrawDoubleSix:_i,Drink1000Alcohols:yl,Drink1000Beer:vl,Drink1000Quest:Ln,Drink1000Rhum:Bl,Drink1000Wine:Nl,Drink100Beer:Cl,Drink100Rhum:hl,Drink100Today:Qn,Drink100Wine:kl,Drink10Beer:Ml,Drink10Rhum:wl,Drink10Wine:Al,Drink2000Alcohols:bl,Drink2000Quest:Kn,Drink200Quest:qn,Drink250Alcohols:ml,Drink250Beer:Rl,Drink250Rhum:_l,Drink250Wine:xl,Drink5000Quest:jn,Drink500Alcohols:gl,Drink500Beer:Ul,Drink500Quest:Pn,Drink500Rhum:Sl,Drink500Wine:$l,Drink50Alcohols:pl,Edito:bi,Everyone:wi,Finish100Raids:Ei,Finish10Raids:$i,Finish200Raids:Ii,Finish25Raids:Ni,Finish50Raids:Oi,GuessInOne:Ai,Lose10M:In,LoseAll5GamesInRow:Mi,LoseEverything:xn,Paper100:Ri,RandomMessage100Quest:Qi,RandomMessage200Quest:qi,RandomMessage20Quest:Di,RandomMessage500Quest:Pi,RandomMessage50Quest:Fi,Report:Li,Rock100:vi,Scissor100:Ui,SevenQuitteOuDouble:Si,SpendShop500M:zi,SpendShop50M:Yi,SpendShop50Ml:Xi,SpendShop5M:Vi,SpendShop5Ml:Wi,TenBlackJack:Ci,TotalBet10M:On,TotalBet1Md:En,Voice10Hours:Ji,Voice2500Hours:tl,Voice250Hours:el,Voice25Hours:Zi,Voice5000Hours:al,WinAll5GamesInRow:Bi,WinLose10:xi,WinOn10MBet:Nn,Work1000Quest:nl,Work100Quest:sl,Work2000Quest:il,Work300Quest:rl,Work5000Quest:ll,Write100Chats:ul,Write10Chats:dl,Write200Chats:fl,Write20Chats:cl,Write50Chats:ol,send100000Messages:Gi,send1000Messages:ji,send100Messages:Ki,send200000Messages:Ti,send25000Messages:Hi},Symbol.toStringTag,{value:"Module"}));class Ol extends n{name="T'as pas oublié de ranger ta chambre ?";id="daily_all";rank=r.RANKS.RARE;description="Finir les quêtes journalières";berry=({xp:e})=>(r.getCurrentLevel(e.amount)/10+1)*12500;xp=({xp:e})=>(r.getCurrentLevel(e.amount)/10+1)*1250;daily=!0;secret=!1;crew=!1;isFactionBadge=!1;badge=null;asset=null;title=null;onUserQuestUpdate=e=>{for(const[a,s]of Object.entries(e.daily))if(!p.sameDay(s,new Date)&&this.id!==a)return!1;return Object.keys(e.daily).filter(a=>a!==this.id).length>=5}}const Qe=Object.freeze(Object.defineProperty({__proto__:null,DailyAll:Ol},Symbol.toStringTag,{value:"Module"})),vt=[...Object.values(Ie),...Object.values(De),...Object.values(Ee),...Object.values(Fe),...Object.values(Qe),...Object.values(Oe),...Object.values(Ne),...Object.values(ke),...Object.values(ce)],El=async t=>{const e=[];for(const a of Object.values(Ie)){const s=new a;if(s.onUserMetaUpdate?.(t)){const i=await s.complete(t.user._id,{_userMeta:t});i&&e.push([s,i])}}e.length>0&&k("userMetaUpdate",t.user._id,e)},Il=async t=>{const e=[];for(const a of Object.values(Fe)){const s=new a;if(s.onUserQuestMetaUpdate?.(t)){const i=await s.complete(t.user._id,{});i&&e.push([s,i])}}e.length>0&&k("userQuestMetaUpdate",t.user._id,e)},Dl=["raidUnlock"],At=new tt.EventEmitter,W=(t,e,a)=>{At.emit(t,e,a)},Fl=t=>{for(const e of Dl)At.on(e,(a,s)=>{t(e,a,s)})},Ql=async t=>{const e=await Ze(t.user._id);r.getCurrentLevel(t.xp.amount)>=30&&!ne(e,"training")&&(await le(e.user._id,"training"),W("raidUnlock",t.user._id,"training")),(e.obtainedRewards.training?.filter(a=>a.startsWith("end_"))?.length??0)>=4&&!ne(e,"resources")&&(await le(e.user._id,"resources"),W("raidUnlock",t.user._id,"resources"))},ql=async t=>{const e=await Ze(t.user._id);p.unique(t.equipmentList,a=>a.id).map(a=>g.findEquipment(a)).filter(a=>a.panoply==="adventurer").length===6&&!ne(e,"pirate_cave")&&(await le(e.user._id,"pirate_cave"),W("raidUnlock",t.user._id,"pirate_cave")),(t.itemList.get("map_fragment")??0)>=5&&!ne(e,"mysterious_island")&&(await le(e.user._id,"mysterious_island"),await F(t.user._id,"map_fragment",5),W("raidUnlock",t.user._id,"mysterious_island"))},qe=new o.Schema({user:{type:o.Schema.Types.ObjectId,required:!0,unique:!0,ref:"User"},tagEveryone:{type:Boolean,default:!1},botPing:{type:Number,default:0},writeDifferentChat:[String],messageSent:{type:Number,default:0},totalMinutesInVoice:{type:Number,default:0},hadMoreThanZeroBerry:{type:Boolean,default:!1},totalBet:{type:Number,default:0},edito:{readToday:{type:Number,default:0},lastTimeRead:{type:Date,default:new Date}},double_six:{type:Number,default:0},lastGames:{type:[{gameType:String,endState:Number}],default:[]},black_jack:{type:Number,default:0},rps:{type:{lastRps:String,nb:Number},default:{lastRps:"paper",nb:-1}},totalSpentInShop:{type:Number,default:0},work:{type:Number,default:0},draw:{type:Number,default:0},bet666:{amount:{type:Number,default:0},last:{type:Date,default:new Date(0)}},betMin:{type:Boolean,default:!1},loseEverything:{type:Boolean,default:!1},bet10M:{type:Boolean,default:!1},winBet10M:{type:Boolean,default:!1},lose10M:{type:Boolean,default:!1},items:{bottle:{total:{type:Number,default:0},today:{type:Number,default:0},last:{type:Date,default:new Date}},chest:{total:{type:Number,default:0}},alcohols:{wines:{type:Number,default:0},rhums:{type:Number,default:0},beers:{type:Number,default:0},total:{type:Number,default:0}}},randomMessage:{type:Number,default:0},timeAt10Percent:{type:Number,default:0},timeAt90Percent:{type:Number,default:0},sevenQuitteOuDouble:{type:Number,default:0},drawDoubleSix:{type:Number,default:0},guessInOne:{type:Number,default:0},crafts:{cookedMeal:{type:Number,default:0},scrolls:{type:Number,default:0},total:{type:Number,default:0}},raidFinished:{type:Number,default:0},reportedSomeone:{type:Boolean,default:!1},hasCelebrateBirthday:{type:Boolean,default:!1}});qe.post("findOneAndUpdate",async function(t){await Il(t)});const N=o.models?.UserQuestMeta||o.model("UserQuestMeta",qe),m=async(t,e)=>{await N.findOneAndUpdate({user:t},e,{upsert:!0,returnDocument:"after"})},Pl=async t=>{await m(t,{$inc:{work:1}})},Ll=async t=>{await m(t,{$set:{hadMoreThanZeroBerry:!0}})},Kl=async t=>{await m(t,{$set:{sevenQuitteOuDouble:!0}})},jl=async t=>{await m(t,{$inc:{black_jack:1}})},Hl=async(t,e,a)=>{await m(t,{$push:{lastGames:{$each:[{gameType:e,endState:a}],$position:0,$slice:20}}})},Gl=async t=>{await m(t,{$inc:{draw:1}})},Tl=async t=>{const e=new Date;e.setDate(e.getDate()-1),e.setHours(0,0,0,0);const a=new Date;a.setDate(a.getDate()-1),a.setHours(23,59,59,999),await N.updateOne({user:t,"bet666.last":{$gte:e,$lte:a}},{$inc:{"bet666.amount":1},$set:{"bet666.last":new Date}}),await N.updateOne({user:t,"bet666.last":{$lt:e}},{$set:{"bet666.last":new Date,"bet666.amount":1}})},Vl=async(t,e)=>{await m(t,{$inc:{totalBet:e}})},Yl=async(t,e)=>{await m(t,[{$set:{"rps.nb":{$cond:{if:{$eq:["$rps.lastRps",e]},then:{$add:["$rps.nb",1]},else:1}},"rps.lastRps":e}}])},kt=async(t,e)=>{await m(t,{$inc:{totalSpentInShop:e}})},zl=async(t,e,a)=>{const s=g.findEntity(a);await m(t,{$inc:{"crafts.cookedMeal":g.isCookedMeal(s)?e:0,"crafts.scrolls":g.isScrollItem(s)?e:0,"crafts.total":e}})},Wl=async t=>{await m(t,{$set:{reportedSomeone:!0}})},Xl=async t=>{await m(t,{$inc:{randomMessage:1}})},Jl=async t=>{await m(t,{$inc:{botPing:1}})},Zl=async t=>{await m(t,{$inc:{guessInOne:1}})},ed=async t=>{await m(t,{$set:{hasCelebrateBirthday:!0}})},td=async t=>{await m(t,{$inc:{double_six:1}})},ad=async t=>{await m(t,{$inc:{drawDoubleSix:1}})},sd=async(t,e)=>{e?await m(t,{$set:{timeAt10Percent:0}}):await m(t,{$inc:{timeAt10Percent:1}})},rd=async(t,e)=>{e?await m(t,{$set:{timeAt90Percent:0}}):await m(t,{$inc:{timeAt90Percent:1}})},nd=async t=>{await m(t,{$set:{tagEveryone:!0}})},id=async t=>{await m(t,{$set:{betMin:!0}})},xt=async t=>{await m(t,{$set:{loseEverything:!0}})},ld=Object.freeze(Object.defineProperty({__proto__:null,addTotalMinutesInVoice:async(t,e)=>{await m(t,{$inc:{totalMinutesInVoice:e}})},addWrittenTextChannel:async(t,e)=>{await m(t,{$addToSet:{writeDifferentChat:e}})},bet666:Tl,botPingIncrement:Jl,drawDoubleSix:ad,drawIncrement:Gl,hadMoreThanZeroBerry:Ll,hasBet10M:async t=>{await m(t,{$set:{bet10M:!0}})},hasBetMin:id,hasCelebrateBirthday:ed,hasGuessInOne:Zl,hasLose10M:async t=>{await m(t,{$set:{lose10M:!0}})},hasLoseEverything:xt,hasReportedSomeone:Wl,hasSevenQod:Kl,hasTagEveryone:nd,hasWinBet10M:async t=>{await m(t,{$set:{winBet10M:!0}})},incrementAlcoholDrink:async(t,e,a)=>{await m(t,{$inc:{"items.alcohols.wines":e==="wine"?a:0,"items.alcohols.beers":e==="beer"?a:0,"items.alcohols.rhums":e==="rhum"?a:0,"items.alcohols.total":a}})},incrementBottleUsedToday:async(t,e)=>{const a=new Date;a.setHours(0,0,0,0),await N.updateOne({user:t,"items.bottle.last":{$gte:a}},{$inc:{"items.bottle.today":e},$set:{"items.bottle.last":new Date}}),await N.updateOne({user:t,"items.bottle.last":{$lt:a}},{$set:{"items.bottle.last":new Date,"items.bottle.today":e}})},incrementBottleUsedTotal:async(t,e)=>{await m(t,{$inc:{"items.bottle.total":e}})},incrementChestOpenedTotal:async(t,e)=>{await m(t,{$inc:{"items.chest.total":e}})},incrementMessageSend:async t=>{await m(t,{$inc:{messageSent:1}})},randomMessageIncrement:Xl,readEdito:async t=>{const e=new Date;e.setHours(0,0,0,0),await N.updateOne({user:t,"edito.lastTimeRead":{$gte:e}},{$inc:{"edito.readToday":1},$set:{"edito.lastTimeRead":new Date}}),await N.updateOne({user:t,"edito.lastTimeRead":{$lt:e}},{$set:{"edito.lastTimeRead":new Date,"edito.readToday":1}})},updateCrafts:zl,updateCrew10Percent:sd,updateCrew90Percent:rd,updateLastGames:Hl,updateRps:Yl,updateTotalBet:Vl,updateTotalSpentInShop:kt,winBlackjack:jl,winDoubleSix:td,workIncrement:Pl},Symbol.toStringTag,{value:"Module"})),dd=["death"],$t=new at.EventEmitter,Nt=(t,e)=>{$t.emit(t,e)},cd=t=>{for(const e of dd)$t.on(e,a=>{t(e,a)})},G={multiplier:{type:Number,default:0},origin:String,expireAt:{type:Date,default:null},startAt:{type:Date,default:null}},Pe=new o.Schema({user:{type:o.Schema.Types.ObjectId,required:!0,unique:!0,ref:"User"},premium:{type:Date,default:null},booster:{type:Boolean,default:!1},scam:{type:Boolean,default:!1},berry:{type:Number,default:0,index:!0},xp:{lastMessageWithXp:{type:Date,default:new Date},voice:{lastConnection:{type:Date,default:new Date},minutesInVoiceToday:{type:Number,default:0}},amount:{type:Number,default:0,index:!0},boost:{type:Date,default:null}},buffs:{cooldown:{casino:{type:[G],default:[]},work:{type:[G],default:[]}},berry:{work:{type:[G],default:[]},global:{type:[G],default:[]}},drop:{work:{type:[G],default:[]}},xp:{global:{type:[G],default:[]}}},hp:{type:Number,default:100},workUnluckyStreak:{type:Number,default:0},characteristics:{vitality:{type:Number,default:0},strength:{type:Number,default:0},agility:{type:Number,default:0},chance:{type:Number,default:0},intelligence:{type:Number,default:0},wisdom:{type:Number,default:0}},resetCharacteristics:{free:{type:Boolean,default:!0},nextAvailable:{type:Date,default:null}},scrolls:{vitality:{type:Number,default:0},strength:{type:Number,default:0},agility:{type:Number,default:0},chance:{type:Number,default:0},intelligence:{type:Number,default:0},wisdom:{type:Number,default:0}}});Pe.post("findOneAndUpdate",async function(t){await Ql(t),await El(t),t.berry===0&&await xt(t.user._id),t.hp<=0&&Nt("death",t.user._id)});const D=o.models?.UserMeta||o.model("UserMeta",Pe),Ot=async t=>await D.create({user:t}),X=async(t,e={})=>{const a=await D.findOne({user:t},e);return a||await Ot(t)},od=(t,e)=>D.findOneAndUpdate({user:t},e,{returnDocument:"after",upsert:!0}),w=async(t,e)=>{await D.findOneAndUpdate({user:t},e,{returnDocument:"after",upsert:!0})},Et=async(t,e)=>{await w(t,[{$set:{berry:{$max:[{$add:["$berry",e]},0]}}}])},ud=async(t,e)=>{await w(t,{$set:{premium:e}})},fd=async(t,e)=>{await w(t,{$set:{booster:e}})},pd=async(t,e)=>{const{xp:{boost:a}}=await od(t,[{$set:{"xp.boost":{$cond:{if:{$or:[{$not:"$xp.boost"},{$lt:["$xp.boost",new Date]}]},then:{$add:[new Date,e]},else:{$add:["$xp.boost",e]}}}}}]);return a},Le=async(t,e)=>{if(Array.isArray(e)){for(const s of e)await Le(t,s);return}const a=g.transformToDBBuff(e);await w(t,[{$set:{[`buffs.${e.target}`]:{$map:{input:`$buffs.${e.target}`,as:"buff",in:{$cond:{if:{$eq:[{$substr:["$$buff.origin",0,{$indexOfBytes:["$$buff.origin","/"]}]},e.origin.split("/")[0]]},then:{multiplier:e.multiplier,origin:e.origin,expireAt:a.expireAt?{$cond:{if:{$lt:["$$buff.expireAt",new Date]},then:a.expireAt,else:{$add:["$$buff.expireAt",(e.endIn??0)*60*60*1e3]}}}:null,startAt:{$cond:{if:{$gte:["$$buff.startAt",new Date]},then:"$$buff.startAt",else:{$add:[new Date,(e.startIn??0)*60*60*1e3]}}}},else:"$$buff"}}}}}},{$set:{[`buffs.${e.target}`]:{$cond:{if:{$in:[e.origin.split("/")[0],{$map:{input:`$buffs.${e.target}`,as:"buff",in:{$substr:["$$buff.origin",0,{$indexOfBytes:["$$buff.origin","/"]}]}}}]},then:`$buffs.${e.target}`,else:{$concatArrays:[`$buffs.${e.target}`,[{...a}]]}}}}}])},Ke=async(t,e)=>{await w(t,{$pull:{[`buffs.${e.target}`]:{origin:e.origin}}})},md=async(t,e,a,s)=>{const i=g.fromDBToEquipableEquipment(e),c=p.filterNullAndUndefined(Object.values(a)),u=g.allPanoplies.find(M=>M.id===i.panoply);if(!u)return;const f=u.equipments.filter(M=>(c.find(q=>M.id===q.id)||!s&&i.id===M.id)&&(s?i.id!==M.id:!0)).length,b=f===u.equipments.length?u.fullBonus:f>=u.equipments.length/2?u.halfBonus:void 0;u.halfBonus&&"target"in u.halfBonus&&await Ke(t,u.halfBonus),u.fullBonus&&"target"in u.fullBonus&&await Ke(t,u.fullBonus),b&&"target"in b&&await Le(t,b)},It=async(t,e,{userMeta:a,userInventory:s})=>{const i=a??await X(t,{buffs:0,xp:0}),c=s??await L(t,{itemList:0,equipmentList:0}),f=await Q(t,i,c)-i.hp;await w(t,{$set:{hp:i.hp+Math.floor(Math.min(e,f))}})},gd=async(t,e)=>{await w(t,[{$set:{hp:{$max:[{$add:["$hp",-e]},0]}}}])},T=async(t,e)=>{const a=await Q(t);await w(t,[{$set:{hp:{$round:[{$multiply:[{$divide:["$hp",e]},a]},0]}}}])},yd=Object.freeze(Object.defineProperty({__proto__:null,addBerry:Et,addCharacteristics:async(t,e)=>{const a=await Q(t),s=Object.fromEntries(Object.entries(e).filter(([,i])=>i!==0).map(([i,c])=>[`characteristics.${i}`,c]));await w(t,{$inc:s}),T(t,a)},addMinutesInVoiceToday:async(t,e)=>{await w(t,{$inc:{"xp.voice.minutesInVoiceToday":e}})},addScrollCharacteristic:async(t,e)=>{const a=await Q(t),s=Object.fromEntries(Object.entries(e).filter(([,i])=>i!==0).map(([i,c])=>[`scrolls.${i}`,c]));await w(t,{$inc:s}),T(t,a)},gainHp:It,incrementWorkUnluckyStreak:async t=>{await w(t,{$inc:{workUnluckyStreak:1}})},loseHp:gd,removeBuff:Ke,resetCharacteristics:async(t,e,a)=>{const s=await Q(t,a),i={vitality:0,strength:0,agility:0,chance:0,intelligence:0,wisdom:0};e?await w(t,{$set:{characteristics:i,"resetCharacteristics.free":!1}}):await w(t,{$set:{characteristics:i,"resetCharacteristics.nextAvailable":new Date(Date.now()+720*60*60*1e3)},$inc:{berry:-1e8}}),T(t,s)},resetMinutesInVoiceToday:async t=>{await w(t,{$set:{"xp.voice.minutesInVoiceToday":0}})},resetWorkUnluckyStreak:async t=>{await w(t,{$set:{workUnluckyStreak:0}})},updateBoost:pd,updateBooster:fd,updateBuff:Le,updateHp:T,updateLastVoiceConnection:async(t,e)=>{await w(t,{$set:{"xp.voice.lastConnection":e}})},updatePanoplyBuff:md,updatePremium:ud,updateScam:async(t,e)=>{await w(t,{$set:{scam:e}})}},Symbol.toStringTag,{value:"Module"})),bd=async t=>{const e=[];for(const a of Object.values(Ee)){const s=new a;if(s.onUserInventoryUpdate?.(t)){const i=await s.complete(t.user._id,{});i&&e.push([s,i])}}e.length>0&&k("userInventoryUpdate",t.user._id,e)},je=new o.Schema({user:{type:o.Schema.Types.ObjectId,required:!0,unique:!0,ref:"User"},equippedItems:{type:Object,default:{}},equipmentSave:{type:[Object],default:[]},equipmentList:{type:[{id:String,seed:Number}],default:[]},itemList:{type:Map,of:Number,default:{}},recipes:{type:[String],default:[]}},{minimize:!1});je.post("findOneAndUpdate",async function(t){await ql(t),await bd(t)});const J=o.models?.UserInventory||o.model("UserInventory",je),x=async(t,e)=>{await J.findOneAndUpdate({user:t},e,{upsert:!0,returnDocument:"after"})},$=async(t,e,a)=>{await x(t,{$inc:{[`itemList.${e}`]:a}}),await pe(t,[e])},wd=async(t,e)=>{await x(t,{$inc:Object.fromEntries(Object.entries(e).filter(([,a])=>(a??0)>0).map(([a,s])=>[`itemList.${a}`,s]))}),await pe(t,p.recordToArray(e).filter(([,a])=>a>0).map(([a])=>a))},F=async(t,e,a)=>{a!==0&&await x(t,[{$set:{[`itemList.${e}`]:{$max:[{$add:[`$itemList.${e}`,-a]},0]}}}])},Dt=async(t,e,a)=>{await x(t,{$pull:{equipmentList:{id:e,seed:a}}})},Ft=async(t,e,a,s)=>{a!==0&&(g.isEquipmentId(e)?await Dt(t,e,s):await F(t,e,a))},hd=async(t,e)=>{await x(t,{$set:{[`itemList.${e}`]:0}})},He=async(t,e)=>{await x(t,{$push:{equipmentList:{$each:e}}}),await pe(t,e.map(a=>a.id))},_d=async t=>{const e=await L(t);await x(t,{$push:{equipmentSave:e.equippedItems}})},Sd=async(t,e)=>{const a=await L(t);if(!a.equipmentSave[e])return;Object.entries(a.equipmentSave[e]).forEach(([i,c])=>{g.EQUIPMENT_SLOT.find(u=>u===i)&&Qt(t,i,c)})},Qt=async(t,e,a)=>{const s=await Q(t);await x(t,{$set:{[`equippedItems.${e}`]:a}}),await T(t,s)},Bd=async(t,e)=>{const a=await Q(t);await x(t,{$set:{[`equippedItems.${e}`]:null}}),await T(t,a)},Md=async(t,e,a,s,i)=>{for(const{itemId:f,size:b}of e)await F(t,f,b*s);const{itemId:c,size:u}=a;g.isEquipmentId(c)?await He(t,[{id:c,seed:i}]):await $(t,c,u*s)},Cd=async(t,e,a,s,i)=>{await Ft(t,e.id,s,i);for(const{entityId:c,quantity:u}of a)g.isEquipmentId(c)||await $(t,c,s*u);await F(t,"tools",1)},Rd=async(t,e,a,s)=>{await F(t,e,s*4),await F(t,"enchanted_stone",s),await $(t,a,s)},Ud=async(t,e)=>{await x(t,{$addToSet:{recipes:e}})},qt=async(t,e,a)=>{await $(t,e,a)},Pt=async(t,e)=>{e.forEach(async a=>await qt(t,a.chest,a.size))},vd=Object.freeze(Object.defineProperty({__proto__:null,addEquipments:He,addInventoryItem:$,addInventoryItems:wd,changeEquipedEquipment:Sd,craftItem:Md,dismantleEntity:Cd,enchantItem:Rd,equip:Qt,giveChest:qt,giveChests:Pt,removeAllItemInventory:hd,removeEquipment:Dt,removeInventoryEntity:Ft,removeInventoryItem:F,saveEquipments:_d,unequip:Bd,unlockRecipe:Ud},Symbol.toStringTag,{value:"Module"})),Lt=async t=>await J.create({user:t}),L=async(t,e={})=>{const a=await J.findOne({user:t},e);return a||await Lt(t)},Ge=t=>Object.fromEntries(r.CHARACTERISTICS.map(e=>[e,y.getComputedCharacteristicValue(t.characteristics[e])+t.scrolls[e]])),Ad=t=>Date.now()-t.xp.lastMessageWithXp.getTime()>60*1e3,Te=t=>{const{boost:e}=t.xp;return(e!==null&&Date.now()<e.getTime()?.2:0)+Math.max(t.premium?.5:0,t.booster?.25:0)+t.buffs.xp.global.reduce((a,{expireAt:s,startAt:i,multiplier:c})=>a+((i??new Date)<=new Date&&(!s||!p.hasExpire(s))?c:0),0)},kd=t=>{const e=t.trim().length,a=2;return e<10?10*a:e>300?300*a:e*a},xd=t=>{const e=r.getCurrentLevel(t.xp.amount);return e<=10?5e3:e>10&&e<=20?1e4:e>20&&e<=30?2e4:e>30&&e<=40?3e4:e>40&&e<=50?5e4:e>50&&e<=60?75e3:e>60&&e<=70?15e4:e>70&&e<=80?25e4:e>80&&e<=90?4e5:e>90&&e<=100?75e4:e>100?14e6:0},$d=(t,e,a)=>(e*=1+Te(t),Math.ceil(e*a)),Nd=(t,e,a)=>{const s=a?1:Kt(t);return e<=0?e:Math.ceil(e*(s||1))},Od=t=>t.buffs.cooldown.work.reduce((e,{expireAt:a,startAt:s,multiplier:i})=>e+(new Date>=(s??new Date)&&(!a||!p.hasExpire(a))?i:0),1),Ed=t=>t.buffs.drop.work.reduce((e,{expireAt:a,startAt:s,multiplier:i})=>e+(new Date>=(s??new Date)&&(!a||!p.hasExpire(a))?i:0),1),Id=t=>t.buffs.berry.work.reduce((e,{expireAt:a,startAt:s,multiplier:i})=>e+(new Date>=(s??new Date)&&(!a||!p.hasExpire(a))?i:0),1),Kt=t=>t.buffs.berry.global.reduce((e,{expireAt:a,startAt:s,multiplier:i})=>e+(new Date>=(s??new Date)&&(!a||!p.hasExpire(a))?i:0),1),Dd=t=>t.buffs.cooldown.casino.reduce((e,{expireAt:a,startAt:s,multiplier:i})=>e+(new Date>=(s??new Date)&&(!a||!p.hasExpire(a))?i:0),1),Q=async(t,e,a)=>{const s=e??await X(t,{buffs:0,xp:0}),i=a??await L(t,{itemList:0,equipmentList:0});return((Ge(s).vitality??0)+Ae(i).vitality)*r.HP_PER_VITALITY+r.DEFAULT_MAX_HP},Fd=Object.freeze(Object.defineProperty({__proto__:null,calcBerry:Nd,calcBerryGlobalBuff:Kt,calcBerryWorkBuff:Id,calcCooldownCasinoBuff:Dd,calcCooldownWorkBuff:Od,calcDropWorkBuff:Ed,calcMessageXp:kd,calcXp:$d,calcXpBoost:Te,getBerryRank:async t=>(await D.aggregate([{$setWindowFields:{sortBy:{berry:-1},output:{rank:{$rank:{}}}}},{$match:{_id:t}},{$project:{rank:1}}]))[0],getGlobalRank:async t=>(await D.aggregate([{$setWindowFields:{sortBy:{"xp.amount":-1},output:{rank:{$rank:{}}}}},{$match:{_id:t}},{$project:{rank:1}}]))[0],getMaxHp:Q,getTotalCharacteristics:Ge,getXpDeathPenalties:xd,hasCharacteristicRequirement:async(t,e,a,s)=>{const i=a??await X(t,{buffs:0,xp:0}),c=s??await L(t,{itemList:0,equipmentList:0}),u=p.mergeObjects(Ge(i),Ae(c),(f,b)=>f+b);if("sum"in e){let f=0;for(const b of e.characteristics)f+=u[b]??0;return f>=e.sum}else{for(const f of Object.keys(e))if(u[f]<(e[f]??0))return!1;return!0}},hasMalusBuff:t=>{const e=[...t.buffs.xp.global,...t.buffs.berry.global,...t.buffs.berry.work,...t.buffs.cooldown.work,...t.buffs.cooldown.casino,...t.buffs.drop.work];for(const{multiplier:a,startAt:s,expireAt:i}of e)if(a<0&&(!i||!p.hasExpire(i))&&(s??new Date)<=new Date)return!0;return!1},isCooldownForXpPassed:Ad},Symbol.toStringTag,{value:"Module"})),jt=new o.Schema({user:{type:o.Schema.Types.ObjectId,required:!0,unique:!0,ref:"User"},raid:{classic:{type:Date,default:new Date(0)},special:{type:Date,default:new Date(0)},christmas:{type:Date,default:new Date(0)}},lockUserCommand:{type:Date,default:new Date(0)},commands:{work:{type:Date,default:new Date(0)},dice:{type:Date,default:new Date(0)},qod:{type:Date,default:new Date(0)},guess:{type:Date,default:new Date(0)},blackjack:{type:Date,default:new Date(0)},rps:{type:Date,default:new Date(0)}}}),Z=o.models?.UserCooldown||o.model("UserCooldown",jt),ee=async(t,e)=>{await Z.updateOne({user:t},e,{upsert:!0})},Qd=async(t,e)=>{await ee(t,[{$set:{"raid.special":{$subtract:[{$ifNull:["$raid.special",new Date]},e*3600*1e3]},"raid.classic":{$subtract:[{$ifNull:["$raid.classic",new Date]},e*3600*1e3]},"raid.christmas":{$subtract:[{$ifNull:["$raid.christmas",new Date]},e*3600*1e3]}}}]),await ve(t,"raid/special",-1*e*3600*1e3),await ve(t,"raid/classic",-1*e*3600*1e3)},Ht=async(t,e,a,s)=>{await ee(t,{$set:{[`raid.${e}`]:new Date(Date.now()+a)}}),s.raid[e]&&await Ue(t,`raid/${e}`,new Date(Date.now()+a))},qd=Object.freeze(Object.defineProperty({__proto__:null,lockUserCommand:async t=>{await ee(t,{$set:{lockUserCommand:new Date(Date.now()+2*3600*1e3)}}),await It(t,1,{})},reduceRaidCooldown:Qd,startRaidCooldown:Ht,useCommand:async(t,e,a,s)=>{await ee(t,{$set:{[`commands.${e}`]:new Date(Date.now()+a)}}),s.commands[e]&&await Ue(t,`commands/${e}`,new Date(Date.now()+a))}},Symbol.toStringTag,{value:"Module"})),Pd=["work","rps","blackjack","guess","qod","dice"],Gt=async t=>await Z.create({user:t}),Ld=async(t,e={})=>{const a=await Z.findOne({user:t},e);return a||await Gt(t)},Ve=new o.Schema({user:{type:o.Schema.Types.ObjectId,required:!0,unique:!0,ref:"User"},crew:{type:o.Schema.Types.ObjectId,ref:"Crew",required:!0,index:!0},permission:String,percent:Number,lastAllMembersDaily:{type:Date,default:new Date(0)}},{minimize:!1});Ve.virtual("inventory",{ref:"Crew",localField:"crew",foreignField:"_id",justOne:!0});const K=o.models?.UserCrew||o.model("UserCrew",Ve),Ye=async(t,e)=>{await K.updateOne({user:t},e,{upsert:!0})},Kd=async(t,e)=>{await Ye(t,{$set:{percent:e}})},Tt=async t=>{await Ye(t,{$set:{lastAllMembersDaily:new Date}})},jd=Object.freeze(Object.defineProperty({__proto__:null,allMembersDailyComplete:Tt,updatePercent:Kd},Symbol.toStringTag,{value:"Module"})),Vt=t=>K.findOne({user:t}),Hd=async(t,e,a,s)=>await K.create({user:t,crew:e,percent:s,permission:a}),Gd=t=>K.exists({user:t}),Td=async t=>{await K.deleteOne({user:t})},Yt=new o.Schema({user:{type:o.Schema.Types.ObjectId,required:!0,unique:!0,ref:"User"},xpYesterday:{type:Number,default:0},berryYesterday:{type:Number,default:0},previousOrnament:{unlockedBadges:{type:[String],default:[]},unlockedTitles:{type:[String],default:[]},unlockedBackgrounds:{type:[String],default:[]}},previousCompletedQuest:{type:[String],default:[]},previousMessageSent:{type:Number,default:0}}),me=o.models?.UserDailyReport||o.model("UserDailyReport",Yt),zt=async(t,e)=>{await me.updateOne({user:t},e,{upsert:!0})},Vd=Object.freeze(Object.defineProperty({__proto__:null,updateDailyReport:async(t,e)=>{await zt(t,{$set:{xpYesterday:e.meta.xp.amount,berryYesterday:e.meta.berry,previousCompletedQuest:e.quest.completed,"previousOrnament.unlockedBadges":e.ornaments.unlockedBadges,"previousOrnament.unlockedTitles":e.ornaments.unlockedTitles,"previousOrnament.unlockedBackgrounds":e.ornaments.unlockedBackgrounds,previousMessageSent:e.questMeta.messageSent}})}},Symbol.toStringTag,{value:"Module"})),Wt=new o.Schema({user:{type:o.Schema.Types.ObjectId,required:!0,unique:!0,ref:"User"},guess:{type:{tries:Number,amount:Number,numberToGuess:Number,lastGuess:Number},default:null}}),te=o.models?.UserGames||o.model("UserGames",Wt),ge=async(t,e)=>{await te.updateOne({user:t},e,{upsert:!0})},Yd=Object.freeze(Object.defineProperty({__proto__:null,resetGuessGame:async t=>{await ge(t,{$set:{guess:null}})},setGuessGame:async(t,e,a,s)=>{await ge(t,{$set:{guess:{amount:e,tries:a,numberToGuess:s,lastGuess:0}}})},updateGuessGame:async t=>{await ge(t,{$inc:{"guess.tries":1},$set:{"guess.lastGuess":Date.now()}})}},Symbol.toStringTag,{value:"Module"})),Xt=async t=>await te.create({user:t}),zd=async(t,e)=>{const a=await te.findOne({user:t},e);return a||await Xt(t)},Wd=async t=>{const e=[];for(const a of Object.values(De)){const s=new a;if(s.onUserOrnamentsUpdate?.(t)){const i=await s.complete(t.user._id,{});i&&e.push([s,i])}}e.length>0&&k("userOrnamentsUpdate",t.user._id,e)},ze=new o.Schema({user:{type:o.Schema.Types.ObjectId,required:!0,unique:!0,ref:"User"},unlockedFactionBadges:{type:[String],default:[]},unlockedBadges:{type:[String],default:[]},unlockedTitles:{type:[String],default:[]},selectedTitle:{type:String,default:null},unlockedBackgrounds:{type:[String],default:["default"]},selectedBackground:{type:String,default:"default"},unlockedProfileAssets:{type:[String],default:[]},unlockedBags:{type:[String],default:["default"]},selectedBag:{type:String,default:"default"}});ze.post("findOneAndUpdate",async function(t){await Wd(t)});const ae=o.models?.UserOrnaments||o.model("UserOrnaments",ze),R=async(t,e)=>{await ae.findOneAndUpdate({user:t},e,{upsert:!0,returnDocument:"after"})},We=async(t,e)=>{await R(t,{$addToSet:{unlockedTitles:e}})},Xd=async(t,e)=>{await R(t,{$addToSet:{unlockedTitles:{$each:e}}})},Jd=async(t,e)=>{await R(t,{$set:{selectedTitle:e}})},Jt=async(t,e)=>{await R(t,{$addToSet:{unlockedBackgrounds:e}})},Zd=async(t,e)=>{await R(t,{$addToSet:{unlockedBackgrounds:{$each:e}}})},ec=async(t,e)=>{await R(t,{$set:{selectedBackground:e}})},Zt=async(t,e,a)=>{e.isProgressive?await R(t,{$addToSet:{unlockedBadges:`${e.id}_${a}`}}):await R(t,{$addToSet:{unlockedBadges:e.id}})},ea=async(t,e)=>{await R(t,{$addToSet:{unlockedFactionBadges:{$each:[`b_marine_${e}`,`b_revolutionary_${e}`,`b_pirate_${e}`]}}})},ta=async(t,e)=>{await R(t,{$addToSet:{unlockedProfileAssets:e}})},tc=Object.freeze(Object.defineProperty({__proto__:null,selectBackground:ec,selectBag:async(t,e)=>{await R(t,{$set:{selectedBag:e}})},selectTitle:Jd,unlockBackground:Jt,unlockBackgrounds:Zd,unlockBadge:Zt,unlockBag:async(t,e)=>{await R(t,{$addToSet:{unlockedBags:e}})},unlockFactionBadge:ea,unlockProfileAsset:ta,unlockTitle:We,unlockTitles:Xd},Symbol.toStringTag,{value:"Module"})),aa=async t=>await ae.create({user:t}),ac=async(t,e)=>{const a=await ae.findOne({user:t},e);return a||await aa(t)},sc=async t=>{const e=[];for(const a of Object.values(Qe)){const s=new a;if(s.onUserQuestUpdate?.(t)){const i=await s.complete(t.user._id,{_userQuest:t});i&&e.push([s,i])}}e.length>0&&k("userQuestUpdate",t.user._id,e)},Xe=new o.Schema({user:{type:o.Schema.Types.ObjectId,required:!0,unique:!0,ref:"User"},completed:{type:[String],default:[]},daily:{type:Object,default:{}},streak:{type:Number,default:0},lastFullComplete:{type:Date,default:new Date}},{minimize:!1});Xe.post("findOneAndUpdate",async function(t){await sc(t)});const se=o.models?.UserQuest||o.model("UserQuest",Xe),re=async(t,e)=>{await se.findOneAndUpdate({user:t},e,{upsert:!0,returnDocument:"after"})},sa=async(t,e)=>{await re(t,{$addToSet:{completed:e}})},ra=async(t,e)=>{await re(t,[{$addFields:{[`daily.${e}`]:new Date}}])},na=async(t,e)=>{p.sameDay(p.yesterday(),e)?await re(t,{$inc:{streak:1},$set:{lastFullComplete:new Date}}):await re(t,{$set:{lastFullComplete:new Date,streak:1}})},rc=Object.freeze(Object.defineProperty({__proto__:null,completeDailyQuest:ra,completeQuest:sa,updateStreak:na},Symbol.toStringTag,{value:"Module"})),ia=async t=>await se.create({user:t}),Je=async t=>{const e=await se.findOne({user:t});return e||await ia(t)},ne=(t,e)=>t.unlocked?.[e],nc=Object.freeze(Object.defineProperty({__proto__:null,alreadyObtainedRaidReward:(t,e,a)=>e in t.obtainedRewards?t.obtainedRewards[e].includes(a):!1,fulfillCondition:(t,e,a,s)=>s==="include"?a.every(i=>(t.obtainedConditions[e]??[]).includes(i)):a.every(i=>!(t.obtainedConditions[e]??[]).includes(i)),getObtainedRaidReward:(t,e)=>t.obtainedRewards[e]??[],hasUnlockedRaid:ne},Symbol.toStringTag,{value:"Module"})),la=new o.Schema({user:{type:o.Schema.Types.ObjectId,required:!0,unique:!0,ref:"User"},currentRaid:{type:{raidId:String,seed:String,progression:{type:[String],default:[]},buffItem:String,rewards:{type:Object,default:{}}},default:void 0},obtainedConditions:{type:Object,default:{}},obtainedRewards:{type:Object,default:{}},unlocked:{type:Object,default:{}}},{minimize:!1}),ie=o.models?.UserRaid||o.model("UserRaid",la),E=async(t,e)=>{await ie.updateOne({user:t},e,{upsert:!0})},le=async(t,e)=>{await E(t,{$set:{[`unlocked.${e}`]:!0}})},ic=Object.freeze(Object.defineProperty({__proto__:null,addRewardsToRaid:async(t,e)=>{await E(t,{$inc:Object.fromEntries(p.recordToArray(e).filter(([a])=>a!=="title"&&a!=="condition").map(([a,s])=>[`currentRaid.rewards.${a}`,s])),...e.title?{$set:{"currentRaid.rewards.title":e.title}}:{}})},claimReward:async(t,e,a)=>{await E(t,{$addToSet:{[`obtainedRewards.${e}`]:a}})},progressRaid:async(t,e)=>{await E(t,{$push:{"currentRaid.progression":e}})},resetRaid:async t=>{await E(t,{$unset:{currentRaid:""}})},resetRaidProgression:async t=>{await E(t,{$set:{"currentRaid.progression":[]}})},startRaid:async(t,e,a,s,i,c)=>{const u=Date.now();return await E(t,{$set:{currentRaid:{raidId:e,buffItem:a,seed:u,progression:[],rewards:{}}}}),await Ht(t,s,i,c),u},unlockRaid:le,updateCondition:async(t,e,a)=>{await E(t,{$addToSet:{[`obtainedConditions.${e}`]:a}})}},Symbol.toStringTag,{value:"Module"})),da=async t=>await ie.create({user:t}),Ze=async t=>{const e=await ie.findOne({user:t});return e||await da(t)},lc=Object.freeze(Object.defineProperty({__proto__:null,getShopItemRest:(t,e,a,s,i)=>{if(g.isEquipmentId(e))return s;let c=g.getAllItemsLimit()[e];const u=t.limit?.[e];return i==="half"&&e==="chest_2"&&(c+=2),i==="full"&&e==="chest_3"&&(c+=1),c?t.lastShopId!==a?c:u?c-u:Math.min(c,s):s},isShopBuyLimitReached:(t,e,a,s)=>{if(g.isEquipmentId(e))return!1;let i=g.getAllItemsLimit()[e];const c=t.limit?.[e];return s==="half"&&e==="chest_2"&&(i+=2),s==="full"&&e==="chest_3"&&(i+=1),t.lastShopId!==a?!1:!!(i&&c&&c>=i)}},Symbol.toStringTag,{value:"Module"})),ca=new o.Schema({user:{type:o.Schema.Types.ObjectId,required:!0,unique:!0,ref:"User"},lastShopId:{type:Number,default:0},limit:{type:Object,default:{}}},{minimize:!1}),ye=o.models?.UserShop||o.model("UserShop",ca),oa=async(t,e)=>{await ye.updateOne({user:t},e,{upsert:!0})},dc=Object.freeze(Object.defineProperty({__proto__:null,increaseShopBuyLimit:async(t,e,a,s)=>{await oa(t,[{$set:{limit:{$cond:{if:{$eq:["$lastShopId",a]},then:{$mergeObjects:["$limit",{[e]:{$add:[{$ifNull:[`$limit.${e}`,0]},s]}}]},else:{[e]:s}}},lastShopId:a}}])}},Symbol.toStringTag,{value:"Module"})),v={localField:"_id",foreignField:"user",justOne:!0},B=new o.Schema({userId:{type:String,required:!0,unique:!0},birthday:{type:Date,default:null},faction:{type:String,default:r.DEFAULT_FACTION},canChangeFaction:{type:Boolean,default:!1},canChooseFaction:{type:Boolean,default:!1},settings:{sort:{inventory:{type:String,default:"alpha"}},sendDailyReport:{type:Boolean,default:!1},sendDailyQuest:{type:Boolean,default:!1},reminder:{raid:{classic:{type:Boolean,default:!1},special:{type:Boolean,default:!1},christmas:{type:Boolean,default:!1}},commands:{work:{type:Boolean,default:!1},dice:{type:Boolean,default:!1},qod:{type:Boolean,default:!1},blackjack:{type:Boolean,default:!1},guess:{type:Boolean,default:!1},rps:{type:Boolean,default:!1}}}}});B.virtual("inventory",{ref:"UserInventory",...v}),B.virtual("raid",{ref:"UserRaid",...v}),B.virtual("games",{ref:"UserGames",...v}),B.virtual("ornaments",{ref:"UserOrnaments",...v}),B.virtual("crew",{ref:"UserCrew",...v}),B.virtual("dailyReport",{ref:"UserDailyReport",...v}),B.virtual("shop",{ref:"UserShop",...v}),B.virtual("meta",{ref:"UserMeta",...v}),B.virtual("quest",{ref:"UserQuest",...v}),B.virtual("questMeta",{ref:"UserQuestMeta",...v}),B.virtual("cooldown",{ref:"UserCooldown",...v}),B.virtual("reminder",{ref:"Reminder",localField:"_id",foreignField:"user"}),B.virtual("encyclopedia",{ref:"UserEncyclopedia",...v}),B.post("deleteOne",async function(){const t=this.getQuery()._id;await J.deleteOne({user:t}),await te.deleteOne({user:t}),await ae.deleteOne({user:t}),await ie.deleteOne({user:t}),await K.deleteOne({user:t}),await me.deleteOne({user:t}),await ye.deleteOne({user:t}),await D.deleteOne({user:t}),await se.deleteOne({user:t}),await N.deleteOne({user:t}),await Z.deleteOne({user:t}),await z.deleteOne({user:t})});const U=o.models?.User||o.model("User",B),cc=t=>U.create({userId:t}),be=async(t,e={})=>{const a=await ua({userId:t},e);return a||await cc(t)},ua=(t,e={})=>U.findOne(t,e),oc=Object.freeze(Object.defineProperty({__proto__:null,getAllDailyReport:async()=>U.aggregate([{$match:{"settings.sendDailyReport":!0}},{$lookup:{from:"usermetas",localField:"_id",foreignField:"user",as:"meta"}},{$lookup:{from:"userdailyreports",localField:"_id",foreignField:"user",as:"dailyReport"}},{$match:{$and:[{$expr:{$gt:["$dailyReport.xpYesterday",0]}},{faction:{$ne:"citizen"}}]}}]),getBerryRanking:async()=>U.aggregate([{$lookup:{from:"usermetas",localField:"_id",foreignField:"user",as:"meta"}},{$unwind:"$meta"},{$sort:{"meta.berry":-1}},{$limit:10},{$project:{_id:1,userId:1,"meta.berry":1}}]),getDailyReport:t=>{const{berry:e,xp:a}=t.meta,{voice:s,amount:i}=a,{unlockedBadges:c,unlockedBackgrounds:u,unlockedTitles:f}=t.ornaments,{previousOrnament:b,previousCompletedQuest:M,xpYesterday:q,berryYesterday:j,previousMessageSent:de}=t.dailyReport;return{berry:e-j,xp:i-q,message:t.questMeta.messageSent-de,voice:p.sameDay(s.lastConnection,p.yesterday())?s.minutesInVoiceToday:0,quest:p.exclude(t.quest.completed,M),badge:p.exclude(c,b.unlockedBadges),title:p.exclude(f,b.unlockedTitles),background:p.exclude(u,b.unlockedBackgrounds)}},getFactionRank:async(t,e)=>(await U.aggregate([{$lookup:{from:"usermetas",localField:"_id",foreignField:"user",as:"meta"}},{$unwind:"$meta"},{$match:{faction:t.faction}},{$setWindowFields:{sortBy:{"meta.xp.amount":-1},output:{rank:{$rank:{}}}}},{$match:{_id:e}},{$project:{rank:1}}]))[0],getFactionRanking:async t=>U.aggregate([{$match:{faction:t}},{$lookup:{from:"usermetas",localField:"_id",foreignField:"user",as:"meta"}},{$unwind:"$userMeta"},{$sort:{"userMeta.xp.amount":-1}},{$limit:10},{$project:{_id:1,userId:1,"meta.xp.amount":1}}]),getGlobalRanking:async()=>U.aggregate([{$lookup:{from:"usermetas",localField:"_id",foreignField:"user",as:"meta"}},{$unwind:"$meta"},{$sort:{"meta.xp.amount":-1}},{$limit:10},{$project:{_id:1,userId:1,"meta.xp.amount":1}}]),getNextBirthdays:()=>U.aggregate([{$match:{birthday:{$ne:null}}},{$addFields:{day:{$dayOfMonth:"$birthday"},month:{$month:"$birthday"},year:{$year:"$birthday"},nextBirthday:{$dateFromParts:{year:{$cond:[{$lt:[{$dateFromParts:{year:{$year:new Date},month:{$month:"$birthday"},day:{$dayOfMonth:"$birthday"}}},new Date]},{$add:[{$year:new Date},1]},{$year:new Date}]},month:{$month:"$birthday"},day:{$dayOfMonth:"$birthday"}}}}},{$sort:{nextBirthday:1}},{$limit:10},{$project:{_id:0,userId:1,birthday:1,nextBirthday:1}}]),getSuccessRanking:async()=>U.aggregate([{$lookup:{from:"userquests",localField:"_id",foreignField:"user",as:"quest"}},{$unwind:"$quest"},{$addFields:{success_count:{$size:{$ifNull:["$quest.completed",[]]}}}},{$sort:{success_count:-1}},{$limit:10},{$project:{_id:1,userId:1,"quest.completed":1}}]),getTodayAllBirthday:()=>U.aggregate([{$match:{birthday:{$ne:null}}},{$addFields:{birthMonth:{$month:"$birthday"},birthDay:{$dayOfMonth:"$birthday"}}},{$addFields:{currentMonth:{$month:new Date},currentDay:{$dayOfMonth:new Date}}},{$match:{$expr:{$and:[{$eq:["$birthMonth","$currentMonth"]},{$eq:["$birthDay","$currentDay"]}]}}}]),getUserBirthday:async t=>await be(t,{birthday:1})},Symbol.toStringTag,{value:"Module"})),I=async(t,e,a=!1)=>{await U.updateOne(t,e,{upsert:a})},fa=async(t,e)=>{await I({_id:t},{$set:{canChooseFaction:e}})},pa=async(t,e)=>{await I({_id:t},{$set:{canChangeFaction:e}})},uc=Object.freeze(Object.defineProperty({__proto__:null,canChangeFaction:pa,canChooseFaction:fa,removeBirthday:async t=>{await I({userId:t},{$set:{birthday:null}})},setBirthday:async(t,e)=>{await I({userId:t},{$set:{birthday:e}})},updateFaction:async(t,e)=>{await I({_id:t},{$set:{faction:e}})},updateInventorySort:async(t,e)=>{await I({_id:t},{$set:{"settings.sort.inventory":e}})},updateReminderSettings:async(t,e,a)=>{await I({_id:t},{$set:{[`settings.reminder.${e}`]:a}})},updateSendDailyQuest:async(t,e)=>{await I({userId:t},{$set:{"settings.sendDailyQuest":e}})},updateSendDailyReport:async(t,e)=>{await I({userId:t},{$set:{"settings.sendDailyReport":e}})}},Symbol.toStringTag,{value:"Module"})),fc=async t=>{await U.deleteOne({userId:t})},pc=async t=>await me.create({user:t}),mc=async t=>await N.create({user:t}),gc=async t=>await ye.create({user:t}),ma=(t,e)=>{switch(t){case"dailyReport":return pc(e);case"games":return Xt(e);case"inventory":return Lt(e);case"meta":return Ot(e);case"raid":return da(e);case"ornaments":return aa(e);case"quest":return ia(e);case"questMeta":return mc(e);case"shop":return gc(e);case"cooldown":return Gt(e);case"reminder":return[];case"crew":return null;case"encyclopedia":return _t(e)}},ga=async(t,e,a)=>{if(Array.isArray(e)){const s=await t.populate(e);for(const i of e)s[i]||(s[i]=await ma(i,t._id));return s}else{const s=await t.populate(e,a),i=s[e];return(!i||Array.isArray(i)&&i.length===0)&&(s[e]=await ma(e,t._id)),s}},ya=new o.Schema({warnedUserId:String,authorId:String,date:{type:Date,default:Date.now()},reason:{type:String,default:null}});ya.index({warnedUserId:1});const V=o.models?.Warns||o.model("Warns",ya),yc=Object.freeze(Object.defineProperty({__proto__:null,getUserWarnCount:async t=>await V.countDocuments({warnedUserId:t}),getUserWarns:async t=>await V.find({warnedUserId:t})},Symbol.toStringTag,{value:"Module"})),bc=async t=>await V.findOne({warnedUserId:t}),wc=async t=>await V.create({...t}),hc=async t=>await V.findByIdAndDelete(t),_c=async t=>{const e={};for(const a of Object.values(Oe)){const s=new a;for(const i of t.members){const c=await be(i,{_id:1});if(s.onCrewUpdate?.(t,c._id)){const u=await s.complete(c._id,{});if(u){const f=e[c.id];e[c.id]=f?[c._id,[...f[1],[s,u]]]:[c._id,[[s,u]]]}}}}Object.values(e).forEach(([a,s])=>{k("crewUpdate",a,s)})},Sc={localField:"_id",foreignField:"crew",justOne:!0},we=new o.Schema({createdBy:String,members:{type:[String],default:[]},limit:{type:Number,default:3},name:String,description:String,channelId:String,meta:{xp:{type:Number,default:0},berry:{type:Number,default:0},buffs:{xp:{boost:{type:Number,default:0},expireAt:{type:Date,default:null}}}},disintegration:{type:Number,default:100},faction:String,stats:{type:Object,default:{}},ornament:{unlockedBadges:[String]}},{timestamps:!0,minimize:!1});we.index({"meta.xp":-1}),we.virtual("quest",{ref:"CrewQuest",...Sc}),we.post("findOneAndUpdate",async function(t){await _c(t)});const Y=o.models?.Crew||o.model("Crew",we),Bc=(t,e)=>Math.ceil(e*(t.disintegration/100)*(ba(t)||1)),ba=t=>new Date>=(t.meta.buffs.xp.expireAt??new Date(0))?!1:t.meta.buffs.xp.boost,Mc=Object.freeze(Object.defineProperty({__proto__:null,calcXp:Bc,getCrewRank:async t=>(await Y.aggregate([{$setWindowFields:{sortBy:{"meta.xp":-1},output:{rank:{$rank:{}}}}},{$match:{_id:t._id}},{$project:{_id:1,"meta.xp":1,rank:1}}]))[0],getCrewRanking:async()=>Y.aggregate([{$sort:{"meta.xp":-1}},{$limit:10}]),hasXpBuff:ba},Symbol.toStringTag,{value:"Module"})),O=async(t,e)=>{await Y.findOneAndUpdate({_id:t},e,{returnDocument:"after"})},wa=async(t,e,a)=>{e.isProgressive?await O(t,{$addToSet:{"ornament.unlockedBadges":`${e.id}_${a}`}}):await O(t,{$addToSet:{"ornament.unlockedBadges":e.id}})},Cc=Object.freeze(Object.defineProperty({__proto__:null,addBerry:async(t,e,a)=>{await O(t,{$inc:{"meta.berry":e,[`stats.${a.toHexString()}.berry`]:e}})},addMember:async(t,e)=>{await O(t,{$addToSet:{members:e}})},addXp:async(t,e,a)=>{await O(t,{$inc:{"meta.xp":e,[`stats.${a.toHexString()}.xp`]:e}})},addXpBuff:async(t,e)=>{await O(t,[{$set:{"meta.buffs.xp":{$cond:{if:{$or:[{$eq:["$meta.buffs.xp.expireAt",null]},{lt:["$meta.buffs.xp.expireAt",new Date]}]},then:{boost:1.1,expireAt:{$add:[new Date,e*60*60*1e3]}},else:{boost:1.1,expireAt:{$add:["$meta.buffs.xp.expireAt",e*60*60*1e3]}}}}}}])},applyDisintegration:async(t,e)=>{const[a,s]=[e-2,(e-3)*2+3];await O(t,[{$set:{disintegration:{$max:[{$add:["$disintegration",-1*p.randomBetween(a,s)]},0]}}}])},increaseLimit:async(t,e)=>{await O(t,{$inc:{limit:1,"meta.berry":-e}})},removeMember:async(t,e,a)=>{await O(t,{$pull:{members:e},$unset:{[`stats.${a}`]:1}})},repair:async(t,e)=>{await O(t,[{$set:{disintegration:{$min:[{$add:["$disintegration",e]},100]}}}])},unlockBadge:wa},Symbol.toStringTag,{value:"Module"})),Rc=async(t,e={})=>{const a=await Y.findById(t,e);return a||null},Uc=async(t,{name:e,description:a,channelId:s,faction:i})=>await Y.create({name:e,description:a,createdBy:t,channelId:s,faction:i,members:[t]}),ha=(t,e)=>{for(const[,a]of Object.entries(t.daily??{}))if(!a?.[e]||!p.sameDay(a[e],new Date))return!1;return!0},vc=Object.freeze(Object.defineProperty({__proto__:null,isAllDailyCompleted:ha},Symbol.toStringTag,{value:"Module"})),Ac=async t=>{const e={},{crew:a}=await t.populate("crew");for(const s of Object.values(Ne)){const i=new s;for(const c of a.members){const u=await be(c,{_id:1,crew:1}).then(f=>ga(f,"crew",{lastAllMembersDaily:1}));if(u.crew&&i.onCrewQuestUpdate?.(t,u.crew)){const f=await i.complete(u._id,{});if(f){const b=e[u.id];e[u.id]=b?[u._id,[...b[1],[i,f]]]:[u._id,[[i,f]]]}}}}Object.values(e).forEach(([s,i])=>{k("crewQuestUpdate",s,i)})},_a=new o.Schema({crew:{type:o.Schema.Types.ObjectId,required:!0,unique:!0,ref:"Crew"},completed:[String],daily:{type:Object,default:{}},meta:{streak80Percent:{type:Number,default:0},maxVoiceMembers:{type:Number,default:0},actualVoiceMembers:{amount:{type:Number,default:0},connectedAt:{type:Date,default:new Date}}}},{minimize:!1});_a.post("findOneAndUpdate",async function(t){await Ac(t)});const he=o.models?.CrewQuest||o.model("CrewQuest",_a),_e=async(t,e)=>{await he.findOneAndUpdate({crew:t},e,{upsert:!0,returnDocument:"after"})},Sa=async(t,e)=>{await _e(t,{$addToSet:{completed:e}})},Ba=async(t,e,a)=>{await _e(t,[{$addFields:{[`daily.${e}.${a}`]:new Date}}])},kc=Object.freeze(Object.defineProperty({__proto__:null,completeDailyQuest:Ba,completeQuest:Sa,setActualVoiceMembers:async(t,e)=>{await _e(t,{$set:{"meta.actualVoiceMembers.amount":e,"meta.actualVoiceMembers.connectedAt":new Date}})},setMaxVoiceMembers:async(t,e)=>{await _e(t,{$set:{"meta.maxVoiceMembers":e}})}},Symbol.toStringTag,{value:"Module"})),et=async t=>await he.create({crew:t}),xc=async t=>{const e=await he.findOne({crew:t});return e||await et(t)},Ma=(t,e)=>{switch(t){case"quest":return et(e)}},$c=async(t,e,a)=>{if(Array.isArray(e)){const s=await t.populate(e);for(const i of e)s[i]||(s[i]=await Ma(i,t._id));return s}else{const s=await t.populate(e,a),i=s[e];return(!i||Array.isArray(i)&&i.length===0)&&(s[e]=await Ma(e,t._id)),s}},Nc=t=>{o.connect(t)};class Oc extends o.Types.ObjectId{}l.ALL_QUESTS=vt,l.BET_MAX_VALUE=ms,l.BET_MIN_VALUE=ps,l.BackgroundShopItem=nt,l.BoostXpShopItem=it,l.BottleShopItem=ot,l.COOLDOWN_COMMANDS=Pd,l.ChestShopItem=lt,l.CrewQuestQuests=Ne,l.CrewQuests=Oe,l.EDITO_READ=gs,l.EquipmentShopItem=ct,l.ObjectId=Oc,l.ObjectShopItem=dt,l.QUEST_ASSET_IMAGES=ys,l.Quest=n,l.RepairShopItem=ut,l.StoreShopItem=ft,l.TitleShopItem=pt,l.UserDailyQuests=ke,l.UserInventoryQuests=Ee,l.UserMetaQuests=Ie,l.UserOrnamentsQuests=De,l.UserQuestMetaQuests=Fe,l.UserQuestQuests=Qe,l.UserRepetableQuests=ce,l.banExists=ka,l.banGetters=Ra,l.banModel=H,l.betModel=Me,l.completeCrewQuest=Ms,l.completeDailyQuest=Bs,l.completeRepeatableQuest=Cs,l.connectToServices=Nc,l.createBan=Ua,l.createBet=Na,l.createCrew=Uc,l.createCrewQuest=et,l.createInvitations=Ea,l.createReminder=Wa,l.createSettings=rt,l.createUserCrew=Hd,l.createWarn=wc,l.crewGetters=Mc,l.crewModel=Y,l.crewQuestGetters=vc,l.crewQuestModel=he,l.crewQuestUpdates=kc,l.crewUpdates=Cc,l.deleteBan=Aa,l.deleteInvitations=Ia,l.deleteUserById=fc,l.deleteUserCrewById=Td,l.deleteWarn=hc,l.emitQuestEvent=k,l.emitRaidEvent=W,l.emitUserMetaEvent=Nt,l.finWarnById=bc,l.findBan=va,l.findBetById=$a,l.findCrewById=Rc,l.findCrewQuest=xc,l.findInvitations=Oa,l.findReminder=za,l.findSettingsByGuildId=Qa,l.findShop=yt,l.findShopByType=Ha,l.findUser=ua,l.findUserById=be,l.findUserCooldown=Ld,l.findUserCrew=Vt,l.findUserEncyclopedia=ts,l.findUserGames=zd,l.findUserInventory=L,l.findUserMeta=X,l.findUserOrnaments=ac,l.findUserQuest=Je,l.findUserRaid=Ze,l.getBadgeEmojisFromId=Ss,l.getQuestBadgeEmojis=_s,l.invitationsModel=oe,l.onQuestEvent=ss,l.onRaidEvent=Fl,l.onUserMetaEvent=cd,l.populateCrew=$c,l.populateUser=ga,l.questCanvas=fs,l.reminderGetters=Ta,l.reminderModel=P,l.reminderUpdates=Ya,l.settingsModel=ue,l.settingsUpdates=Fa,l.shopGetters=qa,l.shopModel=fe,l.shopUpdates=Ka,l.updateUserCooldown=ee,l.updateUserCrew=Ye,l.updateUserDailyReport=zt,l.updateUserEncyclopedia=ht,l.updateUserGames=ge,l.updateUserInventory=x,l.updateUserMeta=w,l.updateUserOrnaments=R,l.updateUserQuest=re,l.updateUserQuestMeta=m,l.updateUserRaid=E,l.updateUserShop=oa,l.userCooldownGetters=Ga,l.userCooldownModel=Z,l.userCooldownSchema=jt,l.userCooldownUpdates=qd,l.userCrewExists=Gd,l.userCrewModel=K,l.userCrewSchema=Ve,l.userCrewUpdates=jd,l.userDailyReportModel=me,l.userDailyReportSchema=Yt,l.userDailyReportUpdates=Vd,l.userEncyclopediaGetters=Za,l.userEncyclopediaModel=z,l.userEncyclopediaSchema=wt,l.userEncyclopediaUpdates=es,l.userGamesModel=te,l.userGamesSchema=Wt,l.userGamesUpdates=Yd,l.userGetters=oc,l.userInventoryGetters=Ja,l.userInventoryModel=J,l.userInventorySchema=je,l.userInventoryUpdates=vd,l.userMetaGetters=Fd,l.userMetaModel=D,l.userMetaSchema=Pe,l.userMetaUpdates=yd,l.userModel=U,l.userOrnamentsModel=ae,l.userOrnamentsSchema=ze,l.userOrnamentsUpdates=tc,l.userQuestGetters=hs,l.userQuestMetaModel=N,l.userQuestMetaSchema=qe,l.userQuestMetaUpdates=ld,l.userQuestModel=se,l.userQuestSchema=Xe,l.userQuestUpdates=rc,l.userRaidGetters=nc,l.userRaidModel=ie,l.userRaidSchema=la,l.userRaidUpdates=ic,l.userSchema=B,l.userShopGetters=lc,l.userShopModel=ye,l.userShopSchema=ca,l.userShopUpdates=dc,l.userUpdates=uc,l.warnGetters=yc,l.warnModel=V,Object.defineProperty(l,Symbol.toStringTag,{value:"Module"})}));
@@ -3,6 +3,7 @@ import * as userCooldownUpdates from './query/updates';
3
3
  export type * from './types';
4
4
  export * from './constants';
5
5
  export { userCooldownModel } from './definition/model';
6
+ export { userCooldownSchema } from './definition/schema';
6
7
  export * from './process/findOne';
7
8
  export * from './process/updateOne';
8
9
  export { userCooldownGetters, userCooldownUpdates };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/user-cooldown/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,mBAAmB,MAAM,iBAAiB,CAAC;AACvD,OAAO,KAAK,mBAAmB,MAAM,iBAAiB,CAAC;AAEvD,mBAAmB,SAAS,CAAC;AAC7B,cAAc,aAAa,CAAC;AAE5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AAEpC,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/user-cooldown/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,mBAAmB,MAAM,iBAAiB,CAAC;AACvD,OAAO,KAAK,mBAAmB,MAAM,iBAAiB,CAAC;AAEvD,mBAAmB,SAAS,CAAC;AAC7B,cAAc,aAAa,CAAC;AAE5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AAEpC,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import * as userCrewUpdates from './query/updates';
2
2
  export type * from './types';
3
3
  export { userCrewModel } from './definition/model';
4
+ export { userCrewSchema } from './definition/schema';
4
5
  export * from './process/findOne';
5
6
  export * from './process/create';
6
7
  export * from './process/exists';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/user-crew/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,eAAe,MAAM,iBAAiB,CAAC;AAEnD,mBAAmB,SAAS,CAAC;AAE7B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AAEpC,OAAO,EAAE,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/user-crew/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,eAAe,MAAM,iBAAiB,CAAC;AAEnD,mBAAmB,SAAS,CAAC;AAE7B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AAEpC,OAAO,EAAE,eAAe,EAAE,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import * as userDailyReportUpdates from './query/updates';
2
2
  export type * from './types';
3
3
  export { userDailyReportModel } from './definition/model';
4
+ export { userDailyReportSchema } from './definition/schema';
4
5
  export * from './process/updateOne';
5
6
  export { userDailyReportUpdates };
6
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/user-daily-report/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,sBAAsB,MAAM,iBAAiB,CAAC;AAE1D,mBAAmB,SAAS,CAAC;AAE7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D,cAAc,qBAAqB,CAAC;AAEpC,OAAO,EAAE,sBAAsB,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/user-daily-report/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,sBAAsB,MAAM,iBAAiB,CAAC;AAE1D,mBAAmB,SAAS,CAAC;AAE7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,cAAc,qBAAqB,CAAC;AAEpC,OAAO,EAAE,sBAAsB,EAAE,CAAC"}
@@ -2,6 +2,7 @@ import * as userEncyclopediaGetters from './query/getters';
2
2
  import * as userEncyclopediaUpdates from './query/updates';
3
3
  export type * from './types';
4
4
  export { userEncyclopediaModel } from './definition/model';
5
+ export { userEncyclopediaSchema } from './definition/schema';
5
6
  export * from './process/findOne';
6
7
  export * from './process/updateOne';
7
8
  export { userEncyclopediaGetters, userEncyclopediaUpdates };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/user-encyclopedia/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,uBAAuB,MAAM,iBAAiB,CAAC;AAC3D,OAAO,KAAK,uBAAuB,MAAM,iBAAiB,CAAC;AAE3D,mBAAmB,SAAS,CAAC;AAE7B,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AAEpC,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/user-encyclopedia/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,uBAAuB,MAAM,iBAAiB,CAAC;AAC3D,OAAO,KAAK,uBAAuB,MAAM,iBAAiB,CAAC;AAE3D,mBAAmB,SAAS,CAAC;AAE7B,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AAEpC,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,CAAC"}
@@ -3,5 +3,6 @@ export type * from './types';
3
3
  export * from './process/findOne';
4
4
  export * from './process/updateOne';
5
5
  export { userGamesModel } from './definition/model';
6
+ export { userGamesSchema } from './definition/schema';
6
7
  export { userGamesUpdates };
7
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/user-games/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,gBAAgB,MAAM,iBAAiB,CAAC;AAEpD,mBAAmB,SAAS,CAAC;AAE7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AAEpC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/user-games/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,gBAAgB,MAAM,iBAAiB,CAAC;AAEpD,mBAAmB,SAAS,CAAC;AAE7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AAEpC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
@@ -2,6 +2,7 @@ import * as userInventoryGetters from './query/getters';
2
2
  import * as userInventoryUpdates from './query/updates';
3
3
  export type * from './types';
4
4
  export { userInventoryModel } from './definition/model';
5
+ export { userInventorySchema } from './definition/schema';
5
6
  export * from './process/findOne';
6
7
  export * from './process/updateOne';
7
8
  export { userInventoryUpdates, userInventoryGetters };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/user-inventory/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,oBAAoB,MAAM,iBAAiB,CAAC;AACxD,OAAO,KAAK,oBAAoB,MAAM,iBAAiB,CAAC;AAExD,mBAAmB,SAAS,CAAC;AAE7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AAEpC,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/user-inventory/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,oBAAoB,MAAM,iBAAiB,CAAC;AACxD,OAAO,KAAK,oBAAoB,MAAM,iBAAiB,CAAC;AAExD,mBAAmB,SAAS,CAAC;AAE7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AAEpC,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,CAAC"}
@@ -3,6 +3,7 @@ import * as userMetaUpdates from './query/updates';
3
3
  export type * from './types';
4
4
  export * from './event';
5
5
  export { userMetaModel } from './definition/model';
6
+ export { userMetaSchema } from './definition/schema';
6
7
  export * from './process/findOne';
7
8
  export * from './process/updateOne';
8
9
  export { userMetaGetters, userMetaUpdates };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/user-meta/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,eAAe,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,eAAe,MAAM,iBAAiB,CAAC;AAEnD,mBAAmB,SAAS,CAAC;AAC7B,cAAc,SAAS,CAAC;AAExB,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AAEpC,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/user-meta/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,eAAe,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,eAAe,MAAM,iBAAiB,CAAC;AAEnD,mBAAmB,SAAS,CAAC;AAC7B,cAAc,SAAS,CAAC;AAExB,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AAEpC,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import * as userOrnamentsUpdates from './query/updates';
2
2
  export type * from './types';
3
3
  export { userOrnamentsModel } from './definition/model';
4
+ export { userOrnamentsSchema } from './definition/schema';
4
5
  export * from './process/findOne';
5
6
  export * from './process/updateOne';
6
7
  export { userOrnamentsUpdates };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/user-ornaments/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,oBAAoB,MAAM,iBAAiB,CAAC;AAExD,mBAAmB,SAAS,CAAC;AAE7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AAEpC,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/user-ornaments/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,oBAAoB,MAAM,iBAAiB,CAAC;AAExD,mBAAmB,SAAS,CAAC;AAE7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AAEpC,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
@@ -2,6 +2,7 @@ import * as userQuestGetters from './query/getters';
2
2
  import * as userQuestUpdates from './query/updates';
3
3
  export type * from './types';
4
4
  export { userQuestModel } from './definition/model';
5
+ export { userQuestSchema } from './definition/schema';
5
6
  export * from './process/findOne';
6
7
  export * from './process/updateOne';
7
8
  export { userQuestGetters, userQuestUpdates };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/user-quest/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,gBAAgB,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,gBAAgB,MAAM,iBAAiB,CAAC;AAEpD,mBAAmB,SAAS,CAAC;AAE7B,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AAEpC,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/user-quest/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,gBAAgB,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,gBAAgB,MAAM,iBAAiB,CAAC;AAEpD,mBAAmB,SAAS,CAAC;AAE7B,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AAEpC,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import * as userQuestMetaUpdates from './query/updates';
2
2
  export type * from './types';
3
3
  export { userQuestMetaModel } from './definition/model';
4
+ export { userQuestMetaSchema } from './definition/schema';
4
5
  export * from './process/updateOne';
5
6
  export { userQuestMetaUpdates };
6
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/user-quest-meta/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,oBAAoB,MAAM,iBAAiB,CAAC;AAExD,mBAAmB,SAAS,CAAC;AAE7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,cAAc,qBAAqB,CAAC;AAEpC,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/user-quest-meta/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,oBAAoB,MAAM,iBAAiB,CAAC;AAExD,mBAAmB,SAAS,CAAC;AAE7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,cAAc,qBAAqB,CAAC;AAEpC,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
@@ -4,5 +4,6 @@ export type * from './types';
4
4
  export { findUserRaid } from './process/findOne';
5
5
  export * from './process/updateOne';
6
6
  export { userRaidModel } from './definition/model';
7
+ export { userRaidSchema } from './definition/schema';
7
8
  export { userRaidUpdates, userRaidGetters };
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/user-raid/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,eAAe,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,eAAe,MAAM,iBAAiB,CAAC;AAEnD,mBAAmB,SAAS,CAAC;AAE7B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,cAAc,qBAAqB,CAAC;AAEpC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/user-raid/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,eAAe,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,eAAe,MAAM,iBAAiB,CAAC;AAEnD,mBAAmB,SAAS,CAAC;AAE7B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,cAAc,qBAAqB,CAAC;AAEpC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,CAAC"}
@@ -2,6 +2,7 @@ import * as userShopGetters from './query/getters';
2
2
  import * as userShopUpdates from './query/updates';
3
3
  export type * from './types';
4
4
  export { userShopModel } from './definition/model';
5
+ export { userShopSchema } from './definition/schema';
5
6
  export * from './process/updateOne';
6
7
  export { userShopGetters, userShopUpdates };
7
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/user-shop/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,eAAe,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,eAAe,MAAM,iBAAiB,CAAC;AAEnD,mBAAmB,SAAS,CAAC;AAE7B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,cAAc,qBAAqB,CAAC;AAEpC,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/user-shop/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,eAAe,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,eAAe,MAAM,iBAAiB,CAAC;AAEnD,mBAAmB,SAAS,CAAC;AAE7B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,cAAc,qBAAqB,CAAC;AAEpC,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opfr/services",
3
- "version": "0.49.8",
3
+ "version": "0.49.9",
4
4
  "private": false,
5
5
  "description": "OPFR services",
6
6
  "author": "Matthieu VEIGA",
@@ -45,5 +45,5 @@
45
45
  "node_modules",
46
46
  "dist"
47
47
  ],
48
- "gitHead": "c48c060d8969bbacac3ef4e687c6fb4cbc319fc3"
48
+ "gitHead": "c5da9b5a442f8111204c525f837169a0d791df02"
49
49
  }