######################################################################################## # This file is part of Spheres. # Copyright (C) 2019 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 ######################################################################################## # Recruits init python: import json def recruit(t, a): global Player raw=send_packet("recruit", recruitdata(t, a)) rc=json_decode(raw) try: return int(rc) except: pass # Update data try: Player[rc["currency"][0]]=rc["currency"][1] except: renpy.notify("ERROR, Currency is undefined.") for unit in rc["units"]: _window_hide(None) if (debug): print str(unit) idx=inventoryplace() unit["unit_id"]=int(unit["unit_id"]) if (debug): print "Recruit index: %d" % idx print "Player inventory: %s" % str(Player["inv"]) print "Unit ID: %s" % str(unit["unit_id"]) print "Unit Name: %s" % str(allunits[int(unit["unit_id"])]["name"]) print "Unit Rarity: %d" % allunits[int(unit["unit_id"])]["rare"] Player["inv"][idx]=unit txt=allunits[int(unit["unit_id"])]["name"] rar=allunits[int(unit["unit_id"])]["rare"] star=star_write(rar) sprite=str(unit["unit_id"]) show_img("unit_"+sprite, at_list=[truecenter]) renpy.pause(0.1) renpy.call_screen("msgbox", "%s\n\nRecruited %d★ %s" % (star, rar, txt)) renpy.hide("unit_"+sprite) _window_show(None) # Return result if (rc["code"] == ERR_NOGEMS): renpy.notify("You don't have enough gems to complete.") if (rc["code"] == ERR_INVFULL): renpy.notify("You don't have enough space to complete!") return rc["code"] label tavern: $ show_img("bg tavern", False) # Validate scene bg tavern play music MUSIC_PARTY.id() fadein 0.5 window hide #alltaverns jump tv_loop screen tavern(): default tavern = 0 fixed: #xmargin 50 #ymargin 50 #xalign 0.5 #ypos 0.9 #yanchor 1.0 xfill True yfill True frame: background "gui/tv_frame.webp" xalign 0.5 #yanchor 1.0 #ypos 0.9 yalign 0.5 xmaximum 615 xminimum 615 ymaximum 1000 yminimum 1000 vbox: box_wrap True xoffset 50 yoffset 50 if alltaverns[tavern]["banner"] != "": label _(".:: ERROR - Banner ::.") else: pass label alltaverns[tavern]["details"] null: height 32 label _("%d %s the draw!" % (alltaverns[tavern]["price"], alltaverns[tavern]["currency"])) vbox: box_wrap True xoffset 50 yoffset 50 ypos (1312-42) yanchor 1.0 xpos 255 xanchor 0.0 hbox: spacing 24 button: xmaximum 250 #350 yminimum 60 #111 ymaximum 110 #111 idle_background Frame("gui/green_btn.png", 60, 30) hover_background Frame("gui/green_btn_hover.png", 60, 30) action Return([tavern, 1]) hbox: yoffset 10 null width 25 text _("Summon %d" % 1): color "#001864" size 24 outlines [(1,"#FFF",0,0)] null width 25 button: xmaximum 250 #350 yminimum 60 #111 ymaximum 110 #111 idle_background Frame("gui/green_btn.png", 60, 60) hover_background Frame("gui/green_btn_hover.png", 60, 60) action Return([tavern, alltaverns[tavern]["min_draws"]]) hbox: yoffset 10 null width 25 text _("Summon %d" % alltaverns[tavern]["min_draws"]): color "#001864" size 24 outlines [(1,"#FFF",0,0)] null width 25 null: height 42 hbox: showif tavern > 0: button: xmaximum 250 #350 yminimum 60 #111 ymaximum 110 #111 idle_background Frame("gui/purple_btn.png", 60, 30) hover_background Frame("gui/purple_btn_hover.png", 60, 30) action SetScreenVariable("tavern", tavern-1) hbox: yoffset 5 null width 25 text _("«"): color "#FFF" size 24 outlines [(1,"#000",0,0)] null width 25 showif len(alltaverns) > tavern+1: button: xmaximum 250 #350 yminimum 60 #111 ymaximum 110 #111 idle_background Frame("gui/purple_btn.png", 60, 30) hover_background Frame("gui/purple_btn_hover.png", 60, 30) action SetScreenVariable("tavern", tavern+1) hbox: yoffset 5 null width 25 text _("»"): color "#FFF" size 24 outlines [(1,"#000",0,0)] null width 25 button: xmaximum 250 #350 yminimum 60 #111 ymaximum 110 #111 idle_background Frame("gui/green_btn.png", 60, 60) hover_background Frame("gui/green_btn_hover.png", 60, 60) action Return([-1, -1]) hbox: yoffset 10 null width 25 text _("Return"): color "#001864" size 24 outlines [(1,"#FFF",0,0)] null width 25 label tv_loop: # Download all tavern banners python: tr_loading = True for tv in alltaverns: renpy.pause(0.001, hard=True) print str(tv) if tv["banner"] != "": show_img("banner "+tv["banner"], False) tr_loading = False call screen tavern if (_return[0] < 0 or _return[1] < 1): jump restore $ message=recruit(_return[0], _return[1]) if (message == OFFLINEMSG): "Server replies:" "[message]\n\nYou are offline?" return jump tv_loop