com.planet_ink.coffee_mud.Libraries
Class CMAbleMap

java.lang.Object
  extended by com.planet_ink.coffee_mud.Libraries.StdLibrary
      extended by com.planet_ink.coffee_mud.Libraries.CMAbleMap
All Implemented Interfaces:
CMObject, Tickable, AbilityMapper, CMLibrary, java.lang.Cloneable, java.lang.Comparable<CMObject>

public class CMAbleMap
extends StdLibrary
implements AbilityMapper


Nested Class Summary
 
Nested classes/interfaces inherited from interface com.planet_ink.coffee_mud.Libraries.interfaces.AbilityMapper
AbilityMapper.AbilityMapping, AbilityMapper.Cost, AbilityMapper.QualifyingID
 
Field Summary
protected  java.util.Map<java.lang.String,java.lang.Object> allows
           
protected  java.util.Map<java.lang.String,java.util.Map<java.lang.String,AbilityMapper.AbilityMapping>> completeAbleMap
           
protected  java.lang.Integer[] costOverrides
           
protected  java.util.List<AbilityMapper.AbilityMapping> eachClassSet
           
static java.util.Map<java.lang.String,AbilityMapper.AbilityMapping> emptyAbleMap
           
protected  java.util.Map<java.lang.String,java.lang.Integer> lowestQualifyingLevelMap
           
protected  java.util.Map<java.lang.String,java.lang.Integer> maxProficiencyMap
           
protected  java.util.Map<java.lang.String,java.util.Map<java.lang.String,AbilityMapper.AbilityMapping>> reverseAbilityMap
           
 
Fields inherited from class com.planet_ink.coffee_mud.Libraries.StdLibrary
isDebugging, name, serviceClient, tickStatus
 
Fields inherited from interface com.planet_ink.coffee_mud.core.interfaces.Tickable
STATUS_AFFECT, STATUS_ALIVE, STATUS_BEHAVIOR, STATUS_CLASS, STATUS_DEAD, STATUS_END, STATUS_FIGHT, STATUS_MISC, STATUS_MISC2, STATUS_MISC3, STATUS_MISC4, STATUS_MISC5, STATUS_MISC6, STATUS_MISC7, STATUS_NOT, STATUS_OTHER, STATUS_RACE, STATUS_REBIRTH, STATUS_SCRIPT, STATUS_START, STATUS_WEATHER, TICKID_AREA, TICKID_BEAMWEAPON, TICKID_CLAN, TICKID_CLANITEM, TICKID_DEADBODY_DECAY, TICKID_ELECTRONICS, TICKID_EMAIL, TICKID_EXIT_BEHAVIOR, TICKID_EXIT_REOPEN, TICKID_ITEM_BEHAVIOR, TICKID_ITEM_BOUNCEBACK, TICKID_LIGHT_FLICKERS, TICKID_LIVEAUCTION, TICKID_LONGERMASK, TICKID_MISCELLANEOUS, TICKID_MOB, TICKID_PROPERTY_SPECIAL, TICKID_QUEST, TICKID_READYTOSTOP, TICKID_ROOM_BEHAVIOR, TICKID_ROOM_ITEM_REJUV, TICKID_SOLITARYMASK, TICKID_SPECIALCOMBAT, TICKID_SPECIALMANEUVER, TICKID_SPELL_AFFECT, TICKID_SUPPORT, TICKID_TIMEAUCTION, TICKID_TRAP_DESTRUCTION, TICKID_TRAP_RESET
 
Constructor Summary
CMAbleMap()
           
 
Method Summary
 AbilityMapper.AbilityMapping addCharAbilityMapping(java.lang.String ID, int qualLevel, java.lang.String abilityID, boolean autoGain)
          Adds a mapping between a charclass, race, or whatever, and an Ability, by String Ability ID.
 AbilityMapper.AbilityMapping addCharAbilityMapping(java.lang.String ID, int qualLevel, java.lang.String abilityID, boolean autoGain, java.util.List<java.lang.String> skillPreReqs)
          Adds a mapping between a charclass, race, or whatever, and an Ability, by String Ability ID.
 AbilityMapper.AbilityMapping addCharAbilityMapping(java.lang.String ID, int qualLevel, java.lang.String abilityID, boolean autoGain, java.util.List<java.lang.String> skillPreReqs, java.lang.String extraMasks)
          Adds a mapping between a charclass, race, or whatever, and an Ability, by String Ability ID.
 AbilityMapper.AbilityMapping addCharAbilityMapping(java.lang.String ID, int qualLevel, java.lang.String abilityID, boolean autoGain, java.lang.String extraMasks)
          Adds a mapping between a charclass, race, or whatever, and an Ability, by String Ability ID.
 AbilityMapper.AbilityMapping addCharAbilityMapping(java.lang.String ID, int qualLevel, java.lang.String abilityID, int defaultProficiency, boolean autoGain)
          Adds a mapping between a charclass, race, or whatever, and an Ability, by String Ability ID.
 AbilityMapper.AbilityMapping addCharAbilityMapping(java.lang.String ID, int qualLevel, java.lang.String abilityID, int defaultProficiency, boolean autoGain, java.util.List<java.lang.String> skillPreReqs)
          Adds a mapping between a charclass, race, or whatever, and an Ability, by String Ability ID.
 AbilityMapper.AbilityMapping addCharAbilityMapping(java.lang.String ID, int qualLevel, java.lang.String abilityID, int defaultProficiency, boolean autoGain, java.lang.String extraMasks)
           
 AbilityMapper.AbilityMapping addCharAbilityMapping(java.lang.String ID, int qualLevel, java.lang.String abilityID, int defaultProficiency, int maxProficiency, java.lang.String defaultParam, boolean autoGain, boolean secret)
           
 AbilityMapper.AbilityMapping addCharAbilityMapping(java.lang.String ID, int qualLevel, java.lang.String abilityID, int defaultProficiency, int maxProficiency, java.lang.String defaultParam, boolean autoGain, boolean secret, java.util.List<java.lang.String> preReqSkillsList, java.lang.String extraMask)
           
 AbilityMapper.AbilityMapping addCharAbilityMapping(java.lang.String ID, int qualLevel, java.lang.String abilityID, int defaultProficiency, int maxProficiency, java.lang.String defaultParam, boolean autoGain, boolean secret, java.util.List<java.lang.String> preReqSkillsList, java.lang.String extraMask, java.lang.Integer[] costOverrides)
          Adds a mapping between a charclass, race, or whatever, and an Ability, by String Ability ID.
 AbilityMapper.AbilityMapping addCharAbilityMapping(java.lang.String ID, int qualLevel, java.lang.String abilityID, int defaultProficiency, int maxProficiency, java.lang.String defaultParam, boolean autoGain, boolean secret, java.lang.String extraMasks)
           
 AbilityMapper.AbilityMapping addCharAbilityMapping(java.lang.String ID, int qualLevel, java.lang.String abilityID, int defaultProficiency, java.lang.String defParm, boolean autoGain)
          Adds a mapping between a charclass, race, or whatever, and an Ability, by String Ability ID.
 AbilityMapper.AbilityMapping addCharAbilityMapping(java.lang.String ID, int qualLevel, java.lang.String abilityID, int defaultProficiency, java.lang.String defaultParam, boolean autoGain, boolean secret)
          Adds a mapping between a charclass, race, or whatever, and an Ability, by String Ability ID.
 AbilityMapper.AbilityMapping addCharAbilityMapping(java.lang.String ID, int qualLevel, java.lang.String abilityID, int defaultProficiency, java.lang.String defaultParam, boolean autoGain, boolean secret, java.util.List<java.lang.String> preReqSkillsList, java.lang.String extraMask)
          Adds a mapping between a charclass, race, or whatever, and an Ability, by String Ability ID.
 AbilityMapper.AbilityMapping addCharAbilityMapping(java.lang.String ID, int qualLevel, java.lang.String abilityID, int defaultProficiency, java.lang.String defaultParam, boolean autoGain, boolean secret, java.lang.String extraMasks)
           
 AbilityMapper.AbilityMapping addCharAbilityMapping(java.lang.String ID, int qualLevel, java.lang.String abilityID, int defaultProficiency, java.lang.String defParm, boolean autoGain, java.lang.String extraMasks)
           
 AbilityMapper.AbilityMapping addDynaAbilityMapping(java.lang.String ID, int qualLevel, java.lang.String abilityID, int defaultProficiency, java.lang.String defaultParam, boolean autoGain, boolean secret, java.lang.String extraMask)
          Adds a mapping between a charclass, race, or whatever, and an Ability, by String Ability ID.
 void addPreRequisites(java.lang.String ID, java.util.List<java.lang.String> preReqSkillsList, java.lang.String extraMask)
          Adds to the list of allowed skills, expertises, etc that come from the requirements listed for the given skill.
 boolean availableToTheme(java.lang.String abilityID, int theme, boolean publicly)
          Discovers whether the given ability is qualified for by a class that is available to the given theme id number.
 java.lang.String buildAllQualifysSection(java.util.Map<java.lang.String,AbilityMapper.AbilityMapping> map)
           
 boolean classOnly(MOB mob, java.lang.String classID, java.lang.String abilityID)
          Returns whether the given class qualifies for the given ability.
 boolean classOnly(java.lang.String classID, java.lang.String abilityID)
          Returns whether the given class qualifies for the given ability.
 AbilityMapper.AbilityMapping delCharAbilityMapping(java.lang.String ID, java.lang.String abilityID)
          Removes the specified mapping between charclass, race, or whatever, and an Ability, by String ability ID.
 void delCharMappings(java.lang.String ID)
          Removes all ability mappings for the given charclass, race, or whatever.
 void fillPreRequisites(Ability A, DVector rawPreReqs)
           
 java.lang.String formatPreRequisites(DVector preReqs)
          Given a set of common Ability/skill pre-requisites for learning, coded, this method will return those pre-requisites formatted in a friendly, readable form.
 java.util.Iterator<java.lang.String> getAbilityAllowsList(java.lang.String ableID)
          Returns an iterator over the list of expertises and skills which having the given skill will allow.
 AbilityMapper.AbilityMapping getAbleMap(java.lang.String ID, java.lang.String abilityID)
          Returns the ability mapping that is defined by the given char class, race, or clan ID for the given Ability ID(), or null.
 java.util.Map<java.lang.String,AbilityMapper.AbilityMapping> getAbleMapping(java.lang.String ID)
          Returns the raw Ability mappings for the given class, race, or clan ID.
 java.util.List<AbilityMapper.AbilityMapping> getAllAbilityMappings(MOB mob, java.lang.String abilityID)
           
 AbilityMapper.AbilityMapping getAllAbleMap(java.lang.String abilityID)
          Returns the ability mapping that is defined by the All Qualifies list for the given Ability ID(), or null.
 java.lang.Integer[] getAllCostOverrides(java.lang.String abilityID)
          Returns any All-Qualifies overrides to the standard system white standards for casting costs (the amount of mana or moves to use a skill).
 boolean getAllQualified(java.lang.String ID, boolean checkAll, java.lang.String abilityID)
          Returns whether the given ability, for the given charclass, race, or clan government ID, and optionally checking the All Qualifies list, is part of the All Qualified list.
 java.util.Map<java.lang.String,java.util.Map<java.lang.String,AbilityMapper.AbilityMapping>> getAllQualifiesMap(java.util.Map<java.lang.String,java.lang.Object> cache)
          Loads the All-Qualifies list from the filesystem.
 boolean getAllSecretSkill(java.lang.String abilityID)
          Returns whether the given Ability ID() is both mapped on the All Qualifies list AND is a secret skill.
 java.lang.String getApplicableMask(MOB studentM, Ability A)
          Returns the first applicable zapper mask that applies to the given mob for the given ability.
 PairList<java.lang.String,java.lang.Integer> getAvailabilityList(Ability A, int abbreviateAt)
          Returns a String list of all the classes and levels that qualify for the given skill.
 int getCalculatedMedianLowestQualifyingLevel()
          Returns the median lowest qualifying level for all abilities, given you an idea of the middle-skill-gaining levels, for some reason.
 java.util.Enumeration<AbilityMapper.AbilityMapping> getClassAbles(java.lang.String ID, boolean addAll)
          Returns an enumeration of all the AbilityMapping object for all the abilities the given class, race, whatever qualifies for ever.
 java.util.List<AbilityMapper.QualifyingID> getClassAllowsList(java.lang.String classID)
          Returns the list of things allowed by skill which the given class/race/whatever qualifies over their life, along with qualifying levels.
 java.lang.String getCommonExtraMask(Ability A)
          Returns the general zapper mask that defines the requirements to learn the given ability, by ID.
 DVector getCommonPreRequisites(Ability A)
          Returns the coded form of the skill prerequisites for the given ability.
 DVector getCommonPreRequisites(MOB mob, Ability A)
          Returns the coded form of the skill prerequisites for the given ability that apply to the given mob by race or class.
 java.lang.Integer[] getCostOverrides(MOB mob, java.lang.String abilityID)
          Returns any mapping-based overrides to the standard system white standards for casting costs (the amount of mana or moves to use a skill) relevant to the given mob, based on their class, race, etc.
 java.lang.Integer[] getCostOverrides(java.lang.String abilityID)
          Returns the first mapping-based override to the standard system white standards for casting costs (the amount of mana or moves to use a skill).
 java.lang.Integer[] getCostOverrides(java.lang.String ID, boolean checkAll, java.lang.String abilityID)
          Returns any mapping-based overrides to the standard system white standards for casting costs (the amount of mana or moves to use a skill).
 java.util.List<java.lang.String> getCurrentlyQualifyingIDs(MOB studentM, java.lang.String AID)
          Returns the list of CharClass IDs, or Race IDs, or Clan Govt IDs, or whatever by which the given student might qualify for the given Ability ID.
 boolean getDefaultGain(java.lang.String ID, boolean checkAll, java.lang.String abilityID)
          Returns whether the given ability, for the given charclass, race, or clan government ID, and optionally checking the All Qualifies list, is gained by default or must be trained.
 java.lang.String getDefaultParm(java.lang.String ID, boolean checkAll, java.lang.String abilityID)
          Returns the default argument/parameter to add to the given Ability by ID() when gained by the class, race, clan ID, optionally also checking the All-Qualifies list.
 int getDefaultProficiency(java.lang.String ID, boolean checkAll, java.lang.String abilityID)
          Returns the default proficiency to give to the given Ability by ID() when gained by the class, race, clan ID, optionally also checking the All-Qualifies list.
 java.lang.String getExtraMask(java.lang.String ID, boolean checkAll, java.lang.String abilityID)
          Returns the zapper mask that applies to the given class or race for the given ability ID(), optionally checking the All-Qualifies list or not.
 java.util.List<java.lang.String> getLevelListings(java.lang.String ID, boolean checkAll, int level)
          Returns the AbilityIDs of all the skills qualified for by the given char class or race or whatever, at the given level, and optionally including the all-qualified skills.
 Converter<java.lang.String,AbilityMapper.AbilityMapping> getMapper(java.lang.String classID)
          Returns a converter from an ability id to an ability mapping
 int getMaxProficiency(MOB mob, boolean checkAll, java.lang.String abilityID)
          Returns the max allowed proficiency for those with the given Ability by ID() when carried by the mob by class, race, clan ID, optionally also checking the All-Qualifies list.
 int getMaxProficiency(java.lang.String abilityID)
          Returns the max allowed proficiency for those with the given Ability by ID() when carried by any class, race, clan ID, while also checking the All-Qualifies list.
 int getMaxProficiency(java.lang.String ID, boolean checkAll, java.lang.String abilityID)
          Returns the max allowed proficiency for those with the given Ability by ID() when carried by the class, race, clan ID, optionally also checking the All-Qualifies list.
protected  java.util.List<java.lang.String> getOrSet(java.lang.String errStr, java.lang.String abilityID)
           
protected  AbilityMapper.AbilityMapping getPersonalMapping(MOB studentM, java.lang.String AID)
           
 java.lang.String getPreReqStrings(java.lang.String ID, boolean checkAll, java.lang.String abilityID)
          Gets the raw pre-requisites definition for the given mapping by class, race, clan ID and ability ID(), optionally also checking the All-Qualifies list.
 int getQualifyingLevel(java.lang.String ID, boolean checkAll, java.lang.String abilityID)
          Returns the level at which the given class or race qualifies for the given ability ID(), optionally checking the All-Qualifies list or not.
 AbilityMapper.AbilityMapping getQualifyingMapping(java.lang.String ID, boolean checkAll, java.lang.String abilityID)
          Returns the mapping which the given class or race qualifies for the given ability ID(), optionally checking the All-Qualifies list or not.
 java.util.List<AbilityMapper.AbilityMapping> getQualifyingMappings(boolean checkAll, java.lang.String abilityID)
          Returns the mappings which any class or race qualifies for the given ability ID(), optionally checking the All-Qualifies list or not.
 DVector getRawPreRequisites(MOB studentM, Ability A)
           
 DVector getRawPreRequisites(java.lang.String ID, boolean checkAll, java.lang.String abilityID)
           
 boolean getSecretSkill(MOB mob, java.lang.String abilityID)
          Returns whether the given ability ID() represents a skill that is secret to the given mob, by whatever class, race, or clan they qualify for it by.
 boolean getSecretSkill(java.lang.String abilityID)
          Returns whether the given Ability ID() is secret in every mapping (race, class, govt clan id, all qualifies) or not.
 boolean getSecretSkill(java.lang.String ID, boolean checkAll, java.lang.String abilityID)
          Returns whether the given ability, for the given charclass, race, or clan government ID, and optionally checking the All Qualifies list, is a secret skill, or whether it can be seen and known about.
 DVector getUnmetPreRequisites(MOB studentM, Ability A)
          Given a mob who wants to learn the given Ability skill, this method will check the mob (by race/class/whatever) against the ability they qualify for, determining if there are any pre-requisite skills needed to learn this skill.
 java.util.List<AbilityMapper.AbilityMapping> getUpToLevelListings(java.lang.String ID, int level, boolean ignoreAll, boolean gainedOnly)
          Returns the full AbilityMappings of all the skills qualified for by the given char class or race or whatever, at every level up to and including the given level, and optionally excluding the all-qualified skills and non-gained skills.
 void handleEachAndClassAbility(java.util.Map<java.lang.String,AbilityMapper.AbilityMapping> ableMap, java.util.Map<java.lang.String,java.util.Map<java.lang.String,AbilityMapper.AbilityMapping>> allQualMap, java.lang.String ID)
           
 java.lang.String ID()
          The CoffeeMud Java Class ID shared by all instances of this object.
 CMObject lowestQualifyingClassRaceGovt(MOB studentM, Ability A)
          Returns the class, race, or clan government object that qualifies the given mob at the lowest level for the given ability.
 int lowestQualifyingLevel(java.lang.String abilityID)
          Returns the lowest class level at which any class qualifies for the given ability, returning 0 if non found.
 AbilityMapper.AbilityMapping makeAbilityMapping(java.lang.String ID, int qualLevel, java.lang.String abilityID, int defaultProficiency, int maxProficiency, java.lang.String defaultParam, boolean autoGain, boolean secret, boolean isAllQualified, java.util.List<java.lang.String> preReqSkillsList, java.lang.String extraMask, java.lang.Integer[] costOverrides)
          Creates a raw Ability Mapping object.
 AbilityMapper.AbilityMapping makeAllQualifyMapping(java.lang.String s)
           
protected  void mapAbilityFinal(java.lang.String abilityID, java.util.Map<java.lang.String,AbilityMapper.AbilityMapping> ableMap, AbilityMapper.AbilityMapping able)
           
 AbilityMapper.AbilityMapping newAbilityMapping()
          Creates a new, blank ability mapping object
 int numMappedAbilities()
          Returns the total number of abilities mapped to a class or race or something.
 boolean qualifiesByAnyCharClass(java.lang.String abilityID)
          Returns whether the given Ability ID() represents a skill qualified for by any existing character class, including All-Qualified abilities.
 boolean qualifiesByAnyCharClassOrRace(java.lang.String abilityID)
          Returns whether the given Ability ID() represents a skill qualified for by any existing character class, or race, including All-Qualified abilities.
 boolean qualifiesByCurrentClassAndLevel(MOB studentM, Ability A)
          Returns whether the given mob qualifies for the given ability only because of their current class at its current level.
 boolean qualifiesByLevel(MOB studentM, Ability A)
          Returns whether the given mob qualifies for the given ability because of any of their char classes at its current level, race, or clan.
 boolean qualifiesByLevel(MOB studentM, java.lang.String abilityID)
          Returns whether the given mob qualifies for the given ability because of any of their char classes at its current level, race, or clan.
 boolean qualifiesOnlyByACharClass(MOB studentM, Ability A)
          Returns whether the given mob qualifies for the given ability only because of their a char class they have, at its current level.
 boolean qualifiesOnlyByClan(MOB studentM, Ability A)
          Returns whether the given mob qualifies for the given ability only because of their clan affiliations.
 boolean qualifiesOnlyByRace(MOB studentM, Ability A)
          Returns whether the given mob qualifies for the given ability only because of their race.
 int qualifyingClassLevel(MOB studentM, Ability A)
          Returns the lowest char class level at which the given mob (by race or class) qualified for the given ability if any.
 java.lang.String qualifyingID(MOB studentM, Ability A)
          Returns the CharClass ID, Race ID, Clan Govt ID, etc or whatever by which the student BEST qualifies for the given Ability.
 int qualifyingLevel(MOB studentM, Ability A)
          Returns the lowest class or player level at which the given mob (by race or class) qualified for the given ability if any.
 void saveAllQualifysFile(java.util.Map<java.lang.String,java.util.Map<java.lang.String,AbilityMapper.AbilityMapping>> newMap)
          Saves the All-Qualifies list to the filesystem.
protected  void undoAllQualifysList()
           
 
Methods inherited from class com.planet_ink.coffee_mud.Libraries.StdLibrary
activate, checkDatabase, compareTo, copyOf, getServiceClient, getTickStatus, initializeClass, L, name, newInstance, propertiesLoaded, setThreadStatus, shutdown, tick
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.planet_ink.coffee_mud.Libraries.interfaces.CMLibrary
activate, getServiceClient, L, propertiesLoaded, shutdown
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.CMObject
copyOf, initializeClass, name, newInstance
 
Methods inherited from interface java.lang.Comparable
compareTo
 

Field Detail

completeAbleMap

protected java.util.Map<java.lang.String,java.util.Map<java.lang.String,AbilityMapper.AbilityMapping>> completeAbleMap

reverseAbilityMap

protected java.util.Map<java.lang.String,java.util.Map<java.lang.String,AbilityMapper.AbilityMapping>> reverseAbilityMap

emptyAbleMap

public static final java.util.Map<java.lang.String,AbilityMapper.AbilityMapping> emptyAbleMap

lowestQualifyingLevelMap

protected java.util.Map<java.lang.String,java.lang.Integer> lowestQualifyingLevelMap

maxProficiencyMap

protected java.util.Map<java.lang.String,java.lang.Integer> maxProficiencyMap

allows

protected java.util.Map<java.lang.String,java.lang.Object> allows

eachClassSet

protected java.util.List<AbilityMapper.AbilityMapping> eachClassSet

costOverrides

protected final java.lang.Integer[] costOverrides
Constructor Detail

CMAbleMap

public CMAbleMap()
Method Detail

ID

public java.lang.String ID()
Description copied from interface: CMObject
The CoffeeMud Java Class ID shared by all instances of this object. Unlike the Java Class name, this method does not include package information. However, it must return a String value unique to its class category in the ClassLoader. Class categories include Libraries, Common, Areas, Abilities, Behaviors, CharClasses, Commands, Exits Locales, MOBS, Races, WebMacros, Basic Items, Armor, Weapons, ClanItems, Tech. The name is typically identical to the class name.

Specified by:
ID in interface CMObject
Overrides:
ID in class StdLibrary
Returns:
the name of this class

addCharAbilityMapping

public AbilityMapper.AbilityMapping addCharAbilityMapping(java.lang.String ID,
                                                          int qualLevel,
                                                          java.lang.String abilityID,
                                                          boolean autoGain)
Description copied from interface: AbilityMapper
Adds a mapping between a charclass, race, or whatever, and an Ability, by String Ability ID. Also allows specifying numerous other attributes.

Specified by:
addCharAbilityMapping in interface AbilityMapper
Parameters:
ID - the race ID(), charclass ID(), "All" is also acceptable.
qualLevel - the charclass or race player level at which one qualifies to receive the ability
abilityID - the Ability ID()
autoGain - true if the player/race automatically gets the ability, false if they must pay COSTs
Returns:
the finished AbilityMapping
See Also:
AbilityMapper.AbilityMapping, AbilityMapper.makeAbilityMapping(String, int, String, int, int, String, boolean, boolean, boolean, List, String, Integer[]), AbilityMapper.delCharAbilityMapping(String, String), AbilityMapper.addCharAbilityMapping(String, int, String, boolean, List)

addCharAbilityMapping

public AbilityMapper.AbilityMapping addCharAbilityMapping(java.lang.String ID,
                                                          int qualLevel,
                                                          java.lang.String abilityID,
                                                          boolean autoGain,
                                                          java.lang.String extraMasks)
Description copied from interface: AbilityMapper
Adds a mapping between a charclass, race, or whatever, and an Ability, by String Ability ID. Also allows specifying numerous other attributes.

Specified by:
addCharAbilityMapping in interface AbilityMapper
Parameters:
ID - the race ID(), charclass ID(), "All" is also acceptable.
qualLevel - the charclass or race player level at which one qualifies to receive the ability
abilityID - the Ability ID()
autoGain - true if the player/race automatically gets the ability, false if they must pay COSTs
extraMasks - a zappermask for the player with any miscellaneough requirements
Returns:
the finished AbilityMapping
See Also:
AbilityMapper.AbilityMapping, AbilityMapper.makeAbilityMapping(String, int, String, int, int, String, boolean, boolean, boolean, List, String, Integer[]), AbilityMapper.delCharAbilityMapping(String, String), AbilityMapper.addCharAbilityMapping(String, int, String, boolean, List), AbilityMapper.addCharAbilityMapping(String, int, String, boolean, List, String)

addCharAbilityMapping

public AbilityMapper.AbilityMapping addCharAbilityMapping(java.lang.String ID,
                                                          int qualLevel,
                                                          java.lang.String abilityID,
                                                          boolean autoGain,
                                                          java.util.List<java.lang.String> skillPreReqs)
Description copied from interface: AbilityMapper
Adds a mapping between a charclass, race, or whatever, and an Ability, by String Ability ID. Also allows specifying numerous other attributes.

Specified by:
addCharAbilityMapping in interface AbilityMapper
Parameters:
ID - the race ID(), charclass ID(), "All" is also acceptable.
qualLevel - the charclass or race player level at which one qualifies to receive the ability
abilityID - the Ability ID()
autoGain - true if the player/race automatically gets the ability, false if they must pay COSTs
skillPreReqs - String list of required Ability IDs with optional min. proff in parenthesis
Returns:
the finished AbilityMapping
See Also:
AbilityMapper.AbilityMapping, AbilityMapper.makeAbilityMapping(String, int, String, int, int, String, boolean, boolean, boolean, List, String, Integer[]), AbilityMapper.delCharAbilityMapping(String, String), AbilityMapper.addCharAbilityMapping(String, int, String, boolean), AbilityMapper.addCharAbilityMapping(String, int, String, boolean, String)

addCharAbilityMapping

public AbilityMapper.AbilityMapping addCharAbilityMapping(java.lang.String ID,
                                                          int qualLevel,
                                                          java.lang.String abilityID,
                                                          boolean autoGain,
                                                          java.util.List<java.lang.String> skillPreReqs,
                                                          java.lang.String extraMasks)
Description copied from interface: AbilityMapper
Adds a mapping between a charclass, race, or whatever, and an Ability, by String Ability ID. Also allows specifying numerous other attributes.

Specified by:
addCharAbilityMapping in interface AbilityMapper
Parameters:
ID - the race ID(), charclass ID(), "All" is also acceptable.
qualLevel - the charclass or race player level at which one qualifies to receive the ability
abilityID - the Ability ID()
autoGain - true if the player/race automatically gets the ability, false if they must pay COSTs
skillPreReqs - String list of required Ability IDs with optional min. proff in parenthesis
extraMasks - a zappermask for the player with any miscellaneough requirements
Returns:
the finished AbilityMapping
See Also:
AbilityMapper.AbilityMapping, AbilityMapper.makeAbilityMapping(String, int, String, int, int, String, boolean, boolean, boolean, List, String, Integer[]), AbilityMapper.delCharAbilityMapping(String, String), AbilityMapper.addCharAbilityMapping(String, int, String, boolean, String), AbilityMapper.addCharAbilityMapping(String, int, String, int, String, boolean)

addCharAbilityMapping

public AbilityMapper.AbilityMapping addCharAbilityMapping(java.lang.String ID,
                                                          int qualLevel,
                                                          java.lang.String abilityID,
                                                          int defaultProficiency,
                                                          java.lang.String defParm,
                                                          boolean autoGain)
Description copied from interface: AbilityMapper
Adds a mapping between a charclass, race, or whatever, and an Ability, by String Ability ID. Also allows specifying numerous other attributes.

Specified by:
addCharAbilityMapping in interface AbilityMapper
Parameters:
ID - the race ID(), charclass ID(), "All" is also acceptable.
qualLevel - the charclass or race player level at which one qualifies to receive the ability
abilityID - the Ability ID()
defaultProficiency - the initial proficiency at which this mapping bestows the ability
defParm - if the Ability allows parameters, these are the parameters this mapping gives
autoGain - true if the player/race automatically gets the ability, false if they must pay COSTs
Returns:
the finished AbilityMapping
See Also:
AbilityMapper.AbilityMapping, AbilityMapper.makeAbilityMapping(String, int, String, int, int, String, boolean, boolean, boolean, List, String, Integer[]), AbilityMapper.delCharAbilityMapping(String, String), AbilityMapper.addCharAbilityMapping(String, int, String, boolean, List, String), AbilityMapper.addCharAbilityMapping(String, int, String, int, boolean)

addCharAbilityMapping

public AbilityMapper.AbilityMapping addCharAbilityMapping(java.lang.String ID,
                                                          int qualLevel,
                                                          java.lang.String abilityID,
                                                          int defaultProficiency,
                                                          java.lang.String defParm,
                                                          boolean autoGain,
                                                          java.lang.String extraMasks)

addCharAbilityMapping

public AbilityMapper.AbilityMapping addCharAbilityMapping(java.lang.String ID,
                                                          int qualLevel,
                                                          java.lang.String abilityID,
                                                          int defaultProficiency,
                                                          boolean autoGain)
Description copied from interface: AbilityMapper
Adds a mapping between a charclass, race, or whatever, and an Ability, by String Ability ID. Also allows specifying numerous other attributes.

Specified by:
addCharAbilityMapping in interface AbilityMapper
Parameters:
ID - the race ID(), charclass ID(), "All" is also acceptable.
qualLevel - the charclass or race player level at which one qualifies to receive the ability
abilityID - the Ability ID()
defaultProficiency - the initial proficiency at which this mapping bestows the ability
autoGain - true if the player/race automatically gets the ability, false if they must pay COSTs
Returns:
the finished AbilityMapping
See Also:
AbilityMapper.AbilityMapping, AbilityMapper.makeAbilityMapping(String, int, String, int, int, String, boolean, boolean, boolean, List, String, Integer[]), AbilityMapper.delCharAbilityMapping(String, String), AbilityMapper.addCharAbilityMapping(String, int, String, int, String, boolean), AbilityMapper.addCharAbilityMapping(String, int, String, int, String, boolean, boolean)

