mirror of
				https://github.com/OpenMW/openmw.git
				synced 2025-11-03 23:26:40 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			52 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
#ifndef _ESM_MGEF_H
 | 
						|
#define _ESM_MGEF_H
 | 
						|
 | 
						|
#include "esm_reader.hpp"
 | 
						|
 | 
						|
namespace ESM
 | 
						|
{
 | 
						|
 | 
						|
struct MagicEffect
 | 
						|
{
 | 
						|
    enum Flags
 | 
						|
    {
 | 
						|
        NoDuration = 0x4,
 | 
						|
        SpellMaking = 0x0200,
 | 
						|
        Enchanting = 0x0400,
 | 
						|
        Negative = 0x0800 // A harmful effect. Will determine whether
 | 
						|
                          // eg. NPCs regard this spell as an attack.
 | 
						|
    };
 | 
						|
 | 
						|
    struct MEDTstruct
 | 
						|
    {
 | 
						|
        int school; // SpellSchool, see defs.hpp
 | 
						|
        float baseCost;
 | 
						|
        int flags;
 | 
						|
        // Properties of the fired magic 'ball' I think
 | 
						|
        int red, blue, green;
 | 
						|
        float speed, size, sizeCap;
 | 
						|
    }; // 36 bytes
 | 
						|
 | 
						|
    MEDTstruct data;
 | 
						|
 | 
						|
    std::string icon, particle, // Textures
 | 
						|
            casting, hit, area, // Statics
 | 
						|
            bolt, // Weapon
 | 
						|
            castSound, boltSound, hitSound, areaSound, // Sounds
 | 
						|
            description;
 | 
						|
 | 
						|
    // Index of this magical effect. Corresponds to one of the
 | 
						|
    // hard-coded effects in the original engine:
 | 
						|
    // 0-136 in Morrowind
 | 
						|
    // 137 in Tribunal
 | 
						|
    // 138-140 in Bloodmoon (also changes 64?)
 | 
						|
    // 141-142 are summon effects introduced in bloodmoon, but not used
 | 
						|
    // there. They can be redefined in mods by setting the name in GMST
 | 
						|
    // sEffectSummonCreature04/05 creature id in
 | 
						|
    // sMagicCreature04ID/05ID.
 | 
						|
    int index;
 | 
						|
 | 
						|
    void load(ESMReader &esm);
 | 
						|
};
 | 
						|
}
 | 
						|
#endif
 |