From c8b3f8810610dcdbc3ec418dead776ca18ee17c9 Mon Sep 17 00:00:00 2001 From: Villain1nGlasses <85969638+Villain1nGlasses@users.noreply.github.com> Date: Sun, 11 Aug 2024 02:01:59 -0600 Subject: [PATCH] Version 2.1. Updated to sheet standard 3.16. Additional martial arts support and MA Sample Character. --- .../2.1/HeroSystem6eHeroic.hde | 3533 ++++++++++++ .../2.1/HeroSystem6eHeroic_HDImporter.js | 4829 +++++++++++++++++ .../2.1/Sample_Character.TXT | 1 + .../2.1/Sample_Character.hdc | Bin 0 -> 524764 bytes .../2.1/Sample_Character_MA.TXT | 1 + .../2.1/Sample_Character_MA.hdc | Bin 0 -> 444342 bytes HeroSystem6eHeroic_HDImporter/README.MD | 10 +- HeroSystem6eHeroic_HDImporter/script.json | 6 +- 8 files changed, 8373 insertions(+), 7 deletions(-) create mode 100644 HeroSystem6eHeroic_HDImporter/2.1/HeroSystem6eHeroic.hde create mode 100644 HeroSystem6eHeroic_HDImporter/2.1/HeroSystem6eHeroic_HDImporter.js create mode 100644 HeroSystem6eHeroic_HDImporter/2.1/Sample_Character.TXT create mode 100644 HeroSystem6eHeroic_HDImporter/2.1/Sample_Character.hdc create mode 100644 HeroSystem6eHeroic_HDImporter/2.1/Sample_Character_MA.TXT create mode 100644 HeroSystem6eHeroic_HDImporter/2.1/Sample_Character_MA.hdc diff --git a/HeroSystem6eHeroic_HDImporter/2.1/HeroSystem6eHeroic.hde b/HeroSystem6eHeroic_HDImporter/2.1/HeroSystem6eHeroic.hde new file mode 100644 index 000000000..de38df75d --- /dev/null +++ b/HeroSystem6eHeroic_HDImporter/2.1/HeroSystem6eHeroic.hde @@ -0,0 +1,3533 @@ +HeroSystem6eHeroic

HeroSystem6eHeroic

Version 2.0

Export format for the Roll20 API script HeroSystem6eHeroic_HDImporter, which imports Hero Designer characters into the HeroSystem6eHeroic character sheet.

For documentation see https://github.com/Roll20/roll20-api-scripts/tree/master/HeroSystem6eHeroic_HDImporter

By Villain In Glasses (Roll20 ID 633423)

