hxp
2026-09-29 8c7a34f3af32854901e2db451e7efb20d981bf44
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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
ó
ëU»jc@s“ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z edƒ\ZZZZZZZd„Zd„Zd„Zd„Zd„Zd„Zd    „Zd
„Zd „Zd „Zd d„Z d„Z!d„Z"d„Z#d„Z$de%d„Z&d„Z'd„Z(d„Z)d„Z*d„Z+dS(iÿÿÿÿNicCst|ƒdS(N(tSyncDingjungeInfo(t    curPlayer((s„D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Dingjunge.pytOnFBPlayerOnLogin-s
cCsÚtj|tjdƒx@tttjddƒƒƒD] }tj|tj|dƒq5Wx:ttj    ddƒƒD] }tj|tj
|dƒqrWtj|tj dƒtj|tj dƒt |ƒt|ƒdS(Nit DingjungeEffii(t PlayerControltNomalDictSetPropertytChConfigtDef_PDict_DJGLineIDtrangetlent IpyGameDataPYtGetFuncEvalCfgtDef_PDict_DJGEffectt
GetFuncCfgtDef_PDict_DJGSelectEffecttDef_PDict_DJGUnSelectCnttDef_PDict_DJGEffAutotRefreshDingjungeAttrR(RteIndextsIndex((s„D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Dingjunge.pytOnFBPlayerOnDay1s%
 
cCsÛ|jtjƒ}|d|d}}|sEtjdddƒ}nq|sctjd|dƒ}nS|}|d}tjd||ƒ}|s¶|d}d}tjd||ƒ}n|rÀ|Stjd||fƒdS(Nidt
FBDJGLevelis1ÒÑͨ¹Ø»òÕÒ²»µ½ÏÂÒ»¹ØÊý¾Ý! layerNum=%s,levelNum=%s(tNomalDictGetPropertyRRR
tGetIpyGameDatatGetIpyGameDataNotLogt    GameWorldtDebugLog(Rt todayLineIDtlayerNumtlevelNumtipyDatat nextLayerNumt nextLevelNum((s„D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Dingjunge.pytGetNextIpyData=s"
 
cCsztj}|jtj|ƒ}|d|d}}td|dƒ}|rv|rvtjd||dƒ rv|}n|S(NidiiR(RtDef_FBMapID_DingjungeRtDef_Player_Dict_FBPassLineIDtmaxR
R(RtmapIDt highestLineIDt    hLayerNumt    hLevelNumt passLayerMax((s„D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Dingjunge.pytGetPassLayerMaxRs    &    cCs@t|ƒ}tjddƒ}|d|}|dkr<|SdS(Nt    Dingjungeii(R*R
R (RR)t
backLayerstquickStartLayer((s„D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Dingjunge.pytGetQuickStartLayer]s   c Cs¤|jtj|ƒ}t|ƒ}|r^|jtjƒ}    |    s^tjd||fƒdSnt|ƒ}
|
stdS|
jƒ} |
j    ƒ} | d| }t
|fS(NsA½ñÈÕ»¹Î´¿ìËÙÕ½¶·ÎÞ·¨ÊÖ¶¯ÌôÕ½! highestLineID=%s,quickStartLayer=%sid( RRR#R.RRRR!t GetLayerNumt GetLevelNumtTrue( RR%t
funcLineIDttagTypettagIDt    valueListt    reqExDictR&R-Rt nextIpyDataRR((s„D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Dingjunge.pytOnTurnFightRequestgs    cCs(|d|d}}tjd||ƒS(NidR(R
R(RR%R2RR((s„D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Dingjunge.pytGetFBNPCLineupIpyDataxsc    CsK|s
dS|jƒ}    t|ƒ}
|
rW|jtjƒ} | sWtjd|    ƒdSn|tjk} | spdS|jtjƒ} tjd|| fƒ| |krÀtjd| |fƒdS|d|d} }t    j
d| |ƒ}|sôdSg}|jtj |ƒ}||kru|j ƒ}||7}tjd||fƒt j|||ƒtj|tj|ƒntj|tj|ƒ||jƒ7}tjd|| ||fƒ|jit j|ƒt j6ƒtj||dd    tigd
tƒt    jd| |d ƒs=tjd | |fƒt|d ƒnt|ƒdS( Ns!½ñÈÕ»¹Î´¿ìËÙÕ½¶·ÎÞ·¨½áËãÊÖ¶¯ÌôÕ½!s(¶¨¾ü¸ó½áËã: funcLineID=%s,todayLineID=%ss0½ñÈÕÒѹý¹ØµÄ²»Öظ´½áËã½±Àø! todayLineID=%s >= %sidRs0Ê״ιý¹Ø: highestLineID=%s,firstPassAwardList=%ss;×îÖÕ½±Àø: mapID=%s,layerNum=%s,levelNum=%s,awardItemList=%steventR+t isNotifyAwardis4±¾²ãûÓÐÏÂÒ»¹ØÁË£¬Í¨¹Ø±¾²ã!: layerNum=%s,levelNum=%s(t GetPlayerIDR.RRRRtErrLogt Def_FactionARR
RR#tGetPassAwardListtFBCommont    SetFBPasstPlayerBillboardtUpdatePlayerBillboardt ShareDefinetDef_BT_DingjungeRRt GetAwardListtupdatetGetJsonItemListt Over_itemInfot ItemControlertGivePlayerItemOrMailtFalseRtGivePassLayerEffR(RtguidR%R2t
winFactiontstatMsgtdateStrtreqDatat    awardDicttplayerIDR-RtisWinRRRt awardItemListR&tfirstPassAwardList((s„D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Dingjunge.pytOnTurnFightAward}sN     
 %
c    Cs’|jtjƒ}|r-tjd|ƒdS|jtj|ƒ}t|ƒ}|sjtjd|ƒdS||g}d}d}||||fS(sѸ±±¾¿ìËÙ¹ý¹ØÑéÖ¤
    @param mapID: Êý¾ÝµØÍ¼ID
    @param lineID: Ä¿±ê¹Ø¿¨Ïß·ID£¬¿ÉÒ»´ÎÐÔÌø¶à¹Ø£¬¸ù¾Ý¹¦ÄÜÓÉǰ¶Ë·¢°ü¾ö¶¨»òºó¶ËÖ±½Ó¾ö¶¨
    @return: (lineID, quickCnt, quickFightPower, quickData) »ò  None
    @note: lineID Óɺó¶Ë¾ö¶¨µÄ¿ìËÙ¹ý¹Øµ½ÄÄ£¬Èç¹ûǰ¶Ë¾ö¶¨µÄÔòÖ±½Ó·µ»Ø lineID
    @note: quickCnt ±¾´Î×ܹ²Ìø¹ý¼¸¹Ø 
    @note: quickFightPower Ä¿±êÕóÈÝÕ½Á¦£¬ÓÃÓÚÑéÖ¤Õ½Á¦ÊÇ·ñÂú×ã¿ìËÙ¹ý¹Ø
    @note: quickData À©Õ¹Êý¾Ý£¬¹¦ÄÜ×Ô¶¨Ò壬´«¸ø OnPlayerFBQuickPassResult
    s2½ñÈÕÒѾ­ÔÚÊÖ¶¯Õ½¶·ÁË£¬ÎÞ·¨¿ìËÙÌôÕ½! todayLineID=%sNs*»¹Î´´ïµ½¿É¿ìËÙÌôÕ½µÄ²ã¼¶! highestLineID=%si(RRRRRR#R.(    RR%tlineIDRR&R-t    quickDatatquickCnttquickFightPower((s„D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Dingjunge.pytOnPlayerFBQuickPass²s   cCs"|\}}|jƒ}t|ƒ}|dd}tjd||||f|ƒd}    tjƒ}
xKt|
jƒƒD]7} |
j    | ƒ} | j
ƒ} | |kr¨Pn| }    qwW|    s¼dS|    j ƒ}t j |tj|ƒ|d}t||ƒt|ƒg}tjdtjƒ}tj|tjƒd}tjdtjƒ}tj|tjƒ}xŸ|D]—\}}|j||gƒ|r¿ttj||dƒƒ}|j|||gƒn|rdttj||dƒƒ}|j|||gƒqdqdWtj ||ddt!igƒdS(    NidisR¶¨¾ü¸ó¿ìËÙÕ½¶·: highestLineID=%s,passLayerMax=%s,quickStartLayer=%s,todayLineID=%sitsrcSigngY@R:R+("R<R*RRtNoneR
tIPY_DataRtGetFBDJGQuickCounttGetFBDJGQuickByIndext GetNeedLayertGetQuickAwardListRRRRRMRRJtGetIsBindValuetItemSrcSign_TitleEfft    PlayerHJGtGetTitleEffInfotTitleEff_DingjungeQuickPertItemSrcSign_PalaceWorshipt PlayerPalacet OnWorshipEfftWorshipNum_DingjungeQuicktappendtinttmathtceilRKRL(RR%RYRZR&R-RTR)Rt awardIpyDatat
ipyDataMgrtindext quickIpyDatat    needLayertquickAwardListt    addEffCntRVtisBindtdjgPertpwBindtpwDjgPertitemIDt    itemCountt itemCountEx((s„D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Dingjunge.pytOnPlayerFBQuickPassResultÌsH          
 
 
icCs`|jtjƒ|}tj|tj|ƒtjd||fƒt|ƒs\t|ƒndS(Ns-Ôö¼ÓЧ¹û¼Ó³É´ÎÊý: addEffCnt=%s,unSelectCnt=%s(    RRRRRRRt__doAutoSelectAllt__randSelectEff(RRxt unSelectCnt((s„D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Dingjunge.pyRMûs   c CsUtjƒj|ƒ}|jr$dnd}|j}g}tjƒ}xQt|jƒƒD]=}|j    |ƒ}|j
ƒ}    |    |krX|j |    ƒqXqXW|j ƒtj d|||fƒtj|tj|ƒxqttjddƒƒD]W}
t|ƒ|
kr||
nd}    |    |kr)d}    ntj|tj|
|    ƒqìWt|ƒdS(NiisBЧ¹ûÔ¤Éè: selectAuto=%s,selectSetAttrIDList=%s,canSetAttrIDList=%sRi(RtGetPlayerManagertGetPlayerByIndext
SelectAutotSelectSetAttrIDListR
R`RtGetFBDJGEffectCounttGetFBDJGEffectByIndext    GetAttrIDRntsortRRRRRR R    tDef_PDict_DJGEffSetR( Rtt
clientDatattickRt
selectAutotselectSetAttrIDListtcanSetAttrIDListRsRtattrIDtssIndex((s„D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Dingjunge.pytOnDingjungeEffSet s(       
"     
cCs¥tjƒj|ƒ}|j}|j}|j}|dkrIt|ƒnN|dkrht|dtƒn/t    |||ƒr—t|dtƒt
|ƒnt |ƒdS(NiitisReset( RR„R…t
SelectTypet SelectIndext ReplaceHoleRR‚R1t __doSelectEffRR(RtRRŽRt
selectTypet selectIndext replaceHole((s„D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Dingjunge.pytOnDingjungeEffSelect.s                
c
CsN|jtjƒs#tjdƒdS|jtjƒ}g}xLttjddƒƒD]2}|jtj    |ƒ}|rT|j
|ƒqTqTWt |ƒ}tjd|||fƒtjddƒ}x{t|dƒD]i}t ||ƒ}|sòPnt ||||ƒs Pnx.t|ƒD] }    tj|tj|    dƒqWqÓWt|ƒtS(Ns먦Æô×Ô¶¯Ñ¡Ôñ!RisIÖ´ÐÐÒ»¼üÑ¡Ôñ¼Ó³ÉЧ¹û: unSelectCnt=%s,effHoleCnt=%s,selectSetAttrIDList=%siii(RRRRRRRR
R RŒRnt__getUnlockEffHoleCntR‚t__doAutoSelectEffRRRRR1(
RRƒRR“R’t
effHoleCntt
randEffCntt_t    effIDListR((s„D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Dingjunge.pyR@s,  "
cCsX|jtjƒ}tjddƒ}d}x'|D]}||kr1|d7}q1q1W|S(NRii(RRRR
R (RRteffHoleNeedLVIDListR tneedLVID((s„D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Dingjunge.pyRž_s  icCsÎ|stjddƒ}n|rUx1t|ƒD] }tj|tj|dƒq.Wng}|rdnDxAt|ƒD]3}|jtj|ƒ}|s—Pn|j|ƒqqW|r²|S|jtj    ƒ}|dkrát
j dƒgSg}tjddƒ}xwtt tj ddƒƒƒD]W}    |jtj|    ƒ}
|
s>Pn|
d|
d}} | |kr|j|ƒqqWg} tjƒ} xot| jƒƒD][}| j|ƒ}|jƒ}||krËq˜n|jƒ}|r˜| j||gƒq˜q˜Wd}xWt |ƒ|krV|dkrV|d8}t
j| ƒ}||kr|j|ƒqqW|d8}tj|tj    |ƒxPt|ƒD]B}t |ƒ|kr¦||nd}tj|tj||ƒq„W|S(    NRiisûÓÐδ´¦ÀíµÄ¼Ó³ÉЧ¹û´ÎÊýÁËiiidiÈ(R
R RRRRRRRnRRRR    R R R`RˆR‰tGetEffIDt GetRandWeighttGetResultByWeightList(RR¡R•RR£teffIDRƒtfullLVEffIDListteffMaxLVRteffInfoteffLVtrandWeightListRsRtRt
randWeighttrandCntt    randEffID((s„D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Dingjunge.pyR‚isd!  %     !
 
"c
Csg}xº|D]²}tjd|ƒ}|s1q n|jƒ}|jƒ}d}    d}
||krƒd}    t|ƒ|j|ƒ}
nd} |d| } d} |j|    ||
| | ||gƒq W|jdtƒ|sÝdS|d}|t    }|t
}tj ddƒ}d}g}x@t |ƒD]2} |j tj| ƒ} | sc|dkr&| }q&q&n| d| d}} tjd|ƒ}|s–q&n|jƒ}|jƒ}||krü| |krü| d7} |d| } tj|tj| | ƒtSd}    d}
||kr6d}    t|ƒ|j|ƒ}
n|j|    ||
| | ||gƒq&W|dkr¦|} |}d} |d| } tj|tj| | ƒtS|j|ƒ|jdtƒ|d}|t}|dkræn&|}|} tj|tj|| ƒtS(    Nt FBDJGEffectiiidiÿÿÿÿtreverseRi(R
Rt GetEffQualityRŠR    RtRnR‹R1tPriority_EffIDtPriority_EffInfoR RRRR RRtPriority_EIndex(RtselectEffIDListRR tpriorityEffListR©t
effIpyDatat
effQualityR’tinSett setPriorityR­R¬Rt    selectEfft selectEffIDt selectEffInfoR«t
emptyIndexteffListtlastEfft
lastEIndext replaceIndex((s„D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Dingjunge.pyRŸªs‚    &
 
 
       
 &  
 
 c CsH|jtj|ƒ}tjd|||fƒ|s:dSt|ƒ}tjddƒ}d}x÷t|ƒD]é}|jtj    |ƒ}|s¹|dkrktjd|ƒ|}qkqkn|d|d}    }
|    |krk|
|krtjd||    |
fƒdS|
d7}
|    d|
}tjd    ||    |
fƒt
j |tj    ||ƒt SqkW|dkr¼|}|}    d}
|    d|
}tjd
||    |
fƒt
j |tj    ||ƒt S|dksÔ||krïtjd ||fƒdSd}
|d|
} |d} | }tjd | |fƒt
j |tj    | |ƒt S( Ns:ÊÖ¶¯Ñ¡ÔñЧ¹û: selectIndex=%s,selectEffID=%s,replaceHole=%sRiiÿÿÿÿs    »¹ÓпղÛ: eIndex=%sids5    ÒÑ´æÔÚ¸ÃЧ¹ûÇÒÒÑÂú¼¶: eIndex=%s,effID=%s,effLV=%sis5    ÒÑ´æÔÚ¸ÃЧ¹ûÖ±½ÓÉý¼¶: eIndex=%s,effID=%s,effLV=%ss1    ¿Õ²ÛÖ±½ÓÉèÖÃ: emptyIndex=%s,effID=%s,effLV=%ss6    Ìæ»»µÄÄ¿±ê²Ûλ²»¿ÉÓÃ: replaceHole=%s,effHoleCnt=%ss,    ÊÖ¶¯Ñ¡ÔñÌæ»»! replaceIndex=%s,effInfo=%s( RRRRRRžR
R RR RRR1( RR›RœR¿R R«RÁRR¬R©R­RÀRÅ((s„D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Dingjunge.pyR™
sT        
 
cCs*t|ƒtj|ƒjdtjƒdS(NtexclusiveMapID(tCalcDingjungeAttrt PlayerOnlinetGetOnlinePlayertRefreshRoleAttrRR"(R((s„D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Dingjunge.pyR=s
c Csú|jƒ}i}t|ƒ}x¥t|ƒD]—}|jtj|ƒ}|sSq+n|d|d}}tjd|ƒ}|s†q+n|jƒ}    |j    ƒ}
|
|} |j
|    dƒ| ||    <q+Wt j d||ƒt j|ƒjtj|ƒdS(NidR²is ¶¨¾üÊôÐÔ: %s(R<RžRRRR R
RRŠt GetAttrValuetgetRRRÈRÉt SetCalcAttrtDef_CalcAttr_Dingjunge( RRTtattrDictR RR¬R©R­RºR’t    attrValuetattrValueTotal((s„D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Dingjunge.pyRÇBs$    
c Csêtjƒ}|jtjƒ|_g}xtttj    ddƒƒƒD]o}|jtj
|ƒ}|slPn|d|d}}tj ƒ}||_ ||_ ||_|j|ƒqFW||_t|jƒ|_g}xMttjddƒƒD]3}    |jtj|    ƒ}|sPn|j|ƒqóW||_t|jƒ|_|jtjƒ|_|jtjƒ|_g}
xCttjddƒƒD])} |jtj| ƒ} |
j| ƒqŽW|
|_t|jƒ|_tj||ƒdS(NRiidii(tChPyNetSendPackttagSCDingjungeInfoRRRt    TodayPassRR    R
R R ttagSCDingjungeEfftEffIndextEffIDtEffLVRntEffListtEffCntR Rt SelectEffListt SelectEffCntRt UnSelectCntRR†RŒR‡t SelectSetCntt NetPackCommont SendFakePack( Rt
clientPackRÂRR¬R©R­tefft selectEffListRRR“R’((s„D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Dingjunge.pyR[sB %                         (,R@RRDRRBRÒRJR
RßRÈRkRgRRpRtPriority_InSettPriority_EffQualitytPriority_SetPriorityR·R¶RµtPriority_AttrIDRRR!R*R.R8R9RXR]R€RMR”RRRžRLR‚RŸR™RRÇR(((s„D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Dingjunge.pyt<module>sF              !                      
            5        /     "            
A    `    3