Feature: Add force item/esper reward checks, consolidate checks into checks.py#3
Conversation
| return reward | ||
|
|
||
| def add_reward(self, check_info): | ||
| possible_types = self.get_reward_type(check_info) |
There was a problem hiding this comment.
This is the entry point to getting the reward for a check now - It'll discern the current reward type and apply the force item/esper flags above
| elif self.reward1.type == RewardType.ESPER: | ||
| self.cyan_esper_mod(self.reward1.id) | ||
| elif self.reward1.type == RewardType.ITEM: | ||
| self.cyan_item_mod(self.reward1.id) |
There was a problem hiding this comment.
Cyan Dream Check 2 can now be an item
|
|
||
| # this means an impossible start has occured. | ||
| # i.e. no character can be retrieved given the starting char + check availability | ||
| assert len(unlocked_slots) > 0 |
There was a problem hiding this comment.
This will throw if you block out too many character slots or something along those lines. This is just a way to get context if you do something "illegal" with the new flags
| self.tower_top_esper_mod() | ||
| elif self.reward2.is_item(): | ||
| self.tower_top_item_mod() | ||
|
|
There was a problem hiding this comment.
Top of fanatic's tower can now yield an esper or item
| elif self.reward1.type == RewardType.ESPER: | ||
| self.ground_esper_mod(self.reward1.id) | ||
| elif self.reward1.type == RewardType.ITEM: | ||
| self.ground_item_mod(self.reward1.id) |
There was a problem hiding this comment.
Floating continent 1/3 can now yield items (not by default, but they can be overwritten using the new flags)
| self.alternative_item_mod() | ||
| self.finish_check_mod() | ||
|
|
||
| if self.reward2.type == RewardType.ESPER: |
There was a problem hiding this comment.
Lone wolf can now yield an esper "You'll never get this 'Crusader'!"
|
|
||
| # This is to make sure you don't ever get an esper in the secondary slot and an item in the first. | ||
| # This ensures if either slot rolls an esper, the old man will pull one out. | ||
| if self.reward1.type == RewardType.ITEM: |
There was a problem hiding this comment.
Add ability for narshe weapon shop to yield 2 espers ( i think this should be weighted against having 2 espers, maybe like 20% chance or something)
* Adding -llr flag to randomize L.x lore levels * Updating lore battle dialogs
* 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 (#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 (#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 (#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 (#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 (#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>
* 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 (#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 (#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 (#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 (#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 (#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>
Original PR: AtmaTek#61