@zerospacegg/iolin
Version:
Pure TypeScript implementation of ZeroSpace game data processing (PKL-free)
103 lines (86 loc) • 4.55 kB
JavaScript
;
/**
* XP, Towers, and Talents
*/
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.XPTowersAndTalents = void 0;
const mechanic_js_1 = require("../../engine/mechanic.cjs");
const bulky_spiderling_js_1 = __importDefault(require("../nonplayer/jungle-ai/unit/bulky-spiderling.cjs"));
class XPTowersAndTalents extends mechanic_js_1.GameMechanic {
constructor() {
super();
this.name = "XP, Towers, and Talents";
this.uuid = "a7f3c9e2-8d1b-4c5e-9f2a-6b8d3e7f1c9a";
// Get dynamic data from bulky spiderlings
const bulkySpiderling = new bulky_spiderling_js_1.default();
// Simple description for API/JSON usage
this.description = "XP Towers are neutral map structures that generate experience points for faction progression and talent unlocks, guarded by Bulky Spiderlings and requiring territorial control to capture.";
// Rich wiki content with {{box}} components
this.wiki = `
## Overview
XP Towers are neutral structures on every PvP map that generate experience points for whoever controls them, driving faction progression and talent unlocks.
{{box-grid}}
{{box header="Tower Guards" icon="mdi-spider"}}
**Initial Defense**
- **Guardian Count**: ${bulkySpiderling.buildCount} [${bulkySpiderling.name}](${bulkySpiderling.zsggPath})
- **HP Per Guard**: ${bulkySpiderling.hp} each
- **Damage Per Attack**: ${bulkySpiderling.attacks.attack.damage} per attack
- **Clear Requirement**: Eliminate all guards to gain initial control
{{/box}}
{{box header="Capture Mechanics" icon="mdi-flag-variant"}}
**Control System**
- **Presence Requirement**: Be the only player with units in tower radius
- **Timing**: Maintain exclusive presence for a set duration
- **Visual Indicator**: Ground radius shows capture zone clearly
- **Recapture**: Enemies can take control using the same method
{{/box}}
{{/box-grid}}
## Experience and Progression
XP Towers provide the foundation for faction advancement:
{{box-grid}}
{{box header="XP Generation" icon="mdi-star-plus"}}
**Experience Mechanics**
- **Active Control**: Towers generate XP continuously when controlled
- **Persistent Control**: Keep gaining XP even after leaving the area
- **Faction Leveling**: Accumulated XP slowly increases faction level
- **Strategic Value**: Higher levels unlock powerful talents
{{/box}}
{{box header="Defense Strategy" icon="mdi-shield-account"}}
**Maintaining Control**
- **Guard Units**: Leave units to defend captured towers
- **Sentinel Alerts**: Place units for early warning systems
- **Map Control**: Tower control affects territorial dominance
- **Resource Investment**: Balance offense with tower defense
{{/box}}
{{/box-grid}}
## Talent System
The 7-level progression system shapes faction development:
{{box-grid}}
{{box header="Talent Progression" icon="mdi-account-star"}}
**Level-by-Level Unlocks**
- **Level 1**: 2 main faction talents (choose 1)
- **Level 2**: 1 main + 1 mercenary talent (choose 1 total)
- **Level 3**: 2 main faction talents (choose 1)
- **Level 4**: 1 main + 1 mercenary talent (choose 1 total)
- **Level 5**: 2 main faction talents (choose 1)
- **Level 6**: 1 main + 1 mercenary talent (choose 1 total)
- **Level 7**: Resource Control vs Power Control (choose 1)
{{/box}}
{{box header="Strategic Impact" icon="mdi-chess-king"}}
**Build Diversity**
- **One Talent Per Level**: Each level allows only one talent selection
- **Permanent Decisions**: Choices define your faction's development path
- **Build Diversity**: Different combinations create unique strategies
- **Late-Game Power**: Talent advantages determine faction strength
{{/box}}
{{/box-grid}}
`;
}
}
exports.XPTowersAndTalents = XPTowersAndTalents;
XPTowersAndTalents.src = "src/zerospace/mechanic/xp-towers-talents.ts";
exports.default = XPTowersAndTalents;
//# sourceMappingURL=xp-towers-talents.js.map