1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#!/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