Initial scaffold: Nakama backend, Godot client, content schema
Sets up the Step 1 (Project Foundation) and Step 2 (Content Schemas) scaffold from the implementation sequence. Includes Docker Compose stack, Nakama TypeScript module stubs, PostgreSQL migration, Godot 4 project shell with scene stubs and NakamaClient singleton, YAML content schemas for all entity types, and example data for 3 characters, 2 jobs, and all 7 core resources. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
commit
fb00954954
37 changed files with 2730 additions and 0 deletions
80
content/data/characters/ember_ashvale.yaml
Normal file
80
content/data/characters/ember_ashvale.yaml
Normal file
|
|
@ -0,0 +1,80 @@
|
|||
# Ember Ashvale / Ezra Ashvale
|
||||
# SR | Glass Cannon | Lumberjack
|
||||
# The player's first realistic gacha pull in the standard banner.
|
||||
# SR rarity — reliable specialist who makes the early economy viable.
|
||||
# Designed to demonstrate that non-SSR characters stay meaningfully useful:
|
||||
# her lumberjack bonus feeds the wood bottleneck that the manual work system
|
||||
# is built around.
|
||||
|
||||
$schema: "xyvera/content-schema/character/v1"
|
||||
|
||||
id: ember_ashvale
|
||||
|
||||
name:
|
||||
female: "Ember Ashvale"
|
||||
male: "Ezra Ashvale"
|
||||
|
||||
rarity: SR
|
||||
combat_role: glass_cannon
|
||||
profession: lumberjack
|
||||
region_origin: heartwood_vale
|
||||
element: fire
|
||||
personality: energetic_optimist
|
||||
|
||||
base_stats:
|
||||
hp: 680
|
||||
attack: 195
|
||||
defense: 60
|
||||
speed: 115
|
||||
crit_rate: 0.10
|
||||
crit_damage: 1.8
|
||||
|
||||
skills:
|
||||
- id: blaze_cut
|
||||
name: "Blaze Cut"
|
||||
type: active
|
||||
description: >
|
||||
Deals 220% ATK as fire damage to one enemy. If the target is on fire (burning
|
||||
status), also deals 80% ATK bonus damage.
|
||||
max_level: 5
|
||||
upgrade_cost_per_level:
|
||||
knowledge: 25
|
||||
gold: 180
|
||||
|
||||
- id: sawdust_flurry
|
||||
name: "Sawdust Flurry"
|
||||
type: passive
|
||||
description: >
|
||||
Passive: each time Ember defeats an enemy, she gains +8% attack speed for
|
||||
2 turns (stacks up to 3 times).
|
||||
max_level: 3
|
||||
upgrade_cost_per_level:
|
||||
knowledge: 15
|
||||
gold: 120
|
||||
|
||||
- id: quick_harvest
|
||||
name: "Quick Harvest"
|
||||
type: passive
|
||||
description: >
|
||||
Village passive: when assigned to a Lumber Camp slot, adds a 20% chance per
|
||||
hour to produce a bonus burst of wood equal to 30 minutes of base output.
|
||||
This bonus chance does not require manual input.
|
||||
max_level: 5
|
||||
upgrade_cost_per_level:
|
||||
knowledge: 10
|
||||
gold: 80
|
||||
|
||||
suitability_bonuses:
|
||||
primary_profession_multiplier: 1.5
|
||||
secondary_professions:
|
||||
- farmer # comfortable outdoors
|
||||
|
||||
bond_hooks:
|
||||
- cheerful
|
||||
- mentor_target
|
||||
- competitive
|
||||
|
||||
lore_summary: >
|
||||
An apprentice woodcutter who followed a glowing deer into a forest and came out
|
||||
somewhere entirely different. She's still looking for the deer, but in the meantime
|
||||
the logs aren't going to cut themselves.
|
||||
77
content/data/characters/lyra_stoneheart.yaml
Normal file
77
content/data/characters/lyra_stoneheart.yaml
Normal file
|
|
@ -0,0 +1,77 @@
|
|||
# Lyra Stoneheart / Leon Stoneheart
|
||||
# SSR | Tank | Miner
|
||||
# Starter-region character. Designed to anchor the early assignment economy:
|
||||
# she is the primary miner for the PoC and functions as the front-row tank
|
||||
# in combat. Her kit is intentionally simple — the first character the player
|
||||
# will level up and use to validate both the assignment and combat systems.
|
||||
|
||||
$schema: "xyvera/content-schema/character/v1"
|
||||
|
||||
id: lyra_stoneheart
|
||||
|
||||
name:
|
||||
female: "Lyra Stoneheart"
|
||||
male: "Leon Stoneheart"
|
||||
|
||||
rarity: SSR
|
||||
combat_role: tank
|
||||
profession: miner
|
||||
region_origin: heartwood_vale
|
||||
element: earth
|
||||
personality: stoic_protector
|
||||
|
||||
base_stats:
|
||||
hp: 1200
|
||||
attack: 80
|
||||
defense: 160
|
||||
speed: 70
|
||||
crit_rate: 0.04
|
||||
crit_damage: 1.4
|
||||
|
||||
skills:
|
||||
- id: stone_resolve
|
||||
name: "Stone Resolve"
|
||||
type: passive
|
||||
description: >
|
||||
Passive: when HP drops below 40%, gain a shield equal to 15% of max HP.
|
||||
Triggers once per combat.
|
||||
max_level: 5
|
||||
upgrade_cost_per_level:
|
||||
knowledge: 20
|
||||
gold: 150
|
||||
|
||||
- id: seismic_slam
|
||||
name: "Seismic Slam"
|
||||
type: ultimate
|
||||
description: >
|
||||
Deals 180% ATK as earth damage to all front-row enemies and reduces their
|
||||
defense by 20% for 2 turns.
|
||||
max_level: 5
|
||||
upgrade_cost_per_level:
|
||||
knowledge: 40
|
||||
gold: 300
|
||||
|
||||
- id: miners_grit
|
||||
name: "Miner's Grit"
|
||||
type: passive
|
||||
description: >
|
||||
Village passive: when assigned to a Mining slot, stone output gains an
|
||||
additional +10% per skill level on top of the suitability multiplier.
|
||||
max_level: 5
|
||||
upgrade_cost_per_level:
|
||||
knowledge: 15
|
||||
gold: 100
|
||||
|
||||
suitability_bonuses:
|
||||
primary_profession_multiplier: 1.6 # slightly above default 1.5 due to Miner's Grit
|
||||
secondary_professions:
|
||||
- construction # knows how to work with stone
|
||||
|
||||
bond_hooks:
|
||||
- loyalty
|
||||
- protector
|
||||
- stoic
|
||||
|
||||
lore_summary: >
|
||||
A former quarry foreman who arrived in this world mid-shift, still gripping her pickaxe.
|
||||
She doesn't talk much about home, but she builds like she's trying to recreate it.
|
||||
79
content/data/characters/sable_quillworth.yaml
Normal file
79
content/data/characters/sable_quillworth.yaml
Normal file
|
|
@ -0,0 +1,79 @@
|
|||
# Sable Quillworth / Sebastian Quillworth
|
||||
# SR | Support | Researcher
|
||||
# The knowledge-economy anchor. Researchers unlock skill upgrades and building
|
||||
# improvements, so this character is critical to demonstrating that the
|
||||
# profession assignment system has strategic depth beyond raw resource output.
|
||||
# Support role in combat — placed in the backrow, buffs the team.
|
||||
|
||||
$schema: "xyvera/content-schema/character/v1"
|
||||
|
||||
id: sable_quillworth
|
||||
|
||||
name:
|
||||
female: "Sable Quillworth"
|
||||
male: "Sebastian Quillworth"
|
||||
|
||||
rarity: SR
|
||||
combat_role: support
|
||||
profession: researcher
|
||||
region_origin: heartwood_vale
|
||||
element: "null"
|
||||
personality: methodical_curious
|
||||
|
||||
base_stats:
|
||||
hp: 760
|
||||
attack: 95
|
||||
defense: 110
|
||||
speed: 90
|
||||
crit_rate: 0.05
|
||||
crit_damage: 1.5
|
||||
|
||||
skills:
|
||||
- id: analytical_boost
|
||||
name: "Analytical Boost"
|
||||
type: active
|
||||
description: >
|
||||
Increases all allies' ATK by 18% and DEF by 12% for 3 turns. At skill
|
||||
level 3+, also removes one debuff from a random ally.
|
||||
max_level: 5
|
||||
upgrade_cost_per_level:
|
||||
knowledge: 30
|
||||
gold: 200
|
||||
|
||||
- id: field_notes
|
||||
name: "Field Notes"
|
||||
type: passive
|
||||
description: >
|
||||
Passive: at the start of each combat round, Sable gains 1 knowledge
|
||||
(village resource) per enemy still alive (capped at 5 per round, 20 per combat).
|
||||
Knowledge gained this way is credited to the player's balance at combat end.
|
||||
max_level: 3
|
||||
upgrade_cost_per_level:
|
||||
knowledge: 20
|
||||
gold: 150
|
||||
|
||||
- id: deep_study
|
||||
name: "Deep Study"
|
||||
type: passive
|
||||
description: >
|
||||
Village passive: when assigned to a Research Post, knowledge output is
|
||||
increased by 30% and skill upgrade costs for all characters are reduced by 5%.
|
||||
The cost reduction stacks additively if multiple researchers are assigned.
|
||||
max_level: 5
|
||||
upgrade_cost_per_level:
|
||||
knowledge: 35
|
||||
gold: 250
|
||||
|
||||
suitability_bonuses:
|
||||
primary_profession_multiplier: 1.5
|
||||
secondary_professions: [] # purely academic; no secondary bonus
|
||||
|
||||
bond_hooks:
|
||||
- intellectual
|
||||
- reserved
|
||||
- hidden_warmth
|
||||
|
||||
lore_summary: >
|
||||
A librarian's assistant who was cataloguing a collection of supposedly mundane travel
|
||||
journals when the pages started describing places she'd never heard of — and then
|
||||
she was in one of them. She brought three notebooks and has already filled two.
|
||||
Loading…
Add table
Add a link
Reference in a new issue