#!/usr/bin/python
|
# -*- coding: GBK -*-
|
#-------------------------------------------------------------------------------
|
#
|
##@package GM.Commands.Couple
|
#
|
# @todo:°éÂÂ
|
# @author hxp
|
# @date 2021-11-17
|
# @version 1.0
|
#
|
# ÏêϸÃèÊö: °éÂÂ
|
#
|
#-------------------------------------------------------------------------------
|
#"""Version = 2021-11-17 15:00"""
|
#-------------------------------------------------------------------------------
|
|
import GameWorld
|
import PyDataManager
|
import PlayerLove
|
import PyGameData
|
|
import time
|
|
def __Help(curPlayer):
|
GameWorld.DebugAnswer(curPlayer, "---------- %s" % GameWorld.GetCurrentDataTimeStr())
|
GameWorld.DebugAnswer(curPlayer, "Çå³ý°éÂÂ: Couple 0")
|
GameWorld.DebugAnswer(curPlayer, "ÖØÖÃÆ¸Àñ: Couple 0 1")
|
GameWorld.DebugAnswer(curPlayer, "ÉèÖðéÂÂ: Couple 1 Ä¿±êID [¿ÉѡƸÀñID]")
|
GameWorld.DebugAnswer(curPlayer, "ÉèÇ×ÃܶÈ: Couple 2 Ä¿±êID Ç×ÃܶÈ")
|
GameWorld.DebugAnswer(curPlayer, "Ôö¼ÓÃܶÈ: Couple 3 Ä¿±êID Ç×ÃܶÈ")
|
return
|
|
#Â߼ʵÏÖ
|
## Ö´ÐÐÂß¼
|
# @param curPlayer µ±Ç°Íæ¼Ò
|
# @param gmList [cmdIndex gmAccID msg]
|
# @return None
|
# @remarks º¯ÊýÏêϸ˵Ã÷.
|
def OnExec(curPlayer, gmList):
|
|
if not gmList:
|
__Help(curPlayer)
|
return
|
|
playerID = curPlayer.GetPlayerID()
|
coupleMgr = PyDataManager.GetDBPyCoupleManager()
|
couple = coupleMgr.GetCouple(playerID)
|
|
value1 = gmList[0]
|
if value1 == 0:
|
# ˑȎ
|
if len(gmList) == 1:
|
PlayerLove.__DoMarryBreakLogic(couple, playerID)
|
GameWorld.DebugAnswer(curPlayer, "Çå³ý°éÂÂOK!")
|
return
|
|
value2 = gmList[1]
|
# ÖØÖÃÆ¸Àñ
|
if value2 == 1:
|
if not couple:
|
GameWorld.DebugAnswer(curPlayer, "ûÓаéÂÂ!")
|
return
|
couple.coupleData.BridePriceState = 0
|
PlayerLove.Sync_CoupleInfo(curPlayer)
|
GameWorld.DebugAnswer(curPlayer, "ÖØÖÃÆ¸ÀñOK!")
|
|
return
|
|
# ÉèÖðéÂÂ
|
elif value1 == 1:
|
if couple:
|
GameWorld.DebugAnswer(curPlayer, "ÒÑÓаéÂÂ! coupleID=%s" % couple.GetCoupleID(playerID))
|
return
|
tagPlayerID = gmList[1] if len(gmList) > 1 else 0
|
if not tagPlayerID or tagPlayerID == playerID:
|
GameWorld.DebugAnswer(curPlayer, "·Ç·¨°éÂÂÍæ¼ÒID:%s,playerID=%s" % (tagPlayerID, playerID))
|
return
|
tagCouple = coupleMgr.GetCouple(tagPlayerID)
|
if tagCouple:
|
GameWorld.DebugAnswer(curPlayer, "¶Ô·½ÒÑÓаéÂÂ! tagCoupleID=%s" % tagCouple.GetCoupleID(tagPlayerID))
|
return
|
|
bridePriceID = gmList[2] if len(gmList) > 2 else 1
|
|
reqData = PlayerLove.MarryReq()
|
reqData.playerIDA = tagPlayerID
|
reqData.playerIDB = playerID
|
reqData.bridePriceID = bridePriceID
|
reqData.reqTime = int(time.time())
|
PyGameData.g_marryReqInfo[tagPlayerID] = reqData
|
|
reqPlayer = GameWorld.GetPlayerManager().FindPlayerByID(tagPlayerID)
|
isOK = PlayerLove.__DoMarryResponse(curPlayer, reqPlayer, tagPlayerID, 1)
|
GameWorld.DebugAnswer(curPlayer, "ÉèÖð顾%s¡¿ %s" % (tagPlayerID, isOK))
|
return
|
|
# ÉèÖÃÇ×ÃܶÈ
|
elif value1 == 2 and len(gmList) >= 3:
|
tagPlayerID = gmList[1]
|
setValue = gmList[2]
|
if not tagPlayerID or tagPlayerID == playerID:
|
GameWorld.DebugAnswer(curPlayer, "Íæ¼ÒID²»ÄÜÉèÖÃÇ×ÃܶÈ:%s,playerID=%s" % (tagPlayerID, playerID))
|
return
|
intimacys = PyDataManager.GetIntimacyManager().GetIntimacys(playerID)
|
updIntimacy = intimacys.SetIntimacy(curPlayer, tagPlayerID, setValue)
|
GameWorld.DebugAnswer(curPlayer, "ÉèÖÃÄ¿±ê¡¾%s¡¿Ç×ÃܶÈ: %s" % (tagPlayerID, updIntimacy))
|
|
# Ôö¼ÓÇ×ÃܶÈ
|
elif value1 == 3 and len(gmList) >= 3:
|
tagPlayerID = gmList[1]
|
addValue = gmList[2]
|
if not tagPlayerID or tagPlayerID == playerID:
|
GameWorld.DebugAnswer(curPlayer, "Íæ¼ÒID²»ÄÜÔö¼ÓÇ×ÃܶÈ:%s,playerID=%s" % (tagPlayerID, playerID))
|
return
|
PyDataManager.GetIntimacyManager().AddIntimacyBoth(playerID, tagPlayerID, addValue)
|
intimacys = PyDataManager.GetIntimacyManager().GetIntimacys(playerID)
|
if intimacys:
|
GameWorld.DebugAnswer(curPlayer, "¸üÐÂÄ¿±ê¡¾%s¡¿Ç×ÃܶÈ: %s" % (tagPlayerID, intimacys.GetTagIntimacy(tagPlayerID)))
|
else:
|
__Help(curPlayer)
|
return
|
|
return
|
|
|
|
|