mirror of
				https://github.com/OpenMW/openmw.git
				synced 2025-10-31 18:56:38 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			66 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			66 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| #ifndef _ESM_CLAS_H
 | |
| #define _ESM_CLAS_H
 | |
| 
 | |
| #include "esm_reader.hpp"
 | |
| 
 | |
| namespace ESM
 | |
| {
 | |
| 
 | |
| /*
 | |
|  * Character class definitions
 | |
|  */
 | |
| 
 | |
| // These flags tells us which items should be auto-calculated for this
 | |
| // class
 | |
| struct Class
 | |
| {
 | |
|     enum AutoCalc
 | |
|     {
 | |
|         Weapon = 0x00001,
 | |
|         Armor = 0x00002,
 | |
|         Clothing = 0x00004,
 | |
|         Books = 0x00008,
 | |
|         Ingredient = 0x00010,
 | |
|         Lockpick = 0x00020,
 | |
|         Probe = 0x00040,
 | |
|         Lights = 0x00080,
 | |
|         Apparatus = 0x00100,
 | |
|         Repair = 0x00200,
 | |
|         Misc = 0x00400,
 | |
|         Spells = 0x00800,
 | |
|         MagicItems = 0x01000,
 | |
|         Potions = 0x02000,
 | |
|         Training = 0x04000,
 | |
|         Spellmaking = 0x08000,
 | |
|         Enchanting = 0x10000,
 | |
|         RepairItem = 0x20000
 | |
|     };
 | |
| 
 | |
|     enum Specialization
 | |
|     {
 | |
|         Combat = 0,
 | |
|         Magic = 1,
 | |
|         Stealth = 2
 | |
|     };
 | |
| 
 | |
|     static const Specialization specializationIds[3];
 | |
|     static const char *gmstSpecializationIds[3];
 | |
| 
 | |
|     struct CLDTstruct
 | |
|     {
 | |
|         int attribute[2]; // Attributes that get class bonus
 | |
|         int specialization; // 0 = Combat, 1 = Magic, 2 = Stealth
 | |
|         int skills[5][2]; // Minor and major skills.
 | |
|         int isPlayable; // 0x0001 - Playable class
 | |
| 
 | |
|         // I have no idea how to autocalculate these items...
 | |
|         int calc;
 | |
|     }; // 60 bytes
 | |
| 
 | |
|     std::string name, description;
 | |
|     CLDTstruct data;
 | |
| 
 | |
|     void load(ESMReader &esm);
 | |
| };
 | |
| }
 | |
| #endif
 |