#!/usr/bin/python
|
# -*- coding: GBK -*-
|
#-------------------------------------------------------------------------------
|
#
|
##@package GameWorldLogic.FBProcess.GameLogic_ArenaBattle
|
#
|
# @todo:¾º¼¼³¡Õ½¶·
|
# @author hxp
|
# @date 2020-12-07
|
# @version 1.0
|
#
|
# ÏêϸÃèÊö: ¾º¼¼³¡Õ½¶·£¬Ä¿Ç°Ö÷Òª×ö×Ô¶¨Ò帱±¾Á÷³ÌÇÅÁº°É£¬ÔÝʱûʲô¶îÍâÂß¼£¬Õ½¶·¹ý³Ìǰ¶Ë×ÔÐд¦Àí£¬ºó¶ËÖ»´¦Àí»÷ɱľ׮ºó½áËã
|
# ¿³Ê÷°æ±¾¸ÄΪ»ØºÏÕ½¶·
|
#
|
#-------------------------------------------------------------------------------
|
#"""Version = 2020-12-07 19:30"""
|
#-------------------------------------------------------------------------------
|
|
import ChConfig
|
import GameWorld
|
import PlayerControl
|
import PlayerArena
|
|
def OnTurnFightRequest(curPlayer, mapID, funcLineID, tagType, tagID, valueList):
|
## »ØºÏÕ½¶·ÇëÇó - µØÍ¼ÑéÖ¤
|
|
playerID = curPlayer.GetPlayerID()
|
if not PlayerArena.CheckArenaBattleCount(curPlayer):
|
GameWorld.DebugLog("¾º¼¼³¡ÒѾûÓжÔÕ½´ÎÊý!", playerID)
|
return
|
|
if not valueList:
|
GameWorld.DebugLog("¾º¼¼³¡Ã»Óз¢ËͻغÏÕ½¶·µÄPlayerID£¬ÔÚvalueListÀË÷Òý0µÄֵΪPlayerID!", playerID)
|
return
|
tagPlayerID = valueList[0]
|
GameWorld.DebugLog("¾º¼¼³¡ÇëÇó¶ÔÕ½! tagType=%s,tagID=%s,tagPlayerID=%s" % (tagType, tagID, tagPlayerID), playerID)
|
|
return True
|
|
def OnTurnFightOver(curPlayer, mapID, funcLineID, tagType, tagID, valueList, fightRet):
|
## »ØºÏÕ½¶·½áÊø
|
# @return: ÊÇ·ñÐèҪͬ²½GameServer, ½±ÀøÁбí, ͬ²½½á¹ûÐÅÏ¢
|
needSendGameServer = False
|
awardItemList = []
|
overInfoEx = {}
|
isWin = fightRet[0]
|
|
playerID = curPlayer.GetPlayerID()
|
if not valueList:
|
return
|
tagPlayerID = valueList[0]
|
|
if not PlayerArena.CheckArenaBattleCount(curPlayer):
|
return
|
|
playerLV = curPlayer.GetLV()
|
playerScore = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_ArenaScore)
|
msgInfo = str(["BattleResult", {"tagPlayerID":tagPlayerID, "isWin":isWin, "playerLV":playerLV, "playerScore":playerScore,
|
"realmLV":curPlayer.GetOfficialRank(), "fightPower":PlayerControl.GetFightPower(curPlayer)}])
|
GameWorld.DebugLog("¾º¼¼³¡·¢ËÍGameServer½áËã: %s" % msgInfo, playerID)
|
GameWorld.GetPlayerManager().GameServer_QueryPlayerResult(curPlayer.GetID(), 0, 0, "Arena", msgInfo, len(msgInfo))
|
|
return needSendGameServer, awardItemList, overInfoEx
|