#!/usr/bin/python
|
# -*- coding: GBK -*-
|
#-------------------------------------------------------------------------------
|
#
|
##@package GameWorldLogic.FBProcess.GameLogic_MineArea
|
#
|
# @todo:¸£µØ
|
# @author hxp
|
# @date 2024-04-10
|
# @version 1.0
|
#
|
# ÏêϸÃèÊö: ¸£µØ
|
#
|
#-------------------------------------------------------------------------------
|
#"""Version = 2024-04-10 14:00"""
|
#-------------------------------------------------------------------------------
|
|
import ChConfig
|
import IpyGameDataPY
|
import PlayerMineArea
|
import PlayerControl
|
import GameWorld
|
|
def OnTurnFightRequest(curPlayer, mapID, funcLineID, tagType, tagID, valueList):
|
## »ØºÏÕ½¶·ÇëÇó - µØÍ¼ÑéÖ¤
|
|
if tagType != ChConfig.TurnBattle_TagType_Player:
|
GameWorld.DebugLog("ÇëÇó»ØºÏÕ½¶·Ä¿±êÒì³£! mapID=%s,tagType=%s,tagID=%s" % (mapID, tagType, tagID), curPlayer.GetPlayerID())
|
return
|
|
# Ò¡È˰ïÖú
|
if funcLineID == 0:
|
if not tagID:
|
return
|
awardCount = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_MineHelpAwardCount)
|
awardCountMax = IpyGameDataPY.GetFuncCfg("MineAreaHelp", 1)
|
if awardCountMax and awardCount >= awardCountMax:
|
GameWorld.DebugLog("ÒÑ´ïµ½½ñÈÕ¸£µØ°ïÖú½±Àø´ÎÊýÉÏÏÞ! awardCount=%s" % awardCount, curPlayer.GetPlayerID())
|
return
|
# ×Ô¼ºÇý¸Ï
|
elif funcLineID == 1:
|
pass
|
else:
|
# ͨ¹ýlineIDÀ©Õ¹Í¬¸ö¹¦ÄÜϵͳϵIJ»Í¬Õ½¶·ÐèÇó
|
pass
|
|
return True
|
|
def OnTurnFightOver(curPlayer, mapID, funcLineID, tagType, tagID, valueList, fightRet):
|
## »ØºÏÕ½¶·½áÊø
|
# @return: ÊÇ·ñÐèҪͬ²½GameServer, ½±ÀøÁбí, ͬ²½½á¹ûÐÅÏ¢
|
needSendGameServer = True
|
awardItemList = []
|
overInfoEx = {}
|
|
# Ò¡È˰ïÖú
|
if funcLineID == 0:
|
# ÎÞÂÛʤ¸º¶¼ÒªÍ¬²½GameServer»ã±¨½á¹û
|
isWin = fightRet[0]
|
if not isWin:
|
return needSendGameServer, awardItemList, overInfoEx
|
|
awardItemList = IpyGameDataPY.GetFuncEvalCfg("MineAreaHelp", 2)
|
return needSendGameServer, awardItemList, overInfoEx
|
|
# ×Ô¼ºÇý¸Ï
|
elif funcLineID == 1:
|
return needSendGameServer, awardItemList, overInfoEx
|
|
return
|
|
def OnTurnFightOver_GameServerRet(curPlayer, mapID, funcLineID, tagType, tagID, valueList, fightRet, awardItemList, ret):
|
## »ØºÏÕ½¶·½áÊø - GameServer´¦ÀíÍê±Ï·µ»Ø
|
|
# Ò¡È˰ïÖú
|
if funcLineID == 0:
|
isWin = fightRet[0]
|
if not isWin or not ret:
|
return
|
|
# Ôö¼Ó½±Àø´ÎÊý
|
awardCount = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_MineHelpAwardCount) + 1
|
PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_MineHelpAwardCount, awardCount)
|
GameWorld.DebugLog("¸üи£µØ°ïÖúËûÈ˽±Àø´ÎÊý: awardCount=%s" % awardCount, curPlayer.GetPlayerID())
|
PlayerMineArea.SyncPlayerMineAreaInfo(curPlayer)
|
|
return
|
|
|