コード例 #1
0
ファイル: base.py プロジェクト: hitandaway100/caba
 def makeScoutObj(self, scoutmaster, scoutplaydata):
     """スカウト情報作成.
     """
     v_player = self.getViewerPlayer()
     progress = scoutplaydata.progress if scoutplaydata else 0
     dropitems = BackendApi.get_dropitemobj_list(self,
                                                 v_player,
                                                 scoutmaster,
                                                 using=settings.DB_READONLY)
     obj_scout = Objects.scout(self, v_player, scoutmaster, progress,
                               dropitems)
     return obj_scout
コード例 #2
0
ファイル: tutorial.py プロジェクト: hitandaway100/caba
    def proc_SCOUT00_TOP(self, area, scout, scout_cnt):
        """スカウトTop.
        """
        v_player = self.getViewerPlayer(True)

        self.html_param['area'] = Objects.area(self, area, None)

        obj_scout = Objects.scout(self, v_player, scout, scout_cnt, [])
        obj_scout['url_exec'] = self.makeAppLinkUrl(self.makeUrlNext())
        self.html_param['scoutlist'] = [obj_scout]

        self.putPlayerInfo(scout_cnt=scout_cnt)
        self.writeAppHtml('scout/scout')
コード例 #3
0
ファイル: tutorial.py プロジェクト: hitandaway100/caba
    def proc_SCOUT00_CARDGET(self, area, scout, scout_cnt):
        """スカウト実行アニメーション(スカウト成功).
        """
        v_player = self.getViewerPlayer(True)
        card = self.getLeaderCard()

        obj_scout = Objects.scout(self, v_player, scout, scout_cnt, [])
        obj_scout['url_exec'] = self.makeAppLinkUrl(self.makeUrlNext())
        self.html_param['scout'] = obj_scout
        self.html_param['card'] = Objects.card(self, card, is_new=True)

        self.putPlayerInfo(scout_cnt=scout_cnt)

        self.writeAppHtml('scout/cardgetresult_success')
コード例 #4
0
ファイル: tutorial.py プロジェクト: hitandaway100/caba
    def proc_SCOUT02_RESULT(self, area, scout, scout_cnt):
        """宝箱獲得結果.
        """
        v_player = self.getViewerPlayer(True)

        self.html_param['area'] = Objects.area(self, area, None)
        self.html_param['scout'] = Objects.scout(self, v_player, scout,
                                                 scout_cnt, [])
        self.html_param['url_next'] = self.makeAppLinkUrl(self.makeUrlNext())
        self.html_param['treasure_view'] = Objects.treasure_view(
            self, Defines.TreasureType.SILVER)

        self.putPlayerInfo(scout_cnt=scout_cnt)

        self.writeAppHtml('scout/treasureget')
コード例 #5
0
ファイル: tutorial.py プロジェクト: hitandaway100/caba
    def proc_SCOUT01_CARDGET(self, area, scout, scout_cnt):
        """スカウト実行アニメーション(スカウト成功).
        """
        model_mgr = self.getModelMgr()
        v_player = self.getViewerPlayer(True)
        card = BackendApi.get_tutorial_scoutdropcard(
            model_mgr, v_player.ptype, using=settings.DB_READONLY)

        obj_scout = Objects.scout(self, v_player, scout, scout_cnt, [])
        obj_scout['url_exec'] = self.makeAppLinkUrl(self.makeUrlNext())
        self.html_param['scout'] = obj_scout
        self.html_param['card'] = Objects.card(self, card, is_new=True)

        self.putPlayerInfo(scout_cnt=scout_cnt)

        self.writeAppHtml('scout/cardgetresult_success')
コード例 #6
0
ファイル: areamap.py プロジェクト: hitandaway100/caba
    def process(self):

        model_mgr = self.getModelMgr()
        v_player = self.getViewerPlayer()
        viewer_id = v_player.id

        page_contentnum = Defines.SCOUTAREAMAP_CONTENTNUM_PER_PAGE

        # 遊べるエリア.
        arealist = BackendApi.get_playable_area_all(model_mgr,
                                                    viewer_id,
                                                    using=settings.DB_READONLY)
        if not arealist:
            raise CabaretError(u'エリアがありません',
                               CabaretError.Code.INVALID_MASTERDATA)

        arealist.sort(key=operator.attrgetter('id'), reverse=True)
        playdata_dict = BackendApi.get_areaplaydata(
            model_mgr,
            viewer_id, [area.id for area in arealist],
            using=settings.DB_READONLY)

        # 現在ページ.
        contentnum = len(arealist)
        page_max = max(
            1, int((contentnum + page_contentnum - 1) / page_contentnum))
        page = 0
        try:
            page = min(page_max - 1,
                       int(self.request.get(Defines.URLQUERY_PAGE, 0)))
        except:
            pass

        scoutidlist = []

        # 現在エリア.
        cur_area = arealist[0]
        self.html_param['area'] = Objects.area(self, cur_area,
                                               playdata_dict.get(cur_area.id))

        # 現在のスカウト.
        arr = BackendApi.get_scoutidlist_by_area(model_mgr,
                                                 cur_area.id,
                                                 using=settings.DB_READONLY)
        if not arr:
            raise CabaretError(u'エリアのスカウトがありません',
                               CabaretError.Code.INVALID_MASTERDATA)
        arr.sort(reverse=True)
        scoutmasterdict = BackendApi.get_scout_dict(model_mgr,
                                                    arr,
                                                    using=settings.DB_READONLY)
        for scoutid in arr:
            master = scoutmasterdict.get(scoutid)
            if master and BackendApi.check_scout_playable(
                    model_mgr, master, v_player, using=settings.DB_READONLY):
                scoutidlist.append(scoutid)
                break

        # ページのエリア.
        start = page * page_contentnum
        end = start + page_contentnum
        arealist = arealist[start:end]

        obj_arealist = []
        for area in arealist:
            if area.id != cur_area.id:
                arr = BackendApi.get_scoutidlist_by_area(
                    model_mgr, area.id, using=settings.DB_READONLY)
                if not arr:
                    raise CabaretError(u'エリアのスカウトがありません',
                                       CabaretError.Code.INVALID_MASTERDATA)
                arr.sort(reverse=False)
                scoutidlist.append(arr[0])
            obj_arealist.append(
                Objects.area(self, area, playdata_dict.get(area.id)))

        obj_scout_dict = dict([
            (scout.area, Objects.scout(self, v_player, scout, 0, []))
            for scout in BackendApi.get_scouts(
                model_mgr, scoutidlist, using=settings.DB_READONLY)
        ])
        self.html_param['arealist'] = obj_arealist
        self.html_param['area_scout_dict'] = obj_scout_dict

        # ページング.
        url = UrlMaker.areamap()
        self.putPagenation(url, page, contentnum, page_contentnum)

        self.writeAppHtml('scout/areamap')