From 0d5c39f07f4562db9c8386681e15b7d3c33a6418 Mon Sep 17 00:00:00 2001 From: Jeffrey Kirchner Date: Thu, 18 Jul 2024 17:17:22 +0000 Subject: [PATCH] update hat offer cool down. --- .../subject_updates.py | 11 +++++--- .../subject/subject_home/the_stage/avatars.js | 26 ++++++++++++++----- 2 files changed, 28 insertions(+), 9 deletions(-) diff --git a/main/consumers/staff/session_consumer_mixins/subject_updates.py b/main/consumers/staff/session_consumer_mixins/subject_updates.py index 9107c39..bc8aa7c 100644 --- a/main/consumers/staff/session_consumer_mixins/subject_updates.py +++ b/main/consumers/staff/session_consumer_mixins/subject_updates.py @@ -1388,7 +1388,8 @@ async def hat_avatar(self, event): result["type"] = type if type == "proposal_received": - + #accept hat offer + result["source_player_id"] = source_player_id result["target_player_id"] = target_player_id @@ -1405,8 +1406,8 @@ async def hat_avatar(self, event): target_avatar["parameter_set_hat_id"] = source_group["parameter_set_hat"] target_avatar["open_hat_offer"] = False - source_player["cool_down"] = self.parameter_set_local["cool_down_length"] - target_player["cool_down"] = self.parameter_set_local["cool_down_length"] + #source_player["cool_down"] = self.parameter_set_local["cool_down_length"] + # target_player["cool_down"] = self.parameter_set_local["cool_down_length"] result["target_player"] = self.world_state_local["avatars"][str(player_id)] @@ -1427,6 +1428,8 @@ async def hat_avatar(self, event): result["error_message"] = [] else: + + #send hat offer status = "success" error_mesage = [] @@ -1453,6 +1456,8 @@ async def hat_avatar(self, event): target_player["open_hat_offer"] = True if status == "success": + source_player["cool_down"] = self.parameter_set_local["cool_down_length"] + current_period = await session.aget_current_session_period() summary_data_source = current_period.summary_data[source_player_id_s] diff --git a/main/templates/subject/subject_home/the_stage/avatars.js b/main/templates/subject/subject_home/the_stage/avatars.js index 5f8964e..4914efb 100644 --- a/main/templates/subject/subject_home/the_stage/avatars.js +++ b/main/templates/subject/subject_home/the_stage/avatars.js @@ -1119,6 +1119,21 @@ send_hat_avatar: function send_hat_avatar() return; } + if(app.session.world_state_avatars.session_players[app.session_player.id].cool_down>0) + { + app.add_text_emitters("Wait until your cool down is complete.", + target_player.current_location.x, + target_player.current_location.y, + target_player.current_location.x, + target_player.current_location.y-100, + 0xFFFFFF, + 28, + null); + + app.avatar_modal.hide(); + return; + } + if(app.session.world_state.current_experiment_phase == 'Instructions') { app.send_hat_avatar_instructions(); @@ -1185,6 +1200,9 @@ take_update_hat_avatar: function take_update_hat_avatar(message_data) let source_player_id = parseInt(message_data.source_player_id); let target_player_id = parseInt(message_data.target_player_id); + let target_player = app.session.world_state_avatars.session_players[target_player_id]; + let source_player = app.session.world_state_avatars.session_players[source_player_id]; + if(message_data.status == "success") { type = message_data.type; @@ -1233,6 +1251,8 @@ take_update_hat_avatar: function take_update_hat_avatar(message_data) null); } + + source_player.cool_down = app.session.parameter_set.cool_down_length; } } else if(type == "proposal_received") @@ -1250,12 +1270,6 @@ take_update_hat_avatar: function take_update_hat_avatar(message_data) app.session.world_state.avatars[target_player_id.toString()].parameter_set_hat_id = message_data.target_player.parameter_set_hat_id; - let target_player = app.session.world_state_avatars.session_players[target_player_id]; - let source_player = app.session.world_state_avatars.session_players[source_player_id]; - - target_player.cool_down = app.session.parameter_set.cool_down_length; - source_player.cool_down = app.session.parameter_set.cool_down_length; - app.update_avatar_inventory(); let target_hat_texture = app.session.parameter_set.parameter_set_hats[message_data.target_player.parameter_set_hat_id].texture;