Compare commits

..

12 Commits

41 changed files with 192 additions and 161 deletions

View File

@ -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: |

View File

@ -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
![System Snapshot](https://www.lahiette.com/leratierbretonnien/wp-content/uploads/2023/08/ecryme_snapshot_01.webp "System Snapshot")
# Contributions
- Original code realised by Uberwald (https://www.uberwald.me/)

11
changelog.md Normal file
View 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

View File

@ -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,11 @@
"ideals": "Ideals",
"politic": "Political ideal",
"boheme": "Boheme",
"annencybonus": "Annency bonus"
"annencybonus": "Annency bonus",
"bornplace": "Born place",
"residence": "Residence",
"origin": "Origin",
"childhood": "Childhood"
}
}
}

View File

@ -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,11 @@
"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"
}
}
}

View File

@ -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(),

View File

@ -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})
}
@ -457,6 +457,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)

View File

@ -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)
}
}

View File

@ -68,7 +68,7 @@ Hooks.once("init", async function () {
EcrymeUtility.init()
console.log("Babele INIT!")
Babele.get().setSystemTranslationsDir("translated");
Babele.get().setSystemTranslationsDir("translated")
});

View File

@ -1 +1 @@
MANIFEST-000054
MANIFEST-000090

View File

@ -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/08/25-09:06:43.291745 7f42affff6c0 Recovering log #88
2023/08/25-09:06:43.308894 7f42affff6c0 Delete type=3 #86
2023/08/25-09:06:43.308951 7f42affff6c0 Delete type=0 #88
2023/08/25-09:09:02.388289 7f42ae7fc6c0 Level-0 table #93: started
2023/08/25-09:09:02.388354 7f42ae7fc6c0 Level-0 table #93: 0 bytes OK
2023/08/25-09:09:02.396757 7f42ae7fc6c0 Delete type=0 #91
2023/08/25-09:09:02.413788 7f42ae7fc6c0 Manual compaction at level-0 from '!folders!1GrTlI1xWvaxdKRI' @ 72057594037927935 : 1 .. '!items!zs7krgXhDRndtqbl' @ 0 : 0; will stop at (end)

View File

@ -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/08/25-08:56:40.355200 7f45449ff6c0 Recovering log #84
2023/08/25-08:56:40.368438 7f45449ff6c0 Delete type=3 #82
2023/08/25-08:56:40.368595 7f45449ff6c0 Delete type=0 #84
2023/08/25-09:05:19.712351 7f42ae7fc6c0 Level-0 table #89: started
2023/08/25-09:05:19.712385 7f42ae7fc6c0 Level-0 table #89: 0 bytes OK
2023/08/25-09:05:19.719168 7f42ae7fc6c0 Delete type=0 #87
2023/08/25-09:05:19.719526 7f42ae7fc6c0 Manual compaction at level-0 from '!folders!1GrTlI1xWvaxdKRI' @ 72057594037927935 : 1 .. '!items!zs7krgXhDRndtqbl' @ 0 : 0; will stop at (end)

BIN
packs/help/000005.ldb Normal file

Binary file not shown.

1
packs/help/CURRENT Normal file
View File

@ -0,0 +1 @@
MANIFEST-000026

8
packs/help/LOG Normal file
View File

@ -0,0 +1,8 @@
2023/08/25-09:06:43.332086 7f42affff6c0 Recovering log #24
2023/08/25-09:06:43.343333 7f42affff6c0 Delete type=3 #22
2023/08/25-09:06:43.343425 7f42affff6c0 Delete type=0 #24
2023/08/25-09:09:02.413816 7f42ae7fc6c0 Level-0 table #29: started
2023/08/25-09:09:02.413868 7f42ae7fc6c0 Level-0 table #29: 0 bytes OK
2023/08/25-09:09:02.420658 7f42ae7fc6c0 Delete type=0 #27
2023/08/25-09:09:02.420945 7f42ae7fc6c0 Manual compaction at level-0 from '!journal!N3XOO6dRLuKwQfp2' @ 72057594037927935 : 1 .. '!journal.pages!N3XOO6dRLuKwQfp2.xhc7hqoL8kdW6lrD' @ 0 : 0; will stop at (end)
2023/08/25-09:09:02.420984 7f42ae7fc6c0 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
View File

@ -0,0 +1,8 @@
2023/08/25-08:56:40.391655 7f45449ff6c0 Recovering log #20
2023/08/25-08:56:40.402088 7f45449ff6c0 Delete type=3 #18
2023/08/25-08:56:40.402156 7f45449ff6c0 Delete type=0 #20
2023/08/25-09:05:19.719759 7f42ae7fc6c0 Level-0 table #25: started
2023/08/25-09:05:19.719808 7f42ae7fc6c0 Level-0 table #25: 0 bytes OK
2023/08/25-09:05:19.726375 7f42ae7fc6c0 Delete type=0 #23
2023/08/25-09:05:19.739729 7f42ae7fc6c0 Manual compaction at level-0 from '!journal!N3XOO6dRLuKwQfp2' @ 72057594037927935 : 1 .. '!journal.pages!N3XOO6dRLuKwQfp2.xhc7hqoL8kdW6lrD' @ 0 : 0; will stop at (end)
2023/08/25-09:05:19.739776 7f42ae7fc6c0 Manual compaction at level-1 from '!journal!N3XOO6dRLuKwQfp2' @ 72057594037927935 : 1 .. '!journal.pages!N3XOO6dRLuKwQfp2.xhc7hqoL8kdW6lrD' @ 0 : 0; will stop at (end)

BIN
packs/help/MANIFEST-000026 Normal file

Binary file not shown.

View File

@ -1 +1 @@
MANIFEST-000054
MANIFEST-000090

View File

@ -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/08/25-09:06:43.313751 7f45449ff6c0 Recovering log #88
2023/08/25-09:06:43.332919 7f45449ff6c0 Delete type=3 #86
2023/08/25-09:06:43.332977 7f45449ff6c0 Delete type=0 #88
2023/08/25-09:09:02.396939 7f42ae7fc6c0 Level-0 table #93: started
2023/08/25-09:09:02.396976 7f42ae7fc6c0 Level-0 table #93: 0 bytes OK
2023/08/25-09:09:02.405091 7f42ae7fc6c0 Delete type=0 #91
2023/08/25-09:09:02.420883 7f42ae7fc6c0 Manual compaction at level-0 from '!items!13IYF6BPUTivFZzB' @ 72057594037927935 : 1 .. '!items!oSutlbe9wyBZccmf' @ 0 : 0; will stop at (end)

View File

@ -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/08/25-08:56:40.374817 7f42aeffd6c0 Recovering log #84
2023/08/25-08:56:40.392507 7f42aeffd6c0 Delete type=3 #82
2023/08/25-08:56:40.392560 7f42aeffd6c0 Delete type=0 #84
2023/08/25-09:05:19.732932 7f42ae7fc6c0 Level-0 table #89: started
2023/08/25-09:05:19.732977 7f42ae7fc6c0 Level-0 table #89: 0 bytes OK
2023/08/25-09:05:19.739465 7f42ae7fc6c0 Delete type=0 #87
2023/08/25-09:05:19.739765 7f42ae7fc6c0 Manual compaction at level-0 from '!items!13IYF6BPUTivFZzB' @ 72057594037927935 : 1 .. '!items!oSutlbe9wyBZccmf' @ 0 : 0; will stop at (end)

View File

View File

@ -1 +1 @@
MANIFEST-000054
MANIFEST-000090

View File

