From Dark and Darker Wiki

(Created page with "<includeonly><!-- -->{{#arraydefine:Utilities|{{Utility Data|AllLists|Types|Utility|{{#if:{{{craftable|}}}|Craftable|Uncraftable}}|{{{1}}}}} }}<!-- -->{{#loop:i|0|{{#arraysize:Utilities}}<!-- -->|{{#vardefine:current|{{#arrayindex:Utilities|{{#var:i}} }} }}<!-- -->{{GenerateUtilityRow|{{#var:current}}}} }}<!-- --></includeonly><noinclude> List Utilities and generate rows with them == Example == <table class="wikitable"> <tr> <th>Code</th> <th>Preview</th> </tr>...")
 
m (typo)
 
(23 intermediate revisions by the same user not shown)
Line 1: Line 1:
<includeonly><!--
<includeonly><!--
-->{{#arraydefine:Utilities|{{Utility Data|AllLists|Types|Utility|{{#if:{{{craftable|}}}|Craftable|Uncraftable}}|{{{1}}}}} }}<!--
TODO
-->{{#loop:i|0|{{#arraysize:Utilities}}<!--
- Automate interaction time data for consumables.
-->|{{#vardefine:current|{{#arrayindex:Utilities|{{#var:i}} }} }}<!--
- Automate interaction time data for installables.
-->{{GenerateUtilityRow|{{#var:current}}}} }}<!--
- Add missing light source abilities. Need to mention the effect of lighting.
 
--><table cellspacing="0" class="wikitable sortable jquery-tablesorter" style="rgb(220,220,220,0.2); color:#eee; background:transparent; text-align:center; vertical-align:middle;">
<tr style="font-weight:bold;">
<th style="width:5%">Name</th>
{{#switch:{{lc:{{{1}}}}}
|drink=
<th style="width:5%">Movement Speed</th>
<th style="width:20%">Effect</th>
<th style="width:10%">Action Time</th>
<th style="width:10%">Action Movement Penalty</th>
|consumable=
<th style="width:5%">Movement Speed</th>
<th style="width:20%">Effect</th>
<th style="width:10%">Interaction Time</th>
<th style="width:10%">Action Movement Penalty</th>
|installable=
<th style="width:5%">Class</th>
<th style="width:5%">Movement Speed</th>
<th style="width:10%">Damage on Hit</th>
<th style="width:20%">Effect</th>
<th style="width:10%">Interaction Time</th>
|lightsource=
<th style="width:5%">Movement Speed</th>
<th style="width:10%">Damage on Hit</th>
<th style="width:20%">Effect</th>
<th style="width:10%">Action Movement Penalty</th>
<th style="width:10%">Slowdown On Hit</th>
|throwable=
<th style="width:5%">Class</th>
<th style="width:5%">Movement Speed</th>
<th style="width:10%">Damage on Hit</th>
<th style="width:20%">Effect</th>
<th style="width:10%">Action Movement Penalty</th>
<th style="width:10%">Slowdown On Hit</th>
|musicalinstrument
|mining=
<th style="width:5%">Movement Speed</th>
<th style="width:10%">Damage on Hit</th>
<th style="width:10%">Stats</th>
<th style="width:20%">Effect</th>
<th style="width:10%">Action Movement Penalty</th>
<th style="width:10%">Slowdown On Hit</th>
|soulheart=
<th style="width:20%">Effect</th>
|#default=
<th style="width:5%">Class</th>
<th style="width:5%">Movement Speed</th>
<th style="width:10%">Damage on Hit</th>
<th style="width:10%">Stats</th>
<th style="width:20%">Effect</th>
<th style="width:10%">Action Time</th>
<th style="width:10%">Action Movement Penalty</th>
<th style="width:10%">Slowdown On Hit</th>}}</tr><!--
 
-->{{#arraydefine:Utilities|{{Utility Data|AllLists|Types|Utility|Both|{{{1}}}}} }}<!--
-->{{#loop:i|0|{{#arraysize:Utilities}}<!--
-->|{{#vardefine:current|{{#arrayindex:Utilities|{{#var:i}} }} }}<!--
-->{{#vardefine:rarities|{{Utility Data|{{#var:current}}|Rarities}} }}<!--
-->{{#arraydefine:rarities|{{#var:rarities}} }}<!--
-->{{#vardefine:types|{{Utility Data|{{#var:current}}|Types|All}} }}<!--
-->{{#vardefine:is_soulheart|{{#ifeq:Soul Heart|{{#var:current}}|1}} }}<!--
-->{{#vardefine:is_healing_consumable|{{#pos:Surgical Kit,Bandage|{{#var:current}} }} }}{{#if:{{#var:is_healing_consumable}}|{{#vardefine:is_consumable}}|{{#vardefine:is_consumable|{{#pos:{{#var:types}}|Consumable}} }} }}<!--
-->{{#vardefine:is_drink|{{#pos:{{#var:types}}|Drink}} }}<!--
-->{{#vardefine:is_installable|{{#pos:{{#var:types}}|Installable}} }}<!--
-->{{#vardefine:is_musicalinstrument|{{#pos:{{#var:types}}|MusicalInstrument}} }}<!--
-->{{#vardefine:is_throwable|{{#pos:{{#var:types}}|Throwable}} }}<!--
-->{{#vardefine:is_lightsource|{{#pos:{{#var:types}}|LightSource}} }}<!--
-->{{#vardefine:is_mining|{{#pos:{{#var:types}}|Mining}} }}<!--
Create an array that will be filtered out from the stats data cell.
-->{{#arraydefine:stats_filter|Move Speed,Physical Base Weapon Damage}}<!--
-->{{#arraydefine:allstats|{{Utility Data|{{#var:current}}|Stats|AllStats}} }}{{#arraydiff:allstats|allstats|stats_filter}}<!--
-->{{#arraydefine:all_abilities|{{Utility Data|{{#var:current}}|Abilities|All}} }}<!--
-->{{#arraydefine:effects_filter|Scaling,Duration}}<!--
-->{{#arraydefine:ability_filter|Consume,Throw}}<!--
 
--><tr><!--
Iconbox
--><td><!--
-->{{Iconbox<!--
-->|{{#var:current}}<!--
-->|rarity=<!--
-->{{#if:{{#pos:{{#var:rarities}}|,}}<!--
-->|2<!--
-->|{{#var:rarities}} }}<!--
-->|caption=<!--
-->{{#if:{{#pos:{{#var:rarities}}|,}}<!--
-->||<span class="colorrarity{{#var:rarities}}">{{#var:current}}</span>}} }}</td><!--
 
Classes
-->{{#if:{{#var:is_drink}}{{#var:is_consumable}}{{#var:is_healing_consumable}}{{#var:is_soulheart}}{{#var:is_lightsource}}{{#var:is_mining}}{{#var:is_musicalinstrument}}<!--
-->||<td>{{#replace:{{Utility Data|{{#var:current}}|Classes}}|,|<br>}}</td>}}<!--
 
Movement Speed
-->{{#if:{{#var:is_soulheart}}<!--
-->||<td><!--
WARNING: This structure assumes every utility has uniform movement speed stats.
It is possible that in the future, there exists a utility that doesn't have move speed 5.
In such a case, we would have to change the logic of the second switch statement.
-->{{#switch:1<!--
-->|{{#if:{{#vardefineecho:utility_stat|{{Utility Data|{{#var:current}}|Stats|Move speed}} }}|1|}}=<!--
-->{{#var:utility_stat}}<!--
-->|{{#if:{{#vardefineecho:utility_stat|{{Utility Data|{{#var:current}}|Stats|Move speed 5}} }}|1|}}=<!--
--><span class="colorrarity1">{{Utility Data|{{#var:current}}|Stats|Move speed 1}}</span><br><!--
--><span class="colorrarity2">{{Utility Data|{{#var:current}}|Stats|Move speed 2}}</span><br><!--
--><span class="colorrarity3">{{Utility Data|{{#var:current}}|Stats|Move speed 3}}</span><br><!--
--><span class="colorrarity4">{{Utility Data|{{#var:current}}|Stats|Move speed 4}}</span><br><!--
--><span class="colorrarity5">{{Utility Data|{{#var:current}}|Stats|Move speed 5}}</span><br><!--
--><span class="colorrarity6">{{Utility Data|{{#var:current}}|Stats|Move speed 6}}</span><br><!--
--><span class="colorrarity7">{{Utility Data|{{#var:current}}|Stats|Move speed 7}}</span>}}</td>}}<!--
 
Damages
-->{{#if:{{#var:is_drink}}{{#var:is_consumable}}{{#var:is_healing_consumable}}{{#var:is_soulheart}}<!--
-->||<td><!--
WARNING: This structure assumes every combat utility has uniform weapon damage stats.
It is possible that in the future, there exists a utility that doesn't have phys. wep. damage 5.
In such a case, we would have to change the logic of the second switch statement.
-->{{#switch:1<!--
-->|{{#if:{{#vardefineecho:utility_stat|{{Utility Data|{{#var:current}}|Stats|Physical Base Weapon Damage}} }}|1|}}=<!--
-->{{#var:utility_stat}}<!--
-->|{{#if:{{#vardefineecho:utility_stat|{{Utility Data|{{#var:current}}|Stats|Physical Base Weapon Damage 5}} }}|1|}}=<!--
--><span class="colorrarity1">{{Utility Data|{{#var:current}}|Stats|Physical Base Weapon Damage 1}}</span><br><!--
--><span class="colorrarity2">{{Utility Data|{{#var:current}}|Stats|Physical Base Weapon Damage 2}}</span><br><!--
--><span class="colorrarity3">{{Utility Data|{{#var:current}}|Stats|Physical Base Weapon Damage 3}}</span><br><!--
--><span class="colorrarity4">{{Utility Data|{{#var:current}}|Stats|Physical Base Weapon Damage 4}}</span><br><!--
--><span class="colorrarity5">{{Utility Data|{{#var:current}}|Stats|Physical Base Weapon Damage 5}}</span><br><!--
--><span class="colorrarity6">{{Utility Data|{{#var:current}}|Stats|Physical Base Weapon Damage 6}}</span><br><!--
--><span class="colorrarity7">{{Utility Data|{{#var:current}}|Stats|Physical Base Weapon Damage 7}}</span><!--
-->|{{#ifeq:{{lc:{{#var:current}} }}|hunting trap|1}}=<!--
-->{{Prop Data|Hunting Trap|Global|Abilities|hunting trap activate Poor|Effects|huntingtraphit|truephysicalbasedamage}} }}</td>}}<!--
 
Stats
-->{{#if:{{#var:is_drink}}{{#var:is_consumable}}{{#var:is_healing_consumable}}{{#var:is_lightsource}}{{#var:is_throwable}}{{#var:is_soulheart}}{{#var:is_installable}}<!--
-->||<td><!--
-->{{#loop:i|0|{{#arraysize:allstats}}<!--
-->|{{#vardefine:stat|{{#arrayindex:allstats|{{#var:i}} }} }}<!--
--><div style="display:inline-block; vertical-align:top; margin-left:15px; margin-right:15px;"><!--
If the stats isn't Physical Utility Damage or Move Speed, display it.
--><span style="color:#eee8;">{{#var:stat}}</span><br><!--
-->{{#switch:1<!--
-->|{{#if:{{#vardefineecho:utility_stat|{{Utility Data|{{#var:current}}|Stats|{{#var:stat}} }} }}|1|}}=<!--
-->{{#var:utility_stat}}<!--
-->|{{#if:{{#vardefineecho:utility_stat|{{Utility Data|{{#var:current}}|Stats|{{#var:stat}} 5}} }}|1|}}=<!--
--><span class="colorrarity1">{{Utility Data|{{#var:current}}|Stats|{{#var:stat}} 1}}</span><br><!--
--><span class="colorrarity2">{{Utility Data|{{#var:current}}|Stats|{{#var:stat}} 2}}</span><br><!--
--><span class="colorrarity3">{{Utility Data|{{#var:current}}|Stats|{{#var:stat}} 3}}</span><br><!--
--><span class="colorrarity4">{{Utility Data|{{#var:current}}|Stats|{{#var:stat}} 4}}</span><br><!--
--><span class="colorrarity5">{{Utility Data|{{#var:current}}|Stats|{{#var:stat}} 5}}</span><br><!--
--><span class="colorrarity6">{{Utility Data|{{#var:current}}|Stats|{{#var:stat}} 6}}</span><br><!--
--><span class="colorrarity7">{{Utility Data|{{#var:current}}|Stats|{{#var:stat}} 7}}</span>}}</div>}}</td>}}<!--
 
Effect
--><td><!--
-->{{#switch:1<!--
-->|{{#if:{{#pos:{{#var:current}}|Potion of Luck}}|1}}=<!--
-->{{Effects|Potion of Luck|{{#var:rarities}}}}<!--
 
-->|{{#if:{{#var:is_consumable}}|1}}=<!--
-->{{#switch:{{lc:{{#var:current}} }}<!--
-->|skull key=Opens the [[Skull Stone Door|Skull Door]]. This door can only be found on the Inferno map that features Ghost King, in the Demon Gate module.<!--
-->|frozen iron key=Opens the [[Frozen Iron Door]]. This door can only be found in Ice Abyss, in the Charnel House module.<!--
-->|golden key=Opens the [[Golden Door]]. This door can be found in various modules of the Crypts maps, specifically: the Treasure Room, the Armory, and the Wheel.<!--
-->|old rusty key=Opens the [[Rusty Iron Door]]. This door can only be found in Ruins.<!--
-->|mystical gem=Opens the [[Goblin Stone Door]]. This door can only be found in Goblin Caves, in the Goblin Rooms module.<!--
-->|lockpick=Opens locked doors and chests. Will not work on doors that require special keys.<!--
-->|trap disarming kit=Allows the player to disable environmental traps.<!--
-->|#default=TODO_ADD_MISSING_INFORMATION}}<!--
 
-->|{{#if:{{#var:is_drink}}{{#var:is_healing_consumable}}{{#var:is_soulheart}}{{#var:is_lightsource}}|1}}=<!--
-->{{#arraydefine:other_ability|{{Utility Data|{{#var:current}}|Abilities|Other|All}} }}{{#arrayintersect:other_ability|other_ability|ability_filter}}<!--
-->{{#arraydefine:effects|{{Utility Data|{{#var:current}}|Abilities|Other|{{#arrayprint:other_ability}}|Effects|All}} }}<!--
-->{{#loop:i|0|{{#arraysize:effects}}<!--
Collect the information for the effect
-->|{{#vardefine:effects|{{#arrayindex:effects|{{#var:i}} }} }}<!--
 
Find the effect name
-->{{#arraydefine:effect_data_name|{{Utility Data|{{#var:current}}|Abilities|Other|{{#arrayprint:other_ability}}|Effects|{{#var:effects}}|Rarity|Global|All}} }}<!--
-->{{#arraydiff:effect_data_name|effect_data_name|effects_filter}}<!--
If the effect name is empty, either it's not a global effect or the item doesn't have an effect outside of duration and scaling. We double check the rarity effects.
-->{{#ifexpr:{{#arraysize:effect_data_name}} < 1<!--
-->|{{#arraydefine:effect_data_name|{{Utility Data|{{#var:current}}|Abilities|Other|{{#arrayprint:other_ability}}|Effects|{{#var:effects}}|Rarity|{{#arrayindex:rarities|0}}|All}} }}<!--
-->{{#arraydiff:effect_data_name|effect_data_name|effects_filter}} }}<!--
 
-->{{#vardefine:effect_data|<!--
-->{{#switch:1<!--
-->|{{#if:{{#vardefineecho:global|{{Utility Data|{{#var:current}}|Abilities|Other|{{#arrayprint:other_ability}}|Effects|{{#var:effects}}|Rarity|Global|{{#arrayprint:effect_data_name}} }} }}|1}}=<!--
-->{{#var:global}}<!--
-->|{{#if:{{Utility Data|{{#var:current}}|Abilities|Other|{{#arrayprint:other_ability}}|Effects|{{#var:effects}}|Rarity|{{#arrayindex:rarities|0}}|{{#arrayprint:effect_data_name}} }}|1}}=<!--
-->{{#loop:i|0|{{#arraysize:rarities}}<!--
-->|{{#ifeq:{{#var:i}}|0||&nbsp;{{!}}&nbsp;}}<!--
Need to color by rarity
--><span class="colorrarity{{#arrayindex:rarities|{{#var:i}} }}"><!--
-->{{Utility Data|{{#var:current}}|Abilities|Other|{{#arrayprint:other_ability}}|Effects|{{#var:effects}}|Rarity|{{#arrayindex:rarities|{{#var:i}} }}|{{#arrayprint:effect_data_name}} }}</span>}} }} }}<!--
-->{{#vardefine:duration_data|<!--
-->{{#switch:1<!--
-->|{{#if:{{#vardefineecho:global|{{Utility Data|{{#var:current}}|Abilities|Other|{{#arrayprint:other_ability}}|Effects|{{#var:effects}}|Rarity|Global|Duration}} }}|1}}=<!--
-->{{#var:global}}<!--
-->|{{#if:{{Utility Data|{{#var:current}}|Abilities|Other|{{#arrayprint:other_ability}}|Effects|{{#var:effects}}|Rarity|{{#arrayindex:rarities|0}}|Duration}}|1}}=<!--
-->{{#loop:i|0|{{#arraysize:rarities}}<!--
-->|{{#ifeq:{{#var:i}}|0||&nbsp;{{!}}&nbsp;}}<!--
Need to color by rarity
--><span class="colorrarity{{#arrayindex:rarities|{{#var:i}} }}"><!--
-->{{Utility Data|{{#var:current}}|Abilities|Other|{{#arrayprint:other_ability}}|Effects|{{#var:effects}}|Rarity|{{#arrayindex:rarities|{{#var:i}} }}|Duration}}</span>}} }} }}<!--
-->{{#vardefine:scaling_data|<!--
-->{{#switch:1<!--
-->|{{#if:{{#vardefineecho:global|{{Utility Data|{{#var:current}}|Abilities|Other|{{#arrayprint:other_ability}}|Effects|{{#var:effects}}|Rarity|Global|scaling}} }}|1}}=<!--
-->{{#var:global}}<!--
-->|{{#if:{{Utility Data|{{#var:current}}|Abilities|Other|{{#arrayprint:other_ability}}|Effects|{{#var:effects}}|Rarity|{{#arrayindex:rarities|0}}|scaling}}|1}}=<!--
-->{{#loop:i|0|{{#arraysize:rarities}}<!--
-->|{{#ifeq:{{#var:i}}|0||&nbsp;{{!}}&nbsp;}}<!--
Need to color by rarity
--><span class="colorrarity{{#arrayindex:rarities|{{#var:i}} }}"><!--
-->{{Utility Data|{{#var:current}}|Abilities|Other|{{#arrayprint:other_ability}}|Effects|{{#var:effects}}|Rarity|{{#arrayindex:rarities|{{#var:i}} }}|scaling}}</span>}} }} }}<!--
 
-->{{Effects|{{#var:effects}}<!--
-->|type={{lc:{{#arrayprint:effect_data_name}} }}<!--
-->|effect={{lc:{{#var:effect_data}} }}<!--
-->|duration={{lc:{{#var:duration_data}} }}<!--
-->|scaling={{lc:{{#var:scaling_data}} }} }}&nbsp;}}<!--
 
-->|{{#if:{{#var:is_installable}}|1}}=<!--
-->{{#switch:{{lc:{{#var:current}} }}<!--
-->|campfire kit=<!--
-->Build a Campfire which will release a healing aura that [[Healing#Physical_Base_Healing|recovers 3 HP]] and [[Spell_Restoration#Campfire|34 Skill Points per second]] for<br><!--
--><span class="colorrarity1">{{Prop Data|Campfire|Global|Abilities|Campfire Aura Poor|Effects|campfireturnonstate_poor|Duration}}</span> {{!}} <!--
--><span class="colorrarity2">{{Prop Data|Campfire|Global|Abilities|Campfire Aura Common|Effects|campfireturnonstate_Common|Duration}}</span> {{!}} <!--
--><span class="colorrarity3">{{Prop Data|Campfire|Global|Abilities|Campfire Aura Uncommon|Effects|campfireturnonstate_Uncommon|Duration}}</span> {{!}} <!--
--><span class="colorrarity4">{{Prop Data|Campfire|Global|Abilities|Campfire Aura Rare|Effects|campfireturnonstate_Rare|Duration}}</span> {{!}} <!--
--><span class="colorrarity5">{{Prop Data|Campfire|Global|Abilities|Campfire Aura Epic|Effects|campfireturnonstate_Epic|Duration}}</span> {{!}} <!--
--><span class="colorrarity6">{{Prop Data|Campfire|Global|Abilities|Campfire Aura Legend|Effects|campfireturnonstate_Legend|Duration}}</span> {{!}} <!--
--><span class="colorrarity7">{{Prop Data|Campfire|Global|Abilities|Campfire Aura Unique|Effects|campfireturnonstate_Unique|Duration}}</span> <!--
-->|hunting trap=<!--
-->Set a hunting trap that applies a {{Prop Data|Hunting Trap|Global|Abilities|hunting trap activate Poor|Effects|trapped_player_Poor|movespeedbonus}} debuff and damages the target until it expires or until it is disarmed.<br><br>1 [[Damage#True_Base_Damage|True Physical Base Damage]]<br>2 [[Damage#True_Base_Damage|True Physical Base Damage]] per step<br><br><!--
-->Players are trapped for <!--
--><span class="colorrarity1">{{Prop Data|Hunting Trap|Global|Abilities|hunting trap activate Poor|Effects|trapped_player_Poor|Duration}}</span> {{!}} <!--
--><span class="colorrarity2">{{Prop Data|Hunting Trap|Global|Abilities|hunting trap activate Common|Effects|trapped_player_Common|Duration}}</span> {{!}} <!--
--><span class="colorrarity3">{{Prop Data|Hunting Trap|Global|Abilities|hunting trap activate Uncommon|Effects|trapped_player_Uncommon|Duration}}</span> {{!}} <!--
--><span class="colorrarity4">{{Prop Data|Hunting Trap|Global|Abilities|hunting trap activate Rare|Effects|trapped_player_Rare|Duration}}</span> {{!}} <!--
--><span class="colorrarity5">{{Prop Data|Hunting Trap|Global|Abilities|hunting trap activate Epic|Effects|trapped_player_Epic|Duration}}</span> {{!}} <!--
--><span class="colorrarity6">{{Prop Data|Hunting Trap|Global|Abilities|hunting trap activate Legend|Effects|trapped_player_legend|Duration}}</span> {{!}} <!--
--><span class="colorrarity7">{{Prop Data|Hunting Trap|Global|Abilities|hunting trap activate Unique|Effects|trapped_player_Unique|Duration}}</span> <!--
--><br>Monsters are trapped for {{Prop Data|Hunting Trap|Global|Abilities|hunting trap activate Unique|Effects|trapped_monster|Duration}}<br><!--
-->|#default=TODO_ADD_MISSING_INFORMATION}}<!--
 
-->|{{#if:{{#var:is_mining}}|1}}=<!--
-->Enables the player to interact with [[Containers-Global#Ores|mining nodes]] to produce [[ore]].<!--
-->|{{#if:{{#var:is_musicalinstrument}}|1}}=<!--
-->Allows one to play [[Bard#Music-0|{{lc:{{#var:current}}}} songs]], if they have the [[Bard#Skills-0|music memory]] and songs equipped.</td><!--
-->|{{#if:{{#var:is_throwable}}|1}}=<!--
-->Throw a {{lc:{{#var:current}} }} at the target location.}}</td><!--
 
Action/Interaction Time
-->{{#if:{{#var:is_musicalinstrument}}{{#var:is_lightsource}}{{#var:is_throwable}}{{#var:is_mining}}{{#var:is_soulheart}}<!--
-->||<td><!--
-->{{#vardefine:self_effects|{{Utility Data|{{#var:current}}|Abilities|Other|Self|Effects|All}} }}<!--
-->{{#vardefine:duration|<!--
-->{{#switch:1<!--
-->|{{#if:{{#vardefineecho:global|{{Utility Data|{{#var:current}}|Abilities|Other|Self|Effects|DrinkPotionActivateState|Rarity|Global|Duration}} }}|1}}=<!--
-->{{#var:global}} s<br>100% Scaling<!--
-->|{{#if:{{Utility Data|{{#var:current}}|Abilities|Other|Self|Effects|{{#var:self_effects}}|Rarity|5|Duration}}|1}}=<!--
-->{{#loop:i|0|{{#arraysize:rarities}}<!--
-->|{{#ifeq:{{#var:i}}|0||&nbsp;{{!}}&nbsp;}}<!--
--><span class="colorrarity{{#arrayindex:rarities|{{#var:i}} }}"><!--
-->{{Utility Data|{{#var:current}}|Abilities|Other|Self|Effects|{{#var:self_effects}}|Rarity|{{#arrayindex:rarities|{{#var:i}} }}|Duration}}</span>}} s<br>100% Scaling<!--
-->|#default={{#switch:{{lc:{{#var:current}} }}<!--
-->|campfire kit=<!--
-->10 s<br>100% Scaling<!--
-->|hunting trap=<!--
--><span class="colorrarity1">6</span> {{!}} <!--
--><span class="colorrarity2">5</span> {{!}} <!--
--><span class="colorrarity3">4</span> {{!}} <!--
--><span class="colorrarity4">3</span> {{!}} <!--
--><span class="colorrarity5">2</span> {{!}} <!--
--><span class="colorrarity6">1</span> {{!}} <!--
--><span class="colorrarity7">1</span> s<br><!--
-->100% Scaling<!--
-->|bandage=<!--
-->4 s<br>50% Scaling<!--
-->|surgical kit=<!--
--><span class="colorrarity1">15</span> {{!}} <!--
--><span class="colorrarity2">13</span> {{!}} <!--
--><span class="colorrarity3">11</span> {{!}} <!--
--><span class="colorrarity4">9</span> {{!}} <!--
--><span class="colorrarity5">7</span> {{!}} <!--
--><span class="colorrarity6">5</span> {{!}} <!--
--><span class="colorrarity7">3</span> s<br><!--
-->50% Scaling}} }} }}<!--
-->{{#if:{{#var:duration}}|{{#var:duration}} }}</td>}}<!--
 
Action Movement Speed
-->{{#if:{{#var:is_soulheart}}{{#var:is_installable}}<!--
-->||<td><!--
If the utility has abilities, loop through them
-->{{#loop:i|0|{{#arraysize:all_abilities}}<!--
-->|{{#vardefine:ability|{{#arrayindex:all_abilities|{{#var:i}} }} }}<!--
-->{{#if:  {{#vardefineecho:movespeed|{{Utility Data|{{#var:current}}|abilities|{{#var:ability}}|Global|MovementMultiplier}} }}<!--
-->{{#vardefineecho:preparemovespeed|{{Utility Data|{{#var:current}}|abilities|{{#var:ability}}|Global|PrepareMovementMultiplier}} }}<!--
-->|<span style="color:#eee8; font-size:110%; font-weight:bold;"><!--
-->{{#ifeq:{{#var:ability}}|Other<!--
-->|All Actions<!--
-->|{{#var:ability}} Attacks}}<br></span><!--
-->{{#if:{{#var:preparemovespeed}}<!--
-->|<span style="color:#eee8;"><!--
-->Mid Attack: </span><!--
-->{{#var:preparemovespeed}}<br><!--
--><span style="color:#eee8;"><!--
-->Otherwise: </span><!--
-->{{#var:movespeed}}<br><br><!--
 
-->|<span style="color:#eee8;"><!--
-->Always: </span><!--
-->{{#var:movespeed}}<br><br>}}<!--
 
Else loop through all attacks
-->|{{#arraydefine:all_attacks|{{Utility Data|{{#var:current}}|abilities|{{#var:ability}}|all}} }}<!--
-->{{#loop:i|0|{{#arraysize:all_attacks}}<!--
-->|{{#vardefine:attack|{{#arrayindex:all_attacks|{{#var:i}} }} }}<!--
If the attack has a movement multiplier, display it
-->{{#if:  {{#vardefineecho:movespeed|{{Utility Data|{{#var:current}}|abilities|{{#var:ability}}|{{#var:attack}}|MovementMultiplier}} }}<!--
-->{{#vardefineecho:preparemovespeed|{{Utility Data|{{#var:current}}|abilities|{{#var:ability}}|{{#var:attack}}|PrepareMovementMultiplier}} }}<!--
-->|<span style="color:#eee8; font-size:110%; font-weight:bold;"><!--
-->{{#if:{{#pos:{{#var:ability}}|Other}}<!--
-->|{{#var:attack}}<!--
-->|{{#var:ability}} {{#var:attack}} }}<br></span><!--
-->{{#if:{{#var:preparemovespeed}}<!--
-->|<span style="color:#eee8;"><!--
-->Mid Attack: </span><!--
-->{{#var:preparemovespeed}}<br><!--
--><span style="color:#eee8;"><!--
-->Otherwise: </span><!--
-->{{#var:movespeed}}<br><br><!--
 
-->|<span style="color:#eee8;"><!--
-->Always: </span><!--
-->{{#var:movespeed}}<br><br>}} }} }} }} }}</td>}}<!--
 
Slowdown On Hit
-->{{#vardefine:ability|{{#if:{{#pos:{{Utility Data|{{#var:current}}|Abilities|All}}|Primary}}|Primary|Other}} }}<!--
-->{{#arraydefine:all_attacks|{{Utility Data|{{#var:current}}|Abilities|{{#var:ability}}|all}} }}{{#arraydefine:global|Global,Play,Dissonance,PartyMaker,Riposte,Activate Ability,Throw}}{{#arraydiff:all_attacks|all_attacks|global}}<!--
-->{{#vardefine:global_hitslow|{{Utility Data|{{#var:current}}|Abilities|{{#var:ability}}|Global|Effects|HitSlow|Rarity|Global|Move Speed Bonus}} }}<!--
-->{{#vardefine:global_hitslow_duration|{{Utility Data|{{#var:current}}|Abilities|{{#var:ability}}|Global|Effects|HitSlow|Rarity|Global|Duration}} }}<!--
 
-->{{#if:{{#var:is_drink}}{{#var:is_consumable}}{{#var:is_healing_consumable}}{{#var:is_soulheart}}{{#var:is_installable}}<!--
-->||<td><!--
-->{{#if:{{#var:global_hitslow}}<!--
-->|<span style="color:#eee8;">Hitslow</span><br>{{#var:global_hitslow}}<!--
-->|{{#loop:i|0|{{#arraysize:all_attacks}}<!--
-->|{{#vardefine:current_attack|{{#arrayindex:all_attacks|{{#var:i}} }} }}<!--
-->{{#ifeq:{{#var:i}}|0|<span style="color:#eee8;">Hitslow</span><br>|/}}<!--
-->{{Utility Data|{{#var:current}}|Abilities|{{#var:ability}}|{{#var:current_attack}}|Effects|HitSlow|Rarity|Global|Move Speed Bonus}} }} }}<!--
-->{{#if:{{#var:global_hitslow_duration}}<!--
-->|&nbsp;for&nbsp;{{#var:global_hitslow_duration}}s<!--
-->|{{#loop:i|0|{{#arraysize:all_attacks}}<!--
-->|{{#vardefine:current_attack|{{#arrayindex:all_attacks|{{#var:i}} }} }}<!--
-->{{#ifeq:{{#var:i}}|0|&nbsp;for&nbsp;|/}}<!--
-->{{Utility Data|{{#var:current}}|Abilities|{{#var:ability}}|{{#var:current_attack}}|Effects|HitSlow|Rarity|Global|Duration}}s}} }}</td>}}</tr>}}</table><!--
 


--></includeonly><noinclude>
--></includeonly><noinclude>
List Utilities and generate rows with them
List Utilities and generate rows with them
== Example ==
== Example ==
<table class="wikitable">
<pre>{{GenerateUtilityTable|Drink}}</pre>
<tr>
{{GenerateUtilityTable|Drink}}
<th>Code</th>
<pre>{{GenerateUtilityTable|Consumable}}</pre>
<th>Preview</th>
{{GenerateUtilityTable|Consumable}}
</tr>
<pre>{{GenerateUtilityTable|Installable}}</pre>
<tr>
{{GenerateUtilityTable|Installable}}
<td style="padding: 20px 30px;">
<pre>{{GenerateUtilityTable|MusicalInstrument}}</pre>
<pre>{{GenerateUtilityRows|Drink}}</pre>
{{GenerateUtilityTable|MusicalInstrument}}
</td>
<pre>{{GenerateUtilityTable|LightSource}}</pre>
<td style="padding: 20px 30px;">
{{GenerateUtilityTable|LightSource}}
{{GenerateUtilityRows|Drink}}
<pre>{{GenerateUtilityTable|Throwable}}</pre>
</td>
{{GenerateUtilityTable|Throwable}}
</tr>
<pre>{{GenerateUtilityTable|Mining}}</pre>
<tr>
{{GenerateUtilityTable|Mining}}
<td style="padding: 20px 30px;">
<pre>{{GenerateUtilityRows|Installable}}</pre>
</td>
<td style="padding: 20px 30px;">
{{GenerateUtilityRows|Installable}}
</td>
</tr>
</table>
</noinclude>
</noinclude>

Latest revision as of 21:36, 27 February 2025

List Utilities and generate rows with them

Example

{{GenerateUtilityTable|Drink}}
Name Movement Speed Effect Action Time Action Movement Penalty
-10 3 s
100% Scaling
-10Increases Luck by 50(33.33%) or 100(33.33%) or 150(33.33%)3 s
100% Scaling
Self
Always: 75%

-10Creates a magical base shield that blocks 10 | 15 | 20 | 25 | 30 | 35 | 40 magical damage for 24 seconds. Damage blocked by the shield will be unaffected by Damage Reduction or limb/headshot multipliers. The shield has no scaling. 3 s
100% Scaling
Consume
Always: 75%

-10While sitting, recharge spells for 34 spell points per second for 8 | 10 | 12 | 14 | 16 | 18 | 20 seconds. The recovery amount has no scaling. 3 s
100% Scaling
Consume
Always: 75%

-10Heals 20 health points over 20 | 17.5 | 15 | 12.5 | 10 | 7.5 | 5 seconds. This counts as magical base healing and has 50% scaling. 3 s
100% Scaling
Consume
Always: 75%

-10Makes you invisible for 11 | 14 | 17 | 20 | 23 | 26 | 29 seconds. Invisibility is broken when you move, take action, or get damaged. 3 s
100% Scaling
Consume
Always: 75%

-10Increases Luck by 20(45%) or 50(35%) or 80(20%)3 s
100% Scaling
Self
Always: 75%

-10Creates a physical base shield that blocks 10 | 15 | 20 | 25 | 30 | 35 | 40 physical damage for 24 seconds. Damage blocked by the shield will be unaffected by Damage Reduction or limb/headshot multipliers. The shield has no scaling. 3 s
100% Scaling
Consume
Always: 75%

-10Heals 100 health points over 100 seconds. This counts as magical base healing and has 50% scaling. 3 s
100% Scaling
Consume
Always: 75%

{{GenerateUtilityTable|Consumable}}
Name Movement Speed Effect Interaction Time Action Movement Penalty
-10Provides 15 | 19 | 24 | 30 | 37 | 45 | 54 recoverable base healing. 4 s
50% Scaling
Consume
Always: 50%

TODO_ADD_MISSING_INFORMATION
TODO_ADD_MISSING_INFORMATION
TODO_ADD_MISSING_INFORMATION
TODO_ADD_MISSING_INFORMATION
-10Opens the Frozen Iron Door. This door can only be found in Ice Abyss, in the Charnel House module.
-10Opens the Golden Door. This door can be found in various modules of the Crypts maps, specifically: the Treasure Room, the Armory, and the Wheel.
-10Opens locked doors and chests. Will not work on doors that require special keys.
-10Opens the Goblin Stone Door. This door can only be found in Goblin Caves, in the Goblin Rooms module.
-10Opens the Rusty Iron Door. This door can only be found in Ruins.
-10Opens the Skull Door. This door can only be found on the Inferno map that features Ghost King, in the Demon Gate module.
-10Provides 100% percent max health healing. 15 | 13 | 11 | 9 | 7 | 5 | 3 s
50% Scaling
Consume
Always: 50%

-10Allows the player to disable environmental traps.
{{GenerateUtilityTable|Installable}}
Name Class Movement Speed Damage on Hit Effect Interaction Time
-10Build a Campfire which will release a healing aura that recovers 3 HP and 34 Skill Points per second for
18s | 21s | 24s | 27s | 30s | 33s | 36s
10 s
100% Scaling
Ranger-105 True Physical Base DamageSet a hunting trap that applies a -40% Move Speed Bonus debuff and damages the target until it expires or until it is disarmed.

1 True Physical Base Damage
2 True Physical Base Damage per step

Players are trapped for 3s | 4s | 5s | 6s | 7s | 8s | 9s
Monsters are trapped for 7s
6 | 5 | 4 | 3 | 2 | 1 | 1 s
100% Scaling
{{GenerateUtilityTable|MusicalInstrument}}
Name Movement Speed Damage on Hit Stats Effect Action Movement Penalty Slowdown On Hit
-29
-28
-27
-26
-25
-24
-23
24
25~26
27~28
29~30
31~32
33~34
35~36
Allows one to play drum songs, if they have the music memory and songs equipped.Play
Always: 70%

Attack 1
Always: 75%

Hitslow
-25% for 1s
-1322
23~24
25~26
27~28
29~30
31~32
33~34
Agility
1
2
2
3
3
4
4
Dexterity
2
2
3
3
4
4
5
Allows one to play flute songs, if they have the music memory and songs equipped.Play
Always: 70%

Riposte
Always: 70%

Riposte Attack 1
Always: 70%

Block Reaction
Always: 97%

Hitslow
-10% for 1s
-15
-14
-13
-12
-11
-10
-9
20
21~22
23~24
25~26
27~28
29~30
31~32
Knowledge
1
2
3
4
5
6
7
Allows one to play lute songs, if they have the music memory and songs equipped.Primary Attacks
Mid Attack: 85%
Otherwise: 55%

Play
Always: 70%

Hitslow
-17% for 1s
-17
-16
-15
-14
-13
-12
-11
Resourcefulness
1
2
3
4
5
6
7
Allows one to play lyre songs, if they have the music memory and songs equipped.Play
Always: 70%

{{GenerateUtilityTable|LightSource}}
Name Movement Speed Damage on Hit Effect Action Movement Penalty Slowdown On Hit
-10While throwing, move speed is reduced by -20.  Throw
Always: 97%

Throw
Always: 97%

-10While throwing, move speed is reduced by -20.  All Actions
Always: 97%

9Throw
Always: 97%

Primary Attacks
Mid Attack: 98.5%
Otherwise: 82%

Hitslow
-7% for 0.5s
LanternThrow
Always: 97%

Hitslow
 for s
{{GenerateUtilityTable|Throwable}}
Name Class Movement Speed Damage on Hit Effect Action Movement Penalty Slowdown On Hit
Barbarian
Fighter
Bard
-109
10
11
12
13
14
15
Throw a francisca axe at the target location.Primary Attack 1
Always: 75%

Hitslow
-35% for 1s
-10Throw a ghostdust pouch at the target location.Throw
Always: 97%

-10Throw a poison vial at the target location.Throw
Always: 97%

Rogue
Wizard
Bard
-109
10
11
12
13
14
15
Throw a throwing knife at the target location.Primary Attack 1
Always: 85%

Hitslow
-25% for 1s
{{GenerateUtilityTable|Mining}}
Name Movement Speed Damage on Hit Stats Effect Action Movement Penalty Slowdown On Hit
-4525
26~27
28~29
30~31
32~33
34~35
36~37
Regular Interaction Speed
1%
3%
5%
10%
15%
20%
25%
Enables the player to interact with mining nodes to produce ore.Attack 1
Mid Attack: 82.5%
Otherwise: 50%

Hitslow
-7% for 0.5s