AE:Barabas

From OniGalore
Revision as of 01:44, 5 March 2023 by Iritscen (talk | contribs) (localized image)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
Oni ni Kanabô
ONK.png

Jetpack

Jetpack Barabas.jpg

By tweaking a few parameters, you can fly around as Barabas.

Flailing and subsequent dying in mid-air are not disabled (yet?).

Instructions to make any character (not just Barabas) jetpack around have been given here.

Bio-Research Lab

Download links later...

TCTF Regional Headquarters

Later...

General instructions

... for making any Oni character able to fly around (incoming from here)

Open an ONCC (e.g. Barabas's : barabus.ONCC in, say, level3_Final), and take a look at the first offset table HERE. Look at all the juicy floats and integers there. The ones we want to hack are : -Float at 0x18 : jetpack acceleration, in world units per frames squared -Short at 0x1E : jetpack timer, in frames -Float at 0x20 : maximal falling height without damage, in world units -Float at 0x24 : height of death fall, in world units

The jetpack acceleration we want to set higher than the gravity acceleration (0.07 for Barabas), but not so high that we hit the ceiling and go in orbit. 0.14 should be fine : by mashing JUMP, you should then be able to hover at constant height (alternating between accelerations -0.07 and 0.07=-0.07+0.14) So click byte 0x18, then go to the Value Viewer area (it's below the Hex viewer) and click the value area next to Float. It will display the old value, and let you set the new value to anything you like (like, 0.14, OK).

The jetpack timer we want to set to something livin' large, so that we can fly around for as long as we want. If we set it to 0xFFFF=65535, we'll be able to fly for 1092.25 seconds = 18 minutes and 12.25 seconds. Should be plenty enough for any wannabe Buzz Lightyear. During those 18 minutes, you can press JUMP to get up, release it to fall down a bit, then press it again... it's actually quite fun ^^ (yeah, for that one it's actually more handy to set it in hex)

The falling heights we want to set to something that's higher than any vertical step in any level. Again, 10000 and 100000 seem safe enough.

Here is a screenshot of the changes: OUP Screenshot

That's it! Load Lab (or the other level if you chose another), shapeshift and "flyyyy like an eagle... into the future..."

Here is a demo of the jetpack ...

Unfortunately, I don't know where the flailing timer is yet, so Barabas (or whoever) will wave his arms desperately as he flies around. So he won't be able to shoot precisely. A little scripting could rule out the flailing anim completely, though. (I've checked it, it works "alright". Doesn't look too nice because the jump_idle anims were never meant to loop, but at least you can aim. That scripting hack will be our lesson number two. ^^ )

Here is the code to stop flailing:

fork BreakFlail
func BreakFlail() {
  chr_wait_animation(0, STRIKEjump_flail)
  chr_animate(0, STRRIFjump_idle)
  sleep 1
  fork BreakFlail }  

EDIT: The flailing timer has been found: Change 0x00 at 0xF724B to 0x7F (PC) and 0x00 at 0x5E4C2 to 0x7F (Mac)

Same thing for that other timer that makes you die in mid-air when you've been falling for too long : I don't know if it's set in the ONCC, or elsewhere, of if it's hardcoded or something... It could very well be hardcoded or something. It's convenient to have it there e.g. in Rooftops OTA (for cratering), but it's alas not too jetpack-friendly. So you have to liveforever if you want to jetpack for longer than a few seconds at a time. Hopefully we'll find those timers some time soon.

EDIT: The Mid-Air Timer is called ONcMaxFramesInAir and is hardcoded for 300 ticks or 5 seconds. EdT

Of course, jetpacking as Barabas will look nicer if you add the "rocket" particle to selected TRAMs (actually, it works and looks quite nice) but that will be our lesson number three (it's a bit more work, actually).

Final thoughts... Lab is a bit boring. Almost any level except Atmospheric Conversion Center (exterior) will be pretty boring to fly around, I guess. More, better enemies should spice it up a bit, though


Regeneration

How could we make Barabas's regeneration even cooler?

Well, since he drains energy from around him, it would make sense if he drained yours, too. Here you can get such particle.

He could poison you at a moderate rate while he regenerates, and poison you more in the event of a long physical contact (e.g. a throw) during the regeneration.