Ajout up-in-arms

This commit is contained in:
2023-01-20 10:05:36 +01:00
parent 4e2c4441aa
commit 942ac53191
5 changed files with 146 additions and 12 deletions

View File

@ -45,6 +45,42 @@ const _patch_eis = () => {
}
}
/************************************************************************************/
const _patch_up_in_arms = () => {
game.wfrp4e.config.hitLocationTables["quadruped"] = "Quadrupède";
let batter = game.wfrp4e.config.groupAdvantageActions.find(ga => ga.name == "Batter")
if (batter) {
batter.name = "Battre"
batter.description = "En face d'un adversaire plus expérimenté, quelque fois la force brute peut réussiè là où d'autres approches échouent.",
batter.effect = "<strong>Action Spéciale</strong>: Pour Batter votre adversaire, vous devez réussir un Test Opposé de Force contre votre adversaire. Celui qui obtient le DR le plus élevé gagne. Si vous gagnez ce Test, votre adversaire reçoit l'état @Condition[A Terre] et vous recevez +1 Avantage. Si vous perdez le Test Opposé, votre opposant gagne +1 Avantage and votre action est terminée. Vous ne gagnez pas d'Avantage due à la victoire d'un test Opposé lorsque vous gagnez ce test (ie 1 seul avantage octroyé au total si le Test Opposé de Force est remporté)."
}
let trick = game.wfrp4e.config.groupAdvantageActions.find(ga => ga.name == "Trick")
if (trick) {
trick.name = "Duper"
trick.description = "Vous prenez un instant pour lancer de la poussière dans les yeux de votre adversaire ou bien vous lui lancez de l'huile enflammée. Cette manoeuvre est risquée, This manoeuvre is risky, et peu d'ennemis se font avoir deux fois de la même manière",
trick.effect = "<strong>Action Spéciale</strong>: Pour Duper votre adversaire, vous devez réussir un Test Opposé d'Agilité contre lui. Celui qui obtient le plus haut DR gagne le Test. Si vous gagnez le Test, vous recevez +1 Avantage. En fonction des circonstances, le MJ peut vous autoriser à attribuer à votre adversaire l'un des états suivants : @Condition[En Flammes], @Condition[Aveuglé], or @Condition[Empêtré]. Si vous perdez le Test Opposé, votre adversaire gagne +1 Avantage and votre action est terminée. Le MJ peut interdire certains de ces états si vous n'avez d'objet applicables dans votre main, ou bien si vous avez déja infligé un état identique precedemment à cet adversaire. Vous ne gagnez pas d'Avantage due à la victoire d'un test Opposé lorsque vous gagnez ce test (ie 1 seul avantage octroyé au total si le Test Opposé de Force est remporté)."
}
let addeffort = game.wfrp4e.config.groupAdvantageActions.find(ga => ga.name == "Additional Effort")
if (addeffort) {
addeffort.name = "Effort upplémentaire"
addeffort.description = "Dans des circonstances désespérées, vous pouvez utiliser l'élan que vous avez acquis pour augmenter vos chances de succès.",
addeffort.effect = "<strong>Action Gratuite</strong>: Vous gagnez un bonus de +10% pour n'importe quel test. Vous pouvez dépenser des avantages supplémentaires pour ajouter +10% par Avantage dépensé en plus. Par exemple, vous pouvez dépenser 3 Avantages pour un bonus de +10%, 4 avantages pour un +30%, etc. Le Test qui en découle de procure jamais d'Avantage pour le personnage qui le réalise."
}
let flee = game.wfrp4e.config.groupAdvantageActions.find(ga => ga.name == "Flee from Harm")
if (flee) {
flee.name = "Fuir le Mal"
flee.description = "Vous profitez d'un moment de distraction de votre adervsaire pour fuir le combat.",
flee.effect = "<strong>Mouvement</strong>: Vous pouvez vous éloignez de votre adversaire sans aucune pénalité. Cela remplace la règle de @UUID[Compendium.wfrp4e-core.journal-entries.NS3YGlJQxwTggjRX.JournalEntryPage.bdfiyhEYtKs7irqc#disengaging]{désengagement}."
}
let addaction = game.wfrp4e.config.groupAdvantageActions.find(ga => ga.name == "Additional Action")
if (addaction) {
addaction.name = "Action Supplémentaire"
addaction.description = "Vous profitez d'une opportunité pour accomplir une action remarquable.",
addaction.effect = "<strong>Action Gratuite</strong>: Vous réalisez une action supplémentaire. Cette action ne génère jamais d'Avantage pour vous. Vous pouvez réaliser cette dépense d'avantage seulement une seule fois par Tour."
}
}
/************************************************************************************/
/* Manages /auberge command */
const _manage_inn_roll = async (content, msg) => {
@ -174,7 +210,7 @@ const patch_core_tables = (tableList) => {
/************************************************************************************/
const patch_trade_gazeteer = () => {
if (game.wfrp4e.config.trade?.gazetteer) {
fetch("modules/WH4-fr-translation/tables/gazetteer.json").then(r => r.json()).then(records => {
fetch("modules/wh4-fr-translation/trade/gazetteer_dotr.json").then(r => r.json()).then(records => {
game.wfrp4e.config.trade.gazetteer = records;
});
}
@ -187,25 +223,30 @@ const __check_fix_wrong_modules = (chatFlag, patchFinished) => {
game.modules.forEach((module, name) => {
if (name == "wfrp4e-core" && module.active) {
//console.log("TESTING MODULE", module)
if (module.id == "wfrp4e-core" && module.active) {
patch_core_tables(__wfrp4e_tables);
}
if (name == "wfrp4e-eis" && module.active) {
if (module.id == "wfrp4e-eis" && module.active) {
patch_core_tables(__eis_tables);
_patch_eis();
}
if (name == "wfrp4e-dotr" && module.active) {
if (module.id == "wfrp4e-dotr" && module.active) {
patch_core_tables(__dotr_tables);
patch_trade_gazeteer()
}
if (name == 'ogre-kingdom-wfrp4e' && module.active) {
if (module.id == "wfrp4e-up-in-arms" && module.active) {
_patch_up_in_arms();
}
if (module.id == 'ogre-kingdom-wfrp4e' && module.active) {
WH4FRPatchConfig.perform_ogrekingdom_patch();
if (game.user.isGM && chatFlag)
ChatMessage.create({ content: "<div><strong>Le module Ogre-Kingdom a été detecté et automatiquement patché.</strong></div>", whisper: ChatMessage.getWhisperRecipients("GM") });
}
if (name == "wfrp4e-ew" && module.active && game.user.isGM && chatFlag) {
if (module.id == "wfrp4e-ew" && module.active && game.user.isGM && chatFlag) {
ChatMessage.create({
content: "<div><strong>Vous avez le module EW (wfrp4e-ew ?) installé. Malheureusement, ce module n'est pas compatible avec" +
" les traductions et vient casser le fonctionnement de la traduction. Veuillez recopier les compendiums dans votre monde, désactiver le module et re-démarrer le monde</strong></div>",
@ -215,7 +256,7 @@ const __check_fix_wrong_modules = (chatFlag, patchFinished) => {
});
if (game.user.isGM && patchFinished) {
ChatMessage.create({
content: "<div>Les modules WFRP4E ont été <strong>patchés avec succés</strong>. Vous pouvez y aller et que <strong>Shallya vous garde !</strong></div>Nouveautés 6.3.1: <ul><li>Ajout des clés pour le système 6.3</li><li>Traduction du talent Détection d'artefact (Ashbury77)</li><li>Traduction de la table Au dela de la norme sociale (Ashbury77)</li><li>Traduction du trait psychilogique Amour (Ashbury77)</li></ul>",
content: "<div>Les modules WFRP4E ont été <strong>patchés avec succés</strong>. Vous pouvez y aller et que <strong>Shallya vous garde !</strong></div>Nouveautés 6.3.X: <ul><li>Ajout des clés pour le système 6.3</li><li>Traduction de Détection d'artefact, Au dela de la norme sociale et Amour (Ashbury77)</li><li>Traduction des éléments pour les avantages de groupe (Up In Arms)</li></ul>",
user: game.user.id,
whisper: ChatMessage.getWhisperRecipients("GM")
});