totem picker done
This commit is contained in:
+3
-1
@@ -171,8 +171,10 @@ ul.unstyled li {
|
||||
|
||||
}
|
||||
|
||||
.system-vermine2047 .char-header h1.char-name {
|
||||
.system-vermine2047 .char-header h1.char-name,
|
||||
.system-vermine2047 .char-vermine2047 {
|
||||
border-bottom: none;
|
||||
line-height: 2rem;
|
||||
}
|
||||
|
||||
.system-vermine2047 .char-vermine2047 {
|
||||
|
||||
+88
-10
@@ -172,16 +172,94 @@
|
||||
"VERMINE.skill_level.legend": "Légende",
|
||||
|
||||
"TOTEMS": {
|
||||
"human": { "name": "L'Humain", "number":1},
|
||||
"predator": { "name": "Le prédateur", "number":2},
|
||||
"scavenger": { "name": "Le Charognard", "number":3},
|
||||
"symbiote": { "name": "Le Symbiote", "number":4},
|
||||
"parasite": { "name": "Le Parasite", "number":5},
|
||||
"builder": { "name": "Le Bâtisseur", "number":6},
|
||||
"horde": { "name": "La Horde", "number":7},
|
||||
"hive": { "name": "La Ruche", "number":8},
|
||||
"loner": { "name": "Le solitaire", "number":9},
|
||||
"adapted": { "name": "L'adapté", "number":10}
|
||||
"human": {
|
||||
"name": "L'Humain",
|
||||
"number":1,
|
||||
"description":"",
|
||||
"instincts" : "",
|
||||
"bans" : "",
|
||||
"opposite": "adapted"
|
||||
},
|
||||
"predator": {
|
||||
"name": "Le prédateur",
|
||||
"number":2,
|
||||
"description":"Totem emblématique, le Prédateur a toujours été l’un des plus répandus dans le règne animal, et il reste de loin celui qui influence le plus grand nombre d’espèces aujourd’hui. On l’observe aussi bien chez les mammifères que chez de minuscules insectes, en meute comme en solitaire. Il inspire les comportements de traque, de chasse et d’affrontement essentiels à l’alimentation, mais il ne prône qu’une violence justifiée, nécessaire et vitale. Selon les peuples et les cultures, il a longtemps été symbolisé par le lion, l’aigle ou le chasseur, et ses valeurs guerrières ont toujours revêtu une certaine forme de noblesse. Un prédateur ne tue pas : il triomphe. Un prédateur ne fuit pas : il perd, ou il meurt",
|
||||
"instincts" : "Triompher, relever un défi, prendre l’initiative, atteindre un objectif.",
|
||||
"bans" : "Fuir, abandonner, renoncer,faire preuve de lâcheté.",
|
||||
"behaviour" : "Déterminé, implacable,courageux, dominant.",
|
||||
"opposite": "scavenger"
|
||||
},
|
||||
"scavenger": {
|
||||
"name": "Le Charognard",
|
||||
"number":3,
|
||||
"description":"Dans un écosystème dominé par la loi du plus fort, certains ont pris le parti d’attendre que la mort fasse son œuvre, quitte à se contenter des restes. Poissons de fond, plantes carnivores, pillards, insectes nécrophages, vautours ou meutes de loups trop faibles pour s’attaquer seuls aux proies de grande taille : le Charognard inspire toutes les espèces qui ont fait de la patience une de leurs rares vertus, et misent sur la faiblesse, la blessure, la fatigue ou l’opportunité pour se nourrir. Il règne sur les régions hostiles où le soleil, la chaleur ou le froid font son jeu, et se développe souvent dans l’ombre du Prédateur, avec qui il entretient une relation quasi symbiotique",
|
||||
"instincts" : "Achever, saboter, affaiblir, s’en prendre au plus faible.",
|
||||
"bans" : "Affronter, s’exposer, agir de façon compulsive, s’apitoyer.",
|
||||
"behaviour" : "Sournois, calculateur, impitoyable",
|
||||
"opposite": "predator"
|
||||
},
|
||||
"symbiote": {
|
||||
"name": "Le Symbiote",
|
||||
"number":4,
|
||||
"description":"Symbole d’entraide, d’équilibre et d’harmonie, le Symbiote se définit par la relation d’échange et de réciprocité où chaque partie profite de ce que l’autre apporte, quels que soient ses besoins ou ses motivations. Très courante dans le règne végétal, où de nombreuses fleurs et plantes l’ont instaurée avec les pollinisateurs, cette relation de symbiose s’observe également chez les insectes, les mammifères et les êtres humains. Elle peut être ponctuelle, issue des liens du sang, liée à un territoire ou un projet commun, et rien ne l’empêche d’être motivée par le profit ou l’intérêt, tant qu’elle est réciproque – ce qui distingue le Symbiote du Parasite.",
|
||||
"instincts" : "Partager, transmettre, équilibrer, trouver un compromis",
|
||||
"bans" : "Exploiter, abuser, profiter de la faiblesse, mettre en danger",
|
||||
"behaviour" : "Bienveillant, responsable, diplomate, modéré.",
|
||||
"opposite": "parasite"
|
||||
},
|
||||
"parasite": {
|
||||
"name": "Le Parasite",
|
||||
"number":5,
|
||||
"description":"Totem des infections, des basses œuvres et des épidémies, le Parasite a toujours joué un rôle funeste dans le destin de l’humanité, jusqu’à en devenir le fléau. Symbolisé par les moustiques, il s’observe également chez de nombreux champignons, végétaux et insectes incapables de survivre, de se nourrir ou de se reproduire sans un hôte, et toujours à ses dépens. Le Parasite exploite, profite, abuse sans états d’âme, mu par la seule démarche de prendre ce qu’un autre possède et dont il a besoin. Avec le Prédateur, c’est l’un des Totems les plus présents et les plus redoutés, tant les comportements qu’il inspire peuvent ruiner tout espoir de survie.",
|
||||
"instincts" : "Profiter, manipuler, voler, exploiter.",
|
||||
"bans" : "Partager, contribuer, tenir une promesse, prendre par la force",
|
||||
"behaviour" : "Manipulateur, menteur, égoïste, profiteur",
|
||||
"opposite": "symbiote"
|
||||
},
|
||||
"builder": {
|
||||
"name": "Le Bâtisseur",
|
||||
"number":6,
|
||||
"description":"Souvent confondu avec la Ruche en raison des constructions géantes typiques de certaines espèces sociales, le Bâtisseur n’est pas le Totem de la communauté, mais celui de la fondation. À l’image des termites, des castors, de la plupart des oiseaux ou de certaines espèces d’araignées, il se caractérise par l’acte de construction, de création ou de modification, et s’observe aussi bien chez des groupes que chez des individus. Avec la Ruche, le Symbiote et la Horde, c’est l’un des Totems les plus courants chez les communautés humaines, dont il inspire les édifices, les inventions et les réparations.",
|
||||
"instincts" : "Fonder, créer, s’installer durablement, nouer des liens.",
|
||||
"bans" : "Détruire, saboter, quitter une communauté, provoquer le chaos",
|
||||
"behaviour" : "Réfléchi, organisé, pragmatique, constant.",
|
||||
"opposite": "horde"
|
||||
},
|
||||
"horde": {
|
||||
"name": "La Horde",
|
||||
"number":7,
|
||||
"description":"Fléau des cultures depuis la nuit des temps, la Horde est à l’image des nuées de criquets, des meutes de carnivores ou des tribus de nomades qui la représentent : imprévisible, impitoyable et sans visage. Au-delà de ses aspects collectifs, ce Totem redoutable se caractérise surtout par sa violence et sa méthode d’action. Là où le Prédateur tue, la Horde brûle, pille, dévaste pour parvenir à ses fins sans le moindre état d’âme. Elle inspire ceux qui prennent par la force, qui détruisent, qui ravagent et qui refusent toute forme de compromis, quelles que soient leur démarche ou leurs motivations.",
|
||||
"instincts" : "Piller, détruire, prendre par la force, miser sur le nombre",
|
||||
"bans" : "Négocier, épargner, faire des réserves, planifier à long terme.",
|
||||
"behaviour" : "Violent, imprévisible, destructeur, radical.",
|
||||
"opposite": "builder"
|
||||
},
|
||||
"hive": {
|
||||
"name": "La Ruche",
|
||||
"number":8,
|
||||
"description":"Fourmis, abeilles, termites, factions aux règles strictes : la Ruche est le Totem des créatures sociales et des communautés humaines par excellence. Des cellules familiales aux multinationales, des meutes organisées aux super-colonies de plusieurs milliards d’individus, la Ruche est caractérisée par l’organisation, la hiérarchie, le dévouement et la conscience aigüe du rôle que chacun doit jouer dans l’intérêt commun, plus que par la notion de communauté elle-même. Elle s’appuie bien souvent sur un ensemble de règles, des tâches attribuées, des rôles identifiés – une philosophie qui proscrit tout individualisme et condamne toute désobéissance.",
|
||||
"instincts" : "Organiser, œuvrer pour la communauté, respecter la hiérarchie, privilégier l’intérêt collectif",
|
||||
"bans" : "trahir, désobéir, mettre sa communauté en danger, faire preuve d’individualisme.",
|
||||
"behaviour" : "Méthodique, autoritaire, consciencieux, rigide",
|
||||
"opposite": "loner"
|
||||
},
|
||||
"loner": {
|
||||
"name": "Le solitaire",
|
||||
"number":9,
|
||||
"description":"Survivre, quoi qu’il en coûte. Sans cruauté, sans états d’âme, mais à tout prix. À l’inverse de la Ruche qui loue le sacrifice s’il est accompli dans l’intérêt du groupe, le Solitaire incarne le plus fondamental des réflexes : celui de la survie. Ni individualiste, ni franchement égoïste, il fait seulement passer ses propres intérêts, ses urgences et ses nécessités avant tout, quitte à trahir, à décevoir, à quitter ou à tuer. Rien n’empêche un Solitaire de trouver une place durable dans un groupe, d’y jouer un rôle précis ou même de suivre des règles établies, tant qu’elles ne heurtent pas ses propres convictions et qu’elles ne mettent pas en péril son bien le plus précieux : sa vie.",
|
||||
"instincts" : "Survivre, anticiper, s’adapter, faire passer sa vie avant tout",
|
||||
"bans" : "Se sacrifier, risquer sa vie, dépendre de quelqu’un, se résigner.",
|
||||
"behaviour" : "Indépendant, lucide, autonome, réactif.",
|
||||
"opposite": "hive"
|
||||
},
|
||||
"adapted": {
|
||||
"name": "L'adapté",
|
||||
"number":10,
|
||||
"description":"Évoluer ou mourir. Changer ou disparaître. L’Adapté est le Totem de la nécessité, de la survie et de l’évolution. Ni positif, ni négatif, il est présent partout. Il est cette dynamique, ce principe fondamental qui rythme les mutations des espèces et qui rappelle que l’Homme est la seule forme de vie à tenter de contrôler sa propre évolution. L’Adapté ne possède ni Interdit, ni Instinct spécifique. Aucun comportement n’est inapproprié, s’il permet de faire face et de survivre, et les Instincts de tous les autres Totems le renforcent. Seul l’Humain lutte contre son influence…",
|
||||
"instincts" : "Tous ceux des huit Totems majeurs",
|
||||
"bans" : "Aucun…",
|
||||
"opposite": "human"
|
||||
}
|
||||
},
|
||||
"ABILITY_CATEGORIES": {
|
||||
"physical": { "name": "Physique"},
|
||||
|
||||
@@ -272,7 +272,7 @@ export class VermineCharacterSheet extends VermineActorSheet {
|
||||
const el = event.currentTarget;
|
||||
// const dataset = el.dataset;
|
||||
|
||||
const totemPicker = new TotemPicker(el);
|
||||
const totemPicker = new TotemPicker(el, this.actor);
|
||||
totemPicker.render(true);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
export class TotemPicker extends Application {
|
||||
|
||||
constructor(element) {
|
||||
super();
|
||||
}
|
||||
|
||||
constructor(linkEl, actor) {
|
||||
super();
|
||||
this.linkEl = linkEl;
|
||||
this.actor = actor;
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static get defaultOptions() {
|
||||
@@ -20,8 +22,9 @@ export class TotemPicker extends Application {
|
||||
|
||||
getData() {
|
||||
// Send data to the template
|
||||
|
||||
return {
|
||||
config: CONFIG.VERMINE
|
||||
config: CONFIG.VERMINE,
|
||||
/*anarchy: this.gmAnarchy.getAnarchy(),
|
||||
convergences: this.gmConvergence.getConvergences(),
|
||||
difficultyPools: this.gmDifficulty.getDifficultyData(),
|
||||
@@ -33,10 +36,16 @@ export class TotemPicker extends Application {
|
||||
|
||||
activateListeners(html) {
|
||||
super.activateListeners(html);
|
||||
// html.find('.app-title-bar').mousedown(event => this.handleDrag.onMouseDown(event));
|
||||
html.find('.totem').click(event => {
|
||||
const totem = $(event.target).parent('a').data('totem');
|
||||
if (totem != null){
|
||||
this.actor.update({ 'system.identity.totem': totem });
|
||||
}
|
||||
|
||||
async _updateObject(event, formData) {
|
||||
});
|
||||
}
|
||||
|
||||
/*async _updateObject(event, formData) {
|
||||
// console.log(formData.exampleInput);
|
||||
}
|
||||
}*/
|
||||
}
|
||||
|
||||
@@ -77,6 +77,18 @@ VERMINE.totems = {
|
||||
"loner": "TOTEMS.loner.name",
|
||||
"adapted": "TOTEMS.adapted.name"
|
||||
}
|
||||
VERMINE.totem_opposites = {
|
||||
"human":"TOTEMS.adapted.name",
|
||||
"predator": "TOTEMS.scavenger.name" ,
|
||||
"scavenger": "TOTEMS.predator.name" ,
|
||||
"symbiote": "TOTEMS.parasite.name" ,
|
||||
"parasite": "TOTEMS.symbiote.name" ,
|
||||
"builder": "TOTEMS.horde.name" ,
|
||||
"horde": "TOTEMS.builder.name" ,
|
||||
"hive": "TOTEMS.loner.name" ,
|
||||
"loner": "TOTEMS.hive.name",
|
||||
"adapted": "TOTEMS.human.name"
|
||||
}
|
||||
|
||||
VERMINE.origins = {"aon":"Aon",
|
||||
"avhorae": "Avhorae" ,
|
||||
|
||||
@@ -46,6 +46,20 @@ export const registerHandlebarsHelpers = function () {
|
||||
return game.i18n.localize(arrayLabel +"."+objectLabel+".name");
|
||||
});
|
||||
|
||||
Handlebars.registerHelper('smarttlk', function (arrayLabel,objectLabel, key) {
|
||||
return game.i18n.localize(arrayLabel +"."+objectLabel+"."+key);
|
||||
});
|
||||
|
||||
Handlebars.registerHelper('smartcfg', function (configLabel, objectLabel) {
|
||||
let text = "";
|
||||
text = game.i18n.localize(CONFIG.VERMINE[configLabel][objectLabel]);
|
||||
if (text == null){
|
||||
text = CONFIG.VERMINE[configLabel][objectLabel];
|
||||
}
|
||||
return text;
|
||||
|
||||
});
|
||||
|
||||
// return skill level information
|
||||
Handlebars.registerHelper('skillLevel', function (property, level, options) {
|
||||
if (level < 1 || level > 5)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<!-- HEADER -->
|
||||
<header class="char-header grid grid-2col">
|
||||
<section class="char-details">
|
||||
<h1 class="char-name flexrow flex-group-left">
|
||||
<h1 class="char-name flexrow flex-group-left w-full">
|
||||
<label>{{ localize 'IDENTITY.name' }}</label>
|
||||
<input name="name" type="text" value="{{actor.name}}" placeholder="{{localize "VERMINE.CharacterNamePlaceholder"}}" />
|
||||
</h1>
|
||||
@@ -11,21 +11,21 @@
|
||||
</div>
|
||||
<div class="flexrow flex-group-center">
|
||||
<label for="system.identity.age">{{ localize 'IDENTITY.age' }}</label>
|
||||
<div>
|
||||
<div class="flexrow row">
|
||||
<input type="number" name="system.identity.age" value="{{ system.identity.age }}" data-dtype="Number"/>
|
||||
<span id="ageType">({{ ageType "name" system.identity.ageType }})</span>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section class="char-level">
|
||||
<div class="char-vermine2047 flexrow flex-group-center">
|
||||
<h1 class="char-vermine2047 flexrow flex-group-left w-full">
|
||||
<label for="system.identity.totem">{{ localize 'IDENTITY.totem' }}</label>
|
||||
{{#if (eq system.identity.totem "")}}
|
||||
<a name="chooseTotem" class="chooseTotem">Choisissez votre totem</button>
|
||||
{{ else }}
|
||||
<a name="chooseTotem" class="chooseTotem">{{ smarttl "TOTEMS" system.identity.totem }}</button>
|
||||
{{/if}}
|
||||
</div>
|
||||
</h1>
|
||||
<div class="reputation flexrow flex-group-center">
|
||||
<label>{{ localize 'VERMINE.reputation' }}</label>
|
||||
<input name="system.attributes.reputation.value" type="text" value="{{system.attributes.reputation.value }}" data-dtype="Number" />
|
||||
|
||||
@@ -1,8 +1,17 @@
|
||||
<div class="totem choose">
|
||||
{{#each config.totems as | totem tk|}}
|
||||
{{#if (ne tk "human")}}
|
||||
{{#if (ne tk "adapted")}}
|
||||
<div class="flexrow row mdb">
|
||||
<label for="system.identity.totem">{{ localize 'IDENTITY.totem' }}</label>
|
||||
<select name="system.identity.totem" class="w-full">
|
||||
{{selectOptions config.totems selected=system.identity.totem localize=true}}
|
||||
</select>
|
||||
<h4 style="flex:20%;"><a class="totem" data-totem="{{ tk }}" title="{{ smarttlk "TOTEMS" tk "description"}}"><img src="" alt="{{ localize totem }}" /></a></h4>
|
||||
<p style="flex:80%;">
|
||||
<strong>Instincts</strong> : {{ smarttlk "TOTEMS" tk "instincts"}}<br>
|
||||
<strong>Interdits</strong> : {{ smarttlk "TOTEMS" tk "bans"}}<br>
|
||||
<strong>Comportements</strong> : {{ smarttlk "TOTEMS" tk "behaviour"}}<br>
|
||||
<strong>Totem opposé</strong> : {{ smartcfg "totem_opposites" tk }}<br>
|
||||
</p>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
{{/each}}
|
||||
</div>
|
||||
Reference in New Issue
Block a user