Compare commits

...

24 Commits

Author SHA1 Message Date
6778a9aa0b Release fix 2023-08-26 21:49:32 +02:00
63aa49c77f Fix CI/CD 2023-08-26 19:18:07 +02:00
0a3265419a Move repo to public area 2023-08-26 09:57:43 +02:00
f5093980b0 Move repo to public area 2023-08-26 09:53:14 +02:00
062a597b70 Various fixes in equipment, biodata 2023-08-25 09:18:45 +02:00
1d0d123947 Various fixes in equipment, biodata 2023-08-25 09:09:21 +02:00
bf94dc30b8 Picture link 2023-08-22 08:35:02 +02:00
fc3b83cfc2 Picture link 2023-08-22 08:34:12 +02:00
19b88c3de9 Add changelog 2023-08-21 15:20:10 +02:00
d669059403 Corrections diverses 2023-08-17 08:31:22 +02:00
45d419115d Needs babele, fix translation, fix margine 2023-08-16 21:17:49 +02:00
b9e2a77e88 Needs babele, fix translation, fix margine 2023-08-16 21:17:34 +02:00
5dca748bf3 v11 ready 2023-08-16 20:52:48 +02:00
98f9e1e2a6 v11 ready 2023-08-16 20:49:26 +02:00
1a90be13be v11 ready 2023-08-16 20:45:23 +02:00
e2f97762b9 Add workflow 2023-08-14 17:39:39 +02:00
de11053a9a Add workflow 2023-08-14 17:02:40 +02:00
3f7ce9918e Add workflow 2023-08-14 16:59:00 +02:00
919147b4af Add workflow 2023-08-14 16:58:18 +02:00
22953744ba Add workflow 2023-08-14 16:55:43 +02:00
6aee41b817 Final import 2023-08-14 16:47:12 +02:00
e7268a1578 Fix NPC sheet 2023-08-09 20:44:25 +02:00
0d25bbe764 Ajout annence et NPC 2023-08-09 17:33:11 +02:00
554a1af531 Annence/Boheme 2023-08-08 18:05:10 +02:00
45 changed files with 334 additions and 166 deletions

54
.gitea/workflows/main.yml Normal file
View File

@ -0,0 +1,54 @@
name: Release Creation
on:
release:
types: [published]
jobs:
build:
runs-on: ubuntu-latest
steps:
- run: echo "💡 The ${{ gitea.repository }} repository will cloned to the runner."
#- uses: actions/checkout@v3
- uses: RouxAntoine/checkout@v3.5.4
with:
ref: 'master'
# get part of the tag after the `v`
- name: Extract tag version number
id: get_version
uses: battila7/get-version-action@v2
# Substitute the Manifest and Download URLs in the module.json
- name: Substitute Manifest and Download Links For Versioned Ones
id: sub_manifest_link_version
uses: microsoft/variable-substitution@v1
with:
files: 'system.json'
env:
version: ${{steps.get_version.outputs.version-without-v}}
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: |
apt update -y
apt install -y zip
- run: zip -r ./fvtt-ecryme.zip system.json template.json README.md LICENSE.txt fonts/ images/ lang/ modules/ packs/ styles/ templates/ translated/
- name: setup go
uses: https://github.com/actions/setup-go@v4
with:
go-version: '>=1.20.1'
- name: Use Go Action
id: use-go-action
uses: https://gitea.com/actions/release-action@main
with:
files: |-
./fvtt-ecryme.zip
system.json
api_key: '${{secrets.RELEASE_TOKEN_UBERWALD}}'

7
LICENSE.txt Normal file
View File

@ -0,0 +1,7 @@
Copyright 2023 Open Sesame Games
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

View File

