actions.py (3081B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\achievement_system\client\qa\actions.py 2 from achievement_system.client.api.repository import get_repository 3 from achievement_system.client.model.definition.contribution_method.progress_config import ProgressType 4 from achievement_system.client.qa.checklist_progress_window import AchievementChecklistProgressWindow 5 from achievement_system.client.ui.fanfare.achievement_complete import achievement_complete_hero_notification 6 from eve.client.script.ui.util.uix import QtyPopup 7 8 def qa_complete_achievement(achievement_id): 9 repository = get_repository() 10 repository.admin_complete_achievement(achievement_id) 11 12 13 def qa_complete_all_achievements_in_category(category_id): 14 repository = get_repository() 15 repository.admin_complete_achievements_in_category(category_id) 16 17 18 def qa_progress_achievement(achievement_id): 19 repository = get_repository() 20 achievement_state = repository.get_achievement_state(achievement_id) 21 achievement_definition = repository.definitions.get_achievement(achievement_id) 22 contrib_method_definition = repository.definitions.get_contribution_method(achievement_definition.contribution_method.identifier) 23 if contrib_method_definition.progress_config.progress_type == ProgressType.CUMULATIVE: 24 current_progress = achievement_state.progress if achievement_state and achievement_state.progress else 0 25 ret = QtyPopup(minvalue=1, maxvalue=achievement_definition.milestones[-1].attributes.cumulated_target - current_progress, setvalue=1, hint='Progress to add:', caption='Add Progress') 26 if ret and 'qty' in ret: 27 repository.admin_add_cumulative_progress_to_achievement(achievement_id, ret['qty']) 28 elif contrib_method_definition.progress_config.progress_type == ProgressType.CHECKLIST: 29 wnd = AchievementChecklistProgressWindow(contrib_method_definition, achievement_id, achievement_definition, achievement_state) 30 wnd.ShowModal() 31 elif contrib_method_definition.progress_config.progress_type == ProgressType.SET: 32 current_progress = achievement_state.checklist.get_progress_value() if achievement_state and achievement_state.checklist else 0 33 ret = QtyPopup(minvalue=1, maxvalue=achievement_definition.milestones[-1].attributes.cumulated_target - current_progress, setvalue=1, hint='Items to add (arbitrary unique values):', caption='Add Progress') 34 if ret and 'qty' in ret: 35 repository.admin_add_set_progress_to_achievement(achievement_id, ret['qty']) 36 37 38 def qa_reset_achievement(achievement_id): 39 repository = get_repository() 40 repository.admin_reset_achievement(achievement_id) 41 42 43 def qa_reset_all_achievements_in_category(category_id): 44 repository = get_repository() 45 repository.admin_reset_achievements_in_category(category_id) 46 47 48 def qa_show_hero_notification(achievement_id): 49 50 def PlayVideo(parent, cancellation_token): 51 achievement_complete_hero_notification(parent, achievement_id) 52 53 sm.GetService('heroNotification').play(PlayVideo, 1)