diff --git a/.gitignore b/.gitignore index 16e35b3..f969ab8 100644 --- a/.gitignore +++ b/.gitignore @@ -37,5 +37,6 @@ _posts/Combat-Tool _posts/Adventures _posts/Adventure-Generator _posts/Character-Bootstrap +_posts/0000-01-01-Scenarios.html static/javascripts/combat.js static/javascripts/character-bootstrap.js diff --git a/_posts/Log/0000-01-01-Index.html b/_posts/Log/0000-01-01-Index.html deleted file mode 100644 index e20e61d..0000000 --- a/_posts/Log/0000-01-01-Index.html +++ /dev/null @@ -1,1083 +0,0 @@ ---- -title: "Index Log" -published: true -layout: ikrpg -categories: [ Log ] -tags: [ Rules ] ---- - -

- Visit the Full Publication Index. -

-

- This page revisits all publications used to build the full publication index. - The publications are divided in - Rulebooks, - Magazines, - Adventures, and - Supplements. -

-

- Each index entry is assigned to one of the folowing categories: - Ability, - Adventure, - Alchemy, - Armory, - Character Creation, - Disease, - Equipment, - Individual, - Geography, - Mechanika, - Monsternomicon, - Monster, - Organization, - Skill, - Spell, - Steamjack, and - Thrall. -

- -

Rulebooks

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PublicationAvailable contentsUnavailable contentsNot checked
Core Rules - Ability, - Armory, - Character Creation, - Alchemy, - Equipment, - Geography, - Mechanika, - Monster, - Organization, - Skill, - Spell, - Steamjack - - Adventure, - Disease, - Monsternomicon, - Thrall - - Individual -
Kings, Nations, and Gods - Ability, - Armory, - Character Creation, - Alchemy, - Equipment, - Geography, - Individual, - Organization, - Skill, - Spell, - Steamjack - - Adventure, - Disease - - Mechanika, - Monsternomicon, - Monster, - Thrall -
Urban Adventure - Ability, - Adventure, - Character Creation, - Alchemy, - Armory, - Equipment, - Mechanika, - Monster, - Organization, - Skill, - Spell, - Steamjack, - Thrall - - Disease, - Monsternomicon - - Geography, - Individual -
- -

Magazines

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PublicationAvailable contentsUnavailable contentsNot checked
No Quarter #43 - Alchemy, - Individual, - Monster - - Ability, - Adventure, - Adventuring companies, - Armory, - Character Creation, - Disease, - Equipment, - Mechanika, - Monsternomicon, - Organization, - Skill, - Spell, - Steamjack, - Thrall - - Geography -
No Quarter #44 - Adventure, - Individual, - Monster - - Ability, - Alchemy, - Armory, - Character Creation, - Disease, - Equipment, - Mechanika, - Monsternomicon, - Organization, - Skill, - Spell, - Steamjack, - Thrall - - Geography -
No Quarter #45 - Ability, - Armory, - Character Creation, - Equipment, - Individual, - Monster - - Adventure, - Alchemy, - Disease, - Mechanika, - Monsternomicon, - Organization, - Skill, - Spell, - Steamjack, - Thrall - - Geography -
No Quarter #46 - Ability, - Adventure, - Character Creation, - Armory, - Monster, - Organization - - Alchemy, - Disease, - Equipment, - Individual, - Mechanika, - Monsternomicon, - Skill, - Spell, - Steamjack, - Thrall - - Geography -
No Quarter #47 - Equipment, - Individual, - Monster, - Organization - - Ability, - Adventure, - Alchemy, - Armory, - Character Creation, - Disease, - Mechanika, - Monsternomicon, - Skill, - Spell, - Steamjack, - Thrall - - Geography -
No Quarter #48 - Ability, - Armory, - Character Creation, - Equipment, - Individual, - Mechanika, - Spell, - Steamjack - - Adventure, - Alchemy, - Disease, - Monsternomicon, - Monster, - Organization, - Skill, - Thrall - - Geography -
No Quarter #49 - Ability, - Character Creation, - Individual, - Spell, - Steamjack - - Adventure, - Alchemy, - Armory, - Disease, - Equipment, - Mechanika, - Monsternomicon, - Monster, - Organization, - Skill, - Thrall - - Geography -
No Quarter #50 - Individual, - Mechanika - - Ability, - Adventure, - Alchemy, - Armory, - Character Creation, - Disease, - Equipment, - Monsternomicon, - Monster, - Organization, - Skill, - Spell, - Steamjack, - Thrall - - Geography -
No Quarter #51 - Adventure, - Individual, - Mechanika, - Monsternomicon - - Ability, - Alchemy, - Armory, - Character Creation, - Disease, - Equipment, - Monster, - Organization, - Skill, - Spell, - Steamjack, - Thrall - - Geography -
No Quarter #52 - Ability, - Adventure, - Character Creation, - Disease, - Individual, - Monster, - Organization - - Alchemy, - Armory, - Equipment, - Mechanika, - Monsternomicon, - Skill, - Spell, - Steamjack, - Thrall - - Geography -
No Quarter #53 - Adventure, - Alchemy, - Armory, - Individual, - Mechanika, - Monster, - Steamjack - - Ability, - Character Creation, - Disease, - Equipment, - Monsternomicon, - Organization, - Skill, - Spell, - Thrall - - Geography -
- -

Adventures

- - - - - - - - - - - - - - - - - -
PublicationAvailable contentsUnavailable contentsNot checked
Fools Rush In - Adventure, - Monster - - Ability, - Alchemy, - Armory, - Character Creation, - Disease, - Equipment, - Geography, - Mechanika, - Monsternomicon, - Organization, - Skill, - Spell, - Steamjack, - Thrall - - Individual -
- -

Supplements

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PublicationAvailable contentsUnavailable contentsNot checked
Core Rules Bestiary Expanded - Monster, - Spell - - Ability, - Adventure, - Alchemy, - Armory, - Character Creation, - Disease, - Equipment, - Individual, - Geography, - Mechanika, - Monsternomicon, - Organization, - Skill, - Steamjack, - Thrall - -   -
Errata (22.02.2013) - Ability - - Adventure, - Alchemy, - Armory, - Character Creation, - Disease, - Equipment, - Individual, - Geography, - Mechanika, - Monsternomicon, - Monster, - Organization, - Skill, - Spell, - Steamjack, - Thrall - -   -
Full Metal Friday 1/1/1 - Character Creation - - Ability, - Adventure, - Alchemy, - Armory, - Disease, - Equipment, - Individual, - Geography, - Mechanika, - Monsternomicon, - Monster, - Organization, - Skill, - Spell, - Steamjack, - Thrall - -   -
Full Metal Friday 1/1/2 - Ability, - Armory, - Character Creation - - Adventure, - Alchemy, - Disease, - Equipment, - Individual, - Geography, - Mechanika, - Monsternomicon, - Monster, - Organization, - Skill, - Spell, - Steamjack, - Thrall - -   -
Full Metal Friday 1/1/3 -   - - Ability, - Alchemy, - Armory, - Character Creation, - Disease, - Equipment, - Geography, - Mechanika, - Monsternomicon, - Monster, - Organization, - Skill, - Spell, - Steamjack, - Thrall - - Adventure, - Individual -
Full Metal Friday 1/1/4 - Adventure, - Monster - - Ability, - Alchemy, - Armory, - Character Creation, - Disease, - Equipment, - Individual, - Geography, - Mechanika, - Monsternomicon, - Organization, - Skill, - Spell, - Steamjack, - Thrall - -   -
Full Metal Friday 1/2/1 - Alchemy - - Ability, - Adventure, - Armory, - Character Creation, - Disease, - Equipment, - Individual, - Geography, - Mechanika, - Monsternomicon, - Monster, - Organization, - Skill, - Spell, - Steamjack, - Thrall - -   -
Full Metal Friday 1/2/2 - Alchemy, - Armory - - Ability, - Adventure, - Character Creation, - Disease, - Equipment, - Individual, - Geography, - Mechanika, - Monsternomicon, - Monster, - Organization, - Skill, - Spell, - Steamjack, - Thrall - -   -
Full Metal Friday 1/2/3 - Armory - - Ability, - Adventure, - Alchemy, - Character Creation, - Disease, - Equipment, - Individual, - Geography, - Mechanika, - Monsternomicon, - Monster, - Organization, - Skill, - Spell, - Steamjack, - Thrall - -   -
Full Metal Friday 1/2/4 - Adventure, - Monster - - Ability, - Alchemy, - Armory, - Character Creation, - Disease, - Equipment, - Individual, - Geography, - Mechanika, - Monsternomicon, - Organization, - Skill, - Spell, - Steamjack, - Thrall - -   -
Full Metal Friday 1/3/1 - Alchemy, - Equipment - - Ability, - Adventure, - Armory, - Character Creation, - Disease, - Individual, - Geography, - Mechanika, - Monsternomicon, - Monster, - Organization, - Skill, - Spell, - Steamjack, - Thrall - -   -
Full Metal Friday 1/3/2 -   - - Ability, - Alchemy, - Armory, - Character Creation, - Disease, - Equipment, - Geography, - Mechanika, - Monsternomicon, - Monster, - Organization, - Skill, - Spell, - Steamjack, - Thrall - - Adventure, - Individual -
Full Metal Friday 1/3/3 -   - - Ability, - Adventure, - Alchemy, - Armory, - Character Creation, - Disease, - Equipment, - Individual, - Geography, - Mechanika, - Monsternomicon, - Monster, - Organization, - Skill, - Spell, - Steamjack, - Thrall - -   -
Full Metal Friday 1/3/4 - Adventure, - Monster - - Ability, - Alchemy, - Armory, - Character Creation, - Disease, - Equipment, - Individual, - Geography, - Mechanika, - Monsternomicon, - Organization, - Skill, - Spell, - Steamjack, - Thrall - -   -
Full Metal Friday 1/4/1 -   - - Ability, - Adventure, - Alchemy, - Armory, - Character Creation, - Disease, - Equipment, - Individual, - Geography, - Mechanika, - Monsternomicon, - Monster, - Organization, - Skill, - Spell, - Steamjack, - Thrall - -   -
Full Metal Friday 1/4/2 -   - - Ability, - Adventure, - Alchemy, - Armory, - Character Creation, - Disease, - Equipment, - Individual, - Geography, - Mechanika, - Monsternomicon, - Monster, - Organization, - Skill, - Spell, - Steamjack, - Thrall - -   -
Full Metal Friday 1/4/3 - Armory, - Organization - - Ability, - Adventure, - Alchemy, - Character Creation, - Disease, - Equipment, - Individual, - Geography, - Mechanika, - Monsternomicon, - Monster, - Skill, - Spell, - Steamjack, - Thrall - -   -
Full Metal Friday 1/4/4 - Monster - - Ability, - Alchemy, - Armory, - Character Creation, - Disease, - Equipment, - Geography, - Mechanika, - Monsternomicon, - Organization, - Skill, - Spell, - Steamjack, - Thrall - - Adventure, - Individual -
Full Metal Friday 1/5/1 - Armory - - Ability, - Adventure, - Alchemy, - Character Creation, - Disease, - Equipment, - Individual, - Geography, - Mechanika, - Monsternomicon, - Monster, - Organization, - Skill, - Spell, - Steamjack, - Thrall - -   -
Full Metal Friday 1/5/2 -   - - Ability, - Adventure, - Alchemy, - Armory, - Character Creation, - Disease, - Equipment, - Individual, - Geography, - Mechanika, - Monsternomicon, - Monster, - Organization, - Skill, - Spell, - Steamjack, - Thrall - -   -
Full Metal Friday 1/5/3 - Skill - - Ability, - Adventure, - Alchemy, - Armory, - Character Creation, - Disease, - Equipment, - Individual, - Geography, - Mechanika, - Monsternomicon, - Monster, - Organization, - Spell, - Steamjack, - Thrall - -   -
Full Metal Friday 1/5/4 - Adventure, - Monster - - Ability, - Alchemy, - Armory, - Character Creation, - Disease, - Equipment, - Individual, - Geography, - Mechanika, - Monsternomicon, - Organization, - Skill, - Spell, - Steamjack, - Thrall - -   -
\ No newline at end of file diff --git a/static/images/ppforums/Hogwash-Alternate-Ending.png b/static/images/ppforums/Hogwash-Alternate-Ending.png new file mode 100644 index 0000000..ecc9e3d Binary files /dev/null and b/static/images/ppforums/Hogwash-Alternate-Ending.png differ diff --git a/static/javascripts/foo.js b/static/javascripts/foo.js deleted file mode 100644 index 5004722..0000000 --- a/static/javascripts/foo.js +++ /dev/null @@ -1,211 +0,0 @@ -function addListener(elem, event, f) { - if (elem.addEventListener) elem.addEventListener(event, f, false); - else elem.attachEvent("on"+event, f); -} - -function Heroic(Hero) { - var self = this; - self.search = ""; - self.url = function() { - document.location.search = self.search; - }; - self.redirect = function(link) { - link.href = self.url(); - link.click(); - }; - self.switchWeapons = function() { - var r1m1 = Hero.r1m1; - var r2m1 = Hero.r2m1; - var r1m2 = Hero.r1m2; - var r2 = Hero.r2; - var m2 = Hero.m2; - if (r1m1 == true) { Hero.r1m1 = false; Hero.r2m1 = true; } - else if (r2m1 == true) { Hero.r2m1 = false; Hero.r1m2 = true; } - else if (r1m2 == true) { Hero.r1m2 = false; Hero.r2 = true; } - else if (r2 == true) { Hero.r2 = false; Hero.m2 = true; } - else if (m2 == true) { Hero.m2 = false; Hero.r1m1 = true; } - else { Hero.r1m1 = true; } - document.location.search = encodeURIComponent(JSON.stringify(Hero)); - }; - self.bind = function() { - var query = window.location.search; - var Query = (query == "") ? {} : JSON.parse(unescape(query.substring(1))); - - for (attr in Query) Hero[attr] = Query[attr]; - - var isArray = function(someVar) { return Object.prototype.toString.call(someVar) === "[object Array]"; }; - var isBoolean = function(someVar) { return Object.prototype.toString.call(someVar) === "[object Boolean]"; }; - var isDefined = function(someVar) { return typeof someVar !== "undefined" && someVar != null; }; - var isString = function(someVar) { return typeof someVar === "string"; }; - var isNumber = function(someVar) { return typeof someVar === "number"; }; - var isObject = function(someVar) { return typeof someVar === "object"; }; - - var observe; - if (window.attachEvent) observe = function (element, event, handler) { element.attachEvent('on'+event, handler); }; - else observe = function (element, event, handler) { element.addEventListener(event, handler, false); }; - - var resizeTextarea = function(textarea) { - return function() { - textarea.style.height = "auto"; - textarea.style.height = (textarea.scrollHeight)+"px"; - }; - }; - var delayedTextareaResize = function(textarea) { - return function() { window.setTimeout(resizeTextarea(textarea), 0); }; - }; - var autoresizableTextarea = function(textarea) { - observe(textarea, "change", resizeTextarea(textarea)); - observe(textarea, "cut", delayedTextareaResize(textarea)); - observe(textarea, "paste", delayedTextareaResize(textarea)); - observe(textarea, "drop", delayedTextareaResize(textarea)); - observe(textarea, "keydown", delayedTextareaResize(textarea)); - }; - - var redirect = function() { - self.search = encodeURIComponent(JSON.stringify(Hero)); - }; - - var initialize = function() { - var textareas = document.querySelectorAll("textarea"); - var fillOut = function(attribute, value) { - if (isString(value) || isNumber(value)) { - var element = document.querySelector("input#"+attribute); - if (element != null && isDefined(element.value)) { - element.value = value; - if (element.nodeName == "TEXTAREA") resizeTextarea(element)(); - } - } else if (isObject(value)) { - var parent = document.querySelector("#"+attribute); - for (key in value) { - var child = parent.querySelector("input."+key+", textarea."+key); - if (child != null && isDefined(child.value)) { - child.value = value[key]; - if (child.nodeName == "TEXTAREA") resizeTextarea(child)(); - } - } - } - }; - var saveOnChange = function(attribute, value) { - var updateSearchString; - if (isString(value) || isNumber(value)) { - var input = document.querySelector("input#"+attribute); - updateSearchString = function() { - Hero[attribute] = input.value; - //Hero["focus"] = attribute; - redirect(); - }; - if (isDefined(input)) { - //input.addEventListener("change", updateSearchString, false); - addListener(input, "change", updateSearchString); - } - } else if (isObject(value)) { - var parent = document.querySelector("#"+attribute); - updateSearchString = function(key, input) { - return function() { - Hero[attribute][key] = input.value; - //Hero["focus"] = attribute; - redirect(); - }; - }; - for (key in value) { - var child = parent.querySelector("input."+key+", textarea."+key); - if (isDefined(child)) { observe(child, "change", updateSearchString(key, child)); } - } - } - }; - var showWeapons = function(hero) { - var setDisplay = function(element, bool) { if (isDefined(element.style)) element.style.display = (bool) ? "block" : "none"; }; - var showElement = function(element) { setDisplay(element, true); }; - var hideElement = function(element) { setDisplay(element, false); }; - var showElements = function(array) { if (isDefined(array.forEach)) array.forEach(showElement); }; - var hideElements = function(array) { if (isDefined(array.forEach)) array.forEach(hideElement); }; - var r1m1 = document.querySelector("div#r1m1"); - var r2m1 = document.querySelector("div#r2m1"); - var r1m2 = document.querySelector("div#r1m2"); - var r2 = document.querySelector("div#r2"); - var m2 = document.querySelector("div#m2"); - var rat1 = document.querySelector("div#rat1"); - var rat2 = document.querySelector("div#rat2"); - var mat1 = document.querySelector("div#mat1"); - var mat2 = document.querySelector("div#mat2"); - var mat3 = document.querySelector("div#mat3"); - if (isBoolean(hero.r1m1) && hero.r1m1 == true) { - showElements([ r1m1, rat1, mat2 ]); - hideElements([ r2m1, r1m2, r2, m2, mat1, rat2, mat3 ]); - } else if (isBoolean(hero.r2m1) && hero.r2m1 == true) { - showElements([ r2m1, rat1, rat2, mat3 ]); - hideElements([ r1m1, r1m2, r2, m2, mat1, mat2 ]); - } else if (isBoolean(hero.r1m2) && hero.r1m2 == true) { - showElements([ r1m2, rat1, mat2, mat3 ]); - hideElements([ r1m1, r2m1, r2, m2, mat1, rat2 ]); - } else if (isBoolean(hero.r2) && hero.r2 == true) { - showElements([ r2, rat1, rat2 ]); - hideElements([ r1m1, r2m1, r1m2, m2, mat1, mat2, mat3 ]); - } else if (isBoolean(hero.m2) && hero.m2 == true) { - showElements([ m2, mat1, mat2 ]); - hideElements([ r1m1, r2m1, r1m2, r2, rat1, rat2, mat3 ]); - } - }; - //var focusLastInput = function(hero) { - // if (isDefined(hero["focus"])) { - // var input = document.querySelector("input#"+hero["focus"]); - // if (input == null) input = document.querySelector("#"+hero["focus"]+" input"); - // if (input != null) { input.focus(); input.scrollIntoView(); } - // } - //}; - var setPortrait = function(hero) { - var portrait = hero["portrait"] - , portraitDiv = document.querySelector("#portrait"); - if (portrait && portraitDiv) { - var url = portrait["url"] - , x = portrait["x"] - , y = portrait["y"] - , size = portrait["size"]; - if (url != null && x != null && y != null && size != null) { - var sheet = document.querySelector("div.sheet"); - if (sheet) { - sheet.style["backgroundImage"] = "url("+url+")"; - sheet.style["backgroundPosition"] = x+"px "+y+"px"; - sheet.style["backgroundSize"] = isNaN(parseInt(size, 10)) ? size : size+"px"; - } - } - } - }; - - for (var i = 0; i < textareas.length; i++) { autoresizableTextarea(textareas[i]); } - showWeapons(Hero); - for (attribute in Hero) { fillOut(attribute, Hero[attribute]); } - for (attribute in Hero) { saveOnChange(attribute, Hero[attribute]); } - setPortrait(Hero); - //focusLastInput(Hero); - - //var names = document.querySelectorAll("section > input.name"); - //for (name in names) { names[name].value = Hero["name"]; } - - var displayPortrait = function(portrait, value, pointerEvent) { - return function(event) { - event.preventDefault(); - event.stopPropagation(); - var inputs = portrait.querySelectorAll("input"); - - for (var index = 0; index < inputs.length; index++) { - var input = inputs.item(index); - input.style["display"] = value; - portrait.style["pointerEvents"] = pointerEvent; - } - }; - }; - - var portrait = document.querySelector("#portrait"); - if (portrait != null) { - addListener(portrait, "click", displayPortrait(portrait, "block", "none")); - var button = portrait.querySelector("input[type='button']"); - addListener(button, "click", function(event) { displayPortrait(portrait, "none", "auto")(event); setPortrait(Hero); }); - } - - redirect(); - }; - - document.addEventListener("DOMContentLoaded", initialize, false); - }; -} \ No newline at end of file diff --git a/static/javascripts/generator.js b/static/javascripts/generator.js index 8200d13..7f27aaf 100644 --- a/static/javascripts/generator.js +++ b/static/javascripts/generator.js @@ -2830,7 +2830,7 @@ var ikrpg = ikrpg || {}; choices([ numberPair(_STR, 1), numberPair(_INT, 1) ], "Choose 1"), listItem(_notes, "Workers gain boosted Craft rolls") ] - } + }; var archetypes = { "Cunning": [ string(_archetype, "Cunning"), @@ -4746,7 +4746,7 @@ var ikrpg = ikrpg || {}; "Sneak", "Survival"]), listItem(_benefits, "Preternatural Awareness"), - listItem(_melee_weapons, "Nyss Claymore (FMF)"), + listItem(_melee_weapons, "Nyss Claymore"), listItem(_ranged_weapons, "Bow, Nyss") ], "Vassal of Menoth": [