Event_ptr Spells::getEvent(const std::string& nodeName) { if (strcasecmp(nodeName.c_str(), "rune") == 0) { return Event_ptr(new RuneSpell(&scriptInterface)); } else if (strcasecmp(nodeName.c_str(), "instant") == 0) { return Event_ptr(new InstantSpell(&scriptInterface)); } return nullptr; }
Event_ptr Weapons::getEvent(const std::string& nodeName) { if (strcasecmp(nodeName.c_str(), "melee") == 0) { return Event_ptr(new WeaponMelee(&scriptInterface)); } else if (strcasecmp(nodeName.c_str(), "distance") == 0) { return Event_ptr(new WeaponDistance(&scriptInterface)); } else if (strcasecmp(nodeName.c_str(), "wand") == 0) { return Event_ptr(new WeaponWand(&scriptInterface)); } return nullptr; }
Event_ptr GlobalEvents::getEvent(const std::string& nodeName) { if (strcasecmp(nodeName.c_str(), "globalevent") != 0) { return nullptr; } return Event_ptr(new GlobalEvent(&scriptInterface)); }
Event_ptr Actions::getEvent(const std::string& nodeName) { if (strcasecmp(nodeName.c_str(), "action") != 0) { return nullptr; } return Event_ptr(new Action(&scriptInterface)); }