OpenMW
|
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