hwj35
2025-06-23 aa0f971ae9a59f0fd98d57b6c1d1663a270be92c
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
ÞöMec@sxddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z d„Z d„Zd„Zd„Zd„Zd„Zd„Zd    „Zd
„Zd „Zd „Zd „Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z!d„Z"d„Z#d„Z$dS(iÿÿÿÿNcCs9|jtjƒr5tj|tjdƒt|ƒndS(Ni(tNomalDictGetPropertytChConfigtDef_PDict_LoveEatCandyTodayt PlayerControltNomalDictSetPropertyt Sync_LoveInfo(t    curPlayer((snE:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerLove.pyt DoPlayerOnDay s cCst|ƒt|ƒdS(N(RtSync_LoveRingInfo(R((snE:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerLove.pyt DoPlayerLogin&s
 
c    Cstjƒj|ƒ}|j}|j}|j}|j}|dksQ|dkrUdStjd|ƒ}|sqdS|j    ƒ}    |j
ƒs’d}nt j ||    |ƒ\}
} } || | } | dkrH|sôtj d|    || | | fƒdStjddƒ}i|    tj6}tj|i| |    6|tj|dtƒsHdSntj|tj|ƒsttj|dƒdS|||    ||g}t|d|ƒdS(NitLoveGiftisUÀñÎïµÀ¾ß²»×㣬ÎÞ·¨ÔùËÍ! giftItemID=%s,giftCount=%s,bindCnt=%s,unBindCnt=%s,lackCnt=%stisCheckt RequestLatert SendGiftsReq(t    GameWorldtGetPlayerManagertGetPlayerByIndext TagPlayerIDtGiftNumt    GiftCountt    IsAutoBuyt IpyGameDataPYtGetIpyGameDatat GetGiftItemIDt GetAllowBatcht
ItemCommontGetPackItemBindStateIndexInfotDebugLogt
GetFuncCfgRtDef_Cost_Reason_SonKeytFunctionNPCCommontPayAutoBuyItemt Def_Cost_LovetTruetSetPlayerTickTimetTYPE_Player_Tick_LoveRt
NotifyCodetSendToGameServer_Love(tindext
clientDatattickRt tagPlayerIDtgiftNumt    giftCountt    isAutoBuytipyDatat
giftItemIDt_tbindCntt    unBindCnttlackCntt    moneyTypetinfoDicttdataMsg((snE:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerLove.pyt OnSendGifts5s<                           +c CsÖtjƒj|ƒ}|j}|j}tjd|ƒ}|sCdS|jƒ}t|ƒdkredS|\}}    t    j
|||    ƒsŠdStj |t j |ƒs¶t    j|dƒdS||g}
t|d|
ƒdS(NtMarryiR tMarryReq(RRRRt BridePriceIDRRtGetCostMoneyInfotlenRt    HaveMoneyR"RR#R$R%( R&R'R(RR)t bridePriceIDR-t costMoneyInfoR3t
moneyValueR5((snE:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerLove.pyt
OnMarryReqds$           c Cs tjƒj|ƒ}|j}|j}|jƒ}tjddƒ}|rŠ|jt    j
ƒ}||krŠtj d||f|ƒdSntj |t    j |ƒs¶tj|dƒdStjddƒ\}    }
tj||    ƒ} ||||    |
| g} t|d| ƒdS(Nt    LoveCandyis.ÒÑ´ï½ñÈÕ³ÔϲÌÇ´ÎÊýÉÏÏÞ. eatCandyToday=%s >= %sR it MarryEatCandy(RRRt    PlayerIDAt    PlayerIDBt GetPlayerIDRRRRRRR"R#RR$tGetFuncEvalCfgtGetMoneyR%( R&R'R(Rt    playerIDAt    playerIDBtplayerIDt EatCandyMaxt eatCandyTodayt costMoneyTypetcostMoneyValuetplayerMoneyValueR5((snE:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerLove.pytOnMarryEatCandy„s$          c CsÎtjƒj|ƒ}|j}|j}|jƒ}tjddƒ\}}tj    |||ƒsddStj
||ƒ}    tj |t j |ƒs¢tj|dƒdS||||||    g}
t|d|
ƒdS(Nt LoveCandyFireiR tMarryBuyFireworks(RRRRCRDRERRFRR<RGR"RR#R$R%( R&R'R(RRHRIRJRMRNROR5((snE:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerLove.pytOnMarryBuyFireworks§s         c
Csätjƒj|ƒ}|j}|jƒ}d\}}|dkr’tjddƒ}t|ƒdkrjdS|\}}tj    |||ƒs’dSntj
|t j |ƒs¾tj |dƒdS||||g}    t|d|    ƒdS(    NiitLoveMarryBreakiiR t MarryBreakReq(ii(RRRt    BreakTypeRERRFR;RR<R"RR#R$R%(
R&R'R(Rt    breakTypeRJR3R?R>R5((snE:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerLove.pyt OnMarryBreakÃs"        cCsdt||gƒ}tjƒj|jƒddd|t|ƒƒtjd||f|jƒƒdS(NitLovesÇéÔµ·¢ËÍGameServer: %s, %s(tstrRRtGameServer_QueryPlayerResultRER;tLog(RtmsgTypeR5tmsgList((snE:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerLove.pyR%Ús. cCsh|d \}}|dkr,t||ƒn8|dkrHt||ƒn|dkrdt||ƒndS(Nit MarrySuccesstClearCoupleSocialtSyncMapServerIntimacy(t__DoMarrySuccesst__ClearCoupleSocialRa(RtmsgDataR]R5((snE:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerLove.pytGameServer_Love_DoLogicás   cCs«|\}}}|dkr5|s%dSt||ƒnr|dkr[|sKdSt||ƒnL|dkr|sqdSt||ƒn&|dkr§|s—dSt||ƒndS(NR RBRRRU(t__DoSendGiftsReqt__DoMarryEatCandyt__DoMarryBuyFireworkst__DoMarryBreakReq(RRdR]R5tret((snE:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerLove.pytGameServer_Love_DoResultós$    cCsC|jƒ}|\}}}}}tj|||ƒ\}}    }
||    |
} |} | dkrá|s‰tjd|||    |
| fƒdStjddƒ} i|tj6}t    j
|i| |6| tj |ƒsÔdS| | 8} ntj d|||||f|ƒ| dkr/tj |||    |
| dƒnt|d|ƒdS(NisUÀñÎïµÀ¾ß²»×㣬ÎÞ·¨ÔùËÍ! giftItemID=%s,giftCount=%s,bindCnt=%s,unBindCnt=%s,lackCnt=%sR
isKÔùËÍÀñÎï: tagPlayerID=%s,giftNum=%s,giftItemID=%s,giftCount=%s,isAutoBuy=%sRYt SendGiftsOK(RERRRtErrLogRRRRRRR R\tDelCostItemByBindR%(RR5RJR)R*R.R+R,tcostItemIndexListR0R1R2tdelCntR3R4((snE:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerLove.pyRfs*      %      c    Csæ|\}}}}}|s7tj|||ƒs7dSn|sAdS|jtjƒd}tj|tj|ƒt|ƒtjd||f|j    ƒƒ|sÒidtj
6}tj |||tj |dt ƒntj||ƒdS(Nis)³ÔϲÌǽá¹û: isFree=%s,updEatCandyToday=%stEatCandytisMinus(RR<RRRRRRR\RERtPayMoneyR R!t ItemControlertGivePlayerItemOrMail(    RtretInfotcanBuytisFreeRMRNt candyItemInfotupdEatCandyTodayR4((snE:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerLove.pyRg0s
 %cCsb|\}}tjd||f|jƒƒidtj6}tj|||tj|dtƒdS(Ns9Ö´ÐйºÂò»éÀñÑÌ»¨½á¹û: costMoneyType=%s, costMoneyValue=%sRRRr(    RR\RERRRRsR R!(RRvRMRNR4((snE:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerLove.pyRhIs
  "cCsb|\}}tjd||f|jƒƒidtj6}tj|||tj|dtƒdS(Ns9Ö´ÐÐÇ¿ÖÆÀë»éÇëÇó½á¹û: costMoneyType=%s, costMoneyValue=%st
MarryBreakRr(    RR\RERRRRsR R!(RRvRMRNR4((snE:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerLove.pyRiSs
  "c Csb|\}}}}|jƒ}tj||ƒtjd|||f|ƒ|jtjƒdkr¿tjdƒtj    |tjdƒtj    |tj
dƒtj    |tj dƒt |ƒntj    |tj |ƒt|ƒ||krTtjd|ƒ}|rT|jƒ\}}    idtj6|d6}
tj|||    tj|
dtƒqTnt|ƒdS(    Ns>Ö´ÐгÉÇ׳ɹ¦! reqPlayerID=%s,bridePriceID=%s,coupleIntimacy=%sis    ¼¤»îÇé½ä!iR7R_R=Rr(RERt SetCoupleInfoRR\RRtDef_PDict_LoveRingClassLVRRtDef_PDict_LoveRingStarLVtDef_PDict_LoveRingEatCountRtDef_PDict_LoveCoupleIntimacytRefreshCoupleTeamBuffRRR:RRsR R!tRefreshLoveAttr( RR5t reqPlayerIDR=tmapServerCoupleInfotcoupleIntimacyRJR-R3R?R4((snE:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerLove.pyRb]s(   
 (
cCsm|jƒ}tj|ƒ}tj|dƒtjd||ƒtj|tj    dƒt
|ƒt |ƒdS(NsÇå³ý°é¹ØÏµ³É¹¦! coupleID=%si( RERt GetCoupleIDR|tNoneRR\RRR€RR‚(RR5RJtcoupleID((snE:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerLove.pyRczs 
 
cCs&tjƒj|ƒ}|jƒ}tjddƒ}tj||tj    ƒ}tj
|ƒsrtj d||ƒdStj ||dƒ|j tjƒ}|dkr tj d|ƒtj|tjdƒtj|tjdƒtj|tjdƒt|ƒt|ƒntj|tjƒƒdS(NtLoveRingis%ÎïÆ·½âËøÇé½äȱÉÙµÀ¾ß! unlockItemID=%ss ÎïÆ·½âËøÇé½ä!i(RRRRERRRtFindItemInPackByItemIDt IPY_GameWorldtrptItemtCheckItemCanUseRtDelItemRRR}RRR~RRR‚t NetPackCommont SendFakePacktChPyNetSendPackttagMCLoveRingUnlockOK(R&R'R(RRJt unlockItemIDt
unlockItemtclassLV((snE:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerLove.pytOnLoveRingUnlocks$  
 c    Cstjƒj|ƒ}|j}|jƒ}|jtjƒ}|sVtjd|ƒdS|jtj    ƒ}|jtj
ƒ}t j d||ƒ}    |    s™dS|    j ƒ}
|
sÉtjd||f|ƒdSt jddƒ} | sî|dkròdStj|| |ƒ\} } }|| |}|dkrQtjd| || ||f|ƒdS|}||}}||}tjd||||||
f|ƒd}||
kr<d    }|d
7}t jd||ƒ}|s/|d
7}d
}t j d||ƒ}|s&tjd ||||||
f|ƒdSd }n||
8}n|ratj|| | ||d ƒn|d    krtjd|||f|ƒn,|d kr¹tjd|||f|ƒntj|tj|ƒtj|tj    |ƒtj|tj
|ƒt|ƒt|ƒdS(Ns Çé½äδ½âËø!R‰s Çé½äÒÑÂú¼¶£¡classLV=%s,starLV=%siis]ÏûºÄµÀ¾ß²»×㣬ÎÞ·¨Éý¼¶Çé½ä! costItemID=%s,costItemCount=%s,bindCnt=%s,unBindCnt=%s,lackCnt=%sseÇé½äÉý¼¶: classLV=%s,starLV=%s,curEatItemCount=%s,costItemCount=%s,updEatItemCount=%s,needEatCount=%sttstarUpismÇé½äÉý¼¶Êý¾ÝÒì³£: classLV=%s,starLV=%s,curEatItemCount=%s,costItemCount=%s,updEatItemCount=%s,needEatCount=%stclassUpRYs7    ÉýÐÇ: updClassLV=%s,updStarLV=%s,updEatItemCount=%ss7    Éý½×: updClassLV=%s,updStarLV=%s,updEatItemCount=%s(RRRt
UseItemCntRERRR}RR~RRRtGetNeedEatCountRRRtGetIpyGameDataNotLogRmRnRRRR‚(R&R'R(Rt costItemCountRJR•tstarLVtcurEatItemCountt ringIpyDatat needEatCountt
costItemIDRoR0R1R2Rpt
updClassLVt    updStarLVtupdEatItemCountt
ringUpTypetnextRingIpyData((snE:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerLove.pyt OnLoveRingUp®sr            
     
 
             
 
cCs!t|ƒtj|ƒjƒdS(N(t CalcLoveAttrRtRefreshPlayerAttrState(R((snE:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerLove.pyR‚ús
c
Csz|jtjƒ}|jtjƒ}tj|ƒ}gtdƒD] }i^q@}gtdƒD] }i^q_}tjƒ}xÊt    |j
ƒƒD]¶}|j |ƒ}    |    j ƒ}
|    j ƒ} |
|ksá|
|krå| |kråPn9|
|kr| |kr|jtjƒ} n |    jƒ} |    jƒ} |    jƒ}x7t| ƒD])\}}||}tj|||ƒqCW|    jƒ}| rë|rë|    jƒ}|    jƒ}| |}x>t|ƒD]-\}}||}tj||||ƒq·Wn|r|    jƒ}|    jƒ}x:t|ƒD])\}}||}tj|||ƒqWqqWtj|tj|ƒtj|tj|ƒdS(Ni(RRR}R~RR†trangeRtIPY_DatatxrangetGetLoveRingCounttGetLoveRingByIndextGetRingClassLVt GetRingStarLVRR›tGetStarAttrTypetGetStarAttrValuet    enumeratetCalcAttrDict_TypetGetUpEatItemPerCounttGetUpItemAttrTypetGetUpItemAttrValuetGetCoupleAttrTypetGetCoupleAttrValuetSetCalcAttrListValuetDef_CalcAttrFunc_LoveRingtDef_CalcAttrFunc_LoveRingCouple(RR•RžRˆR/t allAttrListtallAttrListCouplet
ipyDataMgrR&R t dataClassLVt
dataStarLVt upItemCounttstarAttrTypeListtstarAttrValueListtitattrIDt    attrValuetupItemPerCounttupItemAttrTypeListtupItemAttrValueListt attrMultipletcoupleAttrTypeListtcoupleAttrValueList((snE:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerLove.pyR©ÿsJ   $   
 
 
 
cCs_tjƒ}|jtjƒ|_|jtjƒ|_|jtjƒ|_    t
j ||ƒdS(N( R‘ttagMCLoveRingInfoRRR}tClassLVR~tStarLVRtEatCountRR(Rt
clientPack((snE:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerLove.pyR6s  cCs5tjƒ}|jtjƒ|_tj||ƒdS(N(R‘t tagMCLoveInfoRRRt EatCandyTodayRR(RRÓ((snE:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerLove.pyR?s cCsN|\}}tj|ƒ}||krJtj|tj|ƒt|ƒndS(N(RR†RRR€R(RR5ttagIDt intimacyValueRˆ((snE:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerLove.pyRaFs    c    Cs»|jƒ}|jƒ}tj|ƒ}|rBtjj|iƒni}|jƒ}d}tj    ddƒ}|j
t j ƒ}|rÛ||krÛtj ddƒ}    x6t|    dƒD]"\}
} || krÓ|
}q²Pq²Wntjd||||||f|ƒtjƒjƒ} |dkr†tj||ƒd} | rm|| jƒjƒkrWdStj||| ƒntj||| |ƒn1tj||| ƒr·tj|ƒ}|jƒndS(Nit IntimacyBuffiisfˢаéÂÂ×é¶ÓBuff: cupleID=%s,coupleIntimacy=%s,teamID=%s,teamPlayerIDList=%s,skillTypeID=%s,skillLV=%s(t    GetTeamIDRERR†t
PyGameDatatg_teamPlayerInfoDicttgettkeysRRRRR€RFR´RRt GetGameWorldtGetTickt SkillCommont FindBuffByIDtGetSkillt
GetSkillLVt    BuffSkilltDelBuffBySkillIDtAddBuffBySkillTypetRefreshPlayerAttrByBuff(RtteamIDRJtcupleIDtteamPlayerInfoDicttteamPlayerIDListtskillLVt skillTypeIDR…tskillLVIntimacyListtlvt
lvIntimacyR(tfindBufft playerControl((snE:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerLove.pyRNs8  !            (%RRRRR‘RR‹RtRRRàRäRÚRR    R6R@RPRSRXR%ReRkRfRgRhRiRbRcR–R¨R‚R©RRRaR(((snE:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerLove.pyt<module>sH                         /         #                                
    
                L        7