Mischief Makers v1.0 (U)/GameShark

From Kodewerx
Jump to: navigation, search

Hextator

Weapon Adding Code Suite

can be found at this link:

http://pastebin.com/f1084a9f6

Video of the above code suite in action

can be found at this link:

http://www.youtube.com/watch?v=EBg00832C4w

Codes created in the process of making the weapon suite

Kill NPCs
8106C2B0 1000
This code is freaking awesome D:
Kill NPCs Bugfix
811A9694 2400
You will likely need this code to play level 1-5 when the above code is active. It will keep the children from having their HP set to 0 when they are rescued, which otherwise kills them and makes them get rescued twice (causes some pretty glitchy crap)
Red Gems Gained Modifier
8102F8EE XXXX
Changes only how many red gems you get for picking them up normally.
Infinite Gun Time
811A415A 0000
Guns will never expire. Adds 0 to timer instead of subtracting 1.
Infinite Gun Time (Alternate)
811A4160 2400
Guns will never expire. Eliminates original timer update write.

Data collected in the process of making the weapon suite

Sprite Struct Map
Base = Sprite ID * 0x198 + 0x800ED000

Marina is sprite 0

Projectiles are loaded into sprite 1 through about 16

+0x080	Mode bits 3
		AND 0x02: True if holding something
+0x082	Mode bits 1
		AND 0x01: True if can be damaged/able to talk
		AND 0x08: True grabbing something
		AND 0x80: True if invincible?
+0x083	Mode bits 0
		AND 0x20: True = facing left
			Writes have no effect
		AND 0x02: False = Can't move
		AND 0x01: False = Invisible
+0x084	Halfword of what the sprite looks like
		See ***List 1
+0x088	Word of horizontal offset from center of screen
		0xFF880000 to 0x980000 to be on screen
+0x08C	Word of vertical offset from center of screen
		0xFF880000 to 0x680000 to be on screen
+0x098	Another flag word:
		AND 0x00000002: True to use splash collision animation
+0x09C	Byte of red overlay
+0x09D	Byte of green overlay
+0x09E	Byte of blue overlay
+0x09F	Byte of opacity of sprite
		Sniper laser (Item 0x22 in ***List 3) uses 0x60
+0x0B4	Float of width scalar
+0x0B8	Float of heigth scalar
+0x0CC	Flag word
		AND 0x00000004 and AND 0x00000001 must be set for
			Ninja stars to work properly
+0x0D0	Byte of mode
		3 to shoot a gun
		4 to drop it
+0x0D2	Halfword of sprite routine to use
		See ***List 3
+0x0D4	Halfword of hit stun remaining
+0x0D6	Halfword of last sprite held
		Can telegrab with 0xA in 0x080
+0x0E0	Halfword of remaining health
+0x0E2	Halfword of damage to receive
+0x0E4	Halfword of damage to incur
+0x0EC	Word of horizontal speed
+0x0F0	Word of vertical speed
+0x150	For weapons:
		Word of fire delay
			Signed
			Firing resets to gun specific delay
			Guns will fire only if the timer counts down past 0
	For characters:
		Word of damage handling flags
			AND 0x00000080: True if health is to reset to 0x4000 upon death
					False to kill
+0x154	Word of red gem amount to give or receive
+0x158	Byte of direction facing
		AND 0x03:
			00b Right
			01b Up
			10b Left
			11b Down
+0x159	Byte of angle of counter clockwise deviation
		0-90 degrees
+0x16C	Halfword of angle facing of held sprite
		0x380-0xFF (0x400 loops to 0) for -45-90
+0x170	Halfword of position in animation cycle
+0x17C	Word of life remaining timer
		Signed
		< 0 = explode
+0x180	Word of how the sprite shoots
		See ***List 2
Value Lists
***List 1 (Graphic IDs):

Note Note: Odd values look reversed and stupid

