jurpe.characters
Class PC

java.lang.Object
  extended by jurpe.characters.BasicPC
      extended by jurpe.characters.PC
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, java.lang.Comparable
Direct Known Subclasses:
Monster, PCharacter

public abstract class PC
extends BasicPC
implements java.lang.Cloneable, java.io.Serializable, java.lang.Comparable

Base class for every Playing Character

Author:
Alessio Saltarin
See Also:
Serialized Form

Method Summary
 void addToCurrentHP(int points)
          Add or remove points from current character ht.
 java.lang.Object clone()
          Cloning function
 DefenseType getActiveDefense()
          Get current character active defense
 DefenseType[] getActiveDefenses()
          Get current character active defenses, first and next preferred
 DefenseType[] getActiveDefensesAvailable()
          Get active defenses type available for this character
abstract  AllOutAttackType getAllOutAttackType()
          All Aou Attack for this PC
abstract  int getBareHandsSkill()
          Get current skill in unarmed combat.
abstract  int getCurrentShieldLevel()
          Get current skill level for current shield.
abstract  Weapon getCurrentWeapon()
          Get current weapon, if any.
abstract  int getCurrentWeaponLevel()
          Get current skill level for current weapon.
abstract  int getDamageRoll()
          Get Damage Roll
 java.lang.String getFormattedVel()
          Get Character Speed
 java.lang.String getInfo(java.lang.String separator)
          Get verbose info
abstract  int getMaxDamage()
          Get Max Damage
abstract  int getMvmt()
          Get current movement points
 java.lang.String getName()
          Get Character's Name
abstract  float getTotalActiveDefenses()
          Get Total Active Defenses: chosen defense between dodging, blocking and parrying
abstract  float getTotalPassiveDefenses()
          Get Total Passive Defenses: armor+shield
abstract  boolean isAlive()
          If character is alive it returns true
 boolean isArmed()
          True, if this character is wearing a weapon
abstract  boolean isReady()
          If character is ready to make an attack this turn.
 boolean isShielded()
          Returns true if character wears a shield.
 boolean isUnconscious()
          Returns true if character cannot move/decide actions (is unconscious)
 void receiveDamage(int points)
          Subtracts points to current Health.
 void restoreHP()
          Restore character Hit Points.
 int rollForLife()
          This character executes a roll against its MaximumHT points.
 void setActiveDefense(DefenseType dt)
          Set current character active defense
 void setActiveDefenseAvailability(boolean avail)
          Set current character active defense availability.
 void setActiveDefenses(DefenseType[] dt)
          Set current character active defense and next preferred active defense
 void setAlive(boolean alive)
          Set if current character is alive or not.
 void setUnconscious(boolean uncon)
          Set unconsciousness of current character
 java.lang.String toString()
          Description of this PC
 
Methods inherited from class jurpe.characters.BasicPC
compareTo, getCharacterAttributes, getCurrentHP, getDamageResistance, getHT, getPassiveDefense, getPrimaryStats, getShortDescription, isAI, setAI, setCharacterAttributes, setDamageResistance, setPassiveDefense
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.lang.Comparable
compareTo
 

Method Detail

addToCurrentHP

public void addToCurrentHP(int points)
Add or remove points from current character ht. If points added are greater than or equal to HT, this function restores HT.

Parameters:
points - If positive adds to current HT, else remove from current HT

clone

public java.lang.Object clone()
Cloning function

Overrides:
clone in class java.lang.Object
Returns:
cloned object

getActiveDefense

public DefenseType getActiveDefense()
Get current character active defense

Returns:
DefenseType ie: dodging, parrying, blocking
See Also:
DefenseType

getActiveDefenses

public DefenseType[] getActiveDefenses()
Get current character active defenses, first and next preferred

Returns:
DefenseType 2 out of dodging, parrying, blocking
See Also:
DefenseType

getActiveDefensesAvailable

public DefenseType[] getActiveDefensesAvailable()
Get active defenses type available for this character

Returns:
Array of DefenseType(s) available for this PC
See Also:
DefenseType

getAllOutAttackType

public abstract AllOutAttackType getAllOutAttackType()
All Aou Attack for this PC

Returns:
current All Out Attack type

getBareHandsSkill

public abstract int getBareHandsSkill()
Get current skill in unarmed combat.

Returns:
skill level in bare hands combat

getCurrentShieldLevel

public abstract int getCurrentShieldLevel()
Get current skill level for current shield.

Returns:
current skill level

getCurrentWeapon

public abstract Weapon getCurrentWeapon()
Get current weapon, if any.

Returns:
current weapon (Arma)

getCurrentWeaponLevel

public abstract int getCurrentWeaponLevel()
Get current skill level for current weapon.

Returns:
current skill level

getDamageRoll

public abstract int getDamageRoll()
Get Damage Roll

Returns:
damage roll

getFormattedVel

public java.lang.String getFormattedVel()
Get Character Speed

Returns:
string describing character speed.

getInfo

public java.lang.String getInfo(java.lang.String separator)
Get verbose info

Parameters:
separator - Character or string to separate (ie:\n)
Returns:
character summary

getMaxDamage

public abstract int getMaxDamage()
Get Max Damage

Returns:
maximum damage

getMvmt

public abstract int getMvmt()
Get current movement points

Returns:
current MVMT

getName

public java.lang.String getName()
Get Character's Name

Returns:
Name of character

getTotalActiveDefenses

public abstract float getTotalActiveDefenses()
Get Total Active Defenses: chosen defense between dodging, blocking and parrying

Returns:
total active defense value

getTotalPassiveDefenses

public abstract float getTotalPassiveDefenses()
Get Total Passive Defenses: armor+shield

Returns:
total passive defense value

isAlive

public abstract boolean isAlive()
If character is alive it returns true

Returns:
true if character is alive

isArmed

public boolean isArmed()
True, if this character is wearing a weapon

Returns:
True, if this character is wearing a weapon

isReady

public abstract boolean isReady()
If character is ready to make an attack this turn.

Returns:
true if character is ready to make an attack this turn.

isShielded

public boolean isShielded()
Returns true if character wears a shield.

Returns:
false. Can change that overriding.

isUnconscious

public boolean isUnconscious()
Returns true if character cannot move/decide actions (is unconscious)

Returns:
true if character is unconscious

receiveDamage

public void receiveDamage(int points)
Subtracts points to current Health. Notice that Monsters receive damage on Hit Points, not on current HT. So this method should be overriden by monster classes.

Parameters:
points - If positive adds to current HT, else remove from current HT

restoreHP

public void restoreHP()
Restore character Hit Points. (IE: after a rest)


rollForLife

public int rollForLife()
This character executes a roll against its MaximumHT points. If failed, it dies. (isAlive is set to false). Use like this:
 
  
   
    
     
      
       int points = pc.rollForLife();
       if (pc.isUnconscious())
        // ....
       
      
     
    
   
  
 

Returns:
dice roll points for this test

setActiveDefense

public void setActiveDefense(DefenseType dt)
Set current character active defense

Parameters:
dt - ie: dodging, parrying, blocking
See Also:
DefenseType

setActiveDefenseAvailability

public void setActiveDefenseAvailability(boolean avail)
Set current character active defense availability. Normally, after an all out attack active defenses become unavailable.

Parameters:
avail - false, if active defenses will not be available next turn
See Also:
DefenseType

setActiveDefenses

public void setActiveDefenses(DefenseType[] dt)
Set current character active defense and next preferred active defense

Parameters:
dt - 2 dts out of dodging, parrying, blocking
See Also:
DefenseType

setAlive

public void setAlive(boolean alive)
Set if current character is alive or not.

Parameters:
alive - false if character is dead

setUnconscious

public void setUnconscious(boolean uncon)
Set unconsciousness of current character

Parameters:
uncon - true if character has to be made unconscious

toString

public java.lang.String toString()
Description of this PC

Overrides:
toString in class java.lang.Object
Returns:
PC description

Jurpe - Java Universal Role Playing Engine - http://jurpe.sourceforge.net