com.planet_ink.coffee_mud.Libraries.interfaces
Interface CombatLibrary

All Superinterfaces:
java.lang.Cloneable, CMLibrary, CMObject, java.lang.Comparable<CMObject>
All Known Implementing Classes:
MUDFight

public interface CombatLibrary
extends CMLibrary


Field Summary
static int COMBAT_DEFAULT
           
static int COMBAT_MANUAL
           
static int COMBAT_QUEUE
           
 
Method Summary
 int adjustedArmor(MOB mob)
           
 int adjustedAttackBonus(MOB mob, MOB target)
           
 int adjustedDamage(MOB mob, Weapon weapon, MOB target)
           
 java.util.Set<MOB> allCombatants(MOB mob)
           
 java.util.Set<MOB> allPossibleCombatants(MOB mob, boolean beRuthless)
           
 java.lang.String armorStr(MOB mob)
           
 void dispenseExperience(java.util.Set<MOB> killers, java.util.Set<MOB> dividers, MOB killed)
          For a valid set of killers who are benefitting from having killed the given killed mob, this method will make repeated postExperience calls after having calculated their exp bounty for the kill.
 void establishRange(MOB source, MOB target, Environmental tool)
           
 java.lang.String fightingProwessStr(MOB mob)
           
 java.util.Set<MOB> getCombatBeneficiaries(MOB killer, MOB killed, CharClass combatCharClass)
           
 java.util.Set<MOB> getCombatDividers(MOB killer, MOB killed, CharClass combatCharClass)
           
 CharClass getCombatDominantClass(MOB killer, MOB killed)
           
 MOB getFollowedLeader(MOB mob)
           
 java.util.List<MOB>[] getFormation(MOB mob)
           
 int getFormationAbsOrder(MOB mob)
           
 java.util.List<MOB> getFormationFollowed(MOB mob)
           
 void handleBeingAssaulted(CMMsg msg)
           
 void handleBeingDamaged(CMMsg msg)
           
 void handleBeingHealed(CMMsg msg)
           
 boolean handleConsequences(MOB mob, MOB fighting, java.lang.String[] commands, int[] lostExperience, java.lang.String message)
           
 void handleDeath(CMMsg msg)
           
 void handleObserveDeath(MOB observer, MOB fighting, CMMsg msg)
           
 boolean isKnockedOutUponDeath(MOB mob, MOB fighting)
           
 DeadBody justDie(MOB source, MOB target)
           
 void makeFollowersFight(MOB observer, MOB target, MOB source)
           
 void makePeaceInGroup(MOB mob)
           
 boolean postAttack(MOB attacker, MOB target, Item weapon)
           
 void postDamage(MOB attacker, MOB target, Environmental weapon, int damage, int messageCode, int damageType, java.lang.String allDisplayMessage)
           
 void postDeath(MOB killerM, MOB deadM, CMMsg addHere)
           
 boolean postHealing(MOB healer, MOB target, Environmental tool, int messageCode, int healing, java.lang.String allDisplayMessage)
           
 void postPanic(MOB mob, CMMsg addHere)
           
 void postWeaponDamage(MOB source, MOB target, Item item, boolean success)
           
 void processFormation(java.util.List<MOB>[] done, MOB leader, int level)
           
 java.util.Set<MOB> properTargets(Ability A, MOB caster, boolean beRuthless)
           
 java.lang.String replaceDamageTag(java.lang.String str, int damage, int damageType, char sourceTargetSTO)
           
 void resistanceMsgs(CMMsg msg, MOB source, MOB target)
           
 boolean rollToHit(int attack, int defence, int adjustment)
           
 boolean rollToHit(MOB attacker, MOB defender)
           
 java.lang.String standardHitString(int weaponClass, int damageAmount, java.lang.String weaponName)
           
 java.lang.String standardHitWord(int type, int damage)
           
 java.lang.String standardMissString(int weaponType, int weaponClassification, java.lang.String weaponName, boolean useExtendedMissString)
           
 java.lang.String standardMobCondition(MOB viewer, MOB mob)
           
 void tickCombat(MOB fighter)
           
 
Methods inherited from interface com.planet_ink.coffee_mud.Libraries.interfaces.CMLibrary
activate, getSupportThread, propertiesLoaded, shutdown
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.CMObject
copyOf, ID, initializeClass, newInstance
 
Methods inherited from interface java.lang.Comparable
compareTo
 

Field Detail

COMBAT_DEFAULT

static final int COMBAT_DEFAULT
See Also:
Constant Field Values

COMBAT_QUEUE

static final int COMBAT_QUEUE
See Also:
Constant Field Values

COMBAT_MANUAL

static final int COMBAT_MANUAL
See Also:
Constant Field Values
Method Detail

allPossibleCombatants

java.util.Set<MOB> allPossibleCombatants(MOB mob,
                                         boolean beRuthless)

properTargets

java.util.Set<MOB> properTargets(Ability A,
                                 MOB caster,
                                 boolean beRuthless)

adjustedArmor

int adjustedArmor(MOB mob)

adjustedAttackBonus

int adjustedAttackBonus(MOB mob,
                        MOB target)

adjustedDamage

int adjustedDamage(MOB mob,
                   Weapon weapon,
                   MOB target)

rollToHit

boolean rollToHit(MOB attacker,
                  MOB defender)

rollToHit

boolean rollToHit(int attack,
                  int defence,
                  int adjustment)

allCombatants

java.util.Set<MOB> allCombatants(MOB mob)

makePeaceInGroup

void makePeaceInGroup(MOB mob)

postPanic

void postPanic(MOB mob,
               CMMsg addHere)

postDeath

void postDeath(MOB killerM,
               MOB deadM,
               CMMsg addHere)

postAttack

boolean postAttack(MOB attacker,
                   MOB target,
                   Item weapon)

postHealing

boolean postHealing(MOB healer,
                    MOB target,
                    Environmental tool,
                    int messageCode,
                    int healing,
                    java.lang.String allDisplayMessage)

replaceDamageTag

java.lang.String replaceDamageTag(java.lang.String str,
                                  int damage,
                                  int damageType,
                                  char sourceTargetSTO)

postDamage

void postDamage(MOB attacker,
                MOB target,
                Environmental weapon,
                int damage,
                int messageCode,
                int damageType,
                java.lang.String allDisplayMessage)

postWeaponDamage

void postWeaponDamage(MOB source,
                      MOB target,
                      Item item,
                      boolean success)

processFormation

void processFormation(java.util.List<MOB>[] done,
                      MOB leader,
                      int level)

getFollowedLeader

MOB getFollowedLeader(MOB mob)

getFormation

java.util.List<MOB>[] getFormation(MOB mob)

getFormationFollowed

java.util.List<MOB> getFormationFollowed(MOB mob)

getFormationAbsOrder

int getFormationAbsOrder(MOB mob)

getCombatDominantClass

CharClass getCombatDominantClass(MOB killer,
                                 MOB killed)

getCombatDividers

java.util.Set<MOB> getCombatDividers(MOB killer,
                                     MOB killed,
                                     CharClass combatCharClass)

getCombatBeneficiaries

java.util.Set<MOB> getCombatBeneficiaries(MOB killer,
                                          MOB killed,
                                          CharClass combatCharClass)

justDie

DeadBody justDie(MOB source,
                 MOB target)

armorStr

java.lang.String armorStr(MOB mob)

standardHitWord

java.lang.String standardHitWord(int type,
                                 int damage)

fightingProwessStr

java.lang.String fightingProwessStr(MOB mob)

standardMissString

java.lang.String standardMissString(int weaponType,
                                    int weaponClassification,
                                    java.lang.String weaponName,
                                    boolean useExtendedMissString)

standardHitString

java.lang.String standardHitString(int weaponClass,
                                   int damageAmount,
                                   java.lang.String weaponName)

standardMobCondition

java.lang.String standardMobCondition(MOB viewer,
                                      MOB mob)

resistanceMsgs

void resistanceMsgs(CMMsg msg,
                    MOB source,
                    MOB target)

establishRange

void establishRange(MOB source,
                    MOB target,
                    Environmental tool)

makeFollowersFight

void makeFollowersFight(MOB observer,
                        MOB target,
                        MOB source)

handleBeingHealed

void handleBeingHealed(CMMsg msg)

handleBeingDamaged

void handleBeingDamaged(CMMsg msg)

handleBeingAssaulted

void handleBeingAssaulted(CMMsg msg)

handleDeath

void handleDeath(CMMsg msg)

handleObserveDeath

void handleObserveDeath(MOB observer,
                        MOB fighting,
                        CMMsg msg)

isKnockedOutUponDeath

boolean isKnockedOutUponDeath(MOB mob,
                              MOB fighting)

handleConsequences

boolean handleConsequences(MOB mob,
                           MOB fighting,
                           java.lang.String[] commands,
                           int[] lostExperience,
                           java.lang.String message)

tickCombat

void tickCombat(MOB fighter)

dispenseExperience

void dispenseExperience(java.util.Set<MOB> killers,
                        java.util.Set<MOB> dividers,
                        MOB killed)
For a valid set of killers who are benefitting from having killed the given killed mob, this method will make repeated postExperience calls after having calculated their exp bounty for the kill.

Parameters:
killers - a set of mobs to benefit from the kill
dividers - a set of mobs who must divide the xp.. usually subset of killers
killed - the mob killed
See Also:
ExpLevelLibrary.postExperience(MOB, MOB, String, int, boolean)