hxp
2025-05-16 273fbbf3ec69623f4501583614174c7d604a06b5
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
Sð    hc@süddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZddlZddlZddlZddlZddlZddlZddlZdZd„Zd„Zd„Zd„Zd„Zd„Zd    „Zd
„Zd „Ze d „Z!d „Z"d„Z#d„Z$e d„Z%d„Z&e d„Z'd„Z(d„Z)d„Z*d„Z+d„Z,d„Z-d„Z.d„Z/d„Z0dS(iÿÿÿÿNidcCsE|jƒ}|jƒ}|dkr(tS|jƒj|krAtStS(N(t    GetPetMgrt GetFightPettNonetFalset
GetRolePettPetIDtTrue(t    curPlayertcurPetIDtpetMgrt fightPetObj((sN.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PetControl.pytCheckPetIsFight=s   cCs=|jƒjƒ}|dkr"dStj|ƒ}|jƒ}|jƒ}tj||ƒ}| swt    j
|ƒdkráxKt |j ƒƒD]7}|j |ƒ}| sŠt    j
|ƒdkrŠqŠqŠqŠW| sát    j
|ƒdkrá|jƒ}xît d|ƒD]Ú}|j|ƒ}    |    dkr$qýn|    jƒ}
|    jƒ} | tjkrQqýntj|
| ƒ} | soqýn| jƒdkr‡qýntj|| ƒsŸqýntj|| d|ƒd} | tjkrÐqýn| }PqýWqán| sýt    j
|ƒdkrdSd}tj||||ƒr#dStj||d|ƒdS(Nii(RRRt    NPCCommont
NPCControltGetUseSkillTagIDtGetUseSkillTagTypet    GameWorldtGetObjtGameObjtGetHPtrangetGetAngryNPCCounttGetAngryNPCByIndextGetInSightObjCounttGetInSightObjByIndextGetIDtGetGameObjTypet IPY_GameWorldtgotNPCt
GetAtkTypet AttackCommontCheckCanAttackTagt
BaseAttacktGetTagRelationtChConfigtType_Relation_EnemytAICommontDoAutoUseSkilltAttack(RtticktrolePettrolePetControlt useSkillTagIDtuseSkillTagTypetcurTagtitseePlayerCounttseeObjtseeObjIDt
seeObjTypet seeObjDetailtrelationttagDist((sN.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PetControl.pytPetFightNsR   
     cCsp|jƒjƒ}|dkr"dStj|ƒ}|j||dƒ\}}|j||ƒt|||ƒdS(Ni(RRRR R tGetMoveNearPost    ChangePostPetMove(RtdestPosXtdestPosYtfightPett
petControltmovePosXtmovePosY((sN.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PetControl.pytFightPetFollowMove”s cCsœtjƒ}|jƒ|jƒ|_tj|_tj|_    ||_
||_ |j ƒ|_ |jƒ|_|jƒ|_|j|jƒ|jƒƒdS(N(t ChNetSendPackt
tagObjMovetClearRtObjIDRRtObjTypetmtNormaltMoveTypetDestPosXtDestPosYtGetSpeedtSpeedtGetPosXt    StartPosXtGetPosYt    StartPosYt    NotifyAllt    GetBuffert    GetLength(R;tposXtposYtsendPack((sN.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PetControl.pyR8¦s 
          cCs?|jƒjƒ}|dkr"dStj|ƒ}|jƒdS(N(RRRR R t ClearNPCAngry(RR;R<((sN.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PetControl.pytClearFightPetAngry»s  
cCsd|dkrdS|jƒj}|dkr/dStj|tjƒ}|dkr`|jƒr`dS|S(Ni(RRtPlayerIDRRRt    gotPlayertIsEmpty(tcurPett curPlayerIDtcurObj((sN.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PetControl.pyt GetPetOwnerÊs  cCsB|jƒ}|tjkrtS|jƒ}|tjkr>tStS(N(RRRRtGetGameNPCObjTypetgnotPetR(R\t
curObjTypet
npcObjType((sN.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PetControl.pytIsPetßs  cCs7tj|tƒ}x|D]\}}|jƒqWdS(N(R tGetNPCBuffRefreshListRRB(RZtbuffRefreshListt    buffStatet    canPileup((sN.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PetControl.pyt ClearPetBuffðscCs>|j||ƒ|jtƒt|ƒtjƒj|ƒdS(N(tSummont SetIsBattleRt InitRolePettPassiveBuffEffMngtGetPassiveEffManagertRegistPassiveEff(RZtcurPosXtcurPosY((sN.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PetControl.pyt    SummonPetþs
 
cCs°tj|ƒ|jƒ}|jƒdkr>|jtjƒn
|jƒtj|ƒ}|j    |ƒt
j |ƒdkr¬t |t
j |ƒƒtjd|jƒjƒndS(Nis³èÎïÖØÉúѪÁ¿Îª0, PetID = %s(R tInitNPCt GetNPCAngryt GetAngryCounttInitR"tDef_Pet_Angry_CountRBR tRefreshNPCStateRRtPetDead_ReStoreHPtGetMaxHPRtErrLogRR(R(t canSyncClienttnpcAngryR<((sN.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PetControl.pyRj s  
 cCsñ|jƒ}|jƒ}|dkr(tSt|ƒ|jtƒtj|ƒtj|ƒ}|j    dt
ƒt j |ƒ}t j ||ƒ}|r«|jtjtjƒn|jƒj}|jƒj}|j|ƒtjd||fƒt
S(NRzs&Ëæ´ÓÕٻغóĬÈÏ·ÅÉú, petID=%s, npcID=%s(RRRRRgRiR t    SetDeadExR RvRt    PlayerPettGetPetObjItemIndextGetPetDataItemByIndext SetUserAttrt ShareDefinetDef_IudetPet_StatetDef_PetState_NullRRtNPCIDtPetList_SetFreeRtDebugLog(Rt
rolePetMgrR;R<t petItemIndextpetItemtpetIDtnpcID((sN.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PetControl.pytReCallFightPet's$   
   cCs$t|ƒ}|sdSt|ƒdS(N(R]RŒ(RZt curPetOwner((sN.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PetControl.pyt
SetPetDeadIs
 
cCst|t|tdƒƒdS(Nid(tSetPetHPtinttDefPetRebornHPRate(RZtmaxHP((sN.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PetControl.pyRwYscCs!tj|||ƒ|sdSdS(N(RtSetHP(R(tvalueRz((sN.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PetControl.pyRfscCs6ttj|ƒ|tj|ƒƒ}t||ƒdS(N(tminRRRxR(R(R”t remainValue((sN.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PetControl.pytAddPetHPts% c    Cs„t|ƒ}|sdStj||ƒ}|s2dSd„tjgg}g}x%|D]}|j|d|ƒƒqTW|jtj|ƒƒ|j    tj
|ƒƒ|j tj |ƒƒt j|t j|ƒƒ|j|jƒƒ|j|jƒƒgtdƒD] }i^q}tj|||ƒtj||ƒtjd|jƒ|jƒ|jƒ|jƒ|jƒfƒ|s€dSdS(NcSs
|jƒS(N(t    GetMaxAtk(tpetObj((sN.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PetControl.pyt<lambda>Šsiis=RefurbishPetAttr ID=%s,npcID=%s,atk=%s,hit=%s,skillAtkRate=%s(R]R}tGetPetDataItemRtPetInfoRefresh_PhysicAtktappendt    SetMinAtkt PlayerControlt GetPetMinAtkt    SetMaxAtkt GetPetMaxAtktSetSkillAtkRatetGetPetSkillAtkRateRt SetPetDamPert GetPetDamPertSetHittGetHittSetSpeedRIRtCalcSkill_PetBattleEffecttCalcBuffer_PetBattleEffectRR†RtGetNPCIDR˜tGetSkillAtkRate(    R(RzRt petDataItemtsyncListtbeforeValueListtsyncInfoR-t allAttrList((sN.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PetControl.pytRefurbishPetAttrs0          5    cCswtjƒ}|jƒ}xE|D]=}|j|ƒ}|sOtjd|ƒdS|j|ƒqWtjƒj|ƒdS(Ns8PlayerPetLearnSkillList LeanrSkillID = %s, noFindInTable(    Rt GetGameDatatGetSkillManagertGetSkillBySkillIDRytLearnSkillByIDRkRlRm(R(tlearnSkillListtgameDatatrolePetSkillManagert    leSkillIDtlearnSkillData((sN.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PetControl.pytDoLogic_PlayerPetLearnSkillListÓs   cCsht|ƒstS|jƒ}|jtjƒtjkrKtj|dƒtSt    j
|ƒdkrdtSt S(Nt AvoidSink09i( tGetMapCanOutPetRt
GetPetDatatNomalDictGetPropertyR"tDef_Player_Dict_Wallow_LVtDef_GameWallow_LV_FirstRŸt
NotifyCodeRRR(Rt    curPetObjtpetData((sN.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PetControl.pytCheckPetCanFightês  cCsdS(N((RR'((sN.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PetControl.pytDoLogic_PetInfo_OnLeaveServerscCsÎ|jƒ}tjƒr„g}x9td|jƒƒD]"}|j|ƒ}|j|ƒq4Wxm|D]}|j|jƒj    ƒqaWnFxCtd|jƒƒD],}|j|ƒ}t
|ƒt ||ƒqšWdS(Ni( RRt IsCrossServerRt PetList_Cntt
PetList_AtRR…RRt__RefreshAndSyncPetInfot__AutoSummonPet_OnLogin(RR'R    tpetListtindexR(((sN.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PetControl.pytDoLogic_PetInfo_OnLogin s   
cCsd|jƒsdSt|ƒs dStj|jƒ|jƒtjƒ}t||jƒ|jƒƒdS(N(    t GetIsBattleR¿tGameMaptGetEmptyPlaceInAreaRKRMR"tDef_SummonAppearDistRp(RR(t    resultPos((sN.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PetControl.pyRÍ<s  $cCsI|jƒ}x6td|jƒƒD]}|j|ƒ}t|ƒq"WdS(Ni(RRRÊRËRÌ(RR'R    RÏR(((sN.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PetControl.pytSync_PetInfo_ChangeMapPs
 cCs1t|ƒrtj|ƒdSt|ƒs-dSdS(N(R¿R}t AutoSummonPetRŒ(R((sN.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PetControl.pytDoLogic_PetLoadMapOK_s    cCs^tj|ƒ}|rHtjd|ƒ}|r?|jƒr?tnt}ntjƒj    ƒ}|S(NtChinMap(
RŸtGetCustomMapIDt IpyGameDataPYtGetIpyGameDatat GetCanOutPetRRRtGetMapR¿(Rt customMapIDt
ipyMapDatat    canOutPet((sN.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PetControl.pyR¿ns !cCst|tƒdS(N(RjR(R(((sN.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PetControl.pyRÌ}s (1RR"Rt    BuffSkillt
SkillShellR}RŸR t SkillCommonRÒtOperControlManagerRtrandomtcopytmathRR$R RkR@RÛRR‘R R5R?R8RVR]RbRgRpRRjRŒRŽRwRR—R³R½RÇRÈRÐRÍRÖRØR¿RÌ(((sN.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PetControl.pyt<module>s^                              F                                 "              T        -