def process(self): model_mgr = self.getModelMgr() args = self.getUrlArgs('/battleeventresultanim/') eventid = args.getInt(0) rarity = args.getInt(1) piecenumber = args.getInt(2) is_complete = args.getInt(3) eventmaster = None if eventid: eventmaster = BackendApi.get_battleevent_master( model_mgr, eventid, using=settings.DB_READONLY) if eventmaster is None: if settings_sub.IS_LOCAL: raise CabaretError(u'引数がおかしい') self.redirectToTop() return v_player = self.getViewerPlayer() uid = v_player.id # 結果データ. battleresult = BackendApi.get_battleevent_battleresult( model_mgr, eventid, uid, using=settings.DB_READONLY) if battleresult is None: # 結果が存在しない. if settings_sub.IS_LOCAL: raise CabaretError(u'結果がない') url = UrlMaker.battleevent_top(eventid) self.appRedirect(self.makeAppLinkUrlRedirect(url)) return swf_params = {} piecedata = battleresult.data.get('piecedata') if piecedata and not piecedata.get('is_item'): url = UrlMaker.battleevent_battlepiecepresent( eventid, piecedata['rarity'], piecedata['piece'], piecedata['is_complete']) else: url = UrlMaker.battleevent_battleresult(eventid) swf_params['backUrl'] = self.makeAppLinkUrl(url) # 結果によって演出を変更. data = battleresult.data if data['is_win']: self.appRedirectToEffect('youwin/effect.html', swf_params) else: self.appRedirectToEffect('youlose/effect.html', swf_params)
def process(self): model_mgr = self.getModelMgr() uid = self.getViewerPlayer().id args = self.getUrlArgs('/battleeventbattlepiecepresent/') eventid = args.getInt(0) rarity = args.getInt(1) piecenumber = args.getInt(2) is_complete = args.getInt(3) if is_complete: piecemaster_list = BackendApi.get_battleevent_piecemaster( model_mgr, eventid, using=settings.DB_READONLY) piece_dir = BackendApi.get_battleevent_piecemaster_instance( rarity, piecemaster_list).name codename = BattleEventMaster.getByKey(eventid).codename piece_path = 'event/btevent/%s/%s/piece_complete.png' % (codename, piece_dir) effectpath = 'btevent/piece_complete/effect.html' mid = BackendApi.get_userdata_piece_complete_prize_cardid( uid, eventid, rarity) master = BackendApi.get_cardmasters([mid]).get(mid) url = UrlMaker.battleevent_battleresult(eventid, rarity, piecenumber) params = { 'backUrl': self.makeAppLinkUrl(url), 'pre': self.url_static_img, 'card': CardUtil.makeThumbnailUrlLarge(master), 'piece': piece_path, 'bg': 'event/btevent/%s/bg_piececomplete.png' % codename } self.appRedirectToEffect(effectpath, params) else: url = UrlMaker.battleevent_battleresult(eventid, rarity, piecenumber) self.appRedirect(self.makeAppLinkUrlRedirect(url))