feat: Add Loot Manager plugin skeleton (Phase 4)
All checks were successful
Test Asgard Runner / test (push) Successful in 2s
All checks were successful
Test Asgard Runner / test (push) Successful in 2s
Created skeleton implementation for first paid module ($9.99). Plugin Features: - Loot profile system with container multipliers and custom loot tables - OnLootSpawn/OnEntitySpawned hooks for container loot modification - Six container types: normal, elite, mine, barrel, food, military - Chat command: /loot.profile [name] for admin profile switching - Per-item config: shortname, min/max amount, spawn chance, skin ID Status: - Hooks functional, profile switching works via chat command - Dashboard UI integration pending future iteration - Auto-deploy system pending future iteration - Migration 009 already includes module seed data Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
68
CHANGELOG.md
68
CHANGELOG.md
@@ -4,6 +4,74 @@ All notable changes to this project will be documented in this file.
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
### Added (Phase 4 — Loot Manager Plugin Skeleton)
|
||||
|
||||
**Plugin Skeleton:**
|
||||
- `plugin/modules/LootManager.cs` — First paid module (skeleton implementation)
|
||||
- Configuration: Loot profiles with container multipliers + custom loot tables
|
||||
- Hooks: `OnLootSpawn()` and `OnEntitySpawned()` for container loot modification
|
||||
- Profile switching: Multiplier-based (2x, 5x, 10x) and full custom loot table support
|
||||
- Container types: Normal crate, elite, mine, barrel, food, military, default fallback
|
||||
- Chat command: `/loot.profile [name]` — In-game profile switching for admins
|
||||
- Item support: Shortname, min/max amount, spawn chance, skin ID
|
||||
- `plugin/modules/README.md` — Module documentation
|
||||
- Price: $9.99
|
||||
- Features: Visual loot table editor (dashboard integration TBD), profile switching, skin support
|
||||
- Installation: Auto-deploy via module store (implementation TBD)
|
||||
|
||||
**Database:**
|
||||
- Migration 009 already includes Loot Manager seed data in `modules` table
|
||||
|
||||
**Status:** Skeleton complete. Hooks functional. Profile switching works via chat command. Dashboard UI integration and deployment automation pending future iteration.
|
||||
|
||||
### Added (Phase 4 — Module Store Frontend)
|
||||
|
||||
**Frontend:**
|
||||
- Complete `ModuleStoreView.vue` implementation — Customer-facing module marketplace with:
|
||||
- **Catalog Tab:**
|
||||
- Module grid with preview images, prices, category badges, purchase status
|
||||
- Search functionality (name/description)
|
||||
- Category filter (Loot, Events, Economy, Kits, Admin, PVP, PVE, Building)
|
||||
- Hover animations and professional card layout
|
||||
- **My Modules Tab:**
|
||||
- Purchased modules with installation status tracking
|
||||
- "Install" button for purchased-but-not-installed modules
|
||||
- Empty state prompting catalog browsing
|
||||
- **Module Detail Modal:**
|
||||
- Full-screen module preview with screenshots gallery
|
||||
- Expanded description and complete features list
|
||||
- Version display and pricing details
|
||||
- Direct purchase/install CTA from modal
|
||||
- **Purchase Confirmation Modal:**
|
||||
- Shows module name, license binding, total price
|
||||
- Error handling with inline error display
|
||||
- Non-refundable disclaimer
|
||||
- Processing state during purchase flow
|
||||
- **Payment Flow:**
|
||||
- Instant purchase confirmation (MVP)
|
||||
- External payment URL redirect support (Stripe/PayPal)
|
||||
- State refresh after successful purchase
|
||||
- TypeScript types (`types/index.ts`):
|
||||
- `Module` interface with full marketplace metadata (id, slug, name, description, price, category, images, features, version, purchase/install status)
|
||||
- `PurchaseRequest` interface for API integration
|
||||
- **API Integration:**
|
||||
- `GET /api/modules/catalog` — Browse all available modules
|
||||
- `GET /api/modules/my-modules` — Fetch purchased modules for current license
|
||||
- `POST /api/modules/purchase` — Initiate module purchase (returns payment URL or instant confirmation)
|
||||
- `POST /api/modules/install` — Trigger deployment to game server
|
||||
|
||||
**Design Details:**
|
||||
- Professional marketplace UI using existing Tailwind patterns
|
||||
- Color-coded category badges (8 categories supported)
|
||||
- Preview image with hover scale effect
|
||||
- "Purchased" badge overlay on owned modules
|
||||
- Three-state purchase flow: Not Purchased → Purchased → Installed
|
||||
- Mobile-responsive grid (1/2/3 columns)
|
||||
- Empty states for zero results and zero purchases
|
||||
- Price display prominently in catalog cards and modals
|
||||
|
||||
**Purpose:** Enables server admins to browse, preview, purchase, and install premium gameplay modules (Loot systems, Events, Economy plugins, Kits) directly from the dashboard. Customers pay real money here — UI polish critical.
|
||||
|
||||
### Added (Phase 2 — Alerting System)
|
||||
|
||||
**Backend:**
|
||||
|
||||
Reference in New Issue
Block a user