Compare commits
83 Commits
fvtt-hawkm
...
13.1.0
| Author | SHA1 | Date | |
|---|---|---|---|
| 391b99b18f | |||
| ff9acaab65 | |||
| 60978a67b2 | |||
| 5894cf043f | |||
| 0fd2130fb1 | |||
| 001f0cffa8 | |||
| 05ca6e1763 | |||
| d3f014fcca | |||
| 679b3208cd | |||
| 871a18a0ee | |||
| 264c49eb06 | |||
| 9349c54966 | |||
| 274efac2b5 | |||
| 7a7398f8ca | |||
| 93600f7e13 | |||
| a6fa3afbee | |||
| 1051349dd0 | |||
| a245b0e87c | |||
| c9ce3367ed | |||
| e95e068112 | |||
| 6dd63a2c54 | |||
| 650e4b7449 | |||
| 3f27482ad9 | |||
| 436b282ff5 | |||
| 39f8cfdbcc | |||
| 24a57a906e | |||
| 667f3678fb | |||
| d5dd9e5bf7 | |||
| 3403b72d1f | |||
| 8a4487c833 | |||
| 4eece5aaf4 | |||
| b574ba76ef | |||
| 0b9e1a80af | |||
| 6505b1c969 | |||
| 280e90d7a6 | |||
| 4fa9a911a0 | |||
| b8c61f8f12 | |||
| b47b14a4b1 | |||
| 9391acf6ee | |||
| 8af9c582bf | |||
| fac158e0ad | |||
| 69a2f81ede | |||
| 005d390941 | |||
| 3327109f7e | |||
| b38bfc97c2 | |||
| 89a7730d43 | |||
| 2ebd1bd1fd | |||
| 9e023d3f01 | |||
| 2c12ec38fb | |||
| 38059232cb | |||
| c331604393 | |||
| 71c1e1cd29 | |||
| 4a2ca5fab5 | |||
| ea8c82256c | |||
| 7df8aad4dc | |||
| bb38705d52 | |||
| 4344a5fbd3 | |||
| df461fecf9 | |||
| 3aeb51c8ac | |||
| 154e9d3da5 | |||
| 9b58acc058 | |||
| 189411eef8 | |||
| b1966412a0 | |||
| c34d223d8f | |||
| 0e5be07fb9 | |||
| 22ae4fb588 | |||
| 42ac857c06 | |||
| 1c143f542c | |||
| 4d447c9783 | |||
| 8760e3eb6e | |||
| b3ddfb802e | |||
| 9f111771df | |||
| 44141e3982 | |||
| 35b47d5aaf | |||
| c48116de54 | |||
| 295c68a16e | |||
| b9d12843a5 | |||
| dd3f13f095 | |||
| 5dde9ac72f | |||
| 5ab6b99ef6 | |||
| 6b508c96be | |||
| 567710d922 | |||
| 4ecfb2c833 |
63
.gitea/workflows/release.yaml
Normal file
63
.gitea/workflows/release.yaml
Normal file
@@ -0,0 +1,63 @@
|
||||
name: Release Creation
|
||||
|
||||
on:
|
||||
release:
|
||||
types: [published]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- run: echo "💡 The ${{ gitea.repository }} repository will cloned to the runner."
|
||||
|
||||
#- uses: actions/checkout@v3
|
||||
- uses: RouxAntoine/checkout@v3.5.4
|
||||
|
||||
# get part of the tag after the `v`
|
||||
- name: Extract tag version number
|
||||
id: get_version
|
||||
uses: battila7/get-version-action@v2
|
||||
|
||||
# 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: 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/public/fvtt-hawkmoon-cyd/releases/download/latest/system.json
|
||||
download: https://www.uberwald.me/gitea/${{gitea.repository}}/releases/download/${{github.event.release.tag_name}}/fvtt-hawkmoon-cyd.zip
|
||||
|
||||
# Create a zip file with all files required by the module to add to the release
|
||||
- run: |
|
||||
apt update -y
|
||||
apt install -y zip
|
||||
|
||||
- run: zip -r ./fvtt-hawkmoon-cyd.zip system.json README.md LICENCE.txt assets/ lang/ modules/ packs/ styles/ templates/
|
||||
|
||||
- name: setup go
|
||||
uses: https://github.com/actions/setup-go@v4
|
||||
with:
|
||||
go-version: '>=1.20.1'
|
||||
|
||||
- name: Use Go Action
|
||||
id: use-go-action
|
||||
uses: https://gitea.com/actions/release-action@main
|
||||
with:
|
||||
files: |-
|
||||
./fvtt-hawkmoon-cyd.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-hawkmoon-cyd'
|
||||
version: ${{github.event.release.tag_name}}
|
||||
manifest: 'https://www.uberwald.me/gitea/public/fvtt-hawkmoon-cyd/releases/download/latest/system.json'
|
||||
notes: 'https://www.uberwald.me/gitea/${{gitea.repository}}/releases/download/${{github.event.release.tag_name}}/fvtt-hawkmoon-cyd.zip'
|
||||
compatibility-minimum: '13'
|
||||
compatibility-verified: '13'
|
||||
10
.gitignore
vendored
Normal file
10
.gitignore
vendored
Normal file
@@ -0,0 +1,10 @@
|
||||
.vscode/settings.json
|
||||
.idea
|
||||
.history
|
||||
todo.md
|
||||
/.vscode
|
||||
/ignored/
|
||||
/node_modules/
|
||||
/jsconfig.json
|
||||
/package.json
|
||||
/package-lock.json
|
||||
25
LICENCE.txt
Normal file
25
LICENCE.txt
Normal file
@@ -0,0 +1,25 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2022 Uberwald/LeRatierBretonnien
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
This license does not apply to the compendium content listed in this software's
|
||||
"packs" directory. See the README for licensing information for the compendium
|
||||
packs.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
16
README.md
16
README.md
@@ -1,23 +1,29 @@
|
||||
# Système Foundry pour Mournblade (French RPG, Titam France/Sombres Projets)
|
||||
# Système Foundry pour Hawkmoon (French RPG, Titam France/Sombres Projets)
|
||||
|
||||
## EN
|
||||
|
||||
Unofficial system for Mournblade (French version from Titam France).
|
||||
Unofficial system for Hawkmoon (French version from Titam France).
|
||||
|
||||
This system has been approved by Département des Sombres Projets ( http://www.titam-france.fr/ ), thanks !
|
||||
|
||||
Books are mandatory to play and are available at : http://www.titam-france.fr
|
||||
|
||||
## FR
|
||||
|
||||
Système non-officiel pour le JDR Mournblade (Titam France).
|
||||
Système non-officiel pour le JDR Hawkmoon (Titam France/Sombres Projets).
|
||||
|
||||
Ce système a été autorisé par Ludospherik ( http://www.ludospherik.fr/ ), merci à eux !
|
||||
Ce système a été autorisé par le Département des Sombres Projets ( http://www.titam-france.fr/ ), merci à eux !
|
||||
|
||||
Les livres du jeu sont nécessaires pour jouer, et sont disponibles ici : http://www.titam-france.fr
|
||||
|
||||
# Credits
|
||||
|
||||
Mournblade, le jeu de rôle de Sword & Sorcery, is a property of Titam France/Sombres Projets.
|
||||
Hawkmoon, le jeu de rôle du Troisième Millénaire, is a property of Titam France/Sombres Projets.
|
||||
|
||||
# Developmement
|
||||
|
||||
LeRatierBretonnien
|
||||
|
||||
# Tests, icones et saisie des données
|
||||
|
||||
Prêtre, Blondin, Zechrub/Chris, Kyllian, Lightbringer
|
||||
|
||||
@@ -37,12 +37,10 @@
|
||||
<h4 class="item-name-label competence-name item-field-label-medium">Etat</h4>
|
||||
<select class="status-small-label color-class-common item-field-label-medium" type="text" name="system.sante.etat"
|
||||
value="{{system.sante.etat}}" data-dtype="Number">
|
||||
{{#select system.sante.etat}}
|
||||
{{> systems/fvtt-hawkmoon-cyd/templates/partial-sante-etat.html}}
|
||||
{{/select}}
|
||||
{{selectOptions combativiteList selected=system.sante.etat valueAttr="value" nameAttr="value" labelAttr="label"}}
|
||||
</select>
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
@@ -57,6 +55,7 @@
|
||||
<a class="item" data-tab="equipement">Equipement</a>
|
||||
<a class="item" data-tab="biodata">Bio&Notes</a>
|
||||
</nav>
|
||||
<hr>
|
||||
|
||||
{{!-- Sheet Body --}}
|
||||
<section class="sheet-body">
|
||||
@@ -65,7 +64,7 @@
|
||||
<div class="tab principal" data-group="primary" data-tab="principal">
|
||||
|
||||
<div class="flexcol">
|
||||
|
||||
|
||||
<div class="grid grid-2col">
|
||||
|
||||
<div class="sheet-box color-bg-archetype">
|
||||
@@ -73,13 +72,11 @@
|
||||
{{#each system.attributs as |attr key|}}
|
||||
<li class="item flexrow " data-attr-key="{{key}}">
|
||||
<img class="item-name-img" src="systems/fvtt-hawkmoon-cyd/assets/icons/{{attr.labelnorm}}.webp">
|
||||
<span class="item-name-label competence-name item-field-label-medium"><a
|
||||
<span data-tooltip="Cliquez pour faire un jet" class="item-name-label competence-name item-field-label-medium"><a
|
||||
class="roll-attribut">{{attr.label}}</a></span>
|
||||
<select class="status-small-label color-class-common edit-item-data competence-niveau" type="text"
|
||||
name="system.attributs.{{key}}.value" value="{{attr.value}}" data-dtype="Number">
|
||||
{{#select attr.value}}
|
||||
{{> systems/fvtt-hawkmoon-cyd/templates/partial-list-niveau.html}}
|
||||
{{/select}}
|
||||
{{selectOptions @root.config.listeNiveauSkill selected=attr.value}}
|
||||
</select>
|
||||
</li>
|
||||
{{/each}}
|
||||
@@ -90,7 +87,7 @@
|
||||
<input type="text" class="padd-right numeric-input item-field-label-short" name="system.vitesse.value"
|
||||
value="{{system.vitesse.value}}" data-dtype="Number" />
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
@@ -112,6 +109,13 @@
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
{{#if isGM}}
|
||||
<div class="flexrow">
|
||||
<span class="item-name-label competence-name item-field-label-medium">Modificateur de Vigueur</span>
|
||||
<input type="text" class="item-field-label-short" name="system.sante.vigueurmodifier"
|
||||
value="{{system.sante.vigueurmodifier}}" data-dtype="Number" />
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -125,9 +129,13 @@
|
||||
<label class="short-label">Résumé</label>
|
||||
</span>
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-add" data-type="talent" title="Ajouter un Talent"><i
|
||||
class="fas fa-plus"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{#each talents as |talent key|}}
|
||||
<li class="item flexrow " data-item-id="{{talent._id}}" data-item-type="competence">
|
||||
<li class="item flexrow " data-item-id="{{talent._id}}" data-item-type="talent">
|
||||
<img class="item-name-img" src="{{talent.img}}" />
|
||||
<span class="item-name-label competence-name">{{talent.name}}</span>
|
||||
<span class="item-name-label item-field-label-long2">{{talent.system.resumebonus}}</span>
|
||||
@@ -142,6 +150,39 @@
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
{{#if (count mutations)}}
|
||||
<div class="sheet-box color-bg-archetype">
|
||||
<ul class="item-list alternate-list">
|
||||
<li class="item flexrow">
|
||||
<span class="item-name-label-header">
|
||||
<h3><label class="items-title-text">Mutations</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-long">
|
||||
<label class="short-label">Catégorie</label>
|
||||
</span>
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-add" data-type="mutation" title="Ajouter une Mutation"><i
|
||||
class="fas fa-plus"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{#each mutations as |mutation key|}}
|
||||
<li class="item flexrow " data-item-id="{{mutation._id}}" data-item-type="mutation">
|
||||
<img class="item-name-img" src="{{mutation.img}}" />
|
||||
<span class="item-name-label competence-name">{{mutation.name}}</span>
|
||||
<span class="item-name-label item-field-label-long2">{{mutation.system.mutationcategorie}}</span>
|
||||
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
<div class="flexrow">
|
||||
<div class="sheet-box color-bg-archetype">
|
||||
<ul class="item-list alternate-list">
|
||||
@@ -153,7 +194,11 @@
|
||||
<label class="short-label">Résumé</label>
|
||||
</span>
|
||||
<div class="item-filler"> </div>
|
||||
</li>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-add" data-type="talent" title="Ajouter un Talent"><i
|
||||
class="fas fa-plus"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{#each talentsCell as |talent key|}}
|
||||
<li class="item flexrow " data-item-id="{{talent._id}}" data-item-type="competence">
|
||||
<img class="item-name-img" src="{{talent.img}}" />
|
||||
@@ -192,13 +237,24 @@
|
||||
{{#each skills as |skill key|}}
|
||||
<li class="item flexrow " data-item-id="{{skill._id}}" data-item-type="competence">
|
||||
<img class="item-name-img" src="{{skill.img}}" />
|
||||
<span class="item-name-label competence-name"><a class="roll-competence item-field-label-short"
|
||||
|
||||
<div class="flexcol item-name-label">
|
||||
|
||||
<span class="item-name-label competence-name"><a class="roll-competence "
|
||||
data-attr-key="tochoose">{{skill.name}}</a></span>
|
||||
|
||||
<span class="predilection-text">
|
||||
{{#each skill.system.predilections as |pred key|}}
|
||||
{{#if (and pred.acquise (not pred.used))}}
|
||||
{{pred.name}},
|
||||
{{/if}}
|
||||
{{/each}}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<select class="status-small-label color-class-common edit-item-data competence-niveau" type="text"
|
||||
data-item-field="niveau" value="{{skill.system.niveau}}" data-dtype="Number">
|
||||
{{#select skill.system.niveau}}
|
||||
{{> systems/fvtt-hawkmoon-cyd/templates/partial-list-niveau.html}}
|
||||
{{/select}}
|
||||
{{selectOptions @root.config.listeNiveauSkill selected=skill.system.niveau}}
|
||||
</select>
|
||||
|
||||
{{#if (ne skill.system.attribut1 "none")}}
|
||||
@@ -233,7 +289,20 @@
|
||||
|
||||
<ul class="item-list alternate-list">
|
||||
<li class="item flexrow">
|
||||
<button class="chat-card-button roll-initiative">Initiative</button>
|
||||
<button class="chat-card-button roll-initiative">Initiative (actuelle : {{initiative}} )</button>
|
||||
<label class="item-field-label-short"> </label>
|
||||
<label class="item-field-label-short">Monté?</label>
|
||||
<input type="checkbox" name="system.combat.monte" {{checked system.combat.monte}} />
|
||||
<label class="item-field-label-short"> </label>
|
||||
<label class="item-field-label-medium">Défense totale?</label>
|
||||
<input type="checkbox" name="system.combat.defensetotale" {{checked system.combat.defensetotale}} />
|
||||
</li>
|
||||
<li class="item flexrow">
|
||||
<button class="chat-card-button roll-assommer">Assommer</button>
|
||||
<button class="chat-card-button roll-coup-bas">Coup bas</button>
|
||||
<button class="chat-card-button roll-immobiliser">Immobiliser</button>
|
||||
<button class="chat-card-button roll-repousser">Repousser</button>
|
||||
<button class="chat-card-button roll-desengager">Se désengager</button>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
@@ -275,11 +344,11 @@
|
||||
|
||||
{{#if arme.system.isdefense}}
|
||||
<span class="item-field-label-short arme-defensif item-field-label-short"><label
|
||||
class="arme-defensif item-field-label-short">{{arme.system.totalDefensif}}</label></span>
|
||||
class="arme-defensif item-field-label-short defense-sheet">{{arme.system.totalDefensif}}</label></span>
|
||||
{{else}}
|
||||
<span class="item-field-label-short arme-defensif"><label
|
||||
class="item-field-label-short arme-defensif">-</label></span>
|
||||
{{/if}}
|
||||
<span class="item-field-label-short arme-defensif item-field-label-short"><label
|
||||
class="arme-defensif item-field-label-short defense-sheet">N/A</label></span>
|
||||
{{/if}}
|
||||
|
||||
<span class="item-field-label-short">
|
||||
{{#if arme.system.equipped}}
|
||||
@@ -291,10 +360,10 @@
|
||||
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-equip" title="Worn">{{#if arme.system.equipped}}<i
|
||||
<a class="item-control item-equip" title="Equipé">{{#if arme.system.equipped}}<i
|
||||
class="fas fa-circle"></i>{{else}}<i class="fas fa-genderless"></i>{{/if}}</a>
|
||||
<a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
<a class="item-control item-edit" title="Editer l' Item"><i class="fas fa-edit"></i></a>
|
||||
<a class="item-control item-delete" title="Supprimer l'Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
@@ -312,7 +381,7 @@
|
||||
</span>
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-add" data-type="arme" title="Ajouter une arme"><i
|
||||
<a class="item-control item-add" data-type="protection" title="Ajouter une arme"><i
|
||||
class="fas fa-plus"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
@@ -325,8 +394,10 @@
|
||||
</span>
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
<a class="item-control item-equip" title="Equipé">{{#if protection.system.equipped}}<i
|
||||
class="fas fa-circle"></i>{{else}}<i class="fas fa-genderless"></i>{{/if}}</a>
|
||||
<a class="item-control item-edit" title="Editer l'Item"><i class="fas fa-edit"></i></a>
|
||||
<a class="item-control item-delete" title="Supprimer l'Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
@@ -341,15 +412,72 @@
|
||||
|
||||
<div class="flexcol">
|
||||
|
||||
<hr>
|
||||
<div class="sheet-box color-bg-archetype">
|
||||
<h4>
|
||||
<label class="argent-total-text">
|
||||
Argent Total : {{richesse.po}} PO - {{richesse.pa}} PA - {{richesse.sc}} SC (total {{richesse.valueSC}} SC)
|
||||
</label>
|
||||
</h4>
|
||||
</div>
|
||||
|
||||
<div class="sheet-box color-bg-archetype">
|
||||
<ul class="item-list alternate-list">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-name-label-header">
|
||||
<h3><label class="items-title-text">Richesses et Argent</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">Quantité</label>
|
||||
</span>
|
||||
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-add" data-type="monnaie" title="Ajouter une monnaie"><i
|
||||
class="fas fa-plus"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{#each monnaies as |monnaie key|}}
|
||||
<li class="item flexrow " data-item-id="{{monnaie._id}}" data-item-type="monnaie">
|
||||
<img class="item-name-img" src="{{monnaie.img}}" />
|
||||
<span class="item-name-label competence-name">{{monnaie.name}}</span>
|
||||
<span class="item-name-label competence-name item-field-label-medium">{{monnaie.system.quantite}}
|
||||
<a class="quantity-modify plus-minus-button" data-quantite-value="-1">-</a>
|
||||
<a class="quantity-modify plus-minus-button" data-quantite-value="+1">+</a>
|
||||
</span>
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<hr>
|
||||
<div class="sheet-box color-bg-archetype">
|
||||
<h4>
|
||||
<label class="argent-total-text">
|
||||
Valeur Total Equipement : {{valeurEquipement.po}} PO - {{valeurEquipement.pa}} PA - {{valeurEquipement.sc}} SC (total {{valeurEquipement.valueSC}} SC)
|
||||
</label>
|
||||
</h4>
|
||||
</div>
|
||||
|
||||
<div class="sheet-box color-bg-archetype">
|
||||
<ul class="item-list alternate-list">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-name-label-header">
|
||||
<h3><label class="items-title-text">Equipements</label></h3>
|
||||
</span>
|
||||
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">Quantité</label>
|
||||
</span>
|
||||
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-add" data-type="arme" title="Ajouter une arme"><i
|
||||
<a class="item-control item-add" data-type="equipement" title="Ajouter un équipement"><i
|
||||
class="fas fa-plus"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
@@ -357,6 +485,45 @@
|
||||
<li class="item flexrow " data-item-id="{{equipement._id}}" data-item-type="equipement">
|
||||
<img class="item-name-img" src="{{equipement.img}}" />
|
||||
<span class="item-name-label competence-name">{{equipement.name}}</span>
|
||||
<span class="item-name-label competence-name item-field-label-medium">{{equipement.system.quantite}}
|
||||
<a class="quantity-modify plus-minus-button" data-quantite-value="-1">-</a>
|
||||
<a class="quantity-modify plus-minus-button" data-quantite-value="+1">+</a>
|
||||
</span>
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="sheet-box color-bg-archetype">
|
||||
<ul class="item-list alternate-list">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-name-label-header">
|
||||
<h3><label class="items-title-text">Artefacts</label></h3>
|
||||
</span>
|
||||
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">Quantité</label>
|
||||
</span>
|
||||
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-add" data-type="artefact" title="Ajouter un artefact"><i
|
||||
class="fas fa-plus"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{#each artefacts as |artefact key|}}
|
||||
<li class="item flexrow " data-item-id="{{artefact._id}}" data-item-type="artefact">
|
||||
<img class="item-name-img" src="{{artefact.img}}" />
|
||||
<span class="item-name-label competence-name">{{artefact.name}}</span>
|
||||
<span class="item-name-label competence-name item-field-label-medium">{{artefact.system.quantite}}
|
||||
<a class="quantity-modify plus-minus-button" data-quantite-value="-1">-</a>
|
||||
<a class="quantity-modify plus-minus-button" data-quantite-value="+1">+</a>
|
||||
</span>
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
|
||||
@@ -377,6 +544,7 @@
|
||||
|
||||
<div>
|
||||
<ul class="item-list alternate-list">
|
||||
{{#each historiques as |historique key|}}
|
||||
<li class="item flexrow" data-item-id="{{historique._id}}">
|
||||
<label class="generic-label">Historique : </label>
|
||||
<label class="generic-label">{{historique.name}}</label>
|
||||
@@ -386,6 +554,7 @@
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
{{#each profils as |profil key|}}
|
||||
<li class="item flexrow" data-item-id="{{profil._id}}">
|
||||
<label class="generic-label">Profil : </label>
|
||||
@@ -404,6 +573,12 @@
|
||||
<div class="grid grid-3col">
|
||||
<div>
|
||||
<ul>
|
||||
<li class="flexrow item">
|
||||
<label class="generic-label">Statut de résistant</label>
|
||||
<select class="status-small-label color-class-common item-field-label-long" type="text" name="system.biodata.statutresistant" data-dtype="String">
|
||||
{{selectOptions config.optionsStatutResistant selected=system.biodata.statutresistant valueAttr="key" nameAttr="key" labelAttr="label"}}
|
||||
</select>
|
||||
</li>
|
||||
<li class="flexrow item">
|
||||
<label class="generic-label">Sexe</label>
|
||||
<input type="text" class="" name="system.biodata.sex" value="{{system.biodata.sex}}"
|
||||
@@ -453,9 +628,6 @@
|
||||
<span>
|
||||
<h3>Description</h3>
|
||||
</span>
|
||||
<div class="medium-editor item-text-long-line">
|
||||
{{editor description target="system.biodata.description" button=true owner=owner editable=editable}}
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
2
_deprecated/aides-de-jeu.SAVED
Normal file
2
_deprecated/aides-de-jeu.SAVED
Normal file
File diff suppressed because one or more lines are too long
385
_deprecated/cellule-sheet.html
Normal file
385
_deprecated/cellule-sheet.html
Normal file
@@ -0,0 +1,385 @@
|
||||
<form class="{{cssClass}}" autocomplete="off">
|
||||
|
||||
{{!-- Sheet Header --}}
|
||||
<header class="sheet-header">
|
||||
<div class="header-fields background-sheet-header">
|
||||
<div class="flexrow">
|
||||
<img class="profile-img" src="{{img}}" data-edit="img" title="{{name}}" />
|
||||
<div class="flexcol">
|
||||
<h1 class="charname"><input name="name" type="text" value="{{name}}" placeholder="Name" /></h1>
|
||||
<div class="flexrow">
|
||||
|
||||
<ul class="item-list alternate-list">
|
||||
|
||||
<li class="item flexrow">
|
||||
<h4 class="item-name-label competence-name item-field-label-medium">Notoriété</h4>
|
||||
<input type="text" class="padd-right status-small-label color-class-common item-field-label-short"
|
||||
name="system.notoriete" value="{{system.notoriete}}" data-dtype="Number" />
|
||||
|
||||
<h4 class="item-name-label competence-name item-field-label-long">Résistance</h4>
|
||||
<input type="text" class="padd-right status-small-label color-class-common item-field-label-short"
|
||||
name="system.resistance" value="{{system.resistance}}" data-dtype="Number" />
|
||||
</li>
|
||||
|
||||
<li class="item flexrow ">
|
||||
<h4 class="item-name-label competence-name item-field-label-long">Développement</h4>
|
||||
<input type="text" class="padd-right status-small-label color-class-common item-field-label-short"
|
||||
name="system.developpement" value="{{system.developpement}}" data-dtype="Number" />
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
{{!-- Sheet Tab Navigation --}}
|
||||
<nav class="sheet-tabs tabs" data-group="primary">
|
||||
<a class="item" data-tab="talents">Membres&Talents</a>
|
||||
<a class="item" data-tab="contacts">Contacts</a>
|
||||
<a class="item" data-tab="ressources">Ressources</a>
|
||||
<a class="item" data-tab="equipement">Equipement</a>
|
||||
<a class="item" data-tab="biodata">Description</a>
|
||||
</nav>
|
||||
|
||||
{{!-- Sheet Body --}}
|
||||
<section class="sheet-body">
|
||||
|
||||
{{!-- Talents Tab --}}
|
||||
<div class="tab talents" data-group="primary" data-tab="talents">
|
||||
|
||||
<div class="sheet-box color-bg-archetype">
|
||||
<ul class="item-list alternate-list">
|
||||
<li class="item flexrow">
|
||||
<span class="item-name-label-header">
|
||||
<h3><label class="items-title-text">Membres</label></h3>
|
||||
</span>
|
||||
<div class="item-filler"> </div>
|
||||
</li>
|
||||
{{#each members as |membre key|}}
|
||||
<li class="item flexrow " data-actor-id="{{membre.id}}" >
|
||||
<img class="item-name-img" src="{{membre.img}}" />
|
||||
<span class="item-name-label competence-name">{{membre.name}}</span>
|
||||
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control actor-edit" title="Edit Actor"><i class="fas fa-edit"></i></a>
|
||||
<a class="item-control actor-delete" title="Delete Actor"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="sheet-box color-bg-archetype">
|
||||
<ul class="item-list alternate-list">
|
||||
<li class="item flexrow">
|
||||
<span class="item-name-label-header">
|
||||
<h3><label class="items-title-text">Talents de Cellule</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">Résumé</label>
|
||||
</span>
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-add" data-type="talent" title="Ajouter un Talent"><i
|
||||
class="fas fa-plus"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{#each talents as |talent key|}}
|
||||
<li class="item flexrow " data-item-id="{{talent._id}}" data-item-type="talent">
|
||||
<img class="item-name-img" src="{{talent.img}}" />
|
||||
<span class="item-name-label competence-name">{{talent.name}}</span>
|
||||
<span class="item-name-label item-field-label-long2">{{talent.system.resumebonus}}</span>
|
||||
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
{{!-- Contacts Tab --}}
|
||||
<div class="tab contacts" data-group="primary" data-tab="contacts">
|
||||
|
||||
<div class="flexrow">
|
||||
|
||||
<div class="sheet-box color-bg-archetype">
|
||||
<ul class="item-list alternate-list">
|
||||
<li class="item flexrow">
|
||||
<span class="item-name-label-header">
|
||||
<h3><label class="items-title-text">Contacts</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">Type</label>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">Niveau</label>
|
||||
</span>
|
||||
<div class="item-filler"> </div>
|
||||
</li>
|
||||
{{#each contacts as |contact key|}}
|
||||
<li class="item flexrow " data-item-id="{{contact._id}}" data-item-type="competence">
|
||||
<img class="item-name-img" src="{{contact.img}}" />
|
||||
<span class="item-name-label competence-name">{{contact.name}}</span>
|
||||
<span class="item-name-label item-field-label-medium">{{upperFirst contact.system.contacttype}}</span>
|
||||
<span class="item-name-label item-field-label-medium">{{contact.system.niveau}}</span>
|
||||
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
{{!-- Ressources Tab --}}
|
||||
<div class="tab ressources" data-group="primary" data-tab="ressources">
|
||||
|
||||
<div class="flexrow">
|
||||
|
||||
<div class="sheet-box color-bg-archetype">
|
||||
<ul class="item-list alternate-list">
|
||||
<li class="item flexrow">
|
||||
<span class="item-name-label-header">
|
||||
<h3><label class="items-title-text">Ressources</label></h3>
|
||||
</span>
|
||||
<div class="item-filler"> </div>
|
||||
</li>
|
||||
{{#each ressources as |ressource key|}}
|
||||
<li class="item flexrow " data-item-id="{{ressource._id}}" data-item-type="competence">
|
||||
<img class="item-name-img" src="{{ressource.img}}" />
|
||||
<span class="item-name-label competence-name">{{ressource.name}}</span>
|
||||
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
{{!-- Equipement Tab --}}
|
||||
<div class="tab equipement" data-group="primary" data-tab="equipement">
|
||||
|
||||
<div class="flexcol">
|
||||
|
||||
<hr>
|
||||
<div class="sheet-box color-bg-archetype">
|
||||
<h4>
|
||||
<label class="argent-total-text">
|
||||
Argent Total : {{richesse.po}} PO - {{richesse.pa}} PA - {{richesse.sc}} SC (total {{richesse.valueSC}} SC)
|
||||
</label>
|
||||
</h4>
|
||||
</div>
|
||||
|
||||
<div class="sheet-box color-bg-archetype">
|
||||
<ul class="item-list alternate-list">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-name-label-header">
|
||||
<h3><label class="items-title-text">Richesses et Argent</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">Quantité</label>
|
||||
</span>
|
||||
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-add" data-type="monnaie" title="Ajouter une monnaie"><i
|
||||
class="fas fa-plus"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{#each monnaies as |monnaie key|}}
|
||||
<li class="item flexrow " data-item-id="{{monnaie._id}}" data-item-type="monnaie">
|
||||
<img class="item-name-img" src="{{monnaie.img}}" />
|
||||
<span class="item-name-label competence-name">{{monnaie.name}}</span>
|
||||
<span class="item-name-label competence-name item-field-label-medium">{{monnaie.system.quantite}}
|
||||
<a class="quantity-modify plus-minus-button" data-quantite-value="-1">-</a>
|
||||
<a class="quantity-modify plus-minus-button" data-quantite-value="+1">+</a>
|
||||
</span>
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<hr>
|
||||
<div class="sheet-box color-bg-archetype">
|
||||
<h4>
|
||||
<label class="argent-total-text">
|
||||
Valeur Total Equipement : {{valeurEquipement.po}} PO - {{valeurEquipement.pa}} PA - {{valeurEquipement.sc}} SC (total {{valeurEquipement.valueSC}} SC)
|
||||
</label>
|
||||
</h4>
|
||||
</div>
|
||||
|
||||
<div class="sheet-box color-bg-archetype">
|
||||
<ul class="item-list alternate-list">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-name-label-header">
|
||||
<h3><label class="items-title-text">Equipements</label></h3>
|
||||
</span>
|
||||
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">Quantité</label>
|
||||
</span>
|
||||
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-add" data-type="equipement" title="Ajouter un équipement"><i
|
||||
class="fas fa-plus"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{#each equipements as |equipement key|}}
|
||||
<li class="item flexrow " data-item-id="{{equipement._id}}" data-item-type="equipement">
|
||||
<img class="item-name-img" src="{{equipement.img}}" />
|
||||
<span class="item-name-label competence-name">{{equipement.name}}</span>
|
||||
<span class="item-name-label competence-name item-field-label-medium">{{equipement.system.quantite}}
|
||||
<a class="quantity-modify plus-minus-button" data-quantite-value="-1">-</a>
|
||||
<a class="quantity-modify plus-minus-button" data-quantite-value="+1">+</a>
|
||||
</span>
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="flexcol">
|
||||
|
||||
<div class="sheet-box color-bg-archetype">
|
||||
<ul class="item-list alternate-list">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-name-label-header">
|
||||
<h3><label class="items-title-text">Armes</label></h3>
|
||||
</span>
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-add" data-type="arme" title="Ajouter une arme"><i
|
||||
class="fas fa-plus"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{#each armes as |arme key|}}
|
||||
<li class="item flexrow " data-item-id="{{arme._id}}" data-item-type="arme">
|
||||
<img class="item-name-img" src="{{arme.img}}" />
|
||||
<span class="item-name-label competence-name">{{arme.name}}</span>
|
||||
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-edit" title="Editer l' Item"><i class="fas fa-edit"></i></a>
|
||||
<a class="item-control item-delete" title="Supprimer l'Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="sheet-box color-bg-archetype">
|
||||
<ul class="item-list alternate-list">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-name-label-header">
|
||||
<h3><label class="items-title-text">Protections</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">Protection</label>
|
||||
</span>
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-add" data-type="protection" title="Ajouter une arme"><i
|
||||
class="fas fa-plus"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{#each protections as |protection key|}}
|
||||
<li class="item flexrow " data-item-id="{{protection._id}}" data-item-type="protection">
|
||||
<img class="item-name-img" src="{{protection.img}}" />
|
||||
<span class="item-name-label competence-name">{{protection.name}}</span>
|
||||
<span class="item-field-label-short arme-defensif"><label
|
||||
class="arme-defensif">{{protection.system.protection}}</label>
|
||||
</span>
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-edit" title="Editer l'Item"><i class="fas fa-edit"></i></a>
|
||||
<a class="item-control item-delete" title="Supprimer l'Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="sheet-box color-bg-archetype">
|
||||
<ul class="item-list alternate-list">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-name-label-header">
|
||||
<h3><label class="items-title-text">Artefacts</label></h3>
|
||||
</span>
|
||||
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">Quantité</label>
|
||||
</span>
|
||||
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-add" data-type="artefact" title="Ajouter un artefact"><i
|
||||
class="fas fa-plus"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{#each artefacts as |artefact key|}}
|
||||
<li class="item flexrow " data-item-id="{{artefact._id}}" data-item-type="artefact">
|
||||
<img class="item-name-img" src="{{artefact.img}}" />
|
||||
<span class="item-name-label competence-name">{{artefact.name}}</span>
|
||||
<span class="item-name-label competence-name item-field-label-medium">{{artefact.system.quantite}}
|
||||
<a class="quantity-modify plus-minus-button" data-quantite-value="-1">-</a>
|
||||
<a class="quantity-modify plus-minus-button" data-quantite-value="+1">+</a>
|
||||
</span>
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
{{!-- Biography Tab --}}
|
||||
<div class="tab biodata" data-group="primary" data-tab="biodata">
|
||||
<span>
|
||||
<h3>Description</h3>
|
||||
</span>
|
||||
<div class="medium-editor item-text-long-line">
|
||||
{{editor description target="system.description" button=true owner=owner editable=editable}}
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</section>
|
||||
</form>
|
||||
254
_deprecated/chat-generic-result-v2.html
Normal file
254
_deprecated/chat-generic-result-v2.html
Normal file
@@ -0,0 +1,254 @@
|
||||
<div class="hawkmoon-chat-result">
|
||||
{{!-- Header avec acteur --}}
|
||||
<div class="chat-result-header">
|
||||
{{#if actorImg}}
|
||||
<img class="actor-icon" src="{{actorImg}}" alt="{{alias}}" />
|
||||
{{/if}}
|
||||
<div class="header-info">
|
||||
<h4 class="actor-name">{{alias}}</h4>
|
||||
{{#if competence}}
|
||||
<div class="action-title">
|
||||
<i class="fas fa-dice-d20"></i>
|
||||
{{competence.name}}
|
||||
{{#if arme}}• {{arme.name}}{{/if}}
|
||||
</div>
|
||||
{{else if actionImg}}
|
||||
<div class="action-title">
|
||||
<i class="fas fa-dice-d20"></i>
|
||||
{{attr.label}}{{#if attr2}} + {{attr2.label}}{{/if}}
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{!-- Résultat principal --}}
|
||||
<div class="result-main">
|
||||
<div class="result-display">
|
||||
<div class="dice-result">
|
||||
<i class="fas fa-dice"></i>
|
||||
<span class="dice-value">{{diceResult}}</span>
|
||||
</div>
|
||||
<div class="total-result">
|
||||
<span class="total-label">Total</span>
|
||||
<span class="total-value">{{finalResult}}</span>
|
||||
</div>
|
||||
{{#if difficulte}}
|
||||
<div class="difficulty">
|
||||
<span class="difficulty-label">SD</span>
|
||||
<span class="difficulty-value">{{difficulte}}</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
|
||||
{{!-- Badge de résultat --}}
|
||||
{{#if difficulte}}
|
||||
<div class="result-badge-container">
|
||||
{{#if isHeroique}}
|
||||
<div class="result-badge heroique">
|
||||
<i class="fas fa-star"></i> HÉROÏQUE !
|
||||
</div>
|
||||
{{else if isDramatique}}
|
||||
<div class="result-badge dramatique">
|
||||
<i class="fas fa-skull"></i> DRAMATIQUE !
|
||||
</div>
|
||||
{{else if isSuccess}}
|
||||
<div class="result-badge success">
|
||||
<i class="fas fa-check"></i> Succès
|
||||
</div>
|
||||
{{else}}
|
||||
<div class="result-badge failure">
|
||||
<i class="fas fa-times"></i> Échec
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
|
||||
{{!-- Détails du jet --}}
|
||||
<div class="result-details">
|
||||
<div class="details-section">
|
||||
<div class="detail-row">
|
||||
<span class="detail-label">Formule:</span>
|
||||
<span class="detail-value">{{diceFormula}}</span>
|
||||
</div>
|
||||
|
||||
<div class="detail-row">
|
||||
<span class="detail-label">{{attr.label}}:</span>
|
||||
<span class="detail-value">{{attr.value}}</span>
|
||||
</div>
|
||||
|
||||
{{#if attr2}}
|
||||
<div class="detail-row">
|
||||
<span class="detail-label">{{attr2.label}}:</span>
|
||||
<span class="detail-value">{{attr2.value}}</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if competence}}
|
||||
<div class="detail-row">
|
||||
<span class="detail-label">{{competence.name}}:</span>
|
||||
<span class="detail-value">{{competence.system.niveau}}</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if selectedMaitrise}}
|
||||
<div class="detail-row">
|
||||
<span class="detail-label">Maîtrise:</span>
|
||||
<span class="detail-value">{{selectedMaitrise.name}}</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if arme}}
|
||||
<div class="detail-row">
|
||||
<span class="detail-label">Arme:</span>
|
||||
<span class="detail-value">{{arme.name}} (+{{arme.system.bonusmaniementoff}})</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if bonusRoll}}
|
||||
<div class="detail-row bonus">
|
||||
<span class="detail-label">{{textBonus}}:</span>
|
||||
<span class="detail-value">+{{bonusRoll.total}}</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{!-- Effets et conséquences --}}
|
||||
{{#if isSuccess}}
|
||||
<div class="result-effects">
|
||||
{{#if attaqueDesarme}}
|
||||
<div class="effect-item">
|
||||
<i class="fas fa-hand-sparkles"></i>
|
||||
{{#if isHeroique}}
|
||||
Vous récupérez l'arme de votre adversaire dans votre main !
|
||||
{{else}}
|
||||
Vous désarmez votre adversaire ! Son arme tombe hors de sa portée.
|
||||
{{/if}}
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if immobiliser}}
|
||||
<div class="effect-item">
|
||||
<i class="fas fa-lock"></i>
|
||||
{{#if isHeroique}}
|
||||
Votre cible est immobilisée, et vous pouvez faire une action complexe.
|
||||
{{else}}
|
||||
Votre cible est immobilisée.
|
||||
{{/if}}
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if desengager}}
|
||||
<div class="effect-item">
|
||||
<i class="fas fa-running"></i>
|
||||
Vous vous désengagez de votre adversaire.
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if repousser}}
|
||||
<div class="effect-item">
|
||||
<i class="fas fa-hand-rock"></i>
|
||||
{{#if isHeroique}}
|
||||
Votre cible est repoussée de 3 mètres et tombe au sol.
|
||||
{{else}}
|
||||
Votre cible tombe au sol.
|
||||
{{/if}}
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if assomer}}
|
||||
<div class="effect-item">
|
||||
<i class="fas fa-dizzy"></i>
|
||||
{{#if isHeroique}}
|
||||
Votre cible est assomée pour [[/r 1d10+10]] minutes.
|
||||
{{else}}
|
||||
Votre cible est assomée pour [[/r 1d10]] minutes.
|
||||
{{/if}}
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if coupBas}}
|
||||
<div class="effect-item">
|
||||
<i class="fas fa-shoe-prints"></i>
|
||||
La cible a reçu 2 adversités bleues et a perdu 1 niveau de combativité.
|
||||
{{#if isHeroique}}
|
||||
<br><strong>Et votre cible perd sa prochaine action complexe.</strong>
|
||||
{{/if}}
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if arme}}
|
||||
{{#if contenir}}
|
||||
<div class="effect-item">
|
||||
<i class="fas fa-shield-alt"></i>
|
||||
{{#if isHeroique}}
|
||||
Aucun dégât, mais tous les adversaires dont le SD + 10 est atteint ne peuvent déclarer d'attaque contre vous lors de leur prochaine action complexe.
|
||||
{{else}}
|
||||
Aucun dégât, mais la cible ne peut pas déclarer d'attaque contre vous lors de sa prochaine action complexe.
|
||||
{{/if}}
|
||||
</div>
|
||||
{{else}}
|
||||
{{#if (eq nbCombativitePerdu "vaincu")}}
|
||||
<div class="effect-item victory">
|
||||
<i class="fas fa-trophy"></i>
|
||||
<strong>Votre adversaire est vaincu !</strong>
|
||||
</div>
|
||||
{{else}}
|
||||
<div class="effect-item">
|
||||
<i class="fas fa-heart-broken"></i>
|
||||
Votre adversaire a perdu {{nbCombativitePerdu}} État de Combativité.
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if (not arme.system.onlevelonly)}}
|
||||
<div class="damage-buttons">
|
||||
<button class="chat-card-button roll-chat-degat">
|
||||
<i class="fas fa-burst"></i> Dégâts de l'arme
|
||||
</button>
|
||||
{{#if coupDevastateur}}
|
||||
<button class="chat-card-button roll-chat-degat-devastateur">
|
||||
<i class="fas fa-explosion"></i> Dégâts avec Coup Dévastateur
|
||||
</button>
|
||||
{{/if}}
|
||||
</div>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{!-- Avertissements --}}
|
||||
{{#if attaqueCharge}}
|
||||
<div class="result-warning">
|
||||
<i class="fas fa-exclamation-triangle"></i>
|
||||
Vous avez chargé : vos adversaires bénéficient de +3 pour vous attaquer.
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if desengager}}
|
||||
{{#if (not isSuccess)}}
|
||||
<div class="result-warning">
|
||||
<i class="fas fa-exclamation-triangle"></i>
|
||||
Vous ne parvenez pas à vous désengager, votre adversaire a un bonus de +3 pour vous attaquer.
|
||||
</div>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
|
||||
{{#if isInit}}
|
||||
<div class="result-info">
|
||||
<i class="fas fa-flag"></i> Initiative stockée !
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{!-- Prédilections --}}
|
||||
{{#each predilections as |pred key|}}
|
||||
{{#if (and (and pred.acquise (not pred.maitrise)) (not pred.used))}}
|
||||
<div class="predilection-section">
|
||||
<button class="chat-card-button predilection-reroll" data-predilection-index="{{key}}">
|
||||
<i class="fas fa-redo"></i> Prédilection : {{pred.name}}
|
||||
</button>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{/each}}
|
||||
</div>
|
||||
8
_deprecated/competences-creatures.db
Normal file
8
_deprecated/competences-creatures.db
Normal file
@@ -0,0 +1,8 @@
|
||||
{"name":"Mêlée","type":"competence","img":"systems/fvtt-hawkmoon-cyd/assets/icons/competence.webp","system":{"description":"<p style=\"text-align: justify;\">Mêlée représente la maîtrise martiale et l’habileté au combat rapproché, avec ou sans arme. Plus cette Compétence est élevée, plus le personnage est à même de passer la garde de ses adversaires en combat au corps-à-corps.</p>","niveau":0,"attribut1":"pui","attribut2":"none","attribut3":"none","doublebonus":false,"predilections":[{"name":"Armes à une main (Puissance)","used":false,"description":"Pour utiliser des armes comme l’épée courte, la hache, une arme improvisée à une main, etc.\n\n"},{"name":"Armes à deux mains (Puissance)","used":false,"description":"Pour utiliser des armes comme la hache nordaine ou l’épée arthurienne, une arme improvisée à deux mains, etc."},{"name":"Mains nues (Puissance)","used":false,"description":"Pour se battre à mains nues, qu’il s’agisse d’une bagarre ou d’un pugilat codifié."}],"predilections[0]":["Nouvelle prédilection",""]},"effects":[],"ownership":{"default":0,"8b7NkRYwYKm5eOMy":3,"wYQCdPQVeRKBJmZI":3},"flags":{"core":{"sourceId":"Compendium.fvtt-hawkmoon-cyd.skills.VM3TSQYxseYdCFjv"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.1.7","coreVersion":"10.291","createdTime":1666620807186,"modifiedTime":1671645643952,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"folder":null,"sort":0,"_id":"0nhTxujlIUB63Aqt"}
|
||||
{"name":"Discrétion","type":"competence","img":"systems/fvtt-hawkmoon-cyd/assets/icons/competence.webp","system":{"description":"<p style=\"text-align: justify;\">Discrétion représente la capacité à ne pas se faire remarquer, qu’il s’agisse de se fondre dans la foule, de prendre l'apparence de quelqu’un d’autre, de se cacher dans l’ombre ou encore de se déplacer en silence. Plus cette Compétence est élevée, plus le personnage est apte à passer<br>physiquement inaperçu.</p>","niveau":0,"attribut1":"adr","attribut2":"tre","attribut3":"none","doublebonus":false,"predilections":[{"name":"Cacher et se cacher (Trempe)","used":false,"description":"Pour se fondre dans le décor. Le personnage adopte un comportement décontracté qui le fait passer inaperçu, il trouve une cachette, etc. Permet également de dissimuler un objet sur soi (qu’il s’agisse d’une bourse, d’une arme, d’un tatouage, etc.).\n\n"},{"name":"Déguisement (Trempe)","used":false,"description":"Pour dissimuler son identité, altérer ses traits ou prendre ceux d'une personne spécifique."},{"name":"Déplacement silencieux (Adresse)","used":false,"description":"Pour se déplacer sans éveiller l’attention lorsqu’on ne peut être vu (dans l’obscurité ou à couvert, lorsqu’un garde est derrière une porte ou un angle\nde mur, etc.)."}]},"effects":[],"ownership":{"default":0,"8b7NkRYwYKm5eOMy":3,"wYQCdPQVeRKBJmZI":3},"flags":{"core":{"sourceId":"Compendium.fvtt-hawkmoon-cyd.skills.gBmAdYl4rhbY89ee"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.1.7","coreVersion":"10.291","createdTime":1666620807186,"modifiedTime":1671645638028,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"folder":null,"sort":0,"_id":"J4x6SP6l6njOrZn3"}
|
||||
{"name":"Armes à distance","type":"competence","img":"systems/fvtt-hawkmoon-cyd/assets/icons/competence.webp","system":{"description":"<p style=\"text-align: justify;\">Représente l’habileté au lancer ou avec une arme à distance. Plus cette Compétence est élevée, plus les tirs du personnage sont précis. </p>\n<p style=\"text-align: justify;\"> </p>\n<p style=\"text-align: justify;\"> </p>\n<p style=\"text-align: justify;\"> </p>","niveau":0,"attribut1":"adr","attribut2":"none","attribut3":"none","doublebonus":false,"predilections":[{"name":"Armes à feu (Adresse) ","used":false,"description":"Pour des armes comme le lance-feu. "},{"name":"Armes à projectile (Adresse)","used":false,"description":"Pour des armes comme l'arc, la fronde, l'arbalète, etc."},{"name":"Armes de jet (Adresse)","used":false,"description":"Pour des armes comme la dague de lancer, la bombe à mèche, le javelot, les projectiles improvisés, etc. "}],"predilections[0]":["Nouvelle prédilection",""],"predilections[1]":["Nouvelle prédilection",""],"predilections[2]":["Nouvelle prédilection",""]},"effects":[],"ownership":{"default":0,"8b7NkRYwYKm5eOMy":3,"wYQCdPQVeRKBJmZI":3},"flags":{"core":{"sourceId":"Compendium.fvtt-hawkmoon-cyd.skills.MLMlscPBb1ZCPTRl"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.1.7","coreVersion":"10.291","createdTime":1666619959067,"modifiedTime":1671645649970,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"folder":null,"sort":0,"_id":"UfVYwmPFwy2T7jZM"}
|
||||
{"name":"Survie","type":"competence","img":"systems/fvtt-hawkmoon-cyd/assets/icons/competence.webp","system":{"description":"<p style=\"text-align: justify;\">Survie représente la capacité à trouver de quoi subsister dans la nature, à établir un campement, à faire du feu avec les moyens du bord, à se repérer. Avec Clairvoyance, cette Compétence permet de trouver des baies comestibles, de poser tous les types de pièges, de pister, de trouver le meilleur emplacement pour un campement. Avec Adresse, elle permet de chasser, de pêcher, de faire du feu dans des conditions difficiles et de confectionner les pièges les plus simples (collets, fosses, etc.).</p>\n<p style=\"text-align: justify;\">Les Prédilections représentent quant à elles les différents milieux ou climats.</p>","niveau":0,"attribut1":"adr","attribut2":"cla","attribut3":"none","doublebonus":false,"predilections":[{"name":"Fleuve, Forêt, Hiver, Mer, Montagne, Souterrains, etc. (Adresse ou Clairvoyance)","used":false,"description":"En fonction de chaque milieu, la Prédilection permet d’y évoluer de la façon la plus adaptée."}],"predilections[0]":["Nouvelle prédilection",""],"predilections[1]":["Nouvelle prédilection",""],"predilections[2]":["Nouvelle prédilection",""],"predilections[3]":["Nouvelle prédilection",""],"predilections[4]":["Nouvelle prédilection",""],"predilections[5]":["Nouvelle prédilection",""],"predilections[6]":["Nouvelle prédilection",""],"predilections[7]":["Nouvelle prédilection",""],"predilections[8]":["Nouvelle prédilection",""],"predilections[9]":["Nouvelle prédilection",""],"predilections[10]":["Nouvelle prédilection",""],"predilections[11]":["Nouvelle prédilection",""]},"effects":[],"ownership":{"default":0,"8b7NkRYwYKm5eOMy":3,"wYQCdPQVeRKBJmZI":3},"flags":{"core":{"sourceId":"Compendium.fvtt-hawkmoon-cyd.skills.yI1zY5k8mAdx9wHK"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.1.7","coreVersion":"10.291","createdTime":1666620807186,"modifiedTime":1671645647913,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"folder":null,"sort":0,"_id":"Vpth0atT9qS6VqUB"}
|
||||
{"name":"Perception","type":"competence","img":"systems/fvtt-hawkmoon-cyd/assets/icons/competence.webp","system":{"description":"<p style=\"text-align: justify;\">Perception représente à la fois la conscience de son environnement, la capacité à remarquer les détails incongrus, et l’aptitude à lire le langage corporel. Plus cette Compétence est élevée, plus les sens du personnage sont affûtés.</p>","niveau":0,"attribut1":"cla","attribut2":"none","attribut3":"none","doublebonus":false,"predilections":[{"name":"Empathie (Clairvoyance)","used":false,"description":"Pour déchiffrer, par son attitude ou ses gestes, l’opinion ou la sincérité d’un interlocuteur, pour deviner les choses exprimées à mots couverts, pour comprendre quelqu’un qui s’exprime par signes."},{"name":"Recherche (Clairvoyance)","used":false,"description":"Pour remarquer les détails les plus infimes, pour trouver un objet ou un passage dissimulés."},{"name":"Vigilance (Clairvoyance) ","used":false,"description":"Pour détecter un personnage ou un animal qui se cache, pour remarquer une menace potentielle (piège, terrain dangereux, tireur embusqué), pour rester attentif lors d’un tour de garde."}],"predilections[0]":["Nouvelle prédilection",""],"predilections[1]":["Nouvelle prédilection",""],"predilections[2]":["Nouvelle prédilection",""],"predilections[3]":["Nouvelle prédilection",""],"predilections[4]":["Nouvelle prédilection",""],"predilections[5]":["Nouvelle prédilection",""]},"effects":[],"ownership":{"default":0,"8b7NkRYwYKm5eOMy":3,"wYQCdPQVeRKBJmZI":3},"flags":{"core":{"sourceId":"Compendium.fvtt-hawkmoon-cyd.skills.7p2MTjttE4fllp9e"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.1.7","coreVersion":"10.291","createdTime":1666620807186,"modifiedTime":1671645646434,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"folder":null,"sort":0,"_id":"cunjmZoXNhSX5qdV"}
|
||||
{"name":"Coercition","type":"competence","img":"systems/fvtt-hawkmoon-cyd/assets/icons/competence.webp","system":{"description":"<p style=\"text-align: justify;\">Coercition représente la capacité de forcer quelqu’un à agir contre son gré, à révéler des secrets ou à obéir aveuglément. Plus cette Compétence est élevée, plus le personnage sait se montrer intimidant et jouer sur l’autorité qu’il inspire pour briser la volonté de ses interlocuteurs.</p>","niveau":0,"attribut1":"pre","attribut2":"none","attribut3":"none","doublebonus":false,"predilections":[{"name":"Commandement (Présence) ","used":false,"description":"Pour donner des ordres auxquels on obéira sans poser de question. "},{"name":"Interrogatoire (Présence)","used":false,"description":"Pour forcer quelqu'un à révéler des informations, que ce soit par la torture ou à l'aide de techniques de manipulation plus subtiles. "},{"name":"Intimidation (Présence)","used":false,"description":"Pour faire peur, pour convaincre quelqu'un de renoncer à se battre, pour donner l'impression d'être dangereux. "}]},"effects":[],"ownership":{"default":0,"8b7NkRYwYKm5eOMy":3,"wYQCdPQVeRKBJmZI":3},"flags":{"core":{"sourceId":"Compendium.fvtt-hawkmoon-cyd.skills.15IDGG6JoZnRCQtY"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.1.7","coreVersion":"10.291","createdTime":1666620317429,"modifiedTime":1671645635525,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"folder":null,"sort":0,"_id":"lchi2ulzWdm8j1l7"}
|
||||
{"name":"Nage","type":"competence","img":"systems/fvtt-hawkmoon-cyd/assets/icons/competence.webp","system":{"description":"<p style=\"text-align: justify;\">Nage représente la vitesse (Adresse), mais aussi l’endurance du nageur (Puissance). La natation est une Compétence assez rare dans le monde de Hawkmoon. Un personnage qui n’a plus pied et ne sait pas nager commence à se noyer au bout d’un tour de jeu (soit six secondes). Reportez-vous à la règle de noyade p. 214.</p>\n<p style=\"text-align: justify;\"> </p>\n<h3 style=\"text-align: justify;\"><strong>Prédilections/Maîtrises</strong></h3>\n<ul>\n<li style=\"text-align: justify;\"><strong>Au choix du joueur et du MJ.</strong></li>\n</ul>","niveau":0,"attribut1":"adr","attribut2":"pui","attribut3":"none","doublebonus":false,"predilections":[],"predilections[0]":["Nouvelle prédilection",""],"predilections[1]":["Nouvelle prédilection",""],"predilections[2]":["Nouvelle prédilection",""],"predilections[3]":["Nouvelle prédilection",""]},"effects":[],"ownership":{"default":0,"8b7NkRYwYKm5eOMy":3,"wYQCdPQVeRKBJmZI":3},"flags":{"core":{"sourceId":"Compendium.fvtt-hawkmoon-cyd.skills.Dw7q0dGCoaBy1Smu"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.1.7","coreVersion":"10.291","createdTime":1666620807186,"modifiedTime":1671645639961,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"folder":null,"sort":0,"_id":"pyeEZFo46NTnV8WK"}
|
||||
{"name":"Mouvements","type":"competence","img":"systems/fvtt-hawkmoon-cyd/assets/icons/competence.webp","system":{"description":"<p style=\"text-align: justify;\">Mouvements indique la capacité du personnage à se déplacer rapidement et longtemps. Cette Compétence représente aussi bien la souplesse et la vivacité des gestes que l’endurance physique et la résistance à l’effort. Plus cette Compétence est élevée, plus le personnage est en forme et peut courir, grimper ou sauter longtemps et rapidement sans se fatiguer.</p>","niveau":0,"attribut1":"adr","attribut2":"pui","attribut3":"none","doublebonus":false,"predilections":[{"name":"Acrobaties (Adresse)","used":true,"description":"Pour faire des figures acrobatiques, sauter en hauteur ou en longueur, jongler, ou encore pour rattraper un objet fragile sans l’abîmer (ou un ustensile dangereux sans se blesser).\n\n"},{"name":"Course (Puissance)","used":false,"description":"Pour sprinter ou pour tenir la distance dans une course d’endurance."},{"name":"Escalade (Puissance) ","used":false,"description":"Pour escalader murs, arbres, etc. Sert également à avancer en étant suspendu à une corde horizontale."}],"predilections[0]":["Nouvelle prédilection",""],"predilections[1]":["Nouvelle prédilection",""],"predilections[2]":["Nouvelle prédilection",""]},"effects":[],"ownership":{"default":0,"8b7NkRYwYKm5eOMy":3,"wYQCdPQVeRKBJmZI":3},"flags":{"core":{"sourceId":"Compendium.fvtt-hawkmoon-cyd.skills.bP7pPSCekexUEf7m"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.1.7","coreVersion":"10.291","createdTime":1666620807186,"modifiedTime":1671645642114,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"folder":null,"sort":0,"_id":"tFU5yISK6spdNWco"}
|
||||
@@ -48,9 +48,7 @@
|
||||
class="roll-attribut">{{attr.label}}</a></span>
|
||||
<select class="status-small-label color-class-common edit-item-data competence-niveau" type="text"
|
||||
name="system.attributs.{{key}}.value" value="{{attr.value}}" data-dtype="Number">
|
||||
{{#select attr.value}}
|
||||
{{> systems/fvtt-hawkmoon-cyd/templates/partial-list-niveau.html}}
|
||||
{{/select}}
|
||||
{{selectOptions @root.config.listeNiveauCreature selected=attr.value}}
|
||||
</select>
|
||||
</li>
|
||||
{{/each}}
|
||||
@@ -58,29 +56,30 @@
|
||||
<img class="item-name-img" src="systems/fvtt-hawkmoon-cyd/assets/icons/vitesse.webp">
|
||||
<span class="item-name-label competence-name item-field-label-medium">Vitesse</span>
|
||||
<input type="text" class="padd-right numeric-input item-field-label-short" name="system.vitesse.value"
|
||||
value="{{system.vitesse.value}}" data-dtype="Number" />
|
||||
value="{{system.vitesse.value}}" data-dtype="Number" />
|
||||
</li>
|
||||
</ul>
|
||||
<h4 class="item-name-label competence-name">Santé</h4>
|
||||
<ul class="item-list alternate-list">
|
||||
<li class="item flexrow">
|
||||
<label class="label-name item-field-label-short">Vigueur</label>
|
||||
<label class="label-name item-field-label-short">{{system.sante.vigueur}}</label>
|
||||
<label class="label-name item-field-label-medium">Vigueur</label>
|
||||
<input type="text" class="padd-right numeric-input item-field-label-short" data-dtype="Number"
|
||||
name="system.sante.vigueur" value="{{system.sante.vigueur}}">
|
||||
</li>
|
||||
<li class="item flexrow">
|
||||
<label class="label-name item-field-label-short">Etat</label>
|
||||
<select class="label-name item-field-label-medium" type="text" name="system.sante.etat" value="{{system.sante.etat}}" data-dtype="Number">
|
||||
{{#select system.sante.etat}}
|
||||
{{> systems/fvtt-hawkmoon-cyd/templates/partial-sante-etat.html}}
|
||||
{{/select}}
|
||||
<label class="label-name item-field-label-medium">Etat</label>
|
||||
<select class="label-name item-field-label-medium" type="text" name="system.sante.etat"
|
||||
value="{{system.sante.etat}}" data-dtype="Number">
|
||||
{{selectOptions combativiteList selected=system.sante.etat valueAttr="value" nameAttr="value" labelAttr="label"}}
|
||||
</select>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<h4 class="item-name-label competence-name">Combat</h4>
|
||||
<ul class="item-list alternate-list">
|
||||
<li class="item flexrow">
|
||||
<button class="chat-card-button roll-initiative">Initiative</button>
|
||||
<button class="chat-card-button roll-initiative">Initiative (actuelle : {{initiative}} )</button>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
@@ -103,14 +102,33 @@
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
|
||||
<h4 class="item-name-label competence-name">Vitesse</h4>
|
||||
<ul class="item-list alternate-list">
|
||||
<li class="item flexrow" data-adversite="{{key}}">
|
||||
<input type="text" class="padd-right numeric-input item-field-label-short" name="system.vitesse.value"
|
||||
value="{{system.vitesse.value}}" data-dtype="Number" />
|
||||
<li class="item flexrow">
|
||||
<label class="label-name item-field-label-long1">Niveaux de combativité</label>
|
||||
<input type="text" class="padd-right numeric-input item-field-label-short" data-dtype="Number"
|
||||
name="system.sante.nbcombativite" value="{{system.sante.nbcombativite}}">
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="item-list alternate-list">
|
||||
|
||||
<li class="item flexrow">
|
||||
<label class="item-field-label-short">Monté?</label>
|
||||
<input type="checkbox" name="system.combat.monte" {{checked system.combat.monte}} />
|
||||
<label class="item-field-label-short"> </label>
|
||||
<label class="item-field-label-medium">Défense totale?</label>
|
||||
<input type="checkbox" name="system.combat.defensetotale" {{checked system.combat.defensetotale}} />
|
||||
</li>
|
||||
<li class="item flexrow">
|
||||
<button class="chat-card-button roll-assommer">Assommer</button>
|
||||
<button class="chat-card-button roll-coup-bas">Coup bas</button>
|
||||
<button class="chat-card-button roll-immobiliser">Immobiliser</button>
|
||||
</li>
|
||||
<li class="item flexrow">
|
||||
<button class="chat-card-button roll-repousser">Repousser</button>
|
||||
<button class="chat-card-button roll-desengager">Se désengager</button>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
@@ -138,26 +156,37 @@
|
||||
{{#each skills as |skill key|}}
|
||||
<li class="item flexrow " data-item-id="{{skill._id}}" data-item-type="competence">
|
||||
<img class="item-name-img" src="{{skill.img}}" />
|
||||
<span class="item-name-label competence-name"><a class="roll-competence item-field-label-short"
|
||||
|
||||
<div class="flexcol item-name-label">
|
||||
|
||||
<span class="item-name-label competence-name"><a class="roll-competence item-field-label-short"
|
||||
data-attr-key="tochoose">{{skill.name}}</a></span>
|
||||
|
||||
<span class="predilection-text">
|
||||
{{#each skill.system.predilections as |pred key|}}
|
||||
{{#if (and pred.acquise (not pred.used))}}
|
||||
{{pred.name}},
|
||||
{{/if}}
|
||||
{{/each}}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<select class="status-small-label color-class-common edit-item-data competence-niveau" type="text"
|
||||
data-item-field="niveau" value="{{skill.system.niveau}}" data-dtype="Number">
|
||||
{{#select skill.system.niveau}}
|
||||
{{> systems/fvtt-hawkmoon-cyd/templates/partial-list-niveau.html}}
|
||||
{{/select}}
|
||||
{{selectOptions @root.config.listeNiveauCreature selected=skill.system.niveau}}
|
||||
</select>
|
||||
|
||||
{{#if (ne skill.system.attribut1 "none")}}
|
||||
<button class="roll-competence button-sheet-roll" data-attr-key="{{skill.system.attribut1}}">{{upper
|
||||
skill.system.attribut1}} : {{skill.system.attribut1total}}</button>
|
||||
<button class="roll-competence button-sheet-roll" data-attr-key="{{skill.system.attribut1}}">{{upper
|
||||
skill.system.attribut1}} : {{skill.system.attribut1total}}</button>
|
||||
{{/if}}
|
||||
{{#if (ne skill.system.attribut2 "none")}}
|
||||
<button class="roll-competence button-sheet-roll" data-attr-key="{{skill.system.attribut2}}">{{upper
|
||||
skill.system.attribut2}} : {{skill.system.attribut2total}}</button>
|
||||
<button class="roll-competence button-sheet-roll" data-attr-key="{{skill.system.attribut2}}">{{upper
|
||||
skill.system.attribut2}} : {{skill.system.attribut2total}}</button>
|
||||
{{/if}}
|
||||
{{#if (ne skill.system.attribut3 "none")}}
|
||||
<button class="roll-competence button-sheet-roll" data-attr-key="{{skill.system.attribut3}}">{{upper
|
||||
skill.system.attribut3}} : {{skill.system.attribut3total}}</button>
|
||||
<button class="roll-competence button-sheet-roll" data-attr-key="{{skill.system.attribut3}}">{{upper
|
||||
skill.system.attribut3}} : {{skill.system.attribut3total}}</button>
|
||||
{{/if}}
|
||||
|
||||
<div class="item-filler"> </div>
|
||||
@@ -189,13 +218,17 @@
|
||||
<label class="short-label">Résumé</label>
|
||||
</span>
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-add" data-type="talent" title="Ajouter un Talent"><i
|
||||
class="fas fa-plus"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{#each talents as |talent key|}}
|
||||
<li class="item flexrow " data-item-id="{{talent._id}}" data-item-type="competence">
|
||||
<li class="item flexrow " data-item-id="{{talent._id}}" data-item-type="talent">
|
||||
<img class="item-name-img" src="{{talent.img}}" />
|
||||
<span class="item-name-label competence-name">{{talent.name}}</span>
|
||||
<span class="item-name-label item-field-label-long2">{{talent.system.resumebonus}}</span>
|
||||
|
||||
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
|
||||
@@ -218,9 +251,13 @@
|
||||
<label class="short-label">Résumé</label>
|
||||
</span>
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-add" data-type="talent" title="Ajouter un Talent"><i
|
||||
class="fas fa-plus"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{#each talentsCell as |talent key|}}
|
||||
<li class="item flexrow " data-item-id="{{talent._id}}" data-item-type="competence">
|
||||
<li class="item flexrow " data-item-id="{{talent._id}}" data-item-type="talent">
|
||||
<img class="item-name-img" src="{{talent.img}}" />
|
||||
<span class="item-name-label competence-name">{{talent.name}}</span>
|
||||
<span class="item-name-label item-field-label-long2">{{talent.system.resumebonus}}</span>
|
||||
@@ -278,9 +315,10 @@
|
||||
|
||||
{{#if arme.system.isdefense}}
|
||||
<span class="item-field-label-short arme-defensif item-field-label-short"><label
|
||||
class="arme-defensif item-field-label-short">{{arme.system.totalDefensif}}</label></span>
|
||||
class="arme-defensif item-field-label-short defense-sheet">{{arme.system.totalDefensif}}</label></span>
|
||||
{{else}}
|
||||
<span class="item-field-label-short arme-defensif"><label class="item-field-label-short arme-defensif">-</label></span>
|
||||
<span class="item-field-label-short arme-defensif item-field-label-short"><label
|
||||
class="arme-defensif item-field-label-short defense-sheet">N/A</label></span>
|
||||
{{/if}}
|
||||
|
||||
<span class="item-field-label-short">
|
||||
@@ -293,10 +331,10 @@
|
||||
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-equip" title="Worn">{{#if arme.system.equipped}}<i
|
||||
<a class="item-control item-equip" title="Equipé">{{#if arme.system.equipped}}<i
|
||||
class="fas fa-circle"></i>{{else}}<i class="fas fa-genderless"></i>{{/if}}</a>
|
||||
<a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
<a class="item-control item-edit" title="Editer l'Item"><i class="fas fa-edit"></i></a>
|
||||
<a class="item-control item-delete" title="Supprimer l'Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
@@ -313,8 +351,8 @@
|
||||
<label class="short-label">Protection</label>
|
||||
</span>
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-add" data-type="arme" title="Ajouter une arme"><i
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-add" data-type="protection" title="Ajouter une arme"><i
|
||||
class="fas fa-plus"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
@@ -327,8 +365,10 @@
|
||||
</span>
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
<a class="item-control item-equip" title="Equipé">{{#if protection.system.equipped}}<i
|
||||
class="fas fa-circle"></i>{{else}}<i class="fas fa-genderless"></i>{{/if}}</a>
|
||||
<a class="item-control item-edit" title="Editer l'Item"><i class="fas fa-edit"></i></a>
|
||||
<a class="item-control item-delete" title="Supprimer l'Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
@@ -28,6 +28,7 @@
|
||||
{"name":"Gourde de cuir","type":"equipement","img":"systems/fvtt-hawkmoon-cyd/assets/icons/equipement.webp","system":{"description":"<p>1 litre</p>","prixpo":0,"prixca":0,"prixsc":5,"rarete":3,"equipped":false},"effects":[],"flags":{"core":{"sourceId":"Item.Bk7CwCfqllFJyRzo"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.286","createdTime":1667052151738,"modifiedTime":1667056681209,"lastModifiedBy":"aU5ncDYkHS7NmLl4"},"folder":null,"sort":0,"ownership":{"default":0,"aU5ncDYkHS7NmLl4":3},"_id":"BBHGx79XunHAqgLm"}
|
||||
{"name":"Anneau en argent","type":"equipement","img":"systems/fvtt-hawkmoon-cyd/assets/icons/equipement.webp","system":{"description":"","prixpo":0,"prixca":8,"prixsc":0,"rarete":7,"equipped":false},"effects":[],"flags":{"core":{"sourceId":"Item.euNUZvN2AaNQX5Eh"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.286","createdTime":1667053448337,"modifiedTime":1667056840190,"lastModifiedBy":"aU5ncDYkHS7NmLl4"},"folder":null,"sort":0,"ownership":{"default":0,"aU5ncDYkHS7NmLl4":3},"_id":"BDzR3nDpE58cpzMf"}
|
||||
{"name":"Ceinture de cuir","type":"equipement","img":"systems/fvtt-hawkmoon-cyd/assets/icons/equipement.webp","system":{"description":"","prixpo":0,"prixca":0,"prixsc":8,"rarete":3,"equipped":false},"effects":[],"flags":{"core":{"sourceId":"Item.zUMIT05ItRjqyXzx"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.286","createdTime":1667050981153,"modifiedTime":1667056547008,"lastModifiedBy":"aU5ncDYkHS7NmLl4"},"folder":null,"sort":0,"ownership":{"default":0,"aU5ncDYkHS7NmLl4":3},"_id":"BWpLFLDuRQTntKNW"}
|
||||
{"name":"Sous de Cuivre","type":"monnaie","img":"systems/fvtt-hawkmoon-cyd/assets/icons/monnaie.webp","system":{"description":"","prixpo":0,"prixca":0,"prixsc":1,"rarete":0,"quantite":1,"equipped":false},"effects":[],"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3},"flags":{"core":{"sourceId":"Item.BuH79gmBwS61TNMs"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.1.3","coreVersion":"10.291","createdTime":1670105962535,"modifiedTime":1670108270030,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"folder":null,"sort":0,"_id":"CUHVKLJStGcH1pfV"}
|
||||
{"name":"Écharpe de laine","type":"equipement","img":"systems/fvtt-hawkmoon-cyd/assets/icons/equipement.webp","system":{"description":"","prixpo":0,"prixca":0,"prixsc":3,"rarete":2,"equipped":false},"effects":[],"flags":{"core":{"sourceId":"Item.gu8GIe9rTpa30y0L"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.286","createdTime":1667051095332,"modifiedTime":1667056566818,"lastModifiedBy":"aU5ncDYkHS7NmLl4"},"folder":null,"sort":0,"ownership":{"default":0,"aU5ncDYkHS7NmLl4":3},"_id":"D4FStoSsSD5t1pyR"}
|
||||
{"name":"Antipoison","type":"equipement","img":"systems/fvtt-hawkmoon-cyd/assets/icons/equipement.webp","system":{"description":"<p>Effets et notes :</p>\n<p>Confère un bonus de + 5 au test de Soins pour stopper les effets d’un empoisonnement.</p>\n<p> </p>","prixpo":0,"prixca":20,"prixsc":0,"rarete":8,"equipped":false},"effects":[],"flags":{"core":{"sourceId":"Item.6JwVwbG95Jro0jyA"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.286","createdTime":1667056200587,"modifiedTime":1667056884888,"lastModifiedBy":"aU5ncDYkHS7NmLl4"},"folder":null,"sort":0,"ownership":{"default":0,"aU5ncDYkHS7NmLl4":3},"_id":"DEAaZnyqfZTSnj5l"}
|
||||
{"name":"Peigne en ivoire sculpté","type":"equipement","img":"systems/fvtt-hawkmoon-cyd/assets/icons/equipement.webp","system":{"description":"","prixpo":0,"prixca":100,"prixsc":0,"rarete":9,"equipped":false},"effects":[],"flags":{"core":{"sourceId":"Item.qO3PbRUDrBAsl9Eg"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.286","createdTime":1667052473087,"modifiedTime":1667056725327,"lastModifiedBy":"aU5ncDYkHS7NmLl4"},"folder":null,"sort":0,"ownership":{"default":0,"aU5ncDYkHS7NmLl4":3},"_id":"DWbXCgeKhtxBop5k"}
|
||||
@@ -97,6 +98,7 @@
|
||||
{"name":"Tambourin","type":"equipement","img":"systems/fvtt-hawkmoon-cyd/assets/icons/equipement.webp","system":{"description":"","prixpo":0,"prixca":2,"prixsc":0,"rarete":5,"equipped":false},"effects":[],"flags":{"core":{"sourceId":"Item.3w6hbSQaxhkKHeNK"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.286","createdTime":1667053372874,"modifiedTime":1667056832786,"lastModifiedBy":"aU5ncDYkHS7NmLl4"},"folder":null,"sort":0,"ownership":{"default":0,"aU5ncDYkHS7NmLl4":3},"_id":"gRXQlfeiJzEYGcRL"}
|
||||
{"name":"Robe de bal","type":"equipement","img":"systems/fvtt-hawkmoon-cyd/assets/icons/equipement.webp","system":{"description":"<p>Coût : 20 à 200 PA</p>","prixpo":0,"prixca":20,"prixsc":0,"rarete":8,"equipped":false},"effects":[],"flags":{"core":{"sourceId":"Item.oXhEGerIeFe5qWPe"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.286","createdTime":1667051286585,"modifiedTime":1667056586658,"lastModifiedBy":"aU5ncDYkHS7NmLl4"},"folder":null,"sort":0,"ownership":{"default":0,"aU5ncDYkHS7NmLl4":3},"_id":"gbG7p0z7UVXdfNSR"}
|
||||
{"name":"Cor de chasse en corne","type":"equipement","img":"systems/fvtt-hawkmoon-cyd/assets/icons/equipement.webp","system":{"description":"","prixpo":0,"prixca":2,"prixsc":0,"rarete":5,"equipped":false},"effects":[],"flags":{"core":{"sourceId":"Item.KEsLoT5TtwpUgb5g"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.286","createdTime":1667053304777,"modifiedTime":1667056825041,"lastModifiedBy":"aU5ncDYkHS7NmLl4"},"folder":null,"sort":0,"ownership":{"default":0,"aU5ncDYkHS7NmLl4":3},"_id":"hi1uIij2vnhblvyc"}
|
||||
{"name":"Pièce d'Or","type":"monnaie","img":"systems/fvtt-hawkmoon-cyd/assets/icons/monnaie.webp","system":{"description":"","prixpo":0,"prixca":0,"prixsc":400,"rarete":0,"quantite":1,"equipped":false},"effects":[],"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3},"flags":{"core":{"sourceId":"Item.arqqVEV5qwgVh1qz"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.1.3","coreVersion":"10.291","createdTime":1670105962535,"modifiedTime":1670108267437,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"folder":null,"sort":0,"_id":"iDsF5gfusUp56ffF"}
|
||||
{"name":"Sphère noire","type":"equipement","img":"systems/fvtt-hawkmoon-cyd/assets/icons/equipement.webp","system":{"description":"","prixpo":0,"prixca":30,"prixsc":0,"rarete":9,"equipped":false},"effects":[],"flags":{"core":{"sourceId":"Item.wgZufKzZs1mv6U7m"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.286","createdTime":1667053281244,"modifiedTime":1667056823317,"lastModifiedBy":"aU5ncDYkHS7NmLl4"},"folder":null,"sort":0,"ownership":{"default":0,"aU5ncDYkHS7NmLl4":3},"_id":"iTgpQBOfOLKOOIpx"}
|
||||
{"name":"Lampe à huile","type":"equipement","img":"systems/fvtt-hawkmoon-cyd/assets/icons/equipement.webp","system":{"description":"<p>durée huit heures</p>","prixpo":0,"prixca":0,"prixsc":15,"rarete":3,"equipped":false},"effects":[],"flags":{"core":{"sourceId":"Item.52qKfCHjAXnPd42R"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.286","createdTime":1667050221162,"modifiedTime":1667056522865,"lastModifiedBy":"aU5ncDYkHS7NmLl4"},"folder":null,"sort":0,"ownership":{"default":0,"aU5ncDYkHS7NmLl4":3},"_id":"k549mRHCTM5qvoAq"}
|
||||
{"name":"Parfum d’Italia","type":"equipement","img":"systems/fvtt-hawkmoon-cyd/assets/icons/equipement.webp","system":{"description":"","prixpo":1,"prixca":0,"prixsc":0,"rarete":8,"equipped":false},"effects":[],"flags":{"core":{"sourceId":"Item.nQpYaf3lVGlHWZDd"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.286","createdTime":1667053201541,"modifiedTime":1667056816027,"lastModifiedBy":"aU5ncDYkHS7NmLl4"},"folder":null,"sort":0,"ownership":{"default":0,"aU5ncDYkHS7NmLl4":3},"_id":"kimJnMkFr6mx2GR2"}
|
||||
@@ -110,6 +112,7 @@
|
||||
{"name":"Miroir","type":"equipement","img":"systems/fvtt-hawkmoon-cyd/assets/icons/equipement.webp","system":{"description":"","prixpo":0,"prixca":1,"prixsc":0,"rarete":5,"equipped":false},"effects":[],"flags":{"core":{"sourceId":"Item.w2y1ZIQwrq16pyro"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.286","createdTime":1667052391234,"modifiedTime":1667056715568,"lastModifiedBy":"aU5ncDYkHS7NmLl4"},"folder":null,"sort":0,"ownership":{"default":0,"aU5ncDYkHS7NmLl4":3},"_id":"oF4ctqBDkAw6gNkd"}
|
||||
{"name":"Nuit en dortoir sur une paillasse sale","type":"equipement","img":"systems/fvtt-hawkmoon-cyd/assets/icons/equipement.webp","system":{"description":"","prixpo":0,"prixca":0,"prixsc":3,"rarete":2,"equipped":false},"effects":[],"flags":{"core":{"sourceId":"Item.4GmLW6TqSQaDktX6"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.286","createdTime":1667049989473,"modifiedTime":1667056509383,"lastModifiedBy":"aU5ncDYkHS7NmLl4"},"folder":null,"sort":0,"ownership":{"default":0,"aU5ncDYkHS7NmLl4":3},"_id":"oOuBI5T6XB91aHCE"}
|
||||
{"name":"Pourpoint de cuir","type":"equipement","img":"systems/fvtt-hawkmoon-cyd/assets/icons/equipement.webp","system":{"description":"","prixpo":0,"prixca":3,"prixsc":0,"rarete":5,"equipped":false},"effects":[],"flags":{"core":{"sourceId":"Item.WzLzKVbZzw68cXko"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.286","createdTime":1667051273146,"modifiedTime":1667056584869,"lastModifiedBy":"aU5ncDYkHS7NmLl4"},"folder":null,"sort":0,"ownership":{"default":0,"aU5ncDYkHS7NmLl4":3},"_id":"oRg2ar1k6VMZpy77"}
|
||||
{"name":"Pièce d'Argent","type":"monnaie","img":"systems/fvtt-hawkmoon-cyd/assets/icons/monnaie.webp","system":{"description":"","prixpo":0,"prixca":0,"prixsc":20,"rarete":0,"quantite":1,"equipped":false},"effects":[],"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3},"flags":{"core":{"sourceId":"Item.I6sMdUOBJV7DuOB2"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.1.3","coreVersion":"10.291","createdTime":1670105962535,"modifiedTime":1670108264731,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"folder":null,"sort":0,"_id":"pHLxatpIeOjQ4SY9"}
|
||||
{"name":"Couverts en argent","type":"equipement","img":"systems/fvtt-hawkmoon-cyd/assets/icons/equipement.webp","system":{"description":"<p>un couteau, une fourchette, une cuiller</p>","prixpo":0,"prixca":30,"prixsc":0,"rarete":9,"equipped":false},"effects":[],"flags":{"core":{"sourceId":"Item.QszRAgf7F0ZSbN6z"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.286","createdTime":1667051873930,"modifiedTime":1667056657906,"lastModifiedBy":"aU5ncDYkHS7NmLl4"},"folder":null,"sort":0,"ownership":{"default":0,"aU5ncDYkHS7NmLl4":3},"_id":"pJAfqX7SieQmRGDF"}
|
||||
{"name":"Cataplasme miraculeux","type":"equipement","img":"systems/fvtt-hawkmoon-cyd/assets/icons/equipement.webp","system":{"description":"<p>crème de nanocompo\u0002sites régénérants – création technologique</p>\n<p><strong>Effets et notes :</strong><br>Permet de défausser jusqu’à 2 Adversités noires après (10 – Trempe) x 10 minutes.</p>","prixpo":0,"prixca":100,"prixsc":0,"rarete":10,"equipped":false},"effects":[],"flags":{"core":{"sourceId":"Item.6fA5jRN6HAXN3sLM"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.286","createdTime":1667055976728,"modifiedTime":1667056878533,"lastModifiedBy":"aU5ncDYkHS7NmLl4"},"folder":null,"sort":0,"ownership":{"default":0,"aU5ncDYkHS7NmLl4":3},"_id":"q6gtm9fNDyIWJ90X"}
|
||||
{"name":"Nuit sur le plancher de la salle commune ou à l’étable","type":"equipement","img":"systems/fvtt-hawkmoon-cyd/assets/icons/equipement.webp","system":{"description":"","prixpo":0,"prixca":0,"prixsc":1,"rarete":1,"equipped":false},"effects":[],"flags":{"core":{"sourceId":"Item.V0lq8ve5orlZBG3G"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.286","createdTime":1667049973754,"modifiedTime":1667056508034,"lastModifiedBy":"aU5ncDYkHS7NmLl4"},"folder":null,"sort":0,"ownership":{"default":0,"aU5ncDYkHS7NmLl4":3},"_id":"q8jVTrkQM9EDa6E1"}
|
||||
@@ -3,16 +3,16 @@
|
||||
* @extends {ActorSheet}
|
||||
*/
|
||||
|
||||
import { HawkmoonUtility } from "./hawkmoon-utility.js";
|
||||
import { HawkmoonAutomation } from "./hawkmoon-automation.js";
|
||||
import { HawkmoonUtility } from "../modules/hawkmoon-utility.js";
|
||||
import { HawkmoonAutomation } from "../modules/hawkmoon-automation.js";
|
||||
|
||||
/* -------------------------------------------- */
|
||||
export class HawkmoonActorSheet extends ActorSheet {
|
||||
export class HawkmoonActorSheet extends foundry.appv1.sheets.ActorSheet {
|
||||
|
||||
/** @override */
|
||||
static get defaultOptions() {
|
||||
|
||||
return mergeObject(super.defaultOptions, {
|
||||
return foundry.utils.mergeObject(super.defaultOptions, {
|
||||
classes: ["fvtt-hawkmoon-cyd", "sheet", "actor"],
|
||||
template: "systems/fvtt-hawkmoon-cyd/templates/actor-sheet.html",
|
||||
width: 640,
|
||||
@@ -25,7 +25,7 @@ export class HawkmoonActorSheet extends ActorSheet {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async getData() {
|
||||
const objectData = duplicate(this.object)
|
||||
const objectData = foundry.utils.duplicate(this.object)
|
||||
|
||||
let formData = {
|
||||
title: this.title,
|
||||
@@ -36,28 +36,37 @@ export class HawkmoonActorSheet extends ActorSheet {
|
||||
editable: this.isEditable,
|
||||
cssClass: this.isEditable ? "editable" : "locked",
|
||||
system: objectData.system,
|
||||
systemFields: this.document.system.schema.fields,
|
||||
effects: this.object.effects.map(e => foundry.utils.deepClone(e.data)),
|
||||
limited: this.object.limited,
|
||||
skills: this.actor.getSkills(),
|
||||
armes: duplicate(this.actor.getWeapons()),
|
||||
monnaies: duplicate(this.actor.getMonnaies()),
|
||||
protections: duplicate(this.actor.getArmors()),
|
||||
historique: duplicate(this.actor.getHistorique() || {}),
|
||||
talents: duplicate(this.actor.getTalents() || {}),
|
||||
armes: foundry.utils.duplicate(this.actor.getWeapons()),
|
||||
monnaies: foundry.utils.duplicate(this.actor.getMonnaies()),
|
||||
protections: foundry.utils.duplicate(this.actor.getArmors()),
|
||||
historiques: foundry.utils.duplicate(this.actor.getHistoriques() || []),
|
||||
talents: foundry.utils.duplicate(this.actor.getTalents() || []),
|
||||
mutations: foundry.utils.duplicate(this.actor.getMutations() || []),
|
||||
talentsCell: this.getCelluleTalents(),
|
||||
profils: duplicate(this.actor.getProfils() || {}),
|
||||
combat: this.actor.getCombatValues(),
|
||||
equipements: duplicate(this.actor.getEquipments()),
|
||||
description: await TextEditor.enrichHTML(this.object.system.biodata.description, {async: true}),
|
||||
habitat: await TextEditor.enrichHTML(this.object.system.biodata.habitat, {async: true}),
|
||||
profils: foundry.utils.duplicate(this.actor.getProfils() || []),
|
||||
combat: this.actor.getCombatValues(),
|
||||
equipements: foundry.utils.duplicate(this.actor.getEquipments()),
|
||||
artefacts: foundry.utils.duplicate(this.actor.getArtefacts()),
|
||||
richesse: this.actor.computeRichesse(),
|
||||
coupDevastateur: this.actor.items.find(it => it.type =="talent" && it.name.toLowerCase() == "coup devastateur" && !it.system.used),
|
||||
valeurEquipement: this.actor.computeValeurEquipement(),
|
||||
nbCombativite: this.actor.system.sante.nbcombativite,
|
||||
combativiteList: HawkmoonUtility.getCombativiteList(this.actor.system.sante.nbcombativite),
|
||||
initiative: this.actor.getFlag("world", "last-initiative") || -1,
|
||||
enrichedDescription: await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.object.system.biodata.description, {async: true}),
|
||||
habitat: await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.object.system.biodata.habitat, {async: true}),
|
||||
options: this.options,
|
||||
owner: this.document.isOwner,
|
||||
editScore: this.options.editScore,
|
||||
isGM: game.user.isGM
|
||||
isGM: game.user.isGM,
|
||||
config: game.system.hawkmoon.config
|
||||
}
|
||||
this.formData = formData;
|
||||
|
||||
console.log("PC : ", formData, this.object);
|
||||
return formData;
|
||||
}
|
||||
|
||||
@@ -82,14 +91,14 @@ export class HawkmoonActorSheet extends ActorSheet {
|
||||
|
||||
// Everything below here is only needed if the sheet is editable
|
||||
if (!this.options.editable) return;
|
||||
|
||||
|
||||
// Update Inventory Item
|
||||
html.find('.item-edit').click(ev => {
|
||||
const li = $(ev.currentTarget).parents(".item")
|
||||
let itemId = li.data("item-id")
|
||||
const item = this.actor.items.get( itemId )
|
||||
item.sheet.render(true)
|
||||
})
|
||||
})
|
||||
// Delete Inventory Item
|
||||
html.find('.item-delete').click(ev => {
|
||||
const li = $(ev.currentTarget).parents(".item");
|
||||
@@ -111,20 +120,17 @@ export class HawkmoonActorSheet extends ActorSheet {
|
||||
let value = Number($(event.currentTarget).data("adversite-value"))
|
||||
this.actor.incDecAdversite(adv, value)
|
||||
})
|
||||
|
||||
html.find('.quantity-minus').click(event => {
|
||||
const li = $(event.currentTarget).parents(".item");
|
||||
this.actor.incDecQuantity( li.data("item-id"), -1 );
|
||||
} );
|
||||
html.find('.quantity-plus').click(event => {
|
||||
const li = $(event.currentTarget).parents(".item");
|
||||
this.actor.incDecQuantity( li.data("item-id"), +1 );
|
||||
} );
|
||||
|
||||
html.find('.quantity-modify').click(event => {
|
||||
const li = $(event.currentTarget).parents(".item")
|
||||
const value = Number($(event.currentTarget).data("quantite-value"))
|
||||
this.actor.incDecQuantity( li.data("item-id"), value );
|
||||
})
|
||||
|
||||
html.find('.roll-initiative').click((event) => {
|
||||
this.actor.rollAttribut("pre", true)
|
||||
this.actor.rollAttribut("adr", true)
|
||||
})
|
||||
|
||||
|
||||
html.find('.roll-attribut').click((event) => {
|
||||
const li = $(event.currentTarget).parents(".item")
|
||||
let attrKey = li.data("attr-key")
|
||||
@@ -141,25 +147,46 @@ export class HawkmoonActorSheet extends ActorSheet {
|
||||
let armeId = li.data("item-id")
|
||||
this.actor.rollArmeOffensif(armeId)
|
||||
})
|
||||
|
||||
html.find('.roll-assommer').click((event) => {
|
||||
this.actor.rollAssommer()
|
||||
})
|
||||
html.find('.roll-coup-bas').click((event) => {
|
||||
this.actor.rollCoupBas()
|
||||
})
|
||||
html.find('.roll-immobiliser').click((event) => {
|
||||
this.actor.rollImmobiliser()
|
||||
})
|
||||
html.find('.roll-repousser').click((event) => {
|
||||
this.actor.rollRepousser()
|
||||
})
|
||||
html.find('.roll-desengager').click((event) => {
|
||||
this.actor.rollDesengager()
|
||||
})
|
||||
|
||||
html.find('.roll-arme-degats').click((event) => {
|
||||
const li = $(event.currentTarget).parents(".item")
|
||||
let armeId = li.data("item-id")
|
||||
this.actor.rollArmeDegats(armeId)
|
||||
})
|
||||
|
||||
|
||||
|
||||
html.find('.item-add').click((event) => {
|
||||
const itemType = $(event.currentTarget).data("type")
|
||||
this.actor.createEmbeddedDocuments('Item', [{ name: `Nouveau ${itemType}`, type: itemType }], { renderSheet: true })
|
||||
})
|
||||
|
||||
html.find('.lock-unlock-sheet').click((event) => {
|
||||
this.options.editScore = !this.options.editScore;
|
||||
this.render(true);
|
||||
});
|
||||
});
|
||||
html.find('.item-equip').click(ev => {
|
||||
const li = $(ev.currentTarget).parents(".item");
|
||||
this.actor.equipItem( li.data("item-id") );
|
||||
this.render(true);
|
||||
this.render(true);
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
|
||||
/* -------------------------------------------- */
|
||||
/** @override */
|
||||
setPosition(options = {}) {
|
||||
@@ -3,19 +3,19 @@
|
||||
* @extends {ActorSheet}
|
||||
*/
|
||||
|
||||
import { HawkmoonUtility } from "./hawkmoon-utility.js";
|
||||
import { HawkmoonAutomation } from "./hawkmoon-automation.js";
|
||||
import { HawkmoonUtility } from "../modules/hawkmoon-utility.js";
|
||||
import { HawkmoonAutomation } from "../modules/hawkmoon-automation.js";
|
||||
|
||||
/* -------------------------------------------- */
|
||||
const __ALLOWED_ITEM_CELLULE = { "talent": 1, "ressource": 1, "contact": 1}
|
||||
const __ALLOWED_ITEM_CELLULE = { "talent": 1, "ressource": 1, "contact": 1, "equipement": 1, "protection": 1, "artefact": 1, "arme": 1, "monnaie": 1 }
|
||||
|
||||
/* -------------------------------------------- */
|
||||
export class HawkmoonCelluleSheet extends ActorSheet {
|
||||
export class HawkmoonCelluleSheet extends foundry.appv1.sheets.ActorSheet {
|
||||
|
||||
/** @override */
|
||||
static get defaultOptions() {
|
||||
|
||||
return mergeObject(super.defaultOptions, {
|
||||
return foundry.utils.mergeObject(super.defaultOptions, {
|
||||
classes: ["fvtt-hawkmoon-cyd", "sheet", "actor"],
|
||||
template: "systems/fvtt-hawkmoon-cyd/templates/cellule-sheet.html",
|
||||
width: 640,
|
||||
@@ -28,7 +28,7 @@ export class HawkmoonCelluleSheet extends ActorSheet {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async getData() {
|
||||
const objectData = duplicate(this.object)
|
||||
const objectData = foundry.utils.duplicate(this.object)
|
||||
|
||||
let formData = {
|
||||
title: this.title,
|
||||
@@ -41,15 +41,23 @@ export class HawkmoonCelluleSheet extends ActorSheet {
|
||||
system: objectData.system,
|
||||
effects: this.object.effects.map(e => foundry.utils.deepClone(e.data)),
|
||||
limited: this.object.limited,
|
||||
talents: duplicate(this.actor.getTalents() || {}),
|
||||
ressources: duplicate(this.actor.getRessources()),
|
||||
contacts: duplicate(this.actor.getContacts()),
|
||||
talents: foundry.utils.duplicate(this.actor.getTalents() || {}),
|
||||
ressources: foundry.utils.duplicate(this.actor.getRessources()),
|
||||
contacts: foundry.utils.duplicate(this.actor.getContacts()),
|
||||
members: this.getMembers(),
|
||||
equipements: foundry.utils.duplicate(this.actor.getEquipments()),
|
||||
artefacts: foundry.utils.duplicate(this.actor.getArtefacts()),
|
||||
armes: foundry.utils.duplicate(this.actor.getWeapons()),
|
||||
monnaies: foundry.utils.duplicate(this.actor.getMonnaies()),
|
||||
protections: foundry.utils.duplicate(this.actor.getArmors()),
|
||||
richesse: this.actor.computeRichesse(),
|
||||
valeurEquipement: this.actor.computeValeurEquipement(),
|
||||
description: await TextEditor.enrichHTML(this.object.system.description, { async: true }),
|
||||
options: this.options,
|
||||
owner: this.document.isOwner,
|
||||
editScore: this.options.editScore,
|
||||
isGM: game.user.isGM
|
||||
isGM: game.user.isGM,
|
||||
config: game.system.hawkmoon.config
|
||||
}
|
||||
this.formData = formData;
|
||||
|
||||
@@ -87,7 +95,7 @@ export class HawkmoonCelluleSheet extends ActorSheet {
|
||||
let actorId = li.data("actor-id")
|
||||
this.actor.removeMember(actorId)
|
||||
})
|
||||
|
||||
|
||||
// Update Inventory Item
|
||||
html.find('.item-edit').click(ev => {
|
||||
const li = $(ev.currentTarget).parents(".item")
|
||||
@@ -109,15 +117,15 @@ export class HawkmoonCelluleSheet extends ActorSheet {
|
||||
let value = ev.currentTarget.value
|
||||
this.actor.editItemField(itemId, itemType, itemField, dataType, value)
|
||||
})
|
||||
|
||||
html.find('.quantity-minus').click(event => {
|
||||
const li = $(event.currentTarget).parents(".item");
|
||||
this.actor.incDecQuantity(li.data("item-id"), -1);
|
||||
});
|
||||
html.find('.quantity-plus').click(event => {
|
||||
const li = $(event.currentTarget).parents(".item");
|
||||
this.actor.incDecQuantity(li.data("item-id"), +1);
|
||||
});
|
||||
html.find('.quantity-modify').click(event => {
|
||||
const li = $(event.currentTarget).parents(".item")
|
||||
const value = Number($(event.currentTarget).data("quantite-value"))
|
||||
this.actor.incDecQuantity( li.data("item-id"), value );
|
||||
})
|
||||
html.find('.item-add').click((event) => {
|
||||
const itemType = $(event.currentTarget).data("type")
|
||||
this.actor.createEmbeddedDocuments('Item', [{ name: `Nouveau ${itemType}`, type: itemType }], { renderSheet: true })
|
||||
})
|
||||
|
||||
html.find('.lock-unlock-sheet').click((event) => {
|
||||
this.options.editScore = !this.options.editScore;
|
||||
@@ -128,7 +136,7 @@ export class HawkmoonCelluleSheet extends ActorSheet {
|
||||
/* -------------------------------------------- */
|
||||
async _onDropActor(event, dragData) {
|
||||
const actor = fromUuidSync(dragData.uuid)
|
||||
if (actor) {
|
||||
if (actor) {
|
||||
this.actor.addMember(actor.id)
|
||||
} else {
|
||||
ui.notifications.warn("Cet acteur n'a pas été trouvé.")
|
||||
@@ -148,7 +156,7 @@ export class HawkmoonCelluleSheet extends ActorSheet {
|
||||
super._onDropItem(event, dragData)
|
||||
return
|
||||
}
|
||||
ui.notifications("Ce type d'item n'est pas autorisé sur une Cellule.")
|
||||
ui.notification.info("Ce type d'item n'est pas autorisé sur une Cellule.")
|
||||
}
|
||||
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
*/
|
||||
|
||||
import { HawkmoonActorSheet } from "./hawkmoon-actor-sheet.js";
|
||||
import { HawkmoonUtility } from "./hawkmoon-utility.js";
|
||||
import { HawkmoonAutomation } from "./hawkmoon-automation.js";
|
||||
import { HawkmoonUtility } from "../modules/hawkmoon-utility.js";
|
||||
import { HawkmoonAutomation } from "../modules/hawkmoon-automation.js";
|
||||
|
||||
/* -------------------------------------------- */
|
||||
export class HawkmoonCreatureSheet extends HawkmoonActorSheet {
|
||||
@@ -13,7 +13,7 @@ export class HawkmoonCreatureSheet extends HawkmoonActorSheet {
|
||||
/** @override */
|
||||
static get defaultOptions() {
|
||||
|
||||
return mergeObject(super.defaultOptions, {
|
||||
return foundry.utils.mergeObject(super.defaultOptions, {
|
||||
classes: ["fvtt-hawkmoon-cyd", "sheet", "actor"],
|
||||
template: "systems/fvtt-hawkmoon-cyd/templates/creature-sheet.html",
|
||||
width: 640,
|
||||
@@ -4,12 +4,12 @@ import { HawkmoonUtility } from "./hawkmoon-utility.js";
|
||||
* Extend the basic ItemSheet with some very simple modifications
|
||||
* @extends {ItemSheet}
|
||||
*/
|
||||
export class HawkmoonItemSheet extends ItemSheet {
|
||||
export class HawkmoonItemSheet extends foundry.appv1.sheets.ItemSheet {
|
||||
|
||||
/** @override */
|
||||
static get defaultOptions() {
|
||||
|
||||
return mergeObject(super.defaultOptions, {
|
||||
return foundry.utils.mergeObject(super.defaultOptions, {
|
||||
classes: ["fvtt-hawkmoon-cyd", "sheet", "item"],
|
||||
template: "systems/fvtt-hawkmoon-cyd/templates/item-sheet.html",
|
||||
dragDrop: [{ dragSelector: null, dropSelector: null }],
|
||||
@@ -48,7 +48,7 @@ export class HawkmoonItemSheet extends ItemSheet {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async getData() {
|
||||
const objectData = duplicate(this.object)
|
||||
const objectData = foundry.utils.duplicate(this.object)
|
||||
let formData = {
|
||||
title: this.title,
|
||||
id: this.id,
|
||||
@@ -64,7 +64,8 @@ export class HawkmoonItemSheet extends ItemSheet {
|
||||
owner: this.document.isOwner,
|
||||
description: await TextEditor.enrichHTML(this.object.system.description, {async: true}),
|
||||
mr: (this.object.type == 'specialisation'),
|
||||
isGM: game.user.isGM
|
||||
isGM: game.user.isGM,
|
||||
config: game.system.hawkmoon.config
|
||||
}
|
||||
|
||||
if ( objectData.type == "don") {
|
||||
@@ -89,7 +90,7 @@ export class HawkmoonItemSheet extends ItemSheet {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
postItem() {
|
||||
let chatData = duplicate(HawkmoonUtility.data(this.item));
|
||||
let chatData = foundry.utils.duplicate(HawkmoonUtility.data(this.item));
|
||||
if (this.actor) {
|
||||
chatData.actor = { id: this.actor.id };
|
||||
}
|
||||
@@ -132,7 +133,7 @@ export class HawkmoonItemSheet extends ItemSheet {
|
||||
html.find('.edit-predilection').change(ev => {
|
||||
const li = $(ev.currentTarget).parents(".prediction-item")
|
||||
let index = li.data("prediction-index")
|
||||
let pred = duplicate(this.object.system.predilections)
|
||||
let pred = foundry.utils.duplicate(this.object.system.predilections)
|
||||
pred[index].name = ev.currentTarget.value
|
||||
pred[index].id = pred[index].id || randomID(16)
|
||||
this.object.update( { 'system.predilections': pred })
|
||||
@@ -140,70 +141,70 @@ export class HawkmoonItemSheet extends ItemSheet {
|
||||
html.find('.edit-predilection-description').change(ev => {
|
||||
const li = $(ev.currentTarget).parents(".prediction-item")
|
||||
let index = li.data("prediction-index")
|
||||
let pred = duplicate(this.object.system.predilections)
|
||||
let pred = foundry.utils.duplicate(this.object.system.predilections)
|
||||
pred[index].description = ev.currentTarget.value
|
||||
pred[index].id = pred[index].id || randomID(16)
|
||||
this.object.update( { 'system.predilections': pred })
|
||||
})
|
||||
})
|
||||
html.find('.predilection-acquise').change(ev => {
|
||||
const li = $(ev.currentTarget).parents(".prediction-item")
|
||||
let index = li.data("prediction-index")
|
||||
let pred = duplicate(this.object.system.predilections)
|
||||
let pred = foundry.utils.duplicate(this.object.system.predilections)
|
||||
pred[index].acquise = ev.currentTarget.checked
|
||||
pred[index].id = pred[index].id || randomID(16)
|
||||
this.object.update( { 'system.predilections': pred })
|
||||
})
|
||||
})
|
||||
html.find('.predilection-maitrise').change(ev => {
|
||||
const li = $(ev.currentTarget).parents(".prediction-item")
|
||||
let index = li.data("prediction-index")
|
||||
let pred = duplicate(this.object.system.predilections)
|
||||
let pred = foundry.utils.duplicate(this.object.system.predilections)
|
||||
pred[index].maitrise = ev.currentTarget.checked
|
||||
pred[index].id = pred[index].id || randomID(16)
|
||||
this.object.update( { 'system.predilections': pred })
|
||||
})
|
||||
})
|
||||
html.find('.predilection-used').change(ev => {
|
||||
const li = $(ev.currentTarget).parents(".prediction-item")
|
||||
let index = li.data("prediction-index")
|
||||
let pred = duplicate(this.object.system.predilections)
|
||||
let pred = foundry.utils.duplicate(this.object.system.predilections)
|
||||
pred[index].used = ev.currentTarget.checked
|
||||
pred[index].id = pred[index].id || randomID(16)
|
||||
this.object.update( { 'system.predilections': pred })
|
||||
})
|
||||
|
||||
})
|
||||
|
||||
html.find('#add-predilection').click(ev => {
|
||||
let pred = duplicate(this.object.system.predilections)
|
||||
pred.push( { name: "Nouvelle prédilection", id: randomID(16), used: false })
|
||||
let pred = foundry.utils.duplicate(this.object.system.predilections)
|
||||
pred.push( { name: "Nouvelle prédilection", id: randomID(16), used: false })
|
||||
this.object.update( { 'system.predilections': pred })
|
||||
})
|
||||
html.find('.delete-prediction').click(ev => {
|
||||
const li = $(ev.currentTarget).parents(".prediction-item")
|
||||
let index = li.data("prediction-index")
|
||||
let pred = duplicate(this.object.system.predilections)
|
||||
let pred = foundry.utils.duplicate(this.object.system.predilections)
|
||||
pred.splice(index,1)
|
||||
this.object.update( { 'system.predilections': pred })
|
||||
})
|
||||
|
||||
html.find('#add-automation').click(ev => {
|
||||
let autom = duplicate(this.object.system.automations)
|
||||
autom.push( { eventtype: "on-drop", name: "Automatisation 1", competence: "", minLevel: 0, id: randomID(16) })
|
||||
let autom = foundry.utils.duplicate(this.object.system.automations)
|
||||
autom.push( { eventtype: "on-drop", name: "Automatisation 1", bonusname: "vigueur", bonus: 0, competence: "", minLevel: 0, baCost: 0, id: randomID(16) })
|
||||
this.object.update( { 'system.automations': autom })
|
||||
})
|
||||
html.find('.delete-automation').click(ev => {
|
||||
const li = $(ev.currentTarget).parents(".automation-item")
|
||||
let index = li.data("automation-index")
|
||||
let autom = duplicate(this.object.system.automations)
|
||||
let autom = foundry.utils.duplicate(this.object.system.automations)
|
||||
autom.splice(index,1)
|
||||
this.object.update( { 'system.automations': autom })
|
||||
})
|
||||
html.find('.automation-edit-field').change(ev => {
|
||||
let index = $(ev.currentTarget).data("automation-index")
|
||||
let field = $(ev.currentTarget).data("automation-field")
|
||||
let auto = duplicate(this.object.system.automations)
|
||||
let auto = foundry.utils.duplicate(this.object.system.automations)
|
||||
auto[index][field] = ev.currentTarget.value
|
||||
auto[index].id = auto[index].id || randomID(16)
|
||||
this.object.update( { 'system.automations': auto })
|
||||
})
|
||||
|
||||
})
|
||||
|
||||
// Update Inventory Item
|
||||
html.find('.item-delete').click(ev => {
|
||||
const li = $(ev.currentTarget).parents(".item");
|
||||
143
_deprecated/hawkmoon-roll-dialog.js
Normal file
143
_deprecated/hawkmoon-roll-dialog.js
Normal file
@@ -0,0 +1,143 @@
|
||||
import { HawkmoonUtility } from "../modules/hawkmoon-utility.js";
|
||||
|
||||
export class HawkmoonRollDialog extends Dialog {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static async create(actor, rollData) {
|
||||
|
||||
let options = { classes: ["HawkmoonDialog"], width: 420, height: 'fit-content', 'z-index': 99999 };
|
||||
let html = await foundry.applications.handlebars.renderTemplate('systems/fvtt-hawkmoon-cyd/templates/roll-dialog-generic.html', rollData);
|
||||
|
||||
return new HawkmoonRollDialog(actor, rollData, html, options);
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
constructor(actor, rollData, html, options, close = undefined) {
|
||||
let conf = {
|
||||
title: "Test de Capacité",
|
||||
content: html,
|
||||
buttons: {
|
||||
rolld10: {
|
||||
icon: '<i class="fas fa-check"></i>',
|
||||
label: "Lancer 1d10",
|
||||
callback: () => { this.roll("d10") }
|
||||
},
|
||||
rolld20: {
|
||||
icon: '<i class="fas fa-check"></i>',
|
||||
label: "Lancer 1d20",
|
||||
callback: () => { this.roll("d20") }
|
||||
},
|
||||
cancel: {
|
||||
icon: '<i class="fas fa-times"></i>',
|
||||
label: "Annuler",
|
||||
callback: () => { this.close() }
|
||||
}
|
||||
},
|
||||
close: close
|
||||
}
|
||||
|
||||
super(conf, options);
|
||||
|
||||
this.actor = actor
|
||||
this.rollData = rollData
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
roll(dice) {
|
||||
this.rollData.mainDice = dice
|
||||
HawkmoonUtility.rollHawkmoon(this.rollData)
|
||||
}
|
||||
|
||||
|
||||
/* -------------------------------------------- */
|
||||
activateListeners(html) {
|
||||
super.activateListeners(html);
|
||||
|
||||
var dialog = this;
|
||||
function onLoad() {
|
||||
}
|
||||
$(function () { onLoad(); });
|
||||
|
||||
html.find('#modificateur').change(async (event) => {
|
||||
this.rollData.modificateur = Number(event.currentTarget.value)
|
||||
})
|
||||
html.find('#difficulte').change((event) => {
|
||||
console.log("Difficulte: " + event.currentTarget.value)
|
||||
this.rollData.difficulte = Number(event.currentTarget.value)
|
||||
})
|
||||
html.find('#attrKey').change(async (event) => {
|
||||
this.rollData.attrKey = String(event.currentTarget.value)
|
||||
})
|
||||
html.find('#attrKey2').change(async (event) => {
|
||||
this.rollData.attrKey2 = String(event.currentTarget.value)
|
||||
})
|
||||
html.find('#select-maitrise').change(async (event) => {
|
||||
this.rollData.maitriseId = String(event.currentTarget.value)
|
||||
})
|
||||
html.find('#competence-talents').change((event) => {
|
||||
this.rollData.selectedTalents = $('#competence-talents').val()
|
||||
})
|
||||
html.find('#taille-cible').change((event) => {
|
||||
this.rollData.tailleCible = String(event.currentTarget.value)
|
||||
})
|
||||
html.find('#tireur-deplacement').change((event) => {
|
||||
this.rollData.tireurDeplacement = String(event.currentTarget.value)
|
||||
})
|
||||
html.find('#cible-couvert').change((event) => {
|
||||
this.rollData.cibleCouvert = String(event.currentTarget.value)
|
||||
})
|
||||
html.find('#distance-tir').change((event) => {
|
||||
this.rollData.distanceTir = String(event.currentTarget.value)
|
||||
})
|
||||
html.find('#bonus-malus-context').change((event) => {
|
||||
this.rollData.bonusMalusContext = Number(event.currentTarget.value)
|
||||
})
|
||||
html.find('#defenseur-au-sol').change((event) => {
|
||||
this.rollData.defenseurAuSol = event.currentTarget.checked
|
||||
})
|
||||
html.find('#ambidextre-1').change((event) => {
|
||||
this.rollData.ambidextre1 = event.currentTarget.checked
|
||||
})
|
||||
html.find('#ambidextre-2').change((event) => {
|
||||
this.rollData.ambidextre2 = event.currentTarget.checked
|
||||
})
|
||||
html.find('#attaque-monte').change((event) => {
|
||||
this.rollData.attqueMonte = event.currentTarget.checked
|
||||
})
|
||||
html.find('#defenseur-aveugle').change((event) => {
|
||||
this.rollData.defenseurAveugle = event.currentTarget.checked
|
||||
})
|
||||
html.find('#defenseur-de-dos').change((event) => {
|
||||
this.rollData.defenseurDeDos = event.currentTarget.checked
|
||||
})
|
||||
html.find('#defenseur-restreint').change((event) => {
|
||||
this.rollData.defenseurRestreint = event.currentTarget.checked
|
||||
})
|
||||
html.find('#defenseur-immobilise').change((event) => {
|
||||
this.rollData.defenseurImmobilise = event.currentTarget.checked
|
||||
})
|
||||
html.find('#attaque-charge').change((event) => {
|
||||
this.rollData.attaqueCharge = event.currentTarget.checked
|
||||
})
|
||||
html.find('#charge-cavalerie').change((event) => {
|
||||
this.rollData.chargeCavalerie = event.currentTarget.checked
|
||||
})
|
||||
html.find('#attaquants-multiple').change((event) => {
|
||||
this.rollData.attaquantsMultiples = event.currentTarget.checked
|
||||
})
|
||||
html.find('#soutiens').change((event) => {
|
||||
this.rollData.soutiens = Number(event.currentTarget.value)
|
||||
})
|
||||
html.find('#feinte').change((event) => {
|
||||
this.rollData.feinte = event.currentTarget.checked
|
||||
})
|
||||
html.find('#contenir').change((event) => {
|
||||
this.rollData.contenir = event.currentTarget.checked
|
||||
})
|
||||
html.find('#attaque-desarme').change((event) => {
|
||||
this.rollData.attaqueDesarme = event.currentTarget.checked
|
||||
})
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
36
_deprecated/partial-actor-equipment.html
Normal file
36
_deprecated/partial-actor-equipment.html
Normal file
@@ -0,0 +1,36 @@
|
||||
<li
|
||||
class="item flexrow list-item list-item-shadow"
|
||||
data-item-id="{{equip._id}}"
|
||||
>
|
||||
<a class="item-edit item-name-img" title="Edit Item"
|
||||
><img class="sheet-competence-img" src="{{equip.img}}"
|
||||
/></a>
|
||||
{{#if (eq level 1)}}
|
||||
<span class="item-name-label">{{equip.name}}</span>
|
||||
{{else}}
|
||||
<span class="item-name-label-level2">{{equip.name}}</span>
|
||||
{{/if}}
|
||||
|
||||
<span class="item-field-label-long"
|
||||
><label>
|
||||
{{equip.system.quantity}} (<a class="quantity-minus plus-minus-button">
|
||||
-</a
|
||||
>/<a class="quantity-plus plus-minus-button">+</a>)
|
||||
</label>
|
||||
</span>
|
||||
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
{{#if (eq level 1)}}
|
||||
<a class="item-control item-equip" title="Worn"
|
||||
>{{#if equip.system.equipped}}<i class="fas fa-circle"></i>{{else}}<i
|
||||
class="fas fa-genderless"
|
||||
></i
|
||||
>{{/if}}</a
|
||||
>
|
||||
{{/if}}
|
||||
<a class="item-control item-delete" title="Delete Item"
|
||||
><i class="fas fa-trash"></i
|
||||
></a>
|
||||
</div>
|
||||
</li>
|
||||
334
_deprecated/roll-dialog-generic.html
Normal file
334
_deprecated/roll-dialog-generic.html
Normal file
@@ -0,0 +1,334 @@
|
||||
<form class="skill-roll-dialog">
|
||||
<header class="roll-dialog-header">
|
||||
{{#if img}}
|
||||
<img class="actor-icon" src="{{img}}" data-edit="img" title="{{name}}" />
|
||||
{{/if}}
|
||||
<h1 class="dialog-roll-title roll-dialog-header">{{title}}</h1>
|
||||
</header>
|
||||
|
||||
<div class="flexcol">
|
||||
<div class="flexrow">
|
||||
{{#if (eq attrKey "tochoose")}}
|
||||
<span class="roll-dialog-label"><strong>Attribut</strong></span>
|
||||
<select
|
||||
class="status-small-label color-class-common"
|
||||
id="attrKey"
|
||||
type="text"
|
||||
name="attrKey"
|
||||
value="attrKey"
|
||||
data-dtype="string"
|
||||
>
|
||||
{{selectOptions attributs selected=attrKey}}
|
||||
</select>
|
||||
{{else}}
|
||||
<span class="roll-dialog-label"><strong>{{attr.label}}</strong></span>
|
||||
<span class="small-label roll-dialog-label">{{attr.value}}</span>
|
||||
{{/if}}
|
||||
</div>
|
||||
|
||||
{{#if nbAdversites}}
|
||||
<div class="flexrow">
|
||||
<span class="roll-dialog-label"><strong>Malus d'adversités</strong></span>
|
||||
<span class="small-label roll-dialog-label">- {{nbAdversites}}</span>
|
||||
</div>
|
||||
{{/if}} {{#if competence}}
|
||||
<div class="flexrow">
|
||||
<span class="roll-dialog-label"><strong>{{competence.name}}</strong></span>
|
||||
<span class="small-label roll-dialog-label"><strong>{{competence.system.niveau}}</strong></span>
|
||||
</div>
|
||||
{{#if maitrises}}
|
||||
<div class="flexrow">
|
||||
<span class="roll-dialog-label"><strong>Maîtrise</strong></span>
|
||||
<select
|
||||
class="status-small-label color-class-common"
|
||||
id="select-maitrise"
|
||||
type="text"
|
||||
name="select-maitrise"
|
||||
value="maitriseId"
|
||||
data-dtype="string"
|
||||
>
|
||||
{{selectOptions maitrises selected=maitriseId valueAttr="key"
|
||||
nameAttr="key" labelAttr="label"}}
|
||||
</select>
|
||||
</div>
|
||||
{{/if}} {{else}}
|
||||
<div class="flexrow">
|
||||
<span class="roll-dialog-label"><strong>Second Attribut</strong></span>
|
||||
<select
|
||||
class="status-small-label color-class-common"
|
||||
id="attrKey2"
|
||||
type="text"
|
||||
name="attrKey2"
|
||||
value="attrKey2"
|
||||
data-dtype="string"
|
||||
>
|
||||
{{#select attrKey2}}
|
||||
<option value="none">Aucun</option>
|
||||
{{#each attributs as |attrLabel attrKey|}}
|
||||
<option value="{{attrKey}}">{{attrLabel}}</option>
|
||||
{{/each}} {{/select}}
|
||||
</select>
|
||||
</div>
|
||||
{{/if}} {{#if (count talents)}}
|
||||
<div class="flexrow">
|
||||
<span class="roll-dialog-label"><strong></strong>Talents</strong></span>
|
||||
<select
|
||||
class="flex1"
|
||||
name="competence-talents"
|
||||
id="competence-talents"
|
||||
data-type="String"
|
||||
multiple
|
||||
>
|
||||
{{#each talents as |talent key|}}
|
||||
<option value="{{talent._id}}">{{talent.name}}</option>
|
||||
{{/each}}
|
||||
</select>
|
||||
</div>
|
||||
{{/if}} {{#if conditionsCommunes}}
|
||||
<div class="flexrow">
|
||||
<span class="roll-dialog-label">En surplomb, défenseur au sol (+3)?</span>
|
||||
<input type="checkbox" id="defenseur-au-sol" {{checked defenseurAuSol}} />
|
||||
</div>
|
||||
<div class="flexrow">
|
||||
<span class="roll-dialog-label">Défenseur aveuglé (+10)?</span>
|
||||
<input
|
||||
type="checkbox"
|
||||
id="defenseur-aveugle"
|
||||
{{checked
|
||||
defenseurAveugle}}
|
||||
/>
|
||||
</div>
|
||||
<div class="flexrow">
|
||||
<span class="roll-dialog-label">Défenseur de dos (+5)?</span>
|
||||
<input type="checkbox" id="defenseur-de-dos" {{checked defenseurDeDos}} />
|
||||
</div>
|
||||
<div class="flexrow">
|
||||
<span class="roll-dialog-label">Défenseur immobilisé (+5)?</span>
|
||||
<input
|
||||
type="checkbox"
|
||||
id="defenseur-immobilise"
|
||||
{{checked
|
||||
defenseurImmobilise}}
|
||||
/>
|
||||
</div>
|
||||
{{/if}} {{#if (or immobiliser repousser)}}
|
||||
<div class="flexrow">
|
||||
<span class="roll-dialog-label">Cible consciente?</span>
|
||||
<input type="checkbox" id="cibleconsciente" {{checked cibleconsciente}} />
|
||||
</div>
|
||||
{{/if}} {{#if arme}} {{#if arme.system.isMelee}} {{#if bonusArmeNaturelle}}
|
||||
<div class="flexrow">
|
||||
<span class="roll-dialog-label">Arme naturelle/fortune en défense</span>
|
||||
<span class="small-label roll-dialog-label">{{bonusArmeNaturelle}}</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
<div class="flexrow">
|
||||
<span class="roll-dialog-label">En surplomb, défenseur au sol (+3)?</span>
|
||||
<input type="checkbox" id="defenseur-au-sol" {{checked defenseurAuSol}} />
|
||||
</div>
|
||||
<div class="flexrow">
|
||||
<span class="roll-dialog-label"
|
||||
>Attaquants multiples (après le premier) (+3)?</span
|
||||
>
|
||||
<input
|
||||
type="checkbox"
|
||||
id="attaquants-multiple"
|
||||
{{checked
|
||||
attaquantsMultiples}}
|
||||
/>
|
||||
</div>
|
||||
{{#if hasAmbidextre}}
|
||||
<div class="flexrow">
|
||||
<span class="roll-dialog-label"
|
||||
>Première attaque avec deux armes (-3)?</span
|
||||
>
|
||||
<input type="checkbox" id="ambidextre-1" {{checked attaqueAmbidextre1}} />
|
||||
</div>
|
||||
<div class="flexrow">
|
||||
<span class="roll-dialog-label"
|
||||
>Seconde attaque avec deux armes (-6)?</span
|
||||
>
|
||||
<input type="checkbox" id="ambidextre-2" {{checked attaqueAmbidextre2}} />
|
||||
</div>
|
||||
{{/if}} {{#if hasFeinte}}
|
||||
<div class="flexrow">
|
||||
<span class="roll-dialog-label"
|
||||
>Feinte (<strong>cout : 1 BA</strong>) ?</span
|
||||
>
|
||||
<input type="checkbox" id="feinte" {{checked feinte}} />
|
||||
</div>
|
||||
{{/if}}
|
||||
<div class="flexrow">
|
||||
<span class="roll-dialog-label"><strong></strong>Soutiens</strong></span>
|
||||
<select
|
||||
class="status-small-label color-class-common"
|
||||
name="soutiens"
|
||||
id="soutiens"
|
||||
data-type="Number"
|
||||
>
|
||||
{{selectOptions config.optionsSoutiens selected=soutiens valueAttr="key"
|
||||
nameAttr="key" labelAttr="label"}}
|
||||
</select>
|
||||
</div>
|
||||
<div class="flexrow">
|
||||
<span class="roll-dialog-label">Défenseur aveuglé (+10)?</span>
|
||||
<input
|
||||
type="checkbox"
|
||||
id="defenseur-aveugle"
|
||||
{{checked
|
||||
defenseurAveugle}}
|
||||
/>
|
||||
</div>
|
||||
<div class="flexrow">
|
||||
<span class="roll-dialog-label">Défenseur de dos (+5)?</span>
|
||||
<input type="checkbox" id="defenseur-de-dos" {{checked defenseurDeDos}} />
|
||||
</div>
|
||||
<div class="flexrow">
|
||||
<span class="roll-dialog-label"
|
||||
>Défenseur dans espace restreint (+3)?</span
|
||||
>
|
||||
<input
|
||||
type="checkbox"
|
||||
id="defenseur-restreint"
|
||||
{{checked
|
||||
defenseurRestreint}}
|
||||
/>
|
||||
</div>
|
||||
<div class="flexrow">
|
||||
<span class="roll-dialog-label">Défenseur immobilisé (+5)?</span>
|
||||
<input
|
||||
type="checkbox"
|
||||
id="defenseur-immobilise"
|
||||
{{checked
|
||||
defenseurImmobilise}}
|
||||
/>
|
||||
</div>
|
||||
<div class="flexrow">
|
||||
<span class="roll-dialog-label">Charge ?</span>
|
||||
<input type="checkbox" id="attaque-charge" {{checked attaqueCharge}} />
|
||||
</div>
|
||||
<div class="flexrow">
|
||||
<span class="roll-dialog-label">Contenir?</span>
|
||||
<input type="checkbox" id="contenir" {{checked contenir}} />
|
||||
</div>
|
||||
<div class="flexrow">
|
||||
<span class="roll-dialog-label">Désarmer (SD+10)?</span>
|
||||
<input type="checkbox" id="attaque-desarme" {{checked attaqueDesarme}} />
|
||||
</div>
|
||||
{{#if isMonte}}
|
||||
<div class="flexrow">
|
||||
<span class="roll-dialog-label">Charge de cavalerie?</span>
|
||||
<input
|
||||
type="checkbox"
|
||||
id="charge-cavalerie"
|
||||
{{checked
|
||||
chargeCavalerie}}
|
||||
/>
|
||||
</div>
|
||||
{{/if}} {{else}}
|
||||
<div class="flexrow">
|
||||
<span class="roll-dialog-label">Tireur en déplacement ?</span>
|
||||
<select
|
||||
class="item-field-label-long"
|
||||
type="text"
|
||||
id="tireur-deplacement"
|
||||
data-dtype="string"
|
||||
>
|
||||
{{selectOptions config.optionsTireurDeplacement
|
||||
selected=tireurDeplacement valueAttr="key" nameAttr="key"
|
||||
labelAttr="label"}}
|
||||
</select>
|
||||
</div>
|
||||
<div class="flexrow">
|
||||
<span class="roll-dialog-label">Couvert de la cible ?</span>
|
||||
<select
|
||||
class="item-field-label-long"
|
||||
type="text"
|
||||
id="cible-couvert"
|
||||
data-dtype="string"
|
||||
>
|
||||
{{selectOptions config.optionsCouvert selected=cibleCouvert
|
||||
valueAttr="key" nameAttr="key" labelAttr="label"}}
|
||||
</select>
|
||||
</div>
|
||||
<div class="flexrow">
|
||||
<span class="roll-dialog-label">Cible se déplace vite (SD+3)?</span>
|
||||
<input
|
||||
type="checkbox"
|
||||
id="tireur-cible-deplace"
|
||||
{{checked
|
||||
cibleDeplace}}
|
||||
/>
|
||||
</div>
|
||||
<div class="flexrow">
|
||||
<span class="roll-dialog-label">Cible corps à corps (SD+3)?</span>
|
||||
<input type="checkbox" id="tireur-cible-cac" {{checked cibleCaC}} />
|
||||
</div>
|
||||
<div class="flexrow">
|
||||
<span class="roll-dialog-label">Taille de la cible ?</span>
|
||||
<select
|
||||
class="item-field-label-long"
|
||||
type="text"
|
||||
id="taille-cible"
|
||||
data-dtype="string"
|
||||
>
|
||||
{{selectOptions config.optionsTailleCible selected=tailleCible
|
||||
valueAttr="key" nameAttr="key" labelAttr="label"}}
|
||||
</select>
|
||||
</div>
|
||||
{{/if}} {{/if}}
|
||||
|
||||
<div class="flexrow">
|
||||
<span class="roll-dialog-label">Bonus/Malus </span>
|
||||
<select
|
||||
class="roll-dialog-label"
|
||||
id="bonus-malus-context"
|
||||
type="text"
|
||||
value="{{bonusMalusContext}}"
|
||||
data-dtype="Number"
|
||||
>
|
||||
{{selectOptions config.optionsBonusMalus selected=bonusMalusContext
|
||||
valueAttr="key" nameAttr="key" labelAttr="label"}}
|
||||
</select>
|
||||
</div>
|
||||
|
||||
{{#if (or armeDefense arme.system.isDistance)}} {{#if
|
||||
arme.system.isDistance}}
|
||||
<div class="flexrow">
|
||||
<span class="roll-dialog-label">SD de distance</span>
|
||||
<select
|
||||
class="item-field-label-long"
|
||||
type="text"
|
||||
id="distance-tir"
|
||||
data-dtype="string"
|
||||
>
|
||||
{{selectOptions config.optionsDistanceTir selected=distanceTir
|
||||
valueAttr="key" nameAttr="key" labelAttr="label"}}
|
||||
</select>
|
||||
</div>
|
||||
{{else}}
|
||||
<div class="flexrow">
|
||||
{{#if desengager}}
|
||||
<span class="roll-dialog-label">C. Offensive adversaire </span>
|
||||
{{else}}
|
||||
<span class="roll-dialog-label">C. Défensive adversaire</span>
|
||||
{{/if}}
|
||||
<span class="roll-dialog-label"><strong>{{difficulte}}</strong> </span>
|
||||
</div>
|
||||
{{/if}} {{else}} {{#if isInit}} {{else}}
|
||||
<div class="flexrow">
|
||||
<span class="roll-dialog-label">Difficulté : </span>
|
||||
<select
|
||||
class="roll-dialog-label"
|
||||
id="difficulte"
|
||||
type="text"
|
||||
name="difficulte"
|
||||
data-dtype="String"
|
||||
>
|
||||
{{selectOptions config.optionsDifficulte selected=difficulte
|
||||
valueAttr="key" nameAttr="key" labelAttr="label"}}
|
||||
</select>
|
||||
</div>
|
||||
{{/if}} {{/if}}
|
||||
</div>
|
||||
</form>
|
||||
@@ -1,193 +1,193 @@
|
||||
{"name":"Excellence","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous êtes capable d’obtenir fréquemment des résultats extraordinaires dans la Compétence concernée. Vous obtenez une réussite héroïque chaque fois que vous égalez ou dépassez le SD de 8 points (au lieu de 10). </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"La Compétence au niveau 9.","resumebonus":"Vous obtenez une réussite héroïque chaque fois que vous égalez ou dépassez le SD de 8 points (au lieu de 10). ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.re5AQiMYkWl15TG4"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666901787882,"modifiedTime":1667638633106,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"07bq0fsbn653i81y","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Poursuivant(e) acharné(e)","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous ne laissez aucune chance à votre proie. Dans le cadre d’une course-poursuite, le fuyard n’est pas considéré comme avantagé ; il ne dispose d’aucun bonus par rapport à vous pour commencer (voir la règle de course-poursuite, p. 197).</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.95en5dTE5F0pjCfH"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666906510551,"modifiedTime":1667638633120,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"0YYjdJ19Jgg5lDWZ","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Prêt miraculeux","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous obtenez de vous faire prêter, en échange d’une somme dont vous devrez vous acquitter dans un an au plus tard, l’objet de votre choix.</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"scenario","prerequis":"","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.vwaTOoEUgMOUQOvm"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666906650809,"modifiedTime":1667638633121,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"0aDka5NXjPXpvncB","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Paroles inspirantes","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous savez trouver les mots qui restaurent la confiance en soi. Quand vous utilisez ce Talent, la cible gagne 1 point de Bonne Aventure à dépenser dans l’heure. </p>\n<p>Note : le MJ devrait inviter le personnage à improviser de telles paroles à la table de jeu.</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"Persuasion 4.","resumebonus":"Quand vous utilisez ce Talent, la cible gagne 1 point de Bonne Aventure à dépenser dans l’heure. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.XHf2Otv3I68Gj3XT"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666905806188,"modifiedTime":1667638633118,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"17DzbVC5lfFyx5QV","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Feu blanc","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous êtes un expert de la science électrique. Lorsqu’un test de Sorcellerie mobilise majoritairement cette branche de votre savoir, vous bénéficiez d’un + 2. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"Prédilection Électricité et Savoir : Sorcellerie 6.","resumebonus":"Lorsqu’un test de Sorcellerie mobilise majoritairement cette branche de votre savoir, vous bénéficiez d’un + 2. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.egM5Pal0kRGFbFVI"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666902163851,"modifiedTime":1667638633107,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"1ZY8mHs4xTbozt98","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Hippocrate","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>L’étude et la pratique vous ont permis de maîtriser de manière étendue la science médicale. Quand vous dépensez 2 points de Bonne Aventure, le bonus à votre test de Soins est de + 10. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"Soins 6.","resumebonus":"Quand vous dépensez 2 points de Bonne Aventure, le bonus à votre test de Soins est de + 10. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.orGR48btg22d7uUk"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666903248985,"modifiedTime":1667638633109,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"1sQW5ruVcEoZxtnw","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Aveux","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous connaissez bien les techniques pour obtenir que vos interlocuteurs répondent à vos questions même lorsqu’ils y sont réticents. Quand un test de Coercition mobilise spécifiquement l’art de l’interrogatoire, vous bénéficiez d’un + 3.<br><br></p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","script":"actor.checkCompetenceLevel(\"Coercition\", 6)","id":"ft9AAoBXbx5gu5h8","competence":"Coercition","minLevel":"6"},{"eventtype":"prepare-roll","name":"Automatisation 1","script":"Coercition","id":"xyIcmK4HeZZDmFtd","competence":"Coercition","bonus":"3","baCost":"0"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Coercition 6.","resumebonus":"Quand un test de Coercition mobilise spécifiquement l’art de l’interrogatoire, vous bénéficiez d’un + 3.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.2aZt2qYBnMIG38Vr"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666815383653,"modifiedTime":1667638633090,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"2MLA7u8dqSi6sdQW","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Vice caché","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Grâce à votre artisanat maîtrisé au niveau 9, vous pouvez fabriquer un objet qui a toutes les apparences d’un produit parfaitement exécuté… mais qui dysfonctionnera dès sa première activation ou au bout de très peu d’utilisations (vous choisissez). Il peut s’agir, par exemple, d’une somptueuse épée qui se brisera au premier coup ou d’un harnachement d’équitation qui cèdera après quelques minutes de chevauchée. Alternativement, vous pouvez insérer une cache dans l’objet fabriqué. Dans tous les cas, il est extrêmement difficile de détecter cela (Clairvoyance + Perception / 25).</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.T5n14Jw6R1dKMrh8"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666941834199,"modifiedTime":1667638633130,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"2Ttp0j7GKgmkVQ1A","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"La rue est mon royaume","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous n’avez pas votre pareil pour vous faire une place de choix dans les bas-fonds. En un rien de temps, vous êtes capable de nouer des alliances et de vous créer des obligés. En échange d’une somme ou d’un service dont vous devrez vous acquitter dans un an au plus tard, vous obtenez d’une bande ou d’une figure de la pègre locale qu’elle vous apporte un soutien financier important (500 PA) ou vous rende un service d’une valeur équivalente : mise à disposition d’une bande de voyous pour une opération ponctuelle, moyen d’accéder dans une zone défendue, prêt d’un navire et de son équipage, etc. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"scenario","prerequis":"Filouterie 9.","resumebonus":"Vous obtenez d’une bande ou d’une figure de la pègre locale qu’elle vous apporte un soutien financier important (500 PA) ou vous rende un service d’une valeur équivalente.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.bdqFUDmyXgpXpVyU"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666904835131,"modifiedTime":1667638633114,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"2W9YVSxEU9ihzwux","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Chef-d’oeuvre","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Si vous dépensez 1 point de Bonne Aventure, l’objet que vous produisez grâce à l’artisanat que vous possédez au niveau 9 voit l’une de ses valeurs augmentée de + 2. Par exemple, une armure de cuir confère une valeur de Protection de 8, une épée large cause 1d10 + 3 de dégâts ou augmente de 2 le bonus de maniement offensif, une selle et un harnachement procurent un + 2 en Monte, etc. </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Savoir*","minLevel":"9","id":"RC8SRtGfOLO1L17i"}],"talenttype":"personnage","utilisation":"scenario","prerequis":"Savoir : un artisanat 9.","resumebonus":"Si vous dépensez 1 point de Bonne Aventure, l’objet que vous produisez grâce à l’artisanat que vous possédez au niveau 9 voit l’une de ses valeurs augmentée de + 2","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.9Zz5bC1m7tB0s4S1"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666898054395,"modifiedTime":1667638633094,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"3UcOfoypfSBqCqGr","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Menaçant(e)","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous savez vous rendre inquiétant(e). Lorsqu’un test de Coercition mobilise spécifiquement votre capacité à intimider quelqu’un, vous bénéficiez d’un + 3. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"Coercition 6.","resumebonus":"Lorsqu’un test de Coercition mobilise spécifiquement votre capacité à intimider quelqu’un, vous bénéficiez d’un + 3. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.F5tUcrk2R9CKx065"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666905376475,"modifiedTime":1667638633117,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"4ExDCNY9Au5z0CLS","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Tir létal","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous ajoutez votre niveau d’Adresse / 2 (arrondi à l’inférieur) aux dégâts infligés avec une arme à distance. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"Armes à distance 6.","resumebonus":"Vous ajoutez votre niveau d’Adresse / 2 (arrondi à l’inférieur) aux dégâts infligés avec une arme à distance. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.G6PsiIkhYXuvPRWK"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666941222614,"modifiedTime":1667638633128,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"5OLAqDsaby3hIE2D","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Dextérité","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous pouvez utiliser votre Adresse plutôt que l’Attribut habituellement associé à la Compétence, par exemple en Mêlée. Pour ce faire, vous devez expliquer comment vous sollicitez votre Adresse dans ce contexte particulier. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"","resumebonus":"Vous pouvez utiliser votre Adresse plutôt que l’Attribut habituellement associé à la Compétence.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.zmW12Kneel9jJvv7"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666900695147,"modifiedTime":1667638633102,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"6Unp3WCqBnpSY62T","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Limier","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous êtes capable de suivre une trace même dans des conditions très difficiles. Quand vous dépensez 2 points de Bonne Aventure pour un test de Survie afin de remonter une piste, le bonus est de + 10. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"Quand vous dépensez 2 points de Bonne Aventure pour un test de Survie afin de remonter une piste, le bonus est de + 10. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.HkURq2tQNmTWoVXt"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666904940419,"modifiedTime":1667638633114,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"6Yq0gI4Ok21Shqp1","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Pilote doué","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous avez manifestement un don pour manier les machines volantes. Quand vous dépensez 2 points de Bonne Aventure pour un test de Savoir : Pilotage, le bonus est de + 10.</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"Quand vous dépensez 2 points de Bonne Aventure pour un test de Savoir : Pilotage, le bonus est de + 10.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.6HAXrpu5UZNkJm4P"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666906215550,"modifiedTime":1667638633119,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"6vhfX8PhTKpfvIBi","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Maîtrise (dans une prédilection)","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous avez atteint un niveau d’excellence dans un domaine de Compétence pour lequel vous aviez déjà une Prédilection (c’est un prérequis). Par exemple, dans le champ de la Perception, vous faites preuve d’une capacité d’empathie exceptionnelle et il est presque impossible de vous mentir. Ou bien, dans le champ de la Filouterie, vous faites désormais preuve d’une formidable habileté au crochetage. Lorsqu’un test mobilise le domaine de votre Maîtrise, ce Talent vous autorise à lancer systématiquement deux dés possédant le même nombre de faces et à garder le meilleur des résultats.<br><br></p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"Posséder la Compétence au niveau 9 et la Prédilection correspondante.","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.nkvlBGAcOSJwbcPD"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666905093018,"modifiedTime":1667638633115,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"759uY9VlRlisdcPe","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Inspiration","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous réalisez une oeuvre d’art ou une performance artistique de très grande qualité. Ce Talent vous fait gagner 1 point de Bonne Aventure pour le reste de la séance. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"Savoir : un art 6.","resumebonus":"Ce Talent vous fait gagner 1 point de Bonne Aventure pour le reste de la séance.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.tr2psvgWT4ZMsSQp"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666904053511,"modifiedTime":1667638633112,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"8LUSf665dtcXK5cp","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Équestre","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous avez acquis une très bonne expérience de l’équitation. Quand vous dépensez 2 points de Bonne Aventure pour un test de Chevaucher (Monte), le bonus est de + 10. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"Monte 6.","resumebonus":"Quand vous dépensez 2 points de Bonne Aventure pour un test de Chevaucher (Monte), le bonus est de + 10. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.n3aRo8kfvk9jvT3A"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666901595402,"modifiedTime":1667638633105,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"8Ok2t6ROsTwDSDEV","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Avec les moyens du bord","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Ce Talent de bricoleur vous permet de réussir automatiquement une réparation de fortune ou de créer un objet simple à partir d’éléments non prévus à cet effet mais que vous avez sous la main (par exemple transformer une fourchette en outil de crochetage). </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"","resumebonus":"Vous permet de réussir automatiquement une réparation de fortune ou de créer un objet simple ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.6oI5ZjQz35NdtMOI"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666815251765,"modifiedTime":1667638633088,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"8czN9ici971tBG25","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Mental d’acier","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Pour tous les tests qui dépendent de la Clairvoyance ou de la Présence, le personnage ignore les Adversités qu’il a encaissées et qui affectent normalement tous ses tests.</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.aipXQ5qnmWXvOPkg"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666905421636,"modifiedTime":1667638633117,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"8hwYP1etC0wzTtBh","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Client émerveillé","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Très admiratif de votre virtuosité, un client vous achète à cinq fois son prix de base un objet que vous avez fabriqué avec votre artisanat de niveau 9. </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Savoir*","minLevel":"9","id":"K7iub8PcKFNHXJJk"}],"talenttype":"personnage","utilisation":"scenario","prerequis":"Savoir : un artisanat 9.","resumebonus":"Très admiratif de votre virtuosité, un client vous achète à cinq fois son prix de base un objet que vous avez fabriqué avec votre artisanat de niveau 9. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.nEpByD4hWAZDsR5X"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666898494388,"modifiedTime":1667638633095,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"8kqFa8dakGM34ekr","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Esprit universel","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Votre capacité de perfectionnement est prodigieuse. Ce Talent diminue le coût de développement de n’importe quelle Compétence. Si acquérir une nouvelle Compétence coûte toujours 2 points, passer au niveau 2 coûte seulement 2 points, 3 points pour le niveau 3, 4 points pour le niveau 4, 5 points pour le niveau 5, et ainsi de suite. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"Un Savoir au niveau 9.","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.FnuRJNC1MKPHWQcb"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666901657133,"modifiedTime":1667638633105,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"9SpaQ5gaPCI0oEPb","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Imitation","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous excellez à reproduire les objets technologiques que vous avez eu tout loisir d’étudier. Lorsque vous entreprenez une telle tâche, vous bénéficiez d’un bonus de + 2.</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"Savoir : Sorcellerie 6.","resumebonus":"Lorsque vous entreprenez une telle tâche, vous bénéficiez d’un bonus de + 2.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.R0vwfUOJF0Mikh3c"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666903740964,"modifiedTime":1667638633111,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"AAXuI2CPEvqU8hvH","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Prise exceptionnelle","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous avez la science et l’instinct des pêcheurs les plus accomplis, capables d’attraper les poissons et les mollusques les plus recherchés. Avec l’accord du MJ, si les circonstances le permettent, vous attrapez, vivante ou morte, l’une de ces raretés. Un noble ou un riche marchand des environs serait prêt à débourser 10 + 1d10 pièces d’argent pour l’acheter. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"Survie 6.","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.RVzShO8kC9zpjljp"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666906399434,"modifiedTime":1667638633121,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"AdwWlO1BDrcaQE38","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Empathie animalière","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous avez des facilités à interagir avec les animaux. Lorsqu’un test de Monte ou de Savoir : Monde naturel mobilise spécifiquement vos capacités de dressage ou de compréhension de la faune, vous bénéficiez d’un + 3. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"Monte 5 ou Savoir : Monde naturel 5.","resumebonus":"Lorsqu’un test de Monte ou de Savoir : Monde naturel mobilise spécifiquement vos capacités de dressage ou de compréhension de la faune, vous bénéficiez d’un + 3. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.1lxUXxc5MUSeeWPZ"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666901291884,"modifiedTime":1667638633104,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"AmqE0SblseA2qLEv","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Arme de choix","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Lorsque vous utilisez un type d’arme en particulier (par exemple une épée large ou un arc), vous disposez d’un bonus de + 1 à votre Capacité Offensive. <br>Note : ce Talent peut être pris plusieurs fois, pour des armes différentes.</p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Armes à distance","minLevel":"4","id":"J8Slwpn8v4eeXUIp"},{"eventtype":"on-drop","name":"Automatisation 1","competence":"Mêlée","minLevel":"4","id":"HIETM2VMlaOuzysa"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Armes à distance 4 ou Mêlée 4.","resumebonus":"Vous disposez d’un bonus de + 1 à votre Capacité Offensive pour un type d’arme en particulier ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.ppHch1DZ6XAbE0C4"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666814580005,"modifiedTime":1667638633087,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"AopMs19sriY0B36z","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Aura du saint","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Votre piété ou votre mysticisme inspire une forme de bienveillance – même chez vos adversaires. Avec ce Talent, qui est sans effet sur la plupart des Granbretons (à la discrétion du MJ), vous obligez un PNJ ou un groupe de PNJ à vous traiter avec les égards dus à un saint homme : une exécution est commuée en emprisonnement ; on ne vous enferme plus dans une cellule sordide mais dans des appartements décents (et dont il est sans doute plus facile de s’échapper) ; un hôte vous donne de quoi écrire ; un seigneur local met à votre disposition une escorte, etc. Votre interlocuteur ne fera cependant rien pour vous qui mettrait sa vie ou sa réputation en danger. </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","script":"actor.checkCompetenceLevel(\"Savoir : Religions\", 9)","id":"6Ilfozn0eefAZHLy","competence":"Savoir : Religions","minLevel":"9"}],"talenttype":"personnage","utilisation":"scenario","prerequis":"Savoir : Religions 9.","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.mgJv4We0wADnqI09"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666815072401,"modifiedTime":1667638633088,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"AovPxlGFjW9RZEo6","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Anonymat","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>La sorcellerie est une science sulfureuse et ses disciples doivent savoir faire profil bas. Vous avez appris à cacher votre identité et à vous faire passer pour quelqu’un de banal.<br>Quand vous dépensez 2 points de Bonne Aventure, le bonus à votre test de Soupçons (Persuasion) est de + 10. </p>","isautomated":true,"automations":[{"eventtype":"associated-competence","name":"Automatisation 1","script":"Persuasion","id":"E6SczYVyESRbvvMQ"},{"eventtype":"roll-bonus","name":"Automatisation 1","script":"{ value: 10, baCost: 2}","id":"h5t4rAmDJe3TGyHu"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"Quand vous dépensez 2 points de Bonne Aventure, le bonus à votre test de Soupçons (Persuasion) est de + 10. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.0nQsaxiGQwcE6w77"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666804459204,"modifiedTime":1667638633086,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"AwMjPzJBQjFLvv4v","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Un endroit où dormir","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous trouvez toujours un lieu adéquat pour bivouaquer, un point d’eau et de quoi alimenter le feu que vous allumez. Si les circonstances sont particulièrement difficiles, le MJ peut décider qu’il est impossible d’activer ce Talent ou vous demander de dépenser 1 point de Bonne Aventure pour ce faire. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.Gd3kuHEr72TjXwiY"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666941621060,"modifiedTime":1667638633129,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"AxbIAqW46CNmDWXw","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Tirade apitoyante","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous vous lancez dans un monologue de nature à émouvoir votre auditoire. Si le test de Présence + Persuasion est réussi (le SD, fixé par le MJ, serait de 15 auprès d’une jeune femme romantique, de 20 auprès d’un soldat patibulaire, de 30 auprès d’un bourreau granbreton), la cible est touchée par ce discours. Elle ne peut plus entreprendre d’action hostile contre vous pendant 1d5 tours de jeu. </p>\n<p>Note : le MJ devrait inviter le personnage à improviser une telle tirade à la table de jeu.</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.tW0tOMCWjvoQYpYT"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666908098521,"modifiedTime":1667638633128,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"Bf8k7dfK7QYQA957","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Crésus","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Il paraît qu’on ne prête qu’aux riches… Votre fortune est faite et votre capacité à la faire croître est prodigieuse. Vous trouvez le moyen de récupérer 100 PA ou des marchandises d’une valeur équivalente (en accord avec le MJ). </p>\n<p>Note : le MJ devrait inviter le personnage à raconter à la table de jeu comment il s’y est pris.</p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Commerce","minLevel":"9","id":"6ISRupFFux8bmH5Z"}],"talenttype":"personnage","utilisation":"scenario","prerequis":"Commerce 9.","resumebonus":"Vous trouvez le moyen de récupérer 100 PA ou des marchandises d’une valeur équivalente (en accord avec le MJ). ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.qrLhfduL0ukmfWFh"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666899955985,"modifiedTime":1667638633100,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"CDcjtSQVIV3S3weg","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Rayonnant(e)","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous pouvez utiliser votre Présence plutôt que l’Attribut habituellement associé à la Compétence utilisée lors d’un test. Vous devez expliquer comment vous sollicitez votre Présence dans ce contexte particulier.</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"","resumebonus":"Vous pouvez utiliser votre Présence plutôt que l’Attribut habituellement associé à la Compétence utilisée lors d’un test.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.UsuMdEfN8aHfXWIu"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666906934155,"modifiedTime":1667638633121,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"CVKnJnK2XgM60N7U","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Attribut amélioré","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Ce Talent vous permet d’augmenter d’un point l’Attribut mentionné dans le Profil. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"Ce Talent vous permet d’augmenter d’un point l’Attribut mentionné dans le Profil. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.HgRPP0gFjKWa590T"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666815031743,"modifiedTime":1667638633088,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"DJDT7tqhvD9R89ca","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Meilleur prix","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Si votre test de Marchandage est réussi, l’objet de la négociation est vendu 25 % plus cher ou acheté 25 % moins cher (on arrondit dans les deux cas à l’inférieur). </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"Commerce 5.","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.i4HTFDXR5Re4q7am"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666905336566,"modifiedTime":1667638633116,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"DfwPG0kgDEiogcu7","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Beau parleur","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous exploitez avec brio toutes les ressources de l’art oratoire : lorsqu’un test de Persuasion mobilise spécifiquement l’éloquence, vous bénéficiez d’un + 3. </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","script":"actor.checkCompetenceLevel(\"Persuasion\", 6)","id":"l4VG4O8jnLWS4o6V","competence":"Persuasion","minLevel":"6"},{"eventtype":"prepare-roll","name":"Automatisation 1","script":"Persuasion","id":"bf9wtAbsFalZ5irM","competence":"Persuasion","bonus":"3","baCost":"0"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Persuasion 6","resumebonus":"Lorsqu’un test de Persuasion mobilise spécifiquement l’éloquence, vous bénéficiez d’un + 3. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.8On8JV2sVYImY0xb"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666896398413,"modifiedTime":1667638633090,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"DvECAMGiusbpJ9mt","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Pigeon maximal","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous avez trouvé une personne crédule et disposant de quelques ressources, à qui vous avez raconté une belle histoire à dormir debout, et qui va vous entretenir pendant les jours qui viennent (10 + 1d10 jours avant qu’elle ne manifeste son embarras et s’aperçoive de la supercherie). Cette personne aisée (qui ne peut être l’un des PNJ décrits dans un scénario) n’ira pas jusqu’à se ruiner d’un coup mais elle vous donnera jusqu’à 10 PA pour vos dépenses quotidiennes, vous logera et vous nourrira si vous le lui demandez, vous introduira avec chaleur à toutes les personnes qu’elle connaît.<br><br></p>\n<p>Note : le MJ devrait inviter le personnage à raconter à la table de jeu comment il s’y est pris pour attraper ce pigeon.</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"scenario","prerequis":"Filouterie 9.","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.JrXaK6Xpd3Kz7ahn"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666906030032,"modifiedTime":1667638633119,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"DxWmIIrCXOdoz43Z","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Ambidextre","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Au fil du temps, vous êtes devenu capable de vous servir de vos deux mains avec une adresse équivalente. Ce Talent vous donne notamment la possibilité de combattre avec deux armes (voir p. 210).</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"Possibilité de combattre avec deux armes ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.OKoEwHkgmvE3R6Sq"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666787537511,"modifiedTime":1667638633086,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"E4tLBaFKtVWRZM1x","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Casse-tête","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Face à une énigme, un objet inconnu ou encore un rituel obscur, vous bénéficiez d’un indice pour comprendre de quoi il retourne (à la discrétion du MJ).</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.8OEX7eVFYB6cISuX"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666897958970,"modifiedTime":1667638633093,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"EJn2osD9ncbWd3f5","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Génie de la panne","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>À force de bidouiller tout ce qui vous entoure, vous êtes désormais capable, en un rien de temps, de saboter un objet mécanique à proximité : ce peut être un artefact technologique, mais aussi une porte, l’essieu d’un carrosse, une herse, une horloge, un métier à tisser, un sextant, etc. Il ne vous faut qu’une action complexe pour faire dysfonctionner l’objet en question. Notez bien que ce Talent consiste à mettre en panne un objet, et non à l’actionner.</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"Savoir : Sorcellerie 9.","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.77gNuDbf7ZNxGsjt"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666902846807,"modifiedTime":1667638633109,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"Efk8EMfbg0EjIDK0","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Contacts lointains","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Même chose qu’@UUID[Compendium.fvtt-hawkmoon-cyd.talents.UOEolcYPAMHV9jNK]{ALLIÉS DE POIDS} (voir p. 167), mais les personnes que vous connaissez se comportent comme des Contacts de niveau 1. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"scenario","prerequis":"","resumebonus":"Personnes qui se comporteront avec vous comme des Alliés de niveau 1. Chacun de ces Alliés ne vous aidera qu’une seule fois.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.upa3uJPaVkdUGeqQ"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666899549006,"modifiedTime":1667638633098,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"Eh9zUUMIy0VVrCwU","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Vaillant(e)","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Votre résistance à la douleur est hors du commun. Quand vous êtes Très Affaibli(e), les Adversités qui vous sont infligées par cet état ne sont comptabilisées qu’à la fin du combat.</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"Posséder le Talent Encaissement.","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.yanRNlFZ8TjgwWKQ"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666941699778,"modifiedTime":1667638633129,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"Eho8SWS8LzqfMBv5","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Insaisissable","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Quand vous avez décidé de vous échapper, il est presque impossible de vous en empêcher. Vous disposez d’un bonus de + 10 pour une action entreprise dans le but de vous évader, de vous désengager d’un combat (voir p. 208), ou de semer vos poursuivants.</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"","resumebonus":"Vous disposez d’un bonus de + 10 pour une action entreprise dans le but de vous évader, de vous désengager d’un combat (voir p. 208), ou de semer vos poursuivants.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.8G7mLisKpItBmePN"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666903979642,"modifiedTime":1667638633112,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"EyuKQ08jTqqDcmzW","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Athanor","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous êtes devenu un(e) spécialiste de la science alchimique. Lorsqu’un test de Sorcellerie mobilise majoritairement cette branche de votre savoir, vous bénéficiez d’un + 2.</p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","script":"actor.checkCompetenceLevel(\"Savoir : Sorcellerie\", 6)","id":"4wnfaPDhnRi1AebX","competence":"Savoir : Sorcellerie","minLevel":"6"},{"eventtype":"prepare-roll","name":"Automatisation 1","script":"\"Savoir : Sorcellerie","id":"EJdNYRQfZxSRbxRQ","competence":"Savoir : Sorcellerie","bonus":"2","baCost":"0"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Savoir : Sorcellerie 6.","resumebonus":"Lorsqu’un test de Sorcellerie mobilise majoritairement la branche alchimique, vous bénéficiez d’un + 2.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.M7B2H9XUpxCPIM2l"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666814953087,"modifiedTime":1667638633087,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"F1TnAYrR4rQadByO","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Faveur sorcière","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>En échange d’une création technologique à livrer dans un an, un personnage accepte de vous aider de manière substantielle (voir les exemples donnés dans « Faveur extraordinaire »).<br><br></p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"Savoir : Sorcellerie 9.","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.s2GqqmnW9yZVTwoK"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666902052485,"modifiedTime":1667638633107,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"F627SFtenQPJaZ7c","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Mille poches","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Lorsque vous faites un test de Discrétion dans le but de dissimuler un objet sur vous, vous bénéficiez d’un + 3, à moins d’être nu(e) ou trop peu vêtu(e) pour ce faire (le MJ reste juge). </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"Discrétion 5.","resumebonus":"Lorsque vous faites un test de Discrétion dans le but de dissimuler un objet sur vous, vous bénéficiez d’un + 3, à moins d’être nu(e) ou trop peu vêtu(e) pour ce faire (le MJ reste juge). ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.tcR6nbGKVIIu3rAo"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666905483550,"modifiedTime":1667638633117,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"FHz8DD2OSCm2hXCG","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Aigle","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vos capacités d’observation peuvent être prodigieuses. Quand vous dépensez 2 points de Bonne Aventure, le bonus à votre test de Perception est de + 10. </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","script":"actor.checkCompetenceLevel(\"Perception\", 6)","id":"X3NG5ugiXwlo1SfD","competence":"Perception","minLevel":"6"},{"eventtype":"prepare-roll","name":"Automatisation 1","script":"Perception","id":"iBBLalEKzi3syKDK","competence":"Perception","bonus":"10","baCost":"2"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Perception 6","resumebonus":"Dépenser 2 points de Bonne Aventure, bonus à votre test de Perception est de + 10","used":false,"resumebeonus":""},"effects":[],"flags":{"core":{"sourceId":"Item.wqDuNwsaiu2eZUbX"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666775114481,"modifiedTime":1667638633085,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"FaQ46ZOzEIFw7sCo","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Exhortation","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous savez pousser les autres au dépassement de soi. Quand vous utilisez ce Talent, 1d10 cibles gagnent 1 point de Bonne Aventure à dépenser dans l’heure.</p>\n<p><br>Note : le MJ pourrait inviter le PJ à improviser ce discours de motivation à la table de jeu.</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"Coercition 6.","resumebonus":"Quand vous utilisez ce Talent, 1d10 cibles gagnent 1 point de Bonne Aventure à dépenser dans l’heure.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.riQ7aVle8KihEMPS"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666901837821,"modifiedTime":1667638633106,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"FtXaYHvf90WhEtKp","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Hypnotique","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Si vous réussissez un test d’Adresse ou Présence + Savoir : Art, votre création artistique impressionne vivement jusqu’à 1d5 personnes qui en sont les témoins. Le MJ ajuste le SD en fonction de l’auditoire : 15 pour un jeune esprit romantique, 18 pour une aubergiste pas spécialement bien disposée à l’égard du personnage, 30 pour un bourreau granbreton. Considérez que cette réussite équivaut à l’effet que vous obtiendriez si vous aviez réussi un test de Persuasion ou de Coercition de SD 20. Si vous voulez obtenir un résultat qui correspondrait à un SD plus élevé (par exemple si vous souhaitez qu’à l’écoute d’un poème apocalyptique un soldat granbreton prenne peur et quitte son poste), ce Talent ne peut être mobilisé. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.9EzCgoPIfGruvjc4"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666903626447,"modifiedTime":1667638633110,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"GJV6YZjitUsLW4Gj","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Irrésistible","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous savez être très convaincant(e). Quand vous dépensez 2 points de Bonne Aventure, le bonus à votre test de Persuasion est de + 10. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"Persuasion 6.","resumebonus":"Quand vous dépensez 2 points de Bonne Aventure, le bonus à votre test de Persuasion est de + 10. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.lCRZxlpUnzv99RlL"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666904614111,"modifiedTime":1667638633114,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"GVASYygDlsVNBaP2","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Repousse-feu","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous pensez pouvoir guérir les brûlures. Peut-être est-ce simplement que votre cible croit en votre pouvoir… et que son esprit fait le reste ? Contre 2 points de Bonne Aventure, vous soulagez les douleurs liées au feu et 2 Adversités infligées par les brûlures sont défaussées. Ce Talent ne fonctionne pas sur vous.</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"Contre 2 points de Bonne Aventure, vous soulagez les douleurs liées au feu et 2 Adversités infligées par les brûlures sont défaussées.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.b7Abb2sRMcwESeH6"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666906978748,"modifiedTime":1667638633122,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"GwH8kMcpOAzumGF4","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Boniments","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous êtes un(e) expert du bavardage et du bluff : lorsqu’un test de Persuasion mobilise spécifiquement le baratin, vous bénéficiez d’un + 3. </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Persuasion","minLevel":"6","id":"hHrP8U55jLSQjV0O"},{"eventtype":"prepare-roll","name":"Automatisation 1","competence":"Persuasion","minLevel":0,"id":"M4tfpySmt9TojtRC","bonus":"3","baCost":"0"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Persuasion 6.","resumebonus":"Lorsqu’un test de Persuasion mobilise spécifiquement le baratin, vous bénéficiez d’un + 3. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.FyXKt1BrXAWwOha4"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666896911475,"modifiedTime":1667638633091,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"HErCpf1UKXIylvCG","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Dur(e) en affaires","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous menez à présent vos négociations de façon redoutable. Lorsqu’un test de Commerce mobilise spécifiquement vos capacités de marchandage, vous bénéficiez d’un + 3. </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Commerce","minLevel":"6","id":"yQH4XwdrLyGlruls"},{"eventtype":"prepare-roll","name":"Automatisation 1","competence":"Commerce","minLevel":0,"id":"2xqT86RjcfPmGg78","bonus":"3","baCost":"0"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Commerce 6.","resumebonus":"Lorsqu’un test de Commerce mobilise spécifiquement vos capacités de marchandage, vous bénéficiez d’un + 3","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.eqREFyNvtMy6BoyJ"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666901085190,"modifiedTime":1667638633103,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"HQB4tIuDh0webOc6","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Guet-apens","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous connaissez les ruses et les techniques qui permettent de tendre efficacement une embuscade. Quand vous dépensez 2 points de Bonne Aventure pour un test de Filouterie afin de préparer un guet-apens, le bonus est de + 10. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"Filouterie 5","resumebonus":"Quand vous dépensez 2 points de Bonne Aventure pour un test de Filouterie afin de préparer un guet-apens, le bonus est de + 10. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.crIoQVy0gnpKXsCg"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666903160875,"modifiedTime":1667638633109,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"HeQHWH6aDjsYyLcv","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Boussole","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Naviguer dans des conditions difficiles vous a doté(e) d’un excellent sens de l’orientation. Vous n’êtes jamais perdu(e). Même si l’on devait vous guider à travers un lacis de ruelles en vous bandant les yeux, vous auriez encore une idée approximative de la distance parcourue et des directions prises.</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.yF8vR14nB5jbZXLN"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666897200043,"modifiedTime":1667638633092,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"I6BnPThGzfXpz2hz","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Qui-vive","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous êtes toujours sur vos gardes et votre sens de l’observation est très aiguisé. Lorsqu’un test de Perception mobilise en particulier votre vigilance ou vos capacités de recherche, vous bénéficiez d’un + 2. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"Perception 6","resumebonus":"Lorsqu’un test de Perception mobilise en particulier votre vigilance ou vos capacités de recherche, vous bénéficiez d’un + 2. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.vz0VKgtSjmJnbQwR"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666906855610,"modifiedTime":1667638633121,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"I6Ha4aKZGZ7bAuFq","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Débrouillardise","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous utilisez une Compétence que vous ne possédez pas mais qui sollicite l’habileté manuelle, domaine dans lequel vous montrez de grandes facilités. On considère alors que, pour un test de Capacité, vous maîtrisez cette Compétence au niveau 1 (ce qui annule le malus de – 3). Le plus souvent, vous pourrez utiliser ce Talent pour l’une des Compétences suivantes : Armes à distance, Filouterie, Mêlée, Monte, Nage, Navigation, Savoir : un artisanat, Savoir : Pilotage, Soins. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"","resumebonus":"Vous maîtrisez cette Compétence au niveau 1 (ce qui annule le malus de – 3). Utiliser ce Talent pour l’une des Compétences suivantes : Armes à distance, Filouterie, Mêlée, Monte, Nage, Navigation, Savoir : un artisanat, Savoir : Pilotage, Soins. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.dpuV5CBPRoJ18NQq"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666900438802,"modifiedTime":1667638633101,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"IA4qKngSBRors5ln","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Guérilla","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Les embuscades que vous préparez sont le plus souvent redoutables. Lorsqu’un test de Filouterie mobilise spécifiquement la faculté à tendre un guet-apens, vous bénéficiez d’un + 3. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"Filouterie 6.","resumebonus":"Lorsqu’un test de Filouterie mobilise spécifiquement la faculté à tendre un guet-apens, vous bénéficiez d’un + 3.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.XEqxzOkk5SOBoosz"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666903081210,"modifiedTime":1667638633109,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"IfGRDxNVxPpQNp2C","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Colère des humbles","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous savez trouvez les bons mots pour attiser la colère des crève-la-faim et pour la diriger contre l’objectif de votre choix. Contre 2 points de Bonne Aventure, vous êtes en mesure de rallier à votre cause 1d10 paysan(ne)s, qui passeront à l’action sous vos ordres dans les 24 heures qui viennent. Désespérés et enragés, ils sont prêts à se battre et à perdre la vie s’il le faut. </p>\n<p><br>Note : le MJ devrait inviter le PJ à expliquer à la table de jeu comment il parvient à motiver ces personnes.</p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Persuasion","minLevel":"6","id":"hrgm8ISAQ5o1Fr72"}],"talenttype":"personnage","utilisation":"scenario","prerequis":"Persuasion 6.","resumebonus":"Contre 2 points de Bonne Aventure, vous êtes en mesure de rallier à votre cause 1d10 paysan(ne)s, qui passeront à l’action sous vos ordres dans les 24 heures qui viennent.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.maitlnFK9aXuA3yJ"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666898625252,"modifiedTime":1667638633095,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"J3XPrC22ULOQjtAb","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Plantes de prix","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous savez trouver, dans les profondeurs des forêts, les herbes médicinales ou les essences rares que tant d’hommes convoitent. Vous en rapportez pour une valeur de 10 + 1d10 PA. Parmi elles se trouve une dose de plantes défaussant, si un test de Soins est réussi, 1 Adversité noire. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"Survie 9.","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.Ib9u0Ae4wSedbcfp"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666906285626,"modifiedTime":1667638633120,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"JE5vPyql7LgMS6Xj","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Retraite","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Lorsque vous tentez de vous désengager d’un combat (voir p. 208), vous bénéficiez d’un bonus de + 2. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"","resumebonus":"Lorsque vous tentez de vous désengager d’un combat (voir p. 208), vous bénéficiez d’un bonus de + 2. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.DpBaFEmtahNBs7kZ"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666907096510,"modifiedTime":1667638633122,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"JQ9uSGOU6bNsgvyf","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Passe-passe","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Lorsque vous faites un test de Filouterie dans le but d’escamoter un objet, vous bénéficiez d’un + 3. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"Filouterie 6.","resumebonus":"Lorsque vous faites un test de Filouterie dans le but d’escamoter un objet, vous bénéficiez d’un + 3. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.RQLFBH6SAyNVK02g"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666905939362,"modifiedTime":1667638633119,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"JU2psEQ4pHrqLCck","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Imposture","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous maîtrisez l’art du simulacre et vous savez vous fondre dans la peau de quelqu’un d’autre : lorsqu’un test de Discrétion mobilise spécifiquement vos facultés de déguisement, vous bénéficiez d’un + 3. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"Discrétion 6.","resumebonus":"Lorsqu’un test de Discrétion mobilise spécifiquement vos facultés de déguisement, vous bénéficiez d’un + 3. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.Q2ANmzkJyltCxxFh"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666903815692,"modifiedTime":1667638633111,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"JcTxKMHTcKW9x9Ju","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Diplomate","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous savez apaiser les conflits et ramener vos interlocuteurs au calme. Avec ce Talent, vous êtes capable de faire passer un Anonyme ou un groupe d’Anonymes (voir p. 205) d’un état d’esprit agressif à un état défiant mais ouvert à la discussion. Ce ne sont peut-être que quelques secondes ou minutes de gagnées, mais au moins cela vous laisse le temps de fourbir des arguments ou de ruser… </p>\n<p><br>Note : le MJ devrait inviter le personnage à improviser ces paroles d’apaisement à la table de jeu.</p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Persuasion","minLevel":"6","id":"YCDmrQct8QGleJvP"}],"talenttype":"personnage","utilisation":"scenario","prerequis":"Persuasion 6.","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.pUNi52w4h0NnI0UO"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666900795330,"modifiedTime":1667638633102,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"K2tErr1fY2bClFTA","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Armuré(e)","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous avez l’habitude de porter de lourdes armures. Lorsque l’une d’elles possède une valeur de Protection de 7 ou plus, toute Adversité liée à l’encombrement est ignorée. Ce Talent ne peut être choisi que si vous utilisez les règles optionnelles liées à l’encombrement (voir p. 271). </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"Ce Talent ne peut être choisi que si vous utilisez les règles optionnelles liées à l’encombrement (voir p. 271). ","resumebonus":"Pour une valeur de Protection de 7 ou plus, toute Adversité liée à l’encombrement est ignorée. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.PwZvyI3NAmrBYkca"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666814823591,"modifiedTime":1667638633087,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"LROjymlmqIIJTbBN","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Blocage","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous maîtrisez les techniques martiales de contention et de blocage. Lorsque vous effectuez un test dans le but d’immobiliser un adversaire, vous bénéficiez d’un + 2. </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Mêlée","minLevel":"6","id":"VAVzjJCnvQN2YIys"},{"eventtype":"prepare-roll","name":"Automatisation 1","competence":"Mêlée","minLevel":0,"id":"aJezV4sbbN94RuKQ","bonus":"2","baCost":"0"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Mêlée 6.","resumebonus":"Lorsque vous effectuez un test dans le but d’immobiliser un adversaire, vous bénéficiez d’un + 2.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.o24VgrS4b8xCV86M"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666896858916,"modifiedTime":1667638633091,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"LRU7dKdbojXjVoDR","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Faveur extraordinaire","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Contre 2 points de Bonne Aventure, vous obtenez d’un PNJ une faveur exorbitante, comme le droit d’entrer dans un château dont l’accès est interdit ou de vous faire prêter une lance-feu « juste le temps de l’essayer ». Votre interlocuteur ne fera rien qui puisse mettre sa vie en danger, mais il peut vous accorder une faveur qui est pourtant contraire à ses intérêts immédiats. Ce Talent est cependant sans effet sur la plupart des Granbretons (à la discrétion du MJ).</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"scenario","prerequis":"Persuasion 9.","resumebonus":"Contre 2 points de Bonne Aventure, vous obtenez d’un PNJ une faveur exorbitante.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.plpJvUHJhpBcRw5Q"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666901990644,"modifiedTime":1667638633107,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"LerZa8eY6PXjRCT9","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Adapté(e)","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous avez une grande expérience du milieu choisi ou indiqué dans le Profil. Lorsque vous faites un test de Survie dans cet environnement, vous bénéficiez d’un + 3. </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","script":"actor.addCompetenceBonus(\"Survie\", 3, 0)","id":"aJqsZxk8j3SbQw7z","competence":"Survie","minLevel":"6"},{"eventtype":"prepare-roll","name":"Automatisation 1","competence":"Survie","minLevel":0,"id":"2Na6Nzm6sJMY853i","bonus":"3","baCost":"0"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Survie 6","resumebonus":"Si test de Survie dans cet environnement, bonus + 3. ","used":false,"resumebeonus":""},"effects":[],"flags":{"core":{"sourceId":"Item.mpGCMXF0oYnFm05S"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666775114481,"modifiedTime":1667638633085,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"LiYMge13lxYZ7Fdr","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Dextérité du guerrier","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous pouvez utiliser votre Adresse plutôt que votre Puissance en Mêlée. </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Adresse","minLevel":"8","id":"KkrYPwt9C41mbbB3"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Adresse 8.","resumebonus":"Vous pouvez utiliser votre Adresse plutôt que votre Puissance en Mêlée. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.w0jCJFTLBQOdzaTz"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666900749296,"modifiedTime":1667638633102,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"M9UgLXD6AIMn33bR","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Soiffard(e)","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Que ce soit le fruit de l’expérience ou du fait de vos dispositions naturelles, vous tenez très bien l’alcool. Lorsque vous faites un test pour y résister, vous bénéficiez d’un + 5.</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"Lorsque vous faites un test pour y résister, vous bénéficiez d’un + 5.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.rkNP9ku1eoOlTJmh"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666907635465,"modifiedTime":1667638633126,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"MFS96RDeKmflemCe","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Négligeable","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Du fait de votre statut social ou de votre métier, vous ne semblez pas bien redoutable. Lorsque vous vous faites intentionnellement passer pour quelqu’un de faible ou d’inoffensif, vous bénéficiez d’un + 2 sur vos tests de Soupçons (Persuasion). </p>\n<p>Note : le MJ devrait inviter le PJ à interpréter une telle attitude à la table de jeu.</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"Lorsque vous vous faites intentionnellement passer pour quelqu’un de faible ou d’inoffensif, vous bénéficiez d’un + 2 sur vos tests de Soupçons (Persuasion). ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.AmjnIe2eAo5k8576"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666905560228,"modifiedTime":1667638633117,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"MLLdQpIVC9qYgGlj","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Tir éclair","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Lors de ce tour, si vous avez consacré votre action complexe à tirer, vous pouvez effectuer un deuxième tir en dépensant 1 point de Bonne Aventure (au lieu de 3) pour ce faire. Ce tir compte comme une action supplémentaire, vous ne pouvez donc effectuer une autre action complexe durant ce tour de jeu.</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"Armes à distance 6.","resumebonus":"Lors de ce tour, si vous avez consacré votre action complexe à tirer, vous pouvez effectuer un deuxième tir en dépensant 1 point de Bonne Aventure (au lieu de 3) pour ce faire","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.B7bpIRNbuSmkIq19"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666908151375,"modifiedTime":1667638633127,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"MM46QG9dj3kPm2xs","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Arme en main","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Dégainer une arme ne vous coûte aucune action. </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","script":"actor.checkCompetenceLevel(\"Mêlée\", 5)","id":"gjNFt4xQqL4UT4YT","competence":"Mêlée","minLevel":"5"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Mêlée 5.","resumebonus":"Dégainer une arme ne vous coûte aucune action. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.J7qcPpzyw9RXvoGI"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666814741508,"modifiedTime":1667638633087,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"MsNlU4WLPnq387RJ","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Véloce","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous avez le pied sûr et la démarche tonique : lorsqu’un test de Mouvements mobilise spécifiquement vos facultés de course, vous bénéficiez d’un + 2. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"Mouvements 6.","resumebonus":"Lorsqu’un test de Mouvements mobilise spécifiquement vos facultés de course, vous bénéficiez d’un + 2. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.UmbrVJ8r8GSPXTd1"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666941785497,"modifiedTime":1667638633130,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"NCjx4PhASj6Wkqaj","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Rumeur du monde","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Toujours au fait des rumeurs les plus diverses, vous avez probablement entendu parler de tel homme en vue ou de telle affaire en cours. Quand vous dépensez 2 points de Bonne Aventure pour un test de Savoir : Europe, le bonus est de + 10.</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"Quand vous dépensez 2 points de Bonne Aventure pour un test de Savoir : Europe, le bonus est de + 10.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.6vVfteW1VMQO7FEU"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666907153831,"modifiedTime":1667638633123,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"NMogAhUITTgOJ3fO","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Chemin le plus sûr","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Votre expérience et votre flair vous aident à prendre les bonnes décisions quand vous voyagez. Lorsque vous dépensez 2 points de Bonne Aventure pour un test de Routes (Commerce), le bonus est de + 10. </p>","isautomated":true,"automations":[{"eventtype":"prepare-roll","name":"Automatisation 1","competence":"Routes","minLevel":0,"id":"ho5pyZmo1Np1KwkV","bonus":"10","baCost":"2"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"Lorsque vous dépensez 2 points de Bonne Aventure pour un test de Routes (Commerce), le bonus est de + 10. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.ahxYvtVMa0wn9lvd"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666898124086,"modifiedTime":1667638633094,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"NqPn79uFDSspYbW1","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Avec les tripes","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous pouvez utiliser votre Trempe plutôt que l’Attribut habituellement associé à la Compétence, par exemple en Mêlée. Vous devez expliquer comment vous sollicitez votre Trempe dans ce contexte particulier. </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","script":"actor.checkAttribut(\"Trempe\", 6)","id":"QPfzcI6nHXfbBO1d","competence":"Trempe","minLevel":"6"}],"talenttype":"personnage","utilisation":"sceance","prerequis":"Trempe 6","resumebonus":"Vous pouvez utiliser votre Trempe plutôt que l’Attribut habituellement associé à la Compétence","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.QowafGt1zBKr96sb"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666815309617,"modifiedTime":1667638633089,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"NxeONiYARHdzhdoX","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Dur(e) au mal","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous êtes devenu(e) particulièrement robuste. Votre Vigueur est augmentée d’1 point.</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.xsapWqPy734d1z7K"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666901026461,"modifiedTime":1667638633103,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"PCW6YLO6IFSU28tt","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Ingéniosité","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous pouvez utiliser votre Clairvoyance plutôt que l’Attribut habituellement associé à la Compétence. Vous devez expliquer comment vous sollicitez votre Clairvoyance dans ce contexte particulier.</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.aNHKGIdMrDIYY0eq"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666903896953,"modifiedTime":1667638633111,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"PLk6bMyj7in5GBX0","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Faussaire-né(e)","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous avez des facilités dans l’art de produire des faux documents. Quand vous dépensez 2 points de Bonne Aventure pour un test de Savoir : Falsification, le bonus est de + 10.</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"Quand vous dépensez 2 points de Bonne Aventure pour un test de Savoir : Falsification, le bonus est de + 10.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.7ibsPEkOYJqO4PZl"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666901958786,"modifiedTime":1667638633107,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"PVJX9BXGwaUMfPWD","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Captivant(e)","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous êtes très doué(e) pour la vulgarisation. Vous parlez avec passion des domaines qui vous intéressent et l’on vous écoute le plus souvent avec intérêt. Si vous réussissez un test de Présence<br>+ un Savoir au choix, votre cours improvisé captive jusqu’à 1d5 individus qui en sont les auditeurs. Le MJ ajustera le SD en fonction du public : 15 pour un jeune esprit avide de connaissances,<br>18 pour une aubergiste pas spécialement bien disposée à votre égard, 30 pour un religieux obscurantiste. Considérez que cette réussite équivaut à l’effet que vous obtiendriez si vous aviez<br>réussi un test de Persuasion de SD 20. Pour obtenir une faveur équivalente à un SD plus élevé, ce Talent ne peut pas être mobilisé. Ce ne sera donc sans doute pas suffisant pour mettre fin à votre captivité, mais peut-être cela vous évitera-t-il une exécution immédiate… </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"","resumebonus":"Test de Présence + un Savoir au choix, votre cours improvisé captive jusqu’à 1d5 individus ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.Ziu2DbjI5tnNJ1Aw"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666897627590,"modifiedTime":1667638633093,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"PdtVqObUozdhQdKQ","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Chant des oiseaux","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous imitez à la perfection le chant des oiseaux. Si un oiseau vous est inconnu, il vous suffit de l’écouter chanter pendant une dizaine de minutes pour être en mesure de reproduire ses cris et mélodies.</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.aeM77oGaLGrNabPU"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666898021340,"modifiedTime":1667638633094,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"PfPtbjNvmW7DVPWS","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Dragon","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous combattez à cheval avec beaucoup de métier. Lorsqu’un test de Mêlée est effectué dans le cadre d’un combat monté, vous bénéficiez d’un + 2.</p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Mêlée","minLevel":"6","id":"Md5bpdOB2kMkrF9M"},{"eventtype":"on-drop","name":"Automatisation 1","competence":"Mêlée","minLevel":"5","id":"r5229BxG1nMINubl"},{"eventtype":"prepare-roll","name":"Automatisation 1","competence":"Mêlée","minLevel":0,"id":"HTBcDtZB6Jw0oZLi","bonus":"3","baCost":"0"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Mêlée 6 et Monte 5.\n","resumebonus":"Lorsqu’un test de Mêlée est effectué dans le cadre d’un combat monté, vous bénéficiez d’un + 2.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.5DZxPehBz7rsgq5x"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666900943433,"modifiedTime":1667638633103,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"PfuzDohW3l2ds0hu","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Connais ton adversaire","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Lorsque vous utilisez ce Talent, le MJ vous indique quels sont la Capacité Offensive, le Seuil de Défense et le Seuil de Vigueur d’une personne en train de se battre ou en position de garde. Si elle ne combat pas, ce Talent ne peut donner que de vagues indications (« il a l’air d’être un bon<br>combattant », « il te semble résistant »… ce qui n’exclut pas une tentative de bluff de la part de cette personne).</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.0JBRs07MwlyFoQFR"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666899346437,"modifiedTime":1667638633097,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"Q6uc8OVbyQr1XsXb","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Feinte","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Auprès d’un maître d’armes, vous avez appris une ou plusieurs bottes secrètes et vos adversaires vont en faire les frais. En mêlée, dépensez 1 point de Bonne Aventure pour utiliser la manoeuvre avancée « Coup de maître » (voir p. 207). </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"Mêlée 6.","resumebonus":"En mêlée, dépensez 1 point de Bonne Aventure pour utiliser la manoeuvre avancée « Coup de maître » (voir p. 207). ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.SYxwqLARHSS94nBq"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666902098860,"modifiedTime":1667638633107,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"QORP58g0HtnqseQh","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Gibier de prix","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>La chasse n’a plus de secret pour vous, et vous êtes capable de dénicher les gibiers à poil ou à plume les plus recherchés. Avec l’accord du MJ, si les circonstances le permettent, vous attrapez, vivante ou morte, l’une de ces raretés. Un noble ou un riche marchand des environs serait prêt à débourser 10 + 1d10 PA pour l’acheter. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"Survie 6.","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.BiwlsZjGkgcgWllJ"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666902946722,"modifiedTime":1667638633109,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"QP5upL2z4pwsUNx8","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Il était une fois","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous savez raconter de bonnes histoires, drôles, émouvantes ou instructives. Contre un nombre variable de points de Bonne Aventure (ou plus rarement d’Éclat), le récit que vous faites captive jusqu’à 1d5 personnes. Le coût exact en BA est à la discrétion du MJ, en fonction de l’auditoire : 1 point s’il est bien disposé à votre égard, 2 s’il se défie de vous. Il faudra dépenser 1 point d’Éclat si vous tentez votre chance auprès d’un Connétable granbreton. Considérez que cette réussite équivaut à celle d’un test de Persuasion de SD 20. Pour obtenir une faveur équivalente à un SD plus élevé, ce Talent ne peut pas être mobilisé. Ce ne sera donc sans doute pas suffisant pour mettre fin à votre captivité, mais peut-être cela vous évitera-t-il une exécution immédiate… </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.c1YiUqK8weeAYyjV"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666903687569,"modifiedTime":1667638633110,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"QkhWaeEez0PQA9xu","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Milieu nourricier","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Dans le milieu mentionné par votre Profil, et que vous connaissez si bien, vous trouvez aisément de quoi manger pour une compagnie de six personnes. Vous obtenez un succès automatique en Adresse + Survie équivalent à un SD 20 chaque fois que vous voulez rapporter de quoi les nourrir. Si le SD devait être plus élevé aux yeux du MJ, alors il vous faudrait réussir un test. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"jour","prerequis":"","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.6DtyKRpMO8IoBViM"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666905443953,"modifiedTime":1667638633117,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"Qwe7unhMiKDu07vq","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Sous mes pieds","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous pensez pouvoir trouver de l’eau plus facilement que d’autres. Peut-être est-ce simplement de la chance ? Toujours est-il que, si vous dépensez 2 points de Bonne Aventure pour ce faire, vous détectez une source proche.</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"","resumebonus":"Si vous dépensez 2 points de Bonne Aventure pour ce faire, vous détectez une source proche.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.dBGNfj8BrtgwLJRM"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666907987438,"modifiedTime":1667638633127,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"R44zIslkhNqYSOYp","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Capitaine","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous êtes désormais particulièrement à l’aise à la barre d’un navire. Quand vous dépensez 2 points de Bonne Aventure pour un test de Navigation, le bonus est de + 10. </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Navigation","minLevel":"6","id":"MsYV2x6I8vggoGbt"},{"eventtype":"prepare-roll","name":"Automatisation 1","competence":"Navigation","minLevel":0,"id":"CYfZwVOQ7aU9Ft9j","bonus":"10","baCost":"2"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Navigation 6.","resumebonus":"Quand vous dépensez 2 points de Bonne Aventure pour un test de Navigation, le bonus est de + 10. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.xmmtSJxLz7k9SjWZ"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666897351810,"modifiedTime":1667638633092,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"R8Jq474UOUjJuAc4","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Casse-croûte","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Dans le milieu mentionné par votre Profil, vous trouvez sans difficulté de quoi nourrir une personne pour deux repas par jour, sans qu’il soit besoin d’effectuer un test ou de dépenser<br>de l’argent.</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"jour","prerequis":"","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.34sVMkQbabOK3yB9"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666897908882,"modifiedTime":1667638633093,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"RWhqxNR5JuPUqt4f","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Fourberie","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Malhonnête » est un terme que vous récusez : disons que vous savez tirer le meilleur parti de la situation. Lorsqu’un test de Commerce mobilise spécifiquement l’art de l’arnaque, vous bénéficiez d’un + 3. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"Commerce 6.","resumebonus":"Lorsqu’un test de Commerce mobilise spécifiquement l’art de l’arnaque, vous bénéficiez d’un + 3. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.USWRkT0t7K23ERoV"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666902357394,"modifiedTime":1667638633108,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"SULOEGFEp8JAkn1q","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Frugal(e)","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous êtes capable de supporter d’importantes privations. Le temps est doublé pour vous avant que la faim ou la soif ne vous causent des Adversités. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.C8CmsN6Hu6GmeMb5"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666902404998,"modifiedTime":1667638633108,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"TWn7xQjvSuVMparJ","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Coup de bluff","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous pouvez remplacer votre Puissance par votre Présence pour un test de Mêlée. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"","resumebonus":"Vous pouvez remplacer votre Puissance par votre Présence pour un test de Mêlée. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.MqI4IEdKQWEIyRmi"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666899744288,"modifiedTime":1667638633099,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"TmAscAA4NxmLyPZP","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Voltige","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous êtes souple et vous disposez d’un très bon équilibre : lorsqu’un test de Mouvements mobilise spécifiquement vos facultés d’acrobatie ou d’escalade, vous bénéficiez d’un + 3. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"Mouvements 6.","resumebonus":"Lorsqu’un test de Mouvements mobilise spécifiquement vos facultés d’acrobatie ou d’escalade, vous bénéficiez d’un + 3. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.XmUR2H4dSxmkFNIb"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666942060503,"modifiedTime":1667638633131,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"TmjghsoTLatXybKZ","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Alliés de poids","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Ce Talent annule et remplace Alliés extérieurs. Dans des régions autres que celle de votre résidence habituelle, vous connaissez des personnes qui se comporteront avec vous comme des<br>Alliés de niveau 2. Chacun de ces Alliés ne vous aidera qu’une seule fois et il n’est pas possible d’utiliser ce Talent plus d’une fois par scénario. Vous n’avez aucunement besoin de préciser dans quelle zone se trouvent ces Alliés en question lors de l’acquisition du Talent : libre à vous de les faire surgir au moment que vous jugerez opportun (par exemple lorsque vous atteignez, sans le moindre sou, une ville étrangère). La seule limite à ce Talent est celle du vécu de votre personnage : s’il n’est jamais allé en Afrika et si aucune de ses connaissances n’entretient des rapports avec des habitants de cette région, le MJ risque logiquement de vous dire que ce Talent ne peut être activé dans cette zone-là. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"scenario","prerequis":"Posséder le Talent Alliés extérieurs.","resumebonus":"Personnes qui se comporteront avec vous comme des Alliés de niveau 2. Chacun de ces Alliés ne vous aidera qu’une seule fois.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.KrCbX1T2LuJQJsjR"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666787163377,"modifiedTime":1667638633085,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"UOEolcYPAMHV9jNK","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Comme de l’acier","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous avez l’habitude de vous battre à mains nues, et vous avez appris à faire très mal. Les dégâts des armes naturelles sont équivalents à ceux d’une arme normale en cas de réussite simple (vous dégradez d’un niveau la Combativité de votre adversaire puis vous lancez 1d10, que vous comparez à son Seuil de Vigueur).</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"Les dégâts des armes naturelles sont équivalents à ceux d’une arme normale en cas de réussite simple.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.660TSsdYO4N7DK7e"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666898897114,"modifiedTime":1667638633096,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"UcwDxuOlIFoDAH3D","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Sombre pharmacopée","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous êtes capable de préparer des décoctions aux effets puissants et vous savez presque immanquablement reconnaître les effets des substances administrées. Quand vous dépensez points de Bonne Aventure, le bonus à votre test de Savoir : Drogues et poisons est de + 10. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"Quand vous dépensez points de Bonne Aventure, le bonus à votre test de Savoir : Drogues et poisons est de + 10. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.ladtkm95ErpJh1KF"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666907669310,"modifiedTime":1667638633126,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"Um2KJ31QTaruH0N8","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Prédilection","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous avez développé une aptitude supérieure dans l’un des domaines d’application d’une Compétence. Par exemple, dans le champ de la Filouterie, vous êtes particulièrement à l’aise avec le crochetage des serrures et coffres. Reportez-vous au chapitre des Compétences (p. 186) pour voir quelles sont les Prédilections appropriées dans chaque Compétence (elles sont indiquées en italique dans les descriptions). Votre Talent Prédilection vous autorise à relancer le dé choisi pour le test de Compétence et à garder le meilleur des deux résultats. </p>\n<p>Note : vous ne pouvez pas changer de type de dé au cours d’une relance. Si vous avez lancé le d20 et obtenu un impair ou un résultat insuffisant, vous ne pouvez alors choisir le d10, et devez relancer une nouvelle fois le d20.</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"la Compétence choisie au niveau 3.","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.BLFGxArud7DpHBvb"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666906532154,"modifiedTime":1667638633120,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"UyTNgLJJEkrT00Ol","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Aura princière","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Toute votre personne dégage quelque chose de charismatique qui impose le respect – même chez vos adversaires. Avec ce Talent, qui est sans effet sur la plupart des Granbretons (à la discrétion du MJ), vous obligez un PNJ ou un groupe de PNJ à vous traiter avec les égards dus à une personnalité de haut lignage : une exécution est commuée en emprisonnement ; on ne vous enferme plus dans une cellule sordide mais dans des appartements confortables (et dont il est sans doute plus facile de s’échapper) ; un hôte vous prête son meilleur cheval ; un seigneur local met à votre disposition une escorte, etc. Votre interlocuteur ne fera cependant rien qui mettrait sa vie ou sa réputation en danger. </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","script":"actor.checkCompetenceLevel(\"Persuasion\", 9)","id":"yOIWN7VjYGH4Y2Ot","competence":"Persuasion","minLevel":"9"}],"talenttype":"personnage","utilisation":"scenario","prerequis":"Persuasion 9.","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.NUriHgMbD14sflbI"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666815167266,"modifiedTime":1667638633088,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"UzBpYUdA2dkwMV5V","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Sorcellerie du vivant","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous maîtrisez presque tous les arcanes de la science biologique. Lorsqu’un test de Sorcellerie mobilise majoritairement cette branche de votre savoir, vous bénéficiez d’un + 2. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"Prédilection Biologie et Savoir : Sorcellerie 6.","resumebonus":"Lorsqu’un test de Sorcellerie mobilise majoritairement cette branche de votre savoir, vous bénéficiez d’un + 2. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.fNpz2asg5n0SKfKE"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666907900104,"modifiedTime":1667638633126,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"VCvxc0AUgfS8mguE","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Séduction","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous savez vous rendre aimable et faire tourner les têtes : lorsque vous faites un test de Persuasion dans le but de charmer quelqu’un, vous bénéficiez d’un + 3. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"Persuasion 6.","resumebonus":"Lorsque vous faites un test de Persuasion dans le but de charmer quelqu’un, vous bénéficiez d’un + 3. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.6VBliEIsqN4u3HKr"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666907576774,"modifiedTime":1667638633125,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"VO0CNoxWylOwyADG","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Intuition","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Quand vous observez vos semblables, votre clairvoyance s’apparente à un sixième sens qui vous guide vers la vérité. Tous les tests de Perception qui mobilisent l’empathie et dont le SD est inférieur à 20 sont considérés comme automatiquement réussis. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"Perception 9.","resumebonus":"Tous les tests de Perception qui mobilisent l’empathie et dont le SD est inférieur à 20 sont considérés comme automatiquement réussis. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.1cGkwdMJnGZo71Pz"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666904534318,"modifiedTime":1667638633113,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"VcQNf4PMVhomVAdZ","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Vivacité","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous avez de très bons réflexes et réagissez avec rapidité. Lorsque vous effectuez un test<br>d’Initiative, ajoutez + 2 au résultat. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"Adresse 6.","resumebonus":"Lorsque vous effectuez un test d’Initiative, ajoutez + 2 au résultat. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.TAlFsICeCKZZWLjY"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666942011249,"modifiedTime":1667638633130,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"Vx4hvKQGX2jEOfgO","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Ombre","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous savez vous mouvoir sans bruit et tirer parti de votre environnement pour vous dissimuler : lorsqu’un test de Discrétion mobilise spécifiquement vos capacités à vous déplacer en silence ou à vous cacher, vous bénéficiez d’un + 2. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"Discrétion 6.","resumebonus":"Lorsqu’un test de Discrétion mobilise spécifiquement vos capacités à vous déplacer en silence ou à vous cacher, vous bénéficiez d’un + 2. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.OYgdxFH0y2SlvhY0"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666905716059,"modifiedTime":1667638633118,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"W1kqrJfzmYRXmOka","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Virevoltant(e)","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous savez très bien vous battre en infériorité numérique. Lorsque vous affrontez plusieurs adversaires, les deux premiers n’en tirent aucun avantage, seuls le troisième et les suivants bénéficieront d’un + 3. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"Mêlée 6.","resumebonus":"Lorsque vous affrontez plusieurs adversaires, les deux premiers n’en tirent aucun avantage, seuls le troisième et les suivants bénéficieront d’un + 3. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.TFK8L8SkWYI2n9ET"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666941961750,"modifiedTime":1667638633130,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"WJsWjnl7i3O6jfqf","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Alliés extérieurs","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Même chose qu’Alliés de poids @UUID[Compendium.fvtt-hawkmoon-cyd.talents.UOEolcYPAMHV9jNK]{ALLIÉS DE POIDS} , mais les Alliés sont de niveau 1. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"scenario","prerequis":"Posséder le Talent Alliés extérieurs.","resumebonus":"Personnes qui se comporteront avec vous comme des Alliés de niveau 1. Chacun de ces Alliés ne vous aidera qu’une seule fois.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.iM3cU3AYbPqpYp68"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666787321077,"modifiedTime":1667638633086,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"WoTFgl5br3Lvabx1","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"À l’abri","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous ne pouvez être pris pour cible par un tir lors de ce tour de jeu. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"","resumebonus":"Vous ne pouvez être pris pour cible par un tir lors de ce tour de jeu","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.hnkA6CnCJkdHGORI"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666775114481,"modifiedTime":1667638633085,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"WscgYDMcjQ0WhbA7","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Odeur du danger","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Votre instinct de survie est si développé qu’il confine au sixième sens. Si vous dépensez 1 point de Bonne Aventure en début de séance, le MJ vous préviendra, deux tours avant qu’elle n’agisse, d’une présence hostile à proximité, par exemple de brigands embusqués ou même d’une bête tapie dans l’ombre. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"","resumebonus":"Si vous dépensez 1 point de Bonne Aventure en début de séance, le MJ vous préviendra, deux tours avant qu’elle n’agisse, d’une présence hostile à proximité.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.05h45E9PFIGJiX4V"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666905619654,"modifiedTime":1667638633118,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"XBeq59sy1Q2B6OIV","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Élève doué(e)","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous êtes avide de connaissances et vous apprenez vite. Grâce à ce Talent, le développement des Compétences de Savoir (hors Sorcellerie) est moins coûteux en points d’Expérience : pour atteindre le niveau supérieur, vous dépenserez désormais un nombre de points équivalent au niveau à atteindre. Par exemple, passer du niveau 4 au niveau 5 en Savoir : Europe ne vous coûtera que 5 points. (L’acquisition d’un nouveau Savoir, elle, reste au même coût que les autres<br>Compétences.)</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.vu9cU1jIhXbtuRTN"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666901245487,"modifiedTime":1667638633104,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"YbrtButmBWqjmSte","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Oiseau de nuit","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous êtes habitué(e) à faire des nuits blanches. Ignorez toute Adversité bleue liée à la fatigue après une nuit sans sommeil. C’est seulement au bout de 48 heures sans dormir que vous subissez un malus.</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.h7S9o5qg02sORtPC"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666905690468,"modifiedTime":1667638633118,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"Z4tHo6NWFFXfwk3n","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Belle vente","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>En échange d’1 point de Bonne Aventure, vous vendez un objet que vous avez fabriqué au double de son prix. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"scenario","prerequis":"","resumebonus":"En échange d’1 point de Bonne Aventure, vous vendez un objet que vous avez fabriqué au double de son prix.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.WdGSTef9iczddRZ4"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666896677403,"modifiedTime":1667638633091,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"ZIzWi7iNFQ4u8Cld","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Insultes humiliantes","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Au prix d’une action complexe, vous accablez d’injures la cible de votre choix, ce qui lui inflige 1 Adversité bleue pour toute la durée de la scène. </p>\n<p>Note : le MJ devrait inviter le PJ à improviser une telle bordée d’injures à la table de jeu.</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"","resumebonus":"Au prix d’une action complexe, vous accablez d’injures la cible de votre choix, ce qui lui inflige 1 Adversité bleue pour toute la durée de la scène. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.mpcon8AsvSQ8JCGX"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666904491420,"modifiedTime":1667638633113,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"ZwRyFe6OyTEnRG9k","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Hypermnésie","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous avez une mémoire d’une étonnante acuité. Vous vous souvenez de tout ou presque. Lorsqu’un détail utile vous échappe, par exemple que vous ne vous souvenez plus d’une phrase prononcée par un PNJ lors de la séance précédente, demandez au MJ de vous la rappeler. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.l6j4zz6CY7WbKbI4"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666903590972,"modifiedTime":1667638633110,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"aGTmU6cbUSjWRbwh","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Ressources","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous avez le commerce dans le sang et vous trouvez toujours un moyen de gagner de l’argent, même quand vous n’avez rien à vendre ! En échange d’un point de Bonne Aventure, vous vous débrouillez pour récupérer 10 + 1d10 PA ou un objet d’une valeur équivalente.</p>\n<p>Note : le MJ devrait inviter le personnage à raconter à la table de jeu comment il s’y est pris.</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.YNb1MZglt5Kx1LC8"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666907037633,"modifiedTime":1667638633122,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"aMBBwr6Ipn8C1Ii8","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Corde sensible","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Si vous avez la possibilité de discuter plus de cinq minutes avec quelqu’un, vous devinez aisément ce que votre interlocuteur convoite, espère ou redoute (le MJ vous le révèle). Cette information vous permet de viser plus juste : vous bénéficiez d’un bonus de + 3 dans un test de Persuasion dont<br>il serait la cible. </p>","isautomated":true,"automations":[{"eventtype":"prepare-roll","name":"Automatisation 1","competence":"Persuasion","minLevel":0,"id":"JrmJWCJuCS5HxCvV","bonus":"3","baCost":"0"}],"talenttype":"personnage","utilisation":"sceance","prerequis":"","resumebonus":"Vous bénéficiez d’un bonus de + 3 dans un test de Persuasion dont\nil serait la cible. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.WX34fshBwcmLaqSR"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666899666247,"modifiedTime":1667638633099,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"at8LtDlEgkdEVps1","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Exaltation","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Si vous prenez le temps de communier avec ce qui fait l’objet de votre croyance (dix minutes au moins), vous atteignez un état de sérénité intérieure qui vous permet de défausser une Adversité bleue. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.ca55p2UHB75AQQY1"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666901757259,"modifiedTime":1667638633105,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"auFixcjbD52rSxHu","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Galimatias","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous savez parler dans une langue obscure, pleine de termes compliqués qui embrouillent l’esprit de votre interlocuteur. Quand vous dépensez 2 points de Bonne Aventure pour un test de Baratin (Persuasion), le bonus est de + 10.</p>\n<p>Note : le MJ devrait inviter le personnage à improviser ce propos alambiqué à la table de jeu.</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"Quand vous dépensez 2 points de Bonne Aventure pour un test de Baratin (Persuasion), le bonus est de + 10.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.R1w5NF07iKgpqI1P"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666902747212,"modifiedTime":1667638633108,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"bFFT84gkgybEpj41","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Trompe-l’oeil","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Si vous dépensez 1 point de Bonne Aventure, l’objet que vous produisez grâce à l’art que vous possédez au niveau 9 (sculpture ou peinture) est si parfaitement exécuté qu’il ressemble à s’y méprendre à son modèle réel. Il faut réussir un test de Clairvoyance + Persuasion / 25 pour remarquer l’illusion. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"Savoir : Peinture & Sculpture au niveau 9.","resumebonus":"Si vous dépensez 1 point de Bonne Aventure, l’objet que vous produisez grâce à l’art que vous possédez au niveau 9 (sculpture ou peinture) est si parfaitement exécuté qu’il ressemble à s’y méprendre à son modèle réel","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.SEvYDrbtczrZhS0k"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666941447428,"modifiedTime":1667638633129,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"bWVfw78hUa5uibnt","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Passe-partout","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Les serrures n’ont presque plus de secret pour vous. Lorsque vous faites un test de Filouterie afin de crocheter une porte, vous bénéficiez d’un + 3.</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"Filouterie 6.","resumebonus":"Lorsque vous faites un test de Filouterie afin de crocheter une porte, vous bénéficiez d’un + 3.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.TjDQlpT0asXGBwfU"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666905900995,"modifiedTime":1667638633119,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"bgJ2lEngn7UZMplj","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Coup dévastateur","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vos coups peuvent être surpuissants. Vous ajoutez votre niveau de Puissance / 2 (arrondi à l’inférieur) aux dégâts infligés en mêlée.</p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Mêlée","minLevel":"6","id":"7HSfr8L3CDZzwXrq"}],"talenttype":"personnage","utilisation":"sceance","prerequis":"Mêlée 6.","resumebonus":"Vous ajoutez votre niveau de Puissance / 2 (arrondi à l’inférieur) aux dégâts infligés en mêlée.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.6aa76XCuV2czNM7H"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666899784026,"modifiedTime":1667638633100,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"cQLCQafJydtoxmwy","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Massue","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous avez pris le coup de main, dirait-on. Lorsqu’un test de Filouterie est effectué dans le but d’assommer quelqu’un, vous bénéficiez d’un + 3. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"Filouterie 5.","resumebonus":"Lorsqu’un test de Filouterie est effectué dans le but d’assommer quelqu’un, vous bénéficiez d’un + 3. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.aN0WyT6NLBbXCysb"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666905173546,"modifiedTime":1667638633116,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"cTRoeHjWPLC2byRM","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Rudiments sorciers","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vos connaissances et votre capacité de réflexion vous permettent d’embrasser plus facilement la sorcellerie. Bifurquer vers ce Profil (voir p. 148) ne vous coûte aucun point d’Expérience. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.lrb4kanVjR4KILIQ"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666907129143,"modifiedTime":1667638633122,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"d7CNKeK4SvjFACmu","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Tir en mouvement","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous êtes habitué(e) à tirer tout en vous déplaçant. Le modificateur de difficulté lié à votre mouvement est ignoré lorsque vous entreprenez un test d’Armes à Distance.</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"Armes à distance 3.","resumebonus":"Le modificateur de difficulté lié à votre mouvement est ignoré lorsque vous entreprenez un test d’Armes à Distance.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.iIkpXrkHfNfUGj3S"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666908206838,"modifiedTime":1667638633128,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"dwxp90Jk7XqN2U8W","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Combat spectaculaire","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous vous battez avec panache et êtes passé(e) maître dans l’art de l’esbroufe. Chaque fois que vous le souhaitez, en Mêlée, vous pouvez remplacer votre Puissance par votre Présence.</p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Mêlée","minLevel":"5","id":"DsK3yYJAiJn1hRl4"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Mêlée 5.","resumebonus":"Chaque fois que vous le souhaitez, en Mêlée, vous pouvez remplacer votre Puissance par votre Présence.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.qKlK0NCzr3jyglqX"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666898845414,"modifiedTime":1667638633095,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"e7TD51nnPVxQm9te","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Sans défaut","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vos créations sont d’une fiabilité rare. Vous pouvez désormais fabriquer des objets technologiques dépourvus de « défaut courant » sans avoir à augmenter le Seuil de Difficulté. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"Savoir : Sorcellerie 9.","resumebonus":"Vous pouvez désormais fabriquer des objets technologiques dépourvus de « défaut courant » sans avoir à augmenter le Seuil de Difficulté. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.GaqLtivUAnb5l52t"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666907414058,"modifiedTime":1667638633124,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"eNBUTwuQ1T7kEERN","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Un début de piste","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous obtenez une information utile pour trouver ce que vous cherchez, que ce soit dans le cadre d’une traque ou d’une enquête (à la discrétion du MJ). </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.Chm6tGTv6hAyLNsq"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666941597449,"modifiedTime":1667638633129,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"eSV13Duqnq1Q9FoL","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Apothicaire","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous savez concocter des médicaments efficaces à partir des ressources que la nature vous offre. Lorsqu’un test de Soins mobilise spécifiquement votre capacité à préparer des remèdes, vous bénéficiez d’un + 3.</p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","script":"actor.checkCompetenceLevel(\"Soins\", 6)","id":"0yK8itn3My2acQNC","competence":"Soins","minLevel":"6"},{"eventtype":"prepare-roll","name":"Automatisation 1","script":"Soins","id":"HgfYLKYIJhDLGK7E","competence":"Soins","bonus":"3","baCost":"0"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Soins 6\n","resumebonus":"Lorsqu’un test de Soins mobilise spécifiquement votre capacité à préparer des remèdes, vous bénéficiez d’un + 3.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.f5ebvKSxdGhadC9N"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666804511354,"modifiedTime":1667638633086,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"eWRdApL6JwNlPQGJ","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Pédagogue","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous êtes un(e) très bon enseignant(e). À votre contact, il est facile d’apprendre. Vous pouvez transmettre une partie de vos connaissances et de vos savoir-faire à un PJ ou un PNJ de votre choix. Il suffit pour cela que vous possédiez un niveau supérieur au sien dans une Compétence donnée, quelle qu’elle soit. Le MJ déterminera la durée requise par l’apprentissage. Au terme de celle-ci, votre disciple acquiert un niveau supplémentaire de Compétence en dépensant 1 point d’Expérience de moins que la règle ne le requiert. Par exemple, s’il veut passer du niveau 4 au niveau 5 en Soins, il ne dépense que 5 points. Si c’est un PNJ, on considère que cette amélioration est automatique. (Permanent, mais un seul élève à la fois.)</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.XguOVxl45uaZ5TXh"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666905983128,"modifiedTime":1667638633119,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"eytzPHlgk5jSBdaa","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Valeur des choses","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous connaissez de mieux en mieux la valeur des biens et des services. Lorsque vous faites un test de Commerce dans le but d’évaluer un prix, vous bénéficiez d’un + 3. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"Commerce 6.","resumebonus":"Lorsque vous faites un test de Commerce dans le but d’évaluer un prix, vous bénéficiez d’un + 3. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.0lXv0zahWLbF2Wuo"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666941745606,"modifiedTime":1667638633129,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"fC9aHrXMowHKWiY4","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Foi","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous pouvez puiser dans la force de votre croyance pour trouver les moyens de vous dépasser. Quand vous utilisez ce Talent lors d’un test de Capacité, vous ignorez toutes les Adversités d’ores et déjà encaissées. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"Savoir : Religions 9.","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.pxWFWmVf0XoR3bx6"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666902238577,"modifiedTime":1667638633107,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"fVXKpf7PGWnUvf6n","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Science infuse","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>On dit que toutes les connaissances ne sont que les branches d’un seul et même Grand Savoir. Votre excellence dans une discipline est telle qu’elle vous permet, par comparaison et déduction, de comprendre des phénomènes qui ne lui sont pourtant pas liés. Quand vous dépensez 2 points de Bonne Aventure pour un test dans n’importe quel Savoir (hors Sorcellerie et Pilotage), y compris dans un Savoir que vous n’avez pas développé, vous bénéficiez d’un bonus de + 10. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.eNuTga1VVFY4aat8"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666907538295,"modifiedTime":1667638633125,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"fWUAhNb3lOJnrGRM","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Fouine","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous savez trouver ce dont vous avez besoin et réduisez de 3 la Rareté d’un objet. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.llgw8TnEF9FM0UmY"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666902329453,"modifiedTime":1667638633108,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"fcrN95V37pFD6pqK","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Infatigable","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous pouvez défausser toutes les Adversités liées à la fatigue.</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.ZZJzT1AU6szABhho"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666903874776,"modifiedTime":1667638633111,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"ffcfCvi0kfXnWD6g","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Hôte de marque","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous êtes souvent perçu(e), en cette époque d’ignorance, comme une personne importante, un esprit accompli dont les connaissances si profondes pourraient changer la face du monde. Quand vous le souhaitez (avec l’accord du MJ), un PNJ peu instruit tombe en admiration devant votre personne et vous ouvre grand les portes de sa demeure. Vous et vos compagnons êtes ses invités et il tiendra à vous choyer. Il se passera 1d20 jours avant qu’il montre un peu d’embarras à l’idée de devoir loger et nourrir tout ce monde. (Peu utile du point de vue de l’aventure, il ne fera pas grand-chose d’autre pour vous : ne comptez pas sur lui pour vous introduire dans le milieu interlope de sa ville, par exemple.)</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"scenario","prerequis":"Un Savoir à 9.","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.H8mucsmctjXDXsib"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666903525397,"modifiedTime":1667638633110,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"g0qeiKdVEGehEFGk","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Plaidoyer improbable","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Contre 2 points de Bonne Aventure, vous obtenez un succès automatique en Persuasion équivalent à un SD 25. Par exemple, pris(e) en flagrant délit d’intrusion dans une demeure, vous pouvez convaincre son propriétaire que vous vous êtes réfugié(e) là pour échapper à des brigands.</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"Persuasion 9.","resumebonus":"Contre 2 points de Bonne Aventure, vous obtenez un succès automatique en Persuasion équivalent à un SD 25.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.NdLNFcAE9NfdmBQU"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666906241461,"modifiedTime":1667638633119,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"gKZLEAXHlyx22Urb","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Santé de fer","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous êtes particulièrement endurant face aux drogues, aux maladies et aux poisons. Leur Virulence est abaissée de 3 points lorsque vous faites un test pour y résister.</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"Vous êtes particulièrement endurant face aux drogues, aux maladies et aux poisons. Leur Virulence est abaissée de 3 points lorsque vous faites un test pour y résister.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.QIOIBgVmmJ3mUpnx"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666907476935,"modifiedTime":1667638633124,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"gafonUMHwNd5QefL","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Toutes les églises","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous avez une connaissance très étendue des cultes d’Europe. Quand vous dépensez 2 points de Bonne Aventure pour un test de Savoir : Religions, le bonus est de + 10. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"Quand vous dépensez 2 points de Bonne Aventure pour un test de Savoir : Religions, le bonus est de + 10. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.9SUk76CE1WaNUnSA"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666941266504,"modifiedTime":1667638633128,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"gzk1mCXonfKZBi7S","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Art de la fuite","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Il est très difficile de vous rattraper. Dans le cadre d’une course-poursuite, si vous êtes la personne qui fuit, votre avantage dure même si votre opposant remporte la première opposition (voir la règle de course-poursuite, p. 197).</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"Si vous êtes la personne qui fuit, votre avantage dure même si votre opposant remporte la première opposition ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.20kSOGqK6szqqiLN"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666814906313,"modifiedTime":1667638633087,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"h5vcvdYGsqhfz2HV","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Sagesse terrienne","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Votre compréhension de la nature et vos connaissances à son sujet sont maintenant si étendues qu’elles semblent couler de source. Tous les tests de Savoir : Monde naturel dont le SD est inférieur à 20 sont considérés comme automatiquement réussis. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"Savoir : Monde naturel 9.","resumebonus":"Tous les tests de Savoir : Monde naturel dont le SD est inférieur à 20 sont considérés comme automatiquement réussis. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.Px5GJ8jTn8WRxtSM"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666907289313,"modifiedTime":1667638633123,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"h6IcpsghknwSt90R","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Esquive","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>À ce tour, vous ne pouvez être pris(e) pour cible d’une attaque de Mêlée. Pour utiliser ce Talent, vous devez être conscient(e) que vous allez être attaqué(e). </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.W8wCNpmptPVFhdat"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666901712078,"modifiedTime":1667638633105,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"hNnMPfqYPGuOj8V7","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Crapule","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous maîtrisez l’art du combat… déloyal. En mêlée, lorsque vous entreprenez de porter un coup bas à votre adversaire, vous bénéficiez d’un bonus de + 3. </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Mêlée","minLevel":"6","id":"gQe5UQj52Qd8Llc9"},{"eventtype":"prepare-roll","name":"Automatisation 1","competence":"Mêlée","minLevel":0,"id":"r4ccusy6MeWp3Y4s","bonus":"3","baCost":"0"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Mêlée 6.","resumebonus":"En mêlée, lorsque vous entreprenez de porter un coup bas à votre adversaire, vous bénéficiez d’un bonus de + 3. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.rUJRfR1LPg8rs1Mf"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666899889452,"modifiedTime":1667638633100,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"hyjkCHGO8GbZCA1U","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Sacrifice","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous pouvez vous jeter en avant et encaisser à sa place la blessure d’un autre personnage à proximité de vous (un nombre de mètres égal à votre Vitesse). Cette action est gratuite et vous la déclarez au moment où la blessure a lieu. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"Mêlée 9.","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.yxKgBUQ7zzeDgl1H"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666907209955,"modifiedTime":1667638633123,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"i7voDtooeaqv1JwC","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Concentration aiguë","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Si vous consacrez deux actions consécutives à vous concentrer (et que rien ne vient vous perturber), votre prochain test (s’il mobilise la Clairvoyance ou l’Adresse) bénéficiera d’un + 3. Si l’action qui suit votre temps de concentration ne lui est pas liée, vous perdez ce bonus. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"","resumebonus":"Si vous consacrez deux actions consécutives à vous concentrer (et que rien ne vient vous perturber), votre prochain test (s’il mobilise la Clairvoyance ou l’Adresse) bénéficiera d’un + 3.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.QMjfHMLVFkGpxBfo"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666899270329,"modifiedTime":1667638633097,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"iMA5OTD0hFqzvKcV","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Arme à terre","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous maîtrisez très bien l’art de désarmer un adversaire. Lorsqu’un test de Mêlée est effectué dans ce but, vous bénéficiez d’un + 3. </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","script":"actor.checkCompetenceLevel(\"Mêlée\", 6)","id":"nG1czV3z9NlRJy5J","competence":"Mêlée","minLevel":"6"},{"eventtype":"prepare-roll","name":"Automatisation 1","script":"Mêlée","id":"ovV0TJsNwyMD6cSv","competence":"Mêlée","bonus":"3","baCost":"0"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Mêlée 6","resumebonus":"Lorsqu’un test de Mêlée est effectué dans ce but, vous bénéficiez d’un + 3. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.4Ljz4qBrEqrhppQ9"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666804631140,"modifiedTime":1667638633087,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"iwb9KPtNuGifoMS3","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Deux mains droites","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous avez atteint un extraordinaire niveau d’ambidextrie. Votre première attaque s’effectue sans malus, la seconde avec un malus de – 3. </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Ambidextre","minLevel":"9","id":"SL6ZQVz2OGXTbgHe"},{"eventtype":"on-drop","name":"Automatisation 1","competence":"Mêlée","minLevel":"9","id":"wWI9Wqp2p3kPfNbt"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Posséder Ambidextre et Mêlée 9.","resumebonus":"Votre première attaque s’effectue sans malus, la seconde avec un malus de – 3. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.KAFQUX3YACrVDkTA"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666900638129,"modifiedTime":1667638633102,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"jQbsequYwtpDxIVj","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Prestige","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous inspirez de l’admiration auprès des femmes et des hommes qui pratiquent votre métier sans en maîtriser aussi bien que vous les arcanes. Contre 2 points de Bonne Aventure, vous entrez en relation avec l’un d’eux, qui vous reçoit avec les égards dus à votre rang. Considérez-le comme un Contact de niveau 3, prêt à vous aider en échange d’un peu de votre temps (consacré à lui dispenser vos lumières). </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"scenario","prerequis":"","resumebonus":"Contre 2 points de Bonne Aventure, vous entrez en relation avec l’un d’eux, qui vous reçoit avec les égards dus à votre rang. Considérez-le comme un Contact de niveau 3, prêt à vous aider en échange d’un peu de votre temps.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.KGNaF5U8LOaKKJKs"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666906583740,"modifiedTime":1667638633120,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"jYRpuOidTxsYUPA1","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Mécanicien(ne)","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>La mécanique est devenue l’un des domaines où vous excellez. Lorsqu’un test de Sorcellerie mobilise majoritairement cette branche de votre savoir, vous bénéficiez d’un + 2. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"Prédilection Mécanique et Savoir : Sorcellerie 6.","resumebonus":"Lorsqu’un test de Sorcellerie mobilise majoritairement cette branche de votre savoir, vous bénéficiez d’un + 2","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.U65NXmyfIGnxX08z"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666905287760,"modifiedTime":1667638633116,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"jrx0Cb6h3KS3gkt7","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Trésor caché","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous avez une capacité ahurissante à localiser l’objet ou la marchandise que vous souhaitez acquérir, même quand cela paraît hautement improbable. Lorsque vous utilisez ce Talent, l’objet se révèle être disponible dans les environs. Reste maintenant à entrer en sa possession…</p>\n<p>Note : le MJ et le joueur devraient discuter ensemble de la manière dont cet objet se retrouve là.</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"scenario","prerequis":"Posséder le Talent Fouine.","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.YANShmKW6ZIwlqqv"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666941365798,"modifiedTime":1667638633129,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"k86AYt1uw6vBBgL4","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Bonne route","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Habitué(e) à vous déplacer, vous connaissez les périls et les tribulations de la route. Vous bénéficiez d’1 point de Bonne Aventure gratuit dans une situation où vous avez à affronter<br>une difficulté liée au voyage (négociation d’un prix auprès d’un aubergiste, traversée d’une rivière à gué, recherche d’un endroit pour camper, etc.). </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"","resumebonus":"Vous bénéficiez d’1 point de Bonne Aventure gratuit dans une situation où vous avez à affronter une difficulté liée au voyage ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.AuevlTF7zJdj8QyL"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666896963565,"modifiedTime":1667638633092,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"kAVyJuuoFGsI0VHz","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Âme animale","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Votre compréhension des animaux est si grande que vous semblez en mesure de déchiffrer leur langage et leurs pensées. Si vous dépensez 1 point de Bonne Aventure, le MJ vous donne des indications sur ce qu’un mammifère ou un oiseau est en train de communiquer à ses semblables. De même, vous pouvez, sans dépense de BA, reproduire leur langage afin de leur transmettre des messages rudimentaires (par exemple : « Moi pas danger pour toi » ou « Moi traverser chez toi ».) </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","script":"actor.checkCompetenceLevel(\"Savoir : Monde naturel\", 9)","id":"4oD6f598tf0AyaIq","competence":"Savoir : Monde naturel","minLevel":"9"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Savoir : Monde naturel 9.","resumebonus":"1 point de Bonne Aventure, indications sur ce qu’un animal est en train de communiquer à ses semblables. Sans dépense de BA, reproduire leur langage afin de leur transmettre des messages rudimentaires.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.2TeaWqlPgShIsTSq"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666804324621,"modifiedTime":1667638633086,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"kYtfnQfmpTWxwGt9","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Dans chaque port","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Même chose qu’@UUID[Compendium.fvtt-hawkmoon-cyd.talents.UOEolcYPAMHV9jNK]{ALLIÉS DE POIDS} (voir p. 167), mais les Alliés sont de niveau 1 et la zone dans laquelle ils se trouvent possède obligatoirement un port ou un littoral. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"scenario","prerequis":"","resumebonus":"Personnes qui se comporteront avec vous comme des Alliés de niveau 1. Chacun de ces Alliés ne vous aidera qu’une seule fois.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.f5aGzDoWY9t0P1v9"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666900264043,"modifiedTime":1667638633101,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"kwVjT9LvsEpMGIjs","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Sous la main","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous avez l’habitude de vous battre avec ce qui vous tombe sous la main. Les armes improvisées ne causent la perte que d’un seul niveau de Combativité en cas de réussite simple ? Pas quand vous les maniez. En cas de réussite simple, vous lancez un d10, comme s’il s’agissait d’une arme normale.</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.q2Hdd1MtM10Lt3AO"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666907955009,"modifiedTime":1667638633127,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"m1YHV1M2sFZQfJ56","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Savoir druidique","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous comprenez le chant du monde comme une langue maternelle. Quand vous dépensez 2 points de Bonne Aventure, le bonus à votre test de Savoir : Monde naturel est de + 10. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"Quand vous dépensez 2 points de Bonne Aventure, le bonus à votre test de Savoir : Monde naturel est de + 10. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.Z6IVtLn2g1NTuoZk"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666907507886,"modifiedTime":1667638633124,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"mChIOEmLkQriVxkR","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Parade","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous avez développé, en combat, l’art de parer les coups. Votre Seuil de Défense est augmenté d’un point. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"Mêlée 6.","resumebonus":"Vous avez développé, en combat, l’art de parer les coups. Votre Seuil de Défense est augmenté d’un point. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.LFMsAxdir7MiMBjQ"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666905763861,"modifiedTime":1667638633118,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"mN54PDKiYBk4mXbR","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Tout-terrain","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous avez l’habitude d’évoluer sur des terrains difficiles. Lorsque vous vous déplacez, le modificateur de difficulté lié au terrain est ignoré ou amoindri. Le SD que vous devez atteindre pour un test donné est en conséquence diminué de deux ou trois niveaux, à la discrétion du MJ. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.cir8bwIl5fQ6EjKl"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666941298020,"modifiedTime":1667638633128,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"mZGH7DQuNP6c5GcE","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Coûts maîtrisés","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous êtes en mesure de diviser par deux le coût de fabrication de tous les artefacts technologiques que vous créez.</p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Savoir : Sorcellerie","minLevel":"6","id":"Br7QaKQsWXdkUOuu"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Savoir : Sorcellerie 6.","resumebonus":"Vous êtes en mesure de diviser par deux le coût de fabrication de tous les artefacts technologiques que vous créez.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.TWBovBcpp4fd2lk1"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666899840277,"modifiedTime":1667638633100,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"mZzzd66l7wyZBgZu","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Encaissement","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous avez appris à souffrir et à surmonter la douleur. Quand votre état atteint le niveau Affaibli, ignorez les deux Adversités qui vous sont infligées jusqu’à la fin de la scène. Une fois le combat ou la scène achevé(e), prenez normalement en compte ces deux Adversités. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.paT3LilYY44t8Jxz"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666901415829,"modifiedTime":1667638633104,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"mkHqOHLGKEU0zeMi","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Fantôme","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vos déplacements sont si furtifs que vous semblez disparaître entièrement dans votre environnement : lorsque vous dépensez 2 points de Bonne Aventure pour un test de Discrétion<br>mobilisant vos capacités à vous déplacer en silence ou à vous cacher, vous bénéficiez d’un + 10. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"Discrétion 6.","resumebonus":"Lorsque vous dépensez 2 points de Bonne Aventure pour un test de Discrétion\nmobilisant vos capacités à vous déplacer en silence ou à vous cacher, vous bénéficiez d’un + 10. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.Q4f65s8U0MS1Ho00"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666901885151,"modifiedTime":1667638633106,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"mu0CZri4vQn01IZ6","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Insoupçonnable","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous savez très bien vous faire passer pour quelqu’un de respectable. Quand vous dépensez 2 points de Bonne Aventure, le bonus à votre test de Soupçons (Persuasion) est de + 10. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"Quand vous dépensez 2 points de Bonne Aventure, le bonus à votre test de Soupçons (Persuasion) est de + 10. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.vlrdr2cPqCj0MPBl"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666904022185,"modifiedTime":1667638633112,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"nNUcmEGqRPLlxZUu","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Poisson","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous nagez avec une très grande aisance. Quand vous dépensez 2 points de Bonne Aventure pour un test de Nage, le bonus est de + 10. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"Nage 6.","resumebonus":"Quand vous dépensez 2 points de Bonne Aventure pour un test de Nage, le bonus est de + 10. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.lYuW6UAsYVFMJFa6"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666906468492,"modifiedTime":1667638633120,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"na27gCUhSNMPsaJm","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Plus loin","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Dépensez 2 points de Bonne Aventure pour faire preuve d’une puissance exceptionnelle dans le maniement d’une arme de jet. Sur ce lancer, sa portée est doublée. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"Armes à distance 6.","resumebonus":"Dépensez 2 points de Bonne Aventure pour faire preuve d’une puissance exceptionnelle dans le maniement d’une arme de jet. Sur ce lancer, sa portée est doublée. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.CcVTuQHOof9Rv8M0"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666906353182,"modifiedTime":1667638633120,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"neqkOeNm42Uj7kb7","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Adepte dévoué","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Il ne vous faut que quelques minutes dans un lieu public pour trouver un nouvel adepte : un individu faible ou crédule qui vous regarde comme une personnalité auguste et va vous<br>entretenir durant les jours qui viennent (10 + 1d10 jours avant qu’il ne manifeste son embarras). Cette personne (qui ne peut être l’un des PNJ décrits dans un scénario) n’ira pas jusqu’à se ruiner pour vous, mais elle vous donnera jusqu’à 5 pièces d’argent pour vos dépenses quotidiennes, vous logera et vous nourrira si vous le lui demandez, vous introduira avec enthousiasme à toutes les personnes qu’elle connaît.<br><br></p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"scenario","prerequis":"Savoir : Religions 9","resumebonus":"Vous entretient durant 10 + 1d10 jours, vous donnera jusqu’à 5 PA/jour","used":false,"resumebeonus":""},"effects":[],"flags":{"core":{"sourceId":"Item.9YwjFxFEQij7Br4t"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666775114481,"modifiedTime":1667638633085,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"nzrlzktBe6HeCoa7","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Injonction","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous excellez à mener un groupe : lorsqu’un test de Coercition mobilise spécifiquement votre capacité de commandement, vous bénéficiez d’un + 3.</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"Coercition 6.","resumebonus":"Lorsqu’un test de Coercition mobilise spécifiquement votre capacité de commandement, vous bénéficiez d’un + 3.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.RJ70ipG1qQ8GWODJ"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666903927349,"modifiedTime":1667638633111,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"o3kFC7XW5PuTpDlk","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Instinct de l’hérétique","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous le savez, vous et vos semblables risquez à tout moment le bûcher. Vous avez développé votre instinct de préservation. Vous disposez d’1 point de Bonne Aventure gratuit lorsque vous effectuez un test de Capacité afin de vous évader, de vous désengager d’un combat (voir p. 208), ou de semer vos poursuivants. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"","resumebonus":"Vous disposez d’1 point de Bonne Aventure gratuit lorsque vous effectuez un test de Capacité afin de vous évader, de vous désengager d’un combat (voir p. 208), ou de semer vos poursuivants. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.GGWZZ12gBHBrJ9TV"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666904391775,"modifiedTime":1667638633112,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"oHH1jiIV02e3vnUe","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"En premier","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Contre 2 points de Bonne Aventure, vous êtes le premier à agir, sauf si un autre personnage utilise le même Talent. Dans ce cas, un test d’Initiative vous départage. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"Contre 2 points de Bonne Aventure, vous êtes le premier à agir, sauf si un autre personnage utilise le même Talent.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.Zs3YlVTmltHr0ZP2"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666901447358,"modifiedTime":1667638633104,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"p72dFAM437rJzcB9","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"De maître","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>L’objet que vous produisez grâce à l’artisanat que vous possédez au niveau 6 voit l’une de ses valeurs augmentée de + 1. Par exemple, une armure de cuir confère une valeur de Protection de 7, une épée large cause 1d10 + 2 points de dégâts ou procure un bonus offensif augmenté de 1, une selle et un harnachement procurent un + 1 en Monte, etc. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"scenario","prerequis":"","resumebonus":"L’objet que vous produisez grâce à l’artisanat que vous possédez au niveau 6 voit l’une de ses valeurs augmentée de + 1.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.h93jTOJrs50JiP2A"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666900559412,"modifiedTime":1667638633101,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"pr5OIlPmfnOsZKgL","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Joies de la création","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Si vous prenez le temps de vous adonner à votre art (deux heures d’affilée au minimum), vous obtenez le résultat espéré : poème singulier, dessin inspiré, mélodie pénétrante, etc. Cette satisfaction vous permet de défausser une Adversité bleue. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.jDSiY0qM5HIyv5Yl"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666904799757,"modifiedTime":1667638633114,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"qDpI0RwRSjjLa7Hn","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Résolution","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vos nerfs sont devenus d’acier. Quand vous dépensez 2 points de Bonne Aventure pour un test de Trempe x 2, le bonus est de + 10.</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"Quand vous dépensez 2 points de Bonne Aventure pour un test de Trempe x 2, le bonus est de + 10.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.HjcEXXRvRyfIwUnz"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666907013766,"modifiedTime":1667638633122,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"qJxjyp9wK7ZOF0yN","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Dans le caniveau","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>La rue est votre élément et vous savez vous fondre dans les quartiers mal famés comme si vous y étiez né(e). Quand vous dépensez 2 points de Bonne Aventure pour un test de Savoir :<br>Bas-fonds, le bonus est de + 10. </p>","isautomated":true,"automations":[{"eventtype":"prepare-roll","name":"Automatisation 1","competence":"Savoir : Bas-fonds","minLevel":0,"id":"KPpzkoHKneourkX9","bonus":"10","baCost":"2"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"Quand vous dépensez 2 points de Bonne Aventure pour un test de Savoir :\nBas-fonds, le bonus est de + 10. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.xefc9zKMJg211FC4"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666900398923,"modifiedTime":1667638633101,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"qjL7kSOtZT5IHHMf","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Sorcellerie de l’âme","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>La science du comportement est un domaine dans lequel vous excellez. Lorsqu’un test de Sorcellerie mobilise majoritairement cette branche de votre savoir, vous bénéficiez d’un + 2. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"Prédilection Science de l’esprit et Savoir : Sorcellerie 6.","resumebonus":"Lorsqu’un test de Sorcellerie mobilise majoritairement cette branche de votre savoir, vous bénéficiez d’un + 2. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.HPv2JJHlFfAqa4ZS"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666907717448,"modifiedTime":1667638633126,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"r2OUXLLNoU69XdrW","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Chevalier d’industrie","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Votre capacité à vous enrichir est proprement stupéfiante. En échange de 2 points de Bonne Aventure, vous trouvez le moyen de récupérer 50 PA ou une marchandise d’une valeur équivalente (en accord avec le MJ). <br><br>Note : le MJ devrait inviter le personnage à raconter à la table de jeu comment il s’y est pris.</p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Commerce","minLevel":"6","id":"C2591d0vqOG0bEEk"}],"talenttype":"personnage","utilisation":"scenario","prerequis":"Commerce 6.","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.jY35bLiCRmhFMeny"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666898328456,"modifiedTime":1667638633094,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"r3ijvgI1WJcUwP9f","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Furia","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous êtes capable de défier plusieurs adversaires en même temps – et de triompher d’eux. Lorsque vous affrontez des Anonymes en mêlée, si vous réussissez votre test en opposition contre l’un d’entre eux, vous avez la possibilité de répartir les points de dégâts infligés entre cette cible et plusieurs autres à proximité (voir les règles de combat contre les Anonymes p. 205). </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"Mêlée 9.","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.WDy2fLk9O8pz0ex0"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666902433764,"modifiedTime":1667638633108,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"raXdjSsDgMUh7rXI","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Instrument de choix","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous avez un goût prononcé pour un instrument, sur lequel vous passez de longues heures à jouer. Lorsqu’un test de Savoir : Musique mobilise spécifiquement votre aptitude à jouer de cet instrument, vous bénéficiez d’un + 3.</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"Savoir : Musique 3.","resumebonus":"Lorsqu’un test de Savoir : Musique mobilise spécifiquement votre aptitude à jouer de cet instrument, vous bénéficiez d’un + 3.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.zejXqg3LcM26tOhS"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666904449950,"modifiedTime":1667638633113,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"raq8X453dLSYbkkd","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Docte","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous êtes devenu un puits de culture dans un domaine spécialisé qui relève du champ de votre Savoir maîtrisé au niveau 6 (par exemple, l’histoire technologique pour le Savoir : Monde ancien, ou la géopolitique française pour le Savoir : Europe). Lorsqu’un test du Savoir choisi mobilise spécifiquement votre spécialisation, vous bénéficiez d’un + 3. </p>\n<p>Note : ce Talent peut être choisi plusieurs fois, pour différents Savoirs de niveau 6 et différents domaines de spécialité.</p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Savoir*","minLevel":"6","id":"m13ToAU5VjtJGdih"},{"eventtype":"prepare-roll","name":"Automatisation 1","competence":"Savoir*","minLevel":0,"id":"gziLYiSjHTPuZfsT","bonus":"3","baCost":"0"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Ce Savoir à 6.","resumebonus":"Lorsqu’un test du Savoir choisi mobilise spécifiquement votre spécialisation, vous bénéficiez d’un + 3. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.Kssk3sEnVAr9rVon"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666900859295,"modifiedTime":1667638633103,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"rqtOeNTLPGVBtBxh","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Sublime","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous réalisez une oeuvre d’art ou une performance artistique d’une qualité inouïe. Ce Talent vous fait gagner 1 point d’Éclat. (Prérequis : Savoir : un art 9.)</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"scenario","prerequis":"Savoir : un art 9.","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.NqL6pqVMGJsgevxp"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666908029181,"modifiedTime":1667638633127,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"sNfj5ZyjWGIEYu6i","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Entourloupe","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous réussissez à vendre un objet ou un service cinq fois plus cher, ou à l’acheter cinq fois moins cher. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"scenario","prerequis":"Commerce 9.","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.0dLSRk16GP3G4Uqp"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666901533381,"modifiedTime":1667638633104,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"sSCVKkfFpLBNryf9","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Galop","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Doué(e) avec les chevaux, vous parvenez à augmenter de 20 % la vitesse de votre monture. Si vous êtes engagé(e) à cheval dans une course-poursuite et que vous êtes celui ou celle qui poursuit, votre opposant n’est pas avantagé et c’est vous qui l’êtes : vous bénéficiez d’un bonus de + 3. Si vous êtes la personne qui fuit, votre avantage est un bonus de + 5 et vous le conservez pendant toute la durée de l’opposition (voir les règles de course-poursuite, p. 197). </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.arB7YjctiMKOs9hg"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666902792906,"modifiedTime":1667638633108,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"se2CFYTmmSdBPVl6","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Bienfaits de l’étude","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>La méditation intellectuelle sur votre matière favorite est une source de bien-être. Lorsque vous pouvez consacrer quatre heures d’affilée au Savoir dans lequel vous excellez, vous récupérez 2 points de Bonne Aventure (sans pouvoir dépasser votre valeur de base). <br><br></p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Savoir*","minLevel":"9","id":"aACSPU6eBeJzrdjG"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"un Savoir 9.","resumebonus":"Lorsque vous pouvez consacrer quatre heures d’affilée au Savoir dans lequel vous excellez, vous récupérez 2 points de Bonne Aventure (sans pouvoir dépasser votre valeur de base). ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.G3xekqW2zFwnM59e"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666896734107,"modifiedTime":1667638633091,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"t4DXWPsHdm42Pwf5","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Contact facile","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous connaissez les codes et les usages du milieu indiqué par votre Profil, où vous évoluez avec aisance, et le MJ doit en tenir compte dans vos interactions avec des représentants de ce monde. Quand vous dépensez 2 points de Bonne Aventure pour un test de Persuasion auprès de l’un d’eux, le bonus est de + 10.</p>","isautomated":true,"automations":[{"eventtype":"prepare-roll","name":"Automatisation 1","competence":"Persuasion","minLevel":0,"id":"jHxfe64T5tL2hbIM","bonus":"10","baCost":"2"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"Quand vous dépensez 2 points de Bonne Aventure pour un test de Persuasion auprès de l’un d’eux, le bonus est de + 10.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.621GBGhM78KFfNtE"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666899499393,"modifiedTime":1667638633098,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"uByB4WVwPG71pqf2","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Beau jeu","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Si vous jouez contre un adversaire qui ne possède pas ce Talent, vous gagnez automatiquement la partie. </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","script":"actor.checkCompetenceLevel(\"Savoir : Jeu\", 6)","id":"DJTZ0shacXBGoWEt","competence":"Savoir : Jeu","minLevel":"6"}],"talenttype":"personnage","utilisation":"sceance","prerequis":"Savoir : Jeu 6.","resumebonus":"Si vous jouez contre un adversaire qui ne possède pas ce Talent, vous gagnez automatiquement la partie.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.t0t0ADIYahlg5o94"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666815449703,"modifiedTime":1667638633090,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"uR2RvvOJLggGDpef","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Symbiose","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Dans le milieu choisi ou indiqué par votre Profil, vous récupérez plus vite de vos blessures. Au bout d’un jour passé dans cet environnement, le temps de convalescence est divisé par deux, même si vous n’y séjournez pas plus longtemps : vous défaussez donc une Adversité noire tous les deux jours. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"Survie 9.","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.07eHaZuTWcs2Z2TL"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666908062240,"modifiedTime":1667638633127,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"upMEfIrJjMmCckFe","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Sang-froid","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous êtes le plus souvent imperméable à la peur. Vous bénéficiez d’un bonus de + 3 pour un test de Trempe. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"","resumebonus":"Vous bénéficiez d’un bonus de + 3 pour un test de Trempe. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.UxpKZSSLeelMFaUk"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666907335223,"modifiedTime":1667638633123,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"v8kcbkXp6xs6ONMR","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Sagacité","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous êtes très sensible aux émotions et connaissez bien l’âme humaine : lorsqu’un test de Perception mobilise spécifiquement l’empathie, vous bénéficiez d’un + 2. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"Perception 6.","resumebonus":"Lorsqu’un test de Perception mobilise spécifiquement l’empathie, vous bénéficiez d’un + 2. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.1eEl5CBKju9FJp7l"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666907248024,"modifiedTime":1667638633123,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"w1j4QZJEQdrfwSTT","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Compliment","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous savez trouver les mots qui font plaisir et flattent l’ego. Quand vous utilisez ce Talent, la cible gagne 1 point de Bonne Aventure à dépenser dans l’heure. </p>\n<p> </p>\n<p>Note : le MJ devrait inviter le PJ à improviser une telle flatterie à la table de jeu.</p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Persuasion","minLevel":"4","id":"75Y9yl20clshfdHV"}],"talenttype":"personnage","utilisation":"sceance","prerequis":"Persuasion 4.","resumebonus":"Quand vous utilisez ce Talent, la cible gagne 1 point de Bonne Aventure à dépenser dans l’heure. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.v3d5VfQDO0kBSLF2"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666899036123,"modifiedTime":1667638633096,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"wSDaMCpFpULIH2NE","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Loup de toutes les mers","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous avez tant écumé les mers que vous êtes devenu(e) expert(e) sur le pont d’un bateau. Tous les tests de Navigation dont le SD est inférieur à 20 sont considérés comme automatiquement réussis. De plus, dans une course-poursuite entre deux navires, si votre navire est le poursuivant, votre opposant n’est pas avantagé et c’est au contraire vous qui obtenez un bonus (d’une valeur de + 3). Si vous êtes à la barre du navire fugitif, votre avantage est un bonus de + 5 et vous le conservez pendant toute la durée de l’opposition (voir les règles de course-poursuite, p. 197). </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"Navigation 9.","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.aA5HPx6Z1MjoqCqG"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666904971119,"modifiedTime":1667638633114,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"xjh4Gl8Us4gt6dev","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Vernis scientifique","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous savez vous donner un air de savant, en utilisant un vocabulaire d’homme cultivé et en convoquant des références qui en imposent. Si le MJ estime que la cible peut être réceptive à ce type d’approche, quand vous dépensez 2 points de Bonne Aventure pour un test de Charme Persuasion), le bonus est de + 10.</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"Quand vous dépensez 2 points de Bonne Aventure pour un test de Charme Persuasion), le bonus est de + 10.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.ttnnTBohJXUokNFl"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666941916838,"modifiedTime":1667638633130,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"xwtvd7kdJWI3tQYu","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Mains qui guérissent","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Au cours de vos expéditions, vous avez appris différentes méthodes pour soulager la douleur et soigner les plaies. Lorsqu’un test de Soins mobilise spécifiquement votre capacité à administrer des premiers soins, vous bénéficiez d’un + 2. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"Soins 6.","resumebonus":"Lorsqu’un test de Soins mobilise spécifiquement votre capacité à administrer des premiers soins, vous bénéficiez d’un + 2.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.cCu7ZwSiG6UmgReD"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666905047646,"modifiedTime":1667638633115,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"yfF5bD1GYlR51rmC","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Jamais surpris(e)","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous avez développé une grande réactivité. Lorsqu’un opposant vous surprend, il agit avant vous, mais vous ne perdez pas votre action à ce tour de jeu.</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.1fh6tmay5bWTtInu"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666904765534,"modifiedTime":1667638633114,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"ynI0uPyfsgwZaBYQ","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Progrès","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Votre savoir scientifique et votre recherche de la perfection vous rendent capables d’améliorer le fonctionnement de n’importe quel objet ou presque. Quand vous vous associez à un artisan, votre excellence en Sorcellerie est en mesure de bonifier sa création. Déterminez l’avantage produit en accord avec le MJ. Vous pourriez, par exemple, augmenter de 1 la valeur de dégâts d’une arme ou la valeur de Protection d’une armure, réduire de 1 son encombrement, donner à une cape ou à des bottes un bonus pour les tests de Discrétion, etc.</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"Savoir : Sorcellerie 9.","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.Z6VObNuTRQQX9l6T"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666906672374,"modifiedTime":1667638633121,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"yskYZJCord78PSdT","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Invaincu(e)","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous faites preuve d’une résistance hors du commun. Lorsque vous atteignez l’état Vaincu, vous êtes encore en mesure d’agir et de vous battre. Vous subissez les Adversités de cet état, mais il faut vous infliger des dégâts supérieurs à votre Seuil de Vigueur une fois de plus pour vous mettre hors de combat. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.lAGzg8FZO8f56hTV"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666904581604,"modifiedTime":1667638633113,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"yuCZeZpGEn1ean9x","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Grabuge","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous avez l’habitude de vous bagarrer et vous savez prendre des coups : lorsque vous vous battez à mains nues contre un adversaire armé, celui-ci n’est pas considéré comme avantagé (voir p. 201). </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"Mêlée 6.","resumebonus":"lorsque vous vous battez à mains nues contre un adversaire armé, celui-ci n’est pas considéré comme avantagé.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.IhobIAHNS59eU3E5"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666903030934,"modifiedTime":1667638633109,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"zDfFPyEJC8Tvud8m","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Travail bien fait","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Si vous prenez le temps de vous adonner à votre artisanat (deux heures d’affilée au minimum), vous obtenez le résultat espéré : un bel objet prend forme entre vos mains. Cette satisfaction vous permet de défausser une Adversité bleue. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.wkJTCSahsLUUOmbg"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666941334742,"modifiedTime":1667638633129,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"zH4fN9V5J73L9aLW","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Protée","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous maîtrisez de manière extraordinaire l’art de l’imposture. Si vous dépensez 1 point de Bonne Aventure, vous pouvez, avec les accessoires adéquats, prendre l’apparence d’un être humain de la même taille que vous. Il faut réussir un test de Clairvoyance + Persuasion / 25 pour remarquer la supercherie.</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"scenario","prerequis":"Discrétion 6.","resumebonus":"Si vous dépensez 1 point de Bonne Aventure, vous pouvez, avec les accessoires adéquats, prendre l’apparence d’un être humain de la même taille que vous.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.AxewJA4hE9qjwk09"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.288","createdTime":1666906737144,"modifiedTime":1667638633121,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"zKvlDHBalR4UdwUx","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Excellence","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous êtes capable d’obtenir fréquemment des résultats extraordinaires dans la Compétence concernée. Vous obtenez une réussite héroïque chaque fois que vous égalez ou dépassez le SD de 8 points (au lieu de 10). </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"La Compétence au niveau 9.","resumebonus":"Vous obtenez une réussite héroïque chaque fois que vous égalez ou dépassez le SD de 8 points (au lieu de 10). ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.re5AQiMYkWl15TG4"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666901787882,"modifiedTime":1668941455523,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"07bq0fsbn653i81y","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Poursuivant(e) acharné(e)","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous ne laissez aucune chance à votre proie. Dans le cadre d’une course-poursuite, le fuyard n’est pas considéré comme avantagé ; il ne dispose d’aucun bonus par rapport à vous pour commencer (voir la règle de course-poursuite, p. 197).</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.95en5dTE5F0pjCfH"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666906510551,"modifiedTime":1668941455536,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"0YYjdJ19Jgg5lDWZ","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Prêt miraculeux","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous obtenez de vous faire prêter, en échange d’une somme dont vous devrez vous acquitter dans un an au plus tard, l’objet de votre choix.</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"scenario","prerequis":"","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.vwaTOoEUgMOUQOvm"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666906650809,"modifiedTime":1668941455537,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"0aDka5NXjPXpvncB","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Paroles inspirantes","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous savez trouver les mots qui restaurent la confiance en soi. Quand vous utilisez ce Talent, la cible gagne 1 point de Bonne Aventure à dépenser dans l’heure. </p>\n<p>Note : le MJ devrait inviter le personnage à improviser de telles paroles à la table de jeu.</p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Persuasion","minLevel":"4","id":"gk7p1GU3ox1PKuJU"}],"talenttype":"personnage","utilisation":"sceance","prerequis":"Persuasion 4.","resumebonus":"Quand vous utilisez ce Talent, la cible gagne 1 point de Bonne Aventure à dépenser dans l’heure. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.XHf2Otv3I68Gj3XT"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666905806188,"modifiedTime":1668941455534,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"17DzbVC5lfFyx5QV","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Feu blanc","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous êtes un expert de la science électrique. Lorsqu’un test de Sorcellerie mobilise majoritairement cette branche de votre savoir, vous bénéficiez d’un + 2. </p>","isautomated":true,"automations":[{"eventtype":"prepare-roll","name":"Automatisation 1","competence":"Savoir : Sorcellerie","minLevel":0,"id":"3e9yvi8EtFADv0It","bonus":"2","baCost":"0"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Prédilection Électricité et Savoir : Sorcellerie 6.","resumebonus":"Lorsqu’un test de Sorcellerie mobilise majoritairement cette branche de votre savoir, vous bénéficiez d’un + 2. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.egM5Pal0kRGFbFVI"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666902163851,"modifiedTime":1668941455524,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"1ZY8mHs4xTbozt98","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Hippocrate","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>L’étude et la pratique vous ont permis de maîtriser de manière étendue la science médicale. Quand vous dépensez 2 points de Bonne Aventure, le bonus à votre test de Soins est de + 10. </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Soins","minLevel":"6","id":"pJSPqUssTGcRVx6E"},{"eventtype":"prepare-roll","name":"Automatisation 1","competence":"Soins","minLevel":0,"id":"NMXez6PMFp0NHzMO","bonus":"10","baCost":"2"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Soins 6.","resumebonus":"Quand vous dépensez 2 points de Bonne Aventure, le bonus à votre test de Soins est de + 10. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.orGR48btg22d7uUk"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666903248985,"modifiedTime":1668941455527,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"1sQW5ruVcEoZxtnw","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Aveux","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous connaissez bien les techniques pour obtenir que vos interlocuteurs répondent à vos questions même lorsqu’ils y sont réticents. Quand un test de Coercition mobilise spécifiquement l’art de l’interrogatoire, vous bénéficiez d’un + 3.<br><br></p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","script":"actor.checkCompetenceLevel(\"Coercition\", 6)","id":"ft9AAoBXbx5gu5h8","competence":"Coercition","minLevel":"6"},{"eventtype":"prepare-roll","name":"Automatisation 1","script":"Coercition","id":"xyIcmK4HeZZDmFtd","competence":"Coercition","bonus":"3","baCost":"0"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Coercition 6.","resumebonus":"Quand un test de Coercition mobilise spécifiquement l’art de l’interrogatoire, vous bénéficiez d’un + 3.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.2aZt2qYBnMIG38Vr"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666815383653,"modifiedTime":1668941455516,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"2MLA7u8dqSi6sdQW","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Vice caché","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Grâce à votre artisanat maîtrisé au niveau 9, vous pouvez fabriquer un objet qui a toutes les apparences d’un produit parfaitement exécuté… mais qui dysfonctionnera dès sa première activation ou au bout de très peu d’utilisations (vous choisissez). Il peut s’agir, par exemple, d’une somptueuse épée qui se brisera au premier coup ou d’un harnachement d’équitation qui cèdera après quelques minutes de chevauchée. Alternativement, vous pouvez insérer une cache dans l’objet fabriqué. Dans tous les cas, il est extrêmement difficile de détecter cela (Clairvoyance + Perception / 25).</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.T5n14Jw6R1dKMrh8"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666941834199,"modifiedTime":1668941455542,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"2Ttp0j7GKgmkVQ1A","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"La rue est mon royaume","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous n’avez pas votre pareil pour vous faire une place de choix dans les bas-fonds. En un rien de temps, vous êtes capable de nouer des alliances et de vous créer des obligés. En échange d’une somme ou d’un service dont vous devrez vous acquitter dans un an au plus tard, vous obtenez d’une bande ou d’une figure de la pègre locale qu’elle vous apporte un soutien financier important (500 PA) ou vous rende un service d’une valeur équivalente : mise à disposition d’une bande de voyous pour une opération ponctuelle, moyen d’accéder dans une zone défendue, prêt d’un navire et de son équipage, etc. </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Filouterie","minLevel":"9","id":"naSeiafuCeRoewLI"}],"talenttype":"personnage","utilisation":"scenario","prerequis":"Filouterie 9.","resumebonus":"Vous obtenez d’une bande ou d’une figure de la pègre locale qu’elle vous apporte un soutien financier important (500 PA) ou vous rende un service d’une valeur équivalente.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.bdqFUDmyXgpXpVyU"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666904835131,"modifiedTime":1668941455531,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"2W9YVSxEU9ihzwux","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Chef-d’oeuvre","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Si vous dépensez 1 point de Bonne Aventure, l’objet que vous produisez grâce à l’artisanat que vous possédez au niveau 9 voit l’une de ses valeurs augmentée de + 2. Par exemple, une armure de cuir confère une valeur de Protection de 8, une épée large cause 1d10 + 3 de dégâts ou augmente de 2 le bonus de maniement offensif, une selle et un harnachement procurent un + 2 en Monte, etc. </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Savoir*","minLevel":"9","id":"RC8SRtGfOLO1L17i"}],"talenttype":"personnage","utilisation":"scenario","prerequis":"Savoir : un artisanat 9.","resumebonus":"Si vous dépensez 1 point de Bonne Aventure, l’objet que vous produisez grâce à l’artisanat que vous possédez au niveau 9 voit l’une de ses valeurs augmentée de + 2","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.9Zz5bC1m7tB0s4S1"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666898054395,"modifiedTime":1668941455518,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"3UcOfoypfSBqCqGr","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Menaçant(e)","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous savez vous rendre inquiétant(e). Lorsqu’un test de Coercition mobilise spécifiquement votre capacité à intimider quelqu’un, vous bénéficiez d’un + 3. </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Coercition","minLevel":"5","id":"YR5psqlTzKRdK5C8"},{"eventtype":"prepare-roll","name":"Automatisation 1","competence":"Coercition","minLevel":0,"id":"qVhd2ivUm1zGxoEH","bonus":"3","baCost":"0"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Coercition 6.","resumebonus":"Lorsqu’un test de Coercition mobilise spécifiquement votre capacité à intimider quelqu’un, vous bénéficiez d’un + 3. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.F5tUcrk2R9CKx065"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666905376475,"modifiedTime":1668941455532,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"4ExDCNY9Au5z0CLS","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Tir létal","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous ajoutez votre niveau d’Adresse / 2 (arrondi à l’inférieur) aux dégâts infligés avec une arme à distance. </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Armes à distance","minLevel":"6","id":"4RunAnyQmT6iCpV7"}],"talenttype":"personnage","utilisation":"sceance","prerequis":"Armes à distance 6.","resumebonus":"Vous ajoutez votre niveau d’Adresse / 2 (arrondi à l’inférieur) aux dégâts infligés avec une arme à distance. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.G6PsiIkhYXuvPRWK"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666941222614,"modifiedTime":1668941455541,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"5OLAqDsaby3hIE2D","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Dextérité","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous pouvez utiliser votre Adresse plutôt que l’Attribut habituellement associé à la Compétence, par exemple en Mêlée. Pour ce faire, vous devez expliquer comment vous sollicitez votre Adresse dans ce contexte particulier. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"","resumebonus":"Vous pouvez utiliser votre Adresse plutôt que l’Attribut habituellement associé à la Compétence.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.zmW12Kneel9jJvv7"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666900695147,"modifiedTime":1668941455521,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"6Unp3WCqBnpSY62T","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Limier","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous êtes capable de suivre une trace même dans des conditions très difficiles. Quand vous dépensez 2 points de Bonne Aventure pour un test de Survie afin de remonter une piste, le bonus est de + 10. </p>","isautomated":true,"automations":[{"eventtype":"prepare-roll","name":"Automatisation 1","competence":"Survie","minLevel":0,"id":"j3D0Pw6e5i9gdzYY","bonus":"10","baCost":"2"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"Quand vous dépensez 2 points de Bonne Aventure pour un test de Survie afin de remonter une piste, le bonus est de + 10. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.HkURq2tQNmTWoVXt"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666904940419,"modifiedTime":1668941455532,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"6Yq0gI4Ok21Shqp1","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Pilote doué","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous avez manifestement un don pour manier les machines volantes. Quand vous dépensez 2 points de Bonne Aventure pour un test de Savoir : Pilotage, le bonus est de + 10.</p>","isautomated":true,"automations":[{"eventtype":"prepare-roll","name":"Automatisation 1","competence":"Savoir : Pilotage","minLevel":0,"id":"JV9pnOEBbJosFkz5","bonus":"10","baCost":"2"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"Quand vous dépensez 2 points de Bonne Aventure pour un test de Savoir : Pilotage, le bonus est de + 10.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.6HAXrpu5UZNkJm4P"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666906215550,"modifiedTime":1668941455535,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"6vhfX8PhTKpfvIBi","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Maîtrise (dans une prédilection)","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous avez atteint un niveau d’excellence dans un domaine de Compétence pour lequel vous aviez déjà une Prédilection (c’est un prérequis). Par exemple, dans le champ de la Perception, vous faites preuve d’une capacité d’empathie exceptionnelle et il est presque impossible de vous mentir. Ou bien, dans le champ de la Filouterie, vous faites désormais preuve d’une formidable habileté au crochetage. Lorsqu’un test mobilise le domaine de votre Maîtrise, ce Talent vous autorise à lancer systématiquement deux dés possédant le même nombre de faces et à garder le meilleur des résultats.<br><br></p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"Posséder la Compétence au niveau 9 et la Prédilection correspondante.","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.nkvlBGAcOSJwbcPD"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666905093018,"modifiedTime":1668941455532,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"759uY9VlRlisdcPe","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Inspiration","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous réalisez une oeuvre d’art ou une performance artistique de très grande qualité. Ce Talent vous fait gagner 1 point de Bonne Aventure pour le reste de la séance. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"Savoir : un art 6.","resumebonus":"Ce Talent vous fait gagner 1 point de Bonne Aventure pour le reste de la séance.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.tr2psvgWT4ZMsSQp"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666904053511,"modifiedTime":1668941455530,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"8LUSf665dtcXK5cp","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Équestre","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous avez acquis une très bonne expérience de l’équitation. Quand vous dépensez 2 points de Bonne Aventure pour un test de Chevaucher (Monte), le bonus est de + 10. </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Monte","minLevel":"6","id":"rhwr1lwQ26XYneva"},{"eventtype":"prepare-roll","name":"Automatisation 1","competence":"Monte","minLevel":0,"id":"wevUjkNiRRxFEjI9","bonus":"10","baCost":"2"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Monte 6.","resumebonus":"Quand vous dépensez 2 points de Bonne Aventure pour un test de Chevaucher (Monte), le bonus est de + 10. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.n3aRo8kfvk9jvT3A"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666901595402,"modifiedTime":1668941455522,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"8Ok2t6ROsTwDSDEV","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Avec les moyens du bord","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Ce Talent de bricoleur vous permet de réussir automatiquement une réparation de fortune ou de créer un objet simple à partir d’éléments non prévus à cet effet mais que vous avez sous la main (par exemple transformer une fourchette en outil de crochetage). </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"","resumebonus":"Vous permet de réussir automatiquement une réparation de fortune ou de créer un objet simple ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.6oI5ZjQz35NdtMOI"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666815251765,"modifiedTime":1668941455516,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"8czN9ici971tBG25","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Mental d’acier","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Pour tous les tests qui dépendent de la Clairvoyance ou de la Présence, le personnage ignore les Adversités qu’il a encaissées et qui affectent normalement tous ses tests.</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.aipXQ5qnmWXvOPkg"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666905421636,"modifiedTime":1668941455533,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"8hwYP1etC0wzTtBh","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Client émerveillé","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Très admiratif de votre virtuosité, un client vous achète à cinq fois son prix de base un objet que vous avez fabriqué avec votre artisanat de niveau 9. </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Savoir*","minLevel":"9","id":"K7iub8PcKFNHXJJk"}],"talenttype":"personnage","utilisation":"scenario","prerequis":"Savoir : un artisanat 9.","resumebonus":"Très admiratif de votre virtuosité, un client vous achète à cinq fois son prix de base un objet que vous avez fabriqué avec votre artisanat de niveau 9. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.nEpByD4hWAZDsR5X"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666898494388,"modifiedTime":1668941455519,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"8kqFa8dakGM34ekr","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Esprit universel","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Votre capacité de perfectionnement est prodigieuse. Ce Talent diminue le coût de développement de n’importe quelle Compétence. Si acquérir une nouvelle Compétence coûte toujours 2 points, passer au niveau 2 coûte seulement 2 points, 3 points pour le niveau 3, 4 points pour le niveau 4, 5 points pour le niveau 5, et ainsi de suite. </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Savoir*","minLevel":"9","id":"V0PZnPfyvgu0A5du"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Un Savoir au niveau 9.","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.FnuRJNC1MKPHWQcb"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666901657133,"modifiedTime":1668941455522,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"9SpaQ5gaPCI0oEPb","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Imitation","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous excellez à reproduire les objets technologiques que vous avez eu tout loisir d’étudier. Lorsque vous entreprenez une telle tâche, vous bénéficiez d’un bonus de + 2.</p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Savoir : Sorcellerie","minLevel":"6","id":"MFYjrtZ5UoJuvmrz"},{"eventtype":"prepare-roll","name":"Automatisation 1","competence":"Savoir : Sorcellerie","minLevel":0,"id":"KUtIPEDAdP23YiwG","bonus":"2","baCost":"0"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Savoir : Sorcellerie 6.","resumebonus":"Lorsque vous entreprenez une telle tâche, vous bénéficiez d’un bonus de + 2.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.R0vwfUOJF0Mikh3c"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666903740964,"modifiedTime":1668941455529,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"AAXuI2CPEvqU8hvH","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Prise exceptionnelle","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous avez la science et l’instinct des pêcheurs les plus accomplis, capables d’attraper les poissons et les mollusques les plus recherchés. Avec l’accord du MJ, si les circonstances le permettent, vous attrapez, vivante ou morte, l’une de ces raretés. Un noble ou un riche marchand des environs serait prêt à débourser 10 + 1d10 pièces d’argent pour l’acheter. </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Survie","minLevel":"6","id":"7VZH74mezq4BZzCh"}],"talenttype":"personnage","utilisation":"sceance","prerequis":"Survie 6.","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.RVzShO8kC9zpjljp"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666906399434,"modifiedTime":1668941455537,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"AdwWlO1BDrcaQE38","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Empathie animalière","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous avez des facilités à interagir avec les animaux. Lorsqu’un test de Monte ou de Savoir : Monde naturel mobilise spécifiquement vos capacités de dressage ou de compréhension de la faune, vous bénéficiez d’un + 3. </p>","isautomated":true,"automations":[{"eventtype":"prepare-roll","name":"Automatisation 1","competence":"Savoir : Monde naturel","minLevel":0,"id":"SmqAGsNDfzjjiBDS","bonus":"3","baCost":"0"},{"eventtype":"prepare-roll","name":"Automatisation 1","competence":"Monte","minLevel":0,"id":"jh4gW0hj663qJOWU","bonus":"3","baCost":"0"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Monte 5 ou Savoir : Monde naturel 5.","resumebonus":"Lorsqu’un test de Monte ou de Savoir : Monde naturel mobilise spécifiquement vos capacités de dressage ou de compréhension de la faune, vous bénéficiez d’un + 3. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.1lxUXxc5MUSeeWPZ"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666901291884,"modifiedTime":1668941455522,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"AmqE0SblseA2qLEv","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Arme de choix","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Lorsque vous utilisez un type d’arme en particulier (par exemple une épée large ou un arc), vous disposez d’un bonus de + 1 à votre Capacité Offensive. <br>Note : ce Talent peut être pris plusieurs fois, pour des armes différentes.</p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Armes à distance","minLevel":"4","id":"J8Slwpn8v4eeXUIp"},{"eventtype":"on-drop","name":"Automatisation 1","competence":"Mêlée","minLevel":"4","id":"HIETM2VMlaOuzysa"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Armes à distance 4 ou Mêlée 4.","resumebonus":"Vous disposez d’un bonus de + 1 à votre Capacité Offensive pour un type d’arme en particulier ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.ppHch1DZ6XAbE0C4"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666814580005,"modifiedTime":1668941455515,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"AopMs19sriY0B36z","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Aura du saint","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Votre piété ou votre mysticisme inspire une forme de bienveillance – même chez vos adversaires. Avec ce Talent, qui est sans effet sur la plupart des Granbretons (à la discrétion du MJ), vous obligez un PNJ ou un groupe de PNJ à vous traiter avec les égards dus à un saint homme : une exécution est commuée en emprisonnement ; on ne vous enferme plus dans une cellule sordide mais dans des appartements décents (et dont il est sans doute plus facile de s’échapper) ; un hôte vous donne de quoi écrire ; un seigneur local met à votre disposition une escorte, etc. Votre interlocuteur ne fera cependant rien pour vous qui mettrait sa vie ou sa réputation en danger. </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","script":"actor.checkCompetenceLevel(\"Savoir : Religions\", 9)","id":"6Ilfozn0eefAZHLy","competence":"Savoir : Religions","minLevel":"9"}],"talenttype":"personnage","utilisation":"scenario","prerequis":"Savoir : Religions 9.","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.mgJv4We0wADnqI09"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666815072401,"modifiedTime":1668941455516,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"AovPxlGFjW9RZEo6","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Anonymat","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>La sorcellerie est une science sulfureuse et ses disciples doivent savoir faire profil bas. Vous avez appris à cacher votre identité et à vous faire passer pour quelqu’un de banal.<br>Quand vous dépensez 2 points de Bonne Aventure, le bonus à votre test de Soupçons (Persuasion) est de + 10. </p>","isautomated":true,"automations":[{"eventtype":"associated-competence","name":"Automatisation 1","script":"Persuasion","id":"E6SczYVyESRbvvMQ"},{"eventtype":"roll-bonus","name":"Automatisation 1","script":"{ value: 10, baCost: 2}","id":"h5t4rAmDJe3TGyHu"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"Quand vous dépensez 2 points de Bonne Aventure, le bonus à votre test de Soupçons (Persuasion) est de + 10. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.0nQsaxiGQwcE6w77"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666804459204,"modifiedTime":1668941455515,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"AwMjPzJBQjFLvv4v","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Un endroit où dormir","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous trouvez toujours un lieu adéquat pour bivouaquer, un point d’eau et de quoi alimenter le feu que vous allumez. Si les circonstances sont particulièrement difficiles, le MJ peut décider qu’il est impossible d’activer ce Talent ou vous demander de dépenser 1 point de Bonne Aventure pour ce faire. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.Gd3kuHEr72TjXwiY"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666941621060,"modifiedTime":1668941455541,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"AxbIAqW46CNmDWXw","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Tirade apitoyante","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous vous lancez dans un monologue de nature à émouvoir votre auditoire. Si le test de Présence + Persuasion est réussi (le SD, fixé par le MJ, serait de 15 auprès d’une jeune femme romantique, de 20 auprès d’un soldat patibulaire, de 30 auprès d’un bourreau granbreton), la cible est touchée par ce discours. Elle ne peut plus entreprendre d’action hostile contre vous pendant 1d5 tours de jeu. </p>\n<p>Note : le MJ devrait inviter le personnage à improviser une telle tirade à la table de jeu.</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.tW0tOMCWjvoQYpYT"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666908098521,"modifiedTime":1668941455541,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"Bf8k7dfK7QYQA957","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Crésus","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Il paraît qu’on ne prête qu’aux riches… Votre fortune est faite et votre capacité à la faire croître est prodigieuse. Vous trouvez le moyen de récupérer 100 PA ou des marchandises d’une valeur équivalente (en accord avec le MJ). </p>\n<p>Note : le MJ devrait inviter le personnage à raconter à la table de jeu comment il s’y est pris.</p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Commerce","minLevel":"9","id":"6ISRupFFux8bmH5Z"}],"talenttype":"personnage","utilisation":"scenario","prerequis":"Commerce 9.","resumebonus":"Vous trouvez le moyen de récupérer 100 PA ou des marchandises d’une valeur équivalente (en accord avec le MJ). ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.qrLhfduL0ukmfWFh"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666899955985,"modifiedTime":1668941455520,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"CDcjtSQVIV3S3weg","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Rayonnant(e)","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous pouvez utiliser votre Présence plutôt que l’Attribut habituellement associé à la Compétence utilisée lors d’un test. Vous devez expliquer comment vous sollicitez votre Présence dans ce contexte particulier.</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"","resumebonus":"Vous pouvez utiliser votre Présence plutôt que l’Attribut habituellement associé à la Compétence utilisée lors d’un test.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.UsuMdEfN8aHfXWIu"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666906934155,"modifiedTime":1668941455538,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"CVKnJnK2XgM60N7U","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Attribut amélioré","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Ce Talent vous permet d’augmenter d’un point l’Attribut mentionné dans le Profil. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"Ce Talent vous permet d’augmenter d’un point l’Attribut mentionné dans le Profil. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.HgRPP0gFjKWa590T"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666815031743,"modifiedTime":1668941455516,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"DJDT7tqhvD9R89ca","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Meilleur prix","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Si votre test de Marchandage est réussi, l’objet de la négociation est vendu 25 % plus cher ou acheté 25 % moins cher (on arrondit dans les deux cas à l’inférieur). </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Commerce","minLevel":"5","id":"9UqR3cWnIGIXdla7"}],"talenttype":"personnage","utilisation":"sceance","prerequis":"Commerce 5.","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.i4HTFDXR5Re4q7am"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666905336566,"modifiedTime":1668941455532,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"DfwPG0kgDEiogcu7","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Beau parleur","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous exploitez avec brio toutes les ressources de l’art oratoire : lorsqu’un test de Persuasion mobilise spécifiquement l’éloquence, vous bénéficiez d’un + 3. </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","script":"actor.checkCompetenceLevel(\"Persuasion\", 6)","id":"l4VG4O8jnLWS4o6V","competence":"Persuasion","minLevel":"6"},{"eventtype":"prepare-roll","name":"Automatisation 1","script":"Persuasion","id":"bf9wtAbsFalZ5irM","competence":"Persuasion","bonus":"3","baCost":"0"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Persuasion 6","resumebonus":"Lorsqu’un test de Persuasion mobilise spécifiquement l’éloquence, vous bénéficiez d’un + 3. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.8On8JV2sVYImY0xb"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666896398413,"modifiedTime":1668941455517,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"DvECAMGiusbpJ9mt","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Pigeon maximal","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous avez trouvé une personne crédule et disposant de quelques ressources, à qui vous avez raconté une belle histoire à dormir debout, et qui va vous entretenir pendant les jours qui viennent (10 + 1d10 jours avant qu’elle ne manifeste son embarras et s’aperçoive de la supercherie). Cette personne aisée (qui ne peut être l’un des PNJ décrits dans un scénario) n’ira pas jusqu’à se ruiner d’un coup mais elle vous donnera jusqu’à 10 PA pour vos dépenses quotidiennes, vous logera et vous nourrira si vous le lui demandez, vous introduira avec chaleur à toutes les personnes qu’elle connaît.<br><br></p>\n<p>Note : le MJ devrait inviter le personnage à raconter à la table de jeu comment il s’y est pris pour attraper ce pigeon.</p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Filouterie","minLevel":"9","id":"GMassiJ3sUwp7MZf"}],"talenttype":"personnage","utilisation":"scenario","prerequis":"Filouterie 9.","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.JrXaK6Xpd3Kz7ahn"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666906030032,"modifiedTime":1668941455534,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"DxWmIIrCXOdoz43Z","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Ambidextre","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Au fil du temps, vous êtes devenu capable de vous servir de vos deux mains avec une adresse équivalente. Ce Talent vous donne notamment la possibilité de combattre avec deux armes (voir p. 210).</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"Possibilité de combattre avec deux armes ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.OKoEwHkgmvE3R6Sq"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666787537511,"modifiedTime":1668941455514,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"E4tLBaFKtVWRZM1x","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Casse-tête","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Face à une énigme, un objet inconnu ou encore un rituel obscur, vous bénéficiez d’un indice pour comprendre de quoi il retourne (à la discrétion du MJ).</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.8OEX7eVFYB6cISuX"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666897958970,"modifiedTime":1668941455518,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"EJn2osD9ncbWd3f5","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Génie de la panne","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>À force de bidouiller tout ce qui vous entoure, vous êtes désormais capable, en un rien de temps, de saboter un objet mécanique à proximité : ce peut être un artefact technologique, mais aussi une porte, l’essieu d’un carrosse, une herse, une horloge, un métier à tisser, un sextant, etc. Il ne vous faut qu’une action complexe pour faire dysfonctionner l’objet en question. Notez bien que ce Talent consiste à mettre en panne un objet, et non à l’actionner.</p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Savoir : Sorcellerie","minLevel":"9","id":"bEatWW1zsPiGYpBU"}],"talenttype":"personnage","utilisation":"sceance","prerequis":"Savoir : Sorcellerie 9.","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.77gNuDbf7ZNxGsjt"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666902846807,"modifiedTime":1668941455526,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"Efk8EMfbg0EjIDK0","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Contacts lointains","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Même chose qu’@UUID[Compendium.fvtt-hawkmoon-cyd.talents.UOEolcYPAMHV9jNK]{ALLIÉS DE POIDS} (voir p. 167), mais les personnes que vous connaissez se comportent comme des Contacts de niveau 1. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"scenario","prerequis":"","resumebonus":"Personnes qui se comporteront avec vous comme des Alliés de niveau 1. Chacun de ces Alliés ne vous aidera qu’une seule fois.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.upa3uJPaVkdUGeqQ"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666899549006,"modifiedTime":1668941455520,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"Eh9zUUMIy0VVrCwU","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Vaillant(e)","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Votre résistance à la douleur est hors du commun. Quand vous êtes Très Affaibli(e), les Adversités qui vous sont infligées par cet état ne sont comptabilisées qu’à la fin du combat.</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"Posséder le Talent Encaissement.","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.yanRNlFZ8TjgwWKQ"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666941699778,"modifiedTime":1668941455541,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"Eho8SWS8LzqfMBv5","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Insaisissable","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Quand vous avez décidé de vous échapper, il est presque impossible de vous en empêcher. Vous disposez d’un bonus de + 10 pour une action entreprise dans le but de vous évader, de vous désengager d’un combat (voir p. 208), ou de semer vos poursuivants.</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"","resumebonus":"Vous disposez d’un bonus de + 10 pour une action entreprise dans le but de vous évader, de vous désengager d’un combat (voir p. 208), ou de semer vos poursuivants.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.8G7mLisKpItBmePN"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666903979642,"modifiedTime":1668941455530,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"EyuKQ08jTqqDcmzW","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Athanor","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous êtes devenu un(e) spécialiste de la science alchimique. Lorsqu’un test de Sorcellerie mobilise majoritairement cette branche de votre savoir, vous bénéficiez d’un + 2.</p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","script":"actor.checkCompetenceLevel(\"Savoir : Sorcellerie\", 6)","id":"4wnfaPDhnRi1AebX","competence":"Savoir : Sorcellerie","minLevel":"6"},{"eventtype":"prepare-roll","name":"Automatisation 1","script":"\"Savoir : Sorcellerie","id":"EJdNYRQfZxSRbxRQ","competence":"Savoir : Sorcellerie","bonus":"2","baCost":"0"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Savoir : Sorcellerie 6.","resumebonus":"Lorsqu’un test de Sorcellerie mobilise majoritairement la branche alchimique, vous bénéficiez d’un + 2.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.M7B2H9XUpxCPIM2l"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666814953087,"modifiedTime":1668941455516,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"F1TnAYrR4rQadByO","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Faveur sorcière","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>En échange d’une création technologique à livrer dans un an, un personnage accepte de vous aider de manière substantielle (voir les exemples donnés dans « Faveur extraordinaire »).<br><br></p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Savoir : Sorcellerie","minLevel":"9","id":"PcyH5485W40VkSnw"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Savoir : Sorcellerie 9.","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.s2GqqmnW9yZVTwoK"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666902052485,"modifiedTime":1668941455523,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"F627SFtenQPJaZ7c","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Mille poches","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Lorsque vous faites un test de Discrétion dans le but de dissimuler un objet sur vous, vous bénéficiez d’un + 3, à moins d’être nu(e) ou trop peu vêtu(e) pour ce faire (le MJ reste juge). </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Discrétion","minLevel":"5","id":"ttW3LCHkAlDJftqP"},{"eventtype":"prepare-roll","name":"Automatisation 1","competence":"Discrétion","minLevel":0,"id":"0ZKqrhsstIs30QfL","bonus":"3","baCost":"0"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Discrétion 5.","resumebonus":"Lorsque vous faites un test de Discrétion dans le but de dissimuler un objet sur vous, vous bénéficiez d’un + 3, à moins d’être nu(e) ou trop peu vêtu(e) pour ce faire (le MJ reste juge). ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.tcR6nbGKVIIu3rAo"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666905483550,"modifiedTime":1668941455533,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"FHz8DD2OSCm2hXCG","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Aigle","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vos capacités d’observation peuvent être prodigieuses. Quand vous dépensez 2 points de Bonne Aventure, le bonus à votre test de Perception est de + 10. </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","script":"actor.checkCompetenceLevel(\"Perception\", 6)","id":"X3NG5ugiXwlo1SfD","competence":"Perception","minLevel":"6"},{"eventtype":"prepare-roll","name":"Automatisation 1","script":"Perception","id":"iBBLalEKzi3syKDK","competence":"Perception","bonus":"10","baCost":"2"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Perception 6","resumebonus":"Dépenser 2 points de Bonne Aventure, bonus à votre test de Perception est de + 10","used":false,"resumebeonus":""},"effects":[],"flags":{"core":{"sourceId":"Item.wqDuNwsaiu2eZUbX"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666775114481,"modifiedTime":1668941455514,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"FaQ46ZOzEIFw7sCo","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Exhortation","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous savez pousser les autres au dépassement de soi. Quand vous utilisez ce Talent, 1d10 cibles gagnent 1 point de Bonne Aventure à dépenser dans l’heure.</p>\n<p><br>Note : le MJ pourrait inviter le PJ à improviser ce discours de motivation à la table de jeu.</p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Coercition","minLevel":"6","id":"inF3eWI6ZrsQx1dp"}],"talenttype":"personnage","utilisation":"sceance","prerequis":"Coercition 6.","resumebonus":"Quand vous utilisez ce Talent, 1d10 cibles gagnent 1 point de Bonne Aventure à dépenser dans l’heure.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.riQ7aVle8KihEMPS"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666901837821,"modifiedTime":1668941455523,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"FtXaYHvf90WhEtKp","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Hypnotique","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Si vous réussissez un test d’Adresse ou Présence + Savoir : Art, votre création artistique impressionne vivement jusqu’à 1d5 personnes qui en sont les témoins. Le MJ ajuste le SD en fonction de l’auditoire : 15 pour un jeune esprit romantique, 18 pour une aubergiste pas spécialement bien disposée à l’égard du personnage, 30 pour un bourreau granbreton. Considérez que cette réussite équivaut à l’effet que vous obtiendriez si vous aviez réussi un test de Persuasion ou de Coercition de SD 20. Si vous voulez obtenir un résultat qui correspondrait à un SD plus élevé (par exemple si vous souhaitez qu’à l’écoute d’un poème apocalyptique un soldat granbreton prenne peur et quitte son poste), ce Talent ne peut être mobilisé. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.9EzCgoPIfGruvjc4"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666903626447,"modifiedTime":1668941455528,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"GJV6YZjitUsLW4Gj","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Irrésistible","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous savez être très convaincant(e). Quand vous dépensez 2 points de Bonne Aventure, le bonus à votre test de Persuasion est de + 10. </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Persuasion","minLevel":"6","id":"CFmSczcnpv8bOJEI"},{"eventtype":"prepare-roll","name":"Automatisation 1","competence":"Persuasion","minLevel":0,"id":"YNrx8IFwTphpDlvi","bonus":"10","baCost":"2"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Persuasion 6.","resumebonus":"Quand vous dépensez 2 points de Bonne Aventure, le bonus à votre test de Persuasion est de + 10. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.lCRZxlpUnzv99RlL"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666904614111,"modifiedTime":1668941455531,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"GVASYygDlsVNBaP2","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Repousse-feu","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous pensez pouvoir guérir les brûlures. Peut-être est-ce simplement que votre cible croit en votre pouvoir… et que son esprit fait le reste ? Contre 2 points de Bonne Aventure, vous soulagez les douleurs liées au feu et 2 Adversités infligées par les brûlures sont défaussées. Ce Talent ne fonctionne pas sur vous.</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"Contre 2 points de Bonne Aventure, vous soulagez les douleurs liées au feu et 2 Adversités infligées par les brûlures sont défaussées.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.b7Abb2sRMcwESeH6"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666906978748,"modifiedTime":1668941455538,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"GwH8kMcpOAzumGF4","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Boniments","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous êtes un(e) expert du bavardage et du bluff : lorsqu’un test de Persuasion mobilise spécifiquement le baratin, vous bénéficiez d’un + 3. </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Persuasion","minLevel":"6","id":"hHrP8U55jLSQjV0O"},{"eventtype":"prepare-roll","name":"Automatisation 1","competence":"Persuasion","minLevel":0,"id":"M4tfpySmt9TojtRC","bonus":"3","baCost":"0"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Persuasion 6.","resumebonus":"Lorsqu’un test de Persuasion mobilise spécifiquement le baratin, vous bénéficiez d’un + 3. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.FyXKt1BrXAWwOha4"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666896911475,"modifiedTime":1668941455517,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"HErCpf1UKXIylvCG","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Dur(e) en affaires","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous menez à présent vos négociations de façon redoutable. Lorsqu’un test de Commerce mobilise spécifiquement vos capacités de marchandage, vous bénéficiez d’un + 3. </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Commerce","minLevel":"6","id":"yQH4XwdrLyGlruls"},{"eventtype":"prepare-roll","name":"Automatisation 1","competence":"Commerce","minLevel":0,"id":"2xqT86RjcfPmGg78","bonus":"3","baCost":"0"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Commerce 6.","resumebonus":"Lorsqu’un test de Commerce mobilise spécifiquement vos capacités de marchandage, vous bénéficiez d’un + 3","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.eqREFyNvtMy6BoyJ"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666901085190,"modifiedTime":1668941455522,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"HQB4tIuDh0webOc6","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Guet-apens","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous connaissez les ruses et les techniques qui permettent de tendre efficacement une embuscade. Quand vous dépensez 2 points de Bonne Aventure pour un test de Filouterie afin de préparer un guet-apens, le bonus est de + 10. </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Filouterie","minLevel":"5","id":"Mfde2nibrdtTpYBL"},{"eventtype":"prepare-roll","name":"Automatisation 1","competence":"Filouterie","minLevel":0,"id":"6WGaqN6uk7mXbm5q","bonus":"10","baCost":"2"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Filouterie 5","resumebonus":"Quand vous dépensez 2 points de Bonne Aventure pour un test de Filouterie afin de préparer un guet-apens, le bonus est de + 10. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.crIoQVy0gnpKXsCg"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666903160875,"modifiedTime":1668941455527,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"HeQHWH6aDjsYyLcv","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Boussole","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Naviguer dans des conditions difficiles vous a doté(e) d’un excellent sens de l’orientation. Vous n’êtes jamais perdu(e). Même si l’on devait vous guider à travers un lacis de ruelles en vous bandant les yeux, vous auriez encore une idée approximative de la distance parcourue et des directions prises.</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.yF8vR14nB5jbZXLN"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666897200043,"modifiedTime":1668941455517,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"I6BnPThGzfXpz2hz","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Qui-vive","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous êtes toujours sur vos gardes et votre sens de l’observation est très aiguisé. Lorsqu’un test de Perception mobilise en particulier votre vigilance ou vos capacités de recherche, vous bénéficiez d’un + 2. </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Perception","minLevel":"6","id":"fZPEYGhcGE9R7aVE"},{"eventtype":"prepare-roll","name":"Automatisation 1","competence":"Perception","minLevel":0,"id":"qeAPzLhZe9fJVGLc","bonus":"2","baCost":"0"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Perception 6","resumebonus":"Lorsqu’un test de Perception mobilise en particulier votre vigilance ou vos capacités de recherche, vous bénéficiez d’un + 2. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.vz0VKgtSjmJnbQwR"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666906855610,"modifiedTime":1668941455538,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"I6Ha4aKZGZ7bAuFq","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Débrouillardise","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous utilisez une Compétence que vous ne possédez pas mais qui sollicite l’habileté manuelle, domaine dans lequel vous montrez de grandes facilités. On considère alors que, pour un test de Capacité, vous maîtrisez cette Compétence au niveau 1 (ce qui annule le malus de – 3). Le plus souvent, vous pourrez utiliser ce Talent pour l’une des Compétences suivantes : Armes à distance, Filouterie, Mêlée, Monte, Nage, Navigation, Savoir : un artisanat, Savoir : Pilotage, Soins. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"","resumebonus":"Vous maîtrisez cette Compétence au niveau 1 (ce qui annule le malus de – 3). Utiliser ce Talent pour l’une des Compétences suivantes : Armes à distance, Filouterie, Mêlée, Monte, Nage, Navigation, Savoir : un artisanat, Savoir : Pilotage, Soins. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.dpuV5CBPRoJ18NQq"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666900438802,"modifiedTime":1668941455521,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"IA4qKngSBRors5ln","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Guérilla","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Les embuscades que vous préparez sont le plus souvent redoutables. Lorsqu’un test de Filouterie mobilise spécifiquement la faculté à tendre un guet-apens, vous bénéficiez d’un + 3. </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Filouterie","minLevel":"6","id":"W2s15Q1Q0o2MKgQ3"},{"eventtype":"prepare-roll","name":"Automatisation 1","competence":"Filouterie","minLevel":0,"id":"Mc1MJn1kwgk3mRad","bonus":"3","baCost":"0"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Filouterie 6.","resumebonus":"Lorsqu’un test de Filouterie mobilise spécifiquement la faculté à tendre un guet-apens, vous bénéficiez d’un + 3.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.XEqxzOkk5SOBoosz"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666903081210,"modifiedTime":1668941455527,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"IfGRDxNVxPpQNp2C","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Colère des humbles","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous savez trouvez les bons mots pour attiser la colère des crève-la-faim et pour la diriger contre l’objectif de votre choix. Contre 2 points de Bonne Aventure, vous êtes en mesure de rallier à votre cause 1d10 paysan(ne)s, qui passeront à l’action sous vos ordres dans les 24 heures qui viennent. Désespérés et enragés, ils sont prêts à se battre et à perdre la vie s’il le faut. </p>\n<p><br>Note : le MJ devrait inviter le PJ à expliquer à la table de jeu comment il parvient à motiver ces personnes.</p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Persuasion","minLevel":"6","id":"hrgm8ISAQ5o1Fr72"}],"talenttype":"personnage","utilisation":"scenario","prerequis":"Persuasion 6.","resumebonus":"Contre 2 points de Bonne Aventure, vous êtes en mesure de rallier à votre cause 1d10 paysan(ne)s, qui passeront à l’action sous vos ordres dans les 24 heures qui viennent.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.maitlnFK9aXuA3yJ"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666898625252,"modifiedTime":1668941455519,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"J3XPrC22ULOQjtAb","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Plantes de prix","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous savez trouver, dans les profondeurs des forêts, les herbes médicinales ou les essences rares que tant d’hommes convoitent. Vous en rapportez pour une valeur de 10 + 1d10 PA. Parmi elles se trouve une dose de plantes défaussant, si un test de Soins est réussi, 1 Adversité noire. </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Survie","minLevel":"9","id":"H5o2ar2unoMUKLS5"}],"talenttype":"personnage","utilisation":"sceance","prerequis":"Survie 9.","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.Ib9u0Ae4wSedbcfp"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666906285626,"modifiedTime":1668941455535,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"JE5vPyql7LgMS6Xj","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Retraite","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Lorsque vous tentez de vous désengager d’un combat (voir p. 208), vous bénéficiez d’un bonus de + 2. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"","resumebonus":"Lorsque vous tentez de vous désengager d’un combat (voir p. 208), vous bénéficiez d’un bonus de + 2. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.DpBaFEmtahNBs7kZ"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666907096510,"modifiedTime":1668941455538,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"JQ9uSGOU6bNsgvyf","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Passe-passe","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Lorsque vous faites un test de Filouterie dans le but d’escamoter un objet, vous bénéficiez d’un + 3. </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Filouterie","minLevel":"6","id":"Tsl59BSso2F67LhG"},{"eventtype":"prepare-roll","name":"Automatisation 1","competence":"Filouterie","minLevel":0,"id":"LiD7OTpw6fJW5aTn","bonus":"3","baCost":"0"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Filouterie 6.","resumebonus":"Lorsque vous faites un test de Filouterie dans le but d’escamoter un objet, vous bénéficiez d’un + 3. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.RQLFBH6SAyNVK02g"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666905939362,"modifiedTime":1668941455534,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"JU2psEQ4pHrqLCck","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Imposture","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous maîtrisez l’art du simulacre et vous savez vous fondre dans la peau de quelqu’un d’autre : lorsqu’un test de Discrétion mobilise spécifiquement vos facultés de déguisement, vous bénéficiez d’un + 3. </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Discrétion","minLevel":"6","id":"0C6zPdddP55KsGv5"},{"eventtype":"prepare-roll","name":"Automatisation 1","competence":"Discrétion","minLevel":0,"id":"8ylMjTQB9ZzKzg4t","bonus":"2","baCost":"0"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Discrétion 6.","resumebonus":"Lorsqu’un test de Discrétion mobilise spécifiquement vos facultés de déguisement, vous bénéficiez d’un + 3. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.Q2ANmzkJyltCxxFh"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666903815692,"modifiedTime":1668941455529,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"JcTxKMHTcKW9x9Ju","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Diplomate","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous savez apaiser les conflits et ramener vos interlocuteurs au calme. Avec ce Talent, vous êtes capable de faire passer un Anonyme ou un groupe d’Anonymes (voir p. 205) d’un état d’esprit agressif à un état défiant mais ouvert à la discussion. Ce ne sont peut-être que quelques secondes ou minutes de gagnées, mais au moins cela vous laisse le temps de fourbir des arguments ou de ruser… </p>\n<p><br>Note : le MJ devrait inviter le personnage à improviser ces paroles d’apaisement à la table de jeu.</p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Persuasion","minLevel":"6","id":"YCDmrQct8QGleJvP"}],"talenttype":"personnage","utilisation":"scenario","prerequis":"Persuasion 6.","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.pUNi52w4h0NnI0UO"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666900795330,"modifiedTime":1668941455521,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"K2tErr1fY2bClFTA","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Armuré(e)","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous avez l’habitude de porter de lourdes armures. Lorsque l’une d’elles possède une valeur de Protection de 7 ou plus, toute Adversité liée à l’encombrement est ignorée. Ce Talent ne peut être choisi que si vous utilisez les règles optionnelles liées à l’encombrement (voir p. 271). </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"Ce Talent ne peut être choisi que si vous utilisez les règles optionnelles liées à l’encombrement (voir p. 271). ","resumebonus":"Pour une valeur de Protection de 7 ou plus, toute Adversité liée à l’encombrement est ignorée. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.PwZvyI3NAmrBYkca"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666814823591,"modifiedTime":1668941455515,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"LROjymlmqIIJTbBN","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Blocage","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous maîtrisez les techniques martiales de contention et de blocage. Lorsque vous effectuez un test dans le but d’immobiliser un adversaire, vous bénéficiez d’un + 2. </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Mêlée","minLevel":"6","id":"VAVzjJCnvQN2YIys"},{"eventtype":"prepare-roll","name":"Automatisation 1","competence":"Mêlée","minLevel":0,"id":"aJezV4sbbN94RuKQ","bonus":"2","baCost":"0"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Mêlée 6.","resumebonus":"Lorsque vous effectuez un test dans le but d’immobiliser un adversaire, vous bénéficiez d’un + 2.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.o24VgrS4b8xCV86M"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666896858916,"modifiedTime":1668941455517,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"LRU7dKdbojXjVoDR","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Faveur extraordinaire","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Contre 2 points de Bonne Aventure, vous obtenez d’un PNJ une faveur exorbitante, comme le droit d’entrer dans un château dont l’accès est interdit ou de vous faire prêter une lance-feu « juste le temps de l’essayer ». Votre interlocuteur ne fera rien qui puisse mettre sa vie en danger, mais il peut vous accorder une faveur qui est pourtant contraire à ses intérêts immédiats. Ce Talent est cependant sans effet sur la plupart des Granbretons (à la discrétion du MJ).</p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Persuasion","minLevel":"9","id":"kOPWjaRyqOR6H7HO"}],"talenttype":"personnage","utilisation":"scenario","prerequis":"Persuasion 9.","resumebonus":"Contre 2 points de Bonne Aventure, vous obtenez d’un PNJ une faveur exorbitante.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.plpJvUHJhpBcRw5Q"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666901990644,"modifiedTime":1668941455523,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"LerZa8eY6PXjRCT9","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Adapté(e)","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous avez une grande expérience du milieu choisi ou indiqué dans le Profil. Lorsque vous faites un test de Survie dans cet environnement, vous bénéficiez d’un + 3. </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","script":"actor.addCompetenceBonus(\"Survie\", 3, 0)","id":"aJqsZxk8j3SbQw7z","competence":"Survie","minLevel":"6"},{"eventtype":"prepare-roll","name":"Automatisation 1","competence":"Survie","minLevel":0,"id":"2Na6Nzm6sJMY853i","bonus":"3","baCost":"0"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Survie 6","resumebonus":"Si test de Survie dans cet environnement, bonus + 3. ","used":false,"resumebeonus":""},"effects":[],"flags":{"core":{"sourceId":"Item.mpGCMXF0oYnFm05S"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666775114481,"modifiedTime":1668941455514,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"LiYMge13lxYZ7Fdr","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Dextérité du guerrier","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous pouvez utiliser votre Adresse plutôt que votre Puissance en Mêlée. </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Adresse","minLevel":"8","id":"KkrYPwt9C41mbbB3"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Adresse 8.","resumebonus":"Vous pouvez utiliser votre Adresse plutôt que votre Puissance en Mêlée. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.w0jCJFTLBQOdzaTz"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666900749296,"modifiedTime":1668941455521,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"M9UgLXD6AIMn33bR","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Soiffard(e)","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Que ce soit le fruit de l’expérience ou du fait de vos dispositions naturelles, vous tenez très bien l’alcool. Lorsque vous faites un test pour y résister, vous bénéficiez d’un + 5.</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"Lorsque vous faites un test pour y résister, vous bénéficiez d’un + 5.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.rkNP9ku1eoOlTJmh"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666907635465,"modifiedTime":1668941455540,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"MFS96RDeKmflemCe","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Négligeable","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Du fait de votre statut social ou de votre métier, vous ne semblez pas bien redoutable. Lorsque vous vous faites intentionnellement passer pour quelqu’un de faible ou d’inoffensif, vous bénéficiez d’un + 2 sur vos tests de Soupçons (Persuasion). </p>\n<p>Note : le MJ devrait inviter le PJ à interpréter une telle attitude à la table de jeu.</p>","isautomated":true,"automations":[{"eventtype":"prepare-roll","name":"Automatisation 1","competence":"Persuasion","minLevel":0,"id":"ZPLGRKLPOh3M83zP","bonus":"2","baCost":"0"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"Lorsque vous vous faites intentionnellement passer pour quelqu’un de faible ou d’inoffensif, vous bénéficiez d’un + 2 sur vos tests de Soupçons (Persuasion). ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.AmjnIe2eAo5k8576"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666905560228,"modifiedTime":1668941455533,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"MLLdQpIVC9qYgGlj","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Tir éclair","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Lors de ce tour, si vous avez consacré votre action complexe à tirer, vous pouvez effectuer un deuxième tir en dépensant 1 point de Bonne Aventure (au lieu de 3) pour ce faire. Ce tir compte comme une action supplémentaire, vous ne pouvez donc effectuer une autre action complexe durant ce tour de jeu.</p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Armes à distance","minLevel":"6","id":"DUSAJqPXKjFHhrq7"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Armes à distance 6.","resumebonus":"Lors de ce tour, si vous avez consacré votre action complexe à tirer, vous pouvez effectuer un deuxième tir en dépensant 1 point de Bonne Aventure (au lieu de 3) pour ce faire","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.B7bpIRNbuSmkIq19"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666908151375,"modifiedTime":1668941455540,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"MM46QG9dj3kPm2xs","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Arme en main","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Dégainer une arme ne vous coûte aucune action. </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","script":"actor.checkCompetenceLevel(\"Mêlée\", 5)","id":"gjNFt4xQqL4UT4YT","competence":"Mêlée","minLevel":"5"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Mêlée 5.","resumebonus":"Dégainer une arme ne vous coûte aucune action. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.J7qcPpzyw9RXvoGI"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666814741508,"modifiedTime":1668941455515,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"MsNlU4WLPnq387RJ","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Véloce","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous avez le pied sûr et la démarche tonique : lorsqu’un test de Mouvements mobilise spécifiquement vos facultés de course, vous bénéficiez d’un + 2. </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Mouvements","minLevel":"6","id":"zsTVZlmtMD096OYK"},{"eventtype":"prepare-roll","name":"Automatisation 1","competence":"Mouvements","minLevel":0,"id":"7MkwIHDjE74LUAYC","bonus":"2","baCost":"0"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Mouvements 6.","resumebonus":"Lorsqu’un test de Mouvements mobilise spécifiquement vos facultés de course, vous bénéficiez d’un + 2. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.UmbrVJ8r8GSPXTd1"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666941785497,"modifiedTime":1668941455542,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"NCjx4PhASj6Wkqaj","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Rumeur du monde","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Toujours au fait des rumeurs les plus diverses, vous avez probablement entendu parler de tel homme en vue ou de telle affaire en cours. Quand vous dépensez 2 points de Bonne Aventure pour un test de Savoir : Europe, le bonus est de + 10.</p>","isautomated":true,"automations":[{"eventtype":"prepare-roll","name":"Automatisation 1","competence":"Savoir : Europe","minLevel":0,"id":"qP2b05qqq1LPsPfS","bonus":"10","baCost":"0"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"Quand vous dépensez 2 points de Bonne Aventure pour un test de Savoir : Europe, le bonus est de + 10.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.6vVfteW1VMQO7FEU"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666907153831,"modifiedTime":1668941455539,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"NMogAhUITTgOJ3fO","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Chemin le plus sûr","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Votre expérience et votre flair vous aident à prendre les bonnes décisions quand vous voyagez. Lorsque vous dépensez 2 points de Bonne Aventure pour un test de Routes (Commerce), le bonus est de + 10. </p>","isautomated":true,"automations":[{"eventtype":"prepare-roll","name":"Automatisation 1","competence":"Routes","minLevel":0,"id":"ho5pyZmo1Np1KwkV","bonus":"10","baCost":"2"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"Lorsque vous dépensez 2 points de Bonne Aventure pour un test de Routes (Commerce), le bonus est de + 10. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.ahxYvtVMa0wn9lvd"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666898124086,"modifiedTime":1668941455518,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"NqPn79uFDSspYbW1","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Avec les tripes","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous pouvez utiliser votre Trempe plutôt que l’Attribut habituellement associé à la Compétence, par exemple en Mêlée. Vous devez expliquer comment vous sollicitez votre Trempe dans ce contexte particulier. </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","script":"actor.checkAttribut(\"Trempe\", 6)","id":"QPfzcI6nHXfbBO1d","competence":"Trempe","minLevel":"6"}],"talenttype":"personnage","utilisation":"sceance","prerequis":"Trempe 6","resumebonus":"Vous pouvez utiliser votre Trempe plutôt que l’Attribut habituellement associé à la Compétence","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.QowafGt1zBKr96sb"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666815309617,"modifiedTime":1668941455516,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"NxeONiYARHdzhdoX","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Ingéniosité","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous pouvez utiliser votre Clairvoyance plutôt que l’Attribut habituellement associé à la Compétence. Vous devez expliquer comment vous sollicitez votre Clairvoyance dans ce contexte particulier.</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.aNHKGIdMrDIYY0eq"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666903896953,"modifiedTime":1668941455529,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"PLk6bMyj7in5GBX0","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Faussaire-né(e)","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous avez des facilités dans l’art de produire des faux documents. Quand vous dépensez 2 points de Bonne Aventure pour un test de Savoir : Falsification, le bonus est de + 10.</p>","isautomated":true,"automations":[{"eventtype":"prepare-roll","name":"Automatisation 1","competence":"Savoir : Falsification","minLevel":0,"id":"BHx9xNjbS1Bp3VRF","bonus":"10","baCost":"2"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"Quand vous dépensez 2 points de Bonne Aventure pour un test de Savoir : Falsification, le bonus est de + 10.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.7ibsPEkOYJqO4PZl"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666901958786,"modifiedTime":1668941455523,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"PVJX9BXGwaUMfPWD","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Captivant(e)","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous êtes très doué(e) pour la vulgarisation. Vous parlez avec passion des domaines qui vous intéressent et l’on vous écoute le plus souvent avec intérêt. Si vous réussissez un test de Présence<br>+ un Savoir au choix, votre cours improvisé captive jusqu’à 1d5 individus qui en sont les auditeurs. Le MJ ajustera le SD en fonction du public : 15 pour un jeune esprit avide de connaissances,<br>18 pour une aubergiste pas spécialement bien disposée à votre égard, 30 pour un religieux obscurantiste. Considérez que cette réussite équivaut à l’effet que vous obtiendriez si vous aviez<br>réussi un test de Persuasion de SD 20. Pour obtenir une faveur équivalente à un SD plus élevé, ce Talent ne peut pas être mobilisé. Ce ne sera donc sans doute pas suffisant pour mettre fin à votre captivité, mais peut-être cela vous évitera-t-il une exécution immédiate… </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"","resumebonus":"Test de Présence + un Savoir au choix, votre cours improvisé captive jusqu’à 1d5 individus ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.Ziu2DbjI5tnNJ1Aw"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666897627590,"modifiedTime":1668941455517,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"PdtVqObUozdhQdKQ","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Chant des oiseaux","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous imitez à la perfection le chant des oiseaux. Si un oiseau vous est inconnu, il vous suffit de l’écouter chanter pendant une dizaine de minutes pour être en mesure de reproduire ses cris et mélodies.</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.aeM77oGaLGrNabPU"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666898021340,"modifiedTime":1668941455518,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"PfPtbjNvmW7DVPWS","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Dragon","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous combattez à cheval avec beaucoup de métier. Lorsqu’un test de Mêlée est effectué dans le cadre d’un combat monté, vous bénéficiez d’un + 2.</p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Mêlée","minLevel":"6","id":"Md5bpdOB2kMkrF9M"},{"eventtype":"on-drop","name":"Automatisation 1","competence":"Mêlée","minLevel":"5","id":"r5229BxG1nMINubl"},{"eventtype":"prepare-roll","name":"Automatisation 1","competence":"Mêlée","minLevel":0,"id":"HTBcDtZB6Jw0oZLi","bonus":"3","baCost":"0"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Mêlée 6 et Monte 5.\n","resumebonus":"Lorsqu’un test de Mêlée est effectué dans le cadre d’un combat monté, vous bénéficiez d’un + 2.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.5DZxPehBz7rsgq5x"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666900943433,"modifiedTime":1668941455521,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"PfuzDohW3l2ds0hu","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Connais ton adversaire","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Lorsque vous utilisez ce Talent, le MJ vous indique quels sont la Capacité Offensive, le Seuil de Défense et le Seuil de Vigueur d’une personne en train de se battre ou en position de garde. Si elle ne combat pas, ce Talent ne peut donner que de vagues indications (« il a l’air d’être un bon<br>combattant », « il te semble résistant »… ce qui n’exclut pas une tentative de bluff de la part de cette personne).</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.0JBRs07MwlyFoQFR"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666899346437,"modifiedTime":1668941455519,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"Q6uc8OVbyQr1XsXb","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Feinte","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Auprès d’un maître d’armes, vous avez appris une ou plusieurs bottes secrètes et vos adversaires vont en faire les frais. En mêlée, dépensez 1 point de Bonne Aventure pour utiliser la manoeuvre avancée « Coup de maître » (voir p. 207). </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Mêlée","minLevel":"6","id":"nAvAlVn4sgHkvd49"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Mêlée 6.","resumebonus":"En mêlée, dépensez 1 point de Bonne Aventure pour utiliser la manoeuvre avancée « Coup de maître » (voir p. 207). ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.SYxwqLARHSS94nBq"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666902098860,"modifiedTime":1668941455524,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"QORP58g0HtnqseQh","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Gibier de prix","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>La chasse n’a plus de secret pour vous, et vous êtes capable de dénicher les gibiers à poil ou à plume les plus recherchés. Avec l’accord du MJ, si les circonstances le permettent, vous attrapez, vivante ou morte, l’une de ces raretés. Un noble ou un riche marchand des environs serait prêt à débourser 10 + 1d10 PA pour l’acheter. </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Survie","minLevel":"6","id":"usbb47eVYFT9g4KL"}],"talenttype":"personnage","utilisation":"sceance","prerequis":"Survie 6.","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.BiwlsZjGkgcgWllJ"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666902946722,"modifiedTime":1668941455526,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"QP5upL2z4pwsUNx8","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Il était une fois","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous savez raconter de bonnes histoires, drôles, émouvantes ou instructives. Contre un nombre variable de points de Bonne Aventure (ou plus rarement d’Éclat), le récit que vous faites captive jusqu’à 1d5 personnes. Le coût exact en BA est à la discrétion du MJ, en fonction de l’auditoire : 1 point s’il est bien disposé à votre égard, 2 s’il se défie de vous. Il faudra dépenser 1 point d’Éclat si vous tentez votre chance auprès d’un Connétable granbreton. Considérez que cette réussite équivaut à celle d’un test de Persuasion de SD 20. Pour obtenir une faveur équivalente à un SD plus élevé, ce Talent ne peut pas être mobilisé. Ce ne sera donc sans doute pas suffisant pour mettre fin à votre captivité, mais peut-être cela vous évitera-t-il une exécution immédiate… </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.c1YiUqK8weeAYyjV"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666903687569,"modifiedTime":1668941455528,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"QkhWaeEez0PQA9xu","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Milieu nourricier","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Dans le milieu mentionné par votre Profil, et que vous connaissez si bien, vous trouvez aisément de quoi manger pour une compagnie de six personnes. Vous obtenez un succès automatique en Adresse + Survie équivalent à un SD 20 chaque fois que vous voulez rapporter de quoi les nourrir. Si le SD devait être plus élevé aux yeux du MJ, alors il vous faudrait réussir un test. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"jour","prerequis":"","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.6DtyKRpMO8IoBViM"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666905443953,"modifiedTime":1668941455533,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"Qwe7unhMiKDu07vq","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Sous mes pieds","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous pensez pouvoir trouver de l’eau plus facilement que d’autres. Peut-être est-ce simplement de la chance ? Toujours est-il que, si vous dépensez 2 points de Bonne Aventure pour ce faire, vous détectez une source proche.</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"","resumebonus":"Si vous dépensez 2 points de Bonne Aventure pour ce faire, vous détectez une source proche.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.dBGNfj8BrtgwLJRM"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666907987438,"modifiedTime":1668941455540,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"R44zIslkhNqYSOYp","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Capitaine","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous êtes désormais particulièrement à l’aise à la barre d’un navire. Quand vous dépensez 2 points de Bonne Aventure pour un test de Navigation, le bonus est de + 10. </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Navigation","minLevel":"6","id":"MsYV2x6I8vggoGbt"},{"eventtype":"prepare-roll","name":"Automatisation 1","competence":"Navigation","minLevel":0,"id":"CYfZwVOQ7aU9Ft9j","bonus":"10","baCost":"2"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Navigation 6.","resumebonus":"Quand vous dépensez 2 points de Bonne Aventure pour un test de Navigation, le bonus est de + 10. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.xmmtSJxLz7k9SjWZ"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666897351810,"modifiedTime":1668941455517,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"R8Jq474UOUjJuAc4","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Casse-croûte","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Dans le milieu mentionné par votre Profil, vous trouvez sans difficulté de quoi nourrir une personne pour deux repas par jour, sans qu’il soit besoin d’effectuer un test ou de dépenser<br>de l’argent.</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"jour","prerequis":"","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.34sVMkQbabOK3yB9"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666897908882,"modifiedTime":1668941455518,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"RWhqxNR5JuPUqt4f","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Fourberie","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Malhonnête » est un terme que vous récusez : disons que vous savez tirer le meilleur parti de la situation. Lorsqu’un test de Commerce mobilise spécifiquement l’art de l’arnaque, vous bénéficiez d’un + 3. </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Commerce","minLevel":"6","id":"Bthb5x9zY3U6qKcr"},{"eventtype":"prepare-roll","name":"Automatisation 1","competence":"Commerce","minLevel":0,"id":"Sd2cQvZlJ3TVGaVK","bonus":"3","baCost":"0"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Commerce 6.","resumebonus":"Lorsqu’un test de Commerce mobilise spécifiquement l’art de l’arnaque, vous bénéficiez d’un + 3. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.USWRkT0t7K23ERoV"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666902357394,"modifiedTime":1668941455525,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"SULOEGFEp8JAkn1q","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Frugal(e)","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous êtes capable de supporter d’importantes privations. Le temps est doublé pour vous avant que la faim ou la soif ne vous causent des Adversités. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.C8CmsN6Hu6GmeMb5"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666902404998,"modifiedTime":1668941455525,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"TWn7xQjvSuVMparJ","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Coup de bluff","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous pouvez remplacer votre Puissance par votre Présence pour un test de Mêlée. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"","resumebonus":"Vous pouvez remplacer votre Puissance par votre Présence pour un test de Mêlée. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.MqI4IEdKQWEIyRmi"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666899744288,"modifiedTime":1668941455520,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"TmAscAA4NxmLyPZP","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Voltige","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous êtes souple et vous disposez d’un très bon équilibre : lorsqu’un test de Mouvements mobilise spécifiquement vos facultés d’acrobatie ou d’escalade, vous bénéficiez d’un + 3. </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Mouvements","minLevel":"6","id":"aVrJWTfVY7TOIXrZ"},{"eventtype":"prepare-roll","name":"Automatisation 1","competence":"Mouvements","minLevel":0,"id":"E2nFlcBHSLVqXYnA","bonus":"3","baCost":"0"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Mouvements 6.","resumebonus":"Lorsqu’un test de Mouvements mobilise spécifiquement vos facultés d’acrobatie ou d’escalade, vous bénéficiez d’un + 3. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.XmUR2H4dSxmkFNIb"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666942060503,"modifiedTime":1668941455542,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"TmjghsoTLatXybKZ","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Alliés de poids","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Ce Talent annule et remplace Alliés extérieurs. Dans des régions autres que celle de votre résidence habituelle, vous connaissez des personnes qui se comporteront avec vous comme des<br>Alliés de niveau 2. Chacun de ces Alliés ne vous aidera qu’une seule fois et il n’est pas possible d’utiliser ce Talent plus d’une fois par scénario. Vous n’avez aucunement besoin de préciser dans quelle zone se trouvent ces Alliés en question lors de l’acquisition du Talent : libre à vous de les faire surgir au moment que vous jugerez opportun (par exemple lorsque vous atteignez, sans le moindre sou, une ville étrangère). La seule limite à ce Talent est celle du vécu de votre personnage : s’il n’est jamais allé en Afrika et si aucune de ses connaissances n’entretient des rapports avec des habitants de cette région, le MJ risque logiquement de vous dire que ce Talent ne peut être activé dans cette zone-là. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"scenario","prerequis":"Posséder le Talent Alliés extérieurs.","resumebonus":"Personnes qui se comporteront avec vous comme des Alliés de niveau 2. Chacun de ces Alliés ne vous aidera qu’une seule fois.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.KrCbX1T2LuJQJsjR"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666787163377,"modifiedTime":1668941455514,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"UOEolcYPAMHV9jNK","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Comme de l’acier","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous avez l’habitude de vous battre à mains nues, et vous avez appris à faire très mal. Les dégâts des armes naturelles sont équivalents à ceux d’une arme normale en cas de réussite simple (vous dégradez d’un niveau la Combativité de votre adversaire puis vous lancez 1d10, que vous comparez à son Seuil de Vigueur).</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"Les dégâts des armes naturelles sont équivalents à ceux d’une arme normale en cas de réussite simple.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.660TSsdYO4N7DK7e"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666898897114,"modifiedTime":1668941455519,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"UcwDxuOlIFoDAH3D","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Sombre pharmacopée","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous êtes capable de préparer des décoctions aux effets puissants et vous savez presque immanquablement reconnaître les effets des substances administrées. Quand vous dépensez points de Bonne Aventure, le bonus à votre test de Savoir : Drogues et poisons est de + 10. </p>","isautomated":true,"automations":[{"eventtype":"prepare-roll","name":"Automatisation 1","competence":"Savoir : Drogues et poisons","minLevel":0,"id":"zPZSAO7qx0xb4dIT","bonus":"10","baCost":"2"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"Quand vous dépensez 2 points de Bonne Aventure, le bonus à votre test de Savoir : Drogues et poisons est de + 10. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.ladtkm95ErpJh1KF"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666907669310,"modifiedTime":1668941455540,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"Um2KJ31QTaruH0N8","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Prédilection","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous avez développé une aptitude supérieure dans l’un des domaines d’application d’une Compétence. Par exemple, dans le champ de la Filouterie, vous êtes particulièrement à l’aise avec le crochetage des serrures et coffres. Reportez-vous au chapitre des Compétences (p. 186) pour voir quelles sont les Prédilections appropriées dans chaque Compétence (elles sont indiquées en italique dans les descriptions). Votre Talent Prédilection vous autorise à relancer le dé choisi pour le test de Compétence et à garder le meilleur des deux résultats. </p>\n<p>Note : vous ne pouvez pas changer de type de dé au cours d’une relance. Si vous avez lancé le d20 et obtenu un impair ou un résultat insuffisant, vous ne pouvez alors choisir le d10, et devez relancer une nouvelle fois le d20.</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"la Compétence choisie au niveau 3.","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.BLFGxArud7DpHBvb"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666906532154,"modifiedTime":1668941455536,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"UyTNgLJJEkrT00Ol","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Aura princière","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Toute votre personne dégage quelque chose de charismatique qui impose le respect – même chez vos adversaires. Avec ce Talent, qui est sans effet sur la plupart des Granbretons (à la discrétion du MJ), vous obligez un PNJ ou un groupe de PNJ à vous traiter avec les égards dus à une personnalité de haut lignage : une exécution est commuée en emprisonnement ; on ne vous enferme plus dans une cellule sordide mais dans des appartements confortables (et dont il est sans doute plus facile de s’échapper) ; un hôte vous prête son meilleur cheval ; un seigneur local met à votre disposition une escorte, etc. Votre interlocuteur ne fera cependant rien qui mettrait sa vie ou sa réputation en danger. </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","script":"actor.checkCompetenceLevel(\"Persuasion\", 9)","id":"yOIWN7VjYGH4Y2Ot","competence":"Persuasion","minLevel":"9"}],"talenttype":"personnage","utilisation":"scenario","prerequis":"Persuasion 9.","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.NUriHgMbD14sflbI"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666815167266,"modifiedTime":1668941455516,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"UzBpYUdA2dkwMV5V","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Sorcellerie du vivant","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous maîtrisez presque tous les arcanes de la science biologique. Lorsqu’un test de Sorcellerie mobilise majoritairement cette branche de votre savoir, vous bénéficiez d’un + 2. </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Savoir : Sorcellerie","minLevel":"6","id":"orMRoJuTrk0l1wdz"},{"eventtype":"prepare-roll","name":"Automatisation 1","competence":"Savoir : Sorcellerie","minLevel":0,"id":"bwGgYOzarrdQ5Ohv","bonus":"2","baCost":"0"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Prédilection Biologie et Savoir : Sorcellerie 6.","resumebonus":"Lorsqu’un test de Sorcellerie mobilise majoritairement cette branche de votre savoir, vous bénéficiez d’un + 2. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.fNpz2asg5n0SKfKE"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666907900104,"modifiedTime":1668941455540,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"VCvxc0AUgfS8mguE","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Séduction","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous savez vous rendre aimable et faire tourner les têtes : lorsque vous faites un test de Persuasion dans le but de charmer quelqu’un, vous bénéficiez d’un + 3. </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Persuasion","minLevel":"6","id":"8NnvU2lcfnTUzn4D"},{"eventtype":"prepare-roll","name":"Automatisation 1","competence":"Persuasion","minLevel":0,"id":"T02D9cQ4F7GwVr3b","bonus":"3","baCost":"0"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Persuasion 6.","resumebonus":"Lorsque vous faites un test de Persuasion dans le but de charmer quelqu’un, vous bénéficiez d’un + 3. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.6VBliEIsqN4u3HKr"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666907576774,"modifiedTime":1668941455539,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"VO0CNoxWylOwyADG","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Intuition","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Quand vous observez vos semblables, votre clairvoyance s’apparente à un sixième sens qui vous guide vers la vérité. Tous les tests de Perception qui mobilisent l’empathie et dont le SD est inférieur à 20 sont considérés comme automatiquement réussis. </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Perception","minLevel":"9","id":"2Z6uVapKBIuHM8CV"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Perception 9.","resumebonus":"Tous les tests de Perception qui mobilisent l’empathie et dont le SD est inférieur à 20 sont considérés comme automatiquement réussis. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.1cGkwdMJnGZo71Pz"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666904534318,"modifiedTime":1668941455531,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"VcQNf4PMVhomVAdZ","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Vivacité","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous avez de très bons réflexes et réagissez avec rapidité. Lorsque vous effectuez un test<br>d’Initiative, ajoutez + 2 au résultat. </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Adresse","minLevel":"6","id":"UfsGLT8wAtpUKDmE"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Adresse 6.","resumebonus":"Lorsque vous effectuez un test d’Initiative, ajoutez + 2 au résultat. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.TAlFsICeCKZZWLjY"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666942011249,"modifiedTime":1668941455542,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"Vx4hvKQGX2jEOfgO","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Ombre","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous savez vous mouvoir sans bruit et tirer parti de votre environnement pour vous dissimuler : lorsqu’un test de Discrétion mobilise spécifiquement vos capacités à vous déplacer en silence ou à vous cacher, vous bénéficiez d’un + 2. </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Discrétion","minLevel":"6","id":"dG0UtFGYNVa8qRcA"},{"eventtype":"prepare-roll","name":"Automatisation 1","competence":"Discrétion","minLevel":0,"id":"S6GAUPdVSCnHFOnn","bonus":"2","baCost":"0"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Discrétion 6.","resumebonus":"Lorsqu’un test de Discrétion mobilise spécifiquement vos capacités à vous déplacer en silence ou à vous cacher, vous bénéficiez d’un + 2. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.OYgdxFH0y2SlvhY0"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666905716059,"modifiedTime":1668941455533,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"W1kqrJfzmYRXmOka","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Virevoltant(e)","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous savez très bien vous battre en infériorité numérique. Lorsque vous affrontez plusieurs adversaires, les deux premiers n’en tirent aucun avantage, seuls le troisième et les suivants bénéficieront d’un + 3. </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Mêlée","minLevel":"6","id":"remgz3dU82aZPgHi"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Mêlée 6.","resumebonus":"Lorsque vous affrontez plusieurs adversaires, les deux premiers n’en tirent aucun avantage, seuls le troisième et les suivants bénéficieront d’un + 3. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.TFK8L8SkWYI2n9ET"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666941961750,"modifiedTime":1668941455542,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"WJsWjnl7i3O6jfqf","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Alliés extérieurs","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Même chose qu’Alliés de poids @UUID[Compendium.fvtt-hawkmoon-cyd.talents.UOEolcYPAMHV9jNK]{ALLIÉS DE POIDS} , mais les Alliés sont de niveau 1. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"scenario","prerequis":"Posséder le Talent Alliés extérieurs.","resumebonus":"Personnes qui se comporteront avec vous comme des Alliés de niveau 1. Chacun de ces Alliés ne vous aidera qu’une seule fois.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.iM3cU3AYbPqpYp68"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666787321077,"modifiedTime":1668941455514,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"WoTFgl5br3Lvabx1","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"À l’abri","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous ne pouvez être pris pour cible par un tir lors de ce tour de jeu. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"","resumebonus":"Vous ne pouvez être pris pour cible par un tir lors de ce tour de jeu","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.hnkA6CnCJkdHGORI"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666775114481,"modifiedTime":1668941455513,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"WscgYDMcjQ0WhbA7","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Odeur du danger","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Votre instinct de survie est si développé qu’il confine au sixième sens. Si vous dépensez 1 point de Bonne Aventure en début de séance, le MJ vous préviendra, deux tours avant qu’elle n’agisse, d’une présence hostile à proximité, par exemple de brigands embusqués ou même d’une bête tapie dans l’ombre. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"","resumebonus":"Si vous dépensez 1 point de Bonne Aventure en début de séance, le MJ vous préviendra, deux tours avant qu’elle n’agisse, d’une présence hostile à proximité.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.05h45E9PFIGJiX4V"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666905619654,"modifiedTime":1668941455533,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"XBeq59sy1Q2B6OIV","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Élève doué(e)","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous êtes avide de connaissances et vous apprenez vite. Grâce à ce Talent, le développement des Compétences de Savoir (hors Sorcellerie) est moins coûteux en points d’Expérience : pour atteindre le niveau supérieur, vous dépenserez désormais un nombre de points équivalent au niveau à atteindre. Par exemple, passer du niveau 4 au niveau 5 en Savoir : Europe ne vous coûtera que 5 points. (L’acquisition d’un nouveau Savoir, elle, reste au même coût que les autres<br>Compétences.)</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.vu9cU1jIhXbtuRTN"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666901245487,"modifiedTime":1668941455522,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"YbrtButmBWqjmSte","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Oiseau de nuit","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous êtes habitué(e) à faire des nuits blanches. Ignorez toute Adversité bleue liée à la fatigue après une nuit sans sommeil. C’est seulement au bout de 48 heures sans dormir que vous subissez un malus.</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.h7S9o5qg02sORtPC"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666905690468,"modifiedTime":1668941455533,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"Z4tHo6NWFFXfwk3n","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Belle vente","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>En échange d’1 point de Bonne Aventure, vous vendez un objet que vous avez fabriqué au double de son prix. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"scenario","prerequis":"","resumebonus":"En échange d’1 point de Bonne Aventure, vous vendez un objet que vous avez fabriqué au double de son prix.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.WdGSTef9iczddRZ4"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666896677403,"modifiedTime":1668941455517,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"ZIzWi7iNFQ4u8Cld","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Insultes humiliantes","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Au prix d’une action complexe, vous accablez d’injures la cible de votre choix, ce qui lui inflige 1 Adversité bleue pour toute la durée de la scène. </p>\n<p>Note : le MJ devrait inviter le PJ à improviser une telle bordée d’injures à la table de jeu.</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"","resumebonus":"Au prix d’une action complexe, vous accablez d’injures la cible de votre choix, ce qui lui inflige 1 Adversité bleue pour toute la durée de la scène. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.mpcon8AsvSQ8JCGX"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666904491420,"modifiedTime":1668941455531,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"ZwRyFe6OyTEnRG9k","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Hypermnésie","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous avez une mémoire d’une étonnante acuité. Vous vous souvenez de tout ou presque. Lorsqu’un détail utile vous échappe, par exemple que vous ne vous souvenez plus d’une phrase prononcée par un PNJ lors de la séance précédente, demandez au MJ de vous la rappeler. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.l6j4zz6CY7WbKbI4"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666903590972,"modifiedTime":1668941455528,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"aGTmU6cbUSjWRbwh","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Ressources","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous avez le commerce dans le sang et vous trouvez toujours un moyen de gagner de l’argent, même quand vous n’avez rien à vendre ! En échange d’un point de Bonne Aventure, vous vous débrouillez pour récupérer 10 + 1d10 PA ou un objet d’une valeur équivalente.</p>\n<p>Note : le MJ devrait inviter le personnage à raconter à la table de jeu comment il s’y est pris.</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.YNb1MZglt5Kx1LC8"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666907037633,"modifiedTime":1668941455538,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"aMBBwr6Ipn8C1Ii8","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Corde sensible","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Si vous avez la possibilité de discuter plus de cinq minutes avec quelqu’un, vous devinez aisément ce que votre interlocuteur convoite, espère ou redoute (le MJ vous le révèle). Cette information vous permet de viser plus juste : vous bénéficiez d’un bonus de + 3 dans un test de Persuasion dont<br>il serait la cible. </p>","isautomated":true,"automations":[{"eventtype":"prepare-roll","name":"Automatisation 1","competence":"Persuasion","minLevel":0,"id":"JrmJWCJuCS5HxCvV","bonus":"3","baCost":"0"}],"talenttype":"personnage","utilisation":"sceance","prerequis":"","resumebonus":"Vous bénéficiez d’un bonus de + 3 dans un test de Persuasion dont\nil serait la cible. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.WX34fshBwcmLaqSR"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666899666247,"modifiedTime":1668941455520,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"at8LtDlEgkdEVps1","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Exaltation","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Si vous prenez le temps de communier avec ce qui fait l’objet de votre croyance (dix minutes au moins), vous atteignez un état de sérénité intérieure qui vous permet de défausser une Adversité bleue. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.ca55p2UHB75AQQY1"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666901757259,"modifiedTime":1668941455523,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"auFixcjbD52rSxHu","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Galimatias","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous savez parler dans une langue obscure, pleine de termes compliqués qui embrouillent l’esprit de votre interlocuteur. Quand vous dépensez 2 points de Bonne Aventure pour un test de Baratin (Persuasion), le bonus est de + 10.</p>\n<p>Note : le MJ devrait inviter le personnage à improviser ce propos alambiqué à la table de jeu.</p>","isautomated":true,"automations":[{"eventtype":"prepare-roll","name":"Automatisation 1","competence":"Persuasion","minLevel":0,"id":"pZQhEkinrofGRTpv","bonus":"10","baCost":"2"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"Quand vous dépensez 2 points de Bonne Aventure pour un test de Baratin (Persuasion), le bonus est de + 10.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.R1w5NF07iKgpqI1P"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666902747212,"modifiedTime":1668941455526,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"bFFT84gkgybEpj41","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Trompe-l’oeil","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Si vous dépensez 1 point de Bonne Aventure, l’objet que vous produisez grâce à l’art que vous possédez au niveau 9 (sculpture ou peinture) est si parfaitement exécuté qu’il ressemble à s’y méprendre à son modèle réel. Il faut réussir un test de Clairvoyance + Persuasion / 25 pour remarquer l’illusion. </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Savoir : Peinture & Sculpture","minLevel":"9","id":"ihQKyJa787nitQsq"}],"talenttype":"personnage","utilisation":"sceance","prerequis":"Savoir : Peinture & Sculpture au niveau 9.","resumebonus":"Si vous dépensez 1 point de Bonne Aventure, l’objet que vous produisez grâce à l’art que vous possédez au niveau 9 (sculpture ou peinture) est si parfaitement exécuté qu’il ressemble à s’y méprendre à son modèle réel","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.SEvYDrbtczrZhS0k"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666941447428,"modifiedTime":1668941455541,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"bWVfw78hUa5uibnt","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Passe-partout","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Les serrures n’ont presque plus de secret pour vous. Lorsque vous faites un test de Filouterie afin de crocheter une porte, vous bénéficiez d’un + 3.</p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Filouterie","minLevel":"6","id":"cfOF8CS031BkS0Cp"},{"eventtype":"prepare-roll","name":"Automatisation 1","competence":"Filouterie","minLevel":0,"id":"SHg4jPvigVo7PHiX","bonus":"3","baCost":"0"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Filouterie 6.","resumebonus":"Lorsque vous faites un test de Filouterie afin de crocheter une porte, vous bénéficiez d’un + 3.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.TjDQlpT0asXGBwfU"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666905900995,"modifiedTime":1668941455534,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"bgJ2lEngn7UZMplj","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Parade","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous avez développé, en combat, l’art de parer les coups. Votre Seuil de Défense est augmenté d’un point. </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Mêlée","minLevel":"6","id":"IkwLfxWGCGEVbuik"},{"eventtype":"bonus-permanent","name":"Automatisation 1","competence":"","minLevel":0,"id":"sPi6NiM5wUIkrajE","bonusname":"bonus-defensif","bonus":"1"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Mêlée 6.","resumebonus":"Vous avez développé, en combat, l’art de parer les coups. Votre Seuil de Défense est augmenté d’un point. ","used":false},"effects":[],"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3},"flags":{"core":{"sourceId":"Item.LFMsAxdir7MiMBjQ"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.1.0","coreVersion":"10.290","createdTime":1666905763861,"modifiedTime":1669715660873,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"folder":null,"sort":0,"_id":"cAxpTU6FBb5UItLs"}
|
||||
{"name":"Coup dévastateur","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vos coups peuvent être surpuissants. Vous ajoutez votre niveau de Puissance / 2 (arrondi à l’inférieur) aux dégâts infligés en mêlée.</p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Mêlée","minLevel":"6","id":"7HSfr8L3CDZzwXrq"}],"talenttype":"personnage","utilisation":"sceance","prerequis":"Mêlée 6.","resumebonus":"Vous ajoutez votre niveau de Puissance / 2 (arrondi à l’inférieur) aux dégâts infligés en mêlée.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.6aa76XCuV2czNM7H"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666899784026,"modifiedTime":1668941455520,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"cQLCQafJydtoxmwy","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Massue","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous avez pris le coup de main, dirait-on. Lorsqu’un test de Filouterie est effectué dans le but d’assommer quelqu’un, vous bénéficiez d’un + 3. </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Filouterie","minLevel":"5","id":"7BFwnvtOYV2cqtiO"},{"eventtype":"prepare-roll","name":"Automatisation 1","competence":"Filouterie","minLevel":0,"id":"VB3gPB0OuRupmm11","bonus":"3","baCost":"0"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Filouterie 5.","resumebonus":"Lorsqu’un test de Filouterie est effectué dans le but d’assommer quelqu’un, vous bénéficiez d’un + 3. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.aN0WyT6NLBbXCysb"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666905173546,"modifiedTime":1668941455532,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"cTRoeHjWPLC2byRM","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Rudiments sorciers","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vos connaissances et votre capacité de réflexion vous permettent d’embrasser plus facilement la sorcellerie. Bifurquer vers ce Profil (voir p. 148) ne vous coûte aucun point d’Expérience. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.lrb4kanVjR4KILIQ"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666907129143,"modifiedTime":1668941455538,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"d7CNKeK4SvjFACmu","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Tir en mouvement","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous êtes habitué(e) à tirer tout en vous déplaçant. Le modificateur de difficulté lié à votre mouvement est ignoré lorsque vous entreprenez un test d’Armes à Distance.</p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Armes à distance","minLevel":"3","id":"hIru2TPbCjcVPpeV"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Armes à distance 3.","resumebonus":"Le modificateur de difficulté lié à votre mouvement est ignoré lorsque vous entreprenez un test d’Armes à Distance.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.iIkpXrkHfNfUGj3S"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666908206838,"modifiedTime":1668941455540,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"dwxp90Jk7XqN2U8W","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Combat spectaculaire","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous vous battez avec panache et êtes passé(e) maître dans l’art de l’esbroufe. Chaque fois que vous le souhaitez, en Mêlée, vous pouvez remplacer votre Puissance par votre Présence.</p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Mêlée","minLevel":"5","id":"DsK3yYJAiJn1hRl4"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Mêlée 5.","resumebonus":"Chaque fois que vous le souhaitez, en Mêlée, vous pouvez remplacer votre Puissance par votre Présence.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.qKlK0NCzr3jyglqX"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666898845414,"modifiedTime":1668941455519,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"e7TD51nnPVxQm9te","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Sans défaut","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vos créations sont d’une fiabilité rare. Vous pouvez désormais fabriquer des objets technologiques dépourvus de « défaut courant » sans avoir à augmenter le Seuil de Difficulté. </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Savoir : Sorcellerie","minLevel":"9","id":"zQaZ99BggrhZzNoV"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Savoir : Sorcellerie 9.","resumebonus":"Vous pouvez désormais fabriquer des objets technologiques dépourvus de « défaut courant » sans avoir à augmenter le Seuil de Difficulté. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.GaqLtivUAnb5l52t"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666907414058,"modifiedTime":1668941455539,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"eNBUTwuQ1T7kEERN","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Un début de piste","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous obtenez une information utile pour trouver ce que vous cherchez, que ce soit dans le cadre d’une traque ou d’une enquête (à la discrétion du MJ). </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.Chm6tGTv6hAyLNsq"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666941597449,"modifiedTime":1668941455541,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"eSV13Duqnq1Q9FoL","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Apothicaire","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous savez concocter des médicaments efficaces à partir des ressources que la nature vous offre. Lorsqu’un test de Soins mobilise spécifiquement votre capacité à préparer des remèdes, vous bénéficiez d’un + 3.</p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","script":"actor.checkCompetenceLevel(\"Soins\", 6)","id":"0yK8itn3My2acQNC","competence":"Soins","minLevel":"6"},{"eventtype":"prepare-roll","name":"Automatisation 1","script":"Soins","id":"HgfYLKYIJhDLGK7E","competence":"Soins","bonus":"3","baCost":"0"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Soins 6\n","resumebonus":"Lorsqu’un test de Soins mobilise spécifiquement votre capacité à préparer des remèdes, vous bénéficiez d’un + 3.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.f5ebvKSxdGhadC9N"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666804511354,"modifiedTime":1668941455515,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"eWRdApL6JwNlPQGJ","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Pédagogue","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous êtes un(e) très bon enseignant(e). À votre contact, il est facile d’apprendre. Vous pouvez transmettre une partie de vos connaissances et de vos savoir-faire à un PJ ou un PNJ de votre choix. Il suffit pour cela que vous possédiez un niveau supérieur au sien dans une Compétence donnée, quelle qu’elle soit. Le MJ déterminera la durée requise par l’apprentissage. Au terme de celle-ci, votre disciple acquiert un niveau supplémentaire de Compétence en dépensant 1 point d’Expérience de moins que la règle ne le requiert. Par exemple, s’il veut passer du niveau 4 au niveau 5 en Soins, il ne dépense que 5 points. Si c’est un PNJ, on considère que cette amélioration est automatique. (Permanent, mais un seul élève à la fois.)</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.XguOVxl45uaZ5TXh"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666905983128,"modifiedTime":1668941455534,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"eytzPHlgk5jSBdaa","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Valeur des choses","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous connaissez de mieux en mieux la valeur des biens et des services. Lorsque vous faites un test de Commerce dans le but d’évaluer un prix, vous bénéficiez d’un + 3. </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Commerce","minLevel":"6","id":"sEOrbf3woKP7MGJt"},{"eventtype":"prepare-roll","name":"Automatisation 1","competence":"Commerce","minLevel":0,"id":"atKHcZV4BZpLzdYs","bonus":"3","baCost":"0"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Commerce 6.","resumebonus":"Lorsque vous faites un test de Commerce dans le but d’évaluer un prix, vous bénéficiez d’un + 3. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.0lXv0zahWLbF2Wuo"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666941745606,"modifiedTime":1668941455542,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"fC9aHrXMowHKWiY4","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Foi","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous pouvez puiser dans la force de votre croyance pour trouver les moyens de vous dépasser. Quand vous utilisez ce Talent lors d’un test de Capacité, vous ignorez toutes les Adversités d’ores et déjà encaissées. </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Savoir : Religions","minLevel":"9","id":"AIeXou0T7jK5gBZ4"}],"talenttype":"personnage","utilisation":"sceance","prerequis":"Savoir : Religions 9.","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.pxWFWmVf0XoR3bx6"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666902238577,"modifiedTime":1668941455524,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"fVXKpf7PGWnUvf6n","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Science infuse","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>On dit que toutes les connaissances ne sont que les branches d’un seul et même Grand Savoir. Votre excellence dans une discipline est telle qu’elle vous permet, par comparaison et déduction, de comprendre des phénomènes qui ne lui sont pourtant pas liés. Quand vous dépensez 2 points de Bonne Aventure pour un test dans n’importe quel Savoir (hors Sorcellerie et Pilotage), y compris dans un Savoir que vous n’avez pas développé, vous bénéficiez d’un bonus de + 10. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.eNuTga1VVFY4aat8"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666907538295,"modifiedTime":1668941455539,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"fWUAhNb3lOJnrGRM","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Fouine","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous savez trouver ce dont vous avez besoin et réduisez de 3 la Rareté d’un objet. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.llgw8TnEF9FM0UmY"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666902329453,"modifiedTime":1668941455524,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"fcrN95V37pFD6pqK","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Infatigable","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous pouvez défausser toutes les Adversités liées à la fatigue.</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.ZZJzT1AU6szABhho"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666903874776,"modifiedTime":1668941455529,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"ffcfCvi0kfXnWD6g","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Hôte de marque","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous êtes souvent perçu(e), en cette époque d’ignorance, comme une personne importante, un esprit accompli dont les connaissances si profondes pourraient changer la face du monde. Quand vous le souhaitez (avec l’accord du MJ), un PNJ peu instruit tombe en admiration devant votre personne et vous ouvre grand les portes de sa demeure. Vous et vos compagnons êtes ses invités et il tiendra à vous choyer. Il se passera 1d20 jours avant qu’il montre un peu d’embarras à l’idée de devoir loger et nourrir tout ce monde. (Peu utile du point de vue de l’aventure, il ne fera pas grand-chose d’autre pour vous : ne comptez pas sur lui pour vous introduire dans le milieu interlope de sa ville, par exemple.)</p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Savoir*","minLevel":"9","id":"ZkgbpkPExuOjKzsh"}],"talenttype":"personnage","utilisation":"scenario","prerequis":"Un Savoir à 9.","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.H8mucsmctjXDXsib"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666903525397,"modifiedTime":1668941455528,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"g0qeiKdVEGehEFGk","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Plaidoyer improbable","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Contre 2 points de Bonne Aventure, vous obtenez un succès automatique en Persuasion équivalent à un SD 25. Par exemple, pris(e) en flagrant délit d’intrusion dans une demeure, vous pouvez convaincre son propriétaire que vous vous êtes réfugié(e) là pour échapper à des brigands.</p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Persuasion","minLevel":"9","id":"VUSVgpP0wX30N0sS"}],"talenttype":"personnage","utilisation":"sceance","prerequis":"Persuasion 9.","resumebonus":"Contre 2 points de Bonne Aventure, vous obtenez un succès automatique en Persuasion équivalent à un SD 25.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.NdLNFcAE9NfdmBQU"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666906241461,"modifiedTime":1668941455535,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"gKZLEAXHlyx22Urb","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Santé de fer","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous êtes particulièrement endurant face aux drogues, aux maladies et aux poisons. Leur Virulence est abaissée de 3 points lorsque vous faites un test pour y résister.</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"Vous êtes particulièrement endurant face aux drogues, aux maladies et aux poisons. Leur Virulence est abaissée de 3 points lorsque vous faites un test pour y résister.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.QIOIBgVmmJ3mUpnx"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666907476935,"modifiedTime":1668941455539,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"gafonUMHwNd5QefL","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Toutes les églises","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous avez une connaissance très étendue des cultes d’Europe. Quand vous dépensez 2 points de Bonne Aventure pour un test de Savoir : Religions, le bonus est de + 10. </p>","isautomated":true,"automations":[{"eventtype":"prepare-roll","name":"Automatisation 1","competence":"Savoir : Religions","minLevel":0,"id":"sSquLWwxQfB4XLMo","bonus":"10","baCost":"0"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"Quand vous dépensez 2 points de Bonne Aventure pour un test de Savoir : Religions, le bonus est de + 10. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.9SUk76CE1WaNUnSA"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666941266504,"modifiedTime":1668941455541,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"gzk1mCXonfKZBi7S","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Art de la fuite","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Il est très difficile de vous rattraper. Dans le cadre d’une course-poursuite, si vous êtes la personne qui fuit, votre avantage dure même si votre opposant remporte la première opposition (voir la règle de course-poursuite, p. 197).</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"Si vous êtes la personne qui fuit, votre avantage dure même si votre opposant remporte la première opposition ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.20kSOGqK6szqqiLN"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666814906313,"modifiedTime":1668941455515,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"h5vcvdYGsqhfz2HV","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Sagesse terrienne","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Votre compréhension de la nature et vos connaissances à son sujet sont maintenant si étendues qu’elles semblent couler de source. Tous les tests de Savoir : Monde naturel dont le SD est inférieur à 20 sont considérés comme automatiquement réussis. </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Savoir : Monde naturel","minLevel":"9","id":"LYj4Cmp8CKqOul2Q"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Savoir : Monde naturel 9.","resumebonus":"Tous les tests de Savoir : Monde naturel dont le SD est inférieur à 20 sont considérés comme automatiquement réussis. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.Px5GJ8jTn8WRxtSM"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666907289313,"modifiedTime":1668941455539,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"h6IcpsghknwSt90R","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Esquive","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>À ce tour, vous ne pouvez être pris(e) pour cible d’une attaque de Mêlée. Pour utiliser ce Talent, vous devez être conscient(e) que vous allez être attaqué(e). </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.W8wCNpmptPVFhdat"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666901712078,"modifiedTime":1668941455522,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"hNnMPfqYPGuOj8V7","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Crapule","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous maîtrisez l’art du combat… déloyal. En mêlée, lorsque vous entreprenez de porter un coup bas à votre adversaire, vous bénéficiez d’un bonus de + 3. </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Mêlée","minLevel":"6","id":"gQe5UQj52Qd8Llc9"},{"eventtype":"prepare-roll","name":"Automatisation 1","competence":"Mêlée","minLevel":0,"id":"r4ccusy6MeWp3Y4s","bonus":"3","baCost":"0"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Mêlée 6.","resumebonus":"En mêlée, lorsque vous entreprenez de porter un coup bas à votre adversaire, vous bénéficiez d’un bonus de + 3. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.rUJRfR1LPg8rs1Mf"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666899889452,"modifiedTime":1668941455520,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"hyjkCHGO8GbZCA1U","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Sacrifice","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous pouvez vous jeter en avant et encaisser à sa place la blessure d’un autre personnage à proximité de vous (un nombre de mètres égal à votre Vitesse). Cette action est gratuite et vous la déclarez au moment où la blessure a lieu. </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Mêlée","minLevel":"9","id":"GrBAb5idijnKhspq"}],"talenttype":"personnage","utilisation":"sceance","prerequis":"Mêlée 9.","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.yxKgBUQ7zzeDgl1H"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666907209955,"modifiedTime":1668941455539,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"i7voDtooeaqv1JwC","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Concentration aiguë","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Si vous consacrez deux actions consécutives à vous concentrer (et que rien ne vient vous perturber), votre prochain test (s’il mobilise la Clairvoyance ou l’Adresse) bénéficiera d’un + 3. Si l’action qui suit votre temps de concentration ne lui est pas liée, vous perdez ce bonus. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"","resumebonus":"Si vous consacrez deux actions consécutives à vous concentrer (et que rien ne vient vous perturber), votre prochain test (s’il mobilise la Clairvoyance ou l’Adresse) bénéficiera d’un + 3.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.QMjfHMLVFkGpxBfo"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666899270329,"modifiedTime":1668941455519,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"iMA5OTD0hFqzvKcV","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Arme à terre","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous maîtrisez très bien l’art de désarmer un adversaire. Lorsqu’un test de Mêlée est effectué dans ce but, vous bénéficiez d’un + 3. </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","script":"actor.checkCompetenceLevel(\"Mêlée\", 6)","id":"nG1czV3z9NlRJy5J","competence":"Mêlée","minLevel":"6"},{"eventtype":"prepare-roll","name":"Automatisation 1","script":"Mêlée","id":"ovV0TJsNwyMD6cSv","competence":"Mêlée","bonus":"3","baCost":"0"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Mêlée 6","resumebonus":"Lorsqu’un test de Mêlée est effectué dans ce but, vous bénéficiez d’un + 3. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.4Ljz4qBrEqrhppQ9"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666804631140,"modifiedTime":1668941455515,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"iwb9KPtNuGifoMS3","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Deux mains droites","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous avez atteint un extraordinaire niveau d’ambidextrie. Votre première attaque s’effectue sans malus, la seconde avec un malus de – 3. </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Ambidextre","minLevel":"9","id":"SL6ZQVz2OGXTbgHe"},{"eventtype":"on-drop","name":"Automatisation 1","competence":"Mêlée","minLevel":"9","id":"wWI9Wqp2p3kPfNbt"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Posséder Ambidextre et Mêlée 9.","resumebonus":"Votre première attaque s’effectue sans malus, la seconde avec un malus de – 3. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.KAFQUX3YACrVDkTA"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666900638129,"modifiedTime":1668941455521,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"jQbsequYwtpDxIVj","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Prestige","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous inspirez de l’admiration auprès des femmes et des hommes qui pratiquent votre métier sans en maîtriser aussi bien que vous les arcanes. Contre 2 points de Bonne Aventure, vous entrez en relation avec l’un d’eux, qui vous reçoit avec les égards dus à votre rang. Considérez-le comme un Contact de niveau 3, prêt à vous aider en échange d’un peu de votre temps (consacré à lui dispenser vos lumières). </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"scenario","prerequis":"","resumebonus":"Contre 2 points de Bonne Aventure, vous entrez en relation avec l’un d’eux, qui vous reçoit avec les égards dus à votre rang. Considérez-le comme un Contact de niveau 3, prêt à vous aider en échange d’un peu de votre temps.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.KGNaF5U8LOaKKJKs"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666906583740,"modifiedTime":1668941455537,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"jYRpuOidTxsYUPA1","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Mécanicien(ne)","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>La mécanique est devenue l’un des domaines où vous excellez. Lorsqu’un test de Sorcellerie mobilise majoritairement cette branche de votre savoir, vous bénéficiez d’un + 2. </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Savoir : Sorcellerie","minLevel":"6","id":"6VtM6JyJIkuqbktp"},{"eventtype":"prepare-roll","name":"Automatisation 1","competence":"Savoir : Sorcellerie","minLevel":0,"id":"klRkO8uM8cQndDiO","bonus":"2","baCost":"0"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Prédilection Mécanique et Savoir : Sorcellerie 6.","resumebonus":"Lorsqu’un test de Sorcellerie mobilise majoritairement cette branche de votre savoir, vous bénéficiez d’un + 2","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.U65NXmyfIGnxX08z"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666905287760,"modifiedTime":1668941455532,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"jrx0Cb6h3KS3gkt7","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Trésor caché","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous avez une capacité ahurissante à localiser l’objet ou la marchandise que vous souhaitez acquérir, même quand cela paraît hautement improbable. Lorsque vous utilisez ce Talent, l’objet se révèle être disponible dans les environs. Reste maintenant à entrer en sa possession…</p>\n<p>Note : le MJ et le joueur devraient discuter ensemble de la manière dont cet objet se retrouve là.</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"scenario","prerequis":"Posséder le Talent Fouine.","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.YANShmKW6ZIwlqqv"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666941365798,"modifiedTime":1668941455541,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"k86AYt1uw6vBBgL4","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Bonne route","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Habitué(e) à vous déplacer, vous connaissez les périls et les tribulations de la route. Vous bénéficiez d’1 point de Bonne Aventure gratuit dans une situation où vous avez à affronter<br>une difficulté liée au voyage (négociation d’un prix auprès d’un aubergiste, traversée d’une rivière à gué, recherche d’un endroit pour camper, etc.). </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"","resumebonus":"Vous bénéficiez d’1 point de Bonne Aventure gratuit dans une situation où vous avez à affronter une difficulté liée au voyage ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.AuevlTF7zJdj8QyL"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666896963565,"modifiedTime":1668941455517,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"kAVyJuuoFGsI0VHz","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Âme animale","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Votre compréhension des animaux est si grande que vous semblez en mesure de déchiffrer leur langage et leurs pensées. Si vous dépensez 1 point de Bonne Aventure, le MJ vous donne des indications sur ce qu’un mammifère ou un oiseau est en train de communiquer à ses semblables. De même, vous pouvez, sans dépense de BA, reproduire leur langage afin de leur transmettre des messages rudimentaires (par exemple : « Moi pas danger pour toi » ou « Moi traverser chez toi ».) </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","script":"actor.checkCompetenceLevel(\"Savoir : Monde naturel\", 9)","id":"4oD6f598tf0AyaIq","competence":"Savoir : Monde naturel","minLevel":"9"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Savoir : Monde naturel 9.","resumebonus":"1 point de Bonne Aventure, indications sur ce qu’un animal est en train de communiquer à ses semblables. Sans dépense de BA, reproduire leur langage afin de leur transmettre des messages rudimentaires.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.2TeaWqlPgShIsTSq"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666804324621,"modifiedTime":1668941455514,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"kYtfnQfmpTWxwGt9","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Dans chaque port","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Même chose qu’@UUID[Compendium.fvtt-hawkmoon-cyd.talents.UOEolcYPAMHV9jNK]{ALLIÉS DE POIDS} (voir p. 167), mais les Alliés sont de niveau 1 et la zone dans laquelle ils se trouvent possède obligatoirement un port ou un littoral. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"scenario","prerequis":"","resumebonus":"Personnes qui se comporteront avec vous comme des Alliés de niveau 1. Chacun de ces Alliés ne vous aidera qu’une seule fois.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.f5aGzDoWY9t0P1v9"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666900264043,"modifiedTime":1668941455520,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"kwVjT9LvsEpMGIjs","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Sous la main","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous avez l’habitude de vous battre avec ce qui vous tombe sous la main. Les armes improvisées ne causent la perte que d’un seul niveau de Combativité en cas de réussite simple ? Pas quand vous les maniez. En cas de réussite simple, vous lancez un d10, comme s’il s’agissait d’une arme normale.</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.q2Hdd1MtM10Lt3AO"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666907955009,"modifiedTime":1668941455540,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"m1YHV1M2sFZQfJ56","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Savoir druidique","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous comprenez le chant du monde comme une langue maternelle. Quand vous dépensez 2 points de Bonne Aventure, le bonus à votre test de Savoir : Monde naturel est de + 10. </p>","isautomated":true,"automations":[{"eventtype":"prepare-roll","name":"Automatisation 1","competence":"Savoir : Monde naturel","minLevel":0,"id":"0IIzKJ7OWluoLHDe","bonus":"10","baCost":"2"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"Quand vous dépensez 2 points de Bonne Aventure, le bonus à votre test de Savoir : Monde naturel est de + 10. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.Z6IVtLn2g1NTuoZk"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666907507886,"modifiedTime":1668941455539,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"mChIOEmLkQriVxkR","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Dur(e) au mal","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous êtes devenu(e) particulièrement robuste. Votre Vigueur est augmentée d’1 point.</p>","isautomated":true,"automations":[{"eventtype":"bonus-permanent","name":"Automatisation 1","competence":"","minLevel":0,"id":"hJSJxfOlzpVNBLs5","bonus":"1","bonusname":"vigueur"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"","used":false},"effects":[],"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3},"flags":{"core":{"sourceId":"Item.xsapWqPy734d1z7K"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.1.0","coreVersion":"10.290","createdTime":1666901026461,"modifiedTime":1669715645981,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"folder":null,"sort":0,"_id":"mSueeCXldbJfgJG4"}
|
||||
{"name":"Tout-terrain","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous avez l’habitude d’évoluer sur des terrains difficiles. Lorsque vous vous déplacez, le modificateur de difficulté lié au terrain est ignoré ou amoindri. Le SD que vous devez atteindre pour un test donné est en conséquence diminué de deux ou trois niveaux, à la discrétion du MJ. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.cir8bwIl5fQ6EjKl"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666941298020,"modifiedTime":1668941455541,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"mZGH7DQuNP6c5GcE","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Coûts maîtrisés","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous êtes en mesure de diviser par deux le coût de fabrication de tous les artefacts technologiques que vous créez.</p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Savoir : Sorcellerie","minLevel":"6","id":"Br7QaKQsWXdkUOuu"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Savoir : Sorcellerie 6.","resumebonus":"Vous êtes en mesure de diviser par deux le coût de fabrication de tous les artefacts technologiques que vous créez.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.TWBovBcpp4fd2lk1"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666899840277,"modifiedTime":1668941455520,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"mZzzd66l7wyZBgZu","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Encaissement","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous avez appris à souffrir et à surmonter la douleur. Quand votre état atteint le niveau Affaibli, ignorez les deux Adversités qui vous sont infligées jusqu’à la fin de la scène. Une fois le combat ou la scène achevé(e), prenez normalement en compte ces deux Adversités. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.paT3LilYY44t8Jxz"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666901415829,"modifiedTime":1668941455522,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"mkHqOHLGKEU0zeMi","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Fantôme","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vos déplacements sont si furtifs que vous semblez disparaître entièrement dans votre environnement : lorsque vous dépensez 2 points de Bonne Aventure pour un test de Discrétion<br>mobilisant vos capacités à vous déplacer en silence ou à vous cacher, vous bénéficiez d’un + 10. </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Discrétion","minLevel":"6","id":"htbBwuQbWztZZRhw"},{"eventtype":"prepare-roll","name":"Automatisation 1","competence":"Discrétion","minLevel":0,"id":"0EpnXcmnFfNZ7wrg","bonus":"10","baCost":"2"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Discrétion 6.","resumebonus":"Lorsque vous dépensez 2 points de Bonne Aventure pour un test de Discrétion\nmobilisant vos capacités à vous déplacer en silence ou à vous cacher, vous bénéficiez d’un + 10. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.Q4f65s8U0MS1Ho00"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666901885151,"modifiedTime":1668941455523,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"mu0CZri4vQn01IZ6","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Insoupçonnable","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous savez très bien vous faire passer pour quelqu’un de respectable. Quand vous dépensez 2 points de Bonne Aventure, le bonus à votre test de Soupçons (Persuasion) est de + 10. </p>","isautomated":true,"automations":[{"eventtype":"prepare-roll","name":"Automatisation 1","competence":"Persuasion","minLevel":0,"id":"txxV2VXAkg0B3lBL","bonus":"10","baCost":"2"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"Quand vous dépensez 2 points de Bonne Aventure, le bonus à votre test de Soupçons (Persuasion) est de + 10. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.vlrdr2cPqCj0MPBl"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666904022185,"modifiedTime":1668941455530,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"nNUcmEGqRPLlxZUu","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Poisson","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous nagez avec une très grande aisance. Quand vous dépensez 2 points de Bonne Aventure pour un test de Nage, le bonus est de + 10. </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Nage","minLevel":"6","id":"zsfysILzQDRORW5y"},{"eventtype":"prepare-roll","name":"Automatisation 1","competence":"Nage","minLevel":0,"id":"bopATfVIXDwFZAxL","bonus":"10","baCost":"2"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Nage 6.","resumebonus":"Quand vous dépensez 2 points de Bonne Aventure pour un test de Nage, le bonus est de + 10. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.lYuW6UAsYVFMJFa6"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666906468492,"modifiedTime":1668941455535,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"na27gCUhSNMPsaJm","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Plus loin","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Dépensez 2 points de Bonne Aventure pour faire preuve d’une puissance exceptionnelle dans le maniement d’une arme de jet. Sur ce lancer, sa portée est doublée. </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Armes à distance","minLevel":"6","id":"wec74fT6WeuWuUJG"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Armes à distance 6.","resumebonus":"Dépensez 2 points de Bonne Aventure pour faire preuve d’une puissance exceptionnelle dans le maniement d’une arme de jet. Sur ce lancer, sa portée est doublée. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.CcVTuQHOof9Rv8M0"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666906353182,"modifiedTime":1668941455535,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"neqkOeNm42Uj7kb7","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Adepte dévoué","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Il ne vous faut que quelques minutes dans un lieu public pour trouver un nouvel adepte : un individu faible ou crédule qui vous regarde comme une personnalité auguste et va vous<br>entretenir durant les jours qui viennent (10 + 1d10 jours avant qu’il ne manifeste son embarras). Cette personne (qui ne peut être l’un des PNJ décrits dans un scénario) n’ira pas jusqu’à se ruiner pour vous, mais elle vous donnera jusqu’à 5 pièces d’argent pour vos dépenses quotidiennes, vous logera et vous nourrira si vous le lui demandez, vous introduira avec enthousiasme à toutes les personnes qu’elle connaît.<br><br></p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"scenario","prerequis":"Savoir : Religions 9","resumebonus":"Vous entretient durant 10 + 1d10 jours, vous donnera jusqu’à 5 PA/jour","used":false,"resumebeonus":""},"effects":[],"flags":{"core":{"sourceId":"Item.9YwjFxFEQij7Br4t"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666775114481,"modifiedTime":1668941455514,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"nzrlzktBe6HeCoa7","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Injonction","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous excellez à mener un groupe : lorsqu’un test de Coercition mobilise spécifiquement votre capacité de commandement, vous bénéficiez d’un + 3.</p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Coercition","minLevel":"6","id":"HvIWnpM287LXcuMT"},{"eventtype":"prepare-roll","name":"Automatisation 1","competence":"Coercition","minLevel":0,"id":"jNT50HCtYbf3edbD","bonus":"3","baCost":"0"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Coercition 6.","resumebonus":"Lorsqu’un test de Coercition mobilise spécifiquement votre capacité de commandement, vous bénéficiez d’un + 3.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.RJ70ipG1qQ8GWODJ"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666903927349,"modifiedTime":1668941455529,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"o3kFC7XW5PuTpDlk","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Instinct de l’hérétique","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous le savez, vous et vos semblables risquez à tout moment le bûcher. Vous avez développé votre instinct de préservation. Vous disposez d’1 point de Bonne Aventure gratuit lorsque vous effectuez un test de Capacité afin de vous évader, de vous désengager d’un combat (voir p. 208), ou de semer vos poursuivants. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"","resumebonus":"Vous disposez d’1 point de Bonne Aventure gratuit lorsque vous effectuez un test de Capacité afin de vous évader, de vous désengager d’un combat (voir p. 208), ou de semer vos poursuivants. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.GGWZZ12gBHBrJ9TV"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666904391775,"modifiedTime":1668941455530,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"oHH1jiIV02e3vnUe","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"En premier","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Contre 2 points de Bonne Aventure, vous êtes le premier à agir, sauf si un autre personnage utilise le même Talent. Dans ce cas, un test d’Initiative vous départage. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"Contre 2 points de Bonne Aventure, vous êtes le premier à agir, sauf si un autre personnage utilise le même Talent.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.Zs3YlVTmltHr0ZP2"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666901447358,"modifiedTime":1668941455522,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"p72dFAM437rJzcB9","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"De maître","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>L’objet que vous produisez grâce à l’artisanat que vous possédez au niveau 6 voit l’une de ses valeurs augmentée de + 1. Par exemple, une armure de cuir confère une valeur de Protection de 7, une épée large cause 1d10 + 2 points de dégâts ou procure un bonus offensif augmenté de 1, une selle et un harnachement procurent un + 1 en Monte, etc. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"scenario","prerequis":"","resumebonus":"L’objet que vous produisez grâce à l’artisanat que vous possédez au niveau 6 voit l’une de ses valeurs augmentée de + 1.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.h93jTOJrs50JiP2A"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666900559412,"modifiedTime":1668941455520,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"pr5OIlPmfnOsZKgL","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Joies de la création","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Si vous prenez le temps de vous adonner à votre art (deux heures d’affilée au minimum), vous obtenez le résultat espéré : poème singulier, dessin inspiré, mélodie pénétrante, etc. Cette satisfaction vous permet de défausser une Adversité bleue. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.jDSiY0qM5HIyv5Yl"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666904799757,"modifiedTime":1668941455531,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"qDpI0RwRSjjLa7Hn","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Résolution","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vos nerfs sont devenus d’acier. Quand vous dépensez 2 points de Bonne Aventure pour un test de Trempe x 2, le bonus est de + 10.</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"Quand vous dépensez 2 points de Bonne Aventure pour un test de Trempe x 2, le bonus est de + 10.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.HjcEXXRvRyfIwUnz"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666907013766,"modifiedTime":1668941455538,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"qJxjyp9wK7ZOF0yN","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Dans le caniveau","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>La rue est votre élément et vous savez vous fondre dans les quartiers mal famés comme si vous y étiez né(e). Quand vous dépensez 2 points de Bonne Aventure pour un test de Savoir :<br>Bas-fonds, le bonus est de + 10. </p>","isautomated":true,"automations":[{"eventtype":"prepare-roll","name":"Automatisation 1","competence":"Savoir : Bas-fonds","minLevel":0,"id":"KPpzkoHKneourkX9","bonus":"10","baCost":"2"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"Quand vous dépensez 2 points de Bonne Aventure pour un test de Savoir :\nBas-fonds, le bonus est de + 10. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.xefc9zKMJg211FC4"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666900398923,"modifiedTime":1668941455520,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"qjL7kSOtZT5IHHMf","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Sorcellerie de l’âme","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>La science du comportement est un domaine dans lequel vous excellez. Lorsqu’un test de Sorcellerie mobilise majoritairement cette branche de votre savoir, vous bénéficiez d’un + 2. </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Savoir : Sorcellerie","minLevel":"6","id":"wefWHhywMlRcx8DK"},{"eventtype":"prepare-roll","name":"Automatisation 1","competence":"Savoir : Sorcellerie","minLevel":0,"id":"GqrZr2Aj5w0nwphI","bonus":"2","baCost":"0"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Prédilection Science de l’esprit et Savoir : Sorcellerie 6.","resumebonus":"Lorsqu’un test de Sorcellerie mobilise majoritairement cette branche de votre savoir, vous bénéficiez d’un + 2. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.HPv2JJHlFfAqa4ZS"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666907717448,"modifiedTime":1668941455540,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"r2OUXLLNoU69XdrW","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Chevalier d’industrie","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Votre capacité à vous enrichir est proprement stupéfiante. En échange de 2 points de Bonne Aventure, vous trouvez le moyen de récupérer 50 PA ou une marchandise d’une valeur équivalente (en accord avec le MJ). <br><br>Note : le MJ devrait inviter le personnage à raconter à la table de jeu comment il s’y est pris.</p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Commerce","minLevel":"6","id":"C2591d0vqOG0bEEk"}],"talenttype":"personnage","utilisation":"scenario","prerequis":"Commerce 6.","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.jY35bLiCRmhFMeny"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666898328456,"modifiedTime":1668941455518,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"r3ijvgI1WJcUwP9f","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Furia","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous êtes capable de défier plusieurs adversaires en même temps – et de triompher d’eux. Lorsque vous affrontez des Anonymes en mêlée, si vous réussissez votre test en opposition contre l’un d’entre eux, vous avez la possibilité de répartir les points de dégâts infligés entre cette cible et plusieurs autres à proximité (voir les règles de combat contre les Anonymes p. 205). </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Mêlée","minLevel":"9","id":"Vm3q0iW1jS0uQgGw"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Mêlée 9.","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.WDy2fLk9O8pz0ex0"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666902433764,"modifiedTime":1668941455525,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"raXdjSsDgMUh7rXI","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Instrument de choix","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous avez un goût prononcé pour un instrument, sur lequel vous passez de longues heures à jouer. Lorsqu’un test de Savoir : Musique mobilise spécifiquement votre aptitude à jouer de cet instrument, vous bénéficiez d’un + 3.</p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Savoir : Musique","minLevel":"3","id":"eiR9nKskDvJfyBIg"},{"eventtype":"prepare-roll","name":"Automatisation 1","competence":"Savoir : Musique","minLevel":0,"id":"vvycVbJKpFZVNa3U","bonus":"3","baCost":"0"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Savoir : Musique 3.","resumebonus":"Lorsqu’un test de Savoir : Musique mobilise spécifiquement votre aptitude à jouer de cet instrument, vous bénéficiez d’un + 3.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.zejXqg3LcM26tOhS"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666904449950,"modifiedTime":1668941455531,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"raq8X453dLSYbkkd","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Docte","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous êtes devenu un puits de culture dans un domaine spécialisé qui relève du champ de votre Savoir maîtrisé au niveau 6 (par exemple, l’histoire technologique pour le Savoir : Monde ancien, ou la géopolitique française pour le Savoir : Europe). Lorsqu’un test du Savoir choisi mobilise spécifiquement votre spécialisation, vous bénéficiez d’un + 3. </p>\n<p>Note : ce Talent peut être choisi plusieurs fois, pour différents Savoirs de niveau 6 et différents domaines de spécialité.</p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Savoir*","minLevel":"6","id":"m13ToAU5VjtJGdih"},{"eventtype":"prepare-roll","name":"Automatisation 1","competence":"Savoir*","minLevel":0,"id":"gziLYiSjHTPuZfsT","bonus":"3","baCost":"0"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Ce Savoir à 6.","resumebonus":"Lorsqu’un test du Savoir choisi mobilise spécifiquement votre spécialisation, vous bénéficiez d’un + 3. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.Kssk3sEnVAr9rVon"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666900859295,"modifiedTime":1668941455521,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"rqtOeNTLPGVBtBxh","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Sublime","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous réalisez une oeuvre d’art ou une performance artistique d’une qualité inouïe. Ce Talent vous fait gagner 1 point d’Éclat. (Prérequis : Savoir : un art 9.)</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"scenario","prerequis":"Savoir : un art 9.","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.NqL6pqVMGJsgevxp"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666908029181,"modifiedTime":1668941455540,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"sNfj5ZyjWGIEYu6i","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Entourloupe","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous réussissez à vendre un objet ou un service cinq fois plus cher, ou à l’acheter cinq fois moins cher. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"scenario","prerequis":"Commerce 9.","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.0dLSRk16GP3G4Uqp"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666901533381,"modifiedTime":1668941455522,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"sSCVKkfFpLBNryf9","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Galop","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Doué(e) avec les chevaux, vous parvenez à augmenter de 20 % la vitesse de votre monture. Si vous êtes engagé(e) à cheval dans une course-poursuite et que vous êtes celui ou celle qui poursuit, votre opposant n’est pas avantagé et c’est vous qui l’êtes : vous bénéficiez d’un bonus de + 3. Si vous êtes la personne qui fuit, votre avantage est un bonus de + 5 et vous le conservez pendant toute la durée de l’opposition (voir les règles de course-poursuite, p. 197). </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.arB7YjctiMKOs9hg"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666902792906,"modifiedTime":1668941455526,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"se2CFYTmmSdBPVl6","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Bienfaits de l’étude","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>La méditation intellectuelle sur votre matière favorite est une source de bien-être. Lorsque vous pouvez consacrer quatre heures d’affilée au Savoir dans lequel vous excellez, vous récupérez 2 points de Bonne Aventure (sans pouvoir dépasser votre valeur de base). <br><br></p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Savoir*","minLevel":"9","id":"aACSPU6eBeJzrdjG"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"un Savoir 9.","resumebonus":"Lorsque vous pouvez consacrer quatre heures d’affilée au Savoir dans lequel vous excellez, vous récupérez 2 points de Bonne Aventure (sans pouvoir dépasser votre valeur de base). ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.G3xekqW2zFwnM59e"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666896734107,"modifiedTime":1668941455517,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"t4DXWPsHdm42Pwf5","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Contact facile","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous connaissez les codes et les usages du milieu indiqué par votre Profil, où vous évoluez avec aisance, et le MJ doit en tenir compte dans vos interactions avec des représentants de ce monde. Quand vous dépensez 2 points de Bonne Aventure pour un test de Persuasion auprès de l’un d’eux, le bonus est de + 10.</p>","isautomated":true,"automations":[{"eventtype":"prepare-roll","name":"Automatisation 1","competence":"Persuasion","minLevel":0,"id":"jHxfe64T5tL2hbIM","bonus":"10","baCost":"2"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"Quand vous dépensez 2 points de Bonne Aventure pour un test de Persuasion auprès de l’un d’eux, le bonus est de + 10.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.621GBGhM78KFfNtE"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666899499393,"modifiedTime":1668941455520,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"uByB4WVwPG71pqf2","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Beau jeu","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Si vous jouez contre un adversaire qui ne possède pas ce Talent, vous gagnez automatiquement la partie. </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","script":"actor.checkCompetenceLevel(\"Savoir : Jeu\", 6)","id":"DJTZ0shacXBGoWEt","competence":"Savoir : Jeu","minLevel":"6"}],"talenttype":"personnage","utilisation":"sceance","prerequis":"Savoir : Jeu 6.","resumebonus":"Si vous jouez contre un adversaire qui ne possède pas ce Talent, vous gagnez automatiquement la partie.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.t0t0ADIYahlg5o94"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666815449703,"modifiedTime":1668941455516,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"uR2RvvOJLggGDpef","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Symbiose","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Dans le milieu choisi ou indiqué par votre Profil, vous récupérez plus vite de vos blessures. Au bout d’un jour passé dans cet environnement, le temps de convalescence est divisé par deux, même si vous n’y séjournez pas plus longtemps : vous défaussez donc une Adversité noire tous les deux jours. </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Survie","minLevel":"9","id":"5I8Dz6ZQ3mtoPx5P"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Survie 9.","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.07eHaZuTWcs2Z2TL"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666908062240,"modifiedTime":1668941455540,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"upMEfIrJjMmCckFe","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Sang-froid","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous êtes le plus souvent imperméable à la peur. Vous bénéficiez d’un bonus de + 3 pour un test de Trempe. </p>","isautomated":true,"automations":[{"eventtype":"prepare-roll","name":"Automatisation 1","competence":"Trempe","minLevel":0,"id":"CzOMoxcUTRHjVMvS","bonus":"3","baCost":"0"}],"talenttype":"personnage","utilisation":"sceance","prerequis":"","resumebonus":"Vous bénéficiez d’un bonus de + 3 pour un test de Trempe. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.UxpKZSSLeelMFaUk"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666907335223,"modifiedTime":1668941455539,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"v8kcbkXp6xs6ONMR","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Sagacité","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous êtes très sensible aux émotions et connaissez bien l’âme humaine : lorsqu’un test de Perception mobilise spécifiquement l’empathie, vous bénéficiez d’un + 2. </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Perception","minLevel":"6","id":"c308ZDUOeu3dGrS6"},{"eventtype":"prepare-roll","name":"Automatisation 1","competence":"Perception","minLevel":0,"id":"TAmsoMx0coE6zPoh","bonus":"2","baCost":"0"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Perception 6.","resumebonus":"Lorsqu’un test de Perception mobilise spécifiquement l’empathie, vous bénéficiez d’un + 2. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.1eEl5CBKju9FJp7l"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666907248024,"modifiedTime":1668941455539,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"w1j4QZJEQdrfwSTT","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Compliment","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous savez trouver les mots qui font plaisir et flattent l’ego. Quand vous utilisez ce Talent, la cible gagne 1 point de Bonne Aventure à dépenser dans l’heure. </p>\n<p> </p>\n<p>Note : le MJ devrait inviter le PJ à improviser une telle flatterie à la table de jeu.</p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Persuasion","minLevel":"4","id":"75Y9yl20clshfdHV"}],"talenttype":"personnage","utilisation":"sceance","prerequis":"Persuasion 4.","resumebonus":"Quand vous utilisez ce Talent, la cible gagne 1 point de Bonne Aventure à dépenser dans l’heure. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.v3d5VfQDO0kBSLF2"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666899036123,"modifiedTime":1668941455519,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"wSDaMCpFpULIH2NE","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Loup de toutes les mers","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous avez tant écumé les mers que vous êtes devenu(e) expert(e) sur le pont d’un bateau. Tous les tests de Navigation dont le SD est inférieur à 20 sont considérés comme automatiquement réussis. De plus, dans une course-poursuite entre deux navires, si votre navire est le poursuivant, votre opposant n’est pas avantagé et c’est au contraire vous qui obtenez un bonus (d’une valeur de + 3). Si vous êtes à la barre du navire fugitif, votre avantage est un bonus de + 5 et vous le conservez pendant toute la durée de l’opposition (voir les règles de course-poursuite, p. 197). </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Navigation","minLevel":"9","id":"GdgylikDSxezcbpH"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Navigation 9.","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.aA5HPx6Z1MjoqCqG"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666904971119,"modifiedTime":1668941455532,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"xjh4Gl8Us4gt6dev","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Vernis scientifique","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous savez vous donner un air de savant, en utilisant un vocabulaire d’homme cultivé et en convoquant des références qui en imposent. Si le MJ estime que la cible peut être réceptive à ce type d’approche, quand vous dépensez 2 points de Bonne Aventure pour un test de Charme Persuasion), le bonus est de + 10.</p>","isautomated":true,"automations":[{"eventtype":"prepare-roll","name":"Automatisation 1","competence":"Persuasion","minLevel":0,"id":"k7uGT9u4xIlQp447","bonus":"10","baCost":"0"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"Quand vous dépensez 2 points de Bonne Aventure pour un test de Charme Persuasion), le bonus est de + 10.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.ttnnTBohJXUokNFl"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666941916838,"modifiedTime":1668941455542,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"xwtvd7kdJWI3tQYu","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Mains qui guérissent","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Au cours de vos expéditions, vous avez appris différentes méthodes pour soulager la douleur et soigner les plaies. Lorsqu’un test de Soins mobilise spécifiquement votre capacité à administrer des premiers soins, vous bénéficiez d’un + 2. </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Soins","minLevel":"6","id":"Mn5OAUUIHQxOcEcu"},{"eventtype":"prepare-roll","name":"Automatisation 1","competence":"Soins","minLevel":0,"id":"gPFQfn20W0K87eAP","bonus":"2","baCost":"0"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Soins 6.","resumebonus":"Lorsqu’un test de Soins mobilise spécifiquement votre capacité à administrer des premiers soins, vous bénéficiez d’un + 2.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.cCu7ZwSiG6UmgReD"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666905047646,"modifiedTime":1668941455532,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"yfF5bD1GYlR51rmC","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Jamais surpris(e)","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous avez développé une grande réactivité. Lorsqu’un opposant vous surprend, il agit avant vous, mais vous ne perdez pas votre action à ce tour de jeu.</p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.1fh6tmay5bWTtInu"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666904765534,"modifiedTime":1668941455531,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"ynI0uPyfsgwZaBYQ","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Progrès","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Votre savoir scientifique et votre recherche de la perfection vous rendent capables d’améliorer le fonctionnement de n’importe quel objet ou presque. Quand vous vous associez à un artisan, votre excellence en Sorcellerie est en mesure de bonifier sa création. Déterminez l’avantage produit en accord avec le MJ. Vous pourriez, par exemple, augmenter de 1 la valeur de dégâts d’une arme ou la valeur de Protection d’une armure, réduire de 1 son encombrement, donner à une cape ou à des bottes un bonus pour les tests de Discrétion, etc.</p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Savoir : Sorcellerie","minLevel":"9","id":"mE7gEUGxEQJlmEq9"}],"talenttype":"personnage","utilisation":"sceance","prerequis":"Savoir : Sorcellerie 9.","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.Z6VObNuTRQQX9l6T"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666906672374,"modifiedTime":1668941455538,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"yskYZJCord78PSdT","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Invaincu(e)","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous faites preuve d’une résistance hors du commun. Lorsque vous atteignez l’état Vaincu, vous êtes encore en mesure d’agir et de vous battre. Vous subissez les Adversités de cet état, mais il faut vous infliger des dégâts supérieurs à votre Seuil de Vigueur une fois de plus pour vous mettre hors de combat. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.lAGzg8FZO8f56hTV"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666904581604,"modifiedTime":1668941455531,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"yuCZeZpGEn1ean9x","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Grabuge","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous avez l’habitude de vous bagarrer et vous savez prendre des coups : lorsque vous vous battez à mains nues contre un adversaire armé, celui-ci n’est pas considéré comme avantagé (voir p. 201). </p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Mêlée","minLevel":"6","id":"HP8ytRkHRgnpaC6x"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Mêlée 6.","resumebonus":"lorsque vous vous battez à mains nues contre un adversaire armé, celui-ci n’est pas considéré comme avantagé.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.IhobIAHNS59eU3E5"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666903030934,"modifiedTime":1668941455527,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"zDfFPyEJC8Tvud8m","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Travail bien fait","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Si vous prenez le temps de vous adonner à votre artisanat (deux heures d’affilée au minimum), vous obtenez le résultat espéré : un bel objet prend forme entre vos mains. Cette satisfaction vous permet de défausser une Adversité bleue. </p>","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.wkJTCSahsLUUOmbg"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666941334742,"modifiedTime":1668941455541,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"zH4fN9V5J73L9aLW","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
{"name":"Protée","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Vous maîtrisez de manière extraordinaire l’art de l’imposture. Si vous dépensez 1 point de Bonne Aventure, vous pouvez, avec les accessoires adéquats, prendre l’apparence d’un être humain de la même taille que vous. Il faut réussir un test de Clairvoyance + Persuasion / 25 pour remarquer la supercherie.</p>","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Discrétion","minLevel":"6","id":"LSkyMzfJTjHZfkTc"}],"talenttype":"personnage","utilisation":"scenario","prerequis":"Discrétion 6.","resumebonus":"Si vous dépensez 1 point de Bonne Aventure, vous pouvez, avec les accessoires adéquats, prendre l’apparence d’un être humain de la même taille que vous.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.AxewJA4hE9qjwk09"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666906737144,"modifiedTime":1668941455538,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"zKvlDHBalR4UdwUx","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}}
|
||||
BIN
assets/fonts/Montserrat-Italic-VariableFont_wght.ttf
Normal file
BIN
assets/fonts/Montserrat-Italic-VariableFont_wght.ttf
Normal file
Binary file not shown.
BIN
assets/fonts/Montserrat-Medium.ttf
Normal file
BIN
assets/fonts/Montserrat-Medium.ttf
Normal file
Binary file not shown.
BIN
assets/fonts/Montserrat-Medium.woff
Normal file
BIN
assets/fonts/Montserrat-Medium.woff
Normal file
Binary file not shown.
BIN
assets/fonts/Montserrat-Thin.woff
Normal file
BIN
assets/fonts/Montserrat-Thin.woff
Normal file
Binary file not shown.
BIN
assets/fonts/Montserrat-VariableFont_wght.ttf
Normal file
BIN
assets/fonts/Montserrat-VariableFont_wght.ttf
Normal file
Binary file not shown.
BIN
assets/fonts/pfeffer-simpelgotisch.bold.otf
Normal file
BIN
assets/fonts/pfeffer-simpelgotisch.bold.otf
Normal file
Binary file not shown.
BIN
assets/fonts/pfeffer-simpelgotisch.regular.otf
Normal file
BIN
assets/fonts/pfeffer-simpelgotisch.regular.otf
Normal file
Binary file not shown.
BIN
assets/fonts/pfeffer-simpelgotisch.regular2.otf
Normal file
BIN
assets/fonts/pfeffer-simpelgotisch.regular2.otf
Normal file
Binary file not shown.
BIN
assets/fonts/pfeffer-simpelgotisch.semibold.otf
Normal file
BIN
assets/fonts/pfeffer-simpelgotisch.semibold.otf
Normal file
Binary file not shown.
BIN
assets/icons/mutation.webp
Normal file
BIN
assets/icons/mutation.webp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 7.1 KiB |
BIN
assets/scenes/hawkmoon_map_europe.webp
Normal file
BIN
assets/scenes/hawkmoon_map_europe.webp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 807 KiB |
BIN
assets/scenes/scenes-CXx90Qk7nXEd2uTh-thumb.webp
Normal file
BIN
assets/scenes/scenes-CXx90Qk7nXEd2uTh-thumb.webp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.1 KiB |
BIN
assets/scenes/scenes-j6RYn1X7KfhTioX5-thumb.webp
Normal file
BIN
assets/scenes/scenes-j6RYn1X7KfhTioX5-thumb.webp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 6.2 KiB |
BIN
assets/ui/landing_page_hawmoon.webp
Normal file
BIN
assets/ui/landing_page_hawmoon.webp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 384 KiB |
35
gulpfile.js
Normal file
35
gulpfile.js
Normal file
@@ -0,0 +1,35 @@
|
||||
const gulp = require('gulp');
|
||||
const less = require('gulp-less');
|
||||
const sourcemaps = require('gulp-sourcemaps');
|
||||
|
||||
// Paths
|
||||
const paths = {
|
||||
styles: {
|
||||
src: 'less/**/*.less',
|
||||
dest: 'styles/'
|
||||
}
|
||||
};
|
||||
|
||||
// Compile LESS to CSS
|
||||
function styles() {
|
||||
return gulp.src('less/hawkmoon.less')
|
||||
.pipe(sourcemaps.init())
|
||||
.pipe(less())
|
||||
.pipe(sourcemaps.write('.'))
|
||||
.pipe(gulp.dest(paths.styles.dest));
|
||||
}
|
||||
|
||||
// Watch files
|
||||
function watchFiles() {
|
||||
gulp.watch(paths.styles.src, styles);
|
||||
}
|
||||
|
||||
// Define complex tasks
|
||||
const build = gulp.series(styles);
|
||||
const watch = gulp.series(build, watchFiles);
|
||||
|
||||
// Export tasks
|
||||
exports.styles = styles;
|
||||
exports.build = build;
|
||||
exports.watch = watch;
|
||||
exports.default = build;
|
||||
31
lang/fr.json
Normal file
31
lang/fr.json
Normal file
@@ -0,0 +1,31 @@
|
||||
{
|
||||
"TYPES": {
|
||||
"Actor": {
|
||||
"personnage": "Personnage",
|
||||
"cellule": "Cellule",
|
||||
"creature": "Créature"
|
||||
},
|
||||
"Item": {
|
||||
"artefact": "Artefact",
|
||||
"arme": "Arme",
|
||||
"talent": "Talent",
|
||||
"historique": "Historique",
|
||||
"profil": "Profil",
|
||||
"competence": "Compétence",
|
||||
"protection": "Protection",
|
||||
"monnaie": "Monnaie",
|
||||
"equipement": "Equipement",
|
||||
"ressource": "Ressource",
|
||||
"contact": "Contact",
|
||||
"mutation": "Mutation"
|
||||
}
|
||||
},
|
||||
"HAWKMOON": {
|
||||
"ui": {
|
||||
"editContact": "Modifier le contact",
|
||||
"deleteContact": "Supprimer le contact",
|
||||
"editTrait": "Modifier le trait",
|
||||
"deleteTrait": "Supprimer le trait"
|
||||
}
|
||||
}
|
||||
}
|
||||
4
less/hawkmoon.less
Normal file
4
less/hawkmoon.less
Normal file
@@ -0,0 +1,4 @@
|
||||
// Main LESS file for Hawkmoon system
|
||||
// Temporarily importing the full converted simple.css while we refactor
|
||||
|
||||
@import "simple-converted";
|
||||
2713
less/simple-converted.less
Normal file
2713
less/simple-converted.less
Normal file
File diff suppressed because it is too large
Load Diff
177
modules/applications/hawkmoon-roll-dialog.mjs
Normal file
177
modules/applications/hawkmoon-roll-dialog.mjs
Normal file
@@ -0,0 +1,177 @@
|
||||
import { HawkmoonUtility } from "../hawkmoon-utility.js"
|
||||
import { HAWKMOON_CONFIG } from "../hawkmoon-config.js"
|
||||
|
||||
/**
|
||||
* Dialogue de jet de dé pour Hawkmoon - Version DialogV2
|
||||
*/
|
||||
export class HawkmoonRollDialog {
|
||||
|
||||
/**
|
||||
* Create and display the roll dialog
|
||||
* @param {HawkmoonActor} actor - The actor making the roll
|
||||
* @param {Object} rollData - Data for the roll
|
||||
* @returns {Promise<HawkmoonRollDialog>}
|
||||
*/
|
||||
static async create(actor, rollData) {
|
||||
// Préparer le contexte pour le template
|
||||
const context = {
|
||||
...rollData,
|
||||
difficulte: String(rollData.difficulte || 0), // Convertir en string pour matcher les options du select
|
||||
img: actor.img,
|
||||
name: actor.name,
|
||||
config: HAWKMOON_CONFIG,
|
||||
}
|
||||
|
||||
// Si attrKey est "tochoose", préparer la liste des attributs sélectionnables
|
||||
if (rollData.attrKey === "tochoose") {
|
||||
context.selectableAttributes = actor.system.attributs
|
||||
// Ne pas changer attrKey ni attr - l'utilisateur doit choisir
|
||||
}
|
||||
|
||||
// Rendre le template en HTML
|
||||
const content = await foundry.applications.handlebars.renderTemplate(
|
||||
"systems/fvtt-hawkmoon-cyd/templates/roll-dialog-generic.hbs",
|
||||
context
|
||||
)
|
||||
|
||||
// Utiliser DialogV2.wait avec le HTML rendu
|
||||
return foundry.applications.api.DialogV2.wait({
|
||||
window: { title: "Test de Capacité", icon: "fa-solid fa-dice-d20" },
|
||||
classes: ["hawkmoon-roll-dialog"],
|
||||
position: { width: 480 },
|
||||
modal: false, // Permettre l'interaction avec le canvas pour garder la cible sélectionnée
|
||||
content,
|
||||
buttons: [
|
||||
{
|
||||
action: "rolld10",
|
||||
label: "Lancer 1d10",
|
||||
icon: "fa-solid fa-dice-d10",
|
||||
default: true,
|
||||
callback: (event, button, dialog) => {
|
||||
this._updateRollDataFromForm(rollData, button.form.elements, actor)
|
||||
rollData.mainDice = "d10"
|
||||
HawkmoonUtility.rollHawkmoon(rollData)
|
||||
}
|
||||
},
|
||||
{
|
||||
action: "rolld20",
|
||||
label: "Lancer 1d20",
|
||||
icon: "fa-solid fa-dice-d20",
|
||||
callback: (event, button, dialog) => {
|
||||
this._updateRollDataFromForm(rollData, button.form.elements, actor)
|
||||
rollData.mainDice = "d20"
|
||||
HawkmoonUtility.rollHawkmoon(rollData)
|
||||
}
|
||||
},
|
||||
],
|
||||
rejectClose: false,
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* Mettre à jour rollData avec les valeurs du formulaire
|
||||
* @param {Object} rollData - L'objet rollData à mettre à jour
|
||||
* @param {HTMLFormControlsCollection} formElements - Les éléments du formulaire
|
||||
* @param {HawkmoonActor} actor - L'acteur pour récupérer les attributs
|
||||
* @private
|
||||
*/
|
||||
static _updateRollDataFromForm(rollData, formElements, actor) {
|
||||
// Attributs
|
||||
if (formElements.attrKey) {
|
||||
rollData.attrKey = formElements.attrKey.value
|
||||
// Si l'attribut a changé, mettre à jour rollData.attr
|
||||
if (rollData.attrKey !== "tochoose" && rollData.attrKey !== "none" && actor) {
|
||||
rollData.attr = foundry.utils.duplicate(actor.system.attributs[rollData.attrKey])
|
||||
rollData.actionImg = "systems/fvtt-hawkmoon-cyd/assets/icons/" + actor.system.attributs[rollData.attrKey].labelnorm + ".webp"
|
||||
}
|
||||
}
|
||||
if (formElements.attrKey2) {
|
||||
rollData.attrKey2 = formElements.attrKey2.value
|
||||
}
|
||||
|
||||
// Modificateurs de base
|
||||
if (formElements.difficulte) {
|
||||
rollData.difficulte = Number(formElements.difficulte.value)
|
||||
}
|
||||
if (formElements.modificateur) {
|
||||
rollData.modificateur = Number(formElements.modificateur.value)
|
||||
}
|
||||
if (formElements.soutiens) {
|
||||
rollData.soutiens = Number(formElements.soutiens.value)
|
||||
}
|
||||
|
||||
// Compétence
|
||||
if (formElements.maitrise) {
|
||||
rollData.maitriseId = formElements.maitrise.value
|
||||
}
|
||||
if (formElements.talents) {
|
||||
// Récupérer toutes les options sélectionnées (select multiple)
|
||||
const selectedOptions = Array.from(formElements.talents.selectedOptions)
|
||||
rollData.selectedTalents = selectedOptions.map(opt => opt.value)
|
||||
}
|
||||
|
||||
// Modificateurs de tir
|
||||
if (formElements.tailleCible) {
|
||||
rollData.tailleCible = formElements.tailleCible.value
|
||||
}
|
||||
if (formElements.tireurDeplacement) {
|
||||
rollData.tireurDeplacement = formElements.tireurDeplacement.value
|
||||
}
|
||||
if (formElements.cibleCouvert) {
|
||||
rollData.cibleCouvert = formElements.cibleCouvert.value
|
||||
}
|
||||
if (formElements.distanceTir) {
|
||||
rollData.distanceTir = formElements.distanceTir.value
|
||||
}
|
||||
if (formElements.cibleDeplace) {
|
||||
rollData.cibleDeplace = formElements.cibleDeplace.checked
|
||||
}
|
||||
if (formElements.cibleCaC) {
|
||||
rollData.cibleCaC = formElements.cibleCaC.checked
|
||||
}
|
||||
|
||||
// Modificateurs de combat (checkboxes)
|
||||
if (formElements.defenseurAuSol) {
|
||||
rollData.defenseurAuSol = formElements.defenseurAuSol.checked
|
||||
}
|
||||
if (formElements.ambidextre1) {
|
||||
rollData.ambidextre1 = formElements.ambidextre1.checked
|
||||
}
|
||||
if (formElements.ambidextre2) {
|
||||
rollData.ambidextre2 = formElements.ambidextre2.checked
|
||||
}
|
||||
if (formElements.attaqueMonte) {
|
||||
rollData.attaqueMonte = formElements.attaqueMonte.checked
|
||||
}
|
||||
if (formElements.defenseurAveugle) {
|
||||
rollData.defenseurAveugle = formElements.defenseurAveugle.checked
|
||||
}
|
||||
if (formElements.defenseurDeDos) {
|
||||
rollData.defenseurDeDos = formElements.defenseurDeDos.checked
|
||||
}
|
||||
if (formElements.defenseurRestreint) {
|
||||
rollData.defenseurRestreint = formElements.defenseurRestreint.checked
|
||||
}
|
||||
if (formElements.defenseurImmobilise) {
|
||||
rollData.defenseurImmobilise = formElements.defenseurImmobilise.checked
|
||||
}
|
||||
if (formElements.attaqueCharge) {
|
||||
rollData.attaqueCharge = formElements.attaqueCharge.checked
|
||||
}
|
||||
if (formElements.chargeCavalerie) {
|
||||
rollData.chargeCavalerie = formElements.chargeCavalerie.checked
|
||||
}
|
||||
if (formElements.attaquantsMultiple) {
|
||||
rollData.attaquantsMultiple = formElements.attaquantsMultiple.checked
|
||||
}
|
||||
if (formElements.feinte) {
|
||||
rollData.feinte = formElements.feinte.checked
|
||||
}
|
||||
if (formElements.contenir) {
|
||||
rollData.contenir = formElements.contenir.checked
|
||||
}
|
||||
if (formElements.attaqueDesarme) {
|
||||
rollData.attaqueDesarme = formElements.attaqueDesarme.checked
|
||||
}
|
||||
}
|
||||
}
|
||||
17
modules/applications/sheets/_module.mjs
Normal file
17
modules/applications/sheets/_module.mjs
Normal file
@@ -0,0 +1,17 @@
|
||||
export { default as HawkmoonTalentSheet } from "./talent-sheet.mjs"
|
||||
export { default as HawkmoonCompetenceSheet } from "./competence-sheet.mjs"
|
||||
export { default as HawkmoonArmeSheet } from "./arme-sheet.mjs"
|
||||
export { default as HawkmoonProtectionSheet } from "./protection-sheet.mjs"
|
||||
export { default as HawkmoonHistoriqueSheet } from "./historique-sheet.mjs"
|
||||
export { default as HawkmoonProfilSheet } from "./profil-sheet.mjs"
|
||||
export { default as HawkmoonEquipementSheet } from "./equipement-sheet.mjs"
|
||||
export { default as HawkmoonMonnaieSheet } from "./monnaie-sheet.mjs"
|
||||
export { default as HawkmoonArtefactSheet } from "./artefact-sheet.mjs"
|
||||
export { default as HawkmoonRessourceSheet } from "./ressource-sheet.mjs"
|
||||
export { default as HawkmoonContactSheet } from "./contact-sheet.mjs"
|
||||
export { default as HawkmoonMutationSheet } from "./mutation-sheet.mjs"
|
||||
|
||||
// Actor sheets
|
||||
export { default as HawkmoonPersonnageSheet } from "./personnage-sheet.mjs"
|
||||
export { default as HawkmoonCreatureSheet } from "./creature-sheet.mjs"
|
||||
export { default as HawkmoonCelluleSheet } from "./cellule-sheet.mjs"
|
||||
21
modules/applications/sheets/arme-sheet.mjs
Normal file
21
modules/applications/sheets/arme-sheet.mjs
Normal file
@@ -0,0 +1,21 @@
|
||||
import HawkmoonItemSheet from "./base-item-sheet.mjs"
|
||||
|
||||
export default class HawkmoonArmeSheet extends HawkmoonItemSheet {
|
||||
/** @override */
|
||||
static DEFAULT_OPTIONS = {
|
||||
classes: ["arme"],
|
||||
position: {
|
||||
width: 640,
|
||||
},
|
||||
window: {
|
||||
contentClasses: ["arme-content"],
|
||||
},
|
||||
}
|
||||
|
||||
/** @override */
|
||||
static PARTS = {
|
||||
main: {
|
||||
template: "systems/fvtt-hawkmoon-cyd/templates/item-arme-sheet.hbs",
|
||||
},
|
||||
}
|
||||
}
|
||||
21
modules/applications/sheets/artefact-sheet.mjs
Normal file
21
modules/applications/sheets/artefact-sheet.mjs
Normal file
@@ -0,0 +1,21 @@
|
||||
import HawkmoonItemSheet from "./base-item-sheet.mjs"
|
||||
|
||||
export default class HawkmoonArtefactSheet extends HawkmoonItemSheet {
|
||||
/** @override */
|
||||
static DEFAULT_OPTIONS = {
|
||||
classes: ["artefact"],
|
||||
position: {
|
||||
width: 620,
|
||||
},
|
||||
window: {
|
||||
contentClasses: ["artefact-content"],
|
||||
},
|
||||
}
|
||||
|
||||
/** @override */
|
||||
static PARTS = {
|
||||
main: {
|
||||
template: "systems/fvtt-hawkmoon-cyd/templates/item-artefact-sheet.hbs",
|
||||
},
|
||||
}
|
||||
}
|
||||
547
modules/applications/sheets/base-actor-sheet.mjs
Normal file
547
modules/applications/sheets/base-actor-sheet.mjs
Normal file
@@ -0,0 +1,547 @@
|
||||
const { HandlebarsApplicationMixin } = foundry.applications.api
|
||||
|
||||
import { HawkmoonUtility } from "../../hawkmoon-utility.js"
|
||||
import { HawkmoonAutomation } from "../../hawkmoon-automation.js"
|
||||
|
||||
export default class HawkmoonActorSheet extends HandlebarsApplicationMixin(foundry.applications.sheets.ActorSheetV2) {
|
||||
/**
|
||||
* Different sheet modes.
|
||||
* @enum {number}
|
||||
*/
|
||||
static SHEET_MODES = { EDIT: 0, PLAY: 1 }
|
||||
|
||||
constructor(options = {}) {
|
||||
super(options)
|
||||
this.#dragDrop = this.#createDragDropHandlers()
|
||||
this._sheetMode = this.constructor.SHEET_MODES.PLAY // Commencer en mode visualisation
|
||||
}
|
||||
|
||||
#dragDrop
|
||||
|
||||
/** @override */
|
||||
static DEFAULT_OPTIONS = {
|
||||
classes: ["fvtt-hawkmoon-cyd", "sheet", "actor"],
|
||||
position: {
|
||||
width: 640,
|
||||
height: 720,
|
||||
},
|
||||
window: {
|
||||
resizable: true,
|
||||
},
|
||||
form: {
|
||||
submitOnChange: true,
|
||||
closeOnSubmit: false,
|
||||
},
|
||||
dragDrop: [{ dragSelector: ".item-list .item", dropSelector: "form" }],
|
||||
actions: {
|
||||
editImage: HawkmoonActorSheet.#onEditImage,
|
||||
toggleSheet: HawkmoonActorSheet.#onToggleSheet,
|
||||
editItem: HawkmoonActorSheet.#onEditItem,
|
||||
deleteItem: HawkmoonActorSheet.#onDeleteItem,
|
||||
createItem: HawkmoonActorSheet.#onCreateItem,
|
||||
equipItem: HawkmoonActorSheet.#onEquipItem,
|
||||
modifyQuantity: HawkmoonActorSheet.#onModifyQuantity,
|
||||
modifyAdversite: HawkmoonActorSheet.#onModifyAdversite,
|
||||
rollInitiative: HawkmoonActorSheet.#onRollInitiative,
|
||||
rollAttribut: HawkmoonActorSheet.#onRollAttribut,
|
||||
rollCompetence: HawkmoonActorSheet.#onRollCompetence,
|
||||
rollArmeOffensif: HawkmoonActorSheet.#onRollArmeOffensif,
|
||||
rollArmeDegats: HawkmoonActorSheet.#onRollArmeDegats,
|
||||
rollAssommer: HawkmoonActorSheet.#onRollAssommer,
|
||||
rollCoupBas: HawkmoonActorSheet.#onRollCoupBas,
|
||||
rollImmobiliser: HawkmoonActorSheet.#onRollImmobiliser,
|
||||
rollRepousser: HawkmoonActorSheet.#onRollRepousser,
|
||||
rollDesengager: HawkmoonActorSheet.#onRollDesengager,
|
||||
},
|
||||
}
|
||||
|
||||
/**
|
||||
* Is the sheet currently in 'Play' mode?
|
||||
* @type {boolean}
|
||||
*/
|
||||
get isPlayMode() {
|
||||
// Initialize if not set
|
||||
if (this._sheetMode === undefined) this._sheetMode = this.constructor.SHEET_MODES.PLAY
|
||||
return this._sheetMode === this.constructor.SHEET_MODES.PLAY
|
||||
}
|
||||
|
||||
/**
|
||||
* Is the sheet currently in 'Edit' mode?
|
||||
* @type {boolean}
|
||||
*/
|
||||
get isEditMode() {
|
||||
// Initialize if not set
|
||||
if (this._sheetMode === undefined) this._sheetMode = this.constructor.SHEET_MODES.PLAY
|
||||
return this._sheetMode === this.constructor.SHEET_MODES.EDIT
|
||||
}
|
||||
|
||||
/**
|
||||
* Tab groups state
|
||||
* @type {object}
|
||||
*/
|
||||
tabGroups = { primary: "principal" }
|
||||
|
||||
/** @override */
|
||||
async _prepareContext() {
|
||||
const actor = this.document
|
||||
|
||||
const context = {
|
||||
actor: actor,
|
||||
system: actor.system,
|
||||
source: actor.toObject(),
|
||||
fields: actor.schema.fields,
|
||||
systemFields: actor.system.schema.fields,
|
||||
isEditable: this.isEditable,
|
||||
isEditMode: this.isEditMode,
|
||||
isPlayMode: this.isPlayMode,
|
||||
isGM: game.user.isGM,
|
||||
config: CONFIG.HAWKMOON,
|
||||
enrichedDescription: await foundry.applications.ux.TextEditor.implementation.enrichHTML(actor.system.biodata?.description || "", { async: true }),
|
||||
enrichedHabitat: await foundry.applications.ux.TextEditor.implementation.enrichHTML(actor.system.biodata?.habitat || "", { async: true }),
|
||||
}
|
||||
|
||||
return context
|
||||
}
|
||||
|
||||
/** @override */
|
||||
_onRender(context, options) {
|
||||
super._onRender(context, options)
|
||||
|
||||
// Activate drag & drop handlers
|
||||
this.#dragDrop.forEach(d => d.bind(this.element))
|
||||
|
||||
// Manual tab navigation
|
||||
const html = this.element
|
||||
const tabLinks = html.querySelectorAll('a.item[data-tab]')
|
||||
const tabContents = html.querySelectorAll('.tab[data-tab]')
|
||||
|
||||
// Hide all tabs initially
|
||||
tabContents.forEach(tab => {
|
||||
tab.classList.remove('active')
|
||||
tab.style.display = 'none'
|
||||
})
|
||||
|
||||
// Show active tab
|
||||
const activeTab = this.tabGroups.primary
|
||||
const activeTabContent = html.querySelector(`.tab[data-tab="${activeTab}"]`)
|
||||
if (activeTabContent) {
|
||||
activeTabContent.classList.add('active')
|
||||
activeTabContent.style.display = 'block'
|
||||
}
|
||||
|
||||
// Activate the corresponding nav link
|
||||
tabLinks.forEach(link => {
|
||||
if (link.dataset.tab === activeTab) {
|
||||
link.classList.add('active')
|
||||
} else {
|
||||
link.classList.remove('active')
|
||||
}
|
||||
})
|
||||
|
||||
// Tab click handler
|
||||
tabLinks.forEach(link => {
|
||||
link.addEventListener('click', (event) => {
|
||||
event.preventDefault()
|
||||
const tab = link.dataset.tab
|
||||
|
||||
// Update state
|
||||
this.tabGroups.primary = tab
|
||||
|
||||
// Hide all tabs
|
||||
tabContents.forEach(t => {
|
||||
t.classList.remove('active')
|
||||
t.style.display = 'none'
|
||||
})
|
||||
|
||||
// Show selected tab
|
||||
const selectedTab = html.querySelector(`.tab[data-tab="${tab}"]`)
|
||||
if (selectedTab) {
|
||||
selectedTab.classList.add('active')
|
||||
selectedTab.style.display = 'block'
|
||||
}
|
||||
|
||||
// Update nav links
|
||||
tabLinks.forEach(l => {
|
||||
if (l.dataset.tab === tab) {
|
||||
l.classList.add('active')
|
||||
} else {
|
||||
l.classList.remove('active')
|
||||
}
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
// Inline item editing
|
||||
html.querySelectorAll('.edit-item-data').forEach(input => {
|
||||
input.addEventListener('change', (event) => {
|
||||
const li = event.target.closest('.item')
|
||||
const itemId = li.dataset.itemId
|
||||
const itemType = li.dataset.itemType
|
||||
const itemField = event.target.dataset.itemField
|
||||
const dataType = event.target.dataset.dtype
|
||||
const value = event.target.value
|
||||
this.actor.editItemField(itemId, itemType, itemField, dataType, value)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
// #region Drag & Drop
|
||||
|
||||
/**
|
||||
* Create drag-and-drop workflow handlers for this Application
|
||||
* @returns {DragDrop[]} An array of DragDrop handlers
|
||||
* @private
|
||||
*/
|
||||
#createDragDropHandlers() {
|
||||
return this.options.dragDrop.map((d) => {
|
||||
d.permissions = {
|
||||
dragstart: this._canDragStart.bind(this),
|
||||
drop: this._canDragDrop.bind(this),
|
||||
}
|
||||
d.callbacks = {
|
||||
dragstart: this._onDragStart.bind(this),
|
||||
drop: this._onDrop.bind(this),
|
||||
}
|
||||
return new foundry.applications.ux.DragDrop(d)
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* Define whether a user is able to begin a dragstart workflow for a given drag selector
|
||||
* @param {string} selector The candidate HTML selector for dragging
|
||||
* @returns {boolean} Can the current user drag this selector?
|
||||
* @protected
|
||||
*/
|
||||
_canDragStart(selector) {
|
||||
return this.isEditable
|
||||
}
|
||||
|
||||
/**
|
||||
* Define whether a user is able to conclude a drag-and-drop workflow for a given drop selector
|
||||
* @param {string} selector The candidate HTML selector for the drop target
|
||||
* @returns {boolean} Can the current user drop on this selector?
|
||||
* @protected
|
||||
*/
|
||||
_canDragDrop(selector) {
|
||||
return this.isEditable
|
||||
}
|
||||
|
||||
/**
|
||||
* Callback actions which occur at the beginning of a drag start workflow.
|
||||
* @param {DragEvent} event The originating DragEvent
|
||||
* @protected
|
||||
*/
|
||||
_onDragStart(event) {
|
||||
const li = event.currentTarget.closest(".item")
|
||||
if (!li?.dataset.itemId) return
|
||||
const item = this.actor.items.get(li.dataset.itemId)
|
||||
if (!item) return
|
||||
|
||||
const dragData = item.toDragData()
|
||||
event.dataTransfer.setData("text/plain", JSON.stringify(dragData))
|
||||
}
|
||||
|
||||
/**
|
||||
* Callback actions which occur when a dragged element is dropped on a target.
|
||||
* @param {DragEvent} event The originating DragEvent
|
||||
* @protected
|
||||
*/
|
||||
async _onDrop(event) {
|
||||
const data = foundry.applications.ux.TextEditor.implementation.getDragEventData(event)
|
||||
const actor = this.actor
|
||||
|
||||
// Handle different data types
|
||||
switch (data.type) {
|
||||
case "Item":
|
||||
return this._onDropItem(event, data)
|
||||
case "Actor":
|
||||
return this._onDropActor(event, data)
|
||||
case "ActiveEffect":
|
||||
return this._onDropActiveEffect(event, data)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle dropping an Item on the actor sheet
|
||||
* @param {DragEvent} event
|
||||
* @param {object} data
|
||||
* @private
|
||||
*/
|
||||
async _onDropItem(event, data) {
|
||||
if (!this.actor.isOwner) return false
|
||||
|
||||
let item = await fromUuid(data.uuid)
|
||||
if (item.pack) {
|
||||
item = await HawkmoonUtility.searchItem(item)
|
||||
}
|
||||
|
||||
const autoresult = HawkmoonAutomation.processAutomations("on-drop", item, this.actor)
|
||||
if (autoresult.isValid) {
|
||||
// In AppV2, we need to get the item data differently
|
||||
const itemData = item.toObject ? item.toObject() : item
|
||||
return this.actor.createEmbeddedDocuments("Item", [itemData])
|
||||
} else {
|
||||
ui.notifications.warn(autoresult.warningMessage)
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle dropping an Actor on the sheet
|
||||
* @param {DragEvent} event
|
||||
* @param {object} data
|
||||
* @private
|
||||
*/
|
||||
async _onDropActor(event, data) {
|
||||
// To be implemented by subclasses if needed
|
||||
return false
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle dropping an ActiveEffect on the sheet
|
||||
* @param {DragEvent} event
|
||||
* @param {object} data
|
||||
* @private
|
||||
*/
|
||||
async _onDropActiveEffect(event, data) {
|
||||
// To be implemented by subclasses if needed
|
||||
return false
|
||||
}
|
||||
|
||||
// #endregion
|
||||
|
||||
// #region Action Handlers
|
||||
|
||||
/**
|
||||
* Toggle between edit and play mode
|
||||
* @param {Event} event
|
||||
* @param {HTMLElement} target
|
||||
* @private
|
||||
*/
|
||||
static #onToggleSheet(event, target) {
|
||||
console.log("Toggle sheet clicked", this)
|
||||
const wasEditMode = this.isEditMode
|
||||
console.log("Current mode:", this._sheetMode, "isEditMode:", wasEditMode, "isPlayMode:", this.isPlayMode)
|
||||
this._sheetMode = wasEditMode ? this.constructor.SHEET_MODES.PLAY : this.constructor.SHEET_MODES.EDIT
|
||||
console.log("New mode set to:", this._sheetMode, "(", wasEditMode ? "PLAY" : "EDIT", ")")
|
||||
console.log("After change - isEditMode:", this.isEditMode, "isPlayMode:", this.isPlayMode)
|
||||
this.render({ force: true })
|
||||
}
|
||||
|
||||
/**
|
||||
* Edit the actor image
|
||||
* @param {Event} event
|
||||
* @param {HTMLElement} target
|
||||
* @private
|
||||
*/
|
||||
static async #onEditImage(event, target) {
|
||||
const fp = new FilePicker({
|
||||
type: "image",
|
||||
current: this.actor.img,
|
||||
callback: (path) => {
|
||||
this.actor.update({ img: path })
|
||||
},
|
||||
})
|
||||
return fp.browse()
|
||||
}
|
||||
|
||||
/**
|
||||
* Edit an item
|
||||
* @param {Event} event
|
||||
* @param {HTMLElement} target
|
||||
* @private
|
||||
*/
|
||||
static async #onEditItem(event, target) {
|
||||
const li = target.closest(".item")
|
||||
const itemId = li?.dataset.itemId
|
||||
if (!itemId) return
|
||||
const item = this.actor.items.get(itemId)
|
||||
if (item) item.sheet.render(true)
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete an item
|
||||
* @param {Event} event
|
||||
* @param {HTMLElement} target
|
||||
* @private
|
||||
*/
|
||||
static async #onDeleteItem(event, target) {
|
||||
const li = target.closest(".item")
|
||||
await HawkmoonUtility.confirmDelete(this, li)
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a new item
|
||||
* @param {Event} event
|
||||
* @param {HTMLElement} target
|
||||
* @private
|
||||
*/
|
||||
static async #onCreateItem(event, target) {
|
||||
const itemType = target.dataset.type
|
||||
await this.actor.createEmbeddedDocuments("Item", [{ name: `Nouveau ${itemType}`, type: itemType }], { renderSheet: true })
|
||||
}
|
||||
|
||||
/**
|
||||
* Equip/unequip an item
|
||||
* @param {Event} event
|
||||
* @param {HTMLElement} target
|
||||
* @private
|
||||
*/
|
||||
static async #onEquipItem(event, target) {
|
||||
const li = target.closest(".item")
|
||||
const itemId = li?.dataset.itemId
|
||||
if (itemId) {
|
||||
await this.actor.equipItem(itemId)
|
||||
this.render()
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Modify item quantity
|
||||
* @param {Event} event
|
||||
* @param {HTMLElement} target
|
||||
* @private
|
||||
*/
|
||||
static async #onModifyQuantity(event, target) {
|
||||
const li = target.closest(".item")
|
||||
const itemId = li?.dataset.itemId
|
||||
const value = Number(target.dataset.quantiteValue)
|
||||
if (itemId) {
|
||||
await this.actor.incDecQuantity(itemId, value)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Modify adversité
|
||||
* @param {Event} event
|
||||
* @param {HTMLElement} target
|
||||
* @private
|
||||
*/
|
||||
static async #onModifyAdversite(event, target) {
|
||||
const li = target.closest(".item")
|
||||
const adv = li?.dataset.adversite
|
||||
const value = Number(target.dataset.adversiteValue)
|
||||
if (adv) {
|
||||
await this.actor.incDecAdversite(adv, value)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Roll initiative
|
||||
* @param {Event} event
|
||||
* @param {HTMLElement} target
|
||||
* @private
|
||||
*/
|
||||
static async #onRollInitiative(event, target) {
|
||||
await this.actor.rollAttribut("adr", true)
|
||||
}
|
||||
|
||||
/**
|
||||
* Roll attribut
|
||||
* @param {Event} event
|
||||
* @param {HTMLElement} target
|
||||
* @private
|
||||
*/
|
||||
static async #onRollAttribut(event, target) {
|
||||
const li = target.closest(".item")
|
||||
const attrKey = li?.dataset.attrKey
|
||||
if (attrKey) {
|
||||
await this.actor.rollAttribut(attrKey, false)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Roll competence
|
||||
* @param {Event} event
|
||||
* @param {HTMLElement} target
|
||||
* @private
|
||||
*/
|
||||
static async #onRollCompetence(event, target) {
|
||||
const li = target.closest(".item")
|
||||
const attrKey = target.dataset.attrKey
|
||||
const compId = li?.dataset.itemId
|
||||
if (attrKey && compId) {
|
||||
await this.actor.rollCompetence(attrKey, compId)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Roll arme offensif
|
||||
* @param {Event} event
|
||||
* @param {HTMLElement} target
|
||||
* @private
|
||||
*/
|
||||
static async #onRollArmeOffensif(event, target) {
|
||||
const li = target.closest(".item")
|
||||
const armeId = li?.dataset.itemId
|
||||
if (armeId) {
|
||||
await this.actor.rollArmeOffensif(armeId)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Roll arme degats
|
||||
* @param {Event} event
|
||||
* @param {HTMLElement} target
|
||||
* @private
|
||||
*/
|
||||
static async #onRollArmeDegats(event, target) {
|
||||
const li = target.closest(".item")
|
||||
const armeId = li?.dataset.itemId
|
||||
if (armeId) {
|
||||
await this.actor.rollArmeDegats(armeId)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Roll assommer
|
||||
* @param {Event} event
|
||||
* @param {HTMLElement} target
|
||||
* @private
|
||||
*/
|
||||
static async #onRollAssommer(event, target) {
|
||||
await this.actor.rollAssommer()
|
||||
}
|
||||
|
||||
/**
|
||||
* Roll coup bas
|
||||
* @param {Event} event
|
||||
* @param {HTMLElement} target
|
||||
* @private
|
||||
*/
|
||||
static async #onRollCoupBas(event, target) {
|
||||
await this.actor.rollCoupBas()
|
||||
}
|
||||
|
||||
/**
|
||||
* Roll immobiliser
|
||||
* @param {Event} event
|
||||
* @param {HTMLElement} target
|
||||
* @private
|
||||
*/
|
||||
static async #onRollImmobiliser(event, target) {
|
||||
await this.actor.rollImmobiliser()
|
||||
}
|
||||
|
||||
/**
|
||||
* Roll repousser
|
||||
* @param {Event} event
|
||||
* @param {HTMLElement} target
|
||||
* @private
|
||||
*/
|
||||
static async #onRollRepousser(event, target) {
|
||||
await this.actor.rollRepousser()
|
||||
}
|
||||
|
||||
/**
|
||||
* Roll désengager
|
||||
* @param {Event} event
|
||||
* @param {HTMLElement} target
|
||||
* @private
|
||||
*/
|
||||
static async #onRollDesengager(event, target) {
|
||||
await this.actor.rollDesengager()
|
||||
}
|
||||
|
||||
// #endregion
|
||||
}
|
||||
342
modules/applications/sheets/base-item-sheet.mjs
Normal file
342
modules/applications/sheets/base-item-sheet.mjs
Normal file
@@ -0,0 +1,342 @@
|
||||
const { HandlebarsApplicationMixin } = foundry.applications.api
|
||||
|
||||
export default class HawkmoonItemSheet extends HandlebarsApplicationMixin(foundry.applications.sheets.ItemSheetV2) {
|
||||
constructor(options = {}) {
|
||||
super(options)
|
||||
this.#dragDrop = this.#createDragDropHandlers()
|
||||
}
|
||||
|
||||
#dragDrop
|
||||
|
||||
/** @override */
|
||||
static DEFAULT_OPTIONS = {
|
||||
classes: ["fvtt-hawkmoon-cyd", "item"],
|
||||
position: {
|
||||
width: 620,
|
||||
height: 600,
|
||||
},
|
||||
form: {
|
||||
submitOnChange: true,
|
||||
},
|
||||
window: {
|
||||
resizable: true,
|
||||
},
|
||||
tabs: [
|
||||
{
|
||||
navSelector: 'nav[data-group="primary"]',
|
||||
contentSelector: "section.sheet-body",
|
||||
initial: "description",
|
||||
},
|
||||
],
|
||||
dragDrop: [{ dragSelector: "[data-drag]", dropSelector: null }],
|
||||
actions: {
|
||||
editImage: HawkmoonItemSheet.#onEditImage,
|
||||
postItem: HawkmoonItemSheet.#onPostItem,
|
||||
addPredilection: HawkmoonItemSheet.#onAddPredilection,
|
||||
deletePredilection: HawkmoonItemSheet.#onDeletePredilection,
|
||||
addAutomation: HawkmoonItemSheet.#onAddAutomation,
|
||||
deleteAutomation: HawkmoonItemSheet.#onDeleteAutomation,
|
||||
},
|
||||
}
|
||||
|
||||
/**
|
||||
* Tab groups state
|
||||
* @type {object}
|
||||
*/
|
||||
tabGroups = { primary: "description" }
|
||||
|
||||
/**
|
||||
* Is the sheet currently in 'Play' mode?
|
||||
* @type {boolean}
|
||||
*/
|
||||
/** @override */
|
||||
async _prepareContext() {
|
||||
const context = {
|
||||
fields: this.document.schema.fields,
|
||||
systemFields: this.document.system.schema.fields,
|
||||
item: this.document,
|
||||
system: this.document.system,
|
||||
source: this.document.toObject(),
|
||||
enrichedDescription: await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.document.system.description, { async: true }),
|
||||
isEditMode: true,
|
||||
isEditable: this.isEditable,
|
||||
isGM: game.user.isGM,
|
||||
config: CONFIG.HAWKMOON,
|
||||
attributs: this.#getAttributs(),
|
||||
}
|
||||
return context
|
||||
}
|
||||
|
||||
/** @override */
|
||||
_onRender(context, options) {
|
||||
super._onRender(context, options)
|
||||
this.#dragDrop.forEach((d) => d.bind(this.element))
|
||||
|
||||
// Activate tab navigation manually
|
||||
const nav = this.element.querySelector('nav.tabs[data-group]')
|
||||
if (nav) {
|
||||
const group = nav.dataset.group
|
||||
// Activate the current tab
|
||||
const activeTab = this.tabGroups[group] || "description"
|
||||
nav.querySelectorAll('[data-tab]').forEach(link => {
|
||||
const tab = link.dataset.tab
|
||||
link.classList.toggle('active', tab === activeTab)
|
||||
link.addEventListener('click', (event) => {
|
||||
event.preventDefault()
|
||||
this.tabGroups[group] = tab
|
||||
this.render()
|
||||
})
|
||||
})
|
||||
|
||||
// Show/hide tab content
|
||||
this.element.querySelectorAll('[data-group="' + group + '"][data-tab]').forEach(content => {
|
||||
content.classList.toggle('active', content.dataset.tab === activeTab)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
// #region Drag-and-Drop Workflow
|
||||
/**
|
||||
* Create drag-and-drop workflow handlers for this Application
|
||||
* @returns {DragDrop[]} An array of DragDrop handlers
|
||||
* @private
|
||||
*/
|
||||
#createDragDropHandlers() {
|
||||
return this.options.dragDrop.map((d) => {
|
||||
d.permissions = {
|
||||
dragstart: this._canDragStart.bind(this),
|
||||
drop: this._canDragDrop.bind(this),
|
||||
}
|
||||
d.callbacks = {
|
||||
dragstart: this._onDragStart.bind(this),
|
||||
dragover: this._onDragOver.bind(this),
|
||||
drop: this._onDrop.bind(this),
|
||||
}
|
||||
return new foundry.applications.ux.DragDrop.implementation(d)
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* Can the User start a drag workflow for a given drag selector?
|
||||
* @param {string} selector The candidate HTML selector for the drag event
|
||||
* @returns {boolean} Can the current user drag this selector?
|
||||
* @protected
|
||||
*/
|
||||
_canDragStart(selector) {
|
||||
return this.isEditable
|
||||
}
|
||||
|
||||
/**
|
||||
* Can the User drop an entry at a given drop selector?
|
||||
* @param {string} selector The candidate HTML selector for the drop event
|
||||
* @returns {boolean} Can the current user drop on this selector?
|
||||
* @protected
|
||||
*/
|
||||
_canDragDrop(selector) {
|
||||
return this.isEditable
|
||||
}
|
||||
|
||||
/**
|
||||
* Callback for dragstart events.
|
||||
* @param {DragEvent} event The drag start event
|
||||
* @protected
|
||||
*/
|
||||
_onDragStart(event) {
|
||||
const target = event.currentTarget
|
||||
const dragData = { type: "Item", uuid: this.document.uuid }
|
||||
event.dataTransfer.setData("text/plain", JSON.stringify(dragData))
|
||||
}
|
||||
|
||||
/**
|
||||
* Callback for dragover events.
|
||||
* @param {DragEvent} event The drag over event
|
||||
* @protected
|
||||
*/
|
||||
_onDragOver(event) {
|
||||
// Default behavior is fine
|
||||
}
|
||||
|
||||
/**
|
||||
* Callback for drop events.
|
||||
* @param {DragEvent} event The drop event
|
||||
* @protected
|
||||
*/
|
||||
async _onDrop(event) {
|
||||
const data = TextEditor.getDragEventData(event)
|
||||
const item = await fromUuid(data.uuid)
|
||||
if (!item) return
|
||||
|
||||
// Handle drop logic here if needed
|
||||
console.log("Item dropped:", item)
|
||||
}
|
||||
// #endregion
|
||||
|
||||
// #region Action Handlers
|
||||
/**
|
||||
* Edit the item image
|
||||
* @param {Event} event The triggering event
|
||||
* @param {HTMLElement} target The target element
|
||||
* @private
|
||||
*/
|
||||
static async #onEditImage(event, target) {
|
||||
const fp = new foundry.applications.ui.FilePicker({
|
||||
type: "image",
|
||||
current: this.document.img,
|
||||
callback: (path) => {
|
||||
this.document.update({ img: path })
|
||||
},
|
||||
})
|
||||
return fp.browse()
|
||||
}
|
||||
|
||||
/**
|
||||
* Post item to chat
|
||||
* @param {Event} event The triggering event
|
||||
* @param {HTMLElement} target The target element
|
||||
* @private
|
||||
*/
|
||||
static async #onPostItem(event, target) {
|
||||
let chatData = foundry.utils.duplicate(this.document)
|
||||
if (this.document.actor) {
|
||||
chatData.actor = { id: this.document.actor.id }
|
||||
}
|
||||
// Don't post any image for the item if the default image is used
|
||||
if (chatData.img.includes("/blank.png")) {
|
||||
chatData.img = null
|
||||
}
|
||||
// JSON object for easy creation
|
||||
chatData.jsondata = JSON.stringify({
|
||||
compendium: "postedItem",
|
||||
payload: chatData,
|
||||
})
|
||||
|
||||
const html = await renderTemplate('systems/fvtt-hawkmoon-cyd/templates/post-item.hbs', chatData)
|
||||
const chatOptions = {
|
||||
user: game.user.id,
|
||||
content: html,
|
||||
}
|
||||
ChatMessage.create(chatOptions)
|
||||
}
|
||||
|
||||
/**
|
||||
* Add a predilection
|
||||
* @param {Event} event The triggering event
|
||||
* @param {HTMLElement} target The target element
|
||||
* @private
|
||||
*/
|
||||
static async #onAddPredilection(event, target) {
|
||||
let pred = foundry.utils.duplicate(this.document.system.predilections || [])
|
||||
pred.push({ name: "Nouvelle prédilection", id: foundry.utils.randomID(16), used: false, acquise: false, maitrise: false, description: "" })
|
||||
await this.document.update({ 'system.predilections': pred })
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete a predilection
|
||||
* @param {Event} event The triggering event
|
||||
* @param {HTMLElement} target The target element
|
||||
* @private
|
||||
*/
|
||||
static async #onDeletePredilection(event, target) {
|
||||
const index = parseInt(target.closest("[data-predilection-index]").dataset.predilectionIndex)
|
||||
let pred = foundry.utils.duplicate(this.document.system.predilections)
|
||||
pred.splice(index, 1)
|
||||
await this.document.update({ 'system.predilections': pred })
|
||||
}
|
||||
|
||||
/**
|
||||
* Add an automation
|
||||
* @param {Event} event The triggering event
|
||||
* @param {HTMLElement} target The target element
|
||||
* @private
|
||||
*/
|
||||
static async #onAddAutomation(event, target) {
|
||||
let autom = foundry.utils.duplicate(this.document.system.automations || [])
|
||||
autom.push({
|
||||
eventtype: "on-drop",
|
||||
name: "Automatisation 1",
|
||||
bonusname: "vigueur",
|
||||
bonus: 0,
|
||||
competence: "",
|
||||
minLevel: 0,
|
||||
baCost: 0,
|
||||
id: foundry.utils.randomID(16)
|
||||
})
|
||||
await this.document.update({ 'system.automations': autom })
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete an automation
|
||||
* @param {Event} event The triggering event
|
||||
* @param {HTMLElement} target The target element
|
||||
* @private
|
||||
*/
|
||||
static async #onDeleteAutomation(event, target) {
|
||||
const index = parseInt(target.closest("[data-automation-index]").dataset.automationIndex)
|
||||
let autom = foundry.utils.duplicate(this.document.system.automations)
|
||||
autom.splice(index, 1)
|
||||
await this.document.update({ 'system.automations': autom })
|
||||
}
|
||||
// #endregion
|
||||
|
||||
// #region Helper Methods
|
||||
/**
|
||||
* Get list of attributs
|
||||
* @returns {Object}
|
||||
* @private
|
||||
*/
|
||||
#getAttributs() {
|
||||
return {
|
||||
"adr": "Adresse",
|
||||
"pui": "Puissance",
|
||||
"cla": "Clairvoyance",
|
||||
"pre": "Présence",
|
||||
"tre": "Trempe"
|
||||
}
|
||||
}
|
||||
// #endregion
|
||||
|
||||
/** @override */
|
||||
_onChangeForm(formConfig, event) {
|
||||
// Handle special form changes
|
||||
const target = event.target
|
||||
|
||||
// Handle predilection field changes
|
||||
if (target.classList.contains('edit-predilection') ||
|
||||
target.classList.contains('edit-predilection-description') ||
|
||||
target.classList.contains('predilection-acquise') ||
|
||||
target.classList.contains('predilection-maitrise') ||
|
||||
target.classList.contains('predilection-used')) {
|
||||
const li = target.closest('.prediction-item')
|
||||
if (li) {
|
||||
const index = parseInt(li.dataset.predictionIndex)
|
||||
const field = target.classList.contains('edit-predilection') ? 'name' :
|
||||
target.classList.contains('edit-predilection-description') ? 'description' :
|
||||
target.classList.contains('predilection-acquise') ? 'acquise' :
|
||||
target.classList.contains('predilection-maitrise') ? 'maitrise' : 'used'
|
||||
|
||||
let pred = foundry.utils.duplicate(this.document.system.predilections)
|
||||
if (target.type === 'checkbox') {
|
||||
pred[index][field] = target.checked
|
||||
} else {
|
||||
pred[index][field] = target.value
|
||||
}
|
||||
pred[index].id = pred[index].id || foundry.utils.randomID(16)
|
||||
this.document.update({ 'system.predilections': pred })
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
// Handle automation field changes
|
||||
if (target.classList.contains('automation-edit-field')) {
|
||||
const index = parseInt(target.dataset.automationIndex)
|
||||
const field = target.dataset.automationField
|
||||
let auto = foundry.utils.duplicate(this.document.system.automations)
|
||||
auto[index][field] = target.value
|
||||
auto[index].id = auto[index].id || foundry.utils.randomID(16)
|
||||
this.document.update({ 'system.automations': auto })
|
||||
return
|
||||
}
|
||||
|
||||
super._onChangeForm(formConfig, event)
|
||||
}
|
||||
}
|
||||
142
modules/applications/sheets/cellule-sheet.mjs
Normal file
142
modules/applications/sheets/cellule-sheet.mjs
Normal file
@@ -0,0 +1,142 @@
|
||||
import HawkmoonActorSheet from "./base-actor-sheet.mjs"
|
||||
|
||||
const __ALLOWED_ITEM_CELLULE = { talent: 1, ressource: 1, contact: 1, equipement: 1, protection: 1, artefact: 1, arme: 1, monnaie: 1 }
|
||||
|
||||
export default class HawkmoonCelluleSheet extends HawkmoonActorSheet {
|
||||
/** @override */
|
||||
static DEFAULT_OPTIONS = {
|
||||
...super.DEFAULT_OPTIONS,
|
||||
classes: [...super.DEFAULT_OPTIONS.classes],
|
||||
window: {
|
||||
...super.DEFAULT_OPTIONS.window,
|
||||
title: "SHEETS.Actor.cellule",
|
||||
},
|
||||
actions: {
|
||||
...super.DEFAULT_OPTIONS.actions,
|
||||
editActor: HawkmoonCelluleSheet.#onEditActor,
|
||||
deleteActor: HawkmoonCelluleSheet.#onDeleteActor,
|
||||
},
|
||||
}
|
||||
|
||||
/** @override */
|
||||
static PARTS = {
|
||||
sheet: {
|
||||
template: "systems/fvtt-hawkmoon-cyd/templates/cellule-sheet.hbs",
|
||||
},
|
||||
}
|
||||
|
||||
/** @override */
|
||||
tabGroups = { primary: "talents" }
|
||||
|
||||
/** @override */
|
||||
async _prepareContext() {
|
||||
const context = await super._prepareContext()
|
||||
const actor = this.document
|
||||
|
||||
// Add cellule-specific data
|
||||
context.talents = foundry.utils.duplicate(actor.getTalents() || {})
|
||||
context.ressources = foundry.utils.duplicate(actor.getRessources ? actor.getRessources() : [])
|
||||
context.contacts = foundry.utils.duplicate(actor.getContacts ? actor.getContacts() : [])
|
||||
context.members = this.#getMembers()
|
||||
context.equipements = foundry.utils.duplicate(actor.getEquipments ? actor.getEquipments() : [])
|
||||
context.artefacts = foundry.utils.duplicate(actor.getArtefacts ? actor.getArtefacts() : [])
|
||||
context.armes = foundry.utils.duplicate(actor.getWeapons ? actor.getWeapons() : [])
|
||||
context.monnaies = foundry.utils.duplicate(actor.getMonnaies ? actor.getMonnaies() : [])
|
||||
context.protections = foundry.utils.duplicate(actor.getArmors ? actor.getArmors() : [])
|
||||
context.richesse = actor.computeRichesse ? actor.computeRichesse() : 0
|
||||
context.valeurEquipement = actor.computeValeurEquipement ? actor.computeValeurEquipement() : 0
|
||||
context.enrichedDescription = await foundry.applications.ux.TextEditor.implementation.enrichHTML(actor.system.description || "", { async: true })
|
||||
|
||||
return context
|
||||
}
|
||||
|
||||
/**
|
||||
* Get members of the cellule with full actor data
|
||||
* @returns {Array}
|
||||
* @private
|
||||
*/
|
||||
#getMembers() {
|
||||
let membersFull = []
|
||||
for (let memberId of this.actor.system.members) {
|
||||
let actor = game.actors.get(memberId)
|
||||
if (actor) {
|
||||
membersFull.push({ name: actor.name, id: actor.id, img: actor.img })
|
||||
}
|
||||
}
|
||||
return membersFull
|
||||
}
|
||||
|
||||
/**
|
||||
* Override _onDropItem to filter allowed item types for cellule
|
||||
* @override
|
||||
*/
|
||||
async _onDropItem(event, data) {
|
||||
const item = await fromUuid(data.uuid)
|
||||
|
||||
// Check if item type is allowed for cellule
|
||||
if (!__ALLOWED_ITEM_CELLULE[item.type]) {
|
||||
ui.notifications.warn(`Le type d'item ${item.type} n'est pas autorisé pour une cellule`)
|
||||
return false
|
||||
}
|
||||
|
||||
return super._onDropItem(event, data)
|
||||
}
|
||||
|
||||
/**
|
||||
* Override _onDropActor to handle adding members
|
||||
* @override
|
||||
*/
|
||||
async _onDropActor(event, data) {
|
||||
const droppedActor = await fromUuid(data.uuid)
|
||||
|
||||
if (droppedActor.type !== "personnage") {
|
||||
ui.notifications.warn("Seuls les personnages peuvent être ajoutés à une cellule")
|
||||
return false
|
||||
}
|
||||
|
||||
// Check if already a member
|
||||
const isMember = this.actor.system.members.includes(droppedActor.id)
|
||||
if (isMember) {
|
||||
ui.notifications.warn("Ce personnage est déjà membre de cette cellule")
|
||||
return false
|
||||
}
|
||||
|
||||
// Add member ID
|
||||
const members = [...this.actor.system.members, droppedActor.id]
|
||||
await this.actor.update({ "system.members": members })
|
||||
return true
|
||||
}
|
||||
|
||||
// #region Cellule-specific Actions
|
||||
|
||||
/**
|
||||
* Edit an actor (member)
|
||||
* @param {Event} event
|
||||
* @param {HTMLElement} target
|
||||
* @private
|
||||
*/
|
||||
static async #onEditActor(event, target) {
|
||||
const li = target.closest(".item")
|
||||
const actorId = li?.dataset.actorId
|
||||
if (!actorId) return
|
||||
const actor = game.actors.get(actorId)
|
||||
if (actor) actor.sheet.render(true)
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete an actor (remove member)
|
||||
* @param {Event} event
|
||||
* @param {HTMLElement} target
|
||||
* @private
|
||||
*/
|
||||
static async #onDeleteActor(event, target) {
|
||||
const li = target.closest(".item")
|
||||
const actorId = li?.dataset.actorId
|
||||
if (actorId) {
|
||||
const members = this.actor.system.members.filter(id => id !== actorId)
|
||||
await this.actor.update({ "system.members": members })
|
||||
}
|
||||
}
|
||||
|
||||
// #endregion
|
||||
}
|
||||
21
modules/applications/sheets/competence-sheet.mjs
Normal file
21
modules/applications/sheets/competence-sheet.mjs
Normal file
@@ -0,0 +1,21 @@
|
||||
import HawkmoonItemSheet from "./base-item-sheet.mjs"
|
||||
|
||||
export default class HawkmoonCompetenceSheet extends HawkmoonItemSheet {
|
||||
/** @override */
|
||||
static DEFAULT_OPTIONS = {
|
||||
classes: ["competence"],
|
||||
position: {
|
||||
width: 620,
|
||||
},
|
||||
window: {
|
||||
contentClasses: ["competence-content"],
|
||||
},
|
||||
}
|
||||
|
||||
/** @override */
|
||||
static PARTS = {
|
||||
main: {
|
||||
template: "systems/fvtt-hawkmoon-cyd/templates/item-competence-sheet.hbs",
|
||||
},
|
||||
}
|
||||
}
|
||||
21
modules/applications/sheets/contact-sheet.mjs
Normal file
21
modules/applications/sheets/contact-sheet.mjs
Normal file
@@ -0,0 +1,21 @@
|
||||
import HawkmoonItemSheet from "./base-item-sheet.mjs"
|
||||
|
||||
export default class HawkmoonContactSheet extends HawkmoonItemSheet {
|
||||
/** @override */
|
||||
static DEFAULT_OPTIONS = {
|
||||
classes: ["contact"],
|
||||
position: {
|
||||
width: 620,
|
||||
},
|
||||
window: {
|
||||
contentClasses: ["contact-content"],
|
||||
},
|
||||
}
|
||||
|
||||
/** @override */
|
||||
static PARTS = {
|
||||
main: {
|
||||
template: "systems/fvtt-hawkmoon-cyd/templates/item-contact-sheet.hbs",
|
||||
},
|
||||
}
|
||||
}
|
||||
60
modules/applications/sheets/creature-sheet.mjs
Normal file
60
modules/applications/sheets/creature-sheet.mjs
Normal file
@@ -0,0 +1,60 @@
|
||||
import HawkmoonActorSheet from "./base-actor-sheet.mjs"
|
||||
import { HawkmoonUtility } from "../../hawkmoon-utility.js"
|
||||
|
||||
export default class HawkmoonCreatureSheet extends HawkmoonActorSheet {
|
||||
/** @override */
|
||||
static DEFAULT_OPTIONS = {
|
||||
...super.DEFAULT_OPTIONS,
|
||||
classes: [...super.DEFAULT_OPTIONS.classes],
|
||||
window: {
|
||||
...super.DEFAULT_OPTIONS.window,
|
||||
title: "SHEETS.Actor.creature",
|
||||
},
|
||||
}
|
||||
|
||||
/** @override */
|
||||
static PARTS = {
|
||||
sheet: {
|
||||
template: "systems/fvtt-hawkmoon-cyd/templates/creature-sheet.hbs",
|
||||
},
|
||||
}
|
||||
|
||||
/** @override */
|
||||
tabGroups = { primary: "principal" }
|
||||
|
||||
/** @override */
|
||||
async _prepareContext() {
|
||||
const context = await super._prepareContext()
|
||||
const actor = this.document
|
||||
|
||||
// Add creature-specific data
|
||||
context.skills = actor.getSkills ? actor.getSkills() : []
|
||||
context.armes = foundry.utils.duplicate(actor.getWeapons ? actor.getWeapons() : [])
|
||||
context.protections = foundry.utils.duplicate(actor.getArmors ? actor.getArmors() : [])
|
||||
context.combat = actor.getCombatValues ? actor.getCombatValues() : {}
|
||||
context.equipements = foundry.utils.duplicate(actor.getEquipments ? actor.getEquipments() : [])
|
||||
context.talents = foundry.utils.duplicate(actor.getTalents ? actor.getTalents() : [])
|
||||
context.talentsCell = this.#getCelluleTalents()
|
||||
context.nbCombativite = actor.system.sante?.nbcombativite || 0
|
||||
context.combativiteList = HawkmoonUtility.getCombativiteList(actor.system.sante?.nbcombativite || 0)
|
||||
context.initiative = actor.getFlag("world", "last-initiative") || -1
|
||||
context.enrichedDescription = await foundry.applications.ux.TextEditor.implementation.enrichHTML(actor.system.biodata?.description || "", { async: true })
|
||||
context.enrichedHabitat = await foundry.applications.ux.TextEditor.implementation.enrichHTML(actor.system.biodata?.habitat || "", { async: true })
|
||||
|
||||
return context
|
||||
}
|
||||
|
||||
/**
|
||||
* Get talents from attached cellule
|
||||
* @private
|
||||
*/
|
||||
#getCelluleTalents() {
|
||||
const celluleId = this.actor.system?.details?.celluleid
|
||||
if (!celluleId) return []
|
||||
|
||||
const cellule = game.actors.get(celluleId)
|
||||
if (!cellule) return []
|
||||
|
||||
return foundry.utils.duplicate(cellule.getTalents?.() || [])
|
||||
}
|
||||
}
|
||||
21
modules/applications/sheets/equipement-sheet.mjs
Normal file
21
modules/applications/sheets/equipement-sheet.mjs
Normal file
@@ -0,0 +1,21 @@
|
||||
import HawkmoonItemSheet from "./base-item-sheet.mjs"
|
||||
|
||||
export default class HawkmoonEquipementSheet extends HawkmoonItemSheet {
|
||||
/** @override */
|
||||
static DEFAULT_OPTIONS = {
|
||||
classes: ["equipement"],
|
||||
position: {
|
||||
width: 620,
|
||||
},
|
||||
window: {
|
||||
contentClasses: ["equipement-content"],
|
||||
},
|
||||
}
|
||||
|
||||
/** @override */
|
||||
static PARTS = {
|
||||
main: {
|
||||
template: "systems/fvtt-hawkmoon-cyd/templates/item-equipement-sheet.hbs",
|
||||
},
|
||||
}
|
||||
}
|
||||
21
modules/applications/sheets/historique-sheet.mjs
Normal file
21
modules/applications/sheets/historique-sheet.mjs
Normal file
@@ -0,0 +1,21 @@
|
||||
import HawkmoonItemSheet from "./base-item-sheet.mjs"
|
||||
|
||||
export default class HawkmoonHistoriqueSheet extends HawkmoonItemSheet {
|
||||
/** @override */
|
||||
static DEFAULT_OPTIONS = {
|
||||
classes: ["historique"],
|
||||
position: {
|
||||
width: 620,
|
||||
},
|
||||
window: {
|
||||
contentClasses: ["historique-content"],
|
||||
},
|
||||
}
|
||||
|
||||
/** @override */
|
||||
static PARTS = {
|
||||
main: {
|
||||
template: "systems/fvtt-hawkmoon-cyd/templates/item-historique-sheet.hbs",
|
||||
},
|
||||
}
|
||||
}
|
||||
21
modules/applications/sheets/monnaie-sheet.mjs
Normal file
21
modules/applications/sheets/monnaie-sheet.mjs
Normal file
@@ -0,0 +1,21 @@
|
||||
import HawkmoonItemSheet from "./base-item-sheet.mjs"
|
||||
|
||||
export default class HawkmoonMonnaieSheet extends HawkmoonItemSheet {
|
||||
/** @override */
|
||||
static DEFAULT_OPTIONS = {
|
||||
classes: ["monnaie"],
|
||||
position: {
|
||||
width: 620,
|
||||
},
|
||||
window: {
|
||||
contentClasses: ["monnaie-content"],
|
||||
},
|
||||
}
|
||||
|
||||
/** @override */
|
||||
static PARTS = {
|
||||
main: {
|
||||
template: "systems/fvtt-hawkmoon-cyd/templates/item-monnaie-sheet.hbs",
|
||||
},
|
||||
}
|
||||
}
|
||||
21
modules/applications/sheets/mutation-sheet.mjs
Normal file
21
modules/applications/sheets/mutation-sheet.mjs
Normal file
@@ -0,0 +1,21 @@
|
||||
import HawkmoonItemSheet from "./base-item-sheet.mjs"
|
||||
|
||||
export default class HawkmoonMutationSheet extends HawkmoonItemSheet {
|
||||
/** @override */
|
||||
static DEFAULT_OPTIONS = {
|
||||
classes: ["mutation"],
|
||||
position: {
|
||||
width: 620,
|
||||
},
|
||||
window: {
|
||||
contentClasses: ["mutation-content"],
|
||||
},
|
||||
}
|
||||
|
||||
/** @override */
|
||||
static PARTS = {
|
||||
main: {
|
||||
template: "systems/fvtt-hawkmoon-cyd/templates/item-mutation-sheet.hbs",
|
||||
},
|
||||
}
|
||||
}
|
||||
104
modules/applications/sheets/personnage-sheet.mjs
Normal file
104
modules/applications/sheets/personnage-sheet.mjs
Normal file
@@ -0,0 +1,104 @@
|
||||
import HawkmoonActorSheet from "./base-actor-sheet.mjs"
|
||||
import { HawkmoonUtility } from "../../hawkmoon-utility.js"
|
||||
|
||||
export default class HawkmoonPersonnageSheet extends HawkmoonActorSheet {
|
||||
/** @override */
|
||||
static DEFAULT_OPTIONS = {
|
||||
...super.DEFAULT_OPTIONS,
|
||||
classes: [...super.DEFAULT_OPTIONS.classes],
|
||||
window: {
|
||||
...super.DEFAULT_OPTIONS.window,
|
||||
title: "SHEETS.Actor.personnage",
|
||||
},
|
||||
actions: {
|
||||
...super.DEFAULT_OPTIONS.actions,
|
||||
openCellule: HawkmoonPersonnageSheet.#onOpenCellule,
|
||||
},
|
||||
}
|
||||
|
||||
/** @override */
|
||||
static PARTS = {
|
||||
sheet: {
|
||||
template: "systems/fvtt-hawkmoon-cyd/templates/actor-sheet.hbs",
|
||||
},
|
||||
}
|
||||
|
||||
/** @override */
|
||||
tabGroups = { primary: "principal" }
|
||||
|
||||
/** @override */
|
||||
async _prepareContext() {
|
||||
const context = await super._prepareContext()
|
||||
const actor = this.document
|
||||
|
||||
// Add personnage-specific data
|
||||
context.skills = actor.getSkills()
|
||||
context.armes = foundry.utils.duplicate(actor.getWeapons())
|
||||
context.monnaies = foundry.utils.duplicate(actor.getMonnaies())
|
||||
context.protections = foundry.utils.duplicate(actor.getArmors())
|
||||
context.historiques = foundry.utils.duplicate(actor.getHistoriques() || [])
|
||||
context.talents = foundry.utils.duplicate(actor.getTalents() || [])
|
||||
context.mutations = foundry.utils.duplicate(actor.getMutations() || [])
|
||||
context.talentsCell = this.#getCelluleTalents()
|
||||
context.celluleId = this.#getCelluleId()
|
||||
context.profils = foundry.utils.duplicate(actor.getProfils() || [])
|
||||
context.combat = actor.getCombatValues()
|
||||
context.equipements = foundry.utils.duplicate(actor.getEquipments())
|
||||
context.artefacts = foundry.utils.duplicate(actor.getArtefacts())
|
||||
context.richesse = actor.computeRichesse()
|
||||
context.coupDevastateur = actor.items.find(it => it.type == "talent" && it.name.toLowerCase() == "coup devastateur" && !it.system.used)
|
||||
context.valeurEquipement = actor.computeValeurEquipement()
|
||||
context.nbCombativite = actor.system.sante.nbcombativite
|
||||
context.combativiteList = HawkmoonUtility.getCombativiteList(actor.system.sante.nbcombativite)
|
||||
context.initiative = actor.getFlag("world", "last-initiative") || -1
|
||||
|
||||
return context
|
||||
}
|
||||
|
||||
/**
|
||||
* Get talents from cellules this actor is a member of
|
||||
* @returns {Array}
|
||||
* @private
|
||||
*/
|
||||
#getCelluleTalents() {
|
||||
let talents = []
|
||||
for (let cellule of game.actors) {
|
||||
if (cellule.type == "cellule") {
|
||||
let found = cellule.system.members.includes(this.actor.id)
|
||||
if (found) {
|
||||
talents = talents.concat(cellule.getTalents())
|
||||
}
|
||||
}
|
||||
}
|
||||
return talents
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the ID of the cellule this actor is a member of
|
||||
* @returns {string|null}
|
||||
* @private
|
||||
*/
|
||||
#getCelluleId() {
|
||||
for (let cellule of game.actors) {
|
||||
if (cellule.type == "cellule") {
|
||||
if (cellule.system.members.includes(this.actor.id)) {
|
||||
return cellule.id
|
||||
}
|
||||
}
|
||||
}
|
||||
return null
|
||||
}
|
||||
|
||||
/**
|
||||
* Open cellule sheet
|
||||
* @param {Event} event
|
||||
* @param {HTMLElement} target
|
||||
* @private
|
||||
*/
|
||||
static async #onOpenCellule(event, target) {
|
||||
const celluleId = target.dataset.celluleId
|
||||
if (!celluleId) return
|
||||
const cellule = game.actors.get(celluleId)
|
||||
if (cellule) cellule.sheet.render(true)
|
||||
}
|
||||
}
|
||||
21
modules/applications/sheets/profil-sheet.mjs
Normal file
21
modules/applications/sheets/profil-sheet.mjs
Normal file
@@ -0,0 +1,21 @@
|
||||
import HawkmoonItemSheet from "./base-item-sheet.mjs"
|
||||
|
||||
export default class HawkmoonProfilSheet extends HawkmoonItemSheet {
|
||||
/** @override */
|
||||
static DEFAULT_OPTIONS = {
|
||||
classes: ["profil"],
|
||||
position: {
|
||||
width: 620,
|
||||
},
|
||||
window: {
|
||||
contentClasses: ["profil-content"],
|
||||
},
|
||||
}
|
||||
|
||||
/** @override */
|
||||
static PARTS = {
|
||||
main: {
|
||||
template: "systems/fvtt-hawkmoon-cyd/templates/item-profil-sheet.hbs",
|
||||
},
|
||||
}
|
||||
}
|
||||
21
modules/applications/sheets/protection-sheet.mjs
Normal file
21
modules/applications/sheets/protection-sheet.mjs
Normal file
@@ -0,0 +1,21 @@
|
||||
import HawkmoonItemSheet from "./base-item-sheet.mjs"
|
||||
|
||||
export default class HawkmoonProtectionSheet extends HawkmoonItemSheet {
|
||||
/** @override */
|
||||
static DEFAULT_OPTIONS = {
|
||||
classes: ["protection"],
|
||||
position: {
|
||||
width: 620,
|
||||
},
|
||||
window: {
|
||||
contentClasses: ["protection-content"],
|
||||
},
|
||||
}
|
||||
|
||||
/** @override */
|
||||
static PARTS = {
|
||||
main: {
|
||||
template: "systems/fvtt-hawkmoon-cyd/templates/item-protection-sheet.hbs",
|
||||
},
|
||||
}
|
||||
}
|
||||
21
modules/applications/sheets/ressource-sheet.mjs
Normal file
21
modules/applications/sheets/ressource-sheet.mjs
Normal file
@@ -0,0 +1,21 @@
|
||||
import HawkmoonItemSheet from "./base-item-sheet.mjs"
|
||||
|
||||
export default class HawkmoonRessourceSheet extends HawkmoonItemSheet {
|
||||
/** @override */
|
||||
static DEFAULT_OPTIONS = {
|
||||
classes: ["ressource"],
|
||||
position: {
|
||||
width: 620,
|
||||
},
|
||||
window: {
|
||||
contentClasses: ["ressource-content"],
|
||||
},
|
||||
}
|
||||
|
||||
/** @override */
|
||||
static PARTS = {
|
||||
main: {
|
||||
template: "systems/fvtt-hawkmoon-cyd/templates/item-ressource-sheet.hbs",
|
||||
},
|
||||
}
|
||||
}
|
||||
51
modules/applications/sheets/talent-sheet.mjs
Normal file
51
modules/applications/sheets/talent-sheet.mjs
Normal file
@@ -0,0 +1,51 @@
|
||||
import HawkmoonItemSheet from "./base-item-sheet.mjs"
|
||||
|
||||
export default class HawkmoonTalentSheet extends HawkmoonItemSheet {
|
||||
/** @override */
|
||||
static DEFAULT_OPTIONS = {
|
||||
classes: ["talent"],
|
||||
position: {
|
||||
width: 620,
|
||||
},
|
||||
window: {
|
||||
contentClasses: ["talent-content"],
|
||||
},
|
||||
}
|
||||
|
||||
/** @override */
|
||||
static PARTS = {
|
||||
main: {
|
||||
template: "systems/fvtt-hawkmoon-cyd/templates/item-talent-sheet.hbs",
|
||||
},
|
||||
}
|
||||
|
||||
/** @override */
|
||||
tabGroups = {
|
||||
primary: "description",
|
||||
}
|
||||
|
||||
/**
|
||||
* Prepare an array of form header tabs.
|
||||
* @returns {Record<string, Partial<ApplicationTab>>}
|
||||
*/
|
||||
#getTabs() {
|
||||
const tabs = {
|
||||
details: { id: "details", group: "primary", label: "Détails" },
|
||||
description: { id: "description", group: "primary", label: "Description" }
|
||||
}
|
||||
for (const v of Object.values(tabs)) {
|
||||
v.active = this.tabGroups[v.group] === v.id
|
||||
v.cssClass = v.active ? "active" : ""
|
||||
}
|
||||
return tabs
|
||||
}
|
||||
|
||||
/** @override */
|
||||
async _prepareContext() {
|
||||
const context = await super._prepareContext()
|
||||
context.tabs = this.#getTabs()
|
||||
context.enrichedDescription = await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.document.system.description, { async: true })
|
||||
return context
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
/* -------------------------------------------- */
|
||||
import { HawkmoonUtility } from "./hawkmoon-utility.js";
|
||||
import { HawkmoonRollDialog } from "./hawkmoon-roll-dialog.js";
|
||||
import { HawkmoonRollDialog } from "./applications/hawkmoon-roll-dialog.mjs";
|
||||
|
||||
/* -------------------------------------------- */
|
||||
const __degatsBonus = [-2, -2, -1, -1, 0, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 8, 8, 9, 9, 10, 10]
|
||||
@@ -17,8 +17,8 @@ export class HawkmoonActor extends Actor {
|
||||
/**
|
||||
* Override the create() function to provide additional SoS functionality.
|
||||
*
|
||||
* This overrided create() function adds initial items
|
||||
* Namely: Basic skills, money,
|
||||
* This overrided create() function adds initial items
|
||||
* Namely: Basic skills, money,
|
||||
*
|
||||
* @param {Object} data Barebones actor data which this function adds onto.
|
||||
* @param {Object} options (Unused) Additional options which customize the creation workflow.
|
||||
@@ -41,29 +41,57 @@ export class HawkmoonActor extends Actor {
|
||||
const skills = await HawkmoonUtility.loadCompendium("fvtt-hawkmoon-cyd.skills")
|
||||
data.items = skills.map(i => i.toObject())
|
||||
}
|
||||
if (data.type == 'pnj') {
|
||||
if (data.type == 'creature') {
|
||||
const skills = await HawkmoonUtility.loadCompendium("fvtt-hawkmoon-cyd.skills-creatures")
|
||||
data.items = skills.map(i => i.toObject())
|
||||
data.items.push({ name: "Arme naturelle 1", type: 'arme', img: "systems/fvtt-hawkmoon-cyd/assets/icons/melee.webp", system: { typearme: "contact", bonusmaniementoff: 0, seuildefense: 0, degats: "0" } })
|
||||
data.items.push({ name: "Arme naturelle 2", type: 'arme', img: "systems/fvtt-hawkmoon-cyd/assets/icons/melee.webp", system: { typearme: "contact", bonusmaniementoff: 0, seuildefense: 0, degats: "0" } })
|
||||
}
|
||||
|
||||
return super.create(data, options);
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
getBonusDefenseFromTalents() {
|
||||
let talents = this.items.filter(item => item.type == "talent" && item.system.isautomated)
|
||||
let bonus = 0
|
||||
for (let talent of talents) {
|
||||
for (let auto of talent.system.automations) {
|
||||
if (auto.eventtype == "bonus-permanent" && auto.bonusname == "bonus-defensif") {
|
||||
bonus += Number(auto.bonus || 0)
|
||||
}
|
||||
}
|
||||
}
|
||||
return bonus
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
prepareArme(arme) {
|
||||
arme = duplicate(arme)
|
||||
if (this.type == "cellule") {
|
||||
return arme
|
||||
}
|
||||
|
||||
arme = foundry.utils.duplicate(arme)
|
||||
let combat = this.getCombatValues()
|
||||
if (arme.system.typearme == "contact" || arme.system.typearme == "contactjet") {
|
||||
arme.system.competence = duplicate(this.items.find(item => item.type == "competence" && item.name.toLowerCase() == "mêlée"))
|
||||
let bonusDefense = this.getBonusDefenseFromTalents()
|
||||
arme.system.competence = foundry.utils.duplicate(this.items.find(item => item.type == "competence" && item.name.toLowerCase() == "mêlée"))
|
||||
arme.system.attrKey = "pui"
|
||||
arme.system.totalDegats = arme.system.degats + "+" + combat.bonusDegatsTotal
|
||||
arme.system.totalOffensif = this.system.attributs.pui.value + arme.system.competence.system.niveau + arme.system.bonusmaniementoff
|
||||
arme.system.totalDefensif = combat.defenseTotal + arme.system.competence.system.niveau + arme.system.seuildefense
|
||||
arme.system.totalOffensif = this.system.attributs.pui.value + arme.system.competence.system.niveau + arme.system.bonusmaniementoff + (this.system.combat.monte ? 3 : 0)
|
||||
arme.system.totalDefensif = combat.defenseTotal + arme.system.competence.system.niveau + arme.system.seuildefense + bonusDefense + (this.system.combat.monte ? 3 : 0)
|
||||
console.log("Arme", arme.system.totalDefensif, combat, arme.system.competence.system.niveau, arme.system.seuildefense, bonusDefense)
|
||||
arme.system.isdefense = true
|
||||
arme.system.isMelee = true
|
||||
arme.system.isDistance = false
|
||||
}
|
||||
if (arme.system.typearme == "jet" || arme.system.typearme == "tir") {
|
||||
arme.system.competence = duplicate(this.items.find(item => item.type == "competence" && item.name.toLowerCase() == "armes à distance"))
|
||||
arme.system.competence = foundry.utils.duplicate(this.items.find(item => item.type == "competence" && item.name.toLowerCase() == "armes à distance"))
|
||||
arme.system.attrKey = "adr"
|
||||
arme.system.totalOffensif = this.system.attributs.adr.value + arme.system.competence.system.niveau + arme.system.bonusmaniementoff
|
||||
arme.system.totalDegats = arme.system.degats
|
||||
arme.system.isMelee = false
|
||||
arme.system.isDistance = true
|
||||
if (arme.system.isdefense) {
|
||||
arme.system.totalDefensif = combat.defenseTotal + arme.system.competence.system.niveau + arme.system.seuildefense
|
||||
}
|
||||
@@ -72,6 +100,11 @@ export class HawkmoonActor extends Actor {
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
getItemSorted(types) {
|
||||
let items = this.items.filter(item => types.includes(item.type)) || []
|
||||
HawkmoonUtility.sortArrayObjectsByName(items)
|
||||
return items
|
||||
}
|
||||
getWeapons() {
|
||||
let armes = []
|
||||
for (let arme of this.items) {
|
||||
@@ -79,52 +112,45 @@ export class HawkmoonActor extends Actor {
|
||||
armes.push(this.prepareArme(arme))
|
||||
}
|
||||
}
|
||||
HawkmoonUtility.sortArrayObjectsByName(armes)
|
||||
return armes
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
getMonnaies() {
|
||||
return this.items.filter( it => it.type == "monnaie")
|
||||
return this.getItemSorted(["monnaie"])
|
||||
}
|
||||
|
||||
/* ----------------------- --------------------- */
|
||||
addMember( actorId) {
|
||||
let members = duplicate(this.system.members)
|
||||
members.push( {id: actorId} )
|
||||
this.update ({'system.members': members})
|
||||
}
|
||||
async removeMember(actorId) {
|
||||
let members = this.system.members.filter(it => it.id != actorId )
|
||||
this.update ({'system.members': members})
|
||||
}
|
||||
|
||||
/* ----------------------- --------------------- */
|
||||
getEquipments() {
|
||||
return this.items.filter(item => item.type == "equipement")
|
||||
return this.getItemSorted(["equipement"])
|
||||
}
|
||||
getArtefacts() {
|
||||
return this.getItemSorted(["artefact"])
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
getArmors() {
|
||||
return this.items.filter(item => item.type == "protection")
|
||||
return this.getItemSorted(["protection"])
|
||||
}
|
||||
getHistorique() {
|
||||
return this.items.find(item => item.type == "historique")
|
||||
getHistoriques() {
|
||||
return this.getItemSorted(["historique"])
|
||||
}
|
||||
getProfils() {
|
||||
return this.items.filter(item => item.type == "profil")
|
||||
return this.getItemSorted(["profil"])
|
||||
}
|
||||
getTalents() {
|
||||
return this.items.filter(item => item.type == "talent")
|
||||
return this.getItemSorted(["talent"])
|
||||
}
|
||||
getRessources() {
|
||||
return this.items.filter(item => item.type == "ressource")
|
||||
return this.getItemSorted(["ressource"])
|
||||
}
|
||||
getContacts() {
|
||||
return this.items.filter(item => item.type == "contact")
|
||||
return this.getItemSorted(["contact"])
|
||||
}
|
||||
getMutations() {
|
||||
return this.getItemSorted(["mutation"])
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
getSkills() {
|
||||
let comp = []
|
||||
for (let item of this.items) {
|
||||
item = duplicate(item)
|
||||
item = foundry.utils.duplicate(item)
|
||||
if (item.type == "competence") {
|
||||
item.system.attribut1total = item.system.niveau + (this.system.attributs[item.system.attribut1]?.value || 0)
|
||||
item.system.attribut2total = item.system.niveau + (this.system.attributs[item.system.attribut2]?.value || 0)
|
||||
@@ -140,22 +166,24 @@ export class HawkmoonActor extends Actor {
|
||||
comp.push(item)
|
||||
}
|
||||
}
|
||||
return comp.sort(function (a, b) {
|
||||
let fa = a.name.toLowerCase(),
|
||||
fb = b.name.toLowerCase();
|
||||
if (fa < fb) {
|
||||
return -1;
|
||||
}
|
||||
if (fa > fb) {
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
})
|
||||
HawkmoonUtility.sortArrayObjectsByName(comp)
|
||||
return comp
|
||||
}
|
||||
|
||||
/* ----------------------- --------------------- */
|
||||
addMember(actorId) {
|
||||
let members = foundry.utils.duplicate(this.system.members)
|
||||
members.push({ id: actorId })
|
||||
this.update({ 'system.members': members })
|
||||
}
|
||||
async removeMember(actorId) {
|
||||
let members = this.system.members.filter(it => it.id != actorId)
|
||||
this.update({ 'system.members': members })
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
getDefenseBase() {
|
||||
return Math.max(this.system.attributs.tre.value, this.system.attributs.pui.value)
|
||||
return Math.max(this.system.attributs.tre.value, this.system.attributs.adr.value)
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
@@ -165,7 +193,7 @@ export class HawkmoonActor extends Actor {
|
||||
/* -------------------------------------------- */
|
||||
getProtection() {
|
||||
let equipProtection = 0
|
||||
for(let armor in this.items) {
|
||||
for (let armor of this.items) {
|
||||
if (armor.type == "protection" && armor.system.equipped) {
|
||||
equipProtection += Number(armor.system.protection)
|
||||
}
|
||||
@@ -178,6 +206,20 @@ export class HawkmoonActor extends Actor {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
getCombatValues() {
|
||||
if (this.type == "cellule") {
|
||||
return {
|
||||
initBase: 0,
|
||||
initTotal: 0,
|
||||
bonusDegats: 0,
|
||||
bonusDegatsTotal: 0,
|
||||
vitesseBase: 0,
|
||||
vitesseTotal: 0,
|
||||
defenseBase: 0,
|
||||
protection: 0,
|
||||
defenseTotal: 0
|
||||
}
|
||||
}
|
||||
|
||||
let combat = {
|
||||
initBase: this.system.attributs.adr.value,
|
||||
initTotal: this.system.attributs.adr.value + this.system.combat.initbonus,
|
||||
@@ -186,8 +228,8 @@ export class HawkmoonActor extends Actor {
|
||||
vitesseBase: this.getVitesseBase(),
|
||||
vitesseTotal: this.getVitesseBase() + this.system.combat.vitessebonus,
|
||||
defenseBase: this.getDefenseBase(),
|
||||
protection : this.getProtection(),
|
||||
defenseTotal: this.getDefenseBase() + this.system.combat.defensebonus + this.getProtection() - this.getTotalAdversite()
|
||||
protection: this.getProtection(),
|
||||
defenseTotal: this.getDefenseBase() + this.system.combat.defensebonus + this.getProtection() - this.getTotalAdversite() + (this.system.combat.defensetotale ? 3 : 0)
|
||||
}
|
||||
return combat
|
||||
}
|
||||
@@ -205,26 +247,34 @@ export class HawkmoonActor extends Actor {
|
||||
prepareDerivedData() {
|
||||
|
||||
if (this.type == 'personnage') {
|
||||
let vigueur = Math.floor((this.system.attributs.pui.value + this.system.attributs.tre.value) / 2)
|
||||
let talentBonus = this.getVigueurBonus()
|
||||
let vigueur = Math.floor((this.system.attributs.pui.value + this.system.attributs.tre.value) / 2) + talentBonus + this.system.sante.vigueurmodifier
|
||||
if (vigueur != this.system.sante.vigueur) {
|
||||
this.update({ 'system.sante.vigueur': vigueur })
|
||||
}
|
||||
}
|
||||
|
||||
super.prepareDerivedData()
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
_preUpdate(changed, options, user) {
|
||||
|
||||
if (changed?.system?.sante?.etat && changed?.system?.sante?.etat != this.system.sante.etat) {
|
||||
setTimeout(() => {
|
||||
this.processCombativite(changed.system.sante)
|
||||
}, 800)
|
||||
}
|
||||
super._preUpdate(changed, options, user);
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
_onUpdate(data, options, user) {
|
||||
super._onUpdate(data, options, user);
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
getItemById(id) {
|
||||
let item = this.items.find(item => item.id == id);
|
||||
if (item) {
|
||||
item = duplicate(item)
|
||||
item = foundry.utils.duplicate(item)
|
||||
}
|
||||
return item;
|
||||
}
|
||||
@@ -257,7 +307,7 @@ export class HawkmoonActor extends Actor {
|
||||
checkAttribut(attribut, minLevel) {
|
||||
let attr = this.system.attributs.find(at => at.labelnorm == attribut.toLowerCase())
|
||||
if (attr && attr.value >= minLevel) {
|
||||
return { isValid: true, attr: duplicate(attr) }
|
||||
return { isValid: true, attr: foundry.utils.duplicate(attr) }
|
||||
}
|
||||
return { isValid: false }
|
||||
}
|
||||
@@ -265,11 +315,11 @@ export class HawkmoonActor extends Actor {
|
||||
checkAttributOrCompetenceLevel(compName, minLevel) {
|
||||
let comp = this.items.find(i => i.type == "competence" && i.name.toLowerCase() == compName.toLowerCase() && i.system.niveau >= minLevel)
|
||||
if (comp) {
|
||||
return { isValid: true, item: duplicate(comp) }
|
||||
return { isValid: true, item: foundry.utils.duplicate(comp) }
|
||||
} else {
|
||||
for (let attrKey in this.system.attributs) {
|
||||
if (this.system.attributs[attrKey].label.toLowerCase() == compName.toLowerCase() && this.system.attributs[attrKey].value >= minLevel) {
|
||||
return { isValid: true, item: duplicate(this.system.attributs[attrKey]) }
|
||||
return { isValid: true, item: foundry.utils.duplicate(this.system.attributs[attrKey]) }
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -279,7 +329,7 @@ export class HawkmoonActor extends Actor {
|
||||
addCompetenceBonus(compName, bonus, baCost) {
|
||||
let comp = this.items.find(i => i.type == "competence" && i.name.toLowerCase() == compName.toLowerCase())
|
||||
if (comp) {
|
||||
comp = duplicate(comp)
|
||||
comp = foundry.utils.duplicate(comp)
|
||||
comp.system.bonus = bonus
|
||||
comp.system.baCost = baCost
|
||||
return { isValid: true, item: comp }
|
||||
@@ -298,6 +348,21 @@ export class HawkmoonActor extends Actor {
|
||||
getVigueur() {
|
||||
return this.system.sante.vigueur
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
getVigueurBonus() {
|
||||
let talents = this.items.filter(item => item.type == "talent" && item.system.isautomated)
|
||||
let bonus = 0
|
||||
for (let talent of talents) {
|
||||
for (let auto of talent.system.automations) {
|
||||
if (auto.eventtype == "bonus-permanent" && auto.bonusname == "vigueur") {
|
||||
bonus += Number(auto.bonus || 0)
|
||||
}
|
||||
}
|
||||
}
|
||||
return bonus
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
getBonneAventure() {
|
||||
return this.system.bonneaventure.actuelle
|
||||
@@ -343,13 +408,45 @@ export class HawkmoonActor extends Actor {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
getBonusDegats() {
|
||||
return 0;
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
changeEtatCombativite(value) {
|
||||
if (value === "vaincu") {
|
||||
value = 200
|
||||
}
|
||||
let sante = foundry.utils.duplicate(this.system.sante)
|
||||
sante.etat += Number(value)
|
||||
sante.etat = Math.max(sante.etat, 0)
|
||||
sante.etat = Math.min(sante.etat, this.system.sante.nbcombativite)
|
||||
this.update({ 'system.sante': sante })
|
||||
if (sante.etat == this.system.sante.nbcombativite) {
|
||||
ChatMessage.create({ content: `<strong>${this.name} est vaincu !</strong>` })
|
||||
}
|
||||
// Duplicated ! this.processCombativite(sante)
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
processCombativite(sante) {
|
||||
sante = sante || foundry.utils.duplicate(this.system.sante)
|
||||
// Gestion des états affaibli et très affaibli
|
||||
if (sante.etat == this.system.sante.nbcombativite - 2 || sante.etat == this.system.sante.nbcombativite - 1) {
|
||||
if (sante.etat == this.system.sante.nbcombativite - 2 && this.items.find(item => item.type == "talent" && item.name.toLowerCase() == "encaissement")) {
|
||||
ChatMessage.create({ content: `<strong>${this.name} ne subit pas les 2 adversités rouge grâce à Encaissement. Pensez à les ajouter à la fin de la scène !</strong>` })
|
||||
} else if (sante.etat == this.system.sante.nbcombativite - 1 && this.items.find(item => item.type == "talent" && item.name.toLowerCase().includes("vaillant"))) {
|
||||
ChatMessage.create({ content: `<strong>${this.name} ne subit pas les 2 adversités rouge grâce à Vaillant. Pensez à les ajouter à la fin de la scène !</strong>` })
|
||||
} else {
|
||||
ChatMessage.create({ content: `<strong>${this.name} subit 2 adversités rouge !</strong>` })
|
||||
this.incDecAdversite("rouge", 2)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async equipGear(equipmentId) {
|
||||
let item = this.items.find(item => item.id == equipmentId);
|
||||
if (item && item.system.data) {
|
||||
if (item?.system?.data) {
|
||||
let update = { _id: item.id, "system.equipped": !item.system.equipped };
|
||||
await this.updateEmbeddedDocuments('Item', [update]); // Updates one EmbeddedEntity
|
||||
}
|
||||
@@ -359,13 +456,13 @@ export class HawkmoonActor extends Actor {
|
||||
getSubActors() {
|
||||
let subActors = [];
|
||||
for (let id of this.system.subactors) {
|
||||
subActors.push(duplicate(game.actors.get(id)));
|
||||
subActors.push(foundry.utils.duplicate(game.actors.get(id)));
|
||||
}
|
||||
return subActors;
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
async addSubActor(subActorId) {
|
||||
let subActors = duplicate(this.system.subactors);
|
||||
let subActors = foundry.utils.duplicate(this.system.subactors);
|
||||
subActors.push(subActorId);
|
||||
await this.update({ 'system.subactors': subActors });
|
||||
}
|
||||
@@ -387,21 +484,46 @@ export class HawkmoonActor extends Actor {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async incDecAdversite(adv, incDec = 0) {
|
||||
let adversite = duplicate(this.system.adversite)
|
||||
let adversite = foundry.utils.duplicate(this.system.adversite)
|
||||
adversite[adv] += Number(incDec)
|
||||
adversite[adv] = Math.max(adversite[adv], 0)
|
||||
adversite[adv] = Math.min(adversite[adv], 20)
|
||||
this.update({ 'system.adversite': adversite })
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
async incDecQuantity(objetId, incDec = 0) {
|
||||
let objetQ = this.items.get(objetId)
|
||||
if (objetQ) {
|
||||
let newQ = objetQ.system.quantity + incDec
|
||||
let newQ = objetQ.system.quantite + incDec
|
||||
newQ = Math.max(newQ, 0)
|
||||
const updated = await this.updateEmbeddedDocuments('Item', [{ _id: objetQ.id, 'system.quantity': newQ }]); // pdates one EmbeddedEntity
|
||||
await this.updateEmbeddedDocuments('Item', [{ _id: objetQ.id, 'system.quantite': newQ }]); // pdates one EmbeddedEntity
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
computeRichesse() {
|
||||
let valueSC = 0
|
||||
for (let monnaie of this.items) {
|
||||
if (monnaie.type == "monnaie") {
|
||||
valueSC += Number(monnaie.system.prixsc) * Number(monnaie.system.quantite)
|
||||
}
|
||||
}
|
||||
return HawkmoonUtility.computeMonnaieDetails(valueSC)
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
computeValeurEquipement() {
|
||||
let valueSC = 0
|
||||
for (let equip of this.items) {
|
||||
if (equip.type == "equipement" || equip.type == "arme" || equip.type == "protection") {
|
||||
valueSC += Number(equip.system.prixsc) * Number(equip.system.quantite ?? 1)
|
||||
valueSC += (Number(equip.system.prixca) * Number(equip.system.quantite ?? 1)) * 20
|
||||
valueSC += (Number(equip.system.prixpo) * Number(equip.system.quantite ?? 1)) * 400
|
||||
}
|
||||
}
|
||||
return HawkmoonUtility.computeMonnaieDetails(valueSC)
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
getCompetence(compId) {
|
||||
return this.items.get(compId)
|
||||
@@ -410,14 +532,32 @@ export class HawkmoonActor extends Actor {
|
||||
/* -------------------------------------------- */
|
||||
async setPredilectionUsed(compId, predIdx) {
|
||||
let comp = this.items.get(compId)
|
||||
let pred = duplicate(comp.system.predilections)
|
||||
let pred = foundry.utils.duplicate(comp.system.predilections)
|
||||
pred[predIdx].used = true
|
||||
await this.updateEmbeddedDocuments('Item', [{ _id: compId, 'system.predilections': pred }])
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
getInitiativeScore() {
|
||||
return this.lastInit || -1
|
||||
let init = this.getFlag("world", "last-initiative")
|
||||
return init || -1
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
getBestAttackValue() {
|
||||
let attackList = this.items.filter(item => (item.type == "arme" || item.type == "talent") && item.system.equipped)
|
||||
let maxOff = 0
|
||||
let bestArme
|
||||
for (let arme of attackList) {
|
||||
if (arme.type == "arme") {
|
||||
arme = this.prepareArme(arme)
|
||||
}
|
||||
if (arme.system.totalOffensif > maxOff) {
|
||||
maxOff = arme.system.totalOffensif
|
||||
bestArme = foundry.utils.duplicate(arme)
|
||||
}
|
||||
}
|
||||
return bestArme
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
@@ -426,12 +566,12 @@ export class HawkmoonActor extends Actor {
|
||||
let maxDef = 0
|
||||
let bestArme
|
||||
for (let arme of defenseList) {
|
||||
if (arme.type == "arme" ) {
|
||||
if (arme.type == "arme") {
|
||||
arme = this.prepareArme(arme)
|
||||
}
|
||||
if (arme.system.totalDefensif > maxDef) {
|
||||
maxDef = arme.system.totalDefensif
|
||||
bestArme = duplicate(arme)
|
||||
bestArme = foundry.utils.duplicate(arme)
|
||||
}
|
||||
}
|
||||
return bestArme
|
||||
@@ -446,7 +586,7 @@ export class HawkmoonActor extends Actor {
|
||||
for (let auto of talent.system.automations) {
|
||||
if (auto.eventtype === "prepare-roll") {
|
||||
if (auto.competence.toLowerCase() == competence.name.toLowerCase()) {
|
||||
talent = duplicate(talent)
|
||||
talent = foundry.utils.duplicate(talent)
|
||||
talent.system.bonus = auto.bonus
|
||||
talent.system.baCost = auto.baCost
|
||||
talents.push(talent)
|
||||
@@ -458,12 +598,18 @@ export class HawkmoonActor extends Actor {
|
||||
return talents
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
buildListeAdversites() {
|
||||
return []
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
getCommonRollData(attrKey = undefined, compId = undefined, compName = undefined) {
|
||||
let rollData = HawkmoonUtility.getBasicRollData()
|
||||
rollData.alias = this.name
|
||||
rollData.actorImg = this.img
|
||||
rollData.actorId = this.id
|
||||
rollData.tokenId = this.token?.id
|
||||
rollData.img = this.img
|
||||
rollData.attributs = HawkmoonUtility.getAttributs()
|
||||
rollData.maitriseId = "none"
|
||||
@@ -471,22 +617,34 @@ export class HawkmoonActor extends Actor {
|
||||
rollData.nbBA = this.system.bonneaventure.actuelle
|
||||
rollData.nbAdversites = this.getTotalAdversite()
|
||||
rollData.talents = []
|
||||
rollData.attrKey2 = "none"
|
||||
rollData.coupDevastateur = this.items.find(it => it.type == "talent" && it.name.toLowerCase() == "coup dévastateur" && !it.system.used)
|
||||
rollData.hasAmbidextre = this.items.find(it => it.type == "talent" && it.name.toLowerCase() == "ambidextre")
|
||||
rollData.hasFeinte = this.system.bonneaventure.actuelle > 0 && this.items.find(it => it.type == "talent" && it.name.toLowerCase() == "feinte")
|
||||
rollData.isMonte = this.system.combat.monte
|
||||
rollData.config = game.system.hawkmoon.config
|
||||
|
||||
if (attrKey) {
|
||||
rollData.attrKey = attrKey
|
||||
if (attrKey != "tochoose") {
|
||||
rollData.actionImg = "systems/fvtt-hawkmoon-cyd/assets/icons/" + this.system.attributs[attrKey].labelnorm + ".webp"
|
||||
rollData.attr = duplicate(this.system.attributs[attrKey])
|
||||
rollData.attr = foundry.utils.duplicate(this.system.attributs[attrKey])
|
||||
}
|
||||
}
|
||||
if (compId) {
|
||||
rollData.competence = duplicate(this.items.get(compId) || {})
|
||||
rollData.maitrises = rollData.competence.system.predilections.filter(p => p.maitrise)
|
||||
rollData.competence = foundry.utils.duplicate(this.items.get(compId) || {})
|
||||
let maitrises = [{ key: "none", label: "Aucune" }]
|
||||
rollData.competence.system.predilections.forEach(function (item) {
|
||||
if (item.maitrise) {
|
||||
maitrises.push({ key: item.id, label: item.name });
|
||||
}
|
||||
})
|
||||
rollData.maitrises = maitrises // rollData.competence.system.predilections.filter(p => p.maitrise)
|
||||
rollData.actionImg = rollData.competence?.img
|
||||
rollData.talents = this.searchRelevantTalents(rollData.competence)
|
||||
}
|
||||
if (compName) {
|
||||
rollData.competence = duplicate(this.items.find(item => item.name.toLowerCase() == compName.toLowerCase()) || {})
|
||||
rollData.competence = foundry.utils.duplicate(this.items.find(item => item.name.toLowerCase() == compName.toLowerCase()) || {})
|
||||
rollData.actionImg = rollData.competence?.img
|
||||
}
|
||||
return rollData
|
||||
@@ -494,11 +652,10 @@ export class HawkmoonActor extends Actor {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async rollAttribut(attrKey, isInit = false) {
|
||||
let rollData = this.getCommonRollData(attrKey)
|
||||
rollData.multiplier = (isInit)? 1 : 2
|
||||
let rollData = this.getCommonRollData(attrKey)
|
||||
rollData.multiplier = (isInit) ? 1 : 2
|
||||
rollData.isInit = isInit
|
||||
let rollDialog = await HawkmoonRollDialog.create(this, rollData)
|
||||
rollDialog.render(true)
|
||||
await HawkmoonRollDialog.create(this, rollData)
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
@@ -506,49 +663,137 @@ export class HawkmoonActor extends Actor {
|
||||
let rollData = this.getCommonRollData(attrKey, compId)
|
||||
rollData.multiplier = 1 // Attr multiplier, always 1 in competence mode
|
||||
console.log("RollDatra", rollData)
|
||||
let rollDialog = await HawkmoonRollDialog.create(this, rollData)
|
||||
rollDialog.render(true)
|
||||
await HawkmoonRollDialog.create(this, rollData)
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async rollArmeOffensif(armeId) {
|
||||
let arme = this.items.get(armeId)
|
||||
if (!arme.system.equipped) {
|
||||
ui.notifications.warn("Cette arme doit être équipée pour pouvoir attaquer !")
|
||||
return
|
||||
}
|
||||
if (arme.type == "arme") {
|
||||
arme = this.prepareArme(arme)
|
||||
}
|
||||
if (!arme.system.competence) {
|
||||
ui.notifications.warn("Aucune compétence trouvée pour cette arme !")
|
||||
return
|
||||
}
|
||||
let rollData = this.getCommonRollData(arme.system.attrKey, arme.system.competence._id)
|
||||
rollData.arme = arme
|
||||
rollData.isCombat = true
|
||||
rollData.isTir = arme.system.isDistance || false
|
||||
HawkmoonUtility.updateWithTarget(rollData)
|
||||
console.log("ARME!", rollData)
|
||||
let rollDialog = await HawkmoonRollDialog.create(this, rollData)
|
||||
rollDialog.render(true)
|
||||
await HawkmoonRollDialog.create(this, rollData)
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
async rollAssommer() {
|
||||
let rollData = this.getCommonRollData("pui", undefined, "Filouterie")
|
||||
rollData.assomer = true
|
||||
rollData.conditionsCommunes = true
|
||||
HawkmoonUtility.updateWithTarget(rollData)
|
||||
await HawkmoonRollDialog.create(this, rollData)
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
async rollCoupBas() {
|
||||
let rollData = this.getCommonRollData("pui", undefined, "Mêlée")
|
||||
rollData.coupBas = true
|
||||
rollData.conditionsCommunes = true
|
||||
HawkmoonUtility.updateWithTarget(rollData)
|
||||
await HawkmoonRollDialog.create(this, rollData)
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
async rollImmobiliser() {
|
||||
let rollData = this.getCommonRollData("pui", undefined, "Mêlée")
|
||||
rollData.immobiliser = true
|
||||
rollData.conditionsCommunes = true
|
||||
rollData.cibleconsciente = true
|
||||
HawkmoonUtility.updateWithTarget(rollData)
|
||||
await HawkmoonRollDialog.create(this, rollData)
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
async rollRepousser() {
|
||||
let rollData = this.getCommonRollData("pui", undefined, "Mêlée")
|
||||
rollData.repousser = true
|
||||
rollData.conditionsCommunes = true
|
||||
rollData.cibleconsciente = true
|
||||
HawkmoonUtility.updateWithTarget(rollData)
|
||||
await HawkmoonRollDialog.create(this, rollData)
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
async rollDesengager() {
|
||||
let rollData = this.getCommonRollData("adr", undefined, "Mouvements")
|
||||
rollData.desengager = true
|
||||
rollData.conditionsCommunes = true
|
||||
HawkmoonUtility.updateWithTarget(rollData)
|
||||
await HawkmoonRollDialog.create(this, rollData)
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async rollArmeDegats(armeId, targetVigueur = undefined) {
|
||||
async rollArmeDegats(armeId, targetVigueur = undefined, rollDataInput = undefined) {
|
||||
let arme = this.items.get(armeId)
|
||||
if (!arme.system.equipped) {
|
||||
ui.notifications.warn("Cette arme doit être équipée pour pouvoir infliger des dégâts !")
|
||||
return
|
||||
}
|
||||
if (arme.type == "arme") {
|
||||
arme = this.prepareArme(arme)
|
||||
}
|
||||
console.log("DEGATS", arme)
|
||||
let roll = new Roll( "1d10+"+arme.system.totalDegats).roll({ async: false })
|
||||
console.log("DEGATS", arme, targetVigueur, rollDataInput)
|
||||
let roll
|
||||
let bonus = 0
|
||||
let bonus2 = 0
|
||||
|
||||
if (rollDataInput?.applyCoupDevastateur) {
|
||||
bonus2 = Math.floor(this.system.attributs.pui.value / 2)
|
||||
let talent = this.items.find(item => item.type == "talent" && item.name.toLowerCase() == "coup dévastateur")
|
||||
this.updateEmbeddedDocuments('Item', [{ _id: talent.id, 'system.used': true }])
|
||||
}
|
||||
|
||||
if (rollDataInput?.isHeroique) {
|
||||
if (rollDataInput?.attaqueCharge) {
|
||||
bonus = 5
|
||||
}
|
||||
if (rollDataInput?.chargeCavalerie) {
|
||||
bonus = 6
|
||||
}
|
||||
roll = await new Roll("2d10rr10+" + arme.system.totalDegats + "+" + bonus + "+" + bonus2).roll()
|
||||
} else {
|
||||
if (rollDataInput?.attaqueCharge) {
|
||||
bonus = 3
|
||||
}
|
||||
if (rollDataInput?.chargeCavalerie) {
|
||||
bonus = 4
|
||||
}
|
||||
roll = await new Roll("1d10+" + arme.system.totalDegats + "+" + bonus + "+" + bonus2).roll()
|
||||
}
|
||||
await HawkmoonUtility.showDiceSoNice(roll, game.settings.get("core", "rollMode"));
|
||||
let nbEtatPerdus = 0
|
||||
let nbEtatPerdus = 0
|
||||
if (targetVigueur) {
|
||||
nbEtatPerdus = Math.floor(roll.total / targetVigueur)
|
||||
}
|
||||
//console.log(roll)
|
||||
let rollData = {
|
||||
arme: arme,
|
||||
finalResult: roll.total,
|
||||
formula: roll.formula,
|
||||
alias: this.name,
|
||||
actorImg: this.img,
|
||||
actorId: this.id,
|
||||
defenderTokenId: rollDataInput?.defenderTokenId,
|
||||
actionImg: arme.img,
|
||||
targetVigueur: targetVigueur,
|
||||
nbEtatPerdus: nbEtatPerdus
|
||||
}
|
||||
HawkmoonUtility.createChatWithRollMode(rollData.alias, {
|
||||
content: await renderTemplate(`systems/fvtt-hawkmoon-cyd/templates/chat-degats-result.html`, rollData)
|
||||
content: await foundry.applications.handlebars.renderTemplate(`systems/fvtt-hawkmoon-cyd/templates/chat-degats-result.hbs`, rollData)
|
||||
})
|
||||
|
||||
if (rollDataInput?.defenderTokenId && nbEtatPerdus) {
|
||||
HawkmoonUtility.applyCombativite(rollDataInput, nbEtatPerdus)
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,10 +14,10 @@ export class HawkmoonAutomation {
|
||||
this.__objectTypes = { }
|
||||
|
||||
Object.entries(game.data.model.Actor).forEach(kv => {
|
||||
this.__objectTypes[kv[0]] = duplicate(kv[1])
|
||||
this.__objectTypes[kv[0]] = foundry.utils.duplicate(kv[1])
|
||||
})
|
||||
Object.entries(game.data.model.Item).forEach(kv => {
|
||||
this.__objectTypes[kv[0]] = duplicate(kv[1])
|
||||
this.__objectTypes[kv[0]] = foundry.utils.duplicate(kv[1])
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
@@ -6,11 +6,11 @@ export class HawkmoonCombat extends Combat {
|
||||
/* -------------------------------------------- */
|
||||
async rollInitiative(ids, formula = undefined, messageOptions = {} ) {
|
||||
ids = typeof ids === "string" ? [ids] : ids;
|
||||
for (let cId = 0; cId < ids.length; cId++) {
|
||||
const c = this.combatants.get(ids[cId]);
|
||||
let id = c._id || c.id;
|
||||
for (let cId of ids) {
|
||||
const c = this.combatants.get(cId);
|
||||
console.log("Init for combattant", c, ids)
|
||||
let id = c._id || c.id
|
||||
let initValue = c.actor ? c.actor.getInitiativeScore() : 0
|
||||
//console.log("Init bonus", initBonus, roll.total)
|
||||
await this.updateEmbeddedDocuments("Combatant", [ { _id: id, initiative: initValue } ]);
|
||||
}
|
||||
|
||||
@@ -21,5 +21,4 @@ export class HawkmoonCombat extends Combat {
|
||||
_onUpdate(changed, options, userId) {
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/* -------------------------------------------- */
|
||||
|
||||
import { HawkmoonUtility } from "./hawkmoon-utility.js";
|
||||
import { HawkmoonRollDialog } from "./hawkmoon-roll-dialog.js";
|
||||
import { HawkmoonRollDialog } from "./applications/hawkmoon-roll-dialog.mjs";
|
||||
|
||||
/* -------------------------------------------- */
|
||||
export class HawkmoonCommands {
|
||||
@@ -106,18 +106,17 @@ export class HawkmoonCommands {
|
||||
static _chatAnswer(msg, content) {
|
||||
msg.whisper = [game.user.id];
|
||||
msg.content = content;
|
||||
ChatMessage.create(msg);
|
||||
ChatMessage.create(msg);
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async poolRoll( msg) {
|
||||
let rollData = HawkmoonUtility.getBasicRollData()
|
||||
rollData.alias = "Dice Pool Roll",
|
||||
rollData.alias = "Dice Pool Roll",
|
||||
rollData.mode = "generic"
|
||||
rollData.title = `Dice Pool Roll`;
|
||||
|
||||
let rollDialog = await HawkmoonRollDialog.create( this, rollData);
|
||||
rollDialog.render( true );
|
||||
|
||||
await HawkmoonRollDialog.create( this, rollData);
|
||||
}
|
||||
|
||||
}
|
||||
143
modules/hawkmoon-config.js
Normal file
143
modules/hawkmoon-config.js
Normal file
@@ -0,0 +1,143 @@
|
||||
export const HAWKMOON_CONFIG = {
|
||||
|
||||
optionsDifficulte: [
|
||||
{ key: "0", label: "Aucune/Inconnue" },
|
||||
{ key: "5", label: "Facile (5)" },
|
||||
{ key: "6", label: "(6)" },
|
||||
{ key: "7", label: "(7)" },
|
||||
{ key: "8", label: "(8)" },
|
||||
{ key: "9", label: "(9)" },
|
||||
{ key: "10", label: "Moyenne (10)" },
|
||||
{ key: "11", label: "(11)" },
|
||||
{ key: "12", label: "(12)" },
|
||||
{ key: "13", label: "(13)" },
|
||||
{ key: "14", label: "(14)" },
|
||||
{ key: "15", label: "Ardue (15)" },
|
||||
{ key: "16", label: "(16)" },
|
||||
{ key: "17", label: "(17)" },
|
||||
{ key: "18", label: "(18)" },
|
||||
{ key: "19", label: "(19)" },
|
||||
{ key: "20", label: "Hasardeuse (20)" },
|
||||
{ key: "21", label: "(21)" },
|
||||
{ key: "22", label: "(22)" },
|
||||
{ key: "23", label: "(23)" },
|
||||
{ key: "24", label: "(24)" },
|
||||
{ key: "25", label: "Insensée (25)" },
|
||||
{ key: "26", label: "(26)" },
|
||||
{ key: "27", label: "(27)" },
|
||||
{ key: "28", label: "(28)" },
|
||||
{ key: "29", label: "(29)" },
|
||||
{ key: "30", label: "Pure Folie (30)" }
|
||||
],
|
||||
optionsDistanceTir: [
|
||||
{ key: "porteecourte", label: "Courte ({protectionDefenseur}+5)" },
|
||||
{ key: "porteemoyenne", label: "Moyenne ({protectionDefenseur}+9)" },
|
||||
{ key: "porteelongue", label: "Longue ({protectionDefenseur}+14)" }
|
||||
],
|
||||
optionsBonusMalus: [
|
||||
{ key: "-10", label: "-10" },
|
||||
{ key: "-9", label: "-9" },
|
||||
{ key: "-8", label: "-8" },
|
||||
{ key: "-7", label: "-7" },
|
||||
{ key: "-6", label: "-6" },
|
||||
{ key: "-5", label: "-5" },
|
||||
{ key: "-4", label: "-4" },
|
||||
{ key: "-3", label: "-3" },
|
||||
{ key: "-2", label: "-2" },
|
||||
{ key: "-1", label: "-1" },
|
||||
{ key: "0", label: "0" },
|
||||
{ key: "1", label: "+1" },
|
||||
{ key: "2", label: "+2" },
|
||||
{ key: "3", label: "+3" },
|
||||
{ key: "4", label: "+4" },
|
||||
{ key: "5", label: "+5" },
|
||||
{ key: "6", label: "+6" },
|
||||
{ key: "7", label: "+7" },
|
||||
{ key: "8", label: "+8" },
|
||||
{ key: "9", label: "+9" },
|
||||
{ key: "10", label: "+10" }
|
||||
],
|
||||
optionsTailleCible: [
|
||||
{ key: "normal", label: "Normal (SD+0)" },
|
||||
{ key: "main", label: "Main (SD+10)" },
|
||||
{ key: "enfant", label: "Enfant (SD+3)" },
|
||||
{ key: "maison", label: "Maison (SD-10)" }
|
||||
],
|
||||
optionsCouvert: [
|
||||
{ key: "aucun", label: "Aucun" },
|
||||
{ key: "leger", label: "Léger (SD+5)" },
|
||||
{ key: "complet", label: "Quasi complet (SD+10)" }
|
||||
],
|
||||
optionsTireurDeplacement: [
|
||||
{ key: "immobile", label: "Immobile (SD+0)" },
|
||||
{ key: "lent", label: "Lent (SD+3)" },
|
||||
{ key: "rapide", label: "Rapide (SD+5)" }
|
||||
],
|
||||
optionsSoutiens: [
|
||||
{ key: "0", label: "Aucun" },
|
||||
{ key: "1", label: "Un soutien (+3)" },
|
||||
{ key: "2", label: "Deux soutiens (+4)" },
|
||||
{ key: "3", label: "Trois soutiens (+5)" }
|
||||
],
|
||||
optionsStatutResistant: [
|
||||
{ key: "commun", label: "Commun" },
|
||||
{ key: "clandestin", label: "Clandestin" },
|
||||
{ key: "insurge", label: "Insurgé" }
|
||||
],
|
||||
optionsTypeArme: [
|
||||
{key: "contact", label: "Arme de contact"},
|
||||
{key: "contactjet", label: "Arme de contact et de Jet"},
|
||||
{key: "jet", label: "Arme de Jet"},
|
||||
{key: "tir", label: "Arme de Tir"}
|
||||
],
|
||||
optionsArtefactBranche: [
|
||||
{key: "alchimie", label: "Alchimie"},
|
||||
{key: "biologie", label: "Biologie"},
|
||||
{key: "electricite", label: "Electricité"},
|
||||
{key: "mecanique", label: "Mécanique"},
|
||||
{key: "scienceesprit", label: "Science de l'Esprit"}
|
||||
],
|
||||
optionsArtefactBranche2: [
|
||||
{key: "none", label: "Aucune"},
|
||||
{key: "alchimie", label: "Alchimie"},
|
||||
{key: "biologie", label: "Biologie"},
|
||||
{key: "electricite", label: "Electricité"},
|
||||
{key: "mecanique", label: "Mécanique"},
|
||||
{key: "scienceesprit", label: "Science de l'Esprit"}
|
||||
],
|
||||
optionsTypeContact: [
|
||||
{key: "contact", label: "Contact"},
|
||||
{key: "allie", label: "Allié"}
|
||||
],
|
||||
optionsTypeMutation: [
|
||||
{key: "tares_communes", label: "Tares et Malformations communes"},
|
||||
{key: "evolutions_communes", label: "Evolutions communes"},
|
||||
{key: "tares_rares", label: "Tares et Malformations rares"},
|
||||
{key: "evolutions_rares", label: "Evolutions rares"},
|
||||
{key: "tares_majeures", label: "Tares et Maformations majeures"},
|
||||
{key: "evolutions_majeures", label: "Evolutions majeures"},
|
||||
{key: "tares_except", label: "Tares et Malformations exceptionnelles"},
|
||||
{key: "evolutions_except", label: "Evolutions exceptionnelles"}
|
||||
],
|
||||
optionsTypeTalent: [
|
||||
{key: "personnage", label: "Personnage"},
|
||||
{key: "cellule", label: "Cellule"},
|
||||
{key: "traitespece", label: "Trait d'espèce"}
|
||||
],
|
||||
optionsUseTalent: [
|
||||
{key: "permanent", label: "Permanent"},
|
||||
{key: "sceance", label: "Une fois par scéance"},
|
||||
{key: "scenario", label: "Une fois par scénario"},
|
||||
{key: "jour", label: "Une fois par jour"},
|
||||
{key: "unique", label: "Unique"}
|
||||
],
|
||||
optionsAutomationEvent: [
|
||||
{key: "on-drop", label: "Drop sur l'acteur"},
|
||||
{key: "prepare-roll", label: "Préparation d'un jet"},
|
||||
{key: "bonus-permanent", label: "Bonus permanent"}
|
||||
],
|
||||
optionsBonusPermanent: [
|
||||
{key: "vigueur", label: "Vigueur"},
|
||||
{key: "bonus-defensif", label: "Bonus au Seuil de Défense"}
|
||||
]
|
||||
}
|
||||
71
modules/hawkmoon-hud.js
Normal file
71
modules/hawkmoon-hud.js
Normal file
@@ -0,0 +1,71 @@
|
||||
/* -------------------------------------------- */
|
||||
|
||||
/* -------------------------------------------- */
|
||||
export class HawkmoonTokenHud {
|
||||
|
||||
static init() {
|
||||
// Integration du TokenHUD
|
||||
Hooks.on('renderTokenHUD', (app, html, data) => { HawkmoonTokenHud.addTokenHudExtensions(app, html, data._id) });
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static async removeExtensionHud(app, html, tokenId) {
|
||||
html.find('.control-icon.hawkmoon-adversite').remove()
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static async addExtensionHud(app, html, tokenId) {
|
||||
|
||||
let token = canvas.tokens.get(tokenId)
|
||||
let actor = token.actor
|
||||
app.hasExtension = true
|
||||
|
||||
const hudData = { actor: actor }
|
||||
|
||||
const controlIconActions = $(html).find('.control-icon[data-action=combat]');
|
||||
// initiative
|
||||
await HawkmoonTokenHud._configureSubMenu(controlIconActions, 'systems/fvtt-hawkmoon-cyd/templates/hud-adversites.hbs', hudData,
|
||||
(event) => {
|
||||
let adversite = event.currentTarget.attributes['data-action-index'].value
|
||||
let value = Number(event.currentTarget.attributes['data-action-value'].value)
|
||||
hudData.actor.incDecAdversite( adversite, value)
|
||||
} )
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static async addTokenHudExtensions(app, html, tokenId) {
|
||||
const controlIconCombat = $(html).find('.control-icon[data-action=combat]')
|
||||
if (controlIconCombat.length>0 ) {
|
||||
HawkmoonTokenHud.addExtensionHud(app, html, tokenId);
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static async _configureSubMenu(insertionPoint, template, hudData, onMenuItem) {
|
||||
const hud = $(await foundry.applications.handlebars.renderTemplate(template, hudData))
|
||||
const list = hud.find('div.hawkmoon-hud-list')
|
||||
|
||||
HawkmoonTokenHud._toggleHudListActive(hud, list);
|
||||
|
||||
hud.find('img.hawkmoon-hud-togglebutton').click(event => HawkmoonTokenHud._toggleHudListActive(hud, list));
|
||||
list.find('.hawkmoon-hud-adversite').click(onMenuItem);
|
||||
|
||||
insertionPoint.after(hud);
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static _showControlWhen(control, condition) {
|
||||
if (condition) {
|
||||
control.show()
|
||||
}
|
||||
else {
|
||||
control.hide()
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static _toggleHudListActive(hud, list) {
|
||||
hud.toggleClass('active')
|
||||
HawkmoonTokenHud._showControlWhen(list, hud.hasClass('active'))
|
||||
}
|
||||
}
|
||||
@@ -13,6 +13,7 @@ export const defaultItemImg = {
|
||||
artefact: "systems/fvtt-hawkmoon-cyd/assets/icons/artefact.webp",
|
||||
contact: "systems/fvtt-hawkmoon-cyd/assets/icons/contacts.webp",
|
||||
ressource: "systems/fvtt-hawkmoon-cyd/assets/icons/ressources.webp",
|
||||
mutation: "systems/fvtt-hawkmoon-cyd/assets/icons/mutation.webp",
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -9,14 +9,19 @@
|
||||
/* -------------------------------------------- */
|
||||
// Import Modules
|
||||
import { HawkmoonActor } from "./hawkmoon-actor.js";
|
||||
import { HawkmoonItemSheet } from "./hawkmoon-item-sheet.js";
|
||||
import { HawkmoonActorSheet } from "./hawkmoon-actor-sheet.js";
|
||||
import { HawkmoonCreatureSheet } from "./hawkmoon-creature-sheet.js";
|
||||
import { HawkmoonCelluleSheet } from "./hawkmoon-cellule-sheet.js";
|
||||
|
||||
import { HawkmoonUtility } from "./hawkmoon-utility.js";
|
||||
import { HawkmoonCombat } from "./hawkmoon-combat.js";
|
||||
import { HawkmoonItem } from "./hawkmoon-item.js";
|
||||
import { HawkmoonAutomation } from "./hawkmoon-automation.js";
|
||||
import { HawkmoonTokenHud } from "./hawkmoon-hud.js";
|
||||
import { HAWKMOON_CONFIG } from "./hawkmoon-config.js";
|
||||
|
||||
// Import DataModels
|
||||
import * as models from "./models/index.mjs";
|
||||
|
||||
// Import AppV2 Item Sheets
|
||||
import * as sheets from "./applications/sheets/_module.mjs";
|
||||
|
||||
/* -------------------------------------------- */
|
||||
/* Foundry VTT Initialization */
|
||||
@@ -31,7 +36,7 @@ Hooks.once("init", async function () {
|
||||
HawkmoonUtility.preloadHandlebarsTemplates()
|
||||
|
||||
/* -------------------------------------------- */
|
||||
// Set an initiative formula for the system
|
||||
// Set an initiative formula for the system
|
||||
CONFIG.Combat.initiative = {
|
||||
formula: "1d10",
|
||||
decimals: 1
|
||||
@@ -46,24 +51,63 @@ Hooks.once("init", async function () {
|
||||
// Define custom Entity classes
|
||||
CONFIG.Combat.documentClass = HawkmoonCombat
|
||||
CONFIG.Actor.documentClass = HawkmoonActor
|
||||
CONFIG.Actor.dataModels = {
|
||||
personnage: models.PersonnageDataModel,
|
||||
cellule: models.CelluleDataModel,
|
||||
creature: models.CreatureDataModel
|
||||
}
|
||||
|
||||
CONFIG.Item.documentClass = HawkmoonItem
|
||||
CONFIG.Item.dataModels = {
|
||||
talent: models.TalentDataModel,
|
||||
historique: models.HistoriqueDataModel,
|
||||
profil: models.ProfilDataModel,
|
||||
competence: models.CompetenceDataModel,
|
||||
arme: models.ArmeDataModel,
|
||||
protection: models.ProtectionDataModel,
|
||||
monnaie: models.MonnaieDataModel,
|
||||
equipement: models.EquipementDataModel,
|
||||
artefact: models.ArtefactDataModel,
|
||||
ressource: models.RessourceDataModel,
|
||||
contact: models.ContactDataModel,
|
||||
mutation: models.MutationDataModel
|
||||
}
|
||||
|
||||
CONFIG.HAWKMOON = HAWKMOON_CONFIG
|
||||
|
||||
game.system.hawkmoon = {
|
||||
HawkmoonUtility,
|
||||
HawkmoonAutomation
|
||||
HawkmoonAutomation,
|
||||
config: HAWKMOON_CONFIG,
|
||||
models,
|
||||
sheets
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
// Register sheet application classes
|
||||
Actors.unregisterSheet("core", ActorSheet);
|
||||
Actors.registerSheet("fvtt-hawkmoon-cyd", HawkmoonActorSheet, { types: ["personnage"], makeDefault: true })
|
||||
Actors.registerSheet("fvtt-hawkmoon-cyd", HawkmoonCreatureSheet, { types: ["creature"], makeDefault: true })
|
||||
Actors.registerSheet("fvtt-hawkmoon-cyd", HawkmoonCelluleSheet, { types: ["cellule"], makeDefault: true });
|
||||
foundry.documents.collections.Actors.unregisterSheet("core", foundry.appv1.sheets.ActorSheet);
|
||||
foundry.documents.collections.Actors.registerSheet("fvtt-hawkmoon-cyd", sheets.HawkmoonPersonnageSheet, { types: ["personnage"], makeDefault: true })
|
||||
foundry.documents.collections.Actors.registerSheet("fvtt-hawkmoon-cyd", sheets.HawkmoonCreatureSheet, { types: ["creature"], makeDefault: true })
|
||||
foundry.documents.collections.Actors.registerSheet("fvtt-hawkmoon-cyd", sheets.HawkmoonCelluleSheet, { types: ["cellule"], makeDefault: true });
|
||||
|
||||
Items.unregisterSheet("core", ItemSheet);
|
||||
Items.registerSheet("fvtt-hawkmoon-cyd", HawkmoonItemSheet, { makeDefault: true })
|
||||
// Register AppV2 Item Sheets
|
||||
foundry.documents.collections.Items.unregisterSheet("core", foundry.appv1.sheets.ItemSheet);
|
||||
foundry.documents.collections.Items.registerSheet("fvtt-hawkmoon-cyd", sheets.HawkmoonTalentSheet, { types: ["talent"], makeDefault: true })
|
||||
foundry.documents.collections.Items.registerSheet("fvtt-hawkmoon-cyd", sheets.HawkmoonCompetenceSheet, { types: ["competence"], makeDefault: true })
|
||||
foundry.documents.collections.Items.registerSheet("fvtt-hawkmoon-cyd", sheets.HawkmoonArmeSheet, { types: ["arme"], makeDefault: true })
|
||||
foundry.documents.collections.Items.registerSheet("fvtt-hawkmoon-cyd", sheets.HawkmoonProtectionSheet, { types: ["protection"], makeDefault: true })
|
||||
foundry.documents.collections.Items.registerSheet("fvtt-hawkmoon-cyd", sheets.HawkmoonHistoriqueSheet, { types: ["historique"], makeDefault: true })
|
||||
foundry.documents.collections.Items.registerSheet("fvtt-hawkmoon-cyd", sheets.HawkmoonProfilSheet, { types: ["profil"], makeDefault: true })
|
||||
foundry.documents.collections.Items.registerSheet("fvtt-hawkmoon-cyd", sheets.HawkmoonEquipementSheet, { types: ["equipement"], makeDefault: true })
|
||||
foundry.documents.collections.Items.registerSheet("fvtt-hawkmoon-cyd", sheets.HawkmoonMonnaieSheet, { types: ["monnaie"], makeDefault: true })
|
||||
foundry.documents.collections.Items.registerSheet("fvtt-hawkmoon-cyd", sheets.HawkmoonArtefactSheet, { types: ["artefact"], makeDefault: true })
|
||||
foundry.documents.collections.Items.registerSheet("fvtt-hawkmoon-cyd", sheets.HawkmoonRessourceSheet, { types: ["ressource"], makeDefault: true })
|
||||
foundry.documents.collections.Items.registerSheet("fvtt-hawkmoon-cyd", sheets.HawkmoonContactSheet, { types: ["contact"], makeDefault: true })
|
||||
foundry.documents.collections.Items.registerSheet("fvtt-hawkmoon-cyd", sheets.HawkmoonMutationSheet, { types: ["mutation"], makeDefault: true })
|
||||
|
||||
HawkmoonUtility.init()
|
||||
HawkmoonAutomation.init()
|
||||
HawkmoonTokenHud.init()
|
||||
|
||||
});
|
||||
|
||||
@@ -72,36 +116,51 @@ function welcomeMessage() {
|
||||
ChatMessage.create({
|
||||
user: game.user.id,
|
||||
whisper: [game.user.id],
|
||||
content: `<div id="welcome-message-Hawkmoon"><span class="rdd-roll-part">
|
||||
<strong>Bienvenue dans Hawkmoon et le troisième Millénaire !</strong>
|
||||
<p>Les livres de Hawkmoon sont nécessaires pour jouer : https://www.titam-france.fr</p>
|
||||
<p>Hawkmoon est jeude rôle publié par Titam France/Sombres projets, tout les droits leur appartiennent.<p>
|
||||
` });
|
||||
content: `
|
||||
<div class="hawkmoon-chat-result">
|
||||
<div class="chat-result-header">
|
||||
<img class="actor-icon" src="systems/fvtt-hawkmoon-cyd/assets/logos/hawkmoon_logo.webp" alt="Hawkmoon" />
|
||||
<div class="header-info">
|
||||
<h4 class="actor-name">Bienvenue dans Hawkmoon !</h4>
|
||||
<div class="action-title">
|
||||
<i class="fas fa-book-open"></i>
|
||||
Le Troisième Millénaire
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="result-details">
|
||||
<div class="details-section">
|
||||
<h5 class="section-title"><i class="fas fa-info-circle"></i> Informations importantes</h5>
|
||||
<div class="description-content">
|
||||
<p><strong>Les livres de Hawkmoon sont nécessaires pour jouer.</strong></p>
|
||||
<p>Hawkmoon est un jeu de rôle publié par <strong>Titam France / Sombres projets</strong>, tous les droits leur appartiennent.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="details-section">
|
||||
<h5 class="section-title"><i class="fas fa-users"></i> Support & Communauté</h5>
|
||||
<div class="description-content">
|
||||
<p>Système développé par <strong>LeRatierBretonnien</strong></p>
|
||||
<p>Support disponible sur le <a href="https://discord.gg/pPSDNJk" target="_blank" style="color: #d4af37; text-decoration: underline;">Discord FR de Foundry VTT</a></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
`
|
||||
});
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
// Register world usage statistics
|
||||
function registerUsageCount(registerKey) {
|
||||
if (game.user.isGM) {
|
||||
game.settings.register(registerKey, "world-key", {
|
||||
name: "Unique world key",
|
||||
scope: "world",
|
||||
config: false,
|
||||
default: "",
|
||||
type: String
|
||||
});
|
||||
|
||||
let worldKey = game.settings.get(registerKey, "world-key")
|
||||
if (worldKey == undefined || worldKey == "") {
|
||||
worldKey = randomID(32)
|
||||
game.settings.set(registerKey, "world-key", worldKey)
|
||||
async function importDefaultScene() {
|
||||
let exists = game.scenes.find(j => j.name == "Accueil");
|
||||
if (!exists) {
|
||||
const scenes = await HawkmoonUtility.loadCompendium("fvtt-hawkmoon-cyd.scenes")
|
||||
let newDocuments = scenes.filter(i => i.name == "Accueil");
|
||||
if (newDocuments) {
|
||||
await game.scenes.documentClass.create(newDocuments);
|
||||
game.scenes.find(i => i.name == "Accueil").activate();
|
||||
}
|
||||
// Simple API counter
|
||||
let regURL = `https://www.uberwald.me/fvtt_appcount/count.php?name="${registerKey}"&worldKey="${worldKey}"&version="${game.release.generation}.${game.release.build}"&system="${game.system.id}"&systemversion="${game.system.version}"`
|
||||
//$.ajaxSetup({
|
||||
//headers: { 'Access-Control-Allow-Origin': '*' }
|
||||
//})
|
||||
$.ajax(regURL)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -110,7 +169,8 @@ function registerUsageCount(registerKey) {
|
||||
/* -------------------------------------------- */
|
||||
Hooks.once("ready", function () {
|
||||
|
||||
HawkmoonUtility.ready();
|
||||
HawkmoonUtility.ready()
|
||||
|
||||
// User warning
|
||||
if (!game.user.isGM && game.user.character == undefined) {
|
||||
ui.notifications.info("Attention ! Aucun personnage n'est relié au joueur !");
|
||||
@@ -120,14 +180,16 @@ Hooks.once("ready", function () {
|
||||
});
|
||||
}
|
||||
|
||||
registerUsageCount('fvtt-hawkmoon-cyd')
|
||||
import("https://www.uberwald.me/fvtt_appcount/count-class-ready.js").then(moduleCounter => {
|
||||
console.log("ClassCounter loaded", moduleCounter)
|
||||
moduleCounter.ClassCounter.registerUsageCount()
|
||||
}).catch(err =>
|
||||
console.log("No stats available, giving up.")
|
||||
)
|
||||
|
||||
importDefaultScene()
|
||||
welcomeMessage()
|
||||
|
||||
// CSS patch for v9
|
||||
if (game.version) {
|
||||
let sidebar = document.getElementById("sidebar");
|
||||
sidebar.style.width = "min-content";
|
||||
}
|
||||
});
|
||||
|
||||
/* -------------------------------------------- */
|
||||
@@ -143,4 +205,3 @@ Hooks.on("chatMessage", (html, content, msg) => {
|
||||
}
|
||||
return true;
|
||||
});
|
||||
|
||||
|
||||
@@ -1,76 +0,0 @@
|
||||
import { HawkmoonUtility } from "./hawkmoon-utility.js";
|
||||
|
||||
export class HawkmoonRollDialog extends Dialog {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static async create(actor, rollData ) {
|
||||
|
||||
let options = { classes: ["HawkmoonDialog"], width: 340, height: 'fit-content', 'z-index': 99999 };
|
||||
let html = await renderTemplate('systems/fvtt-hawkmoon-cyd/templates/roll-dialog-generic.html', rollData);
|
||||
|
||||
return new HawkmoonRollDialog(actor, rollData, html, options );
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
constructor(actor, rollData, html, options, close = undefined) {
|
||||
let conf = {
|
||||
title: "Test de Capacité",
|
||||
content: html,
|
||||
buttons: {
|
||||
rolld10: {
|
||||
icon: '<i class="fas fa-check"></i>',
|
||||
label: "Lancer 1d10",
|
||||
callback: () => { this.roll("d10") }
|
||||
},
|
||||
rolld20: {
|
||||
icon: '<i class="fas fa-check"></i>',
|
||||
label: "Lancer 1d20",
|
||||
callback: () => { this.roll("d20") }
|
||||
},
|
||||
cancel: {
|
||||
icon: '<i class="fas fa-times"></i>',
|
||||
label: "Annuler",
|
||||
callback: () => { this.close() }
|
||||
} },
|
||||
close: close
|
||||
}
|
||||
|
||||
super(conf, options);
|
||||
|
||||
this.actor = actor
|
||||
this.rollData = rollData
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
roll ( dice) {
|
||||
this.rollData.mainDice = dice
|
||||
HawkmoonUtility.rollHawkmoon( this.rollData )
|
||||
}
|
||||
|
||||
|
||||
/* -------------------------------------------- */
|
||||
activateListeners(html) {
|
||||
super.activateListeners(html);
|
||||
|
||||
var dialog = this;
|
||||
function onLoad() {
|
||||
}
|
||||
$(function () { onLoad(); });
|
||||
|
||||
html.find('#modificateur').change(async (event) => {
|
||||
this.rollData.modificateur = Number(event.currentTarget.value)
|
||||
})
|
||||
html.find('#difficulte').change(async (event) => {
|
||||
this.rollData.difficulte = Number(event.currentTarget.value)
|
||||
})
|
||||
html.find('#attrKey').change(async (event) => {
|
||||
this.rollData.attrKey = String(event.currentTarget.value)
|
||||
})
|
||||
html.find('#select-maitrise').change(async (event) => {
|
||||
this.rollData.maitriseId = String(event.currentTarget.value)
|
||||
})
|
||||
html.find('#competence-talents').change((event) => {
|
||||
this.rollData.selectedTalents = $('#competence-talents').val()
|
||||
})
|
||||
}
|
||||
}
|
||||
@@ -2,6 +2,12 @@
|
||||
import { HawkmoonCombat } from "./hawkmoon-combat.js";
|
||||
import { HawkmoonCommands } from "./hawkmoon-commands.js";
|
||||
|
||||
/* -------------------------------------------- */
|
||||
const __distanceDifficulte = { "porteecourte": 5, "porteemoyenne": 9, "porteelongue": 14 }
|
||||
const __tireurDeplacement = { immobile: 0, lent: 3, rapide: 5 }
|
||||
const __cibleCouvert = { aucun: 0, leger: 5, complet: 10 }
|
||||
const __tailleCible = { normal: 0, main: 10, enfant: 3, maison: -10 }
|
||||
|
||||
/* -------------------------------------------- */
|
||||
export class HawkmoonUtility {
|
||||
|
||||
@@ -9,8 +15,7 @@ export class HawkmoonUtility {
|
||||
/* -------------------------------------------- */
|
||||
static async init() {
|
||||
Hooks.on('renderChatLog', (log, html, data) => HawkmoonUtility.chatListeners(html))
|
||||
Hooks.on("getChatLogEntryContext", (html, options) => HawkmoonUtility.chatRollMenu(html, options))
|
||||
|
||||
Hooks.on("getChatMessageContextOptions", (html, options) => HawkmoonUtility.chatRollMenu(html, options))
|
||||
Hooks.on("getCombatTrackerEntryContext", (html, options) => {
|
||||
HawkmoonUtility.pushInitiativeOptions(html, options);
|
||||
})
|
||||
@@ -54,13 +59,20 @@ export class HawkmoonUtility {
|
||||
"logo_pause_resistance": "Résistance",
|
||||
"logo_pause_hawkmoon_stone": "Hawkmoon (Pierre)",
|
||||
"logo_pause_hawkmoon_violet": "Hawkmoon (Violet)",
|
||||
"logo_pause_hawkmoon_beiget": "Hawkmoon (Beige)",
|
||||
"logo_pause_hawkmoon_beige": "Hawkmoon (Beige)",
|
||||
"logo_pause_hawkmoon_rouge": "Hawkmoon (Rouge)"
|
||||
},
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static sortArrayObjectsByName(myArray) {
|
||||
myArray.sort((a, b) => {
|
||||
return a.name.localeCompare(b.name);
|
||||
})
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static getModificateurOptions() {
|
||||
let opt = []
|
||||
@@ -92,15 +104,53 @@ export class HawkmoonUtility {
|
||||
return this.skills
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static updatePauseLogo(html) {
|
||||
let logoPause = "systems/fvtt-hawkmoon-cyd/assets/logos/" + game.settings.get("fvtt-hawkmoon-cyd", "hawkmoon-pause-logo") + ".webp"
|
||||
console.log("Hawkmoon | Updating pause logo to:", logoPause)
|
||||
|
||||
// Supprimer l'ancien style s'il existe
|
||||
let oldStyle = document.getElementById('hawkmoon-pause-logo-override')
|
||||
if (oldStyle) {
|
||||
oldStyle.remove()
|
||||
}
|
||||
|
||||
// Injecter une règle CSS pour override le logo
|
||||
let styleSheet = document.createElement('style')
|
||||
styleSheet.id = 'hawkmoon-pause-logo-override'
|
||||
styleSheet.textContent = `#pause>img { content: url(${logoPause}) !important; }`
|
||||
document.head.appendChild(styleSheet)
|
||||
|
||||
console.log("Hawkmoon | Logo CSS rule injected")
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static async ready() {
|
||||
const skills = await HawkmoonUtility.loadCompendium("fvtt-hawkmoon-cyd.skills")
|
||||
this.skills = skills.map(i => i.toObject())
|
||||
|
||||
|
||||
// Setup pause logo
|
||||
let logoPause = "systems/fvtt-hawkmoon-cyd/assets/logos/" + game.settings.get("fvtt-hawkmoon-cyd", "hawkmoon-pause-logo") + ".webp"
|
||||
let logoImg = document.querySelector('#pause').children[0]
|
||||
logoImg.setAttribute('style', `content: url(${logoPause})`)
|
||||
this.updatePauseLogo()
|
||||
|
||||
game.system.hawkmoon.config.listeNiveauSkill = this.createDirectOptionList(0, 10)
|
||||
game.system.hawkmoon.config.listeNiveauCreature = this.createDirectOptionList(0, 35)
|
||||
game.system.hawkmoon.config.listeNiveauContact = this.createDirectOptionList(1, 3)
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static createDirectOptionList(min, max) {
|
||||
let options = {};
|
||||
for (let i = min; i <= max; i++) {
|
||||
options[`${i}`] = `${i}`;
|
||||
}
|
||||
return options;
|
||||
}
|
||||
static createArrayOptionList(min, max) {
|
||||
let options = [];
|
||||
for (let i = min; i <= max; i++) {
|
||||
options.push({ key: `${i}`, label: `${i}` });
|
||||
}
|
||||
return options;
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
@@ -122,40 +172,48 @@ export class HawkmoonUtility {
|
||||
/* -------------------------------------------- */
|
||||
static async chatListeners(html) {
|
||||
|
||||
html.on("click", '.predilection-reroll', async event => {
|
||||
$(html).on("click", '.predilection-reroll', async event => {
|
||||
let predIdx = $(event.currentTarget).data("predilection-index")
|
||||
let messageId = HawkmoonUtility.findChatMessageId(event.currentTarget)
|
||||
let message = game.messages.get(messageId)
|
||||
let rollData = message.getFlag("world", "hawkmoon-roll")
|
||||
let actor = game.actors.get(rollData.actorId)
|
||||
let actor = HawkmoonUtility.getActorFromRollData(rollData)
|
||||
await actor.setPredilectionUsed(rollData.competence._id, predIdx)
|
||||
rollData.competence = duplicate(actor.getCompetence(rollData.competence._id))
|
||||
rollData.competence = foundry.utils.duplicate(actor.getCompetence(rollData.competence._id))
|
||||
HawkmoonUtility.rollHawkmoon(rollData)
|
||||
})
|
||||
|
||||
html.on("click", '.roll-chat-degat', async event => {
|
||||
$(html).on("click", '.roll-chat-degat', async event => {
|
||||
let messageId = HawkmoonUtility.findChatMessageId(event.currentTarget)
|
||||
let message = game.messages.get(messageId)
|
||||
let rollData = message.getFlag("world", "hawkmoon-roll")
|
||||
let actor = game.actors.get(rollData.actorId)
|
||||
actor.rollArmeDegats(rollData.arme._id, rollData.targetVigueur)
|
||||
let actor = HawkmoonUtility.getActorFromRollData(rollData)
|
||||
actor.rollArmeDegats(rollData.arme._id, rollData.targetVigueur, rollData)
|
||||
})
|
||||
$(html).on("click", '.roll-chat-degat-devastateur', async event => {
|
||||
let messageId = HawkmoonUtility.findChatMessageId(event.currentTarget)
|
||||
let message = game.messages.get(messageId)
|
||||
let rollData = message.getFlag("world", "hawkmoon-roll")
|
||||
let actor = HawkmoonUtility.getActorFromRollData(rollData)
|
||||
rollData.applyCoupDevastateur = true
|
||||
actor.rollArmeDegats(rollData.arme._id, rollData.targetVigueur, rollData)
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static async preloadHandlebarsTemplates() {
|
||||
|
||||
const templatePaths = [
|
||||
'systems/fvtt-hawkmoon-cyd/templates/editor-notes-gm.html',
|
||||
'systems/fvtt-hawkmoon-cyd/templates/partial-item-header.html',
|
||||
'systems/fvtt-hawkmoon-cyd/templates/partial-item-description.html',
|
||||
'systems/fvtt-hawkmoon-cyd/templates/partial-item-nav.html',
|
||||
'systems/fvtt-hawkmoon-cyd/templates/partial-list-niveau.html',
|
||||
'systems/fvtt-hawkmoon-cyd/templates/partial-item-prix.html',
|
||||
'systems/fvtt-hawkmoon-cyd/templates/partial-sante-etat.html',
|
||||
'systems/fvtt-hawkmoon-cyd/templates/partial-automation.html',
|
||||
'systems/fvtt-hawkmoon-cyd/templates/editor-notes-gm.hbs',
|
||||
'systems/fvtt-hawkmoon-cyd/templates/partial-item-header.hbs',
|
||||
'systems/fvtt-hawkmoon-cyd/templates/partial-item-description.hbs',
|
||||
'systems/fvtt-hawkmoon-cyd/templates/partial-item-nav.hbs',
|
||||
'systems/fvtt-hawkmoon-cyd/templates/partial-item-prix.hbs',
|
||||
'systems/fvtt-hawkmoon-cyd/templates/partial-automation.hbs',
|
||||
'systems/fvtt-hawkmoon-cyd/templates/hud-adversites.hbs',
|
||||
]
|
||||
return loadTemplates(templatePaths);
|
||||
return foundry.applications.handlebars.loadTemplates(templatePaths);
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
@@ -207,17 +265,27 @@ export class HawkmoonUtility {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static getTarget() {
|
||||
if (game.user.targets && game.user.targets.size == 1) {
|
||||
console.log("getTarget - targets size:", game.user.targets?.size)
|
||||
if (game.user.targets && game.user.targets.size >= 1) {
|
||||
for (let target of game.user.targets) {
|
||||
return target;
|
||||
console.log("getTarget - Returning target:", target.id)
|
||||
return target; // Prendre la première cible si plusieurs
|
||||
}
|
||||
}
|
||||
console.log("getTarget - No target found")
|
||||
return undefined;
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static getDefenseState(actorId) {
|
||||
return this.defenderStore[actorId];
|
||||
static getActorFromRollData(rollData) {
|
||||
let actor = game.actors.get(rollData.actorId)
|
||||
if (rollData.tokenId) {
|
||||
let token = canvas.tokens.placeables.find(t => t.id == rollData.tokenId)
|
||||
if (token) {
|
||||
actor = token.actor
|
||||
}
|
||||
}
|
||||
return actor
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
@@ -225,30 +293,19 @@ export class HawkmoonUtility {
|
||||
|
||||
let id = rollData.rollId;
|
||||
let oldRollData = this.rollDataStore[id] || {};
|
||||
let newRollData = mergeObject(oldRollData, rollData);
|
||||
let newRollData = foundry.utils.mergeObject(oldRollData, rollData);
|
||||
this.rollDataStore[id] = newRollData;
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
static saveRollData(rollData) {
|
||||
game.socket.emit("system.fvtt-hawkmoon-cyd", {
|
||||
name: "msg_update_roll", data: rollData
|
||||
}); // Notify all other clients of the roll
|
||||
this.updateRollData(rollData);
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static getRollData(id) {
|
||||
return this.rollDataStore[id];
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static onSocketMesssage(msg) {
|
||||
//console.log("SOCKET MESSAGE", msg.name, game.user.character.id, msg.data.defenderId);
|
||||
if (msg.name == "msg_update_defense_state") {
|
||||
this.updateDefenseState(msg.data.defenderId, msg.data.rollId);
|
||||
}
|
||||
if (msg.name == "msg_update_roll") {
|
||||
this.updateRollData(msg.data);
|
||||
if (msg.msg == "msg_apply_combativite") {
|
||||
let defender = game.canvas.tokens.get(msg.data.defenderTokenId)?.actor
|
||||
if (defender) {
|
||||
defender.changeEtatCombativite(msg.data.value)
|
||||
} else {
|
||||
console.warn("HawkmoonUtility.onSocketMesssage : Impossible de trouver le token pour appliquer la combativité", msg.defenderTokenId)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -282,10 +339,10 @@ export class HawkmoonUtility {
|
||||
switch (rollMode) {
|
||||
case "blindroll": //GM only
|
||||
blind = true;
|
||||
case "gmroll": //GM + rolling player
|
||||
case "gmroll": // GM + rolling player
|
||||
whisper = this.getUsers(user => user.isGM);
|
||||
break;
|
||||
case "roll": //everybody
|
||||
case "roll": // everybody
|
||||
whisper = this.getUsers(user => user.active);
|
||||
break;
|
||||
case "selfroll":
|
||||
@@ -297,10 +354,20 @@ export class HawkmoonUtility {
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static computeMonnaieDetails(valueSC) {
|
||||
let po = Math.floor(valueSC / 400)
|
||||
let pa = Math.floor((valueSC - (po * 400)) / 20)
|
||||
let sc = valueSC - (po * 400) - (pa * 20)
|
||||
return {
|
||||
po, pa, sc, valueSC
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static computeResult(rollData) {
|
||||
rollData.diceResult = rollData.roll.terms[0].results[0].result
|
||||
if (rollData.mainDice.includes("d20") ) {
|
||||
if (rollData.mainDice.includes("d20")) {
|
||||
let diceValue = rollData.roll.terms[0].results[0].result
|
||||
if (diceValue % 2 == 1) {
|
||||
//console.log("PAIR/IMP2", diceValue)
|
||||
@@ -312,29 +379,45 @@ export class HawkmoonUtility {
|
||||
}
|
||||
}
|
||||
|
||||
//console.log("Result : ", rollData)
|
||||
//console.log("Result : ", rollData
|
||||
this.computeResultQuality(rollData)
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static computeResultQuality(rollData) {
|
||||
if (rollData.difficulte > 0 && !rollData.isDramatique) {
|
||||
rollData.isSuccess = (rollData.finalResult >= rollData.difficulte)
|
||||
rollData.isHeroique = ((rollData.finalResult - rollData.difficulte) >= 10)
|
||||
rollData.isDramatique = ((rollData.finalResult - rollData.difficulte) <= -10)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static applyCombativite(rollData, value) {
|
||||
if (game.user.isGM) {
|
||||
let defender = game.canvas.tokens.get(rollData.defenderTokenId).actor
|
||||
defender.changeEtatCombativite(value)
|
||||
} else {
|
||||
game.socket.emit("system.fvtt-hawkmoon-cyd", { msg: "msg_apply_combativite", data: { defenderTokenId: rollData.defenderTokenId, value } });
|
||||
}
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
static async rollHawkmoon(rollData) {
|
||||
|
||||
let actor = game.actors.get(rollData.actorId)
|
||||
let actor = this.getActorFromRollData(rollData)
|
||||
if (rollData.attrKey == "tochoose") { // No attr selected, force address
|
||||
rollData.attrKey = "adr"
|
||||
}
|
||||
if (!rollData.attr) {
|
||||
rollData.actionImg = "systems/fvtt-hawkmoon-cyd/assets/icons/" + actor.system.attributs[rollData.attrKey].labelnorm + ".webp"
|
||||
rollData.attr = duplicate(actor.system.attributs[rollData.attrKey])
|
||||
rollData.attr = foundry.utils.duplicate(actor.system.attributs[rollData.attrKey])
|
||||
}
|
||||
if (rollData.attrKey2 != "none") {
|
||||
rollData.attr2 = foundry.utils.duplicate(actor.system.attributs[rollData.attrKey2])
|
||||
}
|
||||
|
||||
if ( rollData.maitriseId != "none") {
|
||||
rollData.selectedMaitrise = rollData.maitrises.find(p => p.id == rollData.maitriseId )
|
||||
if (rollData.maitriseId != "none") {
|
||||
rollData.selectedMaitrise = rollData.maitrises.find(p => p.id == rollData.maitriseId)
|
||||
rollData.diceFormula = "2" + rollData.mainDice + "kh"
|
||||
} else {
|
||||
rollData.diceFormula = "1" + rollData.mainDice
|
||||
@@ -342,18 +425,18 @@ export class HawkmoonUtility {
|
||||
|
||||
//console.log("BEFORE COMP", rollData)
|
||||
if (rollData.competence) {
|
||||
rollData.predilections = duplicate(rollData.competence.system.predilections.filter(pred => pred.acquise && !pred.maitrise && !pred.used) || [])
|
||||
rollData.predilections = foundry.utils.duplicate(rollData.competence.system.predilections || [])
|
||||
let compmod = (rollData.competence.system.niveau == 0) ? -3 : 0
|
||||
rollData.diceFormula += `+${rollData.attr.value}+${rollData.competence.system.niveau}+${rollData.modificateur}+${compmod}`
|
||||
|
||||
if ( rollData.selectedTalents && rollData.selectedTalents.length > 0) {
|
||||
|
||||
if (rollData.selectedTalents && rollData.selectedTalents.length > 0) {
|
||||
for (let id of rollData.selectedTalents) {
|
||||
let talent = rollData.talents.find(t => t._id == id)
|
||||
let bonusOK = true
|
||||
if ( talent.system.baCost ) {
|
||||
bonusOK = actor.checkBonneAventure( talent.system.baCost)
|
||||
if ( bonusOK ) {
|
||||
actor.changeBonneAventure( -talent.system.baCost )
|
||||
if (talent.system.baCost) {
|
||||
bonusOK = actor.checkBonneAventure(talent.system.baCost)
|
||||
if (bonusOK) {
|
||||
actor.changeBonneAventure(-talent.system.baCost)
|
||||
} else {
|
||||
ui.notifications.warn("Vous n'avez pas assez de points de Bonne Aventure !")
|
||||
}
|
||||
@@ -362,11 +445,59 @@ export class HawkmoonUtility {
|
||||
rollData.diceFormula += `+${talent.system.bonus}`
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if (rollData.attr2) {
|
||||
rollData.diceFormula += `+${rollData.attr.value}+${rollData.attr2.value}+${rollData.modificateur}`
|
||||
} else {
|
||||
rollData.diceFormula += `+${rollData.attr.value}*${rollData.multiplier}+${rollData.modificateur}`
|
||||
}
|
||||
|
||||
// Bonus arme naturelle en défense
|
||||
if (rollData.bonusArmeNaturelle) {
|
||||
rollData.diceFormula += `+${rollData.bonusArmeNaturelle}`
|
||||
}
|
||||
if (rollData.attaquantsMultiples) {
|
||||
rollData.diceFormula += `+3`
|
||||
}
|
||||
if (rollData.hasAmbidextre) {
|
||||
if (rollData.ambidextre1) {
|
||||
rollData.diceFormula += `-3`
|
||||
} else if (rollData.ambidextre2) {
|
||||
rollData.diceFormula += `-6`
|
||||
}
|
||||
}
|
||||
if (rollData.defenseurAuSol) {
|
||||
rollData.diceFormula += `+3`
|
||||
}
|
||||
if (rollData.defenseurAveugle) {
|
||||
rollData.diceFormula += `+10`
|
||||
}
|
||||
if (rollData.defenseurDeDos) {
|
||||
rollData.diceFormula += `+5`
|
||||
}
|
||||
if (rollData.defenseurRestreint) {
|
||||
rollData.diceFormula += `+3`
|
||||
}
|
||||
if (rollData.defenseurImmobilise) {
|
||||
rollData.diceFormula += `+5`
|
||||
}
|
||||
if (rollData.soutiens > 0) { // 1 soutien = +3, 2 soutiens = +4, 3 soutiens = +5
|
||||
rollData.diceFormula += `+${rollData.soutiens + 2}`
|
||||
}
|
||||
|
||||
if (rollData.arme?.system.isDistance) {
|
||||
rollData.difficulte = __distanceDifficulte[rollData.distanceTir]
|
||||
rollData.difficulte += __tireurDeplacement[rollData.tireurDeplacement]
|
||||
rollData.difficulte += __cibleCouvert[rollData.cibleCouvert]
|
||||
rollData.difficulte += __tailleCible[rollData.tailleCible]
|
||||
rollData.difficulte += rollData.cibleDeplace ? 3 : 0
|
||||
rollData.difficulte += rollData.cibleCaC ? 3 : 0
|
||||
rollData.difficulte += rollData.protectionDefenseur
|
||||
}
|
||||
if (rollData.attaqueDesarme) {
|
||||
rollData.difficulte += 10
|
||||
}
|
||||
|
||||
// Ajout adversités
|
||||
rollData.diceFormula += `-${rollData.nbAdversites}`
|
||||
|
||||
@@ -374,44 +505,79 @@ export class HawkmoonUtility {
|
||||
rollData.diceFormula += `+${rollData.arme.system.bonusmaniementoff}`
|
||||
}
|
||||
|
||||
let myRoll = new Roll(rollData.diceFormula).roll({ async: false })
|
||||
// Gestion de la feinte éventuelle
|
||||
rollData.nbCombativitePerdu = 1
|
||||
|
||||
let myRoll = await new Roll(rollData.diceFormula).roll()
|
||||
await this.showDiceSoNice(myRoll, game.settings.get("core", "rollMode"))
|
||||
rollData.roll = myRoll
|
||||
rollData.roll = foundry.utils.duplicate(myRoll)
|
||||
console.log(">>>> ", myRoll)
|
||||
|
||||
rollData.finalResult = myRoll.total
|
||||
this.computeResult(rollData)
|
||||
if (rollData.isInit) {
|
||||
actor.lastInit = rollData.finalResult
|
||||
actor.setFlag("world", "last-initiative", rollData.finalResult)
|
||||
}
|
||||
if (rollData.feinte) {
|
||||
actor.changeBonneAventure(-1)
|
||||
if (rollData.isHeroique) {
|
||||
rollData.nbCombativitePerdu = "vaincu"
|
||||
} else if (rollData.isSuccess) {
|
||||
rollData.nbCombativitePerdu = 2
|
||||
}
|
||||
}
|
||||
|
||||
this.createChatWithRollMode(rollData.alias, {
|
||||
content: await renderTemplate(`systems/fvtt-hawkmoon-cyd/templates/chat-generic-result.html`, rollData)
|
||||
content: await foundry.applications.handlebars.renderTemplate(`systems/fvtt-hawkmoon-cyd/templates/chat-generic-result.hbs`, rollData)
|
||||
}, rollData)
|
||||
|
||||
if ((rollData.coupBas || rollData.arme) && rollData.isSuccess && rollData.defenderTokenId) {
|
||||
this.applyCombativite(rollData, rollData.nbCombativitePerdu)
|
||||
}
|
||||
if (rollData.coupBas && rollData.isSuccess && rollData.defenderTokenId) {
|
||||
let defender = game.canvas.tokens.get(rollData.defenderTokenId).actor
|
||||
defender.incDecAdversite("bleue", -2)
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static getCombativiteList(nbActivite) {
|
||||
let list = [{ value: String(0), label: "Combatif" }]
|
||||
for (let i = 1; i < nbActivite - 2; i++) {
|
||||
list.push({ value: String(i), label: "Eprouvé " + i })
|
||||
}
|
||||
list[nbActivite - 2] = { value: String(nbActivite - 2), label: "Affaibli" }
|
||||
list[nbActivite - 1] = { value: String(nbActivite - 1), label: "Très Affaibli" }
|
||||
list[nbActivite] = { value: String(nbActivite), label: "Vaincu" }
|
||||
return list
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static async bonusRollHawkmoon(rollData) {
|
||||
rollData.bonusFormula = rollData.addedBonus
|
||||
console.log("Bonus Roll Hawkmoon", rollData.bonusFormula)
|
||||
|
||||
let bonusRoll = new Roll(rollData.bonusFormula).roll({ async: false })
|
||||
await this.showDiceSoNice(bonusRoll, game.settings.get("core", "rollMode"));
|
||||
rollData.bonusRoll = bonusRoll
|
||||
if (!Number(rollData.bonusFormula)) {
|
||||
let bonusRoll = await new Roll(rollData.bonusFormula).roll()
|
||||
await this.showDiceSoNice(bonusRoll, game.settings.get("core", "rollMode"));
|
||||
rollData.bonusRoll = foundry.utils.duplicate(bonusRoll)
|
||||
rollData.finalResult += Number(rollData.bonusRoll.total)
|
||||
} else {
|
||||
rollData.finalResult += Number(rollData.bonusFormula)
|
||||
console.log("Bonus Roll Hawkmoon 2", rollData.finalResult)
|
||||
}
|
||||
|
||||
rollData.finalResult += rollData.bonusRoll.total
|
||||
|
||||
this.computeResult(rollData)
|
||||
this.computeResultQuality(rollData)
|
||||
|
||||
this.createChatWithRollMode(rollData.alias, {
|
||||
content: await renderTemplate(`systems/fvtt-hawkmoon-cyd/templates/chat-generic-result.html`, rollData)
|
||||
content: await foundry.applications.handlebars.renderTemplate(`systems/fvtt-hawkmoon-cyd/templates/chat-generic-result.hbs`, rollData)
|
||||
}, rollData)
|
||||
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static getUsers(filter) {
|
||||
return game.users.filter(filter).map(user => user.data._id);
|
||||
return game.users.filter(filter).map(user => user._id);
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
@@ -431,7 +597,7 @@ export class HawkmoonUtility {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static blindMessageToGM(chatOptions) {
|
||||
let chatGM = duplicate(chatOptions);
|
||||
let chatGM = foundry.utils.duplicate(chatOptions);
|
||||
chatGM.whisper = this.getUsers(user => user.isGM);
|
||||
chatGM.content = "Blinde message of " + game.user.name + "<br>" + chatOptions.content;
|
||||
console.log("blindMessageToGM", chatGM);
|
||||
@@ -487,38 +653,94 @@ export class HawkmoonUtility {
|
||||
break;
|
||||
}
|
||||
chatOptions.alias = chatOptions.alias || name
|
||||
|
||||
// Ajouter le flag directement dans les options pour éviter les problèmes de timing
|
||||
if (rollData) {
|
||||
chatOptions.flags = { world: { "hawkmoon-roll": rollData } }
|
||||
}
|
||||
|
||||
let msg = await ChatMessage.create(chatOptions)
|
||||
console.log("=======>", rollData)
|
||||
msg.setFlag("world", "hawkmoon-roll", rollData)
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static getBasicRollData() {
|
||||
let rollData = {
|
||||
rollId: randomID(16),
|
||||
rollId: foundry.utils.randomID(16),
|
||||
rollMode: game.settings.get("core", "rollMode"),
|
||||
modificateursOptions: this.getModificateurOptions(),
|
||||
pointAmeOptions: this.getPointAmeOptions(),
|
||||
difficulte: 0,
|
||||
modificateur: 0,
|
||||
modificateur: "0",
|
||||
bonusArmeNaturelle: 0,
|
||||
defenseurAveugle: false,
|
||||
defenseurDeDos: false,
|
||||
defenseurAuSol: false,
|
||||
defenseurRestreint: false,
|
||||
defenseurImmobilise: false,
|
||||
tailleCible: "normal",
|
||||
tireurDeplacement: "immobile",
|
||||
cibleCouvert: "aucun",
|
||||
distanceTir: "porteemoyenne",
|
||||
cibleDeplace: false,
|
||||
cibleCaC: false,
|
||||
attaqueCharge: false,
|
||||
attaqueDesarme: false,
|
||||
attaqueAmbidextre1: false,
|
||||
attaqueAmbidextre2: false,
|
||||
chargeCavalerie: false,
|
||||
contenir: false,
|
||||
soutiens: 0
|
||||
}
|
||||
HawkmoonUtility.updateWithTarget(rollData)
|
||||
return rollData
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static updateWithTarget(rollData) {
|
||||
let target = HawkmoonUtility.getTarget()
|
||||
console.log("updateWithTarget - Current target:", target)
|
||||
console.log("updateWithTarget - Existing defenderTokenId:", rollData.defenderTokenId)
|
||||
if (target) {
|
||||
rollData.defenderTokenId = target.id
|
||||
console.log("updateWithTarget - Set defenderTokenId to:", rollData.defenderTokenId)
|
||||
}
|
||||
// Utiliser la cible déjà enregistrée si aucune cible n'est actuellement sélectionnée
|
||||
if (rollData.defenderTokenId) {
|
||||
let defender = game.canvas.tokens.get(rollData.defenderTokenId).actor
|
||||
console.log("updateWithTarget - Defender actor:", defender.name)
|
||||
rollData.armeDefense = defender.getBestDefenseValue()
|
||||
console.log("updateWithTarget - armeDefense:", rollData.armeDefense)
|
||||
rollData.armeAttaqueDefenseur = defender.getBestAttackValue()
|
||||
rollData.targetVigueur = defender.getVigueur()
|
||||
if ( rollData.armeDefense) {
|
||||
rollData.protectionDefenseur = defender.getProtection()
|
||||
if (rollData.immobiliser || rollData.repousser) {
|
||||
let combatValues = defender.getCombatValues()
|
||||
rollData.difficulte = combatValues.defenseTotal + (rollData.armeDefense && rollData.cibleconsciente ? 5 : 0)
|
||||
} else if (rollData.coupBas) {
|
||||
let combatValues = defender.getCombatValues()
|
||||
rollData.difficulte = combatValues.defenseTotal
|
||||
} else if (rollData.assomer) {
|
||||
rollData.difficulte = 3 + (defender.system.attributs.tre.value * 2)
|
||||
} else if (rollData.desengager) {
|
||||
rollData.difficulte = rollData.armeAttaqueDefenseur?.system?.totalOffensif || 0;
|
||||
} else if (rollData.armeDefense) {
|
||||
rollData.difficulte = rollData.armeDefense.system.totalDefensif
|
||||
console.log("updateWithTarget - Calculated difficulte from armeDefense:", rollData.difficulte)
|
||||
if (rollData.arme && !rollData.desengager && !rollData.arme.system.armenaturelle && !rollData.arme.system.armefortune) {
|
||||
if (rollData.armeDefense.system.armenaturelle || rollData.armeDefense.system.armefortune) {
|
||||
rollData.bonusArmeNaturelle = 3
|
||||
}
|
||||
}
|
||||
} else if (rollData.arme?.system.isDistance) {
|
||||
// Pour les armes à distance, calculer la difficulté de base (protection + distance par défaut)
|
||||
const distanceValues = { "porteecourte": 5, "porteemoyenne": 9, "porteelongue": 14 }
|
||||
rollData.difficulte = rollData.protectionDefenseur + distanceValues[rollData.distanceTir || "porteemoyenne"]
|
||||
console.log("updateWithTarget - Calculated difficulte for ranged:", rollData.difficulte, "= protection", rollData.protectionDefenseur, "+ distance", distanceValues[rollData.distanceTir || "porteemoyenne"])
|
||||
} else {
|
||||
console.log("updateWithTarget - No armeDefense found!")
|
||||
ui.notifications.warn("Aucune arme de défense équipée, difficulté manuelle à positionner.")
|
||||
}
|
||||
} else {
|
||||
console.log("updateWithTarget - No defenderTokenId, skipping target calculations")
|
||||
}
|
||||
}
|
||||
|
||||
@@ -529,11 +751,11 @@ export class HawkmoonUtility {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static applyBonneAventureRoll(li, changed, addedBonus) {
|
||||
let msgId = li.data("message-id")
|
||||
let msgId = $(li).data("message-id")
|
||||
let msg = game.messages.get(msgId)
|
||||
if (msg) {
|
||||
let rollData = msg.getFlag("world", "hawkmoon-roll")
|
||||
let actor = game.actors.get(rollData.actorId)
|
||||
let actor = HawkmoonUtility.getActorFromRollData(rollData)
|
||||
actor.changeBonneAventure(changed)
|
||||
rollData.isReroll = true
|
||||
rollData.textBonus = "Bonus de Points d'Aventure"
|
||||
@@ -548,11 +770,11 @@ export class HawkmoonUtility {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static applyEclatRoll(li, changed, addedBonus) {
|
||||
let msgId = li.data("message-id")
|
||||
let msgId = $(li).data("message-id")
|
||||
let msg = game.messages.get(msgId)
|
||||
if (msg) {
|
||||
let rollData = msg.getFlag("world", "hawkmoon-roll")
|
||||
let actor = game.actors.get(rollData.actorId)
|
||||
let actor = HawkmoonUtility.getActorFromRollData(rollData)
|
||||
actor.changeEclat(changed)
|
||||
rollData.isReroll = true
|
||||
rollData.textBonus = "Bonus d'Eclat"
|
||||
@@ -569,16 +791,16 @@ export class HawkmoonUtility {
|
||||
static chatRollMenu(html, options) {
|
||||
let canApply = li => canvas.tokens.controlled.length && li.find(".hawkmoon-roll").length
|
||||
let canApplyBA = function (li) {
|
||||
let message = game.messages.get(li.attr("data-message-id"))
|
||||
let message = game.messages.get($(li).attr("data-message-id"))
|
||||
let rollData = message.getFlag("world", "hawkmoon-roll")
|
||||
let actor = game.actors.get(rollData.actorId)
|
||||
return (!rollData.isReroll && actor.getBonneAventure() > 0 )
|
||||
let actor = HawkmoonUtility.getActorFromRollData(rollData)
|
||||
return (!rollData.isReroll && actor.getBonneAventure() > 0)
|
||||
}
|
||||
let canApplyPE = function (li) {
|
||||
let message = game.messages.get(li.attr("data-message-id"))
|
||||
let message = game.messages.get($(li).attr("data-message-id"))
|
||||
let rollData = message.getFlag("world", "hawkmoon-roll")
|
||||
let actor = game.actors.get(rollData.actorId)
|
||||
return (!rollData.isReroll && actor.getEclat() > 0 )
|
||||
let actor = HawkmoonUtility.getActorFromRollData(rollData)
|
||||
return (!rollData.isReroll && actor.getEclat() > 0)
|
||||
}
|
||||
options.push(
|
||||
{
|
||||
@@ -601,7 +823,7 @@ export class HawkmoonUtility {
|
||||
name: "Relancer le dé (1 point d'Eclat)",
|
||||
icon: "<i class='fas fa-user-plus'></i>",
|
||||
condition: canApply && canApplyPE,
|
||||
callback: li => HawkmoonUtility.applyEclatRoll(li, -3, "reroll")
|
||||
callback: li => HawkmoonUtility.applyEclatRoll(li, -1, "reroll")
|
||||
}
|
||||
)
|
||||
return options
|
||||
@@ -609,25 +831,25 @@ export class HawkmoonUtility {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static async confirmDelete(actorSheet, li) {
|
||||
let itemId = li.data("item-id");
|
||||
let msgTxt = "<p>Are you sure to remove this Item ?";
|
||||
let itemId = li.dataset.itemId;
|
||||
let msgTxt = "<p>Etes vous certain de vouloir supprimer cet item ?";
|
||||
let buttons = {
|
||||
delete: {
|
||||
icon: '<i class="fas fa-check"></i>',
|
||||
label: "Yes, remove it",
|
||||
label: "Oui !",
|
||||
callback: () => {
|
||||
actorSheet.actor.deleteEmbeddedDocuments("Item", [itemId]);
|
||||
li.slideUp(200, () => actorSheet.render(false));
|
||||
actorSheet.render(false);
|
||||
}
|
||||
},
|
||||
cancel: {
|
||||
icon: '<i class="fas fa-times"></i>',
|
||||
label: "Cancel"
|
||||
label: "Non"
|
||||
}
|
||||
}
|
||||
msgTxt += "</p>";
|
||||
let d = new Dialog({
|
||||
title: "Confirm removal",
|
||||
title: "Confirmer la suppression",
|
||||
content: msgTxt,
|
||||
buttons: buttons,
|
||||
default: "cancel"
|
||||
@@ -635,4 +857,20 @@ export class HawkmoonUtility {
|
||||
d.render(true);
|
||||
}
|
||||
|
||||
}
|
||||
/************************************************************************************/
|
||||
static async __create_talents_table() {
|
||||
let compName = "fvtt-hawkmoon-cyd.talents-cellule"
|
||||
const compData = await HawkmoonUtility.loadCompendium(compName)
|
||||
let talents = compData.map(i => i.toObject())
|
||||
|
||||
let htmlTab = "<table border='1'><tbody>";
|
||||
for (let entryData of talents) {
|
||||
console.log(entryData)
|
||||
htmlTab += `<tr><td>@UUID[Compendium.${compName}.${entryData._id}]{${entryData.name}}</td>`
|
||||
htmlTab += `<td>${entryData.system.description}</td>`;
|
||||
htmlTab += "</tr>\n";
|
||||
}
|
||||
htmlTab += "</table>";
|
||||
await JournalEntry.create({ name: 'Liste des Talents de Cellule', content: htmlTab });
|
||||
}
|
||||
}
|
||||
|
||||
31
modules/models/arme.mjs
Normal file
31
modules/models/arme.mjs
Normal file
@@ -0,0 +1,31 @@
|
||||
/**
|
||||
* Data model pour les armes
|
||||
*/
|
||||
export default class ArmeDataModel extends foundry.abstract.TypeDataModel {
|
||||
static defineSchema() {
|
||||
const fields = foundry.data.fields;
|
||||
return {
|
||||
description: new fields.HTMLField({ initial: "" }),
|
||||
prixpo: new fields.NumberField({ initial: 0, integer: true }),
|
||||
prixca: new fields.NumberField({ initial: 0, integer: true }),
|
||||
prixsc: new fields.NumberField({ initial: 0, integer: true }),
|
||||
rarete: new fields.NumberField({ initial: 0, integer: true }),
|
||||
quantite: new fields.NumberField({ initial: 1, integer: true }),
|
||||
equipped: new fields.BooleanField({ initial: false }),
|
||||
typearme: new fields.StringField({ initial: "" }),
|
||||
armenaturelle: new fields.BooleanField({ initial: false }),
|
||||
armefortune: new fields.BooleanField({ initial: false }),
|
||||
bonusmaniementoff: new fields.NumberField({ initial: 0, integer: true }),
|
||||
seuildefense: new fields.NumberField({ initial: 0, integer: true }),
|
||||
onlevelonly: new fields.BooleanField({ initial: false }),
|
||||
degats: new fields.StringField({ initial: "" }),
|
||||
deuxmains: new fields.BooleanField({ initial: false }),
|
||||
percearmure: new fields.BooleanField({ initial: false }),
|
||||
percearmurevalue: new fields.NumberField({ initial: 0, integer: true }),
|
||||
courte: new fields.NumberField({ initial: 0, integer: true }),
|
||||
moyenne: new fields.NumberField({ initial: 0, integer: true }),
|
||||
longue: new fields.NumberField({ initial: 0, integer: true }),
|
||||
tr: new fields.NumberField({ initial: 0, integer: true })
|
||||
};
|
||||
}
|
||||
}
|
||||
28
modules/models/artefact.mjs
Normal file
28
modules/models/artefact.mjs
Normal file
@@ -0,0 +1,28 @@
|
||||
/**
|
||||
* Data model pour les artefacts
|
||||
*/
|
||||
export default class ArtefactDataModel extends foundry.abstract.TypeDataModel {
|
||||
static defineSchema() {
|
||||
const fields = foundry.data.fields;
|
||||
return {
|
||||
description: new fields.HTMLField({ initial: "" }),
|
||||
prixpo: new fields.NumberField({ initial: 0, integer: true }),
|
||||
prixca: new fields.NumberField({ initial: 0, integer: true }),
|
||||
prixsc: new fields.NumberField({ initial: 0, integer: true }),
|
||||
rarete: new fields.NumberField({ initial: 0, integer: true }),
|
||||
quantite: new fields.NumberField({ initial: 1, integer: true }),
|
||||
equipped: new fields.BooleanField({ initial: false }),
|
||||
complexite: new fields.NumberField({ initial: 0, integer: true }),
|
||||
branche: new fields.StringField({ initial: "" }),
|
||||
branche2: new fields.StringField({ initial: "none" }),
|
||||
dureerealisation: new fields.StringField({ initial: "" }),
|
||||
tempsroute: new fields.StringField({ initial: "" }),
|
||||
effetdejeu: new fields.StringField({ initial: "" }),
|
||||
defautcourant: new fields.StringField({ initial: "" }),
|
||||
autrescarac: new fields.StringField({ initial: "" }),
|
||||
avantagespossibles: new fields.StringField({ initial: "" }),
|
||||
avantages: new fields.StringField({ initial: "" }),
|
||||
competences: new fields.StringField({ initial: "" })
|
||||
};
|
||||
}
|
||||
}
|
||||
53
modules/models/base-item.mjs
Normal file
53
modules/models/base-item.mjs
Normal file
@@ -0,0 +1,53 @@
|
||||
/**
|
||||
* Template de base pour tous les items
|
||||
*/
|
||||
export class BaseItemModel extends foundry.abstract.TypeDataModel {
|
||||
static defineSchema() {
|
||||
const fields = foundry.data.fields;
|
||||
return {
|
||||
description: new fields.HTMLField({ initial: "" })
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Template pour les équipements de base
|
||||
*/
|
||||
export class BaseEquipItemModel extends foundry.abstract.TypeDataModel {
|
||||
static defineSchema() {
|
||||
const fields = foundry.data.fields;
|
||||
return {
|
||||
prixpo: new fields.NumberField({ initial: 0, integer: true }),
|
||||
prixca: new fields.NumberField({ initial: 0, integer: true }),
|
||||
prixsc: new fields.NumberField({ initial: 0, integer: true }),
|
||||
rarete: new fields.NumberField({ initial: 0, integer: true }),
|
||||
quantite: new fields.NumberField({ initial: 1, integer: true }),
|
||||
equipped: new fields.BooleanField({ initial: false })
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Template pour l'automatisation
|
||||
*/
|
||||
export class AutomationItemModel extends foundry.abstract.TypeDataModel {
|
||||
static defineSchema() {
|
||||
const fields = foundry.data.fields;
|
||||
return {
|
||||
isautomated: new fields.BooleanField({ initial: false }),
|
||||
automations: new fields.ArrayField(
|
||||
new fields.SchemaField({
|
||||
id: new fields.StringField({ initial: "" }),
|
||||
eventtype: new fields.StringField({ initial: "on-drop" }),
|
||||
name: new fields.StringField({ initial: "" }),
|
||||
bonusname: new fields.StringField({ initial: "vigueur" }),
|
||||
bonus: new fields.NumberField({ initial: 0, integer: true }),
|
||||
competence: new fields.StringField({ initial: "" }),
|
||||
minLevel: new fields.NumberField({ initial: 0, integer: true }),
|
||||
baCost: new fields.NumberField({ initial: 0, integer: true })
|
||||
}),
|
||||
{ initial: [] }
|
||||
)
|
||||
};
|
||||
}
|
||||
}
|
||||
15
modules/models/cellule.mjs
Normal file
15
modules/models/cellule.mjs
Normal file
@@ -0,0 +1,15 @@
|
||||
/**
|
||||
* Data model pour les cellules
|
||||
*/
|
||||
export default class CelluleDataModel extends foundry.abstract.TypeDataModel {
|
||||
static defineSchema() {
|
||||
const fields = foundry.data.fields;
|
||||
return {
|
||||
notoriete: new fields.NumberField({ initial: 0, integer: true }),
|
||||
resistance: new fields.NumberField({ initial: 0, integer: true }),
|
||||
developpement: new fields.NumberField({ initial: 0, integer: true }),
|
||||
members: new fields.ArrayField(new fields.StringField(), { initial: [] }),
|
||||
description: new fields.HTMLField({ initial: "" })
|
||||
};
|
||||
}
|
||||
}
|
||||
27
modules/models/competence.mjs
Normal file
27
modules/models/competence.mjs
Normal file
@@ -0,0 +1,27 @@
|
||||
/**
|
||||
* Data model pour les compétences
|
||||
*/
|
||||
export default class CompetenceDataModel extends foundry.abstract.TypeDataModel {
|
||||
static defineSchema() {
|
||||
const fields = foundry.data.fields;
|
||||
return {
|
||||
description: new fields.HTMLField({ initial: "" }),
|
||||
niveau: new fields.NumberField({ initial: 0, integer: true }),
|
||||
attribut1: new fields.StringField({ initial: "" }),
|
||||
attribut2: new fields.StringField({ initial: "" }),
|
||||
attribut3: new fields.StringField({ initial: "" }),
|
||||
doublebonus: new fields.BooleanField({ initial: false }),
|
||||
predilections: new fields.ArrayField(
|
||||
new fields.SchemaField({
|
||||
id: new fields.StringField({ initial: "" }),
|
||||
name: new fields.StringField({ initial: "" }),
|
||||
description: new fields.StringField({ initial: "" }),
|
||||
acquise: new fields.BooleanField({ initial: false }),
|
||||
maitrise: new fields.BooleanField({ initial: false }),
|
||||
used: new fields.BooleanField({ initial: false })
|
||||
}),
|
||||
{ initial: [] }
|
||||
)
|
||||
};
|
||||
}
|
||||
}
|
||||
14
modules/models/contact.mjs
Normal file
14
modules/models/contact.mjs
Normal file
@@ -0,0 +1,14 @@
|
||||
/**
|
||||
* Data model pour les contacts
|
||||
*/
|
||||
export default class ContactDataModel extends foundry.abstract.TypeDataModel {
|
||||
static defineSchema() {
|
||||
const fields = foundry.data.fields;
|
||||
return {
|
||||
contacttype: new fields.StringField({ initial: "" }),
|
||||
niveau: new fields.StringField({ initial: "" }),
|
||||
pointdev: new fields.NumberField({ initial: 0, integer: true }),
|
||||
description: new fields.HTMLField({ initial: "" })
|
||||
};
|
||||
}
|
||||
}
|
||||
97
modules/models/creature.mjs
Normal file
97
modules/models/creature.mjs
Normal file
@@ -0,0 +1,97 @@
|
||||
/**
|
||||
* Data model pour les créatures
|
||||
*/
|
||||
export default class CreatureDataModel extends foundry.abstract.TypeDataModel {
|
||||
static defineSchema() {
|
||||
const fields = foundry.data.fields;
|
||||
return {
|
||||
// Template biodata
|
||||
biodata: new fields.SchemaField({
|
||||
name: new fields.StringField({ initial: "" }),
|
||||
age: new fields.NumberField({ initial: 0, integer: true }),
|
||||
poids: new fields.StringField({ initial: "" }),
|
||||
taille: new fields.StringField({ initial: "" }),
|
||||
cheveux: new fields.StringField({ initial: "" }),
|
||||
sexe: new fields.StringField({ initial: "" }),
|
||||
yeux: new fields.StringField({ initial: "" }),
|
||||
description: new fields.HTMLField({ initial: "" }),
|
||||
habitat: new fields.HTMLField({ initial: "" }),
|
||||
notes: new fields.HTMLField({ initial: "" }),
|
||||
statut: new fields.StringField({ initial: "" }),
|
||||
gmnotes: new fields.HTMLField({ initial: "" }),
|
||||
statutresistant: new fields.StringField({ initial: "commun" })
|
||||
}),
|
||||
// Template core
|
||||
subactors: new fields.ArrayField(new fields.StringField(), { initial: [] }),
|
||||
attributs: new fields.SchemaField({
|
||||
adr: new fields.SchemaField({
|
||||
label: new fields.StringField({ initial: "Adresse" }),
|
||||
labelnorm: new fields.StringField({ initial: "adresse" }),
|
||||
abbrev: new fields.StringField({ initial: "adr" }),
|
||||
value: new fields.NumberField({ initial: 1, integer: true })
|
||||
}),
|
||||
pui: new fields.SchemaField({
|
||||
label: new fields.StringField({ initial: "Puissance" }),
|
||||
labelnorm: new fields.StringField({ initial: "puissance" }),
|
||||
abbrev: new fields.StringField({ initial: "pui" }),
|
||||
value: new fields.NumberField({ initial: 1, integer: true })
|
||||
}),
|
||||
cla: new fields.SchemaField({
|
||||
label: new fields.StringField({ initial: "Clairvoyance" }),
|
||||
labelnorm: new fields.StringField({ initial: "clairvoyance" }),
|
||||
abbrev: new fields.StringField({ initial: "cla" }),
|
||||
value: new fields.NumberField({ initial: 1, integer: true })
|
||||
}),
|
||||
pre: new fields.SchemaField({
|
||||
label: new fields.StringField({ initial: "Présence" }),
|
||||
labelnorm: new fields.StringField({ initial: "presence" }),
|
||||
abbrev: new fields.StringField({ initial: "pre" }),
|
||||
value: new fields.NumberField({ initial: 0, integer: true })
|
||||
}),
|
||||
tre: new fields.SchemaField({
|
||||
label: new fields.StringField({ initial: "Trempe" }),
|
||||
labelnorm: new fields.StringField({ initial: "trempe" }),
|
||||
abbrev: new fields.StringField({ initial: "tre" }),
|
||||
value: new fields.NumberField({ initial: 0, integer: true })
|
||||
})
|
||||
}),
|
||||
bonneaventure: new fields.SchemaField({
|
||||
base: new fields.NumberField({ initial: 0, integer: true }),
|
||||
actuelle: new fields.NumberField({ initial: 0, integer: true })
|
||||
}),
|
||||
experience: new fields.SchemaField({
|
||||
value: new fields.NumberField({ initial: 0, integer: true })
|
||||
}),
|
||||
eclat: new fields.SchemaField({
|
||||
value: new fields.NumberField({ initial: 0, integer: true })
|
||||
}),
|
||||
sante: new fields.SchemaField({
|
||||
vigueur: new fields.NumberField({ initial: 0, integer: true }),
|
||||
etat: new fields.NumberField({ initial: 0, integer: true }),
|
||||
vigueurmodifier: new fields.NumberField({ initial: 0, integer: true }),
|
||||
nbcombativite: new fields.NumberField({ initial: 5, integer: true })
|
||||
}),
|
||||
adversite: new fields.SchemaField({
|
||||
bleue: new fields.NumberField({ initial: 0, integer: true }),
|
||||
rouge: new fields.NumberField({ initial: 0, integer: true }),
|
||||
noire: new fields.NumberField({ initial: 0, integer: true })
|
||||
}),
|
||||
vitesse: new fields.SchemaField({
|
||||
value: new fields.NumberField({ initial: 0, integer: true })
|
||||
}),
|
||||
combat: new fields.SchemaField({
|
||||
initbonus: new fields.NumberField({ initial: 0, integer: true }),
|
||||
vitessebonus: new fields.NumberField({ initial: 0, integer: true }),
|
||||
bonusdegats: new fields.NumberField({ initial: 0, integer: true }),
|
||||
attaquebonus: new fields.NumberField({ initial: 0, integer: true }),
|
||||
defensebonus: new fields.NumberField({ initial: 0, integer: true }),
|
||||
defensetotale: new fields.BooleanField({ initial: false }),
|
||||
monte: new fields.BooleanField({ initial: false })
|
||||
}),
|
||||
// Propriétés spécifiques aux créatures
|
||||
ressources: new fields.SchemaField({
|
||||
value: new fields.NumberField({ initial: 0, integer: true })
|
||||
})
|
||||
};
|
||||
}
|
||||
}
|
||||
17
modules/models/equipement.mjs
Normal file
17
modules/models/equipement.mjs
Normal file
@@ -0,0 +1,17 @@
|
||||
/**
|
||||
* Data model pour l'équipement
|
||||
*/
|
||||
export default class EquipementDataModel extends foundry.abstract.TypeDataModel {
|
||||
static defineSchema() {
|
||||
const fields = foundry.data.fields;
|
||||
return {
|
||||
description: new fields.HTMLField({ initial: "" }),
|
||||
prixpo: new fields.NumberField({ initial: 0, integer: true }),
|
||||
prixca: new fields.NumberField({ initial: 0, integer: true }),
|
||||
prixsc: new fields.NumberField({ initial: 0, integer: true }),
|
||||
rarete: new fields.NumberField({ initial: 0, integer: true }),
|
||||
quantite: new fields.NumberField({ initial: 1, integer: true }),
|
||||
equipped: new fields.BooleanField({ initial: false })
|
||||
};
|
||||
}
|
||||
}
|
||||
12
modules/models/historique.mjs
Normal file
12
modules/models/historique.mjs
Normal file
@@ -0,0 +1,12 @@
|
||||
/**
|
||||
* Data model pour les historiques
|
||||
*/
|
||||
export default class HistoriqueDataModel extends foundry.abstract.TypeDataModel {
|
||||
static defineSchema() {
|
||||
const fields = foundry.data.fields;
|
||||
return {
|
||||
description: new fields.HTMLField({ initial: "" }),
|
||||
bonusmalus: new fields.StringField({ initial: "" })
|
||||
};
|
||||
}
|
||||
}
|
||||
23
modules/models/index.mjs
Normal file
23
modules/models/index.mjs
Normal file
@@ -0,0 +1,23 @@
|
||||
/**
|
||||
* Index des DataModels pour Hawkmoon CYD
|
||||
* Ce fichier centralise tous les exports des modèles de données
|
||||
*/
|
||||
|
||||
// Modèles d'items
|
||||
export { default as TalentDataModel } from './talent.mjs';
|
||||
export { default as HistoriqueDataModel } from './historique.mjs';
|
||||
export { default as ProfilDataModel } from './profil.mjs';
|
||||
export { default as CompetenceDataModel } from './competence.mjs';
|
||||
export { default as ArmeDataModel } from './arme.mjs';
|
||||
export { default as ProtectionDataModel } from './protection.mjs';
|
||||
export { default as MonnaieDataModel } from './monnaie.mjs';
|
||||
export { default as EquipementDataModel } from './equipement.mjs';
|
||||
export { default as ArtefactDataModel } from './artefact.mjs';
|
||||
export { default as RessourceDataModel } from './ressource.mjs';
|
||||
export { default as ContactDataModel } from './contact.mjs';
|
||||
export { default as MutationDataModel } from './mutation.mjs';
|
||||
|
||||
// Modèles d'acteurs
|
||||
export { default as PersonnageDataModel } from './personnage.mjs';
|
||||
export { default as CelluleDataModel } from './cellule.mjs';
|
||||
export { default as CreatureDataModel } from './creature.mjs';
|
||||
17
modules/models/monnaie.mjs
Normal file
17
modules/models/monnaie.mjs
Normal file
@@ -0,0 +1,17 @@
|
||||
/**
|
||||
* Data model pour les monnaies
|
||||
*/
|
||||
export default class MonnaieDataModel extends foundry.abstract.TypeDataModel {
|
||||
static defineSchema() {
|
||||
const fields = foundry.data.fields;
|
||||
return {
|
||||
description: new fields.HTMLField({ initial: "" }),
|
||||
prixpo: new fields.NumberField({ initial: 0, integer: true }),
|
||||
prixca: new fields.NumberField({ initial: 0, integer: true }),
|
||||
prixsc: new fields.NumberField({ initial: 0, integer: true }),
|
||||
rarete: new fields.NumberField({ initial: 0, integer: true }),
|
||||
quantite: new fields.NumberField({ initial: 1, integer: true }),
|
||||
equipped: new fields.BooleanField({ initial: false })
|
||||
};
|
||||
}
|
||||
}
|
||||
14
modules/models/mutation.mjs
Normal file
14
modules/models/mutation.mjs
Normal file
@@ -0,0 +1,14 @@
|
||||
/**
|
||||
* Data model pour les mutations
|
||||
*/
|
||||
export default class MutationDataModel extends foundry.abstract.TypeDataModel {
|
||||
static defineSchema() {
|
||||
const fields = foundry.data.fields;
|
||||
return {
|
||||
description: new fields.HTMLField({ initial: "" }),
|
||||
mutationcategorie: new fields.StringField({ initial: "tares_communes" }),
|
||||
hascomplexite: new fields.BooleanField({ initial: false }),
|
||||
complexite: new fields.NumberField({ initial: 0, integer: true })
|
||||
};
|
||||
}
|
||||
}
|
||||
93
modules/models/personnage.mjs
Normal file
93
modules/models/personnage.mjs
Normal file
@@ -0,0 +1,93 @@
|
||||
/**
|
||||
* Data model pour les personnages
|
||||
*/
|
||||
export default class PersonnageDataModel extends foundry.abstract.TypeDataModel {
|
||||
static defineSchema() {
|
||||
const fields = foundry.data.fields;
|
||||
return {
|
||||
// Template biodata
|
||||
biodata: new fields.SchemaField({
|
||||
name: new fields.StringField({ initial: "" }),
|
||||
age: new fields.NumberField({ initial: 0, integer: true }),
|
||||
poids: new fields.StringField({ initial: "" }),
|
||||
taille: new fields.StringField({ initial: "" }),
|
||||
cheveux: new fields.StringField({ initial: "" }),
|
||||
sexe: new fields.StringField({ initial: "" }),
|
||||
yeux: new fields.StringField({ initial: "" }),
|
||||
description: new fields.HTMLField({ initial: "" }),
|
||||
habitat: new fields.HTMLField({ initial: "" }),
|
||||
notes: new fields.HTMLField({ initial: "" }),
|
||||
statut: new fields.StringField({ initial: "" }),
|
||||
gmnotes: new fields.HTMLField({ initial: "" }),
|
||||
statutresistant: new fields.StringField({ initial: "commun" })
|
||||
}),
|
||||
// Template core
|
||||
subactors: new fields.ArrayField(new fields.StringField(), { initial: [] }),
|
||||
attributs: new fields.SchemaField({
|
||||
adr: new fields.SchemaField({
|
||||
label: new fields.StringField({ initial: "Adresse" }),
|
||||
labelnorm: new fields.StringField({ initial: "adresse" }),
|
||||
abbrev: new fields.StringField({ initial: "adr" }),
|
||||
value: new fields.NumberField({ initial: 1, integer: true })
|
||||
}),
|
||||
pui: new fields.SchemaField({
|
||||
label: new fields.StringField({ initial: "Puissance" }),
|
||||
labelnorm: new fields.StringField({ initial: "puissance" }),
|
||||
abbrev: new fields.StringField({ initial: "pui" }),
|
||||
value: new fields.NumberField({ initial: 1, integer: true })
|
||||
}),
|
||||
cla: new fields.SchemaField({
|
||||
label: new fields.StringField({ initial: "Clairvoyance" }),
|
||||
labelnorm: new fields.StringField({ initial: "clairvoyance" }),
|
||||
abbrev: new fields.StringField({ initial: "cla" }),
|
||||
value: new fields.NumberField({ initial: 1, integer: true })
|
||||
}),
|
||||
pre: new fields.SchemaField({
|
||||
label: new fields.StringField({ initial: "Présence" }),
|
||||
labelnorm: new fields.StringField({ initial: "presence" }),
|
||||
abbrev: new fields.StringField({ initial: "pre" }),
|
||||
value: new fields.NumberField({ initial: 0, integer: true })
|
||||
}),
|
||||
tre: new fields.SchemaField({
|
||||
label: new fields.StringField({ initial: "Trempe" }),
|
||||
labelnorm: new fields.StringField({ initial: "trempe" }),
|
||||
abbrev: new fields.StringField({ initial: "tre" }),
|
||||
value: new fields.NumberField({ initial: 0, integer: true })
|
||||
})
|
||||
}),
|
||||
bonneaventure: new fields.SchemaField({
|
||||
base: new fields.NumberField({ initial: 0, integer: true }),
|
||||
actuelle: new fields.NumberField({ initial: 0, integer: true })
|
||||
}),
|
||||
experience: new fields.SchemaField({
|
||||
value: new fields.NumberField({ initial: 0, integer: true })
|
||||
}),
|
||||
eclat: new fields.SchemaField({
|
||||
value: new fields.NumberField({ initial: 0, integer: true })
|
||||
}),
|
||||
sante: new fields.SchemaField({
|
||||
vigueur: new fields.NumberField({ initial: 0, integer: true }),
|
||||
etat: new fields.NumberField({ initial: 0, integer: true }),
|
||||
vigueurmodifier: new fields.NumberField({ initial: 0, integer: true }),
|
||||
nbcombativite: new fields.NumberField({ initial: 5, integer: true })
|
||||
}),
|
||||
adversite: new fields.SchemaField({
|
||||
bleue: new fields.NumberField({ initial: 0, integer: true }),
|
||||
rouge: new fields.NumberField({ initial: 0, integer: true }),
|
||||
noire: new fields.NumberField({ initial: 0, integer: true })
|
||||
}),
|
||||
vitesse: new fields.SchemaField({
|
||||
value: new fields.NumberField({ initial: 0, integer: true })
|
||||
}),
|
||||
combat: new fields.SchemaField({
|
||||
initbonus: new fields.NumberField({ initial: 0, integer: true }),
|
||||
vitessebonus: new fields.NumberField({ initial: 0, integer: true }),
|
||||
bonusdegats: new fields.NumberField({ initial: 0, integer: true }),
|
||||
attaquebonus: new fields.NumberField({ initial: 0, integer: true }),
|
||||
defensebonus: new fields.NumberField({ initial: 0, integer: true }),
|
||||
defensetotale: new fields.BooleanField({ initial: false }),
|
||||
monte: new fields.BooleanField({ initial: false })
|
||||
})
|
||||
};
|
||||
}
|
||||
}
|
||||
23
modules/models/profil.mjs
Normal file
23
modules/models/profil.mjs
Normal file
@@ -0,0 +1,23 @@
|
||||
/**
|
||||
* Data model pour les profils
|
||||
*/
|
||||
export default class ProfilDataModel extends foundry.abstract.TypeDataModel {
|
||||
static defineSchema() {
|
||||
const fields = foundry.data.fields;
|
||||
return {
|
||||
description: new fields.HTMLField({ initial: "" }),
|
||||
exemples: new fields.StringField({ initial: "" }),
|
||||
attribut1: new fields.StringField({ initial: "" }),
|
||||
attribut2: new fields.StringField({ initial: "" }),
|
||||
attribut3: new fields.StringField({ initial: "" }),
|
||||
competences: new fields.StringField({ initial: "" }),
|
||||
talentsinitie: new fields.StringField({ initial: "" }),
|
||||
prerequisaguerri: new fields.StringField({ initial: "" }),
|
||||
talentsaguerri: new fields.StringField({ initial: "" }),
|
||||
prerequismaitre: new fields.StringField({ initial: "" }),
|
||||
talentsmaitre: new fields.StringField({ initial: "" }),
|
||||
celluleinfo: new fields.StringField({ initial: "" }),
|
||||
equipement: new fields.StringField({ initial: "" })
|
||||
};
|
||||
}
|
||||
}
|
||||
19
modules/models/protection.mjs
Normal file
19
modules/models/protection.mjs
Normal file
@@ -0,0 +1,19 @@
|
||||
/**
|
||||
* Data model pour les protections
|
||||
*/
|
||||
export default class ProtectionDataModel extends foundry.abstract.TypeDataModel {
|
||||
static defineSchema() {
|
||||
const fields = foundry.data.fields;
|
||||
return {
|
||||
description: new fields.HTMLField({ initial: "" }),
|
||||
prixpo: new fields.NumberField({ initial: 0, integer: true }),
|
||||
prixca: new fields.NumberField({ initial: 0, integer: true }),
|
||||
prixsc: new fields.NumberField({ initial: 0, integer: true }),
|
||||
rarete: new fields.NumberField({ initial: 0, integer: true }),
|
||||
quantite: new fields.NumberField({ initial: 1, integer: true }),
|
||||
equipped: new fields.BooleanField({ initial: false }),
|
||||
protection: new fields.NumberField({ initial: 0, integer: true }),
|
||||
adversitepoids: new fields.NumberField({ initial: 0, integer: true })
|
||||
};
|
||||
}
|
||||
}
|
||||
12
modules/models/ressource.mjs
Normal file
12
modules/models/ressource.mjs
Normal file
@@ -0,0 +1,12 @@
|
||||
/**
|
||||
* Data model pour les ressources
|
||||
*/
|
||||
export default class RessourceDataModel extends foundry.abstract.TypeDataModel {
|
||||
static defineSchema() {
|
||||
const fields = foundry.data.fields;
|
||||
return {
|
||||
pointdev: new fields.NumberField({ initial: 0, integer: true }),
|
||||
description: new fields.HTMLField({ initial: "" })
|
||||
};
|
||||
}
|
||||
}
|
||||
30
modules/models/talent.mjs
Normal file
30
modules/models/talent.mjs
Normal file
@@ -0,0 +1,30 @@
|
||||
/**
|
||||
* Data model pour les talents
|
||||
*/
|
||||
export default class TalentDataModel extends foundry.abstract.TypeDataModel {
|
||||
static defineSchema() {
|
||||
const fields = foundry.data.fields;
|
||||
return {
|
||||
description: new fields.HTMLField({ initial: "" }),
|
||||
isautomated: new fields.BooleanField({ initial: false }),
|
||||
automations: new fields.ArrayField(
|
||||
new fields.SchemaField({
|
||||
id: new fields.StringField({ initial: "" }),
|
||||
eventtype: new fields.StringField({ initial: "on-drop" }),
|
||||
name: new fields.StringField({ initial: "" }),
|
||||
bonusname: new fields.StringField({ initial: "vigueur" }),
|
||||
bonus: new fields.NumberField({ initial: 0, integer: true }),
|
||||
competence: new fields.StringField({ initial: "" }),
|
||||
minLevel: new fields.NumberField({ initial: 0, integer: true }),
|
||||
baCost: new fields.NumberField({ initial: 0, integer: true })
|
||||
}),
|
||||
{ initial: [] }
|
||||
),
|
||||
talenttype: new fields.StringField({ initial: "" }),
|
||||
utilisation: new fields.StringField({ initial: "" }),
|
||||
prerequis: new fields.StringField({ initial: "" }),
|
||||
resumebonus: new fields.StringField({ initial: "" }),
|
||||
used: new fields.BooleanField({ initial: false })
|
||||
};
|
||||
}
|
||||
}
|
||||
BIN
packs/aides-de-jeu/000276.ldb
Normal file
BIN
packs/aides-de-jeu/000276.ldb
Normal file
Binary file not shown.
0
packs/aides-de-jeu/000379.log
Normal file
0
packs/aides-de-jeu/000379.log
Normal file
1
packs/aides-de-jeu/CURRENT
Normal file
1
packs/aides-de-jeu/CURRENT
Normal file
@@ -0,0 +1 @@
|
||||
MANIFEST-000377
|
||||
0
packs/aides-de-jeu/LOCK
Normal file
0
packs/aides-de-jeu/LOCK
Normal file
8
packs/aides-de-jeu/LOG
Normal file
8
packs/aides-de-jeu/LOG
Normal file
@@ -0,0 +1,8 @@
|
||||
2026/01/09-17:40:07.997473 7f1c563fe6c0 Recovering log #375
|
||||
2026/01/09-17:40:08.091717 7f1c563fe6c0 Delete type=0 #375
|
||||
2026/01/09-17:40:08.091792 7f1c563fe6c0 Delete type=3 #373
|
||||
2026/01/09-17:44:28.072757 7f1c54bfb6c0 Level-0 table #380: started
|
||||
2026/01/09-17:44:28.072827 7f1c54bfb6c0 Level-0 table #380: 0 bytes OK
|
||||
2026/01/09-17:44:28.079432 7f1c54bfb6c0 Delete type=0 #378
|
||||
2026/01/09-17:44:28.105106 7f1c54bfb6c0 Manual compaction at level-0 from '!journal!MUbViCE2PkVxlzqe' @ 72057594037927935 : 1 .. '!journal.pages!gVybbv17TFY8o3Y4.fQidyqfF1TbsZKHM' @ 0 : 0; will stop at (end)
|
||||
2026/01/09-17:44:28.117150 7f1c54bfb6c0 Manual compaction at level-1 from '!journal!MUbViCE2PkVxlzqe' @ 72057594037927935 : 1 .. '!journal.pages!gVybbv17TFY8o3Y4.fQidyqfF1TbsZKHM' @ 0 : 0; will stop at (end)
|
||||
8
packs/aides-de-jeu/LOG.old
Normal file
8
packs/aides-de-jeu/LOG.old
Normal file
@@ -0,0 +1,8 @@
|
||||
2026/01/08-08:15:08.713116 7f93ea7fc6c0 Recovering log #371
|
||||
2026/01/08-08:15:08.722804 7f93ea7fc6c0 Delete type=3 #369
|
||||
2026/01/08-08:15:08.722873 7f93ea7fc6c0 Delete type=0 #371
|
||||
2026/01/08-08:28:05.068912 7f93e9ffb6c0 Level-0 table #376: started
|
||||
2026/01/08-08:28:05.068957 7f93e9ffb6c0 Level-0 table #376: 0 bytes OK
|
||||
2026/01/08-08:28:05.106033 7f93e9ffb6c0 Delete type=0 #374
|
||||
2026/01/08-08:28:05.217659 7f93e9ffb6c0 Manual compaction at level-0 from '!journal!MUbViCE2PkVxlzqe' @ 72057594037927935 : 1 .. '!journal.pages!gVybbv17TFY8o3Y4.fQidyqfF1TbsZKHM' @ 0 : 0; will stop at (end)
|
||||
2026/01/08-08:28:05.217719 7f93e9ffb6c0 Manual compaction at level-1 from '!journal!MUbViCE2PkVxlzqe' @ 72057594037927935 : 1 .. '!journal.pages!gVybbv17TFY8o3Y4.fQidyqfF1TbsZKHM' @ 0 : 0; will stop at (end)
|
||||
BIN
packs/aides-de-jeu/MANIFEST-000377
Normal file
BIN
packs/aides-de-jeu/MANIFEST-000377
Normal file
Binary file not shown.
BIN
packs/armes/000275.ldb
Normal file
BIN
packs/armes/000275.ldb
Normal file
Binary file not shown.
0
packs/armes/000378.log
Normal file
0
packs/armes/000378.log
Normal file
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user