Skip to content

Commit

Permalink
commit
Browse files Browse the repository at this point in the history
  • Loading branch information
gc committed Dec 22, 2024
1 parent b882617 commit 3404bda
Show file tree
Hide file tree
Showing 25 changed files with 592 additions and 78 deletions.
10 changes: 5 additions & 5 deletions data/bso.commands.json
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,11 @@
"examples": ["/chop name:Logs"],
"subOptions": []
},
{
"name": "christmas",
"desc": "The 2024 Christmas Event",
"subOptions": ["check", "active_cast", "drop_rates"]
},
{
"name": "cl",
"desc": "See your Collection Log.",
Expand Down Expand Up @@ -251,11 +256,6 @@
"desc": "See your current GP balance.",
"subOptions": []
},
{
"name": "halloween",
"desc": "The 2024 Halloween Event",
"subOptions": ["check", "hand_in"]
},
{
"name": "help",
"desc": "Get information and help with the bot.",
Expand Down
1 change: 1 addition & 0 deletions prisma/schema.prisma
Original file line number Diff line number Diff line change
Expand Up @@ -1247,6 +1247,7 @@ enum activity_type_enum {
MyNotes
Colosseum
CreateForestersRations
SnoozeSpellActive
}

enum xp_gains_skill_enum {
Expand Down
4 changes: 3 additions & 1 deletion src/lib/Task.ts
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ import { naxxusTask } from '../tasks/minions/bso/naxxusActivity';
import { nexTask } from '../tasks/minions/bso/nexActivity';
import { odsTask } from '../tasks/minions/bso/ouraniaDeliveryServiceActivity';
import { researchActivityTask } from '../tasks/minions/bso/researchActivity';
import { snoozeSpellActiveTask } from '../tasks/minions/bso/snoozeActivity.js';
import { scTask } from '../tasks/minions/bso/stealingCreationActivity';
import { twTask } from '../tasks/minions/bso/tinkeringWorkshopActivity';
import { turaelsTrialsTask } from '../tasks/minions/bso/turaelsTrialsActivity';
Expand Down Expand Up @@ -239,7 +240,8 @@ const tasks: MinionTask[] = [
turaelsTrialsTask,
myNotesTask,
colosseumTask,
CreateForestersRationsTask
CreateForestersRationsTask,
snoozeSpellActiveTask
];

export async function processPendingActivities() {
Expand Down
76 changes: 76 additions & 0 deletions src/lib/christmasEvent.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
import { resolveItems } from './util.js';

const wizardOutfit = resolveItems([
'Snowdream robe legs',
'Snowdream wizard hat',
'Snowdream robe top',
'Snowdream wizard socks'
]);

export const blackSantaOutfit = resolveItems([
'Black santa top',
'Black santa legs',
'Black santa gloves',
'Black santa boots'
]);

export const allChristmasEventItems = resolveItems([
...wizardOutfit,
...blackSantaOutfit,
'Snowdream rune',
'Snowdream pillow',
'Chef-touched heart (choc)',
'Sungod slippers',
'Icey santa hat',
'Grinchling',
'Shrimpy',
'Snowflake amulet',
'Snowdream staff'
]);

const daysOnAverageChance = (days: number) => days * 1440;

interface Drop {
items: number[];
chancePerMinute: number;
clDropRateIncrease?: number;
}

export const christmasDroprates: Drop[] = [
{
items: wizardOutfit,
chancePerMinute: daysOnAverageChance(0.3),
clDropRateIncrease: 4
},
{
items: resolveItems(['Icey santa hat']),
chancePerMinute: daysOnAverageChance(10)
},
{
items: blackSantaOutfit,
chancePerMinute: daysOnAverageChance(0.8),
clDropRateIncrease: 3
},
{
items: resolveItems(['Snowdream pillow']),
chancePerMinute: daysOnAverageChance(1.5),
clDropRateIncrease: 2
},
{
items: resolveItems(['Chef-touched heart (choc)']),
chancePerMinute: daysOnAverageChance(0.2),
clDropRateIncrease: 2
},
{
items: resolveItems(['Sungod slippers']),
chancePerMinute: daysOnAverageChance(1.5),
clDropRateIncrease: 3
},
{
items: resolveItems(['Shrimpy', 'Grinchling']),
chancePerMinute: daysOnAverageChance(5),
clDropRateIncrease: 2
}
];

export const SNOWDREAM_RUNES_PER_MINUTE = 30;
218 changes: 218 additions & 0 deletions src/lib/customItems/customItems.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13521,3 +13521,221 @@ setCustomItem(
},
500_000
);

setCustomItem(
73_304,
'Snowdream logs',
'Coal',
{
customItemData: {
cantDropFromMysteryBoxes: true
}
},
500
);

setCustomItem(
73_305,
'Snowdream staff',
'Bronze dagger',
{
customItemData: {
cantDropFromMysteryBoxes: true
}
},
500
);

setCustomItem(
73_306,
'Snowdream rune',
'Coal',
{
customItemData: {
cantDropFromMysteryBoxes: true
}
},
500
);

setCustomItem(
73_307,
'Snowdream robe legs',
'Bronze platelegs',
{
customItemData: {
cantDropFromMysteryBoxes: true
}
},
500
);

setCustomItem(
73_308,
'Snowdream wizard hat',
'Bronze full helm',
{
customItemData: {
cantDropFromMysteryBoxes: true
}
},
500
);

setCustomItem(
73_309,
'Snowdream robe top',
'Bronze full helm',
{
customItemData: {
cantDropFromMysteryBoxes: true
}
},
500
);

setCustomItem(
73_310,
'Snowdream wizard socks',
'Bronze boots',
{
customItemData: {
cantDropFromMysteryBoxes: true
}
},
500
);

setCustomItem(
73_311,
'Snowdream pillow',
'Bronze kiteshield',
{
customItemData: {
cantDropFromMysteryBoxes: true
}
},
500
);

setCustomItem(
73_312,
'Black santa top',
'Bronze platebody',
{
customItemData: {
cantDropFromMysteryBoxes: true
}
},
500
);

setCustomItem(
73_313,
'Black santa legs',
'Bronze platelegs',
{
customItemData: {
cantDropFromMysteryBoxes: true
}
},
500
);

setCustomItem(
73_314,
'Black santa gloves',
'Bronze gloves',
{
customItemData: {
cantDropFromMysteryBoxes: true
}
},
500
);

setCustomItem(
73_315,
'Black santa boots',
'Bronze boots',
{
customItemData: {
cantDropFromMysteryBoxes: true
}
},
500
);

setCustomItem(
73_316,
'Chef-touched heart (choc)',
'Coal',
{
customItemData: {
cantDropFromMysteryBoxes: true
}
},
500
);

setCustomItem(
73_317,
'Icey santa hat',
'Bronze full helm',
{
customItemData: {
cantDropFromMysteryBoxes: true
}
},
500
);

setCustomItem(
73_318,
'Sungod slippers',
'Bronze boots',
{
customItemData: {
cantDropFromMysteryBoxes: true
}
},
500
);

setCustomItem(
73_319,
'Axe of the high sungod (xmas)',
'Axe of the high sungod',
{
customItemData: {
cantDropFromMysteryBoxes: true,
isSuperUntradeable: true
}
},
100_000
);

setCustomItem(
73_320,
'Grinchling',
'Herbi',
{
customItemData: {
cantDropFromMysteryBoxes: true
}
},
100_000
);

setCustomItem(
73_321,
'Snowflake amulet',
'Amulet of strength',
{
customItemData: {
cantDropFromMysteryBoxes: true,
isSuperUntradeable: true
}
},
100_000
);
7 changes: 7 additions & 0 deletions src/lib/data/Collections.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import { calcWhatPercent, isObject, notEmpty, removeFromArr, sumArr, uniqueArr }
import { Bank, ChambersOfXeric, Clues, type Item, type Monster, Monsters } from 'oldschooljs';
import { resolveItems } from 'oldschooljs/dist/util/util';
import { divinationEnergies, portents } from '../bso/divination';
import { allChristmasEventItems } from '../christmasEvent.js';
import type { ClueTier } from '../clues/clueTiers';
import { ClueTiers } from '../clues/clueTiers';
import type { CollectionLogType } from '../collectionLogTask';
Expand Down Expand Up @@ -49,6 +50,7 @@ import { MUserStats } from '../structures/MUserStats';
import { getAllIgneTameKCs, tameKillableMonsters } from '../tames';
import type { ItemBank } from '../types';
import getOSItem from '../util/getOSItem';
import itemID from '../util/itemID.js';
import { shuffleRandom } from '../util/smallUtils';
import type { FormatProgressFunction, ICollection, ILeftListStatus, IToReturnCollection } from './CollectionsExport';
import {
Expand Down Expand Up @@ -1863,6 +1865,11 @@ export const allCollectionLogs: ICollection = {
]),
counts: false
},
'Christmas 2024': {
alias: ['xmas 2024', 'christmas 2024'],
items: allChristmasEventItems.filter(i => i !== itemID('Snowflake amulet')),
counts: false
},
'BSO Birthday 2022': {
alias: ['bso birthday 2022'],
items: resolveItems(['Honey', 'Honeycomb', 'Beehive', 'Buzz']),
Expand Down
4 changes: 3 additions & 1 deletion src/lib/data/CollectionsExport.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2534,7 +2534,9 @@ export const discontinuedCustomPetsCL = resolveItems([
'Rudolph',
'Cluckers',
'Polterpup',
'Mumpkin'
'Mumpkin',
'Grinchling',
'Shrimpy'
]);

export const kingGoldemarCL = resolveItems([
Expand Down
5 changes: 5 additions & 0 deletions src/lib/data/creatables/bsoItems.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1395,6 +1395,11 @@ export const BsoCreateables: Createable[] = [
.add('Pernix components', 3),
outputItems: new Bank().add('Deathly collector (i)'),
noCreatablesCl: true
},
{
name: 'Snowdream staff',
inputItems: new Bank().add('Snowdream logs', 8),
outputItems: new Bank().add('Snowdream staff')
}
];

Expand Down
Loading

0 comments on commit 3404bda

Please sign in to comment.