Pet Drag
Pet Drag
Version: v1.4.2
To add your mindstone save to the save in the cosmetic folder, paste this:
var PDRPG = import Cosmetics/PetDragonRPG
PDRPG.replaceSave(getSave())
Lv0: Egg
Lv4: Hatchling
Lv8: Baby
Lv12: Juvenile
Lv20: Adult
*/
//Text translations.
var _MODESTOP = 10
var _MODESLOW = 11
var _MODEFAST = 12
var _MODECATCHUP = 13
var _CURUISSRPG = 20
var _CURUIWF = 21
var _CURUISET = 22
var _CURUIEXPORT = 23
var _CURUISHOWSSRPG = 24
var _CURUIMINWF = 25
// UI Calls
var masterPanel
var wfUI
var waterUI
var setUI
var settingsUI
var potUI
var exportUI
var srUI
var srpgUI
var showSrpgUI
//UI creators
func startPanel()
masterPanel = addPanel()
masterPanel.x = -1
masterPanel.y = -1
masterPanel.w = screen.w + 2
masterPanel.h = screen.h + 2
masterPanel.dock = "top_left"
masterPanel.anchor = "top_left"
masterPanel.style = specPanel //drag
masterPanel.visible = false
?type = _UIPANEL
function = addPanel()
:?type = _UITEXT
function = addText()
:?type = _UIBUTTON
function = addButton()
?funcHolder
function.SetPressed(funcHolder)
:?type = _UIANIM
function = makeUI(_UIPANEL,"","","","","","")
function.style = invisPanel
function.Add(addAnim(text))
?colour
function.children[0].color = colour
?anchor
function.children[0].anchor = anchor
function.children[0].dock = anchor
text = ""
?colour
?type = _UIBUTTON
function.hcolor = colour
:
function.color = colour
?text
function.text = text
?xy
function.x = xy[0]
function.y = xy[1]
?hw
function.h = hw[0]
function.w = hw[1]
?anchor
function.anchor = anchor
function.dock = anchor
masterPanel.Add(function)
return function
func uiAddChild(parent,childNumber,type,colour,anchor,function,xy,hw,text)
//Add a UI object to "parent".
//If "parent" is empty, throws an error.
//"type" can be any tag above.
//If empty, throws an error.
//All other variables are self-explanatory.
//If empty, gets the game's default value.
?type = _UITEXT
?parent.children.Count() <= childNumber
parent.Add(addText())
?text
parent.children[childNumber].text = text
:?type = _UIANIM
?parent.children.Count() <= childNumber
parent.Add(addAnim(text))
:
parent.children[childNumber].Load(text)
:?type = _UIPANEL
?parent.children.Count() <= childNumber
parent.Add(addPanel())
:?type = _UIBUTTON
?parent.children.Count() <= childNumber
parent.Add(addButton())
?text
parent.children[childNumber].text = text
?function
parent.children[childNumber].SetPressed(function)
?colour
?type = _UIBUTTON
parent.children[childNumber].hcolor = colour
:
parent.children[childNumber].color = colour
?xy
parent.children[childNumber].x = xy[0]
parent.children[childNumber].y = xy[1]
?hw
parent.children[childNumber].h = hw[0]
parent.children[childNumber].w = hw[1]
?anchor
parent.children[childNumber].anchor = anchor
parent.children[childNumber].dock = anchor
//Savefile functions
var savefileData = [
^"dragonLevel", "EXP", "shapeshift", //Dragon
^"kills", "ki", "tar", "wood", "stone", "bronze", //Items
^"CurrentQuest", "questKills", "questKi", "questTar", "questWood", "questStone",
"questBronze", //Quest progress
^"requiredKills", "requiredKi", "requiredTar", "requiredWood", "requiredStone",
"requiredBronze", //Quest requirement
^"completeKills", "completeKi", "completeTar", "completeWood", "completeStone",
"completeBronze", // Quest count
^"EXPcost", "cost1", "cost2", "killCost", "kiCost", "tarCost", "woodCost",
"StoneCost", "BronzeCost", //Cost
^"15Fcheck", "EnablePet", "showSsrpgUI"] //Settings
var defaultSavefile = [
^0,0,_SHAPEDEFAULT, //Dragon
^0,0,0,0,0,0, //Items
^0,0,0,0,0,0,0, //Quest progress
^100,100,100,100,100,100, //Quest requirement
^0,0,0,0,0,0, //Quest count
^0,0,1,0,0,0,0,0,0, //Cost
^15, false, false] //Settings
func massUpdate()
//Updates all storage vars kept in user vars
curQuest = StoreGet("CurrentQuest",0)
dragonShape = StoreGet("shapeshift",_SHAPEDEFAULT)
dragonLevel = StoreGet("dragonLevel",0)
func deleteSave()
//Deletes the savefile.
for i = 0..savefileData.Count()-1
StoreDelete(savefileData[i])
>Savefile deleted. Leave the level and rejoin to see changes.
loc.pause()
func replaceSave(savefile)
//Imports a savefile.
for i = 0..savefileData.Count()-1
StoreSet(savefileData[i], savefile[i])
massUpdate()
>Savefile replaced. Leave the level and rejoin to see changes.
loc.pause()
func resetSave()
//Resets the savefile.
for i = 0..savefileData.Count()-1
StoreSet(savefileData[i], defaultSavefile[i])
setLevelCost()
getNewQuest()
massUpdate()
>Savefile has been reset. Leave the level and rejoin to see changes.
loc.pause()
func getSave()
//Returns the savefile export as an array.
var exD = []
for i = 0..savefileData.Count()-1
exD.Add(StoreGet(savefileData[i], defaultSavefile[i]))
return exD
func printSave()
//Returns the savefile export as a string.
var exD = []
for i = 0..savefileData.Count()-1
exD.Add(StoreGet(savefileData[i], defaultSavefile[i]))
exD[i] = exD[i] + ""
return stringJoin(",", exD)
//All assets
//Dragon variables
var dragon // ui pet
var dArry // ui array
var relativeX = 1
var relativeY = 1
var posY = 1
var posX = 1
var ttime = 1
ttime = totaltime
//
// ST,SL,FS
var tailDur = [96,48,12]
// SL,FS
var walkDur = [24,8]
var jogSpeed = 1
var runSpeed = 1
func runningX()
//Updates the X coord of the dragon.
?mode = _MODESTOP
faceModule()
dArry[2].Play()
dArry[2].duration = tailDur[0]
:?mode = _MODESLOW
?ttime % jogSpeed = 1
faceModule()
dArry[0].Play()
dArry[0].duration = walkDur[0]
dArry[2].Play()
dArry[2].duration = tailDur[1]
dragonX++
:?mode = _MODEFAST
?gLvL = 4
?ttime % 6 = 1
dragonX++
?ttime % runSpeed = 1 | runSpeed = 1
dArry[1].text = Faces[gLvL][3]
dArry[0].Play()
dArry[0].duration = walkDur[1]
dArry[2].Play()
dArry[2].duration = tailDur[2]
dragonX++
:?mode = _MODECATCHUP
dArry[1].text = Faces[gLvL][3]
dArry[0].Play()
dArry[0].duration = walkDur[1]
dArry[2].Play()
dArry[2].duration = tailDur[2]
dragonX++
func runDragon()
//Changes the dragon's mode, and updates its Y coords.
?gLvL >= 2
posX = pos.x
?ttime = 1
dragonX = posX-2
dragonY = pos.z - pos.y
runningX()
?screenFromWorldX(posX) < 10 //Player is near the left of the screen
dragonX = mathMax(dragonX, posX - 10 * (4-runSpeed))
?posX > dragonX
?posX - dragonX >= tooFar
mode = _MODEFAST
:?posX - dragonX <= 1
mode = _MODESLOW
:
?mode = _MODECATCHUP & posX <= dragonX
mode = _MODESLOW
?dragonX > posX + 30
dragonX = posX - 30
:
mode = _MODESTOP
?ttime % 10 = 1
posY = pos.z - pos.y
?posY > dragonY
dragonY++
:?posY < dragonY
dragonY--
:?gLvL = 5 & posY = dragonY
dragonY++
dragon.x = screenFromWorldX(dragonX-relativeX)
dragon.y = screenFromWorldZ(dragonY-relativeY)
//Quests
var questArray = [[
// 0: Quests
"Bane of Foes", // 0
"Gather Souls", // 1
"Gather Resin", // 2
"Gather Fiber", // 3
"Gather Rocks", // 4
"Gather Metal" // 5
],[
// 1: Dialogue
"The dragon grows bored. Show it a spectacle and rouse its spirit!", // 0
"Warm with life, yet torn from the body, bleak and cold. A tragedy.", // 1
"Strange ooze from a cavern of spiders. Its origins are unknown.", // 2
"Tough strands from withered plants. Supposedly part of a healthy diet.", // 3
"Large round pebbles that seem to stare at you. Crunchy and savory.", // 4
"Tough assort metals from a boiling forge. Their durability is immense." // 5
],[
// 2: Quest Progress
"questKills", // 0
"questKi", // 1
"questTar", // 2
"questWood", // 3
"questStone", // 4
"questBronze" // 5
],[
// 3: Quest Complete Requirement
"requiredKills", // 0
"requiredKi", // 1
"requiredTar", // 2
"requiredWood", // 3
"requiredStone", // 4
"requiredBronze" // 5
],[
// 4: Number of Quest Completions
"completeKills", // 0
"completeKi", // 1
"completeTar", // 2
"completeWood", // 3
"completeStone", // 4
"completeBronze" // 5
],[
// 5: Cost of Upgrade
"killCost", // 0
"kiCost", // 1
"tarCost", // 2
"woodCost", // 3
"StoneCost", // 4
"BronzeCost" // 5
]]
func whichLongest(check)
//Checks the length of the longest possible value displayed.
var longest = 0
?check = "res"
longest = mathMax(mathMax(killStorage,kiStorage),
^mathMax(tarStorage,woodStorage),
^mathMax(stoneStorage,bronzeStorage))
:
longest = check
func LvInfo()
//Returns the current progress to the dragon's next level.
var cost1Storage = StoreGet("cost1",0)
var cost2Storage = StoreGet("cost2",0)
var resName1 = resNameArray[cost1Storage]
var resName2 = resNameArray[cost2Storage]
return
^ " Level: "+dragonLevel
^+"\n•###•{Imbue Cost}•###•"
^+"\n [-EXP-]: "+StoreGet("EXP",0)+"/"+StoreGet("EXPcost", 0)
^+"\n ["+resName1+"]: "+StoreGet(ResourceA[cost1Storage],0)
^+"/"+StoreGet(questArray[5][cost1Storage], 0)
^+"\n ["+resName2+"]: "+StoreGet(ResourceA[cost2Storage],0)
^+"/"+StoreGet(questArray[5][cost2Storage], 0)
^+"\n•####################•"
func questDialogue()
//Returns the current quest dialogue.
?curQuest = 0
var gLv = GrowthLv()
?gLv = 0
return "The egg lies dormant. But carnage stirs something within it..."
:?gLv = 1
return "The egg shakes listlessly. Show it some action and entertain it!"
return questArray[1][curQuest]
func getRequirement()
//Returns the requirement for the current quest.
return StoreGet(questArray[3][curQuest],100)
func getProgress()
//Returns the progress for the current quest.
return StoreGet(questArray[2][curQuest],0)
func rngSpecify(weight)
//Returns a random value between 0..weight-1.
return rng % weight
func setLevelCost()
//Sets the cost for the dragon's level.
// set EXP cost for level
var EXPcost = 10+(dragonLevel*10)
StoreSet("EXPcost", EXPcost)
func GrowthLv()
//Returns the dragon's growth stage.
?dragonShape = _SHAPEBEAN
return 2
:?dragonShape = _SHAPENIPPER
return 3
:?dragonShape = _SHAPEJUVENILE
return 4
:?dragonShape = _SHAPEDRAGON
return 5
?dragonLevel >= 20
return 5
:?dragonLevel >= 12
return 4
:?dragonLevel >= 8
return 3
:?dragonLevel >= 4
return 2
:?dragonLevel >= 2
return 1
:
return 0
func randomQuest()
//Returns a random quest, different from the current quest.
var weights = questArray[0].Count()-1
?weights = 0
return 0
var newQuest = rng % weights
?newQuest >= curQuest
newQuest++
return newQuest
func getNewQuest()
//Sets a new quest.
curQuest = randomQuest()
StoreSet("CurrentQuest", curQuest)
StoreSet(questArray[2][curQuest], 0)
func questComplete()
//Check if the quest is complete
return getProgress() >= getRequirement()
func questFinished()
//Ends a quest.
StoreInc("EXP", getRequirement()/10 )
StoreInc(questArray[4][curQuest], 1)
waterUI[5].text = LvInfo()
waterUI[10].visible = false
getNewQuest()
func getQuestCompleteDialogue()
//Returns the dialogue when a quest is completed.
var growth = GrowthLv()
?curQuest = 0
?growth = 5
waterUI[8].text = "What a display of power! Your dragon spreads its wings and
roars, content."
:?growth <= 1
waterUI[8].text = "The egg shakes with excitement. A few cracks form on its
shell."
:?growth = 2
waterUI[8].text = "What a display of power! Your dragon jumps around and
squeaks, content."
:
waterUI[8].text = "What a display of power! Your dragon raises its head and
trills, content."
:?curQuest = 1
waterUI[8].text = "Strength from the essence of the fallen. A forbidden light
glimmers."
:?curQuest = 2
?growth <= 1
waterUI[8].text = "You polish the egg carefully. It glows with a gentle warm
light."
:
waterUI[8].text = "A quick polishing of scales ought to do some good. Your
dragon trills."
:?curQuest = 3
?growth <= 1
waterUI[8].text = "You make a small nest and place the egg within. Warm and
happy."
:
waterUI[8].text = "Suitable material for nesting. Your dragon takes the
material away."
:?curQuest = 4
?growth <= 1
waterUI[8].text = "Which of these was the egg again? Why did you think this
was a good idea?"
:
waterUI[8].text = "Smooth and shiny. A fine addition to your dragon's
treasure hoard."
:?curQuest = 5
?growth <= 1
waterUI[8].text = "There is no reaction from the egg. You decide to stash the
metal away."
:
waterUI[8].text = "Your dragon shakes its head. Somehow, a pile of stones
appealed to it more."
// Settings
func switchPetVisible() // you monster! (;^;)
//Switches the dragon's visibility.
?dragonLevel < 4
>You don't have a dragon.
:?PetIsEnabled
StoreSet("EnablePet", false)
dragon.visible = false
PetIsEnabled = false
settingsUI[2].children[0].text = "Pet Enabled [X]"
:
StoreSet("EnablePet", true)
dragon.visible = true
PetIsEnabled = true
mode = _MODECATCHUP
dragonX = mathMax(pos.x-70, posX-2)
dragonY = pos.z - pos.y
settingsUI[2].children[0].text = "Pet Enabled [V]"
func checkFtoS()
//Frames per check to seconds per check
return ChecksPerFrame / 30.0
func adjustCheckPerSecond(button)
//Edits the number of checks per second.
?button = settingsUI[2].children[1].children[2]
?ChecksPerFrame >= 30
StoreInc("15Fcheck", -15)
ChecksPerFrame -= 15
:
?ChecksPerFrame <= 270
StoreInc("15Fcheck", 15)
ChecksPerFrame += 15
settingsUI[2].children[1].children[1].text = ""+checkFtoS()
func setGrowth(btn)
//Sets the growth display of the dragon.
?dragonLevel < 4
>You don't have a dragon.
:
?btn.text = _SHAPEBEAN
StoreSet("shapeshift", _SHAPEBEAN)
settingsUI[3].children[0].text = "Current: "+_SHAPEBEAN
dragonShape = _SHAPEBEAN
gLvL = 2
:?btn.text = _SHAPENIPPER
StoreSet("shapeshift", _SHAPENIPPER)
settingsUI[3].children[0].text = "Current: "+_SHAPENIPPER
dragonShape = _SHAPENIPPER
gLvL = 3
:?btn.text = _SHAPEJUVENILE
StoreSet("shapeshift", _SHAPEJUVENILE)
settingsUI[3].children[0].text = "Current: "+_SHAPEJUVENILE
dragonShape = _SHAPEJUVENILE
gLvL = 4
:?btn.text = _SHAPEDRAGON
StoreSet("shapeshift", _SHAPEDRAGON)
settingsUI[3].children[0].text = "Current: "+_SHAPEDRAGON
dragonShape = _SHAPEDRAGON
gLvL = 5
:
>This shape isn't unlocked yet.
return
GrowthDisplayUpdate(GrowthLv())
>Dragon shape updated.
initialiseDragon(gLvL)
//UI functions
func switchSSRPG(sw)
//Switch for SSRPG UI.
?sw
srUI.visible = true
srpgUI[0].text = " Quest Progress\n _.´`._\n<:"+questArray[0][curQuest]
+":>\n ‾`..´‾"
:
srUI.visible = false
func switchWF(sw)
//Switch for Waterfall UI.
?sw
wfUI.visible = true
waterUI[5].text = LvInfo()
waterUI[9].text = getProgress()+"/"+getRequirement()
?questComplete()
getQuestCompleteDialogue()
waterUI[10].visible = true
:
waterUI[10].visible = false
:
wfUI.visible = false
waterUI[10].visible = false
func switchSet(sw)
//Switch for Settings UI.
?sw
setUI.visible = true
settingsUI[2].visible = true
settingsUI[3].visible = false
settingsUI[4].visible = false
//settingsUI[5].visible = false
:
setUI.visible = false
settingsUI[2].visible = false
settingsUI[3].visible = false
settingsUI[4].visible = false
//settingsUI[5].visible = false
func switchExp(sw)
//Switch for Export UI.
?sw
potUI.visible = true
exportUI[2] = "var PDRPG = import Cosmetics/PetDragonRPG\
nPDRPG.replaceSave(["+printSave()+"])"
:
potUI.visible = false
func switchShowSSRPG()
//Switch between showRPG UI and SSRPG UI.
?currentUIshown = _CURUISHOWSSRPG
currentUIshown = _CURUISSRPG
StoreSet("showSsrpgUI",false)
switchSSRPG(true)
showSrpgUI.visible = false
:?currentUIshown = _CURUISSRPG
currentUIshown = _CURUISHOWSSRPG
StoreSet("showSsrpgUI",true)
switchSSRPG(false)
showSrpgUI.visible = true
func switchWFSSRPG()
//Switch between Waterfall UI and SSRPG UI.
?currentUIshown = _CURUISSRPG
currentUIshown = _CURUIWF
switchWF(true)
switchSSRPG(false)
:?currentUIshown = _CURUIWF
currentUIshown = _CURUISSRPG
switchWF(false)
switchSSRPG(true)
func switchWFSetting()
//Switch between Waterfall UI and Setting UI.
?currentUIshown = _CURUISET
currentUIshown = _CURUIWF
switchWF(true)
switchSet(false)
:?currentUIshown = _CURUIWF
currentUIshown = _CURUISET
switchWF(false)
switchSet(true)
func switchSettingExport()
//Switch between Setting UI and Export UI.
?currentUIshown = _CURUISET
currentUIshown = _CURUIEXPORT
switchExp(true)
switchSet(false)
:?currentUIshown = _CURUIEXPORT
currentUIshown = _CURUISET
switchExp(false)
switchSet(true)
func switchSettingCategory(btn)
//Switches between the setting categories in Setting UI.
settingsUI[2].visible = (btn.text = "Performace")
settingsUI[3].visible = (btn.text = "Shapeshift")
settingsUI[4].visible = (btn.text = "Savefile")
//settingsUI[5].visible = (btn.text = "Savefile")
?relativeXY
relativeX = relativeXY[0]
relativeY = relativeXY[1]
?faceXY
dArry[1].x = faceXY[0]
dArry[1].y = faceXY[1]
?tDur
tailDur = tDur
?wDur
walkDur = wDur
?mSpeed
jogSpeed = mSpeed[0]
runSpeed = mSpeed[1]
?FarSet
tooFar = FarSet
func initialiseDragon(growthStage)
//Initialize the dragon.
//No dragon is spawned if dragon level is < 2.
?gLvL >= 2
?dragon
dragon.Recycle()
dragon = makeUI(_UIANIM,"","","","",dragonSize,Walk[growthStage]) // 0 walk
animation (4 frames)
dragon.anchor = "top_left"
dragon.dock = "top_left"
dArry = dragon.children
uiAddChild(dragon,1,_UITEXT,"","","","","",Faces[growthStage][0]) // 1 faces 0-
>4
uiAddChild(dragon,2,_UIANIM,"","","","","",Tail[growthStage]) // 2 tail (6
frames)
dragonSettings(clrSet,dragSettings[growthStage][0],dragSettings[growthStage]
[1],
^dragSettings[growthStage][2],dragSettings[growthStage]
[3],dragSettings[growthStage][4],20)
?growthStage = 4
dArry[2].pivotX = 7
:?growthStage = 5
dArry[2].pivotX = 5
dragon.visible = PetIsEnabled
masterPanel.Add(dragon, 0)
func initialise()
//Initialises all storage variables and the dragon.
?!StoreHas("dragonLevel")
resetSave()
gLvL = GrowthLv()
initialiseDragon(gLvL)
//Exit button
uiAddChild(setUI,0,_UIBUTTON,"","top_right",switchWFSetting,setUICPos[0]
[0],setUICPos[0][1],"[X]")
settingsUI[0].style = invisPanel
//Settings categories
uiAddChild(setUI,1,_UIPANEL,"","top_left","",setUICPos[1][0],setUICPos[1][1],"")
settingsUI[1].style = invisPanel
uiAddChild(settingsUI[1],0,_UITEXT,"","top_right","","",setUICatPos[0]
[0],"││││││││││││││││││")
uiAddChild(settingsUI[1],1,_UIBUTTON,"","top_center",switchSettingCategory,"",setUI
CatPos[1][0],"Performace")
uiAddChild(settingsUI[1],2,_UIBUTTON,"","top_center",switchSettingCategory,setUICat
Pos[2][0],setUICatPos[2][1],"Shapeshift")
//uiAddChild(settingsUI[1],3,_UIBUTTON,"","top_center",switchSettingCategory,setUIC
atPos[3][0],setUICatPos[3][1],"UI")
uiAddChild(settingsUI[1],3,_UIBUTTON,"","top_center",switchSettingCategory,setUICat
Pos[4][0],setUICatPos[4][1],"Savefile")
//Performance category
uiAddChild(setUI,2,_UIPANEL,"","top_left","",setUICPos[2][0],setUICPos[2][1],"")
settingsUI[2].style = invisPanel
uiAddChild(settingsUI[2],0,_UIBUTTON,"","top_left",switchPetVisible,setUIPerfPos[0]
[0],setUIPerfPos[0][1],"")
?PetIsEnabled
settingsUI[2].children[0].text = "Pet Enabled [V]"
:
settingsUI[2].children[0].text = "Pet Enabled [X]"
uiAddChild(settingsUI[2],1,_UIPANEL,"#808080","top_left","",setUIPerfPos[1]
[0],setUIPerfPos[1][1],"[-] CPF: [+]")
uiAddChild(settingsUI[2].children[1],0,_UITEXT,"","","","",setUICPSPos[0][0],"|=|
CPS: .0 |=|")
uiAddChild(settingsUI[2].children[1],1,_UITEXT,"","center_left","",setUICPSPos[1]
[0],setUICPSPos[1][1],""+checkFtoS())
uiAddChild(settingsUI[2].children[1],2,_UIBUTTON,"","center_left",adjustCheckPerSec
ond,"",setUICPSPos[2][0],"[-]")
uiAddChild(settingsUI[2].children[1],3,_UIBUTTON,"","center_right",adjustCheckPerSe
cond,"",setUICPSPos[3][0],"[+]")
settingsUI[2].children[1].children[2].style = invisPanel
settingsUI[2].children[1].children[3].style = invisPanel
var CPFexplained = "CPS = Checks Per Second. \n\n"
^+"Increasing this will reduce lag, but resources take longer to be tallied up
for quests.\n\n"
uiAddChild(settingsUI[2].children[1],4,_UITEXT,"","top_left","",setUICPSPos[4]
[0],setUICPSPos[4][1], CPFexplained)
//Shapeshift category
uiAddChild(setUI,3,_UIPANEL,"","top_left","",setUICPos[3][0],setUICPos[3][1],"")
settingsUI[3].style = invisPanel
uiAddChild(settingsUI[3],0,_UITEXT,"","top_center","",setUIShapePos[0]
[0],setUIShapePos[0][1], "Current: "+dragonShape)
settingsUI[3].children[0].align = center
uiAddChild(settingsUI[3],1,_UIBUTTON,"","top_center",setGrowth,setUIShapePos[1]
[0],setUIShapePos[1][1], "Locked")
uiAddChild(settingsUI[3],2,_UIBUTTON,"","top_center",setGrowth,setUIShapePos[2]
[0],setUIShapePos[2][1], "Locked")
uiAddChild(settingsUI[3],3,_UIBUTTON,"","top_center",setGrowth,setUIShapePos[3]
[0],setUIShapePos[3][1], "Locked")
uiAddChild(settingsUI[3],4,_UIBUTTON,"","top_center",setGrowth,setUIShapePos[4]
[0],setUIShapePos[4][1], "Locked")
?dragonLevel >= 20
settingsUI[3].children[4].text = _SHAPEDRAGON
?dragonLevel >= 12
settingsUI[3].children[3].text = _SHAPEJUVENILE
?dragonLevel >= 8
settingsUI[3].children[2].text = _SHAPENIPPER
?dragonLevel >= 4
settingsUI[3].children[1].text = _SHAPEBEAN
/*UI category
uiAddChild(setUI,4,_UIPANEL,"","top_left","",setUICPos[4][0],setUICPos[4][1],"")
settingsUI[4].style = invisPanel
*/
//Savefile category
uiAddChild(setUI,4,_UIPANEL,"","top_left","",setUICPos[5][0],setUICPos[5][1],"")
settingsUI[4].style = invisPanel
uiAddChild(settingsUI[4],0,_UIBUTTON,"","top_center",switchSettingExport,"",setUIEx
pPos[0][0],"Export Save")
uiAddChild(settingsUI[4],1,_UIBUTTON,"","top_center",switchSettingExport,setUIExpPo
s[1][0],setUIExpPos[1][1],"Reset Save")
uiAddChild(settingsUI[4],2,_UIBUTTON,"","top_center",switchSettingExport,setUIExpPo
s[2][0],setUIExpPos[2][1],"Delete Save")
switchSet((currentUIshown = _CURUISET))
uiAddChild(wfUI,3,_UIPANEL,"#808080","top_right","",wfUICPos[3][0], wfUICPos[3]
[1],"")
uiAddChild(wfUI,4,_UIBUTTON,"","top_right",LevelUpButton,wfUICPos[4][0],
wfUICPos[4][1], "Feed")
uiAddChild(wfUI,5,_UITEXT,"","top_right","",wfUICPos[5][0],wfUICPos[5]
[1],LvInfo())
uiAddChild(wfUI,6,_UIPANEL,"#808080","bottom_right","",wfUICPos[6][0],
wfUICPos[6][1],"")
waterUI[6].dock = "center_center"
waterUI[6].style = addStyle("╔═╗║ ║╚═╝")
uiAddChild(waterUI[6],0,_UITEXT,"","center_center","",staticdragonPos[0],staticdrag
onPos[1],"")
//waterUI[6].children[0].dock = "center_center"
GrowthDisplayUpdate(GrowthLv())
uiAddChild(wfUI,7,_UITEXT,"","","",wfUICPos[7][0], wfUICPos[7][1],"<<
"+questArray[0][curQuest]+" >>")
waterUI[7].align = center
uiAddChild(wfUI,8,_UITEXT,"","","",wfUICPos[8][0], wfUICPos[8]
[1],questDialogue())
waterUI[8].align = center
uiAddChild(wfUI,9,_UITEXT,"","","",wfUICPos[9][0], wfUICPos[9][1],getProgress()
+"/"+getRequirement())
waterUI[9].align = center
uiAddChild(wfUI,10,_UIBUTTON,"","",questFinished,wfUICPos[10][0], wfUICPos[10]
[1],"Collect Reward")
waterUI[10].visible = false
?questComplete()
getQuestCompleteDialogue()
waterUI[10].visible = wfUI.visible
uiAddChild(wfUI,11,_UIBUTTON,"","center_center",switchWFSetting,"",wfUICPos[11]
[0],"[☼]")
waterUI[11].style = invisPanel
uiAddChild(wfUI,12,_UIBUTTON,"","top_right",switchWFSSRPG,wfUICPos[12][0],
wfUICPos[12][1],"[X]")
waterUI[12].style = invisPanel
switchWF((currentUIshown = _CURUIWF))
var gpgr
//Arrays for the below function.
var srUIPos = [[1,-1],[7,20]]
var showSrpgPos = [[1,5],[3,9]]
var srUICPos = [[[2,-1],[5,99]],
^[[0,-1],[1,0]],
^[[2,-1],[3,5]],
^[[5,4],[3,5]]]
func SSRPG_UI()
//Initializes the SSRPG UI.
srUI = makeUI(_UIPANEL,"","bottom_left","",srUIPos[0],srUIPos[1],"")
srpgUI = srUI.children
showSrpgUI =
makeUI(_UIBUTTON,"","top_left",switchShowSSRPG,showSrpgPos[0],showSrpgPos[1],"[Show
UI]")
showSrpgUI.style = invisPanel
gpgr = getProgress()+"/"+getRequirement()
uiAddChild(srUI,0,_UITEXT,"","bottom_left","",srUICPos[0][0],srUICPos[0][1],"
Quest Progress\n _.´`._\n<:"+questArray[0][curQuest]+":>\n ‾`..´‾")
srUICPos[1][1][1] = stringSize(gpgr)
uiAddChild(srUI,1,_UITEXT,"","bottom_center","",srUICPos[1][0],srUICPos[1]
[1],gpgr)
uiAddChild(srUI,2,_UIBUTTON,"","top_right",switchShowSSRPG,srUICPos[2]
[0],srUICPos[2][1],"[X]")
srpgUI[2].style = invisPanel
uiAddChild(srUI,3,_UIBUTTON,"","top_right",switchWFSSRPG,srUICPos[3]
[0],srUICPos[3][1],"≡")
switchSSRPG((currentUIshown = _CURUISSRPG))
showSrpgUI.visible = (currentUIshown = _CURUISHOWSSRPG)
// Location Script
//Check if level is special (i.e. legends or cutscene levels)
var is0Stars
?ttime = 1
mHP = maxhp
is0Stars = (loc.stars = 0)
?loc.begin
?StoreGet("showSsrpgUI",false)
currentUIshown = _CURUISHOWSSRPG
:
currentUIshown = _CURUISSRPG
?ui.root.children.Count()>0
for i = 0..ui.root.children.Count()-1
?ui.root.children[i].style = specPanel
ui.root.children[i].Recycle()
break
startPanel()
initialise()
SSRPG_UI()
Waterfall_UI()
Settings_UI()
export_UI()
?!is0Stars // Other Locations
foecount = foeCount(138)
?foecount < oldfoecount
StoreInc("kills", oldfoecount-foecount)
killStorage += oldfoecount-foecount
?curQuest = 0
StoreInc(questArray[2][curQuest],oldfoecount-foecount)
oldfoecount = foecount
// If Quest Complete
?questComplete()
srpgUI[1].w = 10
srpgUI[1].text = "!Complete!"
showSrpgUI.text = "[!Quest!]"