Tap Tap Loot Game Mechanics

Datamined gameplay constants pulled straight from the game files. No opinion, no advice, just the numbers.

Source: Assembly-CSharp.dll (LevelScalingHelper, EquipInventoryPolicy, MultiplayerClickForCoins) and _mechanics.json.

Level growth

Player level growth

LevelStatsHandler (player prefab)
HP per level5
Damage per level1
Spell Power per level1.1
XP multiplier1.1
Thorns per level0

Default enemy growth

LevelStatsHandler (shared enemy base)
HP per level70
Damage per level1.6
Spell Power per level1.1
XP per level10

Scaling formulas

Item stat scaling

LevelScalingHelper.cctor
max(1, base * (level/1000)^exponent)
Reference level1000
Attack exponent1.1
SpellPower exponent1.1
Thorns exponent1.1
Armor exponent1.1
Health exponent1.1
triggerChance exponent1.1

Item level from biome

_mechanics.json
12 * sqrt(biome) + 0.6 * biome - 12

Player HP formula

_mechanics.json
baseHealth + (level-1) * healthGrowth

Combat mechanics

Exact formulas from Actor.cs, AbstractWeapon.cs, EffectData.cs, BurnDamageLogicEffect.cs, PoisonDamageLogicEffect.cs and Regeneration.cs. Each card starts with a one-sentence answer so AI Overviews and LLMs can quote it directly.

How does armor work in Tap Tap Loot?

Actor.cs: ApplyArmor()

Armor in Tap Tap Loot provides flat damage reduction at a rate of 10 Armor = 1 damage blocked, applied to melee, ranged, spell, and thorn hits. Armor can never reduce damage below 5% of the raw hit, and the minimum damage taken is always 1.

dmg_after = max(max(1, rawDmg × 0.05), rawDmg − armor / 10)

Works against every damage type.

How do critical hits work in Tap Tap Loot?

AbstractWeapon.cs line 69, EffectData.cs line 19

A critical hit in Tap Tap Loot fires when a random roll between 0 and 1 is less than or equal to your CritChance stat, dealing 2× damage. The player starts with 10% crit chance by default. Crit only applies to melee and ranged attacks — spells never crit.

isCrit = Random(0,1) ≤ CritChance

Default crit multiplier is 2.0.

How does dodge work in Tap Tap Loot?

Actor.cs: TryToDodge()

Dodge in Tap Tap Loot is a percentage chance to completely avoid an incoming attack. A random roll greater than your Dodge stat (expressed as 0–1, e.g. 0.1 = 10%) skips the hit entirely — no damage, no thorns, no block check. Player starts at 0 dodge.

isDodge = Random(0,1) > Dodge

Stacks additively from item bonuses.

How does block work in Tap Tap Loot?

Actor.cs: TryToBlock(), ResetBlocks()

Block in Tap Tap Loot is a charge-based system. Your Block stat equals the number of hits you fully absorb (0 damage) per combat. Each charge is spent on one incoming hit and all charges reset when a new combat starts. Block is checked after Dodge.

Block = number of hits absorbed per combat

Charges never carry between fights.

How do thorns work in Tap Tap Loot?

Actor.cs: TryThorns()

Thorns in Tap Tap Loot reflect a flat amount of damage back at attackers on every melee hit they land on the player. Thorn damage still passes through the attacker's armor, so it scales linearly with your Thorns stat.

Reflects Thorns flat damage as ThornDamage on melee hits

Only triggers on melee hits to the player.

How does regeneration work in Tap Tap Loot?

Regeneration.cs, PassivPeriodicEffect.cs

Regeneration in Tap Tap Loot heals a percentage of your current HP on a tick interval. A tick fires every 50 keypresses in combat and every 100 keypresses out of combat (outside-fight factor 0.5). The healed amount is floor(Regeneration × currentHP).

heal = floor(Regeneration × currentHP)

Ticks are driven by keypresses, not wall-clock time.

How does burn work in Tap Tap Loot?

BurnDamageLogicEffect.cs

Burn in Tap Tap Loot deals flat SpellDamage on a periodic tick. The base damagePerTick is 10 at max item level and scales exponentially (exponent 1.1) with item level. Because it's typed as SpellDamage, burn ticks go through armor and cannot be crit or dodged.

dmg = max(1, burnDamagePerTick)

Minimum 1 damage per tick.

How does poison work in Tap Tap Loot?

PoisonDamageLogicEffect.cs

Poison in Tap Tap Loot deals a percentage of the target's CURRENT HP per tick. The base fraction is 10% (0.1) at max item level and scales linearly with item level. Poison can never kill a target below 1 HP per tick — it always leaves the victim alive for the next hit.

dmg = max(1, currentHP × poisonFraction)

Percent-HP damage hard-counters high-HP bosses.

Item drop rarity

Item rarity drop rates by item level

ItemRegistrySO.cs: GetRandomRarityByLevel()

Item drop level = 12×√biome + 0.6×biome − 12 (clamped 1-1000). The rarity roll is applied to that level.

Item LvlCommonUncommonRareEpicLegendaryMythic
Lvl 173.9%20.0%5.0%1.0%0.1%0.0%
Lvl 10066.5%23.3%7.6%2.4%0.2%0.0%
Lvl 25055.3%28.3%11.5%4.5%0.3%0.1%
Lvl 50036.7%36.7%18.0%8.0%0.5%0.1%
Lvl 75026.9%32.9%26.0%11.5%2.3%0.6%
Lvl 100017.0%29.0%34.0%15.0%4.0%1.0%

Equipment layout

Equipment slot layout

EquipInventoryPolicy.m_allowedTypesBySlot
IndexSlotLabelItemTypeGroup
0skinSkin7cosmetic
1helmetHelmet2armor
2shieldShield8weapon
3weaponWeapon1weapon
4chestChest3armor
5beltBelt5armor
6ring1Ring 14ring
7ring2Ring 24ring
8skill1Skill 16skill
9skill2Skill 26skill
10skill3Skill 36skill

Character stats

The 10 AttributeName values. Descriptions come from _loc_en.json.

Attack

Defines the damage of your physical attacks.

Attack · format: flat
Health

If your health drops to 0 you have to restart the current stage.

Health · format: flat
Armor

Reduces incoming damage by your armor value.

Armor · format: flat
Regeneration

Improves your health regeneration rate.

Regeneration · format: percent
Crit Chance

The chance of a weapon attack to deal increased damage.

CritChance · format: percent
Dodge

Your chance to completely avoid an attacks damage.

Dodge · format: percent
Spell Power

Boosts the effectiveness of magic abilities.

SpellPower · format: flat
Thorns

Deals damage back to attacker upon being hit in melee combat.

Thorns · format: flat
Block

Blocks the first incoming attacks at the start of a fight.

Block · format: flat
Slow

(no description in _loc_en.json)

Slow · format: percent