Compare commits
9 Commits
fvtt-ecrym
...
fvtt-ecrym
Author | SHA1 | Date | |
---|---|---|---|
0487893f47 | |||
d7b7bccbdf | |||
dbf4b17afb | |||
51e5a409c4 | |||
1e4692e850 | |||
40e12c1bba | |||
2450dce46c | |||
67c1066194 | |||
65fe498572 |
16
changelog.md
@ -1,3 +1,19 @@
|
|||||||
|
v12.0.0
|
||||||
|
|
||||||
|
- Support Foundry v11/v12
|
||||||
|
- Correction sur le niveau de jeu par défaut
|
||||||
|
|
||||||
|
v11.0.39
|
||||||
|
|
||||||
|
- Modification sur la prise en compte des traits en bonus/malus
|
||||||
|
- Correction sur les images de l'aide intégrée FR
|
||||||
|
|
||||||
|
v11.0.38
|
||||||
|
|
||||||
|
- Corrections sur les champs background/notes/equipement libre
|
||||||
|
- Taduction des répertoires
|
||||||
|
- Ajout de 2 landing pages
|
||||||
|
|
||||||
v11.0.36
|
v11.0.36
|
||||||
|
|
||||||
- Enable deletion specialization
|
- Enable deletion specialization
|
||||||
|
BIN
images/assets/ecryme_cephalie_01.png
Normal file
After Width: | Height: | Size: 208 KiB |
BIN
images/assets/ecryme_cephalie_02.png
Normal file
After Width: | Height: | Size: 55 KiB |
BIN
images/assets/ecryme_cephalie_03.png
Normal file
After Width: | Height: | Size: 63 KiB |
BIN
images/assets/ecryme_confrontation_01.png
Normal file
After Width: | Height: | Size: 171 KiB |
BIN
images/assets/ecryme_confrontation_02.png
Normal file
After Width: | Height: | Size: 353 KiB |
BIN
images/assets/ecryme_confrontation_03.png
Normal file
After Width: | Height: | Size: 100 KiB |
BIN
images/assets/ecryme_confrontation_04.png
Normal file
After Width: | Height: | Size: 68 KiB |
BIN
images/assets/ecryme_level.png
Normal file
After Width: | Height: | Size: 248 KiB |
@ -11,7 +11,7 @@ export class EcrymeActorSheet extends ActorSheet {
|
|||||||
/** @override */
|
/** @override */
|
||||||
static get defaultOptions() {
|
static get defaultOptions() {
|
||||||
|
|
||||||
return mergeObject(super.defaultOptions, {
|
return foundry.utils.mergeObject(super.defaultOptions, {
|
||||||
classes: ["fvtt-ecryme", "sheet", "actor"],
|
classes: ["fvtt-ecryme", "sheet", "actor"],
|
||||||
template: "systems/fvtt-ecryme/templates/actors/actor-sheet.hbs",
|
template: "systems/fvtt-ecryme/templates/actors/actor-sheet.hbs",
|
||||||
width: 860,
|
width: 860,
|
||||||
@ -33,7 +33,7 @@ export class EcrymeActorSheet extends ActorSheet {
|
|||||||
name: this.actor.name,
|
name: this.actor.name,
|
||||||
editable: this.isEditable,
|
editable: this.isEditable,
|
||||||
cssClass: this.isEditable ? "editable" : "locked",
|
cssClass: this.isEditable ? "editable" : "locked",
|
||||||
system: duplicate(this.object.system),
|
system: foundry.utils.duplicate(this.object.system),
|
||||||
limited: this.object.limited,
|
limited: this.object.limited,
|
||||||
skills: this.actor.prepareSkills(),
|
skills: this.actor.prepareSkills(),
|
||||||
traits: this.actor.getRollTraits(),
|
traits: this.actor.getRollTraits(),
|
||||||
@ -41,17 +41,17 @@ export class EcrymeActorSheet extends ActorSheet {
|
|||||||
ideal: this.actor.getIdeal(),
|
ideal: this.actor.getIdeal(),
|
||||||
spleen: this.actor.getSpleen(),
|
spleen: this.actor.getSpleen(),
|
||||||
impacts: this.object.getImpacts(),
|
impacts: this.object.getImpacts(),
|
||||||
config: duplicate(game.system.ecryme.config),
|
config: foundry.utils.duplicate(game.system.ecryme.config),
|
||||||
weapons: this.actor.getWeapons(),
|
weapons: this.actor.getWeapons(),
|
||||||
maneuvers: this.actor.getManeuvers(),
|
maneuvers: this.actor.getManeuvers(),
|
||||||
impactsMalus: this.actor.getImpactsMalus(),
|
impactsMalus: this.actor.getImpactsMalus(),
|
||||||
archetype: duplicate(this.actor.getArchetype()),
|
archetype: foundry.utils.duplicate(this.actor.getArchetype()),
|
||||||
equipments: this.actor.getEquipments(),
|
equipments: this.actor.getEquipments(),
|
||||||
hasCephaly: EcrymeUtility.hasCephaly(),
|
hasCephaly: EcrymeUtility.hasCephaly(),
|
||||||
hasBoheme: EcrymeUtility.hasBoheme(),
|
hasBoheme: EcrymeUtility.hasBoheme(),
|
||||||
hasAmertume: EcrymeUtility.hasAmertume(),
|
hasAmertume: EcrymeUtility.hasAmertume(),
|
||||||
cephalySkills: this.actor.getCephalySkills(),
|
cephalySkills: this.actor.getCephalySkills(),
|
||||||
subActors: duplicate(this.actor.getSubActors()),
|
subActors: foundry.utils.duplicate(this.actor.getSubActors()),
|
||||||
annency: this.actor.getAnnency(),
|
annency: this.actor.getAnnency(),
|
||||||
description: await TextEditor.enrichHTML(this.object.system.biodata.description, { async: true }),
|
description: await TextEditor.enrichHTML(this.object.system.biodata.description, { async: true }),
|
||||||
notes: await TextEditor.enrichHTML(this.object.system.biodata.notes, { async: true }),
|
notes: await TextEditor.enrichHTML(this.object.system.biodata.notes, { async: true }),
|
||||||
@ -90,6 +90,9 @@ export class EcrymeActorSheet extends ActorSheet {
|
|||||||
html.find('.item-edit').click(ev => {
|
html.find('.item-edit').click(ev => {
|
||||||
const li = $(ev.currentTarget).parents(".item")
|
const li = $(ev.currentTarget).parents(".item")
|
||||||
let itemId = li.data("item-id")
|
let itemId = li.data("item-id")
|
||||||
|
if (!itemId) {
|
||||||
|
itemId = $(ev.currentTarget).data("item-id")
|
||||||
|
}
|
||||||
const item = this.actor.items.get( itemId );
|
const item = this.actor.items.get( itemId );
|
||||||
item.sheet.render(true);
|
item.sheet.render(true);
|
||||||
});
|
});
|
||||||
|
@ -29,7 +29,7 @@ export class EcrymeActor extends Actor {
|
|||||||
if (data instanceof Array) {
|
if (data instanceof Array) {
|
||||||
return super.create(data, options);
|
return super.create(data, options);
|
||||||
}
|
}
|
||||||
// If the created actor has items (only applicable to duplicated actors) bypass the new actor creation logic
|
// If the created actor has items (only applicable to foundry.utils.duplicated actors) bypass the new actor creation logic
|
||||||
if (data.items) {
|
if (data.items) {
|
||||||
let actor = super.create(data, options);
|
let actor = super.create(data, options);
|
||||||
return actor;
|
return actor;
|
||||||
@ -73,7 +73,7 @@ export class EcrymeActor extends Actor {
|
|||||||
return comp;
|
return comp;
|
||||||
}
|
}
|
||||||
getArchetype() {
|
getArchetype() {
|
||||||
let comp = duplicate(this.items.find(item => item.type == 'archetype') || { name: "Pas d'archetype" })
|
let comp = foundry.utils.duplicate(this.items.find(item => item.type == 'archetype') || { name: "Pas d'archetype" })
|
||||||
if (comp?.system) {
|
if (comp?.system) {
|
||||||
comp.tarot = EcrymeUtility.getTarot(comp.system.lametutelaire)
|
comp.tarot = EcrymeUtility.getTarot(comp.system.lametutelaire)
|
||||||
}
|
}
|
||||||
@ -92,7 +92,7 @@ export class EcrymeActor extends Actor {
|
|||||||
}
|
}
|
||||||
/* ----------------------- --------------------- */
|
/* ----------------------- --------------------- */
|
||||||
addAnnencyActor(actorId) {
|
addAnnencyActor(actorId) {
|
||||||
let members = duplicate(this.system.base.characters)
|
let members = foundry.utils.duplicate(this.system.base.characters)
|
||||||
members.push(actorId)
|
members.push(actorId)
|
||||||
this.update({ 'system.base.characters': members })
|
this.update({ 'system.base.characters': members })
|
||||||
}
|
}
|
||||||
@ -103,7 +103,8 @@ export class EcrymeActor extends Actor {
|
|||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
getAnnency() {
|
getAnnency() {
|
||||||
return game.actors.find(a => a.type == 'annency' && a.system.base.characters.includes(this.id))
|
let annency = game.actors.find(a => a.type == 'annency' && a.system.base.characters.includes(this.id))
|
||||||
|
return annency || {}
|
||||||
}
|
}
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
getConfrontations() {
|
getConfrontations() {
|
||||||
@ -135,7 +136,7 @@ export class EcrymeActor extends Actor {
|
|||||||
}
|
}
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
prepareSkills() {
|
prepareSkills() {
|
||||||
let skills = duplicate(this.system.skills)
|
let skills = foundry.utils.duplicate(this.system.skills)
|
||||||
for (let categKey in skills) {
|
for (let categKey in skills) {
|
||||||
let category = skills[categKey]
|
let category = skills[categKey]
|
||||||
for (let skillKey in category.skilllist) {
|
for (let skillKey in category.skilllist) {
|
||||||
@ -147,22 +148,22 @@ export class EcrymeActor extends Actor {
|
|||||||
}
|
}
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
getCephalySkills() {
|
getCephalySkills() {
|
||||||
let skills = duplicate(this.system.cephaly.skilllist)
|
let skills = foundry.utils.duplicate(this.system.cephaly.skilllist)
|
||||||
return skills
|
return skills
|
||||||
}
|
}
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
getImpacts() {
|
getImpacts() {
|
||||||
let comp = duplicate(this.items.filter(item => item.type == 'impact') || [])
|
let comp = foundry.utils.duplicate(this.items.filter(item => item.type == 'impact') || [])
|
||||||
return comp;
|
return comp;
|
||||||
}
|
}
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
getWeapons() {
|
getWeapons() {
|
||||||
let comp = duplicate(this.items.filter(item => item.type == 'weapon') || [])
|
let comp = foundry.utils.duplicate(this.items.filter(item => item.type == 'weapon') || [])
|
||||||
EcrymeUtility.sortArrayObjectsByName(comp)
|
EcrymeUtility.sortArrayObjectsByName(comp)
|
||||||
return comp;
|
return comp;
|
||||||
}
|
}
|
||||||
getManeuvers() {
|
getManeuvers() {
|
||||||
let comp = duplicate(this.items.filter(item => item.type == 'maneuver') || [])
|
let comp = foundry.utils.duplicate(this.items.filter(item => item.type == 'maneuver') || [])
|
||||||
EcrymeUtility.sortArrayObjectsByName(comp)
|
EcrymeUtility.sortArrayObjectsByName(comp)
|
||||||
return comp;
|
return comp;
|
||||||
}
|
}
|
||||||
@ -170,7 +171,7 @@ export class EcrymeActor extends Actor {
|
|||||||
getItemById(id) {
|
getItemById(id) {
|
||||||
let item = this.items.find(item => item.id == id);
|
let item = this.items.find(item => item.id == id);
|
||||||
if (item) {
|
if (item) {
|
||||||
item = duplicate(item)
|
item = foundry.utils.duplicate(item)
|
||||||
}
|
}
|
||||||
return item;
|
return item;
|
||||||
}
|
}
|
||||||
@ -205,7 +206,7 @@ export class EcrymeActor extends Actor {
|
|||||||
|
|
||||||
/* ------------------------------------------- */
|
/* ------------------------------------------- */
|
||||||
async buildContainerTree() {
|
async buildContainerTree() {
|
||||||
let equipments = duplicate(this.items.filter(item => item.type == "equipment") || [])
|
let equipments = foundry.utils.duplicate(this.items.filter(item => item.type == "equipment") || [])
|
||||||
for (let equip1 of equipments) {
|
for (let equip1 of equipments) {
|
||||||
if (equip1.system.iscontainer) {
|
if (equip1.system.iscontainer) {
|
||||||
equip1.system.contents = []
|
equip1.system.contents = []
|
||||||
@ -300,13 +301,13 @@ export class EcrymeActor extends Actor {
|
|||||||
getSubActors() {
|
getSubActors() {
|
||||||
let subActors = [];
|
let subActors = [];
|
||||||
for (let id of this.system.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;
|
return subActors;
|
||||||
}
|
}
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
async addSubActor(subActorId) {
|
async addSubActor(subActorId) {
|
||||||
let subActors = duplicate(this.system.subactors);
|
let subActors = foundry.utils.duplicate(this.system.subactors);
|
||||||
subActors.push(subActorId);
|
subActors.push(subActorId);
|
||||||
await this.update({ 'system.subactors': subActors });
|
await this.update({ 'system.subactors': subActors });
|
||||||
}
|
}
|
||||||
@ -377,9 +378,10 @@ export class EcrymeActor extends Actor {
|
|||||||
rollData.actorId = this.id
|
rollData.actorId = this.id
|
||||||
rollData.img = this.img
|
rollData.img = this.img
|
||||||
rollData.isReroll = false
|
rollData.isReroll = false
|
||||||
rollData.traits = duplicate(this.getRollTraits())
|
rollData.config = game.system.ecryme.config
|
||||||
rollData.spleen = duplicate(this.getSpleen() || {})
|
rollData.traits = foundry.utils.duplicate(this.getRollTraits())
|
||||||
rollData.ideal = duplicate(this.getIdeal() || {})
|
rollData.spleen = foundry.utils.duplicate(this.getSpleen() || {})
|
||||||
|
rollData.ideal = foundry.utils.duplicate(this.getIdeal() || {})
|
||||||
rollData.confrontBonus = this.getBonusList()
|
rollData.confrontBonus = this.getBonusList()
|
||||||
|
|
||||||
return rollData
|
return rollData
|
||||||
@ -387,14 +389,30 @@ export class EcrymeActor extends Actor {
|
|||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
getCommonSkill(categKey, skillKey) {
|
getCommonSkill(categKey, skillKey) {
|
||||||
let skill = this.system.skills[categKey].skilllist[skillKey]
|
|
||||||
let rollData = this.getCommonRollData()
|
let rollData = this.getCommonRollData()
|
||||||
|
|
||||||
skill = duplicate(skill)
|
// Specific NPC case
|
||||||
|
let skill
|
||||||
|
if (skillKey == "rawnpc") {
|
||||||
|
skill = {
|
||||||
|
name: "ECRY.ui." + categKey,
|
||||||
|
max: 10,
|
||||||
|
value: this.system.skills[categKey].pnjvalue,
|
||||||
|
spec: []
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
skill = this.system.skills[categKey].skilllist[skillKey]
|
||||||
|
skill = foundry.utils.duplicate(skill)
|
||||||
|
skill.spec = this.getSpecializations(skillKey)
|
||||||
|
}
|
||||||
|
|
||||||
|
rollData.skillLevelOptions = [];
|
||||||
|
for (let i=0; i<=skill.value; i++) {
|
||||||
|
rollData.skillLevelOptions[i] = `${i}`
|
||||||
|
}
|
||||||
|
|
||||||
skill.categKey = categKey
|
skill.categKey = categKey
|
||||||
skill.skillKey = skillKey
|
skill.skillKey = skillKey
|
||||||
skill.spec = this.getSpecializations(skillKey)
|
|
||||||
|
|
||||||
rollData.skill = skill
|
rollData.skill = skill
|
||||||
rollData.img = skill.img
|
rollData.img = skill.img
|
||||||
rollData.impactMalus = this.getImpactMalus(categKey)
|
rollData.impactMalus = this.getImpactMalus(categKey)
|
||||||
@ -416,7 +434,7 @@ export class EcrymeActor extends Actor {
|
|||||||
let spec = this.items.find(it => it.type == "specialization" && it.id == specId)
|
let spec = this.items.find(it => it.type == "specialization" && it.id == specId)
|
||||||
rollData.mode = "skill"
|
rollData.mode = "skill"
|
||||||
rollData.selectedSpecs = [spec.id]
|
rollData.selectedSpecs = [spec.id]
|
||||||
rollData.forcedSpec = duplicate(spec)
|
rollData.forcedSpec = foundry.utils.duplicate(spec)
|
||||||
rollData.title = game.i18n.localize(rollData.skill.name)
|
rollData.title = game.i18n.localize(rollData.skill.name)
|
||||||
this.startRoll(rollData).catch("Error on startRoll")
|
this.startRoll(rollData).catch("Error on startRoll")
|
||||||
}
|
}
|
||||||
@ -429,8 +447,9 @@ export class EcrymeActor extends Actor {
|
|||||||
rollData.executionTotal = rollData.skill.value
|
rollData.executionTotal = rollData.skill.value
|
||||||
rollData.preservationTotal = rollData.skill.value
|
rollData.preservationTotal = rollData.skill.value
|
||||||
rollData.applyTranscendence = "execution"
|
rollData.applyTranscendence = "execution"
|
||||||
rollData.traitsBonus = duplicate(rollData.traits)
|
rollData.traitsBonus = foundry.utils.duplicate(rollData.traits)
|
||||||
rollData.traitsMalus = duplicate(rollData.traits)
|
rollData.traitsMalus = foundry.utils.duplicate(rollData.traits)
|
||||||
|
console.log("ROLLDATA", rollData)
|
||||||
let confrontStartDialog = await EcrymeConfrontStartDialog.create(this, rollData)
|
let confrontStartDialog = await EcrymeConfrontStartDialog.create(this, rollData)
|
||||||
confrontStartDialog.render(true)
|
confrontStartDialog.render(true)
|
||||||
}
|
}
|
||||||
@ -438,17 +457,16 @@ export class EcrymeActor extends Actor {
|
|||||||
async rollCephalySkillConfront(skillKey) {
|
async rollCephalySkillConfront(skillKey) {
|
||||||
let rollData = this.getCommonRollData()
|
let rollData = this.getCommonRollData()
|
||||||
rollData.mode = "cephaly"
|
rollData.mode = "cephaly"
|
||||||
rollData.skill = duplicate(this.system.cephaly.skilllist[skillKey])
|
rollData.skill = foundry.utils.duplicate(this.system.cephaly.skilllist[skillKey])
|
||||||
rollData.annency = duplicate(this.getAnnency())
|
rollData.annency = foundry.utils.duplicate(this.getAnnency())
|
||||||
rollData.img = rollData.skill.img
|
rollData.img = rollData.skill.img
|
||||||
rollData.skill.categKey = "cephaly"
|
rollData.skill.categKey = "cephaly"
|
||||||
rollData.skill.skillKey = skillKey
|
rollData.skill.skillKey = skillKey
|
||||||
//rollData.impactMalus = this.getImpactMalus(categKey)
|
|
||||||
rollData.title = game.i18n.localize("ECRY.ui.cephaly") + " : " + game.i18n.localize(rollData.skill.name)
|
rollData.title = game.i18n.localize("ECRY.ui.cephaly") + " : " + game.i18n.localize(rollData.skill.name)
|
||||||
rollData.executionTotal = rollData.skill.value
|
rollData.executionTotal = rollData.skill.value
|
||||||
rollData.preservationTotal = rollData.skill.value
|
rollData.preservationTotal = rollData.skill.value
|
||||||
rollData.traitsBonus = duplicate(rollData.traits)
|
rollData.traitsBonus = foundry.utils.duplicate(rollData.traits)
|
||||||
rollData.traitsMalus = duplicate(rollData.traits)
|
rollData.traitsMalus = foundry.utils.duplicate(rollData.traits)
|
||||||
rollData.applyTranscendence = "execution"
|
rollData.applyTranscendence = "execution"
|
||||||
let confrontStartDialog = await EcrymeConfrontStartDialog.create(this, rollData)
|
let confrontStartDialog = await EcrymeConfrontStartDialog.create(this, rollData)
|
||||||
confrontStartDialog.render(true)
|
confrontStartDialog.render(true)
|
||||||
@ -464,12 +482,12 @@ export class EcrymeActor extends Actor {
|
|||||||
rollData = this.getCommonSkill("physical", "shooting")
|
rollData = this.getCommonSkill("physical", "shooting")
|
||||||
}
|
}
|
||||||
rollData.mode = "weapon"
|
rollData.mode = "weapon"
|
||||||
rollData.weapon = duplicate(weapon)
|
rollData.weapon = foundry.utils.duplicate(weapon)
|
||||||
rollData.title = game.i18n.localize("ECRY.ui.confrontation") + " : " + game.i18n.localize(rollData.skill.name)
|
rollData.title = game.i18n.localize("ECRY.ui.confrontation") + " : " + game.i18n.localize(rollData.skill.name)
|
||||||
rollData.executionTotal = rollData.skill.value
|
rollData.executionTotal = rollData.skill.value
|
||||||
rollData.preservationTotal = rollData.skill.value
|
rollData.preservationTotal = rollData.skill.value
|
||||||
rollData.traitsBonus = duplicate(rollData.traits)
|
rollData.traitsBonus = foundry.utils.duplicate(rollData.traits)
|
||||||
rollData.traitsMalus = duplicate(rollData.traits)
|
rollData.traitsMalus = foundry.utils.duplicate(rollData.traits)
|
||||||
rollData.applyTranscendence = "execution"
|
rollData.applyTranscendence = "execution"
|
||||||
let confrontStartDialog = await EcrymeConfrontStartDialog.create(this, rollData)
|
let confrontStartDialog = await EcrymeConfrontStartDialog.create(this, rollData)
|
||||||
confrontStartDialog.render(true)
|
confrontStartDialog.render(true)
|
||||||
@ -479,12 +497,12 @@ export class EcrymeActor extends Actor {
|
|||||||
rollWeapon(weaponId) {
|
rollWeapon(weaponId) {
|
||||||
let weapon = this.items.get(weaponId)
|
let weapon = this.items.get(weaponId)
|
||||||
if (weapon) {
|
if (weapon) {
|
||||||
weapon = duplicate(weapon)
|
weapon = foundry.utils.duplicate(weapon)
|
||||||
let rollData = this.getCommonRollData()
|
let rollData = this.getCommonRollData()
|
||||||
if (weapon.system.armetype == "mainsnues" || weapon.system.armetype == "epee") {
|
if (weapon.system.armetype == "mainsnues" || weapon.system.armetype == "epee") {
|
||||||
rollData.attr = { label: "(Physique+Habilité)/2", value: Math.floor((this.getPhysiqueMalus() + this.system.attributs.physique.value + this.system.attributs.habilite.value) / 2) }
|
rollData.attr = { label: "(Physique+Habilité)/2", value: Math.floor((this.getPhysiqueMalus() + this.system.attributs.physique.value + this.system.attributs.habilite.value) / 2) }
|
||||||
} else {
|
} else {
|
||||||
rollData.attr = duplicate(this.system.attributs.habilite)
|
rollData.attr = foundry.utils.duplicate(this.system.attributs.habilite)
|
||||||
}
|
}
|
||||||
rollData.mode = "weapon"
|
rollData.mode = "weapon"
|
||||||
rollData.weapon = weapon
|
rollData.weapon = weapon
|
||||||
|
@ -11,7 +11,7 @@ export class EcrymeAnnencySheet extends ActorSheet {
|
|||||||
/** @override */
|
/** @override */
|
||||||
static get defaultOptions() {
|
static get defaultOptions() {
|
||||||
|
|
||||||
return mergeObject(super.defaultOptions, {
|
return foundry.utils.mergeObject(super.defaultOptions, {
|
||||||
classes: ["fvtt-ecryme", "sheet", "actor"],
|
classes: ["fvtt-ecryme", "sheet", "actor"],
|
||||||
template: "systems/fvtt-ecryme/templates/actors/annency-sheet.hbs",
|
template: "systems/fvtt-ecryme/templates/actors/annency-sheet.hbs",
|
||||||
width: 640,
|
width: 640,
|
||||||
@ -33,9 +33,9 @@ export class EcrymeAnnencySheet extends ActorSheet {
|
|||||||
name: this.actor.name,
|
name: this.actor.name,
|
||||||
editable: this.isEditable,
|
editable: this.isEditable,
|
||||||
cssClass: this.isEditable ? "editable" : "locked",
|
cssClass: this.isEditable ? "editable" : "locked",
|
||||||
system: duplicate(this.object.system),
|
system: foundry.utils.duplicate(this.object.system),
|
||||||
limited: this.object.limited,
|
limited: this.object.limited,
|
||||||
config: duplicate(game.system.ecryme.config),
|
config: foundry.utils.duplicate(game.system.ecryme.config),
|
||||||
hasCephaly: EcrymeUtility.hasCephaly(),
|
hasCephaly: EcrymeUtility.hasCephaly(),
|
||||||
hasBoheme: EcrymeUtility.hasBoheme(),
|
hasBoheme: EcrymeUtility.hasBoheme(),
|
||||||
hasAmertume: EcrymeUtility.hasAmertume(),
|
hasAmertume: EcrymeUtility.hasAmertume(),
|
||||||
|
@ -43,7 +43,7 @@ export class EcrymeCharacterSummary extends Application {
|
|||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
static get defaultOptions() {
|
static get defaultOptions() {
|
||||||
return mergeObject(super.defaultOptions, {
|
return foundry.utils.mergeObject(super.defaultOptions, {
|
||||||
template: "systems/fvtt-ecryme/templates/dialogs/character-summary.hbs",
|
template: "systems/fvtt-ecryme/templates/dialogs/character-summary.hbs",
|
||||||
popOut: true,
|
popOut: true,
|
||||||
resizable: true,
|
resizable: true,
|
||||||
|
@ -10,14 +10,14 @@ export const ECRYME_CONFIG = {
|
|||||||
"melee": "ECRY.ui.melee",
|
"melee": "ECRY.ui.melee",
|
||||||
"ranged": "ECRY.ui.ranged"
|
"ranged": "ECRY.ui.ranged"
|
||||||
},
|
},
|
||||||
traitLevel: [
|
traitLevel: {
|
||||||
{value: -3, text: "-3"},
|
"-3":{value: "-3", text: "-3"},
|
||||||
{value: -2, text: "-2"},
|
"-2":{value: "-2", text: "-2"},
|
||||||
{value: -1, text: "-1"},
|
"-1":{value: "-1", text: "-1"},
|
||||||
{value: +1, text: "+1"},
|
"+1":{value: "+1", text: "+1"},
|
||||||
{value: +2, text: "+2"},
|
"+2":{value: "+2", text: "+2"},
|
||||||
{value: +3, text: "+3"}
|
"+3":{value: "+3", text: "+3"}
|
||||||
],
|
},
|
||||||
impactTypes: {
|
impactTypes: {
|
||||||
physical: "ECRY.ui.physical",
|
physical: "ECRY.ui.physical",
|
||||||
mental: "ECRY.ui.mental",
|
mental: "ECRY.ui.mental",
|
||||||
@ -30,7 +30,7 @@ export const ECRYME_CONFIG = {
|
|||||||
major: "ECRY.ui.major"
|
major: "ECRY.ui.major"
|
||||||
},
|
},
|
||||||
difficulty: {
|
difficulty: {
|
||||||
"-1": {difficulty: "ECRY.ui.none", frequency: "ECRY.ui.none", value: "-"},
|
"-1": {difficulty: "ECRY.ui.none", frequency: "ECRY.ui.none", value: "-1"},
|
||||||
"8": { difficulty: "ECRY.ui.troublesome", frequency: "ECRY.ui.occasional", value: 8 },
|
"8": { difficulty: "ECRY.ui.troublesome", frequency: "ECRY.ui.occasional", value: 8 },
|
||||||
"10": { difficulty: "ECRY.ui.difficult", frequency: "ECRY.ui.uncommon", value: 10 },
|
"10": { difficulty: "ECRY.ui.difficult", frequency: "ECRY.ui.uncommon", value: 10 },
|
||||||
"12": { difficulty: "ECRY.ui.verydifficult", frequency: "ECRY.ui.rare", value: 12 },
|
"12": { difficulty: "ECRY.ui.verydifficult", frequency: "ECRY.ui.rare", value: 12 },
|
||||||
@ -57,6 +57,19 @@ export const ECRYME_CONFIG = {
|
|||||||
"lige": {name: "ECRY.ui.lige", value: 100 },
|
"lige": {name: "ECRY.ui.lige", value: 100 },
|
||||||
"hurle": {name: "ECRY.ui.hurle", value: 10 },
|
"hurle": {name: "ECRY.ui.hurle", value: 10 },
|
||||||
"coin": {name: "ECRY.ui.coin", value: 1 }
|
"coin": {name: "ECRY.ui.coin", value: 1 }
|
||||||
|
},
|
||||||
|
transcendanceOptions: {
|
||||||
|
"execution": "ECRY.ui.execution",
|
||||||
|
"preservation": "ECRY.ui.preservation"
|
||||||
|
},
|
||||||
|
bonusMalusPersoOptions: {
|
||||||
|
"-3": {value: "-3", label: "-3"},
|
||||||
|
"-2": {value: "-2", label: "-2"},
|
||||||
|
"-1": {value: "-1", label: "-1"},
|
||||||
|
"0": {value: "0", label: "0"},
|
||||||
|
"+1": {value: "1", label: "+1"},
|
||||||
|
"+2": {value: "2", label: "+2"},
|
||||||
|
"+3": {value: "3", label: "+3"}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
@ -97,6 +97,7 @@ export class EcrymeUtility {
|
|||||||
"level_b": game.i18n.localize("ECRY.settings.boheme"),
|
"level_b": game.i18n.localize("ECRY.settings.boheme"),
|
||||||
"level_a": game.i18n.localize("ECRY.settings.amertume"),
|
"level_a": game.i18n.localize("ECRY.settings.amertume"),
|
||||||
},
|
},
|
||||||
|
default: "level_a",
|
||||||
restricted: true
|
restricted: true
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -126,7 +127,7 @@ export class EcrymeUtility {
|
|||||||
for (let categKey in game.data.template.Actor.templates.core.skills) {
|
for (let categKey in game.data.template.Actor.templates.core.skills) {
|
||||||
let category = game.data.template.Actor.templates.core.skills[categKey]
|
let category = game.data.template.Actor.templates.core.skills[categKey]
|
||||||
for (let skillKey in category.skilllist) {
|
for (let skillKey in category.skilllist) {
|
||||||
let skill = duplicate(category.skilllist[skillKey])
|
let skill = foundry.utils.duplicate(category.skilllist[skillKey])
|
||||||
skill.categKey = categKey // Auto reference the category
|
skill.categKey = categKey // Auto reference the category
|
||||||
game.system.ecryme.config.skills[skillKey] = skill
|
game.system.ecryme.config.skills[skillKey] = skill
|
||||||
}
|
}
|
||||||
@ -215,7 +216,7 @@ export class EcrymeUtility {
|
|||||||
confront.impactPreservation = this.getImpactFromEffect(Math.abs(confront.effectPreservation))
|
confront.impactPreservation = this.getImpactFromEffect(Math.abs(confront.effectPreservation))
|
||||||
}
|
}
|
||||||
if (confront.marginPreservation > 0) {
|
if (confront.marginPreservation > 0) {
|
||||||
confront.bonus1 = -confront.marginPreservation
|
confront.bonus1 = confront.marginPreservation
|
||||||
}
|
}
|
||||||
|
|
||||||
let msg = await this.createChatWithRollMode(this.confrontData1.alias, {
|
let msg = await this.createChatWithRollMode(this.confrontData1.alias, {
|
||||||
@ -275,7 +276,7 @@ export class EcrymeUtility {
|
|||||||
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", "rolldata")
|
let rollData = message.getFlag("world", "rolldata")
|
||||||
//console.log(">>>>>>>>>>>>>>>>>>>>>>>>>> Menu !!!!", rollData)
|
//console.log(">>>>>>>>>>>>>>>>>>>>>>>>>> Menu !!!!", rollData)
|
||||||
if (rollData.skill && i <= rollData.skill.value && !rollData.transcendUsed && rollData.spec) {
|
if (rollData.skill && rollData.skill.value >= i && !rollData.transcendUsed && rollData.spec) {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
return false
|
return false
|
||||||
@ -404,7 +405,7 @@ export class EcrymeUtility {
|
|||||||
|
|
||||||
let id = rollData.rollId
|
let id = rollData.rollId
|
||||||
let oldRollData = this.rollDataStore[id] || {}
|
let oldRollData = this.rollDataStore[id] || {}
|
||||||
let newRollData = mergeObject(oldRollData, rollData)
|
let newRollData = foundry.utils.mergeObject(oldRollData, rollData)
|
||||||
this.rollDataStore[id] = newRollData
|
this.rollDataStore[id] = newRollData
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -531,7 +532,7 @@ export class EcrymeUtility {
|
|||||||
let trait = actor.getTrait(id)
|
let trait = actor.getTrait(id)
|
||||||
console.log(trait, id)
|
console.log(trait, id)
|
||||||
rollData.traitsBonusList.push(trait)
|
rollData.traitsBonusList.push(trait)
|
||||||
rollData.bonusMalusTraits += trait.system.level
|
rollData.bonusMalusTraits += Math.abs(trait.system.level)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (rollData.traitsMalus && rollData.traitsMalus.length > 0) {
|
if (rollData.traitsMalus && rollData.traitsMalus.length > 0) {
|
||||||
@ -539,7 +540,7 @@ export class EcrymeUtility {
|
|||||||
for (let id of rollData.traitsMalus) {
|
for (let id of rollData.traitsMalus) {
|
||||||
let trait = actor.getTrait(id)
|
let trait = actor.getTrait(id)
|
||||||
rollData.traitsMalusList.push(trait)
|
rollData.traitsMalusList.push(trait)
|
||||||
rollData.bonusMalusTraits -= trait.system.level
|
rollData.bonusMalusTraits -= Math.abs(trait.system.level)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
diceFormula += "+" + rollData.bonusMalusTraits
|
diceFormula += "+" + rollData.bonusMalusTraits
|
||||||
@ -557,7 +558,7 @@ export class EcrymeUtility {
|
|||||||
|
|
||||||
let actor = game.actors.get(rollData.actorId)
|
let actor = game.actors.get(rollData.actorId)
|
||||||
// Fix difficulty
|
// Fix difficulty
|
||||||
if (!rollData.difficulty || rollData.difficulty == "-") {
|
if (!rollData.difficulty || rollData.difficulty == "-1") {
|
||||||
rollData.difficulty = 0
|
rollData.difficulty = 0
|
||||||
}
|
}
|
||||||
rollData.difficulty = Number(rollData.difficulty)
|
rollData.difficulty = Number(rollData.difficulty)
|
||||||
@ -565,9 +566,9 @@ export class EcrymeUtility {
|
|||||||
let diceFormula = this.computeRollFormula(rollData, actor)
|
let diceFormula = this.computeRollFormula(rollData, actor)
|
||||||
|
|
||||||
// Performs roll
|
// Performs roll
|
||||||
let myRoll = new Roll(diceFormula).roll({ async: false })
|
let myRoll = await new Roll(diceFormula).roll()
|
||||||
await this.showDiceSoNice(myRoll, game.settings.get("core", "rollMode"))
|
await this.showDiceSoNice(myRoll, game.settings.get("core", "rollMode"))
|
||||||
rollData.roll = duplicate(myRoll)
|
rollData.roll = foundry.utils.duplicate(myRoll)
|
||||||
rollData.total = myRoll.total
|
rollData.total = myRoll.total
|
||||||
rollData.diceSum = myRoll.terms[0].total
|
rollData.diceSum = myRoll.terms[0].total
|
||||||
|
|
||||||
@ -682,20 +683,20 @@ export class EcrymeUtility {
|
|||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
static getBasicRollData() {
|
static getBasicRollData() {
|
||||||
let rollData = {
|
let rollData = {
|
||||||
rollId: randomID(16),
|
rollId: foundry.utils.randomID(16),
|
||||||
type: "roll-data",
|
type: "roll-data",
|
||||||
bonusMalusPerso: 0,
|
bonusMalusPerso: "0",
|
||||||
bonusMalusSituation: 0,
|
bonusMalusSituation: 0,
|
||||||
bonusMalusDef: 0,
|
bonusMalusDef: 0,
|
||||||
annencyBonus: 0,
|
annencyBonus: 0,
|
||||||
bonusMalusPortee: 0,
|
bonusMalusPortee: 0,
|
||||||
skillTranscendence: 0,
|
skillTranscendence: 0,
|
||||||
rollMode: game.settings.get("core", "rollMode"),
|
rollMode: game.settings.get("core", "rollMode"),
|
||||||
difficulty: "-",
|
difficulty: "-1",
|
||||||
useSpleen: false,
|
useSpleen: false,
|
||||||
useIdeal: false,
|
useIdeal: false,
|
||||||
impactMalus: 0,
|
impactMalus: 0,
|
||||||
config: duplicate(game.system.ecryme.config)
|
config: foundry.utils.duplicate(game.system.ecryme.config)
|
||||||
}
|
}
|
||||||
EcrymeUtility.updateWithTarget(rollData)
|
EcrymeUtility.updateWithTarget(rollData)
|
||||||
return rollData
|
return rollData
|
||||||
|
@ -6,7 +6,7 @@ export class EcrymeConfrontDialog extends Dialog {
|
|||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
static async create(actor, rollData) {
|
static async create(actor, rollData) {
|
||||||
|
|
||||||
let options = mergeObject(super.defaultOptions, {
|
let options = foundry.utils.mergeObject(super.defaultOptions, {
|
||||||
classes: ["fvtt-ecryme ecryme-confrontation-dialog"],
|
classes: ["fvtt-ecryme ecryme-confrontation-dialog"],
|
||||||
dragDrop: [{ dragSelector: ".confront-dice-container", dropSelector: null }],
|
dragDrop: [{ dragSelector: ".confront-dice-container", dropSelector: null }],
|
||||||
width: 620, height: 'fit-content', 'z-index': 99999
|
width: 620, height: 'fit-content', 'z-index': 99999
|
||||||
@ -163,9 +163,9 @@ export class EcrymeConfrontDialog extends Dialog {
|
|||||||
// Apply Transcend if needed
|
// Apply Transcend if needed
|
||||||
if (this.rollData.skillTranscendence > 0) {
|
if (this.rollData.skillTranscendence > 0) {
|
||||||
if (this.rollData.applyTranscendence == "execution") {
|
if (this.rollData.applyTranscendence == "execution") {
|
||||||
this.rollData.executionTotal += this.rollData.skillTranscendence
|
this.rollData.executionTotal += Number(this.rollData.skillTranscendence)
|
||||||
} else {
|
} else {
|
||||||
this.rollData.preservationTotal += this.rollData.skillTranscendence
|
this.rollData.preservationTotal += Number(this.rollData.skillTranscendence)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -192,7 +192,7 @@ export class EcrymeConfrontDialog extends Dialog {
|
|||||||
this.processTranscendence()
|
this.processTranscendence()
|
||||||
|
|
||||||
if (rollData.selectedSpecs && rollData.selectedSpecs.length > 0) {
|
if (rollData.selectedSpecs && rollData.selectedSpecs.length > 0) {
|
||||||
rollData.spec = duplicate(actor.getSpecialization(rollData.selectedSpecs[0]))
|
rollData.spec = foundry.utils.duplicate(actor.getSpecialization(rollData.selectedSpecs[0]))
|
||||||
rollData.specApplied = true
|
rollData.specApplied = true
|
||||||
rollData.executionTotal += 2
|
rollData.executionTotal += 2
|
||||||
rollData.preservationTotal += 2
|
rollData.preservationTotal += 2
|
||||||
@ -212,19 +212,19 @@ export class EcrymeConfrontDialog extends Dialog {
|
|||||||
for (let id of rollData.traitsBonusSelected) {
|
for (let id of rollData.traitsBonusSelected) {
|
||||||
let trait = rollData.traitsBonus.find(t => t._id == id)
|
let trait = rollData.traitsBonus.find(t => t._id == id)
|
||||||
trait.activated = true
|
trait.activated = true
|
||||||
rollData.bonusMalusTraits += trait.system.level
|
rollData.bonusMalusTraits += Number(trait.system.level)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (rollData.traitsMalusSelected && rollData.traitsMalusSelected.length > 0) {
|
if (rollData.traitsMalusSelected && rollData.traitsMalusSelected.length > 0) {
|
||||||
for (let id of rollData.traitsMalusSelected) {
|
for (let id of rollData.traitsMalusSelected) {
|
||||||
let trait = rollData.traitsMalus.find(t => t._id == id)
|
let trait = rollData.traitsMalus.find(t => t._id == id)
|
||||||
trait.activated = true
|
trait.activated = true
|
||||||
rollData.bonusMalusTraits -= trait.system.level
|
rollData.bonusMalusTraits -= Number(trait.system.level)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
rollData.executionTotal += rollData.bonusMalusTraits + rollData.bonusMalusPerso
|
rollData.executionTotal += Number(rollData.bonusMalusTraits) + Number(rollData.bonusMalusPerso)
|
||||||
rollData.preservationTotal += rollData.bonusMalusTraits + rollData.bonusMalusPerso
|
rollData.preservationTotal += Number(rollData.bonusMalusTraits) + Number(rollData.bonusMalusPerso)
|
||||||
|
|
||||||
this.refreshDialog()
|
this.refreshDialog()
|
||||||
}
|
}
|
||||||
@ -234,7 +234,7 @@ export class EcrymeConfrontDialog extends Dialog {
|
|||||||
super.activateListeners(html);
|
super.activateListeners(html);
|
||||||
|
|
||||||
html.find('#bonusMalusPerso').change((event) => {
|
html.find('#bonusMalusPerso').change((event) => {
|
||||||
this.rollData.bonusMalusPerso = Number(event.currentTarget.value)
|
this.rollData.bonusMalusPerso = event.currentTarget.value
|
||||||
this.computeTotals()
|
this.computeTotals()
|
||||||
})
|
})
|
||||||
html.find('#roll-specialization').change((event) => {
|
html.find('#roll-specialization').change((event) => {
|
||||||
|
@ -50,15 +50,15 @@ export class EcrymeConfrontStartDialog extends Dialog {
|
|||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
async rollConfront( diceFormula ) {
|
async rollConfront( diceFormula ) {
|
||||||
// Do the initial roll
|
// Do the initial roll
|
||||||
let myRoll = new Roll(diceFormula).roll({async: false})
|
let myRoll = await new Roll(diceFormula).roll()
|
||||||
await EcrymeUtility.showDiceSoNice(myRoll, game.settings.get("core", "rollMode"))
|
await EcrymeUtility.showDiceSoNice(myRoll, game.settings.get("core", "rollMode"))
|
||||||
// Fill the available dice table
|
// Fill the available dice table
|
||||||
let rollData = this.rollData
|
let rollData = this.rollData
|
||||||
rollData.roll = duplicate(myRoll)
|
rollData.roll = foundry.utils.duplicate(myRoll)
|
||||||
rollData.availableDices = []
|
rollData.availableDices = []
|
||||||
for (let result of myRoll.terms[0].results) {
|
for (let result of myRoll.terms[0].results) {
|
||||||
if ( !result.discarded) {
|
if ( !result.discarded) {
|
||||||
let resultDup = duplicate(result)
|
let resultDup = foundry.utils.duplicate(result)
|
||||||
resultDup.location = "mainpool"
|
resultDup.location = "mainpool"
|
||||||
rollData.availableDices.push(resultDup)
|
rollData.availableDices.push(resultDup)
|
||||||
}
|
}
|
||||||
|
@ -58,6 +58,7 @@ export class EcrymeRollDialog extends Dialog {
|
|||||||
$(function () { onLoad(); });
|
$(function () { onLoad(); });
|
||||||
|
|
||||||
html.find('#bonusMalusPerso').change((event) => {
|
html.find('#bonusMalusPerso').change((event) => {
|
||||||
|
console.log("DIFF", event.currentTarget.value)
|
||||||
this.rollData.bonusMalusPerso = Number(event.currentTarget.value)
|
this.rollData.bonusMalusPerso = Number(event.currentTarget.value)
|
||||||
})
|
})
|
||||||
html.find('#roll-difficulty').change((event) => {
|
html.find('#roll-difficulty').change((event) => {
|
||||||
|
@ -8,7 +8,7 @@ export class EcrymeItemSheet extends ItemSheet {
|
|||||||
|
|
||||||
/** @override */
|
/** @override */
|
||||||
static get defaultOptions() {
|
static get defaultOptions() {
|
||||||
return mergeObject(super.defaultOptions, {
|
return foundry.utils.mergeObject(super.defaultOptions, {
|
||||||
classes: ["fvtt-ecryme", "sheet", "item"],
|
classes: ["fvtt-ecryme", "sheet", "item"],
|
||||||
template: "systems/fvtt-ecryme/templates/item-sheet.hbs",
|
template: "systems/fvtt-ecryme/templates/item-sheet.hbs",
|
||||||
dragDrop: [{ dragSelector: null, dropSelector: null }],
|
dragDrop: [{ dragSelector: null, dropSelector: null }],
|
||||||
@ -56,8 +56,8 @@ export class EcrymeItemSheet extends ItemSheet {
|
|||||||
name: this.object.name,
|
name: this.object.name,
|
||||||
editable: this.isEditable,
|
editable: this.isEditable,
|
||||||
cssClass: this.isEditable ? "editable" : "locked",
|
cssClass: this.isEditable ? "editable" : "locked",
|
||||||
system: duplicate(this.object.system),
|
system: foundry.utils.duplicate(this.object.system),
|
||||||
config: duplicate(game.system.ecryme.config),
|
config: foundry.utils.duplicate(game.system.ecryme.config),
|
||||||
limited: this.object.limited,
|
limited: this.object.limited,
|
||||||
options: this.options,
|
options: this.options,
|
||||||
owner: this.document.isOwner,
|
owner: this.document.isOwner,
|
||||||
@ -89,7 +89,7 @@ export class EcrymeItemSheet extends ItemSheet {
|
|||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
postItem() {
|
postItem() {
|
||||||
let chatData = duplicate(this.item)
|
let chatData = foundry.utils.duplicate(this.item)
|
||||||
if (this.actor) {
|
if (this.actor) {
|
||||||
chatData.actor = { id: this.actor.id };
|
chatData.actor = { id: this.actor.id };
|
||||||
}
|
}
|
||||||
|
BIN
packs/equipment/000158.ldb
Normal file
@ -1 +1 @@
|
|||||||
MANIFEST-000122
|
MANIFEST-000163
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
2024/03/15-12:08:26.246276 7fee396006c0 Recovering log #120
|
2024/04/27-08:47:55.410828 7fc5c4c006c0 Recovering log #161
|
||||||
2024/03/15-12:08:26.262508 7fee396006c0 Delete type=3 #118
|
2024/04/27-08:47:55.422094 7fc5c4c006c0 Delete type=3 #159
|
||||||
2024/03/15-12:08:26.262560 7fee396006c0 Delete type=0 #120
|
2024/04/27-08:47:55.422190 7fc5c4c006c0 Delete type=0 #161
|
||||||
2024/03/15-12:09:03.404439 7fee33e006c0 Level-0 table #125: started
|
2024/04/27-09:26:42.196858 7fc5bfe006c0 Level-0 table #166: started
|
||||||
2024/03/15-12:09:03.404513 7fee33e006c0 Level-0 table #125: 0 bytes OK
|
2024/04/27-09:26:42.196924 7fc5bfe006c0 Level-0 table #166: 0 bytes OK
|
||||||
2024/03/15-12:09:03.412072 7fee33e006c0 Delete type=0 #123
|
2024/04/27-09:26:42.203539 7fc5bfe006c0 Delete type=0 #164
|
||||||
2024/03/15-12:09:03.418373 7fee33e006c0 Manual compaction at level-0 from '!folders!1GrTlI1xWvaxdKRI' @ 72057594037927935 : 1 .. '!items!zs7krgXhDRndtqbl' @ 0 : 0; will stop at (end)
|
2024/04/27-09:26:42.227249 7fc5bfe006c0 Manual compaction at level-0 from '!folders!1GrTlI1xWvaxdKRI' @ 72057594037927935 : 1 .. '!items!zs7krgXhDRndtqbl' @ 0 : 0; will stop at (end)
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
2024/03/15-11:36:32.744581 7fee3b4006c0 Recovering log #116
|
2024/04/26-19:22:08.707793 7f89060006c0 Recovering log #156
|
||||||
2024/03/15-11:36:32.754905 7fee3b4006c0 Delete type=3 #114
|
2024/04/26-19:22:08.718085 7f89060006c0 Delete type=3 #154
|
||||||
2024/03/15-11:36:32.754960 7fee3b4006c0 Delete type=0 #116
|
2024/04/26-19:22:08.718160 7f89060006c0 Delete type=0 #156
|
||||||
2024/03/15-11:37:15.094830 7fee33e006c0 Level-0 table #121: started
|
2024/04/26-19:25:18.674002 7f88ffe006c0 Level-0 table #162: started
|
||||||
2024/03/15-11:37:15.094864 7fee33e006c0 Level-0 table #121: 0 bytes OK
|
2024/04/26-19:25:18.674046 7f88ffe006c0 Level-0 table #162: 0 bytes OK
|
||||||
2024/03/15-11:37:15.102032 7fee33e006c0 Delete type=0 #119
|
2024/04/26-19:25:18.715930 7f88ffe006c0 Delete type=0 #160
|
||||||
2024/03/15-11:37:15.119287 7fee33e006c0 Manual compaction at level-0 from '!folders!1GrTlI1xWvaxdKRI' @ 72057594037927935 : 1 .. '!items!zs7krgXhDRndtqbl' @ 0 : 0; will stop at (end)
|
2024/04/26-19:25:18.747436 7f88ffe006c0 Manual compaction at level-0 from '!folders!1GrTlI1xWvaxdKRI' @ 72057594037927935 : 1 .. '!items!zs7krgXhDRndtqbl' @ 0 : 0; will stop at (end)
|
||||||
|
BIN
packs/equipment/MANIFEST-000163
Normal file
BIN
packs/help/000095.ldb
Normal file
@ -1 +1 @@
|
|||||||
MANIFEST-000058
|
MANIFEST-000100
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
2024/03/15-12:08:26.306495 7fee3aa006c0 Recovering log #56
|
2024/04/27-08:47:55.474153 7fc5c56006c0 Recovering log #98
|
||||||
2024/03/15-12:08:26.316618 7fee3aa006c0 Delete type=3 #54
|
2024/04/27-08:47:55.484458 7fc5c56006c0 Delete type=3 #96
|
||||||
2024/03/15-12:08:26.316680 7fee3aa006c0 Delete type=0 #56
|
2024/04/27-08:47:55.484547 7fc5c56006c0 Delete type=0 #98
|
||||||
2024/03/15-12:09:03.431830 7fee33e006c0 Level-0 table #61: started
|
2024/04/27-09:26:42.227493 7fc5bfe006c0 Level-0 table #103: started
|
||||||
2024/03/15-12:09:03.431854 7fee33e006c0 Level-0 table #61: 0 bytes OK
|
2024/04/27-09:26:42.227557 7fc5bfe006c0 Level-0 table #103: 0 bytes OK
|
||||||
2024/03/15-12:09:03.438391 7fee33e006c0 Delete type=0 #59
|
2024/04/27-09:26:42.234320 7fc5bfe006c0 Delete type=0 #101
|
||||||
2024/03/15-12:09:03.438645 7fee33e006c0 Manual compaction at level-0 from '!journal!N3XOO6dRLuKwQfp2' @ 72057594037927935 : 1 .. '!journal.pages!N3XOO6dRLuKwQfp2.xhc7hqoL8kdW6lrD' @ 0 : 0; will stop at (end)
|
2024/04/27-09:26:42.234536 7fc5bfe006c0 Manual compaction at level-0 from '!journal!wooTFYjEwh83FwgT' @ 72057594037927935 : 1 .. '!journal.pages!wooTFYjEwh83FwgT.xhc7hqoL8kdW6lrD' @ 0 : 0; will stop at (end)
|
||||||
2024/03/15-12:09:03.438681 7fee33e006c0 Manual compaction at level-1 from '!journal!N3XOO6dRLuKwQfp2' @ 72057594037927935 : 1 .. '!journal.pages!N3XOO6dRLuKwQfp2.xhc7hqoL8kdW6lrD' @ 0 : 0; will stop at (end)
|
2024/04/27-09:26:42.234577 7fc5bfe006c0 Manual compaction at level-1 from '!journal!wooTFYjEwh83FwgT' @ 72057594037927935 : 1 .. '!journal.pages!wooTFYjEwh83FwgT.xhc7hqoL8kdW6lrD' @ 0 : 0; will stop at (end)
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
2024/03/15-11:36:32.800015 7fee3aa006c0 Recovering log #52
|
2024/04/26-19:22:08.762783 7f89074006c0 Recovering log #93
|
||||||
2024/03/15-11:36:32.809877 7fee3aa006c0 Delete type=3 #50
|
2024/04/26-19:22:08.773921 7f89074006c0 Delete type=3 #91
|
||||||
2024/03/15-11:36:32.809946 7fee3aa006c0 Delete type=0 #52
|
2024/04/26-19:22:08.774007 7f89074006c0 Delete type=0 #93
|
||||||
2024/03/15-11:37:15.125674 7fee33e006c0 Level-0 table #57: started
|
2024/04/26-19:25:18.785678 7f88ffe006c0 Level-0 table #99: started
|
||||||
2024/03/15-11:37:15.125696 7fee33e006c0 Level-0 table #57: 0 bytes OK
|
2024/04/26-19:25:18.785720 7f88ffe006c0 Level-0 table #99: 0 bytes OK
|
||||||
2024/03/15-11:37:15.132809 7fee33e006c0 Delete type=0 #55
|
2024/04/26-19:25:18.821605 7f88ffe006c0 Delete type=0 #97
|
||||||
2024/03/15-11:37:15.133076 7fee33e006c0 Manual compaction at level-0 from '!journal!N3XOO6dRLuKwQfp2' @ 72057594037927935 : 1 .. '!journal.pages!N3XOO6dRLuKwQfp2.xhc7hqoL8kdW6lrD' @ 0 : 0; will stop at (end)
|
2024/04/26-19:25:18.901806 7f88ffe006c0 Manual compaction at level-0 from '!journal!wooTFYjEwh83FwgT' @ 72057594037927935 : 1 .. '!journal.pages!wooTFYjEwh83FwgT.xhc7hqoL8kdW6lrD' @ 0 : 0; will stop at (end)
|
||||||
2024/03/15-11:37:15.133134 7fee33e006c0 Manual compaction at level-1 from '!journal!N3XOO6dRLuKwQfp2' @ 72057594037927935 : 1 .. '!journal.pages!N3XOO6dRLuKwQfp2.xhc7hqoL8kdW6lrD' @ 0 : 0; will stop at (end)
|
2024/04/26-19:25:18.901870 7f88ffe006c0 Manual compaction at level-1 from '!journal!wooTFYjEwh83FwgT' @ 72057594037927935 : 1 .. '!journal.pages!wooTFYjEwh83FwgT.xhc7hqoL8kdW6lrD' @ 0 : 0; will stop at (end)
|
||||||
|
BIN
packs/help/MANIFEST-000100
Normal file
BIN
packs/maneuvers/000158.ldb
Normal file
@ -1 +1 @@
|
|||||||
MANIFEST-000122
|
MANIFEST-000163
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
2024/03/15-12:08:26.294104 7fee396006c0 Recovering log #120
|
2024/04/27-08:47:55.459426 7fc5c4c006c0 Recovering log #161
|
||||||
2024/03/15-12:08:26.304385 7fee396006c0 Delete type=3 #118
|
2024/04/27-08:47:55.470519 7fc5c4c006c0 Delete type=3 #159
|
||||||
2024/03/15-12:08:26.304465 7fee396006c0 Delete type=0 #120
|
2024/04/27-08:47:55.470616 7fc5c4c006c0 Delete type=0 #161
|
||||||
2024/03/15-12:09:03.425550 7fee33e006c0 Level-0 table #125: started
|
2024/04/27-09:26:42.211453 7fc5bfe006c0 Level-0 table #166: started
|
||||||
2024/03/15-12:09:03.425581 7fee33e006c0 Level-0 table #125: 0 bytes OK
|
2024/04/27-09:26:42.211516 7fc5bfe006c0 Level-0 table #166: 0 bytes OK
|
||||||
2024/03/15-12:09:03.431713 7fee33e006c0 Delete type=0 #123
|
2024/04/27-09:26:42.218445 7fc5bfe006c0 Delete type=0 #164
|
||||||
2024/03/15-12:09:03.438625 7fee33e006c0 Manual compaction at level-0 from '!items!13IYF6BPUTivFZzB' @ 72057594037927935 : 1 .. '!items!oSutlbe9wyBZccmf' @ 0 : 0; will stop at (end)
|
2024/04/27-09:26:42.227295 7fc5bfe006c0 Manual compaction at level-0 from '!items!13IYF6BPUTivFZzB' @ 72057594037927935 : 1 .. '!items!oSutlbe9wyBZccmf' @ 0 : 0; will stop at (end)
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
2024/03/15-11:36:32.787457 7fee396006c0 Recovering log #116
|
2024/04/26-19:22:08.749669 7f8906a006c0 Recovering log #156
|
||||||
2024/03/15-11:36:32.797573 7fee396006c0 Delete type=3 #114
|
2024/04/26-19:22:08.759716 7f8906a006c0 Delete type=3 #154
|
||||||
2024/03/15-11:36:32.797918 7fee396006c0 Delete type=0 #116
|
2024/04/26-19:22:08.759885 7f8906a006c0 Delete type=0 #156
|
||||||
2024/03/15-11:37:15.119298 7fee33e006c0 Level-0 table #121: started
|
2024/04/26-19:25:18.747562 7f88ffe006c0 Level-0 table #162: started
|
||||||
2024/03/15-11:37:15.119321 7fee33e006c0 Level-0 table #121: 0 bytes OK
|
2024/04/26-19:25:18.747596 7f88ffe006c0 Level-0 table #162: 0 bytes OK
|
||||||
2024/03/15-11:37:15.125565 7fee33e006c0 Delete type=0 #119
|
2024/04/26-19:25:18.785476 7f88ffe006c0 Delete type=0 #160
|
||||||
2024/03/15-11:37:15.133015 7fee33e006c0 Manual compaction at level-0 from '!items!13IYF6BPUTivFZzB' @ 72057594037927935 : 1 .. '!items!oSutlbe9wyBZccmf' @ 0 : 0; will stop at (end)
|
2024/04/26-19:25:18.901779 7f88ffe006c0 Manual compaction at level-0 from '!items!13IYF6BPUTivFZzB' @ 72057594037927935 : 1 .. '!items!oSutlbe9wyBZccmf' @ 0 : 0; will stop at (end)
|
||||||
|
BIN
packs/maneuvers/MANIFEST-000163
Normal file
BIN
packs/scenes/000042.ldb
Normal file
@ -1 +1 @@
|
|||||||
MANIFEST-000006
|
MANIFEST-000047
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
2024/03/15-12:08:26.281286 7fee396006c0 Recovering log #4
|
2024/04/27-08:47:55.443420 7fc5c4c006c0 Recovering log #45
|
||||||
2024/03/15-12:08:26.291076 7fee396006c0 Delete type=3 #2
|
2024/04/27-08:47:55.454090 7fc5c4c006c0 Delete type=3 #43
|
||||||
2024/03/15-12:08:26.291124 7fee396006c0 Delete type=0 #4
|
2024/04/27-08:47:55.454232 7fc5c4c006c0 Delete type=0 #45
|
||||||
2024/03/15-12:09:03.418395 7fee33e006c0 Level-0 table #9: started
|
2024/04/27-09:26:42.203748 7fc5bfe006c0 Level-0 table #50: started
|
||||||
2024/03/15-12:09:03.418438 7fee33e006c0 Level-0 table #9: 0 bytes OK
|
2024/04/27-09:26:42.203807 7fc5bfe006c0 Level-0 table #50: 0 bytes OK
|
||||||
2024/03/15-12:09:03.425447 7fee33e006c0 Delete type=0 #7
|
2024/04/27-09:26:42.211166 7fc5bfe006c0 Delete type=0 #48
|
||||||
2024/03/15-12:09:03.438599 7fee33e006c0 Manual compaction at level-0 from '!scenes!YYBr138LR7ntGFdo' @ 72057594037927935 : 1 .. '!scenes!wJJTdzEVyJpkUXaM' @ 0 : 0; will stop at (end)
|
2024/04/27-09:26:42.227275 7fc5bfe006c0 Manual compaction at level-0 from '!scenes!YYBr138LR7ntGFdo' @ 72057594037927935 : 1 .. '!scenes!wJJTdzEVyJpkUXaM' @ 0 : 0; will stop at (end)
|
||||||
2024/03/15-12:09:03.438664 7fee33e006c0 Manual compaction at level-1 from '!scenes!YYBr138LR7ntGFdo' @ 72057594037927935 : 1 .. '!scenes!wJJTdzEVyJpkUXaM' @ 0 : 0; will stop at (end)
|
2024/04/27-09:26:42.227330 7fc5bfe006c0 Manual compaction at level-1 from '!scenes!YYBr138LR7ntGFdo' @ 72057594037927935 : 1 .. '!scenes!wJJTdzEVyJpkUXaM' @ 0 : 0; will stop at (end)
|
||||||
|
@ -1,5 +1,8 @@
|
|||||||
2024/03/15-11:36:32.784966 7fee396006c0 Delete type=3 #1
|
2024/04/26-19:22:08.735377 7f89074006c0 Recovering log #40
|
||||||
2024/03/15-11:37:15.108793 7fee33e006c0 Level-0 table #5: started
|
2024/04/26-19:22:08.745776 7f89074006c0 Delete type=3 #38
|
||||||
2024/03/15-11:37:15.112379 7fee33e006c0 Level-0 table #5: 1287 bytes OK
|
2024/04/26-19:22:08.745887 7f89074006c0 Delete type=0 #40
|
||||||
2024/03/15-11:37:15.119185 7fee33e006c0 Delete type=0 #3
|
2024/04/26-19:25:18.595904 7f88ffe006c0 Level-0 table #46: started
|
||||||
2024/03/15-11:37:15.125663 7fee33e006c0 Manual compaction at level-0 from '!scenes!YYBr138LR7ntGFdo' @ 72057594037927935 : 1 .. '!scenes!wJJTdzEVyJpkUXaM' @ 0 : 0; will stop at (end)
|
2024/04/26-19:25:18.595980 7f88ffe006c0 Level-0 table #46: 0 bytes OK
|
||||||
|
2024/04/26-19:25:18.630930 7f88ffe006c0 Delete type=0 #44
|
||||||
|
2024/04/26-19:25:18.747411 7f88ffe006c0 Manual compaction at level-0 from '!scenes!YYBr138LR7ntGFdo' @ 72057594037927935 : 1 .. '!scenes!wJJTdzEVyJpkUXaM' @ 0 : 0; will stop at (end)
|
||||||
|
2024/04/26-19:25:18.747487 7f88ffe006c0 Manual compaction at level-1 from '!scenes!YYBr138LR7ntGFdo' @ 72057594037927935 : 1 .. '!scenes!wJJTdzEVyJpkUXaM' @ 0 : 0; will stop at (end)
|
||||||
|
BIN
packs/scenes/MANIFEST-000047
Normal file
BIN
packs/specialisation/000158.ldb
Normal file
@ -1 +1 @@
|
|||||||
MANIFEST-000122
|
MANIFEST-000163
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
2024/03/15-12:08:26.233305 7fee3aa006c0 Recovering log #120
|
2024/04/27-08:47:55.395447 7fc5c56006c0 Recovering log #161
|
||||||
2024/03/15-12:08:26.243263 7fee3aa006c0 Delete type=3 #118
|
2024/04/27-08:47:55.406766 7fc5c56006c0 Delete type=3 #159
|
||||||
2024/03/15-12:08:26.243340 7fee3aa006c0 Delete type=0 #120
|
2024/04/27-08:47:55.406871 7fc5c56006c0 Delete type=0 #161
|
||||||
2024/03/15-12:09:03.377683 7fee33e006c0 Level-0 table #125: started
|
2024/04/27-09:26:42.188991 7fc5bfe006c0 Level-0 table #166: started
|
||||||
2024/03/15-12:09:03.377713 7fee33e006c0 Level-0 table #125: 0 bytes OK
|
2024/04/27-09:26:42.189072 7fc5bfe006c0 Level-0 table #166: 0 bytes OK
|
||||||
2024/03/15-12:09:03.383693 7fee33e006c0 Delete type=0 #123
|
2024/04/27-09:26:42.196426 7fc5bfe006c0 Delete type=0 #164
|
||||||
2024/03/15-12:09:03.383828 7fee33e006c0 Manual compaction at level-0 from '!folders!00Hn2nNarlL7b0DR' @ 72057594037927935 : 1 .. '!items!yozTUjNuc2rEGjFK' @ 0 : 0; will stop at (end)
|
2024/04/27-09:26:42.196728 7fc5bfe006c0 Manual compaction at level-0 from '!folders!00Hn2nNarlL7b0DR' @ 72057594037927935 : 1 .. '!items!yozTUjNuc2rEGjFK' @ 0 : 0; will stop at (end)
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
2024/03/15-11:36:32.732586 7fee3a0006c0 Recovering log #116
|
2024/04/26-19:22:08.694940 7f89056006c0 Recovering log #156
|
||||||
2024/03/15-11:36:32.741979 7fee3a0006c0 Delete type=3 #114
|
2024/04/26-19:22:08.705096 7f89056006c0 Delete type=3 #154
|
||||||
2024/03/15-11:36:32.742032 7fee3a0006c0 Delete type=0 #116
|
2024/04/26-19:22:08.705158 7f89056006c0 Delete type=0 #156
|
||||||
2024/03/15-11:37:15.078700 7fee33e006c0 Level-0 table #121: started
|
2024/04/26-19:25:18.631092 7f88ffe006c0 Level-0 table #162: started
|
||||||
2024/03/15-11:37:15.078734 7fee33e006c0 Level-0 table #121: 0 bytes OK
|
2024/04/26-19:25:18.631157 7f88ffe006c0 Level-0 table #162: 0 bytes OK
|
||||||
2024/03/15-11:37:15.085219 7fee33e006c0 Delete type=0 #119
|
2024/04/26-19:25:18.673806 7f88ffe006c0 Delete type=0 #160
|
||||||
2024/03/15-11:37:15.085375 7fee33e006c0 Manual compaction at level-0 from '!folders!00Hn2nNarlL7b0DR' @ 72057594037927935 : 1 .. '!items!yozTUjNuc2rEGjFK' @ 0 : 0; will stop at (end)
|
2024/04/26-19:25:18.747426 7f88ffe006c0 Manual compaction at level-0 from '!folders!00Hn2nNarlL7b0DR' @ 72057594037927935 : 1 .. '!items!yozTUjNuc2rEGjFK' @ 0 : 0; will stop at (end)
|
||||||
|
BIN
packs/specialisation/MANIFEST-000163
Normal file
BIN
packs/traits/000158.ldb
Normal file
@ -1 +1 @@
|
|||||||
MANIFEST-000122
|
MANIFEST-000163
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
2024/03/15-12:08:26.264913 7fee3aa006c0 Recovering log #120
|
2024/04/27-08:47:55.428744 7fc5c56006c0 Recovering log #161
|
||||||
2024/03/15-12:08:26.279081 7fee3aa006c0 Delete type=3 #118
|
2024/04/27-08:47:55.439052 7fc5c56006c0 Delete type=3 #159
|
||||||
2024/03/15-12:08:26.279134 7fee3aa006c0 Delete type=0 #120
|
2024/04/27-08:47:55.439149 7fc5c56006c0 Delete type=0 #161
|
||||||
2024/03/15-12:09:03.412189 7fee33e006c0 Level-0 table #125: started
|
2024/04/27-09:26:42.218635 7fc5bfe006c0 Level-0 table #166: started
|
||||||
2024/03/15-12:09:03.412214 7fee33e006c0 Level-0 table #125: 0 bytes OK
|
2024/04/27-09:26:42.218676 7fc5bfe006c0 Level-0 table #166: 0 bytes OK
|
||||||
2024/03/15-12:09:03.418237 7fee33e006c0 Delete type=0 #123
|
2024/04/27-09:26:42.227027 7fc5bfe006c0 Delete type=0 #164
|
||||||
2024/03/15-12:09:03.431821 7fee33e006c0 Manual compaction at level-0 from '!folders!DiwHbtGAkTYxtshX' @ 72057594037927935 : 1 .. '!items!zgNI2haxhBxBDBdl' @ 0 : 0; will stop at (end)
|
2024/04/27-09:26:42.227313 7fc5bfe006c0 Manual compaction at level-0 from '!folders!DiwHbtGAkTYxtshX' @ 72057594037927935 : 1 .. '!items!zgNI2haxhBxBDBdl' @ 0 : 0; will stop at (end)
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
2024/03/15-11:36:32.757613 7fee3a0006c0 Recovering log #116
|
2024/04/26-19:22:08.721470 7f8906a006c0 Recovering log #156
|
||||||
2024/03/15-11:36:32.768867 7fee3a0006c0 Delete type=3 #114
|
2024/04/26-19:22:08.732531 7f8906a006c0 Delete type=3 #154
|
||||||
2024/03/15-11:36:32.768966 7fee3a0006c0 Delete type=0 #116
|
2024/04/26-19:22:08.732624 7f8906a006c0 Delete type=0 #156
|
||||||
2024/03/15-11:37:15.102318 7fee33e006c0 Level-0 table #121: started
|
2024/04/26-19:25:18.716069 7f88ffe006c0 Level-0 table #162: started
|
||||||
2024/03/15-11:37:15.102363 7fee33e006c0 Level-0 table #121: 0 bytes OK
|
2024/04/26-19:25:18.716099 7f88ffe006c0 Level-0 table #162: 0 bytes OK
|
||||||
2024/03/15-11:37:15.108565 7fee33e006c0 Delete type=0 #119
|
2024/04/26-19:25:18.747273 7f88ffe006c0 Delete type=0 #160
|
||||||
2024/03/15-11:37:15.125646 7fee33e006c0 Manual compaction at level-0 from '!folders!DiwHbtGAkTYxtshX' @ 72057594037927935 : 1 .. '!items!zgNI2haxhBxBDBdl' @ 0 : 0; will stop at (end)
|
2024/04/26-19:25:18.747446 7f88ffe006c0 Manual compaction at level-0 from '!folders!DiwHbtGAkTYxtshX' @ 72057594037927935 : 1 .. '!items!zgNI2haxhBxBDBdl' @ 0 : 0; will stop at (end)
|
||||||
|
BIN
packs/traits/MANIFEST-000163
Normal file
@ -1265,6 +1265,7 @@ ul, li {
|
|||||||
min-width: 12rem;
|
min-width: 12rem;
|
||||||
}
|
}
|
||||||
.item-name-label-short {
|
.item-name-label-short {
|
||||||
|
margin-top: 4px;
|
||||||
flex-grow:1;
|
flex-grow:1;
|
||||||
max-width: 4rem;
|
max-width: 4rem;
|
||||||
min-width: 4rem;
|
min-width: 4rem;
|
||||||
@ -1275,6 +1276,16 @@ ul, li {
|
|||||||
max-width: 6rem;
|
max-width: 6rem;
|
||||||
min-width: 6rem;
|
min-width: 6rem;
|
||||||
}
|
}
|
||||||
|
.item-name-label-medium2 {
|
||||||
|
margin-top: 4px;
|
||||||
|
flex-grow:0;
|
||||||
|
max-width: 10rem;
|
||||||
|
min-width: 10rem;
|
||||||
|
}
|
||||||
|
.item-name-label-free {
|
||||||
|
margin-top: 4px;
|
||||||
|
align-self: flex-start;
|
||||||
|
}
|
||||||
.item-name-label-long2 {
|
.item-name-label-long2 {
|
||||||
margin-top: 4px;
|
margin-top: 4px;
|
||||||
flex-grow:2;
|
flex-grow:2;
|
||||||
@ -1287,10 +1298,17 @@ ul, li {
|
|||||||
min-width: 9rem;
|
min-width: 9rem;
|
||||||
}
|
}
|
||||||
.item-field-label-short {
|
.item-field-label-short {
|
||||||
|
margin-top: 4px;
|
||||||
flex-grow:1;
|
flex-grow:1;
|
||||||
max-width: 4rem;
|
max-width: 4rem;
|
||||||
min-width: 4rem;
|
min-width: 4rem;
|
||||||
}
|
}
|
||||||
|
.item-field-label-short-header {
|
||||||
|
margin-top: 4px;
|
||||||
|
flex-grow:1;
|
||||||
|
max-width: 2.2rem;
|
||||||
|
min-width: 2.2rem;
|
||||||
|
}
|
||||||
.item-field-label-medium {
|
.item-field-label-medium {
|
||||||
flex-grow:1;
|
flex-grow:1;
|
||||||
max-width: 6rem;
|
max-width: 6rem;
|
||||||
@ -1331,6 +1349,11 @@ ul, li {
|
|||||||
.flexrow-no-expand {
|
.flexrow-no-expand {
|
||||||
flex-grow: 0;
|
flex-grow: 0;
|
||||||
}
|
}
|
||||||
|
.flexrow-start {
|
||||||
|
justify-content: flex-start;
|
||||||
|
align-content: flex-start;
|
||||||
|
align-self: flex-start;
|
||||||
|
}
|
||||||
.item-input-small {
|
.item-input-small {
|
||||||
max-width: 16px;
|
max-width: 16px;
|
||||||
max-height: 12px;
|
max-height: 12px;
|
||||||
|
@ -1245,6 +1245,7 @@ ul, li {
|
|||||||
min-width: 12rem;
|
min-width: 12rem;
|
||||||
}
|
}
|
||||||
.item-name-label-short {
|
.item-name-label-short {
|
||||||
|
margin-top: 4px;
|
||||||
flex-grow:1;
|
flex-grow:1;
|
||||||
max-width: 4rem;
|
max-width: 4rem;
|
||||||
min-width: 4rem;
|
min-width: 4rem;
|
||||||
@ -1255,6 +1256,16 @@ ul, li {
|
|||||||
max-width: 6rem;
|
max-width: 6rem;
|
||||||
min-width: 6rem;
|
min-width: 6rem;
|
||||||
}
|
}
|
||||||
|
.item-name-label-medium2 {
|
||||||
|
margin-top: 4px;
|
||||||
|
flex-grow:0;
|
||||||
|
max-width: 10rem;
|
||||||
|
min-width: 10rem;
|
||||||
|
}
|
||||||
|
.item-name-label-free {
|
||||||
|
margin-top: 4px;
|
||||||
|
align-self: flex-start;
|
||||||
|
}
|
||||||
.item-name-label-long2 {
|
.item-name-label-long2 {
|
||||||
margin-top: 4px;
|
margin-top: 4px;
|
||||||
flex-grow:2;
|
flex-grow:2;
|
||||||
@ -1267,10 +1278,17 @@ ul, li {
|
|||||||
min-width: 9rem;
|
min-width: 9rem;
|
||||||
}
|
}
|
||||||
.item-field-label-short {
|
.item-field-label-short {
|
||||||
|
margin-top: 4px;
|
||||||
flex-grow:1;
|
flex-grow:1;
|
||||||
max-width: 4rem;
|
max-width: 4rem;
|
||||||
min-width: 4rem;
|
min-width: 4rem;
|
||||||
}
|
}
|
||||||
|
.item-field-label-short-header {
|
||||||
|
margin-top: 4px;
|
||||||
|
flex-grow:1;
|
||||||
|
max-width: 2.2rem;
|
||||||
|
min-width: 2.2rem;
|
||||||
|
}
|
||||||
.item-field-label-medium {
|
.item-field-label-medium {
|
||||||
flex-grow:1;
|
flex-grow:1;
|
||||||
max-width: 6rem;
|
max-width: 6rem;
|
||||||
@ -1311,6 +1329,11 @@ ul, li {
|
|||||||
.flexrow-no-expand {
|
.flexrow-no-expand {
|
||||||
flex-grow: 0;
|
flex-grow: 0;
|
||||||
}
|
}
|
||||||
|
.flexrow-start {
|
||||||
|
justify-content: flex-start;
|
||||||
|
align-content: flex-start;
|
||||||
|
align-self: flex-start;
|
||||||
|
}
|
||||||
.item-input-small {
|
.item-input-small {
|
||||||
max-width: 16px;
|
max-width: 16px;
|
||||||
max-height: 12px;
|
max-height: 12px;
|
||||||
|
@ -102,8 +102,8 @@
|
|||||||
"license": "LICENSE.txt",
|
"license": "LICENSE.txt",
|
||||||
"manifest": "https://www.uberwald.me/gitea/public/fvtt-ecryme/raw/branch/master/system.json",
|
"manifest": "https://www.uberwald.me/gitea/public/fvtt-ecryme/raw/branch/master/system.json",
|
||||||
"compatibility": {
|
"compatibility": {
|
||||||
"minimum": "10",
|
"minimum": "11",
|
||||||
"verified": "11"
|
"verified": "12"
|
||||||
},
|
},
|
||||||
"id": "fvtt-ecryme",
|
"id": "fvtt-ecryme",
|
||||||
"primaryTokenAttribute": "secondary.health",
|
"primaryTokenAttribute": "secondary.health",
|
||||||
@ -123,7 +123,7 @@
|
|||||||
},
|
},
|
||||||
"title": "Ecryme, le Jeu de Rôles",
|
"title": "Ecryme, le Jeu de Rôles",
|
||||||
"url": "https://www.uberwald.me/gitea/public/fvtt-ecryme",
|
"url": "https://www.uberwald.me/gitea/public/fvtt-ecryme",
|
||||||
"version": "11.0.38",
|
"version": "12.0.1",
|
||||||
"download": "https://www.uberwald.me/gitea/public/fvtt-ecryme/archive/fvtt-ecryme-v11.0.38.zip",
|
"download": "https://www.uberwald.me/gitea/public/fvtt-ecryme/archive/fvtt-ecryme-v12.0.1.zip",
|
||||||
"background": "systems/fvtt-ecryme/images/assets/ecryme_extract_panel_01.webp"
|
"background": "systems/fvtt-ecryme/images/assets/ecryme_extract_panel_01.webp"
|
||||||
}
|
}
|
@ -28,6 +28,7 @@
|
|||||||
"skills": {
|
"skills": {
|
||||||
"physical": {
|
"physical": {
|
||||||
"name": "ECRY.ui.physical",
|
"name": "ECRY.ui.physical",
|
||||||
|
"pnjvalue": 0,
|
||||||
"skilllist": {
|
"skilllist": {
|
||||||
"athletics": {
|
"athletics": {
|
||||||
"name": "ECRY.ui.athletics",
|
"name": "ECRY.ui.athletics",
|
||||||
@ -58,6 +59,7 @@
|
|||||||
},
|
},
|
||||||
"mental": {
|
"mental": {
|
||||||
"name": "ECRY.ui.mental",
|
"name": "ECRY.ui.mental",
|
||||||
|
"pnjvalue": 0,
|
||||||
"skilllist": {
|
"skilllist": {
|
||||||
"anthropomecanology": {
|
"anthropomecanology": {
|
||||||
"name": "ECRY.ui.anthropomecanology",
|
"name": "ECRY.ui.anthropomecanology",
|
||||||
@ -88,6 +90,7 @@
|
|||||||
},
|
},
|
||||||
"social": {
|
"social": {
|
||||||
"name": "ECRY.ui.social",
|
"name": "ECRY.ui.social",
|
||||||
|
"pnjvalue": 0,
|
||||||
"skilllist": {
|
"skilllist": {
|
||||||
"quibbling": {
|
"quibbling": {
|
||||||
"name": "ECRY.ui.quibbling",
|
"name": "ECRY.ui.quibbling",
|
||||||
|
@ -15,29 +15,40 @@
|
|||||||
<div class="flexrow">
|
<div class="flexrow">
|
||||||
<ul>
|
<ul>
|
||||||
<li class="flexrow item" data-item-id="{{spleen.id}}">
|
<li class="flexrow item" data-item-id="{{spleen.id}}">
|
||||||
<label class="item-name-label-medium">Spleen :</label>
|
<label class="item-field-label-short">Spleen :</label>
|
||||||
<label class="item-name-label-long">{{spleen.name}}</label>
|
<label class="item-name-label-long">{{spleen.name}}</label>
|
||||||
<div class="item-filler"> </div>
|
<div class="item-filler"> </div>
|
||||||
{{#if spleen}}
|
{{#if spleen}}
|
||||||
<div class="item-controls item-controls-fixed-full">
|
<div class="item-controls item-controls-fixed-full">
|
||||||
<a class="item-control item-add" data-type="trait" title="Create Trait"><i class="fas fa-plus"></i></a>
|
<a class="item-control item-add" data-type="trait" title="Create Trait"><i
|
||||||
|
class="fas fa-plus"></i></a>
|
||||||
<a class="item-control item-edit" data-type="trait" title="Edit Item"><i class="fas fa-edit"></i></a>
|
<a class="item-control item-edit" data-type="trait" title="Edit Item"><i class="fas fa-edit"></i></a>
|
||||||
<a class="item-control item-add" data-type="trait" title="Delete Item"><i class="fas fa-trash"></i></a>
|
<a class="item-control item-add" data-type="trait" title="Delete Item"><i
|
||||||
|
class="fas fa-trash"></i></a>
|
||||||
</div>
|
</div>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
</li>
|
</li>
|
||||||
<li class="item flexrow" data-item-id="{{ideal.id}}">
|
<li class="item flexrow" data-item-id="{{ideal.id}}">
|
||||||
<label class="item-name-label-medium">Ideal :</label>
|
<label class="item-field-label-short">Ideal :</label>
|
||||||
<label class="item-name-label-long">{{ideal.name}}</label>
|
<label class="item-name-label-long">{{ideal.name}}</label>
|
||||||
<div class="item-filler"> </div>
|
<div class="item-filler"> </div>
|
||||||
{{#if ideal}}
|
{{#if ideal}}
|
||||||
<div class="item-controls item-controls-fixed-full">
|
<div class="item-controls item-controls-fixed-full">
|
||||||
<a class="item-control item-add" data-type="trait" title="Create Trait"><i class="fas fa-plus"></i></a>
|
<a class="item-control item-add" data-type="trait" title="Create Trait"><i
|
||||||
|
class="fas fa-plus"></i></a>
|
||||||
<a class="item-control item-edit" data-type="trait" title="Edit Item"><i class="fas fa-edit"></i></a>
|
<a class="item-control item-edit" data-type="trait" title="Edit Item"><i class="fas fa-edit"></i></a>
|
||||||
<a class="item-control item-add" data-type="trait" title="Delete Item"><i class="fas fa-trash"></i></a>
|
<a class="item-control item-add" data-type="trait" title="Delete Item"><i
|
||||||
|
class="fas fa-trash"></i></a>
|
||||||
</div>
|
</div>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
</li>
|
</li>
|
||||||
|
<li class="item flexrow flexrow-no-expand flexrow-start ">
|
||||||
|
<label class="item-name-label-short">Traits :</label>
|
||||||
|
{{#each traits as |trait key|}}
|
||||||
|
<label class="item-name-label-free"><a data-item-id="{{trait._id}}" class="item-edit">{{trait.name}}</a>, </label>
|
||||||
|
{{/each}}
|
||||||
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -74,10 +85,29 @@
|
|||||||
<ul class="stat-list alternate-list item-list">
|
<ul class="stat-list alternate-list item-list">
|
||||||
<li class="item flexrow list-item items-title-bg">
|
<li class="item flexrow list-item items-title-bg">
|
||||||
<span class="item-name-label-header impact-title">
|
<span class="item-name-label-header impact-title">
|
||||||
<h3><label class="items-title-text">{{localize category.name}} ({{valueAtIndex @root.impactsMalus
|
<h3>
|
||||||
categkey}})</label></h3>
|
|
||||||
|
{{#if (eq @root.type "npc")}}
|
||||||
|
<a class="roll-skill-confront" data-category-key="{{categkey}}" data-skill-key="rawnpc">
|
||||||
|
<i class="fa-regular fa-swords"></i>
|
||||||
|
</a>
|
||||||
|
<a class="roll-skill" data-category-key="{{categkey}}" data-skill-key="rawnpc">
|
||||||
|
<i class="fa-solid fa-dice-d6"></i>
|
||||||
|
{{/if}}
|
||||||
|
<label class="items-title-text">{{localize category.name}} ({{valueAtIndex @root.impactsMalus
|
||||||
|
categkey}})</label>
|
||||||
|
{{#if (eq @root.type "npc")}}
|
||||||
|
</a>
|
||||||
|
<select class="item-field-label-short-header" type="text"
|
||||||
|
name="system.skills.{{categkey}}.pnjvalue" value="{{category.pnjvalue}}"
|
||||||
|
data-dtype="Number">
|
||||||
|
{{selectOptions @root.config.skillLevel selected=category.pnjvalue}}
|
||||||
|
</select>
|
||||||
|
{{/if}}
|
||||||
|
</h3>
|
||||||
</span>
|
</span>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
{{#each category.skilllist as |skill skillkey|}}
|
{{#each category.skilllist as |skill skillkey|}}
|
||||||
<li class="item flexrow list-item">
|
<li class="item flexrow list-item">
|
||||||
<span class="item-name-label-long">
|
<span class="item-name-label-long">
|
||||||
@ -91,18 +121,15 @@
|
|||||||
<select class="item-field-label-short" type="text"
|
<select class="item-field-label-short" type="text"
|
||||||
name="system.skills.{{categkey}}.skilllist.{{skillkey}}.value" value="{{skill.value}}"
|
name="system.skills.{{categkey}}.skilllist.{{skillkey}}.value" value="{{skill.value}}"
|
||||||
data-dtype="Number">
|
data-dtype="Number">
|
||||||
{{#select skill.value}}
|
{{selectOptions @root.config.skillLevel selected=skill.value}}
|
||||||
{{#each @root.config.skillLevel as |level key| }}
|
|
||||||
<option value="{{level}}">{{level}}</option>
|
|
||||||
{{/each}}
|
|
||||||
{{/select}}
|
|
||||||
</select>
|
</select>
|
||||||
</li>
|
</li>
|
||||||
<li class="item flexrow list-item">
|
<li class="item flexrow list-item">
|
||||||
<ul class="ul-level1">
|
<ul class="ul-level1">
|
||||||
{{#each skill.spec as |spec idx|}}
|
{{#each skill.spec as |spec idx|}}
|
||||||
<li class="item flexrow list-item" data-item-id="{{spec._id}}" data-item-type="specialization">
|
<li class="item flexrow list-item" data-item-id="{{spec._id}}" data-item-type="specialization">
|
||||||
<a class="roll-spec" data-category-key="{{categkey}}" data-skill-key="{{skillkey}}" data-spec-id="{{spec._id}}">
|
<a class="roll-spec" data-category-key="{{categkey}}" data-skill-key="{{skillkey}}"
|
||||||
|
data-spec-id="{{spec._id}}">
|
||||||
<i class="fa-solid fa-dice-d6"></i>
|
<i class="fa-solid fa-dice-d6"></i>
|
||||||
{{spec.name}}
|
{{spec.name}}
|
||||||
</a>
|
</a>
|
||||||
@ -143,11 +170,7 @@
|
|||||||
</a></span>
|
</a></span>
|
||||||
<select class="item-field-label-short" type="text" name="system.cephaly.skilllist.{{skillkey}}.value"
|
<select class="item-field-label-short" type="text" name="system.cephaly.skilllist.{{skillkey}}.value"
|
||||||
value="{{skill.value}}" data-dtype="Number">
|
value="{{skill.value}}" data-dtype="Number">
|
||||||
{{#select skill.value}}
|
{{selectOptions @root.config.skillLevel selected=skill.value}}
|
||||||
{{#each @root.config.skillLevel as |level key| }}
|
|
||||||
<option value="{{level}}">{{level}}</option>
|
|
||||||
{{/each}}
|
|
||||||
{{/select}}
|
|
||||||
</select>
|
</select>
|
||||||
</li>
|
</li>
|
||||||
{{/each}}
|
{{/each}}
|
||||||
@ -157,7 +180,8 @@
|
|||||||
|
|
||||||
<div>
|
<div>
|
||||||
{{#if annency}}
|
{{#if annency}}
|
||||||
<h3>{{localize "ECRY.ui.annency"}} : <a class="open-annency" data-annency-id="{{annency.id}}">{{annency.name}}<i class="fas fa-edit"></i></a></h3>
|
<h3>{{localize "ECRY.ui.annency"}} : <a class="open-annency"
|
||||||
|
data-annency-id="{{annency.id}}">{{annency.name}}<i class="fas fa-edit"></i></a></h3>
|
||||||
<ul class="stat-list alternate-list item-list">
|
<ul class="stat-list alternate-list item-list">
|
||||||
<li class="item flexrow list-item">
|
<li class="item flexrow list-item">
|
||||||
<span class="item-name-label-long">
|
<span class="item-name-label-long">
|
||||||
|
@ -55,20 +55,13 @@
|
|||||||
<div class="flexrow">
|
<div class="flexrow">
|
||||||
<span class="roll-dialog-label">{{localize "ECRY.ui.skilltranscendence"}} : </span>
|
<span class="roll-dialog-label">{{localize "ECRY.ui.skilltranscendence"}} : </span>
|
||||||
<select class="" id="roll-select-transcendence" data-type="Number">
|
<select class="" id="roll-select-transcendence" data-type="Number">
|
||||||
{{#select skillTranscendence}}
|
{{selectOptions config.skillLevel selected=skillTranscendence}}
|
||||||
{{#for 0 skill.value 1}}
|
|
||||||
<option value="{{this}}">{{this}}</option>
|
|
||||||
{{/for}}
|
|
||||||
{{/select}}
|
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<div class="flexrow">
|
<div class="flexrow">
|
||||||
<span class="roll-dialog-label">{{localize "ECRY.ui.transcendapply"}} : </span>
|
<span class="roll-dialog-label">{{localize "ECRY.ui.transcendapply"}} : </span>
|
||||||
<select class="" id="roll-apply-transcendence" data-type="String">
|
<select class="" id="roll-apply-transcendence" data-type="String">
|
||||||
{{#select applyTranscendence}}
|
{{selectOptions config.transcendanceOptions selected=applyTranscendence localize=true}}
|
||||||
<option value="execution">{{localize "ECRY.ui.execution"}}</option>
|
|
||||||
<option value="preservation">{{localize "ECRY.ui.preservation"}}</option>
|
|
||||||
{{/select}}
|
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -121,16 +114,8 @@
|
|||||||
|
|
||||||
<div class="flexrow">
|
<div class="flexrow">
|
||||||
<span class="roll-dialog-label">Bonus/Malus : </span>
|
<span class="roll-dialog-label">Bonus/Malus : </span>
|
||||||
<select id="bonusMalusPerso" name="bonusMalusPerso">
|
<select id="bonusMalusPerso" name="bonusMalusPerso" type="text" data-dtype="String">
|
||||||
{{#select bonusMalusPerso}}
|
{{selectOptions config.bonusMalusPersoOptions selected=bonusMalusPerso labelAttr="label"}}
|
||||||
<option value="-3">-3</option>
|
|
||||||
<option value="-2">-2</option>
|
|
||||||
<option value="-1">-1</option>
|
|
||||||
<option value="0">0</option>
|
|
||||||
<option value="1">+1</option>
|
|
||||||
<option value="2">+2</option>
|
|
||||||
<option value="3">+3</option>
|
|
||||||
{{/select}}
|
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -14,11 +14,7 @@
|
|||||||
<div class="flexrow">
|
<div class="flexrow">
|
||||||
<span class="roll-dialog-label">{{localize "ECRY.ui.skilltranscendence"}} : </span>
|
<span class="roll-dialog-label">{{localize "ECRY.ui.skilltranscendence"}} : </span>
|
||||||
<select class="" id="roll-select-transcendence" data-type="Number">
|
<select class="" id="roll-select-transcendence" data-type="Number">
|
||||||
{{#select skillTranscendence}}
|
{{selectOptions config.skillLevel selected=skillTranscendence}}
|
||||||
{{#for 0 skill.value 1}}
|
|
||||||
<option value="{{this}}">{{this}}</option>
|
|
||||||
{{/for}}
|
|
||||||
{{/select}}
|
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -75,16 +71,8 @@
|
|||||||
|
|
||||||
<div class="flexrow">
|
<div class="flexrow">
|
||||||
<span class="roll-dialog-label">Bonus/Malus : </span>
|
<span class="roll-dialog-label">Bonus/Malus : </span>
|
||||||
<select id="bonusMalusPerso" name="bonusMalusPerso">
|
<select type="text" id="bonusMalusPerso" name="bonusMalusPerso" data-dtype="String">
|
||||||
{{#select bonusMalusPerso}}
|
{{selectOptions config.bonusMalusPersoOptions selected=bonusMalusPerso labelAttr="label"}}
|
||||||
<option value="-3">-3</option>
|
|
||||||
<option value="-2">-2</option>
|
|
||||||
<option value="-1">-1</option>
|
|
||||||
<option value="0">0</option>
|
|
||||||
<option value="1">+1</option>
|
|
||||||
<option value="2">+2</option>
|
|
||||||
<option value="3">+3</option>
|
|
||||||
{{/select}}
|
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -12,13 +12,8 @@
|
|||||||
|
|
||||||
<div class="flexrow">
|
<div class="flexrow">
|
||||||
<span class="roll-dialog-label">Difficulté : </span>
|
<span class="roll-dialog-label">Difficulté : </span>
|
||||||
<select class="" type="text" id="roll-difficulty" value="{{difficulty}}" data-dtype="Number">
|
<select class="" type="text" id="roll-difficulty" data-dtype="String">
|
||||||
{{#select difficulty}}
|
{{selectOptions config.difficulty selected=difficulty localize=true labelAttr="difficulty"}}
|
||||||
{{#each config.difficulty as |diffData value| }}
|
|
||||||
<option value="{{diffData.value}}">{{localize diffData.difficulty}} / {{localize diffData.frequency}}
|
|
||||||
({{diffData.value}})</option>
|
|
||||||
{{/each}}
|
|
||||||
{{/select}}
|
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -22,22 +22,14 @@
|
|||||||
<li class="flexrow">
|
<li class="flexrow">
|
||||||
<label class="item-name-label-long">{{localize "ECRY.ui.impactType"}}</label>
|
<label class="item-name-label-long">{{localize "ECRY.ui.impactType"}}</label>
|
||||||
<select class="item-field-label-medium" type="text" name="system.impacttype" value="{{system.impacttype}}" data-dtype="String">
|
<select class="item-field-label-medium" type="text" name="system.impacttype" value="{{system.impacttype}}" data-dtype="String">
|
||||||
{{#select system.impacttype}}
|
{{selectOptions config.impactTypes selected=system.impacttype localize=true }}
|
||||||
{{#each config.impactTypes as |type key| }}
|
|
||||||
<option value="{{key}}">{{localize type}}</option>
|
|
||||||
{{/each}}
|
|
||||||
{{/select}}
|
|
||||||
</select>
|
</select>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li class="flexrow">
|
<li class="flexrow">
|
||||||
<label class="item-name-label-long">{{localize "ECRY.ui.impactLevel"}}</label>
|
<label class="item-name-label-long">{{localize "ECRY.ui.impactLevel"}}</label>
|
||||||
<select class="item-field-label-medium" type="text" name="system.impactlevel" value="{{system.impactlevel}}" data-dtype="String">
|
<select class="item-field-label-medium" type="text" name="system.impactlevel" value="{{system.impactlevel}}" data-dtype="String">
|
||||||
{{#select system.impactlevel}}
|
{{selectOptions config.impactLevels selected=system.impactlevel localize=true }}
|
||||||
{{#each config.impactLevels as |level key| }}
|
|
||||||
<option value="{{key}}">{{localize level}}</option>
|
|
||||||
{{/each}}
|
|
||||||
{{/select}}
|
|
||||||
</select>
|
</select>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
@ -22,11 +22,7 @@
|
|||||||
<li class="flexrow">
|
<li class="flexrow">
|
||||||
<label class="item-name-label-long">{{localize "ECRY.ui.skill"}}</label>
|
<label class="item-name-label-long">{{localize "ECRY.ui.skill"}}</label>
|
||||||
<select class="item-field-label-medium" type="text" name="system.skillkey" value="{{system.skillkey}}" data-dtype="String">
|
<select class="item-field-label-medium" type="text" name="system.skillkey" value="{{system.skillkey}}" data-dtype="String">
|
||||||
{{#select system.skillkey}}
|
{{selectOptions config.skills selected=system.skillkey localize=true valueAttr="key" labelAttr="name"}}
|
||||||
{{#each config.skills as |skill key| }}
|
|
||||||
<option value="{{key}}">{{localize skill.name}}</option>
|
|
||||||
{{/each}}
|
|
||||||
{{/select}}
|
|
||||||
</select>
|
</select>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
@ -22,23 +22,14 @@
|
|||||||
<li class="flexrow">
|
<li class="flexrow">
|
||||||
<label class="item-name-label-long">{{localize "ECRY.ui.traitType"}}</label>
|
<label class="item-name-label-long">{{localize "ECRY.ui.traitType"}}</label>
|
||||||
<select class="item-field-label-medium" type="text" name="system.traitype" value="{{system.traitype}}" data-dtype="String">
|
<select class="item-field-label-medium" type="text" name="system.traitype" value="{{system.traitype}}" data-dtype="String">
|
||||||
{{#select system.traitype}}
|
{{selectOptions config.traitTypes selected=system.traitype}}
|
||||||
{{#each config.traitTypes as |type key| }}
|
|
||||||
<option value="{{key}}">{{type}}</option>
|
|
||||||
{{/each}}
|
|
||||||
{{/select}}
|
|
||||||
</select>
|
</select>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li class="flexrow">
|
<li class="flexrow">
|
||||||
<label class="item-name-label-long">{{localize "ECRY.ui.niveauTrait"}}</label>
|
<label class="item-name-label-long">{{localize "ECRY.ui.niveauTrait"}}</label>
|
||||||
<select class="item-field-label-medium" type="text" name="system.level" value="{{system.level}}" data-dtype="Number">
|
<select class="item-field-label-medium" type="text" name="system.level" value="{{system.level}}" data-dtype="String">
|
||||||
{{#select system.level}}
|
{{selectOptions config.traitLevel selected=system.level labelAttr="text"}}
|
||||||
{{#each config.traitLevel as |level key| }}
|
|
||||||
<option value="{{level.value}}">{{level.text}}</option>
|
|
||||||
{{/each}}
|
|
||||||
{{/select}}
|
|
||||||
</select>
|
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
@ -22,11 +22,7 @@
|
|||||||
<li class="flexrow">
|
<li class="flexrow">
|
||||||
<label class="item-name-label-long">{{localize "ECRY.ui.weapontype"}}</label>
|
<label class="item-name-label-long">{{localize "ECRY.ui.weapontype"}}</label>
|
||||||
<select class="item-field-label-medium" type="text" name="system.weapontype" value="{{system.weapontype}}" data-dtype="String">
|
<select class="item-field-label-medium" type="text" name="system.weapontype" value="{{system.weapontype}}" data-dtype="String">
|
||||||
{{#select system.weapontype}}
|
{{selectOptions config.weaponTypes selected=system.weapontype localize=true}}
|
||||||
{{#each config.weaponTypes as |type key| }}
|
|
||||||
<option value="{{key}}">{{localize type}}</option>
|
|
||||||
{{/each}}
|
|
||||||
{{/select}}
|
|
||||||
</select>
|
</select>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
@ -8,11 +8,7 @@
|
|||||||
<label class="item-field-label-long">{{localize "ECRY.ui.cost"}}</label>
|
<label class="item-field-label-long">{{localize "ECRY.ui.cost"}}</label>
|
||||||
<input type="text" class="item-field-label-short" name="system.cost" value="{{system.cost}}" data-dtype="Number" />
|
<input type="text" class="item-field-label-short" name="system.cost" value="{{system.cost}}" data-dtype="Number" />
|
||||||
<select class="item-field-label-medium" type="text" name="system.costunit" value="{{system.costunit}}" data-dtype="String">
|
<select class="item-field-label-medium" type="text" name="system.costunit" value="{{system.costunit}}" data-dtype="String">
|
||||||
{{#select system.costunit}}
|
{{selectOptions config.costUnits selected=system.costunit localize=true labelAttr="name"}}
|
||||||
{{#each config.costUnits as |unit key| }}
|
|
||||||
<option value="{{key}}">{{localize unit.name}}</option>
|
|
||||||
{{/each}}
|
|
||||||
{{/select}}
|
|
||||||
</select>
|
</select>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|