Win game by shooting something

Completed patches for Keen6.
Post Reply
levellass
Posts: 2895
Joined: Wed Oct 11, 2006 12:03 pm
Location: Ngaruawahia New Zealand

Win game by shooting something

Post by levellass » Tue Jul 21, 2009 2:35 pm

A subset of the several hundred patches I wrote today, I came across these while researching sprite collisions. Basically these allow you to win the game, exit a level, get the rocket card, and a few other things by shooting or touching a sprite.

The patches are stored here: http://levellord.toxicsheep.com/Index/K ... 20Patches/ in document 14 (Sprite collision 1) but I thought I'd make a topic to alert people to the possibilities and to answer any questions that may arise.

In the file is a list of various collision patches, dependent on a sprite being touched by Keen (2) or his shot (3) If we take one of these patches, say the Bloog's 'kill Keen' collision:

Code: Select all

%patch $108CB $02         #React [with Keen]
%patch $108CC $90 $90     #Always React
%patch $108CF $0AA213CARL #What to do [Kill Keen]
We can alter it so that touching the Bloog wins the level (You can still shoot the Bloog) Here, the first line is of interest to us.

We add 2 to the patch location then add a string to get this:

Code: Select all

%patch $108CD $C7 $06 $AC $75 $0x $00 $5F $5E $5D $CB
The '0x' we replace with any one of a number of values which have different effects:

Code: Select all

#What the '0x' does in the string:
$00: Nothing        $01: Death window  $02: Exit          $03: Restart level  
$04: Restart level  $05: Restart level $06: Jerk screen   $07: Win level
$08: Goto Demo      $09: Sandwich      $0A: Rope          $0B: Card
$0C: Molly          $0D: Win level     $0E: Restart level $0F: Restart level

So our final patch is:

Code: Select all

#Bloog wins level when Keen touches it:
%patch $108CD $C7 $06 $AC $75 $07 $00 $5F $5E $5D $CB

Something similar can be done with most shootable sprites and can even be patched so that you can only win the game by making two sprites collide

Code: Select all

#Bloog must collide with a Gik (11) to win game:
#SIDE EFFECT: Bloog not deadly now
%patch $108CB $11   #This part looks for Gik, not Keen
%patch $108CD $C7 $06 $AC $75 $0C $00 $5F $5E $5D $CB

Hope this fires a few imaginations!

Post Reply