News: 11 March 2016 - Forum Rules, Mobile Version
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia

Author Topic: Megaman Legends: Second Quest (Item Location Move/Shuffle)  (Read 706 times)

ShadyRounds

  • Jr. Member
  • **
  • Posts: 12
  • Apathetic, yet Helpful.
    • View Profile
Megaman Legends: Second Quest (Item Location Move/Shuffle)
« on: October 18, 2017, 09:09:58 am »
I am finally at a point, after a Newcomer's Board post, where I can show some progress (Helping Hands or Instructions still Welcome via PM):

I am making a Megaman Legends: Second Quest. I hope the work may oneday turn into a randomizer, and I do want to include various features beside just item location move/shuffle.


Progress:
  • I actually started with "lowering starting value for morality in newgame", you're closer to turning "dark megaman" at the gamestart.
  • I have shuffled the script the chests/npcs call on to grant items. Very rudimentary for now but it does in fact replace the given item and the bugs aren't yet apparent.
  • Game's first SpecWep, is treated as a "key item". If gotten later, will not give weapon. Whatever is given in it's place, still gives original weapon. SOLUTION: No "physical" item is rewarded by junkstore (is now "implied" gotten and used by Roll), and Roll now provides weapon (incorrect speech so far is placeholder)
  • Buster Parts have been rebalanced to favor +Atk less, as well as reduce max-statting significantly in endgame.

As the first step, i'll be hand-placing items at new locations and listing possible additional features.

Planned So Far:
  • Change finding SpecWeps, for balance (mines too skong @ start)...
    ...from primarily: Mines➤Cannon➤Grandaddy'Nade➤ActiveB/SLaser...
    ...to instead: Grenade/MacB/Shield/Blade/Vacuum➤Spread/Cannon/Mines➤Grandaddy'Nade➤ActiveB/SLaser
  • Change buster part locations to encourage rpd/eng little more than atk.
  • Re-Balance buster part stats to encourage rpd/eng little more than atk.
  • Change every item location around at least a little, so the player has to look around and never knows what might be where!
  • Lower newgame morality value, so early-game grinding can impact megaman's light/dark state.
  • Idea: Wiring the "Difficulty" at Main Menu, to "always be present" rather than "after game completion".
  • Idea: Wiring original japanese soundtracks back in (they are present on english roms, unhooked)
  • Idea: Adding original japanese version's option of kicking paprika rather than shooing (so far I tried and failed to do this so...)
  • Idea: A randomizer to shuffle the pool of items between all available locations for endless playthroughs.
  • Idea: Adding a version with harder difficulty, such as faster enemy projectiles, faster enemy rate of fire, more shots per attack by enemies, higher health for enemies, possibly adding copies of bosses in the same room together, removing player's hit-invincibility, ect.
  • Idea: Optional "difficulty choice" to reduce starting buster slots, from 2 to 1. (one less buster slot than normal, at any given time)
  • Idea: No promises, but there are unused "normal items". New consumables, or components for something?

Open to any feedback, ideas, or advice, from the community, both RomHacker and LegendsFan alike. Would like to get a working playable version with at least the base-features done by the 20th Legends Anniversary (Dec.19).

Special thanks to the LegendsStation for RamHack documentation specifically for Legends, and to RomHacking.net community for all the general PS1 documentation that helped me get here! :beer:, so that I can furnish the Legends fandom with some much needed expansion content since the cancellation of MML3  :'(
« Last Edit: November 04, 2017, 08:56:00 am by ShadyRounds »
Apathetic, yet Helpful. :beer:
Project: Megaman Legends: Second Quest

ArkthePieKing

  • Jr. Member
  • **
  • Posts: 66
    • View Profile
Re: Megaman Legends: Second Quest (Item Location Move/Shuffle)
« Reply #1 on: October 18, 2017, 01:23:40 pm »
Oh man, this is some exciting stuff! Legends rarely gets the attention it deserves. This would definitely breathe some new life into the game.

SleepyFist

  • Hero Member
  • *****
  • Posts: 684
    • View Profile
Re: Megaman Legends: Second Quest (Item Location Move/Shuffle)
« Reply #2 on: October 19, 2017, 08:08:24 pm »
Heck yeah, this sounds like an awesome hack, It's one of those games I kinda played too often and developed a memory for locations, it kinda makes the game very breakable.
Sleepy's tune of the week: Degiheugi - Opening Credits - https://youtu.be/dGZmQQ8YDkk

ShadyRounds

  • Jr. Member
  • **
  • Posts: 12
  • Apathetic, yet Helpful.
    • View Profile
Re: Megaman Legends: Second Quest (Item Location Move/Shuffle)
« Reply #3 on: October 23, 2017, 04:57:02 pm »
I appreciate the kind replies. I figure I've nearly cracked this open and have until Dec19, so I really am playing a dangerous game by taking a short weeklong break (taking care of irl vehicle maintenance). I'll have plenty of time to work on it tonight, and hopefully in 1 setting I can figure out what writes to the accumulative weapon-progress (00 00 for no special weapons unlocked, FF FF for all unlocked, from what I understand), and trace it to rom so I can just change both reward and creation to the same item.

