@@ -49,17 +49,38 @@ public bool BoostingPlayer
49
49
private readonly SoundSource loopingSfx ;
50
50
public readonly bool QoL ;
51
51
public PurpleBooster ( EntityData data , Vector2 offset )
52
- : this ( data . Position + offset ) {
52
+ : this ( data . Position + offset , data . Attr ( "spriteOverride" , null ) ) {
53
53
QoL = data . Bool ( "QoL" ) ;
54
54
}
55
55
56
- public PurpleBooster ( Vector2 position )
56
+ public PurpleBooster ( Vector2 position , string spriteOverride )
57
57
: base ( position )
58
58
{
59
59
this . Depth = Depths . Above ;
60
60
this . Collider = new Circle ( 10f , 0f , 2f ) ;
61
-
62
- this . sprite = VortexHelperModule . PurpleBoosterSpriteBank . Create ( "purpleBooster" ) ;
61
+ if ( string . IsNullOrWhiteSpace ( spriteOverride ) )
62
+ {
63
+ spriteOverride = spriteOverride . Trim ( ) . TrimEnd ( '/' ) + "/" ;
64
+ this . sprite = new Sprite ( GFX . Game , spriteOverride ) ;
65
+ sprite . CenterOrigin ( ) ;
66
+ sprite . Add ( "appear" , "appear" , 0.04f ) ;
67
+ sprite . AddLoop ( "loop" , "loop" , 0.1f ) ;
68
+ sprite . AddLoop ( "inside" , "inside" , 0.1f ) ;
69
+ sprite . AddLoop ( "spin" , "spin" , 0.1f ) ;
70
+ sprite . Add ( "appear" , "appear" , 0.04f ) ;
71
+ this . linkSegCenter = GFX . Game [ spriteOverride + "link03" ] ;
72
+ this . linkSegCenterOutline = GFX . Game [ spriteOverride + "link02" ] ;
73
+ this . linkSeg = GFX . Game [ spriteOverride + "link01" ] ;
74
+ this . linkSegOutline = GFX . Game [ spriteOverride + "link00" ] ;
75
+ }
76
+ else
77
+ {
78
+ this . sprite = VortexHelperModule . PurpleBoosterSpriteBank . Create ( "purpleBooster" ) ;
79
+ this . linkSegCenter = GFX . Game [ "objects/VortexHelper/slingBooster/link03" ] ;
80
+ this . linkSegCenterOutline = GFX . Game [ "objects/VortexHelper/slingBooster/link02" ] ;
81
+ this . linkSeg = GFX . Game [ "objects/VortexHelper/slingBooster/link01" ] ;
82
+ this . linkSegOutline = GFX . Game [ "objects/VortexHelper/slingBooster/link00" ] ;
83
+ }
63
84
Add ( this . sprite ) ;
64
85
65
86
Add ( new PlayerCollider ( OnPlayer ) ) ;
@@ -70,11 +91,6 @@ public PurpleBooster(Vector2 position)
70
91
this . sprite . Scale = Vector2 . One * ( 1f + f * 0.25f ) ;
71
92
} ) ) ;
72
93
73
- this . linkSegCenter = GFX . Game [ "objects/VortexHelper/slingBooster/link03" ] ;
74
- this . linkSegCenterOutline = GFX . Game [ "objects/VortexHelper/slingBooster/link02" ] ;
75
- this . linkSeg = GFX . Game [ "objects/VortexHelper/slingBooster/link01" ] ;
76
- this . linkSegOutline = GFX . Game [ "objects/VortexHelper/slingBooster/link00" ] ;
77
-
78
94
Add ( this . dashRoutine = new Coroutine ( removeOnComplete : false ) ) ;
79
95
Add ( this . dashListener = new DashListener ( ) ) ;
80
96
0 commit comments