#################################################################################
# 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=[950000, 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":
python:
avail=[950200, 950201, 950202, 950203, 950204, 950205, 950206, 950207, 950208, 950209, 950210]
subid=renpy.random.choice(avail)
avail.remove(subid)
bosid=renpy.random.choice(avail)
avail.remove(bosid)
mobid=avail
#"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
# 2 then 3
qdif = 2 + (qeid//2)*5 + (qeid%2)*3
allquests.append({
"quest_id": queid,
"difficulty": qdif, # 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
$ qeditor_save()
jump quest_editors