From 74824a9e985dcd8df0f4f742c4cf6f73c4fc5994 Mon Sep 17 00:00:00 2001 From: Rmojarro1 <48000819+Rmojarro1@users.noreply.github.com> Date: Thu, 22 May 2025 18:06:23 -0700 Subject: [PATCH 1/4] Added relic/note/money to rob text The text should display the name of the relic/note/money taken from the player in paraenthesis. EventTemplate was slightly tweaked to include extra func OutcomeResolver. Adjusted EventDatabase and Event Scene accordingly. --- Classes/Events/EventDatabase.cs | 42 ++++++++++++++++++++++++++- Classes/Events/EventTemplate.cs | 26 ++++++++++++++++- Globals/Translations/Translations.csv | 6 ++-- Scenes/EventScene/EventScene.cs | 7 +++-- 4 files changed, 74 insertions(+), 7 deletions(-) diff --git a/Classes/Events/EventDatabase.cs b/Classes/Events/EventDatabase.cs index 5a869ebd..a8feb747 100644 --- a/Classes/Events/EventDatabase.cs +++ b/Classes/Events/EventDatabase.cs @@ -4,6 +4,7 @@ /// /// Holds all game events and their associated logic. /// + public class EventDatabase { public const int EventDatabaseSize = 3; @@ -22,7 +23,11 @@ public class EventDatabase 0, StageProducer.PlayerStats.CurNotes.Length - 1 ); + var note = StageProducer.PlayerStats.CurNotes[randIndex]; + string name = note.Name.ToUpper().Replace(" ", ""); + string localizedName = TranslationServer.Translate("NOTE_" + name + "_NAME"); StageProducer.PlayerStats.RemoveNote(randIndex); + node.TempData = localizedName; }, (self, node) => { @@ -30,11 +35,19 @@ public class EventDatabase 0, StageProducer.PlayerStats.CurRelics.Length - 1 ); + var relic = StageProducer.PlayerStats.CurRelics[randIndex]; + string name = relic.Name.ToUpper().Replace(" ", ""); + string localizedName = TranslationServer.Translate("RELIC_" + name + "_NAME"); StageProducer.PlayerStats.RemoveRelic(randIndex); + + node.TempData = localizedName; }, (self, node) => { + string stolenMoney = (StageProducer.PlayerStats.Money / 2).ToString(); StageProducer.PlayerStats.Money /= 2; + + node.TempData = stolenMoney; }, ], GD.Load("res://Classes/Events/Assets/Bandit_Event.png"), @@ -42,7 +55,34 @@ public class EventDatabase () => StageProducer.PlayerStats.CurNotes.Length > 0, () => StageProducer.PlayerStats.CurRelics.Length > 0, () => StageProducer.PlayerStats.Money > 0, - ] + ], + outcomeResolvers: new Func[] + { + (self, node) => + { + string itemName = node.TempData?.ToString() ?? "an item"; + return string.Format( + TranslationServer.Translate("EVENT_EVENT1_OUTCOME1"), + itemName + ); + }, + (self, node) => + { + string relicName = node.TempData?.ToString() ?? "a relic"; + return string.Format( + TranslationServer.Translate("EVENT_EVENT1_OUTCOME2"), + relicName + ); + }, + (self, node) => + { + string money = node.TempData?.ToString() ?? "some gold"; + return string.Format( + TranslationServer.Translate("EVENT_EVENT1_OUTCOME3"), + money + ); + }, + } ), new EventTemplate( 1, diff --git a/Classes/Events/EventTemplate.cs b/Classes/Events/EventTemplate.cs index 104afb86..a6f993aa 100644 --- a/Classes/Events/EventTemplate.cs +++ b/Classes/Events/EventTemplate.cs @@ -12,6 +12,7 @@ public class EventTemplate public string EventDescription; public string[] ButtonDescriptions; public string[] OutcomeDescriptions; + public Func[] OutcomeResolver; public Texture2D Texture; public EventAction[] OptionActions; public EventCondition[] OptionEnabledConditions; @@ -25,7 +26,8 @@ public EventTemplate( string[] outcomeDescriptions, EventAction[] optionActions, Texture2D texture, - EventCondition[] optionEnabledConditions = null + EventCondition[] optionEnabledConditions = null, + Func[] outcomeResolvers = null ) { Id = id; @@ -35,5 +37,27 @@ public EventTemplate( OptionActions = optionActions; Texture = texture; OptionEnabledConditions = optionEnabledConditions; + OutcomeResolver = outcomeResolvers; + } + + public string GetOutcomeText(int index, EventScene context) + { + if ( + OutcomeResolver != null + && index >= 0 + && index < OutcomeResolver.Length + && OutcomeResolver[index] != null + ) + { + return OutcomeResolver[index](this, context); + } + + // Fallback to static string + if (OutcomeDescriptions != null && index >= 0 && index < OutcomeDescriptions.Length) + { + return TranslationServer.Translate(OutcomeDescriptions[index]); + } + + return "[Missing outcome text]"; } } diff --git a/Globals/Translations/Translations.csv b/Globals/Translations/Translations.csv index a0b7cb2b..d350abd2 100644 --- a/Globals/Translations/Translations.csv +++ b/Globals/Translations/Translations.csv @@ -143,9 +143,9 @@ EVENT_EVENT1_DESC,A bandit approaches you.,一个强盗拦住了你。 EVENT_EVENT1_OPTION1,Give them a random note,给他一个随机音符 EVENT_EVENT1_OPTION2,Give them a random relic,给他一件随机遗物 EVENT_EVENT1_OPTION3,Give them half your gold,给他你一半的金币 -EVENT_EVENT1_OUTCOME1,You got robbed of a random note.,你被抢走了一个随机音符 -EVENT_EVENT1_OUTCOME2,You got robbed of a random relic.,你被抢走了一件随机遗物 -EVENT_EVENT1_OUTCOME3,You got robbed of half your gold.,你被抢走了一半金币 +EVENT_EVENT1_OUTCOME1,You got robbed of a random note. ({0}),你被抢走了一个随机音符 ({0}) +EVENT_EVENT1_OUTCOME2,You got robbed of a random relic.({0}),你被抢走了一件随机遗物 ({0}) +EVENT_EVENT1_OUTCOME3,You got robbed of half your gold. ({0}),你被抢走了一半金币 ({0}) EVENT_EVENT2_DESC,There is a wheel with different outcomes.,这里有一个转盘,结果各不相同。 EVENT_EVENT2_OPTION1,Spin the wheel,转动转盘 EVENT_EVENT2_OPTION2,Ignore the cool wheel,忽略这个酷炫的转盘 diff --git a/Scenes/EventScene/EventScene.cs b/Scenes/EventScene/EventScene.cs index 287995c2..76bb973f 100644 --- a/Scenes/EventScene/EventScene.cs +++ b/Scenes/EventScene/EventScene.cs @@ -34,6 +34,7 @@ public partial class EventScene : Node private EventTemplate _eventReference; private int _updateOutputIndex; + public object TempData; public override void _Ready() { @@ -133,8 +134,10 @@ public void AnyButtonPressed(int capturedIndex) { _updateOutputIndex = capturedIndex; _buttonContainer.GetParent().Visible = false; - _continueContainer.Visible = _eventReference.OutcomeDescriptions[capturedIndex] != ""; - _eventDescription.Text = _eventReference.OutcomeDescriptions[capturedIndex]; + //_continueContainer.Visible = _eventReference.OutcomeDescriptions[capturedIndex] != ""; + _continueContainer.Visible = _eventReference.GetOutcomeText(capturedIndex, this) != ""; + //_eventDescription.Text = _eventReference.OutcomeDescriptions[capturedIndex]; + _eventDescription.Text = _eventReference.GetOutcomeText(capturedIndex, this); _continueButton.GrabFocus(); } } From 6b48962dbc6a8802e961a904c993a729bc3f85c0 Mon Sep 17 00:00:00 2001 From: LifeHckr Date: Wed, 28 May 2025 00:09:44 -0700 Subject: [PATCH 2/4] Drastic Simplification One shortcoming with the and the previous version is if locale is changed while these messages are displayed they don't auto change. Doesn't seem to be a good way to accomplish this regardless. --- Classes/Events/EventDatabase.cs | 45 ++++++++++----------------------- Classes/Events/EventTemplate.cs | 26 +------------------ Scenes/EventScene/EventScene.cs | 7 ++--- 3 files changed, 17 insertions(+), 61 deletions(-) diff --git a/Classes/Events/EventDatabase.cs b/Classes/Events/EventDatabase.cs index a8feb747..0f8637ec 100644 --- a/Classes/Events/EventDatabase.cs +++ b/Classes/Events/EventDatabase.cs @@ -27,7 +27,11 @@ public class EventDatabase string name = note.Name.ToUpper().Replace(" ", ""); string localizedName = TranslationServer.Translate("NOTE_" + name + "_NAME"); StageProducer.PlayerStats.RemoveNote(randIndex); - node.TempData = localizedName; + + self.OutcomeDescriptions[0] = string.Format( + TranslationServer.Translate("EVENT_EVENT1_OUTCOME1"), + localizedName + ); }, (self, node) => { @@ -40,14 +44,20 @@ public class EventDatabase string localizedName = TranslationServer.Translate("RELIC_" + name + "_NAME"); StageProducer.PlayerStats.RemoveRelic(randIndex); - node.TempData = localizedName; + self.OutcomeDescriptions[1] = string.Format( + TranslationServer.Translate("EVENT_EVENT1_OUTCOME2"), + localizedName + ); }, (self, node) => { string stolenMoney = (StageProducer.PlayerStats.Money / 2).ToString(); StageProducer.PlayerStats.Money /= 2; - node.TempData = stolenMoney; + self.OutcomeDescriptions[2] = self.OutcomeDescriptions[0] = string.Format( + TranslationServer.Translate("EVENT_EVENT1_OUTCOME3"), + stolenMoney + ); }, ], GD.Load("res://Classes/Events/Assets/Bandit_Event.png"), @@ -55,34 +65,7 @@ public class EventDatabase () => StageProducer.PlayerStats.CurNotes.Length > 0, () => StageProducer.PlayerStats.CurRelics.Length > 0, () => StageProducer.PlayerStats.Money > 0, - ], - outcomeResolvers: new Func[] - { - (self, node) => - { - string itemName = node.TempData?.ToString() ?? "an item"; - return string.Format( - TranslationServer.Translate("EVENT_EVENT1_OUTCOME1"), - itemName - ); - }, - (self, node) => - { - string relicName = node.TempData?.ToString() ?? "a relic"; - return string.Format( - TranslationServer.Translate("EVENT_EVENT1_OUTCOME2"), - relicName - ); - }, - (self, node) => - { - string money = node.TempData?.ToString() ?? "some gold"; - return string.Format( - TranslationServer.Translate("EVENT_EVENT1_OUTCOME3"), - money - ); - }, - } + ] ), new EventTemplate( 1, diff --git a/Classes/Events/EventTemplate.cs b/Classes/Events/EventTemplate.cs index a6f993aa..104afb86 100644 --- a/Classes/Events/EventTemplate.cs +++ b/Classes/Events/EventTemplate.cs @@ -12,7 +12,6 @@ public class EventTemplate public string EventDescription; public string[] ButtonDescriptions; public string[] OutcomeDescriptions; - public Func[] OutcomeResolver; public Texture2D Texture; public EventAction[] OptionActions; public EventCondition[] OptionEnabledConditions; @@ -26,8 +25,7 @@ public EventTemplate( string[] outcomeDescriptions, EventAction[] optionActions, Texture2D texture, - EventCondition[] optionEnabledConditions = null, - Func[] outcomeResolvers = null + EventCondition[] optionEnabledConditions = null ) { Id = id; @@ -37,27 +35,5 @@ public EventTemplate( OptionActions = optionActions; Texture = texture; OptionEnabledConditions = optionEnabledConditions; - OutcomeResolver = outcomeResolvers; - } - - public string GetOutcomeText(int index, EventScene context) - { - if ( - OutcomeResolver != null - && index >= 0 - && index < OutcomeResolver.Length - && OutcomeResolver[index] != null - ) - { - return OutcomeResolver[index](this, context); - } - - // Fallback to static string - if (OutcomeDescriptions != null && index >= 0 && index < OutcomeDescriptions.Length) - { - return TranslationServer.Translate(OutcomeDescriptions[index]); - } - - return "[Missing outcome text]"; } } diff --git a/Scenes/EventScene/EventScene.cs b/Scenes/EventScene/EventScene.cs index 76bb973f..287995c2 100644 --- a/Scenes/EventScene/EventScene.cs +++ b/Scenes/EventScene/EventScene.cs @@ -34,7 +34,6 @@ public partial class EventScene : Node private EventTemplate _eventReference; private int _updateOutputIndex; - public object TempData; public override void _Ready() { @@ -134,10 +133,8 @@ public void AnyButtonPressed(int capturedIndex) { _updateOutputIndex = capturedIndex; _buttonContainer.GetParent().Visible = false; - //_continueContainer.Visible = _eventReference.OutcomeDescriptions[capturedIndex] != ""; - _continueContainer.Visible = _eventReference.GetOutcomeText(capturedIndex, this) != ""; - //_eventDescription.Text = _eventReference.OutcomeDescriptions[capturedIndex]; - _eventDescription.Text = _eventReference.GetOutcomeText(capturedIndex, this); + _continueContainer.Visible = _eventReference.OutcomeDescriptions[capturedIndex] != ""; + _eventDescription.Text = _eventReference.OutcomeDescriptions[capturedIndex]; _continueButton.GrabFocus(); } } From c8211bcb36b333526d2cf4031ce40cd0a92f784b Mon Sep 17 00:00:00 2001 From: Rmojarro1 <48000819+Rmojarro1@users.noreply.github.com> Date: Thu, 29 May 2025 13:20:55 -0700 Subject: [PATCH 3/4] Added support for the wheel results Should work correctly --- Classes/Events/EventDatabase.cs | 56 ++++++++++++++++++++++++--- Globals/Translations/Translations.csv | 12 +++--- 2 files changed, 57 insertions(+), 11 deletions(-) diff --git a/Classes/Events/EventDatabase.cs b/Classes/Events/EventDatabase.cs index 0f8637ec..26e27a41 100644 --- a/Classes/Events/EventDatabase.cs +++ b/Classes/Events/EventDatabase.cs @@ -91,36 +91,64 @@ public class EventDatabase .SetEase(Tween.EaseType.Out); // Defer execution of the outcome until the tween finishes + string eventEffect = ""; tween.TweenCallback( Callable.From(() => { switch (spinOutcome) { case 0: + eventEffect = (StageProducer.PlayerStats.Money / 2).ToString(); StageProducer.PlayerStats.Money /= 2; - self.OutcomeDescriptions[0] = "EVENT_EVENT2_OUTCOME2"; + //self.OutcomeDescriptions[0] = "EVENT_EVENT2_OUTCOME2"; + self.OutcomeDescriptions[0] = string.Format( + TranslationServer.Translate("EVENT_EVENT2_OUTCOME2"), + eventEffect + ); break; case 1: - self.OutcomeDescriptions[0] = "EVENT_EVENT2_OUTCOME3"; + eventEffect = 10.ToString(); + //self.OutcomeDescriptions[0] = "EVENT_EVENT2_OUTCOME3"; + self.OutcomeDescriptions[0] = string.Format( + TranslationServer.Translate("EVENT_EVENT2_OUTCOME3"), + eventEffect + ); StageProducer.PlayerStats.CurrentHealth = Math.Max( 1, StageProducer.PlayerStats.CurrentHealth - 10 ); break; case 2: - self.OutcomeDescriptions[0] = "EVENT_EVENT2_OUTCOME4"; + eventEffect = 50.ToString(); + //self.OutcomeDescriptions[0] = "EVENT_EVENT2_OUTCOME4"; + self.OutcomeDescriptions[0] = string.Format( + TranslationServer.Translate("EVENT_EVENT2_OUTCOME4"), + eventEffect + ); StageProducer.PlayerStats.Money += 50; break; case 3: - self.OutcomeDescriptions[0] = "EVENT_EVENT2_OUTCOME5"; + //self.OutcomeDescriptions[0] = "EVENT_EVENT2_OUTCOME5"; StageProducer.PlayerStats.AddNote( Scribe.GetRandomRewardNotes(1, StageProducer.CurRoom + 10)[ 0 ] ); + var note = StageProducer.PlayerStats.CurNotes[ + StageProducer.PlayerStats.CurNotes.Length - 1 + ]; + string name = note.Name.ToUpper().Replace(" ", ""); + eventEffect = TranslationServer.Translate( + "NOTE_" + name + "_NAME" + ); + + self.OutcomeDescriptions[0] = string.Format( + TranslationServer.Translate("EVENT_EVENT2_OUTCOME5"), + eventEffect + ); break; case 4: - self.OutcomeDescriptions[0] = "EVENT_EVENT2_OUTCOME6"; + //self.OutcomeDescriptions[0] = "EVENT_EVENT2_OUTCOME6"; StageProducer.PlayerStats.AddRelic( Scribe.GetRandomRelics( 1, @@ -128,8 +156,25 @@ public class EventDatabase StageProducer.PlayerStats.RarityOdds )[0] ); + + var relic = StageProducer.PlayerStats.CurRelics[ + StageProducer.PlayerStats.CurRelics.Length - 1 + ]; + string name1 = relic.Name.ToUpper().Replace(" ", ""); + eventEffect = TranslationServer.Translate( + "NOTE_" + name1 + "_NAME" + ); + self.OutcomeDescriptions[0] = string.Format( + TranslationServer.Translate("EVENT_EVENT2_OUTCOME6"), + eventEffect + ); break; case 5: + eventEffect = Math.Min( + StageProducer.PlayerStats.CurrentHealth + 20, + StageProducer.PlayerStats.MaxHealth + ) + .ToString(); self.OutcomeDescriptions[0] = "EVENT_EVENT2_OUTCOME7"; StageProducer.PlayerStats.CurrentHealth = Math.Min( StageProducer.PlayerStats.CurrentHealth + 20, @@ -139,6 +184,7 @@ public class EventDatabase } node.AnyButtonPressed(0); self.OutcomeDescriptions[0] = ""; //Will need to fix later, currently changes the primary reference + //self.OutcomeDescriptions[0] = eventEffect; }) ); }, diff --git a/Globals/Translations/Translations.csv b/Globals/Translations/Translations.csv index d350abd2..d7425e4a 100644 --- a/Globals/Translations/Translations.csv +++ b/Globals/Translations/Translations.csv @@ -150,12 +150,12 @@ EVENT_EVENT2_DESC,There is a wheel with different outcomes.,这里有一个转 EVENT_EVENT2_OPTION1,Spin the wheel,转动转盘 EVENT_EVENT2_OPTION2,Ignore the cool wheel,忽略这个酷炫的转盘 EVENT_EVENT2_OUTCOME1,You decided not to spin the wheel.,你决定不转动转盘。 -EVENT_EVENT2_OUTCOME2,You lost half your money.,你损失了一半的金币。 -EVENT_EVENT2_OUTCOME3,You took some damage.,你受到了一些伤害。 -EVENT_EVENT2_OUTCOME4,You won a lot of money!,你赢得了很多金币! -EVENT_EVENT2_OUTCOME5,You gained a random note!,你获得了一个随机音符! -EVENT_EVENT2_OUTCOME6,You gained a random relic!,你获得了一件随机遗物! -EVENT_EVENT2_OUTCOME7,You gained some health!,你恢复了一些生命值! +EVENT_EVENT2_OUTCOME2,You lost half your money. ({0}),你损失了一半的金币。({0}) +EVENT_EVENT2_OUTCOME3,You took some damage. ({0}),你受到了一些伤害。({0}) +EVENT_EVENT2_OUTCOME4,You won a lot of money! ({0}),你赢得了很多金币!({0}) +EVENT_EVENT2_OUTCOME5,You gained a random note! ({0}),你获得了一个随机音符!({0}) +EVENT_EVENT2_OUTCOME6,You gained a random relic ({0})!,你获得了一件随机遗物!({0}) +EVENT_EVENT2_OUTCOME7,You gained some health! ({0}),你恢复了一些生命值!({0}) EVENT_EVENT3_DESC,There is a field medic on the side of the road.,路边有一名战地医生。 EVENT_EVENT3_OPTION1,Receive a bit of healing,接受一些治疗 EVENT_EVENT3_OPTION2,Increase bar charge rate.,提高能量条充能速度 From a515258720d1cdbb120dffa8e7c16ecbc49ebd0c Mon Sep 17 00:00:00 2001 From: LifeHckr Date: Fri, 30 May 2025 08:18:37 -0700 Subject: [PATCH 4/4] Finalize Event 2 Text --- Classes/Events/EventDatabase.cs | 31 ++++----------------------- Globals/Translations/Translations.csv | 6 +++--- 2 files changed, 7 insertions(+), 30 deletions(-) diff --git a/Classes/Events/EventDatabase.cs b/Classes/Events/EventDatabase.cs index 26e27a41..275f26ef 100644 --- a/Classes/Events/EventDatabase.cs +++ b/Classes/Events/EventDatabase.cs @@ -100,43 +100,29 @@ public class EventDatabase case 0: eventEffect = (StageProducer.PlayerStats.Money / 2).ToString(); StageProducer.PlayerStats.Money /= 2; - //self.OutcomeDescriptions[0] = "EVENT_EVENT2_OUTCOME2"; self.OutcomeDescriptions[0] = string.Format( TranslationServer.Translate("EVENT_EVENT2_OUTCOME2"), eventEffect ); break; case 1: - eventEffect = 10.ToString(); - //self.OutcomeDescriptions[0] = "EVENT_EVENT2_OUTCOME3"; - self.OutcomeDescriptions[0] = string.Format( - TranslationServer.Translate("EVENT_EVENT2_OUTCOME3"), - eventEffect - ); + self.OutcomeDescriptions[0] = "EVENT_EVENT2_OUTCOME3"; StageProducer.PlayerStats.CurrentHealth = Math.Max( 1, StageProducer.PlayerStats.CurrentHealth - 10 ); break; case 2: - eventEffect = 50.ToString(); - //self.OutcomeDescriptions[0] = "EVENT_EVENT2_OUTCOME4"; - self.OutcomeDescriptions[0] = string.Format( - TranslationServer.Translate("EVENT_EVENT2_OUTCOME4"), - eventEffect - ); + self.OutcomeDescriptions[0] = "EVENT_EVENT2_OUTCOME4"; StageProducer.PlayerStats.Money += 50; break; case 3: - //self.OutcomeDescriptions[0] = "EVENT_EVENT2_OUTCOME5"; StageProducer.PlayerStats.AddNote( Scribe.GetRandomRewardNotes(1, StageProducer.CurRoom + 10)[ 0 ] ); - var note = StageProducer.PlayerStats.CurNotes[ - StageProducer.PlayerStats.CurNotes.Length - 1 - ]; + var note = StageProducer.PlayerStats.CurNotes[^1]; string name = note.Name.ToUpper().Replace(" ", ""); eventEffect = TranslationServer.Translate( "NOTE_" + name + "_NAME" @@ -148,7 +134,6 @@ public class EventDatabase ); break; case 4: - //self.OutcomeDescriptions[0] = "EVENT_EVENT2_OUTCOME6"; StageProducer.PlayerStats.AddRelic( Scribe.GetRandomRelics( 1, @@ -157,9 +142,7 @@ public class EventDatabase )[0] ); - var relic = StageProducer.PlayerStats.CurRelics[ - StageProducer.PlayerStats.CurRelics.Length - 1 - ]; + var relic = StageProducer.PlayerStats.CurRelics[^1]; string name1 = relic.Name.ToUpper().Replace(" ", ""); eventEffect = TranslationServer.Translate( "NOTE_" + name1 + "_NAME" @@ -170,11 +153,6 @@ public class EventDatabase ); break; case 5: - eventEffect = Math.Min( - StageProducer.PlayerStats.CurrentHealth + 20, - StageProducer.PlayerStats.MaxHealth - ) - .ToString(); self.OutcomeDescriptions[0] = "EVENT_EVENT2_OUTCOME7"; StageProducer.PlayerStats.CurrentHealth = Math.Min( StageProducer.PlayerStats.CurrentHealth + 20, @@ -184,7 +162,6 @@ public class EventDatabase } node.AnyButtonPressed(0); self.OutcomeDescriptions[0] = ""; //Will need to fix later, currently changes the primary reference - //self.OutcomeDescriptions[0] = eventEffect; }) ); }, diff --git a/Globals/Translations/Translations.csv b/Globals/Translations/Translations.csv index d7425e4a..d38b8e22 100644 --- a/Globals/Translations/Translations.csv +++ b/Globals/Translations/Translations.csv @@ -151,11 +151,11 @@ EVENT_EVENT2_OPTION1,Spin the wheel,转动转盘 EVENT_EVENT2_OPTION2,Ignore the cool wheel,忽略这个酷炫的转盘 EVENT_EVENT2_OUTCOME1,You decided not to spin the wheel.,你决定不转动转盘。 EVENT_EVENT2_OUTCOME2,You lost half your money. ({0}),你损失了一半的金币。({0}) -EVENT_EVENT2_OUTCOME3,You took some damage. ({0}),你受到了一些伤害。({0}) -EVENT_EVENT2_OUTCOME4,You won a lot of money! ({0}),你赢得了很多金币!({0}) +EVENT_EVENT2_OUTCOME3,You took some damage. (10),你受到了一些伤害。(10) +EVENT_EVENT2_OUTCOME4,You won a lot of money! (50),你赢得了很多金币!(50) EVENT_EVENT2_OUTCOME5,You gained a random note! ({0}),你获得了一个随机音符!({0}) EVENT_EVENT2_OUTCOME6,You gained a random relic ({0})!,你获得了一件随机遗物!({0}) -EVENT_EVENT2_OUTCOME7,You gained some health! ({0}),你恢复了一些生命值!({0}) +EVENT_EVENT2_OUTCOME7,You gained some health! (20),你恢复了一些生命值!(20) EVENT_EVENT3_DESC,There is a field medic on the side of the road.,路边有一名战地医生。 EVENT_EVENT3_OPTION1,Receive a bit of healing,接受一些治疗 EVENT_EVENT3_OPTION2,Increase bar charge rate.,提高能量条充能速度