From Brotato Wiki
ArosRising (talk | contribs) No edit summary |
ArosRising (talk | contribs) m (ArosRising moved page Patch 0.8.0.03/Modding Changes to Patch 0.8.0.3/Modding Changes: Corrected Patch Name) |
Latest revision as of 11:39, 14 March 2023
This page covers changes that effects modders. It is only useful & relevant if you are a modder.
Weapon Classes
Weapon classes are now added to weapons as resources, just like you would add a weapon's upgrade or stats resource files. This is huge news!
Previously, to add a new weapon class, you'd have to edit the hardcoded WeaponTyp enum -- which made adding new classes very tricky, as it required a hacky workaround if you wanted to use ModLoader.
Effects
Stat Effect
There are some breaking changes to existing mods:
- Removed stat_effect.gd. Nearly all items now use effect.gd, which has been expanded.
- Replaced
effect_keywithcustom_key.
Removed Effect Files
These effect files have been removed. Their effects have been replaced with just using effect.gd instead, which simplifies effect management.
- additional_weapon_effect.gd
- alien_eyes_effect.gd
- anvil_effect.gd
- dmg_when_death_effect.gd
- dmg_when_pickup_gold_effect.gd
- hp_cap_effect.gd
- pacifist_effect.gd
- remove_speed_effect.gd
- replace_effect.gd
- sign.gd
- starting_item_effect.gd
- stat_effect.gd
- tier_effect.gd
- turret_flame_effect.gd
- unique_weapon_effect.gd
- weapon_gain_effect.gd
Effects Changes
The following effects have been removed. Some of these didn't do anything, others have been renamed.
| Efect Key (Old) | Replacement | Notes |
|---|---|---|
| dmg_when_death_from_luck | dmg_when_death | |
| dmg_when_pickup_gold_from_luck | dmg_when_pickup_gold | |
| enemy_strength | enemy_damage
enemy_health |
Split into 2 effects |
| gambler | - | Did nothing before |
| leave_burning | - | Did nothing before |
New Effect Files
These effect files are new:
- chance_stat_damage_effect.gd
- stat_cap_effect.gd
New Effect Keys
These effect keys have been added:
- consumable_stats_while_max
- convert_stats_half_wave
- damage_against_bosses
- dmg_on_dodge
- dmg_when_death
- dmg_when_heal
- dmg_when_pickup_gold
- enemy_damage
- enemy_health
- explode_on_consumable
- extra_enemies_next_wave
- giant_crit_damage
- heal_on_crit_kill
- heal_on_dodge
- starting_weapon
- stats_next_wave
- structures_cooldown_reduction
- temp_pct_stats_stacking
- temp_pct_stats_start_wave
- upgrade_random_weapon
RunData
Effects have been split into 2 funcs. Previously they were all in init_effects, but now there's also init_stats.
This new init_stats comes with a huge benefit: TempStats can use any stat listed here! In the last version, TempStats was limited to just the primary stats that were defined in temp_stats.gd. But now, this change means that custom effects that give you temporary stats can now be a lot more varied, able to affect things like burning_cooldown_reduction, number_of_enemies, knockback, and new effects like damage_against_bosses.
DebugService
DebugService has some cool new tweaks:
- "Debug Weapons" now works like "Debug Items" does, by adding the specified weapons only once. Previously it would keep adding them at the end of every wave.
- There's a new option, "Disable Saving" (
disable_saving), which stops the game from saving data. This makes it possible to use the debug option "Unlock All Challenges" (unlock_all_challenges), which previously saved your game (as part of its functionality incomplete_challenge), which could disrupt up your save file.
Misc
Extra changes that might affect your mods.
Items don't have a unique bool anymore. Now they're set as unique if the max number (max_nb) is 1.
Custom arg color/formatting is handled differently now. Instead of using arg_signs, now you use "Custom Arg" (custom_arg). To add one:
- Increase the
custom_argarray size, - Right-click on an
[empty]item, - Choose "New CustomArg" (it's just below the "New Curve" options)
Like the old arg_signs, each arg that's displayed on your item's text has an index, starting from 0. You can set the respective item's options to affect how that arg looks. While this is initially a little more complex, it does offer more options for arg formatting. For more info on what the options do, see func get_arg_value in effect.gd.