#!/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, tagPlayerID, valueList):
|
## »ØºÏÕ½¶·ÇëÇó - µØÍ¼ÑéÖ¤
|
|
# Ò¡È˰ïÖú
|
if funcLineID == 0:
|
if not tagPlayerID:
|
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
|
else:
|
# ͨ¹ýlineIDÀ©Õ¹Í¬¸ö¹¦ÄÜϵͳϵIJ»Í¬Õ½¶·ÐèÇó
|
pass
|
|
return True
|
|
def OnTurnFightOver(curPlayer, mapID, funcLineID, tagPlayerID, valueList, fightRet):
|
## »ØºÏÕ½¶·½áÊø
|
# @return: ÊÇ·ñÐèҪͬ²½GameServer, ½±ÀøÁбí, ·¢·Å·½Ê½(0-²»·¢·Å, 1-TurnAttackÄ£¿éͳһ·¢·Å, 2-¹¦ÄÜ×Ô¼º¾ö¶¨·¢·ÅÂß¼)
|
|
# Ò¡È˰ïÖú
|
if funcLineID == 0:
|
# ÎÞÂÛʤ¸º¶¼ÒªÍ¬²½GameServer»ã±¨½á¹û
|
isWin = fightRet[0]
|
if not isWin:
|
return True, [], 0
|
|
awardItemList = IpyGameDataPY.GetFuncEvalCfg("MineAreaHelp", 2)
|
return True, awardItemList, 2
|
|
return
|
|
def OnTurnFightOver_GameServerRet(curPlayer, mapID, funcLineID, tagPlayerID, 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
|
|
|