Added NQ #65 to Publication Index and Character Generator.

This commit is contained in:
Yord 2016-05-01 18:40:10 +02:00
parent 9a66b998ed
commit 79a08fae4f
4 changed files with 278 additions and 170 deletions

View file

@ -1,169 +0,0 @@
---
layout: ikrpg
tags: [Character Generator]
---
<div id="generator">
<h2>Race</h2>
<select id="race">
<option value="0">&nbsp;</option>
<option value="1" selected>Human</option>
</select>
<ul data-id="race">
<li data-mod='modify("set", "race", "Human")'>race: Human</li>
<li data-key="race" data-modifier="set" data-value='"Human"'>race: Human</li>
<!--li data-key="PHY" data-modifier="set" data-value='5'>PHY: 5</li-->
<li data-key="stats" data-modifier="add" data-value='["PHY","PHY","PHY","PHY","PHY"]'>PHY: 5</li>
<!--li data-key="SPD" data-modifier="set" data-value='6'>SPD: 6</li>
<li data-key="STR" data-modifier="set" data-value='4'>STR: 4</li>
<li data-key="AGL" data-modifier="set" data-value='3'>AGL: 3</li>
<li data-key="PRW" data-modifier="set" data-value='4'>PRW: 4</li>
<li data-key="POI" data-modifier="set" data-value='4'>POI: 4</li>
<li data-key="INT" data-modifier="set" data-value='3'>INT: 3</li>
<li data-key="ARC" data-modifier="set" data-value='0'>ARC: 0</li>
<li data-key="PER" data-modifier="set" data-value='3'>PER: 3</li-->
<li data-key="constraints" data-modifier="add" data-value='if (hero.level == "hero" && hero.PHY > 7) "Hero level for PHY can be at most 7."'>hero limit PHY: 7</li>
<!--li data-key="hero-limit-SPD" data-modifier="set" data-value='7'>hero limit SPD: 7</li>
<li data-key="hero-limit-STR" data-modifier="set" data-value='6'>hero limit STR: 6</li>
<li data-key="hero-limit-AGL" data-modifier="set" data-value='5'>hero limit AGL: 5</li>
<li data-key="hero-limit-PRW" data-modifier="set" data-value='5'>hero limit PRW: 5</li>
<li data-key="hero-limit-POI" data-modifier="set" data-value='5'>hero limit POI: 5</li>
<li data-key="hero-limit-INT" data-modifier="set" data-value='5'>hero limit INT: 5</li>
<li data-key="hero-limit-ARC" data-modifier="set" data-value='4'>hero limit ARC: 4</li>
<li data-key="hero-limit-PER" data-modifier="set" data-value='5'>hero limit PER: 5</li>
<li data-key="veteran-limit-PHY" data-modifier="set" data-value='8'>veteran limit PHY: 8</li>
<li data-key="veteran-limit-SPD" data-modifier="set" data-value='7'>veteran limit SPD: 7</li>
<li data-key="veteran-limit-STR" data-modifier="set" data-value='7'>veteran limit STR: 7</li>
<li data-key="veteran-limit-AGL" data-modifier="set" data-value='6'>veteran limit AGL: 6</li>
<li data-key="veteran-limit-PRW" data-modifier="set" data-value='6'>veteran limit PRW: 6</li>
<li data-key="veteran-limit-POI" data-modifier="set" data-value='6'>veteran limit POI: 6</li>
<li data-key="veteran-limit-INT" data-modifier="set" data-value='6'>veteran limit INT: 6</li>
<li data-key="veteran-limit-ARC" data-modifier="set" data-value='6'>veteran limit ARC: 6</li>
<li data-key="veteran-limit-PER" data-modifier="set" data-value='6'>veteran limit PER: 6</li>
<li data-key="epic-limit-PHY" data-modifier="set" data-value='8'>epic limit PHY: 8</li>
<li data-key="epic-limit-SPD" data-modifier="set" data-value='7'>epic limit SPD: 7</li>
<li data-key="epic-limit-STR" data-modifier="set" data-value='8'>epic limit STR: 8</li>
<li data-key="epic-limit-AGL" data-modifier="set" data-value='7'>epic limit AGL: 7</li>
<li data-key="epic-limit-PRW" data-modifier="set" data-value='7'>epic limit PRW: 7</li>
<li data-key="epic-limit-POI" data-modifier="set" data-value='7'>epic limit POI: 7</li>
<li data-key="epic-limit-INT" data-modifier="set" data-value='7'>epic limit INT: 7</li>
<li data-key="epic-limit-ARC" data-modifier="set" data-value='8'>epic limit ARC: 8</li>
<li data-key="epic-limit-PER" data-modifier="set" data-value='7'>epic limit PER: 7</li-->
</ul>
<input type="number" />
<h2>Archetype</h2>
<select id="archetype">
<option value="0" selected>&nbsp;</option>
<option value="1">Gifted</option>
</select>
<ul data-id="archetype">
</ul>
<h2>Career 1</h2>
<select id="career1">
<option value="0" selected>&nbsp;</option>
<option value="1">Aristocrat</option>
<option value="2">Gun Mage (Amethyst Rose)</option>
</select>
<ul data-id="career1">
</ul>
<h2>Career 2</h2>
<select id="career2">
<option value="0" selected>&nbsp;</option>
<option value="1">Aristocrat</option>
<option value="2">Gun Mage (Amethyst Rose)</option>
</select>
<ul data-id="career2">
</ul>
</div>
<script type="text/javascript">
var hero = {
"race": "",
"stats": [], // ["PHY", "STR", "INT", "PHY", "PHY", "STR"] => { "PHY": 3, "STR": 2, "INT": 1 }
"languages": [],
"occupational skills": [] // ["Negotiation", "Detection", "Negotiation"] => { "Negotiation": 2, "Detection": 1 }
};
// helpers
function clone(obj) {
return $.extend(true, {}, obj);
}
// obj = { "PHY": 3, "STR": 2, "INT": 1 }, output = ["PHY", "PHY", "PHY", "STR", "STR", "INT"]
function as_array(obj) {
var acc = [];
for(var key in obj) {
var val = obj[key];
for(var i = 0; i < val; i++) {
acc.push(key);
}
}
return acc;
}
function modify(modifier, key, value) {
return function(hero) {
return modifier(key, value)(hero);
};
}
// modifiers
function set(key, value) {
return function(hero) {
var hero_clone = clone(hero);
hero_clone[key] = value;
return hero_clone;
};
}
function add(key, values) {
return function(hero) {
var hero_clone = clone(hero);
hero_clone[key] = hero_clone[key].concat(values);
return hero_clone;
};
}
// data
var races = {
"Human": [
'modify("set", "race", "Human")',
'modify("add", "stats", as_array({ "PHY": 5, "SPD": 6, "STR": 4, "AGL": 3, "PRW": 4, "POI": 4, "INT": 3, "PER": 3 }))'
]
}
// program
var modifications = [modify(set, "race", "Human"), modify(add, "PHY", 4)];
var h = modifications.reduce(function(acc, f) { return f(acc); }, hero);
console.log(h);
//$("#foo").change(function() { console.log($("#foo").val()); });
</script>

