Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
fb70e8b
1.3.0 (#64)
asilverthorn May 21, 2023
164b406
Add BC's nicer poison mod to reduce pixellation while walking when po…
frajen Jun 21, 2023
73d1b1b
1.3.1 (#99)
asilverthorn Jul 2, 2023
4e5e088
Added Throwables and Restoratives objective results
dbldown11 Jul 15, 2023
a8fd0fc
Split esper spells flags into separate flags for spells and learnrate…
dbldown11 Jul 16, 2023
4250798
Revert "Split esper spells flags into separate flags for spells and l…
dbldown11 Jul 16, 2023
19edc0b
Split esper spells flags into separate flags for spells and learnrate…
dbldown11 Jul 16, 2023
a7eb076
Fixed a bug where replaced spells would inherit the learn rate of the…
dbldown11 Jul 16, 2023
abadc69
Update events.py
Overswarm Jul 21, 2023
debb6cd
add Lone Wolf & Tzen checks to NFP
BriGuy7727 Jul 23, 2023
cd5cd3c
Merge branch 'main' of https://github.com/BriGuy7727/WorldsCollide
BriGuy7727 Jul 23, 2023
aefb813
Merge pull request #16 from ff6wc/main
asilverthorn Aug 14, 2023
b368c0a
Updating URLs in README.md
asilverthorn Aug 14, 2023
ff6c286
actually updating URLs in README.md
asilverthorn Aug 14, 2023
ec2500d
Adding a ! to the front of log entries that are different from standa…
asilverthorn Aug 16, 2023
3c36586
Added flag to customize list of potential item rewards from checks
dbldown11 Aug 25, 2023
a049b5a
Bugfixes, and resolved conflict between custom list and Stronger Atma…
dbldown11 Aug 25, 2023
735e684
Empty Item Reward lists now generate seed with Empty dead checks inst…
dbldown11 Aug 25, 2023
8649eff
Added conflict resolution for -noshoes and -nmc with custom lists inc…
dbldown11 Aug 25, 2023
5c97d0f
Cleaned up duplicate code; added icons to Item Rewards submenu; Fixed…
asilverthorn Aug 26, 2023
5ec6548
minor cleanup if no item rewards selection is made (default to standard)
asilverthorn Aug 26, 2023
aeed58b
Added flags for tiered equipable equipment and tiered equipable relics
dbldown11 Sep 12, 2023
2cf1f4f
Merge pull request #1 from asilverthorn/item-reward-selection-updates
dbldown11 Sep 12, 2023
9182f0f
Added manual adjustment for Cursed Shld to match Paladin Shld
dbldown11 Sep 12, 2023
1855fe1
Added fix to prevent unusable Paladin Shlds due to Gogo/Umaro
dbldown11 Sep 12, 2023
99bd8a6
Adding -nosaves Challenges flag
asilverthorn Sep 17, 2023
f19cc8d
adding character songs to debug room
asilverthorn Sep 19, 2023
e2aeb52
using Terra's theme for recruitment rather than Awakening
asilverthorn Sep 19, 2023
51473a3
fixing Owzer's Mansion music and adding Character Theme to Lone Wolf …
asilverthorn Sep 19, 2023
4c7ccac
Adding documentation to event_reward.py for posterity
asilverthorn Sep 24, 2023
0d66f27
Merge branch 'ironmog' into 1.4_dev
asilverthorn Sep 24, 2023
f857655
Merge branch 'equipable-tiered' of github.com:dbldown11/WorldsCollide…
asilverthorn Sep 24, 2023
8fefc61
Merge branch 'item-reward-selection' of github.com:dbldown11/WorldsCo…
asilverthorn Sep 24, 2023
ceb1876
Merge branch 'Event-updates' of github.com:Overswarm/WorldsCollide in…
asilverthorn Sep 24, 2023
015fd63
Merge branch 'esper_learnrates' of github.com:dbldown11/WorldsCollide…
asilverthorn Sep 24, 2023
34166bb
Merge branch 'throwables-and-restoratives' of github.com:dbldown11/Wo…
asilverthorn Sep 24, 2023
d64f4de
Merge branch 'mods' of github.com:frajen/WorldsCollide into 1.4_dev
asilverthorn Sep 24, 2023
521da9a
fixing break with diff display
asilverthorn Sep 24, 2023
cc8a13d
commenting out the diff checker until we update standard flags
asilverthorn Sep 24, 2023
f98e34d
Merge branch 'dev' of github.com:ff6wc/WorldsCollide into 1.4_dev
asilverthorn Sep 24, 2023
bc64a1a
updating version and ignoring work-in-progress folder
asilverthorn Sep 24, 2023
db0de82
Making less poison blur always-on
asilverthorn Sep 24, 2023
82fce22
Merge branch 'main' of github.com:BriGuy7727/WorldsCollide into 1.4_dev
asilverthorn Sep 24, 2023
eee33d7
Restoring Tzen Esper in NFP; removing Mt. Zozo's character/esper in NFP
asilverthorn Sep 24, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,5 @@ __pycache__/
*.py[cod]
$py.class
*-objective.json
*-flag.json
*-flag.json
wip/
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ Complete objectives while searching the worlds for characters, espers, and items

## Links

###### Start playing: [ff6wc.com](https://www.ff6wc.com)
###### More Info: [wiki.ff6wc.com](https://wiki.ff6wc.com)
###### Start playing: [ff6worldscollide.com](https://www.ff6worldscollide.com)
###### More Info: [wiki.ff6worldscollide.com](https://wiki.ff6worldscollide.com)
###### Community: [discord](https://discord.gg/5MPeng5)

## Usage
Expand Down
8 changes: 4 additions & 4 deletions args/auction_house.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,10 +31,10 @@ def flags(args):

def options(args):
return [
("Randomize Items", args.auction_random_items),
("No Chocobo/Airship", args.auction_no_chocobo_airship),
("Door Esper Hint", args.auction_door_esper_hint),
("Max Espers", args.auction_max_espers),
("Randomize Items", args.auction_random_items, "auction_random_items"),
("No Chocobo/Airship", args.auction_no_chocobo_airship, "auction_no_chocobo_airship"),
("Door Esper Hint", args.auction_door_esper_hint, "auction_door_esper_hint"),
("Max Espers", args.auction_max_espers, "auction_max_espers"),
]

def menu(args):
Expand Down
4 changes: 2 additions & 2 deletions args/blitzes.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@ def flags(args):

def options(args):
return [
("Bum Rush Last", args.bum_rush_last),
("Everyone Learns", args.blitzes_everyone_learns),
("Bum Rush Last", args.bum_rush_last, "bum_rush_last"),
("Everyone Learns", args.blitzes_everyone_learns, "blitzes_everyone_learns"),
]

def menu(args):
Expand Down
8 changes: 4 additions & 4 deletions args/boss_ai.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,10 +31,10 @@ def flags(args):

def options(args):
return [
("Doom Gaze No Escape", args.doom_gaze_no_escape),
("Wrexsoul No Zinger", args.wrexsoul_no_zinger),
("MagiMaster No Ultima", args.magimaster_no_ultima),
("Chadarnook More Demon", args.chadarnook_more_demon),
("Doom Gaze No Escape", args.doom_gaze_no_escape, "doom_gaze_no_escape"),
("Wrexsoul No Zinger", args.wrexsoul_no_zinger, "wrexsoul_no_zinger"),
("MagiMaster No Ultima", args.magimaster_no_ultima, "magimaster_no_ultima"),
("Chadarnook More Demon", args.chadarnook_more_demon, "chadarnook_more_demon"),
]

def menu(args):
Expand Down
22 changes: 11 additions & 11 deletions args/bosses.py
Original file line number Diff line number Diff line change
Expand Up @@ -92,25 +92,25 @@ def options(args):
statue_battles = args.statue_boss_location.capitalize()

return [
("Boss Battles", boss_battles),
("Dragons", dragon_battles),
("Statues", statue_battles),
("Shuffle/Random Phunbaba 3", args.shuffle_random_phunbaba3),
("Normalize & Distort Stats", args.boss_normalize_distort_stats),
("Boss Experience", args.boss_experience),
("No Undead", args.boss_no_undead),
("Marshal Keep Lobos", args.boss_marshal_keep_lobos),
("Boss Battles", boss_battles, "boss_battles"),
("Dragons", dragon_battles, "dragon_battles"),
("Statues", statue_battles, "statue_battles"),
("Shuffle/Random Phunbaba 3", args.shuffle_random_phunbaba3, "shuffle_random_phunbaba3"),
("Normalize & Distort Stats", args.boss_normalize_distort_stats, "boss_normalize_distort_stats"),
("Boss Experience", args.boss_experience, "boss_experience"),
("No Undead", args.boss_no_undead, "boss_no_undead"),
("Marshal Keep Lobos", args.boss_marshal_keep_lobos, "boss_marshal_keep_lobos"),
]

def menu(args):
entries = options(args)
for index, entry in enumerate(entries):
key, value = entry
key, value, unique_name = entry

if key == "Shuffle/Random Phunbaba 3":
entries[index] = ("Mix Phunbaba 3", value)
entries[index] = ("Mix Phunbaba 3", value, unique_name)
elif key == "Normalize & Distort Stats":
entries[index] = ("Normalize & Distort", value)
entries[index] = ("Normalize & Distort", value, unique_name)
return (name(), entries)

def log(args):
Expand Down
16 changes: 8 additions & 8 deletions args/bug_fixes.py
Original file line number Diff line number Diff line change
Expand Up @@ -47,14 +47,14 @@ def flags(args):

def options(args):
return [
("Sketch", args.fix_sketch),
("Evade", args.fix_evade),
("Vanish/Doom", args.fix_vanish_doom),
("Retort", args.fix_retort),
("Jump", args.fix_jump),
("Boss Skip", args.fix_boss_skip),
("Enemy Damage Counter", args.fix_enemy_damage_counter),
("Capture", args.fix_capture),
("Sketch", args.fix_sketch, "fix_sketch"),
("Evade", args.fix_evade, "fix_evade"),
("Vanish/Doom", args.fix_vanish_doom, "fix_vanish_doom"),
("Retort", args.fix_retort, "fix_retort"),
("Jump", args.fix_jump, "fix_jump"),
("Boss Skip", args.fix_boss_skip, "fix_boss_skip"),
("Enemy Damage Counter", args.fix_enemy_damage_counter, "fix_enemy_damage_counter"),
("Capture", args.fix_capture, "fix_capture"),
]

def menu(args):
Expand Down
41 changes: 23 additions & 18 deletions args/challenges.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@ def parse(parser):
help = "Life spells cannot be learned. Fenix Downs unavailable (except from starting items). Buckets/inns/tents/events do not revive characters. Phoenix casts Life 3 on party instead of Life")
challenges.add_argument("-rls", "--remove-learnable-spells", type = str,
help = "Remove spells from learnable sources: Items, Espers, Natural Magic, and Objectives")
challenges.add_argument("-nosaves", "--no-saves", action = "store_true",
help = "Ironmog Mode: You cannot save (but save points still work for Tents/Sleeping Bags)")

def process(args):
from constants.spells import black_magic_ids, white_magic_ids, gray_magic_ids, spell_id
Expand Down Expand Up @@ -89,6 +91,8 @@ def flags(args):
flags += " -pd"
if args.remove_learnable_spells:
flags += f" -rls {args.remove_learnable_spells}"
if args.no_saves:
flags += " -nosaves"

return flags

Expand All @@ -100,23 +104,24 @@ def options(args):
ultima = "254 MP"

return [
("No Moogle Charms", args.no_moogle_charms),
("No Exp Eggs", args.no_exp_eggs),
("No Illuminas", args.no_illuminas),
("No Sprint Shoes", args.no_sprint_shoes),
("No Free Paladin Shields", args.no_free_paladin_shields),
("No Free Characters/Espers", args.no_free_characters_espers),
("Permadeath", args.permadeath),
("Ultima", ultima),
("Remove Learnable Spells", args.remove_learnable_spell_ids),
("No Moogle Charms", args.no_moogle_charms, "no_moogle_charms"),
("No Exp Eggs", args.no_exp_eggs, "no_exp_eggs"),
("No Illuminas", args.no_illuminas, "no_illuminas"),
("No Sprint Shoes", args.no_sprint_shoes, "no_sprint_shoes"),
("No Free Paladin Shields", args.no_free_paladin_shields, "no_free_paladin_shields"),
("No Free Characters/Espers", args.no_free_characters_espers, "no_free_characters_espers"),
("Permadeath", args.permadeath, "permadeath"),
("Ultima", ultima, "ultima"),
("Remove Learnable Spells", args.remove_learnable_spell_ids, "remove_learnable_spell_ids"),
("No Saves", args.no_saves, "no_saves"),
]

return opts
def _format_spells_log_entries(spell_ids):
from constants.spells import id_spell
spell_entries = []
for spell_id in spell_ids:
spell_entries.append(("", id_spell[spell_id]))
for i, spell_id in enumerate(spell_ids):
spell_entries.append(("", id_spell[spell_id], f"rls_{i}"))
return spell_entries

def _format_spells_log_entries(spell_ids):
Expand All @@ -131,13 +136,13 @@ def menu(args):

entries = options(args)
for index, entry in enumerate(entries):
key, value = entry
key, value, unique_name = entry
if key == "No Free Paladin Shields":
entries[index] = ("No Free Paladin Shlds", entry[1])
entries[index] = ("No Free Paladin Shlds", entry[1], unique_name)
elif key == "No Free Characters/Espers":
entries[index] = ("No Free Chars/Espers", entry[1])
entries[index] = ("No Free Chars/Espers", entry[1], unique_name)
elif key == "Remove Learnable Spells":
entries[index] = ("Remove L. Spells", FlagsRemoveLearnableSpells(value)) # flags sub-menu
entries[index] = ("Remove L. Spells", FlagsRemoveLearnableSpells(value), unique_name) # flags sub-menu

return (name(), entries)

Expand All @@ -147,12 +152,12 @@ def log(args):

entries = options(args)
for entry in entries:
key, value = entry
key, value, unique_name = entry
if key == "Remove Learnable Spells":
if len(value) == 0:
entry = (key, "None")
entry = (key, "None", unique_name)
else:
entry = (key, "") # The entries will show up on subsequent lines
entry = (key, "", unique_name) # The entries will show up on subsequent lines
log.append(format_option(*entry))
for spell_entry in _format_spells_log_entries(value):
log.append(format_option(*spell_entry))
Expand Down
14 changes: 7 additions & 7 deletions args/characters.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,19 +39,19 @@ def options(args):
character_stats = f"{args.character_stat_random_percent_min}-{args.character_stat_random_percent_max}%"

return [
("Start Average Level", args.start_average_level),
("Start Level", args.start_level),
("Start Naked", args.start_naked),
("Equipable Umaro", args.equipable_umaro),
("Character Stats", character_stats),
("Start Average Level", args.start_average_level, "start_average_level"),
("Start Level", args.start_level, "start_level"),
("Start Naked", args.start_naked, "start_naked"),
("Equipable Umaro", args.equipable_umaro, "equipable_umaro"),
("Character Stats", character_stats, "character_stats"),
]

def menu(args):
entries = options(args)
for index, entry in enumerate(entries):
key, value = entry
key, value, unique_name = entry
if key == "Character Stats":
entries[index] = ("Stats", entry[1])
entries[index] = ("Stats", entry[1], unique_name)
return (name(), entries)

def log(args):
Expand Down
10 changes: 5 additions & 5 deletions args/chests.py
Original file line number Diff line number Diff line change
Expand Up @@ -63,15 +63,15 @@ def options(args):
elif args.chest_contents_empty:
contents_value = "Empty"

result.append(("Contents", contents_value))
result.append(("Contents", contents_value, "contents_value"))
if args.chest_contents_shuffle_random:
result.append(("Random Percent", f"{args.chest_contents_shuffle_random_percent}%"))
result.append(("Random Percent", f"{args.chest_contents_shuffle_random_percent}%", "chest_contents_shuffle_random_percent"))

if args.chest_random_monsters:
result.append(("MIAB Percent", f"{args.chest_random_monsters_enemy}%"))
result.append((" Boss Percent", f"{args.chest_random_monsters_boss}%"))
result.append(("MIAB Percent", f"{args.chest_random_monsters_enemy}%", "chest_random_monsters_enemy"))
result.append((" Boss Percent", f"{args.chest_random_monsters_boss}%", "chest_random_monsters_boss"))

result.append(("MIAB Shuffled", args.chest_monsters_shuffle))
result.append(("MIAB Shuffled", args.chest_monsters_shuffle, "chest_monsters_shuffle"))

return result

Expand Down
10 changes: 5 additions & 5 deletions args/coliseum.py
Original file line number Diff line number Diff line change
Expand Up @@ -80,11 +80,11 @@ def options(args):
rewards_visible = f"{args.coliseum_rewards_visible_random_min}-{args.coliseum_rewards_visible_random_max}"

return [
("Opponents", opponents),
("Rewards", rewards),
("Rewards Visible", rewards_visible),
("No Exp. Eggs", args.coliseum_no_exp_eggs),
("No Illuminas", args.coliseum_no_illuminas),
("Opponents", opponents, "opponents"),
("Rewards", rewards, "rewards"),
("Rewards Visible", rewards_visible, "rewards_visible"),
("No Exp. Eggs", args.coliseum_no_exp_eggs, "coliseum_no_exp_eggs"),
("No Illuminas", args.coliseum_no_illuminas, "coliseum_no_illuminas"),
]

def menu(args):
Expand Down
22 changes: 11 additions & 11 deletions args/commands.py
Original file line number Diff line number Diff line change
Expand Up @@ -79,22 +79,22 @@ def options(args):
result = []
if args.commands is not None:
for index, command_string in enumerate(args.command_strings):
result.append((COMMAND_OPTIONS[index], command_string))
result.append((COMMAND_OPTIONS[index], command_string, COMMAND_OPTIONS[index]))
else:
for option in COMMAND_OPTIONS:
result.append((option, option))
result.append((option, option, option))

result.append(("", ""))
result.append(("Shuffle Commands", args.shuffle_commands))
result.append(("", "", ""))
result.append(("Shuffle Commands", args.shuffle_commands, "shuffle_commands"))

add_exclude_command = lambda command : result.append(("Random Exclude", "None" if command == NONE_COMMAND else id_name[command]))
add_exclude_command = lambda command, i : result.append(("Random Exclude", "None" if command == NONE_COMMAND else id_name[command], f"random_exclude_command{i}"))

add_exclude_command(args.random_exclude_command1)
add_exclude_command(args.random_exclude_command2)
add_exclude_command(args.random_exclude_command3)
add_exclude_command(args.random_exclude_command4)
add_exclude_command(args.random_exclude_command5)
add_exclude_command(args.random_exclude_command6)
add_exclude_command(args.random_exclude_command1, 1)
add_exclude_command(args.random_exclude_command2, 2)
add_exclude_command(args.random_exclude_command3, 3)
add_exclude_command(args.random_exclude_command4, 4)
add_exclude_command(args.random_exclude_command5, 5)
add_exclude_command(args.random_exclude_command6, 6)

return result

Expand Down
10 changes: 5 additions & 5 deletions args/dances.py
Original file line number Diff line number Diff line change
Expand Up @@ -48,11 +48,11 @@ def options(args):
start_dances = f"Random {args.start_dances_random_min}-{args.start_dances_random_max}"

return [
("Start Dances", start_dances),
("Shuffle Abilities", args.dances_shuffle),
("Display Abilities", args.dances_display_abilities),
("No Stumble", args.dances_no_stumble),
("Everyone Learns", args.dances_everyone_learns),
("Start Dances", start_dances, "start_dances"),
("Shuffle Abilities", args.dances_shuffle, "dances_shuffle"),
("Display Abilities", args.dances_display_abilities, "dances_display_abilities"),
("No Stumble", args.dances_no_stumble, "dances_no_stumble"),
("Everyone Learns", args.dances_everyone_learns, "dances_everyone_learns"),
]

def menu(args):
Expand Down
16 changes: 8 additions & 8 deletions args/encounters.py
Original file line number Diff line number Diff line change
Expand Up @@ -57,33 +57,33 @@ def options(args):
elif args.random_encounters_chupon:
random_encounters = "Chupon"

result.append(("Random Encounters", random_encounters))
result.append(("Random Encounters", random_encounters, "random_encounters"))
if args.random_encounters_random is not None:
result.append(("Boss Percent", f"{args.random_encounters_random}%"))
result.append(("Boss Percent", f"{args.random_encounters_random}%", "random_encounters_random"))

fixed_encounters = "Original"
if args.fixed_encounters_random is not None:
fixed_encounters = "Random"

result.append(("Fixed Encounters", fixed_encounters))
result.append(("Fixed Encounters", fixed_encounters, "fixed_encounters"))
if args.fixed_encounters_random is not None:
result.append(("Boss Percent", f"{args.fixed_encounters_random}%"))
result.append(("Boss Percent", f"{args.fixed_encounters_random}%", "fixed_encounters_random"))

escapable = "Original"
if args.encounters_escapable_random is not None:
escapable = f"{args.encounters_escapable_random}%"

result.append(("Escapable", escapable))
result.append(("Escapable", escapable, "escapable"))
return result

def menu(args):
entries = options(args)
for index, entry in enumerate(entries):
key, value = entry
key, value, unique_name = entry
if key == "Random Encounters":
entries[index] = ("Random", value)
entries[index] = ("Random", value, unique_name)
elif key == "Fixed Encounters":
entries[index] = ("Fixed", value)
entries[index] = ("Fixed", value, unique_name)
return (name(), entries)

def log(args):
Expand Down
Loading