Exemple #1
0
    def tr_incentive(self, uid, is_set_conversion, is_set_incentive, is_prize_incentive):
        model_mgr = ModelRequestMgr()

        def forUpdateIncentive(model, inserted, is_received):
            model.is_set_conversion = is_set_conversion
            model.is_set_incentive = is_set_incentive
            model.is_prize_incentive = is_prize_incentive
            model.is_received = is_received

        if is_set_conversion and is_set_incentive and is_prize_incentive:
            prizelist = BackendApi.get_prizelist(model_mgr, [Defines.DXP.insentive_prize_masterid])
            BackendApi.tr_add_prize(model_mgr, uid, prizelist, Defines.DXP.textid)
            is_received = True
        else:
            is_received = False

        model_mgr.add_forupdate_task(PlayerDXPWallConversion, uid, forUpdateIncentive, is_received)
        model_mgr.write_all()
        model_mgr.write_end()
Exemple #2
0
    def setUp(self):
        # Player.
        self.__player0 = self.create_dummy(DummyType.PLAYER)

        # ボス.
        boss = self.create_dummy(DummyType.BOSS_MASTER)
        # エリア.
        area = self.create_dummy(DummyType.AREA_MASTER, bossid=boss.id)

        # スカウト.
        scout = self.create_dummy(DummyType.SCOUT_MASTER,
                                  area=area,
                                  execution=100)
        self.__scout = scout
        for _ in xrange(5):
            scout = self.create_dummy(DummyType.SCOUT_MASTER,
                                      area=area,
                                      opencondition=scout.id)

        # 進行情報.
        playdata = self.create_dummy(DummyType.SCOUT_PLAY_DATA,
                                     self.__player0.id, self.__scout.id)

        # 経験値情報.
        self.create_dummy(DummyType.PLAYER_LEVEL_EXP_MASTER, 1, exp=0)
        self.create_dummy(DummyType.PLAYER_LEVEL_EXP_MASTER, 2, exp=1)
        self.__player0.level = 1
        self.__player0.exp = 0
        self.__player0.getModel(PlayerExp).save()

        self.__player0.gold = 0
        self.__player0.getModel(PlayerGold).save()

        self.__player0.cardlimititem = 100
        self.__player0.getModel(PlayerDeck).save()

        model_mgr = ModelRequestMgr()
        BackendApi.tr_do_scout(model_mgr, self.__player0, self.__scout,
                               playdata.confirmkey)
        model_mgr.write_all()
        model_mgr.write_end()

        self.__playdata = playdata
Exemple #3
0
    def setUp(self):
        # DMMID.
        self.__player = self.create_dummy(DummyType.PLAYER)
        self.__player.lbtime = OSAUtil.get_now() - datetime.timedelta(days=1)
        self.__player.tlmid = 0
        self.__player.getModel(PlayerLogin).save()

        model_mgr = ModelRequestMgr()
        # アクセスボーナスを消しておく.
        for model in model_mgr.get_mastermodel_all(AccessBonusMaster):
            model_mgr.set_delete(model)
        # 全プレ渡しておくかぁ.
        presenteveryone_list = BackendApi.get_presenteveryone_list_forloginbonus(
            model_mgr)
        if presenteveryone_list:
            BackendApi.tr_receive_presenteveryone(model_mgr, self.__player.id,
                                                  presenteveryone_list)

        model_mgr.write_all()
        model_mgr.write_end()

        # 報酬.
        prize = self.create_dummy(DummyType.PRIZE_MASTER, gold=100)

        # ログインボーナス.
        master = self.create_dummy(DummyType.LOGIN_BONUS_TIME_LIMITED_MASTER)
        self.create_dummy(DummyType.LOGIN_BONUS_TIME_LIMITED_DAYS_MASTER,
                          master.id,
                          1,
                          prizes=[prize.id])

        # 設定.
        model_mgr = ModelRequestMgr()
        config = BackendApi.get_current_totalloginbonusconfig(model_mgr)
        self.__ori_config = cPickle.dumps(config)
        BackendApi.update_totalloginbonusconfig(model_mgr,
                                                master.id,
                                                OSAUtil.get_datetime_min(),
                                                OSAUtil.get_datetime_max(),
                                                continuity_login=False)

        # プレゼント数.
        self.__present_num = BackendApi.get_present_num(self.__player.id)
