hxp
2024-07-09 03a39e5d596b6430db2c406a3349a1dae75c7f2e
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
64
65
66
67
68
#!/usr/bin/python
# -*- coding: GBK -*-
#-------------------------------------------------------------------------------
#
##@package GameWorldLogic.FBProcess.GameLogic_Adventure
#
# @todo:ðÏչؿ¨
# @author hxp
# @date 2024-05-10
# @version 1.0
#
# ÏêϸÃèÊö: Ã°Ïչؿ¨
#
#-------------------------------------------------------------------------------
#"""Version = 2024-05-10 17:00"""
#-------------------------------------------------------------------------------
 
import ChConfig
import IpyGameDataPY
import GameWorld
import FBCommon
import PlayerSuccess
import ShareDefine
 
def OnTurnFightRequest(curPlayer, mapID, funcLineID, tagType, tagID, valueList):
    ## »ØºÏÕ½¶·ÇëÇó - µØÍ¼ÑéÖ¤
    
    # Ö»ÄÜÒ»¹Ø¹ØÌôÕ½
    passLineID = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_FBPassLineID % mapID)
    if funcLineID != passLineID + 1:
        GameWorld.ErrLog("ðÏչؿ¨Ö»ÄÜÌôÕ½ÏÂÒ»¹Ø! funcLineID=%s,passLineID=%s,nextLineID=%s" 
                         % (funcLineID, passLineID, passLineID + 1), curPlayer.GetPlayerID())
        return
    
    ipyData = IpyGameDataPY.GetIpyGameData("Adventure", funcLineID)
    if not ipyData:
        return
    
    bossID = ipyData.GetNPCID()
    if tagID != bossID or tagType != ChConfig.TurnBattle_TagType_NPC:
        GameWorld.ErrLog("ðÏչؿ¨Ä¿±êbossID´íÎó£¬ÎÞ·¨ÌôÕ½! funcLineID=%s,bossID=%s,tagType=%s,tagID=%s" 
                         % (funcLineID, bossID, tagType, tagID), curPlayer.GetPlayerID())
        return
    
    return True
 
def OnTurnFightOver(curPlayer, mapID, funcLineID, tagType, tagID, valueList, fightRet):
    ## »ØºÏÕ½¶·½áÊø
    # @return: ÊÇ·ñÐèҪͬ²½GameServer, ½±ÀøÁбí, Í¬²½½á¹ûÐÅÏ¢
    needSendGameServer = False
    overInfoEx = {}
    isWin = fightRet[0]
    
    GameWorld.DebugLog("ðÏչؿ¨½áËã: funcLineID=%s,isWin=%s" % (funcLineID, isWin))
    
    ipyData = IpyGameDataPY.GetIpyGameData("Adventure", funcLineID)
    if not ipyData:
        return
    
    FBCommon.OnFBJoin(curPlayer, mapID, funcLineID)
    
    if not isWin:
        return
    
    PlayerSuccess.UptateSuccessProgress(curPlayer, ShareDefine.SuccType_PassAdventure, funcLineID)
    awardItemList = ipyData.GetAwardItemList()
    FBCommon.OnFBPass(curPlayer, mapID, funcLineID, awardItemList)
    return needSendGameServer, awardItemList, overInfoEx