atavism.agis.plugins
Class CombatPlugin
java.lang.Object
atavism.server.engine.EnginePlugin
atavism.agis.plugins.CombatPlugin
- All Implemented Interfaces:
- MessageCallback, StatusMapCallback
public class CombatPlugin
- extends EnginePlugin
Nested classes/interfaces inherited from class atavism.server.engine.EnginePlugin |
EnginePlugin.DeleteHook, EnginePlugin.DeleteSubObjHook, EnginePlugin.GenerateSubObjectHook, EnginePlugin.GetPropertyMessage, EnginePlugin.GetPropertyNamesMessage, EnginePlugin.LoadHook, EnginePlugin.LoadSubObjHook, EnginePlugin.PluginActivateHook, EnginePlugin.PluginStateMessage, EnginePlugin.SaveHook, EnginePlugin.SaveSubObjHook, EnginePlugin.SetPropertyMessage, EnginePlugin.SubObjData, EnginePlugin.TransferFilter, EnginePlugin.TransferObjectMessage, EnginePlugin.UnloadHook, EnginePlugin.UnloadSubObjHook |
Fields inherited from class atavism.server.engine.EnginePlugin |
deleteSubObjectSubscription, dumpAllThreadSubscription, dumpAllThreadSubscriptionLock, loadSubObjectSubscription, MSG_TYPE_DUMP_ALL_THREAD_STACKS, MSG_TYPE_GET_PROPERTY, MSG_TYPE_GET_PROPERTY_NAMES, MSG_TYPE_PLUGIN_STATE, MSG_TYPE_SET_PROPERTY, MSG_TYPE_SET_PROPERTY_NONBLOCK, MSG_TYPE_TRANSFER_OBJECT, pluginStateSubscription, propertySubscription, saveSubObjectSubscription, selectionFilter, selectionSubscription, setSubObjectPersistenceSubscription, subObjectSubscription, unloadSubObjectSubscription |
Method Summary |
static void |
addAttacker(OID target,
OID attacker)
|
void |
applySkillTraining(OID playerOid,
int skill)
|
static void |
clearAttackers(OID target)
|
protected void |
createNewSkillInfo(CombatInfo info,
OID mobOid,
java.util.ArrayList<java.lang.Integer> skills)
Creates the skillInfo object for the CombatInfo object based on the skill
templates loaded in from the database. |
static java.util.Set<OID> |
getAttackers(OID target)
|
static AgisStatDef |
getBaseStatDef(java.lang.String name)
|
static CombatInfo |
getCombatInfo(OID oid)
|
static java.util.LinkedList<Cooldown> |
getCooldowns(OID characterOID)
|
java.util.HashMap<java.lang.String,AgisStat> |
getStartingStats(int level,
boolean isMob,
java.util.HashMap<java.lang.String,java.lang.Integer> statOverrides)
Sets up the starting stats for players and mobs. |
static void |
handleDeath(CombatInfo obj)
This will handle the death of a player or mob. |
static boolean |
isPlayerAlive(OID playerOid)
|
void |
loadCombatDataFromDatabase()
|
static AgisStatDef |
lookupStatDef(java.lang.String name)
|
void |
onActivate()
for developers extending the EnginePlugin object, it may
be easier to use the onActivate() method which gets
called when the plugin is being activated by the Engine. |
static void |
registerCombatInfo(CombatInfo cinfo)
|
protected void |
registerHooks()
|
static void |
registerStat(AgisStatDef stat)
|
static void |
registerStat(AgisStatDef stat,
boolean isPublic)
|
static void |
registerStat(AgisStatDef stat,
boolean isPublic,
java.lang.String... dependencies)
|
static void |
removeAttacker(OID target,
OID attacker)
|
static void |
resolveAutoAttack(CombatInfo info)
|
static void |
saveCooldowns(OID characterOID,
java.util.LinkedList<Cooldown> cooldownList)
|
static void |
sendAbilityUpdate(CombatInfo info)
|
static void |
setDeathStatValues(CombatInfo info)
|
static void |
setReleaseStatValues(CombatInfo info)
|
Methods inherited from class atavism.server.engine.EnginePlugin |
activate, createMBeanInstance, createSubscription, getHookManager, getMessageHandler, getName, getObjectLockManager, getObjectProperties, getObjectProperties, getObjectProperty, getObjectPropertyNames, getPercentCPULoad, getPluginAvailable, getPluginInfo, getPluginNamespaces, getPluginState, getPluginStatus, getPluginType, getPropertyImpl, getPropertyNamesImpl, getStatusMap, handleMessage, handleMessageImpl, logDepsOutstanding, processKeysAndValues, registerActivateHook, registerDeleteHook, registerLoadHook, registerPluginNamespace, registerPluginNamespaces, registerPluginNamespaces, registerPluginNamespaces, registerSaveHook, registerTransferHook, registerUnloadHook, sendSubObjectResponse, sendSubObjectResponse, sendSubObjectResponse, setMessageHandler, setName, setObjectProperties, setObjectProperties, setObjectProperties, setObjectPropertiesNoResponse, setObjectPropertiesNoResponse, setObjectPropertiesNoResponse, setObjectProperty, setObjectPropertyNoResponse, setPercentCPULoad, setPluginAvailable, setPluginInfo, setPluginType, setPropertyImpl, transferObject |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
COMBAT_PLUGIN_NAME
public static java.lang.String COMBAT_PLUGIN_NAME
log
protected static final Logger log
lock
protected static java.util.concurrent.locks.Lock lock
autoAttackReverseMap
protected static java.util.Map<OID,java.util.Set<OID>> autoAttackReverseMap
lastAttackerMap
protected static java.util.Map<OID,OID> lastAttackerMap
statDefMap
protected static java.util.Map<java.lang.String,AgisStatDef> statDefMap
baseStats
protected static java.util.Set<AgisStatDef> baseStats
publicStats
public static java.util.Set<java.lang.String> publicStats
STAT_BASE
public static final int STAT_BASE
- See Also:
- Constant Field Values
HEALTH_BASE
public static final int HEALTH_BASE
- See Also:
- Constant Field Values
MANA_BASE
public static final int MANA_BASE
- See Also:
- Constant Field Values
FLATRESIST_BASE
public static final int FLATRESIST_BASE
- See Also:
- Constant Field Values
PERCENTRESIST_BASE
public static final int PERCENTRESIST_BASE
- See Also:
- Constant Field Values
RESISTANCE_STAT_MAX
public static int RESISTANCE_STAT_MAX
DAMAGE_HITROLL_MODIFIER
public static int DAMAGE_HITROLL_MODIFIER
DAMAGE_DEALT_MODIFIER
public static java.lang.String DAMAGE_DEALT_MODIFIER
DAMAGE_TAKEN_MODIFIER
public static java.lang.String DAMAGE_TAKEN_MODIFIER
ATTACK_SPEED_STAT
public static java.lang.String ATTACK_SPEED_STAT
PHYSICAL_POWER_STAT
public static java.lang.String PHYSICAL_POWER_STAT
MAGICAL_POWER_STAT
public static java.lang.String MAGICAL_POWER_STAT
PHYSICAL_ACCURACY_STAT
public static java.lang.String PHYSICAL_ACCURACY_STAT
MAGICAL_ACCURACY_STAT
public static java.lang.String MAGICAL_ACCURACY_STAT
PHYSICAL_CRITIC_STAT
public static java.lang.String PHYSICAL_CRITIC_STAT
MAGICAL_CRITIC_STAT
public static java.lang.String MAGICAL_CRITIC_STAT
PHYSICAL_EVASION_STAT
public static java.lang.String PHYSICAL_EVASION_STAT
MAGICAL_EVASION_STAT
public static java.lang.String MAGICAL_EVASION_STAT
PARRY_STAT
public static java.lang.String PARRY_STAT
SLEEP_RESISTANCE_STAT
public static java.lang.String SLEEP_RESISTANCE_STAT
STUN_RESISTANCE_STAT
public static java.lang.String STUN_RESISTANCE_STAT
SLOWDOWN_RESISTANCE_STAT
public static java.lang.String SLOWDOWN_RESISTANCE_STAT
IMMOBILIZE_RESISTANCE_STAT
public static java.lang.String IMMOBILIZE_RESISTANCE_STAT
WEIGHT_STAT
public static java.lang.String WEIGHT_STAT
LEVEL_STAT
public static java.lang.String LEVEL_STAT
DAMAGE_TYPES
public static java.util.HashMap<java.lang.String,java.lang.String> DAMAGE_TYPES
STAT_LIST
public static java.util.LinkedList<java.lang.String> STAT_LIST
PROP_HITBOX
public static final java.lang.String PROP_HITBOX
- See Also:
- Constant Field Values
RANGE_CHECK_VERTICAL
public static boolean RANGE_CHECK_VERTICAL
MOBS_STOP_TO_ATTACK
public static boolean MOBS_STOP_TO_ATTACK
SPIRIT_EFFECT
public static int SPIRIT_EFFECT
RELEASE_ON_LOGIN
public static boolean RELEASE_ON_LOGIN
MAGICAL_ATTACKS_USE_WEAPON_DAMAGE
public static boolean MAGICAL_ATTACKS_USE_WEAPON_DAMAGE
EXP_BASED_ON_DAMAGE_DEALT
public static boolean EXP_BASED_ON_DAMAGE_DEALT
WEAPON_REQ_USES_SHARED_TYPES
public static boolean WEAPON_REQ_USES_SHARED_TYPES
COMBAT_TIMEOUT
public static long COMBAT_TIMEOUT
USE_PLAYER_SET_RESPAWN_LOCATIONS
public static boolean USE_PLAYER_SET_RESPAWN_LOCATIONS
RESPAWN_IN_DUNGEON
public static boolean RESPAWN_IN_DUNGEON
FLAT_ARMOR_DAMAGE_CALCULATIONS
public static boolean FLAT_ARMOR_DAMAGE_CALCULATIONS
FALL_SAFE_HEIGHT
public static float FALL_SAFE_HEIGHT
FALL_DEATH_HEIGHT
public static float FALL_DEATH_HEIGHT
FALL_DAMAGE_STAT
public static java.lang.String FALL_DAMAGE_STAT
EXP_LOST_FROM_MOB_DEATH
public static int EXP_LOST_FROM_MOB_DEATH
PREMIUM_EXP_LOST_FROM_MOB_DEATH
public static int PREMIUM_EXP_LOST_FROM_MOB_DEATH
PREMIUM_BONUS_EXP
public static int PREMIUM_BONUS_EXP
ATTACK_ABILITY
public static final int ATTACK_ABILITY
- See Also:
- Constant Field Values
PLAYER_ATTACK_ABILITY
public static final int PLAYER_ATTACK_ABILITY
- See Also:
- Constant Field Values
DEFAULT_MOVEMENT_SPEED
public static final int DEFAULT_MOVEMENT_SPEED
- See Also:
- Constant Field Values
CombatPlugin
public CombatPlugin()
onActivate
public void onActivate()
- Description copied from class:
EnginePlugin
- for developers extending the EnginePlugin object, it may
be easier to use the onActivate() method which gets
called when the plugin is being activated by the Engine.
this is an alternative to calling registerActivateHook()
- Overrides:
onActivate
in class EnginePlugin
loadCombatDataFromDatabase
public void loadCombatDataFromDatabase()
registerHooks
protected void registerHooks()
getCooldowns
public static java.util.LinkedList<Cooldown> getCooldowns(OID characterOID)
saveCooldowns
public static void saveCooldowns(OID characterOID,
java.util.LinkedList<Cooldown> cooldownList)
resolveAutoAttack
public static void resolveAutoAttack(CombatInfo info)
sendAbilityUpdate
public static void sendAbilityUpdate(CombatInfo info)
getCombatInfo
public static CombatInfo getCombatInfo(OID oid)
registerCombatInfo
public static void registerCombatInfo(CombatInfo cinfo)
createNewSkillInfo
protected void createNewSkillInfo(CombatInfo info,
OID mobOid,
java.util.ArrayList<java.lang.Integer> skills)
- Creates the skillInfo object for the CombatInfo object based on the skill
templates loaded in from the database.
- Parameters:
info
- mobOid
- race
-
setReleaseStatValues
public static void setReleaseStatValues(CombatInfo info)
setDeathStatValues
public static void setDeathStatValues(CombatInfo info)
handleDeath
public static void handleDeath(CombatInfo obj)
- This will handle the death of a player or mob. It may try to activate any
after-death effects and it will also send out messages for other
death-related events.
- Parameters:
obj
- : the combatInfo object for the player or mob that died
addAttacker
public static void addAttacker(OID target,
OID attacker)
removeAttacker
public static void removeAttacker(OID target,
OID attacker)
getAttackers
public static java.util.Set<OID> getAttackers(OID target)
clearAttackers
public static void clearAttackers(OID target)
registerStat
public static void registerStat(AgisStatDef stat)
registerStat
public static void registerStat(AgisStatDef stat,
boolean isPublic)
registerStat
public static void registerStat(AgisStatDef stat,
boolean isPublic,
java.lang.String... dependencies)
lookupStatDef
public static AgisStatDef lookupStatDef(java.lang.String name)
applySkillTraining
public void applySkillTraining(OID playerOid,
int skill)
getBaseStatDef
public static AgisStatDef getBaseStatDef(java.lang.String name)
getStartingStats
public java.util.HashMap<java.lang.String,AgisStat> getStartingStats(int level,
boolean isMob,
java.util.HashMap<java.lang.String,java.lang.Integer> statOverrides)
- Sets up the starting stats for players and mobs. I'm not totally happy
with this setup.
- Parameters:
level
- isMob
- baseHealth
- healthMod
- baseMana
- manaMod
-
- Returns:
isPlayerAlive
public static boolean isPlayerAlive(OID playerOid)