com.planet_ink.coffee_mud.Libraries
Class Factions
java.lang.Object
com.planet_ink.coffee_mud.Libraries.StdLibrary
com.planet_ink.coffee_mud.Libraries.Factions
- All Implemented Interfaces:
- CMObject, Tickable, CMLibrary, FactionManager, java.lang.Cloneable, java.lang.Comparable<CMObject>
public class Factions
- extends StdLibrary
- implements FactionManager
Portions Copyright (c) 2003 Jeremy Vyska
Portions Copyright (c) 2004-2018 Bo Zimmerman
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
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 |
Method Summary |
boolean |
addFaction(Faction F)
|
protected void |
addOutsidersAndTimers(Faction F,
java.util.Vector<Faction.FactionChangeEvent> outSiders,
java.util.Vector<Faction.FactionChangeEvent> timers)
|
java.lang.String |
AlignID()
|
void |
clearFactions()
|
java.util.Enumeration<Faction> |
factions()
|
int |
getAbilityFlagType(java.lang.String strflag)
|
Faction.Align |
getAlignEnum(java.lang.String str)
|
int |
getAlignMedianFacValue(Faction.Align eq)
|
int |
getAlignPurity(int faction,
Faction.Align eq)
|
Faction |
getFaction(java.lang.String factionID)
|
Faction |
getFactionByName(java.lang.String factionNamed)
|
Faction |
getFactionByNumber(int index)
|
Faction |
getFactionByRangeCodeName(java.lang.String rangeCodeName)
|
Faction.FRange |
getFactionRangeByCodeName(java.lang.String rangeCodeName)
|
int |
getMaximum(java.lang.String factionID)
|
int |
getMinimum(java.lang.String factionID)
|
java.lang.String |
getName(java.lang.String factionID)
|
int |
getPercent(java.lang.String factionID,
int faction)
|
int |
getPercentFromAvg(java.lang.String factionID,
int faction)
|
int |
getRandom(java.lang.String factionID)
|
Faction.FRange |
getRange(java.lang.String factionID,
int faction)
|
double |
getRangePercent(java.lang.String factionID,
int faction)
|
java.util.Enumeration<Faction.FRange> |
getRanges(java.lang.String factionID)
|
Faction[] |
getSpecialFactions(MOB mob,
Room R)
|
int |
getTickStatus()
A coded status for this object during the period where
its tick method is being called. |
int |
getTotal(java.lang.String factionID)
|
java.lang.String |
ID()
The CoffeeMud Java Class ID shared by all instances of
this object. |
boolean |
isFactionedThisWay(MOB mob,
Faction.FRange rangeCode)
|
int |
isFactionTag(java.lang.String tag)
|
boolean |
isRangeCodeName(java.lang.String key)
|
java.lang.String |
listFactions()
|
java.lang.String |
makeFactionFilename(java.lang.String factionID)
|
protected Faction |
makeReactionFaction(java.lang.String prefix,
java.lang.String classID,
java.lang.String Name,
java.lang.String code,
java.lang.String baseTemplateFilename)
|
void |
modifyFaction(MOB mob,
Faction me)
|
java.lang.String |
name()
The displayable name of this object. |
int |
numFactions()
|
boolean |
postChangeAllFactions(MOB mob,
MOB victim,
int amount,
boolean quiet)
|
boolean |
postFactionChange(MOB mob,
Environmental tool,
java.lang.String factionID,
int amount)
|
java.util.Map<java.lang.String,Faction.FRange> |
rangeCodeNames()
|
java.lang.String |
rangeDescription(Faction.FRange FR,
java.lang.String andOr)
|
void |
reloadFactions(java.lang.String factionList)
|
boolean |
removeFaction(java.lang.String factionID)
|
java.lang.String |
resaveFaction(Faction F)
|
void |
setAlignment(MOB mob,
Faction.Align newAlignment)
|
void |
setAlignmentOldRange(MOB mob,
int oldRange)
|
boolean |
tick(Tickable ticking,
int tickID)
this is the method which is called periodically by the threading engine. |
void |
updatePlayerFactions(MOB mob,
Room R,
boolean forceAutoCheck)
|
Methods inherited from class com.planet_ink.coffee_mud.Libraries.StdLibrary |
activate, checkDatabase, compareTo, copyOf, getServiceClient, initializeClass, L, newInstance, propertiesLoaded, setThreadStatus, shutdown |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface java.lang.Comparable |
compareTo |
factionSet
public SHashtable<java.lang.String,Faction> factionSet
hashedFactionRanges
public SHashtable<java.lang.String,Faction.FRange> hashedFactionRanges
Factions
public Factions()
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
factions
public java.util.Enumeration<Faction> factions()
- Specified by:
factions
in interface FactionManager
numFactions
public int numFactions()
- Specified by:
numFactions
in interface FactionManager
clearFactions
public void clearFactions()
- Specified by:
clearFactions
in interface FactionManager
getFactionByNumber
public Faction getFactionByNumber(int index)
- Specified by:
getFactionByNumber
in interface FactionManager
reloadFactions
public void reloadFactions(java.lang.String factionList)
- Specified by:
reloadFactions
in interface FactionManager
rangeCodeNames
public java.util.Map<java.lang.String,Faction.FRange> rangeCodeNames()
isRangeCodeName
public boolean isRangeCodeName(java.lang.String key)
- Specified by:
isRangeCodeName
in interface FactionManager
getFactionRangeByCodeName
public Faction.FRange getFactionRangeByCodeName(java.lang.String rangeCodeName)
- Specified by:
getFactionRangeByCodeName
in interface FactionManager
isFactionedThisWay
public boolean isFactionedThisWay(MOB mob,
Faction.FRange rangeCode)
- Specified by:
isFactionedThisWay
in interface FactionManager
rangeDescription
public java.lang.String rangeDescription(Faction.FRange FR,
java.lang.String andOr)
- Specified by:
rangeDescription
in interface FactionManager
addFaction
public boolean addFaction(Faction F)
- Specified by:
addFaction
in interface FactionManager
makeFactionFilename
public java.lang.String makeFactionFilename(java.lang.String factionID)
- Specified by:
makeFactionFilename
in interface FactionManager
getFaction
public Faction getFaction(java.lang.String factionID)
- Specified by:
getFaction
in interface FactionManager
getFactionByRangeCodeName
public Faction getFactionByRangeCodeName(java.lang.String rangeCodeName)
- Specified by:
getFactionByRangeCodeName
in interface FactionManager
getFactionByName
public Faction getFactionByName(java.lang.String factionNamed)
- Specified by:
getFactionByName
in interface FactionManager
removeFaction
public boolean removeFaction(java.lang.String factionID)
- Specified by:
removeFaction
in interface FactionManager
listFactions
public java.lang.String listFactions()
- Specified by:
listFactions
in interface FactionManager
name
public java.lang.String name()
- Description copied from interface:
CMObject
- The displayable name of this object. May be modified by phyStats() object. Is
derived from the Name().
- Specified by:
name
in interface CMObject
- Specified by:
name
in interface Tickable
- Overrides:
name
in class StdLibrary
- Returns:
- the modified final name of this object on the map.
- See Also:
Environmental.Name()
getTickStatus
public int getTickStatus()
- Description copied from interface:
Tickable
- A coded status for this object during the period where
its tick method is being called. The statis is defined,
at least in part, by constants in this interface STATUS_*.
STATUS_NOT should be returned when the objects tick method
is not currently in execution. It should never return
STATUS_NOT when the objects tick method is in execution.
- Specified by:
getTickStatus
in interface Tickable
- Overrides:
getTickStatus
in class StdLibrary
- Returns:
- the numeric status of this object
- See Also:
Tickable.tick(Tickable, int)
getName
public java.lang.String getName(java.lang.String factionID)
- Specified by:
getName
in interface FactionManager
getMinimum
public int getMinimum(java.lang.String factionID)
- Specified by:
getMinimum
in interface FactionManager
getMaximum
public int getMaximum(java.lang.String factionID)
- Specified by:
getMaximum
in interface FactionManager
getPercent
public int getPercent(java.lang.String factionID,
int faction)
- Specified by:
getPercent
in interface FactionManager
getPercentFromAvg
public int getPercentFromAvg(java.lang.String factionID,
int faction)
- Specified by:
getPercentFromAvg
in interface FactionManager
getRange
public Faction.FRange getRange(java.lang.String factionID,
int faction)
- Specified by:
getRange
in interface FactionManager
getRanges
public java.util.Enumeration<Faction.FRange> getRanges(java.lang.String factionID)
- Specified by:
getRanges
in interface FactionManager
getRangePercent
public double getRangePercent(java.lang.String factionID,
int faction)
- Specified by:
getRangePercent
in interface FactionManager
getTotal
public int getTotal(java.lang.String factionID)
- Specified by:
getTotal
in interface FactionManager
getRandom
public int getRandom(java.lang.String factionID)
- Specified by:
getRandom
in interface FactionManager
AlignID
public java.lang.String AlignID()
- Specified by:
AlignID
in interface FactionManager
setAlignment
public void setAlignment(MOB mob,
Faction.Align newAlignment)
- Specified by:
setAlignment
in interface FactionManager
setAlignmentOldRange
public void setAlignmentOldRange(MOB mob,
int oldRange)
- Specified by:
setAlignmentOldRange
in interface FactionManager
postChangeAllFactions
public boolean postChangeAllFactions(MOB mob,
MOB victim,
int amount,
boolean quiet)
- Specified by:
postChangeAllFactions
in interface FactionManager
postFactionChange
public boolean postFactionChange(MOB mob,
Environmental tool,
java.lang.String factionID,
int amount)
- Specified by:
postFactionChange
in interface FactionManager
makeReactionFaction
protected Faction makeReactionFaction(java.lang.String prefix,
java.lang.String classID,
java.lang.String Name,
java.lang.String code,
java.lang.String baseTemplateFilename)
getSpecialFactions
public Faction[] getSpecialFactions(MOB mob,
Room R)
updatePlayerFactions
public void updatePlayerFactions(MOB mob,
Room R,
boolean forceAutoCheck)
- Specified by:
updatePlayerFactions
in interface FactionManager
addOutsidersAndTimers
protected void addOutsidersAndTimers(Faction F,
java.util.Vector<Faction.FactionChangeEvent> outSiders,
java.util.Vector<Faction.FactionChangeEvent> timers)
tick
public boolean tick(Tickable ticking,
int tickID)
- Description copied from interface:
Tickable
- this is the method which is called periodically by the threading engine. How often it
is called depends on the parameters passed to the threadding engine when it is submitted
for thread access. Typically the period is once per TIME_TICK period, but that is
determined when the object is submitted to the thread engine.
- Specified by:
tick
in interface Tickable
- Overrides:
tick
in class StdLibrary
- Parameters:
ticking
- a reference to this Tickable objecttickID
- the TICKID_ constant describing this periodic call, as defined in Tickable
- Returns:
- true always, unless this object no longer wishes to ever tick again, in which case false
- See Also:
Tickable
,
ServiceEngine
,
TickableGroup
getAlignPurity
public int getAlignPurity(int faction,
Faction.Align eq)
- Specified by:
getAlignPurity
in interface FactionManager
getAlignMedianFacValue
public int getAlignMedianFacValue(Faction.Align eq)
- Specified by:
getAlignMedianFacValue
in interface FactionManager
isFactionTag
public int isFactionTag(java.lang.String tag)
- Specified by:
isFactionTag
in interface FactionManager
getAlignEnum
public Faction.Align getAlignEnum(java.lang.String str)
- Specified by:
getAlignEnum
in interface FactionManager
modifyFaction
public void modifyFaction(MOB mob,
Faction me)
throws java.io.IOException
- Specified by:
modifyFaction
in interface FactionManager
- Throws:
java.io.IOException
resaveFaction
public java.lang.String resaveFaction(Faction F)
- Specified by:
resaveFaction
in interface FactionManager
getAbilityFlagType
public int getAbilityFlagType(java.lang.String strflag)
- Specified by:
getAbilityFlagType
in interface FactionManager