+txt +!hero --import { + "character":{ + "character_name":"", + "character_title":"", + "height":"", + "weight":"", + "eyes":"", + "hair":"", + "backgroundText":"", + "historyText":"", + "appearance":"", + "tactics":"", + "campaignUse":"", + "quote":"", + "experience":"", + "experienceBenefit":"", + "strength":"", + "dexterity":"", + "constitution":"", + "intelligence":"", + "ego":"", + "presence":"", + "ocv":"", + "dcv":"", + "omcv":"", + "dmcv":"", + "speed":"", + "pd":"", + "ed":"", + "body":"", + "stun":"", + "endurance":"", + "recovery":"", + "running":"", + "leaping":"", + "swimming":"", + "equipment":{ + "equipment01":{1 + + + "name":"(Multipower) ", + "text":"", + "damage":"", + "end":"", + "range":"", + "mass":"", + "attack":"true", + "defense":"true", + "notes":"" + + + + + "name":"(MPSlot ", + "text":"", + "damage":"", + "end":"", + "range":"", + "mass":"", + "attack":"true", + "defense":"true", + "notes":"" + + + + + "name":"", + "text":"", + "damage":"", + "end":"", + "range":"", + "mass":"", + "attack":"true", + "defense":"true", + "notes":"" + + + 1}, + "equipment02":{2 + + + "name":"(Multipower) ", + "text":"", + "damage":"", + "end":"", + "range":"", + "mass":"", + "attack":"true", + "defense":"true", + "notes":"" + + + + + "name":"(MPSlot ", + "text":"", + "damage":"", + "end":"", + "range":"", + "mass":"", + "attack":"true", + "defense":"true", + "notes":"" + + + + + "name":"", + "text":"", + "damage":"", + "end":"", + "range":"", + "mass":"", + "attack":"true", + "defense":"true", + "notes":"" + + + 2}, + "equipment03":{3 + + + "name":"(Multipower) ", + "text":"", + "damage":"", + "end":"", + "range":"", + "mass":"", + "attack":"true", + "defense":"true", + "notes":"" + + + + + "name":"(MPSlot ", + "text":"", + "damage":"", + "end":"", + "range":"", + "mass":"", + "attack":"true", + "defense":"true", + "notes":"" + + + + + "name":"", + "text":"", + "damage":"", + "end":"", + "range":"", + "mass":"", + "attack":"true", + "defense":"true", + "notes":"" + + + 3}, + "equipment04":{4 + + + "name":"(Multipower) ", + "text":"", + "damage":"", + "end":"", + "range":"", + "mass":"", + "attack":"true", + "defense":"true", + "notes":"" + + + + + "name":"(MPSlot ", + "text":"", + "damage":"", + "end":"", + "range":"", + "mass":"", + "attack":"true", + "defense":"true", + "notes":"" + + + + + "name":"", + "text":"", + "damage":"", + "end":"", + "range":"", + "mass":"", + "attack":"true", + "defense":"true", + "notes":"" + + + 4}, + "equipment05":{5 + + + "name":"(Multipower) ", + "text":"", + "damage":"", + "end":"", + "range":"", + "mass":"", + "attack":"true", + "defense":"true", + "notes":"" + + + + + "name":"(MPSlot ", + "text":"", + "damage":"", + "end":"", + "range":"", + "mass":"", + "attack":"true", + "defense":"true", + "notes":"" + + + + + "name":"", + "text":"", + "damage":"", + "end":"", + "range":"", + "mass":"", + "attack":"true", + "defense":"true", + "notes":"" + + + 5}, + "equipment06":{6 + + + "name":"(Multipower) ", + "text":"", + "damage":"", + "end":"", + "range":"", + "mass":"", + "attack":"true", + "defense":"true", + "notes":"" + + + + + "name":"(MPSlot ", + "text":"", + "damage":"", + "end":"", + "range":"", + "mass":"", + "attack":"true", + "defense":"true", + "notes":"" + + + + + "name":"", + "text":"", + "damage":"", + "end":"", + "range":"", + "mass":"", + "attack":"true", + "defense":"true", + "notes":"" + + + 6}, + "equipment07":{7 + + + "name":"(Multipower) ", + "text":"", + "damage":"", + "end":"", + "range":"", + "mass":"", + "attack":"true", + "defense":"true", + "notes":"" + + + + + "name":"(MPSlot ", + "text":"", + "damage":"", + "end":"", + "range":"", + "mass":"", + "attack":"true", + "defense":"true", + "notes":"" + + + + + "name":"", + "text":"", + "damage":"", + "end":"", + "range":"", + "mass":"", + "attack":"true", + "defense":"true", + "notes":"" + + + 7}, + "equipment08":{8 + + + "name":"(Multipower) ", + "text":"", + "damage":"", + "end":"", + "range":"", + "mass":"", + "attack":"true", + "defense":"true", + "notes":"" + + + + + "name":"(MPSlot ", + "text":"", + "damage":"", + "end":"", + "range":"", + "mass":"", + "attack":"true", + "defense":"true", + "notes":"" + + + + + "name":"", + "text":"", + "damage":"", + "end":"", + "range":"", + "mass":"", + "attack":"true", + "defense":"true", + "notes":"" + + + 8}, + "equipment09":{9 + + + "name":"(Multipower) ", + "text":"", + "damage":"", + "end":"", + "range":"", + "mass":"", + "attack":"true", + "defense":"true", + "notes":"" + + + + + "name":"(MPSlot ", + "text":"", + "damage":"", + "end":"", + "range":"", + "mass":"", + "attack":"true", + "defense":"true", + "notes":"" + + + + + "name":"", + "text":"", + "damage":"", + "end":"", + "range":"", + "mass":"", + "attack":"true", + "defense":"true", + "notes":"" + + + 9}, + "equipment10":{10 + + + "name":"(Multipower) ", + "text":"", + "damage":"", + "end":"", + "range":"", + "mass":"", + "attack":"true", + "defense":"true", + "notes":"" + + + + + "name":"(MPSlot ", + "text":"", + "damage":"", + "end":"", + "range":"", + "mass":"", + "attack":"true", + "defense":"true", + "notes":"" + + + + + "name":"", + "text":"", + "damage":"", + "end":"", + "range":"", + "mass":"", + "attack":"true", + "defense":"true", + "notes":"" + + + 10}, + "equipment11":{11 + + + "name":"(Multipower) ", + "text":"", + "damage":"", + "end":"", + "range":"", + "mass":"", + "attack":"true", + "defense":"true", + "notes":"" + + + + + "name":"(MPSlot ", + "text":"", + "damage":"", + "end":"", + "range":"", + "mass":"", + "attack":"true", + "defense":"true", + "notes":"" + + + + + "name":"", + "text":"", + "damage":"", + "end":"", + "range":"", + "mass":"", + "attack":"true", + "defense":"true", + "notes":"" + + + 11}, + "equipment12":{12 + + + "name":"(Multipower) ", + "text":"", + "damage":"", + "end":"", + "range":"", + "mass":"", + "attack":"true", + "defense":"true", + "notes":"" + + + + + "name":"(MPSlot ", + "text":"", + "damage":"", + "end":"", + "range":"", + "mass":"", + "attack":"true", + "defense":"true", + "notes":"" + + + + + "name":"", + "text":"", + "damage":"", + "end":"", + "range":"", + "mass":"", + "attack":"true", + "defense":"true", + "notes":"" + + + 12}, + "equipment13":{13 + + + "name":"(Multipower) ", + "text":"", + "damage":"", + "end":"", + "range":"", + "mass":"", + "attack":"true", + "defense":"true", + "notes":"" + + + + + "name":"(MPSlot ", + "text":"", + "damage":"", + "end":"", + "range":"", + "mass":"", + "attack":"true", + "defense":"true", + "notes":"" + + + + + "name":"", + "text":"", + "damage":"", + "end":"", + "range":"", + "mass":"", + "attack":"true", + "defense":"true", + "notes":"" + + + 13}, + "equipment14":{14 + + + "name":"(Multipower) ", + "text":"", + "damage":"", + "end":"", + "range":"", + "mass":"", + "attack":"true", + "defense":"true", + "notes":"" + + + + + "name":"(MPSlot ", + "text":"", + "damage":"", + "end":"", + "range":"", + "mass":"", + "attack":"true", + "defense":"true", + "notes":"" + + + + + "name":"", + "text":"", + "damage":"", + "end":"", + "range":"", + "mass":"", + "attack":"true", + "defense":"true", + "notes":"" + + + 14}, + "equipment15":{15 + + + "name":"(Multipower) ", + "text":"", + "damage":"", + "end":"", + "range":"", + "mass":"", + "attack":"true", + "defense":"true", + "notes":"" + + + + + "name":"(MPSlot ", + "text":"", + "damage":"", + "end":"", + "range":"", + "mass":"", + "attack":"true", + "defense":"true", + "notes":"" + + + + + "name":"", + "text":"", + "damage":"", + "end":"", + "range":"", + "mass":"", + "attack":"true", + "defense":"true", + "notes":"" + + + 15}, + "equipment16":{16 + + + "name":"(Multipower) ", + "text":"", + "damage":"", + "end":"", + "range":"", + "mass":"", + "attack":"true", + "defense":"true", + "notes":"" + + + + + "name":"(MPSlot ", + "text":"", + "damage":"", + "end":"", + "range":"", + "mass":"", + "attack":"true", + "defense":"true", + "notes":"" + + + + + "name":"", + "text":"", + "damage":"", + "end":"", + "range":"", + "mass":"", + "attack":"true", + "defense":"true", + "notes":"" + + + 16} + }, + "maneuvers":{ + "maneuver01":{ + + 1 + "name":"", + "points":"", + "phase":"", + "ocv":"", + "dcv":"", + "effect":"", + "notes":"" + 1 + + }, + "maneuver02":{ + + 2 + "name":"", + "points":"", + "phase":"", + "ocv":"", + "dcv":"", + "effect":"", + "notes":"" + 2 + + }, + "maneuver03":{ + + 3 + "name":"", + "points":"", + "phase":"", + "ocv":"", + "dcv":"", + "effect":"", + "notes":"" + 3 + + }, + "maneuver04":{ + + 4 + "name":"", + "points":"", + "phase":"", + "ocv":"", + "dcv":"", + "effect":"", + "notes":"" + 4 + + }, + "maneuver05":{ + + 5 + "name":"", + "points":"", + "phase":"", + "ocv":"", + "dcv":"", + "effect":"", + "notes":"" + 5 + + }, + "maneuver06":{ + + 6 + "name":"", + "points":"", + "phase":"", + "ocv":"", + "dcv":"", + "effect":"", + "notes":"" + 6 + + }, + "maneuver07":{ + + 7 + "name":"", + "points":"", + "phase":"", + "ocv":"", + "dcv":"", + "effect":"", + "notes":"" + 7 + + }, + "maneuver08":{ + + 8 + "name":"", + "points":"", + "phase":"", + "ocv":"", + "dcv":"", + "effect":"", + "notes":"" + 8 + + }, + "maneuver09":{ + + 9 + "name":"", + "points":"", + "phase":"", + "ocv":"", + "dcv":"", + "effect":"", + "notes":"" + 9 + + }, + "maneuver10":{ + + 10 + "name":"", + "points":"", + "phase":"", + "ocv":"", + "dcv":"", + "effect":"", + "notes":"" + 10 + + }, + "maneuver11":{ + + 11 + "name":"", + "points":"", + "phase":"", + "ocv":"", + "dcv":"", + "effect":"", + "notes":"" + 11 + + }, + "maneuver12":{ + + 12 + "name":"", + "points":"", + "phase":"", + "ocv":"", + "dcv":"", + "effect":"", + "notes":"" + 12 + + }, + "maneuver13":{ + + + + 1 + "name":"", + "points":"", + "phase":"", + "ocv":"", + "dcv":"", + "effect":"", + "notes":"" + 1 + + + + }, + "maneuver14":{ + + + + 2 + "name":"", + "points":"", + "phase":"", + "ocv":"", + "dcv":"", + "effect":"", + "notes":"" + 2 + + + + }, + "maneuver15":{ + + + + 3 + "name":"", + "points":"", + "phase":"", + "ocv":"", + "dcv":"", + "effect":"", + "notes":"" + 3 + + + + }, + "maneuver16":{ + + + + 4 + "name":"", + "points":"", + "phase":"", + "ocv":"", + "dcv":"", + "effect":"", + "notes":"" + 4 + + + + }, + "maneuver17":{ + + + + 5 + "name":"", + "points":"", + "phase":"", + "ocv":"", + "dcv":"", + "effect":"", + "notes":"" + 5 + + + + }, + "maneuver18":{ + + + + 6 + "name":"", + "points":"", + "phase":"", + "ocv":"", + "dcv":"", + "effect":"", + "notes":"" + 6 + + + + }, + "maneuver19":{ + + + + 7 + "name":"", + "points":"", + "phase":"", + "ocv":"", + "dcv":"", + "effect":"", + "notes":"" + 7 + + + + }, + "maneuver20":{ + + + + 8 + "name":"", + "points":"", + "phase":"", + "ocv":"", + "dcv":"", + "effect":"", + "notes":"" + 8 + + + + } + }, + "perks":{ + "perk01":{ + + 1 + "type":"", + "points":"", + "text":"", + "notes":"" + 1 + }, + "perk02":{ + + 2 + "type":"", + "points":"", + "text":"", + "notes":"" + 2 + }, + "perk03":{ + + 3 + "type":"", + "points":"", + "text":"", + "notes":"" + 3 + }, + "perk04":{ + + 4 + "type":"", + "points":"", + "text":"", + "notes":"" + 4 + }, + "perk05":{ + + 5 + "type":"", + "points":"", + "text":"", + "notes":"" + 5 + }, + "perk06":{ + + 6 + "type":"", + "points":"", + "text":"", + "notes":"" + 6 + }, + "perk07":{ + + 7 + "type":"", + "points":"", + "text":"", + "notes":"" + 7 + }, + "perk08":{ + + 8 + "type":"", + "points":"", + "text":"", + "notes":"" + 8 + }, + "perk09":{ + + 9 + "type":"", + "points":"", + "text":"", + "notes":"" + 9 + }, + "perk10":{ + + 10 + "type":"", + "points":"", + "text":"", + "notes":"" + 10 + } + }, + "talents":{ + "talent01":{ + + 1 + "type":"", + "points":"", + "text":" + ", + "notes":"" + 1 + }, + "talent02":{ + + 2 + "type":"", + "points":"", + "text":" + ", + "notes":"" + 2 + }, + "talent03":{ + + 3 + "type":"", + "points":"", + "text":"", + "notes":"" + 3 + }, + "talent04":{ + + 4 + "type":"", + "points":"", + "text":" + ", + "notes":"" + 4 + }, + "talent05":{ + + 5 + "type":"", + "points":"", + "text":" + ", + "notes":"" + 5 + }, + "talent06":{ + + 6 + "type":"", + "points":"", + "text":" + ", + "notes":"" + 6 + }, + "talent07":{ + + 7 + "type":"", + "points":"", + "text":" + ", + "notes":"" + 7 + }, + "talent08":{ + + 8 + "type":"", + "points":"", + "text":" + ", + "notes":"" + 8 + }, + "talent09":{ + + 9 + "type":"", + "points":"", + "text":" + ", + "notes":"" + 9 + }, + "talent10":{ + + 10 + "type":"", + "points":"", + "text":" + ", + "notes":"" + 10 + } + }, + "complications":{ + "complication01":{ + + 1 + "type":"", + "points":"", + "text":"", + "notes":"" + 1 + }, + "complication02":{ + + 2 + "type":"", + "points":"", + "text":"", + "notes":"" + 2 + }, + "complication03":{ + + 3 + "type":"", + "points":"", + "text":"", + "notes":"" + 3 + }, + "complication04":{ + + 4 + "type":"", + "points":"", + "text":"", + "notes":"" + 4 + }, + "complication05":{ + 5 + "type":"", + "points":"", + "text":"", + "notes":"" + 5 + }, + "complication06":{ + 6 + "type":"", + "points":"", + "text":"", + "notes":"" + 6 + }, + "complication07":{ + 7 + "type":"", + "points":"", + "text":"", + "notes":"" + 7 + }, + "complication08":{ + 8 + "type":"", + "points":"", + "text":"", + "notes":"" + 8 + }, + "complication09":{ + 9 + "type":"", + "points":"", + "text":"", + "notes":"" + 9 + }, + "complication10":{ + 10 + "type":"", + "points":"", + "text":"", + "notes":"" + 10 + }, + "complication11":{ + 11 + "type":"", + "points":"", + "text":"", + "notes":"" + 11 + }, + "complication12":{ + 12 + "type":"", + "points":"", + "text":"", + "notes":"" + 12 + }, + "complication13":{ + 13 + "type":"", + "points":"", + "text":"", + "notes":"" + 13 + }, + "complication14":{ + 14 + "type":"", + "points":"", + "text":"", + "notes":"" + 14 + }, + "complication15":{ + 15 + "type":"", + "points":"", + "text":"", + "notes":"" + 15 + }, + "complication16":{ + 16 + "type":"", + "points":"", + "text":"", + "notes":"" + 16 + }, + "complication17":{ + 17 + "type":"", + "points":"", + "text":"", + "notes":"" + 17 + }, + "complication18":{ + 18 + "type":"", + "points":"", + "text":"", + "notes":"" + 18 + }, + "complication19":{ + 19 + "type":"", + "points":"", + "text":"", + "notes":"" + 19 + }, + "complication20":{ + 20 + "type":"", + "points":"", + "text":"", + "notes":"" + 20 + } + }, + "powers":{ + "power01":{ + 1 + + + "name":"(Multipower) ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + + "name":"(MPSlot ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + + "name":"", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + "name":"(VPP) ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + "compound":"true" + + + "compound":"false" + + 1 + }, + "power02":{ + 2 + + + "name":"(Multipower) ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + + "name":"(MPSlot ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + + "name":"", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + "name":"(VPP) ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + "compound":"true" + + + "compound":"false" + + 2 + }, + "power03":{ + 3 + + + "name":"(Multipower) ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + + "name":"(MPSlot ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + + "name":"", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + "name":"(VPP) ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + "compound":"true" + + + "compound":"false" + + 3 + }, + "power04":{ + 4 + + + "name":"(Multipower) ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + + "name":"(MPSlot ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + + "name":"", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + "name":"(VPP) ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + "compound":"true" + + + "compound":"false" + + 4 + }, + "power05":{ + 5 + + + "name":"(Multipower) ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + + "name":"(MPSlot ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + + "name":"", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + "name":"(VPP) ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + "compound":"true" + + + "compound":"false" + + 5 + }, + "power06":{ + 6 + + + "name":"(Multipower) ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + + "name":"(MPSlot ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + + "name":"", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + "name":"(VPP) ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + "compound":"true" + + + "compound":"false" + + 6 + }, + "power07":{ + 7 + + + "name":"(Multipower) ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + + "name":"(MPSlot ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + + "name":"", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + "name":"(VPP) ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + "compound":"true" + + + "compound":"false" + + 7 + }, + "power08":{ + 8 + + + "name":"(Multipower) ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + + "name":"(MPSlot ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + + "name":"", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + "name":"(VPP) ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + "compound":"true" + + + "compound":"false" + + 8 + }, + "power09":{ + 9 + + + "name":"(Multipower) ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + + "name":"(MPSlot ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + + "name":"", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + "name":"(VPP) ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + "compound":"true" + + + "compound":"false" + + 9 + }, + "power10":{ + 10 + + + "name":"(Multipower) ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + + "name":"(MPSlot ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + + "name":"", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + "name":"(VPP) ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + "compound":"true" + + + "compound":"false" + + 10 + }, + "power11":{ + 11 + + + "name":"(Multipower) ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + + "name":"(MPSlot ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + + "name":"", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + "name":"(VPP) ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + "compound":"true" + + + "compound":"false" + + 11 + }, + "power12":{ + 12 + + + "name":"(Multipower) ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + + "name":"(MPSlot ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + + "name":"", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + "name":"(VPP) ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + "compound":"true" + + + "compound":"false" + + 12 + }, + "power13":{ + 13 + + + "name":"(Multipower) ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + + "name":"(MPSlot ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + + "name":"", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + "name":"(VPP) ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + "compound":"true" + + + "compound":"false" + + 13 + }, + "power14":{ + 14 + + + "name":"(Multipower) ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + + "name":"(MPSlot ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + + "name":"", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + "name":"(VPP) ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + "compound":"true" + + + "compound":"false" + + 14 + }, + "power15":{ + 15 + + + "name":"(Multipower) ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + + "name":"(MPSlot ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + + "name":"", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + "name":"(VPP) ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + "compound":"true" + + + "compound":"false" + + 15 + }, + "power16":{ + 16 + + + "name":"(Multipower) ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + + "name":"(MPSlot ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + + "name":"", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + "name":"(VPP) ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + "compound":"true" + + + "compound":"false" + + 16 + }, + "power17":{ + 17 + + + "name":"(Multipower) ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + + "name":"(MPSlot ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + + "name":"", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + "name":"(VPP) ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + "compound":"true" + + + "compound":"false" + + 17 + }, + "power18":{ + 18 + + + "name":"(Multipower) ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + + "name":"(MPSlot ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + + "name":"", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + "name":"(VPP) ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + "compound":"true" + + + "compound":"false" + + 18 + }, + "power19":{ + 19 + + + "name":"(Multipower) ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + + "name":"(MPSlot ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + + "name":"", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + "name":"(VPP) ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + "compound":"true" + + + "compound":"false" + + 19 + }, + "power20":{ + 20 + + + "name":"(Multipower) ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + + "name":"(MPSlot ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + + "name":"", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + "name":"(VPP) ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + "compound":"true" + + + "compound":"false" + + 20 + }, + "power21":{ + 21 + + + "name":"(Multipower) ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + + "name":"(MPSlot ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + + "name":"", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + "name":"(VPP) ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + "compound":"true" + + + "compound":"false" + + 21 + }, + "power22":{ + 22 + + + "name":"(Multipower) ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + + "name":"(MPSlot ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + + "name":"", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + "name":"(VPP) ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + "compound":"true" + + + "compound":"false" + + 22 + }, + "power23":{ + 23 + + + "name":"(Multipower) ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + + "name":"(MPSlot ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + + "name":"", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + "name":"(VPP) ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + "compound":"true" + + + "compound":"false" + + 23 + }, + "power24":{ + 24 + + + "name":"(Multipower) ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + + "name":"(MPSlot ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + + "name":"", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + "name":"(VPP) ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + "compound":"true" + + + "compound":"false" + + 24 + }, + "power25":{ + 25 + + + "name":"(Multipower) ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + + "name":"(MPSlot ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + + "name":"", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + "name":"(VPP) ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + "compound":"true" + + + "compound":"false" + + 25 + }, + "power26":{ + 26 + + + "name":"(Multipower) ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + + "name":"(MPSlot ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + + "name":"", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + "name":"(VPP) ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + "compound":"true" + + + "compound":"false" + + 26 + }, + "power27":{ + 27 + + + "name":"(Multipower) ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + + "name":"(MPSlot ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + + "name":"", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + "name":"(VPP) ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + "compound":"true" + + + "compound":"false" + + 27 + }, + "power28":{ + 28 + + + "name":"(Multipower) ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + + "name":"(MPSlot ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + + "name":"", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + "name":"(VPP) ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + "compound":"true" + + + "compound":"false" + + 28 + }, + "power29":{ + 29 + + + "name":"(Multipower) ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + + "name":"(MPSlot ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + + "name":"", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + "name":"(VPP) ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + "compound":"true" + + + "compound":"false" + + 29 + }, + "power30":{ + 30 + + + "name":"(Multipower) ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + + "name":"(MPSlot ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + + "name":"", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + + "name":"(VPP) ", + "base":"", + "text":"", + "notes":"", + "cost":"", + "endurance":"", + "damage":"", + + + "compound":"true" + + + "compound":"false" + + 30 + } + }, + "skills": { + "skill01": { + 1 + "name":"", + "enhancer":"true", + "text":"", + "display":"", + "attribute":"getCharacteristicString", + "base":"", + "levels":"", + "cost":"" + 1 + }, + "skill02": { + 2 + "name":"", + "enhancer":"true", + "text":"", + "display":"", + "attribute":"getCharacteristicString", + "base":"", + "levels":"", + "cost":"" + 2 + }, + "skill03": { + 3 + "name":"", + "enhancer":"true", + "text":"", + "display":"", + "attribute":"getCharacteristicString", + "base":"", + "levels":"", + "cost":"" + 3 + }, + "skill04": { + 4 + "name":"", + "enhancer":"true", + "text":"", + "display":"", + "attribute":"getCharacteristicString", + "base":"", + "levels":"", + "cost":"" + 4 + }, + "skill05": { + 5 + "name":"", + "enhancer":"true", + "text":"", + "display":"", + "attribute":"getCharacteristicString", + "base":"", + "levels":"", + "cost":"" + 5 + }, + "skill06": { + 6 + "name":"", + "enhancer":"true", + "text":"", + "display":"", + "attribute":"getCharacteristicString", + "base":"", + "levels":"", + "cost":"" + 6 + }, + "skill07": { + 7 + "name":"", + "enhancer":"true", + "text":"", + "display":"", + "attribute":"getCharacteristicString", + "base":"", + "levels":"", + "cost":"" + 7 + }, + "skill08": { + 8 + "name":"", + "enhancer":"true", + "text":"", + "display":"", + "attribute":"getCharacteristicString", + "base":"", + "levels":"", + "cost":"" + 8 + }, + "skill09": { + 9 + "name":"", + "enhancer":"true", + "text":"", + "display":"", + "attribute":"getCharacteristicString", + "base":"", + "levels":"", + "cost":"" + 9 + }, + "skill10": { + 10 + "name":"", + "enhancer":"true", + "text":"", + "display":"", + "attribute":"getCharacteristicString", + "base":"", + "levels":"", + "cost":"" + 10 + }, + "skill11": { + 11 + "name":"", + "enhancer":"true", + "text":"", + "display":"", + "attribute":"getCharacteristicString", + "base":"", + "levels":"", + "cost":"" + 11 + }, + "skill12": { + 12 + "name":"", + "enhancer":"true", + "text":"", + "display":"", + "attribute":"getCharacteristicString", + "base":"", + "levels":"", + "cost":"" + 12 + }, + "skill13": { + 13 + "name":"", + "enhancer":"true", + "text":"", + "display":"", + "attribute":"getCharacteristicString", + "base":"", + "levels":"", + "cost":"" + 13 + }, + "skill14": { + 14 + "name":"", + "enhancer":"true", + "text":"", + "display":"", + "attribute":"getCharacteristicString", + "base":"", + "levels":"", + "cost":"" + 14 + }, + "skill15": { + 15 + "name":"", + "enhancer":"true", + "text":"", + "display":"", + "attribute":"getCharacteristicString", + "base":"", + "levels":"", + "cost":"" + 15 + }, + "skill16": { + 16 + "name":"", + "enhancer":"true", + "text":"", + "display":"", + "attribute":"getCharacteristicString", + "base":"", + "levels":"", + "cost":"" + 16 + }, + "skill17": { + 17 + "name":"", + "enhancer":"true", + "text":"", + "display":"", + "attribute":"getCharacteristicString", + "base":"", + "levels":"", + "cost":"" + 17 + }, + "skill18": { + 18 + "name":"", + "enhancer":"true", + "text":"", + "display":"", + "attribute":"getCharacteristicString", + "base":"", + "levels":"", + "cost":"" + 18 + }, + "skill19": { + 19 + "name":"", + "enhancer":"true", + "text":"", + "display":"", + "attribute":"getCharacteristicString", + "base":"", + "levels":"", + "cost":"" + 19 + }, + "skill20": { + 20 + "name":"", + "enhancer":"true", + "text":"", + "display":"", + "attribute":"getCharacteristicString", + "base":"", + "levels":"", + "cost":"" + 20 + }, + "skill21": { + 21 + "name":"", + "enhancer":"true", + "text":"", + "display":"", + "attribute":"getCharacteristicString", + "base":"", + "levels":"", + "cost":"" + 21 + }, + "skill22": { + 22 + "name":"", + "enhancer":"true", + "text":"", + "display":"", + "attribute":"getCharacteristicString", + "base":"", + "levels":"", + "cost":"" + 22 + }, + "skill23": { + 23 + "name":"", + "enhancer":"true", + "text":"", + "display":"", + "attribute":"getCharacteristicString", + "base":"", + "levels":"", + "cost":"" + 23 + }, + "skill24": { + 24 + "name":"", + "enhancer":"true", + "text":"", + "display":"", + "attribute":"getCharacteristicString", + "base":"", + "levels":"", + "cost":"" + 24 + }, + "skill25": { + 25 + "name":"", + "enhancer":"true", + "text":"", + "display":"", + "attribute":"getCharacteristicString", + "base":"", + "levels":"", + "cost":"" + 25 + }, + "skill26": { + 26 + "name":"", + "enhancer":"true", + "text":"", + "display":"", + "attribute":"getCharacteristicString", + "base":"", + "levels":"", + "cost":"" + 26 + }, + "skill27": { + 27 + "name":"", + "enhancer":"true", + "text":"", + "display":"", + "attribute":"getCharacteristicString", + "base":"", + "levels":"", + "cost":"" + 27 + }, + "skill28": { + 28 + "name":"", + "enhancer":"true", + "text":"", + "display":"", + "attribute":"getCharacteristicString", + "base":"", + "levels":"", + "cost":"" + 28 + }, + "skill29": { + 29 + "name":"", + "enhancer":"true", + "text":"", + "display":"", + "attribute":"getCharacteristicString", + "base":"", + "levels":"", + "cost":"" + 29 + }, + "skill30": { + 30 + "name":"", + "enhancer":"true", + "text":"", + "display":"", + "attribute":"getCharacteristicString", + "base":"", + "levels":"", + "cost":"" + 30 + }, + "skill31": { + 31 + "name":"", + "enhancer":"true", + "text":"", + "display":"", + "attribute":"getCharacteristicString", + "base":"", + "levels":"", + "cost":"" + 31 + }, + "skill32": { + 32 + "name":"", + "enhancer":"true", + "text":"", + "display":"", + "attribute":"getCharacteristicString", + "base":"", + "levels":"", + "cost":"" + 32 + }, + "skill33": { + 33 + "name":"", + "enhancer":"true", + "text":"", + "display":"", + "attribute":"getCharacteristicString", + "base":"", + "levels":"", + "cost":"" + 33 + }, + "skill34": { + 34 + "name":"", + "enhancer":"true", + "text":"", + "display":"", + "attribute":"getCharacteristicString", + "base":"", + "levels":"", + "cost":"" + 34 + }, + "skill35": { + 35 + "name":"", + "enhancer":"true", + "text":"", + "display":"", + "attribute":"getCharacteristicString", + "base":"", + "levels":"", + "cost":"" + 35 + }, + "skill36": { + 36 + "name":"", + "enhancer":"true", + "text":"", + "display":"", + "attribute":"getCharacteristicString", + "base":"", + "levels":"", + "cost":"" + 36 + }, + "skill37": { + 37 + "name":"", + "enhancer":"true", + "text":"", + "display":"", + "attribute":"getCharacteristicString", + "base":"", + "levels":"", + "cost":"" + 37 + }, + "skill38": { + 38 + "name":"", + "enhancer":"true", + "text":"", + "display":"", + "attribute":"getCharacteristicString", + "base":"", + "levels":"", + "cost":"" + 38 + }, + "skill39": { + 39 + "name":"", + "enhancer":"true", + "text":"", + "display":"", + "attribute":"getCharacteristicString", + "base":"", + "levels":"", + "cost":"" + 39 + }, + "skill40": { + 40 + "name":"", + "enhancer":"true", + "text":"", + "display":"", + "attribute":"getCharacteristicString", + "base":"", + "levels":"", + "cost":"" + 40 + }, + "skill41": { + 41 + "name":"", + "enhancer":"true", + "text":"", + "display":"", + "attribute":"getCharacteristicString", + "base":"", + "levels":"", + "cost":"" + 41 + }, + "skill42": { + 42 + "name":"", + "enhancer":"true", + "text":"", + "display":"", + "attribute":"getCharacteristicString", + "base":"", + "levels":"", + "cost":"" + 42 + }, + "skill43": { + 43 + "name":"", + "enhancer":"true", + "text":"", + "display":"", + "attribute":"getCharacteristicString", + "base":"", + "levels":"", + "cost":"" + 43 + }, + "skill44": { + 44 + "name":"", + "enhancer":"true", + "text":"", + "display":"", + "attribute":"getCharacteristicString", + "base":"", + "levels":"", + "cost":"" + 44 + }, + "skill45": { + 45 + "name":"", + "enhancer":"true", + "text":"", + "display":"", + "attribute":"getCharacteristicString", + "base":"", + "levels":"", + "cost":"" + 45 + }, + "skill46": { + 46 + "name":"", + "enhancer":"true", + "text":"", + "display":"", + "attribute":"getCharacteristicString", + "base":"", + "levels":"", + "cost":"" + 46 + }, + "skill47": { + 47 + "name":"", + "enhancer":"true", + "text":"", + "display":"", + "attribute":"getCharacteristicString", + "base":"", + "levels":"", + "cost":"" + 47 + }, + "skill48": { + 48 + "name":"", + "enhancer":"true", + "text":"", + "display":"", + "attribute":"getCharacteristicString", + "base":"", + "levels":"", + "cost":"" + 48 + }, + "skill49": { + 49 + "name":"", + "enhancer":"true", + "text":"", + "display":"", + "attribute":"getCharacteristicString", + "base":"", + "levels":"", + "cost":"" + 49 + }, + "skill50": { + 50 + "name":"", + "enhancer":"true", + "text":"", + "display":"", + "attribute":"getCharacteristicString", + "base":"", + "levels":"", + "cost":"" + 50 + } + }, + "playerName":"", + "gmName":"", + "characterFile":"", + "versionHD":"", + "timeStamp":"", + "genre":"", + "campaign":"", + "version":"2.1", + "HeroSystem6eHeroic":"true" + } +} + +\\/ +Flight (\d*)"Flight $1m +within (\d*)"within $1m +Range \((\d*)"\)Range \($1m\) +(?<=[^\^\t:])(")(?=[^\>\}\]\:\n][^\n])'' +(\n)+ +(\t)+ +(\s)+ \ No newline at end of file diff --git a/HeroSystem6eHeroic_HDImporter/2.1/HeroSystem6eHeroic_HDImporter.js b/HeroSystem6eHeroic_HDImporter/2.1/HeroSystem6eHeroic_HDImporter.js new file mode 100644 index 000000000..f32ee69f9 --- /dev/null +++ b/HeroSystem6eHeroic_HDImporter/2.1/HeroSystem6eHeroic_HDImporter.js @@ -0,0 +1,4829 @@ +/* HeroSystem6eHeroic_HDImporter.js +* Hero Designer Importer for the Roll20 Hero System 6e Heroic character sheet +* Version: 2.1 +* By Villain in Glasses +* villaininglasses@icloud.com +* Discord: Villain#0604 +* Roll20: https://app.roll20.net/users/633423/villain-in-glasses +* Hero Games Forum Thread: +* https://www.herogames.com/forums/topic/101627-new-roll20-character-sheet-hero-system-6e-heroic/ +* +* Purpose: Imports characters created in Hero Designer into a Roll20 HeroSystem6eHeroic campaign. +* +* Installation: Paste this script into the API setup area of your Roll20 HeroSystem6eHeroic campaign. +* +* Copy "HeroSystem6eHeroic.hde" into your Hero Designer export format folder. +* +* Use: from Hero Designer export a character using HeroSystem6eHeroic.hde found in this repository as the selected format. +* This will produce a text file with the name of the character (e.g., myCharacter.txt). +* +* Open the exported file in your favorite text editor. Select all of the contents and copy it. +* Paste the copied text in the chat window of your Roll20 HeroSystem6eHeroic campaign. Hit enter. +* +* Commands: +* Import character: "!hero --import {character text}" +* Help: "!hero --help" +* Config: "!hero --config" +* +* Based on BeyondImporter Version O.4.0 by +* Robin Kuiper +* Discord: Atheos#1095 +* Roll20: https://app.roll20.net/users/1226016/robin +* +* Matt DeKok +* Discord: Sillvva#2532 +* Roll20: https://app.roll20.net/users/494585/sillvva +* +* Ammo Goettsch +* Discord: ammo#7063 +* Roll20: https://app.roll20.net/users/2990964/ammo +*/ + +(function() { + // Constants + const versionMod = "2.1"; + const versionSheet = "3.16"; // Note that a newer sheet will make upgrades as well as it can. + const needsExportedVersion = new Set(["1.0", "2.0", "2.1"]); // HeroSystem6eHeroic.hde versions allowed. + + const defaultAttributes = { + + // Bio + character_title: "hero", + backgroundText: "", + historyText: "", + experience: 0, + money: 0, + + // Tally Bar + characteristicsCost: 0, + + // Primary Attributes. + // We need to define strengthNet for weapons. + strength: 10, + strengthNet: 10, + dexterity: 10, + constitution: 10, + intelligence: 10, + ego: 10, + presence:10, + + // Combat Attributes + ocv: 3, + dcv: 3, + omcv: 3, + dmcv: 3, + speed: 2, + pd: 2, + ed: 2, + body: 10, + stun: 20, + endurance: 20, + recovery: 4, + + // Movement Attributes + running: 12, + leaping: 4, + swimming: 4, + + // Health Status Attributes + CurrentBODY: 10, + CurrentSTUN: 20, + CurrentEND: 20, + gearCurrentBODY: 10, + gearCurrentSTUN: 20, + gearCurrentEND: 20, + + // Make characteristic maximums default to no. + useCharacteristicMaximums: 0, + optionTakesNoSTUN: 0, + + // Skill levels + skillLevels38: 0, + skillLevels39: 0, + skillLevels40: 0, + interactionLevelsCP: 0, + intellectLevelsCP: 0, + agilityLevelsCP: 0, + noncombatLevelsCP: 0, + overallLevelsCP: 0 + } + + let hero_caller = {}; + let object; // This is the character object. + + + // Styling for the chat responses. + const style = "margin-left: 0px; overflow: hidden; background-color: royalblue; border: 2px solid #fff990; padding: 5px; border-radius: 5px; color: white; div#home a:link { color: #70DB93; }"; + const buttonStyle = "background-color: dodgerblue; border: 1px solid #292929; width: 25%; border-radius: 3px; padding: 5px; color: #fff; text-align: center; float: right;"; + const altButtonStyle = "background-color: orange; border: 1px solid #292929; border-radius: 3px; padding: 5px; color: #fff; text-align: center; float: right;"; + const linkStyle = "color: green;" + + const script_name = 'HDImporter'; + const state_name = 'HDIMPORTER'; + var verbose = false; + + + // Start messages + on('ready', function() { + checkInstall(); + log(script_name + ' Ready! Command: !hero'); + //sendChat(script_name, script_name + ' Ready!\n For help enter "!hero --help"', null, {noarchive:true}); + sendChat(script_name, '

' + script_name + ' Ready!

For help enter "!hero --help"

', null, {noarchive:true}); + }); + + + on('chat:message', (msg) => { + if (msg.type != 'api') return; + + // Split the message into command and argument(s) + let args = msg.content.split(/ --(help|reset|config|imports|import) ?/g); + let command = args.shift().substring(1).trim(); + + if (command === "") { + return; + } + + hero_caller = getObj('player', msg.playerid); + + if (command !== 'hero') { + return; + } + + let importData = ""; + if(args.length < 1) { sendHelpMenu(hero_caller); return; } + + let config = state[state_name][hero_caller.id].config; + + for(let i = 0; i < args.length; i+=2) { + let k = args[i].trim(); + let v = args[i+1] != null ? args[i+1].trim() : null; + let check; + + v = cleanQuotes(v, script_name); + + check = Array.from(v.replace(/\s/g, '')); + + switch(k) { + case 'help': + sendHelpMenu(hero_caller); + return; + + case 'reset': + state[state_name][hero_caller] = {}; + setDefaults(true); + sendConfigMenu(hero_caller); + return; + + case 'config': + if(args.length > 0){ + let setting = v.split('|'); + let key = setting.shift(); + let value = (setting[0] === 'true') ? true : (setting[0] === 'false') ? false : (setting[0] === '[NONE]') ? '' : setting[0]; + + if(key === 'prefix' && value.charAt(0) !== '_' && value.length > 0) { value = value + ' ';} + if(key === 'suffix' && value.charAt(0) !== '_' && value.length > 0) { value = ' ' + value} + + state[state_name][hero_caller.id].config[key] = value; + } + + sendConfigMenu(hero_caller); + return; + + case 'imports': + if(args.length > 0){ + let setting = v.split('|'); + let key = setting.shift(); + let value = (setting[0] === 'true') ? true : (setting[0] === 'false') ? false : (setting[0] === '[NONE]') ? '' : setting[0]; + + state[state_name][hero_caller.id].config.imports[key] = value; + } + + sendConfigMenu(hero_caller); + return; + + case 'import': + if (check.length < 2100) { + // Intended character data length is safely less than the minimum character file size if exported with HDE format version 1.0. + // This is likely an error. + sendChat(script_name, '
Hero Importer finished early because the import command does not appear to contain valid character data.
' ); + return; + } else if ( (check[0] !== "{") && (check[check.length - 1] !== "}")) { + // Improper JSON format. + sendChat(script_name, '
Hero Importer finished early because the import command does not appear to contain valid character data.
' ); + return; + } + + importData = v.replace(/[\n\r]/g, ''); + break; + + default: + sendHelpMenu(hero_caller); + return; + } + } + + if ((importData === '') || (typeof importData === "undefined")) { + return; + } + + var json = importData; + var character = null; + + // Try to catch some bad input. Doesn't currently catch no input. + try { + character = JSON.parse(json).character; + } + + catch(error) { + let message = ""; + needsExportedVersion.forEach(function(value) { + message += value + ", "; + }); + + // Drop the last comma. + message = message.slice(0, -2); + + sendChat(script_name, '
Hero Importer ended early due to a source content error.
' ); + sendChat(script_name, "Please verify that the character file was exported using HeroSystem6eHeroic.hde (acceptable versions: "+message+"). For help use the command !hero --help."); + return; + } + + // Verify that the character was exported with the latest version of HeroSystem6eHeroic.hde. If not, report error and abort. + if (needsExportedVersion.has(character.version) === false) { + var last; + needsExportedVersion.forEach(k => { last = k }); + + sendChat(script_name, '
Import of ' + character.character_name + ' ended early due to version mismatch error.
' ); + sendChat(script_name, "Please download and install the latest version of HeroSystem6eHeroic.hde (version: "+last+" recommended) into your Hero Designer export formats folder. Export your character and try HD Importer again. For help use the command !hero --help." ); + + return; + } + + sendChat(script_name, '
Import of ' + character.character_name + ' started.
', null, {noarchive:true}); + + if (character.version === "1.0") { + sendChat(script_name, "Exported from HERO Designer with \n HeroSystem6eHeroic.hde v1.0. \n Version 2.1 supports additional content."); + } else if (character.version === "2.0") { + sendChat(script_name, "Exported from HERO Designer with \n HeroSystem6eHeroic.hde v2.0. \n Version 2.1 supports additional content."); + } + + object = null; + + // Assign a random name if the character doesn't have one. + if ((character.character_name).length === 0) { + character.character_name = createRandomString(7); + } + + // Remove characters with the same name if overwrite is enabled. + if(state[state_name][hero_caller.id].config.overwrite) { + let objects = findObjs({ + _type: "character", + name: state[state_name][hero_caller.id].config.prefix + character.character_name + state[state_name][hero_caller.id].config.suffix + }, {caseInsensitive: true}); + + if(objects.length > 0) { + object = objects[0]; + for(let i = 1; i < objects.length; i++){ + objects[i].remove(); + } + } + } + + if(!object) { + // Create character object + object = createObj("character", { + name: state[state_name][hero_caller.id].config.prefix + character.character_name + state[state_name][hero_caller.id].config.suffix, + inplayerjournals: playerIsGM(msg.playerid) ? state[state_name][hero_caller.id].config.inplayerjournals : msg.playerid, + controlledby: playerIsGM(msg.playerid) ? state[state_name][hero_caller.id].config.controlledby : msg.playerid + }); + } + + // Set base character sheet values. + setAttrs(object.id, defaultAttributes); + + // Import Page 1: Characteristics and Bio + importCharacteristics(object, character, script_name); + + // Import Page 2: Martial Arts Maneuvers + // Maneuvers over the sheet maximum will be prepended to excess perks and talents in the treasures field. + character.overflow = importManeuvers(object, character, script_name); + + // Import Page 2: Equipment + importEquipment(object, character, script_name); + + // Import Page 3: Skills + importAllSkills(object, character, script_name); + + // Import Page 4: Powers + // Powers over the sheet maximum will be prepended to excess perks and talents in a text field. + character.overflow = importPowers(object, character, script_name); + + // Import Page 5: Perks and Talents + importPerksAndTalents(object, character, script_name); + + // Import Page 5: Complications + importComplications(object, character, script_name); + + // Version + applyVersion(object, character, script_name, versionSheet); + + // Finished notification + sendChat(script_name, '
Import of ' + character.character_name + ' finished.
', null, {noarchive:true}); + }); + + // END MAIN + + +/* **************************************** */ +/* *** Begin Import Functions *** */ +/* **************************************** */ + + var importCharacteristics = function(object, character, script_name) { + + /* ************************************************* */ + /* *** Import Function: Characteristics *** */ + /* ************************************************* */ + + // Set sticky note to importer details. + let importInfoString = "HDImporter for Roll20\n"; + importInfoString = importInfoString + "Version: " + versionMod + "\n"; + if (typeof character.playerName !== "undefined") { + importInfoString = importInfoString + "Player: " + character.playerName + "\n"; + } + if (typeof character.gmName !== "undefined") { + importInfoString = importInfoString + "GM: " + character.gmName + "\n"; + } + if (typeof character.genre !== "undefined") { + importInfoString = importInfoString + "Genre: " + character.genre + "\n"; + } + if (typeof character.campaign !== "undefined") { + importInfoString = importInfoString + "Campaign: " + character.campaign + "\n"; + } + if (typeof character.versionHD !== "undefined") { + importInfoString = importInfoString + "Hero Designer version: " + character.versionHD + "\n"; + } + importInfoString = importInfoString + "HeroSystem6eHeroic.hde version: " + character.version + "\n"; + if (typeof character.characterFile !== "undefined") { + importInfoString = importInfoString + "Original file: " + character.characterFile + "\n"; + } + if (typeof character.timeStamp !== "undefined") { + importInfoString = importInfoString + "Export date: \n " + character.timeStamp + "\n"; + } + + setAttrs(object.id, {portraitStickyNote: importInfoString}); + + + // Set sticky window as visible portrait. + setAttrs(object.id, {portraitSelection: 2}); + + // Set bio-type attributes and experience points. + + let description = ""; + let quote = ""; + + if (character.version >= 1.2) { + quote = character.quote; + quote = quote.trim(); + + description += ((character.appearance).length > 0) ? character.appearance : ""; + description += ((character.backgroundText).length > 0) ? '\n' + '\n' + character.backgroundText : ""; + description += ((character.historyText).length > 0) ? '\n' + '\n' + character.historyText : ""; + description += ((character.tactics).length > 0) ? '\n' + '\n' + character.tactics : ""; + description += ((character.campaignUse).length > 0) ? '\n' + '\n' + character.campaignUse : ""; + description = description.trim(); + description += '\n' + '\n' + character.height + " and " + Math.round(Number((character.weight).replace(/[^0-9.]/g,''))) + " kg."; + description = description.trim(); + } else { + quote = ""; + + description += ((character.historyText).length > 0) ? character.historyText : ""; + description = description.trim(); + } + + let bio_attributes = { + character_title: character.character_title, + backgroundText: quote, + historyText: description, + experience: parseInt(character.experience)||0, + experienceBenefit: parseInt(character.experienceBenefit)||0 + } + + setAttrs(object.id, bio_attributes); + + if(verbose) { + sendChat(script_name, "Imported bio and experience."); + } + + // Set primary attributes. + let primary_attributes = { + strength: parseInt(character.strength)||10, + strengthNet: parseInt(character.strength)||10, + dexterity: parseInt(character.dexterity)||10, + constitution: parseInt(character.constitution)||10, + intelligence: parseInt(character.intelligence)||10, + ego: parseInt(character.ego)||10, + presence: parseInt(character.presence)||10 + } + + setAttrs(object.id, primary_attributes); + + if(verbose) { + sendChat(script_name, "Imported core attributes."); + } + + // Set combat attributes. + let combat_attributes = { + ocv: parseInt(character.ocv)||3, + dcv: parseInt(character.dcv)||3, + omcv: parseInt(character.omcv)||3, + dmcv: parseInt(character.dmcv)||3, + speed: parseInt(character.speed)||2, + pd: parseInt(character.pd)||0, + ed: parseInt(character.ed)||0, + body: parseInt(character.body)||10, + stun: parseInt(character.stun)||0, + hiddenSTUN: parseInt(character.stun)||0, + endurance: parseInt(character.endurance)||0, + recovery: parseInt(character.recovery)||0 + } + + if (character.stun !== "") { + combat_attributes.stun = parseInt(character.stun); + } else { + combat_attributes.stun = 0; + } + + setAttrs(object.id, combat_attributes); + + if(verbose) { + sendChat(script_name, "Imported combat attributes."); + } + + // Set movement attributes. + + let movement_attributes = { + running: parseInt(character.running)||0, + leaping: parseInt(character.leaping)||0, + swimming: parseInt(character.swimming)||0 + }; + + setAttrs(object.id, movement_attributes); + + if(verbose) { + sendChat(script_name, "Imported movement."); + } + + // Set status attributes to starting values + let health_attributes = { + CurrentBODY: character.body, + CurrentSTUN: character.stun, + CurrentEND: character.endurance, + gearCurrentBODY: character.body, + gearCurrentSTUN: character.stun, + gearCurrentEND: character.endurance + } + + setAttrs(object.id, health_attributes); + + if(verbose) { + sendChat(script_name, "Configured health status."); + } + + return; + } + + + function createRandomString(length) { + // random character name from https://sentry.io/answers/generate-random-string-characters-in-javascript/ + const chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; + let result = ""; + for (let i = 0; i < length; i++) { + result += chars.charAt(Math.floor(Math.random() * chars.length)); + } + return result; + } + + + var applyVersion = function(object, character, script_name, version) { + // Set version data to avoid improper sheet auto updates. + let version_attributes = { + version: version, + validateMay23: 1, + + // Show the Treasures slide where equipment will appear. + gearSlideSelection : "gearTreasures" + } + + setAttrs(object.id, version_attributes); + } + + + var importManeuvers = function(object, character, script_name) { + + /* ************************************************* */ + /* *** Import Function: Import Maneuvers *** */ + /* ************************************************* */ + + + // Overall list of maneuvers + let maneuverArray = new Array(); + let maneuverArrayIndex = 0; + let temp = 0; + let tempString = ""; + let diceString = ""; + let tempPosition = 0; + const maxManeuvers = 20; + const maneuverSlots = 10; + let importCount = 0; + let ID = "01"; + + // Imports twenty martial arts maneuvers, skipping empty slots. + // Only the first 10 are imported into sheet slots. + + for (importCount = 1; importCount < maxManeuvers; importCount++) { + + ID = String(importCount).padStart(2,'0'); + + if ((typeof character.maneuvers["maneuver"+ID] !== "undefined") && (typeof character.maneuvers["maneuver"+ID].name !== "undefined")) { + maneuverArray[maneuverArrayIndex] = character.maneuvers["maneuver"+ID]; + + maneuverArrayIndex++; + } + + } + + let importedManeuvers = {}; + importCount = 0; + const nameMax = 16; + + while ( (importCount < maneuverSlots) && (importCount < maneuverArrayIndex) ) { + if (importCount < maneuverArrayIndex) { + ID = String(importCount+1).padStart(2,'0'); + + if ( maneuverArray[importCount].name.length > nameMax) { + importedManeuvers["martialManeuverName"+ID] = maneuverArray[importCount].name.slice(0, nameMax); + importedManeuvers["martialManeuverEffect"+ID] = maneuverArray[importCount].name + '\n' + maneuverArray[importCount].effect; + } else { + importedManeuvers["martialManeuverName"+ID] = maneuverArray[importCount].name; + importedManeuvers["martialManeuverEffect"+ID] = maneuverArray[importCount].effect; + } + + importedManeuvers["martialManeuverCP"+ID] = maneuverArray[importCount].points; + importedManeuvers["martialManeuverPhase"+ID] = maneuverArray[importCount].phase; + temp = Number(maneuverArray[importCount].ocv); + importedManeuvers["martialManeuverOCV"+ID] = isNaN(temp) ? 0 : temp; + temp = Number(maneuverArray[importCount].dcv); + importedManeuvers["martialManeuverDCV"+ID] = isNaN(temp) ? 0 : temp; + + tempString = maneuverArray[importCount].effect.toLowerCase(); + if ( tempString.includes("weapon") ) { + if ( tempString.includes("strike") ) { + importedManeuvers["martialManeuverType"+ID] = "weaponAttack"; + + tempString = maneuverArray[importCount].effect; + + if ( tempString.includes("DC") ) { + tempPosition = tempString.indexOf("DC"); + diceString = tempString.slice(0, tempPosition); + diceString = diceString.slice(-3).replace(/[^0-9.-]/g, ''); + importedManeuvers["martialManeuverDC"+ID] = Math.max(-2, Math.min(2, parseInt(diceString)||0)); + } + } else if ( tempString.includes("block") ) { + importedManeuvers["martialManeuverType"+ID] = "weaponBlock"; + } else { + importedManeuvers["martialManeuverType"+ID] = "weaponContest"; + } + } else { + if ( tempString.includes("strike") ) { + importedManeuvers["martialManeuverType"+ID] = "attack"; + } else if ( tempString.includes("hka") ) { + importedManeuvers["martialManeuverType"+ID] = "attack"; + importedManeuvers["martialManeuverNormal"+ID] = "0"; + } else if ( tempString.includes("block") ) { + importedManeuvers["martialManeuverType"+ID] = "block"; + } else if ( tempString.includes("dodge") ) { + importedManeuvers["martialManeuverType"+ID] = "dodge"; + } else { + importedManeuvers["martialManeuverType"+ID] = "contest"; + } + + // Damage or STR adds. + if ( tempString.includes("d6") ) { + tempPosition = tempString.indexOf("d6"); + diceString = tempString.slice(0, tempPosition); + diceString = diceString.slice(-2).replace(/\D/g,"") + "d6"; + + if (tempString.includes("d3")) { + diceString += "+1d3"; + } else if (tempString.includes("+1")) { + diceString += "+1"; + } else if (tempString.includes("-1")) { + diceString += "-1"; + } + + importedManeuvers["martialManeuverDamage"+ID] = diceString; + } else if ( tempString.includes("str") ) { + tempPosition = tempString.indexOf("str"); + diceString = tempString.slice(0, tempPosition); + diceString = diceString.slice(-3).replace(/\D/g,""); + importedManeuvers["martialManeuverStrMod"+ID] = parseInt(diceString)||0; + } + } + + importCount++; + } + } + + // Import maneuvers. + setAttrs(object.id, importedManeuvers); + + if(verbose) { + if (importCount === 1) { + sendChat(script_name, "Imported 1 maneuver."); + } else { + sendChat(script_name, "Imported " + importCount + " maneuvers."); + } + } + + // Display additional maneuvers in the treasures text box. + if (maneuverArrayIndex > maneuverSlots) { + let extras = 0; + + for (let i = maneuverSlots; i < maneuverArrayIndex; i++) { + tempString = tempString + maneuverArray[i].name + "\n"; + tempString = tempString + "CP: " + maneuverArray[i].points + "\n"; + if (maneuverArray[i].ocv !== "") { + tempString = tempString + "OCV: " + maneuverArray[i].ocv + "\n"; + } + if (maneuverArray[i].dcv !== "") { + tempString = tempString + "DCV: " + maneuverArray[i].dcv + "\n"; + } + if (maneuverArray[i].phase !== "") { + tempString = tempString + "Phase: " + maneuverArray[i].phase + "\n"; + } + tempString = tempString + maneuverArray[i].effect + "\n" + "\n"; + extras++; + } + + if(verbose) { + if (extras === 1) { + sendChat(script_name, extras + " maneuver placed in treasures."); + } else { + sendChat(script_name, extras + " maneuvers placed in treasures."); + } + } + + if ( (typeof character.treasures != "undefined") && (character.treasures !== "")) { + tempString = character.treasures + '\n' + '\n' + tempString.trim(); + } else { + tempString = tempString.trim(); + } + + // Place additional maneuvers in the treasures text box. + setAttrs(object.id, {treasures: tempString}); + } + + // Make the Maneuver window visible. + if (importCount>0) { + setAttrs(object.id, {gearSlideSelection: 2}); + } + + return tempString; + } + + + var importEquipment = function(object, character, script_name) { + + /* ************************************************* */ + /* *** Import Function: Import Equipment *** */ + /* ************************************************* */ + + // Imports equipment and sets carried weight. + // Similar to the way perks and talents are handled, we will parse the imported equipment into temporary arrays. + + const strength = parseInt(character.strength)||10; + let gearTextBox = ""; + + let tempString; + let tempPosition; + let secondPosition; + let subStringA; + let subStringB; + let sampleSize; + + // Needed for adjusted damage. + let advantage = 0; + + // Overall array of equipment. + let equipmentArray = new Array(); + let equipmentArrayIndex = 0; + + // Array of items of equipment that are not weapons, armor, or shields. + let equipmentListArray = new Array(); + let equipmentListArrayIndex = 0; + + // Array of items of equipment that are weapons. + let weaponsArray = new Array(); + let weaponsArrayIndex = 0; + + // Array of items of equipment that are weapons. + let armorArray = new Array(); + let armorArrayIndex = 0; + + // Array for multipowers, which need to be independent from others. + let multipowerArray = new Array(); + let multipowerArrayIndex = 0; + + // Read equipment + const maxEquipment = 16; + let importCount = 0; + let imported = 0; + let ID = "01"; + + // Imports sixteen martial arts maneuvers, skipping empty slots. + + for (importCount = 1; importCount <= maxEquipment; importCount++) { + + ID = String(importCount).padStart(2,'0'); + + if ((typeof character.equipment["equipment"+ID] !== "undefined") && (typeof character.equipment["equipment"+ID].name !== "undefined")) { + + equipmentArray[equipmentArrayIndex]=character.equipment["equipment"+ID]; + + tempString = equipmentArray[equipmentArrayIndex].name; + + if ((tempString !== "") && tempString.length) { + if ((equipmentArray[equipmentArrayIndex].name.includes("Multipower")) || (equipmentArray[equipmentArrayIndex].name.includes("MPSlot"))) { + // Then place in multipower array. + multipowerArray[multipowerArrayIndex]=equipmentArray[equipmentArrayIndex]; + multipowerArrayIndex++; + + } else if ((equipmentArray[equipmentArrayIndex].attack !== "") && (equipmentArray[equipmentArrayIndex].damage !== "") && (equipmentArray[equipmentArrayIndex].attack === "true")) { + // If the item is a damage attack add it to the weapon list. + weaponsArray[weaponsArrayIndex]=equipmentArray[equipmentArrayIndex]; + weaponsArrayIndex++; + + } else if ((equipmentArray[equipmentArrayIndex].defense !== "") && (equipmentArray[equipmentArrayIndex].defense === "true")) { + // If the item is a defense add it to the armor list. + // This will need to be updated for shields. + armorArray[armorArrayIndex]=equipmentArray[equipmentArrayIndex]; + armorArrayIndex++; + + } else { + // If the item is not an attack or defense add it to the equipment list. + equipmentListArray[equipmentListArrayIndex]=equipmentArray[equipmentArrayIndex]; + equipmentListArrayIndex++; + } + } + + equipmentArrayIndex++; + } + } + + // Write raw details of imported equipment to the treasures slide. + if (equipmentArrayIndex > 0) { + + // Get current contents of the treasures text box. + tempString = character.overflow + '\n' + '\n'; + + // Add equipment to treasures. + for (let i = 0; i < equipmentArrayIndex; i++) { + tempString += equipmentArray[i].name + '\n'; + if (equipmentArray[i].damage !== "") { + tempString += "Damage: " + equipmentArray[i].damage + ", "; + } + if (equipmentArray[i].end !== "") { + tempString += "END: " + equipmentArray[i].end + ", "; + } + if (equipmentArray[i].range !== "") { + tempString += "Range: " + equipmentArray[i].range + ", "; + } + if (equipmentArray[i].text !== "") { + tempString += equipmentArray[i].text; + if (equipmentArray[i].notes !== "") { + tempString += ", " + equipmentArray[i].notes; + } + } else if (equipmentArray[i].notes !== "") { + tempString += ", " + equipmentArray[i].notes; + } + if (equipmentArray[i].mass !== "") { + tempString += ", Mass: " + equipmentArray[i].mass; + } + if (i < (equipmentArrayIndex + 2)) { + tempString += '\n' + '\n'; + } + } + + if ( (typeof character.treasures != "undefined") && (character.treasures !== "")) { + tempString = character.treasures + '\n' + '\n' + tempString.trim(); + } else { + tempString = tempString.trim(); + } + + setAttrs(object.id, {treasures: tempString}); + + // Show the Treasures Gear Tab slide where the multipower equipment will appear. + setAttrs(object.id, {gearSlideSelection: 3}); + } + + // Prepare object of items that are not weapons or armor. + // Assign to character sheet Equipment List. + + let importedEquipment = new Array(); + importCount = 0; + imported = 0; + + // Prepare Items + for (importCount = 0; importCount < maxEquipment; importCount++) { + + ID = String(importCount+1).padStart(2,'0'); + + if (importCount < equipmentListArrayIndex) { + imported += 1; + + // Check for charges. + if (equipmentListArray[importCount].end != "") { + tempString = equipmentListArray[importCount].end; + if (tempString.includes("[")) { + tempString = " (" + parseInt(tempString.replace(/[^\d.-]/g, "")) +")"; + } else { + tempString = ""; + }; + } + + importedEquipment["equipText"+ID] = equipmentListArray[importCount].name; + + // Get item mass. + if (equipmentListArray[importCount].mass !== "") { + tempString = equipmentListArray[importCount].mass; + importedEquipment["equipMass"+ID] = getItemMass(tempString, script_name); + } else { + importedEquipment["equipMass"+ID] = 0; + } + } + } + + // Import equipment. + setAttrs(object.id, importedEquipment); + + if(verbose) { + if (imported === 1) { + sendChat(script_name, "Imported 1 piece of equipment."); + } else { + sendChat(script_name, "Imported "+ imported +" pieces of equipment."); + } + } + + // Prepare objects of weapons. Assign to character sheet Weapon List. + + let importedWeapons = new Array(); + const maxAdvantage = 1; + const maxWeapons = 5; + let tempValue = 0; + + importCount = 0; + imported = 0; + + for (importCount = 0; importCount < maxWeapons; importCount++) { + + ID = String(importCount+1).padStart(2,'0'); + + if (importCount < weaponsArrayIndex) { + imported += 1; + + importedWeapons["weaponName"+ID] = weaponsArray[importCount].name; + + // Assign weapon base damage. + importedWeapons["weaponDamage"+ID] = getWeaponDamage(weaponsArray[importCount].damage, script_name); + + tempString = weaponsArray[importCount].text; + if ((typeof tempString !== "undefined") && (tempString !== "")) { + // Look for weapon advantages. + tempValue = findDamageAdvantages(tempString, script_name); + if (tempValue > maxAdvantage) { + importedWeapons["weaponAdvantage"+ID] = maxAdvantage; + } else { + importedWeapons["weaponAdvantage"+ID] = tempValue; + } + + // Check for Killing Attack. + if (tempString.includes("Killing Attack") || tempString.includes("RKA") || tempString.includes("HKA")) { + // importedWeapons.weaponNormalDamage01= "off"; + } else { + importedWeapons["weaponNormalDamage"+ID]= "on"; + } + + // Get OCV bonus or penalty. + importedWeapons["weaponOCV"+ID] = getOCVmodifier(tempString, script_name); + + // Check for range mod adjustment. + if (tempString.includes("vs. Range Modifier")) { + tempPosition=tempString.indexOf("vs. Range Modifier"); + importedWeapons["weaponRangeMod"+ID]= parseInt(tempString.substr(tempPosition-3, 2)); + } else { + importedWeapons["weaponRangeMod"+ID]= 0; + } + + // Check for the thrown weapon advantage. + importedWeapons["rangeBasedOnStr"+ID] = (tempString.includes("Range Based On STR")) ? "on" : 0; + + // Check for modified STUN multiplier. + importedWeapons["weaponStunMod"+ID] = getStunModifier(tempString, script_name); + + // Get STR minimum and apply strength. + importedWeapons["weaponStrengthMin"+ID] = getWeaponStrMin(tempString, script_name); + importedWeapons["weaponEnhancedBySTR"+ID] = ( checkDamageBySTR(tempString, script_name) ? "on" : 0); + importedWeapons["weaponStrength"+ID] = ( importedWeapons["weaponEnhancedBySTR"+ID] === "on" ) ? getWeaponStrength(importedWeapons["weaponStrengthMin"+ID], strength, script_name) : Math.min(getWeaponStrMin(tempString, script_name), character.strength); + + // Check for AoE. + importedWeapons["weaponAreaEffect"+ID] = (tempString.includes("Area Of Effect")) ? "on" : 0; + } + + // Check for charges. + tempString = weaponsArray[importCount].end; + if ((typeof tempString !== "undefined") && (tempString !== "")) { + if (tempString.includes("[")) { + importedWeapons["weaponShots"+ID] = parseInt(tempString.replace(/[^\d.-]/g, "")); + } else { + importedWeapons["weaponShots"+ID] = 0; + } + } + + // Get weapon mass. + if (weaponsArray[importCount].mass !== "") { + tempString = weaponsArray[importCount].mass; + importedWeapons["weaponMass"+ID] = getItemMass(tempString, script_name); + } else { + importedWeapons["weaponMass"+ID] = 0; + } + + // Calculate thrown weapon range or assign range without units. + importedWeapons["weaponRange"+ID] = getWeaponRange(weaponsArray[importCount].range, character.strength, importedWeapons["weaponMass"+ID], script_name); + } + + } + + // Import weapons. + + setAttrs(object.id, importedWeapons); + + if(verbose) { + if (imported === 1) { + sendChat(script_name, "Imported 1 weapon."); + } else { + sendChat(script_name, "Imported "+ imported +" weapons."); + } + } + + // Prepare object of armor defenses. Assign to character sheet Armor List. + + let importedArmor = new Array(); + const maxArmor = 4; // The 4th may be overwritten if the character has resistant protection. + + importCount = 0; + imported = 0; + + for (importCount = 0; importCount < maxArmor; importCount++) { + + ID = String(importCount+1).padStart(2,'0'); + tempString = "none"; + + if (importCount < armorArrayIndex) { + imported += 1; + + importedArmor["armorName"+ID] = armorArray[importCount].name; + + // Find resistant protection values. + // This needs to be adjusted so that it doesn't pick out other PD/ED stats from elsewhere in the text. + if (typeof armorArray[importCount].text !== "undefined") { + tempString = armorArray[importCount].text; + } + + if (tempString.includes("Resistant Protection")) { + tempPosition = tempString.indexOf("Resistant Protection"); + sampleSize = 14; + subStringA = tempString.substr(tempPosition+20, sampleSize); + + if (subStringA.includes("PD")) { + tempPosition = subStringA.indexOf("PD"); + subStringB = subStringA.slice(Math.max(0, tempPosition-3), tempPosition); + importedArmor["armorPD"+ID] = parseInt(subStringB.replace(/[^\d.-]/g, "")); + importedArmor["totalPD"+ID] = importedArmor["armorPD"+ID] + parseInt(character.pd); + } else { + importedArmor["armorPD"+ID] = 0; + importedArmor["totalPD"+ID] = parseInt(character.pd); + }; + + if (subStringA.includes("ED")) { + tempPosition = subStringA.indexOf("ED"); + subStringB = subStringA.slice(Math.max(0, tempPosition-3), tempPosition); + importedArmor["armorED"+ID] = parseInt(subStringB.replace(/[^\d.-]/g, "")); + importedArmor["totalED"+ID] = importedArmor["armorED"+ID] + parseInt(character.ed); + } else { + importedArmor["armorED"+ID] = 0; + importedArmor["totalED"+ID] = parseInt(character.ed); + }; + }; + + // Activation roll + tempString = armorArray[importCount].text; + + if (tempString.includes("Requires A Roll")) { + tempPosition = tempString.indexOf("Requires A Roll"); + + sampleSize = 4; + subStringA = tempString.substr(tempPosition+15, sampleSize); + subStringB = subStringA.replace(/[^\d]/g, ""); + importedArmor["armorActivation"+ID] = parseInt(subStringB); + } + + // Armor locations. Sometimes locations are stored in the notes field. + if (armorArray[importCount].notes !== "") { + tempString += ", " + armorArray[importCount].notes; + } + importedArmor["armorLocations"+ID] = getArmorLocations(tempString, script_name); + importedArmor["armorEND"+ID] = getArmorEND(tempString, script_name); + + // Get armor mass. + if (armorArray[importCount].mass !== "") { + tempString = armorArray[importCount].mass; + importedArmor["armorMass"+ID] = getItemMass(tempString, script_name); + } else { + importedArmor["armorMass"+ID] = 0; + } + } + } + + // Import armor. + + setAttrs(object.id, importedArmor); + + if(verbose) { + if (imported === 1) { + sendChat(script_name, "Imported 1 piece of armor."); + } else { + sendChat(script_name, "Imported " + imported + " pieces of armor."); + } + } + + // Identify independent multipowers. + let equipmentMultipowers = []; + let shieldSearchIndex; + + for (let i=0; i< multipowerArray.length; i++) { + //sendChat(script_name, "Multipower search "+ i +"."); + if (multipowerArray[i].name.includes("Multipower")) { + equipmentMultipowers.push(i); + } + } + + // Find first shield if any. + let shieldFound = false; + let importedShield = new Array(); + let shieldID = "06"; + + for (let i=0; i < equipmentMultipowers.length; i++) { + // Get next multipower index. + shieldSearchIndex=equipmentMultipowers[i]; + tempString = multipowerArray[shieldSearchIndex].name; + tempString = tempString.toLowerCase(); + + if ( (tempString.includes("shield") || tempString.includes("buckler")) && !shieldFound) { + // Shield found + shieldFound = true; + + if(verbose) { + if (equipmentMultipowers !== "undefined") { + sendChat(script_name, "Found shield multipower."); + } + } + + // Get shield name. + importedShield["weaponName"+shieldID] = multipowerArray[shieldSearchIndex].name.replace("(Multipower)",""); + + // Get STR minimum. + tempString = multipowerArray[shieldSearchIndex].text; + importedShield["weaponStrengthMin"+shieldID] = getWeaponStrMin(tempString, script_name); + + // Get weapon mass. + if (multipowerArray[shieldSearchIndex].mass !== "") { + tempString = multipowerArray[shieldSearchIndex].mass; + importedShield.shieldMass = getItemMass(tempString, script_name); + } else { + importedShield.shieldMass = 0; + } + + // Search for multipower slot that grants DCV. + let foundShieldDCV = false; + + if (i+2 > equipmentMultipowers.length) { + // Shield is the last multipower in the list. + for (let j = shieldSearchIndex; j equipmentMultipowers.length) { + // Shield is the last multipower in the list. + for (let j = shieldSearchIndex; j equipmentMultipowers.length) { + // Item is the last multipower in the list. + for (let j = shieldSearchIndex; j 0) { + + for (importCount = 0; importCount < maxImport; importCount++) { + + ID = String(importCount+1).padStart(2,'0'); + + importedTalents["talentName"+ID] = perksAndTalentsArray[importCount].type; + importedTalents["talentText"+ID] = perksAndTalentsArray[importCount].text; + importedTalents["talentCP"+ID] = perksAndTalentsArray[importCount].points; + + if (typeof importedTalents["talentText"+ID] !== "undefined") { + + tempString = importedTalents["talentText"+ID]; + + + // Many of the following roll chances won't be used, but are here for completeness. + + if (tempString.includes("10-")) { + importedTalents["talentRollChance"+ID] = 10; + importedTalents["talentActivate"+ID] = "on"; + } else if (tempString.includes("11-")) { + importedTalents["talentRollChance"+ID] = 11; + importedTalents["talentActivate"+ID] = "on"; + } else if (tempString.includes("12-")) { + importedTalents["talentRollChance"+ID] = 12; + importedTalents["talentActivate"+ID] = "on"; + } else if (tempString.includes("13-")) { + importedTalents["talentRollChance"+ID] = 13; + importedTalents["talentActivate"+ID] = "on"; + } else if (tempString.includes("14-")) { + importedTalents["talentRollChance"+ID] = 14; + importedTalents["talentActivate"+ID] = "on"; + } else if (tempString.includes("15-")) { + importedTalents["talentRollChance"+ID] = 15; + importedTalents["talentActivate"+ID] = "on"; + } else if (tempString.includes("16-")) { + importedTalents["talentRollChance"+ID] = 16; + importedTalents["talentActivate"+ID] = "on"; + } else if (tempString.includes("17-")) { + importedTalents["talentRollChance"+ID] = 17; + importedTalents["talentActivate"+ID] = "on"; + } else if (tempString.includes("18-")) { + importedTalents["talentRollChance"+ID] = 18; + importedTalents["talentActivate"+ID] = "on"; + } else if (tempString.includes("19-")) { + importedTalents["talentRollChance"+ID] = 19; + importedTalents["talentActivate"+ID] = "on"; + } else if (tempString.includes("20-")) { + importedTalents["talentRollChance"+ID] = 20; + importedTalents["talentActivate"+ID] = "on"; + } else if (tempString.includes("21-")) { + importedTalents["talentRollChance"+ID] = 21; + importedTalents["talentActivate"+ID] = "on"; + } else if (tempString.includes("3-")) { + importedTalents["talentRollChance"+ID] = 3; + importedTalents["talentActivate"+ID] = "on"; + } else if (tempString.includes("4-")) { + importedTalents["talentRollChance"+ID] = 4; + importedTalents["talentActivate"+ID] = "on"; + } else if (tempString.includes("5-")) { + importedTalents["talentRollChance"+ID] = 5; + importedTalents["talentActivate"+ID] = "on"; + } else if (tempString.includes("6-")) { + importedTalents["talentRollChance"+ID] = 6; + importedTalents["talentActivate"+ID] = "on"; + } else if (tempString.includes("7-")) { + importedTalents["talentRollChance"+ID] = 7; + importedTalents["talentActivate"+ID] = "on"; + } else if (tempString.includes("8-")) { + importedTalents["talentRollChance"+ID] = 8; + importedTalents["talentActivate"+ID] = "on"; + } else if (tempString.includes("9-")) { + importedTalents["talentRollChance"+ID] = 9; + importedTalents["talentActivate"+ID] = "on"; + } + + if ( tempString.includes("d6") ) { + tempPosition = tempString.indexOf("d6") + diceString = tempString.slice(0, tempPosition); + diceString = diceString.slice(-2).replace(/\D/g,"") + "d6"; + importedTalents["talentDice"+ID] = diceString; + } else { + importedTalents["talentDice"+ID] = "0"; + } + } + } + + // Display additional perks and talents in the complications text box. + if (perksAndTalentsIndex > maxCombinedSheet) { + let i = maxCombinedSheet; + let extras = 0; + + for (let i = maxCombinedSheet; i= 1.2) ? 10 : 0; + + let tempString; + let damageString; + let tempPosition; + let tempValue = 0; + let endPosition; + let subStringA; + let subStringB; + let subStringC; + let theEffect = ""; + let sampleSize; + let control = 0; + let base = 0; + let active = 0; + let cost = 0; + let advantages = 0; + let limitations = 0; + let count = 0; + let ID = ""; + + let testObject = { + testString : "", + testEndurance : 0, + powerReducedEND : "standard" + } + + var tempObject = new Object(); + + // Overall list of powers + var importedPowers = new Object(); + let powerArray = new Array(); + let powerArrayIndex = 0; + + let importCount = 0; + + /* ------------------------- */ + /* Read Powers */ + /* ------------------------- */ + + for (importCount; importCount < maxPowers; importCount++) { + + ID = String(importCount+1).padStart(2,'0'); + + if ((typeof character.powers["power"+ID] !== "undefined") && (typeof character.powers["power"+ID].name !== "undefined")) { + + tempString = character.powers["power"+ID].name; + + if (tempString.includes("(VPP)")) { + // Varriable Power Pool found. + // The pool needs to be split into control and base parts. + tempString = character.powers["power"+ID].text; + subStringA = tempString.toLowerCase(); + + if (subStringA.includes("base")) { + subStringA = subStringA.slice(tempString.indexOf("base")-4, tempString.indexOf("base")); + subStringA = subStringA.replace(/\D/g, ''); + base = Number(subStringA); + } else { + // Error + base = 0; + } + + control = Math.round(base/2); + + character.powers["power"+ID].base = heroRoundDown(control, 2); + + // Create entry for Control Cost + powerArray[powerArrayIndex]={ + name: character.powers["power"+ID].name + "(control)", + base: control.toString(), + text: character.powers["power"+ID].text, + cost: control.toString(), + endurance: character.powers["power"+ID].endurance, + damage: character.powers["power"+ID].damage, + compound: false + } + powerArrayIndex++; + + // Create entry for Pool Cost + powerArray[powerArrayIndex]={ + name: character.powers["power"+ID].name, + base: base.toString(), + text: JSON.stringify(base) + "-point Power Pool.", + cost: base.toString(), + endurance: character.powers["power"+ID].endurance, + damage: character.powers["power"+ID].damage, + compound: false + } + powerArrayIndex++; + + } else if (tempString.includes("(Multipower)") || tempString.includes("(MPSlot")) { + // Import multipower or multipower slot. + powerArray[powerArrayIndex]=character.powers["power"+ID]; + + powerArrayIndex++; + } else if (character.powers["power"+ID].compound === "true") { + // Check for compound power and import sub power part separately if found. + + tempString = character.powers["power"+ID].text; + count = (tempString.match(/plus/g) || []).length+1; + + // Remove total costs. + if (tempString.includes("(Total:")) { + tempString = tempString.substring(tempString.indexOf(" Real Cost)") + 12); + } + + if(verbose) { + sendChat(script_name, "Compound power with " + JSON.stringify(count) + " parts."); + } + + damageString = character.powers["power"+ID].damage + for (let i=0; i 0) { + + for (importCount = 0; importCount < maxImport; importCount++) { + + ID = String(importCount+1).padStart(2,'0'); + + // First fix some known typos. + powerArray[importCount].text = fixKnownSpellingErrors(powerArray[importCount].text, script_name); + + // Assign power effect type. + theEffect = findEffectType(powerArray[importCount].text, script_name); + importedPowers["powerEffect"+ID] = theEffect; + + // If the power does not have a name assign it the effect type. + if (powerArray[importCount].name === "") { + importedPowers["powerName"+ID] = importedPowers["powerEffect"+ID]; + } else { + importedPowers["powerName"+ID] = powerArray[importCount].name; + } + + // Special cases or base cost. + tempCostArray = getPowerBaseCost(character, powerArray[importCount].base, theEffect, powerArray[importCount].text, bonusCP, importedPowers.optionTakesNoSTUN, script_name); + importedPowers["powerBaseCost"+ID] = tempCostArray[0]; + bonusCP = tempCostArray[1]; + + // Determine endurance type, advantages, and limitations. + testObject.testString = powerArray[importCount].text; + testObject.testEndurance = powerArray[importCount].endurance; + + // Get powerReducedEND level and separate endurance limitation or advantage cost. + testObject = findEndurance(testObject); + importedPowers["powerReducedEND"+ID] = testObject.powerReducedEND; + + // Find advantages and limitations values. + importedPowers["powerAdvantages"+ID] = findAdvantages(testObject.testString); + importedPowers["powerLimitations"+ID] = findLimitations(testObject.testString); + importedPowers["powerDamageAdvantage"+ID] = findDamageAdvantages(testObject.testString, script_name); + importedPowers["powerAoE"+ID] = isAoE(testObject.testString) ? "on" : 0; + + // Power descriptions + importedPowers["powerText"+ID] = (powerArray[importCount].text).trim(); + if (character.version >= 2.1) { + importedPowers["powerText"+ID] += '\n'+'\n'+(powerArray[importCount].notes).trim(); + } + + // Search for skill roll. + tempObject = requiresRoll(testObject.testString); + importedPowers["powerActivate"+ID] = tempObject.hasRoll ? "on" : 0; + importedPowers["powerSkillRoll"+ID] = tempObject.hasRoll ? tempObject.skillRoll : 18; + + // Search for reduced DCV due to the Concentration limitation. + importedPowers["powerDCV"+ID] = reducedDCV(testObject.testString); + + // Search for zero, half, or full range modifiers. + importedPowers["powerRMod"+ID] = reducedRMod(testObject.testString); + + // Search for a STUNx mod. + importedPowers["powerStunMod"+ID] = modifiedSTUNx(testObject.testString); + + // Assign effect dice. + importedPowers["powerDice"+ID] = getPowerDamage(powerArray[importCount].damage, theEffect, character.strength, script_name); + + // Find and assign power type. Remove export notes from names. + tempString = powerArray[importCount].name; + if (tempString.includes("(Multipower)")) { + // Remove note from name. + importedPowers["powerName"+ID] = tempString.replace("(Multipower) ", ""); + importedPowers["powerType"+ID] = "multipower"; + importedPowers["powerEffect"+ID] = "Multipower"; + } else if (tempString.includes("(MPSlot")) { + subStringA = powerArray[importCount].cost; + if (subStringA.includes("v")) { + // Remove note from name. + importedPowers["powerName"+ID] = tempString.replace("(MPSlot", ""); + importedPowers["powerType"+ID] = "variableSlot"; + } else { + // Remove note from name. + importedPowers["powerName"+ID] = tempString.replace("(MPSlot", ""); + importedPowers["powerType"+ID] = "fixedSlot"; + } + } else if (tempString.includes("(VPP)")) { + if (tempString.includes("control")) { + // Remove notes from name. + tempString = tempString.replace("(VPP) ", ""); + importedPowers["powerName"+ID] = tempString.replace("(control)", ""); + importedPowers["powerType"+ID] = "powerPool"; + importedPowers["powerEffect"+ID] = "VPP Control"; + importedPowers["powerAction"+ID] = "false"; + importedPowers["powerBaseCost"+ID] = powerArray[importCount].base; + } else { + // Remove note from name. + importedPowers["powerName"+ID] = tempString.replace("(VPP) ", ""); + importedPowers["powerType"+ID] = "powerPool"; + importedPowers["powerEffect"+ID] = "VPP Pool"; + importedPowers["powerAction"+ID] = "false"; + } + } else if (powerArray[importCount].compound === true) { + importedPowers["powerType"+ID] = "compound"; + } else if ( (typeof powerArray[importCount].text != "undefined") && (powerArray[importCount].text != "") && ((powerArray[importCount].text).includes("Unified Power")) ) { + importedPowers["powerType"+ID] = "unified"; + } else { + importedPowers["powerType"+ID] = "single"; + } + + // Set attack checkbox for attacks. + importedPowers["powerAttack"+ID] = isAttack(theEffect) ? "on" : 0; + + // Set power type. + importedPowers["powerDamageType"+ID] = getPowerDamageType(theEffect); + + // If Power's effect is Resistant Protection create armor in Armor Slot 4 with a combination of ED and PD. + tempString = (powerArray[importCount].text).toLowerCase(); + + if (theEffect === "Resistant Protection") { + if ( (typeof powerArray[importCount].text != "undefined") && (powerArray[importCount].text != "") ) { + if(verbose) { + sendChat(script_name, "Created Resistant Protection armor."); + } + + tempValue = getResistantPD(powerArray[importCount].text, script_name); + if (tempValue > 0) { + charMod.armorPD04 += tempValue; + if ( (specialArray.some(v => tempString.includes(v))) != true) { + // We don't want to add overall modifications for special cases. + charMod.pdMod += tempValue; + } + if (!pdAddedToTotal) { + charMod.totalPD04 = tempValue + parseInt(character.pd); + pdAddedToTotal = true; + } else { + charMod.totalPD04 += tempValue; + } + charMod.armorName04 = importedPowers["powerName"+ID]; + charMod.armorLocations04 = "3-18"; + tempObject = (requiresRoll(powerArray[importCount].text)); + if (tempObject.hasRoll) { + charMod.armorActivation04 = tempObject.skillRoll; + } else { + charMod.armorActivation04 = 18; + } + } + + tempValue = getResistantED(powerArray[importCount].text, script_name); + if (tempValue > 0) { + charMod.armorED04 += tempValue; + if ( (specialArray.some(v => tempString.includes(v))) != true) { + // We don't want to add overall modifications for special cases. + charMod.edMod += tempValue; + } + if (!edAddedToTotal) { + charMod.totalED04 = tempValue + parseInt(character.ed); + edAddedToTotal = true; + } else { + charMod.totalED04 += tempValue; + } + charMod.armorName04 = importedPowers["powerName"+ID]; + charMod.armorLocations04 = "3-18"; + tempObject = (requiresRoll(powerArray[importCount].text)); + if (tempObject.hasRoll) { + charMod.armorActivation04 = tempObject.skillRoll; + } else { + charMod.armorActivation04 = 18; + } + } + } + } else if (theEffect === "Base PD Mod") { + if ( (typeof powerArray[importCount].text != "undefined") && (powerArray[importCount].text != "") ) { + if(verbose) { + sendChat(script_name, "Added Resistant PD to armor."); + } + + if ( (powerArray[importCount].text).includes("Resistant")) { + charMod.armorPD04 += parseInt(character.pd); + if (!pdAddedToTotal) { + charMod.totalPD04 += parseInt(character.pd); + pdAddedToTotal = true; + } + charMod.armorName04 = importedPowers["powerName"+ID]; + charMod.armorLocations04 = "3-18"; + tempObject = (requiresRoll(powerArray[importCount].text)); + if (tempObject.hasRoll) { + charMod.armorActivation04 = tempObject.skillRoll; + } else { + charMod.armorActivation04 = 18; + } + } + } + } else if (theEffect === "Base ED Mod") { + if ( (typeof powerArray[importCount].text != "undefined") && (powerArray[importCount].text != "") ) { + if(verbose) { + sendChat(script_name, "Added Resistant ED to armor."); + } + + if ( (powerArray[importCount].text).includes("Resistant") ) { + charMod.armorED04 += parseInt(character.ed); + if (!edAddedToTotal) { + charMod.totalED04 += parseInt(character.ed); + edAddedToTotal = true; + } + charMod.armorName04 = importedPowers["powerName"+ID]; + charMod.armorLocations04 = "3-18"; + tempObject = (requiresRoll(powerArray[importCount].text)); + if (tempObject.hasRoll) { + charMod.armorActivation04 = tempObject.skillRoll; + } else { + charMod.armorActivation04 = 18; + } + } + } + } + + // Apply characteristic mods granted by enhancement powers or movement. + tempString = powerArray[importCount].text; + + if ( (typeof tempString != "undefined") && (tempString != "") ) { + switch (theEffect) { + case "Base STR Mod": if (tempString.includes("0 END")) { + importedPowers["optionUntiring"] = "on"; + } + break; + case "Running": charMod.runningMod += getCharacteristicMod(tempString, "Running", script_name); + break; + case "Leaping": charMod.leapingMod += getCharacteristicMod(tempString, "Leaping", script_name); + break; + case "Swimming": charMod.swimmingMod += getCharacteristicMod(tempString, "Swimming", script_name); + break; + case "Flight": charMod.flightMod += getCharacteristicMod(tempString, "Flight", script_name); + break; + case "Enhanced STR": charMod.strengthMod += getCharacteristicMod(tempString, "STR", script_name); + break; + case "Enhanced DEX": charMod.dexterityMod += getCharacteristicMod(tempString, "DEX", script_name); + break; + case "Enhanced CON": charMod.constitutionMod += getCharacteristicMod(tempString, "CON", script_name); + break; + case "Enhanced INT": charMod.intelligenceMod += getCharacteristicMod(tempString, "INT", script_name); + break; + case "Enhanced EGO": charMod.egoMod += getCharacteristicMod(tempString, "EGO", script_name); + break; + case "Enhanced PRE": charMod.presenceMod += getCharacteristicMod(tempString, "PRE", script_name); + break; + case "Enhanced OCV": charMod.ocvMod += getCharacteristicMod(tempString, "OCV", script_name); + break; + case "Enhanced DCV": charMod.dcvMod += getCharacteristicMod(tempString, "DCV", script_name); + break; + case "Enhanced OMCV": charMod.omcvMod += getCharacteristicMod(tempString, "OMCV", script_name); + break; + case "Enhanced DMCV": charMod.dmcvMod += getCharacteristicMod(tempString, "DMCV", script_name); + break; + case "Enhanced BODY": charMod.bodyMod += getCharacteristicMod(tempString, "BODY", script_name); + break; + case "Enhanced PD": charMod.pdMod += getCharacteristicMod(tempString, "PD", script_name); + break; + case "Enhanced ED": charMod.edMod += getCharacteristicMod(tempString, "ED", script_name); + break; + case "Enhanced STUN": charMod.stunMod += getCharacteristicMod(tempString, "STUN", script_name); + break; + case "Enhanced END": charMod.endMod += getCharacteristicMod(tempString, "END", script_name); + break; + case "Enhanced REC": charMod.recMod += getCharacteristicMod(tempString, "REC", script_name); + break; + case "Enhanced PER": if ( tempString.includes("all Sense") ) { + charMod.enhancedPerceptionModifier += getCharacteristicMod(tempString, "PER", script_name); + if ( (tempString.includes("except Sight")) || (tempString.includes("but Sight")) ) { + charMod.perceptionModifierVision += -getCharacteristicMod(tempString, "PER", script_name); + } + if ( (tempString.includes("except Hearing")) || (tempString.includes("but Hearing")) ) { + charMod.perceptionModifierHearing += -getCharacteristicMod(tempString, "PER", script_name); + } + if ( (tempString.includes("except Smell")) || (tempString.includes("but Smell")) ) { + charMod.perceptionModifierSmell += -getCharacteristicMod(tempString, "PER", script_name); + } + } else { + charMod.perceptionModifierVision += (tempString.includes("Sight")) ? getCharacteristicMod(tempString, "PER", script_name) : 0; + charMod.perceptionModifierHearing += (tempString.includes("Hearing")) ? getCharacteristicMod(tempString, "PER", script_name) : 0; + charMod.perceptionModifierSmell += (tempString.includes("Smell")) ? getCharacteristicMod(tempString, "PER", script_name) : 0; + if ( !(tempString.includes("Sight")) && !(tempString.includes("Hearing")) && !(tempString.includes("Smell")) ) { + charMod.enhancedPerceptionModifier += getCharacteristicMod(tempString, "PER", script_name); + } + } + break; + default: break; + } + } + } + } + + // Display additional powers in the talents text box. + tempString = ""; + if (powerArrayIndex > maxPowers) { + let extras = 0; + + for (let i = maxPowers; i < powerArrayIndex; i++) { + tempString += powerArray[i].name + "\n"; + if (powerArray[i].damage !== "") { + tempString += " Damage: " + powerArray[i].damage + "\n"; + } + tempString += " END: " + powerArray[i].endurance + "\n"; + tempString += " Base CP: " + powerArray[i].base + ", " + " Real CP: " + powerArray[i].cost + "\n"; + tempString += powerArray[i].text + "\n" + "\n"; + extras++; + } + + if(verbose) { + sendChat(script_name, extras + " powers placed in notes."); + } + + importedPowers.complicationsTextLeft = tempString; + } + + // Import powers and bonus points to sheet. + importedPowers.bonusBenefit = bonusCP; + + const importedPowersAndMods = Object.assign({}, importedPowers, charMod); + setAttrs(object.id, importedPowersAndMods); + + if(verbose) { + if (powerArrayIndex === 1) { + sendChat(script_name, "Imported 1 power."); + } else { + sendChat(script_name, "Imported " + powerArrayIndex + " powers."); + } + } + + return tempString.trim(); + }; + + + var importComplications = function(object, character, script_name) { + + /* ************************************************* */ + /* *** Import Function: Import Complications *** */ + /* ************************************************* */ + + // Imports the first six complications. + let importCount = 0; + let imported = 0; + let ID = ""; + let tempString = ""; + let diceString = ""; + let tempPosition = 0; + const maxComplications = 10; + const maxOverflow = 10; + let overflowString = ""; + var importedComplications = new Object(); + + /* ------------------------- */ + /* Read Complications */ + /* ------------------------- */ + + for (importCount = 0; importCount < maxComplications + maxOverflow; importCount++) { + + ID = String(importCount+1).padStart(2,'0'); + + if (importCount < maxComplications) { + if ((typeof character.complications["complication"+ID] !== "undefined") && (typeof character.complications["complication"+ID].type !== "undefined")) { + importedComplications["complicationName"+ID] = character.complications["complication"+ID].type; + importedComplications["complicationText"+ID] = character.complications["complication"+ID].text + '\n' + character.complications["complication"+ID].notes; + importedComplications["complicationCP"+ID] = character.complications["complication"+ID].points; + + // Type + tempString = character.complications["complication"+ID].type; + tempString = tempString.toLowerCase(); + + if (tempString.includes("accidental change")) { + importedComplications["complicationType"+ID] = "accidental"; + } else if (tempString.includes("dependence")) { + importedComplications["complicationType"+ID] = "dependence"; + } else if (tempString.includes("dependent")) { + importedComplications["complicationType"+ID] = "dependent"; + } else if (tempString.includes("distinctive")) { + importedComplications["complicationType"+ID] = "distinctive"; + } else if ((tempString.includes("enraged")) || (tempString.includes("berserk"))) { + importedComplications["complicationType"+ID] = "enraged"; + } else if (tempString.includes("hunted")) { + importedComplications["complicationType"+ID] = "hunted"; + } else if (tempString.includes("reputation")) { + importedComplications["complicationType"+ID] = "reputation"; + } else if (tempString.includes("physical")) { + importedComplications["complicationType"+ID] = "physical"; + } else if (tempString.includes("psychological")) { + importedComplications["complicationType"+ID] = "psychological"; + } else if (tempString.includes("rival")) { + importedComplications["complicationType"+ID] = "rival"; + } else if (tempString.includes("social")) { + importedComplications["complicationType"+ID] = "social"; + } else if (tempString.includes("susceptibility")) { + importedComplications["complicationType"+ID] = "susceptibility"; + } else if (tempString.includes("unluck")) { + importedComplications["complicationType"+ID] = "unluck"; + } else if (tempString.includes("vulnerability")) { + importedComplications["complicationType"+ID] = "vulnerability"; + } else { + importedComplications["complicationType"+ID] = "custom"; + } + + // Activation Roll + tempString = character.complications["complication"+ID].text + " " + character.complications["complication"+ID].notes; + tempString = tempString.toLowerCase(); + + // Most of these roll options will never be used, but are here for completeness. + + if (tempString.includes("10-")) { + importedComplications["complicationRollChance"+ID] = 10; + importedComplications["complicationActivate"+ID] = "on"; + } else if (tempString.includes("11-")) { + importedComplications["complicationRollChance"+ID] = 11; + importedComplications["complicationActivate"+ID] = "on"; + } else if (tempString.includes("12-")) { + importedComplications["complicationRollChance"+ID] = 12; + importedComplications["complicationActivate"+ID] = "on"; + } else if (tempString.includes("13-")) { + importedComplications["complicationRollChance"+ID] = 13; + importedComplications["complicationActivate"+ID] = "on"; + } else if (tempString.includes("14-")) { + importedComplications["complicationRollChance"+ID] = 14; + importedComplications["complicationActivate"+ID] = "on"; + } else if (tempString.includes("15-")) { + importedComplications["complicationRollChance"+ID] = 15; + importedComplications["complicationActivate"+ID] = "on"; + } else if (tempString.includes("16-")) { + importedComplications["complicationRollChance"+ID] = 16; + importedComplications["complicationActivate"+ID] = "on"; + } else if (tempString.includes("17-")) { + importedComplications["complicationRollChance"+ID] = 17; + importedComplications["complicationActivate"+ID] = "on"; + } else if (tempString.includes("18-")) { + importedComplications["complicationRollChance"+ID] = 18; + importedComplications["complicationActivate"+ID] = "on"; + } else if (tempString.includes("3-")) { + importedComplications["complicationRollChance"+ID] = 3; + importedComplications["complicationActivate"+ID] = "on"; + } else if (tempString.includes("4-")) { + importedComplications["complicationRollChance"+ID] = 4; + importedComplications["complicationActivate"+ID] = "on"; + } else if (tempString.includes("5-")) { + importedComplications["complicationRollChance"+ID] = 5; + importedComplications["complicationActivate"+ID] = "on"; + } else if (tempString.includes("6-")) { + importedComplications["complicationRollChance"+ID] = 6; + importedComplications["complicationActivate"+ID] = "on"; + } else if (tempString.includes("7-")) { + importedComplications["complicationRollChance"+ID] = 7; + importedComplications["complicationActivate"+ID] = "on"; + } else if (tempString.includes("8-")) { + importedComplications["complicationRollChance"+ID] = 8; + importedComplications["complicationActivate"+ID] = "on"; + } else if (tempString.includes("9-")) { + importedComplications["complicationRollChance"+ID] = 9; + importedComplications["complicationActivate"+ID] = "on"; + } + + // Dice + if ( tempString.includes("d6") ) { + tempPosition = tempString.indexOf("d6") + diceString = tempString.slice(0, tempPosition); + diceString = diceString.slice(-2).replace(/\D/g,"") + "d6"; + importedComplications["complicationDice"+ID] = diceString; + } else { + importedComplications["complicationDice"+ID] = "0"; + } + + imported += 1; + } + } else if (importCount < maxComplications + maxOverflow) { + if ((typeof character.complications["complication"+ID] !== "undefined") && (typeof character.complications["complication"+ID].type !== "undefined")) { + overflowString += character.complications["complication"+ID].type + '\n'; + overflowString += character.complications["complication"+ID].text + '\n' + character.complications["complication"+ID].notes + '\n'; + overflowString += "("+character.complications["complication"+ID].points + " points)\n\n"; + + imported += 1; + } + } + } + + importedComplications["complicationsTextRight"] = overflowString; + + if(verbose) { + if (imported === 1) { + sendChat(script_name, "Imported 1 complication."); + } else { + sendChat(script_name, "Imported " + imported + " complications."); + } + } + + // Import complications to sheet. + setAttrs(object.id, importedComplications); + + return; + }; + + + var importAllSkills = function(object, character, script_name) { + + /* ************************************************* */ + /* *** Import Function: Import Skills *** */ + /* ************************************************* */ + + // Struct for counting processed skills. + + let sheetSkillIndexes={ + skillIndex: 0, + generalSkillIndex: 0, + combatSkillIndex: 0, + languageSkillIndex: 0 + } + + const maxSkills = 50; + + for (let importCount = 0; importCount < maxSkills; importCount++) { + + ID = String(importCount+1).padStart(2,'0'); + + if (typeof character.skills["skill"+ID] !== "undefined") {sheetSkillIndexes = importSkill(object, character, script_name, sheetSkillIndexes, character.skills["skill"+ID]);} + } + + return; + }; + + + /* ------------------------- */ + /* Import Helper Functions */ + /* ------------------------- */ + + var cleanQuotes = function(inputString, script_name) { + // Look for double quotes in text that shouldn't be there. Remove them. + + let detailString; + let cleanString; + let frontMatter; + let backMatter; + let startPosition; + let endPosition; + let count = 0; + let matches = 0; + let engagePosition = inputString.indexOf('\"backgroundText\":\"'); + let exitPosition = inputString.indexOf('\"experience\":') - 10; + + for (let i = engagePosition; i < exitPosition; i+=1) { + startPosition = inputString.indexOf('\":\"', i)+1; + endPosition = inputString.indexOf('\", \"', i); + detailString = inputString.slice(startPosition+2, endPosition); + matches = detailString.match(/["]/g); + count = matches ? matches.length : 0; + + if (matches) { + frontMatter = inputString.slice(0, startPosition+2); + backMatter = inputString.slice(endPosition+1); + cleanString = detailString.replace(/["]+/g, ""); + inputString = frontMatter + cleanString + '\"' + backMatter; + + exitPosition -= count; + } + + i += detailString.length - count; + } + + return inputString; + } + + + var importSkill = function(object, character, script_name, sheetSkillIndexes, theSkill) { + // Assign skill to general, combat, language, enhancer, etc. + + if (Object.keys(theSkill).length === 0) { + // Empty Skill. + return sheetSkillIndexes; + + } else if (theSkill.enhancer === "true") { + // Invoke Skill Enhancer Function + importSkillEnhancer(object, character, script_name, theSkill.text); + + } else if (theSkill.display === "Language") { + // Call import language function. + importLanguage(object, character, script_name, theSkill, sheetSkillIndexes.languageSkillIndex); + sheetSkillIndexes.languageSkillIndex++; + + } else if (theSkill.display === "Combat Skill Levels"){ + // Import weapon levels. The combat skill index may or may not be increased. + // This needs to be decided by the function as more general skill levels + // use prepared slots on the character sheet. + sheetSkillIndexes.combatSkillIndex = importWeaponSkill(object, character, script_name, theSkill, sheetSkillIndexes.combatSkillIndex); + + } else if (theSkill.display === "Penalty Skill Levels") { + // Import penalty skill levels. + sheetSkillIndexes.combatSkillIndex = importWeaponSkill(object, character, script_name, theSkill, sheetSkillIndexes.combatSkillIndex); + + } else if (theSkill.display === ("Weapon Familiarity")) { + // Weapon familiarity skill line. + // There should be only one line since Hero Designer lumps them together. + // We need to break them up. + let tempString = theSkill.text; + tempString = tempString.replace(/\s\s+/g, " "); + tempString = tempString.replace("WF: ", ""); + let weaponFamArrayLength = (tempString.split(",").length - 1); + let weaponFamArray = new Array(weaponFamArrayLength); + + for (let i = 0; i <= weaponFamArrayLength; i++) { + // Split up string into weapon groups. + if (i < weaponFamArrayLength) { + // Get first weapon group before a comma. + weaponFamArray[i] = tempString.substr(0, tempString.indexOf(",")); + + // Remove that weapon group from the string. + tempString = tempString.replace(weaponFamArray[i] + ", ", ""); + } else { + // There is only one group left to get. + weaponFamArray[i] = tempString; + } + } + + // Process the skills in weaponFamArray as individual skills. + // The combatSkillIndex will advance each time. + for (let i = 0; i <= weaponFamArrayLength; i++) { + let tempSkill = { + name: "", + enhancer: "", + text: weaponFamArray[i], + display:"Weapon Familiarity", + cost: 0 + } + if (tempSkill.text.includes("Common") || tempSkill.text.includes("Small Arms") || tempSkill.text.includes("Emplaced Weapons") || tempSkill.text.includes("Beam Weapons") || tempSkill.text.includes("Energy Weapons") || tempSkill.text.includes("Early Firearms") || tempSkill.text.includes("Siege Engines")) { + tempSkill.cost = 2; + } else { + tempSkill.cost = 1; + } + + sheetSkillIndexes.combatSkillIndex = importWeaponSkill(object, character, script_name, tempSkill, sheetSkillIndexes.combatSkillIndex); + } + } else if (theSkill.display === ("Transport Familiarity")) { + // Transport familiarity skill line. + // There should be only one line since Hero Designer lumps them together. + // We need to break them up. + let tempString = theSkill.text; + tempString = tempString.replace(/\s\s+/g, " "); + tempString = tempString.replace("TF: ", ""); + let transportFamArrayLength = (tempString.split(",").length - 1); + let transportFamArray = new Array(transportFamArrayLength); + + for (let i = 0; i <= transportFamArrayLength; i++) { + // Split up string into transport groups. + if (i < transportFamArrayLength) { + // Get first weapon group before a comma. + transportFamArray[i] = tempString.substr(0, tempString.indexOf(",")); + + // Remove that weapon group from the string. + tempString = tempString.replace(transportFamArray[i]+", ", ""); + } else { + // There is only one group left to get. + transportFamArray[i] = tempString; + } + } + + // Process the skills in transportFamArray as individual skills. + // The generalSkillIndex will advance each time. + for (let i = 0; i <= transportFamArrayLength; i++) { + let tempSkill = { + name: transportFamArray[i], + enhancer: "", + text: "TF: " + transportFamArray[i], + display:"Transport Familiarity", + cost: 1 + } + + // Find 2-point TF groups. + if (tempSkill.text.includes("Common") || tempSkill.text.includes("Riding") || tempSkill.text.includes("Space Vehicles") || tempSkill.text.includes("Mecha")) { + tempSkill.cost = 2; + } + + sheetSkillIndexes.generalSkillIndex = importGeneralSkill(object, character, script_name, tempSkill, sheetSkillIndexes.generalSkillIndex); + } + } else if (theSkill.display === "Skill Levels") { + // Import non-combat skill levels. + // Groups of three skills will be a challenge. + + if (theSkill.text.includes("three pre-defined Skills")) { + // This type of skill level is recorded along with general skills. + sheetSkillIndexes.generalSkillIndex = importGeneralSkill(object, character, script_name, theSkill, sheetSkillIndexes.generalSkillIndex); + } else if (parseInt(theSkill.cost/theSkill.levels) === 3) { + // This type of skill level is recorded along with general skills. + + sheetSkillIndexes.generalSkillIndex = importGeneralSkill(object, character, script_name, theSkill, sheetSkillIndexes.generalSkillIndex); + } else { + importSkillLevels(object, character, script_name, theSkill); + } + } else { + // Import general skill + + sheetSkillIndexes.generalSkillIndex = importGeneralSkill(object, character, script_name, theSkill, sheetSkillIndexes.generalSkillIndex); + } + + sheetSkillIndexes.skillIndex++; + + return sheetSkillIndexes; + } + + + var importSkillEnhancer = function(object, character, script_name, enhancerString) { + // This function is called when a skill is identified as an enhancer. + // The skills' text will determine which enhancer it is. + let enhancer; + + switch(enhancerString) { + case "Jack of All Trades": + enhancer = { + enhancerJack: "on", + enhancerJackCP: 3 + } + break; + case "Linguist": + enhancer = { + enhancerLing: "on", + enhancerLingCP: 3 + } + break; + case "Scholar": + enhancer = { + enhancerSch: "on", + enhancerSchCP: 3 + } + break; + case "Scientist": + enhancer = { + enhancerSci: "on", + enhancerSciCP: 3 + } + break; + case "Traveler": + enhancer = { + enhancerTrav: "on", + enhancerTravCP: 3 + } + break; + default: + // Well-Connected + enhancer = { + enhancerWell: "on", + enhancerWellCP: 3 + } + } + + setAttrs(object.id, enhancer); + + return; + } + + + var importLanguage = function(object, character, script_name, languageObject, languageIndex) { + // This function is called when a skill is identified as an enhancer. + // The skills' text will determine which enhancer it is. + // let languages; + + let language; + let name = languageObject.name; + let tempString = languageObject.text; + if (name === "") { + if (tempString.includes("Language:")) { + name = tempString.replace("Language:", ""); + } + if (name.includes("(") && name.includes(")")) { + let endPosition = name.indexOf("("); + name = name.slice(0, endPosition-1); + } + } + + let fluency; + let literacy; + let cost = languageObject.cost; + + // Determine fluency. + if (tempString.includes("native")) { + fluency = "native"; + } else if (cost == 0) { + fluency = "native"; + } else if ((cost == 1) && (tempString.includes("literate"))) { + fluency = "native"; + } else if (tempString.includes("basic")) { + fluency = "basic"; + } else if (tempString.includes("completely")) { + fluency = "accent"; + } else if (tempString.includes("fluent")) { + fluency = "fluent"; + } else if (tempString.includes("idiomatic")) { + fluency = "idiomatic"; + } else if (tempString.includes("imitate")) { + fluency = "imitate"; + } else { + fluency = "none"; + } + + // Determine literacy. + if (tempString.includes("literate")) { + literacy = "on"; + } + else { + literacy = 0; + } + + // Assign this language to the character sheet. + + switch(languageIndex) { + case 0: + language = { + skillName41: name, + skillFluency41: fluency, + skillLiteracy41: literacy + } + break; + case 1: + language = { + skillName42: name, + skillFluency42: fluency, + skillLiteracy42: literacy + } + break; + case 2: + language = { + skillName43: name, + skillFluency43: fluency, + skillLiteracy43: literacy + } + break; + case 3: + language = { + skillName44: name, + skillFluency44: fluency, + skillLiteracy44: literacy + } + break; + case 4: + language = { + skillName45: name, + skillFluency45: fluency, + skillLiteracy45: literacy + } + break; + case 5: + language = { + skillName46: name, + skillFluency46: fluency, + skillLiteracy46: literacy + } + break; + case 6: + language = { + skillName47: name, + skillFluency47: fluency, + skillLiteracy47: literacy + } + break; + case 7: + language = { + skillName48: name, + skillFluency48: fluency, + skillLiteracy48: literacy + } + break; + default: + // Last language slot available. + language = { + skillName49: name, + skillFluency49: fluency, + skillLiteracy49: literacy + } + } + + setAttrs(object.id, language); + + return; + } + + + var importWeaponSkill = function(object, character, script_name, skillObject, weaponSkillIndex) { + // Identify and assign combat levels + + let weaponSkill; + let name = skillObject.name; + let levels = parseInt(skillObject.levels); + let levelCost; + let type = 'none'; + let cost = parseInt(skillObject.cost); + + if (skillObject.text.includes("HTH Combat")) { + // Find the number of levels from the CP spent. + weaponSkill = { + skillLevels38: skillObject.levels + }; + + } else if (skillObject.text.includes("Ranged Combat")) { + // Find the number of levels from the CP spent. + weaponSkill = { + skillLevels39: skillObject.levels + }; + + } else if (skillObject.text.includes("All Attacks")) { + // Find the number of levels from the CP spent. + weaponSkill = { + skillLevels40: skillObject.levels + }; + + } else if (skillObject.text.includes("group") || skillObject.text.includes("single") || (skillObject.display === "Weapon Familiarity") || (skillObject.display === "Penalty Skill Levels") || (skillObject.display === "Combat Skill Levels")) { + // Call import weapon skills function. + + // Determine type + if (skillObject.display === "Weapon Familiarity") { + // Weapon familiarity at the moment can be common or single. + if (cost === 1) { + name = skillObject.text; + type = "Fam1"; + levels = 0; + } else { + name = skillObject.text.replace("Weapons", ""); + type = "Fam2"; + levels = 0; + } + } else if (skillObject.display === "Penalty Skill Levels") { + // Determine penalty skill levels + + // Try to shorten the name text. + name = skillObject.text.replace("versus", "vs"); + name = name.replace("Versus", "vs"); + name = name.replace("Location", "Loc"); + name = name.replace("Range", "Rng"); + name = name.replace("Modifiers ", ""); + name = name.replace("Modifier ", ""); + name = name.replace("with", "w/"); + name = name.replace("the ", ""); + + levelCost = parseInt(cost/levels); + switch (levelCost) { + case 1: type = 'PSL1'; + break; + case 2: type = 'PSL2'; + break; + case 3: type = 'PSL3'; + break; + default: 'none'; + } + } else { + // Determine combat skill levels + name = skillObject.text.replace("with", "w/"); + + levelCost = parseInt(cost/levels); + switch (levelCost) { + case 2: type = 'CSL2'; + break; + case 3: type = 'CSL3'; + break; + case 5: type = 'CSL5'; + break; + case 8: type = 'CSL8'; + break; + default: 'none'; + } + } + + // Assign skill parameters to an open weapon skill slot. + switch (weaponSkillIndex) { + case 0: + // Weapon skill slot 1. + weaponSkill = { + skillName31: name, + skillType31: type, + skillLevels31: levels, + skillCP31: cost + } + break; + case 1: + // Weapon skill slot 2. + weaponSkill = { + skillName32: name, + skillType32: type, + skillLevels32: levels, + skillCP32: cost + } + break; + case 2: + // Weapon skill slot 3. + weaponSkill = { + skillName33: name, + skillType33: type, + skillLevels33: levels, + skillCP33: cost + } + break; + case 3: + // Weapon skill slot 4. + weaponSkill = { + skillName34: name, + skillType34: type, + skillLevels34: levels, + skillCP34: cost + } + break; + case 4: + // Weapon skill slot 5. + weaponSkill = { + skillName35: name, + skillType35: type, + skillLevels35: levels, + skillCP35: cost + } + break; + case 5: + // Weapon skill slot 6. + weaponSkill = { + skillName36: name, + skillType36: type, + skillLevels36: levels, + skillCP36: cost + } + break; + case 6: + // Last weapon skill slot available. + weaponSkill = { + skillName37: name, + skillType37: type, + skillLevels37: levels, + skillCP37: cost + } + } + weaponSkillIndex++; + } + + setAttrs(object.id, weaponSkill); + + return weaponSkillIndex; + } + + + var importSkillLevels = function(object, character, script_name, skillObject) { + + if (skillObject.text.includes("all Intellect Skills")) { + // The broad group skill level is ambiguous. + // By default we will guess intellect as the most common. + + if (skillObject.name.includes("nteract")) { + // Look at name to see if player added interaction label. + let skillLevel = { + interactionLevels: skillObject.levels, + interactionLevelsCP: skillObject.levels*4 + } + + if(verbose) { + sendChat(script_name, "Found interaction group levels."); + } + setAttrs(object.id, skillLevel); + } else if (skillObject.name.includes("ntellect")) { + // Look at name to see if player added intellect label. + let skillLevel = { + intellectLevels: skillObject.levels, + intellectLevelsCP: skillObject.levels*4 + } + + if(verbose) { + sendChat(script_name, "Found intellect group levels."); + } + setAttrs(object.id, skillLevel); + } else { + // Assume intellect. + let skillLevel = { + intellectLevels: skillObject.levels, + intellectLevelsCP: skillObject.levels*4 + } + + if(verbose) { + sendChat(script_name, "Found broad group levels. Assuming intellect."); + } + setAttrs(object.id, skillLevel); + } + } else if (skillObject.text.includes("all Agility Skills")) { + let skillLevel = { + agilityLevels: skillObject.levels, + agilityLevelsCP: skillObject.levels*6 + } + setAttrs(object.id, skillLevel); + } else if (skillObject.text.includes("all Non-Combat Skills")) { + let skillLevel = { + noncombatLevels: skillObject.levels, + noncombatLevelsCP: skillObject.levels*10 + } + setAttrs(object.id, skillLevel); + } else if (skillObject.text.includes("Overall")) { + let skillLevel = { + overallLevels: skillObject.levels, + overallLevelsCP: skillObject.levels*12 + } + setAttrs(object.id, skillLevel); + } + + return; + } + + + var importGeneralSkill = function(object, character, script_name, skillObject, generalSkillIndex) { + // Identify and import a general skill. + + var theSkill = new Object(); + let attribute = skillObject.attribute; + let text = skillObject.text; + let type = "none"; + let base = skillObject.base; + let levels = skillObject.levels; + let cost = skillObject.cost; + + if (skillObject.display === ("Skill Levels")) { + // Three-group skill. + type = "group"; + } else if (skillObject.text.includes("three pre-defined Skills")) { + // Three-group skill. + type = "group"; + } else if ((base === "0") && (cost === "0") && skillObject.text.includes("11-")) { + // Everyman professional skill. + type = "everymanPS"; + } else if ((base === "0") && (cost === "0")) { + // Everyman skill. + type = "everyman"; + } else if (text.startsWith("KS") && ((base-levels) === 2)) { + // Knowledge Skill + type = "ks"; + } else if (text.startsWith("KS") && ((base-levels) === 3)) { + // Knowledge Skill based on INT. + type = "intKS"; + } else if (text.startsWith("CK") && ((base-levels) === 2)) { + // City Knowledge Skill + type = "ck"; + } else if (text.startsWith("CK") && ((base-levels) === 3)) { + // City Knowledge Skill based on INT. + type = "intCK"; + } else if (text.startsWith("CuK") && ((base-levels) === 2)) { + // Culture Knowledge Skill + type = "cuk"; + } else if (text.startsWith("CuK") && ((base-levels) === 3)) { + // Culture Knowledge Skill based on INT. + type = "intCuK"; + } else if (text.startsWith("Science Skill") && ((base-levels) === 2)) { + // Science Skill + type = "ss"; + } else if (text.startsWith("Science Skill") && ((base-levels) === 3)) { + // Science Skill based on INT. + type = "intSS"; + } else if (text.startsWith("AK") && ((base-levels) === 2)) { + // Area Knowledge. + type = "ak"; + } else if (text.startsWith("AK") && ((base-levels) === 3)) { + // Area Knowledge Skill based on INT. + type = "intAK"; + } else if (text.startsWith("TF")) { + // Transport familiarity. + type = "tf"; + } else if (text.startsWith("PS")) { + // Professional skill. + type = "ps"; + } else if (attribute === "INT") { + // Intellect skill. + type = "int"; + } else if (attribute === "DEX") { + // Agility skill. + type = "dex"; + } else if (attribute === "PRE") { + // Interact skill. + type = "pre"; + } else if (attribute === "EGO") { + // Ego skill. Probably faith. + type = "ego"; + } else if (attribute === "STR") { + // Strength skill (unusual). + type = "str"; + } else if (attribute === "CON") { + // Constitution skill (unusual). + type = "con"; + } else if ((skillObject.display === "Cramming") || (text.toLowerCase().includes("skill"))) { + // A special skill or group of undetermined skills. + type = "other"; + } else if (cost === "") { + // Empty slot. + type = "none"; + } else { + // Best last guess is combat. + type = "combat"; + } + + // Try to find the best name of the skill. + // It may be in .name, .text, or .display. + + let name = skillObject.name; + if (name === "") { + if ((text !== "") && text.includes("AK: ")) { + name = text.replace("AK: ", ""); + name = name.slice(0, -3); + } else if ((text !== "") && text.includes("KS: ")) { + name = text.replace("KS: ", ""); + name = name.slice(0, -3); + } else if ((text !== "") && text.includes("CK: ")) { + name = text.replace("CK: ", ""); + name = name.slice(0, -3); + } else if ((text !== "") && text.includes("CuK: ")) { + name = text.replace("CuK: ", ""); + name = name.slice(0, -4); + } else if ((text !== "") && text.includes("SS: ")) { + name = text.replace("SS: ", ""); + name = name.slice(0, -3); + } else if ((text !== "") && text.includes("Science Skill: ")) { + name = text.replace("Science Skill: ", ""); + name = name.slice(0, -3); + } else if ((text !== "") && text.includes("PS: ")) { + name = text.replace("PS: ", ""); + name = name.slice(0, -3); + } else if (skillObject.display !== "") { + name = skillObject.display; + } + } + + // Import the skill + ID = String(generalSkillIndex+1).padStart(2,'0'); + theSkill["skillName"+ID] = name.trim(); + theSkill["skillType"+ID] = type; + theSkill["skillCP"+ID] = cost; + if (type === "everyman") { + theSkill["skillRollChance"+ID] = "8"; + } + + setAttrs(object.id, theSkill); + + generalSkillIndex++; + + return generalSkillIndex; + } + + + var findEndurance = function(testObject) { + // Determine endurance type, advantages, and limitations. + // Remove advantage or limitation from tempString so that they aren't counted twice. + + // testObject should have three items: + // testString, testEndurance, powerReducedEND + + let tempString = testObject.testString; + let endString = testObject.testEndurance; + + if ( ((tempString.includes("Costs Endurance (-1/4)")) || (tempString.includes("Costs Half Endurance"))) && (endString.includes("["))) { + testObject.powerReducedEND = "costsENDhalf"; + tempString = tempString.replace("Costs Endurance (-1/4)", ""); + } else if ((tempString.includes("Costs Endurance (-1/2)")) && (endString.includes("["))) { + testObject.powerReducedEND = "costsENDfull"; + tempString = tempString.replace("Costs Endurance (-1/2)", ""); + } else if (endString.includes("[")) { + testObject.powerReducedEND = "noEND"; + } else if (tempString.includes("Costs Endurance (-1/4)")) { + testObject.powerReducedEND = "costsENDhalf"; + tempString = tempString.replace("Costs Endurance (-1/4)", ""); + } else if (tempString.includes("Costs Endurance (-1/2)")) { + testObject.powerReducedEND = "costsENDfull"; + tempString = tempString.replace("Costs Endurance (-1/2)", ""); + } else if ((tempString.includes("Reduced Endurance (1/2 END; +1/2)")) && (tempString.includes("Autofire"))) { + testObject.powerReducedEND = "reducedENDAF"; + tempString = tempString.replace("Reduced Endurance (1/2 END; +1/2)", ""); + } else if (tempString.includes("Reduced Endurance (0 END; +1/2)")) { + testObject.powerReducedEND = "zeroEND"; + tempString = tempString.replace("Reduced Endurance (0 END; +1/2)", ""); + } else if (tempString.includes("Reduced Endurance (0 END; +1)")) { + testObject.powerReducedEND = "zeroENDAF"; + tempString = tempString.replace("Reduced Endurance (0 END; +1)", ""); + } else if (tempString.includes("Reduced Endurance (1/2 END; +1/4)")) { + testObject.powerReducedEND = "reducedEND"; + tempString = tempString.replace("Reduced Endurance (1/2 END; +1/4)", ""); + } else if (tempString.includes("Increased Endurance Cost (x2 END; -1/2)")) { + testObject.powerReducedEND = "increasedENDx2"; + tempString = tempString.replace("Increased Endurance Cost (x2 END; -1/2)", ""); + } else if (tempString.includes("Increased Endurance Cost (x3 END; -1)")) { + testObject.powerReducedEND = "increasedENDx3"; + tempString = tempString.replace("Increased Endurance Cost (x3 END; -1)", ""); + } else if (tempString.includes("Increased Endurance Cost (x4 END; -1 1/2)")) { + testObject.powerReducedEND = "increasedENDx4"; + tempString = tempString.replace("Increased Endurance Cost (x4 END; -1 1/2)", ""); + } else if (tempString.includes("Increased Endurance Cost (x5 END; -2)")) { + testObject.powerReducedEND = "increasedENDx5"; + tempString = tempString.replace("Increased Endurance Cost (x5 END; -2)", ""); + } else if (tempString.includes("Increased Endurance Cost (x6 END; -2 1/2)")) { + testObject.powerReducedEND = "increasedENDx6"; + tempString = tempString.replace("Increased Endurance Cost (x6 END; -2 1/2)", ""); + } else if (tempString.includes("Increased Endurance Cost (x7 END; -3)")) { + testObject.powerReducedEND = "increasedENDx7"; + tempString = tempString.replace("Increased Endurance Cost (x7 END; -3)", ""); + } else if (tempString.includes("Increased Endurance Cost (x8 END; -3 1/2)")) { + testObject.powerReducedEND = "increasedENDx8"; + tempString = tempString.replace("Increased Endurance Cost (x8 END; -3 1/2)", ""); + } else if (tempString.includes("Increased Endurance Cost (x9 END; -3 1/2)")) { + testObject.powerReducedEND3 = "increasedENDx9"; + tempString = tempString.replace("Increased Endurance Cost (x9 END; -3 1/2)", ""); + } else if (tempString.includes("Increased Endurance Cost (x10 END; -4)")) { + testObject.powerReducedEND = "increasedENDx10"; + tempString = tempString.replace("Increased Endurance Cost (x10 END; -4)", ""); + } else if (endString == "") { + testObject.powerReducedEND = "noEND"; + } else if (endString == 0) { + testObject.powerReducedEND = "noEND"; + } else { + testObject.powerReducedEND = "standardEND"; + } + + testObject.testString = tempString; + + return testObject; + } + + + var findEffectType = function(tempString, script_name) { + // Search for and return effect keywords. + + const talentArray = ["absolute range sense", "absolute time sense", "ambidexterity", "animal friendship", "bump of direction", "combat luck", "combat sense", "danger sense", "deadly blow", "double jointed", "eidetic memory", "environmental movement", "lightning calculator", "lightning reflexes", "lightsleap", "off-hand defense", "perfect pitch", "resistance", "simulate death", "speed reading", "striking appearance", "universal translator", "weaponmaster"]; + const skillArray = ["overall"]; + const senseModifierArray = ["analyze", "concealed", "adjacent", "dimensional", "discriminatory", "increased arc", "microscopic", "penetrative", "range", "rapid", "telescopic", "tracking", "transmit"]; + + if ( (typeof tempString != "undefined") && (tempString != "") ) { + let lowerCaseString = tempString.toLowerCase(); + + if (lowerCaseString.includes("applied to str")) { + return "Base STR Mod"; + } else if (lowerCaseString.includes("range based on str") && lowerCaseString.includes("of hka")) { + return "HKA Mod"; + } else if (lowerCaseString.includes("applied to running")) { + return "Base Running Mod"; + } else if (lowerCaseString.includes("applied to leaping")) { + return "Base Leaping Mod"; + } else if (lowerCaseString.includes("applied to swimming")) { + return "Base Swimming Mod"; + } else if (lowerCaseString.includes("applied to pd")) { + return "Base PD Mod"; + } else if (lowerCaseString.includes("applied to ed")) { + return "Base ED Mod"; + } else if (tempString.includes("Absorption")) { + return "Absorption"; + } else if (tempString.includes("Aid")) { + return "Aid"; + } else if (tempString.includes("Automaton")) { + return "Automaton"; + } else if (tempString.includes("Barrier")) { + return "Barrier"; + } else if (tempString.includes("Mental Blast")) { + return "Mental Blast"; + } else if (tempString.includes("Blast")) { + return "Blast"; + } else if (tempString.includes("Change Environment")) { + return "Change Environment"; + } else if (tempString.includes("Clairsentience")) { + return "Clairsentience"; + } else if (tempString.includes("Clinging")) { + return "Clinging"; + } else if (tempString.includes("Damage Negation")) { + return "Damage Negation"; + } else if (tempString.includes("Damage Reduction")) { + return "Damage Reduction"; + } else if (tempString.includes("Darkness")) { + return "Darkness"; + } else if (tempString.includes("Deflection")) { + return "Deflection"; + } else if (tempString.includes("Density Increase")) { + return "Density Increase"; + } else if (tempString.includes("Desolidification")) { + return "Desolidification"; + } else if (tempString.includes("Dispel")) { + return "Dispel"; + } else if (tempString.includes("Does Not Bleed")) { + return "Does Not Bleed"; + } else if (tempString.includes("Drain")) { + return "Drain"; + } else if (tempString.includes("Duplication")) { + return "Duplication"; + } else if (tempString.includes("Enhanced Senses")) { + return "Enhanced Senses"; + } else if (tempString.includes("Endurance Reserve")) { + return "Endurance Reserve"; + } else if (tempString.includes("Extra Limb")) { + return "Extra Limb"; + } else if (tempString.includes("Extra-Dimensional Movement")) { + return "Extra-Dimensional Movement"; + } else if (tempString.includes("Faster-Than-Light-Travel")) { + return "Faster-Than-Light-Travel"; + } else if (tempString.includes("Resistant")) { + return "Resistant Protection"; + } else if (tempString.includes("Flash")) { + return "Flash"; + } else if (tempString.includes("Flash Defense")) { + return "Flash Defense"; + } else if (tempString.includes("Flight")) { + return "Flight"; + } else if (tempString.includes("Growth")) { + return "Growth"; + } else if (tempString.includes("Hand-To-Hand Attack")) { + return "HTH Attack"; + } else if (tempString.includes("Healing")) { + return "Healing"; + } else if (tempString.includes("Invisibility")) { + return "Invisibility"; + } else if (tempString.includes("Killing Attack - Hand-To-Hand")) { + return "HTH Killing Attack"; + } else if (tempString.includes("HKA")) { + return "HTH Killing Attack"; + } else if ( (tempString.includes("Images")) && !(lowerCaseString.includes("only to perceive images")) ) { + return "Images"; + } else if (tempString.includes("Killing Attack - Ranged")) { + return "Ranged Killing Attack"; + } else if (tempString.includes("RKA")) { + return "Ranged Killing Attack"; + } else if (tempString.includes("Knockback Resistance")) { + return "Knockback Resistance"; + } else if (tempString.includes("Leaping")) { + return "Leaping"; + } else if (tempString.includes("Life Support")) { + return "Life Support"; + } else if (tempString.includes("Luck")) { + return "Luck"; + } else if (tempString.includes("Transform")) { + return "Transform"; + } else if (tempString.includes("Mental Defense")) { + return "Mental Defense"; + } else if (tempString.includes("Mental Illusions")) { + return "Mental Illusions"; + } else if (tempString.includes("Mind Control")) { + return "Mind Control"; + } else if (tempString.includes("Mind Link")) { + return "Mind Link"; + } else if (tempString.includes("Mind Scan")) { + return "Mind Scan"; + } else if (tempString.includes("Multiform")) { + return "Multiform"; + } else if (tempString.includes("No Hit Locations")) { + return "No Hit Locations"; + } else if (tempString.includes("Possession")) { + return "Possession"; + } else if (tempString.includes("Power Defense")) { + return "Power Defense"; + } else if (tempString.includes("Reach")) { + return "Reach"; + } else if (tempString.includes("Reflection")) { + return "Reflection"; + } else if (tempString.includes("Regeneration")) { + return "Regeneration"; + } else if (tempString.includes("Running")) { + return "Running"; + } else if (tempString.includes("Shape Shift")) { + return "Shape Shift"; + } else if (tempString.includes("Shrinking")) { + return "Shrinking"; + } else if (tempString.includes("Stretching")) { + return "Stretching"; + } else if (tempString.includes("Summon")) { + return "Summon"; + } else if (tempString.includes("Swimming")) { + return "Swimming"; + } else if (tempString.includes("Swinging")) { + return "Swinging"; + } else if (tempString.includes("Takes No STUN")) { + return "Takes No STUN"; + } else if (tempString.includes("Telekinesis")) { + return "Telekinesis"; + } else if (tempString.includes("Telepathy")) { + return "Telepathy"; + } else if (tempString.includes("Teleportation")) { + return "Teleportation"; + } else if (tempString.includes("Tunneling")) { + return "Tunneling"; + } else if (tempString.includes("Active Sonar")) { + return "Active Sonar"; + } else if (tempString.includes("Detect")) { + return "Detect"; + } else if (tempString.includes("Enhanced Perception")) { + return "Enhanced PER"; + } else if ( (tempString.includes("High Range Radio")) || (tempString.includes("HRRP")) ) { + return "HR Radio PER"; + } else if (tempString.includes("Infrared Perception")) { + return "IR Perception"; + } else if (tempString.includes("IR Perception")) { + return "IR Perception"; + } else if (tempString.includes("Mental Awareness")) { + return "Mental Awareness"; + } else if (tempString.includes("Nightvision")) { + return "Nightvision"; + } else if (tempString.includes("Radar")) { + return "Radar"; + } else if (tempString.includes("Radio Perception/Transmission")) { + return "Radio PER/Trans"; + } else if (tempString.includes("Radio Perception")) { + return "Radio PER"; + } else if (tempString.includes("Spatial Awareness")) { + return "Spatial Awareness"; + } else if (tempString.includes("Tracking")) { + return "Enhanced Sense"; + } else if (tempString.includes("Ultrasonic Perception")) { + return "Ultrasonic PER"; + } else if (tempString.includes("Ultraviolet Perception")) { + return "UV Perception"; + } else if (skillArray.some(v => lowerCaseString.includes(v))) { + return "Skill"; + } else if (talentArray.some(v => lowerCaseString.includes(v))) { + return "Talent"; + } else if (senseModifierArray.some(v => lowerCaseString.includes(v))) { + return "Sense Modifier"; + } else if (tempString.includes("SPD")) { + return "Enhanced SPD"; + } else if (tempString.includes("PER")) { + return "Enhanced PER"; + } else if (tempString.includes("STR")) { + return "Enhanced STR"; + } else if (tempString.includes("CON")) { + return "Enhanced CON"; + } else if (tempString.includes("INT")) { + return "Enhanced INT"; + } else if (tempString.includes("EGO")) { + return "Enhanced EGO"; + } else if (tempString.includes("PRE")) { + return "Enhanced PRE"; + } else if (tempString.includes("OCV")) { + return "Enhanced OCV"; + } else if (tempString.includes("OMCV")) { + return "Enhanced OMCV"; + } else if (tempString.includes("DMCV")) { + return "Enhanced DMCV"; + } else if (tempString.includes("PD")) { + return "Enhanced PD"; + } else if (tempString.includes("ED")) { + return "Enhanced ED"; + } else if (tempString.includes("BODY")) { + return "Enhanced BODY"; + } else if (tempString.includes("STUN")) { + return "Enhanced STUN"; + } else if (tempString.includes("REC")) { + return "Enhanced REC"; + } else if (tempString.includes("DEX")) { + return "Enhanced DEX"; + } else if (lowerCaseString.includes("sight") || lowerCaseString.includes("hearing") || lowerCaseString.includes("smell") || lowerCaseString.includes("taste") || lowerCaseString.includes("touch") || lowerCaseString.includes("sense")) { + return "Enhanced PER"; + } else if (lowerCaseString.includes("eating") || lowerCaseString.includes("immunity") || lowerCaseString.includes("longevity") || lowerCaseString.includes("safe in") || lowerCaseString.includes("breathing") || lowerCaseString.includes("sleeping")) { + return "Life Support"; + } else if (tempString.includes("Entangle")) { + return "Entangle"; + } else if ( (lowerCaseString.includes("advantage")) || (lowerCaseString.includes("area of effect")) ) { + return "Naked Advantage"; + } else if (lowerCaseString.includes("worth of") || lowerCaseString.includes("powers") || lowerCaseString.includes("spells") || lowerCaseString.includes("abilities")) { + return "To Be Determined"; + } else if (tempString.includes("DCV")) { + return "Enhanced DCV"; + } else if (tempString.includes("END")) { + return "Enhanced END"; + } else { + return "Unknown Effect"; + } + } else { + return "Unknown Effect"; + } + } + + + var fixKnownSpellingErrors = function(theString, script_name) { + // Here we try to catch and correct important typos found in tested commercial sources. + // Add to typoList as needed. + + const typoList = [ + ["Restistant", "Resistant"] + ]; + + const iMax = 1; + let found = false; + let i = 0; + + if ( (typeof theString != "undefined") && (theString != "") ) { + while ( (i < iMax) && !found ) { + if (theString.includes(typoList[i][0])) { + theString = theString.replace(typoList[i][0], typoList[i][1]); + found = true; + } + + i++; + } + } + + return theString; + } + + + var isAttack = function (effect) { + // For setting the attack state. + const attackSet = new Set(["Blast", "Dispel", "Drain", "Entangle", "Flash", "Healing", "HTH Attack", "HTH Killing Attack", "Mental Blast", "Mental Illusions", "Mind Control", "Mind Link", "Mind Scan", "Ranged Killing Attack", "Telekinesis", "Telepathy", "Transform"]); + + return attackSet.has(effect) ? true : false; + } + + + var getResistantPD = function (inputString, script_name) { + // For Armor slot 4. + let protection = 0; + let startPosition = 0; + let endPosition = 0; + let tempString = inputString; + + if (inputString.includes("PD/")) { + endPosition = inputString.indexOf("PD/"); + tempString = inputString.slice(endPosition-Math.min(4,endPosition), endPosition); + tempString = tempString.replace(/[^0-9]/g, ""); + protection = (tempString !== "") ? Number(tempString) : 0; + protection = isNaN(protection) ? 0 : protection; + } else if (inputString.includes("PD")) { + endPosition = inputString.indexOf("PD"); + tempString = inputString.slice(endPosition-Math.min(4,endPosition), endPosition); + tempString = tempString.replace(/[^0-9]/g, ""); + protection = (tempString !== "") ? Number(tempString) : 0; + protection = isNaN(protection) ? 0 : protection; + } else { + protection = 0; + } + + return protection; + } + + + var getResistantED = function (inputString, script_name) { + // For Armor slot 4. + let protection = 0; + let startPosition = 0; + let endPosition = 0; + let tempString = inputString; + + if (inputString.includes("PD/ED")) { + endPosition = inputString.indexOf("PD/ED"); + tempString = inputString.slice(endPosition-Math.min(3, endPosition), endPosition); + tempString = tempString.replace(/[^0-9]/g, ""); + protection = (tempString !== "") ? Number(tempString) : 0; + protection = isNaN(protection) ? 0 : protection; + } else if (inputString.includes("PD/")) { + if (inputString.includes("ED")) { + endPosition = inputString.indexOf("ED"); + tempString = inputString.slice(endPosition-Math.min(4,endPosition), endPosition); + tempString = tempString.replace(/[^0-9]/g, ""); + protection = (tempString !== "") ? Number(tempString) : 0; + protection = isNaN(protection) ? 0 : protection; + } else if (inputString.includes("ED/")) { + endPosition = inputString.indexOf("ED/"); + tempString = inputString.slice(endPosition-Math.min(4,endPosition), endPosition); + tempString = tempString.replace(/[^0-9]/g, ""); + protection = (tempString !== "") ? Number(tempString) : 0; + protection = isNaN(protection) ? 0 : protection; + } + } else if (inputString.includes("ED")) { + endPosition = inputString.indexOf("ED"); + tempString = inputString.slice(endPosition-Math.min(4,endPosition), endPosition); + tempString = tempString.replace(/[^0-9]/g, ""); + protection = (tempString !== "") ? Number(tempString) : 0; + protection = isNaN(protection) ? 0 : protection; + } else { + protection = 0; + } + + return protection; + } + + + var getPowerDamageType = function (effect) { + // For setting the attack state. + const killingSet = new Set(["HTH Killing Attack", "Ranged Killing Attack"]); + const normalSet = new Set(["Blast", "HTH Attack"]); + const mentalSet = new Set(["Mental Blast", "Mental Illusions", "Mind Control", "Mind Link", "Mind Scan", "Telepathy"]); + let damageType = null; + + if (killingSet.has(effect)) { + damageType = "killing"; + } else if (mentalSet.has(effect)) { + damageType = "mental"; + } else if (normalSet.has(effect)) { + damageType = "normal"; + } else { + damageType = "power"; + } + + return damageType; + } + + + var getPowerBaseCost = function(character, base, effect, text, bonus, option, script_name) { + // For ordinary powers, this function simply returns the imported base cost. + // For stat modification powers, this function assigns a base cost determined from the characteristic + // and also awards those points as bonus points so that the character is not charged twice. + // For 'to be determined' powers the function attempts to parse the base cost from the power's text. + + let powerBaseCost = parseInt(base); + let bonusCP = parseInt(bonus); + let slicePosition = 0; + let tempValue = 0; + let tempString = ""; + + if (effect === "Base STR Mod") { + powerBaseCost = parseInt(character.strength); + bonusCP = bonusCP + powerBaseCost; + } else if (effect === "Base Running Mod") { + powerBaseCost = parseInt(character.running); + bonusCP = bonusCP + powerBaseCost; + } else if (effect === "Base Leaping Mod") { + powerBaseCost = parseInt(Math.round(character.leaping/2)); + bonusCP = bonusCP + powerBaseCost; + } else if (effect === "Base Swimming Mod") { + powerBaseCost = parseInt(Math.round(character.swimming/2)); + bonusCP = bonusCP + powerBaseCost; + } else if (effect === "Base Defense Mod") { + if (option === "on") { + // Determine pd cost. If character has takes No STUN triple cost over the base 2. + if ((option === "on") && (character.pd > 1)) { + powerBaseCost = parseInt(1 + (character.pd - 1)*3); + bonusCP = bonusCP + powerBaseCost; + } else { + powerBaseCost = parseInt(character.pd*1); + bonusCP = bonusCP + powerBaseCost; + } + + // Add ed cost. If character has takes No STUN triple cost over the base 2. + if ((option === "on") && (character.ed > 1)) { + powerBaseCost = powerBaseCost + parseInt(1 + (character.ed - 1)*3); + bonusCP = bonusCP + powerBaseCost; + } else { + powerBaseCost = powerBaseCost + parseInt(character.ed*1); + bonusCP = bonusCP + powerBaseCost; + } + } else { + powerBaseCost = parseInt(character.pd*1) + parseInt(character.ed*1); + bonusCP = bonusCP + powerBaseCost; + } + } else if (effect === "Base PD Mod") { + // If character has takes No STUN triple cost over the base 2. + if ((option === "on") && (character.pd > 1)) { + powerBaseCost = parseInt(1 + (character.pd - 1)*3); + bonusCP = bonusCP + powerBaseCost; + } else { + powerBaseCost = parseInt(character.pd*1); + bonusCP = bonusCP + powerBaseCost; + } + } else if (effect === "Base ED Mod") { + // If character has takes No STUN triple cost over the base 2. + if ((option === "on") && (character.ed > 1)) { + powerBaseCost = parseInt(1 + (character.ed - 1)*3); + bonusCP = bonusCP + powerBaseCost; + } else { + powerBaseCost = parseInt(character.ed*1); + bonusCP = bonusCP + powerBaseCost; + } + } else if (effect === "Endurance Reserve") { + // Special cost due to separate END and REC purchases. + slicePosition = text.indexOf("END"); + tempString = text.slice(Math.max(0, slicePosition-7), slicePosition); + + tempValue = tempString.replace(/[^0-9\-]/g, ''); + if (tempValue === "") { + tempValue = 0; + } + powerBaseCost = Math.round(tempValue/4); + + slicePosition = text.indexOf("REC"); + tempString = text.slice(Math.max(0, slicePosition-6), slicePosition); + + tempValue = tempString.replace(/[^0-9\-]/g, ''); + if (tempValue === "") { + tempValue = 0; + } + powerBaseCost += Math.round(2 * tempValue/3); + } else if (effect === "To Be Determined") { + // Workaround for when sometimes points reported as base are incorrect. + if ((text.match(/^\d+|\d+\b|\d+(?=\w)/g) !== null) && (text.match(/^\d+|\d+\b|\d+(?=\w)/g) !== "")) { + powerBaseCost = text.match(/^\d+|\d+\b|\d+(?=\w)/g)[0]; + } else { + // If the array came up empty, default to base cost. + powerBaseCost = parseInt(base); + } + } + + if (bonus != bonusCP) { + if(verbose) { + sendChat(script_name, JSON.stringify(bonusCP - bonus) + " CP added to Bonus."); + } + } + + return [powerBaseCost, bonusCP]; + } + + + var findAdvantages = function(tempString) { + // Determine total limitations. This will take some doing. + + let advantages = 0; + + // Find half-integers. Replace larger ones first. + advantages = advantages + ((tempString.match(/\+5 1\/2\)/g) || []).length)*5.5; + tempString = tempString.replace("+5 1/2)",""); + advantages = advantages + ((tempString.match(/\+4 1\/2\)/g) || []).length)*4.5; + tempString = tempString.replace("+4 1/2)",""); + advantages = advantages + ((tempString.match(/\+3 1\/2\)/g) || []).length)*3.5; + tempString = tempString.replace("+3 1/2)",""); + advantages = advantages + ((tempString.match(/\+2 1\/2\)/g) || []).length)*2.5; + tempString = tempString.replace("+2 1/2)",""); + advantages = advantages + ((tempString.match(/\+1 1\/2\)/g) || []).length)*1.5; + tempString = tempString.replace("+1 1/2)",""); + advantages = advantages + ((tempString.match(/\+1\/2\)/g) || []).length)*0.5; + tempString = tempString.replace("+1/2)",""); + + // Find three-quarter integers. Replace larger ones first. + advantages = advantages + ((tempString.match(/\+5 3\/4\)/g) || []).length)*5.75; + tempString = tempString.replace("+5 3/4)",""); + advantages = advantages + ((tempString.match(/\+4 3\/4\)/g) || []).length)*4.75; + tempString = tempString.replace("+4 3/4)",""); + advantages = advantages + ((tempString.match(/\+3 3\/4\)/g) || []).length)*3.75; + tempString = tempString.replace("+3 3/4)",""); + advantages = advantages + ((tempString.match(/\+2 3\/4\)/g) || []).length)*2.75; + tempString = tempString.replace("+2 3/4)",""); + advantages = advantages + ((tempString.match(/\+1 3\/4\)/g) || []).length)*1.75; + tempString = tempString.replace("+1 3/4)",""); + advantages = advantages + ((tempString.match(/\+3\/4\)/g) || []).length)*0.75; + tempString = tempString.replace("+3/4)",""); + + // Find quarter integers. Replace larger ones first. + advantages = advantages + ((tempString.match(/\+5 1\/4\)/g) || []).length)*5.25; + tempString = tempString.replace("+5 1/4)",""); + advantages = advantages + ((tempString.match(/\+4 1\/4\)/g) || []).length)*4.25; + tempString = tempString.replace("+4 1/4)",""); + advantages = advantages + ((tempString.match(/\+3 1\/4\)/g) || []).length)*3.25; + tempString = tempString.replace("+3 1/4)",""); + advantages = advantages + ((tempString.match(/\+2 1\/4\)/g) || []).length)*2.25; + tempString = tempString.replace("+2 1/4)",""); + advantages = advantages + ((tempString.match(/\+1 1\/4\)/g) || []).length)*1.25; + tempString = tempString.replace("+1 1/4)",""); + advantages = advantages + ((tempString.match(/\+1\/4\)/g) || []).length)*0.25; + tempString = tempString.replace("+1/4)",""); + + // Find whole integers. Replace larger ones first. + advantages = advantages + ((tempString.match(/\+6\)/g) || []).length)*6; + tempString = tempString.replace("+6)",""); + advantages = advantages + ((tempString.match(/\+5\)/g) || []).length)*5; + tempString = tempString.replace("+5)",""); + advantages = advantages + ((tempString.match(/\+4\)/g) || []).length)*4; + tempString = tempString.replace("+4)",""); + advantages = advantages + ((tempString.match(/\+3\)/g) || []).length)*3; + tempString = tempString.replace("+3)",""); + advantages = advantages + ((tempString.match(/\+2\)/g) || []).length)*2; + tempString = tempString.replace("+2)",""); + advantages = advantages + ((tempString.match(/\+1\)/g) || []).length)*1; + tempString = tempString.replace("+1)",""); + + return advantages; + } + + var findLimitations = function(tempString) { + // Determine total limitations. This will take some doing. + + let limitations = 0; + + // Find half-integers. Replace larger ones first. + limitations = limitations + ((tempString.match(/-5 1\/2\)/g) || []).length)*5.5; + tempString = tempString.replace("-5 1/2)",""); + limitations = limitations + ((tempString.match(/-4 1\/2\)/g) || []).length)*4.5; + tempString = tempString.replace("-4 1/2)",""); + limitations = limitations + ((tempString.match(/-3 1\/2\)/g) || []).length)*3.5; + tempString = tempString.replace("-3 1/2)",""); + limitations = limitations + ((tempString.match(/-2 1\/2\)/g) || []).length)*2.5; + tempString = tempString.replace("-2 1/2)",""); + limitations = limitations + ((tempString.match(/-1 1\/2\)/g) || []).length)*1.5; + tempString = tempString.replace("-1 1/2)",""); + limitations = limitations + ((tempString.match(/-1\/2\)/g) || []).length)*0.5; + tempString = tempString.replace("-1/2)",""); + + // Find three-quarter integers. Replace larger ones first. + limitations = limitations + ((tempString.match(/-5 3\/4\)/g) || []).length)*5.75; + tempString = tempString.replace("-5 3/4)",""); + limitations = limitations + ((tempString.match(/-4 3\/4\)/g) || []).length)*4.75; + tempString = tempString.replace("-4 3/4)",""); + limitations = limitations + ((tempString.match(/-3 3\/4\)/g) || []).length)*3.75; + tempString = tempString.replace("-3 3/4)",""); + limitations = limitations + ((tempString.match(/-2 3\/4\)/g) || []).length)*2.75; + tempString = tempString.replace("-2 3/4)",""); + limitations = limitations + ((tempString.match(/-1 3\/4\)/g) || []).length)*1.75; + tempString = tempString.replace("-1 3/4)",""); + limitations = limitations + ((tempString.match(/-3\/4\)/g) || []).length)*0.75; + tempString = tempString.replace("-3/4)",""); + + // Find quarter integers. Replace larger ones first. + limitations = limitations + ((tempString.match(/-5 1\/4\)/g) || []).length)*5.25; + tempString = tempString.replace("-5 1/4)",""); + limitations = limitations + ((tempString.match(/-4 1\/4\)/g) || []).length)*4.25; + tempString = tempString.replace("-4 1/4)",""); + limitations = limitations + ((tempString.match(/-3 1\/4\)/g) || []).length)*3.25; + tempString = tempString.replace("-3 1/4)",""); + limitations = limitations + ((tempString.match(/-2 1\/4\)/g) || []).length)*2.25; + tempString = tempString.replace("-2 1/4)",""); + limitations = limitations + ((tempString.match(/-1 1\/4\)/g) || []).length)*1.25; + tempString = tempString.replace("-1 1/4)",""); + limitations = limitations + ((tempString.match(/-1\/4\)/g) || []).length)*0.25; + tempString = tempString.replace("-1/4)",""); + + // Find whole integers. Replace larger ones first. + limitations = limitations + ((tempString.match(/-6\)/g) || []).length)*6; + tempString = tempString.replace("-6)",""); + limitations = limitations + ((tempString.match(/-5\)/g) || []).length)*5; + tempString = tempString.replace("-5)",""); + limitations = limitations + ((tempString.match(/-4\)/g) || []).length)*4; + tempString = tempString.replace("-4)",""); + limitations = limitations + ((tempString.match(/-3\)/g) || []).length)*3; + tempString = tempString.replace("-3)",""); + limitations = limitations + ((tempString.match(/-2\)/g) || []).length)*2; + tempString = tempString.replace("-2)",""); + limitations = limitations + ((tempString.match(/-1\)/g) || []).length)*1; + tempString = tempString.replace("-1)",""); + + return limitations; + } + + + var isAoE = function(inputString) { + // Search advantages for any that indicate an Area of Effect power. + // Written so as to be able to look for more than just "area" but this may be enough. + inputString = inputString.replace(/\W/g, " "); + inputString = inputString.toLowerCase(); + + const searchSet = new Set(["area"]); + let setOfWords = new Set(inputString.split(" ")); + let intersection = new Set([...setOfWords].filter(x => searchSet.has(x))); + let answer = false; + + if (intersection.size != 0) { + answer = true; + } + + return answer; + } + + + var requiresRoll = function(inputString) { + // Determine if the power as an activation roll and find it if it is simple. + let lowerCaseString = inputString.toLowerCase(); + let detailString; + let startPosition; + let endPosition; + let answer = false; + let value = 18; + let searchSet = new Set(["skill", "characteristic", "ps", "ks", "ss", "attack", "per"]); + let setOfWords; + let intersection; + + if (lowerCaseString.includes("requires a roll")) { + + answer = true; + + // Attempt to obtain the skill roll needed if it is a simple activation roll. The others + // would require guesses, which means we need to leave the decision to the players. + + startPosition = lowerCaseString.indexOf("requires a roll"); + startPosition = lowerCaseString.indexOf("(", startPosition); + endPosition = lowerCaseString.indexOf(")", startPosition); + detailString = lowerCaseString.slice(startPosition, endPosition); + setOfWords = new Set((detailString.replace(/\W/g, " ").split(" "))); + intersection = new Set([...setOfWords].filter(x => searchSet.has(x))); + + if (intersection.size === 0) { + endPosition = detailString.indexOf("-", 0); + value = detailString.slice(0, endPosition); + value = value.replace(/\D/g, ''); + if (value.length !== 0) { + value = Number(value); + } + } + } + + return { + "hasRoll": answer, + "skillRoll": value + } + } + + + var reducedDCV = function(inputString) { + // Search for the Concentration limitation. + inputString = inputString.toLowerCase(); + let answer; + + if (inputString.includes("0 dcv")) { + answer = "zero"; + } else if (inputString.includes("1/2 dcv")) { + answer = "half"; + } else { + answer = "full"; + } + + return answer; + } + + + var reducedRMod = function(inputString) { + // Search for half or zero range modifier advantages. + inputString = inputString.toLowerCase(); + let answer; + + if (inputString.includes("no range modifier")) { + answer = "zero"; + } else if (inputString.includes("half range modifier")) { + answer = "half"; + } else { + answer = "STD"; + } + + return answer; + } + + + var modifiedSTUNx = function(inputString) { + // Search for a STUNx multiplier. + inputString = inputString.toLowerCase(); + let answer; + + if (inputString.includes("-2 decreased stun multiplier")) { + answer = "-2"; + } else if (inputString.includes("-1 decreased stun multiplier")) { + answer = "-1"; + } else if (inputString.includes("+1 increased stun multiplier")) { + answer = "1"; + } else if (inputString.includes("+2 increased stun multiplier")) { + answer = "2"; + } else { + answer = "0"; + } + + return answer; + } + + + var getWeaponStrMin = function (weaponString, script_name) { + // Parse weapon text and look for one of three strings used + // by Hero Designer to record a weapon strength minimum. + let strengthMin = 0; + let strengthString; + let startParenthesis; + let endParenthesis; + let valueString; + let defaultStrength = 0; + + if (weaponString !== "") { + if (weaponString.includes("STR Minimum")) { + tempPosition = weaponString.indexOf("STR Minimum"); + startParenthesis = weaponString.indexOf("(", tempPosition + 11); + endParenthesis = weaponString.indexOf(")", tempPosition + 11); + strengthString = weaponString.slice(tempPosition + 11, startParenthesis); + + // Get the limitation value in case no strength is available. + valueString = weaponString.slice(startParenthesis+1, endParenthesis); + valueString = valueString.replace(/\s/g, ""); + + switch(valueString) { + case "-1/4": + defaultStrength = 4; + break; + case "-1/2": + defaultStrength = 9; + break; + case "-3/4": + defaultStrength = 14; + break; + case "-1": + defaultStrength = 19; + break; + default: + defaultStrength = 1; + } + + // Check to see if a strength range is used: + if (strengthString.includes("-")) { + tempPosition = strengthString.indexOf("-"); + strengthString = strengthString.substring(0, tempPosition); + } + + strengthMin = parseInt(strengthString.replace(/\D/g, ""))||defaultStrength; + + } else if (weaponString.includes("STR Min")) { + tempPosition = weaponString.indexOf("STR Min"); + startParenthesis = weaponString.indexOf("(", tempPosition + 8); + endParenthesis = weaponString.indexOf(")", tempPosition + 8); + strengthString = weaponString.slice(tempPosition + 8, startParenthesis); + + // Get the limitation value in case no strength is available. + valueString = weaponString.slice(startParenthesis+1, endParenthesis); + valueString = valueString.replace(/\s/g, ""); + + switch(valueString) { + case "-1/4": + defaultStrength = 4; + break; + case "-1/2": + defaultStrength = 9; + break; + case "-3/4": + defaultStrength = 14; + break; + case "-1": + defaultStrength = 19; + break; + default: + defaultStrength = 1; + } + + // Check to see if a strength range is used: + if (strengthString.includes("-")) { + tempPosition = strengthString.indexOf("-"); + strengthString = strengthString.substring(0, tempPosition); + } + + strengthMin = parseInt(strengthString.replace(/\D/g, ""))||defaultStrength; + + } else { + strengthMin = 0; + } + } else { + strengthMin = 0; + } + + return strengthMin; + } + + + var getWeaponRange = function (rangeString, strength, mass, script_name) { + // Parses range string for numeric characters. + // If "var" is found, calls the range based strength function "calculateRange". + + let range = 0; + + if (rangeString !== "") { + if (rangeString.includes("var")) { + range = calculateRange(strength, mass); + } else { + range = parseInt(rangeString.replace(/[^\d.-]/g, "")); + } + } else { + range = 0; + } + + return range; + } + + + var getWeaponStrength = function (strengthMin, strengthMax, script_name) { + // Returns STR in increments of 5 above strengthMin up to strengthMax. + + let differenceDC = 0; + let strength = strengthMax; + + if (strengthMax >= strengthMin) { + differenceDC = Math.floor( (strengthMax - strengthMin)/5 ); + strength = strengthMin + 5 * differenceDC; + } + + return strength; + } + + + var getPowerDamage = function (damageString, effect, strength, script_name) { + // Parses damageString for damage dice. + + let damage = "0"; + let DC = 0; + let strDC = Math.floor(strength/5); + let halfDie = (((strength % 5) === 3) || ((strength % 5) === 4)) ? true : false; + let lastIndex = 0; + let detailString; + let startPosition; + let endPosition; + var diceSet = new Set(["Aid", "Blast", "Dispel", "Drain", "Entangle", "Flash", "HTH Attack", "HTH Killing Attack", "Ranged Killing Attack", "Healing", "Luck", "Mental Blast", "Mental Illusions", "Mind Control", "Mind Scan", "Transform", "Telepathy"]); + + if (diceSet.has(effect)) { + if (damageString.includes("standard effect")) { + startPosition = damageString.indexOf("standard effect"); + endPosition = damageString.indexOf(")", startPosition); + detailString = damageString.slice(startPosition+16, endPosition); + damage = detailString; + } else { + if ((damageString.match(/d6/g) || []).length > 1) { + damageString = damageString.replace("d6", "d6+"); + lastIndex = damageString.lastIndexOf("d6+"); + damageString = damageString.substring(0, lastIndex) + "d6" + damageString.substring(lastIndex + 2); + } + + // Sometimes the damage string contains extra bits after a comma. Drop them. + if (damageString.includes(",")) { + damageString = damageString.split(",")[0]; + } + + // Look for (xd6 w/STR) and use that. + if (damageString.includes(" w/STR")) { + damageString = damageString.match(/\(([^)]*)\)/)[1]; + damageString = damageString.replace(" w/STR", ""); + damageString = damageString.trim(); + } else if (effect === "HTH Attack") { + endPosition = damageString.indexOf("d"); + detailString = damageString.substring(0,endPosition); + DC = parseInt(detailString.replace(/[^0-9]/g, ""))||0; + DC += strDC; + damageString = DC.toString() + "d6"; + damageString += halfDie ? "+d3" : ""; + } + + // Make sure the 1/2d6 is a 1d3. + if (damageString.includes(" 1/2d6")) { + damage = damageString.replace(" 1/2d6", "d6+d3"); + } else if (damageString.includes("1/2d6")) { + damage = damageString.replace("1/2d6", "d3"); + } else { + damage = damageString; + } + } + } else { + damage = "0"; + } + + return damage; + } + + + var getCharacteristicMod = function (inputString, searchString, script_name) { + let charMod = 0; + let lastIndex = 0; + let detailString = ""; + let startPosition = 0; + let endPosition = 0; + let lowerCaseString = inputString.toLowerCase(); + + const specialArray = ["real weapon", "only works", "only for", "only to", "only applies", "only when", "attacks", "requires a roll", "for up to"]; + var leadingSet = new Set(["STR", "DEX", "CON", "INT", "EGO", "PRE", "OCV", "DCV", "OMCV", "DMCV", "PD", "ED", "BODY", "STUN", "END", "REC", "PER"]); + var trailingSet = new Set(["Running", "Leaping", "Swimming", "Flight"]); + + if (specialArray.some(v => lowerCaseString.includes(v))) { + // We don't want to add overall modifications for special cases. + charMod = 0; + } else if (leadingSet.has(searchString)) { + endPosition = inputString.indexOf(searchString); + detailString = inputString.slice(0, endPosition); + startPosition = detailString.includes("+") ? detailString.indexOf("+") : 0; + detailString = detailString.slice(startPosition, endPosition); + charMod = detailString.replace(/[^0-9\-]/g, ''); + if (charMod === "") { + charMod = 0; + } + } else if (trailingSet.has(searchString)) { + startPosition = inputString.indexOf(searchString); + detailString = inputString.slice(startPosition + searchString.length); + endPosition = detailString.includes("m") ? detailString.indexOf("m") : detailString.length; + detailString = detailString.slice(startPosition, endPosition); + charMod = detailString.replace(/[^0-9\-]/g, ''); + if (charMod === "") { + charMod = 0; + } + } else { + charMod = 0; + } + + if (verbose) { + sendChat(script_name, "Applied characteristic mod " + searchString + " + " + charMod.toString()); + } + + // Make sure we don't return something nasty. + return isNaN(charMod) ? 0 : Math.max(-99, Math.min( (parseInt(charMod)||0), 99)); + } + + + var getGrowthMod = function (inputString, searchString, script_name) { + let charMod = 0; + let lastIndex = 0; + let detailString = ""; + let startPosition; + let lowerCaseString = inputString.toLowerCase(); + + const specialArray = ["real weapon", "only works", "only for", "only to", "only applies", "only when", "requires a roll", "for up to"]; + var leadingSet = new Set(["STR", "DEX", "CON", "INT", "EGO", "PRE", "OCV", "DCV", "OMCV", "DMCV", "PD", "ED", "BODY", "STUN", "END", "REC", "PER","Running", "Leaping", "Swimming", "Flight"]); + + if (specialArray.some(v => lowerCaseString.includes(v))) { + // We don't want to add overall modifications for special cases. + charMod = 0; + } else if (leadingSet.has(searchString)) { + endPosition = inputString.indexOf(searchString); + detailString = inputString.slice(0, endPosition); + startPosition = detailString.includes("+") ? detailString.indexOf("+") : 0; + detailString = detailString.slice(startPosition, endPosition); + charMod = detailString.replace(/[^0-9\-]/g, ''); + if (charMod === "") { + charMod = 0; + } + } else { + charMod = 0; + } + + return Math.max(-99, Math.min( (parseInt(charMod)||0), 99)); + } + + + var getWeaponDamage = function (damageString, script_name) { + // Parses damageString for damage dice. + + let damage = "0"; + let lastIndex = 0; + let detailString; + let startPosition; + let endPosition; + + if (damageString.includes("standard effect")) { + startPosition = damageString.indexOf("standard effect"); + endPosition = damageString.indexOf(")", startPosition); + detailString = damageString.slice(startPosition+16, endPosition); + damage = detailString; + } else { + // Remove dice in w/STR since we'll calculated it. + if (damageString.includes(" w/STR")) { + damageString = damageString.replace(/\([^()]*\)/g, ""); + } + + // Separate joined dice if present. + if ((damageString.match(/d6/g) || []).length > 1) { + damageString = damageString.replace("d6", "d6+"); + lastIndex = damageString.lastIndexOf("d6+"); + damageString = damageString.substring(0, lastIndex) + "d6" + damageString.substring(lastIndex + 2); + } + + // Make sure the 1/2d6 is a 1d3. + if (damageString.includes(" 1/2d6")) { + damage = damageString.replace(" 1/2d6", "d6+d3"); + } else if (damageString.includes("1/2d6")) { + damage = damageString.replace("1/2d6", "d3"); + } else { + damage = damageString; + } + } + + return damage; + } + + + var checkDamageBySTR = function (damageString, script_name) { + damageBySTR = false; + + if (damageString.includes(" w/STR")) { + damageBySTR = true; + } + + return damageBySTR; + } + + + var getArmorLocations = function (inputString, script_name) { + let locations = ""; + let startPosition = 0; + let endPosition = 0; + + inputString = inputString.toLowerCase(); + + if (inputString.includes("location")) { + startPosition = inputString.indexOf("location"); + locations = inputString.slice(startPosition); + if (locations.includes(';')) { + endPosition = locations.indexOf(';'); + locations = locations.slice(0,endPosition); + } else if (locations.includes(')')) { + endPosition = locations.indexOf(')'); + locations = locations.slice(0,endPosition); + } else { + endPosition = Math.min(28, locations.length); + locations = locations.slice(0,endPosition); + } + locations = locations.replace(/[^\d,-]/g, ""); + if (locations.includes(',')) { + locations = locations.replace(',', ", "); + } + } else if (inputString.includes("loc")) { + startPosition = inputString.indexOf("loc"); + locations = inputString.slice(startPosition); + if (locations.includes(';')) { + endPosition = locations.indexOf(';'); + locations = locations.slice(0,endPosition); + } else if (locations.includes(')')) { + endPosition = locations.indexOf(')'); + locations = locations.slice(0,endPosition); + } else { + endPosition = Math.min(11, locations.length); + locations = locations.slice(0,endPosition); + } + locations = locations.replace(/[^\d,-]/g, ""); + if (locations.includes(',')) { + locations = locations.replace(',', ", "); + } + } + + return locations.trim(); + } + + + var getArmorEND = function (inputString, script_name) { + let tempString = ""; + let endurance = 0; + let startPosition = 0; + let endPosition = 0; + + inputString = inputString.toLowerCase(); + + if (inputString.includes("end/turn:")) { + startPosition = inputString.indexOf("end/turn:") + 9; + endPosition = Math.min(inputString.length, startPosition + 2); + tempString = inputString.slice(startPosition, endPosition); + endurance = parseInt(tempString.replace(/[^\d]/g, ""))||0; + } else if (inputString.includes("end/turn")) { + endPosition = inputString.indexOf("end/turn"); + startPosition = Math.max(0, endPosition - 2); + tempString = inputString.slice(startPosition, endPosition); + endurance = parseInt(tempString.replace(/[^\d]/g, ""))||0; + } else { + endurance = 0; + } + + return endurance; + } + + + var findDamageAdvantages = function (weaponString, script_name) { + // See 6E2 98 for a list of advantages that affect weapon damage. + let advantage = 0; + let temp = 0; + let searchString = ""; + + weaponString = weaponString.toLowerCase(); + + searchString = "area of effect"; + advantage += getSingleAdvantage (weaponString, searchString); + + searchString = "armor piercing"; + advantage += getSingleAdvantage (weaponString, searchString); + + searchString = "autofire"; + advantage += getSingleAdvantage (weaponString, searchString); + + searchString = "attack versus alternate defense"; + advantage += getSingleAdvantage (weaponString, searchString); + + searchString = "boostable"; + advantage += getSingleAdvantage (weaponString, searchString); + + if (weaponString.includes("constant")) { + advantage += 0.5; + } + + searchString = "cumulative"; + advantage += getSingleAdvantage (weaponString, searchString); + + searchString = "damage over time"; + advantage += getSingleAdvantage (weaponString, searchString); + + if (weaponString.includes("does body")) { + advantage += 1; + } + + if (weaponString.includes("does knockback")) { + advantage += 0.25; + } + + if (weaponString.includes("double knockback")) { + advantage += 0.5; + } + + if (weaponString.includes("+1 increased stun multiplier")) { + advantage += 0.25; + } else if (weaponString.includes("+2 increased stun multiplier")) { + advantage += 0.50; + } + + searchString = "penetrating"; + advantage += getSingleAdvantage (weaponString, searchString); + + // Check for the ranged advantage. + if (weaponString.includes("range based on str (+1/4)")) { + advantage += 0.25; + } else if (weaponString.includes("ranged (+1/2)")) { + advantage += 0.50; + } + + if (weaponString.includes("sticky")) { + advantage += 0.5; + } + + searchString = "time limit"; + advantage += getSingleAdvantage (weaponString, searchString); + + searchString = "transdimensional"; + advantage += getSingleAdvantage (weaponString, searchString); + + searchString = "trigger"; + advantage += getSingleAdvantage (weaponString, searchString); + + if (weaponString.includes("uncontrolled")) { + advantage += 0.5; + } + + searchString = "variable advantage"; + advantage += getSingleAdvantage (weaponString, searchString); + + searchString = "variable special effects"; + advantage += getSingleAdvantage (weaponString, searchString); + + return advantage; + } + + var getSingleAdvantage = function(weaponString, searchString) { + let advantage = 0; + + if (weaponString.includes(searchString)) { + searchString = weaponString.slice(weaponString.indexOf(searchString) + searchString.length); + searchString = searchString.match(/\(([^)]+)\)/)[0]; + + advantage = findAdvantages(searchString); + + if (advantage < 0) { + advantage = 0; + } + } + + return advantage; + } + + + var calculateRange = function(strength, mass) { + // Determines range based on strength. + let liftCapability; + let freeCapability; + let effectiveStrength; + let range; + + // First calculate carrying capacity. + switch (strength) { + case 0: liftCapability = 0; + break; + case 1: liftCapability = 8; + break; + case 2: liftCapability = 16; + break; + case 3: liftCapability = 25; + break; + case 4: liftCapability = 38; + break; + default: liftCapability=Math.round(25*Math.pow(2,(strength/5))); + } + + // Subtract the thrown weight from capacity. + freeCapability = liftCapability-mass; + + // Determine unused strength and calculate range. + if (freeCapability <= 0) { + range = 0; + } else { + if (freeCapability <= 8) { + effectiveStrength = 1; + range = 2; + } else if (freeCapability <= 16) { + effectiveStrength = 2; + range = 3; + } else if (freeCapability <= 25) { + effectiveStrength = 3; + range = 4; + } else if (freeCapability <= 38) { + effectiveStrength = 4; + range = 6; + } else { + effectiveStrength = 5 * Math.log2(freeCapability/25); + range = Math.round(8 * effectiveStrength/5); + } + } + + return parseInt(Math.round(range)); + } + + + var getItemMass = function(massString, script_name) { + // Remove units from mass and round to one decimal. + let mass = 0; + + if (massString !== "") { + massString = parseFloat(massString.replace(/[^\d.-]/g, "")); + mass = Math.round(10*massString)/10; + } + + return mass; + } + + + var getStunModifier = function(itemString, script_name) { + // Parse string for STUN multiple. + let stunModifier = 0; + let tempPosition; + + if ((typeof itemString !== "undefined") && (itemString.length !== 0)) { + if (itemString.includes("Increased STUN Multiplier")) { + tempPosition = itemString.indexOf("Increased STUN Multiplier"); + stunModifier = parseInt(itemString.substr(tempPosition-3, 2)); + } else if (itemString.includes("Decreased STUN Multiplier")) { + tempPosition = itemString.indexOf("Decreased STUN Multiplier"); + stunModifier = parseInt(itemString.substr(tempPosition-3, 2)); + } + } + + return stunModifier; + } + + + var getOCVmodifier = function(weaponString, script_name) { + // Parse weapon string for OCV modifier or penalty. + let ocvModifier = 0; + let tempPosition; + let subString; + + // First, remove Range Modifier OCV if present. + weaponString = weaponString.replace("OCV modifier",""); + + // Then search for OCV bonus. + if ((weaponString !== "") && (weaponString.includes("OCV"))) { + tempPosition = weaponString.indexOf("OCV"); + subString = weaponString.slice(0, tempPosition); + + // If there is a modifier before the OCV entry, drop characters up to that point. + if (subString.includes(")")) { + tempPosition = subString.lastIndexOf(")"); + subString = subString.substr(tempPosition); + } + + subString = subString.replace(/[^\d-]/g, ""); + ocvModifier = parseInt(subString); + } + + return ocvModifier; + } + + + var heroRoundUp = function(numerator, denominator) { + + if (denominator > 0) { + const intermediate = numerator/denominator; + const remainder = Math.floor((numerator % denominator)*10)/10; + + if (remainder < 0.5) { + return Math.floor(intermediate); + } else { + return Math.ceil(intermediate); + } + } + + // Error. Return unmodified value. + return numerator; + } + + + var heroRoundDown = function(numerator, denominator) { + + if (denominator > 0) { + const intermediate = numerator/denominator; + const remainder = Math.floor((numerator % denominator)*10)/10; + + if (remainder < 0.6) { + return Math.floor(intermediate); + } else { + return Math.ceil(intermediate); + } + } + + // Error. Return unmodified value. + return numerator; + } + + +/* **************************************** */ +/* *** END Importing Functions *** */ +/* **************************************** */ + + // TEST + const createSingleWriteQueue = (attributes) => { + // this is the list of trigger attributes that will trigger class recalculation, as of 5e OGL 2.5 October 2018 + // (see on... handler that calls update_class in sheet html) + // these are written first and individually, since they trigger a lot of changes + let class_update_triggers = [ + 'strength']; + + // set class first, everything else is alphabetical + let classAttribute = class_update_triggers.shift(); + class_update_triggers.sort(); + class_update_triggers.unshift(classAttribute); + + // write in deterministic order (class first, then alphabetical) + + let items = []; + + for (trigger of class_update_triggers) { + let value = attributes[trigger]; + if ((value === undefined) || (value === null)) { + continue; + } + items.push([trigger, value]); + log('hero: trigger attribute ' + trigger); + delete attributes[trigger]; + } + + return items; + } + + + const reportReady = (character) => { + // From Beyond. Left as-is. + // + // TODO this is nonsense. we aren't actually done importing, because notifications in the character sheet are firing for quite a while + // after we finish changing things (especially on first import) and we have no way (?) to wait for it to be done. These are not sheet workers + // on which we can wait. + // sendChat(script_name, '
Import of ' + character.character_name + ' is ready at https://journal.roll20.net/character/' + object.id +'
', null, {noarchive:true}); + return; + } + + + const blankIfNull = (input) => { + return (input === null)?"":input; + } + + + const ucFirst = (string) => { + if(string == null) return string; + return string.charAt(0).toUpperCase() + string.slice(1); + }; + + + const sendConfigMenu = (player, first) => { + let playerid = player.id; + let prefix = (state[state_name][playerid].config.prefix !== '') ? state[state_name][playerid].config.prefix : '[NONE]'; + let prefixButton = makeButton(prefix, '!hero --config prefix|?{Prefix}', buttonStyle); + let suffix = (state[state_name][playerid].config.suffix !== '') ? state[state_name][playerid].config.suffix : '[NONE]'; + let suffixButton = makeButton(suffix, '!hero --config suffix|?{Suffix}', buttonStyle); + let overwriteButton = makeButton(state[state_name][playerid].config.overwrite, '!hero --config overwrite|'+!state[state_name][playerid].config.overwrite, buttonStyle); + let debugButton = makeButton(state[state_name][playerid].config.debug, '!hero --config debug|'+!state[state_name][playerid].config.debug, buttonStyle); + let optionMaximumsButton = makeButton(state[state_name][playerid].config.maximums, '!hero --config maximums|'+!state[state_name][playerid].config.maximums, buttonStyle); + let optionLiteracyButton = makeButton(state[state_name][playerid].config.literacy, '!hero --config literacy|'+!state[state_name][playerid].config.literacy, buttonStyle); + let optionSuperENDButton = makeButton(state[state_name][playerid].config.superEND, '!hero --config superEND|'+!state[state_name][playerid].config.superEND, buttonStyle); + let optionLocationsButton = makeButton(state[state_name][playerid].config.locations, '!hero --config locations|'+!state[state_name][playerid].config.locations, buttonStyle); + + let listItems = [ + 'Overwrite: '+overwriteButton+'
CAUTION: overwrites an existing character sheet that has a matching character name.', + 'Prefix: '+prefixButton, + 'Suffix: '+suffixButton, + 'Verbose Report: '+debugButton, + ] + + let list = 'Importer'+makeList(listItems, 'overflow: hidden; list-style: none; padding: 0; margin: 0;', 'overflow: hidden; margin-top: 5px;'); + + let inPlayerJournalsButton = makeButton(player.get('displayname'), "", buttonStyle); + let controlledByButton = makeButton(player.get('displayname'), "", buttonStyle); + if(playerIsGM(playerid)) { + let players = ""; + let playerObjects = findObjs({ + _type: "player", + }); + for(let i = 0; i < playerObjects.length; i++) { + players += '|'+playerObjects[i]['attributes']['_displayname']+','+playerObjects[i].id; + } + + let ipj = state[state_name][playerid].config.inplayerjournals == "" ? '[NONE]' : state[state_name][playerid].config.inplayerjournals; + if(ipj != '[NONE]' && ipj != 'all') ipj = getObj('player', ipj).get('displayname'); + inPlayerJournalsButton = makeButton(ipj, '!hero --config inplayerjournals|?{Player|None,[NONE]|All Players,all'+players+'}', buttonStyle); + let cb = state[state_name][playerid].config.controlledby == "" ? '[NONE]' : state[state_name][playerid].config.controlledby; + if(cb != '[NONE]' && cb != 'all') cb = getObj('player', cb).get('displayname'); + controlledByButton = makeButton(cb, '!hero --config controlledby|?{Player|None,[NONE]|All Players,all'+players+'}', buttonStyle); + } + + let sheetListItems = [ + 'In Player Journal: ' + inPlayerJournalsButton, + 'Player Control: ' + controlledByButton, + 'Use Char Maximums: ' + optionMaximumsButton, + 'Literacy Costs CP: ' + optionLiteracyButton, + 'Super-Heroic END: ' + optionSuperENDButton, + 'Use Hit Locations: ' + optionLocationsButton + ] + + let sheetList = '
Character Sheet'+makeList(sheetListItems, 'overflow: hidden; list-style: none; padding: 0; margin: 0;', 'overflow: hidden; margin-top: 5px;'); + + // Set verbose (debug) option + let debug = ""; + if(state[state_name][playerid].config.debug){ + // The original version here would generate debug option buttons. For now, we will only change the verbose reporting state. + verbose = true; + } else { + verbose = false; + } + + // Set characteristic maximums option + if(state[state_name][playerid].config.maximums){ + defaultAttributes.useCharacteristicMaximums = "on"; + } else { + defaultAttributes.useCharacteristicMaximums = 0; + } + + // Set literacy cost option + if(state[state_name][playerid].config.literacy){ + defaultAttributes.optionLiteracyCostsPoints = "on"; + } else { + defaultAttributes.optionLiteracyCostsPoints = 0; + } + + // Set super-heroic END option + if(state[state_name][playerid].config.superEND){ + defaultAttributes.optionSuperHeroicEndurance = "on"; + } else { + defaultAttributes.optionSuperHeroicEndurance = 0; + } + + // Set hit location system option + if(state[state_name][playerid].config.locations){ + defaultAttributes.optionHitLocationSystem = "on"; + } else { + defaultAttributes.optionHitLocationSystem = 0; + } + + let resetButton = makeButton('Reset', '!hero --reset', altButtonStyle + ' margin: auto; width: 90%; display: block; float: none;'); + + //let title_text = (first) ? script_name + ' First Time Setup' : script_name + ' Config'; + let title_text = (first) ? 'HD Importer First Time Setup' : 'HD Importer Configuration'; + let text = '
'+makeTitle(title_text)+list+sheetList+debug+'
'+resetButton+'
'; + + sendChat(script_name, '/w "' + player.get('displayname') + '" ' + text, null, {noarchive:true}); + }; + + + const sendHelpMenu = (player, first) => { + let configButton = makeButton('Config', '!hero --config', altButtonStyle+' margin: auto; width: 90%; display: block; float: none;'); + + let listItems = [ + '!hero --help
Shows this menu.', + '!hero --config
Shows the configuration menu. (GM only)', + '!hero --import [CHARACTER JSON]
Imports a character from Hero Designer.', + ]; + + let command_list = makeList(listItems, 'list-style: none; padding: 0; margin: 0;'); + + let text = '
'; + //text += makeTitle(script_name + ' Help'); + text += makeTitle('HD Importer Help'); + text += '

Export a character in Hero Designer using the HeroSystem6eHeroic.hde format.

'; + text += '

Locate and open the exported .txt file in a text editor. Copy its entire contents and paste them into the Roll20 chat window. Hit enter.

'; + text += '

For more information see the documentation page in the HDImporter Github repository.

'; + text += '
'; + text += 'Commands:'+command_list; + text += '
'; + text += configButton; + text += '
'; + + sendChat(script_name, '/w "'+ player.get('displayname') + '" ' + text, null, {noarchive:true}); + }; + + + const makeTitle = (title) => { + return '

'+title+'

'; + }; + + + const makeButton = (title, href, style) => { + return ''+title+''; + }; + + + const makeList = (items, listStyle, itemStyle) => { + let list = '
    '; + items.forEach((item) => { + list += '
  • '+item+'
  • '; + }); + list += '
'; + return list; + }; + + + const replaceChars = (text) => { + text = text.replace('\&rsquo\;', '\'').replace('\&mdash\;','—').replace('\ \;',' ').replace('\&hellip\;','…'); + text = text.replace('\ \;', ' '); + text = text.replace('\û\;','û').replace('’', '\'').replace(' ', ' '); + text = text.replace(/]+>/gi,'• ').replace(/<\/li>/gi,''); + text = text.replace(/\r\n(\r\n)+/gm,'\r\n'); + return text; + }; + + + const getRepeatingRowIds = (section, attribute, matchValue, index) => { + let ids = []; + if(state[state_name][hero_caller.id].config.overwrite) { + let matches = findObjs({ type: 'attribute', characterid: object.id }) + .filter((attr) => { + return attr.get('name').indexOf('repeating_'+section) !== -1 && attr.get('name').indexOf(attribute) !== -1 && attr.get('current') == matchValue; + }); + for(let i in matches) { + let row = matches[i].get('name').replace('repeating_'+section+'_','').replace('_'+attribute,''); + ids.push(row); + } + if(ids.length == 0) ids.push(generateRowID()); + } + else ids.push(generateRowID()); + + if(index == null) return ids; + else return ids[index] == null && index >= 0 ? generateRowID() : ids[index]; + } + + + // Return an array of objects according to key, value, or key and value matching, optionally ignoring objects in array of names + const getObjects = (obj, key, val, except) => { + except = except || []; + let objects = []; + for (let i in obj) { + if (!obj.hasOwnProperty(i)) continue; + if (typeof obj[i] == 'object') { + if (except.indexOf(i) != -1) { + continue; + } + objects = objects.concat(getObjects(obj[i], key, val)); + } else + //if key matches and value matches or if key matches and value is not passed (eliminating the case where key matches but passed value does not) + if (i == key && obj[i] == val || i == key && val == "") { // + objects.push(obj); + } else if (obj[i] == val && key == ""){ + //only add if the object is not already in the array + if (objects.lastIndexOf(obj) == -1){ + objects.push(obj); + } + } + } + return objects; + }; + + // This section from Beyond is not used in HS6eH_HDImporter, but may be useful in future. + // + // Find an existing repeatable item with the same name, or generate new row ID + // const getOrMakeRowID = (character,repeatPrefix,name) => { + // // Get list of all of the character's attributes + // let attrObjs = findObjs({ _type: "attribute", _characterid: character.get("_id") }); + // + // let i = 0; + // while (i < attrObjs.length) + // { + // // If this is a feat taken multiple times, strip the number of times it was taken from the name + // let attrName = attrObjs[i].get("current").toString(); + // if (regexIndexOf(attrName, / x[0-9]+$/) !== -1) + // attrName = attrName.replace(/ x[0-9]+/,""); + // + // if (attrObjs[i].get("name").indexOf(repeatPrefix) !== -1 && attrObjs[i].get("name").indexOf("_name") !== -1 && attrName === name) + // return attrObjs[i].get("name").substring(repeatPrefix.length,(attrObjs[i].get("name").indexOf("_name"))); + // i++; + // i++; + // } + // return generateRowID(); + // }; + + + const generateUUID = (function() { + let a = 0, b = []; + return function() { + let c = (new Date()).getTime() + 0, d = c === a; + a = c; + for (var e = new Array(8), f = 7; 0 <= f; f--) { + e[f] = "-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".charAt(c % 64); + c = Math.floor(c / 64); + } + c = e.join(""); + if (d) { + for (f = 11; 0 <= f && 63 === b[f]; f--) { + b[f] = 0; + } + b[f]++; + } else { + for (f = 0; 12 > f; f++) { + b[f] = Math.floor(64 * Math.random()); + } + } + for (f = 0; 12 > f; f++){ + c += "-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".charAt(b[f]); + } + return c; + }; + }()); + + + const generateRowID = function() { + "use strict"; + return generateUUID().replace(/_/g, "Z"); + }; + + + const regexIndexOf = (str, regex, startpos) => { + let indexOf = str.substring(startpos || 0).search(regex); + return (indexOf >= 0) ? (indexOf + (startpos || 0)) : indexOf; + }; + + + const pre_log = (message) => { + log('---------------------------------------------------------------------------------------------'); + log(message); + log('---------------------------------------------------------------------------------------------'); + }; + + + const checkInstall = function() { + if(!_.has(state, state_name)){ + state[state_name] = state[state_name] || {}; + } + setDefaults(); + }; + + + const setDefaults = (reset) => { + const defaults = { + overwrite: false, + debug: false, + prefix: '', + suffix: '', + inplayerjournals: '', + controlledby: '', + maximums: false, + literacy: false, + superEND: false, + locations: false + }; + + let playerObjects = findObjs({ + _type: "player", + }); + playerObjects.forEach((player) => { + if(!state[state_name][player.id]) { + state[state_name][player.id] = {}; + } + + if(!state[state_name][player.id].config) { + state[state_name][player.id].config = defaults; + } + + for(let item in defaults) { + if(!state[state_name][player.id].config.hasOwnProperty(item)) { + state[state_name][player.id].config[item] = defaults[item]; + } + } + + if(!state[state_name][player.id].config.hasOwnProperty('firsttime')){ + if(!reset){ + sendConfigMenu(player, true); + } + state[state_name][player.id].config.firsttime = false; + } + }); + }; + + +})(); \ No newline at end of file diff --git a/HeroSystem6eHeroic_HDImporter/2.1/Sample_Character.TXT b/HeroSystem6eHeroic_HDImporter/2.1/Sample_Character.TXT new file mode 100644 index 000000000..c54de45f4 --- /dev/null +++ b/HeroSystem6eHeroic_HDImporter/2.1/Sample_Character.TXT @@ -0,0 +1 @@ + !hero --import { "character":{ "character_name":"Darci", "character_title":"Fae-Cursed", "height":"1.66 m", "weight":"60.00 kg", "eyes":"Brown", "hair":"Brown", "backgroundText":"Darci grew up in a small highland village, the daughter of a village healer, with no ambition save to learn her mother's trade. Her life was turned upside down when she encountered a trol while out collection herbs in the woods. The troll promised to tell her secrets of Fae magic in return for her friendship. Darci has regretted her kindness ever since. Exiled and feard by common folk and given little help by the Fae, Darci has found safety in the service of a mercenary company.", "historyText":"", "appearance":"", "tactics":"", "campaignUse":"", "quote":"Village Herbalist", "experience":"0", "experienceBenefit":"0", "strength":"17", "dexterity":"13", "constitution":"18", "intelligence":"18", "ego":"13", "presence":"10", "ocv":"4", "dcv":"4", "omcv":"3", "dmcv":"3", "speed":"4", "pd":"4", "ed":"3", "body":"14", "stun":"26", "endurance":"40", "recovery":"9", "running":"12", "leaping":"6", "swimming":"6", "equipment":{ "equipment01":{ "name":"Bronze Maille", "text":"Resistant Protection (4 PD/4 ED) (12 Active Points); Normal Mass (-1), OIF (-1/2), Requires A Roll (11- roll; Locations 7-14; -1/2), Real Armor (-1/4)", "damage":"", "end":"0", "range":"", "mass":"11.40kg", "attack":"", "defense":"true", "notes":"(2 END/turn)" }, "equipment02":{ "name":"Bronze Cap", "text":"Resistant Protection (5 PD/5 ED) (15 Active Points); Normal Mass (-1), OIF (-1/2), Real Armor (-1/4)", "damage":"", "end":"0", "range":"", "mass":"0.83kg", "attack":"", "defense":"true", "notes":"(Locations 5)" }, "equipment03":{ "name":"High Boots, Gloves", "text":"Resistant Protection (2 PD/2 ED) (6 Active Points); Normal Mass (-1), OIF (-1/2), Real Armor (-1/4)", "damage":"", "end":"0", "range":"", "mass":"1.20kg", "attack":"", "defense":"true", "notes":"(Locations 16-18, 6-7)" }, "equipment04":{ "name":"Battle Axe", "text":"(Total: 46 Active Cost, 16 Real Cost) Killing Attack - Hand-To-Hand 2d6 (3d6 w/STR), Reduced Endurance (0 END; +1/2) (45 Active Points); OAF (-1), STR Min: 13 (-1/2), Real Weapon (-1/4), Required Hands One-And-A-Half-Handed (-1/4) (Real Cost: 15) plus (1 Active Points) (Real Cost: 1)", "damage":"2d6 (3d6 w/STR)", "end":"0", "range":"", "mass":"1.60kg", "attack":"true", "defense":"", "notes":"" }, "equipment05":{ "name":"Bronze Dagger", "text":"Killing Attack - Hand-To-Hand 1d6-1 (1d6 w/STR), Range Based On STR (+1/4), Reduced Endurance (0 END; +1/2) (17 Active Points); OAF (-1), Real Weapon (-1/4), STR Minimum 6 (-1/4)", "damage":"1d6-1 (1d6 w/STR)", "end":"0", "range":"var.", "mass":"0.80kg", "attack":"true", "defense":"", "notes":"" }, "equipment06":{ "name":"Winter Coat", "text":"Life Support (Safe in Intense Cold) (2 Active Points); OIF (-1/2)", "damage":"", "end":"0", "range":"", "mass":"3.30kg", "attack":"", "defense":"", "notes":"" }, "equipment07":{ "name":"(Multipower) Small Shield", "text":"Multipower, 5-point reserve, (5 Active Points); all slots OAF (-1), STR Min 6 (-1/4)", "damage":"", "end":"", "range":"", "mass":"3.00kg", "attack":"", "defense":"", "notes":"" }, "equipment08":{ "name":"(MPSlot1) ", "text":"+1 DCV (5 Active Points); OAF (-1), Real Armor (-1/4), STR Min 6 (-1/4)", "damage":"", "end":"", "range":"", "mass":"", "attack":"", "defense":"", "notes":"" }, "equipment09":{ "name":"(MPSlot2) Bash", "text":"Hand-To-Hand Attack +1d6 (5 Active Points); OAF (-1), Hand-To-Hand Attack (-1/2), Side Effects -1 OCV, Side Effect occurs automatically whenever Power is used (-1/2), Real Weapon (-1/4), STR Min 6 (-1/4)", "damage":"1d6", "end":"1", "range":"", "mass":"", "attack":"true", "defense":"", "notes":"" }, "equipment10":{ "name":"Healing Potion", "text":"Healing BODY 4d6 (40 Active Points); 3 Charges which Never Recover (-3 1/4), OAF Fragile (-1 1/4), Extra Time (Full Phase, -1/2), Gestures (-1/4)", "damage":"4d6", "end":"[3 nr]", "range":"", "mass":"1.30kg", "attack":"", "defense":"", "notes":"" }, "equipment11":{}, "equipment12":{}, "equipment13":{}, "equipment14":{}, "equipment15":{}, "equipment16":{} }, "maneuvers":{ "maneuver01":{ }, "maneuver02":{ }, "maneuver03":{ }, "maneuver04":{ }, "maneuver05":{ }, "maneuver06":{ }, "maneuver07":{ }, "maneuver08":{ }, "maneuver09":{ }, "maneuver10":{ }, "maneuver11":{ }, "maneuver12":{ }, "maneuver13":{ }, "maneuver14":{ }, "maneuver15":{ }, "maneuver16":{ }, "maneuver17":{ }, "maneuver18":{ }, "maneuver19":{ }, "maneuver20":{ } }, "perks":{ "perk01":{ "type":"Fringe Benefit", "points":"1", "text":"Member of a Mercenary CompanyFringe Benefit (0 Active Points)", "notes":"Some Perks Notes." }, "perk02":{ "type":"Fringe Benefit", "points":"1", "text":"Low-ranking member of Fae SocietyFringe Benefit (0 Active Points)", "notes":"" }, "perk03":{ }, "perk04":{ }, "perk05":{ }, "perk06":{ }, "perk07":{ }, "perk08":{ }, "perk09":{ }, "perk10":{ } }, "talents":{}, "complications":{ "complication01":{ "type":"Social Complication", "points":"10", "text":"Social Complication: Regarded as fae-touched and cursed. Frequently, Minor", "notes":"The mortal world tends to distrust anyone or anything touched by Fae." }, "complication02":{ "type":"Hunted", "points":"15", "text":"Hunted: Hunted by agents of Summer. Frequently (Mo Pow; Mildly Punish)", "notes":"While Darci hasn't reached the notoriety that would attract more dangerous agents, Summer won't hesitate to torment her and her companions." }, "complication03":{ "type":"Distinctive Features", "points":"5", "text":"Distinctive Features: Peculiar smell and hard-to-pin-down appearance. Not quite human. Trollish, to those who know of fae. (Easily Concealed; Noticed and Recognizable; Detectable By Commonly-Used Senses)", "notes":"" }, "complication04":{ "type":"Psychological Complication", "points":"20", "text":"Psychological Complication: Finds the touch of iron uncomfortable and won't wear iron armor or jewelry or use iron tools. (Very Common; Strong)", "notes":"" }, "complication05":{}, "complication06":{}, "complication07":{}, "complication08":{}, "complication09":{}, "complication10":{}, "complication11":{}, "complication12":{}, "complication13":{}, "complication14":{}, "complication15":{}, "complication16":{}, "complication17":{}, "complication18":{}, "complication19":{}, "complication20":{} }, "powers":{ "power01":{ "name":"Bile and Acid", "base":"15", "text":"Killing Attack - Ranged 1d6, Area Of Effect (4 2m Areas; +1/2), Damage Over Time, Target's defenses only apply once (3 damage increments, damage occurs every four Segments, can be negated by Water; +2 1/2) (60 Active Points); 3 Recoverable Charges (-3/4), Extra Time (Full Phase, -1/2), No Range (-1/2), Gestures (Requires both hands; -1/2), Side Effects (1d6+1d3 drain STUN; -1/4), Concentration (1/2 DCV; -1/4), Limited Power Power loses about a fourth of its effectiveness (Does not work in water; -1/4), Requires A Roll (Skill roll, -1 per 20 Active Points modifier; Magic Roll; -1/4)", "notes":"This effects of this spell don't paint a pretty picture, but they get the job done.", "cost":"14", "endurance":"[3 rc]", "damage":"1d6", "compound":"false" }, "power02":{ "name":"Pneuma", "base":"30", "text":"Killing Attack - Ranged 2d6, Invisible Power Effects (Inobvious to [one Sense Group]; +1/4) (37 Active Points); Requires A Roll (Skill roll; -1/2), Gestures (-1/4), Incantations (-1/4), Beam (-1/4), Limited Power Power loses about a fourth of its effectiveness (Does not work under water; -1/4)", "notes":"A pneuma is an invisible dart, which Darci draws from her breath with an exaggerated motion and throws at her target.", "cost":"15", "endurance":"4", "damage":"2d6", "compound":"false" }, "power03":{ "name":"Self Renewal", "base":"55", "text":"Healing BODY 5d6, Can Heal Limbs (55 Active Points); Increased Endurance Cost (x6 END; -2 1/2), Extra Time (1 Turn (Post-Segment 12), Character May Take No Other Actions, -1 1/2), Concentration, Must Concentrate throughout use of Constant Power (0 DCV; Character is totally unaware of nearby events; -1 1/2), OAF (Eat a sprig of evergreen; -1), Gestures (Requires both hands; -1/2), Life Energy Modifier Power loses about a third of its effectiveness (-1/2), Self Only Power loses about a third of its effectiveness (-1/2), Incantations (-1/4), Requires A Roll (Characteristic roll, -1 per 20 Active Points modifier; -1/4)", "notes":"Darci can draw from the regenerative powers of trolls after an intense and painful bout of concentration.", "cost":"6", "endurance":"30", "damage":"5d6", "compound":"false" }, "power04":{ "name":"Underdark Eyes", "base":"5", "text":"Nightvision (5 Active Points); Gestures (Requires both hands; -1/2), Requires A Roll (11- roll; -1/2), Incantations (-1/4)", "notes":"Trolls may be unpleasant creatures, but they can see in the dark.", "cost":"2", "endurance":"0", "damage":"", "compound":"false" }, "power05":{ "name":"Winter's Shawl", "base":"12", "text":"Life Support (Immunity All terrestrial diseases; Immunity: All terrestrial poisons; Safe in Intense Cold) (12 Active Points); Costs Endurance (-1/2), Requires A Roll (11- roll; -1/2), Incantations (-1/4)", "notes":"The trolls of the Winter Court can survive most any winter storm or natural plague.", "cost":"5", "endurance":"1", "damage":"", "compound":"false" }, "power06":{ "name":"Fae Sense", "base":"10", "text":"Detect Magic A Class Of Things 13- (no Sense Group), Range (10 Active Points); Increased Endurance Cost (x4 END; -3/4), Gestures (Requires both hands; -1/2), Requires A Roll (11- roll; -1/2), Incantations (-1/4), Costs Endurance (Only Costs END to Activate; -1/4)", "notes":"The Fae have a knack for spotting ley lines and other magics in their enviornments.", "cost":"3", "endurance":"4", "damage":"13-", "compound":"false" }, "power07":{ }, "power08":{ }, "power09":{ }, "power10":{ }, "power11":{ }, "power12":{ }, "power13":{ }, "power14":{ }, "power15":{ }, "power16":{ }, "power17":{ }, "power18":{ }, "power19":{ }, "power20":{ }, "power21":{ }, "power22":{ }, "power23":{ }, "power24":{ }, "power25":{ }, "power26":{ }, "power27":{ }, "power28":{ }, "power29":{ }, "power30":{ } }, "skills": { "skill01": { "name":"", "enhancer":"", "text":"PS: Soldier 11-", "display":"Professional Skill", "attribute":"GENERAL", "base":"2", "levels":"0", "cost":"2" }, "skill02": { "name":"", "enhancer":"", "text":"PS: Herbalist 11-", "display":"Professional Skill", "attribute":"GENERAL", "base":"0", "levels":"0", "cost":"0" }, "skill03": { "name":"", "enhancer":"", "text":"Language: Clan's Tongue (basic conversation; literate) (2 Active Points)", "display":"Language", "attribute":"GENERAL", "base":"2", "levels":"0", "cost":"0" }, "skill04": { "name":"", "enhancer":"", "text":"Language: King's Tongue (fluent conversation)", "display":"Language", "attribute":"GENERAL", "base":"2", "levels":"0", "cost":"2" }, "skill05": { "name":"", "enhancer":"", "text":"Language: Fae (completely fluent; literate)", "display":"Language", "attribute":"GENERAL", "base":"4", "levels":"0", "cost":"4" }, "skill06": { "name":"", "enhancer":"", "text":"+3 Battleaxe", "display":"Combat Skill Levels", "attribute":"GENERAL", "base":"6", "levels":"3", "cost":"6" }, "skill07": { "name":"Fae Society", "enhancer":"", "text":"KS 11-", "display":"KS", "attribute":"GENERAL", "base":"2", "levels":"0", "cost":"2" }, "skill08": { "name":"Clan Lands", "enhancer":"", "text":"AK 11-", "display":"Knowledge Skill", "attribute":"GENERAL", "base":"2", "levels":"0", "cost":"2" }, "skill09": { "name":"Common Melee", "enhancer":"", "text":"WF: Common Melee Weapons", "display":"Weapon Familiarity", "attribute":"GENERAL", "base":"2", "levels":"0", "cost":"2" }, "skill10": { "name":"Power Skill Fae Magic", "enhancer":"", "text":"Power 15-", "display":"Power", "attribute":"INT", "base":"7", "levels":"2", "cost":"7" }, "skill11": { "name":"", "enhancer":"", "text":"Stealth 12-", "display":"Stealth", "attribute":"DEX", "base":"3", "levels":"0", "cost":"3" }, "skill12": { "name":"", "enhancer":"", "text":"Teamwork 12-", "display":"Teamwork", "attribute":"DEX", "base":"3", "levels":"0", "cost":"3" }, "skill13": { "name":"", "enhancer":"", "text":"Concealment 13-", "display":"Concealment", "attribute":"INT", "base":"3", "levels":"0", "cost":"3" }, "skill14": { "name":"", "enhancer":"", "text":"Science Skill: Herbal Medicine 11-", "display":"Science Skill", "attribute":"GENERAL", "base":"2", "levels":"0", "cost":"2" }, "skill15": { "name":"", "enhancer":"", "text":"Paramedics 13-", "display":"Paramedics", "attribute":"INT", "base":"3", "levels":"0", "cost":"3" }, "skill16": { "name":"Survival", "enhancer":"", "text":"Survival 13-", "display":"Survival", "attribute":"INT", "base":"3", "levels":"0", "cost":"3" }, "skill17": { }, "skill18": { }, "skill19": { }, "skill20": { }, "skill21": { }, "skill22": { }, "skill23": { }, "skill24": { }, "skill25": { }, "skill26": { }, "skill27": { }, "skill28": { }, "skill29": { }, "skill30": { }, "skill31": { }, "skill32": { }, "skill33": { }, "skill34": { }, "skill35": { }, "skill36": { }, "skill37": { }, "skill38": { }, "skill39": { }, "skill40": { }, "skill41": { }, "skill42": { }, "skill43": { }, "skill44": { }, "skill45": { }, "skill46": { }, "skill47": { }, "skill48": { }, "skill49": { }, "skill50": { } }, "playerName":"Test PC", "gmName":"Villain In Glasses", "characterFile":"Darci Fae-Cursed.hdc", "versionHD":"20220801", "timeStamp":"Sun, 11 Aug 2024 00:59:00", "genre":"Fantasy Hero", "campaign":"Coryn's Company", "version":"2.1", "HeroSystem6eHeroic":"true" } } \ No newline at end of file diff --git a/HeroSystem6eHeroic_HDImporter/2.1/Sample_Character.hdc b/HeroSystem6eHeroic_HDImporter/2.1/Sample_Character.hdc new file mode 100644 index 0000000000000000000000000000000000000000..9818902547680618d50ca9492bb5dd4ca8cb2b93 GIT binary patch literal 524764 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

LvC+H{?#{fQ2WYY)ZoT^4ULJp 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�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 z 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 literal 0 HcmV?d00001 diff --git a/HeroSystem6eHeroic_HDImporter/2.1/Sample_Character_MA.TXT b/HeroSystem6eHeroic_HDImporter/2.1/Sample_Character_MA.TXT new file mode 100644 index 000000000..4db25ee80 --- /dev/null +++ b/HeroSystem6eHeroic_HDImporter/2.1/Sample_Character_MA.TXT @@ -0,0 +1 @@ + !hero --import { "character":{ "character_name":"Henkle", "character_title":"Clan Doctor", "height":"1.76 m", "weight":"87.00 kg", "eyes":"Green", "hair":"Sandy", "backgroundText":"Henkle is a learned man, trained as a physician by the best court instructors and an expert swordsman. He once had a promising future serving clan royalty. It all fell to pieces when he misinterpreted a joke and subsequently dug himself into a ever deepening hole. Lucky to be alive, he found himself banished. The Company scooped him up after a particularly self destructive drinking binge.", "historyText":"", "appearance":"Like many a clansman, Henkle is not small and his lack of social awareness makes for an intimidating block of a man.", "tactics":"", "campaignUse":"As part of his education, Henkle dabbled in Wizardy and can cast a couple of spells, including a minor healing spell and a light spell.", "quote":"Banished aristocrat", "experience":"0", "experienceBenefit":"0", "strength":"18", "dexterity":"15", "constitution":"13", "intelligence":"15", "ego":"14", "presence":"15", "ocv":"5", "dcv":"4", "omcv":"3", "dmcv":"4", "speed":"3", "pd":"4", "ed":"4", "body":"15", "stun":"36", "endurance":"40", "recovery":"7", "running":"12", "leaping":"4", "swimming":"0", "equipment":{ "equipment01":{ "name":"Light Maille", "text":"Resistant Protection (5 PD/5 ED) (15 Active Points); Normal Mass (-1), OIF (-1/2), Real Armor (-1/4), Requires A Roll (12- roll; Locations 9-14; -1/4)", "damage":"", "end":"0", "range":"", "mass":"10.20kg", "attack":"", "defense":"true", "notes":"(1 END/turn)" }, "equipment02":{ "name":"Open-face Helm", "text":"Resistant Protection (6 PD/6 ED) (18 Active Points); Normal Mass (-1), OIF (-1/2), Real Armor (-1/4)", "damage":"", "end":"0", "range":"", "mass":"0.83kg", "attack":"", "defense":"true", "notes":"(Locations 4-5)" }, "equipment03":{ "name":"High Boots, Gloves", "text":"Resistant Protection (2 PD/2 ED) (6 Active Points); Normal Mass (-1), OIF (-1/2), Real Armor (-1/4)", "damage":"", "end":"0", "range":"", "mass":"1.20kg", "attack":"", "defense":"true", "notes":"(Locations 16-18, 6-7)" }, "equipment04":{ "name":"Arming Sword", "text":"(Total: 31 Active Cost, 12 Real Cost) Killing Attack - Hand-To-Hand 1d6+1 (1 1/2d6 w/STR), Reduced Endurance (0 END; +1/2) (30 Active Points); OAF (-1), STR Minimum 12 (-1/2), Real Weapon (-1/4) (Real Cost: 11) plus (1 Active Points) (Real Cost: 1)", "damage":"1d6+1 (1 1/2d6 w/STR)", "end":"0", "range":"", "mass":"1.20kg", "attack":"true", "defense":"", "notes":"" }, "equipment05":{ "name":"Long Sword", "text":"(Total: 38 Active Cost, 13 Real Cost) Killing Attack - Hand-To-Hand 1 1/2d6 (2d6 w/STR), Reduced Endurance (0 END; +1/2) (37 Active Points); OAF (-1), STR Minimum 13 (-1/2), Real Weapon (-1/4), Required Hands One-And-A-Half-Handed (-1/4) (Real Cost: 12) plus (1 Active Points) (Real Cost: 1)", "damage":"1 1/2d6 (2d6 w/STR)", "end":"0", "range":"", "mass":"1.70kg", "attack":"true", "defense":"", "notes":"" }, "equipment06":{ "name":"Knife", "text":"(Total: 18 Active Cost, 8 Real Cost) Killing Attack - Hand-To-Hand 1/2d6 (1d6+1 w/STR), Range Based On STR (+1/4), Reduced Endurance (0 END; +1/2) (17 Active Points); OAF (-1), Real Weapon (-1/4), STR Minimum 4 (-1/4) (Real Cost: 7) plus (1 Active Points) (Real Cost: 1)", "damage":"1/2d6 (1d6+1 w/STR)", "end":"0", "range":"", "mass":"0.40kg", "attack":"true", "defense":"", "notes":"" }, "equipment07":{}, "equipment08":{}, "equipment09":{}, "equipment10":{}, "equipment11":{}, "equipment12":{}, "equipment13":{}, "equipment14":{}, "equipment15":{}, "equipment16":{} }, "maneuvers":{ "maneuver01":{ "name":"Slash", "points":"4", "phase":"1/2", "ocv":"+0", "dcv":"+2", "effect":"Weapon +2 DC Strike", "notes":"" }, "maneuver02":{ "name":"Parry", "points":"4", "phase":"1/2", "ocv":"+2", "dcv":"+2", "effect":"Block, Abort", "notes":"" }, "maneuver03":{ "name":"Counterstrike", "points":"4", "phase":"1/2", "ocv":"+2", "dcv":"+2", "effect":"Weapon +2 DC Strike, Must Follow Block", "notes":"" }, "maneuver04":{ "name":"Half-Sword Disarm", "points":"4", "phase":"1/2", "ocv":"-1", "dcv":"+1", "effect":"Disarm, 28 STR to Disarm roll, Requires Both Hands", "notes":"" }, "maneuver05":{ "name":"Half-Sword Trip", "points":"3", "phase":"1/2", "ocv":"+2", "dcv":"+0", "effect":"Weapon Strike, Target Falls, Requires Both Hands", "notes":"" }, "maneuver06":{ }, "maneuver07":{ }, "maneuver08":{ }, "maneuver09":{ }, "maneuver10":{ }, "maneuver11":{ }, "maneuver12":{ }, "maneuver13":{ }, "maneuver14":{ }, "maneuver15":{ }, "maneuver16":{ }, "maneuver17":{ }, "maneuver18":{ "name":"Weapon Element: Blades", "points":"0", "phase":"", "ocv":"", "dcv":"", "effect":"", "notes":"" }, "maneuver19":{ }, "maneuver20":{ } }, "perks":{ "perk01":{ "type":"Fringe Benefit", "points":"2", "text":"Fringe Benefit: Sergeant", "notes":"" }, "perk02":{ "type":"Positive Reputation", "points":"3", "text":"Positive Reputation: Brillaint Doctor (A medium-sized group) 11-, +3/+3d6", "notes":"" }, "perk03":{ "type":"Fringe Benefit", "points":"1", "text":"Company SoldierFringe Benefit: Membership", "notes":"" }, "perk04":{ }, "perk05":{ }, "perk06":{ }, "perk07":{ }, "perk08":{ }, "perk09":{ }, "perk10":{ } }, "talents":{}, "complications":{ "complication01":{ "type":"Hunted", "points":"15", "text":"Hunted: King's Church Frequently (Mo Pow; NCI; Watching)", "notes":"" }, "complication02":{ "type":"Psychological Complication", "points":"10", "text":"Psychological Complication: Airhead (Common; Moderate)", "notes":"This character is not truly stupid, but rather a bit slower on the uptake than the average person. The character needs to have jokes explained, doesn't understand situations that call for subtlety and wit, and tends to take sarcasm literally. While this condition is hardly debilitating, it does frequently cause the character to be the target of jokes, and causes a certain skepticism regarding the character's intelligence." }, "complication03":{ "type":"Psychological Complication", "points":"10", "text":"Psychological Complication: Aristocratic Attitude (Common; Moderate)", "notes":"This character speaks and acts as if he were royalty. He is stand-offish but polite, proper at all times, speaks impeccably, and expects his commands to be followed. To other characters, he is obviously stuck up and feels is 'too good' for other people." }, "complication04":{ "type":"Physical Complication", "points":"15", "text":"Physical Complication: Horrible Hangovers (Infrequently; Greatly Impairing)", "notes":"Pounding headaches, nausea, and light sensitivity. After waking up from a night of drinking the character suffers a -4 penalty to all rolls for 6 hours." }, "complication05":{}, "complication06":{}, "complication07":{}, "complication08":{}, "complication09":{}, "complication10":{}, "complication11":{}, "complication12":{}, "complication13":{}, "complication14":{}, "complication15":{}, "complication16":{}, "complication17":{}, "complication18":{}, "complication19":{}, "complication20":{} }, "powers":{ "power01":{ "name":"Reknit Flesh", "base":"20", "text":"Healing BODY 2d6 (20 Active Points); Increased Endurance Cost (x5 END; -2), Extra Time (1 Turn (Post-Segment 12), -1 1/4), Gestures (Requires both hands; -1/2), Requires A Roll (Wizardry; -1/2), Incantations (-1/4), IIF Expendable (Herbal Ointment; Easy to obtain new Focus; -1/4)", "notes":"Magical energies, if one understands them well enough, can be set to stitching a wound or coaxing the body to more rapidly repair the trauma of a hematoma.", "cost":"3", "endurance":"10", "damage":"2d6", "compound":"false" }, "power02":{ "name":"Light", "base":"22", "text":"Sight Group Images, +/-4 to PER Rolls, Area Of Effect (4m Radius; +1/4) (27 Active Points); Only To Create Light (-1), Gestures (Requires both hands; -1/2), Requires A Roll (Wizardry; -1/2), IIF Expendable (Difficult to obtain new Focus; Charcoal coated in saltpeter; -1/2), Incantations (-1/4), Extra Time (Full Phase, Only to Activate, -1/4), 2 Continuing Charges lasting 1 Hour each (-0)", "notes":"If magic ever had a use it would be to enable one continue study late into the night.", "cost":"7", "endurance":"[2 cc]", "damage":"", "compound":"false" }, "power03":{ }, "power04":{ }, "power05":{ }, "power06":{ }, "power07":{ }, "power08":{ }, "power09":{ }, "power10":{ }, "power11":{ }, "power12":{ }, "power13":{ }, "power14":{ }, "power15":{ }, "power16":{ }, "power17":{ }, "power18":{ }, "power19":{ }, "power20":{ }, "power21":{ }, "power22":{ }, "power23":{ }, "power24":{ }, "power25":{ }, "power26":{ }, "power27":{ }, "power28":{ }, "power29":{ }, "power30":{ } }, "skills": { "skill01": { "name":"", "enhancer":"", "text":"PS: Soldier 11-", "display":"Professional Skill", "attribute":"GENERAL", "base":"2", "levels":"0", "cost":"2" }, "skill02": { "name":"", "enhancer":"", "text":"PS: Doctor 11-", "display":"Professional Skill", "attribute":"GENERAL", "base":"0", "levels":"0", "cost":"0" }, "skill03": { "name":"Power Skill Wizardry", "enhancer":"", "text":": Wizardry 12-", "display":"Power", "attribute":"INT", "base":"3", "levels":"0", "cost":"3" }, "skill04": { "name":"", "enhancer":"", "text":"Paramedics 13-", "display":"Paramedics", "attribute":"INT", "base":"5", "levels":"1", "cost":"5" }, "skill05": { "name":"", "enhancer":"", "text":"Science Skill: Medicine 13-", "display":"Science Skill", "attribute":"GENERAL", "base":"4", "levels":"2", "cost":"4" }, "skill06": { "name":"", "enhancer":"", "text":"Science Skill: Anatomy 11-", "display":"Science Skill", "attribute":"GENERAL", "base":"2", "levels":"0", "cost":"2" }, "skill07": { "name":"", "enhancer":"", "text":"KS: Herbalism 11-", "display":"KS", "attribute":"GENERAL", "base":"2", "levels":"0", "cost":"2" }, "skill08": { "name":"", "enhancer":"", "text":"High Society 12-", "display":"High Society", "attribute":"PRE", "base":"3", "levels":"0", "cost":"3" }, "skill09": { "name":"", "enhancer":"", "text":"KS: Popular Literature 11-", "display":"KS", "attribute":"GENERAL", "base":"2", "levels":"0", "cost":"2" }, "skill10": { "name":"", "enhancer":"", "text":"CuK: Popular Entertainment 11-", "display":"Knowledge Skill", "attribute":"GENERAL", "base":"2", "levels":"0", "cost":"2" }, "skill11": { "name":"", "enhancer":"", "text":"Conversation 12-", "display":"Conversation", "attribute":"PRE", "base":"3", "levels":"0", "cost":"3" }, "skill12": { "name":"", "enhancer":"", "text":"Tactics 12-", "display":"Tactics", "attribute":"INT", "base":"3", "levels":"0", "cost":"3" }, "skill13": { "name":"", "enhancer":"", "text":"Teamwork 12-", "display":"Teamwork", "attribute":"DEX", "base":"3", "levels":"0", "cost":"3" }, "skill14": { "name":"", "enhancer":"true", "text":"Linguist", "display":"Linguist", "attribute":"", "base":"3", "levels":"0", "cost":"3" }, "skill15": { "name":"", "enhancer":"", "text":"Language: Ancient Elven (basic conversation; literate) (2 Active Points)", "display":"Language", "attribute":"GENERAL", "base":"2", "levels":"0", "cost":"1" }, "skill16": { "name":"", "enhancer":"", "text":"Language: Clans' Tongue (idiomatic; literate) (5 Active Points)", "display":"Language", "attribute":"GENERAL", "base":"5", "levels":"0", "cost":"0" }, "skill17": { "name":"", "enhancer":"", "text":"Language: King's Tongue (fluent conversation; literate) (3 Active Points)", "display":"Language", "attribute":"GENERAL", "base":"3", "levels":"0", "cost":"2" }, "skill18": { "name":"", "enhancer":"", "text":"Language: Southern Tongue (fluent conversation; literate) (3 Active Points)", "display":"Language", "attribute":"GENERAL", "base":"3", "levels":"0", "cost":"2" }, "skill19": { "name":"", "enhancer":"", "text":"WF: Common Melee Weapons", "display":"Weapon Familiarity", "attribute":"GENERAL", "base":"2", "levels":"0", "cost":"2" }, "skill20": { "name":"", "enhancer":"", "text":"+3 Long Sword", "display":"Combat Skill Levels", "attribute":"GENERAL", "base":"6", "levels":"3", "cost":"6" }, "skill21": { "name":"", "enhancer":"", "text":"Defense Maneuver I-II ", "display":"Defense Maneuver", "attribute":"GENERAL", "base":"5", "levels":"0", "cost":"5" }, "skill22": { }, "skill23": { }, "skill24": { }, "skill25": { }, "skill26": { }, "skill27": { }, "skill28": { }, "skill29": { }, "skill30": { }, "skill31": { }, "skill32": { }, "skill33": { }, "skill34": { }, "skill35": { }, "skill36": { }, "skill37": { }, "skill38": { }, "skill39": { }, "skill40": { }, "skill41": { }, "skill42": { }, "skill43": { }, "skill44": { }, "skill45": { }, "skill46": { }, "skill47": { }, "skill48": { }, "skill49": { }, "skill50": { } }, "playerName":"Test PC #2", "gmName":"Villain in Glasses", "characterFile":"Henkle.hdc", "versionHD":"20220801", "timeStamp":"Thu, 8 Aug 2024 23:39:05", "genre":"Fantasy HERO", "campaign":"Coryn's Company", "version":"2.1", "HeroSystem6eHeroic":"true" } } \ No newline at end of file diff --git a/HeroSystem6eHeroic_HDImporter/2.1/Sample_Character_MA.hdc b/HeroSystem6eHeroic_HDImporter/2.1/Sample_Character_MA.hdc new file mode 100644 index 0000000000000000000000000000000000000000..e9bd889ec8ad7c08900fc6358ea7daa673b4e26f GIT binary patch literal 444342 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

HESJjdcGkvA2u6N((I<>eoxWh@MP#EPic|f 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 z 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 Mod (API) Scripts.' -From the Mods page select 'HeroSystem6eHeroic HDImporter' from the Mod Library dropdown list. Version 2.0 is the most recent and recommended version. Alternatively, create a new script and copy and paste the contents of HeroSystem6eHeroic_HDImporter.js into the text editing box. Save the script. +From the Mods page select 'HeroSystem6eHeroic HDImporter' from the Mod Library dropdown list. Version 2.1 is the most recent and recommended version. Alternatively, create a new script and copy and paste the contents of HeroSystem6eHeroic_HDImporter.js into the text editing box. Save the script. Launch the game. @@ -32,7 +32,7 @@ If HD Importer has started correctly the following notification should appear in # Import a Character: ## HERO Designer -1. Download the latest export format file [HeroSystem6eHeroic.hde](https://github.com/Roll20/roll20-api-scripts/tree/master/HeroSystem6eHeroic_HDImporter/2.0) from this repository and install it into your HERO Designer folder. +1. Download the latest export format file [HeroSystem6eHeroic.hde](https://github.com/Roll20/roll20-api-scripts/blob/master/HeroSystem6eHeroic_HDImporter/2.1/HeroSystem6eHeroic.hde) from this repository and install it into your HERO Designer folder. 2. Create a new character or load a character file into HERO Designer. 3. Select the export format HeroSystem6eHeroic.hde via the menu item "Current Character->Export->Set Export Format..." 4. Select "Current Character->Export->Export to File..." to save the character as a .txt file. @@ -55,7 +55,7 @@ The release folder contains two sample character files: ## Notes Double quotation marks are used to indicate JSON data values. Please take care to avoid quotation marks in Hero Designer text fields. Instead use single quotes. The exporter will attempt to remove double quotes, but this may not be foolproof. -Characters exported with the older version of HeroSystem6eHeroic.hde (1.0) will likely work, but version 2.0 includes more description text, notes, powers, and complications. Version 2.0 also has some fixes for bugs found in 1.0. +Characters exported with the older version of HeroSystem6eHeroic.hde (1.0 and 2.0) should work, but version 2.1 supports more content and has fixes for bugs present in the earlier versions. Hero Designer has entries for eye color and hair color. This information is not imported since the character sheet does not have corresponding fields. @@ -109,4 +109,6 @@ Version 1.0 -- Initial release on August 1, 2022. Version 1.1 -- Updated to accommodate the seventeen power slots available on the character sheet (May 4, 2023). -Version 2.0 -- Updated to support additional character sheet features as of Sheet version 2.9. Updated version of Hero Designer export format (HeroSystem6eHeroic.hde to version 2.0). Adds support for 20 power slots with ten extra powers imported to text. Complications increased from seven to ten with up to an additional ten sent to text on the sheet. All HD description fields now recognized. Generates armor from Resistant Protection. Recognizes and applies powers that adjust characteristic and movement abilities. Adds more robust input error checking and avoids more quotation character troubles. Additional HD file pack testing. Bug fixes and 60% reduction in code size (April 27, 2024). +Version 2.0 -- Updated to support additional character sheet features as of sheet version 2.9. Updated version of Hero Designer export format (HeroSystem6eHeroic.hde to version 2.0). Adds support for 20 power slots with ten extra powers imported to text. Complications increased from seven to ten with up to an additional ten sent to text on the sheet. All HD description fields now recognized. Generates armor from Resistant Protection. Recognizes and applies powers that adjust characteristic and movement abilities. Adds more robust input error checking and avoids more quotation character troubles. Additional HD file pack testing. Bug fixes and 60% reduction in code size (April 27, 2024). + +Version 2.1 -- Updated to support additional character sheet features as of sheet version 3.16. Updated version of Hero Designer export format (HeroSystem6eHeroic.hde to version 2.1). Expands support for martial arts maneuvers. Recognizes power notes and scans powers for damage advantages. Adds the everyman PS skill. Added a second sample character with martial arts skills. Bug fixes (August 9, 2024). diff --git a/HeroSystem6eHeroic_HDImporter/script.json b/HeroSystem6eHeroic_HDImporter/script.json index 8e857d8a0..0bf81dd06 100644 --- a/HeroSystem6eHeroic_HDImporter/script.json +++ b/HeroSystem6eHeroic_HDImporter/script.json @@ -1,8 +1,8 @@ { "name":"HeroSystem6eHeroic HDImporter", "script":"HeroSystem6eHeroic_HDImporter.js", - "version":"2.0", - "description":"HDImporter imports HERO Designer-created heroes, villains, monsters, and other characters into a HeroSystem6eHeroic Roll20 campaign. The characters must be exported from Hero Designer using the format HeroSystem6eHeroic.hde, which is a companion file in the HD Importer repository. To use, open an exported character text file and paste the contents into chat and hit enter. Full sheet instructions in the [Readme](https://github.com/Roll20/roll20-api-scripts/tree/master/HeroSystem6eHeroic_HDImporter). Based on BeyondImporter Version O.4.0 by Robin Kuiper, Matt DeKok, and Ammo Goettsch", + "version":"2.1", + "description":"HDImporter imports HERO Designer-created heroes, villains, monsters, and other characters into a HeroSystem6eHeroic Roll20 campaign. The characters must be exported from Hero Designer using the format HeroSystem6eHeroic.hde, which is a companion file in the HD Importer repository. To use, open an exported character text file and paste the contents into chat and hit enter. Full sheet instructions in the [README](https://github.com/Roll20/roll20-api-scripts/tree/master/HeroSystem6eHeroic_HDImporter). Based on BeyondImporter Version O.4.0 by Robin Kuiper, Matt DeKok, and Ammo Goettsch", "authors": "Villain In Glasses", "roll20userid":"633423", "useroptions":[], @@ -13,6 +13,6 @@ }, "conflicts":[], "previousVersions":[ - "1.0, 1.1" + "1.0, 1.1, 2.0" ] }