Browse Source

Separate pet and siege behaviour types.

combat-2
MagicBot 1 year ago
parent
commit
22e4cc07c0
  1. 3
      src/engine/Enum.java
  2. 12
      src/engine/mobileAI/MobAI.java
  3. 4
      src/engine/objects/Mob.java

3
src/engine/Enum.java

@ -2846,7 +2846,8 @@ public class Enum { @@ -2846,7 +2846,8 @@ public class Enum {
SpellAggroGrouperWimpy(Spell, true, false, true, false, false),
//Independent Types
SimpleStandingGuard(null, false, false, false, false, false),
Pet1(null, false, false, true, false, false),
Pet(null, false, false, true, false, false),
Siege(null, false, false, true, false, false),
Simple(null, false, false, true, false, false),
Helpee(null, false, true, true, false, true),
HelpeeWimpy(null, true, false, true, false, false),

12
src/engine/mobileAI/MobAI.java

@ -625,7 +625,7 @@ public class MobAI { @@ -625,7 +625,7 @@ public class MobAI {
//check to send mob home for player guards to prevent exploit of dragging guards away and then teleporting
if (mob.BehaviourType.equals(Enum.MobBehaviourType.Pet1) == false)
if (mob.BehaviourType.equals(Enum.MobBehaviourType.Pet) == false)
CheckToSendMobHome(mob);
return;
@ -646,7 +646,7 @@ public class MobAI { @@ -646,7 +646,7 @@ public class MobAI {
return;
}
if (mob.BehaviourType.equals(Enum.MobBehaviourType.Pet1) == false)
if (mob.BehaviourType.equals(Enum.MobBehaviourType.Pet) == false)
CheckToSendMobHome(mob);
if (mob.getCombatTarget() != null) {
@ -683,7 +683,7 @@ public class MobAI { @@ -683,7 +683,7 @@ public class MobAI {
case GuardWallArcher:
GuardWallArcherLogic(mob);
break;
case Pet1:
case Pet:
PetLogic(mob);
break;
case HamletGuard:
@ -784,7 +784,7 @@ public class MobAI { @@ -784,7 +784,7 @@ public class MobAI {
switch (mob.BehaviourType) {
case Pet1:
case Pet:
if (mob.getOwner() == null)
return;
@ -894,7 +894,7 @@ public class MobAI { @@ -894,7 +894,7 @@ public class MobAI {
return;
if (mob.getCombatTarget().getObjectType().equals(Enum.GameObjectType.PlayerCharacter) && MovementUtilities.inRangeDropAggro(mob, (PlayerCharacter) mob.getCombatTarget()) == false &&
mob.BehaviourType.equals(Enum.MobBehaviourType.Pet1) == false) {
mob.BehaviourType.equals(Enum.MobBehaviourType.Pet) == false) {
mob.setCombatTarget(null);
return;
@ -1014,7 +1014,7 @@ public class MobAI { @@ -1014,7 +1014,7 @@ public class MobAI {
if ((aggroMob.agentType.equals(Enum.AIAgentType.GUARD)))
continue;
if(aggroMob.BehaviourType.equals(Enum.MobBehaviourType.Pet1))
if (aggroMob.BehaviourType.equals(Enum.MobBehaviourType.Pet))
continue;
if (mob.getLoc().distanceSquared2D(aggroMob.getLoc()) > sqr(50))

4
src/engine/objects/Mob.java

@ -164,7 +164,7 @@ public class Mob extends AbstractIntelligenceAgent { @@ -164,7 +164,7 @@ public class Mob extends AbstractIntelligenceAgent {
this.parentZone = parent;
this.parentZoneID = (parent != null) ? parent.getObjectUUID() : 0;
this.ownerUID = owner.getObjectUUID();
this.BehaviourType = Enum.MobBehaviourType.Pet1;
this.BehaviourType = Enum.MobBehaviourType.Pet;
clearStatic();
}
@ -811,7 +811,7 @@ public class Mob extends AbstractIntelligenceAgent { @@ -811,7 +811,7 @@ public class Mob extends AbstractIntelligenceAgent {
owner.getSiegeMinionMap().put(mob, slot);
mob.setNpcOwner(owner);
mob.BehaviourType = MobBehaviourType.Pet1;
mob.BehaviourType = MobBehaviourType.Pet;
mob.BehaviourType.canRoam = false;
return mob;
}

Loading…
Cancel
Save