addCharAbilityMapping

public AbilityMapper.AbilityMapping addCharAbilityMapping(java.lang.String ID,
                                                          int qualLevel,
                                                          java.lang.String abilityID,
                                                          int defaultProficiency,
                                                          boolean autoGain,
                                                          java.util.List<java.lang.String> skillPreReqs)
Description copied from interface: AbilityMapper
Adds a mapping between a charclass, race, or whatever, and an Ability, by String Ability ID. Also allows specifying numerous other attributes.

Specified by:
addCharAbilityMapping in interface AbilityMapper
Parameters:
ID - the race ID(), charclass ID(), "All" is also acceptable.
qualLevel - the charclass or race player level at which one qualifies to receive the ability
abilityID - the Ability ID()
defaultProficiency - the initial proficiency at which this mapping bestows the ability
autoGain - true if the player/race automatically gets the ability, false if they must pay COSTs
skillPreReqs - String list of required Ability IDs with optional min. proff in parenthesis
Returns:
the finished AbilityMapping
See Also:
AbilityMapper.AbilityMapping, AbilityMapper.makeAbilityMapping(String, int, String, int, int, String, boolean, boolean, boolean, List, String, Integer[]), AbilityMapper.delCharAbilityMapping(String, String), AbilityMapper.addCharAbilityMapping(String, int, String, int, String, boolean), AbilityMapper.addCharAbilityMapping(String, int, String, int, String, boolean, boolean)

addCharAbilityMapping

public AbilityMapper.AbilityMapping addCharAbilityMapping(java.lang.String ID,
                                                          int qualLevel,
                                                          java.lang.String abilityID,
                                                          int defaultProficiency,
                                                          boolean autoGain,
                                                          java.lang.String extraMasks)

numMappedAbilities

public int numMappedAbilities()
Description copied from interface: AbilityMapper
Returns the total number of abilities mapped to a class or race or something.

Specified by:
numMappedAbilities in interface AbilityMapper
Returns:
the total number of abilities mapped to a class or race or something.
See Also:
AbilityMapper.getAllAbleMap(String), AbilityMapper.getAbleMap(String, String)

delCharAbilityMapping

public AbilityMapper.AbilityMapping delCharAbilityMapping(java.lang.String ID,
                                                          java.lang.String abilityID)
Description copied from interface: AbilityMapper
Removes the specified mapping between charclass, race, or whatever, and an Ability, by String ability ID.

Specified by:
delCharAbilityMapping in interface AbilityMapper
Parameters:
ID - the race ID(), charclass ID(), "All" is also acceptable.
abilityID - the Ability ID()
Returns:
the mapping removed
See Also:
AbilityMapper.AbilityMapping, AbilityMapper.makeAbilityMapping(String, int, String, int, int, String, boolean, boolean, boolean, List, String, Integer[]), AbilityMapper.addCharAbilityMapping(String, int, String, int, int, String, boolean, boolean, List, String, Integer[]), AbilityMapper.delCharMappings(String)

delCharMappings

public void delCharMappings(java.lang.String ID)
Description copied from interface: AbilityMapper
Removes all ability mappings for the given charclass, race, or whatever.

Specified by:
delCharMappings in interface AbilityMapper
Parameters:
ID - the race ID(), charclass ID(), "All" is also acceptable.
See Also:
AbilityMapper.AbilityMapping, AbilityMapper.makeAbilityMapping(String, int, String, int, int, String, boolean, boolean, boolean, List, String, Integer[]), AbilityMapper.addCharAbilityMapping(String, int, String, int, int, String, boolean, boolean, List, String, Integer[]), AbilityMapper.delCharAbilityMapping(String, String)

getClassAbles

public java.util.Enumeration<AbilityMapper.AbilityMapping> getClassAbles(java.lang.String ID,
                                                                         boolean addAll)
Description copied from interface: AbilityMapper
Returns an enumeration of all the AbilityMapping object for all the abilities the given class, race, whatever qualifies for ever. Will include common (all qualified) abilities if specified.

Specified by:
getClassAbles in interface AbilityMapper
Parameters:
ID - the race ID(), charclass ID(), etc
addAll - true to include all-qualified abilities, false for just class unique
Returns:
an enumeration of AbilityMapping objects
See Also:
AbilityMapper.AbilityMapping

addCharAbilityMapping

public AbilityMapper.AbilityMapping addCharAbilityMapping(java.lang.String ID,
                                                          int qualLevel,
                                                          java.lang.String abilityID,
                                                          int defaultProficiency,
                                                          java.lang.String defaultParam,
                                                          boolean autoGain,
                                                          boolean secret)
Description copied from interface: AbilityMapper
Adds a mapping between a charclass, race, or whatever, and an Ability, by String Ability ID. Also allows specifying numerous other attributes.

Specified by:
addCharAbilityMapping in interface AbilityMapper
Parameters:
ID - the race ID(), charclass ID(), "All" is also acceptable.
qualLevel - the charclass or race player level at which one qualifies to receive the ability
abilityID - the Ability ID()
defaultProficiency - the initial proficiency at which this mapping bestows the ability
defaultParam - if the Ability allows parameters, these are the parameters this mapping gives
autoGain - true if the player/race automatically gets the ability, false if they must pay COSTs
secret - true if this mapping is NOT available to Qualify and WillQualify commands, false if it is.
Returns:
the finished AbilityMapping
See Also:
AbilityMapper.AbilityMapping, AbilityMapper.makeAbilityMapping(String, int, String, int, int, String, boolean, boolean, boolean, List, String, Integer[]), AbilityMapper.delCharAbilityMapping(String, String), AbilityMapper.addCharAbilityMapping(String, int, String, int, boolean), AbilityMapper.addCharAbilityMapping(String, int, String, int, String, boolean, boolean, List, String)

addCharAbilityMapping

public AbilityMapper.AbilityMapping addCharAbilityMapping(java.lang.String ID,
                                                          int qualLevel,
                                                          java.lang.String abilityID,
                                                          int defaultProficiency,
                                                          java.lang.String defaultParam,
                                                          boolean autoGain,
                                                          boolean secret,
                                                          java.lang.String extraMasks)

addCharAbilityMapping

public AbilityMapper.AbilityMapping addCharAbilityMapping(java.lang.String ID,
                                                          int qualLevel,
                                                          java.lang.String abilityID,
                                                          int defaultProficiency,
                                                          java.lang.String defaultParam,
                                                          boolean autoGain,
                                                          boolean secret,
                                                          java.util.List<java.lang.String> preReqSkillsList,
                                                          java.lang.String extraMask)
Description copied from interface: AbilityMapper
Adds a mapping between a charclass, race, or whatever, and an Ability, by String Ability ID. Also allows specifying numerous other attributes.

Specified by:
addCharAbilityMapping in interface AbilityMapper
Parameters:
ID - the race ID(), charclass ID(), "All" is also acceptable.
qualLevel - the charclass or race player level at which one qualifies to receive the ability
abilityID - the Ability ID()
defaultProficiency - the initial proficiency at which this mapping bestows the ability
defaultParam - if the Ability allows parameters, these are the parameters this mapping gives
autoGain - true if the player/race automatically gets the ability, false if they must pay COSTs
secret - true if this mapping is NOT available to Qualify and WillQualify commands, false if it is.
preReqSkillsList - String list of required Ability IDs with optional min. proff in parenthesis
extraMask - a zappermask for the player with any miscellaneough requirements
Returns:
the finished AbilityMapping
See Also:
AbilityMapper.AbilityMapping, AbilityMapper.makeAbilityMapping(String, int, String, int, int, String, boolean, boolean, boolean, List, String, Integer[]), AbilityMapper.delCharAbilityMapping(String, String), AbilityMapper.addCharAbilityMapping(String, int, String, int, String, boolean, boolean), AbilityMapper.addCharAbilityMapping(String, int, String, int, int, String, boolean, boolean, List, String, Integer[])

addCharAbilityMapping

public AbilityMapper.AbilityMapping addCharAbilityMapping(java.lang.String ID,
                                                          int qualLevel,
                                                          java.lang.String abilityID,
                                                          int defaultProficiency,
                                                          int maxProficiency,
                                                          java.lang.String defaultParam,
                                                          boolean autoGain,
                                                          boolean secret)

addCharAbilityMapping

public AbilityMapper.AbilityMapping addCharAbilityMapping(java.lang.String ID,
                                                          int qualLevel,
                                                          java.lang.String abilityID,
                                                          int defaultProficiency,
                                                          int maxProficiency,
                                                          java.lang.String defaultParam,
                                                          boolean autoGain,
                                                          boolean secret,
                                                          java.lang.String extraMasks)

addDynaAbilityMapping

public AbilityMapper.AbilityMapping addDynaAbilityMapping(java.lang.String ID,
                                                          int qualLevel,
                                                          java.lang.String abilityID,
                                                          int defaultProficiency,
                                                          java.lang.String defaultParam,
                                                          boolean autoGain,
                                                          boolean secret,
                                                          java.lang.String extraMask)
Description copied from interface: AbilityMapper
Adds a mapping between a charclass, race, or whatever, and an Ability, by String Ability ID. Also allows specifying numerous other attributes. Substantially identical to methods like AbilityMapper.addCharAbilityMapping(String, int, String, int, String, boolean, boolean, List, String) except that the Each/global ability mappings are not initialized if this is the first class mapping, meaning it's best to call this at runtime instead of boot time.

Specified by:
addDynaAbilityMapping in interface AbilityMapper
Parameters:
ID - the race ID(), charclass ID(), "All" is also acceptable.
qualLevel - the charclass or race player level at which one qualifies to receive the ability
abilityID - the Ability ID()
defaultProficiency - the initial proficiency at which this mapping bestows the ability
defaultParam - if the Ability allows parameters, these are the parameters this mapping gives
autoGain - true if the player/race automatically gets the ability, false if they must pay COSTs
secret - true if this mapping is NOT available to Qualify and WillQualify commands, false if it is.
extraMask - a zappermask for the player with any miscellaneough requirements
Returns:
the finished AbilityMapping
See Also:
AbilityMapper.AbilityMapping, AbilityMapper.makeAbilityMapping(String, int, String, int, int, String, boolean, boolean, boolean, List, String, Integer[]), AbilityMapper.delCharAbilityMapping(String, String), AbilityMapper.addCharAbilityMapping(String, int, String, int, int, String, boolean, boolean, List, String, Integer[])

addCharAbilityMapping

public AbilityMapper.AbilityMapping addCharAbilityMapping(java.lang.String ID,
                                                          int qualLevel,
                                                          java.lang.String abilityID,
                                                          int defaultProficiency,
                                                          int maxProficiency,
                                                          java.lang.String defaultParam,
                                                          boolean autoGain,
                                                          boolean secret,
                                                          java.util.List<java.lang.String> preReqSkillsList,
                                                          java.lang.String extraMask)

addPreRequisites

public void addPreRequisites(java.lang.String ID,
                             java.util.List<java.lang.String> preReqSkillsList,
                             java.lang.String extraMask)
Description copied from interface: AbilityMapper
Adds to the list of allowed skills, expertises, etc that come from the requirements listed for the given skill. Used mostly by the Expertise system, but also used by the class system to cross-reference skill requirements.

Specified by:
addPreRequisites in interface AbilityMapper
Parameters:
ID - the Ability ID of the skill gaining pre-requisites
preReqSkillsList - the formatted list of prereqs, typically Ability IDs.
extraMask - a zappermask of other requirements that a person must have for the skill

getClassAllowsList

public java.util.List<AbilityMapper.QualifyingID> getClassAllowsList(java.lang.String classID)
Description copied from interface: AbilityMapper
Returns the list of things allowed by skill which the given class/race/whatever qualifies over their life, along with qualifying levels. This is intended entirely for gathering expertises qualified for by class skills.

Specified by:
getClassAllowsList in interface AbilityMapper
Parameters:
classID - the charclass ID(), race ID(), or whatever
Returns:
the list of skill and skill qualifying information for that class
See Also:
AbilityMapper.getAbilityAllowsList(String), AbilityMapper.QualifyingID

getAbilityAllowsList

public java.util.Iterator<java.lang.String> getAbilityAllowsList(java.lang.String ableID)
Description copied from interface: AbilityMapper
Returns an iterator over the list of expertises and skills which having the given skill will allow.

Specified by:
getAbilityAllowsList in interface AbilityMapper
Parameters:
ableID - the skill to get the allows list for
Returns:
an iterator over the list of expertises and skills
See Also:
AbilityMapper.getClassAllowsList(String)

addCharAbilityMapping

public AbilityMapper.AbilityMapping addCharAbilityMapping(java.lang.String ID,
                                                          int qualLevel,
                                                          java.lang.String abilityID,
                                                          int defaultProficiency,
                                                          int maxProficiency,
                                                          java.lang.String defaultParam,
                                                          boolean autoGain,
                                                          boolean secret,
                                                          java.util.List<java.lang.String> preReqSkillsList,
                                                          java.lang.String extraMask,
                                                          java.lang.Integer[] costOverrides)
Description copied from interface: AbilityMapper
Adds a mapping between a charclass, race, or whatever, and an Ability, by String Ability ID. Also allows specifying numerous other attributes.

Specified by:
addCharAbilityMapping in interface AbilityMapper
Parameters:
ID - the race ID(), charclass ID(), "All" is also acceptable.
qualLevel - the charclass or race player level at which one qualifies to receive the ability
abilityID - the Ability ID()
defaultProficiency - the initial proficiency at which this mapping bestows the ability
maxProficiency - the maximum proficiency that this mapping allows (100 default)
defaultParam - if the Ability allows parameters, these are the parameters this mapping gives
autoGain - true if the player/race automatically gets the ability, false if they must pay COSTs
secret - true if this mapping is NOT available to Qualify and WillQualify commands, false if it is.
preReqSkillsList - String list of required Ability IDs with optional min. proff in parenthesis
extraMask - a zappermask for the player with any miscellaneough requirements
costOverrides - overrides of the CMProps-based cost formulas for gaining this skill
Returns:
the finished AbilityMapping
See Also:
AbilityMapper.AbilityMapping, AbilityMapper.makeAbilityMapping(String, int, String, int, int, String, boolean, boolean, boolean, List, String, Integer[]), AbilityMapper.delCharAbilityMapping(String, String), AbilityMapper.addCharAbilityMapping(String, int, String, int, String, boolean, boolean, List, String), AbilityMapper.addDynaAbilityMapping(String, int, String, int, String, boolean, boolean, String)

newAbilityMapping

public AbilityMapper.AbilityMapping newAbilityMapping()
Description copied from interface: AbilityMapper
Creates a new, blank ability mapping object

Specified by:
newAbilityMapping in interface AbilityMapper
Returns:
a new, blank ability mapping object
See Also:
AbilityMapper.AbilityMapping, AbilityMapper.makeAbilityMapping(String, int, String, int, int, String, boolean, boolean, boolean, List, String, Integer[])

makeAbilityMapping

public AbilityMapper.AbilityMapping makeAbilityMapping(java.lang.String ID,
                                                       int qualLevel,
                                                       java.lang.String abilityID,
                                                       int defaultProficiency,
                                                       int maxProficiency,
                                                       java.lang.String defaultParam,
                                                       boolean autoGain,
                                                       boolean secret,
                                                       boolean isAllQualified,
                                                       java.util.List<java.lang.String> preReqSkillsList,
                                                       java.lang.String extraMask,
                                                       java.lang.Integer[] costOverrides)
Description copied from interface: AbilityMapper
Creates a raw Ability Mapping object.

Specified by:
makeAbilityMapping in interface AbilityMapper
Parameters:
ID - the race ID(), charclass ID(), "All" is also acceptable.
qualLevel - the charclass or race player level at which one qualifies to receive the ability
abilityID - the Ability ID()
defaultProficiency - the initial proficiency at which this mapping bestows the ability
maxProficiency - the maximum proficiency that this mapping allows (100 default)
defaultParam - if the Ability allows parameters, these are the parameters this mapping gives
autoGain - true if the player/race automatically gets the ability, false if they must pay COSTs
secret - true if this mapping is NOT available to Qualify and WillQualify commands, false if it is.
isAllQualified - true if all classes qualify for this skill, as from the All Qualifies list.
preReqSkillsList - String list of required Ability IDs with optional min. proff in parenthesis
extraMask - a zappermask for the player with any miscellaneough requirements
costOverrides - overrides of the CMProps-based cost formulas for gaining this skill
Returns:
the finished AbilityMapping
See Also:
AbilityMapper.AbilityMapping, AbilityMapper.delCharAbilityMapping(String, String), AbilityMapper.newAbilityMapping()

getCalculatedMedianLowestQualifyingLevel

public int getCalculatedMedianLowestQualifyingLevel()
Description copied from interface: AbilityMapper
Returns the median lowest qualifying level for all abilities, given you an idea of the middle-skill-gaining levels, for some reason.

Specified by:
getCalculatedMedianLowestQualifyingLevel in interface AbilityMapper
Returns:
the median lowest qualifying level for all abilities

mapAbilityFinal

protected void mapAbilityFinal(java.lang.String abilityID,
                               java.util.Map<java.lang.String,AbilityMapper.AbilityMapping> ableMap,
                               AbilityMapper.AbilityMapping able)

handleEachAndClassAbility

public void handleEachAndClassAbility(java.util.Map<java.lang.String,AbilityMapper.AbilityMapping> ableMap,
                                      java.util.Map<java.lang.String,java.util.Map<java.lang.String,AbilityMapper.AbilityMapping>> allQualMap,
                                      java.lang.String ID)

qualifiesByAnyCharClass

public boolean qualifiesByAnyCharClass(java.lang.String abilityID)
Description copied from interface: AbilityMapper
Returns whether the given Ability ID() represents a skill qualified for by any existing character class, including All-Qualified abilities.

Specified by:
qualifiesByAnyCharClass in interface AbilityMapper
Parameters:
abilityID - the ability ID()
Returns:
true if a class qualifies for it, false otherwise
See Also:
AbilityMapper.classOnly(String, String), AbilityMapper.classOnly(MOB, String, String)

qualifiesByAnyCharClassOrRace

public boolean qualifiesByAnyCharClassOrRace(java.lang.String abilityID)
Description copied from interface: AbilityMapper
Returns whether the given Ability ID() represents a skill qualified for by any existing character class, or race, including All-Qualified abilities.

Specified by:
qualifiesByAnyCharClassOrRace in interface AbilityMapper
Parameters:
abilityID - the ability ID()
Returns:
true if a class or race qualifies for it, false otherwise
See Also:
AbilityMapper.classOnly(String, String), AbilityMapper.qualifiesByAnyCharClass(String)

lowestQualifyingLevel

public int lowestQualifyingLevel(java.lang.String abilityID)
Description copied from interface: AbilityMapper
Returns the lowest class level at which any class qualifies for the given ability, returning 0 if non found.

Specified by:
lowestQualifyingLevel in interface AbilityMapper
Parameters:
abilityID - the ability ID()
Returns:
the lowest qualifying level

classOnly

public boolean classOnly(java.lang.String classID,
                         java.lang.String abilityID)
Description copied from interface: AbilityMapper
Returns whether the given class qualifies for the given ability. Does not check all-qualifies list, so this is only class (or race) specific qualifications. Returns true ONLY if the given class or race is the ONLY one who qualifies.

Specified by:
classOnly in interface AbilityMapper
Parameters:
classID - the class ID(), race ID() or whatever
abilityID - the ability ID()
Returns:
true if the class qualifies for this ability
See Also:
AbilityMapper.classOnly(MOB, String, String), AbilityMapper.qualifiesByAnyCharClass(String)

classOnly

public boolean classOnly(MOB mob,
                         java.lang.String classID,
                         java.lang.String abilityID)
Description copied from interface: AbilityMapper
Returns whether the given class qualifies for the given ability. Does not check all-qualifies list, so this is only class (or race) specific qualifications. Will also specifically check the given mobs class object with the given ID, which is strange. Returns true ONLY if the given class or race is the ONLY one who qualifies.

Specified by:
classOnly in interface AbilityMapper
Parameters:
mob - the mob whose classes to also check
classID - the class ID(), race ID() or whatever to specifically check
abilityID - the ability ID() to use
Returns:
true if the class qualifies for this ability
See Also:
AbilityMapper.classOnly(String, String), AbilityMapper.qualifiesByAnyCharClass(String)

availableToTheme

public boolean availableToTheme(java.lang.String abilityID,
                                int theme,
                                boolean publicly)
Description copied from interface: AbilityMapper
Discovers whether the given ability is qualified for by a class that is available to the given theme id number.

Specified by:
availableToTheme in interface AbilityMapper
Parameters:
abilityID - the Ability ID()
theme - the theme code
publicly - true to disqualify skill-only masks, false to allow
Returns:
true if the ability is qualifies for by a char class of the theme
See Also:
Area.THEME_ALLTHEMES

getLevelListings

