@umang-boss/claudemon 2.1.3 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/award-xp.mjs +129 -58
- package/dist/award-xp.mjs.map +3 -3
- package/dist/server.mjs +492 -99
- package/dist/server.mjs.map +2 -2
- package/package.json +1 -1
- package/src/engine/encounter-pool.ts +51 -6
- package/src/engine/encounters.ts +122 -128
- package/src/gamification/legendary-quests.ts +515 -91
- package/src/hooks/award-xp.ts +3 -5
package/src/hooks/award-xp.ts
CHANGED
|
@@ -21,7 +21,6 @@ import {
|
|
|
21
21
|
generateEncounter,
|
|
22
22
|
shouldBonusEncounter,
|
|
23
23
|
shouldDiversityBonus,
|
|
24
|
-
getTimeOfDayBias,
|
|
25
24
|
} from "../engine/encounters.js";
|
|
26
25
|
import type { EncounterContext } from "../engine/encounters.js";
|
|
27
26
|
import { calculateMood } from "../engine/mood.js";
|
|
@@ -138,7 +137,6 @@ const evolutionReady = checkEvolution(pokemon, state) !== null;
|
|
|
138
137
|
// Build encounter context for the enhanced trigger system
|
|
139
138
|
const encounterSpeed = state.config.encounterSpeed ?? "normal";
|
|
140
139
|
const currentHour = new Date().getHours();
|
|
141
|
-
const timeOfDayTypes = getTimeOfDayBias(currentHour);
|
|
142
140
|
|
|
143
141
|
const encounterCtx: EncounterContext = {
|
|
144
142
|
xpSinceLastEncounter: (state.xpSinceLastEncounter ?? 0) + xpEvent.xp,
|
|
@@ -153,7 +151,7 @@ state.xpSinceLastEncounter = encounterCtx.xpSinceLastEncounter;
|
|
|
153
151
|
let encounterTriggered = false;
|
|
154
152
|
|
|
155
153
|
if (shouldTriggerEncounter(encounterCtx) && !state.pendingEncounter) {
|
|
156
|
-
const encounter = generateEncounter(eventType, state
|
|
154
|
+
const encounter = generateEncounter(eventType, state);
|
|
157
155
|
if (encounter) {
|
|
158
156
|
state.pendingEncounter = encounter;
|
|
159
157
|
state.xpSinceLastEncounter = 0;
|
|
@@ -163,7 +161,7 @@ if (shouldTriggerEncounter(encounterCtx) && !state.pendingEncounter) {
|
|
|
163
161
|
// 10% chance for a bonus encounter after a regular one
|
|
164
162
|
// (bonus replaces the pending encounter with a second roll)
|
|
165
163
|
if (shouldBonusEncounter()) {
|
|
166
|
-
const bonusEncounter = generateEncounter(eventType, state
|
|
164
|
+
const bonusEncounter = generateEncounter(eventType, state);
|
|
167
165
|
if (bonusEncounter) {
|
|
168
166
|
// The bonus encounter replaces the first; first is already set as pending
|
|
169
167
|
// In practice the player still sees one encounter per trigger,
|
|
@@ -177,7 +175,7 @@ if (shouldTriggerEncounter(encounterCtx) && !state.pendingEncounter) {
|
|
|
177
175
|
// Tool diversity bonus: if 3+ unique tool types used recently and no pending encounter,
|
|
178
176
|
// grant an extra encounter opportunity
|
|
179
177
|
if (!encounterTriggered && !state.pendingEncounter && shouldDiversityBonus(state.recentToolTypes)) {
|
|
180
|
-
const diversityEncounter = generateEncounter(eventType, state
|
|
178
|
+
const diversityEncounter = generateEncounter(eventType, state);
|
|
181
179
|
if (diversityEncounter) {
|
|
182
180
|
state.pendingEncounter = diversityEncounter;
|
|
183
181
|
state.xpSinceLastEncounter = 0;
|