§
    û»»j‘  ã                   óv   — d Z ddlZddlmc mZ ddlZddlm	Z	m
Z
mZ ddlmZmZ ddlmZ  G d„ d¦  «        ZdS )am  
Integration Test Suite for Beggar's Journey through Quest and Storyline Systems.
Simulates a player progressing from Level 1 beggar to Level 60+ endgame sovereign:
1. Act I (Lvl 1-5): The Dregs of Hunger -> Defeating Bone Hounds, awakening bloodline.
2. Act II (Lvl 8-10): The Putrid Humiliation -> Surviving swamps and ghost thralls.
3. Act III (Lvl 15-30): Sandstorm Crucible -> Conquering the Dune Scorpion, crafting bone weapons.
4. Act IV (Lvl 40-50): Primal Titan Hunts -> Breaking keystones, cloning with Blood Mirror.
5. Act V (Lvl 60+): Sovereign of Deadlands -> Conquering the void lord, claiming Milestone V.
é    N)Úcreate_default_quest_engineÚQuestStatusÚQuestEngine)ÚStoryActÚBeggarAscentStage)ÚStorylineEnginec                   ó¤   — e Zd Zej        deeef         fd„¦   «         Zdeeef         ddfd„Z	deeef         ddfd„Z
deeef         ddfd„ZdS )ÚTestBeggarQuestProgressionÚreturnc                 ó˜  — t          d¬¦  «        }|                     ¦   «         }d }||u}|s—t          j        d|fd||f¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d x}}||fS )	NT)Úattach_storyline©úis not©z%(py0)s is not %(py3)sÚs_engine©Úpy0Úpy3úassert %(py5)sÚpy5)
r   Úget_story_engineÚ
@pytest_arÚ_call_reprcompareÚ@py_builtinsÚlocalsÚ_should_repr_global_nameÚ	_safereprÚAssertionErrorÚ_format_explanation)ÚselfÚq_enginer   Ú@py_assert2Ú@py_assert1Ú@py_format4Ú@py_format6s          úAC:\Projects\FreeExile\tests\unit\test_beggar_quest_progression.pyÚenginesz"TestBeggarQuestProgression.engines   sð   € å.ÀÐEÑEÔEˆØ×,Ò,Ñ.Ô.ˆØ#Ð#ˆx˜tÐ#Ð#Ð#Ð#Õ#Ô#Ð#Ð#Ð#Ð#ˆx˜tÐ#Ñ#Ô#Ð#Õ#Ô#Ñ#Ô#Ð#Ð#Õ#Ô#ˆxÑ#Ô#Ð#Õ#Ô#ˆxÑ#Ô#Ð#Ð#Õ#Ô#˜tÑ#Ô#Ð#Ð#Ñ#Ð#Ð#Ð#Ð#Ð#Ñ#Ð#Õ#Õ#Ô#Ð#Ñ#Ô#Ñ#Ô#Ð#Ð#Ð#Ð#Ð#Ø˜Ð!Ð!ó    r'   Nc           	      óÀ  — |\  }}d}|j         }d}d} ||||¬¦  «        }|sïddt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }	t          t          j        |	¦  «        ¦  «        ‚d x}x}x}}|                     |d¦  «        }
|
j	        }t          j        }||k    }|sòt          j        d	|fd
||f¦  «        dt          j        ¦   «         v st          j        |
¦  «        rt          j        |
¦  «        ndt          j        |¦  «        dt          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        ndt          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}}|                     |dd¬¦  «         |                     |d¦  «        }
|
j	        }t          j        }||k    }|sòt          j        d	|fd||f¦  «        dt          j        ¦   «         v st          j        |
¦  «        rt          j        |
¦  «        ndt          j        |¦  «        dt          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        ndt          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}}|                     |d¦  «        \  }}}d}||u }|s—t          j        d|fd||f¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d x}}d }||u}|s—t          j        d|fd||f¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d x}}|                     |¦  «        }|j        }t$          j        }||k    }|sòt          j        d	|fd||f¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        d t          j        ¦   «         v st          j        t$          ¦  «        rt          j        t$          ¦  «        nd t          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}}|j        }t*          j        }||k    }|sòt          j        d	|fd!||f¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        d"t          j        ¦   «         v st          j        t*          ¦  «        rt          j        t*          ¦  «        nd"t          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}}d#}|j        }||v }|sªt          j        d$|fd%||f¦  «        t          j        |¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        d&œz  }d'd(|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}}d S ))NÚbeggar_hero_01Ú!quest_norm_01_thuc_tinh_tang_kiemé   ©Úplayer_levelúmassert %(py9)s
{%(py9)s = %(py2)s
{%(py2)s = %(py0)s.accept_quest
}(%(py3)s, %(py5)s, player_level=%(py7)s)
}r!   Ú	player_id©r   Úpy2r   r   Úpy7Úpy9©ú==)zO%(py2)s
{%(py2)s = %(py0)s.status
} == %(py6)s
{%(py6)s = %(py4)s.IN_PROGRESS
}Úquestr   ©r   r2   Úpy4Úpy6úassert %(py8)sÚpy8Úmob_trash_bone_houndé   ©Úcount)zM%(py2)s
{%(py2)s = %(py0)s.status
} == %(py6)s
{%(py6)s = %(py4)s.COMPLETED
}T)Úis)z%(py0)s is %(py3)sÚsuccessr   r   r   r   r   Úreward)zU%(py2)s
{%(py2)s = %(py0)s.current_act
} == %(py6)s
{%(py6)s = %(py4)s.ACT_I_HUNGER
}Ústory_stater   )zT%(py2)s
{%(py2)s = %(py0)s.current_stage
} == %(py6)s
{%(py6)s = %(py4)s.MENDICANT
}r   Újournal_01_chiec_bat_vo©Úin©z<%(py1)s in %(py5)s
{%(py5)s = %(py3)s.unlocked_journal_ids
}©Úpy1r   r   úassert %(py7)sr3   )Úaccept_questr   r   r   r   r   r   r   Úget_player_questÚstatusr   ÚIN_PROGRESSr   Úrecord_killÚ	COMPLETEDÚclaim_quest_rewardÚget_player_story_stateÚcurrent_actr   ÚACT_I_HUNGERÚcurrent_stager   Ú	MENDICANTÚunlocked_journal_ids)r    r'   r!   r   r0   r#   Ú@py_assert4Ú@py_assert6Ú@py_assert8Ú@py_format10r7   Ú@py_assert5Ú@py_assert3Ú@py_format7Ú@py_format9rB   rC   Ú_r"   r$   r%   rD   Ú@py_assert0Ú@py_format8s                           r&   Útest_act1_hunger_survivalz4TestBeggarQuestProgression.test_act1_hunger_survival    s¢  € Ø$Ñˆ�(Ø$ˆ	ð Ô$ÐdÐ0SÐdÐbcÐdÐ$Ð$ YÐ0SÐbcÐdÑdÔdÐdÐdÐdÐdÐdÕdÔdÑdÔdÐdÐdÕdÔdˆxÑdÔdÐdÕdÔdˆxÑdÔdÐdÐdÕdÔdÐ$ÑdÔdÐdÕdÔdÑdÔdÐdÐdÕdÔd YÑdÔdÐdÕdÔd YÑdÔdÐdÐdÕdÔdÐ0SÑdÔdÕdÔdÐbcÑdÔdÕdÔdÐdÑdÔdÐdÐdÑdÐdÕdÕdÔdÐdÑdÔdÑdÔdÐdÐdÐdÐdÐdÐdÐdÐdÐdØ×)Ò)¨)Ð5XÑYÔYˆØŒ|Ð6�{Ô6Ð6ˆ|Ð6Ò6Ð6Ð6Ð6Õ6Ô6Ð6Ð6Ð6Ð6ˆ|Ð6Ð6Ñ6Ô6Ð6Õ6Ô6Ñ6Ô6Ð6Ð6Õ6Ô6ˆuÑ6Ô6Ð6Õ6Ô6ˆuÑ6Ô6Ð6Ð6Õ6Ô6ˆ|Ñ6Ô6Ð6Õ6Ô6Ñ6Ô6Ð6Ð6Õ6Ô6�{Ñ6Ô6Ð6Õ6Ô6�{Ñ6Ô6Ð6Ð6Õ6Ô6Ð6Ñ6Ô6Ð6Ð6Ñ6Ð6Ð6Ð6Ð6Ð6Ñ6Ð6Õ6Õ6Ô6Ð6Ñ6Ô6Ñ6Ô6Ð6Ð6Ð6Ð6Ð6Ð6Ð6ð 	×Ò˜YÐ(>ÀaÐÑHÔHÐHØ×)Ò)¨)Ð5XÑYÔYˆØŒ|Ð4�{Ô4Ð4ˆ|Ð4Ò4Ð4Ð4Ð4Õ4Ô4Ð4Ð4Ð4Ð4ˆ|Ð4Ð4Ñ4Ô4Ð4Õ4Ô4Ñ4Ô4Ð4Ð4Õ4Ô4ˆuÑ4Ô4Ð4Õ4Ô4ˆuÑ4Ô4Ð4Ð4Õ4Ô4ˆ|Ñ4Ô4Ð4Õ4Ô4Ñ4Ô4Ð4Ð4Õ4Ô4�{Ñ4Ô4Ð4Õ4Ô4�{Ñ4Ô4Ð4Ð4Õ4Ô4Ð4Ñ4Ô4Ð4Ð4Ñ4Ð4Ð4Ð4Ð4Ð4Ñ4Ð4Õ4Õ4Ô4Ð4Ñ4Ô4Ñ4Ô4Ð4Ð4Ð4Ð4Ð4Ð4Ð4ð &×8Ò8¸ÐDgÑhÔhÑˆ�˜ØÐˆw˜$ˆÐÐÐÕÔÐÐÐÐˆw˜$ÐÑÔÐÕÔÑÔÐÐÕÔˆwÑÔÐÕÔˆwÑÔÐÐÕÔ˜$ÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐØ!Ð!ˆv˜TÐ!Ð!Ð!Ð!Õ!Ô!Ð!Ð!Ð!Ð!ˆv˜TÐ!Ñ!Ô!Ð!Õ!Ô!Ñ!Ô!Ð!Ð!Õ!Ô!ˆvÑ!Ô!Ð!Õ!Ô!ˆvÑ!Ô!Ð!Ð!Õ!Ô!˜TÑ!Ô!Ð!Ð!Ñ!Ð!Ð!Ð!Ð!Ð!Ñ!Ð!Õ!Õ!Ô!Ð!Ñ!Ô!Ñ!Ô!Ð!Ð!Ð!Ð!Ð!à×5Ò5°iÑ@Ô@ˆØÔ&Ð?­(Ô*?Ð?Ð&Ð*?Ò?Ð?Ð?Ð?Õ?Ô?Ð?Ð?Ð?Ð?Ð&Ð*?Ð?Ñ?Ô?Ð?Õ?Ô?Ñ?Ô?Ð?Ð?Õ?Ô?ˆ{Ñ?Ô?Ð?Õ?Ô?ˆ{Ñ?Ô?Ð?Ð?Õ?Ô?Ð&Ñ?Ô?Ð?Õ?Ô?Ñ?Ô?Ð?Ð?Õ?Ô?­(Ñ?Ô?Ð?Õ?Ô?­(Ñ?Ô?Ð?Ð?Õ?Ô?Ð*?Ñ?Ô?Ð?Ð?Ñ?Ð?Ð?Ð?Ð?Ð?Ñ?Ð?Õ?Õ?Ô?Ð?Ñ?Ô?Ñ?Ô?Ð?Ð?Ð?Ð?Ð?Ð?Ð?ØÔ(ÐGÕ,=Ô,GÐGÐ(Ð,GÒGÐGÐGÐGÕGÔGÐGÐGÐGÐGÐ(Ð,GÐGÑGÔGÐGÕGÔGÑGÔGÐGÐGÕGÔGˆ{ÑGÔGÐGÕGÔGˆ{ÑGÔGÐGÐGÕGÔGÐ(ÑGÔGÐGÕGÔGÑGÔGÐGÐGÕGÔGÕ,=ÑGÔGÐGÕGÔGÕ,=ÑGÔGÐGÐGÕGÔGÐ,GÑGÔGÐGÐGÑGÐGÐGÐGÐGÐGÑGÐGÕGÕGÔGÐGÑGÔGÑGÔGÐGÐGÐGÐGÐGÐGÐGØ(ÐL¨KÔ,LÐLÐ(Ð,LÐLÐLÐLÐLÕLÔLÐLÐLÐLÐLÐ(Ð,LÐLÑLÔLÕLÔLÐ(ÑLÔLÐLÕLÔLÑLÔLÐLÐLÕLÔL¨KÑLÔLÐLÕLÔL¨KÑLÔLÐLÐLÕLÔLÐ,LÑLÔLÐLÐLÑLÐLÐLÐLÐLÐLÑLÐLÕLÕLÔLÐLÑLÔLÑLÔLÐLÐLÐLÐLÐLÐLÐLÐLÐLr(   c           	      óª  — |\  }}d}|                      |dd¬¦  «         |                     |dd¬¦  «         |                     |d¦  «         |                      |dd	¬¦  «         |                     |d
¦  «         |                     |d¦  «         |                      |dd¬¦  «         |                     |dd¬¦  «         |                     |d¦  «         |j         }d}d} ||||¬¦  «        }|sïddt          j        ¦   «         v st          j        |¦  «        rt          j	        |¦  «        ndt          j	        |¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j	        |¦  «        ndt          j	        |¦  «        t          j	        |¦  «        t          j	        |¦  «        dœz  }	t          t          j        |	¦  «        ¦  «        ‚d x}x}x}}|                     |dd¬¦  «         |                     |d¦  «         |                     |¦  «        }
|
j        }t          j        }||k    }|sòt          j        d|fd||f¦  «        dt          j        ¦   «         v st          j        |
¦  «        rt          j	        |
¦  «        ndt          j	        |¦  «        dt          j        ¦   «         v st          j        t          ¦  «        rt          j	        t          ¦  «        ndt          j	        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}}|
j        }t$          j        }||k    }|sòt          j        d|fd||f¦  «        dt          j        ¦   «         v st          j        |
¦  «        rt          j	        |
¦  «        ndt          j	        |¦  «        dt          j        ¦   «         v st          j        t$          ¦  «        rt          j	        t$          ¦  «        ndt          j	        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}}|
j        }d}||k    }|sªt          j        d|fd||f¦  «        dt          j        ¦   «         v st          j        |
¦  «        rt          j	        |
¦  «        ndt          j	        |¦  «        t          j	        |¦  «        d œz  }d!d"|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}}d#}|
j        }||v }|sªt          j        d$|fd%||f¦  «        t          j	        |¦  «        dt          j        ¦   «         v st          j        |
¦  «        rt          j	        |
¦  «        ndt          j	        |¦  «        d&œz  }d!d"|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}}d S )'NÚbeggar_hero_02r+   r,   r-   r=   r>   r?   Ú!quest_norm_02_khai_thong_dan_diené   Úmeridian_origin_dantianÚ!quest_norm_03_luyen_khi_hoa_thachÚcurrency_primal_chaos_stoneÚ quest_norm_04_diet_u_hon_kiem_noé   r/   r!   r0   r1   Úmob_trash_ghost_sword_thrallé
   r5   )zV%(py2)s
{%(py2)s = %(py0)s.current_act
} == %(py6)s
{%(py6)s = %(py4)s.ACT_II_MIASMA
}rD   r   r8   r;   r<   )zT%(py2)s
{%(py2)s = %(py0)s.current_stage
} == %(py6)s
{%(py6)s = %(py4)s.SCAVENGER
}r   u   Káº» MÃ³t XÆ°Æ¡ng BÃ¹n Ä�á»™c©z8%(py2)s
{%(py2)s = %(py0)s.reputation_title
} == %(py5)s©r   r2   r   rK   r3   Újournal_04_bun_ngap_ngang_ngucrF   rH   rI   )rL   rP   rR   Úrecord_meridian_unlockÚrecord_craftr   r   r   r   r   r   r   rS   rT   r   ÚACT_II_MIASMAr   rV   r   Ú	SCAVENGERÚreputation_titlerX   )r    r'   r!   r   r0   r#   rY   rZ   r[   r\   rD   r]   r^   r_   r`   r%   rc   rb   r"   s                      r&   Ú"test_act2_swamp_miasma_progressionz=TestBeggarQuestProgression.test_act2_swamp_miasma_progression8   s�  € Ø$Ñˆ�(Ø$ˆ	ð 	×Ò˜iÐ)LÐ[\ÐÑ]Ô]Ð]Ø×Ò˜YÐ(>ÀaÐÑHÔHÐHØ×#Ò# IÐ/RÑSÔSÐSà×Ò˜iÐ)LÐ[\ÐÑ]Ô]Ð]Ø×'Ò'¨	Ð3LÑMÔMÐMØ×#Ò# IÐ/RÑSÔSÐSà×Ò˜iÐ)LÐ[\ÐÑ]Ô]Ð]Ø×Ò˜iÐ)FÈaÐÑPÔPÐPØ×#Ò# IÐ/RÑSÔSÐSð Ô$ÐcÐ0RÐcÐabÐcÐ$Ð$ YÐ0RÐabÐcÑcÔcÐcÐcÐcÐcÐcÕcÔcÑcÔcÐcÐcÕcÔcˆxÑcÔcÐcÕcÔcˆxÑcÔcÐcÐcÕcÔcÐ$ÑcÔcÐcÕcÔcÑcÔcÐcÐcÕcÔc YÑcÔcÐcÕcÔc YÑcÔcÐcÐcÕcÔcÐ0RÑcÔcÕcÔcÐabÑcÔcÕcÔcÐcÑcÔcÐcÐcÑcÐcÕcÕcÔcÐcÑcÔcÑcÔcÐcÐcÐcÐcÐcÐcÐcÐcÐcØ×Ò˜YÐ(FÈbÐÑQÔQÐQØ×#Ò# IÐ/QÑRÔRÐRà×5Ò5°iÑ@Ô@ˆØÔ&Ð@­(Ô*@Ð@Ð&Ð*@Ò@Ð@Ð@Ð@Õ@Ô@Ð@Ð@Ð@Ð@Ð&Ð*@Ð@Ñ@Ô@Ð@Õ@Ô@Ñ@Ô@Ð@Ð@Õ@Ô@ˆ{Ñ@Ô@Ð@Õ@Ô@ˆ{Ñ@Ô@Ð@Ð@Õ@Ô@Ð&Ñ@Ô@Ð@Õ@Ô@Ñ@Ô@Ð@Ð@Õ@Ô@­(Ñ@Ô@Ð@Õ@Ô@­(Ñ@Ô@Ð@Ð@Õ@Ô@Ð*@Ñ@Ô@Ð@Ð@Ñ@Ð@Ð@Ð@Ð@Ð@Ñ@Ð@Õ@Õ@Ô@Ð@Ñ@Ô@Ñ@Ô@Ð@Ð@Ð@Ð@Ð@Ð@Ð@ØÔ(ÐGÕ,=Ô,GÐGÐ(Ð,GÒGÐGÐGÐGÕGÔGÐGÐGÐGÐGÐ(Ð,GÐGÑGÔGÐGÕGÔGÑGÔGÐGÐGÕGÔGˆ{ÑGÔGÐGÕGÔGˆ{ÑGÔGÐGÐGÕGÔGÐ(ÑGÔGÐGÕGÔGÑGÔGÐGÐGÕGÔGÕ,=ÑGÔGÐGÕGÔGÕ,=ÑGÔGÐGÐGÕGÔGÐ,GÑGÔGÐGÐGÑGÐGÐGÐGÐGÐGÑGÐGÕGÕGÔGÐGÑGÔGÑGÔGÐGÐGÐGÐGÐGÐGÐGØÔ+ÐNÐ/NÐNÐ+Ð/NÒNÐNÐNÐNÕNÔNÐNÐNÐNÐNÐ+Ð/NÐNÑNÔNÐNÕNÔNÑNÔNÐNÐNÕNÔNˆ{ÑNÔNÐNÕNÔNˆ{ÑNÔNÐNÐNÕNÔNÐ+ÑNÔNÕNÔNÐ/NÑNÔNÐNÐNÑNÐNÐNÐNÐNÐNÑNÐNÕNÕNÔNÐNÑNÔNÑNÔNÐNÐNÐNÐNÐNÐNÐNØ/ÐS°;Ô3SÐSÐ/Ð3SÐSÐSÐSÐSÕSÔSÐSÐSÐSÐSÐ/Ð3SÐSÑSÔSÕSÔSÐ/ÑSÔSÐSÕSÔSÑSÔSÐSÐSÕSÔS°;ÑSÔSÐSÕSÔS°;ÑSÔSÐSÐSÕSÔSÐ3SÑSÔSÐSÐSÑSÐSÐSÐSÐSÐSÑSÐSÕSÕSÔSÐSÑSÔSÑSÔSÐSÐSÐSÐSÐSÐSÐSÐSÐSr(   c           	      ó�  — |\  }}d}|                      |dd¬¦  «         |                     |dd¬¦  «         |                     |d¦  «         |                      |dd	¬¦  «         |                     |d
¦  «         |                     |d¦  «         |                      |dd¬¦  «         |                     |dd¬¦  «         |                     |d¦  «         |                      |dd¬¦  «         |                     |dd¬¦  «         |                     |d¦  «         |                      |dd¬¦  «         |                     |dd¬¦  «         |                     |d¦  «         |j         }d}d} ||||¬¦  «        }|sïddt          j        ¦   «         v st          j	        |¦  «        rt          j
        |¦  «        ndt          j
        |¦  «        dt          j        ¦   «         v st          j	        |¦  «        rt          j
        |¦  «        ndt          j
        |¦  «        t          j
        |¦  «        t          j
        |¦  «        dœz  }	t          t          j        |	¦  «        ¦  «        ‚d x}x}x}}|                     |dd¬¦  «         |                     |dd¬¦  «         |                     |d¦  «         |                     |¦  «        }
