Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature: Adding Controllable Coliseum flag #21

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

asilverthorn
Copy link
Contributor

@asilverthorn asilverthorn commented Feb 25, 2022

image

Coliseum battles are now controllable with the -cc flag. Confirmed that everything still works with coliseum: winning, losing, and Umaro is still Umaro. Running also works; if you run, you do not lose your item.

Inspired by https://www.romhacking.net/hacks/1099/, although I opted to just NO-OP the LDA and BNE.

@asilverthorn asilverthorn changed the title Adding Controllable Coliseum flag Feature: Adding Controllable Coliseum flag Feb 25, 2022
wrjones104 added a commit to asilverthorn/WorldsCollide that referenced this pull request Dec 19, 2022
* Making Terra's Magitek commands an objective result

* Minor changes to address PR comments

Co-authored-by: Will Jones <wrjones104@users.noreply.github.com>
asilverthorn added a commit to asilverthorn/WorldsCollide that referenced this pull request Dec 23, 2022
* Adding Auto Life 3 and Auto Dog Block objective results (AtmaTek#36)

* Stray Flash mod (AtmaTek#33)

* Adding Osteoclave's bugfix (AtmaTek#29)

* Adding expensive rods and super balls flags (AtmaTek#27)

* Bugfix: Fix weapon special abilities with Capture and Multi-steals only giving 1 item (AtmaTek#25)

* Porting Assassin's Capture bugfix

* Adding Bropedio's Multi-Steal fix

* Adding multi-steal dialog fix

* updating flag doc

* Small reduction in C1 usage

* Fixing bug with -fc that causes escape from battle (and possibly other actions) to crash

* Feature: Flashes: Moving flashes to Graphics; Slowing scrolling background during Air Force fight and Baren falls; add minimap high contrast option (AtmaTek#23)

* Removing scrolling background during Air Force fight

* switching to slowing the bg scroll. Also adding baren falls

* Removing baren falls background vibration

* Fixing typo in baren falls background palette change for frm

* Changing events flashes from no-ops to flash-none to avoid any CPU cycle changes

* Moving Remove Flashes flags from misc to graphics, so that they don't affect the seed

* Adding -wmhc option to improve visibility of minimap

* Making location indicator for wmhc stand out even more

* Adding more event flashes to frw

* Changing wmhc based on color feedback

* Replacing boss death flash removal with flash of monster sprite

* switching to Osteoclave's pixel remaster inspired minimap

* Feature: Adding flags to improve Sketch/Control (AtmaTek#19)

* Adding flag to make Sketch/Control 100% effective against valid targets

* fixing minor typo

* Refactoring data/sketch_control.py into separate files. Adding better abilities for Sketch & Control. Making Sketch use caster's stats.

* Minor change to option logging

* Modification to sketch custom command; split into multiple flags; removing control custom commands

* Expanding sia to also include control. Separating Controls from Coliseum monster table.

* Minor arg desc change

* Control uses controller's stats, fix Control bug with Dance moves

* Removing ultima from sketch magimaster

* Feature: Kielbasiago's Adding flag for giving starting Espers (AtmaTek#18)

* add --starting-espers-random flag
- this will give you between the selected range of espers from the very start

* fix err

* Add better esper log

* chore: update flag from sespr => stesp

* chore: remove commented code

* Remove "Random" from "Starting Espers" menu

* Update starting_espers MAX to account for logic issues

* ws, help updated

Co-authored-by: Kiel <95580337+kielbasiago@users.noreply.github.com>

* Feature: Kielbasiago's Update ability to shuffle/mix both dragons and statues (AtmaTek#17)

* add -bmbs flag: adds statues to shuffle pool

* add context for statue ids being in EnemyPacks

* set default true ffor backwards compatibility

* remove default as no way to turn it off

* wip refactor shuffle to "boss location" flags

* bug fixes

* add boilerplate for adding future checks

* chore: no longer appnd dragon locations to flags automatically

* chore: add EOL

* chore: remove unused ids from EnemyPacks

* remove dbugpy code

* Clean up       enemy_packs.randomize_event_bosses

* fix when original bosses with mixed dragon/statues

* now exclude statues when not mix from normal encs

* add KT bosses to condition checks (#2)

Preview: https://youtu.be/wgBJHPq3p6o (Just me clearing KT while playing at 200-400%)
 
Added the following KT boss locations as objective conditions:
- Kefka's Tower Ambush
  - Inferno
  - Bit 59
- Kefka's Tower Guardian
  - Guardian
  - Bit 60
- KT Left Triad Statue
  - Doom
  - Bit 61
- KT Mid Triad Statue
  - Poltergeist
  - Bit 62
- KT Right Triad Statue
  - Goddess
  - Bit 63


## Testing
Used the following flags to test the five encounters: `-oa 40.1.1.11.59 -ob 40.1.1.11.60 -oc 40.1.1.11.61 -od 40.1.1.11.62 -oe 40.1.1.11.63`

* fix initialization of exclude_bosses

Co-authored-by: Nolan <10077353+nolanlocke@users.noreply.github.com>
Co-authored-by: Kiel <95580337+kielbasiago@users.noreply.github.com>

* Feature: Magic MP Randomization (#15)

* Adding Ultima 255 MP flag, Adding Franklin's Magic MP Randomization, Fixing display bugs with 3 digit MP, letting Lore MP randomization go to 255 MP

* Allowing random esper MP cost to go up to 255

* Switching max to 254 to avoid boundary conditions

* making 254 max to avoid issues with MP checks

* Moving from c3 to f0

* Adding --starting-level flag (#14)

* QoL: Adding Rage Move descriptions to rage menu (#13)

* Initial commit of Rage ability names in menu

* Adding logic to display Special rage names

* Adding logic for Special (0xef) attacks

* Rewrite of Rage Description to use custom string table that includes more move details

* More details in rage desc; handling special cases

* Simplifying rage strings

* Feature: Add Remove learnable spells flag + Submenus (#12)

* All original remove learnable spells changes

* Making Life 3 learnable in permadeath seeds

* Fixing bug where Natural Magic users can learn Fire even if excluded

* correcting natural magic learning with excluded commands

* Fixing seed gen error when there's not enough spells available for randomization

* Fixing possibility for long-branches with many submenus

* Removing excluded non-S tier items from tiered or scaled chests (#11)

* Ensuring that Gau can use Magic in FT (#10)

* Feature: Adding random-encounters-chupon flag (#8)

* Adding random-encounters-chupon flag

* Making Chupon 64 sneeze always target entire party

* Feature: Kielbasiago's add --start-junk flag (#7)

* add --start-junk flag

* Add relics to starting junk

Co-authored-by: Kiel <95580337+kielbasiago@users.noreply.github.com>

* QoL: Setting default config options to most commonly used values (#6)

* adding comments

* setting default back to Reset and adding Config 2 relocation for compatibility with DoctorDT tool

* Making Party warp to Arvis house following K@N (#4)

* Feature: Adding -llr flag to randomize L.x lore levels (#3)

* Adding -llr flag to randomize L.x lore levels

* Updating lore battle dialogs

* QoL: Adding clarification of quantity of objective conditions required (#1)

* Adding clarification of quantity of objective conditions required

* responding to feedback on objective menu mods

* Update version.py

v1.1.0 -> v.1.2.0

* Update flags.py

Updating to match dev branch

* Update spells.py

Updated to match dev branch

* Feature: Making Top 4 Magitek commands an objective result (AtmaTek#21)

* Making Terra's Magitek commands an objective result

* Minor changes to address PR comments

Co-authored-by: Will Jones <wrjones104@users.noreply.github.com>

* Feature: Adding warp-all flag for 0 cost starting Warp (#9)

* Adding warp-all flag for 0 cost starting Warp. Refactor ScanAll class to InitialSpells

* Adding missed flag to log

Co-authored-by: Will Jones <wrjones104@users.noreply.github.com>

* Adding -hf flag to hide flags for fun mystery seeds (#2)

Co-authored-by: Will Jones <wrjones104@users.noreply.github.com>

* Feature: Add movement options, b-dash, sprint shoe options (#16)

Co-authored-by: Kiel <95580337+kielbasiago@users.noreply.github.com>

Co-authored-by: asilverthorn <96998881+asilverthorn@users.noreply.github.com>
Co-authored-by: Kiel <95580337+kielbasiago@users.noreply.github.com>
Co-authored-by: Nolan <10077353+nolanlocke@users.noreply.github.com>
Co-authored-by: FF6 Worlds Collide <115676184+ff6wc@users.noreply.github.com>
asilverthorn added a commit to asilverthorn/WorldsCollide that referenced this pull request Apr 8, 2023
* Update coliseum random to handle percentage
* Remove shuffle as -crsr 0 is the same as -cos

* Remove deprecated -cor and -crr flags

* readd cor and crr flags

* Remove removed shuffle options from options

* Added as misc. options to have NPC dialog replaced with general game tips.

* Adding Auto Life 3 and Auto Dog Block objective results (AtmaTek#36)

* Stray Flash mod (AtmaTek#33)

* Adding Osteoclave's bugfix (AtmaTek#29)

* Adding expensive rods and super balls flags (AtmaTek#27)

* Bugfix: Fix weapon special abilities with Capture and Multi-steals only giving 1 item (AtmaTek#25)

* Porting Assassin's Capture bugfix

* Adding Bropedio's Multi-Steal fix

* Adding multi-steal dialog fix

* updating flag doc

* Small reduction in C1 usage

* Fixing bug with -fc that causes escape from battle (and possibly other actions) to crash

* Feature: Flashes: Moving flashes to Graphics; Slowing scrolling background during Air Force fight and Baren falls; add minimap high contrast option (AtmaTek#23)

* Removing scrolling background during Air Force fight

* switching to slowing the bg scroll. Also adding baren falls

* Removing baren falls background vibration

* Fixing typo in baren falls background palette change for frm

* Changing events flashes from no-ops to flash-none to avoid any CPU cycle changes

* Moving Remove Flashes flags from misc to graphics, so that they don't affect the seed

* Adding -wmhc option to improve visibility of minimap

* Making location indicator for wmhc stand out even more

* Adding more event flashes to frw

* Changing wmhc based on color feedback

* Replacing boss death flash removal with flash of monster sprite

* switching to Osteoclave's pixel remaster inspired minimap

* Feature: Adding flags to improve Sketch/Control (AtmaTek#19)

* Adding flag to make Sketch/Control 100% effective against valid targets

* fixing minor typo

* Refactoring data/sketch_control.py into separate files. Adding better abilities for Sketch & Control. Making Sketch use caster's stats.

* Minor change to option logging

* Modification to sketch custom command; split into multiple flags; removing control custom commands

* Expanding sia to also include control. Separating Controls from Coliseum monster table.

* Minor arg desc change

* Control uses controller's stats, fix Control bug with Dance moves

* Removing ultima from sketch magimaster

* Feature: Kielbasiago's Adding flag for giving starting Espers (AtmaTek#18)

* add --starting-espers-random flag
- this will give you between the selected range of espers from the very start

* fix err

* Add better esper log

* chore: update flag from sespr => stesp

* chore: remove commented code

* Remove "Random" from "Starting Espers" menu

* Update starting_espers MAX to account for logic issues

* ws, help updated

Co-authored-by: Kiel <95580337+kielbasiago@users.noreply.github.com>

* Feature: Kielbasiago's Update ability to shuffle/mix both dragons and statues (AtmaTek#17)

* add -bmbs flag: adds statues to shuffle pool

* add context for statue ids being in EnemyPacks

* set default true ffor backwards compatibility

* remove default as no way to turn it off

* wip refactor shuffle to "boss location" flags

* bug fixes

* add boilerplate for adding future checks

* chore: no longer appnd dragon locations to flags automatically

* chore: add EOL

* chore: remove unused ids from EnemyPacks

* remove dbugpy code

* Clean up       enemy_packs.randomize_event_bosses

* fix when original bosses with mixed dragon/statues

* now exclude statues when not mix from normal encs

* add KT bosses to condition checks (#2)

Preview: https://youtu.be/wgBJHPq3p6o (Just me clearing KT while playing at 200-400%)
 
Added the following KT boss locations as objective conditions:
- Kefka's Tower Ambush
  - Inferno
  - Bit 59
- Kefka's Tower Guardian
  - Guardian
  - Bit 60
- KT Left Triad Statue
  - Doom
  - Bit 61
- KT Mid Triad Statue
  - Poltergeist
  - Bit 62
- KT Right Triad Statue
  - Goddess
  - Bit 63


## Testing
Used the following flags to test the five encounters: `-oa 40.1.1.11.59 -ob 40.1.1.11.60 -oc 40.1.1.11.61 -od 40.1.1.11.62 -oe 40.1.1.11.63`

* fix initialization of exclude_bosses

Co-authored-by: Nolan <10077353+nolanlocke@users.noreply.github.com>
Co-authored-by: Kiel <95580337+kielbasiago@users.noreply.github.com>

* Feature: Magic MP Randomization (#15)

* Adding Ultima 255 MP flag, Adding Franklin's Magic MP Randomization, Fixing display bugs with 3 digit MP, letting Lore MP randomization go to 255 MP

* Allowing random esper MP cost to go up to 255

* Switching max to 254 to avoid boundary conditions

* making 254 max to avoid issues with MP checks

* Moving from c3 to f0

* Adding --starting-level flag (#14)

* QoL: Adding Rage Move descriptions to rage menu (#13)

* Initial commit of Rage ability names in menu

* Adding logic to display Special rage names

* Adding logic for Special (0xef) attacks

* Rewrite of Rage Description to use custom string table that includes more move details

* More details in rage desc; handling special cases

* Simplifying rage strings

* Feature: Add Remove learnable spells flag + Submenus (#12)

* All original remove learnable spells changes

* Making Life 3 learnable in permadeath seeds

* Fixing bug where Natural Magic users can learn Fire even if excluded

* correcting natural magic learning with excluded commands

* Fixing seed gen error when there's not enough spells available for randomization

* Fixing possibility for long-branches with many submenus

* Removing excluded non-S tier items from tiered or scaled chests (#11)

* Ensuring that Gau can use Magic in FT (#10)

* Feature: Adding random-encounters-chupon flag (#8)

* Adding random-encounters-chupon flag

* Making Chupon 64 sneeze always target entire party

* Feature: Kielbasiago's add --start-junk flag (#7)

* add --start-junk flag

* Add relics to starting junk

Co-authored-by: Kiel <95580337+kielbasiago@users.noreply.github.com>

* QoL: Setting default config options to most commonly used values (#6)

* adding comments

* setting default back to Reset and adding Config 2 relocation for compatibility with DoctorDT tool

* Making Party warp to Arvis house following K@N (#4)

* Feature: Adding -llr flag to randomize L.x lore levels (#3)

* Adding -llr flag to randomize L.x lore levels

* Updating lore battle dialogs

* QoL: Adding clarification of quantity of objective conditions required (#1)

* Adding clarification of quantity of objective conditions required

* responding to feedback on objective menu mods

* Update version.py

v1.1.0 -> v.1.2.0

* Update flags.py

Updating to match dev branch

* Update spells.py

Updated to match dev branch

* Feature: Making Top 4 Magitek commands an objective result (AtmaTek#21)

* Making Terra's Magitek commands an objective result

* Minor changes to address PR comments

Co-authored-by: Will Jones <wrjones104@users.noreply.github.com>

* Feature: Adding warp-all flag for 0 cost starting Warp (#9)

* Adding warp-all flag for 0 cost starting Warp. Refactor ScanAll class to InitialSpells

* Adding missed flag to log

Co-authored-by: Will Jones <wrjones104@users.noreply.github.com>

* Adding -hf flag to hide flags for fun mystery seeds (#2)

Co-authored-by: Will Jones <wrjones104@users.noreply.github.com>

* Feature: Add movement options, b-dash, sprint shoe options (#16)

Co-authored-by: Kiel <95580337+kielbasiago@users.noreply.github.com>

* Showing MP in menus if character knows Lore

* feature: Add filtering of low value items from shops and chests. flag: -nti --no-trash-items

* chore: Add gold and iron armor to trash

* fix: when removing trash if item has no sell value asign chest empty.

* feat: split trash filtering on shops and chests via -nts and -ntc

* fix: place filter trash args to relevant parsers

* fix: add new flags to options

* feature: trash item price is based on vendor sell price flag

* Removing clear of wound bit for coliseum in permadeath

* Fixing bug with b-dash in which player can catch up to Vargas, soft-locking the game

* Loot (-loot) and Chests-All-MIAB (-cam)

First commit, added flags for randomize steals and drops (-loot) and make all chests monster-in-a-boxes (-cam).

Note that there's currently no selection on what can be in boxes, you will get bosses.

* No Random Encounters (-nre)

self-explanatory.  All encounter rates = 0.  For use with Chests All MiaB and Loot.

* bufgix - now no random encounters in dungeons

* Add Moogle Curse

The Moogle Curse (reskin of Moogle Charm) draws random encounters on the world map, when equipped. It does not work in dungeons.  This is a workaround so you can still complete Gau and Gogo checks.  The encounter rate is very low to avoid abuse.

* Exclude buggy encounters

Removes empty and bugged event battle groups from the MIAB encounter pool.  (Doesn't currently overwrite them.)

* Make each MiaB unique; take over unused event_battle_groups

- Changed pad_enemy_packs to only put a single random formation in each one.  This would make races fairer.
- Expanded the event_battle_groups rewrite to claim those unused in FF6WC.

This leaves 54 bosses, 199 single normal enemy formations (for MiaB), and 3 untouched [Zone Eater, Tier 1, Final Kefka].

* fixing small issues, as identified by Franklin and HoxNorf

* Add boss% to -chests-all-monsters

Now called as -cam <0--100>.  The number is the percentage chance for each box to contain a boss (0 = no bosses, 100 = all bosses).

* allowing 0 argument -cor

* address asilverthorn's comments

for PR to WC

* Small Aesthetic Additions

Palettes Added (10):
- Alice-HoxNorf-Touhou
- Alphys-LoneRedMage-Undertale
- Amy-HoxNorf-Sonic
- Frisk-LoneRedMage-Undertale
- Gryz-HoxNorf-PS4
- Raja-HoxNorf-PS4
- Reimu (Blue)-HoxNorf-Touhou
- Rune-HoxNorf-PS4
- Toriel-LoneRedMage-Undertale
- Yuyuko-HoxNorf-Touhou

Portraits Added (20):
- Alice-HoxNorf-Touhou
- Alma-Unknown-FFT
- Alphys-LoneRedMage-Undertale
- Amy-HoxNorf-Sonic
- Cloud-JamesWhite89-FF7
- Fighter-CtrlxZ-FF1
- Frisk-LoneRedMage-Undertale
- Gryz-HoxNorf-PS4
- Jessie-JamesWhite89-FF7
- Lenna (White Mage)-JamesWhite89-FF5
- Lenna-JamesWhite89-FF5
- Orlandeau-Unknown-FFT
- Porom (Devout)-HoxNorf-FF4
- Raja-HoxNorf-PS4
- Ramza-Unknown-FFT
- Reimu (Blue)-HoxNorf-Touhou
- Rune-HoxNorf-PS4
- Sarisa-JamesWhite89-FF5
- Toriel-LoneRedMage-Undertale
- Yuyuko-HoxNorf-Touhou

Sprites Added (9):
- Alice-HoxNorf-Touhou
- Alphys-LoneRedMage-Undertale
- Amy-HoxNorf-Sonic
- Frisk-LoneRedMage-Undertale
- Gryz-HoxNorf-PS4
- Raja-HoxNorf-PS4
- Rune-HoxNorf-PS4
- Toriel-LoneRedMage-Undertale
- Yuyuko-HoxNorf-Touhou

* Renamed Pirahna Plant-JamesWhite89-Mario to Piranha Plant-JamesWhite89-Mario

* Change -loot to -ssd <random%>

Changed the flag -loot to --shuffle-steals-drops <random%>.  If random% = 0, the steals and drops table is just shuffled.  if random% = 100, this recreates the original -loot.

* menu bugfix

Fix a problem with the menu description.

* Fix menu bug 2

* Sprite Additions and "Restorations"

- New Sprites/Palettes (11):
Arthur-JamesWhite89-GnG
Cait Sith-HoxNorf-FF7
Donkey Kong-Badass-Mario
Gilius-JamesWhite89-GoldenAxe
Kain (Holy Dragoon)-CtrlxZ-FF4TAY
Lugae-Astaroth-FF4
Nitori-HoxNorf-Touhou
Sanae-HoxNorf-Touhou
Sherlotta-HoxNorf_ScarabEnigma-FFCC
Wren-HoxNorf-PS4
X-Badass-Megaman

- New Portraits (30):
Arthur-JamesWhite89-GnG
Banon-Laurel_Gens-FF6PR
Cait Sith-HoxNorf-FF7
Celes-Laurel_Gens-FF6PR
Cyan-Laurel_Gens-FF6PR
Donkey Kong-Badass-Mario
Edgar-Laurel_Gens-FF6PR
Gau-Laurel_Gens-FF6PR
General Leo-Laurel_Gens-FF6PR
Gilius-JamesWhite89-GoldenAxe
Ghost-Laurel_Gens-FF6PR
Gogo-Laurel_Gens-FF6PR
Imp-Laurel_Gens-FF6PR
Kain (Holy Dragoon)-Unknown-FF4TAY
Locke-Laurel_Gens-FF6PR
Lugae-HoxNorf-FF4
Mog-Laurel_Gens-FF6PR
Nitori-HoxNorf-Touhou
Relm-Laurel_Gens-FF6PR
Sabin-Laurel_Gens-FF6PR
Sanae-HoxNorf-Touhou
Setzer-Laurel_Gens-FF6PR
Shadow-Laurel_Gens-FF6PR
Sherlotta-HoxNorf-FFCC
Strago-Laurel_Gens-FF6PR
Terra-Laurel_Gens-FF6PR
Umaro-Laurel_Gens-FF6PR
WedgeVicks-Laurel_Gens-FF6PR
Wren-HoxNorf-PS4
X-Unknown-Megaman

- "Restored" Sprites/Palettes (32):
Antlion-Astaroth-FF4
Atma-Astaroth-FF6
Boy-Zozma-FF6
Cagnazzo-Astaroth-FF4
Celes (Amano)-Astaroth-FF6
Celes (Opera)-Astaroth-FF6
Clyde-PocoLoco-FF6
Cultist-PocoLoco-FF6
Dancer-PocoLoco-FF6
Dark Elf-Astaroth-FF4
Draco-PocoLoco-FF6
Elena-Astaroth-FF7
Figaro Guard-PocoLoco-FF6
Interceptor-JamesWhite89-FF6
Katarin-Zozma-FF6
Link-FEOK-LegendOfZelda
LoneWolf-PocoLoco-FF6
Lucca-FEOK-CT
Lufia-JamesWhite89-Lufia
Maduin-PocoLoco-FF6
Mini-JamesWhite89-FF
NarsheGuard-PocoLoco-FF6
Peach-Halkel-SMRPG
Rubicante-Astaroth-FF4
Scholar-PocoLoco-FF6
Siegfried-PocoLoco-FF6
Squall (Uniform)-SApprentice-FF8
Squall-PocoLoco-FF8
Tifa-Astaroth-FF7
Ultros-PocoLoco-FF6
Vargas-PocoLoco-FF6
Vincent-FEOK-FF7

- "Restored" Portraits (3):
Golbez_TAY-HoxNorf-FF4
Link-JamesWhite89-LegendOfZelda
Vincent-Xeblon-FF7

* Removed Duplicate Entries in Python Files
* Gave proper credit to the Lufia and Vincent portraits

* fix: Trash list update from feedback

* fixing duplicate -npctips arg from merging

---------

Co-authored-by: Kiel <95580337+kielbasiago@users.noreply.github.com>
Co-authored-by: Franklin <franklinjen@gmail.com>
Co-authored-by: Nolan <10077353+nolanlocke@users.noreply.github.com>
Co-authored-by: FF6 Worlds Collide <115676184+ff6wc@users.noreply.github.com>
Co-authored-by: Will Jones <wrjones104@users.noreply.github.com>
Co-authored-by: Gerard Noseworthy <gnoseworthy@gmail.com>
Co-authored-by: Hans Rinderknecht <hans.rinderknecht@gmail.com>
Co-authored-by: HoxNorf <45671870+HoxNorf@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant