Refine victory result summary
This commit is contained in:
@@ -680,8 +680,8 @@ func _create_hud() -> void:
|
||||
|
||||
result_panel = PanelContainer.new()
|
||||
result_panel.visible = false
|
||||
result_panel.position = Vector2(300, 182)
|
||||
result_panel.size = Vector2(500, 340)
|
||||
result_panel.position = Vector2(280, 156)
|
||||
result_panel.size = Vector2(560, 420)
|
||||
root.add_child(result_panel)
|
||||
|
||||
var result_column := VBoxContainer.new()
|
||||
@@ -689,10 +689,10 @@ func _create_hud() -> void:
|
||||
result_panel.add_child(result_column)
|
||||
|
||||
result_label = Label.new()
|
||||
result_label.horizontal_alignment = HORIZONTAL_ALIGNMENT_CENTER
|
||||
result_label.vertical_alignment = VERTICAL_ALIGNMENT_CENTER
|
||||
result_label.horizontal_alignment = HORIZONTAL_ALIGNMENT_LEFT
|
||||
result_label.vertical_alignment = VERTICAL_ALIGNMENT_TOP
|
||||
result_label.autowrap_mode = TextServer.AUTOWRAP_WORD_SMART
|
||||
result_label.custom_minimum_size = Vector2(460, 176)
|
||||
result_label.custom_minimum_size = Vector2(520, 236)
|
||||
result_column.add_child(result_label)
|
||||
|
||||
result_choice_list = VBoxContainer.new()
|
||||
@@ -3447,6 +3447,12 @@ func _format_post_battle_choice_reward_text(choice: Dictionary) -> String:
|
||||
var items: Array = choice.get("items", [])
|
||||
if not items.is_empty():
|
||||
parts.append(_format_reward_items(items))
|
||||
var joined_text := _format_officer_id_list(choice.get("join_officers", []))
|
||||
if not joined_text.is_empty():
|
||||
parts.append("Join %s" % joined_text)
|
||||
var left_text := _format_officer_id_list(choice.get("leave_officers", []))
|
||||
if not left_text.is_empty():
|
||||
parts.append("Leave %s" % left_text)
|
||||
return _join_strings(parts, ", ")
|
||||
|
||||
|
||||
@@ -3502,50 +3508,64 @@ func _format_battle_result_summary() -> String:
|
||||
return ""
|
||||
if battle_result_summary.get("pending_choice", false):
|
||||
var pending_next := str(battle_result_summary.get("next_scenario_title", ""))
|
||||
var pending_text := "Campaign choice pending.\nCampaign saved."
|
||||
var pending_text := "Campaign\n Saved\nChoice\n Select a campaign response."
|
||||
if not pending_next.is_empty():
|
||||
pending_text += "\nNext: %s" % pending_next
|
||||
pending_text += "\nNext\n %s" % pending_next
|
||||
return pending_text
|
||||
if battle_result_summary.get("already_completed", false):
|
||||
var already_saved := "Campaign unchanged." if battle_result_summary.get("saved", false) else "Campaign replay failed."
|
||||
var already_next := str(battle_result_summary.get("next_scenario_title", ""))
|
||||
if already_next.is_empty():
|
||||
return "Rewards already claimed.\n%s" % already_saved
|
||||
return "Rewards already claimed.\nNext: %s\n%s" % [already_next, already_saved]
|
||||
var replay_lines := [
|
||||
"Rewards\n Already claimed",
|
||||
"Campaign\n %s" % already_saved
|
||||
]
|
||||
if not already_next.is_empty():
|
||||
replay_lines.append("Next\n %s" % already_next)
|
||||
return _join_strings(replay_lines, "\n")
|
||||
|
||||
var items: Array = battle_result_summary.get("items", [])
|
||||
var item_text := _format_reward_items(items)
|
||||
var joined_text := ""
|
||||
var reward_lines := []
|
||||
if bool(battle_result_summary.get("rewards_applied", false)):
|
||||
var gold_reward := int(battle_result_summary.get("gold", 0))
|
||||
if gold_reward > 0:
|
||||
reward_lines.append("Gold +%d" % gold_reward)
|
||||
if item_text != "none":
|
||||
reward_lines.append("Items: %s" % item_text)
|
||||
else:
|
||||
reward_lines.append("Not applied")
|
||||
|
||||
var roster_lines := []
|
||||
var joined_officers: Array = battle_result_summary.get("joined_officers", [])
|
||||
if not joined_officers.is_empty():
|
||||
joined_text = "\nJoined: %s" % _format_officer_id_list(joined_officers)
|
||||
var left_text := ""
|
||||
roster_lines.append("Joined: %s" % _format_officer_id_list(joined_officers))
|
||||
var left_officers: Array = battle_result_summary.get("left_officers", [])
|
||||
if not left_officers.is_empty():
|
||||
left_text = "\nLeft: %s" % _format_officer_id_list(left_officers)
|
||||
var progression_text := _format_progression_events(battle_result_summary.get("progression_events", []))
|
||||
roster_lines.append("Left: %s" % _format_officer_id_list(left_officers))
|
||||
|
||||
var sections := [
|
||||
"Rewards\n %s" % _join_strings(reward_lines, "\n ")
|
||||
]
|
||||
if not roster_lines.is_empty():
|
||||
sections.append("Roster\n %s" % _join_strings(roster_lines, "\n "))
|
||||
var progression_text := _format_progression_events(battle_result_summary.get("progression_events", []))
|
||||
if not progression_text.is_empty():
|
||||
sections.append("Growth\n %s" % progression_text)
|
||||
var saved_text := "Campaign saved." if battle_result_summary.get("saved", false) else "Campaign save failed."
|
||||
var next_text := "Campaign complete."
|
||||
var next_title := str(battle_result_summary.get("next_scenario_title", ""))
|
||||
if not next_title.is_empty():
|
||||
next_text = "Next: %s" % next_title
|
||||
var choice_text := ""
|
||||
if not bool(battle_result_summary.get("choice_applied", true)):
|
||||
choice_text = "\nChoose a campaign response."
|
||||
elif not str(battle_result_summary.get("choice_label", "")).is_empty():
|
||||
choice_text = "\nChoice: %s" % str(battle_result_summary.get("choice_label", ""))
|
||||
return "Rewards: %d gold, %s%s%s%s\nTotal gold: %d\n%s\n%s%s" % [
|
||||
battle_result_summary.get("gold", 0),
|
||||
item_text,
|
||||
joined_text,
|
||||
left_text,
|
||||
progression_text,
|
||||
sections.append("Campaign\n Total gold: %d\n %s\n %s" % [
|
||||
campaign_state.gold,
|
||||
saved_text,
|
||||
next_text,
|
||||
choice_text
|
||||
]
|
||||
next_text
|
||||
])
|
||||
if not bool(battle_result_summary.get("choice_applied", true)):
|
||||
sections.append("Choice\n Select a campaign response.")
|
||||
elif not str(battle_result_summary.get("choice_label", "")).is_empty():
|
||||
sections.append("Choice\n %s" % str(battle_result_summary.get("choice_label", "")))
|
||||
return _join_strings(sections, "\n")
|
||||
|
||||
|
||||
func _format_progression_events(events) -> String:
|
||||
@@ -3569,7 +3589,7 @@ func _format_progression_events(events) -> String:
|
||||
parts.append("+%d more" % hidden_count)
|
||||
if parts.is_empty():
|
||||
return ""
|
||||
return "\nProgress: %s" % _join_strings(parts, "; ")
|
||||
return _join_strings(parts, "; ")
|
||||
|
||||
|
||||
func _format_inventory_status_text() -> String:
|
||||
|
||||
Reference in New Issue
Block a user