Blood → Ink
This commit is contained in:
parent
0a499d947e
commit
16b3fd0950
17 changed files with 70 additions and 59 deletions
11
.github/workflows/deploy-itch.yml
vendored
11
.github/workflows/deploy-itch.yml
vendored
|
|
@ -15,6 +15,17 @@ jobs:
|
|||
with:
|
||||
dotnet-version: '10.0.x'
|
||||
|
||||
- name: Download Loreline dependency
|
||||
run: |
|
||||
mkdir -p lib
|
||||
curl -sL https://github.com/Loreline/loreline/releases/download/v0.7.1/loreline-csharp.zip -o lib/loreline-csharp.zip
|
||||
unzip -o lib/loreline-csharp.zip -d lib/_extract
|
||||
cp lib/_extract/*/Loreline.dll lib/ || cp lib/_extract/Loreline.dll lib/
|
||||
cp lib/_extract/*/Loreline.xml lib/ 2>/dev/null || cp lib/_extract/Loreline.xml lib/ 2>/dev/null || true
|
||||
cp lib/_extract/*/Loreline.deps.json lib/ 2>/dev/null || cp lib/_extract/Loreline.deps.json lib/ 2>/dev/null || true
|
||||
rm -rf lib/_extract lib/loreline-csharp.zip
|
||||
ls -la lib/
|
||||
|
||||
- name: Publish Blazor WASM
|
||||
run: dotnet publish src/OpenTheBox.Web -c Release -o publish
|
||||
|
||||
|
|
|
|||
|
|
@ -65,11 +65,11 @@ Hints for disabled choices use `|||` separator: `Option text|||Hint text #label
|
|||
full documentation: https://loreline.app/fr/docs/
|
||||
|
||||
## Resources (Characteristics)
|
||||
Only 2 resource types exist: **Gold** and **Blood**. Both have adventure secret branch gates:
|
||||
Only 2 resource types exist: **Gold** and **Ink**. Both have adventure secret branch gates:
|
||||
- Gold ≥ 30 → Contemporary VIP branch
|
||||
- Blood ≥ 20 → DarkFantasy Blood Communion branch
|
||||
- Ink ≥ 20 → DarkFantasy Ink Communion branch
|
||||
|
||||
Consumables: `gold_pouch` (+50 Gold), `blood_vial` (+5 Blood), `resource_max_gold`, `resource_max_blood`.
|
||||
Consumables: `gold_pouch` (+50 Gold), `ink_vial` (+5 Ink), `resource_max_gold`, `resource_max_ink`.
|
||||
Other resources (Health, Mana, Food, etc.) were removed as they had no gameplay impact.
|
||||
|
||||
## Ephemeral Items
|
||||
|
|
|
|||
10
GDD.md
10
GDD.md
|
|
@ -329,7 +329,7 @@ Chaque sous-boite d'aventure contient :
|
|||
| Stamina (endurance) | 15 | Restaure de l'endurance |
|
||||
| Gold (or) | 15 | Ajoute de l'or |
|
||||
| Energy (energie) | 10 | Restaure de l'energie |
|
||||
| Blood (sang) | 3 | Restaure du sang (ressource rare) |
|
||||
| Ink (encre) | 3 | Restaure de l'encre (ressource rare) |
|
||||
| Oxygen (oxygene) | 2 | Restaure de l'oxygene (ressource rare) |
|
||||
|
||||
> **Note** : Seules les ressources deja debloquees par le joueur peuvent apparaitre dans le tirage. Les poids sont recalcules dynamiquement.
|
||||
|
|
@ -692,7 +692,7 @@ Le joueur gere 8 ressources qui influencent sa capacite a explorer, combattre, c
|
|||
| Mana | MP | Points de magie | Sorts, enchantements |
|
||||
| Food | FD | Nourriture | Exploration, stamina |
|
||||
| Stamina | ST | Endurance | Actions physiques, craft |
|
||||
| Blood | BL | Sang | Rituels, magie noire |
|
||||
| Ink | IN | Encre | Rituels, magie noire |
|
||||
| Gold | GD | Or | Commerce, ameliorations |
|
||||
| Oxygen | O2 | Oxygene | Exploration spatiale/sous-marine|
|
||||
| Energy | EN | Energie | Machines, stations de craft |
|
||||
|
|
@ -702,7 +702,7 @@ Le joueur gere 8 ressources qui influencent sa capacite a explorer, combattre, c
|
|||
- Chaque ressource a un **maximum** (cap) qui peut etre ameliore via la Boite d'amelioration.
|
||||
- Les ressources se consomment lors des aventures, du craft et des interactions.
|
||||
- Les ressources se restaurent via la Boite de fourniture, les consommables et certaines interactions.
|
||||
- Certaines ressources sont conditionnelles : **Blood** n'apparait qu'avec le theme DarkFantasy, **Oxygen** qu'avec le theme Space ou des aventures sous-marines.
|
||||
- Certaines ressources sont conditionnelles : **Ink** n'apparait qu'avec le theme DarkFantasy, **Oxygen** qu'avec le theme Space ou des aventures sous-marines.
|
||||
|
||||
### Deblocage des ressources
|
||||
|
||||
|
|
@ -714,7 +714,7 @@ Les ressources ne sont pas toutes disponibles des le debut :
|
|||
| Mana | Premiere rencontre avec un personnage magique |
|
||||
| Food | Premiere aventure exploree |
|
||||
| Stamina | Premiere action physique (combat, craft) |
|
||||
| Blood | Deblocage du theme DarkFantasy |
|
||||
| Ink | Deblocage du theme DarkFantasy |
|
||||
| Gold | Premier lieu de commerce decouvert |
|
||||
| Oxygen | Deblocage du theme Space OU aventure sous-marine |
|
||||
| Energy | Premiere station de craft construite |
|
||||
|
|
@ -800,7 +800,7 @@ Les aventures interactives sont des sequences narratives jouables en CLI, chacun
|
|||
|
||||
- **Ambiance** : fantasy sombre, horreur gothique
|
||||
- **Lieux typiques** : cryptes, forets maudites, tours sombres
|
||||
- **Ressource cle** : Blood, Mana
|
||||
- **Ressource cle** : Ink, Mana
|
||||
- **Personnages associes** : Malkith (version sombre)
|
||||
- **Mood possible** : Dark, Spooky, Tragedy
|
||||
- **Environnement** : Nature, Town
|
||||
|
|
|
|||
|
|
@ -271,11 +271,11 @@ Ouvrir une boîte et voir ce qui se passe
|
|||
#opt-convince // "Convince Mordecai to open them together"
|
||||
Convaincre Mordecai de les ouvrir ensemble
|
||||
|
||||
#opt-blood // "Press your hand to the boxes and offer your blood as a bridge|||You feel a strange warmth in your veins, as though something ancient recognizes you..."
|
||||
Poser votre main sur les boîtes et offrir votre sang comme pont|||Vous ressentez une étrange chaleur dans vos veines, comme si quelque chose d'ancien vous reconnaissait...
|
||||
#opt-blood // "Press your hand to the boxes and offer your ink as a bridge|||You feel a strange warmth in your veins, as though something ancient recognizes you..."
|
||||
Poser votre main sur les boîtes et offrir votre encre comme pont|||Vous ressentez une étrange chaleur dans vos veines, comme si quelque chose d'ancien vous reconnaissait...
|
||||
|
||||
#blood-press // "You press your palm against the nearest box. Your blood sings. The box answers."
|
||||
Vous pressez votre paume contre la boîte la plus proche. Votre sang chante. La boîte répond.
|
||||
#blood-press // "You press your palm against the nearest box. The ink sings. The box answers."
|
||||
Vous pressez votre paume contre la boîte la plus proche. L'encre chante. La boîte répond.
|
||||
|
||||
#blood-voices // "Every box in the vault flickers -- not with light, but with voices. Twelve thousand souls, speaking at once."
|
||||
Chaque boîte du caveau scintille -- pas de lumière, mais de voix. Douze mille âmes, parlant en même temps.
|
||||
|
|
@ -286,8 +286,8 @@ Elles ne crient pas. Elles... se présentent.
|
|||
#mordecai-impossible // "Impossible. I've tried to speak with them for decades. They never answered ME."
|
||||
Impossible. J'ai essayé de leur parler pendant des décennies. Elles ne m'ont jamais répondu.
|
||||
|
||||
#pierrick-jailer // "Maybe they didn't trust you. You're their jailer. I'm just a baker with strange blood."
|
||||
Peut-être qu'elles ne vous faisaient pas confiance. Vous êtes leur geôlier. Moi je suis juste un boulanger au sang étrange.
|
||||
#pierrick-jailer // "Maybe they didn't trust you. You're their jailer. I'm just a baker with strange ink."
|
||||
Peut-être qu'elles ne vous faisaient pas confiance. Vous êtes leur geôlier. Moi je suis juste un boulanger à l'encre étrange.
|
||||
|
||||
#blood-consensus // "The souls whisper a consensus: half wish to stay, half wish to leave. They've voted. Through cardboard. Democracy at its most absurd."
|
||||
Les âmes chuchotent un consensus : la moitié souhaite rester, l'autre moitié souhaite partir. Elles ont voté. À travers du carton. La démocratie dans ce qu'elle a de plus absurde.
|
||||
|
|
|
|||
|
|
@ -189,16 +189,16 @@ beat TheVault
|
|||
-> OpenOneBox
|
||||
Convince Mordecai to open them together #opt-convince if corruption < 30
|
||||
-> ConvinceMordecai
|
||||
Press your hand to the boxes and offer your blood as a bridge|||You feel a strange warmth in your veins, as though something ancient recognizes you... #opt-blood if hasResource("Blood", 20)
|
||||
-> BloodCommunion
|
||||
Press your hand to the boxes and offer your ink as a bridge|||You feel a strange warmth in your veins, as though something ancient recognizes you... #opt-blood if hasResource("Ink", 20)
|
||||
-> InkCommunion
|
||||
|
||||
beat BloodCommunion
|
||||
markSecretBranch("darkfantasy_blood_communion")
|
||||
You press your palm against the nearest box. Your blood sings. The box answers. #blood-press
|
||||
beat InkCommunion
|
||||
markSecretBranch("darkfantasy_ink_communion")
|
||||
You press your palm against the nearest box. The ink sings. The box answers. #blood-press
|
||||
Every box in the vault flickers -- not with light, but with voices. Twelve thousand souls, speaking at once. #blood-voices
|
||||
pierrick: They're not screaming. They're... introducing themselves. #pierrick-introduce
|
||||
mordecai: Impossible. I've tried to speak with them for decades. They never answered ME. #mordecai-impossible
|
||||
pierrick: Maybe they didn't trust you. You're their jailer. I'm just a baker with strange blood. #pierrick-jailer
|
||||
pierrick: Maybe they didn't trust you. You're their jailer. I'm just a baker with strange ink. #pierrick-jailer
|
||||
The souls whisper a consensus: half wish to stay, half wish to leave. They've voted. Through cardboard. Democracy at its most absurd. #blood-consensus
|
||||
mordecai: They VOTED? Without a suggestion box? Wait -- they ARE the suggestion boxes. #mordecai-voted
|
||||
boxesFreed += 50
|
||||
|
|
|
|||
|
|
@ -106,8 +106,8 @@ Le Charmeur de Dragons. Tu as choisi le feu plutôt que la peur, et le dragon t'
|
|||
#secret-darkfantasy // "A drop of crimson hangs suspended in the air, neither falling nor fading."
|
||||
Une goutte de pourpre reste suspendue dans l'air, ne tombant ni ne s'effaçant.
|
||||
|
||||
#secret-darkfantasy-words // "The Blood Communion. You drank from the dark box and survived. Changed, but whole."
|
||||
La Communion de Sang. Tu as bu à la boîte sombre et survécu. Changé, mais entier.
|
||||
#secret-darkfantasy-words // "The Ink Communion. You drank from the dark box and survived. Changed, but whole."
|
||||
La Communion d'Encre. Tu as bu à la boîte sombre et survécu. Changé, mais entier.
|
||||
|
||||
#secret-pirate // "A coin spins endlessly on an invisible surface, never landing."
|
||||
Une pièce tourne sans fin sur une surface invisible, sans jamais retomber.
|
||||
|
|
|
|||
|
|
@ -82,9 +82,9 @@ beat Alcove
|
|||
A scale glimmers on the ground, iridescent and warm to the touch. #secret-medieval
|
||||
destiny: The Dragon Charmer. You chose fire over fear, and the dragon chose you back. #secret-medieval-words
|
||||
|
||||
if hasSecretBranch("darkfantasy_blood_communion")
|
||||
if hasSecretBranch("darkfantasy_ink_communion")
|
||||
A drop of crimson hangs suspended in the air, neither falling nor fading. #secret-darkfantasy
|
||||
destiny: The Blood Communion. You drank from the dark box and survived. Changed, but whole. #secret-darkfantasy-words
|
||||
destiny: The Ink Communion. You drank from the dark box and survived. Changed, but whole. #secret-darkfantasy-words
|
||||
|
||||
if hasSecretBranch("pirate_one_of_us")
|
||||
A coin spins endlessly on an invisible surface, never landing. #secret-pirate
|
||||
|
|
|
|||
|
|
@ -122,7 +122,7 @@
|
|||
"entries": [
|
||||
{"itemDefinitionId": "material_titanium_raw", "weight": 2},
|
||||
{"itemDefinitionId": "material_steel_ingot", "weight": 3},
|
||||
{"itemDefinitionId": "blood_vial", "weight": 2},
|
||||
{"itemDefinitionId": "ink_vial", "weight": 2},
|
||||
{"itemDefinitionId": "cosmetic_hair_cyberpunk", "weight": 2},
|
||||
{"itemDefinitionId": "cosmetic_eyes_pilotglasses", "weight": 2},
|
||||
{"itemDefinitionId": "cosmetic_body_suit", "weight": 2},
|
||||
|
|
@ -256,7 +256,7 @@
|
|||
"rollCount": 1,
|
||||
"entries": [
|
||||
{"itemDefinitionId": "meta_resource_gold", "weight": 2},
|
||||
{"itemDefinitionId": "meta_resource_blood", "weight": 1},
|
||||
{"itemDefinitionId": "meta_resource_ink", "weight": 1},
|
||||
{"itemDefinitionId": "box_meta_mastery", "weight": 1}
|
||||
]
|
||||
}
|
||||
|
|
@ -497,7 +497,7 @@
|
|||
{"itemDefinitionId": "darkfantasy_gem", "weight": 1},
|
||||
{"itemDefinitionId": "darkfantasy_key", "weight": 3},
|
||||
{"itemDefinitionId": "mysterious_key", "weight": 2},
|
||||
{"itemDefinitionId": "blood_vial", "weight": 3}
|
||||
{"itemDefinitionId": "ink_vial", "weight": 3}
|
||||
]
|
||||
}
|
||||
},
|
||||
|
|
@ -512,7 +512,7 @@
|
|||
"rollCount": 1,
|
||||
"entries": [
|
||||
{"itemDefinitionId": "resource_max_gold", "weight": 2},
|
||||
{"itemDefinitionId": "resource_max_blood", "weight": 1},
|
||||
{"itemDefinitionId": "resource_max_ink", "weight": 1},
|
||||
{"itemDefinitionId": "blueprint_foundry", "weight": 4, "condition": {"type": "HasUIFeature", "targetId": "CraftingPanel"}},
|
||||
{"itemDefinitionId": "blueprint_workbench", "weight": 4, "condition": {"type": "HasUIFeature", "targetId": "CraftingPanel"}},
|
||||
{"itemDefinitionId": "blueprint_furnace", "weight": 4, "condition": {"type": "HasUIFeature", "targetId": "CraftingPanel"}},
|
||||
|
|
@ -532,7 +532,7 @@
|
|||
"rollCount": 2,
|
||||
"entries": [
|
||||
{"itemDefinitionId": "gold_pouch", "weight": 4},
|
||||
{"itemDefinitionId": "blood_vial", "weight": 1}
|
||||
{"itemDefinitionId": "ink_vial", "weight": 1}
|
||||
]
|
||||
}
|
||||
},
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
{"id": "meta_animation", "nameKey": "meta.animation", "descriptionKey": "meta.animation.desc", "category": "Meta", "rarity": "Uncommon", "tags": ["Meta"], "metaUnlock": "BoxAnimation"},
|
||||
{"id": "meta_crafting", "nameKey": "meta.crafting", "descriptionKey": "meta.crafting.desc", "category": "Meta", "rarity": "Epic", "tags": ["Meta"], "metaUnlock": "CraftingPanel"},
|
||||
{"id": "meta_autosave", "nameKey": "meta.autosave", "descriptionKey": "meta.autosave.desc", "category": "Meta", "rarity": "Uncommon", "tags": ["Meta"], "metaUnlock": "AutoSave"},
|
||||
{"id": "meta_resource_blood", "nameKey": "resource.blood", "category": "Meta", "rarity": "Rare", "tags": ["Meta", "ResourceVisibility"], "resourceType": "Blood"},
|
||||
{"id": "meta_resource_ink", "nameKey": "resource.ink", "category": "Meta", "rarity": "Rare", "tags": ["Meta", "ResourceVisibility"], "resourceType": "Ink"},
|
||||
{"id": "meta_resource_gold", "nameKey": "resource.gold", "category": "Meta", "rarity": "Uncommon", "tags": ["Meta", "ResourceVisibility"], "resourceType": "Gold"},
|
||||
{"id": "meta_stat_strength", "nameKey": "stat.strength", "category": "Meta", "rarity": "Rare", "tags": ["Meta", "StatVisibility"], "statType": "Strength"},
|
||||
{"id": "meta_stat_intelligence", "nameKey": "stat.intelligence", "category": "Meta", "rarity": "Rare", "tags": ["Meta", "StatVisibility"], "statType": "Intelligence"},
|
||||
|
|
@ -62,7 +62,7 @@
|
|||
{"id": "tint_gold", "nameKey": "tint.gold", "category": "Cosmetic", "rarity": "Epic", "tags": ["Tint"], "tintColor": "Gold"},
|
||||
{"id": "tint_void", "nameKey": "tint.void", "category": "Cosmetic", "rarity": "Legendary", "tags": ["Tint"], "tintColor": "Void"},
|
||||
|
||||
{"id": "blood_vial", "nameKey": "item.blood_vial", "category": "Consumable", "rarity": "Rare", "tags": ["Consumable"], "resourceType": "Blood", "resourceAmount": 5},
|
||||
{"id": "ink_vial", "nameKey": "item.ink_vial", "category": "Consumable", "rarity": "Rare", "tags": ["Consumable"], "resourceType": "Ink", "resourceAmount": 5},
|
||||
{"id": "gold_pouch", "nameKey": "item.gold_pouch", "category": "Consumable", "rarity": "Common", "tags": ["Consumable"], "resourceType": "Gold", "resourceAmount": 50},
|
||||
|
||||
{"id": "space_badge", "nameKey": "item.space.badge", "category": "AdventureToken", "rarity": "Rare", "tags": ["Adventure", "Space"], "adventureTheme": "Space"},
|
||||
|
|
@ -140,7 +140,7 @@
|
|||
{"id": "material_carbonfiber_sheet", "nameKey": "material.carbonfiber", "category": "Material", "rarity": "Epic", "tags": ["Material"], "materialType": "CarbonFiber", "materialForm": "Sheet"},
|
||||
|
||||
{"id": "resource_max_gold", "nameKey": "item.resource_max_gold", "category": "Consumable", "rarity": "Rare", "tags": ["Improvement", "ResourceMax"], "resourceType": "Gold", "resourceMaxIncrease": 50},
|
||||
{"id": "resource_max_blood", "nameKey": "item.resource_max_blood", "category": "Consumable", "rarity": "Rare", "tags": ["Improvement", "ResourceMax"], "resourceType": "Blood", "resourceMaxIncrease": 5},
|
||||
{"id": "resource_max_ink", "nameKey": "item.resource_max_ink", "category": "Consumable", "rarity": "Rare", "tags": ["Improvement", "ResourceMax"], "resourceType": "Ink", "resourceMaxIncrease": 5},
|
||||
|
||||
{"id": "music_melody", "nameKey": "item.music_melody", "category": "Consumable", "rarity": "Rare", "tags": ["Music", "Fun"], "description": "A melody plays from the box. Console.Beep never sounded so good."},
|
||||
{"id": "cookie_fortune", "nameKey": "item.cookie_fortune", "category": "Consumable", "rarity": "Common", "tags": ["Cookie", "Fun"], "description": "A fortune cookie with wisdom of questionable origin."},
|
||||
|
|
|
|||
|
|
@ -132,7 +132,7 @@
|
|||
"item.rarity.legendary": "Legendary",
|
||||
"item.rarity.mythic": "Mythic",
|
||||
|
||||
"resource.blood": "Blood",
|
||||
"resource.ink": "Ink",
|
||||
"resource.gold": "Gold",
|
||||
|
||||
"stat.strength": "Strength",
|
||||
|
|
@ -215,7 +215,7 @@
|
|||
"material.form.dust": "Dust",
|
||||
"material.form.gem": "Gem",
|
||||
|
||||
"item.blood_vial": "Blood Vial",
|
||||
"item.ink_vial": "Ink Vial",
|
||||
"item.gold_pouch": "Gold Pouch",
|
||||
|
||||
"item.space.badge": "Astronaut Badge",
|
||||
|
|
@ -263,7 +263,7 @@
|
|||
"item.microscopic.mitochondria": "Hyperactive Mitochondria",
|
||||
"item.microscopic.prion": "Friendly Prion (probably)",
|
||||
"item.darkfantasy.ring": "Cursed Ring",
|
||||
"item.darkfantasy.rune": "Blood Rune",
|
||||
"item.darkfantasy.rune": "Ink Rune",
|
||||
"item.darkfantasy.cloak": "Shadow Cloak",
|
||||
"item.darkfantasy.grimoire": "Necromancer's Grimoire",
|
||||
"item.darkfantasy.gem": "Soul Gem",
|
||||
|
|
@ -274,7 +274,7 @@
|
|||
"item.stat_boost": "{0} +1",
|
||||
|
||||
"item.resource_max_gold": "Gold Capacity Upgrade",
|
||||
"item.resource_max_blood": "Blood Capacity Upgrade",
|
||||
"item.resource_max_ink": "Ink Capacity Upgrade",
|
||||
"item.music_melody": "Box Melody",
|
||||
"item.cookie_fortune": "Fortune Cookie",
|
||||
|
||||
|
|
|
|||
|
|
@ -132,7 +132,7 @@
|
|||
"item.rarity.legendary": "Légendaire",
|
||||
"item.rarity.mythic": "Mythique",
|
||||
|
||||
"resource.blood": "Sang",
|
||||
"resource.ink": "Encre",
|
||||
"resource.gold": "Or",
|
||||
|
||||
"stat.strength": "Force",
|
||||
|
|
@ -215,7 +215,7 @@
|
|||
"material.form.dust": "Poudre",
|
||||
"material.form.gem": "Gemme",
|
||||
|
||||
"item.blood_vial": "Fiole de sang",
|
||||
"item.ink_vial": "Fiole d'encre",
|
||||
"item.gold_pouch": "Bourse d'or",
|
||||
|
||||
"item.space.badge": "Badge d'astronaute",
|
||||
|
|
@ -263,7 +263,7 @@
|
|||
"item.microscopic.mitochondria": "Mitochondrie hyperactive",
|
||||
"item.microscopic.prion": "Prion amical (probablement)",
|
||||
"item.darkfantasy.ring": "Anneau maudit",
|
||||
"item.darkfantasy.rune": "Rune de sang",
|
||||
"item.darkfantasy.rune": "Rune d'encre",
|
||||
"item.darkfantasy.cloak": "Cape d'ombre",
|
||||
"item.darkfantasy.grimoire": "Grimoire du nécromancien",
|
||||
"item.darkfantasy.gem": "Gemme d'âme",
|
||||
|
|
@ -274,7 +274,7 @@
|
|||
"item.stat_boost": "{0} +1",
|
||||
|
||||
"item.resource_max_gold": "Amélioration Capacité Or",
|
||||
"item.resource_max_blood": "Amélioration Capacité Sang",
|
||||
"item.resource_max_ink": "Amélioration Capacité Encre",
|
||||
"item.music_melody": "Mélodie de boîte",
|
||||
"item.cookie_fortune": "Fortune Cookie",
|
||||
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ Special properties:
|
|||
- `adventureTheme` — Links token to an adventure theme
|
||||
- `cosmeticSlot` / `cosmeticValue` — Cosmetic equipment data
|
||||
- `statType` / `statValue` — Stat modification
|
||||
- `resourceType` / `resourceAmount` — Resource modification (Gold, Blood only)
|
||||
- `resourceType` / `resourceAmount` — Resource modification (Gold, Ink only)
|
||||
- `metaUnlock` — UI feature to unlock
|
||||
- `workstationType` — Workstation blueprint
|
||||
|
||||
|
|
@ -40,7 +40,7 @@ content/adventures/
|
|||
├── prehistoric/ — Stone age theme
|
||||
├── cosmic/ — Cosmic/divine theme
|
||||
├── microscopic/ — Micro-world theme
|
||||
├── darkfantasy/ — Gothic horror theme (Key resource: Blood)
|
||||
├── darkfantasy/ — Gothic horror theme (Key resource: Ink)
|
||||
└── destiny/ — Final adventure (acknowledges all other adventures)
|
||||
```
|
||||
|
||||
|
|
@ -62,7 +62,7 @@ Each regular adventure (not Destiny) has ONE secret branch gated by stats, resou
|
|||
| Prehistoric | `hasStat("Strength", 10)` | `prehistoric_champion` |
|
||||
| Cosmic | `hasStat("Intelligence", 10)` | `cosmic_enlightened` |
|
||||
| Microscopic | `hasStat("Dexterity", 10)` | `microscopic_surgeon` |
|
||||
| DarkFantasy | `hasResource("Blood", 20)` | `darkfantasy_blood_communion`|
|
||||
| DarkFantasy | `hasResource("Ink", 20)` | `darkfantasy_ink_communion`|
|
||||
|
||||
### Destiny Adventure (Final)
|
||||
- Triggered by `destiny_token` from `box_endgame`
|
||||
|
|
@ -80,7 +80,7 @@ Boxes ──► Items ──► Inventory
|
|||
│ ├──► Cosmetics ──► Appearance ──┐
|
||||
│ ├──► Stat Items ──► Stats ──────┤
|
||||
│ └──► Consumables ──► Resources ─┤
|
||||
│ (Gold, Blood only) │
|
||||
│ (Gold, Ink only) │
|
||||
│ │
|
||||
│ ┌───────────────────────────────┘
|
||||
│ ▼
|
||||
|
|
@ -106,8 +106,8 @@ Space, Medieval, Pirate, Contemporary, Sentimental, Prehistoric, Cosmic, Microsc
|
|||
Strength, Intelligence, Luck, Charisma, Dexterity, Wisdom
|
||||
|
||||
### ResourceType (Characteristics)
|
||||
Blood, Gold
|
||||
Only resources with actual adventure gates are kept. Blood gates the DarkFantasy secret branch (≥20), Gold gates the Contemporary secret branch (≥30).
|
||||
Ink, Gold
|
||||
Only resources with actual adventure gates are kept. Ink gates the DarkFantasy secret branch (≥20), Gold gates the Contemporary secret branch (≥30).
|
||||
Resources are displayed as "Characteristics" to the player with current/max values (e.g., Gold 50/100).
|
||||
|
||||
### CosmeticSlot
|
||||
|
|
@ -125,7 +125,7 @@ UI features are unlocked in a fixed order regardless of which meta box drops. Th
|
|||
3. **AutoSave** — Automatic saving
|
||||
4. **InventoryPanel** — Interactive inventory table
|
||||
5. **StatsPanel** — Progression stats and character attributes
|
||||
6. **ResourcePanel** — Characteristics bars (Gold, Blood)
|
||||
6. **ResourcePanel** — Characteristics bars (Gold, Ink)
|
||||
7. **PortraitPanel** — ASCII art portrait
|
||||
8. **ChatPanel** — Event log panel
|
||||
9. **ExtendedColors** — 256-color palette
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ public enum AdventureTheme
|
|||
/// <summary>Microscopic world of cells, atoms, and circuits. Key resources: Energy, Oxygen.</summary>
|
||||
Microscopic,
|
||||
|
||||
/// <summary>Dark fantasy with gothic horror elements. Key resources: Blood, Mana. Unlocks Blood resource.</summary>
|
||||
/// <summary>Dark fantasy with gothic horror elements. Key resources: Ink, Mana. Unlocks Ink resource.</summary>
|
||||
DarkFantasy,
|
||||
|
||||
/// <summary>The final adventure. Acknowledges all previous adventures and secret branches. Unlocked by the endgame box.</summary>
|
||||
|
|
|
|||
|
|
@ -6,8 +6,8 @@ namespace OpenTheBox.Core.Enums;
|
|||
/// </summary>
|
||||
public enum ResourceType
|
||||
{
|
||||
/// <summary>Blood resource. Unlocked with the DarkFantasy theme. Gates the Blood Communion secret branch (≥20).</summary>
|
||||
Blood,
|
||||
/// <summary>Ink resource. Unlocked with the DarkFantasy theme. Gates the Ink Communion secret branch (≥20).</summary>
|
||||
Ink,
|
||||
|
||||
/// <summary>Currency. Unlocked when a trading location is discovered. Gates the Corporate VIP secret branch (≥30).</summary>
|
||||
Gold
|
||||
|
|
|
|||
|
|
@ -219,8 +219,8 @@ public class ResourcePanelTests
|
|||
public void Render_ZeroMax_DoesNotThrow()
|
||||
{
|
||||
var state = GameState.Create("Test", Locale.EN);
|
||||
state.VisibleResources.Add(ResourceType.Blood);
|
||||
state.Resources[ResourceType.Blood] = new ResourceState(0, 0);
|
||||
state.VisibleResources.Add(ResourceType.Ink);
|
||||
state.Resources[ResourceType.Ink] = new ResourceState(0, 0);
|
||||
var result = RenderHelper.RenderToString(ResourcePanel.Render(state));
|
||||
Assert.NotEmpty(result);
|
||||
}
|
||||
|
|
@ -239,7 +239,7 @@ public class ResourcePanelTests
|
|||
public void Render_VisibleButNotInDict_Skipped()
|
||||
{
|
||||
var state = GameState.Create("Test", Locale.EN);
|
||||
state.VisibleResources.Add(ResourceType.Blood);
|
||||
state.VisibleResources.Add(ResourceType.Ink);
|
||||
// Not adding to Resources dict → should skip without crash
|
||||
var result = RenderHelper.RenderToString(ResourcePanel.Render(state));
|
||||
Assert.NotEmpty(result);
|
||||
|
|
|
|||
|
|
@ -1158,7 +1158,7 @@ public class ContentValidationTests
|
|||
"prehistoric_champion",
|
||||
"cosmic_enlightened",
|
||||
"microscopic_surgeon",
|
||||
"darkfantasy_blood_communion"
|
||||
"darkfantasy_ink_communion"
|
||||
};
|
||||
|
||||
// All 9 regular adventure themes (excluding Destiny)
|
||||
|
|
|
|||
|
|
@ -174,9 +174,9 @@
|
|||
|
||||
## Consumable (6 items)
|
||||
────────────────────────────────────────────────────────────────────────────────
|
||||
[**] blood_vial (Rare) — Fiole de sang
|
||||
[**] ink_vial (Rare) — Fiole d'encre
|
||||
Loot: box_epic, box_adventure_darkfantasy, box_supply
|
||||
Consume: +5 Blood
|
||||
Consume: +5 Ink
|
||||
|
||||
[**] gold_pouch (Common) — Bourse d'or
|
||||
Loot: box_ok_tier, box_adventure_pirate, box_supply
|
||||
|
|
@ -186,9 +186,9 @@
|
|||
Loot: box_improvement
|
||||
Upgrade: max Gold
|
||||
|
||||
[**] resource_max_blood (Rare) — Amélioration Capacité Sang
|
||||
[**] resource_max_ink (Rare) — Amélioration Capacité Encre
|
||||
Loot: box_improvement
|
||||
Upgrade: max Blood
|
||||
Upgrade: max Ink
|
||||
|
||||
[**] music_melody (Rare) — Mélodie de boîte
|
||||
Loot: box_music(G)
|
||||
|
|
@ -603,7 +603,7 @@
|
|||
[*] meta_shortcuts (Rare) — Raccourcis clavier
|
||||
Unlock: KeyboardShortcuts
|
||||
|
||||
[*] meta_resource_blood (Rare) — Sang
|
||||
[*] meta_resource_ink (Rare) — Encre
|
||||
Loot: box_meta_resources
|
||||
|
||||
[*] meta_resource_gold (Uncommon) — Or
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue