From ed7c7b0ab5f1f7b66f3031888e7c8ee96385cf23 Mon Sep 17 00:00:00 2001 From: rope Date: Tue, 20 Oct 2026 12:59:30 +0100 Subject: [PATCH] Combat: 2s pause between kills; trophies drop 3% (bosses 6%) Co-Authored-By: Claude Opus 5.5 --- README.md | 3 ++- game.py | 7 ++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index bfc1b02..49c8012 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,8 @@ Alpha. One season, bandit raids plus two friendly events, six buildings. drilling, the city's troubles) and expeditions: Greenwood to start, then one area per tier (Old Watchtower, Sunken Barrows, Iron Hills, Frostpeak, Dragon's Spine), each with a golem, a troll, a spirit and a flyer that drop - trophies for stronger weapons, and a boss (the dragons at the top). + rare trophies (3%, 6% from bosses) for stronger weapons, and a boss (the + dragons at the top). Each kill is followed by a 2-second pause. - **Weapons:** four styles, one per trade, and anyone can use any of them. Sword and shield (2.4s swings, the shield blocks 15% of hits; swords from Smithing, shields from Construction), warhammer (Smithing; slow, heavy, diff --git a/game.py b/game.py index 2335111..4dfe0a9 100644 --- a/game.py +++ b/game.py @@ -432,7 +432,7 @@ def _tiered_actions() -> list[dict]: # the trophies higher weapons need, and a boss. CRIT_CHANCE = 0.05 CRIT_MULT = 1.5 -RESPAWN = 1 # seconds after a kill before the next enemy turns up +RESPAWN = 2 # seconds after a kill before the next enemy turns up MAX_FIGHT = 600 # a fight that drags on longer is broken off FLEE_BELOW = 0.2 # out of food and under this share of HP: get out @@ -521,7 +521,8 @@ AREA_MONSTERS = { # kind: (level offset, monsters, trophies) "flyer": (0, ["Giant bat", "Harpy", "Wyvern", "Griffin", "Roc"], ["Bat sinew", "Harpy sinew", "Wyvern sinew", "Griffin sinew", "Roc sinew"]), } -TROPHY_ODDS = 0.33 +TROPHY_ODDS = 0.03 # rare: higher-tier weapons are hunted for +BOSS_TROPHY_ODDS = 0.06 # each of the four kinds, so a boss is worth the longer fight AREA_BONES = ["bones", "big_bones", "big_bones", "dragon_bones", "dragon_bones"] @@ -547,7 +548,7 @@ def _area_fights() -> list[dict]: def _boss_trophies(tier: int) -> list[tuple]: - return [(_slug(trophies[tier - 1]), 1, 0.25) for _offset, _monsters, trophies in AREA_MONSTERS.values()] + return [(_slug(trophies[tier - 1]), 1, BOSS_TROPHY_ODDS) for _offset, _monsters, trophies in AREA_MONSTERS.values()] COMBAT_ACTIONS = [