Happenings: weather and seasons, minor threats, hardships, fortunes, dragons
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
a4e4bd4385
commit
75327f30e0
6 changed files with 903 additions and 38 deletions
16
app.py
16
app.py
|
|
@ -330,6 +330,10 @@ class Handler(BaseHTTPRequestHandler):
|
|||
return "There's no raid to stand guard for"
|
||||
player["garrison"] = bool(body.get("join"))
|
||||
return None
|
||||
if path == "/api/aid":
|
||||
return game.aid_problem(world, player, str(body.get("kind")), str(body.get("item")), str(body.get("source")), now)
|
||||
if path == "/api/hire":
|
||||
return game.hire_mercenaries(world, player, now)
|
||||
if path == "/api/potion":
|
||||
return game.use_potion(player, str(body.get("item")))
|
||||
if path == "/api/prayers":
|
||||
|
|
@ -409,6 +413,13 @@ class Handler(BaseHTTPRequestHandler):
|
|||
world["config"]["clock_offset"] += hours * game.HOUR / game.speed(world)
|
||||
game.tick(world, self.store.now(), self.store.rng)
|
||||
return None
|
||||
if path == "/api/dev/happen":
|
||||
track = body.get("track")
|
||||
fire = {"minor": game._minor_threat, "hardship": game._hardship, "fortune": game._fortune}.get(track)
|
||||
if not fire:
|
||||
return "No such track"
|
||||
fire(world, self.store.now(), self.store.rng, body.get("kind"))
|
||||
return None
|
||||
if path == "/api/dev/event":
|
||||
world["next_event_at"] = self.store.now()
|
||||
game.tick(world, self.store.now(), self.store.rng)
|
||||
|
|
@ -421,9 +432,9 @@ class Handler(BaseHTTPRequestHandler):
|
|||
player = world["players"].get(uid)
|
||||
upcoming = game.upcoming_event(world)
|
||||
history = [
|
||||
{"id": e["id"], "kind": e["kind"], "at": e["resolved"], "report": e.get("report")}
|
||||
{"id": e["id"], "kind": e["kind"], "track": e.get("track", "major"), "at": e["resolved"], "report": e.get("report")}
|
||||
for e in reversed(world["events"]) if e["status"] == "done"
|
||||
][:10]
|
||||
][:15]
|
||||
return {
|
||||
"now": now, "dev": self.dev, "uid": uid, "version": VERSION,
|
||||
"me": player_view(world, player, now) if player else None,
|
||||
|
|
@ -431,6 +442,7 @@ class Handler(BaseHTTPRequestHandler):
|
|||
"city": city_view(world, now),
|
||||
"upcoming": game.event_view(world, upcoming, now) if upcoming else None,
|
||||
"favours": game.favours(world, now),
|
||||
"happenings": game.happenings_view(world, now),
|
||||
"history": history,
|
||||
"players": roster(world, now),
|
||||
"ledger": world["ledger"][-80:],
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue