33import arc .graphics .g2d .Draw ;
44import arc .graphics .g2d .Fill ;
55import arc .graphics .g2d .Lines ;
6- import arc .util .Time ;
76import arc .util .Tmp ;
87import exogenesis .content .effects .ExoChargeFx ;
98import exogenesis .entities .part .EffectSpawnPart ;
109import exogenesis .graphics .*;
1110import exogenesis .type .abilities .TurretShield ;
1211import exogenesis .type .bullet .*;
12+ import exogenesis .type .bullet .vanilla .ExoBasicBulletType ;
1313import exogenesis .type .unit .ai .SniperAI ;
1414import exogenesis .type .unit .AxinUnitType ;
15- import exogenesis .type .unit .ExoUnitType ;
1615import arc .graphics .*;
1716import arc .math .*;
1817import exogenesis .type .unit .ai .VanstarUnitType ;
1918import mindustry .ai .types .BuilderAI ;
20- import mindustry .ai .types .RepairAI ;
2119import mindustry .entities .*;
2220import mindustry .entities .abilities .*;
2321import mindustry .entities .bullet .*;
3230import mindustry .content .*;
3331import mindustry .world .meta .BlockFlag ;
3432
33+ import static exogenesis .content .ExoDamageTypes .*;
3534import static arc .graphics .g2d .Draw .*;
3635import static arc .graphics .g2d .Lines .stroke ;
3736import static mindustry .Vars .tilesize ;
@@ -44,6 +43,7 @@ public class ExoUnitTypes {
4443 priest , bishop , apostle ,
4544 soul , pneuma , psyche , myalo , acheron ,
4645 lux , glimmer , shine , auric , radiance ,
46+ flicker , ember , blaze , pyric , phlogiston ,
4747 prayer , apprise , revelation , enlightenment , excelsus ,
4848 twinkle , starlight , stardustVoyager , orion , galileo , kuiper , oort , sirius , scout , guard , sentry , sentinel , overseer /* stele, pedestal, pylon, pillaster, monolith, meteor, asteroid, comet, planetoid, moon */ ;
4949
@@ -2025,59 +2025,68 @@ public static void load() {
20252025 drag = 0.06f ;
20262026 accel = 0.09f ;
20272027 faceTarget = false ;
2028- lowAltitude = true ;
2028+ lowAltitude = false ;
20292029 armor = 5 ;
20302030 rotateSpeed = 4.7f ;
20312031 engineSize = 2.5f ;
20322032 engineOffset = 15 ;
20332033 trailLength = 8 ;
20342034 trailColor = engineColor = ExoPal .empyreanIndigo ;
20352035 weapons .add (new Weapon ("exogenesis-revelation-weapon" ) {{
2036- reload = 80f ;
2036+ reload = 100f ;
20372037 mirror = false ;
20382038 shootCone = 10f ;
20392039 ejectEffect = Fx .none ;
2040- inaccuracy = 2f ;
2040+
20412041 shootY = 10.75f ;
20422042 rotate = false ;
2043- shoot .firstShotDelay = 90 ;
20442043 shootStatusDuration = 100 ;
20452044 shootStatus = StatusEffects .unmoving ;
2045+ inaccuracy = 10f ;
2046+ velocityRnd = 0.4f ;
2047+ shoot = new ShootSpread () {{
2048+ shots = 8 ;
2049+ firstShotDelay = 90 ;
2050+ spread = 4 ;
2051+ }};
20462052 x = 0 ;
20472053 y = 0 ;
2048- shootSound = Sounds .plasmaboom ;
2054+ shootSound = Sounds .shotgun ;
20492055 recoil = 0 ;
20502056 parts .addAll (
20512057 new RegionPart ("-front" ){{
2052- moveX = 3 ;
2053- moveY = -3 ;
2054- moveRot = 35 ;
2058+ moveX = 1 ;
2059+ moveY = -1 ;
2060+ moveRot = - 25 ;
20552061 layer = Layer .flyingUnit -1 ;
20562062 progress = PartProgress .charge .curve (Interp .circleIn );
20572063 mirror = true ;
20582064 }},
20592065 new RegionPart ("-front" ){{
2060- moveX = 3 ;
2061- moveY = -3 ;
2062- moveRot = 28 ;
2066+ moveX = 1 ;
2067+ moveY = -1 ;
2068+ moveRot = - 8 ;
20632069 layer = Layer .flyingUnit -1 ;
20642070 progress = PartProgress .charge .curve (Interp .circleIn );
20652071 mirror = true ;
20662072 }}
20672073 );
2068- bullet = new BasicBulletType ( 8f , 22 ){{
2074+ bullet = new ExoBasicBulletType ( 10f , 22 ){{
20692075 height = 11 ;
20702076 width = 11 ;
20712077 sprite = "exogenesis-plasma" ;
20722078 shootEffect = new MultiEffect (ExoFx .empyreanStarHitSmallWave , Fx .shootBigColor );
20732079 backColor = hitColor = trailColor = ExoPal .empyreanIndigo ;
20742080 mixColorFrom = ExoPal .empyreanIndigoLight ;
20752081 hitEffect = despawnEffect = ExoFx .blastExplosionColor ;
2082+ addDamageMultiplier (
2083+ energy , 1f
20762084
2085+ );
20772086 shrinkX = shrinkY = 0 ;
2078- drag = 0.06f ;
2087+ drag = 0.03f ;
20792088 lifetime = 55f ;
2080- trailWidth = 6f ;
2089+ trailWidth = 4f ;
20812090 trailLength = 5 ;
20822091 lightning = 3 ;
20832092 lightningLength = 6 ;
@@ -2136,13 +2145,13 @@ public static void load() {
21362145 top = false ;
21372146 recoil = 0 ;
21382147 shake = 1f ;
2139- bullet = new BasicBulletType (14 .8f , 1085 ){{
2148+ bullet = new BasicBulletType (10 .8f , 1085 ){{
21402149 width = 25 ;
21412150 height = 55 ;
21422151 recoil = 0.5f ;
21432152 shrinkX = 0.2f ;
21442153 shrinkY = 1f ;
2145- drag = 0.02f ;
2154+ drag = 0.012f ;
21462155 parts .addAll (
21472156 new FlarePart (){{
21482157 progress = PartProgress .life ;
@@ -2161,21 +2170,10 @@ public static void load() {
21612170 hitSound = Sounds .plasmaboom ;
21622171 frontColor = Color .white ;
21632172 backColor = hitColor = trailColor = ExoPal .empyreanIndigo ;
2164- lifetime = 165f ;
2173+ lifetime = 135f ;
21652174 splashDamage = 100 ;
21662175 splashDamageRadius = 70 ;
21672176 hitEffect = despawnEffect = new MultiEffect ( ExoFx .empyreanExplosion );
2168- trailEffect =new MultiEffect ( new Effect (20 , e -> {
2169- Draw .z (Layer .effect );
2170- Draw .color (ExoPal .empyreanIndigo , e .fout ());
2171- Tmp .v1 .trns (e .rotation , e .fin () * 20f );
2172- Lines .ellipse (Tmp .v1 .x + e .x , Tmp .v1 .y + e .y , 0.8f * e .fin () + 0.1f , 14 , 22 , e .rotation );
2173- Lines .stroke (8f * e .fout ());
2174- })
2175- );
2176-
2177- trailRotation = true ;
2178- trailInterval = 8 ;
21792177 lightning = 7 ;
21802178 lightningLength = 9 ;
21812179 lightningColor = ExoPal .empyreanIndigo ;
0 commit comments