├── .gitignore ├── Apocalyptech ├── .gitignore ├── COPYING.txt ├── README.md ├── dataprocessing │ ├── .gitignore │ ├── README.md │ ├── amulet_balances.csv │ ├── armor_balances.csv │ ├── chaos_locked_legendaries.py │ ├── convert_refs_db.py │ ├── dlc_locked_cosmetics.py │ ├── enchant_info.py │ ├── find_elevators.py │ ├── find_map_objects_near.py │ ├── find_uistat_tags.py │ ├── find_unenchantable_balances.py │ ├── fts_mappings.py │ ├── gear_enchant_chances.py │ ├── gen_balance_name_mapping.py │ ├── gen_balance_to_invpart.py │ ├── gen_fts_mappings.py │ ├── gen_item_balances.py │ ├── gen_item_counts.py │ ├── get_boss_drops.py │ ├── get_char_names.py │ ├── guess_level_names.py │ ├── gun_balances.csv │ ├── hotfixglobals_info.py │ ├── info_armor_melee.py │ ├── info_gun.py │ ├── info_ward_spell_ring_amulet.py │ ├── melee_balances.csv │ ├── mission_dungeon_info.py │ ├── ow_camera_info.py │ ├── part_info.py │ ├── populate_refs_db.py │ ├── refs_db_schema.sql │ ├── ring_balances.csv │ ├── save_path_hash.py │ ├── spell_balances.csv │ └── ward_balances.csv ├── deprecated_or_broken │ ├── .gitignore │ ├── README.md │ ├── achievement_shenanigans.txt │ ├── early_character_skills.txt │ ├── gen_achievement_shenanigans.py │ ├── gen_early_character_skills.py │ ├── gen_quiet_bandit_camps.py │ ├── gen_shoot_while_sprinting.py │ ├── gen_true_qce.py │ ├── quiet_bandit_camps.txt │ └── shoot_while_sprinting.txt ├── economy │ ├── README.md │ ├── cheaper_sdus │ │ ├── README.md │ │ ├── cheaper_sdus.wlhotfix │ │ └── gen_cheaper_sdus.py │ ├── free_respawn │ │ ├── README.md │ │ ├── free_respawn.wlhotfix │ │ └── gen_free_respawn.py │ └── free_respec │ │ ├── README.md │ │ ├── free_respec.wlhotfix │ │ └── gen_free_respec.py ├── enemy_spawn_changes │ ├── README.md │ └── less_annoying_goblins │ │ ├── README.md │ │ ├── gen_less_annoying_goblins.py │ │ └── less_annoying_goblins.wlhotfix ├── gameplay_changes │ ├── README.md │ ├── better_overworld_movement │ │ ├── README.md │ │ ├── better_overworld_movement.wlhotfix │ │ └── gen_better_overworld_movement.py │ ├── early_destruction_rains │ │ ├── README.md │ │ ├── early_destruction_rains.wlhotfix │ │ └── gen_early_destruction_rains.py │ ├── early_overworld_abilities │ │ ├── README.md │ │ ├── early_overworld_abilities.wlhotfix │ │ └── gen_early_overworld_abilities.py │ ├── fragile_containers │ │ ├── README.md │ │ ├── fragile_containers.wlhotfix │ │ ├── gen_fragile_containers.py │ │ └── simpsons-homer.gif │ ├── full_poems_on_pickup │ │ ├── README.md │ │ ├── full_poems_on_pickup.wlhotfix │ │ └── gen_full_poems_on_pickup.py │ ├── in_the_belly_is_a_beast_abridged │ │ ├── README.md │ │ ├── gen_in_the_belly_is_a_beast_abridged.py │ │ └── in_the_belly_is_a_beast_abridged.wlhotfix │ ├── infinite_slide │ │ ├── README.md │ │ ├── gen_infinite_slide.py │ │ └── infinite_slide.wlhotfix │ ├── movement_speed_cheats │ │ ├── README.md │ │ ├── gen_movement_speed_cheats.py │ │ ├── movement_speed_cheats_extreme.wlhotfix │ │ ├── movement_speed_cheats_normal.wlhotfix │ │ └── movement_speed_cheats_reasonable.wlhotfix │ ├── short_overworld_dungeons │ │ ├── README.md │ │ ├── gen_short_overworld_dungeons.py │ │ └── short_overworld_dungeons.wlhotfix │ └── skip_to_dlc_bosses │ │ ├── README.md │ │ ├── gen_skip_to_dlc_bosses.py │ │ ├── skip_to_dlc_bosses.wlhotfix │ │ └── skip_to_dlc_bosses_wyborg.wlhotfix ├── gear_changes │ ├── README.md │ ├── arbitrary_partlocks │ │ ├── .gitignore │ │ ├── README.md │ │ └── gen_arbitrary_partlocks.py │ ├── enchantment_spawning_tweaks │ │ ├── README.md │ │ ├── enchantment_spawning_tweaks.wlhotfix │ │ └── gen_enchantment_spawning_tweaks.py │ ├── morph_a_gun │ │ ├── README.md │ │ ├── gen_morph_a_gun.py │ │ ├── morph_a_gun_all_guns.wlhotfix │ │ ├── morph_a_gun_legendaries.wlhotfix │ │ └── morph_a_gun_world_drops.wlhotfix │ ├── red_text_explainer │ │ ├── README.md │ │ ├── automagic.png │ │ ├── gen_red_text_explainer.py │ │ ├── great_wave.png │ │ ├── locales │ │ │ ├── base.pot │ │ │ └── en │ │ │ │ └── LC_MESSAGES │ │ │ │ ├── base.mo │ │ │ │ └── base.po │ │ ├── red_text_explainer.wlhotfix │ │ ├── translations-01-update_templates.sh │ │ └── translations-02-compile_trans.sh │ ├── torgue_ar_full_auto │ │ ├── README.md │ │ ├── gen_torgue_ar_full_auto.py │ │ └── torgue_ar_full_auto.wlhotfix │ └── uniques_are_legendary │ │ ├── README.md │ │ ├── gen_uniques_are_legendary.py │ │ └── uniques_are_legendary.wlhotfix ├── loot_changes │ ├── README.md │ ├── chaos_gear_spawns │ │ ├── README.md │ │ ├── chaos_gear_spawns_all_ascended.wlhotfix │ │ ├── chaos_gear_spawns_all_chaotic.wlhotfix │ │ ├── chaos_gear_spawns_all_primordial.wlhotfix │ │ ├── chaos_gear_spawns_all_volatile.wlhotfix │ │ ├── chaos_gear_spawns_default.wlhotfix │ │ ├── chaos_gear_spawns_guaranteed.wlhotfix │ │ ├── chaos_gear_spawns_just_regular_and_ascended.wlhotfix │ │ ├── chaos_gear_spawns_just_regular_primordial_and_ascended.wlhotfix │ │ ├── chaos_gear_spawns_no_chaos_levels.wlhotfix │ │ └── gen_chaos_gear_spawns.py │ ├── customization_drop_rate │ │ ├── README.md │ │ ├── customization_drop_rate_12x.wlhotfix │ │ ├── customization_drop_rate_24x.wlhotfix │ │ ├── customization_drop_rate_6x.wlhotfix │ │ ├── customization_drop_rate_none.wlhotfix │ │ └── gen_customization_drop_rate.py │ ├── early_bloomer │ │ ├── README.md │ │ ├── early_bloomer.wlhotfix │ │ └── gen_early_bloomer.py │ ├── expanded_legendary_pools │ │ ├── README.md │ │ ├── expanded_legendary_pools.wlhotfix │ │ └── gen_expanded_legendary_pools.py │ ├── fix_broken_loot_patterns │ │ ├── README.md │ │ ├── fix_broken_loot_patterns.wlhotfix │ │ └── gen_fix_broken_loot_patterns.py │ ├── guaranteed_boss_drops │ │ ├── README.md │ │ ├── expected_drops.md │ │ ├── gen_guaranteed_boss_drops.py │ │ └── guaranteed_boss_drops.wlhotfix │ ├── guaranteed_enchantments │ │ ├── README.md │ │ ├── gen_guaranteed_enchantments.py │ │ └── guaranteed_enchantments.wlhotfix │ ├── more_elemental_weapons │ │ ├── README.md │ │ ├── gen_more_elemental_weapons.py │ │ └── more_elemental_weapons.wlhotfix │ ├── no_loot_luck │ │ ├── README.md │ │ ├── gen_no_loot_luck.py │ │ └── no_loot_luck_better_loot.wlhotfix │ ├── no_wasted_equipment │ │ ├── README.md │ │ ├── gen_no_wasted_equipment.py │ │ └── no_wasted_equipment.wlhotfix │ ├── randomized_boss_drops │ │ ├── README.md │ │ ├── gen_randomized_boss_drops.py │ │ └── randomized_boss_drops.wlhotfix │ ├── randomized_mission_rewards │ │ ├── README.md │ │ ├── gen_randomized_mission_rewards.py │ │ ├── randomized_mission_rewards.wlhotfix │ │ └── vanilla_rewards.txt │ ├── red_chest_timer_reset │ │ ├── README.md │ │ ├── gen_red_chest_timer_reset.py │ │ └── red_chest_timer_reset.wlhotfix │ └── starting_gear │ │ ├── README.md │ │ ├── gen_starting_gear.py │ │ ├── starting_gear_full_loadout.wlhotfix │ │ └── starting_gear_testing_gear.wlhotfix ├── mod_testing_mods │ ├── .gitignore │ ├── README.md │ ├── force_enemy_spawns │ │ ├── README.md │ │ ├── force_enemy_spawns.wlhotfix │ │ └── gen_force_enemy_spawns.py │ ├── guaranteed_gear_drops │ │ ├── README.md │ │ ├── gen_guaranteed_gear_drops.py │ │ └── guaranteed_gear_drops.wlhotfix │ ├── mountaineer │ │ ├── README.md │ │ ├── gen_mountaineer.py │ │ ├── mountaineer.wlhotfix │ │ └── overworld.png │ ├── quick_chaos_chamber_loot_room │ │ ├── README.md │ │ ├── gen_quick_chaos_chamber_loot_room.py │ │ └── quick_chaos_chamber_loot_room.wlhotfix │ ├── show_att_values │ │ ├── README.md │ │ ├── example.png │ │ ├── gen_show_att_values.py │ │ └── show_att_values.wlhotfix │ ├── super_buff_goblin_pickaxe │ │ ├── README.md │ │ ├── gen_super_buff_goblin_pickaxe.py │ │ └── super_buff_goblin_pickaxe.wlhotfix │ ├── super_buff_manual_transmission │ │ ├── README.md │ │ ├── gen_super_buff_manual_transmission.py │ │ └── super_buff_manual_transmission.wlhotfix │ ├── super_buff_transistor │ │ ├── README.md │ │ ├── gen_super_buff_transistor.py │ │ └── super_buff_transistor.wlhotfix │ ├── testing_loot_drops │ │ ├── README.md │ │ ├── gen_testing_loot_drops.py │ │ └── testing_loot_drops.wlhotfix │ └── visible_bpchar_names │ │ ├── README.md │ │ ├── gen_visible_bpchar_names.py │ │ ├── screenshot.png │ │ └── visible_bpchar_names.wlhotfix └── qol │ ├── README.md │ ├── always_visible_challenge_icons │ ├── README.md │ ├── always_visible_challenge_icons.wlhotfix │ ├── challenge_objects.csv │ ├── gen_always_visible_challenge_icons.py │ └── overworld.png │ ├── cash_4_teeth_goblin_teeth_loot_bars │ ├── README.md │ ├── cash_4_teeth_goblin_teeth_loot_bars.wlhotfix │ ├── gen_cash_4_teeth_goblin_teeth_loot_bars.py │ └── teeth.jpg │ ├── closer_destruction_rains │ ├── README.md │ ├── closer_destruction_rains.wlhotfix │ ├── gen_closer_destruction_rains.py │ └── screenshot.png │ ├── forgery_ore_objective_icons │ ├── README.md │ ├── forgery_ore_objective_icons.wlhotfix │ ├── gen_forgery_ore_objective_icons.py │ └── ore.jpg │ ├── gumbo_no_5_veggie_objective_icons │ ├── README.md │ ├── crying_apples.jpg │ ├── gen_gumbo_no_5_veggie_objective_icons.py │ └── gumbo_no_5_veggie_objective_icons.wlhotfix │ ├── mega_timesaver_xl │ ├── README.md │ ├── gen_mega_timesaver_xl.py │ └── mega_timesaver_xl.wlhotfix │ ├── more_visible_scrolls │ ├── README.md │ ├── gen_more_visible_scrolls.py │ ├── more_visible_scrolls.wlhotfix │ └── scroll.png │ ├── no_blacksmith_hammers │ ├── README.md │ ├── gen_no_blacksmith_hammers.py │ └── no_blacksmith_hammers.wlhotfix │ ├── no_dlc_gear_unlocked_notices │ ├── README.md │ ├── gen_no_dlc_gear_unlocked_notices.py │ └── no_dlc_gear_unlocked_notices.wlhotfix │ ├── no_fixed_overworld_map_cameras │ ├── README.md │ ├── gen_no_fixed_overworld_map_cameras.py │ └── no_fixed_overworld_map_cameras.wlhotfix │ ├── no_reload_notification │ ├── README.md │ ├── gen_no_reload_notification.py │ └── no_reload_notification.wlhotfix │ ├── photo_mode_unlock │ ├── README.md │ ├── gen_photo_mode_unlock.py │ └── photo_mode_unlock.wlhotfix │ ├── quick_changes_everywhere │ ├── README.md │ ├── gen_quick_changes_everywhere.py │ ├── quick_changes_everywhere.wlhotfix │ └── sunfang.jpg │ └── skip_dlc_intros │ ├── README.md │ ├── gen_skip_dlc_intros.py │ └── skip_dlc_intros.wlhotfix ├── DexManly ├── economy │ ├── SkeletonChest │ │ ├── SkeletonChest_FreeCost.wlhotfix │ │ └── SkeletonChest_MoneyCost.wlhotfix │ └── WheelOfFate │ │ ├── WheelOfFate_FreeCost.wlhotfix │ │ └── WheelOfFate_MoneyCost.wlhotfix ├── resource_and_testing │ └── NoBaseCrit.wlhotfix └── skilltree_changes │ ├── SkillInvestmentIncrease.wlhotfix │ ├── UnrestrictedSkilltrees.wlhotfix │ └── sporewarden_called_shot_3stack.wlhotfix ├── README-authors.md ├── README.md ├── Redux └── Wonderlands_Redux_AutoUpdate.wlhotfix ├── python_mod_helpers ├── COPYING.txt ├── README.md ├── wldata │ ├── __init__.py │ └── wldata.py └── wlhotfixmod │ ├── __init__.py │ ├── textmesh.py │ └── wlhotfixmod.py ├── screen names └── Standalone Third Person.wlhotfix ├── skruntskrunt ├── barfbunnies │ ├── barfbunnies.py │ ├── barfbunnies.wlhotfix │ ├── wheeloffate.py │ └── wheeloffate.wlhotfix ├── limited-bank │ └── limited-bank-and-backpack.wlhotfix └── uniqdungeon │ ├── README.md │ ├── biggercooluniques.txt │ ├── cooluniques.txt │ ├── endless.txt │ ├── uniqdungeon.py │ ├── uniqdungeon.wlhotfix │ └── uniques.txt └── zetadaemon ├── Better Ring Passives ├── README.md ├── better_passives.py └── better_passives.wlhotfix ├── Free Reroll ├── README.md ├── free_reroll.py └── free_reroll.wlhotfix └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | modlist*.txt 2 | modlist*.json 3 | *.swp 4 | __pycache__ 5 | -------------------------------------------------------------------------------- /Apocalyptech/.gitignore: -------------------------------------------------------------------------------- 1 | modifications 2 | -------------------------------------------------------------------------------- /Apocalyptech/dataprocessing/.gitignore: -------------------------------------------------------------------------------- 1 | wldata 2 | wlsave 3 | wlhotfixmod 4 | extracted 5 | *.csv 6 | !amulet_balances.csv 7 | !armor_balances.csv 8 | !gun_balances.csv 9 | !melee_balances.csv 10 | !ring_balances.csv 11 | !spell_balances.csv 12 | !ward_balances.csv 13 | *.csv.bak 14 | *.xlsx 15 | *.txt 16 | *.txt.bak 17 | *.json 18 | *.json.gz 19 | *.dot 20 | *.png 21 | *.svg 22 | wlrefs.sqlite3.zip 23 | wlrefs.sqlite3 24 | wlrefs.zip 25 | mayhem.php 26 | partstuff 27 | -------------------------------------------------------------------------------- /Apocalyptech/dataprocessing/README.md: -------------------------------------------------------------------------------- 1 | Various data-processing scripts, used to drive data generation for various 2 | Google Sheets, my refs database, and a mod or two (before I started pulling 3 | that into the mod-generation scripts themselves). 4 | 5 | These scripts will invariably need access to the `wldata` and/or 6 | `wlhotfixmod` libraries which up in the main `python_mod_helpers` folder 7 | in this repo, so you'll have to symlink or copy them over in order to make 8 | use of the scripts in here. 9 | 10 | -------------------------------------------------------------------------------- /Apocalyptech/dataprocessing/chaos_locked_legendaries.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # vim: set expandtab tabstop=4 shiftwidth=4: 3 | 4 | # Copyright 2022 Christopher J. Kucera 5 | # 6 | # 7 | # 8 | # This program is free software: you can redistribute it and/or modify 9 | # it under the terms of the GNU General Public License as published by 10 | # the Free Software Foundation, either version 3 of the License, or 11 | # (at your option) any later version. 12 | # 13 | # This program is distributed in the hope that it will be useful, 14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | # GNU General Public License for more details. 17 | # 18 | # You should have received a copy of the GNU General Public License 19 | # along with this program. If not, see . 20 | 21 | import os 22 | import sys 23 | import gzip 24 | import json 25 | from wldata.wldata import WLData 26 | 27 | # Some gear in the global legendary pools are locked so that they only 28 | # drop in Chaos Chamber. This outputs that list. 29 | 30 | with gzip.open('balance_name_mapping.json.gz') as df: 31 | names = json.load(df) 32 | 33 | data = WLData() 34 | 35 | pools = [ 36 | '/Game/GameData/Loot/ItemPools/Guns/AssaultRifles/ItemPool_AssaultRifles_Legendary', 37 | '/Game/GameData/Loot/ItemPools/Guns/Heavy/ItemPool_Heavy_Legendary', 38 | '/Game/GameData/Loot/ItemPools/Guns/Pistols/ItemPool_Pistols_Legendary', 39 | '/Game/GameData/Loot/ItemPools/Guns/Shotguns/ItemPool_Shotguns_Legendary', 40 | '/Game/GameData/Loot/ItemPools/Guns/SMG/ItemPool_SMGs_Legendary', 41 | '/Game/GameData/Loot/ItemPools/Guns/SniperRifles/ItemPool_SnipeRifles_Legendary', 42 | '/Game/GameData/Loot/ItemPools/Melee/ItemPool_Melee_05_Legendary', 43 | '/Game/GameData/Loot/ItemPools/Shields/ItemPool_Shields_05_Legendary', 44 | '/Game/GameData/Loot/ItemPools/Armor/ItemPool_Armor_05_Legendary', 45 | '/Game/GameData/Loot/ItemPools/SpellMods/ItemPool_SpellMods_05_Legendary', 46 | '/Game/GameData/Loot/ItemPools/Rings/ItemPool_Rings_05_Legendary', 47 | '/Game/GameData/Loot/ItemPools/Amulets/ItemPool_Amulets_05_Legendary', 48 | ] 49 | 50 | for pool in pools: 51 | obj = data.get_data(pool)[0] 52 | for balance in obj['BalancedItems']: 53 | if type(balance['Weight']['BaseValueAttribute']) == list: 54 | if 'EDOnly' in balance['Weight']['BaseValueAttribute'][0]: 55 | bal_name = balance['ResolvedInventoryBalanceData'][1] 56 | real_name = names[bal_name.lower()] 57 | print(f'{real_name} | {bal_name}') 58 | 59 | -------------------------------------------------------------------------------- /Apocalyptech/dataprocessing/find_map_objects_near.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # vim: set expandtab tabstop=4 shiftwidth=4: 3 | 4 | # Copyright 2022-2023 Christopher J. Kucera 5 | # 6 | # 7 | # 8 | # This program is free software: you can redistribute it and/or modify 9 | # it under the terms of the GNU General Public License as published by 10 | # the Free Software Foundation, either version 3 of the License, or 11 | # (at your option) any later version. 12 | # 13 | # This program is distributed in the hope that it will be useful, 14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | # GNU General Public License for more details. 17 | # 18 | # You should have received a copy of the GNU General Public License 19 | # along with this program. If not, see . 20 | 21 | import os 22 | import sys 23 | import math 24 | from wldata.wldata import WLData 25 | 26 | data = WLData() 27 | 28 | # Given a map name, location, and range, attempts to find all "things" in the 29 | # map data which exist in that volume. 30 | 31 | map_dir = '/Game/Maps/Zone_1/Goblin' 32 | loc = (26277, -22224, 6158) 33 | #in_range = 1000 34 | in_range = 400 35 | ignore_z = False 36 | 37 | for map_obj in sorted(data.find(map_dir, '')): 38 | print(f'Processing {map_obj}') 39 | map_data = data.get_data(map_obj) 40 | if map_data: 41 | for export in map_data: 42 | if 'RelativeLocation' in export: 43 | obj_loc = export['RelativeLocation'] 44 | if ignore_z: 45 | distance = math.sqrt((loc[0]-obj_loc['x'])**2 + (loc[1]-obj_loc['y'])**2) 46 | if distance < in_range: 47 | print('{}: {} ({})'.format( 48 | export['_jwp_export_idx'], 49 | export['_jwp_object_name'], 50 | export['export_type'], 51 | )) 52 | else: 53 | distance = math.sqrt((loc[0]-obj_loc['x'])**2 + (loc[1]-obj_loc['y'])**2 + (loc[2]-obj_loc['z'])**2) 54 | if distance < in_range: 55 | print('{}: {} ({})'.format( 56 | export['_jwp_export_idx'], 57 | export['_jwp_object_name'], 58 | export['export_type'], 59 | )) 60 | 61 | -------------------------------------------------------------------------------- /Apocalyptech/dataprocessing/gen_fts_mappings.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # vim: set expandtab tabstop=4 shiftwidth=4: 3 | 4 | # Copyright 2019-2022 Christopher J. Kucera 5 | # 6 | # 7 | # 8 | # This program is free software: you can redistribute it and/or modify 9 | # it under the terms of the GNU General Public License as published by 10 | # the Free Software Foundation, either version 3 of the License, or 11 | # (at your option) any later version. 12 | # 13 | # This program is distributed in the hope that it will be useful, 14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | # GNU General Public License for more details. 17 | # 18 | # You should have received a copy of the GNU General Public License 19 | # along with this program. If not, see . 20 | 21 | import re 22 | import sys 23 | from wldata.wldata import WLData 24 | from wlhotfixmod.wlhotfixmod import Mod 25 | 26 | # While doing savegame investigation, it looked like the best way to find 27 | # the current map was to start with the fast travel station in a 28 | # last_active_travel_station_for_playthrough string. We'd want to map 29 | # that back to a level, so this generates that mapping. (I didn't want 30 | # the savegame stuff to depend on the data library.) 31 | # 32 | # We're including Resurrect Travel and Location Travel stations as well, 33 | # in case those pop up too. 34 | 35 | data = WLData() 36 | 37 | output_file = 'fts_mappings.py' 38 | 39 | # Grab a list of object names 40 | object_names = [] 41 | for base_path in [ 42 | '/Game/GameData/FastTravel', 43 | '/Game/PatchDLC/Indigo1/GameData/FastTravel', 44 | ]: 45 | for prefix in ['FTS_', 'RTS_', 'LTS_']: 46 | object_names.extend(list(data.find(base_path, prefix))) 47 | 48 | # Construct the mapping 49 | fts_mapping = {} 50 | for object_name in object_names: 51 | object_name_full = Mod.get_full_cond(object_name).lower() 52 | obj = data.get_data(object_name) 53 | for exp in obj: 54 | if 'StationMapName' in exp: 55 | last_map_bit = exp['StationMapName'].split('/')[-1] 56 | fts_mapping[object_name_full] = last_map_bit 57 | break 58 | 59 | # Now output as a Python dict 60 | with open(output_file, 'w') as df: 61 | print('', file=df) 62 | print('# Autogenerated by gen_fts_mappings.py, in Apocalyptech\'s dir in the BLCM wlmods project (in dataprocessing)', file=df) 63 | print('', file=df) 64 | print('fts_to_map = {', file=df) 65 | for k, v in sorted(fts_mapping.items()): 66 | print(" '{}': '{}',".format(k, v), file=df) 67 | print(' }', file=df) 68 | print('', file=df) 69 | 70 | print('Generated {}'.format(output_file)) 71 | -------------------------------------------------------------------------------- /Apocalyptech/dataprocessing/guess_level_names.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # vim: set expandtab tabstop=4 shiftwidth=4: 3 | 4 | # Copyright 2019-2022 Christopher J. Kucera 5 | # 6 | # 7 | # 8 | # This program is free software: you can redistribute it and/or modify 9 | # it under the terms of the GNU General Public License as published by 10 | # the Free Software Foundation, either version 3 of the License, or 11 | # (at your option) any later version. 12 | # 13 | # This program is distributed in the hope that it will be useful, 14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | # GNU General Public License for more details. 17 | # 18 | # You should have received a copy of the GNU General Public License 19 | # along with this program. If not, see . 20 | 21 | import re 22 | import sys 23 | from wldata.wldata import WLData 24 | 25 | # Tries to generate a mapping of level name to english name, based on the 26 | # labels sometimes shown to the user in-game. 27 | 28 | data = WLData() 29 | 30 | output_file = 'fts_mappings.py' 31 | 32 | # Grab a list of object names 33 | object_names = [] 34 | for base_path in [ 35 | '/Game/GameData/FastTravel', 36 | '/Game/PatchDLC/Indigo1/GameData/FastTravel', 37 | ]: 38 | for prefix in ['FTS_', 'RTS_', 'LTS_']: 39 | object_names.extend(list(data.find(base_path, prefix))) 40 | 41 | # Construct the mapping 42 | level_names = {} 43 | for object_name in object_names: 44 | obj = data.get_data(object_name)[0] 45 | map_name = None 46 | if 'TravelToMapName' in obj: 47 | map_name = obj['TravelToMapName'] 48 | elif 'StationMapName' in obj: 49 | map_name = obj['StationMapName'] 50 | 51 | if map_name: 52 | map_end = map_name.rsplit('/', 1)[-1] 53 | if map_end not in level_names: 54 | level_names[map_end] = set() 55 | if 'DisplayUIName' in obj and 'export' not in obj['DisplayUIName']: 56 | uiname_name = obj['DisplayUIName'][1] 57 | uiname = data.get_data(uiname_name)[0] 58 | name = uiname['DisplayName']['string'] 59 | if ' – ' in name: 60 | name = name.split(' – ', 1)[0] 61 | level_names[map_end].add(name) 62 | 63 | # Report 64 | for map_name, names in sorted(level_names.items()): 65 | if len(names) == 1: 66 | print('{}: {}'.format(map_name, names.pop())) 67 | else: 68 | print('{}: {}'.format(map_name, names)) 69 | 70 | -------------------------------------------------------------------------------- /Apocalyptech/dataprocessing/hotfixglobals_info.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # vim: set expandtab tabstop=4 shiftwidth=4: 3 | 4 | # Copyright 2022 Christopher J. Kucera 5 | # 6 | # 7 | # 8 | # This program is free software: you can redistribute it and/or modify 9 | # it under the terms of the GNU General Public License as published by 10 | # the Free Software Foundation, either version 3 of the License, or 11 | # (at your option) any later version. 12 | # 13 | # This program is distributed in the hope that it will be useful, 14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | # GNU General Public License for more details. 17 | # 18 | # You should have received a copy of the GNU General Public License 19 | # along with this program. If not, see . 20 | 21 | import os 22 | import sys 23 | import json 24 | import datetime 25 | from wldata.wldata import WLData 26 | 27 | # Outputs some info about the HotfixGlobals structure introduced in 28 | # the 2022-09-29 (v1.0.6) patch. 29 | 30 | def ue_timerange_to_secs(value): 31 | """ 32 | 100-nanosecond ticks, apparently 33 | """ 34 | return value/10000000 35 | 36 | start_date = datetime.datetime.fromisoformat('0001-01-01 00:00:00') 37 | def ue_timestamp_to_datetime(timestamp): 38 | """ 39 | 100-nanosecond ticks since January 1, 0001 40 | """ 41 | global start_date 42 | seconds = ue_timerange_to_secs(timestamp) 43 | delta = datetime.timedelta(seconds=seconds) 44 | return start_date + delta 45 | 46 | data = WLData() 47 | 48 | mg = data.get_data('/Game/GameData/Micropatching/MicropatchGlobals')[0] 49 | for group in mg['TimedMicropatchSchedule']: 50 | group_name = group['Comment'] 51 | group_start = ue_timestamp_to_datetime(group['TimeToStart']['date']) 52 | header = f'{group_name}: Starts {group_start}' 53 | print(header) 54 | print('-'*len(header)) 55 | if (group['bLoopWhenDurationsExpire']): 56 | print('(loops when durations expire)') 57 | print('') 58 | for event in group['TimedMicropatchList']: 59 | event_name = event['Comment'] 60 | event_duration_secs = ue_timerange_to_secs(event['Duration']['date']) 61 | event_duration = datetime.timedelta(seconds=event_duration_secs) 62 | print(f' - {event_name}: Runs for {event_duration}') 63 | print('') 64 | 65 | -------------------------------------------------------------------------------- /Apocalyptech/dataprocessing/ow_camera_info.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # vim: set expandtab tabstop=4 shiftwidth=4: 3 | 4 | # Copyright 2022 Christopher J. Kucera 5 | # 6 | # 7 | # 8 | # This program is free software: you can redistribute it and/or modify 9 | # it under the terms of the GNU General Public License as published by 10 | # the Free Software Foundation, either version 3 of the License, or 11 | # (at your option) any later version. 12 | # 13 | # This program is distributed in the hope that it will be useful, 14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | # GNU General Public License for more details. 17 | # 18 | # You should have received a copy of the GNU General Public License 19 | # along with this program. If not, see . 20 | 21 | import os 22 | import sys 23 | import csv 24 | import gzip 25 | import json 26 | import argparse 27 | from wldata.wldata import WLData 28 | from wlhotfixmod.wlhotfixmod import BVC 29 | 30 | # Finding some overworld camera info; used for info-gathering when putting 31 | # together my No Fixed Overworld Cameras mod. 32 | 33 | data = WLData() 34 | 35 | map_data = data.get_data('/Game/Maps/Overworld/Overworld_Camera') 36 | for export in map_data: 37 | if export['export_type'] == 'Overworld_Camera_C' \ 38 | and export['_jwp_object_name'] == 'Default__Overworld_Camera_C': 39 | for key in sorted(export.keys()): 40 | if key.startswith('Camera') \ 41 | and type(export[key]) == dict \ 42 | and 'export' in export[key] \ 43 | and export[key]['export'] != 0 \ 44 | and export[key]['_jwp_export_dst_type'] == 'OakTriggerVolume': 45 | vol = map_data[export[key]['export']-1] 46 | vol_name = vol['_jwp_object_name'] 47 | if 'OnActorBeginOverlap' in vol and 'OnActorEndOverlap' in vol: 48 | assert(len(vol['OnActorBeginOverlap']) == 1) 49 | assert(len(vol['OnActorEndOverlap']) == 1) 50 | print(vol_name) 51 | print(' -> {}'.format(vol['OnActorBeginOverlap'][0]['name'])) 52 | print(' -> {}'.format(vol['OnActorEndOverlap'][0]['name'])) 53 | print('') 54 | 55 | 56 | break 57 | -------------------------------------------------------------------------------- /Apocalyptech/dataprocessing/refs_db_schema.sql: -------------------------------------------------------------------------------- 1 | drop table if exists ttwlrefs; 2 | drop table if exists ttwlobject; 3 | 4 | create table ttwlobject 5 | ( 6 | id int not null auto_increment, 7 | name varchar(512) character set latin1 not null, 8 | primary key (id), 9 | unique index idx_name (name) 10 | ) engine=innodb; 11 | 12 | create table ttwlrefs 13 | ( 14 | from_obj int not null, 15 | to_obj int not null, 16 | unique index idx_from (from_obj, to_obj), 17 | index idx_to (to_obj, from_obj) 18 | ) engine=innodb; 19 | 20 | -------------------------------------------------------------------------------- /Apocalyptech/deprecated_or_broken/.gitignore: -------------------------------------------------------------------------------- 1 | true_qce.txt 2 | -------------------------------------------------------------------------------- /Apocalyptech/deprecated_or_broken/README.md: -------------------------------------------------------------------------------- 1 | ## Proofs of Concept 2 | 3 | These are things that *work*, and I wanted to keep track of, but which 4 | weren't actually intended to be mods themselves. 5 | 6 | - `achievement_shenanigans.txt` - I had the two co-op achievements left on 7 | Steam, and since I basically never do multiplayer, I decided to see if I could 8 | cheese 'em. Turns out to be quite easy; just made them both depend on my 9 | AR kill count, and set the target to one higher than that current stat from 10 | my save. No plans to make this into a full mod, but if anyone else is 11 | interested, this is how you'd do it. 12 | - `gen_true_qce.txt` - Generator script for a hypothetical joke *True* Quick 13 | Changes Everywhere mod. Never actually intended to be turned into a real mod; 14 | the saved version here will generate a 30MB mod which adds 35k Quick Change 15 | machines to Snoring Valley. Nicely impressive-looking, though on my system 16 | the level load takes about 40 minutes, and the in-game framerate isn't 17 | pleasant. :D 18 | 19 | ## Deprecated/Testing Mods 20 | 21 | 22 | ## Failed Attempts 23 | 24 | - `early_character_skills.txt` - This actually *does* mostly work. An attempt 25 | to get character feat, alternate class skill, and secondary class (with 26 | re-roll at Quick Change) active starting right at level 2. The main issue 27 | which caused me to shuffle it over here is that it stopped giving me the 28 | bonus skill points when the secondary class unlocks, and I got tired of 29 | trying to figure that out. Note that technically most of that stuff unlocks 30 | based on either mission or objectives, not level, so there's a bit of 31 | hand-waving. 32 | - `quiet_bandit_camps.txt` - Tried to disable the horn-blowing sound effect 33 | that plays when you approach the randomized overworld bandit camps. Couldn't 34 | get the attrs to change, though, in the end. I think that hotfixes fire too 35 | early, before the camps (and before even the camp's base classes) have been 36 | loaded. 37 | - `shoot_while_sprinting.txt` - A failed attempt to allow the player to shoot 38 | while sprinting. 39 | 40 | Licenses 41 | ======== 42 | 43 | All Apocalyptech's code in here is licensed under the 44 | [GPLv3 or later](https://www.gnu.org/licenses/quick-guide-gplv3.html). 45 | See [COPYING.txt](../COPYING.txt) for the full text of the license. 46 | 47 | All Apocalyptech's mods in this repository are currently licensed under 48 | [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/). 49 | 50 | -------------------------------------------------------------------------------- /Apocalyptech/deprecated_or_broken/achievement_shenanigans.txt: -------------------------------------------------------------------------------- 1 | 2 | @title Achievement Shenanigans 3 | @author Apocalyptech 4 | 5 | @license Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) 6 | @license-url https://creativecommons.org/licenses/by-sa/4.0/ 7 | 8 | ### 9 | ### Generated by gen_achievement_shenanigans.py 10 | ### 11 | 12 | SparkPatchEntry,(1,1,0,),/Game/GameData/Challenges/Economy/Challenge_Economy_COOPTrade.Default__Challenge_Economy_COOPTrade_C,StatChallengeTests.StatChallengeTests[0],0,,(StatId=GameStatData'"/Game/PlayerCharacters/_Shared/_Design/Stats/Combat/Weapon/Stat_Weapon_AssaultRifleKills.Stat_Weapon_AssaultRifleKills"',GoalInfo=((GoalValue=1,NotificationThreshold=1))) 13 | SparkPatchEntry,(1,1,0,),/Game/GameData/Challenges/System/BP_Challenge_Console_RevivePartner.Default__BP_Challenge_Console_RevivePartner_C,StatChallengeTests.StatChallengeTests[0],0,,(StatId=GameStatData'"/Game/PlayerCharacters/_Shared/_Design/Stats/Combat/Weapon/Stat_Weapon_AssaultRifleKills.Stat_Weapon_AssaultRifleKills"',GoalInfo=((GoalValue=1199,NotificationThreshold=1199))) 14 | 15 | -------------------------------------------------------------------------------- /Apocalyptech/deprecated_or_broken/early_character_skills.txt: -------------------------------------------------------------------------------- 1 | 2 | @title Early Character Skills (a bit broken) 3 | @version 1.0.0 4 | @author Apocalyptech 5 | @contact https://apocalyptech.com/contact.php 6 | @categories cheat, gameplay 7 | 8 | @license Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) 9 | @license-url https://creativecommons.org/licenses/by-sa/4.0/ 10 | 11 | ### 12 | ### It seemed to be working fine for awhile, but with a bit more 13 | ### testing, the character stopped getting the bonus skill points 14 | ### for unlocking the secondary class. Got a bit tired of 15 | ### trying to figure it out, and this is all available via save 16 | ### editing anyway, so I'm calling it quits. 17 | ### 18 | ### If anyone feels like figuring this out, or releasing it with 19 | ### the skill point caveat, feel free! As for me, I'm just keeping 20 | ### it in deprecated-or-broken. 21 | ### 22 | ### Generated by gen_early_character_skills.py 23 | ### 24 | 25 | # Alternate Class Skill, and Secondary Class level Requirement 26 | SparkPatchEntry,(1,1,0,),/Game/PlayerCharacters/_Shared/_Design/Character/BPChar_Player.BPChar_Player_C:OakPlayerAbilityManager_GEN_VARIABLE,SecondryActionAbilityUnlockSchedule,0,,(2,2) 27 | 28 | # Class Feat 29 | SparkPatchEntry,(1,1,0,),/Game/GameData/GameplayGlobals.GameplayGlobals,UnlockClassFeatureCondition.Object..ObjectiveRef,0,,(Mission=BlueprintGeneratedClass'"/Game/Missions/Plot/Mission_Plot00.Mission_Plot00_C"',ObjectiveName="Obj_KillSkeletons_Objective",Objective=MissionObjective'"/Game/Missions/Plot/Mission_Plot00.Obj_KillSkeletons_Objective"',ObjectiveGuid=1b7cb1ff4d0b6a2a30e11ebd03f82c09) 30 | SparkPatchEntry,(1,1,0,),/Game/GameData/GameplayGlobals.GameplayGlobals,UnlockClassFeatureCondition.Object..ObjectiveRef.Objective,0,,MissionObjective'"/Game/Missions/Plot/Mission_Plot00.Obj_KillSkeletons_Objective"' 31 | 32 | # Secondary Class Mission Requirement 33 | SparkPatchEntry,(1,1,0,),/Game/GameData/GameplayGlobals.GameplayGlobals,UnlockInitialSecondaryClassCondition.Object..MissionClass,0,,/Game/Missions/Plot/Mission_Plot01.Mission_Plot01_C 34 | 35 | # Reroll Secondary Class at Quick Changes 36 | SparkPatchEntry,(1,1,0,),/Game/GameData/GameplayGlobals.GameplayGlobals,UnlockSecondaryClassSwapCondition.Object..ObjectiveRef,0,,(Mission=BlueprintGeneratedClass'"/Game/Missions/Plot/Mission_Plot00.Mission_Plot00_C"',ObjectiveName="Obj_KillSkeletons_Objective",Objective=MissionObjective'"/Game/Missions/Plot/Mission_Plot00.Obj_KillSkeletons_Objective"',ObjectiveGuid=1b7cb1ff4d0b6a2a30e11ebd03f82c09) 37 | SparkPatchEntry,(1,1,0,),/Game/GameData/GameplayGlobals.GameplayGlobals,UnlockSecondaryClassSwapCondition.Object..ObjectiveRef.Objective,0,,MissionObjective'"/Game/Missions/Plot/Mission_Plot00.Obj_KillSkeletons_Objective"' 38 | 39 | -------------------------------------------------------------------------------- /Apocalyptech/deprecated_or_broken/gen_achievement_shenanigans.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # vim: set expandtab tabstop=4 shiftwidth=4: 3 | 4 | # Copyright 2019-2022 Christopher J. Kucera 5 | # 6 | # 7 | # 8 | # This Wonderlands Hotfix Mod is free software: you can redistribute it 9 | # and/or modify it under the terms of the GNU General Public License 10 | # as published by the Free Software Foundation, either version 3 of 11 | # the License, or (at your option) any later version. 12 | # 13 | # This Wonderlands Hotfix Mod is distributed in the hope that it will 14 | # be useful, but WITHOUT ANY WARRANTY; without even the implied 15 | # warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 16 | # See the GNU General Public License for more details. 17 | # 18 | # You should have received a copy of the GNU General Public License 19 | # along with this Wonderlands Hotfix Mod. If not, see 20 | # . 21 | 22 | import sys 23 | sys.path.append('../../python_mod_helpers') 24 | from wlhotfixmod.wlhotfixmod import Mod 25 | 26 | # Shenanigans indeed! I basically never play these games co-op, and arranging to 27 | # do so just to pop a couple of Steam achievements always seems like less fun than 28 | # haxing the framework to do it for me. So this hooks up the two co-op achievements 29 | # to trigger based on weapon kills (the values gleaned from whatever savegame I 30 | # was using at the time) instead of their usual stats. 31 | 32 | mod = Mod('achievement_shenanigans.txt', 33 | "Achievement Shenanigans", 34 | 'Apocalyptech', 35 | [ 36 | ], 37 | lic=Mod.CC_BY_SA_40, 38 | ) 39 | 40 | # Stat to inject 41 | tracked_stat = Mod.get_full_cond('/Game/PlayerCharacters/_Shared/_Design/Stats/Combat/Weapon/Stat_Weapon_AssaultRifleKills', 'GameStatData') 42 | tracked_stat_target = 1199 43 | 44 | # These actually function a bit differently -- the trading one redirects through a BP_Challenge_Console_Trade 45 | # to get to the object we alter here, and as a result, we need the targets to look a bit different. The 46 | # trading one tracks the stat completely independently, so we want that one to pop on 1. The revive one is 47 | # happy to use the "real" stat as-is, so we use that (ie: my current number of AR kills plus one). 48 | for challenge, target in [ 49 | # Trade with a player 50 | ('/Game/GameData/Challenges/Economy/Challenge_Economy_COOPTrade.Default__Challenge_Economy_COOPTrade_C', 1), 51 | # Revive a partner 52 | ('/Game/GameData/Challenges/System/BP_Challenge_Console_RevivePartner.Default__BP_Challenge_Console_RevivePartner_C', tracked_stat_target), 53 | ]: 54 | mod.reg_hotfix(Mod.PATCH, '', 55 | challenge, 56 | 'StatChallengeTests.StatChallengeTests[0]', 57 | f"""( 58 | StatId={tracked_stat}, 59 | GoalInfo=( 60 | ( 61 | GoalValue={target}, 62 | NotificationThreshold={target} 63 | ) 64 | ) 65 | )""") 66 | 67 | mod.close() 68 | -------------------------------------------------------------------------------- /Apocalyptech/economy/README.md: -------------------------------------------------------------------------------- 1 | Apocalyptech's Economy-Related WL Mods 2 | ====================================== 3 | 4 | These are all quite cheaty. Both cash and eridium-based economies basically 5 | completely fall apart if you use all these, especially if Better Loot is also 6 | being used, which gives you far more Eridium than usual. 7 | 8 | See the individual mod folders for full READMEs. 9 | 10 | - **Cheaper SDUs** - Vastly reduce the SDU costs. 11 | - **Free Respawn** - No charge for respawning after death. 12 | - **Free Respec** - No charge to respec your skills. 13 | 14 | Licenses 15 | ======== 16 | 17 | All Apocalyptech's code in here is licensed under the 18 | [GPLv3 or later](https://www.gnu.org/licenses/quick-guide-gplv3.html). 19 | See [COPYING.txt](../COPYING.txt) for the full text of the license. 20 | 21 | All Apocalyptech's mods in this repository are currently licensed under 22 | [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/). 23 | 24 | -------------------------------------------------------------------------------- /Apocalyptech/economy/cheaper_sdus/README.md: -------------------------------------------------------------------------------- 1 | Cheaper SDUs 2 | ============ 3 | 4 | This mod just makes the SDUs in the game significantly cheaper (which 5 | ends up ruining the cash economy in the game pretty handily). Prices 6 | for SDUs will max out at one million, and take awhile to get up that 7 | high. 8 | 9 | Changelog 10 | ========= 11 | 12 | **v1.0.0** - Aug 1, 2022 13 | * Initial release, based on v1.2.0 of 14 | [BL3's Cheaper SDUs](https://github.com/BLCM/bl3mods/wiki/Cheaper%20SDUs) 15 | 16 | Licenses 17 | ======== 18 | 19 | This mod is licensed under [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/). 20 | 21 | The generation script for the mod is licensed under the 22 | [GPLv3 or later](https://www.gnu.org/licenses/quick-guide-gplv3.html). 23 | See [COPYING.txt](../../COPYING.txt) for the full text of the license. 24 | 25 | -------------------------------------------------------------------------------- /Apocalyptech/economy/cheaper_sdus/gen_cheaper_sdus.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # vim: set expandtab tabstop=4 shiftwidth=4: 3 | 4 | # Copyright 2019-2022 Christopher J. Kucera 5 | # 6 | # 7 | # 8 | # This Wonderlands Hotfix Mod is free software: you can redistribute it 9 | # and/or modify it under the terms of the GNU General Public License 10 | # as published by the Free Software Foundation, either version 3 of 11 | # the License, or (at your option) any later version. 12 | # 13 | # This Wonderlands Hotfix Mod is distributed in the hope that it will 14 | # be useful, but WITHOUT ANY WARRANTY; without even the implied 15 | # warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 16 | # See the GNU General Public License for more details. 17 | # 18 | # You should have received a copy of the GNU General Public License 19 | # along with this Wonderlands Hotfix Mod. If not, see 20 | # . 21 | 22 | import sys 23 | sys.path.append('../../../python_mod_helpers') 24 | from wlhotfixmod.wlhotfixmod import Mod 25 | 26 | start_price = 500 27 | increment = 2 28 | max_price = 1024000 29 | 30 | mod = Mod('cheaper_sdus.wlhotfix', 31 | 'Cheaper SDUs', 32 | 'Apocalyptech', 33 | [ 34 | "Makes the purchaseable SDUs in the game significantly cheaper.", 35 | ], 36 | contact='https://apocalyptech.com/contact.php', 37 | lic=Mod.CC_BY_SA_40, 38 | v='1.0.0', 39 | cats='cheat, economy', 40 | ) 41 | 42 | for table, levels in [ 43 | ('Table_SDU_AssaultRifle', 10), 44 | ('Table_SDU_Backpack', 13), 45 | ('Table_SDU_Bank', 23), 46 | ('Table_SDU_Grenade', 10), 47 | ('Table_SDU_Heavy', 13), 48 | ('Table_SDU_LostLoot', 8), 49 | ('Table_SDU_Pistol', 10), 50 | ('Table_SDU_Shotgun', 10), 51 | ('Table_SDU_SMG', 10), 52 | ('Table_SDU_SniperRifle', 13), 53 | ]: 54 | mod.comment(table) 55 | price = start_price 56 | for level in range(levels): 57 | mod.table_hotfix(Mod.PATCH, '', 58 | f'/Game/Pickups/SDU/{table}', 59 | 'Lv{}'.format(level+1), 60 | 'SDUPrice', 61 | price) 62 | price = min(int(price*increment), max_price) 63 | mod.newline() 64 | 65 | mod.close() 66 | -------------------------------------------------------------------------------- /Apocalyptech/economy/free_respawn/README.md: -------------------------------------------------------------------------------- 1 | Free Respawn 2 | ============ 3 | 4 | This removes the respawn cost entirely. Very cheaty, of course! 5 | 6 | Changelog 7 | ========= 8 | 9 | **v1.0.0** - Jul 28, 2022 10 | * Initial release, based on v1.0.0 of 11 | [BL3's Free Respawn](https://github.com/BLCM/bl3mods/wiki/Free%20Respawn) 12 | 13 | Licenses 14 | ======== 15 | 16 | This mod is licensed under [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/). 17 | 18 | The generation script for the mod is licensed under the 19 | [GPLv3 or later](https://www.gnu.org/licenses/quick-guide-gplv3.html). 20 | See [COPYING.txt](../../COPYING.txt) for the full text of the license. 21 | 22 | -------------------------------------------------------------------------------- /Apocalyptech/economy/free_respawn/free_respawn.wlhotfix: -------------------------------------------------------------------------------- 1 | 2 | @title Free Respawn 3 | @version 1.0.0 4 | @author Apocalyptech 5 | @contact https://apocalyptech.com/contact.php 6 | @categories cheat, economy 7 | 8 | @license Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) 9 | @license-url https://creativecommons.org/licenses/by-sa/4.0/ 10 | 11 | ### 12 | ### No cost to respawn after death 13 | ### 14 | ### Generated by gen_free_respawn.py 15 | ### 16 | 17 | SparkPatchEntry,(1,1,0,),/Game/GameData/GameplayGlobals.GameplayGlobals,ResurrectionCostPercent,0,,0 18 | 19 | -------------------------------------------------------------------------------- /Apocalyptech/economy/free_respawn/gen_free_respawn.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # vim: set expandtab tabstop=4 shiftwidth=4: 3 | 4 | # Copyright 2019-2022 Christopher J. Kucera 5 | # 6 | # 7 | # 8 | # This Wonderlands Hotfix Mod is free software: you can redistribute it 9 | # and/or modify it under the terms of the GNU General Public License 10 | # as published by the Free Software Foundation, either version 3 of 11 | # the License, or (at your option) any later version. 12 | # 13 | # This Wonderlands Hotfix Mod is distributed in the hope that it will 14 | # be useful, but WITHOUT ANY WARRANTY; without even the implied 15 | # warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 16 | # See the GNU General Public License for more details. 17 | # 18 | # You should have received a copy of the GNU General Public License 19 | # along with this Wonderlands Hotfix Mod. If not, see 20 | # . 21 | 22 | import sys 23 | sys.path.append('../../../python_mod_helpers') 24 | from wlhotfixmod.wlhotfixmod import Mod, BVC 25 | 26 | mod = Mod('free_respawn.wlhotfix', 27 | 'Free Respawn', 28 | 'Apocalyptech', 29 | [ 30 | "No cost to respawn after death", 31 | ], 32 | contact='https://apocalyptech.com/contact.php', 33 | lic=Mod.CC_BY_SA_40, 34 | v='1.0.0', 35 | cats='cheat, economy', 36 | ) 37 | 38 | # Default: 0.02 39 | mod.reg_hotfix(Mod.PATCH, '', 40 | '/Game/GameData/GameplayGlobals', 41 | 'ResurrectionCostPercent', 42 | 0) 43 | 44 | mod.close() 45 | -------------------------------------------------------------------------------- /Apocalyptech/economy/free_respec/README.md: -------------------------------------------------------------------------------- 1 | Free Respec 2 | =========== 3 | 4 | This removes the cost to respec your character. Very cheaty, of course! 5 | 6 | Changelog 7 | ========= 8 | 9 | **v1.0.0** - Jul 28, 2022 10 | * Initial release, based on v1.0.0 of 11 | [BL3's Free Respec](https://github.com/BLCM/bl3mods/wiki/Free%20Respec) 12 | 13 | Licenses 14 | ======== 15 | 16 | This mod is licensed under [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/). 17 | 18 | The generation script for the mod is licensed under the 19 | [GPLv3 or later](https://www.gnu.org/licenses/quick-guide-gplv3.html). 20 | See [COPYING.txt](../../COPYING.txt) for the full text of the license. 21 | 22 | -------------------------------------------------------------------------------- /Apocalyptech/economy/free_respec/free_respec.wlhotfix: -------------------------------------------------------------------------------- 1 | 2 | @title Free Respec 3 | @version 1.0.0 4 | @author Apocalyptech 5 | @contact https://apocalyptech.com/contact.php 6 | @categories cheat, economy 7 | 8 | @license Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) 9 | @license-url https://creativecommons.org/licenses/by-sa/4.0/ 10 | 11 | ### 12 | ### No cost to respec skills 13 | ### 14 | ### Generated by gen_free_respec.py 15 | ### 16 | 17 | SparkPatchEntry,(1,1,0,),/Game/GameData/GameplayGlobals.GameplayGlobals,SkillRespecCostPercent,0,,0 18 | 19 | -------------------------------------------------------------------------------- /Apocalyptech/economy/free_respec/gen_free_respec.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # vim: set expandtab tabstop=4 shiftwidth=4: 3 | 4 | # Copyright 2019-2022 Christopher J. Kucera 5 | # 6 | # 7 | # 8 | # This Wonderlands Hotfix Mod is free software: you can redistribute it 9 | # and/or modify it under the terms of the GNU General Public License 10 | # as published by the Free Software Foundation, either version 3 of 11 | # the License, or (at your option) any later version. 12 | # 13 | # This Wonderlands Hotfix Mod is distributed in the hope that it will 14 | # be useful, but WITHOUT ANY WARRANTY; without even the implied 15 | # warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 16 | # See the GNU General Public License for more details. 17 | # 18 | # You should have received a copy of the GNU General Public License 19 | # along with this Wonderlands Hotfix Mod. If not, see 20 | # . 21 | 22 | import sys 23 | sys.path.append('../../../python_mod_helpers') 24 | from wlhotfixmod.wlhotfixmod import Mod, BVC 25 | 26 | mod = Mod('free_respec.wlhotfix', 27 | 'Free Respec', 28 | 'Apocalyptech', 29 | [ 30 | "No cost to respec skills", 31 | ], 32 | contact='https://apocalyptech.com/contact.php', 33 | lic=Mod.CC_BY_SA_40, 34 | v='1.0.0', 35 | cats='cheat, economy', 36 | ) 37 | 38 | # Default: 0.1 39 | mod.reg_hotfix(Mod.PATCH, '', 40 | '/Game/GameData/GameplayGlobals', 41 | 'SkillRespecCostPercent', 42 | 0) 43 | 44 | mod.close() 45 | 46 | -------------------------------------------------------------------------------- /Apocalyptech/enemy_spawn_changes/README.md: -------------------------------------------------------------------------------- 1 | Apocalyptech's Enemy Spawn-Related WL Mods 2 | ========================================== 3 | 4 | See the individual mod folders for full READMEs. 5 | 6 | - **Less Annoying Goblins** - Various tweaks to make Goblin enemies a bit less 7 | annoying to fight. 8 | 9 | Licenses 10 | ======== 11 | 12 | All Apocalyptech's code in here is licensed under the 13 | [GPLv3 or later](https://www.gnu.org/licenses/quick-guide-gplv3.html). 14 | See [COPYING.txt](../COPYING.txt) for the full text of the license. 15 | 16 | All Apocalyptech's mods in this repository are currently licensed under 17 | [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/). 18 | 19 | -------------------------------------------------------------------------------- /Apocalyptech/enemy_spawn_changes/less_annoying_goblins/README.md: -------------------------------------------------------------------------------- 1 | Less Annoying Goblins 2 | ===================== 3 | 4 | I've always found the Goblins in Wonderlands to be rather annoying to fight, 5 | and this mod aims to reduce some of that annoyance. It's not intended to 6 | *nerf* Goblin combat, though it probably does that inadvertently. Many of 7 | the things I'm changing are pretty obviously intended behavior, and by sanding 8 | off the corners of Goblin combat, it's removing some of the unique features 9 | of this enemy type. C'est la vie! 10 | 11 | In general, my complaints fall into two categories: physically-tiny enemies who 12 | are easy to miss when they're right next to you doing melee attacks, and 13 | extreme knockbacks from a couple of enemy types (Trickster barrel-charges and 14 | Badass rocket blasts, specifically). 15 | 16 | The specific changes done by this mod: 17 | 18 | * Goblin Runt 19 | * Increase overall size by 27%, and height by an additional 14% 20 | * Increase health by 13% to compensate 21 | * Goblin Axe Thrower 22 | * Increase overall size by 17%, and height by an additional 14% 23 | * Increase health by 8% to compensate 24 | * Goblin Guzzlebuster *(suicide goblins)* 25 | * Increase size by 25% 26 | * Icon will show up on minimap even while cloaked 27 | * Goblin Tinkerer 28 | * Make jetpack-charge attacks a little less common 29 | * Goblin Trickster *(the barrel one)* 30 | * Decrease charge speed by 40% 31 | * Severely nerf knockback 32 | * Increase damage-dealt by 10% to compensate 33 | * Badass Goblin Bombast 34 | * Severely nerf knockback for rocket attacks 35 | 36 | The remainder of the Goblin enemies were left alone (Gunslinger, 37 | Bushwhacker, Sapper, Imp, Flamerider, Frostwretch, Thundercaller, 38 | and Badass Guard). 39 | 40 | Changelog 41 | ========= 42 | 43 | **v1.0.0** - Nov 1, 2022 44 | * Initial release 45 | 46 | Licenses 47 | ======== 48 | 49 | This mod is licensed under [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/). 50 | 51 | The generation script for the mod is licensed under the 52 | [GPLv3 or later](https://www.gnu.org/licenses/quick-guide-gplv3.html). 53 | See [COPYING.txt](../../COPYING.txt) for the full text of the license. 54 | 55 | -------------------------------------------------------------------------------- /Apocalyptech/gameplay_changes/README.md: -------------------------------------------------------------------------------- 1 | Apocalyptech's General Gameplay-Related WL Mods 2 | =============================================== 3 | 4 | See the individual mod folders for full READMEs. 5 | 6 | - **Better Overworld Movement** - Allows sprinting and jumping in the Overworld 7 | - **Early Destruction Rains From The Heavens** - Allows the player to pick up 8 | Destruction Rains From The Heavens right after Karnok's wall, like the other 9 | Zone 3 side quests. 10 | - **Early Overworld Abilities** - Allows the player to dispel barrier hexes, 11 | bypass red Dark Magic barriers, and see hidden bridges from the beginning of 12 | the game. 13 | - **Fragile Containers** - Makes the majority of containers in the game 14 | openable by taking damage from any source. 15 | - **Full Poems on Pickup** - The poet reads the whole poem on pickup, rather than 16 | just the first line. 17 | - **In The Belly Is A Beast: Abridged** - Skips most of the side mission "In The 18 | Belly Is A Beast," and disables its dialogue. 19 | - **Infinite Slide** - Makes the duration of your character's slide effectively 20 | infinite. 21 | - **Movement Speed Cheats** - Move faster! 22 | - **Short Overworld Dungeons** - Shortens all Overworld dungeons (single-room 23 | only, and shorter enemy waves) 24 | - **Skip To DLC Bosses** - Skips directly to the boss chambers when entering 25 | a mirror in Dreamveil Overlook. 26 | 27 | Licenses 28 | ======== 29 | 30 | All Apocalyptech's code in here is licensed under the 31 | [GPLv3 or later](https://www.gnu.org/licenses/quick-guide-gplv3.html). 32 | See [COPYING.txt](../COPYING.txt) for the full text of the license. 33 | 34 | All Apocalyptech's mods in this repository are currently licensed under 35 | [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/). 36 | 37 | -------------------------------------------------------------------------------- /Apocalyptech/gameplay_changes/better_overworld_movement/README.md: -------------------------------------------------------------------------------- 1 | Better Overworld Movement 2 | ========================= 3 | 4 | This mod allows you to jump and sprint while in the Overworld. This 5 | can almost certainly be used for sequence-breaking, should you desire 6 | such shenanigans. 7 | 8 | Users of this mod may be interested in 9 | [Early Overworld Abilities](https://github.com/BLCM/wlmods/wiki/Early%20Overworld%20Abilities) 10 | as well, which allows the player to dispel hex barriers, see hidden 11 | bridges, and bypass red Dark Magic barriers from the beginning of the 12 | game. 13 | 14 | Changelog 15 | ========= 16 | 17 | **v1.0.1** - Jul 31, 2022 18 | * Fixed a bug where the abilities wouldn't unlock properly when 19 | initially loading a game *not* in the Overworld. 20 | 21 | **v1.0.0** - Jul 31, 2022 22 | * Initial release 23 | 24 | Licenses 25 | ======== 26 | 27 | This mod is licensed under [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/). 28 | 29 | The generation script for the mod is licensed under the 30 | [GPLv3 or later](https://www.gnu.org/licenses/quick-guide-gplv3.html). 31 | See [COPYING.txt](../../COPYING.txt) for the full text of the license. 32 | 33 | -------------------------------------------------------------------------------- /Apocalyptech/gameplay_changes/early_destruction_rains/README.md: -------------------------------------------------------------------------------- 1 | Early Destruction Rains From The Heavens 2 | ======================================== 3 | 4 | Allows the side quest Destruction Rains From The Heavens to be picked up 5 | once the player is through Karnok's Wall, like the rest of the Overworld 6 | Zone 3 side quests. 7 | 8 | Changelog 9 | ========= 10 | 11 | **v1.0.0** - Oct 16, 2022 12 | * Initial release 13 | 14 | Licenses 15 | ======== 16 | 17 | This mod is licensed under [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/). 18 | 19 | The generation script for the mod is licensed under the 20 | [GPLv3 or later](https://www.gnu.org/licenses/quick-guide-gplv3.html). 21 | See [COPYING.txt](../../COPYING.txt) for the full text of the license. 22 | 23 | -------------------------------------------------------------------------------- /Apocalyptech/gameplay_changes/early_overworld_abilities/README.md: -------------------------------------------------------------------------------- 1 | Early Overworld Abilities 2 | ========================= 3 | 4 | This mod allows the player to dispel barrier hexes and see hidden bridges 5 | from the very beginning of the game. It also removes the red Dark Magic 6 | barriers entirely. It does not, at the moment, unlock the ability to 7 | smash barriers early, though since that's literally the first thing you 8 | do when in the Overworld, that's not too much of a downside. 9 | 10 | The mod also unlocks the barrier hexes inside Karnok's Wall, so they are 11 | usable on the first runthrough of that map, rather than having to wait 12 | until the end of the level and then backtrack. Barrier hexes in maps 13 | like Ossu-Gol Necropolis are untouched, and might still require the 14 | original mission requirements, in case you're cheekily sequence-breaking 15 | your way to that map early. 16 | 17 | Users of this mod may be interested in 18 | [Better Overworld Movement](https://github.com/BLCM/wlmods/wiki/Better%20Overworld%20Movement) 19 | as well, which makes this mod a bit superfluous by enabling jumping and 20 | sprinting on the Overworld, which allows the player to bypass most of 21 | these barriers pretty easily anyway. 22 | 23 | Changelog 24 | ========= 25 | 26 | **v1.0.0** - Sep 20, 2022 27 | * Initial release 28 | 29 | Licenses 30 | ======== 31 | 32 | This mod is licensed under [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/). 33 | 34 | The generation script for the mod is licensed under the 35 | [GPLv3 or later](https://www.gnu.org/licenses/quick-guide-gplv3.html). 36 | See [COPYING.txt](../../COPYING.txt) for the full text of the license. 37 | 38 | -------------------------------------------------------------------------------- /Apocalyptech/gameplay_changes/fragile_containers/README.md: -------------------------------------------------------------------------------- 1 | Fragile Containers 2 | ================== 3 | 4 | Makes the majority of containers in the game openable by taking damage from any 5 | source -- guns, spells, barrel explosions, etc. 6 | 7 | Some containers in the game are made of sterner stuff than the rest, and can't 8 | be shot open. These are the ones that'll have to be opened the boring old-fashioned 9 | way: 10 | - Dungeon / Random Encounter reward chests 11 | - The red chest in Shattergrave Barrow containing the Tome of Fate 12 | - The pearl-containing chests in Wargtooth Shallows, during Raiders of the Lost Shark 13 | - Bones Three-Wood's reward chests at the end of Ballad of Bones, in Wargtooth 14 | Shallows, and at the end of A Hearty Aye, in Crackmast Cove 15 | - Most of the ammo chests in the Dread Lord / Ancient Powers mini-arena 16 | 17 | Changelog 18 | ========= 19 | 20 | **v1.0.0** - Feb 27, 2023 21 | * Initial release, based on 22 | [BL3's Fragile Containers](https://github.com/BLCM/bl3mods/wiki/Fragile%20Containers) v1.0.0 23 | 24 | Licenses 25 | ======== 26 | 27 | This mod is licensed under [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/). 28 | 29 | The generation script for the mod is licensed under the 30 | [GPLv3 or later](https://www.gnu.org/licenses/quick-guide-gplv3.html). 31 | See [COPYING.txt](../../COPYING.txt) for the full text of the license. 32 | 33 | -------------------------------------------------------------------------------- /Apocalyptech/gameplay_changes/fragile_containers/simpsons-homer.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BLCM/wlmods/0f7f2d414383d3aa3b75d957a08d1c8354cdfef8/Apocalyptech/gameplay_changes/fragile_containers/simpsons-homer.gif -------------------------------------------------------------------------------- /Apocalyptech/gameplay_changes/full_poems_on_pickup/README.md: -------------------------------------------------------------------------------- 1 | Full Poems On Pickup 2 | ==================== 3 | 4 | This mod makes it so picking up the lost poetry pages throughout the game will 5 | cause the full poem to be read, instead of just the first line or two. Note 6 | that Tina's postscript, telling you to head to Brighthoof to hear the whole 7 | poem, will still play after the poem has been completed. 8 | 9 | Two caveats: 10 | * The audio should properly localize (though this is untested), but it's very 11 | likely that the poem subtitles will be hardcoded to the English version. 12 | * Picking up the very last poem omits playing the poem entirely. This is 13 | the case in the vanilla game, too -- you don't even get the first line 14 | for the very last one. 15 | 16 | Changelog 17 | ========= 18 | 19 | **v1.0.0** - Feb 27, 2023 20 | * Initial release 21 | 22 | Licenses 23 | ======== 24 | 25 | This mod is licensed under [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/). 26 | 27 | The generation script for the mod is licensed under the 28 | [GPLv3 or later](https://www.gnu.org/licenses/quick-guide-gplv3.html). 29 | See [COPYING.txt](../../COPYING.txt) for the full text of the license. 30 | 31 | -------------------------------------------------------------------------------- /Apocalyptech/gameplay_changes/in_the_belly_is_a_beast_abridged/README.md: -------------------------------------------------------------------------------- 1 | In The Belly Is A Beast: Abridged 2 | ================================= 3 | 4 | Skips the majority of the Crackmast Cove side mission "In the Belly Is 5 | A Beast," and removes all quest dialogue. Sometimes Otto will teleport 6 | back to the mission start when you're on your way to the whale, but 7 | that doesn't appear to lock up the mission at all -- he'll teleport back 8 | when trapped by Viscetta. 9 | 10 | It's not recommended to activate this mod while you've already got this 11 | quest active. Due to the dialogue-disabling part, there are a few spots 12 | along the journey to the whale where Otto has a tendency to get stuck in 13 | an A-pose, including one spot where it seems to happen with 100% 14 | frequency. (This is why the mod skips the majority of the quest, in 15 | fact -- it was originally meant to just remove the dialogue.) If that 16 | does happen, though, a quit to the main menu and back should, at least, 17 | get you going again. Still, better to only activate the mod *before* 18 | picking up the quest! 19 | 20 | Changelog 21 | ========= 22 | 23 | **v1.0.0** - Oct 19, 2022 24 | * Initial release 25 | 26 | Licenses 27 | ======== 28 | 29 | This mod is licensed under [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/). 30 | 31 | The generation script for the mod is licensed under the 32 | [GPLv3 or later](https://www.gnu.org/licenses/quick-guide-gplv3.html). 33 | See [COPYING.txt](../../COPYING.txt) for the full text of the license. 34 | 35 | -------------------------------------------------------------------------------- /Apocalyptech/gameplay_changes/in_the_belly_is_a_beast_abridged/in_the_belly_is_a_beast_abridged.wlhotfix: -------------------------------------------------------------------------------- 1 | 2 | @title In The Belly Is A Beast: Abridged 3 | @version 1.0.0 4 | @author Apocalyptech 5 | @contact https://apocalyptech.com/contact.php 6 | @categories quest-changes 7 | 8 | @license Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) 9 | @license-url https://creativecommons.org/licenses/by-sa/4.0/ 10 | 11 | @video https://www.youtube.com/watch?v=CH8_nWQ7tnk 12 | 13 | ### 14 | ### Skips the majority of the Crackmast Cove side mission 'In the Belly Is 15 | ### A Beast,' and removes all quest dialogue. Sometimes Otto will teleport 16 | ### back to the mission start when you're on your way to the whale, but 17 | ### that doesn't appear to lock up the mission at all -- he'll teleport back 18 | ### when trapped by Viscetta. 19 | ### 20 | ### Generated by gen_in_the_belly_is_a_beast_abridged.py 21 | ### 22 | 23 | ### 24 | ### Disable all mission dialogue 25 | ### 26 | 27 | SparkLevelPatchEntry,(1,1,0,Pirate_P),/Game/Dialog/Scripts/SideMissions/DialogScript_SQ_Pirate_Whale.DialogScript_SQ_Pirate_Whale,TimeSlots,0,, 28 | 29 | ### 30 | ### Skip the majority of the mission 31 | ### 32 | 33 | SparkLevelPatchEntry,(1,1,0,Pirate_P),/Game/Missions/Side/Zone_2/Pirate/Mission_WhaleTale.Set_FollowOldMan_Arm2_ObjectiveSet,Objectives,0,,(MissionObjective'"/Game/Missions/Side/Zone_2/Pirate/Mission_WhaleTale.Obj_GiveTorso_Objective"',MissionObjective'"/Game/Missions/Side/Zone_2/Pirate/Mission_WhaleTale.Obj_INV_PlayerBlocker_Objective"') 34 | SparkLevelPatchEntry,(1,1,0,Pirate_P),/Game/Missions/Side/Zone_2/Pirate/Mission_WhaleTale.Set_FollowOldMan_Arm2_ObjectiveSet,NextSet,0,,MissionObjectiveSet'"/Game/Missions/Side/Zone_2/Pirate/Mission_WhaleTale.Set_FollowOldManIntoTheWhale_ObjectiveSet"' 35 | SparkLevelPatchEntry,(1,1,0,Pirate_P),/Game/Missions/Side/Zone_2/Pirate/Mission_WhaleTale.Set_FollowOldMan_Arm2_ObjectiveSet,ObjOrderPos,0,,(21120,21520) 36 | 37 | -------------------------------------------------------------------------------- /Apocalyptech/gameplay_changes/infinite_slide/README.md: -------------------------------------------------------------------------------- 1 | Infinite Slide 2 | ============== 3 | 4 | Makes the duration of your character's slide effectively infinite. 5 | It's not *actually* infinite -- you will eventually reach the end 6 | of the slide, but it's set to nearly 4000x longer than the default, 7 | so you should be able to wear out those pants in no time. 8 | 9 | Changelog 10 | ========= 11 | 12 | **v1.0.0** - Oct 10, 2022 13 | * Initial release, based on v1.0.0 of 14 | [BL3's Infinite Slide](https://github.com/BLCM/bl3mods/wiki/Infinite%20Slide) 15 | 16 | Licenses 17 | ======== 18 | 19 | This mod is licensed under [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/). 20 | 21 | The generation script for the mod is licensed under the 22 | [GPLv3 or later](https://www.gnu.org/licenses/quick-guide-gplv3.html). 23 | See [COPYING.txt](../../COPYING.txt) for the full text of the license. 24 | 25 | -------------------------------------------------------------------------------- /Apocalyptech/gameplay_changes/infinite_slide/gen_infinite_slide.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # vim: set expandtab tabstop=4 shiftwidth=4: 3 | 4 | # Copyright 2019-2022 Christopher J. Kucera 5 | # 6 | # 7 | # 8 | # This Wonderlands Hotfix Mod is free software: you can redistribute it 9 | # and/or modify it under the terms of the GNU General Public License 10 | # as published by the Free Software Foundation, either version 3 of 11 | # the License, or (at your option) any later version. 12 | # 13 | # This Wonderlands Hotfix Mod is distributed in the hope that it will 14 | # be useful, but WITHOUT ANY WARRANTY; without even the implied 15 | # warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 16 | # See the GNU General Public License for more details. 17 | # 18 | # You should have received a copy of the GNU General Public License 19 | # along with this Wonderlands Hotfix Mod. If not, see 20 | # . 21 | 22 | import sys 23 | sys.path.append('../../../python_mod_helpers') 24 | from wlhotfixmod.wlhotfixmod import Mod, BVC 25 | 26 | mod = Mod('infinite_slide.wlhotfix', 27 | 'Infinite Slide', 28 | 'Apocalyptech', 29 | [ 30 | "Makes the duration of your character's slide effectively infinite.", 31 | "It's not *actually* infinite -- you will eventually reach the end", 32 | "of the slide, but it's set to nearly 4000x longer than the default,", 33 | "so you should be able to wear out those pants in no time.", 34 | ], 35 | contact='https://apocalyptech.com/contact.php', 36 | lic=Mod.CC_BY_SA_40, 37 | v='1.0.0', 38 | cats='cheat, joke', 39 | videos='https://www.youtube.com/watch?v=UeNMEa3v_q4', 40 | ) 41 | 42 | mod.reg_hotfix(Mod.PATCH, '', 43 | '/Game/PlayerCharacters/_Shared/_Design/Sliding/ControlledMove_Global_Sliding.Default__ControlledMove_Global_Sliding_C', 44 | 'Duration.BaseValueConstant', 45 | 5000) 46 | 47 | # Include this to be able to turn on a dime, as if you're walking or running. 48 | # Don't actually want to include it in here, though. 49 | #mod.reg_hotfix(Mod.PATCH, '', 50 | # '/Game/PlayerCharacters/_Shared/_Design/Sliding/ControlledMove_Global_Sliding.Default__ControlledMove_Global_Sliding_C', 51 | # 'bLimitedLookControl', 52 | # 'True') 53 | 54 | mod.close() 55 | -------------------------------------------------------------------------------- /Apocalyptech/gameplay_changes/infinite_slide/infinite_slide.wlhotfix: -------------------------------------------------------------------------------- 1 | 2 | @title Infinite Slide 3 | @version 1.0.0 4 | @author Apocalyptech 5 | @contact https://apocalyptech.com/contact.php 6 | @categories cheat, joke 7 | 8 | @license Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) 9 | @license-url https://creativecommons.org/licenses/by-sa/4.0/ 10 | 11 | @video https://www.youtube.com/watch?v=UeNMEa3v_q4 12 | 13 | ### 14 | ### Makes the duration of your character's slide effectively infinite. 15 | ### It's not *actually* infinite -- you will eventually reach the end 16 | ### of the slide, but it's set to nearly 4000x longer than the default, 17 | ### so you should be able to wear out those pants in no time. 18 | ### 19 | ### Generated by gen_infinite_slide.py 20 | ### 21 | 22 | SparkPatchEntry,(1,1,0,),/Game/PlayerCharacters/_Shared/_Design/Sliding/ControlledMove_Global_Sliding.Default__ControlledMove_Global_Sliding_C,Duration.BaseValueConstant,0,,5000 23 | 24 | -------------------------------------------------------------------------------- /Apocalyptech/gameplay_changes/movement_speed_cheats/README.md: -------------------------------------------------------------------------------- 1 | Movement Speed Cheats 2 | ===================== 3 | 4 | These mods increase your movement speed in the game, which also applies 5 | to companions (Demi-Lich, Wyvern, and Mushroom). There are three variants: 6 | 7 | * **Reasonable** - Personally, I find this a very pleasant pace at 8 | which to play the game. Still rather cheaty, but not ridiculuous. 9 | * **Extreme** - This is what I use while testing mods. Not really 10 | intended for actual play. 11 | * **Normal** - This sets the movement speeds back to their normal 12 | values. This could be useful if you want to revert a previously- 13 | applied movement speed mod without having to quit the game entirely. 14 | Probably only of interest to mod authors under specific circumstances. 15 | 16 | Note that the speed increases affect sliding as well, which includes the 17 | slides in levels like Tangledrift. A couple of the slides in Tangledrift 18 | specifically become very difficult with the "Reasonable" variant, and may 19 | be nearly impossible with "Extreme." You're likely to get thrown off 20 | the slide when cornering, etc. With Reasonable, at least, they're still 21 | workable if you jump pretty frequently to use air control to align 22 | yourself back up, but that may or may not be feasible with Extreme. 23 | 24 | Changelog 25 | ========= 26 | 27 | **v1.0.0** - Jul 27, 2022 28 | * Initial release, based on v1.1.0 of 29 | [BL3's Movement Speed Cheats](https://github.com/BLCM/bl3mods/wiki/Movement%20Speed%20Cheats%20-%20Reasonable%20Improvements), 30 | 31 | Licenses 32 | ======== 33 | 34 | This mod is licensed under [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/). 35 | 36 | The generation script for the mod is licensed under the 37 | [GPLv3 or later](https://www.gnu.org/licenses/quick-guide-gplv3.html). 38 | See [COPYING.txt](../../COPYING.txt) for the full text of the license. 39 | 40 | -------------------------------------------------------------------------------- /Apocalyptech/gameplay_changes/short_overworld_dungeons/README.md: -------------------------------------------------------------------------------- 1 | Short Overworld Dungeons 2 | ======================== 3 | 4 | Shortens all of the Overworld dungeons in a couple of ways. All 5 | Overworld dungeons will only be a single room long, and many will 6 | have shortened enemy waves, as well. This applies to 7 | mission-related Overworld dungeons as well as the shrine piece 8 | dungeons (and any other connective dungeons which may exist as 9 | well). 10 | 11 | This mod *shouldn't* affect anything about Chaos Chamber runs, or 12 | the DLC "dungeon" runs. 13 | 14 | Changelog 15 | ========= 16 | 17 | **v1.0.0** - Sep 26, 2022 18 | * Initial release 19 | 20 | Licenses 21 | ======== 22 | 23 | This mod is licensed under [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/). 24 | 25 | The generation script for the mod is licensed under the 26 | [GPLv3 or later](https://www.gnu.org/licenses/quick-guide-gplv3.html). 27 | See [COPYING.txt](../../COPYING.txt) for the full text of the license. 28 | 29 | -------------------------------------------------------------------------------- /Apocalyptech/gameplay_changes/skip_to_dlc_bosses/README.md: -------------------------------------------------------------------------------- 1 | Skip To DLC Bosses 2 | ================== 3 | 4 | When entering a mirror in Dreamveil Overlook, to start one of the 5 | DLC missions, this mod will send you straight to the final room 6 | with the boss battle instead. Much more efficient farming! 7 | 8 | There's also a version which, for Shattering Spectreglass (DLC4), 9 | drops you into the Raging Wyborg room instead of Redmourne, in 10 | case you wanted to farm that boss as well (that version will then 11 | continue on to Redmourne normally after that). 12 | 13 | Changelog 14 | ========= 15 | 16 | **v1.0.0** - Sep 29, 2022 17 | * Initial release 18 | 19 | Licenses 20 | ======== 21 | 22 | This mod is licensed under [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/). 23 | 24 | The generation script for the mod is licensed under the 25 | [GPLv3 or later](https://www.gnu.org/licenses/quick-guide-gplv3.html). 26 | See [COPYING.txt](../../COPYING.txt) for the full text of the license. 27 | 28 | -------------------------------------------------------------------------------- /Apocalyptech/gear_changes/README.md: -------------------------------------------------------------------------------- 1 | Apocalyptech's Gear-Related WL Mods 2 | =================================== 3 | 4 | Note that for mods which change part lists for gear, the mod will only apply to 5 | *newly-dropped* items. 6 | 7 | See the individual mod folders for full READMEs. 8 | 9 | - **Enchantment-Spawning Tweaks** - Some collected changes to how Enchantments get 10 | spawned on gear. (All applicable gear, even chances, and supported class weighting.) 11 | - **Morph-A-Gun™ 2000** - A set of mods to make guns morph into other guns the instant 12 | they're fired. 13 | - **Red Text Explainer** - Adds a description of weapon/spell special effects on the card. 14 | - **Torgue AR Full-Auto** - Makes nearly all Torgue ARs full-auto. 15 | - **Uniques are Legendary** - Changes the rarity of unique (usually blue/purple) items 16 | to be legendary instead. 17 | 18 | There's one directory in here which is an interactive utility, rather 19 | than a mod: 20 | 21 | - **Arbitrary Partlocks** - Given a balance object, interactively define partlocks for it. 22 | 23 | Licenses 24 | ======== 25 | 26 | All Apocalyptech's code in here is licensed under the 27 | [GPLv3 or later](https://www.gnu.org/licenses/quick-guide-gplv3.html). 28 | See [COPYING.txt](../COPYING.txt) for the full text of the license. 29 | 30 | All Apocalyptech's mods in this repository are currently licensed under 31 | [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/). 32 | 33 | -------------------------------------------------------------------------------- /Apocalyptech/gear_changes/arbitrary_partlocks/.gitignore: -------------------------------------------------------------------------------- 1 | *.txt 2 | -------------------------------------------------------------------------------- /Apocalyptech/gear_changes/arbitrary_partlocks/README.md: -------------------------------------------------------------------------------- 1 | Arbitrary Partlocks 2 | =================== 3 | 4 | This isn't actually a mod itself. Rather, it's an interactive script which can 5 | *create* a mod for you, which will allow you to partlock specific balances 6 | however you like. For instance, if you always want to have a specific scope 7 | on sniper rifles, or a particular barrel on ARs, you'd be able to do so in 8 | here. 9 | 10 | The UI is a bit weird, and I'm not going to go into detail here (sorry, perhaps 11 | later when I don't have a million READMEs to write), but hopefully it's 12 | self-explanatory enough. 13 | 14 | You *will* need to install the `colorama` Python module in order to run this, 15 | and it requires a working `wldata` installation with access to extracted WL 16 | data (see the `python_mod_helpers` directory at the top of this repo). 17 | 18 | Changelog 19 | ========= 20 | 21 | **v1.0.0** - Jul 27, 2022 22 | * Initial WL release, based on v1.1.0 of the 23 | [BL3 version](https://github.com/BLCM/bl3mods/tree/master/Apocalyptech/gear_changes/arbitrary_partlocks) 24 | 25 | Licenses 26 | ======== 27 | 28 | This code is licensed under the [GPLv3 or later](https://www.gnu.org/licenses/quick-guide-gplv3.html). 29 | See [COPYING.txt](../../COPYING.txt) for the full text of the license. 30 | 31 | -------------------------------------------------------------------------------- /Apocalyptech/gear_changes/enchantment_spawning_tweaks/README.md: -------------------------------------------------------------------------------- 1 | Enchantment-Spawning Tweaks 2 | =========================== 3 | 4 | Does a few things to how Enchantments are spawned onto gear in the 5 | game, namely: 6 | 7 | 1. Ensures that all Guns, Melee Weapons, Wards, and Spells can 8 | get enchantments, apart from Used Antique Greatbow *(you should 9 | have thought about that before firing it, you monster)*. This 10 | overwhelmingly only affects white-rarity gear, though it does 11 | also fix up Skullantir and a few other mission-specific items. 12 | 13 | 2. Flattens enchantment part weights, so that each enchantment is 14 | equally likely to spawn. 15 | 16 | 3. Makes class-specific enchantments use the game's built-in 17 | character-weighting attributes, so class-specific enchantments 18 | are more likely to show up when a player with that class is 19 | currently in-game, compared to class-specific enchantments for 20 | classes *not* in the game. This is fully compatible with my 21 | [No Wasted Equipment](https://github.com/BLCM/wlmods/wiki/No%20Wasted%20Equipment) 22 | mod, and is intended to be used in conjunction with it. When 23 | the two are used together, class-specific enchantments should 24 | be overwhelmingly matched to the classes in-use in the game. 25 | 26 | Changelog 27 | ========= 28 | 29 | **v1.0.0** - Oct 9, 2022 30 | * Initial release 31 | 32 | Licenses 33 | ======== 34 | 35 | This mod is licensed under [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/). 36 | 37 | The generation script for the mod is licensed under the 38 | [GPLv3 or later](https://www.gnu.org/licenses/quick-guide-gplv3.html). 39 | See [COPYING.txt](../../COPYING.txt) for the full text of the license. 40 | 41 | -------------------------------------------------------------------------------- /Apocalyptech/gear_changes/morph_a_gun/README.md: -------------------------------------------------------------------------------- 1 | Morph-A-Gun™ 2000 2 | ================= 3 | 4 | This is a collection of mods which makes guns turn into different guns the 5 | moment they're fired. It does this by abusing the unique ability of the Antique 6 | Greatbow, which was hardcoded to morph into a Used Antique Greatbow if fired 7 | once. The mod applies that ability to *all* relevant guns, and tweaks it so 8 | the ability morphs to a wide range of gear instead of just Used Antique Greatbow. 9 | 10 | There are currently three variants available: 11 | 12 | * **Legendaries**: The effect is applied to only legendary/unique guns 13 | (basically anything with red text). The morphed gun will always be another 14 | legendary/unique. 15 | * **All Guns**: The effect is applied to literally every gun in the game. In 16 | this variant, there's an equal chance to "roll" each level of rarity. So 17 | you should expect a legendary about every 1 in 5, a purple every 1 in 5, etc. 18 | * **World Drops**: The effect is applied to literally every gun in the game. 19 | In this variant, the replacement is chosen by a world drop, so this will 20 | factor in your current Loot Luck, etc. Early in a game, you'll have mostly 21 | whites+greens, but if you've been diligent with collecting Luck Dice, the 22 | quality would be quite good by the end. 23 | 24 | **Note:** It's highly recommended to use my [Expanded Legendary Pools mod](https://github.com/BLCM/wlmods/wiki/Expanded%20Legendary%20Pools) 25 | along with this mod -- all variants apply the Antique Greatbow effect to all 26 | legendary/unique gear in the game, but they use the main game loot pools to 27 | "drop" the new guns. So legendary/unique gear that's *not* world-droppable 28 | won't end up in the mix, unless you're also using Expanded Legendary Pools. 29 | 30 | Note too that the Used Antique Greatbow is explicitly omitted from this mod, 31 | so it will forever remain a Used Antique Greatbow. You should've thought more 32 | carefully about that in the first place, you monster. 33 | 34 | TODO 35 | ==== 36 | 37 | * It looks like alt-fire modes don't trigger the ability, alas! I suspect 38 | there's nothing we can do about it with "regular" hotfix modding, but 39 | perhaps once we have a Wonderlands PythonSDK... 40 | 41 | Changelog 42 | ========= 43 | 44 | **v1.2.0** - Oct 25, 2022 45 | * Fixed non-elemental guns -- turns out that had been broken since the 46 | DLC4 release! 47 | 48 | **v1.1.0** - Aug 12, 2022 49 | * Updated with new DLC4 gear 50 | 51 | **v1.0.0** - Aug 4, 2022 52 | * Initial release 53 | 54 | Licenses 55 | ======== 56 | 57 | This mod is licensed under [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/). 58 | 59 | The generation script for the mod is licensed under the 60 | [GPLv3 or later](https://www.gnu.org/licenses/quick-guide-gplv3.html). 61 | See [COPYING.txt](../../COPYING.txt) for the full text of the license. 62 | 63 | -------------------------------------------------------------------------------- /Apocalyptech/gear_changes/red_text_explainer/README.md: -------------------------------------------------------------------------------- 1 | Red Text Explainer 2 | ================== 3 | 4 | This mod puts english descriptions of weapon and spell special effects right on 5 | the item card, in parentheses, after the red text. It's a Wonderlands version 6 | of Ezeith's BL2 mod and Apoc's BL3 mod of the same name. Wards, Melee Weapons, 7 | Armor, Rings, and Amulets are omitted because Wonderlands already includes 8 | descriptions for nearly all of them. 9 | 10 | In cases where there's already an on-card explanation, I've tried to include 11 | "all effects on card" instead of a custom description, but there are a few 12 | cases where that could still be tweaked, so you'll have a double-description. 13 | 14 | This mod should be current up through DLC4 (Shattering Spectreglass). 15 | 16 | **Translation Information:** The code which generates this mod now supports 17 | translations pretty easily. If you want to contribute a translation to this 18 | mod, [grab a copy of the master translation template](https://raw.githubusercontent.com/BLCM/wlmods/master/Apocalyptech/gear_changes/red_text_explainer/locales/base.pot), 19 | fill in translations on the `msgstr` lines in there, and send it my way. Be 20 | sure to put in your name/username/handle as a translated string in there. 21 | (You are also, of course, welcome to just upload your own translated version 22 | of this mod, if you don't want to bother with all that.) Feel free to contact 23 | me if you have any questions about that! 24 | 25 | Changelog 26 | ========= 27 | 28 | **v1.1.0** - Aug 11, 2022 29 | * Updated with DLC4 gear (though all relevant items already had descriptions 30 | on the card) 31 | 32 | **v1.0.0** - Jul 28, 2022 33 | * Initial version, based on v1.6.0 of 34 | [BL3's Red Text Explainer](https://github.com/BLCM/bl3mods/wiki/Red%20Text%20Explainer) 35 | 36 | Licenses 37 | ======== 38 | 39 | This mod is licensed under [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/). 40 | 41 | The generation script for the mod is licensed under the 42 | [GPLv3 or later](https://www.gnu.org/licenses/quick-guide-gplv3.html). 43 | See [COPYING.txt](../../COPYING.txt) for the full text of the license. 44 | 45 | -------------------------------------------------------------------------------- /Apocalyptech/gear_changes/red_text_explainer/automagic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BLCM/wlmods/0f7f2d414383d3aa3b75d957a08d1c8354cdfef8/Apocalyptech/gear_changes/red_text_explainer/automagic.png -------------------------------------------------------------------------------- /Apocalyptech/gear_changes/red_text_explainer/great_wave.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BLCM/wlmods/0f7f2d414383d3aa3b75d957a08d1c8354cdfef8/Apocalyptech/gear_changes/red_text_explainer/great_wave.png -------------------------------------------------------------------------------- /Apocalyptech/gear_changes/red_text_explainer/locales/en/LC_MESSAGES/base.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BLCM/wlmods/0f7f2d414383d3aa3b75d957a08d1c8354cdfef8/Apocalyptech/gear_changes/red_text_explainer/locales/en/LC_MESSAGES/base.mo -------------------------------------------------------------------------------- /Apocalyptech/gear_changes/red_text_explainer/translations-01-update_templates.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # vim: set expandtab tabstop=4 shiftwidth=4: 3 | 4 | # Script to update our main translation template, and then update 5 | # each translation's copy of it 6 | 7 | echo "Updating master translation template..." 8 | pygettext.py -d base -o locales/base.pot gen_red_text_explainer.py 9 | echo 10 | 11 | for pofile in locales/*/LC_MESSAGES/base.po 12 | do 13 | echo "Merging changes to ${pofile}" 14 | echo "=================================================" 15 | msgmerge -U --backup=none --no-wrap "${pofile}" locales/base.pot 16 | echo 17 | done 18 | 19 | echo "Done!" 20 | echo 21 | 22 | -------------------------------------------------------------------------------- /Apocalyptech/gear_changes/red_text_explainer/translations-02-compile_trans.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # vim: set expandtab tabstop=4 shiftwidth=4: 3 | 4 | # Script to compile translations. We could have this take an 5 | # arg and just do one, but we may as well just do all of 'em. 6 | 7 | for transdir in locales/?? 8 | do 9 | echo "Processing ${transdir}" 10 | echo "=====================" 11 | 12 | msgfmt "${transdir}/LC_MESSAGES/base.po" -o "${transdir}/LC_MESSAGES/base.mo" 13 | done 14 | 15 | echo 16 | echo "Done!" 17 | echo 18 | 19 | -------------------------------------------------------------------------------- /Apocalyptech/gear_changes/torgue_ar_full_auto/README.md: -------------------------------------------------------------------------------- 1 | Torgue AR Full-Auto 2 | =================== 3 | 4 | Makes all Torgue ARs full-auto. Not much else to say! 5 | 6 | Changelog 7 | ========= 8 | 9 | **v1.0.0** - Jul 28, 2022 10 | * Initial release, based on v1.0.0 of 11 | [BL3's Torgue AR Full-Auto](https://github.com/BLCM/bl3mods/wiki/Torgue%20ARs%3A%20Full%20Auto) 12 | 13 | Licenses 14 | ======== 15 | 16 | This mod is licensed under [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/). 17 | 18 | The generation script for the mod is licensed under the 19 | [GPLv3 or later](https://www.gnu.org/licenses/quick-guide-gplv3.html). 20 | See [COPYING.txt](../../COPYING.txt) for the full text of the license. 21 | 22 | -------------------------------------------------------------------------------- /Apocalyptech/gear_changes/torgue_ar_full_auto/gen_torgue_ar_full_auto.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # vim: set expandtab tabstop=4 shiftwidth=4: 3 | 4 | # Copyright 2019-2022 Christopher J. Kucera 5 | # 6 | # 7 | # 8 | # This Wonderlands Hotfix Mod is free software: you can redistribute it 9 | # and/or modify it under the terms of the GNU General Public License 10 | # as published by the Free Software Foundation, either version 3 of 11 | # the License, or (at your option) any later version. 12 | # 13 | # This Wonderlands Hotfix Mod is distributed in the hope that it will 14 | # be useful, but WITHOUT ANY WARRANTY; without even the implied 15 | # warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 16 | # See the GNU General Public License for more details. 17 | # 18 | # You should have received a copy of the GNU General Public License 19 | # along with this Wonderlands Hotfix Mod. If not, see 20 | # . 21 | 22 | import sys 23 | sys.path.append('../../../python_mod_helpers') 24 | from wlhotfixmod.wlhotfixmod import Mod, BVCF 25 | 26 | mod = Mod('torgue_ar_full_auto.wlhotfix', 27 | 'Torgue ARs: Full Auto', 28 | 'Apocalyptech', 29 | [ 30 | "Makes Torgue ARs full auto.", 31 | ], 32 | contact='https://apocalyptech.com/contact.php', 33 | lic=Mod.CC_BY_SA_40, 34 | v='1.0.0', 35 | cats='gear-ar, gear-brand', 36 | ) 37 | 38 | for obj_name, attr_name in [ 39 | ('/Game/Gear/Weapons/AssaultRifles/Torgue/_Shared/_Design/Parts/Barrel/Barrel_01/Part_AR_TOR_Barrel_01', None), 40 | ('/Game/Gear/Weapons/AssaultRifles/Torgue/_Shared/_Design/Parts/Barrel/Barrel_02/Part_AR_TOR_Barrel_02', None), 41 | ('/Game/Gear/Weapons/AssaultRifles/Torgue/_Shared/_Design/Parts/Barrel/Barrel_03/Part_AR_TOR_Barrel_03', None), 42 | ('/Game/Gear/Weapons/AssaultRifles/Torgue/_Shared/_Design/Parts/Barrel/Barrel_04/Part_AR_TOR_Barrel_04', None), 43 | ]: 44 | last_bit = obj_name.split('/')[-1] 45 | if attr_name is None: 46 | attr_name = 'WeaponUseComponent_BPWeaponFireProjectileComponent_Torgue' 47 | mod.reg_hotfix(Mod.PATCH, '', 48 | f'{obj_name}.{last_bit}:AspectList_WeaponUseModeAspectData.{attr_name}', 49 | 'AutomaticBurstCount', 50 | '(Value=0,BaseValue=0)') 51 | 52 | mod.close() 53 | -------------------------------------------------------------------------------- /Apocalyptech/gear_changes/torgue_ar_full_auto/torgue_ar_full_auto.wlhotfix: -------------------------------------------------------------------------------- 1 | 2 | @title Torgue ARs: Full Auto 3 | @version 1.0.0 4 | @author Apocalyptech 5 | @contact https://apocalyptech.com/contact.php 6 | @categories gear-ar, gear-brand 7 | 8 | @license Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) 9 | @license-url https://creativecommons.org/licenses/by-sa/4.0/ 10 | 11 | ### 12 | ### Makes Torgue ARs full auto. 13 | ### 14 | ### Generated by gen_torgue_ar_full_auto.py 15 | ### 16 | 17 | SparkPatchEntry,(1,1,0,),/Game/Gear/Weapons/AssaultRifles/Torgue/_Shared/_Design/Parts/Barrel/Barrel_01/Part_AR_TOR_Barrel_01.Part_AR_TOR_Barrel_01:AspectList_WeaponUseModeAspectData.WeaponUseComponent_BPWeaponFireProjectileComponent_Torgue,AutomaticBurstCount,0,,(Value=0,BaseValue=0) 18 | SparkPatchEntry,(1,1,0,),/Game/Gear/Weapons/AssaultRifles/Torgue/_Shared/_Design/Parts/Barrel/Barrel_02/Part_AR_TOR_Barrel_02.Part_AR_TOR_Barrel_02:AspectList_WeaponUseModeAspectData.WeaponUseComponent_BPWeaponFireProjectileComponent_Torgue,AutomaticBurstCount,0,,(Value=0,BaseValue=0) 19 | SparkPatchEntry,(1,1,0,),/Game/Gear/Weapons/AssaultRifles/Torgue/_Shared/_Design/Parts/Barrel/Barrel_03/Part_AR_TOR_Barrel_03.Part_AR_TOR_Barrel_03:AspectList_WeaponUseModeAspectData.WeaponUseComponent_BPWeaponFireProjectileComponent_Torgue,AutomaticBurstCount,0,,(Value=0,BaseValue=0) 20 | SparkPatchEntry,(1,1,0,),/Game/Gear/Weapons/AssaultRifles/Torgue/_Shared/_Design/Parts/Barrel/Barrel_04/Part_AR_TOR_Barrel_04.Part_AR_TOR_Barrel_04:AspectList_WeaponUseModeAspectData.WeaponUseComponent_BPWeaponFireProjectileComponent_Torgue,AutomaticBurstCount,0,,(Value=0,BaseValue=0) 21 | 22 | -------------------------------------------------------------------------------- /Apocalyptech/gear_changes/uniques_are_legendary/README.md: -------------------------------------------------------------------------------- 1 | Uniques Are Legendary 2 | ===================== 3 | 4 | Turns all red-text weapons/items into legendary rarity, if they aren't already. 5 | Mostly just intended to be used along with my Expanded Legendary Pools mod, to 6 | make the dropped gear more noticeable. Without that mod, I think these mostly 7 | just come as mission rewards or as mission items, so this mod would be a bit 8 | pointless. 9 | 10 | I'm actually not sure if being legendary has an effect on item stats; it's 11 | possible that this mod buffs up some items here. 12 | 13 | Changelog 14 | ========= 15 | 16 | **v1.1.0** - Aug 12, 2022 17 | * Updated with DLC4 items (just the Blightcaller versions of Armor That Sucks 18 | and Harmonious Dingledangle) 19 | 20 | **v1.0.1** - Jul 29, 2022 21 | * Removed useless/unfinished "Big B Mittens" armor 22 | 23 | **v1.0.0** - Jul 27, 2022 24 | * Initial version, based on v1.0.0 of 25 | [BL3's Uniques Are Legendary](https://github.com/BLCM/bl3mods/wiki/Uniques%20Are%20Legendary) 26 | 27 | Licenses 28 | ======== 29 | 30 | This mod is licensed under [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/). 31 | 32 | The generation script for the mod is licensed under the 33 | [GPLv3 or later](https://www.gnu.org/licenses/quick-guide-gplv3.html). 34 | See [COPYING.txt](../../COPYING.txt) for the full text of the license. 35 | 36 | -------------------------------------------------------------------------------- /Apocalyptech/loot_changes/README.md: -------------------------------------------------------------------------------- 1 | Apocalyptech's Loot-Related WL Mods 2 | =================================== 3 | 4 | See the individual mod folders for full READMEs. 5 | 6 | - **Chaos Gear Spawns** - Alters how Chaos-infused gear (Chaotic, Volatile, Primordial, 7 | or Ascended) are spawned in Chaos Mode. 8 | - **Customization Drop Rate** - A set of mods to change the drop rates for customizations, 9 | from none at all, to much more than usual. 10 | - **Early Bloomer**- Unlock all weapon types, elements, manufacturers, 11 | enchantments, etc, from the very beginning of the game. 12 | - **Expanded Legendary Pools** - Adds all legendary/unique items to the world drop pools. 13 | - **Fix Broken Loot Patterns** - Fixes the loot drop pattern for Knight Mare. 14 | - **Guaranteed Boss Drops** - Bosses/minibosses will always drop from their unique-drop pools. 15 | - **Guaranteed Enchantments** - All dropped/looted gear will be enchanted, if the gear 16 | supports it. 17 | - **More Elemental Weapons** - Increases the probability of rolling the elemental version 18 | of any given weapon. 19 | - **No Loot Luck: Better Loot Edition** - Completely removes the effect of Loot Luck on 20 | gear drops, setting them instead to traditional Better Loot quality weighting. 21 | - **No Wasted Equipment** - Armor and Amulet parts will always match the player(s) 22 | currently in the game. Will eventually support Enchantments too, but that isn't done yet. 23 | - **Randomized Boss Drops** - Boss/miniboss drops will be randomized, instead of locked 24 | to their usual unique drops. 25 | - **Randomized Mission Rewards** - Mission reward items will be randomized. 26 | - **Red Chest Timer Reset** - Prevents red chests from saving their open state to the 27 | savegame, so they can be re-opened more quickly. 28 | - **Starting Gear** - Some alternate contents for the initial starting 29 | gear pickups/chests, in Snoring Valley. 30 | 31 | Licenses 32 | ======== 33 | 34 | All Apocalyptech's code in here is licensed under the 35 | [GPLv3 or later](https://www.gnu.org/licenses/quick-guide-gplv3.html). 36 | See [COPYING.txt](../COPYING.txt) for the full text of the license. 37 | 38 | All Apocalyptech's mods in this repository are currently licensed under 39 | [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/). 40 | 41 | -------------------------------------------------------------------------------- /Apocalyptech/loot_changes/chaos_gear_spawns/README.md: -------------------------------------------------------------------------------- 1 | Chaos Gear Spawns 2 | ================= 3 | 4 | This is actually a collection of mods which alter how Chaos Gear is spawned 5 | when in Chaos Mode. Ordinarily, Chaotic, Volatile, Primordial, and Ascended 6 | gear are unlocked by specific Chaos Levels, and drops may not end up with 7 | a Chaos buff of their own. These mods alter that spawning behavior in 8 | various ways. 9 | 10 | The available variants are: 11 | 12 | * **Defaults** - This can be used to go back to the default configuration. 13 | Possibly handy if you want to switch back without having to restart the 14 | game. 15 | * **Guaranteed** - All dropped gear will have a Chaos level attached to it, 16 | when in Chaos Mode. Otherwise, continues to use the stock game weights 17 | for which one gets spawned. As of the September 2022 patch, by the time 18 | you get to Chaos 50 or so, you'll actually be slightly better off with 19 | the default Chaos config, though they even out awhile after that. 20 | * **No Chaos Gear** - Prevents Chaos-buffed gear from spawning at all. 21 | Useful if you want to use Chaos Mode as a "simple" difficulty slider, 22 | without introducing another keep/throw-away factor for gear. 23 | * **All Chaotic** - All dropped gear will be Chaotic, in Chaos Mode. 24 | * **All Volatile** - All dropped gear will be Volatile, in Chaos Mode. 25 | * **All Primordial** - All dropped gear will be Primordial, in Chaos Mode. 26 | * **All Ascended** - All dropped gear will be Ascended, in Chaos Mode. 27 | * **Just Regular and Ascended** - Restricts drops to either normal or 28 | Ascended. 29 | * **Just Regular, Primordial, and Ascended** - Restricts drops to be 30 | normal, Primordial, or Ascended. 31 | 32 | Changelog 33 | ========= 34 | 35 | **v1.1.1** - Oct 3, 2022 36 | * Removed setting of "catchup" variables internally, which are actually 37 | used to specify how many Chaos levels are gained with each chamber. 38 | Setting them in here might've gotten in the way of future mods, by 39 | accident. 40 | 41 | *(no version number change)* - Sep 30, 2022 42 | * Added "Just Regular and Ascended" and "Just Regular, Primordial, and 43 | Ascended" variants, from skruntskrunt 44 | 45 | **v1.1.0** - Sep 29, 2022 46 | * Updated with compatibility with today's v1.0.6 Wonderlands patch 47 | 48 | **v1.0.0** - Aug 1, 2022 49 | * Initial release 50 | 51 | Licenses 52 | ======== 53 | 54 | This mod is licensed under [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/). 55 | 56 | -------------------------------------------------------------------------------- /Apocalyptech/loot_changes/customization_drop_rate/README.md: -------------------------------------------------------------------------------- 1 | Customization Drop Rate 2 | ======================= 3 | 4 | This is a collection of mods which lets you determine how often cosmetic items 5 | will drop from the game. They could be useful both to folks looking to acquire 6 | all cosmetic items, or to turn off cosmetic drops entirely, if you've already 7 | collected the lot. 8 | 9 | The default drop rate for cosmetics in the game varies depending on the enemy 10 | type -- this mod just improves each by a set factor. The four variants 11 | available here are: 12 | 13 | * **None** - 0x 14 | * **Improved** - 6x 15 | * **Frequent** - 12x 16 | * **Constant** - 24x 17 | 18 | Given the volume of cosmetics, even at 24x it'll probably still take you ages to 19 | collect them all. Note that *dedicated* cosmetic drops (if there are any in the 20 | game) may be unaffected by this. As of initial release, the mod hasn't been 21 | tested super thoroughly, so there could be areas which need fixing up. 22 | 23 | As of v1.2.0, the "None" variant of this mod also prevents cosmetics from 24 | spawning at the Wheel of Fate, in Dreamveil Overlook, by doubling up on the 25 | "guns" option. So guns will be more likely than other results, but the 26 | probabilities of the other options has not changed. 27 | 28 | Changelog 29 | ========= 30 | 31 | **v1.2.0** - Aug 16, 2022 32 | * Alter Wheel of Fate no-customization behavior: instead of trying to be clever 33 | with loot pools, just redirect customization rolls to "guns." 34 | 35 | **v1.1.0** - Aug 16, 2022 36 | * Prevent cosmetics from spawning at the Wheel of Fate, in Dreamveil Overlook. 37 | 38 | **v1.0.1** - Aug 10, 2022 39 | * Updated "None" preset to prevent customization drops while fulfilling level 40 | challenges: Lost Marbles, Poetry Pages, and Rune Switch puzzles. 41 | 42 | **v1.0.0** - Jul 29, 2022 43 | * Initial release, based loosely on v1.2.1 of 44 | [BL3's Customization Drop Rate](https://github.com/BLCM/bl3mods/wiki/Customization%20Drop%20Rate%3A%20None) 45 | 46 | Licenses 47 | ======== 48 | 49 | This mod is licensed under [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/). 50 | 51 | The generation script for the mod is licensed under the 52 | [GPLv3 or later](https://www.gnu.org/licenses/quick-guide-gplv3.html). 53 | See [COPYING.txt](../../COPYING.txt) for the full text of the license. 54 | 55 | -------------------------------------------------------------------------------- /Apocalyptech/loot_changes/customization_drop_rate/customization_drop_rate_12x.wlhotfix: -------------------------------------------------------------------------------- 1 | 2 | @title Customization Drop Rate: Frequent (12x) 3 | @version 1.2.0 4 | @author Apocalyptech 5 | @contact https://apocalyptech.com/contact.php 6 | @categories enemy-drops 7 | 8 | @license Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) 9 | @license-url https://creativecommons.org/licenses/by-sa/4.0/ 10 | 11 | ### 12 | ### This improves the customization drop rate by 12x, for most enemy drops. 13 | ### Specific customization drops from a particular enemy haven't been touched. 14 | ### 15 | ### Generated by gen_customization_drop_rate.py 16 | ### 17 | 18 | ### 19 | ### Scale cosmetics drop chance by 12x 20 | ### 21 | 22 | SparkPatchEntry,(1,2,0,),/Game/GameData/Loot/ItemPools/Table_SimpleLootDropChances.Table_SimpleLootDropChances,Customization_Army,Drop_Chances_2_2811F91D40768DBD4FEBB791F8286836,0,,0.24 23 | SparkPatchEntry,(1,2,0,),/Game/GameData/Loot/ItemPools/Table_SimpleLootDropChances.Table_SimpleLootDropChances,Customization_Badass,Drop_Chances_2_2811F91D40768DBD4FEBB791F8286836,0,,0.6 24 | SparkPatchEntry,(1,2,0,),/Game/GameData/Loot/ItemPools/Table_SimpleLootDropChances.Table_SimpleLootDropChances,Customization_Boss,Drop_Chances_2_2811F91D40768DBD4FEBB791F8286836,0,,1 25 | SparkPatchEntry,(1,2,0,),/Game/GameData/Loot/ItemPools/Table_SimpleLootDropChances.Table_SimpleLootDropChances,Customization_EndlessBoss,Drop_Chances_2_2811F91D40768DBD4FEBB791F8286836,0,,1 26 | SparkPatchEntry,(1,2,0,),/Game/GameData/Loot/ItemPools/Table_SimpleLootDropChances.Table_SimpleLootDropChances,Customization_MimicStandard,Drop_Chances_2_2811F91D40768DBD4FEBB791F8286836,0,,1 27 | SparkPatchEntry,(1,2,0,),/Game/GameData/Loot/ItemPools/Table_SimpleLootDropChances.Table_SimpleLootDropChances,Customization_MimicBadass,Drop_Chances_2_2811F91D40768DBD4FEBB791F8286836,0,,1 28 | SparkPatchEntry,(1,2,0,),/Game/GameData/Loot/ItemPools/Table_SimpleLootDropChances.Table_SimpleLootDropChances,Customization_StandardEnemy,Drop_Chances_2_2811F91D40768DBD4FEBB791F8286836,0,,0.12 29 | 30 | -------------------------------------------------------------------------------- /Apocalyptech/loot_changes/customization_drop_rate/customization_drop_rate_24x.wlhotfix: -------------------------------------------------------------------------------- 1 | 2 | @title Customization Drop Rate: Constant (24x) 3 | @version 1.2.0 4 | @author Apocalyptech 5 | @contact https://apocalyptech.com/contact.php 6 | @categories enemy-drops 7 | 8 | @license Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) 9 | @license-url https://creativecommons.org/licenses/by-sa/4.0/ 10 | 11 | ### 12 | ### This improves the customization drop rate by 24x, for most enemy drops. 13 | ### Specific customization drops from a particular enemy haven't been touched. 14 | ### 15 | ### This will seriously interfere with your Lost Loot machine, so only really 16 | ### recommended if you're chasing down those last few customizations. 17 | ### 18 | ### Generated by gen_customization_drop_rate.py 19 | ### 20 | 21 | ### 22 | ### Scale cosmetics drop chance by 24x 23 | ### 24 | 25 | SparkPatchEntry,(1,2,0,),/Game/GameData/Loot/ItemPools/Table_SimpleLootDropChances.Table_SimpleLootDropChances,Customization_Army,Drop_Chances_2_2811F91D40768DBD4FEBB791F8286836,0,,0.48 26 | SparkPatchEntry,(1,2,0,),/Game/GameData/Loot/ItemPools/Table_SimpleLootDropChances.Table_SimpleLootDropChances,Customization_Badass,Drop_Chances_2_2811F91D40768DBD4FEBB791F8286836,0,,1 27 | SparkPatchEntry,(1,2,0,),/Game/GameData/Loot/ItemPools/Table_SimpleLootDropChances.Table_SimpleLootDropChances,Customization_Boss,Drop_Chances_2_2811F91D40768DBD4FEBB791F8286836,0,,1 28 | SparkPatchEntry,(1,2,0,),/Game/GameData/Loot/ItemPools/Table_SimpleLootDropChances.Table_SimpleLootDropChances,Customization_EndlessBoss,Drop_Chances_2_2811F91D40768DBD4FEBB791F8286836,0,,1 29 | SparkPatchEntry,(1,2,0,),/Game/GameData/Loot/ItemPools/Table_SimpleLootDropChances.Table_SimpleLootDropChances,Customization_MimicStandard,Drop_Chances_2_2811F91D40768DBD4FEBB791F8286836,0,,1 30 | SparkPatchEntry,(1,2,0,),/Game/GameData/Loot/ItemPools/Table_SimpleLootDropChances.Table_SimpleLootDropChances,Customization_MimicBadass,Drop_Chances_2_2811F91D40768DBD4FEBB791F8286836,0,,1 31 | SparkPatchEntry,(1,2,0,),/Game/GameData/Loot/ItemPools/Table_SimpleLootDropChances.Table_SimpleLootDropChances,Customization_StandardEnemy,Drop_Chances_2_2811F91D40768DBD4FEBB791F8286836,0,,0.24 32 | 33 | -------------------------------------------------------------------------------- /Apocalyptech/loot_changes/customization_drop_rate/customization_drop_rate_6x.wlhotfix: -------------------------------------------------------------------------------- 1 | 2 | @title Customization Drop Rate: Improved (6x) 3 | @version 1.2.0 4 | @author Apocalyptech 5 | @contact https://apocalyptech.com/contact.php 6 | @categories enemy-drops 7 | 8 | @license Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) 9 | @license-url https://creativecommons.org/licenses/by-sa/4.0/ 10 | 11 | ### 12 | ### This improves the customization drop rate by 6x, for most enemy drops. 13 | ### Specific customization drops from a particular enemy haven't been touched. 14 | ### 15 | ### Generated by gen_customization_drop_rate.py 16 | ### 17 | 18 | ### 19 | ### Scale cosmetics drop chance by 6x 20 | ### 21 | 22 | SparkPatchEntry,(1,2,0,),/Game/GameData/Loot/ItemPools/Table_SimpleLootDropChances.Table_SimpleLootDropChances,Customization_Army,Drop_Chances_2_2811F91D40768DBD4FEBB791F8286836,0,,0.12 23 | SparkPatchEntry,(1,2,0,),/Game/GameData/Loot/ItemPools/Table_SimpleLootDropChances.Table_SimpleLootDropChances,Customization_Badass,Drop_Chances_2_2811F91D40768DBD4FEBB791F8286836,0,,0.3 24 | SparkPatchEntry,(1,2,0,),/Game/GameData/Loot/ItemPools/Table_SimpleLootDropChances.Table_SimpleLootDropChances,Customization_Boss,Drop_Chances_2_2811F91D40768DBD4FEBB791F8286836,0,,1 25 | SparkPatchEntry,(1,2,0,),/Game/GameData/Loot/ItemPools/Table_SimpleLootDropChances.Table_SimpleLootDropChances,Customization_EndlessBoss,Drop_Chances_2_2811F91D40768DBD4FEBB791F8286836,0,,0.6 26 | SparkPatchEntry,(1,2,0,),/Game/GameData/Loot/ItemPools/Table_SimpleLootDropChances.Table_SimpleLootDropChances,Customization_MimicStandard,Drop_Chances_2_2811F91D40768DBD4FEBB791F8286836,0,,1 27 | SparkPatchEntry,(1,2,0,),/Game/GameData/Loot/ItemPools/Table_SimpleLootDropChances.Table_SimpleLootDropChances,Customization_MimicBadass,Drop_Chances_2_2811F91D40768DBD4FEBB791F8286836,0,,1 28 | SparkPatchEntry,(1,2,0,),/Game/GameData/Loot/ItemPools/Table_SimpleLootDropChances.Table_SimpleLootDropChances,Customization_StandardEnemy,Drop_Chances_2_2811F91D40768DBD4FEBB791F8286836,0,,0.06 29 | 30 | -------------------------------------------------------------------------------- /Apocalyptech/loot_changes/early_bloomer/README.md: -------------------------------------------------------------------------------- 1 | Early Bloomer 2 | ============= 3 | 4 | Unlocks all weapon types, elements, manufacturers, enchantments, etc, from the very 5 | beginning of the game, in addition to unlocking all available inventory slots. 6 | 7 | The first few pickups/chests encountered in Snoring Valley are still locked to 8 | providing some specific gear (unless you also make use of my Starting Gear mod), 9 | but you'll start seeing the full variety of gear from enemy drops even in that 10 | starting level. 11 | 12 | Changelog 13 | ========= 14 | 15 | **v1.1.0** - Aug 12, 2022 16 | * Updated for DLC4 compatibility 17 | 18 | **v1.0.0** - Jul 27, 2022 19 | * Initial release, based on v1.1.0 of 20 | [BL3's Early Bloomer](https://github.com/BLCM/bl3mods/wiki/Early%20Bloomer) 21 | 22 | Licenses 23 | ======== 24 | 25 | This mod is licensed under [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/). 26 | 27 | The generation script for the mod is licensed under the 28 | [GPLv3 or later](https://www.gnu.org/licenses/quick-guide-gplv3.html). 29 | See [COPYING.txt](../../COPYING.txt) for the full text of the license. 30 | 31 | -------------------------------------------------------------------------------- /Apocalyptech/loot_changes/expanded_legendary_pools/README.md: -------------------------------------------------------------------------------- 1 | Expanded Legendary Pools 2 | ======================== 3 | 4 | This mod adds all legendary/unique items to the main world-drop pools -- 5 | basically anything with red text. This currently includes all items from: 6 | 7 | * DLC1 (Coiled Captors) 8 | * DLC2 (Glutton's Gamble) 9 | * DLC3 (Molten Mirrors) 10 | * DLC4 (Shattering Spectreglass) 11 | 12 | I recommend using this with my Uniques Are Legendary mod, which will make 13 | the red-text blue/purple gear more noticeable when they drop. 14 | 15 | Changelog 16 | ========= 17 | 18 | **v1.1.0** - Aug 12, 2022 19 | * Updated with new DLC4 gear 20 | 21 | **v1.0.2** - Jul 29, 2022 22 | * Added missing Fealty Oath ring, from DLC3. 23 | * Removed useless/unfinished "Big B Mittens" armor 24 | * Tweaked Armor That Sucks and Harmonious Dingledangle additions so that they 25 | take advantage of class-weighting probabilities (they now play nicely with 26 | No Wasted Gear). 27 | * Cleared out duplicate DLC-gear entries from pools. 28 | 29 | **v1.0.1** - Jul 28, 2022 30 | * Removed the Used Antique Greatbow from the legendary pools. Hadn't realized 31 | what that weapon's deal was, previously. 32 | 33 | **v1.0.0** - Jul 27, 2022 34 | * Initial version, based on v1.6.0 of 35 | [BL3's Expanded Legendary Pools](https://github.com/BLCM/bl3mods/wiki/Expanded%20Legendary%20Pools) 36 | 37 | Licenses 38 | ======== 39 | 40 | This mod is licensed under [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/). 41 | 42 | The generation script for the mod is licensed under the 43 | [GPLv3 or later](https://www.gnu.org/licenses/quick-guide-gplv3.html). 44 | See [COPYING.txt](../../COPYING.txt) for the full text of the license. 45 | 46 | -------------------------------------------------------------------------------- /Apocalyptech/loot_changes/fix_broken_loot_patterns/README.md: -------------------------------------------------------------------------------- 1 | Fix Broken Loot Patterns 2 | ======================== 3 | 4 | A couple of enemies drop at least part of their loot in a single tight point, 5 | making it impossible to sort through without picking some of it up first. This 6 | mod fixes that up so that the loot gets spread out in a more pleasing manner. 7 | If other enemies are found to have similar problems in the future, they'll be 8 | added in here. At the moment this is just Knight Mare and Zomboss. 9 | 10 | This functionality is included in Guaranteed Boss Drops, so there's no need 11 | to use this mod if you're already using that one. (It won't hurt anything to 12 | have both enabled, though.) 13 | 14 | Changelog 15 | ========= 16 | 17 | **v1.1.0** - Feb 27, 2023 18 | * Added Zomboss 19 | 20 | **v1.0.0** - Jan 25, 2023 21 | * Initial release 22 | 23 | Licenses 24 | ======== 25 | 26 | This mod is licensed under [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/). 27 | 28 | The generation script for the mod is licensed under the 29 | [GPLv3 or later](https://www.gnu.org/licenses/quick-guide-gplv3.html). 30 | See [COPYING.txt](../../COPYING.txt) for the full text of the license. 31 | 32 | -------------------------------------------------------------------------------- /Apocalyptech/loot_changes/fix_broken_loot_patterns/fix_broken_loot_patterns.wlhotfix: -------------------------------------------------------------------------------- 1 | 2 | @title Fix Broken Loot Patterns 3 | @version 1.1.0 4 | @author Apocalyptech 5 | @contact https://apocalyptech.com/contact.php 6 | @categories bugfix 7 | 8 | @license Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) 9 | @license-url https://creativecommons.org/licenses/by-sa/4.0/ 10 | 11 | ### 12 | ### A couple of enemies drop at least part of their loot in a single tight point, 13 | ### making it impossible to sort through without picking some of it up first. This 14 | ### mod fixes that up so that the loot gets spread out in a more pleasing manner. 15 | ### If other enemies are found to have similar problems in the future, they'll be 16 | ### added in here. At the moment this is just Knight Mare and Zomboss. 17 | ### 18 | ### This functionality is included in Guaranteed Boss Drops, so there's no need 19 | ### to use this mod if you're already using that one. (It won't hurt anything to 20 | ### have both enabled, though.) 21 | ### 22 | ### Generated by gen_fix_broken_loot_patterns.py 23 | ### 24 | 25 | # Knight Mare (plot) 26 | SparkCharacterLoadedEntry,(1,1,0,BPChar_BoneArmy_Knightmare),/Game/Enemies/BoneArmy/_Unique/Knightmare/_Design/Character/BPChar_BoneArmy_Knightmare.BPChar_BoneArmy_Knightmare_C:AIBalanceState_GEN_VARIABLE,TimeToSpawnLootOver,0,,1 27 | 28 | # Knight Mare (runnable) 29 | SparkCharacterLoadedEntry,(1,1,0,BPChar_BoneArmy_Knightmare_Runnable),/Game/Enemies/BoneArmy/_Unique/Knightmare/_Design/Character/BPChar_BoneArmy_Knightmare_Runnable.BPChar_BoneArmy_Knightmare_Runnable_C:AIBalanceState_GEN_VARIABLE,TimeToSpawnLootOver,0,,1 30 | 31 | # Zomboss (plot) 32 | SparkCharacterLoadedEntry,(1,1,0,BPChar_BoneArmy_ZombieQueen),/Game/Enemies/BoneArmy/_Unique/ZombieQueen/_Design/Character/BPChar_BoneArmy_ZombieQueen.BPChar_BoneArmy_ZombieQueen_C:AIBalanceState_GEN_VARIABLE,TimeToSpawnLootOver,0,,1 33 | 34 | # Zomboss (runnable) 35 | SparkCharacterLoadedEntry,(1,1,0,BPChar_BoneArmy_ZombieQueen_Runnable),/Game/Enemies/BoneArmy/_Unique/ZombieQueen/_Design/Character/BPChar_BoneArmy_ZombieQueen_Runnable.BPChar_BoneArmy_ZombieQueen_Runnable_C:AIBalanceState_GEN_VARIABLE,TimeToSpawnLootOver,0,,1 36 | 37 | -------------------------------------------------------------------------------- /Apocalyptech/loot_changes/fix_broken_loot_patterns/gen_fix_broken_loot_patterns.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # vim: set expandtab tabstop=4 shiftwidth=4: 3 | 4 | # Copyright 2023 Christopher J. Kucera 5 | # 6 | # 7 | # 8 | # This Wonderlands Hotfix Mod is free software: you can redistribute it 9 | # and/or modify it under the terms of the GNU General Public License 10 | # as published by the Free Software Foundation, either version 3 of 11 | # the License, or (at your option) any later version. 12 | # 13 | # This Wonderlands Hotfix Mod is distributed in the hope that it will 14 | # be useful, but WITHOUT ANY WARRANTY; without even the implied 15 | # warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 16 | # See the GNU General Public License for more details. 17 | # 18 | # You should have received a copy of the GNU General Public License 19 | # along with this Wonderlands Hotfix Mod. If not, see 20 | # . 21 | 22 | import sys 23 | sys.path.append('../../../python_mod_helpers') 24 | from wlhotfixmod.wlhotfixmod import Mod, BVCF 25 | 26 | mod = Mod('fix_broken_loot_patterns.wlhotfix', 27 | 'Fix Broken Loot Patterns', 28 | 'Apocalyptech', 29 | [ 30 | "A couple of enemies drop at least part of their loot in a single tight point,", 31 | "making it impossible to sort through without picking some of it up first. This", 32 | "mod fixes that up so that the loot gets spread out in a more pleasing manner.", 33 | "If other enemies are found to have similar problems in the future, they'll be", 34 | "added in here. At the moment this is just Knight Mare and Zomboss.", 35 | "", 36 | "This functionality is included in Guaranteed Boss Drops, so there's no need", 37 | "to use this mod if you're already using that one. (It won't hurt anything to", 38 | "have both enabled, though.)", 39 | ], 40 | contact='https://apocalyptech.com/contact.php', 41 | lic=Mod.CC_BY_SA_40, 42 | v='1.1.0', 43 | cats='bugfix', 44 | ) 45 | 46 | # Here we go! 47 | for label, bpchar, new_time in [ 48 | ('Knight Mare (plot)', 49 | '/Game/Enemies/BoneArmy/_Unique/Knightmare/_Design/Character/BPChar_BoneArmy_Knightmare', 50 | 1), 51 | ('Knight Mare (runnable)', 52 | '/Game/Enemies/BoneArmy/_Unique/Knightmare/_Design/Character/BPChar_BoneArmy_Knightmare_Runnable', 53 | 1), 54 | ('Zomboss (plot)', 55 | '/Game/Enemies/BoneArmy/_Unique/ZombieQueen/_Design/Character/BPChar_BoneArmy_ZombieQueen', 56 | 1), 57 | ('Zomboss (runnable)', 58 | '/Game/Enemies/BoneArmy/_Unique/ZombieQueen/_Design/Character/BPChar_BoneArmy_ZombieQueen_Runnable', 59 | 1), 60 | ]: 61 | bpchar_short = bpchar.rsplit('/', 1)[-1] 62 | mod.comment(label) 63 | mod.reg_hotfix(Mod.CHAR, bpchar_short, 64 | f'{bpchar}.{bpchar_short}_C:AIBalanceState_GEN_VARIABLE', 65 | 'TimeToSpawnLootOver', 66 | new_time) 67 | mod.newline() 68 | 69 | # And done. 70 | mod.close() 71 | 72 | -------------------------------------------------------------------------------- /Apocalyptech/loot_changes/guaranteed_boss_drops/README.md: -------------------------------------------------------------------------------- 1 | Guaranteed Boss Drops 2 | ===================== 3 | 4 | Guarantees that all bosses / minibosses will always drop their unique 5 | loot 100% of the time. Additionally, bosses with more than one drop 6 | will drop more than once from the pool -- once per item available. 7 | This gives you a chance to get one of each item from a single boss 8 | run. An exception is the thirteen enemies who drop from a shared 9 | 'miniboss' pool which contains 8 items. Those enemies will only 10 | drop a single item from that pool. 11 | 12 | For a list of what drops you should expect from bosses, while using this mod, see 13 | [`expected_drops.md`](https://github.com/BLCM/wlmods/blob/main/Apocalyptech/loot_changes/guaranteed_boss_drops/expected_drops.md). 14 | 15 | The mod contains a few fixes as well, such as allowing some Chaos-Chamber-locked 16 | minibosses to drop their loot outside of the Chaos Chamber, fixing some 17 | details of Knight Mare and Zomboss's drop behavior, and fixing Imelda the Sand 18 | Witch's Difficulty 4 drop. 19 | 20 | **Mod Compatibility Info:** 21 | 22 | If you use this mod along with 23 | [Randomized Boss Drops](https://github.com/BLCM/wlmods/wiki/Randomized%20Boss%20Drops), 24 | make sure that this mod appears *before* Randomized Boss Drops in your mod 25 | list. (For OpenHotfixLoader, you can just rename the filenames to make sure 26 | that happens, though if you keep the filenames at their defaults, that should 27 | already be the case.) 28 | 29 | This mod includes the functionality from 30 | [Fix Broken Loot Patterns](https://github.com/BLCM/wlmods/wiki/Fix%20Broken%20Loot%20Patterns), 31 | so there's no need to run both at the same time. It won't hurt anything if 32 | you do, though. 33 | 34 | Changelog 35 | ========= 36 | 37 | **v1.0.1** - Feb 27, 2023 38 | * Added Zomboss loot-drop-pattern fix from Fix Broken Loot Patterns v1.1.0. 39 | 40 | **v1.0.0** - Oct 4, 2022 41 | * Initial release 42 | 43 | Licenses 44 | ======== 45 | 46 | This mod is licensed under [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/). 47 | 48 | The generation script for the mod is licensed under the 49 | [GPLv3 or later](https://www.gnu.org/licenses/quick-guide-gplv3.html). 50 | See [COPYING.txt](../../COPYING.txt) for the full text of the license. 51 | 52 | -------------------------------------------------------------------------------- /Apocalyptech/loot_changes/guaranteed_enchantments/README.md: -------------------------------------------------------------------------------- 1 | Guaranteed Enchantments 2 | ======================= 3 | 4 | Ensures that all dropped/looted gear in the game which support 5 | enchantments will be enchanted. Also removes the special loot 6 | bar effect for Enchanted gear, since it gets a bit visually 7 | messy otherwise. 8 | 9 | Changelog 10 | ========= 11 | 12 | **v1.0.0** - Oct 5, 2022 13 | * Initial release 14 | 15 | Licenses 16 | ======== 17 | 18 | This mod is licensed under [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/). 19 | 20 | The generation script for the mod is licensed under the 21 | [GPLv3 or later](https://www.gnu.org/licenses/quick-guide-gplv3.html). 22 | See [COPYING.txt](../../COPYING.txt) for the full text of the license. 23 | 24 | -------------------------------------------------------------------------------- /Apocalyptech/loot_changes/more_elemental_weapons/README.md: -------------------------------------------------------------------------------- 1 | More Elemental Weapons 2 | ====================== 3 | 4 | By default, non-elemental varieties of weapons are often more likely to spawn than the 5 | elemental varieties. This increases the chance of spawning with an element. 6 | 7 | Changelog 8 | ========= 9 | 10 | **v1.0.0** - Aug 15, 2022 11 | * Initial release, based on v1.0.0 of 12 | [BL3's More Elemental Weapons](https://github.com/BLCM/bl3mods/wiki/More%20Elemental%20Weapons) 13 | 14 | Licenses 15 | ======== 16 | 17 | This mod is licensed under [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/). 18 | 19 | The generation script for the mod is licensed under the 20 | [GPLv3 or later](https://www.gnu.org/licenses/quick-guide-gplv3.html). 21 | See [COPYING.txt](../../COPYING.txt) for the full text of the license. 22 | 23 | -------------------------------------------------------------------------------- /Apocalyptech/loot_changes/more_elemental_weapons/gen_more_elemental_weapons.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # vim: set expandtab tabstop=4 shiftwidth=4: 3 | 4 | # Copyright 2019-2022 Christopher J. Kucera 5 | # 6 | # 7 | # 8 | # This Wonderlands Hotfix Mod is free software: you can redistribute it 9 | # and/or modify it under the terms of the GNU General Public License 10 | # as published by the Free Software Foundation, either version 3 of 11 | # the License, or (at your option) any later version. 12 | # 13 | # This Wonderlands Hotfix Mod is distributed in the hope that it will 14 | # be useful, but WITHOUT ANY WARRANTY; without even the implied 15 | # warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 16 | # See the GNU General Public License for more details. 17 | # 18 | # You should have received a copy of the GNU General Public License 19 | # along with this Wonderlands Hotfix Mod. If not, see 20 | # . 21 | 22 | import sys 23 | sys.path.append('../../../python_mod_helpers') 24 | from wlhotfixmod.wlhotfixmod import Mod, BVCF 25 | 26 | weight_no_element = 1.5 27 | weight_element = 0.5 28 | total = weight_no_element+(weight_element*5) 29 | chance_element = round((weight_element*5)/total*100) 30 | 31 | mod = Mod('more_elemental_weapons.wlhotfix', 32 | 'More Elemental Weapons', 33 | 'Apocalyptech', 34 | [ 35 | "Increases the chances of having elements spawn on all weapons which support", 36 | "elements. The stock chances of getting an element (for weapons which can", 37 | "spawn in all elements, anyway) are:", 38 | "", 39 | " Common: 9%", 40 | " Uncommon: 14%", 41 | " Rare: 23%", 42 | " Very Rare: 41%", 43 | "", 44 | "This mod increases the chance to {}%, across the board.".format(chance_element), 45 | ], 46 | contact='https://apocalyptech.com/contact.php', 47 | lic=Mod.CC_BY_SA_40, 48 | v='1.0.0', 49 | cats='gear-general', 50 | ) 51 | 52 | for row in [ 53 | 'Common', 54 | 'UnCommon', 55 | 'Rare', 56 | 'VeryRare', 57 | ]: 58 | for col, value in [ 59 | ('No_Element_2_5116D4D846B4D2399C40ED8DCD2C24C1', weight_no_element), 60 | ('Fire_7_1FDBC8F84F8FC5AB340FF5A2F6380A54', weight_element), 61 | ('Shock_8_684654654B332D94359F79BEB2DB90AA', weight_element), 62 | ('Poison_14_FCB69C7740260C055C8D32B7E96603D1', weight_element), 63 | ('Cryo_10_FE2073AF44E3E00A723784B1D44C2D50', weight_element), 64 | ('DarkMagic_15_2500317646FAD2F4916D158835B29E83', weight_element), 65 | ]: 66 | mod.table_hotfix(Mod.PATCH, '', 67 | '/Game/Gear/Weapons/_Shared/_Design/GameplayAttributes/Elemental/ElementalPartRarity/DataTable_Weapon_Elemental_Rarity', 68 | row, 69 | col, 70 | value) 71 | 72 | mod.close() 73 | -------------------------------------------------------------------------------- /Apocalyptech/loot_changes/no_loot_luck/README.md: -------------------------------------------------------------------------------- 1 | No Loot Luck: Better Loot Edition 2 | ================================= 3 | 4 | The "Loot Luck" mechanic in Tiny Tina's Wonderlands is actually pretty 5 | nifty -- it's a good way to get a nice progression of gear quality 6 | throughout the game while giving a useful metric to the player. 7 | Assuming the player is fastidious about picking up Lost Dice while 8 | running the game, the loot quality near the endgame is quite good and 9 | really doesn't need any buffing. 10 | 11 | However, while I appreciated this mechanic on my first Wonderlands 12 | playthrough, I definitely prefer to just have good loot throughtout the 13 | whole game when replaying. Hence, this mod! 14 | 15 | No Loot Luck completely removes Loot Luck's impact on the loot quality 16 | throughout the game. Loot will be equally as good at the beginning of the game 17 | as it is at the end, regardless of how much your Loot Luck stat 18 | increases. This should also nerf any improvements which would be made 19 | via Chaos Mode or the like. 20 | 21 | The loot quality for this mod is roughly on par with what BL3's Better 22 | Loot mod uses, which was in turn inherited from the 'Very Good' preset 23 | of my BL2/TPS Better Loot mods. Legendaries are maybe a *bit* too 24 | common, but I prefer too much to too little. 25 | 26 | Note too that the "Better Loot" in the title *only* refers to the base 27 | loot quality weights. This mod does *not* alter any other aspect of 28 | Wonderlands loot, like boss uniques, etc. 29 | 30 | Changelog 31 | ========= 32 | 33 | **v1.0.0** - Sep 24, 2022 34 | * Initial release 35 | 36 | Licenses 37 | ======== 38 | 39 | This mod is licensed under [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/). 40 | 41 | The generation script for the mod is licensed under the 42 | [GPLv3 or later](https://www.gnu.org/licenses/quick-guide-gplv3.html). 43 | See [COPYING.txt](../../COPYING.txt) for the full text of the license. 44 | 45 | -------------------------------------------------------------------------------- /Apocalyptech/loot_changes/no_loot_luck/no_loot_luck_better_loot.wlhotfix: -------------------------------------------------------------------------------- 1 | 2 | @title No Loot Luck: Better Loot Edition 3 | @version 1.0.0 4 | @author Apocalyptech 5 | @contact https://apocalyptech.com/contact.php 6 | @categories enemy-drops, loot-system 7 | 8 | @license Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) 9 | @license-url https://creativecommons.org/licenses/by-sa/4.0/ 10 | 11 | ### 12 | ### Completely removes Loot Luck's impact on the loot quality throughout 13 | ### the game. Loot will be equally as good at the beginning of the game 14 | ### as it is at the end, regardless of how much your Loot Luck stat 15 | ### increases. This should also nerf any improvements which would be made 16 | ### via Chaos Mode or the like. 17 | ### 18 | ### The loot quality for this mod is roughly on par with what BL3's Better 19 | ### Loot mod uses, which was in turn inherited from the 'Very Good' preset 20 | ### of my BL2/TPS Better Loot mods. Legendaries are maybe a *bit* too 21 | ### common, but I prefer too much to too little. 22 | ### 23 | ### Note that the 'Better Loot' in the title *only* refers to the base 24 | ### loot quality weights. This mod does *not* alter any other aspect of 25 | ### Wonderlands loot, like boss uniques, etc. 26 | ### 27 | ### This mod also ensures that Blue + Purple gear can spawn in early game. 28 | ### 29 | ### Generated by gen_no_loot_luck.py 30 | ### 31 | 32 | # Zero out Loot Luck GrowthExponent 33 | SparkPatchEntry,(1,2,0,),/Game/GameData/Loot/RarityWeighting/DataTable_ItemRarity.DataTable_ItemRarity,Common,GrowthExponent,0,,0 34 | SparkPatchEntry,(1,2,0,),/Game/GameData/Loot/RarityWeighting/DataTable_ItemRarity.DataTable_ItemRarity,Uncommon,GrowthExponent,0,,0 35 | SparkPatchEntry,(1,2,0,),/Game/GameData/Loot/RarityWeighting/DataTable_ItemRarity.DataTable_ItemRarity,Rare,GrowthExponent,0,,0 36 | SparkPatchEntry,(1,2,0,),/Game/GameData/Loot/RarityWeighting/DataTable_ItemRarity.DataTable_ItemRarity,VeryRare,GrowthExponent,0,,0 37 | SparkPatchEntry,(1,2,0,),/Game/GameData/Loot/RarityWeighting/DataTable_ItemRarity.DataTable_ItemRarity,Legendary,GrowthExponent,0,,0 38 | 39 | # Adjust rarity weights to Better Loot levels 40 | SparkPatchEntry,(1,2,0,),/Game/GameData/Loot/RarityWeighting/DataTable_ItemRarity.DataTable_ItemRarity,Common,BaseWeight,0,,15 41 | SparkPatchEntry,(1,2,0,),/Game/GameData/Loot/RarityWeighting/DataTable_ItemRarity.DataTable_ItemRarity,Uncommon,BaseWeight,0,,35 42 | SparkPatchEntry,(1,2,0,),/Game/GameData/Loot/RarityWeighting/DataTable_ItemRarity.DataTable_ItemRarity,Rare,BaseWeight,0,,25 43 | SparkPatchEntry,(1,2,0,),/Game/GameData/Loot/RarityWeighting/DataTable_ItemRarity.DataTable_ItemRarity,VeryRare,BaseWeight,0,,13.5 44 | SparkPatchEntry,(1,2,0,),/Game/GameData/Loot/RarityWeighting/DataTable_ItemRarity.DataTable_ItemRarity,Legendary,BaseWeight,0,,1.1 45 | 46 | # Ensuring Blues and Purples can spawn in early game 47 | # (may not be necessary, but no reason NOT to do this) 48 | SparkPatchEntry,(1,2,0,),/Game/GameData/Loot/RarityWeighting/DataTable_ItemRarity.DataTable_ItemRarity,Rare,IntroductionLevel,0,,0 49 | SparkPatchEntry,(1,2,0,),/Game/GameData/Loot/RarityWeighting/DataTable_ItemRarity.DataTable_ItemRarity,VeryRare,IntroductionLevel,0,,0 50 | 51 | -------------------------------------------------------------------------------- /Apocalyptech/loot_changes/no_wasted_equipment/README.md: -------------------------------------------------------------------------------- 1 | No Wasted Equipment 2 | =================== 3 | 4 | This mod makes it so that class-specific attributes in Armor and Amulets will only ever 5 | spawn in a version which is useful to a player currently in the game. This doesn't 6 | support class-specific Enchantments directly, but it *does* apply if used in conjunction 7 | with my [Enchantment-Spawning Tweaks](https://github.com/BLCM/wlmods/wiki/Enchantment-Spawning%20Tweaks) mod. 8 | 9 | In a singleplayer game, before speccing into a secondary skill, the secondary class buff 10 | on Purple/Legendary armor should be evenly random across all possibilities (the primary 11 | will always match your primary class). Once you spec into a secondary class, armor drops 12 | will start being correctly restricted to both classes, and should swap which one's 13 | primary/secondary, depending on how the drop rolls. 14 | 15 | This *should* adjust itself automatically whenever players enter/leave a co-op session, 16 | though that is currently untested by myself. Note that armor classes in co-op will pull 17 | from the entire pool of current classes, so not all armor will 100% match each player. 18 | 19 | There are a few class-specific balances which aren't covered by this mod, such as the 20 | Armor That Sucks and the Harmonious Dingledangle. Those are ordinarily quest rewards, and 21 | are given "correctly" by the game already. My Expanded Legendary Pools mod makes them 22 | world-droppable, though, and if you use No Wasted Equipment in conjunction with Expanded 23 | Legendary Pools, they will drop with an appropriate class. 24 | 25 | **Notes:** 26 | 27 | * This mod makes fairly aggressive changes to Amulet definitions, due to how those objects 28 | work, starting with the DLC4 release. Any other mods which touch amulet part selection 29 | will end up being overwritten by this mod, if they show up prior to No Wasted Equipment 30 | in your mod list. 31 | * In order to handle Armor drops properly, before the player has spec'd into a secondary 32 | skill, we can't *completely* zero out the other class chances. So, very occasionally 33 | you *will* probably see a non-appropriate gear drop. Still, that shouldn't happen very 34 | often. 35 | 36 | Changelog 37 | ========= 38 | 39 | **v1.0.0** - Oct 9, 2022 40 | * No actual functionality changes, but updated with notes about my Enchantment-Spawning 41 | Tweaks mod, and clarified how the two interact. The short story is that this mod, on 42 | its own, will not ever handle class-specific Enchantment weighting, but it *does* work 43 | properly when combined with Enchantment-Spawning Tweaks. 44 | 45 | **v0.9.1** - Aug 15, 2022 46 | * Updated for DLC4 (Shattering Spectreglass) support -- Blightcaller parts needed some 47 | extra processing, especially with regards to amulets. 48 | 49 | **v0.9.0** - Jul 28, 2022 50 | * Initial release, based on v1.0.0 of 51 | [BL3's No Wasted Equipment](https://github.com/BLCM/bl3mods/wiki/No%20Wasted%20Equipment) 52 | 53 | Licenses 54 | ======== 55 | 56 | This mod is licensed under [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/). 57 | 58 | -------------------------------------------------------------------------------- /Apocalyptech/loot_changes/randomized_boss_drops/README.md: -------------------------------------------------------------------------------- 1 | Randomized Boss Drops 2 | ===================== 3 | 4 | Randomizes boss drops (ie: get rid of dedicated loot pools). Obviously this will 5 | be of no interest to anyone looking to farm specific gear, but for myself, I 6 | prefer the more randomized loot approach. 7 | 8 | The drops will retain the *type* of drop, so if a boss was going to drop a specific 9 | legendary shotgun, you will get a legendary shotgun of some sort. 10 | 11 | I recommend the use of my Expanded Legendary Pools mod, so that the loot you get 12 | is as varied as possible. 13 | 14 | **Mod Compatibility Info:** 15 | 16 | If you use this mod along with Guaranteed Boss Drops, make sure that this mod 17 | appears *after* Guaranteed Boss Drops in your mod list. (For OpenHotfixLoader, 18 | you can just rename the filenames to make sure that happens, though if you 19 | keep the filenames at their defaults, that should already be the case.) 20 | 21 | Changelog 22 | ========= 23 | 24 | **v1.0.0** - Oct 4, 2022 25 | * Initial Release 26 | 27 | Licenses 28 | ======== 29 | 30 | This mod is licensed under [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/). 31 | 32 | The generation script for the mod is licensed under the 33 | [GPLv3 or later](https://www.gnu.org/licenses/quick-guide-gplv3.html). 34 | See [COPYING.txt](../../COPYING.txt) for the full text of the license. 35 | 36 | -------------------------------------------------------------------------------- /Apocalyptech/loot_changes/randomized_mission_rewards/README.md: -------------------------------------------------------------------------------- 1 | Randomized Mission Rewards 2 | ========================== 3 | 4 | Like my Randomized Boss Drops mod, this randomizes all mission rewards, so you 5 | won't actually know what you're getting for completing missions. You *will* 6 | receive the same *type* of item that you'd expect, so if a mission ordinarily 7 | gives you a shotgun, you'll still get a shotgun. 8 | 9 | It's recommended to use my Expanded Legendary Pools mod with this, to give 10 | you a wider variety of rewards 11 | 12 | Changelog 13 | ========= 14 | 15 | **v1.0.0** - Oct 4, 2022 16 | * Initial release 17 | 18 | Licenses 19 | ======== 20 | 21 | This mod is licensed under [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/). 22 | 23 | The generation script for the mod is licensed under the 24 | [GPLv3 or later](https://www.gnu.org/licenses/quick-guide-gplv3.html). 25 | See [COPYING.txt](../../COPYING.txt) for the full text of the license. 26 | 27 | -------------------------------------------------------------------------------- /Apocalyptech/loot_changes/red_chest_timer_reset/README.md: -------------------------------------------------------------------------------- 1 | Red Chest Timer Reset 2 | ===================== 3 | 4 | Prevents the game's red chests from remembering their opened state when 5 | quitting and restarting the game. They will still have their usual timers 6 | while staying within the same game session, but a trip to the main menu 7 | will now let them be re-opened right away. 8 | 9 | **Note:** Any red chest timer information currently stored in your savegame 10 | will still apply when you go into the game, even with this mod active. 11 | You can either wait for those timers to expire as usual, or just quit out 12 | to the main menu once to clear it out. 13 | 14 | Changelog 15 | ========= 16 | 17 | **v1.0.0** - Oct 10, 2022 18 | * Initial release, based loosely on v1.0.0 of 19 | [BL3's Red Chest Timer Reset](https://github.com/BLCM/bl3mods/wiki/Red%20Chest%20Timer%20Reset) 20 | 21 | Licenses 22 | ======== 23 | 24 | This mod is licensed under [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/). 25 | 26 | The generation script for the mod is licensed under the 27 | [GPLv3 or later](https://www.gnu.org/licenses/quick-guide-gplv3.html). 28 | See [COPYING.txt](../../COPYING.txt) for the full text of the license. 29 | 30 | -------------------------------------------------------------------------------- /Apocalyptech/loot_changes/starting_gear/README.md: -------------------------------------------------------------------------------- 1 | Starting Gear 2 | ============= 3 | 4 | This is actually two different mods, both of which alter the contents of the 5 | initial gear found in Snoring Valley, when starting the game. In the vanilla 6 | game, there's a white-rarity axe, then a chest with a white-rarity gun, then 7 | a chest with a white-rarity ward, and finally a white-rarity spell pickup. 8 | The variants provided here: 9 | 10 | * **Full Loadout** - The melee and spell pickups have been updated to be 11 | world drops (instead of hardcoded white-rarity). The initial gun chest will 12 | now contain two pistols, a ward, a set of armor, a ring, and an amulet. 13 | The initial ward chest will have a second ring and a spell, in addition to 14 | a world drop ward. You'll need to be using my Early Bloomer mod for some 15 | of the "advanced" gear to show up (armor, rings, amulet). 16 | * **Testing Gear** - This is mostly for my own purposes, but makes the initial 17 | melee pickup a Goblin Pickaxe, and then alters the initial gun chest to 18 | contain a Manual Transmission AR and Transistor ward. You will need to be using 19 | my Early Bloomer mod to see those, and this is intended to be used with my 20 | Super Buff mods (from my mod-testing folder). This variant will also update 21 | the ward chest and spell pickup to use world drops rather than hardcoded 22 | white-rarity. 23 | 24 | As mentioned above, you'll need to be using my Early Bloomer mod to be able to 25 | make full use of these; otherwise the more advanced gear might not spawn, 26 | and you also might be locked into early-game manufacturers and parts for the 27 | pistols, too. The "Testing Gear" variant, especially, will soft-lock your 28 | game without Early Bloomer, because the Goblin Pickaxe won't spawn on the 29 | initial melee-weapon pickup, and you'll be unable to continue (until you 30 | disable this mod and/or enable Early Bloomer, that is). 31 | 32 | Changelog 33 | ========= 34 | 35 | **v1.0.0** - Jul 27, 2022 36 | * Initial Release, based on v1.0.0 of 37 | [BL3's First Gun Chest](https://github.com/BLCM/bl3mods/wiki/First%20Gun%20Chest%3A%20Full%20Loadout) 38 | 39 | Licenses 40 | ======== 41 | 42 | This mod is licensed under [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/). 43 | 44 | The generation script for the mod is licensed under the 45 | [GPLv3 or later](https://www.gnu.org/licenses/quick-guide-gplv3.html). 46 | See [COPYING.txt](../../COPYING.txt) for the full text of the license. 47 | 48 | -------------------------------------------------------------------------------- /Apocalyptech/mod_testing_mods/.gitignore: -------------------------------------------------------------------------------- 1 | sandbox 2 | -------------------------------------------------------------------------------- /Apocalyptech/mod_testing_mods/README.md: -------------------------------------------------------------------------------- 1 | Apocalyptech's Mod-Testing WL Mods 2 | ================================== 3 | 4 | These are a collection of mods that I basically just only use when I'm looking 5 | to test out other mods. They're focused on making ridiculous OP buffs to gear 6 | so I don't have to worry about combat, and quickly levelling up characters, etc. 7 | 8 | See the individual mod folders for full READMEs. 9 | 10 | - **Force Enemy Spawns** - Resource mod to attempt to force a configured enemy 11 | type to spawn whenever possible. 12 | - **Guaranteed Gear Drops** - Enemies with a chance to drop gear will drop one 13 | of each gear type (gun, melee weapon, ward, etc.) 14 | - **Mountaineer** - Allows the player to climb (nearly) vertical surfaces. 15 | - **Quick Chaos Chamber Loot Room** - Replaces the "Normal" Chaos Chamber run with 16 | a version which jumps right to the loot room, and gives you 1m crystals. 17 | - **Show Att Values** - Show arbitrary attribute values on the Chaos Mode screen. 18 | - **Super Buff: Goblin Pickaxe** - Absurdly OP Goblin Pickaxe buffs. 19 | - **Super Buff: Manual Transmission** - Absurdly OP Manual Transmission AR. 20 | - **Super Buff: Transistor** - Absurdly OP Transistor shield. 21 | - **Testing Loot Drops** - Used to test drops and verify balance names. 22 | - **Visible BPChar Names** - Displays the BPChar names for NPCs and Enemies 23 | in-game, instead of their usual names. 24 | 25 | Licenses 26 | ======== 27 | 28 | All Apocalyptech's code in here is licensed under the 29 | [GPLv3 or later](https://www.gnu.org/licenses/quick-guide-gplv3.html). 30 | See [COPYING.txt](../COPYING.txt) for the full text of the license. 31 | 32 | All Apocalyptech's mods in this repository are currently licensed under 33 | [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/). 34 | 35 | -------------------------------------------------------------------------------- /Apocalyptech/mod_testing_mods/force_enemy_spawns/README.md: -------------------------------------------------------------------------------- 1 | Force Enemy Spawns 2 | ================== 3 | 4 | Resource mod which attemps to alter SpawnOptions objects so that wherever 5 | the configured character *can* spawn, they *will* spawn 100% of the time. 6 | Note that Wonderlands spawn points sometimes have 'waves' built in, which 7 | might spawn from different SpawnOptions at different times, which can 8 | complicate this slightly. 9 | 10 | Does not attempt to touch SpawnOptions objects which don't involve the 11 | specified char, since BL3/WL spawning points are often a bit touchy about 12 | which chars are allowed to spawn from them. 13 | 14 | The version stored on Github is hardcoded to Goblin Tricksters (the barrel 15 | ones). To make it operate on some other enemy, you'll have to edit the 16 | generation script and re-generate it. 17 | 18 | Changelog 19 | ========= 20 | 21 | **v1.0.1** - Jan 24, 2023 22 | * Bugfix to work better with Options which ordinarily rely on Attribute 23 | Initializers to set their weight (this is what had been causing Badass 24 | Goblins to not really work properly in v1.0.0, among probably others). 25 | 26 | **v1.0.0** - Nov 3, 2022 27 | * Initial release 28 | 29 | Licenses 30 | ======== 31 | 32 | This mod is licensed under [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/). 33 | 34 | The generation script for the mod is licensed under the 35 | [GPLv3 or later](https://www.gnu.org/licenses/quick-guide-gplv3.html). 36 | See [COPYING.txt](../../COPYING.txt) for the full text of the license. 37 | 38 | -------------------------------------------------------------------------------- /Apocalyptech/mod_testing_mods/guaranteed_gear_drops/README.md: -------------------------------------------------------------------------------- 1 | Guaranteed Gear Drops 2 | ===================== 3 | 4 | Makes it so that enemies who have a chance to drop gear will do so. 5 | Killed enemies should drop one gun, melee weapon, ward, spell, ring, 6 | amulet, and armor. There are probably exceptions to this, but it 7 | should apply to most enemies in the game. 8 | 9 | Intended to just be used as a resource mod when testing mods relating 10 | to gear drops. The rates would be pretty overwhelming for regular play. 11 | 12 | Changelog 13 | ========= 14 | 15 | **v1.0.0** - Oct 10, 2022 16 | * Initial release 17 | 18 | Licenses 19 | ======== 20 | 21 | This mod is licensed under [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/). 22 | 23 | The generation script for the mod is licensed under the 24 | [GPLv3 or later](https://www.gnu.org/licenses/quick-guide-gplv3.html). 25 | See [COPYING.txt](../../COPYING.txt) for the full text of the license. 26 | 27 | -------------------------------------------------------------------------------- /Apocalyptech/mod_testing_mods/guaranteed_gear_drops/gen_guaranteed_gear_drops.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # vim: set expandtab tabstop=4 shiftwidth=4: 3 | 4 | # Copyright 2022 Christopher J. Kucera 5 | # 6 | # 7 | # 8 | # This Wonderlands Hotfix Mod is free software: you can redistribute it 9 | # and/or modify it under the terms of the GNU General Public License 10 | # as published by the Free Software Foundation, either version 3 of 11 | # the License, or (at your option) any later version. 12 | # 13 | # This Wonderlands Hotfix Mod is distributed in the hope that it will 14 | # be useful, but WITHOUT ANY WARRANTY; without even the implied 15 | # warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 16 | # See the GNU General Public License for more details. 17 | # 18 | # You should have received a copy of the GNU General Public License 19 | # along with this Wonderlands Hotfix Mod. If not, see 20 | # . 21 | 22 | import sys 23 | sys.path.append('../../../python_mod_helpers') 24 | from wlhotfixmod.wlhotfixmod import Mod, ItemPool 25 | 26 | mod = Mod('guaranteed_gear_drops.wlhotfix', 27 | 'Guaranteed Gear Drops', 28 | 'Apocalyptech', 29 | [ 30 | "Makes it so that enemies who have a chance to drop gear will do so.", 31 | "Killed enemies should drop one gun, melee weapon, ward, spell, ring,", 32 | "amulet, and armor. There are probably exceptions to this, but it", 33 | "should apply to most enemies in the game.", 34 | "", 35 | "Intended to just be used as a resource mod when testing mods relating", 36 | "to gear drops. The rates would be pretty overwhelming for regular play.", 37 | ], 38 | contact='https://apocalyptech.com/contact.php', 39 | lic=Mod.CC_BY_SA_40, 40 | v='1.0.0', 41 | cats='resource', 42 | ) 43 | 44 | table = '/Game/GameData/Loot/ItemPools/Table_SimpleLootDropChances' 45 | col = 'Drop_Chances_2_2811F91D40768DBD4FEBB791F8286836' 46 | 47 | for row in [ 48 | 'Shields', 49 | 'Spells', 50 | 'Guns', 51 | 'Melee', 52 | 'Rings', 53 | 'Amulets', 54 | 'Armor', 55 | ]: 56 | mod.table_hotfix(Mod.PATCH, '', 57 | table, 58 | row, 59 | col, 60 | 1) 61 | 62 | mod.close() 63 | 64 | -------------------------------------------------------------------------------- /Apocalyptech/mod_testing_mods/guaranteed_gear_drops/guaranteed_gear_drops.wlhotfix: -------------------------------------------------------------------------------- 1 | 2 | @title Guaranteed Gear Drops 3 | @version 1.0.0 4 | @author Apocalyptech 5 | @contact https://apocalyptech.com/contact.php 6 | @categories resource 7 | 8 | @license Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) 9 | @license-url https://creativecommons.org/licenses/by-sa/4.0/ 10 | 11 | ### 12 | ### Makes it so that enemies who have a chance to drop gear will do so. 13 | ### Killed enemies should drop one gun, melee weapon, ward, spell, ring, 14 | ### amulet, and armor. There are probably exceptions to this, but it 15 | ### should apply to most enemies in the game. 16 | ### 17 | ### Intended to just be used as a resource mod when testing mods relating 18 | ### to gear drops. The rates would be pretty overwhelming for regular play. 19 | ### 20 | ### Generated by gen_guaranteed_gear_drops.py 21 | ### 22 | 23 | SparkPatchEntry,(1,2,0,),/Game/GameData/Loot/ItemPools/Table_SimpleLootDropChances.Table_SimpleLootDropChances,Shields,Drop_Chances_2_2811F91D40768DBD4FEBB791F8286836,0,,1 24 | SparkPatchEntry,(1,2,0,),/Game/GameData/Loot/ItemPools/Table_SimpleLootDropChances.Table_SimpleLootDropChances,Spells,Drop_Chances_2_2811F91D40768DBD4FEBB791F8286836,0,,1 25 | SparkPatchEntry,(1,2,0,),/Game/GameData/Loot/ItemPools/Table_SimpleLootDropChances.Table_SimpleLootDropChances,Guns,Drop_Chances_2_2811F91D40768DBD4FEBB791F8286836,0,,1 26 | SparkPatchEntry,(1,2,0,),/Game/GameData/Loot/ItemPools/Table_SimpleLootDropChances.Table_SimpleLootDropChances,Melee,Drop_Chances_2_2811F91D40768DBD4FEBB791F8286836,0,,1 27 | SparkPatchEntry,(1,2,0,),/Game/GameData/Loot/ItemPools/Table_SimpleLootDropChances.Table_SimpleLootDropChances,Rings,Drop_Chances_2_2811F91D40768DBD4FEBB791F8286836,0,,1 28 | SparkPatchEntry,(1,2,0,),/Game/GameData/Loot/ItemPools/Table_SimpleLootDropChances.Table_SimpleLootDropChances,Amulets,Drop_Chances_2_2811F91D40768DBD4FEBB791F8286836,0,,1 29 | SparkPatchEntry,(1,2,0,),/Game/GameData/Loot/ItemPools/Table_SimpleLootDropChances.Table_SimpleLootDropChances,Armor,Drop_Chances_2_2811F91D40768DBD4FEBB791F8286836,0,,1 30 | 31 | -------------------------------------------------------------------------------- /Apocalyptech/mod_testing_mods/mountaineer/README.md: -------------------------------------------------------------------------------- 1 | Mountaineer 2 | =========== 3 | 4 | Allows the player to walk up (nearly) vertical surfaces. True 90-degree 5 | walls (and overhangs) will generally still defeat the player, though the "step 6 | height" which allows the player to climb stairs has also been increased by 7 | about 10x, which will let you walk right on past many obstacles. The step 8 | height can be easily increased even further -- just edit the MaxStepHeight 9 | values in the mod file. Note that setting this value too high will probably 10 | start to interfere with multi-level architecture with overhangs and the like. 11 | 12 | This applies both to the in-game character, and to your character while 13 | navigating the Overworld. 14 | 15 | Note that there are definitely circumstances where running into an object might 16 | end up flinging you high into the air, so watch out for that. It's also not 17 | especially difficult to get yourself caught in inescapable "dead zones" of the 18 | map, especially if you end up flying through the air, so watch out for that and 19 | be prepared to do some fast travelling if necessary. 20 | 21 | Also, alas, Gearbox does seem to like their invisible walls, so this might not 22 | give you *quite* the freedom you were hoping for. 23 | 24 | Changelog 25 | ========= 26 | 27 | **v1.0.0** - Oct 9, 2022 28 | * Initial release, based on v1.0.0 of 29 | [BL3's Mountaineer](https://github.com/BLCM/bl3mods/wiki/Mountaineer) 30 | 31 | Licenses 32 | ======== 33 | 34 | This mod is licensed under [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/). 35 | 36 | The generation script for the mod is licensed under the 37 | [GPLv3 or later](https://www.gnu.org/licenses/quick-guide-gplv3.html). 38 | See [COPYING.txt](../../COPYING.txt) for the full text of the license. 39 | 40 | -------------------------------------------------------------------------------- /Apocalyptech/mod_testing_mods/mountaineer/mountaineer.wlhotfix: -------------------------------------------------------------------------------- 1 | 2 | @title Mountaineer 3 | @version 1.0.0 4 | @author Apocalyptech 5 | @contact https://apocalyptech.com/contact.php 6 | @categories cheat 7 | 8 | @license Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) 9 | @license-url https://creativecommons.org/licenses/by-sa/4.0/ 10 | 11 | @screenshot https://raw.githubusercontent.com/BLCM/wlmods/main/Apocalyptech/mod_testing_mods/mountaineer/overworld.png 12 | 13 | ### 14 | ### Allows the player to walk up (nearly) vertical walls (though true 15 | ### 90-degree walls or overhangs will still be impassable). Note that 16 | ### there are definitely circumstances where you can get flung 17 | ### extremely high in the air while using this, and you run an increased 18 | ### chance of getting stuck somewhere in the level. 19 | ### 20 | ### Applies to both your in-game character and while in the Overworld. 21 | ### 22 | ### Generated by gen_mountaineer.py 23 | ### 24 | 25 | # In-Game Character 26 | SparkPatchEntry,(1,1,0,),/Game/PlayerCharacters/_Shared/_Design/Character/BPChar_Player.Default__BPChar_Player_C,OakCharacterMovement.Object..WalkableFloorAngle,0,,89 27 | SparkPatchEntry,(1,1,0,),/Game/PlayerCharacters/_Shared/_Design/Character/BPChar_Player.Default__BPChar_Player_C,OakCharacterMovement.Object..WalkableFloorZ,0,,0.017452 28 | SparkPatchEntry,(1,1,0,),/Game/PlayerCharacters/_Shared/_Design/Character/BPChar_Player.Default__BPChar_Player_C,OakCharacterMovement.Object..MaxStepHeight,0,,400 29 | 30 | # Overworld Character 31 | SparkCharacterLoadedEntry,(1,1,0,BPChar_Overworld),/Game/Overworld/BPChar_Overworld.Default__BPChar_Overworld_C,OakCharacterMovement.Object..WalkableFloorAngle,0,,89 32 | SparkCharacterLoadedEntry,(1,1,0,BPChar_Overworld),/Game/Overworld/BPChar_Overworld.Default__BPChar_Overworld_C,OakCharacterMovement.Object..WalkableFloorZ,0,,0.017452 33 | SparkCharacterLoadedEntry,(1,1,0,BPChar_Overworld),/Game/Overworld/BPChar_Overworld.Default__BPChar_Overworld_C,OakCharacterMovement.Object..MaxStepHeight,0,,400 34 | 35 | # Sliding (global) 36 | SparkPatchEntry,(1,1,0,),/Game/PlayerCharacters/_Shared/_Design/Sliding/ControlledMove_Global_Sliding.Default__ControlledMove_Global_Sliding_C,MaxStepHeight,0,,400 37 | 38 | -------------------------------------------------------------------------------- /Apocalyptech/mod_testing_mods/mountaineer/overworld.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BLCM/wlmods/0f7f2d414383d3aa3b75d957a08d1c8354cdfef8/Apocalyptech/mod_testing_mods/mountaineer/overworld.png -------------------------------------------------------------------------------- /Apocalyptech/mod_testing_mods/quick_chaos_chamber_loot_room/README.md: -------------------------------------------------------------------------------- 1 | Quick Chaos Chamber Loot Room 2 | ============================= 3 | 4 | Resource mod to aid in testing out Chaos Chamber loot-room mods. Replaces 5 | the 'Normal' Chaos Chamber run with a 'Loot Run' which skips right to the 6 | loot room, and makes the central chest give you one million crystals to 7 | play with. This was originally written while working on my Mega TimeSaver 8 | XL mod, since I was working on both the end-of-run chest and the barf 9 | bunnies. 10 | 11 | Note that the crystal increase may bleed over to other run types as well. 12 | Obviously this mod could also be used to cheat, since it provides quick 13 | access to a lot of loot generation. 14 | 15 | Changelog 16 | ========= 17 | 18 | **v1.0.0** - Feb 27, 2023 19 | * Initial release 20 | 21 | Licenses 22 | ======== 23 | 24 | This mod is licensed under [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/). 25 | 26 | The generation script for the mod is licensed under the 27 | [GPLv3 or later](https://www.gnu.org/licenses/quick-guide-gplv3.html). 28 | See [COPYING.txt](../../COPYING.txt) for the full text of the license. 29 | 30 | -------------------------------------------------------------------------------- /Apocalyptech/mod_testing_mods/quick_chaos_chamber_loot_room/quick_chaos_chamber_loot_room.wlhotfix: -------------------------------------------------------------------------------- 1 | 2 | @title Quick Chaos Chamber Loot Room 3 | @version 1.0.0 4 | @author Apocalyptech 5 | @contact https://apocalyptech.com/contact.php 6 | @categories cheat, resource 7 | 8 | @license Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) 9 | @license-url https://creativecommons.org/licenses/by-sa/4.0/ 10 | 11 | ### 12 | ### Resource mod to aid in testing out Chaos Chamber loot-room mods. 13 | ### Replaces the 'Normal' Chaos Chamber run with a 'Loot Run' which 14 | ### skips right to the loot room, and makes the central chest give you 15 | ### one million crystals to play with. 16 | ### 17 | ### Generated by gen_quick_chaos_chamber_loot_room.py 18 | ### 19 | 20 | # Just the single loot room 21 | SparkLevelPatchEntry,(1,1,0,EndlessDungeon_P),/Game/GameData/Dungeon/PlaylistCreator/RunType/NormalDungeon.NormalDungeon,RoomsInformations,0,,((GameModeType=LootRoom)) 22 | 23 | # Loot room chest gives you 1m crystals 24 | SparkLevelPatchEntry,(1,1,0,EndlessDungeon_P),/Game/Pickups/CrystalCurrency/InvData_RC_Crystal.InvData_RC_Crystal,MonetaryValue,0,,(BaseValueConstant=1,DataTableValue=(DataTable=None,RowName="",ValueName=""),BaseValueAttribute=None,AttributeInitializer=None,BaseValueScale=50000) 25 | 26 | # Label the run properly 27 | SparkEarlyLevelPatchEntry,(1,1,0,EndlessDungeon_P),/Game/NonPlayerCharacters/DragonLord/_Design/Character/BPChar_NPC_DragonLord.Default__BPChar_NPC_DragonLord_C,RunDefList.RunDefList[1].Title,0,,Loot Run 28 | SparkEarlyLevelPatchEntry,(1,1,0,EndlessDungeon_P),/Game/NonPlayerCharacters/DragonLord/_Design/Character/BPChar_NPC_DragonLord.Default__BPChar_NPC_DragonLord_C,RunDefList.RunDefList[1].Description,0,,Just the loot room! 29 | 30 | -------------------------------------------------------------------------------- /Apocalyptech/mod_testing_mods/show_att_values/README.md: -------------------------------------------------------------------------------- 1 | Show Att Values 2 | =============== 3 | 4 | Resource mod to show the current value of some attributes in-game, for 5 | modding purposes. Edit the mod-generation script to specify the attrs 6 | you're interested in, regen the mod, and they'll show up in the "stats" 7 | section of the Chaos Mode menu. Obviously this would require using a 8 | save which has Chaos Mode already unlocked. 9 | 10 | The pre-configured attributes to be displayed are the character-weighting 11 | attributes ordinarily used for armor part weighting. 12 | 13 | Note that if you've got access to a Wonderlands-capable PythonSDK, it's 14 | a *lot* nicer to just pull attribute values out of that, instead. 15 | 16 | Changelog 17 | ========= 18 | 19 | **v1.0.0** - Oct 11, 2022 20 | * Initial release 21 | 22 | Licenses 23 | ======== 24 | 25 | This mod is licensed under [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/). 26 | 27 | The generation script for the mod is licensed under the 28 | [GPLv3 or later](https://www.gnu.org/licenses/quick-guide-gplv3.html). 29 | See [COPYING.txt](../../COPYING.txt) for the full text of the license. 30 | 31 | -------------------------------------------------------------------------------- /Apocalyptech/mod_testing_mods/show_att_values/example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BLCM/wlmods/0f7f2d414383d3aa3b75d957a08d1c8354cdfef8/Apocalyptech/mod_testing_mods/show_att_values/example.png -------------------------------------------------------------------------------- /Apocalyptech/mod_testing_mods/super_buff_goblin_pickaxe/README.md: -------------------------------------------------------------------------------- 1 | Super Buff: Goblin Pickaxe 2 | ========================== 3 | 4 | Cheat mod which modifies the Goblin Pickaxe melee weapon with following: 5 | 6 | * Absurd amount of damage 7 | * Vastly increased attack speed 8 | * Disables its ordinary legendary ability 9 | * Disables Elements on freshly-spawned Goblin Pickaxes 10 | * Disables various hilt mods in freshly-spawned Goblin Pickaxes: 11 | * Amp'd 12 | * Warded 13 | * Echo 14 | * Poisoned 15 | 16 | The element/hilt mod changes only apply to freshly-spawned versions; 17 | gear already in your inventory would be unaffected. The element 18 | changes are so that the weapon remains effective even when encountering 19 | enemies with elemental immunity. The hilt mod changes are just to 20 | ensure consistency when testing mods -- I like to make sure the only 21 | damage being dealt is damage I specifically cause. 22 | 23 | A level 1 Goblin Pickaxe using this mod will probably last you 24 | throughout an entire story runthough, and probably into some Chaos 25 | levels after that. 26 | 27 | This is basically just what I use for testing out mods, when I don't 28 | want to be bothered by combat. 29 | 30 | Changelog 31 | ========= 32 | 33 | **v1.0.0** - Jul 27, 2022 34 | * Initial release 35 | 36 | Licenses 37 | ======== 38 | 39 | This mod is licensed under [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/). 40 | 41 | The generation script for the mod is licensed under the 42 | [GPLv3 or later](https://www.gnu.org/licenses/quick-guide-gplv3.html). 43 | See [COPYING.txt](../../COPYING.txt) for the full text of the license. 44 | 45 | -------------------------------------------------------------------------------- /Apocalyptech/mod_testing_mods/super_buff_manual_transmission/README.md: -------------------------------------------------------------------------------- 1 | Super Buff: Manual Transmission 2 | =============================== 3 | 4 | Cheat mod which modifies the Manual Transmission AR with following: 5 | 6 | * Absurd amount of damage 7 | * Infinite ammo 8 | * Perfect accuracy/handling 9 | * No recoil 10 | * Increased rate of fire 11 | * No heat generation 12 | 13 | Additionally, the mod disables spawning of rails/scopes and elements 14 | on freshly-dropped Manual Transmissions. The scopes tend to take up 15 | too much of the screen for what I'd like to use for mod-testing, and 16 | the lack of element allows the gun to be useful even when encountering 17 | enemies with elemental immunity. 18 | 19 | A level 1 Manual Transmission using this mod will probably last you 20 | throughout an entire story runthough, and probably into some Chaos 21 | levels after that. 22 | 23 | This is basically just what I use for testing out mods, when I don't 24 | want to be bothered by combat. 25 | 26 | Changelog 27 | ========= 28 | 29 | **v1.0.0** - Jul 27, 2022 30 | * Initial release, based on v1.0.1 of 31 | [BL3's Super Buff: Crader's EM-P5](https://github.com/BLCM/bl3mods/wiki/Super%20Buff%3A%20Crader%27s%20EM-P5) 32 | 33 | Licenses 34 | ======== 35 | 36 | This mod is licensed under [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/). 37 | 38 | The generation script for the mod is licensed under the 39 | [GPLv3 or later](https://www.gnu.org/licenses/quick-guide-gplv3.html). 40 | See [COPYING.txt](../../COPYING.txt) for the full text of the license. 41 | 42 | -------------------------------------------------------------------------------- /Apocalyptech/mod_testing_mods/super_buff_transistor/README.md: -------------------------------------------------------------------------------- 1 | Super Buff: Transistor 2 | ====================== 3 | 4 | Cheat mod which gives the Transistor shield the following: 5 | 6 | * Zero recharge delay 7 | * Extraordinarily fast recharge 8 | * Disables Reflect, Spike, and Vagabond augments 9 | 10 | The augment part changes will only apply to freshly-dropped Transistors, 11 | not any which are currently in your inventory. I disabled those in 12 | particular because I value consistency in my testing gear. I generally 13 | don't want damage being dealt to anything unless I specifically want 14 | it to. 15 | 16 | A level 1 Transistor using this mod should easily last you throughout an 17 | entire story runthough, and probably into Chaos levels after that. 18 | 19 | This is basically just what I use for testing out mods, when I don't 20 | want to be bothered by combat. Note that this will *not* protect you 21 | from hardcoded insta-death scenarios, of course. 22 | 23 | Changelog 24 | ========= 25 | 26 | **v1.0.0** - Jul 27, 2022 27 | * Initial release, based on v1.0.0 of 28 | [BL3's Super Buff: Transformer](https://github.com/BLCM/bl3mods/wiki/Super%20Buff%3A%20Transformer) 29 | 30 | Licenses 31 | ======== 32 | 33 | This mod is licensed under [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/). 34 | 35 | The generation script for the mod is licensed under the 36 | [GPLv3 or later](https://www.gnu.org/licenses/quick-guide-gplv3.html). 37 | See [COPYING.txt](../../COPYING.txt) for the full text of the license. 38 | 39 | -------------------------------------------------------------------------------- /Apocalyptech/mod_testing_mods/super_buff_transistor/super_buff_transistor.wlhotfix: -------------------------------------------------------------------------------- 1 | 2 | @title Super Buff: Transistor 3 | @version 1.0.0 4 | @author Apocalyptech 5 | @contact https://apocalyptech.com/contact.php 6 | @categories cheat, gear-ward 7 | 8 | @license Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) 9 | @license-url https://creativecommons.org/licenses/by-sa/4.0/ 10 | 11 | ### 12 | ### Vastly buffs The Transistor, making you basically invulnerable 13 | ### when wearing it. Also applies some partlocking to exclude a few 14 | ### ward augments I don't want in my testing gear. 15 | ### 16 | ### Used by myself primarily just for mod testing purposes, for when I 17 | ### don't want to be bothered by actual combat. 18 | ### 19 | ### Generated by gen_super_buff_transistor.py 20 | ### 21 | 22 | ### 23 | ### Ward Behavior 24 | ### 25 | 26 | SparkPatchEntry,(1,1,0,),/Game/Gear/Shields/_Design/_Uniques/Transistor/Parts/Part_Shield_Aug_ANS_Transistor.Part_Shield_Aug_ANS_Transistor,InventoryAttributeEffects,0,,((AttributeToModify=GbxAttributeData'"/Game/Gear/Shields/_Design/Naming/Att_Shield_IgnoreManufacturerName.Att_Shield_IgnoreManufacturerName"',ModifierType=OverrideBaseValue,ModifierValue=(BaseValueConstant=1)),(AttributeToModify=GbxAttributeData'"/Game/Gear/Shields/_Design/Balance/Attributes/Att_ShieldBalance_Capacity.Att_ShieldBalance_Capacity"',ModifierType=ScaleSimple,ModifierValue=(BaseValueConstant=10000)),(AttributeToModify=GbxAttributeData'"/Game/Gear/Shields/_Design/Balance/Attributes/Att_ShieldBalance_RegenDelay.Att_ShieldBalance_RegenDelay"',ModifierType=ScaleSimple,ModifierValue=(BaseValueConstant=0)),(AttributeToModify=GbxAttributeData'"/Game/Gear/Shields/_Design/Balance/Attributes/Att_ShieldBalance_RegenRate.Att_ShieldBalance_RegenRate"',ModifierType=ScaleSimple,ModifierValue=(BaseValueConstant=100000))) 27 | 28 | ### 29 | ### Partlocks 30 | ### 31 | 32 | # Actually use agument weights 33 | SparkPatchEntry,(1,1,0,),/Game/Gear/Shields/_Design/_Uniques/Transistor/Balance/PartSet_Shield_Transistor.PartSet_Shield_Transistor,ActorPartLists.ActorPartLists[3].bUseWeightWithMultiplePartSelection,0,,True 34 | 35 | # Disable Augments 36 | SparkPatchEntry,(1,1,0,),/Game/Gear/Shields/_Design/_Uniques/Transistor/Balance/InvBalD_Shield_Transistor.InvBalD_Shield_Transistor,RuntimePartList.AllParts.AllParts[13].Weight.BaseValueScale,0,,0 37 | SparkPatchEntry,(1,1,0,),/Game/Gear/Shields/_Design/_Uniques/Transistor/Balance/InvBalD_Shield_Transistor.InvBalD_Shield_Transistor,RuntimePartList.AllParts.AllParts[16].Weight.BaseValueScale,0,,0 38 | SparkPatchEntry,(1,1,0,),/Game/Gear/Shields/_Design/_Uniques/Transistor/Balance/InvBalD_Shield_Transistor.InvBalD_Shield_Transistor,RuntimePartList.AllParts.AllParts[19].Weight.BaseValueScale,0,,0 39 | 40 | -------------------------------------------------------------------------------- /Apocalyptech/mod_testing_mods/testing_loot_drops/README.md: -------------------------------------------------------------------------------- 1 | Testing Loot Drops 2 | ================== 3 | 4 | This mod isn't actually a general-purpose mod. Rather, it's what I use to spawn 5 | gear in-game that I'm looking to do something with modwise (generally used when 6 | new DLC/content is out, and I'm looking to make sure I know where all the gear 7 | is, and update all my mods to account for the gear). 8 | 9 | To use this, you're meant to edit the generation file and alter the parameters to 10 | suit what you want. The checked-in version will have each enemy you kill drop 11 | five items from a pool which includes the Goblin Pickaxe melee weapon, Manual 12 | Transmission AR, and Transistor ward -- that's the testing gear I use alongside 13 | my three Super Buff mods. To get this mod to drop anything else, you'll have to 14 | edit to suit. (Note that the Goblin Pickaxe won't drop in early-game without 15 | my Early Bloomer mod active, as well.) 16 | 17 | Changelog 18 | ========= 19 | 20 | **v1.1.0** - Oct 9, 2022 21 | * Updated to use a spare pool from the game data, when specifying pool contents, 22 | rather than overwriting one of the "real" pools. This makes switching back 23 | and forth much easier -- previously, you'd generally need to quit the game 24 | entirely to get rid of changes, if you'd used this to set pool contents. You'll 25 | still need to quit entirely to *completely* disable the mod, though. 26 | 27 | **v1.0.0** - Jul 27, 2022 28 | * Initial release, based on v1.0.0 of 29 | [BL3's Testing Loot Drops](https://github.com/BLCM/bl3mods/wiki/Testing%20Loot%20Drops) 30 | 31 | Licenses 32 | ======== 33 | 34 | This mod is licensed under [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/). 35 | 36 | The generation script for the mod is licensed under the 37 | [GPLv3 or later](https://www.gnu.org/licenses/quick-guide-gplv3.html). 38 | See [COPYING.txt](../../COPYING.txt) for the full text of the license. 39 | 40 | -------------------------------------------------------------------------------- /Apocalyptech/mod_testing_mods/visible_bpchar_names/README.md: -------------------------------------------------------------------------------- 1 | Visible BPChar Names 2 | ==================== 3 | 4 | Updates Character (both NPC+Enemy) visible names to be the actual 5 | BPChar name from the game data. Useful for modders looking to make 6 | sure they know exactly what BPChar is being used at any given time, 7 | and completely useless for everyone else! 8 | 9 | Note that the names displayed here may not be 100% accurate -- there's 10 | some edge cases where I suspect the game could end up reporting a "base" 11 | class name instead of the more-specific one. There's also a few cases 12 | where the game seems to insist on showing the usual names for enemies 13 | despite my attempts -- for instance, the Splotch adds during Redmourne's 14 | fight in DLC4. 15 | 16 | Interestingly, many of the stationary NPCs found in the game (such as the 17 | Townsfolk in Brighthoof and Queen's Gate) tend to *not* be BPChars, so 18 | they aren't affected by this mod. Those are InteractiveObjects instead, 19 | typically. 20 | 21 | The mod also tends to break the boss name shown below the boss health 22 | bar, during boss battles. The name shown when pointing at the boss w/ 23 | your reticle should display properly still, though. 24 | 25 | This is also a pretty "heavy" mod -- there's nearly 500 `MatchAll`-based 26 | hotfixes to try and catch all possible SpawnOptions objects (trying to 27 | tailor hotfixes to only fire when required for all of those seemed 28 | like a daunting task). That doesn't seem to actually incur any 29 | noticeable performance impact, at least, but something to maybe be 30 | aware of. 31 | 32 | [BL3 version can be found here.](https://github.com/BLCM/bl3mods/wiki/Visible%20BPChar%20Names) 33 | 34 | Changelog 35 | ========= 36 | 37 | **v1.0.0** - Oct 11, 2022 38 | * Initial release 39 | 40 | Licenses 41 | ======== 42 | 43 | This mod is licensed under [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/). 44 | 45 | The generation script for the mod is licensed under the 46 | [GPLv3 or later](https://www.gnu.org/licenses/quick-guide-gplv3.html). 47 | See [COPYING.txt](../../COPYING.txt) for the full text of the license. 48 | 49 | -------------------------------------------------------------------------------- /Apocalyptech/mod_testing_mods/visible_bpchar_names/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BLCM/wlmods/0f7f2d414383d3aa3b75d957a08d1c8354cdfef8/Apocalyptech/mod_testing_mods/visible_bpchar_names/screenshot.png -------------------------------------------------------------------------------- /Apocalyptech/qol/README.md: -------------------------------------------------------------------------------- 1 | Apocalyptech's Quality of Life WL Mods 2 | ====================================== 3 | 4 | See the individual mod folders for full READMEs. 5 | 6 | - **Always Visible Challenge Icons** - Makes challenge icons visible at all 7 | times 8 | - **Cash 4 Teeth: Goblin Teeth Loot Bars** - Restores the missing loot bars 9 | on goblin teeth, during the side mission Cash 4 Teeth. 10 | - **Closer Destruction Rains From The Heavens** - Moves all three dungeons 11 | from this sidequest next to the quest-giver. 12 | - **Forgery: Ore Objective Icons** - Provides objective icons for the ore 13 | sources in the side mission Forgery. 14 | - **Gumbo No. 5: Veggie Objective Icons** - Provides objective icons for the 15 | butt-slammable veggies in the side mission Gumbo No. 5. 16 | - **Mega TimeSaver XL** - Speeds up slow animations throughout the game. 17 | - **More Visible Scrolls** - Makes the scroll loot bars (and, incidentally, 18 | mission items) far more visible 19 | - **No Blacksmith Hammers** - Disables the loud automatic hammers in the 20 | Brighthoof blacksmith area (right next to the enchantment-reroll machine) 21 | - **No DLC Gear Unlocked Notices** - Disables the "New Gear Unlocked" messages 22 | while in Dreamveil Overlook. 23 | - **No Fixed Overworld Map Cameras** - Disables the fixed-view cameras around 24 | map entrances, on the Overworld. 25 | - **No Reload Notification** - Removes the "reload" notification when you're 26 | near the end of a magazine. 27 | - **Photo Mode Unlock** - Lets the camera in Photo Mode go extremely far, and 28 | speeds up its movement. 29 | - **Quick Changes Everywhere** - Introduces a Quick Change station to every 30 | level in the game which didn't already have one. 31 | - **Skip DLC Intros** - Skips the DLC intro movies in Dreamveil Overlook, for 32 | DLCs 1, 2, and 3. Does *not* work for Shattering Spectreglass (DLC4)! 33 | 34 | Licenses 35 | ======== 36 | 37 | All Apocalyptech's code in here is licensed under the 38 | [GPLv3 or later](https://www.gnu.org/licenses/quick-guide-gplv3.html). 39 | See [COPYING.txt](../COPYING.txt) for the full text of the license. 40 | 41 | All Apocalyptech's mods in this repository are currently licensed under 42 | [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/). 43 | 44 | -------------------------------------------------------------------------------- /Apocalyptech/qol/always_visible_challenge_icons/README.md: -------------------------------------------------------------------------------- 1 | Always Visible Challenge Icons 2 | ============================== 3 | 4 | This mod attempts to make all challenge icons (Poetry Pages, Rune Switch Puzzles, etc) 5 | always appear on the map, regardless of if you've been close to them. This does 6 | *not* do anything for Lucky Dice, since those don't have map icons, and only need to 7 | be unlocked once per profile anyway. 8 | 9 | This will reveal Overworld challenge icons as well, though due to some 10 | differences in how the game deals with dungeons, shrine pieces contained in 11 | dungeons still require getting close to the dungeon to get those to show up on 12 | the map. The detection radius has been increased a *bit* for those, though. 13 | 14 | Note that you will miss dialog if you use this: when entering a new map, only one of 15 | the available challenge intros will be played. 16 | 17 | TODO 18 | ==== 19 | 20 | * Would be nice to figure out how to get shrine-piece-containing dungeons to 21 | show up automatically, instead of just having a larger detection radius. For 22 | some reason, though, they just don't show up at all if the player starts out 23 | inside the radius. 24 | 25 | Changelog 26 | ========= 27 | 28 | **v1.0.0** - Sep 19, 2022 29 | * Initial release, based on v1.1.0 of 30 | [BL3's Always Visible Challenge Icons](https://github.com/BLCM/bl3mods/wiki/Always%20Visible%20Challenge%20Icons) 31 | 32 | Licenses 33 | ======== 34 | 35 | This mod is licensed under [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/). 36 | 37 | The generation script for the mod is licensed under the 38 | [GPLv3 or later](https://www.gnu.org/licenses/quick-guide-gplv3.html). 39 | See [COPYING.txt](../../COPYING.txt) for the full text of the license. 40 | 41 | -------------------------------------------------------------------------------- /Apocalyptech/qol/always_visible_challenge_icons/overworld.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BLCM/wlmods/0f7f2d414383d3aa3b75d957a08d1c8354cdfef8/Apocalyptech/qol/always_visible_challenge_icons/overworld.png -------------------------------------------------------------------------------- /Apocalyptech/qol/cash_4_teeth_goblin_teeth_loot_bars/README.md: -------------------------------------------------------------------------------- 1 | Cash 4 Teeth: Goblin Teeth Loot Bars 2 | ==================================== 3 | 4 | Restores the missing loot bars on goblin teeth, during the Weepwild 5 | Dankness side mission 'Cash 4 Teeth'. The skeleton teeth during 6 | the first half of the mission already had them. 7 | 8 | Changelog 9 | ========= 10 | 11 | **v1.0.0** - Oct 18, 2022 12 | * Initial release 13 | 14 | Licenses 15 | ======== 16 | 17 | This mod is licensed under [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/). 18 | 19 | The generation script for the mod is licensed under the 20 | [GPLv3 or later](https://www.gnu.org/licenses/quick-guide-gplv3.html). 21 | See [COPYING.txt](../../COPYING.txt) for the full text of the license. 22 | 23 | -------------------------------------------------------------------------------- /Apocalyptech/qol/cash_4_teeth_goblin_teeth_loot_bars/cash_4_teeth_goblin_teeth_loot_bars.wlhotfix: -------------------------------------------------------------------------------- 1 | 2 | @title Cash 4 Teeth: Goblin Teeth Loot Bars 3 | @version 1.0.0 4 | @author Apocalyptech 5 | @contact https://apocalyptech.com/contact.php 6 | @categories qol, quest-changes 7 | 8 | @license Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) 9 | @license-url https://creativecommons.org/licenses/by-sa/4.0/ 10 | 11 | @screenshot https://raw.githubusercontent.com/BLCM/wlmods/main/Apocalyptech/qol/cash_4_teeth_goblin_teeth_loot_bars/teeth.jpg 12 | 13 | ### 14 | ### Restores the missing loot bars on goblin teeth, during the Weepwild 15 | ### Dankness side mission 'Cash 4 Teeth'. 16 | ### 17 | ### Generated by gen_cash_4_teeth_goblin_teeth_loot_bars.py 18 | ### 19 | 20 | SparkLevelPatchEntry,(1,1,0,Mushroom_P),/Game/Missions/Side/Zone_1/Mushroom/ToothFairy/Pickup_ToothFairy_ToothMonster.Default__Pickup_ToothFairy_ToothMonster_C,LootBeamComponent,0,,LootBeamComponent 21 | 22 | -------------------------------------------------------------------------------- /Apocalyptech/qol/cash_4_teeth_goblin_teeth_loot_bars/gen_cash_4_teeth_goblin_teeth_loot_bars.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # vim: set expandtab tabstop=4 shiftwidth=4: 3 | 4 | # Copyright 2022 Christopher J. Kucera 5 | # 6 | # 7 | # 8 | # This Wonderlands Hotfix Mod is free software: you can redistribute it 9 | # and/or modify it under the terms of the GNU General Public License 10 | # as published by the Free Software Foundation, either version 3 of 11 | # the License, or (at your option) any later version. 12 | # 13 | # This Wonderlands Hotfix Mod is distributed in the hope that it will 14 | # be useful, but WITHOUT ANY WARRANTY; without even the implied 15 | # warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 16 | # See the GNU General Public License for more details. 17 | # 18 | # You should have received a copy of the GNU General Public License 19 | # along with this Wonderlands Hotfix Mod. If not, see 20 | # . 21 | 22 | import sys 23 | sys.path.append('../../../python_mod_helpers') 24 | from wlhotfixmod.wlhotfixmod import Mod, BVC 25 | 26 | mod = Mod('cash_4_teeth_goblin_teeth_loot_bars.wlhotfix', 27 | 'Cash 4 Teeth: Goblin Teeth Loot Bars', 28 | 'Apocalyptech', 29 | [ 30 | "Restores the missing loot bars on goblin teeth, during the Weepwild", 31 | "Dankness side mission 'Cash 4 Teeth'.", 32 | ], 33 | contact='https://apocalyptech.com/contact.php', 34 | lic=Mod.CC_BY_SA_40, 35 | v='1.0.0', 36 | cats='qol, quest-changes', 37 | ss='https://raw.githubusercontent.com/BLCM/wlmods/main/Apocalyptech/qol/cash_4_teeth_goblin_teeth_loot_bars/teeth.jpg', 38 | ) 39 | 40 | # Yep, this is it! The Loot Bar sub-object *is* present in the object; it was just 41 | # never hooked up properly. Woo. 42 | mod.reg_hotfix(Mod.LEVEL, 'Mushroom_P', 43 | '/Game/Missions/Side/Zone_1/Mushroom/ToothFairy/Pickup_ToothFairy_ToothMonster.Default__Pickup_ToothFairy_ToothMonster_C', 44 | 'LootBeamComponent', 45 | 'LootBeamComponent') 46 | 47 | mod.close() 48 | -------------------------------------------------------------------------------- /Apocalyptech/qol/cash_4_teeth_goblin_teeth_loot_bars/teeth.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BLCM/wlmods/0f7f2d414383d3aa3b75d957a08d1c8354cdfef8/Apocalyptech/qol/cash_4_teeth_goblin_teeth_loot_bars/teeth.jpg -------------------------------------------------------------------------------- /Apocalyptech/qol/closer_destruction_rains/README.md: -------------------------------------------------------------------------------- 1 | Closer Destruction Rains From The Heavens 2 | ========================================= 3 | 4 | Moves all three dungeons from the post-game sidequest "Destruction Rains 5 | From the Heavens" to be right next to their quest-giver, rather than 6 | requiring the Fatemaker to tromp all around the Overworld. This also 7 | has the side effect of moving them all from behind the red Dark Magic 8 | Barriers, though the dungeons still won't be accessible until the quest 9 | has been picked up. 10 | 11 | Changelog 12 | ========= 13 | 14 | **v1.0.0** - Oct 14, 2022 15 | * Initial release 16 | 17 | Licenses 18 | ======== 19 | 20 | This mod is licensed under [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/). 21 | 22 | The generation script for the mod is licensed under the 23 | [GPLv3 or later](https://www.gnu.org/licenses/quick-guide-gplv3.html). 24 | See [COPYING.txt](../../COPYING.txt) for the full text of the license. 25 | 26 | -------------------------------------------------------------------------------- /Apocalyptech/qol/closer_destruction_rains/closer_destruction_rains.wlhotfix: -------------------------------------------------------------------------------- 1 | 2 | @title Closer Destruction Rains From The Heavens 3 | @version 1.0.0 4 | @author Apocalyptech 5 | @contact https://apocalyptech.com/contact.php 6 | @categories maps, quest-changes, qol 7 | 8 | @license Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) 9 | @license-url https://creativecommons.org/licenses/by-sa/4.0/ 10 | 11 | @screenshot https://raw.githubusercontent.com/BLCM/wlmods/master/Apocalyptech/qol/closer_destruction_rains/screenshot.png 12 | 13 | ### 14 | ### Moves all three dungeons from the post-game sidequest 'Destruction Rains 15 | ### From the Heavens' to be right next to their quest-giver, rather than 16 | ### requiring the Fatemaker to tromp all around the Overworld. This also 17 | ### has the side effect of moving them all from behind the red Dark Magic 18 | ### Barriers, though the dungeons still won't be accessible until the quest 19 | ### has been picked up. 20 | ### 21 | ### Generated by gen_closer_destruction_rains.py 22 | ### 23 | 24 | # BP_DungeonStarter_CastleRuin_2 25 | SparkLevelPatchEntry,(1,1,1,Overworld_P),/Game/Maps/Overworld/Overworld_M_DestructionRainsFromTheHeavens.Overworld_M_DestructionRainsFromTheHeavens:PersistentLevel.BP_DungeonStarter_CastleRuin_2.DefaultSceneRoot,RelativeLocation,0,,(x=14918,y=-57688,z=1732) 26 | SparkLevelPatchEntry,(1,1,1,Overworld_P),/Game/Maps/Overworld/Overworld_M_DestructionRainsFromTheHeavens.Overworld_M_DestructionRainsFromTheHeavens:PersistentLevel.BP_DungeonStarter_CastleRuin_2.DefaultSceneRoot,RelativeRotation,0,,(pitch=0,yaw=100,roll=0) 27 | 28 | # BP_DungeonStarter_Oasis_2 29 | SparkLevelPatchEntry,(1,1,1,Overworld_P),/Game/Maps/Overworld/Overworld_M_DestructionRainsFromTheHeavens.Overworld_M_DestructionRainsFromTheHeavens:PersistentLevel.BP_DungeonStarter_Oasis_2.DefaultSceneRoot,RelativeLocation,0,,(x=15719,y=-57632,z=1748) 30 | SparkLevelPatchEntry,(1,1,1,Overworld_P),/Game/Maps/Overworld/Overworld_M_DestructionRainsFromTheHeavens.Overworld_M_DestructionRainsFromTheHeavens:PersistentLevel.BP_DungeonStarter_Oasis_2.DefaultSceneRoot,RelativeRotation,0,,(pitch=0,yaw=80,roll=0) 31 | 32 | # BP_DungeonStarter_TempleRuin_3 33 | SparkLevelPatchEntry,(1,1,1,Overworld_P),/Game/Maps/Overworld/Overworld_M_DestructionRainsFromTheHeavens.Overworld_M_DestructionRainsFromTheHeavens:PersistentLevel.BP_DungeonStarter_TempleRuin_3.DefaultSceneRoot,RelativeLocation,0,,(x=16568,y=-57229,z=1781) 34 | SparkLevelPatchEntry,(1,1,1,Overworld_P),/Game/Maps/Overworld/Overworld_M_DestructionRainsFromTheHeavens.Overworld_M_DestructionRainsFromTheHeavens:PersistentLevel.BP_DungeonStarter_TempleRuin_3.DefaultSceneRoot,RelativeRotation,0,,(pitch=0,yaw=120,roll=0) 35 | 36 | -------------------------------------------------------------------------------- /Apocalyptech/qol/closer_destruction_rains/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BLCM/wlmods/0f7f2d414383d3aa3b75d957a08d1c8354cdfef8/Apocalyptech/qol/closer_destruction_rains/screenshot.png -------------------------------------------------------------------------------- /Apocalyptech/qol/forgery_ore_objective_icons/README.md: -------------------------------------------------------------------------------- 1 | Forgery: Ore Objective Icons 2 | ============================ 3 | 4 | Provides objective icons for the ore sources in the Mount Craw side 5 | mission "Forgery." No more hunting around for the barely-glowing 6 | sparkly bits! 7 | 8 | Changelog 9 | ========= 10 | 11 | **v1.0.0** - Oct 19, 2022 12 | * Initial release 13 | 14 | Licenses 15 | ======== 16 | 17 | This mod is licensed under [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/). 18 | 19 | The generation script for the mod is licensed under the 20 | [GPLv3 or later](https://www.gnu.org/licenses/quick-guide-gplv3.html). 21 | See [COPYING.txt](../../COPYING.txt) for the full text of the license. 22 | 23 | -------------------------------------------------------------------------------- /Apocalyptech/qol/forgery_ore_objective_icons/gen_forgery_ore_objective_icons.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # vim: set expandtab tabstop=4 shiftwidth=4: 3 | 4 | # Copyright 2022 Christopher J. Kucera 5 | # 6 | # 7 | # 8 | # This Wonderlands Hotfix Mod is free software: you can redistribute it 9 | # and/or modify it under the terms of the GNU General Public License 10 | # as published by the Free Software Foundation, either version 3 of 11 | # the License, or (at your option) any later version. 12 | # 13 | # This Wonderlands Hotfix Mod is distributed in the hope that it will 14 | # be useful, but WITHOUT ANY WARRANTY; without even the implied 15 | # warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 16 | # See the GNU General Public License for more details. 17 | # 18 | # You should have received a copy of the GNU General Public License 19 | # along with this Wonderlands Hotfix Mod. If not, see 20 | # . 21 | 22 | import sys 23 | sys.path.append('../../../python_mod_helpers') 24 | from wldata.wldata import WLData 25 | from wlhotfixmod.wlhotfixmod import Mod, BVC 26 | 27 | mod = Mod('forgery_ore_objective_icons.wlhotfix', 28 | 'Forgery: Ore Objective Icons', 29 | 'Apocalyptech', 30 | [ 31 | "Provides objective icons for the ore sources in the Mount Craw side", 32 | "mission 'Forgery.' No more hunting around for the barely-glowing", 33 | "sparkly bits!", 34 | ], 35 | contact='https://apocalyptech.com/contact.php', 36 | lic=Mod.CC_BY_SA_40, 37 | v='1.0.0', 38 | cats='qol, quest-changes', 39 | ss='https://raw.githubusercontent.com/BLCM/wlmods/main/Apocalyptech/qol/forgery_ore_objective_icons/ore.jpg', 40 | ) 41 | 42 | map_base = '/Game/Maps/Zone_1/Goblin/Goblin_M_SmithsCharade' 43 | map_short = map_base.rsplit('/', 1)[-1] 44 | map_full_base = f'{map_base}.{map_short}:PersistentLevel' 45 | waypoint = Mod.get_full_cond('/Game/UI/InWorldContainer/UIData_WaypointIcon_Mission', 'InWorldIconData') 46 | 47 | data = WLData() 48 | map_data = data.get_data(map_base) 49 | for export in map_data: 50 | if export['export_type'] == 'IO_MissionDamageable_Ore_C': 51 | damageable_name = export['_jwp_object_name'] 52 | damageable_name_full = f'{map_full_base}.{damageable_name}' 53 | icon = map_data[export['OakMissionIcon']['export']-1] 54 | if 'IconData' not in icon: 55 | # Yep, these do have to be EARLY level 56 | mod.reg_hotfix(Mod.EARLYLEVEL, 'Goblin_P', 57 | damageable_name_full, 58 | 'OakMissionIcon.Object..IconData', 59 | waypoint, 60 | ) 61 | mod.reg_hotfix(Mod.EARLYLEVEL, 'Goblin_P', 62 | damageable_name_full, 63 | 'OakMissionIcon.Object..IconEnabledCondition', 64 | export['Cond_MissionDamageableState_NewEnumerator1']['_jwp_export_dst_name'], 65 | ) 66 | 67 | mod.close() 68 | -------------------------------------------------------------------------------- /Apocalyptech/qol/forgery_ore_objective_icons/ore.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BLCM/wlmods/0f7f2d414383d3aa3b75d957a08d1c8354cdfef8/Apocalyptech/qol/forgery_ore_objective_icons/ore.jpg -------------------------------------------------------------------------------- /Apocalyptech/qol/gumbo_no_5_veggie_objective_icons/README.md: -------------------------------------------------------------------------------- 1 | Gumbo No. 5: Veggie Objective Icons 2 | =================================== 3 | 4 | Provides objective icons for the butt-slammable veggies in the 5 | Sandfang Oasis side mission "Gumbo No. 5." No more hunting around 6 | for the barely-glowing sparkly bits! 7 | 8 | Changelog 9 | ========= 10 | 11 | **v1.0.0** - Feb 27, 2023 12 | * Initial release, based on 13 | [Forgery: Ore Objective Icons](https://github.com/BLCM/wlmods/wiki/Forgery%3A%20Ore%20Objective%20Icons) 14 | 15 | Licenses 16 | ======== 17 | 18 | This mod is licensed under [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/). 19 | 20 | The generation script for the mod is licensed under the 21 | [GPLv3 or later](https://www.gnu.org/licenses/quick-guide-gplv3.html). 22 | See [COPYING.txt](../../COPYING.txt) for the full text of the license. 23 | 24 | -------------------------------------------------------------------------------- /Apocalyptech/qol/gumbo_no_5_veggie_objective_icons/crying_apples.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BLCM/wlmods/0f7f2d414383d3aa3b75d957a08d1c8354cdfef8/Apocalyptech/qol/gumbo_no_5_veggie_objective_icons/crying_apples.jpg -------------------------------------------------------------------------------- /Apocalyptech/qol/gumbo_no_5_veggie_objective_icons/gen_gumbo_no_5_veggie_objective_icons.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # vim: set expandtab tabstop=4 shiftwidth=4: 3 | 4 | # Copyright 2023 Christopher J. Kucera 5 | # 6 | # 7 | # 8 | # This Wonderlands Hotfix Mod is free software: you can redistribute it 9 | # and/or modify it under the terms of the GNU General Public License 10 | # as published by the Free Software Foundation, either version 3 of 11 | # the License, or (at your option) any later version. 12 | # 13 | # This Wonderlands Hotfix Mod is distributed in the hope that it will 14 | # be useful, but WITHOUT ANY WARRANTY; without even the implied 15 | # warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 16 | # See the GNU General Public License for more details. 17 | # 18 | # You should have received a copy of the GNU General Public License 19 | # along with this Wonderlands Hotfix Mod. If not, see 20 | # . 21 | 22 | import sys 23 | sys.path.append('../../../python_mod_helpers') 24 | from wldata.wldata import WLData 25 | from wlhotfixmod.wlhotfixmod import Mod, BVC 26 | 27 | mod = Mod('gumbo_no_5_veggie_objective_icons.wlhotfix', 28 | 'Gumbo No. 5: Veggie Objective Icons', 29 | 'Apocalyptech', 30 | [ 31 | "Provides objective icons for the butt-slammable veggies in the", 32 | "Sandfang Oasis side mission 'Gumbo No. 5.' No more hunting around", 33 | "for the barely-glowing sparkly bits!", 34 | ], 35 | contact='https://apocalyptech.com/contact.php', 36 | lic=Mod.CC_BY_SA_40, 37 | v='1.0.0', 38 | cats='qol, quest-changes', 39 | ss='https://raw.githubusercontent.com/BLCM/wlmods/main/Apocalyptech/qol/gumbo_no_5_veggie_objective_icons/crying_apples.jpg', 40 | ) 41 | 42 | map_base = '/Game/Maps/Zone_3/Oasis/Oasis_M_LowTideBoil' 43 | map_short = map_base.rsplit('/', 1)[-1] 44 | map_full_base = f'{map_base}.{map_short}:PersistentLevel' 45 | waypoint = Mod.get_full_cond('/Game/UI/InWorldContainer/UIData_WaypointIcon_Mission', 'InWorldIconData') 46 | 47 | data = WLData() 48 | map_data = data.get_data(map_base) 49 | for export in map_data: 50 | if export['export_type'] == 'IO_MissionDamageable_ButtslamVeggies_C': 51 | damageable_name = export['_jwp_object_name'] 52 | damageable_name_full = f'{map_full_base}.{damageable_name}' 53 | icon = map_data[export['OakMissionIcon']['export']-1] 54 | #if 'IconData' not in icon: 55 | # # Yep, these do have to be EARLY level 56 | # mod.reg_hotfix(Mod.EARLYLEVEL, 'Goblin_P', 57 | # damageable_name_full, 58 | # 'OakMissionIcon.Object..IconData', 59 | # waypoint, 60 | # ) 61 | mod.reg_hotfix(Mod.EARLYLEVEL, 'Oasis_P', 62 | damageable_name_full, 63 | 'OakMissionIcon.Object..IconEnabledCondition', 64 | export['Cond_MissionDamageableState_NewEnumerator1']['_jwp_export_dst_name'], 65 | ) 66 | 67 | mod.close() 68 | -------------------------------------------------------------------------------- /Apocalyptech/qol/gumbo_no_5_veggie_objective_icons/gumbo_no_5_veggie_objective_icons.wlhotfix: -------------------------------------------------------------------------------- 1 | 2 | @title Gumbo No. 5: Veggie Objective Icons 3 | @version 1.0.0 4 | @author Apocalyptech 5 | @contact https://apocalyptech.com/contact.php 6 | @categories qol, quest-changes 7 | 8 | @license Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) 9 | @license-url https://creativecommons.org/licenses/by-sa/4.0/ 10 | 11 | @screenshot https://raw.githubusercontent.com/BLCM/wlmods/main/Apocalyptech/qol/gumbo_no_5_veggie_objective_icons/crying_apples.jpg 12 | 13 | ### 14 | ### Provides objective icons for the butt-slammable veggies in the 15 | ### Sandfang Oasis side mission 'Gumbo No. 5.' No more hunting around 16 | ### for the barely-glowing sparkly bits! 17 | ### 18 | ### Generated by gen_gumbo_no_5_veggie_objective_icons.py 19 | ### 20 | 21 | SparkEarlyLevelPatchEntry,(1,1,0,Oasis_P),/Game/Maps/Zone_3/Oasis/Oasis_M_LowTideBoil.Oasis_M_LowTideBoil:PersistentLevel.IO_MissionDamageable_ButtslamVeggies_10,OakMissionIcon.Object..IconEnabledCondition,0,,MissionEnableConditionObjective_0 22 | SparkEarlyLevelPatchEntry,(1,1,0,Oasis_P),/Game/Maps/Zone_3/Oasis/Oasis_M_LowTideBoil.Oasis_M_LowTideBoil:PersistentLevel.IO_MissionDamageable_ButtslamVeggies_11,OakMissionIcon.Object..IconEnabledCondition,0,,MissionEnableConditionObjective_0 23 | SparkEarlyLevelPatchEntry,(1,1,0,Oasis_P),/Game/Maps/Zone_3/Oasis/Oasis_M_LowTideBoil.Oasis_M_LowTideBoil:PersistentLevel.IO_MissionDamageable_ButtslamVeggies_12,OakMissionIcon.Object..IconEnabledCondition,0,,MissionEnableConditionObjective_0 24 | SparkEarlyLevelPatchEntry,(1,1,0,Oasis_P),/Game/Maps/Zone_3/Oasis/Oasis_M_LowTideBoil.Oasis_M_LowTideBoil:PersistentLevel.IO_MissionDamageable_ButtslamVeggies_13,OakMissionIcon.Object..IconEnabledCondition,0,,MissionEnableConditionObjective_0 25 | SparkEarlyLevelPatchEntry,(1,1,0,Oasis_P),/Game/Maps/Zone_3/Oasis/Oasis_M_LowTideBoil.Oasis_M_LowTideBoil:PersistentLevel.IO_MissionDamageable_ButtslamVeggies_14,OakMissionIcon.Object..IconEnabledCondition,0,,MissionEnableConditionObjective_0 26 | SparkEarlyLevelPatchEntry,(1,1,0,Oasis_P),/Game/Maps/Zone_3/Oasis/Oasis_M_LowTideBoil.Oasis_M_LowTideBoil:PersistentLevel.IO_MissionDamageable_ButtslamVeggies_15,OakMissionIcon.Object..IconEnabledCondition,0,,MissionEnableConditionObjective_0 27 | SparkEarlyLevelPatchEntry,(1,1,0,Oasis_P),/Game/Maps/Zone_3/Oasis/Oasis_M_LowTideBoil.Oasis_M_LowTideBoil:PersistentLevel.IO_MissionDamageable_ButtslamVeggies_16,OakMissionIcon.Object..IconEnabledCondition,0,,MissionEnableConditionObjective_0 28 | SparkEarlyLevelPatchEntry,(1,1,0,Oasis_P),/Game/Maps/Zone_3/Oasis/Oasis_M_LowTideBoil.Oasis_M_LowTideBoil:PersistentLevel.IO_MissionDamageable_ButtslamVeggies_5,OakMissionIcon.Object..IconEnabledCondition,0,,MissionEnableConditionObjective_0 29 | 30 | -------------------------------------------------------------------------------- /Apocalyptech/qol/more_visible_scrolls/README.md: -------------------------------------------------------------------------------- 1 | More Visible Scrolls 2 | ==================== 3 | 4 | Makes ECHO log loot bars (and any other item using the same bar definition 5 | in the game data, which includes mission items) much bigger and noticeable. 6 | I wrote this to help me spot the odd ECHO that I might have missed during 7 | playthroughs. 8 | 9 | Note that the game does not typically draw loot bars for items which are 10 | hidden behind level geometry, so you generally still have to have roughly 11 | line-of-sight to the ECHO in question, to see the loot bar at all. This 12 | can lead to some situations where strafing slightly to one direction might 13 | cause a huge loot bar to suddenly appear. 14 | 15 | Changelog 16 | ========= 17 | 18 | **v1.0.0** - Jul 28, 2022 19 | * Initial release, based on v1.0.0 of 20 | [BL3's More Visible ECHO Logs](https://github.com/BLCM/bl3mods/wiki/More%20Visible%20ECHO%20Logs) 21 | 22 | Licenses 23 | ======== 24 | 25 | This mod is licensed under [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/). 26 | 27 | The generation script for the mod is licensed under the 28 | [GPLv3 or later](https://www.gnu.org/licenses/quick-guide-gplv3.html). 29 | See [COPYING.txt](../../COPYING.txt) for the full text of the license. 30 | 31 | -------------------------------------------------------------------------------- /Apocalyptech/qol/more_visible_scrolls/more_visible_scrolls.wlhotfix: -------------------------------------------------------------------------------- 1 | 2 | @title More Visible Scrolls 3 | @version 1.0.0 4 | @author Apocalyptech 5 | @contact https://apocalyptech.com/contact.php 6 | @categories qol 7 | 8 | @license Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) 9 | @license-url https://creativecommons.org/licenses/by-sa/4.0/ 10 | 11 | @screenshot https://raw.githubusercontent.com/BLCM/wlmods/master/Apocalyptech/qol/more_visible_scrolls/scroll.png 12 | 13 | ### 14 | ### Alters the loot bar for scrolls (and coincidentally mission-related pickups, 15 | ### and anything else using that smallish cyan bar) so that it's *much* taller and 16 | ### a bit wider, to be more easily visible from a distance. Put this together 17 | ### because I wasn't sure if I'd heard all the scrolls yet, and these might help 18 | ### me suss a few more out. 19 | ### 20 | ### Technically this also lengthens the ammo/moon orb/health/money/booster bars a bit, 21 | ### but only by a very small amount. 22 | ### 23 | ### Generated by gen_more_visible_scrolls.py 24 | ### 25 | 26 | # Interactive height 27 | SparkPatchEntry,(1,1,0,),/Game/GameData/Loot/RarityData/RarityData_00_Mission.RarityData_00_Mission,RarityLootBeamHeight,0,,200 28 | 29 | # Visual size 30 | SparkPatchEntry,(1,1,0,),/Game/Pickups/_Shared/Effects/Systems/PS_ConsumableLocatorStick.PS_ConsumableLocatorStick:ParticleModuleSize_0.DistributionVectorConstant_1,Constant.Y,0,,900 31 | SparkPatchEntry,(1,1,0,),/Game/Pickups/_Shared/Effects/Systems/PS_ConsumableLocatorStick.PS_ConsumableLocatorStick:ParticleModuleSize_0.DistributionVectorConstant_1,Constant.X,0,,15 32 | 33 | # Reassign ammo/moon orbs/health/money loot bars 34 | SparkPatchEntry,(1,1,0,),/Game/GameData/Loot/RarityData/RarityData_00_Ammo.RarityData_00_Ammo,RarityLootBeamOverride,0,,ParticleSystem'"/Game/Pickups/_Shared/Effects/Systems/PS_ItemLocatorStick_Common.PS_ItemLocatorStick_Common"' 35 | SparkPatchEntry,(1,1,0,),/Game/GameData/Loot/RarityData/RarityData_00_Eridium.RarityData_00_Eridium,RarityLootBeamOverride,0,,ParticleSystem'"/Game/Pickups/_Shared/Effects/Systems/PS_ItemLocatorStick_Common.PS_ItemLocatorStick_Common"' 36 | SparkPatchEntry,(1,1,0,),/Game/GameData/Loot/RarityData/RarityData_00_Health.RarityData_00_Health,RarityLootBeamOverride,0,,ParticleSystem'"/Game/Pickups/_Shared/Effects/Systems/PS_ItemLocatorStick_Common.PS_ItemLocatorStick_Common"' 37 | SparkPatchEntry,(1,1,0,),/Game/GameData/Loot/RarityData/RarityData_00_Money.RarityData_00_Money,RarityLootBeamOverride,0,,ParticleSystem'"/Game/Pickups/_Shared/Effects/Systems/PS_ItemLocatorStick_Common.PS_ItemLocatorStick_Common"' 38 | 39 | -------------------------------------------------------------------------------- /Apocalyptech/qol/more_visible_scrolls/scroll.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BLCM/wlmods/0f7f2d414383d3aa3b75d957a08d1c8354cdfef8/Apocalyptech/qol/more_visible_scrolls/scroll.png -------------------------------------------------------------------------------- /Apocalyptech/qol/no_blacksmith_hammers/README.md: -------------------------------------------------------------------------------- 1 | No Blacksmith Hammers 2 | ===================== 3 | 4 | Disables the loud automatic hammers in the Brighthoof Blacksmith area, 5 | right next to the Enchantment-reroll machine. Manage your enchantments 6 | in peace, even if you haven't unlocked the Chaos Chamber yet! 7 | 8 | Changelog 9 | ========= 10 | 11 | **v1.0.0** - Aug 1, 2022 12 | * Initial release 13 | 14 | Licenses 15 | ======== 16 | 17 | This mod is licensed under [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/). 18 | 19 | The generation script for the mod is licensed under the 20 | [GPLv3 or later](https://www.gnu.org/licenses/quick-guide-gplv3.html). 21 | See [COPYING.txt](../../COPYING.txt) for the full text of the license. 22 | 23 | -------------------------------------------------------------------------------- /Apocalyptech/qol/no_blacksmith_hammers/gen_no_blacksmith_hammers.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # vim: set expandtab tabstop=4 shiftwidth=4: 3 | 4 | # Copyright 2022 Christopher J. Kucera 5 | # 6 | # 7 | # 8 | # This Wonderlands Hotfix Mod is free software: you can redistribute it 9 | # and/or modify it under the terms of the GNU General Public License 10 | # as published by the Free Software Foundation, either version 3 of 11 | # the License, or (at your option) any later version. 12 | # 13 | # This Wonderlands Hotfix Mod is distributed in the hope that it will 14 | # be useful, but WITHOUT ANY WARRANTY; without even the implied 15 | # warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 16 | # See the GNU General Public License for more details. 17 | # 18 | # You should have received a copy of the GNU General Public License 19 | # along with this Wonderlands Hotfix Mod. If not, see 20 | # . 21 | 22 | import sys 23 | sys.path.append('../../../python_mod_helpers') 24 | from wlhotfixmod.wlhotfixmod import Mod, BVC 25 | 26 | mod = Mod('no_blacksmith_hammers.wlhotfix', 27 | 'No Blacksmith Hammers', 28 | 'Apocalyptech', 29 | [ 30 | "Disables the loud automatic hammers in the Brighthoof Blacksmith area,", 31 | "right next to the Enchantment-reroll machine. Manage your enchantments", 32 | "in peace, even if you haven't unlocked the Chaos Chamber yet!", 33 | ], 34 | contact='https://apocalyptech.com/contact.php', 35 | lic=Mod.CC_BY_SA_40, 36 | v='1.0.0', 37 | cats='qol, maps', 38 | ) 39 | 40 | mod.comment('Remove Hammer Sequences') 41 | mod.reg_hotfix(Mod.LEVEL, 'Hubtown_P', 42 | '/Game/Maps/Zone_1/Hubtown/Hubtown_M_Plot2RestoreTown.Hubtown_M_Plot2RestoreTown:PersistentLevel.IO_MissionScripted_ForgeHammer_0', 43 | 'HammerSequences', 44 | '()', 45 | notify=False) 46 | mod.newline() 47 | 48 | mod.comment('Remove background clicky sound effect, too') 49 | mod.reg_hotfix(Mod.LEVEL, 'Hubtown_P', 50 | '/Game/Maps/Zone_1/Hubtown/Hubtown_M_Plot2RestoreTown.Hubtown_M_Plot2RestoreTown:PersistentLevel.IO_MissionScripted_ForgeHammer_0', 51 | 'Audio_MachineLoopStart', 52 | 'None') 53 | mod.reg_hotfix(Mod.LEVEL, 'Hubtown_P', 54 | '/Game/Maps/Zone_1/Hubtown/Hubtown_M_Plot2RestoreTown.Hubtown_M_Plot2RestoreTown:PersistentLevel.IO_MissionScripted_ForgeHammer_0', 55 | 'Audio_MachineLoopStop', 56 | 'None') 57 | mod.newline() 58 | 59 | mod.close() 60 | -------------------------------------------------------------------------------- /Apocalyptech/qol/no_blacksmith_hammers/no_blacksmith_hammers.wlhotfix: -------------------------------------------------------------------------------- 1 | 2 | @title No Blacksmith Hammers 3 | @version 1.0.0 4 | @author Apocalyptech 5 | @contact https://apocalyptech.com/contact.php 6 | @categories qol, maps 7 | 8 | @license Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) 9 | @license-url https://creativecommons.org/licenses/by-sa/4.0/ 10 | 11 | ### 12 | ### Disables the loud automatic hammers in the Brighthoof Blacksmith area, 13 | ### right next to the Enchantment-reroll machine. Manage your enchantments 14 | ### in peace, even if you haven't unlocked the Chaos Chamber yet! 15 | ### 16 | ### Generated by gen_no_blacksmith_hammers.py 17 | ### 18 | 19 | # Remove Hammer Sequences 20 | SparkLevelPatchEntry,(1,1,0,Hubtown_P),/Game/Maps/Zone_1/Hubtown/Hubtown_M_Plot2RestoreTown.Hubtown_M_Plot2RestoreTown:PersistentLevel.IO_MissionScripted_ForgeHammer_0,HammerSequences,0,,() 21 | 22 | # Remove background clicky sound effect, too 23 | SparkLevelPatchEntry,(1,1,0,Hubtown_P),/Game/Maps/Zone_1/Hubtown/Hubtown_M_Plot2RestoreTown.Hubtown_M_Plot2RestoreTown:PersistentLevel.IO_MissionScripted_ForgeHammer_0,Audio_MachineLoopStart,0,,None 24 | SparkLevelPatchEntry,(1,1,0,Hubtown_P),/Game/Maps/Zone_1/Hubtown/Hubtown_M_Plot2RestoreTown.Hubtown_M_Plot2RestoreTown:PersistentLevel.IO_MissionScripted_ForgeHammer_0,Audio_MachineLoopStop,0,,None 25 | 26 | -------------------------------------------------------------------------------- /Apocalyptech/qol/no_dlc_gear_unlocked_notices/README.md: -------------------------------------------------------------------------------- 1 | No DLC Gear Unlocked Notices 2 | ============================ 3 | 4 | Removes the 'New Gear Unlocked' messages which seem to pop up constantly 5 | in Dreamveil Overlook while working your way through the DLC missions. 6 | 7 | Go spin the Wheel of Fate in peace! 8 | 9 | Changelog 10 | ========= 11 | 12 | **v1.0.0** - Oct 27, 2022 13 | * Initial release 14 | 15 | Licenses 16 | ======== 17 | 18 | This mod is licensed under [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/). 19 | 20 | The generation script for the mod is licensed under the 21 | [GPLv3 or later](https://www.gnu.org/licenses/quick-guide-gplv3.html). 22 | See [COPYING.txt](../../COPYING.txt) for the full text of the license. 23 | 24 | -------------------------------------------------------------------------------- /Apocalyptech/qol/no_fixed_overworld_map_cameras/README.md: -------------------------------------------------------------------------------- 1 | No Fixed Overworld Map Cameras 2 | ============================== 3 | 4 | This catchily-named mod prevents the Overworld camera from becoming fixed-view when approaching (or leaving) map entrances. It does *not* remove the fixed camera segments which happen during quest interactions, etc. 5 | 6 | Changelog 7 | ========= 8 | 9 | **v1.0.0** - Oct 18, 2022 10 | * Initial release 11 | 12 | Licenses 13 | ======== 14 | 15 | This mod is licensed under [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/). 16 | 17 | The generation script for the mod is licensed under the 18 | [GPLv3 or later](https://www.gnu.org/licenses/quick-guide-gplv3.html). 19 | See [COPYING.txt](../../COPYING.txt) for the full text of the license. 20 | 21 | -------------------------------------------------------------------------------- /Apocalyptech/qol/no_reload_notification/README.md: -------------------------------------------------------------------------------- 1 | No Reload Notification 2 | ====================== 3 | 4 | Removes the "reload" notification when you're near the end of a magazine. 5 | 6 | Changelog 7 | ========= 8 | 9 | **v1.0.0** - Jul 29, 2022 10 | * Initial release, based on v1.0.0 of 11 | [BL3's No Reload Notification](https://github.com/BLCM/bl3mods/wiki/No%20Reload%20Notification) 12 | 13 | Licenses 14 | ======== 15 | 16 | This mod is licensed under [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/). 17 | 18 | The generation script for the mod is licensed under the 19 | [GPLv3 or later](https://www.gnu.org/licenses/quick-guide-gplv3.html). 20 | See [COPYING.txt](../../COPYING.txt) for the full text of the license. 21 | 22 | -------------------------------------------------------------------------------- /Apocalyptech/qol/no_reload_notification/gen_no_reload_notification.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # vim: set expandtab tabstop=4 shiftwidth=4: 3 | 4 | # Copyright 2019-2022 Christopher J. Kucera 5 | # 6 | # 7 | # 8 | # This Wonderlands Hotfix Mod is free software: you can redistribute it 9 | # and/or modify it under the terms of the GNU General Public License 10 | # as published by the Free Software Foundation, either version 3 of 11 | # the License, or (at your option) any later version. 12 | # 13 | # This Wonderlands Hotfix Mod is distributed in the hope that it will 14 | # be useful, but WITHOUT ANY WARRANTY; without even the implied 15 | # warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 16 | # See the GNU General Public License for more details. 17 | # 18 | # You should have received a copy of the GNU General Public License 19 | # along with this Wonderlands Hotfix Mod. If not, see 20 | # . 21 | 22 | import sys 23 | sys.path.append('../../../python_mod_helpers') 24 | from wlhotfixmod.wlhotfixmod import Mod, BVC 25 | 26 | mod = Mod('no_reload_notification.wlhotfix', 27 | 'No Reload Notification', 28 | 'Apocalyptech', 29 | [ 30 | "Removes the onscreen prompt to reload, when near the end of a mag.", 31 | ], 32 | contact='https://apocalyptech.com/contact.php', 33 | lic=Mod.CC_BY_SA_40, 34 | v='1.0.0', 35 | cats='qol, ui', 36 | ) 37 | 38 | # Default: 0.4 39 | mod.reg_hotfix(Mod.PATCH, '', 40 | '/Game/GameData/GameplayGlobals', 41 | 'AmmoLowPercent', 42 | 0) 43 | 44 | mod.close() 45 | -------------------------------------------------------------------------------- /Apocalyptech/qol/no_reload_notification/no_reload_notification.wlhotfix: -------------------------------------------------------------------------------- 1 | 2 | @title No Reload Notification 3 | @version 1.0.0 4 | @author Apocalyptech 5 | @contact https://apocalyptech.com/contact.php 6 | @categories qol, ui 7 | 8 | @license Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) 9 | @license-url https://creativecommons.org/licenses/by-sa/4.0/ 10 | 11 | ### 12 | ### Removes the onscreen prompt to reload, when near the end of a mag. 13 | ### 14 | ### Generated by gen_no_reload_notification.py 15 | ### 16 | 17 | SparkPatchEntry,(1,1,0,),/Game/GameData/GameplayGlobals.GameplayGlobals,AmmoLowPercent,0,,0 18 | 19 | -------------------------------------------------------------------------------- /Apocalyptech/qol/photo_mode_unlock/README.md: -------------------------------------------------------------------------------- 1 | Photo Mode Unlock 2 | ================= 3 | 4 | Lets the camera in Photo Mode go extremely far, and also speeds it up 5 | so that getting across the map isn't super slow. Untested exactly 6 | *how* far you can go -- you might not be able to go literally all the 7 | way across every map, but you can zip about quite far. 8 | 9 | This also reduces the camera's collission radius to zero, which doesn't 10 | let it clip directly through objects but it will often be able to slip 11 | through seams if you're persistent enough, which will let you take the 12 | camera under floors or through walls. 13 | 14 | Changelog 15 | ========= 16 | 17 | **v1.0.0** - Jul 27, 2022 18 | * Initial release, based on v1.0.0 of 19 | [BL3's Photo Mode Unlock](https://github.com/BLCM/bl3mods/wiki/Photo%20Mode%20Unlock) 20 | 21 | Licenses 22 | ======== 23 | 24 | This mod is licensed under [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/). 25 | 26 | The generation script for the mod is licensed under the 27 | [GPLv3 or later](https://www.gnu.org/licenses/quick-guide-gplv3.html). 28 | See [COPYING.txt](../../COPYING.txt) for the full text of the license. 29 | 30 | -------------------------------------------------------------------------------- /Apocalyptech/qol/photo_mode_unlock/photo_mode_unlock.wlhotfix: -------------------------------------------------------------------------------- 1 | 2 | @title Photo Mode Unlock 3 | @version 1.0.0 4 | @author Apocalyptech 5 | @contact https://apocalyptech.com/contact.php 6 | @categories qol 7 | 8 | @license Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) 9 | @license-url https://creativecommons.org/licenses/by-sa/4.0/ 10 | 11 | ### 12 | ### Unlocks the camera in Photo Mode to be able to go extremely far. Possibly 13 | ### not to the full extent of every level -- I've not tested thoroughly -- but 14 | ### you can zip about quite a ways. Also buffs up the camera move speed so that 15 | ### it's not agonizing having to go over so much terrain. That might make lining 16 | ### up precise angles a bit harder, but c'est la vie! 17 | ### 18 | ### Also reduces the camera's collision radius to zero, which doesn't let it clip 19 | ### directly through objects, but it can often slip through real tiny seams. 20 | ### 21 | ### Generated by gen_photo_mode_unlock.py 22 | ### 23 | 24 | # Extending camera range 25 | SparkPatchEntry,(1,1,0,),/Game/GameData/Camera/CameraMode_PhotoMode_Offset.CameraMode_PhotoMode_Offset:Behaviors_CameraBehavior_OffsetCameraRelativeFromInputs,MoveLimit,0,,(Min=(X=-30000,Y=-30000,Z=-30000),Max=(X=30000,Y=30000,Z=30000),IsValid=1) 26 | 27 | # Increasing camera move speed 28 | SparkPatchEntry,(1,1,0,),/Game/GameData/Camera/CameraMode_PhotoMode_Offset.CameraMode_PhotoMode_Offset:Behaviors_CameraBehavior_OffsetCameraRelativeFromInputs,MoveSpeed,0,,800 29 | 30 | # Decrease collision radius (can sometimes let us clip through edges) 31 | SparkPatchEntry,(1,1,0,),/Game/GameData/Camera/CameraMode_PhotoMode_Offset.CameraMode_PhotoMode_Offset:Behaviors_CameraBehavior_OffsetCameraRelativeFromInputs,CollisionRadius,0,,0 32 | 33 | -------------------------------------------------------------------------------- /Apocalyptech/qol/quick_changes_everywhere/README.md: -------------------------------------------------------------------------------- 1 | Quick Changes Everywhere 2 | ======================== 3 | 4 | Introduces a Quick Change station to every level in the game which 5 | didn't already have one. 6 | 7 | The Quick Change placements should in general be pretty obvious, and 8 | placed around the "main" Fast Travel location in each map. Some larger 9 | maps have more than one station placed, and a couple might have the 10 | station in a less-than-obvious location. Here's the ones which might 11 | be slightly less obvious, or where there's more than one per map: 12 | 13 | - **Snoring Valley:** Tucked to the side of a building before the first 14 | waystone. 15 | - **Queen's Gate:** Two stations, at the beginning and end of the level. 16 | - **Mount Craw:** Three stations, near all three of the fast travels. 17 | - **Weepwild Dankness:** At the map entrance, and before the Banshee 18 | area. 19 | - **Tangledrift:** Just one station, in Driftwood. 20 | - **Wargtooth Shallows:** Three stations, near all three of the fast 21 | travels. The one near the entrance is much closer to the actual 22 | level entrance than the fast travel marker, though. 23 | - **Crackmast Cove:** The single station is against a building right 24 | outside the entrance cave. 25 | - **Drowned Abyss:** Stations at the level entrance and at The 26 | Seapulchre. 27 | - **Karnok's Wall:** Three stations, one for each fast travel point. 28 | The Soultorn Rise station is actually down the stairs a bit, towards 29 | the level entrance. 30 | - **Sunfang Oasis:** Three stations - one at Everfrost Icetomb, and 31 | the other two near the Chestward Locks fast travel: one tucked next 32 | to a building toward the level entrance, and another above the fast 33 | travel, near the "elevator" to the boss battle. 34 | - **Ossu-Gol Necropolis:** Three stations: One a little ways after the 35 | level entrance (before the bridge), one around the corner from the Elder's 36 | hideout, and one at the Hall of Heroes fast travel. 37 | - **The Fearamid:** The single station is on the platform below the 38 | level entrance (and "Facing Fear" fast travel). 39 | - **Crest of Fate:** Two stations before the elevator, just for symmetry! 40 | 41 | Let me know if you've got any alternate placements for these which you 42 | think might make sense, either as an alternative to what I have in here 43 | or as an addition. 44 | 45 | **Compatibility Note:** This mod will *not* be compatible with any other 46 | mod which adds in Quick Change stations to the same levels. 47 | 48 | Changelog 49 | ========= 50 | 51 | **v1.0.0** - Nov 2, 2022 52 | * Initial release, based on v1.0.0 of 53 | [BL3's Quick Changes Everywhere](https://github.com/BLCM/bl3mods/wiki/Quick%20Changes%20Everywhere) 54 | 55 | Licenses 56 | ======== 57 | 58 | This mod is licensed under [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/). 59 | 60 | The generation script for the mod is licensed under the 61 | [GPLv3 or later](https://www.gnu.org/licenses/quick-guide-gplv3.html). 62 | See [COPYING.txt](../../COPYING.txt) for the full text of the license. 63 | 64 | -------------------------------------------------------------------------------- /Apocalyptech/qol/quick_changes_everywhere/sunfang.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BLCM/wlmods/0f7f2d414383d3aa3b75d957a08d1c8354cdfef8/Apocalyptech/qol/quick_changes_everywhere/sunfang.jpg -------------------------------------------------------------------------------- /Apocalyptech/qol/skip_dlc_intros/README.md: -------------------------------------------------------------------------------- 1 | Skip DLC Intros 2 | =============== 3 | 4 | Skips the intro movies played at the beginning of Coiled Captors, 5 | Glutton's Gamble, and Molten Mirrors, in Dreamveil Overlook. This 6 | does *not* seem to work for Shattering Spectreglass, despite the 7 | mod's attempts to do so. 8 | 9 | Internally, the mod attempts the intro-movie-skip via a couple of 10 | different methods for each DLC, and I'm honestly not sure why some 11 | methods work and some don't (and why DLC4 seems especially resistant). 12 | I *suspect* that part of the problem could be related to object-loading 13 | timing, and if that's the case then it's possible other people's 14 | machines might end up behaving a bit differently than mine. Therefore, 15 | I'm leaving in both methods for each DLC. Let me know if the DLC4 16 | skip works for you, or if it *doesn't* work for DLC1, 2, or 3! 17 | 18 | TODO 19 | ==== 20 | 21 | * Would be quite nice to figure out DLC4, and get a handle on why 22 | some methods work and others don't, depending on DLC. 23 | 24 | Changelog 25 | ========= 26 | 27 | **v1.0.0** - Sep 29, 2022 28 | * Initial release 29 | 30 | Licenses 31 | ======== 32 | 33 | This mod is licensed under [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/). 34 | 35 | The generation script for the mod is licensed under the 36 | [GPLv3 or later](https://www.gnu.org/licenses/quick-guide-gplv3.html). 37 | See [COPYING.txt](../../COPYING.txt) for the full text of the license. 38 | 39 | -------------------------------------------------------------------------------- /DexManly/economy/SkeletonChest/SkeletonChest_FreeCost.wlhotfix: -------------------------------------------------------------------------------- 1 | @title Skeleton Chest: Free Cost 2 | @version 1.0.0 3 | @author DexManly 4 | @contact-discord dex_manly#5571 5 | @categories chests, cheat, economy 6 | 7 | @license Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) 8 | @license-url https://creativecommons.org/licenses/by-sa/4.0/ 9 | 10 | ### 11 | ### This mod changes the skeleton chest to be FREE instead of skeleton keys. Obviously pretty cheaty. 12 | ### 13 | 14 | SparkLevelPatchEntry,(1,1,0,MatchAll),/Game/UI/InteractionPrompt/UIData_GoldenKey.UIData_GoldenKey,ActionText,0,,And Open! 15 | SparkLevelPatchEntry,(1,1,0,MatchAll),/Game/UI/InteractionPrompt/UIData_GoldenKey.UIData_GoldenKey,bCostsToUse,0,,False 16 | -------------------------------------------------------------------------------- /DexManly/economy/SkeletonChest/SkeletonChest_MoneyCost.wlhotfix: -------------------------------------------------------------------------------- 1 | @title Skeleton Chest: Money Cost 2 | @version 1.0.0 3 | @author DexManly 4 | @contact-discord dex_manly#5571 5 | @categories chests, cheat, economy 6 | 7 | @license Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) 8 | @license-url https://creativecommons.org/licenses/by-sa/4.0/ 9 | 10 | ### 11 | ### This mod changes the skeleton chest to use money instead of skeleton keys. Obviously pretty cheaty. This mod sets it to 2 million 12 | ### dollars. This will not scale and you may want to adjust BaseValueConstant to be whatever you need it to be. 13 | ### 14 | 15 | SparkLevelPatchEntry,(1,1,0,MatchAll),/Game/UI/InteractionPrompt/UIData_GoldenKey.UIData_GoldenKey,ActionText,0,,Use Money ([cashicon]%i) 16 | SparkLevelPatchEntry,(1,1,0,MatchAll),/Game/UI/InteractionPrompt/UIData_GoldenKey.UIData_GoldenKey,CurrencyType,0,,/Game/Gear/_Shared/_Design/InventoryCategories/InventoryCategory_Money 17 | SparkLevelPatchEntry,(1,1,0,MatchAll),/Game/UI/InteractionPrompt/UIData_GoldenKey.UIData_GoldenKey,Cost.BaseValueConstant,0,,2000000.0 18 | -------------------------------------------------------------------------------- /DexManly/economy/WheelOfFate/WheelOfFate_FreeCost.wlhotfix: -------------------------------------------------------------------------------- 1 | @title Wheel of Fate: Free Cost 2 | @version 1.0.0 3 | @author DexManly 4 | @contact-discord dex_manly#5571 5 | @categories cheat, economy 6 | 7 | @license Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) 8 | @license-url https://creativecommons.org/licenses/by-sa/4.0/ 9 | 10 | ### 11 | ### This mod changes the Wheel of Fate in the PLC hub area to be FREE instead of costing Souls. 12 | ### 13 | 14 | SparkLevelPatchEntry,(1,1,0,MatchAll),/Game/PatchDLC/Indigo1/Common/InteractiveObjects/WheelOfFate/UIData_WheelOfFate_Pay.UIData_WheelOfFate_Pay,ActionText,0,,Big Money No Whammies! 15 | SparkLevelPatchEntry,(1,1,0,MatchAll),/Game/PatchDLC/Indigo1/Common/InteractiveObjects/WheelOfFate/UIData_WheelOfFate_Pay.UIData_WheelOfFate_Pay,bCostsToUse,0,,False 16 | -------------------------------------------------------------------------------- /DexManly/economy/WheelOfFate/WheelOfFate_MoneyCost.wlhotfix: -------------------------------------------------------------------------------- 1 | @title Wheel of Fate: Money Cost 2 | @version 1.0.0 3 | @author DexManly 4 | @contact-discord dex_manly#5571 5 | @categories cheat, economy 6 | 7 | @license Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) 8 | @license-url https://creativecommons.org/licenses/by-sa/4.0/ 9 | 10 | ### 11 | ### This mod changes the Wheel of Fate in the PLC hub area to cost $500,000 instead of costing Souls. 12 | ### 13 | 14 | SparkLevelPatchEntry,(1,1,0,MatchAll),/Game/PatchDLC/Indigo1/Common/InteractiveObjects/WheelOfFate/UIData_WheelOfFate_Pay.UIData_WheelOfFate_Pay,ActionText,0,,Use Money ([cashicon]%i) 15 | SparkLevelPatchEntry,(1,1,0,MatchAll),/Game/PatchDLC/Indigo1/Common/InteractiveObjects/WheelOfFate/UIData_WheelOfFate_Pay.UIData_WheelOfFate_Pay,CurrencyType,0,,/Game/Gear/_Shared/_Design/InventoryCategories/InventoryCategory_Money 16 | SparkLevelPatchEntry,(1,1,0,MatchAll),/Game/PatchDLC/Indigo1/Common/InteractiveObjects/WheelOfFate/UIData_WheelOfFate_Pay.UIData_WheelOfFate_Pay,Cost.BaseValueConstant,0,,500000.0 17 | -------------------------------------------------------------------------------- /DexManly/resource_and_testing/NoBaseCrit.wlhotfix: -------------------------------------------------------------------------------- 1 | @title No Base Crit 2 | @version 1.0.0 3 | @author DexManly 4 | @contact-discord dex_manly#5571 5 | @categories resource 6 | 7 | @license Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) 8 | @license-url https://creativecommons.org/licenses/by-sa/4.0/ 9 | 10 | ### 11 | ### Makes base crit 0, for testing purposes. Thank you for testing :) 12 | ### 13 | ### Credit: This code is based on something Grimm provided me in discord. Thanks to them for the help. 14 | ### 15 | 16 | SparkLevelPatchEntry,(1,1,0,MatchAll),/Game/PlayerCharacters/_Shared/_Design/Character/BPChar_Player.Default__BPChar_Player_C:DefaultDamageCauserComponent,DefaultCriticalHitChance,0,,(Value=1.0,BaseValue=0.0) 17 | -------------------------------------------------------------------------------- /DexManly/skilltree_changes/sporewarden_called_shot_3stack.wlhotfix: -------------------------------------------------------------------------------- 1 | @title Spore Warden Called Shot 3 Stack 2 | @version 1.0.0 3 | @author DexManly 4 | @contact-discord dex_manly#5571 5 | @categories class-sporewarden, skill-system 6 | 7 | @license Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) 8 | @license-url https://creativecommons.org/licenses/by-sa/4.0/ 9 | 10 | ### 11 | ### This mod attempts to make the Spore Warden`s Called Shot skill much more user friendly. 6 percent instead of 1.8 but stacking 3 times instead of 10 12 | ### 13 | 14 | # Increased Gun damage per stack per point.... was 0.0175 but for 3 stacks the math is like (0.0175 * 10 / 3) = 0.0583 15 | SparkPatchEntry,(1,2,0,),/Game/PlayerCharacters/_Shared/_Design/Balance/Ranger/DataTable_Ranger_Values.DataTable_Ranger_Values,Passive_15,Primary_8_7144784543D12C00F7A08182E7FDEE36,0,,0.0583 16 | 17 | # Increased Damage Resistance per stack per point.... was -0.017949 but for 3 stacks the math is like (-0.017949 * 10 / 3) = -0.05983 18 | SparkPatchEntry,(1,2,0,),/Game/PlayerCharacters/_Shared/_Design/Balance/Ranger/DataTable_Ranger_Values.DataTable_Ranger_Values,Passive_15,Secondary_11_84A2134543364C50EC79C68B17F4BBB5,0,,-0.0598 19 | 20 | # Max Stacks.... was 10.0 21 | SparkPatchEntry,(1,2,0,),/Game/PlayerCharacters/_Shared/_Design/Balance/Ranger/DataTable_Ranger_Values.DataTable_Ranger_Values,Passive_15,Tertiary_14_E37033D045CF357045CCE0A20D6A91C2,0,,3.0 22 | -------------------------------------------------------------------------------- /Redux/Wonderlands_Redux_AutoUpdate.wlhotfix: -------------------------------------------------------------------------------- 1 | @title Wonderlands Redux 2 | @version Auto-Update 3 | @author Redux 4 | @contact-discord https://discord.gg/yp74FT2ueT 5 | @categories major-pack, mode-balance, scaling, mayhem, element, quest-changes, economy, gameplay, event, char-overhaul, skill-system, char-other, gear-general, gear-anointments, gear-com, loot-system, enemy-drops, vendor, chests, quest-rewards, loot-sources, spawns, enemy, ui, maps, text, qol, qol-ui, inventory, bugfix, modpack 6 | @pakfile https://drive.google.com/file/d/1R6FTOFNsNd7SmFYTrTwbeReszrpG55sA/view?usp=share_link 7 | 8 | @license Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International (CC BY-NC-ND 4.0) 9 | @license-url https://creativecommons.org/licenses/by-nc-nd/4.0/ 10 | 11 | ### Redux is a massive Wonderlands Overhaul Mod. Everything from playthroughs, to Character Skills, to Endgame. 12 | ### It brings 100+ NEW dedicated sources, gen 2.0 pearlescents, respawnable totems, obsidian chests, chaos trials, raid boss RUSH, and action skill augments! 13 | ### 14 | ### Detailed Video Install Guide: https://www.youtube.com/watch?v=f3a6WSA4Uik 15 | ### 16 | ### Written Install Guide: 17 | ### 18 | ### STEP 1: BACK UP YOUR ENTIRE SAVE FOLDER 19 | ### This is found in: ....\Documents\My Games\Tiny Tina's Wonderlands\Saved\SaveGames\ 20 | ### Copy the entire folder and save it elsewhere. 21 | ### 22 | ### STEP 2: Install Open Hotfix Loader as seen in the video tutorial (credit to Apple1417) or for a written guide at https://github.com/apple1417/OpenHotfixLoader#installation 23 | ### 24 | ### STEP 3: Download "Wonderlands_Redux_AutoUpdate.wlhotfix", and put it into the newly created "ohl-mods" folder located at: .../TinyTinasWonderlands/OakGame/Binaries/Win64/Plugins/ohl-mods 25 | ### The Hotfix should always update itself automatically after installation. You should only need to ever place the hotfix file in the mods folder once. 26 | ### 27 | ### STEP 4: Download and place the Patch file (Redux_99_P.pak) inside of the "Paks" folder located at: .../TinyTinasWonderlands/OakGame/Content/Paks 28 | ### The Patch will NOT update automatically. Whenever a new version is available, the latest .pak file should be downloaded, and REPLACE the old version inside of the Paks folder. 29 | ### 30 | ### Done! Launch the game and enjoy! 31 | ### Once you see the new Redux Loading Screen and in the main menu in the bottom right you see several 1000's of hotfixes, you're good to go. 32 | ### 33 | ### Launch Patchnotes: https://wonderlandsredux.fandom.com/wiki/Main_Changes 34 | ### Redux v1.0.1 Patchnotes: https://wonderlandsredux.fandom.com/wiki/Patch_1.0.1 35 | ### Redux v1.0.2 Patchnotes: https://wonderlandsredux.fandom.com/wiki/Hotfix_Notes:_1.0.2 36 | ### Redux v1.0.3 Patchnotes: https://wonderlandsredux.fandom.com/wiki/Hotfix_Notes:_1.0.3 37 | 38 | URL=https://raw.githubusercontent.com/Wonderlands-Redux/ReduxDownloads/main/Redux.wlhotfix 39 | -------------------------------------------------------------------------------- /python_mod_helpers/COPYING.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2019-2022, CJ Kucera 2 | All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without 5 | modification, are permitted provided that the following conditions are met: 6 | * Redistributions of source code must retain the above copyright 7 | notice, this list of conditions and the following disclaimer. 8 | * Redistributions in binary form must reproduce the above copyright 9 | notice, this list of conditions and the following disclaimer in the 10 | documentation and/or other materials provided with the distribution. 11 | * Neither the name of the development team nor the 12 | names of its contributors may be used to endorse or promote products 13 | derived from this software without specific prior written permission. 14 | 15 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 16 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 17 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 18 | DISCLAIMED. IN NO EVENT SHALL CJ KUCERA BE LIABLE FOR ANY 19 | DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 20 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 21 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 22 | ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 23 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 24 | 25 | -------------------------------------------------------------------------------- /python_mod_helpers/wldata/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BLCM/wlmods/0f7f2d414383d3aa3b75d957a08d1c8354cdfef8/python_mod_helpers/wldata/__init__.py -------------------------------------------------------------------------------- /python_mod_helpers/wlhotfixmod/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BLCM/wlmods/0f7f2d414383d3aa3b75d957a08d1c8354cdfef8/python_mod_helpers/wlhotfixmod/__init__.py -------------------------------------------------------------------------------- /skruntskrunt/limited-bank/limited-bank-and-backpack.wlhotfix: -------------------------------------------------------------------------------- 1 | ### 2 | ### @title Limited Bank & Backpack 3 | ### @version 0.0.1 4 | ### @author Phenom, skruntskrunt 5 | ### @categories cheat, inventory 6 | ### 7 | ### @license Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) 8 | ### @license-url https://creativecommons.org/licenses/by-sa/4.0/ 9 | ### 10 | 11 | ### 12 | ### Modify the base backpack space to around 200 13 | ### Modify the bank SDU Lv1 to to around 2000 14 | ### 15 | ### The limited space also reduce the lags in huge inventory. 16 | ### 17 | ### This is a fork of Phenom's unlimited Bank and Backpack 18 | 19 | # limited bank space 20 | # Modify the Bank SDU Lv1 from 5 to unlimited 21 | SparkPatchEntry,(1,2,0,),/Game/Pickups/SDU/Table_SDU_Bank.Table_SDU_Bank,Lv1,AttributeModifyInfo,0,,(AttributeToModify=GbxAttributeData'"/Game/GameData/Attributes/Character/Att_PlayerBankMax.Att_PlayerBankMax"',ModifierType=PreAdd,ModifierValue=(BaseValueConstant=2000) 22 | 23 | # was -100 24 | # try 200 25 | SparkPatchEntry,(1,1,0,),/Game/PlayerCharacters/_Shared/_Design/Character/BPChar_Player.BPChar_Player_C:InventoryList_GEN_VARIABLE,MaxInventoryItems,0,,(BaseValue=200) 26 | 27 | -------------------------------------------------------------------------------- /skruntskrunt/uniqdungeon/README.md: -------------------------------------------------------------------------------- 1 | Uniq Dungeon 2 | ============== 3 | 4 | Replace mobs in Endless Dungeon with named Badasses and 5 | bosses. 6 | 7 | Header 8 | ====== 9 | * Name: Uniq Dungeon 10 | * Version: 0.0.1 11 | * Author: skruntskrunt 12 | * Categories: gameplay, trials 13 | * License: Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) 14 | * License URL: https://creativecommons.org/licenses/by-sa/4.0/ 15 | * Code License: GNU Public License Version 3 16 | 17 | Changelog 18 | ========= 19 | 20 | **v0.0.1** - 2022-06-05 21 | * Initial Uniq Dungeon 22 | 23 | Known Bugs 24 | ========== 25 | 26 | Some big guys don't spawn right. 27 | 28 | Please report bugs to this repository on github: https://github.com/abramhindle/ttwlmods 29 | 30 | References 31 | ========== 32 | 33 | Without CZ47's help I wouldn't know about SparkLevelAddedToWorldEntry 34 | 35 | Licenses 36 | ======== 37 | 38 | All the mods in this repository are currently licensed under 39 | [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/). 40 | 41 | The generation script for the mod is licensed under the 42 | [GPLv3 or later](https://www.gnu.org/licenses/quick-guide-gplv3.html). 43 | See [COPYING.txt](../../COPYING.txt) for the full text of the license. 44 | 45 | Development Home 46 | ================ 47 | 48 | This mod is being developed on the `ttwl` branch of: 49 | 50 | https://github.com/abramhindle/ttwlmods 51 | 52 | You can get latest versions there. Pull requests, patches, and 53 | feedback (as issues) are welcome. 54 | 55 | Bug reporting 56 | ============= 57 | 58 | Please report bugs to this repository on github: https://github.com/abramhindle/ttwlmods 59 | -------------------------------------------------------------------------------- /skruntskrunt/uniqdungeon/cooluniques.txt: -------------------------------------------------------------------------------- 1 | /Game/Enemies/_Spawning/Naga/_Unique/SpawnOptions_Obelisk_NagaAqua 2 | /Game/Enemies/_Spawning/Naga/_Unique/SpawnOptions_Obelisk_NagaDesert 3 | /Game/Enemies/_Spawning/Goblin/_Unique/SpawnOptions_Obelisk_Goblin 4 | /Game/Enemies/_Spawning/Troll/_Unique/SpawnOptions_Obelisk_Troll 5 | /Game/Enemies/_Spawning/Humans/_Uniques/SpawnOptions_Obelisk_Cultist 6 | /Game/Enemies/_Spawning/Humans/_Uniques/SpawnOptions_Obelisk_Pirate 7 | /Game/Enemies/_Spawning/Humans/_Uniques/SpawnOptions_Obelisk_Assassin 8 | /Game/Enemies/_Spawning/Humans/_Uniques/SpawnOptions_Obelisk_Bandit 9 | /Game/Enemies/_Spawning/Mushroom/_Unique/SpawnOptions_Mushroom_Bounty01 10 | /Game/Enemies/_Spawning/BoneArmy/_Unique/SpawnOptions_BoneArmy_Bounty02 11 | /Game/Enemies/_Spawning/Troll/_Unique/SpawnOptions_Troll_Bounty1 12 | /Game/Enemies/_Spawning/Crab/_Unique/SpawnOptions_Crab_Bounty1 13 | /Game/Enemies/_Spawning/Naga/_Unique/SpawnOptions_NagaUnique_AvatarOfWater 14 | /Game/Enemies/_Spawning/Naga/_Unique/SpawnOptions_NagaUnique_AvatarOfFire 15 | /Game/Enemies/_Spawning/Naga/_Unique/SpawnOptions_NagaUnique_SoulEater 16 | /Game/Enemies/_Spawning/BonePirate/_Unique/SpawnOptions_Unique_LeChance 17 | /Game/Enemies/_Spawning/Mushroom/_Unique/SpawnOptions_CorruptBadass01 18 | /Game/Enemies/_Spawning/Mushroom/_Unique/SpawnOptions_CorruptBadass02 19 | /Game/Enemies/_Spawning/Mushroom/_Unique/SpawnOptions_CorruptBadass03 20 | /Game/Enemies/_Spawning/BoneArmy/_Unique/SpawnOptions_Zomboss_BadassKnight 21 | /Game/Enemies/_Spawning/BoneArmy/_Unique/SpawnOptions_BoneArmy_Ribula 22 | /Game/Enemies/_Spawning/Goblin/_Unique/SpawnOptions_Goblin_ToothFairy 23 | /Game/Enemies/_Spawning/Troll/_Unique/SpawnOptions_Troll_Ettin 24 | /Game/Enemies/_Spawning/Troll/_Unique/SpawnOptions_Troll_GargleSnot 25 | /Game/Enemies/_Spawning/Troll/_Unique/SpawnOptions_Troll_Twin_Molark 26 | /Game/Enemies/_Spawning/Troll/_Unique/SpawnOptions_Troll_Taskmaster 27 | /Game/Enemies/_Spawning/Troll/_Unique/SpawnOptions_Rock_Golem 28 | /Game/Enemies/_Spawning/Troll/_Unique/SpawnOptions_Troll_Jailer 29 | /Game/Enemies/_Spawning/Troll/_Unique/SpawnOptions_Troll_Blacksmith 30 | /Game/Enemies/_Spawning/Troll/_Unique/SpawnOptions_Troll_Twin_Kralom 31 | /Game/Enemies/_Spawning/Splotch/Uniques/SpawnOptions_SplotchMagical 32 | /Game/Enemies/_Spawning/Wyvern/_Unique/SpawnOptions_Wyvern_MonsterLover 33 | /Game/Enemies/_Spawning/Mushroom/_Unique/SpawnOptions_Mushroom_Ancient 34 | /Game/Enemies/_Spawning/BoneArmy/_Unique/SpawnOptions_BoneArmy_FrostKing 35 | /Game/Missions/Side/Zone_1/Mushroom/HolyGrenade/SpawnOptions_KingArcher 36 | -------------------------------------------------------------------------------- /zetadaemon/Better Ring Passives/README.md: -------------------------------------------------------------------------------- 1 | # Better Ring Passives 2 | Makes it so ring passives for guns are no longer locked to a specific weapon type 3 | -------------------------------------------------------------------------------- /zetadaemon/Better Ring Passives/better_passives.py: -------------------------------------------------------------------------------- 1 | from bl3hotfixmod.bl3hotfixmod import Mod 2 | 3 | mod = Mod('better_passives.wlhotfix', 4 | 'Better Passives', 5 | 'ZetaDaemon', 6 | [], 7 | lic=Mod.CC_BY_SA_40, 8 | v='1.0.0', 9 | ) 10 | 11 | ability_list = [ 12 | "Ability_All_Ring_GunType_AR", 13 | "Ability_All_Ring_GunType_PS", 14 | "Ability_All_Ring_GunType_SG", 15 | "Ability_All_Ring_GunType_SMG", 16 | "Ability_All_Ring_GunType_SR", 17 | "SE_Ring_GunType_AR_Bonuses", 18 | "SE_Ring_GunType_PS_Bonuses", 19 | "SE_Ring_GunType_SG_Bonuses", 20 | "SE_Ring_GunType_SMG_Bonuses", 21 | "SE_Ring_GunType_SR_Bonuses" 22 | ] 23 | for ability in ability_list: 24 | mod.reg_hotfix(Mod.PATCH, '', 25 | f"/Game/Gear/Rings/_Shared/Design/Parts/GunTypeStats/Abilities/{ability}.Default__{ability}_C", 26 | 'AbilityEffects.AbilityEffects[0].Condition', 27 | "()") 28 | mod.newline() 29 | mod.newline() 30 | 31 | crit_list = [ 32 | "UIStat_PartDesc_Min_AR_CritDamage", 33 | "UIStat_PartDesc_Min_PS_CritDamage", 34 | "UIStat_PartDesc_Min_SG_CritDamage", 35 | "UIStat_PartDesc_Min_SR_CritDamage", 36 | "UIStat_PartDesc_Min_SMG_CritDamage", 37 | ] 38 | mag_list = [ 39 | "UIStat_PartDesc_Min_AR_MagSize", 40 | "UIStat_PartDesc_Min_PS_MagSize", 41 | "UIStat_PartDesc_Min_SR_MagSize", 42 | "UIStat_PartDesc_Min_SG_MagazineSize", 43 | "UIStat_PartDesc_Min_SMG_MagSize", 44 | ] 45 | reload_list = [ 46 | "UIStat_PartDesc_Min_AR_Reload", 47 | "UIStat_PartDesc_Min_PS_Reload", 48 | "UIStat_PartDesc_Min_SG_Reload", 49 | "UIStat_PartDesc_Min_SR_ReloadSpeed", 50 | "UIStat_PartDesc_Min_SMG_Reload", 51 | ] 52 | command_list = [ 53 | [crit_list, "[skill]$VALUE$[/skill] Gun Critical Hit Damage"], 54 | [mag_list, "[skill]$VALUE$[/skill] Magazine Size"], 55 | [reload_list, "[skill]$VALUE$[/skill] Reload Speed"] 56 | ] 57 | for command in command_list: 58 | for part in command[0]: 59 | mod.reg_hotfix(Mod.PATCH, '', 60 | f"/Game/Gear/Rings/_Shared/Design/UIStats/{part}", 61 | 'FormatText', 62 | command[1]) 63 | mod.newline() 64 | mod.newline() 65 | 66 | mod.close() -------------------------------------------------------------------------------- /zetadaemon/Free Reroll/README.md: -------------------------------------------------------------------------------- 1 | # Free Rerolls 2 | Makes it free to reroll the enchants on your gear regardless of how many times it's been rerolled 3 | -------------------------------------------------------------------------------- /zetadaemon/Free Reroll/free_reroll.py: -------------------------------------------------------------------------------- 1 | from bl3hotfixmod.bl3hotfixmod import Mod, BVC, BVCF 2 | 3 | mod = Mod('free_reroll.wlhotfix', 4 | 'Free Reroll', 5 | 'ZetaDaemon', 6 | [], 7 | lic=Mod.CC_BY_SA_40, 8 | v='1.0.0', 9 | ) 10 | 11 | 12 | mod.table_hotfix(Mod.PATCH, '', 13 | '/Game/GameData/Economy/Economy_MoonOrbs', 14 | 'ReRollCostCap', 15 | 'Value', 16 | BVC(bvs=0)) 17 | mod.newline() 18 | mod.table_hotfix(Mod.PATCH, '', 19 | '/Game/GameData/Economy/Economy_MoonOrbs', 20 | 'BaseCost', 21 | 'Value', 22 | BVC(bvs=0)) 23 | 24 | mod.close() -------------------------------------------------------------------------------- /zetadaemon/Free Reroll/free_reroll.wlhotfix: -------------------------------------------------------------------------------- 1 | 2 | @title Free Reroll 3 | @version 1.0.0 4 | @author ZetaDaemon 5 | @categories cheat, economy 6 | 7 | 8 | @license Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) 9 | @license-url https://creativecommons.org/licenses/by-sa/4.0/ 10 | 11 | ### 12 | ### Generated by free_reroll.py 13 | ### No cost to reroll gear enchants 14 | 15 | SparkPatchEntry,(1,2,0,),/Game/GameData/Economy/Economy_MoonOrbs.Economy_MoonOrbs,ReRollCostCap,Value,0,,(BaseValueConstant=1,BaseValueScale=0) 16 | 17 | SparkPatchEntry,(1,2,0,),/Game/GameData/Economy/Economy_MoonOrbs.Economy_MoonOrbs,BaseCost,Value,0,,(BaseValueConstant=1,BaseValueScale=0) 18 | 19 | -------------------------------------------------------------------------------- /zetadaemon/README.md: -------------------------------------------------------------------------------- 1 | # ZetaDaemon's WL Mods 2 | --------------------------------------------------------------------------------