prosolis
055f07d3c0
Combat engine §2(a): the enemy charges for what a seat brings
...
Both scaling levers counted seats. partyEnemyHPScale gave +15% boss HP for any
roster >= 2, and partyActionExpectation lifted the enemy from 1 to 2.4 attacks a
round. A seat COUNT charges the same for an under-levelled friend, a hired NPC,
and a true peer — so a below-median body cost a full seat's worth of boss and did
not give a full seat's worth back.
Measured, once the companion's free full-heal was taken away and he became honest:
hiring him was WORSE than going alone (66.1% against solo's 69.0%). That is this
bug, and it has been live for every under-levelled friend anyone has ever invited.
Seats now carry a SeatWeight, and both levers scale on the summed weight of the
LIVING seats rather than on a head count. The weight is level-based, priced against
the leader, times a discount for a hireling (no subclass, no magic items, gear that
is never Masterwork — the layers a player accrues and a hireling never will).
Level, and deliberately not a power score: an HP-x-damage proxy would rank a cleric
below a fighter and quietly make every mixed HUMAN party easier, which is a
difficulty regression smuggled in under a bug fix.
The safety argument is one property: **a peer weighs exactly 1.0**. So the curves
interpolate between the integer knots the P8 sweep tuned — (1, 1.0), (2, 2.4),
2n-1 from 3 up — and every integer input returns exactly what it always returned.
Solo is byte-identical, a party of same-level humans is byte-identical, both
goldens hold unmoved, and only an UNEQUAL roster lands between the knots. That is
the entire point of the change.
It also finishes §2(b): a seat that is down now buys the enemy nothing. §2(b) fixed
the head-count half; a corpse still carried its full weight until this.
Measured, 640 runs/arm, same grid:
solo 69.0% (unchanged — corpus intact)
+ Pete 76.8% (+7.8pp)
+ a human cleric peer 77.6% (+8.6pp)
band solo +Pete lift
trailing (<40%) 10.0% 31.0% +21.0pp
middle 58.9% 76.8% +17.9pp
leading (>=70%) 93.5% 99.2% +5.7pp
Help, never a carry: he rescues the players who were drowning and barely moves the
ones who were already fine — and he stays below a real human of the leader's level,
which is the invariant a hireling must never break.
Claude-Session: https://claude.ai/code/session_01J5SQZWoLmL3M3mw2XmHHdy
2026-07-11 15:20:49 -07:00
..
2026-07-11 12:39:01 -07:00
2026-07-09 19:22:10 -07:00
2026-07-11 07:43:57 -07:00
2026-05-27 19:41:49 -07:00
2026-07-10 07:18:07 -07:00
2026-07-10 07:18:07 -07:00
2026-07-10 07:18:07 -07:00
2026-05-09 14:25:22 -07:00
2026-05-09 14:25:22 -07:00
2026-07-10 07:18:07 -07:00
2026-07-09 19:22:10 -07:00
2026-07-10 07:20:14 -07:00
2026-07-09 19:22:10 -07:00
2026-07-10 20:09:30 -07:00
2026-07-10 07:18:07 -07:00
2026-07-10 15:03:57 -07:00
2026-04-26 07:57:31 -07:00
2026-07-10 23:50:48 -07:00
2026-04-08 15:50:28 -07:00
2026-07-11 12:39:01 -07:00
2026-07-11 14:56:19 -07:00
2026-05-12 21:59:19 -07:00
2026-07-10 13:36:32 -07:00
2026-07-10 19:18:45 -07:00
2026-07-11 07:43:57 -07:00
2026-07-10 09:12:34 -07:00
2026-07-10 19:18:45 -07:00
2026-05-09 14:25:21 -07:00
2026-07-10 07:18:07 -07:00
2026-07-10 15:37:53 -07:00
2026-07-10 16:53:32 -07:00
2026-05-16 12:40:17 -07:00
2026-07-10 07:18:07 -07:00
2026-04-28 22:37:04 -07:00
2026-04-10 16:50:49 -07:00
2026-05-09 21:32:47 -07:00
2026-04-24 22:23:58 -07:00
2026-07-10 16:12:53 -07:00
2026-07-10 07:18:07 -07:00
2026-04-05 17:04:03 -07:00
2026-07-10 16:12:53 -07:00
2026-04-05 17:04:03 -07:00
2026-05-16 12:40:17 -07:00
2026-05-16 12:40:17 -07:00
2026-07-10 07:18:07 -07:00
2026-07-10 14:05:11 -07:00
2026-07-10 14:05:11 -07:00
2026-05-09 14:25:22 -07:00
2026-03-27 21:26:19 -07:00
2026-07-10 07:18:07 -07:00
2026-07-10 15:03:57 -07:00
2026-07-10 16:12:53 -07:00
2026-07-09 18:29:31 -07:00
2026-07-09 18:29:31 -07:00
2026-07-10 14:05:24 -07:00
2026-05-09 14:25:22 -07:00
2026-07-10 16:12:53 -07:00
2026-07-10 16:53:32 -07:00
2026-07-10 20:09:30 -07:00
2026-07-10 20:30:15 -07:00
2026-07-10 15:03:57 -07:00
2026-05-22 08:42:47 -07:00
2026-05-09 14:25:22 -07:00
2026-07-10 15:03:57 -07:00
2026-07-10 20:30:15 -07:00
2026-07-10 20:09:30 -07:00
2026-07-10 19:48:49 -07:00
2026-05-09 14:25:23 -07:00
2026-07-10 16:53:32 -07:00
2026-05-23 10:30:47 -07:00
2026-07-10 19:48:49 -07:00
2026-07-10 20:30:15 -07:00
2026-07-10 20:30:15 -07:00
2026-07-10 16:02:15 -07:00
2026-07-10 17:26:16 -07:00
2026-07-10 17:26:16 -07:00
2026-05-14 21:19:31 -07:00
2026-07-10 07:18:07 -07:00
2026-07-10 20:30:15 -07:00
2026-07-10 08:55:07 -07:00
2026-07-10 08:55:07 -07:00
2026-07-10 07:18:07 -07:00
2026-07-10 14:31:59 -07:00
2026-07-10 15:03:57 -07:00
2026-07-10 13:36:32 -07:00
2026-07-10 13:36:32 -07:00
2026-07-10 18:27:32 -07:00
2026-07-10 13:44:32 -07:00
2026-07-10 14:05:24 -07:00
2026-07-10 13:36:32 -07:00
2026-07-10 13:36:32 -07:00
2026-07-10 18:09:11 -07:00
2026-07-10 18:09:11 -07:00
2026-07-11 00:53:25 -07:00
2026-07-10 07:18:07 -07:00
2026-07-10 07:18:07 -07:00
2026-05-09 14:25:22 -07:00
2026-05-14 15:28:42 -07:00
2026-05-14 15:28:42 -07:00
2026-05-14 15:28:42 -07:00
2026-07-09 20:29:05 -07:00
2026-05-28 21:55:34 -07:00
2026-07-10 07:18:07 -07:00
2026-05-14 18:00:29 -07:00
2026-05-14 18:00:29 -07:00
2026-03-27 21:26:19 -07:00
2026-03-26 09:22:02 -07:00
2026-07-10 07:18:07 -07:00
2026-05-28 09:35:04 -07:00
2026-06-18 06:34:16 -07:00
2026-07-11 07:43:57 -07:00
2026-05-15 12:11:27 -07:00
2026-05-09 14:25:23 -07:00
2026-07-09 19:36:24 -07:00
2026-05-12 21:54:40 -07:00
2026-04-18 01:07:25 -07:00
2026-05-09 17:23:08 -07:00
2026-05-09 14:25:22 -07:00
2026-05-09 14:25:23 -07:00
2026-07-11 12:39:01 -07:00
2026-07-10 08:01:51 -07:00
2026-05-09 14:25:22 -07:00
2026-07-10 19:48:49 -07:00
2026-05-14 07:53:17 -07:00
2026-07-11 15:20:49 -07:00
2026-05-12 21:59:19 -07:00
2026-07-09 20:21:17 -07:00
2026-07-11 15:20:49 -07:00
2026-07-11 15:20:49 -07:00
2026-04-18 01:05:22 -07:00
2026-07-11 15:20:49 -07:00
2026-07-10 08:25:56 -07:00
2026-07-10 11:07:21 -07:00
2026-05-22 09:26:17 -07:00
2026-05-09 14:25:22 -07:00
2026-07-10 08:44:25 -07:00
2026-07-09 21:23:35 -07:00
2026-07-11 12:39:01 -07:00
2026-07-11 14:56:19 -07:00
2026-07-09 23:23:17 -07:00
2026-07-11 15:20:49 -07:00
2026-07-09 23:23:17 -07:00
2026-07-11 12:39:01 -07:00
2026-05-16 12:53:00 -07:00
2026-07-09 22:07:20 -07:00
2026-07-09 20:29:05 -07:00
2026-07-11 14:56:19 -07:00
2026-07-11 14:56:19 -07:00
2026-07-11 15:20:49 -07:00
2026-07-11 15:20:49 -07:00
2026-07-10 08:01:51 -07:00
2026-07-11 15:20:49 -07:00
2026-07-10 07:18:07 -07:00
2026-07-10 15:03:57 -07:00
2026-07-11 12:39:01 -07:00
2026-07-09 20:43:37 -07:00
2026-07-10 07:18:07 -07:00
2026-03-26 09:22:02 -07:00
2026-04-08 17:04:40 -07:00
2026-07-10 08:01:51 -07:00
2026-07-10 08:01:51 -07:00
2026-07-10 07:18:07 -07:00
2026-06-18 00:28:05 -07:00
2026-05-12 21:59:19 -07:00
2026-07-10 07:18:07 -07:00
2026-07-10 07:18:07 -07:00
2026-07-09 23:23:17 -07:00
2026-05-28 08:14:13 -07:00
2026-07-10 08:01:51 -07:00
2026-05-12 21:59:19 -07:00
2026-07-11 07:56:41 -07:00
2026-05-12 21:59:19 -07:00
2026-05-09 14:25:22 -07:00
2026-07-09 23:56:16 -07:00
2026-07-10 07:18:07 -07:00
2026-07-10 07:18:07 -07:00
2026-05-14 22:37:47 -07:00
2026-05-14 22:37:47 -07:00
2026-05-17 12:24:18 -07:00
2026-05-17 17:03:20 -07:00
2026-05-09 14:25:22 -07:00
2026-05-09 17:21:33 -07:00
2026-07-11 14:56:19 -07:00
2026-05-27 19:41:49 -07:00
2026-07-11 12:39:01 -07:00
2026-07-10 07:18:07 -07:00
2026-07-10 07:20:14 -07:00
2026-06-18 06:34:16 -07:00
2026-07-10 17:26:16 -07:00
2026-05-15 12:11:27 -07:00
2026-07-11 00:53:25 -07:00
2026-07-10 07:18:07 -07:00
2026-07-10 20:09:30 -07:00
2026-07-10 07:18:07 -07:00
2026-07-09 23:56:16 -07:00
2026-07-09 18:49:19 -07:00
2026-07-10 08:01:51 -07:00
2026-07-10 07:18:07 -07:00
2026-05-16 12:40:17 -07:00
2026-05-15 12:11:27 -07:00
2026-07-10 08:01:51 -07:00
2026-05-09 14:25:22 -07:00
2026-07-10 07:18:07 -07:00
2026-07-10 07:18:07 -07:00
2026-07-10 07:20:14 -07:00
2026-07-10 07:18:07 -07:00
2026-07-10 07:18:07 -07:00
2026-05-09 14:25:22 -07:00
2026-05-27 18:42:57 -07:00
2026-07-10 20:09:30 -07:00
2026-05-21 23:40:54 -07:00
2026-07-10 20:09:30 -07:00
2026-07-10 07:18:07 -07:00
2026-05-09 14:25:21 -07:00
2026-05-15 11:29:03 -07:00
2026-07-10 19:48:49 -07:00
2026-07-10 07:18:07 -07:00
2026-07-10 07:18:07 -07:00
2026-05-14 21:30:15 -07:00
2026-05-12 21:59:19 -07:00
2026-05-17 16:20:10 -07:00
2026-05-09 14:25:22 -07:00
2026-05-14 19:47:01 -07:00
2026-05-17 17:03:20 -07:00
2026-05-17 16:06:46 -07:00
2026-07-10 13:36:32 -07:00
2026-05-14 22:06:31 -07:00
2026-07-11 07:43:57 -07:00
2026-07-10 19:48:49 -07:00
2026-05-09 14:25:21 -07:00
2026-07-10 07:18:07 -07:00
2026-05-09 14:25:21 -07:00
2026-05-09 14:25:21 -07:00
2026-07-10 08:25:56 -07:00
2026-07-10 07:18:07 -07:00
2026-07-10 07:18:07 -07:00
2026-05-14 21:30:15 -07:00
2026-05-09 14:25:21 -07:00
2026-05-15 14:43:11 -07:00
2026-05-14 21:53:06 -07:00
2026-05-14 15:18:18 -07:00
2026-07-10 13:36:32 -07:00
2026-05-09 14:25:21 -07:00
2026-05-09 14:25:22 -07:00
2026-07-10 07:18:07 -07:00
2026-07-10 08:25:56 -07:00
2026-05-09 14:25:21 -07:00
2026-05-09 14:25:22 -07:00
2026-05-14 18:38:57 -07:00
2026-05-16 12:40:17 -07:00
2026-07-10 07:18:07 -07:00
2026-07-10 07:18:07 -07:00
2026-07-10 19:48:49 -07:00
2026-07-09 23:56:16 -07:00
2026-05-09 14:25:22 -07:00
2026-07-10 16:53:32 -07:00
2026-05-09 14:25:22 -07:00
2026-07-10 16:02:15 -07:00
2026-05-09 15:17:30 -07:00
2026-05-09 14:25:22 -07:00
2026-05-09 14:25:22 -07:00
2026-05-17 17:03:20 -07:00
2026-05-09 14:25:22 -07:00
2026-07-10 20:09:30 -07:00
2026-07-10 07:18:07 -07:00
2026-07-09 23:56:16 -07:00
2026-05-12 21:59:19 -07:00
2026-07-10 07:18:07 -07:00
2026-05-27 17:24:36 -07:00
2026-07-10 07:18:07 -07:00
2026-05-27 18:13:33 -07:00
2026-07-10 19:48:49 -07:00
2026-06-28 17:39:29 -07:00
2026-04-08 17:04:40 -07:00
2026-07-10 07:18:07 -07:00
2026-07-10 23:32:52 -07:00
2026-05-16 12:40:17 -07:00
2026-07-10 20:30:15 -07:00
2026-07-10 07:18:07 -07:00
2026-07-10 08:01:51 -07:00
2026-05-27 19:07:37 -07:00
2026-07-10 15:26:20 -07:00
2026-07-10 07:18:07 -07:00
2026-07-10 07:18:07 -07:00
2026-07-10 07:18:07 -07:00
2026-07-11 12:39:01 -07:00
2026-07-10 11:07:21 -07:00
2026-07-11 12:39:01 -07:00
2026-07-09 22:30:11 -07:00
2026-07-09 22:30:11 -07:00
2026-07-09 23:56:16 -07:00
2026-07-09 22:18:40 -07:00
2026-07-11 12:39:01 -07:00
2026-07-10 08:55:07 -07:00
2026-07-11 12:39:01 -07:00
2026-07-10 00:37:59 -07:00
2026-05-27 20:47:28 -07:00
2026-07-11 14:56:19 -07:00
2026-07-10 07:18:07 -07:00
2026-07-10 07:18:07 -07:00
2026-03-26 23:38:06 -07:00
2026-05-21 18:05:37 -07:00
2026-07-10 07:18:07 -07:00
2026-05-21 18:05:37 -07:00
2026-05-22 07:25:08 -07:00
2026-03-26 09:22:02 -07:00
2026-05-21 22:58:31 -07:00
2026-07-10 07:18:07 -07:00
2026-07-10 07:18:07 -07:00
2026-07-10 07:18:07 -07:00
2026-07-10 07:18:07 -07:00
2026-07-10 07:18:07 -07:00
2026-07-10 07:18:07 -07:00
2026-04-18 01:06:50 -07:00
2026-03-26 09:22:02 -07:00
2026-03-26 09:22:02 -07:00
2026-05-09 14:25:21 -07:00
2026-03-26 09:22:02 -07:00
2026-03-26 09:22:02 -07:00
2026-04-18 14:11:59 -07:00
2026-05-27 18:42:57 -07:00
2026-04-18 14:11:59 -07:00
2026-07-10 07:18:07 -07:00
2026-07-10 07:18:07 -07:00
2026-07-10 07:18:07 -07:00
2026-07-10 07:18:07 -07:00
2026-03-10 16:58:15 -07:00
2026-04-26 10:09:32 -07:00
2026-07-09 18:52:32 -07:00
2026-07-09 18:52:32 -07:00
2026-07-10 07:18:07 -07:00
2026-04-08 17:04:40 -07:00
2026-05-09 14:25:21 -07:00
2026-05-09 14:25:21 -07:00
2026-07-09 18:32:23 -07:00
2026-07-09 19:22:10 -07:00
2026-07-10 08:55:07 -07:00
2026-05-14 22:37:47 -07:00
2026-05-14 18:00:29 -07:00
2026-05-14 18:00:29 -07:00
2026-03-27 21:26:19 -07:00
2026-03-27 11:55:47 -07:00
2026-07-10 10:44:56 -07:00
2026-07-10 07:18:07 -07:00
2026-04-08 17:04:40 -07:00
2026-07-10 07:18:07 -07:00
2026-04-08 17:04:40 -07:00
2026-07-11 07:43:57 -07:00
2026-07-11 07:56:41 -07:00
2026-07-10 23:50:48 -07:00
2026-05-09 14:25:23 -07:00
2026-07-10 19:48:49 -07:00
2026-07-10 23:32:52 -07:00
2026-05-15 08:03:42 -07:00
2026-05-09 14:25:23 -07:00
2026-05-09 14:25:23 -07:00
2026-03-11 00:45:25 -07:00
2026-03-08 18:25:18 -07:00
2026-03-27 11:55:47 -07:00
2026-03-26 09:22:02 -07:00
2026-03-10 18:08:05 -07:00
2026-04-08 17:04:40 -07:00
2026-07-10 07:18:07 -07:00
2026-03-08 18:25:18 -07:00
2026-07-10 07:18:07 -07:00
2026-05-12 21:59:19 -07:00
2026-07-10 07:18:07 -07:00
2026-03-26 09:22:02 -07:00
2026-03-11 00:45:25 -07:00
2026-07-10 16:12:53 -07:00
2026-03-08 18:25:18 -07:00
2026-07-10 07:18:07 -07:00
2026-07-10 07:18:07 -07:00
2026-07-10 07:18:07 -07:00
2026-07-10 07:18:07 -07:00
2026-07-10 07:18:07 -07:00
2026-07-09 18:52:32 -07:00
2026-04-08 17:04:40 -07:00
2026-04-26 10:09:32 -07:00
2026-03-11 00:45:25 -07:00
2026-03-29 16:24:59 -07:00
2026-03-26 09:22:02 -07:00
2026-07-10 07:18:07 -07:00
2026-04-10 16:50:49 -07:00
2026-03-29 16:24:59 -07:00
2026-07-10 07:18:07 -07:00
2026-06-03 17:23:53 -07:00
2026-04-08 15:24:49 -07:00
2026-07-10 07:20:14 -07:00
2026-07-11 15:20:49 -07:00
2026-05-28 20:00:09 -07:00
2026-05-28 20:00:09 -07:00
2026-07-10 07:18:07 -07:00
2026-05-27 17:32:29 -07:00
2026-05-28 20:00:09 -07:00
2026-05-28 20:00:09 -07:00
2026-05-28 20:00:09 -07:00
2026-05-28 20:00:09 -07:00
2026-05-27 17:32:29 -07:00
2026-05-27 17:32:29 -07:00
2026-05-27 17:24:36 -07:00
2026-05-27 17:24:36 -07:00
2026-07-10 16:02:15 -07:00
2026-07-10 16:02:15 -07:00
2026-05-09 16:41:46 -07:00
2026-05-21 23:56:18 -07:00
2026-07-10 07:18:07 -07:00
2026-07-10 07:18:07 -07:00
2026-05-27 17:32:29 -07:00
2026-05-27 17:32:29 -07:00
2026-05-28 19:02:58 -07:00
2026-07-10 16:02:15 -07:00
2026-07-10 16:02:15 -07:00
2026-05-27 17:46:38 -07:00
2026-05-27 17:46:38 -07:00
2026-05-27 17:24:36 -07:00
2026-07-09 19:36:24 -07:00
2026-07-09 19:47:16 -07:00
2026-07-09 23:56:16 -07:00