示例#1
0
 def SignUp(self,guild):
     '''征战报名
     @param guild: 国的ID
     '''
     props = {}
     if self.kimori and self.siege:
         return {'result':False,'msgID':649}
     if not self.kimori:
         self.kimori = guild
         props['kimori'] = guild
     else:
         self.siege = guild
         props['siege'] = guild
     self.addFightlog(guild, 1)
     dbfortress.updateFortressInfo(self.id, props)
     return {'result':True,'msgID':650}
示例#2
0
 def SignUp(self, guild):
     '''征战报名
     @param guild: 国的ID
     '''
     props = {}
     if self.kimori and self.siege:
         return {'result': False, 'msgID': 649}
     if not self.kimori:
         self.kimori = guild
         props['kimori'] = guild
     else:
         self.siege = guild
         props['siege'] = guild
     self.addFightlog(guild, 1)
     dbfortress.updateFortressInfo(self.id, props)
     return {'result': True, 'msgID': 650}
示例#3
0
    def ClearingFight(self):
        '''国战战后结算
        '''
        from app.scense.core.guild.GuildManager import GuildManager
        info = {}
        info['applyTime'] = str(datetime.datetime.now())
        if not self.siege:
            info['kimori'] = self.kimori
            winner = info['kimori']
            Loser = 0
        else:
            #守城方的分数大于攻城方的分数
            if self.kimoriScore > self.siegeScore:
                info['kimori'] = self.kimori
                winner = info['kimori']
                Loser = self.siege
            else:
                self.kimori = self.siege
                info['kimori'] = self.siege
                winner = info['kimori']
                Loser = self.kimori
        self.kimoriScore = 0
        self.siegeScore = 0
        self.isOccupied = 1
        info['kimoriScore'] = 0
        info['siegeScore'] = 0
        info['siege'] = 0
        info['isOccupied'] = 1
        self.addFightlog(info['kimori'], 2)
        guild1 = GuildManager().getGuildById(winner)
        guild2 = GuildManager().getGuildById(Loser)
        if guild1:
            guild1.addExp(3500)
            msg = u"%s国成功征战%s,成为其国领地!" % (guild1.get('name'), self.name)
            chatnoderemote.callRemote('pushSystemToInfo', msg)
        if guild2:
            guild1.addExp(1500)

        dbfortress.updateFortressInfo(self.id, {
            'kimori': info['kimori'],
            'isOccupied': 1,
            'siege': 0
        })
示例#4
0
 def ClearingFight(self):
     '''国战战后结算
     '''
     from app.scense.core.guild.GuildManager import GuildManager
     info = {}
     info['applyTime']=str(datetime.datetime.now())
     if not self.siege:
         info['kimori']=self.kimori
         winner = info['kimori']
         Loser = 0
     else:
         #守城方的分数大于攻城方的分数
         if self.kimoriScore>self.siegeScore:
             info['kimori']=self.kimori
             winner = info['kimori']
             Loser = self.siege
         else:
             self.kimori = self.siege
             info['kimori']=self.siege
             winner = info['kimori']
             Loser = self.kimori
     self.kimoriScore = 0
     self.siegeScore = 0
     self.isOccupied = 1
     info['kimoriScore'] = 0
     info['siegeScore'] = 0
     info['siege'] = 0
     info['isOccupied'] = 1
     self.addFightlog(info['kimori'], 2)
     guild1 = GuildManager().getGuildById(winner)
     guild2 = GuildManager().getGuildById(Loser)
     if guild1:
         guild1.addExp(3500)
         msg = u"%s国成功征战%s,成为其国领地!"%(guild1.get('name'),self.name)
         chatnoderemote.callRemote('pushSystemToInfo',msg)
     if guild2:
         guild1.addExp(1500)
     
     dbfortress.updateFortressInfo(self.id, {'kimori':info['kimori'],
                                             'isOccupied':1,'siege':0})
示例#5
0
 def afterFight(self,monsterId,playerId,currentHp):
     '''场景中的战后处理
     @monsterId 怪物的ID
     @param playerId: int 攻击的角色的ID
     @currentHp: int 怪物的当前血量 
     '''
     if monsterId>10:
         return
     monster = self._monsters.get(monsterId)
     if not monster:
         if monsterId == 1:#主帅旗被砍掉
             from app.scense.core.guild.GuildManager import GuildManager
             from app.scense.core.campaign.FortressManager import FortressManager
             from app.scense.utils.dbopera import dbfortress
             player = PlayersManager().getPlayerByID(playerId)
             guildId = player.guild.getID()
             fortress = FortressManager().getFortressBySceneId(self._id)
             info = {}
             info['kimoriScore'] = 0
             info['siegeScore'] = 0
             info['siege'] = 0
             info['isOccupied'] = 1
             info['kimori'] = guildId
             info['siege'] = 0
             guild1 = GuildManager().getGuildById(guildId)
             if guild1:
                 guild1.addExp(3500)
                 msg = u"%s国成功征战%s,成为其国领地!"%(guild1.name,self._name)
                 pushSystemInfo(msg)
                 dbfortress.updateFortressInfo(fortress.id, {'kimori':info['kimori'],
                                             'isOccupied':1,'siege':0})
             return
         else:
             return
     monster.updateHp(currentHp)
     
     
     
示例#6
0
 def afterFight(self, monsterId, playerId, currentHp):
     '''场景中的战后处理
     @monsterId 怪物的ID
     @param playerId: int 攻击的角色的ID
     @currentHp: int 怪物的当前血量 
     '''
     if monsterId > 10:
         return
     monster = self._monsters.get(monsterId)
     if not monster:
         if monsterId == 1:  #主帅旗被砍掉
             from app.scense.core.guild.GuildManager import GuildManager
             from app.scense.core.campaign.FortressManager import FortressManager
             from app.scense.utils.dbopera import dbfortress
             player = PlayersManager().getPlayerByID(playerId)
             guildId = player.guild.getID()
             fortress = FortressManager().getFortressBySceneId(self._id)
             info = {}
             info['kimoriScore'] = 0
             info['siegeScore'] = 0
             info['siege'] = 0
             info['isOccupied'] = 1
             info['kimori'] = guildId
             info['siege'] = 0
             guild1 = GuildManager().getGuildById(guildId)
             if guild1:
                 guild1.addExp(3500)
                 msg = u"%s国成功征战%s,成为其国领地!" % (guild1.name, self._name)
                 pushSystemInfo(msg)
                 dbfortress.updateFortressInfo(fortress.id, {
                     'kimori': info['kimori'],
                     'isOccupied': 1,
                     'siege': 0
                 })
             return
         else:
             return
     monster.updateHp(currentHp)
示例#7
0
 def updateDataInDB(self):
     props = {}
     props['kimori'] = self.kimori
     props['siege'] = self.siege
     dbfortress.updateFortressInfo(self.id, props)
示例#8
0
 def updateDataInDB(self):
     props = {}
     props['kimori'] = self.kimori
     props['siege'] = self.siege
     dbfortress.updateFortressInfo(self.id, props)