mr:search_mechanic
Table of Contents
Search Mechanic - Code References
Java Classes
- Hero.java - search() method (lines 666-710)
- GameScene.java - Calls hero.search(true) for intentional search (line 707)
- Toolbar.java - Search button handler (line 67)
- RingOfDetection.java - Triggers search on equip (line 16)
- BuffFactory.java - RING_OF_DETECTION constant (line 100)
Key Mechanics
- Intentional Search: Player-initiated search (toolbar button) - uses full awareness formula
- Passive Search: Automatic search each turn - uses reduced awareness formula
- Ring of Detection: Increases search distance by buff level when equipped
Search Algorithm
``` search(boolean intentional):
distance = 1 + buffLevel(RING_OF_DETECTION)
if intentional:
searchLevel = 2 * awareness - awareness^2
else:
searchLevel = awareness
if distance <= 0:
searchLevel /= 2 - distance
distance = 1
For each cell in radius 'distance':
if cell is visible:
if intentional: add CheckedCell visual effect
if intentional OR Random.Float() < searchLevel:
if cell has secret (trap/secret door):
reveal secret
return true
```
Awareness Calculation
- Base awareness depends on hero class and level
- Awareness increases with hero level
- Ring of Detection buff level adds to search distance
String Resources
<string name="Search_Button">Search</string> <string name="Search_Desc">Look around carefully for hidden traps and secret doors</string>
Related mr Entities
mr/search_mechanic.txt · Last modified: by 127.0.0.1
