§
    ]“»j#  ã                  ót  — U d Z ddlmZ ddlmZmZmZmZ ddlm	Z	m
Z
  ee	¦  «        Zded<   e	j        ddd	d
ddœe	j        ddddddœe	j        ddddddœe	j        ddd	dddœe	j        ddddddœe	j        ddd	dd dœe	j        d!d"d#d$d%dœe	j        d&d'dd(ddœiZd)ed*<   e
j        d+d,d-d.d/œe
j        d0d1d2d3d/œe
j        d4d5d6d7d/œe
j        d8d9d:d;d/œe
j        d<d=d>d?d/œe
j        d@dAdBdCd/œe
j        dDdEdFdGd/œe
j        dHdIdJdKd/œe
j        dLdMdNdOd/œe
j         dPdQdRdSd/œi
Z!dTedU<   g dV¢g dW¢g dX¢g dY¢dZœZ"d[ed\<   dgda„Z#dhde„Z$dfS )iz­
Catalog of Savage Primal Map Content Encounters, Biomes, Affixes, and Bosses.
Decoupled from execution logic.
Adheres strictly to Grimdark Savage Primal Exile ARPG themes.
é    )Úannotations)ÚDictÚListÚTupleÚAny)ÚContentTypeÚMapBiomeTypezTuple[ContentType, ...]ÚALL_CONTENT_TYPESu(   Huyáº¿t Táº¿ Tráº­n (Savage Blood Altar)uÄ   BÃ n táº¿ mÃ¡u cá»• xÆ°a cá»§a man tá»™c. KÃ­ch hoáº¡t triá»‡u há»“i 3 Ä‘á»£t thÃº hiáº¿n táº¿ hung báº¡o; háº¡ gá»¥c Ä‘á»ƒ hiáº¿n táº¿ linh há»“n Ä‘á»•i Cá»• Cá»‘t áº¤n vÃ  Huyáº¿t Há»“n Tháº¡ch.é   u'   Cá»• Cá»‘t áº¤n & Huyáº¿t Há»“n Tháº¡ché   ©ÚnameÚdescriptionÚbase_difficultyÚreward_typeÚweightu&   Khe Ná»©t HÆ° KhÃ´ng (Abyssal Fissure)u›   Váº¿t ná»©t Ä‘en ngÃ²m ráº¡ch toáº¡c lÃ²ng Ä‘áº¥t hoang dÃ£, bÃ² dÃ i giáº£i phÃ³ng báº§y bá»� Äƒn xÃ¡c vÃ  káº¿t thÃºc báº±ng Cá»• Cá»‘t HÆ° KhÃ´ng ThÃ¡p.é   u/   Bá»¥i Huyáº¿t Cá»‘t & PhÃ´i Trang Bá»‹ iLvl Caou&   HÃ²m XÆ°Æ¡ng Ma Quá»· (Bone Strongbox)u�   RÆ°Æ¡ng xÆ°Æ¡ng bá»�c xÃ­ch sáº¯t rá»‰ yá»ƒm tÃ  áº¥n. Má»Ÿ rÆ°Æ¡ng sáº½ giáº£i phÃ³ng Ä‘Ã n quÃ¡i tinh anh báº«y ráº­p (Ä‘Ã³ng bÄƒng, ná»• xÃ¡c, mÆ°a mÃ¡u).u$   PhÃ´i Trang Bá»‹ & Háº¯c SÆ¡ Tháº¡ché   u,   TÃ n Cá»‘t Tinh Hoa (Feral Essence Monolith)u¬   QuÃ¡i thÃº cá»• Ä‘áº¡i bá»‹ giam cáº§m trong khá»‘i huyáº¿t tháº¡ch thÃ´. PhÃ¡ vá»¡ phong áº¥n Ä‘á»ƒ cÆ°á»›p Ä‘oáº¡t Tinh Hoa Dá»‹ Biáº¿n rÃ¨n Ã©p thuá»™c tÃ­nh trang bá»‹.u'   Tinh Hoa Dá»‹ Biáº¿n & Uáº©n Ma Tháº¡chu2   Thao Thiáº¿t XÃ¢m Thá»±c (Scourge Flesh Incursion)už   Cá»•ng dá»‹ biáº¿n mÃ¡u thá»‹t má»Ÿ ra trong 45 giÃ¢y Ä‘áº¿m ngÆ°á»£c. BÆ°á»›c vÃ o khÃ´ng gian bÃ³ng tá»‘i Ä‘áº«m mÃ¡u sÄƒn lÃ¹ng Quá»· VÆ°Æ¡ng Thao Thiáº¿t.é   u/   Huyáº¿t áº¢nh Cá»• KÃ­nh & TÃ  áº¤n MÃ¹a Giáº£ié   u1   Ä�á»™t KÃ­ch LÃ£nh ChÃºa (Warlord Warband Ambush)u†   Ä�á»™i quÃ¢n lÆ°u Ä‘Ã y pháº£n tráº¯c phá»¥c kÃ­ch báº¥t ngá»� vá»›i cÃ¡c thá»§ lÄ©nh Ä‘ao phá»§ trang bá»‹ giÃ¡p xÆ°Æ¡ng Ä‘áº«m mÃ¡u.u+   TÃ n Cá»‘t Tháº§n Binh & U Minh Cá»‘t Ä�inhé   u,   BÃ­ Tháº¥t Háº¯c Thá»‹ (Secret Smuggler Den)u‘   Há»‘c Ä‘Ã¡ ngáº§m áº©n giáº¥u nÆ¡i ThÆ°Æ¡ng NhÃ¢n Chá»£ Ä�en LÆ°u Ä�Ã y buÃ´n láº­u phÃ´i Ä‘á»“ iLvl 85+ vÃ  tiá»�n tá»‡ cháº¿ tÃ¡c Ä‘á»™c báº£n.é   u3   ThÆ°Æ¡ng NhÃ¢n Chá»£ Ä�en & Giáº£m Thuáº¿ KÃ½ Gá»­ié
   u0   Tháº§n ThÃº Táº¿ Ä�Ã n (Primal Beast Totem Hunt)uŠ   Láº§n theo dáº¥u váº¿t mÃ¡u Ä‘á»ƒ sÄƒn báº¯t Tháº§n ThÃº Cá»• Ä�áº¡i mang 4 thuá»™c tÃ­nh dá»‹ biáº¿n man rá»£, phong áº¥n vÃ o bÃ¹a táº¿.u1   Cá»• Cá»‘t ThÃº VÆ°Æ¡ng & Máº¡ch MÃ¡u Dá»‹ Biáº¿nz!Dict[ContentType, Dict[str, Any]]ÚCONTENT_DEFINITIONSu   Bá»� Ä�Ã¡ TÃ n XÆ°Æ¡ngzThe Bone StranduN   DuyÃªn háº£i hoang tÃ n, xÃ¡c tÃ u vá»¡ vá»¥n, cá»�c xÆ°Æ¡ng cáº¯m Ä‘áº§u lÃ¢uu"   Ä�ao Phá»§ Báº¿n TÃ u TÃ n XÆ°Æ¡ng)Úname_viÚname_enÚbase_environmentÚnative_bossu   Ä�áº§m Láº§y Thá»‘i Rá»¯azThe Putrid FensuR   VÅ©ng láº§y ngáº­p bÃ¹n Ä‘á»™c, Ä‘á»‰a hÃºt mÃ¡u khá»•ng lá»“, chÆ°á»›ng khÃ­ tÃ­mu    Cá»• Thi NgÃ n NÄƒm Ä�áº§m Láº§yu   Sa Cá»‘t Hoang Máº¡czThe Bone WastesuM   Cá»“n cÃ¡t vÃ ng lá»‘c xoÃ¡y chÃ´n vÃ¹i hÃ ng ngÃ n khung xÆ°Æ¡ng voi ma mÃºtu    Bá»� Cáº¡p Sa Cá»‘t Khá»•ng Lá»“u   Pháº¿ TÃ­ch Xáº» Thá»‹tzThe Slaughter RuinsuN   Ä�áº¥u trÆ°á»�ng Ä‘Ã¡ sá»¥p Ä‘á»• nhuá»‘m mÃ¡u khÃ´ Ä‘en, mÃ³c sáº¯t treo xÃ¡cu'   Cuá»“ng TÆ°á»›ng Xáº» Thá»‹t LÆ°u Ä�Ã yu   Táº¿ Ä�Ã n Man HoangzThe Primal AltaruF   Rá»«ng Ä‘Ã¡ dá»±ng Ä‘á»©ng vÃ²ng cung, totem xÆ°Æ¡ng thÃº khá»•ng lá»“u   TÆ° Táº¿ Táº¿ MÃ¡u Man Tá»™cu   Vá»±c Ä�áº§m BÄƒng Ä�á»™czThe Abyssal Bile MireuR   Ä�áº§m láº§y nÆ°á»›c Ä‘en buá»‘t giÃ¡ bá»‘c hÆ¡i acid Ä‘á»™c cá»§a loÃ i xÃ  quÃ¡iu   TrÄƒn Máº­t Ä�á»™c Vá»±c Tháº³mu   Vá»±c Ä�Ã³i Nuá»‘t Chá»­ngzThe Gorge of the StarveduL   Háº»m vá»±c sÃ¢u hun hÃºt giÃ³ rÃ­t nhÆ° tiáº¿ng kÃªu gÃ o cá»§a quá»· Ä‘Ã³iu    Quá»· VÆ°Æ¡ng Thao Thiáº¿t Cá»‘tu   Miá»‡ng Lá»­a Nung MÃ¡uzThe Bloodforge CalderauK   Há»“ dung nham sÃ´i sÃ¹ng sá»¥c nung Ä‘á»� Ä‘Ã¡ basalt háº¯c diá»‡n tháº¡chu    Háº¯c Nham Cá»± ThÃº Rá»±c Lá»­au   Bá»‡ Thá»� Quá»· Ä�oáº¡t Má»‡nhzThe Apex of SlaughteruT   Ä�á»‰nh nÃºi Ä‘Ã¡ xÃ¡m láº¡nh tháº¥u xÆ°Æ¡ng, bia Ä‘Ã¡ kháº¯c tÃ  cÃ´ng cuá»“ng sÃ¡tu4   Chiáº¿n TÆ°á»›ng Ä�oáº¡t Má»‡nh Ä�oáº¡n Ä�á»™c HÃ nhu   CÃµi HÆ° KhÃ´ng Tuyá»‡t Ä�á»‹azThe Void AbyssuS   Váº¿t ná»©t khÃ´ng thá»�i gian trÃ´i ná»•i cÃ¡c máº£nh Ä‘Ã¡ vá»¡ vÃ  tinh vÃ¢n Ä‘enu   TÃ  Tháº§n HÆ° KhÃ´ng VÃ´ Táº­nz"Dict[MapBiomeType, Dict[str, Any]]ÚBIOME_METADATA)u.   QuÃ¡i váº­t gÃ¢y thÃªm 20% sÃ¡t thÆ°Æ¡ng Há»�au-   QuÃ¡i váº­t tÄƒng 25% tá»‘c Ä‘á»™ di chuyá»ƒnu+   QuÃ¡i váº­t khÃ¡ng sÃ¡t thÆ°Æ¡ng BÄƒng +25%u,   NgÆ°á»�i chÆ¡i giáº£m 15% hiá»‡u quáº£ giÃ¡p)u1   QuÃ¡i váº­t báº¯n thÃªm 2 tia Ä‘áº¡n phÃ¢n nhÃ¡nhuC   Khu vá»±c bá»‹ nguyá»�n rá»§a bá»Ÿi Lá»�i Nguyá»�n Huyáº¿t ThÆ°Æ¡ngu;   QuÃ¡i Tinh Anh sá»Ÿ há»¯u thÃªm 2 thuá»™c tÃ­nh dá»‹ biáº¿nu=   Ä�Ã²n Ä‘Ã¡nh cá»§a quÃ¡i váº­t gÃ¢y cháº£y mÃ¡u trong 4 giÃ¢yu;   Máº·t Ä‘áº¥t phá»§ Ä‘áº§y vÅ©ng bÃ¹n Ä‘á»™c lÃ m cháº­m 30%)u?   NgÆ°á»�i chÆ¡i khÃ´ng thá»ƒ há»“i phá»¥c sinh lá»±c tá»± nhiÃªnu4   QuÃ¡i váº­t pháº£n láº¡i 15% sÃ¡t thÆ°Æ¡ng váº­t lÃ½uS   Thá»§ lÄ©nh báº£n Ä‘á»“ tÄƒng 40% mÃ¡u tá»‘i Ä‘a vÃ  30% diá»‡n tÃ­ch chiÃªu thá»©cuE   QuÃ¡i váº­t nháº­n bÃ¹a Cuá»“ng Báº¡o vÄ©nh viá»…n khi dÆ°á»›i 50% HPuB   Khu vá»±c chá»‹u áº£nh hÆ°á»Ÿng bá»Ÿi BÃ£o LÃ´i Ä�áº¡n LiÃªn HoÃ n)uA   QuÃ¡i váº­t bá»� qua 30% khÃ¡ng nguyÃªn tá»‘ cá»§a ngÆ°á»�i chÆ¡iu>   Xuáº¥t hiá»‡n thÃªm 1 Thá»§ LÄ©nh Song Sinh cÃ¹ng tham chiáº¿nuA   Hiá»‡u á»©ng Dá»‹ Biáº¿n TÃ  Huyáº¿t kÃ­ch hoáº¡t toÃ n khu vá»±cu@   Thá»�i gian duy trÃ¬ thÃ¢n phÃ¡p trÆ°á»�n nÃ© i-frame giáº£m 50%)ÚlowÚmidÚhighÚuberzDict[str, List[str]]ÚAFFIX_POOL_BY_TIERÚtierÚintÚreturnúTuple[int, int]c                ó6   — | dk    rdS | dk    rdS | dk    rdS dS )zDReturns (min_content_count, max_content_count) for a given map tier.é   )r   r   r   )r   r   r   )r   r   )r   r*   © )r%   s    ú=C:\Projects\FreeExile\server\world\endgame_content_catalog.pyÚ calculate_content_count_for_tierr-   ©   s1   € àˆq‚y€yØˆvØ	�ŠˆØˆvØ	�ŠˆØˆvàˆvó    Úcontent_typer   úDict[str, Any]c           	     óN   — t                                | | j        dddddœ¦  «        S )z:Retrieves metadata definition for a map content encounter.u   CÆ¡ cháº¿ ná»™i dung hoang dÃ£r   u   Huyáº¿t Há»“n Tháº¡chr   r   )r   ÚgetÚvalue)r/   s    r,   Úget_content_definitionr4   µ   s8   € å×"Ò" <ØÔ"Ø7ØØ.Øð2ð 2ñ ô ð r.   N)r%   r&   r'   r(   )r/   r   r'   r0   )%Ú__doc__Ú
