OpenMW
apps/openmw/mwclass/creature.hpp
Go to the documentation of this file.
00001 #ifndef GAME_MWCLASS_CREATURE_H
00002 #define GAME_MWCLASS_CREATURE_H
00003 
00004 #include "../mwworld/class.hpp"
00005 
00006 namespace MWClass
00007 {
00008     class Creature : public MWWorld::Class
00009     {
00010             void ensureCustomData (const MWWorld::Ptr& ptr) const;
00011 
00012             virtual MWWorld::Ptr
00013             copyToCellImpl(const MWWorld::Ptr &ptr, MWWorld::CellStore &cell) const;
00014 
00015             static int getSndGenTypeFromName(const MWWorld::Ptr &ptr, const std::string &name);
00016 
00017             static const ESM::GameSetting *fMinWalkSpeedCreature;
00018             static const ESM::GameSetting *fMaxWalkSpeedCreature;
00019 
00020         public:
00021 
00022             virtual std::string getId (const MWWorld::Ptr& ptr) const;
00024 
00025              virtual void insertObjectRendering (const MWWorld::Ptr& ptr, MWRender::RenderingInterface& renderingInterface) const;
00027 
00028             virtual void insertObject(const MWWorld::Ptr& ptr, MWWorld::PhysicsSystem& physics) const;
00029 
00030             virtual void adjustPosition(const MWWorld::Ptr& ptr) const;
00031 
00032             virtual std::string getName (const MWWorld::Ptr& ptr) const;
00035 
00036             virtual bool hasToolTip (const MWWorld::Ptr& ptr) const;
00038 
00039             virtual MWGui::ToolTipInfo getToolTipInfo (const MWWorld::Ptr& ptr) const;
00041 
00042             virtual MWMechanics::CreatureStats& getCreatureStats (const MWWorld::Ptr& ptr) const;
00044 
00045             virtual void hit(const MWWorld::Ptr& ptr, int type) const;
00046 
00047             virtual void onHit(const MWWorld::Ptr &ptr, float damage, bool ishealth, const MWWorld::Ptr &object, const MWWorld::Ptr &attacker, bool successful) const;
00048 
00049             virtual void setActorHealth(const MWWorld::Ptr& ptr, float health, const MWWorld::Ptr& attacker) const;
00050 
00051             virtual boost::shared_ptr<MWWorld::Action> activate (const MWWorld::Ptr& ptr,
00052                 const MWWorld::Ptr& actor) const;
00054 
00055             virtual MWWorld::ContainerStore& getContainerStore (
00056                 const MWWorld::Ptr& ptr) const;
00058 
00059             virtual std::string getScript (const MWWorld::Ptr& ptr) const;
00061 
00062             virtual float getCapacity (const MWWorld::Ptr& ptr) const;
00065 
00066             virtual float getEncumbrance (const MWWorld::Ptr& ptr) const;
00069 
00070             virtual float getArmorRating (const MWWorld::Ptr& ptr) const;
00072 
00073             virtual bool isEssential (const MWWorld::Ptr& ptr) const;
00075             
00076             virtual int getServices (const MWWorld::Ptr& actor) const;
00077 
00078             virtual bool isPersistent (const MWWorld::Ptr& ptr) const;
00079 
00080             virtual std::string getSoundIdFromSndGen(const MWWorld::Ptr &ptr, const std::string &name) const;
00081 
00082             virtual MWMechanics::Movement& getMovementSettings (const MWWorld::Ptr& ptr) const;
00084 
00085             virtual Ogre::Vector3 getMovementVector (const MWWorld::Ptr& ptr) const;
00088 
00089             virtual Ogre::Vector3 getRotationVector (const MWWorld::Ptr& ptr) const;
00091 
00092             float getSpeed (const MWWorld::Ptr& ptr) const;
00093 
00094             static void registerSelf();
00095 
00096             virtual std::string getModel(const MWWorld::Ptr &ptr) const;
00097 
00098             virtual bool
00099             isActor() const {
00100                 return true;
00101             }
00102     };
00103 }
00104 
00105 #endif