1- using AdditionalVariants . EX ;
2- using AdditionalVariants . EX . JesterHat ;
1+ // using AdditionalVariants.EX;
2+ // using AdditionalVariants.EX.JesterHat;
33using FortRise ;
44using Monocle ;
55
@@ -8,12 +8,10 @@ namespace AdditionalVariants;
88[ Fort ( "com.terria.additionalvariants" , "Additional Variants" ) ]
99public 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}
0 commit comments