Compare commits
27 Commits
ce1ed17ce1
..
14.0.7
| Author | SHA1 | Date | |
|---|---|---|---|
| 34b7e32d08 | |||
| 75f79c1c08 | |||
| 188717c925 | |||
| 066e3bbaf5 | |||
| 440755d8a1 | |||
| a9c70c004d | |||
| 5c5ef7b0e4 | |||
| 503ee9395a | |||
| 389517a774 | |||
| 9617005a5c | |||
| 73a3381d2a | |||
| fbfb265570 | |||
| eda9b77f46 | |||
| 64ab54daf3 | |||
| 0e1594773b | |||
| 7f5beb401e | |||
| a606d62904 | |||
| bc49286f91 | |||
| 1e252ff6f2 | |||
| d12a7debdf | |||
| 30d9e4e4df | |||
| 606b38e022 | |||
| 4d9fa45ab6 | |||
| 8a4e0ba0e4 | |||
| 93df69a43e | |||
| 6a5819b905 | |||
| 389d4b8008 |
@@ -0,0 +1,78 @@
|
|||||||
|
name: Release Creation
|
||||||
|
|
||||||
|
on:
|
||||||
|
release:
|
||||||
|
types: [published]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- run: echo "💡 The ${{ gitea.repository }} repository will be cloned to the runner."
|
||||||
|
|
||||||
|
- uses: https://github.com/RouxAntoine/checkout@v3.5.4
|
||||||
|
|
||||||
|
# Get part of the tag after the `v`
|
||||||
|
- name: Extract tag version number
|
||||||
|
id: get_version
|
||||||
|
uses: https://github.com/battila7/get-version-action@v2
|
||||||
|
|
||||||
|
- name: Setup Node.js
|
||||||
|
uses: https://github.com/actions/setup-node@v3
|
||||||
|
with:
|
||||||
|
node-version: "20"
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: npm ci
|
||||||
|
|
||||||
|
# Génération à la volée des compendiums (packs-src/ → packs/ LevelDB)
|
||||||
|
- name: Compile compendium packs
|
||||||
|
run: npm run pack:compile
|
||||||
|
|
||||||
|
# Compilation CSS (LESS → css/) et bundle JavaScript (src/ → dist/)
|
||||||
|
- name: Build CSS and JavaScript
|
||||||
|
run: npm run build
|
||||||
|
|
||||||
|
# Substitute the Manifest and Download URLs in the system.json
|
||||||
|
- name: Substitute Manifest and Download Links For Versioned Ones
|
||||||
|
id: sub_manifest_link_version
|
||||||
|
uses: https://github.com/microsoft/variable-substitution@v1
|
||||||
|
with:
|
||||||
|
files: "system.json"
|
||||||
|
env:
|
||||||
|
version: ${{steps.get_version.outputs.version-without-v}}
|
||||||
|
url: https://www.uberwald.me/gitea/${{gitea.repository}}
|
||||||
|
manifest: https://www.uberwald.me/gitea/uberwald/fvtt-chroniques-de-l-etrange/releases/download/latest/system.json
|
||||||
|
download: https://www.uberwald.me/gitea/uberwald/fvtt-chroniques-de-l-etrange/releases/download/${{github.event.release.tag_name}}/fvtt-chroniques-de-l-etrange.zip
|
||||||
|
|
||||||
|
# Create a zip file with all files required by the system
|
||||||
|
- run: |
|
||||||
|
apt update -y
|
||||||
|
apt install -y zip
|
||||||
|
|
||||||
|
- run: zip -r ./fvtt-chroniques-de-l-etrange.zip system.json README.md CHANGELOG.md LICENSE.txt css/ fonts/ images/ lang/ packs/ src/ templates/
|
||||||
|
|
||||||
|
- name: Setup Go
|
||||||
|
uses: https://github.com/actions/setup-go@v4
|
||||||
|
with:
|
||||||
|
go-version: ">=1.20.1"
|
||||||
|
|
||||||
|
- name: Upload release assets
|
||||||
|
id: use-go-action
|
||||||
|
uses: https://gitea.com/actions/release-action@main
|
||||||
|
with:
|
||||||
|
files: |-
|
||||||
|
./fvtt-chroniques-de-l-etrange.zip
|
||||||
|
system.json
|
||||||
|
api_key: "${{secrets.ALLOW_PUSH_RELEASE}}"
|
||||||
|
|
||||||
|
- name: Publish to Foundry server
|
||||||
|
uses: https://github.com/djlechuck/foundryvtt-publish-package-action@v1
|
||||||
|
with:
|
||||||
|
token: ${{ secrets.FOUNDRYVTT_RELEASE_TOKEN }}
|
||||||
|
id: "fvtt-chroniques-de-l-etrange"
|
||||||
|
version: ${{github.event.release.tag_name}}
|
||||||
|
manifest: "https://www.uberwald.me/gitea/uberwald/fvtt-chroniques-de-l-etrange/releases/download/latest/system.json"
|
||||||
|
notes: "https://www.uberwald.me/gitea/${{gitea.repository}}/releases/download/${{github.event.release.tag_name}}/fvtt-chroniques-de-l-etrange.zip"
|
||||||
|
compatibility-minimum: "14"
|
||||||
|
compatibility-verified: "14"
|
||||||
@@ -5,8 +5,9 @@
|
|||||||
|
|
||||||
# Node Modules
|
# Node Modules
|
||||||
node_modules/
|
node_modules/
|
||||||
package-lock.json
|
|
||||||
|
|
||||||
chroniquesdeletrange.lock
|
chroniquesdeletrange.lock
|
||||||
*.pdf
|
*.pdf
|
||||||
*.github/
|
*.github/
|
||||||
|
regles.txt
|
||||||
|
regles.txt
|
||||||
|
|||||||
@@ -0,0 +1,65 @@
|
|||||||
|
# Copilot Instructions — fvtt-chroniques-de-l-etrange
|
||||||
|
|
||||||
|
FoundryVTT v13 game system for *Les Chroniques de l'Étrange* (Antre-Monde Éditions). The codebase is entirely in **ES modules** (`"type": "module"`) bundled with esbuild. There are no tests.
|
||||||
|
|
||||||
|
## Build commands
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npm run build # compile LESS → CSS and bundle src/system.js → dist/system.js
|
||||||
|
npm run build:css # LESS only
|
||||||
|
npm run build:js # esbuild bundle only
|
||||||
|
npm run build:watch # rebuild on file changes
|
||||||
|
npm run build:full # compile compendiums then build
|
||||||
|
|
||||||
|
npm run pack:compile # compile packs-src/ → packs/ (LevelDB)
|
||||||
|
npm run pack:extract # extract packs/ → packs-src/ (YAML source)
|
||||||
|
```
|
||||||
|
|
||||||
|
The built output goes to `dist/system.js` (sourced via the unbuilt `src/system.js` in `system.json` `esmodules`).
|
||||||
|
|
||||||
|
## Architecture
|
||||||
|
|
||||||
|
The entry point is `src/system.js`, which wires up all FoundryVTT hooks (`init`, `ready`, `renderChatLog`, etc.).
|
||||||
|
|
||||||
|
### Layer structure
|
||||||
|
|
||||||
|
| Layer | Path | Purpose |
|
||||||
|
|---|---|---|
|
||||||
|
| **Config** | `src/config/` | Constants, i18n pre-localization, runtime config, settings |
|
||||||
|
| **Data Models** | `src/data/` | `TypeDataModel` subclasses defining actor/item schemas |
|
||||||
|
| **Documents** | `src/documents/` | `CDEActor`, `CDEItem`, `CDEMessage` — thin document class overrides |
|
||||||
|
| **UI / Sheets** | `src/ui/sheets/` | ApplicationV2 sheets for actors and items |
|
||||||
|
| **UI / Apps** | `src/ui/apps/` | Standalone apps: `CDELoksyuApp`, `CDETinjiApp` (singletons) |
|
||||||
|
| **UI / Core** | `src/ui/` | Rolling engine, dice registration, Handlebars helpers, initiative |
|
||||||
|
|
||||||
|
### Key domain concepts
|
||||||
|
|
||||||
|
- **Wu Xing cycle**: Five aspects (metal, water, earth, fire, wood) drive all dice resolution. Each aspect maps to two d10 faces (see `ASPECT_FACES` in `constants.js`). `WU_XING_CYCLE` maps an active aspect to the five result categories: successes / auspicious / noxious / **loksyu** / **tinji**.
|
||||||
|
- **Loksyu / Tin Ji**: Persistent world-level counters stored in game settings (`loksyuData`, `tinjiData`). Managed via `CDELoksyuApp` / `CDETinjiApp` singleton apps; updated from roll results in `ui/apps/singletons.js`.
|
||||||
|
- **Three Treasures** (`threetreasures`): The character's Hei-Yang and Hei-Yin pools plus dice-level branches — used as the primary/secondary token attribute.
|
||||||
|
- **Magics**: Five schools (`internalcinnabar`, `alchemy`, `masteryoftheway`, `exorcism`, `geomancy`), each with five specialities. Fully defined in `MAGICS` constant.
|
||||||
|
|
||||||
|
### Data model pattern
|
||||||
|
|
||||||
|
All data models live in `src/data/` and extend `foundry.abstract.TypeDataModel`. Schema fields are defined with local factory helpers (`numberField`, `stringField`, `boolField`, `htmlField`) — prefer reusing these helpers when adding new fields.
|
||||||
|
|
||||||
|
### Sheet pattern
|
||||||
|
|
||||||
|
Actor and item sheets extend `HandlebarsApplicationMixin(ActorSheetV2)` via `CDEBaseActorSheet` (`src/ui/sheets/actors/base.js`). Key conventions:
|
||||||
|
- `static DEFAULT_OPTIONS` with `form: { submitOnChange: true }` — forms auto-save on every change.
|
||||||
|
- Tab state is manually restored in `_onRender` by iterating `this.tabGroups` and calling `this.changeTab()` (AppV2 does not persist tab state natively).
|
||||||
|
- Sheet actions (create/edit/delete item, editImage) are static private methods registered in `DEFAULT_OPTIONS.actions`.
|
||||||
|
- `_prepareContext()` exposes both `system` and `systemData` (same reference) for template compatibility.
|
||||||
|
|
||||||
|
### Compendium source
|
||||||
|
|
||||||
|
Human-editable compendium content lives in `packs-src/` as YAML. Use `npm run pack:compile` before building when pack content has changed, and `npm run pack:extract` after importing new data in Foundry.
|
||||||
|
|
||||||
|
## Key conventions
|
||||||
|
|
||||||
|
- All user-visible strings go through i18n with the `CDE.` prefix namespace. New labels must be added to `lang/fr-cde.json`.
|
||||||
|
- Handlebars templates live in `templates/` and are referenced by their full system path (`systems/fvtt-chroniques-de-l-etrange/templates/...`). Partials are pre-registered from `TEMPLATE_PARTIALS` in `constants.js`.
|
||||||
|
- The system ID constant (`SYSTEM_ID = "fvtt-chroniques-de-l-etrange"`) is used everywhere — never hardcode the string.
|
||||||
|
- CSS is authored in LESS (`css/cde-theme.less`) and compiled to `css/cde-theme.css`. Do not edit the `.css` file directly.
|
||||||
|
- Global macro access is via `game.cde` (exposes `CDELoksyuApp` and `CDETinjiApp`).
|
||||||
|
- The `dist/` directory is generated — do not commit it manually; it is rebuilt by `npm run build`.
|
||||||
@@ -12,10 +12,11 @@ Vous pouvez retrouver le nom de leurs auteurs respectifs sur ce site.
|
|||||||
version 1.2 ou toute version ultérieure publiée par la Free Software Foundation,
|
version 1.2 ou toute version ultérieure publiée par la Free Software Foundation,
|
||||||
https://commons.wikimedia.org/wiki/File:Hong_Kong_18_Districts_Blank_Map.svg
|
https://commons.wikimedia.org/wiki/File:Hong_Kong_18_Districts_Blank_Map.svg
|
||||||
- 'loksyu_roue_d_initiative.jpg' est une création originale de 'Darkwin'.
|
- 'loksyu_roue_d_initiative.jpg' est une création originale de 'Darkwin'.
|
||||||
- L'organisation du reste des images provient du système produit par MysteryMan (merci à lui)
|
- La version 14.02 contenait des icones produites par David R.D. 'Mystery Man From Outerspace' Bercovici (merci à lui)
|
||||||
|
- Les versions suivantes contiennent des icones produites par LeRatierBretonnien
|
||||||
|
|
||||||
Code Author :
|
Code Author :
|
||||||
- Developed by LeRatierBretonnien
|
- Developed by LeRatierBretonnien / www.uberwald.me
|
||||||
|
|
||||||
Code LICENCE :
|
Code LICENCE :
|
||||||
C BY-NC-SA 4.0
|
C BY-NC-SA 4.0
|
||||||
|
|||||||
@@ -1,3 +1,13 @@
|
|||||||
# Les Chroniques de l'étrange pour FoundryVTT
|
# Chroniques de l'étrange — Système FoundryVTT
|
||||||
|
|
||||||
Implémentation du JDR Les Chroniques de l'Etrange de Antre-Monde éditions.
|
Système [Foundry VTT](https://foundryvtt.com) pour **Chroniques de l'Etrange**, le jeu de rôle d'[Antre Monde Éditions](https://antremonde.fr).
|
||||||
|
|
||||||
|
Copyright 2025-2026 Antre Monde Editions All rights reserved
|
||||||
|
|
||||||
|
Chroniques de l'ETrange is a game written by Romain d'Huissier and Cédric Lameire. The authors retain their moral rights to this work in both print and digital formats.
|
||||||
|
|
||||||
|
This system for FoundryVTT has been approved and authorized by Antre-Monde Edition.
|
||||||
|
|
||||||
|
Ce système s'inspire d'un système précédent "chroniquesdeletrange" développé par David R.D. 'Mystery Man From Outerspace' Bercovici et Christophe 'Kristov / Qaw' Laudon. Le code a été intégralément réécrit pour être compatible avec la version 14 de FoundryVTT, et pour intégrer le maximum de mécaniques de jeu des Chroniques de l'Etrange, et n'a donc aucun lien de code avec le système précédent.
|
||||||
|
|
||||||
|
---
|
||||||
|
|||||||
@@ -177,6 +177,11 @@
|
|||||||
flex: 1 1 110px;
|
flex: 1 1 110px;
|
||||||
max-width: 200px;
|
max-width: 200px;
|
||||||
}
|
}
|
||||||
|
.cde-stat-cell--wide {
|
||||||
|
flex: 1 1 100%;
|
||||||
|
max-width: 100%;
|
||||||
|
min-width: 0;
|
||||||
|
}
|
||||||
.cde-stat-label {
|
.cde-stat-label {
|
||||||
font-size: 10px;
|
font-size: 10px;
|
||||||
font-family: "Averia", sans-serif;
|
font-family: "Averia", sans-serif;
|
||||||
@@ -205,6 +210,23 @@
|
|||||||
.cde-stat-cell input:focus {
|
.cde-stat-cell input:focus {
|
||||||
border-bottom-color: #00d4d4;
|
border-bottom-color: #00d4d4;
|
||||||
}
|
}
|
||||||
|
.cde-stat-cell textarea {
|
||||||
|
width: 100%;
|
||||||
|
background: transparent;
|
||||||
|
border: 1px solid #1a2436;
|
||||||
|
border-radius: 2px;
|
||||||
|
color: #e2e8f4;
|
||||||
|
font-size: 13px;
|
||||||
|
font-family: inherit;
|
||||||
|
padding: 4px 6px;
|
||||||
|
outline: none;
|
||||||
|
resize: vertical;
|
||||||
|
transition: border-color 0.15s;
|
||||||
|
line-height: 1.5;
|
||||||
|
}
|
||||||
|
.cde-stat-cell textarea:focus {
|
||||||
|
border-color: #ff3d5a;
|
||||||
|
}
|
||||||
.cde-stat-cell select {
|
.cde-stat-cell select {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
border: none;
|
border: none;
|
||||||
@@ -374,18 +396,22 @@ section.npc .cde-neon-tabs .item.active {
|
|||||||
.cde-tab-body {
|
.cde-tab-body {
|
||||||
flex: 1 1 0;
|
flex: 1 1 0;
|
||||||
min-height: 0;
|
min-height: 0;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
padding: 12px;
|
padding: 12px;
|
||||||
background: #0d1520;
|
background: #0d1520;
|
||||||
border: 1px solid #1a2436;
|
border: 1px solid #1a2436;
|
||||||
border-top: none;
|
border-top: none;
|
||||||
border-radius: 0 0 8px 8px;
|
border-radius: 0 0 8px 8px;
|
||||||
overflow-y: auto;
|
overflow: hidden;
|
||||||
}
|
}
|
||||||
.cde-tab-body .tab {
|
.cde-tab-body .tab {
|
||||||
display: none;
|
display: none;
|
||||||
|
flex: 1 1 0;
|
||||||
|
min-height: 0;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
gap: 12px;
|
gap: 12px;
|
||||||
min-height: 100%;
|
overflow-y: auto;
|
||||||
}
|
}
|
||||||
.cde-tab-body .tab.active {
|
.cde-tab-body .tab.active {
|
||||||
display: flex;
|
display: flex;
|
||||||
@@ -426,12 +452,25 @@ section.npc .cde-neon-tabs .item.active {
|
|||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
}
|
}
|
||||||
.cde-notes-editor .editor {
|
.cde-notes-editor .editor {
|
||||||
flex: 1 1 0;
|
flex: 1 1 auto;
|
||||||
min-height: 200px;
|
min-height: 200px;
|
||||||
|
height: 100%;
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
border: 1px solid #1a2436;
|
border: 1px solid #1a2436;
|
||||||
background: #101622;
|
background: #101622;
|
||||||
}
|
}
|
||||||
|
.cde-notes-editor .editor .tox {
|
||||||
|
height: 100% !important;
|
||||||
|
min-height: 100% !important;
|
||||||
|
}
|
||||||
|
.cde-notes-editor .editor .tox-editor-container {
|
||||||
|
height: 100% !important;
|
||||||
|
min-height: 100% !important;
|
||||||
|
}
|
||||||
|
.cde-notes-editor .editor iframe {
|
||||||
|
height: 100% !important;
|
||||||
|
min-height: 100% !important;
|
||||||
|
}
|
||||||
.cde-technique-card {
|
.cde-technique-card {
|
||||||
border-left: 3px solid #ff3d5a;
|
border-left: 3px solid #ff3d5a;
|
||||||
background: rgba(16, 22, 34, 0.8);
|
background: rgba(16, 22, 34, 0.8);
|
||||||
@@ -1254,6 +1293,12 @@ section.npc .cde-neon-tabs .item.active {
|
|||||||
width: auto;
|
width: auto;
|
||||||
height: auto;
|
height: auto;
|
||||||
opacity: 0.6;
|
opacity: 0.6;
|
||||||
|
cursor: zoom-in;
|
||||||
|
transition: opacity 0.2s ease, box-shadow 0.2s ease;
|
||||||
|
}
|
||||||
|
.cde-loksyu-standalone .cde-loksyu-visual-row .cde-lok-visual:hover {
|
||||||
|
opacity: 0.9;
|
||||||
|
box-shadow: 0 0 10px #263853;
|
||||||
}
|
}
|
||||||
.cde-loksyu-standalone .cde-lok-footer {
|
.cde-loksyu-standalone .cde-lok-footer {
|
||||||
display: flex;
|
display: flex;
|
||||||
@@ -2134,6 +2179,25 @@ section.npc .cde-neon-tabs .item.active {
|
|||||||
.cde-magic-toggle:hover i {
|
.cde-magic-toggle:hover i {
|
||||||
color: #e2e8f4;
|
color: #e2e8f4;
|
||||||
}
|
}
|
||||||
|
.cde-magic-order-btn {
|
||||||
|
width: 20px;
|
||||||
|
height: 20px;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
cursor: pointer;
|
||||||
|
color: #7d94b8;
|
||||||
|
border-radius: 3px;
|
||||||
|
flex-shrink: 0;
|
||||||
|
transition: color 0.12s, background 0.12s;
|
||||||
|
}
|
||||||
|
.cde-magic-order-btn i {
|
||||||
|
font-size: 9px;
|
||||||
|
}
|
||||||
|
.cde-magic-order-btn:hover {
|
||||||
|
color: #e2e8f4;
|
||||||
|
background: rgba(38, 56, 83, 0.25);
|
||||||
|
}
|
||||||
.cde-magic-specialities {
|
.cde-magic-specialities {
|
||||||
border-top: 1px solid #1a2436;
|
border-top: 1px solid #1a2436;
|
||||||
padding: 4px 0;
|
padding: 4px 0;
|
||||||
@@ -3080,6 +3144,12 @@ strong.ellipsis {
|
|||||||
max-height: 180px;
|
max-height: 180px;
|
||||||
opacity: 0.45;
|
opacity: 0.45;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
|
cursor: zoom-in;
|
||||||
|
transition: opacity 0.2s ease, box-shadow 0.2s ease;
|
||||||
|
}
|
||||||
|
.cde-nghang-diagram img:hover {
|
||||||
|
opacity: 0.85;
|
||||||
|
box-shadow: 0 0 12px #263853;
|
||||||
}
|
}
|
||||||
.img-die-sm {
|
.img-die-sm {
|
||||||
width: 27px !important;
|
width: 27px !important;
|
||||||
@@ -3472,6 +3542,12 @@ ol.item-list li.item .item-controls a.item-control:hover {
|
|||||||
color: var(--rr-accent, #e2e8f4);
|
color: var(--rr-accent, #e2e8f4);
|
||||||
text-shadow: 0 0 12px var(--rr-accent, transparent);
|
text-shadow: 0 0 12px var(--rr-accent, transparent);
|
||||||
}
|
}
|
||||||
|
.cde-roll-result .cde-rr-hero .cde-rr-spell-power .cde-rr-spell-power-formula {
|
||||||
|
font-size: 10px;
|
||||||
|
color: #7d94b8;
|
||||||
|
margin: 2px 0;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
.cde-roll-result .cde-rr-hero .cde-rr-spell-power .cde-rr-spell-power-label {
|
.cde-roll-result .cde-rr-hero .cde-rr-spell-power .cde-rr-spell-power-label {
|
||||||
font-size: 9px;
|
font-size: 9px;
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
@@ -3800,3 +3876,626 @@ ol.item-list li.item .item-controls a.item-control:hover {
|
|||||||
color: #ff3d5a;
|
color: #ff3d5a;
|
||||||
text-shadow: 0 0 5px rgba(255, 61, 90, 0.4);
|
text-shadow: 0 0 5px rgba(255, 61, 90, 0.4);
|
||||||
}
|
}
|
||||||
|
/* ============================================================
|
||||||
|
ROUE D'INITIATIVE — CDEWheelApp
|
||||||
|
============================================================ */
|
||||||
|
.cde-wheel-app {
|
||||||
|
color: #e2e8f4;
|
||||||
|
background: #080c14;
|
||||||
|
font-family: "Averia", "Averia Regular", sans-serif;
|
||||||
|
}
|
||||||
|
.cde-wheel-app .window-content {
|
||||||
|
padding: 0;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
/* Two-column layout: SVG wheel left, panel right */
|
||||||
|
.cde-wheel-layout {
|
||||||
|
display: flex;
|
||||||
|
height: 100%;
|
||||||
|
min-height: 520px;
|
||||||
|
}
|
||||||
|
/* ---- Left: SVG wheel ---- */
|
||||||
|
.cde-wheel-svg-container {
|
||||||
|
flex: 0 0 480px;
|
||||||
|
width: 480px;
|
||||||
|
padding: 12px 12px 6px;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
background: #0d1520;
|
||||||
|
border-right: 1px solid #1a2436;
|
||||||
|
}
|
||||||
|
.cde-wheel-svg-container svg {
|
||||||
|
flex: 1 1 auto;
|
||||||
|
width: 100%;
|
||||||
|
max-width: 456px;
|
||||||
|
max-height: 456px;
|
||||||
|
overflow: visible;
|
||||||
|
}
|
||||||
|
.cde-wheel-svg-container .cde-wheel-legend {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 8px;
|
||||||
|
padding: 4px 0 2px;
|
||||||
|
font-size: 11px;
|
||||||
|
color: rgba(255, 255, 255, 0.55);
|
||||||
|
flex-shrink: 0;
|
||||||
|
}
|
||||||
|
.cde-wheel-svg-container .cde-wheel-legend-dot {
|
||||||
|
display: inline-block;
|
||||||
|
width: 10px;
|
||||||
|
height: 10px;
|
||||||
|
border-radius: 50%;
|
||||||
|
flex-shrink: 0;
|
||||||
|
}
|
||||||
|
.cde-wheel-svg-container .cde-wheel-segment {
|
||||||
|
stroke: #080c14;
|
||||||
|
stroke-width: 1.5;
|
||||||
|
transition: opacity 0.2s;
|
||||||
|
}
|
||||||
|
.cde-wheel-svg-container .cde-wheel-cran-label {
|
||||||
|
font-family: "Averia Regular", sans-serif;
|
||||||
|
font-size: 12px;
|
||||||
|
fill: rgba(255, 255, 255, 0.55);
|
||||||
|
text-anchor: middle;
|
||||||
|
dominant-baseline: central;
|
||||||
|
pointer-events: none;
|
||||||
|
user-select: none;
|
||||||
|
}
|
||||||
|
.cde-wheel-svg-container .cde-wheel-fighter-circle {
|
||||||
|
stroke-width: 2;
|
||||||
|
cursor: pointer;
|
||||||
|
transition: r 0.2s, stroke-width 0.2s;
|
||||||
|
}
|
||||||
|
.cde-wheel-svg-container .cde-wheel-fighter-circle:hover {
|
||||||
|
stroke-width: 3;
|
||||||
|
}
|
||||||
|
.cde-wheel-svg-container .cde-wheel-fighter-circle.is-active {
|
||||||
|
r: 18;
|
||||||
|
stroke-width: 3;
|
||||||
|
filter: drop-shadow(0 0 5px rgba(255, 255, 255, 0.7));
|
||||||
|
}
|
||||||
|
.cde-wheel-svg-container .cde-wheel-fighter-circle.is-turn {
|
||||||
|
stroke-dasharray: 3 2;
|
||||||
|
animation: cde-spin 4s linear infinite;
|
||||||
|
}
|
||||||
|
.cde-wheel-svg-container .cde-wheel-fighter-initial {
|
||||||
|
font-size: 13px;
|
||||||
|
font-weight: 700;
|
||||||
|
fill: #fff;
|
||||||
|
text-anchor: middle;
|
||||||
|
dominant-baseline: central;
|
||||||
|
pointer-events: none;
|
||||||
|
}
|
||||||
|
/* ---- Right: panel ---- */
|
||||||
|
.cde-wheel-panel {
|
||||||
|
flex: 1 1 auto;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
overflow: hidden;
|
||||||
|
padding: 0;
|
||||||
|
min-width: 0;
|
||||||
|
}
|
||||||
|
.cde-wheel-section-title {
|
||||||
|
padding: 7px 12px 6px;
|
||||||
|
border-bottom: 1px solid #1a2436;
|
||||||
|
background: #0d1520;
|
||||||
|
font-size: 10px;
|
||||||
|
font-weight: 700;
|
||||||
|
text-transform: uppercase;
|
||||||
|
letter-spacing: 0.12em;
|
||||||
|
color: #7d94b8;
|
||||||
|
border-left: 3px solid #4a9eff;
|
||||||
|
flex-shrink: 0;
|
||||||
|
}
|
||||||
|
.cde-wheel-section-title em {
|
||||||
|
font-style: normal;
|
||||||
|
color: #e2e8f4;
|
||||||
|
text-transform: none;
|
||||||
|
letter-spacing: 0;
|
||||||
|
font-size: 11px;
|
||||||
|
}
|
||||||
|
/* Combatant list */
|
||||||
|
.cde-wheel-combatants {
|
||||||
|
flex: 0 0 auto;
|
||||||
|
max-height: 130px;
|
||||||
|
overflow-y: auto;
|
||||||
|
border-bottom: 1px solid #1a2436;
|
||||||
|
}
|
||||||
|
.cde-wheel-combatant {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 8px;
|
||||||
|
padding: 6px 12px 6px 9px;
|
||||||
|
cursor: pointer;
|
||||||
|
border-bottom: 1px solid rgba(26, 36, 54, 0.5);
|
||||||
|
border-left: 3px solid transparent;
|
||||||
|
transition: background 0.15s, border-color 0.15s;
|
||||||
|
}
|
||||||
|
.cde-wheel-combatant:last-child {
|
||||||
|
border-bottom: none;
|
||||||
|
}
|
||||||
|
.cde-wheel-combatant:hover {
|
||||||
|
background: #101622;
|
||||||
|
}
|
||||||
|
.cde-wheel-combatant.cde-wheel-combatant--selected {
|
||||||
|
background: rgba(74, 158, 255, 0.1);
|
||||||
|
border-left-color: #4a9eff;
|
||||||
|
}
|
||||||
|
.cde-wheel-combatant.cde-wheel-combatant--selected .cde-wheel-combatant-name {
|
||||||
|
color: #e2e8f4;
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
|
.cde-wheel-combatant.cde-wheel-combatant--active .cde-wheel-active-marker {
|
||||||
|
color: #f0c040;
|
||||||
|
filter: drop-shadow(0 0 3px #f0c040);
|
||||||
|
}
|
||||||
|
.cde-wheel-combatant-img {
|
||||||
|
width: 30px;
|
||||||
|
height: 30px;
|
||||||
|
border-radius: 50%;
|
||||||
|
object-fit: cover;
|
||||||
|
border: 1.5px solid #263853;
|
||||||
|
flex-shrink: 0;
|
||||||
|
}
|
||||||
|
.cde-wheel-combatant-name {
|
||||||
|
flex: 1 1 auto;
|
||||||
|
font-size: 13px;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
white-space: nowrap;
|
||||||
|
color: #7d94b8;
|
||||||
|
}
|
||||||
|
.cde-wheel-combatant-cran {
|
||||||
|
font-size: 11px;
|
||||||
|
font-weight: 700;
|
||||||
|
font-variant-numeric: tabular-nums;
|
||||||
|
flex-shrink: 0;
|
||||||
|
min-width: 22px;
|
||||||
|
text-align: center;
|
||||||
|
padding: 2px 6px;
|
||||||
|
border-radius: 12px;
|
||||||
|
line-height: 1.3;
|
||||||
|
}
|
||||||
|
.cde-wheel-active-marker {
|
||||||
|
font-size: 10px;
|
||||||
|
color: #7d94b8;
|
||||||
|
flex-shrink: 0;
|
||||||
|
}
|
||||||
|
/* Action area */
|
||||||
|
.cde-wheel-actions {
|
||||||
|
flex: 1 1 auto;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
overflow-y: auto;
|
||||||
|
padding: 8px 10px 10px;
|
||||||
|
gap: 6px;
|
||||||
|
}
|
||||||
|
.cde-wheel-actions.cde-wheel-actions--hint {
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
.cde-wheel-hint {
|
||||||
|
color: #7d94b8;
|
||||||
|
font-size: 12px;
|
||||||
|
text-align: center;
|
||||||
|
font-style: italic;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
gap: 8px;
|
||||||
|
}
|
||||||
|
.cde-wheel-hint i {
|
||||||
|
font-size: 22px;
|
||||||
|
opacity: 0.4;
|
||||||
|
}
|
||||||
|
.cde-wheel-action-grid {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: 1fr 1fr;
|
||||||
|
gap: 5px;
|
||||||
|
}
|
||||||
|
.cde-wheel-action-btn {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
gap: 4px;
|
||||||
|
background: #101622;
|
||||||
|
border: 1px solid #263853;
|
||||||
|
border-radius: 5px;
|
||||||
|
color: #7d94b8;
|
||||||
|
font-size: 11px;
|
||||||
|
padding: 5px 7px;
|
||||||
|
cursor: pointer;
|
||||||
|
text-align: left;
|
||||||
|
transition: background 0.15s, border-color 0.15s, color 0.15s, box-shadow 0.15s;
|
||||||
|
font-family: inherit;
|
||||||
|
}
|
||||||
|
.cde-wheel-action-btn:hover {
|
||||||
|
color: #e2e8f4;
|
||||||
|
background: #1a2436;
|
||||||
|
border-color: #263853;
|
||||||
|
}
|
||||||
|
.cde-wheel-action-btn .cde-wheel-action-name {
|
||||||
|
flex: 1 1 auto;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
.cde-wheel-action-btn .cde-wheel-action-cost {
|
||||||
|
flex-shrink: 0;
|
||||||
|
font-weight: 700;
|
||||||
|
font-size: 10px;
|
||||||
|
padding: 1px 5px;
|
||||||
|
border-radius: 10px;
|
||||||
|
background: #263853;
|
||||||
|
color: #7d94b8;
|
||||||
|
line-height: 1.4;
|
||||||
|
}
|
||||||
|
.cde-wheel-action-btn[data-cost="1"]:hover {
|
||||||
|
box-shadow: 0 0 6px rgba(74, 158, 255, 0.22);
|
||||||
|
}
|
||||||
|
.cde-wheel-action-btn[data-cost="1"] .cde-wheel-action-cost {
|
||||||
|
background: #1a3d6a;
|
||||||
|
color: #6aadff;
|
||||||
|
}
|
||||||
|
.cde-wheel-action-btn[data-cost="2"]:hover {
|
||||||
|
box-shadow: 0 0 6px rgba(212, 160, 80, 0.25);
|
||||||
|
}
|
||||||
|
.cde-wheel-action-btn[data-cost="2"] .cde-wheel-action-cost {
|
||||||
|
background: #4a3200;
|
||||||
|
color: #d4a050;
|
||||||
|
}
|
||||||
|
.cde-wheel-action-btn[data-cost="3"]:hover {
|
||||||
|
box-shadow: 0 0 6px rgba(224, 96, 48, 0.28);
|
||||||
|
}
|
||||||
|
.cde-wheel-action-btn[data-cost="3"] .cde-wheel-action-cost {
|
||||||
|
background: #4a1800;
|
||||||
|
color: #e07840;
|
||||||
|
}
|
||||||
|
.cde-wheel-action-btn[data-cost="6"] {
|
||||||
|
border-color: rgba(204, 32, 64, 0.4);
|
||||||
|
}
|
||||||
|
.cde-wheel-action-btn[data-cost="6"]:hover {
|
||||||
|
box-shadow: 0 0 6px rgba(204, 32, 64, 0.35);
|
||||||
|
}
|
||||||
|
.cde-wheel-action-btn[data-cost="6"] .cde-wheel-action-cost {
|
||||||
|
background: #4a0814;
|
||||||
|
color: #e03050;
|
||||||
|
}
|
||||||
|
/* Special action buttons */
|
||||||
|
.cde-wheel-special-actions {
|
||||||
|
display: flex;
|
||||||
|
gap: 6px;
|
||||||
|
margin-top: 2px;
|
||||||
|
}
|
||||||
|
.cde-wheel-btn-roll,
|
||||||
|
.cde-wheel-btn-surprise {
|
||||||
|
flex: 1 1 0;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
gap: 6px;
|
||||||
|
border-radius: 5px;
|
||||||
|
font-size: 11px;
|
||||||
|
font-weight: 600;
|
||||||
|
padding: 7px 8px;
|
||||||
|
cursor: pointer;
|
||||||
|
font-family: inherit;
|
||||||
|
transition: background 0.15s, box-shadow 0.15s;
|
||||||
|
border: 1px solid;
|
||||||
|
}
|
||||||
|
.cde-wheel-btn-roll {
|
||||||
|
background: rgba(192, 138, 0, 0.14);
|
||||||
|
border-color: rgba(192, 138, 0, 0.5);
|
||||||
|
color: #e0b030;
|
||||||
|
}
|
||||||
|
.cde-wheel-btn-roll:hover {
|
||||||
|
background: rgba(192, 138, 0, 0.26);
|
||||||
|
box-shadow: 0 0 8px rgba(192, 138, 0, 0.4);
|
||||||
|
}
|
||||||
|
.cde-wheel-btn-surprise {
|
||||||
|
background: rgba(255, 61, 90, 0.12);
|
||||||
|
border-color: rgba(255, 61, 90, 0.45);
|
||||||
|
color: #ff3d5a;
|
||||||
|
}
|
||||||
|
.cde-wheel-btn-surprise:hover {
|
||||||
|
background: rgba(255, 61, 90, 0.24);
|
||||||
|
box-shadow: 0 0 8px rgba(255, 61, 90, 0.35);
|
||||||
|
}
|
||||||
|
/* No-combat empty state */
|
||||||
|
.cde-wheel-no-combat {
|
||||||
|
flex: 1 1 auto;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
color: #7d94b8;
|
||||||
|
gap: 8px;
|
||||||
|
padding: 20px;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
|
.cde-wheel-no-combat i {
|
||||||
|
font-size: 28px;
|
||||||
|
opacity: 0.4;
|
||||||
|
}
|
||||||
|
/* Spin animation for active-turn token */
|
||||||
|
@keyframes cde-spin {
|
||||||
|
from {
|
||||||
|
transform-origin: var(--fx) var(--fy);
|
||||||
|
transform: rotate(0deg);
|
||||||
|
}
|
||||||
|
to {
|
||||||
|
transform-origin: var(--fx) var(--fy);
|
||||||
|
transform: rotate(360deg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/* ===================================================================
|
||||||
|
Migration App
|
||||||
|
=================================================================== */
|
||||||
|
.cde-migration-app .window-content {
|
||||||
|
padding: 0;
|
||||||
|
overflow-y: auto;
|
||||||
|
}
|
||||||
|
.cde-migration-body {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: 12px;
|
||||||
|
padding: 16px;
|
||||||
|
}
|
||||||
|
/* Drop zone */
|
||||||
|
.cde-migration-drop-zone {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
gap: 8px;
|
||||||
|
padding: 28px 20px;
|
||||||
|
border: 2px dashed #1a2436;
|
||||||
|
border-radius: 8px;
|
||||||
|
background: rgba(13, 21, 32, 0.6);
|
||||||
|
text-align: center;
|
||||||
|
transition: border-color 0.15s, background 0.15s;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
.cde-migration-drop-zone.is-dragover {
|
||||||
|
border-color: #4a9eff;
|
||||||
|
background: rgba(74, 158, 255, 0.15);
|
||||||
|
}
|
||||||
|
.cde-migration-drop-icon {
|
||||||
|
font-size: 36px;
|
||||||
|
color: #4a9eff;
|
||||||
|
opacity: 0.7;
|
||||||
|
}
|
||||||
|
.cde-migration-drop-hint {
|
||||||
|
margin: 0;
|
||||||
|
font-size: 12px;
|
||||||
|
color: #7d94b8;
|
||||||
|
}
|
||||||
|
.cde-migration-file-btn {
|
||||||
|
display: inline-flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 6px;
|
||||||
|
padding: 6px 14px;
|
||||||
|
border: 1px solid #4a9eff;
|
||||||
|
border-radius: 4px;
|
||||||
|
color: #4a9eff;
|
||||||
|
font-size: 12px;
|
||||||
|
font-weight: 600;
|
||||||
|
cursor: pointer;
|
||||||
|
transition: background 0.15s;
|
||||||
|
}
|
||||||
|
.cde-migration-file-btn:hover {
|
||||||
|
background: rgba(74, 158, 255, 0.2);
|
||||||
|
}
|
||||||
|
/* Preview section */
|
||||||
|
.cde-migration-preview {
|
||||||
|
border: 1px solid #1a2436;
|
||||||
|
border-radius: 6px;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
.cde-migration-preview-header {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
padding: 8px 12px;
|
||||||
|
background: rgba(13, 21, 32, 0.8);
|
||||||
|
font-size: 11px;
|
||||||
|
font-weight: 700;
|
||||||
|
text-transform: uppercase;
|
||||||
|
letter-spacing: 0.06em;
|
||||||
|
color: #7d94b8;
|
||||||
|
}
|
||||||
|
.cde-migration-clear-btn {
|
||||||
|
display: inline-flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 4px;
|
||||||
|
padding: 2px 8px;
|
||||||
|
border: 1px solid #1a2436;
|
||||||
|
border-radius: 4px;
|
||||||
|
font-size: 11px;
|
||||||
|
color: #7d94b8;
|
||||||
|
background: none;
|
||||||
|
cursor: pointer;
|
||||||
|
transition: color 0.15s, border-color 0.15s;
|
||||||
|
}
|
||||||
|
.cde-migration-clear-btn:hover {
|
||||||
|
color: #e04444;
|
||||||
|
border-color: #e04444;
|
||||||
|
}
|
||||||
|
/* Preview table */
|
||||||
|
.cde-migration-table {
|
||||||
|
width: 100%;
|
||||||
|
border-collapse: collapse;
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
|
.cde-migration-table th {
|
||||||
|
padding: 5px 8px;
|
||||||
|
background: rgba(13, 21, 32, 0.9);
|
||||||
|
color: #7d94b8;
|
||||||
|
font-size: 10px;
|
||||||
|
font-weight: 600;
|
||||||
|
text-transform: uppercase;
|
||||||
|
text-align: left;
|
||||||
|
border-bottom: 1px solid #1a2436;
|
||||||
|
}
|
||||||
|
.cde-migration-table td {
|
||||||
|
padding: 5px 8px;
|
||||||
|
border-bottom: 1px solid rgba(26, 36, 54, 0.4);
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
.cde-migration-table tr:last-child td {
|
||||||
|
border-bottom: none;
|
||||||
|
}
|
||||||
|
.cde-migration-thumb {
|
||||||
|
width: 28px;
|
||||||
|
height: 28px;
|
||||||
|
border-radius: 3px;
|
||||||
|
object-fit: cover;
|
||||||
|
}
|
||||||
|
.cde-migration-name {
|
||||||
|
font-weight: 600;
|
||||||
|
color: #e2e8f4;
|
||||||
|
}
|
||||||
|
.cde-migration-items-count {
|
||||||
|
text-align: center;
|
||||||
|
color: #7d94b8;
|
||||||
|
}
|
||||||
|
.cde-migration-srcfile {
|
||||||
|
font-size: 10px;
|
||||||
|
color: #7d94b8;
|
||||||
|
max-width: 130px;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
/* Type badge */
|
||||||
|
.cde-migration-type-badge {
|
||||||
|
display: inline-flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 4px;
|
||||||
|
padding: 2px 8px;
|
||||||
|
border-radius: 10px;
|
||||||
|
font-size: 10px;
|
||||||
|
font-weight: 700;
|
||||||
|
text-transform: uppercase;
|
||||||
|
}
|
||||||
|
.cde-migration-type-badge.cde-migration-type-character {
|
||||||
|
background: rgba(74, 158, 255, 0.2);
|
||||||
|
color: #4a9eff;
|
||||||
|
border: 1px solid rgba(74, 158, 255, 0.4);
|
||||||
|
}
|
||||||
|
.cde-migration-type-badge.cde-migration-type-npc {
|
||||||
|
background: rgba(156, 77, 204, 0.2);
|
||||||
|
color: #c97ae0;
|
||||||
|
border: 1px solid rgba(156, 77, 204, 0.4);
|
||||||
|
}
|
||||||
|
/* Errors */
|
||||||
|
.cde-migration-errors {
|
||||||
|
list-style: none;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: 4px;
|
||||||
|
}
|
||||||
|
.cde-migration-errors li {
|
||||||
|
display: flex;
|
||||||
|
align-items: flex-start;
|
||||||
|
gap: 6px;
|
||||||
|
padding: 6px 10px;
|
||||||
|
border: 1px solid rgba(224, 68, 68, 0.6);
|
||||||
|
border-radius: 4px;
|
||||||
|
background: rgba(224, 68, 68, 0.1);
|
||||||
|
color: #e07070;
|
||||||
|
font-size: 11px;
|
||||||
|
}
|
||||||
|
.cde-migration-errors li i {
|
||||||
|
margin-top: 2px;
|
||||||
|
flex-shrink: 0;
|
||||||
|
}
|
||||||
|
/* Bottom action bar */
|
||||||
|
.cde-migration-actions {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
padding-top: 4px;
|
||||||
|
}
|
||||||
|
.cde-migration-import-btn {
|
||||||
|
display: inline-flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 8px;
|
||||||
|
padding: 9px 24px;
|
||||||
|
border: none;
|
||||||
|
border-radius: 6px;
|
||||||
|
background: #4a9eff;
|
||||||
|
color: #fff;
|
||||||
|
font-size: 13px;
|
||||||
|
font-weight: 700;
|
||||||
|
cursor: pointer;
|
||||||
|
transition: filter 0.15s;
|
||||||
|
}
|
||||||
|
.cde-migration-import-btn:hover {
|
||||||
|
filter: brightness(1.15);
|
||||||
|
}
|
||||||
|
.cde-migration-hint {
|
||||||
|
margin: 0;
|
||||||
|
font-size: 12px;
|
||||||
|
color: #7d94b8;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.cde-welcome-message {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
gap: 8px;
|
||||||
|
padding: 12px 16px;
|
||||||
|
background: #101622;
|
||||||
|
border: 1px solid #263853;
|
||||||
|
border-radius: 8px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.cde-welcome-logo {
|
||||||
|
width: 120px;
|
||||||
|
height: auto;
|
||||||
|
object-fit: contain;
|
||||||
|
filter: drop-shadow(0 0 8px rgba(74, 158, 255, 0.4));
|
||||||
|
}
|
||||||
|
.cde-welcome-title {
|
||||||
|
margin: 0;
|
||||||
|
font-size: 15px;
|
||||||
|
font-weight: 700;
|
||||||
|
color: #4a9eff;
|
||||||
|
text-shadow: 0 0 8px rgba(74, 158, 255, 0.5);
|
||||||
|
}
|
||||||
|
.cde-welcome-links {
|
||||||
|
margin: 0;
|
||||||
|
font-size: 12px;
|
||||||
|
color: #7d94b8;
|
||||||
|
}
|
||||||
|
.cde-welcome-links a {
|
||||||
|
color: #00d4d4;
|
||||||
|
text-decoration: none;
|
||||||
|
border-bottom: 1px solid rgba(0, 212, 212, 0.4);
|
||||||
|
}
|
||||||
|
.cde-welcome-links a:hover {
|
||||||
|
color: #fff;
|
||||||
|
border-bottom-color: #fff;
|
||||||
|
}
|
||||||
|
.cde-welcome-help-btn {
|
||||||
|
display: inline-flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 6px;
|
||||||
|
margin-top: 4px;
|
||||||
|
padding: 7px 18px;
|
||||||
|
background: #4a9eff;
|
||||||
|
border: none;
|
||||||
|
border-radius: 6px;
|
||||||
|
color: #fff;
|
||||||
|
font-size: 12px;
|
||||||
|
font-weight: 700;
|
||||||
|
cursor: pointer;
|
||||||
|
transition: filter 0.15s;
|
||||||
|
}
|
||||||
|
.cde-welcome-help-btn:hover {
|
||||||
|
filter: brightness(1.2);
|
||||||
|
}
|
||||||
|
|||||||
@@ -208,6 +208,12 @@
|
|||||||
min-width: 110px;
|
min-width: 110px;
|
||||||
flex: 1 1 110px;
|
flex: 1 1 110px;
|
||||||
max-width: 200px;
|
max-width: 200px;
|
||||||
|
|
||||||
|
&--wide {
|
||||||
|
flex: 1 1 100%;
|
||||||
|
max-width: 100%;
|
||||||
|
min-width: 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.cde-stat-label {
|
.cde-stat-label {
|
||||||
@@ -240,6 +246,23 @@
|
|||||||
&:focus { border-bottom-color: @cde-item; }
|
&:focus { border-bottom-color: @cde-item; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.cde-stat-cell textarea {
|
||||||
|
width: 100%;
|
||||||
|
background: transparent;
|
||||||
|
border: 1px solid @cde-border;
|
||||||
|
border-radius: 2px;
|
||||||
|
color: @cde-text;
|
||||||
|
font-size: 13px;
|
||||||
|
font-family: inherit;
|
||||||
|
padding: 4px 6px;
|
||||||
|
outline: none;
|
||||||
|
resize: vertical;
|
||||||
|
transition: border-color 0.15s;
|
||||||
|
line-height: 1.5;
|
||||||
|
|
||||||
|
&:focus { border-color: @cde-kungfu; }
|
||||||
|
}
|
||||||
|
|
||||||
.cde-stat-cell select {
|
.cde-stat-cell select {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
border: none;
|
border: none;
|
||||||
@@ -358,18 +381,22 @@ section.npc .cde-neon-tabs .item.active { color: @cde-supernatural; borde
|
|||||||
.cde-tab-body {
|
.cde-tab-body {
|
||||||
flex: 1 1 0;
|
flex: 1 1 0;
|
||||||
min-height: 0;
|
min-height: 0;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
padding: @cde-gap;
|
padding: @cde-gap;
|
||||||
background: @cde-surface2;
|
background: @cde-surface2;
|
||||||
border: 1px solid @cde-border;
|
border: 1px solid @cde-border;
|
||||||
border-top: none;
|
border-top: none;
|
||||||
border-radius: 0 0 @cde-radius @cde-radius;
|
border-radius: 0 0 @cde-radius @cde-radius;
|
||||||
overflow-y: auto;
|
overflow: hidden;
|
||||||
|
|
||||||
.tab {
|
.tab {
|
||||||
display: none;
|
display: none;
|
||||||
|
flex: 1 1 0;
|
||||||
|
min-height: 0;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
gap: @cde-gap;
|
gap: @cde-gap;
|
||||||
min-height: 100%;
|
overflow-y: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tab.active {
|
.tab.active {
|
||||||
@@ -423,11 +450,26 @@ section.npc .cde-neon-tabs .item.active { color: @cde-supernatural; borde
|
|||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
|
|
||||||
.editor {
|
.editor {
|
||||||
flex: 1 1 0;
|
flex: 1 1 auto;
|
||||||
min-height: 200px;
|
min-height: 200px;
|
||||||
|
height: 100%;
|
||||||
border-radius: @cde-radius;
|
border-radius: @cde-radius;
|
||||||
border: 1px solid @cde-border;
|
border: 1px solid @cde-border;
|
||||||
background: @cde-surface;
|
background: @cde-surface;
|
||||||
|
|
||||||
|
// Force TinyMCE to fill the container
|
||||||
|
.tox {
|
||||||
|
height: 100% !important;
|
||||||
|
min-height: 100% !important;
|
||||||
|
}
|
||||||
|
.tox-editor-container {
|
||||||
|
height: 100% !important;
|
||||||
|
min-height: 100% !important;
|
||||||
|
}
|
||||||
|
iframe {
|
||||||
|
height: 100% !important;
|
||||||
|
min-height: 100% !important;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1289,6 +1331,13 @@ section.npc .cde-neon-tabs .item.active { color: @cde-supernatural; borde
|
|||||||
width: auto;
|
width: auto;
|
||||||
height: auto;
|
height: auto;
|
||||||
opacity: 0.6;
|
opacity: 0.6;
|
||||||
|
cursor: zoom-in;
|
||||||
|
transition: opacity 0.2s ease, box-shadow 0.2s ease;
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
opacity: 0.9;
|
||||||
|
box-shadow: 0 0 10px @cde-border-hi;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2204,6 +2253,23 @@ section.npc .cde-neon-tabs .item.active { color: @cde-supernatural; borde
|
|||||||
&:hover i { color: @cde-text; }
|
&:hover i { color: @cde-text; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.cde-magic-order-btn {
|
||||||
|
width: 20px;
|
||||||
|
height: 20px;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
cursor: pointer;
|
||||||
|
color: @cde-muted;
|
||||||
|
border-radius: 3px;
|
||||||
|
flex-shrink: 0;
|
||||||
|
transition: color 0.12s, background 0.12s;
|
||||||
|
|
||||||
|
i { font-size: 9px; }
|
||||||
|
|
||||||
|
&:hover { color: @cde-text; background: fade(@cde-border-hi, 25%); }
|
||||||
|
}
|
||||||
|
|
||||||
// Specialities list
|
// Specialities list
|
||||||
.cde-magic-specialities {
|
.cde-magic-specialities {
|
||||||
border-top: 1px solid @cde-border;
|
border-top: 1px solid @cde-border;
|
||||||
@@ -3131,6 +3197,13 @@ strong.ellipsis {
|
|||||||
max-height: 180px;
|
max-height: 180px;
|
||||||
opacity: 0.45;
|
opacity: 0.45;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
|
cursor: zoom-in;
|
||||||
|
transition: opacity 0.2s ease, box-shadow 0.2s ease;
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
opacity: 0.85;
|
||||||
|
box-shadow: 0 0 12px @cde-border-hi;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3526,6 +3599,13 @@ ol.item-list {
|
|||||||
text-shadow: 0 0 12px var(--rr-accent, transparent);
|
text-shadow: 0 0 12px var(--rr-accent, transparent);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.cde-rr-spell-power-formula {
|
||||||
|
font-size: 10px;
|
||||||
|
color: @cde-muted;
|
||||||
|
margin: 2px 0;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
.cde-rr-spell-power-label {
|
.cde-rr-spell-power-label {
|
||||||
font-size: 9px;
|
font-size: 9px;
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
@@ -3915,3 +3995,706 @@ ol.item-list {
|
|||||||
text-shadow: 0 0 5px fade(@cde-kungfu, 40%);
|
text-shadow: 0 0 5px fade(@cde-kungfu, 40%);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* ============================================================
|
||||||
|
ROUE D'INITIATIVE — CDEWheelApp
|
||||||
|
============================================================ */
|
||||||
|
|
||||||
|
// Wu Xing segment colours (match JS constants)
|
||||||
|
@wu-metal: #b8c4cc;
|
||||||
|
@wu-water: #3a7bd5;
|
||||||
|
@wu-earth: #c8a84b;
|
||||||
|
@wu-fire: #d94f3d;
|
||||||
|
@wu-wood: #4a9b5a;
|
||||||
|
@wu-reference: #2c1f6b;
|
||||||
|
|
||||||
|
.cde-wheel-app {
|
||||||
|
color: @cde-text;
|
||||||
|
background: @cde-bg;
|
||||||
|
font-family: "Averia", "Averia Regular", sans-serif;
|
||||||
|
|
||||||
|
.window-content {
|
||||||
|
padding: 0;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Two-column layout: SVG wheel left, panel right */
|
||||||
|
.cde-wheel-layout {
|
||||||
|
display: flex;
|
||||||
|
height: 100%;
|
||||||
|
min-height: 520px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---- Left: SVG wheel ---- */
|
||||||
|
.cde-wheel-svg-container {
|
||||||
|
flex: 0 0 480px;
|
||||||
|
width: 480px;
|
||||||
|
padding: 12px 12px 6px;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
background: @cde-surface2;
|
||||||
|
border-right: 1px solid @cde-border;
|
||||||
|
|
||||||
|
svg {
|
||||||
|
flex: 1 1 auto;
|
||||||
|
width: 100%;
|
||||||
|
max-width: 456px;
|
||||||
|
max-height: 456px;
|
||||||
|
overflow: visible;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cde-wheel-legend {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 8px;
|
||||||
|
padding: 4px 0 2px;
|
||||||
|
font-size: 11px;
|
||||||
|
color: rgba(255,255,255,0.55);
|
||||||
|
flex-shrink: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cde-wheel-legend-dot {
|
||||||
|
display: inline-block;
|
||||||
|
width: 10px;
|
||||||
|
height: 10px;
|
||||||
|
border-radius: 50%;
|
||||||
|
flex-shrink: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cde-wheel-segment {
|
||||||
|
stroke: @cde-bg;
|
||||||
|
stroke-width: 1.5;
|
||||||
|
transition: opacity 0.2s;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cde-wheel-cran-label {
|
||||||
|
font-family: "Averia Regular", sans-serif;
|
||||||
|
font-size: 12px;
|
||||||
|
fill: rgba(255,255,255,0.55);
|
||||||
|
text-anchor: middle;
|
||||||
|
dominant-baseline: central;
|
||||||
|
pointer-events: none;
|
||||||
|
user-select: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Combatant token circle on the wheel
|
||||||
|
.cde-wheel-fighter-circle {
|
||||||
|
stroke-width: 2;
|
||||||
|
cursor: pointer;
|
||||||
|
transition: r 0.2s, stroke-width 0.2s;
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
stroke-width: 3;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.is-active {
|
||||||
|
r: 18;
|
||||||
|
stroke-width: 3;
|
||||||
|
filter: drop-shadow(0 0 5px rgba(255, 255, 255, 0.7));
|
||||||
|
}
|
||||||
|
|
||||||
|
&.is-turn {
|
||||||
|
stroke-dasharray: 3 2;
|
||||||
|
animation: cde-spin 4s linear infinite;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.cde-wheel-fighter-initial {
|
||||||
|
font-size: 13px;
|
||||||
|
font-weight: 700;
|
||||||
|
fill: #fff;
|
||||||
|
text-anchor: middle;
|
||||||
|
dominant-baseline: central;
|
||||||
|
pointer-events: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---- Right: panel ---- */
|
||||||
|
.cde-wheel-panel {
|
||||||
|
flex: 1 1 auto;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
overflow: hidden;
|
||||||
|
padding: 0;
|
||||||
|
min-width: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cde-wheel-section-title {
|
||||||
|
padding: 7px 12px 6px;
|
||||||
|
border-bottom: 1px solid @cde-border;
|
||||||
|
background: @cde-surface2;
|
||||||
|
font-size: 10px;
|
||||||
|
font-weight: 700;
|
||||||
|
text-transform: uppercase;
|
||||||
|
letter-spacing: 0.12em;
|
||||||
|
color: @cde-muted;
|
||||||
|
border-left: 3px solid @cde-spell;
|
||||||
|
flex-shrink: 0;
|
||||||
|
|
||||||
|
em {
|
||||||
|
font-style: normal;
|
||||||
|
color: @cde-text;
|
||||||
|
text-transform: none;
|
||||||
|
letter-spacing: 0;
|
||||||
|
font-size: 11px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Combatant list */
|
||||||
|
.cde-wheel-combatants {
|
||||||
|
flex: 0 0 auto;
|
||||||
|
max-height: 130px;
|
||||||
|
overflow-y: auto;
|
||||||
|
border-bottom: 1px solid @cde-border;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cde-wheel-combatant {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 8px;
|
||||||
|
padding: 6px 12px 6px 9px;
|
||||||
|
cursor: pointer;
|
||||||
|
border-bottom: 1px solid fade(@cde-border, 50%);
|
||||||
|
border-left: 3px solid transparent;
|
||||||
|
transition: background 0.15s, border-color 0.15s;
|
||||||
|
|
||||||
|
&:last-child { border-bottom: none; }
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
background: @cde-surface;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.cde-wheel-combatant--selected {
|
||||||
|
background: fade(@cde-spell, 10%);
|
||||||
|
border-left-color: @cde-spell;
|
||||||
|
|
||||||
|
.cde-wheel-combatant-name {
|
||||||
|
color: @cde-text;
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&.cde-wheel-combatant--active {
|
||||||
|
.cde-wheel-active-marker {
|
||||||
|
color: #f0c040;
|
||||||
|
filter: drop-shadow(0 0 3px #f0c040);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.cde-wheel-combatant-img {
|
||||||
|
width: 30px;
|
||||||
|
height: 30px;
|
||||||
|
border-radius: 50%;
|
||||||
|
object-fit: cover;
|
||||||
|
border: 1.5px solid @cde-border-hi;
|
||||||
|
flex-shrink: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cde-wheel-combatant-name {
|
||||||
|
flex: 1 1 auto;
|
||||||
|
font-size: 13px;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
white-space: nowrap;
|
||||||
|
color: @cde-muted;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cde-wheel-combatant-cran {
|
||||||
|
font-size: 11px;
|
||||||
|
font-weight: 700;
|
||||||
|
font-variant-numeric: tabular-nums;
|
||||||
|
flex-shrink: 0;
|
||||||
|
min-width: 22px;
|
||||||
|
text-align: center;
|
||||||
|
padding: 2px 6px;
|
||||||
|
border-radius: 12px;
|
||||||
|
line-height: 1.3;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cde-wheel-active-marker {
|
||||||
|
font-size: 10px;
|
||||||
|
color: @cde-muted;
|
||||||
|
flex-shrink: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Action area */
|
||||||
|
.cde-wheel-actions {
|
||||||
|
flex: 1 1 auto;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
overflow-y: auto;
|
||||||
|
padding: 8px 10px 10px;
|
||||||
|
gap: 6px;
|
||||||
|
|
||||||
|
&.cde-wheel-actions--hint {
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.cde-wheel-hint {
|
||||||
|
color: @cde-muted;
|
||||||
|
font-size: 12px;
|
||||||
|
text-align: center;
|
||||||
|
font-style: italic;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
gap: 8px;
|
||||||
|
|
||||||
|
i {
|
||||||
|
font-size: 22px;
|
||||||
|
opacity: 0.4;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.cde-wheel-action-grid {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: 1fr 1fr;
|
||||||
|
gap: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cde-wheel-action-btn {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
gap: 4px;
|
||||||
|
background: @cde-surface;
|
||||||
|
border: 1px solid @cde-border-hi;
|
||||||
|
border-radius: @cde-radius-sm;
|
||||||
|
color: @cde-muted;
|
||||||
|
font-size: 11px;
|
||||||
|
padding: 5px 7px;
|
||||||
|
cursor: pointer;
|
||||||
|
text-align: left;
|
||||||
|
transition: background 0.15s, border-color 0.15s, color 0.15s, box-shadow 0.15s;
|
||||||
|
font-family: inherit;
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
color: @cde-text;
|
||||||
|
background: @cde-border;
|
||||||
|
border-color: @cde-border-hi;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cde-wheel-action-name {
|
||||||
|
flex: 1 1 auto;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cde-wheel-action-cost {
|
||||||
|
flex-shrink: 0;
|
||||||
|
font-weight: 700;
|
||||||
|
font-size: 10px;
|
||||||
|
padding: 1px 5px;
|
||||||
|
border-radius: 10px;
|
||||||
|
background: @cde-border-hi;
|
||||||
|
color: @cde-muted;
|
||||||
|
line-height: 1.4;
|
||||||
|
}
|
||||||
|
|
||||||
|
&[data-cost="1"] {
|
||||||
|
&:hover { box-shadow: 0 0 6px fade(@cde-spell, 22%); }
|
||||||
|
.cde-wheel-action-cost { background: #1a3d6a; color: #6aadff; }
|
||||||
|
}
|
||||||
|
&[data-cost="2"] {
|
||||||
|
&:hover { box-shadow: 0 0 6px fade(#d4a050, 25%); }
|
||||||
|
.cde-wheel-action-cost { background: #4a3200; color: #d4a050; }
|
||||||
|
}
|
||||||
|
&[data-cost="3"] {
|
||||||
|
&:hover { box-shadow: 0 0 6px fade(#e06030, 28%); }
|
||||||
|
.cde-wheel-action-cost { background: #4a1800; color: #e07840; }
|
||||||
|
}
|
||||||
|
&[data-cost="6"] {
|
||||||
|
border-color: fade(#cc2040, 40%);
|
||||||
|
&:hover { box-shadow: 0 0 6px fade(#cc2040, 35%); }
|
||||||
|
.cde-wheel-action-cost { background: #4a0814; color: #e03050; }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Special action buttons */
|
||||||
|
.cde-wheel-special-actions {
|
||||||
|
display: flex;
|
||||||
|
gap: 6px;
|
||||||
|
margin-top: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cde-wheel-btn-roll,
|
||||||
|
.cde-wheel-btn-surprise {
|
||||||
|
flex: 1 1 0;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
gap: 6px;
|
||||||
|
border-radius: @cde-radius-sm;
|
||||||
|
font-size: 11px;
|
||||||
|
font-weight: 600;
|
||||||
|
padding: 7px 8px;
|
||||||
|
cursor: pointer;
|
||||||
|
font-family: inherit;
|
||||||
|
transition: background 0.15s, box-shadow 0.15s;
|
||||||
|
border: 1px solid;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cde-wheel-btn-roll {
|
||||||
|
background: fade(#c08a00, 14%);
|
||||||
|
border-color: fade(#c08a00, 50%);
|
||||||
|
color: #e0b030;
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
background: fade(#c08a00, 26%);
|
||||||
|
box-shadow: 0 0 8px fade(#c08a00, 40%);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.cde-wheel-btn-surprise {
|
||||||
|
background: fade(@cde-kungfu, 12%);
|
||||||
|
border-color: fade(@cde-kungfu, 45%);
|
||||||
|
color: @cde-kungfu;
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
background: fade(@cde-kungfu, 24%);
|
||||||
|
box-shadow: 0 0 8px fade(@cde-kungfu, 35%);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* No-combat empty state */
|
||||||
|
.cde-wheel-no-combat {
|
||||||
|
flex: 1 1 auto;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
color: @cde-muted;
|
||||||
|
gap: 8px;
|
||||||
|
padding: 20px;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 12px;
|
||||||
|
|
||||||
|
i {
|
||||||
|
font-size: 28px;
|
||||||
|
opacity: 0.4;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Spin animation for active-turn token */
|
||||||
|
@keyframes cde-spin {
|
||||||
|
from { transform-origin: var(--fx) var(--fy); transform: rotate(0deg); }
|
||||||
|
to { transform-origin: var(--fx) var(--fy); transform: rotate(360deg); }
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ===================================================================
|
||||||
|
Migration App
|
||||||
|
=================================================================== */
|
||||||
|
|
||||||
|
.cde-migration-app {
|
||||||
|
.window-content {
|
||||||
|
padding: 0;
|
||||||
|
overflow-y: auto;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.cde-migration-body {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: 12px;
|
||||||
|
padding: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Drop zone */
|
||||||
|
.cde-migration-drop-zone {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
gap: 8px;
|
||||||
|
padding: 28px 20px;
|
||||||
|
border: 2px dashed @cde-border;
|
||||||
|
border-radius: 8px;
|
||||||
|
background: fadeout(@cde-surface2, 40%);
|
||||||
|
text-align: center;
|
||||||
|
transition: border-color 0.15s, background 0.15s;
|
||||||
|
cursor: pointer;
|
||||||
|
|
||||||
|
&.is-dragover {
|
||||||
|
border-color: @cde-spell;
|
||||||
|
background: fadeout(@cde-spell, 85%);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.cde-migration-drop-icon {
|
||||||
|
font-size: 36px;
|
||||||
|
color: @cde-spell;
|
||||||
|
opacity: 0.7;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cde-migration-drop-hint {
|
||||||
|
margin: 0;
|
||||||
|
font-size: 12px;
|
||||||
|
color: @cde-muted;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cde-migration-file-btn {
|
||||||
|
display: inline-flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 6px;
|
||||||
|
padding: 6px 14px;
|
||||||
|
border: 1px solid @cde-spell;
|
||||||
|
border-radius: 4px;
|
||||||
|
color: @cde-spell;
|
||||||
|
font-size: 12px;
|
||||||
|
font-weight: 600;
|
||||||
|
cursor: pointer;
|
||||||
|
transition: background 0.15s;
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
background: fadeout(@cde-spell, 80%);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Preview section */
|
||||||
|
.cde-migration-preview {
|
||||||
|
border: 1px solid @cde-border;
|
||||||
|
border-radius: 6px;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cde-migration-preview-header {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
padding: 8px 12px;
|
||||||
|
background: fadeout(@cde-surface2, 20%);
|
||||||
|
font-size: 11px;
|
||||||
|
font-weight: 700;
|
||||||
|
text-transform: uppercase;
|
||||||
|
letter-spacing: 0.06em;
|
||||||
|
color: @cde-muted;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cde-migration-clear-btn {
|
||||||
|
display: inline-flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 4px;
|
||||||
|
padding: 2px 8px;
|
||||||
|
border: 1px solid @cde-border;
|
||||||
|
border-radius: 4px;
|
||||||
|
font-size: 11px;
|
||||||
|
color: @cde-muted;
|
||||||
|
background: none;
|
||||||
|
cursor: pointer;
|
||||||
|
transition: color 0.15s, border-color 0.15s;
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
color: #e04444;
|
||||||
|
border-color: #e04444;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Preview table */
|
||||||
|
.cde-migration-table {
|
||||||
|
width: 100%;
|
||||||
|
border-collapse: collapse;
|
||||||
|
font-size: 12px;
|
||||||
|
|
||||||
|
th {
|
||||||
|
padding: 5px 8px;
|
||||||
|
background: fadeout(@cde-surface2, 10%);
|
||||||
|
color: @cde-muted;
|
||||||
|
font-size: 10px;
|
||||||
|
font-weight: 600;
|
||||||
|
text-transform: uppercase;
|
||||||
|
text-align: left;
|
||||||
|
border-bottom: 1px solid @cde-border;
|
||||||
|
}
|
||||||
|
|
||||||
|
td {
|
||||||
|
padding: 5px 8px;
|
||||||
|
border-bottom: 1px solid fadeout(@cde-border, 60%);
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
|
||||||
|
tr:last-child td {
|
||||||
|
border-bottom: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.cde-migration-thumb {
|
||||||
|
width: 28px;
|
||||||
|
height: 28px;
|
||||||
|
border-radius: 3px;
|
||||||
|
object-fit: cover;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cde-migration-name {
|
||||||
|
font-weight: 600;
|
||||||
|
color: @cde-text;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cde-migration-items-count {
|
||||||
|
text-align: center;
|
||||||
|
color: @cde-muted;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cde-migration-srcfile {
|
||||||
|
font-size: 10px;
|
||||||
|
color: @cde-muted;
|
||||||
|
max-width: 130px;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Type badge */
|
||||||
|
.cde-migration-type-badge {
|
||||||
|
display: inline-flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 4px;
|
||||||
|
padding: 2px 8px;
|
||||||
|
border-radius: 10px;
|
||||||
|
font-size: 10px;
|
||||||
|
font-weight: 700;
|
||||||
|
text-transform: uppercase;
|
||||||
|
|
||||||
|
&.cde-migration-type-character {
|
||||||
|
background: fadeout(@cde-spell, 80%);
|
||||||
|
color: @cde-spell;
|
||||||
|
border: 1px solid fadeout(@cde-spell, 60%);
|
||||||
|
}
|
||||||
|
|
||||||
|
&.cde-migration-type-npc {
|
||||||
|
background: fadeout(#9c4dcc, 80%);
|
||||||
|
color: #c97ae0;
|
||||||
|
border: 1px solid fadeout(#9c4dcc, 60%);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Errors */
|
||||||
|
.cde-migration-errors {
|
||||||
|
list-style: none;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: 4px;
|
||||||
|
|
||||||
|
li {
|
||||||
|
display: flex;
|
||||||
|
align-items: flex-start;
|
||||||
|
gap: 6px;
|
||||||
|
padding: 6px 10px;
|
||||||
|
border: 1px solid fadeout(#e04444, 40%);
|
||||||
|
border-radius: 4px;
|
||||||
|
background: fadeout(#e04444, 90%);
|
||||||
|
color: #e07070;
|
||||||
|
font-size: 11px;
|
||||||
|
|
||||||
|
i { margin-top: 2px; flex-shrink: 0; }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Bottom action bar */
|
||||||
|
.cde-migration-actions {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
padding-top: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cde-migration-import-btn {
|
||||||
|
display: inline-flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 8px;
|
||||||
|
padding: 9px 24px;
|
||||||
|
border: none;
|
||||||
|
border-radius: 6px;
|
||||||
|
background: @cde-spell;
|
||||||
|
color: #fff;
|
||||||
|
font-size: 13px;
|
||||||
|
font-weight: 700;
|
||||||
|
cursor: pointer;
|
||||||
|
transition: filter 0.15s;
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
filter: brightness(1.15);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.cde-migration-hint {
|
||||||
|
margin: 0;
|
||||||
|
font-size: 12px;
|
||||||
|
color: @cde-muted;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
// ============================================================
|
||||||
|
// Welcome message
|
||||||
|
// ============================================================
|
||||||
|
|
||||||
|
.cde-welcome-message {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
gap: 8px;
|
||||||
|
padding: 12px 16px;
|
||||||
|
background: @cde-surface;
|
||||||
|
border: 1px solid @cde-border-hi;
|
||||||
|
border-radius: 8px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cde-welcome-logo {
|
||||||
|
width: 120px;
|
||||||
|
height: auto;
|
||||||
|
object-fit: contain;
|
||||||
|
filter: drop-shadow(0 0 8px fade(@cde-spell, 40%));
|
||||||
|
}
|
||||||
|
|
||||||
|
.cde-welcome-title {
|
||||||
|
margin: 0;
|
||||||
|
font-size: 15px;
|
||||||
|
font-weight: 700;
|
||||||
|
color: @cde-spell;
|
||||||
|
text-shadow: 0 0 8px fade(@cde-spell, 50%);
|
||||||
|
}
|
||||||
|
|
||||||
|
.cde-welcome-links {
|
||||||
|
margin: 0;
|
||||||
|
font-size: 12px;
|
||||||
|
color: @cde-muted;
|
||||||
|
|
||||||
|
a {
|
||||||
|
color: @cde-item;
|
||||||
|
text-decoration: none;
|
||||||
|
border-bottom: 1px solid fade(@cde-item, 40%);
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
color: #fff;
|
||||||
|
border-bottom-color: #fff;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.cde-welcome-help-btn {
|
||||||
|
display: inline-flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 6px;
|
||||||
|
margin-top: 4px;
|
||||||
|
padding: 7px 18px;
|
||||||
|
background: @cde-spell;
|
||||||
|
border: none;
|
||||||
|
border-radius: 6px;
|
||||||
|
color: #fff;
|
||||||
|
font-size: 12px;
|
||||||
|
font-weight: 700;
|
||||||
|
cursor: pointer;
|
||||||
|
transition: filter 0.15s;
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
filter: brightness(1.2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
|
After Width: | Height: | Size: 3.7 KiB |
|
After Width: | Height: | Size: 4.0 KiB |
|
After Width: | Height: | Size: 4.2 KiB |
|
After Width: | Height: | Size: 3.7 KiB |
@@ -1,58 +1,30 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100">
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100">
|
||||||
<defs>
|
<defs>
|
||||||
<radialGradient id="ar-glow" cx="50%" cy="50%" r="50%">
|
<radialGradient id="ar-glow" cx="50%" cy="50%" r="50%">
|
||||||
<stop offset="0%" stop-color="#4ecdc4" stop-opacity="0.3"/>
|
<stop offset="0%" stop-color="#00e5ff" stop-opacity="0.35"/>
|
||||||
<stop offset="100%" stop-color="#4ecdc4" stop-opacity="0"/>
|
<stop offset="100%" stop-color="#00e5ff" stop-opacity="0"/>
|
||||||
</radialGradient>
|
</radialGradient>
|
||||||
</defs>
|
</defs>
|
||||||
|
|
||||||
<!-- Fond -->
|
|
||||||
<circle cx="50" cy="50" r="48" fill="#101622" stroke="#1a2436" stroke-width="2"/>
|
<circle cx="50" cy="50" r="48" fill="#101622" stroke="#1a2436" stroke-width="2"/>
|
||||||
<circle cx="50" cy="50" r="48" fill="url(#ar-glow)"/>
|
<circle cx="50" cy="50" r="48" fill="url(#ar-glow)"/>
|
||||||
|
<!-- Plastron style écaille de dragon — rangées d'écailles imbriquées -->
|
||||||
<!-- Bouclier circulaire extérieur -->
|
<!-- Rangée 1 -->
|
||||||
<circle cx="50" cy="50" r="36" fill="#4ecdc4" fill-opacity="0.08" stroke="#4ecdc4" stroke-width="2.5"/>
|
<path d="M42 24 Q50 18 58 24 Q50 32 42 24Z" fill="#00e5ff" fill-opacity="0.22" stroke="#00e5ff" stroke-width="1.6"/>
|
||||||
<!-- Anneau décoratif intérieur -->
|
<!-- Rangée 2 -->
|
||||||
<circle cx="50" cy="50" r="30" fill="none" stroke="#4ecdc4" stroke-width="1" opacity="0.5"/>
|
<path d="M30 36 Q38 28 46 36 Q38 44 30 36Z" fill="#00e5ff" fill-opacity="0.22" stroke="#00e5ff" stroke-width="1.6"/>
|
||||||
|
<path d="M54 36 Q62 28 70 36 Q62 44 54 36Z" fill="#00e5ff" fill-opacity="0.22" stroke="#00e5ff" stroke-width="1.6"/>
|
||||||
<!-- 8 rivets décoratifs sur le bord extérieur du bouclier -->
|
<!-- Rangée 3 -->
|
||||||
<circle cx="50" cy="15" r="2" fill="#4ecdc4" opacity="0.8"/>
|
<path d="M22 50 Q30 42 38 50 Q30 58 22 50Z" fill="#00e5ff" fill-opacity="0.22" stroke="#00e5ff" stroke-width="1.6"/>
|
||||||
<circle cx="75" cy="25" r="2" fill="#4ecdc4" opacity="0.8"/>
|
<path d="M42 50 Q50 42 58 50 Q50 58 42 50Z" fill="#00e5ff" fill-opacity="0.22" stroke="#00e5ff" stroke-width="1.6"/>
|
||||||
<circle cx="85" cy="50" r="2" fill="#4ecdc4" opacity="0.8"/>
|
<path d="M62 50 Q70 42 78 50 Q70 58 62 50Z" fill="#00e5ff" fill-opacity="0.22" stroke="#00e5ff" stroke-width="1.6"/>
|
||||||
<circle cx="75" cy="75" r="2" fill="#4ecdc4" opacity="0.8"/>
|
<!-- Rangée 4 -->
|
||||||
<circle cx="50" cy="85" r="2" fill="#4ecdc4" opacity="0.8"/>
|
<path d="M30 64 Q38 56 46 64 Q38 72 30 64Z" fill="#00e5ff" fill-opacity="0.22" stroke="#00e5ff" stroke-width="1.6"/>
|
||||||
<circle cx="25" cy="75" r="2" fill="#4ecdc4" opacity="0.8"/>
|
<path d="M54 64 Q62 56 70 64 Q62 72 54 64Z" fill="#00e5ff" fill-opacity="0.22" stroke="#00e5ff" stroke-width="1.6"/>
|
||||||
<circle cx="15" cy="50" r="2" fill="#4ecdc4" opacity="0.8"/>
|
<!-- Rangée 5 -->
|
||||||
<circle cx="25" cy="25" r="2" fill="#4ecdc4" opacity="0.8"/>
|
<path d="M42 77 Q50 70 58 77 Q50 84 42 77Z" fill="#00e5ff" fill-opacity="0.22" stroke="#00e5ff" stroke-width="1.6"/>
|
||||||
|
<!-- Reflets -->
|
||||||
<!-- Tête de tigre stylisée -->
|
<circle cx="50" cy="24" r="1.5" fill="#00e5ff" opacity="0.9"/>
|
||||||
<!-- Front / dessus de la tête -->
|
<circle cx="38" cy="36" r="1.5" fill="#00e5ff" opacity="0.9"/>
|
||||||
<path d="M34 40 Q50 30 66 40 Q68 48 64 54 Q58 62 50 64 Q42 62 36 54 Q32 48 34 40 Z"
|
<circle cx="62" cy="36" r="1.5" fill="#00e5ff" opacity="0.9"/>
|
||||||
fill="#4ecdc4" fill-opacity="0.15" stroke="#4ecdc4" stroke-width="2"/>
|
<circle cx="50" cy="50" r="1.5" fill="#00e5ff" opacity="0.9"/>
|
||||||
<!-- Oreilles de tigre -->
|
|
||||||
<path d="M34 40 Q28 30 32 24 Q36 32 40 38" fill="#4ecdc4" fill-opacity="0.2" stroke="#4ecdc4" stroke-width="1.5"/>
|
|
||||||
<path d="M66 40 Q72 30 68 24 Q64 32 60 38" fill="#4ecdc4" fill-opacity="0.2" stroke="#4ecdc4" stroke-width="1.5"/>
|
|
||||||
|
|
||||||
<!-- Yeux du tigre -->
|
|
||||||
<ellipse cx="43" cy="46" rx="5" ry="4" fill="none" stroke="#4ecdc4" stroke-width="1.5"/>
|
|
||||||
<ellipse cx="57" cy="46" rx="5" ry="4" fill="none" stroke="#4ecdc4" stroke-width="1.5"/>
|
|
||||||
<ellipse cx="43" cy="46" rx="2" ry="3" fill="#4ecdc4" fill-opacity="0.5"/>
|
|
||||||
<ellipse cx="57" cy="46" rx="2" ry="3" fill="#4ecdc4" fill-opacity="0.5"/>
|
|
||||||
|
|
||||||
<!-- Nez du tigre -->
|
|
||||||
<path d="M47 52 Q50 50 53 52 Q50 55 47 52 Z" fill="#4ecdc4" fill-opacity="0.6" stroke="#4ecdc4" stroke-width="1"/>
|
|
||||||
<!-- Moustaches -->
|
|
||||||
<line x1="32" y1="53" x2="45" y2="53" stroke="#4ecdc4" stroke-width="1" opacity="0.7"/>
|
|
||||||
<line x1="55" y1="53" x2="68" y2="53" stroke="#4ecdc4" stroke-width="1" opacity="0.7"/>
|
|
||||||
<line x1="33" y1="57" x2="45" y2="55" stroke="#4ecdc4" stroke-width="1" opacity="0.7"/>
|
|
||||||
<line x1="55" y1="55" x2="67" y2="57" stroke="#4ecdc4" stroke-width="1" opacity="0.7"/>
|
|
||||||
|
|
||||||
<!-- Rayures de tigre sur le front -->
|
|
||||||
<path d="M46 36 Q48 40 47 44" fill="none" stroke="#4ecdc4" stroke-width="1.5" stroke-linecap="round" opacity="0.6"/>
|
|
||||||
<path d="M50 34 Q50 38 50 42" fill="none" stroke="#4ecdc4" stroke-width="1.5" stroke-linecap="round" opacity="0.6"/>
|
|
||||||
<path d="M54 36 Q52 40 53 44" fill="none" stroke="#4ecdc4" stroke-width="1.5" stroke-linecap="round" opacity="0.6"/>
|
|
||||||
|
|
||||||
<!-- Crocs en bas -->
|
|
||||||
<path d="M46 60 L44 68 L46 64 L48 70 L50 63 L52 70 L54 64 L56 68 L54 60"
|
|
||||||
fill="none" stroke="#4ecdc4" stroke-width="1.5" stroke-linejoin="round" opacity="0.8"/>
|
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 1.9 KiB |
@@ -1,53 +1,26 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100">
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100">
|
||||||
<defs>
|
<defs>
|
||||||
<radialGradient id="ig-glow" cx="50%" cy="50%" r="50%">
|
<radialGradient id="ig-glow" cx="50%" cy="60%" r="50%">
|
||||||
<stop offset="0%" stop-color="#98c379" stop-opacity="0.3"/>
|
<stop offset="0%" stop-color="#39ff14" stop-opacity="0.35"/>
|
||||||
<stop offset="100%" stop-color="#98c379" stop-opacity="0"/>
|
<stop offset="100%" stop-color="#39ff14" stop-opacity="0"/>
|
||||||
</radialGradient>
|
</radialGradient>
|
||||||
</defs>
|
</defs>
|
||||||
|
|
||||||
<!-- Fond -->
|
|
||||||
<circle cx="50" cy="50" r="48" fill="#101622" stroke="#1a2436" stroke-width="2"/>
|
<circle cx="50" cy="50" r="48" fill="#101622" stroke="#1a2436" stroke-width="2"/>
|
||||||
<circle cx="50" cy="50" r="48" fill="url(#ig-glow)"/>
|
<circle cx="50" cy="50" r="48" fill="url(#ig-glow)"/>
|
||||||
|
<!-- Mortier de pharmacopée chinoise -->
|
||||||
<!-- Pilon (pestle) — en haut à droite -->
|
<path d="M28 62 Q28 76 50 76 Q72 76 72 62 L68 48 Q68 44 50 44 Q32 44 32 48 Z"
|
||||||
<line x1="62" y1="20" x2="52" y2="40" stroke="#98c379" stroke-width="3.5" stroke-linecap="round"/>
|
fill="#39ff14" fill-opacity="0.15" stroke="#39ff14" stroke-width="2"/>
|
||||||
<!-- Tête du pilon (plus épaisse) -->
|
<!-- Pilon -->
|
||||||
<ellipse cx="63" cy="19" rx="4" ry="3" fill="#98c379" fill-opacity="0.4" stroke="#98c379" stroke-width="1.5" transform="rotate(-30 63 19)"/>
|
<line x1="50" y1="22" x2="50" y2="54" stroke="#39ff14" stroke-width="3" stroke-linecap="round"/>
|
||||||
|
<ellipse cx="50" cy="54" rx="7" ry="4" fill="#39ff14" fill-opacity="0.3" stroke="#39ff14" stroke-width="1.8"/>
|
||||||
<!-- Mortier (bol) -->
|
<!-- Vapeur montante -->
|
||||||
<!-- Corps extérieur du mortier -->
|
<path d="M38 42 Q34 36 38 30 Q42 24 38 18" fill="none" stroke="#39ff14" stroke-width="1.5" stroke-linecap="round" opacity="0.6"/>
|
||||||
<path d="M22 54 Q22 76 50 80 Q78 76 78 54 Z"
|
<path d="M50 40 Q46 34 50 28 Q54 22 50 16" fill="none" stroke="#39ff14" stroke-width="1.5" stroke-linecap="round" opacity="0.6"/>
|
||||||
fill="#98c379" fill-opacity="0.12" stroke="#98c379" stroke-width="2.5"/>
|
<path d="M62 42 Q58 36 62 30 Q66 24 62 18" fill="none" stroke="#39ff14" stroke-width="1.5" stroke-linecap="round" opacity="0.6"/>
|
||||||
<!-- Bord supérieur du mortier (ellipse) -->
|
<!-- Petits cristaux/herbes dans le mortier -->
|
||||||
<ellipse cx="50" cy="54" rx="28" ry="8" fill="#98c379" fill-opacity="0.1" stroke="#98c379" stroke-width="2"/>
|
<circle cx="44" cy="58" r="2" fill="#39ff14" opacity="0.7"/>
|
||||||
<!-- Contenu / intérieur sombre -->
|
<circle cx="52" cy="60" r="1.5" fill="#39ff14" opacity="0.7"/>
|
||||||
<ellipse cx="50" cy="56" rx="22" ry="6" fill="#101622" fill-opacity="0.6"/>
|
<circle cx="59" cy="57" r="2" fill="#39ff14" opacity="0.7"/>
|
||||||
<!-- Surface du contenu (herbes) -->
|
<!-- Bande décorative -->
|
||||||
<ellipse cx="50" cy="55" rx="18" ry="4" fill="#98c379" fill-opacity="0.2" stroke="#98c379" stroke-width="0.8" opacity="0.6"/>
|
<path d="M32 48 Q50 52 68 48" fill="none" stroke="#39ff14" stroke-width="1" opacity="0.5"/>
|
||||||
|
|
||||||
<!-- Ornements du mortier (gravures) -->
|
|
||||||
<!-- Motif vague (eau) sur le corps du mortier -->
|
|
||||||
<path d="M26 64 Q32 60 38 64 Q44 68 50 64 Q56 60 62 64 Q68 68 74 64"
|
|
||||||
fill="none" stroke="#98c379" stroke-width="1" opacity="0.5"/>
|
|
||||||
|
|
||||||
<!-- Fleur de lotus au-dessus du mortier -->
|
|
||||||
<!-- Pétales (6) -->
|
|
||||||
<path d="M50 44 Q46 36 42 30 Q46 34 50 32 Q54 34 58 30 Q54 36 50 44"
|
|
||||||
fill="#98c379" fill-opacity="0.2" stroke="#98c379" stroke-width="1.5"/>
|
|
||||||
<path d="M38 48 Q30 44 26 38 Q32 40 36 36 Q40 32 40 38 Q40 44 38 48"
|
|
||||||
fill="#98c379" fill-opacity="0.2" stroke="#98c379" stroke-width="1.5"/>
|
|
||||||
<path d="M62 48 Q70 44 74 38 Q68 40 64 36 Q60 32 60 38 Q60 44 62 48"
|
|
||||||
fill="#98c379" fill-opacity="0.2" stroke="#98c379" stroke-width="1.5"/>
|
|
||||||
<!-- Coeur du lotus -->
|
|
||||||
<circle cx="50" cy="46" r="4" fill="#98c379" fill-opacity="0.4" stroke="#98c379" stroke-width="1.5"/>
|
|
||||||
<circle cx="50" cy="46" r="1.5" fill="#98c379"/>
|
|
||||||
|
|
||||||
<!-- Vapeurs alchimiques -->
|
|
||||||
<path d="M36 52 Q32 46 36 40 Q34 44 38 46 Q36 48 38 52"
|
|
||||||
fill="none" stroke="#98c379" stroke-width="1" stroke-linecap="round" opacity="0.5"/>
|
|
||||||
<path d="M50 52 Q48 44 52 38 Q50 44 54 46 Q52 48 52 52"
|
|
||||||
fill="none" stroke="#98c379" stroke-width="1" stroke-linecap="round" opacity="0.5"/>
|
|
||||||
<path d="M64 52 Q68 46 64 40 Q66 44 62 46 Q64 48 62 52"
|
|
||||||
fill="none" stroke="#98c379" stroke-width="1" stroke-linecap="round" opacity="0.5"/>
|
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 1.6 KiB |
@@ -1,59 +1,27 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100">
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100">
|
||||||
<defs>
|
<defs>
|
||||||
<radialGradient id="it-glow" cx="50%" cy="50%" r="50%">
|
<radialGradient id="it-glow" cx="50%" cy="50%" r="50%">
|
||||||
<stop offset="0%" stop-color="#00d4d4" stop-opacity="0.3"/>
|
<stop offset="0%" stop-color="#ffd700" stop-opacity="0.4"/>
|
||||||
<stop offset="100%" stop-color="#00d4d4" stop-opacity="0"/>
|
<stop offset="100%" stop-color="#ffd700" stop-opacity="0"/>
|
||||||
</radialGradient>
|
</radialGradient>
|
||||||
</defs>
|
</defs>
|
||||||
|
|
||||||
<!-- Fond -->
|
|
||||||
<circle cx="50" cy="50" r="48" fill="#101622" stroke="#1a2436" stroke-width="2"/>
|
<circle cx="50" cy="50" r="48" fill="#101622" stroke="#1a2436" stroke-width="2"/>
|
||||||
<circle cx="50" cy="50" r="48" fill="url(#it-glow)"/>
|
<circle cx="50" cy="50" r="48" fill="url(#it-glow)"/>
|
||||||
|
<!-- Disque de jade bi (圓璧) — cercle avec trou central -->
|
||||||
<!-- Coffret laqué (corps) -->
|
<circle cx="50" cy="50" r="32" fill="#ffd700" fill-opacity="0.12" stroke="#ffd700" stroke-width="2.5"/>
|
||||||
<!-- Couvercle -->
|
<circle cx="50" cy="50" r="22" fill="#101622" stroke="#ffd700" stroke-width="1.5"/>
|
||||||
<rect x="20" y="26" width="60" height="20" rx="3" fill="#00d4d4" fill-opacity="0.12" stroke="#00d4d4" stroke-width="2.5"/>
|
<circle cx="50" cy="50" r="14" fill="#ffd700" fill-opacity="0.08" stroke="#ffd700" stroke-width="1" opacity="0.6"/>
|
||||||
<!-- Corps du coffret -->
|
<!-- Motifs décoratifs — 8 trigrammes stylisés sur le pourtour -->
|
||||||
<rect x="18" y="46" width="64" height="32" rx="3" fill="#00d4d4" fill-opacity="0.08" stroke="#00d4d4" stroke-width="2.5"/>
|
<circle cx="50" cy="50" r="27" fill="none" stroke="#ffd700" stroke-width="0.8" stroke-dasharray="3 4.2" opacity="0.5"/>
|
||||||
|
<!-- Encoches décoratives aux 8 directions -->
|
||||||
<!-- Ligne de séparation couvercle/corps -->
|
<line x1="50" y1="18" x2="50" y2="23" stroke="#ffd700" stroke-width="2" stroke-linecap="round"/>
|
||||||
<line x1="18" y1="46" x2="82" y2="46" stroke="#00d4d4" stroke-width="1.5" opacity="0.7"/>
|
<line x1="50" y1="77" x2="50" y2="82" stroke="#ffd700" stroke-width="2" stroke-linecap="round"/>
|
||||||
|
<line x1="18" y1="50" x2="23" y2="50" stroke="#ffd700" stroke-width="2" stroke-linecap="round"/>
|
||||||
<!-- Ornements du couvercle -->
|
<line x1="77" y1="50" x2="82" y2="50" stroke="#ffd700" stroke-width="2" stroke-linecap="round"/>
|
||||||
<!-- Motif de losanges (style laque chinoise) -->
|
<line x1="27.6" y1="27.6" x2="31.1" y2="31.1" stroke="#ffd700" stroke-width="2" stroke-linecap="round"/>
|
||||||
<path d="M36 36 L50 28 L64 36 L50 44 Z" fill="none" stroke="#00d4d4" stroke-width="1" opacity="0.5"/>
|
<line x1="68.9" y1="68.9" x2="72.4" y2="72.4" stroke="#ffd700" stroke-width="2" stroke-linecap="round"/>
|
||||||
<!-- Lignes décoratives côtés couvercle -->
|
<line x1="72.4" y1="27.6" x2="68.9" y2="31.1" stroke="#ffd700" stroke-width="2" stroke-linecap="round"/>
|
||||||
<line x1="22" y1="30" x2="22" y2="42" stroke="#00d4d4" stroke-width="1" opacity="0.4"/>
|
<line x1="27.6" y1="72.4" x2="31.1" y2="68.9" stroke="#ffd700" stroke-width="2" stroke-linecap="round"/>
|
||||||
<line x1="78" y1="30" x2="78" y2="42" stroke="#00d4d4" stroke-width="1" opacity="0.4"/>
|
<!-- Reflet jade -->
|
||||||
|
<path d="M36 30 Q42 28 46 32" fill="none" stroke="#ffd700" stroke-width="1.5" stroke-linecap="round" opacity="0.7"/>
|
||||||
<!-- Serrure yin-yang au centre du corps du coffret -->
|
|
||||||
<!-- Cercle de la serrure -->
|
|
||||||
<circle cx="50" cy="60" r="9" fill="#101622" stroke="#00d4d4" stroke-width="2"/>
|
|
||||||
<!-- Yin-yang simplifié dans la serrure -->
|
|
||||||
<!-- Moitié yang (gauche, claire) -->
|
|
||||||
<path d="M50 51 A9 9 0 0 0 50 69 A4.5 4.5 0 0 0 50 60 A4.5 4.5 0 0 1 50 51"
|
|
||||||
fill="#00d4d4" fill-opacity="0.4"/>
|
|
||||||
<!-- Petits cercles du yin-yang -->
|
|
||||||
<circle cx="50" cy="55.5" r="2" fill="#101622"/>
|
|
||||||
<circle cx="50" cy="64.5" r="2" fill="#00d4d4" fill-opacity="0.6"/>
|
|
||||||
|
|
||||||
<!-- Anneau de la serrure (trou de clé) -->
|
|
||||||
<rect x="48" y="66" width="4" height="5" rx="1" fill="#00d4d4" fill-opacity="0.5"/>
|
|
||||||
|
|
||||||
<!-- Ferrures du coffret (coins) -->
|
|
||||||
<!-- Coins du corps -->
|
|
||||||
<path d="M18 46 L18 54 L24 54" fill="none" stroke="#00d4d4" stroke-width="1.5" stroke-linecap="round"/>
|
|
||||||
<path d="M82 46 L82 54 L76 54" fill="none" stroke="#00d4d4" stroke-width="1.5" stroke-linecap="round"/>
|
|
||||||
<path d="M18 78 L18 70 L24 70" fill="none" stroke="#00d4d4" stroke-width="1.5" stroke-linecap="round"/>
|
|
||||||
<path d="M82 78 L82 70 L76 70" fill="none" stroke="#00d4d4" stroke-width="1.5" stroke-linecap="round"/>
|
|
||||||
|
|
||||||
<!-- Charnières du coffret (sur le côté droit) -->
|
|
||||||
<rect x="76" y="40" width="8" height="5" rx="2" fill="#00d4d4" fill-opacity="0.3" stroke="#00d4d4" stroke-width="1"/>
|
|
||||||
<rect x="76" y="50" width="8" height="5" rx="2" fill="#00d4d4" fill-opacity="0.3" stroke="#00d4d4" stroke-width="1"/>
|
|
||||||
|
|
||||||
<!-- Motif décoratif sur le bas du coffret -->
|
|
||||||
<path d="M26 72 Q50 68 74 72" fill="none" stroke="#00d4d4" stroke-width="1" stroke-dasharray="3 2" opacity="0.4"/>
|
|
||||||
<!-- Petits ornements latéraux sur le corps -->
|
|
||||||
<line x1="22" y1="56" x2="22" y2="68" stroke="#00d4d4" stroke-width="1" stroke-dasharray="2 2" opacity="0.4"/>
|
|
||||||
<line x1="78" y1="56" x2="78" y2="68" stroke="#00d4d4" stroke-width="1" stroke-dasharray="2 2" opacity="0.4"/>
|
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 2.0 KiB |
@@ -1,38 +1,29 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100">
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100">
|
||||||
<!-- Fond circulaire -->
|
|
||||||
<circle cx="50" cy="50" r="48" fill="#101622" stroke="#1a2436" stroke-width="2"/>
|
|
||||||
<circle cx="50" cy="50" r="48" fill="url(#kg-glow)" fill-opacity="0.12"/>
|
|
||||||
<defs>
|
<defs>
|
||||||
<radialGradient id="kg-glow" cx="50%" cy="50%" r="50%">
|
<radialGradient id="kf-glow" cx="50%" cy="50%" r="50%">
|
||||||
<stop offset="0%" stop-color="#ff3d5a" stop-opacity="0.4"/>
|
<stop offset="0%" stop-color="#ff2244" stop-opacity="0.4"/>
|
||||||
<stop offset="100%" stop-color="#ff3d5a" stop-opacity="0"/>
|
<stop offset="100%" stop-color="#ff2244" stop-opacity="0"/>
|
||||||
</radialGradient>
|
</radialGradient>
|
||||||
</defs>
|
</defs>
|
||||||
|
<circle cx="50" cy="50" r="48" fill="#101622" stroke="#1a2436" stroke-width="2"/>
|
||||||
<!-- Poing stylisé (vue de face, doigts repliés) -->
|
<circle cx="50" cy="50" r="48" fill="url(#kf-glow)"/>
|
||||||
<!-- Paume / base -->
|
<!-- Silhouette grue — posture sur une jambe, ailes déployées -->
|
||||||
<rect x="32" y="52" width="36" height="20" rx="4" fill="#ff3d5a" fill-opacity="0.18" stroke="#ff3d5a" stroke-width="2"/>
|
<!-- Tête -->
|
||||||
<!-- Doigts repliés — 4 rangées -->
|
<circle cx="50" cy="18" r="5" fill="#ff2244" fill-opacity="0.2" stroke="#ff2244" stroke-width="2"/>
|
||||||
<rect x="33" y="38" width="8" height="16" rx="3" fill="#ff3d5a" fill-opacity="0.18" stroke="#ff3d5a" stroke-width="2"/>
|
<!-- Corps -->
|
||||||
<rect x="43" y="35" width="8" height="19" rx="3" fill="#ff3d5a" fill-opacity="0.18" stroke="#ff3d5a" stroke-width="2"/>
|
<line x1="50" y1="23" x2="50" y2="52" stroke="#ff2244" stroke-width="2.5" stroke-linecap="round"/>
|
||||||
<rect x="53" y="36" width="8" height="18" rx="3" fill="#ff3d5a" fill-opacity="0.18" stroke="#ff3d5a" stroke-width="2"/>
|
<!-- Bras gauche déployé vers le haut -->
|
||||||
<rect x="63" y="40" width="6" height="14" rx="3" fill="#ff3d5a" fill-opacity="0.18" stroke="#ff3d5a" stroke-width="2"/>
|
<path d="M50 33 Q38 26 24 28" fill="none" stroke="#ff2244" stroke-width="2.5" stroke-linecap="round"/>
|
||||||
<!-- Pouce -->
|
<!-- Bras droit vers le bas en attaque -->
|
||||||
<path d="M32 62 Q24 60 25 54 Q26 50 32 52" fill="#ff3d5a" fill-opacity="0.18" stroke="#ff3d5a" stroke-width="2" stroke-linejoin="round"/>
|
<path d="M50 33 Q62 36 72 30" fill="none" stroke="#ff2244" stroke-width="2.5" stroke-linecap="round"/>
|
||||||
|
<!-- Jambe d'appui -->
|
||||||
<!-- Éclairs de qi (3 rayons) -->
|
<line x1="50" y1="52" x2="50" y2="78" stroke="#ff2244" stroke-width="2.5" stroke-linecap="round"/>
|
||||||
<!-- Éclair gauche-haut -->
|
<path d="M50 78 Q45 82 40 80" fill="none" stroke="#ff2244" stroke-width="2.5" stroke-linecap="round"/>
|
||||||
<polyline points="24,28 19,20 25,22 20,13" fill="none" stroke="#ff3d5a" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" opacity="0.9"/>
|
<!-- Jambe levée -->
|
||||||
<!-- Éclair centre-haut -->
|
<path d="M50 52 Q60 58 66 52 Q70 46 72 50" fill="none" stroke="#ff2244" stroke-width="2.5" stroke-linecap="round"/>
|
||||||
<polyline points="50,30 47,20 52,23 49,13" fill="none" stroke="#ff3d5a" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" opacity="0.9"/>
|
<!-- Énergie chi — spirales autour du personnage -->
|
||||||
<!-- Éclair droite-haut -->
|
<path d="M20 45 Q18 38 24 34 Q30 30 28 24" fill="none" stroke="#ff2244" stroke-width="1.2" stroke-linecap="round" opacity="0.5"/>
|
||||||
<polyline points="74,32 80,22 74,24 79,14" fill="none" stroke="#ff3d5a" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" opacity="0.9"/>
|
<path d="M78 40 Q82 46 78 52 Q74 58 78 64" fill="none" stroke="#ff2244" stroke-width="1.2" stroke-linecap="round" opacity="0.5"/>
|
||||||
|
<circle cx="24" cy="28" r="2" fill="#ff2244" opacity="0.8"/>
|
||||||
<!-- Petites étincelles -->
|
<circle cx="72" cy="30" r="2" fill="#ff2244" opacity="0.8"/>
|
||||||
<circle cx="22" cy="35" r="1.5" fill="#ff3d5a" opacity="0.8"/>
|
|
||||||
<circle cx="78" cy="37" r="1.5" fill="#ff3d5a" opacity="0.8"/>
|
|
||||||
<circle cx="50" cy="26" r="1.5" fill="#ff3d5a" opacity="0.8"/>
|
|
||||||
|
|
||||||
<!-- Ligne de force sous le poing -->
|
|
||||||
<path d="M28 73 Q50 80 72 73" fill="none" stroke="#ff3d5a" stroke-width="1.5" stroke-dasharray="3 2" opacity="0.5"/>
|
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 1.8 KiB |
@@ -0,0 +1,34 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100">
|
||||||
|
<defs>
|
||||||
|
<radialGradient id="dm-glow" cx="50%" cy="50%" r="50%">
|
||||||
|
<stop offset="0%" stop-color="#cc0000" stop-opacity="0.45"/>
|
||||||
|
<stop offset="100%" stop-color="#cc0000" stop-opacity="0"/>
|
||||||
|
</radialGradient>
|
||||||
|
</defs>
|
||||||
|
<circle cx="50" cy="50" r="48" fill="#101622" stroke="#1a2436" stroke-width="2"/>
|
||||||
|
<circle cx="50" cy="50" r="48" fill="url(#dm-glow)"/>
|
||||||
|
<!-- Masque d'opéra cantonais — démon -->
|
||||||
|
<!-- Visage -->
|
||||||
|
<ellipse cx="50" cy="50" rx="26" ry="30" fill="#cc0000" fill-opacity="0.18" stroke="#cc0000" stroke-width="2"/>
|
||||||
|
<!-- Motif front — marques tribales -->
|
||||||
|
<path d="M36 36 Q42 30 50 32 Q58 30 64 36" fill="none" stroke="#cc0000" stroke-width="2" stroke-linecap="round"/>
|
||||||
|
<line x1="50" y1="22" x2="50" y2="32" stroke="#cc0000" stroke-width="2" stroke-linecap="round"/>
|
||||||
|
<!-- Cornes -->
|
||||||
|
<path d="M36 28 Q30 16 26 12" fill="none" stroke="#cc0000" stroke-width="2.5" stroke-linecap="round"/>
|
||||||
|
<path d="M64 28 Q70 16 74 12" fill="none" stroke="#cc0000" stroke-width="2.5" stroke-linecap="round"/>
|
||||||
|
<!-- Yeux en amande — regard furieux -->
|
||||||
|
<path d="M34 46 Q38 42 42 46 Q38 50 34 46Z" fill="#cc0000" fill-opacity="0.5" stroke="#cc0000" stroke-width="1.5"/>
|
||||||
|
<path d="M58 46 Q62 42 66 46 Q62 50 58 46Z" fill="#cc0000" fill-opacity="0.5" stroke="#cc0000" stroke-width="1.5"/>
|
||||||
|
<circle cx="38" cy="46" r="1.5" fill="#cc0000"/>
|
||||||
|
<circle cx="62" cy="46" r="1.5" fill="#cc0000"/>
|
||||||
|
<!-- Nez -->
|
||||||
|
<path d="M46 52 Q50 56 54 52" fill="none" stroke="#cc0000" stroke-width="1.5" stroke-linecap="round"/>
|
||||||
|
<!-- Bouche avec crocs -->
|
||||||
|
<path d="M34 62 Q42 70 50 68 Q58 70 66 62" fill="none" stroke="#cc0000" stroke-width="2" stroke-linecap="round"/>
|
||||||
|
<line x1="44" y1="65" x2="44" y2="72" stroke="#cc0000" stroke-width="1.5" stroke-linecap="round"/>
|
||||||
|
<line x1="50" y1="68" x2="50" y2="75" stroke="#cc0000" stroke-width="1.5" stroke-linecap="round"/>
|
||||||
|
<line x1="56" y1="65" x2="56" y2="72" stroke="#cc0000" stroke-width="1.5" stroke-linecap="round"/>
|
||||||
|
<!-- Moustaches -->
|
||||||
|
<path d="M36 56 Q28 52 22 54" fill="none" stroke="#cc0000" stroke-width="1.5" stroke-linecap="round" opacity="0.7"/>
|
||||||
|
<path d="M64 56 Q72 52 78 54" fill="none" stroke="#cc0000" stroke-width="1.5" stroke-linecap="round" opacity="0.7"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.3 KiB |
@@ -0,0 +1,37 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100">
|
||||||
|
<defs>
|
||||||
|
<radialGradient id="dieu-glow" cx="50%" cy="50%" r="50%">
|
||||||
|
<stop offset="0%" stop-color="#ffd700" stop-opacity="0.5"/>
|
||||||
|
<stop offset="100%" stop-color="#ffd700" stop-opacity="0"/>
|
||||||
|
</radialGradient>
|
||||||
|
</defs>
|
||||||
|
<circle cx="50" cy="50" r="48" fill="#101622" stroke="#1a2436" stroke-width="2"/>
|
||||||
|
<circle cx="50" cy="50" r="48" fill="url(#dieu-glow)"/>
|
||||||
|
<!-- Soleil impérial céleste -->
|
||||||
|
<!-- Rayons -->
|
||||||
|
<line x1="50" y1="14" x2="50" y2="24" stroke="#ffd700" stroke-width="2" stroke-linecap="round"/>
|
||||||
|
<line x1="50" y1="76" x2="50" y2="86" stroke="#ffd700" stroke-width="2" stroke-linecap="round"/>
|
||||||
|
<line x1="14" y1="50" x2="24" y2="50" stroke="#ffd700" stroke-width="2" stroke-linecap="round"/>
|
||||||
|
<line x1="76" y1="50" x2="86" y2="50" stroke="#ffd700" stroke-width="2" stroke-linecap="round"/>
|
||||||
|
<line x1="24.8" y1="24.8" x2="31.9" y2="31.9" stroke="#ffd700" stroke-width="2" stroke-linecap="round"/>
|
||||||
|
<line x1="68.1" y1="68.1" x2="75.2" y2="75.2" stroke="#ffd700" stroke-width="2" stroke-linecap="round"/>
|
||||||
|
<line x1="75.2" y1="24.8" x2="68.1" y2="31.9" stroke="#ffd700" stroke-width="2" stroke-linecap="round"/>
|
||||||
|
<line x1="24.8" y1="75.2" x2="31.9" y2="68.1" stroke="#ffd700" stroke-width="2" stroke-linecap="round"/>
|
||||||
|
<!-- Rayons diagonaux secondaires -->
|
||||||
|
<line x1="29.6" y1="18.8" x2="33.8" y2="26.8" stroke="#ffd700" stroke-width="1.2" stroke-linecap="round" opacity="0.6"/>
|
||||||
|
<line x1="70.4" y1="18.8" x2="66.2" y2="26.8" stroke="#ffd700" stroke-width="1.2" stroke-linecap="round" opacity="0.6"/>
|
||||||
|
<line x1="18.8" y1="29.6" x2="26.8" y2="33.8" stroke="#ffd700" stroke-width="1.2" stroke-linecap="round" opacity="0.6"/>
|
||||||
|
<line x1="81.2" y1="29.6" x2="73.2" y2="33.8" stroke="#ffd700" stroke-width="1.2" stroke-linecap="round" opacity="0.6"/>
|
||||||
|
<line x1="18.8" y1="70.4" x2="26.8" y2="66.2" stroke="#ffd700" stroke-width="1.2" stroke-linecap="round" opacity="0.6"/>
|
||||||
|
<line x1="81.2" y1="70.4" x2="73.2" y2="66.2" stroke="#ffd700" stroke-width="1.2" stroke-linecap="round" opacity="0.6"/>
|
||||||
|
<line x1="29.6" y1="81.2" x2="33.8" y2="73.2" stroke="#ffd700" stroke-width="1.2" stroke-linecap="round" opacity="0.6"/>
|
||||||
|
<line x1="70.4" y1="81.2" x2="66.2" y2="73.2" stroke="#ffd700" stroke-width="1.2" stroke-linecap="round" opacity="0.6"/>
|
||||||
|
<!-- Cercle central solaire -->
|
||||||
|
<circle cx="50" cy="50" r="16" fill="#ffd700" fill-opacity="0.2" stroke="#ffd700" stroke-width="2.5"/>
|
||||||
|
<!-- Nuages célestes stylisés en dessous -->
|
||||||
|
<path d="M32 58 Q36 52 42 56 Q46 50 50 54 Q54 50 58 56 Q64 52 68 58" fill="none" stroke="#ffd700" stroke-width="1.5" stroke-linecap="round" opacity="0.6"/>
|
||||||
|
<!-- Idéogramme stylisé au centre (天) -->
|
||||||
|
<line x1="44" y1="45" x2="56" y2="45" stroke="#ffd700" stroke-width="1.8" stroke-linecap="round"/>
|
||||||
|
<line x1="50" y1="42" x2="50" y2="58" stroke="#ffd700" stroke-width="1.8" stroke-linecap="round"/>
|
||||||
|
<line x1="42" y1="58" x2="58" y2="58" stroke="#ffd700" stroke-width="1.8" stroke-linecap="round"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 3.0 KiB |
@@ -0,0 +1,36 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100">
|
||||||
|
<defs>
|
||||||
|
<radialGradient id="ea-glow" cx="50%" cy="50%" r="50%">
|
||||||
|
<stop offset="0%" stop-color="#ff8c00" stop-opacity="0.4"/>
|
||||||
|
<stop offset="100%" stop-color="#ff8c00" stop-opacity="0"/>
|
||||||
|
</radialGradient>
|
||||||
|
</defs>
|
||||||
|
<circle cx="50" cy="50" r="48" fill="#101622" stroke="#1a2436" stroke-width="2"/>
|
||||||
|
<circle cx="50" cy="50" r="48" fill="url(#ea-glow)"/>
|
||||||
|
<!-- Tête de renard (esprit renard — huli jing) -->
|
||||||
|
<!-- Museau triangulaire -->
|
||||||
|
<path d="M28 68 Q50 30 72 68 Q62 80 50 78 Q38 80 28 68Z"
|
||||||
|
fill="#ff8c00" fill-opacity="0.18" stroke="#ff8c00" stroke-width="2"/>
|
||||||
|
<!-- Oreilles pointues -->
|
||||||
|
<path d="M28 68 Q22 48 30 30 Q36 44 40 52Z" fill="#ff8c00" fill-opacity="0.25" stroke="#ff8c00" stroke-width="2"/>
|
||||||
|
<path d="M72 68 Q78 48 70 30 Q64 44 60 52Z" fill="#ff8c00" fill-opacity="0.25" stroke="#ff8c00" stroke-width="2"/>
|
||||||
|
<!-- Intérieur oreilles -->
|
||||||
|
<path d="M30 62 Q27 50 33 36 Q36 46 39 52Z" fill="#ff8c00" fill-opacity="0.4" stroke="none"/>
|
||||||
|
<path d="M70 62 Q73 50 67 36 Q64 46 61 52Z" fill="#ff8c00" fill-opacity="0.4" stroke="none"/>
|
||||||
|
<!-- Yeux en amande -->
|
||||||
|
<path d="M36 58 Q42 52 46 58 Q42 62 36 58Z" fill="#ff8c00" fill-opacity="0.6" stroke="#ff8c00" stroke-width="1.5"/>
|
||||||
|
<path d="M54 58 Q58 52 64 58 Q58 62 54 58Z" fill="#ff8c00" fill-opacity="0.6" stroke="#ff8c00" stroke-width="1.5"/>
|
||||||
|
<circle cx="41" cy="57" r="1.5" fill="#ff8c00"/>
|
||||||
|
<circle cx="59" cy="57" r="1.5" fill="#ff8c00"/>
|
||||||
|
<!-- Nez -->
|
||||||
|
<path d="M46 66 Q50 70 54 66 Q50 64 46 66Z" fill="#ff8c00" opacity="0.7"/>
|
||||||
|
<!-- Moustaches -->
|
||||||
|
<line x1="50" y1="67" x2="50" y2="74" stroke="#ff8c00" stroke-width="1.5" stroke-linecap="round" opacity="0.6"/>
|
||||||
|
<line x1="34" y1="68" x2="46" y2="68" stroke="#ff8c00" stroke-width="1" stroke-linecap="round" opacity="0.5"/>
|
||||||
|
<line x1="54" y1="68" x2="66" y2="68" stroke="#ff8c00" stroke-width="1" stroke-linecap="round" opacity="0.5"/>
|
||||||
|
<line x1="32" y1="72" x2="46" y2="70" stroke="#ff8c00" stroke-width="1" stroke-linecap="round" opacity="0.5"/>
|
||||||
|
<line x1="54" y1="70" x2="68" y2="72" stroke="#ff8c00" stroke-width="1" stroke-linecap="round" opacity="0.5"/>
|
||||||
|
<!-- Marques spirituelles sur le front -->
|
||||||
|
<circle cx="50" cy="46" r="3" fill="none" stroke="#ff8c00" stroke-width="1.5" opacity="0.7"/>
|
||||||
|
<line x1="50" y1="34" x2="50" y2="43" stroke="#ff8c00" stroke-width="1.5" stroke-linecap="round" opacity="0.7"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.4 KiB |
@@ -0,0 +1,33 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100">
|
||||||
|
<defs>
|
||||||
|
<radialGradient id="fa-glow" cx="50%" cy="50%" r="50%">
|
||||||
|
<stop offset="0%" stop-color="#88aaff" stop-opacity="0.4"/>
|
||||||
|
<stop offset="100%" stop-color="#88aaff" stop-opacity="0"/>
|
||||||
|
</radialGradient>
|
||||||
|
</defs>
|
||||||
|
<circle cx="50" cy="50" r="48" fill="#101622" stroke="#1a2436" stroke-width="2"/>
|
||||||
|
<circle cx="50" cy="50" r="48" fill="url(#fa-glow)"/>
|
||||||
|
<!-- Lanterne en papier avec visage fantôme -->
|
||||||
|
<!-- Corde du haut -->
|
||||||
|
<line x1="50" y1="14" x2="50" y2="22" stroke="#88aaff" stroke-width="1.8" stroke-linecap="round"/>
|
||||||
|
<line x1="44" y1="22" x2="56" y2="22" stroke="#88aaff" stroke-width="1.8" stroke-linecap="round"/>
|
||||||
|
<!-- Corps de la lanterne -->
|
||||||
|
<path d="M36 22 Q24 38 24 54 Q24 70 36 76 Q50 84 64 76 Q76 70 76 54 Q76 38 64 22 Z"
|
||||||
|
fill="#88aaff" fill-opacity="0.12" stroke="#88aaff" stroke-width="2"/>
|
||||||
|
<!-- Côtes de lanterne -->
|
||||||
|
<path d="M26 36 Q50 32 74 36" fill="none" stroke="#88aaff" stroke-width="1" opacity="0.5"/>
|
||||||
|
<path d="M24 50 Q50 46 76 50" fill="none" stroke="#88aaff" stroke-width="1" opacity="0.5"/>
|
||||||
|
<path d="M26 64 Q50 60 74 64" fill="none" stroke="#88aaff" stroke-width="1" opacity="0.5"/>
|
||||||
|
<!-- Visage fantomatique -->
|
||||||
|
<!-- Yeux creux -->
|
||||||
|
<ellipse cx="40" cy="48" rx="5" ry="6" fill="#88aaff" fill-opacity="0.35" stroke="#88aaff" stroke-width="1.5"/>
|
||||||
|
<ellipse cx="60" cy="48" rx="5" ry="6" fill="#88aaff" fill-opacity="0.35" stroke="#88aaff" stroke-width="1.5"/>
|
||||||
|
<!-- Bouche tordue -->
|
||||||
|
<path d="M36 60 Q42 66 50 62 Q58 66 64 60" fill="none" stroke="#88aaff" stroke-width="2" stroke-linecap="round"/>
|
||||||
|
<!-- Franges du bas de la lanterne -->
|
||||||
|
<line x1="40" y1="76" x2="38" y2="86" stroke="#88aaff" stroke-width="1.2" stroke-linecap="round" opacity="0.6"/>
|
||||||
|
<line x1="50" y1="78" x2="50" y2="88" stroke="#88aaff" stroke-width="1.2" stroke-linecap="round" opacity="0.6"/>
|
||||||
|
<line x1="60" y1="76" x2="62" y2="86" stroke="#88aaff" stroke-width="1.2" stroke-linecap="round" opacity="0.6"/>
|
||||||
|
<!-- Lueur intérieure -->
|
||||||
|
<ellipse cx="50" cy="52" rx="12" ry="14" fill="#88aaff" fill-opacity="0.08"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.1 KiB |
@@ -0,0 +1,38 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100">
|
||||||
|
<defs>
|
||||||
|
<radialGradient id="jg-glow" cx="50%" cy="50%" r="50%">
|
||||||
|
<stop offset="0%" stop-color="#cc44ff" stop-opacity="0.45"/>
|
||||||
|
<stop offset="100%" stop-color="#cc44ff" stop-opacity="0"/>
|
||||||
|
</radialGradient>
|
||||||
|
</defs>
|
||||||
|
<circle cx="50" cy="50" r="48" fill="#101622" stroke="#1a2436" stroke-width="2"/>
|
||||||
|
<circle cx="50" cy="50" r="48" fill="url(#jg-glow)"/>
|
||||||
|
<!-- Jiugwaai — créature de rue à multiples yeux -->
|
||||||
|
<!-- Silhouette bossue -->
|
||||||
|
<path d="M24 72 Q22 56 28 44 Q34 32 50 28 Q66 32 72 44 Q78 56 76 72 Q66 78 50 80 Q34 78 24 72Z"
|
||||||
|
fill="#cc44ff" fill-opacity="0.12" stroke="#cc44ff" stroke-width="2"/>
|
||||||
|
<!-- Multiples yeux disposés irrégulièrement -->
|
||||||
|
<ellipse cx="36" cy="42" rx="5" ry="4" fill="#cc44ff" fill-opacity="0.4" stroke="#cc44ff" stroke-width="1.5"/>
|
||||||
|
<circle cx="36" cy="42" r="2" fill="#cc44ff"/>
|
||||||
|
<ellipse cx="52" cy="36" rx="4" ry="5" fill="#cc44ff" fill-opacity="0.4" stroke="#cc44ff" stroke-width="1.5"/>
|
||||||
|
<circle cx="52" cy="36" r="2" fill="#cc44ff"/>
|
||||||
|
<ellipse cx="65" cy="44" rx="5" ry="4" fill="#cc44ff" fill-opacity="0.4" stroke="#cc44ff" stroke-width="1.5"/>
|
||||||
|
<circle cx="65" cy="44" r="2" fill="#cc44ff"/>
|
||||||
|
<ellipse cx="42" cy="56" rx="4" ry="4" fill="#cc44ff" fill-opacity="0.4" stroke="#cc44ff" stroke-width="1.5"/>
|
||||||
|
<circle cx="42" cy="56" r="2" fill="#cc44ff"/>
|
||||||
|
<ellipse cx="60" cy="54" rx="4" ry="5" fill="#cc44ff" fill-opacity="0.4" stroke="#cc44ff" stroke-width="1.5"/>
|
||||||
|
<circle cx="60" cy="54" r="2" fill="#cc44ff"/>
|
||||||
|
<!-- Petit oeil supplémentaire -->
|
||||||
|
<circle cx="50" cy="48" r="3" fill="#cc44ff" fill-opacity="0.3" stroke="#cc44ff" stroke-width="1.2"/>
|
||||||
|
<circle cx="50" cy="48" r="1.5" fill="#cc44ff" opacity="0.8"/>
|
||||||
|
<!-- Membres difformes -->
|
||||||
|
<path d="M24 72 Q16 68 12 78" fill="none" stroke="#cc44ff" stroke-width="2" stroke-linecap="round" opacity="0.7"/>
|
||||||
|
<path d="M76 72 Q84 68 88 78" fill="none" stroke="#cc44ff" stroke-width="2" stroke-linecap="round" opacity="0.7"/>
|
||||||
|
<path d="M30 46 Q18 44 14 50" fill="none" stroke="#cc44ff" stroke-width="1.5" stroke-linecap="round" opacity="0.6"/>
|
||||||
|
<path d="M70 46 Q82 44 86 50" fill="none" stroke="#cc44ff" stroke-width="1.5" stroke-linecap="round" opacity="0.6"/>
|
||||||
|
<!-- Bouche dentée -->
|
||||||
|
<path d="M36 66 Q44 72 50 70 Q56 72 64 66" fill="none" stroke="#cc44ff" stroke-width="2" stroke-linecap="round"/>
|
||||||
|
<line x1="42" y1="68" x2="40" y2="74" stroke="#cc44ff" stroke-width="1.5" stroke-linecap="round"/>
|
||||||
|
<line x1="50" y1="70" x2="50" y2="76" stroke="#cc44ff" stroke-width="1.5" stroke-linecap="round"/>
|
||||||
|
<line x1="58" y1="68" x2="60" y2="74" stroke="#cc44ff" stroke-width="1.5" stroke-linecap="round"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.7 KiB |
@@ -0,0 +1,36 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100">
|
||||||
|
<defs>
|
||||||
|
<radialGradient id="mo-glow" cx="50%" cy="50%" r="50%">
|
||||||
|
<stop offset="0%" stop-color="#4ecdc4" stop-opacity="0.35"/>
|
||||||
|
<stop offset="100%" stop-color="#4ecdc4" stop-opacity="0"/>
|
||||||
|
</radialGradient>
|
||||||
|
</defs>
|
||||||
|
<circle cx="50" cy="50" r="48" fill="#101622" stroke="#1a2436" stroke-width="2"/>
|
||||||
|
<circle cx="50" cy="50" r="48" fill="url(#mo-glow)"/>
|
||||||
|
<!-- Silhouette homme en trench-coat — style triades HK -->
|
||||||
|
<!-- Tête -->
|
||||||
|
<circle cx="50" cy="22" r="8" fill="#4ecdc4" fill-opacity="0.2" stroke="#4ecdc4" stroke-width="2"/>
|
||||||
|
<!-- Cou -->
|
||||||
|
<line x1="50" y1="30" x2="50" y2="36" stroke="#4ecdc4" stroke-width="3" stroke-linecap="round"/>
|
||||||
|
<!-- Corps trench-coat -->
|
||||||
|
<path d="M32 36 Q32 54 34 68 Q42 72 50 72 Q58 72 66 68 Q68 54 68 36 Q60 32 50 32 Q40 32 32 36Z"
|
||||||
|
fill="#4ecdc4" fill-opacity="0.12" stroke="#4ecdc4" stroke-width="2"/>
|
||||||
|
<!-- Col relevé -->
|
||||||
|
<path d="M36 36 Q42 30 50 32 Q58 30 64 36" fill="none" stroke="#4ecdc4" stroke-width="2" stroke-linecap="round"/>
|
||||||
|
<!-- Revers du manteau -->
|
||||||
|
<path d="M36 36 Q44 44 48 68" fill="none" stroke="#4ecdc4" stroke-width="1.5" stroke-linecap="round" opacity="0.7"/>
|
||||||
|
<path d="M64 36 Q56 44 52 68" fill="none" stroke="#4ecdc4" stroke-width="1.5" stroke-linecap="round" opacity="0.7"/>
|
||||||
|
<!-- Bras gauche — main dans la poche -->
|
||||||
|
<path d="M32 36 Q22 44 22 56 Q24 60 28 58" fill="none" stroke="#4ecdc4" stroke-width="2.5" stroke-linecap="round"/>
|
||||||
|
<!-- Bras droit — bras le long du corps -->
|
||||||
|
<path d="M68 36 Q78 44 78 56 Q76 60 72 58" fill="none" stroke="#4ecdc4" stroke-width="2.5" stroke-linecap="round"/>
|
||||||
|
<!-- Jambes -->
|
||||||
|
<line x1="44" y1="72" x2="42" y2="88" stroke="#4ecdc4" stroke-width="2.5" stroke-linecap="round"/>
|
||||||
|
<line x1="56" y1="72" x2="58" y2="88" stroke="#4ecdc4" stroke-width="2.5" stroke-linecap="round"/>
|
||||||
|
<!-- Chaussures -->
|
||||||
|
<path d="M42 88 Q38 90 34 88" fill="none" stroke="#4ecdc4" stroke-width="2" stroke-linecap="round"/>
|
||||||
|
<path d="M58 88 Q62 90 66 88" fill="none" stroke="#4ecdc4" stroke-width="2" stroke-linecap="round"/>
|
||||||
|
<!-- Cigarette à la bouche -->
|
||||||
|
<line x1="52" y1="21" x2="58" y2="19" stroke="#4ecdc4" stroke-width="1.5" stroke-linecap="round" opacity="0.7"/>
|
||||||
|
<circle cx="59" cy="18" r="1.5" fill="#4ecdc4" opacity="0.8"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.3 KiB |
@@ -1,58 +1,31 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100">
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100">
|
||||||
<defs>
|
<defs>
|
||||||
<radialGradient id="sh-glow" cx="50%" cy="50%" r="50%">
|
<radialGradient id="sh-glow" cx="50%" cy="50%" r="50%">
|
||||||
<stop offset="0%" stop-color="#cc44ff" stop-opacity="0.35"/>
|
<stop offset="0%" stop-color="#00ff9f" stop-opacity="0.45"/>
|
||||||
<stop offset="100%" stop-color="#cc44ff" stop-opacity="0"/>
|
<stop offset="100%" stop-color="#00ff9f" stop-opacity="0"/>
|
||||||
</radialGradient>
|
</radialGradient>
|
||||||
</defs>
|
</defs>
|
||||||
|
|
||||||
<!-- Fond -->
|
|
||||||
<circle cx="50" cy="50" r="48" fill="#101622" stroke="#1a2436" stroke-width="2"/>
|
<circle cx="50" cy="50" r="48" fill="#101622" stroke="#1a2436" stroke-width="2"/>
|
||||||
<circle cx="50" cy="50" r="48" fill="url(#sh-glow)"/>
|
<circle cx="50" cy="50" r="48" fill="url(#sh-glow)"/>
|
||||||
|
<!-- Trois souffles (三氣) — trois spirales en trinity -->
|
||||||
<!-- Disque Bi (玉璧) — anneau de jade -->
|
<!-- Spirale 1 — haut gauche -->
|
||||||
<!-- Anneau extérieur -->
|
<path d="M36 38 Q28 30 30 22 Q34 14 42 18 Q50 22 48 30 Q46 36 38 38 Q32 38 30 34"
|
||||||
<circle cx="50" cy="50" r="32" fill="#cc44ff" fill-opacity="0.12" stroke="#cc44ff" stroke-width="2.5"/>
|
fill="none" stroke="#00ff9f" stroke-width="2.2" stroke-linecap="round"/>
|
||||||
<!-- Trou central du bi -->
|
<circle cx="30" cy="34" r="2.5" fill="#00ff9f" opacity="0.8"/>
|
||||||
<circle cx="50" cy="50" r="14" fill="#101622" stroke="#cc44ff" stroke-width="2"/>
|
<!-- Spirale 2 — haut droite -->
|
||||||
|
<path d="M64 38 Q72 30 70 22 Q66 14 58 18 Q50 22 52 30 Q54 36 62 38 Q68 38 70 34"
|
||||||
<!-- Gravures décoratives sur le disque (surface du bi) -->
|
fill="none" stroke="#00ff9f" stroke-width="2.2" stroke-linecap="round"/>
|
||||||
<!-- Spirales de grain (yun wen) — motif traditionnel des bi -->
|
<circle cx="70" cy="34" r="2.5" fill="#00ff9f" opacity="0.8"/>
|
||||||
<circle cx="50" cy="50" r="23" fill="none" stroke="#cc44ff" stroke-width="0.8" stroke-dasharray="2.5 2" opacity="0.5"/>
|
<!-- Spirale 3 — bas centre -->
|
||||||
<circle cx="50" cy="50" r="19" fill="none" stroke="#cc44ff" stroke-width="0.8" stroke-dasharray="1.5 3" opacity="0.4"/>
|
<path d="M50 72 Q42 76 36 72 Q30 64 36 58 Q42 52 50 56 Q58 60 58 68 Q56 76 50 78"
|
||||||
|
fill="none" stroke="#00ff9f" stroke-width="2.2" stroke-linecap="round"/>
|
||||||
<!-- Petits motifs en spirale sur la surface du bi (8 grains) -->
|
<circle cx="50" cy="78" r="2.5" fill="#00ff9f" opacity="0.8"/>
|
||||||
<path d="M50 22 Q52 20 54 22 Q52 24 50 22" fill="none" stroke="#cc44ff" stroke-width="1" opacity="0.7"/>
|
<!-- Connexions entre les trois spirales -->
|
||||||
<path d="M68 32 Q70 30 72 32 Q70 34 68 32" fill="none" stroke="#cc44ff" stroke-width="1" opacity="0.7"/>
|
<line x1="36" y1="38" x2="42" y2="48" stroke="#00ff9f" stroke-width="1.5" stroke-linecap="round" opacity="0.5"/>
|
||||||
<path d="M78 50 Q80 48 82 50 Q80 52 78 50" fill="none" stroke="#cc44ff" stroke-width="1" opacity="0.7"/>
|
<line x1="64" y1="38" x2="58" y2="48" stroke="#00ff9f" stroke-width="1.5" stroke-linecap="round" opacity="0.5"/>
|
||||||
<path d="M68 68 Q70 66 72 68 Q70 70 68 68" fill="none" stroke="#cc44ff" stroke-width="1" opacity="0.7"/>
|
<line x1="42" y1="48" x2="58" y2="48" stroke="#00ff9f" stroke-width="1.5" stroke-linecap="round" opacity="0.5"/>
|
||||||
<path d="M50 78 Q52 76 54 78 Q52 80 50 78" fill="none" stroke="#cc44ff" stroke-width="1" opacity="0.7"/>
|
<line x1="50" y1="48" x2="50" y2="56" stroke="#00ff9f" stroke-width="1.5" stroke-linecap="round" opacity="0.5"/>
|
||||||
<path d="M28 68 Q30 66 32 68 Q30 70 28 68" fill="none" stroke="#cc44ff" stroke-width="1" opacity="0.7"/>
|
<!-- Centre lumineux -->
|
||||||
<path d="M18 50 Q20 48 22 50 Q20 52 18 50" fill="none" stroke="#cc44ff" stroke-width="1" opacity="0.7"/>
|
<circle cx="50" cy="48" r="5" fill="#00ff9f" fill-opacity="0.25" stroke="#00ff9f" stroke-width="1.5"/>
|
||||||
<path d="M28 32 Q30 30 32 32 Q30 34 28 32" fill="none" stroke="#cc44ff" stroke-width="1" opacity="0.7"/>
|
<circle cx="50" cy="48" r="2" fill="#00ff9f" opacity="0.9"/>
|
||||||
|
|
||||||
<!-- 3 Perles (San = 3 en cantonais) flottant autour du bi -->
|
|
||||||
<!-- Perle 1 — haut -->
|
|
||||||
<circle cx="50" cy="10" r="5" fill="#cc44ff" fill-opacity="0.25" stroke="#cc44ff" stroke-width="1.8"/>
|
|
||||||
<circle cx="48" cy="8" r="1.5" fill="#cc44ff" fill-opacity="0.6"/>
|
|
||||||
<!-- Fil de perle haut -->
|
|
||||||
<line x1="50" y1="15" x2="50" y2="18" stroke="#cc44ff" stroke-width="1" stroke-dasharray="2 1" opacity="0.6"/>
|
|
||||||
|
|
||||||
<!-- Perle 2 — bas-gauche -->
|
|
||||||
<circle cx="26" cy="84" r="5" fill="#cc44ff" fill-opacity="0.25" stroke="#cc44ff" stroke-width="1.8"/>
|
|
||||||
<circle cx="24" cy="82" r="1.5" fill="#cc44ff" fill-opacity="0.6"/>
|
|
||||||
<!-- Fil perle bas-gauche -->
|
|
||||||
<line x1="30" y1="80" x2="34" y2="76" stroke="#cc44ff" stroke-width="1" stroke-dasharray="2 1" opacity="0.6"/>
|
|
||||||
|
|
||||||
<!-- Perle 3 — bas-droit -->
|
|
||||||
<circle cx="74" cy="84" r="5" fill="#cc44ff" fill-opacity="0.25" stroke="#cc44ff" stroke-width="1.8"/>
|
|
||||||
<circle cx="72" cy="82" r="1.5" fill="#cc44ff" fill-opacity="0.6"/>
|
|
||||||
<!-- Fil perle bas-droit -->
|
|
||||||
<line x1="70" y1="80" x2="66" y2="76" stroke="#cc44ff" stroke-width="1" stroke-dasharray="2 1" opacity="0.6"/>
|
|
||||||
|
|
||||||
<!-- Runes dans le trou central -->
|
|
||||||
<!-- Symbole 三 (3 traits) -->
|
|
||||||
<line x1="44" y1="46" x2="56" y2="46" stroke="#cc44ff" stroke-width="1.5" opacity="0.8"/>
|
|
||||||
<line x1="43" y1="50" x2="57" y2="50" stroke="#cc44ff" stroke-width="1.5" opacity="0.8"/>
|
|
||||||
<line x1="44" y1="54" x2="56" y2="54" stroke="#cc44ff" stroke-width="1.5" opacity="0.8"/>
|
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 2.0 KiB |
@@ -1,62 +1,32 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100">
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100">
|
||||||
<defs>
|
<defs>
|
||||||
<radialGradient id="sp-glow" cx="50%" cy="50%" r="50%">
|
<radialGradient id="sp-glow" cx="50%" cy="50%" r="50%">
|
||||||
<stop offset="0%" stop-color="#4a9eff" stop-opacity="0.35"/>
|
<stop offset="0%" stop-color="#ffe033" stop-opacity="0.45"/>
|
||||||
<stop offset="100%" stop-color="#4a9eff" stop-opacity="0"/>
|
<stop offset="100%" stop-color="#ffe033" stop-opacity="0"/>
|
||||||
</radialGradient>
|
</radialGradient>
|
||||||
</defs>
|
</defs>
|
||||||
|
|
||||||
<!-- Fond -->
|
|
||||||
<circle cx="50" cy="50" r="48" fill="#101622" stroke="#1a2436" stroke-width="2"/>
|
<circle cx="50" cy="50" r="48" fill="#101622" stroke="#1a2436" stroke-width="2"/>
|
||||||
<circle cx="50" cy="50" r="48" fill="url(#sp-glow)"/>
|
<circle cx="50" cy="50" r="48" fill="url(#sp-glow)"/>
|
||||||
|
<!-- Papier talisman (符) qui vole -->
|
||||||
<!-- Octogone extérieur (bagua) -->
|
<!-- Papier incliné -->
|
||||||
<polygon points="50,18 68,24 79,40 79,60 68,76 50,82 32,76 21,60 21,40 32,24"
|
<rect x="30" y="20" width="40" height="58" rx="3" ry="3"
|
||||||
fill="none" stroke="#4a9eff" stroke-width="1.8" opacity="0.7"/>
|
fill="#ffe033" fill-opacity="0.12" stroke="#ffe033" stroke-width="2"
|
||||||
|
transform="rotate(-12 50 50)"/>
|
||||||
<!-- 8 trigrammes sur les côtés (petites lignes stylisées) -->
|
<!-- Lignes d'écriture de talisman -->
|
||||||
<!-- Chaque trigramme = 3 lignes, positionnées sur les 8 côtés de l'octogone -->
|
<line x1="36" y1="30" x2="62" y2="26" stroke="#ffe033" stroke-width="1.8" stroke-linecap="round" opacity="0.8" transform="rotate(-12 50 50)"/>
|
||||||
<!-- Nord -->
|
<line x1="34" y1="38" x2="64" y2="34" stroke="#ffe033" stroke-width="1.4" stroke-linecap="round" opacity="0.6" transform="rotate(-12 50 50)"/>
|
||||||
<line x1="46" y1="13" x2="54" y2="13" stroke="#4a9eff" stroke-width="1.5"/>
|
<line x1="33" y1="46" x2="63" y2="42" stroke="#ffe033" stroke-width="1.4" stroke-linecap="round" opacity="0.6" transform="rotate(-12 50 50)"/>
|
||||||
<line x1="46" y1="16" x2="54" y2="16" stroke="#4a9eff" stroke-width="1.5"/>
|
<!-- Grand caractère fu (符) au centre -->
|
||||||
<line x1="46" y1="19" x2="54" y2="19" stroke="#4a9eff" stroke-width="1.5"/>
|
<text x="50" y="58" text-anchor="middle" font-size="26" font-family="serif"
|
||||||
<!-- Nord-Est -->
|
fill="#ffe033" fill-opacity="0.7" transform="rotate(-12 50 50)">符</text>
|
||||||
<line x1="66" y1="18" x2="72" y2="22" stroke="#4a9eff" stroke-width="1.5"/>
|
<!-- Lignes de sceau en bas -->
|
||||||
<line x1="64" y1="21" x2="70" y2="25" stroke="#4a9eff" stroke-width="1.5"/>
|
<line x1="34" y1="66" x2="64" y2="62" stroke="#ffe033" stroke-width="1.8" stroke-linecap="round" opacity="0.8" transform="rotate(-12 50 50)"/>
|
||||||
<line x1="62" y1="24" x2="66" y2="27" stroke="#4a9eff" stroke-width="1.5"/>
|
<!-- Énergie qui s'échappe du papier -->
|
||||||
<!-- Est -->
|
<path d="M72 22 Q80 16 82 22 Q76 26 72 22Z" fill="#ffe033" fill-opacity="0.5"/>
|
||||||
<line x1="81" y1="46" x2="87" y2="46" stroke="#4a9eff" stroke-width="1.5"/>
|
<path d="M76 32 Q84 28 86 34 Q80 36 76 32Z" fill="#ffe033" fill-opacity="0.4"/>
|
||||||
<line x1="81" y1="50" x2="87" y2="50" stroke="#4a9eff" stroke-width="1.5"/>
|
<path d="M22 60 Q14 56 14 62 Q20 64 22 60Z" fill="#ffe033" fill-opacity="0.4"/>
|
||||||
<line x1="83" y1="54" x2="87" y2="54" stroke="#4a9eff" stroke-width="1.5"/>
|
<!-- Petites étincelles -->
|
||||||
<!-- Sud-Est -->
|
<circle cx="80" cy="26" r="1.5" fill="#ffe033" opacity="0.9"/>
|
||||||
<line x1="66" y1="78" x2="72" y2="74" stroke="#4a9eff" stroke-width="1.5"/>
|
<circle cx="18" cy="62" r="1.5" fill="#ffe033" opacity="0.9"/>
|
||||||
<line x1="64" y1="75" x2="70" y2="71" stroke="#4a9eff" stroke-width="1.5"/>
|
<circle cx="74" cy="40" r="1" fill="#ffe033" opacity="0.7"/>
|
||||||
<line x1="62" y1="72" x2="68" y2="69" stroke="#4a9eff" stroke-width="1.5"/>
|
|
||||||
<!-- Sud -->
|
|
||||||
<line x1="46" y1="87" x2="54" y2="87" stroke="#4a9eff" stroke-width="1.5"/>
|
|
||||||
<line x1="46" y1="84" x2="54" y2="84" stroke="#4a9eff" stroke-width="1.5"/>
|
|
||||||
<line x1="46" y1="81" x2="54" y2="81" stroke="#4a9eff" stroke-width="1.5"/>
|
|
||||||
<!-- Sud-Ouest -->
|
|
||||||
<line x1="34" y1="78" x2="28" y2="74" stroke="#4a9eff" stroke-width="1.5"/>
|
|
||||||
<line x1="36" y1="75" x2="30" y2="71" stroke="#4a9eff" stroke-width="1.5"/>
|
|
||||||
<line x1="38" y1="72" x2="32" y2="69" stroke="#4a9eff" stroke-width="1.5"/>
|
|
||||||
<!-- Ouest -->
|
|
||||||
<line x1="19" y1="46" x2="13" y2="46" stroke="#4a9eff" stroke-width="1.5"/>
|
|
||||||
<line x1="19" y1="50" x2="13" y2="50" stroke="#4a9eff" stroke-width="1.5"/>
|
|
||||||
<line x1="17" y1="54" x2="13" y2="54" stroke="#4a9eff" stroke-width="1.5"/>
|
|
||||||
<!-- Nord-Ouest -->
|
|
||||||
<line x1="34" y1="18" x2="28" y2="22" stroke="#4a9eff" stroke-width="1.5"/>
|
|
||||||
<line x1="36" y1="21" x2="30" y2="25" stroke="#4a9eff" stroke-width="1.5"/>
|
|
||||||
<line x1="38" y1="24" x2="34" y2="27" stroke="#4a9eff" stroke-width="1.5"/>
|
|
||||||
|
|
||||||
<!-- Cercle intérieur -->
|
|
||||||
<circle cx="50" cy="50" r="22" fill="none" stroke="#4a9eff" stroke-width="1.5" opacity="0.6"/>
|
|
||||||
|
|
||||||
<!-- Spirale de cinnabre (qi) — double spirale -->
|
|
||||||
<path d="M50 50 Q54 42 50 38 Q44 34 40 40 Q36 48 42 54 Q50 62 60 56 Q68 48 62 38 Q54 28 42 32"
|
|
||||||
fill="none" stroke="#4a9eff" stroke-width="2" stroke-linecap="round" opacity="0.9"/>
|
|
||||||
|
|
||||||
<!-- Point central (cinnabre) -->
|
|
||||||
<circle cx="50" cy="50" r="4" fill="#4a9eff" fill-opacity="0.5" stroke="#4a9eff" stroke-width="1.5"/>
|
|
||||||
<circle cx="50" cy="50" r="1.5" fill="#4a9eff"/>
|
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 2.0 KiB |
@@ -1,49 +1,29 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100">
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100">
|
||||||
<defs>
|
<defs>
|
||||||
<radialGradient id="sn-glow" cx="50%" cy="50%" r="50%">
|
<radialGradient id="sn-glow" cx="50%" cy="50%" r="50%">
|
||||||
<stop offset="0%" stop-color="#cc44ff" stop-opacity="0.4"/>
|
<stop offset="0%" stop-color="#ff44cc" stop-opacity="0.5"/>
|
||||||
<stop offset="100%" stop-color="#cc44ff" stop-opacity="0"/>
|
<stop offset="100%" stop-color="#ff44cc" stop-opacity="0"/>
|
||||||
</radialGradient>
|
</radialGradient>
|
||||||
</defs>
|
</defs>
|
||||||
|
|
||||||
<!-- Fond -->
|
|
||||||
<circle cx="50" cy="50" r="48" fill="#101622" stroke="#1a2436" stroke-width="2"/>
|
<circle cx="50" cy="50" r="48" fill="#101622" stroke="#1a2436" stroke-width="2"/>
|
||||||
<circle cx="50" cy="50" r="48" fill="url(#sn-glow)"/>
|
<circle cx="50" cy="50" r="48" fill="url(#sn-glow)"/>
|
||||||
|
<!-- Vortex de qi — spirale d'énergie -->
|
||||||
<!-- Flammes surnaturelles (gauche) -->
|
<!-- Spirale externe -->
|
||||||
<path d="M22 72 Q20 60 26 52 Q22 56 24 46 Q28 38 32 42 Q28 32 36 26 Q38 38 34 44 Q40 36 42 28 Q46 40 40 50 Q46 44 48 36 Q52 48 46 56 Q50 50 54 44 Q56 56 50 64 Q54 58 58 52 Q60 62 56 70 Q52 68 50 72"
|
<path d="M50 16 Q72 18 80 36 Q88 54 74 68 Q60 82 42 78 Q24 74 18 58 Q12 42 24 28 Q36 14 52 16"
|
||||||
fill="#cc44ff" fill-opacity="0.2" stroke="#cc44ff" stroke-width="1.5" stroke-linejoin="round" opacity="0.8"/>
|
fill="none" stroke="#ff44cc" stroke-width="2.2" stroke-linecap="round"/>
|
||||||
|
<!-- Spirale intermédiaire -->
|
||||||
<!-- Contour de l'œil (grand) -->
|
<path d="M50 26 Q64 28 70 42 Q76 56 66 66 Q56 76 42 70 Q28 64 28 50 Q28 36 40 30 Q52 24 62 28"
|
||||||
<path d="M20 50 Q35 30 50 30 Q65 30 80 50 Q65 70 50 70 Q35 70 20 50 Z"
|
fill="none" stroke="#ff44cc" stroke-width="2" stroke-linecap="round" opacity="0.75"/>
|
||||||
fill="none" stroke="#cc44ff" stroke-width="2" opacity="0.9"/>
|
<!-- Spirale interne -->
|
||||||
<!-- Remplissage doux de l'œil -->
|
<path d="M50 36 Q58 36 62 44 Q66 52 60 60 Q54 66 46 62 Q38 58 38 50 Q38 42 44 38 Q50 34 56 38"
|
||||||
<path d="M25 50 Q38 36 50 36 Q62 36 75 50 Q62 64 50 64 Q38 64 25 50 Z"
|
fill="none" stroke="#ff44cc" stroke-width="1.8" stroke-linecap="round" opacity="0.6"/>
|
||||||
fill="#cc44ff" fill-opacity="0.08"/>
|
<!-- Noyau central -->
|
||||||
|
<circle cx="50" cy="50" r="8" fill="#ff44cc" fill-opacity="0.2" stroke="#ff44cc" stroke-width="2"/>
|
||||||
<!-- Iris de l'œil -->
|
<circle cx="50" cy="50" r="3" fill="#ff44cc" opacity="0.9"/>
|
||||||
<circle cx="50" cy="50" r="10" fill="none" stroke="#cc44ff" stroke-width="2" opacity="0.8"/>
|
<!-- Particules d'énergie en orbite -->
|
||||||
<!-- Pupille verticale (reptilienne / surnaturelle) -->
|
<circle cx="50" cy="16" r="2.5" fill="#ff44cc" opacity="0.8"/>
|
||||||
<ellipse cx="50" cy="50" rx="3" ry="8" fill="#cc44ff" fill-opacity="0.6"/>
|
<circle cx="80" cy="36" r="2" fill="#ff44cc" opacity="0.7"/>
|
||||||
<!-- Reflet -->
|
<circle cx="74" cy="68" r="2.5" fill="#ff44cc" opacity="0.8"/>
|
||||||
<circle cx="47" cy="46" r="2" fill="#cc44ff" fill-opacity="0.5"/>
|
<circle cx="18" cy="58" r="2" fill="#ff44cc" opacity="0.7"/>
|
||||||
|
<circle cx="24" cy="28" r="2" fill="#ff44cc" opacity="0.7"/>
|
||||||
<!-- Flammes supérieures (au-dessus de l'œil) -->
|
|
||||||
<path d="M38 30 Q36 22 42 18 Q40 26 46 22 Q44 28 50 24 Q48 30 54 26 Q52 32 58 28 Q56 34 62 30"
|
|
||||||
fill="none" stroke="#cc44ff" stroke-width="1.8" stroke-linecap="round" opacity="0.9"/>
|
|
||||||
|
|
||||||
<!-- Lignes de rayonnement autour de l'œil -->
|
|
||||||
<line x1="50" y1="24" x2="50" y2="18" stroke="#cc44ff" stroke-width="1.5" opacity="0.6"/>
|
|
||||||
<line x1="50" y1="76" x2="50" y2="82" stroke="#cc44ff" stroke-width="1.5" opacity="0.6"/>
|
|
||||||
<line x1="14" y1="50" x2="8" y2="50" stroke="#cc44ff" stroke-width="1.5" opacity="0.6"/>
|
|
||||||
<line x1="86" y1="50" x2="92" y2="50" stroke="#cc44ff" stroke-width="1.5" opacity="0.6"/>
|
|
||||||
<!-- Diagonaux -->
|
|
||||||
<line x1="27" y1="27" x2="22" y2="22" stroke="#cc44ff" stroke-width="1.2" opacity="0.5"/>
|
|
||||||
<line x1="73" y1="27" x2="78" y2="22" stroke="#cc44ff" stroke-width="1.2" opacity="0.5"/>
|
|
||||||
<line x1="27" y1="73" x2="22" y2="78" stroke="#cc44ff" stroke-width="1.2" opacity="0.5"/>
|
|
||||||
<line x1="73" y1="73" x2="78" y2="78" stroke="#cc44ff" stroke-width="1.2" opacity="0.5"/>
|
|
||||||
|
|
||||||
<!-- Spirales surnaturelles aux coins -->
|
|
||||||
<path d="M16 22 Q20 16 26 20 Q22 24 18 22" fill="none" stroke="#cc44ff" stroke-width="1.2" opacity="0.6"/>
|
|
||||||
<path d="M84 22 Q80 16 74 20 Q78 24 82 22" fill="none" stroke="#cc44ff" stroke-width="1.2" opacity="0.6"/>
|
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 1.7 KiB |
@@ -1,46 +1,36 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100">
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100">
|
||||||
<defs>
|
<defs>
|
||||||
<radialGradient id="wp-glow" cx="50%" cy="50%" r="50%">
|
<radialGradient id="wp-glow" cx="50%" cy="50%" r="50%">
|
||||||
<stop offset="0%" stop-color="#ff6b35" stop-opacity="0.3"/>
|
<stop offset="0%" stop-color="#ff6b35" stop-opacity="0.4"/>
|
||||||
<stop offset="100%" stop-color="#ff6b35" stop-opacity="0"/>
|
<stop offset="100%" stop-color="#ff6b35" stop-opacity="0"/>
|
||||||
</radialGradient>
|
</radialGradient>
|
||||||
</defs>
|
</defs>
|
||||||
|
|
||||||
<!-- Fond -->
|
|
||||||
<circle cx="50" cy="50" r="48" fill="#101622" stroke="#1a2436" stroke-width="2"/>
|
<circle cx="50" cy="50" r="48" fill="#101622" stroke="#1a2436" stroke-width="2"/>
|
||||||
<circle cx="50" cy="50" r="48" fill="url(#wp-glow)"/>
|
<circle cx="50" cy="50" r="48" fill="url(#wp-glow)"/>
|
||||||
|
<!-- Deux couteaux papillon (wing chun) croisés -->
|
||||||
<!-- Dao (sabre courbé) — de bas-gauche à haut-droit -->
|
<!-- Couteau 1 — orientation ↗ -->
|
||||||
<!-- Lame du dao (légèrement courbée) -->
|
<!-- Lame gauche -->
|
||||||
<path d="M22 78 Q30 60 45 45 Q58 32 72 22"
|
<path d="M24 72 Q28 60 36 50 Q44 40 56 28 L58 32 Q48 44 40 54 Q32 64 28 76 Z"
|
||||||
fill="none" stroke="#ff6b35" stroke-width="3.5" stroke-linecap="round"/>
|
fill="#ff6b35" fill-opacity="0.25" stroke="#ff6b35" stroke-width="1.8"/>
|
||||||
<!-- Dos de la lame (trait intérieur plus fin) -->
|
<!-- Garde en D couteau 1 -->
|
||||||
<path d="M25 76 Q33 58 47 44 Q59 33 72 24"
|
<path d="M36 50 Q32 46 28 48 Q26 52 30 54 Q34 56 36 50Z"
|
||||||
fill="none" stroke="#ff6b35" stroke-width="1" stroke-linecap="round" opacity="0.5"/>
|
fill="#ff6b35" fill-opacity="0.4" stroke="#ff6b35" stroke-width="1.5"/>
|
||||||
<!-- Brillance de la lame -->
|
<!-- Manche couteau 1 -->
|
||||||
<path d="M28 73 Q38 56 52 42"
|
<line x1="28" y1="76" x2="20" y2="84" stroke="#ff6b35" stroke-width="3.5" stroke-linecap="round"/>
|
||||||
fill="none" stroke="#ff6b35" stroke-width="0.8" stroke-linecap="round" opacity="0.8" stroke-dasharray="2 3"/>
|
<!-- Couteau 2 — orientation ↖ croisé -->
|
||||||
<!-- Garde du dao (petite croix ornementée) -->
|
<!-- Lame droite -->
|
||||||
<path d="M36 66 Q38 60 46 56 Q50 54 56 58 Q50 62 44 68 Z"
|
<path d="M76 72 Q72 60 64 50 Q56 40 44 28 L42 32 Q52 44 60 54 Q68 64 72 76 Z"
|
||||||
fill="#ff6b35" fill-opacity="0.3" stroke="#ff6b35" stroke-width="1.5"/>
|
fill="#ff6b35" fill-opacity="0.25" stroke="#ff6b35" stroke-width="1.8"/>
|
||||||
<!-- Poignée du dao -->
|
<!-- Garde en D couteau 2 -->
|
||||||
<line x1="22" y1="78" x2="15" y2="86" stroke="#ff6b35" stroke-width="4" stroke-linecap="round" opacity="0.7"/>
|
<path d="M64 50 Q68 46 72 48 Q74 52 70 54 Q66 56 64 50Z"
|
||||||
<rect x="13" y="84" width="6" height="4" rx="2" fill="#ff6b35" fill-opacity="0.5" stroke="#ff6b35" stroke-width="1" transform="rotate(-45 16 86)"/>
|
fill="#ff6b35" fill-opacity="0.4" stroke="#ff6b35" stroke-width="1.5"/>
|
||||||
|
<!-- Manche couteau 2 -->
|
||||||
<!-- Lance — de bas-droit à haut-gauche -->
|
<line x1="72" y1="76" x2="80" y2="84" stroke="#ff6b35" stroke-width="3.5" stroke-linecap="round"/>
|
||||||
<!-- Hampe de la lance -->
|
<!-- Reflets sur les lames -->
|
||||||
<line x1="78" y1="78" x2="22" y2="22" stroke="#ff6b35" stroke-width="2" stroke-linecap="round" opacity="0.7"/>
|
<line x1="42" y1="44" x2="46" y2="40" stroke="#ff6b35" stroke-width="1" stroke-linecap="round" opacity="0.7"/>
|
||||||
<!-- Pointe de la lance (haut-gauche) -->
|
<line x1="58" y1="44" x2="54" y2="40" stroke="#ff6b35" stroke-width="1" stroke-linecap="round" opacity="0.7"/>
|
||||||
<path d="M22 22 L16 14 L20 20 L14 18 Z" fill="#ff6b35" stroke="#ff6b35" stroke-width="1" stroke-linejoin="round"/>
|
<!-- Étincelle au croisement -->
|
||||||
<!-- Ornement milieu de hampe -->
|
<circle cx="50" cy="50" r="3" fill="#ff6b35" opacity="0.9"/>
|
||||||
<path d="M44 44 Q48 40 52 44 Q48 48 44 44 Z" fill="#ff6b35" fill-opacity="0.4" stroke="#ff6b35" stroke-width="1"/>
|
<line x1="50" y1="44" x2="50" y2="56" stroke="#ff6b35" stroke-width="1" stroke-linecap="round" opacity="0.6"/>
|
||||||
<!-- Embout de la lance (bas-droit) -->
|
<line x1="44" y1="50" x2="56" y2="50" stroke="#ff6b35" stroke-width="1" stroke-linecap="round" opacity="0.6"/>
|
||||||
<path d="M78 78 L84 85 L80 80 L86 82 Z" fill="#ff6b35" stroke="#ff6b35" stroke-width="1" stroke-linejoin="round" opacity="0.7"/>
|
|
||||||
|
|
||||||
<!-- Petites étincelles au croisement -->
|
|
||||||
<circle cx="50" cy="50" r="3" fill="#ff6b35" fill-opacity="0.3" stroke="#ff6b35" stroke-width="1.5"/>
|
|
||||||
<line x1="50" y1="44" x2="50" y2="40" stroke="#ff6b35" stroke-width="1" opacity="0.7"/>
|
|
||||||
<line x1="56" y1="50" x2="60" y2="50" stroke="#ff6b35" stroke-width="1" opacity="0.7"/>
|
|
||||||
<line x1="44" y1="50" x2="40" y2="50" stroke="#ff6b35" stroke-width="1" opacity="0.7"/>
|
|
||||||
<line x1="50" y1="56" x2="50" y2="60" stroke="#ff6b35" stroke-width="1" opacity="0.7"/>
|
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.1 KiB |
|
After Width: | Height: | Size: 69 KiB |
|
After Width: | Height: | Size: 1.1 MiB |
|
After Width: | Height: | Size: 1010 KiB |
|
After Width: | Height: | Size: 1.0 MiB |
|
After Width: | Height: | Size: 1.0 MiB |
|
After Width: | Height: | Size: 1.0 MiB |
|
After Width: | Height: | Size: 1024 KiB |
|
After Width: | Height: | Size: 918 KiB |
|
After Width: | Height: | Size: 962 KiB |
|
After Width: | Height: | Size: 968 KiB |
|
After Width: | Height: | Size: 986 KiB |
|
After Width: | Height: | Size: 902 KiB |
|
After Width: | Height: | Size: 939 KiB |
@@ -34,6 +34,7 @@
|
|||||||
"CDE.HeiSpend": "Dépense HEI",
|
"CDE.HeiSpend": "Dépense HEI",
|
||||||
"CDE.SpellBonus": "Bonus Sort",
|
"CDE.SpellBonus": "Bonus Sort",
|
||||||
"CDE.SpellPower": "Puissance du Sort",
|
"CDE.SpellPower": "Puissance du Sort",
|
||||||
|
"CDE.BonusMalus": "Bonus/Malus",
|
||||||
"CDE.Boss": "Boss",
|
"CDE.Boss": "Boss",
|
||||||
"CDE.Cancel": "Annuler",
|
"CDE.Cancel": "Annuler",
|
||||||
"CDE.CancelChanges": "Annuler les modifications",
|
"CDE.CancelChanges": "Annuler les modifications",
|
||||||
@@ -81,6 +82,7 @@
|
|||||||
"CDE.EarthlyPrayer": "Prière Terrestre",
|
"CDE.EarthlyPrayer": "Prière Terrestre",
|
||||||
"CDE.Effects": "Effets",
|
"CDE.Effects": "Effets",
|
||||||
"CDE.Elixirs": "Élixirs",
|
"CDE.Elixirs": "Élixirs",
|
||||||
|
"CDE.EnablePrompt": "Toujours demander avant de lancer",
|
||||||
"CDE.Error0": "Impossible de poursuivre : le nombre total de vos dés à lancer est inférieur à 1.",
|
"CDE.Error0": "Impossible de poursuivre : le nombre total de vos dés à lancer est inférieur à 1.",
|
||||||
"CDE.Error1": "Impossible de poursuivre : vous ne possédez pas cette Compétence.",
|
"CDE.Error1": "Impossible de poursuivre : vous ne possédez pas cette Compétence.",
|
||||||
"CDE.Error10": "Impossible de poursuivre : vous avez 0 ou moins dans cet Aspect.",
|
"CDE.Error10": "Impossible de poursuivre : vous avez 0 ou moins dans cet Aspect.",
|
||||||
@@ -131,6 +133,45 @@
|
|||||||
"CDE.InitiativeNPCSpeciality": "Première action (Aptitude) que vous escomptez effectuer",
|
"CDE.InitiativeNPCSpeciality": "Première action (Aptitude) que vous escomptez effectuer",
|
||||||
"CDE.InitiativeRoll": "Jet d'initiative",
|
"CDE.InitiativeRoll": "Jet d'initiative",
|
||||||
"CDE.InitiativeSpeciality": "Première action (Compétence) que vous escomptez effectuer",
|
"CDE.InitiativeSpeciality": "Première action (Compétence) que vous escomptez effectuer",
|
||||||
|
"CDE.MigrationTitle": "Migration depuis l'ancien système",
|
||||||
|
"CDE.MigrationMenuLabel": "Importer des personnages",
|
||||||
|
"CDE.MigrationMenuHint": "Importer des fiches de personnage depuis l'ancien système CDE",
|
||||||
|
"CDE.MigrationHint": "Glissez-déposez des fichiers JSON ou cliquez pour les sélectionner.",
|
||||||
|
"CDE.MigrationDropHint": "Déposez vos fichiers JSON ici",
|
||||||
|
"CDE.MigrationChooseFiles": "Choisir des fichiers",
|
||||||
|
"CDE.MigrationPreviewTitle": "Personnages à importer",
|
||||||
|
"CDE.MigrationClear": "Vider",
|
||||||
|
"CDE.MigrationColName": "Nom",
|
||||||
|
"CDE.MigrationColType": "Type",
|
||||||
|
"CDE.MigrationColItems": "Objets",
|
||||||
|
"CDE.MigrationColFile": "Fichier source",
|
||||||
|
"CDE.MigrationImport": "Importer",
|
||||||
|
"CDE.MigrationSuccess": "{count} personnage(s) importé(s) : {names}",
|
||||||
|
"CDE.MigrationPartialError": "{count} personnage(s) n'ont pas pu être importés.",
|
||||||
|
"CDE.MigrationErrorNotJson": "Le fichier « {file} » n'est pas un fichier JSON.",
|
||||||
|
"CDE.MigrationErrorParse": "Erreur lors de la lecture de « {file} » : {error}",
|
||||||
|
"CDE.InitiativeWheel": "Roue d'Initiative",
|
||||||
|
"CDE.InitiativeWheelOpen": "Ouvrir la Roue d'Initiative",
|
||||||
|
"CDE.InitiativeWheelHint": "Roue d'initiative – Les Chroniques de l'Étrange",
|
||||||
|
"CDE.ActionCostAttack": "Attaque",
|
||||||
|
"CDE.ActionCostDefense": "Défense",
|
||||||
|
"CDE.ActionCostDefendAlly": "Défendre un allié",
|
||||||
|
"CDE.ActionCostMove": "Déplacement",
|
||||||
|
"CDE.ActionCostHelp": "Aide",
|
||||||
|
"CDE.ActionCostAim": "Viser",
|
||||||
|
"CDE.ActionCostChangeStyle": "Changer d'art",
|
||||||
|
"CDE.ActionCostDraw": "Dégainer",
|
||||||
|
"CDE.ActionCostDelay": "Retarder (événement)",
|
||||||
|
"CDE.ActionCostAdvance": "Avancer de {n} crans",
|
||||||
|
"CDE.ActiveCombatant": "Combat en cours — ce personnage agit maintenant",
|
||||||
|
"CDE.AdvanceCombatant": "Avancer sur la roue",
|
||||||
|
"CDE.Combatants": "Combattants",
|
||||||
|
"CDE.NoCombatActive": "Aucun combat en cours",
|
||||||
|
"CDE.SelectCombatantHint": "Cliquez sur un combattant pour sélectionner ses actions",
|
||||||
|
"CDE.SurprisedAction": "Pris par surprise",
|
||||||
|
"CDE.SurprisedHint": "Place le personnage sur le cran de référence (position 1)",
|
||||||
|
"CDE.WheelCran": "Cran",
|
||||||
|
"CDE.WheelReference": "Repère",
|
||||||
"CDE.Inquiry": "Renseignement",
|
"CDE.Inquiry": "Renseignement",
|
||||||
"CDE.InternalCinnabar": "Cinabre Interne",
|
"CDE.InternalCinnabar": "Cinabre Interne",
|
||||||
"CDE.Investigation": "Enquête",
|
"CDE.Investigation": "Enquête",
|
||||||
@@ -160,6 +201,7 @@
|
|||||||
"CDE.MartialArts": "Arts Martiaux",
|
"CDE.MartialArts": "Arts Martiaux",
|
||||||
"CDE.Masterized": "Vous maîtrisez cette Technique",
|
"CDE.Masterized": "Vous maîtrisez cette Technique",
|
||||||
"CDE.MasteryOfTheWay": "Maîtrise de la Voie",
|
"CDE.MasteryOfTheWay": "Maîtrise de la Voie",
|
||||||
|
"CDE.Material": "Matériau",
|
||||||
"CDE.Max": "Max",
|
"CDE.Max": "Max",
|
||||||
"CDE.Max-Present-Malus-Present-Max": "Max ● Actuel ● Malus ● Actuel ● Max",
|
"CDE.Max-Present-Malus-Present-Max": "Max ● Actuel ● Malus ● Actuel ● Max",
|
||||||
"CDE.Max-Present-Present-Max": "Max ● Actuel ● Actuel ● Max",
|
"CDE.Max-Present-Present-Max": "Max ● Actuel ● Actuel ● Max",
|
||||||
@@ -178,8 +220,11 @@
|
|||||||
"CDE.MsgMagic2": "s'élève à ",
|
"CDE.MsgMagic2": "s'élève à ",
|
||||||
"CDE.MsgMagic3": ". La puissance à invoquer est de ",
|
"CDE.MsgMagic3": ". La puissance à invoquer est de ",
|
||||||
"CDE.MsgMagic4": ", si toutefois le sort est lancé avec succès.",
|
"CDE.MsgMagic4": ", si toutefois le sort est lancé avec succès.",
|
||||||
|
"CDE.MoveUp": "Monter",
|
||||||
|
"CDE.MoveDown": "Descendre",
|
||||||
"CDE.NPCName": "Nom du PNJ",
|
"CDE.NPCName": "Nom du PNJ",
|
||||||
"CDE.FatSi": "Fat Si",
|
"CDE.FatSi": "Fat Si",
|
||||||
|
"CDE.FreePowerLevels": "Niveaux de puissance gratuits",
|
||||||
"CDE.PNJ": "PNJ",
|
"CDE.PNJ": "PNJ",
|
||||||
"CDE.Name": "Nom",
|
"CDE.Name": "Nom",
|
||||||
"CDE.Necromancy": "Nécromancie",
|
"CDE.Necromancy": "Nécromancie",
|
||||||
@@ -187,6 +232,9 @@
|
|||||||
"CDE.New": "Nouveau",
|
"CDE.New": "Nouveau",
|
||||||
"CDE.NextTimeGoToTheSettings": "Tout ceci est paramétrable dans les Préférences",
|
"CDE.NextTimeGoToTheSettings": "Tout ceci est paramétrable dans les Préférences",
|
||||||
"CDE.NgHang": "Ng Hang",
|
"CDE.NgHang": "Ng Hang",
|
||||||
|
"CDE.NghangDiagramTitle": "Diagramme des Ng Hang (Cinq Éléments)",
|
||||||
|
"CDE.ZoomDiagram": "Agrandir le diagramme",
|
||||||
|
"CDE.LoksyuDiagramTitle": "Loksyu (Huit Trigrammes)",
|
||||||
"CDE.NoTemplate": "Aucun Modèle",
|
"CDE.NoTemplate": "Aucun Modèle",
|
||||||
"CDE.NoSupernaturals": "Aucun pouvoir surnaturel",
|
"CDE.NoSupernaturals": "Aucun pouvoir surnaturel",
|
||||||
"CDE.NoSpells": "Aucun sortilège",
|
"CDE.NoSpells": "Aucun sortilège",
|
||||||
@@ -238,6 +286,7 @@
|
|||||||
"CDE.ResourceValue": "Valeur",
|
"CDE.ResourceValue": "Valeur",
|
||||||
"CDE.Resources": "Ressources",
|
"CDE.Resources": "Ressources",
|
||||||
"CDE.Results": "Résultats :",
|
"CDE.Results": "Résultats :",
|
||||||
|
"CDE.Roll": "Jet",
|
||||||
"CDE.RollDifficulty": "Difficulté du Jet",
|
"CDE.RollDifficulty": "Difficulté du Jet",
|
||||||
"CDE.SAN-ZING": "SAN ● ZING",
|
"CDE.SAN-ZING": "SAN ● ZING",
|
||||||
"CDE.Sanhei": "Sanhei",
|
"CDE.Sanhei": "Sanhei",
|
||||||
@@ -279,12 +328,18 @@
|
|||||||
"CDE.Technique": "Technique",
|
"CDE.Technique": "Technique",
|
||||||
"CDE.Technologies": "Technologies",
|
"CDE.Technologies": "Technologies",
|
||||||
"CDE.Threat": "Niveau de Menace",
|
"CDE.Threat": "Niveau de Menace",
|
||||||
|
"CDE.ThrowType": "Type de jet",
|
||||||
"CDE.TinJi": "Tin Ji :",
|
"CDE.TinJi": "Tin Ji :",
|
||||||
"CDE.TinJi2": "Tin Ji",
|
"CDE.TinJi2": "Tin Ji",
|
||||||
"CDE.TinJiName": "Nom de la Tin Ji",
|
"CDE.TinJiName": "Nom de la Tin Ji",
|
||||||
"CDE.TinjiNotFound": "Aucun acteur Tin Ji trouvé. Le Maître du Jeu doit en créer un.",
|
"CDE.TinjiNotFound": "Aucun acteur Tin Ji trouvé. Le Maître du Jeu doit en créer un.",
|
||||||
"CDE.TinjiEmpty": "Il n'y a plus de dés de Tin Ji disponibles.",
|
"CDE.TinjiEmpty": "Il n'y a plus de dés de Tin Ji disponibles.",
|
||||||
"CDE.TinjiSpent": "{name} dépense 1 dé de Tin Ji.",
|
"CDE.TinjiSpent": "{name} dépense 1 dé de Tin Ji.",
|
||||||
|
"CDE.Settings.LoksyuConsumptionOrder": "Ordre de consommation du Loksyu",
|
||||||
|
"CDE.Settings.LoksyuConsumptionOrderHint": "Définit quelle polarité (Yin ou Yang) est consommée en priorité lorsqu'un dé est puisé dans la réserve de Loksyu.",
|
||||||
|
"CDE.Settings.LoksyuOrderYangFirst": "Yang d'abord",
|
||||||
|
"CDE.Settings.LoksyuOrderYinFirst": "Yin d'abord",
|
||||||
|
"CDE.Settings.LoksyuOrderBalanced": "Équilibré (consomme la polarité la plus fournie)",
|
||||||
"CDE.PostRollActions": "Puiser dans le Loksyu / Dépenser Tin Ji",
|
"CDE.PostRollActions": "Puiser dans le Loksyu / Dépenser Tin Ji",
|
||||||
"CDE.LoksyuDrawsA": "pioche",
|
"CDE.LoksyuDrawsA": "pioche",
|
||||||
"CDE.LoksyuFromAspect": "du",
|
"CDE.LoksyuFromAspect": "du",
|
||||||
@@ -390,5 +445,6 @@
|
|||||||
"CDE.TotalDamage": "Dommages",
|
"CDE.TotalDamage": "Dommages",
|
||||||
"CDE.WeaponRoll": "Jet d'arme",
|
"CDE.WeaponRoll": "Jet d'arme",
|
||||||
"CDE.RangePenalty": "Pénalité de portée",
|
"CDE.RangePenalty": "Pénalité de portée",
|
||||||
"CDE.SuccessTimesDamage": "succès × dégâts de base"
|
"CDE.SuccessTimesDamage": "succès × dégâts de base",
|
||||||
|
"CDE.WelcomeOpenHelp": "Ouvrir l'aide en ligne"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,293 @@
|
|||||||
|
{
|
||||||
|
"_id": "CDEGuideMain0001",
|
||||||
|
"_key": "!journal!CDEGuideMain0001",
|
||||||
|
"name": "Guide du Système CDE",
|
||||||
|
"pages": [
|
||||||
|
{
|
||||||
|
"_id": "CDEHelpP01Intro",
|
||||||
|
"_key": "!journal.pages!CDEGuideMain0001.CDEHelpP01Intro",
|
||||||
|
"name": "Bienvenue dans CDE",
|
||||||
|
"type": "text",
|
||||||
|
"text": {
|
||||||
|
"content": "\n<h1>Bienvenue dans les Chroniques de l'Étrange</h1>\n<p>Ce guide vous présente l'interface du système FoundryVTT pour <em>Chroniques de l'Étrange</em> (CDE), jeu de rôle d'enquête et d'action surnaturelle dans le Hong Kong contemporain, édité par Antre-Monde Éditions.</p>\n<h2>Structure du système</h2>\n<ul>\n<li><strong>Fiches de personnage (Fat Si)</strong> — Héros joueurs avec cinq aspects Wu Xing, compétences, Trois Trésors et équipement.</li>\n<li><strong>Fiches de PNJ</strong> — Créatures, dieux, fantômes et humains à l'usage du MJ.</li>\n<li><strong>Compendiums</strong> — Arts martiaux, sortilèges, équipements, PNJs, capacités surnaturelles, ingrédients, San Hei.</li>\n<li><strong>Outils de MJ</strong> — Roue d'initiative, compteurs Loksyu/Tin Ji, outil de migration.</li>\n</ul>\n<p>Naviguez dans ce journal via les onglets de page pour découvrir chaque aspect du système.</p>\n",
|
||||||
|
"format": 1,
|
||||||
|
"markdown": ""
|
||||||
|
},
|
||||||
|
"sort": 100000,
|
||||||
|
"title": {
|
||||||
|
"show": true,
|
||||||
|
"level": 1
|
||||||
|
},
|
||||||
|
"image": {
|
||||||
|
"caption": ""
|
||||||
|
},
|
||||||
|
"video": {
|
||||||
|
"controls": true,
|
||||||
|
"volume": 0.5
|
||||||
|
},
|
||||||
|
"src": null,
|
||||||
|
"flags": {},
|
||||||
|
"ownership": {
|
||||||
|
"default": -1
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"_id": "CDEHelpP02WuXin",
|
||||||
|
"_key": "!journal.pages!CDEGuideMain0001.CDEHelpP02WuXin",
|
||||||
|
"name": "Le Cycle Wu Xing",
|
||||||
|
"type": "text",
|
||||||
|
"text": {
|
||||||
|
"content": "\n<h1>Le Cycle Wu Xing (五行)</h1>\n<p>Le Wu Xing est le cœur du système de résolution. Cinq aspects — <strong>Métal (㊎)</strong>, <strong>Eau (㊌)</strong>, <strong>Terre (㊏)</strong>, <strong>Feu (㊋)</strong> et <strong>Bois (㊍)</strong> — définissent les capacités d'un personnage.</p>\n<h2>Faces des d10 et résultats</h2>\n<p>Chaque aspect est associé à deux faces du d10. Lors d'un jet, vous déclarez l'aspect utilisé avant de lancer vos dés. Chaque dé donne un résultat :</p>\n<ul>\n<li><strong>Succès</strong> — avancez vers votre objectif.</li>\n<li><strong>Dés-fastes (吉)</strong> — résultats favorables supplémentaires.</li>\n<li><strong>Dés-néfastes (凶)</strong> — complications.</li>\n<li><strong>Loksyu (落穗)</strong> — alimentent le compteur mondial de chance collective.</li>\n<li><strong>Tin Ji (天機)</strong> — alimentent le compteur de destin.</li>\n</ul>\n<h2>Correspondances</h2>\n<table>\n<thead><tr><th>Aspect</th><th>Faces d10</th><th>Caractère</th></tr></thead>\n<tbody>\n<tr><td>㊎ Métal</td><td>1 & 6</td><td>Agressif, passionné, combatif</td></tr>\n<tr><td>㊌ Eau</td><td>2 & 7</td><td>Souple, appliqué, adaptable</td></tr>\n<tr><td>㊏ Terre</td><td>3 & 8</td><td>Obstiné, résilient, endurant</td></tr>\n<tr><td>㊋ Feu</td><td>4 & 9</td><td>Chaleureux, créatif, empathique</td></tr>\n<tr><td>㊍ Bois</td><td>5 & 10</td><td>Intuitif, observateur, instinctif</td></tr>\n</tbody>\n</table>\n<p><em>La valeur d'un aspect (de 1 à 5) détermine le nombre de dés que vous lancez.</em></p>\n",
|
||||||
|
"format": 1,
|
||||||
|
"markdown": ""
|
||||||
|
},
|
||||||
|
"sort": 200000,
|
||||||
|
"title": {
|
||||||
|
"show": true,
|
||||||
|
"level": 1
|
||||||
|
},
|
||||||
|
"image": {
|
||||||
|
"caption": ""
|
||||||
|
},
|
||||||
|
"video": {
|
||||||
|
"controls": true,
|
||||||
|
"volume": 0.5
|
||||||
|
},
|
||||||
|
"src": null,
|
||||||
|
"flags": {},
|
||||||
|
"ownership": {
|
||||||
|
"default": -1
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"_id": "CDEHelpP03Sheet",
|
||||||
|
"_key": "!journal.pages!CDEGuideMain0001.CDEHelpP03Sheet",
|
||||||
|
"name": "La Fiche de Personnage",
|
||||||
|
"type": "text",
|
||||||
|
"text": {
|
||||||
|
"content": "\n<h1>La Fiche de Personnage (Fat Si)</h1>\n<figure><img src=\"systems/fvtt-chroniques-de-l-etrange/images/ui/character-sheet-nghang.png\" alt=\"Fiche de personnage — onglet Ng Hang\"/><figcaption>Onglet Ng Hang : les cinq aspects Wu Xing</figcaption></figure>\n<p>La fiche de personnage se décompose en sept onglets :</p>\n<ol>\n<li><strong>Description</strong> — Biographie, concept, gardien céleste.</li>\n<li><strong>Ng Hang</strong> — Les cinq aspects Wu Xing (valeur 1–5). Cliquez sur l'image du dé pour lancer.</li>\n<li><strong>Compétences</strong> — Les compétences générales et ressources.</li>\n<li><strong>Trois Trésors</strong> — Hei-Yang, Hei-Yin et les niveaux de dés.</li>\n<li><strong>Magies</strong> — Les cinq écoles de magie et leurs sortilèges.</li>\n<li><strong>Kung Fu</strong> — Arts martiaux possédés.</li>\n<li><strong>Équipement</strong> — Objets portés.</li>\n</ol>\n<h2>En-tête de fiche</h2>\n<p>En haut de la fiche se trouvent le <strong>concept du personnage</strong>, son <strong>gardien céleste</strong> (aspect dominant) et la zone d'<strong>initiative</strong> avec les boutons ±.</p>\n<figure><img src=\"systems/fvtt-chroniques-de-l-etrange/images/ui/character-sheet-skills.png\" alt=\"Fiche de personnage — onglet Compétences\"/><figcaption>Onglet Compétences : compétences et ressources</figcaption></figure>\n",
|
||||||
|
"format": 1,
|
||||||
|
"markdown": ""
|
||||||
|
},
|
||||||
|
"sort": 300000,
|
||||||
|
"title": {
|
||||||
|
"show": true,
|
||||||
|
"level": 1
|
||||||
|
},
|
||||||
|
"image": {
|
||||||
|
"caption": ""
|
||||||
|
},
|
||||||
|
"video": {
|
||||||
|
"controls": true,
|
||||||
|
"volume": 0.5
|
||||||
|
},
|
||||||
|
"src": null,
|
||||||
|
"flags": {},
|
||||||
|
"ownership": {
|
||||||
|
"default": -1
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"_id": "CDEHelpP04Treas",
|
||||||
|
"_key": "!journal.pages!CDEGuideMain0001.CDEHelpP04Treas",
|
||||||
|
"name": "Les Trois Trésors",
|
||||||
|
"type": "text",
|
||||||
|
"text": {
|
||||||
|
"content": "\n<h1>Les Trois Trésors (三寶)</h1>\n<figure><img src=\"systems/fvtt-chroniques-de-l-etrange/images/ui/character-sheet-treasures.png\" alt=\"Fiche de personnage — onglet Trois Trésors\"/><figcaption>Onglet Trois Trésors : Hei-Yang, Hei-Yin et niveaux de dés</figcaption></figure>\n<p>Les Trois Trésors représentent les réserves d'énergie vitale du personnage :</p>\n<h2>Hei-Yang (陽氣) et Hei-Yin (陰氣)</h2>\n<p>Ce sont les deux jauges de vitalité. Le Hei-Yang représente l'énergie active, le Hei-Yin l'énergie passive. Ensemble, ils forment le <strong>token attribute</strong> visible sur la carte.</p>\n<h2>Niveaux de dés</h2>\n<p>Les niveaux de dés (d4 → d6 → d8 → d10 → d12) reflètent la progression du personnage dans un aspect. Chaque niveau de dé confère un bonus ou un avantage supplémentaire.</p>\n<h2>Blessures</h2>\n<p>Les blessures s'accumulent et imposent des malus croissants :</p>\n<ul>\n<li>Blessé : −1 dé à tous les jets</li>\n<li>Gravement blessé : −2 dés</li>\n<li>État critique : −3 dés</li>\n</ul>\n",
|
||||||
|
"format": 1,
|
||||||
|
"markdown": ""
|
||||||
|
},
|
||||||
|
"sort": 400000,
|
||||||
|
"title": {
|
||||||
|
"show": true,
|
||||||
|
"level": 1
|
||||||
|
},
|
||||||
|
"image": {
|
||||||
|
"caption": ""
|
||||||
|
},
|
||||||
|
"video": {
|
||||||
|
"controls": true,
|
||||||
|
"volume": 0.5
|
||||||
|
},
|
||||||
|
"src": null,
|
||||||
|
"flags": {},
|
||||||
|
"ownership": {
|
||||||
|
"default": -1
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"_id": "CDEHelpP05Magic",
|
||||||
|
"_key": "!journal.pages!CDEGuideMain0001.CDEHelpP05Magic",
|
||||||
|
"name": "Magie",
|
||||||
|
"type": "text",
|
||||||
|
"text": {
|
||||||
|
"content": "\n<h1>Magie</h1>\n<figure><img src=\"systems/fvtt-chroniques-de-l-etrange/images/ui/character-sheet-magics.png\" alt=\"Fiche de personnage — onglet Magies\"/><figcaption>Onglet Magies : les cinq écoles et leurs sortilèges</figcaption></figure>\n<p>CDE dispose de cinq écoles de magie, chacune divisée en cinq spécialités :</p>\n<ul>\n<li><strong>Cinabre Interne</strong> (内丹) — magie du souffle et du corps.</li>\n<li><strong>Alchimie</strong> (外丹) — préparations, potions et talismans matériels.</li>\n<li><strong>Maîtrise du Tao</strong> (道術) — maîtrise des principes cosmiques.</li>\n<li><strong>Exorcisme</strong> (驅魔) — combat contre les entités surnaturelles.</li>\n<li><strong>Géomancie</strong> (風水) — magie des lieux et de l'environnement.</li>\n</ul>\n<h2>Utiliser un sortilège</h2>\n<ol>\n<li>Cliquez sur l'icône dé du sort dans l'onglet Magies.</li>\n<li>Un dialog apparaît avec l'aspect associé, le coût en Hei et le nombre de dés.</li>\n<li>Validez pour effectuer le jet.</li>\n</ol>\n<p>Les sortilèges sont importés depuis le compendium <em>Sortilèges</em> et glissés sur la fiche.</p>\n",
|
||||||
|
"format": 1,
|
||||||
|
"markdown": ""
|
||||||
|
},
|
||||||
|
"sort": 500000,
|
||||||
|
"title": {
|
||||||
|
"show": true,
|
||||||
|
"level": 1
|
||||||
|
},
|
||||||
|
"image": {
|
||||||
|
"caption": ""
|
||||||
|
},
|
||||||
|
"video": {
|
||||||
|
"controls": true,
|
||||||
|
"volume": 0.5
|
||||||
|
},
|
||||||
|
"src": null,
|
||||||
|
"flags": {},
|
||||||
|
"ownership": {
|
||||||
|
"default": -1
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"_id": "CDEHelpP06KungF",
|
||||||
|
"_key": "!journal.pages!CDEGuideMain0001.CDEHelpP06KungF",
|
||||||
|
"name": "Arts Martiaux",
|
||||||
|
"type": "text",
|
||||||
|
"text": {
|
||||||
|
"content": "\n<h1>Arts Martiaux (武術)</h1>\n<figure><img src=\"systems/fvtt-chroniques-de-l-etrange/images/ui/character-sheet-kungfu.png\" alt=\"Fiche de personnage — onglet Kung Fu\"/><figcaption>Onglet Kung Fu : arts martiaux possédés</figcaption></figure>\n<p>Les arts martiaux représentent les techniques de combat du personnage. Chaque art martial possède :</p>\n<ul>\n<li><strong>Un mode d'activation</strong> : passif, action d'attaque, réaction, etc.</li>\n<li><strong>Une description</strong> des effets en jeu.</li>\n</ul>\n<h2>Importer un art martial</h2>\n<p>Ouvrez le compendium <em>Arts Martiaux</em> et faites glisser une technique sur la fiche du personnage. Elle apparaît alors dans l'onglet Kung Fu.</p>\n<h2>Types d'activation</h2>\n<table>\n<thead><tr><th>Type</th><th>Déclencheur</th></tr></thead>\n<tbody>\n<tr><td>Passif (dés)</td><td>Toujours actif</td></tr>\n<tr><td>Action d'attaque</td><td>Lors d'une attaque</td></tr>\n<tr><td>Action de défense</td><td>Lors d'une défense</td></tr>\n<tr><td>Réaction</td><td>En réponse à un événement</td></tr>\n<tr><td>Dégâts infligés</td><td>Quand vous blessez</td></tr>\n</tbody>\n</table>\n",
|
||||||
|
"format": 1,
|
||||||
|
"markdown": ""
|
||||||
|
},
|
||||||
|
"sort": 600000,
|
||||||
|
"title": {
|
||||||
|
"show": true,
|
||||||
|
"level": 1
|
||||||
|
},
|
||||||
|
"image": {
|
||||||
|
"caption": ""
|
||||||
|
},
|
||||||
|
"video": {
|
||||||
|
"controls": true,
|
||||||
|
"volume": 0.5
|
||||||
|
},
|
||||||
|
"src": null,
|
||||||
|
"flags": {},
|
||||||
|
"ownership": {
|
||||||
|
"default": -1
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"_id": "CDEHelpP07Items",
|
||||||
|
"_key": "!journal.pages!CDEGuideMain0001.CDEHelpP07Items",
|
||||||
|
"name": "Équipement & Inventaire",
|
||||||
|
"type": "text",
|
||||||
|
"text": {
|
||||||
|
"content": "\n<h1>Équipement & Inventaire</h1>\n<figure><img src=\"systems/fvtt-chroniques-de-l-etrange/images/ui/character-sheet-items.png\" alt=\"Fiche de personnage — onglet Équipement\"/><figcaption>Onglet Équipement : objets portés</figcaption></figure>\n<p>L'onglet Équipement liste tout ce que porte le personnage. Les objets sont classés en plusieurs catégories :</p>\n<ul>\n<li><strong>Armes</strong> — avec dégâts, distance et type.</li>\n<li><strong>Protections</strong> — armures et protections spirituelles.</li>\n<li><strong>San Hei (三氣)</strong> — objets magiques à charges.</li>\n<li><strong>Ingrédients</strong> — matériaux pour l'alchimie.</li>\n<li><strong>Équipement générique</strong> — tout autre objet.</li>\n</ul>\n<h2>Ajouter un objet</h2>\n<p>Faites glisser un objet depuis un compendium (Armes, Protections, San Hei, Ingrédients, Équipements) ou créez-en un avec le bouton <em>Créer</em> correspondant.</p>\n<p>Cliquez sur l'image d'un objet pour ouvrir sa fiche détaillée.</p>\n",
|
||||||
|
"format": 1,
|
||||||
|
"markdown": ""
|
||||||
|
},
|
||||||
|
"sort": 700000,
|
||||||
|
"title": {
|
||||||
|
"show": true,
|
||||||
|
"level": 1
|
||||||
|
},
|
||||||
|
"image": {
|
||||||
|
"caption": ""
|
||||||
|
},
|
||||||
|
"video": {
|
||||||
|
"controls": true,
|
||||||
|
"volume": 0.5
|
||||||
|
},
|
||||||
|
"src": null,
|
||||||
|
"flags": {},
|
||||||
|
"ownership": {
|
||||||
|
"default": -1
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"_id": "CDEHelpP08NPCSH",
|
||||||
|
"_key": "!journal.pages!CDEGuideMain0001.CDEHelpP08NPCSH",
|
||||||
|
"name": "Les PNJ",
|
||||||
|
"type": "text",
|
||||||
|
"text": {
|
||||||
|
"content": "\n<h1>Les Personnages Non-Joueurs (PNJ)</h1>\n<figure><img src=\"systems/fvtt-chroniques-de-l-etrange/images/ui/npc-sheet.png\" alt=\"Fiche de PNJ\"/><figcaption>Fiche PNJ : type, nuisance, menace et aptitudes</figcaption></figure>\n<p>Les PNJ ont une fiche simplifiée par rapport aux personnages joueurs.</p>\n<h2>Caractéristiques</h2>\n<ul>\n<li><strong>Type de créature</strong> : Mortel, Démon, Esprit, Esprit animal, Fantôme, Jiugwaai, Dieu/Divinité.</li>\n<li><strong>Capacité de nuisance</strong> : Figurant, Sbire, Adversaire, Allié, Boss, Divinité.</li>\n<li><strong>Niveau de menace</strong> : Profane → Apprenti → Initié → Accompli → Renommé.</li>\n</ul>\n<h2>Aptitudes</h2>\n<p>Les PNJ ont quatre aptitudes (Physique, Martiale, Mentale, Sociale) avec une spécialité optionnelle chacune.</p>\n<h2>Capacités surnaturelles</h2>\n<p>Les PNJ peuvent avoir des capacités importées depuis le compendium <em>Capacités Surnaturelles</em>.</p>\n",
|
||||||
|
"format": 1,
|
||||||
|
"markdown": ""
|
||||||
|
},
|
||||||
|
"sort": 800000,
|
||||||
|
"title": {
|
||||||
|
"show": true,
|
||||||
|
"level": 1
|
||||||
|
},
|
||||||
|
"image": {
|
||||||
|
"caption": ""
|
||||||
|
},
|
||||||
|
"video": {
|
||||||
|
"controls": true,
|
||||||
|
"volume": 0.5
|
||||||
|
},
|
||||||
|
"src": null,
|
||||||
|
"flags": {},
|
||||||
|
"ownership": {
|
||||||
|
"default": -1
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"_id": "CDEHelpP09Initi",
|
||||||
|
"_key": "!journal.pages!CDEGuideMain0001.CDEHelpP09Initi",
|
||||||
|
"name": "Initiative & Combat",
|
||||||
|
"type": "text",
|
||||||
|
"text": {
|
||||||
|
"content": "\n<h1>Initiative & Combat</h1>\n<figure><img src=\"systems/fvtt-chroniques-de-l-etrange/images/ui/initiative-wheel.png\" alt=\"Roue d'initiative\"/><figcaption>La Roue d'Initiative : 24 crans, couleurs Wu Xing</figcaption></figure>\n<h2>La Roue d'Initiative</h2>\n<p>La roue est un cercle de <strong>24 crans</strong> numérotés. L'initiative de chaque personnage est calculée comme suit :</p>\n<ul>\n<li><strong>Personnage joueur</strong> : Prouesse + valeur de compétence de la première action.</li>\n<li><strong>PNJ</strong> : Aptitude physique + aptitude de la première action.</li>\n</ul>\n<p>Les crans sont colorés selon le cycle Wu Xing (4 crans par couleur, 6 couleurs). <strong>Un effet qui dure 6 crans</strong> court jusqu'au prochain cran de la même couleur.</p>\n<h2>Ordre d'action</h2>\n<p>Les personnages agissent <strong>du numéro le plus élevé au plus bas</strong>. Après chaque action, le jeton avance dans le sens horaire du <strong>coût de l'action</strong> :</p>\n<table>\n<thead><tr><th>Action</th><th>Coût (crans)</th></tr></thead>\n<tbody>\n<tr><td>Défense</td><td>1</td></tr>\n<tr><td>Déplacement</td><td>2</td></tr>\n<tr><td>Attaque</td><td>3</td></tr>\n<tr><td>Retarder</td><td>6</td></tr>\n</tbody>\n</table>\n<h2>Accès à la roue</h2>\n<p>Ouvrez la roue depuis la barre latérale du chat (icône roue) ou via la console : <code>game.cde.CDEWheelApp.open()</code>.</p>\n",
|
||||||
|
"format": 1,
|
||||||
|
"markdown": ""
|
||||||
|
},
|
||||||
|
"sort": 900000,
|
||||||
|
"title": {
|
||||||
|
"show": true,
|
||||||
|
"level": 1
|
||||||
|
},
|
||||||
|
"image": {
|
||||||
|
"caption": ""
|
||||||
|
},
|
||||||
|
"video": {
|
||||||
|
"controls": true,
|
||||||
|
"volume": 0.5
|
||||||
|
},
|
||||||
|
"src": null,
|
||||||
|
"flags": {},
|
||||||
|
"ownership": {
|
||||||
|
"default": -1
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"_id": "CDEHelpP10Extra",
|
||||||
|
"_key": "!journal.pages!CDEGuideMain0001.CDEHelpP10Extra",
|
||||||
|
"name": "Loksyu, Tin Ji & Migration",
|
||||||
|
"type": "text",
|
||||||
|
"text": {
|
||||||
|
"content": "\n<h1>Loksyu, Tin Ji & Outils de MJ</h1>\n<h2>Loksyu (落穗) et Tin Ji (天機)</h2>\n<figure><img src=\"systems/fvtt-chroniques-de-l-etrange/images/ui/loksyu-app.png\" alt=\"Application Loksyu\"/><figcaption>Application Loksyu : compteurs Yin/Yang et Tin Ji</figcaption></figure>\n<p>Ces deux compteurs sont <strong>partagés entre tous les joueurs</strong> et le MJ :</p>\n<ul>\n<li><strong>Loksyu</strong> — Se divise en Yin et Yang. Les jets de dés alimentent ces compteurs selon les résultats. Les joueurs peuvent puiser dans le Loksyu pour améliorer leurs jets.</li>\n<li><strong>Tin Ji</strong> — Le compteur de destin. Peut être dépensé pour des effets exceptionnels.</li>\n</ul>\n<p>Accédez via la barre du chat ou : <code>game.cde.CDELoksyuApp.open()</code></p>\n<h2>Migration de l'ancien système</h2>\n<figure><img src=\"systems/fvtt-chroniques-de-l-etrange/images/ui/migration-dialog.png\" alt=\"Outil de migration\"/><figcaption>Outil de migration : importation depuis l'ancien système</figcaption></figure>\n<p>Si vous possédez des fiches de personnage créées dans l'ancien système CDE (non maintenu), l'outil de migration les convertit automatiquement :</p>\n<ol>\n<li>Ouvrez <strong>Paramètres de la partie → Paramètres du système → Importer des personnages</strong>.</li>\n<li>Glissez les fichiers JSON des anciens personnages dans la zone de dépôt.</li>\n<li>Vérifiez l'aperçu et cliquez <strong>Importer</strong>.</li>\n</ol>\n<p>Les personnages migrés apparaissent dans la liste des Acteurs.</p>\n",
|
||||||
|
"format": 1,
|
||||||
|
"markdown": ""
|
||||||
|
},
|
||||||
|
"sort": 1000000,
|
||||||
|
"title": {
|
||||||
|
"show": true,
|
||||||
|
"level": 1
|
||||||
|
},
|
||||||
|
"image": {
|
||||||
|
"caption": ""
|
||||||
|
},
|
||||||
|
"video": {
|
||||||
|
"controls": true,
|
||||||
|
"volume": 0.5
|
||||||
|
},
|
||||||
|
"src": null,
|
||||||
|
"flags": {},
|
||||||
|
"ownership": {
|
||||||
|
"default": -1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"sort": 0,
|
||||||
|
"ownership": {
|
||||||
|
"default": 0
|
||||||
|
},
|
||||||
|
"flags": {},
|
||||||
|
"folder": null
|
||||||
|
}
|
||||||
@@ -11,7 +11,7 @@
|
|||||||
"aspect": "metal",
|
"aspect": "metal",
|
||||||
"skill": "kungfu",
|
"skill": "kungfu",
|
||||||
"speciality": "Poignard",
|
"speciality": "Poignard",
|
||||||
"style": "<p>Usant de deux armes maniées conjointement, la Forme des Couteaux papillon offre à son pratiquant un avantage offensif. Le personnage gagne 1 dé supplémentaire à ses jets d’attaque (ou augmente de 1 la valeur de l’Aptitude Techniques</p>",
|
"style": "Usant de deux armes maniées conjointement, la Forme des Couteaux papillon offre à son pratiquant un avantage offensif. Le personnage gagne 1 dé supplémentaire à ses jets d'attaque (ou augmente de 1 la valeur de l'Aptitude martiale dans le cas d'un PNJ).",
|
||||||
"techniques": {
|
"techniques": {
|
||||||
"technique1": {
|
"technique1": {
|
||||||
"check": true,
|
"check": true,
|
||||||
@@ -23,7 +23,7 @@
|
|||||||
"check": true,
|
"check": true,
|
||||||
"name": "le système de combat",
|
"name": "le système de combat",
|
||||||
"activation": "reaction",
|
"activation": "reaction",
|
||||||
"technique": "<p>Le corps résistant et la position immuable du pratiquant le rendent difficile à blesser. Si le personnage choisit de ne pas utiliser d’action de défense contre une attaque, le personnage utilise sa valeur de Métal (ou d’Aptitude martiale pour un PNJ) pour fixer la difficulté pour le toucher (au lieu de la difficulté normale de 1). martiale dans le cas d’un PNJ). S’il décide d’utiliser ce Style au moment où est déterminée l’Initiative, le personnage peut décider de remplacer son score normal d’Initiative par le double de sa valeur de Feu (ou d’Aptitude sociale pour un PNJ). les chroniqu</p>"
|
"technique": "<p>Le corps résistant et la position immuable du pratiquant le rendent difficile à blesser. Si le personnage choisit de ne pas utiliser d’action de défense contre une attaque, le personnage utilise sa valeur de Métal (ou d’Aptitude martiale pour un PNJ) pour fixer la difficulté pour le toucher (au lieu de la difficulté normale de 1). martiale dans le cas d’un PNJ). S’il décide d’utiliser ce Style au moment où est déterminée l’Initiative, le personnage peut décider de remplacer son score normal d’Initiative par le double de sa valeur de Feu (ou d’Aptitude sociale pour un PNJ).</p>"
|
||||||
},
|
},
|
||||||
"technique3": {
|
"technique3": {
|
||||||
"check": true,
|
"check": true,
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
"aspect": "terre",
|
"aspect": "terre",
|
||||||
"skill": "kungfu",
|
"skill": "kungfu",
|
||||||
"speciality": "Mains Nues",
|
"speciality": "Mains Nues",
|
||||||
"style": "<p>S’étant fortifié le corps à l’extrême pour pratiquer le Kung-fu de l’Invulnérabilité, le pratiquant résiste à des coups qui laisseraient d’autres sur le carreau. Le personnage obtient une protection de 2.</p>",
|
"style": "S’étant fortifié le corps à l’extrême pour pratiquer le Kung-fu de l’Invulnérabilité, le pratiquant résiste à des coups qui laisseraient d’autres sur le carreau. Le personnage obtient une protection de 2.",
|
||||||
"techniques": {
|
"techniques": {
|
||||||
"technique1": {
|
"technique1": {
|
||||||
"check": true,
|
"check": true,
|
||||||
@@ -23,7 +23,7 @@
|
|||||||
"check": true,
|
"check": true,
|
||||||
"name": "La volonté de fer",
|
"name": "La volonté de fer",
|
||||||
"activation": "action-attack-defense",
|
"activation": "action-attack-defense",
|
||||||
"technique": "<p>Concentré et résistant, le pratiquant contrôle la douleur. Quelle que soit son action, lorsque le personnage fait son jet, il ignore 1 dé de malus dû à la perte de Zing et/ou de San. S’il dépense 2 dés-fastes à cet effet, il ignore alors 2 dés de malus dus à la perte de Zing et/ou de San. S’il s’agit d’un PNJ, il récupère 1 point de Vitalité. Forme des Couteaux papillon Orientation : Yin Aspect : Métal Compétence : Kung-fu Spécialité : Poignard Wing Chun, employant une paire de</p>"
|
"technique": "<p>Concentré et résistant, le pratiquant contrôle la douleur. Quelle que soit son action, lorsque le personnage fait son jet, il ignore 1 dé de malus dû à la perte de Zing et/ou de San. S’il dépense 2 dés-fastes à cet effet, il ignore alors 2 dés de malus dus à la perte de Zing et/ou de San. S’il s’agit d’un PNJ, il récupère 1 point de Vitalité. Forme des Couteaux papillon</p>"
|
||||||
},
|
},
|
||||||
"technique3": {
|
"technique3": {
|
||||||
"check": false,
|
"check": false,
|
||||||
|
|||||||
@@ -6,18 +6,18 @@
|
|||||||
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-kungfu.svg",
|
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-kungfu.svg",
|
||||||
"system": {
|
"system": {
|
||||||
"reference": "",
|
"reference": "",
|
||||||
"description": "<p>Le Hung Gar, natif de la province du Guangdong, est très populaire aussi bien en Chine qu’à l’étranger. On le surnomme également la Boxe du Tigre et de la Grue – bien qu’il adopte des postures typiques d’autres animaux (léopard, dragon, serpent). Cette boxe était notamment pratiquée par le grand héros Wong Feihung. À partir de positions basses et stables, les membres supérieurs sont au cœur des techniques du Hung Gar, autant pour porter des coups que pour utiliser l’une des nombreuses techniques de blocage contre l’adversaire. Le Coeng Kyun offre au pratiquant une mobilité exceptionnelle, se traduisant par un jeu de jambes élaboré. Le personnage peut dépenser 2 dés-fastes obtenus lors d’une action de défense pour obtenir une action de déplacement gratuite (sans dépenser de crans d’initiative supplémentaires) qui a lieu immédiatement après que l’action de défense est résolue. difficulté pour le toucher (au lieu de la difficulté normale de 1). de l’étrange Il s’appuie essentiellement sur des coups de pied sautés et des frappes allongées permettant d’atteindre l’adversaire, même quand celui-ci se croit hors de portée.</p>",
|
"description": "<p>Le Hung Gar, natif de la province du Guangdong, est très populaire aussi bien en Chine qu’à l’étranger. On le surnomme également la Boxe du Tigre et de la Grue – bien qu’il adopte des postures typiques d’autres animaux (léopard, dragon, serpent). Cette boxe était notamment pratiquée par le grand héros Wong Feihung. À partir de positions basses et stables, les membres supérieurs sont au cœur des techniques du Hung Gar, autant pour porter des coups que pour utiliser l’une des nombreuses techniques de blocage contre l’adversaire. Le Coeng Kyun offre au pratiquant une mobilité exceptionnelle, se traduisant par un jeu de jambes élaboré. Le personnage peut dépenser 2 dés-fastes obtenus lors d’une action de défense pour obtenir une action de déplacement gratuite (sans dépenser de crans d’initiative supplémentaires) qui a lieu immédiatement après que l’action de défense est résolue. difficulté pour le toucher (au lieu de la difficulté normale de 1).</p>",
|
||||||
"orientation": "yang",
|
"orientation": "yang",
|
||||||
"aspect": "feu",
|
"aspect": "feu",
|
||||||
"skill": "kungfu",
|
"skill": "kungfu",
|
||||||
"speciality": "Mains Nues",
|
"speciality": "Mains Nues",
|
||||||
"style": "<p>Le Hung Gar est un art martial qui privilégie l’agressivité et la puissance. Le personnage gagne 1 dé supplémentaire sur chacun de ses jets d’attaque (ou augmente de 1 la valeur de l’Aptitude martiale dans le cas d’un PNJ) et inflige 1 dégât supplémentaire à mains nues. Techniques</p>",
|
"style": "Le Hung Gar est un art martial qui privilégie l’agressivité et la puissance. Le personnage gagne 1 dé supplémentaire sur chacun de ses jets d’attaque (ou augmente de 1 la valeur de l’Aptitude martiale dans le cas d’un PNJ) et inflige 1 dégât supplémentaire à mains nues.",
|
||||||
"techniques": {
|
"techniques": {
|
||||||
"technique1": {
|
"technique1": {
|
||||||
"check": true,
|
"check": true,
|
||||||
"name": "Le tigre déchire sa proie",
|
"name": "Le tigre déchire sa proie",
|
||||||
"activation": "damage-inflicted",
|
"activation": "damage-inflicted",
|
||||||
"technique": "<p>Les coups portés avec les doigts positionnés en « gueule de tigre » lacèrent la chair et brisent les os. Les dégâts à mains nues du personnage sont égaux à sa valeur de Métal (ou d’Aptitude martiale pour un PNJ) au lieu de 1 pour cette attaque. niq e</p>"
|
"technique": "<p>Les coups portés avec les doigts positionnés en « gueule de tigre » lacèrent la chair et brisent les os. Les dégâts à mains nues du personnage sont égaux à sa valeur de Métal (ou d’Aptitude martiale pour un PNJ) au lieu de 1 pour cette attaque.</p>"
|
||||||
},
|
},
|
||||||
"technique2": {
|
"technique2": {
|
||||||
"check": true,
|
"check": true,
|
||||||
@@ -29,7 +29,7 @@
|
|||||||
"check": true,
|
"check": true,
|
||||||
"name": "L’animal acculé mord le chasseur",
|
"name": "L’animal acculé mord le chasseur",
|
||||||
"activation": "dice",
|
"activation": "dice",
|
||||||
"technique": "<p>Les parades du Hung Gar sont presque aussi dévastatrices que ses attaques. Le personnage peut dépenser les dés-fastes de son action de défense réussie pour infliger immédiatement des dégâts à son adversaire (à raison de 1 pour 1). Jeet Kune Do (Jie; Quan mandarin Zit Kyun Dou en cantonais) Orientation : Yang Aspect : Bois Compétence : Kung-fu Spécialité : Mains Nues Création du célèbre Bruce Lee, le Jeet Kune Do est un art martial hérit</p>"
|
"technique": "<p>Les parades du Hung Gar sont presque aussi dévastatrices que ses attaques. Le personnage peut dépenser les dés-fastes de son action de défense réussie pour infliger immédiatement des dégâts à son adversaire (à raison de 1 pour 1). Jeet Kune Do (Jie; Quan mandarin Zit Kyun Dou en cantonais)</p>"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
"aspect": "bois",
|
"aspect": "bois",
|
||||||
"skill": "kungfu",
|
"skill": "kungfu",
|
||||||
"speciality": "Mains Nues",
|
"speciality": "Mains Nues",
|
||||||
"style": "<p>Telle la fameuse arme traditionnelle dont s’inspire cette boxe, le pratiquant fuse à grande vitesse pour arriver à portée de son adversaire. Une action de déplacement coûte 1 cran d’initiative (au lieu de 2) au personnage. La pointe de la lance</p>",
|
"style": "Telle la fameuse arme traditionnelle dont s’inspire cette boxe, le pratiquant fuse à grande vitesse pour arriver à portée de son adversaire. Une action de déplacement coûte 1 cran d’initiative (au lieu de 2) au personnage. La pointe de la lance",
|
||||||
"techniques": {
|
"techniques": {
|
||||||
"technique1": {
|
"technique1": {
|
||||||
"check": true,
|
"check": true,
|
||||||
@@ -29,7 +29,7 @@
|
|||||||
"check": true,
|
"check": true,
|
||||||
"name": "La pensée précède la forme",
|
"name": "La pensée précède la forme",
|
||||||
"activation": "dice",
|
"activation": "dice",
|
||||||
"technique": "<p>Usant de mouvements de hanches et d’épaules pour gêner son adversaire, le pratiquant le force à négliger sa garde. Le personnage peut dépenser les dés-fastes de son action d’attaque ou de défense (réussie ou non) pour infliger des dés-néfastes à la prochaine action de son adversaire (à raison de 1 pour 1). Le Seot Gaau Orientation : Yang ou Yin Aspect : Terre Compétence : Kung-fu Spécialité : Mains Nues Cette dénomination correspond à la lutte chinoise moderne, tell</p>"
|
"technique": "<p>Usant de mouvements de hanches et d’épaules pour gêner son adversaire, le pratiquant le force à négliger sa garde. Le personnage peut dépenser les dés-fastes de son action d’attaque ou de défense (réussie ou non) pour infliger des dés-néfastes à la prochaine action de son adversaire (à raison de 1 pour 1)."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -6,30 +6,30 @@
|
|||||||
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-kungfu.svg",
|
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-kungfu.svg",
|
||||||
"system": {
|
"system": {
|
||||||
"reference": "",
|
"reference": "",
|
||||||
"description": "<p>Rarement enseigné dans les écoles, en raison de ses formes particulières et des légendes scabreuses entourant ses origines, ce style est sans arme les plus anciennes. La version la plus populaire sur sa naissance prétend que son créateur découvrit les arcanes du Zeoi Kyun alors qu’il s’était ennivré, après avoir tenté en vain de comprendre les dessins faits par son maître qui voulait lui transmettre ses secrets. La Boxe de l’Ivresse évoque irrésistiblement les attitudes et formes des arts martiaux classiques, tels qu’ils seraient singés par un ivrogne. En réalité, ce style repose entièrement sur les notions de mobilité et d’imprévisibilité. Il vise à déstabiliser l’adversaire, en prétendant effectuer des attaques ou des gardes maladroites. Ainsi, en dépit des apparences, il s’agit d’un art martial très difficile à maîtriser.</p>",
|
"description": "<p>Rarement enseigné dans les écoles, en raison de ses formes particulières et des légendes scabreuses entourant ses origines, ce style est pourtant au nombre des techniques de combat sans arme les plus anciennes. La version la plus populaire sur sa naissance prétend que son créateur découvrit les arcanes du Zeoi Kyun alors qu'il s'était ennivré, après avoir tenté en vain de comprendre les dessins faits par son maître qui voulait lui transmettre ses secrets. La Boxe de l'Ivresse évoque irrésistiblement les attitudes et formes des arts martiaux classiques, tels qu'ils seraient singés par un ivrogne. En réalité, ce style repose entièrement sur les notions de mobilité et d'imprévisibilité. Il vise à déstabiliser l'adversaire, en prétendant effectuer des attaques ou des gardes maladroites. Ainsi, en dépit des apparences, il s'agit d'un art martial très difficile à maîtriser.</p>",
|
||||||
"orientation": "yin",
|
"orientation": "yin",
|
||||||
"aspect": "eau",
|
"aspect": "eau",
|
||||||
"skill": "kungfu",
|
"skill": "kungfu",
|
||||||
"speciality": "Mains Nues",
|
"speciality": "Mains Nues",
|
||||||
"style": "<p>Malgré les apparences, le Wing Chun se révèle un art martial violent et offensif. Sur chacune de ses attaques réussies, les dés-fastes dépensés par le personnage pour augmenter ses dégâts comptent double. le système de combat</p>",
|
"style": "Le déséquilibre du pratiquant est la clé de la Boxe de l'Ivresse. Le personnage élimine gratuitement 2 dés-néfastes sur ses actions d'attaque, qu'elles soient réussies ou non.",
|
||||||
"techniques": {
|
"techniques": {
|
||||||
"technique1": {
|
"technique1": {
|
||||||
"check": true,
|
"check": true,
|
||||||
"name": "La terre tourne autour du soleil",
|
"name": "Les mains collantes",
|
||||||
"activation": "damage-inflicted",
|
"activation": "damage-inflicted",
|
||||||
"technique": "<p>Les coups assénés à un rythme soutenu par le pratiquant épuisent son adversaire. La cible perd 2 points de Hei (l’éventuelle répartition en Yin et Yang est au choix du personnage touché) en plus des dégâts infligés. de l’étrange Techniques niq e hr ng s c ra le l’ét Style Le déséquilibre du pratiquant est la clé de la Boxe de l’Ivresse. Le personnage élimine gratuitement 2 dés-néfastes sur ses actions d’attaque, qu’elles so</p>"
|
"technique": "<p>Les coups assénés à un rythme soutenu par le pratiquant épuisent son adversaire. La cible perd 2 points de Hei (l'éventuelle répartition en Yin et Yang est au choix du personnage touché) en plus des dégâts infligés.</p>"
|
||||||
},
|
},
|
||||||
"technique2": {
|
"technique2": {
|
||||||
"check": true,
|
"check": true,
|
||||||
"name": "Chuter du ciel",
|
"name": "Contrer l'impulsion",
|
||||||
"activation": "dice",
|
"activation": "reaction",
|
||||||
"technique": "<p>Lui-même en déséquilibre perpétuel, le pratiquant jette facilement au sol son opposant et le force ainsi à perdre du temps à se relever. Lors d’une attaque réussie, le personnage fait tomber son adversaire et peut dépenser les dés-fastes obtenus à son action d’attaque pour faire perdre des crans d’initiative à sa cible (à raison de 1 pour 1, maximum 3). L’attaque inflige</p>"
|
"technique": "<p>Placé au plus proche de son adversaire, le pratiquant oriente les mouvements de celui-ci par un contrôle de ses poings et de ses pieds. S'il choisit de ne pas utiliser d'action de défense contre une attaque, le personnage utilise sa valeur de Terre (ou d'Aptitude physique pour un PNJ) pour fixer la difficulté pour le toucher (au lieu de la difficulté normale de 1).</p>"
|
||||||
},
|
},
|
||||||
"technique3": {
|
"technique3": {
|
||||||
"check": true,
|
"check": true,
|
||||||
"name": "La lame s’envole",
|
"name": "Le double coup de paume",
|
||||||
"activation": "action-defense",
|
"activation": "damage-inflicted",
|
||||||
"technique": "<p>Lorsqu’il affronte un combattant armé, le pratiquant prend bien garde à le priver de cet atout. Lors d’une défense au contact réussie, le personnage désarme son adversaire et l’arme est projetée à distance courte. Si le personnage dépense 2 dés-fastes à cet effet, l’arme e</p>"
|
"technique": "<p>Le pratiquant effectue une double frappe afin de maximiser l'impact de ses attaques. Les dégâts à mains nues du personnage sont égaux à sa valeur de Bois (ou d'Aptitude spirituelle pour un PNJ) au lieu de 1 pour cette attaque.</p>"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-kungfu.svg",
|
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-kungfu.svg",
|
||||||
"system": {
|
"system": {
|
||||||
"reference": "",
|
"reference": "",
|
||||||
"description": "<p>Bien qu’on en connaisse surtout la version moderne, qui relève davantage d’une discipline sportive – le kung-fu pratiqué en compétition –, le Coeng Kyun est à l’origine un art martial externe conçu par l’ethnie musulmane des Hui, dans le nord de la Chine. Techniques Le bond du fauve Activation : Action d’attaque Le pratiquant entre dans la garde de son adversaire en un éclair quand il passe à l’attaque. Le personnage ajoute à son action d’attaque une action de déplacement gratuite (donc sans dépenser de crans d’initiative supplémentaires). Il peut alors se déplacer puis attaquer, m</p>",
|
"description": "<p>Bien qu'on en connaisse surtout la version moderne, qui relève davantage d'une discipline sportive – le kung-fu pratiqué en compétition –, le Coeng Kyun est à l'origine un art martial externe conçu par l'ethnie musulmane des Hui, dans le nord de la Chine. Il s'appuie essentiellement sur des coups de pied sautés et des frappes allongées permettant d'atteindre l'adversaire, même quand celui-ci se croit hors de portée.</p>",
|
||||||
"orientation": "yang",
|
"orientation": "yang",
|
||||||
"aspect": "feu",
|
"aspect": "feu",
|
||||||
"skill": "kungfu",
|
"skill": "kungfu",
|
||||||
@@ -29,7 +29,7 @@
|
|||||||
"check": true,
|
"check": true,
|
||||||
"name": "L’envol de la grue",
|
"name": "L’envol de la grue",
|
||||||
"activation": "reaction",
|
"activation": "reaction",
|
||||||
"technique": "<p>Tout comme il sait se rapprocher pour attaquer, le pratiquant sait se mettre hors d’atteinte des coups de son adversaire en adoptant une garde à la fois solide et gracieuse. S’il choisit de ne pas utiliser d’action de défense contre une attaque, le personnage utilise sa valeur de Feu (ou d’Aptitude sociale pour un PNJ) pour fixer la BoxeGar de) la famille Hong (Hung Orientation : Yang Aspect : Feu Compétence : Kung-fu Spécialité : Mains Nues Le Hung Gar, natif de la province du Guangdong, est très populaire aussi</p>"
|
"technique": "<p>Tout comme il sait se rapprocher pour attaquer, le pratiquant sait se mettre hors d’atteinte des coups de son adversaire en adoptant une garde à la fois solide et gracieuse. S’il choisit de ne pas utiliser d’action de défense contre une attaque, le personnage utilise sa valeur de Feu (ou d’Aptitude sociale pour un PNJ) pour fixer la BoxeGar de) la famille Hong (Hung</p>"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -6,12 +6,12 @@
|
|||||||
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-kungfu.svg",
|
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-kungfu.svg",
|
||||||
"system": {
|
"system": {
|
||||||
"reference": "",
|
"reference": "",
|
||||||
"description": "<p>Héros de la dynastie Song, Yue Fei possède la réputation d’être l’un des plus grands guerriers de toute l’histoire de la Chine. De nombreux styles font remonter leurs origines à ce vaillant général. Lancier particulièrement doué, il est au moins certain que la Lance loyale du général Yue Fei soit due à son génie martial. Cette voie met à profit la totalité de la lance pour ses techniques. Les attaques en sont puissantes et dévastatrices grâce au poids de l’arme et à sa pointe de fer. Les parades en sont solides et rapides grâce à son long manche en bois. C’est un art martial équilibré qui met à l’honneur une arme typique de la Chine impériale. s c ra le l’ét</p>",
|
"description": "<p>Héros de la dynastie Song, Yue Fei possède la réputation d’être l’un des plus grands guerriers de toute l’histoire de la Chine. De nombreux styles font remonter leurs origines à ce vaillant général. Lancier particulièrement doué, il est au moins certain que la Lance loyale du général Yue Fei soit due à son génie martial. Cette voie met à profit la totalité de la lance pour ses techniques. Les attaques en sont puissantes et dévastatrices grâce au poids de l’arme et à sa pointe de fer. Les parades en sont solides et rapides grâce à son long manche en bois. C’est un art martial équilibré qui met à l’honneur une arme typique de la Chine impériale.</p>",
|
||||||
"orientation": "yinyang",
|
"orientation": "yinyang",
|
||||||
"aspect": "terre",
|
"aspect": "terre",
|
||||||
"skill": "kungfu",
|
"skill": "kungfu",
|
||||||
"speciality": "Lance",
|
"speciality": "Lance",
|
||||||
"style": "<p>Le pratiquant met à profit l’avantage que lui procure la longueur de sa lance. Le personnage peut porter une attaque à distance courte comme s’il se trouvait au contact. Techniques</p>",
|
"style": "Le pratiquant met à profit l’avantage que lui procure la longueur de sa lance. Le personnage peut porter une attaque à distance courte comme s’il se trouvait au contact.",
|
||||||
"techniques": {
|
"techniques": {
|
||||||
"technique1": {
|
"technique1": {
|
||||||
"check": true,
|
"check": true,
|
||||||
@@ -29,7 +29,7 @@
|
|||||||
"check": true,
|
"check": true,
|
||||||
"name": "Retenir l’avalanche",
|
"name": "Retenir l’avalanche",
|
||||||
"activation": "action-defense",
|
"activation": "action-defense",
|
||||||
"technique": "<p>D’une solidité à toute épreuve, la lance bloque et repousse les opposants du pratiquant. Si l’action de défense du personnage est réussie, son agresseur est projeté à distance courte. S’il dépense 2 dés-fastes à cet effet, l’agresseur est projeté à distance médiane. Les Éclairs de Leoi Gung Orientation : Yang Aspect : Bois Compétence : Combat à distance Spécialité : Arc Ce style particulier de tir à l’arc doit sa création à un jeune chas</p>"
|
"technique": "<p>D’une solidité à toute épreuve, la lance bloque et repousse les opposants du pratiquant. Si l’action de défense du personnage est réussie, son agresseur est projeté à distance courte. S’il dépense 2 dés-fastes à cet effet, l’agresseur est projeté à distance médiane. Les Éclairs de Leoi Gung</p>"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -6,30 +6,30 @@
|
|||||||
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-kungfu.svg",
|
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-kungfu.svg",
|
||||||
"system": {
|
"system": {
|
||||||
"reference": "",
|
"reference": "",
|
||||||
"description": "<p>La Paume des Huit Trigrammes vient du nord de la Chine et plus précisément des Monts Wudang – berceau de nombreux arts martiaux chinois. Il s’agit d’un art martial privilégiant les attaques à main ouverte (plutôt que le poing fermé) ainsi que la mobilité et la fluidité : le des déplacements circulaires incessants au sein d’un cercle imaginaire figurant le taaigik.</p>",
|
"description": "<p>La Paume des Huit Trigrammes vient du nord de la Chine et plus précisément des Monts Wudang – berceau de nombreux arts martiaux chinois. Il s'agit d'un art martial privilégiant les attaques à main ouverte (plutôt que le poing fermé) ainsi que la mobilité et la fluidité : le pratiquant contrôle son espace de combat par des déplacements circulaires incessants au sein d'un cercle imaginaire figurant le taaigik.</p>",
|
||||||
"orientation": "yin",
|
"orientation": "yin",
|
||||||
"aspect": "metal",
|
"aspect": "metal",
|
||||||
"skill": "kungfu",
|
"skill": "kungfu",
|
||||||
"speciality": "Mains Nues",
|
"speciality": "Mains Nues",
|
||||||
"style": "<p>Une grande mobilité est le principal atout du pratiquant de la Paume des Huit Trigrammes. Une action de déplacement coûte 1 cran d’initiative (au lieu de 2) au personnage. Techniques Contourner l’obstacle</p>",
|
"style": "Une grande mobilité est le principal atout du pratiquant de la Paume des Huit Trigrammes. Une action de déplacement coûte 1 cran d'initiative (au lieu de 2) au personnage.",
|
||||||
"techniques": {
|
"techniques": {
|
||||||
"technique1": {
|
"technique1": {
|
||||||
"check": true,
|
"check": true,
|
||||||
"name": "Les mains collantes",
|
"name": "Contourner l'obstacle",
|
||||||
"activation": "reaction",
|
"activation": "reaction",
|
||||||
"technique": "<p>Constamment en mouvement face à son adversaire, le pratiquant l’oblige à s’épuiser pour l’atteindre. Une attaque contre le personnage coûte</p>"
|
"technique": "<p>Constamment en mouvement face à son adversaire, le pratiquant l'oblige à s'épuiser pour l'atteindre. Une attaque contre le personnage coûte 1 cran d'initiative supplémentaire à l'agresseur.</p>"
|
||||||
},
|
},
|
||||||
"technique2": {
|
"technique2": {
|
||||||
"check": true,
|
"check": true,
|
||||||
"name": "Contourner l'obstacle",
|
"name": "La terre tourne autour du soleil",
|
||||||
"activation": "action-attack",
|
"activation": "action-attack",
|
||||||
"technique": "<p>Constamment en mouvement face à son\nadversaire, le pratiquant l’oblige à s’épuiser\npour l’atteindre. Une attaque contre le personnage coûte 1 cran d’initiative supplémentaire à\nl’agresseur.\nActivation : Action d’attaque\nCherchant inlassablement à obtenir une position privilégiée, le pratiquant délivre des frappes\nrapides et précises. Cette action d’attaque du personnage lui coûte 2 crans d’initiative (au lieu de 3). La main du dragon Activation : Action d’attaque\nDès qu’il se trouve dans la posi</p>"
|
"technique": "<p>Cherchant inlassablement à obtenir une position privilégiée, le pratiquant délivre des frappes rapides et précises. Cette action d'attaque du personnage lui coûte 2 crans d'initiative (au lieu de 3).</p>"
|
||||||
},
|
},
|
||||||
"technique3": {
|
"technique3": {
|
||||||
"check": true,
|
"check": true,
|
||||||
"name": "La main du dragon",
|
"name": "La main du dragon",
|
||||||
"activation": "action-attack",
|
"activation": "action-attack",
|
||||||
"technique": "<p>Dès qu’il se trouve dans la position idéale, le pratiquant porte un coup de la main ouverte en délivrant toute sa puissance. Si cette attaque réussit, les dés-fastes dépensés par le personnage pour augmenter ses dégâts comptent double. De plus, les dégâts à mains nues du personnage sont égaux à sa valeur de Terre (ou d’Aptitude physique pour un PNJ) au l</p>"
|
"technique": "<p>Dès qu'il se trouve dans la position idéale, le pratiquant porte un coup de la main ouverte en délivrant toute sa puissance. Si cette attaque réussit, les dés-fastes dépensés par le personnage pour augmenter ses dégâts comptent double. De plus, les dégâts à mains nues du personnage sont égaux à sa valeur de Terre (ou d'Aptitude physique pour un PNJ) au lieu de 1 pour cette attaque.</p>"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
"aspect": "bois",
|
"aspect": "bois",
|
||||||
"skill": "kungfu",
|
"skill": "kungfu",
|
||||||
"speciality": "Bâton",
|
"speciality": "Bâton",
|
||||||
"style": "<p>La souplesse d’utilisation du bâton rend cette arme redoutable entre les mains du pratiquant. Le personnage gagne 1 dé-faste gratuit sur ses actions d’attaque et de défense. Techniques</p>",
|
"style": "La souplesse d’utilisation du bâton rend cette arme redoutable entre les mains du pratiquant. Le personnage gagne 1 dé-faste gratuit sur ses actions d’attaque et de défense.",
|
||||||
"techniques": {
|
"techniques": {
|
||||||
"technique1": {
|
"technique1": {
|
||||||
"check": true,
|
"check": true,
|
||||||
@@ -29,7 +29,7 @@
|
|||||||
"check": true,
|
"check": true,
|
||||||
"name": "Esquiver les griffes du tigre",
|
"name": "Esquiver les griffes du tigre",
|
||||||
"activation": "reaction",
|
"activation": "reaction",
|
||||||
"technique": "<p>Sa taille et sa légèreté font du bâton une arme de défense efficace. S’il choisit de ne pas utiliser d’action de défense contre une attaque, le personnage utilise sa valeur d’Eau (ou d’Aptitude mentale pour un PNJ) pour fixer la difficulté pour le toucher (au lieu de la difficulté normale de 1). Les Trois Joyaux Orientation : Yang Aspect : Feu Compétence : Kung-fu Spécialité : Bâton Le nom de ce style évoque les multiples avantages offerts par le bâton à troi</p>"
|
"technique": "<p>Sa taille et sa légèreté font du bâton une arme de défense efficace. S’il choisit de ne pas utiliser d’action de défense contre une attaque, le personnage utilise sa valeur d’Eau (ou d’Aptitude mentale pour un PNJ) pour fixer la difficulté pour le toucher (au lieu de la difficulté normale de 1)."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -6,12 +6,12 @@
|
|||||||
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-kungfu.svg",
|
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-kungfu.svg",
|
||||||
"system": {
|
"system": {
|
||||||
"reference": "",
|
"reference": "",
|
||||||
"description": "<p>La voie du Faîte suprême de l’Épée est enseignée depuis le dix-septième siècle. Elle privilégie les souples épées à double tranchant, plus légères que les sabres et dont le maniement demande une grande précision – mais se révèle d’une redoutable efficacité. Le Taaigik Gim s’appuie sur le contrôle des énergies internes et des coups plus vifs, précis et légers que la majeure partie des techniques s c ra le l’ét</p>",
|
"description": "<p>La voie du Faîte suprême de l’Épée est enseignée depuis le dix-septième siècle. Elle privilégie les souples épées à double tranchant, plus légères que les sabres et dont le maniement demande une grande précision – mais se révèle d’une redoutable efficacité. Le Taaigik Gim s’appuie sur le contrôle des énergies internes et des coups plus vifs, précis et légers que la majeure partie des techniques</p>",
|
||||||
"orientation": "yin",
|
"orientation": "yin",
|
||||||
"aspect": "eau",
|
"aspect": "eau",
|
||||||
"skill": "kungfu",
|
"skill": "kungfu",
|
||||||
"speciality": "Épée",
|
"speciality": "Épée",
|
||||||
"style": "<p>L’épée souple est une arme défensive d’une extrême efficacité, s’enroulant autour des coups adverses pour les dévier. Le personnage gagne 1 dé supplémentaire à ses jets de défense (ou augmente de 1 la valeur de l’Aptitude martiale dans le cas d’un PNJ). Les personnages adverses se voient automatiquement infliger 2 désnéfastes sur leur action visant à le désarmer. Techniques</p>",
|
"style": "L’épée souple est une arme défensive d’une extrême efficacité, s’enroulant autour des coups adverses pour les dévier. Le personnage gagne 1 dé supplémentaire à ses jets de défense (ou augmente de 1 la valeur de l’Aptitude martiale dans le cas d’un PNJ). Les personnages adverses se voient automatiquement infliger 2 dés-néfastes sur leur action visant à le désarmer.",
|
||||||
"techniques": {
|
"techniques": {
|
||||||
"technique1": {
|
"technique1": {
|
||||||
"check": true,
|
"check": true,
|
||||||
@@ -29,7 +29,7 @@
|
|||||||
"check": true,
|
"check": true,
|
||||||
"name": "L’immortel sur sa montagne",
|
"name": "L’immortel sur sa montagne",
|
||||||
"activation": "action-attack-defense",
|
"activation": "action-attack-defense",
|
||||||
"technique": "<p>Concentré et résistant, le pratiquant contrôle la douleur. Quelle que soit son action, lorsque le personnage fait son jet, il ignore 1 dé de malus dû à la perte de Zing et/ou de San. S’il dépense 2 dés-fastes à cet effet, il ignore alors 2 dés de malus dus à la perte de Zing et/ou de San. S’il s’agit d’un PNJ, il récupère 1 point de Vitalité. de de Tigre la Bâton Double-peau Orientation : Yang Aspect : Bois Compétence : Kung-fu Spécialité : Bâton La tradition enseigne que cet art martial fut développé au début du sixième</p>"
|
"technique": "<p>Concentré et résistant, le pratiquant contrôle la douleur. Quelle que soit son action, lorsque le personnage fait son jet, il ignore 1 dé de malus dû à la perte de Zing et/ou de San. S’il dépense 2 dés-fastes à cet effet, il ignore alors 2 dés de malus dus à la perte de Zing et/ou de San. S’il s’agit d’un PNJ, il récupère 1 point de Vitalité."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
"aspect": "eau",
|
"aspect": "eau",
|
||||||
"skill": "kungfu",
|
"skill": "kungfu",
|
||||||
"speciality": "Mains Nues",
|
"speciality": "Mains Nues",
|
||||||
"style": "<p>Le Taaigik Kyun est un art martial qui privilégie les parades et les esquives. Le personnage gagne 1 dé supplémentaire sur chacun de ses jets de défense (ou augmente de 1 la valeur de l’Aptitude martiale dans le cas d’un PNJ) et inflige 1 dégât supplémentaire à mains nues. Techniques</p>",
|
"style": "Le Taaigik Kyun est un art martial qui privilégie les parades et les esquives. Le personnage gagne 1 dé supplémentaire sur chacun de ses jets de défense (ou augmente de 1 la valeur de l’Aptitude martiale dans le cas d’un PNJ) et inflige 1 dégât supplémentaire à mains nues.",
|
||||||
"techniques": {
|
"techniques": {
|
||||||
"technique1": {
|
"technique1": {
|
||||||
"check": true,
|
"check": true,
|
||||||
@@ -29,7 +29,7 @@
|
|||||||
"check": true,
|
"check": true,
|
||||||
"name": "La résolution vainc l’indécision",
|
"name": "La résolution vainc l’indécision",
|
||||||
"activation": "action-attack",
|
"activation": "action-attack",
|
||||||
"technique": "<p>Quand il passe à l’attaque, le pratiquant exploite les failles de son adversaire. Si l’adversaire se défend et qu’il obtient des dés-néfastes, ceux-ci peuvent être dépensés par le personnage pour infliger des dégâts supplémentaires (à raison de 1 pour 1) lors de cette attaque. De plus, les dégâts à mains nues du personnage sont égaux à sa valeur de Métal (ou d’Aptitude martiale pour un PNJ) au lieu de 1 pour cette attaque. BoxeKyun longue (Coeng Orientation : Yang Aspect : Feu Compétence : Kung-fu Spécialité : Mains Nues Bien qu’on en connaisse surtout la version moderne, qui relève davantage</p>"
|
"technique": "<p>Quand il passe à l’attaque, le pratiquant exploite les failles de son adversaire. Si l’adversaire se défend et qu’il obtient des dés-néfastes, ceux-ci peuvent être dépensés par le personnage pour infliger des dégâts supplémentaires (à raison de 1 pour 1) lors de cette attaque. De plus, les dégâts à mains nues du personnage sont égaux à sa valeur de Métal (ou d’Aptitude martiale pour un PNJ) au lieu de 1 pour cette attaque. BoxeKyun longue (Coeng</p>"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
"aspect": "eau",
|
"aspect": "eau",
|
||||||
"skill": "rangedcombat",
|
"skill": "rangedcombat",
|
||||||
"speciality": "Pistolet, Fusil",
|
"speciality": "Pistolet, Fusil",
|
||||||
"style": "<p>Sa célérité et ses angles de tir improbables permettent au pratiquant de toucher des cibles qui semblent hors d’atteinte. La portée des attaques du personnage passe de distance longue à distance extrême, et les dégâts des armes à feu sont augmentés de 1 à portée courte. Techniques</p>",
|
"style": "Sa célérité et ses angles de tir improbables permettent au pratiquant de toucher des cibles qui semblent hors d’atteinte. La portée des attaques du personnage passe de distance longue à distance extrême, et les dégâts des armes à feu sont augmentés de 1 à portée courte.",
|
||||||
"techniques": {
|
"techniques": {
|
||||||
"technique1": {
|
"technique1": {
|
||||||
"check": true,
|
"check": true,
|
||||||
@@ -29,7 +29,7 @@
|
|||||||
"check": true,
|
"check": true,
|
||||||
"name": "Le cri du dragon",
|
"name": "Le cri du dragon",
|
||||||
"activation": "damage-inflicted",
|
"activation": "damage-inflicted",
|
||||||
"technique": "<p>Vidant ses chargeurs dans un déluge de plomb, le pratiquant s’assure d’occasionner le maximum de dommages. Le personnage inflige des dégâts supplémentaires égaux à sa valeur de Métal (ou d’Aptitude martiale pour un PNJ) sur une attaque réussie. Le Gun Kata Orientation : Yin Aspect : Métal Compétence : Combat à distance Spécialité : Pistolet, Fusil Le Gun Kata est une technique de tir conçue pour maximis</p>"
|
"technique": "<p>Vidant ses chargeurs dans un déluge de plomb, le pratiquant s’assure d’occasionner le maximum de dommages. Le personnage inflige des dégâts supplémentaires égaux à sa valeur de Métal (ou d’Aptitude martiale pour un PNJ) sur une attaque réussie. Le Gun Kata</p>"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
"aspect": "metal",
|
"aspect": "metal",
|
||||||
"skill": "rangedcombat",
|
"skill": "rangedcombat",
|
||||||
"speciality": "Pistolet, Fusil",
|
"speciality": "Pistolet, Fusil",
|
||||||
"style": "<p>Le pratiquant comprend intuitivement les trajectoires des tirs qui fusent autour de lui. Pour effectuer une défense face à une attaque à distance, le personnage peut utiliser sa Compétence Armes à feu (Pistolet / Fusil) au lieu de sa Compétence Prouesse. Dans le cas d’un PNJ, celui-ci peut baser sa défense sur son Aptitude physique au lieu de son Aptitude martiale.</p>",
|
"style": "Le pratiquant comprend intuitivement les trajectoires des tirs qui fusent autour de lui. Pour effectuer une défense face à une attaque à distance, le personnage peut utiliser sa Compétence Armes à feu (Pistolet / Fusil) au lieu de sa Compétence Prouesse. Dans le cas d’un PNJ, celui-ci peut baser sa défense sur son Aptitude physique au lieu de son Aptitude martiale.",
|
||||||
"techniques": {
|
"techniques": {
|
||||||
"technique1": {
|
"technique1": {
|
||||||
"check": true,
|
"check": true,
|
||||||
@@ -23,7 +23,7 @@
|
|||||||
"check": true,
|
"check": true,
|
||||||
"name": "le système de combat",
|
"name": "le système de combat",
|
||||||
"activation": "action-aid",
|
"activation": "action-aid",
|
||||||
"technique": "<p>Le pratiquant tire de façon à avantager ses alliés. Lorsqu’il utilise l’action d’Aide, le personnage octroie 3 dés supplémentaires à lancer au lieu de 2 (ou donne un + 3 à l’Aptitude adaptée pour un PNJ au lieu de + 2) au personnage qu’il assiste. LES ARTS MARTIAUX EN TANT QU’ÉLÉMENT SCÉNARISTIQUE de l’étrange Tir rapide La magie que maîtrisent les fat si est l’un des aspects essentiels de Hong Kong – Les dans l’occulte et le surnaturel. Ce chapitre détaille les règles qui gouvernent l’usage des diverses magies dont peuvent disposer les PJ. « Un plumeau taoïste à la main, j’entamai une suite de mouvements martiaux afin de symboliser le combat du dieu de la guerre Gwaan Dai contre les forces maléfiques. Mes gestes enroulaient des volutes de poussière autour du chasse-mouches jusqu’à ce que d’épaisses spirales entourent l’objet. Classique instrument d’exorcisme, le plumeau possède le pouvoir d’expulser les flux néfastes comme une nuée d’insectes indésirables. Afin que mon rituel de purification soit complet, je devais cependant concentrer toute cette énergie Yin et ne pas en laisser une seule bribe m’échapper. Cela me demandait un effort considérable mais la nature même de ma magie me facilitait quelque peu cette tâche. Mes sens mystiques évaluaient avec exactitude la quantité de force négative qu’il me restait à accumuler autour de mon plumeau afin de nettoyer l’établissement de Pui Gan. J’injectais en continu mon propre hei dans le chasse-mouches sans cesser ma danse martiale – devenant en quelque sorte un aimant à énergie Yin. » — La Résurr</p>"
|
"technique": "<p>Le pratiquant tire de façon à avantager ses alliés. Lorsqu’il utilise l’action d’Aide, le personnage octroie 3 dés supplémentaires à lancer au lieu de 2 (ou donne un + 3 à l’Aptitude adaptée pour un PNJ au lieu de + 2) au personnage qu’il assiste. LES ARTS MARTIAUX EN TANT QU’ÉLÉMENT SCÉNARISTIQUE</p>"
|
||||||
},
|
},
|
||||||
"technique3": {
|
"technique3": {
|
||||||
"check": false,
|
"check": false,
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
"aspect": "bois",
|
"aspect": "bois",
|
||||||
"skill": "kungfu",
|
"skill": "kungfu",
|
||||||
"speciality": "Mains Nues",
|
"speciality": "Mains Nues",
|
||||||
"style": "<p>Bruce Lee a fait du Jeet Kune Do un art martial des plus adaptables. Le personnage obtient automatiquement 1 dé-faste supplémentaire au résultat de ses jets d’attaque et de défense et inflige 1 dégât supplémentaire à mains nues. Techniques</p>",
|
"style": "Bruce Lee a fait du Jeet Kune Do un art martial des plus adaptables. Le personnage obtient automatiquement 1 dé-faste supplémentaire au résultat de ses jets d’attaque et de défense et inflige 1 dégât supplémentaire à mains nues.",
|
||||||
"techniques": {
|
"techniques": {
|
||||||
"technique1": {
|
"technique1": {
|
||||||
"check": true,
|
"check": true,
|
||||||
@@ -29,7 +29,7 @@
|
|||||||
"check": true,
|
"check": true,
|
||||||
"name": "Sois comme l’eau",
|
"name": "Sois comme l’eau",
|
||||||
"activation": "dice",
|
"activation": "dice",
|
||||||
"technique": "<p>Le Jeet Kune Do se base sur une totale adaptabilité et réactivité du pratiquant. Quelle que soit son action, le personnage peut annuler sur le résultat du jet un nombre de dés-néfastes égal à sa valeur d’Eau (ou d’Aptitude mentale pour un PNJ). BoxePensée de la(Jingji FormeKyun et ) de la Orientation : Yang Aspect : Bois Compétence : Kung-fu Spécialité : Mains Nues La Boxe de la Forme et de la Pensée aurait vu le jour dans le nord de l</p>"
|
"technique": "<p>Le Jeet Kune Do se base sur une totale adaptabilité et réactivité du pratiquant. Quelle que soit son action, le personnage peut annuler sur le résultat du jet un nombre de dés-néfastes égal à sa valeur d’Eau (ou d’Aptitude mentale pour un PNJ). BoxePensée de la(Jingji FormeKyun et ) de la</p>"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
"aspect": "terre",
|
"aspect": "terre",
|
||||||
"skill": "kungfu",
|
"skill": "kungfu",
|
||||||
"speciality": "Mains Nues",
|
"speciality": "Mains Nues",
|
||||||
"style": "<p>L’objectif du Seot Gaau est de gêner les mouvements de l’opposant par l’application de clés, d’immobilisations, de saisies… Le personnage obtient automatiquement 2 dés-fastes supplémentaires sur ses actions de défense, qu’elles soient réussies ou non. s ue niq e o hr ng s c ra le l’ét de</p>",
|
"style": "L’objectif du Seot Gaau est de gêner les mouvements de l’opposant par l’application de clés, d’immobilisations, de saisies… Le personnage obtient automatiquement 2 dés-fastes supplémentaires sur ses actions de défense, qu’elles soient réussies ou non.",
|
||||||
"techniques": {
|
"techniques": {
|
||||||
"technique1": {
|
"technique1": {
|
||||||
"check": true,
|
"check": true,
|
||||||
@@ -29,7 +29,7 @@
|
|||||||
"check": true,
|
"check": true,
|
||||||
"name": "Saisir l’opportunité",
|
"name": "Saisir l’opportunité",
|
||||||
"activation": "action-aid",
|
"activation": "action-aid",
|
||||||
"technique": "<p>Le pratiquant parvient à bloquer brièvement un adversaire de façon à permettre à un allié de lui porter une attaque. Lorsqu’il utilise l’action d’Aide, le personnage octroie autant de dés supplémentaires à lancer que sa valeur de Feu (ou d’Aptitude sociale pour un PNJ) au lieu de 2 (ou ajoute ce bonus à l’Aptitude martiale pour un PNJ au lieu de + 2) au personnage qu’il assiste. Ce bonus est obtenu uniquement sur la prochaine attaque visant la cible immobilisée. Kung-fu de l’Invulnérabilité Orientation : Yang ou Yin Aspect : Terre Compétence : Kung-fu Spécialité : Mains Nues Style à l’histoire mal connue, on dit que la pratique du Kung-f</p>"
|
"technique": "<p>Le pratiquant parvient à bloquer brièvement un adversaire de façon à permettre à un allié de lui porter une attaque. Lorsqu’il utilise l’action d’Aide, le personnage octroie autant de dés supplémentaires à lancer que sa valeur de Feu (ou d’Aptitude sociale pour un PNJ) au lieu de 2 (ou ajoute ce bonus à l’Aptitude martiale pour un PNJ au lieu de + 2) au personnage qu’il assiste. Ce bonus est obtenu uniquement sur la prochaine attaque visant la cible immobilisée. Kung-fu de l’Invulnérabilité</p>"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
"aspect": "bois",
|
"aspect": "bois",
|
||||||
"skill": "rangedcombat",
|
"skill": "rangedcombat",
|
||||||
"speciality": "Arc",
|
"speciality": "Arc",
|
||||||
"style": "<p>Le pratiquant sait enchaîner les tirs avec célérité, en gardant plusieurs flèches à la main. Le personnage peut tirer autant de fois que sa valeur de Métal (ou d’Aptitude martiale pour un PNJ) avant d’avoir à recharger. De plus, ses dégâts à l’arc sont toujours augmentés de 1. Techniques</p>",
|
"style": "Le pratiquant sait enchaîner les tirs avec célérité, en gardant plusieurs flèches à la main. Le personnage peut tirer autant de fois que sa valeur de Métal (ou d’Aptitude martiale pour un PNJ) avant d’avoir à recharger. De plus, ses dégâts à l’arc sont toujours augmentés de 1.",
|
||||||
"techniques": {
|
"techniques": {
|
||||||
"technique1": {
|
"technique1": {
|
||||||
"check": true,
|
"check": true,
|
||||||
@@ -29,7 +29,7 @@
|
|||||||
"check": true,
|
"check": true,
|
||||||
"name": "L’impassibilité de la montagne",
|
"name": "L’impassibilité de la montagne",
|
||||||
"activation": "dice",
|
"activation": "dice",
|
||||||
"technique": "<p>Concentré à l’extrême, le pratiquant parvient à décocher ses flèches même dans un environnement peu favorable. Le personnage peut annuler, sur le résultat d’un jet d’attaque, un nombre de dés-néfastes égal à sa valeur de Terre (ou d’Aptitude physique), qu’il soit réussi ou non. Les Mille Frelons Orientation : Yang Aspect : Feu Compétence : Combat à distance Spécialité : Arme de jet Le nom de cet art martial se réfère aux armes de jet – tels l</p>"
|
"technique": "<p>Concentré à l’extrême, le pratiquant parvient à décocher ses flèches même dans un environnement peu favorable. Le personnage peut annuler, sur le résultat d’un jet d’attaque, un nombre de dés-néfastes égal à sa valeur de Terre (ou d’Aptitude physique), qu’il soit réussi ou non."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
"aspect": "feu",
|
"aspect": "feu",
|
||||||
"skill": "rangedcombat",
|
"skill": "rangedcombat",
|
||||||
"speciality": "Arme de jet",
|
"speciality": "Arme de jet",
|
||||||
"style": "<p>Le pratiquant dispose d’une grande mobilité et projette toujours ses armes à un rythme soutenu afin de noyer l’adversaire sous un déluge d’acier. Chaque attaque du personnage coûte 2 crans d’initiative (au lieu de 3).</p>",
|
"style": "Le pratiquant dispose d’une grande mobilité et projette toujours ses armes à un rythme soutenu afin de noyer l’adversaire sous un déluge d’acier. Chaque attaque du personnage coûte 2 crans d’initiative (au lieu de 3).",
|
||||||
"techniques": {
|
"techniques": {
|
||||||
"technique1": {
|
"technique1": {
|
||||||
"check": true,
|
"check": true,
|
||||||
|
|||||||
@@ -11,25 +11,25 @@
|
|||||||
"aspect": "terre",
|
"aspect": "terre",
|
||||||
"skill": "rangedcombat",
|
"skill": "rangedcombat",
|
||||||
"speciality": "Poignard, Hachette",
|
"speciality": "Poignard, Hachette",
|
||||||
"style": "<p>Le pratiquant des Poignards volants utilise sa puissance pour frapper ses cibles même quand celles-ci semblent hors d’atteinte. La portée des s ue niq e o hr ng s c ra le l’ét de Le Gun-fu Orientation : Yin Aspect : Eau Compétence : Combat à distance Spécialité : Pistolet, Fusil En l’espace d’une génération, il était inévitable que les amateurs des films d’action de</p>",
|
"style": "Le pratiquant des Poignards volants utilise sa puissance pour frapper ses cibles même quand celles-ci semblent hors d'atteinte. La portée des attaques du personnage passe de distance médiane à distance longue, et les dégâts de ses attaques aux poignards sont augmentés de 1.",
|
||||||
"techniques": {
|
"techniques": {
|
||||||
"technique1": {
|
"technique1": {
|
||||||
"check": true,
|
"check": true,
|
||||||
"name": "Handicaper l'ennemi",
|
"name": "Handicaper l'ennemi",
|
||||||
"activation": "action-attack",
|
"activation": "action-attack",
|
||||||
"technique": ""
|
"technique": "<p>Le pratiquant prend ses précautions en privant l'adversaire de ses avantages par un lancer précis. Sur une attaque réussie jusqu'à distance longue, le personnage désarme son adversaire et l'arme est projetée à distance courte, en plus des dégâts subis. Si le personnage dépense 2 dés-fastes à cet effet, l'arme est projetée à distance médiane. L'attaque inflige ensuite normalement ses dégâts.</p>"
|
||||||
},
|
},
|
||||||
"technique2": {
|
"technique2": {
|
||||||
"check": true,
|
"check": true,
|
||||||
"name": "Assiéger la forteresse",
|
"name": "Assiéger la forteresse",
|
||||||
"activation": "action-attack",
|
"activation": "dice",
|
||||||
"technique": "<p>Sachant comment dissimuler et projeter ses\narmes dans toutes les situations, le pratiquant\nest toujours en position d’attaquer. Même ligoté,\nimmobilisé, fouillé et privé de ses armes ou encore aveuglé, il peut activer cette Technique en\ndépensant 1 point de Hei normalement et ainsi\neffectuer tout de même une action d’attaque. attaques du personnage passe de distance médiane à distance longue, et les dégâts de ses\nattaques aux poignards sont augmentés de 1. \n Techniques Activation : Dés-fastes\nLe</p>"
|
"technique": "<p>Le pratiquant sait où viser pour gêner les mouvements de son adversaire. Le personnage peut dépenser les dés-fastes de son action d'attaque (qu'elle soit réussie ou non) pour faire perdre des crans d'initiative à sa cible (à raison de 1 pour 1, maximum 3).</p>"
|
||||||
},
|
},
|
||||||
"technique3": {
|
"technique3": {
|
||||||
"check": true,
|
"check": true,
|
||||||
"name": "Décider de la retraite",
|
"name": "Décider de la retraite",
|
||||||
"activation": "action-defense",
|
"activation": "action-defense",
|
||||||
"technique": "<p>Garder la bonne distance avec son adversaire\nest essentiel pour le pratiquant afin de tirer le\nmeilleur parti de ses armes. Le personnage obtient immédiatement après son action de défense\nune action de déplacement gratuite (donc sans\ndépenser de crans d’initiative supplémentaires). Orientation : Yin ou Yang\nAspect : Terre\nCompétence : Combat à distance\nSpécialité : Poignard, Hachette\nTrès répandu au sein des triades dès leurs\norigines, cet art martial vise à faire d’un poignard ou d’une hachette</p>"
|
"technique": "<p>Garder la bonne distance avec son adversaire est essentiel pour le pratiquant afin de tirer le meilleur parti de ses armes. Le personnage obtient immédiatement après son action de défense une action de déplacement gratuite (donc sans dépenser de crans d’initiative supplémentaires).</p>"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -6,12 +6,12 @@
|
|||||||
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-kungfu.svg",
|
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-kungfu.svg",
|
||||||
"system": {
|
"system": {
|
||||||
"reference": "",
|
"reference": "",
|
||||||
"description": "<p>Le nom de ce style évoque les multiples avantages offerts par le bâton à trois sections (saam zit gwan) inventé par le fondateur de la dynastie Song. Le bâton à trois sections (aussi nommé tri-bâton ou triple bâton) offre une grande polyvalence offensive et défensive, mais il s’avère une arme dont la maîtrise demande beaucoup d’efforts et une attention soutenue. de l’étrange Les Trois Joyaux font également référence à l’éveil, la droiture et la pureté, inhérents à la nature de chaque être dans le bouddhisme Sim. Il s’agit d’un des principaux styles armés développés par les moines de Shaolin.</p>",
|
"description": "<p>Le nom de ce style évoque les multiples avantages offerts par le bâton à trois sections (saam zit gwan) inventé par le fondateur de la dynastie Song. Le bâton à trois sections (aussi nommé tri-bâton ou triple bâton) offre une grande polyvalence offensive et défensive, mais il s’avère une arme dont la maîtrise demande beaucoup d’efforts et une attention soutenue.</p>",
|
||||||
"orientation": "yang",
|
"orientation": "yang",
|
||||||
"aspect": "feu",
|
"aspect": "feu",
|
||||||
"skill": "kungfu",
|
"skill": "kungfu",
|
||||||
"speciality": "Bâton",
|
"speciality": "Bâton",
|
||||||
"style": "<p>Le triple-bâton est une arme de défense aussi solide qu’une armure de fer. Le personnage obtient une protection de 2. Techniques</p>",
|
"style": "Le triple-bâton est une arme de défense aussi solide qu’une armure de fer. Le personnage obtient une protection de 2.",
|
||||||
"techniques": {
|
"techniques": {
|
||||||
"technique1": {
|
"technique1": {
|
||||||
"check": true,
|
"check": true,
|
||||||
@@ -29,7 +29,7 @@
|
|||||||
"check": true,
|
"check": true,
|
||||||
"name": "Le serpent rampe au sol",
|
"name": "Le serpent rampe au sol",
|
||||||
"activation": "dice",
|
"activation": "dice",
|
||||||
"technique": "<p>Utilisé tel un fouet, le triple-bâton heurte cruellement les chevilles de l’opposant et l’envoie ainsi à terre. Sur une attaque réussie, le personnage fait tomber son adversaire et peut dépenser les dés-fastes obtenus à son action d’attaque pour faire perdre des crans d’initiative à sa cible (à raison de 1 pour 1, maximum 3). L’attaque inflige ensuite normalement ses dégâts. loyale du Lance Général Yue Fei Orientation : Yin ou Yang Aspect : Terre Compétence : Kung-fu Spécialité : Lance Héros de la dynastie Song, Yue Fei possède la réputation d’être l’un</p>"
|
"technique": "<p>Utilisé tel un fouet, le triple-bâton heurte cruellement les chevilles de l’opposant et l’envoie ainsi à terre. Sur une attaque réussie, le personnage fait tomber son adversaire et peut dépenser les dés-fastes obtenus à son action d’attaque pour faire perdre des crans d’initiative à sa cible (à raison de 1 pour 1, maximum 3). L’attaque inflige ensuite normalement ses dégâts."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -6,30 +6,30 @@
|
|||||||
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-kungfu.svg",
|
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-kungfu.svg",
|
||||||
"system": {
|
"system": {
|
||||||
"reference": "",
|
"reference": "",
|
||||||
"description": "<p>Originaire du sud de la Chine et rendu très populaire au vingtième siècle par les films de Hong Kong, le Wing Chun existe sous de nombreuses formes. D’après la légende, c’est une nonne de Shaolin qui inventa ce kung-fu et le transmit à une jeune fille afin qu’elle échappe à un mariage arrangé – avant de répandre largement cette technique. Le fameux Ip Man – maître de Bruce Lee – en fut le pratiquant le plus célèbre. Les principes au centre du Wing Chun sont de privilégier la vitesse et la masse de son propre corps en utilisant la force de l’adversaire contre lui. Les coups offensifs du Wing C</p>",
|
"description": "<p>Originaire du sud de la Chine et rendu très populaire au vingtième siècle par les films de Hong Kong, le Wing Chun existe sous de nombreuses formes. D'après la légende, c'est une nonne de Shaolin qui inventa ce kung-fu et le transmit à une jeune fille afin qu'elle échappe à un mariage arrangé – avant de répandre largement cette technique. Le fameux Ip Man – maître de Bruce Lee – en fut le pratiquant le plus célèbre. Les principes au centre du Wing Chun sont de privilégier la vitesse et la masse de son propre corps en utilisant la force de l'adversaire contre lui. Les coups offensifs du Wing Chun accordent une importance accrue aux techniques de mains dans la grande majorité des courants connus.</p>",
|
||||||
"orientation": "yin",
|
"orientation": "yin",
|
||||||
"aspect": "metal",
|
"aspect": "metal",
|
||||||
"skill": "kungfu",
|
"skill": "kungfu",
|
||||||
"speciality": "Mains Nues",
|
"speciality": "Mains Nues",
|
||||||
"style": "",
|
"style": "Malgré les apparences, le Wing Chun se révèle un art martial violent et offensif. Sur chacune de ses attaques réussies, les dés-fastes dépensés par le personnage pour augmenter ses dégâts comptent double.",
|
||||||
"techniques": {
|
"techniques": {
|
||||||
"technique1": {
|
"technique1": {
|
||||||
"check": true,
|
"check": true,
|
||||||
"name": "La terre tourne autour du soleil",
|
"name": "Chuter du ciel",
|
||||||
"activation": "damage-inflicted",
|
"activation": "dice",
|
||||||
"technique": "<p>Les coups assénés à un rythme soutenu par\nle pratiquant épuisent son adversaire. La cible\nperd 2 points de Hei (l’éventuelle répartition en\nYin et Yang est au choix du personnage touché)\nen plus des dégâts infligés. \n Techniques s\n\n\n\nhr ng\ns c ra\nle l’ét\nde Style\nLe déséquilibre du pratiquant est la clé de la\nBoxe de l’Ivresse. Le personnage élimine gratuitement 2 dés-néfastes sur ses actions d’attaque,\nqu’elles soient réussies ou non. Techniques Chuter du ciel Activation : Dés-fastes\nLui-même </p>"
|
"technique": "<p>Lui-même en déséquilibre perpétuel, le pratiquant jette facilement au sol son opposant et le force ainsi à perdre du temps à se relever. Lors d'une attaque réussie, le personnage fait tomber son adversaire et peut dépenser les dés-fastes obtenus à son action d'attaque pour faire perdre des crans d'initiative à sa cible (à raison de 1 pour 1, maximum 3). L'attaque inflige ensuite normalement ses dégâts.</p>"
|
||||||
},
|
},
|
||||||
"technique2": {
|
"technique2": {
|
||||||
"check": false,
|
"check": true,
|
||||||
"name": "",
|
"name": "La lame s'envole",
|
||||||
"activation": "action-attack",
|
"activation": "action-defense",
|
||||||
"technique": ""
|
"technique": "<p>Lorsqu'il affronte un combattant armé, le pratiquant prend bien garde à le priver de cet atout. Lors d'une défense au contact réussie, le personnage désarme son adversaire et l'arme est projetée à distance courte. Si le personnage dépense 2 dés-fastes à cet effet, l'arme est projetée à distance médiane.</p>"
|
||||||
},
|
},
|
||||||
"technique3": {
|
"technique3": {
|
||||||
"check": false,
|
"check": true,
|
||||||
"name": "",
|
"name": "L'alcool mauvais",
|
||||||
"activation": "action-attack",
|
"activation": "damage-inflicted",
|
||||||
"technique": ""
|
"technique": "<p>Abandonnant un instant sa gestuelle souple au moment d'attaquer, le pratiquant rigidifie brièvement son corps afin de porter un coup dévastateur. Les dégâts à mains nues sont égaux à sa valeur de Feu (ou d'Aptitude sociale pour un PNJ) au lieu de 1 pour cette attaque.</p>"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
"_key": "!actors!9jr5RN2GDhfVOZnY",
|
"_key": "!actors!9jr5RN2GDhfVOZnY",
|
||||||
"name": "Alexander Weng",
|
"name": "Alexander Weng",
|
||||||
"type": "npc",
|
"type": "npc",
|
||||||
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-npc.svg",
|
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-npc-mortel.svg",
|
||||||
"system": {
|
"system": {
|
||||||
"type": "mortel",
|
"type": "mortel",
|
||||||
"threat": 2,
|
"threat": 2,
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
"_key": "!actors!JSQ8x2ojYooWx6fr",
|
"_key": "!actors!JSQ8x2ojYooWx6fr",
|
||||||
"name": "Ban Daan, gros bras trop ambitieux",
|
"name": "Ban Daan, gros bras trop ambitieux",
|
||||||
"type": "npc",
|
"type": "npc",
|
||||||
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-npc.svg",
|
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-npc-demon.svg",
|
||||||
"system": {
|
"system": {
|
||||||
"type": "demon",
|
"type": "demon",
|
||||||
"threat": 2,
|
"threat": 2,
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
"_key": "!actors!xs3iEeRvVqnLG4fa",
|
"_key": "!actors!xs3iEeRvVqnLG4fa",
|
||||||
"name": "Bui Hok, général fidèle",
|
"name": "Bui Hok, général fidèle",
|
||||||
"type": "npc",
|
"type": "npc",
|
||||||
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-npc.svg",
|
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-npc-esprit-animal.svg",
|
||||||
"system": {
|
"system": {
|
||||||
"type": "esprit-animal",
|
"type": "esprit-animal",
|
||||||
"threat": 3,
|
"threat": 3,
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
"_key": "!actors!c08hmLyriGEOct1K",
|
"_key": "!actors!c08hmLyriGEOct1K",
|
||||||
"name": "Carrie Suet, citoyenne ordinaire",
|
"name": "Carrie Suet, citoyenne ordinaire",
|
||||||
"type": "npc",
|
"type": "npc",
|
||||||
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-npc.svg",
|
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-npc-mortel.svg",
|
||||||
"system": {
|
"system": {
|
||||||
"type": "mortel",
|
"type": "mortel",
|
||||||
"threat": 0,
|
"threat": 0,
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
"_key": "!actors!CVbY9xpxodgazhLq",
|
"_key": "!actors!CVbY9xpxodgazhLq",
|
||||||
"name": "Charlie Fei, psychologue pour défunts",
|
"name": "Charlie Fei, psychologue pour défunts",
|
||||||
"type": "npc",
|
"type": "npc",
|
||||||
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-npc.svg",
|
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-npc-demon.svg",
|
||||||
"system": {
|
"system": {
|
||||||
"type": "demon",
|
"type": "demon",
|
||||||
"threat": 2,
|
"threat": 2,
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
"_key": "!actors!xwVOrq4vFJbAHrue",
|
"_key": "!actors!xwVOrq4vFJbAHrue",
|
||||||
"name": "Cimei (démon des forêts)",
|
"name": "Cimei (démon des forêts)",
|
||||||
"type": "npc",
|
"type": "npc",
|
||||||
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-npc.svg",
|
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-npc-demon.svg",
|
||||||
"system": {
|
"system": {
|
||||||
"type": "demon",
|
"type": "demon",
|
||||||
"threat": 1,
|
"threat": 1,
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
"_key": "!actors!A54y6E5qYiSfPhQw",
|
"_key": "!actors!A54y6E5qYiSfPhQw",
|
||||||
"name": "Consultant ésotérique",
|
"name": "Consultant ésotérique",
|
||||||
"type": "npc",
|
"type": "npc",
|
||||||
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-npc.svg",
|
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-npc-mortel.svg",
|
||||||
"system": {
|
"system": {
|
||||||
"type": "mortel",
|
"type": "mortel",
|
||||||
"threat": 2,
|
"threat": 2,
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
"_key": "!actors!kEgcNfeMGeOA3q58",
|
"_key": "!actors!kEgcNfeMGeOA3q58",
|
||||||
"name": "Démon-gardien (gaamwujan mo) Profane",
|
"name": "Démon-gardien (gaamwujan mo) Profane",
|
||||||
"type": "npc",
|
"type": "npc",
|
||||||
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-npc.svg",
|
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-npc-demon.svg",
|
||||||
"system": {
|
"system": {
|
||||||
"type": "demon",
|
"type": "demon",
|
||||||
"threat": 0,
|
"threat": 0,
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
"_key": "!actors!j0M9lM05layknpjc",
|
"_key": "!actors!j0M9lM05layknpjc",
|
||||||
"name": "Deoi Sam (double démoniaque)",
|
"name": "Deoi Sam (double démoniaque)",
|
||||||
"type": "npc",
|
"type": "npc",
|
||||||
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-npc.svg",
|
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-npc-demon.svg",
|
||||||
"system": {
|
"system": {
|
||||||
"type": "demon",
|
"type": "demon",
|
||||||
"threat": 2,
|
"threat": 2,
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
"_key": "!actors!CecTD0e1caDDLi4f",
|
"_key": "!actors!CecTD0e1caDDLi4f",
|
||||||
"name": "Fat si sorcier",
|
"name": "Fat si sorcier",
|
||||||
"type": "npc",
|
"type": "npc",
|
||||||
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-npc.svg",
|
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-npc-mortel.svg",
|
||||||
"system": {
|
"system": {
|
||||||
"type": "mortel",
|
"type": "mortel",
|
||||||
"threat": 1,
|
"threat": 1,
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
"_key": "!actors!oZQYYd9fshpR1fzS",
|
"_key": "!actors!oZQYYd9fshpR1fzS",
|
||||||
"name": "Fonctionnaire infernal (gwai caai)",
|
"name": "Fonctionnaire infernal (gwai caai)",
|
||||||
"type": "npc",
|
"type": "npc",
|
||||||
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-npc.svg",
|
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-npc-demon.svg",
|
||||||
"system": {
|
"system": {
|
||||||
"type": "demon",
|
"type": "demon",
|
||||||
"threat": 2,
|
"threat": 2,
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
"_key": "!actors!nKvFMqTQluI6slsR",
|
"_key": "!actors!nKvFMqTQluI6slsR",
|
||||||
"name": "Gaaujan (ogresse des mers)",
|
"name": "Gaaujan (ogresse des mers)",
|
||||||
"type": "npc",
|
"type": "npc",
|
||||||
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-npc.svg",
|
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-npc-jiugwaai.svg",
|
||||||
"system": {
|
"system": {
|
||||||
"type": "jiugwaai",
|
"type": "jiugwaai",
|
||||||
"threat": 1,
|
"threat": 1,
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
"_key": "!actors!gX41y0aGmiXzf7em",
|
"_key": "!actors!gX41y0aGmiXzf7em",
|
||||||
"name": "Gamzing (générique)",
|
"name": "Gamzing (générique)",
|
||||||
"type": "npc",
|
"type": "npc",
|
||||||
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-npc.svg",
|
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-npc-fantome.svg",
|
||||||
"system": {
|
"system": {
|
||||||
"type": "fantome",
|
"type": "fantome",
|
||||||
"threat": 1,
|
"threat": 1,
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
"_key": "!actors!qfTSRgyrtBfRA43K",
|
"_key": "!actors!qfTSRgyrtBfRA43K",
|
||||||
"name": "Ginny Ching",
|
"name": "Ginny Ching",
|
||||||
"type": "npc",
|
"type": "npc",
|
||||||
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-npc.svg",
|
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-npc-mortel.svg",
|
||||||
"system": {
|
"system": {
|
||||||
"type": "mortel",
|
"type": "mortel",
|
||||||
"threat": 1,
|
"threat": 1,
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
"_key": "!actors!Xn42o1E660Q7nFD5",
|
"_key": "!actors!Xn42o1E660Q7nFD5",
|
||||||
"name": "Goengsi (jiangshi)",
|
"name": "Goengsi (jiangshi)",
|
||||||
"type": "npc",
|
"type": "npc",
|
||||||
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-npc.svg",
|
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-npc-fantome.svg",
|
||||||
"system": {
|
"system": {
|
||||||
"type": "fantome",
|
"type": "fantome",
|
||||||
"threat": 1,
|
"threat": 1,
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
"_key": "!actors!ch7LrshdCOtq7cyl",
|
"_key": "!actors!ch7LrshdCOtq7cyl",
|
||||||
"name": "Good Boy, molosse protecteur",
|
"name": "Good Boy, molosse protecteur",
|
||||||
"type": "npc",
|
"type": "npc",
|
||||||
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-npc.svg",
|
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-npc-demon.svg",
|
||||||
"system": {
|
"system": {
|
||||||
"type": "demon",
|
"type": "demon",
|
||||||
"threat": 2,
|
"threat": 2,
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
"_key": "!actors!CSiS3imbab0YaMSW",
|
"_key": "!actors!CSiS3imbab0YaMSW",
|
||||||
"name": "Gwat Jyun (singe blanc) Initié",
|
"name": "Gwat Jyun (singe blanc) Initié",
|
||||||
"type": "npc",
|
"type": "npc",
|
||||||
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-npc.svg",
|
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-npc-jiugwaai.svg",
|
||||||
"system": {
|
"system": {
|
||||||
"type": "jiugwaai",
|
"type": "jiugwaai",
|
||||||
"threat": 2,
|
"threat": 2,
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
"_key": "!actors!rCaI4p3b7wWAkogg",
|
"_key": "!actors!rCaI4p3b7wWAkogg",
|
||||||
"name": "Gwat Jyun (singe blanc) Profane",
|
"name": "Gwat Jyun (singe blanc) Profane",
|
||||||
"type": "npc",
|
"type": "npc",
|
||||||
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-npc.svg",
|
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-npc-jiugwaai.svg",
|
||||||
"system": {
|
"system": {
|
||||||
"type": "jiugwaai",
|
"type": "jiugwaai",
|
||||||
"threat": 0,
|
"threat": 0,
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
"_key": "!actors!dQUAdHHo2adCgCcY",
|
"_key": "!actors!dQUAdHHo2adCgCcY",
|
||||||
"name": "Hyun Ci, champion underground",
|
"name": "Hyun Ci, champion underground",
|
||||||
"type": "npc",
|
"type": "npc",
|
||||||
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-npc.svg",
|
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-npc-esprit-animal.svg",
|
||||||
"system": {
|
"system": {
|
||||||
"type": "esprit-animal",
|
"type": "esprit-animal",
|
||||||
"threat": 3,
|
"threat": 3,
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
"_key": "!actors!lWZ4Ifq8L46QorAH",
|
"_key": "!actors!lWZ4Ifq8L46QorAH",
|
||||||
"name": "Intermédiaire",
|
"name": "Intermédiaire",
|
||||||
"type": "npc",
|
"type": "npc",
|
||||||
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-npc.svg",
|
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-npc-mortel.svg",
|
||||||
"system": {
|
"system": {
|
||||||
"type": "mortel",
|
"type": "mortel",
|
||||||
"threat": 1,
|
"threat": 1,
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
"_key": "!actors!mTlPb9acTYuN8g34",
|
"_key": "!actors!mTlPb9acTYuN8g34",
|
||||||
"name": "James Kam, tueur à gages",
|
"name": "James Kam, tueur à gages",
|
||||||
"type": "npc",
|
"type": "npc",
|
||||||
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-npc.svg",
|
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-npc-esprit-animal.svg",
|
||||||
"system": {
|
"system": {
|
||||||
"type": "esprit-animal",
|
"type": "esprit-animal",
|
||||||
"threat": 4,
|
"threat": 4,
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
"_key": "!actors!GPcB3MHaqxO0NcyK",
|
"_key": "!actors!GPcB3MHaqxO0NcyK",
|
||||||
"name": "Je Maan, cadre aux dents longues",
|
"name": "Je Maan, cadre aux dents longues",
|
||||||
"type": "npc",
|
"type": "npc",
|
||||||
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-npc.svg",
|
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-npc-demon.svg",
|
||||||
"system": {
|
"system": {
|
||||||
"type": "demon",
|
"type": "demon",
|
||||||
"threat": 2,
|
"threat": 2,
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
"_key": "!actors!VDe1iLJbtQ0Yy5CD",
|
"_key": "!actors!VDe1iLJbtQ0Yy5CD",
|
||||||
"name": "Jeffrey Chiu",
|
"name": "Jeffrey Chiu",
|
||||||
"type": "npc",
|
"type": "npc",
|
||||||
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-npc.svg",
|
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-npc-mortel.svg",
|
||||||
"system": {
|
"system": {
|
||||||
"type": "mortel",
|
"type": "mortel",
|
||||||
"threat": 0,
|
"threat": 0,
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
"_key": "!actors!4ZjFZ1HoJV9mJStt",
|
"_key": "!actors!4ZjFZ1HoJV9mJStt",
|
||||||
"name": "Jing Tin, guerrier décapité",
|
"name": "Jing Tin, guerrier décapité",
|
||||||
"type": "npc",
|
"type": "npc",
|
||||||
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-npc.svg",
|
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-npc-dieu.svg",
|
||||||
"system": {
|
"system": {
|
||||||
"type": "dieu",
|
"type": "dieu",
|
||||||
"threat": 3,
|
"threat": 3,
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
"_key": "!actors!54uOjMPREX9p9y3k",
|
"_key": "!actors!54uOjMPREX9p9y3k",
|
||||||
"name": "John Wa, maître des rites free-lance",
|
"name": "John Wa, maître des rites free-lance",
|
||||||
"type": "npc",
|
"type": "npc",
|
||||||
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-npc.svg",
|
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-npc-mortel.svg",
|
||||||
"system": {
|
"system": {
|
||||||
"type": "mortel",
|
"type": "mortel",
|
||||||
"threat": 2,
|
"threat": 2,
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
"_key": "!actors!xso73DrDuFPD74MF",
|
"_key": "!actors!xso73DrDuFPD74MF",
|
||||||
"name": "Juk Lyun, guide touristique",
|
"name": "Juk Lyun, guide touristique",
|
||||||
"type": "npc",
|
"type": "npc",
|
||||||
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-npc.svg",
|
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-npc-jiugwaai.svg",
|
||||||
"system": {
|
"system": {
|
||||||
"type": "jiugwaai",
|
"type": "jiugwaai",
|
||||||
"threat": 1,
|
"threat": 1,
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
"_key": "!actors!4qsz1fgQaLp6XgOA",
|
"_key": "!actors!4qsz1fgQaLp6XgOA",
|
||||||
"name": "Julian Po, travailleur social",
|
"name": "Julian Po, travailleur social",
|
||||||
"type": "npc",
|
"type": "npc",
|
||||||
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-npc.svg",
|
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-npc-mortel.svg",
|
||||||
"system": {
|
"system": {
|
||||||
"type": "mortel",
|
"type": "mortel",
|
||||||
"threat": 1,
|
"threat": 1,
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
"_key": "!actors!zVpmacwoWEG8YTCQ",
|
"_key": "!actors!zVpmacwoWEG8YTCQ",
|
||||||
"name": "Karen Sen, croqueuse de diamants",
|
"name": "Karen Sen, croqueuse de diamants",
|
||||||
"type": "npc",
|
"type": "npc",
|
||||||
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-npc.svg",
|
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-npc-esprit-animal.svg",
|
||||||
"system": {
|
"system": {
|
||||||
"type": "esprit-animal",
|
"type": "esprit-animal",
|
||||||
"threat": 2,
|
"threat": 2,
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
"_key": "!actors!Z5DRulhhSyujEVjG",
|
"_key": "!actors!Z5DRulhhSyujEVjG",
|
||||||
"name": "Ken Luan",
|
"name": "Ken Luan",
|
||||||
"type": "npc",
|
"type": "npc",
|
||||||
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-npc.svg",
|
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-npc-mortel.svg",
|
||||||
"system": {
|
"system": {
|
||||||
"type": "mortel",
|
"type": "mortel",
|
||||||
"threat": 1,
|
"threat": 1,
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
"_key": "!actors!a5blX0uXTNzcplH1",
|
"_key": "!actors!a5blX0uXTNzcplH1",
|
||||||
"name": "Laureen Zoeng, esthéticienne roublarde",
|
"name": "Laureen Zoeng, esthéticienne roublarde",
|
||||||
"type": "npc",
|
"type": "npc",
|
||||||
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-npc.svg",
|
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-npc-mortel.svg",
|
||||||
"system": {
|
"system": {
|
||||||
"type": "mortel",
|
"type": "mortel",
|
||||||
"threat": 1,
|
"threat": 1,
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
"_key": "!actors!4ys4N6FQKGacd3rf",
|
"_key": "!actors!4ys4N6FQKGacd3rf",
|
||||||
"name": "Leonie Fei",
|
"name": "Leonie Fei",
|
||||||
"type": "npc",
|
"type": "npc",
|
||||||
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-npc.svg",
|
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-npc-mortel.svg",
|
||||||
"system": {
|
"system": {
|
||||||
"type": "mortel",
|
"type": "mortel",
|
||||||
"threat": 1,
|
"threat": 1,
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
"_key": "!actors!wvdZgXLIdqQxc3nH",
|
"_key": "!actors!wvdZgXLIdqQxc3nH",
|
||||||
"name": "Maximilian Pang",
|
"name": "Maximilian Pang",
|
||||||
"type": "npc",
|
"type": "npc",
|
||||||
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-npc.svg",
|
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-npc-mortel.svg",
|
||||||
"system": {
|
"system": {
|
||||||
"type": "mortel",
|
"type": "mortel",
|
||||||
"threat": 3,
|
"threat": 3,
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
"_key": "!actors!S6LN7FcZz1i2jHQj",
|
"_key": "!actors!S6LN7FcZz1i2jHQj",
|
||||||
"name": "Michelle Chun, gentille couturière",
|
"name": "Michelle Chun, gentille couturière",
|
||||||
"type": "npc",
|
"type": "npc",
|
||||||
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-npc.svg",
|
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-npc-esprit-animal.svg",
|
||||||
"system": {
|
"system": {
|
||||||
"type": "esprit-animal",
|
"type": "esprit-animal",
|
||||||
"threat": 2,
|
"threat": 2,
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
"_key": "!actors!cPLaYDg6uI1XuThZ",
|
"_key": "!actors!cPLaYDg6uI1XuThZ",
|
||||||
"name": "Mo (démon basique)",
|
"name": "Mo (démon basique)",
|
||||||
"type": "npc",
|
"type": "npc",
|
||||||
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-npc.svg",
|
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-npc-demon.svg",
|
||||||
"system": {
|
"system": {
|
||||||
"type": "demon",
|
"type": "demon",
|
||||||
"threat": 2,
|
"threat": 2,
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
"_key": "!actors!phueAQD8QBesE5IP",
|
"_key": "!actors!phueAQD8QBesE5IP",
|
||||||
"name": "Mogwaai",
|
"name": "Mogwaai",
|
||||||
"type": "npc",
|
"type": "npc",
|
||||||
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-npc.svg",
|
"img": "systems/fvtt-chroniques-de-l-etrange/images/icons/icon-npc-demon.svg",
|
||||||
"system": {
|
"system": {
|
||||||
"type": "demon",
|
"type": "demon",
|
||||||
"threat": 1,
|
"threat": 1,
|
||||||
|
|||||||