mirror of
https://github.com/Anuken/Mindustry.git
synced 2026-03-15 03:11:07 -07:00
crash damage rebalancing
This commit is contained in:
parent
9ebe629928
commit
005964f7be
5 changed files with 12 additions and 11 deletions
|
|
@ -3930,11 +3930,11 @@ public class Blocks{
|
|||
Items.titanium, new ShrapnelBulletType(){{
|
||||
length = brange + 64f;
|
||||
rangeChange = 64f;
|
||||
damage = 66f;
|
||||
damage = 50f;
|
||||
ammoMultiplier = 2f;
|
||||
width = 17f;
|
||||
reloadMultiplier = 1.3f;
|
||||
pierceCap = 3;
|
||||
pierceCap = 4;
|
||||
serrations = 9;
|
||||
serrationSpacing = 20f;
|
||||
shootPattern = new ShootSpread(3, 10f);
|
||||
|
|
|
|||
|
|
@ -430,7 +430,7 @@ public class UnitTypes{
|
|||
lightningLengthRand = 7;
|
||||
shootEffect = Fx.shootHeal;
|
||||
//Does not actually do anything; Just here to make stats work
|
||||
healPercent = 2f;
|
||||
healAmount = 22f;
|
||||
|
||||
lightningType = new BulletType(0.0001f, 0f){{
|
||||
lifetime = Fx.lightning.lifetime;
|
||||
|
|
@ -1387,15 +1387,16 @@ public class UnitTypes{
|
|||
engineOffset = 6.5f;
|
||||
hitSize = 9f;
|
||||
lowAltitude = true;
|
||||
itemCapacity = 20;
|
||||
|
||||
ammoType = new PowerAmmoType(900);
|
||||
mineTier = 2;
|
||||
mineSpeed = 3.5f;
|
||||
wreckSoundVolume = 0.9f;
|
||||
|
||||
abilities.add(new RepairFieldAbility(5f, 112f, 50f)
|
||||
abilities.add(new RepairFieldAbility(5f, 60f * 6f, 50f)
|
||||
{{
|
||||
sameTypeHealMult = 0.25f;
|
||||
sameTypeHealMult = 0.75f;
|
||||
}});
|
||||
|
||||
weapons.add(new Weapon("poly-weapon"){{
|
||||
|
|
@ -1462,7 +1463,7 @@ public class UnitTypes{
|
|||
rotate = true;
|
||||
bullet = new LaserBoltBulletType(5.2f, 10){{
|
||||
lifetime = 35f;
|
||||
healPercent = 5.5f;
|
||||
healAmount = 45f;
|
||||
collidesTeam = true;
|
||||
backColor = Pal.heal;
|
||||
frontColor = Color.white;
|
||||
|
|
@ -1500,7 +1501,7 @@ public class UnitTypes{
|
|||
faceTarget = false;
|
||||
hitSize = 36f;
|
||||
payloadCapacity = (3 * 3) * tilePayload;
|
||||
buildSpeed = 4.5f;
|
||||
buildSpeed = 6f;
|
||||
buildBeamOffset = 23;
|
||||
range = 140f;
|
||||
targetAir = false;
|
||||
|
|
|
|||
|
|
@ -843,7 +843,7 @@ abstract class UnitComp implements Healthc, Physicsc, Hitboxc, Statusc, Teamc, I
|
|||
public void destroy(){
|
||||
if(!isAdded() || !killable()) return;
|
||||
|
||||
float explosiveness = 2f + item().explosiveness * stack().amount * 0.75f;
|
||||
float explosiveness = 2f + item().explosiveness * stack().amount * state.rules.unitCrashDamage(team) * 0.75f;
|
||||
float flammability = item().flammability * stack().amount / 1.9f;
|
||||
float power = item().charge * Mathf.pow(stack().amount, 1.11f) * 160f;
|
||||
|
||||
|
|
@ -878,7 +878,7 @@ abstract class UnitComp implements Healthc, Physicsc, Hitboxc, Statusc, Teamc, I
|
|||
//if this unit crash landed (was flying), damage stuff in a radius
|
||||
if(type.flying && !spawnedByCore && type.createWreck && state.rules.unitCrashDamage(team) > 0){
|
||||
var shields = indexer.getEnemy(team, BlockFlag.shield);
|
||||
float crashDamage = Mathf.pow(hitSize, 0.5f) * type.crashDamageMultiplier * 1.5f * state.rules.unitCrashDamage(team);
|
||||
float crashDamage = Mathf.pow(hitSize, 0.75f) * type.crashDamageMultiplier * state.rules.unitCrashDamage(team);
|
||||
if(shields.isEmpty() || !shields.contains(b -> b instanceof ExplosionShield s && s.absorbExplosion(x, y, crashDamage))){
|
||||
Damage.damage(team, x, y, hitSize * 1.25f, crashDamage, true, false, true);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -20,7 +20,6 @@ public enum Gamemode{
|
|||
attack(rules -> {
|
||||
rules.attackMode = true;
|
||||
rules.waveTimer = true;
|
||||
|
||||
rules.waveSpacing = 2f * Time.toMinutes;
|
||||
rules.waveTeam.rules().infiniteResources = true;
|
||||
}, map -> map.teams.size > 1),
|
||||
|
|
@ -31,6 +30,7 @@ public enum Gamemode{
|
|||
rules.buildSpeedMultiplier = 1f;
|
||||
rules.unitBuildSpeedMultiplier = 2f;
|
||||
rules.attackMode = true;
|
||||
rules.unitCrashDamageMultiplier = 1.75f;
|
||||
}, map -> map.teams.size > 1),
|
||||
editor(true, rules -> {
|
||||
rules.infiniteResources = true;
|
||||
|
|
|
|||
|
|
@ -84,7 +84,7 @@ public class Rules{
|
|||
public float unitDamageMultiplier = 1f;
|
||||
/** How much health units start with. */
|
||||
public float unitHealthMultiplier = 1f;
|
||||
/** How much damage unit crash damage deals. (Compounds with unitDamageMultiplier) */
|
||||
/** How much damage unit crash and unit explosive damage deals. (Compounds with unitDamageMultiplier) */
|
||||
public float unitCrashDamageMultiplier = 1f;
|
||||
/** How fast units can mine. */
|
||||
public float unitMineSpeedMultiplier = 1f;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue