From Brotato Wiki

(Continue edits (WIP))
(add some missing effects)
 
(One intermediate revision by the same user not shown)
Line 9: Line 9:
Please view the items/characters/weapons for more details on the exact usage.
Please view the items/characters/weapons for more details on the exact usage.


''Note: Despite the folder names, most of these effects can used by characters, weapons or items. They're only split into Global/Items/Weapons here to make it easier to find the associated files.''
==Global Effects (Guide)==
====effect.gd====
Location:  {{Color|color=cream|text=res://items/global/effect.gd}}


The file that is used the most for applying effects. If you want to apply an effect, there's a very strong chance you'll do it with this file.
Here's an overview of what the various properties of effect.gd do. We'll use {{Color|cream|acid_effect_1.tres}} as a reference, which grants "{{Color|green|+8}} Max HP" ''(at time of writing)''.
{| class="wikitable"
!Property
!Value for Acid
!Description
|-
|Key
|stat_max_hp
|Has two uses:
*Most commonly, it specifies the target of the effect's behaviour: For example, if you're modifying a stat, the key is the stat (eg "stat_max_hp").
*The second use is to specify a custom effet key, with the effect ID being the key: For example, Crown uses the key "harvesting_growth".
|-
|Text Key
|<small>''n/a''</small>
|If an effect key is specified, it's retrieved from the translation file.
*For simple stat changes, you don't need to provide a Text Key. But for anything more complex than basic stat changes, you'll probably need one.
*For example, Crown's Text Key is "effect_harvesting_growth".
*The translation string can include placeholders for args (arguments), which replace strings like "{0}", "{1}", etc.
*If you're making your own custom effect, you can specify what value these args should use with the method get_args in your effect file.
*To see how they're processed, view the "text" method in {{Color|cream|text=singletons/text.gd}}.
**This method basically reads the Text Key from the translations file, and works out where the arg replacements should be (ie. "{0}", "{1}", etc)
**Then replaces it them with the args provided.
|-
|Value
|8
|Sets the strength of the effect.
For stats, this determines how much of a stat should be increased. The number can also be negative, which means a stat should be decreased. Sometimes the Value is used as a boolean, where 0 means FALSE/OFF/DISABLED, and 1 means TRUE/ON/ENABLED. Examples:
*{{MiniIconbox|Alien Eyes}} = The value of 6 determines that 6 Alien Eyes should be shot.
*{{MiniIconbox|Baby Elephant}} = The value of 25 is used to determine that the chance of Baby Elephant's effect is 25%.
|-
|Custom Key
|<small>''n/a''</small>
|Custom Key can be used instead of Key, to determine a special effect.
This allows you to use the Key to specify, in most cases, the stat that the effect should act upon, while also using a custom effect. Example:
*{{MiniIconbox|Anvil}}'s effect is set with its Custom Key, "upgrade_random_weapon".
*The effect upgrades a random weapon, and if it can't, then it increases a stat.
*Anvil's effect sets the key to "stat_armor", which means that the increased stat is Armor
*(And its value of "2" means that the Armor stat should be increased by 2.)
|-
|Storage Method
|Sum
|Determines how the value should be saved/applied:
*'''Sum''' = The value will be added (or deducted) from whatever the current run's effect value is.
**Acid uses this to add +8 to the current Max HP value.
**Your final Max HP value is the ''sum'' of whatever your current Max HP is, plus Acid's value of +8.
*'''Key Value''' = ???
**Used by: apprentice / farmer_effect_2b / glutton_effect_1 / peacock_effect_2 / peacock_effect_3
*'''Replace''' = This effect's value should replace (ie. override) the current run's stat.
**Eg. Arms Dealer uses "minimum_weapons_in_shop", with a value of 1, which replaces any other values in the run.
|-
|Effect Sign
|From Value
|Determines how to get the sign ("+" or "-") of the value.
*'''Positive''' = Force a plus sign (+)
* '''Negative''' = Force a minus sign (-)
*'''From Value''' = Get the sign from the value. If it's positive, show +, and vice versa. This is usually the best setting to use.
*'''Neutral''' = Ensures no sign will be added.
*'''From Arg''' = This means that the sign or format is specified with Custom Args.
|-
|Custom Args
|<small>''n/a''</small>
|Allows you to determine the formatting of any and all args that this effect uses. See below for more details.
|}
====custom_arg.gd====
Location: {{Color|color=cream|text=res://items/global/custom_arg.gd}}
Not an effect file, but it used by many effects. Applied to the `custom_args` property, this allows you to format additional args.
You can find items that use this by searching the code for: <code>custom_args = [ SubResource(</code>
For example, open {{Color|cream|estys_couch_effect_1.tres}} in Godot's Inspector, which has lots of args ("{{Color|green|+2}} HP Regeneration for every -1% Speed you have.").
__TOC__
__TOC__


==Item Effects==
==Item Effects==
Despite the heading, these effects can actually be used by characters and weapons too. They're just stored in {{Color|color=cream|text=res://effects/items/*.gd}}.
Location: {{Color|color=cream|text=res://effects/items/*.gd}}
 
Despite the heading, these effects can actually be used by characters and weapons too.


{| class="wikitable"
{| class="wikitable"
Line 505: Line 584:
|''<small>{{Color|color=pastelred|text=unused}}</small>''
|''<small>{{Color|color=pastelred|text=unused}}</small>''
|}
|}
Other effects (TODO):
* chance_stat_damage_effect
* stat_cap_effect
* stat_with_max_effect


==Weapon Effects==
==Weapon Effects==
Stored in {{Color|color=cream|text=res://effects/weapons/*.gd}}
Like Item Effects above, some of these can be used by items/characters.
Like Item Effects above, some of these can be used by items/characters.
{| class="wikitable"
{| class="wikitable"

Latest revision as of 11:52, 22 August 2024


< Back to Modding


This page documents the various effects in the vanilla game. Modders can apply these effects to their custom content.

Please view the items/characters/weapons for more details on the exact usage.

Note: Despite the folder names, most of these effects can used by characters, weapons or items. They're only split into Global/Items/Weapons here to make it easier to find the associated files.

Global Effects (Guide)

effect.gd

Location: res://items/global/effect.gd

The file that is used the most for applying effects. If you want to apply an effect, there's a very strong chance you'll do it with this file.

Here's an overview of what the various properties of effect.gd do. We'll use acid_effect_1.tres as a reference, which grants "+8 Max HP" (at time of writing).

Property Value for Acid Description
Key stat_max_hp Has two uses:
  • Most commonly, it specifies the target of the effect's behaviour: For example, if you're modifying a stat, the key is the stat (eg "stat_max_hp").
  • The second use is to specify a custom effet key, with the effect ID being the key: For example, Crown uses the key "harvesting_growth".
Text Key n/a If an effect key is specified, it's retrieved from the translation file.
  • For simple stat changes, you don't need to provide a Text Key. But for anything more complex than basic stat changes, you'll probably need one.
  • For example, Crown's Text Key is "effect_harvesting_growth".
  • The translation string can include placeholders for args (arguments), which replace strings like "{0}", "{1}", etc.
  • If you're making your own custom effect, you can specify what value these args should use with the method get_args in your effect file.
  • To see how they're processed, view the "text" method in singletons/text.gd.
    • This method basically reads the Text Key from the translations file, and works out where the arg replacements should be (ie. "{0}", "{1}", etc)
    • Then replaces it them with the args provided.
Value 8 Sets the strength of the effect.

For stats, this determines how much of a stat should be increased. The number can also be negative, which means a stat should be decreased. Sometimes the Value is used as a boolean, where 0 means FALSE/OFF/DISABLED, and 1 means TRUE/ON/ENABLED. Examples:

  • Alien Eyes.png Alien Eyes = The value of 6 determines that 6 Alien Eyes should be shot.
  • Baby Elephant.png Baby Elephant = The value of 25 is used to determine that the chance of Baby Elephant's effect is 25%.
Custom Key n/a Custom Key can be used instead of Key, to determine a special effect.

This allows you to use the Key to specify, in most cases, the stat that the effect should act upon, while also using a custom effect. Example:

  • Anvil.png Anvil's effect is set with its Custom Key, "upgrade_random_weapon".
  • The effect upgrades a random weapon, and if it can't, then it increases a stat.
  • Anvil's effect sets the key to "stat_armor", which means that the increased stat is Armor
  • (And its value of "2" means that the Armor stat should be increased by 2.)
Storage Method Sum Determines how the value should be saved/applied:
  • Sum = The value will be added (or deducted) from whatever the current run's effect value is.
    • Acid uses this to add +8 to the current Max HP value.
    • Your final Max HP value is the sum of whatever your current Max HP is, plus Acid's value of +8.
  • Key Value = ???
    • Used by: apprentice / farmer_effect_2b / glutton_effect_1 / peacock_effect_2 / peacock_effect_3
  • Replace = This effect's value should replace (ie. override) the current run's stat.
    • Eg. Arms Dealer uses "minimum_weapons_in_shop", with a value of 1, which replaces any other values in the run.
Effect Sign From Value Determines how to get the sign ("+" or "-") of the value.
  • Positive = Force a plus sign (+)
  • Negative = Force a minus sign (-)
  • From Value = Get the sign from the value. If it's positive, show +, and vice versa. This is usually the best setting to use.
  • Neutral = Ensures no sign will be added.
  • From Arg = This means that the sign or format is specified with Custom Args.
Custom Args n/a Allows you to determine the formatting of any and all args that this effect uses. See below for more details.

custom_arg.gd

Location: res://items/global/custom_arg.gd

Not an effect file, but it used by many effects. Applied to the `custom_args` property, this allows you to format additional args.

You can find items that use this by searching the code for: custom_args = [ SubResource(

For example, open estys_couch_effect_1.tres in Godot's Inspector, which has lots of args ("+2 HP Regeneration for every -1% Speed you have.").

Item Effects

Location: res://effects/items/*.gd

Despite the heading, these effects can actually be used by characters and weapons too.

File (*.gd) key custom_key text_key Description Used By
effect.gd Stat ID, eg: stat_max_hp / bounce not specified Increases a stat (key) by the value Many items
projectile_effect.gd alien_eyes effect_alien_eyes Shoots {0} alien eyes around you every {4} seconds dealing {1} ({3}) damage each Alien Eyes.png Alien Eyes
effect.gd Stat ID, eg: stat_max_hp / bounce upgrade_random_weapon effect_upgrade_random_weapon A random weapon is upgraded when entering a shop.

If you have no weapon to upgrade, you gain {VALUE} {STAT} instead.

Anvil.png Anvil
burn_chance_effect burn_chance effect_burn_chance Attacks have a {0} chance to deal {1}x{2} ({3}) burning damage.

Needs a corresponding burning_data stats file

Scared Sausage.png Scared Sausage
class_bonus_effect effect_weapon_class_bonus not specified {0} {1} with {2} weapons

Grants a bonus to a specific stat (stat_name) when using a specific weapon class (weapon_class). Eg "+100 Range with Precise weapons"

Brawler.png Brawler,

Crazy.png Crazy,

Doctor.png Doctor,

Ghost.png Ghost,

Wildling.png Wildling

convert_stat_effect materials effect_convert_stat_end_of_wave {0} of your {1} are converted into {2} at the end of a wave ({3} {1} = {4} {2}) Demon.png Demon
dmg_when_death_effect dmg_when_death_from_luck effect_deal_dmg_when_death {0} chance to deal {1} ({2}) damage to a random enemy when an enemy dies Cyberball.png Cyberball
dmg_when_pickup_gold_effect dmg_when_pickup_gold_from_luck effect_deal_dmg_when_pickup_gold {0} chance to deal {1} ({2}) damage to a random enemy when you pick up a material Baby Elephant.png Baby Elephant,

Lucky.png Lucky

gain_stat_for_every_stat_effect Stat ID, eg: stat_max_hp / bounce effect_gain_stat_for_every_enemy

effect_gain_stat_for_every_perm_stat

effect_gain_stat_for_every_stat

Links 2 stats together:
  • {value} {stat} for every current living enemy
  • {value} {stat} for every permanent {2} {3} you have
  • {value} {key} for every {2} {3} you have
  • Specify the 1st stat with key
  • Specify the 2nd stat with stat_scaled
Artificer.png Artificer,

Chunky.png Chunky,

Generalist.png Generalist,

Hunter.png Hunter,

Knight.png Knight,

Saver.png Saver,

Speedy.png Speedy,

gain_stat_for_every_stat_effect stat_attack_speed effect_gain_stat_for_every_enemy Community Support.png Community Support
gain_stat_for_every_stat_effect stat_max_hp effect_gain_stat_for_every_stat Padding.png Padding
gain_stat_for_every_stat_effect stat_attack_speed effect_gain_stat_for_every_stat Retromation's Hoodie.png Retromation's Hoodie
gain_stat_for_every_stat_effect stat_engineering effect_gain_stat_for_every_stat Strange Book.png Strange Book
gain_stat_for_every_stat_effect stat_hp_regeneration effect_gain_stat_for_every_perm_stat Esty's Couch.png Esty's Couch
gain_stat_for_every_stat_effect stat_percent_damage effect_gain_stat_for_every_perm_stat Power Generator.png Power Generator
healing_effect effect_heal not specified Only used by consumables. Functionally useless in the shop. Fruit.png Fruit

Legendary Crate.png Legendary Crate

hp_cap_effect hp_cap effect_hp_cap_at_current_value Your Max HP is capped at its current value Handcuffs.png Handcuffs
item_exploding_effect explode_on_hit effect_explode_on_hit You explode for {damage} ({scaling}) damage when you take damage.

Requires an explosion stats file, which sets the damage and scaling.

Bull.png Bull
item_exploding_effect explode_on_death effect_explode_on_death Enemies have a {0} chance to explode for {1} ({2}) damage when they die Landmines.png Landmines
Rip and Tear.png Rip and Tear
pacifist_effect pacifist effect_pacifist Gain {value} material and XP for every living enemy at the end of a wave Pacifist.png Pacifist
projectile_effect projectiles_on_death effect_projectiles_on_death Spawns projectiles when an enemy dies.

Requires an associated projectile stats data (.tres) file.

The .tres can be custom, or you can use the default base_ranged_weapon_stats.tres

Baby with a Beard.png Baby with a Beard
remove_speed_effect remove_speed effect_remove_speed Hitting an enemy reduces their speed by x%.

The max removed amount can be changed (eg Ugly Tooth is max of -30%)

Ugly Tooth.png Ugly Tooth
replace_effect double_hp_regen_below_half_health effect_double_hp_regen_below_half_health Regeneration Potion.png Regeneration Potion
replace_effect minimum_weapons_in_shop effect_minimum_weapon_in_shop Arms Dealer.png Arms Dealer
replace_effect weapon_slot effect_no_weapons Bull.png Bull
replace_effect hp_shop effect_hp_shop Demon.png Demon
replace_effect trees_start_wave not specified Sets the first wave that Trees can spawn on. Explorer.png Explorer
replace_effect max_melee_weapons effect_generalist Generalist.png Generalist
replace_effect max_ranged_weapons [EMPTY] Generalist.png Generalist
replace_effect dodge_cap effect_dodge_cap Ghost.png Ghost
replace_effect weapon_slot effect_max_weapons Multitasker.png Multitasker
replace_effect can_attack_while_moving effect_cant_attack_while_moving Soldier.png Soldier
replace_effect double_boss effect_double_boss 5.png Danger 5
starting_item_effect starting_item effect_starting_item Brawler.png Brawler,

Crazy.png Crazy,

Engineer.png Engineer,

Mage.png Mage,

Pacifist.png Pacifist,

Ranger.png Ranger,

Saver.png Saver,

Wildling.png Wildling,

stat_effect stat_armor effect_stat_while_not_moving Barricade.png Barricade
stat_effect stat_dodge effect_stat_while_not_moving Chameleon.png Chameleon
stat_effect gold_on_crit_kill effect_gold_on_crit_kill Hunting Trophy.png Hunting Trophy
stat_effect stat_attack_speed effect_stat_while_not_moving Statue.png Statue
stat_effect stat_percent_damage effect_on_hit Triangle of Power.png Triangle of Power
stat_effect stat_percent_damage effect_gain_stat_end_of_wave Vigilante Ring.png Vigilante Ring
stat_effect stat_percent_damage effect_stack_stat Wisdom.png Wisdom
stat_effect stat_max_hp effect_gain_stat_end_of_wave Grind's Magical Leaf.png Grind's Magical Leaf
stat_effect stat_hp_regeneration effect_gain_stat_end_of_wave
stat_effect stat_lifesteal effect_gain_stat_end_of_wave
stat_gains_modification_effect effect_increase_stat_gains not specified Many characters
stat_gains_modification_effect effect_reduce_stat_gains not specified Many characters
structure_effect not specified effect_landmines Landmines.png Landmines

Screwdriver.png Screwdriver

tier_effect min_weapon_tier effect_min_weapon_tier Knight.png Knight
tier_effect max_weapon_tier effect_max_weapon_tier Wildling.png Wildling
turret_effect not specified effect_turret Turret.png Turret

Wrench.png Wrench

turret_effect not specified effect_turret_healing Medical Turret.png Medical Turret
turret_effect not specified effect_turret_laser Laser Turret.png Laser Turret
turret_effect not specified effect_turret_rocket Explosive Turret.png Explosive Turret
turret_effect not specified effect_tyler Tyler.png Tyler
turret_effect wandering_bot effect_wandering_bot Wandering Bot.png Wandering Bot
turret_flame_effect not specified effect_turret_flame Incendiary Turret.png Incendiary Turret

Wrench.png Wrench (Tier 2)

unique_weapon_effect stat_attack_speed effect_unique_weapon_bonus Focus.png Focus
unique_weapon_effect stat_attack_speed effect_unique_weapon_bonus Spider.png Spider
weapon_bonus_effect ??? ??? unused
weapon_gain_effect ??? ??? unused

Other effects (TODO):

  • chance_stat_damage_effect
  • stat_cap_effect
  • stat_with_max_effect

Weapon Effects

Stored in res://effects/weapons/*.gd

Like Item Effects above, some of these can be used by items/characters.

Effect File (*.gd) key Used By
burning_effect effect_burning Flame Turret, Flaming Knuckles, Torch, Flamethrower, Wand
exploding_effect effect_explode_melee Plank, Plasma Sledgehammer, Power Fist, Nuclear Launcher, Shredder
gain_stat_every_killed_enemies_effect effect_gain_stat_every_killed_enemies Ghost Axe, Ghost Flint, Ghost Scepter
projectiles_on_hit_effect effect_projectiles_on_hit Cactus Mace, Sniper Gun
projectiles_on_hit_effect effect_lightning_on_hit Lightning Shiv
projectiles_on_hit_effect effect_slow_projectiles_on_hit Thunder Sword
slow_in_zone_effect effect_slow_in_zone Taser
weapon_stack_effect effect_weapon_stack Stick

Danger Effects

Effect File (*.gd) Key Danger Notes
effects/weapons/null_effect.gd effect_no_modifiers Danger 0 -
effects/weapons/null_effect.gd effect_new_enemies Danger 1+ There's no code directly related to this key
effects/weapons/null_effect.gd effect_elites Danger 2+ There's no code directly related to this key
items/global/effect.gd enemy_strength Danger 3 Text key is EFFECT_STRONGER_ENEMIES, value is: 12
items/global/effect.gd enemy_strength Danger 4 Text key is EFFECT_STRONGER_ENEMIES, value is: 26
effects/weapons/null_effect.gd effect_more_elites Danger 4+ There's no code directly related to this key
items/global/effect.gd enemy_strength Danger 5 Text key is EFFECT_STRONGER_ENEMIES, value is: 40
effects/items/replace_effect.gd double_boss Danger 5 Text key is effect_double_boss

List of Effect Keys

This section lists most of the effect keys, taken from the effect init arrays in run_data.gd (init_tracked_effects & init_effects).

Many of these can be applied with effect.gd (res://items/global/effect.gd).

See Stats > Secondary Stats for a list of the items these effects can apply to.

Primary Stats

Effect Key Notes
stat_max_hp Max HP.png Max HP
stat_hp_regeneration HP Regeneration.png HP Regeneration
stat_lifesteal Life Steal.png Life Steal
stat_percent_damage Damage.png Damage
stat_melee_damage Melee Damage.png Melee Damage
stat_ranged_damage Ranged Damage.png Ranged Damage
stat_elemental_damage Elemental Damage.png Elemental Damage
stat_attack_speed Attack Speed.png Attack Speed
stat_crit_chance Crit Chance.png Crit Chance
stat_engineering Engineering Stat.png Engineering
stat_range Range Stat.png Range
stat_armor Armor.png Armor
stat_dodge Dodge Stat.png Dodge
stat_speed Speed Stat.png Speed
stat_luck Luck.png Luck
stat_harvesting Harvesting.png Harvesting

Misc

Some of these are repeated from above, others are only set with effect_key. Search the decompiled project for effect_key to find the latter.

List of effects via: res://singletons/run_data.gd > func init_effects

Also try searching: RunData.effects["effect_key"] (replace effect_key with a key).

See also: List of %/flat stat text modifiers: res://singletons/text.gd

key text_key Description Used In (effect file, *.tres)
additional_weapon_effects effect_additional_weapon_bonus Changes a stat (key) based on how many weapons you have multitasker_effect_2 [effect_key]
bounce effect_bouncing Adds bouncing to all projectiles ricochet_effect_1
bounce_damage none Increase bounce damage by x. Can't exceed the base damage. arms_dealer_effect_1b, engineer_effect_4, farmer_effect_4, one_arm_effect_2
burn_chance effect_burn_chance Chance to inflict burn. Needs a corresponding burning_data stats file scared_sausage_effect_1
burning_cooldown_reduction effect_burning_cooldown_reduction Makes burning tick faster eye_surgery_effect_1
burning_spread effect_burning_spread Makes burning spread to +x more enemies snake_effect_1
can_attack_while_moving effect_cant_attack_while_moving Set to 0 to prevent attacks while moving soldier_effect_5
cant_stop_moving --- Set to 1 to stop the player from being able to stop moving.

Used in Invasion's "Pants Ant" item

Unused, but appears to have some code that supports it.
chance_double_gold effect_chance_double_gold % chance to double materials when they're collected metal_detector_effect_1
class_bonus_effect effect_weapon_class_bonus Grants a bonus to a specific stat (stat_name) when using a specific weapon class (weapon_class) brawler_effect_1, crazy_effect_1, doctor_effect_1,

ghost_effect_1, wildling_effect_1

consumable_heal effect_consumable_heal Increase HP gained from consumables alien_worm_effect_2, lemonade_effect_1, weird_food_effect_1,

chunky_effect_3, chopper_effect, chopper_4_effect

convert_stats_end_of_wave effect_convert_stat_end_of_wave Converts a stat (key) to another stat (to_stat) when a wave ends demon_effect_1
destroy_weapons Removes all held weapons when you enter a shop arms_dealer_effect_3
diff_gold_drops --- Appears to increase/decrease the chance for enemies to drop materials by % Unused, but appears to have some code that supports it.
dmg_when_death_from_luck effect_deal_dmg_when_death % chance to deal a % of luck as damage, when an enemy dies.

Accepts a stat option, but only scales with Luck, ignoring the stat you specify

cyberball_effect_1
dmg_when_pickup_gold_from_luck effect_deal_dmg_when_pickup_gold % chance to deal a % of luck as damage, when you collect a material.

As above, accepts a stat but only scales with Luck

baby_elephant_effect_1, lucky_effect_3
dodge_cap effect_dodge_cap Increases/decreases the dodge cap by a %.

Warning: This increases the cap, it doesn't overwrite it. So you'll probably need to add a condition to check for Ghost (or just check the current cap). Default is 60% (or 90% with Ghost).

ghost_effect_3
double_boss effect_double_boss Makes 2 bosses spawn instead of 1 difficulty_5_effect_4
double_hp_regen effect_double_hp_regen Makes HP Regeneration trigger twice as often doctor_effect_3
double_hp_regen_below_half_health effect_double_hp_regen_below_half_health Makes HP Regeneration trigger twice as often, when you're below 50% HP potion_effect_1
enemy_gold_drops effect_enemy_gold_drops Change the amount of materials dropped by enemies.

This is an int (eg -50), not a float (eg -0.5).

See also: gold_drops, neutral_gold_drops

explorer_effect_8
enemy_speed --- Change enemy movement speed +: alien_baby_effect_2, explorer_effect_9
-: snail_effect_1, old_effect_1
enemy_strength effect_stronger_enemies Affects both enemy HP, and the damage they deal difficulty_3_effect_2, difficulty_4_effect_2, difficulty_5_effect_2
explode_on_death effect_explode_on_death % chance for enemies to explode on death.

Needs a corresponding weapon_stats file

rip_and_tear_effect_1
explode_on_hit effect_explode_on_hit Explode when you take damage.

Always procs. You can set the chance%, but this is ignored

bull_effect_4
explosion_damage none Increases explosion damage dynamite_effect_1, explosive_shells_effect_1, etc
explosion_size none Increases explosion size plastic_explosive_effect_1, artificer_effect_1b
free_rerolls effect_free_shop_reroll Adds free rerolls. Can't be negative dangerous_bunny_effect_0
gain_* Change stat modifications by x%, eg. "Increase range modifications by 50%".

Added via stat_gains_modification_effect, and applied via get_stat_gain.

See RunData.effects["gain_" + stat]
gain_pct_gold_start_wave effect_gain_pct_gold_start_wave Gain/lose +x% of your materials when a wave starts. piggy_bank_effect_1
gold_drops effect_enemy_gold_drops Changes % of dropped materials. Int, not a float.

See also: enemy_gold_drops; neutral_gold_drops

explorer_effect_8, farmer_effect_3, streamer_effect_2b
gold_on_crit_kill effect_gold_on_crit_kill Gain materials when you score a crit hunting_trophy_effect_1, dagger_effect
group_structures effect_group_structures Makes structures (mines/turrets) spawn closely grouped together engineer_effect_3
harvesting_growth effect_harvesting_growth Increase/decrease the % Harvesting growth.

Without items it's 5% at the end of each wave. Farmer has +5, Crown has +8.

crown_effect_1, farmer_effect_2
heal_when_pickup_gold effect_heal_when_pickup_gold % chance to heal 1HP when you pick up materials.

Can't change the healed amount, only the chance

cute_monkey_effect_1
hp_cap effect_hp_cap_at_current_value Changes the Max HP cap. Default is 999999.

Use set_cap_to_current_max_hp=true to cap at current.

handcuffs_effect_4
hp_shop effect_hp_shop Changes shop items to cost Max HP, instead of materials demon_effect_2
hp_start_next_wave effect_hp_start_next_wave Start the next wave with % less HP. Int, not float. weird_ghost_effect_2
hp_start_wave effect_start_wave_less_hp Start ALL waves with % less HP. Int, not float. sad_tomato_effect_2
inflation --- Increases the cost of items (even more), based on the current wave.

Inflation was removed. It was part of the original demo.

instant_gold_attracting effect_instant_gold_attracting % chance to attract dropped materials baby_gecko_effect_1, sifds_relic_effect_1
item_box_gold effect_item_box_gold +x materials when you pick up a Crate bag_effect_1
items_price none Change shop item costs by x% coupon_effect_1, entrepreneur_effect_0, mutant_effect_2, saver_effect_4
knockback effect_knockback Add/reduce knockback for all weapons by x boxing_glove_effect_1
lose_hp_per_second effect_lose_hp_per_second HP is reduced by -x every second blood_donation_effect_2, sick_effect_3
map_size none Increase/decrease the map size by x% explorer_effect_6, old_effect_3
max_melee_weapons effect_generalist Set the max number of held melee weapons to x generalist_effect_3
max_ranged_weapons [EMPTY] Set the max number of held ranged weapons to x generalist_effect_4
max_weapon_tier effect_max_weapon_tier Set the max tier for weapons to 1/2/3/4.

Zero-based, so 0 = tier 1, 1 = tier 2, etc.

wildling_effect_3
min_weapon_tier effect_min_weapon_tier Set the min tier for weapons to 1/2/3/4. Zero based (see above) knight_effect_4
neutral_gold_drops none Increases materials from EntityType.NEUTRAL by +x% (ie. trees)

See also: gold_drops; enemy_gold_drops

Unused, but supported in the code
no_melee_weapons effect_no_melee_weapons Stops melee weapons appearing in the shop.

Doesn't remove weapons that are already held.

ranger_effect_5
no_min_range none If 1, the min_range of a weapon is used.

Useless in vanilla because all weapons have a min_range of 0.

Unused, but supported in the code
no_ranged_weapons effect_no_ranged_weapons Stops ranged weapons appearing in the shop.

Doesn't remove weapons that are already held.

gladiator_effect_3, knight_effect_3
number_of_enemies none Increase/decrease the number of enemies that spawn, when a group of them spawns candle_effect_3, gentle_alien_effect_2, mouse_effect_2, white_flag_effect_2,

explorer_effect_7, loud_effect_2, old_effect_4

one_shot_trees effect_one_shot_trees Makes trees get destroyed in 1 hit lumberjack_shirt_effect_1
pacifist effect_pacifist Gain x% materials and XP per living enemy when a wave ends. No effect if 0 or below. pacifist_effect_2
pickup_range effect_pickup_range Change pickup range by x% alien_tongue_effect_1, gnome_effect_4, little_frog_effect_1,

explorer_effect_4, soldier_effect_3

piercing effect_piercing Adds +1 piercing to all projectiles bandana_effect_1
piercing_damage effect_piercing_damage Bounce damage. Can't exceed the base damage. pumpkin_effect_1,

arms_dealer_effect_1b, engineer_effect_4, farmer_effect_4, one_arm_effect_2

projectiles_on_death effect_projectiles_on_death Spawns projectiles when an enemy dies.

Requires an associated projectile stats data (.tres) file.

The .tres can be custom, or you can use the default base_ranged_weapon_stats.tres

baby_with_a_beard_effect_1
recycling_gains effect_recycling_gains Increase gains from recycling.

Recycling Machine = +35%, Entrepreneur = +25%

(total: +60%, so realistically you'd need to use set this to <40 to avoid an infinite money exploit with Entrepreneur and Recycling Machine)

recycling_machine_effect_1, entrepreneur_effect_2
remove_speed effect_remove_speed Hitting an enemy reduces their speed by x%.

The max removed amount can be changed (eg Ugly Tooth is max of -30%)

ugly_tooth_effect_1
starting_item effect_starting_item Sets a starting item for a character Many characters, too many to list
stat_links n/a Seems to be used by gain_stat_for_every_stat_effect.gd, to associate one stat with another (eg. gain X per y).

Linked stats can be: General stats (stat_max_hp etc), "materials", "structure" (number of structures) and "living_enemy".

stats_end_of_wave effect_gain_stat_end_of_wave Gain stats when the wave ends grinds_magical_leaf_effect_* (all 3), vigilante_ring_effect_1
structures n/a Array of structures. Should not be modified outside of struture_effect.gd. via: structure_effect

via: gain_stat_for_every_stat_effect

temp_stats_on_hit effect_on_hit Gain temporary stats when you take damage, until the end of the wave.

Only works with the core stats ("stat_*"), plus explosion_size and explosion_damage. See temp_stats.gd for the full list.

triangle_of_power_effect_3, masochist_effect_1
temp_stats_stacking effect_stack_stat Gain temporary stats every 5 seconds, until the end of the wave.

Can't change the timer, fixed to 5sec.

Ticks 4 times in a 20sec wave (1), 12 times in a 60sec wave (9), 18 times in a 90sec wave (10+).

wisdom_effect_1
temp_stats_while_not_moving effect_stat_while_not_moving Gain temporary stats when you stand still, until you move again.

Lasts until the wave ends.

barricade_effect_1, chameleon_effect_1, statue_effect_1,

soldier_effect_1, soldier_effect_2, speedy_effect_3, streamer_effect_1

torture effect_torture Stops you healing in any way. Gain +x HP per second instead torture_effect_2
trees effect_trees Increases the number of tress that can spawn at once. tree_effect_1, explorer_effect_1
trees_start_wave [EMPTY] Either makes trees spawn more often, or makes trees spawn in immediately after starting a wave (see _physics_process in wave_manager.gd) explorer_effect_11
unique_weapon_effects effect_unique_weapon_bonus Gain stats based on the number of unique weapons focus_effect_2, spider_effect_2
weapon_bonus effect_additional_weapon_bonus Gain stats based on the number of weapons you currently hold focus_effect_2, spider_effect_2,

gladiator_effect_1, multitasker_effect_2

weapon_class_bonus n/a Gain bonus stats based on the number of held weapons in the specified class brawler_effect_1, crazy_effect_1, doctor_effect_1,

ghost_effect_1, wildling_effect_1 see: effect_weapon_class_bonus

weapon_slot effect_no_weapons

effect_max_weapons

Set the number of weapon slots to x bull, multitasker, one arm
xp_gain none Increase/decrease XP gain by x% bean_teacher_effect_1, black_belt_effect_1, diploma_effect_2, scar_effect_1

mutant_effect_1

Note: These effects are listed in run_data, but don't do anything: gambler, leave_burning, wandering_bots.

Added in v0.6.1.6

  • double_hp_regen_below_half_health
  • hit_protection
  • minimum_weapons_in_shop
  • percent_materials (only works with temp_stats_while_not_moving)
  • temp_stats_while_moving
  • upgrade_random_weapon
  • weapons_price

Added in v0.8.0.3

View more details in: Patch 0.8.0.3/Modding Changes

Key Text Description Item(s) Characters
consumable_stats_while_max EFFECT_CONSUMABLE_STAT_WHILE_MAX

EFFECT_CONSUMABLE_STAT_WHILE_MAX_LIMITED

Gain stats if you collect consumables at max HP Extra Stomach.png Extra Stomach Farmer.png Farmer, Glutton.png Glutton
convert_stats_half_wave EFFECT_CONVERT_STAT_TEMP_HALF_WAVE Converts stats halfway through the wave > Cyborg.png Cyborg
damage_against_bosses effect_damage_against_bosses Deal % more/less damage against elites/bosses Silver Bullet.png Silver Bullet Jack.png Jack
dmg_on_dodge EFFECT_DEAL_DMG_WHEN_DODGE Deal damage when you dodge (Chance%) Riposte.png Riposte -
dmg_when_death EFFECT_DEAL_DMG_WHEN_DEATH Damage a random enemy when another enemy dies (Chance%) Cyberball.png Cyberball -
dmg_when_heal EFFECT_DEAL_DMG_WHEN_HEAL Damage a random enemy when you heal (Chance%) > Lich.png Lich
dmg_when_pickup_gold EFFECT_DEAL_DMG_WHEN_PICKUP_GOLD Damage a random enemy when you collect a material Baby Elephant.png Baby Elephant Lucky.png Lucky
enemy_damage - Deal % more/less damage against enemies (not elites/bosses) Peacock.png Peacock Jack.png Jack
enemy_health - Enemies have % more/less HP > Jack.png Jack
explode_on_consumable effect_explode_on_consumable Explode when you collect a consumable (Chance%) Spicy Sauce.png Spicy Sauce Glutton.png Glutton
extra_enemies_next_wave effect_extra_enemies_next_wave Lamprey enemies will span at the start of the next wave Bait.png Bait -
giant_crit_damage effect_giant_crit_damage Crits deal % of an enemy's HP as bnus damage Giant Belt.png Giant Belt -
heal_on_crit_kill effect_heal_on_crit_kill Heal 1 HP when killing an enemy with a critical hit (Chance%) Tentacle.png Tentacle -
heal_on_dodge EFFECT_HEAL_WHEN_DODGE Heal x HP when you dodge (%Chance) Adrenaline.png Adrenaline -
starting_weapon effect_starting_item Starting weapon for characters. Key is the weapon's my_id > Brawler.png Brawler, Crazy.png Crazy,

Cyborg.png Cyborg, Engineer.png Engineer,
Ranger.png Ranger, Wildling.png Wildling

stats_next_wave effect_stat_next_wave Change stats, for the next wave only Peacock.png Peacock -
structures_cooldown_reduction effect_structures_cooldown_reduction Reduces the attack cooldown of your structures by x

(scales with stat specified with key)

Improved Tools.png Improved Tools -
temp_pct_stats_stacking None (Needs confirming:) Similar to temp_stats_stacking,

but increases stat x by y% every 5 seconds, until the end of the wave

None -
temp_pct_stats_start_wave None (Needs confirming:) Increase stat x by y% at the start of a wave. None -
upgrade_random_weapon effect_upgrade_random_weapon See Anvil. The stat that gets increased if all weapons are maxed

can be chanegd with key.

Anvil.png Anvil

Added in v1.0.0.3

View more details in: Modding Changes for 1.0.0.3

Key Text Key Description Values Notes Used By
accuracy EFFECT_ACCURACY +/-x % accuracy Number (%) Renegade.png Renegade
cryptid effect_cryptid Gain {0} material and XP for every living tree

at the end of a wave

Number (int) Cryptid.png Cryptid
extra_loot_aliens_next_wave effect_extra_loot_aliens_next_wave +x additional loot aliens appear during the next wave Number (int) Applied with custom_key Lure.png Lure
guaranteed_shop_items effect_guaranteed_shop_item Shops always sell x Key = Item ID Applied with custom_key Fisherman.png Fisherman
no_heal effect_no_heal You can't heal in any way Bool (0/1) Golem.png Golem
projectiles EFFECT_PROJECTILES +x projectiles Number (int) Renegade.png Renegade
specific_items_price EFFECT_SPECIFIC_ITEM_PRICE +/- x price Key = Item ID Applied with custom_key Fisherman.png Fisherman
stats_below_half_health effect_stat_below_half_health {STAT/VALUE} when you have less than 50% health Key = stat Applied with custom_key Golem.png Golem
stats_on_level_up EFFECT_STAT_ON_LEVEL_UP {STAT/VALUE} when you level up Key = stat Applied with custom_key Apprentice.png Apprentice
temp_stats_on_dodge EFFECT_TEMP_STAT_ON_DODGE {STAT/VALUE} when you dodge Key = stat Applied with custom_key Cryptid.png Cryptid
tier_i_weapon_effects EFFECT_TIER_I_WEAPON_BONUS {STAT/VALUE} for every Tier 1 weapon Key = stat Applied with custom_key King.png King
tier_iv_weapon_effects EFFECT_TIER_IV_WEAPON_BONUS {STAT/VALUE} for every Tier 4 weapon Key = stat Applied with custom_key King.png King
tree_turrets EFFECT_TREE_TURRET Killing a tree spawns a turret Bool (0/1) Pocket Factory.png Pocket Factory
upgraded_baits effect_upgraded_baits Baits make special enemies spawn in all future waves Bool (0/1) Fisherman.png Fisherman
special_enemies_last_wave UNUSED UNUSED UNUSED UNUSED UNUSED
Modding [T]
Wiki Modding  •  Notes  •  Effects  •  Vanilla Items
Godot Download  •  Docs  •  GDRETools  •  GodotSteam  •  Jonus' Tutorial
Misc BrotatoMods  •  Cooldown Calculator