A strategy is a JavaScript function that takes player and banner and returns a decision string.
Execution Flow for Each Banner
Banner intention probe — strategy called once to determine whether banner should be considered skipped for statistics purposes.
Auto spend free pulls — automatically spend bonus60 and free pulls.
Strategy loop — strategy called repeatedly, simulation advances based on decision returned by strategy.
(1) Banner Intention Probe
Decision Returned
Skip?
Free pulls
'stop'
Yes
Auto-consumed
'pull1' / 'pull10'
No
Auto-consumed
'skip-hold-free'
Yes
Spent when instructed to by strategy
'pull-hold-free'
No
Spent when instructed to by strategy
"Skip" means the banner's pulls are excluded from the target pull count statistic.
(2) Auto Spend Free Pulls
The simulator automatically spends bonus60 (Chartered Headhunting) and free pulls unless the strategy returns 'skip-hold-free' or 'pull-hold-free' in step (1).
(3) Strategy Loop
Decision Returned
Effect
'stop'
Stop pulling on this banner. Move to the next banner.
'pullBonus60'
Use the 10 bonus60 pulls. Must be the first decision when bonus60 is available (at pull 0). Error otherwise.
'pull1Free'
Use one free pull. Error if none remaining. Must be used before pull1/pull10.
'pull1'
Do one paid pull.
'pull10'
Do ten paid pulls.
When spending free pulls manually, pulls must be spent in this order before spending paid pulls: pullBonus60 → pull1Free (until exhausted) → pull1/pull10.
player Fields
Field
Type
Description
seed
int
The PRNG seed used for this trial. Useful for reproducing specific runs.
sixStarPity
int
Pulls since last 6★. Soft pity at 66, hard pity at 80.
fiveStarPity
int
Pulls since last 5★ or higher. Guaranteed 5★ at 10.
pullCount
int
Total paid pulls across all banners. Excludes Chartered Headhunting and free pulls.
bonus60PullCount
int
Total Chartered Headhunting pulls across all banners.
welfarePullCount
int
Total free pulls across all banners.
totalSixStarRateUp
int
Total rate-up 6★ obtained.
totalSixStarLimited
int
Total off-banner limited 6★ obtained.
totalSixStarStandard
int
Total off-banner standard 6★ obtained.
totalFiveStar
int
Total 5★ obtained.
totalFourStar
int
Total 4★ obtained.
banner Fields
Field
Type
Description
serial
int
Banner number (1-indexed).
pullCount
int
Total pulls on this banner (paid + Chartered Headhunting + free).
skipProbe
bool
true during the banner intention probe, false during the strategy loop.
gotRateUp
bool
Whether the rate-up 6★ has been obtained on this banner.
bonus60Available
bool
Whether the Chartered Headhunting 10-pull is available.
bonus60Used
bool
Whether the Chartered Headhunting 10-pull has been used.
welfarePullsRemaining
int
Free pulls remaining on this banner.
totalSixStarRateUp
int
Rate-up 6★ obtained on this banner.
totalSixStarLimited
int
Off-banner limited 6★ obtained on this banner.
totalSixStarStandard
int
Off-banner standard 6★ obtained on this banner.