diff --git a/wg-greyknights/LICENSE b/wg-greyknights/LICENSE
new file mode 100644
index 0000000..fc3cb5c
--- /dev/null
+++ b/wg-greyknights/LICENSE
@@ -0,0 +1 @@
+Homebrew content for personal table use.
\ No newline at end of file
diff --git a/wg-greyknights/README.txt b/wg-greyknights/README.txt
new file mode 100644
index 0000000..7b6474e
--- /dev/null
+++ b/wg-greyknights/README.txt
@@ -0,0 +1,14 @@
+# GK Grey Knight (Wrath & Glory)
+This module installs homebrew Grey Knight content for the Wrath & Glory system.
+
+## Contents
+- Items: Aegis Power Armour, Terminator Aegis (Grey Knights), Grey Knight Armour Integrated Storm Bolter, Nemesis Force Halberd, Aegis of Titan (Ability), Grey Knight (Archetype).
+- Macros (scripts): Import from module, Loadout Manager, Aegis Glow Toggle.
+- Preset Actors: GK – Incognito, GK – Power Armour, GK – Terminator (`foundry/actors/*.json`).
+
+## Install
+1. Copy the `gk-greyknight` folder into `{UserData}/Data/modules/` and restart Foundry **or** use a manifest URL that points to `module.json`.
+2. Enable **Grey Knight Add-on (Wrath & Glory)** in your World.
+3. Go to *Configuration → Module Settings → Grey Knight Tools* to open the helper dialog.
+4. Click **Import Items from Module** to populate your Items Directory.
+5. Use **Loadout Manager** on a GK actor to switch between Incognito / Power Armour / Terminator.
diff --git a/wg-greyknights/foundry/actors/gk-incognito.json b/wg-greyknights/foundry/actors/gk-incognito.json
new file mode 100644
index 0000000..159bb63
--- /dev/null
+++ b/wg-greyknights/foundry/actors/gk-incognito.json
@@ -0,0 +1,1510 @@
+{
+ "name": "GK – Incognito (Wrath & Glory)",
+ "type": "agent",
+ "img": "modules/wng-core/assets/tokens/adeptus-astartes.webp",
+ "system": {
+ "attributes": {
+ "strength": {
+ "label": "ATTRIBUTE.STRENGTH",
+ "rating": 0,
+ "base": 5,
+ "bonus": 0,
+ "cost": 0,
+ "total": 0
+ },
+ "toughness": {
+ "label": "ATTRIBUTE.TOUGHNESS",
+ "rating": 0,
+ "base": 5,
+ "bonus": 0,
+ "cost": 0,
+ "total": 0
+ },
+ "agility": {
+ "label": "ATTRIBUTE.AGILITY",
+ "rating": 0,
+ "base": 5,
+ "bonus": 0,
+ "cost": 0,
+ "total": 0
+ },
+ "initiative": {
+ "label": "ATTRIBUTE.INITIATIVE",
+ "rating": 0,
+ "base": 5,
+ "bonus": 0,
+ "cost": 0,
+ "total": 0
+ },
+ "willpower": {
+ "label": "ATTRIBUTE.WILLPOWER",
+ "rating": 0,
+ "base": 6,
+ "bonus": 0,
+ "cost": 0,
+ "total": 0
+ },
+ "intellect": {
+ "label": "ATTRIBUTE.INTELLECT",
+ "rating": 0,
+ "base": 3,
+ "bonus": 0,
+ "cost": 0,
+ "total": 0
+ },
+ "fellowship": {
+ "label": "ATTRIBUTE.FELLOWSHIP",
+ "rating": 0,
+ "base": 1,
+ "bonus": 0,
+ "cost": 0,
+ "total": 0
+ }
+ },
+ "skills": {
+ "athletics": {
+ "label": "SKILL.ATHLETICS",
+ "attribute": "strength",
+ "rating": 0,
+ "base": 3,
+ "bonus": 0,
+ "cost": 0,
+ "total": 0
+ },
+ "awareness": {
+ "label": "SKILL.AWARENESS",
+ "attribute": "intellect",
+ "rating": 0,
+ "base": 3,
+ "bonus": 0,
+ "cost": 0,
+ "total": 0
+ },
+ "ballisticSkill": {
+ "label": "SKILL.BALLISTIC_SKILL",
+ "attribute": "agility",
+ "rating": 1,
+ "base": 5,
+ "bonus": 0,
+ "cost": 0,
+ "total": 0
+ },
+ "cunning": {
+ "label": "SKILL.CUNNING",
+ "attribute": "fellowship",
+ "rating": 1,
+ "base": 0,
+ "bonus": 0,
+ "cost": 0,
+ "total": 0
+ },
+ "deception": {
+ "label": "SKILL.DECEPTION",
+ "attribute": "fellowship",
+ "rating": 4,
+ "base": 0,
+ "bonus": 0,
+ "cost": 0,
+ "total": 0
+ },
+ "insight": {
+ "label": "SKILL.INSIGHT",
+ "attribute": "fellowship",
+ "rating": 2,
+ "base": 0,
+ "bonus": 0,
+ "cost": 0,
+ "total": 0
+ },
+ "intimidation": {
+ "label": "SKILL.INTIMIDATION",
+ "attribute": "willpower",
+ "rating": 0,
+ "base": 0,
+ "bonus": 0,
+ "cost": 0,
+ "total": 0
+ },
+ "investigation": {
+ "label": "SKILL.INVESTIGATION",
+ "attribute": "intellect",
+ "rating": 0,
+ "base": 0,
+ "bonus": 0,
+ "cost": 0,
+ "total": 0
+ },
+ "leadership": {
+ "label": "SKILL.LEADERSHIP",
+ "attribute": "willpower",
+ "rating": 0,
+ "base": 0,
+ "bonus": 0,
+ "cost": 0,
+ "total": 0
+ },
+ "medicae": {
+ "label": "SKILL.MEDICAE",
+ "attribute": "intellect",
+ "rating": 0,
+ "base": 0,
+ "bonus": 0,
+ "cost": 0,
+ "total": 0
+ },
+ "persuasion": {
+ "label": "SKILL.PERSUASION",
+ "attribute": "fellowship",
+ "rating": 0,
+ "base": 0,
+ "bonus": 0,
+ "cost": 0,
+ "total": 0
+ },
+ "pilot": {
+ "label": "SKILL.PILOT",
+ "attribute": "agility",
+ "rating": 0,
+ "base": 0,
+ "bonus": 0,
+ "cost": 0,
+ "total": 0
+ },
+ "psychicMastery": {
+ "label": "SKILL.PSYCHIC_MASTERY",
+ "attribute": "willpower",
+ "rating": 0,
+ "base": 4,
+ "bonus": 0,
+ "cost": 0,
+ "total": 0
+ },
+ "scholar": {
+ "label": "SKILL.SCHOLAR",
+ "attribute": "intellect",
+ "rating": 0,
+ "base": 2,
+ "bonus": 0,
+ "cost": 0,
+ "total": 0
+ },
+ "stealth": {
+ "label": "SKILL.STEALTH",
+ "attribute": "agility",
+ "rating": 0,
+ "base": 3,
+ "bonus": 0,
+ "cost": 0,
+ "total": 0
+ },
+ "survival": {
+ "label": "SKILL.SURVIVAL",
+ "attribute": "willpower",
+ "rating": 0,
+ "base": 1,
+ "bonus": 0,
+ "cost": 0,
+ "total": 0
+ },
+ "tech": {
+ "label": "SKILL.TECH",
+ "attribute": "intellect",
+ "rating": 0,
+ "base": 0,
+ "bonus": 0,
+ "cost": 0,
+ "total": 0
+ },
+ "weaponSkill": {
+ "label": "SKILL.WEAPON_SKILL",
+ "attribute": "initiative",
+ "rating": 0,
+ "base": 5,
+ "bonus": 0,
+ "cost": 0,
+ "total": 0
+ }
+ },
+ "combat": {
+ "defence": {
+ "bonus": 0,
+ "total": 0
+ },
+ "resilience": {
+ "bonus": 0,
+ "total": 0
+ },
+ "wounds": {
+ "value": 13,
+ "bonus": 0,
+ "max": 0
+ },
+ "determination": {
+ "bonus": 0,
+ "total": 0,
+ "attribute": "toughness"
+ },
+ "shock": {
+ "value": 0,
+ "bonus": 0,
+ "max": 0
+ },
+ "resolve": {
+ "bonus": 0,
+ "total": 0
+ },
+ "conviction": {
+ "bonus": 0,
+ "total": 0
+ },
+ "size": "average",
+ "speed": 7,
+ "fly": 0,
+ "passiveAwareness": {
+ "bonus": 0,
+ "total": 0
+ },
+ "stealth": 0
+ },
+ "bio": {
+ "species": "",
+ "faction": "",
+ "archetype": "",
+ "quote": "",
+ "height": "",
+ "eye": "",
+ "hair": "",
+ "origin": "Aggression and fury fuelled your Aspirant trials. You overcame every challenger with bloody-minded savagery, impressing your betters.",
+ "accomplishment": "You zealously shouldered a personal responsibility to destroy a particular foe; your chapter has given you leave to continue your grim work.",
+ "goal": "You uphold the Chapter’s valour, quick to extoll its virtues, never allowing a slight against your battle-brothers to go unanswered.",
+ "objective": ""
+ },
+ "advances": {
+ "tier": 4,
+ "rank": 1
+ },
+ "experience": {
+ "current": 0,
+ "spent": 0,
+ "total": 400
+ },
+ "resources": {
+ "wrath": 2,
+ "faith": {
+ "current": 0,
+ "total": 0
+ },
+ "wealth": 0,
+ "influence": 2
+ },
+ "corruption": {
+ "current": 0
+ },
+ "notes": "",
+ "species": {
+ "uuid": "Actor.7dDQIJwkjh6UI1xY.Item.bopuSa837xwn9Wf2",
+ "id": "bopuSa837xwn9Wf2",
+ "name": "Adeptus Astartes"
+ },
+ "faction": {
+ "uuid": "Actor.7dDQIJwkjh6UI1xY.Item.AkRz86k0vGqjwhd8",
+ "id": "AkRz86k0vGqjwhd8",
+ "name": "Adeptus Astartes"
+ },
+ "archetype": {
+ "uuid": "Actor.7dDQIJwkjh6UI1xY.Item.K2u0Jig6jcIPAMrt",
+ "id": "K2u0Jig6jcIPAMrt",
+ "name": "Astartes Librarian"
+ },
+ "settings": {
+ "generateMetaCurrencies": true,
+ "autoCalc": {
+ "defence": true,
+ "resilience": true,
+ "shock": true,
+ "awareness": true,
+ "resolve": true,
+ "determination": true,
+ "wounds": true,
+ "conviction": true
+ }
+ }
+ },
+ "prototypeToken": {
+ "name": "Agent",
+ "displayName": 20,
+ "actorLink": true,
+ "width": 1,
+ "height": 1,
+ "texture": {
+ "src": "modules/wng-core/assets/tokens/generic.webp",
+ "anchorX": 0.5,
+ "anchorY": 0.5,
+ "offsetX": 0,
+ "offsetY": 0,
+ "fit": "contain",
+ "scaleX": 1,
+ "scaleY": 1,
+ "rotation": 0,
+ "tint": "#ffffff",
+ "alphaThreshold": 0.75
+ },
+ "lockRotation": false,
+ "rotation": 0,
+ "alpha": 1,
+ "disposition": 0,
+ "displayBars": 20,
+ "bar1": {
+ "attribute": "combat.wounds"
+ },
+ "bar2": {
+ "attribute": "combat.shock"
+ },
+ "light": {
+ "negative": false,
+ "priority": 0,
+ "alpha": 0.5,
+ "angle": 360,
+ "bright": 0,
+ "color": null,
+ "coloration": 1,
+ "dim": 0,
+ "attenuation": 0.5,
+ "luminosity": 0.5,
+ "saturation": 0,
+ "contrast": 0,
+ "shadows": 0,
+ "animation": {
+ "type": null,
+ "speed": 5,
+ "intensity": 5,
+ "reverse": false
+ },
+ "darkness": {
+ "min": 0,
+ "max": 1
+ }
+ },
+ "sight": {
+ "enabled": true,
+ "range": 0,
+ "angle": 360,
+ "visionMode": "basic",
+ "color": null,
+ "attenuation": 0.1,
+ "brightness": 0,
+ "saturation": 0,
+ "contrast": 0
+ },
+ "detectionModes": [],
+ "occludable": {
+ "radius": 0
+ },
+ "ring": {
+ "enabled": false,
+ "colors": {
+ "ring": null,
+ "background": null
+ },
+ "effects": 1,
+ "subject": {
+ "scale": 1,
+ "texture": null
+ }
+ },
+ "turnMarker": {
+ "mode": 1,
+ "animation": null,
+ "src": null,
+ "disposition": false
+ },
+ "movementAction": null,
+ "flags": {},
+ "randomImg": false,
+ "appendNumber": false,
+ "prependAdjective": false
+ },
+ "items": [
+ {
+ "name": "Grey Knight (Archetype)",
+ "type": "archetype",
+ "img": "icons/svg/book.svg",
+ "effects": [
+ {
+ "_id": "UCAJgAo2eti0Q8fa",
+ "name": "Aegis of Titan — Innate Purity",
+ "icon": "icons/svg/aura.svg",
+ "origin": "",
+ "disabled": false,
+ "duration": {
+ "startTime": null
+ },
+ "changes": [
+ {
+ "key": "system.combat.resolve.bonus",
+ "mode": 2,
+ "value": 1,
+ "priority": 20
+ }
+ ],
+ "transfer": true,
+ "flags": {}
+ }
+ ],
+ "flags": {
+ "wng-forsaken": {
+ "initialization-folder": "Archetypes",
+ "sort": 0
+ },
+ "core": {}
+ },
+ "system": {
+ "tier": 4,
+ "journal": "DMmW708Q5AQvQfuy",
+ "species": {
+ "name": "Adeptus Astartes",
+ "id": "KpwHo0A92bR7iVMB"
+ },
+ "faction": {
+ "name": "Adeptus Astartes",
+ "id": "CN5E9Z5GqfiR1MDn"
+ },
+ "influence": 2,
+ "cost": 359,
+ "keywords": [
+ "IMPERIUM",
+ "ADEPTUS ASTARTES",
+ "GREY KNIGHTS",
+ "INQUISITION",
+ "DAEMONHUNTERS",
+ "ORDO MALLEUS"
+ ],
+ "attributes": {
+ "strength": 5,
+ "toughness": 5,
+ "agility": 5,
+ "initiative": 5,
+ "willpower": 6,
+ "intellect": 3,
+ "fellowship": null
+ },
+ "skills": {
+ "athletics": 3,
+ "awareness": 3,
+ "ballisticSkill": 5,
+ "cunning": null,
+ "deception": null,
+ "insight": null,
+ "intimidation": null,
+ "investigation": null,
+ "leadership": null,
+ "medicae": null,
+ "persuasion": null,
+ "pilot": null,
+ "psychicMastery": 4,
+ "scholar": 2,
+ "stealth": 3,
+ "survival": 1,
+ "tech": null,
+ "weaponSkill": 5
+ },
+ "ability": {
+ "id": "",
+ "name": "Aegis of Titan",
+ "description": "Innate Purity: +1 vs Corruption. Aegis Synergy: +1 vs Corruption while equipped with Aegis armour. Re-roll 1 die on Deny the Witch each round."
+ },
+ "wargear": {
+ "structure": {
+ "type": "and",
+ "groupId": "root",
+ "id": "root",
+ "options": [
+ {
+ "type": "option",
+ "index": 0,
+ "groupId": "cj0fha0grf41pcv4",
+ "id": "cj0fha0grf41pcv4"
+ },
+ {
+ "type": "option",
+ "index": 1,
+ "groupId": "a89wca5qifs6kga9",
+ "id": "a89wca5qifs6kga9"
+ },
+ {
+ "type": "option",
+ "index": 2,
+ "groupId": "7za8qa72jedhuct9",
+ "id": "7za8qa72jedhuct9"
+ },
+ {
+ "type": "option",
+ "index": 3,
+ "groupId": "q3jc5brs0mr50azx",
+ "id": "q3jc5brs0mr50azx"
+ },
+ {
+ "type": "option",
+ "index": 4,
+ "groupId": "lz6z45ef5goceln6",
+ "id": "lz6z45ef5goceln6"
+ },
+ {
+ "type": "option",
+ "index": 5,
+ "groupId": "xuev8a8qyfhywpzn",
+ "id": "xuev8a8qyfhywpzn"
+ }
+ ]
+ },
+ "options": [
+ {
+ "name": "Mk VII Astartes Power Armour",
+ "type": "item",
+ "id": "cj0fha0grf41pcv4",
+ "diff": {
+ "name": "Mk VII Astartes Power Armour"
+ },
+ "documentId": "7Bp1rDIfKEB2MB9N",
+ "idType": "id",
+ "filters": []
+ },
+ {
+ "name": "Psychic Hood",
+ "type": "item",
+ "id": "a89wca5qifs6kga9",
+ "diff": {
+ "name": "Psychic Hood"
+ },
+ "documentId": "qKIlaAhu9RZ63l1N",
+ "idType": "id",
+ "filters": []
+ },
+ {
+ "name": "Bolt Pistol",
+ "type": "item",
+ "id": "7za8qa72jedhuct9",
+ "diff": {
+ "name": "Bolt Pistol"
+ },
+ "documentId": "7b2xcPWBB7up65PM",
+ "idType": "id",
+ "filters": []
+ },
+ {
+ "name": "Force Stave",
+ "type": "item",
+ "id": "q3jc5brs0mr50azx",
+ "diff": {
+ "name": "Force Stave"
+ },
+ "documentId": "9vfkaU0vc61t7hKO",
+ "idType": "id",
+ "filters": []
+ },
+ {
+ "name": "Frag Grenades",
+ "type": "item",
+ "id": "lz6z45ef5goceln6",
+ "diff": {
+ "name": "Frag Grenades",
+ "data": {
+ "quantity": 3
+ }
+ },
+ "documentId": "oDG9YpSKSiSUFLIY",
+ "idType": "id",
+ "filters": []
+ },
+ {
+ "name": "Krak Grenades",
+ "type": "item",
+ "id": "xuev8a8qyfhywpzn",
+ "diff": {
+ "name": "Krak Grenades",
+ "data": {
+ "quantity": 3
+ }
+ },
+ "documentId": "SJ8UaYHEMtF71W1M",
+ "idType": "id",
+ "filters": []
+ }
+ ],
+ "freeItems": [
+ {
+ "id": "",
+ "name": "Nemesis Force Halberd"
+ },
+ {
+ "id": "",
+ "name": "Aegis Power Armour"
+ },
+ {
+ "id": "",
+ "name": "Grey Knight Armour Integrated Storm Bolter"
+ },
+ {
+ "id": "",
+ "name": "Aegis of Titan (Ability)"
+ },
+ {
+ "id": "",
+ "name": "Frag Grenade"
+ },
+ {
+ "id": "",
+ "name": "Krak Grenade"
+ },
+ {
+ "id": "",
+ "name": "Trinket (Chapter Relic Shard)"
+ }
+ ]
+ },
+ "suggested": {
+ "attributes": {
+ "strength": null,
+ "toughness": null,
+ "agility": null,
+ "initiative": null,
+ "willpower": null,
+ "intellect": null,
+ "fellowship": null
+ },
+ "skills": {
+ "athletics": null,
+ "awareness": null,
+ "ballisticSkill": null,
+ "cunning": null,
+ "deception": null,
+ "insight": null,
+ "intimidation": null,
+ "investigation": null,
+ "leadership": null,
+ "medicae": null,
+ "persuasion": null,
+ "pilot": null,
+ "psychicMastery": null,
+ "scholar": null,
+ "stealth": null,
+ "survival": null,
+ "tech": null,
+ "weaponSkill": null
+ },
+ "talents": {
+ "list": []
+ }
+ }
+ },
+ "_stats": {
+ "coreVersion": "13.347",
+ "systemId": "wrath-and-glory",
+ "systemVersion": "7.1.1",
+ "createdTime": 1755771384639,
+ "modifiedTime": 1755771384639,
+ "lastModifiedBy": "8fThFXcxV83JCCcX",
+ "exportSource": {
+ "worldId": "gilead-wandg",
+ "uuid": "Item.TCmE7YmUDUVQ3xoz",
+ "coreVersion": "13.347",
+ "systemId": "wrath-and-glory",
+ "systemVersion": "7.1.1"
+ }
+ },
+ "_id": "1OeeoGAdyDN0ZOCB"
+ },
+ {
+ "name": "Aegis of Titan (Ability)",
+ "type": "ability",
+ "img": "icons/svg/aura.svg",
+ "_id": "GKLSQZgvH7wy5fga",
+ "effects": [
+ {
+ "_id": "6BN0mFfiXKUetIna",
+ "name": "Aegis of Titan — Innate Purity",
+ "icon": "icons/svg/aura.svg",
+ "origin": "",
+ "disabled": false,
+ "duration": {
+ "startTime": null
+ },
+ "changes": [
+ {
+ "key": "system.combat.resolve.bonus",
+ "mode": 2,
+ "value": 1,
+ "priority": 20
+ }
+ ],
+ "transfer": true,
+ "flags": {}
+ },
+ {
+ "_id": "FZ5yhEgFXvwE2IGG",
+ "name": "Aegis of Titan — Aegis Synergy",
+ "icon": "icons/svg/upgrade.svg",
+ "origin": "",
+ "disabled": true,
+ "duration": {
+ "startTime": null
+ },
+ "changes": [
+ {
+ "key": "system.combat.resolve.bonus",
+ "mode": 2,
+ "value": 1,
+ "priority": 20
+ }
+ ],
+ "transfer": true,
+ "flags": {}
+ }
+ ],
+ "flags": {
+ "core": {}
+ },
+ "system": {
+ "description": "Innate purity (+1 vs Corruption). While equipped with Aegis armour, enable Synergy for an additional +1 vs Corruption.",
+ "keywords": "IMPERIUM, ADEPTUS ASTARTES, GREY KNIGHTS, INQUISITION, DAEMONHUNTERS, ORDO MALLEUS"
+ },
+ "_stats": {
+ "coreVersion": "13.347",
+ "systemId": "wrath-and-glory",
+ "systemVersion": "7.1.1"
+ }
+ },
+ {
+ "name": "Nemesis Force Halberd",
+ "type": "weapon",
+ "img": "icons/svg/sword.svg",
+ "effects": [],
+ "flags": {
+ "wng-core": {
+ "initialization-folder": "Weapons",
+ "sort": 0
+ },
+ "core": {}
+ },
+ "system": {
+ "quantity": 1,
+ "rarity": "uncommon",
+ "description": "Force Staves are laced with a complex psy-matrix that allows them to act as a psychic battery, storing psychic energy that can be released with brutal efficiency.
Nemesis: vs DAEMON/PSYKER: +1 ED (homebrew). Two‑Handed.
",
+ "value": 2,
+ "keywords": "IMPERIUM, ADEPTUS ASTARTES, GREY KNIGHTS, INQUISITION, DAEMONHUNTERS, ORDO MALLEUS, MELEE, FORCE",
+ "equipped": false,
+ "attack": {
+ "base": 0,
+ "bonus": 0,
+ "rank": "none"
+ },
+ "damage": {
+ "base": 4,
+ "bonus": 0,
+ "rank": 0,
+ "ap": {
+ "base": -1,
+ "bonus": 0,
+ "rank": 0
+ },
+ "ed": {
+ "base": 2,
+ "bonus": 0,
+ "rank": 0
+ },
+ "enabled": false,
+ "otherDamage": {
+ "mortal": "0",
+ "wounds": "0",
+ "shock": "0"
+ }
+ },
+ "ed": {
+ "base": 0,
+ "bonus": 0,
+ "rank": 0
+ },
+ "ap": {
+ "base": 0,
+ "bonus": 0,
+ "rank": 0
+ },
+ "category": "melee",
+ "range": {
+ "short": 0,
+ "medium": 0,
+ "long": 0,
+ "melee": 2,
+ "thrown": null
+ },
+ "ammo": {
+ "id": ""
+ },
+ "salvo": 0,
+ "traits": {
+ "list": [
+ {
+ "name": "brutal"
+ },
+ {
+ "name": "force"
+ },
+ {
+ "name": "twoHanded"
+ }
+ ]
+ },
+ "upgrades": [],
+ "otherDamage": {},
+ "combi": {},
+ "twinned": false
+ },
+ "_stats": {
+ "coreVersion": "13.347",
+ "systemId": "wrath-and-glory",
+ "systemVersion": "7.1.1",
+ "createdTime": 1755779931196,
+ "modifiedTime": 1755779931196,
+ "lastModifiedBy": "8fThFXcxV83JCCcX",
+ "exportSource": {
+ "worldId": "gilead-wandg",
+ "uuid": "Item.9vfkaU0vc61t7hKO",
+ "coreVersion": "13.347",
+ "systemId": "wrath-and-glory",
+ "systemVersion": "7.1.1"
+ }
+ },
+ "_id": "wog0jjVt6MsJft9E"
+ },
+ {
+ "name": "Grey Knight Armour Integrated Storm Bolter",
+ "type": "weapon",
+ "img": "icons/svg/gun.svg",
+ "effects": [],
+ "flags": {
+ "wng-core": {
+ "initialization-folder": "Weapons",
+ "sort": 0
+ },
+ "core": {}
+ },
+ "system": {
+ "quantity": 1,
+ "rarity": "rare",
+ "description": "Integrated forearm storm bolter. Integrated: does not occupy hands; may fire while wielding two‑handed melee. Treat as Pistol for firing in melee.
",
+ "value": 4,
+ "keywords": "BOLT, INTEGRATED, IMPERIUM, ADEPTUS ASTARTES, GREY KNIGHTS, INQUISITION, DAEMONHUNTERS, ORDO MALLEUS",
+ "equipped": false,
+ "attack": {
+ "base": 0,
+ "bonus": 0,
+ "rank": "none"
+ },
+ "damage": {
+ "base": 10,
+ "bonus": 0,
+ "rank": 0,
+ "ed": {
+ "base": 2,
+ "bonus": 0,
+ "rank": 0
+ },
+ "ap": {
+ "base": 0,
+ "bonus": 0,
+ "rank": 0
+ },
+ "enabled": false,
+ "otherDamage": {
+ "mortal": "0",
+ "wounds": "0",
+ "shock": "0"
+ }
+ },
+ "ed": {
+ "base": 0,
+ "bonus": 0,
+ "rank": 0
+ },
+ "ap": {
+ "base": 0,
+ "bonus": 0,
+ "rank": 0
+ },
+ "category": "ranged",
+ "range": {
+ "short": 12,
+ "medium": 24,
+ "long": 36,
+ "melee": 1,
+ "thrown": null
+ },
+ "ammo": {
+ "id": ""
+ },
+ "salvo": 1,
+ "traits": {
+ "list": [
+ {
+ "name": "brutal"
+ },
+ {
+ "name": "pistol"
+ },
+ {
+ "name": "rapidFire",
+ "rating": "2"
+ }
+ ]
+ },
+ "upgrades": [],
+ "otherDamage": {},
+ "combi": {},
+ "twinned": false
+ },
+ "_stats": {
+ "coreVersion": "13.347",
+ "systemId": "wrath-and-glory",
+ "systemVersion": "7.1.1",
+ "createdTime": 1755779945407,
+ "modifiedTime": 1755779945407,
+ "lastModifiedBy": "8fThFXcxV83JCCcX",
+ "exportSource": {
+ "worldId": "gilead-wandg",
+ "uuid": "Item.Seza6hxnXhHInk8m",
+ "coreVersion": "13.347",
+ "systemId": "wrath-and-glory",
+ "systemVersion": "7.1.1"
+ }
+ },
+ "_id": "HcNdlyNC0N47aK74"
+ },
+ {
+ "name": "Pilgrim Astartes Plate",
+ "type": "armour",
+ "img": "modules/wng-core/assets/icons/armour/terminator-armour.webp",
+ "effects": [
+ {
+ "_id": "7AHrAtkdWpAc4P7Y",
+ "name": "Pilgrim Disguise Penalties",
+ "icon": "icons/svg/downgrade.svg",
+ "origin": "",
+ "disabled": false,
+ "duration": {
+ "startTime": null,
+ "seconds": null,
+ "turns": null,
+ "startRound": null,
+ "startTurn": null
+ },
+ "changes": [
+ {
+ "key": "system.attributes.agility.bonus",
+ "mode": 2,
+ "value": -1,
+ "priority": 20
+ },
+ {
+ "key": "system.skills.stealth.bonus",
+ "mode": 2,
+ "value": -1,
+ "priority": 20
+ },
+ {
+ "key": "system.combat.speed",
+ "mode": 2,
+ "value": -1,
+ "priority": 20
+ }
+ ],
+ "tint": null,
+ "transfer": true,
+ "flags": {}
+ }
+ ],
+ "flags": {
+ "wng-core": {
+ "initialization-folder": "Armour",
+ "sort": 0
+ },
+ "core": {}
+ },
+ "system": {
+ "quantity": 1,
+ "rarity": "rare",
+ "description": "Scavenged Black Templars plate, patched & lightened. Designed for incognito operations.
- AR 4; Powered (1); Cumbersome.
- Penalty (Active Effect): −1 die to Agility- and Stealth-based Tests while worn; −1 Speed (homebrew).
- Appears as Templar armour at a glance; close inspection may reveal inconsistencies.
",
+ "value": 6,
+ "keywords": "POWERED, IMPERIUM, ADEPTUS ASTARTES, BLACK TEMPLARS (DISGUISE)",
+ "equipped": true,
+ "rating": 4,
+ "base": 0,
+ "traits": {
+ "list": [
+ {
+ "name": "cumbersome"
+ },
+ {
+ "name": "powered",
+ "rating": "1"
+ }
+ ]
+ },
+ "invulnerable": false
+ },
+ "_stats": {
+ "coreVersion": "13.347",
+ "systemId": "wrath-and-glory",
+ "systemVersion": "7.1.1",
+ "createdTime": 1755779886550,
+ "modifiedTime": 1755779886550,
+ "lastModifiedBy": "8fThFXcxV83JCCcX",
+ "exportSource": {
+ "worldId": "gilead-wandg",
+ "uuid": "Item.sTGTpOfbIveLcFul",
+ "coreVersion": "13.347",
+ "systemId": "wrath-and-glory",
+ "systemVersion": "7.1.1"
+ }
+ },
+ "_id": "9ezJaoYBgiyjj5KS"
+ },
+ {
+ "_id": "HJzQuyAhjhGDmWGx",
+ "name": "Frag Grenade",
+ "type": "gear",
+ "img": "icons/svg/item-bag.svg",
+ "effects": [],
+ "flags": {
+ "core": {}
+ },
+ "system": {
+ "quantity": 1,
+ "rarity": "common",
+ "description": "",
+ "value": 0,
+ "keywords": ""
+ }
+ },
+ {
+ "_id": "XbpyISBNDdidYXqC",
+ "name": "Krak Grenade",
+ "type": "gear",
+ "img": "icons/svg/item-bag.svg",
+ "effects": [],
+ "flags": {
+ "core": {}
+ },
+ "system": {
+ "quantity": 1,
+ "rarity": "common",
+ "description": "",
+ "value": 0,
+ "keywords": ""
+ }
+ },
+ {
+ "_id": "Tn5t5evGNu8BVLfT",
+ "name": "Trinket (Chapter Relic Shard)",
+ "type": "gear",
+ "img": "icons/svg/item-bag.svg",
+ "effects": [],
+ "flags": {
+ "core": {}
+ },
+ "system": {
+ "quantity": 1,
+ "rarity": "common",
+ "description": "",
+ "value": 0,
+ "keywords": ""
+ }
+ }
+ ],
+ "effects": [
+ {
+ "name": "Locus of Fury",
+ "img": "modules/wng-core/assets/icons/talents/talent.webp",
+ "_id": "cEl52cY8IDHhY2SK",
+ "type": "base",
+ "system": {
+ "transferData": {
+ "type": "document",
+ "originalType": "document",
+ "documentType": "Actor",
+ "avoidTest": {
+ "value": "none",
+ "opposed": false,
+ "prevention": true,
+ "reversed": false
+ },
+ "testIndependent": false,
+ "equipTransfer": false,
+ "selfOnly": false,
+ "prompt": false,
+ "area": {
+ "templateData": {
+ "borderColor": null,
+ "fillColor": null,
+ "texture": null
+ },
+ "keep": false,
+ "aura": {
+ "transferred": false,
+ "render": false
+ },
+ "duration": "sustained",
+ "radius": "2"
+ },
+ "zone": {
+ "type": "zone",
+ "transferred": false,
+ "traits": {},
+ "skipImmediateOnPlacement": false,
+ "keep": false
+ },
+ "filter": "return this.actor.appliedEffects.find(i => i.name == this.effect.name);"
+ },
+ "itemTargetData": {
+ "ids": [],
+ "allItems": false
+ },
+ "scriptData": [
+ {
+ "script": "if (args.weapon?.system.isMelee)\n{\n\targs.result.text[this.effect.id] = {label : this.effect.name, description : \"May reroll 1s\"};\n}",
+ "label": "Roll Weapon",
+ "trigger": "rollWeaponTest",
+ "options": {
+ "targeter": false,
+ "deleteEffect": false,
+ "defending": false
+ },
+ "async": false
+ }
+ ],
+ "zone": {
+ "type": "zone",
+ "traits": {},
+ "skipImmediateOnPlacement": false
+ },
+ "sourceData": {
+ "test": {},
+ "item": "Scene.sZLjRwaoAx1qxFho.Token.x6mbo4zBaPPX7hr1.Actor.pOLQxCgUHAAEhfGX.Item.77qzfl7j20nrrfzd",
+ "area": "Scene.sZLjRwaoAx1qxFho.MeasuredTemplate.pg1Nrj3y8GDSgbVa"
+ }
+ },
+ "changes": [],
+ "disabled": false,
+ "duration": {
+ "startTime": 1293836976000,
+ "seconds": null,
+ "combat": null,
+ "rounds": null,
+ "turns": null,
+ "startRound": 1,
+ "startTurn": 1
+ },
+ "description": "",
+ "origin": "Scene.sZLjRwaoAx1qxFho.Token.x6mbo4zBaPPX7hr1.Actor.pOLQxCgUHAAEhfGX",
+ "tint": "#ffffff",
+ "transfer": false,
+ "statuses": [
+ "locus-of-fury"
+ ],
+ "sort": 0,
+ "flags": {
+ "wrath-and-glory": {
+ "manualEffectKeys": false
+ }
+ },
+ "_stats": {
+ "coreVersion": "13.347",
+ "systemId": "wrath-and-glory",
+ "systemVersion": "7.1.1",
+ "createdTime": 1755772134410,
+ "modifiedTime": 1755772134410,
+ "lastModifiedBy": "8fThFXcxV83JCCcX"
+ }
+ },
+ {
+ "statuses": [
+ "wounded"
+ ],
+ "name": "Wounded",
+ "img": "systems/wrath-and-glory/assets/icons/effects/wounded.svg",
+ "system": {
+ "scriptData": [
+ {
+ "trigger": "dialog",
+ "script": "args.fields.difficulty += 1",
+ "label": "+1 DN to all Tests",
+ "options": {
+ "activateScript": "return true;",
+ "targeter": false,
+ "defending": false,
+ "deleteEffect": false
+ },
+ "async": false
+ }
+ ],
+ "transferData": {
+ "type": "document",
+ "originalType": "document",
+ "documentType": "Actor",
+ "avoidTest": {
+ "value": "none",
+ "opposed": false,
+ "prevention": true,
+ "reversed": false
+ },
+ "testIndependent": false,
+ "equipTransfer": false,
+ "selfOnly": false,
+ "prompt": false,
+ "area": {
+ "templateData": {
+ "borderColor": null,
+ "fillColor": null,
+ "texture": null
+ },
+ "keep": false,
+ "aura": {
+ "transferred": false,
+ "render": false
+ },
+ "duration": "sustained"
+ },
+ "zone": {
+ "type": "zone",
+ "transferred": false,
+ "traits": {},
+ "skipImmediateOnPlacement": false,
+ "keep": false
+ }
+ },
+ "itemTargetData": {
+ "ids": [],
+ "allItems": false
+ },
+ "zone": {
+ "type": "zone",
+ "traits": {},
+ "skipImmediateOnPlacement": false
+ },
+ "sourceData": {
+ "test": {}
+ }
+ },
+ "flags": {},
+ "_id": "RLF3R4vroOZc4whR",
+ "type": "base",
+ "changes": [],
+ "disabled": false,
+ "duration": {
+ "startTime": 1293836976000,
+ "combat": null
+ },
+ "description": "",
+ "origin": null,
+ "tint": "#ffffff",
+ "transfer": false,
+ "sort": 0,
+ "_stats": {
+ "coreVersion": "13.347",
+ "systemId": "wrath-and-glory",
+ "systemVersion": "7.1.1",
+ "createdTime": 1755772178022,
+ "modifiedTime": 1755772178022,
+ "lastModifiedBy": "8fThFXcxV83JCCcX"
+ }
+ },
+ {
+ "statuses": [
+ "prone"
+ ],
+ "name": "Prone",
+ "img": "systems/wrath-and-glory/assets/icons/conditions/prone.svg",
+ "flags": {},
+ "_id": "qKffnfYrusJER2qd",
+ "type": "base",
+ "system": {
+ "transferData": {
+ "type": "document",
+ "originalType": "document",
+ "documentType": "Actor",
+ "avoidTest": {
+ "value": "none",
+ "opposed": false,
+ "prevention": true,
+ "reversed": false
+ },
+ "testIndependent": false,
+ "equipTransfer": false,
+ "selfOnly": false,
+ "prompt": false,
+ "area": {
+ "templateData": {
+ "borderColor": null,
+ "fillColor": null,
+ "texture": null
+ },
+ "keep": false,
+ "aura": {
+ "transferred": false,
+ "render": false
+ },
+ "duration": "sustained"
+ },
+ "zone": {
+ "type": "zone",
+ "transferred": false,
+ "traits": {},
+ "skipImmediateOnPlacement": false,
+ "keep": false
+ }
+ },
+ "itemTargetData": {
+ "ids": [],
+ "allItems": false
+ },
+ "scriptData": [],
+ "zone": {
+ "type": "zone",
+ "traits": {},
+ "skipImmediateOnPlacement": false
+ },
+ "sourceData": {
+ "test": {}
+ }
+ },
+ "changes": [],
+ "disabled": false,
+ "duration": {
+ "startTime": 1293836976000,
+ "combat": null
+ },
+ "description": "",
+ "origin": null,
+ "tint": "#ffffff",
+ "transfer": false,
+ "sort": 0,
+ "_stats": {
+ "coreVersion": "13.347",
+ "systemId": "wrath-and-glory",
+ "systemVersion": "7.1.1",
+ "createdTime": 1755772194710,
+ "modifiedTime": 1755772194710,
+ "lastModifiedBy": "8fThFXcxV83JCCcX"
+ }
+ },
+ {
+ "statuses": [
+ "dying"
+ ],
+ "name": "Dying",
+ "img": "systems/wrath-and-glory/assets/icons/effects/dying.svg",
+ "system": {
+ "scriptData": [
+ {
+ "label": "Extra Wrath Die",
+ "script": "args.fields.wrath++;",
+ "trigger": "dialog",
+ "options": {
+ "activateScript": "return true;",
+ "targeter": false,
+ "defending": false,
+ "deleteEffect": false
+ },
+ "async": false
+ }
+ ],
+ "transferData": {
+ "type": "document",
+ "originalType": "document",
+ "documentType": "Actor",
+ "avoidTest": {
+ "value": "none",
+ "opposed": false,
+ "prevention": true,
+ "reversed": false
+ },
+ "testIndependent": false,
+ "equipTransfer": false,
+ "selfOnly": false,
+ "prompt": false,
+ "area": {
+ "templateData": {
+ "borderColor": null,
+ "fillColor": null,
+ "texture": null
+ },
+ "keep": false,
+ "aura": {
+ "transferred": false,
+ "render": false
+ },
+ "duration": "sustained"
+ },
+ "zone": {
+ "type": "zone",
+ "transferred": false,
+ "traits": {},
+ "skipImmediateOnPlacement": false,
+ "keep": false
+ }
+ },
+ "itemTargetData": {
+ "ids": [],
+ "allItems": false
+ },
+ "zone": {
+ "type": "zone",
+ "traits": {},
+ "skipImmediateOnPlacement": false
+ },
+ "sourceData": {
+ "test": {}
+ }
+ },
+ "flags": {},
+ "_id": "3JAyyplDcT4eN4vY",
+ "type": "base",
+ "changes": [],
+ "disabled": false,
+ "duration": {
+ "startTime": 1293836976000,
+ "combat": null
+ },
+ "description": "",
+ "origin": null,
+ "tint": "#ffffff",
+ "transfer": false,
+ "sort": 0,
+ "_stats": {
+ "coreVersion": "13.347",
+ "systemId": "wrath-and-glory",
+ "systemVersion": "7.1.1",
+ "createdTime": 1755772195017,
+ "modifiedTime": 1755772195017,
+ "lastModifiedBy": "8fThFXcxV83JCCcX"
+ }
+ }
+ ],
+ "folder": null,
+ "flags": {},
+ "_stats": {
+ "coreVersion": "13.347",
+ "systemId": "wrath-and-glory",
+ "systemVersion": "7.1.1",
+ "createdTime": 1755210527459,
+ "modifiedTime": 1755779824756,
+ "lastModifiedBy": "8fThFXcxV83JCCcX",
+ "exportSource": {
+ "worldId": "gilead-wandg",
+ "uuid": "Actor.7dDQIJwkjh6UI1xY",
+ "coreVersion": "13.347",
+ "systemId": "wrath-and-glory",
+ "systemVersion": "7.1.1"
+ }
+ },
+ "_id": "N8qssNC8Zw9yvpHZ"
+}
\ No newline at end of file
diff --git a/wg-greyknights/foundry/actors/gk-power-armour.json b/wg-greyknights/foundry/actors/gk-power-armour.json
new file mode 100644
index 0000000..7e4edd8
--- /dev/null
+++ b/wg-greyknights/foundry/actors/gk-power-armour.json
@@ -0,0 +1,1524 @@
+{
+ "name": "GK – Power Armour (Wrath & Glory)",
+ "type": "agent",
+ "img": "modules/wng-core/assets/tokens/adeptus-astartes.webp",
+ "system": {
+ "attributes": {
+ "strength": {
+ "label": "ATTRIBUTE.STRENGTH",
+ "rating": 0,
+ "base": 5,
+ "bonus": 0,
+ "cost": 0,
+ "total": 0
+ },
+ "toughness": {
+ "label": "ATTRIBUTE.TOUGHNESS",
+ "rating": 0,
+ "base": 5,
+ "bonus": 0,
+ "cost": 0,
+ "total": 0
+ },
+ "agility": {
+ "label": "ATTRIBUTE.AGILITY",
+ "rating": 0,
+ "base": 5,
+ "bonus": 0,
+ "cost": 0,
+ "total": 0
+ },
+ "initiative": {
+ "label": "ATTRIBUTE.INITIATIVE",
+ "rating": 0,
+ "base": 5,
+ "bonus": 0,
+ "cost": 0,
+ "total": 0
+ },
+ "willpower": {
+ "label": "ATTRIBUTE.WILLPOWER",
+ "rating": 0,
+ "base": 6,
+ "bonus": 0,
+ "cost": 0,
+ "total": 0
+ },
+ "intellect": {
+ "label": "ATTRIBUTE.INTELLECT",
+ "rating": 0,
+ "base": 3,
+ "bonus": 0,
+ "cost": 0,
+ "total": 0
+ },
+ "fellowship": {
+ "label": "ATTRIBUTE.FELLOWSHIP",
+ "rating": 0,
+ "base": 1,
+ "bonus": 0,
+ "cost": 0,
+ "total": 0
+ }
+ },
+ "skills": {
+ "athletics": {
+ "label": "SKILL.ATHLETICS",
+ "attribute": "strength",
+ "rating": 0,
+ "base": 3,
+ "bonus": 0,
+ "cost": 0,
+ "total": 0
+ },
+ "awareness": {
+ "label": "SKILL.AWARENESS",
+ "attribute": "intellect",
+ "rating": 0,
+ "base": 3,
+ "bonus": 0,
+ "cost": 0,
+ "total": 0
+ },
+ "ballisticSkill": {
+ "label": "SKILL.BALLISTIC_SKILL",
+ "attribute": "agility",
+ "rating": 1,
+ "base": 5,
+ "bonus": 0,
+ "cost": 0,
+ "total": 0
+ },
+ "cunning": {
+ "label": "SKILL.CUNNING",
+ "attribute": "fellowship",
+ "rating": 1,
+ "base": 0,
+ "bonus": 0,
+ "cost": 0,
+ "total": 0
+ },
+ "deception": {
+ "label": "SKILL.DECEPTION",
+ "attribute": "fellowship",
+ "rating": 4,
+ "base": 0,
+ "bonus": 0,
+ "cost": 0,
+ "total": 0
+ },
+ "insight": {
+ "label": "SKILL.INSIGHT",
+ "attribute": "fellowship",
+ "rating": 2,
+ "base": 0,
+ "bonus": 0,
+ "cost": 0,
+ "total": 0
+ },
+ "intimidation": {
+ "label": "SKILL.INTIMIDATION",
+ "attribute": "willpower",
+ "rating": 0,
+ "base": 0,
+ "bonus": 0,
+ "cost": 0,
+ "total": 0
+ },
+ "investigation": {
+ "label": "SKILL.INVESTIGATION",
+ "attribute": "intellect",
+ "rating": 0,
+ "base": 0,
+ "bonus": 0,
+ "cost": 0,
+ "total": 0
+ },
+ "leadership": {
+ "label": "SKILL.LEADERSHIP",
+ "attribute": "willpower",
+ "rating": 0,
+ "base": 0,
+ "bonus": 0,
+ "cost": 0,
+ "total": 0
+ },
+ "medicae": {
+ "label": "SKILL.MEDICAE",
+ "attribute": "intellect",
+ "rating": 0,
+ "base": 0,
+ "bonus": 0,
+ "cost": 0,
+ "total": 0
+ },
+ "persuasion": {
+ "label": "SKILL.PERSUASION",
+ "attribute": "fellowship",
+ "rating": 0,
+ "base": 0,
+ "bonus": 0,
+ "cost": 0,
+ "total": 0
+ },
+ "pilot": {
+ "label": "SKILL.PILOT",
+ "attribute": "agility",
+ "rating": 0,
+ "base": 0,
+ "bonus": 0,
+ "cost": 0,
+ "total": 0
+ },
+ "psychicMastery": {
+ "label": "SKILL.PSYCHIC_MASTERY",
+ "attribute": "willpower",
+ "rating": 0,
+ "base": 4,
+ "bonus": 0,
+ "cost": 0,
+ "total": 0
+ },
+ "scholar": {
+ "label": "SKILL.SCHOLAR",
+ "attribute": "intellect",
+ "rating": 0,
+ "base": 2,
+ "bonus": 0,
+ "cost": 0,
+ "total": 0
+ },
+ "stealth": {
+ "label": "SKILL.STEALTH",
+ "attribute": "agility",
+ "rating": 0,
+ "base": 3,
+ "bonus": 0,
+ "cost": 0,
+ "total": 0
+ },
+ "survival": {
+ "label": "SKILL.SURVIVAL",
+ "attribute": "willpower",
+ "rating": 0,
+ "base": 1,
+ "bonus": 0,
+ "cost": 0,
+ "total": 0
+ },
+ "tech": {
+ "label": "SKILL.TECH",
+ "attribute": "intellect",
+ "rating": 0,
+ "base": 0,
+ "bonus": 0,
+ "cost": 0,
+ "total": 0
+ },
+ "weaponSkill": {
+ "label": "SKILL.WEAPON_SKILL",
+ "attribute": "initiative",
+ "rating": 0,
+ "base": 5,
+ "bonus": 0,
+ "cost": 0,
+ "total": 0
+ }
+ },
+ "combat": {
+ "defence": {
+ "bonus": 0,
+ "total": 0
+ },
+ "resilience": {
+ "bonus": 0,
+ "total": 0
+ },
+ "wounds": {
+ "value": 13,
+ "bonus": 0,
+ "max": 0
+ },
+ "determination": {
+ "bonus": 0,
+ "total": 0,
+ "attribute": "toughness"
+ },
+ "shock": {
+ "value": 0,
+ "bonus": 0,
+ "max": 0
+ },
+ "resolve": {
+ "bonus": 0,
+ "total": 0
+ },
+ "conviction": {
+ "bonus": 0,
+ "total": 0
+ },
+ "size": "average",
+ "speed": 7,
+ "fly": 0,
+ "passiveAwareness": {
+ "bonus": 0,
+ "total": 0
+ },
+ "stealth": 0
+ },
+ "bio": {
+ "species": "",
+ "faction": "",
+ "archetype": "",
+ "quote": "",
+ "height": "",
+ "eye": "",
+ "hair": "",
+ "origin": "Aggression and fury fuelled your Aspirant trials. You overcame every challenger with bloody-minded savagery, impressing your betters.",
+ "accomplishment": "You zealously shouldered a personal responsibility to destroy a particular foe; your chapter has given you leave to continue your grim work.",
+ "goal": "You uphold the Chapter’s valour, quick to extoll its virtues, never allowing a slight against your battle-brothers to go unanswered.",
+ "objective": ""
+ },
+ "advances": {
+ "tier": 4,
+ "rank": 1
+ },
+ "experience": {
+ "current": 0,
+ "spent": 0,
+ "total": 400
+ },
+ "resources": {
+ "wrath": 2,
+ "faith": {
+ "current": 0,
+ "total": 0
+ },
+ "wealth": 0,
+ "influence": 2
+ },
+ "corruption": {
+ "current": 0
+ },
+ "notes": "",
+ "species": {
+ "uuid": "Actor.7dDQIJwkjh6UI1xY.Item.bopuSa837xwn9Wf2",
+ "id": "bopuSa837xwn9Wf2",
+ "name": "Adeptus Astartes"
+ },
+ "faction": {
+ "uuid": "Actor.7dDQIJwkjh6UI1xY.Item.AkRz86k0vGqjwhd8",
+ "id": "AkRz86k0vGqjwhd8",
+ "name": "Adeptus Astartes"
+ },
+ "archetype": {
+ "uuid": "Actor.7dDQIJwkjh6UI1xY.Item.K2u0Jig6jcIPAMrt",
+ "id": "K2u0Jig6jcIPAMrt",
+ "name": "Astartes Librarian"
+ },
+ "settings": {
+ "generateMetaCurrencies": true,
+ "autoCalc": {
+ "defence": true,
+ "resilience": true,
+ "shock": true,
+ "awareness": true,
+ "resolve": true,
+ "determination": true,
+ "wounds": true,
+ "conviction": true
+ }
+ }
+ },
+ "prototypeToken": {
+ "name": "Agent",
+ "displayName": 20,
+ "actorLink": true,
+ "width": 1,
+ "height": 1,
+ "texture": {
+ "src": "modules/wng-core/assets/tokens/generic.webp",
+ "anchorX": 0.5,
+ "anchorY": 0.5,
+ "offsetX": 0,
+ "offsetY": 0,
+ "fit": "contain",
+ "scaleX": 1,
+ "scaleY": 1,
+ "rotation": 0,
+ "tint": "#ffffff",
+ "alphaThreshold": 0.75
+ },
+ "lockRotation": false,
+ "rotation": 0,
+ "alpha": 1,
+ "disposition": 0,
+ "displayBars": 20,
+ "bar1": {
+ "attribute": "combat.wounds"
+ },
+ "bar2": {
+ "attribute": "combat.shock"
+ },
+ "light": {
+ "negative": false,
+ "priority": 0,
+ "alpha": 0.5,
+ "angle": 360,
+ "bright": 0,
+ "color": null,
+ "coloration": 1,
+ "dim": 0,
+ "attenuation": 0.5,
+ "luminosity": 0.5,
+ "saturation": 0,
+ "contrast": 0,
+ "shadows": 0,
+ "animation": {
+ "type": null,
+ "speed": 5,
+ "intensity": 5,
+ "reverse": false
+ },
+ "darkness": {
+ "min": 0,
+ "max": 1
+ }
+ },
+ "sight": {
+ "enabled": true,
+ "range": 0,
+ "angle": 360,
+ "visionMode": "basic",
+ "color": null,
+ "attenuation": 0.1,
+ "brightness": 0,
+ "saturation": 0,
+ "contrast": 0
+ },
+ "detectionModes": [],
+ "occludable": {
+ "radius": 0
+ },
+ "ring": {
+ "enabled": false,
+ "colors": {
+ "ring": null,
+ "background": null
+ },
+ "effects": 1,
+ "subject": {
+ "scale": 1,
+ "texture": null
+ }
+ },
+ "turnMarker": {
+ "mode": 1,
+ "animation": null,
+ "src": null,
+ "disposition": false
+ },
+ "movementAction": null,
+ "flags": {},
+ "randomImg": false,
+ "appendNumber": false,
+ "prependAdjective": false
+ },
+ "items": [
+ {
+ "name": "Grey Knight (Archetype)",
+ "type": "archetype",
+ "img": "icons/svg/book.svg",
+ "effects": [
+ {
+ "_id": "PSpcD4WlCBan4Fim",
+ "name": "Aegis of Titan — Innate Purity",
+ "icon": "icons/svg/aura.svg",
+ "origin": "",
+ "disabled": false,
+ "duration": {
+ "startTime": null
+ },
+ "changes": [
+ {
+ "key": "system.combat.resolve.bonus",
+ "mode": 2,
+ "value": 1,
+ "priority": 20
+ }
+ ],
+ "transfer": true,
+ "flags": {}
+ }
+ ],
+ "flags": {
+ "wng-forsaken": {
+ "initialization-folder": "Archetypes",
+ "sort": 0
+ },
+ "core": {}
+ },
+ "system": {
+ "tier": 4,
+ "journal": "DMmW708Q5AQvQfuy",
+ "species": {
+ "name": "Adeptus Astartes",
+ "id": "KpwHo0A92bR7iVMB"
+ },
+ "faction": {
+ "name": "Adeptus Astartes",
+ "id": "CN5E9Z5GqfiR1MDn"
+ },
+ "influence": 2,
+ "cost": 359,
+ "keywords": [
+ "IMPERIUM",
+ "ADEPTUS ASTARTES",
+ "GREY KNIGHTS",
+ "INQUISITION",
+ "DAEMONHUNTERS",
+ "ORDO MALLEUS"
+ ],
+ "attributes": {
+ "strength": 5,
+ "toughness": 5,
+ "agility": 5,
+ "initiative": 5,
+ "willpower": 6,
+ "intellect": 3,
+ "fellowship": null
+ },
+ "skills": {
+ "athletics": 3,
+ "awareness": 3,
+ "ballisticSkill": 5,
+ "cunning": null,
+ "deception": null,
+ "insight": null,
+ "intimidation": null,
+ "investigation": null,
+ "leadership": null,
+ "medicae": null,
+ "persuasion": null,
+ "pilot": null,
+ "psychicMastery": 4,
+ "scholar": 2,
+ "stealth": 3,
+ "survival": 1,
+ "tech": null,
+ "weaponSkill": 5
+ },
+ "ability": {
+ "id": "",
+ "name": "Aegis of Titan",
+ "description": "Innate Purity: +1 vs Corruption. Aegis Synergy: +1 vs Corruption while equipped with Aegis armour. Re-roll 1 die on Deny the Witch each round."
+ },
+ "wargear": {
+ "structure": {
+ "type": "and",
+ "groupId": "root",
+ "id": "root",
+ "options": [
+ {
+ "type": "option",
+ "index": 0,
+ "groupId": "cj0fha0grf41pcv4",
+ "id": "cj0fha0grf41pcv4"
+ },
+ {
+ "type": "option",
+ "index": 1,
+ "groupId": "a89wca5qifs6kga9",
+ "id": "a89wca5qifs6kga9"
+ },
+ {
+ "type": "option",
+ "index": 2,
+ "groupId": "7za8qa72jedhuct9",
+ "id": "7za8qa72jedhuct9"
+ },
+ {
+ "type": "option",
+ "index": 3,
+ "groupId": "q3jc5brs0mr50azx",
+ "id": "q3jc5brs0mr50azx"
+ },
+ {
+ "type": "option",
+ "index": 4,
+ "groupId": "lz6z45ef5goceln6",
+ "id": "lz6z45ef5goceln6"
+ },
+ {
+ "type": "option",
+ "index": 5,
+ "groupId": "xuev8a8qyfhywpzn",
+ "id": "xuev8a8qyfhywpzn"
+ }
+ ]
+ },
+ "options": [
+ {
+ "name": "Mk VII Astartes Power Armour",
+ "type": "item",
+ "id": "cj0fha0grf41pcv4",
+ "diff": {
+ "name": "Mk VII Astartes Power Armour"
+ },
+ "documentId": "7Bp1rDIfKEB2MB9N",
+ "idType": "id",
+ "filters": []
+ },
+ {
+ "name": "Psychic Hood",
+ "type": "item",
+ "id": "a89wca5qifs6kga9",
+ "diff": {
+ "name": "Psychic Hood"
+ },
+ "documentId": "qKIlaAhu9RZ63l1N",
+ "idType": "id",
+ "filters": []
+ },
+ {
+ "name": "Bolt Pistol",
+ "type": "item",
+ "id": "7za8qa72jedhuct9",
+ "diff": {
+ "name": "Bolt Pistol"
+ },
+ "documentId": "7b2xcPWBB7up65PM",
+ "idType": "id",
+ "filters": []
+ },
+ {
+ "name": "Force Stave",
+ "type": "item",
+ "id": "q3jc5brs0mr50azx",
+ "diff": {
+ "name": "Force Stave"
+ },
+ "documentId": "9vfkaU0vc61t7hKO",
+ "idType": "id",
+ "filters": []
+ },
+ {
+ "name": "Frag Grenades",
+ "type": "item",
+ "id": "lz6z45ef5goceln6",
+ "diff": {
+ "name": "Frag Grenades",
+ "data": {
+ "quantity": 3
+ }
+ },
+ "documentId": "oDG9YpSKSiSUFLIY",
+ "idType": "id",
+ "filters": []
+ },
+ {
+ "name": "Krak Grenades",
+ "type": "item",
+ "id": "xuev8a8qyfhywpzn",
+ "diff": {
+ "name": "Krak Grenades",
+ "data": {
+ "quantity": 3
+ }
+ },
+ "documentId": "SJ8UaYHEMtF71W1M",
+ "idType": "id",
+ "filters": []
+ }
+ ],
+ "freeItems": [
+ {
+ "id": "",
+ "name": "Nemesis Force Halberd"
+ },
+ {
+ "id": "",
+ "name": "Aegis Power Armour"
+ },
+ {
+ "id": "",
+ "name": "Grey Knight Armour Integrated Storm Bolter"
+ },
+ {
+ "id": "",
+ "name": "Aegis of Titan (Ability)"
+ },
+ {
+ "id": "",
+ "name": "Frag Grenade"
+ },
+ {
+ "id": "",
+ "name": "Krak Grenade"
+ },
+ {
+ "id": "",
+ "name": "Trinket (Chapter Relic Shard)"
+ }
+ ]
+ },
+ "suggested": {
+ "attributes": {
+ "strength": null,
+ "toughness": null,
+ "agility": null,
+ "initiative": null,
+ "willpower": null,
+ "intellect": null,
+ "fellowship": null
+ },
+ "skills": {
+ "athletics": null,
+ "awareness": null,
+ "ballisticSkill": null,
+ "cunning": null,
+ "deception": null,
+ "insight": null,
+ "intimidation": null,
+ "investigation": null,
+ "leadership": null,
+ "medicae": null,
+ "persuasion": null,
+ "pilot": null,
+ "psychicMastery": null,
+ "scholar": null,
+ "stealth": null,
+ "survival": null,
+ "tech": null,
+ "weaponSkill": null
+ },
+ "talents": {
+ "list": []
+ }
+ }
+ },
+ "_stats": {
+ "coreVersion": "13.347",
+ "systemId": "wrath-and-glory",
+ "systemVersion": "7.1.1",
+ "createdTime": 1755771384639,
+ "modifiedTime": 1755771384639,
+ "lastModifiedBy": "8fThFXcxV83JCCcX",
+ "exportSource": {
+ "worldId": "gilead-wandg",
+ "uuid": "Item.TCmE7YmUDUVQ3xoz",
+ "coreVersion": "13.347",
+ "systemId": "wrath-and-glory",
+ "systemVersion": "7.1.1"
+ }
+ },
+ "_id": "dIBKMWx91kuxC75q"
+ },
+ {
+ "name": "Aegis of Titan (Ability)",
+ "type": "ability",
+ "img": "icons/svg/aura.svg",
+ "_id": "vEJ99phUiKzQZe4D",
+ "effects": [
+ {
+ "_id": "LmBxbS0gVDershQ2",
+ "name": "Aegis of Titan — Innate Purity",
+ "icon": "icons/svg/aura.svg",
+ "origin": "",
+ "disabled": false,
+ "duration": {
+ "startTime": null
+ },
+ "changes": [
+ {
+ "key": "system.combat.resolve.bonus",
+ "mode": 2,
+ "value": 1,
+ "priority": 20
+ }
+ ],
+ "transfer": true,
+ "flags": {}
+ },
+ {
+ "_id": "MgPxyyENWwHiCb0L",
+ "name": "Aegis of Titan — Aegis Synergy",
+ "icon": "icons/svg/upgrade.svg",
+ "origin": "",
+ "disabled": true,
+ "duration": {
+ "startTime": null
+ },
+ "changes": [
+ {
+ "key": "system.combat.resolve.bonus",
+ "mode": 2,
+ "value": 1,
+ "priority": 20
+ }
+ ],
+ "transfer": true,
+ "flags": {}
+ }
+ ],
+ "flags": {
+ "core": {}
+ },
+ "system": {
+ "description": "Innate purity (+1 vs Corruption). While equipped with Aegis armour, enable Synergy for an additional +1 vs Corruption.",
+ "keywords": "IMPERIUM, ADEPTUS ASTARTES, GREY KNIGHTS, INQUISITION, DAEMONHUNTERS, ORDO MALLEUS"
+ },
+ "_stats": {
+ "coreVersion": "13.347",
+ "systemId": "wrath-and-glory",
+ "systemVersion": "7.1.1"
+ }
+ },
+ {
+ "name": "Nemesis Force Halberd",
+ "type": "weapon",
+ "img": "icons/svg/sword.svg",
+ "effects": [],
+ "flags": {
+ "wng-core": {
+ "initialization-folder": "Weapons",
+ "sort": 0
+ },
+ "core": {}
+ },
+ "system": {
+ "quantity": 1,
+ "rarity": "uncommon",
+ "description": "Force Staves are laced with a complex psy-matrix that allows them to act as a psychic battery, storing psychic energy that can be released with brutal efficiency.Nemesis: vs DAEMON/PSYKER: +1 ED (homebrew). Two‑Handed.
",
+ "value": 2,
+ "keywords": "IMPERIUM, ADEPTUS ASTARTES, GREY KNIGHTS, INQUISITION, DAEMONHUNTERS, ORDO MALLEUS, MELEE, FORCE",
+ "equipped": true,
+ "attack": {
+ "base": 0,
+ "bonus": 0,
+ "rank": "none"
+ },
+ "damage": {
+ "base": 4,
+ "bonus": 0,
+ "rank": 0,
+ "ap": {
+ "base": -1,
+ "bonus": 0,
+ "rank": 0
+ },
+ "ed": {
+ "base": 2,
+ "bonus": 0,
+ "rank": 0
+ },
+ "enabled": false,
+ "otherDamage": {
+ "mortal": "0",
+ "wounds": "0",
+ "shock": "0"
+ }
+ },
+ "ed": {
+ "base": 0,
+ "bonus": 0,
+ "rank": 0
+ },
+ "ap": {
+ "base": 0,
+ "bonus": 0,
+ "rank": 0
+ },
+ "category": "melee",
+ "range": {
+ "short": 0,
+ "medium": 0,
+ "long": 0,
+ "melee": 2,
+ "thrown": null
+ },
+ "ammo": {
+ "id": ""
+ },
+ "salvo": 0,
+ "traits": {
+ "list": [
+ {
+ "name": "brutal"
+ },
+ {
+ "name": "force"
+ },
+ {
+ "name": "twoHanded"
+ }
+ ]
+ },
+ "upgrades": [],
+ "otherDamage": {},
+ "combi": {},
+ "twinned": false
+ },
+ "_stats": {
+ "coreVersion": "13.347",
+ "systemId": "wrath-and-glory",
+ "systemVersion": "7.1.1",
+ "createdTime": 1755779931196,
+ "modifiedTime": 1755779931196,
+ "lastModifiedBy": "8fThFXcxV83JCCcX",
+ "exportSource": {
+ "worldId": "gilead-wandg",
+ "uuid": "Item.9vfkaU0vc61t7hKO",
+ "coreVersion": "13.347",
+ "systemId": "wrath-and-glory",
+ "systemVersion": "7.1.1"
+ }
+ },
+ "_id": "cA1XOMXuJsVcE5bJ"
+ },
+ {
+ "name": "Grey Knight Armour Integrated Storm Bolter",
+ "type": "weapon",
+ "img": "icons/svg/gun.svg",
+ "effects": [],
+ "flags": {
+ "wng-core": {
+ "initialization-folder": "Weapons",
+ "sort": 0
+ },
+ "core": {}
+ },
+ "system": {
+ "quantity": 1,
+ "rarity": "rare",
+ "description": "Integrated forearm storm bolter. Integrated: does not occupy hands; may fire while wielding two‑handed melee. Treat as Pistol for firing in melee.
",
+ "value": 4,
+ "keywords": "BOLT, INTEGRATED, IMPERIUM, ADEPTUS ASTARTES, GREY KNIGHTS, INQUISITION, DAEMONHUNTERS, ORDO MALLEUS",
+ "equipped": true,
+ "attack": {
+ "base": 0,
+ "bonus": 0,
+ "rank": "none"
+ },
+ "damage": {
+ "base": 10,
+ "bonus": 0,
+ "rank": 0,
+ "ed": {
+ "base": 2,
+ "bonus": 0,
+ "rank": 0
+ },
+ "ap": {
+ "base": 0,
+ "bonus": 0,
+ "rank": 0
+ },
+ "enabled": false,
+ "otherDamage": {
+ "mortal": "0",
+ "wounds": "0",
+ "shock": "0"
+ }
+ },
+ "ed": {
+ "base": 0,
+ "bonus": 0,
+ "rank": 0
+ },
+ "ap": {
+ "base": 0,
+ "bonus": 0,
+ "rank": 0
+ },
+ "category": "ranged",
+ "range": {
+ "short": 12,
+ "medium": 24,
+ "long": 36,
+ "melee": 1,
+ "thrown": null
+ },
+ "ammo": {
+ "id": ""
+ },
+ "salvo": 1,
+ "traits": {
+ "list": [
+ {
+ "name": "brutal"
+ },
+ {
+ "name": "pistol"
+ },
+ {
+ "name": "rapidFire",
+ "rating": "2"
+ }
+ ]
+ },
+ "upgrades": [],
+ "otherDamage": {},
+ "combi": {},
+ "twinned": false
+ },
+ "_stats": {
+ "coreVersion": "13.347",
+ "systemId": "wrath-and-glory",
+ "systemVersion": "7.1.1",
+ "createdTime": 1755779945407,
+ "modifiedTime": 1755779945407,
+ "lastModifiedBy": "8fThFXcxV83JCCcX",
+ "exportSource": {
+ "worldId": "gilead-wandg",
+ "uuid": "Item.Seza6hxnXhHInk8m",
+ "coreVersion": "13.347",
+ "systemId": "wrath-and-glory",
+ "systemVersion": "7.1.1"
+ }
+ },
+ "_id": "G9mDQXfWiPFffxKf"
+ },
+ {
+ "name": "Aegis Power Armour",
+ "type": "armour",
+ "img": "icons/svg/shield.svg",
+ "effects": [
+ {
+ "_id": "Fs1wyvBoGNpL5jbu",
+ "name": "Aegis Wards (Constant)",
+ "icon": "icons/svg/aura.svg",
+ "origin": "",
+ "disabled": false,
+ "duration": {
+ "startTime": null
+ },
+ "changes": [
+ {
+ "key": "system.skills.psychicMastery.bonus",
+ "mode": 2,
+ "value": 1,
+ "priority": 20
+ },
+ {
+ "key": "system.combat.resolve.bonus",
+ "mode": 2,
+ "value": 1,
+ "priority": 20
+ }
+ ],
+ "tint": null,
+ "transfer": true,
+ "flags": {}
+ },
+ {
+ "_id": "8pL8X7ldb71BUDt9",
+ "name": "Aegis Warding Runes (Toggle)",
+ "icon": "icons/svg/explosion.svg",
+ "origin": "",
+ "disabled": true,
+ "duration": {
+ "startTime": null
+ },
+ "changes": [
+ {
+ "key": "system.combat.resilience.bonus",
+ "mode": 2,
+ "value": 1,
+ "priority": 20
+ },
+ {
+ "key": "system.combat.defence.bonus",
+ "mode": 2,
+ "value": -1,
+ "priority": 20
+ }
+ ],
+ "tint": null,
+ "transfer": true,
+ "flags": {}
+ }
+ ],
+ "flags": {
+ "wng-core": {
+ "initialization-folder": "Armour",
+ "sort": 0
+ },
+ "core": {}
+ },
+ "system": {
+ "quantity": 1,
+ "rarity": "veryRare",
+ "description": "Grey Knights sanctified power armour with hexagrammic wards and storm bolter forearm mount.
- AR 5; Powered (3).
- Aegis (integrated): Constant: +1 die to Deny the Witch and +1 die to resist Corruption.
- Toggle (Action): Aegis Warding Runes — runes glow; +1 Resilience, −1 Defence (vs ranged).
",
+ "value": 9,
+ "keywords": "POWERED, IMPERIUM, ADEPTUS ASTARTES, GREY KNIGHTS, INQUISITION, DAEMONHUNTERS, ORDO MALLEUS",
+ "equipped": true,
+ "rating": 5,
+ "base": 0,
+ "traits": {
+ "list": [
+ {
+ "name": "powered",
+ "rating": "3"
+ }
+ ]
+ },
+ "invulnerable": false
+ },
+ "_stats": {
+ "coreVersion": "13.347",
+ "systemId": "wrath-and-glory",
+ "systemVersion": "7.1.1",
+ "createdTime": 1755779886550,
+ "modifiedTime": 1755779886550,
+ "lastModifiedBy": "8fThFXcxV83JCCcX",
+ "exportSource": {
+ "worldId": "gilead-wandg",
+ "uuid": "Item.sTGTpOfbIveLcFul",
+ "coreVersion": "13.347",
+ "systemId": "wrath-and-glory",
+ "systemVersion": "7.1.1"
+ }
+ },
+ "_id": "3x3vvss3lMQj9JAC"
+ },
+ {
+ "_id": "LvBusSMO6j2l9GBN",
+ "name": "Frag Grenade",
+ "type": "gear",
+ "img": "icons/svg/item-bag.svg",
+ "effects": [],
+ "flags": {
+ "core": {}
+ },
+ "system": {
+ "quantity": 1,
+ "rarity": "common",
+ "description": "",
+ "value": 0,
+ "keywords": ""
+ }
+ },
+ {
+ "_id": "vjM91rbBXNNZ9lUC",
+ "name": "Krak Grenade",
+ "type": "gear",
+ "img": "icons/svg/item-bag.svg",
+ "effects": [],
+ "flags": {
+ "core": {}
+ },
+ "system": {
+ "quantity": 1,
+ "rarity": "common",
+ "description": "",
+ "value": 0,
+ "keywords": ""
+ }
+ },
+ {
+ "_id": "RmBzhSRx6hOr5d2F",
+ "name": "Trinket (Chapter Relic Shard)",
+ "type": "gear",
+ "img": "icons/svg/item-bag.svg",
+ "effects": [],
+ "flags": {
+ "core": {}
+ },
+ "system": {
+ "quantity": 1,
+ "rarity": "common",
+ "description": "",
+ "value": 0,
+ "keywords": ""
+ }
+ }
+ ],
+ "effects": [
+ {
+ "name": "Locus of Fury",
+ "img": "modules/wng-core/assets/icons/talents/talent.webp",
+ "_id": "cEl52cY8IDHhY2SK",
+ "type": "base",
+ "system": {
+ "transferData": {
+ "type": "document",
+ "originalType": "document",
+ "documentType": "Actor",
+ "avoidTest": {
+ "value": "none",
+ "opposed": false,
+ "prevention": true,
+ "reversed": false
+ },
+ "testIndependent": false,
+ "equipTransfer": false,
+ "selfOnly": false,
+ "prompt": false,
+ "area": {
+ "templateData": {
+ "borderColor": null,
+ "fillColor": null,
+ "texture": null
+ },
+ "keep": false,
+ "aura": {
+ "transferred": false,
+ "render": false
+ },
+ "duration": "sustained",
+ "radius": "2"
+ },
+ "zone": {
+ "type": "zone",
+ "transferred": false,
+ "traits": {},
+ "skipImmediateOnPlacement": false,
+ "keep": false
+ },
+ "filter": "return this.actor.appliedEffects.find(i => i.name == this.effect.name);"
+ },
+ "itemTargetData": {
+ "ids": [],
+ "allItems": false
+ },
+ "scriptData": [
+ {
+ "script": "if (args.weapon?.system.isMelee)\n{\n\targs.result.text[this.effect.id] = {label : this.effect.name, description : \"May reroll 1s\"};\n}",
+ "label": "Roll Weapon",
+ "trigger": "rollWeaponTest",
+ "options": {
+ "targeter": false,
+ "deleteEffect": false,
+ "defending": false
+ },
+ "async": false
+ }
+ ],
+ "zone": {
+ "type": "zone",
+ "traits": {},
+ "skipImmediateOnPlacement": false
+ },
+ "sourceData": {
+ "test": {},
+ "item": "Scene.sZLjRwaoAx1qxFho.Token.x6mbo4zBaPPX7hr1.Actor.pOLQxCgUHAAEhfGX.Item.77qzfl7j20nrrfzd",
+ "area": "Scene.sZLjRwaoAx1qxFho.MeasuredTemplate.pg1Nrj3y8GDSgbVa"
+ }
+ },
+ "changes": [],
+ "disabled": false,
+ "duration": {
+ "startTime": 1293836976000,
+ "seconds": null,
+ "combat": null,
+ "rounds": null,
+ "turns": null,
+ "startRound": 1,
+ "startTurn": 1
+ },
+ "description": "",
+ "origin": "Scene.sZLjRwaoAx1qxFho.Token.x6mbo4zBaPPX7hr1.Actor.pOLQxCgUHAAEhfGX",
+ "tint": "#ffffff",
+ "transfer": false,
+ "statuses": [
+ "locus-of-fury"
+ ],
+ "sort": 0,
+ "flags": {
+ "wrath-and-glory": {
+ "manualEffectKeys": false
+ }
+ },
+ "_stats": {
+ "coreVersion": "13.347",
+ "systemId": "wrath-and-glory",
+ "systemVersion": "7.1.1",
+ "createdTime": 1755772134410,
+ "modifiedTime": 1755772134410,
+ "lastModifiedBy": "8fThFXcxV83JCCcX"
+ }
+ },
+ {
+ "statuses": [
+ "wounded"
+ ],
+ "name": "Wounded",
+ "img": "systems/wrath-and-glory/assets/icons/effects/wounded.svg",
+ "system": {
+ "scriptData": [
+ {
+ "trigger": "dialog",
+ "script": "args.fields.difficulty += 1",
+ "label": "+1 DN to all Tests",
+ "options": {
+ "activateScript": "return true;",
+ "targeter": false,
+ "defending": false,
+ "deleteEffect": false
+ },
+ "async": false
+ }
+ ],
+ "transferData": {
+ "type": "document",
+ "originalType": "document",
+ "documentType": "Actor",
+ "avoidTest": {
+ "value": "none",
+ "opposed": false,
+ "prevention": true,
+ "reversed": false
+ },
+ "testIndependent": false,
+ "equipTransfer": false,
+ "selfOnly": false,
+ "prompt": false,
+ "area": {
+ "templateData": {
+ "borderColor": null,
+ "fillColor": null,
+ "texture": null
+ },
+ "keep": false,
+ "aura": {
+ "transferred": false,
+ "render": false
+ },
+ "duration": "sustained"
+ },
+ "zone": {
+ "type": "zone",
+ "transferred": false,
+ "traits": {},
+ "skipImmediateOnPlacement": false,
+ "keep": false
+ }
+ },
+ "itemTargetData": {
+ "ids": [],
+ "allItems": false
+ },
+ "zone": {
+ "type": "zone",
+ "traits": {},
+ "skipImmediateOnPlacement": false
+ },
+ "sourceData": {
+ "test": {}
+ }
+ },
+ "flags": {},
+ "_id": "RLF3R4vroOZc4whR",
+ "type": "base",
+ "changes": [],
+ "disabled": false,
+ "duration": {
+ "startTime": 1293836976000,
+ "combat": null
+ },
+ "description": "",
+ "origin": null,
+ "tint": "#ffffff",
+ "transfer": false,
+ "sort": 0,
+ "_stats": {
+ "coreVersion": "13.347",
+ "systemId": "wrath-and-glory",
+ "systemVersion": "7.1.1",
+ "createdTime": 1755772178022,
+ "modifiedTime": 1755772178022,
+ "lastModifiedBy": "8fThFXcxV83JCCcX"
+ }
+ },
+ {
+ "statuses": [
+ "prone"
+ ],
+ "name": "Prone",
+ "img": "systems/wrath-and-glory/assets/icons/conditions/prone.svg",
+ "flags": {},
+ "_id": "qKffnfYrusJER2qd",
+ "type": "base",
+ "system": {
+ "transferData": {
+ "type": "document",
+ "originalType": "document",
+ "documentType": "Actor",
+ "avoidTest": {
+ "value": "none",
+ "opposed": false,
+ "prevention": true,
+ "reversed": false
+ },
+ "testIndependent": false,
+ "equipTransfer": false,
+ "selfOnly": false,
+ "prompt": false,
+ "area": {
+ "templateData": {
+ "borderColor": null,
+ "fillColor": null,
+ "texture": null
+ },
+ "keep": false,
+ "aura": {
+ "transferred": false,
+ "render": false
+ },
+ "duration": "sustained"
+ },
+ "zone": {
+ "type": "zone",
+ "transferred": false,
+ "traits": {},
+ "skipImmediateOnPlacement": false,
+ "keep": false
+ }
+ },
+ "itemTargetData": {
+ "ids": [],
+ "allItems": false
+ },
+ "scriptData": [],
+ "zone": {
+ "type": "zone",
+ "traits": {},
+ "skipImmediateOnPlacement": false
+ },
+ "sourceData": {
+ "test": {}
+ }
+ },
+ "changes": [],
+ "disabled": false,
+ "duration": {
+ "startTime": 1293836976000,
+ "combat": null
+ },
+ "description": "",
+ "origin": null,
+ "tint": "#ffffff",
+ "transfer": false,
+ "sort": 0,
+ "_stats": {
+ "coreVersion": "13.347",
+ "systemId": "wrath-and-glory",
+ "systemVersion": "7.1.1",
+ "createdTime": 1755772194710,
+ "modifiedTime": 1755772194710,
+ "lastModifiedBy": "8fThFXcxV83JCCcX"
+ }
+ },
+ {
+ "statuses": [
+ "dying"
+ ],
+ "name": "Dying",
+ "img": "systems/wrath-and-glory/assets/icons/effects/dying.svg",
+ "system": {
+ "scriptData": [
+ {
+ "label": "Extra Wrath Die",
+ "script": "args.fields.wrath++;",
+ "trigger": "dialog",
+ "options": {
+ "activateScript": "return true;",
+ "targeter": false,
+ "defending": false,
+ "deleteEffect": false
+ },
+ "async": false
+ }
+ ],
+ "transferData": {
+ "type": "document",
+ "originalType": "document",
+ "documentType": "Actor",
+ "avoidTest": {
+ "value": "none",
+ "opposed": false,
+ "prevention": true,
+ "reversed": false
+ },
+ "testIndependent": false,
+ "equipTransfer": false,
+ "selfOnly": false,
+ "prompt": false,
+ "area": {
+ "templateData": {
+ "borderColor": null,
+ "fillColor": null,
+ "texture": null
+ },
+ "keep": false,
+ "aura": {
+ "transferred": false,
+ "render": false
+ },
+ "duration": "sustained"
+ },
+ "zone": {
+ "type": "zone",
+ "transferred": false,
+ "traits": {},
+ "skipImmediateOnPlacement": false,
+ "keep": false
+ }
+ },
+ "itemTargetData": {
+ "ids": [],
+ "allItems": false
+ },
+ "zone": {
+ "type": "zone",
+ "traits": {},
+ "skipImmediateOnPlacement": false
+ },
+ "sourceData": {
+ "test": {}
+ }
+ },
+ "flags": {},
+ "_id": "3JAyyplDcT4eN4vY",
+ "type": "base",
+ "changes": [],
+ "disabled": false,
+ "duration": {
+ "startTime": 1293836976000,
+ "combat": null
+ },
+ "description": "",
+ "origin": null,
+ "tint": "#ffffff",
+ "transfer": false,
+ "sort": 0,
+ "_stats": {
+ "coreVersion": "13.347",
+ "systemId": "wrath-and-glory",
+ "systemVersion": "7.1.1",
+ "createdTime": 1755772195017,
+ "modifiedTime": 1755772195017,
+ "lastModifiedBy": "8fThFXcxV83JCCcX"
+ }
+ }
+ ],
+ "folder": null,
+ "flags": {},
+ "_stats": {
+ "coreVersion": "13.347",
+ "systemId": "wrath-and-glory",
+ "systemVersion": "7.1.1",
+ "createdTime": 1755210527459,
+ "modifiedTime": 1755779824756,
+ "lastModifiedBy": "8fThFXcxV83JCCcX",
+ "exportSource": {
+ "worldId": "gilead-wandg",
+ "uuid": "Actor.7dDQIJwkjh6UI1xY",
+ "coreVersion": "13.347",
+ "systemId": "wrath-and-glory",
+ "systemVersion": "7.1.1"
+ }
+ },
+ "_id": "KsXTkqySfV74fRGB"
+}
\ No newline at end of file
diff --git a/wg-greyknights/foundry/actors/gk-terminator.json b/wg-greyknights/foundry/actors/gk-terminator.json
new file mode 100644
index 0000000..a509ec5
--- /dev/null
+++ b/wg-greyknights/foundry/actors/gk-terminator.json
@@ -0,0 +1,1527 @@
+{
+ "name": "GK – Terminator (Wrath & Glory)",
+ "type": "agent",
+ "img": "modules/wng-core/assets/tokens/adeptus-astartes.webp",
+ "system": {
+ "attributes": {
+ "strength": {
+ "label": "ATTRIBUTE.STRENGTH",
+ "rating": 0,
+ "base": 5,
+ "bonus": 0,
+ "cost": 0,
+ "total": 0
+ },
+ "toughness": {
+ "label": "ATTRIBUTE.TOUGHNESS",
+ "rating": 0,
+ "base": 5,
+ "bonus": 0,
+ "cost": 0,
+ "total": 0
+ },
+ "agility": {
+ "label": "ATTRIBUTE.AGILITY",
+ "rating": 0,
+ "base": 5,
+ "bonus": 0,
+ "cost": 0,
+ "total": 0
+ },
+ "initiative": {
+ "label": "ATTRIBUTE.INITIATIVE",
+ "rating": 0,
+ "base": 5,
+ "bonus": 0,
+ "cost": 0,
+ "total": 0
+ },
+ "willpower": {
+ "label": "ATTRIBUTE.WILLPOWER",
+ "rating": 0,
+ "base": 6,
+ "bonus": 0,
+ "cost": 0,
+ "total": 0
+ },
+ "intellect": {
+ "label": "ATTRIBUTE.INTELLECT",
+ "rating": 0,
+ "base": 3,
+ "bonus": 0,
+ "cost": 0,
+ "total": 0
+ },
+ "fellowship": {
+ "label": "ATTRIBUTE.FELLOWSHIP",
+ "rating": 0,
+ "base": 1,
+ "bonus": 0,
+ "cost": 0,
+ "total": 0
+ }
+ },
+ "skills": {
+ "athletics": {
+ "label": "SKILL.ATHLETICS",
+ "attribute": "strength",
+ "rating": 0,
+ "base": 3,
+ "bonus": 0,
+ "cost": 0,
+ "total": 0
+ },
+ "awareness": {
+ "label": "SKILL.AWARENESS",
+ "attribute": "intellect",
+ "rating": 0,
+ "base": 3,
+ "bonus": 0,
+ "cost": 0,
+ "total": 0
+ },
+ "ballisticSkill": {
+ "label": "SKILL.BALLISTIC_SKILL",
+ "attribute": "agility",
+ "rating": 1,
+ "base": 5,
+ "bonus": 0,
+ "cost": 0,
+ "total": 0
+ },
+ "cunning": {
+ "label": "SKILL.CUNNING",
+ "attribute": "fellowship",
+ "rating": 1,
+ "base": 0,
+ "bonus": 0,
+ "cost": 0,
+ "total": 0
+ },
+ "deception": {
+ "label": "SKILL.DECEPTION",
+ "attribute": "fellowship",
+ "rating": 4,
+ "base": 0,
+ "bonus": 0,
+ "cost": 0,
+ "total": 0
+ },
+ "insight": {
+ "label": "SKILL.INSIGHT",
+ "attribute": "fellowship",
+ "rating": 2,
+ "base": 0,
+ "bonus": 0,
+ "cost": 0,
+ "total": 0
+ },
+ "intimidation": {
+ "label": "SKILL.INTIMIDATION",
+ "attribute": "willpower",
+ "rating": 0,
+ "base": 0,
+ "bonus": 0,
+ "cost": 0,
+ "total": 0
+ },
+ "investigation": {
+ "label": "SKILL.INVESTIGATION",
+ "attribute": "intellect",
+ "rating": 0,
+ "base": 0,
+ "bonus": 0,
+ "cost": 0,
+ "total": 0
+ },
+ "leadership": {
+ "label": "SKILL.LEADERSHIP",
+ "attribute": "willpower",
+ "rating": 0,
+ "base": 0,
+ "bonus": 0,
+ "cost": 0,
+ "total": 0
+ },
+ "medicae": {
+ "label": "SKILL.MEDICAE",
+ "attribute": "intellect",
+ "rating": 0,
+ "base": 0,
+ "bonus": 0,
+ "cost": 0,
+ "total": 0
+ },
+ "persuasion": {
+ "label": "SKILL.PERSUASION",
+ "attribute": "fellowship",
+ "rating": 0,
+ "base": 0,
+ "bonus": 0,
+ "cost": 0,
+ "total": 0
+ },
+ "pilot": {
+ "label": "SKILL.PILOT",
+ "attribute": "agility",
+ "rating": 0,
+ "base": 0,
+ "bonus": 0,
+ "cost": 0,
+ "total": 0
+ },
+ "psychicMastery": {
+ "label": "SKILL.PSYCHIC_MASTERY",
+ "attribute": "willpower",
+ "rating": 0,
+ "base": 4,
+ "bonus": 0,
+ "cost": 0,
+ "total": 0
+ },
+ "scholar": {
+ "label": "SKILL.SCHOLAR",
+ "attribute": "intellect",
+ "rating": 0,
+ "base": 2,
+ "bonus": 0,
+ "cost": 0,
+ "total": 0
+ },
+ "stealth": {
+ "label": "SKILL.STEALTH",
+ "attribute": "agility",
+ "rating": 0,
+ "base": 3,
+ "bonus": 0,
+ "cost": 0,
+ "total": 0
+ },
+ "survival": {
+ "label": "SKILL.SURVIVAL",
+ "attribute": "willpower",
+ "rating": 0,
+ "base": 1,
+ "bonus": 0,
+ "cost": 0,
+ "total": 0
+ },
+ "tech": {
+ "label": "SKILL.TECH",
+ "attribute": "intellect",
+ "rating": 0,
+ "base": 0,
+ "bonus": 0,
+ "cost": 0,
+ "total": 0
+ },
+ "weaponSkill": {
+ "label": "SKILL.WEAPON_SKILL",
+ "attribute": "initiative",
+ "rating": 0,
+ "base": 5,
+ "bonus": 0,
+ "cost": 0,
+ "total": 0
+ }
+ },
+ "combat": {
+ "defence": {
+ "bonus": 0,
+ "total": 0
+ },
+ "resilience": {
+ "bonus": 0,
+ "total": 0
+ },
+ "wounds": {
+ "value": 13,
+ "bonus": 0,
+ "max": 0
+ },
+ "determination": {
+ "bonus": 0,
+ "total": 0,
+ "attribute": "toughness"
+ },
+ "shock": {
+ "value": 0,
+ "bonus": 0,
+ "max": 0
+ },
+ "resolve": {
+ "bonus": 0,
+ "total": 0
+ },
+ "conviction": {
+ "bonus": 0,
+ "total": 0
+ },
+ "size": "average",
+ "speed": 7,
+ "fly": 0,
+ "passiveAwareness": {
+ "bonus": 0,
+ "total": 0
+ },
+ "stealth": 0
+ },
+ "bio": {
+ "species": "",
+ "faction": "",
+ "archetype": "",
+ "quote": "",
+ "height": "",
+ "eye": "",
+ "hair": "",
+ "origin": "Aggression and fury fuelled your Aspirant trials. You overcame every challenger with bloody-minded savagery, impressing your betters.",
+ "accomplishment": "You zealously shouldered a personal responsibility to destroy a particular foe; your chapter has given you leave to continue your grim work.",
+ "goal": "You uphold the Chapter’s valour, quick to extoll its virtues, never allowing a slight against your battle-brothers to go unanswered.",
+ "objective": ""
+ },
+ "advances": {
+ "tier": 4,
+ "rank": 1
+ },
+ "experience": {
+ "current": 0,
+ "spent": 0,
+ "total": 400
+ },
+ "resources": {
+ "wrath": 2,
+ "faith": {
+ "current": 0,
+ "total": 0
+ },
+ "wealth": 0,
+ "influence": 2
+ },
+ "corruption": {
+ "current": 0
+ },
+ "notes": "",
+ "species": {
+ "uuid": "Actor.7dDQIJwkjh6UI1xY.Item.bopuSa837xwn9Wf2",
+ "id": "bopuSa837xwn9Wf2",
+ "name": "Adeptus Astartes"
+ },
+ "faction": {
+ "uuid": "Actor.7dDQIJwkjh6UI1xY.Item.AkRz86k0vGqjwhd8",
+ "id": "AkRz86k0vGqjwhd8",
+ "name": "Adeptus Astartes"
+ },
+ "archetype": {
+ "uuid": "Actor.7dDQIJwkjh6UI1xY.Item.K2u0Jig6jcIPAMrt",
+ "id": "K2u0Jig6jcIPAMrt",
+ "name": "Astartes Librarian"
+ },
+ "settings": {
+ "generateMetaCurrencies": true,
+ "autoCalc": {
+ "defence": true,
+ "resilience": true,
+ "shock": true,
+ "awareness": true,
+ "resolve": true,
+ "determination": true,
+ "wounds": true,
+ "conviction": true
+ }
+ }
+ },
+ "prototypeToken": {
+ "name": "Agent",
+ "displayName": 20,
+ "actorLink": true,
+ "width": 1,
+ "height": 1,
+ "texture": {
+ "src": "modules/wng-core/assets/tokens/generic.webp",
+ "anchorX": 0.5,
+ "anchorY": 0.5,
+ "offsetX": 0,
+ "offsetY": 0,
+ "fit": "contain",
+ "scaleX": 1,
+ "scaleY": 1,
+ "rotation": 0,
+ "tint": "#ffffff",
+ "alphaThreshold": 0.75
+ },
+ "lockRotation": false,
+ "rotation": 0,
+ "alpha": 1,
+ "disposition": 0,
+ "displayBars": 20,
+ "bar1": {
+ "attribute": "combat.wounds"
+ },
+ "bar2": {
+ "attribute": "combat.shock"
+ },
+ "light": {
+ "negative": false,
+ "priority": 0,
+ "alpha": 0.5,
+ "angle": 360,
+ "bright": 0,
+ "color": null,
+ "coloration": 1,
+ "dim": 0,
+ "attenuation": 0.5,
+ "luminosity": 0.5,
+ "saturation": 0,
+ "contrast": 0,
+ "shadows": 0,
+ "animation": {
+ "type": null,
+ "speed": 5,
+ "intensity": 5,
+ "reverse": false
+ },
+ "darkness": {
+ "min": 0,
+ "max": 1
+ }
+ },
+ "sight": {
+ "enabled": true,
+ "range": 0,
+ "angle": 360,
+ "visionMode": "basic",
+ "color": null,
+ "attenuation": 0.1,
+ "brightness": 0,
+ "saturation": 0,
+ "contrast": 0
+ },
+ "detectionModes": [],
+ "occludable": {
+ "radius": 0
+ },
+ "ring": {
+ "enabled": false,
+ "colors": {
+ "ring": null,
+ "background": null
+ },
+ "effects": 1,
+ "subject": {
+ "scale": 1,
+ "texture": null
+ }
+ },
+ "turnMarker": {
+ "mode": 1,
+ "animation": null,
+ "src": null,
+ "disposition": false
+ },
+ "movementAction": null,
+ "flags": {},
+ "randomImg": false,
+ "appendNumber": false,
+ "prependAdjective": false
+ },
+ "items": [
+ {
+ "name": "Grey Knight (Archetype)",
+ "type": "archetype",
+ "img": "icons/svg/book.svg",
+ "effects": [
+ {
+ "_id": "fBWPUvO94QWfD9gP",
+ "name": "Aegis of Titan — Innate Purity",
+ "icon": "icons/svg/aura.svg",
+ "origin": "",
+ "disabled": false,
+ "duration": {
+ "startTime": null
+ },
+ "changes": [
+ {
+ "key": "system.combat.resolve.bonus",
+ "mode": 2,
+ "value": 1,
+ "priority": 20
+ }
+ ],
+ "transfer": true,
+ "flags": {}
+ }
+ ],
+ "flags": {
+ "wng-forsaken": {
+ "initialization-folder": "Archetypes",
+ "sort": 0
+ },
+ "core": {}
+ },
+ "system": {
+ "tier": 4,
+ "journal": "DMmW708Q5AQvQfuy",
+ "species": {
+ "name": "Adeptus Astartes",
+ "id": "KpwHo0A92bR7iVMB"
+ },
+ "faction": {
+ "name": "Adeptus Astartes",
+ "id": "CN5E9Z5GqfiR1MDn"
+ },
+ "influence": 2,
+ "cost": 359,
+ "keywords": [
+ "IMPERIUM",
+ "ADEPTUS ASTARTES",
+ "GREY KNIGHTS",
+ "INQUISITION",
+ "DAEMONHUNTERS",
+ "ORDO MALLEUS"
+ ],
+ "attributes": {
+ "strength": 5,
+ "toughness": 5,
+ "agility": 5,
+ "initiative": 5,
+ "willpower": 6,
+ "intellect": 3,
+ "fellowship": null
+ },
+ "skills": {
+ "athletics": 3,
+ "awareness": 3,
+ "ballisticSkill": 5,
+ "cunning": null,
+ "deception": null,
+ "insight": null,
+ "intimidation": null,
+ "investigation": null,
+ "leadership": null,
+ "medicae": null,
+ "persuasion": null,
+ "pilot": null,
+ "psychicMastery": 4,
+ "scholar": 2,
+ "stealth": 3,
+ "survival": 1,
+ "tech": null,
+ "weaponSkill": 5
+ },
+ "ability": {
+ "id": "",
+ "name": "Aegis of Titan",
+ "description": "Innate Purity: +1 vs Corruption. Aegis Synergy: +1 vs Corruption while equipped with Aegis armour. Re-roll 1 die on Deny the Witch each round."
+ },
+ "wargear": {
+ "structure": {
+ "type": "and",
+ "groupId": "root",
+ "id": "root",
+ "options": [
+ {
+ "type": "option",
+ "index": 0,
+ "groupId": "cj0fha0grf41pcv4",
+ "id": "cj0fha0grf41pcv4"
+ },
+ {
+ "type": "option",
+ "index": 1,
+ "groupId": "a89wca5qifs6kga9",
+ "id": "a89wca5qifs6kga9"
+ },
+ {
+ "type": "option",
+ "index": 2,
+ "groupId": "7za8qa72jedhuct9",
+ "id": "7za8qa72jedhuct9"
+ },
+ {
+ "type": "option",
+ "index": 3,
+ "groupId": "q3jc5brs0mr50azx",
+ "id": "q3jc5brs0mr50azx"
+ },
+ {
+ "type": "option",
+ "index": 4,
+ "groupId": "lz6z45ef5goceln6",
+ "id": "lz6z45ef5goceln6"
+ },
+ {
+ "type": "option",
+ "index": 5,
+ "groupId": "xuev8a8qyfhywpzn",
+ "id": "xuev8a8qyfhywpzn"
+ }
+ ]
+ },
+ "options": [
+ {
+ "name": "Mk VII Astartes Power Armour",
+ "type": "item",
+ "id": "cj0fha0grf41pcv4",
+ "diff": {
+ "name": "Mk VII Astartes Power Armour"
+ },
+ "documentId": "7Bp1rDIfKEB2MB9N",
+ "idType": "id",
+ "filters": []
+ },
+ {
+ "name": "Psychic Hood",
+ "type": "item",
+ "id": "a89wca5qifs6kga9",
+ "diff": {
+ "name": "Psychic Hood"
+ },
+ "documentId": "qKIlaAhu9RZ63l1N",
+ "idType": "id",
+ "filters": []
+ },
+ {
+ "name": "Bolt Pistol",
+ "type": "item",
+ "id": "7za8qa72jedhuct9",
+ "diff": {
+ "name": "Bolt Pistol"
+ },
+ "documentId": "7b2xcPWBB7up65PM",
+ "idType": "id",
+ "filters": []
+ },
+ {
+ "name": "Force Stave",
+ "type": "item",
+ "id": "q3jc5brs0mr50azx",
+ "diff": {
+ "name": "Force Stave"
+ },
+ "documentId": "9vfkaU0vc61t7hKO",
+ "idType": "id",
+ "filters": []
+ },
+ {
+ "name": "Frag Grenades",
+ "type": "item",
+ "id": "lz6z45ef5goceln6",
+ "diff": {
+ "name": "Frag Grenades",
+ "data": {
+ "quantity": 3
+ }
+ },
+ "documentId": "oDG9YpSKSiSUFLIY",
+ "idType": "id",
+ "filters": []
+ },
+ {
+ "name": "Krak Grenades",
+ "type": "item",
+ "id": "xuev8a8qyfhywpzn",
+ "diff": {
+ "name": "Krak Grenades",
+ "data": {
+ "quantity": 3
+ }
+ },
+ "documentId": "SJ8UaYHEMtF71W1M",
+ "idType": "id",
+ "filters": []
+ }
+ ],
+ "freeItems": [
+ {
+ "id": "",
+ "name": "Nemesis Force Halberd"
+ },
+ {
+ "id": "",
+ "name": "Aegis Power Armour"
+ },
+ {
+ "id": "",
+ "name": "Grey Knight Armour Integrated Storm Bolter"
+ },
+ {
+ "id": "",
+ "name": "Aegis of Titan (Ability)"
+ },
+ {
+ "id": "",
+ "name": "Frag Grenade"
+ },
+ {
+ "id": "",
+ "name": "Krak Grenade"
+ },
+ {
+ "id": "",
+ "name": "Trinket (Chapter Relic Shard)"
+ }
+ ]
+ },
+ "suggested": {
+ "attributes": {
+ "strength": null,
+ "toughness": null,
+ "agility": null,
+ "initiative": null,
+ "willpower": null,
+ "intellect": null,
+ "fellowship": null
+ },
+ "skills": {
+ "athletics": null,
+ "awareness": null,
+ "ballisticSkill": null,
+ "cunning": null,
+ "deception": null,
+ "insight": null,
+ "intimidation": null,
+ "investigation": null,
+ "leadership": null,
+ "medicae": null,
+ "persuasion": null,
+ "pilot": null,
+ "psychicMastery": null,
+ "scholar": null,
+ "stealth": null,
+ "survival": null,
+ "tech": null,
+ "weaponSkill": null
+ },
+ "talents": {
+ "list": []
+ }
+ }
+ },
+ "_stats": {
+ "coreVersion": "13.347",
+ "systemId": "wrath-and-glory",
+ "systemVersion": "7.1.1",
+ "createdTime": 1755771384639,
+ "modifiedTime": 1755771384639,
+ "lastModifiedBy": "8fThFXcxV83JCCcX",
+ "exportSource": {
+ "worldId": "gilead-wandg",
+ "uuid": "Item.TCmE7YmUDUVQ3xoz",
+ "coreVersion": "13.347",
+ "systemId": "wrath-and-glory",
+ "systemVersion": "7.1.1"
+ }
+ },
+ "_id": "zpibVBqNq3NZjaxa"
+ },
+ {
+ "name": "Aegis of Titan (Ability)",
+ "type": "ability",
+ "img": "icons/svg/aura.svg",
+ "_id": "9Gh0cRyzo8y9mpkU",
+ "effects": [
+ {
+ "_id": "2dLV8WWlti4lWYam",
+ "name": "Aegis of Titan — Innate Purity",
+ "icon": "icons/svg/aura.svg",
+ "origin": "",
+ "disabled": false,
+ "duration": {
+ "startTime": null
+ },
+ "changes": [
+ {
+ "key": "system.combat.resolve.bonus",
+ "mode": 2,
+ "value": 1,
+ "priority": 20
+ }
+ ],
+ "transfer": true,
+ "flags": {}
+ },
+ {
+ "_id": "zKc9otfZ6urxV7rX",
+ "name": "Aegis of Titan — Aegis Synergy",
+ "icon": "icons/svg/upgrade.svg",
+ "origin": "",
+ "disabled": true,
+ "duration": {
+ "startTime": null
+ },
+ "changes": [
+ {
+ "key": "system.combat.resolve.bonus",
+ "mode": 2,
+ "value": 1,
+ "priority": 20
+ }
+ ],
+ "transfer": true,
+ "flags": {}
+ }
+ ],
+ "flags": {
+ "core": {}
+ },
+ "system": {
+ "description": "Innate purity (+1 vs Corruption). While equipped with Aegis armour, enable Synergy for an additional +1 vs Corruption.",
+ "keywords": "IMPERIUM, ADEPTUS ASTARTES, GREY KNIGHTS, INQUISITION, DAEMONHUNTERS, ORDO MALLEUS"
+ },
+ "_stats": {
+ "coreVersion": "13.347",
+ "systemId": "wrath-and-glory",
+ "systemVersion": "7.1.1"
+ }
+ },
+ {
+ "name": "Nemesis Force Halberd",
+ "type": "weapon",
+ "img": "icons/svg/sword.svg",
+ "effects": [],
+ "flags": {
+ "wng-core": {
+ "initialization-folder": "Weapons",
+ "sort": 0
+ },
+ "core": {}
+ },
+ "system": {
+ "quantity": 1,
+ "rarity": "uncommon",
+ "description": "Force Staves are laced with a complex psy-matrix that allows them to act as a psychic battery, storing psychic energy that can be released with brutal efficiency.Nemesis: vs DAEMON/PSYKER: +1 ED (homebrew). Two‑Handed.
",
+ "value": 2,
+ "keywords": "IMPERIUM, ADEPTUS ASTARTES, GREY KNIGHTS, INQUISITION, DAEMONHUNTERS, ORDO MALLEUS, MELEE, FORCE",
+ "equipped": true,
+ "attack": {
+ "base": 0,
+ "bonus": 0,
+ "rank": "none"
+ },
+ "damage": {
+ "base": 4,
+ "bonus": 0,
+ "rank": 0,
+ "ap": {
+ "base": -1,
+ "bonus": 0,
+ "rank": 0
+ },
+ "ed": {
+ "base": 2,
+ "bonus": 0,
+ "rank": 0
+ },
+ "enabled": false,
+ "otherDamage": {
+ "mortal": "0",
+ "wounds": "0",
+ "shock": "0"
+ }
+ },
+ "ed": {
+ "base": 0,
+ "bonus": 0,
+ "rank": 0
+ },
+ "ap": {
+ "base": 0,
+ "bonus": 0,
+ "rank": 0
+ },
+ "category": "melee",
+ "range": {
+ "short": 0,
+ "medium": 0,
+ "long": 0,
+ "melee": 2,
+ "thrown": null
+ },
+ "ammo": {
+ "id": ""
+ },
+ "salvo": 0,
+ "traits": {
+ "list": [
+ {
+ "name": "brutal"
+ },
+ {
+ "name": "force"
+ },
+ {
+ "name": "twoHanded"
+ }
+ ]
+ },
+ "upgrades": [],
+ "otherDamage": {},
+ "combi": {},
+ "twinned": false
+ },
+ "_stats": {
+ "coreVersion": "13.347",
+ "systemId": "wrath-and-glory",
+ "systemVersion": "7.1.1",
+ "createdTime": 1755779931196,
+ "modifiedTime": 1755779931196,
+ "lastModifiedBy": "8fThFXcxV83JCCcX",
+ "exportSource": {
+ "worldId": "gilead-wandg",
+ "uuid": "Item.9vfkaU0vc61t7hKO",
+ "coreVersion": "13.347",
+ "systemId": "wrath-and-glory",
+ "systemVersion": "7.1.1"
+ }
+ },
+ "_id": "Q66ABZYqDsgSc9Pc"
+ },
+ {
+ "name": "Grey Knight Armour Integrated Storm Bolter",
+ "type": "weapon",
+ "img": "icons/svg/gun.svg",
+ "effects": [],
+ "flags": {
+ "wng-core": {
+ "initialization-folder": "Weapons",
+ "sort": 0
+ },
+ "core": {}
+ },
+ "system": {
+ "quantity": 1,
+ "rarity": "rare",
+ "description": "Integrated forearm storm bolter. Integrated: does not occupy hands; may fire while wielding two‑handed melee. Treat as Pistol for firing in melee.
",
+ "value": 4,
+ "keywords": "BOLT, INTEGRATED, IMPERIUM, ADEPTUS ASTARTES, GREY KNIGHTS, INQUISITION, DAEMONHUNTERS, ORDO MALLEUS",
+ "equipped": true,
+ "attack": {
+ "base": 0,
+ "bonus": 0,
+ "rank": "none"
+ },
+ "damage": {
+ "base": 10,
+ "bonus": 0,
+ "rank": 0,
+ "ed": {
+ "base": 2,
+ "bonus": 0,
+ "rank": 0
+ },
+ "ap": {
+ "base": 0,
+ "bonus": 0,
+ "rank": 0
+ },
+ "enabled": false,
+ "otherDamage": {
+ "mortal": "0",
+ "wounds": "0",
+ "shock": "0"
+ }
+ },
+ "ed": {
+ "base": 0,
+ "bonus": 0,
+ "rank": 0
+ },
+ "ap": {
+ "base": 0,
+ "bonus": 0,
+ "rank": 0
+ },
+ "category": "ranged",
+ "range": {
+ "short": 12,
+ "medium": 24,
+ "long": 36,
+ "melee": 1,
+ "thrown": null
+ },
+ "ammo": {
+ "id": ""
+ },
+ "salvo": 1,
+ "traits": {
+ "list": [
+ {
+ "name": "brutal"
+ },
+ {
+ "name": "pistol"
+ },
+ {
+ "name": "rapidFire",
+ "rating": "2"
+ }
+ ]
+ },
+ "upgrades": [],
+ "otherDamage": {},
+ "combi": {},
+ "twinned": false
+ },
+ "_stats": {
+ "coreVersion": "13.347",
+ "systemId": "wrath-and-glory",
+ "systemVersion": "7.1.1",
+ "createdTime": 1755779945407,
+ "modifiedTime": 1755779945407,
+ "lastModifiedBy": "8fThFXcxV83JCCcX",
+ "exportSource": {
+ "worldId": "gilead-wandg",
+ "uuid": "Item.Seza6hxnXhHInk8m",
+ "coreVersion": "13.347",
+ "systemId": "wrath-and-glory",
+ "systemVersion": "7.1.1"
+ }
+ },
+ "_id": "lBLbj0fFkDPlJBon"
+ },
+ {
+ "name": "Terminator Aegis (Grey Knights)",
+ "type": "armour",
+ "img": "icons/svg/tower.svg",
+ "effects": [
+ {
+ "_id": "Ty91VXRF6l6S4G1K",
+ "name": "Aegis Wards (Constant)",
+ "icon": "icons/svg/aura.svg",
+ "origin": "",
+ "disabled": false,
+ "duration": {
+ "startTime": null
+ },
+ "changes": [
+ {
+ "key": "system.skills.psychicMastery.bonus",
+ "mode": 2,
+ "value": 1,
+ "priority": 20
+ },
+ {
+ "key": "system.combat.resolve.bonus",
+ "mode": 2,
+ "value": 1,
+ "priority": 20
+ }
+ ],
+ "tint": null,
+ "transfer": true,
+ "flags": {}
+ },
+ {
+ "_id": "Gl4woU0oYBKVQv8w",
+ "name": "Aegis Warding Runes (Toggle)",
+ "icon": "icons/svg/explosion.svg",
+ "origin": "",
+ "disabled": true,
+ "duration": {
+ "startTime": null
+ },
+ "changes": [
+ {
+ "key": "system.combat.resilience.bonus",
+ "mode": 2,
+ "value": 1,
+ "priority": 20
+ },
+ {
+ "key": "system.combat.defence.bonus",
+ "mode": 2,
+ "value": -1,
+ "priority": 20
+ }
+ ],
+ "tint": null,
+ "transfer": true,
+ "flags": {}
+ }
+ ],
+ "flags": {
+ "wng-core": {
+ "initialization-folder": "Armour",
+ "sort": 0
+ },
+ "core": {}
+ },
+ "system": {
+ "quantity": 1,
+ "rarity": "artifact",
+ "description": "Grey Knights Tactical Dreadnought armour with Aegis wards and storm bolter hard‑mount.
- AR 7; Powered (4); Cumbersome; counts as Large while worn.
- Aegis (integrated): Constant: +1 die to Deny the Witch and +1 die to resist Corruption.
- Toggle (Action): Aegis Warding Runes — +1 Resilience, −1 Defence (vs ranged).
",
+ "value": 10,
+ "keywords": "POWERED, IMPERIUM, ADEPTUS ASTARTES, GREY KNIGHTS, INQUISITION, DAEMONHUNTERS, ORDO MALLEUS",
+ "equipped": true,
+ "rating": 7,
+ "base": 0,
+ "traits": {
+ "list": [
+ {
+ "name": "cumbersome"
+ },
+ {
+ "name": "powered",
+ "rating": "4"
+ }
+ ]
+ },
+ "invulnerable": false
+ },
+ "_stats": {
+ "coreVersion": "13.347",
+ "systemId": "wrath-and-glory",
+ "systemVersion": "7.1.1",
+ "createdTime": 1755779886550,
+ "modifiedTime": 1755779886550,
+ "lastModifiedBy": "8fThFXcxV83JCCcX",
+ "exportSource": {
+ "worldId": "gilead-wandg",
+ "uuid": "Item.sTGTpOfbIveLcFul",
+ "coreVersion": "13.347",
+ "systemId": "wrath-and-glory",
+ "systemVersion": "7.1.1"
+ }
+ },
+ "_id": "izMez0oUaAms8SPt"
+ },
+ {
+ "_id": "SGPS0jsS22dlT7LA",
+ "name": "Frag Grenade",
+ "type": "gear",
+ "img": "icons/svg/item-bag.svg",
+ "effects": [],
+ "flags": {
+ "core": {}
+ },
+ "system": {
+ "quantity": 1,
+ "rarity": "common",
+ "description": "",
+ "value": 0,
+ "keywords": ""
+ }
+ },
+ {
+ "_id": "KDyKAQ06KFHGTS0d",
+ "name": "Krak Grenade",
+ "type": "gear",
+ "img": "icons/svg/item-bag.svg",
+ "effects": [],
+ "flags": {
+ "core": {}
+ },
+ "system": {
+ "quantity": 1,
+ "rarity": "common",
+ "description": "",
+ "value": 0,
+ "keywords": ""
+ }
+ },
+ {
+ "_id": "yNxMHvATQDJHg4W1",
+ "name": "Trinket (Chapter Relic Shard)",
+ "type": "gear",
+ "img": "icons/svg/item-bag.svg",
+ "effects": [],
+ "flags": {
+ "core": {}
+ },
+ "system": {
+ "quantity": 1,
+ "rarity": "common",
+ "description": "",
+ "value": 0,
+ "keywords": ""
+ }
+ }
+ ],
+ "effects": [
+ {
+ "name": "Locus of Fury",
+ "img": "modules/wng-core/assets/icons/talents/talent.webp",
+ "_id": "cEl52cY8IDHhY2SK",
+ "type": "base",
+ "system": {
+ "transferData": {
+ "type": "document",
+ "originalType": "document",
+ "documentType": "Actor",
+ "avoidTest": {
+ "value": "none",
+ "opposed": false,
+ "prevention": true,
+ "reversed": false
+ },
+ "testIndependent": false,
+ "equipTransfer": false,
+ "selfOnly": false,
+ "prompt": false,
+ "area": {
+ "templateData": {
+ "borderColor": null,
+ "fillColor": null,
+ "texture": null
+ },
+ "keep": false,
+ "aura": {
+ "transferred": false,
+ "render": false
+ },
+ "duration": "sustained",
+ "radius": "2"
+ },
+ "zone": {
+ "type": "zone",
+ "transferred": false,
+ "traits": {},
+ "skipImmediateOnPlacement": false,
+ "keep": false
+ },
+ "filter": "return this.actor.appliedEffects.find(i => i.name == this.effect.name);"
+ },
+ "itemTargetData": {
+ "ids": [],
+ "allItems": false
+ },
+ "scriptData": [
+ {
+ "script": "if (args.weapon?.system.isMelee)\n{\n\targs.result.text[this.effect.id] = {label : this.effect.name, description : \"May reroll 1s\"};\n}",
+ "label": "Roll Weapon",
+ "trigger": "rollWeaponTest",
+ "options": {
+ "targeter": false,
+ "deleteEffect": false,
+ "defending": false
+ },
+ "async": false
+ }
+ ],
+ "zone": {
+ "type": "zone",
+ "traits": {},
+ "skipImmediateOnPlacement": false
+ },
+ "sourceData": {
+ "test": {},
+ "item": "Scene.sZLjRwaoAx1qxFho.Token.x6mbo4zBaPPX7hr1.Actor.pOLQxCgUHAAEhfGX.Item.77qzfl7j20nrrfzd",
+ "area": "Scene.sZLjRwaoAx1qxFho.MeasuredTemplate.pg1Nrj3y8GDSgbVa"
+ }
+ },
+ "changes": [],
+ "disabled": false,
+ "duration": {
+ "startTime": 1293836976000,
+ "seconds": null,
+ "combat": null,
+ "rounds": null,
+ "turns": null,
+ "startRound": 1,
+ "startTurn": 1
+ },
+ "description": "",
+ "origin": "Scene.sZLjRwaoAx1qxFho.Token.x6mbo4zBaPPX7hr1.Actor.pOLQxCgUHAAEhfGX",
+ "tint": "#ffffff",
+ "transfer": false,
+ "statuses": [
+ "locus-of-fury"
+ ],
+ "sort": 0,
+ "flags": {
+ "wrath-and-glory": {
+ "manualEffectKeys": false
+ }
+ },
+ "_stats": {
+ "coreVersion": "13.347",
+ "systemId": "wrath-and-glory",
+ "systemVersion": "7.1.1",
+ "createdTime": 1755772134410,
+ "modifiedTime": 1755772134410,
+ "lastModifiedBy": "8fThFXcxV83JCCcX"
+ }
+ },
+ {
+ "statuses": [
+ "wounded"
+ ],
+ "name": "Wounded",
+ "img": "systems/wrath-and-glory/assets/icons/effects/wounded.svg",
+ "system": {
+ "scriptData": [
+ {
+ "trigger": "dialog",
+ "script": "args.fields.difficulty += 1",
+ "label": "+1 DN to all Tests",
+ "options": {
+ "activateScript": "return true;",
+ "targeter": false,
+ "defending": false,
+ "deleteEffect": false
+ },
+ "async": false
+ }
+ ],
+ "transferData": {
+ "type": "document",
+ "originalType": "document",
+ "documentType": "Actor",
+ "avoidTest": {
+ "value": "none",
+ "opposed": false,
+ "prevention": true,
+ "reversed": false
+ },
+ "testIndependent": false,
+ "equipTransfer": false,
+ "selfOnly": false,
+ "prompt": false,
+ "area": {
+ "templateData": {
+ "borderColor": null,
+ "fillColor": null,
+ "texture": null
+ },
+ "keep": false,
+ "aura": {
+ "transferred": false,
+ "render": false
+ },
+ "duration": "sustained"
+ },
+ "zone": {
+ "type": "zone",
+ "transferred": false,
+ "traits": {},
+ "skipImmediateOnPlacement": false,
+ "keep": false
+ }
+ },
+ "itemTargetData": {
+ "ids": [],
+ "allItems": false
+ },
+ "zone": {
+ "type": "zone",
+ "traits": {},
+ "skipImmediateOnPlacement": false
+ },
+ "sourceData": {
+ "test": {}
+ }
+ },
+ "flags": {},
+ "_id": "RLF3R4vroOZc4whR",
+ "type": "base",
+ "changes": [],
+ "disabled": false,
+ "duration": {
+ "startTime": 1293836976000,
+ "combat": null
+ },
+ "description": "",
+ "origin": null,
+ "tint": "#ffffff",
+ "transfer": false,
+ "sort": 0,
+ "_stats": {
+ "coreVersion": "13.347",
+ "systemId": "wrath-and-glory",
+ "systemVersion": "7.1.1",
+ "createdTime": 1755772178022,
+ "modifiedTime": 1755772178022,
+ "lastModifiedBy": "8fThFXcxV83JCCcX"
+ }
+ },
+ {
+ "statuses": [
+ "prone"
+ ],
+ "name": "Prone",
+ "img": "systems/wrath-and-glory/assets/icons/conditions/prone.svg",
+ "flags": {},
+ "_id": "qKffnfYrusJER2qd",
+ "type": "base",
+ "system": {
+ "transferData": {
+ "type": "document",
+ "originalType": "document",
+ "documentType": "Actor",
+ "avoidTest": {
+ "value": "none",
+ "opposed": false,
+ "prevention": true,
+ "reversed": false
+ },
+ "testIndependent": false,
+ "equipTransfer": false,
+ "selfOnly": false,
+ "prompt": false,
+ "area": {
+ "templateData": {
+ "borderColor": null,
+ "fillColor": null,
+ "texture": null
+ },
+ "keep": false,
+ "aura": {
+ "transferred": false,
+ "render": false
+ },
+ "duration": "sustained"
+ },
+ "zone": {
+ "type": "zone",
+ "transferred": false,
+ "traits": {},
+ "skipImmediateOnPlacement": false,
+ "keep": false
+ }
+ },
+ "itemTargetData": {
+ "ids": [],
+ "allItems": false
+ },
+ "scriptData": [],
+ "zone": {
+ "type": "zone",
+ "traits": {},
+ "skipImmediateOnPlacement": false
+ },
+ "sourceData": {
+ "test": {}
+ }
+ },
+ "changes": [],
+ "disabled": false,
+ "duration": {
+ "startTime": 1293836976000,
+ "combat": null
+ },
+ "description": "",
+ "origin": null,
+ "tint": "#ffffff",
+ "transfer": false,
+ "sort": 0,
+ "_stats": {
+ "coreVersion": "13.347",
+ "systemId": "wrath-and-glory",
+ "systemVersion": "7.1.1",
+ "createdTime": 1755772194710,
+ "modifiedTime": 1755772194710,
+ "lastModifiedBy": "8fThFXcxV83JCCcX"
+ }
+ },
+ {
+ "statuses": [
+ "dying"
+ ],
+ "name": "Dying",
+ "img": "systems/wrath-and-glory/assets/icons/effects/dying.svg",
+ "system": {
+ "scriptData": [
+ {
+ "label": "Extra Wrath Die",
+ "script": "args.fields.wrath++;",
+ "trigger": "dialog",
+ "options": {
+ "activateScript": "return true;",
+ "targeter": false,
+ "defending": false,
+ "deleteEffect": false
+ },
+ "async": false
+ }
+ ],
+ "transferData": {
+ "type": "document",
+ "originalType": "document",
+ "documentType": "Actor",
+ "avoidTest": {
+ "value": "none",
+ "opposed": false,
+ "prevention": true,
+ "reversed": false
+ },
+ "testIndependent": false,
+ "equipTransfer": false,
+ "selfOnly": false,
+ "prompt": false,
+ "area": {
+ "templateData": {
+ "borderColor": null,
+ "fillColor": null,
+ "texture": null
+ },
+ "keep": false,
+ "aura": {
+ "transferred": false,
+ "render": false
+ },
+ "duration": "sustained"
+ },
+ "zone": {
+ "type": "zone",
+ "transferred": false,
+ "traits": {},
+ "skipImmediateOnPlacement": false,
+ "keep": false
+ }
+ },
+ "itemTargetData": {
+ "ids": [],
+ "allItems": false
+ },
+ "zone": {
+ "type": "zone",
+ "traits": {},
+ "skipImmediateOnPlacement": false
+ },
+ "sourceData": {
+ "test": {}
+ }
+ },
+ "flags": {},
+ "_id": "3JAyyplDcT4eN4vY",
+ "type": "base",
+ "changes": [],
+ "disabled": false,
+ "duration": {
+ "startTime": 1293836976000,
+ "combat": null
+ },
+ "description": "",
+ "origin": null,
+ "tint": "#ffffff",
+ "transfer": false,
+ "sort": 0,
+ "_stats": {
+ "coreVersion": "13.347",
+ "systemId": "wrath-and-glory",
+ "systemVersion": "7.1.1",
+ "createdTime": 1755772195017,
+ "modifiedTime": 1755772195017,
+ "lastModifiedBy": "8fThFXcxV83JCCcX"
+ }
+ }
+ ],
+ "folder": null,
+ "flags": {},
+ "_stats": {
+ "coreVersion": "13.347",
+ "systemId": "wrath-and-glory",
+ "systemVersion": "7.1.1",
+ "createdTime": 1755210527459,
+ "modifiedTime": 1755779824756,
+ "lastModifiedBy": "8fThFXcxV83JCCcX",
+ "exportSource": {
+ "worldId": "gilead-wandg",
+ "uuid": "Actor.7dDQIJwkjh6UI1xY",
+ "coreVersion": "13.347",
+ "systemId": "wrath-and-glory",
+ "systemVersion": "7.1.1"
+ }
+ },
+ "_id": "nPCczxKWvnq36tXF"
+}
\ No newline at end of file
diff --git a/wg-greyknights/foundry/fvtt-Item-ability-aegis-of-titan_v5.json b/wg-greyknights/foundry/fvtt-Item-ability-aegis-of-titan_v5.json
index a3534c2..b7833aa 100644
--- a/wg-greyknights/foundry/fvtt-Item-ability-aegis-of-titan_v5.json
+++ b/wg-greyknights/foundry/fvtt-Item-ability-aegis-of-titan_v5.json
@@ -2,10 +2,10 @@
"name": "Aegis of Titan (Ability)",
"type": "ability",
"img": "icons/svg/aura.svg",
- "_id": "DaEMUDPe8wmrWz70",
+ "_id": "3SQI68UqiAewIU1y",
"effects": [
{
- "_id": "WD4ApIMZ3pnaPDtl",
+ "_id": "5suMwN6MqzHdEg4V",
"name": "Aegis of Titan — Innate Purity",
"icon": "icons/svg/aura.svg",
"origin": "",
@@ -25,7 +25,7 @@
"flags": {}
},
{
- "_id": "OybEJ8Tl1hRkI5zJ",
+ "_id": "Bp0mJSit3PToM3N3",
"name": "Aegis of Titan — Aegis Synergy",
"icon": "icons/svg/upgrade.svg",
"origin": "",
diff --git a/wg-greyknights/foundry/fvtt-Item-aegis-power-armour_v2.json b/wg-greyknights/foundry/fvtt-Item-aegis-power-armour_v2.json
index 3d921a7..6d269b7 100644
--- a/wg-greyknights/foundry/fvtt-Item-aegis-power-armour_v2.json
+++ b/wg-greyknights/foundry/fvtt-Item-aegis-power-armour_v2.json
@@ -4,7 +4,7 @@
"img": "icons/svg/shield.svg",
"effects": [
{
- "_id": "25aqxUBwyQtSAdxb",
+ "_id": "WzCZif9l1GFukRaE",
"name": "Aegis Wards (Constant)",
"icon": "icons/svg/aura.svg",
"origin": "",
@@ -31,7 +31,7 @@
"flags": {}
},
{
- "_id": "LfRNsXknme6JLgSC",
+ "_id": "D27fn83cJnvlfpC4",
"name": "Aegis Warding Runes (Toggle)",
"icon": "icons/svg/explosion.svg",
"origin": "",
@@ -100,5 +100,5 @@
}
},
"folder": "K59Lb8PvaCmIrviu",
- "_id": "11NZTwYXPlHBlnXC"
+ "_id": "pTSF0G0Cvx4PzPXI"
}
\ No newline at end of file
diff --git a/wg-greyknights/foundry/fvtt-Item-archetype-grey-knight_v5.json b/wg-greyknights/foundry/fvtt-Item-archetype-grey-knight_v5.json
index 1a1bcee..51ad6d2 100644
--- a/wg-greyknights/foundry/fvtt-Item-archetype-grey-knight_v5.json
+++ b/wg-greyknights/foundry/fvtt-Item-archetype-grey-knight_v5.json
@@ -4,7 +4,7 @@
"img": "icons/svg/book.svg",
"effects": [
{
- "_id": "uMkkBfS2rRXluXA6",
+ "_id": "T0IpNmU0xjFwmcwr",
"name": "Aegis of Titan — Innate Purity",
"icon": "icons/svg/aura.svg",
"origin": "",
@@ -286,5 +286,5 @@
}
},
"folder": "DEb55m6iVZ0NUOxA",
- "_id": "qSv5JzFRjTYdw1zI"
+ "_id": "AhWvgUliU6XV5GFT"
}
\ No newline at end of file
diff --git a/wg-greyknights/foundry/fvtt-Item-gk-armour-integrated-storm-bolter_v2.json b/wg-greyknights/foundry/fvtt-Item-gk-armour-integrated-storm-bolter_v2.json
index 5231ed4..6f700e2 100644
--- a/wg-greyknights/foundry/fvtt-Item-gk-armour-integrated-storm-bolter_v2.json
+++ b/wg-greyknights/foundry/fvtt-Item-gk-armour-integrated-storm-bolter_v2.json
@@ -100,5 +100,5 @@
}
},
"folder": "85dkcvhBYli5TJrZ",
- "_id": "SDFwequVtp6WsCFj"
+ "_id": "1R3iq7EsPdCYkMiU"
}
\ No newline at end of file
diff --git a/wg-greyknights/foundry/fvtt-Item-nemesis-force-halberd_v4.json b/wg-greyknights/foundry/fvtt-Item-nemesis-force-halberd_v4.json
index e9bb82a..f3b34e6 100644
--- a/wg-greyknights/foundry/fvtt-Item-nemesis-force-halberd_v4.json
+++ b/wg-greyknights/foundry/fvtt-Item-nemesis-force-halberd_v4.json
@@ -99,5 +99,5 @@
}
},
"folder": "85dkcvhBYli5TJrZ",
- "_id": "NX6bWADcIa03iGCK"
+ "_id": "O68u3VzArlrZwwFb"
}
\ No newline at end of file
diff --git a/wg-greyknights/foundry/fvtt-Item-terminator-aegis-gk_v4.json b/wg-greyknights/foundry/fvtt-Item-terminator-aegis-gk_v4.json
index 3143458..03e60a9 100644
--- a/wg-greyknights/foundry/fvtt-Item-terminator-aegis-gk_v4.json
+++ b/wg-greyknights/foundry/fvtt-Item-terminator-aegis-gk_v4.json
@@ -4,7 +4,7 @@
"img": "icons/svg/tower.svg",
"effects": [
{
- "_id": "OvE7cPAtNLDdEj6j",
+ "_id": "0f6j24Bb5F9IltEj",
"name": "Aegis Wards (Constant)",
"icon": "icons/svg/aura.svg",
"origin": "",
@@ -31,7 +31,7 @@
"flags": {}
},
{
- "_id": "RXHERg7YjunnEQ8h",
+ "_id": "fABPJslze9yrrlcc",
"name": "Aegis Warding Runes (Toggle)",
"icon": "icons/svg/explosion.svg",
"origin": "",
@@ -103,5 +103,5 @@
}
},
"folder": "K59Lb8PvaCmIrviu",
- "_id": "9XTvCiJElW4LJij9"
+ "_id": "vq0e5MD7FXcEqQFi"
}
\ No newline at end of file
diff --git a/wg-greyknights/module.json b/wg-greyknights/module.json
index e69de29..b0636fb 100644
--- a/wg-greyknights/module.json
+++ b/wg-greyknights/module.json
@@ -0,0 +1,26 @@
+{
+ "id": "gk-greyknight",
+ "title": "Grey Knight Add-on (Wrath & Glory)",
+ "description": "Homebrew Grey Knights kit for Wrath & Glory: archetype, Aegis armours, integrated storm bolter, Nemesis halberd, ability, macros, and preset actors.",
+ "version": "0.1.0",
+ "compatibility": {
+ "minimum": "13",
+ "verified": "13"
+ },
+ "authors": [
+ {
+ "name": "User & Assistant"
+ }
+ ],
+ "systems": [
+ "wrath-and-glory"
+ ],
+ "esmodules": [
+ "scripts/auto-loadout.js"
+ ],
+ "readme": "README.txt",
+ "license": "LICENSE",
+ "url": "https://example.com/gk-greyknight",
+ "manifest": "https://example.com/gk-greyknight/module.json",
+ "download": "https://example.com/gk-greyknight/gk-greyknight-0.1.0.zip"
+}
\ No newline at end of file
diff --git a/wg-greyknights/scripts/auto-loadout.js b/wg-greyknights/scripts/auto-loadout.js
new file mode 100644
index 0000000..3fa31cc
--- /dev/null
+++ b/wg-greyknights/scripts/auto-loadout.js
@@ -0,0 +1,48 @@
+// gk-greyknight — auto hooks + small tools menu
+Hooks.once("ready", () => {
+ // Hook: when our Archetype is added, open Loadout Manager
+ if (!window._gkAutoLoadoutHook) {
+ window._gkAutoLoadoutHook = Hooks.on("createItem", async (item, opts, userId) => {
+ try {
+ if (item?.type !== "archetype") return;
+ if (item?.name !== "Grey Knight (Archetype)") return;
+ const actor = item.parent;
+ if (!actor || game.userId !== userId) return;
+ const code = await (await fetch("/modules/gk-greyknight/scripts/macros/gk-loadout-manager.js")).text();
+ (0, eval)(code);
+ } catch (e) { console.error("gk-greyknight auto-loadout error", e); }
+ });
+ }
+
+ game.settings.registerMenu("gk-greyknight", "tools", {
+ name: "Grey Knight Tools",
+ label: "Open Tools",
+ icon: "fas fa-shield-alt",
+ type: class extends FormApplication {
+ async _updateObject(event, formData) {}
+ static get defaultOptions(){ return foundry.utils.mergeObject(super.defaultOptions, { id:"gk-tools", title:"Grey Knight Tools", template: null}); }
+ async render(...args){
+ new Dialog({
+ title: "Grey Knight Tools",
+ content: `Quick actions for GK content.
`,
+ buttons: {
+ import: {label:"Import Items from Module", icon:"", callback: async ()=>{
+ const code = await (await fetch("/modules/gk-greyknight/scripts/macros/gk-import-from-module.js")).text();
+ (0, eval)(code);
+ }},
+ loadout: {label:"Open Loadout Manager", icon:"", callback: async ()=>{
+ const code = await (await fetch("/modules/gk-greyknight/scripts/macros/gk-loadout-manager.js")).text();
+ (0, eval)(code);
+ }},
+ glow: {label:"Toggle Aegis Glow", icon:"", callback: async ()=>{
+ const code = await (await fetch("/modules/gk-greyknight/scripts/macros/gk-glow-toggle.js")).text();
+ (0, eval)(code);
+ }}
+ },
+ default: "import"
+ }).render(true);
+ }
+ },
+ restricted: true
+ });
+});
\ No newline at end of file
diff --git a/wg-greyknights/scripts/macros/gk-glow-toggle.js b/wg-greyknights/scripts/macros/gk-glow-toggle.js
new file mode 100644
index 0000000..197a035
--- /dev/null
+++ b/wg-greyknights/scripts/macros/gk-glow-toggle.js
@@ -0,0 +1,34 @@
+// GK – Aegis Glow Toggle (module)
+(async () => {
+ const tok = canvas.tokens.controlled[0] ?? null;
+ const actor = tok?.actor ?? game.user.character;
+ const token = tok ?? canvas.tokens.placeables.find(t => t.actor?.id === actor?.id);
+ if (!actor || !token) return ui.notifications.warn("Wybierz token lub przypisz postać do użytkownika.");
+
+ const aegisArm = actor.items.find(i => ["armour","armor"].includes(i.type) && /Aegis/.test(i.name));
+ if (!aegisArm) return ui.notifications.warn("Nie znaleziono Aegis armour na postaci.");
+ const eff = aegisArm.effects.find(e => e.name?.toLowerCase().startsWith("aegis warding runes"));
+ if (!eff) return ui.notifications.warn("Nie znaleziono efektu toggle na Aegis armour.");
+ const wasDisabled = eff.disabled ?? true;
+ await eff.update({ disabled: !wasDisabled });
+
+ const FLAG_SCOPE = "wng-gk"; const FLAG_KEY = "prevLight";
+ const setGlowOn = async () => {
+ const prev = token.document.getFlag(FLAG_SCOPE, FLAG_KEY);
+ if (!prev) await token.document.setFlag(FLAG_SCOPE, FLAG_KEY, foundry.utils.deepClone(token.document.light));
+ await token.document.update({
+ light: { color:"#66ccff", coloration:2, alpha:0.7, dim:16, bright:0, angle:360,
+ luminosity:0.5, attenuation:0.35, saturation:0, contrast:0, shadows:0,
+ animation:{ type:"pulse", speed:3, intensity:4, reverse:false } }
+ });
+ await canvas.perception.update({ lighting: { refresh: true } });
+ };
+ const setGlowOff = async () => {
+ const prev = token.document.getFlag(FLAG_SCOPE, FLAG_KEY);
+ if (prev) { await token.document.update({ light: prev }); await token.document.unsetFlag(FLAG_SCOPE, FLAG_KEY); }
+ else { await token.document.update({ light: { dim:0, bright:0, color:null } }); }
+ await canvas.perception.update({ lighting: { refresh: true } });
+ };
+ if (wasDisabled) { await setGlowOn(); ChatMessage.create({ content: `Aegis: Warding Runes ENGAGED. (Akcja)` }); }
+ else { await setGlowOff(); ChatMessage.create({ content: `Aegis: Warding Runes DISENGAGED.` }); }
+})();
\ No newline at end of file
diff --git a/wg-greyknights/scripts/macros/gk-import-from-module.js b/wg-greyknights/scripts/macros/gk-import-from-module.js
new file mode 100644
index 0000000..ac4d699
--- /dev/null
+++ b/wg-greyknights/scripts/macros/gk-import-from-module.js
@@ -0,0 +1,40 @@
+// GK – Import Items From Module into Items Directory
+(async () => {
+ const FILES = [
+ "fvtt-Item-archetype-grey-knight_v5.json",
+ "fvtt-Item-ability-aegis-of-titan_v5.json",
+ "fvtt-Item-nemesis-force-halberd_v4.json",
+ "fvtt-Item-gk-armour-integrated-storm-bolter_v2.json",
+ "fvtt-Item-aegis-power-armour_v2.json",
+ "fvtt-Item-terminator-aegis-gk_v4.json"
+ ];
+ const MODULE_ID = "gk-greyknight";
+ const base = `modules/${MODULE_ID}/foundry`;
+
+ const ensureFolder = async (name, color="#4b6eaf") => {
+ let f = game.folders.find(x => x.type === "Item" && x.name === name);
+ if (!f) f = await Folder.create({name, type:"Item", color});
+ return f;
+ };
+ const worldFolder = await ensureFolder("Grey Knight Pack", "#4b6eaf");
+
+ const fetchJSON = async (path) => {
+ const res = await fetch(`/${path}`);
+ if (!res.ok) throw new Error(`Nie mogę pobrać: ${path} (HTTP ${res.status})`);
+ return await res.json();
+ };
+
+ let created = 0, updated = 0;
+ for (const fn of FILES) {
+ const full = `${base}/${fn}`;
+ try {
+ const data = await fetchJSON(full);
+ if (data._id) delete data._id;
+ data.folder = worldFolder.id;
+ const existing = game.items.getName(data.name);
+ if (existing) { await existing.update(data); updated++; }
+ else { await Item.create(data); created++; }
+ } catch (e) { console.error("Import err", full, e); ui.notifications.warn(`Błąd importu: ${fn}`); }
+ }
+ ui.notifications.info(`GK Module Import: utworzono ${created}, zaktualizowano ${updated}.`);
+})();
\ No newline at end of file
diff --git a/wg-greyknights/scripts/macros/gk-loadout-manager.js b/wg-greyknights/scripts/macros/gk-loadout-manager.js
new file mode 100644
index 0000000..600b541
--- /dev/null
+++ b/wg-greyknights/scripts/macros/gk-loadout-manager.js
@@ -0,0 +1,64 @@
+// GK – Loadout Manager (module)
+(async () => {
+ const NAMES = {
+ archetype: "Grey Knight (Archetype)",
+ ability: "Aegis of Titan (Ability)",
+ nemesis: "Nemesis Force Halberd",
+ storm: "Grey Knight Armour Integrated Storm Bolter",
+ aegis: "Aegis Power Armour",
+ term: "Terminator Aegis (Grey Knights)"
+ };
+ const FOLDER = "Grey Knight Pack";
+
+ const actor = canvas.tokens.controlled[0]?.actor ?? game.user.character;
+ if (!actor) return ui.notifications.warn("Zaznacz token albo przypisz postać.");
+
+ const mode = await Dialog.prompt({
+ title: "Grey Knight – Loadout Manager",
+ content: `Wybierz lub zmień loadout:
+
+
+ `,
+ label: "OK",
+ callback: html => html.find('input[name="m"]:checked').val()
+ });
+ if (!mode) return;
+
+ const findWorldItem = (name) => {
+ const inFolder = game.items.filter(i => i.name === name && i.folder?.name === FOLDER);
+ if (inFolder.length) return inFolder[0];
+ return game.items.getName(name) ?? null;
+ };
+ const ensureOnActor = async (name) => {
+ const have = actor.items.getName(name);
+ if (have) return have;
+ const worldIt = findWorldItem(name);
+ if (!worldIt) { ui.notifications.warn(`Brak w Items Directory: ${name} — użyj importera modułu.`); return null; }
+ const created = await actor.createEmbeddedDocuments("Item", [worldIt.toObject()]);
+ return created[0];
+ };
+
+ for (const key of Object.keys(NAMES)) await ensureOnActor(NAMES[key]);
+
+ const setEquipped = async (name, on) => { const it = actor.items.getName(name); if (it) await it.update({"system.equipped": !!on}); };
+ await setEquipped(NAMES.aegis, false);
+ await setEquipped(NAMES.term, false);
+ await setEquipped(NAMES.storm, false);
+ await setEquipped(NAMES.nemesis, false);
+
+ if (mode === "war") {
+ await setEquipped(NAMES.aegis, true);
+ await setEquipped(NAMES.storm, true);
+ await setEquipped(NAMES.nemesis, true);
+ } else if (mode === "term") {
+ await setEquipped(NAMES.term, true);
+ await setEquipped(NAMES.storm, true);
+ await setEquipped(NAMES.nemesis, true);
+ }
+
+ const anyAegisEquipped = !!actor.items.find(i => ["armour","armor"].includes(i.type) && /Aegis/.test(i.name) && i.system?.equipped);
+ const abilItem = actor.items.getName(NAMES.ability);
+ if (abilItem) for (const ef of abilItem.effects ?? []) if (ef.name?.includes("Aegis Synergy")) await ef.update({ disabled: !anyAegisEquipped });
+
+ ui.notifications.info(`Loadout ustawiony: ${mode.toUpperCase()}.`);
+})();
\ No newline at end of file