1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-01-04 02:41:19 +00:00
OpenMW/apps/openmw/mwmechanics/setbaseaisetting.hpp
2023-07-08 11:28:56 +02:00

40 lines
1.1 KiB
C++

#ifndef OPENMW_MWMECHANICS_SETBASEAISETTING_H
#define OPENMW_MWMECHANICS_SETBASEAISETTING_H
#include <string>
#include "../mwbase/environment.hpp"
#include "../mwworld/esmstore.hpp"
#include "aisetting.hpp"
namespace MWMechanics
{
template <class T>
void setBaseAISetting(const ESM::RefId& id, MWMechanics::AiSetting setting, int value)
{
T copy = *MWBase::Environment::get().getESMStore()->get<T>().find(id);
switch (setting)
{
case MWMechanics::AiSetting::Hello:
copy.mAiData.mHello = value;
break;
case MWMechanics::AiSetting::Fight:
copy.mAiData.mFight = value;
break;
case MWMechanics::AiSetting::Flee:
copy.mAiData.mFlee = value;
break;
case MWMechanics::AiSetting::Alarm:
copy.mAiData.mAlarm = value;
break;
default:
assert(false);
}
MWBase::Environment::get().getESMStore()->overrideRecord(copy);
}
}
#endif