__future__r   Útypingr   r   r   r   Úserver.world.endgame_typesr   r	   Útupler
   Ú__annotations__ÚBLOOD_ALTARÚABYSSAL_FISSUREÚBONE_STRONGBOXÚFERAL_ESSENCEÚSCOURGE_INCURSIONÚWARLORD_AMBUSHÚSMUGGLER_DENÚ
BEAST_HUNTr   ÚBONE_STRANDÚ
PUTRID_FENÚBONE_WASTESÚSLAUGHTER_RUINSÚPRIMAL_ALTARÚ	BILE_MIREÚGORGE_STARVEDÚ
BLOODFORGEÚAPEX_SLAUGHTERÚABYSSAL_VOIDr   r$   r-   r4   r+   r.   r,   ú<module>rM      s˜  ððð ð ð #Ð "Ð "Ð "Ð "Ð "Ø )Ð )Ð )Ð )Ð )Ð )Ð )Ð )Ð )Ð )Ð )Ð )Ø @Ð @Ð @Ð @Ð @Ð @Ð @Ð @ð .3¨U°;Ñ-?Ô-?Ð Ð ?Ð ?Ð ?Ñ ?ð ÔØ:ð ^ØØ@Øðð ð ÔØ8ð uØØHØð"ð "ð ÔØ8ð wØØ=Øð!ð !ð ÔØ>ð FØØ@Øð ð  ð Ô!ØDð xØØHØð$ð $ð ÔØCð `ØØDØð!ð !ð ÔØ>ð kØØLØðð ð ÔØBð dØØJØðð ðe9:Ð ð 9ð 9ð 9ñ 9ðz ÔØ+Ø$ØlØ;ð	ð ð ÔØ.Ø$ØpØ9ð	ð ð ÔØ)Ø$ØkØ9ð	ð ð Ô Ø,Ø(ØlØ@ð	#ð #ð ÔØ)Ø%ØdØ5ð	 ð  ð ÔØ.Ø*ØpØ8ð	ð ð ÔØ/Ø-ØjØ9ð	!ð !ð ÔØ,Ø+ØiØ9ð	ð ð ÔØ4Ø*ØrØMð	"ð "ð ÔØ3Ø#ØqØ8ð	 ð  ðo=6€ð =ð =ð =ñ =ðBð ð ðð ð ðð ð ðð ð ð+,ð ,Ð ð ð ð ñ ð<	ð 	ð 	ð 	ðð ð ð ð ð r.   