Files
Grinch-AP/worlds/mm2/docs/en_Mega Man 2.md
Silvris 0e6e359747 Mega Man 2: Implement New Game (#3256)
* initial (broken) commit

* small work on init

* Update Items.py

* beginning work, some rom patches

* commit progress from bh branch

* deathlink, fix soft-reset kill, e-tank loss

* begin work on targeting new bhclient

* write font

* definitely didn't forget to add the other two hashes no

* update to modern options, begin colors

* fix 6th letter bug

* palette shuffle + logic rewrite

* fix a bunch of pointers

* fix color changes, deathlink, and add wily 5 req

* adjust weapon weakness generation

* Update Rules.py

* attempt wily 5 softlock fix

* add explicit test for rbm weaknesses

* fix difficulty and hard reset

* fix connect deathlink and off by one item color

* fix atomic fire again

* de-jank deathlink

* rewrite wily5 rule

* fix rare solo-gen fill issue, hopefully

* Update Client.py

* fix wily 5 requirements

* undo fill hook

* fix picopico-kun rules

* for real this time

* update minimum damage requirement

* begin move to procedure patch

* finish move to APPP, allow rando boobeam, color updates

* fix color bug, UT support?

* what do you mean I forgot the procedure

* fix UT?

* plando weakness and fixes

* sfx when item received, more time stopper edge cases

* Update test_weakness.py

* fix rules and color bug

* fix color bug, support reduced flashing

* major world overhaul

* Update Locations.py

* fix first found bugs

* mypy cleanup

* headerless roms

* Update Rom.py

* further cleanup

* work on energylink

* el fixes

* update to energylink 2.0 packet

* energylink balancing

* potentially break other clients, more balancing

* Update Items.py

* remove startup change from basepatch

we write that in patch, since we also need to clean the area before applying

* el balancing and feedback

* hopefully less test failures?

* implement world version check

* add weapon/health option

* Update Rom.py

* x/x2

* specials

* Update Color.py

* Update Options.py

* finally apply location groups

* bump minor version number instead

* fix duplicate stage sends

* validate wily 5, tests

* see if renaming fixes

* add shuffled weakness

* remove passwords

* refresh rbm select, fix wily 5 validation

* forgot we can't check 0

* oops I broke the basepatch (remove failing test later)

* fix solo gen fill error?

* fix webhost patch recognition

* fix imports, basepatch

* move to flexibility metric for boss validation

* special case boobeam trap

* block strobe on stage select init

* more energylink balancing

* bump world version

* wily HP inaccurate in validation

* fix validation edge case

* save last completed wily to data storage

* mypy and pep8 cleanup

* fix file browse validation

* fix test failure, add enemy weakness

* remove test seed

* update enemy damage

* inno setup

* Update en_Mega Man 2.md

* setup guide

* Update en_Mega Man 2.md

* finish plando weakness section

* starting rbm edge case

* remove * imports

* properly wrap later weakness additions in regen playthrough

* fix import

* forgot readme

* remove time stopper special casing

since we moved to proper wily 5 validation, this special casing is no longer important

* properly type added locations

* Update CODEOWNERS

* add animation reduction

* deprioritize Time Stopper in rush checks

* special case wily phase 1

* fix key error

* forgot the test

* music and general cleanup

* the great rename

* fix import

* thanks pycharm

* reorder palette shuffle

* account for alien on shuffled weakness

* apply suggestions

* fix seedbleed

* fix invalid buster passthrough

* fix weakness landing beneath required amount

* fix failsafe

* finish music

* fix Time Stopper on Flash/Alien

* asar pls

* Apply suggestions from code review

Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>

* world helpers

* init cleanup

* apostrophes

* clearer wording

* mypy and cleanup

* options doc cleanup

* Update rom.py

* rules cleanup

* Update __init__.py

* Update __init__.py

* move to defaultdict

* cleanup world helpers

* Update __init__.py

* remove unnecessary line from fill hook

* forgot the other one

* apply code review

* remove collect

* Update rules.py

* forgot another

---------

Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
2024-08-20 04:59:29 +02:00

4.7 KiB

Mega Man 2

Where is the options page?

The player options page for this game contains all the options you need to configure and export a config file.

What does randomization do to this game?

Weapons received from Robot Masters, access to each individual stage, and Items from Dr. Light are randomized into the multiworld. Access to the Wily Stages is locked behind receiving Item 1, 2, and 3. The game is completed when viewing the ending sequence after defeating the Alien.

What Mega Man 2 items can appear in other players' worlds?

  • Robot Master weapons
  • Robot Master Access Codes (stage access)
  • Items 1/2/3
  • 1-Ups
  • E-Tanks
  • Health Energy (L)
  • Weapon Energy (L)

What is considered a location check in Mega Man 2?

  • The defeat of a Robot Master or Wily Boss
  • Receiving a weapon or item from Dr. Light
  • Optionally, 1-Ups and E-Tanks present within stages
  • Optionally, Weapon and Health Energy pickups present within stages

When the player receives an item, what happens?

A sound effect will play based on the type of item received, and the effects of the item will be immediately applied, such as unlocking the use of a weapon mid-stage. If the effects of the item cannot be fully applied (such as receiving Health Energy while at full health), the leftover amount is withheld until it can be applied.

EnergyLink is an energy storage supported by certain games that is shared across all worlds in a multiworld. In Mega Man 2, when enabled, drops from enemies are not applied directly to Mega Man and are instead deposited into the EnergyLink. Half of the energy that would be gained is lost upon transfer to the EnergyLink.

Energy from the EnergyLink storage can be converted into health, weapon energy, and lives at different conversion rates. You can find out how much of each type you can pull using the /pool command in the client. Additionally, you can have it automatically pull from the EnergyLink storage to keep Mega Man healed using the /autoheal command in the client. Finally, you can use the /request command to request a certain type of energy from the storage.

Plando Palettes

The palette shuffle option supports specifying a specific palette for a given weapon/Robot Master. The format for doing so is Character-Color1|Color2;Option. Character is the individual that this should apply to, and can only be one of the following:

  • Mega Buster
  • Atomic Fire
  • Air Shooter
  • Leaf Shield
  • Bubble Lead
  • Quick Boomerang
  • Time Stopper
  • Metal Blade
  • Crash Bomber
  • Item 1
  • Item 2
  • Item 3
  • Heat Man
  • Air Man
  • Wood Man
  • Bubble Man
  • Quick Man
  • Flash Man
  • Metal Man
  • Crash Man

Colors attempt to map a list of HTML-defined colors to what the NES can render. A full list of applicable colors can be found here. Alternatively, colors can be supplied directly using $xx format. A full list of NES colors can be found here.

You can also pass only one color (such as Mega Buster-Red) and it will interpret a second color based off of the color given. Additionally, passing only colors (such as Red|Blue) and not any specific boss/weapon will apply that color to all weapons/bosses that did not have a prior color specified.

The option is the method to be used to set the palettes of the remaining bosses/weapons, and will not overwrite any plando placements.

Plando Weaknesses

Plando Weaknesses allows you to override the amount of damage a boss should take from a given weapon, ignoring prior weaknesses generated by strict/random weakness options. Formatting for this is as follows:

plando_weakness:
  Air Man:
    Atomic Fire: 0
    Bubble Lead: 4

This would cause Air Man to take 4 damage from Bubble Lead, and 0 from Atomic Fire.

Note: it is possible that plando weakness is not be respected should the plando create a situation in which the game becomes impossible to complete. In this situation, the damage would be boosted to the minimum required to defeat the Robot Master.

Unique Local Commands

  • /pool Only present with EnergyLink, prints the max amount of each type of request that could be fulfilled.
  • /autoheal Only present with EnergyLink, will automatically drain energy from the EnergyLink in order to restore Mega Man's health.
  • /request <amount> <type> Only present with EnergyLink, sends a request of a certain type of energy to be pulled from the EnergyLink. Types are as follows:
    • HP Health
    • AF Atomic Fire
    • AS Air Shooter
    • LS Leaf Shield
    • BL Bubble Lead
    • QB Quick Boomerang
    • TS Time Stopper
    • MB Metal Blade
    • CB Crash Bomber
    • I1 Item 1
    • I2 Item 2
    • I3 Item 3
    • 1U Lives