Compare commits
13 Commits
fvtt-ecrym
...
fvtt-ecrym
Author | SHA1 | Date | |
---|---|---|---|
81848155e5 | |||
6778a9aa0b | |||
63aa49c77f | |||
0a3265419a | |||
f5093980b0 | |||
062a597b70 | |||
1d0d123947 | |||
bf94dc30b8 | |||
fc3b83cfc2 | |||
19b88c3de9 | |||
d669059403 | |||
45d419115d | |||
b9e2a77e88 |
@ -28,9 +28,9 @@ jobs:
|
||||
files: 'system.json'
|
||||
env:
|
||||
version: ${{steps.get_version.outputs.version-without-v}}
|
||||
url: https://www.uberwald.me/gitea/uberwald/fvtt-ecryme
|
||||
manifest: https://www.uberwald.me/gitea/uberwald/fvtt-ecryme/releases/latest/module.json
|
||||
download: https://www.uberwald.me/gitea/uberwald/fvtt-ecryme/releases/download/${{github.event.release.tag_name}}/fvtt-ecryme.zip
|
||||
url: https://www.uberwald.me/gitea/public/fvtt-ecryme
|
||||
manifest: https://www.uberwald.me/gitea/public/fvtt-ecryme/releases/latest/system.json
|
||||
download: https://www.uberwald.me/gitea/public/fvtt-ecryme/releases/download/${{github.event.release.tag_name}}/fvtt-ecryme.zip
|
||||
|
||||
# Create a zip file with all files required by the module to add to the release
|
||||
- run: |
|
||||
|
14
README.md
14
README.md
@ -3,6 +3,20 @@
|
||||
This is a base game system with functionnal character sheets for the game Ecryme, powered by the Engrenage system.
|
||||
You can join the kickstarter and obtain the base books here : https://www.kickstarter.com/projects/osg-us/ecryme
|
||||
|
||||
# System overview
|
||||
|
||||
The game system in Foundry offers the following features :
|
||||
- PC/NPC sheet
|
||||
- Skill rolls
|
||||
- Cephaly rolls (with Anency support)
|
||||
- Confrontation management, with detailed result in the chat card
|
||||
- Weapon rolls
|
||||
- Trait management, with Spleen and Ideal also.
|
||||
- Compendiums of items for the game
|
||||
|
||||

