def process(self): self.__swf_params = {} args = self.getUrlArgs('/bossscenarioanim/') try: stageid = int(args.get(0)) battlekey = urllib.unquote(args.get(1))[:32] self.setAreaID(stageid) except: raise CabaretError(u'引数が不正です', CabaretError.Code.ILLEGAL_ARGS) stagemaster = self.getAreaMaster() if not isinstance( stagemaster, EventScoutStageMaster) or stagemaster.bossscenario < 1: # イベントじゃないとダメです. self.appRedirect(UrlMaker.bossresult(stageid, battlekey)) return eventmaster = self.callFunctionByFromPage('getEventMaster') if eventmaster is None or stagemaster.eventid != eventmaster.id: self.callFunctionByFromPage('redirectToScoutTop') return # 演出のパラメータ. url = UrlMaker.bossresult(stageid, battlekey) effectpath = UrlMaker.event_scenario() dataUrl = self.makeAppLinkUrlEffectParamGet( 'eventscenario/{}/normal{}'.format(stagemaster.bossscenario, url)) dataUrl = self.addFromPageToUrlQuery(dataUrl) self.appRedirectToEffect2(effectpath, dataUrl)
def process(self): model_mgr = self.getModelMgr() cur_eventmaster = self.getCurrentRaidEvent() v_player = self.getViewerPlayer() uid = v_player.id # OP閲覧フラグを立てる. config = BackendApi.get_current_raideventconfig( model_mgr, using=settings.DB_READONLY) flagrecord = self.getCurrentRaidFlagRecord() if flagrecord is None or not (config.starttime <= flagrecord.opvtime < config.endtime): flagrecord = BackendApi.update_raideventflagrecord( model_mgr, cur_eventmaster.id, uid, OSAUtil.get_now()) model_mgr.set_got_models([flagrecord]) if BackendApi.check_raidevent_lead_bigboss(model_mgr, uid, cur_eventmaster.id, using=settings.DB_READONLY): url = UrlMaker.raidevent_bigboss() else: url = UrlMaker.raidevent_explain(cur_eventmaster.id) if cur_eventmaster.op: # 演出のパラメータ. effectpath = UrlMaker.event_scenario() dataUrl = self.makeAppLinkUrlEffectParamGet( 'eventscenario/%d/normal%s' % (cur_eventmaster.op, url)) self.appRedirectToEffect2(effectpath, dataUrl) else: # 演出なし. self.appRedirect(self.makeAppLinkUrlRedirect(url))
def process(self): model_mgr = self.getModelMgr() cur_eventmaster = self.getCurrentBattleEvent() v_player = self.getViewerPlayer() uid = v_player.id # OP閲覧フラグを立てる. if BackendApi.check_battleevent_lead_opening( model_mgr, uid, cur_eventmaster.id, using=settings.DB_READONLY): flagrecord = BackendApi.update_battleevent_flagrecord( cur_eventmaster.id, uid, OSAUtil.get_now()) model_mgr.set_got_models([flagrecord]) # ここで一度とっておく. BackendApi.get_battleeventpresent_pointdata( model_mgr, uid, cur_eventmaster.id) url = UrlMaker.battleevent_explain(cur_eventmaster.id) if cur_eventmaster.op: # 演出のパラメータ. effectpath = UrlMaker.event_scenario() dataUrl = self.makeAppLinkUrlEffectParamGet( 'eventscenario/%d/normal%s' % (cur_eventmaster.op, url)) self.appRedirectToEffect2(effectpath, dataUrl) else: # 演出なし. self.appRedirect(self.makeAppLinkUrlRedirect(url))
def process(self): now = OSAUtil.get_now() model_mgr = self.getModelMgr() config = BackendApi.get_current_raideventconfig(model_mgr, using=settings.DB_READONLY) cur_eventmaster = None if config.mid and config.endtime < now: cur_eventmaster = BackendApi.get_raideventmaster(model_mgr, config.mid, using=settings.DB_READONLY) if cur_eventmaster is None: self.appRedirect(self.makeAppLinkUrlRedirect(UrlMaker.mypage())) return v_player = self.getViewerPlayer() uid = v_player.id # EP閲覧フラグを立てる. if BackendApi.check_raidevent_lead_epilogue(model_mgr, uid, cur_eventmaster.id, using=settings.DB_READONLY): flagrecord = BackendApi.update_raideventflagrecord(model_mgr, cur_eventmaster.id, uid, epvtime=now) model_mgr.set_got_models([flagrecord]) url = UrlMaker.raidevent_top(cur_eventmaster.id) if cur_eventmaster.ed: # 演出のパラメータ. effectpath = UrlMaker.event_scenario() dataUrl = self.makeAppLinkUrlEffectParamGet('eventscenario/%d/last%s' % (cur_eventmaster.ed, url)) self.appRedirectToEffect2(effectpath, dataUrl) else: # 演出なし. self.appRedirect(self.makeAppLinkUrlRedirect(url))
def process(self): model_mgr = self.getModelMgr() config = BackendApi.get_current_produce_event_config( model_mgr, using=settings.DB_READONLY) if config.mid == 0 or not config.is_open_epilogue(OSAUtil.get_now()): self.appRedirect(self.makeAppLinkUrlRedirect(UrlMaker.mypage())) return produce_event_master = config.get_produce_event_master(model_mgr) if produce_event_master is None: self.appRedirect(self.makeAppLinkUrlRedirect(UrlMaker.mypage())) return uid = self.getViewerPlayer().id if BackendApi.check_produceevent_lead_epilogue( model_mgr, uid, produce_event_master.id): flagrecord = BackendApi.update_produceevenflagrecord( produce_event_master.id, uid, epvtime=OSAUtil.get_now()) model_mgr.set_got_models([flagrecord]) url = UrlMaker.produceevent_top(produce_event_master.id) if produce_event_master.ed: # 演出のパラメータ. effectpath = UrlMaker.event_scenario() dataUrl = self.makeAppLinkUrlEffectParamGet( 'eventscenario/%d/last%s' % (produce_event_master.ed, url)) self.appRedirectToEffect2(effectpath, dataUrl) else: # 演出なし. self.appRedirect(self.makeAppLinkUrlRedirect(url))
def process(self): model_mgr = self.getModelMgr() config = BackendApi.get_current_produce_event_config(model_mgr, using=settings.DB_READONLY) cur_eventmaster = config.get_produce_event_master(model_mgr, using=settings.DB_READONLY) uid = self.getViewerPlayer().id # OP閲覧フラグを立てる. flagrecord = self.getCurrentProduceFlagRecord() if BackendApi.check_produceevent_lead_opening(model_mgr, uid, cur_eventmaster.id): if flagrecord is None or not (config.starttime <= flagrecord.opvtime < config.endtime): flagrecord = BackendApi.update_produceevenflagrecord(config.mid, uid, opvtime=OSAUtil.get_now()) model_mgr.set_got_models([flagrecord]) url = UrlMaker.produceevent_explain(cur_eventmaster.id) if cur_eventmaster.op: # 演出のパラメータ. effectpath = UrlMaker.event_scenario() dataUrl = self.makeAppLinkUrlEffectParamGet('eventscenario/%d/normal%s' % (cur_eventmaster.op, url)) self.appRedirectToEffect2(effectpath, dataUrl) else: # 演出なし. self.appRedirect(self.makeAppLinkUrlRedirect(url))