Merge remote-tracking branch 'origin/master'

This commit is contained in:
Anuken 2021-10-14 11:16:57 -04:00
commit b30eb26eb7
4 changed files with 13 additions and 1 deletions

View File

@ -225,7 +225,7 @@ public class Control implements ApplicationListener, Loadable{
Effect.shake(5f, 5f, core);
core.thrusterTime = 1f;
if(state.isCampaign() && Vars.showSectorLandInfo){
if(state.isCampaign() && Vars.showSectorLandInfo && (state.rules.sector.preset == null || state.rules.sector.preset.showSectorLandInfo)){
ui.announce("[accent]" + state.rules.sector.name() + "\n" +
(state.rules.sector.info.resources.any() ? "[lightgray]" + bundle.get("sectors.resources") + "[white] " +
state.rules.sector.info.resources.toString(" ", u -> u.emoji()) : ""), 5);

View File

@ -38,6 +38,7 @@ abstract class UnitComp implements Healthc, Physicsc, Hitboxc, Statusc, Teamc, I
@Import int id;
@Import @Nullable Tile mineTile;
@Import Vec2 vel;
@Import WeaponMount[] mounts;
private UnitController controller;
UnitType type;
@ -496,6 +497,14 @@ abstract class UnitComp implements Healthc, Physicsc, Hitboxc, Statusc, Teamc, I
Events.fire(Trigger.suicideBomb);
}
for(WeaponMount mount : mounts){
if(mount.weapon.shootOnDeath && !(mount.weapon.bullet.killShooter && mount.shoot)){
mount.reload = 0f;
mount.shoot = true;
mount.weapon.update(self(), mount);
}
}
//if this unit crash landed (was flying), damage stuff in a radius
if(type.flying && !spawnedByCore){
Damage.damage(team, x, y, Mathf.pow(hitSize, 0.94f) * 1.25f, Mathf.pow(hitSize, 0.75f) * type.crashDamageMultiplier * 5f, true, false, true);

View File

@ -18,6 +18,7 @@ public class SectorPreset extends UnlockableContent{
public float difficulty;
public float startWaveTimeMultiplier = 2f;
public boolean addStartingItems = false;
public boolean showSectorLandInfo = true;
public SectorPreset(String name, Planet planet, int sector){
super(name);

View File

@ -117,6 +117,8 @@ public class Weapon implements Cloneable{
public Func<Weapon, WeaponMount> mountType = WeaponMount::new;
/** status effect duration when shot */
public float shootStatusDuration = 60f * 5f;
/** whether this weapon should fire when its owner dies */
public boolean shootOnDeath = false;
public Weapon(String name){
this.name = name;