How Hunting works

How Hunting works

Demo 0.11.2

How it works

Surveying and tracking

  1. A hunt starts with surveys, one every Survey interval. Each finds tracks with Tracking success chance; the third survey always does.
  2. 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.
  3. 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.
  4. While two or more steps remain, Skip Tracking Step chance counts a step twice.

Trapping

  1. When trapping begins, a rare species is rolled once with Rare species chance.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. The catch pays XP × stat percentage, and the journal gains the animal's trapping XP.
  7. 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

Hunting stopped due to no traps left in Bank.

After a catch or an escape none of the selected trap is left. The game first switches to another trap in the bank that fits the animal; when there is none, Hunting stops.

You have run out of bait!

Baiting is on and the last of the animal's preferred bait leaves the bank. The bait's bonuses stop and the hunt goes on without them.

No Trap selected! A Trap is required to Hunt.

No trap is selected for an animal that needs one. Hunting cannot start.

Not enough Traps in Bank.

The selected trap is not in the bank. Hunting cannot start.

Animal Levels increase the average Skill XP & Item quantity output.

Beside an animal's journal level. A higher journal level raises the size and weight drawn for each catch, and their stat percentage scales the catch's XP and products.

Formulas

Base experience
Animal base experience
Base products
Animal products
Products
Quantitymax(1, trunc((Base products quantity + Output Quantity (Flat)) × (1 + Product Quantity (%))))
Base surveying products
Animal surveying products
Surveying products
Quantitymax(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

ModifierGranted 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 quantityNone in the demo
Tracking Interval (Flat)The adjustment to the base tracking interval onlyGlobal flat action intervalNone in the demo
Min Tracking Interval (Flat)The adjustment to the base minimum tracking intervalNone in the demo
Max Tracking Interval (Flat)The adjustment to the base maximum tracking interval
  • Hunting-0.1 s Max Tracking Interval in Hunting
  • Hunting-0.1 s Max Tracking Interval in Hunting
  • Hunting-0.1 s Max Tracking Interval in Hunting
  • Hunting-0.1 s Max Tracking Interval in Hunting
  • Hunting-0.1 s Max Tracking Interval in Hunting
  • Hunting-0.1 s Max Tracking Interval in Hunting
  • Hunting-0.1 s Max Tracking Interval in Hunting
  • Hunting-0.1 s Max Tracking Interval in Hunting
  • Hunting-0.1 s Max Tracking Interval in Hunting
  • Hunting-0.1 s Max Tracking Interval in Hunting
  • Hunting-0.1 s Max Tracking Interval in Hunting
  • Hunting-0.1 s Max Tracking Interval in Hunting
  • Hunting-0.1 s Max Tracking Interval in Hunting
  • Hunting-0.1 s Max Tracking Interval in Hunting
  • Hunting-0.1 s Max Tracking Interval in Hunting
  • Hunting-0.1 s Max Tracking Interval in Hunting
  • Hunting-0.1 s Max Tracking Interval in Hunting
  • Hunting-0.1 s Max Tracking Interval in Hunting
  • Hunting-0.1 s Max Tracking Interval in Hunting
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 intervalNone in the demo
Min Trapping Interval (Flat)The adjustment to the base minimum Trapping intervalNone in the demo
Max Trapping Interval (Flat)The adjustment to the base maximum Trapping intervalNone 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 intervalNone in the demo
Max Trapping Interval (%)The adjustment to the base maximum Trapping intervalNone in the demo
Flat tracking steps
Min Tracking Steps (Flat)The adjustment to the min tracking stepsNone in the demo
Max Tracking Steps (Flat)The adjustment to the max tracking stepsNone in the demo
Flat tracking success chanceNone in the demo
Increased Trapping Success chanceThe adjustment to the trapping success chanceNone in the demo
Trapping Success Chance (Flat)The flat adjustment to the trapping success chance
Increased trapping success chanceNone in the demo
Skip Tracking Step chanceThe chance to skip a tracking step
Surveying Interval (Flat)The flat adjustment to the surveying intervalNone in the demo
Surveying Interval (%)The adjustment to the surveying interval
Flat rare species chanceNone in the demo
Increased rare species chance
  • Hunting+20% increased chance to locate a Rare Species in Hunting
  • Hunting+20% increased chance to locate a Rare Species in Hunting
  • Hunting+25% increased chance to locate a Rare Species in Hunting
  • Hunting+25% increased chance to locate a Rare Species in Hunting
  • Hunting+30% increased chance to locate a Rare Species in Hunting
Trapping Reattempt ChanceThe chance to reattempt a trapping action when it fails
  • CeedyrAstrologyMajor 1+6% chance to reattempt Trapping when failing in Hunting