32 Commits
Author SHA1 Message Date
tevans acf2c8ef07 feat: implement streamlined single-page NPC actor sheet v0.6.12 v0.6.12 2026-05-28 00:05:31 +01:00
tevans b931d0634b fix: migrate all compendium pack links and asset paths from mosh to sla-mothership 2026-05-27 23:54:49 +01:00
tevans 99d6702fe1 fix: make critical success option buttons wrap and expand elastically without overlapping 2026-05-27 23:51:38 +01:00
tevans 96896ba92f Fix critical button roll: pass explicit table formula to bypass modifier slider prompt and prevent roll out-of-bounds error v0.6.9 2026-05-27 19:17:39 +01:00
tevans 6557ef82ad Enhance combat: add Unarmed Combat item support, interactive Critical Hit chat buttons, clickable critical success options, and severity text contrast visual overhaul v0.6.8 2026-05-27 18:45:18 +01:00
tevans 17c64ec0de style: premium scene control and sidebar UI overhaul v0.6.5 v0.6.5 2026-05-25 14:27:14 +01:00
tevans 64bef08fe0 chore: bump version to 0.6.4 v0.6.4 2026-05-24 21:02:11 +01:00
tevans d81034f6f4 feat: add interactive combat roll modifier slider snappable UI and visual ticks 2026-05-24 21:01:06 +01:00
tevans f66ac84c0b Skill roll dialog: scrollable list replaces fixed pixel height
- Remove manual dialogHeight pixel counter (was error-prone)
- Wrap skill list in scrollable div (max-height 340px, overflow-y auto)
- Long skill lists no longer push action buttons off-screen
2026-05-19 22:20:00 +01:00
tevans 24f513baf8 NPC Desk: archetype accents, live preview card, badge icons, custom SVG emblems
- sla-npc-generator.js: archetype-specific accent styling for Shiver, DarkNight, Tek, Ebb, Media, Internal Affairs, gangs, civilians, predators, corp assets; live preview card (identity, strapline, disposition/threat posture, stat readout, loadout kit) updating on archetype/quality/species/disposition/threat/loadout/affiliation change; badge icon helper switched from Font Awesome classes to custom SVG path mapping
- sla-npc-generator.html: preview card markup with badge header; SVG badge renderer replacing icon-class approach
- mosh.css: archetype accent strip styles; preview card layout; image-based badge styling; badge set rules under npc-badges
- icons/ui/npc-badges/: 10 new custom SVGs — shiver, darknight, tek, ebb, internal, media, gang, predator, civilian, corp
2026-04-15 18:27:24 +01:00
tevans 9269348bf4 Fix NPC dossier layout: move block below header, proper responsive grid
- templates/actor/creature-sheet.html: moved dossier section out of the header into the sheet body so it no longer squashes the stat/HP area; switched inner grid to new sla-creature-dossier-grid class; Snapshot field now spans full width with sla-creature-dossier-wide
- css/mosh.css: added sla-creature-dossier-grid (3-col responsive grid collapsing to 2-col at 900px, 1-col at 640px); labels get display:block + bottom margin; inputs get width:100% and box-sizing; added sla-creature-dossier-wide span-3 helper; fixed dossier margin
2026-04-15 17:20:34 +01:00
tevans 2758be6096 Add NPC Desk: generator window, creature dossier, world tools integration
New files:
- module/windows/sla-npc-generator.js — NPC generator window; archetype, species, quality, affiliation, dept/cell, role, sector, disposition, threat, loadout preset; auto-creates creature actors into SLA Mothership/NPCs folder; auto-assigns portrait if portrait pack active; seeds basic skills, weapons, armor and gear
- templates/dialogs/sla-npc-generator.html — form template for the NPC Desk window

