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