public class CombatPlugin extends EnginePlugin
Modifier and Type | Class and Description |
---|---|
class |
CombatPlugin.testmsgTimer |
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
Modifier and Type | Field and Description |
---|---|
static int |
ATTACK_ABILITY |
static java.lang.String |
ATTACK_SPEED_STAT |
protected static java.util.Map<OID,java.util.Set<OID>> |
autoAttackReverseMap |
protected static java.util.Set<AgisStatDef> |
baseStats |
static java.lang.String |
COMBAT_PLUGIN_NAME |
static long |
COMBAT_TIMEOUT |
static java.lang.String |
DAMAGE_DEALT_MODIFIER |
static int |
DAMAGE_HITROLL_MODIFIER |
static java.lang.String |
DAMAGE_TAKEN_MODIFIER |
static java.util.HashMap<java.lang.String,java.lang.String> |
DAMAGE_TYPES |
static int |
DEFAULT_MOVEMENT_SPEED |
static boolean |
EXP_BASED_ON_DAMAGE_DEALT |
static int |
EXP_LOST_FROM_MOB_DEATH |
static java.lang.String |
FALL_DAMAGE_STAT |
static float |
FALL_DEATH_HEIGHT |
static float |
FALL_SAFE_HEIGHT |
static boolean |
FLAT_ARMOR_DAMAGE_CALCULATIONS |
static int |
FLATRESIST_BASE |
static int |
HEALTH_BASE |
static double |
HIT_CHANCE_PERCENTAGE_CAP |
static double |
HIT_CHANCE_PERCENTAGE_PER_DIFF_LEVEL |
static double |
HIT_CHANCE_POINT_PER_PERCENTAGE |
static java.lang.String |
IMMOBILIZE_RESISTANCE_STAT |
protected static java.util.Map<OID,OID> |
lastAttackerMap |
static java.lang.String |
LEVEL_STAT |
protected static java.util.concurrent.locks.Lock |
lock |
protected static Logger |
log |
static java.lang.String |
MAGICAL_ACCURACY_STAT |
static boolean |
MAGICAL_ATTACKS_USE_WEAPON_DAMAGE |
static java.lang.String |
MAGICAL_CRITIC_STAT |
static java.lang.String |
MAGICAL_EVASION_STAT |
static java.lang.String |
MAGICAL_POWER_STAT |
static int |
MANA_BASE |
static boolean |
MOBS_STOP_TO_ATTACK |
static double |
PARRY_PERCENTAGE_CAP |
static java.lang.String |
PARRY_STAT |
static int |
PERCENTRESIST_BASE |
static float |
PET_DISTANCE_DESPAWN |
static java.lang.String |
PHYSICAL_ACCURACY_STAT |
static java.lang.String |
PHYSICAL_CRITIC_STAT |
static java.lang.String |
PHYSICAL_EVASION_STAT |
static java.lang.String |
PHYSICAL_POWER_STAT |
static int |
PLAYER_ATTACK_ABILITY |
static int |
PREMIUM_BONUS_EXP |
static int |
PREMIUM_EXP_LOST_FROM_MOB_DEATH |
static java.lang.String |
PROP_HITBOX |
static java.util.Set<java.lang.String> |
publicStats |
static float |
PVP_DAMAGE_REDUCTION_PERCENT |
static boolean |
PVP_DAMAGE_REDUCTION_USE |
static boolean |
RANGE_CHECK_VERTICAL |
static boolean |
RELEASE_ON_LOGIN |
static int |
RESISTANCE_STAT_MAX |
static boolean |
RESPAWN_IN_DUNGEON |
static java.lang.String |
SLEEP_RESISTANCE_STAT |
static java.lang.String |
SLOWDOWN_RESISTANCE_STAT |
static int |
SPIRIT_EFFECT |
static int |
STAT_BASE |
static java.util.LinkedList<java.lang.String> |
STAT_LIST |
protected static java.util.Map<java.lang.String,AgisStatDef> |
statDefMap |
static java.lang.String |
STUN_RESISTANCE_STAT |
static boolean |
USE_PLAYER_SET_RESPAWN_LOCATIONS |
static boolean |
WEAPON_REQ_USES_SHARED_TYPES |
static java.lang.String |
WEIGHT_STAT |
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
NO_FLAGS, RESPONSE_EXPECTED
Constructor and Description |
---|
CombatPlugin() |
Modifier and Type | Method and Description |
---|---|
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) |
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
public static java.lang.String COMBAT_PLUGIN_NAME
protected static final Logger log
protected static java.util.concurrent.locks.Lock lock
protected static java.util.Map<java.lang.String,AgisStatDef> statDefMap
protected static java.util.Set<AgisStatDef> baseStats
public static java.util.Set<java.lang.String> publicStats
public static final int STAT_BASE
public static final int HEALTH_BASE
public static final int MANA_BASE
public static final int FLATRESIST_BASE
public static final int PERCENTRESIST_BASE
public static int RESISTANCE_STAT_MAX
public static int DAMAGE_HITROLL_MODIFIER
public static java.lang.String DAMAGE_DEALT_MODIFIER
public static java.lang.String DAMAGE_TAKEN_MODIFIER
public static java.lang.String ATTACK_SPEED_STAT
public static java.lang.String PHYSICAL_POWER_STAT
public static java.lang.String MAGICAL_POWER_STAT
public static java.lang.String PHYSICAL_ACCURACY_STAT
public static java.lang.String MAGICAL_ACCURACY_STAT
public static java.lang.String PHYSICAL_CRITIC_STAT
public static java.lang.String MAGICAL_CRITIC_STAT
public static java.lang.String PHYSICAL_EVASION_STAT
public static java.lang.String MAGICAL_EVASION_STAT
public static java.lang.String PARRY_STAT
public static double HIT_CHANCE_POINT_PER_PERCENTAGE
public static double HIT_CHANCE_PERCENTAGE_PER_DIFF_LEVEL
public static double HIT_CHANCE_PERCENTAGE_CAP
public static double PARRY_PERCENTAGE_CAP
public static java.lang.String SLEEP_RESISTANCE_STAT
public static java.lang.String STUN_RESISTANCE_STAT
public static java.lang.String SLOWDOWN_RESISTANCE_STAT
public static java.lang.String IMMOBILIZE_RESISTANCE_STAT
public static java.lang.String WEIGHT_STAT
public static java.lang.String LEVEL_STAT
public static java.util.HashMap<java.lang.String,java.lang.String> DAMAGE_TYPES
public static java.util.LinkedList<java.lang.String> STAT_LIST
public static final java.lang.String PROP_HITBOX
public static boolean RANGE_CHECK_VERTICAL
public static boolean MOBS_STOP_TO_ATTACK
public static int SPIRIT_EFFECT
public static boolean RELEASE_ON_LOGIN
public static boolean MAGICAL_ATTACKS_USE_WEAPON_DAMAGE
public static boolean EXP_BASED_ON_DAMAGE_DEALT
public static boolean WEAPON_REQ_USES_SHARED_TYPES
public static long COMBAT_TIMEOUT
public static boolean USE_PLAYER_SET_RESPAWN_LOCATIONS
public static boolean RESPAWN_IN_DUNGEON
public static boolean FLAT_ARMOR_DAMAGE_CALCULATIONS
public static float FALL_SAFE_HEIGHT
public static float FALL_DEATH_HEIGHT
public static java.lang.String FALL_DAMAGE_STAT
public static int EXP_LOST_FROM_MOB_DEATH
public static int PREMIUM_EXP_LOST_FROM_MOB_DEATH
public static int PREMIUM_BONUS_EXP
public static float PVP_DAMAGE_REDUCTION_PERCENT
public static boolean PVP_DAMAGE_REDUCTION_USE
public static final int ATTACK_ABILITY
public static final int PLAYER_ATTACK_ABILITY
public static final int DEFAULT_MOVEMENT_SPEED
public static float PET_DISTANCE_DESPAWN
public void onActivate()
EnginePlugin
onActivate
in class EnginePlugin
public void loadCombatDataFromDatabase()
protected void registerHooks()
public static void saveCooldowns(OID characterOID, java.util.LinkedList<Cooldown> cooldownList)
public static void resolveAutoAttack(CombatInfo info)
public static void sendAbilityUpdate(CombatInfo info)
public static CombatInfo getCombatInfo(OID oid)
public static void registerCombatInfo(CombatInfo cinfo)
protected void createNewSkillInfo(CombatInfo info, OID mobOid, java.util.ArrayList<java.lang.Integer> skills)
info
- mobOid
- race
- public static void setReleaseStatValues(CombatInfo info)
public static void setDeathStatValues(CombatInfo info)
public static void handleDeath(CombatInfo obj)
obj
- : the combatInfo object for the player or mob that diedpublic static void clearAttackers(OID target)
public static void registerStat(AgisStatDef stat)
public static void registerStat(AgisStatDef stat, boolean isPublic)
public static void registerStat(AgisStatDef stat, boolean isPublic, java.lang.String... dependencies)
public static AgisStatDef lookupStatDef(java.lang.String name)
public void applySkillTraining(OID playerOid, int skill)
public static AgisStatDef getBaseStatDef(java.lang.String name)
public java.util.HashMap<java.lang.String,AgisStat> getStartingStats(int level, boolean isMob, java.util.HashMap<java.lang.String,java.lang.Integer> statOverrides)
level
- isMob
- baseHealth
- healthMod
- baseMana
- manaMod
- public static boolean isPlayerAlive(OID playerOid)