OpenMW
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | Static Private Attributes
MWWorld::Class Class Reference

Base class for referenceable esm records. More...

#include <class.hpp>

List of all members.

Public Types

enum  Stance { Run, Sneak, Combat }
 NPC-stances. More...

Public Member Functions

virtual ~Class ()
const std::string & getTypeName () const
virtual std::string getId (const Ptr &ptr) const
virtual void insertObjectRendering (const Ptr &ptr, MWRender::RenderingInterface &renderingInterface) const
virtual void insertObject (const Ptr &ptr, MWWorld::PhysicsSystem &physics) const
 Add reference into a cell for rendering (default implementation: don't render anything).
virtual std::string getName (const Ptr &ptr) const =0
virtual void adjustPosition (const MWWorld::Ptr &ptr) const
 Adjust position to stand on ground. Must be called post model load.
virtual
MWMechanics::CreatureStats
getCreatureStats (const Ptr &ptr) const
virtual bool hasToolTip (const Ptr &ptr) const
virtual MWGui::ToolTipInfo getToolTipInfo (const Ptr &ptr) const
virtual MWMechanics::NpcStatsgetNpcStats (const Ptr &ptr) const
virtual bool hasItemHealth (const Ptr &ptr) const
virtual int getItemMaxHealth (const Ptr &ptr) const
virtual void hit (const Ptr &ptr, int type=-1) const
virtual void onHit (const MWWorld::Ptr &ptr, float damage, bool ishealth, const MWWorld::Ptr &object, const MWWorld::Ptr &attacker, bool successful) const
virtual void setActorHealth (const Ptr &ptr, float health, const Ptr &attacker=Ptr()) const
virtual boost::shared_ptr< Actionactivate (const Ptr &ptr, const Ptr &actor) const
 Generate action for activation (default implementation: return a null action).
virtual boost::shared_ptr< Actionuse (const Ptr &ptr) const
virtual ContainerStoregetContainerStore (const Ptr &ptr) const
virtual InventoryStoregetInventoryStore (const Ptr &ptr) const
virtual void lock (const Ptr &ptr, int lockLevel) const
 Lock object (default implementation: throw an exception)
virtual void unlock (const Ptr &ptr) const
 Unlock object (default implementation: throw an exception)
virtual void setRemainingUsageTime (const Ptr &ptr, float duration) const
virtual float getRemainingUsageTime (const Ptr &ptr) const
virtual std::string getScript (const Ptr &ptr) const
virtual void setForceStance (const Ptr &ptr, Stance stance, bool force) const
 Force or unforce a stance.
virtual void setStance (const Ptr &ptr, Stance stance, bool set) const
 Set or unset a stance.
virtual bool getStance (const Ptr &ptr, Stance stance, bool ignoreForce=false) const
 Check if a stance is active or not.
virtual float getSpeed (const Ptr &ptr) const
 Return movement speed.
virtual float getJump (const MWWorld::Ptr &ptr) const
 Return jump velocity (not accounting for movement)
virtual float getFallDamage (const MWWorld::Ptr &ptr, float fallHeight) const
 Return amount of health points lost when falling.
virtual MWMechanics::MovementgetMovementSettings (const Ptr &ptr) const
 Return desired movement.
virtual Ogre::Vector3 getMovementVector (const Ptr &ptr) const
virtual Ogre::Vector3 getRotationVector (const Ptr &ptr) const
 Return desired rotations, as euler angles.
virtual std::pair< std::vector
< int >, bool > 
getEquipmentSlots (const Ptr &ptr) const
virtual int getEquipmentSkill (const Ptr &ptr) const
virtual int getValue (const Ptr &ptr) const
virtual float getCapacity (const MWWorld::Ptr &ptr) const
virtual float getEncumbrance (const MWWorld::Ptr &ptr) const
virtual bool apply (const MWWorld::Ptr &ptr, const std::string &id, const MWWorld::Ptr &actor) const
virtual void skillUsageSucceeded (const MWWorld::Ptr &ptr, int skill, int usageType) const
virtual bool isEssential (const MWWorld::Ptr &ptr) const
virtual bool hasDetected (const MWWorld::Ptr &ptr, const MWWorld::Ptr &ptr2) const
virtual std::string getUpSoundId (const Ptr &ptr) const
virtual std::string getDownSoundId (const Ptr &ptr) const
virtual std::string getSoundIdFromSndGen (const Ptr &ptr, const std::string &type) const
 Returns the sound ID for ptr of the given soundgen type.
virtual float getArmorRating (const MWWorld::Ptr &ptr) const
virtual std::string getInventoryIcon (const MWWorld::Ptr &ptr) const
 Return name of inventory icon.
virtual std::string getEnchantment (const MWWorld::Ptr &ptr) const
virtual float getEnchantmentPoints (const MWWorld::Ptr &ptr) const
virtual void adjustScale (const MWWorld::Ptr &ptr, float &scale) const
virtual void adjustRotation (const MWWorld::Ptr &ptr, float &x, float &y, float &z) const
virtual bool canSell (const MWWorld::Ptr &item, int npcServices) const
 Determine whether or not item can be sold to an npc with the given npcServices.
virtual int getServices (const MWWorld::Ptr &actor) const
virtual std::string getModel (const MWWorld::Ptr &ptr) const
virtual void applyEnchantment (const MWWorld::Ptr &ptr, const std::string &enchId, int enchCharge, const std::string &newName) const
virtual std::pair< int,
std::string > 
canBeEquipped (const MWWorld::Ptr &ptr, const MWWorld::Ptr &npc) const
virtual float getWeight (const MWWorld::Ptr &ptr) const
virtual bool isPersistent (const MWWorld::Ptr &ptr) const
virtual bool isKey (const MWWorld::Ptr &ptr) const
virtual Ptr copyToCell (const Ptr &ptr, CellStore &cell) const
virtual Ptr copyToCell (const Ptr &ptr, CellStore &cell, const ESM::Position &pos) const
virtual bool isActor () const
virtual bool isNpc () const

Static Public Member Functions

static const Classget (const std::string &key)
 If there is no class for this key, an exception is thrown.
static const Classget (const Ptr &ptr)
 If there is no class for this pointer, an exception is thrown.
static void registerClass (const std::string &key, boost::shared_ptr< Class > instance)

Protected Member Functions

 Class ()
boost::shared_ptr< ActiondefaultItemActivate (const Ptr &ptr, const Ptr &actor) const
 Generate default action for activating inventory items.
virtual Ptr copyToCellImpl (const Ptr &ptr, CellStore &cell) const

Private Member Functions

 Class (const Class &)
Classoperator= (const Class &)

Private Attributes

std::string mTypeName

Static Private Attributes

static std::map< std::string,
boost::shared_ptr< Class > > 
sClasses

Detailed Description

Base class for referenceable esm records.


Member Enumeration Documentation

NPC-stances.

Enumerator:
Run 
Sneak 
Combat 

Constructor & Destructor Documentation

MWWorld::Class::Class ( const Class ) [private]
MWWorld::Class::Class ( ) [protected]
MWWorld::Class::~Class ( ) [virtual]

Member Function Documentation

boost::shared_ptr< Action > MWWorld::Class::activate ( const Ptr ptr,
const Ptr actor 
) const [virtual]
void MWWorld::Class::adjustPosition ( const MWWorld::Ptr ptr) const [virtual]

Adjust position to stand on ground. Must be called post model load.

Reimplemented in MWClass::Npc, and MWClass::Creature.

void MWWorld::Class::adjustRotation ( const MWWorld::Ptr ptr,
float &  x,
float &  y,
float &  z 
) const [virtual]

Reimplemented in MWClass::Npc.

void MWWorld::Class::adjustScale ( const MWWorld::Ptr ptr,
float &  scale 
) const [virtual]

Reimplemented in MWClass::Npc.

bool MWWorld::Class::apply ( const MWWorld::Ptr ptr,
const std::string &  id,
const MWWorld::Ptr actor 
) const [virtual]

Apply id on ptr.

Parameters:
actorActor that is resposible for the ID being applied to ptr.
Returns:
Any effect?

(default implementation: ignore and return false)

Reimplemented in MWClass::Npc.

void MWWorld::Class::applyEnchantment ( const MWWorld::Ptr ptr,
const std::string &  enchId,
int  enchCharge,
const std::string &  newName 
) const [virtual]
std::pair< int, std::string > MWWorld::Class::canBeEquipped ( const MWWorld::Ptr ptr,
const MWWorld::Ptr npc 
) const [virtual]

Return 0 if player cannot equip item. 1 if can equip. 2 if it's twohanded weapon. 3 if twohanded weapon conflicts with that. Second item in the pair specifies the error message

Reimplemented in MWClass::Weapon, MWClass::Armor, MWClass::Light, and MWClass::Clothing.

bool MWWorld::Class::canSell ( const MWWorld::Ptr item,
int  npcServices 
) const [virtual]
MWWorld::Ptr MWWorld::Class::copyToCell ( const Ptr ptr,
CellStore cell 
) const [virtual]
MWWorld::Ptr MWWorld::Class::copyToCell ( const Ptr ptr,
CellStore cell,
const ESM::Position pos 
) const [virtual]
MWWorld::Ptr MWWorld::Class::copyToCellImpl ( const Ptr ptr,
CellStore cell 
) const [protected, virtual]
boost::shared_ptr< Action > MWWorld::Class::defaultItemActivate ( const Ptr ptr,
const Ptr actor 
) const [protected]

Generate default action for activating inventory items.

const Class & MWWorld::Class::get ( const std::string &  key) [static]

If there is no class for this key, an exception is thrown.

static const Class& MWWorld::Class::get ( const Ptr ptr) [inline, static]

If there is no class for this pointer, an exception is thrown.

float MWWorld::Class::getArmorRating ( const MWWorld::Ptr ptr) const [virtual]
Returns:
combined armor rating of this actor

Reimplemented in MWClass::Npc, and MWClass::Creature.

float MWWorld::Class::getCapacity ( const MWWorld::Ptr ptr) const [virtual]

Return total weight that fits into the object. Throws an exception, if the object can't hold other objects. (default implementation: throws an exception)

Reimplemented in MWClass::Npc, MWClass::Creature, and MWClass::Container.

ContainerStore & MWWorld::Class::getContainerStore ( const Ptr ptr) const [virtual]

Return container store or throw an exception, if class does not have a container store (default implementation: throw an exceoption)

Reimplemented in MWClass::Npc, MWClass::Creature, and MWClass::Container.

Return creature stats or throw an exception, if class does not have creature stats (default implementation: throw an exceoption)

Reimplemented in MWClass::Npc, and MWClass::Creature.

std::string MWWorld::Class::getDownSoundId ( const Ptr ptr) const [virtual]

Return the down sound ID of ptr or throw an exception, if class does not support ID retrieval (default implementation: throw an exception)

Reimplemented in MWClass::Weapon, MWClass::Armor, MWClass::Clothing, MWClass::Ingredient, MWClass::Light, MWClass::Lockpick, MWClass::Probe, MWClass::Apparatus, MWClass::Potion, MWClass::Book, MWClass::Miscellaneous, and MWClass::Repair.

std::string MWWorld::Class::getEnchantment ( const MWWorld::Ptr ptr) const [virtual]
Returns:
the enchantment ID if the object is enchanted, otherwise an empty string (default implementation: return empty string)

Reimplemented in MWClass::Weapon, MWClass::Armor, MWClass::Clothing, and MWClass::Book.

float MWWorld::Class::getEnchantmentPoints ( const MWWorld::Ptr ptr) const [virtual]
Returns:
the number of enchantment points available for possible enchanting

Reimplemented in MWClass::Weapon, MWClass::Armor, MWClass::Clothing, and MWClass::Book.

float MWWorld::Class::getEncumbrance ( const MWWorld::Ptr ptr) const [virtual]

Returns total weight of objects inside this object (including modifications from magic effects). Throws an exception, if the object can't hold other objects. (default implementation: throws an exception)

Reimplemented in MWClass::Npc, MWClass::Creature, and MWClass::Container.

int MWWorld::Class::getEquipmentSkill ( const Ptr ptr) const [virtual]
std::pair< std::vector< int >, bool > MWWorld::Class::getEquipmentSlots ( const Ptr ptr) const [virtual]
Returns:
first: Return IDs of the slot this object can be equipped in; second: can object stay stacked when equipped?

Default implementation: return (empty vector, false).

Reimplemented in MWClass::Weapon, MWClass::Armor, MWClass::Light, MWClass::Lockpick, MWClass::Probe, and MWClass::Clothing.

float MWWorld::Class::getFallDamage ( const MWWorld::Ptr ptr,
float  fallHeight 
) const [virtual]

Return amount of health points lost when falling.

Reimplemented in MWClass::Npc.

std::string MWWorld::Class::getId ( const Ptr ptr) const [virtual]

Return ID of ptr or throw an exception, if class does not support ID retrieval (default implementation: throw an exception)

Reimplemented in MWClass::Npc, MWClass::Creature, MWClass::Ingredient, and MWClass::Weapon.

std::string MWWorld::Class::getInventoryIcon ( const MWWorld::Ptr ptr) const [virtual]
InventoryStore & MWWorld::Class::getInventoryStore ( const Ptr ptr) const [virtual]

Return inventory store or throw an exception, if class does not have a inventory store (default implementation: throw an exceoption)

Reimplemented in MWClass::Npc.

int MWWorld::Class::getItemMaxHealth ( const Ptr ptr) const [virtual]

Return item max health or throw an exception, if class does not have item health (default implementation: throw an exceoption)

Reimplemented in MWClass::Lockpick, MWClass::Probe, MWClass::Repair, MWClass::Weapon, and MWClass::Armor.

float MWWorld::Class::getJump ( const MWWorld::Ptr ptr) const [virtual]

Return jump velocity (not accounting for movement)

Reimplemented in MWClass::Npc.

std::string MWWorld::Class::getModel ( const MWWorld::Ptr ptr) const [virtual]

Return desired movement.

Reimplemented in MWClass::Npc, and MWClass::Creature.

Ogre::Vector3 MWWorld::Class::getMovementVector ( const Ptr ptr) const [virtual]

Return desired movement vector (determined based on movement settings, stance and stats).

Reimplemented in MWClass::Npc, and MWClass::Creature.

virtual std::string MWWorld::Class::getName ( const Ptr ptr) const [pure virtual]
MWMechanics::NpcStats & MWWorld::Class::getNpcStats ( const Ptr ptr) const [virtual]

Return NPC stats or throw an exception, if class does not have NPC stats (default implementation: throw an exceoption)

Reimplemented in MWClass::Npc.

float MWWorld::Class::getRemainingUsageTime ( const Ptr ptr) const [virtual]

Returns the remaining duration of the object, such as an equippable light source. (default implementation: -1, i.e. infinite)

Reimplemented in MWClass::Light.

Ogre::Vector3 MWWorld::Class::getRotationVector ( const Ptr ptr) const [virtual]

Return desired rotations, as euler angles.

Reimplemented in MWClass::Npc, and MWClass::Creature.

std::string MWWorld::Class::getScript ( const Ptr ptr) const [virtual]
int MWWorld::Class::getServices ( const MWWorld::Ptr actor) const [virtual]

Reimplemented in MWClass::Npc, and MWClass::Creature.

std::string MWWorld::Class::getSoundIdFromSndGen ( const Ptr ptr,
const std::string &  type 
) const [virtual]

Returns the sound ID for ptr of the given soundgen type.

Reimplemented in MWClass::Npc, and MWClass::Creature.

float MWWorld::Class::getSpeed ( const Ptr ptr) const [virtual]

Return movement speed.

Reimplemented in MWClass::Npc, and MWClass::Creature.

bool MWWorld::Class::getStance ( const Ptr ptr,
Stance  stance,
bool  ignoreForce = false 
) const [virtual]

Check if a stance is active or not.

Reimplemented in MWClass::Npc.

MWGui::ToolTipInfo MWWorld::Class::getToolTipInfo ( const Ptr ptr) const [virtual]
const std::string& MWWorld::Class::getTypeName ( ) const [inline]
std::string MWWorld::Class::getUpSoundId ( const Ptr ptr) const [virtual]

Return the up sound ID of ptr or throw an exception, if class does not support ID retrieval (default implementation: throw an exception)

Reimplemented in MWClass::Weapon, MWClass::Armor, MWClass::Clothing, MWClass::Ingredient, MWClass::Light, MWClass::Lockpick, MWClass::Probe, MWClass::Apparatus, MWClass::Potion, MWClass::Book, MWClass::Miscellaneous, and MWClass::Repair.

int MWWorld::Class::getValue ( const Ptr ptr) const [virtual]

Return the index of the skill this item corresponds to when equiopped or -1, if there is no such skill. (default implementation: return -1) Return trade value of the object. Throws an exception, if the object can't be traded. (default implementation: throws an exception)

Reimplemented in MWClass::Weapon, MWClass::Armor, MWClass::Clothing, MWClass::Light, MWClass::Lockpick, MWClass::Probe, MWClass::Ingredient, MWClass::Book, MWClass::Miscellaneous, MWClass::Potion, MWClass::Repair, and MWClass::Apparatus.

float MWWorld::Class::getWeight ( const MWWorld::Ptr ptr) const [virtual]
bool MWWorld::Class::hasDetected ( const MWWorld::Ptr ptr,
const MWWorld::Ptr ptr2 
) const [virtual]

Has \æ ptr detected ptr2?

(default implementation: return false)

bool MWWorld::Class::hasItemHealth ( const Ptr ptr) const [virtual]
Returns:
Item health data available? (default implementation: false)

Reimplemented in MWClass::Repair, MWClass::Weapon, and MWClass::Armor.

bool MWWorld::Class::hasToolTip ( const Ptr ptr) const [virtual]
void MWWorld::Class::hit ( const Ptr ptr,
int  type = -1 
) const [virtual]

Execute a melee hit, using the current weapon. This will check the relevant skills of the given attacker, and whoever is hit.

Parameters:
type- type of attack, one of the MWMechanics::CreatureStats::AttackType enums. ignored for creature attacks. (default implementation: throw an exceoption)

Reimplemented in MWClass::Npc, and MWClass::Creature.

void MWWorld::Class::insertObject ( const Ptr ptr,
MWWorld::PhysicsSystem physics 
) const [virtual]
void MWWorld::Class::insertObjectRendering ( const Ptr ptr,
MWRender::RenderingInterface renderingInterface 
) const [virtual]
virtual bool MWWorld::Class::isActor ( ) const [inline, virtual]

Reimplemented in MWClass::Npc, and MWClass::Creature.

bool MWWorld::Class::isEssential ( const MWWorld::Ptr ptr) const [virtual]

Is ptr essential? (i.e. may losing ptr make the game unwinnable)

(default implementation: return false)

Reimplemented in MWClass::Npc, and MWClass::Creature.

virtual bool MWWorld::Class::isKey ( const MWWorld::Ptr ptr) const [inline, virtual]

Reimplemented in MWClass::Miscellaneous.

virtual bool MWWorld::Class::isNpc ( ) const [inline, virtual]

Reimplemented in MWClass::Npc.

bool MWWorld::Class::isPersistent ( const MWWorld::Ptr ptr) const [virtual]

Reimplemented in MWClass::Npc, and MWClass::Creature.

void MWWorld::Class::lock ( const Ptr ptr,
int  lockLevel 
) const [virtual]

Lock object (default implementation: throw an exception)

Reimplemented in MWClass::Container, and MWClass::Door.

void MWWorld::Class::onHit ( const MWWorld::Ptr ptr,
float  damage,
bool  ishealth,
const MWWorld::Ptr object,
const MWWorld::Ptr attacker,
bool  successful 
) const [virtual]

Alerts ptr that it's being hit for damage points to health if ishealth is true (else fatigue) by object (sword, arrow, etc). attacker specifies the actor responsible for the attack, and successful specifies if the hit is successful or not.

Reimplemented in MWClass::Npc, and MWClass::Creature.

Class& MWWorld::Class::operator= ( const Class ) [private]
void MWWorld::Class::registerClass ( const std::string &  key,
boost::shared_ptr< Class instance 
) [static]
void MWWorld::Class::setActorHealth ( const Ptr ptr,
float  health,
const Ptr attacker = Ptr() 
) const [virtual]

Sets a new current health value for the actor, optionally specifying the object causing the change. Use this instead of using CreatureStats directly as this will make sure the correct dialog and actor states are properly handled when being hurt or healed. (default implementation: throw an exceoption)

Reimplemented in MWClass::Npc, and MWClass::Creature.

void MWWorld::Class::setForceStance ( const Ptr ptr,
Stance  stance,
bool  force 
) const [virtual]

Force or unforce a stance.

Reimplemented in MWClass::Npc.

void MWWorld::Class::setRemainingUsageTime ( const Ptr ptr,
float  duration 
) const [virtual]

Sets the remaining duration of the object, such as an equippable light source. (default implementation: throw an exception)

Reimplemented in MWClass::Light.

void MWWorld::Class::setStance ( const Ptr ptr,
Stance  stance,
bool  set 
) const [virtual]

Set or unset a stance.

Reimplemented in MWClass::Npc.

void MWWorld::Class::skillUsageSucceeded ( const MWWorld::Ptr ptr,
int  skill,
int  usageType 
) const [virtual]

Inform actor ptr that a skill use has succeeded.

(default implementations: throws an exception)

Reimplemented in MWClass::Npc.

void MWWorld::Class::unlock ( const Ptr ptr) const [virtual]

Unlock object (default implementation: throw an exception)

Reimplemented in MWClass::Container, and MWClass::Door.

boost::shared_ptr< Action > MWWorld::Class::use ( const Ptr ptr) const [virtual]

Generate action for using via inventory menu (default implementation: return a null action).

Reimplemented in MWClass::Weapon, MWClass::Armor, MWClass::Clothing, MWClass::Light, MWClass::Book, MWClass::Lockpick, MWClass::Probe, MWClass::Apparatus, MWClass::Repair, MWClass::Miscellaneous, MWClass::Ingredient, and MWClass::Potion.


Member Data Documentation

std::string MWWorld::Class::mTypeName [private]
std::map< std::string, boost::shared_ptr< Class > > MWWorld::Class::sClasses [static, private]

The documentation for this class was generated from the following files: