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}
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}
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 })
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})
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)
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)
def updateDataInDB(self): props = {} props['kimori'] = self.kimori props['siege'] = self.siege dbfortress.updateFortressInfo(self.id, props)
def updateDataInDB(self): props = {} props['kimori'] = self.kimori props['siege'] = self.siege dbfortress.updateFortressInfo(self.id, props)