From fbd1c30d7b9777c9df6653f0c393afa7a7dfa519 Mon Sep 17 00:00:00 2001 From: historia <[not public]> Date: Fri, 19 Jun 2026 03:05:46 -0400 Subject: feat: science skill roughly implemented --- TODO.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'TODO.md') diff --git a/TODO.md b/TODO.md index b7309dd..67c77f1 100644 --- a/TODO.md +++ b/TODO.md @@ -16,6 +16,7 @@ Detailed implementation plans for each skill/system are in `skill_plans/`. - [x] Step 3: Combat Feel — Aggressive mobs (auto-attack on room enter, OSRS combat level rule), equipment skill requirements on all tiered gear - [x] Step 4: Technology — 25 techs (attack/str/def/ranged/science boosts, 3 protection techs, utility techs), Battery drain, 1-tick flicking, tech command, TechTick, charging station, score/prompt integration - [x] Step 5: Scavenging — mine_scrap behavior verified. Created 10 junk items (solar, hydro, cosmic, eco, chaos, bio, nature, law, death, blood — all stackable) with matching identifier tools and altar objects. `id`/`identify` command (Active): scans room for altar, checks for matching identifier in inventory, converts all scrap to junk on next tick with level-based multipliers, awards Scavenging XP. 10 altar rooms (150-159) branching from Scavenging Post (room 9). Help files created. +- [x] Step 6: Science — 40 mods (20 combat, 2 processing, 3 utility, 7 transport, 4 enchant, 4 chip), ModDef/AllMods in science.go. `trigger`/`cast` command (Active). `autocast`/`auto` (Instant). `mods`/`modlist` (Instant). Autocast in startCombat with 5-tick science speed and melee fallback. `scienceAttack()` with elemental weakness +30%. Junk cost system with deck exemptions. `ProvidesJunk` on ItemDef, `AutocastMod` on Player, `FindByInput` on RecipeStore, `science_mod` color target. 9 deck items, 24 jewelry items, 8 bolt items, nutrient_bar. Help files created. --- @@ -31,7 +32,7 @@ See `skill_plans/scavenging.md`. The simplest new skill — mine scrap (already See `skill_plans/science.md`. Players "trigger mods" (cast spells) powered by junk (runes). Decks (staves) provide unlimited supply of one junk type and remove scrap requirement. Depends on combat overhaul + scavenging. -- [ ] **Science System** — Define ~40 mods in Go: 20 combat mods (5 levels each of solar/hydro/eco/bio strikes), ~20 utility mods (low/high level processing, bones to nutrients, electromagnetic grab, superheat item, transport/teleport mods, jewelry enchants, bolt chipping). Add `ProvidesJunk string` field to ItemDef. Create deck items (basic, solar, hydro, eco, bio — each provides unlimited of one junk type; any deck removes scrap requirement). Add `trigger`/`cast` command (Active for combat, instant for utility), `autocast` command (Instant), `mods` command (Instant — shows known mods and junk costs). Integrate autocast into combat loop in `cmd_attack.go`. Science combat uses Science level + science_attack for accuracy, mod's MaxHit for damage. Elemental weakness gives +30% accuracy. Award Science XP per cast. +- [x] Step 6: Science — 40 mods (20 combat, 2 processing, 3 utility, 7 transport, 4 enchant, 4 chip), ModDef/AllMods in science.go. `trigger`/`cast` command (Active) routes to combat/transport/processing/utility/enchant handlers. `autocast`/`auto` command (Instant) sets science combat autocast. `mods`/`modlist` command (Instant) shows available mods with effective junk costs. Integrated autocast into `startCombat()` in cmd_attack.go with 5-tick science speed and melee fallback on junk depletion. `scienceAttack()` with Science level + science_attack roll, elemental weakness +30% accuracy, mod MaxHit damage. Junk cost system: deck-equipped removes scrap_metal, elemental deck provides unlimited junk type. Added `ProvidesJunk` to ItemDef, `AutocastMod` to Player, `FindByInput` to RecipeStore, `science_mod` color target. 9 deck items, 24 jewelry items, 8 bolt items, nutrient_bar item. Help files created. --- -- cgit v1.2.3