@@ -104,7 +104,7 @@ public partial class Scribe : Node
104104 ) ,
105105 new RelicTemplate (
106106 "Good Vibes" ,
107- "Good vibes, heals the player whenever they place a note." , //TODO: Description can include the relics values?
107+ "Heals the player whenever they place a note." ,
108108 GD . Load < Texture2D > ( "res://Classes/Relics/assets/relic_GoodVibes.png" ) ,
109109 new RelicEffect [ ]
110110 {
@@ -118,29 +118,40 @@ public partial class Scribe : Node
118118 ) ,
119119 }
120120 ) ,
121+ new RelicTemplate (
122+ "Auroboros" ,
123+ "Bigger number, better person. Increases combo multiplier every riff." ,
124+ GD . Load < Texture2D > ( "res://Classes/Relics/assets/Auroboros.png" ) ,
125+ new RelicEffect [ ]
126+ {
127+ new RelicEffect (
128+ BattleEffectTrigger . OnLoop ,
129+ 1 ,
130+ ( director , val ) =>
131+ {
132+ director . NotePlacementBar . IncreaseBonusMult ( val ) ;
133+ }
134+ ) ,
135+ }
136+ ) ,
137+ new RelicTemplate (
138+ "Colorboros" ,
139+ "Taste the rainbow. Charges the freestyle bar every riff." ,
140+ GD . Load < Texture2D > ( "res://Classes/Relics/assets/Colorboros.png" ) ,
141+ new RelicEffect [ ]
142+ {
143+ new RelicEffect (
144+ BattleEffectTrigger . OnLoop ,
145+ 20 ,
146+ ( director , val ) =>
147+ {
148+ director . NotePlacementBar . IncreaseCharge ( val ) ;
149+ }
150+ ) ,
151+ }
152+ ) ,
121153 } ;
122154
123- //TODO: Item pool(s)
124-
125- public static RelicTemplate [ ] GetRandomRelics ( RelicTemplate [ ] ownedRelics , int count )
126- {
127- var availableRelics = Scribe
128- . RelicDictionary . Where ( r => ! ownedRelics . Any ( o => o . Name == r . Name ) )
129- . ToArray ( ) ;
130-
131- availableRelics = availableRelics
132- . OrderBy ( _ => StageProducer . GlobalRng . Randi ( ) )
133- . Take ( count )
134- . Select ( r => r . Clone ( ) )
135- . ToArray ( ) ;
136-
137- for ( int i = availableRelics . Length ; i < count ; i ++ )
138- {
139- availableRelics = availableRelics . Append ( RelicDictionary [ 0 ] . Clone ( ) ) . ToArray ( ) ;
140- }
141- return availableRelics ;
142- }
143-
144155 public static readonly SongTemplate [ ] SongDictionary = new [ ]
145156 {
146157 new SongTemplate (
@@ -179,4 +190,40 @@ public static RelicTemplate[] GetRandomRelics(RelicTemplate[] ownedRelics, int c
179190 "res://scenes/Puppets/Enemies/TheGWS/GWS.tscn"
180191 ) ,
181192 } ;
193+
194+ //TODO: Item pool(s)
195+
196+ public static RelicTemplate [ ] GetRandomRelics ( RelicTemplate [ ] ownedRelics , int count )
197+ {
198+ var availableRelics = Scribe
199+ . RelicDictionary . Where ( r => ownedRelics . All ( o => o . Name != r . Name ) )
200+ . ToArray ( ) ;
201+
202+ availableRelics = availableRelics
203+ . OrderBy ( _ => StageProducer . GlobalRng . Randi ( ) )
204+ . Take ( count )
205+ . Select ( r => r . Clone ( ) )
206+ . ToArray ( ) ;
207+
208+ for ( int i = availableRelics . Length ; i < count ; i ++ )
209+ {
210+ availableRelics = availableRelics . Append ( RelicDictionary [ 0 ] . Clone ( ) ) . ToArray ( ) ;
211+ }
212+ return availableRelics ;
213+ }
214+
215+ public static Note [ ] GetRandomRewardNotes ( int count )
216+ {
217+ var availableNotes = Scribe
218+ . NoteDictionary . Where ( r => r . Name . Contains ( "Player" ) ) //TODO: Classifications/pools
219+ . ToArray ( ) ;
220+
221+ availableNotes = availableNotes
222+ . OrderBy ( _ => StageProducer . GlobalRng . Randi ( ) )
223+ . Take ( count )
224+ . Select ( r => r . Clone ( ) )
225+ . ToArray ( ) ;
226+
227+ return availableNotes ;
228+ }
182229}
0 commit comments