diff options
Diffstat (limited to 'qeditor_adv.rpy')
-rw-r--r-- | qeditor_adv.rpy | 150 |
1 files changed, 150 insertions, 0 deletions
diff --git a/qeditor_adv.rpy b/qeditor_adv.rpy new file mode 100644 index 0000000..a199f59 --- /dev/null +++ b/qeditor_adv.rpy @@ -0,0 +1,150 @@ +################################################################################# +# This file is part of Spheres. +# Copyright (C) 2022 Jesusalva + +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. + +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. + +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +################################################################################# +# Editor labels for developers +label qeditor_supernew: + python: + elemt = 0 + bosse = 0 + queid = len(allquests) + waves = 3 + + avail = [] + mobid = [] + subid = 0 + bosid = 0 + + menu: + "Please select the predominant element:" + "Fire": + $ elemt = Ele_Fire + "Water": + $ elemt = Ele_Water + "Nature": + $ elemt = Ele_Nature + "Light": + $ elemt = Ele_Light + "Shadow": + $ elemt = Ele_Shadow + + $ elemt_txt = ParseEle(elemt) + menu: + "Please select the BOSS element (current: [elemt_txt]):" + "Fire": + $ bosse = Ele_Fire + "Water": + $ bosse = Ele_Water + "Nature": + $ bosse = Ele_Nature + "Light": + $ bosse = Ele_Light + "Shadow": + $ bosse = Ele_Shadow + + $ queid = int(renpy.input("Please define the quest ID, default = [queid], special = 90000", allow="0123456789")) + menu: + "Please select the theme" + "The Empire": + python: + avail=[950001, 950002, 950003, 950004, 950005] + subid=renpy.random.choice(avail) + avail.remove(subid) + bosid=renpy.random.choice(avail) + avail.remove(bosid) + mobid=avail + #"The Bandits": + #"The Elves": + #"The Dark Horde": + #"The Darklanders": + #"The Rebels": + #"The Land of Fire": + "The Wizard Order": + python: + avail=[950700, 950701, 950702] + subid=renpy.random.choice(avail) + avail.remove(subid) + bosid=renpy.random.choice(avail) + avail.remove(bosid) + mobid=avail + #"The Dwarves": + "Custom": + python: + bosid=int(renpy.input("Please define boss ID", allow="0123456789")) + subid=int(renpy.input("Please define extra ID", allow="0123456789")) + avail=renpy.input("Please define mobs ID (comma-separated) (boss=[bosid], sub=[subid])", allow="0123456789,").split(",") + mobid=[] + for i in avail: + mobid.append(int(i)) + + # Generate the struct and save it + # TODO: If renpy.exists() with 96 then upgrade else do nothing? + python: + qeid = int(queid) + qefl = 1 + if qeid > 90000: + qeid = queid - 90000 + qefl = 4 + + allquests.append({ + "quest_id": queid, + "difficulty": qeid*5, # FIXME too steep + "requeriment": qeid-1, + "cost": 1+(qeid / 5), + "flags": qefl, + "music": "bgm03", + "bg": "battle", + "loot": [ + ["1010", int(1000+(qeid/5*25))], + ["1020", int(100+(qeid/5*10))], + ["1030", int(10+(qeid/5))] + ], + "waves": []}) + + # Generate waves + #current=dl_search(allquests, "quest_id", queid) + current=len(allquests)-1 + qedit=allquests[current] + it = ifte(qeid % 5 == 0, 4, 3) # 4 waves every 5 fights + i = 0 + while i < it: + qedit["waves"].append([]) + j = 0 + k = ifte((i+1) == it, 1, ifte((i+1) == 2, 2, 3)) + while j < k: + j+=1 + if k == 1: + tmp_sp = bosid + 10000 # FIXME + elif k == 2: + tmp_sp = subid + else: + tmp_sp = renpy.random.choice(mobid) + if k == 1: + tmp_nm = "BOSS" # FIXME + else: + tmp_nm = "Enemy %d" % j # FIXME + qedit["waves"][i].append({ + "name": tmp_nm, + "sprite": int(tmp_sp), + "attribute": int(ifte((i+1) == it, bosse, elemt)), + "boss": ifte((i+1) == it, True, False) + }) + i += 1 + + renpy.notify("New quest added: %d" % queid) + return + |