Skip to content

Commit

Permalink
Fix multiple different values for replacements (nathanhoad#485)
Browse files Browse the repository at this point in the history
  • Loading branch information
nathanhoad committed Feb 17, 2024
1 parent 52e24b2 commit 7447028
Showing 1 changed file with 4 additions and 2 deletions.
6 changes: 4 additions & 2 deletions addons/dialogue_manager/dialogue_manager.gd
Original file line number Diff line number Diff line change
Expand Up @@ -154,7 +154,8 @@ func get_resolved_line_data(data: Dictionary, extra_game_states: Array = []) ->
# Resolve variables
for replacement in data.text_replacements:
var value = await resolve(replacement.expression.duplicate(true), extra_game_states)
text = text.replace(replacement.value_in_text, str(value))
var index: int = text.find(replacement.value_in_text)
text = text.substr(0, index) + str(value) + text.substr(index + replacement.value_in_text.length())

var parser: DialogueManagerParser = DialogueManagerParser.new()

Expand Down Expand Up @@ -228,7 +229,8 @@ func get_resolved_character(data: Dictionary, extra_game_states: Array = []) ->
# Resolve variables
for replacement in data.get("character_replacements", []):
var value = await resolve(replacement.expression.duplicate(true), extra_game_states)
character = character.replace(replacement.value_in_text, str(value))
var index: int = character.find(replacement.value_in_text)
character = character.substr(0, index) + str(value) + character.substr(index + replacement.value_in_text.length())

# Resolve random groups
var random_regex: RegEx = RegEx.new()
Expand Down

0 comments on commit 7447028

Please sign in to comment.