Exemple #1
0
    def procHappening(self, mid, stagemaster, playdata, event):
        """ハプニング発生.
        """
        model_mgr = self.getModelMgr()
        happeningid = BackendApi.get_current_producehappeningid(
            model_mgr, playdata.uid, using=playdata.current_db, reflesh=True)
        happeningset = BackendApi.get_producehappening(
            model_mgr, happeningid, using=playdata.current_db)
        if happeningset is None:
            if settings_sub.IS_LOCAL:
                raise CabaretError(u'ハプニングが発生していません')
            url = UrlMaker.produceevent_top()
            self.appRedirect(self.makeAppLinkUrlRedirect(url))
            return

        happeningraidset = HappeningRaidSet(happeningset)
        self.html_param['happening'] = Objects.producehappening(
            self, happeningraidset)

        # レイドボス
        raidmaster = BackendApi.get_raid_master(model_mgr,
                                                happeningset.master.boss,
                                                using=settings.DB_READONLY)
        self.html_param['boss'] = Objects.raidmaster(self,
                                                     raidmaster,
                                                     is_produceevent=True)

        self.setFromPage(
            Defines.FromPages.PRODUCEEVENTSCOUT,
            (stagemaster.id, urllib.quote(playdata.confirmkey, '')))
        url = UrlMaker.producehappening()

        self.html_param['url_happening'] = self.makeAppLinkUrl(url)

        self.writeHtml(self.eventmaster, 'scout/happening')
Exemple #2
0
    def procHappening(self, scoutmaster, playdata, event):
        """ハプニング発生.
        """
        using = playdata.current_db

        model_mgr = self.getModelMgr()
        happeningid = BackendApi.get_current_happeningid(model_mgr,
                                                         playdata.uid,
                                                         using=using,
                                                         reflesh=True)
        happeningset = BackendApi.get_happening(model_mgr,
                                                happeningid,
                                                using=using)
        if happeningset is None or happeningset.happening.is_end():
            if settings_sub.IS_LOCAL:
                raise CabaretError(u'ハプニングが発生していません')
            url = UrlMaker.scout()
            self.appRedirect(self.makeAppLinkUrlRedirect(url))
            return

        raidboss = BackendApi.get_raid(
            model_mgr,
            happeningset.id,
            using=using,
            happening_eventvalue=happeningset.happening.event)
        happeningraidset = HappeningRaidSet(happeningset, raidboss)
        self.html_param['happening'] = Objects.happening(
            self, happeningraidset)

        # レイドボス.
        raidmaster = BackendApi.get_raid_master(model_mgr,
                                                happeningset.master.boss,
                                                using=settings.DB_READONLY)
        self.html_param['boss'] = Objects.raidmaster(self, raidmaster)

        self.writeAppHtml('scout/happening')