forked from public/foundryvtt-wh4-lang-fr-fr
Compare commits
3 Commits
foundryvtt
...
foundryvtt
Author | SHA1 | Date | |
---|---|---|---|
c51877f945 | |||
4ebaad012b | |||
8a5c62fafd |
@ -8,7 +8,7 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"url": "https://www.uberwald.me/gitea/public/foundryvtt-wh4-lang-fr-fr",
|
"url": "https://www.uberwald.me/gitea/public/foundryvtt-wh4-lang-fr-fr",
|
||||||
"version": "7.2.0",
|
"version": "7.2.2",
|
||||||
"esmodules": [
|
"esmodules": [
|
||||||
"modules/babele-register.js",
|
"modules/babele-register.js",
|
||||||
"modules/addon-register.js",
|
"modules/addon-register.js",
|
||||||
@ -117,7 +117,7 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"manifest": "https://www.uberwald.me/gitea/public/foundryvtt-wh4-lang-fr-fr/raw/v10/module.json",
|
"manifest": "https://www.uberwald.me/gitea/public/foundryvtt-wh4-lang-fr-fr/raw/v10/module.json",
|
||||||
"download": "https://www.uberwald.me/gitea/public/foundryvtt-wh4-lang-fr-fr/archive/foundryvtt-wh4-lang-fr-7.2.0.zip",
|
"download": "https://www.uberwald.me/gitea/public/foundryvtt-wh4-lang-fr-fr/archive/foundryvtt-wh4-lang-fr-7.2.2.zip",
|
||||||
"id": "wh4-fr-translation",
|
"id": "wh4-fr-translation",
|
||||||
"compatibility": {
|
"compatibility": {
|
||||||
"minimum": "11",
|
"minimum": "11",
|
||||||
|
@ -300,7 +300,7 @@ Hooks.once('init', () => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (results[0].documentCollection) {
|
if (results[0].documentCollection) {
|
||||||
return game.babele.instance.converters.tableResults(results)
|
return game.babele.converters.tableResults(results)
|
||||||
}
|
}
|
||||||
return results
|
return results
|
||||||
},
|
},
|
||||||
|
File diff suppressed because one or more lines are too long
@ -17,5 +17,5 @@ let scriptLoader = `export default function()
|
|||||||
|
|
||||||
}`
|
}`
|
||||||
|
|
||||||
fs.writeFileSync(".modules/loadScripts.js", scriptLoader)
|
fs.writeFileSync("./modules/loadScripts.js", scriptLoader)
|
||||||
console.log(`Packed ${count} scripts`);
|
console.log(`Packed ${count} scripts`);
|
@ -73,7 +73,7 @@ for (let c of choice)
|
|||||||
{
|
{
|
||||||
item = item.toObject()
|
item = item.toObject()
|
||||||
equip(item);
|
equip(item);
|
||||||
items.push(mergeObject(item, (c.diff || {})))
|
items.push(foundry.utils.mergeObject(item, (c.diff || {})))
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
ui.notifications.warn(`Impossible de trouver ${talent}`, {permanent : true})
|
ui.notifications.warn(`Impossible de trouver ${talent}`, {permanent : true})
|
||||||
|
@ -13,7 +13,7 @@ let choices = await ItemDialog.create(ItemDialog.objectToArray(symptoms), roll.t
|
|||||||
|
|
||||||
if (choices.length)
|
if (choices.length)
|
||||||
{
|
{
|
||||||
let symptomEffects = duplicate(game.wfrp4e.config.symptomEffects)
|
let symptomEffects = foundry.utils.duplicate(game.wfrp4e.config.symptomEffects)
|
||||||
let added = []
|
let added = []
|
||||||
for(let choice of choices)
|
for(let choice of choices)
|
||||||
{
|
{
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
let chatData = { whisper: ChatMessage.getWhisperRecipients("GM") }
|
let chatData = { whisper: ChatMessage.getWhisperRecipients("GM") }
|
||||||
let message = ""
|
let message = ""
|
||||||
|
|
||||||
let wounds = duplicate(this.actor.status.wounds)
|
let wounds = foundry.utils.duplicate(this.actor.status.wounds)
|
||||||
let regenRoll = await new Roll("1d10").roll();
|
let regenRoll = await new Roll("1d10").roll();
|
||||||
let regen = regenRoll.total;
|
let regen = regenRoll.total;
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@ fromUuid(this.effect.origin).then(caster => {
|
|||||||
if (caster) {
|
if (caster) {
|
||||||
if (actor.items.find(it => it.name == game.i18n.localize("Bestial"))) {
|
if (actor.items.find(it => it.name == game.i18n.localize("Bestial"))) {
|
||||||
let healed = caster.characteristics.wp.bonus
|
let healed = caster.characteristics.wp.bonus
|
||||||
let wounds = duplicate(args.actor.status.wounds)
|
let wounds = foundry.utils.duplicate(args.actor.status.wounds)
|
||||||
wounds.value += healed
|
wounds.value += healed
|
||||||
|
|
||||||
if (wounds.value > wounds.max)
|
if (wounds.value > wounds.max)
|
||||||
|
@ -30,7 +30,7 @@ else if (roll = 10)
|
|||||||
message = `Résultat de ${roll}, gagnez ${item.name}, ${modifier} en Force`
|
message = `Résultat de ${roll}, gagnez ${item.name}, ${modifier} en Force`
|
||||||
dice.toMessage(this.script.getChatData())
|
dice.toMessage(this.script.getChatData())
|
||||||
|
|
||||||
let changes = duplicate(this.effect.changes)
|
let changes = foundry.utils.duplicate(this.effect.changes)
|
||||||
changes[0].value = modifier
|
changes[0].value = modifier
|
||||||
|
|
||||||
this.effect.updateSource({changes})
|
this.effect.updateSource({changes})
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
let test = await this.actor.setupCharacteristic("ag", {skipTargets: true, appendTitle : ` - ${this.effect.name}`, context: { failure: "Goes Prone" }})
|
let test = await this.actor.setupCharacteristic("ag", {skipTargets: true, appendTitle : ` - ${this.effect.name}`, context: { failure: "A Terre" }})
|
||||||
await test.roll();
|
await test.roll();
|
||||||
if (test.failed)
|
if (test.failed)
|
||||||
{
|
{
|
||||||
|
@ -109,7 +109,7 @@ for (let c of choice) {
|
|||||||
if (item) {
|
if (item) {
|
||||||
item = item.toObject()
|
item = item.toObject()
|
||||||
equip(item);
|
equip(item);
|
||||||
items.push(mergeObject(item, (c.diff || {})))
|
items.push(foundry.utils.mergeObject(item, (c.diff || {})))
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
ui.notifications.warn(`Impossible de trouver ${c.name}`, { permanent: true })
|
ui.notifications.warn(`Impossible de trouver ${c.name}`, { permanent: true })
|
||||||
|
@ -112,7 +112,7 @@ for (let c of choice)
|
|||||||
{
|
{
|
||||||
item = item.toObject()
|
item = item.toObject()
|
||||||
equip(item);
|
equip(item);
|
||||||
items.push(mergeObject(item, (c.diff || {})))
|
items.push(foundry.utils.mergeObject(item, (c.diff || {})))
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
ui.notifications.warn(`Impossible de trouver ${c.name}`, {permanent : true})
|
ui.notifications.warn(`Impossible de trouver ${c.name}`, {permanent : true})
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
let chatData = { whisper: ChatMessage.getWhisperRecipients("GM") }
|
let chatData = { whisper: ChatMessage.getWhisperRecipients("GM") }
|
||||||
let message = ""
|
let message = ""
|
||||||
|
|
||||||
let wounds = duplicate(this.actor.status.wounds)
|
let wounds = foundry.utils.duplicate(this.actor.status.wounds)
|
||||||
let regenRoll = await new Roll("1d10").roll();
|
let regenRoll = await new Roll("1d10").roll();
|
||||||
let regen = regenRoll.total;
|
let regen = regenRoll.total;
|
||||||
|
|
||||||
|
@ -4,38 +4,31 @@ let targetedItem = this.actor.items.get(this.effect.flags.wfrp4e.itemTargets[0])
|
|||||||
let qualities = foundry.utils.deepClone(game.wfrp4e.config.itemQualities);
|
let qualities = foundry.utils.deepClone(game.wfrp4e.config.itemQualities);
|
||||||
let flaws = foundry.utils.deepClone(game.wfrp4e.config.itemFlaws);
|
let flaws = foundry.utils.deepClone(game.wfrp4e.config.itemFlaws);
|
||||||
|
|
||||||
if (targetedItem.type == "weapon")
|
if (targetedItem.type == "weapon") {
|
||||||
{
|
foundry.utils.mergeObject(qualities, game.wfrp4e.config.weaponQualities)
|
||||||
mergeObject(qualities, game.wfrp4e.config.weaponQualities)
|
foundry.utils.mergeObject(flaws, game.wfrp4e.config.weaponFlaws)
|
||||||
mergeObject(flaws, game.wfrp4e.config.weaponFlaws)
|
|
||||||
}
|
}
|
||||||
else if (targetedItem.type == "armour")
|
else if (targetedItem.type == "armour") {
|
||||||
{
|
foundry.utils.mergeObject(qualities, game.wfrp4e.config.armorQualities)
|
||||||
mergeObject(qualities, game.wfrp4e.config.armorQualities)
|
foundry.utils.mergeObject(flaws, game.wfrp4e.config.armorFlaws)
|
||||||
mergeObject(flaws, game.wfrp4e.config.armorFlaws)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
for(let q in qualities)
|
for (let q in qualities) {
|
||||||
{
|
|
||||||
// If the weapon already has a flaw, don't put it in the dialog
|
// If the weapon already has a flaw, don't put it in the dialog
|
||||||
if (targetedItem.system.properties.qualities[q])
|
if (targetedItem.system.properties.qualities[q]) {
|
||||||
{
|
|
||||||
delete qualities[q]
|
delete qualities[q]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for(let f in flaws)
|
for (let f in flaws) {
|
||||||
{
|
|
||||||
// If a weapon doesn't have a flaw, don't put it in the dialog
|
// If a weapon doesn't have a flaw, don't put it in the dialog
|
||||||
if (!targetedItem.system.properties.flaws[f])
|
if (!targetedItem.system.properties.flaws[f]) {
|
||||||
{
|
|
||||||
delete flaws[f]
|
delete flaws[f]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
let added = await ItemDialog.create(ItemDialog.objectToArray(qualities), "unlimited", "Choisissez la Qualité à ajouter");
|
let added = await ItemDialog.create(ItemDialog.objectToArray(qualities), "unlimited", "Choisissez la Qualité à ajouter");
|
||||||
let removed = []
|
let removed = []
|
||||||
if (!foundry.utils.isEmpty(flaws))
|
if (!foundry.utils.isEmpty(flaws)) {
|
||||||
{
|
|
||||||
removed = await ItemDialog.create(ItemDialog.objectToArray(flaws), "unlimited", "Choisissez le Défaut à enlever");
|
removed = await ItemDialog.create(ItemDialog.objectToArray(flaws), "unlimited", "Choisissez le Défaut à enlever");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,8 +1,10 @@
|
|||||||
let injury = this.effect.itemTargets[0]
|
let injury = this.effect.itemTargets[0]
|
||||||
if (injury && this.effect.sourceTest.result.outcome == "success") {
|
if (injury && this.effect.sourceTest.result.outcome == "success") {
|
||||||
let days = new Roll(injury.system.duration.value).roll( {async: false} ).total
|
let roll1 = new Roll(injury.system.duration.value)
|
||||||
|
await roll1.roll()
|
||||||
|
let days = roll1.total
|
||||||
let num = 1 + Number(this.effect.sourceTest.result.SL);
|
let num = 1 + Number(this.effect.sourceTest.result.SL);
|
||||||
let roll = await new Roll(num+'d10').roll({async: false})
|
let roll = await new Roll(num + 'd10').roll()
|
||||||
await roll.toMessage(this.script.getChatData())
|
await roll.toMessage(this.script.getChatData())
|
||||||
let newDays = Math.max(days - roll.total, 1)
|
let newDays = Math.max(days - roll.total, 1)
|
||||||
this.actor.updateEmbeddedDocuments("Item", [{ _id: injury.id, 'system.duration.value': newDays }])
|
this.actor.updateEmbeddedDocuments("Item", [{ _id: injury.id, 'system.duration.value': newDays }])
|
||||||
|
@ -2,7 +2,7 @@ let aoeDamage = this.effect.sourceTest.result.damage - 5 // Easily handle magic
|
|||||||
|
|
||||||
this.script.scriptMessage(await this.actor.applyBasicDamage(aoeDamage, {damageType : game.wfrp4e.config.DAMAGE_TYPE.IGNORE_AP, suppressMsg : true}))
|
this.script.scriptMessage(await this.actor.applyBasicDamage(aoeDamage, {damageType : game.wfrp4e.config.DAMAGE_TYPE.IGNORE_AP, suppressMsg : true}))
|
||||||
|
|
||||||
let test = await this.actor.setupSkill(game.i18n.localize("NAME.Dodge"), {skipTargets: true, appendTitle : ` - Ablaze`})
|
let test = await this.actor.setupSkill(game.i18n.localize("NAME.Dodge"), {skipTargets: true, appendTitle : ` - En Flammes`})
|
||||||
|
|
||||||
await test.roll();
|
await test.roll();
|
||||||
|
|
||||||
|
@ -69,7 +69,7 @@ for (let c of choice)
|
|||||||
{
|
{
|
||||||
item = item.toObject()
|
item = item.toObject()
|
||||||
equip(item);
|
equip(item);
|
||||||
items.push(mergeObject(item, (c.diff || {})))
|
items.push(foundry.utils.mergeObject(item, (c.diff || {})))
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
ui.notifications.warn(`Impossible de trouver ${talent}`, {permanent : true})
|
ui.notifications.warn(`Impossible de trouver ${talent}`, {permanent : true})
|
||||||
|
@ -94,7 +94,7 @@ for (let c of choice)
|
|||||||
{
|
{
|
||||||
item = item.toObject()
|
item = item.toObject()
|
||||||
equip(item);
|
equip(item);
|
||||||
items.push(mergeObject(item, (c.diff || {})))
|
items.push(foundry.utils.mergeObject(item, (c.diff || {})))
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
ui.notifications.warn(`Impossible de trouver ${talent}`, {permanent : true})
|
ui.notifications.warn(`Impossible de trouver ${talent}`, {permanent : true})
|
||||||
|
@ -25,7 +25,7 @@ if (test.failed)
|
|||||||
`
|
`
|
||||||
this.script.scriptMessage(msg);
|
this.script.scriptMessage(msg);
|
||||||
|
|
||||||
let characteristics = duplicate(this.actor.system.characteristics)
|
let characteristics = foundry.utils.duplicate(this.actor.system.characteristics)
|
||||||
|
|
||||||
characteristics.ws.initial -= ws
|
characteristics.ws.initial -= ws
|
||||||
characteristics.bs.initial -= bs
|
characteristics.bs.initial -= bs
|
||||||
|
@ -50,26 +50,21 @@ let choice = await Dialog.wait({
|
|||||||
|
|
||||||
let updateObj = this.actor.toObject();
|
let updateObj = this.actor.toObject();
|
||||||
let items = []
|
let items = []
|
||||||
for (let c of choice)
|
for (let c of choice) {
|
||||||
{
|
|
||||||
let existing
|
let existing
|
||||||
if (c.type == "skill")
|
if (c.type == "skill") {
|
||||||
{
|
|
||||||
existing = updateObj.items.find(i => i.name == c.name && i.type == c.type)
|
existing = updateObj.items.find(i => i.name == c.name && i.type == c.type)
|
||||||
if (existing && c.diff?.system?.advances?.value)
|
if (existing && c.diff?.system?.advances?.value) {
|
||||||
{
|
|
||||||
existing.system.advances.value += c.diff.system.advances.value
|
existing.system.advances.value += c.diff.system.advances.value
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!existing)
|
if (!existing) {
|
||||||
{
|
|
||||||
let item = await game.wfrp4e.utility.find(c.name, c.type)
|
let item = await game.wfrp4e.utility.find(c.name, c.type)
|
||||||
if (item)
|
if (item) {
|
||||||
{
|
|
||||||
item = item.toObject()
|
item = item.toObject()
|
||||||
equip(item);
|
equip(item);
|
||||||
items.push(mergeObject(item, (c.diff || {})))
|
items.push(foundry.utils.mergeObject(item, (c.diff || {})))
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
ui.notifications.warn(`Impossible de trouver ${talent}`, { permanent: true })
|
ui.notifications.warn(`Impossible de trouver ${talent}`, { permanent: true })
|
||||||
@ -79,8 +74,7 @@ for (let c of choice)
|
|||||||
await this.actor.update(updateObj)
|
await this.actor.update(updateObj)
|
||||||
this.actor.createEmbeddedDocuments("Item", items);
|
this.actor.createEmbeddedDocuments("Item", items);
|
||||||
|
|
||||||
function equip(item)
|
function equip(item) {
|
||||||
{
|
|
||||||
if (item.type == "armour")
|
if (item.type == "armour")
|
||||||
item.system.worn.value = true
|
item.system.worn.value = true
|
||||||
else if (item.type == "weapon")
|
else if (item.type == "weapon")
|
||||||
|
24
tools/detect_identical_files.lua
Normal file
24
tools/detect_identical_files.lua
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
local lfs = require"lfs"
|
||||||
|
|
||||||
|
local src = "../reference_scripts/"
|
||||||
|
local dst = "../scripts/"
|
||||||
|
|
||||||
|
for file in lfs.dir(src) do
|
||||||
|
if file == '.' or file == '..' then
|
||||||
|
else
|
||||||
|
local fp1 = io.open(dst..file, "r+")
|
||||||
|
local fp2 = io.open(src..file, "r+")
|
||||||
|
if fp1 and fp2 then
|
||||||
|
-- Compare files
|
||||||
|
local content1 = fp1:read("*all")
|
||||||
|
local content2 = fp2:read("*all")
|
||||||
|
if content1 == content2 then
|
||||||
|
print("Identical files: "..file)
|
||||||
|
end
|
||||||
|
fp1:close()
|
||||||
|
fp2:close()
|
||||||
|
else
|
||||||
|
print("Error: Could not open file: "..file)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
Reference in New Issue
Block a user