A complete web-based port of the GemStone IV Character Trainer spreadsheet (v4.6.3), providing all the functionality of the Excel version in a modern, browser-based application.
-
Character Creation & Management
- All 10 races (Human, Giantman, Half-Elf, Dark Elf, Sylvan, Elf, Dwarf, Halfling, Aelotoi, Burghal/Forest Gnome, Half Krolvin, Erithian)
- All 10 classes (Warrior, Rogue, Wizard, Cleric, Empath, Sorcerer, Ranger, Bard, Monk, Paladin)
- Stat allocation with validation (660 total, 20 minimum)
- Stat growth calculation across 200 levels
-
Training Planning
- 28 skills with class-specific training costs
- 200 level planning grid
- Training validation against maximum allowed
- Training points calculation
-
Combat Calculators
- Round Time Calculator
- Attack Strength (AS) Calculator
- Defense (DS) Calculator
- Runestaff Defense Calculator
- Ambushing Calculator
- Lockpicking Difficulty Calculator
-
Character Progression
- Experience capacity and absorption rates
- Casting Strength (CS) and Target Defense (TD)
- Combat Maneuvers (CMAN) tracking
- Shield Specializations tracking
- Spell circle management
-
Modern UI/UX
- Responsive design (mobile-friendly)
- Tabbed navigation
- Real-time calculations
- Form validation with visual feedback
-
Data Management
- Auto-save to browser local storage
- Import/Export character data as JSON
- No installation required
- Works offline after initial load
-
Upload Files to GitHub Repository:
# Create a new repository on GitHub # Clone it locally git clone https://github.com/yourusername/gs4-trainer.git cd gs4-trainer # Copy all files from the zip unzip gs4-trainer-web.zip # Commit and push git add . git commit -m "Initial commit - GS4 Trainer Web App" git push origin main
-
Enable GitHub Pages:
- Go to repository Settings
- Navigate to "Pages" section
- Source: Deploy from branch "main" / "root"
- Click Save
- Your site will be live at:
https://yourusername.github.io/gs4-trainer/
Simply open index.html in any modern web browser. No server required!
# Extract the zip file
unzip gs4-trainer-web.zip
cd gs4-trainer-web
# Open in browser
# On macOS:
open index.html
# On Linux:
xdg-open index.html
# On Windows:
start index.htmlgs4-trainer-web/
├── index.html # Main HTML structure
├── styles.css # Complete styling
├── data.js # Game data (races, classes, skills, etc.)
├── calculations.js # All calculation functions
├── app.js # Main application logic
├── README.md # This file
└── SPREADSHEET_ANALYSIS.md # Detailed analysis of original spreadsheet
-
Create Your Character:
- Enter your character name
- Select race and class
- Allocate stats (must total 660, minimum 20 each)
- Click "Calculate Stat Growth" to see progression
-
Plan Training:
- Switch to "Trainer" tab
- View levels 0-20 (or adjust range)
- Enter training ranks for each skill at each level
- Click "Check Training Plan" to validate
-
Combat Calculations:
- Use dedicated calculator tabs for:
- Round Time
- Attack Strength
- Defense
- Ambushing
- And more!
- Use dedicated calculator tabs for:
-
Track Abilities:
- CMAN tab: Track combat maneuvers
- Shield tab: Track shield specializations
- Spells tab: Manage known spells
-
Save Your Work:
- Auto-saves to browser storage
- Export to JSON for backup
- Import JSON to restore
- Auto-Save: Changes save automatically to browser storage
- Export: Download character as JSON file
- Import: Upload previously exported JSON file
- Reset: Clear all data and start fresh
- Pure JavaScript (ES6+) - No frameworks required
- CSS Grid & Flexbox - Responsive layout
- LocalStorage API - Data persistence
- File API - Import/Export functionality
- Chrome/Edge 90+
- Firefox 88+
- Safari 14+
- Any modern browser with ES6 support
All calculations mirror the original VBA code from the spreadsheet:
- Stat growth algorithms match Excel formulas
- Training costs match per-class values
- Combat calculations use official GS4 mechanics
- Experience formulas replicate spreadsheet logic
All major VBA macros have been ported:
- ✅
ReportSpellTraining()- Spell availability report - ✅
CheckTrainingPlan()- Training validation - ✅
CalculateStatGrowth()- Stat progression - ✅
ComputeSpellSheet()- Spell calculations - ✅
ResetSpreadsheet()- Character reset - ✅ All calculator functions
- UI Paradigm: Web tabs instead of Excel sheets
- Grid View: Shows level ranges instead of all 200 at once (performance)
- Spell Display: Simplified spell list (full spells would require spell database)
- Named Ranges: Not applicable in web version
- VBA Events: Replaced with JavaScript event listeners
Potential additions for web version:
- Character comparison tool
- Training path optimizer
- Mobile app version
- Cloud sync (optional)
- Build sharing via URL
- Equipment calculator
- Party planning tools
- Original Spreadsheet: Tsoran deArgonoth
- CMAN Tables: Bobmuhthol
- Monk Information: Kirtland
- Web Edition: Ported from Excel v4.6.3
- Game: GemStone IV by Simutronics
This is a fan-made tool for GemStone IV. GemStone IV is a trademark of Simutronics Corporation. This tool is not officially endorsed by or affiliated with Simutronics.
The original spreadsheet authors retain rights to their work. This web port is provided free for community use.
For issues or questions:
- Check SPREADSHEET_ANALYSIS.md for detailed documentation
- Review calculation functions in calculations.js
- Inspect browser console for errors
- v4.6.3-web (2024) - Initial web port
- Complete feature parity with Excel version
- All 16 sheets/tabs implemented
- All VBA functions ported
- GitHub Pages ready
- Mobile responsive
Enjoy planning your GemStone IV character! 🗡️⚔️🛡️