|
||||
|
||||
|
||||
# Contributions
|
||||
|
||||
- Original code realised by Uberwald (https://www.uberwald.me/)
|
||||
|
11
changelog.md
Normal file
11
changelog.md
Normal file
@ -0,0 +1,11 @@
|
||||
v11.0.31
|
||||
|
||||
Add profession, fix equipment tab and add missing translation
|
||||
|
||||
v11.0.30
|
||||
|
||||
Snapshot and more detailed README
|
||||
|
||||
v11.0.28
|
||||
|
||||
Initial release
|
14
lang/en.json
14
lang/en.json
@ -1,7 +1,8 @@
|
||||
{
|
||||
"TYPES": {
|
||||
"Actor": {
|
||||
"character": "PC",
|
||||
"pc": "Player Character",
|
||||
"npc": "Non-Player Character",
|
||||
"annency": "Annency"
|
||||
},
|
||||
"Item": {
|
||||
@ -17,7 +18,8 @@
|
||||
"cogs": "Cogs",
|
||||
"cephaly": "Cephaly",
|
||||
"boheme": "Boheme",
|
||||
"amertume": "Amertume"
|
||||
"amertume": "Amertume",
|
||||
"gamelevel": "Game level"
|
||||
},
|
||||
"chat": {
|
||||
"formula": "Formula",
|
||||
@ -49,6 +51,7 @@
|
||||
"notenoughdice": "Execution and Preservation must have 2 dices allocated"
|
||||
},
|
||||
"ui": {
|
||||
"equipmentfree": "Equipments (free input)",
|
||||
"traitType": "Trait type",
|
||||
"niveauTrait": "Trait level",
|
||||
"weight": "Weight",
|
||||
@ -158,7 +161,12 @@
|
||||
"ideals": "Ideals",
|
||||
"politic": "Political ideal",
|
||||
"boheme": "Boheme",
|
||||
"annencybonus": "Annency bonus"
|
||||
"annencybonus": "Annency bonus",
|
||||
"bornplace": "Born place",
|
||||
"residence": "Residence",
|
||||
"origin": "Origin",
|
||||
"childhood": "Childhood",
|
||||
"bonus": "Bonus"
|
||||
}
|
||||
}
|
||||
}
|
22
lang/fr.json
22
lang/fr.json
@ -1,7 +1,8 @@
|
||||
{
|
||||
"TYPES": {
|
||||
"Actor":{
|
||||
"character": "Personnage",
|
||||
"pc": "Personnage Joueur",
|
||||
"npc": "Personnage Non Joueur",
|
||||
"annency": "Anence"
|
||||
},
|
||||
"Item": {
|
||||
@ -17,7 +18,8 @@
|
||||
"cogs": "Engrenages",
|
||||
"cephaly": "Céphalie",
|
||||
"boheme": "Bohême",
|
||||
"amertume": "Amertume"
|
||||
"amertume": "Amertume",
|
||||
"gamelevel": "Niveau de jeu"
|
||||
},
|
||||
"chat": {
|
||||
"formula": "Formule",
|
||||
@ -35,10 +37,10 @@
|
||||
},
|
||||
"rule": {
|
||||
"cephaly-success-12": "Durée : 1 scène - Impact : Superficiel - Bonus : 1 - Elegie : 1",
|
||||
"cephaly-success-34": "Durée : 1 semaine - Impact : Léger - Bonus : 2 - Elegie : 2",
|
||||
"cephaly-success-56": "Durée : 1 mois - Impact : Grave - Bonus : 3 - Elegie : 3",
|
||||
"cephaly-success-78": "Durée : 1 année - Impact : Majeur - Bonus : 4 - Elegie : 4",
|
||||
"cephaly-success-910": "Durée : Permanent - Impact : Mort - Bonus : 5 - Elegie : 5",
|
||||
"cephaly-success-4": "Durée : 1 semaine - Impact : Léger - Bonus : 2 - Elegie : 2",
|
||||
"cephaly-success-6": "Durée : 1 mois - Impact : Grave - Bonus : 3 - Elegie : 3",
|
||||
"cephaly-success-8": "Durée : 1 année - Impact : Majeur - Bonus : 4 - Elegie : 4",
|
||||
"cephaly-success-10": "Durée : Permanent - Impact : Mort - Bonus : 5 - Elegie : 5",
|
||||
"cephaly-failure-2": "Durée : 1 scène - Impact : Superficiel - Malus : 1 - Symptôme non visible et sans gravité - Altération bégigne difficilement repérable",
|
||||
"cephaly-failure-4": "Durée : 1 semaine - Impact : Léger - Malus : 2 - Symptôme visible non incapacitant - Altération repérable",
|
||||
"cephaly-failure-6": "Durée : 1 mois - Impact : Grave - Malus : 3 - Symptôme incapacitant - Altération repérable et fâcheuse",
|
||||
@ -50,6 +52,7 @@
|
||||
"notenoughdice": "L'Accomplissement et la Préservation doivent avoir 2 dés chacun"
|
||||
},
|
||||
"ui": {
|
||||
"equipmentfree": "Equipements (saisie libre)",
|
||||
"traitType": "Type de trait",
|
||||
"niveauTrait": "Niveau du trait",
|
||||
"effect": "Incidence",
|
||||
@ -159,7 +162,12 @@
|
||||
"ideals": "Idéaux",
|
||||
"politic": "Idéaux politiques",
|
||||
"boheme": "Bohême",
|
||||
"annencybonus": "Bonus d'Anence"
|
||||
"annencybonus": "Bonus d'Anence",
|
||||
"bornplace": "Lieu de naissance",
|
||||
"residence": "Résidence",
|
||||
"origin": "Origine",
|
||||
"childhood": "Enfance",
|
||||
"bonus": "Bonus"
|
||||
}
|
||||
}
|
||||
}
|
@ -46,7 +46,7 @@ export class EcrymeActorSheet extends ActorSheet {
|
||||
maneuvers: this.actor.getManeuvers(),
|
||||
impactsMalus: this.actor.getImpactsMalus(),
|
||||
archetype: duplicate(this.actor.getArchetype()),
|
||||
equipements: this.actor.getEquipments(),
|
||||
equipments: this.actor.getEquipments(),
|
||||
hasCephaly: EcrymeUtility.hasCephaly(),
|
||||
hasBoheme: EcrymeUtility.hasBoheme(),
|
||||
hasAmertume: EcrymeUtility.hasAmertume(),
|
||||
@ -129,6 +129,12 @@ export class EcrymeActorSheet extends ActorSheet {
|
||||
let skillKey = $(event.currentTarget).data("skill-key")
|
||||
this.actor.rollSkill(categKey, skillKey)
|
||||
});
|
||||
html.find('.roll-spec').click((event) => {
|
||||
let categKey = $(event.currentTarget).data("category-key")
|
||||
let skillKey = $(event.currentTarget).data("skill-key")
|
||||
let specId = $(event.currentTarget).data("spec-id")
|
||||
this.actor.rollSpec(categKey, skillKey, specId)
|
||||
});
|
||||
html.find('.roll-skill-confront').click((event) => {
|
||||
let categKey = $(event.currentTarget).data("category-key")
|
||||
let skillKey = $(event.currentTarget).data("skill-key")
|
||||
|
@ -200,7 +200,7 @@ export class EcrymeActor extends Actor {
|
||||
|
||||
/* ------------------------------------------- */
|
||||
getEquipments() {
|
||||
return this.items.filter(item => item.type == 'equipement')
|
||||
return this.items.filter(item => item.type == 'equipment')
|
||||
}
|
||||
|
||||
/* ------------------------------------------- */
|
||||
@ -348,7 +348,7 @@ export class EcrymeActor extends Actor {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
modifyConfrontBonus( modifier ) {
|
||||
let newBonus = this.system.internals.confrontbonus + bonus
|
||||
let newBonus = this.system.internals.confrontbonus + modifier
|
||||
this.update({'system.internals.confrontbonus': newBonus})
|
||||
}
|
||||
|
||||
@ -410,6 +410,17 @@ export class EcrymeActor extends Actor {
|
||||
this.startRoll(rollData).catch("Error on startRoll")
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
rollSpec(categKey, skillKey, specId) {
|
||||
let rollData = this.getCommonSkill(categKey, skillKey)
|
||||
let spec = this.items.find(it => it.type == "specialization" && it.id == specId)
|
||||
rollData.mode = "skill"
|
||||
rollData.selectedSpecs = [spec.id]
|
||||
rollData.forcedSpec = duplicate(spec)
|
||||
rollData.title = game.i18n.localize(rollData.skill.name)
|
||||
this.startRoll(rollData).catch("Error on startRoll")
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async rollSkillConfront(categKey, skillKey) {
|
||||
let rollData = this.getCommonSkill(categKey, skillKey)
|
||||
@ -457,6 +468,8 @@ export class EcrymeActor extends Actor {
|
||||
rollData.title = game.i18n.localize("ECRY.ui.confrontation") + " : " + game.i18n.localize(rollData.skill.name)
|
||||
rollData.executionTotal = rollData.skill.value
|
||||
rollData.preservationTotal = rollData.skill.value
|
||||
rollData.traitsBonus = duplicate(rollData.traits)
|
||||
rollData.traitsMalus = duplicate(rollData.traits)
|
||||
rollData.applyTranscendence = "execution"
|
||||
let confrontStartDialog = await EcrymeConfrontStartDialog.create(this, rollData)
|
||||
confrontStartDialog.render(true)
|
||||
|
@ -492,7 +492,7 @@ export class EcrymeUtility {
|
||||
rollData.margin = rollData.total - rollData.difficulty
|
||||
if (rollData.total > rollData.difficulty) {
|
||||
rollData.isSuccess = true
|
||||
let maxMargin = rollData.skill.value + (rollData.spec) ? 2 : 0
|
||||
let maxMargin = rollData.skill.value + ((rollData.spec) ? 2 : 0)
|
||||
rollData.margin = Math.min(rollData.margin, maxMargin)
|
||||
}
|
||||
}
|
||||
@ -516,7 +516,7 @@ export class EcrymeUtility {
|
||||
}
|
||||
if (rollData.selectedSpecs && rollData.selectedSpecs.length > 0) {
|
||||
rollData.spec = actor.getSpecialization(rollData.selectedSpecs[0])
|
||||
diceFormula += "+2"
|
||||
diceFormula += "+" + (String(rollData.spec.system?.bonus) || "2")
|
||||
}
|
||||
rollData.bonusMalusTraits = 0
|
||||
if (rollData.traitsBonus && rollData.traitsBonus.length > 0) {
|
||||
|
@ -68,7 +68,7 @@ Hooks.once("init", async function () {
|
||||
EcrymeUtility.init()
|
||||
|
||||
console.log("Babele INIT!")
|
||||
Babele.get().setSystemTranslationsDir("translated");
|
||||
Babele.get().setSystemTranslationsDir("translated")
|
||||
|
||||
});
|
||||
|
||||
|
@ -1 +1 @@
|
||||
MANIFEST-000054
|
||||
MANIFEST-000106
|
||||
|
@ -1,7 +1,7 @@
|
||||
2023/08/08-18:04:51.701446 7f5afcdf86c0 Recovering log #52
|
||||
2023/08/08-18:04:51.711602 7f5afcdf86c0 Delete type=3 #50
|
||||
2023/08/08-18:04:51.711652 7f5afcdf86c0 Delete type=0 #52
|
||||
2023/08/08-18:04:59.546696 7f58677fe6c0 Level-0 table #57: started
|
||||
2023/08/08-18:04:59.546715 7f58677fe6c0 Level-0 table #57: 0 bytes OK
|
||||
2023/08/08-18:04:59.552809 7f58677fe6c0 Delete type=0 #55
|
||||
2023/08/08-18:04:59.560028 7f58677fe6c0 Manual compaction at level-0 from '!folders!1GrTlI1xWvaxdKRI' @ 72057594037927935 : 1 .. '!items!zs7krgXhDRndtqbl' @ 0 : 0; will stop at (end)
|
||||
2023/10/10-15:44:15.214470 7fb8baffd6c0 Recovering log #104
|
||||
2023/10/10-15:44:15.228942 7fb8baffd6c0 Delete type=3 #102
|
||||
2023/10/10-15:44:15.229018 7fb8baffd6c0 Delete type=0 #104
|
||||
2023/10/10-16:47:17.816560 7fb8b97fa6c0 Level-0 table #109: started
|
||||
2023/10/10-16:47:17.816585 7fb8b97fa6c0 Level-0 table #109: 0 bytes OK
|
||||
2023/10/10-16:47:17.822797 7fb8b97fa6c0 Delete type=0 #107
|
||||
2023/10/10-16:47:17.832584 7fb8b97fa6c0 Manual compaction at level-0 from '!folders!1GrTlI1xWvaxdKRI' @ 72057594037927935 : 1 .. '!items!zs7krgXhDRndtqbl' @ 0 : 0; will stop at (end)
|
||||
|
@ -1,7 +1,7 @@
|
||||
2023/08/08-17:50:40.597296 7f5afd5f96c0 Recovering log #48
|
||||
2023/08/08-17:50:40.655447 7f5afd5f96c0 Delete type=3 #46
|
||||
2023/08/08-17:50:40.655509 7f5afd5f96c0 Delete type=0 #48
|
||||
2023/08/08-18:04:06.340910 7f58677fe6c0 Level-0 table #53: started
|
||||
2023/08/08-18:04:06.340947 7f58677fe6c0 Level-0 table #53: 0 bytes OK
|
||||
2023/08/08-18:04:06.347333 7f58677fe6c0 Delete type=0 #51
|
||||
2023/08/08-18:04:06.361314 7f58677fe6c0 Manual compaction at level-0 from '!folders!1GrTlI1xWvaxdKRI' @ 72057594037927935 : 1 .. '!items!zs7krgXhDRndtqbl' @ 0 : 0; will stop at (end)
|
||||
2023/10/10-14:47:37.319172 7fb8b9ffb6c0 Recovering log #100
|
||||
2023/10/10-14:47:37.374764 7fb8b9ffb6c0 Delete type=3 #98
|
||||
2023/10/10-14:47:37.374842 7fb8b9ffb6c0 Delete type=0 #100
|
||||
2023/10/10-15:44:02.360675 7fb8b97fa6c0 Level-0 table #105: started
|
||||
2023/10/10-15:44:02.360734 7fb8b97fa6c0 Level-0 table #105: 0 bytes OK
|
||||
2023/10/10-15:44:02.452513 7fb8b97fa6c0 Delete type=0 #103
|
||||
2023/10/10-15:44:02.600640 7fb8b97fa6c0 Manual compaction at level-0 from '!folders!1GrTlI1xWvaxdKRI' @ 72057594037927935 : 1 .. '!items!zs7krgXhDRndtqbl' @ 0 : 0; will stop at (end)
|
||||
|
Binary file not shown.
BIN
packs/help/000005.ldb
Normal file
BIN
packs/help/000005.ldb
Normal file
Binary file not shown.
1
packs/help/CURRENT
Normal file
1
packs/help/CURRENT
Normal file
@ -0,0 +1 @@
|
||||
MANIFEST-000042
|
8
packs/help/LOG
Normal file
8
packs/help/LOG
Normal file
@ -0,0 +1,8 @@
|
||||
2023/10/10-15:44:15.264794 7fb8bb7fe6c0 Recovering log #40
|
||||
2023/10/10-15:44:15.274945 7fb8bb7fe6c0 Delete type=3 #38
|
||||
2023/10/10-15:44:15.275026 7fb8bb7fe6c0 Delete type=0 #40
|
||||
2023/10/10-16:47:17.838950 7fb8b97fa6c0 Level-0 table #45: started
|
||||
2023/10/10-16:47:17.838969 7fb8b97fa6c0 Level-0 table #45: 0 bytes OK
|
||||
2023/10/10-16:47:17.846123 7fb8b97fa6c0 Delete type=0 #43
|
||||
2023/10/10-16:47:17.846349 7fb8b97fa6c0 Manual compaction at level-0 from '!journal!N3XOO6dRLuKwQfp2' @ 72057594037927935 : 1 .. '!journal.pages!N3XOO6dRLuKwQfp2.xhc7hqoL8kdW6lrD' @ 0 : 0; will stop at (end)
|
||||
2023/10/10-16:47:17.846379 7fb8b97fa6c0 Manual compaction at level-1 from '!journal!N3XOO6dRLuKwQfp2' @ 72057594037927935 : 1 .. '!journal.pages!N3XOO6dRLuKwQfp2.xhc7hqoL8kdW6lrD' @ 0 : 0; will stop at (end)
|
8
packs/help/LOG.old
Normal file
8
packs/help/LOG.old
Normal file
@ -0,0 +1,8 @@
|
||||
2023/10/10-14:47:37.522181 7fb8ba7fc6c0 Recovering log #36
|
||||
2023/10/10-14:47:37.575247 7fb8ba7fc6c0 Delete type=3 #34
|
||||
2023/10/10-14:47:37.575386 7fb8ba7fc6c0 Delete type=0 #36
|
||||
2023/10/10-15:44:02.669413 7fb8b97fa6c0 Level-0 table #41: started
|
||||
2023/10/10-15:44:02.669471 7fb8b97fa6c0 Level-0 table #41: 0 bytes OK
|
||||
2023/10/10-15:44:02.803436 7fb8b97fa6c0 Delete type=0 #39
|
||||
2023/10/10-15:44:02.803585 7fb8b97fa6c0 Manual compaction at level-0 from '!journal!N3XOO6dRLuKwQfp2' @ 72057594037927935 : 1 .. '!journal.pages!N3XOO6dRLuKwQfp2.xhc7hqoL8kdW6lrD' @ 0 : 0; will stop at (end)
|
||||
2023/10/10-15:44:02.803610 7fb8b97fa6c0 Manual compaction at level-1 from '!journal!N3XOO6dRLuKwQfp2' @ 72057594037927935 : 1 .. '!journal.pages!N3XOO6dRLuKwQfp2.xhc7hqoL8kdW6lrD' @ 0 : 0; will stop at (end)
|
BIN
packs/help/MANIFEST-000042
Normal file
BIN
packs/help/MANIFEST-000042
Normal file
Binary file not shown.
@ -1 +1 @@
|
||||
MANIFEST-000054
|
||||
MANIFEST-000106
|
||||
|
@ -1,7 +1,7 @@
|
||||
2023/08/08-18:04:51.714583 7f5afcdf86c0 Recovering log #52
|
||||
2023/08/08-18:04:51.723706 7f5afcdf86c0 Delete type=3 #50
|
||||
2023/08/08-18:04:51.723766 7f5afcdf86c0 Delete type=0 #52
|
||||
2023/08/08-18:04:59.560163 7f58677fe6c0 Level-0 table #57: started
|
||||
2023/08/08-18:04:59.560198 7f58677fe6c0 Level-0 table #57: 0 bytes OK
|
||||
2023/08/08-18:04:59.566320 7f58677fe6c0 Delete type=0 #55
|
||||
2023/08/08-18:04:59.566452 7f58677fe6c0 Manual compaction at level-0 from '!items!13IYF6BPUTivFZzB' @ 72057594037927935 : 1 .. '!items!oSutlbe9wyBZccmf' @ 0 : 0; will stop at (end)
|
||||
2023/10/10-15:44:15.251468 7fb8ba7fc6c0 Recovering log #104
|
||||
2023/10/10-15:44:15.263005 7fb8ba7fc6c0 Delete type=3 #102
|
||||
2023/10/10-15:44:15.263083 7fb8ba7fc6c0 Delete type=0 #104
|
||||
2023/10/10-16:47:17.832601 7fb8b97fa6c0 Level-0 table #109: started
|
||||
2023/10/10-16:47:17.832642 7fb8b97fa6c0 Level-0 table #109: 0 bytes OK
|
||||
2023/10/10-16:47:17.838860 7fb8b97fa6c0 Delete type=0 #107
|
||||
2023/10/10-16:47:17.846327 7fb8b97fa6c0 Manual compaction at level-0 from '!items!13IYF6BPUTivFZzB' @ 72057594037927935 : 1 .. '!items!oSutlbe9wyBZccmf' @ 0 : 0; will stop at (end)
|
||||
|
@ -1,7 +1,7 @@
|
||||
2023/08/08-17:50:40.659050 7f5afd5f96c0 Recovering log #48
|
||||
2023/08/08-17:50:40.767128 7f5afd5f96c0 Delete type=3 #46
|
||||
2023/08/08-17:50:40.767167 7f5afd5f96c0 Delete type=0 #48
|
||||
2023/08/08-18:04:06.354489 7f58677fe6c0 Level-0 table #53: started
|
||||
2023/08/08-18:04:06.354521 7f58677fe6c0 Level-0 table #53: 0 bytes OK
|
||||
2023/08/08-18:04:06.361236 7f58677fe6c0 Delete type=0 #51
|
||||
2023/08/08-18:04:06.361331 7f58677fe6c0 Manual compaction at level-0 from '!items!13IYF6BPUTivFZzB' @ 72057594037927935 : 1 .. '!items!oSutlbe9wyBZccmf' @ 0 : 0; will stop at (end)
|
||||
2023/10/10-14:47:37.452515 7fb8baffd6c0 Recovering log #100
|
||||
2023/10/10-14:47:37.516010 7fb8baffd6c0 Delete type=3 #98
|
||||
2023/10/10-14:47:37.516087 7fb8baffd6c0 Delete type=0 #100
|
||||
2023/10/10-15:44:02.600756 7fb8b97fa6c0 Level-0 table #105: started
|
||||
2023/10/10-15:44:02.600790 7fb8b97fa6c0 Level-0 table #105: 0 bytes OK
|
||||
2023/10/10-15:44:02.669263 7fb8b97fa6c0 Delete type=0 #103
|
||||
2023/10/10-15:44:02.803564 7fb8b97fa6c0 Manual compaction at level-0 from '!items!13IYF6BPUTivFZzB' @ 72057594037927935 : 1 .. '!items!oSutlbe9wyBZccmf' @ 0 : 0; will stop at (end)
|
||||
|
Binary file not shown.
0
packs/specialisation/000108.log
Normal file
0
packs/specialisation/000108.log
Normal file
@ -1 +1 @@
|
||||
MANIFEST-000054
|
||||
MANIFEST-000106
|
||||
|
@ -1,7 +1,7 @@
|
||||
2023/08/08-18:04:51.701446 7f5afddfa6c0 Recovering log #52
|
||||
2023/08/08-18:04:51.711597 7f5afddfa6c0 Delete type=3 #50
|
||||
2023/08/08-18:04:51.711643 7f5afddfa6c0 Delete type=0 #52
|
||||
2023/08/08-18:04:59.539283 7f58677fe6c0 Level-0 table #57: started
|
||||
2023/08/08-18:04:59.539308 7f58677fe6c0 Level-0 table #57: 0 bytes OK
|
||||
2023/08/08-18:04:59.546617 7f58677fe6c0 Delete type=0 #55
|
||||
2023/08/08-18:04:59.560019 7f58677fe6c0 Manual compaction at level-0 from '!folders!00Hn2nNarlL7b0DR' @ 72057594037927935 : 1 .. '!items!yozTUjNuc2rEGjFK' @ 0 : 0; will stop at (end)
|
||||
2023/10/10-15:44:15.196298 7fb8bb7fe6c0 Recovering log #104
|
||||
2023/10/10-15:44:15.211750 7fb8bb7fe6c0 Delete type=3 #102
|
||||
2023/10/10-15:44:15.211839 7fb8bb7fe6c0 Delete type=0 #104
|
||||
2023/10/10-16:47:17.809484 7fb8b97fa6c0 Level-0 table #109: started
|
||||
2023/10/10-16:47:17.809511 7fb8b97fa6c0 Level-0 table #109: 0 bytes OK
|
||||
2023/10/10-16:47:17.816437 7fb8b97fa6c0 Delete type=0 #107
|
||||
2023/10/10-16:47:17.832558 7fb8b97fa6c0 Manual compaction at level-0 from '!folders!00Hn2nNarlL7b0DR' @ 72057594037927935 : 1 .. '!items!yozTUjNuc2rEGjFK' @ 0 : 0; will stop at (end)
|
||||
|
@ -1,7 +1,7 @@
|
||||
2023/08/08-17:50:40.597326 7f5afcdf86c0 Recovering log #48
|
||||
2023/08/08-17:50:40.655429 7f5afcdf86c0 Delete type=3 #46
|
||||
2023/08/08-17:50:40.655471 7f5afcdf86c0 Delete type=0 #48
|
||||
2023/08/08-18:04:06.323953 7f58677fe6c0 Level-0 table #53: started
|
||||
2023/08/08-18:04:06.324001 7f58677fe6c0 Level-0 table #53: 0 bytes OK
|
||||
2023/08/08-18:04:06.330360 7f58677fe6c0 Delete type=0 #51
|
||||
2023/08/08-18:04:06.340887 7f58677fe6c0 Manual compaction at level-0 from '!folders!00Hn2nNarlL7b0DR' @ 72057594037927935 : 1 .. '!items!yozTUjNuc2rEGjFK' @ 0 : 0; will stop at (end)
|
||||
2023/10/10-14:47:37.259593 7fb8ba7fc6c0 Recovering log #100
|
||||
2023/10/10-14:47:37.309331 7fb8ba7fc6c0 Delete type=3 #98
|
||||
2023/10/10-14:47:37.309445 7fb8ba7fc6c0 Delete type=0 #100
|
||||
2023/10/10-15:44:02.452840 7fb8b97fa6c0 Level-0 table #105: started
|
||||
2023/10/10-15:44:02.452904 7fb8b97fa6c0 Level-0 table #105: 0 bytes OK
|
||||
2023/10/10-15:44:02.530099 7fb8b97fa6c0 Delete type=0 #103
|
||||
2023/10/10-15:44:02.600658 7fb8b97fa6c0 Manual compaction at level-0 from '!folders!00Hn2nNarlL7b0DR' @ 72057594037927935 : 1 .. '!items!yozTUjNuc2rEGjFK' @ 0 : 0; will stop at (end)
|
||||
|
Binary file not shown.
0
packs/traits/000108.log
Normal file
0
packs/traits/000108.log
Normal file
@ -1 +1 @@
|
||||
MANIFEST-000054
|
||||
MANIFEST-000106
|
||||
|
@ -1,7 +1,7 @@
|
||||
2023/08/08-18:04:51.714581 7f5afd5f96c0 Recovering log #52
|
||||
2023/08/08-18:04:51.723695 7f5afd5f96c0 Delete type=3 #50
|
||||
2023/08/08-18:04:51.723729 7f5afd5f96c0 Delete type=0 #52
|
||||
2023/08/08-18:04:59.552915 7f58677fe6c0 Level-0 table #57: started
|
||||
2023/08/08-18:04:59.552934 7f58677fe6c0 Level-0 table #57: 0 bytes OK
|
||||
2023/08/08-18:04:59.559910 7f58677fe6c0 Delete type=0 #55
|
||||
2023/08/08-18:04:59.560044 7f58677fe6c0 Manual compaction at level-0 from '!folders!DiwHbtGAkTYxtshX' @ 72057594037927935 : 1 .. '!items!zgNI2haxhBxBDBdl' @ 0 : 0; will stop at (end)
|
||||
2023/10/10-15:44:15.233698 7fb8b9ffb6c0 Recovering log #104
|
||||
2023/10/10-15:44:15.249165 7fb8b9ffb6c0 Delete type=3 #102
|
||||
2023/10/10-15:44:15.249275 7fb8b9ffb6c0 Delete type=0 #104
|
||||
2023/10/10-16:47:17.823003 7fb8b97fa6c0 Level-0 table #109: started
|
||||
2023/10/10-16:47:17.823041 7fb8b97fa6c0 Level-0 table #109: 0 bytes OK
|
||||
2023/10/10-16:47:17.832350 7fb8b97fa6c0 Delete type=0 #107
|
||||
2023/10/10-16:47:17.838938 7fb8b97fa6c0 Manual compaction at level-0 from '!folders!DiwHbtGAkTYxtshX' @ 72057594037927935 : 1 .. '!items!zgNI2haxhBxBDBdl' @ 0 : 0; will stop at (end)
|
||||
|
@ -1,7 +1,7 @@
|
||||
2023/08/08-17:50:40.658993 7f5afcdf86c0 Recovering log #48
|
||||
2023/08/08-17:50:40.748499 7f5afcdf86c0 Delete type=3 #46
|
||||
2023/08/08-17:50:40.748566 7f5afcdf86c0 Delete type=0 #48
|
||||
2023/08/08-18:04:06.347462 7f58677fe6c0 Level-0 table #53: started
|
||||
2023/08/08-18:04:06.347507 7f58677fe6c0 Level-0 table #53: 0 bytes OK
|
||||
2023/08/08-18:04:06.354352 7f58677fe6c0 Delete type=0 #51
|
||||
2023/08/08-18:04:06.361324 7f58677fe6c0 Manual compaction at level-0 from '!folders!DiwHbtGAkTYxtshX' @ 72057594037927935 : 1 .. '!items!zgNI2haxhBxBDBdl' @ 0 : 0; will stop at (end)
|
||||
2023/10/10-14:47:37.382454 7fb8bb7fe6c0 Recovering log #100
|
||||
2023/10/10-14:47:37.442416 7fb8bb7fe6c0 Delete type=3 #98
|
||||
2023/10/10-14:47:37.442914 7fb8bb7fe6c0 Delete type=0 #100
|
||||
2023/10/10-15:44:02.530318 7fb8b97fa6c0 Level-0 table #105: started
|
||||
2023/10/10-15:44:02.530361 7fb8b97fa6c0 Level-0 table #105: 0 bytes OK
|
||||
2023/10/10-15:44:02.600527 7fb8b97fa6c0 Delete type=0 #103
|
||||
2023/10/10-15:44:02.600692 7fb8b97fa6c0 Manual compaction at level-0 from '!folders!DiwHbtGAkTYxtshX' @ 72057594037927935 : 1 .. '!items!zgNI2haxhBxBDBdl' @ 0 : 0; will stop at (end)
|
||||
|
Binary file not shown.
@ -1321,6 +1321,10 @@ ul, li {
|
||||
min-width:2rem;
|
||||
max-width: 2rem;
|
||||
}
|
||||
.item-controls-fixed-full {
|
||||
min-width:3rem;
|
||||
max-width: 3rem;
|
||||
}
|
||||
.attribute-label {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
@ -1301,6 +1301,10 @@ ul, li {
|
||||
min-width:2rem;
|
||||
max-width: 2rem;
|
||||
}
|
||||
.item-controls-fixed-full {
|
||||
min-width:3rem;
|
||||
max-width: 3rem;
|
||||
}
|
||||
.attribute-label {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
29
system.json
29
system.json
@ -73,10 +73,22 @@
|
||||
"PLAYER": "OBSERVER",
|
||||
"ASSISTANT": "OWNER"
|
||||
}
|
||||
},
|
||||
{
|
||||
"label": "Help/Aides",
|
||||
"type": "JournalEntry",
|
||||
"name": "help",
|
||||
"path": "packs/help",
|
||||
"system": "fvtt-ecryme",
|
||||
"flags": {},
|
||||
"ownership": {
|
||||
"PLAYER": "OBSERVER",
|
||||
"ASSISTANT": "OWNER"
|
||||
}
|
||||
}
|
||||
],
|
||||
"license": "LICENSE.txt",
|
||||
"manifest": "https://www.uberwald.me/gitea/uberwald/fvtt-ecryme/raw/branch/master/system.json",
|
||||
"manifest": "https://www.uberwald.me/gitea/public/fvtt-ecryme/raw/branch/master/system.json",
|
||||
"compatibility": {
|
||||
"minimum": "10",
|
||||
"verified": "11"
|
||||
@ -88,9 +100,18 @@
|
||||
"styles": [
|
||||
"styles/ecryme.css"
|
||||
],
|
||||
"relationships": {
|
||||
"requires": [
|
||||
{
|
||||
"id": "babele",
|
||||
"type": "module",
|
||||
"compatibility": {}
|
||||
}
|
||||
]
|
||||
},
|
||||
"title": "Ecryme, le Jeu de Rôles",
|
||||
"url": "https://www.uberwald.me/gitea/uberwald/fvtt-ecryme",
|
||||
"version": "11.0.19",
|
||||
"download": "https://www.uberwald.me/gitea/uberwald/fvtt-ecryme/archive/fvtt-ecryme-v11.0.19.zip",
|
||||
"url": "https://www.uberwald.me/gitea/public/fvtt-ecryme",
|
||||
"version": "11.0.36",
|
||||
"download": "https://www.uberwald.me/gitea/public/fvtt-ecryme/archive/fvtt-ecryme-v11.0.36.zip",
|
||||
"background": "systems/fvtt-ecryme/images/assets/ecryme_extract_panel_01.webp"
|
||||
}
|
@ -24,6 +24,7 @@
|
||||
},
|
||||
"core": {
|
||||
"subactors": [],
|
||||
"equipmentfree": "",
|
||||
"skills": {
|
||||
"physical": {
|
||||
"name": "ECRY.ui.physical",
|
||||
@ -266,6 +267,7 @@
|
||||
"effect": 0
|
||||
},
|
||||
"specialization": {
|
||||
"bonus": 2,
|
||||
"templates": [
|
||||
"common"
|
||||
],
|
||||
|
@ -19,9 +19,10 @@
|
||||
<label class="item-name-label-long">{{spleen.name}}</label>
|
||||
<div class="item-filler"> </div>
|
||||
{{#if spleen}}
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<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-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-plus"></i></a>
|
||||
<a class="item-control item-add" data-type="trait" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
{{/if}}
|
||||
</li>
|
||||
@ -30,9 +31,10 @@
|
||||
<label class="item-name-label-long">{{ideal.name}}</label>
|
||||
<div class="item-filler"> </div>
|
||||
{{#if ideal}}
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<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-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-plus"></i></a>
|
||||
<a class="item-control item-add" data-type="trait" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
{{/if}}
|
||||
</li>
|
||||
@ -100,15 +102,15 @@
|
||||
<ul class="ul-level1">
|
||||
{{#each skill.spec as |spec idx|}}
|
||||
<li class="item flexrow list-item" data-item-id="{{spec._id}}" data-item-type="specialization">
|
||||
<a class="roll-spec" 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>
|
||||
{{spec.name}}
|
||||
</a>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-edit" data-type="specialization" title="Edit Item"><i
|
||||
class="fas fa-edit"></i></a>
|
||||
<a class="item-control item-add" data-type="specialization" title="Delete Item"><i
|
||||
class="fas fa-plus"></i></a>
|
||||
<a class="item-control item-delete" data-type="specialization" title="Delete Item"><i
|
||||
class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
@ -273,57 +275,22 @@
|
||||
|
||||
|
||||
{{!-- Equipement Tab --}}
|
||||
<div class="tab equipment" data-group="primary" data-tab="equipment">
|
||||
<div class="tab equipements" data-group="primary" data-tab="equipements">
|
||||
|
||||
<span class="item-name-label-header items-title-bg">
|
||||
<h3><label class="items-title-text">Equipements (saisie libre)</label></h3>
|
||||
<h3><label class="items-title-text">{{localize "ECRY.ui.equipmentfree"}}</label></h3>
|
||||
</span>
|
||||
<div class="form-group small-editor">
|
||||
{{editor equipementlibre target="system.equipementlibre" button=true owner=owner editable=editable}}
|
||||
{{editor equipementlibre target="system.equipmentfree" button=true owner=owner editable=editable}}
|
||||
</div>
|
||||
|
||||
<ul class="item-list alternate-list">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-name-label-header">
|
||||
<h3><label class="items-title-text">Armes</label></h3>
|
||||
<h3><label class="items-title-text">{{localize "ECRY.ui.equipment"}}s</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="item-field-label-medium">Normaux</label>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="item-field-label-medium">Particulier</label>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="item-field-label-medium">Critique</label>
|
||||
</span>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-add" data-type="weapon" title="Create Item"><i class="fas fa-plus"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{#each armes as |arme key|}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{arme._id}}">
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{arme.img}}" /></a>
|
||||
<span class="item-name-label">{{arme.name}}</span>
|
||||
<span class="item-field-label-medium"><label>{{arme.system.dommagenormale}}</label></span>
|
||||
<span class="item-field-label-medium"><label>{{arme.system.dommagepart}}</label></span>
|
||||
<span class="item-field-label-medium"><label>{{arme.system.dommagecritique}}</label></span>
|
||||
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
|
||||
<ul class="item-list alternate-list">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-name-label-header">
|
||||
<h3><label class="items-title-text">Equipements (Items)</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-long">
|
||||
<label class="short-label">Q.</label>
|
||||
<label class="item-field-label-medium">{{localize "ECRY.ui.weight"}}</label>
|
||||
</span>
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
@ -331,11 +298,12 @@
|
||||
</div>
|
||||
|
||||
</li>
|
||||
{{#each equipements as |equip key|}}
|
||||
{{#each equipments as |equip key|}}
|
||||
<li class="item list-item flexrow list-item-shadow" data-item-id="{{equip._id}}">
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{equip.img}}" /></a>
|
||||
<span class="item-name-label">{{equip.name}}</span>
|
||||
<span class="item-field-label-medium">{{equip.system.weight}}</span>
|
||||
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
@ -345,36 +313,6 @@
|
||||
{{/each}}
|
||||
</ul>
|
||||
|
||||
<ul class="item-list alternate-list">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-name-label-header">
|
||||
<h3><label class="items-title-text">Sortilèges</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">Seuil</label>
|
||||
</span>
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-add" data-type="equipment" title="Create Item"><i class="fas fa-plus"></i></a>
|
||||
</div>
|
||||
|
||||
</li>
|
||||
{{#each sorts as |sort key|}}
|
||||
<li class="item list-item flexrow list-item-shadow" data-item-id="{{sort._id}}">
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{sort.img}}" /></a>
|
||||
<span class="item-name-label">{{sort.name}}</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">{{sort.system.seuil}}</label>
|
||||
</span>
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
|
||||
<hr>
|
||||
|
||||
</div>
|
||||
@ -386,7 +324,7 @@
|
||||
<div>
|
||||
<ul class="item-list alternate-list">
|
||||
<li class="item flexrow">
|
||||
<label class="item-name-label-medium">Lieu de naissance</label>
|
||||
<label class="item-name-label-medium">{{localize "ECRY.ui.bornplace"}}</label>
|
||||
<input type="text" class="" name="system.biodata.lieunaissance" value="{{system.biodata.lieunaissance}}"
|
||||
data-dtype="String" />
|
||||
</li>
|
||||
@ -395,22 +333,27 @@
|
||||
<input type="text" class="" name="system.biodata.age" value="{{system.biodata.age}}"
|
||||
data-dtype="String" />
|
||||
</li>
|
||||
<li class="item flexrow">
|
||||
<label class="item-name-label-medium">Profession</label>
|
||||
<input type="text" class="" name="system.biodata.profession" value="{{system.biodata.profession}}"
|
||||
data-dtype="String" />
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div>
|
||||
<ul>
|
||||
<li class="item flexrow">
|
||||
<label class="item-name-label-medium">Résidence</label>
|
||||
<label class="item-name-label-medium">{{localize "ECRY.ui.residence"}}</label>
|
||||
<input type="text" class="" name="system.biodata.residence" value="{{system.biodata.residence}}"
|
||||
data-dtype="String" />
|
||||
</li>
|
||||
<li class="item flexrow">
|
||||
<label class="item-name-label-medium">Nationalité</label>
|
||||
<label class="item-name-label-medium">{{localize "ECRY.ui.origin"}}</label>
|
||||
<input type="text" class="" name="system.biodata.nationalite" value="{{system.biodata.nationalite}}"
|
||||
data-dtype="String" />
|
||||
</li>
|
||||
<li class="item flexrow">
|
||||
<label class="item-name-label-medium">Enfance</label>
|
||||
<label class="item-name-label-medium">{{localize "ECRY.ui.childhood"}}</label>
|
||||
<input type="text" class="" name="system.biodata.enfance" value="{{system.biodata.enfance}}"
|
||||
data-dtype="String" />
|
||||
</li>
|
||||
|
@ -23,7 +23,7 @@
|
||||
|
||||
<li>{{localize skill.name}}: {{skill.value}} </li>
|
||||
{{#if spec}}
|
||||
<li>{{localize "ECRY.chat.specialization"}} {{spec.name}} (+2) </li>
|
||||
<li>{{localize "ECRY.chat.specialization"}} {{spec.name}} (+{{spec.system.bonus}}) </li>
|
||||
{{/if}}
|
||||
|
||||
{{#each traitsBonus as |trait idx|}}
|
||||
|
@ -21,7 +21,7 @@
|
||||
{{#if skill}}
|
||||
<li>{{localize skill.name}}: {{skill.value}} </li>
|
||||
{{#if spec}}
|
||||
<li>{{localize "ECRY.chat.specialization"}} {{spec.name}} (+2) </li>
|
||||
<li>{{localize "ECRY.chat.specialization"}} {{spec.name}} (+{{spec.system.bonus}}) </li>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
|
||||
|
@ -22,14 +22,21 @@
|
||||
</select>
|
||||
</div>
|
||||
|
||||
{{#if forcedSpec}}
|
||||
<div class="flexrow">
|
||||
<span class="roll-dialog-label">{{localize "ECRY.ui.spec"}} : </span>
|
||||
<span class="roll-dialog-label">{{forcedSpec.name}} (+{{forcedSpec.system.bonus}})</span>
|
||||
</div>
|
||||
{{else}}
|
||||
<div class="flexrow">
|
||||
<span class="roll-dialog-label">{{localize "ECRY.ui.spec"}} : </span>
|
||||
<select class="" id="roll-specialization" data-type="String" multiple>
|
||||
{{#each skill.spec as |spec idx|}}
|
||||
<option value="{{spec.id}}">{{spec.name}}</option>
|
||||
<option value="{{spec.id}}">{{spec.name}} (+{{spec.system.bonus}})</option>
|
||||
{{/each}}
|
||||
</select>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if spleen}}
|
||||
<div class="flexrow">
|
||||
|
@ -30,6 +30,11 @@
|
||||
</select>
|
||||
</li>
|
||||
|
||||
<li class="flexrow">
|
||||
<label class="item-name-label-long">{{localize "ECRY.ui.bonus"}}</label>
|
||||
<input type="text" class="item-field-label-short" name="system.bonus" value="{{system.bonus}}" data-dtype="Number"/>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
Reference in New Issue
Block a user