Exemple #4
0
    def setUp(self):
        # DMMID.
        self.__player = self.makePlayer(10)
        self.__o_player = self.makePlayer(1000)
        self.__o_player.getModel(PlayerGold).save()

        # 報酬.
        prize = self.create_dummy(DummyType.PRIZE_MASTER, gold=100)

        # ランク.
        prizes = [{'prizes': [prize.id], 'rate': 10}]
        self.__rankmaster = self.create_dummy(DummyType.BATTLE_RANK_MASTER,
                                              win=10,
                                              times=10,
                                              loseprizes=prizes)
        # 最大ランクを作っておく.
        self.create_dummy(DummyType.BATTLE_RANK_MASTER,
                          win=10,
                          times=10,
                          loseprizes=prizes)

        # 対戦相手設定.
        self.__battleplayer = self.create_dummy(DummyType.BATTLE_PLAYER,
                                                self.__player.id,
                                                self.__rankmaster.id,
                                                oid=self.__o_player.id,
                                                win=0,
                                                times=self.__rankmaster.times -
                                                1)

        model_mgr = ModelRequestMgr()
        v_deck = BackendApi.get_deck(self.__player.id, model_mgr)
        o_deck = BackendApi.get_deck(self.__o_player.id, model_mgr)
        v_deck_cardlist = BackendApi.get_cards(v_deck.to_array(), model_mgr)
        o_deck_cardlist = BackendApi.get_cards(o_deck.to_array(), model_mgr)
        data = BackendApi.battle(self.__player, v_deck_cardlist,
                                 self.__o_player, o_deck_cardlist, AppRandom())
        BackendApi.tr_battle(model_mgr, self.__player, self.__o_player,
                             v_deck.to_array(), o_deck.to_array(), data,
                             self.__battleplayer.result)
        model_mgr.write_all()
        model_mgr.write_end()
Exemple #5
0
 def tr_write(self,
              config,
              eventmaster,
              uid,
              level,
              rankmaster_list,
              target_rank=None):
     """書き込み.
     """
     model_mgr = ModelRequestMgr()
     BackendApi.tr_battleevent_regist_group_for_user(
         model_mgr,
         config,
         eventmaster,
         uid,
         level,
         rankmaster_list,
         target_rank=target_rank)
     model_mgr.write_all()
     return model_mgr
        def tr_delete_common():
            for model_cls in delete_target_model_cls_list:
                tablename = model_cls.get_tablename()
                query_string = "truncate table `%s`;" % tablename
                Query.execute_update(query_string, [], False)
                print 'delete...%s' % tablename

            model_mgr = ModelRequestMgr()
            for close_model in close_model_list:
                model_mgr.set_delete(close_model)

            for wholedata in RankingGachaWholeData.getByKey(boxidlist):
                model_mgr.set_delete(wholedata)

            for queue in RankingGachaWholePrizeQueue.fetchValues(
                    filters={'boxid__in': boxidlist}):
                model_mgr.set_delete(queue)
            model_mgr.write_all()

            return model_mgr
        def tr_trade(raideventscore_id):
            model_mgr = ModelRequestMgr()
            raideventscore = RaidEventScore.getByKeyForUpdate(
                raideventscore_id)
            ticket = raideventscore.ticket
            if ticket < 1:
                raise CabaretError('zero', CabaretError.Code.ALREADY_RECEIVED)

            # キャバゴールドを配布.
            prize = PrizeData.create(gold=ticket * GOLD)
            BackendApi.tr_add_prize(model_mgr, raideventscore.uid, [prize],
                                    message_id)

            # チケットを0に.
            raideventscore.ticket = 0
            model_mgr.set_save(raideventscore)

            model_mgr.write_all()

            return model_mgr, prize.gold
Exemple #8
0
 def tr_write(self, eventmaster, uid, stagemaster, scoutkey, friend_num,
              lovetime):
     model_mgr = ModelRequestMgr()
     self.addloginfo('get_players')
     #        player = BackendApi.get_players(self, [uid], [PlayerAp, PlayerRegist, PlayerExp, PlayerFriend, PlayerDeck], model_mgr=model_mgr)[0]
     player = BackendApi.get_player(self,
                                    uid,
                                    [PlayerAp, PlayerExp, PlayerFriend],
                                    model_mgr=model_mgr)
     BackendApi.tr_do_scoutevent_stage(model_mgr,
                                       eventmaster,
                                       player,
                                       stagemaster,
                                       scoutkey,
                                       self.is_pc,
                                       friend_num,
                                       lovetime=lovetime,
                                       handler=self)
     model_mgr.write_all()
     self.addloginfo('write_all end')
     return model_mgr
Exemple #9
0
 def tr_write(self, uid, raidid, key, raidmaster, deckcardlist, friendcard,
              is_strong, champagne, score):
     """書き込み.
     """
     self.addloginfo('tr_write')
     model_mgr = ModelRequestMgr(loginfo=self.addloginfo)
     player = BackendApi.get_players(self, [uid], [PlayerFriend],
                                     model_mgr=model_mgr)[0]
     BackendApi.tr_raidbattle(model_mgr,
                              raidid,
                              key,
                              player,
                              raidmaster,
                              deckcardlist,
                              friendcard,
                              is_strong,
                              self.is_pc,
                              champagne=champagne,
                              addloginfo=self.addloginfo,
                              score=score)
     model_mgr.write_all()
     return model_mgr
Exemple #10
0
    def setUp(self):
        model_mgr = ModelRequestMgr()

        # Player.
        self.__player0 = self.create_dummy(DummyType.PLAYER)

        # イベントマスター.
        eventmaster = self.create_dummy(DummyType.SCOUT_EVENT_MASTER)
        self.__eventmaster = eventmaster

        now = OSAUtil.get_now()

        # OPを閲覧済みに.
        flagrecord = self.create_dummy(DummyType.SCOUT_EVENT_FLAGS,
                                       self.__player0.id,
                                       self.__eventmaster.id, now)
        self.__flagrecord = flagrecord

        # イベント発生中設定.
        config = BackendApi.get_current_scouteventconfig(model_mgr)
        self.__preconfig_mid = config.mid
        self.__preconfig_starttime = config.starttime
        self.__preconfig_endtime = config.endtime
        BackendApi.update_scouteventconfig(self.__eventmaster.id, now,
                                           now + datetime.timedelta(days=1))

        PLAYER_NUM = 20
        # スコア設定.
        score = 10000000
        rankdata = []
        model_mgr = ModelRequestMgr()
        for _ in xrange(PLAYER_NUM):
            player = self.create_dummy(DummyType.PLAYER)
            BackendApi.tr_add_scoutevent_score(model_mgr, self.__eventmaster,
                                               player.id, score)
            rankdata.insert(0, (player.id, score))
            score *= 2
        model_mgr.write_all()
        model_mgr.write_end()
Exemple #11
0
    def setUp2(self):
        model_mgr = ModelRequestMgr()

        # Player.
        self.__player0 = self.create_dummy(DummyType.PLAYER)

        # イベントマスター.
        eventmaster = self.setUpEvent(model_mgr=model_mgr)
        self.__eventmaster = eventmaster

        # ランクのマスター.
        prize = self.create_dummy(DummyType.PRIZE_MASTER, gold=100)
        params = {
            'loginbonus': [prize.id],
        }
        eventrankmaster = self.createRankMaster(params=params)
        self.__eventrankmaster = eventrankmaster

        # オープニングを閲覧済みに.
        self.setOpeningViewTime(self.__player0.id)

        # 参加させておく.
        self.joinRank(self.__player0.id)

        cdate = datetime.date.today()
        rankrecord = BattleEventRank.getByKey(
            BattleEventRank.makeID(self.__player0.id, self.__eventmaster.id))
        # 未受け取りにしておく.
        model_mgr = ModelRequestMgr()
        rankrecord.utime = OSAUtil.get_datetime_min()
        model_mgr.set_save(rankrecord)
        model_mgr.write_all()
        model_mgr.write_end()

        for _ in xrange(5):
            cdate -= datetime.timedelta(days=1)
            rankmaster = self.createRankMaster(params=params)
            self.addRankLog(rankrecord, rankmaster, cdate)
Exemple #12
0
 def setUp2(self):
     model_mgr = ModelRequestMgr()
     
     # Player.
     self.__player0 = self.create_dummy(DummyType.PLAYER)
     
     # イベントマスター.
     eventmaster = self.setUpEvent(model_mgr=model_mgr)
     self.__eventmaster = eventmaster
     
     # ランクのマスター.
     eventrankmaster = self.createRankMaster()
     self.__eventrankmaster = eventrankmaster
     
     # オープニングを閲覧済みに.
     self.setOpeningViewTime(self.__player0.id)
     
     # 参加させておく.
     config = BackendApi.get_current_battleeventconfig(model_mgr)
     model_mgr = ModelRequestMgr()
     BackendApi.tr_battleevent_regist_group_for_user(model_mgr, config, eventmaster, self.__player0.id, self.__player0.level, [self.__eventrankmaster])
     model_mgr.write_all()
     model_mgr.write_end()
     
     # グループをログに入れてしまう.
     rankrecord = BackendApi.get_battleevent_rankrecord(model_mgr, self.__eventmaster.id, self.__player0.id)
     groupid = rankrecord.groups[-1]
     group = BackendApi.get_battleevent_group(model_mgr, groupid)
     
     model_mgr = ModelRequestMgr()
     grouplog = BattleEventGroupLog.makeInstance(group.id)
     grouplog.rankid = group.rankid
     grouplog.eventid = group.eventid
     grouplog.cdate = group.cdate
     model_mgr.set_save(grouplog)
     model_mgr.set_delete(group)
     model_mgr.write_all()
     model_mgr.write_end()
 def setUp(self):
     # DMMID.
     self.__player = self.create_dummy(DummyType.PLAYER)
     self.__player.pdays = 10
     self.__player.lbtime = OSAUtil.get_now() - datetime.timedelta(days=1)
     self.__player.getModel(PlayerLogin).save()
     
     model_mgr = ModelRequestMgr()
     # ログインボーナスを消しておく.
     for model in model_mgr.get_mastermodel_all(LoginBonusMaster):
         model_mgr.set_delete(model)
     for model in model_mgr.get_mastermodel_all(AccessBonusMaster):
         model_mgr.set_delete(model)
     
     # 全プレ渡しておくかぁ.
     presenteveryone_list = BackendApi.get_presenteveryone_list_forloginbonus(model_mgr)
     if presenteveryone_list:
         BackendApi.tr_receive_presenteveryone(model_mgr, self.__player.id, presenteveryone_list)
     
     # ロングログインの設定も消しておく.
     config = BackendApi.get_current_loginbonustimelimitedconfig(model_mgr)
     self.__datalist = [data[1] for data in config.datalist]
     BackendApi.update_loginbonustimelimitedconfig(model_mgr, [])
     
     model_mgr.write_all()
     model_mgr.write_end()
     
     # 報酬.
     prize = self.create_dummy(DummyType.PRIZE_MASTER, gold=100)
     
     # アクセスボーナス.
     self.create_dummy(DummyType.ACCESS_BONUS_MASTER, 0, prizes=[prize.id])
     
     # プレゼント数.
     self.__present_num = BackendApi.get_present_num(self.__player.id)
     
     BackendApi.update_totalloginbonusconfig(model_mgr, 0, stime=OSAUtil.get_datetime_min(), etime=OSAUtil.get_datetime_min(), mid_next=0, continuity_login=True)
Exemple #14
0
    def setUp(self):
        model_mgr = ModelRequestMgr()

        # DMMID.
        self.__player = self.create_dummy(DummyType.PLAYER)
        self.__player.cardlimititem = 100
        self.__player.getModel(PlayerDeck).save()

        # カード.
        cardmaster = self.create_dummy(DummyType.CARD_MASTER,
                                       rare=Defines.Rarity.RARE)
        evolcardmaster = self.create_dummy(DummyType.CARD_MASTER,
                                           rare=Defines.Rarity.RARE,
                                           album=cardmaster.id,
                                           hklevel=2,
                                           evolcost=1000)
        self.__basecard = self.create_dummy(DummyType.CARD, self.__player,
                                            cardmaster)
        self.__materialcard = self.create_dummy(DummyType.CARD, self.__player,
                                                cardmaster)
        self.__evolcardmaster = evolcardmaster

        for _ in xrange(10):
            self.create_dummy(DummyType.CARD, self.__player, cardmaster)

        self.__player.gold = evolcardmaster.evolcost
        self.__player.getModel(PlayerGold).save()

        self.__evolutiondata = BackendApi.get_evolutiondata(
            model_mgr, self.__player.id)
        self.__requestkey = self.__player.req_confirmkey

        BackendApi.tr_evolution_do(model_mgr, self.__player,
                                   self.__basecard.id, self.__materialcard.id,
                                   self.__requestkey)
        model_mgr.write_all()
        model_mgr.write_end()
Exemple #15
0
    def tr_write(model_list, today):
        model_mgr = ModelRequestMgr()
        now = OSAUtil.get_now()
        for model in model_list:
            model.edittime = now
            model_mgr.set_save(model)

        # 削除.
        flag = False
        for model in PresentEveryoneRecord.fetchValues(
                filters={'date__lt': today}):
            model_mgr.set_delete(model)
            flag = True
        if flag:

            def writeEnd():
                model_mgr.get_mastermodel_all(PresentEveryoneRecord,
                                              fetch_deleted=True,
                                              reflesh=True)

            model_mgr.add_write_end_method(writeEnd)

        model_mgr.write_all()
        return model_mgr
 def setUp(self):
     model_mgr = ModelRequestMgr()
     
     # DMMID.
     self.__player = self.create_dummy(DummyType.PLAYER)
     self.__player.cardlimititem = 100
     self.__player.getModel(PlayerDeck).save()
     
     # カード.
     cardmaster = self.create_dummy(DummyType.CARD_MASTER, maxlevel=10)
     basecard = self.create_dummy(DummyType.CARD, self.__player, cardmaster)
     self.__basecard = BackendApi.get_cards([basecard.id], model_mgr)[0]
     
     materialcardidlist = []
     for _ in xrange(10):
         cardmaster = self.create_dummy(DummyType.CARD_MASTER, cost=10, basematerialexp=100)
         materialcardidlist.append(self.create_dummy(DummyType.CARD, self.__player, cardmaster).id)
     self.__materialcardlist = BackendApi.get_cards(materialcardidlist, model_mgr)
     
     self.__player.gold = BackendApi.calc_composition_cost(self.__basecard, self.__materialcardlist)
     self.__player.getModel(PlayerGold).save()
     
     self.__compositiondata = BackendApi.get_compositiondata(model_mgr, self.__player.id)
     self.__requestkey = self.__player.req_confirmkey
     
     exp = BackendApi.calc_composition_exp(self.__basecard, self.__materialcardlist, is_great_success=False)
     exp_great = BackendApi.calc_composition_exp(self.__basecard, self.__materialcardlist, is_great_success=True)
     
     self.create_dummy(DummyType.CARD_LEVEL_EXP_MASTER, 1, 0)
     self.create_dummy(DummyType.CARD_LEVEL_EXP_MASTER, 2, exp)
     self.create_dummy(DummyType.CARD_LEVEL_EXP_MASTER, 3, exp_great)
     
     BackendApi.get_compositiondata(model_mgr, self.__player.id)
     BackendApi.tr_composition_do(model_mgr, self.__player.id, self.__basecard.id, materialcardidlist, self.__requestkey)
     model_mgr.write_all()
     model_mgr.write_end()
Exemple #17
0
    def setUp(self):
        TABLE = (
            (Defines.HappeningState.END, False),
            (Defines.HappeningState.MISS, False),
            (Defines.HappeningState.CANCEL, False),
            (Defines.HappeningState.END, True),
            (Defines.HappeningState.MISS, True),
        )
        NUM = Defines.RAIDLOG_CONTENT_NUM_PER_PAGE * 2

        # Player.
        player0 = self.create_dummy(DummyType.PLAYER)
        player0.friendlimit = NUM
        model_mgr = ModelRequestMgr()
        model_mgr.set_save(player0.getModel(PlayerFriend))
        model_mgr.write_all()
        model_mgr.write_end()

        # 履歴.
        for i in xrange(NUM):
            args = TABLE[i % len(TABLE)]
            self.createRaidLog(player0, *args)

        self.__player0 = player0
Exemple #18
0
    def setUp(self):
        # Player.
        self.__player0 = self.create_dummy(DummyType.PLAYER)
        self.__player1 = self.create_dummy(DummyType.PLAYER)

        # アイテム.
        itemmaster = self.create_dummy(DummyType.ITEM_MASTER)
        data = ScoutDropItemData.create(
            Defines.ItemType.ITEM,
            itemmaster.id,
            filters={'ptype': Defines.CharacterType.TYPE_001},
            rate=10000)
        items = [data.get_dropitem_dict()]

        # 報酬.
        prize = self.create_dummy(DummyType.PRIZE_MASTER,
                                  gold=100,
                                  gachapt=10,
                                  item=itemmaster)

        # レイドマスター.
        raidmaster = self.create_dummy(DummyType.RAID_MASTER,
                                       hp=1,
                                       prizes=[prize.id],
                                       helpprizes=[prize.id],
                                       cabaretking=100,
                                       demiworld=10)
        self.__raidmaster = raidmaster

        # ハプニング.
        happeningmaster = self.create_dummy(DummyType.HAPPENING_MASTER,
                                            raidmaster.id,
                                            items=items)
        self.__happeningmaster = happeningmaster

        # ハプニング情報.
        happening = self.create_dummy(DummyType.HAPPENING,
                                      self.__player0.id,
                                      self.__happeningmaster.id,
                                      progress=happeningmaster.execution)
        self.__happening = happening

        # レイド.
        raidboss = self.create_dummy(DummyType.RAID, self.__player0,
                                     happeningmaster, happening)
        raidboss.addDamageRecord(self.__player0.id, 1)
        raidboss.refrectDamageRecord()
        raidboss.raid.save()
        self.__raid = raidboss

        # 救援.
        def addRequest(v_player, o_player):
            model_mgr = ModelRequestMgr()
            BackendApi.tr_add_friendrequest(model_mgr, v_player, o_player)
            model_mgr.write_all()
            model_mgr.write_end()

        def addFriend(v_player, o_player):
            model_mgr = ModelRequestMgr()
            BackendApi.tr_add_friend(model_mgr, v_player.id, o_player.id)
            model_mgr.write_all()
            model_mgr.write_end()

        addRequest(self.__player0, self.__player1)
        addFriend(self.__player1, self.__player0)

        model_mgr = ModelRequestMgr()
        BackendApi.tr_send_raidhelp(model_mgr, self.__player0.id)
        model_mgr.write_all()
        model_mgr.write_end()

        raidboss.addDamageRecord(self.__player1.id, 1)
        raidboss.refrectDamageRecord()
        raidboss.raid.save()

        self.__player0.gold = 0
        self.__player0.getModel(PlayerGold).save()

        self.__player0.cardlimititem = 100
        self.__player0.getModel(PlayerDeck).save()

        model_mgr = ModelRequestMgr()
        happening.etime = OSAUtil.get_now()
        model_mgr.set_save(happening)
        model_mgr.write_all()
        model_mgr.write_end()

        model_mgr = ModelRequestMgr()
        BackendApi.tr_happening_missed(model_mgr, self.__happening.id)
        model_mgr.write_all()
        model_mgr.write_end()

        self.__raidlog = BackendApi.get_raidlog_by_raidid(
            model_mgr, self.__player1.id, raidboss.id)
Exemple #19
0
 def addFriend(v_player, o_player):
     model_mgr = ModelRequestMgr()
     BackendApi.tr_add_friend(model_mgr, v_player.id, o_player.id)
     model_mgr.write_all()
     model_mgr.write_end()
Exemple #20
0
 def tr_write(self, uid, titlemaster, now):
     model_mgr = ModelRequestMgr()
     BackendApi.tr_title_get(model_mgr, uid, titlemaster, now)
     model_mgr.write_all()
     model_mgr.write_end()
Exemple #21
0
    def setUp(self):
        model_mgr = ModelRequestMgr()
        now = OSAUtil.get_now()

        # Player.
        self.__player0 = self.create_dummy(DummyType.PLAYER)
        self.__player1 = self.create_dummy(DummyType.PLAYER)

        # アイテム.
        itemmaster = self.create_dummy(DummyType.ITEM_MASTER)
        data = ScoutDropItemData.create(
            Defines.ItemType.ITEM,
            itemmaster.id,
            filters={'ptype': Defines.CharacterType.TYPE_001},
            rate=10000)
        items = [data.get_dropitem_dict()]

        # 報酬.
        prize = self.create_dummy(DummyType.PRIZE_MASTER,
                                  gold=100,
                                  gachapt=10,
                                  item=itemmaster)

        # レイドマスター.
        raidmaster = self.create_dummy(DummyType.RAID_MASTER,
                                       hp=1,
                                       prizes=[prize.id],
                                       helpprizes=[prize.id],
                                       cabaretking=100,
                                       demiworld=10)
        self.__raidmaster = raidmaster

        # ハプニング.
        happeningmaster = self.create_dummy(DummyType.HAPPENING_MASTER,
                                            raidmaster.id,
                                            items=items)
        self.__happeningmaster = happeningmaster

        # レイドイベント.
        data = ScoutHappeningData.create(happeningmaster.id, 10000)
        happenings = [data.get_dict()]
        eventmaster = self.create_dummy(DummyType.RAID_EVENT_MASTER,
                                        raidtable=happenings,
                                        champagne_num_max=10,
                                        champagne_time=300)
        self.__eventmaster = eventmaster

        # イベント用レイド設定.
        raideventraidmaster = self.create_dummy(
            DummyType.RAID_EVENT_RAID_MASTER,
            self.__eventmaster.id,
            self.__raidmaster.id,
            ownerpoint=10,
            mvppoint=20)
        self.__raideventraidmaster = raideventraidmaster

        # シャンパン情報.
        champagnedata = self.create_dummy(
            DummyType.RAID_EVENT_CHAMPAGNE,
            self.__player0.id,
            eventmaster.id,
            0,
            etime=now + datetime.timedelta(seconds=eventmaster.champagne_time))
        self.__champagnedata = champagnedata

        # イベント発生中設定.
        config = BackendApi.get_current_raideventconfig(model_mgr)
        self.__preconfig_mid = config.mid
        self.__preconfig_starttime = config.starttime
        self.__preconfig_endtime = config.endtime
        self.__preconfig_timebonus = config.timebonus_time
        timebonus_time = [{
            'stime': now,
            'etime': now + datetime.timedelta(days=1),
        }]
        config = BackendApi.update_raideventconfig(
            self.__eventmaster.id,
            now,
            now + datetime.timedelta(days=1),
            timebonus_time=timebonus_time)

        # オープニングとタイムボーナスを閲覧済みにする.
        eventflagrecord = self.create_dummy(DummyType.RAID_EVENT_FLAGS,
                                            self.__eventmaster.id,
                                            self.__player0.id,
                                            tbvtime=config.starttime)
        self.__eventflagrecord = eventflagrecord

        # ハプニング情報.
        happening = self.create_dummy(DummyType.HAPPENING,
                                      self.__player0.id,
                                      self.__happeningmaster.id,
                                      progress=happeningmaster.execution,
                                      eventid=self.__eventmaster.id)
        self.__happening = happening

        # レイド.
        raidboss = self.create_dummy(DummyType.RAID, self.__player0,
                                     happeningmaster, happening)
        raidboss.addDamageRecord(self.__player0.id, 1)
        raidboss.refrectDamageRecord()
        raidboss.raid.save()
        self.__raid = raidboss

        # 救援.
        def addRequest(v_player, o_player):
            model_mgr = ModelRequestMgr()
            BackendApi.tr_add_friendrequest(model_mgr, v_player, o_player)
            model_mgr.write_all()
            model_mgr.write_end()

        def addFriend(v_player, o_player):
            model_mgr = ModelRequestMgr()
            BackendApi.tr_add_friend(model_mgr, v_player.id, o_player.id)
            model_mgr.write_all()
            model_mgr.write_end()

        addRequest(self.__player0, self.__player1)
        addFriend(self.__player1, self.__player0)

        model_mgr = ModelRequestMgr()
        BackendApi.tr_send_raidhelp(model_mgr, self.__player0.id)
        model_mgr.write_all()
        model_mgr.write_end()

        raidboss.addDamageRecord(self.__player1.id, 1)
        raidboss.refrectDamageRecord()
        raidboss.raid.save()

        self.__player0.gold = 0
        self.__player0.getModel(PlayerGold).save()

        self.__player0.cardlimititem = 100
        self.__player0.getModel(PlayerDeck).save()

        self.__playerhappening = BackendApi.get_playerhappening(
            model_mgr, self.__player0.id)

        self.__present_num0 = BackendApi.get_present_num(self.__player0.id)
        self.__present_num1 = BackendApi.get_present_num(self.__player1.id)
Exemple #22
0
 def __tr_buy_timeout(self, uid, paymentId):
     model_mgr = ModelRequestMgr()
     BackendApi.tr_shoptimeout(model_mgr, uid, paymentId)
     model_mgr.write_all()
     return model_mgr
    def setUp(self):
        model_mgr = ModelRequestMgr()

        # Player.
        self.__player0 = self.create_dummy(DummyType.PLAYER)
        self.__player1 = self.create_dummy(DummyType.PLAYER)

        # 報酬.
        itemmaster = self.create_dummy(DummyType.ITEM_MASTER)
        prize = self.create_dummy(DummyType.PRIZE_MASTER,
                                  gold=100,
                                  gachapt=10,
                                  item=itemmaster)

        # イベントマスター.
        eventmaster = self.create_dummy(DummyType.SCOUT_EVENT_MASTER,
                                        lovetime_tanzakuup=100)
        self.__eventmaster = eventmaster

        # ステージマスター.
        stagemaster = self.create_dummy(DummyType.SCOUT_EVENT_STAGE_MASTER,
                                        eventid=eventmaster.id,
                                        stage=1)
        self.__stagemaster = stagemaster

        # OPを閲覧済みに.
        flagrecord = self.create_dummy(DummyType.SCOUT_EVENT_FLAGS,
                                       self.__player0.id,
                                       self.__eventmaster.id,
                                       OSAUtil.get_now())
        self.__flagrecord = flagrecord

        # 逢引ラブタイム状態にする.
        playdata = self.create_dummy(DummyType.SCOUT_EVENT_PLAY_DATA,
                                     self.__player0.id,
                                     self.__eventmaster.id,
                                     lovetime_etime=OSAUtil.get_now() +
                                     datetime.timedelta(days=1))
        self.__scoutevent_playdata = playdata

        # イベント発生中設定.
        config = BackendApi.get_current_scouteventconfig(model_mgr)
        self.__preconfig_mid = config.mid
        self.__preconfig_starttime = config.starttime
        self.__preconfig_endtime = config.endtime
        now = OSAUtil.get_now()
        BackendApi.update_scouteventconfig(self.__eventmaster.id, now,
                                           now + datetime.timedelta(days=1))

        # レイドマスター.
        raidmaster = self.create_dummy(DummyType.RAID_MASTER,
                                       hp=1,
                                       prizes=[prize.id],
                                       helpprizes=[prize.id],
                                       cabaretking=100,
                                       demiworld=10)
        self.__raidmaster = raidmaster

        # ハプニング.
        happeningmaster = self.create_dummy(DummyType.HAPPENING_MASTER,
                                            raidmaster.id)
        self.__happeningmaster = happeningmaster

        # 短冊とキャストの情報.
        tanzaku_master = self.create_dummy(
            DummyType.SCOUT_EVENT_TANZAKU_CAST_MASTER,
            self.__eventmaster.id,
            0,
            prizes=[prize.id])
        self.__tanzaku_master = tanzaku_master

        # イベント用レイド設定.
        scouteventraidmaster = self.create_dummy(
            DummyType.SCOUT_EVENT_RAID_MASTER,
            self.__eventmaster.id,
            self.__raidmaster.id,
            tanzaku_number=tanzaku_master.number,
            tanzaku_randmin=10,
            tanzaku_randmax=10,
            tanzaku_help_number=tanzaku_master.number,
            tanzaku_help_randmin=3,
            tanzaku_help_randmax=3)
        self.__scouteventraidmaster = scouteventraidmaster

        # 短冊所持情報.
        tanzaku_nums = {tanzaku_master.number: 0}
        tanzaku_data = self.create_dummy(
            DummyType.SCOUT_EVENT_TANZAKU_CAST_DATA,
            self.__player1.id,
            self.__eventmaster.id,
            tanzaku_nums=tanzaku_nums)
        self.__tanzaku_data1 = tanzaku_data
        tanzaku_data = self.create_dummy(
            DummyType.SCOUT_EVENT_TANZAKU_CAST_DATA,
            self.__player0.id,
            self.__eventmaster.id,
            tanzaku_nums=tanzaku_nums)
        self.__tanzaku_data0 = tanzaku_data

        # ハプニング情報.
        eventvalue = HappeningUtil.make_scouteventvalue(self.__eventmaster.id)
        happening = self.create_dummy(DummyType.HAPPENING,
                                      self.__player0.id,
                                      self.__happeningmaster.id,
                                      progress=happeningmaster.execution,
                                      eventid=eventvalue)
        self.__happening = happening

        # レイド.
        raidboss = self.create_dummy(DummyType.RAID, self.__player0,
                                     happeningmaster, happening)
        raidboss.addDamageRecord(self.__player0.id, 1)
        raidboss.refrectDamageRecord()
        raidboss.raid.save()
        self.__raid = raidboss

        # 救援.
        def addRequest(v_player, o_player):
            model_mgr = ModelRequestMgr()
            BackendApi.tr_add_friendrequest(model_mgr, v_player, o_player)
            model_mgr.write_all()
            model_mgr.write_end()

        def addFriend(v_player, o_player):
            model_mgr = ModelRequestMgr()
            BackendApi.tr_add_friend(model_mgr, v_player.id, o_player.id)
            model_mgr.write_all()
            model_mgr.write_end()

        addRequest(self.__player0, self.__player1)
        addFriend(self.__player1, self.__player0)

        model_mgr = ModelRequestMgr()
        BackendApi.tr_send_raidhelp(model_mgr, self.__player0.id)
        model_mgr.write_all()
        model_mgr.write_end()

        raidboss.addDamageRecord(self.__player1.id, 1)
        raidboss.refrectDamageRecord()
        raidboss.raid.save()

        self.__player0.gold = 0
        self.__player0.getModel(PlayerGold).save()

        self.__player0.cardlimititem = 100
        self.__player0.getModel(PlayerDeck).save()

        self.__playerhappening = BackendApi.get_playerhappening(
            model_mgr, self.__player0.id)

        self.__present_num0 = BackendApi.get_present_num(self.__player0.id)
        self.__present_num1 = BackendApi.get_present_num(self.__player1.id)
Exemple #24
0
 def __tr_write_gacha_cancel(self, uid, paymentId):
     model_mgr = ModelRequestMgr()
     BackendApi.tr_gacha_cancel(model_mgr, uid, paymentId)
     model_mgr.write_all()
     return model_mgr
Exemple #25
0
 def tr_updatelogintime(player, is_pc):
     model_mgr = ModelRequestMgr()
     modelplayer = ModelPlayer([player])
     BackendApi.tr_updatelogintime(model_mgr, modelplayer, is_pc)
     model_mgr.write_all()
     return model_mgr
Exemple #26
0
 def tr_update_tutostate(self, uid, tutostate):
     model_mgr = ModelRequestMgr()
     BackendApi.tr_update_tutorialstate(model_mgr, uid, tutostate)
     model_mgr.write_all()
     return model_mgr
Exemple #27
0
 def tr_write(self, diff_playerdata):
     model_mgr = ModelRequestMgr()
     for playerdata in diff_playerdata:
         model_mgr.set_save(playerdata)
     model_mgr.write_all()
     return model_mgr
Exemple #28
0
 def tr(titlemaster):
     model_mgr = ModelRequestMgr()
     BackendApi.tr_title_get(model_mgr, self.__player.id, titlemaster,
                             self.__now)
     model_mgr.write_all()
     model_mgr.write_end()
Exemple #29
0
 def write(queue, happening, raidboss, help_prizelist):
     model_mgr = ModelRequestMgr()
     BackendApi.tr_distribute_raid(model_mgr, queue, happening,
                                   raidboss, help_prizelist)
     model_mgr.write_all()
     model_mgr.write_end()
    def setUp2(self):
        model_mgr = ModelRequestMgr()

        # Player.
        self.__player0 = self.makePlayer(1000)

        # イベントマスター.
        eventmaster = self.setUpEvent(model_mgr=model_mgr)
        self.__eventmaster = eventmaster

        # ランクのマスター.
        prize = self.create_dummy(DummyType.PRIZE_MASTER, gold=1000)
        params = {
            'winprizes': [{
                'prizes': [prize.id],
                'rate': 100,
            }],
            'battlepoint_w': 100,
            'battlepoint_lv': 10,
        }
        eventrankmaster = self.createRankMaster(params=params)
        self.__eventrankmaster = eventrankmaster

        # オープニングを閲覧済みに.
        self.setOpeningViewTime(self.__player0.id)

        # 参加させておく.
        self.joinRank(self.__player0.id)

        # 参加させておく.
        self.setLoginBonusReceived(self.__player0.id)

        # 対戦相手を設定.
        player = self.makePlayer(10)
        self.joinRank(player.id)
        BattleEventOppList.create(self.__player0.id, [player.id]).save()
        self.__player1 = player

        # 対戦書き込み.
        model_mgr = ModelRequestMgr()
        v_deck = BackendApi.get_deck(self.__player0.id, model_mgr)
        o_deck = BackendApi.get_deck(self.__player1.id, model_mgr)
        v_deck_cardlist = BackendApi.get_cards(v_deck.to_array(), model_mgr)
        o_deck_cardlist = BackendApi.get_cards(o_deck.to_array(), model_mgr)
        data = BackendApi.battle(self.__player0, v_deck_cardlist,
                                 self.__player1, o_deck_cardlist, AppRandom(),
                                 self.__eventmaster)
        BackendApi.tr_battleevent_battle(model_mgr,
                                         eventmaster,
                                         eventrankmaster,
                                         eventrankmaster,
                                         self.__player0,
                                         self.__player1,
                                         v_deck.to_array(),
                                         o_deck.to_array(),
                                         data,
                                         1,
                                         None,
                                         False,
                                         self.__player0.req_confirmkey,
                                         now=OSAUtil.get_now())
        model_mgr.write_all()
        model_mgr.write_end()