55import arc .util .Log ;
66import exogenesis .entities .EntityRegister ;
77import exogenesis .graphics .ExoShaders ;
8+ import exogenesis .type .DamageType ;
89import exogenesis .type .bullet .TypedBulletType ;
10+ import exogenesis .type .bullet .vanilla .ExoContinuousFlameBulletType ;
11+ import exogenesis .type .bullet .vanilla .ExoContinuousLaserBulletType ;
12+ import exogenesis .type .bullet .vanilla .ExoFlakBulletType ;
13+ import exogenesis .type .bullet .vanilla .ExoLaserBulletType ;
914import exogenesis .util .func .DrawFunc ;
1015import exogenesis .world .ExoTeams ;
16+ import mindustry .content .Blocks ;
17+ import mindustry .content .Liquids ;
18+ import mindustry .content .UnitTypes ;
1119import mindustry .entities .Effect ;
20+ import mindustry .entities .bullet .BasicBulletType ;
1221import mindustry .entities .bullet .BulletType ;
1322import mindustry .game .EventType ;
1423import exogenesis .util .util .Utils ;
2029import mindustry .gen .Unit ;
2130import mindustry .mod .Mod ;
2231import mindustry .mod .Mods ;
32+ import mindustry .world .Block ;
33+ import mindustry .world .blocks .defense .turrets .ContinuousLiquidTurret ;
34+ import mindustry .world .blocks .defense .turrets .ContinuousTurret ;
35+ import mindustry .world .blocks .defense .turrets .LaserTurret ;
36+ import mindustry .world .blocks .defense .turrets .PowerTurret ;
2337//import exogenesis.gen.*;
2438
2539import static arc .Core .app ;
@@ -38,6 +52,7 @@ public ExogenesisMod(){
3852 });
3953
4054 if (DEBUG ){
55+ //also one thing: splash damage not apply to typed damage properly, this is a todo
4156 Events .on (EventType .UnitDamageEvent .class , event -> {
4257 BulletType type = event .bullet .type ();
4358 Unit unit = event .unit ;
@@ -72,5 +87,33 @@ public void loadContent(){
7287 ExoPlanets .load ();
7388 ExoSectorPresets .load ();
7489 ExoVanstarTechTree .load ();
90+
91+ //for debug use, test for display. can remove safely
92+ if (DEBUG ){
93+ //test for PowerTurret display (lancer)
94+ BulletType laser = new ExoLaserBulletType ();
95+ laser .damage = 500f ;
96+ ((TypedBulletType ) laser ).addDamageMultiplier (ExoDamageTypes .kinetic , 1.2f , ExoDamageTypes .energy , 0.8f , ExoDamageTypes .graviton , 0.5f );
97+ ((PowerTurret )Blocks .lancer ).shootType = laser ;
98+
99+ //test for ContinuousLiquidTurret display (sublimate)\
100+ //actually there can be some display problem for display, todo later
101+ //BulletType flame = new ExoContinuousFlameBulletType();
102+ //flame.damage = 1000f / 12f;
103+ //((TypedBulletType) flame).addDamageMultiplier(ExoDamageTypes.kinetic, 2f, ExoDamageTypes.energy, 0.3f, ExoDamageTypes.thermal, 5f);
104+ //((ContinuousLiquidTurret)Blocks.sublimate).ammoTypes.put(Liquids.cyanogen, flame);
105+
106+ //test for ContinuousTurret display (meltdown)
107+ BulletType beam = new ExoContinuousLaserBulletType ();
108+ beam .damage = 5000f / 12f ;
109+ ((TypedBulletType ) beam ).addDamageMultiplier (ExoDamageTypes .energy , 2f , ExoDamageTypes .cryogenic , 4f );
110+ ((LaserTurret )Blocks .meltdown ).shootType = beam ;
111+
112+ //test for Unit Display (gamma)
113+ BulletType bullet = new ExoFlakBulletType ();
114+ bullet .damage = 200 ;
115+ ((TypedBulletType ) bullet ).addDamageMultiplier (ExoDamageTypes .explosive , 5f , ExoDamageTypes .pierce , 2.5f );
116+ UnitTypes .gamma .weapons .each (weapon -> weapon .bullet = bullet );
117+ }
75118 }
76119}
0 commit comments