@ -1,6 +1,41 @@
# Système Foundry pour Ecryme v2 (French RPG, Open Sesam Games, Official)
# Ecryme v2 system for FoundryVTT (French RPG, Open Sesam Games, Official)
# Developmement
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
Uberwald
# 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/)
# English translation
English translation by Conal Longden and Ian McClung
# Copyright mentions
Copyright 2023 Open Sesame Games
All rights reserved
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Ecryme is a game written by Alexandre Clavel and Samuel Metzener, in a universe created by Mathieu gaborit. All of the aforementionned authors retain there moral rights regarding this work in both print and digital formats.
# Requests or Problems
Please report any requests or problems you have at contact@open-sesame.games

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,9 @@
{
"TYPES": {
"Actor": {
"Personnage": "PC"
"pc": "Player Character",
"npc": "Non-Player Character",
"annency": "Annency"
},
"Item": {
"trait": "Trait",
@ -16,7 +18,8 @@
"cogs": "Cogs",
"cephaly": "Cephaly",
"boheme": "Boheme",
"amertume": "Amertume"
"amertume": "Amertume",
"gamelevel": "Game level"
},
"chat": {
"formula": "Formula",
@ -48,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",
@ -156,7 +160,12 @@
"oniricform": "Oniric shape (Boheme)",
"ideals": "Ideals",
"politic": "Political ideal",
"boheme": "Boheme"
"boheme": "Boheme",
"annencybonus": "Annency bonus",
"bornplace": "Born place",
"residence": "Residence",
"origin": "Origin",
"childhood": "Childhood"
}
}
}

View File

@ -1,7 +1,9 @@
{
"TYPES": {
"Actor":{
"Personnage": "PJ"
"pc": "Personnage Joueur",
"npc": "Personnage Non Joueur",
"annency": "Anence"
},
"Item": {
"trait": "Trait",
@ -16,7 +18,8 @@
"cogs": "Engrenages",
"cephaly": "Céphalie",
"boheme": "Bohême",
"amertume": "Amertume"
"amertume": "Amertume",
"gamelevel": "Niveau de jeu"
},
"chat": {
"formula": "Formule",
@ -34,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",
@ -49,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",
@ -157,7 +161,12 @@
"oniricform": "Forme Onorique (Bohême)",
"ideals": "Idéaux",
"politic": "Idéaux politiques",
"boheme": "Bohême"
"boheme": "Bohême",
"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

@ -54,6 +54,18 @@ export class EcrymeActor extends Actor {
super._preUpdate(changed, options, user);
}
/* -------------------------------------------- */
async _preCreate(data, options, user) {
await super._preCreate(data, options, user);
// Configure prototype token settings
const prototypeToken = {};
if (this.type === "pc") Object.assign(prototypeToken, {
sight: { enabled: true }, actorLink: true, disposition: CONST.TOKEN_DISPOSITIONS.FRIENDLY
});
this.updateSource({ prototypeToken });
}
/* -------------------------------------------- */
getMoneys() {
let comp = this.items.filter(item => item.type == 'money');
@ -188,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')
}
/* ------------------------------------------- */
@ -336,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})
}
@ -416,6 +428,7 @@ export class EcrymeActor extends Actor {
let rollData = this.getCommonRollData()
rollData.mode = "cephaly"
rollData.skill = duplicate(this.system.cephaly.skilllist[skillKey])
rollData.annency = duplicate(this.getAnnency())
rollData.img = rollData.skill.img
rollData.skill.categKey = "cephaly"
rollData.skill.skillKey = skillKey
@ -444,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

@ -221,7 +221,7 @@ export class EcrymeUtility {
let msg = await this.createChatWithRollMode(this.confrontData1.alias, {
content: await renderTemplate(`systems/fvtt-ecryme/templates/chat/chat-confrontation-result.hbs`, confront)
})
msg.setFlag("world", "ecryme-rolldata", confront)
await msg.setFlag("world", "ecryme-rolldata", confront)
console.log("Confront result", confront)
this.lastConfront = confront
@ -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)
}
}
@ -539,6 +539,9 @@ export class EcrymeUtility {
diceFormula += "+" + rollData.bonusMalusTraits
diceFormula += "+" + rollData.bonusMalusPerso
diceFormula += "+" + rollData.impactMalus
if (rollData.annency) {
diceFormula += "+" + rollData.annencyBonus
}
rollData.diceFormula = diceFormula
return diceFormula
}
@ -567,7 +570,7 @@ export class EcrymeUtility {
let msg = await this.createChatWithRollMode(rollData.alias, {
content: await renderTemplate(`systems/fvtt-ecryme/templates/chat/chat-generic-result.hbs`, rollData)
})
msg.setFlag("world", "ecryme-rolldata", rollData)
await msg.setFlag("world", "ecryme-rolldata", rollData)
console.log("Rolldata result", rollData)
}
@ -584,7 +587,7 @@ export class EcrymeUtility {
let msg = await this.createChatWithRollMode(rollData.alias, {
content: await renderTemplate(`systems/fvtt-ecryme/templates/chat/chat-generic-result.hbs`, rollData)
})
msg.setFlag("world", "ecryme-rolldata", rollData)
await msg.setFlag("world", "ecryme-rolldata", rollData)
}
/* -------------------------------------------- */
@ -684,6 +687,7 @@ export class EcrymeUtility {
bonusMalusPerso: 0,
bonusMalusSituation: 0,
bonusMalusDef: 0,
annencyBonus: 0,
bonusMalusPortee: 0,
skillTranscendence: 0,
rollMode: game.settings.get("core", "rollMode"),

View File

@ -245,7 +245,9 @@ export class EcrymeConfrontDialog extends Dialog {
this.rollData.applyTranscendence = $('#roll-apply-transcendence').val()
this.computeTotals()
})
html.find('#annency-bonus').change((event) => {
this.rollData.annencyBonus = Number(event.currentTarget.value)
})
}
}

View File

@ -59,6 +59,7 @@ Hooks.once("init", async function () {
// Register sheet application classes
Actors.unregisterSheet("core", ActorSheet);
Actors.registerSheet("fvtt-ecryme", EcrymeActorSheet, { types: ["pc"], makeDefault: true });
Actors.registerSheet("fvtt-ecryme", EcrymeActorSheet, { types: ["npc"], makeDefault: true });
Actors.registerSheet("fvtt-ecryme", EcrymeAnnencySheet, { types: ["annency"], makeDefault: false });
Items.unregisterSheet("core", ItemSheet);
@ -67,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-000046
MANIFEST-000090

View File

@ -1,7 +1,7 @@
2023/08/08-14:38:49.036882 7f5afcdf86c0 Recovering log #44
2023/08/08-14:38:49.124780 7f5afcdf86c0 Delete type=3 #42
2023/08/08-14:38:49.124893 7f5afcdf86c0 Delete type=0 #44
2023/08/08-14:54:21.588098 7f58677fe6c0 Level-0 table #49: started
2023/08/08-14:54:21.588122 7f58677fe6c0 Level-0 table #49: 0 bytes OK
2023/08/08-14:54:21.594444 7f58677fe6c0 Delete type=0 #47
2023/08/08-14:54:21.607310 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-14:36:00.338439 7f5867fff6c0 Recovering log #40
2023/08/08-14:36:00.347950 7f5867fff6c0 Delete type=3 #38
2023/08/08-14:36:00.348021 7f5867fff6c0 Delete type=0 #40
2023/08/08-14:38:45.882749 7f58677fe6c0 Level-0 table #45: started
2023/08/08-14:38:45.882812 7f58677fe6c0 Level-0 table #45: 0 bytes OK
2023/08/08-14:38:45.920058 7f58677fe6c0 Delete type=0 #43
2023/08/08-14:38:45.981054 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-000046
MANIFEST-000090

View File

@ -1,7 +1,7 @@
2023/08/08-14:38:49.155473 7f5867fff6c0 Recovering log #44
2023/08/08-14:38:49.260893 7f5867fff6c0 Delete type=3 #42
2023/08/08-14:38:49.260950 7f5867fff6c0 Delete type=0 #44
2023/08/08-14:54:21.600756 7f58677fe6c0 Level-0 table #49: started
2023/08/08-14:54:21.600776 7f58677fe6c0 Level-0 table #49: 0 bytes OK
2023/08/08-14:54:21.607211 7f58677fe6c0 Delete type=0 #47
2023/08/08-14:54:21.607330 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-14:36:00.351163 7f5867fff6c0 Recovering log #40
2023/08/08-14:36:00.363535 7f5867fff6c0 Delete type=3 #38
2023/08/08-14:36:00.363690 7f5867fff6c0 Delete type=0 #40
2023/08/08-14:38:46.072007 7f58677fe6c0 Level-0 table #45: started
2023/08/08-14:38:46.072050 7f58677fe6c0 Level-0 table #45: 0 bytes OK
2023/08/08-14:38:46.103317 7f58677fe6c0 Delete type=0 #43
2023/08/08-14:38:46.137931 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-000046
MANIFEST-000090

View File

@ -1,7 +1,7 @@
2023/08/08-14:38:49.036954 7f5867fff6c0 Recovering log #44
2023/08/08-14:38:49.153034 7f5867fff6c0 Delete type=3 #42
2023/08/08-14:38:49.153108 7f5867fff6c0 Delete type=0 #44
2023/08/08-14:54:21.558302 7f58677fe6c0 Level-0 table #49: started
2023/08/08-14:54:21.558341 7f58677fe6c0 Level-0 table #49: 0 bytes OK
2023/08/08-14:54:21.572779 7f58677fe6c0 Delete type=0 #47
2023/08/08-14:54:21.573011 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-14:36:00.338438 7f5afd5f96c0 Recovering log #40
2023/08/08-14:36:00.347864 7f5afd5f96c0 Delete type=3 #38
2023/08/08-14:36:00.347905 7f5afd5f96c0 Delete type=0 #40
2023/08/08-14:38:46.031269 7f58677fe6c0 Level-0 table #45: started
2023/08/08-14:38:46.031315 7f58677fe6c0 Level-0 table #45: 0 bytes OK
2023/08/08-14:38:46.071808 7f58677fe6c0 Delete type=0 #43
2023/08/08-14:38:46.137889 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-000046
MANIFEST-000090

View File

@ -1,7 +1,7 @@
2023/08/08-14:38:49.127661 7f5afcdf86c0 Recovering log #44
2023/08/08-14:38:49.237408 7f5afcdf86c0 Delete type=3 #42
2023/08/08-14:38:49.237452 7f5afcdf86c0 Delete type=0 #44
2023/08/08-14:54:21.594546 7f58677fe6c0 Level-0 table #49: started
2023/08/08-14:54:21.594573 7f58677fe6c0 Level-0 table #49: 0 bytes OK
2023/08/08-14:54:21.600659 7f58677fe6c0 Delete type=0 #47
2023/08/08-14:54:21.607322 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-14:36:00.351163 7f5afd5f96c0 Recovering log #40
2023/08/08-14:36:00.360537 7f5afd5f96c0 Delete type=3 #38
2023/08/08-14:36:00.360576 7f5afd5f96c0 Delete type=0 #40
2023/08/08-14:38:46.103419 7f58677fe6c0 Level-0 table #45: started
2023/08/08-14:38:46.103439 7f58677fe6c0 Level-0 table #45: 0 bytes OK
2023/08/08-14:38:46.137624 7f58677fe6c0 Delete type=0 #43
2023/08/08-14:38:46.137971 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.16",
"download": "https://www.uberwald.me/gitea/uberwald/fvtt-ecryme/archive/fvtt-ecryme-v11.0.16.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

@ -1,7 +1,7 @@
{
"Actor": {
"types": [
"pc","annency"
"pc","annency", "npc"
],
"templates": {
"biodata": {
@ -24,6 +24,7 @@
},
"core": {
"subactors": [],
"equipmentfree": "",
"skills": {
"physical": {
"name": "ECRY.ui.physical",
@ -196,6 +197,12 @@
"annency"
]
},
"npc": {
"templates": [
"biodata",
"core"
]
},
"pc": {
"templates": [
"biodata",

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>

View File

@ -16,14 +16,21 @@
<div>
<ul>
<li>{{localize "ECRY.ui.cephaly"}} : {{localize skill.name}}</li>
{{#if annency}}
<li>{{localize "ECRY.ui.annencybonus"}} {{annency.name}}: {{annencyBonus}}</li>
{{/if}}
{{#if (gt marginExecution 0)}}
<li>{{localize "ECRY.ui.execution"}} {{executionTotal}} vs {{difficulty}} : {{marginExecution}}</li>
<li>{{localize cephalySuccess}}</li>
{{/if}}
{{#if (gt marginPreservation 0)}}
<li>{{localize "ECRY.ui.preservation"}} {{preservationTotal}} vs {{difficulty}} : {{marginPreservation}}</li>
<li>{{localize cephalyFailure}}</li>
{{/if}}
</ul>
</div>

View File

@ -101,6 +101,24 @@
</select>
</div>
{{#if annency}}
<div class="flexrow">
<span class="roll-dialog-label">{{localize "ECRY.ui.annency"}} : {{annency.name}}</span>
<span class="roll-dialog-label">{{annency.system.base.description}}</span>
</div>
<div class="flexrow">
<span class="roll-dialog-label">{{localize "ECRY.ui.annencybonus"}}</span>
<select class="" id="annency-bonus" name="annencyBonus" data-type="String">
<option value="0">0</option>
<option value="1">+1</option>
<option value="2">+2</option>
<option value="3">+3</option>
<option value="4">+4</option>
<option value="5">+5</option>
</select>
</div>
{{/if}}
<div class="flexrow">
<span class="roll-dialog-label">Bonus/Malus : </span>
<select id="bonusMalusPerso" name="bonusMalusPerso">