Untitled diff
519 lines
-- RezMar 2018 for Dungeons and Dragons 5e
-- RezMar 2018 for Dungeons and Dragons 5e
uiFontColor = {0,0,0}
uiFontColor = {0,0,0}
uiBackgroundColor = {1,1,1}
uiBackgroundColor = {1,1,1}
uiScale = {0.8,0.8,0.8}
uiScale = {0.8,0.8,0.8}
uiYCoord = 0.04
uiYCoord = 0.04
spawnedButtonCount = 0
spawnedButtonCount = 0
spawnedTextInputCount = 0
spawnedTextInputCount = 0
spawnedUiElementsWhichSaveData = 0
spawnedUiElementsWhichSaveData = 0
disableSave = false
disableSave = false
isSavedDataAvailable = false
isSavedDataAvailable = false
savedDataTable = {}
savedDataTable = {}
allUiElementsLoaded = false
allUiElementsLoaded = false
characterNameTxtEntry = 0
characterNameTxtEntry = 0
playerNameTxtEntry = 0
playerNameTxtEntry = 0
className1DisplayIdx = 0
className1DisplayIdx = 0
className2DisplayIdx = 0
className2DisplayIdx = 0
classLVL1TxtEntry = 0
classLVL1TxtEntry = 0
classLVL2TxtEntry = 0
classLVL2TxtEntry = 0
totalLVLDisplayIdx = 0
totalLVLDisplayIdx = 0
raceNameDisplayIdx = 0
raceNameDisplayIdx = 0
alignmentTxtEntry = 0
alignmentTxtEntry = 0
deityTxtEntry = 0
deityTxtEntry = 0
infoSizeDisplayIdx = 0
infoSizeDisplayIdx = 0
infoGenderTxtEntry = 0
infoGenderTxtEntry = 0
infoAgeTxtEntry = 0
infoAgeTxtEntry = 0
infoHeightTxtEntry = 0
infoHeightTxtEntry = 0
infoWeightTxtEntry = 0
infoWeightTxtEntry = 0
infoSkinTxtEntry = 0
infoSkinTxtEntry = 0
infoHairTxtEntry = 0
infoHairTxtEntry = 0
infoEyesTxtEntry = 0
infoEyesTxtEntry = 0
ExperienceTxtEntry = 0
ExperienceTxtEntry = 0
ExpLVLUPDisplayIdx = 0
ExpLVLUPDisplayIdx = 0
STRscoreDisplayIdx = 0
STRscoreDisplayIdx = 0
DEXscoreDisplayIdx = 0
DEXscoreDisplayIdx = 0
CONscoreDisplayIdx = 0
CONscoreDisplayIdx = 0
INTscoreDisplayIdx = 0
INTscoreDisplayIdx = 0
WISscoreDisplayIdx = 0
WISscoreDisplayIdx = 0
CHAscoreDisplayIdx = 0
CHAscoreDisplayIdx = 0
STRmodDisplayIdx = 0
STRmodDisplayIdx = 0
DEXmodDisplayIdx = 0
DEXmodDisplayIdx = 0
CONmodDisplayIdx = 0
CONmodDisplayIdx = 0
INTmodDisplayIdx = 0
INTmodDisplayIdx = 0
WISmodDisplayIdx = 0
WISmodDisplayIdx = 0
CHAmodDisplayIdx = 0
CHAmodDisplayIdx = 0
ProfBonusDisplayIdx = 0
ProfBonusDisplayIdx = 0
STRsaveCheckDisplayIdx = 0
STRsaveCheckDisplayIdx = 0
DEXsaveCheckDisplayIdx = 0
DEXsaveCheckDisplayIdx = 0
CONsaveCheckDisplayIdx = 0
CONsaveCheckDisplayIdx = 0
INTsaveCheckDisplayIdx = 0
INTsaveCheckDisplayIdx = 0
WISsaveCheckDisplayIdx = 0
WISsaveCheckDisplayIdx = 0
CHAsaveCheckDisplayIdx = 0
CHAsaveCheckDisplayIdx = 0
STRsaveTotalDisplayIdx = 0
STRsaveTotalDisplayIdx = 0
STRsaveItemDisplayIdx = 0
STRsaveItemDisplayIdx = 0
STRsaveModDisplayIdx = 0
STRsaveModDisplayIdx = 0
DEXsaveTotalDisplayIdx = 0
DEXsaveTotalDisplayIdx = 0
DEXsaveItemDisplayIdx = 0
DEXsaveItemDisplayIdx = 0
DEXsaveModDisplayIdx = 0
DEXsaveModDisplayIdx = 0
CONsaveTotalDisplayIdx = 0
CONsaveTotalDisplayIdx = 0
CONsaveItemDisplayIdx = 0
CONsaveItemDisplayIdx = 0
CONsaveModDisplayIdx = 0
CONsaveModDisplayIdx = 0
INTsaveTotalDisplayIdx = 0
INTsaveTotalDisplayIdx = 0
INTsaveItemDisplayIdx = 0
INTsaveItemDisplayIdx = 0
INTsaveModDisplayIdx = 0
INTsaveModDisplayIdx = 0
WISsaveTotalDisplayIdx = 0
WISsaveTotalDisplayIdx = 0
WISsaveItemDisplayIdx = 0
WISsaveItemDisplayIdx = 0
WISsaveModDisplayIdx = 0
WISsaveModDisplayIdx = 0
CHAsaveTotalDisplayIdx = 0
CHAsaveTotalDisplayIdx = 0
CHAsaveItemDisplayIdx = 0
CHAsaveItemDisplayIdx = 0
CHAsaveModDisplayIdx = 0
CHAsaveModDisplayIdx = 0
AcrobaticsCheckDisplayIdx = 0
AcrobaticsCheckDisplayIdx = 0
AnimalHandlingCheckDisplayIdx = 0
AnimalHandlingCheckDisplayIdx = 0
ArcanaCheckDisplayIdx = 0
ArcanaCheckDisplayIdx = 0
AthleticsCheckDisplayIdx = 0
AthleticsCheckDisplayIdx = 0
DeceptionCheckDisplayIdx = 0
DeceptionCheckDisplayIdx = 0
HistoryCheckDisplayIdx = 0
HistoryCheckDisplayIdx = 0
InsightCheckDisplayIdx = 0
InsightCheckDisplayIdx = 0
IntimidationCheckDisplayIdx = 0
IntimidationCheckDisplayIdx = 0
InvestigationCheckDisplayIdx = 0
InvestigationCheckDisplayIdx = 0
MedicineCheckDisplayIdx = 0
MedicineCheckDisplayIdx = 0
NatureCheckDisplayIdx = 0
NatureCheckDisplayIdx = 0
PerceptionCheckDisplayIdx = 0
PerceptionCheckDisplayIdx = 0
PerformanceCheckDisplayIdx = 0
PerformanceCheckDisplayIdx = 0
PersuasionCheckDisplayIdx = 0
PersuasionCheckDisplayIdx = 0
ReligionCheckDisplayIdx = 0
ReligionCheckDisplayIdx = 0
SleightofHandCheckDisplayIdx = 0
SleightofHandCheckDisplayIdx = 0
StealthCheckDisplayIdx = 0
StealthCheckDisplayIdx = 0
SurvivalCheckDisplayIdx = 0
SurvivalCheckDisplayIdx = 0
AcrobaticsTotalDisplayIdx = 0
AcrobaticsTotalDisplayIdx = 0
AcrobaticsItemDisplayIdx = 0
AcrobaticsItemDisplayIdx = 0
AcrobaticsModDisplayIdx = 0
AcrobaticsModDisplayIdx = 0
AnimalHandlingTotalDisplayIdx = 0
AnimalHandlingTotalDisplayIdx = 0
AnimalHandlingItemDisplayIdx = 0
AnimalHandlingItemDisplayIdx = 0
AnimalHandlingModDisplayIdx = 0
AnimalHandlingModDisplayIdx = 0
ArcanaTotalDisplayIdx = 0
ArcanaTotalDisplayIdx = 0
ArcanaItemDisplayIdx = 0
ArcanaItemDisplayIdx = 0
ArcanaModDisplayIdx = 0
ArcanaModDisplayIdx = 0
AthleticsTotalDisplayIdx = 0
AthleticsTotalDisplayIdx = 0
AthleticsItemDisplayIdx = 0
AthleticsItemDisplayIdx = 0
AthleticsModDisplayIdx = 0
AthleticsModDisplayIdx = 0
DeceptionTotalDisplayIdx = 0
DeceptionTotalDisplayIdx = 0
DeceptionItemDisplayIdx = 0
DeceptionItemDisplayIdx = 0
DeceptionModDisplayIdx = 0
DeceptionModDisplayIdx = 0
HistoryTotalDisplayIdx = 0
HistoryTotalDisplayIdx = 0
HistoryItemDisplayIdx = 0
HistoryItemDisplayIdx = 0
HistoryModDisplayIdx = 0
HistoryModDisplayIdx = 0
InsightTotalDisplayIdx = 0
InsightTotalDisplayIdx = 0
InsightItemDisplayIdx = 0
InsightItemDisplayIdx = 0
InsightModDisplayIdx = 0
InsightModDisplayIdx = 0
IntimidationTotalDisplayIdx = 0
IntimidationTotalDisplayIdx = 0
IntimidationItemDisplayIdx = 0
IntimidationItemDisplayIdx = 0
IntimidationModDisplayIdx = 0
IntimidationModDisplayIdx = 0
InvestigationTotalDisplayIdx = 0
InvestigationTotalDisplayIdx = 0
InvestigationItemDisplayIdx = 0
InvestigationItemDisplayIdx = 0
InvestigationModDisplayIdx = 0
InvestigationModDisplayIdx = 0
MedicineTotalDisplayIdx = 0
MedicineTotalDisplayIdx = 0
MedicineItemDisplayIdx = 0
MedicineItemDisplayIdx = 0
MedicineModDisplayIdx = 0
MedicineModDisplayIdx = 0
NatureTotalDisplayIdx = 0
NatureTotalDisplayIdx = 0
NatureItemDisplayIdx = 0
NatureItemDisplayIdx = 0
NatureModDisplayIdx = 0
NatureModDisplayIdx = 0
PerceptionTotalDisplayIdx = 0
PerceptionTotalDisplayIdx = 0
PerceptionItemDisplayIdx = 0
PerceptionItemDisplayIdx = 0
PerceptionModDisplayIdx = 0
PerceptionModDisplayIdx = 0
PerformanceTotalDisplayIdx = 0
PerformanceTotalDisplayIdx = 0
PerformanceItemDisplayIdx = 0
PerformanceItemDisplayIdx = 0
PerformanceModDisplayIdx = 0
PerformanceModDisplayIdx = 0
PersuasionTotalDisplayIdx = 0
PersuasionTotalDisplayIdx = 0
PersuasionItemDisplayIdx = 0
PersuasionItemDisplayIdx = 0
PersuasionModDisplayIdx = 0
PersuasionModDisplayIdx = 0
ReligionTotalDisplayIdx = 0
ReligionTotalDisplayIdx = 0
ReligionItemDisplayIdx = 0
ReligionItemDisplayIdx = 0
ReligionModDisplayIdx = 0
ReligionModDisplayIdx = 0
SleightofHandTotalDisplayIdx = 0
SleightofHandTotalDisplayIdx = 0
SleightofHandItemDisplayIdx = 0
SleightofHandItemDisplayIdx = 0
SleightofHandModDisplayIdx = 0
SleightofHandModDisplayIdx = 0
StealthTotalDisplayIdx = 0
StealthTotalDisplayIdx = 0
StealthItemDisplayIdx = 0
StealthItemDisplayIdx = 0
StealthModDisplayIdx = 0
StealthModDisplayIdx = 0
SurvivalTotalDisplayIdx = 0
SurvivalTotalDisplayIdx = 0
SurvivalItemDisplayIdx = 0
SurvivalItemDisplayIdx = 0
SurvivalModDisplayIdx = 0
SurvivalModDisplayIdx = 0
PassivePerceptionDisplayIdx = 0
PassivePerceptionDisplayIdx = 0
InspirationCheckboxButtonIdx = 0
InspirationCheckboxButtonIdx = 0
ACTxtEntry = 0
ACTxtEntry = 0
ACtempTxtEntry = 0
ACtempTxtEntry = 0
MAXHPTxtEntry = 0
MAXHPTxtEntry = 0
CurrentHPTxtEntry = 0
CurrentHPTxtEntry = 0
TempHPTxtEntry = 0
TempHPTxtEntry = 0
InitiativeDisplayIdx = 0
InitiativeDisplayIdx = 0
VisionDisplayIdx = 0
VisionDisplayIdx = 0
Vision1DisplayIdx = 0
Vision1DisplayIdx = 0
SpeedDisplayIdx = 0
SpeedDisplayIdx = 0
SpeedFlyTxtEntry = 0
SpeedFlyTxtEntry = 0
SpeedSwimTxtEntry = 0
SpeedSwimTxtEntry = 0
SpeedLongJumpTxtEntry = 0
SpeedLongJumpTxtEntry = 0
SpeedHighJumpTxtEntry = 0
SpeedHighJumpTxtEntry = 0
SpeedCrawlTxtEntry = 0
SpeedCrawlTxtEntry = 0
SpeedClimbTxtEntry = 0
SpeedClimbTxtEntry = 0
HitDiceClass1DisplayIdx = 0
HitDiceClass1DisplayIdx = 0
HitDiceClass2DisplayIdx = 0
HitDiceClass2DisplayIdx = 0
HitDiceClass1TotalDisplayIdx = 0
HitDiceClass1TotalDisplayIdx = 0
HitDiceClass2TotalDisplayIdx = 0
HitDiceClass2TotalDisplayIdx = 0
HitDiceClass1LeftTxtEntry = 0
HitDiceClass1LeftTxtEntry = 0
HitDiceClass2LeftTxtEntry = 0
HitDiceClass2LeftTxtEntry = 0
ResImuTxtEntry = 0
ResImuTxtEntry = 0
SpellSaveDC1DisplayIdx = 0
SpellSaveDC1DisplayIdx = 0
SpellAtkBonus1DisplayIdx = 0
SpellAtkBonus1DisplayIdx = 0
SpellSaveDC2DisplayIdx = 0
SpellSaveDC2DisplayIdx = 0
SpellAtkBonus2DisplayIdx = 0
SpellAtkBonus2DisplayIdx = 0
ExhaustionTxtEntry = 0
ExhaustionTxtEntry = 0
SuccDeathSave1CheckboxButtonIdx = 0
SuccDeathSave1CheckboxButtonIdx = 0
SuccDeathSave2CheckboxButtonIdx = 0
SuccDeathSave2CheckboxButtonIdx = 0
SuccDeathSave3CheckboxButtonIdx = 0
SuccDeathSave3CheckboxButtonIdx = 0
FailDeathSave1CheckboxButtonIdx = 0
FailDeathSave1CheckboxButtonIdx = 0
FailDeathSave2CheckboxButtonIdx = 0
FailDeathSave2CheckboxButtonIdx = 0
FailDeathSave3CheckboxButtonIdx = 0
FailDeathSave3CheckboxButtonIdx = 0
ProfArmorLightCheckboxButtonIdx = 0
ProfArmorLightCheckboxButtonIdx = 0
ProfArmorMediumCheckboxButtonIdx = 0
ProfArmorMediumCheckboxButtonIdx = 0
ProfArmorHeavyCheckboxButtonIdx = 0
ProfArmorHeavyCheckboxButtonIdx = 0
ProfArmorShieldsCheckboxButtonIdx = 0
ProfArmorShieldsCheckboxButtonIdx = 0
ProfSimleWeaponCheckboxButtonIdx = 0
ProfSimleWeaponCheckboxButtonIdx = 0
ProfMartialWeaponCheckboxButtonIdx = 0
ProfMartialWeaponCheckboxButtonIdx = 0
ProfOtherWeaponCheckboxButtonIdx = 0
ProfOtherWeaponCheckboxButtonIdx = 0
ProfWeaponsTxtEntry = 0
ProfWeaponsTxtEntry = 0
ProfToolsTxtEntry = 0
ProfToolsTxtEntry = 0
LanguagesTxtEntry = 0
LanguagesTxtEntry = 0
coinCPTxtEntry = 0
coinCPTxtEntry = 0
coinSPTxtEntry = 0
coinSPTxtEntry = 0
coinEPTxtEntry = 0
coinEPTxtEntry = 0
coinGPTxtEntry = 0
coinGPTxtEntry = 0
coinPPTxtEntry = 0
coinPPTxtEntry = 0
weapon1TxtEntry = 0
weapon1TxtEntry = 0
weapon2TxtEntry = 0
weapon2TxtEntry = 0
weapon3TxtEntry = 0
weapon3TxtEntry = 0
weapon4TxtEntry = 0
weapon4TxtEntry = 0
weapon5TxtEntry = 0
weapon5TxtEntry = 0
ammo1TxtEntry = 0
ammo1TxtEntry = 0
ammo2TxtEntry = 0
ammo2TxtEntry = 0
ammo3TxtEntry = 0
ammo3TxtEntry = 0
potions1TxtEntry = 0
potions1TxtEntry = 0
potions2TxtEntry = 0
potions2TxtEntry = 0
potions3TxtEntry = 0
potions3TxtEntry = 0
potions4TxtEntry = 0
potions4TxtEntry = 0
SaveCheckSTRCheckboxButtonIdx = 0
SaveCheckSTRCheckboxButtonIdx = 0
SaveCheckDEXCheckboxButtonIdx = 0
SaveCheckDEXCheckboxButtonIdx = 0
SaveCheckCONCheckboxButtonIdx = 0
SaveCheckCONCheckboxButtonIdx = 0
SaveCheckINTCheckboxButtonIdx = 0
SaveCheckINTCheckboxButtonIdx = 0
SaveCheckWISCheckboxButtonIdx = 0
SaveCheckWISCheckboxButtonIdx = 0
SaveCheckCHACheckboxButtonIdx = 0
SaveCheckCHACheckboxButtonIdx = 0
AcrobaticsSkillCheckCheckboxButtonIdx = 0
AcrobaticsSkillCheckCheckboxButtonIdx = 0
AnimalHandlingSkillCheckCheckboxButtonIdx = 0
AnimalHandlingSkillCheckCheckboxButtonIdx = 0
ArcanaSkillCheckCheckboxButtonIdx = 0
ArcanaSkillCheckCheckboxButtonIdx = 0
AthleticsSkillCheckCheckboxButtonIdx = 0
AthleticsSkillCheckCheckboxButtonIdx = 0
DeceptionSkillCheckCheckboxButtonIdx = 0
DeceptionSkillCheckCheckboxButtonIdx = 0
HistorySkillCheckCheckboxButtonIdx = 0
HistorySkillCheckCheckboxButtonIdx = 0
InsightSkillCheckCheckboxButtonIdx = 0
InsightSkillCheckCheckboxButtonIdx = 0
IntimidationSkillCheckCheckboxButtonIdx = 0
IntimidationSkillCheckCheckboxButtonIdx = 0
InvestigationSkillCheckCheckboxButtonIdx = 0
InvestigationSkillCheckCheckboxButtonIdx = 0
MedicineSkillCheckCheckboxButtonIdx = 0
MedicineSkillCheckCheckboxButtonIdx = 0
NatureSkillCheckCheckboxButtonIdx = 0
NatureSkillCheckCheckboxButtonIdx = 0
PerceptionSkillCheckCheckboxButtonIdx = 0
PerceptionSkillCheckCheckboxButtonIdx = 0
PerformanceSkillCheckCheckboxButtonIdx = 0
PerformanceSkillCheckCheckboxButtonIdx = 0
PersuasionSkillCheckCheckboxButtonIdx = 0
PersuasionSkillCheckCheckboxButtonIdx = 0
ReligionSkillCheckCheckboxButtonIdx = 0
ReligionSkillCheckCheckboxButtonIdx = 0
SleightofHandSkillCheckCheckboxButtonIdx = 0
SleightofHandSkillCheckCheckboxButtonIdx = 0
StealthSkillCheckCheckboxButtonIdx = 0
StealthSkillCheckCheckboxButtonIdx = 0
SurvivalSkillCheckCheckboxButtonIdx = 0
SurvivalSkillCheckCheckboxButtonIdx = 0
playerName = " "
playerName = " "
displayCol = {1,1,1}
displayCol = {1,1,1}
RollSaveSelected = 0
RollSaveSelected = 0
RollSkillSelected = 0
RollSkillSelected = 0
messageSaveThrow = ""
messageSaveThrow = ""
messageSkill = ""
messageSkill = ""
characterStats = {}
function serialize_SavedData(saved_data)
--[[
Need to define every stat here plus all the new stats
saved_data needs to be serialized in order to be used
properly
--]]
--print("ENCODED")
--print(saved_data)
saved_data = JSON.decode(saved_data)
--print("DECODED")
--print(saved_data)
characterStats = {
characterName = saved_data[1],
playerName = saved_data[2],
class1Level = saved_data[3],
class2Level = saved_data[4],
alignment = saved_data[5],
diety = saved_data[6],
gender = saved_data[7],
age = saved_data[8],
height = saved_data[9],
weight = saved_data[10],
skin = saved_data[11],
hair = saved_data[12],
eyes = saved_data[13],
exp = saved_data[14],
savingThrowSTR = saved_data[15],
savingThrowDEX = saved_data[16],
savingThrowCON = saved_data[17],
savingThrowINT = saved_data[18],
savingThrowWIS = saved_data[19],
savingThrowCHA = saved_data[20],
acrobatics = saved_data[21],
animalHandling = saved_data[22],
arcana = saved_data[23],
athletics = saved_data[24],
deception = saved_data[25],
history = saved_data[26],
insight = saved_data[27],
intimidation = saved_data[28],
investigation = saved_data[29],
medicine = saved_data[30],
nature = saved_data[31],
perception = saved_data[32],
performance = saved_data[33],
persuasion = saved_data[34],
religion = saved_data[35],
slightOfHand = saved_data[36],
stealth = saved_data[37],
survival = saved_data[38],
inspiration = saved_data[39],
armorClass = saved_data[40],
tempACBonus = saved_data[41],
maxHP = saved_data[42],
currentHP = saved_data[43],
temporaryHP = saved_data[44],
fly = saved_data[45],
swim = saved_data[46],
longJump = saved_data[47],
highJump = saved_data[48],
crawl = saved_data[49],
climb = saved_data[50],
hitDie1 = saved_data[51],
hitDie2 = saved_data[52],
resistance = saved_data[53],
exhaustion = saved_data[54],
success1 = saved_data[55],
success2 = saved_data[56],
success3 = saved_data[57],
failures1 = saved_data[58],
failures2 = saved_data[59],
failures3 = saved_data[60],
lightArmor = saved_data[61],
mediumArmor = saved_data[62],
heavyArmor = saved_data[63],
shields = saved_data[64],
simple = saved_data[65],
martial = saved_data[66],
other = saved_data[67],
weapons = saved_data[68],
tools = saved_data[69],
languages = saved_data[70],
copper = saved_data[71],
silver = saved_data[72],
electrum = saved_data[73],
gold = saved_data[74],
platinum = saved_data[75],
weapon1 = saved_data[76],
weapon2 = saved_data[77],
weapon3 = saved_data[78],
weapon4 = saved_data[79],
weapon5 = saved_data[80],
ammo1 = saved_data[81],
ammo2 = saved_data[82],
ammo3 = saved_data[83],
potion1 = saved_data[84],
potion2 = saved_data[85],
potion3 = saved_data[86],
potion4 = saved_data[87],
savingThrowSTRProf = saved_data[88],
savingThrowDEXProf = saved_data[89],
savingThrowCONProf = saved_data[90],
savingThrowINTProf = saved_data[91],
savingThrowWISProf = saved_data[92],
savingThrowCHAProf = saved_data[93],
acrobaticsProf = saved_data[94],
animalHandlingProf = saved_data[95],
arcanaProf = saved_data[96],
athleticsProf = saved_data[97],
deceptionProf = saved_data[98],
historyProf = saved_data[99],
insightProf = saved_data[100],
intimidationProf = saved_data[101],
investigationProf = saved_data[102],
medicineProf = saved_data[103],
natureProf = saved_data[104],
perceptionProf = saved_data[105],
performanceProf = saved_data[106],
persuasionProf = saved_data[107],
religionProf = saved_data[108],
sleightofHandProf = saved_data[109],
stealthProf = saved_data[110],
survivalProf = saved_data[111],
STRscore = 10,
DEXscore = 10,
CONscore = 10,
INTscore = 10,
WISscore = 10,
CHAscore = 10,
raceName = "",
infoSize = "",
Vision = "",
Vision1 = "",
Speed = "",
className1 = "",
className2 = "",
STRsaveCheck = "",
DEXsaveCheck = "",
CONsaveCheck = "",
INTsaveCheck = "",
WISsaveCheck = "",
CHAsaveCheck = "",
AcrobaticsCheck = "",
AnimalHandlingCheck = "",
ArcanaCheck = "",
AthleticsCheck = "",
DeceptionCheck = "",
HistoryCheck = "",
InsightCheck = "",
IntimidationCheck = "",
InvestigationCheck = "",
MedicineCheck = "",
NatureCheck = "",
PerceptionCheck = "",
PerformanceCheck = "",
PersuasionCheck = "",
ReligionCheck = "",
SleightofHandCheck = "",
StealthCheck = "",
SurvivalCheck = "",
STRsaveItem = 0,
DEXsaveItem = 0,
CONsaveItem = 0,
INTsaveItem = 0,
WISsaveItem = 0,
CHAsaveItem = 0
}
--print("DECODED")
--print(characterStats)
characterStats = JSON.encode(characterStats)
--print("ENCODED")
--print(characterStats)
return characterStats
end
function onload(saved_data)
function onload(saved_data)
characterStats = serialize_SavedData(saved_data)
if disableSave==true then saved_data="" end
if disableSave==true then saved_data="" end
if saved_data ~= "" then
if saved_data ~= "" then
local loaded_data = JSON.decode(saved_data)
local loaded_data = JSON.decode(saved_data)
savedDataTable = loaded_data
savedDataTable = loaded_data
isSavedDataAvailable = true
isSavedDataAvailable = true
end
end
populateUiElements()
populateUiElements()
updateSheet()
updateSheet()
createButtons()
createButtons()
math.randomseed(os.time())
math.randomseed(os.time())
end
end
function updateSheet()
function updateSheet()
updateCalculatedValues()
updateCalculatedValues()
updateSave()
updateSave()
end
end
function updateSave()
function updateSave()
saved_data = JSON.encode(savedDataTable)
saved_data = JSON.encode(savedDataTable)
self.script_state = saved_data
self.script_state = saved_data
end
end
function populateUiElements()
function populateUiElements()
local UI_Y_COORD = 0.04
local UI_Y_COORD = 0.04
local LEFT_ALIGNED_TEXT = 2
local LEFT_ALIGNED_TEXT = 2
local CENTER_ALIGNED_TEXT = 3
local CENTER_ALIGNED_TEXT = 3
local ONE_ROW = 1
local ONE_ROW = 1
local STANDARD_FONT_SIZE = 220
local STANDARD_FONT_SIZE = 220
local NO_LABEL = ""
local NO_LABEL = ""
local IS_NUMERIC_ENTRY = 2
local IS_NUMERIC_ENTRY = 2
local IS_TEXT_ENTRY = 1
local IS_TEXT_ENTRY = 1
-- character name/description
-- character name/description
local PLAYER_WIDTH = 1420
local PLAYER_WIDTH = 1420
local CLASS_WIDTH = 1700
local CLASS_WIDTH = 1700
local LEVEL_WIDTH = 280
local LEVEL_WIDTH = 280
local TOTAL_LEVEL_FONT_SIZE = 500
local TOTAL_LEVEL_FONT_SIZE = 500
local CHECK_FONT_SIZE = 160
local CHECK_FONT_SIZE = 160
Vision1DisplayIdx = spawnedButtonCount
Vision1DisplayIdx = spawnedButtonCount
createDisplayNumber({-3.73, UI_Y_COORD, -4.04}, CHECK_FONT_SIZE, 160, 160)
createDisplayNumber({-3.73, UI_Y_COORD, -4.04}, CHECK_FONT_SIZE, 160, 160)
characterNameTxtEntry = spawnedUiElementsWhichSaveData + 1
characterNameTxtEntry = spawnedUiElementsWhichSaveData + 1
createTextBox({0.77, UI_Y_COORD, -6.33}, ONE_ROW, 3180, 280, "", NO_LABEL, LEFT_ALIGNED_TEXT, IS_TEXT_ENTRY)
createTextBox({0.77, UI_Y_COORD, -6.33}, ONE_ROW, 3180, 280, "", NO_LABEL, LEFT_ALIGNED_TEXT, IS_TEXT_ENTRY)
playerNameTxtEntry = spawnedUiElementsWhichSaveData + 1
playerNameTxtEntry = spawnedUiElementsWhichSaveData + 1
createTextBox({6.64, UI_Y_COORD, -3.89}, ONE_ROW, PLAYER_WIDTH, STANDARD_FONT_SIZE, "", NO_LABEL, LEFT_ALIGNED_TEXT, IS_TEXT_ENTRY)
createTextBox({6.64, UI_Y_COORD, -3.89}, ONE_ROW, PLAYER_WIDTH, STANDARD_FONT_SIZE, "", NO_LABEL, LEFT_ALIGNED_TEXT, IS_TEXT_ENTRY)
className1DisplayIdx = spawnedButtonCount
className1DisplayIdx = spawnedButtonCount
createDisplayNumber({0.065, UI_Y_COORD, -3.8}, 140, 0, 0)
createDisplayNumber({0.065, UI_Y_COORD, -3.8}, 140, 0, 0)
className2DisplayIdx = spawnedButtonCount
className2DisplayIdx = spawnedButtonCount
createDisplayNumber({3.45, UI_Y_COORD, -3.8}, 140, 0, 0)
createDisplayNumber({3.45, UI_Y_COORD, -3.8}, 140, 0, 0)
classLVL1TxtEntry = spawnedUiElementsWhichSaveData + 1
classLVL1TxtEntry = spawnedUiElementsWhichSaveData + 1
createTextBox({1.73, UI_Y_COORD, -3.89}, ONE_ROW, LEVEL_WIDTH, STANDARD_FONT_SIZE, "1", NO_LABEL, CENTER_ALIGNED_TEXT, IS_NUMERIC_ENTRY)
createTextBox({1.73, UI_Y_COORD, -3.89}, ONE_ROW, LEVEL_WIDTH, STANDARD_FONT_SIZE, "1", NO_LABEL, CENTER_ALIGNED_TEXT, IS_NUMERIC_ENTRY)
classLVL2TxtEntry = spawnedUiElementsWhichSaveData + 1
classLVL2TxtEntry = spawnedUiElementsWhichSaveData + 1
createTextBox({5.115, UI_Y_COORD, -3.89}, ONE_ROW, LEVEL_WIDTH, STANDARD_FONT_SIZE, "", NO_LABEL, CENTER_ALIGNED_TEXT, IS_NUMERIC_ENTRY)
createTextBox({5.115, UI_Y_COORD, -3.89}, ONE_ROW, LEVEL_WIDTH, STANDARD_FONT_SIZE, "", NO_LABEL, CENTER_ALIGNED_TEXT, IS_NUMERIC_ENTRY)
totalLVLDisplayIdx = spawnedButtonCount
totalLVLDisplayIdx = spawnedButtonCount
createDisplayNumber({0.39, UI_Y_COORD, -4.42}, TOTAL_LEVEL_FONT_SIZE, 0, 0)
createDisplayNumber({0.39, UI_Y_COORD, -4.42}, TOTAL_LEVEL_FONT_SIZE, 0, 0)
raceNameDisplayIdx = spawnedButtonCount
raceNameDisplayIdx = spawnedButtonCount
createDisplayNumber({0.34, UI_Y_COORD, -3.18}, 180, 0, 0)
createDisplayNumber({0.34, UI_Y_COORD, -3.18}, 180, 0, 0)
alignmentTxtEntry = spawnedUiElementsWhichSaveData + 1
alignmentTxtEntry = spawnedUiElementsWhichSaveData + 1
createTextBox({3.6, UI_Y_COORD, -3.235}, ONE_ROW, 1840, STANDARD_FONT_SIZE, "", NO_LABEL, LEFT_ALIGNED_TEXT, IS_TEXT_ENTRY)
createTextBox({3.6, UI_Y_COORD, -3.235}, ONE_ROW, 1840, STANDARD_FONT_SIZE, "", NO_LABEL, LEFT_ALIGNED_TEXT, IS_TEXT_ENTRY)
deityTxtEntry = spawnedUiElementsWhichSaveData + 1
deityTxtEntry = spawnedUiElementsWhichSaveData + 1
createTextBox({6.51, UI_Y_COORD, -3.245}, ONE_ROW, 1590, STANDARD_FONT_SIZE, "", NO_LABEL, LEFT_ALIGNED_TEXT, IS_TEXT_ENTRY)
createTextBox({6.51, UI_Y_COORD, -3.245}, ONE_ROW, 1590, STANDARD_FONT_SIZE, "", NO_LABEL, LEFT_ALIGNED_TEXT, IS_TEXT_ENTRY)
infoSizeDisplayIdx = spawnedButtonCount
infoSizeDisplayIdx = spawnedButtonCount
createDisplayNumber({-1.17, UI_Y_COORD, -2.47}, 100, 0, 0)
createDisplayNumber({-1.17, UI_Y_COORD, -2.47}, 100, 0, 0)
infoGenderTxtEntry = spawnedUiElementsWhichSaveData + 1
infoGenderTxtEntry = spawnedUiElementsWhichSaveData + 1
createTextBox({-0.36, UI_Y_COORD, -2.47}, ONE_ROW, 560, 100, "", NO_LABEL, CENTER_ALIGNED_TEXT, IS_TEXT_ENTRY)
createTextBox({-0.36, UI_Y_COORD, -2.47}, ONE_ROW, 560, 100, "", NO_LABEL, CENTER_ALIGNED_TEXT, IS_TEXT_ENTRY)
infoAgeTxtEntry = spawnedUiElementsWhichSaveData + 1
infoAgeTxtEntry = spawnedUiElementsWhichSaveData + 1
createTextBox({0.51, UI_Y_COORD, -2.47}, ONE_ROW, 440, 100, "", NO_LABEL, CENTER_ALIGNED_TEXT, IS_TEXT_ENTRY)
createTextBox({0.51, UI_Y_COORD, -2.47}, ONE_ROW, 440, 100, "", NO_LABEL, CENTER_ALIGNED_TEXT, IS_TEXT_ENTRY)
infoHeightTxtEntry = spawnedUiElementsWhichSaveData + 1
infoHeightTxtEntry = spawnedUiElementsWhichSaveData + 1
createTextBox({1.345, UI_Y_COORD, -2.47}, ONE_ROW, 520, 100, "", NO_LABEL, CENTER_ALIGNED_TEXT, IS_TEXT_ENTRY)
createTextBox({1.345, UI_Y_COORD, -2.47}, ONE_ROW, 520, 100, "", NO_LABEL, CENTER_ALIGNED_TEXT, IS_TEXT_ENTRY)
infoWeightTxtEntry = spawnedUiElementsWhichSaveData + 1
infoWeightTxtEntry = spawnedUiElementsWhichSaveData + 1
createTextBox({2.27, UI_Y_COORD, -2.47}, ONE_ROW, 540, 100, "", NO_LABEL, CENTER_ALIGNED_TEXT, IS_TEXT_ENTRY)
createTextBox({2.27, UI_Y_COORD, -2.47}, ONE_ROW, 540, 100, "", NO_LABEL, CENTER_ALIGNED_TEXT, IS_TEXT_ENTRY)
infoSkinTxtEntry = spawnedUiElementsWhichSaveData + 1
infoSkinTxtEntry = spawnedUiElementsWhichSaveData + 1
createTextBox({3.14, UI_Y_COORD, -2.56}, 2, 460, 100, "", NO_LABEL, CENTER_ALIGNED_TEXT, IS_TEXT_ENTRY)
createTextBox({3.14, UI_Y_COORD, -2.56}, 2, 460, 100, "", NO_LABEL, CENTER_ALIGNED_TEXT, IS_TEXT_ENTRY)
infoHairTxtEntry = spawnedUiElementsWhichSaveData + 1
infoHairTxtEntry = spawnedUiElementsWhichSaveData + 1
createTextBox({3.95, UI_Y_COORD, -2.56}, 2, 460, 100, "", NO_LABEL, CENTER_ALIGNED_TEXT, IS_TEXT_ENTRY)
createTextBox({3.95, UI_Y_COORD, -2.56}, 2, 460, 100, "", NO_LABEL, CENTER_ALIGNED_TEXT, IS_TEXT_ENTRY)
infoEyesTxtEntry = spawnedUiElementsWhichSaveData + 1
infoEyesTxtEntry = spawnedUiElementsWhichSaveData + 1
createTextBox({4.75, UI_Y_COORD, -2.56}, 2, 460, 100, "", NO_LABEL, CENTER_ALIGNED_TEXT, IS_TEXT_ENTRY)
createTextBox({4.75, UI_Y_COORD, -2.56}, 2, 460, 100, "", NO_LABEL, CENTER_ALIGNED_TEXT, IS_TEXT_ENTRY)
ExperienceTxtEntry = spawnedUiElementsWhichSaveData + 1
ExperienceTxtEntry = spawnedUiElementsWhichSaveData + 1
createTextBox({5.84, UI_Y_COORD, -2.59}, ONE_ROW, 820, STANDARD_FONT_SIZE, "", NO_LABEL, CENTER_ALIGNED_TEXT, IS_TEXT_ENTRY)
createTextBox({5.84, UI_Y_COORD, -2.59}, ONE_ROW, 820, STANDARD_FONT_SIZE, "", NO_LABEL, CENTER_ALIGNED_TEXT, IS_TEXT_ENTRY)
ExpLVLUPDisplayIdx = spawnedButtonCount
ExpLVLUPDisplayIdx = spawnedButtonCount
createDisplayNumber({7.24, UI_Y_COORD, -2.59}, STANDARD_FONT_SIZE, 0, 0)
createDisplayNumber({7.24, UI_Y_COORD, -2.59}, STANDARD_FONT_SIZE, 0, 0)
ProfBonusDisplayIdx = spawnedButtonCount
ProfBonusDisplayIdx = spawnedButtonCount
createDisplayNumber({-9.33, UI_Y_COORD, -5.47}, 400, 0, 0)
createDisplayNumber({-9.33, UI_Y_COORD, -5.47}, 400, 0, 0)
local ABILITY_MOD_FONT_SIZE = 600
local ABILITY_MOD_FONT_SIZE = 600
local ABILITY_SCORE_FONT_SIZE = 250
local ABILITY_SCORE_FONT_SIZE = 250
local ABILITY_WIDTH = 310
local ABILITY_WIDTH = 310
local abilityXcord = -10.883
local abilityXcord = -10.883
STRscoreDisplayIdx = spawnedButtonCount
STRscoreDisplayIdx = spawnedButtonCount
createDisplayNumber({abilityXcord, UI_Y_COORD, -4.98}, ABILITY_SCORE_FONT_SIZE, 0, 0)
createDisplayNumber({abilityXcord, UI_Y_COORD, -4.98}, ABILITY_SCORE_FONT_SIZE, 0, 0)
DEXscoreDisplayIdx = spawnedButtonCount
DEXscoreDisplayIdx = spawnedButtonCount
createDisplayNumber({abilityXcord, UI_Y_COORD, -2.79}, ABILITY_SCORE_FONT_SIZE, 0, 0)
createDisplayNumber({abilityXcord, UI_Y_COORD, -2.79}, ABILITY_SCORE_FONT_SIZE, 0, 0)
CONscoreDisplayIdx = spawnedButtonCount
CONscoreDisplayIdx = spawnedButtonCount
createDisplayNumber({abilityXcord, UI_Y_COORD, -0.62}, ABILITY_SCORE_FONT_SIZE, 0, 0)
createDisplayNumber({abilityXcord, UI_Y_COORD, -0.62}, ABILITY_SCORE_FONT_SIZE, 0, 0)
INTscoreDisplayIdx = spawnedButtonCount
INTscoreDisplayIdx = spawnedButtonCount
createDisplayNumber({abilityXcord, UI_Y_COORD, 1.54}, ABILITY_SCORE_FONT_SIZE, 0, 0)
createDisplayNumber({abilityXcord, UI_Y_COORD, 1.54}, ABILITY_SCORE_FONT_SIZE, 0, 0)
WISscoreDisplayIdx = spawnedButtonCount
WISscoreDisplayIdx = spawnedButtonCount
createDisplayNumber({abilityXcord, UI_Y_COORD, 3.72}, ABILITY_SCORE_FONT_SIZE, 0, 0)
createDisplayNumber({abilityXcord, UI_Y_COORD, 3.72}, ABILITY_SCORE_FONT_SIZE, 0, 0)
CHAscoreDisplayIdx = spawnedButtonCount
CHAscoreDisplayIdx = spawnedButtonCount
createDisplayNumber({abilityXcord, UI_Y_COORD, 5.89}, ABILITY_SCORE_FONT_SIZE, 0, 0)
createDisplayNumber({abilityXcord, UI_Y_COORD, 5.89}, ABILITY_SCORE_FONT_SIZE, 0, 0)
STRmodDisplayIdx = spawnedButtonCount
STRmodDisplayIdx = spawnedButtonCount
createDisplayNumber({abilityXcord, UI_Y_COORD, -5.7}, ABILITY_MOD_FONT_SIZE, 0, 0)
createDisplayNumber({abilityXcord, UI_Y_COORD, -5.7}, ABILITY_MOD_FONT_SIZE, 0, 0)
DEXmodDisplayIdx = spawnedButtonCount
DEXmodDisplayIdx = spawnedButtonCount
createDisplayNumber({abilityXcord, UI_Y_COORD, -3.52}, ABILITY_MOD_FONT_SIZE, 0, 0)
createDisplayNumber({abilityXcord, UI_Y_COORD, -3.52}, ABILITY_MOD_FONT_SIZE, 0, 0)
CONmodDisplayIdx = spawnedButtonCount
CONmodDisplayIdx = spawnedButtonCount
createDisplayNumber({abilityXcord, UI_Y_COORD, -1.34}, ABILITY_MOD_FONT_SIZE, 0, 0)
createDisplayNumber({abilityXcord, UI_Y_COORD, -1.34}, ABILITY_MOD_FONT_SIZE, 0, 0)
INTmodDisplayIdx = spawnedButtonCount
INTmodDisplayIdx = spawnedButtonCount
createDisplayNumber({abilityXcord, UI_Y_COORD, 0.84}, ABILITY_MOD_FONT_SIZE, 0, 0)
createDisplayNumber({abilityXcord, UI_Y_COORD, 0.84}, ABILITY_MOD_FONT_SIZE, 0, 0)
WISmodDisplayIdx = spawnedButtonCount
WISmodDisplayIdx = spawnedButtonCount
createDisplayNumber({abilityXcord, UI_Y_COORD, 3.02}, ABILITY_MOD_FONT_SIZE, 0, 0)
createDisplayNumber({abilityXcord, UI_Y_COORD, 3.02}, ABILITY_MOD_FONT_SIZE, 0, 0)
CHAmodDisplayIdx = spawnedButtonCount
CHAmodDisplayIdx = spawnedButtonCount
createDisplayNumber({abilityXcord, UI_Y_COORD, 5.2}, ABILITY_MOD_FONT_SIZE, 0, 0)
createDisplayNumber({abilityXcord, UI_Y_COORD, 5.2}, ABILITY_MOD_FONT_SIZE, 0, 0)
local SKILL_FONT_SIZE = 200
local SKILL_FONT_SIZE = 200
local saveCHECKXcord = -9.545
local saveCHECKXcord = -9.545
local saveTOTALXcord = -9.2
local saveTOTALXcord = -9.2
local saveITEMXcord = -8.715
local saveITEMXcord = -8.715
local saveMODXcord = -8.28
local saveMODXcord = -8.28
STRsaveCheckDisplayIdx = spawnedButtonCount
STRsaveCheckDisplayIdx = spawnedButtonCount
createDisplayNumber({saveCHECKXcord, UI_Y_COORD, -4.45}, CHECK_FONT_SIZE, 160, 160)
createDisplayNumber({saveCHECKXcord, UI_Y_COORD, -4.45}, CHECK_FONT_SIZE, 160, 160)
DEXsaveCheckDisplayIdx = spawnedButtonCount
DEXsaveCheckDisplayIdx = spawnedButtonCount
createDisplayNumber({saveCHECKXcord, UI_Y_COORD, -4.04}, CHECK_FONT_SIZE, 160, 160)
createDisplayNumber({saveCHECKXcord, UI_Y_COORD, -4.04}, CHECK_FONT_SIZE, 160, 160)
CONsaveCheckDisplayIdx = spawnedButtonCount
CONsaveCheckDisplayIdx = spawnedButtonCount
createDisplayNumber({saveCHECKXcord, UI_Y_COORD, -3.63}, CHECK_FONT_SIZE, 160, 160)
createDisplayNumber({saveCHECKXcord, UI_Y_COORD, -3.63}, CHECK_FONT_SIZE, 160, 160)
INTsaveCheckDisplayIdx = spawnedButtonCount
INTsaveCheckDisplayIdx = spawnedButtonCount
createDisplayNumber({saveCHECKXcord, UI_Y_COORD, -3.22}, CHECK_FONT_SIZE, 160, 160)
createDisplayNumber({saveCHECKXcord, UI_Y_COORD, -3.22}, CHECK_FONT_SIZE, 160, 160)
WISsaveCheckDisplayIdx = spawnedButtonCount
WISsaveCheckDisplayIdx = spawnedButtonCount
createDisplayNumber({saveCHECKXcord, UI_Y_COORD, -2.81}, CHECK_FONT_SIZE, 160, 160)
createDisplayNumber({saveCHECKXcord, UI_Y_COORD, -2.81}, CHECK_FONT_SIZE, 160, 160)
CHAsaveCheckDisplayIdx = spawnedButtonCount
CHAsaveCheckDisplayIdx = spawnedButtonCount
createDisplayNumber({saveCHECKXcord, UI_Y_COORD, -2.4}, CHECK_FONT_SIZE, 160, 160)
createDisplayNumber({saveCHECKXcord, UI_Y_COORD, -2.4}, CHECK_FONT_SIZE, 160, 160)
STRsaveTotalDisplayIdx = spawnedButtonCount
STRsaveTotalDisplayIdx = spawnedButtonCount
createDisplayNumber({saveTOTALXcord, UI_Y_COORD, -4.45}, SKILL_FONT_SIZE, 0, 0)
createDisplayNumber({saveTOTALXcord, UI_Y_COORD, -4.45}, SKILL_FONT_SIZE, 0, 0)
DEXsaveTotalDisplayIdx = spawnedButtonCount
DEXsaveTotalDisplayIdx = spawnedButtonCount
createDisplayNumber({saveTOTALXcord, UI_Y_COORD, -4.04}, SKILL_FONT_SIZE, 0, 0)
createDisplayNumber({saveTOTALXcord, UI_Y_COORD, -4.04}, SKILL_FONT_SIZE, 0, 0)
CONsaveTotalDisplayIdx = spawnedButtonCount
CONsaveTotalDisplayIdx = spawnedButtonCount
createDisplayNumber({saveTOTALXcord, UI_Y_COORD, -3.63}, SKILL_FONT_SIZE, 0, 0)
createDisplayNumber({saveTOTALXcord, UI_Y_COORD, -3.63}, SKILL_FONT_SIZE, 0, 0)
INTsaveTotalDisplayIdx = spawnedButtonCount
INTsaveTotalDisplayIdx = spawnedButtonCount
createDisplayNumber({saveTOTALXcord, UI_Y_COORD, -3.22}, SKILL_FONT_SIZE, 0, 0)
createDisplayNumber({saveTOTALXcord, UI_Y_COORD, -3.22}, SKILL_FONT_SIZE, 0, 0)
WISsaveTotalDisplayIdx = spawnedButtonCount
WISsaveTotalDisplayIdx = spawnedButtonCount
createDisplayNumber({saveTOTALXcord, UI_Y_COORD, -2.81}, SKILL_FONT_SIZE, 0, 0)
createDisplayNumber({saveTOTALXcord, UI_Y_COORD, -2.81}, SKILL_FONT_SIZE, 0, 0)
CHAsaveTotalDisplayIdx = spawnedButtonCount
CHAsaveTotalDisplayIdx = spawnedButtonCount
createDisplayNumber({saveTOTALXcord, UI_Y_COORD, -2.4}, SKILL_FONT_SIZE, 0, 0)
createDisplayNumber({saveTOTALXcord, UI_Y_COORD, -2.4}, SKILL_FONT_SIZE, 0, 0)
STRsaveItemDisplayIdx = spawnedUiElementsWhichSaveData + 1
STRsaveItemDisplayIdx = spawnedUiElementsWhichSaveData + 1
createTextBox({saveITEMXcord, UI_Y_COORD, -4.45}, ONE_ROW, 240, SKILL_FONT_SIZE, "", NO_LABEL, CENTER_ALIGNED_TEXT, IS_NUMERIC_ENTRY)
createTextBox({saveITEMXcord, UI_Y_COORD, -4.45}, ONE_ROW, 240, SKILL_FONT_SIZE, "", NO_LABEL, CENTER_ALIGNED_TEXT, IS_NUMERIC_ENTRY)
DEXsaveItemDisplayIdx = spawnedUiElementsWhichSaveData + 1
DEXsaveItemDisplayIdx = spawnedUiElementsWhichSaveData + 1
createTextBox({saveITEMXcord, UI_Y_COORD, -4.04}, ONE_ROW, 240, SKILL_FONT_SIZE, "", NO_LABEL, CENTER_ALIGNED_TEXT, IS_NUMERIC_ENTRY)
createTextBox({saveITEMXcord, UI_Y_COORD, -4.04}, ONE_ROW, 240, SKILL_FONT_SIZE, "", NO_LABEL, CENTER_ALIGNED_TEXT, IS_NUMERIC_ENTRY)
CONsaveItemDisplayIdx = spawnedUiElementsWhichSaveData + 1
CONsaveItemDisplayIdx = spawnedUiElementsWhichSaveData + 1
createTextBox({saveITEMXcord, UI_Y_COORD, -3.63}, ONE_ROW, 240, SKILL_FONT_SIZE, "", NO_LABEL, CENTER_ALIGNED_TEXT, IS_NUMERIC_ENTRY)
createTextBox({saveITEMXcord, UI_Y_COORD, -3.63}, ONE_ROW, 240, SKILL_FONT_SIZE, "", NO_LABEL, CENTER_ALIGNED_TEXT, IS_NUMERIC_ENTRY)
INTsaveItemDisplayIdx = spawnedUiElementsWhichSaveData + 1
INTsaveItemDisplayIdx = spawnedUiElementsWhichSaveData + 1
createTextBox({saveITEMXcord, UI_Y_COORD, -3.22}, ONE_ROW, 240, SKILL_FONT_SIZE, "", NO_LABEL, CENTER_ALIGNED_TEXT, IS_NUMERIC_ENTRY)
createTextBox({saveITEMXcord, UI_Y_COORD, -3.22}, ONE_ROW, 240, SKILL_FONT_SIZE, "", NO_LABEL, CENTER_ALIGNED_TEXT, IS_NUMERIC_ENTRY)
WISsaveItemDisplayIdx = spawnedUiElementsWhichSaveData + 1
WISsaveItemDisplayIdx = spawnedUiElementsWhichSaveData + 1
createTextBox({saveITEMXcord, UI_Y_COORD, -2.81}, ONE_ROW, 240, SKILL_FONT_SIZE, "", NO_LABEL, CENTER_ALIGNED_TEXT, IS_NUMERIC_ENTRY)
createTextBox({saveITEMXcord, UI_Y_COORD, -2.81}, ONE_ROW, 240, SKILL_FONT_SIZE, "", NO_LABEL, CENTER_ALIGNED_TEXT, IS_NUMERIC_ENTRY)
CHAsaveItemDisplayIdx = spawnedUiElementsWhichSaveData + 1
CHAsaveItemDisplayIdx = spawnedUiElementsWhichSaveData + 1
createTextBox({saveITEMXcord, UI_Y_COORD, -2.4}, ONE_ROW, 240, SKILL_FONT_SIZE, "", NO_LABEL, CENTER_ALIGNED_TEXT, IS_NUMERIC_ENTRY)
createTextBox({saveITEMXcord, UI_Y_COORD, -2.4}, ONE_ROW, 240, SKILL_FONT_SIZE, "", NO_LABEL, CENTER_ALIGNED_TEXT, IS_NUMERIC_ENTRY)
STRsaveModDisplayIdx = spawnedButtonCount
STRsaveModDisplayIdx = spawnedButtonCount
createDisplayNumber({saveMODXcord, UI_Y_COORD, -4.45}, SKILL_FONT_SIZE, 0, 0)
createDisplayNumber({saveMODXcord, UI_Y_COORD, -4.45}, SKILL_FONT_SIZE, 0, 0)
DEXsaveModDisplayIdx = spawnedButtonCount
DEXsaveModDisplayIdx = spawnedButtonCount
createDisplayNumber({saveMODXcord, UI_Y_COORD, -4.04}, SKILL_FONT_SIZE, 0, 0)
createDisplayNumber({saveMODXcord, UI_Y_COORD, -4.04}, SKILL_FONT_SIZE, 0, 0)
CONsaveModDisplayIdx = spawnedButtonCount
CONsaveModDisplayIdx = spawnedButtonCount
createDisplayNumber({saveMODXcord, UI_Y_COORD, -3.63}, SKILL_FONT_SIZE, 0, 0)
createDisplayNumber({saveMODXcord, UI_Y_COORD, -3.63}, SKILL_FONT_SIZE, 0, 0)
INTsaveModDisplayIdx = spawnedButtonCount
INTsaveModDisplayIdx = spawnedButtonCount
createDisplayNumber({saveMODXcord, UI_Y_COORD, -3.22}, SKILL_FONT_SIZE, 0, 0)
createDisplayNumber({saveMODXcord, UI_Y_COORD, -3.22}, SKILL_FONT_SIZE, 0, 0)
WISsaveModDisplayIdx = spawnedButtonCount
WISsaveModDisplayIdx = spawnedButtonCount
createDisplayNumber({saveMODXcord, UI_Y_COORD, -2.81}, SKILL_FONT_SIZE, 0, 0)
createDisplayNumber({saveMODXcord, UI_Y_COORD, -2.81}, SKILL_FONT_SIZE, 0, 0)
CHAsaveModDisplayIdx = spawnedButtonCount
CHAsaveModDisplayIdx = spawnedButtonCount
createDisplayNumber({saveMODXcord, UI_Y_COORD, -2.4}, SKILL_FONT_SIZE, 0, 0)
createDisplayNumber({saveMODXcord, UI_Y_COORD, -2.4}, SKILL_FONT_SIZE, 0, 0)
AcrobaticsCheckDisplayIdx = spawnedButtonCount
AcrobaticsCheckDisplayIdx = spawnedButtonCount
createDisplayNumber({saveCHECKXcord, UI_Y_COORD, -0.94}, CHECK_FONT_SIZE, 160, 160)
createDisplayNumber({saveCHECKXcord, UI_Y_COORD, -0.94}, CHECK_FONT_SIZE, 160, 160)
AnimalHandlingCheckDisplayIdx = spawnedButtonCount
AnimalHandlingCheckDisplayIdx = spawnedButtonCount
createDisplayNumber({saveCHECKXcord, UI_Y_COORD, -0.53}, CHECK_FONT_SIZE, 160, 160)
createDisplayNumber({saveCHECKXcord, UI_Y_COORD, -0.53}, CHECK_FONT_SIZE, 160, 160)
ArcanaCheckDisplayIdx = spawnedButtonCount
ArcanaCheckDisplayIdx = spawnedButtonCount
createDisplayNumber({saveCHECKXcord, UI_Y_COORD, -0.12}, CHECK_FONT_SIZE, 160, 160)
createDisplayNumber({saveCHECKXcord, UI_Y_COORD, -0.12}, CHECK_FONT_SIZE, 160, 160)
AthleticsCheckDisplayIdx = spawnedButtonCount
AthleticsCheckDisplayIdx = spawnedButtonCount
createDisplayNumber({saveCHECKXcord, UI_Y_COORD, 0.29}, CHECK_FONT_SIZE, 160, 160)
createDisplayNumber({saveCHECKXcord, UI_Y_COORD, 0.29}, CHECK_FONT_SIZE, 160, 160)
DeceptionCheckDisplayIdx = spawnedButtonCount
DeceptionCheckDisplayIdx = spawnedButtonCount
createDisplayNumber({saveCHECKXcord, UI_Y_COORD, 0.7}, CHECK_FONT_SIZE, 160, 160)
createDisplayNumber({saveCHECKXcord, UI_Y_COORD, 0.7}, CHECK_FONT_SIZE, 160, 160)
HistoryCheckDisplayIdx = spawnedButtonCount
HistoryCheckDisplayIdx = spawnedButtonCount
createDisplayNumber({saveCHECKXcord, UI_Y_COORD, 1.11}, CHECK_FONT_SIZE, 160, 160)
createDisplayNumber({saveCHECKXcord, UI_Y_COORD, 1.11}, CHECK_FONT_SIZE, 160, 160)
InsightCheckDisplayIdx = spawnedButtonCount
InsightCheckDisplayIdx = spawnedButtonCount
createDisplayNumber({saveCHECKXcord, UI_Y_COORD, 1.52}, CHECK_FONT_SIZE, 160, 160)
createDisplayNumber({saveCHECKXcord, UI_Y_COORD, 1.52}, CHECK_FONT_SIZE, 160, 160)
IntimidationCheckDisplayIdx = spawnedButtonCount
IntimidationCheckDisplayIdx = spawnedButtonCount
createDisplayNumber({saveCHECKXcord, UI_Y_COORD, 1.93}, CHECK_FONT_SIZE, 160, 160)
createDisplayNumber({saveCHECKXcord, UI_Y_COORD, 1.93}, CHECK_FONT_SIZE, 160, 160)
InvestigationCheckDisplayIdx = spawnedButtonCount
InvestigationCheckDisplayIdx = spawnedButtonCount
createDisplayNumber({saveCHECKXcord, UI_Y_COORD, 2.34}, CHECK_FONT_SIZE, 160, 160)
createDisplayNumber({saveCHECKXcord, UI_Y_COORD, 2.34}, CHECK_FONT_SIZE, 160, 160)
MedicineCheckDisplayIdx = spawnedButtonCount
MedicineCheckDisplayIdx = spawnedButtonCount
createDisplayNumber({saveCHECKXcord, UI_Y_COORD, 2.75}, CHECK_FONT_SIZE, 160, 160)
createDisplayNumber({saveCHECKXcord, UI_Y_COORD, 2.75}, CHECK_FONT_SIZE, 160, 160)
NatureCheckDisplayIdx = spawnedButtonCount
NatureCheckDisplayIdx = spawnedButtonCount
createDisplayNumber({saveCHECKXcord, UI_Y_COORD, 3.16}, CHECK_FONT_SIZE, 160, 160)
createDisplayNumber({saveCHECKXcord, UI_Y_COORD, 3.16}, CHECK_FONT_SIZE, 160, 160)
PerceptionCheckDisplayIdx = spawnedButtonCount
PerceptionCheckDisplayIdx = spawnedButtonCount
createDisplayNumber({saveCHECKXcord, UI_Y_COORD, 3.57}, CHECK_FONT_SIZE, 160, 160)
createDisplayNumber({saveCHECKXcord, UI_Y_COORD, 3.57}, CHECK_FONT_SIZE, 160, 160)
PerformanceCheckDisplayIdx = spawnedButtonCount
PerformanceCheckDisplayIdx = spawnedButtonCount
createDisplayNumber({saveCHECKXcord, UI_Y_COORD, 3.98}, CHECK_FONT_SIZE, 160, 160)
createDisplayNumber({saveCHECKXcord, UI_Y_COORD, 3.98}, CHECK_FONT_SIZE, 160, 160)
PersuasionCheckDisplayIdx = spawnedButtonCount
PersuasionCheckDisplayIdx = spawnedButtonCount
createDisplayNumber({saveCHECKXcord, UI_Y_COORD, 4.39}, CHECK_FONT_SIZE, 160, 160)
createDisplayNumber({saveCHECKXcord, UI_Y_COORD, 4.39}, CHECK_FONT_SIZE, 160, 160)
ReligionCheckDisplayIdx = spawnedButtonCount
ReligionCheckDisplayIdx = spawnedButtonCount
createDisplayNumber({saveCHECKXcord, UI_Y_COORD, 4.8}, CHECK_FONT_SIZE, 160, 160)
createDisplayNumber({saveCHECKXcord, UI_Y_COORD, 4.8}, CHECK_FONT_SIZE, 160, 160)
SleightofHandCheckDisplayIdx = spawnedButtonCount
SleightofHandCheckDisplayIdx = spawnedButtonCount
createDisplayNumber({saveCHECKXcord, UI_Y_COORD, 5.21}, CHECK_FONT_SIZE, 160, 160)
createDisplayNumber({saveCHECKXcord, UI_Y_COORD, 5.21}, CHECK_FONT_SIZE, 160, 160)
StealthCheckDisplayIdx = spawnedButtonCount
StealthCheckDisplayIdx = spawnedButtonCoun
createDisplayNumber({saveCHECKXcord, UI_Y_COORD, 5.62}, CHECK_FONT_SIZE, 160, 160)
SurvivalCheckDisplayIdx = spawnedButtonCount
createDisplayNumber({saveCHECKXcord, UI_Y_COORD, 6.03}, CHECK_FONT_SIZE, 160, 160)
AcrobaticsTotalDisplayIdx = spawnedButtonCount
createDisplayNumber({saveTOTALXcord, UI_Y_COORD, -0.94}, SKILL_FONT_SIZE, 0, 0)
AnimalHandlingTotalDisplayIdx = spawnedButtonCount
createDisplayNumber({saveTOTALXcord, UI_Y_COORD, -0.53}, SKILL_FONT_SIZE, 0, 0)
ArcanaTotalDisplayIdx = spawnedButtonCount
createDisplayNumber({saveTOTALXcord, UI_Y_COORD, -0.12}, SKILL_FONT_SIZE, 0, 0)
AthleticsTotalDisplayIdx = spawnedButtonCount
createDisplayNumber({saveTOTALXcord, UI_Y_COORD, 0.29}, SKILL_FONT_SIZE, 0, 0)
DeceptionTotalDisplayIdx = spawnedButtonCount
createDisplayNumber({saveTOTALXcord, UI_Y_COORD, 0.7}, SKILL_FONT_SIZE, 0, 0)
HistoryTotalDisplayIdx = spawnedButtonCount
createDisplayNumber({saveTOTALXcord, UI_Y_COORD, 1.11}, SKILL_FONT_SIZE, 0, 0)
InsightTotalDisplayIdx = spawnedButtonCount
createDisplayNumber({saveTOTALXcord, UI_Y_COORD, 1.52}, SKILL_FONT_SIZE, 0, 0)
IntimidationTotalDisplayIdx = spawnedButtonCount
createDisplayNumber({saveTOTALXcord, UI_Y_COORD, 1.93}, SKILL_FONT_SIZE, 0, 0)
InvestigationTotalDisplayIdx = spawnedButtonCount
createDisplayNumber({saveTOTALXcord, UI_Y_COORD, 2.34}, SKILL_FONT_SIZE, 0, 0)
MedicineTotalDisplayIdx = spawnedButtonCount
createDisplayNumber({saveTOTALXcord, UI_Y_COORD, 2.75}, SKILL_FONT_SIZE, 0, 0)
NatureTotalDisplayIdx = spawnedButtonCount
createDisplayNumber({saveTOTALXcord, UI_Y_COORD, 3.16}, SKILL_FONT_SIZE, 0, 0)
PerceptionTotalDisplayIdx = spawnedButtonCount
createDisplayNumber({saveTOTALXcord, UI_Y_COORD, 3.57}, SKILL_FONT_SIZE, 0, 0)
PerformanceTotalDisplayIdx = spawnedButtonCount
createDisplayNumber({saveTOTALXcord, UI_Y_COORD, 3.98}, SKILL_FONT_SIZE, 0, 0)
PersuasionTotalDisplayIdx = spawnedButtonCount
createDisplayNumber({saveTOTALXcord, UI_Y_COORD, 4.39}, SKILL_FONT_SIZE, 0, 0)
ReligionTotalDisplayIdx = spawnedButtonCount
createDisplayNumber({saveTOTALXcord, UI_Y_COORD, 4.8}, SKILL_FONT_SIZE, 0, 0)
SleightofHandTotalDisplayIdx = spawnedButtonCount
createDisplayNumber({saveTOTALXcord, UI_Y_COORD, 5.21}, SKILL_FONT_SIZE, 0, 0)
StealthTotalDisplayIdx = spawnedButtonCount
createDisplayNumber({saveTOTALXcord, UI_Y_COORD, 5.62}, SKILL_FONT_SIZE, 0, 0)
SurvivalTotalDisplayIdx = spawnedButtonCount
createDisplayNumber({saveTOTALXcord, UI_Y_COORD, 6.03}, SKILL_FONT_SIZE, 0, 0)
AcrobaticsItemDisplayIdx = spawnedUiElementsWhichSaveData + 1
createTextBox({saveITEMXcord, UI_Y_COORD, -0.94}, ONE_ROW, 240, SKILL_FONT_SIZE, "", NO_LABEL, CENTER_ALIGNED_TEXT, IS_NUMERIC_ENTRY)
AnimalHandlingItemDisplayIdx = spawnedUiElementsWhichSaveData + 1
createTextBox({saveITEMXcord, UI_Y_COORD, -0.53}, ONE_ROW, 240, SKILL_FONT_SIZE, "", NO_LABEL, CENTER_ALIGNED_TEXT, IS_NUMERIC_ENTRY)
ArcanaItemDisplayIdx = spawnedUiElementsWhichSaveData + 1
createTextBox({saveITEMXcord, UI_Y_COORD, -0.12}, ONE_ROW, 240, SKILL_FONT_SIZE, "", NO_LABEL, CENTER_ALIGNED_TEXT, IS_NUMERIC_ENTRY)
AthleticsItemDisplayIdx = spawnedUiElementsWhichSaveData + 1
createTextBox({saveITEMXcord, UI_Y_COORD, 0.29}, ONE_ROW, 240, SKILL_FONT_SIZE, "", NO_LABEL, CENTER_ALIGNED_TEXT, IS_NUMERIC_ENTRY)
DeceptionItemDisplayIdx = spawnedUiElementsWhichSaveData + 1
createTextBox({saveITEMXcord, UI_Y_COORD, 0.7}, ONE_ROW, 240, SKILL_FONT_SIZE, "", NO_LABEL, CENTER_ALIGNED_TEXT, IS_NUMERIC_ENTRY)
HistoryItemDisplayIdx = spawnedUiElementsWhichSaveData + 1
createTextBox({saveITEMXcord, UI_Y_COORD, 1.11}, ONE_ROW, 240, SKILL_FONT_SIZE, "", NO_LABEL, CENTER_ALIGNED_TEXT, IS_NUMERIC_ENTRY)
InsightItemDisplayIdx = spawnedUiElementsWhichSaveData + 1
createTextBox({saveITEMXcord, UI_Y_COORD, 1.52}, ONE_ROW, 240, SKILL_FONT_SIZE, "", NO_LABEL, CENTER_ALIGNED_TEXT, IS_NUMERIC_ENTRY)
IntimidationItemDisplayIdx = spawnedUiElementsWhichSaveData + 1
createTextBox({saveITEMXcord, UI_Y_COORD, 1.93}, ONE_ROW, 240, SKILL_FONT_SIZE, "", NO_LABEL, CENTER_ALIGNED_TEXT, IS_NUMERIC_ENTRY)
InvestigationItemDisplayIdx = spawnedUiElementsWhichSaveData + 1
createTextBox({saveITEMXcord, UI_Y_COORD, 2.34}, ONE_ROW, 240, SKILL_FONT_SIZE, "", NO_LABEL, CENTER_ALIGNED_TEXT, IS_NUMERIC_ENTRY)
MedicineItemDisplayIdx = spawnedUiElementsWhichSaveData + 1
createTextBox({saveITEMXcord, UI_Y_COORD, 2.75}, ONE_ROW, 240, SKILL_FONT_SIZE, "", NO_LABEL, CENTER_ALIGNED_TEXT, IS_NUMERIC_ENTRY)
NatureItemDisplayIdx = spawnedUiElementsWhichSaveData + 1
createTextBox({saveITEMXcord, UI_Y_COORD, 3.16}, ONE_ROW, 240, SKILL_FONT_SIZE, "", NO_LABEL, CENTER_ALIGNED_TEXT, IS_NUMERIC_ENTRY)
PerceptionItemDisplayIdx = spawnedUiElementsWhichSaveData + 1
createTextBox({saveITEMXcord, UI_Y_COORD, 3.57}, ONE_ROW, 240, SKILL_FONT_SIZE, "", NO_LABEL, CENTER_ALIGNED_TEXT, IS_NUMERIC_ENTRY)
PerformanceItemDisplayIdx = spawnedUiElementsWhichSaveData + 1
createTextBox({saveITEMXcord, UI_Y_COORD, 3.98}, ONE_ROW, 240, SKILL_FONT_SIZE, "", NO_LABEL, CENTER_ALIGNED_TEXT, IS_NUMERIC_ENTRY)
PersuasionItemDisplayIdx = spawnedUiElementsWhichSaveData + 1
createTextBox({saveITEMXcord, UI_Y_COORD, 4.39}, ONE_ROW, 240, SKILL_FONT_SIZE, "", NO_LABEL, CENTER_ALIGNED_TEXT, IS_NUMERIC_ENTRY)
ReligionItemDisplayIdx = spawnedUiElementsWhichSaveData + 1
create