Global
Ces fonctions doivent être définies avec une portée globale. Si vous ne souhaitez pas utiliser une de ces fonctionnalités, ne définissez simplement pas la fonction.
init(sheet)
sheet
, typeSheet
: La feuille à initialiser.- Retourne :
void
.
Initialise une feuille, comme une feuille de personnage ou de craft.
Vous pouvez obtenir le type de feuille via sheet.id()
.
Les onglets de tabs ne sont pas initialisés individuellement, et devraient être initialisés comme s'ils faisaient partie de la vue parente.
Exemple :
init = function(sheet) {
if (sheet.id() === "main") {
initMain(sheet);
}
else if (sheet.id() === "weapon") {
initWeapon(sheet);
}
};
const initMain = function(sheet) {
// initialize the main sheet
sheet.get("hp"); // ...
};
const initWeapon = function(sheet) {
// initialize the weapon sheet
// ...
};
drop(from, to)
from
, typeSheet
: La feuille source.to
, typeSheet
: La feuille de destination.- Retourne :
void|string
.
Cette fonction est appelée quand vous glissez-déposez un craft sur une feuille de personnage.
Si vous voulez simplement ajouter les données à un repeater, retournez l'id de ce repeater. Sinon, vous devrez manipuler les données de la feuille de destination.
Pour le moment, il est seulement possible de déposer un craft dans une feuille de personnage.
Exemples :
drop = function(from, to) {
if (from.id() === "weapon" && to.id() === "main") {
return "weapons"; // "weapons" is a repeater id
}
};
drop = function(from, to) {
if (from.id() === "heal" && to.id() === "main") {
to.get("hp").value(
from.get("maxhp").value()
); // set the target's hp to the source maxhp
}
};
dropDice(result, to)
result
, typeDiceResult
: Le résultat d'un jet de dé dans le Dice Log.sheet
, typeSheet
: La feuille de destination.- Retourne :
void
.
Pour certains systèmes, il peut être utile de glisser-déposer un résultat de jet de dé dans la feuille. Avec cette fonction, vous pouvez créer une interaction entre le Dice Log et une feuille de personnage ou un craft.
Exemple :
dropDice = function(result, sheet) {
if (result.containsTag("heal")) {
let hp = sheet.get("hp");
hp.value(hp.value() + result.total); // le personnage est soigné du total du jet de dé
}
};
initRoll(result, callback)
result
, typeDiceResult
: Le résultat d'un jet de dé dans le Dice Log.callback
, typeFunction
: Une fonction callback pour afficher le résultat du jet.- Retourne :
void
.
Cette fonction vous permet de personnaliser l'affichage du résultat d'un jet de dé. Vous devrez appeler cette fonction callback avec ces deux arguments :
view
, typestring
: L'identifiant de la vue que vous voulez utiliser pour afficher le résultat du jetonRender
, typeFunction
: Une fonction appelée lorsque la vue s'affichera, dans laquelle vous pouvez changer les données de cette vue. Merci de noter que la vue est aussi initialisée dans la fonction globale init().
Exemple :
initRoll = function(result, callback) {
callback('diceresult', function(sheet) { // diceresult est l'identifiant de la vue que vous voulez utiliser
sheet.get('total').text(result.total); // appliquez différents changements à la vue
if (result.total > 20) {
sheet.get('total').addClass('text-large');
}
});
};
getReferences(sheet)
sheet
, typeSheet
: La feuille avec ses références.- Retourne :
Object
.
Si vous souhaitez créer des références par programmation (références avec '@' dans un Label "computed"), vous pouvez utiliser cette méthode. Retourne un objet avec les identifiants des références comme clé et le contenu de la référence comme valeur. Les valeurs sont interprétées. Cette fonction n'est appelée automatiquement qu'une fois à l'init d'une vue. Même si vous l'appelez à nouveau (pour rafraîchir la valeur de la référence par exemple), cela ne fonctionnera pas.
Exemple :
getReferences = function(sheet) {
return {
"halfHp": sheet.get("hp").value() / 2, // numeric value
"defaultBonus": "5 + 8", // simple reference,
"bonus": "@strength + @defaultBonus" // reference others
};
};
getBarAttributes(sheet)
sheet
, typeSheet
: La feuille à laquelle seront rattachées les barres de son token.- Retourne :
Object
.
Les joueurs peuvent connecter les barres de leur token aux attributs de
leur personnage avec cette fonction. Elle requière d'avoir une valeur et
une valeur maximale. Cette méthode retourne un Object
avec les titres
des barres comme clés, et un Array(2)
(tableau de deux éléments) où le
premier élément est la valeur courante, et le second, la valeur maximale
de la barre.
La barre du token se met à jour quand la feuille est changée, et la feuille se met à jour quand la valeur de la barre est modifiée
Exemple :
getBarAttributes = function (sheet) { // [triggered when dropping a token onto a scene] adds options to the "Connect to" dropdown menu. The selected field will be displayed as a dynamic gauge on the token
if (sheet.id() === "main") { // limits the code to the cases where it's a character being dropped onto the scene, as opposed to a craft for example.
return {
"Hunger": ['counter_hunger', 5],
"Willpower": ["counter_willpower", "counter_willpower_max"],
"Health": ['counter_health', 'counter_health_max']
};
}
if (sheet.id() === "monster") {
return {
"HP": ["hp", "hpmax"],
"Mana": ["mana", 30] // you can use numbers directly for maximums
};
}
};
getCriticalHits(result)
result
, type: DiceResult
Cette fonction globale permet de personnaliser les couleurs des résultats des jets de dé.
Elle doit retourner un object, avec pour chaque dimension de dé, un autre objet qui associe une couleur avec les valeurs possibles.
Voici un exemple :
getCriticalHits = function(result) {
return {
"20": {
"critical": [20, 19],
"fumble": [1],
},
"6": {
"critical": [],
"fumble": [],
"cyan": [2, 3],
"pink": [1]
}
}
}
Dans cet exemple, les dés seront affichés en vert "critique" sur 19 et 20, et en rouge "fumble" sur les 1, uniquement sur les d20. Sur les d6, les couleurs ne changent pas pour les critiques et fumbles, en revanche les 2 et 3 sont en bleu, et les 1 en rose.
result
est un objet de type DiceResult
qui vous permet de modifier le comportement en fonction des résultats ou des tags associés au jet, par exemple.
Les différentes couleurs disponibles sont les suivantes :
critical
fumble
red
orange
yellow
green
cyan
magenta
pink