Snowball Showdown
Difficulty:
Shown in Report
Wombley has recruited many elves to his side for the great snowball fight we are about to wage. Please help us defeat him by hitting him with more snowballs than he does to us.
Objective Image
Back
Challenge

I'm Dusty Giftwrap, fresh from the battlefield, and while I love snowball fights, I'm siding with Alabaster - you really don't want to see Santa when he's angry! We need your help dealing with Wombley Cube, and you've got options: team up with a friend for a direct approach, try tweaking client-side values for an advantage, or help us find and launch our secret snow bomb. Whatever strategy you choose, our goal is clear - bringing victory to Alabaster and ending this conflict!

Solution
Silver medal

The easy way would be to play with two people, but it's not a problem to play alone. First, you have to change the parameter in the URL as follows:

...&singlePlayer=false -> ...&singlePlayer=true

If we play with the obvious parameters, such as mainScene.snowBallBlastRadius or mainScene.throwRateOfFire, we get a warning message that we have hacked. So we go on the defensive and simply "shrink" Alabaster. This way, he can hardly be hit and victory is ours.

mainScene.alabaster._scaleY=0.1;
mainScene.alabaster._scaleX=0.1;
mainScene.alabaster.hitbox.height=2;
mainScene.alabaster.hitbox.width=2;

Snowball_Showdown.jpg

Gold medal

Dusty mentions a bomb, so we search for this word in the source code and find it in reconnecting-websocket.min.js. Let's ask the AI again how we can use it.

How can I access, start or launch the dwarfBomb in :

(code from reconnecting-websocket.min.js posted)

To access and start the dwarfBomb functionality in the provided JavaScript snippet, you need to trigger the moasb_start event as this is the condition that initializes the bomber sequence and ultimately launches the dwarfBomb.

Understanding the Event Flow:
The function bgDebug listens for events of type "moasb_start".
Once this event is triggered, the main scene (mainScene) initializes the bomber container (bomberContainer) and its components, including the dwarfBomb.

Triggering the Event:
You can trigger the "moasb_start" event by dispatching a custom event. Ensure that mainScene exists and the environment is properly set up to handle it.
...
you can ensure the triggering function calls bgDebug directly with an appropriate event object:
bgDebug({ type: "moasb_start" });

If we enter this into the console, we are successful and win the battle.

Snowball_Showdown_2.jpg

Update: It has turned out that this call will start the event but will not be counted as a medal. However, an alternative call always leads to success.

this.mainScene.moasb()

I'm thrilled you managed to launch the 'mother-of-all-snow-bombs' and outsmart Wombley! After last year's snowball fight, we learned to track all player actions server-side to prevent cheating - though let's hope Alabaster didn't leave any client-side vulnerabilities for Wombley. Now that his forces are defeated, they'll have to give up their plans to take over Christmas!