#pragma once #include "CppScripts.h" struct ItemSetting { std::vector items; // The items to add/remove bool add; // Add items on mission accept bool remove; // Remove items on mission complete }; /** * Scripts that allows for the addition and removal of sets of items by an NPC */ class NPCAddRemoveItem : virtual public CppScripts::Script { protected: void OnMissionDialogueOK(Entity* self, Entity* target, int missionID, eMissionState missionState) override; virtual std::map> GetSettings(); private: void OnStartup(Entity* self) override; std::map> m_MissionItemSettings; };