OpenMW
apps/openmw/mwclass/weapon.hpp
Go to the documentation of this file.
00001 #ifndef GAME_MWCLASS_WEAPON_H
00002 #define GAME_MWCLASS_WEAPON_H
00003 
00004 #include "../mwworld/class.hpp"
00005 
00006 namespace MWClass
00007 {
00008     class Weapon : public MWWorld::Class
00009     {
00010             virtual MWWorld::Ptr
00011             copyToCellImpl(const MWWorld::Ptr &ptr, MWWorld::CellStore &cell) const;
00012 
00013         public:
00014 
00015             virtual std::string getId (const MWWorld::Ptr& ptr) const;
00017 
00018             virtual void insertObjectRendering (const MWWorld::Ptr& ptr, MWRender::RenderingInterface& renderingInterface) const;
00020 
00021             virtual void insertObject(const MWWorld::Ptr& ptr, MWWorld::PhysicsSystem& physics) const;
00022 
00023             virtual std::string getName (const MWWorld::Ptr& ptr) const;
00026 
00027             virtual boost::shared_ptr<MWWorld::Action> activate (const MWWorld::Ptr& ptr,
00028                 const MWWorld::Ptr& actor) const;
00030 
00031             virtual bool hasToolTip (const MWWorld::Ptr& ptr) const;
00033 
00034             virtual MWGui::ToolTipInfo getToolTipInfo (const MWWorld::Ptr& ptr) const;
00036 
00037             virtual bool hasItemHealth (const MWWorld::Ptr& ptr) const;
00039 
00040             virtual int getItemMaxHealth (const MWWorld::Ptr& ptr) const;
00042 
00043             virtual std::string getScript (const MWWorld::Ptr& ptr) const;
00045 
00046             virtual std::pair<std::vector<int>, bool> getEquipmentSlots (const MWWorld::Ptr& ptr) const;
00049 
00050             virtual int getEquipmentSkill (const MWWorld::Ptr& ptr) const;
00053 
00054             virtual int getValue (const MWWorld::Ptr& ptr) const;
00056 
00057             static void registerSelf();
00058 
00059             virtual std::string getUpSoundId (const MWWorld::Ptr& ptr) const;
00061 
00062             virtual std::string getDownSoundId (const MWWorld::Ptr& ptr) const;
00064 
00065             virtual std::string getInventoryIcon (const MWWorld::Ptr& ptr) const;
00067 
00068             virtual std::string getEnchantment (const MWWorld::Ptr& ptr) const;
00070 
00071             virtual void applyEnchantment(const MWWorld::Ptr &ptr, const std::string& enchId, int enchCharge, const std::string& newName) const;
00072 
00073             virtual std::pair<int, std::string> canBeEquipped(const MWWorld::Ptr &ptr, const MWWorld::Ptr &npc) const;
00076 
00077             virtual boost::shared_ptr<MWWorld::Action> use (const MWWorld::Ptr& ptr)
00078                 const;
00080 
00081             virtual std::string getModel(const MWWorld::Ptr &ptr) const;
00082 
00083             virtual bool canSell (const MWWorld::Ptr& item, int npcServices) const;
00084 
00085             virtual float getWeight (const MWWorld::Ptr& ptr) const;
00086 
00087             virtual float getEnchantmentPoints (const MWWorld::Ptr& ptr) const;
00088     };
00089 }
00090 
00091 #endif