@ -452,6 +452,7 @@ public class Mob extends AbstractIntelligenceAgent {
@@ -452,6 +452,7 @@ public class Mob extends AbstractIntelligenceAgent {
minionMobile . guardCaptain = guardCaptain ;
minionMobile . spawnTime = ( int ) ( - 2 . 500 * guardCaptain . building . getRank ( ) + 22 . 5 ) * 60 ;
minionMobile . behaviourType = Enum . MobBehaviourType . GuardMinion ;
minionMobile . agentType = AIAgentType . GUARDMINION ;
minionMobile . guardedCity = guardCaptain . guardedCity ;
minionMobile . patrolPoints = guardCaptain . building . patrolPoints ;
@ -507,6 +508,7 @@ public class Mob extends AbstractIntelligenceAgent {
@@ -507,6 +508,7 @@ public class Mob extends AbstractIntelligenceAgent {
siegeMinion . guardCaptain = artyCaptain ;
siegeMinion . parentZoneUUID = artyCaptain . parentZoneUUID ;
siegeMinion . behaviourType = MobBehaviourType . SiegeEngine ;
siegeMinion . agentType = AIAgentType . SIEGEENGINE ;
siegeMinion . bindLoc = Vector3fImmutable . ZERO ;
siegeMinion . spawnTime = ( 60 * 15 ) ;
@ -541,6 +543,7 @@ public class Mob extends AbstractIntelligenceAgent {
@@ -541,6 +543,7 @@ public class Mob extends AbstractIntelligenceAgent {
petMinion . healthMax = MobBase . getMobBase ( loadID ) . getHealthMax ( ) * ( petMinion . level * 0 . 5f ) ;
petMinion . health . set ( petMinion . healthMax ) ;
petMinion . behaviourType = MobBehaviourType . Pet1 ;
petMinion . agentType = AIAgentType . PET ;
petMinion . firstName = "" ;
petMinion . lastName = "" ;
@ -1524,43 +1527,19 @@ public class Mob extends AbstractIntelligenceAgent {
@@ -1524,43 +1527,19 @@ public class Mob extends AbstractIntelligenceAgent {
this . setObjectTypeMask ( MBServerStatics . MASK_MOB | this . getTypeMasks ( ) ) ;
this . building = BuildingManager . getBuilding ( this . buildingUUID ) ;
if ( this . contractUUID = = 0 )
this . contract = null ;
else
this . contract = DbManager . ContractQueries . GET_CONTRACT ( this . contractUUID ) ;
if ( this . contract ! = null ) {
// Setup equipset for contract
this . equipmentSetID = this . contract . getEquipmentSet ( ) ;
// Configure AI related values
switch ( this . behaviourType ) {
case GuardCaptain :
this . agentType = AIAgentType . GUARDCAPTAIN ;
this . spawnTime = 600 ;
this . guardedCity = ZoneManager . getCityAtLocation ( this . building . getLoc ( ) ) ;
break ;
case GuardMinion :
this . agentType = AIAgentType . GUARDMINION ;
break ;
case GuardWallArcher :
this . agentType = AIAgentType . GUARDWALLARCHER ;
this . spawnTime = 450 ;
this . guardedCity = ZoneManager . getCityAtLocation ( this . building . getLoc ( ) ) ;
case Pet1 :
this . agentType = AIAgentType . PET ;
break ;
case SiegeEngine :
this . agentType = AIAgentType . SIEGEENGINE ;
break ;
}
// Configure AI related values
switch ( this . behaviourType ) {
case GuardCaptain :
this . agentType = AIAgentType . GUARDCAPTAIN ;
this . spawnTime = 600 ;
this . guardedCity = ZoneManager . getCityAtLocation ( this . building . getLoc ( ) ) ;
break ;
case GuardWallArcher :
this . agentType = AIAgentType . GUARDWALLARCHER ;
this . spawnTime = 450 ;
this . guardedCity = ZoneManager . getCityAtLocation ( this . building . getLoc ( ) ) ;
break ;
}
// Default to the mobbase for AI if nothing is in mob field to override.
@ -1571,6 +1550,18 @@ public class Mob extends AbstractIntelligenceAgent {
@@ -1571,6 +1550,18 @@ public class Mob extends AbstractIntelligenceAgent {
if ( this . behaviourType = = null )
this . behaviourType = MobBehaviourType . None ;
this . building = BuildingManager . getBuilding ( this . buildingUUID ) ;
if ( this . contractUUID = = 0 )
this . contract = null ;
else
this . contract = DbManager . ContractQueries . GET_CONTRACT ( this . contractUUID ) ;
// Setup equipset for contract
if ( this . contract ! = null )
this . equipmentSetID = this . contract . getEquipmentSet ( ) ;
if ( this . building ! = null )
this . guild = this . building . getGuild ( ) ;
else
@ -1596,7 +1587,7 @@ public class Mob extends AbstractIntelligenceAgent {
@@ -1596,7 +1587,7 @@ public class Mob extends AbstractIntelligenceAgent {
// Don't override level for guard minions or pets
if ( this . contract = = null )
if ( ! this . agentType . equals ( AIAgentType . GUARDCAPTAI N ) & & ! this . agentType . equals ( AIAgentType . PET ) )
if ( ! this . agentType . equals ( AIAgentType . GUARDMINIO N ) & & ! this . agentType . equals ( AIAgentType . PET ) )
this . level = ( short ) this . mobBase . getLevel ( ) ;
//set bonuses