Files
Grinch-AP/worlds/mm2/names.py
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

115 lines
4.9 KiB
Python

# Robot Master Weapons
crash_bomber = "Crash Bomber"
metal_blade = "Metal Blade"
quick_boomerang = "Quick Boomerang"
bubble_lead = "Bubble Lead"
atomic_fire = "Atomic Fire"
leaf_shield = "Leaf Shield"
time_stopper = "Time Stopper"
air_shooter = "Air Shooter"
# Stage Entry
crash_man_stage = "Crash Man Access Codes"
metal_man_stage = "Metal Man Access Codes"
quick_man_stage = "Quick Man Access Codes"
bubble_man_stage = "Bubble Man Access Codes"
heat_man_stage = "Heat Man Access Codes"
wood_man_stage = "Wood Man Access Codes"
flash_man_stage = "Flash Man Access Codes"
air_man_stage = "Air Man Access Codes"
# The Items
item_1 = "Item 1 - Propeller"
item_2 = "Item 2 - Rocket"
item_3 = "Item 3 - Bouncy"
# Misc. Items
one_up = "1-Up"
weapon_energy = "Weapon Energy (L)"
health_energy = "Health Energy (L)"
e_tank = "E-Tank"
# Locations
crash_man = "Crash Man - Defeated"
metal_man = "Metal Man - Defeated"
quick_man = "Quick Man - Defeated"
bubble_man = "Bubble Man - Defeated"
heat_man = "Heat Man - Defeated"
wood_man = "Wood Man - Defeated"
flash_man = "Flash Man - Defeated"
air_man = "Air Man - Defeated"
crash_bomber_get = "Crash Bomber - Received"
metal_blade_get = "Metal Blade - Received"
quick_boomerang_get = "Quick Boomerang - Received"
bubble_lead_get = "Bubble Lead - Received"
atomic_fire_get = "Atomic Fire - Received"
leaf_shield_get = "Leaf Shield - Received"
time_stopper_get = "Time Stopper - Received"
air_shooter_get = "Air Shooter - Received"
item_1_get = "Item 1 - Received"
item_2_get = "Item 2 - Received"
item_3_get = "Item 3 - Received"
wily_1 = "Mecha Dragon - Defeated"
wily_2 = "Picopico-kun - Defeated"
wily_3 = "Guts Tank - Defeated"
wily_4 = "Boobeam Trap - Defeated"
wily_5 = "Wily Machine 2 - Defeated"
dr_wily = "Dr. Wily (Alien) - Defeated"
# Wily Stage Event Items
wily_stage_1 = "Wily Stage 1 - Completed"
wily_stage_2 = "Wily Stage 2 - Completed"
wily_stage_3 = "Wily Stage 3 - Completed"
wily_stage_4 = "Wily Stage 4 - Completed"
wily_stage_5 = "Wily Stage 5 - Completed"
# Consumable Locations
heat_man_c1 = "Heat Man Stage - 1-Up" # 3, requires Yoku jumps or Item 2
flash_man_c1 = "Flash Man Stage - Health Energy 1" # 0
flash_man_c2 = "Flash Man Stage - 1-Up" # 2, requires any Item
flash_man_c3 = "Flash Man Stage - Health Energy 2" # 6, requires Crash Bomber
flash_man_c4 = "Flash Man Stage - Weapon Energy 1" # 8, requires Crash Bomber
flash_man_c5 = "Flash Man Stage - Health Energy 3" # 9
flash_man_c6 = "Flash Man Stage - E-Tank" # 10
quick_man_c1 = "Quick Man Stage - 1-Up 1" # 0, needs any Item
quick_man_c2 = "Quick Man Stage - E-Tank" # 1, requires allow lasers or Time Stopper
quick_man_c3 = "Quick Man Stage - 1-Up 2" # 2, requires allow lasers or Time Stopper
quick_man_c4 = "Quick Man Stage - Weapon Energy 1" # 3, requires allow lasers or Time Stopper
quick_man_c5 = "Quick Man Stage - Weapon Energy 2" # 4, requires allow lasers or Time Stopper
quick_man_c6 = "Quick Man Stage - Health Energy" # 5, requires allow lasers or Time Stopper
quick_man_c7 = "Quick Man Stage - 1-Up 3" # 6, requires allow lasers or Time Stopper
quick_man_c8 = "Quick Man Stage - Weapon Energy 3" # 7, requires allow lasers or Time Stopper
metal_man_c1 = "Metal Man Stage - E-Tank 1" # 0
metal_man_c2 = "Metal Man Stage - 1-Up" # 1, needs Item 1/2
metal_man_c3 = "Metal Man Stage - E-Tank 2" # 2, needs Item 1/2 (without putting dying in logic at least)
crash_man_c1 = "Crash Man Stage - Health Energy" # 0
crash_man_c2 = "Crash Man Stage - E-Tank" # 1
crash_man_c3 = "Crash Man Stage - 1-Up" # 2, any Item
wily_1_c1 = "Wily Stage 1 - 1-Up" # 10
wily_1_c2 = "Wily Stage 1 - Weapon Energy 1" # 11
wily_2_c1 = "Wily Stage 2 - Weapon Energy 1" # 11
wily_2_c2 = "Wily Stage 2 - Weapon Energy 2" # 12
wily_2_c3 = "Wily Stage 2 - E-Tank 1" # 16
wily_2_c4 = "Wily Stage 2 - 1-Up 1" # 17
# 18 - 27 are all small weapon energies, might force these local junk?
wily_2_c8 = "Wily Stage 2 - Weapon Energy 3" # 18
wily_2_c9 = "Wily Stage 2 - Weapon Energy 4" # 19
wily_2_c10 = "Wily Stage 2 - Weapon Energy 5" # 20
wily_2_c11 = "Wily Stage 2 - Weapon Energy 6" # 21
wily_2_c12 = "Wily Stage 2 - Weapon Energy 7" # 22
wily_2_c13 = "Wily Stage 2 - Weapon Energy 8" # 23
wily_2_c14 = "Wily Stage 2 - Weapon Energy 9" # 24
wily_2_c15 = "Wily Stage 2 - Weapon Energy 10" # 25
wily_2_c16 = "Wily Stage 2 - Weapon Energy 11" # 26
wily_2_c5 = "Wily Stage 2 - 1-Up 2" # 29, requires Crash Bomber
wily_2_c6 = "Wily Stage 2 - E-Tank 2" # 30, requires Crash Bomber
wily_2_c7 = "Wily Stage 2 - Health Energy" # 31, item 2 (already required to reach wily 2)
wily_3_c1 = "Wily Stage 3 - Weapon Energy 1" # 12, requires Crash Bomber
wily_3_c2 = "Wily Stage 3 - E-Tank" # 17, requires Crash Bomber
wily_3_c3 = "Wily Stage 3 - Weapon Energy 2" # 18
wily_3_c4 = "Wily Stage 3 - Weapon Energy 3" # 19
wily_4_c1 = "Wily Stage 4 - Weapon Energy 1" # 16
wily_4_c2 = "Wily Stage 4 - Weapon Energy 2" # 17
wily_4_c3 = "Wily Stage 4 - 1-Up 1" # 18
wily_4_c4 = "Wily Stage 4 - E-Tank 1" # 19