Updated files:
- template.json — extended creature actor data with NPC dossier fields (role, affiliation, department, sector, threat, summary)
- templates/actor/creature-sheet.html — editable NPC dossier block on creature sheet
- module/actor/creature-sheet.js — wired dossier fields into sheet data
- module/mosh.js — exposed generator via system API
- module/windows/sla-world-tools.js — sidebar button to open NPC Desk
- templates/dialogs/sla-world-tools.html — Open NPC Desk entry in world tools dialog
- css/mosh.css — styling for NPC Desk and dossier block
2026-04-15 17:12:46 +01:00
tevans b1cfb636df Add active conditions summary below stats + GM 30-min chat report
- templates/actor/actor-sheet.html: red conditions bar shown below Strength/Speed/Intellect/Combat stats whenever any condition items are active; displays condition name and severity
- module/mosh.js: GM-only 30-minute interval timer that whispers a formatted conditions report to all GMs listing every actor with active conditions and their severities
- css/mosh.css: styles for .sla-active-conditions-summary, .sla-conditions-label, .sla-active-condition (red text, dark red border/background)
2026-04-15 16:24:41 +01:00
tevans 0d77741a41 Header redesign: REST top-right above Race, bottom row all equal-width flex
- REST button moves to grid row 1, cols 7-8, right-aligned above Race field
- Wordmark narrows to cols 1-6 to give REST clear space
- LAD / Credits / SCL / Height / Weight wrapped in single flex row (equal width)
- Removed compact-field font overrides — all bottom fields now same size
- Removed inline styles from REST button
2026-04-15 14:11:59 +01:00
tevans 6508a7e883 Header layout: REST next to LAD, wider Credits, consistent compact field fonts
- REST button moves to col 2 (immediately right of LAD)
- LAD drops span-2, takes single col 1
- Credits field now spans 3 columns (much wider, value fully visible)
- SCL/HEIGHT/WEIGHT shift right to cols 6-7-8
- Compact field fonts match other header fields (0.95rem)
- SCL/HEIGHT/WEIGHT labels and inputs centered
2026-04-15 14:04:06 +01:00
tevans 8cbea7c237 Add full Vevaphon MORPH tab: instability track, form selector, panic reference, morph notes
- actor.js: Add isSlaVevaphon(), setSlaVevaphonMorphForm(), adjustSlaVevaphonInstability() methods
- actor.js: Fix getSlaRestrictedEbbItemIds() to skip morph-form abilities (abilityType !== 'ebb')
- actor.js: Fix enforceSlaEbbEligibility() with ID validation + try/catch for concurrent calls
- actor-sheet.js: Split morphForms into separate array, pre-compute slaIsActiveMorphForm flag
- actor-sheet.js: Add vevaphonInstabilityDesc and vevaphonMorphPanic to template data
- actor-sheet.html: Add MORPH tab with instability track, active form buttons, panic reference, notes
- actor-sheet.html: Remove ability-use-trigger class from morph form rows (Vevaphons are not Ebb users)
- mosh.css: Add morph tab CSS (track bar, instability colours, form buttons, active state, tags)
- mosh.css: Enlarge REST button pill (max-width 120px, padding/font overrides)
2026-04-15 13:50:12 +01:00
tevans d89671e707 Fix: remove Ebb trigger from morph form rows; widen REST button container to 120px 2026-04-15 13:43:35 +01:00
tevans d0d907bd98 Fix morph forms: use abilityType=morph (schema-defined) to survive Ebb enforcement; bigger REST button 2026-04-15 11:52:42 +01:00
tevans f3264d60e2 Add Vevaphon morph form display to Special Rules tab; fix morphForm flag on world items; enlarge REST button 2026-04-15 11:39:20 +01:00
tevans 63da87f372 Fix: exempt morphForm abilities from Ebb eligibility sweep — Vevaphons morph, they are not Ebb users 2026-04-15 11:19:04 +01:00
tevans 4a5561a82f Fix v14 Vevaphon: debounce createItem hook + try/catch guard on Ebb enforcement deletes 2026-04-15 11:14:45 +01:00
tevans 9fb7867069 Fix v14 compat: filter embedded item IDs before deleteEmbeddedDocuments in enforceSlaEbbEligibility 2026-04-15 11:10:00 +01:00
tevans b64125e637 chore: bump to v0.6.3 — Foundry v14 compatibility (min:13, max:14, verified:14) v0.6.3 2026-04-15 09:04:26 +01:00
tevans c728f7bb6d chore: bump version to 0.6.2 — player permissions, CSS overhaul, template updates 2026-04-14 23:29:08 +01:00
tevans 19b472de00 feat: player permissions enforcement, CSS overhaul, actor/chat template updates
- Enforce sidebar directory restrictions for non-GM players across actors,
  scenes, journal, tables, compendium, and combat