I want to go back later and just rig up a working support car instead of the options given, but for now I'll concede it easier to start special weapon development after the pirate town battle, but at least there are 3-4 weapons that can be starting weapons (made by only 1 junkpart).

EDIT: No good, emulator doesn't break at writing to stored weapon value (at least no$ doesn't). I'm still playing around with possibilities, other emulator debuggers, different addresses that are affected (the weapon being equipped to arm, doesn't break either, weirdly enough). Still hopeful.

EDIT EDIT: Actually, the weapon equip does break on an odd number between hex's. I got it to break like that, anyway. So I tracked the value, and after a night of changing 7 values and ripping Volnutt's arm off, I figured out that if I calm down and simply change merely the single value it points to and not every value in the nearby neighborhood of the address, it actually calmly works. ...I still don't have it taking the grenade-kit for the grenade-arm (Factually found out how to, just for it to freeze when I do it "correctly"), and I still can't provide an upgrade screen, and the mines-speech still plays, but this is technically 100% playable now... not like I won't continue to improve it, but this is pretty exciting... (If the grenadekit won't take without freeze, the player can't technically get 2, so it's a bottom-priority until I finish the rough draft)
« Last Edit: October 24, 2017, 09:34:20 am by ShadyRounds »
Apathetic, yet Helpful. :beer:
Project: Megaman Legends: Second Quest

ShadyRounds

  • Jr. Member
  • **
  • Posts: 12
  • Apathetic, yet Helpful.
    • View Profile
Re: Megaman Legends: Second Quest (Item Location Move/Shuffle)
« Reply #4 on: November 02, 2017, 08:02:29 am »
Worthy enough update. Took another break for other megaman-related things. Well, I came back and decided to pick a random topic of interest: How Buster-Parts modify the BusterGun's attributes.

I must be getting good at this.

So, I scanned for changing BusterValues in ePSXe1.9.25 using CheatEngine (the ram locations never change in a game loaded in this emulator, even after the emulator resets or the entire computer resets).

I found Attk to be CheatEngine=B40D4C. I rendered the following formula for MML1 (possibly all PSX games?), to be (ePSXe&CE)-(A8B6A0)=(NativeRAM) which means RAM=B56AC. C is Attk, D is Energy, E is Range, F is Rapid.

I ran a Break for RapidFire at B56AF, and found on the second break, that the value loads from RAM=900F6(-199h), or 8FF5F.

Sure enough, 01 is the value at 8FF5F, and a lot of conveniently buster-part-looking values lie in the same area (a lot of 00s, with peppered in 01, 02, 03, and 04's).

Well, changing that location's 01 to 03, now causes RapidFire to always grant +3 when equipped, for the duration of the game.

The 16-byte neighborhood can be searched in ROM, where one finds a result: ROM=F63B7 for RapidFire. From this general location, I can likely change the strengths of all buster parts in the game.

Rebalance ahoy! I'm going to give rapid parts so much rapid, rpd/eng parts so much rapid, attk parts I might even reduce attack power on the farther endgame parts and grant energy instead.

I have to change "buster part description" text manually, but that's easy as hell and has already been established in practice to a point of elementary level work. Another important note, is that rapid is locked at +4 as MAX in the engine (manually forcing the player's rapid beyond it, results in same ROF). So... I'm going to have to get creative about the rapid values and possibly peppering in +eng to go along with +rpd.

Also, my city won the baseball world series 2017 for the first time in the team's 50 year existence. I don't even like baseball, but it makes for good conversation.

November 04, 2017, 08:43:12 am - (Auto Merged - Double Posts are not allowed before 7 days.)
...and so it is decided. Balance is as follows, because this is the 1 thing in life I actually get to balance so I'ma act like I'm MLG and am god's gift to balancing.
  • Rapid parts always grant +2 for tier1, or +4 for tier2.
  • Sniper units have +rng+atk, buster units have +eng+rng, because that makes way more sense in my head. Any Objections?
  • Everything +Atk has been limited to lower numbers. Only 2 obtainable parts in the game have +3Atk (PowerStream and PowerRaiserΩ)
  • Anything Max (+7), is now +3 for 2 attributes.
  • "BusterMax" is now "OmniUnitΩ" (Atk/Eng +3, Rng/Rpd +2) ; Formerly "OmniUnitΩ" is now "OmniUnit ⧜" (All +2). Easymode eNuff

