Added melee and ranged weapon updates to Character Generator.

This commit is contained in:
Yord 2015-09-28 23:06:47 +02:00
parent 2e32d42f0c
commit cec79fa2b2
6 changed files with 515 additions and 56 deletions

View file

@ -55,6 +55,7 @@ tags: [Character Generator]
Bugs:
B010: Custom descriptions stay when I generate a new hero.
B020: Changing font size in mechanika and connections and such.
B030: Is computed-SPD stored in save()?
Features:
F010: Add Chrome sync for local store!
@ -168,30 +169,40 @@ tags: [Character Generator]
<input id="wil" title="WIL" type="text" />
<div id="rat1">
<input class="name" title="Name" type="text" />
<input class="skill" title="Skill" type="hidden" />
<input class="rng" title="RNG" type="text" />
<input class="rat" title="RAT" type="text" />
<input class="ratmod" title="RAT mod" type="hidden" />
<input class="pow" title="POW" type="text" />
<input class="notes" title="Notes" type="text" />
<input class="ammo" title="Ammo" type="text" />
</div>
<div id="rat2">
<input class="name" title="Name" type="text" />
<input class="skill" title="Skill" type="hidden" />
<input class="rng" title="RNG" type="text" />
<input class="rat" title="RAT" type="text" />
<input class="ratmod" title="RAT mod" type="hidden" />
<input class="pow" title="POW" type="text" />
<input class="notes" title="Notes" type="text" />
<input class="ammo" title="Ammo" type="text" />
</div>
<div id="mat1">
<input class="name" title="Name" type="text" />
<input class="skill" title="Skill" type="hidden" />
<input class="mat" title="MAT" type="text" />
<input class="ps" title="POW" type="text" />
<input class="matmod" title="RAT mod" type="hidden" />
<input class="pow" title="POW" type="hidden" />
<input class="ps" title="PS" type="text" />
<input class="notes" title="Notes" type="text" />
</div>
<div id="mat2">
<input class="name" title="Name" type="text" />
<input class="skill" title="Skill" type="hidden" />
<input class="mat" title="MAT" type="text" />
<input class="ps" title="POW" type="text" />
<input class="matmod" title="RAT mod" type="hidden" />
<input class="pow" title="POW" type="hidden" />
<input class="ps" title="PS" type="text" />
<input class="notes" title="Notes" type="text" />
</div>
<div id="mat3">

View file

@ -63,26 +63,8 @@ tags: [ Rules ]
</thead>
</table>
<h2 id="Magical-Melee-Weapon">Magical Melee Weapon Index</h2>
<table data-category="Armory" data-subcategory="Magical Melee Weapon" class="hero">
<thead>
<tr class="filters">
<th><input type="text" class="column_filter col0_filter" data-column="0" placeholder="search..." /></th>
<th><input type="text" class="column_filter col1_filter" data-column="1" placeholder="search..." /></th>
<th><input type="text" class="column_filter col2_filter" data-column="2" placeholder="search..." /></th>
<th><input type="text" class="column_filter col3_filter" data-column="3" placeholder="search..." /></th>
</tr>
<tr>
<th>Magical Melee Weapon</th>
<th>Publication</th>
<th>Page</th>
<th>Game</th>
</tr>
</thead>
</table>
<h2 id="Ranged-Weapon">Ranged Weapon Index</h2>
<table data-category="Armory" data-subcategory="Ranged Weapon" class="veteran">
<table data-category="Armory" data-subcategory="Ranged Weapon" class="hero">
<thead>
<tr class="filters">
<th><input type="text" class="column_filter col0_filter" data-column="0" placeholder="search..." /></th>
@ -100,7 +82,7 @@ tags: [ Rules ]
</table>
<h2 id="Ammunition">Ammunition Index</h2>
<table data-category="Armory" data-subcategory="Ammunition" class="epic">
<table data-category="Armory" data-subcategory="Ammunition" class="veteran">
<thead>
<tr class="filters">
<th><input type="text" class="column_filter col0_filter" data-column="0" placeholder="search..." /></th>
@ -118,7 +100,7 @@ tags: [ Rules ]
</table>
<h2 id="Ranged-Weapon-Accessory">Ranged Weapon Accessory Index</h2>
<table data-category="Armory" data-subcategory="Ranged Weapon Accessory" class="hero">
<table data-category="Armory" data-subcategory="Ranged Weapon Accessory" class="epic">
<thead>
<tr class="filters">
<th><input type="text" class="column_filter col0_filter" data-column="0" placeholder="search..." /></th>
@ -136,7 +118,7 @@ tags: [ Rules ]
</table>
<h2 id="Improvised-Ranged-Weapon">Improvised Ranged Weapon Index</h2>
<table data-category="Armory" data-subcategory="Improvised Ranged Weapon" class="veteran">
<table data-category="Armory" data-subcategory="Improvised Ranged Weapon" class="hero">
<thead>
<tr class="filters">
<th><input type="text" class="column_filter col0_filter" data-column="0" placeholder="search..." /></th>
@ -154,7 +136,7 @@ tags: [ Rules ]
</table>
<h2 id="Magical-Weapon">Magical Weapon Index</h2>
<table data-category="Armory" data-subcategory="Magical Weapon" class="epic">
<table data-category="Armory" data-subcategory="Magical Weapon" class="veteran">
<thead>
<tr class="filters">
<th><input type="text" class="column_filter col0_filter" data-column="0" placeholder="search..." /></th>

