Skip to content

Commit e391106

Browse files
authored
Merge pull request #29 from JiroCab/experimental
Experimental
2 parents 726a786 + c9ee8d4 commit e391106

13 files changed

+252
-202
lines changed

assets/bundles/bundle.properties

+3-1
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,11 @@ techtree.olupis =Nyfalis
99

1010
nyfalis-disclaimer.name =Nyfalis Disclaimer
1111
nyfalis-disclaimer.header =[scarlet] \u26A0 Nyfalis is major Work in progress, proceed with caution \u26A0
12-
nyfalis-disclaimer.body = Nyfalis [lightgray](Olupis internally)[] is still being worked on, Anything at any point may break in a spectacular fashion, crash or break maps & saves \n\nIf you wish to play this mod, Keep in mind content named with \n[accent](wip)[] = may change/break any time, [yellow] (sp)[] = sprites aren't final, [blue](bp)[] = balance isn't a thing, [teal](sbp)[] = combines sp & bp\n\n[scarlet]FOO CLIENT USERS BE WARNED AS THERE IS A KNOWN SAVE CORRUPTION BUG THAT MAY HAPPEN[]\n\n Hope you enjoy the progress so far! <3 \n[accent]Also you can see/hide this disclaimer in settings[]
12+
nyfalis-disclaimer.body = Nyfalis [lightgray](Olupis internally)[] is still being worked on, Anything at any point may break in a spectacular fashion, crash or break maps & saves \n\nIf you wish to play this mod, Keep in mind content named with \n[accent](wip)[] = may change/break any time, [yellow] (sp)[] = sprites aren't final, [blue](bp)[] = balance isn't a thing, [teal](sbp)[] = combines sp & bp\n\n[purple]FOO CLIENT USERS BE WARNED AS THERE IS A KNOWN SAVE CORRUPTION BUG THAT MAY HAPPEN[]\n\n Hope you enjoy the progress so far! <3 \n[accent]Also you can see/hide this disclaimer in settings[]
13+
nyfalis-disclaimer.leg =[scarlet] \u26A0 Nyfalis is Made for v7! Not everything may work as intended on later versions! \u26A0
1314
nyfalis-disclaimer.save =Old Nyfalis saves/sectors detected \n\n [scarlet]Sectors has been reworked since the last version loaded with the mod[]\nIt is highly recommended to restart the nyfalis campaign \n\n we apologize for making you redo your progress \nIf you wish to restart the just Nyfalis campaign, proceed to \n[accent]"Settings > Nyfalis Settings > Nyfalis Game Data > Clear Nyfalis Sectors"[] \nClosing this disclaimer you hereby accept this information\n If you wish to continue, you may attempt to repair saves in the same menu! do it at your own risk\n\n[lightgray]= Additional info || Last Sector Version: {0} || Current Sector version: {1} =
1415
nyfalis-disclaimer.funny =OwO you found a Easter egg! veri luck, nice :3
16+
# Im slowly running out of parts for disclaimer prefix/suffixes
1517

1618
block.olupis-mossy-boulder.description =A funky little rock that shows the history of its surroundings.
1719
block.olupis-mossy-boulder.details =We have responded to a distress signal from an invisible source, upon arriving at the location a planet shrouded by technology and cloaked by magic appeared before the might of the Shard, landing at a nearby moon we construct a core with chunks of metal. Fifth Era records show this planet was called Nyfalis, and was the origin world for the Verdant, a nature oriented faction built by the Precursors to shield this planet from harm. They will defend this world till the bitter end, and its our duty to protect it from the damage caused by the spores, we will not repeat our mistakes.

assets/maps/glasier-sea.msav

4.88 KB
Binary file not shown.

assets/maps/terraroot-caves.msav

6.81 KB
Binary file not shown.

changelog.txt

+10-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,16 @@
11
== Olupis Major change log ==
22
https://github.com/JiroCab/Olupis
3-
Last updated on 12/12/2024 (+8utc) by Jirocab/RushieWashie
3+
Last updated on 23/12/2024 (+8utc) by Jirocab/RushieWashie
44

5-
= Version 1-7-3 () =
5+
= Version 1-7-4 () =
6+
~ Improved BE/v8 compatibility but many things have been disabled till proper migration
7+
~ Improved CoredDatabase of turrets by sorting the ammo entries based on damage
8+
~ Bug fix: Replicators' selected unit being changed if more units are loaded (new units/other mods)
9+
~ Bug fix: Replicators' being unselectable/configurable in sandbox despite being buildable
10+
~ Bug fix: Fixed Fabricators not being set to the proper units in glasierSea & terrarootCaves from bug above
11+
- Removed custom handler for disclaimer for foo's as that has been fixed on their end (Thx buthed!)
12+
13+
= Version 1-7-3 (726a786) = https://github.com/JiroCab/Nyfalis/tree/726a7863dfede33e862801cf46343cfc4b946621
614
+ Sprites updated: repairPin, oreAlco, oreCobalt
715
+ Blocks added: deliveryTerminal, rustedMetal, slopDeep, fortifiedRadiator, inductionSmelter, coreRelic, coreVestige, 5x5Turret base, alternateArticulator, emulsiveSlop
816
+ Units added: dipteara, shade, reapre, lexington, crusader, luridiblatta, nyctalus

mod.hjson

+2-2
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,10 @@ main: "olupis.NyfalisMain"
1414
#the mod description as seen in the mod dialog
1515
description: "(\u26A0Work in progress\u26A0)\n Yet another planet mod \nThat does it's best to give the player(s) a bit of something new,\n with a minor hint of what the base game has to offer, focus on RTS controls, and pain on top"
1616

17-
subtitle: "Yet another planet mod, v1.7.3"
17+
subtitle: "Yet another planet mod, v1.7.4"
1818

1919
#the mod version
20-
version: 1.7.3
20+
version: 1.7.4
2121

2222
#the minimum game build required to run this mod
2323
minGameVersion: 136

src/olupis/NyfalisMain.java

+7-1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import mindustry.Vars;
1010
import mindustry.content.Blocks;
1111
import mindustry.content.Planets;
12+
import mindustry.core.*;
1213
import mindustry.game.EventType;
1314
import mindustry.game.EventType.ClientLoadEvent;
1415
import mindustry.game.EventType.FileTreeInitEvent;
@@ -28,6 +29,8 @@
2829
import olupis.world.entities.packets.NyfalisSyncOtherSettingsPacket;
2930
import olupis.world.planets.NyfalisTechTree;
3031

32+
import java.util.*;
33+
3134
import static mindustry.Vars.*;
3235
import static olupis.content.NyfalisBlocks.*;
3336
import static olupis.content.NyfalisPlanets.*;
@@ -37,10 +40,12 @@ public class NyfalisMain extends Mod{
3740
public static LimitedLauncherSelect sectorSelect;
3841
public static NyfalisLogicDialog logicDialog;
3942
public NyfalisSettingsDialog nyfalisSettings;
40-
public static boolean shownWarning = false;
43+
public static boolean shownWarning = false, incompatible = false;
4144

4245
@Override
4346
public void loadContent(){
47+
incompatible = (Version.number == 7 && Objects.equals(Version.type, "official"));
48+
4449
NyfalisShaders.LoadShaders();
4550
NyfalisShaders.LoadCacheLayer(); //idk when to load this so it 1st -Rushie
4651
NyfalisItemsLiquid.LoadItems();
@@ -187,6 +192,7 @@ public static void sandBoxCheck(){
187192
}
188193

189194
public static void sandBoxCheck(Boolean auto){
195+
if(NyfalisMain.incompatible) return;
190196
if(!state.isPlaying()) return;
191197
if(net.client())return;
192198
if(!Core.settings.getBool("nyfalis-auto-ban") && auto) return;

src/olupis/content/NyfalisTurrets.java

+108-106
Original file line numberDiff line numberDiff line change
@@ -50,125 +50,127 @@ public static void LoadTurrets(){
5050

5151
//region Turrets
5252
corroder = new NyfalisLiquidTurret("corroder"){{ //architronito
53-
targetAir = emitLight = true;
53+
targetAir = emitLight = true;
5454

55-
size = 2;
56-
recoil = 1;
57-
shootY = 7f;
58-
range = 15 * 8f;
59-
health = 750;
60-
fogRadius = 13;
61-
shootCone = 50f;
62-
inaccuracy = 8.5f;
63-
rotateSpeed = 3f;
64-
lightRadius = 150;
65-
coolantMultiplier = 2.5f;
66-
liquidCapacity = reload = 5f;
55+
size = 2;
56+
recoil = 1;
57+
shootY = 7f;
58+
range = 15 * 8f;
59+
health = 750;
60+
fogRadius = 13;
61+
shootCone = 50f;
62+
inaccuracy = 8.5f;
63+
rotateSpeed = 3f;
64+
lightRadius = 150;
65+
coolantMultiplier = 2.5f;
66+
liquidCapacity = reload = 5f;
6767

68-
ammo(
69-
Liquids.water, new LiquidBulletType(Liquids.water){{
70-
status = StatusEffects.corroded;
71-
layer = Layer.bullet -2f;
72-
trailColor = hitColor;
73-
74-
speed = 5.5f;
75-
drag = 0.008f;
76-
damage = 10f;
77-
pierceCap = 1;
78-
lifetime = 9999f;
79-
rangeChange = 15f;
80-
ammoMultiplier = 1.5f;
81-
trailInterval = trailParam = 1.5f;
82-
buildingDamageMultiplier = 0.5f;
83-
84-
statusDuration = 60f * 2;
85-
}},
86-
steam, new NoBoilLiquidBulletType(steam){{
87-
evaporatePuddles = pierce = true;
68+
ammo(
69+
Liquids.water, new LiquidBulletType(Liquids.water){{
8870
status = StatusEffects.corroded;
71+
layer = Layer.bullet -2f;
8972
trailColor = hitColor;
9073

91-
speed = 8f;
92-
drag = 0.009f;
74+
speed = 5.5f;
75+
drag = 0.008f;
76+
damage = 10f;
77+
pierceCap = 1;
9378
lifetime = 9999f;
94-
damage = 15f;
95-
pierceCap = 3;
96-
ammoMultiplier = 2.5f;
97-
statusDuration = 60f * 5;
79+
rangeChange = 15f;
80+
ammoMultiplier = 1.5f;
9881
trailInterval = trailParam = 1.5f;
9982
buildingDamageMultiplier = 0.5f;
100-
}},
101-
Liquids.slag, new LiquidBulletType(Liquids.slag){{
102-
speed = 5.8f;
103-
damage = 17;
104-
pierceCap = 1;
105-
drag = 0.0009f;
106-
lifetime = 9999f;
107-
rangeChange = 20f;
108-
ammoMultiplier = 3f;
109-
statusDuration = 60f * 2;
110-
layer = Layer.bullet -2f;
111-
hitSize = puddleSize = 7f;
112-
trailInterval = trailParam = 1.5f;
113-
buildingDamageMultiplier = 0.4f;
11483

115-
trailColor = hitColor;
116-
status = StatusEffects.melting;
117-
}},
118-
emulsiveSlop, new LiquidBulletType(emulsiveSlop){{
119-
speed = 5.8f;
120-
damage = 13;
121-
pierceCap = 1;
122-
drag = 0.0009f;
123-
lifetime = 9999f;
124-
rangeChange = 20f;
125-
ammoMultiplier = 3f;
126-
statusDuration = 60f * 2;
127-
layer = Layer.bullet -2f;
128-
hitSize = puddleSize = 7f;
129-
trailInterval = trailParam = 1.5f;
130-
buildingDamageMultiplier = 0.4f;
84+
statusDuration = 60f * 2;
85+
}},
86+
steam, new NoBoilLiquidBulletType(steam){{
87+
evaporatePuddles = pierce = true;
88+
status = StatusEffects.corroded;
89+
trailColor = hitColor;
90+
91+
speed = 8f;
92+
drag = 0.009f;
93+
lifetime = 9999f;
94+
damage = 15f;
95+
pierceCap = 3;
96+
ammoMultiplier = 2.5f;
97+
statusDuration = 60f * 5;
98+
trailInterval = trailParam = 1.5f;
99+
buildingDamageMultiplier = 0.5f;
100+
}},
101+
Liquids.slag, new LiquidBulletType(Liquids.slag){{
102+
speed = 5.8f;
103+
damage = 17;
104+
pierceCap = 1;
105+
drag = 0.0009f;
106+
lifetime = 9999f;
107+
rangeChange = 20f;
108+
ammoMultiplier = 3f;
109+
statusDuration = 60f * 2;
110+
layer = Layer.bullet -2f;
111+
hitSize = puddleSize = 7f;
112+
trailInterval = trailParam = 1.5f;
113+
buildingDamageMultiplier = 0.4f;
131114

132-
trailColor = hitColor;
133-
status = NyfalisStatusEffects.sloppy;
134-
}}
135-
);
136-
drawer = new DrawTurret("iron-"){{
137-
parts.addAll(
138-
new RegionPart("-barrel"){{
139-
mirror = false;
140-
under = true;
141-
progress = PartProgress.recoil;
142-
moves.add(new PartMove(PartProgress.recoil, 0f, -3f, 0f));
143-
}}, new RegionPart("-front-wing"){{
144-
mirror = true;
145-
under = true;
146-
layerOffset = -0.1f;
147-
progress = PartProgress.warmup;
148-
moves.add(new PartMove(PartProgress.recoil, 0f, 0, -12f));
149-
}}, new RegionPart("-back-wing"){{
150-
mirror = true;
151-
under = true;
152-
layerOffset = -0.1f;
153-
progress = PartProgress.smoothReload;
154-
moves.add(new PartMove(PartProgress.recoil, 0f, -1f, 12f));
115+
trailColor = hitColor;
116+
status = StatusEffects.melting;
117+
}},
118+
emulsiveSlop, new LiquidBulletType(emulsiveSlop){{
119+
speed = 5.8f;
120+
damage = 13;
121+
pierceCap = 1;
122+
drag = 0.0009f;
123+
lifetime = 9999f;
124+
rangeChange = 20f;
125+
ammoMultiplier = 3f;
126+
statusDuration = 60f * 2;
127+
layer = Layer.bullet -2f;
128+
hitSize = puddleSize = 7f;
129+
trailInterval = trailParam = 1.5f;
130+
buildingDamageMultiplier = 0.4f;
131+
132+
trailColor = hitColor;
133+
status = NyfalisStatusEffects.sloppy;
155134
}}
156135
);
157-
}};
158-
limitRange(0f);
159-
loopSound = Sounds.steam;
160-
consumePower(1f);
161-
lightColor = turretLightColor;
162-
outlineColor = nyfalisBlockOutlineColour;
163-
researchCost = with(rustyIron, 100, lead, 100);
164-
flags = EnumSet.of(BlockFlag.turret, BlockFlag.extinguisher);
165-
requirements(Category.turret, with(rustyIron, 40, lead, 20));
136+
drawer = new DrawTurret("iron-"){{
137+
parts.addAll(
138+
new RegionPart("-barrel"){{
139+
mirror = false;
140+
under = true;
141+
progress = PartProgress.recoil;
142+
moves.add(new PartMove(PartProgress.recoil, 0f, -3f, 0f));
143+
}}, new RegionPart("-front-wing"){{
144+
mirror = true;
145+
under = true;
146+
layerOffset = -0.1f;
147+
progress = PartProgress.warmup;
148+
moves.add(new PartMove(PartProgress.recoil, 0f, 0, -12f));
149+
}}, new RegionPart("-back-wing"){{
150+
mirror = true;
151+
under = true;
152+
layerOffset = -0.1f;
153+
progress = PartProgress.smoothReload;
154+
moves.add(new PartMove(PartProgress.recoil, 0f, -1f, 12f));
155+
}}
156+
);
157+
}};
158+
limitRange(0f);
159+
loopSound = Sounds.steam;
160+
consumePower(1f);
161+
lightColor = turretLightColor;
162+
outlineColor = nyfalisBlockOutlineColour;
163+
researchCost = with(rustyIron, 100, lead, 100);
164+
flags = EnumSet.of(BlockFlag.turret, BlockFlag.extinguisher);
165+
requirements(Category.turret, with(rustyIron, 40, lead, 20));
166166

167-
}
168-
public void limitRange(float margin){
169-
for(var entry : ammoTypes.entries()){
170-
limitRange(entry.value, margin);
171-
}
167+
}
168+
169+
@Override
170+
public void setStats() {
171+
super.setStats();
172+
stats.remove(Stat.ammo);
173+
stats.add(Stat.ammo, NyfalisStats.ammoWithInfo(ammoTypes, this));
172174
}
173175
};
174176

src/olupis/input/ui/NyfalisStartUpUis.java

+8-6
Original file line numberDiff line numberDiff line change
@@ -44,19 +44,16 @@ public static void disclaimerDialog(){
4444
Label header = new Label("@nyfalis-disclaimer.header");
4545
Label body = new Label("@nyfalis-disclaimer.body");
4646
Label funny = new Label("@nyfalis-disclaimer.funny");
47+
Label leg = new Label("@nyfalis-disclaimer.leg");
4748
header.setAlignment(Align.center);
4849
header.setWrap(true);
4950
body.setWrap(true);
5051
body.sizeBy(10f);
5152
body.setAlignment(Align.center);
5253

53-
t.add(header).row();
54+
t.add(header).fontScale(1.2f).row();
5455

55-
56-
boolean foos = Structs.contains(Version.class.getDeclaredFields(), var -> var.getName().equals("foos"));
57-
//Crash on foo's with how the icon is loaded so this a temp fix that will be here till the end of time
58-
59-
if( foos || Mathf.random(1, 200) == 1 || (Core.input.keyDown(KeyCode.altLeft) && Core.input.keyDown(KeyCode.shiftLeft))){
56+
if(Mathf.random(1, 200) == 1 || (Core.input.keyDown(KeyCode.altLeft) && Core.input.keyDown(KeyCode.shiftLeft))){
6057
TextureRegion icon = NyfalisUnits.gnat.uiIcon;
6158
t.table(a ->{
6259
a.image(icon).scaling(Scaling.bounded).row();
@@ -68,7 +65,12 @@ public static void disclaimerDialog(){
6865
t.table(a -> a.image(icon).scaling(Scaling.bounded).row()).tooltip("Art By RushieWashie").maxSize(700).margin(14).pad(3).center().row();
6966
}
7067

68+
if(NyfalisMain.incompatible){
69+
t.table(z -> {
70+
z.add(leg).fontScale(1.7f).center();
71+
}).row();
7172

73+
}
7274
t.add(body).row();
7375

7476

0 commit comments

Comments
 (0)