Ammo system redesign

This commit is contained in:
Anuken
2021-07-25 17:15:39 -04:00
parent 9cd19c0470
commit 7a1f332731
16 changed files with 107 additions and 171 deletions

View File

@@ -2003,17 +2003,6 @@ public class Blocks implements ContentList{
acceptCoolant = true;
}};
resupplyPoint = new ResupplyPoint("resupply-point"){{
requirements(Category.units, BuildVisibility.ammoOnly, with(Items.lead, 20, Items.copper, 15, Items.silicon, 15));
size = 2;
range = 80f;
itemCapacity = 20;
ammoAmount = 5;
consumes.item(Items.copper, 1);
}};
//endregion
//region payloads

View File

@@ -52,8 +52,8 @@ public class UnitTypes implements ContentList{
//air + payload, legacy
public static @EntityDef(value = {Unitc.class, Payloadc.class}, legacy = true) UnitType quad;
//air + payload + ammo distribution
public static @EntityDef({Unitc.class, Payloadc.class, AmmoDistributec.class}) UnitType oct;
//air + payload + legacy (different branch)
public static @EntityDef(value = {Unitc.class, Payloadc.class}, legacy = true) UnitType oct;
//air, legacy
public static @EntityDef(value = {Unitc.class}, legacy = true) UnitType alpha, beta, gamma;
@@ -89,6 +89,7 @@ public class UnitTypes implements ContentList{
hitSize = 10f;
health = 540;
armor = 4f;
ammoType = AmmoTypes.coal;
immunities.add(StatusEffects.burning);
@@ -123,6 +124,7 @@ public class UnitTypes implements ContentList{
health = 900;
armor = 9f;
mechFrontSway = 0.55f;
ammoType = AmmoTypes.graphite;
weapons.add(new Weapon("artillery"){{
top = false;
@@ -156,6 +158,7 @@ public class UnitTypes implements ContentList{
armor = 10f;
canDrown = false;
mechFrontSway = 1f;
ammoType = AmmoTypes.thorium;
mechStepParticles = true;
mechStepShake = 0.15f;
@@ -220,6 +223,7 @@ public class UnitTypes implements ContentList{
canDrown = false;
mechFrontSway = 1.9f;
mechSideSway = 0.6f;
ammoType = AmmoTypes.thorium;
weapons.add(
new Weapon("reign-weapon"){{
@@ -558,6 +562,7 @@ public class UnitTypes implements ContentList{
health = 200;
mechSideSway = 0.25f;
range = 40f;
ammoType = AmmoTypes.coal;
weapons.add(new Weapon(){{
reload = 24f;
@@ -595,6 +600,7 @@ public class UnitTypes implements ContentList{
legMoveSpace = 1.4f;
hovering = true;
armor = 3f;
ammoType = AmmoTypes.coal;
allowLegStep = true;
visualElevation = 0.2f;
@@ -965,6 +971,7 @@ public class UnitTypes implements ContentList{
targetFlags = new BlockFlag[]{BlockFlag.factory, null};
commandLimit = 5;
circleTarget = true;
ammoType = AmmoTypes.graphite;
weapons.add(new Weapon(){{
minShootVelocity = 0.75f;
@@ -1003,6 +1010,7 @@ public class UnitTypes implements ContentList{
targetFlags = new BlockFlag[]{BlockFlag.launchPad, BlockFlag.storage, BlockFlag.battery, null};
engineOffset = 12f;
engineSize = 3f;
ammoType = AmmoTypes.graphite;
weapons.add(new Weapon("zenith-missiles"){{
reload = 40f;
@@ -1048,6 +1056,7 @@ public class UnitTypes implements ContentList{
engineSize = 5.3f;
hitSize = 46f;
targetFlags = new BlockFlag[]{BlockFlag.generator, BlockFlag.core, null};
ammoType = AmmoTypes.thorium;
BulletType missiles = new MissileBulletType(2.7f, 14){{
width = 8f;
@@ -1123,6 +1132,7 @@ public class UnitTypes implements ContentList{
destructibleWreck = false;
armor = 13f;
targetFlags = new BlockFlag[]{BlockFlag.reactor, BlockFlag.core, null};
ammoType = AmmoTypes.thorium;
BulletType fragBullet = new FlakBulletType(4f, 5){{
shootEffect = Fx.shootBig;
@@ -1407,9 +1417,7 @@ public class UnitTypes implements ContentList{
commandLimit = 6;
lowAltitude = true;
buildBeamOffset = 43;
ammoCapacity = 1300;
ammoResupplyAmount = 20;
ammoCapacity = 1;
abilities.add(new ForceFieldAbility(140f, 4f, 7000f, 60f * 8), new RepairFieldAbility(130f, 60f * 2, 140f));
}};
@@ -1477,6 +1485,7 @@ public class UnitTypes implements ContentList{
accel = 0.3f;
rotateSpeed = 2.6f;
rotateShooting = false;
ammoType = AmmoTypes.graphite;
trailLength = 20;
trailX = 5.5f;
@@ -1520,6 +1529,7 @@ public class UnitTypes implements ContentList{
hitSize = 20f;
armor = 7f;
rotateShooting = false;
ammoType = AmmoTypes.graphite;
trailLength = 22;
trailX = 7f;
@@ -1583,6 +1593,7 @@ public class UnitTypes implements ContentList{
inaccuracy = 5f;
velocityRnd = 0.1f;
shootSound = Sounds.missile;
ammoType = AmmoTypes.thorium;
ejectEffect = Fx.none;
bullet = new MissileBulletType(2.7f, 12){{
@@ -1616,6 +1627,7 @@ public class UnitTypes implements ContentList{
accel = 0.2f;
rotateSpeed = 1.3f;
rotateShooting = false;
ammoType = AmmoTypes.thorium;
trailLength = 50;
trailX = 18f;
@@ -1701,6 +1713,7 @@ public class UnitTypes implements ContentList{
accel = 0.19f;
rotateSpeed = 0.9f;
rotateShooting = false;
ammoType = AmmoTypes.powerHigh;
float spawnTime = 60f * 15f;
@@ -1758,6 +1771,7 @@ public class UnitTypes implements ContentList{
trailScl = 1.3f;
rotateShooting = false;
range = 100f;
ammoType = AmmoTypes.power;
armor = 3f;
@@ -1835,6 +1849,7 @@ public class UnitTypes implements ContentList{
trailX = 5.5f;
trailY = -4f;
trailScl = 1.9f;
ammoType = AmmoTypes.coal;
buildSpeed = 2f;
@@ -1903,6 +1918,7 @@ public class UnitTypes implements ContentList{
hitSize = 20f;
armor = 6f;
rotateShooting = false;
ammoType = AmmoTypes.graphite;
trailLength = 23;
trailX = 9f;
@@ -2038,6 +2054,7 @@ public class UnitTypes implements ContentList{
accel = 0.2f;
rotateSpeed = 1.4f;
rotateShooting = false;
ammoType = AmmoTypes.powerHigh;
//clip size is massive due to energy field
clipSize = 250f;
@@ -2081,6 +2098,7 @@ public class UnitTypes implements ContentList{
accel = 0.2f;
rotateSpeed = 1.1f;
rotateShooting = false;
ammoType = AmmoTypes.powerHigh;
trailLength = 70;
trailX = 23f;