View file

@ -46,8 +46,8 @@ tags: [ Rules ]
</thead>
</table>
<h2 id="Duelling-Maneuver">Duelling Maneuver Index</h2>
<table data-category="Skill" data-subcategory="Duelling Maneuver" class="epic">
<h2 id="Dueling-Maneuver">Dueling Maneuver Index</h2>
<table data-category="Skill" data-subcategory="Dueling Maneuver" class="epic">
<thead>
<tr class="filters">
<th><input type="text" class="column_filter col0_filter" data-column="0" placeholder="search..." /></th>
@ -56,7 +56,7 @@ tags: [ Rules ]
<th><input type="text" class="column_filter col3_filter" data-column="3" placeholder="search..." /></th>
</tr>
<tr>
<th>Duelling Maneuver</th>
<th>Dueling Maneuver</th>
<th>Publication</th>
<th>Page</th>
<th>Game</th>

View file

@ -1,5 +1,5 @@
CACHE MANIFEST
# 2015-09-20 13:01
# 2015-09-28
CACHE:

View file

@ -468,7 +468,7 @@ var ikrpg = ikrpg || {};
})();
// ## Worn Armor Index ## \\
// ## Worn Armor DB ## \\ TODO: Add Warcaster Armor etc.
(function() {
var wornArmorDB = {
@ -507,6 +507,217 @@ var ikrpg = ikrpg || {};
})();
// ## Melee Weapon DB ## \\
(function() {
var meleeWeaponDB = {
"Ancestral Guardian Stone Weapon": undefined,
"Annihilator Blade": undefined,
"Assassin's Blade": { "skill": "Hand Weapon", "mat-mod": -1, "pow": 4, "notes": "+2 backstrike" },
"Axe": { "skill": "Hand Weapon", "mat-mod": 0, "pow": 3, "notes": "" },
"Axe, Great": { "skill": "Great Weapon", "mat-mod": 0, "pow": 6, "notes": "Crit: +1 die dmg" },
"Axe, Horseman's": { "skill": "Hand Weapon", "mat-mod": -1, "pow": 3, "notes": "reach, mounted: at-mod 0, POW 5, +2 charge at" },
"Axe, Ice": undefined,
"Axe, Riding": undefined,
"Axe, Tharn": undefined,
"Az'Tal": undefined,
"Barbed Whip": undefined,
"Battle Hammer": undefined,
"Bayonet": { "skill": "Great Weapon", "mat-mod": -1, "pow": 3, "notes": "reach, for Rifles, +2 charge at" },
"Blackclad Voulge": undefined,
"Blast Shield": undefined,
"Blasting Lance": undefined,
"Blasting Pike": { "skill": "Great Weapon", "mat-mod": -2, "pow": 7, "notes": "reach, Crit: Knockdown" },
"Blazing Sword": undefined,
"Blessed Lance": undefined,
"Bloodtracker Fighting Claw": undefined,
"Caspian Battleblade": { "skill": "Great Weapon", "mat-mod": 0, "pow": 6, "notes": "1-H: mat-mod -1, POW 4" },
"Cat's Paw": undefined,
"Cleft Spear": undefined,
"Cleft Sword": undefined,
"Cloak, Weighted": undefined,
"Clockwork Injector": undefined,
"Club": { "skill": "Hand Weapon", "mat-mod": 0, "pow": 2, "notes": "Crit: Knockout chance" },
"Club, Banded": { "skill": "Great Weapon", "mat-mod": -1, "pow": 4, "notes": "Crit: Knockout chance" },
"Consecrated Halbert": undefined,
"Cutlass": { "skill": "Hand Weapon", "mat-mod": -1, "pow": 4, "notes": "" },
"Dagger": { "skill": "Hand Weapon", "mat-mod": 1, "pow": 1, "notes": "" },
"Dagger, Poisoner's": undefined,
"Deadblow Hammer": undefined,
"Dueling Buckler": undefined,
"Durkin Bar": undefined,
"Electro Lance": undefined,
"Entrenching Tool, Military": undefined,
"Fellblade": undefined,
"Fighting Claws, Pair": undefined,
"Firebrand": undefined,
"Flail": { "skill": "Hand Weapon", "mat-mod": -1, "pow": 4, "notes": "ignore shields" },
"Flail, Two-Handed": { "skill": "Great Weapon", "mat-mod": -2, "pow": 6, "notes": "reach, ignore shields, Crit: p.255" },
"Flame Spear": undefined,
"Gaff Spear": undefined,
"Gaff, Hand": undefined,
"Gaff, Pole": undefined,
"Garrote": undefined,
"Garrote, Clockwork": undefined,
"Halbert": { "skill": "Great Weapon", "mat-mod": 0, "pow": 5, "notes": "reach, +2 charge at, 1-H: at-mod -1, POW 4" },
"Hand Pick": undefined,
"Hooked Great Sword": undefined,
"Ice Axe": undefined,
"Ice Maul": undefined,
"Ilena's Chain-Axe": undefined,
"Katara, Pair": undefined,
"Knuckledriver": undefined,
"Knuckledusters": { "skill": "Unarmed Combat", "mat-mod": 0, "pow": 1, "notes": "better knockouts" },
"Kolas Club": undefined,
"Kopis": { "skill": "Hand Weapon", "mat-mod": -1, "pow": 3, "notes": "+2 charge at, Crit: 1 feat for +1 die dmg" },
"Lacerator": undefined,
"Lance": { "skill": "Lance", "mat-mod": 0, "pow": 8, "notes": "reach" },
"Mace": { "skill": "Hand Weapon", "mat-mod": -1, "pow": 4, "notes": "Crit: Knockout chance" },
"Man Catcher": undefined,
"Maul": { "skill": "Great Weapon", "mat-mod": 0, "pow": 6, "notes": "Crit: 1 feat slam d3" },
"Mechanoflail": undefined,
"FMF Nyss Claymore": { "skill": "Great Weapon", "mat-mod": 0, "pow": 6, "notes": "1 feat: boost at" },
"IKU Nyss Claymore": undefined,
"Nyss Great Sword": undefined,
"Ogrun Warcleaver": { "skill": "Great Weapon", "mat-mod": -1, "pow": 6, "notes": "reach, +2 charge at" },
"Orgoth Staff": undefined,
"Pen, Blade": undefined,
"Pen, Poison": undefined,
"Pickaxe": { "skill": "Hand Weapon", "mat-mod": -1, "pow": 4, "notes": "special: p. 257" },
"Pike": undefined,
"Railman's Adze": undefined,
"Rapier": { "skill": "Hand Weapon", "mat-mod": 0, "pow": 2, "notes": "1 feat boost at and dmg" },
"Reclaimant Torch": undefined,
"Relic Blade": undefined,
"Retractable Lance": undefined,
"Rynnish Fan": undefined,
"Sacral Blade": undefined,
"Shield": { "skill": "Shield", "mat-mod": 0, "pow": 0, "notes": "" },
"Shield, Combat": { "skill": "Shield", "mat-mod": -1, "pow": 3, "notes": "" },
"Shield, Karax": undefined,
"Spear": { "skill": "Great Weapon", "mat-mod": -1, "pow": 5, "notes": "reach, +2 charge at, 1-H: POW 4" },
"Spear, Cavalry": undefined,
"Spear, War": undefined,
"Spike Mail": undefined,
"Springblade": { "skill": "Hand Weapon", "mat-mod": 0, "pow": 1, "notes": "draw without quick action" },
"Staff": { "skill": "Great Weapon", "mat-mod": 0, "pow": 3, "notes": "reach, 1 feat: trip at" },
"Staff, Battle": { "skill": "Great Weapon", "mat-mod": 0, "pow": 4, "notes": "reach, 1 feat: trip at, Crit: Knockout chance" },
"Stone Great Sword": undefined,
"Stormcaller and Lightning Rod": undefined,
"Sword": { "skill": "Hand Weapon", "mat-mod": 0, "pow": 3, "notes": "" },
"Sword Cane": { "skill": "Hand Weapon", "mat-mod": 0, "pow": 0, "notes": "drawn POW 2" },
"Sword, Dress": undefined,
"Sword, Great": { "skill": "Great Weapon", "mat-mod": 0, "pow": 6, "notes": "reach" },
"Sword, Praetorian, Pair": undefined,
"Telescoping Staff": undefined,
"Tobresh": undefined,
"Tournament Foil": undefined,
"Trench Knife": { "skill": "Hand Weapon", "mat-mod": 0, "pow": 2, "notes": "alt. Unarmed Combat" },
"Trench Sword": { "skill": "Hand Weapon", "mat-mod": -1, "pow": 4, "notes": "alt. Unarmed Combat" },
"Trollkin Rune Axe": undefined,
"Voltaic Halbert": undefined,
"War Hammer": { "skill": "Great Weapon", "mat-mod": -1, "pow": 5, "notes": "Crit: Knockout chance" }
};
ikrpg.generator.db.meleeWeapon = meleeWeaponDB;
})();
// ## Ranged Weapon DB ## \\
(function() {
var rangedWeaponDB = {
"Arcus": undefined,
"Assault Kommando Flamethrower": undefined,
"Axe, Throwing": { "rng": 6, "skill": "Thrown Weapon", "pow": 3, "rat-mod": 0, "notes": "add STR to POW", "ammo": "" },
"Blowtorch": undefined,
"Blunderbuss": { "rng": 8, "skill": "Rifle", "pow": 12, "rat-mod": -1, "notes": "1-H: RAT -2", "ammo": "1" },
"Bola": { "rng": 8, "skill": "Thrown Weapon", "pow": 0, "rat-mod": -2, "notes": "add STR to POW", "ammo": "" },
"Bomb Lance": undefined,
"Bombardier Grenade Cannon": undefined,
"Bow": { "rng": 10, "skill": "Archery", "pow": 10, "rat-mod": 0, "notes": "", "ammo": "1" },
"Bow, Great": { "rng": 10, "skill": "Archery", "pow": 12, "rat-mod": 0, "notes": "", "ammo": "1" },
"Bow, Nyss": { "rng": 12, "skill": "Archery", "pow": 10, "rat-mod": 0, "notes": "", "ammo": "1" },
"Bow, Tharn": undefined,
"Cannon, Royal Weight": undefined,
"Cannon-Shield": { "rng": 8, "skill": "Rifle", "pow": 12, "rat-mod": -2, "notes": "", "ammo": "1" },
"Carbine": { "rng": 10, "skill": "Rifle", "pow": 10, "rat-mod": 0, "notes": "", "ammo": "5" },
"Chain Gun": undefined,
"Crossbow": { "rng": 10, "skill": "Crossbow", "pow": 12, "rat-mod": 0, "notes": "1-H: RAT -2", "ammo": "1" },
"Crossbow, Dual": undefined,
"Crossbow, Lawbringer": undefined,
"Crossbow, Repeating": { "rng": 10, "skill": "Crossbow", "pow": 10, "rat-mod": -1, "notes": "", "ammo": "6" },
"Crucible Arms Model 603": undefined,
"Deck Gun": undefined,
"Dual Magelock": undefined,
"Dueling Pistols": undefined,
"Duelling Pistols": undefined,
"Efaarit Hunting Rifle": undefined,
"Execrator Pistol": undefined,
"Explosive Cufflinks": undefined,
"Farrow Pig Iron": undefined,
"Farrow Razorback": undefined,
"Field Gun": undefined,
"Fire Bomb": undefined,
"Flare Pistol": undefined,
"Flayer Cannon": undefined,
"Grenade, Concussion": { "rng": 8, "skill": "Thrown Weapon", "pow": "", "rat-mod": 0, "notes": "AOE 3", "ammo": "" },
"Grenade, Explosive": { "rng": 8, "skill": "Thrown Weapon", "pow": 12, "rat-mod": 0, "notes": "AOE 3", "ammo": "" },
"Grenade, Smoke": { "rng": 8, "skill": "Thrown Weapon", "pow": "", "rat-mod": 0, "notes": "AOE 3", "ammo": "" },
"Grenade, Strangle Gas": { "rng": 8, "skill": "Thrown Weapon", "pow": "", "rat-mod": 0, "notes": "AOE 3", "ammo": "" },
"Gun Axe": { "rng": 8, "skill": "Rifle", "pow": 12, "rat-mod": -1, "notes": "", "ammo": "1" },
"Hand Cannon": { "rng": 12, "skill": "Pistol", "pow": 12, "rat-mod": 0, "notes": "", "ammo": "1" },
"Hand Cannon, Dual": { "rng": 12, "skill": "Pistol", "pow": 12, "rat-mod": 0, "notes": "", "ammo": "2" },
"Harpoon Gun": { "rng": 10, "skill": "Rifle", "pow": 12, "rat-mod": -2, "notes": "", "ammo": "1" },
"Incindus": undefined,
"Injection Pistol": undefined,
"Javelin": { "rng": 8, "skill": "Thrown Weapon", "pow": 3, "rat-mod": 0, "notes": "add STR to POW", "ammo": "" },
"Knife, Throwing": { "rng": 6, "skill": "Thrown Weapon", "pow": 2, "rat-mod": 0, "notes": "add STR to POW", "ammo": "" },
"Light Cannon": undefined,
"Linethrower": undefined,
"Man-O-War Axe Cannon": undefined,
"Man-O-War Shield Cannon": undefined,
"Mini-Slugger": undefined,
"Mortar": undefined,
"Ogrun Battle Cannon": { "rng": 12, "skill": "Rifle", "pow": 12, "rat-mod": -1, "notes": "AOE 3, 1-H: RAT -2", "ammo": "1" },
"Pen, Grenade": undefined,
"Pen, Shot": undefined,
"Pistol": { "rng": 8, "skill": "Pistol", "pow": 10, "rat-mod": 0, "notes": "", "ammo": "1" },
"Pistol, Collapsible": undefined,
"Pistol, Holdout": { "rng": 4, "skill": "Pistol", "pow": 8, "rat-mod": 1, "notes": "", "ammo": "1" },
"Pistol, Magelock": { "rng": 10, "skill": "Pistol", "pow": 10, "rat-mod": 0, "notes": "", "ammo": "1" },
"Pistol, Repeating": { "rng": 8, "skill": "Pistol", "pow": 10, "rat-mod": 0, "notes": "", "ammo": "5" },
"Purifier": undefined,
"Quad-Iron": { "rng": 10, "skill": "Pistol", "pow": 10, "rat-mod": -1, "notes": "", "ammo": "4" },
"Radcliffe Carbine": { "rng": 13, "skill": "Rifle", "pow": 11, "rat-mod": 0, "notes": "1-H: RAT -2", "ammo": "5" },
"Radcliffe Firestorm": undefined,
"Reiver": undefined,
"Rifle": undefined,
"Rifle, Collapsible": undefined,
"Rifle, Heavy": { "rng": 14, "skill": "Rifle", "pow": 12, "rat-mod": 0, "notes": "", "ammo": "1" },
"Rifle, Long": { "rng": 14, "skill": "Rifle", "pow": 10, "rat-mod": 0, "notes": "", "ammo": "1" },
"Rifle, Magelock": { "rng": 14, "skill": "Rifle", "pow": 10, "rat-mod": 0, "notes": "1-H: RAT -2", "ammo": "1" },
"Rifle, Military": { "rng": 10, "skill": "Rifle", "pow": 11, "rat-mod": 0, "notes": "", "ammo": "1" },
"Rilfe, Repeating": { "rng": 14, "skill": "Rifle", "pow": 10, "rat-mod": 0, "notes": "", "ammo": "5" },
"Rockbreaker Spray": undefined,
"Rocket Tube": undefined,
"Rynnish Walking Stick": { "rng": 8, "skill": "Rifle", "pow": 10, "rat-mod": 0, "notes": "1-H: RAT -2", "ammo": "1" },
"Scattergun": { "rng": 8, "skill": "Rifle", "pow": 12, "rat-mod": 0, "notes": "SP8, 1-H: RAT -2", "ammo": "1" },
"Skyhammer": undefined,
"Sling": { "rng": 10, "skill": "Thrown Weapon", "pow": 8, "rat-mod": -2, "notes": "", "ammo": "1" },
"Slug Gun": { "rng": 4, "skill": "Pistol", "pow": 14, "rat-mod": -1, "notes": "1-H: RAT -2", "ammo": "1" },
"Slugger": undefined,
"Snare Gun": undefined,
"Sword-Cannon, Heavy": { "rng": 10, "skill": "Rifle", "pow": 12, "rat-mod": -1, "notes": "", "ammo": "1" },
"Sword-Cannon, Repeating": { "rng": 10, "skill": "Rifle", "pow": 10, "rat-mod": -1, "notes": "", "ammo": "5" },
"Vislovski Carbine": undefined,
"War Spear": undefined
};
ikrpg.generator.db.rangedWeapon = rangedWeaponDB;
})();
})();
@ -614,7 +825,9 @@ var ikrpg = ikrpg || {};
var lvlValue = parseInt(input.val());
var baseValue = parseInt(skill.find(".base").val());
if((lvlValue || lvlValue == 0) && (baseValue || baseValue == 0)) {
skill.find(".sum").val(lvlValue + baseValue);
var sum = skill.find(".sum");
sum.val(lvlValue + baseValue);
sum.trigger("change");
}
});
@ -629,7 +842,9 @@ var ikrpg = ikrpg || {};
var baseValue = parseInt(input.val());
var lvlValue = parseInt(skill.find(".lvl").val());
if((lvlValue || lvlValue == 0) && (baseValue || baseValue == 0)) {
skill.find(".sum").val(lvlValue + baseValue);
var sum = skill.find(".sum");
sum.val(lvlValue + baseValue);
sum.trigger("change");
}
});
@ -671,6 +886,19 @@ var ikrpg = ikrpg || {};
})();
// ### Update SPD on computed SPD change ### \\
(function() {
$(".character-sheet #computed-spd").change(function(event) {
var input = $(event.target);
var computedSpd = parseInt(input.val()) || 0;
var spdMod = parseInt($(".character-sheet #wornarmor1 .spd").val()) || 0;
$(".character-sheet #spd").val(computedSpd - spdMod);
})
})();
})();
// ## Update page value on ability change ## \\
@ -691,6 +919,178 @@ var ikrpg = ikrpg || {};
})();
// ## Ranged Weapons ## \\
(function() {
var db = ikrpg.generator.db.rangedWeapon;
// ### Update on name change ### \\
(function() {
$(".character-sheet #rat1 .name, .character-sheet #rat2 .name").change(function(event) {
var input = $(event.target);
var title = input.val();
var rangedWeapon = input.parent();
// remove previously remembered skill and rat mod
rangedWeapon.find(".skill").val("");
rangedWeapon.find(".ratmod").val("");
var rangedWeaponData = db[title];
if(rangedWeaponData) {
rangedWeapon.find(".rng").val(rangedWeaponData["rng"]);
rangedWeapon.find(".pow").val(rangedWeaponData["pow"]);
rangedWeapon.find(".notes").val(rangedWeaponData["notes"]);
rangedWeapon.find(".ammo").val(rangedWeaponData["ammo"]);
rangedWeapon.find(".ratmod").val(rangedWeaponData["rat-mod"]);
var skillName = rangedWeaponData["skill"];
var skills = $.grep($(".character-sheet .skill .title"), function(input) { return $(input).val() == skillName; });
var skillDB = ikrpg.generator.db.skill;
var statNames = skillDB[skillName];
if(skills && skills.length > 0) {
var skill = $(skills[0]);
var lvl = parseInt(skill.parent().find(".lvl").val()) || 0;
if(statNames && statNames.length > 0) {
var statName = statNames[0].toLowerCase();
var stat = parseInt($(".character-sheet #"+statName).val()) || 0;
var ratMod = parseInt(rangedWeaponData["rat-mod"]);
rangedWeapon.find(".rat").val(stat + lvl + ratMod);
} else {
rangedWeapon.find(".rat").val("");
}
rangedWeapon.find(".skill").val(skillName);
} else {
rangedWeapon.find(".skill").val("");
rangedWeapon.find(".rat").val("");
}
}
});
})();
// ### Update RAT on skill lvl or sum change ### \\
(function() {
$(".character-sheet .skill .lvl, .character-sheet .skill .sum").change(function(event) {
var input = $(event.target);
var skill = input.parent();
var title = skill.find(".title").val();
var base = parseInt(skill.find(".base").val()) || 0;
var lvl = parseInt(skill.find(".lvl").val()) || 0;
var rangedWeaponSkills = $(".character-sheet #rat1 .skill[value='"+title+"'], .character-sheet #rat2 .skill[value='"+title+"']");
rangedWeaponSkills.each(function(index, rangedWeaponSkill) {
var rangedWeapon = $(rangedWeaponSkill).parent();
var ratMod = parseInt(rangedWeapon.find(".ratmod").val()) || 0;
rangedWeapon.find(".rat").val(base + lvl + ratMod);
});
});
})();
})();
// ## Melee Weapons ## \\
(function() {
var db = ikrpg.generator.db.meleeWeapon;
// ### Update on name change ### \\
(function() {
$(".character-sheet #mat1 .name, .character-sheet #mat2 .name").change(function(event) {
var input = $(event.target);
var name = input.val();
var meleeWeapon = input.parent();
// remove previously remembered skill, rat mod, and pow
meleeWeapon.find(".skill").val("");
meleeWeapon.find(".matmod").val("");
meleeWeapon.find(".pow").val("");
var meleeWeaponData = db[name];
if(meleeWeaponData) {
meleeWeapon.find(".notes").val(meleeWeaponData["notes"]);
meleeWeapon.find(".skill").val(meleeWeaponData["skill"]);
meleeWeapon.find(".matmod").val(meleeWeaponData["mat-mod"]);
meleeWeapon.find(".pow").val(meleeWeaponData["pow"]);
var skillName = meleeWeaponData["skill"];
var skills = $.grep($(".character-sheet .skill .title"), function(input) { return $(input).val() == skillName; });
if(skills && skills.length > 0) {
var skill = $(skills[0]).parent();
var sum = parseInt(skill.find(".sum").val()) || 0;
var matMod = parseInt(meleeWeaponData["mat-mod"]);
meleeWeapon.find(".mat").val(sum + matMod);
} else {
meleeWeapon.find(".mat").val("");
}
var str = parseInt($(".character-sheet #str").val()) || 0;
if(str || str == 0) {
var pow = parseInt(meleeWeaponData["pow"]);
meleeWeapon.find(".ps").val(pow + str);
} else {
meleeWeapon.find(".ps").val("");
}
}
});
})();
// ### Update MAT on skill lvl or sum change ### \\
(function() {
$(".character-sheet .skill .lvl, .character-sheet .skill .sum").change(function(event) {
var input = $(event.target);
var skill = input.parent();
var title = skill.find(".title").val();
var base = parseInt(skill.find(".base").val()) || 0;
var lvl = parseInt(skill.find(".lvl").val()) || 0;
var meleeWeaponSkills = $(".character-sheet #mat1 .skill[value='"+title+"'], .character-sheet #mat2 .skill[value='"+title+"']");
meleeWeaponSkills.each(function(index, meleeWeaponSkill) {
var meleeWeapon = $(meleeWeaponSkill).parent();
var matMod = parseInt(meleeWeapon.find(".matmod").val()) || 0;
meleeWeapon.find(".mat").val(base + lvl + matMod);
});
});
})();
// ### Update P+S on STR change ### \\
(function() {
$(".character-sheet #str").change(function(event) {
var input = $(event.target);
var str = parseInt(input.val());
$(".character-sheet #mat1, .character-sheet #mat2").each(function(index, mat) {
var name = $(mat).find(".name").val();
if(name) {
var pow = parseInt($(mat).find(".pow").val()) || 0;
$(mat).find(".ps").val(pow + str);
}
});
});
})();
})();
// ## Computed Values (DEF, ARM, INI, CMD) ## \\
(function() {
@ -1351,7 +1751,8 @@ var ikrpg = ikrpg || {};
list(_military_skills, ["Hand Weapon", "Thrown Weapon"]),
list(_occupational_skills, ["Alchemy", "Medicine"]),
number(_gold, 50),
list(_gear, ["alchemist's leather",
listItem(_armors, "Alchemist's Leather"),
list(_gear, [
"gas mask",
"travelling alchemist's kit",
"grenadier's bandolier",
@ -2345,11 +2746,43 @@ var ikrpg = ikrpg || {};
// #### Ranged Weapons #### \\
(function() {
var db = ikrpg.generator.db.rangedWeapon;
var rangedWeapons = data["ranged weapons"] || [];
$.each(rangedWeapons.sort(), function(index, weapon) {
character["rat"+(index+1)] = character["rat"+(index+1)] || {};
character["rat"+(index+1)]["name"] = weapon;
$.each(rangedWeapons.sort(), function(index, name) {
var rat = "rat"+(index+1);
character[rat] = character[rat] || {};
character[rat]["name"] = name;
var weapon = db[name];
if(weapon) {
var skill = weapon["skill"];
var ratMod = parseInt(weapon["rat-mod"]) || 0;
character[rat]["skill"] = skill;
character[rat]["ratmod"] = ratMod;
character[rat]["rng"] = weapon["rng"];
character[rat]["pow"] = weapon["pow"];
character[rat]["notes"] = weapon["notes"];
character[rat]["ammo"] = weapon["ammo"];
var mskills = histogram(data["military skills"]);
var lvl = mskills[skill];
var skillDB = ikrpg.generator.db.skill;
var mskill = skillDB[skill];
if(mskill) {
var stat = mskill[0];
var base = parseInt(character[stat.toLowerCase()]) || 0;
character[rat]["rat"] = base + lvl + ratMod;
} else {
character[rat]["rat"] = "";
}
}
});
})();
@ -2357,11 +2790,45 @@ var ikrpg = ikrpg || {};
// #### Melee Weapons #### \\
(function() {
var db = ikrpg.generator.db.meleeWeapon;
var meleeWeapons = data["melee weapons"] || [];
$.each(meleeWeapons.sort(), function(index, weapon) {
character["mat"+(index+1)] = character["mat"+(index+1)] || {};
character["mat"+(index+1)]["name"] = weapon;
$.each(meleeWeapons.sort(), function(index, name) {
var mat = "mat"+(index+1);
character[mat] = character[mat] || {};
character[mat]["name"] = name;
var weapon = db[name];
if(weapon) {
var skill = weapon["skill"];
var matMod = parseInt(weapon["mat-mod"]) || 0;
character[mat]["skill"] = skill;
character[mat]["matmod"] = matMod;
character[mat]["pow"] = weapon["pow"];
character[mat]["notes"] = weapon["notes"];
var str = parseInt(character["str"]) || 0;
var pow = parseInt(weapon["pow"]) || 0;
character[mat]["ps"] = pow + str;
var mskills = histogram(data["military skills"]);
var lvl = mskills[skill];
var skillDB = ikrpg.generator.db.skill;
var mskill = skillDB[skill];
if(mskill) {
var stat = mskill[0];
var base = parseInt(character[stat.toLowerCase()]) || 0;
character[mat]["mat"] = base + lvl + matMod;
} else {
character[mat]["mat"] = "";
}
}
});
})();

View file

@ -38,7 +38,7 @@ var ikrpg = ikrpg || {};
// Orgoth Relic
// Boon, Curse, Relic
// Skill
// Military Skill, Occupational Skill, Duelling Maneuver, Trick Riding, Group Tactics
// Military Skill, Occupational Skill, Dueling Maneuver, Trick Riding, Group Tactics
// Spell
// Steamjack
// Steamjack/Vector, Chassis, Cortex, Melee Weapon, Ranged Weapon, Gear/Upgrade, Tune-Up
@ -9824,15 +9824,6 @@ var ikrpg = ikrpg || {};
subcategory: "Improvised Melee Weapon",
game: "FMF"
},
// ##### Armory > Magical Melee Weapon ##### \\
{
name: "Greylords Rune Axe",
publication: "No Quarter #55",
page: "87",
category: "Armory",
subcategory: "Magical Melee Weapon",
game: "FMF"
},
// ##### Armory > Ranged Weapon ##### \\
{
name: "Arcus",
@ -10099,7 +10090,7 @@ var ikrpg = ikrpg || {};
game: "FMF"
},
{
name: "Duelling Pistols",
name: "Dueling Pistols",
publication: "Kings, Nations, and Gods",
page: "243",
category: "Armory",
@ -11014,6 +11005,14 @@ var ikrpg = ikrpg || {};
subcategory: "Magical Weapon",
game: "FMF"
},
{
name: "Greylords Rune Axe",
publication: "No Quarter #55",
page: "87",
category: "Armory",
subcategory: "Magical Weapon",
game: "FMF"
},
{
name: "Imprecator",
publication: "No Quarter #47",
@ -21280,13 +21279,13 @@ var ikrpg = ikrpg || {};
subcategory: "Occupational Skill",
game: "IKU"
},
// ##### Skill > Duelling Maneuver ##### \\
// ##### Skill > Dueling Maneuver ##### \\
{
name: "Deflecting Strike",
publication: "Full Metal Fridays 1/5/3",
page: "1",
category: "Skill",
subcategory: "Duelling Maneuver",
subcategory: "Dueling Maneuver",
game: "FMF"
},
{
@ -21294,7 +21293,7 @@ var ikrpg = ikrpg || {};
publication: "Full Metal Fridays 1/5/3",
page: "1",
category: "Skill",
subcategory: "Duelling Maneuver",
subcategory: "Dueling Maneuver",
game: "FMF"
},
{
@ -21302,7 +21301,7 @@ var ikrpg = ikrpg || {};
publication: "Full Metal Fridays 1/5/3",
page: "2",
category: "Skill",
subcategory: "Duelling Maneuver",
subcategory: "Dueling Maneuver",
game: "FMF"
},
{
@ -21310,7 +21309,7 @@ var ikrpg = ikrpg || {};
publication: "Full Metal Fridays 1/5/3",
page: "2",
category: "Skill",
subcategory: "Duelling Maneuver",
subcategory: "Dueling Maneuver",
game: "FMF"
},
{
@ -21318,7 +21317,7 @@ var ikrpg = ikrpg || {};
publication: "Full Metal Fridays 1/5/3",
page: "2",
category: "Skill",
subcategory: "Duelling Maneuver",
subcategory: "Dueling Maneuver",
game: "FMF"
},
// ##### Skill > Trick Riding ##### //