Planeshift

psskills.h

Go to the documentation of this file.
00001 /*
00002  * psskills.h
00003  *
00004  * Copyright (C) 2001 Atomic Blue ([email protected], http://www.atomicblue.org)
00005  *
00006  *
00007  * This program is free software; you can redistribute it and/or
00008  * modify it under the terms of the GNU General Public License
00009  * as published by the Free Software Foundation (version 2 of the License)
00010  * This program is distributed in the hope that it will be useful,
00011  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00012  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00013  * GNU General Public License for more details.
00014  * You should have received a copy of the GNU General Public License
00015  * along with this program; if not, write to the Free Software
00016  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
00017  *
00018  */
00019 
00020 #ifndef __PSSKILLS_H__
00021 #define __PSSKILLS_H__
00022 
00023 //=============================================================================
00024 // Crystal Space Includes
00025 //=============================================================================
00026 #include <csutil/csstring.h>
00027 
00028 //=============================================================================
00029 // Project Includes
00030 //=============================================================================
00031 #include "util/poolallocator.h"
00032 
00033 #include "rpgrules/psmoney.h"
00034 #include "util/mathscript.h"
00035 
00036 //=============================================================================
00037 // Local Includes
00038 //=============================================================================
00039 
00040 //used for testing the degree of hardcoding of skills
00041 //typedef int PSSKILL;
00042 //#define PSSKILL_NONE -1
00043 
00044 enum PSSKILL
00045 {
00046     PSSKILL_NONE            =   -1,
00047     PSSKILL_LIGHTARMOR      =   7,
00048     PSSKILL_MEDIUMARMOR     =   8,
00049     PSSKILL_HEAVYARMOR      =   9,
00050     PSSKILL_AGI             =   46,
00051     PSSKILL_CHA             =   47,
00052     PSSKILL_END             =   48,
00053     PSSKILL_INT             =   49,
00054     PSSKILL_STR             =   50,
00055     PSSKILL_WILL            =   51,
00056 };
00057 //These flags define the possible skills categories
00058 enum PSSKILLS_CATEGORY
00059 {
00060     PSSKILLS_CATEGORY_STATS = 0,//Intelligence, Charisma, etc.
00061     PSSKILLS_CATEGORY_COMBAT,
00062     PSSKILLS_CATEGORY_MAGIC,
00063     PSSKILLS_CATEGORY_JOBS,        //Crafting, mining, etc.
00064     PSSKILLS_CATEGORY_VARIOUS,
00065     PSSKILLS_CATEGORY_FACTIONS
00066 };
00067 
00068 class psSkillInfo
00069 {
00070 public:
00071     psSkillInfo();
00072     ~psSkillInfo();
00073 
00075 //    void *operator new(size_t);
00077 //    void operator delete(void *);
00078 
00079     PSSKILL id;
00080     csString name;
00081     csString description;
00082     int practice_factor;
00083     int mental_factor;
00084     psMoney price;
00085     PSSKILLS_CATEGORY category;
00087     int baseCost;
00088     csString costScript; 
00089 
00090 private:
00092 //    static PoolAllocator<psSkillInfo> skillinfopool;
00093 
00094 };
00095 
00096 
00097 
00098 #endif
00099 
00100