public class CombatPlugin extends EnginePlugin
Modifier and Type | Class and Description |
---|---|
static class |
CombatPlugin.CombatFilter |
static class |
CombatPlugin.CombatInstance |
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 java.lang.String |
ABILITY_CAST_TIME_MOD_STAT |
static java.lang.String |
ABILITY_COOLDOWN_MOD_STAT |
static java.lang.String |
ABILITY_COST_MOD_STAT |
static java.lang.String |
ABILITY_DAMAGE_DEALT_MOD_STAT |
static java.lang.String |
ABILITY_DAMAGE_RECEIVE_MOD_STAT |
static OID |
ABILITY_DEBUG_PLAYER |
static java.lang.String |
ABILITY_GLOBAL_COOLDOWN_MOD_STAT |
static java.lang.String |
ABILITY_HEALTH_DEALT_MOD_STAT |
static java.lang.String |
ABILITY_HEALTH_RECEIVE_MOD_STAT |
static java.lang.String |
ABILITY_RANGE_MOD_STAT |
static boolean |
ABILITY_WEAPON_COOLDOWN_ATTACK_SPEED |
static java.lang.String |
ABILITY_WEAPON_COOLDOWN_MOD_STAT |
static java.lang.String |
ACCURACY |
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 long |
COMBAT_TIMEOUT |
static java.lang.String |
CRITIC_CHANCE |
static java.lang.String |
CRITIC_POWER |
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,DamageType> |
DAMAGE_TYPES |
protected static java.util.List<RankingData> |
dataSendingCollection |
static boolean |
DEATH_LOST_EXP |
static float |
DEATH_LOST_EXP_PERCENTAGE |
static boolean |
DEATH_PERMANENTLY |
static java.lang.String |
DEFAULT_EFFECT_DAMAGE_TYPE |
static int |
DEFAULT_MOVEMENT_SPEED |
static java.lang.String |
EVASION |
static boolean |
EXP_BASED_ON_DAMAGE_DEALT |
static int |
EXP_LOST_FROM_MOB_DEATH |
static java.lang.String |
EXPERIENCE_MAX_STAT |
static java.lang.String |
EXPERIENCE_STAT |
static java.lang.String |
FALL_DAMAGE_STAT |
static java.lang.String |
FALL_DAMAGE_TYPE |
static float |
FALL_DEATH_HEIGHT |
static float |
FALL_SAFE_HEIGHT |
static boolean |
FLAT_ARMOR_DAMAGE_CALCULATIONS |
static int |
FLATRESIST_BASE |
static float |
GLOBAL_COOLDOWN |
static java.util.concurrent.ConcurrentHashMap<java.lang.String,BonusSettings> |
globalEventBonusesArray |
static int |
HEALTH_BASE |
static java.lang.String |
HEALTH_MAX_STAT |
static java.lang.String |
HEALTH_STAT |
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 java.util.List<OID> |
instances |
static java.lang.String |
INTERRUPTION_CHANCE_STAT |
static java.lang.String |
INTERRUPTION_RESISTANCE_STAT |
protected static java.util.Map<OID,OID> |
lastAttackerMap |
static java.lang.String |
LEVEL_STAT |
protected static Logger |
log |
static boolean |
MAGICAL_ATTACKS_USE_WEAPON_DAMAGE |
static int |
MANA_BASE |
protected java.util.Set<MessageType> |
mobFilterTypes |
protected java.util.Set<MessageType> |
mobRPCFilterTypes |
static boolean |
MOBS_STOP_TO_ATTACK |
protected CombatPlugin.CombatFilter |
newRegionFilter |
protected long |
newRegionSub |
static double |
PARRY_PERCENTAGE_CAP |
static java.lang.String |
PARRY_STAT |
static int |
PERCENTRESIST_BASE |
static java.lang.String |
PERCEPTION_STEALTH_STAT |
static float |
PET_DISTANCE_DESPAWN |
static java.lang.String |
PET_GLOBAL_COUNT_STAT |
static int |
PLAYER_ATTACK_ABILITY |
static java.lang.String |
POWER |
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 int |
SAVE_COOLDOWN_LIMIT_DURATION |
static java.lang.String |
SLEEP_CHANCE_STAT |
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.HashMap<java.lang.String,java.lang.Integer> |
STAT_IDS |
static java.util.LinkedList<java.lang.String> |
STAT_LIST |
static java.util.HashMap<java.lang.Integer,java.lang.String> |
STAT_NAMES |
static java.util.HashMap<java.lang.Integer,java.lang.String> |
STAT_PETS_COUNT |
static java.util.HashMap<java.lang.Integer,StatProfile> |
STAT_PROFILES |
static float |
STAT_RANDOM_HIT_INTERRUPTION
Percentage for Additional Randomization for interruption chance
|
static float |
STAT_RANDOM_HIT_SLEEP
Percentage for Additional Randomization for sleep chance
|
static float |
STAT_RANDOM_HIT_STUN
Percentage for Additional Randomization for stun chance
|
static java.util.HashMap<java.lang.String,StatThreshold> |
STAT_THRESHOLDS |
static java.util.Map<java.lang.String,AgisStatDef> |
statDefMap |
static java.lang.String |
STEALTH_STAT |
static java.lang.String |
STUN_CHANCE_STAT |
static java.lang.String |
STUN_RESISTANCE_STAT |
protected java.util.Set<Namespace> |
subObjectFilterNamespaces |
protected java.util.Set<MessageType> |
subObjectFilterTypes |
static int |
USE_ABILITY_STEALTH_REDUCTION |
static float |
USE_ABILITY_STEALTH_REDUCTION_PERCENTAGE |
static int |
USE_ABILITY_STEALTH_REDUCTION_TIMEOUT |
static boolean |
USE_PLAYER_SET_RESPAWN_LOCATIONS |
static float |
WEAPON_COOLDOWN |
static boolean |
WEAPON_REQ_USES_SHARED_TYPES |
static java.lang.String |
WEIGHT_STAT |
static java.util.LinkedList<java.lang.String> |
WMGR_STATS |
DevMode, dumpAllThreadSubscription, dumpAllThreadSubscriptionLock, lock, MSG_TYPE_DUMP_ALL_THREAD_STACKS, MSG_TYPE_GET_PROPERTY, MSG_TYPE_GET_PROPERTY_NAMES, MSG_TYPE_PLUGIN_STATE, MSG_TYPE_RELOAD_TEMPLATES, MSG_TYPE_SET_PROPERTY, MSG_TYPE_SET_PROPERTY_NONBLOCK, MSG_TYPE_TRANSFER_OBJECT, pluginStateSubscription, propertySubscription, selectionFilter, selectionSubscription, subObjectSubscription
NO_FLAGS, RESPONSE_EXPECTED
Constructor and Description |
---|
CombatPlugin() |
Modifier and Type | Method and Description |
---|---|
static void |
addAttacker(OID target,
OID attacker) |
static void |
addListsRankingData(OID subjectOid,
java.lang.Short type,
int value) |
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 xpProfile,
int level,
boolean isMob,
java.util.HashMap<java.lang.String,java.lang.Integer> statOverrides,
int statProfile)
Sets up the starting stats for players and mobs.
|
static java.util.Set<java.lang.String> |
GetStatNotSendToClientByStatDef() |
java.util.Map<java.lang.String,java.lang.String> |
getStatusMap()
Override to provide plugin status.
|
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) |
protected void |
ReloadTemplates(Message msg) |
static void |
removeAttacker(OID target,
OID attacker) |
static void |
resolveAutoAttack(CombatInfo info) |
static void |
RunStealthReduceTimeOut(OID subjectOid,
AgisAbility ability) |
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) |
protected void |
subscribeForMob(OID oid) |
protected void |
subscribeForObject(OID masterOid) |
protected void |
unsubscribeForMob(OID oid) |
protected void |
unsubscribeForObject(OID oid) |
activate, createMBeanInstance, createSubscription, getHookManager, getName, getObjectLockManager, getObjectProperties, getObjectProperties, getObjectProperty, getObjectPropertyNames, getPercentCPULoad, getPluginAvailable, getPluginInfo, getPluginNamespaces, getPluginState, getPluginStatus, getPluginType, getPropertyImpl, getPropertyNamesImpl, handleMessage, handleMessageImpl, logDepsOutstanding, processKeysAndValues, registerActivateHook, registerDeleteHook, registerLoadHook, registerPluginNamespace, registerPluginNamespaces, registerPluginNamespaces, registerPluginNamespaces, registerSaveHook, registerTransferHook, registerUnloadHook, sendSubObjectResponse, sendSubObjectResponse, sendSubObjectResponse, setName, setObjectProperties, setObjectProperties, setObjectProperties, setObjectPropertiesNoResponse, setObjectPropertiesNoResponse, setObjectPropertiesNoResponse, setObjectProperty, setObjectPropertyNoResponse, setPercentCPULoad, setPluginAvailable, setPluginInfo, setPluginType, setPropertyImpl, transferObject
protected static final Logger log
protected java.util.List<OID> instances
protected java.util.Set<MessageType> subObjectFilterTypes
protected java.util.Set<Namespace> subObjectFilterNamespaces
protected CombatPlugin.CombatFilter newRegionFilter
protected long newRegionSub
protected final java.util.Set<MessageType> mobFilterTypes
protected final java.util.Set<MessageType> mobRPCFilterTypes
public 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
protected static java.util.List<RankingData> dataSendingCollection
public static java.util.concurrent.ConcurrentHashMap<java.lang.String,BonusSettings> globalEventBonusesArray
public static java.util.LinkedList<java.lang.String> WMGR_STATS
public static OID ABILITY_DEBUG_PLAYER
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 boolean DEATH_LOST_EXP
public static float DEATH_LOST_EXP_PERCENTAGE
public static boolean DEATH_PERMANENTLY
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 HEALTH_STAT
public static java.lang.String HEALTH_MAX_STAT
public static java.lang.String EXPERIENCE_STAT
public static java.lang.String EXPERIENCE_MAX_STAT
public static java.lang.String PET_GLOBAL_COUNT_STAT
public static java.lang.String POWER
public static java.lang.String ACCURACY
public static java.lang.String EVASION
public static java.lang.String CRITIC_CHANCE
public static java.lang.String CRITIC_POWER
public static java.lang.String PARRY_STAT
public static java.lang.String STEALTH_STAT
public static java.lang.String PERCEPTION_STEALTH_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 SLEEP_CHANCE_STAT
public static java.lang.String STUN_CHANCE_STAT
public static java.lang.String SLOWDOWN_RESISTANCE_STAT
public static java.lang.String IMMOBILIZE_RESISTANCE_STAT
public static java.lang.String INTERRUPTION_RESISTANCE_STAT
public static java.lang.String INTERRUPTION_CHANCE_STAT
public static java.lang.String ABILITY_COST_MOD_STAT
public static java.lang.String ABILITY_CAST_TIME_MOD_STAT
public static java.lang.String ABILITY_COOLDOWN_MOD_STAT
public static java.lang.String ABILITY_GLOBAL_COOLDOWN_MOD_STAT
public static java.lang.String ABILITY_WEAPON_COOLDOWN_MOD_STAT
public static java.lang.String ABILITY_HEALTH_DEALT_MOD_STAT
public static java.lang.String ABILITY_HEALTH_RECEIVE_MOD_STAT
public static java.lang.String ABILITY_DAMAGE_DEALT_MOD_STAT
public static java.lang.String ABILITY_DAMAGE_RECEIVE_MOD_STAT
public static java.lang.String ABILITY_RANGE_MOD_STAT
public static java.lang.String WEIGHT_STAT
public static java.lang.String LEVEL_STAT
public static java.util.HashMap<java.lang.String,DamageType> DAMAGE_TYPES
public static java.util.LinkedList<java.lang.String> STAT_LIST
public static java.util.HashMap<java.lang.Integer,StatProfile> STAT_PROFILES
public static java.util.HashMap<java.lang.Integer,java.lang.String> STAT_NAMES
public static java.util.HashMap<java.lang.String,java.lang.Integer> STAT_IDS
public static java.util.HashMap<java.lang.String,StatThreshold> STAT_THRESHOLDS
public static java.util.HashMap<java.lang.Integer,java.lang.String> STAT_PETS_COUNT
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 GLOBAL_COOLDOWN
public static float WEAPON_COOLDOWN
public static boolean ABILITY_WEAPON_COOLDOWN_ATTACK_SPEED
public static int SAVE_COOLDOWN_LIMIT_DURATION
public static float FALL_SAFE_HEIGHT
public static float FALL_DEATH_HEIGHT
public static java.lang.String FALL_DAMAGE_STAT
public static java.lang.String FALL_DAMAGE_TYPE
public static java.lang.String DEFAULT_EFFECT_DAMAGE_TYPE
public static int USE_ABILITY_STEALTH_REDUCTION
public static int USE_ABILITY_STEALTH_REDUCTION_TIMEOUT
public static float USE_ABILITY_STEALTH_REDUCTION_PERCENTAGE
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 static float STAT_RANDOM_HIT_STUN
public static float STAT_RANDOM_HIT_SLEEP
public static float STAT_RANDOM_HIT_INTERRUPTION
public void onActivate()
EnginePlugin
onActivate
in class EnginePlugin
public void loadCombatDataFromDatabase()
protected void registerHooks()
protected void ReloadTemplates(Message msg)
ReloadTemplates
in class EnginePlugin
public java.util.Map<java.lang.String,java.lang.String> getStatusMap()
EnginePlugin
getStatusMap
in interface StatusMapCallback
getStatusMap
in class EnginePlugin
protected void subscribeForMob(OID oid)
protected void subscribeForObject(OID masterOid)
protected void unsubscribeForMob(OID oid)
protected void unsubscribeForObject(OID oid)
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
- skills
- 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 xpProfile, int level, boolean isMob, java.util.HashMap<java.lang.String,java.lang.Integer> statOverrides, int statProfile)
xpProfile
- level
- isMob
- statOverrides
- public static boolean isPlayerAlive(OID playerOid)
public static void addListsRankingData(OID subjectOid, java.lang.Short type, int value)
public static void RunStealthReduceTimeOut(OID subjectOid, AgisAbility ability)
public static java.util.Set<java.lang.String> GetStatNotSendToClientByStatDef()