Ergo:
  • "Power Raiser" (A:+1), "⧜" (A:+2), "Ω" (A:+3)
  • "Turbo Charger" (E:+1), "⧜" (E:+2), "Ω" (E:+3)
  • "Range Booster" (R:+1), "⧜" (R:+2), "Ω" (R:+3)
  • "Rapid Fire" (S:+2,E+1), "Rapid Striker" (S:+4)
  • "Omni-Unit" (A/E/R:+1, S+2), "⧜" (ALL:+2)
  • "Omni-Unit Ω" ("BusterMax") (A/E:+3, R/S+2)
  • "Blast Unit" (A:+1,E:+2), "Laser" (A+2,E+2), "Blaster Unit Ω" (A:+2,E:+3)
  • "Sniper Unit" (A:+1,R:+2), "Sniper Range" (A:+1,R:+3), "Sniper Unit Ω" (A:+2,R:+3)
  • "Buster Unit" (E:+2,R+1), "Buster Unit Ω" (E:+3,R+2)
  • "Power Stream" (A/E:+3), "Auto Battery" (E/S+4)

How this changes vanilla strategy:
  • Attk requires eng/rng/rpd sacrifices to boost and can't be boosted as early either.
  • Rpd is now easy to include with other builds.
  • Eng can be boosted earlier and coupled with rapid will probably be stronger dps than attk, but max-eng is still limited at the top-level parts to reduce maxing.
  • Range is reduced at higher levels, and reduced what includes it with other attributes, so range must be more intentionally equipped.
  • Without BusterMax Omni-Ω, more can be maxed by endgame minus attk, less if maxing attk.
    (WITH Omni-Ω I believe there is at least 1 build that lets you max everything by endgame: Omni-Ω & Omni-⧜ & and whatever random Attk-Eng-Rng part)
  • Lastly, if possible, difficulty can be further increased, by reducing 2 buster slots to 1 (and joint plug granting 2nd instead of 3rd). That way, first half of game is played with 1 part, and later half has to finish while limited to 2 parts.
« Last Edit: November 04, 2017, 08:43:12 am by ShadyRounds »
Apathetic, yet Helpful. :beer:
Project: Megaman Legends: Second Quest

nks

  • Newbie
  • *
  • Posts: 2
    • View Profile
Re: Megaman Legends: Second Quest (Item Location Move/Shuffle)
« Reply #5 on: November 04, 2017, 09:39:41 pm »
Nice to see one of my favorite games of all time (MML1+2) getting some love. Any added difficulty to them is a definite plus.

ShadyRounds

  • Jr. Member
  • **
  • Posts: 12
  • Apathetic, yet Helpful.
    • View Profile
Re: Megaman Legends: Second Quest (Item Location Move/Shuffle)
« Reply #6 on: November 08, 2017, 05:00:31 am »
Okay, so still making progress slowly, taking several days off at a time and pecking at it, but I'll have time to do this 3-4 days(nights) a week hopefully for the whole of the holiday. EDIT: I am now switching/adding jobs, so now I may have LESS time to work on it, but the deadline is still a very likely success.

I also have some update. I've changed the buster parts (minor adjustments to those few listed), and I've ran into a problem/opportunity:

Some BusterParts have 4 locations for their textblock, yet others have 2 locations. After being nearly-done, I've discovered why: 2 locations are the store-description (1 for market, one for woods), and 2 are for BusterPartsMenu.

Furthermore, instead of modifying text-pointers in BusterPartsMenu, I can just rob space from the description for the additional space for numbers (not glamorous, but you'd hardly notice). HOWEVER, the shop doesn't have space to rob, which means to do it the "lazy way" (without changing textpointers) i'll have to butcher text for a few of them.

The OPPORTUNITY this provides though, is the store's item locations, possibly the script to grant the items too, and their cost, and it exists INDEPENDENTLY for EACH store location, so the following things might now be possible:

1) Having store sell different items than each other (they already only offer items Megaman DOESN'T have). E.g.: Market sells ChameleonNet but not DefSh, Woods sells DefenseShield but not CamoNet, and WITH THE FREED-UP SPACE the Market now sells MysticOrb and Woods sells CannonKit.

2) If the store knows how to only sell items Megaman doesn't already have 1 of (HyperCart, ShieldRepair, ect), but knows how to progressively sell 99 "ExtraPacks" (canteen upgrades), perhaps I can script it to sell "copies" of extra "HyperCart" and "ShieldRepair" (possibly even progressing prices for each already owned, limit of 2 or something).

3) I might be able to change prices.

4) I might be able to change "when" in game-progression, that a shop will offer an item (in the example above, not offer CannonKit until after Downtown fight but before Marlwolf... or, if such a progress-flag doesn't exist between then, at least not offer it before the class B license)

Anyway, if I am satisfied with fitting text for BusterPart descriptions, I'll release a trial-version soon that just makes the few changes I've already made (buster parts, morality, the location of starting busterparts, the grenades instead of mines).
« Last Edit: November 09, 2017, 04:57:27 pm by ShadyRounds »
Apathetic, yet Helpful. :beer:
Project: Megaman Legends: Second Quest