Atavism Version 2018.1AGIS API

atavism.agis.behaviors
Class CombatBehavior

java.lang.Object
  extended by atavism.server.engine.Behavior
      extended by atavism.agis.behaviors.CombatBehavior
All Implemented Interfaces:
MessageCallback, MessageDispatch, java.io.Serializable

public class CombatBehavior
extends Behavior
implements MessageCallback

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class atavism.server.engine.Behavior
Behavior.CommandMessage, Behavior.EventMessage
 
Field Summary
protected  boolean activated
           
protected  Point centerLoc
           
protected  OID currentTarget
           
protected  java.util.HashMap<OID,java.lang.Integer> damageMap
           
protected  java.lang.Integer defaultSpeed
           
protected  java.util.HashMap<java.lang.Integer,java.lang.Float> lootTables
           
protected  java.lang.Integer reactionRadius
           
protected  java.lang.Integer speed
           
protected  OID tagOwner
           
protected  java.util.HashMap<OID,java.lang.Integer> threatMap
           
 
Fields inherited from class atavism.server.engine.Behavior
lock, MSG_TYPE_COMMAND, MSG_TYPE_EVENT, obj
 
Fields inherited from interface atavism.msgsys.MessageCallback
NO_FLAGS, RESPONSE_EXPECTED
 
Constructor Summary
CombatBehavior()
           
CombatBehavior(SpawnData data)
           
 
Method Summary
 void activate()
          Called when a mob respawns, clear all behaviour variables here or they will carry over to new spawns
 void addDamageToMap(OID targetOid, int amount)
           
protected  void addTargetToThreatMap(OID targetOid, int threatAmount)
          Add the amount of threat for the given oid to the threatMap.
 void alertMobDeathStateChange(OID targetOid, boolean dead)
           
 void alertMobOfDespawn(OID targetOid)
           
protected  void attackTarget(OID targetOid)
          Tells the mob to attack the specified target (or to stop attacking if there is none).
 void deactivate()
           
 int getAggroRange()
           
 float getAttackDistance()
           
 Point getCenterLoc()
           
 int getchaseDistance()
           
 java.util.HashMap<OID,java.lang.Integer> getDamageMap()
           
 float getHitBoxRange()
           
 boolean getInCombat()
           
 int getMovementSpeed()
           
 int getReactionRadius()
           
 java.util.HashMap<OID,java.lang.Integer> getThreatMap()
           
protected  void handleDeath(OID killer)
          Handles the dead of the mob.
 void handleMessage(Message msg, int flags)
          Handle message.
 void initialize()
           
protected  void removeTargetFromThreatMap(OID targetOid)
          Removes the target from the threatMap, then runs the threatUpdated() function again.
 void setAggroRange(int radius)
           
 void setAttackDistance(float radius)
           
 void setCenterLoc(Point loc)
           
 void setchaseDistance(int distance)
           
 void setDamageMap(java.util.HashMap<OID,java.lang.Integer> damageMap)
           
 void setDeactivateOutOfCombat(boolean deactivate)
           
 void setDefaultMovementSpeed(int speed)
           
 void setHitBoxRange(float radius)
           
 void setLootTables(java.util.HashMap<java.lang.Integer,java.lang.Float> tables)
           
 void setMovementSpeed(int speed)
           
 void setReactionRadius(int radius)
           
protected  void setTarget(OID targetOid)
          Sets the current target for the mob.
 void setTargetThreat(OID targetOid, int amount)
          Use when a player has died to set threat to -1.
 void setThreatMap(java.util.HashMap<OID,java.lang.Integer> threatMap)
           
 
Methods inherited from class atavism.server.engine.Behavior
dispatchMessage, getObjectStub, setObjectStub
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

speed

protected java.lang.Integer speed

defaultSpeed

protected java.lang.Integer defaultSpeed

reactionRadius

protected java.lang.Integer reactionRadius

centerLoc

protected Point centerLoc

threatMap

protected java.util.HashMap<OID,java.lang.Integer> threatMap

damageMap

protected java.util.HashMap<OID,java.lang.Integer> damageMap

lootTables

protected java.util.HashMap<java.lang.Integer,java.lang.Float> lootTables

currentTarget

protected OID currentTarget

tagOwner

protected OID tagOwner

activated

protected boolean activated
Constructor Detail

CombatBehavior

public CombatBehavior()

CombatBehavior

public CombatBehavior(SpawnData data)
Method Detail

initialize

public void initialize()
Overrides:
initialize in class Behavior

activate

public void activate()
Called when a mob respawns, clear all behaviour variables here or they will carry over to new spawns

Specified by:
activate in class Behavior

deactivate

public void deactivate()
Specified by:
deactivate in class Behavior

handleMessage

public void handleMessage(Message msg,
                          int flags)
Description copied from interface: MessageCallback
Handle message.

Specified by:
handleMessage in interface MessageCallback
Specified by:
handleMessage in class Behavior
Parameters:
msg - Message sent from other agent.
flags - Bitwise OR of MessageCallback.NO_FLAGS, MessageCallback.RESPONSE_EXPECTED.

attackTarget

protected void attackTarget(OID targetOid)
Tells the mob to attack the specified target (or to stop attacking if there is none).

Parameters:
targetOid -

setTarget

protected void setTarget(OID targetOid)
Sets the current target for the mob. Currently just sets the facing property so the mob will continue to face the target on players clients.

Parameters:
targetOid -

handleDeath

protected void handleDeath(OID killer)
Handles the dead of the mob. Sends out the exp and loot messages

Parameters:
killer -

alertMobDeathStateChange

public void alertMobDeathStateChange(OID targetOid,
                                     boolean dead)

alertMobOfDespawn

public void alertMobOfDespawn(OID targetOid)

setMovementSpeed

public void setMovementSpeed(int speed)

getMovementSpeed

public int getMovementSpeed()

setDefaultMovementSpeed

public void setDefaultMovementSpeed(int speed)

setReactionRadius

public void setReactionRadius(int radius)

getReactionRadius

public int getReactionRadius()

setCenterLoc

public void setCenterLoc(Point loc)

getCenterLoc

public Point getCenterLoc()

setchaseDistance

public void setchaseDistance(int distance)

getchaseDistance

public int getchaseDistance()

setAggroRange

public void setAggroRange(int radius)

getAggroRange

public int getAggroRange()

setHitBoxRange

public void setHitBoxRange(float radius)

getHitBoxRange

public float getHitBoxRange()

setAttackDistance

public void setAttackDistance(float radius)

getAttackDistance

public float getAttackDistance()

addTargetToThreatMap

protected void addTargetToThreatMap(OID targetOid,
                                    int threatAmount)
Add the amount of threat for the given oid to the threatMap. If the oid already has an entry then we just add to it.

Parameters:
oid -
threat -

removeTargetFromThreatMap

protected void removeTargetFromThreatMap(OID targetOid)
Removes the target from the threatMap, then runs the threatUpdated() function again. Also removes the target from the damageMap.

Parameters:
targetOid -

setTargetThreat

public void setTargetThreat(OID targetOid,
                            int amount)
Use when a player has died to set threat to -1.

Parameters:
targetOid -
amount -

addDamageToMap

public void addDamageToMap(OID targetOid,
                           int amount)

setThreatMap

public void setThreatMap(java.util.HashMap<OID,java.lang.Integer> threatMap)

getThreatMap

public java.util.HashMap<OID,java.lang.Integer> getThreatMap()

setDamageMap

public void setDamageMap(java.util.HashMap<OID,java.lang.Integer> damageMap)

getDamageMap

public java.util.HashMap<OID,java.lang.Integer> getDamageMap()

setLootTables

public void setLootTables(java.util.HashMap<java.lang.Integer,java.lang.Float> tables)

getInCombat

public boolean getInCombat()

setDeactivateOutOfCombat

public void setDeactivateOutOfCombat(boolean deactivate)


Copyright © 2018 Dragonsan Studios Sp. z o.o.