§
    ¼»jF  ã                   ó‚   — d Z ddlmZmZmZ ddlmZmZmZm	Z	m
Z
mZ deee
f         fd„Zdee         fd„Zdeddfd	„ZdS )
u«   
FreeExile Canonical Grimdark Feral NPC Catalog & Dialogue Trees.
Theme: Cá»” VÃ• HOANG DÃƒ & Háº®C Ã�M LÆ¯U Ä�Ã€Y (Grimdark Savage Primal Exile ARPG - 100% PoE2 Spirit).
é    )ÚDictÚListÚAny)ÚNpcRoleÚNpcServiceTypeÚNpcDialogueChoiceÚNpcDialogueNodeÚNpcDialogueTreeÚNpcDefinitionÚreturnc                  ól  — i } t          ddt          dddt          ddd¬¦  «        t          d	d
dt          j        d¬¦  «        t          ddd¬¦  «        f¬¦  «        t          dddt          ddd¬¦  «        f¬¦  «        t          dddt          ddd¬¦  «        f¬¦  «        t          dddt          ddt          j        dd¬¦  «        f¬¦  «        t          ddd d!d¬"¦  «        t          ddd#t          d$d%d¬¦  «        f¬¦  «        t          d&dd't          dd(d¬¦  «        f¬¦  «        d)œdddd*œi¬+¦  «        | d<   t          d,d-t          d-d.d/t          d0d1t          j        d2¬3¦  «        f¬¦  «        t          d2d.d4d!d¬"¦  «        d5œ¬6¦  «        | d,<   t          d7d8t          d8d9d:t          d;d<d=¬¦  «        t          d>d?d@¬¦  «        f¬¦  «        t          d=d9dAd!d¬"¦  «        t          d@d9dBd!d¬"¦  «        dCœ¬6¦  «        | d7<   t          dDdEt          dEdFdGt          dHdIt          j        dJ¬3¦  «        f¬¦  «        t          dJdFdKd!d¬"¦  «        dLœ¬6¦  «        | dD<   t          dMdNt          dNdOdPt          dQdRt          j        dSdT¬¦  «        f¬¦  «        t          dTdOdUd!d¬"¦  «        dVœ¬6¦  «        | dM<   | S )WuE   Khá»Ÿi táº¡o tá»« Ä‘iá»ƒn cÃ¢y há»™i thoáº¡i hoang dÃ£ tiÃªu chuáº©n.Útree_doc_co_tan_kiemÚnode_doc_co_introõ   Káº» Gá»�t XÆ°Æ¡ng Cá»¥t TayuÝ   MÃ¹i mÃ¡u tanh ná»“ng... NgÆ°Æ¡i vá»«a bá»‹ quáº³ng xuá»‘ng Vá»±c TÃ¡ng Kiáº¿m nÃ y sao? Ä�á»«ng náº±m Ä‘Ã³ chá»� lÅ© Thi Cáº©u xÃ© xÃ¡c! Cáº§m láº¥y thanh tÃ  Ä‘ao máº» nÃ y mÃ  tá»± rÃ³c thá»‹t cÆ°á»›p Ä‘Æ°á»�ng sá»‘ng.Úchoice_ask_situationuF   CÃ¡nh tay trÃ¡i cá»§a ngÆ°Æ¡i... sao láº¡i cháº¯p báº±ng xÆ°Æ¡ng thÃº?Únode_doc_co_lore)Ú	choice_idÚtextÚtarget_node_idÚchoice_accept_first_questu5   Ä�Æ°a Ä‘ao Ä‘Ã¢y! LÅ© sÃºc sinh Ä‘Ã³ Ä‘ang á»Ÿ Ä‘Ã¢u?Únode_doc_co_quest_offerÚquest_intro_doc_co)r   r   r   Útrigger_serviceÚtrigger_paramÚ#choice_inquire_ancient_sword_secretuO   Trong tiáº¿ng giÃ³ rÃ­t qua khe Ä‘Ã¡, ta ngá»­i tháº¥y mÃ¹i tÃ n tÃ­ch cá»• ma?Únode_doc_co_secret_hint)Únode_idÚspeaker_titleÚcontentÚchoicesu?  Ba mÆ°Æ¡i nÄƒm trÆ°á»›c, lÅ© pháº£n nghá»‹ch báº» gÃ£y Ä‘ao cá»§a ta, giÃ¡ng ta xuá»‘ng cÃµi cháº¿t nÃ y. Tay gÃ£y thÃ¬ láº¥y sá»� sÃ³i mÃ  ghÃ©p, gÃ¢n Ä‘á»©t thÃ¬ láº¥y gÃ¢n quÃ¡i thÃº mÃ  ná»‘i! á»ž Ä‘Ã¢y khÃ´ng cÃ³ tháº§n pháº­t nÃ o cá»©u ngÆ°Æ¡i Ä‘Ã¢u, chá»‰ cÃ³ báº£n nÄƒng khÃ¡t mÃ¡u má»›i giá»¯ Ä‘Æ°á»£c máº¡ng!Úchoice_lore_backu<   Ta hiá»ƒu rá»“i. Káº» yáº¿u chá»‰ lÃ m má»“i cho thÃº hoang.uŽ   Tá»‘t! Ä�i vá»� phÃ­a gÃ² Ä‘Ã¡ báº¯c, bÄƒm nÃ¡t báº§y Hoang Giá»›i Thi Cáº©u, Ä‘oáº¡t láº¥y Huyáº¿t Tá»§y cá»§a chÃºng rá»“i quay láº¡i Ä‘Ã¢y!Úchoice_quest_accepted_leaveu   Chá»� xem ta xÃ© xÃ¡c chÃºng!T)r   r   Úis_terminalÚnode_doc_co_completeduµ   MÃ¹i mÃ¡u trÃªn Ä‘ao ngÆ°Æ¡i báº¯t Ä‘áº§u Ä‘áº­m rá»“i Ä‘áº¥y... Cáº§m láº¥y Háº¯c SÆ¡ Tháº¡ch nÃ y mÃ  gá»�t láº¡i lÆ°á»¡i Ä‘ao, chuáº©n bá»‹ bÆ°á»›c vÃ o Doanh Tráº¡i VÃ´ Ä�á»‹nh!Úchoice_claim_rewardu*   Cáº§m láº¥y Huyáº¿t Tá»§y quÃ¡i thÃº nÃ y!Únode_doc_co_after_quest)r   r   r   r   r   uk   CÃºt vá»� Khu Trá»¥c Doanh VÃ´ Ä�á»‹nh Ä‘i! TÃ¬m má»¥ Huyáº¿t Vu vÃ  lÅ© thá»£ rÃ¨n mÃ  kháº£m Cá»‘t Ä�inh.© )r   r   r   r    r#   uä   Khá»‹t khá»‹t... MÅ©i thÃ­nh Ä‘áº¥y! DÆ°á»›i Ä‘Ã¡y Cá»• Kiáº¿m TrÅ©ng cÃ³ má»™t há»‘ chÃ´n tÃ n binh tá»« ngÃ n nÄƒm trÆ°á»›c. Káº» nÃ o dÃ¡m nháº£y vÃ o vÅ©ng mÃ¡u Ä‘Ã³ mÃ  khÃ´ng cháº¿t sáº½ Ä‘oáº¡t Ä‘Æ°á»£c Ma VÃµ TÃ n Cá»‘t!Úchoice_receive_secretu5   Má»™t manh má»‘i Ä‘Ã¡ng giÃ¡ máº¡ng ngÆ°á»�i. Ta Ä‘i!Únode_doc_co_martial_talkuW   NgÆ°Æ¡i muá»‘n há»�c cÃ¡ch cáº¯n xÃ© hay cÃ¡ch cháº·t Ä‘áº§u Ä‘á»‘i thá»§ nhanh nháº¥t?u5   Ta muá»‘n Ä‘oáº¡t láº¥y bÃ­ máº­t tÃ n sÃ¡t vÃ´ song!)r   r   r   r$   r&   r   r)   )Ú	COMPLETEDÚCLAIMED)Útree_idÚdefault_root_node_idÚnodesÚquest_conditional_rootsÚtree_van_gioi_merchantÚnode_merchant_introõ   Gian ThÆ°Æ¡ng Háº¯c Thá»‹u  á»ž cÃ¡i há»‘c lÆ°u Ä‘Ã y nÃ y, tiá»�n vÃ ng hay giáº¥y lá»™n cá»§a hoÃ ng Ä‘áº¿ ngoÃ i kia chá»‰ Ä‘Ã¡ng nhÃ³m lá»­a! NÃ©m Huyáº¿t Há»“n Tháº¡ch, Cá»‘t Ä�inh hoáº·c máº©u da dÃ£ thÃº ra Ä‘Ã¢y! Cáº§n Ä‘á»•i phÃ´i Ä‘ao bÃ©n hay gá»­i Ä‘á»“ vÃ o RÆ°Æ¡ng Háº¯c Thá»‹?Úchoice_open_vaultuT   Má»Ÿ RÆ°Æ¡ng Háº¯c Thá»‹ (Consignment Vault), ta cáº§n cáº¥t giáº¥u tÃ n cá»‘t quÃ½.Únode_merchant_vault_open)r   r   r   r   up   Kho Ä‘á»“ nÃ y Ä‘Æ°á»£c xÃ­ch báº±ng xÃ­ch sáº¯t hai pha (2PC), bá»‘ báº£o Ä‘á»©a nÃ o dÃ¡m thÃ² tay Äƒn trá»™m!)r1   r4   )r,   r-   r.   Útree_bach_hieu_sinhÚnode_bhs_introõ   Káº» SÄƒn Tin Háº¯c Thá»‹u›   Muá»‘n sá»‘ng sÃ³t á»Ÿ Hoang Vá»±c thÃ¬ pháº£i mua tin tá»©c! Vá»«a bÃ² tá»« Vá»±c TÃ¡ng Kiáº¿m lÃªn Ã ? Muá»‘n biáº¿t hang á»• cá»§a con quÃ¡i váº­t nÃ o?Úchoice_bhs_world_inteluE   TÃ¬nh hÃ¬nh Ä‘áº¡i náº¡n tÃ n sÃ¡t trong mÃ¹a giáº£i nÃ y tháº¿ nÃ o?Únode_bhs_intel_worldÚchoice_bhs_secret_chambersu2   Máº­t Tháº¥t Cá»• Ma chá»‰ xuáº¥t hiá»‡n khi nÃ o?Únode_bhs_chambers_inteluµ   Ä�áº¡i Náº¡n Hoang Vá»±c sáº¯p áº­p Ä‘áº¿n. Káº» nÃ o khÃ´ng tÃ­ch Ä‘á»§ Huyáº¿t Há»“n Tháº¡ch vÃ  kháº¯c kÃ­n Cá»‘t áº¤n lÃªn ngÆ°á»�i sáº½ bá»‹ bÃ£o mÃ¡u nghiá»�n thÃ nh cÃ¡m bÃ£!uå   Máº­t tháº¥t lÃ m gÃ¬ cÃ³ biá»ƒn chá»‰ Ä‘Æ°á»�ng! LÃºc mÃ¡u ngÆ°Æ¡i gáº§n cáº¡n mÃ  dÃ¹ng Huyá»…n áº¢nh Bá»™ nÃ© Ä‘Ã²n chÃ­ máº¡ng, hoáº·c dÃ¢ng náº¡p rÆ°á»£u huyáº¿t táº¿, VÃ²ng XoÃ¡y HÆ° KhÃ´ng má»›i ná»©t ra tá»« lÃ²ng Ä‘áº¥t.)r6   r9   r;   Útree_au_da_tuÚnode_smith_introõ   Thiáº¿t TÆ°á»£ng Huyáº¿t Ä�á»“u§   Keng! Keng! Ä�em xÆ°Æ¡ng quÃ¡i chÃºa vÃ  phÃ´i sáº¯t gá»‰ láº¡i Ä‘Ã¢y! Lá»­a lÃ² cá»§a ta dÃ¹ng mÃ¡u Ä‘en dÃ£ thÃº Ä‘á»ƒ nung, Ä‘Ãºc ra TÃ  Ä�ao chÃ©m sáº¯t nhÆ° bÃ¹n!Úchoice_open_forgeuF   Kháº£m Cá»• Cá»‘t áº¤n vÃ  Ä‘Ãºc U Minh Cá»‘t Ä�inh vÃ o giÃ¡p cho ta.Únode_smith_forge_openu3   BÃºa Ä‘Ã£ nÃ³ng, mÃ¡u Ä‘Ã£ sÃ´i, Ä‘Æ°a phÃ´i Ä‘Ã¢y!)r=   r@   Útree_sa_mac_hermitÚnode_hermit_introõ   Cuá»“ng NhÃ¢n BÃ£o CÃ¡tuç   KhÃ¨ khÃ¨... CÃ¡t Ä‘á»� tÃ¡p vÃ o máº·t rÃ¡ch da rÃ¡ch thá»‹t... Káº» nÃ o dÃ¡m bÆ°á»›c vÃ o vÃ¹ng cháº¿t nÃ y? Náº¿u khÃ´ng cÃ³ má»™t hÅ© Há»—n NguyÃªn Huyáº¿t Tá»­u lÃ m áº¥m cuá»‘ng há»�ng, ta xÃ© xÃ¡c ngÆ°Æ¡i lÃ m má»“i nháº¯m!Úchoice_give_wineu^   Cáº§m láº¥y hÅ© Há»—n NguyÃªn Tá»­u nÃ y! Nuá»‘t cho trÃ´i rá»“i má»Ÿ Ä‘Æ°á»�ng qua bÃ£o cÃ¡t.Úquest_deliver_ancient_wineÚnode_hermit_wine_acceptedu�   Gá»« gá»«! RÆ°á»£u cay nhÆ° mÃ¡u quÃ¡i váº­t! Ä�Æ°á»£c láº¯m, Ä‘i theo váº¿t chÃ¢n thÃº hÆ°á»›ng Ä‘Ã´ng, bÃ£o cÃ¡t sáº½ ráº½ lá»‘i cho ngÆ°Æ¡i!)rB   rF   )r
   r	   r   r   ÚQUEST_DISPATCHÚ
