base version

This commit is contained in:
cecilkorik 2021-11-09 20:11:49 -05:00
commit 2ca34bac9d
11 changed files with 725 additions and 0 deletions

View file

@ -0,0 +1,12 @@
[
{
"modId": "maethalion_boost",
"id": "maethalion_boost_train|NAME|SNARK|111",
"parameters": [
{},
{ "replace": "SNARK" },
{ "replace": "111", "isNumber": true }
],
"stats": { "SNARK": 111 }
}
]

View file

@ -0,0 +1,11 @@
[
{
"modId": "maethalion_boost",
"id": "town",
"effects": [
"craftAtTown",
"maethalion_boost_trainDefense",
"maethalion_boost_trainDamage"
]
}
]

View file

@ -0,0 +1,154 @@
{
"id": "maethalion_boost_job_train|NAME|STAT|AMOUNT",
"info": {
"dataVersion": 1,
"sourceFile": "maethalion_boost_job_train",
"modId": "maethalion_boost",
"author": "maethalion",
"STUB": "A repeatable job that allows training of stats on all heroes"
},
"type": "OVERLAND_ABILITY",
"verb": "JOB",
"ability": {
"icon": "heal",
"category": "crafting",
"priority": "0",
"labor": {
"days": "10",
"allParticipantsMustBePresent": true,
"speedFactor": "1",
"helperContributionSpeed": -0.2
},
"jobNotificationInfo": { "soundId": "UI/timeCues/jobComplete" },
"musicOverride": ""
},
"targets": [
{
"template": "SELF_SITE_THIS_JOB_NOT_ACTIVE",
"aspects": [ "THIS_JOB_NOT_ACTIVE", "SELF" ]
},
{
"template": "JOB_PARTICIPANT",
"promptText": "",
"slots": { "preFill": "noJobOrParty" }
},
{
"role": "hero",
"template": "PICK_BY_SCORE",
"scoreFunction": null,
"fromRoles": [ "participant" ],
"notAlreadyMatchedAs": []
},
{
"role": "hero2",
"template": "PICK_BY_SCORE",
"choose": "BY_SCORE_OPTIONAL",
"scoreFunction": null,
"fromRoles": [ "participant" ],
"notAlreadyMatchedAs": [ "hero" ]
},
{
"role": "hero3",
"template": "PICK_BY_SCORE",
"choose": "BY_SCORE_OPTIONAL",
"scoreFunction": null,
"fromRoles": [ "participant" ],
"notAlreadyMatchedAs": [ "hero", "hero2" ]
},
{
"role": "hero4",
"template": "PICK_BY_SCORE",
"choose": "BY_SCORE_OPTIONAL",
"scoreFunction": null,
"fromRoles": [ "participant" ],
"notAlreadyMatchedAs": [ "hero", "hero2", "hero3" ]
},
{
"role": "hero5",
"template": "PICK_BY_SCORE",
"choose": "BY_SCORE_OPTIONAL",
"scoreFunction": null,
"fromRoles": [ "participant" ],
"notAlreadyMatchedAs": [ "hero", "hero2", "hero3", "hero4" ]
}
],
"outcomes": [
{
"class": "Description",
"script": [
{
"class": "comicNode_Panel",
"panel": {
"size": "full",
"showNameTags": false,
"actorSlots": [
{
"role": "hero",
"equipment": {},
"anchor": { "x": 0.137, "y": 0.522 },
"size": 0.8467453,
"nameTag": "none"
},
{
"role": "hero2",
"facing": "left",
"equipment": {},
"anchor": { "x": 0.848, "y": 0.509 },
"size": 0.8467453,
"nameTag": "none"
},
{
"role": "hero3",
"equipment": {},
"anchor": { "x": 0.27984622, "y": 0.5 },
"size": 0.7733,
"nameTag": "none",
"color": { "r": "0.91907513", "g": "0.91907513", "b": "0.91907513", "a": "1" }
},
{
"role": "hero4",
"facing": "left",
"equipment": {},
"anchor": { "x": 0.703, "y": 0.468 },
"size": 0.8469,
"nameTag": "none",
"color": { "r": "0.91907513", "g": "0.91907513", "b": "0.91907513", "a": "1" }
},
{
"role": "hero5",
"equipment": {},
"anchor": { "x": 0.479, "y": 0.428 },
"size": 0.6885,
"nameTag": "none",
"color": { "r": "0.86994219", "g": "0.86994219", "b": "0.86994219", "a": "1" }
}
],
"textSlots": [
{
"textSourceFile": "maethalion_boost_job_train",
"textKey": "~01~~panel_001~1_narration",
"style": "narration"
}
]
}
}
]
},
{
"class": "DoAll",
"target": "participant",
"outcomes": [
{
"class": "Aspects",
"addAspects": [
{ "id": "maethalion_boost_train|NAME|STAT|AMOUNT", "value": "1" }
]
}
]
},
{
"class": "Aspects",
"removeAspects": [ "_THIS_" ]
}
]
}

View file

@ -0,0 +1,265 @@
{
"id": "maethalion_boost_trainDamage",
"info": {
"dataVersion": 1,
"sourceFile": "maethalion_boost_trainDamage",
"modId": "maethalion_boost",
"author": "maethalion"
},
"type": "OVERLAND_ABILITY",
"verb": "MANEUVER",
"ability": { "icon": "battledance", "category": "crafting", "priority": "0" },
"targets": [
{
"template": "SELF_SITE",
"aspects": [ "SELF", "workingStation", "NO_JOBS_ACTIVE" ],
"aspectValues": [
{ "id": "infestedTile*", "forbidden": true }
],
"forbidJobIds": [ "maethalion_boost_job_train*" ]
},
{ "role": "target", "template": "OVERLAND_TILE", "range": "0" },
{
"template": "CHOICE",
"promptScript": [
{
"class": "comicNode_Panel",
"panel": {
"size": "full",
"bg": "comicBG_classAbility_hunter.jpg",
"actorSlots": [
{
"assetSpec": "asset:ui/misc/battleModifier_courage.png",
"role": null,
"focus": "foot",
"anchor": { "x": 0.238, "y": 0.393 },
"size": 0.3,
"nameTag": "none",
"foot": { "rotate": 0 }
},
{
"assetSpec": "figure:human/items/item_axe_lumber.png",
"role": null,
"focus": "foot",
"anchor": { "x": 0.119, "y": 0.234 },
"size": 0.3499,
"nameTag": "none",
"foot": { "rotate": -30 }
},
{
"assetSpec": "scenery:drauven_basketSpears.png",
"role": null,
"focus": "foot",
"anchor": { "x": 0.374, "y": 0.274 },
"size": 0.4297,
"nameTag": "none"
},
{
"assetSpec": "item:item_sword_old.png",
"role": null,
"focus": "foot",
"anchor": { "x": 0.066, "y": 0.284 },
"size": 0.3499,
"drawDepth": 6,
"nameTag": "none",
"foot": { "rotate": -144.455 }
},
{
"assetSpec": "figure:human/items/item_staff_crook.png",
"role": null,
"focus": "foot",
"anchor": { "x": 0.077, "y": 0.299 },
"size": 0.2251,
"drawDepth": 7,
"nameTag": "none"
}
],
"textSlots": [
{
"textSourceFile": "maethalion_boost_trainDamage",
"textKey": "~01~prompt~panel_001~1_narration",
"style": "narration",
"padXFraction": 0.461,
"padYFraction": 0.332,
"widthFraction": 0.5
},
{
"textSourceFile": "maethalion_boost_trainDamage",
"textKey": "~01~prompt~panel_001~2_darken",
"style": "darken",
"padXFraction": 0.25,
"padYFraction": 0.04,
"shrinkToFitText": true
}
]
}
}
],
"options": [
{
"id": "one",
"script": [
{
"class": "comicNode_Panel",
"panel": {
"size": "fourth",
"bg": "comicBG_abstractAngry.jpg",
"actorSlots": [
{
"assetSpec": "asset:ui/misc/battleModifier_fortitude.png",
"role": null,
"focus": "foot",
"anchor": { "x": 0.5, "y": 0.45 },
"size": 0.2,
"nameTag": "none"
}
],
"textSlots": [
{
"textSourceFile": "maethalion_boost_trainDamage",
"textKey": "~02~choice_one~panel_001~1_narration",
"style": "narration"
}
]
}
}
],
"ifTargetIsPresent": "self"
},
{
"id": "two",
"script": [
{
"class": "comicNode_Panel",
"panel": {
"size": "fourth",
"bg": "comicBG_class_mystic.jpg",
"actorSlots": [
{
"assetSpec": "asset:ui/misc/battleModifier_fortitude.png",
"role": null,
"focus": "foot",
"anchor": { "x": 0.5, "y": 0.45 },
"size": 0.2,
"nameTag": "none"
}
],
"textSlots": [
{
"textSourceFile": "maethalion_boost_trainDamage",
"textKey": "~03~choice_two~panel_001~1_narration",
"style": "narration"
}
]
}
}
],
"ifTargetIsPresent": "self"
},
{
"id": "three",
"script": [
{
"class": "comicNode_Panel",
"panel": {
"size": "fourth",
"bg": "comicBG_abstractHappy.jpg",
"actorSlots": [
{
"assetSpec": "asset:ui/misc/battleModifier_fortitude.png",
"role": null,
"focus": "foot",
"anchor": { "x": 0.5, "y": 0.45 },
"size": 0.2,
"nameTag": "none"
}
],
"textSlots": [
{
"textSourceFile": "maethalion_boost_trainDamage",
"textKey": "~04~choice_three~panel_001~1_narration",
"style": "narration"
}
]
}
}
],
"ifTargetIsPresent": "self"
},
{
"id": "cancel",
"script": [
{
"class": "comicNode_Panel",
"panel": {
"size": "fourth",
"bgAuto": "atSite",
"textSlots": [
{
"textSourceFile": "maethalion_boost_trainDamage",
"textKey": "~05~choice_cancel~panel_001~1_darken",
"style": "darken",
"padXFraction": 0.25,
"padYFraction": 0.45,
"widthFraction": 0.5
}
]
}
}
],
"uiCancel": true
}
]
}
],
"outcomes": [
{
"class": "IfPlayerChose",
"ifPlayerChose": "one",
"then": {
"class": "DoAll",
"outcomes": [
{
"class": "NewJob",
"effectId": "maethalion_boost_job_train|stat.PHYSICAL_DAMAGE_BONUS|PHYSICAL_DAMAGE_BONUS|0.1",
"post": "self",
"injectedRoles": [ "self", "target" ],
"promptSlotsImmediately": true
}
]
}
},
{
"class": "IfPlayerChose",
"ifPlayerChose": "two",
"then": {
"class": "DoAll",
"outcomes": [
{
"class": "NewJob",
"effectId": "maethalion_boost_job_train|stat.SPELL_DAMAGE|SPELL_DAMAGE|0.1",
"post": "self",
"injectedRoles": [ "self", "target" ],
"promptSlotsImmediately": true
}
]
}
},
{
"class": "IfPlayerChose",
"ifPlayerChose": "three",
"then": {
"class": "DoAll",
"outcomes": [
{
"class": "NewJob",
"effectId": "maethalion_boost_job_train|stat.POTENCY|POTENCY|0.1",
"post": "self",
"injectedRoles": [ "self", "target" ],
"promptSlotsImmediately": true
}
]
}
}
]
}

View file

@ -0,0 +1,244 @@
{
"id": "maethalion_boost_trainDefense",
"info": {
"dataVersion": 1,
"sourceFile": "maethalion_boost_trainDefense",
"modId": "maethalion_boost",
"author": "maethalion"
},
"type": "OVERLAND_ABILITY",
"verb": "MANEUVER",
"ability": { "icon": "endurance", "category": "crafting", "priority": "0" },
"targets": [
{
"template": "SELF_SITE",
"aspects": [ "SELF", "workingStation", "NO_JOBS_ACTIVE" ],
"aspectValues": [
{ "id": "infestedTile*", "forbidden": true }
],
"forbidJobIds": [ "maethalion_boost_job_train*" ]
},
{ "role": "target", "template": "OVERLAND_TILE", "range": "0" },
{
"template": "CHOICE",
"promptScript": [
{
"class": "comicNode_Panel",
"panel": {
"size": "full",
"bg": "comicBG_classAbility_warrior.jpg",
"actorSlots": [
{
"assetSpec": "asset:ui/misc/battleModifier_endurance.png",
"role": null,
"focus": "foot",
"anchor": { "x": 0.239, "y": 0.402 },
"size": 0.3,
"nameTag": "none"
},
{
"assetSpec": "scenery:mannequins.png",
"role": null,
"focus": "foot",
"anchor": { "x": 0.17, "y": 0.403 },
"size": 0.5,
"nameTag": "none"
},
{
"assetSpec": "scenery:anvil.png",
"role": null,
"focus": "foot",
"anchor": { "x": 0.405, "y": 0.138 },
"size": 0.5,
"nameTag": "none"
}
],
"textSlots": [
{
"textSourceFile": "maethalion_boost_trainDefense",
"textKey": "~01~prompt~panel_001~1_narration",
"style": "narration",
"padXFraction": 0.461,
"padYFraction": 0.332,
"widthFraction": 0.5
},
{
"textSourceFile": "maethalion_boost_trainDefense",
"textKey": "~01~prompt~panel_001~2_darken",
"style": "darken",
"padXFraction": 0.25,
"padYFraction": 0.04,
"shrinkToFitText": true
}
]
}
}
],
"options": [
{
"id": "one",
"script": [
{
"class": "comicNode_Panel",
"panel": {
"size": "fourth",
"bg": "comicBG_caveBlue.jpg",
"actorSlots": [
{
"assetSpec": "asset:ui/misc/battleModifier_fortitude.png",
"role": null,
"focus": "foot",
"anchor": { "x": 0.5, "y": 0.45 },
"size": 0.2,
"nameTag": "none"
}
],
"textSlots": [
{
"textSourceFile": "maethalion_boost_trainDefense",
"textKey": "~02~choice_one~panel_001~1_narration",
"style": "narration"
}
]
}
}
],
"ifTargetIsPresent": "self"
},
{
"id": "two",
"script": [
{
"class": "comicNode_Panel",
"panel": {
"size": "fourth",
"bg": "comicBG_class_mystic.jpg",
"actorSlots": [
{
"assetSpec": "asset:ui/misc/battleModifier_fortitude.png",
"role": null,
"focus": "foot",
"anchor": { "x": 0.5, "y": 0.45 },
"size": 0.2,
"nameTag": "none"
}
],
"textSlots": [
{
"textSourceFile": "maethalion_boost_trainDefense",
"textKey": "~03~choice_two~panel_001~1_narration",
"style": "narration"
}
]
}
}
],
"ifTargetIsPresent": "self"
},
{
"id": "three",
"script": [
{
"class": "comicNode_Panel",
"panel": {
"size": "fourth",
"bg": "comicBG_abstractDkGreen.jpg",
"actorSlots": [
{
"assetSpec": "asset:ui/misc/battleModifier_fortitude.png",
"role": null,
"focus": "foot",
"anchor": { "x": 0.5, "y": 0.45 },
"size": 0.2,
"nameTag": "none"
}
],
"textSlots": [
{
"textSourceFile": "maethalion_boost_trainDefense",
"textKey": "~04~choice_three~panel_001~1_narration",
"style": "narration"
}
]
}
}
],
"ifTargetIsPresent": "self"
},
{
"id": "cancel",
"script": [
{
"class": "comicNode_Panel",
"panel": {
"size": "fourth",
"bgAuto": "atSite",
"textSlots": [
{
"textSourceFile": "maethalion_boost_trainDefense",
"textKey": "~05~choice_cancel~panel_001~1_darken",
"style": "darken",
"padXFraction": 0.25,
"padYFraction": 0.45,
"widthFraction": 0.5
}
]
}
}
],
"uiCancel": true
}
]
}
],
"outcomes": [
{
"class": "IfPlayerChose",
"ifPlayerChose": "one",
"then": {
"class": "DoAll",
"outcomes": [
{
"class": "NewJob",
"effectId": "maethalion_boost_job_train|ARMOR|0.1",
"post": "self",
"injectedRoles": [ "self", "target" ],
"promptSlotsImmediately": true
}
]
}
},
{
"class": "IfPlayerChose",
"ifPlayerChose": "two",
"then": {
"class": "DoAll",
"outcomes": [
{
"class": "NewJob",
"effectId": "maethalion_boost_job_train|WARDING|0.1",
"post": "self",
"injectedRoles": [ "self", "target" ],
"promptSlotsImmediately": true
}
]
}
},
{
"class": "IfPlayerChose",
"ifPlayerChose": "three",
"then": {
"class": "DoAll",
"outcomes": [
{
"class": "NewJob",
"effectId": "maethalion_boost_job_train|HEALTH|0.1",
"post": "self",
"injectedRoles": [ "self", "target" ],
"promptSlotsImmediately": true
}
]
}
}
]
}

View file

@ -0,0 +1,4 @@
#suppress inspection "UnusedProperty" for whole file
maethalion_boost_train.blurb=$param0 +$param2
maethalion_boost_train.name=Training

View file

@ -0,0 +1,5 @@
#suppress inspection "UnusedProperty" for whole file
.blurb=<hero.exists:Training <hero2.exists:<hero3.exists:<hero4.exists:<hero5.exists:<hero5>, /><hero4>, /><hero3>, <hero2>, and /<hero2> and ><hero>/<hero>>/Add Heroes to train> in $param0
.longName=Training Heroes in $param0
.name=Training
~01~~panel_001~1_narration=<hero2.exists:<hero3.exists:<hero4.exists:<hero5.exists:<hero5>, /><hero4>, /><hero3>, <hero2>, and /<hero2> and ><hero> have/<hero> has> finished their training...

View file

@ -0,0 +1,10 @@
#suppress inspection "UnusedProperty" for whole file
.blurb=Create a job which trains the Heroes in one of the following areas:\n - [b][red]Bonus Damage[][] + 0.1\n - [b][purple]Spell Damage[][] + 0.1\n - [b][gold]Potency[][] + 0.1
.longName=Train up your Hero's Damage
.name=Train Damage
~01~prompt~panel_001~1_narration=Create a Training Job at this Location\n\n - Train [b][red]Bonus Damage[][] + 0.1\n - Train [b][purple]Spell Damage[][] + 0.1\n - Train [b][gold]Potency[][] + 0.1\n\n(Usually takes 10 about days for a single Hero)
~01~prompt~panel_001~2_darken=[header][gold]Train up your Hero's Damage![][]
~02~choice_one~panel_001~1_narration=Train [b][red]Bonus Dmg[][] + 0.1
~03~choice_two~panel_001~1_narration=Train [b][purple]Spell Dmg[] []+ 0.1
~04~choice_three~panel_001~1_narration=Train [b][gold]Potency[][] + 0.1
~05~choice_cancel~panel_001~1_darken=(Not Now)

View file

@ -0,0 +1,10 @@
#suppress inspection "UnusedProperty" for whole file
.blurb=Create a job which trains the Heroes in one of the following areas:\n - [b][blue]Armor[][] + 0.1\n - [b][purple]Warding[][] + 0.1\n - [b][green]Health[][] + 0.1
.longName=Train up your Hero's Defenses
.name=Train Defense
~01~prompt~panel_001~1_narration=Create a Training Job at this Location\n\n - Train [b][blue]Armor[][] + 0.1\n - Train [b][purple]Warding[][] + 0.1\n - Train [b][green]Health[][] + 0.1\n\n(Usually takes 10 about days for a single Hero)
~01~prompt~panel_001~2_darken=[header][gold]Train up your Hero's Defenses![][]
~02~choice_one~panel_001~1_narration=Train [b][blue]Armor[][] + 0.1
~03~choice_two~panel_001~1_narration=Train [b][purple]Warding[] []+ 0.1
~04~choice_three~panel_001~1_narration=Train [b][green]Health[][] + 0.1
~05~choice_cancel~panel_001~1_darken=(Not Now)

10
mod.json Normal file
View file

@ -0,0 +1,10 @@
{
"loadOrder": 200000,
"author": "Maethalion",
"name": "Hero Training",
"blurb": "Allows training of heroes on the overland map.",
"visibility": "Public",
"tags": [ "Hero", "Balance Changes" ],
"url": "https://gitlab.com/sfurlani/wildermyth-mods",
"alwaysOn": true
}

BIN
preview.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 340 KiB