1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2026-01-29 05:11:03 +00:00
openmw/components/esm3/loadingr.hpp
Telvanni 4Life 3e586ed693 Changed IRDTstruct (alchemical ingredient magic effects) to use RefIds instead of int for effectId.
Changed various structs (ENAMstruct, EffectKey, SummonKey) to use RefId instead of strict StringRefId to account for null effects.
2026-01-08 07:33:38 -05:00

47 lines
1.1 KiB
C++

#ifndef OPENMW_ESM_INGR_H
#define OPENMW_ESM_INGR_H
#include <string>
#include "components/esm/defs.hpp"
#include "components/esm/refid.hpp"
namespace ESM
{
class ESMReader;
class ESMWriter;
/*
* Alchemy ingredient
*/
struct Ingredient
{
constexpr static RecNameInts sRecordId = REC_INGR;
/// Return a string descriptor for this record type. Currently used for debugging / error logs only.
static std::string_view getRecordType() { return "Ingredient"; }
struct IRDTstruct
{
float mWeight;
int32_t mValue;
RefId mEffectID[4]; // Effect, EmptyRefId means none
int32_t mSkills[4]; // SkillEnum related to effect
int32_t mAttributes[4]; // Attribute related to effect
};
IRDTstruct mData;
uint32_t mRecordFlags;
RefId mId, mScript;
std::string mName, mModel, mIcon;
void load(ESMReader& esm, bool& isDeleted);
void save(ESMWriter& esm, bool isDeleted = false) const;
void blank();
///< Set record to default state (does not touch the ID).
};
}
#endif