- Major CSS refactor in mosh.css (layout, sizing, colour passes)
- Actor sheet JS: extended item handling and sheet render logic
- Actor data model updates in actor.js
- Item sheet additions in item-sheet.js
- Updated chat templates: itemRoll, modifyActor, modifyItem, reload,
  rollCheck, rollTable for improved formatting and clarity
- Actor/creature sheet HTML restructured
- Compendium pack DB files rotated (LevelDB log/manifest housekeeping)

Co-authored-by: slaguru666 <timevans666@gmail.com>
v0.6.2
2026-04-14 22:38:18 +01:00
tevans bf4e98a780 chore: bump version to 0.6.1 — UI overhaul, icons, pause animation fix v0.6.1 2026-04-10 23:36:06 +01:00
tevansandClaude Sonnet 4.6 3d21b8e466 feat: SLA Industries UI overhaul — icons, pause animation, actor sheet enhancements
- Custom SLA Industries pause-screen animation (orbital rings, SLA hex logo, radar sweep, STAND BY blink)
- Pause animation now correctly disappears on unpause (fixed display:flex !important conflict)
- 18 custom SLA Industries SVG icons for all sidebar tabs and scene controls (icons/ui/)
- JavaScript DOM injection for Foundry v13 icon replacement (button-based structure)
- SCL fractional controls (+1/-1/+½/-½ step buttons)
- Session ability tracking checkbox + New Session button
- Contacts tab with card-based CRUD
- Drug stacking warning dialog
- Rest button (Short/Long rest with condition clear + flux restore)
- Activity log in Notes tab (rolls, rests, drugs, panic — newest first, 10KB cap)
- Portrait static neon blue border
- Header restructured to 8-column grid (LAD, Credits, SCL, Height, Weight, Rest)
- S.C.L label rename

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-10 23:12:06 +01:00
slaguru666 85fedf1e16 chore: bump version to 0.6.0
Vevaphon species, Disguise skill, bug fixes, tooltips, instability bar.
v0.6.0
2026-04-09 15:09:28 +01:00
slaguru666 e7a18a735a Add instability numeric readout and column header tooltips
- Instability bar now taller (22px) with X/12 label centred inside it
- CSS: bar label positioned absolutely inside the wrap
- Tooltips on all column headers: AP, DR, Speed, Oxygen, Carry (armour);
  Qty, Rating, Value, Weight, State, Duration (drugs);
  Quantity, Weight, Carry, Value (items);
  Category, Rank, Bonus (skills);
  Damage, Ammo, Shots, Mode, Carry, Range (weapons)
2026-04-09 13:45:23 +01:00
slaguru666 eacdf8e94b Fix: exclude Vevaphon morph abilities from Ebb enforcement
getSlaRestrictedEbbItemIds() was treating all ability-type items as Ebb
abilities and deleting them from non-Ebb characters. Vevaphon morph form
abilities (Brute Form, Stalker Form, Raptor Form) are not Ebb items —
exclude them by both flag check and name so they survive the enforcement hook.
2026-04-09 12:38:31 +01:00
slaguru666 971f6c4c49 Add Stormer Vevaphon — polymorphic morph system with instability tracker
- 3 morph forms (Brute/Stalker/Raptor), each costing 1 Instability on activation
- Instability tracker (0–12) with minor effects at 6+, Morph Panic at 10+
- Morph tab on character sheet: shift buttons, bar, panic reference
- actor.js: isSlaVevaphon(), setSlaVevaphonMorphForm(), adjustSlaVevaphonInstability()
- CSS: instability bar, morph buttons
- Character generator: morph constants, derive, generate() wiring
- template.json: morphForm, vevaphonInstability, morphNotes
2026-04-09 12:00:33 +01:00
tevans e3a8878bfb chore: initial deploy — SLA Industries Foundry VTT
Co-authored-by: slaguru666 <timevans666@gmail.com>
v0.5.1
2026-03-31 16:59:07 +01:00