//This script is for use in quickly calculating a critical hit result in the Hackmaster RPG system. | |
//This script is best triggered by a macro setup like the one on the following line | |
//!Critical ?{Enter the number corresponding to the ATTACKER's size. Tiny (1), Small (2), Medium (3), Large (4), Huge (5), Gargantuan (6), Enormous (7), and Colossal (8)|1|2|3|4|5|6|7|8}, ?{Enter the number corresponding to the DEFENDER's size. Tiny (1), Small (2), Medium (3), Large (4), Huge (5), Gargantuan (6), Enormous (7), and Colossal (8)|1|2|3|4|5|6|7|8}, ?{Enter the attack roll after all modifiers have been applied.}, ?{Enter the defense roll after all modifiers have been applied.}, ?{Enter the damage, but do not deduct the defender's DR.}, ?{Enter the defender's DR.}, ?{What kind of weapon did the attack use? Crushing (1), Hacking (2), and Piercing (3)|1|2|3} | |
//The macro asks the user for the values in this order: !Critical [atksize], [defsize], [atkroll], [defroll], [atkdmg], [defdr], [weapon] | |
//The !Critical followed by seven comma-separated numbers could also be entered in manually if you don't want to use a macro. | |
//The script gets the necessary information from the input variables and then rolls the location of the crit (critroll) using the appropriate die. | |
//Next the script finds the appropriate location, the appropriate severity, and the appropriate effect based on weapon type. | |
//The critical effect is returned to Roll20's chat along with the severity and location roll to ensure accuracy of the result. | |
//Thanks to Scott C., Warklaw, The Aaron, and Greymarch2000 for their help designing this script. | |
on('chat:message', function(msg) { | |
var cmdName; | |
var msgTxt; | |
cmdName = '!Critical '; | |
msgTxt = msg.content; | |
if(msg.type == 'api' && msgTxt.indexOf(cmdName) !== -1) { | |
var paramList = msgTxt.slice(cmdName.length); | |
if(paramList.indexOf(',') == -1) { | |
sendChat(msg.who, '/w ' + msg.who + ' must specify seven comma-separated parameters for !Critical command.'); | |
} | |
else { | |
var paramArray = paramList.split(','); | |
var atksize = trimString(paramArray[0]); | |
var defsize = trimString(paramArray[1]); | |
var atkroll = trimString(paramArray[2]); | |
var defroll = trimString(paramArray[3]); | |
var atkdmg = trimString(paramArray[4]); | |
var defdr = trimString(paramArray[5]); | |
var weapon = trimString(paramArray[6]); | |
var severity = (Number(atkroll) + Number(atkdmg)) - (Number(defroll) + Number(defdr)); | |
var sizedif = Number(atksize) - Number(defsize); | |
var critroll = 0; | |
var wpntype; | |
} | |
if (weapon == 1) | |
{wpntype = "C";} | |
if (weapon == 2) | |
{wpntype = "H";} | |
if (weapon == 3) | |
{wpntype = "P";} | |
if (sizedif > -1) | |
{//Roll for if attacker is larger or equal size | |
critroll = randomInteger((10-sizedif)*1000)+(sizedif*1000);} | |
else | |
{//Roll for if attack is smaller | |
critroll = randomInteger((10+sizedif)*1000);} | |
if (critroll < 101) | |
{//Foot, top result | |
sendChat("Critical", "Severity " + severity + " (" + wpntype + "), " + critroll + " - Top of foot.") | |
if (severity < 16) | |
{//1-10 and 11-15 results | |
sendChat("Result", "No additional effect.")} | |
else | |
{if (severity < 21) | |
{//16-20 result | |
sendChat("Result", "1 extra damage die; movement penalty -50% for 1 minute.")} | |
else | |
{if (severity < 26) | |
{//21-25 result | |
sendChat("Result", "2 extra damage dice; movement penalty -50% for 5 minutes.")} | |
else | |
{if (severity < 31) | |
{//26-30 result | |
if (weapon == 2) | |
{//Consult Hacking chart | |
sendChat("Result", "2 extra damage dice; muscle tear; movement penalty (-50% for 1d12p hours, -25% until healed).")} | |
else | |
{//Consult Crushing or Piercing charts | |
sendChat("Result", "2 extra damage dice; broken bone; movement penalty (-50% for 1d12p hours, -25% until healed).")}} | |
else | |
{if (severity < 41) | |
{//31-40 result | |
if (weapon == 2) | |
{//Consult Hacking chart | |
sendChat("Result", "3 extra damage dice; torn ligament; movement penalty (-75% for 6 hours, -50% until healed).")} | |
else | |
{//Consult Crushing or Piercing charts | |
sendChat("Result", "3 extra damage dice; broken bone; movement penalty (-75% for 6 hours, -50% until healed).")}} | |
else | |
{if (severity < 51) | |
{//41-50 result | |
sendChat("Result", "4 extra damage dice; automatically ToPed; compound fracture; movement penalty (-75% for 1 day, -50% until healed); permanent limp.")} | |
else | |
{//51+ result | |
if (weapon == 2) | |
{//Consult Hacking chart | |
sendChat("Result", "4 extra damage dice; automatically ToPed; shattered bone; severe bleeding; movement penalty (-75% for 1 day, -50% until healed); permanent limp.")} | |
else | |
{//Consult Crushing or Piercing charts | |
sendChat("Result", "4 extra damage dice; automatically ToPed; shattered bone; movement penalty (-75% for 1 day, -50% until healed); permanent limp.")}} | |
}}}}}} | |
else | |
{if (critroll < 105) | |
{//Heel result | |
sendChat("Critical", "Severity " + severity + " (" + wpntype + "), " + critroll + " - Heel.") | |
if (severity < 16) | |
{//1-10 and 11-15 results | |
sendChat("Result", "No additional effect.")} | |
else | |
{if (severity < 21) | |
{//16-20 result | |
sendChat("Result", "1 extra damage die; movement penalty -50% for 1 minute.")} | |
else | |
{if (severity < 26) | |
{//21-25 result | |
sendChat("Result", "2 extra damage dice; movement penalty -50% for 5 minutes.")} | |
else | |
{if (severity < 31) | |
{//26-30 result | |
if (weapon == 2) | |
{//Consult Hacking chart | |
sendChat("Result", "2 extra damage dice; muscle tear; -2 Attack penalty; -2 Defense penalty; movement penalty (-50% for 1d12p hours, -25% until healed).")} | |
else | |
{//Consult Crushing or Piercing charts | |
sendChat("Result", "2 extra damage dice; broken bone; -2 Attack penalty; -2 Defense penalty; movement penalty (-50% for 1d12p hours, -25% until healed).")}} | |
else | |
{if (severity < 41) | |
{//31-40 result | |
if (weapon == 2) | |
{//Consult Hacking chart | |
sendChat("Result", "3 extra damage dice; torn ligament; -3 Attack penalty; -2 Dex penalty; movement penalty (-75% for 6 hours, -50% until healed).")} | |
else | |
{//Consult Piercing chart | |
sendChat("Result", "3 extra damage dice; broken bone; -3 Attack penalty; -2 Dex penalty; movement penalty (-75% for 6 hours, -50% until healed); permanent limp.")}} | |
else | |
{if (severity < 51) | |
{//41-50 result | |
sendChat("Result", "4 extra damage dice; automatically ToPed; compound fracture; -3 Attack penalty; -2 Defense penalty; movement penalty (-75% for 1 day, -50% until healed); permanent limp & -1 ATK penalty.")} | |
else | |
{//51+ result | |
if (weapon == 2) | |
{//Consult Hacking chart | |
sendChat("Result", "4 extra damage dice; automatically ToPed; shattered bone; severe bleeding; -3 Attack penalty; -2 Dexterity penalty; immobile; permanent limp and -1 ATK & DEF penalty.")} | |
else | |
{//Consult Crushing or Piercing charts | |
sendChat("Result", "4 extra damage dice; automatically ToPed; shattered bone; -3 Attack penalty; -2 Dexterity penalty; immobile; permanent limp and -1 ATK & DEF penalty.")}} | |
}}}}}} | |
else | |
{if (critroll < 137) | |
{//Toes result | |
sendChat("Critical", "Severity " + severity + " (" + wpntype + "), " + critroll + " - Toes.") | |
if (severity < 16) | |
{//1-10 and 11-15 results | |
sendChat("Result", "No additional effect.")} | |
else | |
{if (severity < 21) | |
{//16-20 result | |
sendChat("Result", "1 extra damage die; movement penalty -50% for 1 minute.")} | |
else | |
{if (severity < 26) | |
{//21-25 result | |
sendChat("Result", "2 extra damage dice; movement penalty -50% for 5 minutes.")} | |
else | |
{if (severity < 31) | |
{//26-30 result | |
if (weapon == 2) | |
{//Consult Hacking chart | |
sendChat("Result", "2 extra damage dice; muscle tear; movement penalty (-50% for 1d12p hours, -25% until healed).")} | |
else | |
{//Consult Crushing or Piercing charts | |
sendChat("Result", "2 extra damage dice; broken bone; movement penalty (-50% for 1d12p hours, -25% until healed).")}} | |
else | |
{if (severity < 41) | |
{//31-40 result | |
if (weapon == 2) | |
{//Consult Hacking chart | |
sendChat("Result", "3 extra damage dice; torn ligament; movement penalty (-75% for 6 hours, -50% until healed).")} | |
else | |
{//Consult Crushing or Piercing charts | |
sendChat("Result", "3 extra damage dice; broken bone; movement penalty (-75% for 6 hours, -50% until healed).")}} | |
else | |
{if (severity < 51) | |
{//41-50 result | |
sendChat("Result", "3 extra damage dice; broken bone; movement penalty (-75% for 6 hours, -50% until healed).")} | |
else | |
{//51+ result | |
if (weapon == 2) | |
{//Consult Hacking chart | |
sendChat("Result", "3 extra damage dice; broken bone; severe bleeding; movement penalty (-75% for 6 hours, -50% until healed).")} | |
else | |
{//Consult Crushing or Piercing charts | |
sendChat("Result", "3 extra damage dice; broken bone; movement penalty (-75% for 6 hours, -50% until healed).")}} | |
}}}}}} | |
else | |
{if (critroll < 141) | |
{//Foot, arch result | |
sendChat("Critical", "Severity " + severity + " (" + wpntype + "), " + critroll + " - Arch of foot.") | |
if (severity < 16) | |
{//1-10 and 11-15 results | |
sendChat("Result", "No additional effect.")} | |
else | |
{if (severity < 21) | |
{//16-20 result | |
sendChat("Result", "1 extra damage die; movement penalty -50% for 1 minute.")} | |
else | |
{if (severity < 26) | |
{//21-25 result | |
sendChat("Result", "2 extra damage dice; movement penalty -50% for 5 minutes.")} | |
else | |
{if (severity < 31) | |
{//26-30 result | |
if (weapon == 2) | |
{//Consult Hacking chart | |
sendChat("Result", "2 extra damage dice; muscle tear; -2 Attack penalty; -2 Defense penalty; movement penalty (-50% for 1d12p hours, -25% until healed).")} | |
else | |
{//Consult Crushing or Piercing charts | |
sendChat("Result", "2 extra damage dice; broken bone; -2 Attack penalty; -2 Defense penalty; movement penalty (-50% for 1d12p hours, -25% until healed).")}} | |
else | |
{if (severity < 41) | |
{//31-40 result | |
if (weapon == 2) | |
{//Consult Hacking chart | |
sendChat("Result", "3 extra damage dice; torn ligament; -3 Attack penalty; -2 Dex penalty; movement penalty (-75% for 6 hours, -50% until healed).")} | |
else | |
{//Consult Crushing or Piercing charts | |
sendChat("Result", "3 extra damage dice; broken bone; -3 Attack penalty; -2 Dex penalty; movement penalty (-75% for 6 hours, -50% until healed); permanent limp.")}} | |
else | |
{if (severity < 51) | |
{//41-50 result | |
sendChat("Result", "4 extra damage dice; automatically ToPed; compound fracture; -3 Attack penalty; -2 Defense penalty; movement penalty (-75% for 1 day, -50% until healed); permanent limp & -1 ATK penalty.")} | |
else | |
{//51+ result | |
if (weapon == 2) | |
{//Consult Hacking chart | |
sendChat("Result", "4 extra damage dice; automatically ToPed; shattered bone; severe bleeding; -3 Attack penalty; -2 Defense penalty; immobile; permanent limp, -1 ATK & DEF penalty.")} | |
else | |
{//Consult Crushing or Piercing charts | |
sendChat("Result", "4 extra damage dice; automatically ToPed; shattered bone; -3 Attack penalty; -2 Defense penalty; immobile; permanent limp, -1 ATK & DEF penalty.")}} | |
}}}}}} | |
else | |
{if (critroll < 171) | |
{//Ankle, inner result | |
sendChat("Critical", "Severity " + severity + " (" + wpntype + "), " + critroll + " - Inner ankle.") | |
if (severity < 11) | |
{//1-10 result | |
sendChat("Result", "No additional effect.")} | |
else | |
{if (severity < 16) | |
{//11-15 result | |
sendChat("Result", "Movement penalty -50% for 1 minute.")} | |
else | |
{if (severity < 21) | |
{//16-20 result | |
sendChat("Result", "1 extra damage die; movement penalty -50% for 5 minutes; count reset.")} | |
else | |
{if (severity < 26) | |
{//21-25 result | |
sendChat("Result", "2 extra damage dice; movement penalty -50% for 1 minute; count reset; held items dropped; -1 Defense.")} | |
else | |
{if (severity < 31) | |
{//26-30 result | |
sendChat("Result", "2 extra damage dice; movement penalty (50% until healed); count reset; held items dropped; -3 Defense.")} | |
else | |
{if (severity < 41) | |
{//31-40 result | |
if (weapon == 2) | |
{//Consult Hacking chart | |
sendChat("Result", "3 extra damage dice; torn ligament; -4 Defense penalty; -2 Str penalty; movement penalty (-75% until healed); count reset; held items dropped; permanent -1 Defense, -0/25 Str.")} | |
else | |
{//Consult Crushing or Piercing charts | |
sendChat("Result", "3 extra damage dice; broken bone; -4 Defense penalty; -2 Str penalty; movement penalty (-75% until healed); count reset; held items dropped; permanent limp, -1 Defense, -0/25 Str.")}} | |
else | |
{if (severity < 51) | |
{//41-50 result | |
sendChat("Result", "4 extra damage dice; automatically ToPed; compound fracture; immobile; permanent limp, -2 Defense, -0/75 Str.")} | |
else | |
{//51+ result | |
if (weapon == 2) | |
{//Consult Hacking chart | |
sendChat("Result", "4 extra damage dice; automatically ToPed; shattered bone; torn ligaments or tendon; severe bleeding; immobile; permanent limp, -1 ATK penalty, -2 Defense.")} | |
else | |
{//Consult Crushing or Piercing charts | |
sendChat("Result", "4 extra damage dice; automatically ToPed; shattered bone; torn ligaments or tendon; immobile; permanent limp, -1 ATK penalty, -2 Defense.")}} | |
}}}}}}} | |
else | |
{if (critroll < 201) | |
{//Ankle, outer result | |
sendChat("Critical", "Severity " + severity + " (" + wpntype + "), " + critroll + " - Outer ankle.") | |
if (severity < 11) | |
{//1-10 result | |
sendChat("Result", "No additional effect.")} | |
else | |
{if (severity < 16) | |
{//11-15 result | |
sendChat("Result", "Movement penalty -50% for 1 minute.")} | |
else | |
{if (severity < 21) | |
{//16-20 result | |
sendChat("Result", "1 extra damage die; movement penalty -50% for 5 minutes; count reset.")} | |
else | |
{if (severity < 26) | |
{//21-25 result | |
sendChat("Result", "2 extra damage dice; movement penalty -50% for 1 minute; count reset; held items dropped; -1 Defense.")} | |
else | |
{if (severity < 31) | |
{//26-30 result | |
sendChat("Result", "2 extra damage dice; movement penalty (50% until healed); count reset; held items dropped; -3 Defense.")} | |
else | |
{if (severity < 41) | |
{//31-40 result | |
if (weapon == 2) | |
{//Consult Hacking chart | |
sendChat("Result", "3 extra damage dice; torn ligament; -4 Defense penalty; -2 Str penalty; movement penalty (-75% until healed); count reset; held items dropped; permanent -1 Defense, -0/25 Str.")} | |
else | |
{//Consult Crushing or Piercing charts | |
sendChat("Result", "3 extra damage dice; broken bone; -4 Defense penalty; -2 Str penalty; movement penalty (-75% until healed); count reset; held items dropped; permanent limp, -1 Defense, -0/25 Str.")}} | |
else | |
{if (severity < 51) | |
{//41-50 result | |
sendChat("Result", "4 extra damage dice; automatically ToPed; compound fracture; immobile; permanent limp, -2 Defense, -0/75 Str.")} | |
else | |
{//51+ result | |
if (weapon == 2) | |
{//Consult Hacking chart | |
sendChat("Result", "4 extra damage dice; automatically ToPed; multiple fracture; torn ligaments/tendons; severe bleeding; immobile; permanent limp, -2 Defense.")} | |
else | |
{//Consult Consulting or Piercing charts | |
sendChat("Result", "4 extra damage dice; automatically ToPed; multiple fracture; torn ligaments/tendons; immobile; permanent limp, -2 Defense.")}} | |
}}}}}}} | |
else | |
{if (critroll < 221) | |
{//Ankle, upper or Achilles result | |
sendChat("Critical", "Severity " + severity + " (" + wpntype + "), " + critroll + " - Upper ankle/Achilles.") | |
if (severity < 11) | |
{//1-10 result | |
sendChat("Result", "No additional effect.")} | |
else | |
{if (severity < 16) | |
{//11-15 result | |
sendChat("Result", "Movement penalty -50% for 1 minute.")} | |
else | |
{if (severity < 21) | |
{//16-20 result | |
sendChat("Result", "1 extra damage die; movement penalty -50% for 5 minutes; count reset.")} | |
else | |
{if (severity < 26) | |
{//21-25 result | |
sendChat("Result", "2 extra damage dice; movement penalty -50% for 5 minutes.")} | |
else | |
{if (severity < 31) | |
{//26-30 result | |
sendChat("Result", "2 extra damage dice; movement penalty (50% until healed); count reset; held items dropped; -3 Defense.")} | |
else | |
{if (severity < 41) | |
{//31-40 result | |
if (weapon == 2) | |
{//Consult Hacking chart | |
sendChat("Result", "3 extra damage dice; torn ligament; -4 Defense penalty; -2 Str penalty; movement penalty (-75% until healed); count reset; held items dropped; permanent -1 Defense, -0/25 Str.")} | |
else | |
{//Consult Crushing or Piercing charts | |
sendChat("Result", "3 extra damage dice; broken bone; -4 Defense penalty; -2 Str penalty; movement penalty (-75% until healed); count reset; held items dropped; permanent limp, -1 Defense, -0/25 Str.")}} | |
else | |
{if (severity < 51) | |
{//41-50 result | |
sendChat("Result", "4 extra damage dice; automatically ToPed; compound fracture; immobile; permanent limp, -2 Defense, -0/75 Str.")} | |
else | |
{//51+ result | |
if (weapon == 2) | |
{//Consult Hacking chart | |
sendChat("Result", "4 extra damage dice; automatically ToPed; multiple fracture; torn ligaments/tendons; severe bleeding; immobile; permanent limp, -2 Defense.")} | |
else | |
{//Consult Crushing or Piercing charts | |
sendChat("Result", "4 extra damage dice; automatically ToPed; multiple fracture; torn ligaments/tendons; immobile; permanent limp, -2 Defense.")}} | |
}}}}}}} | |
else | |
{if (critroll < 965) | |
{//Shin result | |
sendChat("Critical", "Severity " + severity + " (" + wpntype + "), " + critroll + " - Shin.") | |
if (severity < 16) | |
{//1-10 and 11-15 results | |
sendChat("Result", "No additional effect.")} | |
else | |
{if (severity < 21) | |
{//16-20 result | |
sendChat("Result", "1 extra damage die; movement penalty -50% for 1 minute.")} | |
else | |
{if (severity < 26) | |
{//21-25 result | |
sendChat("Result", "2 extra damage dice; movement penalty -50% for 5 minutes.")} | |
else | |
{if (severity < 31) | |
{//26-30 result | |
sendChat("Result", "2 extra damage dice; count reset; held items dropped; -2 Defense.")} | |
else | |
{if (severity < 41) | |
{//31-40 result | |
if (weapon == 2) | |
{//Consult Hacking chart | |
sendChat("Result", "3 extra damage dice; count reset; held items dropped; torn ligament; -4 Defense penalty; movement penalty (-75% until healed).")} | |
else | |
{//Consult Crushing or Piercing charts | |
sendChat("Result", "3 extra damage dice; count reset; held items dropped; broken bone; -4 Defense penalty; movement penalty (-75% until healed).")}} | |
else | |
{if (severity < 51) | |
{//41-50 result | |
sendChat("Result", "3 extra damage dice; automatically ToPed; compound fracture; immobile.")} | |
else | |
{//51+ result | |
if (weapon == 2) | |
{//Consult Hacking chart | |
sendChat("Result", "4 extra damage dice; automatically ToPed; Leg Severed; severe bleeding; immobile; Peg Leg Proficiency required to regain movement.")} | |
else | |
{//Consult Crushing or Piercing charts | |
sendChat("Result", "4 extra damage dice; automatically ToPed; multiple fracture; torn ligaments/tendons; immobile; permanent limp, -1 Defense.")}} | |
}}}}}} | |
else | |
{if (critroll < 1007) | |
{//Calf result | |
sendChat("Critical", "Severity " + severity + " (" + wpntype + "), " + critroll + " - Calf.") | |
if (severity < 16) | |
{//1-10 and 11-15 results | |
sendChat("Result", "No additional effect.")} | |
else | |
{if (severity < 21) | |
{//16-20 result | |
sendChat("Result", "1 extra damage die; movement penalty -50% for 1 minute.")} | |
else | |
{if (severity < 26) | |
{//21-25 result | |
sendChat("Result", "2 extra damage dice; movement penalty -50% for 5 minutes.")} | |
else | |
{if (severity < 31) | |
{//26-30 result | |
sendChat("Result", "2 extra damage dice; count reset; held items dropped; muscle tear; -1 Defense.")} | |
else | |
{if (severity < 41) | |
{//31-40 result | |
sendChat("Result", "3 extra damage dice; count reset; held items dropped; broken bone and muscle tear; -4 Defense penalty; movement penalty (-75% until healed).")} | |
else | |
{if (severity < 51) | |
{//41-50 result | |
sendChat("Result", "3 extra damage dice; automatically ToPed; compound fracture; immobile.")} | |
else | |
{//51+ result | |
if (weapon == 2) | |
{//Consult Hacking chart | |
sendChat("Result", "4 extra damage dice; automatically ToPed; Leg Severed; severe bleeding; immobile; Peg Leg proficiency required to regain movement.")} | |
else | |
{//Consult Crushing or Piercing charts | |
sendChat("Result", "4 extra damage dice; automatically ToPed; multiple fracture; torn ligaments/tendons; immobile; permanent limp, -1 Defense.")}} | |
}}}}}} | |
else | |
{if (critroll < 1119) | |
{//Knee result | |
sendChat("Critical", "Severity " + severity + " (" + wpntype + "), " + critroll + " - Knee.") | |
if (severity < 11) | |
{//1-10 result | |
sendChat("Result", "No additional effect.")} | |
else | |
{if (severity < 16) | |
{//11-15 result | |
sendChat("Result", "1 extra damage die.")} | |
else | |
{if (severity < 21) | |
{//16-20 result | |
sendChat("Result", "2 extra damage dice; movement penalty -50% for 5 minutes; count reset; held items dropped.")} | |
else | |
{if (severity < 26) | |
{//21-25 result | |
sendChat("Result", "2 extra damage dice; -2 Def penalty; movement penalty (-50% for 6 hours, -25% until healed); count reset; held items dropped.")} | |
else | |
{if (severity < 31) | |
{//26-30 result | |
sendChat("Result", "3 extra damage dice; count reset; held items dropped; movement penalty (-75% for 6 hours, -50% for subsequent week); -3 Def penalty.")} | |
else | |
{if (severity < 41) | |
{//31-40 result | |
sendChat("Result", "3 extra damage dice; automatically ToPed; movement penalty (-75% for 6 hours, -50% until healed); -4 Defense penalty; permanent -1 Defense penalty.")} | |
else | |
{if (severity < 51) | |
{//41-50 result | |
sendChat("Result", "4 extra damage dice; automatically ToPed; torn ligaments/tendons; immobile; permanent limp & -2 Def.")} | |
else | |
{//51+ result | |
if (weapon == 2) | |
{//Consult Hacking chart | |
sendChat("Result", "4 extra damage dice; automatically ToPed; Leg Severed; immobile; Peg Leg proficiency required to regain movement.")} | |
else | |
{//Consult Crushing or Piercing charts | |
sendChat("Result", "4 extra damage dice; automatically ToPed; multiple fracture; torn ligaments/tendons; immobile; permanent limp & -2 Def.")}} | |
}}}}}}} | |
else | |
{if (critroll < 1133) | |
{//Knee, back result | |
sendChat("Critical", "Severity " + severity + " (" + wpntype + "), " + critroll + " - Back of knee.") | |
if (severity < 11) | |
{//1-10 result | |
sendChat("Result", "No additional effect.")} | |
else | |
{if (severity < 16) | |
{//11-15 result | |
sendChat("Result", "1 extra damage die.")} | |
else | |
{if (severity < 21) | |
{//16-20 result | |
sendChat("Result", "2 extra damage dice; movement penalty -50% for 5 minutes; count reset; held items dropped.")} | |
else | |
{if (severity < 26) | |
{//21-25 result | |
sendChat("Result", "2 extra damage dice; -2 Def penalty; movement penalty (-50% for 6 hours, -25% until healed); count reset; held items dropped.")} | |
else | |
{if (severity < 31) | |
{//26-30 result | |
sendChat("Result", "3 extra damage dice; count reset; held items dropped; movement penalty (-75% for 6 hours, -50% for subsequent week); -3 Defense penalty.")} | |
else | |
{if (severity < 41) | |
{//31-40 result | |
sendChat("Result", "3 extra damage dice; automatically ToPed; movement penalty (-75% for 6 hours, -50% until healed); -4 Def penalty.")} | |
else | |
{if (severity < 51) | |
{//41-50 result | |
sendChat("Result", "4 extra damage dice; automatically ToPed; torn ligaments/tendons; immobile; permanent limp & -1 Def.")} | |
else | |
{//51+ result | |
if (weapon == 2) | |
{//Consult Hacking chart | |
sendChat("Result", "4 extra damage dice; automatically ToPed; Leg Severed; severe bleeding; immobile; Peg Leg proficiency required to regain movement.")} | |
else | |
{//Consult Crushing or Piercing charts | |
sendChat("Result", "4 extra damage dice; automatically ToPed; multiple fracture; torn ligaments/tendons; immobile; permanent limp & -2 Def.")}} | |
}}}}}}} | |
else | |
{if (critroll < 1217) | |
{//Hamstring result | |
sendChat("Critical", "Severity " + severity + " (" + wpntype + "), " + critroll + " - Hamstring.") | |
if (severity < 11) | |
{//1-10 result | |
sendChat("Result", "No additional effect.")} | |
else | |
{if (severity < 16) | |
{//11-15 result | |
sendChat("Result", "1 extra damage die.")} | |
else | |
{if (severity < 21) | |
{//16-20 result | |
sendChat("Result", "2 exra damage dice; movement penalty -50% for 5 minutes; count reset; held items dropped.")} | |
else | |
{if (severity < 26) | |
{//21-25 result | |
sendChat("Result", "2 extra damage dice; -1 Atk & Def penalty; movement penalty (-50% for 6 hours, -25% until healed); count reset; held items dropped.")} | |
else | |
{if (severity < 31) | |
{//26-30 result | |
sendChat("Result", "3 extra damage dice; count reset; held items dropped; movement penalty (-75% for 6 hours, -50% for subsequent week); -2 Def penalty.")} | |
else | |
{if (severity < 41) | |
{//31-40 result | |
sendChat("Result", "3 extra damage dice; automatically ToPed; movement penalty (-75% for 6 hours, -50% until healed); -3 Def penalty.")} | |
else | |
{if (severity < 51) | |
{//41-50 result | |
sendChat("Result", "4 extra damage dice; automatically ToPed; torn ligaments/tendons; immobile; permanent limp & -1 Def.")} | |
else | |
{//51+ result | |
if (weapon == 2) | |
{//Consult Hacking chart | |
sendChat("Result", "4 extra damage dice; automatically ToPed; compound fracture; severe bleeding; immobile; permanent limp & -1 Atk & -1 Def.")} | |
else | |
{//Consult Crushing or Piercing charts | |
sendChat("Result", "4 extra damage dice; automatically ToPed; compound fracture; immobile; permanent limp & -1 Atk & -1 Def.")}} | |
}}}}}}} | |
else | |
{if (critroll < 2001) | |
{//Thigh result | |
sendChat("Critical", "Severity " + severity + " (" + wpntype + "), " + critroll + " - Thigh.") | |
if (severity < 11) | |
{//1-10 result | |
sendChat("Result", "No additional effect.")} | |
else | |
{if (severity < 16) | |
{//11-15 result | |
sendChat("Result", "1 extra damage die.")} | |
else | |
{if (severity < 21) | |
{//16-20 result | |
sendChat("Result", "2 extra damage dice; movement penalty -50% for 5 minutes; count reset; held items dropped.")} | |
else | |
{if (severity < 26) | |
{//21-25 result | |
sendChat("Result", "2 extra damage dice; -1 Atk & Def penalty; movement penalty (-50% for 6 hours, -25% until healed); count reset; held items dropped.")} | |
else | |
{if (severity < 31) | |
{//26-30 result | |
sendChat("Result", "3 extra damage dice; count reset; held items dropped; movement penalty (-75% for 6 hours, -50% for subsequent week); -2 Def penalty.")} | |
else | |
{if (severity < 41) | |
{//31-40 result | |
sendChat("Result", "3 extra damage dice; automatically ToPed; movement penalty (-75% for 6 hours, -50% until healed); -3 Def penalty.")} | |
else | |
{if (severity < 51) | |
{//41-50 result | |
sendChat("Result", "4 extra damage dice; automatically ToPed; torn ligaments/tendons; immobile; permanent limp & -1 Def.")} | |
else | |
{//51+ result | |
if (weapon == 2) | |
{//Consult Hacking chart | |
sendChat("Result", "4 extra damage dice; automatically ToPed; compound fracture; severe bleeding; immobile; permanent limp & -1 Atk & -1 Def.")} | |
else | |
{//Consult Crushing or Piercing charts | |
sendChat("Result", "4 extra damage dice; automatically ToPed; compound fracture; immobile; permanent limp & -1 Atk & -1 Def.")}} | |
}}}}}}} | |
else | |
{if (critroll < 2331) | |
{//Hip result | |
sendChat("Critical", "Severity " + severity + " (" + wpntype + "), " + critroll + " - Hip.") | |
if (severity < 11) | |
{//1-10 result | |
sendChat("Result", "No additional effect.")} | |
else | |
{if (severity < 16) | |
{//11-15 result | |
sendChat("Result", "1 extra damage die.")} | |
else | |
{if (severity < 21) | |
{//16-20 result | |
sendChat("Result", "2 extra damage dice; movement penalty -50% for 5 minutes; count reset; held items dropped.")} | |
else | |
{if (severity < 26) | |
{//21-25 result | |
sendChat("Result", "2 extra damage dice; -2 Atk & Def penalty; movement penalty (-50% for 6 hours, -25% until healed); count reset; held items dropped.")} | |
else | |
{if (severity < 31) | |
{//26-30 result | |
sendChat("Result", "3 extra damage dice; count reset; held items dropped; torn ligament; movement penalty (-75% for 6 hours, -50% for subsequent week); -2 Def penalty.")} | |
else | |
{if (severity < 41) | |
{//31-40 result | |
sendChat("Result", "3 extra damage dice; automatically ToPed; broken bone; immobile; -3 Def penalty.")} | |
else | |
{if (severity < 51) | |
{//41-50 result | |
sendChat("Result", "4 extra damage dice; automatically ToPed; compound fracture; immobile; permanent limp & -1 ATK & -1 DEF.")} | |
else | |
{//51+ result | |
if (weapon == 2) | |
{//Consult Hacking chart | |
sendChat("Result", "4 extra damage dice; automatically ToPed; compound fracture; severe bleeding; immobile; permanent limp & -1 ATK & -2 DEF.")} | |
else | |
{//Consult Crushing or Piercing charts | |
sendChat("Result", "4 extra damage dice; automatically ToPed; compound fracture; immobile; permanent limp & -1 ATK & -2 DEF.")}} | |
}}}}}}} | |
else | |
{if (critroll < 2406) | |
{//Groin result | |
sendChat("Critical", "Severity " + severity + " (" + wpntype + "), " + critroll + " - Groin.") | |
if (severity < 11) | |
{//1-10 result | |
sendChat("Result", "No additional effect.")} | |
else | |
{if (severity < 16) | |
{//11-15 result | |
sendChat("Result", "1 extra damage die.")} | |
else | |
{if (severity < 21) | |
{//16-20 result | |
sendChat("Result", "2 extra damage dice; movement penalty -50% for 5 minutes; count reset; held items dropped.")} | |
else | |
{if (severity < 26) | |
{//21-25 result | |
sendChat("Result", "2 extra damage dice; -1 Atk & Def penalty; movement penalty (-50% for 6 hours, -25% until healed); count reset; held items dropped.")} | |
else | |
{if (severity < 31) | |
{//26-30 result | |
sendChat("Result", "3 extra damage dice; automatically ToPed; movement penalty (-75% for 6 hours, -50% until healed); -3 Def penalty.")} | |
else | |
{if (severity < 41) | |
{//31-40 result | |
if (weapon == 2) | |
{//Consult Hacking chart | |
sendChat("Result", "4 extra damage dice; automatically ToPed; severe bleeding; movement penalty (-75% for 6 hours, -50% until healed); -4 Def penalty.")} | |
else | |
{//Consult Crushing or Piercing charts | |
sendChat("Result", "4 extra damage dice; automatically ToPed; internal bleeding; movement penalty (-75% for 6 hours, -50% until healed); -4 Def penalty.")}} | |
else | |
{if (severity < 51) | |
{//41-50 result | |
if (weapon == 2) | |
{//Consult Hacking chart | |
sendChat("Result", "4 extra damage dice; automatically ToPed; severe bleeding; movement penalty (-75% for 6 hours, -50% until healed); -4 Def penalty.")} | |
else | |
{//Consult Crushing or Piercing charts | |
sendChat("Result", "4 extra damage dice; automatically ToPed; internal bleeding; movement penalty (-75% for 6 hours, -50% until healed); -4 Def penalty.")}} | |
else | |
{//51+ result | |
if (weapon == 2) | |
{//Consult Hacking chart | |
sendChat("Result", "4 extra damage dice; automatically ToPed; sterilized; severe bleeding; movement penalty (-75% for 6 hours, -50% until healed); -4 Def penalty.")} | |
else | |
{//Consult Crushing or Piercing charts | |
sendChat("Result", "4 extra damage dice; automatically ToPed; sterilized; internal bleeding; movement penalty (-75% for 6 hours, -50% until healed); -4 Def penalty.")}} | |
}}}}}}} | |
else | |
{if (critroll < 2436) | |
{//Buttock result | |
sendChat("Critical", "Severity " + severity + " (" + wpntype + "), " + critroll + " - Buttock.") | |
if (severity < 11) | |
{//1-10 result | |
sendChat("Result", "No additional effect.")} | |
else | |
{if (severity < 16) | |
{//11-15 result | |
sendChat("Result", "1 extra damage die.")} | |
else | |
{if (severity < 21) | |
{//16-20 result | |
sendChat("Result", "2 extra damage dice; count reset; held items dropped.")} | |
else | |
{if (severity < 26) | |
{//21-25 result | |
sendChat("Result", "2 extra damage dice; count reset; held items dropped.")} | |
else | |
{if (severity < 31) | |
{//26-30 result | |
sendChat("Result", "3 extra damage dice; count reset; held items dropped; movement penalty (-75% for 6 hours, -50% for subsequent week); -2 Def penalty.")} | |
else | |
{if (severity < 41) | |
{//31-40 result | |
sendChat("Result", "3 extra damage dice; automatically ToPed; movement penalty (-75% for 6 hours, -50% until healed); -3 Def penalty.")} | |
else | |
{if (severity < 51) | |
{//41-50 result | |
sendChat("Result", "4 extra damage dice; automatically ToPed; torn ligaments/tendons; immobile; permanent limp & -1 Def.")} | |
else | |
{//51+ result | |
if (weapon == 2) | |
{//Consult Hacking chart | |
sendChat("Result", "4 extra damage dice; automatically ToPed; compound fracture; severe bleeding; immobile; permanent limp & -1 Def.")} | |
else | |
{//Consult Crushing or Piercing charts | |
sendChat("Result", "4 extra damage dice; automatically ToPed; compound fracture; immobile; permanent limp & -1 Def.")}} | |
}}}}}}} | |
else | |
{if (critroll < 2571) | |
{//Abdomen, lower result | |
sendChat("Critical", "Severity " + severity + " (" + wpntype + "), " + critroll + " - Lower abdomen.") | |
if (severity < 11) | |
{//1-10 result | |
sendChat("Result", "1 extra damage die.")} | |
else | |
{if (severity < 16) | |
{//11-15 result | |
sendChat("Result", "2 extra damage dice; count reset; held items dropped.")} | |
else | |
{if (severity < 21) | |
{//16-20 result | |
if (weapon == 2) | |
{//Consult Hacking chart | |
sendChat("Result", "2 extra damage dice; -2 Str until healed.")} | |
else | |
{//Consult Crushing or Piercing charts | |
sendChat("Result", "2 extra damage dice; 50% chance of internal bleeding; -2 Str until healed.")}} | |
else | |
{if (severity < 26) | |
{//21-25 result | |
if (weapon == 2) | |
{//Consult Hacking chart | |
sendChat("Result", "3 extra damage dice; automatically ToPed; muscle tear; severe bleeding; -2 Str until healed.")} | |
else | |
{//Consult Crushing or Piercing charts | |
sendChat("Result", "3 extra damage dice; automatically ToPed; muscle tear; internal bleeding; -2 Str until healed.")}} | |
else | |
{if (severity < 31) | |
{//26-30 result | |
if (weapon == 1) | |
{//Consult Crushing chart | |
sendChat("Result", "3 extra damage dice; automatically ToPed; muscle tear; internal bleeding; -3 Str until healed; permanent loss of 0/50 Con.")} | |
else | |
{//Consult Hacking or Piercing charts | |
sendChat("Result", "3 extra damage dice; automatically ToPed; muscle tear; severe bleeding; -3 Str until healed; permanent loss of 0/50 Con.")}} | |
else | |
{if (severity < 41) | |
{//31-40 result | |
if (weapon == 1) | |
{//Consult Crushing chart | |
sendChat("Result", "4 extra damage dice; automatically ToPed; internal hemorrhaging; permanent -1 Con.")} | |
else | |
{//Consult Hacking or Piercing charts | |
sendChat("Result", "4 extra damage dice; automatically ToPed; severe bleeding; permanent -1 Con.")}} | |
else | |
{if (severity < 51) | |
{//41-50 result | |
if (weapon == 1) | |
{//Consult Crushing chart | |
sendChat("Result", "4 extra damage dice; automatically ToPed; internal hemorrhaging; permanent -2 Con.")} | |
else | |
{if (weapon == 2) | |
{//Consult Hacking chart | |
sendChat("Result", "Target killed instantly; gutted and internal organs spill out.")} | |
else | |
{//Consult Piercing chart | |
sendChat("Result", "4 extra damage dice; automatically ToPed; severe bleeding; permanent -2 Con.")}}} | |
else | |
{//51+ result | |
if (weapon == 2) | |
{//Consult Hacking chart | |
sendChat("Result", "Target killed instantly; gutted and internal organs spill out.")} | |
else | |
{//Consult Crushing or Piercing charts | |
sendChat("Result", "Target killed instantly; multiple organ failure.")}} | |
}}}}}}} | |
else | |
{if (critroll < 3021) | |
{//Side, lower result | |
sendChat("Critical", "Severity " + severity + " (" + wpntype + "), " + critroll + " - Lower side.") | |
if (severity < 11) | |
{//1-10 result | |
sendChat("Result", "No additional effect.")} | |
else | |
{if (severity < 16) | |
{//11-15 result | |
sendChat("Result", "1 extra damage die.")} | |
else | |
{if (severity < 21) | |
{//16-20 result | |
sendChat("Result", "2 extra damage dice; count reset; held items dropped.")} | |
else | |
{if (severity < 26) | |
{//21-25 result | |
if (weapon == 2) | |
{//Consult Hacking chart | |
sendChat("Result", "2 extra damage dice; -2 Str until healed.")} | |
else | |
{//Consult Crushing or Piercing charts | |
sendChat("Result", "2 extra damage dice; 50% chance for internal bleeding; -2 Str until healed.")}} | |
else | |
{if (severity < 31) | |
{//26-30 result | |
if (weapon == 1) | |
{//Consult Crushing chart | |
sendChat("Result", "3 extra damage dice; automatically ToPed; muscle tear; internal bleeding; -2 Str until healed.")} | |
else | |
{//Consult Hacking or Piercing charts | |
sendChat("Result", "3 extra damage dice; automatically ToPed; muscle tear; severe bleeding; -2 Str until healed.")}} | |
else | |
{if (severity < 41) | |
{//31-40 result | |
if (weapon == 1) | |
{//Consult Crushing chart | |
sendChat("Result", "3 extra damage dice; automatically ToPed; muscle tear; internal bleeding; -3 Str until healed; permanent loss of 0/50 Con.")} | |
else | |
{//Consult Hacking or Piercing charts | |
sendChat("Result", "3 extra damage dice; automatically ToPed; muscle tear; severe bleeding; -3 Str until healed; permanent loss of 0/50 Con.")}} | |
else | |
{if (severity < 51) | |
{//41-50 result | |
if (weapon == 1) | |
{//Consult Crushing chart | |
sendChat("Result", "4 extra damage dice; automatically ToPed; internal hemorrhaging; permanent -1 Con.")} | |
else | |
{//Consult Hacking or Piercing charts | |
sendChat("Result", "4 extra damage dice; automatically ToPed; severe bleeding; permanent -1 Con.")}} | |
else | |
{//51+ result | |
if (weapon == 2) | |
{//Consult Hacking chart | |
sendChat("Result", "Target killed instantly; gutted and internal organs spilled out.")} | |
else | |
{//Consult Crushing or Piercing charts | |
sendChat("Result", "4 extra damage dice; automatically ToPed; internal hemorrhaging; permanent -2 Con.")}} | |
}}}}}}} | |
else | |
{if (critroll < 3111) | |
{//Abdomen, upper result | |
sendChat("Critical", "Severity " + severity + " (" + wpntype + "), " + critroll + " - Upper abdomen.") | |
if (severity < 11) | |
{//1-10 result | |
sendChat("Result", "1 extra damage die.")} | |
else | |
{if (severity < 16) | |
{//11-15 result | |
sendChat("Result", "2 extra damage dice; count reset; held items dropped.")} | |
else | |
{if (severity < 21) | |
{//16-20 result | |
if (weapon == 2) | |
{//Consult Hacking chart | |
sendChat("Result", "2 extra damage dice; -2 Str until healed.")} | |
else | |
{//Consult Crushing or Piercing charts | |
sendChat("Result", "2 extra damage dice; 50% chance of internal bleeding; -2 Str until healed.")}} | |
else | |
{if (severity < 26) | |
{//21-25 result | |
if (weapon == 2) | |
{//Consult Hacking chart | |
sendChat("Result", "3 extra damage dice; automatically ToPed; muscle tear; severe bleeding; -2 Str until healed.")} | |
else | |
{//Consult Crushing or Piercing charts | |
sendChat("Result", "3 extra damage dice; automatically ToPed; muscle tear; internal bleeding; -2 Str until healed.")}} | |
else | |
{if (severity < 31) | |
{//26-30 result | |
if (weapon == 1) | |
{//Consult Crushing chart | |
sendChat("Result", "3 extra damage dice; automatically ToPed; muscle tear; internal bleeding; -3 Str until healed; permanent loss of 0/50 Con.")} | |
else | |
{//Consult Hacking or Piercing charts | |
sendChat("Result", "3 extra damage dice; automatically ToPed; muscle tear; severe bleeding; -3 Str until healed; permanent loss of 0/50 Con.")}} | |
else | |
{if (severity < 41) | |
{//31-40 result | |
if (weapon == 1) | |
{//Consult Crushing chart | |
sendChat("Result", "4 extra damage dice; automatically ToPed; internal hemorrhaging; permanent -1 Con.")} | |
else | |
{//Consult Hacking or Piercing charts | |
sendChat("Result", "4 extra damage dice; automatically ToPed; severe bleeding; permanent -1 Con.")}} | |
else | |
{if (severity < 51) | |
{//41-50 result | |
if (weapon == 2) | |
{//Consult Hacking chart | |
sendChat("Result", "Target killed instantly; gutted and internal organs spill out.")} | |
else | |
{//Consult Crushing or Piercing charts | |
sendChat("Result", "4 extra damage dice; automatically ToPed; severe bleeding; permanent -2 Con.")}} | |
else | |
{//51+ result | |
if (weapon == 2) | |
{//Consult Hacking chart | |
sendChat("Result", "Target killed instantly; gutted and internal organs spill out.")} | |
else | |
{//Consult Crushing or Piercing charts | |
sendChat("Result", "Target killed instantly; multiple organ failure.")}} | |
}}}}}}} | |
else | |
{if (critroll < 3126) | |
{//Back, small of result | |
sendChat("Critical", "Severity " + severity + " (" + wpntype + "), " + critroll + " - Small of back.") | |
if (severity < 11) | |
{//1-10 result | |
sendChat("Result", "1 extra damage die.")} | |
else | |
{if (severity < 16) | |
{//11-15 result | |
sendChat("Result", "2 extra damage dice; count reset; held items dropped.")} | |
else | |
{if (severity < 21) | |
{//16-20 result | |
if (weapon == 2) | |
{//Consult Hacking chart | |
sendChat("Result", "2 extra damage dice; count reset; held items dropped.")} | |
else | |
{//Consult Crushing or Piercing charts | |
sendChat("Result", "2 extra damage dice; count reset; held items dropped; 30% chance of internal bleeding.")}} | |
else | |
{if (severity < 26) | |
{//21-25 result | |
sendChat("Result", "3 extra damage dice; count reset; held items dropped; torn muscle and 65% chance of internal bleeding; -2 Str until healed.")} | |
else | |
{if (severity < 31) | |
{//26-30 result | |
if (weapon == 1) | |
{//Consult Crushing chart | |
sendChat("Result", "3 extra damage dice; automatically ToPed; bruised kidney & torn muscle; internal bleeding; -3 Str until healed; permanent loss of 0/75 Strength.")} | |
else | |
{//Consult Hacking or Piercing charts | |
sendChat("Result", "3 extra damage dice; automatically ToPed; torn muscle; severe bleeding; -3 Str until healed; permanent loss of 0/75 Strength.")}} | |
else | |
{if (severity < 41) | |
{//31-40 result | |
sendChat("Result", "4 extra damage dice; automatically ToPed; broken bone (vertebrae); paralyzed until healed (85% chance of it being permanent).")} | |
else | |
{if (severity < 51) | |
{//41-50 result | |
if (weapon == 1) | |
{//Consult Crushing chart | |
sendChat("Result", "Target killed instantly; broken spine.")} | |
else | |
{//Consult Hacking or Piercing charts | |
sendChat("Result", "Target killed instantly; severed spine.")}} | |
else | |
{//51+ result | |
if (weapon == 2) | |
{//Consult Hacking chart | |
sendChat("Result", "Target killed instantly; severed spine.")} | |
else | |
{//Consult Crushing or Piercing charts | |
sendChat("Result", "Target killed instantly; broken spine.")}} | |
}}}}}}} | |
else | |
{if (critroll < 3156) | |
{//Back, lower result | |
sendChat("Critical", "Severity " + severity + " (" + wpntype + "), " + critroll + " - Lower back.") | |
if (severity < 11) | |
{//1-10 result | |
sendChat("Result", "1 extra damage die.")} | |
else | |
{if (severity < 16) | |
{//11-15 result | |
sendChat("Result", "2 extra damage dice; count reset; held items dropped.")} | |
else | |
{if (severity < 21) | |
{//16-20 result | |
if (weapon == 2) | |
{//Consult Hacking chart | |
sendChat("Result", "2 extra damage dice; count reset; held items dropped.")} | |
else | |
{//Consult Crushing or Piercing charts | |
sendChat("Result", "2 extra damage dice; count reset; held items dropped; 30% chance of internal bleeding.")}} | |
else | |
{if (severity < 26) | |
{//21-25 result | |
if (weapon == 2) | |
{//Consult Hacking chart | |
sendChat("Result", "3 extra damage dice; count reset; held items dropped; torn muscle; -3 Str until healed.")} | |
else | |
{//Consult Crushing or Piercing charts | |
sendChat("Result", "3 extra damage dice; count reset; held items dropped; torn muscle and 65% chance of internal bleeding; -3 Str until healed.")}} | |
else | |
{if (severity < 31) | |
{//26-30 result | |
sendChat("Result", "3 extra damage dice; automatically ToPed; broken bone (vertebrae); paralyzed until healed (65% chance of it being permanent).")} | |
else | |
{if (severity < 41) | |
{//31-40 result | |
sendChat("Result", "4 extra damage dice; automatically ToPed; broken bone (vertebrae); paralyzed until healed (85% chance of it being permanent).")} | |
else | |
{if (severity < 51) | |
{//41-50 result | |
if (weapon == 1) | |
{//Consult Crushing chart | |
sendChat("Result", "Target killed instantly; broken spine.")} | |
else | |
{//Consult Hacking or Piercing charts | |
sendChat("Result", "Target killed instantly; severed spine.")}} | |
else | |
{//51+ result | |
if (weapon == 2) | |
{//Consult Hacking chart | |
sendChat("Result", "Target killed instantly; severed spine.")} | |
else | |
{//Consult Crushing or Piercing charts | |
sendChat("Result", "Target killed instantly; broken spine.")}} | |
}}}}}}} | |
else | |
{if (critroll < 3426) | |
{//Chest result | |
sendChat("Critical", "Severity " + severity + " (" + wpntype + "), " + critroll + " - Chest.") | |
if (severity < 11) | |
{//1-10 result | |
sendChat("Result", "1 extra damage die.")} | |
else | |
{if (severity < 16) | |
{//11-15 result | |
sendChat("Result", "2 extra damage dice; count reset; held items dropped.")} | |
else | |
{if (severity < 21) | |
{//16-20 result | |
if (weapon == 2) | |
{//Consult Hacking chart | |
sendChat("Result", "2 extra damage dice; count reset; held items dropped; broken bone; -2 Str until healed.")} | |
else | |
{//Consult Crushing or Piercing charts | |
sendChat("Result", "2 extra damage dice; count reset; held items dropped; 30% chance of internal bleeding; broken bone; -2 Str until healed.")}} | |
else | |
{if (severity < 26) | |
{//21-25 result | |
if (weapon == 2) | |
{//Consult Hacking chart | |
sendChat("Result", "3 extra damage dice; count reset; held items dropped; broken bone; -3 Str until healed.")} | |
else | |
{//Consult Crushing or Piercing charts | |
sendChat("Result", "3 extra damage dice; count reset; held items dropped; broken bone and 50% chance of internal bleeding; -3 Str until healed.")}} | |
else | |
{if (severity < 31) | |
{//26-30 result | |
if (weapon == 1) | |
{//Consult Crushing chart | |
sendChat("Result", "3 extra damage dice; automatically ToPed; broken bone; bruised lung; 75% chance of internal bleeding; -3 Str until healed; -0/75 Str permanently.")} | |
else | |
{//Consult Hacking or Piercing charts | |
sendChat("Result", "3 extra damage dice; automatically ToPed; broken bone; 75% chance of internal bleeding; -3 Str until healed; -0/75 Str permanently.")}} | |
else | |
{if (severity < 41) | |
{//31-40 result | |
if (weapon == 1) | |
{//Consult Crushing chart | |
sendChat("Result", "4 extra damage dice; automatically ToPed; compound fracture; internal bleeding; -5 Str until healed; -1/25 Str permanently.")} | |
else | |
{//Consult Hacking or Piercing charts | |
sendChat("Result", "4 extra damage dice; automatically ToPed; compound fracture; severe bleeding; -5 Str until healed; -1/25 Str permanently.")}} | |
else | |
{//41-50 and 51+ results | |
sendChat("Result", "Target killed instantly; ruptured aorta.")} | |
}}}}}} | |
else | |
{if (critroll < 3456) | |
{//Side, upper result | |
sendChat("Critical", "Severity " + severity + " (" + wpntype + "), " + critroll + " - Upper side.") | |
if (severity < 11) | |
{//1-10 result | |
sendChat("Result", "No additional effect.")} | |
else | |
{if (severity < 16) | |
{//11-15 result | |
sendChat("Result", "1 extra damage die.")} | |
else | |
{if (severity < 21) | |
{//16-20 result | |
sendChat("Result", "2 extra damage dice; count reset; held items dropped.")} | |
else | |
{if (severity < 26) | |
{//21-25 result | |
if (weapon == 2) | |
{//Consult Hacking chart | |
sendChat("Result", "2 extra damage dice; count reset; held items dropped; broken ribs; -2 Str until healed.")} | |
else | |
{//Consult Crushing or Piercing charts | |
sendChat("Result", "2 extra damage dice; count reset; held items dropped; broken ribs; 30% chance of internal bleeding; -2 Str until healed.")}} | |
else | |
{if (severity < 31) | |
{//26-30 result | |
if (weapon == 1) | |
{//Consult Crushing chart | |
sendChat("Result", "3 extra damage dice; count reset; held items dropped; broken ribs; 50% internal bleeding; -3 Str until healed; -0/75 Str permanently.")} | |
else | |
{//Consult Hacking or Piercing charts | |
sendChat("Result", "3 extra damage dice; count reset; held items dropped; broken ribs; severe bleeding; -3 Str until healed; -0/75 Str permanently.")}} | |
else | |
{if (severity < 41) | |
{//31-40 result | |
if (weapon == 1) | |
{//Consult Crushing chart | |
sendChat("Result", "3 extra damage dice; automatically ToPed; internal bleeding; broken ribs; -5 Str until healed; -1/25 Str permanently.")} | |
else | |
{//Consult Hacking or Piercing charts | |
sendChat("Result", "3 extra damage dice; automatically ToPed; severe bleeding; broken ribs; -5 Str until healed; -1/25 Str permanently.")}} | |
else | |
{if (severity < 51) | |
{//41-50 result | |
if (weapon == 1) | |
{//Consult Crushing chart | |
sendChat("Result", "4 extra damage dice; automatically ToPed; internal bleeding; broken ribs; -6 Str until healed; -1/50 Str permanently.")} | |
else | |
{//Consult Hacking or Piercing charts | |
sendChat("Result", "4 extra damage dice; automatically ToPed; severe bleeding; broken ribs; -6 Str until healed; -1/50 Str permanently.")}} | |
else | |
{//51+ result | |
if (weapon == 2) | |
{//Consult Hacking chart | |
sendChat("Result", "Target killed instantly; pulmonary artery ruptured.")} | |
else | |
{//Consult Crushing or Piercing charts | |
sendChat("Result", "Target killed instantly; body cavity crushed.")}} | |
}}}}}}} | |
else | |
{if (critroll < 3486) | |
{//Back, upper result | |
sendChat("Critical", "Severity " + severity + " (" + wpntype + "), " + critroll + " - Upper back.") | |
if (severity < 11) | |
{//1-10 result | |
sendChat("Result", "1 extra damage die.")} | |
else | |
{if (severity < 16) | |
{//11-15 result | |
sendChat("Result", "2 extra damage dice; count reset; held items dropped.")} | |
else | |
{if (severity < 21) | |
{//16-20 result | |
sendChat("Result", "2 extra damage dice; count reset; held items dropped; muscle tear; -2 Str until healed.")} | |
else | |
{if (severity < 26) | |
{//21-25 result | |
sendChat("Result", "3 extra damage dice; count reset; held items dropped; muscle tear; -3 Str until healed.")} | |
else | |
{if (severity < 31) | |
{//26-30 result | |
if (weapon == 1) | |
{//Consult Crushing chart | |
sendChat("Result", "3 extra damage dice; automatically ToPed; broken bone; 30% chance of internal bleeding; -3 Str untl healed; -0/75 Str permanently.")} | |
else | |
{//Consult Hacking or Piercing charts | |
sendChat("Result", "3 extra damage dice; automatically ToPed; torn ligament; -3 Str until healed; -0/75 Str permanently.")}} | |
else | |
{if (severity < 41) | |
{//31-40 result | |
if (weapon == 1) | |
{//Consult Crushing chart | |
sendChat("Result", "4 extra damage dice; automatically ToPed; broken bones; internal bleeding; -6 Str until healed; -1/50 Str permanently.")} | |
else | |
{//Consult Hacking or Piercing charts | |
sendChat("Result", "4 extra damage dice; automatically ToPed; broken bones; severe bleeding; -6 Str until healed; -1/50 Str permanently.")}} | |
else | |
{//41-50 and 51+ results | |
sendChat("Result", "Target killed instantly; ruptured aorta.")} | |
}}}}}} | |
else | |
{if (critroll < 3501) | |
{//Back, upper middle result | |
sendChat("Critical", "Severity " + severity + " (" + wpntype + "), " + critroll + " - Upper middle back.") | |
if (severity < 11) | |
{//1-10 result | |
sendChat("Result", "1 extra damage die.")} | |
else | |
{if (severity < 16) | |
{//11-15 result | |
sendChat("Result", "2 extra damage dice; count reset; held items dropped.")} | |
else | |
{if (severity < 21) | |
{//16-20 result | |
sendChat("Result", "2 extra damage dice; count reset; held items dropped; muscle tear; -2 Str until healed.")} | |
else | |
{if (severity < 26) | |
{//21-25 result | |
sendChat("Result", "3 extra damage dice; count reset; held items dropped; muscle tear; -3 Str until healed.")} | |
else | |
{if (severity < 31) | |
{//26-30 result | |
if (weapon == 1) | |
{//Consult Crushing chart | |
sendChat("Result", "3 extra damage dice; automatically ToPed; broken bone; 30% chance of internal bleeding; -3 Str untl healed; -0/75 Str permanently.")} | |
else | |
{//Consult Hacking or Piercing charts | |
sendChat("Result", "3 extra damage dice; automatically ToPed; torn ligament; -3 Str until healed; -0/75 Str permanently.")}} | |
else | |
{if (severity < 41) | |
{//31-40 result | |
if (weapon == 1) | |
{//Consult Crushing chart | |
sendChat("Result", "4 extra damage dice; automatically ToPed; broken bones; internal bleeding; -6 Str until healed; -1/50 Str permanently.")} | |
else | |
{//Consult Hacking or Piercing charts | |
sendChat("Result", "4 extra damage dice; automatically ToPed; broken bones; severe bleeding; -6 Str until healed; -1/50 Str permanently.")}} | |
else | |
{//41-50 and 51+ results | |
sendChat("Result", "Target killed instantly; ruptured aorta.")} | |
}}}}}} | |
else | |
{if (critroll < 3821) | |
{//Armpit result | |
sendChat("Critical", "Severity " + severity + " (" + wpntype + "), " + critroll + " - Armpit.") | |
if (severity < 11) | |
{//1-10 result | |
sendChat("Result", "No additional effect.")} | |
else | |
{if (severity < 16) | |
{//11-15 result | |
sendChat("Result", "1 extra damage die.")} | |
else | |
{if (severity < 21) | |
{//16-20 result | |
sendChat("Result", "2 extra damage dice; count reset; held items dropped.")} | |
else | |
{if (severity < 26) | |
{//21-25 result | |
sendChat("Result", "2 extra damage dice; count reset; held items dropped; -2 Atk (if primary side) or -2 Def (if secondary); -2 Str (all until healed).")} | |
else | |
{if (severity < 31) | |
{//26-30 result | |
sendChat("Result", "3 extra damage dice; count reset; held items dropped; -3 Atk (if primary side) or -3 Def (if secondary); -3 Str; -1 Dex (all until healed); -0/50 Str permanently.")} | |
else | |
{if (severity < 41) | |
{//31-40 result | |
sendChat("Result", "3 extra damage dice; automatically ToPed; torn ligaments; -3 Atk (if primary side) or -3 Def (if secondary); -3 Str; -1 Dex (all until healed); -1 Atk or Def & -0/75 Str permanently.")} | |
else | |
{if (severity < 51) | |
{//41-50 result | |
sendChat("Result", "4 extra damage dice; automatically ToPed; torn ligaments; -3 Atk (if primary side) or -3 Def (if secondary); -4 Str; -2 Dex (all until healed); -1 Atk or Def, -0/50 Dex & -1/00 Str permanently.")} | |
else | |
{//51+ result | |
if (weapon == 2) | |
{//Consult Hacking chart | |
sendChat("Result", "4 extra damage dice; automatically ToPed; torn ligaments; severe bleeding; -3 Atk (if primary side) or -3 Def (if secondary); -4 Str; -2 Dex (all until healed); -1 Atk or Def, -0/50 Dex & -1/50 Str permanently.")} | |
else | |
{//Consult Crushing or Piercing charts | |
sendChat("Result", "Target killed instantly; body cavity crushed.")}} | |
}}}}}}} | |
else | |
{if (critroll < 4301) | |
{//Arm, upper outer result | |
sendChat("Critical", "Severity " + severity + " (" + wpntype + "), " + critroll + " - Upper outer arm.") | |
if (severity < 11) | |
{//1-10 result | |
sendChat("Result", "No additional effect.")} | |
else | |
{if (severity < 16) | |
{//11-15 result | |
sendChat("Result", "1 extra damage die.")} | |
else | |
{if (severity < 21) | |
{//16-20 result | |
sendChat("Result", "2 extra danage dice; count reset; held items dropped.")} | |
else | |
{if (severity < 26) | |
{//21-25 result | |
sendChat("Result", "2 extra damage dice; count reset; held items dropped; -2 Atk & +1 Speed (if primary side) or -2 Def (if secondary); -2 Str (all until healed).")} | |
else | |
{if (severity < 31) | |
{//26-30 result | |
sendChat("Result", "2 extra damage dice; count reset; held items dropped; -3 Atk & +1 Speed (if primary side) or -3 Def (if secondary); -3 Str (all until healed).")} | |
else | |
{if (severity < 41) | |
{//31-40 result | |
sendChat("Result", "3 extra damage dice; automatically ToPed; muscle tear; -3 Atk & +1 Speed (if primary side) or -3 Def (if secondary); -3 Str (all until healed); permanent -1 Atk or Def and -0/75 Str.")} | |
else | |
{if (severity < 51) | |
{//41-50 result | |
sendChat("Result", "4 extra damage dice; automatically ToPed; torn ligaments; -5 Atk & +2 Speed (if primary side) or -4 Def (if secondary); -4 Str (all until healed); permanent -1 Atk & +1 Speed (or -1 Def) and -1/00 Str.")} | |
else | |
{//51+ result | |
if (weapon == 2) | |
{//Consult Hacking chart | |
sendChat("Result", "4 extra damage dice; automatically ToPed; Arm Severed; severe bleeding.")} | |
else | |
{//Consult Crushing or Piercing charts | |
sendChat("Result", "4 extra damage dice; automatically ToPed; Arm Mangled and Useless.")}} | |
}}}}}}} | |
else | |
{if (critroll < 4493) | |
{//Arm, upper inner result | |
sendChat("Critical", "Severity " + severity + " (" + wpntype + "), " + critroll + " - Upper inner arm.") | |
if (severity < 11) | |
{//1-10 result | |
sendChat("Result", "No additional effect.")} | |
else | |
{if (severity < 16) | |
{//11-15 result | |
sendChat("Result", "1 extra damage die.")} | |
else | |
{if (severity < 21) | |
{//16-20 result | |
sendChat("Result", "2 extra danage dice; count reset; held items dropped.")} | |
else | |
{if (severity < 26) | |
{//21-25 result | |
sendChat("Result", "2 extra damage dice; count reset; held items dropped; -2 Atk & +1 Speed (if primary side) or -2 Def (if secondary); -2 Str (all until healed).")} | |
else | |
{if (severity < 31) | |
{//26-30 result | |
sendChat("Result", "2 extra damage dice; count reset; held items dropped; -3 Atk & +1 Speed (if primary side) or -3 Def (if secondary); -3 Str (all until healed).")} | |
else | |
{if (severity < 41) | |
{//31-40 result | |
sendChat("Result", "3 extra damage dice; automatically ToPed; muscle tear; -3 Atk & +1 Speed (if primary side) or -3 Def (if secondary); -3 Str (all until healed); permanent -1 Atk or Def and -0/75 Str.")} | |
else | |
{if (severity < 51) | |
{//41-50 result | |
sendChat("Result", "4 extra damage dice; automatically ToPed; torn ligaments; -5 Atk & +2 Speed (if primary side) or -4 Def (if secondary); -4 Str (all until healed); permanent -1 Atk & +1 Speed (or -1 Def) and -1/00 Str.")} | |
else | |
{//51+ result | |
if (weapon == 2) | |
{//Consult Hacking chart | |
sendChat("Result", "4 extra damage dice; automatically ToPed; Arm Severed; severe bleeding.")} | |
else | |
{//Consult Crushing or Piercing charts | |
sendChat("Result", "4 extra damage dice; automatically ToPed; Arm Mangled and Useless.")}} | |
}}}}}}} | |
else | |
{if (critroll < 4589) | |
{//Elbow result | |
sendChat("Critical", "Severity " + severity + " (" + wpntype + "), " + critroll + " - Elbow.") | |
if (severity < 11) | |
{//1-10 result | |
sendChat("Result", "No additional effect.")} | |
else | |
{if (severity < 16) | |
{//11-15 result | |
sendChat("Result", "1 extra damage die.")} | |
else | |
{if (severity < 21) | |
{//16-20 result | |
sendChat("Result", "2 extra damage dice; count reset; held items dropped.")} | |
else | |
{if (severity < 26) | |
{//21-25 result | |
sendChat("Result", "2 extra damage dice; count reset; held items dropped; -2 Atk & +1 Speed (if primary side) or -2 Def (if secondary); -1 Str (all until healed).")} | |
else | |
{if (severity < 31) | |
{//26-30 result | |
sendChat("Result", "2 extra damage dice; count reset; held items dropped; -3 Atk & +1 Speed (if primary side) or -3 Def (if secondary); -1 Str (all until healed).")} | |
else | |
{if (severity < 41) | |
{//31-40 result | |
sendChat("Result", "3 extra damage dice; muscle tear; -3 Atk & +1 Speed (if primary side) or -3 Def (if secondary); -2 Str (all until healed); permanent -1 Atk (if primary else -1 Def).")} | |
else | |
{if (severity < 51) | |
{//41-50 result | |
sendChat("Result", "4 extra damage dice; automatically ToPed; torn ligaments; -5 Atk & +2 Speed (if primary side) or -4 Def (if secondary); -2 Str (all until healed); permanent -1 Atk & +1 Speed (or -1 Def).")} | |
else | |
{//51+ result | |
if (weapon == 2) | |
{//Consult Hacking chart | |
sendChat("Result", "4 extra damage dice; automatically ToPed; Arm Severed at elbow; severe bleeding.")} | |
else | |
{//Consult Crushing or Piercing charts | |
sendChat("Result", "4 extra damage dice; automatically ToPed; Elbow & below Mangled and Useless.")}} | |
}}}}}}} | |
else | |
{if (critroll < 4685) | |
{//Inner joint result | |
sendChat("Critical", "Severity " + severity + " (" + wpntype + "), " + critroll + " - Inner arm joint.") | |
if (severity < 16) | |
{//1-10 and 11-15 results | |
sendChat("Result", "No additional effect.")} | |
else | |
{if (severity < 21) | |
{//16-20 result | |
sendChat("Result", "1 extra damage die.")} | |
else | |
{if (severity < 26) | |
{//21-25 result | |
sendChat("Result", "2 extra damage dice; count reset; held items dropped.")} | |
else | |
{if (severity < 31) | |
{//26-30 result | |
sendChat("Result", "2 extra damage dice; count reset; held items dropped; -2 Atk & +1 Speed (if primary side) or -2 Def (if secondary); -1 Str (all until healed).")} | |
else | |
{if (severity < 41) | |
{//31-40 result | |
sendChat("Result", "2 extra damage dice; count reset; held items dropped; -3 Atk & +1 Speed (if primary side) or -3 Def (if secondary); -1 Str (all until healed).")} | |
else | |
{if (severity < 51) | |
{//41-50 result | |
sendChat("Result", "3 extra damage dice; automatically ToPed; muscle tear; -3 Atk & +1 Speed (if primary side) or -3 Def (if secondary); -2 Str (all until healed); permanent -1 Atk & +1 Speed (or -1 Def).")} | |
else | |
{//51+ result | |
if (weapon == 2) | |
{//Consult Hacking chart | |
sendChat("Result", "4 extra damage dice; automatically ToPed; Arm Severed at elbow; severe bleeding.")} | |
else | |
{//Consult Crushing or Piercing charts | |
sendChat("Result", "4 extra damage dice; automatically ToPed; Elbow & below Mangled and Useless.")}} | |
}}}}}} | |
else | |
{if (critroll < 5309) | |
{//Forearm, back result | |
sendChat("Critical", "Severity " + severity + " (" + wpntype + "), " + critroll + " - Back forearm.") | |
if (severity < 16) | |
{//1-10 and 11-15 results | |
sendChat("Result", "No additional effect.")} | |
else | |
{if (severity < 21) | |
{//16-20 result | |
sendChat("Result", "1 extra damage die.")} | |
else | |
{if (severity < 26) | |
{//21-25 result | |
sendChat("Result", "2 extra damage dice; count reset; held items dropped.")} | |
else | |
{if (severity < 31) | |
{//26-30 result | |
sendChat("Result", "2 extra damage dice; count reset; held items dropped; -2 Atk (if primary side).")} | |
else | |
{if (severity < 41) | |
{//31-40 result | |
sendChat("Result", "3 extra damage dice; muscle tear; -3 Atk & +1 Speed (if primary side); -1 Str (all until healed); permanent -1 Atk.")} | |
else | |
{if (severity < 51) | |
{//41-50 result | |
sendChat("Result", "4 extra damage dice; automatically ToPed; torn ligaments; -4 Atk & +1 Speed (if primary side); -1 Str (all until healed); permanent -1 Atk.")} | |
else | |
{//51+ result | |
if (weapon == 2) | |
{//Consult Hacking chart | |
sendChat("Result", "4 extra damage dice; automatically ToPed; Arm Severed below elbow; severe bleeding.")} | |
else | |
{//Consult Crushing or Piercing charts | |
sendChat("Result", "4 extra damage dice; automatically ToPed; Mangled and Hand Useless.")}} | |
}}}}}} | |
else | |
{if (critroll < 5837) | |
{//Forearm, inner result | |
sendChat("Critical", "Severity " + severity + " (" + wpntype + "), " + critroll + " - Inner forearm.") | |
if (severity < 16) | |
{//1-10 and 11-15 results | |
sendChat("Result", "No additional effect.")} | |
else | |
{if (severity < 21) | |
{//16-20 result | |
sendChat("Result", "1 extra damage die.")} | |
else | |
{if (severity < 26) | |
{//21-25 result | |
sendChat("Result", "2 extra damage dice; count reset; held items dropped.")} | |
else | |
{if (severity < 31) | |
{//26-30 result | |
sendChat("Result", "2 extra damage dice; count reset; held items dropped; -2 Atk (if primary side).")} | |
else | |
{if (severity < 41) | |
{//31-40 result | |
sendChat("Result", "3 extra damage dice; muscle tear; -3 Atk & +1 Speed (if primary side); -1 Str (all until healed); permanent -1 Atk.")} | |
else | |
{if (severity < 51) | |
{//41-50 result | |
sendChat("Result", "4 extra damage dice; automatically ToPed; torn ligaments; -4 Atk & +1 Speed (if primary side); -1 Str (all until healed); permanent -1 Atk.")} | |
else | |
{//51+ result | |
if (weapon == 2) | |
{//Consult Hacking chart | |
sendChat("Result", "4 extra damage dice; automatically ToPed; Arm Severed below elbow; severe bleeding.")} | |
else | |
{//Consult Crushing or Piercing charts | |
sendChat("Result", "4 extra damage dice; automatically ToPed; Mangled and Hand Useless.")}} | |
}}}}}} | |
else | |
{if (critroll < 5909) | |
{//Wrist, back result | |
sendChat("Critical", "Severity " + severity + " (" + wpntype + "), " + critroll + " - Back wrist.") | |
if (severity < 16) | |
{//1-10 and 11-15 results | |
sendChat("Result", "No additional effect.")} | |
else | |
{if (severity < 21) | |
{//16-20 result | |
sendChat("Result", "1 extra damage die.")} | |
else | |
{if (severity < 26) | |
{//21-25 result | |
sendChat("Result", "2 extra damage dice; count reset; held items dropped; -2 Atk & +1 Speed (if primary side).")} | |
else | |
{if (severity < 31) | |
{//26-30 result | |
sendChat("Result", "2 extra damage dice; count reset; held items dropped; -3 Atk & +1 Speed (if primary side); permanent -1 Atk (if primary).")} | |
else | |
{if (severity < 41) | |
{//31-40 result | |
sendChat("Result", "3 extra damage dice; muscle tear; -4 Atk & +2 Speed (if primary side); -1 Str (all until healed); permanent -1 Atk & +1 Speed (if primary).")} | |
else | |
{if (severity < 51) | |
{//41-50 result | |
sendChat("Result", "4 extra damage dice; automatically ToPed; torn ligaments; -5 Atk & +3 Speed (if primary side); -1 Str (all until healed); permanent -2 Atk & +2 Speed (if primary).")} | |
else | |
{//51+ result | |
if (weapon == 2) | |
{//Consult Hacking chart | |
sendChat("Result", "4 extra damage dice; automatically ToPed; Hand Severed; severe bleeding.")} | |
else | |
{//Consult Crushing or Piercing charts | |
sendChat("Result", "4 extra damage dice; automatically ToPed; Mangled and Hand Useless.")}} | |
}}}}}} | |
else | |
{if (critroll < 5981) | |
{//Wrist, front result | |
sendChat("Critical", "Severity " + severity + " (" + wpntype + "), " + critroll + " - Front wrist.") | |
if (severity < 16) | |
{//1-10 and 11-15 results | |
sendChat("Result", "No additional effect.")} | |
else | |
{if (severity < 21) | |
{//16-20 result | |
sendChat("Result", "1 extra damage die.")} | |
else | |
{if (severity < 26) | |
{//21-25 result | |
sendChat("Result", "2 extra damage dice; count reset; held items dropped; -2 Atk & +1 Speed (if primary side).")} | |
else | |
{if (severity < 31) | |
{//26-30 result | |
sendChat("Result", "2 extra damage dice; count reset; held items dropped; -3 Atk & +1 Speed (if primary side); permanent -1 Atk (if primary).")} | |
else | |
{if (severity < 41) | |
{//31-40 result | |
sendChat("Result", "3 extra damage dice; muscle tear; -4 Atk & +2 Speed (if primary side); -1 Str (all until healed); permanent -1 Atk & +1 Speed (if primary).")} | |
else | |
{if (severity < 51) | |
{//41-50 result | |
sendChat("Result", "4 extra damage dice; automatically ToPed; torn ligaments; -5 Atk & +3 Speed (if primary side); -1 Str (all until healed); permanent -2 Atk & +2 Speed (if primary).")} | |
else | |
{//51+ result | |
if (weapon == 2) | |
{//Consult Hacking chart | |
sendChat("Result", "4 extra damage dice; automatically ToPed; Hand Severed; severe bleeding.")} | |
else | |
{//Consult Crushing or Piercing charts | |
sendChat("Result", "4 extra damage dice; automatically ToPed; Mangled and Hand Useless.")}} | |
}}}}}} | |
else | |
{if (critroll < 6053) | |
{//Hand, back result | |
sendChat("Critical", "Severity " + severity + " (" + wpntype + "), " + critroll + " - Back hand.") | |
if (severity < 16) | |
{//1-10 and 11-15 results | |
sendChat("Result", "No additional effect.")} | |
else | |
{if (severity < 21) | |
{//16-20 result | |
sendChat("Result", "1 extra damage die.")} | |
else | |
{if (severity < 26) | |
{//21-25 result | |
sendChat("Result", "2 extra damage dice; count reset; held items dropped.")} | |
else | |
{if (severity < 31) | |
{//26-30 result | |
sendChat("Result", "2 extra damage dice; count reset; held items dropped; -2 Atk.")} | |
else | |
{if (severity < 41) | |
{//31-40 result | |
sendChat("Result", "3 extra damage dice; muscle tear; -3 Atk & +1 Speed (if primary side); permanent -1 Atk (if primary).")} | |
else | |
{if (severity < 51) | |
{//41-50 result | |
sendChat("Result", "4 extra damage dice; automatically ToPed; torn ligaments; -4 Atk & +2 Speed (if primary side, all until healed); permanent -1 Atk & +1 Speed (if primary).")} | |
else | |
{//51+ result | |
if (weapon == 2) | |
{//Consult Hacking chart | |
sendChat("Result", "4 extra damage dice; automatically ToPed; Hand Severed; severe bleeding.")} | |
else | |
{//Consult Crushing or Piercing charts | |
sendChat("Result", "4 extra damage dice; automatically ToPed; Mangled and Hand Useless.")}} | |
}}}}}} | |
else | |
{if (critroll < 6077) | |
{//Palm result | |
sendChat("Critical", "Severity " + severity + " (" + wpntype + "), " + critroll + " - Palm.") | |
if (severity < 16) | |
{//1-10 and 11-15 results | |
sendChat("Result", "No additional effect.")} | |
else | |
{if (severity < 21) | |
{//16-20 result | |
sendChat("Result", "1 extra damage die.")} | |
else | |
{if (severity < 26) | |
{//21-25 result | |
sendChat("Result", "2 extra damage dice; count reset; held items dropped.")} | |
else | |
{if (severity < 31) | |
{//26-30 result | |
sendChat("Result", "2 extra damage dice; count reset; held items dropped; -2 Atk.")} | |
else | |
{if (severity < 41) | |
{//31-40 result | |
sendChat("Result", "3 extra damage dice; muscle tear; -3 Atk & +1 Speed (if primary side); permanent -1 Atk (if primary).")} | |
else | |
{if (severity < 51) | |
{//41-50 result | |
sendChat("Result", "4 extra damage dice; automatically ToPed; torn ligaments; -4 Atk & +2 Speed (if primary side, all until healed); permanent -1 Atk & +1 Speed (if primary).")} | |
else | |
{//51+ result | |
if (weapon == 2) | |
{//Consult Hacking chart | |
sendChat("Result", "4 extra damage dice; automatically ToPed; Hand Severed; severe bleeding.")} | |
else | |
{//Consult Crushing or Piercing charts | |
sendChat("Result", "4 extra damage dice; automatically ToPed; Mangled and Hand Useless.")}} | |
}}}}}} | |
else | |
{if (critroll < 6221) | |
{//Fingers result | |
sendChat("Critical", "Severity " + severity + " (" + wpntype + "), " + critroll + " - Fingers.") | |
if (severity < 16) | |
{//1-10 and 11-15 results | |
sendChat("Result", "No additional effect.")} | |
else | |
{if (severity < 21) | |
{//16-20 result | |
sendChat("Result", "1 extra damage die.")} | |
else | |
{if (severity < 26) | |
{//21-25 result | |
sendChat("Result", "2 extra damage dice; count reset; held items dropped if ToP check failed.")} | |
else | |
{if (severity < 31) | |
{//26-30 result | |
sendChat("Result", "2 extra damage dice; count reset; held items dropped.")} | |
else | |
{if (severity < 41) | |
{//31-40 result | |
sendChat("Result", "2 extra damage dice; count reset; held items dropped; -2 Atk.")} | |
else | |
{if (severity < 51) | |
{//41-50 result | |
sendChat("Result", "3 extra damage dice; muscle tear; -2 Atk & +1 Speed (if primary side).")} | |
else | |
{//51+ result | |
if (weapon == 2) | |
{//Consult Hacking chart | |
sendChat("Result", "3 extra damage dice; Finger Severed.")} | |
else | |
{//Consult Crushing or Piercing charts | |
sendChat("Result", "3 extra damage dice; Finger Mangled.")}} | |
}}}}}} | |
else | |
{if (critroll < 7181) | |
{//Shoulder, side result | |
sendChat("Critical", "Severity " + severity + " (" + wpntype + "), " + critroll + " - Side shoulder.") | |
if (severity < 11) | |
{//1-10 result | |
sendChat("Result", "No additional effect.")} | |
else | |
{if (severity < 16) | |
{//11-15 result | |
sendChat("Result", "1 extra damage die.")} | |
else | |
{if (severity < 21) | |
{//16-20 result | |
sendChat("Result", "2 extra damage dice; count reset; held items dropped.")} | |
else | |
{if (severity < 26) | |
{//21-25 result | |
sendChat("Result", "2 extra damage dice; count reset; held items dropped; -2 Atk & +1 Speed (if primary side) or -2 Def (if secondary); -3 Str (all until healed).")} | |
else | |
{if (severity < 31) | |
{//26-30 result | |
sendChat("Result", "2 extra damage dice; count reset; held items dropped; -3 Atk & +1 Speed (if primary side) or -3 Def (if secondary); -4 Str (all until healed); permanent -1 Str.")} | |
else | |
{if (severity < 41) | |
{//31-40 result | |
sendChat("Result", "3 extra damage dice; automatically ToPed; muscle tear; -3 Atk & +1 Speed (if primary side) or -3 Def (if secondary); -5 Str (all until healed); permanent -1 Atk (if primary else -1 Def), -1/50 Str.")} | |
else | |
{if (severity < 51) | |
{//41-50 result | |
sendChat("Result", "4 extra damage dice; automatically ToPed; torn ligaments; -5 Atk & +2 Speed (if primary side) or -4 Def (if secondary); -6 Str (all until healed); permanent -1 Atk & +1 Speed (or -1 Def), -2/00 Str.")} | |
else | |
{//51+ result | |
if (weapon == 2) | |
{//Consult Hacking chart | |
sendChat("Result", "4 extra damage dice; automatically ToPed; Arm lopped off at shoulder; severe bleeding.")} | |
else | |
{//Consult Crushing or Piercing charts | |
sendChat("Result", "4 extra damage dice; automatically ToPed; Arm Mangled and Useless.")}} | |
}}}}}}} | |
else | |
{if (critroll < 9101) | |
{//Shoulder, top result | |
sendChat("Critical", "Severity " + severity + " (" + wpntype + "), " + critroll + " - Top shoulder.") | |
if (severity < 11) | |
{//1-10 result | |
sendChat("Result", "No additional effect.")} | |
else | |
{if (severity < 16) | |
{//11-15 result | |
sendChat("Result", "1 extra damage die.")} | |
else | |
{if (severity < 21) | |
{//16-20 result | |
sendChat("Result", "2 extra damage dice; count reset; held items dropped.")} | |
else | |
{if (severity < 26) | |
{//21-25 result | |
sendChat("Result", "2 extra damage dice; count reset; held items dropped; -2 Atk & +1 Speed (if primary side) or -2 Def (if secondary); -3 Str (all until healed).")} | |
else | |
{if (severity < 31) | |
{//26-30 result | |
sendChat("Result", "2 extra damage dice; count reset; held items dropped; -3 Atk & +1 Speed (if primary side) or -3 Def (if secondary); -4 Str (all until healed); permanent -1 Str.")} | |
else | |
{if (severity < 41) | |
{//31-40 result | |
sendChat("Result", "3 extra damage dice; automatically ToPed; muscle tear; -3 Atk & +1 Speed (if primary side) or -3 Def (if secondary); -5 Str (all until healed); permanent -1 Atk (if primary else -1 Def), -1/50 Str.")} | |
else | |
{if (severity < 51) | |
{//41-50 result | |
sendChat("Result", "4 extra damage dice; automatically ToPed; torn ligaments; -5 Atk & +2 Speed (if primary side) or -4 Def (if secondary); -6 Str (all until healed); permanent -1 Atk & +1 Speed (or -1 Def), -2/00 Str.")} | |
else | |
{//51+ result | |
if (weapon == 2) | |
{//Consult Hacking chart | |
sendChat("Result", "4 extra damage dice; automatically ToPed; Arm lopped off at shoulder; severe bleeding.")} | |
else | |
{//Consult Crushing or Piercing charts | |
sendChat("Result", "4 extra damage dice; automatically ToPed; Arm Mangled and Useless.")}} | |
}}}}}}} | |
else | |
{if (critroll < 9122) | |
{//Neck, front result | |
sendChat("Critical", "Severity " + severity + " (" + wpntype + "), " + critroll + " - Front neck.") | |
if (severity < 11) | |
{//1-10 result | |
sendChat("Result", "2 extra damage dice; -1 Atk & Def; count reset; held items dropped.")} | |
else | |
{if (severity < 16) | |
{//11-15 result | |
sendChat("Result", "2 extra damage dice; -2 Atk & Def; count reset; held items dropped.")} | |
else | |
{if (severity < 21) | |
{//16-20 result | |
sendChat("Result", "3 extra damage dice; -3 Atk & Def; count reset; held items dropped.")} | |
else | |
{if (severity < 26) | |
{//21-25 result | |
sendChat("Result", "3 extra damage dice; automatically ToPed; -5 Atk & Def.")} | |
else | |
{if (severity < 31) | |
{//26-30 result | |
sendChat("Result", "4 extra damage dice; automatically ToPed; -8 Atk & Def.")} | |
else | |
{//31-40, 41-50, and 51+ results | |
sendChat("Result", "Target killed instantly.")} | |
}}}}} | |
else | |
{if (critroll < 9143) | |
{//Neck, back result | |
sendChat("Critical", "Severity " + severity + " (" + wpntype + "), " + critroll + " - Back neck.") | |
if (severity < 11) | |
{//1-10 result | |
sendChat("Result", "2 extra damage dice; -1 Atk & Def; count reset; held items dropped.")} | |
else | |
{if (severity < 16) | |
{//11-15 result | |
sendChat("Result", "2 extra damage dice; -2 Atk & Def; count reset; held items dropped.")} | |
else | |
{if (severity < 21) | |
{//16-20 result | |
sendChat("Result", "3 extra damage dice; -3 Atk & Def; count reset; held items dropped.")} | |
else | |
{if (severity < 26) | |
{//21-25 result | |
sendChat("Result", "3 extra damage dice; automatically ToPed; -5 Atk & Def.")} | |
else | |
{if (severity < 31) | |
{//26-30 result | |
sendChat("Result", "4 extra damage dice; automatically ToPed; -8 Atk & Def.")} | |
else | |
{//31-40, 41-50, and 51+ results | |
sendChat("Result", "Target killed instantly.")} | |
}}}}} | |
else | |
{if (critroll < 9374) | |
{//Neck, side result | |
sendChat("Critical", "Severity " + severity + " (" + wpntype + "), " + critroll + " - Side neck.") | |
if (severity < 11) | |
{//1-10 result | |
sendChat("Result", "2 extra damage dice; -1 Atk & Def; count reset; held items dropped.")} | |
else | |
{if (severity < 16) | |
{//11-15 result | |
sendChat("Result", "2 extra damage dice; -2 Atk & Def; count reset; held items dropped.")} | |
else | |
{if (severity < 21) | |
{//16-20 result | |
sendChat("Result", "3 extra damage dice; -3 Atk & Def; count reset; held items dropped.")} | |
else | |
{if (severity < 26) | |
{//21-25 result | |
sendChat("Result", "3 extra damage dice; automatically ToPed; -5 Atk & Def.")} | |
else | |
{if (severity < 31) | |
{//26-30 result | |
sendChat("Result", "4 extra damage dice; automatically ToPed; -8 Atk & Def.")} | |
else | |
{//31-40, 41-50, and 51+ results | |
sendChat("Result", "Target killed instantly.")} | |
}}}}} | |
else | |
{if (critroll < 9654) | |
{//Head, side result | |
sendChat("Critical", "Severity " + severity + " (" + wpntype + "), " + critroll + " - Side head.") | |
if (severity < 11) | |
{//1-10 result | |
sendChat("Result", "2 extra damage dice; -1 Atk & Def; count reset; held items dropped.")} | |
else | |
{if (severity < 16) | |
{//11-15 result | |
sendChat("Result", "2 extra damage dice; -2 Atk & Def; count reset; held items dropped.")} | |
else | |
{if (severity < 21) | |
{//16-20 result | |
sendChat("Result", "3 extra damage dice; -3 Atk & Def; count reset; held items dropped.")} | |
else | |
{if (severity < 26) | |
{//21-25 result | |
sendChat("Result", "3 extra damage dice; automatically ToPed; -5 Atk & Def.")} | |
else | |
{if (severity < 31) | |
{//26-30 result | |
sendChat("Result", "4 extra damage dice; automatically ToPed; -8 Atk & Def.")} | |
else | |
{//31-40, 41-50, and 51+ results | |
sendChat("Result", "Target killed instantly.")} | |
}}}}} | |
else | |
{if (critroll < 9689) | |
{//Head, back lower result | |
sendChat("Critical", "Severity " + severity + " (" + wpntype + "), " + critroll + " - Back lower head.") | |
if (severity < 11) | |
{//1-10 result | |
sendChat("Result", "2 extra damage dice; -1 Atk & Def; count reset; held items dropped.")} | |
else | |
{if (severity < 16) | |
{//11-15 result | |
sendChat("Result", "2 extra damage dice; -2 Atk & Def; count reset; held items dropped.")} | |
else | |
{if (severity < 21) | |
{//16-20 result | |
sendChat("Result", "3 extra damage dice; -3 Atk & Def; count reset; held items dropped.")} | |
else | |
{if (severity < 26) | |
{//21-25 result | |
sendChat("Result", "3 extra damage dice; automatically ToPed; -5 Atk & Def.")} | |
else | |
{if (severity < 31) | |
{//26-30 result | |
sendChat("Result", "4 extra damage dice; automatically ToPed; -8 Atk & Def.")} | |
else | |
{//31-40, 41-50, and 51+ results | |
sendChat("Result", "Target killed instantly.")} | |
}}}}} | |
else | |
{if (critroll < 9769) | |
{//Face, lower side result | |
sendChat("Critical", "Severity " + severity + " (" + wpntype + "), " + critroll + " - Lower side face.") | |
if (severity < 11) | |
{//1-10 result | |
sendChat("Result", "2 extra damage dice; -1 Atk & Def; count reset; held items dropped.")} | |
else | |
{if (severity < 16) | |
{//11-15 result | |
sendChat("Result", "2 extra damage dice; -2 Atk & Def; count reset; held items dropped.")} | |
else | |
{if (severity < 21) | |
{//16-20 result | |
sendChat("Result", "3 extra damage dice; -3 Atk & Def; count reset; held items dropped.")} | |
else | |
{if (severity < 26) | |
{//21-25 result | |
sendChat("Result", "3 extra damage dice; automatically ToPed; -5 Atk & Def; permanent -1 Looks.")} | |
else | |
{if (severity < 31) | |
{//26-30 result | |
sendChat("Result", "4 extra damage dice; automatically ToPed; -8 Atk & Def; permanent -2 Looks.")} | |
else | |
{//31-40, 41-50, and 51+ results | |
sendChat("Result", "Target killed instantly.")} | |
}}}}} | |
else | |
{if (critroll < 9789) | |
{//Face, lower center result | |
sendChat("Critical", "Severity " + severity + " (" + wpntype + "), " + critroll + " - Lower center face.") | |
if (severity < 11) | |
{//1-10 result | |
sendChat("Result", "2 extra damage dice; -1 Atk & Def; count reset; held items dropped.")} | |
else | |
{if (severity < 16) | |
{//11-15 result | |
sendChat("Result", "2 extra damage dice; -2 Atk & Def; count reset; held items dropped.")} | |
else | |
{if (severity < 21) | |
{//16-20 result | |
sendChat("Result", "3 extra damage dice; -3 Atk & Def; count reset; held items dropped.")} | |
else | |
{if (severity < 26) | |
{//21-25 result | |
sendChat("Result", "3 extra damage dice; automatically ToPed; -5 Atk & Def; permanent -1 Looks.")} | |
else | |
{if (severity < 31) | |
{//26-30 result | |
sendChat("Result", "4 extra damage dice; automatically ToPed; -8 Atk & Def; permanent -2 Looks.")} | |
else | |
{//31-40, 41-50, and 51+ results | |
sendChat("Result", "Target killed instantly.")} | |
}}}}} | |
else | |
{if (critroll < 9824) | |
{//Head, back upper result | |
sendChat("Critical", "Severity " + severity + " (" + wpntype + "), " + critroll + " - Back upper head.") | |
if (severity < 11) | |
{//1-10 result | |
sendChat("Result", "2 extra damage dice; -1 Atk & Def; count reset; held items dropped.")} | |
else | |
{if (severity < 16) | |
{//11-15 result | |
sendChat("Result", "2 extra damage dice; -2 Atk & Def; count reset; held items dropped.")} | |
else | |
{if (severity < 21) | |
{//16-20 result | |
sendChat("Result", "3 extra damage dice; -3 Atk & Def; count reset; held items dropped.")} | |
else | |
{if (severity < 26) | |
{//21-25 result | |
sendChat("Result", "3 extra damage dice; automatically ToPed; -5 Atk & Def.")} | |
else | |
{if (severity < 31) | |
{//26-30 result | |
sendChat("Result", "4 extra damage dice; automatically ToPed; -8 Atk & Def.")} | |
else | |
{//31-40, 41-50, and 51+ results | |
sendChat("Result", "Target killed instantly.")} | |
}}}}} | |
else | |
{if (critroll < 9904) | |
{//Face, upper side result | |
sendChat("Critical", "Severity " + severity + " (" + wpntype + "), " + critroll + " - Upper side face.") | |
if (severity < 11) | |
{//1-10 result | |
sendChat("Result", "2 extra damage dice; -1 Atk & Def; count reset; held items dropped.")} | |
else | |
{if (severity < 16) | |
{//11-15 result | |
sendChat("Result", "2 extra damage dice; -2 Atk & Def; count reset; held items dropped.")} | |
else | |
{if (severity < 21) | |
{//16-20 result | |
sendChat("Result", "3 extra damage dice; -3 Atk & Def; count reset; held items dropped; permanent -1 Looks.")} | |
else | |
{if (severity < 26) | |
{//21-25 result | |
sendChat("Result", "3 extra damage dice; automatically ToPed; -5 Atk & Def; permanent -2 Looks.")} | |
else | |
{if (severity < 31) | |
{//26-30 result | |
sendChat("Result", "4 extra damage dice; automatically ToPed; -8 Atk & Def; permanent -3 Looks.")} | |
else | |
{//31-40, 41-50, and 51+ results | |
sendChat("Result", "Target killed instantly.")} | |
}}}}} | |
else | |
{if (critroll < 9923) | |
{//Face, upper center result | |
sendChat("Critical", "Severity " + severity + " (" + wpntype + "), " + critroll + " - Upper center face.") | |
if (severity < 11) | |
{//1-10 result | |
sendChat("Result", "2 extra damage dice; -1 Atk & Def; count reset; held items dropped.")} | |
else | |
{if (severity < 16) | |
{//11-15 result | |
sendChat("Result", "2 extra damage dice; -2 Atk & Def; count reset; held items dropped.")} | |
else | |
{if (severity < 21) | |
{//16-20 result | |
sendChat("Result", "3 extra damage dice; -3 Atk & Def; count reset; held items dropped; permanent -1 Looks.")} | |
else | |
{if (severity < 26) | |
{//21-25 result | |
sendChat("Result", "3 extra damage dice; automatically ToPed; -5 Atk & Def; permanent -2 Looks.")} | |
else | |
{if (severity < 31) | |
{//26-30 result | |
sendChat("Result", "4 extra damage dice; automatically ToPed; -8 Atk & Def; permanent -4 Looks.")} | |
else | |
{//31-40, 41-50, and 51+ results | |
sendChat("Result", "Target killed instantly.")} | |
}}}}} | |
else | |
{//Head, top result | |
sendChat("Critical", "Severity " + severity + " (" + wpntype + "), " + critroll + " - Top head.") | |
if (severity < 11) | |
{//1-10 result | |
sendChat("Result", "2 extra damage dice; -1 Atk & Def; count reset; held items dropped.")} | |
else | |
{if (severity < 16) | |
{//11-15 result | |
sendChat("Result", "2 extra damage dice; -2 Atk & Def; count reset; held items dropped.")} | |
else | |
{if (severity < 21) | |
{//16-20 result | |
sendChat("Result", "3 extra damage dice; -3 Atk & Def; count reset; held items dropped.")} | |
else | |
{if (severity < 26) | |
{//21-25 result | |
sendChat("Result", "3 extra damage dice; automatically ToPed; -5 Atk & Def.")} | |
else | |
{if (severity < 31) | |
{//26-30 result | |
sendChat("Result", "4 extra damage dice; automatically ToPed; -8 Atk & Def.")} | |
else | |
{//31-40, 41-50, and 51+ results | |
sendChat("Result", "Target killed instantly.")} | |
}}}} | |
}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} | |
//The next line was used to test for accuracy of severity addition while debugging. | |
//sendChat("Critical", "atksize" + atksize + " defsize" + defsize + " sizedif" + sizedif + " atkroll" + atkroll + " defroll" + defroll + " atkdmg" + atkdmg + " defdr" + defdr + " weapon" + weapon); | |
return;}}); | |
var trimString = function(src) { | |
return src.replace(/^\s+|\s+$/g, '');}; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment