hxp
2025-10-17 22bb99e929439653669b8b2e14325dcc865c7fe3
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerSuccess.py
@@ -27,22 +27,12 @@
import IPY_GameWorld
import PlayerControl
import ItemControler
import PlayerMagicWeapon
import PlayerFamilyRedPacket
import PlayerGatherSoul
import IpyGameDataPY
import PyGameData
import EventReport
import datetime
import time
import math
import ChEquip
import PlayerRune
import Operate_EquipStone
import Operate_EquipWash
import PlayerFeastRedPacket
import PlayerDogz
import DataRecordPack
@@ -125,7 +115,6 @@
        self.attrDict = {} # 完成成就获得的属性 {attrid:attrvalue}
        self.hasAward = True #是否有奖励
        self.redPacketID = 0 # 红包ID
        self.magicWeaponExp = {} # 法宝升级经验{id:exp}
        return
@@ -166,11 +155,7 @@
            succData.exp = successIpyData.GetExp()
            succData.attrDict = successIpyData.GetAwardAttr()
            succData.redPacketID = successIpyData.GetRedPacketID()
            magicWeaponID = successIpyData.GetMagicWeaponID()
            magicWeaponExp = successIpyData.GetMagicWeaponExp()
            if magicWeaponID and magicWeaponExp:
                succData.magicWeaponExp[magicWeaponID] = magicWeaponExp
            succData.hasAward = bool(succData.awardItemDict or succData.moneyDict or succData.exp or succData.attrDict or succData.redPacketID or succData.magicWeaponExp \
            succData.hasAward = bool(succData.awardItemDict or succData.moneyDict or succData.exp or succData.attrDict or succData.redPacketID \
                                     or succData.awardItemDict2)
            successDataObjDict[succData.succID]=succData
            if tuple(succData.condition) not in conditionDict:
@@ -470,9 +455,9 @@
def UptateSuccessProgress(curPlayer, successType, newCnt, condition=[]):
    if successType not in ShareDefine.SuccessTypeList:
        return
    if successType in ShareDefine.FeastRedPackSuccessTypeList:
        if not PlayerFeastRedPacket.GetFeastRedPacketState():
            return
    #if successType in ShareDefine.FeastRedPackSuccessTypeList:
    #    if not PlayerFeastRedPacket.GetFeastRedPacketState():
    #        return
    succInfoList = GetSuccDataMng().GetSuccDataByType(successType)
    if not succInfoList:
        GameWorld.DebugLog("    找不到成就数据successType=%s" % successType)
@@ -495,11 +480,11 @@
    succID = succDataObj.succID
    cond = succDataObj.condition
    
    if successType in ShareDefine.FeastRedPackSuccessTypeList:
        todayFeastSuccIDList = PlayerFeastRedPacket.GetTodayFeastSuccIDList()
        if not todayFeastSuccIDList or succID not in todayFeastSuccIDList:
            #GameWorld.DebugLog("    非今日节日红包成就,不增加进度! succID=%s,todayFeastSuccIDList=%s" % (succID, todayFeastSuccIDList))
            return
    #if successType in ShareDefine.FeastRedPackSuccessTypeList:
    #    todayFeastSuccIDList = PlayerFeastRedPacket.GetTodayFeastSuccIDList()
    #    if not todayFeastSuccIDList or succID not in todayFeastSuccIDList:
    #        #GameWorld.DebugLog("    非今日节日红包成就,不增加进度! succID=%s,todayFeastSuccIDList=%s" % (succID, todayFeastSuccIDList))
    #        return
    isUnDownCheck = successType in ShareDefine.UnDownCheckSuccessTypeList
    isContain = successType in ShareDefine.ContainSuccessTypeList
    # 已完成的不再检查
@@ -580,10 +565,10 @@
    if GameWorld.IsCrossServer():
        return
    
    if successType in ShareDefine.FeastRedPackSuccessTypeList:
        if not PlayerFeastRedPacket.GetFeastRedPacketState():
            #GameWorld.DebugLog("非节日红包活动时间,不增加成就!successType=%s" % successType)
            return
    #if successType in ShareDefine.FeastRedPackSuccessTypeList:
    #    if not PlayerFeastRedPacket.GetFeastRedPacketState():
    #        #GameWorld.DebugLog("非节日红包活动时间,不增加成就!successType=%s" % successType)
    #        return
        
    playerID = curPlayer.GetID()
    if delayCalc and successType not in ShareDefine.NeedResetSuccessTypeList:
@@ -699,9 +684,7 @@
            
            if isNeedSys:
                PlayerControl.WorldNotify(0, 'AncientBattlefield_1', [playerName, succID])
            for mwID in succDataObj.magicWeaponExp.keys():
                EventReport.WriteEvent_MWSuccess(curPlayer, mwID, succID, ChConfig.CME_Log_Start)
            GameWorld.DebugLog("    完成成就succID=%s, type=%s,time=%s" 
                               % (succID, successType, curTime))
            
@@ -947,13 +930,8 @@
    if succData.attrDict:
        RefreshSuccessAttr(curPlayer)
    #发红包
    if succData.redPacketID:
        PlayerFamilyRedPacket.CreatRedPacketByID(curPlayer, succData.redPacketID, PlayerFamilyRedPacket.State_NoGot, succID)
    #法宝经验
    if succData.magicWeaponExp:
        for mwID, addExp in succData.magicWeaponExp.items():
            PlayerMagicWeapon.AddMagicWeaponUpExp(curPlayer, mwID, addExp)
            EventReport.WriteEvent_MWSuccess(curPlayer, mwID, succID, ChConfig.CME_Log_End, 1)
    #if succData.redPacketID:
    #    PlayerFamilyRedPacket.CreatRedPacketByID(curPlayer, succData.redPacketID, PlayerFamilyRedPacket.State_NoGot, succID)
    GameWorld.DebugLog("    OK! awardItemDict=%s moneyDict=%s" % (itemDict, succData.moneyDict))
    ItemControler.NotifyGiveAwardInfo(curPlayer, giveItemList, "SuccessAward", exp=succData.exp, moneyInfo=succData.moneyDict)
    return itemDict
@@ -999,13 +977,6 @@
def AddEnterFBSuccess(curPlayer, mapID, addCount):
    #进入副本成就相关
    if mapID == ChConfig.Def_FBMapID_BZZD:
        #仙界秘境
        DoAddSuccessProgress(curPlayer, ShareDefine.SuccType_BZZD, addCount)
    elif mapID == ChConfig.Def_FBMapID_IceLode:
        #冰晶矿脉
        DoAddSuccessProgress(curPlayer, ShareDefine.SuccType_IceLode, addCount)
    return
def GetSuccessScoreAward(curPlayer, awardIndex):