/* * catRefInfo.h * Category Reference info * ____ _ * | _ \ ___ __ _| |_ __ ___ ___ * | |_) / _ \/ _` | | '_ ` _ \/ __| * | _ < __/ (_| | | | | | | \__ \ * |_| \_\___|\__,_|_|_| |_| |_|___/ * * 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 _CATREFINFO_H #define _CATREFINFO_H class cWeather; class cSeason; class CatRefInfo { public: CatRefInfo(); ~CatRefInfo(); void clear(); void load(xmlNodePtr rootNode); void loadSeasons(xmlNodePtr curNode); void save(xmlNodePtr curNode) const; bstring str() const; void copyVars(const CatRefInfo* cri); bool swap(Swap s); const cWeather* getWeather() const; bstring getFishing() const; int getId() const; bstring getArea() const; bstring getName() const; bstring getWorldName() const; bstring getYearsSince() const; bstring getParent() const; int getYearOffset() const; int getLimbo() const; int getRecall() const; int getTeleportWeight() const; int getTeleportZone() const; int getTrackZone() const; std::map<Season,cSeason*> seasons; // the seaons hold the weather // Some code is written such that these attributes need to be public. // That code ought to be rewritten: // Config::finishSwap in swap.cpp // getSpecialArea in rooms.cpp int limbo; int recall; protected: bstring fishing; int id; // 0 for unique rooms, a number for areas bstring area; // "area" is a special area for the overland bstring name; // display purposes only bstring worldName; // for cmdTime bstring yearsSince; // for printtime bstring parent; // which catrefinfo to inherit limbo/recall from, misc by default int yearOffset; int teleportWeight; int teleportZone; int trackZone; }; #endif /* _CATREFINFO_H */