public java.util.List<java.lang.String> getLevelListings(java.lang.String ID,
                                                         boolean checkAll,
                                                         int level)
Description copied from interface: AbilityMapper
Returns the AbilityIDs of all the skills qualified for by the given char class or race or whatever, at the given level, and optionally including the all-qualified skills.

Specified by:
getLevelListings in interface AbilityMapper
Parameters:
ID - the charclass ID(), race ID(), or whatever
checkAll - true to check the All Qualifies list, or false otherwise
level - the specific level to check.
Returns:
the AbilityIDs of all the skills qualified for at that level
See Also:
AbilityMapper.getUpToLevelListings(String, int, boolean, boolean)

getAbleMapping

public java.util.Map<java.lang.String,AbilityMapper.AbilityMapping> getAbleMapping(java.lang.String ID)
Description copied from interface: AbilityMapper
Returns the raw Ability mappings for the given class, race, or clan ID. Does nto include all-qualified.

Specified by:
getAbleMapping in interface AbilityMapper
Parameters:
ID - the charclass ID(), race ID(), or whatever
Returns:
the map of AbilityIDs to their ability mappings.

getUpToLevelListings

public java.util.List<AbilityMapper.AbilityMapping> getUpToLevelListings(java.lang.String ID,
                                                                         int level,
                                                                         boolean ignoreAll,
                                                                         boolean gainedOnly)
Description copied from interface: AbilityMapper
Returns the full AbilityMappings of all the skills qualified for by the given char class or race or whatever, at every level up to and including the given level, and optionally excluding the all-qualified skills and non-gained skills.

Specified by:
getUpToLevelListings in interface AbilityMapper
Parameters:
ID - the charclass ID(), race ID(), or whatever
level - the specific level to check.
ignoreAll - true to ignore the All Qualifies list, or false otherwise
gainedOnly - true to only include the auto-gain-only skills, false otherwise
Returns:
the AbilityIDs of all the skills qualified for at that level
See Also:
AbilityMapper.getLevelListings(String, boolean, int)

getQualifyingLevel

public int getQualifyingLevel(java.lang.String ID,
                              boolean checkAll,
                              java.lang.String abilityID)
Description copied from interface: AbilityMapper
Returns the level at which the given class or race qualifies for the given ability ID(), optionally checking the All-Qualifies list or not. Returns -1 for no match.

Specified by:
getQualifyingLevel in interface AbilityMapper
Parameters:
ID - the charclass ID(), race ID(), or whatever
checkAll - true to check the All Qualifies list, false to skip it
abilityID - the Ability ID() to find a level for
Returns:
the level at which the give class or race qualifies, or -1
See Also:
AbilityMapper.qualifyingLevel(MOB, Ability), AbilityMapper.qualifyingClassLevel(MOB, Ability), AbilityMapper.lowestQualifyingClassRaceGovt(MOB, Ability)

getQualifyingMapping

public AbilityMapper.AbilityMapping getQualifyingMapping(java.lang.String ID,
                                                         boolean checkAll,
                                                         java.lang.String abilityID)
Description copied from interface: AbilityMapper
Returns the mapping which the given class or race qualifies for the given ability ID(), optionally checking the All-Qualifies list or not. Returns null for no match.

Specified by:
getQualifyingMapping in interface AbilityMapper
Parameters:
ID - the charclass ID(), race ID(), or whatever
checkAll - true to check the All Qualifies list, false to skip it
abilityID - the Ability ID() to find a map for
Returns:
the level at which the give class or race qualifies, or null
See Also:
AbilityMapper.qualifyingLevel(MOB, Ability), AbilityMapper.qualifyingClassLevel(MOB, Ability), AbilityMapper.lowestQualifyingClassRaceGovt(MOB, Ability)

getQualifyingMappings

public java.util.List<AbilityMapper.AbilityMapping> getQualifyingMappings(boolean checkAll,
                                                                          java.lang.String abilityID)
Description copied from interface: AbilityMapper
Returns the mappings which any class or race qualifies for the given ability ID(), optionally checking the All-Qualifies list or not. Returns empty list for no match.

Specified by:
getQualifyingMappings in interface AbilityMapper
Parameters:
checkAll - true to check the All Qualifies list, false to skip it
abilityID - the Ability ID() to find a map for
Returns:
the level at which the give class or race qualifies, or null
See Also:
AbilityMapper.qualifyingLevel(MOB, Ability), AbilityMapper.qualifyingClassLevel(MOB, Ability), AbilityMapper.lowestQualifyingClassRaceGovt(MOB, Ability)

getOrSet

protected java.util.List<java.lang.String> getOrSet(java.lang.String errStr,
                                                    java.lang.String abilityID)

fillPreRequisites

public void fillPreRequisites(Ability A,
                              DVector rawPreReqs)

getCommonPreRequisites

public DVector getCommonPreRequisites(MOB mob,
                                      Ability A)
Description copied from interface: AbilityMapper
Returns the coded form of the skill prerequisites for the given ability that apply to the given mob by race or class. Skill prerequisites are typically other skills needed to learn this one.

Specified by:
getCommonPreRequisites in interface AbilityMapper
Parameters:
mob - the potential learner of the ability
A - the ability to look for prerequisites to learn
Returns:
the coded skill prerequisites
See Also:
AbilityMapper.getCommonPreRequisites(Ability), AbilityMapper.getUnmetPreRequisites(MOB, Ability), AbilityMapper.formatPreRequisites(DVector), AbilityMapper.getPreReqStrings(String, boolean, String)

getCommonPreRequisites

public DVector getCommonPreRequisites(Ability A)
Description copied from interface: AbilityMapper
Returns the coded form of the skill prerequisites for the given ability. Skill prerequisites are typically other skills needed to learn this one. They are called Common because, for the given ability, they apply to everyone.

Specified by:
getCommonPreRequisites in interface AbilityMapper
Parameters:
A - the ability to look for prerequisites to learn
Returns:
the coded skill prerequisites
See Also:
AbilityMapper.getCommonPreRequisites(MOB, Ability), AbilityMapper.getUnmetPreRequisites(MOB, Ability), AbilityMapper.formatPreRequisites(DVector), AbilityMapper.getPreReqStrings(String, boolean, String)

getCommonExtraMask

public java.lang.String getCommonExtraMask(Ability A)
Description copied from interface: AbilityMapper
Returns the general zapper mask that defines the requirements to learn the given ability, by ID. The mask is applied to the learner mob.

Specified by:
getCommonExtraMask in interface AbilityMapper
Parameters:
A - the Ability whose ID is looked up
Returns:
the zapper mask, or ""
See Also:
MaskingLibrary

getUnmetPreRequisites

public DVector getUnmetPreRequisites(MOB studentM,
                                     Ability A)
Description copied from interface: AbilityMapper
Given a mob who wants to learn the given Ability skill, this method will check the mob (by race/class/whatever) against the ability they qualify for, determining if there are any pre-requisite skills needed to learn this skill. If they are found, it returns those pre-requisites, specially coded.

Specified by:
getUnmetPreRequisites in interface AbilityMapper
Parameters:
studentM - the mob who wants to learn
A - the Ability the mob wants to learn
Returns:
any pre-requisites, or null for none.
See Also:
AbilityMapper.getCommonPreRequisites(MOB, Ability), AbilityMapper.getCommonPreRequisites(Ability), AbilityMapper.formatPreRequisites(DVector), AbilityMapper.getPreReqStrings(String, boolean, String)

getRawPreRequisites

public DVector getRawPreRequisites(java.lang.String ID,
                                   boolean checkAll,
                                   java.lang.String abilityID)

formatPreRequisites

public java.lang.String formatPreRequisites(DVector preReqs)
Description copied from interface: AbilityMapper
Given a set of common Ability/skill pre-requisites for learning, coded, this method will return those pre-requisites formatted in a friendly, readable form.

Specified by:
formatPreRequisites in interface AbilityMapper
Parameters:
preReqs - the coded pre-requisites for this skill
Returns:
a friendly readable description of those pre-reqs
See Also:
AbilityMapper.getCommonPreRequisites(Ability), AbilityMapper.getUnmetPreRequisites(MOB, Ability), AbilityMapper.getCommonPreRequisites(MOB, Ability), AbilityMapper.getPreReqStrings(String, boolean, String)

getPersonalMapping

protected final AbilityMapper.AbilityMapping getPersonalMapping(MOB studentM,
                                                                java.lang.String AID)

getCurrentlyQualifyingIDs

public final java.util.List<java.lang.String> getCurrentlyQualifyingIDs(MOB studentM,
                                                                        java.lang.String AID)
Description copied from interface: AbilityMapper
Returns the list of CharClass IDs, or Race IDs, or Clan Govt IDs, or whatever by which the given student might qualify for the given Ability ID.

Specified by:
getCurrentlyQualifyingIDs in interface AbilityMapper
Parameters:
studentM - the student to learn the ability
AID - the Ability ID
Returns:
the list of objects to qualify for the ability

getRawPreRequisites

public DVector getRawPreRequisites(MOB studentM,
                                   Ability A)

getExtraMask

public java.lang.String getExtraMask(java.lang.String ID,
                                     boolean checkAll,
                                     java.lang.String abilityID)
Description copied from interface: AbilityMapper
Returns the zapper mask that applies to the given class or race for the given ability ID(), optionally checking the All-Qualifies list or not. Returns null for no match. The mask is checked against a potential learner of this skill.

Specified by:
getExtraMask in interface AbilityMapper
Parameters:
ID - the charclass ID(), race ID(), or whatever
checkAll - true to check the All Qualifies list, false to skip it
abilityID - the Ability ID() to find a level for
Returns:
the zapper mask that applies
See Also:
MaskingLibrary

getApplicableMask

public java.lang.String getApplicableMask(MOB studentM,
                                          Ability A)
Description copied from interface: AbilityMapper
Returns the first applicable zapper mask that applies to the given mob for the given ability. Returns null for nothing found. The mask is checked against a potential learner of this skill.

Specified by:
getApplicableMask in interface AbilityMapper
Parameters:
studentM - the mob, whose clans, charclass ID(), race ID() are checked
A - the Ability to find a mask for
Returns:
the zapper mask that applies
See Also:
MaskingLibrary

qualifyingLevel

public int qualifyingLevel(MOB studentM,
                           Ability A)
Description copied from interface: AbilityMapper
Returns the lowest class or player level at which the given mob (by race or class) qualified for the given ability if any. Returns -1 for no match. This method is called when you are trying to guage how powerful the player is with the skill.

