From Brotato Wiki
(effects table cont. (WIP)) |
(add some missing effects) |
||
(2 intermediate revisions by the same user not shown) | |||
Line 7: | Line 7: | ||
This page documents the various effects in the vanilla game. Modders can apply these effects to their custom content. | 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: {{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== | ||
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" | ||
!File (*.gd) | !File (*.gd) | ||
!key | !key | ||
!custom_key | |||
!text_key | !text_key | ||
!Description | !Description | ||
! style="min-width:180px" | Used By | ! style="min-width:180px" | Used By | ||
|- | |- | ||
|effect | |effect.gd | ||
|<small>{{Color|color=cream|text=Stat ID, eg:}} <code>stat_max_hp</code> / <code>bounce</code></small> | |<small>{{Color|color=cream|text=Stat ID, eg:}} <code>stat_max_hp</code> / <code>bounce</code></small> | ||
| | |||
|''<small>{{Color|color=grey|text=not specified}}</small>'' | |''<small>{{Color|color=grey|text=not specified}}</small>'' | ||
|Increases a stat (key) by the value | |Increases a stat (key) by the value | ||
|''<small>Many items</small>'' | |''<small>Many items</small>'' | ||
|- | |- | ||
| | |projectile_effect.gd | ||
|<code><small>alien_eyes</small></code> | |<code><small>alien_eyes</small></code> | ||
| | |||
|<code><small>effect_alien_eyes</small></code> | |<code><small>effect_alien_eyes</small></code> | ||
|Shoots {0} alien eyes around you every {4} seconds dealing {1} ({3}) damage each | |Shoots {0} alien eyes around you every {4} seconds dealing {1} ({3}) damage each | ||
|{{MiniIconbox|name=Alien Eyes}} | |{{MiniIconbox|name=Alien Eyes}} | ||
|- | |- | ||
| | |effect.gd | ||
|<small>{{Color|color=cream|text=Stat ID, eg:}} <code>stat_max_hp</code> / <code>bounce</code></small> | |||
|<code><small>upgrade_random_weapon</small></code> | |<code><small>upgrade_random_weapon</small></code> | ||
|<code><small>effect_upgrade_random_weapon</small></code> | |<code><small>effect_upgrade_random_weapon</small></code> | ||
|A random weapon is upgraded when entering a shop. | |A random weapon is upgraded when entering a shop. | ||
If you have no weapon to upgrade, you gain { | If you have no weapon to upgrade, you gain {VALUE} {STAT} instead. | ||
|{{MiniIconbox|name=Anvil}} | |{{MiniIconbox|name=Anvil}} | ||
|- | |- | ||
|burn_chance_effect | |burn_chance_effect | ||
|<code><small>burn_chance</small></code> | |<code><small>burn_chance</small></code> | ||
| | |||
|<code><small>effect_burn_chance</small></code> | |<code><small>effect_burn_chance</small></code> | ||
|Attacks have a {0} chance to deal {1}x{2} ({3}) burning damage | |Attacks have a {0} chance to deal {1}x{2} ({3}) burning damage. | ||
Needs a corresponding burning_data stats file | |||
|{{MiniIconbox|name=Scared Sausage}} | |{{MiniIconbox|name=Scared Sausage}} | ||
|- | |- | ||
|class_bonus_effect | |class_bonus_effect | ||
|<code><small>effect_weapon_class_bonus</small></code> | |<code><small>effect_weapon_class_bonus</small></code> | ||
| | |||
|''<small>{{Color|color=grey|text=not specified}}</small>'' | |''<small>{{Color|color=grey|text=not specified}}</small>'' | ||
|{0} {1} with {2} weapons | |{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" | |||
|{{MiniIconbox|name=Brawler}}, | |{{MiniIconbox|name=Brawler}}, | ||
Line 63: | Line 150: | ||
|convert_stat_effect | |convert_stat_effect | ||
|<code><small>materials</small></code> | |<code><small>materials</small></code> | ||
| | |||
|<code><small>effect_convert_stat_end_of_wave</small></code> | |<code><small>effect_convert_stat_end_of_wave</small></code> | ||
|{0} of your {1} are converted into {2} at the end of a wave ({3} {1} = {4} {2}) | |{0} of your {1} are converted into {2} at the end of a wave ({3} {1} = {4} {2}) | ||
Line 69: | Line 157: | ||
|dmg_when_death_effect | |dmg_when_death_effect | ||
|<code><small>dmg_when_death_from_luck</small></code> | |<code><small>dmg_when_death_from_luck</small></code> | ||
| | |||
|<code><small>effect_deal_dmg_when_death</small></code> | |<code><small>effect_deal_dmg_when_death</small></code> | ||
|{0} chance to deal {1} ({2}) damage to a random enemy when an enemy dies | |{0} chance to deal {1} ({2}) damage to a random enemy when an enemy dies | ||
Line 75: | Line 164: | ||
|dmg_when_pickup_gold_effect | |dmg_when_pickup_gold_effect | ||
|<code><small>dmg_when_pickup_gold_from_luck</small></code> | |<code><small>dmg_when_pickup_gold_from_luck</small></code> | ||
| | |||
|<code><small>effect_deal_dmg_when_pickup_gold</small></code> | |<code><small>effect_deal_dmg_when_pickup_gold</small></code> | ||
|{0} chance to deal {1} ({2}) damage to a random enemy when you pick up a material | |{0} chance to deal {1} ({2}) damage to a random enemy when you pick up a material | ||
Line 82: | Line 172: | ||
|gain_stat_for_every_stat_effect | |gain_stat_for_every_stat_effect | ||
|<small>{{Color|color=cream|text=Stat ID, eg:}} <code>stat_max_hp</code> / <code>bounce</code></small> | |<small>{{Color|color=cream|text=Stat ID, eg:}} <code>stat_max_hp</code> / <code>bounce</code></small> | ||
| | |||
|<code><small>effect_gain_stat_for_every_enemy</small></code> | |<code><small>effect_gain_stat_for_every_enemy</small></code> | ||
Line 110: | Line 201: | ||
|gain_stat_for_every_stat_effect | |gain_stat_for_every_stat_effect | ||
|<code><small>stat_attack_speed</small></code> | |<code><small>stat_attack_speed</small></code> | ||
| | |||
|<code><small>effect_gain_stat_for_every_enemy</small></code> | |<code><small>effect_gain_stat_for_every_enemy</small></code> | ||
| | | | ||
Line 116: | Line 208: | ||
|gain_stat_for_every_stat_effect | |gain_stat_for_every_stat_effect | ||
|<code><small>stat_max_hp</small></code> | |<code><small>stat_max_hp</small></code> | ||
| | |||
|<code><small>effect_gain_stat_for_every_stat</small></code> | |<code><small>effect_gain_stat_for_every_stat</small></code> | ||
| | | | ||
Line 122: | Line 215: | ||
|gain_stat_for_every_stat_effect | |gain_stat_for_every_stat_effect | ||
|<code><small>stat_attack_speed</small></code> | |<code><small>stat_attack_speed</small></code> | ||
| | |||
|<code><small>effect_gain_stat_for_every_stat</small></code> | |<code><small>effect_gain_stat_for_every_stat</small></code> | ||
| | | | ||
Line 128: | Line 222: | ||
|gain_stat_for_every_stat_effect | |gain_stat_for_every_stat_effect | ||
|<code><small>stat_engineering</small></code> | |<code><small>stat_engineering</small></code> | ||
| | |||
|<code><small>effect_gain_stat_for_every_stat</small></code> | |<code><small>effect_gain_stat_for_every_stat</small></code> | ||
| | | | ||
Line 134: | Line 229: | ||
|gain_stat_for_every_stat_effect | |gain_stat_for_every_stat_effect | ||
|<code><small>stat_hp_regeneration</small></code> | |<code><small>stat_hp_regeneration</small></code> | ||
| | |||
|<code><small>effect_gain_stat_for_every_perm_stat</small></code> | |<code><small>effect_gain_stat_for_every_perm_stat</small></code> | ||
| | | | ||
Line 140: | Line 236: | ||
|gain_stat_for_every_stat_effect | |gain_stat_for_every_stat_effect | ||
|<code><small>stat_percent_damage</small></code> | |<code><small>stat_percent_damage</small></code> | ||
| | |||
|<code><small>effect_gain_stat_for_every_perm_stat</small></code> | |<code><small>effect_gain_stat_for_every_perm_stat</small></code> | ||
| | | | ||
Line 146: | Line 243: | ||
|healing_effect | |healing_effect | ||
|<code><small>effect_heal</small></code> | |<code><small>effect_heal</small></code> | ||
| | |||
|''<small>{{Color|color=grey|text=not specified}}</small>'' | |''<small>{{Color|color=grey|text=not specified}}</small>'' | ||
|Only used by consumables. Functionally useless in the shop. | |Only used by consumables. Functionally useless in the shop. | ||
Line 154: | Line 252: | ||
|hp_cap_effect | |hp_cap_effect | ||
|<code><small>hp_cap</small></code> | |<code><small>hp_cap</small></code> | ||
| | |||
|<code><small>effect_hp_cap_at_current_value</small></code> | |<code><small>effect_hp_cap_at_current_value</small></code> | ||
|Your Max HP is capped at its current value | |Your Max HP is capped at its current value | ||
Line 160: | Line 259: | ||
|item_exploding_effect | |item_exploding_effect | ||
|<code><small>explode_on_hit</small></code> | |<code><small>explode_on_hit</small></code> | ||
| | |||
|<code><small>effect_explode_on_hit</small></code> | |<code><small>effect_explode_on_hit</small></code> | ||
|You explode for {damage} ({scaling}) damage when you take damage. | |You explode for {damage} ({scaling}) damage when you take damage. | ||
Line 167: | Line 267: | ||
| rowspan="2" |item_exploding_effect | | rowspan="2" |item_exploding_effect | ||
| rowspan="2" |<code><small>explode_on_death</small></code> | | rowspan="2" |<code><small>explode_on_death</small></code> | ||
| | |||
| rowspan="2" |<code><small>effect_explode_on_death</small></code> | | rowspan="2" |<code><small>effect_explode_on_death</small></code> | ||
| rowspan="2" |Enemies have a {0} chance to explode for {1} ({2}) damage when they die | | rowspan="2" |Enemies have a {0} chance to explode for {1} ({2}) damage when they die | ||
|{{MiniIconbox|name=Landmines}} | |{{MiniIconbox|name=Landmines}} | ||
|- | |- | ||
| | |||
|{{MiniIconbox|name=Rip and Tear}} | |{{MiniIconbox|name=Rip and Tear}} | ||
|- | |- | ||
|pacifist_effect | |pacifist_effect | ||
|<code><small>pacifist</small></code> | |<code><small>pacifist</small></code> | ||
| | |||
|<code><small>effect_pacifist</small></code> | |<code><small>effect_pacifist</small></code> | ||
|Gain {value} material and XP for every living enemy at the end of a wave | |Gain {value} material and XP for every living enemy at the end of a wave | ||
Line 181: | Line 284: | ||
|projectile_effect | |projectile_effect | ||
|<code><small>projectiles_on_death</small></code> | |<code><small>projectiles_on_death</small></code> | ||
| | |||
|<code><small>effect_projectiles_on_death</small></code> | |<code><small>effect_projectiles_on_death</small></code> | ||
| | |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'' | |||
|{{MiniIconbox|name=Baby with a Beard}} | |{{MiniIconbox|name=Baby with a Beard}} | ||
|- | |- | ||
|remove_speed_effect | |remove_speed_effect | ||
|<code><small>remove_speed</small></code> | |<code><small>remove_speed</small></code> | ||
| | |||
|<code><small>effect_remove_speed</small></code> | |<code><small>effect_remove_speed</small></code> | ||
| | |Hitting an enemy reduces their speed by ''x''%. | ||
The max removed amount can be changed (eg Ugly Tooth is max of -30%) | |||
|{{MiniIconbox|name=Ugly Tooth}} | |{{MiniIconbox|name=Ugly Tooth}} | ||
|- | |- | ||
|replace_effect | |replace_effect | ||
|<code><small>double_hp_regen_below_half_health</small></code> | |<code><small>double_hp_regen_below_half_health</small></code> | ||
| | |||
|<code><small>effect_double_hp_regen_below_half_health</small></code> | |<code><small>effect_double_hp_regen_below_half_health</small></code> | ||
| | | | ||
Line 199: | Line 309: | ||
|replace_effect | |replace_effect | ||
|<code><small>minimum_weapons_in_shop</small></code> | |<code><small>minimum_weapons_in_shop</small></code> | ||
| | |||
|<code><small>effect_minimum_weapon_in_shop</small></code> | |<code><small>effect_minimum_weapon_in_shop</small></code> | ||
| | | | ||
Line 205: | Line 316: | ||
|replace_effect | |replace_effect | ||
|<code><small>weapon_slot</small></code> | |<code><small>weapon_slot</small></code> | ||
| | |||
|<code><small>effect_no_weapons</small></code> | |<code><small>effect_no_weapons</small></code> | ||
| | | | ||
Line 211: | Line 323: | ||
|replace_effect | |replace_effect | ||
|<code><small>hp_shop</small></code> | |<code><small>hp_shop</small></code> | ||
| | |||
|<code><small>effect_hp_shop</small></code> | |<code><small>effect_hp_shop</small></code> | ||
| | | | ||
Line 217: | Line 330: | ||
|replace_effect | |replace_effect | ||
|<code><small>trees_start_wave</small></code> | |<code><small>trees_start_wave</small></code> | ||
| | |||
|''<small>{{Color|color=grey|text=not specified}}</small>'' | |''<small>{{Color|color=grey|text=not specified}}</small>'' | ||
| | |Sets the first wave that [[Trees]] can spawn on. | ||
|{{MiniIconbox|name=Explorer}} | |{{MiniIconbox|name=Explorer}} | ||
|- | |- | ||
|replace_effect | |replace_effect | ||
|<code><small>max_melee_weapons</small></code> | |<code><small>max_melee_weapons</small></code> | ||
| | |||
|<code><small>effect_generalist</small></code> | |<code><small>effect_generalist</small></code> | ||
| | | | ||
Line 229: | Line 344: | ||
|replace_effect | |replace_effect | ||
|<code><small>max_ranged_weapons</small></code> | |<code><small>max_ranged_weapons</small></code> | ||
| | |||
|<code><small>[EMPTY]</small></code> | |<code><small>[EMPTY]</small></code> | ||
| | | | ||
Line 235: | Line 351: | ||
|replace_effect | |replace_effect | ||
|<code><small>dodge_cap</small></code> | |<code><small>dodge_cap</small></code> | ||
| | |||
|<code><small>effect_dodge_cap</small></code> | |<code><small>effect_dodge_cap</small></code> | ||
| | | | ||
Line 241: | Line 358: | ||
|replace_effect | |replace_effect | ||
|<code><small>weapon_slot</small></code> | |<code><small>weapon_slot</small></code> | ||
| | |||
|<code><small>effect_max_weapons</small></code> | |<code><small>effect_max_weapons</small></code> | ||
| | | | ||
Line 247: | Line 365: | ||
|replace_effect | |replace_effect | ||
|<code><small>can_attack_while_moving</small></code> | |<code><small>can_attack_while_moving</small></code> | ||
| | |||
|<code><small>effect_cant_attack_while_moving</small></code> | |<code><small>effect_cant_attack_while_moving</small></code> | ||
| | | | ||
Line 253: | Line 372: | ||
|replace_effect | |replace_effect | ||
|<code><small>double_boss</small></code> | |<code><small>double_boss</small></code> | ||
| | |||
|<code><small>effect_double_boss</small></code> | |<code><small>effect_double_boss</small></code> | ||
| | | | ||
Line 259: | Line 379: | ||
|starting_item_effect | |starting_item_effect | ||
|<code><small>starting_item</small></code> | |<code><small>starting_item</small></code> | ||
| | |||
|<code><small>effect_starting_item</small></code> | |<code><small>effect_starting_item</small></code> | ||
| | | | ||
Line 279: | Line 400: | ||
|stat_effect | |stat_effect | ||
|<code><small>stat_armor</small></code> | |<code><small>stat_armor</small></code> | ||
| | |||
|<code><small>effect_stat_while_not_moving</small></code> | |<code><small>effect_stat_while_not_moving</small></code> | ||
| | | | ||
Line 285: | Line 407: | ||
|stat_effect | |stat_effect | ||
|<code><small>stat_dodge</small></code> | |<code><small>stat_dodge</small></code> | ||
| | |||
|<code><small>effect_stat_while_not_moving</small></code> | |<code><small>effect_stat_while_not_moving</small></code> | ||
| | | | ||
Line 291: | Line 414: | ||
|stat_effect | |stat_effect | ||
|<code><small>gold_on_crit_kill</small></code> | |<code><small>gold_on_crit_kill</small></code> | ||
| | |||
|<code><small>effect_gold_on_crit_kill</small></code> | |<code><small>effect_gold_on_crit_kill</small></code> | ||
| | | | ||
Line 297: | Line 421: | ||
|stat_effect | |stat_effect | ||
|<code><small>stat_attack_speed</small></code> | |<code><small>stat_attack_speed</small></code> | ||
| | |||
|<code><small>effect_stat_while_not_moving</small></code> | |<code><small>effect_stat_while_not_moving</small></code> | ||
| | | | ||
Line 303: | Line 428: | ||
|stat_effect | |stat_effect | ||
|<code><small>stat_percent_damage</small></code> | |<code><small>stat_percent_damage</small></code> | ||
| | |||
|<code><small>effect_on_hit</small></code> | |<code><small>effect_on_hit</small></code> | ||
| | | | ||
Line 309: | Line 435: | ||
|stat_effect | |stat_effect | ||
|<code><small>stat_percent_damage</small></code> | |<code><small>stat_percent_damage</small></code> | ||
| | |||
|<code><small>effect_gain_stat_end_of_wave</small></code> | |<code><small>effect_gain_stat_end_of_wave</small></code> | ||
| | | | ||
Line 315: | Line 442: | ||
|stat_effect | |stat_effect | ||
|<code><small>stat_percent_damage</small></code> | |<code><small>stat_percent_damage</small></code> | ||
| | |||
|<code><small>effect_stack_stat</small></code> | |<code><small>effect_stack_stat</small></code> | ||
| | | | ||
Line 321: | Line 449: | ||
|stat_effect | |stat_effect | ||
|<code><small>stat_max_hp</small></code> | |<code><small>stat_max_hp</small></code> | ||
| | |||
|<code><small>effect_gain_stat_end_of_wave</small></code> | |<code><small>effect_gain_stat_end_of_wave</small></code> | ||
| | | | ||
Line 327: | Line 456: | ||
|stat_effect | |stat_effect | ||
|<code><small>stat_hp_regeneration</small></code> | |<code><small>stat_hp_regeneration</small></code> | ||
| | |||
|<code><small>effect_gain_stat_end_of_wave</small></code> | |<code><small>effect_gain_stat_end_of_wave</small></code> | ||
| | | | ||
Line 332: | Line 462: | ||
|stat_effect | |stat_effect | ||
|<code><small>stat_lifesteal</small></code> | |<code><small>stat_lifesteal</small></code> | ||
| | |||
|<code><small>effect_gain_stat_end_of_wave</small></code> | |<code><small>effect_gain_stat_end_of_wave</small></code> | ||
| | | | ||
Line 337: | Line 468: | ||
|stat_gains_modification_effect | |stat_gains_modification_effect | ||
|<code><small>effect_increase_stat_gains</small></code> | |<code><small>effect_increase_stat_gains</small></code> | ||
| | |||
|''<small>{{Color|color=grey|text=not specified}}</small>'' | |''<small>{{Color|color=grey|text=not specified}}</small>'' | ||
| | | | ||
Line 343: | Line 475: | ||
|stat_gains_modification_effect | |stat_gains_modification_effect | ||
|<code><small>effect_reduce_stat_gains</small></code> | |<code><small>effect_reduce_stat_gains</small></code> | ||
| | |||
|''<small>{{Color|color=grey|text=not specified}}</small>'' | |''<small>{{Color|color=grey|text=not specified}}</small>'' | ||
| | | | ||
Line 349: | Line 482: | ||
|structure_effect | |structure_effect | ||
|''<small>{{Color|color=grey|text=not specified}}</small>'' | |''<small>{{Color|color=grey|text=not specified}}</small>'' | ||
| | |||
|<code>effect_landmines</code> | |<code>effect_landmines</code> | ||
| | | | ||
Line 357: | Line 491: | ||
|tier_effect | |tier_effect | ||
|<code>min_weapon_tier</code> | |<code>min_weapon_tier</code> | ||
| | |||
|<code>effect_min_weapon_tier</code> | |<code>effect_min_weapon_tier</code> | ||
| | | | ||
Line 363: | Line 498: | ||
|tier_effect | |tier_effect | ||
|<code>max_weapon_tier</code> | |<code>max_weapon_tier</code> | ||
| | |||
|<code>effect_max_weapon_tier</code> | |<code>effect_max_weapon_tier</code> | ||
| | | | ||
Line 369: | Line 505: | ||
|turret_effect | |turret_effect | ||
|''<small>{{Color|color=grey|text=not specified}}</small>'' | |''<small>{{Color|color=grey|text=not specified}}</small>'' | ||
| | |||
|<code>effect_turret</code> | |<code>effect_turret</code> | ||
| | | | ||
Line 377: | Line 514: | ||
|turret_effect | |turret_effect | ||
|''<small>{{Color|color=grey|text=not specified}}</small>'' | |''<small>{{Color|color=grey|text=not specified}}</small>'' | ||
| | |||
|<code>effect_turret_healing</code> | |<code>effect_turret_healing</code> | ||
| | | | ||
Line 383: | Line 521: | ||
|turret_effect | |turret_effect | ||
|''<small>{{Color|color=grey|text=not specified}}</small>'' | |''<small>{{Color|color=grey|text=not specified}}</small>'' | ||
| | |||
|<code>effect_turret_laser</code> | |<code>effect_turret_laser</code> | ||
| | | | ||
Line 389: | Line 528: | ||
|turret_effect | |turret_effect | ||
|''<small>{{Color|color=grey|text=not specified}}</small>'' | |''<small>{{Color|color=grey|text=not specified}}</small>'' | ||
| | |||
|<code>effect_turret_rocket</code> | |<code>effect_turret_rocket</code> | ||
| | | | ||
Line 395: | Line 535: | ||
|turret_effect | |turret_effect | ||
|''<small>{{Color|color=grey|text=not specified}}</small>'' | |''<small>{{Color|color=grey|text=not specified}}</small>'' | ||
| | |||
|<code>effect_tyler</code> | |<code>effect_tyler</code> | ||
| | | | ||
Line 401: | Line 542: | ||
|turret_effect | |turret_effect | ||
|<code>wandering_bot</code> | |<code>wandering_bot</code> | ||
| | |||
|<code>effect_wandering_bot</code> | |<code>effect_wandering_bot</code> | ||
| | | | ||
Line 407: | Line 549: | ||
|turret_flame_effect | |turret_flame_effect | ||
|''<small>{{Color|color=grey|text=not specified}}</small>'' | |''<small>{{Color|color=grey|text=not specified}}</small>'' | ||
| | |||
|<code>effect_turret_flame</code> | |<code>effect_turret_flame</code> | ||
| | | | ||
Line 415: | Line 558: | ||
|unique_weapon_effect | |unique_weapon_effect | ||
|<code>stat_attack_speed</code> | |<code>stat_attack_speed</code> | ||
| | |||
|<code>effect_unique_weapon_bonus</code> | |<code>effect_unique_weapon_bonus</code> | ||
| | | | ||
Line 421: | Line 565: | ||
|unique_weapon_effect | |unique_weapon_effect | ||
|<code>stat_attack_speed</code> | |<code>stat_attack_speed</code> | ||
| | |||
|<code>effect_unique_weapon_bonus</code> | |<code>effect_unique_weapon_bonus</code> | ||
| | | | ||
Line 427: | Line 572: | ||
|weapon_bonus_effect | |weapon_bonus_effect | ||
|''<small>{{Color|color=grey|text=???}}</small>'' | |''<small>{{Color|color=grey|text=???}}</small>'' | ||
| | |||
|''<small>{{Color|color=grey|text=???}}</small>'' | |''<small>{{Color|color=grey|text=???}}</small>'' | ||
| | | | ||
Line 433: | Line 579: | ||
|weapon_gain_effect | |weapon_gain_effect | ||
|''<small>{{Color|color=grey|text=???}}</small>'' | |''<small>{{Color|color=grey|text=???}}</small>'' | ||
| | |||
|''<small>{{Color|color=grey|text=???}}</small>'' | |''<small>{{Color|color=grey|text=???}}</small>'' | ||
| | | | ||
|''<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" | ||
Line 606: | Line 760: | ||
|Changes a stat (key) based on how many weapons you have | |Changes a stat (key) based on how many weapons you have | ||
|multitasker_effect_2 ''[effect_key]'' | |multitasker_effect_2 ''[effect_key]'' | ||
|- | |- | ||
|bounce | |bounce |
Latest revision as of 11:52, 22 August 2024
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:
|
Text Key | n/a | If an effect key is specified, it's retrieved from the translation file.
|
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:
|
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:
|
Storage Method | Sum | Determines how the value should be saved/applied:
|
Effect Sign | From Value | Determines how to get the sign ("+" or "-") of the value.
|
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 | |
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 |
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 | |
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, | |
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 | |
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 | |
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, | |
gain_stat_for_every_stat_effect | Stat ID, eg: stat_max_hp / bounce
|
effect_gain_stat_for_every_enemy
|
Links 2 stats together:
|
Artificer, | |
gain_stat_for_every_stat_effect | stat_attack_speed
|
effect_gain_stat_for_every_enemy
|
Community Support | ||
gain_stat_for_every_stat_effect | stat_max_hp
|
effect_gain_stat_for_every_stat
|
Padding | ||
gain_stat_for_every_stat_effect | stat_attack_speed
|
effect_gain_stat_for_every_stat
|
Retromation's Hoodie | ||
gain_stat_for_every_stat_effect | stat_engineering
|
effect_gain_stat_for_every_stat
|
Strange Book | ||
gain_stat_for_every_stat_effect | stat_hp_regeneration
|
effect_gain_stat_for_every_perm_stat
|
Esty's Couch | ||
gain_stat_for_every_stat_effect | stat_percent_damage
|
effect_gain_stat_for_every_perm_stat
|
Power Generator | ||
healing_effect | effect_heal
|
not specified | Only used by consumables. Functionally useless in the shop. | Fruit | |
hp_cap_effect | hp_cap
|
effect_hp_cap_at_current_value
|
Your Max HP is capped at its current value | 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 | |
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 | |
Rip and Tear | |||||
pacifist_effect | pacifist
|
effect_pacifist
|
Gain {value} material and XP for every living enemy at the end of a wave | 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 | |
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 | |
replace_effect | double_hp_regen_below_half_health
|
effect_double_hp_regen_below_half_health
|
Regeneration Potion | ||
replace_effect | minimum_weapons_in_shop
|
effect_minimum_weapon_in_shop
|
Arms Dealer | ||
replace_effect | weapon_slot
|
effect_no_weapons
|
Bull | ||
replace_effect | hp_shop
|
effect_hp_shop
|
Demon | ||
replace_effect | trees_start_wave
|
not specified | Sets the first wave that Trees can spawn on. | Explorer | |
replace_effect | max_melee_weapons
|
effect_generalist
|
Generalist | ||
replace_effect | max_ranged_weapons
|
[EMPTY]
|
Generalist | ||
replace_effect | dodge_cap
|
effect_dodge_cap
|
Ghost | ||
replace_effect | weapon_slot
|
effect_max_weapons
|
Multitasker | ||
replace_effect | can_attack_while_moving
|
effect_cant_attack_while_moving
|
Soldier | ||
replace_effect | double_boss
|
effect_double_boss
|
Danger 5 | ||
starting_item_effect | starting_item
|
effect_starting_item
|
Brawler,
Mage, | ||
stat_effect | stat_armor
|
effect_stat_while_not_moving
|
Barricade | ||
stat_effect | stat_dodge
|
effect_stat_while_not_moving
|
Chameleon | ||
stat_effect | gold_on_crit_kill
|
effect_gold_on_crit_kill
|
Hunting Trophy | ||
stat_effect | stat_attack_speed
|
effect_stat_while_not_moving
|
Statue | ||
stat_effect | stat_percent_damage
|
effect_on_hit
|
Triangle of Power | ||
stat_effect | stat_percent_damage
|
effect_gain_stat_end_of_wave
|
Vigilante Ring | ||
stat_effect | stat_percent_damage
|
effect_stack_stat
|
Wisdom | ||
stat_effect | stat_max_hp
|
effect_gain_stat_end_of_wave
|
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 | ||
tier_effect | min_weapon_tier
|
effect_min_weapon_tier
|
Knight | ||
tier_effect | max_weapon_tier
|
effect_max_weapon_tier
|
Wildling | ||
turret_effect | not specified | effect_turret
|
Turret | ||
turret_effect | not specified | effect_turret_healing
|
Medical Turret | ||
turret_effect | not specified | effect_turret_laser
|
Laser Turret | ||
turret_effect | not specified | effect_turret_rocket
|
Explosive Turret | ||
turret_effect | not specified | effect_tyler
|
Tyler | ||
turret_effect | wandering_bot
|
effect_wandering_bot
|
Wandering Bot | ||
turret_flame_effect | not specified | effect_turret_flame
|
Incendiary Turret
Wrench (Tier 2) | ||
unique_weapon_effect | stat_attack_speed
|
effect_unique_weapon_bonus
|
Focus | ||
unique_weapon_effect | stat_attack_speed
|
effect_unique_weapon_bonus
|
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
|
|
stat_hp_regeneration
|
|
stat_lifesteal
|
|
stat_percent_damage
|
|
stat_melee_damage
|
|
stat_ranged_damage
|
|
stat_elemental_damage
|
|
stat_attack_speed
|
|
stat_crit_chance
|
|
stat_engineering
|
|
stat_range
|
|
stat_armor
|
|
stat_dodge
|
|
stat_speed
|
|
stat_luck
|
|
stat_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 | Farmer, Glutton |
convert_stats_half_wave | EFFECT_CONVERT_STAT_TEMP_HALF_WAVE | Converts stats halfway through the wave | > | Cyborg |
damage_against_bosses | effect_damage_against_bosses | Deal % more/less damage against elites/bosses | Silver Bullet | Jack |
dmg_on_dodge | EFFECT_DEAL_DMG_WHEN_DODGE | Deal damage when you dodge (Chance%) | Riposte | - |
dmg_when_death | EFFECT_DEAL_DMG_WHEN_DEATH | Damage a random enemy when another enemy dies (Chance%) | Cyberball | - |
dmg_when_heal | EFFECT_DEAL_DMG_WHEN_HEAL | Damage a random enemy when you heal (Chance%) | > | Lich |
dmg_when_pickup_gold | EFFECT_DEAL_DMG_WHEN_PICKUP_GOLD | Damage a random enemy when you collect a material | Baby Elephant | Lucky |
enemy_damage | - | Deal % more/less damage against enemies (not elites/bosses) | Peacock | Jack |
enemy_health | - | Enemies have % more/less HP | > | Jack |
explode_on_consumable | effect_explode_on_consumable | Explode when you collect a consumable (Chance%) | Spicy Sauce | Glutton |
extra_enemies_next_wave | effect_extra_enemies_next_wave | Lamprey enemies will span at the start of the next wave | Bait | - |
giant_crit_damage | effect_giant_crit_damage | Crits deal % of an enemy's HP as bnus damage | Giant Belt | - |
heal_on_crit_kill | effect_heal_on_crit_kill | Heal 1 HP when killing an enemy with a critical hit (Chance%) | Tentacle | - |
heal_on_dodge | EFFECT_HEAL_WHEN_DODGE | Heal x HP when you dodge (%Chance) | Adrenaline | - |
starting_weapon | effect_starting_item | Starting weapon for characters. Key is the weapon's my_id
|
> | Brawler, Crazy, |
stats_next_wave | effect_stat_next_wave | Change stats, for the next wave only | 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 | - |
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 |
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 | |
cryptid
|
effect_cryptid
|
Gain {0} material and XP for every living tree
at the end of a wave |
Number (int) | 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 |
guaranteed_shop_items
|
effect_guaranteed_shop_item
|
Shops always sell x | Key = Item ID | Applied with custom_key
|
Fisherman |
no_heal
|
effect_no_heal
|
You can't heal in any way | Bool (0/1) | Golem | |
projectiles
|
EFFECT_PROJECTILES
|
+x projectiles | Number (int) | Renegade | |
specific_items_price
|
EFFECT_SPECIFIC_ITEM_PRICE
|
+/- x price | Key = Item ID | Applied with custom_key
|
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 |
stats_on_level_up
|
EFFECT_STAT_ON_LEVEL_UP
|
{STAT/VALUE} when you level up | Key = stat | Applied with custom_key
|
Apprentice |
temp_stats_on_dodge
|
EFFECT_TEMP_STAT_ON_DODGE
|
{STAT/VALUE} when you dodge | Key = stat | Applied with custom_key
|
Cryptid |
tier_i_weapon_effects
|
EFFECT_TIER_I_WEAPON_BONUS
|
{STAT/VALUE} for every Tier 1 weapon | Key = stat | Applied with custom_key
|
King |
tier_iv_weapon_effects
|
EFFECT_TIER_IV_WEAPON_BONUS
|
{STAT/VALUE} for every Tier 4 weapon | Key = stat | Applied with custom_key
|
King |
tree_turrets
|
EFFECT_TREE_TURRET
|
Killing a tree spawns a turret | Bool (0/1) | Pocket Factory | |
upgraded_baits
|
effect_upgraded_baits
|
Baits make special enemies spawn in all future waves | Bool (0/1) | 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 |