From 403597f860a94f2303bed2edf25d052cb5d7b160 Mon Sep 17 00:00:00 2001 From: Anuken Date: Sun, 5 Jul 2020 10:39:54 -0400 Subject: [PATCH] Unit cleanup --- core/assets-raw/sprites/units/delta-cell.png | Bin 381 -> 0 bytes core/assets-raw/sprites/units/delta.png | Bin 421 -> 0 bytes core/assets-raw/sprites/units/oculon-old.png | Bin 991 -> 1244 bytes .../{oculon-base-old.png => pulsar-base.png} | Bin .../{oculon-cell-old.png => pulsar-cell.png} | Bin .../{oculon-leg-old.png => pulsar-leg.png} | Bin core/assets-raw/sprites/units/pulsar.png | Bin 0 -> 1249 bytes .../{oculon-base.png => quasar-base.png} | Bin .../{oculon-cell.png => quasar-cell.png} | Bin .../units/{oculon-leg.png => quasar-leg.png} | Bin .../sprites/units/{oculon.png => quasar.png} | Bin core/src/mindustry/content/UnitTypes.java | 685 ++++-------------- 12 files changed, 148 insertions(+), 537 deletions(-) delete mode 100644 core/assets-raw/sprites/units/delta-cell.png delete mode 100644 core/assets-raw/sprites/units/delta.png rename core/assets-raw/sprites/units/{oculon-base-old.png => pulsar-base.png} (100%) rename core/assets-raw/sprites/units/{oculon-cell-old.png => pulsar-cell.png} (100%) rename core/assets-raw/sprites/units/{oculon-leg-old.png => pulsar-leg.png} (100%) create mode 100644 core/assets-raw/sprites/units/pulsar.png rename core/assets-raw/sprites/units/{oculon-base.png => quasar-base.png} (100%) rename core/assets-raw/sprites/units/{oculon-cell.png => quasar-cell.png} (100%) rename core/assets-raw/sprites/units/{oculon-leg.png => quasar-leg.png} (100%) rename core/assets-raw/sprites/units/{oculon.png => quasar.png} (100%) diff --git a/core/assets-raw/sprites/units/delta-cell.png b/core/assets-raw/sprites/units/delta-cell.png deleted file mode 100644 index ee7c15a9ddb35ad2e1d468b4d9a758cb74fe8b8b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 381 zcmeAS@N?(olHy`uVBq!ia0y~yU@!n-4mJh`hH$2z?FU|>mi z^mSxl*x1kgCy|wbfq}EYBeIx*f$uN~Gak=hk;1^hDCFtl7?R=qc2*!?lYs#1%J7dO zcm6jASBRw~o1XQ`zFqse?aA4Gl@Oy~2T$i)-)naoZU0jlDIvhiyeQGZgr}p8@uGo( z6r0Q8h773S$>iI0>n?ujkz^DzP-^RGU^&CFQ0WY#n4n9GrUUn#>!$fvFD9=Myv(S% zbkEmC?*Dq_R`;78DskAUv8E-;_}9(wy5pM;^hC^EC+py!{eFj{!hR=Fuf)$fR~=Zk zqy-#_{p=Ig|u4tK56aVpSM}Z a|E)vt)w_Xf=QA)cFnGH9xvX!5Yhk?C`2hv()(bO6#n)h;)3Ow4L$xKL6u+vr(PkXOOSbpEQ$0jaoV3zr{f70yl1 z?pVeYz_|OJ>1H;@>j`s14<$34%&g#4GL2hZRk1eYQLUbhMS9;V0gIY*Vl$a182bx4 z-2Wcmujt~<{Wz*^fdStfri^0W&+DLtv(?ua&0VY!|kfe=f&SU$uO`_WLEgv`-&lqgLgq? zMYg6cYlNxI_iL@zX}3ODWGBzsYZl}Pxvj1iK`|3gSw(b* zo{&!{Y^`sI=-e8?-YpV-UFF(w%v6ksg{~!HV`liySA14>g@2dY?|1DPe-_OmD z<>S05;KsVI`ATzbCQoEEv9oHw;_#@`AwX%-=gY?1_iB4++O6v4V%sWoI{EaPyx*IC z?fuyO>(#auW{aX%-mB+Yle=bi>lanE-x&sZ)h2uSk512;K4n(mc?Q9Yw~p<)eZR@& zT%_e~2cgCVlTUh9*cmOUcQj+y-eMV%xutOa8wRC&5g&T0IE@$UF`DLxygs;Sg3C$o zaCJS$Q=i3Vy=yuqUq*xf!+$6)513+M9c>)tpnn#3RP+Opo^w>KYKuQGQ#_Zse5jVZM|e%*MXuAj;6v+bq&+A~{u zZhWzQ<(Sp1>hW6U_zT9%TW{UjtoPz|_~BM*cd;4oVjc8rc{A7cESfpB@bX^n%id3B zik@5HvrKU*W5|h9D@2|joR)S|mNCCygS+1IuSD#*|I@66_C2vN=-ZsMXvfv>WtOt&-)m%N~fspnV9m?TCg!C^Tws!;Z+;hP9#Mz zTn#?oDG*_%as4pAojs55Yde|O2csrPUE5W2xO&SL>xti2Z=E)k`(J+l{#m6eOSUfC z`~B0oKkw@=`OKR?Z|CbP0l+XkK;YOdA delta 568 zcmcb^d7pj5X2yCZF;5rAkc`H+GuHYsI|?*B=MZug5EbQRygcEGVgPGkqe5-Nt7Tmu zIBHv#ty=kxS%75`(<-e3l_hLWese4w11b#Oq?X@!`|s@9M7z@4w`b3N|83XyVg{bW z20Vui&e$t^Ti(do_hZ`a#Say3{y52YXi`(iCQmj)Pp+U7llTl~*Xu91m=zZEH_m*s zCzsn{$Fkiqp|z*?oNznL7@3!{C_;!~!5QxL61`!;nZc*tO>$u@m{em`5qfL6{Bf_{ zXSiLznX8>lnZPnp-jc!GlW`jB59`f;CE=ZCmhV+c=0Otw5i{hicgPS zAHn~9^(%?}`pNd&CtO+VB$mIA@lI;0XXAvWKbE;{lX$7Z_=Ra*t&gFzg5XxwExy;v zlvkvj+$WivY$cg~x$|d@$IYkSYpY`!w$JtUP<(5^eUo8VN<`H$_$~at(I!RZI0FL%gQu&X%Q~loCIC^~3VZ+n diff --git a/core/assets-raw/sprites/units/oculon-base-old.png b/core/assets-raw/sprites/units/pulsar-base.png similarity index 100% rename from core/assets-raw/sprites/units/oculon-base-old.png rename to core/assets-raw/sprites/units/pulsar-base.png diff --git a/core/assets-raw/sprites/units/oculon-cell-old.png b/core/assets-raw/sprites/units/pulsar-cell.png similarity index 100% rename from core/assets-raw/sprites/units/oculon-cell-old.png rename to core/assets-raw/sprites/units/pulsar-cell.png diff --git a/core/assets-raw/sprites/units/oculon-leg-old.png b/core/assets-raw/sprites/units/pulsar-leg.png similarity index 100% rename from core/assets-raw/sprites/units/oculon-leg-old.png rename to core/assets-raw/sprites/units/pulsar-leg.png diff --git a/core/assets-raw/sprites/units/pulsar.png b/core/assets-raw/sprites/units/pulsar.png new file mode 100644 index 0000000000000000000000000000000000000000..e6c37c798a575b97a5fdf749beae679ebc970712 GIT binary patch literal 1249 zcmeAS@N?(olHy`uVBq!ia0y~yV6b9fU@+idV_;x#P{{OSU|?*?baoE#baqxKD9TUE z%t>Wn(3n^|(bnUzgUr$R;H5#@TxkM@CjyQhY+BK=IBX$@sMFdDtD1kl5I4#62#S$m zz24L;-yO;>o*pY3!|M2f`N+|$o)=xc{=^4m2tGboXn*f+^_{)UJE|ftuIVduxSVS| zwS#-+n^gi;t`fBm47>6?H}+Tt`Wz~+xvPBO+HQ%{pX|Rse-T(bjfsWjQRGpB+(*2R zUi#in*yDdj+tpLmPF>FUWz&&33H6^AV?oy-&@;x|X@wxXOf@ z&i%Br=eX8m-D6QZSDCy&87Fb_rS@r`<(4fhVjEcmnNmUmog~eYw!B&r;c>C<&T;z} zzg&w>KGAYiJkF$bL1Aaz2Kyg(*G`>3=ffnW!Udm?7TUEnUeLR+!t&hrjgL+I8Xg!I zEZzQRs+GZK&#JXcUHcpE{lxxx4n8+{<1_ovcPZ!6KjK;S! zH)e-83LJCaxW$mobD~nq4Vk97t*#b9F%wT&MRbRrkWVOVt#63v+#12&EfRj@@S#I~ z6S8?GDY;JY&RJ*AZG3!BrSazb@2r&%)fE(M&rg5$dvERUd+)3lt%88;%MUYb>}7hN z|BwDFz0>u{d-dkJus^f6znA)We!lJAZNCcK-|H+oYNEp3`Znsn+NG1ml9CRO7bko0 zs?6hHQB|_Cw=KTCyJ^Xz#kW=@1ZZ#klRNWjZhY8&bGyL!yJA<}O0-vh4{hAqTe^9| zz9T8}yvK6;mwjLOBjoLrO>S3=9bC3-+xYI=c7=(_VdsQAlmtqQEIIq#+e}V8OK3G? z*X}iYH@TWgFkh#_Wp9gRdMs1c4UKEfu8N&T`mu9&h!|ykE_xAVIl+b1Tsbnq$a3M_ zyZ;`Qzx=cDh`HRgj~90Y@5>2T`*^Y8+c)2&C-iQ%|84xgZr_ho^&5G|3-sFFa(RYS zT%Y>t>$aK`+IRmwS$}Cwved5Yw_m*wVz_HBv1_$hu7bGHtHs5x8z#DkadbIFY0G+V zep~r?@}zUOS+B94ZA_`1QJeE+^7JjNYPY}i`aFwb%lRhrRblHvktL-)$zM1xZ}ob% zhWppAs~b!UQyO31WBnp?Wx};n8d8yx=681+>~)zJ`LN?uid2x4L+hHJphCHvtSNVm zAG{SzRa_~*`1H~8oyrfr&oMu?&{pe;uC2eG^Zj1L4CStOx0dQS|LN#(>+g^3Up6N& zz4Bi4f-v{YL)MdZ>eQ4b=71x@+-8;Qp?0&FvWnI;?bAjR}RiBs1GhUqL zdC09x?A?i=$xrwGGm)McK7*(G4R`Q{6Yp9QgY#uNa&CkyyI0El$i~PIEOY?em@4r|+K$4h; other.entity.damaged(), other -> { - other.entity.heal(other.entity.maxHealth() * healPercent / 100f); - Fx.healBlockFull.at(other.drawx(), other.drawy(), other.block().size, Pal.heal); - })){ - Fx.healWave.at(player); - } - } - } }; - delta = new UnitType("delta-mech", false){ - { - drillPower = 1; - mineSpeed = 1.5f; - mass = 1.2f; - speed = 0.5f; - itemCapacity = 40; - boostSpeed = 0.95f; - buildSpeed = 1.2f; - engineColor = Color.valueOf("ffd37f"); - health = 250f; - weaponOffsetX = 4f; - - weapons.add(new Weapon("flamethrower"){{ - length = 1.5f; - reload = 30f; - width = 4f; - alternate = true; - shots = 3; - inaccuracy = 40f; - shootSound = Sounds.spark; - bullet = new LightningBulletType(){{ - damage = 5; - lightningLength = 10; - lightningColor = Pal.lightFlame; - }}); - }}; - } - }; - - tau = new UnitType("tau-mech", false){ - float healRange = 60f; - float healAmount = 10f; - float healReload = 160f; - boolean wasHealed; - - { - drillPower = 4; - mineSpeed = 3f; - itemCapacity = 70; - weaponOffsetY = -1; - weaponOffsetX = 1; - mass = 1.75f; - speed = 0.44f; - drag = 0.35f; - boostSpeed = 0.8f; - canHeal = true; - health = 200f; - buildSpeed = 1.6f; - engineColor = Pal.heal; - - weapons.add(new Weapon("heal-gun"){{ - length = 1.5f; - reload = 24f; - alternate = false; - ejectEffect = Fx.none; - recoil = 2f; - bullet = Bullets.healBullet; - shootSound = Sounds.pew; - }}; - } - - @Override - public void update(Player player){ - - if(player.timer.get(Player.timerAbility, healReload)){ - wasHealed = false; - - Units.nearby(player.team(), player.x, player.y, healRange, unit -> { - if(unit.health < unit.maxHealth()){ - Fx.heal.at(unit); - wasHealed = true; - } - unit.heal(healAmount); - }); - - if(wasHealed){ - Fx.healWave.at(player); - } - } - } - }; - - omega = new UnitType("omega-mech", false){ - protected TextureRegion armorRegion; - - { - drillPower = 2; - mineSpeed = 1.5f; - itemCapacity = 80; - speed = 0.36f; - boostSpeed = 0.6f; - mass = 4f; - shake = 4f; - weaponOffsetX = 1; - weaponOffsetY = 0; - engineColor = Color.valueOf("feb380"); - health = 350f; - buildSpeed = 1.5f; - weapons.add(new Weapon("missiles"){{ - length = 1.5f; - recoil = 4f; - reload = 38f; - shots = 4; - spacing = 8f; - inaccuracy = 8f; - alternate = true; - ejectEffect = Fx.none; - shake = 3f; - bullet = Bullets.missileSwarm; - shootSound = Sounds.shootBig; - }}; - } - - @Override - public float getRotationAlpha(Player player){ - return 0.6f - player.shootHeat * 0.3f; - } - - @Override - public float spreadX(Player player){ - return player.shootHeat * 2f; - } - - @Override - public void load(){ - super.load(); - armorRegion = Core.atlas.find(name + "-armor"); - } - - @Override - public void update(Player player){ - float scl = 1f - player.shootHeat / 2f*Time.delta(); - player.vel().scl(scl); - } - - @Override - public float getExtraArmor(Player player){ - return player.shootHeat * 30f; - } - - @Override - public void draw(Player player){ - if(player.shootHeat <= 0.01f) return; - - Shaders.build.progress = player.shootHeat; - Shaders.build.region = armorRegion; - Shaders.build.time = Time.time() / 10f; - Shaders.build.color.set(Pal.accent).a = player.shootHeat; - Draw.shader(Shaders.build); - Draw.rect(armorRegion, player.x, player.y, player.rotation); - Draw.shader(); - } - }; - - dart = new UnitType("dart-ship"){ - float effectRange = 60f; - float effectReload = 60f * 5; - float effectDuration = 60f * 10f; - - { - flying = true; - drillPower = 1; - mineSpeed = 2f; - speed = 0.5f; - drag = 0.09f; - health = 200f; - weaponOffsetX = -1; - weaponOffsetY = -1; - engineColor = Pal.lightTrail; - cellTrnsY = 1f; - buildSpeed = 1.1f; - weapons.add(new Weapon("gun"){{ - length = 1.5f; - reload = 15f; - alternate = true; - ejectEffect = Fx.shellEjectSmall; - bullet = Bullets.standardCopper; - }}; - } - - @Override - public void update(Player player){ - super.update(player); - - if(player.timer.get(Player.timerAbility, effectReload)){ - - Units.nearby(player.team(), player.x, player.y, effectRange, unit -> { - //unit.applyEffect(StatusEffects.overdrive, effectDuration); - }); - - indexer.eachBlock(player, effectRange, other -> other.entity.damaged(), other -> { - other.entity.applyBoost(1.5f, effectDuration); - Fx.healBlockFull.at(other.drawx(), other.drawy(), other.block().size, Pal.heal); - }); - - Fx.overdriveWave.at(player); - } - } - }; - - javelin = new UnitType("javelin-ship"){ - float minV = 3.6f; - float maxV = 6f; - TextureRegion shield; - - { - flying = true; - drillPower = -1; - speed = 0.11f; - drag = 0.01f; - mass = 2f; - health = 170f; - engineColor = Color.valueOf("d3ddff"); - cellTrnsY = 1f; - weapons.add(new Weapon("missiles"){{ - length = 1.5f; - reload = 70f; - shots = 4; - inaccuracy = 2f; - alternate = true; - ejectEffect = Fx.none; - velocityRnd = 0.2f; - spacing = 1f; - bullet = Bullets.missileJavelin; - shootSound = Sounds.missile; - }}; - } - - @Override - public void load(){ - super.load(); - shield = Core.atlas.find(name + "-shield"); - } - - @Override - public float getRotationAlpha(Player player){ - return 0.5f; - } - - @Override - public void update(Player player){ - float scl = scld(player); - if(Mathf.chanceDelta((0.15 * scl))){ - Fx.hitLancer.at(Pal.lancerLaser, player.x, player.y); - Lightning.create(player.team(), Pal.lancerLaser, 10f * Vars.state.rules.playerDamageMultiplier, - player.x + player.vel().x, player.y + player.vel().y, player.rotation, 14); - } - } - - @Override - public void draw(Player player){ - float scl = scld(player); - if(scl < 0.01f) return; - Draw.color(Pal.lancerLaser); - Draw.alpha(scl / 2f); - Draw.blend(Blending.additive); - Draw.rect(shield, player.x + Mathf.range(scl / 2f), player.y + Mathf.range(scl / 2f), player.rotation - 90); - Draw.blend(); - } - - float scld(Player player){ - return Mathf.clamp((player.vel().len() - minV) / (maxV - minV)); - } - }; - - glaive = new UnitType("glaive-ship"){ - { - flying = true; - drillPower = 4; - mineSpeed = 1.3f; - speed = 0.32f; - drag = 0.06f; - mass = 3f; - health = 240f; - itemCapacity = 60; - engineColor = Color.valueOf("feb380"); - cellTrnsY = 1f; - buildSpeed = 1.2f; - - weapons.add(new Weapon("bomber"){{ - length = 1.5f; - reload = 13f; - alternate = true; - ejectEffect = Fx.shellEjectSmall; - bullet = Bullets.standardGlaive; - shootSound = Sounds.shootSnap; - }}; - } - };*/ + //endregion } }