0x00D8 - Vash Clancer Laser
0x024A - Ninja Star
0x027A - Clan bomb
0x02C2 - Regular bullet (for some reason spawning sniper lasers uses this incorrect value)
0x1812 - Lunar's gun ;D
0x181C - Merco's lance ;D
0x3012 - Robot gun
0x3034 - Giant green jet pack clancer
0x305A - Machine gun
0x305C - One of those kick ass gatlings the robots use
0x305E - Another gat
0x3060 - Another gat
0x3062 - Missile pod
0x3064 - Homing missile
0x3066 - Looks like a rifle or a pole of some sort.
0x3068 - Some tiny claw thing.
0x306A - Umbrella
0x306C - Another umbrella. This time it isn't slanted.
0x306E - Looks like an unused rocket launcher.
0x3070 - A spring of some sort.
0x30B6 - Red grenade
0x30C6 - Spike bomb
0x30D8 - Sniper laser
***List 2 (Fire Types):
0x00 - Same as below. Not standard.
0x01 - Fires regular missiles.
0x02 - Fires machine gun shells.
0x03 - Fires triple burst machine gun shells.
0x04 - Same as previous, but a bit slower. Not standard.
0x05 - Fires homing missiles.
0x06 - Here and beyond does nothing.
***List 3 (Projectile Types):
0x0016 - Marina clones :D*
0x0018 - Clan pot :D*
0x001C - Clan ball*
0x001D - PHOENIX Gamma
0x0021 - THE Beastector
0x0022 - Sniper laser; always faces right?
0x0023 - Trip mines
0x0024 - Rifle laser
0x003C - Orb formed by catching opponent's laser; doesn't work outside of levels where this can't be done normally
0x003D - CERBERUS Alpha's small green blast; fires collectable red gems in other levels XD*
0x003F - Teran clan ball - won't transform outside of the Blockman level*
0x0040 - Super clan balls*
0x0043 - Red flower*
0x0045 - Clan bomb
0x0049 - Purple spike balls that move in a straight line*
0x004C - Purple spike balls that circle in place*
0x004E - Purple spike balls that bounce up and down*
0x004F - Purple cyclone spike balls*
0x0050 - Purple spike balls that bounce*
0x0062 - Small red laser shells fired by aerial clancers; same issue as with 0x22
0x0077 - Mute clancer
0x007B - Circling objects
0x007C - Unusable red gem*
0x0600 - Spike bomb
0x0903 - Armed robot
0x090C - This value makes you fire objects that fire objects. Kinky...
0x090D - Regular missiles; shoot too fast with fire type 2 and blow themselves up
0x090E - Regular machine gun shells
0x0A01 - Merco's lance
0x0F06 - CERBERUS Alpha's biggest beam; fires stupid statues in other levels :P
0x0F07 - CERBERUS Alpha's normal shells from Lunar's gun; fires useless machine parts in other levels
0x0F08 - CERBERUS Alpha's large orange blast; fires even more useless machine parts in other levels
0x0F13 - Lunar's gun
0x1603 - Boomerang; becomes left hand missile from THE Beastector
0x1604 - Shoots FIRE. YAY. Becomes right hand laser from THE Beastector*
0x1B07 - Small red laser fired by missiles in Missile Surf
0x1C07 - Jet pack clancer; bevavior pattern 0x0061 to ride
0x2000 - Clancer that throws red grenades
0x2600 - Spike bomb
0x2601 - Red grenade
0x2602 - Ninja star :D
0x2603 - Boomerang*
0x2604 - Fire*; standard value
0x2606 - Damn little statues again
0x2607 - More robot crap
0x9BAB - Missiles from CERBERUS Alpha that get bigger when shaken

Note Note: "*" - Will overflow sprite gen buffer and disallow projectile spawning

***List 3a (Projectile Types Condensed):
0022 - Sniper laser; always faces right?
0024 - Rifle laser
0045 - Clan bomb
004C - Purple spike balls that circle in place
0062 - Small red laser shells fired by aerial clancers; same issue as with 0x22
090D - Regular missiles; shoot too fast with fire type 2 and blow themselves up
090E - Regular machine gun shells
1603 - Boomerang
1604 - Shoots FIRE
2600 - Spike bomb
2601 - Red grenade
2602 - Ninja star :D