SHOP_VAULTÚCRAFTING_FORGE)Útreess    ú1C:\Projects\FreeExile\server\world\npc_catalog.pyÚcreate_canonical_dialogue_treesrL      sõ  € à(*€Eõ %4Ø&Ø0å!0Ø+Ø<ð[õ &Ø"8ØeØ'9ðñ ô õ
 &Ø"=ØTØ'@Ý(6Ô(EØ&:ðñ ô õ &Ø"GØnØ'@ðñ ô ðð"ñ "ô "õ6 !0Ø*Ø<ðQõ
 &Ø"4Ø[Ø':ðñ ô ðð!ñ !ô !õ  (7Ø1Ø<ðWõ &Ø"?Ø<Ø$(ðñ ô ðð(ñ (ô (õ &5Ø/Ø<ðKõ &Ø"7ØIÝ(6Ô(EØ&:Ø'@ðñ ô ðð&ñ &ô &õ" (7Ø1Ø<ð FØØ ð(ñ (ô (õ (7Ø1Ø<ð|õ &Ø"9ØTØ':ðñ ô ðð(ñ (ô (õ )8Ø2Ø<Øqå%Ø"GØTØ'@ðñ ô ðð	)ñ )ô )ðEn
ð n
ð` !Ø4Ø4ð#ð #ð!
ðex%ñ x%ô x%€EÐ
 Ñ!õv '6Ø(Ø2å#2Ø-Ø9ðhõ &Ø"5ØsÝ(6Ô(AØ'Að	ñ ô ðð$ñ $ô $õ  )8Ø2Ø9ð KØØ ð)ñ )ô )ð#
ð 
ð'ñ 'ô '€EÐ
"Ñ#õ> $3Ø%Ø-å-Ø(Ø9ðtõ &Ø":ØdØ'=ðñ ô õ
 &Ø">ØQØ'@ðñ ô ððñ ô õ( %4Ø.Ø9ðið Ø ð	%ñ 	%ô 	%õ (7Ø1Ø9ðxð Ø ð	(ñ 	(ô 	(ð?)
ð )
ð-$ñ -$ô -$€EÐ
Ñ õ` -ØØ/å /Ø*Ø>ðwõ &Ø"5ØeÝ(6Ô(EØ'>ð	ñ ô ðð!ñ !ô !õ  &5Ø/Ø>ØMØØ ð&ñ &ô &ð#
ð 
ðñ ô €Eˆ/Ñõ> #2Ø$Ø0å!0Ø+Ø7ðNõ &Ø"4Ø}Ý(6Ô(EØ&BØ'Bðñ ô ðð"ñ "ô "õ" *9Ø3Ø7ð jØØ ð*ñ *ô *ð%
ð 
ð#ñ #ô #€EÐ
Ñð> €Ló    c                  óD  — t          dddt          j        ddddt          j        t          j        t          j        fd¬¦
  «
        t          d	d
dt          j        ddddt          j        t          j        fd¬¦
  «
        t          dddt          j	        ddddt          j        t          j
        fd¬¦
  «
        t          dddt          j        ddddt          j        t          j        fd¬¦
  «
        t          dddt          j        ddd dt          j        t          j        fd!¬¦
  «
        t          d"d#d$t          j        dd%d&dt          j        t          j        fd¬¦
  «
        t          d'd(d)t          j        d*d+d,dd-t          j        t          j        t          j        fd.¬/¦  «        gS )0uC   Khá»Ÿi táº¡o danh sÃ¡ch NPC kinh Ä‘iá»ƒn phÃ¢n bá»‘ trÃªn cÃ¡c map.Únpc_bach_hieu_sinhu   BÃ¡ch Hiá»ƒu Sinhr7   Úzone_boundless_sanctuaryg      .@g      @r5   )
Únpc_idÚnameÚtitleÚroleÚzone_idÚxÚyÚinteraction_radiusÚsupported_servicesÚdialogue_tree_idÚnpc_van_gioi_thuong_nhanu   Gian ThÆ°Æ¡ng Cáº©u Kháº¥ur2   g      9Àg      4@g      @r0   Únpc_thiet_tuong_au_da_tur>   u   Thá»£ RÃ¨n Cá»‘t Thiáº¿tg      >@g      4Àr<   Únpc_chan_vo_truyen_thuau   Huyáº¿t Vu BÃ  BÃ u   TrÆ°á»Ÿng LÃ£o Táº¿ Cá»‘tg        g     €F@Únpc_doc_co_tan_kiemu   LÃ£o Ä�á»™c Cá»‘tr   Úzone_tang_kiem_nhaig      N@g     €K@r   Únpc_tieu_dau_lao_mau   Thá»£ SÄƒn LÃ£o MÃ£u   Trinh SÃ¡t Hoang DÃ£g     €k@g     àe@Únpc_sa_mac_du_thanrC   u   Dá»‹ Biáº¿n áº¨n SÄ©Úzone_boundless_sandstormg     €f@g      d@Ú	SANDSTORMrA   )rQ   rR   rS   rT   rU   rV   rW   rX   Úrequired_environmentrY   rZ   )r   r   ÚFERAL_TRACKERr   ÚDIALOGUErG   ÚMAP_TELEPORT_GUIDEÚOUTCAST_SCAVENGERrH   ÚBONE_BLACKSMITHrI   ÚBLOOD_SHAMANÚMERIDIAN_INSIGHTÚ	WAR_CHIEFÚSAVAGE_HERMITÚSECRET_TRIALr'   rM   rK   Úcreate_canonical_npcsro   !  sÞ  € õ 	Ø'Ø$Ø-ÝÔ&Ø.ØØØ"Ý .Ô 7½Ô9VÕXfÔXyÐzØ2ð	
ñ 	
ô 	
õ 	Ø-Ø-Ø-ÝÔ*Ø.ØØØ"Ý .Ô 7½Ô9RÐSØ5ð	
ñ 	
ô 	
õ 	Ø-Ø1Ø,ÝÔ(Ø.ØØØ"Ý .Ô 7½Ô9VÐWØ,ð	
ñ 	
ô 	
õ 	Ø,Ø%Ø-ÝÔ%Ø.ØØØ"Ý .Ô 7½Ô9XÐYØ2ð	
ñ 	
ô 	
õ 	Ø(Ø$Ø0ÝÔ"Ø)ØØØ"Ý .Ô 7½Ô9VÐWØ3ð	
ñ 	
ô 	
õ 	Ø(Ø&Ø(ÝÔ&Ø)ØØØ"Ý .Ô 7½Ô9ZÐ[Ø2ð	
ñ 	
ô 	
õ 	Ø'Ø*Ø(ÝÔ&Ø.ØØØ"Ø!,Ý .Ô 7½Ô9VÕXfÔXsÐtØ1ð	
ñ 	
ô 	
ðYYð YrM   ÚengineNc                 óÂ   — t          ¦   «                              ¦   «         D ]}|                      |¦  «         Œt          ¦   «         D ]}|                      |¦  «         ŒdS )uS   Náº¡p toÃ n bá»™ cÃ¢y há»™i thoáº¡i vÃ  danh sÃ¡ch NPC kinh Ä‘iá»ƒn vÃ o NpcEngine.N)rL   ÚvaluesÚregister_dialogue_treero   Úregister_npc)rp   ÚtreeÚnpcs      rK   Úpopulate_canonical_npcsrw     sp   € å/Ñ1Ô1×8Ò8Ñ:Ô:ð ,ð ,ˆØ×%Ò% dÑ+Ô+Ð+Ð+Ý$Ñ&Ô&ð !ð !ˆØ×Ò˜CÑ Ô Ð Ð ð!ð !rM   )Ú__doc__Útypingr   r   r   Úserver.world.npc_typesr   r   r   r	   r
   r   ÚstrrL   ro   rw   r'   rM   rK   ú<module>r|      sü   ððð ð
 #Ð "Ð "Ð "Ð "Ð "Ð "Ð "Ð "Ð "ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ðM¨¨c°?Ð.BÔ)Cð Mð Mð Mð Mð`[˜t MÔ2ð [ð [ð [ð [ð|! Cð !¨Dð !ð !ð !ð !ð !ð !rM   