View file

@ -1,5 +1,5 @@
CACHE MANIFEST CACHE MANIFEST
# 2016-04-10 # 2016-05-01
CACHE: CACHE:

View file

@ -492,6 +492,7 @@ var ikrpg = ikrpg || {};
"Custom Battle Armor": { "spd": 0, "def": -1, "arm": 6, "description": "" }, "Custom Battle Armor": { "spd": 0, "def": -1, "arm": 6, "description": "" },
"Exemplar Plate": { "spd": -2, "def": -3, "arm": 9, "description": "" }, "Exemplar Plate": { "spd": -2, "def": -3, "arm": 9, "description": "" },
"Full Plate": { "spd": -1, "def": -3, "arm": 8, "description": "" }, "Full Plate": { "spd": -1, "def": -3, "arm": 8, "description": "" },
"Heavy-Duty Armored Great Coat": { "spd": -1, "def": -1, "arm": 7, "description": "" },
"Infantry Armor": { "spd": 0, "def": -2, "arm": 7, "description": "" }, "Infantry Armor": { "spd": 0, "def": -2, "arm": 7, "description": "" },
"Leather Armor": { "spd": 0, "def": -1, "arm": 5, "description": "" }, "Leather Armor": { "spd": 0, "def": -1, "arm": 5, "description": "" },
"Man-O-War Armor": { "spd": -3, "def": -3, "arm": 9, "description": "" }, "Man-O-War Armor": { "spd": -3, "def": -3, "arm": 9, "description": "" },
@ -2297,6 +2298,7 @@ var ikrpg = ikrpg || {};
"Scharde", "Scharde",
"Shyr", "Shyr",
"Soresh", "Soresh",
"Street Code",
"Sulese", "Sulese",
"Telgesh", "Telgesh",
"Thrallspeak", "Thrallspeak",
@ -3444,6 +3446,20 @@ var ikrpg = ikrpg || {};
number(_gold, 25), number(_gold, 25),
list(_gear, ["Warhorse", "Tack and Heavy Barding"]) list(_gear, ["Warhorse", "Tack and Heavy Barding"])
], ],
"Exiled Noble": [
listItem(_careers, "Exiled Noble"),
list(_abilities, ["Good Breeding", "Parry"]),
choices(arrayPairs(_languages, languages), "Choose 1"),
listItem(_connections, "nobility"),
listItem(_military_skills, "Hand Weapon"),
choices(arrayPairs(_military_skills, [
"Archery",
"Pistol",
"Rifle"]), "Choose 1"),
list(_occupational_skills, ["Command", "Etiquette"]),
listItem(_benefits, "Feat: Vendetta"),
number(_gold, 200)
],
"Explorer": [ "Explorer": [
listItem(_careers, "Explorer"), listItem(_careers, "Explorer"),
list(_abilities, ["Big Game Hunter", "Port of Call"]), list(_abilities, ["Big Game Hunter", "Port of Call"]),
@ -4284,6 +4300,41 @@ var ikrpg = ikrpg || {};
list(_gear, ["Reclaimant's Mask", "ten grave markers"]), list(_gear, ["Reclaimant's Mask", "ten grave markers"]),
listItem(_melee_weapons, "Reclaimant Torch") listItem(_melee_weapons, "Reclaimant Torch")
], ],
"Resistance Saboteur": [
listItem(_careers, "Resistance Saboteur"),
list(_abilities, ["Fire in the Hole!", "Grenadier"]),
list(_military_skills, ["Hand Weapon", "Thrown Weapon"]),
list(_occupational_skills, ["Alchemy", "Medicine"]),
number(_gold, 25),
listItem(_armors, "Alchemist's Leather"),
list(_gear, [
"alchemical bomb with a clockwork detonator",
"grenadier's bandolier",
"any alchemical grenate",
"any alchemical grenate",
"any alchemical grenate",
"any alchemical grenate",
"any alchemical grenate"])
],
"Resistance Sleeper Agent": [
listItem(_careers, "Resistance Sleeper Agent"),
listItem(_benefits, "Feat: Perfect Plot"),
list(_abilities, ["Conniver", "Cover Identity"]),
choices(arrayPairs(_languages, languages), "Choose 1"),
list(_connections, ["Khadoran Military", "Llaelese Resistance"]),
choices(arrayPairs(_military_skills, [
"Hand Weapon",
"Pistol",
"Thrown Weapon"]), "Choose 1"),
list(_occupational_skills, [
"Command",
"Deception",
"Detection",
"Disguise",
"Sneak"]),
number(_gold, 100),
listItem(_gear, "forged identity papers")
],
"Rhulic Field Mechanik": [ "Rhulic Field Mechanik": [
listItem(_careers, "Rhulic Field Mechanik"), listItem(_careers, "Rhulic Field Mechanik"),
list(_abilities, ["Rhulic 'Jack Marshal", "Bodge", "Hit the Deck!"]), list(_abilities, ["Rhulic 'Jack Marshal", "Bodge", "Hit the Deck!"]),
@ -5344,6 +5395,30 @@ var ikrpg = ikrpg || {};
"Ambush", "Ambush",
"Traceless Path"]) "Traceless Path"])
], ],
"Resistance Saboteurs": [
listItem(_notes, "Adventuring Company: Resistance Saboteurs"),
listItem(_notes, "One human Llaelese member is the leader"),
listItem(_gear,
"Cach of explosives (standard grenades, alchemical grenades, or alchemical explosives) worth up to 200gc for the whole team that is restocked once per month."),
choices($.merge(
arrayPairs(_military_skills, [ "Thrown Weapon" ]),
arrayPairs(_occupational_skills, [ "Mechanikal Engineering" ])
), "Choose 1")
],
"Sleeper Cell": [
listItem(_notes, "Adventuring Company: Sleeper Cell"),
listItem(_notes, "One human Llaelese member is the leader"),
listItem(_gear,
"100gc for non-mechanical arms and armor, ammunition, non-mechanical gear, clothing in the form of disguises, equipment, mounts and riding equipment, and food and drink."),
choices(arrayPairs(_occupational_skills, [
"Bribery",
"Cryptography",
"Deception",
"Disguise",
"Escape Artist",
"Seduction",
"Streetwise"]), "Choose 1")
],
"Soldiers of Fortune": [ "Soldiers of Fortune": [
listItem(_notes, "Adventuring Company: Soldiers of Fortune"), listItem(_notes, "Adventuring Company: Soldiers of Fortune"),
list(_notes, ["One member is the captain"]), list(_notes, ["One member is the captain"]),
@ -5422,6 +5497,24 @@ var ikrpg = ikrpg || {};
"One Priest is the leader"]), "One Priest is the leader"]),
listItem(_abilities, "University Education") listItem(_abilities, "University Education")
], ],
"The Lost Company": [
listItem(_notes, "Adventuring Company: The Lost Company"),
list(_notes, [
"All characters must be either Arcane Tempest Gun Mage, Rifleman, Stormblade, Stormguard, Stormsmith, Trencher, or Trencher Commando",
"One member is the leader"]),
choices(arrayPairs(_occupational_skills, [
"Decection",
"Disguise",
"Escape Artist",
"Forgery",
"Negotiation",
"Sneak",
"Streetwise",
"Survival",
"Tracking"]), "Choose 1"),
choices(arrayPairs(_connections, [
"Llaelese Resistance"]), "Choose if leader")
],
"United Kriels": [ "United Kriels": [
listItem(_notes, "Adventuring Company: United Kriels"), listItem(_notes, "Adventuring Company: United Kriels"),
list(_notes, ["One Trollkin is the captain"]), list(_notes, ["One Trollkin is the captain"]),

View file

@ -5414,6 +5414,14 @@ var ikrpg = ikrpg || {};
subcategory: "Scenario", subcategory: "Scenario",
game: "FMF" game: "FMF"
}, },
{
name: "Once Upon a Time in Khadoran-Occupied Llael",
publication: "No Quarter #65",
page: "98",
category: "Adventure",
subcategory: "Scenario",
game: "FMF"
},
{ {
name: "Spirit in Steel", name: "Spirit in Steel",
publication: "No Quarter #44", publication: "No Quarter #44",
@ -6323,6 +6331,14 @@ var ikrpg = ikrpg || {};
subcategory: "Alchemical Item", subcategory: "Alchemical Item",
game: "IKU" game: "IKU"
}, },
{
name: "Exploding Ink",
publication: "No Quarter #65",
page: "95",
category: "Alchemy",
subcategory: "Alchemical Item",
game: "FMF"
},
{ {
name: "Fear Gas", name: "Fear Gas",
publication: "Urban Adventure", publication: "Urban Adventure",
@ -7249,6 +7265,22 @@ var ikrpg = ikrpg || {};
subcategory: "Adventuring Company", subcategory: "Adventuring Company",
game: "IKU" game: "IKU"
}, },
{
name: "Resistance Saboteurs",
publication: "No Quarter #65",
page: "94",
category: "Character Creation",
subcategory: "Adventuring Company",
game: "FMF"
},
{
name: "Sleeper Cell",
publication: "No Quarter #65",
page: "94",
category: "Character Creation",
subcategory: "Adventuring Company",
game: "FMF"
},
{ {
name: "Soldiers of Fortune", name: "Soldiers of Fortune",
publication: "Unleashed Core Rules", publication: "Unleashed Core Rules",
@ -7289,6 +7321,14 @@ var ikrpg = ikrpg || {};
subcategory: "Adventuring Company", subcategory: "Adventuring Company",
game: "FMF" game: "FMF"
}, },
{
name: "The Lost Company",
publication: "No Quarter #65",
page: "94",
category: "Character Creation",
subcategory: "Adventuring Company",
game: "FMF"
},
{ {
name: "United Kriels", name: "United Kriels",
publication: "Unleashed Core Rules", publication: "Unleashed Core Rules",
@ -8396,6 +8436,14 @@ var ikrpg = ikrpg || {};
subcategory: "Career Option", subcategory: "Career Option",
game: "FMF" game: "FMF"
}, },
{
name: "Exiled Noble",
publication: "No Quarter #65",
page: "93",
category: "Character Creation",
subcategory: "Career Option",
game: "FMF"
},
{ {
name: "Flame Bringers", name: "Flame Bringers",
publication: "No Quarter #55", publication: "No Quarter #55",
@ -8500,6 +8548,22 @@ var ikrpg = ikrpg || {};
subcategory: "Career Option", subcategory: "Career Option",
game: "FMF" game: "FMF"
}, },
{
name: "Resistance Saboteur",
publication: "No Quarter #65",
page: "93",
category: "Character Creation",
subcategory: "Career Option",
game: "FMF"
},
{
name: "Resistance Sleeper Agent",
publication: "No Quarter #65",
page: "93",
category: "Character Creation",
subcategory: "Career Option",
game: "FMF"
},
{ {
name: "Rhulic Field Mechanik", name: "Rhulic Field Mechanik",
publication: "No Quarter #49", publication: "No Quarter #49",
@ -8935,6 +8999,14 @@ var ikrpg = ikrpg || {};
subcategory: "Armor", subcategory: "Armor",
game: "IKU" game: "IKU"
}, },
{
name: "Heavy-Duty Armored Great Coat",
publication: "No Quarter #65",
page: "95",
category: "Armory",
subcategory: "Armor",
game: "FMF"
},
{ {
name: "Infantry Armor", name: "Infantry Armor",
publication: "Core Rules", publication: "Core Rules",
@ -11163,6 +11235,14 @@ var ikrpg = ikrpg || {};
subcategory: "Ammunition", subcategory: "Ammunition",
game: "FMF" game: "FMF"
}, },
{
name: "Poison Bullet",
publication: "No Quarter #65",
page: "95",
category: "Armory",
subcategory: "Ammunition",
game: "FMF"
},
// ##### Armory > Ranged Weapon Accessory ##### \\ // ##### Armory > Ranged Weapon Accessory ##### \\
{ {
name: "Bandolier, Ammo", name: "Bandolier, Ammo",
@ -15671,6 +15751,14 @@ var ikrpg = ikrpg || {};
subcategory: "", subcategory: "",
game: "IKU" game: "IKU"
}, },
{
name: "Lanel Gozca, The Clockwork Killer",
publication: "No Quarter #65",
page: "87",
category: "Individual",
subcategory: "",
game: "FMF"
},
{ {
name: "Leto Raelthorne, King", name: "Leto Raelthorne, King",
publication: "Kings, Nations, and Gods", publication: "Kings, Nations, and Gods",
@ -15775,6 +15863,14 @@ var ikrpg = ikrpg || {};
subcategory: "", subcategory: "",
game: "FMF" game: "FMF"
}, },
{
name: "Pyrrhus",
publication: "No Quarter #65",
page: "65",
category: "Individual",
subcategory: "",
game: "FMF"
},
{ {
name: "Rosa Petry, Owner of Petry's Firearms and Supplies", name: "Rosa Petry, Owner of Petry's Firearms and Supplies",
publication: "No Quarter #56", publication: "No Quarter #56",
@ -17466,6 +17562,14 @@ var ikrpg = ikrpg || {};
subcategory: "Monster/Opponent", subcategory: "Monster/Opponent",
game: "FMF" game: "FMF"
}, },
{
name: "Doom Reaver",
publication: "No Quarter #65",
page: "106",
category: "Monsternomicon",
subcategory: "Monster/Opponent",
game: "FMF"
},
{ {
name: "Dracodile", name: "Dracodile",
publication: "Monsternomicon", publication: "Monsternomicon",
@ -17850,6 +17954,14 @@ var ikrpg = ikrpg || {};
subcategory: "Monster/Opponent", subcategory: "Monster/Opponent",
game: "FMF" game: "FMF"
}, },
{
name: "Rager Warjack",
publication: "No Quarter #65",
page: "106",
category: "Monsternomicon",
subcategory: "Monster/Opponent",
game: "FMF"
},
{ {
name: "Razor Boar", name: "Razor Boar",
publication: "Unleashed Core Rules", publication: "Unleashed Core Rules",
@ -18250,6 +18362,22 @@ var ikrpg = ikrpg || {};
subcategory: "Monster/Opponent", subcategory: "Monster/Opponent",
game: "IKU" game: "IKU"
}, },
{
name: "Winter Guard",
publication: "No Quarter #65",
page: "101",
category: "Monsternomicon",
subcategory: "Monster/Opponent",
game: "FMF"
},
{
name: "Winter Guard Sergeant",
publication: "No Quarter #65",
page: "101",
category: "Monsternomicon",
subcategory: "Monster/Opponent",
game: "FMF"
},
// ##### Monsternomicon > Spawn Gifts ##### \\ // ##### Monsternomicon > Spawn Gifts ##### \\
{ {
name: "Agile", name: "Agile",
@ -20166,6 +20294,14 @@ var ikrpg = ikrpg || {};
subcategory: "Solo Monster/Opponent", subcategory: "Solo Monster/Opponent",
game: "FMF" game: "FMF"
}, },
{
name: "Ambroz Grishka, Koldun",
publication: "No Quarter #65",
page: "108",
category: "Monsternomicon",
subcategory: "Solo Monster/Opponent",
game: "FMF"
},
{ {
name: "Anacia Myetrova", name: "Anacia Myetrova",
publication: "Bad Moon Rising", publication: "Bad Moon Rising",
@ -20454,6 +20590,14 @@ var ikrpg = ikrpg || {};
subcategory: "Solo Monster/Opponent", subcategory: "Solo Monster/Opponent",
game: "IKU" game: "IKU"
}, },
{
name: "Lanel Gozca",
publication: "No Quarter #65",
page: "89",
category: "Monsternomicon",
subcategory: "Solo Monster/Opponent",
game: "FMF"
},
{ {
name: "Liyr", name: "Liyr",
publication: "Bad Moon Rising", publication: "Bad Moon Rising",
@ -20774,6 +20918,14 @@ var ikrpg = ikrpg || {};
subcategory: "Solo Monster/Opponent", subcategory: "Solo Monster/Opponent",
game: "FMF" game: "FMF"
}, },
{
name: "Yurik Zarov, Kapitan",
publication: "No Quarter #65",
page: "107",
category: "Monsternomicon",
subcategory: "Solo Monster/Opponent",
game: "FMF"
},
{ {
name: "Zabrak Stoneshield (Mighty Trollkin Duelist)", name: "Zabrak Stoneshield (Mighty Trollkin Duelist)",
publication: "Urban Adventure", publication: "Urban Adventure",
@ -28857,6 +29009,14 @@ var ikrpg = ikrpg || {};
subcategory: "Melee Weapon", subcategory: "Melee Weapon",
game: "FMF" game: "FMF"
}, },
{
name: "Timberjack Arm",
publication: "No Quarter #65",
page: "96",
category: "Steamjack",
subcategory: "Melee Weapon",
game: "FMF"
},
{ {
name: "Two-Handed Sword", name: "Two-Handed Sword",
publication: "No Quarter #64", publication: "No Quarter #64",
@ -29315,6 +29475,14 @@ var ikrpg = ikrpg || {};
subcategory: "Gear/Upgrade", subcategory: "Gear/Upgrade",
game: "FMF" game: "FMF"
}, },
{
name: "False Arm Cowling",
publication: "No Quarter #65",
page: "96",
category: "Steamjack",
subcategory: "Gear/Upgrade",
game: "FMF"
},
{ {
name: "Field Repair Array", name: "Field Repair Array",
publication: "No Quarter #48", publication: "No Quarter #48",
@ -29427,6 +29595,14 @@ var ikrpg = ikrpg || {};
subcategory: "Gear/Upgrade", subcategory: "Gear/Upgrade",
game: "FMF" game: "FMF"
}, },
{
name: "Power Diverter",
publication: "No Quarter #65",
page: "96",
category: "Steamjack",
subcategory: "Gear/Upgrade",
game: "FMF"
},
{ {
name: "Propulsion Pack", name: "Propulsion Pack",
publication: "Kings, Nations, and Gods", publication: "Kings, Nations, and Gods",
@ -29583,6 +29759,14 @@ var ikrpg = ikrpg || {};
subcategory: "Trap", subcategory: "Trap",
game: "IKU" game: "IKU"
}, },
{
name: "Door Trap",
publication: "No Quarter #65",
page: "96",
category: "Survival",
subcategory: "Trap",
game: "FMF"
},
{ {
name: "Fixed-Weapon Trap", name: "Fixed-Weapon Trap",
publication: "Unleashed Core Rules", publication: "Unleashed Core Rules",