Compare commits
15 Commits
fvtt-ecrym
...
fvtt-ecrym
Author | SHA1 | Date | |
---|---|---|---|
d669059403 | |||
45d419115d | |||
b9e2a77e88 | |||
5dca748bf3 | |||
98f9e1e2a6 | |||
1a90be13be | |||
e2f97762b9 | |||
de11053a9a | |||
3f7ce9918e | |||
919147b4af | |||
22953744ba | |||
6aee41b817 | |||
e7268a1578 | |||
0d25bbe764 | |||
554a1af531 |
54
.gitea/workflows/main.yml
Normal file
54
.gitea/workflows/main.yml
Normal 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/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
|
||||||
|
|
||||||
|
# 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
7
LICENSE.txt
Normal 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.
|
27
README.md
27
README.md
@ -1,6 +1,27 @@
|
|||||||
# 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
|
# 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
|
||||||
|
|
||||||
|
10
lang/en.json
10
lang/en.json
@ -1,7 +1,9 @@
|
|||||||
{
|
{
|
||||||
"TYPES": {
|
"TYPES": {
|
||||||
"Actor": {
|
"Actor": {
|
||||||
"Personnage": "PC"
|
"pc": "Player Character",
|
||||||
|
"npc": "Non-Player Character",
|
||||||
|
"annency": "Annency"
|
||||||
},
|
},
|
||||||
"Item": {
|
"Item": {
|
||||||
"trait": "Trait",
|
"trait": "Trait",
|
||||||
@ -16,7 +18,8 @@
|
|||||||
"cogs": "Cogs",
|
"cogs": "Cogs",
|
||||||
"cephaly": "Cephaly",
|
"cephaly": "Cephaly",
|
||||||
"boheme": "Boheme",
|
"boheme": "Boheme",
|
||||||
"amertume": "Amertume"
|
"amertume": "Amertume",
|
||||||
|
"gamelevel": "Game level"
|
||||||
},
|
},
|
||||||
"chat": {
|
"chat": {
|
||||||
"formula": "Formula",
|
"formula": "Formula",
|
||||||
@ -156,7 +159,8 @@
|
|||||||
"oniricform": "Oniric shape (Boheme)",
|
"oniricform": "Oniric shape (Boheme)",
|
||||||
"ideals": "Ideals",
|
"ideals": "Ideals",
|
||||||
"politic": "Political ideal",
|
"politic": "Political ideal",
|
||||||
"boheme": "Boheme"
|
"boheme": "Boheme",
|
||||||
|
"annencybonus": "Annency bonus"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
18
lang/fr.json
18
lang/fr.json
@ -1,7 +1,9 @@
|
|||||||
{
|
{
|
||||||
"TYPES": {
|
"TYPES": {
|
||||||
"Actor":{
|
"Actor":{
|
||||||
"Personnage": "PJ"
|
"pc": "Personnage Joueur",
|
||||||
|
"npc": "Personnage Non Joueur",
|
||||||
|
"annency": "Anence"
|
||||||
},
|
},
|
||||||
"Item": {
|
"Item": {
|
||||||
"trait": "Trait",
|
"trait": "Trait",
|
||||||
@ -16,7 +18,8 @@
|
|||||||
"cogs": "Engrenages",
|
"cogs": "Engrenages",
|
||||||
"cephaly": "Céphalie",
|
"cephaly": "Céphalie",
|
||||||
"boheme": "Bohême",
|
"boheme": "Bohême",
|
||||||
"amertume": "Amertume"
|
"amertume": "Amertume",
|
||||||
|
"gamelevel": "Niveau de jeu"
|
||||||
},
|
},
|
||||||
"chat": {
|
"chat": {
|
||||||
"formula": "Formule",
|
"formula": "Formule",
|
||||||
@ -34,10 +37,10 @@
|
|||||||
},
|
},
|
||||||
"rule": {
|
"rule": {
|
||||||
"cephaly-success-12": "Durée : 1 scène - Impact : Superficiel - Bonus : 1 - Elegie : 1",
|
"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-4": "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-6": "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-8": "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-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-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-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",
|
"cephaly-failure-6": "Durée : 1 mois - Impact : Grave - Malus : 3 - Symptôme incapacitant - Altération repérable et fâcheuse",
|
||||||
@ -157,7 +160,8 @@
|
|||||||
"oniricform": "Forme Onorique (Bohême)",
|
"oniricform": "Forme Onorique (Bohême)",
|
||||||
"ideals": "Idéaux",
|
"ideals": "Idéaux",
|
||||||
"politic": "Idéaux politiques",
|
"politic": "Idéaux politiques",
|
||||||
"boheme": "Bohême"
|
"boheme": "Bohême",
|
||||||
|
"annencybonus": "Bonus d'Anence"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -54,6 +54,18 @@ export class EcrymeActor extends Actor {
|
|||||||
super._preUpdate(changed, options, user);
|
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() {
|
getMoneys() {
|
||||||
let comp = this.items.filter(item => item.type == 'money');
|
let comp = this.items.filter(item => item.type == 'money');
|
||||||
@ -336,7 +348,7 @@ export class EcrymeActor extends Actor {
|
|||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
modifyConfrontBonus( modifier ) {
|
modifyConfrontBonus( modifier ) {
|
||||||
let newBonus = this.system.internals.confrontbonus + bonus
|
let newBonus = this.system.internals.confrontbonus + modifier
|
||||||
this.update({'system.internals.confrontbonus': newBonus})
|
this.update({'system.internals.confrontbonus': newBonus})
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -416,6 +428,7 @@ export class EcrymeActor extends Actor {
|
|||||||
let rollData = this.getCommonRollData()
|
let rollData = this.getCommonRollData()
|
||||||
rollData.mode = "cephaly"
|
rollData.mode = "cephaly"
|
||||||
rollData.skill = duplicate(this.system.cephaly.skilllist[skillKey])
|
rollData.skill = duplicate(this.system.cephaly.skilllist[skillKey])
|
||||||
|
rollData.annency = duplicate(this.getAnnency())
|
||||||
rollData.img = rollData.skill.img
|
rollData.img = rollData.skill.img
|
||||||
rollData.skill.categKey = "cephaly"
|
rollData.skill.categKey = "cephaly"
|
||||||
rollData.skill.skillKey = skillKey
|
rollData.skill.skillKey = skillKey
|
||||||
@ -444,6 +457,8 @@ export class EcrymeActor extends Actor {
|
|||||||
rollData.title = game.i18n.localize("ECRY.ui.confrontation") + " : " + game.i18n.localize(rollData.skill.name)
|
rollData.title = game.i18n.localize("ECRY.ui.confrontation") + " : " + game.i18n.localize(rollData.skill.name)
|
||||||
rollData.executionTotal = rollData.skill.value
|
rollData.executionTotal = rollData.skill.value
|
||||||
rollData.preservationTotal = rollData.skill.value
|
rollData.preservationTotal = rollData.skill.value
|
||||||
|
rollData.traitsBonus = duplicate(rollData.traits)
|
||||||
|
rollData.traitsMalus = duplicate(rollData.traits)
|
||||||
rollData.applyTranscendence = "execution"
|
rollData.applyTranscendence = "execution"
|
||||||
let confrontStartDialog = await EcrymeConfrontStartDialog.create(this, rollData)
|
let confrontStartDialog = await EcrymeConfrontStartDialog.create(this, rollData)
|
||||||
confrontStartDialog.render(true)
|
confrontStartDialog.render(true)
|
||||||
|
@ -221,7 +221,7 @@ export class EcrymeUtility {
|
|||||||
let msg = await this.createChatWithRollMode(this.confrontData1.alias, {
|
let msg = await this.createChatWithRollMode(this.confrontData1.alias, {
|
||||||
content: await renderTemplate(`systems/fvtt-ecryme/templates/chat/chat-confrontation-result.hbs`, confront)
|
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)
|
console.log("Confront result", confront)
|
||||||
|
|
||||||
this.lastConfront = confront
|
this.lastConfront = confront
|
||||||
@ -492,7 +492,7 @@ export class EcrymeUtility {
|
|||||||
rollData.margin = rollData.total - rollData.difficulty
|
rollData.margin = rollData.total - rollData.difficulty
|
||||||
if (rollData.total > rollData.difficulty) {
|
if (rollData.total > rollData.difficulty) {
|
||||||
rollData.isSuccess = true
|
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)
|
rollData.margin = Math.min(rollData.margin, maxMargin)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -539,6 +539,9 @@ export class EcrymeUtility {
|
|||||||
diceFormula += "+" + rollData.bonusMalusTraits
|
diceFormula += "+" + rollData.bonusMalusTraits
|
||||||
diceFormula += "+" + rollData.bonusMalusPerso
|
diceFormula += "+" + rollData.bonusMalusPerso
|
||||||
diceFormula += "+" + rollData.impactMalus
|
diceFormula += "+" + rollData.impactMalus
|
||||||
|
if (rollData.annency) {
|
||||||
|
diceFormula += "+" + rollData.annencyBonus
|
||||||
|
}
|
||||||
rollData.diceFormula = diceFormula
|
rollData.diceFormula = diceFormula
|
||||||
return diceFormula
|
return diceFormula
|
||||||
}
|
}
|
||||||
@ -567,7 +570,7 @@ export class EcrymeUtility {
|
|||||||
let msg = await this.createChatWithRollMode(rollData.alias, {
|
let msg = await this.createChatWithRollMode(rollData.alias, {
|
||||||
content: await renderTemplate(`systems/fvtt-ecryme/templates/chat/chat-generic-result.hbs`, rollData)
|
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)
|
console.log("Rolldata result", rollData)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -584,7 +587,7 @@ export class EcrymeUtility {
|
|||||||
let msg = await this.createChatWithRollMode(rollData.alias, {
|
let msg = await this.createChatWithRollMode(rollData.alias, {
|
||||||
content: await renderTemplate(`systems/fvtt-ecryme/templates/chat/chat-generic-result.hbs`, rollData)
|
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,
|
bonusMalusPerso: 0,
|
||||||
bonusMalusSituation: 0,
|
bonusMalusSituation: 0,
|
||||||
bonusMalusDef: 0,
|
bonusMalusDef: 0,
|
||||||
|
annencyBonus: 0,
|
||||||
bonusMalusPortee: 0,
|
bonusMalusPortee: 0,
|
||||||
skillTranscendence: 0,
|
skillTranscendence: 0,
|
||||||
rollMode: game.settings.get("core", "rollMode"),
|
rollMode: game.settings.get("core", "rollMode"),
|
||||||
|
@ -245,7 +245,9 @@ export class EcrymeConfrontDialog extends Dialog {
|
|||||||
this.rollData.applyTranscendence = $('#roll-apply-transcendence').val()
|
this.rollData.applyTranscendence = $('#roll-apply-transcendence').val()
|
||||||
this.computeTotals()
|
this.computeTotals()
|
||||||
})
|
})
|
||||||
|
html.find('#annency-bonus').change((event) => {
|
||||||
|
this.rollData.annencyBonus = Number(event.currentTarget.value)
|
||||||
|
})
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -59,6 +59,7 @@ Hooks.once("init", async function () {
|
|||||||
// Register sheet application classes
|
// Register sheet application classes
|
||||||
Actors.unregisterSheet("core", ActorSheet);
|
Actors.unregisterSheet("core", ActorSheet);
|
||||||
Actors.registerSheet("fvtt-ecryme", EcrymeActorSheet, { types: ["pc"], makeDefault: true });
|
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 });
|
Actors.registerSheet("fvtt-ecryme", EcrymeAnnencySheet, { types: ["annency"], makeDefault: false });
|
||||||
|
|
||||||
Items.unregisterSheet("core", ItemSheet);
|
Items.unregisterSheet("core", ItemSheet);
|
||||||
@ -67,7 +68,7 @@ Hooks.once("init", async function () {
|
|||||||
EcrymeUtility.init()
|
EcrymeUtility.init()
|
||||||
|
|
||||||
console.log("Babele INIT!")
|
console.log("Babele INIT!")
|
||||||
Babele.get().setSystemTranslationsDir("translated");
|
Babele.get().setSystemTranslationsDir("translated")
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -1 +1 @@
|
|||||||
MANIFEST-000046
|
MANIFEST-000066
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
2023/08/08-14:38:49.036882 7f5afcdf86c0 Recovering log #44
|
2023/08/17-08:30:06.224452 7fa0dcff96c0 Recovering log #64
|
||||||
2023/08/08-14:38:49.124780 7f5afcdf86c0 Delete type=3 #42
|
2023/08/17-08:30:06.244297 7fa0dcff96c0 Delete type=3 #62
|
||||||
2023/08/08-14:38:49.124893 7f5afcdf86c0 Delete type=0 #44
|
2023/08/17-08:30:06.244357 7fa0dcff96c0 Delete type=0 #64
|
||||||
2023/08/08-14:54:21.588098 7f58677fe6c0 Level-0 table #49: started
|
2023/08/17-08:31:03.278842 7f9e3ffff6c0 Level-0 table #69: started
|
||||||
2023/08/08-14:54:21.588122 7f58677fe6c0 Level-0 table #49: 0 bytes OK
|
2023/08/17-08:31:03.278870 7f9e3ffff6c0 Level-0 table #69: 0 bytes OK
|
||||||
2023/08/08-14:54:21.594444 7f58677fe6c0 Delete type=0 #47
|
2023/08/17-08:31:03.285336 7f9e3ffff6c0 Delete type=0 #67
|
||||||
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/17-08:31:03.285445 7f9e3ffff6c0 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-14:36:00.338439 7f5867fff6c0 Recovering log #40
|
2023/08/17-08:11:25.804724 7fa0ddffb6c0 Recovering log #60
|
||||||
2023/08/08-14:36:00.347950 7f5867fff6c0 Delete type=3 #38
|
2023/08/17-08:11:25.814678 7fa0ddffb6c0 Delete type=3 #58
|
||||||
2023/08/08-14:36:00.348021 7f5867fff6c0 Delete type=0 #40
|
2023/08/17-08:11:25.814742 7fa0ddffb6c0 Delete type=0 #60
|
||||||
2023/08/08-14:38:45.882749 7f58677fe6c0 Level-0 table #45: started
|
2023/08/17-08:27:23.377433 7f9e3ffff6c0 Level-0 table #65: started
|
||||||
2023/08/08-14:38:45.882812 7f58677fe6c0 Level-0 table #45: 0 bytes OK
|
2023/08/17-08:27:23.377511 7f9e3ffff6c0 Level-0 table #65: 0 bytes OK
|
||||||
2023/08/08-14:38:45.920058 7f58677fe6c0 Delete type=0 #43
|
2023/08/17-08:27:23.561640 7f9e3ffff6c0 Delete type=0 #63
|
||||||
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/17-08:27:23.806374 7f9e3ffff6c0 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-000002
|
5
packs/help/LOG
Normal file
5
packs/help/LOG
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
2023/08/17-08:30:06.273842 7fa0dd7fa6c0 Delete type=3 #1
|
||||||
|
2023/08/17-08:31:03.298799 7f9e3ffff6c0 Level-0 table #5: started
|
||||||
|
2023/08/17-08:31:03.302135 7f9e3ffff6c0 Level-0 table #5: 2278 bytes OK
|
||||||
|
2023/08/17-08:31:03.309094 7f9e3ffff6c0 Delete type=0 #3
|
||||||
|
2023/08/17-08:31:03.309619 7f9e3ffff6c0 Manual compaction at level-0 from '!journal!N3XOO6dRLuKwQfp2' @ 72057594037927935 : 1 .. '!journal.pages!N3XOO6dRLuKwQfp2.xhc7hqoL8kdW6lrD' @ 0 : 0; will stop at (end)
|
BIN
packs/help/MANIFEST-000002
Normal file
BIN
packs/help/MANIFEST-000002
Normal file
Binary file not shown.
@ -1 +1 @@
|
|||||||
MANIFEST-000046
|
MANIFEST-000066
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
2023/08/08-14:38:49.155473 7f5867fff6c0 Recovering log #44
|
2023/08/17-08:30:06.246354 7fa0de7fc6c0 Recovering log #64
|
||||||
2023/08/08-14:38:49.260893 7f5867fff6c0 Delete type=3 #42
|
2023/08/17-08:30:06.257748 7fa0de7fc6c0 Delete type=3 #62
|
||||||
2023/08/08-14:38:49.260950 7f5867fff6c0 Delete type=0 #44
|
2023/08/17-08:30:06.257814 7fa0de7fc6c0 Delete type=0 #64
|
||||||
2023/08/08-14:54:21.600756 7f58677fe6c0 Level-0 table #49: started
|
2023/08/17-08:31:03.285529 7f9e3ffff6c0 Level-0 table #69: started
|
||||||
2023/08/08-14:54:21.600776 7f58677fe6c0 Level-0 table #49: 0 bytes OK
|
2023/08/17-08:31:03.285609 7f9e3ffff6c0 Level-0 table #69: 0 bytes OK
|
||||||
2023/08/08-14:54:21.607211 7f58677fe6c0 Delete type=0 #47
|
2023/08/17-08:31:03.291891 7f9e3ffff6c0 Delete type=0 #67
|
||||||
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/17-08:31:03.309552 7f9e3ffff6c0 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-14:36:00.351163 7f5867fff6c0 Recovering log #40
|
2023/08/17-08:11:25.818427 7fa0de7fc6c0 Recovering log #60
|
||||||
2023/08/08-14:36:00.363535 7f5867fff6c0 Delete type=3 #38
|
2023/08/17-08:11:25.837207 7fa0de7fc6c0 Delete type=3 #58
|
||||||
2023/08/08-14:36:00.363690 7f5867fff6c0 Delete type=0 #40
|
2023/08/17-08:11:25.837263 7fa0de7fc6c0 Delete type=0 #60
|
||||||
2023/08/08-14:38:46.072007 7f58677fe6c0 Level-0 table #45: started
|
2023/08/17-08:27:24.349456 7f9e3ffff6c0 Level-0 table #65: started
|
||||||
2023/08/08-14:38:46.072050 7f58677fe6c0 Level-0 table #45: 0 bytes OK
|
2023/08/17-08:27:24.349508 7f9e3ffff6c0 Level-0 table #65: 0 bytes OK
|
||||||
2023/08/08-14:38:46.103317 7f58677fe6c0 Delete type=0 #43
|
2023/08/17-08:27:24.639947 7f9e3ffff6c0 Delete type=0 #63
|
||||||
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/17-08:27:24.640153 7f9e3ffff6c0 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/000068.log
Normal file
0
packs/specialisation/000068.log
Normal file
@ -1 +1 @@
|
|||||||
MANIFEST-000046
|
MANIFEST-000066
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
2023/08/08-14:38:49.036954 7f5867fff6c0 Recovering log #44
|
2023/08/17-08:30:06.224380 7fa0dd7fa6c0 Recovering log #64
|
||||||
2023/08/08-14:38:49.153034 7f5867fff6c0 Delete type=3 #42
|
2023/08/17-08:30:06.241271 7fa0dd7fa6c0 Delete type=3 #62
|
||||||
2023/08/08-14:38:49.153108 7f5867fff6c0 Delete type=0 #44
|
2023/08/17-08:30:06.241353 7fa0dd7fa6c0 Delete type=0 #64
|
||||||
2023/08/08-14:54:21.558302 7f58677fe6c0 Level-0 table #49: started
|
2023/08/17-08:31:03.262782 7f9e3ffff6c0 Level-0 table #69: started
|
||||||
2023/08/08-14:54:21.558341 7f58677fe6c0 Level-0 table #49: 0 bytes OK
|
2023/08/17-08:31:03.262832 7f9e3ffff6c0 Level-0 table #69: 0 bytes OK
|
||||||
2023/08/08-14:54:21.572779 7f58677fe6c0 Delete type=0 #47
|
2023/08/17-08:31:03.268889 7f9e3ffff6c0 Delete type=0 #67
|
||||||
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/17-08:31:03.285415 7f9e3ffff6c0 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-14:36:00.338438 7f5afd5f96c0 Recovering log #40
|
2023/08/17-08:11:25.804724 7fa0de7fc6c0 Recovering log #60
|
||||||
2023/08/08-14:36:00.347864 7f5afd5f96c0 Delete type=3 #38
|
2023/08/17-08:11:25.814678 7fa0de7fc6c0 Delete type=3 #58
|
||||||
2023/08/08-14:36:00.347905 7f5afd5f96c0 Delete type=0 #40
|
2023/08/17-08:11:25.814740 7fa0de7fc6c0 Delete type=0 #60
|
||||||
2023/08/08-14:38:46.031269 7f58677fe6c0 Level-0 table #45: started
|
2023/08/17-08:27:23.561781 7f9e3ffff6c0 Level-0 table #65: started
|
||||||
2023/08/08-14:38:46.031315 7f58677fe6c0 Level-0 table #45: 0 bytes OK
|
2023/08/17-08:27:23.561812 7f9e3ffff6c0 Level-0 table #65: 0 bytes OK
|
||||||
2023/08/08-14:38:46.071808 7f58677fe6c0 Delete type=0 #43
|
2023/08/17-08:27:23.806078 7f9e3ffff6c0 Delete type=0 #63
|
||||||
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/17-08:27:23.998146 7f9e3ffff6c0 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/000068.log
Normal file
0
packs/traits/000068.log
Normal file
@ -1 +1 @@
|
|||||||
MANIFEST-000046
|
MANIFEST-000066
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
2023/08/08-14:38:49.127661 7f5afcdf86c0 Recovering log #44
|
2023/08/17-08:30:06.243329 7fa0ddffb6c0 Recovering log #64
|
||||||
2023/08/08-14:38:49.237408 7f5afcdf86c0 Delete type=3 #42
|
2023/08/17-08:30:06.257748 7fa0ddffb6c0 Delete type=3 #62
|
||||||
2023/08/08-14:38:49.237452 7f5afcdf86c0 Delete type=0 #44
|
2023/08/17-08:30:06.257816 7fa0ddffb6c0 Delete type=0 #64
|
||||||
2023/08/08-14:54:21.594546 7f58677fe6c0 Level-0 table #49: started
|
2023/08/17-08:31:03.292149 7f9e3ffff6c0 Level-0 table #69: started
|
||||||
2023/08/08-14:54:21.594573 7f58677fe6c0 Level-0 table #49: 0 bytes OK
|
2023/08/17-08:31:03.292214 7f9e3ffff6c0 Level-0 table #69: 0 bytes OK
|
||||||
2023/08/08-14:54:21.600659 7f58677fe6c0 Delete type=0 #47
|
2023/08/17-08:31:03.298635 7f9e3ffff6c0 Delete type=0 #67
|
||||||
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/17-08:31:03.309589 7f9e3ffff6c0 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-14:36:00.351163 7f5afd5f96c0 Recovering log #40
|
2023/08/17-08:11:25.818235 7fa0dd7fa6c0 Recovering log #60
|
||||||
2023/08/08-14:36:00.360537 7f5afd5f96c0 Delete type=3 #38
|
2023/08/17-08:11:25.834285 7fa0dd7fa6c0 Delete type=3 #58
|
||||||
2023/08/08-14:36:00.360576 7f5afd5f96c0 Delete type=0 #40
|
2023/08/17-08:11:25.834340 7fa0dd7fa6c0 Delete type=0 #60
|
||||||
2023/08/08-14:38:46.103419 7f58677fe6c0 Level-0 table #45: started
|
2023/08/17-08:27:23.998178 7f9e3ffff6c0 Level-0 table #65: started
|
||||||
2023/08/08-14:38:46.103439 7f58677fe6c0 Level-0 table #45: 0 bytes OK
|
2023/08/17-08:27:23.998242 7f9e3ffff6c0 Level-0 table #65: 0 bytes OK
|
||||||
2023/08/08-14:38:46.137624 7f58677fe6c0 Delete type=0 #43
|
2023/08/17-08:27:24.319466 7f9e3ffff6c0 Delete type=0 #63
|
||||||
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/17-08:27:24.640134 7f9e3ffff6c0 Manual compaction at level-0 from '!folders!DiwHbtGAkTYxtshX' @ 72057594037927935 : 1 .. '!items!zgNI2haxhBxBDBdl' @ 0 : 0; will stop at (end)
|
||||||
|
Binary file not shown.
25
system.json
25
system.json
@ -73,6 +73,18 @@
|
|||||||
"PLAYER": "OBSERVER",
|
"PLAYER": "OBSERVER",
|
||||||
"ASSISTANT": "OWNER"
|
"ASSISTANT": "OWNER"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Help/Aides",
|
||||||
|
"type": "JournalEntry",
|
||||||
|
"name": "help",
|
||||||
|
"path": "packs/help",
|
||||||
|
"system": "fvtt-ecryme",
|
||||||
|
"flags": {},
|
||||||
|
"ownership": {
|
||||||
|
"PLAYER": "OBSERVER",
|
||||||
|
"ASSISTANT": "OWNER"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"license": "LICENSE.txt",
|
"license": "LICENSE.txt",
|
||||||
@ -88,9 +100,18 @@
|
|||||||
"styles": [
|
"styles": [
|
||||||
"styles/ecryme.css"
|
"styles/ecryme.css"
|
||||||
],
|
],
|
||||||
|
"relationships": {
|
||||||
|
"requires": [
|
||||||
|
{
|
||||||
|
"id": "babele",
|
||||||
|
"type": "module",
|
||||||
|
"compatibility": {}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
"title": "Ecryme, le Jeu de Rôles",
|
"title": "Ecryme, le Jeu de Rôles",
|
||||||
"url": "https://www.uberwald.me/gitea/uberwald/fvtt-ecryme",
|
"url": "https://www.uberwald.me/gitea/uberwald/fvtt-ecryme",
|
||||||
"version": "11.0.16",
|
"version": "11.0.19",
|
||||||
"download": "https://www.uberwald.me/gitea/uberwald/fvtt-ecryme/archive/fvtt-ecryme-v11.0.16.zip",
|
"download": "https://www.uberwald.me/gitea/uberwald/fvtt-ecryme/archive/fvtt-ecryme-v11.0.19.zip",
|
||||||
"background": "systems/fvtt-ecryme/images/assets/ecryme_extract_panel_01.webp"
|
"background": "systems/fvtt-ecryme/images/assets/ecryme_extract_panel_01.webp"
|
||||||
}
|
}
|
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"Actor": {
|
"Actor": {
|
||||||
"types": [
|
"types": [
|
||||||
"pc","annency"
|
"pc","annency", "npc"
|
||||||
],
|
],
|
||||||
"templates": {
|
"templates": {
|
||||||
"biodata": {
|
"biodata": {
|
||||||
@ -196,6 +196,12 @@
|
|||||||
"annency"
|
"annency"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
"npc": {
|
||||||
|
"templates": [
|
||||||
|
"biodata",
|
||||||
|
"core"
|
||||||
|
]
|
||||||
|
},
|
||||||
"pc": {
|
"pc": {
|
||||||
"templates": [
|
"templates": [
|
||||||
"biodata",
|
"biodata",
|
||||||
|
@ -16,14 +16,21 @@
|
|||||||
<div>
|
<div>
|
||||||
<ul>
|
<ul>
|
||||||
<li>{{localize "ECRY.ui.cephaly"}} : {{localize skill.name}}</li>
|
<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)}}
|
{{#if (gt marginExecution 0)}}
|
||||||
<li>{{localize "ECRY.ui.execution"}} {{executionTotal}} vs {{difficulty}} : {{marginExecution}}</li>
|
<li>{{localize "ECRY.ui.execution"}} {{executionTotal}} vs {{difficulty}} : {{marginExecution}}</li>
|
||||||
<li>{{localize cephalySuccess}}</li>
|
<li>{{localize cephalySuccess}}</li>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
{{#if (gt marginPreservation 0)}}
|
{{#if (gt marginPreservation 0)}}
|
||||||
<li>{{localize "ECRY.ui.preservation"}} {{preservationTotal}} vs {{difficulty}} : {{marginPreservation}}</li>
|
<li>{{localize "ECRY.ui.preservation"}} {{preservationTotal}} vs {{difficulty}} : {{marginPreservation}}</li>
|
||||||
<li>{{localize cephalyFailure}}</li>
|
<li>{{localize cephalyFailure}}</li>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -101,6 +101,24 @@
|
|||||||
</select>
|
</select>
|
||||||
</div>
|
</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">
|
<div class="flexrow">
|
||||||
<span class="roll-dialog-label">Bonus/Malus : </span>
|
<span class="roll-dialog-label">Bonus/Malus : </span>
|
||||||
<select id="bonusMalusPerso" name="bonusMalusPerso">
|
<select id="bonusMalusPerso" name="bonusMalusPerso">
|
||||||
|
Reference in New Issue
Block a user