|
j        }t          j        }||k    }|sòt          j        d|fd||f¦  «        dt          j        ¦   «         v st          j	        |
¦  «        rt          j
        |
¦  «        ndt          j
        |¦  «        dt          j        ¦   «         v st          j	        t          ¦  «        rt          j
        t          ¦  «        ndt          j
        |¦  «        dœz  }d d!|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}}|j         }d"}d#} ||||¬¦  «        }|sïddt          j        ¦   «         v st          j	        |¦  «        rt          j
        |¦  «        ndt          j
        |¦  «        dt          j        ¦   «         v st          j	        |¦  «        rt          j
        |¦  «        ndt          j
        |¦  «        t          j
        |¦  «        t          j
        |¦  «        dœz  }	t          t          j        |	¦  «        ¦  «        ‚d x}x}x}}|                     |d$¦  «         |                     |d"¦  «         |                     |¦  «        }
|
j        }t          j        }||k    }|sòt          j        d|fd%||f¦  «        dt          j        ¦   «         v st          j	        |
¦  «        rt          j
        |
¦  «        ndt          j
        |¦  «        dt          j        ¦   «         v st          j	        t          ¦  «        rt          j
        t          ¦  «        ndt          j
        |¦  «        dœz  }d d!|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}}|j         }d&}d'} ||||¬¦  «        }|sïddt          j        ¦   «         v st          j	        |¦  «        rt          j
        |¦  «        ndt          j
        |¦  «        dt          j        ¦   «         v st          j	        |¦  «        rt          j
        |¦  «        ndt          j
        |¦  «        t          j
        |¦  «        t          j
        |¦  «        dœz  }	t          t          j        |	¦  «        ¦  «        ‚d x}x}x}}|                     |d(d¬¦  «         |                     |d&¦  «         |j         }d)}d*} ||||¬¦  «        }|sïddt          j        ¦   «         v st          j	        |¦  «        rt          j
        |¦  «        ndt          j
        |¦  «        dt          j        ¦   «         v st          j	        |¦  «        rt          j
        |¦  «        ndt          j
        |¦  «        t          j
        |¦  «        t          j
        |¦  «        dœz  }	t          t          j        |	¦  «        ¦  «        ‚d x}x}x}}|                     |d+d¬¦  «         |                     |d)¦  «         |                     |¦  «        }
|
j        }t(          j        }||k    }|sòt          j        d|fd,||f¦  «        dt          j        ¦   «         v st          j	        |
¦  «        rt          j
        |
¦  «        ndt          j
        |¦  «        d-t          j        ¦   «         v st          j	        t(          ¦  «        rt          j
        t(          ¦  «        nd-t          j
        |¦  «        dœz  }d d!|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}}|
j        }t          j        }||k    }|sòt          j        d|fd.||f¦  «        dt          j        ¦   «         v st          j	        |
¦  «        rt          j
        |
¦  «        ndt          j
        |¦  «        dt          j        ¦   «         v st          j	        t          ¦  «        rt          j
        t          ¦  «        ndt          j
        |¦  «        dœz  }d d!|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}}|
j        }d/}||k    }|sªt          j        d|fd0||f¦  «        dt          j        ¦   «         v st          j	        |
¦  «        rt          j
        |
¦  «        ndt          j
        |¦  «        t          j
        |¦  «        d1œz  }d2d3|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}}d S )4NÚbeggar_hero_03r+   r,   r-   r=   r>   r?   rg   rh   ri   rj   rk   rl   rm   rn   ro   Ú"quest_norm_05_khai_mo_van_gioi_cacÚaction_vault_instant_buyoutÚquest_epic_01_phong_ma_co_trané   r/   r!   r0   r1   Úboss_black_dragon_demonÚcraft_rare_gearr5   )zW%(py2)s
{%(py2)s = %(py0)s.current_stage
} == %(py6)s
{%(py6)s = %(py4)s.BONE_WARRIOR
}rD   r   r8   r;   r<   Ú#quest_epic_02_nghich_menh_dai_huyeté(   Úmeridian_keystone_unbreakable)zX%(py2)s
{%(py2)s = %(py0)s.current_stage
} == %(py6)s
{%(py6)s = %(py4)s.PRIMAL_HUNTER
}Ú$quest_epic_03_luyen_che_thai_hu_kinhé2   Úaction_mirror_artifact_cloneÚ'quest_epic_04_van_gioi_than_ma_tranh_baé<   Úboss_flame_demon_lord)zX%(py2)s
{%(py2)s = %(py0)s.current_act
} == %(py6)s
{%(py6)s = %(py4)s.ACT_V_SOVEREIGN
}r   )z\%(py2)s
{%(py2)s = %(py0)s.current_stage
} == %(py6)s
{%(py6)s = %(py4)s.SOVEREIGN_OUTCAST
}u#   BÃ¡ Chá»§ Tá»‘i Cao CÃµi LÆ°u Ä�Ã yrp   rq   rK   r3   )rL   rP   rR   rs   rt   Úrecord_actionr   r   r   r   r   r   r   rS   rV   r   ÚBONE_WARRIORr   ÚPRIMAL_HUNTERrT   r   ÚACT_V_SOVEREIGNÚSOVEREIGN_OUTCASTrw   )r    r'   r!   r   r0   r#   rY   rZ   r[   r\   rD   r]   r^   r_   r`   r%   rc   s                    r&   Ú*test_full_progression_to_sovereign_outcastzETestBeggarQuestProgression.test_full_progression_to_sovereign_outcastT   sß  € Ø$Ñˆ�(Ø$ˆ	ð 	×Ò˜iÐ)LÐ[\ÐÑ]Ô]Ð]Ø×Ò˜YÐ(>ÀaÐÑHÔHÐHØ×#Ò# IÐ/RÑSÔSÐSð 	×Ò˜iÐ)LÐ[\ÐÑ]Ô]Ð]Ø×'Ò'¨	Ð3LÑMÔMÐMØ×#Ò# IÐ/RÑSÔSÐSð 	×Ò˜iÐ)LÐ[\ÐÑ]Ô]Ð]Ø×Ò˜iÐ)FÈaÐÑPÔPÐPØ×#Ò# IÐ/RÑSÔSÐSð 	×Ò˜iÐ)KÐZ[ÐÑ\Ô\Ð\Ø×Ò˜YÐ(FÈbÐÑQÔQÐQØ×#Ò# IÐ/QÑRÔRÐRð 	×Ò˜iÐ)MÐ\^ÐÑ_Ô_Ð_Ø×Ò˜yÐ*GÈqÐÑQÔQÐQØ×#Ò# IÐ/SÑTÔTÐTð Ô$ÐbÐ0PÐbÐ_aÐbÐ$Ð$ YÐ0PÐ_aÐbÑbÔbÐbÐbÐbÐbÐbÕbÔbÑbÔbÐbÐbÕbÔbˆxÑbÔbÐbÕbÔbˆxÑbÔbÐbÐbÕbÔbÐ$ÑbÔbÐbÕbÔbÑbÔbÐbÐbÕbÔb YÑbÔbÐbÕbÔb YÑbÔbÐbÐbÕbÔbÐ0PÑbÔbÕbÔbÐ_aÑbÔbÕbÔbÐbÑbÔbÐbÐbÑbÐbÕbÕbÔbÐbÑbÔbÑbÔbÐbÐbÐbÐbÐbÐbÐbÐbÐbØ×Ò˜YÐ(AÈÐÑKÔKÐKØ×Ò˜iÐ):À!ÐÑDÔDÐDØ×#Ò# IÐ/OÑPÔPÐPà×5Ò5°iÑ@Ô@ˆØÔ(ÐJÕ,=Ô,JÐJÐ(Ð,JÒJÐJÐJÐJÕJÔJÐJÐJÐJÐJÐ(Ð,JÐJÑJÔJÐJÕJÔJÑJÔJÐJÐJÕJÔJˆ{ÑJÔJÐJÕJÔJˆ{ÑJÔJÐJÐJÕJÔJÐ(ÑJÔJÐJÕJÔJÑJÔJÐJÐJÕJÔJÕ,=ÑJÔJÐJÕJÔJÕ,=ÑJÔJÐJÐJÕJÔJÐ,JÑJÔJÐJÐJÑJÐJÐJÐJÐJÐJÑJÐJÕJÕJÔJÐJÑJÔJÑJÔJÐJÐJÐJÐJÐJÐJÐJð Ô$ÐgÐ0UÐgÐdfÐgÐ$Ð$ YÐ0UÐdfÐgÑgÔgÐgÐgÐgÐgÐgÕgÔgÑgÔgÐgÐgÕgÔgˆxÑgÔgÐgÕgÔgˆxÑgÔgÐgÐgÕgÔgÐ$ÑgÔgÐgÕgÔgÑgÔgÐgÐgÕgÔg YÑgÔgÐgÕgÔg YÑgÔgÐgÐgÕgÔgÐ0UÑgÔgÕgÔgÐdfÑgÔgÕgÔgÐgÑgÔgÐgÐgÑgÐgÕgÕgÔgÐgÑgÔgÑgÔgÐgÐgÐgÐgÐgÐgÐgÐgÐgØ×'Ò'¨	Ð3RÑSÔSÐSØ×#Ò# IÐ/TÑUÔUÐUà×5Ò5°iÑ@Ô@ˆØÔ(ÐKÕ,=Ô,KÐKÐ(Ð,KÒKÐKÐKÐKÕKÔKÐKÐKÐKÐKÐ(Ð,KÐKÑKÔKÐKÕKÔKÑKÔKÐKÐKÕKÔKˆ{ÑKÔKÐKÕKÔKˆ{ÑKÔKÐKÐKÕKÔKÐ(ÑKÔKÐKÕKÔKÑKÔKÐKÐKÕKÔKÕ,=ÑKÔKÐKÕKÔKÕ,=ÑKÔKÐKÐKÕKÔKÐ,KÑKÔKÐKÐKÑKÐKÐKÐKÐKÐKÑKÐKÕKÕKÔKÐKÑKÔKÑKÔKÐKÐKÐKÐKÐKÐKÐKð Ô$ÐhÐ0VÐhÐegÐhÐ$Ð$ YÐ0VÐegÐhÑhÔhÐhÐhÐhÐhÐhÕhÔhÑhÔhÐhÐhÕhÔhˆxÑhÔhÐhÕhÔhˆxÑhÔhÐhÐhÕhÔhÐ$ÑhÔhÐhÕhÔhÑhÔhÐhÐhÕhÔh YÑhÔhÐhÕhÔh YÑhÔhÐhÐhÕhÔhÐ0VÑhÔhÕhÔhÐegÑhÔhÕhÔhÐhÑhÔhÐhÐhÑhÐhÕhÕhÔhÐhÑhÔhÑhÔhÐhÐhÐhÐhÐhÐhÐhÐhÐhØ×Ò˜yÐ*HÐPQÐÑRÔRÐRØ×#Ò# IÐ/UÑVÔVÐVàÔ$ÐkÐ0YÐkÐhjÐkÐ$Ð$ YÐ0YÐhjÐkÑkÔkÐkÐkÐkÐkÐkÕkÔkÑkÔkÐkÐkÕkÔkˆxÑkÔkÐkÕkÔkˆxÑkÔkÐkÐkÕkÔkÐ$ÑkÔkÐkÕkÔkÑkÔkÐkÐkÕkÔk YÑkÔkÐkÕkÔk YÑkÔkÐkÐkÕkÔkÐ0YÑkÔkÕkÔkÐhjÑkÔkÕkÔkÐkÑkÔkÐkÐkÑkÐkÕkÕkÔkÐkÑkÔkÑkÔkÐkÐkÐkÐkÐkÐkÐkÐkÐkØ×Ò˜YÐ(?ÀqÐÑIÔIÐIØ×#Ò# IÐ/XÑYÔYÐYð ×5Ò5°iÑ@Ô@ˆØÔ&ÐB­(Ô*BÐBÐ&Ð*BÒBÐBÐBÐBÕBÔBÐBÐBÐBÐBÐ&Ð*BÐBÑBÔBÐBÕBÔBÑBÔBÐBÐBÕBÔBˆ{ÑBÔBÐBÕBÔBˆ{ÑBÔBÐBÐBÕBÔBÐ&ÑBÔBÐBÕBÔBÑBÔBÐBÐBÕBÔB­(ÑBÔBÐBÕBÔB­(ÑBÔBÐBÐBÕBÔBÐ*BÑBÔBÐBÐBÑBÐBÐBÐBÐBÐBÑBÐBÕBÕBÔBÐBÑBÔBÑBÔBÐBÐBÐBÐBÐBÐBÐBØÔ(ÐOÕ,=Ô,OÐOÐ(Ð,OÒOÐOÐOÐOÕOÔOÐOÐOÐOÐOÐ(Ð,OÐOÑOÔOÐOÕOÔOÑOÔOÐOÐOÕOÔOˆ{ÑOÔOÐOÕOÔOˆ{ÑOÔOÐOÐOÕOÔOÐ(ÑOÔOÐOÕOÔOÑOÔOÐOÐOÕOÔOÕ,=ÑOÔOÐOÕOÔOÕ,=ÑOÔOÐOÐOÕOÔOÐ,OÑOÔOÐOÐOÑOÐOÐOÐOÐOÐOÑOÐOÕOÕOÔOÐOÑOÔOÑOÔOÐOÐOÐOÐOÐOÐOÐOØÔ+ÐTÐ/TÐTÐ+Ð/TÒTÐTÐTÐTÕTÔTÐTÐTÐTÐTÐ+Ð/TÐTÑTÔTÐTÕTÔTÑTÔTÐTÐTÕTÔTˆ{ÑTÔTÐTÕTÔTˆ{ÑTÔTÐTÐTÕTÔTÐ+ÑTÔTÕTÔTÐ/TÑTÔTÐTÐTÑTÐTÐTÐTÐTÐTÑTÐTÕTÕTÔTÐTÑTÔTÑTÔTÐTÐTÐTÐTÐTÐTÐTÐTÐTr(   )Ú__name__Ú
__module__Ú__qualname__ÚpytestÚfixtureÚtupler   r   r'   rd   rx   r�   © r(   r&   r
   r
      sá   € € € € € Ø„^ð"˜˜{¨OÐ;Ô<ð "ð "ð "ñ „^ð"ðM°°{ÀOÐ7SÔ1Tð MÐY]ð Mð Mð Mð Mð0T¸%ÀÈ_Ð@\Ô:]ð TÐbfð Tð Tð Tð Tð8;UÀ%ÈÐUdÐHdÔBeð ;UÐjnð ;Uð ;Uð ;Uð ;Uð ;Uð ;Ur(   r
   )Ú__doc__Úbuiltinsr   Ú_pytest.assertion.rewriteÚ	assertionÚrewriter   r“   Úserver.world.quest_enginer   r   r   Úserver.world.storyline_typesr   r   Úserver.world.storyline_enginer   r
   r–   r(   r&   ú<module>rŸ      sè   ððð ð € € € € € € € € € € € € €€€€ðð ð ð ð ð ð ð ð ð ð
ð ð ð ð ð ð ð ð :Ð 9Ð 9Ð 9Ð 9Ð 9ðwUð wUð wUð wUð wUñ wUô wUð wUð wUð wUr(   