Skip to content

Commit a5c2074

Browse files
committed
Updated to v1.3.0
1 parent 3de483b commit a5c2074

21 files changed

Lines changed: 481 additions & 173 deletions

AdditionalVariants/AdditionalVariants.csproj

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,18 @@
1010
</PropertyGroup>
1111

1212
<ItemGroup>
13-
<Content Include="Content/Atlas/**/*">
13+
<Content Include="Content/**/*">
1414
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
1515
</Content>
1616
</ItemGroup>
1717

18-
<ItemGroup>
18+
<!-- <ItemGroup>
1919
<PackageReference Include="System.Text.Json" Version="7.0.3" />
20-
</ItemGroup>
20+
</ItemGroup> -->
21+
22+
23+
<Target Name="ClutterPacker" BeforeTargets="CoreCompile">
24+
<Exec Command="cluttered config -i Content/Atlas/packer/packer-config.toml"/>
25+
</Target>
2126
</Project>
2227

AdditionalVariants/AdditionalVariantsModule.cs

Lines changed: 45 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
using AdditionalVariants.EX;
2-
using AdditionalVariants.EX.JesterHat;
1+
// using AdditionalVariants.EX;
2+
// using AdditionalVariants.EX.JesterHat;
33
using FortRise;
44
using Monocle;
55

@@ -8,12 +8,10 @@ namespace AdditionalVariants;
88
[Fort("com.terria.additionalvariants", "Additional Variants")]
99
public class AdditionalVariantsModule : FortModule
1010
{
11-
public static Atlas AVAtlas;
1211
public static NeonShaderResource NeonShader;
1312

1413
public override void LoadContent()
1514
{
16-
AVAtlas = Content.LoadAtlas("Atlas/atlas.json", "Atlas/atlas.png");
1715
NeonShader = Content.LoadShader<NeonShaderResource>("Effects/neon.fxb", "Neon", out var _);
1816
}
1917

@@ -30,14 +28,19 @@ public override void Load()
3028
NoDodgeCancel.Load();
3129
ChaoticRoll.Load();
3230
FadingArrow.Load();
31+
PlayerStaminaHooks.Load();
32+
// ArrowFallingUp.Load();
3333
FortRise.RiseCore.Events.OnPreInitialize += OnPreInitialize;
3434
}
3535

3636
private void Begin_patch(On.TowerFall.Level.orig_Begin orig, TowerFall.Level self)
3737
{
3838
orig(self);
39-
// var filter = new NeonFilter();
40-
// self.Activate(filter);
39+
if (self.Session.MatchSettings.Variants.GetCustomVariant("NeonWorld"))
40+
{
41+
var filter = new NeonFilter();
42+
self.Activate(filter);
43+
}
4144
}
4245

4346
public override void Unload()
@@ -53,13 +56,15 @@ public override void Unload()
5356
LavaOverload.Unload();
5457
ChaoticRoll.Unload();
5558
FadingArrow.Unload();
59+
PlayerStaminaHooks.Unload();
60+
// ArrowFallingUp.Unload();
5661
FortRise.RiseCore.Events.OnPreInitialize -= OnPreInitialize;
5762
}
5863

5964
private void OnPreInitialize()
6065
{
61-
TfExAPIModImports.RegisterVariantStateEvents?.Invoke
62-
(this, "JestersHat", JesterHatStateEvents.OnSaveState, JesterHatStateEvents.OnLoadState);
66+
// TfExAPIModImports.RegisterVariantStateEvents?.Invoke
67+
// (this, "JestersHat", JesterHatStateEvents.OnSaveState, JesterHatStateEvents.OnLoadState);
6368
}
6469