Specified by:
qualifyingLevel in interface AbilityMapper
Parameters:
studentM - the mob, whose charclass ID(), race ID() are checked
A - the Ability to find a level for
Returns:
the best level at which the given mob qualified, or -1
See Also:
AbilityMapper.getQualifyingLevel(String, boolean, String), AbilityMapper.qualifyingClassLevel(MOB, Ability), AbilityMapper.lowestQualifyingClassRaceGovt(MOB, Ability)

qualifyingID

public java.lang.String qualifyingID(MOB studentM,
                                     Ability A)
Description copied from interface: AbilityMapper
Returns the CharClass ID, Race ID, Clan Govt ID, etc or whatever by which the student BEST qualifies for the given Ability.

Specified by:
qualifyingID in interface AbilityMapper
Parameters:
studentM - the student
A - the Ability to qualify for
Returns:
the ID, or null for no match at all.

qualifyingClassLevel

public int qualifyingClassLevel(MOB studentM,
                                Ability A)
Description copied from interface: AbilityMapper
Returns the lowest char class level at which the given mob (by race or class) qualified for the given ability if any. Returns -1 for no match. This method is called when you are trying to guage how powerful the player is with the skill, and only care about class skills.

Specified by:
qualifyingClassLevel in interface AbilityMapper
Parameters:
studentM - the mob, whose charclass ID() is checked
A - the Ability to find a level for
Returns:
the best char class level at which the given mob qualified, or -1
See Also:
AbilityMapper.getQualifyingLevel(String, boolean, String), AbilityMapper.qualifyingLevel(MOB, Ability), AbilityMapper.lowestQualifyingClassRaceGovt(MOB, Ability)

lowestQualifyingClassRaceGovt

public CMObject lowestQualifyingClassRaceGovt(MOB studentM,
                                              Ability A)
Description copied from interface: AbilityMapper
Returns the class, race, or clan government object that qualifies the given mob at the lowest level for the given ability.

Specified by:
lowestQualifyingClassRaceGovt in interface AbilityMapper
Parameters:
studentM - the mob whose class, race, etc to check
A - the Ability to check
Returns:
the char class, race, or clan government object.
See Also:
AbilityMapper.getQualifyingLevel(String, boolean, String), AbilityMapper.qualifyingLevel(MOB, Ability), AbilityMapper.qualifyingClassLevel(MOB, Ability)

qualifiesByCurrentClassAndLevel

public boolean qualifiesByCurrentClassAndLevel(MOB studentM,
                                               Ability A)
Description copied from interface: AbilityMapper
Returns whether the given mob qualifies for the given ability only because of their current class at its current level.

Specified by:
qualifiesByCurrentClassAndLevel in interface AbilityMapper
Parameters:
studentM - the mob to check
A - the ability to check
Returns:
true if the student only qualifies because of their current char class
See Also:
AbilityMapper.qualifiesOnlyByClan(MOB, Ability), AbilityMapper.qualifiesByLevel(MOB, Ability), AbilityMapper.qualifiesByLevel(MOB, String), AbilityMapper.qualifiesOnlyByACharClass(MOB, Ability), AbilityMapper.qualifiesOnlyByRace(MOB, Ability)

qualifiesOnlyByRace

public boolean qualifiesOnlyByRace(MOB studentM,
                                   Ability A)
Description copied from interface: AbilityMapper
Returns whether the given mob qualifies for the given ability only because of their race.

Specified by:
qualifiesOnlyByRace in interface AbilityMapper
Parameters:
studentM - the mob to check
A - the ability to check
Returns:
true if the student only qualifies because of their race
See Also:
AbilityMapper.qualifiesOnlyByClan(MOB, Ability), AbilityMapper.qualifiesByLevel(MOB, Ability), AbilityMapper.qualifiesByLevel(MOB, String), AbilityMapper.qualifiesOnlyByACharClass(MOB, Ability), AbilityMapper.qualifiesByCurrentClassAndLevel(MOB, Ability)

qualifiesOnlyByClan

public boolean qualifiesOnlyByClan(MOB studentM,
                                   Ability A)
Description copied from interface: AbilityMapper
Returns whether the given mob qualifies for the given ability only because of their clan affiliations.

Specified by:
qualifiesOnlyByClan in interface AbilityMapper
Parameters:
studentM - the mob to check
A - the ability to check
Returns:
true if the student only qualifies because of their clan
See Also:
AbilityMapper.qualifiesOnlyByRace(MOB, Ability), AbilityMapper.qualifiesByLevel(MOB, Ability), AbilityMapper.qualifiesByLevel(MOB, String), AbilityMapper.qualifiesOnlyByACharClass(MOB, Ability), AbilityMapper.qualifiesByCurrentClassAndLevel(MOB, Ability)

qualifiesOnlyByACharClass

public boolean qualifiesOnlyByACharClass(MOB studentM,
                                         Ability A)
Description copied from interface: AbilityMapper
Returns whether the given mob qualifies for the given ability only because of their a char class they have, at its current level.

Specified by:
qualifiesOnlyByACharClass in interface AbilityMapper
Parameters:
studentM - the mob to check
A - the ability to check
Returns:
true if the student only qualifies because of a char class they have
See Also:
AbilityMapper.qualifiesOnlyByClan(MOB, Ability), AbilityMapper.qualifiesByLevel(MOB, Ability), AbilityMapper.qualifiesByLevel(MOB, String), AbilityMapper.qualifiesByCurrentClassAndLevel(MOB, Ability), AbilityMapper.qualifiesOnlyByRace(MOB, Ability)

qualifiesByLevel

public boolean qualifiesByLevel(MOB studentM,
                                Ability A)
Description copied from interface: AbilityMapper
Returns whether the given mob qualifies for the given ability because of any of their char classes at its current level, race, or clan.

Specified by:
qualifiesByLevel in interface AbilityMapper
Parameters:
studentM - the mob to check
A - the ability to check
Returns:
true if the student qualifies because of their classes, race, etc
See Also:
AbilityMapper.qualifiesOnlyByClan(MOB, Ability), AbilityMapper.qualifiesByLevel(MOB, Ability), AbilityMapper.qualifiesByLevel(MOB, String), AbilityMapper.qualifiesByCurrentClassAndLevel(MOB, Ability), AbilityMapper.qualifiesOnlyByRace(MOB, Ability)

qualifiesByLevel

public boolean qualifiesByLevel(MOB studentM,
                                java.lang.String abilityID)
Description copied from interface: AbilityMapper
Returns whether the given mob qualifies for the given ability because of any of their char classes at its current level, race, or clan.

Specified by:
qualifiesByLevel in interface AbilityMapper
Parameters:
studentM - the mob to check
abilityID - the Ability ID() to check
Returns:
true if the student qualifies because of their classes, race, etc
See Also:
AbilityMapper.qualifiesOnlyByClan(MOB, Ability), AbilityMapper.qualifiesByLevel(MOB, Ability), AbilityMapper.qualifiesByLevel(MOB, String), AbilityMapper.qualifiesByCurrentClassAndLevel(MOB, Ability), AbilityMapper.qualifiesOnlyByRace(MOB, Ability)

getDefaultGain

public boolean getDefaultGain(java.lang.String ID,
                              boolean checkAll,
                              java.lang.String abilityID)
Description copied from interface: AbilityMapper
Returns whether the given ability, for the given charclass, race, or clan government ID, and optionally checking the All Qualifies list, is gained by default or must be trained.

Specified by:
getDefaultGain in interface AbilityMapper
Parameters:
ID - the charclass, race, or clan ID()
checkAll - true to check the All Qualifies list, or false not to
abilityID - the ability ID() to check
Returns:
true if its gained automatically, or false if it must be trained

getAllQualified

public boolean getAllQualified(java.lang.String ID,
                               boolean checkAll,
                               java.lang.String abilityID)
Description copied from interface: AbilityMapper
Returns whether the given ability, for the given charclass, race, or clan government ID, and optionally checking the All Qualifies list, is part of the All Qualified list.

Specified by:
getAllQualified in interface AbilityMapper
Parameters:
ID - the charclass, race, or clan ID()
checkAll - true to check the All Qualifies list, or false not to
abilityID - the ability ID() to check
Returns:
true if the ability is part of the all qualifies list, false otherwise

getAbleMap

public AbilityMapper.AbilityMapping getAbleMap(java.lang.String ID,
                                               java.lang.String abilityID)
Description copied from interface: AbilityMapper
Returns the ability mapping that is defined by the given char class, race, or clan ID for the given Ability ID(), or null.

Specified by:
getAbleMap in interface AbilityMapper
Parameters:
ID - the CharClass ID(), Race ID(), or clan ID
abilityID - the Ability ID()
Returns:
the ability mapping that is defined, or null
See Also:
AbilityMapper.AbilityMapping, AbilityMapper.numMappedAbilities(), AbilityMapper.getAllAbleMap(String)

getAllAbleMap

public AbilityMapper.AbilityMapping getAllAbleMap(java.lang.String abilityID)
Description copied from interface: AbilityMapper
Returns the ability mapping that is defined by the All Qualifies list for the given Ability ID(), or null.

Specified by:
getAllAbleMap in interface AbilityMapper
Parameters:
abilityID - the Ability ID()
Returns:
the ability mapping that is defined, or null
See Also:
AbilityMapper.AbilityMapping, AbilityMapper.numMappedAbilities(), AbilityMapper.getAbleMap(String, String)

getSecretSkill

public boolean getSecretSkill(java.lang.String ID,
                              boolean checkAll,
                              java.lang.String abilityID)
Description copied from interface: AbilityMapper
Returns whether the given ability, for the given charclass, race, or clan government ID, and optionally checking the All Qualifies list, is a secret skill, or whether it can be seen and known about.

Specified by:
getSecretSkill in interface AbilityMapper
Parameters:
ID - the charclass, race, or clan ID()
checkAll - true to check the All Qualifies list, or false not to
abilityID - the ability ID() to check
Returns:
true if its secret, false otherwise

getAllSecretSkill

public boolean getAllSecretSkill(java.lang.String abilityID)
Description copied from interface: AbilityMapper
Returns whether the given Ability ID() is both mapped on the All Qualifies list AND is a secret skill.

Specified by:
getAllSecretSkill in interface AbilityMapper
Parameters:
abilityID - the ability ID() to check
Returns:
true if its secret, false otherwise

getAllAbilityMappings

public final java.util.List<AbilityMapper.AbilityMapping> getAllAbilityMappings(MOB mob,
                                                                                java.lang.String abilityID)

getSecretSkill

public boolean getSecretSkill(MOB mob,
                              java.lang.String abilityID)
Description copied from interface: AbilityMapper
Returns whether the given ability ID() represents a skill that is secret to the given mob, by whatever class, race, or clan they qualify for it by.

