Some patches for Silcar 4

Request patches for Keens 1-3.
User avatar
Tulip
Posts: 394
Joined: Mon Jun 16, 2008 2:40 pm
Location: Heidelberg, Germany
Contact:

Some patches for Silcar 4

Post by Tulip »

Hello, again I need some patches for my next mod, and I was unable to get them out of the patch index.

1. Make a dead Garg spawn a life yorp (I only found the respective patch for the vorticon, and there are some parts missing to work out the patch for the Garg)

2. Is it possible to make the four items let you pass a certain point on the map rather than finishing the game, and then let that certain level finish the game?

3. Can I make Vorticons not jump? if that's too complicated I guess it'd be fine if they'd just jump one tile high.

4. Make a dead Yorp explosive (I figured that out by giving it the Robot Shot behaviour, but it isn't killing yet.)


Btw, Levellass you could update the patch index when you've got some time, as I've seen there are some of the newer patches missing, like the enemy speeds and stuff.
levellass
Posts: 3001
Joined: Wed Oct 11, 2006 12:03 pm
Location: Ngaruawahia New Zealand

Post by levellass »

You are right, the PI is in major need of an update sometime, the number of Keen 5 patches I've got to upload is incredible.

I shall set to working on these patches immediately; 1 shouldn't be a problem, 2 I think is out of my league, try Andy, 3 & 4 should be simple enough. Hope to have them by tonight!
User avatar
Tulip
Posts: 394
Joined: Mon Jun 16, 2008 2:40 pm
Location: Heidelberg, Germany
Contact:

Post by Tulip »

Once again you're there when I need you,
thanks alot.

You don't have to be hasty, I still need some time with that mod, it's not gonna be finished tonight
levellass
Posts: 3001
Joined: Wed Oct 11, 2006 12:03 pm
Location: Ngaruawahia New Zealand

Post by levellass »

Righto! Well, I DID learn some interesting things today, such as you can only get 3 parts in a level without errors happening. However, I am glad to report success on 3 of your 4 requested patches, as follows:

1.) This is currently possible, but sadly the Yorp produced still kills. It involves a simple behavior switch (The shot Garg is made to behave like a Yorp instead of a shot sprite)

Code: Select all

#Garg when shot spawns (Still deadly) Yorp
%patch $1BF5 $4F $19 #

2.) A bit more complex, I found many things out when researching this, including that it was actually possible to do. It involves changing the level markers a bit. With this patch, you will need to have the first 3 parts AND level 16 done to win. (Part 4 isn't needed to win, but should be needed to remove a block.)

The block sprites will have to be 25,27,29 ans 31 (Actually 25*,27*,29* and 31* to prevent Keen from trying to enter them as levels and causing big problems. If you don't know what asterisked sprites are... sigh)

You can get a maximum of 3 parts in any one level. The blocks can be 1 or 4 tiles in size and will be replaced with DONE markers when the part is got.

Levels 21-24 are 'safe' extra levels created by the patch, all other levels will cause errors if you try to enter them, some of them very devious.

Code: Select all

#The four parts must be got to pass a part of the map
#The blocks will be sprites 25*, 27*, 29* and 31*
#SIDE EFFECT: Levels 21-24 can be played as normal levels

#Make space in the level done array for the item-blocks
%patch $7D3A  $90 $90 $80 $BF $A6 $AA $00      #Create space
%patch $7FCA  $90 $90 $80 $BF $A5 $AA $00 
%patch $9065  $90 $90 $C6 $87 $A6 $AA $00 $90  #Empty space at game start
%patch $9070  $83 $7E $F8 $20 
%patch $8013  $90 $90 $C6 $87 $A5 $AA $01 $90  #Change how levels are marked as done
%patch $7E48  $83 $7E $FC $20  

#Now change the parts tiles to remove map blocks:
%patch $4448 $BE #Joystick (25*)
%patch $4454 $C0 #Battery (27*)
%patch $4460 $C2 #Vacum (29*)
%patch $446C $C4 #Everclear (31*)

#Status window tiles still light up when parts got
%patch $101D $BE #Joystick
%patch $1049 $C0 #Battery
%patch $1075 $C2 #Vacum
%patch $10A1 $C4 #Whiskey

#Change what we need for ending so it still works
#And make it so level 16 needs to be done too
%patch $8022 $BE #Joystick
%patch $8029 $C0 #Battery
%patch $8030 $C2 #Vacum
%patch $8037 $B4 #Level 16 completed

#Change high scores so parts still appear
%patch $8C14 $BE #Joystick
%patch $8C38 $C0 #Battery
%patch $8C5E $C2 #Vacum
%patch $8C85 $C4 #Whiskey

#Change BwB missing parts window so still works
%patch $AE72 $BE #Joystick
%patch $AE97 $C0 #Battery
%patch $AEBC $C2 #Vacum
%patch $AEE1 $C4 #Whiskey

3.) Simple enough, we just fix their jump height to be very low! You say you cannot find the enemy speeds, but last time I checked they were in Keen 1 -> Sprite patches -> 4.) Speed: http://levellord.toxicsheep.com/Index/K ... 20Patches/

Code: Select all

#Vorticons don't jump:
%patch $1C49 $04 $00 #This cannot be 0, so make it small instead

Number 4 I am pretty sure can be done, given a little more time. I've already done something similar.
User avatar
Tulip
Posts: 394
Joined: Mon Jun 16, 2008 2:40 pm
Location: Heidelberg, Germany
Contact:

Post by Tulip »

Yes that was my fault. I meant not the speeds, but the shooting heights aren't in the Patch Index... but that's not important...

That first one I figured out myself already

Code: Select all

%patch $1BF5 $4F $19 #Make dead garg behave like Yorp
%patch $1BFA $68 $1A #Make it spawn a dead Yorp when shot

#%patch $1DA3 $30 $00 #Yorp start sprite
#%patch $1D98 $00 $02 $00 #Make it push Keen like a Yorp
I got this one out of the patch index, the first two were already altered to work with the Garg, the last two with the ## are currently for the Vorticon, I only need the $xxxx for the Garg (I hope)

Concerning the second with the Items, I think I'll still need some time to fully understand what it does...

Thanks again.
levellass
Posts: 3001
Joined: Wed Oct 11, 2006 12:03 pm
Location: Ngaruawahia New Zealand

Post by levellass »

For a simple test, put sprite 31 on your map, then get the Whisky (Everclear) the sprite will be replaced with a DONE marker. It's pretty simple in execution.

And I'll be! You can change the shot Garg into a fully functional Yorp! If you check sprite patches, the two patches you wanted were the shot Garg sprite and the shot Garg interaction which gives the following patch:

Code: Select all

#The Garg spawns a Yorp when shot:
%patch $1BF5 $4F $19 #Make dead garg behave like Yorp
%patch $1BFA $68 $1A #Make it spawn a dead Yorp when shot
%patch $1BF0 $30 $00 #Yorp start sprite
%patch $1BE5 $00 $02 #Make it push Keen like a Yorp
Kdash
Posts: 405
Joined: Sat Feb 26, 2005 5:45 pm

Post by Kdash »

So Silicar 4 isn't a Keen 4 mod? Booo. ;-P

Glad you're asking for a lot of creative patches, though. Some interesting stuff can (and has) come out of these.
User avatar
Tulip
Posts: 394
Joined: Mon Jun 16, 2008 2:40 pm
Location: Heidelberg, Germany
Contact:

Post by Tulip »

Thanx to Levellass, and I'm still hoping for the xploding dead yorp...

And yes, Silcar 4 won't be a Keen 4 mod,
It's so much work, but while I was working on Silcar 2 I already started a Keen 5 mod, and I expect it to be Silcar 5...
User avatar
Tulip
Posts: 394
Joined: Mon Jun 16, 2008 2:40 pm
Location: Heidelberg, Germany
Contact:

Post by Tulip »

I got some new ideas,

Is it possible to make the Tankbot stompable, but not transforming to a yorp. The yorp itself doesn't have to be stompable anymore.

And can I give the Tankbot strength, say 10 shots till it dies?

I still need these dead yorps to be deadly exploding....

Thanks in advance
levellass
Posts: 3001
Joined: Wed Oct 11, 2006 12:03 pm
Location: Ngaruawahia New Zealand

Post by levellass »

First up; explain 'deadly' exploding.

The stomp behavior can only produce one sprite when activated, but since the Yorp won't be stompable, this can be changed to the tankbot.

To give the Tankbot a strength, we'll need to edit its spawning behavior, to give it a strength like the vorticon, I am not sure if this can be done without making the tankbot act funny. I shall investigate soon, and if so, it shall be simple enough.

Here is the first patch. (Note that the first two patches are from the interaction section of Keen 1 -> Sprite patches and the third is from the behavior section.)

Code: Select all

#Make Tankbot stompable:
#SIDE EFFECT: Yorp not stompable

#Switch Yorp\tbot interaction:
%patch $188B $06 $00 #Yorp not stompable
%patch $171E $02 $00 #Tank stompable

#Make stomped sprite become a tbot not Yorp when it recovers:
%patch $1A58 $C1 $1F #After stunned, be a shooting Tankbot

#Make the Tank bot shot not hit $02 Tbot:
%patch $4A0D $02 #Don't hit this

As an aside, this is what destroys the Robot's shots (The two selected entries are the things that DON'T; in this case the Tank Bot, and the Tank Bot's Zap/Zot)

Code: Select all

#Robot shots aren't stopped by:
%patch $4A0D $06 #Tank Bot
%patch $4A12 $0E #This is kinda 'extra'
User avatar
Tulip
Posts: 394
Joined: Mon Jun 16, 2008 2:40 pm
Location: Heidelberg, Germany
Contact:

Post by Tulip »

Cool, that tankbot thing seems to work perfectly, thank you.

Deadly exploding: Thats what I have in mind: If you shoot a yorp, it spawns a dead yorp, now this dead yorp I want to be killing, but if it is shot or touched by keen or any other sprite it should zap/zot.
I can make it zap/zot by giving it robot bullet behavour, but it doesn't kill yet when touched.
levellass
Posts: 3001
Joined: Wed Oct 11, 2006 12:03 pm
Location: Ngaruawahia New Zealand

Post by levellass »

Interesting, I had a patch that made Yorps explode into icecubettes as SOON as touched (The cubettes could be made killy.) but your idea is more inventive, I shall see what I can do with it.
User avatar
Tulip
Posts: 394
Joined: Mon Jun 16, 2008 2:40 pm
Location: Heidelberg, Germany
Contact:

Post by Tulip »

I had a new idea, which could lead to some great puzzles,
but it didn't quite work.
I wanted to make the butler bot ice you by touch, the only problem is that when i give the bot that behaviour it will zap instantaniously on the ground and dissappear.

If there is a possibility to make that work, then I'll need an additional patch, to make the Iced keen invincible for the time being iced (still sliding and stuff, but not killed by killy tiles or monsters)

I know that is a bit complicated but I hope it's possible.
levellass
Posts: 3001
Joined: Wed Oct 11, 2006 12:03 pm
Location: Ngaruawahia New Zealand

Post by levellass »

Sadly, Keen in any state uses the same code for being hit by stuff, if iced Keen is immortal, then normal Keen is immortal, and I do not know enough about him to change this.

I shall look into the other patch though.

EDIT: This seems to work; the robot freezes Keen on touch, then usually pushes him somewhere.

Code: Select all

#Butler bots freeze Keen on cantact:
%patch $1782 $0F $00
It uses the interaction patch, I think you may have been using the behavior patch, to try and make it act like an ice cube.
User avatar
Tulip
Posts: 394
Joined: Mon Jun 16, 2008 2:40 pm
Location: Heidelberg, Germany
Contact:

Post by Tulip »

Nope, doesn't work for me. Butler Bots just dissappear.

EDIT: I thought maybe the size matters, because my fell a bit till they landed, so I changed the height to 32 pixels. But the only one I get to see is the one already visible when I enter the level. All others aren't there.
Post Reply