diff --git a/RolemasterUnified/sheet_RMU_v1_1.html b/RolemasterUnified/sheet_RMU_v1_1.html
index 2782e6e19a..d4d82c0093 100644
--- a/RolemasterUnified/sheet_RMU_v1_1.html
+++ b/RolemasterUnified/sheet_RMU_v1_1.html
@@ -1113,2884 +1113,3715 @@
-
Animal:[Ag]+ [Em]
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
Animal:
[Ag]+ [Em]
+
+
+
Awareness:
[In]+ [Re]
+
+
+
Battle Expertise:
[N/A]+ [N/A]
+
+
+
Body Discipline:
[Co]+ [Sd]
+
+
+
Brawn:
[Co]+ [Sd]
+
+
+
Combat Expertise:
[N/A]+ [N/A]
+
+
+
Combat Training:
[Ag]+ [St]
+
+
+
Composition:
[Em]+ [In]
+
+
+
Crafting:
[Ag]+ [Me]
+
+
+
Delving:
[Em]+ [In]
+
+
+
Environmental:
[In]+ [Me]
+
+
+
Gymnastic:
[Ag]+ [Qu]
+
+
+
Lore:
[Me]+ [Me]
+
+
+
Magical Expertise:
[N/A]+ [N/A]
+
+
+
Medical:
[In]+ [Me]
+
+
+
Mental Discipline:
[Pr]+ [SD]
+
+
+
Movement:
[Ag]+ [St]
+
+
+
Performance Art:
[Em]+ [Pr]
+
+
+
Power Manipulation:
[Realm]+ [Realm]
+
+
+
Science:
[Me]+ [Re]
+
+
+
Social:
[Em]+ [In]
+
+
+
Spellcasting:
[Realm]+ [Realm]
+
+
+
Subterfuge:
[Ag]+ [SD]
+
+
+
Technical:
[In]+ [Re]
+
+
+
Vocation:
[Em]+ [Me]
+
@@ -7419,14 +8250,25 @@
const int = (value, error = 0) => parseInt(value) || 0;
const float = (value, error = 0) => parseFloat(value) || 0;
+
// Build array for stat bonuses
const statbonuses = [0,-15,-14,-13,-12,-11,-10,-9,-9,-8,-8,-8,-7,-7,-6,-6,-6,-5,-5,-5,-5,-5,-5,-4,-4,-4,-4,-4,-4,-3,-3,-3,-3,-3,-3,-2,-2,-2,-2,-2,-2,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,1,1,1,1,1,1,2,2,2,2,2,2,3,3,3,3,3,3,4,4,4,4,4,4,5,5,5,5,5,5,6,6,6,7,7,7,8,8,8,9,9,10,11,12,13,14,15];
+const skillbonustag = ['ranks','isprof']
+
+//
+const skilllist = ['animalhandling1', 'animalhandling2', 'animalhandling3', 'riding1', 'riding2', 'riding3', 'perception', 'tracking', 'maneuveringarmor', 'mountedcombat', 'protect', 'restrictedquarters', 'subduing', 'adrenaldefense', 'adrenalfocus', 'adrenalspeed', 'adrenalstrength', 'bodydev', 'fortitude', 'weighttraining', 'blindfighting', 'disarm', 'footwork', 'multipleattacks', 'reversestrike', 'melee1', 'melee2', 'melee3', 'ranged1', 'ranged2', 'ranged3', 'shield', 'sweeps1', 'sweeps2', 'sweeps3', 'throws1', 'throws2', 'throws3', 'illusioncrafting', 'musicalcomposition', 'writing1', 'writing2', 'writing3', 'culinary', 'drawingpainting', 'fabriccraft', 'leathercraft', 'metalcraft', 'stonecraft', 'woodcraft', 'attunrment', 'runes', 'navigation', 'piloting1', 'piloting2', 'piloting3', 'survival1', 'survival2', 'survival3', 'acrobatics', 'contortions', 'jumping', 'creaturelore1', 'creaturelore2', 'creaturelore3', 'historiclore1', 'historiclore2', 'historiclore3', 'language1', 'language2', 'language3', 'materialslore1', 'materialslore2', 'materialslore3', 'raciallore1', 'raciallore2', 'raciallore3', 'regionlore1', 'regionlore2', 'regionlore3', 'religion1', 'religion2', 'religion3', 'spelllore', 'grace1', 'grace2', 'grace3', 'spelltrickery1', 'spelltrickery2', 'spelltrickery3', 'transcendence', 'herbalism', 'medicine', 'poisonmastery', 'controllycanthropy', 'meditation', 'mentalfocus', 'climbing', 'flying', 'running', 'swimming', 'acting', 'music1', 'music2', 'music3', 'stagemagic', 'channeling', 'bolts', 'illusions', 'hurling', 'powerdevelopment', 'powerprojection', 'architecture', 'astronomy', 'engineering', 'mathematics', 'influence1', 'influence2', 'influence3', 'leadership', 'socialawareness', 'trading', 'magicalritual1', 'magicalritual2', 'magicalritual3', 'open1', 'open2', 'open3', 'open4', 'open5', 'open6', 'open7', 'closed1', 'closed2', 'closed3', 'base1', 'base2', 'base3', 'arcane1', 'arcane2', 'arcane3', 'restricted1', 'restricted2', 'restricted3', 'ambush1', 'ambush2', 'ambush3', 'concealment', 'stalking', 'trickery', 'locks', 'mechanics1', 'mechanics2', 'mechanics3', 'traps', 'administration1', 'administration2', 'administration3', 'service1', 'service2', 'service3', 'trade1', 'trade2', 'trade3', ];
+const skillbonuslist = ['animalhandling1ranks', 'animalhandling2ranks', 'animalhandling3ranks', 'riding1ranks', 'riding2ranks', 'riding3ranks', 'ranks', 'perceptionranks', 'trackingranks', 'ranks', 'maneuveringarmorranks', 'mountedcombatranks', 'protectranks', 'restrictedquartersranks', 'subduingranks', 'ranks', 'adrenaldefenseranks', 'adrenalfocusranks', 'adrenalspeedranks', 'adrenalstrengthranks', 'ranks', 'bodydevranks', 'fortituderanks', 'weighttrainingranks', 'ranks', 'blindfightingranks', 'disarmranks', 'footworkranks', 'multipleattacksranks', 'reversestrikeranks', 'ranks', 'melee1ranks', 'melee2ranks', 'melee3ranks', 'ranged1ranks', 'ranged2ranks', 'ranged3ranks', 'shieldranks', 'sweeps1ranks', 'sweeps2ranks', 'sweeps3ranks', 'throws1ranks', 'throws2ranks', 'throws3ranks', 'ranks', 'illusioncraftingranks', 'musicalcompositionranks', 'writing1ranks', 'writing2ranks', 'writing3ranks', 'ranks', 'culinaryranks', 'drawingpaintingranks', 'fabriccraftranks', 'leathercraftranks', 'metalcraftranks', 'stonecraftranks', 'woodcraftranks', 'ranks', 'attunrmentranks', 'runesranks', 'ranks', 'navigationranks', 'piloting1ranks', 'piloting2ranks', 'piloting3ranks', 'survival1ranks', 'survival2ranks', 'survival3ranks', 'ranks', 'acrobaticsranks', 'contortionsranks', 'jumpingranks', 'ranks', 'creaturelore1ranks', 'creaturelore2ranks', 'creaturelore3ranks', 'historiclore1ranks', 'historiclore2ranks', 'historiclore3ranks', 'language1ranks', 'language2ranks', 'language3ranks', 'materialslore1ranks', 'materialslore2ranks', 'materialslore3ranks', 'raciallore1ranks', 'raciallore2ranks', 'raciallore3ranks', 'regionlore1ranks', 'regionlore2ranks', 'regionlore3ranks', 'religion1ranks', 'religion2ranks', 'religion3ranks', 'spellloreranks', 'ranks', 'grace1ranks', 'grace2ranks', 'grace3ranks', 'spelltrickery1ranks', 'spelltrickery2ranks', 'spelltrickery3ranks', 'transcendenceranks', 'ranks', 'herbalismranks', 'medicineranks', 'poisonmasteryranks', 'ranks', 'controllycanthropyranks', 'meditationranks', 'mentalfocusranks', 'ranks', 'climbingranks', 'flyingranks', 'runningranks', 'swimmingranks', 'ranks', 'actingranks', 'music1ranks', 'music2ranks', 'music3ranks', 'stagemagicranks', 'ranks', 'channelingranks', 'boltsranks', 'illusionsranks', 'hurlingranks', 'powerdevelopmentranks', 'powerprojectionranks', 'ranks', 'architectureranks', 'astronomyranks', 'engineeringranks', 'mathematicsranks', 'ranks', 'influence1ranks', 'influence2ranks', 'influence3ranks', 'leadershipranks', 'socialawarenessranks', 'tradingranks', 'ranks', 'magicalritual1ranks', 'magicalritual2ranks', 'magicalritual3ranks', 'open1ranks', 'open2ranks', 'open3ranks', 'open4ranks', 'open5ranks', 'open6ranks', 'open7ranks', 'closed1ranks', 'closed2ranks', 'closed3ranks', 'base1ranks', 'base2ranks', 'base3ranks', 'arcane1ranks', 'arcane2ranks', 'arcane3ranks', 'restricted1ranks', 'restricted2ranks', 'restricted3ranks', 'ranks', 'ambush1ranks', 'ambush2ranks', 'ambush3ranks', 'concealmentranks', 'stalkingranks', 'trickeryranks', 'ranks', 'locksranks', 'mechanics1ranks', 'mechanics2ranks', 'mechanics3ranks', 'trapsranks', 'ranks', 'administration1ranks', 'administration2ranks', 'administration3ranks', 'service1ranks', 'service2ranks', 'service3ranks', 'trade1ranks', 'trade2ranks', 'trade3ranks', 'animalhandling1isprof', 'animalhandling2isprof', 'animalhandling3isprof', 'riding1isprof', 'riding2isprof', 'riding3isprof', 'isprof', 'perceptionisprof', 'trackingisprof', 'isprof', 'maneuveringarmorisprof', 'mountedcombatisprof', 'protectisprof', 'restrictedquartersisprof', 'subduingisprof', 'isprof', 'adrenaldefenseisprof', 'adrenalfocusisprof', 'adrenalspeedisprof', 'adrenalstrengthisprof', 'isprof', 'bodydevisprof', 'fortitudeisprof', 'weighttrainingisprof', 'isprof', 'blindfightingisprof', 'disarmisprof', 'footworkisprof', 'multipleattacksisprof', 'reversestrikeisprof', 'isprof', 'melee1isprof', 'melee2isprof', 'melee3isprof', 'ranged1isprof', 'ranged2isprof', 'ranged3isprof', 'shieldisprof', 'sweeps1isprof', 'sweeps2isprof', 'sweeps3isprof', 'throws1isprof', 'throws2isprof', 'throws3isprof', 'isprof', 'illusioncraftingisprof', 'musicalcompositionisprof', 'writing1isprof', 'writing2isprof', 'writing3isprof', 'isprof', 'culinaryisprof', 'drawingpaintingisprof', 'fabriccraftisprof', 'leathercraftisprof', 'metalcraftisprof', 'stonecraftisprof', 'woodcraftisprof', 'isprof', 'attunrmentisprof', 'runesisprof', 'isprof', 'navigationisprof', 'piloting1isprof', 'piloting2isprof', 'piloting3isprof', 'survival1isprof', 'survival2isprof', 'survival3isprof', 'isprof', 'acrobaticsisprof', 'contortionsisprof', 'jumpingisprof', 'isprof', 'creaturelore1isprof', 'creaturelore2isprof', 'creaturelore3isprof', 'historiclore1isprof', 'historiclore2isprof', 'historiclore3isprof', 'language1isprof', 'language2isprof', 'language3isprof', 'materialslore1isprof', 'materialslore2isprof', 'materialslore3isprof', 'raciallore1isprof', 'raciallore2isprof', 'raciallore3isprof', 'regionlore1isprof', 'regionlore2isprof', 'regionlore3isprof', 'religion1isprof', 'religion2isprof', 'religion3isprof', 'spellloreisprof', 'isprof', 'grace1isprof', 'grace2isprof', 'grace3isprof', 'spelltrickery1isprof', 'spelltrickery2isprof', 'spelltrickery3isprof', 'transcendenceisprof', 'isprof', 'herbalismisprof', 'medicineisprof', 'poisonmasteryisprof', 'isprof', 'controllycanthropyisprof', 'meditationisprof', 'mentalfocusisprof', 'isprof', 'climbingisprof', 'flyingisprof', 'runningisprof', 'swimmingisprof', 'isprof', 'actingisprof', 'music1isprof', 'music2isprof', 'music3isprof', 'stagemagicisprof', 'isprof', 'channelingisprof', 'boltsisprof', 'illusionsisprof', 'hurlingisprof', 'powerdevelopmentisprof', 'powerprojectionisprof', 'isprof', 'architectureisprof', 'astronomyisprof', 'engineeringisprof', 'mathematicsisprof', 'isprof', 'influence1isprof', 'influence2isprof', 'influence3isprof', 'leadershipisprof', 'socialawarenessisprof', 'tradingisprof', 'isprof', 'magicalritual1isprof', 'magicalritual2isprof', 'magicalritual3isprof', 'open1isprof', 'open2isprof', 'open3isprof', 'open4isprof', 'open5isprof', 'open6isprof', 'open7isprof', 'closed1isprof', 'closed2isprof', 'closed3isprof', 'base1isprof', 'base2isprof', 'base3isprof', 'arcane1isprof', 'arcane2isprof', 'arcane3isprof', 'restricted1isprof', 'restricted2isprof', 'restricted3isprof', 'isprof', 'ambush1isprof', 'ambush2isprof', 'ambush3isprof', 'concealmentisprof', 'stalkingisprof', 'trickeryisprof', 'isprof', 'locksisprof', 'mechanics1isprof', 'mechanics2isprof', 'mechanics3isprof', 'trapsisprof', 'isprof', 'administration1isprof', 'administration2isprof', 'administration3isprof', 'service1isprof', 'service2isprof', 'service3isprof', 'trade1isprof', 'trade2isprof', 'trade3isprof'];
+
+
+
+//
const skillRoll = (skillname) => {
let rollExpression = '1d100!>96cf<5cs>96';
- let rollmodifiers = '@{skillnametotal}';
- rollExpression = rollExpression + ' + ' + rollmodifiers + '[TotalBonus]';
+ //let rollmodifiers = '@{skillnamerankbonus}[Rank Bonus] + @{skillnamerankbonus}[Rank Bonus] + ';
+ let rollmodifiers = '@{skillnametotal}[Total Bonus] + @{skillnamesituationbonus}[Misc Roll Mods] + ';
+ rollExpression = rollExpression + ' + ' + rollmodifiers //+ '[TotalBonus]';
//console.log(rollmodifiers);
// Wrap the two @{attributes} in a [[subroll]] if they're taking up too much space
let rollBase = '&{template:RmuStdRolltest} {{roll1=[['+ rollExpression +']]}} {{isdownroll=[[0]]}} {{name=@{character_name}\'s skillname check}} {{skillflag=true}} {{check= skillname (@{skillnameranks} ranks): }} {{roll1name=${rollExpression}}} {{roll1mod=[[(1d100!>95cf<101cs=0)]]}} {{roll1final=[[0]]}}';
@@ -7458,6 +8300,120 @@ const skillRoll = (skillname) => {
//
+//
+
+
+//
+
+on ('change:animalhandling1ranks change:animalhandling2ranks change:animalhandling3ranks change:riding1ranks change:riding2ranks change:riding3ranks change:ranks change:perceptionranks change:trackingranks change:ranks change:maneuveringarmorranks change:mountedcombatranks change:protectranks change:restrictedquartersranks change:subduingranks change:ranks change:adrenaldefenseranks change:adrenalfocusranks change:adrenalspeedranks change:adrenalstrengthranks change:ranks change:bodydevranks change:fortituderanks change:weighttrainingranks change:ranks change:blindfightingranks change:disarmranks change:footworkranks change:multipleattacksranks change:reversestrikeranks change:ranks change:melee1ranks change:melee2ranks change:melee3ranks change:ranged1ranks change:ranged2ranks change:ranged3ranks change:shieldranks change:sweeps1ranks change:sweeps2ranks change:sweeps3ranks change:throws1ranks change:throws2ranks change:throws3ranks change:ranks change:illusioncraftingranks change:musicalcompositionranks change:writing1ranks change:writing2ranks change:writing3ranks change:ranks change:culinaryranks change:drawingpaintingranks change:fabriccraftranks change:leathercraftranks change:metalcraftranks change:stonecraftranks change:woodcraftranks change:ranks change:attunrmentranks change:runesranks change:ranks change:navigationranks change:piloting1ranks change:piloting2ranks change:piloting3ranks change:survival1ranks change:survival2ranks change:survival3ranks change:ranks change:acrobaticsranks change:contortionsranks change:jumpingranks change:ranks change:creaturelore1ranks change:creaturelore2ranks change:creaturelore3ranks change:historiclore1ranks change:historiclore2ranks change:historiclore3ranks change:language1ranks change:language2ranks change:language3ranks change:materialslore1ranks change:materialslore2ranks change:materialslore3ranks change:raciallore1ranks change:raciallore2ranks change:raciallore3ranks change:regionlore1ranks change:regionlore2ranks change:regionlore3ranks change:religion1ranks change:religion2ranks change:religion3ranks change:spellloreranks change:ranks change:grace1ranks change:grace2ranks change:grace3ranks change:spelltrickery1ranks change:spelltrickery2ranks change:spelltrickery3ranks change:transcendenceranks change:ranks change:herbalismranks change:medicineranks change:poisonmasteryranks change:ranks change:controllycanthropyranks change:meditationranks change:mentalfocusranks change:ranks change:climbingranks change:flyingranks change:runningranks change:swimmingranks change:ranks change:actingranks change:music1ranks change:music2ranks change:music3ranks change:stagemagicranks change:ranks change:channelingranks change:boltsranks change:illusionsranks change:hurlingranks change:powerdevelopmentranks change:powerprojectionranks change:ranks change:architectureranks change:astronomyranks change:engineeringranks change:mathematicsranks change:ranks change:influence1ranks change:influence2ranks change:influence3ranks change:leadershipranks change:socialawarenessranks change:tradingranks change:ranks change:magicalritual1ranks change:magicalritual2ranks change:magicalritual3ranks change:open1ranks change:open2ranks change:open3ranks change:open4ranks change:open5ranks change:open6ranks change:open7ranks change:closed1ranks change:closed2ranks change:closed3ranks change:base1ranks change:base2ranks change:base3ranks change:arcane1ranks change:arcane2ranks change:arcane3ranks change:restricted1ranks change:restricted2ranks change:restricted3ranks change:ranks change:ambush1ranks change:ambush2ranks change:ambush3ranks change:concealmentranks change:stalkingranks change:trickeryranks change:ranks change:locksranks change:mechanics1ranks change:mechanics2ranks change:mechanics3ranks change:trapsranks change:ranks change:administration1ranks change:administration2ranks change:administration3ranks change:service1ranks change:service2ranks change:service3ranks change:trade1ranks change:trade2ranks change:trade3ranks', function(info) {
+
+ console.log('Skill ranks have changed');
+
+ let skillname = info.sourceAttribute
+ skillname = skillname.replace(/ranks/g,"");
+ //skillname = skillname.replace(/isprof/g,"");
+ //skillname = skillname.replace(/statbonus/g,"");
+ //skillname = skillname.replace(/knackbonus/g,"");
+ //skillname = skillname.replace(/specialbonus/g,"");
+ //skillname = skillname.replace(/itembonus/g,"");
+
+
+ console.log('skillname: ' + skillname);
+ UpdateTotalSkillBonus(skillname);
+
+});
+
+on ('change:animalhandling1isprof change:animalhandling2isprof change:animalhandling3isprof change:riding1isprof change:riding2isprof change:riding3isprof change:isprof change:perceptionisprof change:trackingisprof change:isprof change:maneuveringarmorisprof change:mountedcombatisprof change:protectisprof change:restrictedquartersisprof change:subduingisprof change:isprof change:adrenaldefenseisprof change:adrenalfocusisprof change:adrenalspeedisprof change:adrenalstrengthisprof change:isprof change:bodydevisprof change:fortitudeisprof change:weighttrainingisprof change:isprof change:blindfightingisprof change:disarmisprof change:footworkisprof change:multipleattacksisprof change:reversestrikeisprof change:isprof change:melee1isprof change:melee2isprof change:melee3isprof change:ranged1isprof change:ranged2isprof change:ranged3isprof change:shieldisprof change:sweeps1isprof change:sweeps2isprof change:sweeps3isprof change:throws1isprof change:throws2isprof change:throws3isprof change:isprof change:illusioncraftingisprof change:musicalcompositionisprof change:writing1isprof change:writing2isprof change:writing3isprof change:isprof change:culinaryisprof change:drawingpaintingisprof change:fabriccraftisprof change:leathercraftisprof change:metalcraftisprof change:stonecraftisprof change:woodcraftisprof change:isprof change:attunrmentisprof change:runesisprof change:isprof change:navigationisprof change:piloting1isprof change:piloting2isprof change:piloting3isprof change:survival1isprof change:survival2isprof change:survival3isprof change:isprof change:acrobaticsisprof change:contortionsisprof change:jumpingisprof change:isprof change:creaturelore1isprof change:creaturelore2isprof change:creaturelore3isprof change:historiclore1isprof change:historiclore2isprof change:historiclore3isprof change:language1isprof change:language2isprof change:language3isprof change:materialslore1isprof change:materialslore2isprof change:materialslore3isprof change:raciallore1isprof change:raciallore2isprof change:raciallore3isprof change:regionlore1isprof change:regionlore2isprof change:regionlore3isprof change:religion1isprof change:religion2isprof change:religion3isprof change:spellloreisprof change:isprof change:grace1isprof change:grace2isprof change:grace3isprof change:spelltrickery1isprof change:spelltrickery2isprof change:spelltrickery3isprof change:transcendenceisprof change:isprof change:herbalismisprof change:medicineisprof change:poisonmasteryisprof change:isprof change:controllycanthropyisprof change:meditationisprof change:mentalfocusisprof change:isprof change:climbingisprof change:flyingisprof change:runningisprof change:swimmingisprof change:isprof change:actingisprof change:music1isprof change:music2isprof change:music3isprof change:stagemagicisprof change:isprof change:channelingisprof change:boltsisprof change:illusionsisprof change:hurlingisprof change:powerdevelopmentisprof change:powerprojectionisprof change:isprof change:architectureisprof change:astronomyisprof change:engineeringisprof change:mathematicsisprof change:isprof change:influence1isprof change:influence2isprof change:influence3isprof change:leadershipisprof change:socialawarenessisprof change:tradingisprof change:isprof change:magicalritual1isprof change:magicalritual2isprof change:magicalritual3isprof change:open1isprof change:open2isprof change:open3isprof change:open4isprof change:open5isprof change:open6isprof change:open7isprof change:closed1isprof change:closed2isprof change:closed3isprof change:base1isprof change:base2isprof change:base3isprof change:arcane1isprof change:arcane2isprof change:arcane3isprof change:restricted1isprof change:restricted2isprof change:restricted3isprof change:isprof change:ambush1isprof change:ambush2isprof change:ambush3isprof change:concealmentisprof change:stalkingisprof change:trickeryisprof change:isprof change:locksisprof change:mechanics1isprof change:mechanics2isprof change:mechanics3isprof change:trapsisprof change:isprof change:administration1isprof change:administration2isprof change:administration3isprof change:service1isprof change:service2isprof change:service3isprof change:trade1isprof change:trade2isprof change:trade3isprof', function(info) {
+
+ console.log('Skill isprof have changed');
+
+ let skillname = info.sourceAttribute
+ skillname = skillname.replace(/ranks/g,"");
+ skillname = skillname.replace(/isprof/g,"");
+ skillname = skillname.replace(/statbonus/g,"");
+ skillname = skillname.replace(/knackbonus/g,"");
+ skillname = skillname.replace(/specialbonus/g,"");
+ skillname = skillname.replace(/itembonus/g,"");
+
+
+ console.log('skillname: ' + skillname);
+ UpdateTotalSkillBonus(skillname);
+
+});
+
+on ('change:animalhandling1statbonus change:animalhandling2statbonus change:animalhandling3statbonus change:riding1statbonus change:riding2statbonus change:riding3statbonus change:statbonus change:perceptionstatbonus change:trackingstatbonus change:statbonus change:maneuveringarmorstatbonus change:mountedcombatstatbonus change:protectstatbonus change:restrictedquartersstatbonus change:subduingstatbonus change:statbonus change:adrenaldefensestatbonus change:adrenalfocusstatbonus change:adrenalspeedstatbonus change:adrenalstrengthstatbonus change:statbonus change:bodydevstatbonus change:fortitudestatbonus change:weighttrainingstatbonus change:statbonus change:blindfightingstatbonus change:disarmstatbonus change:footworkstatbonus change:multipleattacksstatbonus change:reversestrikestatbonus change:statbonus change:melee1statbonus change:melee2statbonus change:melee3statbonus change:ranged1statbonus change:ranged2statbonus change:ranged3statbonus change:shieldstatbonus change:sweeps1statbonus change:sweeps2statbonus change:sweeps3statbonus change:throws1statbonus change:throws2statbonus change:throws3statbonus change:statbonus change:illusioncraftingstatbonus change:musicalcompositionstatbonus change:writing1statbonus change:writing2statbonus change:writing3statbonus change:statbonus change:culinarystatbonus change:drawingpaintingstatbonus change:fabriccraftstatbonus change:leathercraftstatbonus change:metalcraftstatbonus change:stonecraftstatbonus change:woodcraftstatbonus change:statbonus change:attunrmentstatbonus change:runesstatbonus change:statbonus change:navigationstatbonus change:piloting1statbonus change:piloting2statbonus change:piloting3statbonus change:survival1statbonus change:survival2statbonus change:survival3statbonus change:statbonus change:acrobaticsstatbonus change:contortionsstatbonus change:jumpingstatbonus change:statbonus change:creaturelore1statbonus change:creaturelore2statbonus change:creaturelore3statbonus change:historiclore1statbonus change:historiclore2statbonus change:historiclore3statbonus change:language1statbonus change:language2statbonus change:language3statbonus change:materialslore1statbonus change:materialslore2statbonus change:materialslore3statbonus change:raciallore1statbonus change:raciallore2statbonus change:raciallore3statbonus change:regionlore1statbonus change:regionlore2statbonus change:regionlore3statbonus change:religion1statbonus change:religion2statbonus change:religion3statbonus change:spelllorestatbonus change:statbonus change:grace1statbonus change:grace2statbonus change:grace3statbonus change:spelltrickery1statbonus change:spelltrickery2statbonus change:spelltrickery3statbonus change:transcendencestatbonus change:statbonus change:herbalismstatbonus change:medicinestatbonus change:poisonmasterystatbonus change:statbonus change:controllycanthropystatbonus change:meditationstatbonus change:mentalfocusstatbonus change:statbonus change:climbingstatbonus change:flyingstatbonus change:runningstatbonus change:swimmingstatbonus change:statbonus change:actingstatbonus change:music1statbonus change:music2statbonus change:music3statbonus change:stagemagicstatbonus change:statbonus change:channelingstatbonus change:boltsstatbonus change:illusionsstatbonus change:hurlingstatbonus change:powerdevelopmentstatbonus change:powerprojectionstatbonus change:statbonus change:architecturestatbonus change:astronomystatbonus change:engineeringstatbonus change:mathematicsstatbonus change:statbonus change:influence1statbonus change:influence2statbonus change:influence3statbonus change:leadershipstatbonus change:socialawarenessstatbonus change:tradingstatbonus change:statbonus change:magicalritual1statbonus change:magicalritual2statbonus change:magicalritual3statbonus change:open1statbonus change:open2statbonus change:open3statbonus change:open4statbonus change:open5statbonus change:open6statbonus change:open7statbonus change:closed1statbonus change:closed2statbonus change:closed3statbonus change:base1statbonus change:base2statbonus change:base3statbonus change:arcane1statbonus change:arcane2statbonus change:arcane3statbonus change:restricted1statbonus change:restricted2statbonus change:restricted3statbonus change:statbonus change:ambush1statbonus change:ambush2statbonus change:ambush3statbonus change:concealmentstatbonus change:stalkingstatbonus change:trickerystatbonus change:statbonus change:locksstatbonus change:mechanics1statbonus change:mechanics2statbonus change:mechanics3statbonus change:trapsstatbonus change:statbonus change:administration1statbonus change:administration2statbonus change:administration3statbonus change:service1statbonus change:service2statbonus change:service3statbonus change:trade1statbonus change:trade2statbonus change:trade3statbonus', function(info) {
+
+ console.log('Skill stat bonus have changed');
+
+ let skillname = info.sourceAttribute
+ skillname = skillname.replace(/ranks/g,"");
+ skillname = skillname.replace(/isprof/g,"");
+ skillname = skillname.replace(/statbonus/g,"");
+ skillname = skillname.replace(/knackbonus/g,"");
+ skillname = skillname.replace(/specialbonus/g,"");
+ skillname = skillname.replace(/itembonus/g,"");
+
+
+ console.log('skillname: ' + skillname);
+ UpdateTotalSkillBonus(skillname);
+
+});
+
+on ('change:animalhandling1knackbonus change:animalhandling2knackbonus change:animalhandling3knackbonus change:riding1knackbonus change:riding2knackbonus change:riding3knackbonus change:knackbonus change:perceptionknackbonus change:trackingknackbonus change:knackbonus change:maneuveringarmorknackbonus change:mountedcombatknackbonus change:protectknackbonus change:restrictedquartersknackbonus change:subduingknackbonus change:knackbonus change:adrenaldefenseknackbonus change:adrenalfocusknackbonus change:adrenalspeedknackbonus change:adrenalstrengthknackbonus change:knackbonus change:bodydevknackbonus change:fortitudeknackbonus change:weighttrainingknackbonus change:knackbonus change:blindfightingknackbonus change:disarmknackbonus change:footworkknackbonus change:multipleattacksknackbonus change:reversestrikeknackbonus change:knackbonus change:melee1knackbonus change:melee2knackbonus change:melee3knackbonus change:ranged1knackbonus change:ranged2knackbonus change:ranged3knackbonus change:shieldknackbonus change:sweeps1knackbonus change:sweeps2knackbonus change:sweeps3knackbonus change:throws1knackbonus change:throws2knackbonus change:throws3knackbonus change:knackbonus change:illusioncraftingknackbonus change:musicalcompositionknackbonus change:writing1knackbonus change:writing2knackbonus change:writing3knackbonus change:knackbonus change:culinaryknackbonus change:drawingpaintingknackbonus change:fabriccraftknackbonus change:leathercraftknackbonus change:metalcraftknackbonus change:stonecraftknackbonus change:woodcraftknackbonus change:knackbonus change:attunrmentknackbonus change:runesknackbonus change:knackbonus change:navigationknackbonus change:piloting1knackbonus change:piloting2knackbonus change:piloting3knackbonus change:survival1knackbonus change:survival2knackbonus change:survival3knackbonus change:knackbonus change:acrobaticsknackbonus change:contortionsknackbonus change:jumpingknackbonus change:knackbonus change:creaturelore1knackbonus change:creaturelore2knackbonus change:creaturelore3knackbonus change:historiclore1knackbonus change:historiclore2knackbonus change:historiclore3knackbonus change:language1knackbonus change:language2knackbonus change:language3knackbonus change:materialslore1knackbonus change:materialslore2knackbonus change:materialslore3knackbonus change:raciallore1knackbonus change:raciallore2knackbonus change:raciallore3knackbonus change:regionlore1knackbonus change:regionlore2knackbonus change:regionlore3knackbonus change:religion1knackbonus change:religion2knackbonus change:religion3knackbonus change:spellloreknackbonus change:knackbonus change:grace1knackbonus change:grace2knackbonus change:grace3knackbonus change:spelltrickery1knackbonus change:spelltrickery2knackbonus change:spelltrickery3knackbonus change:transcendenceknackbonus change:knackbonus change:herbalismknackbonus change:medicineknackbonus change:poisonmasteryknackbonus change:knackbonus change:controllycanthropyknackbonus change:meditationknackbonus change:mentalfocusknackbonus change:knackbonus change:climbingknackbonus change:flyingknackbonus change:runningknackbonus change:swimmingknackbonus change:knackbonus change:actingknackbonus change:music1knackbonus change:music2knackbonus change:music3knackbonus change:stagemagicknackbonus change:knackbonus change:channelingknackbonus change:boltsknackbonus change:illusionsknackbonus change:hurlingknackbonus change:powerdevelopmentknackbonus change:powerprojectionknackbonus change:knackbonus change:architectureknackbonus change:astronomyknackbonus change:engineeringknackbonus change:mathematicsknackbonus change:knackbonus change:influence1knackbonus change:influence2knackbonus change:influence3knackbonus change:leadershipknackbonus change:socialawarenessknackbonus change:tradingknackbonus change:knackbonus change:magicalritual1knackbonus change:magicalritual2knackbonus change:magicalritual3knackbonus change:open1knackbonus change:open2knackbonus change:open3knackbonus change:open4knackbonus change:open5knackbonus change:open6knackbonus change:open7knackbonus change:closed1knackbonus change:closed2knackbonus change:closed3knackbonus change:base1knackbonus change:base2knackbonus change:base3knackbonus change:arcane1knackbonus change:arcane2knackbonus change:arcane3knackbonus change:restricted1knackbonus change:restricted2knackbonus change:restricted3knackbonus change:knackbonus change:ambush1knackbonus change:ambush2knackbonus change:ambush3knackbonus change:concealmentknackbonus change:stalkingknackbonus change:trickeryknackbonus change:knackbonus change:locksknackbonus change:mechanics1knackbonus change:mechanics2knackbonus change:mechanics3knackbonus change:trapsknackbonus change:knackbonus change:administration1knackbonus change:administration2knackbonus change:administration3knackbonus change:service1knackbonus change:service2knackbonus change:service3knackbonus change:trade1knackbonus change:trade2knackbonus change:trade3knackbonus', function(info) {
+
+ console.log('Skill knack bonus have changed');
+
+ let skillname = info.sourceAttribute
+ skillname = skillname.replace(/ranks/g,"");
+ skillname = skillname.replace(/isprof/g,"");
+ skillname = skillname.replace(/statbonus/g,"");
+ skillname = skillname.replace(/knackbonus/g,"");
+ skillname = skillname.replace(/specialbonus/g,"");
+ skillname = skillname.replace(/itembonus/g,"");
+
+
+ console.log('skillname: ' + skillname);
+ UpdateTotalSkillBonus(skillname);
+
+});
+
+on ('change:animalhandling1specialbonus change:animalhandling2specialbonus change:animalhandling3specialbonus change:riding1specialbonus change:riding2specialbonus change:riding3specialbonus change:specialbonus change:perceptionspecialbonus change:trackingspecialbonus change:specialbonus change:maneuveringarmorspecialbonus change:mountedcombatspecialbonus change:protectspecialbonus change:restrictedquartersspecialbonus change:subduingspecialbonus change:specialbonus change:adrenaldefensespecialbonus change:adrenalfocusspecialbonus change:adrenalspeedspecialbonus change:adrenalstrengthspecialbonus change:specialbonus change:bodydevspecialbonus change:fortitudespecialbonus change:weighttrainingspecialbonus change:specialbonus change:blindfightingspecialbonus change:disarmspecialbonus change:footworkspecialbonus change:multipleattacksspecialbonus change:reversestrikespecialbonus change:specialbonus change:melee1specialbonus change:melee2specialbonus change:melee3specialbonus change:ranged1specialbonus change:ranged2specialbonus change:ranged3specialbonus change:shieldspecialbonus change:sweeps1specialbonus change:sweeps2specialbonus change:sweeps3specialbonus change:throws1specialbonus change:throws2specialbonus change:throws3specialbonus change:specialbonus change:illusioncraftingspecialbonus change:musicalcompositionspecialbonus change:writing1specialbonus change:writing2specialbonus change:writing3specialbonus change:specialbonus change:culinaryspecialbonus change:drawingpaintingspecialbonus change:fabriccraftspecialbonus change:leathercraftspecialbonus change:metalcraftspecialbonus change:stonecraftspecialbonus change:woodcraftspecialbonus change:specialbonus change:attunrmentspecialbonus change:runesspecialbonus change:specialbonus change:navigationspecialbonus change:piloting1specialbonus change:piloting2specialbonus change:piloting3specialbonus change:survival1specialbonus change:survival2specialbonus change:survival3specialbonus change:specialbonus change:acrobaticsspecialbonus change:contortionsspecialbonus change:jumpingspecialbonus change:specialbonus change:creaturelore1specialbonus change:creaturelore2specialbonus change:creaturelore3specialbonus change:historiclore1specialbonus change:historiclore2specialbonus change:historiclore3specialbonus change:language1specialbonus change:language2specialbonus change:language3specialbonus change:materialslore1specialbonus change:materialslore2specialbonus change:materialslore3specialbonus change:raciallore1specialbonus change:raciallore2specialbonus change:raciallore3specialbonus change:regionlore1specialbonus change:regionlore2specialbonus change:regionlore3specialbonus change:religion1specialbonus change:religion2specialbonus change:religion3specialbonus change:spelllorespecialbonus change:specialbonus change:grace1specialbonus change:grace2specialbonus change:grace3specialbonus change:spelltrickery1specialbonus change:spelltrickery2specialbonus change:spelltrickery3specialbonus change:transcendencespecialbonus change:specialbonus change:herbalismspecialbonus change:medicinespecialbonus change:poisonmasteryspecialbonus change:specialbonus change:controllycanthropyspecialbonus change:meditationspecialbonus change:mentalfocusspecialbonus change:specialbonus change:climbingspecialbonus change:flyingspecialbonus change:runningspecialbonus change:swimmingspecialbonus change:specialbonus change:actingspecialbonus change:music1specialbonus change:music2specialbonus change:music3specialbonus change:stagemagicspecialbonus change:specialbonus change:channelingspecialbonus change:boltsspecialbonus change:illusionsspecialbonus change:hurlingspecialbonus change:powerdevelopmentspecialbonus change:powerprojectionspecialbonus change:specialbonus change:architecturespecialbonus change:astronomyspecialbonus change:engineeringspecialbonus change:mathematicsspecialbonus change:specialbonus change:influence1specialbonus change:influence2specialbonus change:influence3specialbonus change:leadershipspecialbonus change:socialawarenessspecialbonus change:tradingspecialbonus change:specialbonus change:magicalritual1specialbonus change:magicalritual2specialbonus change:magicalritual3specialbonus change:open1specialbonus change:open2specialbonus change:open3specialbonus change:open4specialbonus change:open5specialbonus change:open6specialbonus change:open7specialbonus change:closed1specialbonus change:closed2specialbonus change:closed3specialbonus change:base1specialbonus change:base2specialbonus change:base3specialbonus change:arcane1specialbonus change:arcane2specialbonus change:arcane3specialbonus change:restricted1specialbonus change:restricted2specialbonus change:restricted3specialbonus change:specialbonus change:ambush1specialbonus change:ambush2specialbonus change:ambush3specialbonus change:concealmentspecialbonus change:stalkingspecialbonus change:trickeryspecialbonus change:specialbonus change:locksspecialbonus change:mechanics1specialbonus change:mechanics2specialbonus change:mechanics3specialbonus change:trapsspecialbonus change:specialbonus change:administration1specialbonus change:administration2specialbonus change:administration3specialbonus change:service1specialbonus change:service2specialbonus change:service3specialbonus change:trade1specialbonus change:trade2specialbonus change:trade3specialbonus', function(info) {
+
+ console.log('Skill special have changed');
+
+ let skillname = info.sourceAttribute
+ skillname = skillname.replace(/ranks/g,"");
+ skillname = skillname.replace(/isprof/g,"");
+ skillname = skillname.replace(/statbonus/g,"");
+ skillname = skillname.replace(/knackbonus/g,"");
+ skillname = skillname.replace(/specialbonus/g,"");
+ skillname = skillname.replace(/itembonus/g,"");
+
+
+ console.log('skillname: ' + skillname);
+ UpdateTotalSkillBonus(skillname);
+
+});
+
+on ('change:animalhandling1itembonus change:animalhandling2itembonus change:animalhandling3itembonus change:riding1itembonus change:riding2itembonus change:riding3itembonus change:itembonus change:perceptionitembonus change:trackingitembonus change:itembonus change:maneuveringarmoritembonus change:mountedcombatitembonus change:protectitembonus change:restrictedquartersitembonus change:subduingitembonus change:itembonus change:adrenaldefenseitembonus change:adrenalfocusitembonus change:adrenalspeeditembonus change:adrenalstrengthitembonus change:itembonus change:bodydevitembonus change:fortitudeitembonus change:weighttrainingitembonus change:itembonus change:blindfightingitembonus change:disarmitembonus change:footworkitembonus change:multipleattacksitembonus change:reversestrikeitembonus change:itembonus change:melee1itembonus change:melee2itembonus change:melee3itembonus change:ranged1itembonus change:ranged2itembonus change:ranged3itembonus change:shielditembonus change:sweeps1itembonus change:sweeps2itembonus change:sweeps3itembonus change:throws1itembonus change:throws2itembonus change:throws3itembonus change:itembonus change:illusioncraftingitembonus change:musicalcompositionitembonus change:writing1itembonus change:writing2itembonus change:writing3itembonus change:itembonus change:culinaryitembonus change:drawingpaintingitembonus change:fabriccraftitembonus change:leathercraftitembonus change:metalcraftitembonus change:stonecraftitembonus change:woodcraftitembonus change:itembonus change:attunrmentitembonus change:runesitembonus change:itembonus change:navigationitembonus change:piloting1itembonus change:piloting2itembonus change:piloting3itembonus change:survival1itembonus change:survival2itembonus change:survival3itembonus change:itembonus change:acrobaticsitembonus change:contortionsitembonus change:jumpingitembonus change:itembonus change:creaturelore1itembonus change:creaturelore2itembonus change:creaturelore3itembonus change:historiclore1itembonus change:historiclore2itembonus change:historiclore3itembonus change:language1itembonus change:language2itembonus change:language3itembonus change:materialslore1itembonus change:materialslore2itembonus change:materialslore3itembonus change:raciallore1itembonus change:raciallore2itembonus change:raciallore3itembonus change:regionlore1itembonus change:regionlore2itembonus change:regionlore3itembonus change:religion1itembonus change:religion2itembonus change:religion3itembonus change:spellloreitembonus change:itembonus change:grace1itembonus change:grace2itembonus change:grace3itembonus change:spelltrickery1itembonus change:spelltrickery2itembonus change:spelltrickery3itembonus change:transcendenceitembonus change:itembonus change:herbalismitembonus change:medicineitembonus change:poisonmasteryitembonus change:itembonus change:controllycanthropyitembonus change:meditationitembonus change:mentalfocusitembonus change:itembonus change:climbingitembonus change:flyingitembonus change:runningitembonus change:swimmingitembonus change:itembonus change:actingitembonus change:music1itembonus change:music2itembonus change:music3itembonus change:stagemagicitembonus change:itembonus change:channelingitembonus change:boltsitembonus change:illusionsitembonus change:hurlingitembonus change:powerdevelopmentitembonus change:powerprojectionitembonus change:itembonus change:architectureitembonus change:astronomyitembonus change:engineeringitembonus change:mathematicsitembonus change:itembonus change:influence1itembonus change:influence2itembonus change:influence3itembonus change:leadershipitembonus change:socialawarenessitembonus change:tradingitembonus change:itembonus change:magicalritual1itembonus change:magicalritual2itembonus change:magicalritual3itembonus change:open1itembonus change:open2itembonus change:open3itembonus change:open4itembonus change:open5itembonus change:open6itembonus change:open7itembonus change:closed1itembonus change:closed2itembonus change:closed3itembonus change:base1itembonus change:base2itembonus change:base3itembonus change:arcane1itembonus change:arcane2itembonus change:arcane3itembonus change:restricted1itembonus change:restricted2itembonus change:restricted3itembonus change:itembonus change:ambush1itembonus change:ambush2itembonus change:ambush3itembonus change:concealmentitembonus change:stalkingitembonus change:trickeryitembonus change:itembonus change:locksitembonus change:mechanics1itembonus change:mechanics2itembonus change:mechanics3itembonus change:trapsitembonus change:itembonus change:administration1itembonus change:administration2itembonus change:administration3itembonus change:service1itembonus change:service2itembonus change:service3itembonus change:trade1itembonus change:trade2itembonus change:trade3itembonus', function(info) {
+
+
+ console.log('Skill item bonus have changed');
+
+ let skillname = info.sourceAttribute
+ skillname = skillname.replace(/ranks/g,"");
+ skillname = skillname.replace(/isprof/g,"");
+ skillname = skillname.replace(/statbonus/g,"");
+ skillname = skillname.replace(/knackbonus/g,"");
+ skillname = skillname.replace(/specialbonus/g,"");
+ skillname = skillname.replace(/itembonus/g,"");
+
+
+ console.log('skillname: ' + skillname);
+ UpdateTotalSkillBonus(skillname);
+
+});
+
//
on('clicked:skill', (info) => {
skillRoll(info.htmlAttributes.title);
@@ -7470,54 +8426,126 @@ on('change:realmselect', function(info) {
let calcrealmstatbonus = 0;
getAttrs(['realmselect','embonus','inbonus','prbonus'], function(values) {
- calcrealmstatbonus = SetRealmStatBonus(values.realmselect, values.embonus, values.inbonus, values.prbonus)
+ calcrealmstatbonus = SetRealmStatBonus(values.realmselect, values.embonus, values.inbonus, values.prbonus);
});
});
//
// Calculate Base Bonus
-on('change:agraw change:coraw change:emraw change:inraw change:meraw change:prraw change:quraw change:reraw change:sdraw change:straw', function(info) {
+on('change:agraw change:coraw change:emraw change:inraw change:meraw change:prraw change:quraw change:reraw change:sdraw change:straw change:agpotential change:copotential change:empotential change:inpotential change:mepotential change:prpotential change:qupotential change:repotential change:sdpotential change:stpotential', function(info) {
let statAbbrv = info.sourceAttribute.substring(0, 2);
- UpdateBaseStatBonus(statAbbrv);
+ UpdateBaseStatBonus(statAbbrv);
});
-//
-
//
on('change:agbasebonus change:agracial change:agspecial change:cobasebonus change:coracial change:cospecial change:embasebonus change:emracial change:emspecial change:inbasebonus change:inracial change:inspecial change:mebasebonus change:meracial change:mespecial change:prbasebonus change:prracial change:prspecial change:qubasebonus change:quracial change:quspecial change:rebasebonus change:reracial change:respecial change:sdbasebonus change:sdracial change:sdspecial change:stbasebonus change:stracial change:stspecial', function(info) {
let statAbbrv = info.sourceAttribute.substring(0, 2);
- UpdateTotalStatBonus(statAbbrv);
+ UpdateTotalStatBonus(statAbbrv);
});
//
+
+
+// //
+var UpdateTotalSkillBonus = function(skillname) {
+
+ var skillattrfields = [ skillname + "total", skillname + "isprof", skillname + "ranks", skillname + "rankbonus", skillname + "skill1bonus", skillname + "skill1type", skillname + "skill2bonus", skillname + "skill2type", skillname + "skill3bonus", skillname + "skill3type", skillname + "statbonus", skillname + "knackbonus", skillname + "specialbonus", skillname + "itembonus", "agbonus", "cobonus", "embonus", "inbonus", "mebonus", "prbonus", "qubonus", "rebonus", "sdbonus", "stbonus", "realmbonus"];
+ var setObj = {};
+
+ var newprofflag = 0;
+ var newskillranks = 0;
+ var newskillrankbonus = 0;
+ var newskill1bonus = 0;
+ var skill1type = "";
+ var newskill2bonus = 0;
+ var skill2type = "";
+ var newskill3bonus = 0;
+ var skill3type = "";
+ var newskillstatbonus = 0;
+ var newskillknackbonus = 0;
+ var newskillspecialbonus = 0;
+ var newskillitembonus = 0;
+ var newskilltotalbonus = 0;
+ var newskill1bonus = 0;
+
+ getAttrs(skillattrfields, function(values) {
+
+ // parse and assign get attrs values
+ //console.log(values);
+
+ newprofflag = values[skillattrfields[1]]*1||0;
+ newskillranks = values[skillattrfields[2]]*1||0;
+ newskillrankbonus = values[skillattrfields[3]]*1||0;
+ skill1type = values[skillattrfields[5]];
+ skill2type = values[skillattrfields[7]];
+ skill3type = values[skillattrfields[9]];
+ //var newskillstatbonus = values[skillattrfields[10]]*1||0;
+ newskillknackbonus = values[skillattrfields[11]]*1||0;
+ newskillspecialbonus = values[skillattrfields[12]]*1||0;
+ newskillitembonus = values[skillattrfields[13]]*1||0;
+ newskill1bonus = values[skill1type + "bonus"]*1||0;
+ newskill2bonus = values[skill2type + "bonus"]*1||0;
+ newskill3bonus = values[skill3type + "bonus"]*1||0;
+
+
+
+ //Calculate the new skill rank bonus
+ newskillrankbonus = GetSkillRankBonus(newprofflag,newskillranks);
+
+ //Calculate the new skill stat bonus
+ newskillstatbonus = newskill1bonus + newskill2bonus + newskill3bonus ;
+
+ console.log(newskillstatbonus);
+
+ newskilltotalbonus = newskillrankbonus + newskillstatbonus + newskillknackbonus + newskillspecialbonus + newskillitembonus;
+
+ setObj[skillattrfields[0]] = newskilltotalbonus;
+ setObj[skillattrfields[3]] = newskillrankbonus;
+ setObj[skillattrfields[10]] = newskillstatbonus;
+
+ setAttrs(setObj);
+ });
+};
+
+
// //
var UpdateBaseStatBonus = function(statabbrv) {
- var statattrfields = [ statabbrv + "basebonus", statabbrv + "raw"];
+ var statattrfields = [ statabbrv + "basebonus", statabbrv + "raw", statabbrv + "potential"];
var setObj = {};
var newraw = 0;
var newbase = 0;
- var currbase = 0;
+ var newpotent = 0;
+ var statmin = 1;
+ var statmax = 100;
getAttrs(statattrfields, function(values) {
//// parse and assign get attrs values
- currbase = values[statattrfields[0]]*1||0;
newraw = values[statattrfields[1]]*1||0;
-
+ newpotent = values[statattrfields[2]]*1||0;
+
+ //constrain the stats with max & min amts
+ newpotent = Math.max(Math.min(statmax,newpotent),statmin);
+ newraw = Math.max(Math.min(newraw,newpotent),statmin);
+
newbase = statbonuses[newraw];
setObj[statattrfields[0]] = newbase;
+ setObj[statattrfields[1]] = newraw;
+ setObj[statattrfields[2]] = newpotent;
+ console.log(setObj);
setAttrs(setObj);
});
};
+
//
var UpdateTotalStatBonus = function(statabbrv) {
@@ -7574,5 +8602,30 @@ function SetRealmStatBonus(rselect, embonus, inbonus, prbonus) {
return mod;
}
+function GetSkillRankBonus(profflag, skillranks) {
+ var bonus = 0;
+ var professionalrankbonus = 0;
+ var skillrankbonus = 0;
+
+ professionalrankbonus = profflag * (Math.min(skillranks,30));
+
+ if (skillranks == 0) {
+ skillrankbonus = skillranks - 25;
+ } else if (skillranks < 11 ) {
+ skillrankbonus = 5 * skillranks;
+ } else if (skillranks < 21 ) {
+ skillrankbonus = 50 + (3 * skillranks);
+ } else if (skillranks < 31 ) {
+ skillrankbonus = 80 + (2 * skillranks);
+ } else if (skillranks > 30 ) {
+ skillrankbonus = 100 + skillranks;
+ }
+
+ bonus = professionalrankbonus + skillrankbonus;
+
+ return bonus;
+}
+
+
-
+
\ No newline at end of file