
    qhl                        S SK Jr  S SKrS SKrS SKJrJr  S SKJr  S SK	J
r
  S SKJrJrJr  S SKJr  SS	KJr  SS
KJrJr  SSKJr  \" \R0                  5      R2                  R2                  r\ " S S\5      5       rg)    )annotationsN)KW_ONLY	dataclass)Path)Literal)GameModget_pc)TrainingBox   )TextModState)any_hotfix_usedis_hotfix_service)change_mod_auto_enablec                  N  ^  \ rS rSr% SrS\S'   S\S'   S\S'   \R                  rS	\S
'   Sr	S\S'   S\S'   S\S'   S\S'   \
SS j5       r\R                  SS j5       r\
SS j5       r\R                  S S j5       rS!U 4S jjrS!U 4S jjrS"S#U 4S jjjrSS jrS!S jrSrU =r$ )$TextMod   FzLiteral[False]auto_enabler   _r   filer   stateboolprevent_reloadingz
int | Nonespark_service_idxzGame | Nonerecommended_gamez
str | Noneinternal_descriptionc                   / nU R                   bZ  [        R                  " 5       =o R                   :w  a6  UR                  SU R                   R                   SUR                   S35        U R
                  [        R                  [        R                  1;   a  UR                  S5        U R
                  ==[        R                  :X  a  O=[        R                  :X  a  O  O    UR                  S5        O=[        R                  :X  a    UR                  S5        Oj=[        R                  :X  a    UR                  S5        OC=[        R                  :X  a  O,=[        R                  :X  a  O=[        R                  :X  a  O  O   U R                  (       a  UR                  SU R                  -   5        SR                  U5      $ )	Nz?<font color="#FFFF00">Warning:</font> This mod is intended for z&, and may not function as expected in .zH<font color="#FFFF00">Warning:</font> This mod no longer exists on disk.zaThis mod was previously enabled, but will not be re-enabled. Restart the game to remove it fully.zkThis mod is <font color="#FFFF00">Locked</font> because you've already run another mod which uses hotfixes.zThis mod is <font color="#FFFF00">Locked</font> because it uses a non-existent hotfix service - try open and re-save it using OpenBLCMM.
)r   r   get_currentappendnamer   r   DeletedActiveDeletedInactiveDisableOnRestartLockedHotfixesLockedBadServiceDisabledEnabledr   join)selfdescription_partscurrent_games      cZ:\mnt\Skyabridged\SteamLibrary\steamapps\common\Borderlands 2\sdk_mods\text_mod_loader\text_mod.pydescriptionTextMod.description"   so   ')!!-!%!1!1!338M8MM$$))../ 0 %%&a) ::,44l6R6RSS$$Z jjK...1K1K1KK!((+ -,,!((8 /..!((Q
 '&&)=)=)=@\@\@\\$$$$TD,E,E%EFyy*++    c                    g N r+   r   s     r.   r/   r0   M       r1   c                \   U R                   ==[        R                  :X  a  O,=[        R                  :X  a  O=[        R                  :X  a  O  O    g=[        R
                  :X  a    g=[        R                  :X  a     g=[        R                  :X  a     g=[        R                  :X  a     g  g )NFT)	r   r   r(   r%   r)   r&   r'   r#   r$   r+   s    r.   enabling_lockedTextMod.enabling_lockedQ   s    jj]&&&)F)F)FI]I]I]]+++ /
 	 0,///
  -,,,/
  /,../
 /r1   c                    g r3   r4   r5   s     r.   r9   r:   ^   r6   r1   c                   > [         TU ]  5         U R                  bR  [        (       a  [        R
                  U l        g [        U R                  5      (       d  [        R                  U l        g g g r3   )	super__post_init__r   r   r   r&   r   r   r'   r+   	__class__s    r.   r>   TextMod.__post_init__b   sT    !!-)88
&t'='=>>)::
 ? .r1   c                  > [         TU ]  5         U R                  5         U R                  =[        R
                  :X  a    g ==[        R                  :X  a  O=[        R                  :X  a  O  O9    [        SU R                   S3SS9R                  5         U R                  5         g ==[        R                  :X  a  O=[        R                  :X  a  O  OF    [        SU R                   S3SU R                   3S9R                  5         U R                  5         g =[        R                  :X  al    [!        5       R#                  S[$        R&                  R)                  U R                  [*        5       S35        [        R
                  U l        [-        U S5        g [        R.                  :X  a"  [        R
                  U l        [-        U S5        g g )	NzUnable to execute ''z;The mod was supposed to be locked, how did you manage this?)titlemessagez*The associated mod file has been deleted:
zexec ""T)r=   enablecheck_deletedr   r   r)   r&   r'   r   r"   showdisabler#   r$   r   r(   r
   ConsoleCommandospathrelpathBINARIES_DIRr   r%   r?   s    r.   rG   TextMod.enablek   sH   jj%%%L,,,/L|/L/LL/		{!<Y $&J+++.Jl.J.JJ/		{!<I$))U $&&&& ''&L1Y0ZZ[(\])11
&tT2..)11
&tT2 /r1   c                  > [         TU ]  U5        U R                  5         U R                  ==[        R
                  :X  a  Ok=[        R                  :X  a  OV=[        R                  :X  a  OA=[        R                  :X  a  O,=[        R                  :X  a  O=[        R                  :X  a  O  O    g [        R                  :X  a"  [        R                  U l        [        U S5        g g )NF)r=   rJ   rH   r   r   r(   r%   r&   r'   r#   r$   r)   r   )r+   dont_update_settingr@   s     r.   rJ   TextMod.disable   s    +,jj/%%%/,//-,--/,//,,,,.,../ %%)::
&tU3 &r1   c                   [         R                  " 5       U R                  ;  a  gU R                  =[        R
                  :X  a    g=[        R                  :X  a    g=[        R                  :X  a    g==[        R                  :X  a  O=[        R                  :X  a  O  O    g=[        R                  :X  a    g=[        R                  :X  a    g  g )Nz)<font color='#ffff00'>Incompatible</font>z%<font color='#ff0000'>Disabled</font>z1<font color='#ff6060'>Disabling on Restart</font>z$<font color='#00ff00'>Enabled</font>z#<font color='#ffff00'>Locked</font>z$<font color='#ffff00'>Deleted</font>)r   r    supported_gamesr   r   r(   r%   r)   r&   r'   r#   r$   r8   s    r.   
get_statusTextMod.get_status   s    T%9%99>jj&&&>...J%%%=L,,,/L|/L/LL<+++J= /Kl.J.JJ= Kr1   c                   U R                   R                  5       (       a  gU R                  ==[        R                  :X  a  O,=[        R
                  :X  a  O=[        R                  :X  a  O  O    [        R                  U l        g==[        R                  :X  a  O=[        R                  :X  a  O  O    [        R                  U l        g=[        R                  :X  a  O=[        R                  :X  a  O  g  g)zNChecks if this mod file has been deleted, and if so changes state as required.N)r   existsr   r   r(   r&   r'   r$   r%   r)   r#   r8   s    r.   rH   TextMod.check_deleted   s    99jjc%%%(C(C(CFclFcFcc)99
E...1E1E1EE)77
+++.Jl.J.JJr1   )r   )returnstr)r   r\   r[   None)r[   r   )r   r   r[   r]   )r[   r]   )F)rR   r   r[   r]   )__name__
__module____qualname____firstlineno__r   __annotations__r   r(   r   r   propertyr/   setterr9   r>   rG   rJ   rV   rH   __static_attributes____classcell__)r@   s   @r.   r   r      s    "'K'J
J&//E</#t#!!!!$$(, (,T   
 
  ; 3D4 4(>  r1   r   )
__future__r   rL   sysdataclassesr   r   pathlibr   typingr   	mods_baser   r	   r
   ui_utilsr   anti_circular_importr   hotfixesr   r   settingsr   
executableparentrO   r   r4   r1   r.   <module>rs      sa    " 	 
 *   ' '   . 8 ,CNN#**11 jc j jr1   