@ -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/08/25-09:06:43.291938 7f42aeffd6c0 Recovering log #88
2023/08/25-09:06:43.311799 7f42aeffd6c0 Delete type=3 #86
2023/08/25-09:06:43.311854 7f42aeffd6c0 Delete type=0 #88
2023/08/25-09:09:02.334209 7f42ae7fc6c0 Level-0 table #93: started
2023/08/25-09:09:02.334296 7f42ae7fc6c0 Level-0 table #93: 0 bytes OK
2023/08/25-09:09:02.346293 7f42ae7fc6c0 Delete type=0 #91
2023/08/25-09:09:02.364301 7f42ae7fc6c0 Manual compaction at level-0 from '!folders!00Hn2nNarlL7b0DR' @ 72057594037927935 : 1 .. '!items!yozTUjNuc2rEGjFK' @ 0 : 0; will stop at (end)

View File

@ -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/08/25-08:56:40.355478 7f42affff6c0 Recovering log #84
2023/08/25-08:56:40.372234 7f42affff6c0 Delete type=3 #82
2023/08/25-08:56:40.372332 7f42affff6c0 Delete type=0 #84
2023/08/25-09:05:19.704735 7f42ae7fc6c0 Level-0 table #89: started
2023/08/25-09:05:19.704765 7f42ae7fc6c0 Level-0 table #89: 0 bytes OK
2023/08/25-09:05:19.712218 7f42ae7fc6c0 Delete type=0 #87
2023/08/25-09:05:19.719509 7f42ae7fc6c0 Manual compaction at level-0 from '!folders!00Hn2nNarlL7b0DR' @ 72057594037927935 : 1 .. '!items!yozTUjNuc2rEGjFK' @ 0 : 0; will stop at (end)

0
packs/traits/000092.log Normal file
View File

View File

@ -1 +1 @@
MANIFEST-000054
MANIFEST-000090

View File

@ -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/08/25-09:06:43.312129 7f42af7fe6c0 Recovering log #88
2023/08/25-09:06:43.329832 7f42af7fe6c0 Delete type=3 #86
2023/08/25-09:06:43.329881 7f42af7fe6c0 Delete type=0 #88
2023/08/25-09:09:02.405626 7f42ae7fc6c0 Level-0 table #93: started
2023/08/25-09:09:02.405697 7f42ae7fc6c0 Level-0 table #93: 0 bytes OK
2023/08/25-09:09:02.413585 7f42ae7fc6c0 Delete type=0 #91
2023/08/25-09:09:02.420919 7f42ae7fc6c0 Manual compaction at level-0 from '!folders!DiwHbtGAkTYxtshX' @ 72057594037927935 : 1 .. '!items!zgNI2haxhBxBDBdl' @ 0 : 0; will stop at (end)

View File

@ -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/08/25-08:56:40.373273 7f42af7fe6c0 Recovering log #84
2023/08/25-08:56:40.389363 7f42af7fe6c0 Delete type=3 #82
2023/08/25-08:56:40.389459 7f42af7fe6c0 Delete type=0 #84
2023/08/25-09:05:19.726495 7f42ae7fc6c0 Level-0 table #89: started
2023/08/25-09:05:19.726528 7f42ae7fc6c0 Level-0 table #89: 0 bytes OK
2023/08/25-09:05:19.732766 7f42ae7fc6c0 Delete type=0 #87
2023/08/25-09:05:19.739752 7f42ae7fc6c0 Manual compaction at level-0 from '!folders!DiwHbtGAkTYxtshX' @ 72057594037927935 : 1 .. '!items!zgNI2haxhBxBDBdl' @ 0 : 0; will stop at (end)

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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.35",
"download": "https://www.uberwald.me/gitea/public/fvtt-ecryme/archive/fvtt-ecryme-v11.0.35.zip",
"background": "systems/fvtt-ecryme/images/assets/ecryme_extract_panel_01.webp"
}

View File

@ -24,6 +24,7 @@
},
"core": {
"subactors": [],
"equipmentfree": "",
"skills": {
"physical": {
"name": "ECRY.ui.physical",

View File

@ -19,9 +19,10 @@
<label class="item-name-label-long">{{spleen.name}}</label>
<div class="item-filler">&nbsp;</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">&nbsp;</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>
@ -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">&nbsp;</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">&nbsp;</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">&nbsp;</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">&nbsp;</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">&nbsp;</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>