diff --git a/GURPS/gurps.html b/GURPS/gurps.html
index d7cf0af609..631b55ef88 100644
--- a/GURPS/gurps.html
+++ b/GURPS/gurps.html
@@ -34100,7 +34100,6 @@ Diffuse: Max 2HP (Exception: Area-effect, cone, and explosion attacks cause norm
importRepeatingDisadvantages(character, uniqueKeys);
- // TODO: test
importRepeatingRacial(character, uniqueKeys);
importRepeatingSkills(character, uniqueKeys);
@@ -34442,7 +34441,6 @@ Diffuse: Max 2HP (Exception: Area-effect, cone, and explosion attacks cause norm
}
- // TODO: need test character
importRepeatingRacial = (character, uniqueKeys) => {
character.RepeatingRacial.forEach(trait => {
diff --git a/GURPS/readme/assets/gargoyle export.json b/GURPS/readme/assets/gargoyle export.json
new file mode 100644
index 0000000000..d488b473a3
--- /dev/null
+++ b/GURPS/readme/assets/gargoyle export.json
@@ -0,0 +1,508 @@
+{
+ "CharacterName": "Gargoyle",
+ "Fullname": "Gargoyle (Test)",
+ "Playername": "Test",
+ "Nickname": "",
+ "Race": "Gargoyle",
+ "RaceRef": "",
+ "TemplateNames": "Gargoyle (Dungeon Fantasy)",
+ "Gender": "",
+ "Size": 0.0,
+ "ApplySizeModifier": false,
+ "Reactions": "Conditional:\n-1 from 'Callous' when past victim, or has Empathy\n-1 from 'Odious Racial Habit (Dirty)' when people notice your problem",
+ "CampaignTl": 3.0,
+ "TotalPoints": 150.0,
+ "Tl": 3.0,
+ "TlPts": 0.0,
+ "Status": "0",
+ "Wealth": "Average",
+ "Income": 700.0,
+ "CostOfLiving": 600.0,
+ "Stash": 180.0,
+ "Age": "14",
+ "Height": "5'6\"",
+ "Weight": 130.0,
+ "Appearance": 0.0,
+ "GeneralAppearance": "",
+ "StrengthMod": 0.0,
+ "StrengthPoints": 20.0,
+ "DexterityMod": 0.0,
+ "DexterityPoints": 60.0,
+ "IntelligenceMod": -1.0,
+ "IntelligencePoints": 0.0,
+ "HealthMod": 1.0,
+ "HealthPoints": 0.0,
+ "PerceptionMod": 0.0,
+ "PerceptionPoints": 10.0,
+ "VisionMod": 2.0,
+ "VisionPoints": 0.0,
+ "HearingMod": 2.0,
+ "HearingPoints": 0.0,
+ "TasteSmellMod": 0.0,
+ "TasteSmellPoints": 0.0,
+ "TouchMod": 0.0,
+ "TouchPoints": 0.0,
+ "WillpowerMod": 0.0,
+ "WillpowerPoints": 0.0,
+ "FearCheckMod": 0.0,
+ "FearCheckPoints": 0.0,
+ "StunCheckMod": 0.0,
+ "KnockdownCheckMod": 0.0,
+ "UnconsciousCheckMod": 0.0,
+ "UnconsciousCheckPoints": 0.0,
+ "DeathCheckMod": 0.0,
+ "DeathCheckPoints": 0.0,
+ "BasicSpeedMod": -0.25,
+ "BasicSpeedPoints": 5.0,
+ "BasicMoveMod": 0.0,
+ "BasicMovePoints": 5.0,
+ "EnhancedGroundMoveMod": 0.0,
+ "EnhancedGroundMovePoints": 0.0,
+ "DodgeMod": 0.0,
+ "LiftStMod": 0.0,
+ "LiftStPoints": 0.0,
+ "StrikingStMod": 0.0,
+ "StrikingStPoints": 0.0,
+ "HitPointsMod": 2.0,
+ "HitPointsPoints": 0.0,
+ "HitPoints": 14.0,
+ "FatiguePointsMod": 0.0,
+ "FatiguePointsPoints": 3.0,
+ "FatiguePoints": 12.0,
+ "FlightChecked": false,
+ "FlightPoints": 0.0,
+ "BasicAirMoveMod": 2.0,
+ "BasicAirMovePoints": 0.0,
+ "EnhancedAirLevel": 0.5,
+ "EnhancedAirMovePoints": 0.0,
+ "AmphibiousChecked": false,
+ "AmphibiousPoints": 0.0,
+ "BasicWaterMoveMod": 0.0,
+ "BasicWaterMovePoints": 0.0,
+ "EnhancedWaterLevel": 0.0,
+ "EnhancedWaterMovePoints": 0.0,
+ "SuperJumpEnteredLevel": 1.0,
+ "SuperJumpPoints": 0.0,
+ "SpellBonus": 0.0,
+ "CombatReflexes": false,
+ "RepeatingLanguages": [],
+ "RepeatingCultures": [
+ {
+ "Idkey": "12362",
+ "Name": "Gargoyle (Native)",
+ "Points": 0.0
+ }
+ ],
+ "RepeatingTraits": [
+ {
+ "Idkey": "12371",
+ "Name": "Absolute Direction",
+ "TraitLevel": "1",
+ "Foa": "",
+ "Points": 5.0,
+ "Ref": "B34",
+ "Notes": ""
+ },
+ {
+ "Idkey": "12363",
+ "Name": "Acute Hearing",
+ "TraitLevel": "2",
+ "Foa": "",
+ "Points": 4.0,
+ "Ref": "B35",
+ "Notes": ""
+ },
+ {
+ "Idkey": "12364",
+ "Name": "Acute Vision",
+ "TraitLevel": "2",
+ "Foa": "",
+ "Points": 4.0,
+ "Ref": "B35",
+ "Notes": ""
+ },
+ {
+ "Idkey": "12379",
+ "Name": "Enhanced Move (Air)",
+ "TraitLevel": "1",
+ "Foa": "",
+ "Points": 10.0,
+ "Ref": "B52",
+ "Notes": "#list(LevelName Step 0.5)\nAir"
+ },
+ {
+ "Idkey": "12382",
+ "Name": "Extra Air Move",
+ "TraitLevel": "2",
+ "Foa": "",
+ "Points": 4.0,
+ "Ref": "B18",
+ "Notes": "Affects Air Move, +0%\nThe Extra Air Move advantage allows you to take extra levels of the attribute which you can then apply enhancements and limitations to. The \"Affects displayed score\" modifier causes the Extra Air Move advantage to affect the displayed attribute score. If you don't wish this advantage to affect the displayed score remove that modifier."
+ },
+ {
+ "Idkey": "12372",
+ "Name": "Night Vision",
+ "TraitLevel": "3",
+ "Foa": "",
+ "Points": 3.0,
+ "Ref": "B71",
+ "Notes": ""
+ },
+ {
+ "Idkey": "12378",
+ "Name": "Super Jump",
+ "TraitLevel": "1",
+ "Foa": "",
+ "Points": 10.0,
+ "Ref": "B89",
+ "Notes": ""
+ }
+ ],
+ "RepeatingPerks": [],
+ "RepeatingQuirks": [],
+ "RepeatingDisadvantages": [
+ {
+ "Idkey": "12365",
+ "Name": "Callous",
+ "TraitLevel": "1",
+ "ControlRating": "",
+ "Points": -5.0,
+ "Ref": "B125",
+ "Notes": ""
+ }
+ ],
+ "RepeatingRacial": [
+ {
+ "Idkey": "12346",
+ "Name": "Gargoyle (Dungeon Fantasy)",
+ "TraitLevel": "",
+ "ControlRating": "",
+ "Points": 0.0,
+ "Ref": "",
+ "Notes": "Dungeon Fantasy\nA gargoyle resembles nothing so much as an ugly stone man with wings."
+ },
+ {
+ "Idkey": "12347",
+ "Name": "Stony",
+ "TraitLevel": "1",
+ "ControlRating": "",
+ "Points": 1.0,
+ "Ref": "",
+ "Notes": ""
+ },
+ {
+ "Idkey": "12348",
+ "Name": "Claws (Blunt Claws)",
+ "TraitLevel": "1",
+ "ControlRating": "",
+ "Points": 3.0,
+ "Ref": "",
+ "Notes": "Blunt Claws"
+ },
+ {
+ "Idkey": "12349",
+ "Name": "Gargoyle Flight",
+ "TraitLevel": "1",
+ "ControlRating": "",
+ "Points": 30.0,
+ "Ref": "",
+ "Notes": "Winged, -25%"
+ },
+ {
+ "Idkey": "12351",
+ "Name": "Gargoyle Damage Resistance",
+ "TraitLevel": "2",
+ "ControlRating": "",
+ "Points": 10.0,
+ "Ref": "",
+ "Notes": ""
+ },
+ {
+ "Idkey": "12352",
+ "Name": "Night Vision",
+ "TraitLevel": "5",
+ "ControlRating": "",
+ "Points": 5.0,
+ "Ref": "",
+ "Notes": ""
+ },
+ {
+ "Idkey": "12353",
+ "Name": "Striker (Impaling; Gargoyle Tail)",
+ "TraitLevel": "1",
+ "ControlRating": "",
+ "Points": 5.0,
+ "Ref": "",
+ "Notes": "Impaling\nGargoyle Tail\nClumsy, -2, -40%"
+ },
+ {
+ "Idkey": "12355",
+ "Name": "Appearance",
+ "TraitLevel": "2",
+ "ControlRating": "",
+ "Points": -8.0,
+ "Ref": "",
+ "Notes": "Ugly"
+ },
+ {
+ "Idkey": "12356",
+ "Name": "Gluttony",
+ "TraitLevel": "1",
+ "ControlRating": "12",
+ "Points": -5.0,
+ "Ref": "",
+ "Notes": "12 or less, *1"
+ },
+ {
+ "Idkey": "12358",
+ "Name": "Odious Racial Habit (Dirty)",
+ "TraitLevel": "1",
+ "ControlRating": "",
+ "Points": -5.0,
+ "Ref": "",
+ "Notes": "Dirty"
+ },
+ {
+ "Idkey": "12359",
+ "Name": "Torso armor isn't interchangeable with human torso armor.",
+ "TraitLevel": "1",
+ "ControlRating": "",
+ "Points": 0.0,
+ "Ref": "",
+ "Notes": ""
+ }
+ ],
+ "RepeatingSkills": [
+ {
+ "Idkey": "12366",
+ "Name": "Aerobatics",
+ "Tl": "",
+ "Base": "@{dexterity}",
+ "Difficulty": "H",
+ "Bonus": 0.0,
+ "Points": 4.0,
+ "Skill": 13.0,
+ "Ref": "B174",
+ "SkillModNotes": "+0 from 'Absolute Direction'",
+ "Notes": ""
+ },
+ {
+ "Idkey": "12369",
+ "Name": "Area Knowledge (local)",
+ "Tl": "",
+ "Base": "@{intelligence}",
+ "Difficulty": "E",
+ "Bonus": 0.0,
+ "Points": 2.0,
+ "Skill": 10.0,
+ "Ref": "B176",
+ "SkillModNotes": "",
+ "Notes": "local"
+ },
+ {
+ "Idkey": "12377",
+ "Name": "Axe/Mace",
+ "Tl": "",
+ "Base": "@{dexterity}",
+ "Difficulty": "A",
+ "Bonus": 0.0,
+ "Points": 1.0,
+ "Skill": 12.0,
+ "Ref": "B208",
+ "SkillModNotes": "",
+ "Notes": ""
+ },
+ {
+ "Idkey": "12373",
+ "Name": "Brawling",
+ "Tl": "",
+ "Base": "@{dexterity}",
+ "Difficulty": "E",
+ "Bonus": 0.0,
+ "Points": 2.0,
+ "Skill": 14.0,
+ "Ref": "B182",
+ "SkillModNotes": "",
+ "Notes": "Notes: Calculated damage takes into account bonuses from Teeth, Weak Bite, Claws, and skill level. You may add the modifier \"Has Gauntlets/Brass Knuckles\" or \"Has Boots\" to apply the +1 damage to Punch or Kick, as appropriate."
+ },
+ {
+ "Idkey": "12374",
+ "Name": "Dropping",
+ "Tl": "",
+ "Base": "@{dexterity}",
+ "Difficulty": "A",
+ "Bonus": 0.0,
+ "Points": 2.0,
+ "Skill": 13.0,
+ "Ref": "B189",
+ "SkillModNotes": "",
+ "Notes": ""
+ },
+ {
+ "Idkey": "12367",
+ "Name": "Flight",
+ "Tl": "",
+ "Base": "@{health}",
+ "Difficulty": "A",
+ "Bonus": 0.0,
+ "Points": 8.0,
+ "Skill": 13.0,
+ "Ref": "B195",
+ "SkillModNotes": "",
+ "Notes": ""
+ },
+ {
+ "Idkey": "12370",
+ "Name": "Navigation (Air)",
+ "Tl": "3",
+ "Base": "@{intelligence}",
+ "Difficulty": "A",
+ "Bonus": 3.0,
+ "Points": 4.0,
+ "Skill": 13.0,
+ "Ref": "B211",
+ "SkillModNotes": "+3 from 'Absolute Direction'",
+ "Notes": "avigation/TL3 (Air"
+ }
+ ],
+ "RepeatingTechniquesrevised": [],
+ "RepeatingDefense": [
+ {
+ "Idkey": "12373_mode_538",
+ "Name": "Brawling (Punch)",
+ "Type": "Unarmed Parry",
+ "Info": "",
+ "Skill": 10.0,
+ "SkillMod": 0.0,
+ "DefenseModReason": "",
+ "InfoDescription": ""
+ },
+ {
+ "Idkey": "12376_mode_544",
+ "Name": "Knobbed Club (Swing)",
+ "Type": "Parry",
+ "Info": "",
+ "Skill": 9.0,
+ "SkillMod": 0.0,
+ "DefenseModReason": "",
+ "InfoDescription": ""
+ },
+ {
+ "Idkey": "12296_mode_503",
+ "Name": "Punch",
+ "Type": "Unarmed Parry",
+ "Info": "",
+ "Skill": 10.0,
+ "SkillMod": 0.0,
+ "DefenseModReason": "",
+ "InfoDescription": ""
+ },
+ {
+ "Idkey": "12353_mode_524",
+ "Name": "Striker (Impaling; Gargoyle Tail) ([Description])",
+ "Type": "Parry",
+ "Info": "",
+ "Skill": 9.0,
+ "SkillMod": 0.0,
+ "DefenseModReason": "",
+ "InfoDescription": ""
+ }
+ ],
+ "RepeatingMelee": [
+ {
+ "Idkey": "12208_mode_485",
+ "Name": "Bite",
+ "Damage": "1d6-2",
+ "Type": "cr",
+ "Reach": "C",
+ "Skill": 14.0,
+ "ArmorDivisor": 1.0,
+ "Notes": "{Brawling (p. B182) increases all unarmed damage; Claws (p. B42) and Karate (p. B203) improve damage with punches and kicks (Claws don't affect damage with brass knuckles or boots); and Boxing (p. B182) improves punching damage.}"
+ },
+ {
+ "Idkey": "12373_mode_538",
+ "Name": "Brawling (Punch)",
+ "Damage": "1d6-1",
+ "Type": "cr",
+ "Reach": "C",
+ "Skill": 14.0,
+ "ArmorDivisor": 1.0,
+ "Notes": ""
+ },
+ {
+ "Idkey": "12373_mode_539",
+ "Name": "Brawling (Bite)",
+ "Damage": "1d6-2",
+ "Type": "cr",
+ "Reach": "C",
+ "Skill": 14.0,
+ "ArmorDivisor": 1.0,
+ "Notes": ""
+ },
+ {
+ "Idkey": "12373_mode_540",
+ "Name": "Brawling (Kick)",
+ "Damage": "1d6",
+ "Type": "cr",
+ "Reach": "C,1",
+ "Skill": 12.0,
+ "ArmorDivisor": 1.0,
+ "Notes": "{If you miss with a kick, roll vs. DX to avoid falling.}"
+ },
+ {
+ "Idkey": "12241_mode_496",
+ "Name": "Kick",
+ "Damage": "1d6",
+ "Type": "cr",
+ "Reach": "C,1",
+ "Skill": 12.0,
+ "ArmorDivisor": 1.0,
+ "Notes": "{Brawling (p. B182) increases all unarmed damage; Claws (p. B42) and Karate (p. B203) improve damage with punches and kicks (Claws don't affect damage with brass knuckles or boots); and Boxing (p. B182) improves punching damage.}"
+ },
+ {
+ "Idkey": "12376_mode_544",
+ "Name": "Knobbed Club (Swing)",
+ "Damage": "1d6+3",
+ "Type": "cr",
+ "Reach": "1",
+ "Skill": 12.0,
+ "ArmorDivisor": 1.0,
+ "Notes": ""
+ },
+ {
+ "Idkey": "12296_mode_503",
+ "Name": "Punch",
+ "Damage": "1d6-1",
+ "Type": "cr",
+ "Reach": "C",
+ "Skill": 14.0,
+ "ArmorDivisor": 1.0,
+ "Notes": "{Brawling (p. B182) increases all unarmed damage; Claws (p. B42) and Karate (p. B203) improve damage with punches and kicks (Claws don't affect damage with brass knuckles or boots); and Boxing (p. B182) improves punching damage.}"
+ },
+ {
+ "Idkey": "12353_mode_524",
+ "Name": "Striker (Impaling; Gargoyle Tail) ([Description])",
+ "Damage": "1d6",
+ "Type": "imp",
+ "Reach": "C",
+ "Skill": 12.0,
+ "ArmorDivisor": 1.0,
+ "Notes": ""
+ }
+ ],
+ "RepeatingRanged": [],
+ "RepeatingItem": [
+ {
+ "Idkey": "12376",
+ "Name": "Knobbed Club",
+ "Tl": "0",
+ "LegalityClass": "4",
+ "Ref": "LT65",
+ "Count": 1.0,
+ "Cost": 20.0,
+ "Weight": 2.0,
+ "Notes": "TL:0 LC:4, Dam:sw+1 cr Reach:1 Parry:0 ST:8 Skill:Axe/Mace, DX-5, Flail-4, Two-Handed Axe/Mace-3"
+ }
+ ],
+ "RepeatingSpells": []
+}
\ No newline at end of file