Specified by:
getSecretSkill in interface AbilityMapper
Parameters:
mob - the mob to check
abilityID - the ability ID() to check
Returns:
true if the ability is secret for this mob, false otherwise

getSecretSkill

public boolean getSecretSkill(java.lang.String abilityID)
Description copied from interface: AbilityMapper
Returns whether the given Ability ID() is secret in every mapping (race, class, govt clan id, all qualifies) or not.

Specified by:
getSecretSkill in interface AbilityMapper
Parameters:
abilityID - the ability ID() to check
Returns:
true if its secret everywhere, false otherwise

getCostOverrides

public java.lang.Integer[] getCostOverrides(java.lang.String ID,
                                            boolean checkAll,
                                            java.lang.String abilityID)
Description copied from interface: AbilityMapper
Returns any mapping-based overrides to the standard system white standards for casting costs (the amount of mana or moves to use a skill). The integer array is indexed by the ordinals of the Cost enum.

Specified by:
getCostOverrides in interface AbilityMapper
Parameters:
ID - the charclass, race, or clan ID()
checkAll - true to check the All Qualifies list, or false not to
abilityID - the ability ID() to check
Returns:
an integer array of the mapping-based overrides to usage costs
See Also:
AbilityMapper.Cost, AbilityMapper.getAllCostOverrides(String), AbilityMapper.getCostOverrides(String), AbilityMapper.getCostOverrides(MOB, String)

getAllCostOverrides

public java.lang.Integer[] getAllCostOverrides(java.lang.String abilityID)
Description copied from interface: AbilityMapper
Returns any All-Qualifies overrides to the standard system white standards for casting costs (the amount of mana or moves to use a skill). The integer array is indexed by the ordinals of the Cost enum.

Specified by:
getAllCostOverrides in interface AbilityMapper
Parameters:
abilityID - the ability ID() to check
Returns:
an integer array of the mapping-based overrides to usage costs
See Also:
AbilityMapper.Cost, AbilityMapper.getCostOverrides(String, boolean, String), AbilityMapper.getCostOverrides(String), AbilityMapper.getCostOverrides(MOB, String)

getCostOverrides

public java.lang.Integer[] getCostOverrides(MOB mob,
                                            java.lang.String abilityID)
Description copied from interface: AbilityMapper
Returns any mapping-based overrides to the standard system white standards for casting costs (the amount of mana or moves to use a skill) relevant to the given mob, based on their class, race, etc. The integer array is indexed by the ordinals of the Cost enum.

Specified by:
getCostOverrides in interface AbilityMapper
Parameters:
mob - the mob whose charclass, race, or clan ID() is relevant
abilityID - the ability ID() to check
Returns:
an integer array of the mapping-based overrides to usage costs
See Also:
AbilityMapper.Cost, AbilityMapper.getAllCostOverrides(String), AbilityMapper.getCostOverrides(String), AbilityMapper.getCostOverrides(String, boolean, String)

getCostOverrides

public java.lang.Integer[] getCostOverrides(java.lang.String abilityID)
Description copied from interface: AbilityMapper
Returns the first mapping-based override to the standard system white standards for casting costs (the amount of mana or moves to use a skill). The integer array is indexed by the ordinals of the Cost enum.

Specified by:
getCostOverrides in interface AbilityMapper
Parameters:
abilityID - the ability ID() to check
Returns:
an integer array of the mapping-based overrides to usage costs
See Also:
AbilityMapper.Cost, AbilityMapper.getCostOverrides(String, boolean, String), AbilityMapper.getAllCostOverrides(String), AbilityMapper.getCostOverrides(MOB, String)

getDefaultParm

public java.lang.String getDefaultParm(java.lang.String ID,
                                       boolean checkAll,
                                       java.lang.String abilityID)
Description copied from interface: AbilityMapper
Returns the default argument/parameter to add to the given Ability by ID() when gained by the class, race, clan ID, optionally also checking the All-Qualifies list. The argument is sent as the misc-text to the Ability when adding it as a skill.

Specified by:
getDefaultParm in interface AbilityMapper
Parameters:
ID - the charclass, race, or clan ID()
checkAll - true to check the All Qualifies list, or false not to
abilityID - the ability ID() to check
Returns:
the default misc-text arguments for this mapped Ability
See Also:
Environmental.setMiscText(String)

getPreReqStrings

public java.lang.String getPreReqStrings(java.lang.String ID,
                                         boolean checkAll,
                                         java.lang.String abilityID)
Description copied from interface: AbilityMapper
Gets the raw pre-requisites definition for the given mapping by class, race, clan ID and ability ID(), optionally also checking the All-Qualifies list. Returns "" if not found, or there are no skill prerequisites. This is a formatted string where Ability IDs are generally semicolon delimited, with required proficiency in parenthesis.

Specified by:
getPreReqStrings in interface AbilityMapper
Parameters:
ID - the charclass, race, or clan ID()
checkAll - true to check the All Qualifies list, or false not to
abilityID - the ability ID() to check
Returns:
the raw formatted pre-requisite string.
See Also:
AbilityMapper.getCommonPreRequisites(Ability), AbilityMapper.getUnmetPreRequisites(MOB, Ability), AbilityMapper.getCommonPreRequisites(MOB, Ability), AbilityMapper.formatPreRequisites(DVector)

getMaxProficiency

public int getMaxProficiency(MOB mob,
                             boolean checkAll,
                             java.lang.String abilityID)
Description copied from interface: AbilityMapper
Returns the max allowed proficiency for those with the given Ability by ID() when carried by the mob by class, race, clan ID, optionally also checking the All-Qualifies list.

Specified by:
getMaxProficiency in interface AbilityMapper
Parameters:
mob - the mob whose charclass, race, or clan ID() applies
checkAll - true to check the All Qualifies list, or false not to
abilityID - the ability ID() to check
Returns:
the max proficiency for the mob with this this mapped Ability, usually 100
See Also:
Ability.proficiency(), AbilityMapper.getDefaultProficiency(String, boolean, String), AbilityMapper.getMaxProficiency(String), AbilityMapper.getMaxProficiency(String, boolean, String)

getMaxProficiency

public int getMaxProficiency(java.lang.String ID,
                             boolean checkAll,
                             java.lang.String abilityID)
Description copied from interface: AbilityMapper
Returns the max allowed proficiency for those with the given Ability by ID() when carried by the class, race, clan ID, optionally also checking the All-Qualifies list.

Specified by:
getMaxProficiency in interface AbilityMapper
Parameters:
ID - the charclass, race, or clan ID()
checkAll - true to check the All Qualifies list, or false not to
abilityID - the ability ID() to check
Returns:
the max proficiency for someone with this this mapped Ability, usually 100
See Also:
Ability.proficiency(), AbilityMapper.getMaxProficiency(String), AbilityMapper.getMaxProficiency(String, boolean, String)

getMaxProficiency

public int getMaxProficiency(java.lang.String abilityID)
Description copied from interface: AbilityMapper
Returns the max allowed proficiency for those with the given Ability by ID() when carried by any class, race, clan ID, while also checking the All-Qualifies list.

Specified by:
getMaxProficiency in interface AbilityMapper
Parameters:
abilityID - the ability ID() to check
Returns:
the max proficiency for everyone with this this mapped Ability, usually 100
See Also:
AbilityMapper.getMaxProficiency(MOB, boolean, String), AbilityMapper.getMaxProficiency(String, boolean, String), Ability.proficiency()

getDefaultProficiency

public int getDefaultProficiency(java.lang.String ID,
                                 boolean checkAll,
                                 java.lang.String abilityID)
Description copied from interface: AbilityMapper
Returns the default proficiency to give to the given Ability by ID() when gained by the class, race, clan ID, optionally also checking the All-Qualifies list.

Specified by:
getDefaultProficiency in interface AbilityMapper
Parameters:
ID - the charclass, race, or clan ID()
checkAll - true to check the All Qualifies list, or false not to
abilityID - the ability ID() to check
Returns:
the default proficiency argument for this mapped Ability, usually 0
See Also:
Ability.proficiency(), AbilityMapper.getMaxProficiency(MOB, boolean, String)

makeAllQualifyMapping

public AbilityMapper.AbilityMapping makeAllQualifyMapping(java.lang.String s)

getMapper

public final Converter<java.lang.String,AbilityMapper.AbilityMapping> getMapper(java.lang.String classID)
Description copied from interface: AbilityMapper
Returns a converter from an ability id to an ability mapping

Specified by:
getMapper in interface AbilityMapper
Parameters:
classID - the classid (or 'all') that owns the mapping
Returns:
the converter

getAllQualifiesMap

public java.util.Map<java.lang.String,java.util.Map<java.lang.String,AbilityMapper.AbilityMapping>> getAllQualifiesMap(java.util.Map<java.lang.String,java.lang.Object> cache)
Description copied from interface: AbilityMapper
Loads the All-Qualifies list from the filesystem. This is the list that defines particular skills that either ALL classes qualify for together. Things like Skill_Write, or Swim.. The method takes an optional cache to preserve a loaded map over several sessions. Otherwise, it is usually only needed once.

Specified by:
getAllQualifiesMap in interface AbilityMapper
Parameters:
cache - a cache to store the map in temporarily, or null
Returns:
the All-Qualifies skills in a coded map
See Also:
AbilityMapper.saveAllQualifysFile(Map)

buildAllQualifysSection

public java.lang.String buildAllQualifysSection(java.util.Map<java.lang.String,AbilityMapper.AbilityMapping> map)

undoAllQualifysList

protected void undoAllQualifysList()

saveAllQualifysFile

public void saveAllQualifysFile(java.util.Map<java.lang.String,java.util.Map<java.lang.String,AbilityMapper.AbilityMapping>> newMap)
Description copied from interface: AbilityMapper
Saves the All-Qualifies list to the filesystem. This is the list that defines particular skills that either ALL classes qualify for together. Things like Skill_Write, or Swim.

Specified by:
saveAllQualifysFile in interface AbilityMapper
Parameters:
newMap - the All-Qualifies skills in a coded map
See Also:
AbilityMapper.getAllQualified(String, boolean, String)

getAvailabilityList

public PairList<java.lang.String,java.lang.Integer> getAvailabilityList(Ability A,
                                                                        int abbreviateAt)
Description copied from interface: AbilityMapper
Returns a String list of all the classes and levels that qualify for the given skill. If more than the given abbreviateAt skills qualify, then the list will start abstracting the list by returning abstract terms instead of class ids.

Specified by:
getAvailabilityList in interface AbilityMapper
Parameters:
A - the skill to get a list of qualifiers for
abbreviateAt - the number of classes beyond which is starts aggregating
Returns:
a list of class ids/aggregate strings and levels