Hub character swapping, XP percentage, passive health regeneration
ci / verify (push) Successful in 47s
ci / verify (push) Successful in 47s
Character swapping is hub-only, and refused by the SERVER rather than merely greyed out in the menu. Allowing it inside a dungeon would be an instant, uninterruptible exit from danger -- strictly better than the one-second escape channel, which would make that channel pointless. Creating a character in a dungeon is refused for the same reason. Both are covered by diag_progression. Health regenerates at 0.5% of MAXIMUM per second. A percentage rather than a flat rate so it does not become irrelevant at level 15: a capped character regains 1.2 hp/s against a level 1's 0.5, and both take about 200 seconds to heal from nothing. No out-of-combat gate -- at this rate it cannot out-heal anything actually shooting at you, and a trickle that never stops is easier to reason about than a timer players have to learn. A fractional carry is needed because a tick heals well under one hit point, so truncating each tick would heal exactly nothing; there is a test for that specifically. The XP bar now states the percentage and the level it leads to, since a bar answers "how far" vaguely and a number answers it exactly. Recorded the two Stage 3 answers: 4 inventory slots, and the boss's food item is player-instanced now so the mechanism gets exercised rather than deferred. Writing the swap guard's test caught my own mistake: the first version created its spare character through the store, which has no opinion about where you are, so it bypassed the guard it was meant to prove and left a stray character behind that broke a later assertion. 200 tests. check.sh, test.sh, smoke.sh and both diagnostics pass.
This commit is contained in:
@@ -161,3 +161,16 @@ and then overwrite every character on the first level-up.
|
||||
|
||||
**Account ids are written as decimal strings in JSON.** They are 64-bit and JSON
|
||||
numbers are doubles, which would silently round them.
|
||||
|
||||
**Character swapping is hub-only, enforced on the server.** Swapping inside a
|
||||
dungeon would be an instant, uninterruptible exit from danger — strictly better
|
||||
than the one-second escape channel, and it would make that channel pointless.
|
||||
The menu greys the button out so the rule is visible, but the server refuses
|
||||
regardless of what any client's UI allows.
|
||||
|
||||
**Health regenerates at 0.5% of MAXIMUM per second, with no out-of-combat
|
||||
gate.** A percentage rather than a flat rate, so it does not become irrelevant
|
||||
at level 15 — a capped character regains 1.2 hp/s against a level 1's 0.5, and
|
||||
both take about 200 seconds to heal from nothing. No combat gate because at this
|
||||
rate it cannot out-heal anything actually shooting at you, and a trickle that
|
||||
never stops is easier to reason about than a timer players have to learn.
|
||||
|
||||
Reference in New Issue
Block a user