Implement guild system with multi-guild, spells, and combat casting
- Guild data model: world/guilds/*.toml defines guilds with stat growth, resource type (mana/endurance), spell lists, level caps, and race restrictions. Spells are separate files in world/spells/*.toml. - Player resources: mana and endurance pools added to PlayerStats with DB migration. Passive regen for mana/endurance when out of combat. - Guild commands: guild list/info/join/leave with multi-guild support. spells/skills command shows available spells per guild level. - Spell casting: cast command works in and out of combat. Offensive spells queue as CombatAction::Cast and resolve on tick. Heal/utility spells resolve immediately out of combat. Mana/endurance costs, cooldowns, and damage types all enforced. - Chargen integration: classes reference a guild via TOML field. On character creation, player auto-joins the seeded guild at level 1. Class selection shows "→ joins <Guild>" hint. - Look command: now accepts optional target argument to inspect NPCs (stats/attitude), objects, exits, players, or inventory items. - 4 guilds (warriors/rogues/mages/clerics) and 16 spells created for the existing class archetypes. Made-with: Cursor
This commit is contained in:
9
world/spells/divine_shield.toml
Normal file
9
world/spells/divine_shield.toml
Normal file
@@ -0,0 +1,9 @@
|
||||
name = "Divine Shield"
|
||||
description = "Invoke the protection of the gods, wrapping yourself in a shimmering barrier of holy light."
|
||||
spell_type = "utility"
|
||||
cost_mana = 20
|
||||
cooldown_ticks = 10
|
||||
min_guild_level = 5
|
||||
effect = "defense_up"
|
||||
effect_duration = 5
|
||||
effect_magnitude = 10
|
||||
Reference in New Issue
Block a user