§
    ‰®½j™"  ã                   óÄ   — 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 ddlmZmZ ej        defd„¦   «         Zd	ed
ededdfd„Z G d„ d¦  «        ZdS )aÌ  
Unit Test Suite for FreeExile Map Dungeon, Boss Arena, and Quest Integration.
Validates:
1. Canonical registration of expanded Map & Boss Room Quests (Norm 06-08, Hidden 05, Epic 05).
2. Quest progress recording: room exploration, fog clearance, obstacle destruction, and boss gate breaching.
3. End-to-end procedural map generation, boss arena breach, and quest reward claiming.
4. Edge cases: partial completion, prerequisite gating, zero-trust validation.
é    N)Úcreate_default_quest_engineÚQuestStatusÚQuestEngine)ÚProceduralMapEngineÚverify_path_connectivity)ÚWarFogEngine)ÚTileTypeÚObstacleTypeÚreturnc                  ó   — t          ¦   «         S )N)r   © ó    úGC:\Projects\FreeExile\tests\unit\test_map_quest_and_boss_integration.pyÚquest_enginer      s   € å&Ñ(Ô(Ð(r   ÚengineÚ	player_idÚquest_idc           	      óä   — |                       |¦  «         |                      |¦  «        }|rCd„ |j        D ¦   «         }ddlm}  |||t
          j        |ddd¬¦  «        | j        |         |<   d S d S )Nc                 óN   — i | ]"}|j         |                     |j        ¦  «        “Œ#S r   )Úobjective_idÚwith_incrementÚtarget_count)Ú.0Úobjs     r   ú
<dictcomp>z'mark_prereq_claimed.<locals>.<dictcomp>!   s.   € ÐfÐfÐfÈc�3Ô# S×%7Ò%7¸Ô8HÑ%IÔ%IÐfÐfÐfr   r   )ÚPlayerQuestProgressg      ð?g       @g      @)r   r   ÚstatusÚ
objectivesÚ
started_atÚcompleted_atÚ
claimed_at)Úinitialize_playerÚget_quest_definitionr   Úserver.world.quest_typesr   r   ÚCLAIMEDÚ_player_quests)r   r   r   Úq_defÚobj_mapr   s         r   Úmark_prereq_claimedr)      s¦   € Ø
×Ò˜YÑ'Ô'Ð'Ø×'Ò'¨Ñ1Ô1€EØð 
ØfÐfÐUZÔUeÐfÑfÔfˆØ@Ð@Ð@Ð@Ð@Ð@Ø5HÐ5HØØÝÔ&ØØØØð6
ñ 6
ô 6
ˆÔ˜iÔ(¨Ñ2Ð2Ð2ð
ð 
r   c                   óJ   — e Zd Zdefd„Zdefd„Zdefd„Zdefd„Zdefd„ZdS )ÚTestMapQuestAndBossIntegrationr   c           	      óÔ  — g d¢}|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  }t          j        d|› d�¦  «        d	z   d
|iz  }t          t          j	        |¦  «        ¦  «        ‚dx}}|j
        }t          |¦  «        }	d}
|	|
k    }|�st          j        d|fd|	|
f¦  «        dt          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        nddt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |	¦  «        t          j        |
¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚dx}x}	x}}
|j        }|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        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚dx}x}x}}�ŒádS )zTVerifies expanded map exploration and boss arena quests exist in canonical registry.)Úquest_norm_06_kham_pha_dia_daoÚ#quest_norm_07_pha_huy_phong_an_bossÚ$quest_norm_08_chinh_phuc_dai_bi_canhÚ$quest_hidden_05_mat_that_cuoi_ban_doÚquest_epic_05_chua_te_vuc_thamN©úis not©z%(py0)s is not %(py3)sr'   ©Úpy0Úpy3zQuest z missing from registryz
>assert %(py5)sÚpy5é   )ú>=)zP%(py5)s
{%(py5)s = %(py0)s(%(py3)s
{%(py3)s = %(py1)s.objectives
})
} >= %(py8)sÚlen)r6   Úpy1r7   r8   Úpy8zassert %(py10)sÚpy10r   )ú>)zF%(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.reward
}.exp
} > %(py7)s)r6   Úpy2Úpy4Úpy7zassert %(py9)sÚpy9)r#   Ú
@pytest_arÚ_call_reprcompareÚ@py_builtinsÚlocalsÚ_should_repr_global_nameÚ	_safereprÚ_format_assertmsgÚAssertionErrorÚ_format_explanationr   r;   ÚrewardÚexp)Úselfr   Úexpected_quest_idsÚq_idr'   Ú@py_assert2Ú@py_assert1Ú@py_format4Ú@py_format6Ú@py_assert4Ú@py_assert7Ú@py_assert6Ú@py_format9Ú@py_format11Ú@py_assert3Ú@py_assert5Ú@py_format8Ú@py_format10s                     r   Ú-test_canonical_map_and_boss_quests_registeredzLTestMapQuestAndBossIntegration.test_canonical_map_and_boss_quests_registered/   s^  € ð
ð 
ð 
Ðð 'ð 	(ñ 	(ˆDØ ×5Ò5°dÑ;Ô;ˆEØ $ÐK�5 Ð$ÐKÐKÐKÕKÔKÐKÐKÐKÐK�5 ÐKÑKÔKÐKÕKÔKÑKÔKÐKÐKÕKÔK�5ÑKÔKÐKÕKÔK�5ÑKÔKÐKÐKÕKÔK ÑKÔKÐKÐKÑKÐKÕKÔKÐ&K¨tÐ&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ØÔ'Ð-•3Ð'Ñ(Ô(Ð-¨AÐ-Ð(¨AÒ-Ð-Ð-Ñ-Õ-Ô-Ð-Ð-Ð-Ð-Ð(¨AÐ-Ñ-Ô-Ð-Õ-Ô-Ñ-Ô-Ð-Ð-Õ-Ô-•3Ñ-Ô-Ð-Õ-Ô-•3Ñ-Ô-Ð-Ð-Ð-Õ-Ô-Ñ-Ô-Ð-Ð-Õ-Ô-�uÑ-Ô-Ð-Õ-Ô-�uÑ-Ô-Ð-Ð-Õ-Ô-Ð'Ñ-Ô-Õ-Ô-Ð(Ñ-Ô-Õ-Ô-¨AÑ-Ô-Ð-Ð-Ñ-Ð-Ð-Ð-Ð-Ð-Ñ-Ð-Õ-Õ-Ô-Ð-Ñ-Ô-Ñ-Ô-Ð-Ð-Ð-Ð-Ð-Ð-Ð-Ð-Ð-Ø”<Ð'�<Ô#Ð' aÐ'Ð# aÒ'Ð'Ð'Ð'Õ'Ô'Ð'Ð'Ð'Ð'Ð# aÐ'Ñ'Ô'Ð'Õ'Ô'Ñ'Ô'Ð'Ð'Õ'Ô'�5Ñ'Ô'Ð'Õ'Ô'�5Ñ'Ô'Ð'Ð'Õ'Ô'�<Ñ'Ô'Õ'Ô'Ð#Ñ'Ô'Õ'Ô' aÑ'Ô'Ð'Ð'Ñ'Ð'Ð'Ð'Ð'Ð'Ñ'Ð'Õ'Õ'Ô'Ð'Ñ'Ô'Ñ'Ô'Ð'Ð'Ð'Ð'Ð'Ð'Ð'Ð'Ð'Ñ'ð		(ð 	(r   c           	      ó"  — d}|                      |d¬¦  «         t          ||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
}	||	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}}|                     |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¬¦  «         |j        d         }|j        }	d}|	|u }|st          j        d|fd|	|f¦  «        t          j        |¦  «        t          j        |	¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d
x}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 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        }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}}|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
S ).zKTests progressing and completing Norm 06 (room exploration + fog clearing).Úexplorer_hero_01é   ©Úplayer_levelÚ"quest_norm_05_khai_mo_van_gioi_cacr-   úmassert %(py9)s
{%(py9)s = %(py2)s
{%(py2)s = %(py0)s.accept_quest
}(%(py3)s, %(py5)s, player_level=%(py7)s)
}r   r   ©r6   r@   r7   r8   rB   rC   Nr2   r4   Úqr5   úassert %(py5)sr8   ©ú==)zO%(py2)s
{%(py2)s = %(py0)s.status
} == %(py6)s
{%(py6)s = %(py4)s.IN_PROGRESS
}r   ©r6   r@   rA   Úpy6úassert %(py8)sr=   Úroom_procedural_dungeoné   ©Úcountr9   Úobj_norm_06_explore_roomsT©Úis©z4%(py3)s
{%(py3)s = %(py1)s.is_completed
} is %(py6)s©r<   r7   rm   Úfog_procedural_dungeoné(   ©Úpercent©zM%(py2)s
{%(py2)s = %(py0)s.status
} == %(py6)s
{%(py6)s = %(py4)s.COMPLETED
}©z%(py0)s is %(py3)sÚokÚrewu   Káº» Soi SÃ¡ng Ä�á»‹a Ä�áº¡o©z-%(py2)s
{%(py2)s = %(py0)s.title
} == %(py5)s©r6   r@   r8   úassert %(py7)srB   é   ©z7%(py2)s
{%(py2)s = %(py0)s.meridian_points
} == %(py5)s)r"   r)   Úaccept_questrF   rG   rD   rH   rI   rK   rL   Úget_player_questrE   r   r   ÚIN_PROGRESSÚrecord_room_explorationr   Úis_completedÚrecord_fog_clearanceÚ	COMPLETEDÚclaim_quest_rewardÚtitleÚmeridian_points)rO   r   r   rS   rV   rX   Ú@py_assert8r^   rh   rR   rT   rU   r\   r[   Ú@py_format7rY   Ú@py_assert0r~   r   Ú_r]   s                        r   Ú3test_room_exploration_and_fog_clearance_progressionzRTestMapQuestAndBossIntegration.test_room_exploration_and_fog_clearance_progression>   s4  € à&ˆ	Ø×&Ò& y¸rÐ&ÑBÔBÐBÝ˜L¨)Ð5YÑZÔZÐZð Ô(ÐfÐ4TÐfÐceÐfÐ(Ð(¨Ð4TÐceÐfÑfÔfÐfÐfÐfÐfÐfÕfÔfÑfÔfÐfÐfÕfÔfˆ|ÑfÔfÐfÕfÔfˆ|ÑfÔfÐfÐfÕfÔfÐ(ÑfÔfÐfÕfÔfÑfÔfÐfÐfÕfÔf¨ÑfÔfÐfÕfÔf¨ÑfÔfÐfÐfÕfÔfÐ4TÑfÔfÕfÔfÐceÑfÔfÕfÔfÐfÑfÔfÐfÐfÑfÐfÕfÕfÔfÐfÑfÔfÑfÔfÐfÐfÐfÐfÐfÐfÐfÐfÐfØ×)Ò)¨)Ð5UÑVÔVˆØÐˆq˜ˆ}ÐÐÐÕÔÐÐÐÐˆq˜ÐÑÔÐÕÔÑÔÐÐÕÔˆqÑÔÐÕÔˆqÑÔÐÐÕÔ˜ÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐØŒxÐ2�;Ô2Ð2ˆxÐ2Ò2Ð2Ð2Ð2Õ2Ô2Ð2Ð2Ð2Ð2ˆxÐ2Ð2Ñ2Ô2Ð2Õ2Ô2Ñ2Ô2Ð2Ð2Õ2Ô2ˆqÑ2Ô2Ð2Õ2Ô2ˆqÑ2Ô2Ð2Ð2Õ2Ô2ˆxÑ2Ô2Ð2Õ2Ô2Ñ2Ô2Ð2Ð2Õ2Ô2�;Ñ2Ô2Ð2Õ2Ô2�;Ñ2Ô2Ð2Ð2Õ2Ô2Ð2Ñ2Ô2Ð2Ð2Ñ2Ð2Ð2Ð2Ð2Ð2Ñ2Ð2Õ2Õ2Ô2Ð2Ñ2Ô2Ñ2Ô2Ð2Ð2Ð2Ð2Ð2Ð2Ð2ð 	×,Ò,¨YÐ8QÐYZÐ,Ñ[Ô[Ð[ØŒxÐ2�;Ô2Ð2ˆxÐ2Ò2Ð2Ð2Ð2Õ2Ô2Ð2Ð2Ð2Ð2ˆxÐ2Ð2Ñ2Ô2Ð2Õ2Ô2Ñ2Ô2Ð2Ð2Õ2Ô2ˆqÑ2Ô2Ð2Õ2Ô2ˆqÑ2Ô2Ð2Ð2Õ2Ô2ˆxÑ2Ô2Ð2Õ2Ô2Ñ2Ô2Ð2Ð2Õ2Ô2�;Ñ2Ô2Ð2Õ2Ô2�;Ñ2Ô2Ð2Ð2Õ2Ô2Ð2Ñ2Ô2Ð2Ð2Ñ2Ð2Ð2Ð2Ð2Ð2Ñ2Ð2Õ2Õ2Ô2Ð2Ñ2Ô2Ñ2Ô2Ð2Ð2Ð2Ð2Ð2Ð2Ð2Ø×,Ò,¨YÐ8QÐYZÐ,Ñ[Ô[Ð[ØŒ|Ð7Ô8ÐMÐ8ÔEÐMÈÐMÐEÈÐMÐMÐMÐMÕMÔMÐMÐMÐMÐMÐEÈÐMÑMÔMÕMÔMÐ8ÑMÔMÕMÔMÐEÑMÔMÕMÔMÈÑMÔMÐMÐMÑMÐMÐMÐMÐMÐMÑMÐMÕMÕMÔMÐMÑMÔMÑMÔMÐMÐMÐMÐMÐMÐMÐMÐMÐMØŒxÐ2�;Ô2Ð2ˆxÐ2Ò2Ð2Ð2Ð2Õ2Ô2Ð2Ð2Ð2Ð2ˆxÐ2Ð2Ñ2Ô2Ð2Õ2Ô2Ñ2Ô2Ð2Ð2Õ2Ô2ˆqÑ2Ô2Ð2Õ2Ô2ˆqÑ2Ô2Ð2Ð2Õ2Ô2ˆxÑ2Ô2Ð2Õ2Ô2Ñ2Ô2Ð2Ð2Õ2Ô2�;Ñ2Ô2Ð2Õ2Ô2�;Ñ2Ô2Ð2Ð2Õ2Ô2Ð2Ñ2Ô2Ð2Ð2Ñ2Ð2Ð2Ð2Ð2Ð2Ñ2Ð2Õ2Õ2Ô2Ð2Ñ2Ô2Ñ2Ô2Ð2Ð2Ð2Ð2Ð2Ð2Ð2ð 	×)Ò)¨)Ð5MÐWYÐ)ÑZÔZÐZØŒxÐ0�;Ô0Ð0ˆxÐ0Ò0Ð0Ð0Ð0Õ0Ô0Ð0Ð0Ð0Ð0ˆxÐ0Ð0Ñ0Ô0Ð0Õ0Ô0Ñ0Ô0Ð0Ð0Õ0Ô0ˆqÑ0Ô0Ð0Õ0Ô0ˆqÑ0Ô0Ð0Ð0Õ0Ô0ˆxÑ0Ô0Ð0Õ0Ô0Ñ0Ô0Ð0Ð0Õ0Ô0�;Ñ0Ô0Ð0Õ0Ô0�;Ñ0Ô0Ð0Ð0Õ0Ô0Ð0Ñ0Ô0Ð0Ð0Ñ0Ð0Ð0Ð0Ð0Ð0Ñ0Ð0Õ0Õ0Ô0Ð0Ñ0Ô0Ñ0Ô0Ð0Ð0Ð0Ð0Ð0Ð0Ð0ð "×4Ò4°YÐ@`ÑaÔa‰
ˆˆC�ØÐˆr�TˆzÐÐÐÕÔÐÐÐÐˆr�TÐÑÔÐÕÔÑÔÐÐÕÔˆrÑÔÐÕÔˆrÑÔÐÐÕÔ�TÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐØÐˆs˜$ˆÐÐÐÕÔÐÐÐÐˆs˜$ÐÑÔÐÕÔÑÔÐÐÕÔˆsÑÔÐÕÔˆsÑÔÐÐÕÔ˜$ÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐØŒyÐ:Ð:Ð:ˆyÐ:Ò:Ð:Ð:Ð:Õ:Ô:Ð:Ð:Ð:Ð:ˆyÐ:Ð:Ñ:Ô:Ð:Õ:Ô:Ñ:Ô:Ð:Ð:Õ:Ô:ˆsÑ:Ô:Ð:Õ:Ô:ˆsÑ:Ô:Ð:Ð:Õ:Ô:ˆyÑ:Ô:Õ:Ô:Ð:Ñ:Ô:Ð:Ð:Ñ:Ð:Ð:Ð:Ð:Ð:Ñ:Ð:Õ:Õ:Ô:Ð:Ñ:Ô:Ñ:Ô:Ð:Ð:Ð:Ð:Ð:Ð:Ð:ØÔ"Ð' aÐ'Ð" aÒ'Ð'Ð'Ð'Õ'Ô'Ð'Ð'Ð'Ð'Ð" aÐ'Ñ'Ô'Ð'Õ'Ô'Ñ'Ô'Ð'Ð'Õ'Ô'ˆsÑ'Ô'Ð'Õ'Ô'ˆsÑ'Ô'Ð'Ð'Õ'Ô'Ð"Ñ'Ô'Õ'Ô' aÑ'Ô'Ð'Ð'Ñ'Ð'Ð'Ð'Ð'Ð'Ñ'Ð'Õ'Õ'Ô'Ð'Ñ'Ô'Ñ'Ô'Ð'Ð'Ð'Ð'Ð'Ð'Ð'Ð'Ð'r   c           	      ó@  — d}|                      |d¬¦  «         t          ||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
}	||	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d¬¦  «         |j        d         }|j        }	d}|	|u }|st          j        d|fd|	|f¦  «        t          j        |¦  «        t          j        |	¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d
x}x}	x}}|                     |d¦  «         |j        d         }|j        }	d}|	|u }|st          j        d|fd|	|f¦  «        t          j        |¦  «        t          j        |	¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d
x}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¦  «        \  }}}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        }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
S ))zJTests progressing Norm 07 by destroying obstacles and breaching boss gate.Úbreacher_hero_02é   rc   r-   r.   rf   r   r   rg   Nr2   r4   rh   r5   ri   r8   Úobstacle_destructibleé   rq   Úobj_norm_07_destroy_obstaclesTrt   rv   rw   rn   r=   Úgate_boss_sealÚobj_norm_07_breach_gaterj   r|   r   rl   r}   r~   r   u   Káº» PhÃ¡ Cá»•ng BÃ­ Cáº£nhr€   r�   r‚   rB   )r"   r)   r…   rF   rG   rD   rH   rI   rK   rL   r†   rE   Úrecord_obstacle_destructionr   r‰   Úrecord_boss_gate_breachr   r   r‹   rŒ   r�   )rO   r   r   rS   rV   rX   r�   r^   rh   rR   rT   rU   r‘   r\   r�   rY   r[   r~   r   r’   r]   s                        r   Ú.test_obstacle_destruction_and_boss_gate_breachzMTestMapQuestAndBossIntegration.test_obstacle_destruction_and_boss_gate_breach\   sŸ  € à&ˆ	Ø×&Ò& y¸rÐ&ÑBÔBÐBÝ˜L¨)Ð5UÑVÔVÐVàÔ(ÐkÐ4YÐkÐhjÐkÐ(Ð(¨Ð4YÐ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ÔkÐkÕkÔkÑkÔkÐkÐkÕkÔk¨ÑkÔkÐkÕkÔk¨ÑkÔkÐkÐkÕkÔkÐ4YÑ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Ø×)Ò)¨)Ð5ZÑ[Ô[ˆØÐˆq˜ˆ}ÐÐÐÕÔÐÐÐÐˆq˜ÐÑÔÐÕÔÑÔÐÐÕÔˆqÑÔÐÕÔˆqÑÔÐÐÕÔ˜ÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐð 	×0Ò0°Ð<SÐ[\Ð0Ñ]Ô]Ð]ØŒ|Ð;Ô<ÐQÐ<ÔIÐQÈTÐQÐIÈTÐQÐQÐQÐQÕQÔQÐQÐQÐQÐQÐIÈTÐQÑQÔQÕQÔQÐ<ÑQÔQÕQÔQÐIÑQÔQÕQÔQÈTÑQÔQÐQÐQÑQÐQÐQÐQÐQÐQÑQÐQÕQÕQÔQÐQÑQÔQÑQÔQÐQÐQÐQÐQÐQÐQÐQÐQÐQð 	×,Ò,¨YÐ8HÑIÔIÐIØŒ|Ð5Ô6ÐKÐ6ÔCÐKÀtÐKÐCÀtÐKÐKÐKÐKÕKÔKÐKÐKÐKÐKÐCÀtÐKÑKÔKÕKÔKÐ6ÑKÔKÕKÔKÐCÑKÔKÕKÔKÀtÑ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ØŒxÐ0�;Ô0Ð0ˆxÐ0Ò0Ð0Ð0Ð0Õ0Ô0Ð0Ð0Ð0Ð0ˆxÐ0Ð0Ñ0Ô0Ð0Õ0Ô0Ñ0Ô0Ð0Ð0Õ0Ô0ˆqÑ0Ô0Ð0Õ0Ô0ˆqÑ0Ô0Ð0Ð0Õ0Ô0ˆxÑ0Ô0Ð0Õ0Ô0Ñ0Ô0Ð0Ð0Õ0Ô0�;Ñ0Ô0Ð0Õ0Ô0�;Ñ0Ô0Ð0Ð0Õ0Ô0Ð0Ñ0Ô0Ð0Ð0Ñ0Ð0Ð0Ð0Ð0Ð0Ñ0Ð0Õ0Õ0Ô0Ð0Ñ0Ô0Ñ0Ô0Ð0Ð0Ð0Ð0Ð0Ð0Ð0à!×4Ò4°YÐ@eÑfÔf‰
ˆˆC�ØÐˆr�TˆzÐÐÐÕÔÐÐÐÐˆr�TÐÑÔÐÕÔÑÔÐÐÕÔˆrÑÔÐÕÔˆrÑÔÐÐÕÔ�TÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐØÐˆs˜$ˆÐÐÐÕÔÐÐÐÐˆs˜$ÐÑÔÐÕÔÑÔÐÐÕÔˆsÑÔÐÕÔˆsÑÔÐÐÕÔ˜$ÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐØŒyÐ9Ð9Ð9ˆyÐ9Ò9Ð9Ð9Ð9Õ9Ô9Ð9Ð9Ð9Ð9ˆyÐ9Ð9Ñ9Ô9Ð9Õ9Ô9Ñ9Ô9Ð9Ð9Õ9Ô9ˆsÑ9Ô9Ð9Õ9Ô9ˆsÑ9Ô9Ð9Ð9Õ9Ô9ˆyÑ9Ô9Õ9Ô9Ð9Ñ9Ô9Ð9Ð9Ñ9Ð9Ð9Ð9Ð9Ð9Ñ9Ð9Õ9Õ9Ô9Ð9Ñ9Ô9Ñ9Ô9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9r   c           	      ó8  — d}|                      |d¬¦  «         t          ||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
}	||	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}}	t          dd¬¦  «        }|                     dd¬¦  «        }|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}}|j        }d
}||u}|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}}|j        }d
}||u}|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}	||	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        }d}||u }|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        d$         }|j        }	d}|	|u }|st          j        d|fd%|	|f¦  «        t          j        |¦  «        t          j        |	¦  «        t          j        |¦  «        d&œz  }d'd(|iz  }t          t          j	        |¦  «        ¦  «        ‚d
x}x}	x}}|                     |d)d*¬+¦  «         |j        }t0          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        t0          ¦  «        rt          j        t0          ¦  «        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¦  «        d0t          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd0t          j        |	¦  «        dœz  }
dd|
iz  }t          t          j	        |¦  «        ¦  «        ‚d
x}}	|j        }d1}||k    }|sªt          j        d|fd2||f¦  «        d0t          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd0t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d
x}x}}|j        }d3}||k    }|sªt          j        d|fd4||f¦  «        d0t          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd0t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d
x}x}}d
S )5zaFull closed-loop: ProceduralMapEngine generates 64x64 map, player breaches gate, completes quest.Údungeon_master_03éF   rc   Ú'quest_epic_04_van_gioi_than_ma_tranh_bar1   rf   r   r   rg   Nr2   r4   rh   r5   ri   r8   é@   )ÚwidthÚheightir ÚBLEACHED_BONE_CANYON)ÚseedÚbiome_idrj   )z-%(py2)s
{%(py2)s = %(py0)s.width
} == %(py5)sÚmap_datar�   r‚   rB   )z5%(py2)s
{%(py2)s = %(py0)s.boss_gate
} is not %(py5)s)z5%(py2)s
{%(py2)s = %(py0)s.boss_room
} is not %(py5)sTrt   r}   Ú	breach_ok)z:%(py2)s
{%(py2)s = %(py0)s.boss_gate_breached
} is %(py5)sÚgate_boss_seal_arenaÚobj_epic_05_breach_gaterv   rw   rn   r=   Úboss_black_dragon_demonr9   rq   r|   r   rl   r~   r   u    Hoang Vá»±c Tá»‘i Cao ChÃºa Tá»ƒr€   ry   r„   )r"   r)   r…   rF   rG   rD   rH   rI   rK   rL   r†   rE   r   Úgenerate_mapr¤   Ú	boss_gateÚ	boss_roomÚbreach_boss_gateÚboss_gate_breachedr�   r   r‰   Úrecord_killr   r   r‹   rŒ   r�   rŽ   )rO   r   r   rS   rV   rX   r�   r^   rh   rR   rT   rU   Ú
map_enginer©   r[   r]   rª   r‘   r\   r�   rY   r~   r   r’   s                           r   Ú4test_end_to_end_procedural_map_and_quest_closed_loopzSTestMapQuestAndBossIntegration.test_end_to_end_procedural_map_and_quest_closed_loopt   s=  € à'ˆ	Ø×&Ò& y¸rÐ&ÑBÔBÐBÝ˜L¨)Ð5^Ñ_Ô_Ð_ð Ô(ÐfÐ4TÐfÐceÐfÐ(Ð(¨Ð4TÐceÐfÑfÔfÐfÐfÐfÐfÐfÕfÔfÑfÔfÐfÐfÕfÔfˆ|ÑfÔfÐfÕfÔfˆ|ÑfÔfÐfÐfÕfÔfÐ(ÑfÔfÐfÕfÔfÑfÔfÐfÐfÕfÔf¨ÑfÔfÐfÕfÔf¨ÑfÔfÐfÐfÕfÔfÐ4TÑfÔfÕfÔfÐceÑfÔfÕfÔfÐfÑfÔfÐfÐfÑfÐfÕfÕfÔfÐfÑfÔfÑfÔfÐfÐfÐfÐfÐfÐfÐfÐfÐfØ×)Ò)¨)Ð5UÑVÔVˆØÐˆq˜ˆ}ÐÐÐÕÔÐÐÐÐˆq˜ÐÑÔÐÕÔÑÔÐÐÕÔˆqÑÔÐÕÔˆqÑÔÐÐÕÔ˜ÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐõ )¨r¸"Ð=Ñ=Ô=ˆ
Ø×*Ò*°ÐAWÐ*ÑXÔXˆàŒ~Ð# Ð#ˆ~ Ò#Ð#Ð#Ð#Õ#Ô#Ð#Ð#Ð#Ð#ˆ~ Ð#Ñ#Ô#Ð#Õ#Ô#Ñ#Ô#Ð#Ð#Õ#Ô#ˆxÑ#Ô#Ð#Õ#Ô#ˆxÑ#Ô#Ð#Ð#Õ#Ô#ˆ~Ñ#Ô#Õ#Ô# Ñ#Ô#Ð#Ð#Ñ#Ð#Ð#Ð#Ð#Ð#Ñ#Ð#Õ#Õ#Ô#Ð#Ñ#Ô#Ñ#Ô#Ð#Ð#Ð#Ð#Ð#Ð#Ð#ØÔ!Ð-¨Ð-Ð!¨Ð-Ð-Ð-Ð-Õ-Ô-Ð-Ð-Ð-Ð-Ð!¨Ð-Ñ-Ô-Ð-Õ-Ô-Ñ-Ô-Ð-Ð-Õ-Ô-ˆxÑ-Ô-Ð-Õ-Ô-ˆxÑ-Ô-Ð-Ð-Õ-Ô-Ð!Ñ-Ô-Õ-Ô-¨Ñ-Ô-Ð-Ð-Ñ-Ð-Ð-Ð-Ð-Ð-Ñ-Ð-Õ-Õ-Ô-Ð-Ñ-Ô-Ñ-Ô-Ð-Ð-Ð-Ð-Ð-Ð-Ð-ØÔ!Ð-¨Ð-Ð!¨Ð-Ð-Ð-Ð-Õ-Ô-Ð-Ð-Ð-Ð-Ð!¨Ð-Ñ-Ô-Ð-Õ-Ô-Ñ-Ô-Ð-Ð-Õ-Ô-ˆxÑ-Ô-Ð-Õ-Ô-ˆxÑ-Ô-Ð-Ð-Õ-Ô-Ð!Ñ-Ô-Õ-Ô-¨Ñ-Ô-Ð-Ð-Ñ-Ð-Ð-Ð-Ð-Ð-Ñ-Ð-Õ-Õ-Ô-Ð-Ñ-Ô-Ñ-Ô-Ð-Ð-Ð-Ð-Ð-Ð-Ð-ð ×/Ò/°Ñ9Ô9ˆ	Ø Ð ˆy˜DÐ Ð Ð Ð Õ Ô Ð Ð Ð Ð ˆy˜DÐ Ñ Ô Ð Õ Ô Ñ Ô Ð Ð Õ Ô ˆyÑ Ô Ð Õ Ô ˆyÑ Ô Ð Ð Õ Ô ˜DÑ Ô Ð Ð Ñ Ð Ð Ð Ð Ð Ñ Ð Õ Õ Ô Ð Ñ Ô Ñ Ô Ð Ð Ð Ð Ð ØÔ*Ð2¨dÐ2Ð*¨dÐ2Ð2Ð2Ð2Õ2Ô2Ð2Ð2Ð2Ð2Ð*¨dÐ2Ñ2Ô2Ð2Õ2Ô2Ñ2Ô2Ð2Ð2Õ2Ô2ˆxÑ2Ô2Ð2Õ2Ô2ˆxÑ2Ô2Ð2Ð2Õ2Ô2Ð*Ñ2Ô2Õ2Ô2¨dÑ2Ô2Ð2Ð2Ñ2Ð2Ð2Ð2Ð2Ð2Ñ2Ð2Õ2Õ2Ô2Ð2Ñ2Ô2Ñ2Ô2Ð2Ð2Ð2Ð2Ð2Ð2Ð2ð 	×,Ò,¨YÐ8NÑOÔOÐOØŒ|Ð5Ô6ÐKÐ6ÔCÐKÀtÐKÐCÀtÐKÐKÐKÐKÕKÔKÐKÐKÐKÐKÐCÀtÐKÑKÔKÕKÔKÐ6ÑKÔKÕKÔKÐCÑKÔKÕKÔKÀtÑ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ð 	× Ò  Ð,EÈQÐ ÑOÔOÐOØŒxÐ0�;Ô0Ð0ˆxÐ0Ò0Ð0Ð0Ð0Õ0Ô0Ð0Ð0Ð0Ð0ˆxÐ0Ð0Ñ0Ô0Ð0Õ0Ô0Ñ0Ô0Ð0Ð0Õ0Ô0ˆqÑ0Ô0Ð0Õ0Ô0ˆqÑ0Ô0Ð0Ð0Õ0Ô0ˆxÑ0Ô0Ð0Õ0Ô0Ñ0Ô0Ð0Ð0Õ0Ô0�;Ñ0Ô0Ð0Õ0Ô0�;Ñ0Ô0Ð0Ð0Õ0Ô0Ð0Ñ0Ô0Ð0Ð0Ñ0Ð0Ð0Ð0Ð0Ð0Ñ0Ð0Õ0Õ0Ô0Ð0Ñ0Ô0Ñ0Ô0Ð0Ð0Ð0Ð0Ð0Ð0Ð0ð "×4Ò4°YÐ@`ÑaÔa‰
ˆˆC�ØÐˆr�TˆzÐÐÐÕÔÐÐÐÐˆr�TÐÑÔÐÕÔÑÔÐÐÕÔˆrÑÔÐÕÔˆrÑÔÐÐÕÔ�TÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐØÐˆs˜$ˆÐÐÐÕÔÐÐÐÐˆs˜$ÐÑÔÐÕÔÑÔÐÐÕÔˆsÑÔÐÕÔˆsÑÔÐÐÕÔ˜$ÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐØŒyÐ>Ð>Ð>ˆyÐ>Ò>Ð>Ð>Ð>Õ>Ô>Ð>Ð>Ð>Ð>ˆyÐ>Ð>Ñ>Ô>Ð>Õ>Ô>Ñ>Ô>Ð>Ð>Õ>Ô>ˆsÑ>Ô>Ð>Õ>Ô>ˆsÑ>Ô>Ð>Ð>Õ>Ô>ˆyÑ>Ô>Õ>Ô>Ð>Ñ>Ô>Ð>Ð>Ñ>Ð>Ð>Ð>Ð>Ð>Ñ>Ð>Õ>Õ>Ô>Ð>Ñ>Ô>Ñ>Ô>Ð>Ð>Ð>Ð>Ð>Ð>Ð>ØÔ"Ð( bÐ(Ð" bÒ(Ð(Ð(Ð(Õ(Ô(Ð(Ð(Ð(Ð(Ð" bÐ(Ñ(Ô(Ð(Õ(Ô(Ñ(Ô(Ð(Ð(Õ(Ô(ˆsÑ(Ô(Ð(Õ(Ô(ˆsÑ(Ô(Ð(Ð(Õ(Ô(Ð"Ñ(Ô(Õ(Ô( bÑ(Ô(Ð(Ð(Ñ(Ð(Ð(Ð(Ð(Ð(Ñ(Ð(Õ(Õ(Ô(Ð(Ñ(Ô(Ñ(Ô(Ð(Ð(Ð(Ð(Ð(Ð(Ð(Ð(Ð(r   c           	      óÞ  — d}|                      |d¬¦  «         t          ||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
}	||	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d¬¦  «         |j        d         }|j        }	d}|	|k    }|st          j        d|fd|	|f¦  «        t          j        |¦  «        t          j        |	¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d
x}x}	x}}|                     |dd¬¦  «         |j        d         }|j        }	d}|	|k    }|st          j        d|fd|	|f¦  «        t          j        |¦  «        t          j        |	¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d
x}x}	x}}|                     |dd¬¦  «         |j        d         }|j        }	d}|	|k    }|st          j        d|fd|	|f¦  «        t          j        |¦  «        t          j        |	¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d
x}x}	x}}|                     |dd¬¦  «         |j        d         }|j        }	d}|	|k    }|st          j        d|fd|	|f¦  «        t          j        |¦  «        t          j        |	¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d
x}x}	x}}|j        d         }|j        }	d}|	|u }|st          j        d|fd|	|f¦  «        t          j        |¦  «        t          j        |	¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d
x}x}	x}}|                     |dd¬¦  «         |j        d         }|j        }	d}|	|k    }|st          j        d|fd|	|f¦  «        t          j        |¦  «        t          j        |	¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d
x}x}	x}}|j        d         }|j        }	d}|	|u }|st          j        d|fd|	|f¦  «        t          j        |¦  «        t          j        |	¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d
x}x}	x}}d
S ) zTVerifies CLEAR_FOG_PERCENT behaves as a gauge (high-water mark), not an accumulator.Úgauge_tester_01rb   rc   re   r-   rf   r   r   rg   Nr2   r4   rh   r5   ri   r8   rx   rz   Úobj_norm_06_clear_fogrj   )z5%(py3)s
{%(py3)s = %(py1)s.current_count
} == %(py6)srw   rn   r=   é
   é#   Frt   rv   ry   T)r"   r)   r…   rF   rG   rD   rH   rI   rK   rL   r†   rE   rŠ   r   Úcurrent_countr‰   )rO   r   r   rS   rV   rX   r�   r^   rh   rR   rT   rU   r‘   r\   r�   rY   s                   r   Ú%test_clear_fog_percent_gauge_behaviorzDTestMapQuestAndBossIntegration.test_clear_fog_percent_gauge_behavior›   sX  € à%ˆ	Ø×&Ò& y¸rÐ&ÑBÔBÐBÝ˜L¨)Ð5YÑZÔZÐZàÔ(ÐfÐ4TÐfÐceÐfÐ(Ð(¨Ð4TÐceÐfÑfÔfÐfÐfÐfÐfÐfÕfÔfÑfÔfÐfÐfÕfÔfˆ|ÑfÔfÐfÕfÔfˆ|ÑfÔfÐfÐfÕfÔfÐ(ÑfÔfÐfÕfÔfÑfÔfÐfÐfÕfÔf¨ÑfÔfÐfÕfÔf¨ÑfÔfÐfÐfÕfÔfÐ4TÑfÔfÕfÔfÐceÑfÔfÕfÔfÐfÑfÔfÐfÐfÑfÐfÕfÕfÔfÐfÑfÔfÑfÔfÐfÐfÐfÐfÐfÐfÐfÐfÐfØ×)Ò)¨)Ð5UÑVÔVˆØÐˆq˜ˆ}ÐÐÐÕÔÐÐÐÐˆq˜ÐÑÔÐÕÔÑÔÐÐÕÔˆqÑÔÐÕÔˆqÑÔÐÐÕÔ˜ÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐð 	×)Ò)¨)Ð5MÐWYÐ)ÑZÔZÐZØŒ|Ð3Ô4ÐHÐ4ÔBÐHÀbÐHÐBÀbÒHÐHÐHÐHÕHÔHÐHÐHÐHÐHÐBÀbÐHÑHÔHÕHÔHÐ4ÑHÔHÕHÔHÐBÑHÔHÕHÔHÀbÑ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ÐHð 	×)Ò)¨)Ð5MÐWYÐ)ÑZÔZÐZØŒ|Ð3Ô4ÐHÐ4ÔBÐHÀbÐHÐBÀbÒHÐHÐHÐHÕHÔHÐHÐHÐHÐHÐBÀbÐHÑHÔHÕHÔHÐ4ÑHÔHÕHÔHÐBÑHÔHÕHÔHÀbÑ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ÐHð 	×)Ò)¨)Ð5MÐWYÐ)ÑZÔZÐZØŒ|Ð3Ô4ÐHÐ4ÔBÐHÀbÐHÐBÀbÒHÐHÐHÐHÕHÔHÐHÐHÐHÐHÐBÀbÐHÑHÔHÕHÔHÐ4ÑHÔHÕHÔHÐBÑHÔHÕHÔHÀbÑ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ÐHð 	×)Ò)¨)Ð5MÐWYÐ)ÑZÔZÐZØŒ|Ð3Ô4ÐHÐ4ÔBÐHÀbÐHÐBÀbÒHÐHÐHÐHÕHÔHÐHÐHÐHÐHÐBÀbÐHÑHÔHÕHÔHÐ4ÑHÔHÕHÔHÐBÑHÔHÕHÔHÀbÑ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ÐHØŒ|Ð3Ô4ÐJÐ4ÔAÐJÀUÐJÐAÀUÐJÐJÐJÐJÕJÔJÐJÐJÐJÐJÐAÀUÐJÑJÔJÕJÔJÐ4ÑJÔJÕJÔJÐAÑJÔJÕJÔJÀUÑ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ð 	×)Ò)¨)Ð5MÐWYÐ)ÑZÔZÐZØŒ|Ð3Ô4ÐHÐ4ÔBÐHÀbÐHÐBÀbÒHÐHÐHÐHÕHÔHÐHÐHÐHÐHÐBÀbÐHÑHÔHÕHÔHÐ4ÑHÔHÕHÔHÐBÑHÔHÕHÔHÀbÑ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ÐHØŒ|Ð3Ô4ÐIÐ4ÔAÐIÀTÐIÐAÀTÐIÐIÐIÐIÕIÔIÐIÐIÐIÐIÐAÀTÐIÑIÔIÕIÔIÐ4ÑIÔIÕIÔIÐAÑIÔIÕIÔIÀTÑIÔIÐIÐIÑIÐIÐIÐIÐIÐIÑIÐIÕIÕIÔIÐIÑIÔIÑIÔIÐIÐIÐIÐIÐIÐIÐIÐIÐIÐIÐIr   N)	Ú__name__Ú
__module__Ú__qualname__r   r_   r“   rž   rµ   r¼   r   r   r   r+   r+   .   s¥   € € € € € ð(È+ð (ð (ð (ð (ð(ÐP[ð (ð (ð (ð (ð<:È;ð :ð :ð :ð :ð0%)ÐQ\ð %)ð %)ð %)ð %)ðNJÀ+ð Jð Jð Jð Jð Jð Jr   r+   )Ú__doc__ÚbuiltinsrF   Ú_pytest.assertion.rewriteÚ	assertionÚrewriterD   ÚpytestÚserver.world.quest_enginer   r   r   Ú"server.world.procedural_map_enginer   r   Úserver.world.war_fog_enginer   Úserver.world.map_data_typesr	   r
   Úfixturer   Ústrr)   r+   r   r   r   ú<module>rÌ      sY  ððð ð € € € € € € € € € € € € €€€€ðð ð ð ð ð ð ð ð ð ð
ð ð ð ð ð ð ð ð 5Ð 4Ð 4Ð 4Ð 4Ð 4Ø >Ð >Ð >Ð >Ð >Ð >Ð >Ð >ð „ð)�kð )ð )ð )ñ „ð)ð
 ð 
¸ð 
Àsð 
Ètð 
ð 
ð 
ð 
ð"KJð KJð KJð KJð KJñ KJô KJð KJð KJð KJr   