fix(multiplayer): preserve proposal requeues

This commit is contained in:
Josh Creek
2026-09-01 22:04:53 +01:00
parent 277ad4bf98
commit 0c4ad6a5aa
3 changed files with 19 additions and 7 deletions
+6 -3
View File
@@ -124,17 +124,20 @@ func apply_proposal_update(update: Dictionary) -> bool:
elif incoming_proposal_state == "DECLINED":
if not _is_legal_proposal_transition(proposal_state, incoming_proposal_state):
return _request_resync(proposal_id)
phase = FAILED
if phase == PROPOSED:
phase = QUEUED
message = "A player declined the match proposal"
elif incoming_proposal_state == "EXPIRED":
if not _is_legal_proposal_transition(proposal_state, incoming_proposal_state):
return _request_resync(proposal_id)
phase = EXPIRED
if phase == PROPOSED:
phase = QUEUED
message = "The match proposal expired"
elif incoming_proposal_state == "CANCELLED":
if not _is_legal_proposal_transition(proposal_state, incoming_proposal_state):
return _request_resync(proposal_id)
phase = CANCELLED
if phase == PROPOSED:
phase = QUEUED
message = "The match proposal was cancelled"
else:
return _request_resync(proposal_id)