Search
No results
How Hunting works
Demo 0.11.2How it works
Surveying and tracking
- A hunt starts with surveys, one every Survey interval. Each finds tracks with Tracking success chance; the third survey always does.
- Surveys pay each Surveying products entry that succeeds, doubled with Output Doubling Chance, until one is found; none is paid again before the next catch.
- Tracking takes a number of steps drawn uniformly from Tracking steps, or four times its maximum while the animal is undiscovered. Each step takes a uniform time within Tracking interval and pays the animal's journal tracking XP once it is discovered.
- While two or more steps remain, Skip Tracking Step chance counts a step twice.
Trapping
- When trapping begins, a rare species is rolled once with Rare species chance.
- Each attempt takes a uniform time within Trapping interval, uses one trap unless Input Preservation Chance keeps it, uses one preferred bait while baiting is on, and succeeds with Trapping success chance.
- A failure adds the trap's fail bonus once more. Unless Trapping Reattempt Chance lets the next attempt follow at once, the hunt goes back to tracking for the minimum of Tracking steps more steps.
- A catch records a size and a weight, each its average × a uniform factor from 0.5 + L ÷ 100 to 1.3 + L ÷ 100 at journal level L. The stat percentage is the mean of the two factors.
- Each Products entry that succeeds pays max(1, quantity × stat percentage), doubled with Output Doubling Chance and again for a rare species, rounded down; a rare species adds its extra products.
- The catch pays XP × stat percentage, and the journal gains the animal's trapping XP.
- The catch grade is P from 1.499, S+ from 1.4, S from 1.3, A from 1.15, B from 1, C from 0.8, D from 0.6 and E from 0.505 stat percentage.
Game messages
Formulas
- Base experience
Animal base experience- Base products
Animal products- Products
- Quantity
max(1, trunc((Base products quantity + Output Quantity (Flat)) × (1 + Product Quantity (%)))) - Base surveying products
Animal surveying products- Surveying products
- Quantity
max(1, trunc((Base surveying products quantity + Output Quantity (Flat)) × (1 + Product Quantity (%)))) - Tracking interval
- Min
(floor((Animal base min track interval + Min Tracking Interval (Flat) + Tracking Interval (Flat)) × (1 + Min Tracking Interval (%) + Tracking Interval (%))) if floor((Animal base min track interval + Min Tracking Interval (Flat) + Tracking Interval (Flat)) × (1 + Min Tracking Interval (%) + Tracking Interval (%))) > floor((Animal base min track interval + Min Tracking Interval (Flat) + Tracking Interval (Flat)) × (1 + Min Tracking Interval (%) + Tracking Interval (%))), otherwise floor((Animal base min track interval + Min Tracking Interval (Flat) + Tracking Interval (Flat)) × (1 + Min Tracking Interval (%) + Tracking Interval (%)))) if floor((Animal base max track interval + Max Tracking Interval (Flat) + Tracking Interval (Flat)) × (1 + Max Tracking Interval (%) + Tracking Interval (%))) < floor((Animal base min track interval + Min Tracking Interval (Flat) + Tracking Interval (Flat)) × (1 + Min Tracking Interval (%) + Tracking Interval (%))), otherwise floor((Animal base max track interval + Max Tracking Interval (Flat) + Tracking Interval (Flat)) × (1 + Max Tracking Interval (%) + Tracking Interval (%))) if floor((Animal base min track interval + Min Tracking Interval (Flat) + Tracking Interval (Flat)) × (1 + Min Tracking Interval (%) + Tracking Interval (%))) > floor((Animal base max track interval + Max Tracking Interval (Flat) + Tracking Interval (Flat)) × (1 + Max Tracking Interval (%) + Tracking Interval (%))), otherwise floor((Animal base min track interval + Min Tracking Interval (Flat) + Tracking Interval (Flat)) × (1 + Min Tracking Interval (%) + Tracking Interval (%)))Max(floor((Animal base min track interval + Min Tracking Interval (Flat) + Tracking Interval (Flat)) × (1 + Min Tracking Interval (%) + Tracking Interval (%))) if floor((Animal base min track interval + Min Tracking Interval (Flat) + Tracking Interval (Flat)) × (1 + Min Tracking Interval (%) + Tracking Interval (%))) > floor((Animal base min track interval + Min Tracking Interval (Flat) + Tracking Interval (Flat)) × (1 + Min Tracking Interval (%) + Tracking Interval (%))), otherwise floor((Animal base min track interval + Min Tracking Interval (Flat) + Tracking Interval (Flat)) × (1 + Min Tracking Interval (%) + Tracking Interval (%)))) if floor((Animal base max track interval + Max Tracking Interval (Flat) + Tracking Interval (Flat)) × (1 + Max Tracking Interval (%) + Tracking Interval (%))) < floor((Animal base min track interval + Min Tracking Interval (Flat) + Tracking Interval (Flat)) × (1 + Min Tracking Interval (%) + Tracking Interval (%))), otherwise floor((Animal base max track interval + Max Tracking Interval (Flat) + Tracking Interval (Flat)) × (1 + Max Tracking Interval (%) + Tracking Interval (%))) if floor((Animal base min track interval + Min Tracking Interval (Flat) + Tracking Interval (Flat)) × (1 + Min Tracking Interval (%) + Tracking Interval (%))) > floor((Animal base max track interval + Max Tracking Interval (Flat) + Tracking Interval (Flat)) × (1 + Max Tracking Interval (%) + Tracking Interval (%))), otherwise floor((Animal base max track interval + Max Tracking Interval (Flat) + Tracking Interval (Flat)) × (1 + Max Tracking Interval (%) + Tracking Interval (%))) - Trapping interval
- Min
(floor((Animal base min trap interval + Min Trapping Interval (Flat) + Trapping Interval (Flat)) × (1 + Min Trapping Interval (%) + Trapping Interval (%))) if floor((Animal base min trap interval + Min Trapping Interval (Flat) + Trapping Interval (Flat)) × (1 + Min Trapping Interval (%) + Trapping Interval (%))) > floor((Animal base min trap interval + Min Trapping Interval (Flat) + Trapping Interval (Flat)) × (1 + Min Trapping Interval (%) + Trapping Interval (%))), otherwise floor((Animal base min trap interval + Min Trapping Interval (Flat) + Trapping Interval (Flat)) × (1 + Min Trapping Interval (%) + Trapping Interval (%)))) if floor((Animal base max trap interval + Max Trapping Interval (Flat) + Trapping Interval (Flat)) × (1 + Max Trapping Interval (%) + Trapping Interval (%))) < floor((Animal base min trap interval + Min Trapping Interval (Flat) + Trapping Interval (Flat)) × (1 + Min Trapping Interval (%) + Trapping Interval (%))), otherwise floor((Animal base max trap interval + Max Trapping Interval (Flat) + Trapping Interval (Flat)) × (1 + Max Trapping Interval (%) + Trapping Interval (%))) if floor((Animal base min trap interval + Min Trapping Interval (Flat) + Trapping Interval (Flat)) × (1 + Min Trapping Interval (%) + Trapping Interval (%))) > floor((Animal base max trap interval + Max Trapping Interval (Flat) + Trapping Interval (Flat)) × (1 + Max Trapping Interval (%) + Trapping Interval (%))), otherwise floor((Animal base min trap interval + Min Trapping Interval (Flat) + Trapping Interval (Flat)) × (1 + Min Trapping Interval (%) + Trapping Interval (%)))Max(floor((Animal base min trap interval + Min Trapping Interval (Flat) + Trapping Interval (Flat)) × (1 + Min Trapping Interval (%) + Trapping Interval (%))) if floor((Animal base min trap interval + Min Trapping Interval (Flat) + Trapping Interval (Flat)) × (1 + Min Trapping Interval (%) + Trapping Interval (%))) > floor((Animal base min trap interval + Min Trapping Interval (Flat) + Trapping Interval (Flat)) × (1 + Min Trapping Interval (%) + Trapping Interval (%))), otherwise floor((Animal base min trap interval + Min Trapping Interval (Flat) + Trapping Interval (Flat)) × (1 + Min Trapping Interval (%) + Trapping Interval (%)))) if floor((Animal base max trap interval + Max Trapping Interval (Flat) + Trapping Interval (Flat)) × (1 + Max Trapping Interval (%) + Trapping Interval (%))) < floor((Animal base min trap interval + Min Trapping Interval (Flat) + Trapping Interval (Flat)) × (1 + Min Trapping Interval (%) + Trapping Interval (%))), otherwise floor((Animal base max trap interval + Max Trapping Interval (Flat) + Trapping Interval (Flat)) × (1 + Max Trapping Interval (%) + Trapping Interval (%))) if floor((Animal base min trap interval + Min Trapping Interval (Flat) + Trapping Interval (Flat)) × (1 + Min Trapping Interval (%) + Trapping Interval (%))) > floor((Animal base max trap interval + Max Trapping Interval (Flat) + Trapping Interval (Flat)) × (1 + Max Trapping Interval (%) + Trapping Interval (%))), otherwise floor((Animal base max trap interval + Max Trapping Interval (Flat) + Trapping Interval (Flat)) × (1 + Max Trapping Interval (%) + Trapping Interval (%))) - Tracking steps
- Min
(trunc(floor(Animal base min tracking steps + Min Tracking Steps (Flat) + Flat tracking steps)) if trunc(floor(Animal base min tracking steps + Min Tracking Steps (Flat) + Flat tracking steps)) > trunc(floor(Animal base min tracking steps + Min Tracking Steps (Flat) + Flat tracking steps)), otherwise trunc(floor(Animal base min tracking steps + Min Tracking Steps (Flat) + Flat tracking steps))) if trunc(floor(Animal base max tracking steps + Max Tracking Steps (Flat) + Flat tracking steps)) < trunc(floor(Animal base min tracking steps + Min Tracking Steps (Flat) + Flat tracking steps)), otherwise trunc(floor(Animal base max tracking steps + Max Tracking Steps (Flat) + Flat tracking steps)) if trunc(floor(Animal base min tracking steps + Min Tracking Steps (Flat) + Flat tracking steps)) > trunc(floor(Animal base max tracking steps + Max Tracking Steps (Flat) + Flat tracking steps)), otherwise trunc(floor(Animal base min tracking steps + Min Tracking Steps (Flat) + Flat tracking steps))Max(trunc(floor(Animal base min tracking steps + Min Tracking Steps (Flat) + Flat tracking steps)) if trunc(floor(Animal base min tracking steps + Min Tracking Steps (Flat) + Flat tracking steps)) > trunc(floor(Animal base min tracking steps + Min Tracking Steps (Flat) + Flat tracking steps)), otherwise trunc(floor(Animal base min tracking steps + Min Tracking Steps (Flat) + Flat tracking steps))) if trunc(floor(Animal base max tracking steps + Max Tracking Steps (Flat) + Flat tracking steps)) < trunc(floor(Animal base min tracking steps + Min Tracking Steps (Flat) + Flat tracking steps)), otherwise trunc(floor(Animal base max tracking steps + Max Tracking Steps (Flat) + Flat tracking steps)) if trunc(floor(Animal base min tracking steps + Min Tracking Steps (Flat) + Flat tracking steps)) > trunc(floor(Animal base max tracking steps + Max Tracking Steps (Flat) + Flat tracking steps)), otherwise trunc(floor(Animal base max tracking steps + Max Tracking Steps (Flat) + Flat tracking steps)) - Tracking success chance
clamp(Animal base track success chance + Flat tracking success chance + Animal base track success chance × Increased Trapping Success chance, 0, 1)- Trapping success chance
clamp(Animal base trap success chance + Trapping Success Chance (Flat) + Animal base trap success chance × Increased trapping success chance, 0, 1)- Survey interval
floor((Animal location base survey interval + Surveying Interval (Flat)) × (1 + Surveying Interval (%)))- Rare species chance
clamp(Animal base rare species chance + Flat rare species chance + Animal base rare species chance × Increased rare species chance, 0, 1)- Journal XP for level
0 if Level ≤ 1, otherwise floor(1 ÷ 12 × (Level^2 − Level + 100 × (2^(Level ÷ 3.5) − 2^(1 ÷ 7)) ÷ (2^(1 ÷ 7) − 1)))
Modifiers
| Modifier | Granted by |
|---|---|
| Output Doubling ChanceYour chance to double the output |
|
| Input Preservation ChanceYour chance to preserve the input |
|
| Output Quantity (Flat)Adjustment to the output quantity (Cannot be doubled) | None in the demo |
| Product Quantity (%)The adjustment to the base Product quantity | None in the demo |
| Tracking Interval (Flat)The adjustment to the base tracking interval onlyGlobal flat action interval | None in the demo |
| Min Tracking Interval (Flat)The adjustment to the base minimum tracking interval | None in the demo |
| Max Tracking Interval (Flat)The adjustment to the base maximum tracking interval |
|
| Tracking Interval (%)The adjustment to the base tracking intervalGlobal percent action interval |
|
| Min Tracking Interval (%)The adjustment to the base minimum tracking interval |
|
| Max Tracking Interval (%)The adjustment to the base maximum tracking interval |
|
| Trapping Interval (Flat)The adjustment to the base Trapping intervalGlobal flat action interval | None in the demo |
| Min Trapping Interval (Flat)The adjustment to the base minimum Trapping interval | None in the demo |
| Max Trapping Interval (Flat)The adjustment to the base maximum Trapping interval | None in the demo |
| Trapping Interval (%)The adjustment to the base Trapping intervalGlobal percent action interval |
|
| Min Trapping Interval (%)The adjustment to the base minimum Trapping interval | None in the demo |
| Max Trapping Interval (%)The adjustment to the base maximum Trapping interval | None in the demo |
| Flat tracking steps | |
| Min Tracking Steps (Flat)The adjustment to the min tracking steps | None in the demo |
| Max Tracking Steps (Flat)The adjustment to the max tracking steps | None in the demo |
| Flat tracking success chance | None in the demo |
| Increased Trapping Success chanceThe adjustment to the trapping success chance | None in the demo |
| Trapping Success Chance (Flat)The flat adjustment to the trapping success chance |
|
| Increased trapping success chance | None in the demo |
| Skip Tracking Step chanceThe chance to skip a tracking step |
|
| Surveying Interval (Flat)The flat adjustment to the surveying interval | None in the demo |
| Surveying Interval (%)The adjustment to the surveying interval |
|
| Flat rare species chance | None in the demo |
| Increased rare species chance |
|
| Trapping Reattempt ChanceThe chance to reattempt a trapping action when it fails |
|