6570
private void BottomlessQuiver(On.TowerFall.Player.orig_Added orig, TowerFall.Player self)
@@ -72,64 +77,79 @@ private void BottomlessQuiver(On.TowerFall.Player.orig_Added orig, TowerFall.Pla
7277
public override void OnVariantsRegister(VariantManager manager, bool noPerPlayer = false)
7378
{
7479
var blQuiverInfo = new CustomVariantInfo(
75-
"BottomlessQuiver", AVAtlas["variants/bottomlessQuiver"],
80+
"BottomlessQuiver", TextureRegistry.BottomlessQuiver,
7681
"No limit on how many arrows you can hold".ToUpperInvariant(),
7782
CustomVariantFlags.PerPlayer | CustomVariantFlags.CanRandom
7883
);
7984
var atomicInfo = new CustomVariantInfo(
80-
"AtomicArrow", AVAtlas["variants/atomicArrow"],
85+
"AtomicArrow", TextureRegistry.AtomicArrow,
8186
description: "Arrow explodes when stucked".ToUpperInvariant(),
8287
CustomVariantFlags.PerPlayer | CustomVariantFlags.CanRandom
8388
);
8489
var annoyanceInfo = new CustomVariantInfo(
85-
"AnnoyingMage", AVAtlas["variants/annoyingMage"],
90+
"AnnoyingMage", TextureRegistry.AnnoyingMage,
8691
description: "Summons an invincible Technomage".ToUpperInvariant(),
8792
CustomVariantFlags.CanRandom
8893
);
8994
var shockInfo = new CustomVariantInfo(
90-
"ShockDeath", AVAtlas["variants/shockDeath"],
95+
"ShockDeath", TextureRegistry.ShockDeath,
9196
description: "Summons a shockwave when a player died".ToUpperInvariant(),
9297
CustomVariantFlags.PerPlayer | CustomVariantFlags.CanRandom
9398
);
9499
var chestInfo = new CustomVariantInfo(
95-
"ChestDeath", AVAtlas["variants/chestDeath"],
100+
"ChestDeath", TextureRegistry.ChestDeath,
96101
description: "Spawns a chest when a player died".ToUpperInvariant(),
97102
CustomVariantFlags.PerPlayer | CustomVariantFlags.CanRandom
98103
);
99104
var jestInfo = new CustomVariantInfo(
100-
"JestersHat", AVAtlas["variants/jesterHat"],
105+
"JestersHat", TextureRegistry.JesterHat,
101106
description: "Allows player to teleport by dashing".ToUpperInvariant(),
102107
CustomVariantFlags.PerPlayer | CustomVariantFlags.CanRandom
103108
);
104109
var darkInfo = new CustomVariantInfo(
105-
"DarkWorld", AVAtlas["variants/darkWorld"],
110+
"DarkWorld", TextureRegistry.DarkWorld,
106111
description: "Makes dark effect darker".ToUpperInvariant(),
107112
CustomVariantFlags.CanRandom
108113
);
109114
var lavaInfo = new CustomVariantInfo(
110-
"LavaOverload", AVAtlas["variants/lavaOverload"],
115+
"LavaOverload", TextureRegistry.LavaOverload,
111116
description: "Four sides lava will appear".ToUpperInvariant(),
112117
CustomVariantFlags.CanRandom
113118
);
114119
var rollInfo = new CustomVariantInfo(
115-
"ChaoticRoll", AVAtlas["variants/chaoticroll"],
120+
"ChaoticRoll", TextureRegistry.ChaoticRoll,
116121
description: "Random variants every round".ToUpperInvariant()
117122
);
118123
var noHypersInfo = new CustomVariantInfo(
119-
"NoHypers", AVAtlas["variants/noHypers"],
124+
"NoHypers", TextureRegistry.NoHypers,
120125
description: "Removes the ability to hyper dodge".ToUpperInvariant(),
121126
CustomVariantFlags.CanRandom | CustomVariantFlags.PerPlayer
122127
);
123128
var noDodgeCancelInfo = new CustomVariantInfo(
124-
"NoDodgeCancel", AVAtlas["variants/noDodgeCancel"],
129+
"NoDodgeCancel", TextureRegistry.NoDodgeCancel,
125130
description: "Removes the dodge cancellation mechanic".ToUpperInvariant(),
126131
CustomVariantFlags.CanRandom | CustomVariantFlags.PerPlayer
127132
);
128133
var fadingInfo = new CustomVariantInfo(
129-
"FadingArrow", AVAtlas["variants/fadingArrow"],
134+
"FadingArrow", TextureRegistry.FadingArrow,
130135
description: "Arrow will start fading when stucked".ToUpperInvariant(),
131136
CustomVariantFlags.CanRandom | CustomVariantFlags.PerPlayer
132137
);
138+
var neonInfo = new CustomVariantInfo(
139+
"NeonWorld", TextureRegistry.NeonWorld,
140+
description: "Welcome to the Cyber World".ToUpperInvariant(),
141+
CustomVariantFlags.CanRandom
142+
);
143+
var staminaInfo = new CustomVariantInfo(
144+
"DashStamina", TextureRegistry.DashStamina,
145+
description: "Unleashes the stamina mechanic for dashes".ToUpperInvariant(),
146+
CustomVariantFlags.CanRandom
147+
);
148+
// var arrowFallingUp = new CustomVariantInfo(
149+
// "ArrowFallingUp", AVAtlas["variants/arrowFallingUp"],
150+
// description: "Arrow will fall upwards".ToUpperInvariant(),
151+
// CustomVariantFlags.CanRandom | CustomVariantFlags.PerPlayer
152+
// );
133153

134154
var bottomlessQuiver = manager.AddVariant(blQuiverInfo);
135155
manager.AddVariant(atomicInfo);
@@ -143,12 +163,17 @@ public override void OnVariantsRegister(VariantManager manager, bool noPerPlayer
143163
var noHyper = manager.AddVariant(noHypersInfo);
144164
var noDodgeCancel = manager.AddVariant(noDodgeCancelInfo);
145165
manager.AddVariant(fadingInfo);
166+
var neonWorld = manager.AddVariant(neonInfo);
167+
var staminaDash = manager.AddVariant(staminaInfo);
168+
// manager.AddVariant(arrowFallingUp);
146169

147170
manager.CreateLinks(bottomlessQuiver, manager.MatchVariants.NoQuivers);
148171
manager.CreateLinks(bottomlessQuiver, manager.MatchVariants.SmallQuivers);
149172
manager.CreateLinks(annoyingMage, manager.MatchVariants.DarkPortals);
150173
manager.CreateLinks(noHyper, manager.MatchVariants.NoDodging);
151174
manager.CreateLinks(noDodgeCancel, manager.MatchVariants.NoDodging);
175+
manager.CreateLinks(staminaDash, manager.MatchVariants.NoDodging);
152176
manager.CreateLinks(noHyper, noDodgeCancel);
177+
manager.CreateLinks(neonWorld, manager.MatchVariants.AlwaysDark);
153178
}
154179
}

AdditionalVariants/Content/Atlas/atlas.json

Lines changed: 69 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,33 @@
11
{
2-
"sheet_path": "../atlas/png",
2+
"sheet_path": "Content/Atlas/packer/../atlas/png",
33
"frames": {
4-
"chest/graychest": {
5-
"x": 40,
4+
"variants/fadingArrow": {
5+
"x": 16,
6+
"y": 10,
7+
"width": 16,
8+
"height": 16
9+
},
10+
"variants/noHypers": {
11+
"x": 0,
12+
"y": 10,
13+
"width": 16,
14+
"height": 16
15+
},
16+
"chest/redchest": {
17+
"x": 0,
618
"y": 0,
719
"width": 40,
820
"height": 10
921
},
10-
"variants/jesterHat": {
11-
"x": 30,
12-
"y": 26,
22+
"variants/shockDeath": {
23+
"x": 32,
24+
"y": 10,
1325
"width": 14,
1426
"height": 14
1527
},
16-
"variants/noDodgeCancel": {
17-
"x": 0,
18-
"y": 26,
19-
"width": 16,
20-
"height": 16
21-
},
22-
"variants/bottomlessQuiver": {
23-
"x": 44,
24-
"y": 24,
28+
"variants/jesterHat": {
29+
"x": 32,
30+
"y": 38,
2531
"width": 14,
2632
"height": 14
2733
},
@@ -31,63 +37,81 @@
3137
"width": 40,
3238
"height": 10
3339
},
34-
"variants/noHypers": {
35-
"x": 0,
36-
"y": 10,
40+
"variants/arrowFallingUp": {
41+
"x": 16,
42+
"y": 42,
3743
"width": 16,
3844
"height": 16
3945
},
40-
"variants/lavaOverload": {
41-
"x": 16,
42-
"y": 40,
46+
"variants/darkWorld": {
47+
"x": 46,
48+
"y": 24,
4349
"width": 14,
4450
"height": 14
4551
},
46-
"variants/chestDeath": {
47-
"x": 30,
48-
"y": 40,
52+
"variants/bottomlessQuiver": {
53+
"x": 60,
54+
"y": 10,
4955
"width": 14,
5056
"height": 14
5157
},
58+
"variants/noDodgeCancel": {
59+
"x": 0,
60+
"y": 26,
61+
"width": 16,
62+
"height": 16
63+
},
64+
"misc/staminabar": {
65+
"x": 0,
66+
"y": 58,
67+
"width": 20,
68+
"height": 5
69+
},
70+
"variants/chaoticroll": {
71+
"x": 16,
72+
"y": 26,
73+
"width": 16,
74+
"height": 16
75+
},
5276
"variants/annoyingMage": {
53-
"x": 44,
77+
"x": 60,
5478
"y": 38,
5579
"width": 14,
5680
"height": 14
5781
},
58-
"variants/darkWorld": {
59-
"x": 32,
82+
"variants/dashStamina": {
83+
"x": 46,
6084
"y": 10,
6185
"width": 14,
6286
"height": 14
6387
},
64-
"variants/fadingArrow": {
65-
"x": 0,
66-
"y": 42,
67-
"width": 16,
68-
"height": 16
88+
"variants/atomicArrow": {
89+
"x": 60,
90+
"y": 24,
91+
"width": 14,
92+
"height": 14
6993
},
70-
"chest/redchest": {
71-
"x": 0,
94+
"variants/lavaOverload": {
95+
"x": 32,
96+
"y": 24,
97+
"width": 14,
98+
"height": 14
99+
},
100+
"chest/graychest": {
101+
"x": 40,
72102
"y": 0,
73103
"width": 40,
74104
"height": 10
75105
},
76-
"variants/chaoticroll": {
77-
"x": 16,
78-
"y": 10,
106+
"variants/neonWorld": {
107+
"x": 0,
108+
"y": 42,
79109
"width": 16,
80110
"height": 16
81111
},
82-
"variants/shockDeath": {
83-
"x": 16,
84-
"y": 26,
85-
"width": 14,
86-
"height": 14
87-
},
88-
"variants/atomicArrow": {
112+
"variants/chestDeath": {
89113
"x": 46,
90-
"y": 10,
114+
"y": 38,
91115
"width": 14,
92116
"height": 14
93117
}
526 Bytes
Loading
610 Bytes
Binary file not shown.
142 Bytes
Loading

AdditionalVariants/Content/Atlas/packer/packer-config.toml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@ output_path = "../"
33
output_type = "Json"
44
folders = [
55
"variants",
6-
"chest"
6+
"chest",
7+
"misc"
78
]
89

910
[image_options]
Binary file not shown.
256 Bytes
Loading
221 Bytes
Loading

0 commit comments

Comments
 (0)