Created
November 27, 2013 10:57
-
-
Save BaldarSilveraxe/7673900 to your computer and use it in GitHub Desktop.
Roll20 API fumble and crit tables
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//FumbleTables | |
roll20API.processAPI_FGM = function() { | |
var fumble = new Array(); | |
fumble[0] = "Fumbler’s movements put them off balance. They take a -1 penalty to \ | |
their armor class for the next round."; | |
fumble[1] = "Fumbler’s movements put them severely off balance. They lose Dexterity \ | |
and Shield bonuses to AC for the next round. If losing these bonuses does not \ | |
reduce the fumbler’s AC by -2 (or more), then they still must take a -2 penalty."; | |
fumble[2] = "Fumbler trips, and falls prone. They lose Dexterity and Shield bonuses \ | |
to AC for the current round and the next round. If losing these bonuses does not \ | |
reduce the fumbler’s AC by -3 (or more), then they still must take a -3 penalty. \ | |
Act last next round."; | |
fumble[3] = "Fumbler trips, falls prone, and strikes their head. Stunned for 1d4 \ | |
rounds. (If fumbler is wearing a helmet, then they are not stunned, but their \ | |
helmet is knocked off)."; | |
fumble[4] = "Fumbler’s opponent takes advantage of the poor footwork and moves behind \ | |
the fumbler. The opponent gains an additional attack of opportunity, this attack \ | |
and any remain attacks the opponent has are at normal rear attack bonuses. If the \ | |
opponent is a thief, back-stab would apply to all attacks."; | |
fumble[5] = "Fumbler’s attack is wide leaving fumble open and off-guard. This provokes \ | |
an attack of opportunity from all creatures that threaten the fumbler."; | |
var rndfumble = Math.floor(Math.random() * fumble.length); | |
roll20API.fumbleResultTemp = fumble[rndfumble]; | |
}; | |
roll20API.processAPI_FGR = function() { | |
var fumble = new Array(); | |
fumble[0] = "Fumbler is so fixated on positioning to take the shot, that the fumbler \ | |
loses footing and slips and falls.They lose Dexterity and Shield bonuses to AC for \ | |
the next round. If losing these bonuses does not reduce the fumbler’s AC by -2 (or \ | |
more), then they still must take a -2 penalty."; | |
fumble[1] = "Fumbler is so fixated on positioning to take the shot, that the fumbler \ | |
loses footing. Make a Dexterity check or fall prone. Failing the fumbler provokes \ | |
an attack of opportunity from all enemies who threaten fumbler."; | |
fumble[2] = "Fumbler is so fixated on positioning to take the shot, that the fumbler \ | |
loses footing. Fumbler trips, falls prone, and strikes their head. Stunned for 1d4 \ | |
rounds. (If fumbler is wearing a helmet, then they are not stunned, but their \ | |
helmet is knocked off)."; | |
var rndfumble = Math.floor(Math.random() * fumble.length); | |
roll20API.fumbleResultTemp = fumble[rndfumble]; | |
}; | |
roll20API.processAPI_FGS = function() { | |
var fumble = new Array(); | |
fumble[0] = "Fumbler is so fixated on positioning to take a stealth attack, that the \ | |
fumbler loses footing and slips into the victim. Completely breaking all stealth \ | |
and the victim gains an additional attack of opportunity."; | |
fumble[1] = "Fumbler is so fixated on positioning to take a stealth attack, that the \ | |
fumbler loses footing. Fumbler trips, falls prone, and strikes their head. Stunned \ | |
for 1d4 rounds. This completely breaks all stealth and the victim gains an \ | |
additional attack of opportunity."; | |
fumble[2] = "Fumbler is so fixated on positioning to take a stealth attack, that the \ | |
fumbler loses footing. Make a DEX check or fall prone. Failing the fumbler \ | |
provokes an attack of opportunity from all enemies who threaten fumbler. This \ | |
completely breaks all stealth."; | |
var rndfumble = Math.floor(Math.random() * fumble.length); | |
roll20API.fumbleResultTemp = fumble[rndfumble]; | |
}; | |
roll20API.processAPI_DPM = function() { | |
var fumble = new Array(); | |
fumble[0] = "Fumble ineptly, loosening grip on weapon. Make a Dexterity check to \ | |
recover your control or forfeit your next attack. You provoke an attack of \ | |
opportunity from all enemies who threaten you."; | |
fumble[1] = "Fumbler’s attack is utterly mistimed. The opponent may take a free \ | |
attempt to disarm, without provoking an attack of opportunity."; | |
fumble[2] = "Fumbler’s opponent parries the attack and disarms the fumbler."; | |
var rndfumble = Math.floor(Math.random() * fumble.length); | |
roll20API.fumbleResultTemp = fumble[rndfumble]; | |
}; | |
roll20API.processAPI_DPR = function() { | |
var fumble = new Array(); | |
fumble[0] = "Fumbler is so fixated on positioning to take the shot, that the \ | |
fumbler actually drops weapon ammo or if a thrown weapon ineptly, lose grip \ | |
on weapon. Make a Dexterity check to recover your control or forfeit your \ | |
next attack."; | |
fumble[1] = "Fumbles, juggles and drops ammunition (or thrown weapon.) In this \ | |
spectacle of incompetence fumbler becomes flat-footed. Forfeits remaining actions \ | |
and provokes an attack of opportunity from any enemies that threaten the fumbler."; | |
fumble[2] = "Fumbler mishandled weapon, sending their aim awry. Attempting to recover \ | |
control of their weapon causes the fumbler to forfeit any remaining actions and \ | |
provoke an attack of opportunity from any enemies that threaten the fumbler."; | |
var rndfumble = Math.floor(Math.random() * fumble.length); | |
roll20API.fumbleResultTemp = fumble[rndfumble]; | |
}; | |
roll20API.processAPI_DPS = function() { | |
var fumble = new Array(); | |
fumble[0] = "An attempt to silently grandstand with flare (i.e. twirling a dagger) \ | |
goes badly. Fumbler’s weapon drops noisily, completely breaking all stealth."; | |
fumble[1] = "Victim makes a sudden unexpected movement and inadvertently disarms \ | |
fumbler. Fumbler’s weapon drops noisily, completely breaking all stealth."; | |
fumble[2] = "An attempt to silently grandstand with flare (i.e. twirling a dagger) \ | |
goes badly. Fumbler’s weapon drops noisily, completely breaking all stealth Or the \ | |
DM can choose to have the weapon only unexpectedly appear (stealth checks may \ | |
apply.)"; | |
fumble[3] = "Victim makes a sudden unexpected movement and inadvertently disarms \ | |
fumbler. Fumbler’s weapon drops noisily, completely breaking all stealth. Or the DM \ | |
can choose to have the weapon only unexpectedly appear (stealth checks may apply.)"; | |
var rndfumble = Math.floor(Math.random() * fumble.length); | |
roll20API.fumbleResultTemp = fumble[rndfumble]; | |
}; | |
roll20API.processAPI_SIM = function() { | |
var fumble = new Array(); | |
fumble[0] = "A forceful pop in fumbler’s shoulder is heard. Fumber takes 1d8 points \ | |
of damage."; | |
fumble[1] = "A forceful pop in fumbler’s shoulder is heard. Fumber takes 1d8 points \ | |
of damage. The opponent may take a free attempt to disarm, without provoking an \ | |
attack of opportunity."; | |
fumble[2] = "A forceful pop in fumbler’s shoulder is heard. Fumber takes 1d8 points \ | |
of damage. The opponent may take a free attempt to disarm, without provoking an \ | |
attack of opportunity. Fumbler is at -2 to hit for all reaming combat rounds \ | |
for this encounter."; | |
var rndfumble = Math.floor(Math.random() * fumble.length); | |
roll20API.fumbleResultTemp = fumble[rndfumble]; | |
}; | |
roll20API.processAPI_EGA = function() { | |
var fumble = new Array(); | |
fumble[0] = "Fumbler’s opponent has control over the fumbler’s weapon arm (arm lock.) \ | |
Inflicts 1 point of damage plus Strength bonus (if the attacker desires), while \ | |
continued holds cause cumulatively 1 more point of damage for each round they are \ | |
held. Strength check to break and no other action can be taken until the arm \ | |
lock is broken."; | |
fumble[1] = "Fumbler’s opponent has control over the fumbler’s shield arm (arm lock.) \ | |
Inflicts 1 point of damage plus Strength bonus (if the attacker desires), while \ | |
continued holds cause cumulatively 1 more point of damage for each round they are \ | |
held. Strength check to break and no other action can be taken until the arm lock \ | |
is broken. This provokes an attack of opportunity from all creatures that threaten \ | |
the fumbler."; | |
var rndfumble = Math.floor(Math.random() * fumble.length); | |
roll20API.fumbleResultTemp = fumble[rndfumble] | |
}; | |
roll20API.processAPI_EGU = function() { | |
var fumble = new Array(); | |
fumble[0] = "Fumbler’s opponent gets fumbler in a headlock Inflicts 1 point of damage \ | |
plus Strength bonus (if the attacker desires), while continued holds cause \ | |
cumulatively 1 more point of damage for each round they are held. Strength check to \ | |
break and no other action can be taken until the arm lock is broken. Fumbler will \ | |
be choked out in 2-5 rounds."; | |
fumble[1] = "Fumbler’s opponent gets fumbler in a headlock Inflicts 1 point of damage \ | |
plus Strength bonus (if the attacker desires), while continued holds cause \ | |
cumulatively 1 more point of damage for each round they are held. Strength check to \ | |
break and no other action can be taken until the arm lock is broken. Fumbler will be \ | |
choked out in 2-5 rounds. This provokes an attack of opportunity from all creatures \ | |
that threaten the fumbler."; | |
var rndfumble = Math.floor(Math.random() * fumble.length); | |
roll20API.fumbleResultTemp = fumble[rndfumble]; | |
}; | |
roll20API.processAPI_TWM = function() { | |
var fumble = new Array(); | |
fumble[0] = "Fumbler’s movements put them off balance and results in fumbler twisting \ | |
their ankle. Fumbler is slowed for 2d4 rounds. Make a Dexterity check or fall prone."; | |
fumble[1] = "Fumbler’s attacks results in fumbler twisting their wrist. Fumbler is at \ | |
-2 to hit for all remaining combat rounds for this encounter."; | |
fumble[2] = "Fumbler’s movements put them straining their neck. Fumbler’s AC by -2 for \ | |
all reaming combat rounds for this encounter."; | |
var rndfumble = Math.floor(Math.random() * fumble.length); | |
roll20API.fumbleResultTemp = fumble[rndfumble]; | |
}; | |
roll20API.processAPI_TWR = function() { | |
var fumble = new Array(); | |
fumble[0] = "Fumbler is so fixated on positioning to take the shot, that the fumbler \ | |
twists their ankle. Fumbler is slowed for 2d4 rounds. Make a Dexterity check or \ | |
fall prone."; | |
fumble[1] = "Fumbler’s attacks results in fumbler twisting their wrist. Fumbler is \ | |
at -2 to hit for all remaining combat rounds for this encounter."; | |
fumble[2] = "Fumbler’s movements put them straining their neck. Fumbler’s AC by -2 for \ | |
all reaming combat rounds for this encounter."; | |
var rndfumble = Math.floor(Math.random() * fumble.length); | |
roll20API.fumbleResultTemp = fumble[rndfumble]; | |
}; | |
roll20API.processAPI_TWS = function() { | |
var fumble = new Array(); | |
fumble[0] = "Fumbler is so fixated on positioning to take a stealth attack, that the \ | |
fumbler twists their ankle. Fumbler is slowed for 2d4 rounds. Make a Dexterity \ | |
check or fall prone. This completely breaks all stealth."; | |
fumble[1] = "Fumbler’s attacks results in fumbler twisting their wrist. Fumbler is \ | |
at -2 to hit for all remaining combat rounds for this encounter. This completely \ | |
breaks all stealth."; | |
fumble[2] = "Fumbler’s movements put them straining their neck. Fumbler’s AC by -2 \ | |
for all reaming combat rounds for this encounter. This completely breaks all stealth."; | |
var rndfumble = Math.floor(Math.random() * fumble.length); | |
roll20API.fumbleResultTemp = fumble[rndfumble]; | |
}; | |
roll20API.processAPI_SDM = function() { | |
var fumble = new Array(); | |
fumble[0] = "Fumbler has grit in their eye and are at -1 to hit for 1d4 rounds."; | |
fumble[1] = "Random fluid gets in eyes. All opponents concealed (50% miss) and \ | |
lose dexterity bonus to AC for 1d6 rounds."; | |
fumble[2] = "Fumbler’s bad miss results in a loss of situational awareness (risk \ | |
of tripping over, into or off something.) Make a Dexterity check or fall into \ | |
an environmental feature, off of elevated terrain or prone."; | |
var rndfumble = Math.floor(Math.random() * fumble.length); | |
roll20API.fumbleResultTemp = fumble[rndfumble]; | |
}; | |
roll20API.processAPI_SDR = function() { | |
var fumble = new Array(); | |
fumble[0] = "Fumbler’s attention is unfocused by a glint of light, a sudden sound, \ | |
or a random thought at -1 to hit for 1d4 rounds with a ranged weapon."; | |
fumble[1] = "Fumbler has grit in their eye and are at -2 to hit for 1d4 rounds."; | |
fumble[2] = "Fumbler’s bad miss results in a loss of situational awareness (risk \ | |
of tripping over, into or off something.) Make a Dexterity check or fall into \ | |
an environmental feature, off of elevated terrain or prone."; | |
var rndfumble = Math.floor(Math.random() * fumble.length); | |
roll20API.fumbleResultTemp = fumble[rndfumble]; | |
}; | |
roll20API.processAPI_SDS = function() { | |
var fumble = new Array(); | |
fumble[0] = "Lighting conditions change (vapor, smoke or steam) or fumbler kick up \ | |
dust/dirt or knocks and object over. This completely breaks all stealth."; | |
fumble[1] = "Fumbler has grit in their eye and are at -2 to hit for 1d4 rounds."; | |
fumble[2] = "Fumbler’s bad miss results in a loss of situational awareness (risk of \ | |
tripping over, into or off something.) Make a Dexterity check or fall into an \ | |
environmental feature, off of elevated terrain or prone. This completely breaks \ | |
all stealth."; | |
var rndfumble = Math.floor(Math.random() * fumble.length); | |
roll20API.fumbleResultTemp = fumble[rndfumble]; | |
}; | |
roll20API.processAPI_WMM = function() { | |
var fumble = new Array(); | |
fumble[0] = "Helm twists blinding fumbler until their next action. If no helm fumbler \ | |
is knocked in the head and is stunned, losing their next action."; | |
fumble[1] = "Shield grip slips, fumbler loses shield bonus. If no shield fumbler is \ | |
knocked is knocked prone."; | |
fumble[1] = "Backpack slips, fumbler is -2 to attack for the next round. If no backpack \ | |
fumbler’s movements put them severely off balance. They lose Dexterity and Shield bonuses \ | |
to AC for the next round. If losing these bonuses does not reduce the fumbler’s AC by -2 \ | |
(or more), then they still must take a -2 penalty."; | |
fumble[1] = "On extremely valuable item falls free (DMs option.) If no valuable items \ | |
fumbler’s movements put them severely off balance. They lose Dexterity and Shield bonuses \ | |
to AC for the next round. If losing these bonuses does not reduce the fumbler’s AC by -2 \ | |
(or more), then they still must take a -2 penalty."; | |
var rndfumble = Math.floor(Math.random() * fumble.length); | |
roll20API.fumbleResultTemp = fumble[rndfumble]; | |
}; | |
roll20API.processAPI_WMR = function() { | |
var fumble = new Array(); | |
fumble[0] = "Quiver or ammo container falls and ammo scatters randomly. It will take \ | |
2-5 rounds or fire rate is reduced greatly and no specific ammo can be selected. If no \ | |
ammo container, backpack slips, fumbler is -2 to attack for the next round. If no \ | |
backpack fumbler’s movements put them severely off balance. Fumbler loses Dexterity \ | |
for the next round. In either case, this provokes an attack of opportunity from all \ | |
creatures that threaten the fumbler at +3 to hit."; | |
fumble[1] = "On extremely valuable item falls free (DMs option.) If no valuable item \ | |
fumbler’s movements put them severely off balance. Fumbler loses Dexterity for the next \ | |
round. In either case, this provokes an attack of opportunity from all creatures that \ | |
threaten the fumbler at a +3 to hit. This completely breaks all stealth."; | |
var rndfumble = Math.floor(Math.random() * fumble.length); | |
roll20API.fumbleResultTemp = fumble[rndfumble]; | |
}; | |
roll20API.processAPI_WMS = function() { | |
var fumble = new Array(); | |
fumble[0] = "On extremely valuable item falls free (DMs option.) If no valuable item \ | |
fumbler’s movements put them severely off balance. Fumbler lose Dexterity for the next \ | |
round. In either case, this provokes an attack of opportunity from all creatures that \ | |
threaten the fumbler at a +3 to hit. This completely breaks all stealth."; | |
fumble[1] = "If a cloak is being used it snags on a random environmental object. If no \ | |
cloak, some other item or object carried snags. Fumbler lose Dexterity for the next \ | |
round. In either case, this provokes an attack of opportunity from all creatures that \ | |
threaten the fumbler at a +3 to hit. This completely breaks all stealth."; | |
var rndfumble = Math.floor(Math.random() * fumble.length); | |
roll20API.fumbleResultTemp = fumble[rndfumble]; | |
}; | |
roll20API.processAPI_LWF = function() { | |
var fumble = new Array(); | |
fumble[0] = "Fumbler’s thrown weapon is caught by an enemy or fails to return if magical \ | |
(path obstructed in firmly wedged in an environmental feature. If this is not possible, \ | |
a forceful pop in fumbler’s shoulder is heard. Fumber takes 1d8 points of damage. The \ | |
opponent may take a free attempt to disarm, without provoking an attack of opportunity. \ | |
Fumbler is at -2 to hit for all reaming combat rounds for this encounter."; | |
var rndfumble = Math.floor(Math.random() * fumble.length); | |
roll20API.fumbleResultTemp = fumble[rndfumble]; | |
}; | |
roll20API.processAPI_FFM = function() { | |
var fumble = new Array(); | |
fumble[0] = "Fumbler hits an adjacent companion for half damage. Determine randomly a \ | |
companion within the threat zone who is to be hit.Roll damage and half the result."; | |
fumble[1] = "Fumbler hits adjacent companion for half damage. Determine randomly a \ | |
companion within the threat zone who is to be hit.Roll damage and full result."; | |
fumble[2] = "Fumbler disrupts friendly caster or You hit an adjacent companion for \ | |
half damage. Determine randomly a companion within the threat zone who is to be hit. \ | |
Roll damage and full result."; | |
var rndfumble = Math.floor(Math.random() * fumble.length); | |
roll20API.fumbleResultTemp = fumble[rndfumble]; | |
}; | |
roll20API.processAPI_FFR = function() { | |
var fumble = new Array(); | |
fumble[0] = "Fumbler hits an adjacent companion for half damage. Determine randomly a \ | |
companion within the threat zone who is to be hit.Roll damage and half the result."; | |
fumble[1] = "Fumbler hits adjacent companion for half damage. Determine randomly a \ | |
companion within the threat zone who is to be hit.Roll damage and full result."; | |
fumble[2] = "Fumbler disrupts friendly caster or You hit an adjacent companion for \ | |
half damage. Determine randomly a companion within the threat zone who is to be hit. \ | |
Roll damage and full result."; | |
var rndfumble = Math.floor(Math.random() * fumble.length); | |
roll20API.fumbleResultTemp = fumble[rndfumble]; | |
}; | |
roll20API.processAPI_DTS = function() { | |
var fumble = new Array(); | |
fumble[0] = "Any foe capable of detecting fumbler (magic or otherwise) does so on a hutch \ | |
based on some clumsy action on fumbler’s part. Or fumbler is so fixated on \ | |
positioning to take a stealth attack, that the fumbler loses footing and slips into \ | |
the victim. Completely breaking all stealth and the victim gains an additional attack \ | |
of opportunity."; | |
var rndfumble = Math.floor(Math.random() * fumble.length); | |
roll20API.fumbleResultTemp = fumble[rndfumble]; | |
}; | |
roll20API.processAPI_WBM = function() { | |
var fumble = new Array(); | |
fumble[0] = "Fumbler so bungled the attack that is leaves their weapon low and \ | |
vulnerable. The opponent may take a free attempt to sunder the weapon, without \ | |
provoking an attack of opportunity. If the weapon is magical, the opponent may \ | |
take a free attempt to disarm, without provoking an attack of opportunity."; | |
var rndfumble = Math.floor(Math.random() * fumble.length); | |
roll20API.fumbleResultTemp = fumble[rndfumble]; | |
}; | |
roll20API.processAPI_WBR = function() { | |
var fumble = new Array(); | |
fumble[0] = "Bow string breaks or if that is not possible, then fumbler \ | |
mishandled weapon, sending their aim "; | |
var rndfumble = Math.floor(Math.random() * fumble.length); | |
roll20API.fumbleResultTemp = fumble[rndfumble]; | |
}; | |
//CritTables | |
roll20API.processAPI_Crit = function() { | |
var percentRollCrit = Math.floor(Math.random() * 100) + 1; | |
var edgedWeapon = [ | |
{Range: "'1', '2', '3', '4', '5', '6', '7', '8', '9'", Result: "double damage"}, | |
{Range: "'10', '11', '12', '13', '14', '15', '16', '17', '18', '19'", Result: "double damage"}, | |
{Range: "'20', '21', '22', '23', '24', '25', '26', '27', '28', '29'", Result: "double damage"}, | |
{Range: "'30', '31'", Result: "double damage"}, | |
{Range: "'32', '33', '34', '35', '36', '37', '38', '39'", Result: "triple damage"}, | |
{Range: "'40', '41', '42', '43', '44', '45', '46', '47', '48', '49'", Result: "triple damage"}, | |
{Range: "'50', '51', '52', '53', '54', '55', '56', '57', '58', '59'", Result: "triple damage"}, | |
{Range: "'60', '61', '62'", Result: "triple damage"}, | |
{Range: "'63'", Result: "shield destroyed (double damage if no shield)"}, | |
{Range: "'64'", Result: "shield destroyed (triple damage if no shield)"}, | |
{Range: "'65'", Result: "helm removed (lose ear, stunned 1-6 rounds if no helm)"}, | |
{Range: "'66'", Result: "helm removed (lose ear, stunned 1-6 rounds)"}, | |
{Range: "'67'", Result: "voicebox punctured, no talking (no effect if helmed)"}, | |
{Range: "'68', '69'", Result: "ear removed (no effect if helmed)"}, | |
{Range: "'70'", Result: "ear removed (helm removed if helmed)"}, | |
{Range: "'71', '72'", Result: "eye removed (no effect if helmed)"}, | |
{Range: "'73'", Result: "eye removed"}, | |
{Range: "'74'", Result: "knee split; movement halved"}, | |
{Range: "'75'", Result: "knee split; no movement"}, | |
{Range: "'76'", Result: "fingers removed; dexterity reduced 1-5 pts."}, | |
{Range: "'77'", Result: "leg removed at ankle"}, | |
{Range: "'78'", Result: "leg removed at knee"}, | |
{Range: "'79'", Result: "leg removed at hip"}, | |
{Range: "'80'", Result: "shield arm removed at wrist (no effect if shield)"}, | |
{Range: "'81'", Result: "shield arm removed at elbow (no effect if shield)"}, | |
{Range: "'82'", Result: "shield arm removed at elbow (no effect if shield)"}, | |
{Range: "'83'", Result: "shield arm removed at wrist"}, | |
{Range: "'84'", Result: "shield arm removed at elbow"}, | |
{Range: "'85'", Result: "shield arm removed at shoulder"}, | |
{Range: "'86'", Result: "weapon arm removed at wrist"}, | |
{Range: "'87'", Result: "weapon arm removed at elbow"}, | |
{Range: "'88'", Result: "weapon arm removed at shoulder"}, | |
{Range: "'89'", Result: "abdominal injuries; carrying capacity halved"}, | |
{Range: "'90'", Result: "chest injuries; carrying capacity halved"}, | |
{Range: "'91'", Result: "abdominal injuries; death in 1-6 days"}, | |
{Range: "'92'", Result: "chest injuries; death in 1-4 days"}, | |
{Range: "'93'", Result: "abdominal injuries; death in 2-12 turns"}, | |
{Range: "'94'", Result: "chest injuries; death in 2-8 turns"}, | |
{Range: "'95'", Result: "abdominal injuries; immediate death"}, | |
{Range: "'96'", Result: "chest injuries; immediate death"}, | |
{Range: "'97'", Result: "throat cut; immediate death (no effect if helmed)"}, | |
{Range: "'98'", Result: "throat cut; immediate death"}, | |
{Range: "'99'", Result: "decapitated; immediate death (no effect if helmed)"}, | |
{Range: "'100'", Result: "decapitated; immediate death"} | |
]; | |
var bluntWeapon = [ | |
{Range: "'1', '2', '3', '4', '5', '6', '7', '8', '9'", Result: "double damage"}, | |
{Range: "'10', '11', '12', '13', '14', '15', '16', '17', '18', '19'", Result: "double damage"}, | |
{Range: "'20', '21', '22', '23', '24', '25', '26', '27', '28', '29'", Result: "double damage"}, | |
{Range: "'30', '31'", Result: "double damage"}, | |
{Range: "'32', '33', '34', '35', '36', '37', '38', '39'", Result: "triple damage"}, | |
{Range: "'40', '41', '42', '43', '44', '45', '46', '47', '48', '49'", Result: "triple damage"}, | |
{Range: "'50', '51', '52', '53', '54', '55', '56', '57', '58', '59'", Result: "triple damage"}, | |
{Range: "'60', '61', '62', '63', '64'", Result: "triple damage"}, | |
{Range: "'65', '66'", Result: "shield broken (double damage if no shield)"}, | |
{Range: "'67', '68'", Result: "shield broken (triple damage if no shield)"}, | |
{Range: "'69', '70'", Result: "shield arm struck (no shield defense for 1-6 rounds)"}, | |
{Range: "'71', '72'", Result: "shield arm broken; lose shield"}, | |
{Range: "'73', '74'", Result: "weapon arm struck; hit probability -2"}, | |
{Range: "'75', '76'", Result: "weapon arm struck; hit probability -4"}, | |
{Range: "'77', '78'", Result: "weapon arm broken; no attacks"}, | |
{Range: "'79', '80'", Result: "hand struck; dexterity down 1-5 points until healed"}, | |
{Range: "'81', '82'", Result: "hand struck; dexterity down 1-5 points"}, | |
{Range: "'83', '84'", Result: "chest struck; stunned 1-6 rounds"}, | |
{Range: "'85', '86'", Result: "chest struck; ribs broken, lungs punctured; no movement"}, | |
{Range: "'87', '88'", Result: "chest struck; ribs broken, heart punctured; death."}, | |
{Range: "'89', '90'", Result: "leg struck; fall to ground"}, | |
{Range: "'91', '92'", Result: "leg struck; movement halved"}, | |
{Range: "'93', '94'", Result: "leg broken; no movement"}, | |
{Range: "'95'", Result: "head struck; lose 1-6 pts intelligence (no effect if helmed)"}, | |
{Range: "'96'", Result: "head struck; lose 1-6 pts intelligence"}, | |
{Range: "'97'", Result: "head struck; lose 2-12 pts intelligence (no effect if helmed)"}, | |
{Range: "'98'", Result: "head struck; lose 2-12 pts intelligence"}, | |
{Range: "'99'", Result: "skull crushed; dead (no effect if helmed)"}, | |
{Range: "'100'", Result: "skull crushed; dead."} | |
]; | |
var piercingWeapon = [ | |
{Range: "'1', '2', '3', '4', '5', '6', '7', '8', '9'", Result: "double damage"}, | |
{Range: "'10', '11', '12', '13', '14', '15', '16', '17', '18', '19'", Result: "double damage"}, | |
{Range: "'20', '21', '22', '23', '24', '25', '26', '27', '28', '29'", Result: "double damage"}, | |
{Range: "'30', '31', '32', '33', '34'", Result: "double damage"}, | |
{Range: "'35', '36', '37', '38', '39', '40', '41', '42', '43'", Result: "triple damage"}, | |
{Range: "'44', '45', '46', '47', '48', '49', '50', '51', '52', '53'", Result: "triple damage"}, | |
{Range: "'54', '55', '56', '57', '58', '59', '60', '61', '62', '63'", Result: "triple damage"}, | |
{Range: "'64', '65', '66', '67', '68', '69', '70'", Result: "triple damage"}, | |
{Range: "'71', '72'", Result: "shield arm struck (double damage if shield)"}, | |
{Range: "'73', '74'", Result: "shield arm struck (triple damage if no shield)"}, | |
{Range: "'75', '76'", Result: "weapon arm struck; hit probability -2"}, | |
{Range: "'77', '78'", Result: "weapon arm struck; hit probability -4"}, | |
{Range: "'79', '80'", Result: "weapon arm struck; no attacks"}, | |
{Range: "'81', '82'", Result: "struck in abdomen; death in 1-6 days"}, | |
{Range: "'83', '84'", Result: "struck in chest; death in 1-4 days"}, | |
{Range: "'85', '86'", Result: "struck in abdomen; death in 2-12 turns"}, | |
{Range: "'87', '88'", Result: "struck in chest; death in 2-8 turns"}, | |
{Range: "'89', '90'", Result: "struck in abdomen; immediate death"}, | |
{Range: "'91', '92'", Result: "struck in chest; immediate death"}, | |
{Range: "'93'", Result: "blinded in eye (no effect if helmed)"}, | |
{Range: "'93'", Result: "blinded in eye"}, | |
{Range: "'95'", Result: "larynx punctured (no effect if helmed)"}, | |
{Range: "'96'", Result: "larynx punctured"}, | |
{Range: "'97'", Result: "struck in head; lose 1-6 pts intelligence (no effect if helmed)"}, | |
{Range: "'98'", Result: "struck in head; lose 1-6 pts intelligence"}, | |
{Range: "'99'", Result: "struck in head; immediate death (no effect if helmed)"}, | |
{Range: "'100'", Result: "struck in head; immediate death"} | |
]; | |
var versusAnimal = [ | |
{Range: "'1', '2', '3', '4', '5', '6', '7', '8', '9'", Result: "double damage"}, | |
{Range: "'10', '11', '12', '13', '14', '15', '16', '17', '18', '19'", Result: "double damage"}, | |
{Range: "'20', '21', '22', '23', '24', '25', '26', '27', '28', '29'", Result: "double damage"}, | |
{Range: "'30', '31', '32', '33', '34', '35', '36', '37', '38','39'", Result: "triple damage"}, | |
{Range: "'40', '41', '42', '43', '44', '45', '46', '47', '48', '49'", Result: "triple damage"}, | |
{Range: "'50', '51', '52', '53', '54', '55', '56', '57', '58'", Result: "triple damage"}, | |
{Range: "'59', '60'", Result: "limb removed at body; speed halved"}, | |
{Range: "'61', '62'", Result: "limb removed at midpoint; speed halved"}, | |
{Range: "'63', '64'", Result: "limb removed at midpoint; hit probability -2"}, | |
{Range: "'65', '66'", Result: "limb removed at body; hit probability -4"}, | |
{Range: "'67', '68'", Result: "limb removed at midpoint; speed halved, hit prob. -2"}, | |
{Range: "'69', '70'", Result: "limb removed at body; speed halved, hit probability -4"}, | |
{Range: "'71', '72'", Result: "throat cut: immediate death"}, | |
{Range: "'73', '74'", Result: "decapitated"}, | |
{Range: "'75', '76'", Result: "abdominal injuries; immediate death"}, | |
{Range: "'77', '78'", Result: "abdominal injuries; death in 2-12 turns"}, | |
{Range: "'79', '80'", Result: "abdominal injuries; death in 1-6 days"}, | |
{Range: "'81', '82'", Result: "chest injuries; immediate death"}, | |
{Range: "'83', '84'", Result: "chest injuries; death in 2-8 turns"}, | |
{Range: "'85', '86'", Result: "chest injuries; death in 1-4 days"}, | |
{Range: "'87', '88', '89', '90'", Result: "snout struck; immediate retreat"}, | |
{Range: "'91', '92', '93', '94'", Result: "snout struck; hit probability -2 for 1-4 rounds"}, | |
{Range: "'95', '96', '97', '98'", Result: "snout struck; hit probability -4 for 1-4 rounds"}, | |
{Range: "'99'", Result: "head struck; stunned for 1-6 rounds"}, | |
{Range: "'100'", Result: "head struck: immediate death"} | |
]; | |
//Lookup on Tables | |
var edgedWeaponRoll = "'" + percentRollCrit.toString() + "'"; | |
_.each(edgedWeapon, function(loopedgedWeapon) { | |
if(loopedgedWeapon.Range.indexOf(edgedWeaponRoll) !== -1){ | |
roll20API.edgedWeaponResult = loopedgedWeapon.Result | |
}; | |
}); | |
//Lookup on Tables | |
var piercingWeaponRoll = "'" + percentRollCrit.toString() + "'"; | |
_.each(piercingWeapon, function(looppiercingWeapon) { | |
if(looppiercingWeapon.Range.indexOf(piercingWeaponRoll) !== -1){ | |
roll20API.piercingWeaponResult = looppiercingWeapon.Result | |
}; | |
}); | |
//Lookup on Tables | |
var bluntWeaponRoll = "'" + percentRollCrit.toString() + "'"; | |
_.each(bluntWeapon, function(loopbluntWeapon) { | |
if(loopbluntWeapon.Range.indexOf(bluntWeaponRoll) !== -1){ | |
roll20API.bluntWeaponResult = loopbluntWeapon.Result | |
}; | |
}); | |
//Lookup on Tables | |
var versusAnimalRoll = "'" + percentRollCrit.toString() + "'"; | |
_.each(versusAnimal, function(loopversusAnimal) { | |
if(loopversusAnimal.Range.indexOf(versusAnimalRoll) !== -1){ | |
roll20API.versusAnimalResult = loopversusAnimal.Result | |
}; | |
}); | |
}; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
how do I add this to my roll 20 API?