44/// <summary>
55/// Holds all game events and their associated logic.
66/// </summary>
7+
78public class EventDatabase
89{
910 public const int EventDatabaseSize = 3 ;
@@ -22,19 +23,41 @@ public class EventDatabase
2223 0 ,
2324 StageProducer . PlayerStats . CurNotes . Length - 1
2425 ) ;
26+ var note = StageProducer . PlayerStats . CurNotes [ randIndex ] ;
27+ string name = note . Name . ToUpper ( ) . Replace ( " " , "" ) ;
28+ string localizedName = TranslationServer . Translate ( "NOTE_" + name + "_NAME" ) ;
2529 StageProducer . PlayerStats . RemoveNote ( randIndex ) ;
30+
31+ self . OutcomeDescriptions [ 0 ] = string . Format (
32+ TranslationServer . Translate ( "EVENT_EVENT1_OUTCOME1" ) ,
33+ localizedName
34+ ) ;
2635 } ,
2736 ( self , node ) =>
2837 {
2938 int randIndex = StageProducer . GlobalRng . RandiRange (
3039 0 ,
3140 StageProducer . PlayerStats . CurRelics . Length - 1
3241 ) ;
42+ var relic = StageProducer . PlayerStats . CurRelics [ randIndex ] ;
43+ string name = relic . Name . ToUpper ( ) . Replace ( " " , "" ) ;
44+ string localizedName = TranslationServer . Translate ( "RELIC_" + name + "_NAME" ) ;
3345 StageProducer . PlayerStats . RemoveRelic ( randIndex ) ;
46+
47+ self . OutcomeDescriptions [ 1 ] = string . Format (
48+ TranslationServer . Translate ( "EVENT_EVENT1_OUTCOME2" ) ,
49+ localizedName
50+ ) ;
3451 } ,
3552 ( self , node ) =>
3653 {
54+ string stolenMoney = ( StageProducer . PlayerStats . Money / 2 ) . ToString ( ) ;
3755 StageProducer . PlayerStats . Money /= 2 ;
56+
57+ self . OutcomeDescriptions [ 2 ] = self . OutcomeDescriptions [ 0 ] = string . Format (
58+ TranslationServer . Translate ( "EVENT_EVENT1_OUTCOME3" ) ,
59+ stolenMoney
60+ ) ;
3861 } ,
3962 ] ,
4063 GD . Load < Texture2D > ( "res://Classes/Events/Assets/Bandit_Event.png" ) ,
@@ -68,14 +91,19 @@ public class EventDatabase
6891 . SetEase ( Tween . EaseType . Out ) ;
6992
7093 // Defer execution of the outcome until the tween finishes
94+ string eventEffect = "" ;
7195 tween . TweenCallback (
7296 Callable . From ( ( ) =>
7397 {
7498 switch ( spinOutcome )
7599 {
76100 case 0 :
101+ eventEffect = ( StageProducer . PlayerStats . Money / 2 ) . ToString ( ) ;
77102 StageProducer . PlayerStats . Money /= 2 ;
78- self . OutcomeDescriptions [ 0 ] = "EVENT_EVENT2_OUTCOME2" ;
103+ self . OutcomeDescriptions [ 0 ] = string . Format (
104+ TranslationServer . Translate ( "EVENT_EVENT2_OUTCOME2" ) ,
105+ eventEffect
106+ ) ;
79107 break ;
80108 case 1 :
81109 self . OutcomeDescriptions [ 0 ] = "EVENT_EVENT2_OUTCOME3" ;
@@ -89,22 +117,40 @@ public class EventDatabase
89117 StageProducer . PlayerStats . Money += 50 ;
90118 break ;
91119 case 3 :
92- self . OutcomeDescriptions [ 0 ] = "EVENT_EVENT2_OUTCOME5" ;
93120 StageProducer . PlayerStats . AddNote (
94121 Scribe . GetRandomRewardNotes ( 1 , StageProducer . CurRoom + 10 ) [
95122 0
96123 ]
97124 ) ;
125+ var note = StageProducer . PlayerStats . CurNotes [ ^ 1 ] ;
126+ string name = note . Name . ToUpper ( ) . Replace ( " " , "" ) ;
127+ eventEffect = TranslationServer . Translate (
128+ "NOTE_" + name + "_NAME"
129+ ) ;
130+
131+ self . OutcomeDescriptions [ 0 ] = string . Format (
132+ TranslationServer . Translate ( "EVENT_EVENT2_OUTCOME5" ) ,
133+ eventEffect
134+ ) ;
98135 break ;
99136 case 4 :
100- self . OutcomeDescriptions [ 0 ] = "EVENT_EVENT2_OUTCOME6" ;
101137 StageProducer . PlayerStats . AddRelic (
102138 Scribe . GetRandomRelics (
103139 1 ,
104140 StageProducer . CurRoom + 10 ,
105141 StageProducer . PlayerStats . RarityOdds
106142 ) [ 0 ]
107143 ) ;
144+
145+ var relic = StageProducer . PlayerStats . CurRelics [ ^ 1 ] ;
146+ string name1 = relic . Name . ToUpper ( ) . Replace ( " " , "" ) ;
147+ eventEffect = TranslationServer . Translate (
148+ "NOTE_" + name1 + "_NAME"
149+ ) ;
150+ self . OutcomeDescriptions [ 0 ] = string . Format (
151+ TranslationServer . Translate ( "EVENT_EVENT2_OUTCOME6" ) ,
152+ eventEffect
153+ ) ;
108154 break ;
109155 case 5 :
110156 self . OutcomeDescriptions [ 0 ] = "EVENT_EVENT2_OUTCOME7" ;
0 commit comments