Perk Metadata Table
Base:0x004d8000 (perk_table)Entry size:
0x20 bytes (32 bytes)Count: 128 perks (many unused)
Struct Layout
Key Fields
| Offset | Field | Type | Description |
|---|---|---|---|
| 0x00 | name_offset | i32 | Offset into string table |
| 0x04 | icon_index | i32 | UI icon sprite index |
| 0x08 | rarity | i32 | Drop weight (higher = rarer) |
| 0x0c | flags | i32 | Behavior flags |
| 0x10 | max_count | i32 | Stack limit (0 = no limit) |
Player Perk Counts
Base:player_health + 0x94 (within player struct)Type:
i32[0x80] (128 entries)Total size:
0x200 bytes
Each entry stores how many times the player has acquired that perk.
Access:
Perk ID Map
Offensive Perks
| ID | Name | Effect |
|---|---|---|
| 0x01 | Crimsonier | +15% bullet damage |
| 0x02 | Nerves of Steel | +20% accuracy |
| 0x03 | Ticker | +10% fire rate |
| 0x04 | Fast Reloader | -50% reload time |
| 0x05 | Long Distance Runner | +15% movement speed |
| 0x32 | Angry Reloader | Plasma burst on reload |
| 0x34 | Poison Bullets | Bullets poison enemies |
| 0x35 | Fire Bullets | Converts shots to fire |
Defensive Perks
| ID | Name | Effect |
|---|---|---|
| 0x06 | Armored | +20% max health |
| 0x07 | Tough Reloader | -50% damage while reloading |
| 0x08 | Jinx | Enemies 20% slower |
| 0x09 | Second Chance | Revive once with 50% health |
| 0x0a | Shield | Temporary invulnerability |
| 0x36 | Living Fortress | Armor while stationary |
| 0x37 | Man Bomb | Periodic damage burst |
Utility Perks
| ID | Name | Effect |
|---|---|---|
| 0x0b | Haste | +15% all speeds |
| 0x0c | Reflex Boost | +30% dodge chance |
| 0x0d | Sharp Shooter | +25% headshot damage |
| 0x0e | Floater | Move through enemies |
| 0x0f | Fast Learner | +50% XP gain |
| 0x38 | Hot Tempered | Damage on collision |
| 0x39 | Plague Bearer | Infect nearby enemies |
| 0x3a | Ion Gun Master | +20% ion damage |
Perk Rarities
| Rarity | Weight | Drop Chance | Examples |
|---|---|---|---|
| 1 | Common | 40% | Crimsonier, Fast Reloader |
| 2 | Uncommon | 30% | Nerves of Steel, Armored |
| 3 | Rare | 20% | Second Chance, Jinx |
| 4 | Very Rare | 8% | Angry Reloader, Ion Gun Master |
| 5 | Legendary | 2% | Man Bomb, Plague Bearer |
Perk Application
Perks are applied inperk_apply_effect when acquired:
Runtime Checks
Many perks are checked during gameplay:Damage Calculation
Reload Handling
Movement Update
Perk Stacking
Multiplicative (most damage/speed perks):Max Counts
| Perk | Max Count | Notes |
|---|---|---|
| Most perks | 0 | No limit (can stack infinitely) |
| Second Chance | 1 | One-time revive |
| Shield | 1 | Duration-based, doesn’t stack |
| Man Bomb | 3 | Capped at 3 |
Related Pages
Game State
Perk drop RNG and spawn logic
Weapon Structures
Weapon-modifying perks
Perk Mechanics
High-level perk behavior documentation