HP and SP recovery
Compare natural recovery and passive skills. Thai beta natural HP/SP formulas remain unresolved.
Scope and reading notes
The local download has now been decoded beyond the original samples. See downloaded AEGIS material for Alpha maps, offline database exports, full workbook extraction and the remaining outside-evidence gaps. These are candidate inputs; their presence does not establish Thai effective dates.
This reference follows recovery, EXP, monsters, drops and consumables from the international Alpha/Beta preludes through Thailand’s last pre-Renewal era. It supports the developer and player notes attached to each patch. Thai beta’s natural HP/SP recovery formulas remain unresolved. Original Thai operator guides now supply passive-skill tables, but their publication and effective dates are unknown. Historical formulas below are candidates or observations of particular emulator revisions, with their scope stated beside them.
The timeline ledger owns patch dates and Episode labels. A guide’s publication date, an archive capture, a scheduled maintenance and a confirmed deployment are different events. Content can arrive before or after its associated balance change. Thai-language coverage of an English or Korean server does not establish a Thai release.
Natural HP and SP recovery
Natural regeneration, passive recovery skills, healing consumables and recovery modifiers must be tracked independently. They can run on different timers and obey different restrictions.
Early observations and unresolved formulas
| Evidence | What it supports | What it does not settle |
|---|---|---|
| March 1, 2002 Japanese discussion, post 8 | Approximate standing SP interval: 7.54 − 0.06 × INT seconds per point; the table doubles the recovery rate while sitting. | Server/build, Thai applicability, high-INT cap, rounding and timer behavior. |
| March 22 discussion, post 18 | Alternative rate expression: 60 / (3.76 − 0.03 × INT). Its denominator corresponds to a slightly different 7.52 standing offset if interpreted as the sitting rate. | Pose and units are not restated in that post. The small offset disagreement cannot establish a patch change. |
| April 18 discussion, post 25 | A relayed Mage-thread report says recovery remained positive at INT 126. | Exact cap or recovery speed; the original measurement is missing. An unclamped interval crossing zero is unsafe to extrapolate. |
| February 13–14, 2003 discussion, posts 114–115 | Participants ask for the HP formula and describe it as still undetermined, tentatively mentioning MaxHP, level and VIT. | The tentative dependencies are not a formula. This is uncertainty in one contemporary discussion, not proof that no formula was known elsewhere. |
| Thai operator leveling guide, captured December 12, 2003 | Red weight stops natural HP/SP recovery; wording says “over 50%.” | Exact > versus >= boundary, introduction date, CBT applicability and passive-skill exceptions. |
The Japanese thread title refers to mathematical formulas; it is not an official operator thread. A later post about congestion also warns that observed recovery timing could be distorted by server load. Memory of slow recovery alone cannot distinguish an intended rule from delayed updates.
More Thai guides with unknown effective dates
Four additional original operator guides were recovered in round six. Their December 2003 captures do not establish that the described rules were active during Thai CBT in September 2002.
| Guide | What the page says | What remains open |
|---|---|---|
| Interface | Weight over 50% stops HP/SP from increasing on their own; items or skills may restore it. Over 90% prevents attacks and skill use. | Natural amount and interval are absent. Exact equality at 50%/90%, passive-skill exceptions and introduction dates remain unknown. |
| Basic play | Discusses returning to the saved point or waiting for another player to revive you, then gives 50% HP for Novice / 1 HP for other classes without separating the routes. It describes 1% Base/Job loss on death. | This is ambiguous death/revival wording, not a universal Resurrection skill rule or natural regeneration formula. EXP denominator, rounding and effective date are not supplied. It cannot date a change from the Beta 2 mirror's 5% claim. |
| Training Ground | Registration grants 50 zeny; players may skip to a random town; three training stages are described. | This guide is separate from the missing September 18, 2002 Training Ground problem notice. No beta-effective date is given. |
| Training course | Fabre in the second training area advances Base progress but not Job progress. | No numerical EXP reward or effective date. Do not copy this tutorial rule into the ordinary field Fabre record. |
These pages narrow the questions to test later, but Thai beta natural HP/SP amount and interval formulas remain unverified.
Historical Athena candidate
Athena Dev 2.1.1, attributed to July 2003, contains this inspectable implementation. Its archive date is not independently authenticated, and its behavior is not an official Thai specification. The extraction, hash and source passages are in athena-2003-candidate.json.
| Component | Implementation in that artifact |
|---|---|
| HP denominator | max(300, 3000 − 15 × effective_VIT − 14 × BaseLevel) |
| SP denominator | max(300, 7500 − 60 × effective_INT) |
| Sitting | Integer-divide the clamped denominator by two. |
| Every 250 ms | Add floor(1000000 / denominator) + 1 to the relevant accumulator. |
| Applying recovery | Each 4000 accumulated units permits one point; apply/report on every fourth tick. |
| Function gates | Dead or weight at least 50%: stop; HP additionally requires not walking. |
There is no natural-recovery MaxHP/MaxSP term in these functions. The SP denominator reaches its minimum at INT 120. These details identify this candidate precisely; they do not resolve the different contemporary estimates. Replacing a modern eight-second setting with a smaller number would not reproduce its accumulator and publication behavior.
Pinned modern emulator comparison
These are unmodified player bases before recovery modifiers, taken from rAthena d4b8e7b and Hercules 04a422ce. They are comparison baselines, not a dated Thai production snapshot. floor means discard the fractional part.
| Rule | rAthena | Hercules |
|---|---|---|
| Natural HP amount | floor(VIT/5) + max(1, floor(MaxHP/200)) | 1 + floor(VIT/5) + floor(MaxHP/200) |
| Natural SP amount | 1 + floor(INT/6) + floor(MaxSP/100) | Same |
| Extra SP at INT ≥120 | Add floor((INT−120)/2) + 4 | Same |
| Default natural interval | HP 6000 ms; SP 8000 ms | Same |
| Default recovery-skill interval | 10000 ms | Same |
At VIT 10 and MaxHP 1000, the HP amounts are respectively 7 and 8. Both give 1 at VIT 1 and MaxHP 100. This difference needs historical evidence to adjudicate; choosing pre-Renewal mode does not make the two emulators identical. Defaults, modifiers and timer scheduling are separate from these amount expressions. See the source audit and arithmetic comparison.
The transition date remains open
A period Knight guide labels later recovery formulas as Juno, while a Hunter guide describes movement from individual points to larger chunks. A May 13, 2003 Japanese discussion explicitly references a Korean SP revision. None supplies the Thai maintenance that activated the replacement. Keep the before/after policies unassigned to an exact Thai date until a notice or dated Thai measurement connects them.
Passive recovery skills
An early Mage guide and July 2003 Priest guide describe a flat SP Recovery candidate of 3 × skill level per ten seconds. The Priest guide’s forecast of a future formula is not a measured Thai rule.
Original Thai operator skill tables
The newly recovered Swordman guide and Mage guide were captured on December 13, 2003. Neither page gives a publication date or activation date. Both describe passive pulses every ten seconds while sitting or standing still.
| Skill level | Swordman HP table | Mage SP table |
|---|---|---|
| 1 | 5 | 3 |
| 2 | 10 | 6 |
| 3 | 15 | 9 |
| 4 | 20 | 12 |
| 5 | 25 | 15 |
| 6 | 30 | 18 |
| 7 | 35 | 21 |
| 8 | 40 | 24 |
| 9 | 45 | 27 |
| 10 | 50 | 30 |
These printed tables correspond to 5 × skill_level HP and 3 × skill_level SP. The Swordman text also mentions VIT influence without a coefficient and a potion bonus of 10% per skill level. Neither table prints a MaxHP/MaxSP term. An omitted term does not prove that the live server lacked it. These are skill descriptions, not natural-regeneration formulas.
There is a conflict to resolve: the preserved BEEhive Beta 2 notice describes Swordman recovery gaining MaxHP scaling from a Beta 1 flat 5–50 table. It is a fansite republication, with no verified Thai activation date. The operator table may be stale or simplified; its later archive capture does not settle which behavior Thai CBT used. Keep both claims and their provenance. The first-job guide also contains conditional wording about future quest functionality, reinforcing the need to date the guide content independently.
Modern skill comparison
At the pinned modern revisions, the base skill amounts are:
- HP:
5 × skill_level + floor(skill_level × MaxHP / 500). - SP:
3 × skill_level + floor(skill_level × MaxSP / 500).
Thus level-10 SP Recovery at MaxSP 500 gives 40 per skill tick under the modern expression, versus 30 under the flat candidate. Standing/sitting, walking, weight, poison, buffs and timer resets still need separate validation. A correct natural-regeneration policy can coexist with an incorrect passive skill.