§
    ê¿j  ã                  óü  — d Z ddlmZ ddlZddlmc mZ ddl	Z	ddl
mZmZ ddlmZ  G d„ de	j        ¦  «        Z G d„ d	e	j        ¦  «        Z G d
„ de	j        ¦  «        Z ed¬¦  «         G d„ d¦  «        ¦   «         Z ed¬¦  «         G d„ d¦  «        ¦   «         Z ed¬¦  «         G d„ d¦  «        ¦   «         Z ed¬¦  «         G d„ d¦  «        ¦   «         Z ed¬¦  «         G d„ d¦  «        ¦   «         ZdS )zK
Canonical Data Transfer Objects and Enums for Social & Party E2E Testing.
é    )ÚannotationsN)Ú	dataclassÚfield)ÚDictc                  ó   — e Zd ZdZdZdZdS )ÚLootAllocationModeÚ	PERMANENTÚSHORTÚFREE_FOR_ALLN)Ú__name__Ú
__module__Ú__qualname__r	   r
   r   © ó    úCC:\Projects\FreeExile\tests\e2e_social_party\test_harness_models.pyr   r      s   € € € € € Ø€IØ€EØ!€L€L€Lr   r   c                  ó   — e Zd ZdZdZdZdZdS )Ú
TargetTypeÚPARTY_MEMBERÚFRIENDÚ	GUILDMATEÚTOWN_PORTALN)r   r   r   r   r   r   r   r   r   r   r   r      s"   € € € € € Ø!€LØ€FØ€IØ€K€K€Kr   r   c                  ó   — e Zd ZdZdZdS )ÚInterruptReasonÚINTERRUPT_MOVEMENTÚINTERRUPT_DAMAGEN)r   r   r   r   r   r   r   r   r   r      s   € € € € € Ø-ÐØ)ÐÐÐr   r   T)Úslotsc                  ód   — e Zd ZU ded<   ded<   ded<   ded<   ded<   ded	<   ded
<   dZded<   dS )ÚPartyMemberStateÚstrÚ	player_idÚnameÚintÚlevelÚzone_idÚinstance_idÚfloatÚxÚyTÚboolÚis_aliveN)r   r   r   Ú__annotations__r*   r   r   r   r   r      se   € € € € € € à€N€N�NØ€I€I�IØ€J€J�JØ€L€L�LØÐÐÑØ€H€H�HØ€H€H�HØ€HÐÐÐÑÐÐr   r   c                  ól   — e Zd ZU ded<   ded<    ee¬¦  «        Zded<   ej        Z	ded<   d	Z
d
ed<   dS )Ú
PartyStater   Úparty_idÚ	leader_id)Údefault_factoryzDict[str, PartyMemberState]Úmembersr   Úloot_allocation_modeé   r"   Úmax_membersN)r   r   r   r+   r   Údictr1   r   r
   r2   r4   r   r   r   r-   r-   )   sh   € € € € € € à€M€M�MØ€N€N�NØ+0¨5ÀÐ+FÑ+FÔ+F€GÐFÐFÐFÑFØ/AÔ/GÐÐGÐGÐGÑGØ€KÐÐÐÑÐÐr   r-   c                  óX   — e Zd ZU ded<   ded<   ded<   ded<   ded<   d	Zd
ed<   dd„ZdS )ÚGroundLootDropr   Údrop_idÚitem_idÚallocated_player_idr&   Údrop_timestampr   Úallocation_modeFr)   Úis_picked_upr    Úcurrent_timeÚreturnc                ó¸   — | j         rdS | j        t          j        k    r|| j        k    S | j        t          j        k    r|| j        k    rdS || j        dz   k    S dS )NFTg      @)r=   r<   r   r	   r:   r
   r;   )Úselfr    r>   s      r   Úcan_player_pickupz GroundLootDrop.can_player_pickup;   so   € ØÔð 	Ø�5ØÔÕ#5Ô#?Ò?Ð?Ø Ô 8Ò8Ð8ØÔÕ#5Ô#;Ò;Ð;Ø˜DÔ4Ò4Ð4Ø�tØ DÔ$7¸#Ñ$=Ò>Ð>Øˆtr   N)r    r   r>   r&   r?   r)   )r   r   r   r+   r=   rB   r   r   r   r7   r7   2   sq   € € € € € € à€L€L�LØ€L€L�LØÐÐÑØÐÐÑØ'Ð'Ð'Ñ'Ø€LÐÐÐÑð	ð 	ð 	ð 	ð 	ð 	r   r7   c                  óZ   — e Zd ZU ded<   ded<   ded<   ded<   ded<   ded	<   d
Zded<   dS )ÚFriendPresenceDTOr   r    r!   r"   r#   r)   Ú	is_onliner$   Ú	zone_nameÚ ÚnoteN)r   r   r   r+   rH   r   r   r   rD   rD   G   sS   € € € € € € à€N€N�NØ€I€I�IØ€J€J�JØ€O€O�OØ€L€L�LØ€N€N�NØ€D€N€N€N�N€N€Nr   rD   c                  óL   — e Zd ZU ded<   ded<   ded<   ded<   ded<   ded	<   d
S )ÚGuildMemberPresenceDTOr   r    r!   r"   r#   Úrankr)   rE   r$   N)r   r   r   r+   r   r   r   rJ   rJ   R   sF   € € € € € € à€N€N�NØ€I€I�IØ€J€J�JØ€I€I�IØ€O€O�OØ€L€L�L€L€Lr   rJ   )Ú__doc__Ú
__future__r   ÚbuiltinsÚ@py_builtinsÚ_pytest.assertion.rewriteÚ	assertionÚrewriteÚ
@pytest_arÚenumÚdataclassesr   r   Útypingr   ÚEnumr   r   r   r   r-   r7   rD   rJ   r   r   r   ú<module>rX      sH  ððð ð #Ð "Ð "Ð "Ð "Ð "Ø  € € € € € € € € € € € € €€€€Ø (Ð (Ð (Ð (Ð (Ð (Ð (Ð (Ø Ð Ð Ð Ð Ð ð"ð "ð "ð "ð "˜œñ "ô "ð "ð ð  ð  ð  ð  �”ñ  ô  ð  ð*ð *ð *ð *ð *�d”iñ *ô *ð *ð
 €�ÐÑÔðð ð ð ð ñ ô ñ Ôðð €�ÐÑÔðð ð ð ð ñ ô ñ Ôðð €�ÐÑÔðð ð ð ð ñ ô ñ Ôðð( €�ÐÑÔðð ð ð ð ñ ô ñ Ôðð €�ÐÑÔðð ð ð ð ñ ô ñ Ôðð ð r   