|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.planet_ink.coffee_mud.Libraries.StdLibrary
com.planet_ink.coffee_mud.Libraries.Achievements
public class Achievements
Nested Class Summary |
---|
Nested classes/interfaces inherited from interface com.planet_ink.coffee_mud.Libraries.interfaces.AchievementLibrary |
---|
AchievementLibrary.AbilityAward, AchievementLibrary.Achievement, AchievementLibrary.AchievementLoadFlag, AchievementLibrary.AmountAward, AchievementLibrary.Award, AchievementLibrary.AwardType, AchievementLibrary.CurrencyAward, AchievementLibrary.Event, AchievementLibrary.ExpertiseAward, AchievementLibrary.StatAward, AchievementLibrary.TitleAward, AchievementLibrary.Tracker |
Field Summary |
---|
Fields inherited from class com.planet_ink.coffee_mud.Libraries.StdLibrary |
---|
isDebugging, name, serviceClient, tickStatus |
Fields inherited from interface com.planet_ink.coffee_mud.Libraries.interfaces.AchievementLibrary |
---|
BASE_ACHIEVEMENT_PARAMETERS |
Constructor Summary | |
---|---|
Achievements()
|
Method Summary | |
---|---|
java.util.Enumeration<AchievementLibrary.Achievement> |
achievements(AccountStats.Agent agent)
Allows iterating through all the achievements of the given agent group. |
boolean |
addModifyAchievement(MOB mob,
AccountStats.Agent agent,
java.lang.String tattoo,
AchievementLibrary.Achievement A)
Allows a new achievement to be added or removed, with a user interface editor presented for the given mob. |
java.lang.String |
buildRow(AchievementLibrary.Event E,
java.util.Map<java.lang.String,java.lang.String> parmTree)
|
AchievementLibrary.Achievement |
deleteAchievement(java.lang.String tattoo)
Finds and deleted the achievement with teh given tattoo key. |
java.lang.String |
evaluateAchievement(AccountStats.Agent agent,
java.lang.String row,
boolean addIfPossible)
This method is how an achievement definition row is evaluated and added to the permanent list of achievements. |
boolean |
evaluateAchievements(MOB mob)
Iterates through all the achievements to see if the given mob has completed any new ones, granting them and the awards if they have. |
protected java.util.List<AchievementLibrary.Achievement> |
fakeBumpAccountAchievement(MOB mob,
AchievementLibrary.Achievement A,
PlayerAccount account,
AchievementLibrary.Event E,
int bumpNum,
java.lang.Object... parms)
|
java.util.List<AchievementLibrary.Achievement> |
fakeBumpAchievement(MOB mob,
AchievementLibrary.Event E,
int bumpNum,
java.lang.Object... parms)
When an event occurs that might possible cause a player to have one of their achievements bumped, this method is called with event specific parameters which might possibly cause the achievement to be bumped in the tracker, which might cause it to be completed as well. |
protected java.util.List<AchievementLibrary.Achievement> |
fakeBumpPlayerAchievement(MOB mob,
AchievementLibrary.Achievement A,
PlayerStats pStats,
AchievementLibrary.Event E,
int bumpNum,
java.lang.Object... parms)
|
AchievementLibrary.Achievement |
getAchievement(java.lang.String tattoo)
Returns the achievement with the given tattoo key. |
java.lang.String |
getAchievementsHelp(java.lang.String ID,
boolean exact)
Searches for an Achievement of the given tattoo name or display name, and returns a help entry for the achievement. |
java.lang.String |
getAchievementsHelpFromMap(java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> helpMap,
AchievementLibrary.Event E,
java.lang.String parmName)
Given the comments/help entried from the achievement definition file, and an event, and the name of the parameter inside the event, this returns the help entry for that parameter |
java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> |
getAchievementsHelpMap()
Returns all the comment/help entries from the achievement definition file The map is of the form event ID, then parameter->help map. |
java.lang.String |
getAwardString(AchievementLibrary.Award[] awards)
Converts a parsed awards list back into an unparsed parameter/value string. |
protected boolean |
giveAwards(AchievementLibrary.Achievement A,
Tattooable holder,
MOB mob,
AchievementLibrary.AchievementLoadFlag flag)
|
protected void |
giveAwards(MOB mob,
AchievementLibrary.Award[] awardSet,
AchievementLibrary.AchievementLoadFlag flag)
|
void |
grantAbilitiesAndExpertises(MOB mob)
Typically called when a mob gains a level, to allow the achievements on the mob to assign any new skills or expertises. |
java.lang.String |
ID()
The CoffeeMud Java Class ID shared by all instances of this object. |
void |
loadAccountAchievements(MOB mob,
AchievementLibrary.AchievementLoadFlag flag)
When a new player is created, this method inspects their account tattoos for any that need to be passed down to this new player. |
void |
loadPlayerSkillAwards(Tattooable mob,
PlayerStats stats)
When a player is loaded, this method inspects their tattoos for any past achievements and, if found, loads the playerstats with trackable skill and expertises mappings, allowing them to receive those awards when the time is right. |
protected java.lang.String |
makeAchievmentHelp(AchievementLibrary.Achievement A)
|
protected void |
possiblyBumpAccountAchievement(MOB mob,
AchievementLibrary.Achievement A,
PlayerAccount account,
AchievementLibrary.Event E,
int bumpNum,
java.lang.Object... parms)
|
void |
possiblyBumpAchievement(MOB mob,
AchievementLibrary.Event E,
int bumpNum,
java.lang.Object... parms)
When an event occurs that might possible cause a player to have one of their achievements bumped, this method is called with event specific parameters which might possibly cause the achievement to be bumped in the tracker, which might cause it to be completed as well. |
protected void |
possiblyBumpPlayerAchievement(MOB mob,
AchievementLibrary.Achievement A,
PlayerStats pStats,
AchievementLibrary.Event E,
int bumpNum,
java.lang.Object... parms)
|
void |
reloadAchievements()
Forces all achievements to be reloaded from the definition file. |
void |
reloadPlayerAwards(MOB mob,
AchievementLibrary.AchievementLoadFlag flag)
When a player remorts, they keep their player achievements, but the rewards are removed. |
java.lang.String |
removeAwards(MOB mob,
AchievementLibrary.Award[] awardSet,
AchievementLibrary.AchievementLoadFlag flag)
When a player remorts, they lost their account achievement awards, which are restored later. |
void |
resaveAchievements(java.lang.String modifyTattoo)
Forces any changed or deleted achievements to re-saved to the definition file. |
boolean |
shutdown()
Shuts down the library. |
Methods inherited from class com.planet_ink.coffee_mud.Libraries.StdLibrary |
---|
activate, checkDatabase, compareTo, copyOf, getServiceClient, getTickStatus, initializeClass, L, name, newInstance, propertiesLoaded, setThreadStatus, 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 |
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.CMObject |
---|
copyOf, initializeClass, name, newInstance |
Methods inherited from interface java.lang.Comparable |
---|
compareTo |
Constructor Detail |
---|
public Achievements()
Method Detail |
---|
public java.lang.String ID()
CMObject
ID
in interface CMObject
ID
in class StdLibrary
public java.lang.String evaluateAchievement(AccountStats.Agent agent, java.lang.String row, boolean addIfPossible)
AchievementLibrary
evaluateAchievement
in interface AchievementLibrary
agent
- whether this is a player or accountrow
- the coded key=value pairs row.addIfPossible
- true if, on success, the new achievment is added, false otherwise
public java.util.Enumeration<AchievementLibrary.Achievement> achievements(AccountStats.Agent agent)
AchievementLibrary
achievements
in interface AchievementLibrary
agent
- the player, or account, or null for all
protected void possiblyBumpPlayerAchievement(MOB mob, AchievementLibrary.Achievement A, PlayerStats pStats, AchievementLibrary.Event E, int bumpNum, java.lang.Object... parms)
protected void possiblyBumpAccountAchievement(MOB mob, AchievementLibrary.Achievement A, PlayerAccount account, AchievementLibrary.Event E, int bumpNum, java.lang.Object... parms)
public void possiblyBumpAchievement(MOB mob, AchievementLibrary.Event E, int bumpNum, java.lang.Object... parms)
AchievementLibrary
possiblyBumpAchievement
in interface AchievementLibrary
mob
- the player whose achievement needs to be checkedE
- the event that occurredbumpNum
- the amount to bump the achievement byparms
- any event-specific argument that help determine whether a bump is warranted.protected java.util.List<AchievementLibrary.Achievement> fakeBumpPlayerAchievement(MOB mob, AchievementLibrary.Achievement A, PlayerStats pStats, AchievementLibrary.Event E, int bumpNum, java.lang.Object... parms)
protected java.util.List<AchievementLibrary.Achievement> fakeBumpAccountAchievement(MOB mob, AchievementLibrary.Achievement A, PlayerAccount account, AchievementLibrary.Event E, int bumpNum, java.lang.Object... parms)
public java.util.List<AchievementLibrary.Achievement> fakeBumpAchievement(MOB mob, AchievementLibrary.Event E, int bumpNum, java.lang.Object... parms)
AchievementLibrary
fakeBumpAchievement
in interface AchievementLibrary
mob
- the player whose achievement needs to be checkedE
- the event that occurredbumpNum
- the amount to bump the achievement byparms
- any event-specific argument that help determine whether a bump is warranted.
protected void giveAwards(MOB mob, AchievementLibrary.Award[] awardSet, AchievementLibrary.AchievementLoadFlag flag)
public java.lang.String removeAwards(MOB mob, AchievementLibrary.Award[] awardSet, AchievementLibrary.AchievementLoadFlag flag)
AchievementLibrary
removeAwards
in interface AchievementLibrary
mob
- the mob to lostawardSet
- the awards to removeflag
- whether this is happening before or after stat selection
protected boolean giveAwards(AchievementLibrary.Achievement A, Tattooable holder, MOB mob, AchievementLibrary.AchievementLoadFlag flag)
public AchievementLibrary.Achievement getAchievement(java.lang.String tattoo)
AchievementLibrary
getAchievement
in interface AchievementLibrary
tattoo
- the tattoo key to find the achievement for
public AchievementLibrary.Achievement deleteAchievement(java.lang.String tattoo)
AchievementLibrary
deleteAchievement
in interface AchievementLibrary
tattoo
- the tattoo key to find the achievement for
public java.lang.String getAchievementsHelpFromMap(java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> helpMap, AchievementLibrary.Event E, java.lang.String parmName)
AchievementLibrary
getAchievementsHelpFromMap
in interface AchievementLibrary
helpMap
- the help mapE
- the event to get help forparmName
- the parameter of that event to get help for
public java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> getAchievementsHelpMap()
AchievementLibrary
getAchievementsHelpMap
in interface AchievementLibrary
public java.lang.String buildRow(AchievementLibrary.Event E, java.util.Map<java.lang.String,java.lang.String> parmTree)
public java.lang.String getAwardString(AchievementLibrary.Award[] awards)
AchievementLibrary
getAwardString
in interface AchievementLibrary
awards
- a parsed awards list
public boolean addModifyAchievement(MOB mob, AccountStats.Agent agent, java.lang.String tattoo, AchievementLibrary.Achievement A)
AchievementLibrary
addModifyAchievement
in interface AchievementLibrary
mob
- the mob adding or editing the achievementagent
- whether player or account achievementtattoo
- the tattoo of the new or old achievementA
- the achievement to modify, or null for new
public void resaveAchievements(java.lang.String modifyTattoo)
AchievementLibrary
resaveAchievements
in interface AchievementLibrary
modifyTattoo
- the tattoo modified or deletedpublic boolean evaluateAchievements(MOB mob)
AchievementLibrary
evaluateAchievements
in interface AchievementLibrary
mob
- the player to evaluate
public void reloadAchievements()
AchievementLibrary
reloadAchievements
in interface AchievementLibrary
public void grantAbilitiesAndExpertises(MOB mob)
AchievementLibrary
grantAbilitiesAndExpertises
in interface AchievementLibrary
mob
- the mob to give abilities to.AbilityContainer.addAbility(Ability)
public void loadPlayerSkillAwards(Tattooable mob, PlayerStats stats)
AchievementLibrary
loadPlayerSkillAwards
in interface AchievementLibrary
mob
- the tattooable mob to check tattoos onstats
- the playerstats to load with prizesAchievementLibrary.grantAbilitiesAndExpertises(MOB)
public void reloadPlayerAwards(MOB mob, AchievementLibrary.AchievementLoadFlag flag)
AchievementLibrary
reloadPlayerAwards
in interface AchievementLibrary
mob
- the mob to awardflag
- this is happening before or after stat selectionpublic void loadAccountAchievements(MOB mob, AchievementLibrary.AchievementLoadFlag flag)
AchievementLibrary
loadAccountAchievements
in interface AchievementLibrary
mob
- the new character to load up.flag
- the circumstances under which achievements are being loadedAchievementLibrary.loadPlayerSkillAwards(Tattooable, PlayerStats)
protected java.lang.String makeAchievmentHelp(AchievementLibrary.Achievement A)
public java.lang.String getAchievementsHelp(java.lang.String ID, boolean exact)
AchievementLibrary
getAchievementsHelp
in interface AchievementLibrary
ID
- the tattoo name or display nameexact
- true for exact matches only, false for startswith
public boolean shutdown()
CMLibrary
shutdown
in interface CMLibrary
shutdown
in class StdLibrary
CMLibrary.activate()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |