44/// <summary>
55/// Holds all game events and their associated logic.
66/// </summary>
7-
87public class EventDatabase
98{
10- public const int EventDatabaseSize = 3 ;
11-
129 public static readonly EventTemplate [ ] EventDictionary = new [ ]
1310 {
1411 new EventTemplate (
15- 0 ,
12+ 1 ,
1613 "EVENT_EVENT1_DESC" ,
1714 [ "EVENT_EVENT1_OPTION1" , "EVENT_EVENT1_OPTION2" , "EVENT_EVENT1_OPTION3" ] ,
1815 [ "EVENT_EVENT1_OUTCOME1" , "EVENT_EVENT1_OUTCOME2" , "EVENT_EVENT1_OUTCOME3" ] ,
@@ -23,44 +20,22 @@ public class EventDatabase
2320 0 ,
2421 StageProducer . PlayerStats . CurNotes . Length - 1
2522 ) ;
26- var note = StageProducer . PlayerStats . CurNotes [ randIndex ] ;
27- string name = note . Name . ToUpper ( ) . Replace ( " " , "" ) ;
28- string localizedName = TranslationServer . Translate ( "NOTE_" + name + "_NAME" ) ;
2923 StageProducer . PlayerStats . RemoveNote ( randIndex ) ;
30-
31- self . OutcomeDescriptions [ 0 ] = string . Format (
32- TranslationServer . Translate ( "EVENT_EVENT1_OUTCOME1" ) ,
33- localizedName
34- ) ;
3524 } ,
3625 ( self , node ) =>
3726 {
3827 int randIndex = StageProducer . GlobalRng . RandiRange (
3928 0 ,
4029 StageProducer . PlayerStats . CurRelics . Length - 1
4130 ) ;
42- var relic = StageProducer . PlayerStats . CurRelics [ randIndex ] ;
43- string name = relic . Name . ToUpper ( ) . Replace ( " " , "" ) ;
44- string localizedName = TranslationServer . Translate ( "RELIC_" + name + "_NAME" ) ;
4531 StageProducer . PlayerStats . RemoveRelic ( randIndex ) ;
46-
47- self . OutcomeDescriptions [ 1 ] = string . Format (
48- TranslationServer . Translate ( "EVENT_EVENT1_OUTCOME2" ) ,
49- localizedName
50- ) ;
5132 } ,
5233 ( self , node ) =>
5334 {
54- string stolenMoney = ( StageProducer . PlayerStats . Money / 2 ) . ToString ( ) ;
5535 StageProducer . PlayerStats . Money /= 2 ;
56-
57- self . OutcomeDescriptions [ 2 ] = self . OutcomeDescriptions [ 0 ] = string . Format (
58- TranslationServer . Translate ( "EVENT_EVENT1_OUTCOME3" ) ,
59- stolenMoney
60- ) ;
6136 } ,
6237 ] ,
63- GD . Load < Texture2D > ( "res://Classes/Events/Assets/Bandit_Event.png" ) ,
38+ null ,
6439 [
6540 ( ) => StageProducer . PlayerStats . CurNotes . Length > 0 ,
6641 ( ) => StageProducer . PlayerStats . CurRelics . Length > 0 ,
@@ -91,19 +66,14 @@ public class EventDatabase
9166 . SetEase ( Tween . EaseType . Out ) ;
9267
9368 // Defer execution of the outcome until the tween finishes
94- string eventEffect = "" ;
9569 tween . TweenCallback (
9670 Callable . From ( ( ) =>
9771 {
9872 switch ( spinOutcome )
9973 {
10074 case 0 :
101- eventEffect = ( StageProducer . PlayerStats . Money / 2 ) . ToString ( ) ;
10275 StageProducer . PlayerStats . Money /= 2 ;
103- self . OutcomeDescriptions [ 0 ] = string . Format (
104- TranslationServer . Translate ( "EVENT_EVENT2_OUTCOME2" ) ,
105- eventEffect
106- ) ;
76+ self . OutcomeDescriptions [ 0 ] = "EVENT_EVENT2_OUTCOME2" ;
10777 break ;
10878 case 1 :
10979 self . OutcomeDescriptions [ 0 ] = "EVENT_EVENT2_OUTCOME3" ;
@@ -117,40 +87,22 @@ public class EventDatabase
11787 StageProducer . PlayerStats . Money += 50 ;
11888 break ;
11989 case 3 :
90+ self . OutcomeDescriptions [ 0 ] = "EVENT_EVENT2_OUTCOME5" ;
12091 StageProducer . PlayerStats . AddNote (
12192 Scribe . GetRandomRewardNotes ( 1 , StageProducer . CurRoom + 10 ) [
12293 0
12394 ]
12495 ) ;
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- ) ;
13596 break ;
13697 case 4 :
98+ self . OutcomeDescriptions [ 0 ] = "EVENT_EVENT2_OUTCOME6" ;
13799 StageProducer . PlayerStats . AddRelic (
138100 Scribe . GetRandomRelics (
139101 1 ,
140102 StageProducer . CurRoom + 10 ,
141103 StageProducer . PlayerStats . RarityOdds
142104 ) [ 0 ]
143105 ) ;
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- ) ;
154106 break ;
155107 case 5 :
156108 self . OutcomeDescriptions [ 0 ] = "EVENT_EVENT2_OUTCOME7" ;
@@ -194,7 +146,7 @@ public class EventDatabase
194146 StageProducer . PlayerStats . AddNote ( Scribe . NoteDictionary [ 3 ] ) ;
195147 } ,
196148 ] ,
197- GD . Load < Texture2D > ( "res://Classes/Events/Assets/Medic_Event.png" ) ,
149+ null ,
198150 [ null , null , ( ) => StageProducer . PlayerStats . Money >= 30 ]
199151 ) ,
200152 } ;
0 commit comments