Combat rework: packs, abilities, rest, health potions, group bosses
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
472609ac70
commit
57d11e30da
10 changed files with 1562 additions and 380 deletions
58
README.md
58
README.md
|
|
@ -14,31 +14,48 @@ Beta. The core game is in place; changes from here are mostly balance and tuning
|
|||
firekeeping, combat, prayer and reconnaissance. Smiths also make hardware for builders,
|
||||
one kind per metal (copper rivets to rune locks), which fittings and
|
||||
buildings need.
|
||||
- **Combat:** every fight is played out swing by swing: you and the enemy
|
||||
each have HP, a swing timer, accuracy and a max hit, and swings hit, miss
|
||||
or crit. Every blow has a damage type (slashing, blunt, piercing, magic);
|
||||
each enemy is vulnerable to some (+25%) and resists others (-25%), shown
|
||||
as tinted icons. Armour stops physical blows, ward stops magic. Below half
|
||||
health you eat from your bank, and each bite holds back your next swing;
|
||||
out of food you retreat, losing nothing but the fight. HP recovers 25%
|
||||
an hour. The Combat page replays the fight live. Fights are split into
|
||||
the Frontier (bandits, sabotage, 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 four races and a boss (the dragons at the top). Every
|
||||
kill is one of the race's variants (a brute, a skirmisher, a caster, now
|
||||
and then a rare elite), so each encounter mixes damage types: spirit races
|
||||
lean on magic, golems and trolls on blows. Races drop trophies (10%,
|
||||
20% from bosses) for stronger weapons and the area's armour reagents (10%,
|
||||
far more from dragons). Each kill is followed by a 2-second pause.
|
||||
- **Combat:** a fight is a party against a pack, played out in quarter-second
|
||||
slices (`combat.py`). Everyone swings on their weapon's timer, and swings hit,
|
||||
miss or crit. Every blow has a damage type (slashing, blunt, piercing, magic);
|
||||
each enemy is vulnerable to some (+25%) and resists others (-25%), shown as
|
||||
tinted icons. Armour stops physical blows, ward stops magic. On top of the
|
||||
swings, your weapon gives four abilities (learned at combat 1, 15, 30 and 45)
|
||||
and your trade one more; for now they're all on auto. Enemies use their own:
|
||||
brutes wind up a Heavy Slam, skirmishers lunge at whoever isn't tanking,
|
||||
casters cast a Hex Bolt you can interrupt, elites and bosses enrage, dragons
|
||||
breathe fire. Enemies pick targets by threat. A pack is as many enemies as
|
||||
there are of you, often one more (each weaker); a rare elite comes alone.
|
||||
Between fights you rest back to full: food is only eaten then, and better food
|
||||
rests you faster. In a fight the only heal you carry is a health potion
|
||||
(Herblore), drunk once a fight under 35% HP. At 0 HP you're knocked out: you
|
||||
lose that fight and come round at 30%; three knockouts in a row and you stop.
|
||||
HP recovers 25% an hour away from fights. The Combat page replays the fight
|
||||
live. Fights are split into the Frontier (bandits, sabotage, 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 four races and a boss (the dragons at the top). Races drop trophies
|
||||
(10%, 20% from bosses) for stronger weapons and the area's armour reagents
|
||||
(10%, far more from dragons).
|
||||
- **Bosses and dragons** are group fights: two or more. Alone you wait at it
|
||||
for someone to tag in. They grow with the group, and everyone who brings one
|
||||
down gets their own loot.
|
||||
- **Multiplayer Combat:** tag into anyone's fight from the encounter card or the guild roster.
|
||||
- **Weapons:** four styles, one per trade, and anyone can use any of them.
|
||||
- **Weapons:** four styles, one per trade, and anyone can use any of them; the
|
||||
weapon decides your abilities and your role.
|
||||
Sword and shield (slashing, 2.4s swings, the shield blocks 15% of hits;
|
||||
swords from Smithing, shields from Construction), warhammer (blunt,
|
||||
Smithing; slow, heavy, twice the crits), staff (magic, Herblore;
|
||||
accurate) and bow (piercing, Leatherworking; fast, strikes first). The
|
||||
last three take both hands and carry a shield's power. Your trade's weapon
|
||||
does 15% more damage. Past copper, each weapon needs its tier's trophies.
|
||||
- **Abilities:** sword and shield tanks (Shield Bash, Challenge, Sweeping Cut,
|
||||
Shield Wall; the shield ones need a shield), warhammer hits hard and stuns
|
||||
(Crushing Blow, Concuss, Earthshaker, Unstoppable), staff heals and holds
|
||||
(Bolt, Mend, Ward, Thornbind), bow shoots from afar (Aimed Shot, Pinning
|
||||
Shot, Barbed Arrow, Volley, which takes 5 arrows). Trades: Find the Seam
|
||||
(miner: a target's resistance stops counting), Barricade (builder: the group
|
||||
takes less), Hearty Meal (homesteader: the group heals over time), Mark Prey
|
||||
(ranger: a target takes more from everyone).
|
||||
- **Armour:** three weights. Heavy plate (Smithing) is strong against blows
|
||||
and weak to magic, light cloth (Tailoring) the other way round, medium
|
||||
leather (Leatherworking) a bit of both. Every trade gathers its own base
|
||||
|
|
@ -119,7 +136,8 @@ Beta. The core game is in place; changes from here are mostly balance and tuning
|
|||
logs → enchanted logs, copper bar → rune bar…), at Herblore 1, 15, 30, 45,
|
||||
60 and 75. Gathering and Construction potions are 10–35% faster, crafting
|
||||
potions a 10–35% chance to keep materials, Prayer more points from bones,
|
||||
and combat has Strength and Defence ladders. Potions last 50 uses, one per
|
||||
and combat has Strength and Defence ladders. Health potions (I–VI, the tier's
|
||||
herb and cooked fish) are the one heal you take into a fight. Potions last 50 uses, one per
|
||||
skill at a time; an empty one is replaced from the bank automatically.
|
||||
- **Firekeeping:** the guild shares four fires: the forge (bars), the kitchen
|
||||
fire (cooking), the kiln (bricks) and the still (potions). Every craft at a
|
||||
|
|
@ -178,6 +196,8 @@ snapshot and exits; the NixOS module runs it nightly when
|
|||
## Layout
|
||||
|
||||
- `game.py`: content tables and the rules. Pure functions of `(world, now)`.
|
||||
- `combat.py`: the fight engine and the abilities.
|
||||
- `tools/balance.py`: an hour of fighting per trade and tier (`solo`, `party`, `bosses`).
|
||||
- `app.py`: stdlib HTTP server, persistence and the background ticker.
|
||||
- `static/`: the client (vanilla JS, no build step).
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue