/* * Arcanum Editor - ROM area editor * Copyright (C) 1999 Lucas Wall <kthulhu@usa.net> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * * * If you make changes to the source and want to make the public you can * mail the diferences to me <kthulhu@usa.net> and I'll add them to the * main distribution. Of course your name will be added to the program with * information about the changes you made. * * * Packed on Thu Aug 19 03:02:04 1999 * */ /* * File: ObjData.h * * Changes: * * 19/08/99 Lucas Wall <kthulhu@usa.net> * First source release. Its quite messy and has no * comments. I never planed to release the source code... :-) * */ // ObjData.h: interface for the CAffectData class. // ////////////////////////////////////////////////////////////////////// #if !defined(AFX_OBJDATA_H__0279EA25_01BC_11D3_803D_00002168229C__INCLUDED_) #define AFX_OBJDATA_H__0279EA25_01BC_11D3_803D_00002168229C__INCLUDED_ #if _MSC_VER >= 1000 #pragma once #endif // _MSC_VER >= 1000 #define AFF_TO_OBJECT 0 #define AFF_TO_AFFECTS 1 #define AFF_TO_IMMUNE 2 #define AFF_TO_RESIST 3 #define AFF_TO_VULN 4 #include "RoomData.h" class CAffectData { public: int m_where; int m_location; int m_modifier; int m_flags; CAffectData(); virtual ~CAffectData(); const CAffectData& operator= ( const CAffectData& affect ); }; class CTrainData { public: int m_room; int m_flags; int m_time; CString m_msg; CString m_msgpart; CTrainData(); virtual ~CTrainData(); const CTrainData& operator= ( const CTrainData& train ); }; class CObjData { public: int m_vnum; CString m_name; CString m_short_descr; CString m_description; CString m_material; int m_item_type; int m_extra_flags; int m_wear_flags; int m_value_num[5]; CString m_value_str[5]; int m_level; int m_weight; int m_cost; CString m_condition; CArray< CAffectData*, CAffectData* > m_affdata; CArray< CExtraDescr*, CExtraDescr* > m_extradescr; CArray< CTrainData*, CTrainData* > m_traindata; CObjData(); virtual ~CObjData(); }; extern void AFXAPI DestructElements <CAffectData*> ( CAffectData** pElements, int nCount ); extern void AFXAPI DestructElements <CTrainData*> ( CTrainData** pElements, int nCount ); #endif // !defined(AFX_OBJDATA_H__0279EA25_01BC_11D3_803D_00002168229C__INCLUDED_)