Skip to content

Commit cd316cb

Browse files
committed
Add respriting capabliity to PurpleBooster
1 parent 6a2d127 commit cd316cb

File tree

1 file changed

+25
-9
lines changed

1 file changed

+25
-9
lines changed

Code/Entities/PurpleBooster.cs

+25-9
Original file line numberDiff line numberDiff line change
@@ -49,17 +49,38 @@ public bool BoostingPlayer
4949
private readonly SoundSource loopingSfx;
5050
public readonly bool QoL;
5151
public PurpleBooster(EntityData data, Vector2 offset)
52-
: this(data.Position + offset) {
52+
: this(data.Position + offset, data.Attr("spriteOverride", null)) {
5353
QoL = data.Bool("QoL");
5454
}
5555

56-
public PurpleBooster(Vector2 position)
56+
public PurpleBooster(Vector2 position, string spriteOverride)
5757
: base(position)
5858
{
5959
this.Depth = Depths.Above;
6060
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+
}
6384
Add(this.sprite);
6485

6586
Add(new PlayerCollider(OnPlayer));
@@ -70,11 +91,6 @@ public PurpleBooster(Vector2 position)
7091
this.sprite.Scale = Vector2.One * (1f + f * 0.25f);
7192
}));
7293

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-
7894
Add(this.dashRoutine = new Coroutine(removeOnComplete: false));
7995
Add(this.dashListener = new DashListener());
8096

0 commit comments

Comments
 (0)