/* * Songs.h * Additional song-casting routines. * ____ _ * | _ \ ___ __ _| |_ __ ___ ___ * | |_) / _ \/ _` | | '_ ` _ \/ __| * | _ < __/ (_| | | | | | | \__ \ * |_| \_\___|\__,_|_|_| |_| |_|___/ * * Permission to use, modify and distribute is granted via the * Creative Commons - Attribution - Non Commercial - Share Alike 3.0 License * http://creativecommons.org/licenses/by-nc-sa/3.0/ * * Copyright (C) 2007-2012 Jason Mitchell, Randi Mitchell * Contributions by Tim Callahan, Jonathan Hseu * Based on Mordor (C) Brooke Paul, Brett J. Vickers, John P. Freeman * */ #ifndef _SONGS_H #define _SONGS_H // ****************** // Song // ****************** class Song: public MysticMethod { public: Song(xmlNodePtr rootNode); ~Song() {}; void save(xmlNodePtr rootNode) const; const bstring& getEffect() const; const bstring& getType() const; const bstring& getTargetType() const; bool runScript(MudObject* singer, MudObject* target = NULL); int getDelay(); int getDuration(); private: Song() {}; bstring effect; bstring type; // script, effect, etc bstring targetType; // Valid Targets: Room, Self, Group, Target, RoomBene, RoomAggro int delay; int duration; }; #endif /* _SONGS_H */