ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerLove.py
@@ -563,6 +563,8 @@
    PyGameData.g_marryCandyInfo[(reqPlayerID, playerID)] = candyObj
    __SortCandy()
    Sync_CandyList(None, [candyObj])
    PyGameData.g_marryReqInfo.pop(playerID, None) # 可能存在相互提亲的情况,尝试顺便把自身的提亲请求删除,因为已经无用了
    return True
def __SortCandy():
@@ -863,17 +865,30 @@
            GameWorld.Log("聘礼提亲次数不足,无法提亲! bridePriceID=%s,buyCount(%s) >= canBuyMax(%s)" 
                          % (bridePriceID, buyCount, canBuyMax), playerID)
            return
    curTime = int(time.time())
    if tagPlayerID in PyGameData.g_marryReqInfo:
        tagReqData = PyGameData.g_marryReqInfo[tagPlayerID]
        tagBridePriceID = tagReqData.bridePriceID
        if playerID == tagReqData.playerIDB and not __CheckMarryReqTimeout(tagReqData):
            GameWorld.Log("玩家提亲时,目标刚好已经先提过亲,且在有效期内,直接成亲!tagPlayerID=%s" % tagPlayerID, playerID)
            if tagBridePriceID < bridePriceID:
                GameWorld.Log("玩家提亲时,目标刚好已经先提过亲,且在有效期内,直接成亲!使用当前提亲玩家较高聘礼ID为准! tagPlayerID=%s,tagBridePriceID=%s < bridePriceID=%s"
                              % (tagPlayerID, tagBridePriceID, bridePriceID), playerID)
                reqData = MarryReq()
                reqData.playerIDA = playerID
                reqData.playerIDB = tagPlayerID
                reqData.bridePriceID = bridePriceID
                reqData.reqTime = curTime
                PyGameData.g_marryReqInfo[playerID] = reqData
                if __DoMarryResponse(tagPlayer, curPlayer, playerID, 1):
                    return
            GameWorld.Log("玩家提亲时,目标刚好已经先提过亲,且在有效期内,直接成亲!tagPlayerID=%s,tagBridePriceID=%s,bridePriceID=%s"
                          % (tagPlayerID, tagBridePriceID, bridePriceID), playerID)
            if __DoMarryResponse(curPlayer, tagPlayer, tagPlayerID, 1):
                return
        else:
            GameWorld.DebugLog("对方有提亲,但是对象不一样或已超时! tagPlayerID=%s, timeout=%s" % (tagReqData.playerIDB, __CheckMarryReqTimeout(tagReqData)), playerID)
            
    curTime = int(time.time())
    if playerID not in PyGameData.g_marryReqInfo:
        reqData = MarryReq()
        PyGameData.g_marryReqInfo[playerID] = reqData