mirror of
https://github.com/Retera/WarsmashModEngine.git
synced 2022-07-31 17:38:59 +02:00
Disable auto attack for workers, fix NPE in return resources
This commit is contained in:
parent
2d8b3e7cae
commit
cacdf7f266
@ -342,7 +342,8 @@ public class CUnit extends CWidget {
|
||||
}
|
||||
|
||||
public boolean autoAcquireAttackTargets(final CSimulation game, final boolean disableMove) {
|
||||
if (!this.unitType.getAttacks().isEmpty()) {
|
||||
if (!this.unitType.getAttacks().isEmpty()
|
||||
&& !this.unitType.getClassifications().contains(CUnitClassification.PEON)) {
|
||||
if (this.collisionRectangle != null) {
|
||||
tempRect.set(this.collisionRectangle);
|
||||
}
|
||||
|
@ -47,10 +47,8 @@ public class CBehaviorAttack extends CAbstractRangedBehavior {
|
||||
if (simulation.getGameTurnTick() < this.unit.getCooldownEndTime()) {
|
||||
range += this.unitAttack.getRangeMotionBuffer();
|
||||
}
|
||||
final double rangeCheckDistance = this.unit.distance(this.target);
|
||||
System.out.println("rangeCheckDistance=" + rangeCheckDistance);
|
||||
return this.unit.canReach(this.target, range)
|
||||
&& (rangeCheckDistance >= this.unit.getUnitType().getMinimumAttackRange());
|
||||
&& (this.unit.distance(this.target) >= this.unit.getUnitType().getMinimumAttackRange());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -26,8 +26,13 @@ public class CBehaviorReturnResources extends CAbstractRangedBehavior implements
|
||||
this.abilityHarvest = abilityHarvest;
|
||||
}
|
||||
|
||||
public CBehaviorReturnResources reset(final CSimulation simulation) {
|
||||
innerReset(findNearestDropoffPoint(simulation));
|
||||
public CBehavior reset(final CSimulation simulation) {
|
||||
final CUnit nearestDropoffPoint = findNearestDropoffPoint(simulation);
|
||||
if (nearestDropoffPoint == null) {
|
||||
// TODO it is unconventional not to return self here
|
||||
return this.unit.pollNextOrderBehavior(simulation);
|
||||
}
|
||||
innerReset(nearestDropoffPoint);
|
||||
return this;
|
||||
}
|
||||
|
||||
|
@ -133,7 +133,6 @@ public class CUnitAttackMissileSplash extends CUnitAttackMissile {
|
||||
public boolean call(final CUnit enumUnit) {
|
||||
if (enumUnit.canBeTargetedBy(this.simulation, this.source, this.attack.areaOfEffectTargets)) {
|
||||
final double distance = enumUnit.distance(this.x, this.y);
|
||||
System.out.println("enum distance=" + distance);
|
||||
if (distance <= (this.attack.areaOfEffectFullDamage)) {
|
||||
enumUnit.damage(this.simulation, this.source, this.attack.getAttackType(),
|
||||
this.attack.getWeaponSound(), this.damage);
|
||||
|
Loading…
Reference in New Issue
Block a user