6 const string NWNX_Effect =
"NWNX_Effect";
151 n.sTag = NWNXPopString();
153 n.vParam1 = NWNXPopVector();
154 n.vParam0 = NWNXPopVector();
155 n.oParam3 = NWNXPopObject();
156 n.oParam2 = NWNXPopObject();
157 n.oParam1 = NWNXPopObject();
158 n.oParam0 = NWNXPopObject();
159 n.sParam5 = NWNXPopString();
160 n.sParam4 = NWNXPopString();
161 n.sParam3 = NWNXPopString();
162 n.sParam2 = NWNXPopString();
163 n.sParam1 = NWNXPopString();
164 n.sParam0 = NWNXPopString();
165 n.fParam3 = NWNXPopFloat();
166 n.fParam2 = NWNXPopFloat();
167 n.fParam1 = NWNXPopFloat();
168 n.fParam0 = NWNXPopFloat();
169 n.nParam7 = NWNXPopInt();
170 n.nParam6 = NWNXPopInt();
171 n.nParam5 = NWNXPopInt();
172 n.nParam4 = NWNXPopInt();
173 n.nParam3 = NWNXPopInt();
174 n.nParam2 = NWNXPopInt();
175 n.nParam1 = NWNXPopInt();
176 n.nParam0 = NWNXPopInt();
177 n.nNumIntegers = NWNXPopInt();
181 n.bLinkRightValid = NWNXPopInt();
182 n.eLinkRight = NWNXPopEffect();
183 n.bLinkLeftValid = NWNXPopInt();
184 n.eLinkLeft = NWNXPopEffect();
188 n.bLinkRightValid = FALSE;
189 n.bLinkLeftValid = FALSE;
192 n.nCasterLevel = NWNXPopInt();
193 n.bShowIcon = NWNXPopInt();
194 n.bExpose = NWNXPopInt();
195 n.nSpellId = NWNXPopInt();
196 n.oCreator = NWNXPopObject();
198 n.nExpiryTimeOfDay = NWNXPopInt();
199 n.nExpiryCalendarDay = NWNXPopInt();
200 n.fDuration = NWNXPopFloat();
202 n.nSubType = NWNXPopInt();
203 n.nType = NWNXPopInt();
204 n.sID = NWNXPopString();
212 NWNXPushInt(e.
nType);
261 NWNXPushString(e.
sTag);
269 NWNXCall(NWNX_Effect,
"UnpackEffect");
275 NWNXCall(NWNX_Effect,
"PackEffect");
276 return NWNXPopEffect();
281 NWNXPushEffect(eNew);
282 NWNXPushEffect(eOld);
284 NWNXCall(NWNX_Effect,
"ReplaceEffect");
290 NWNXPushObject(oObject);
291 NWNXCall(NWNX_Effect,
"GetTrueEffectCount");
298 NWNXPushObject(oObject);
299 NWNXCall(NWNX_Effect,
"GetTrueEffect");
307 NWNXPushObject(oObject);
308 NWNXCall(NWNX_Effect,
"ReplaceEffectByIndex");
314 NWNXPushObject(oObject);
315 NWNXCall(NWNX_Effect,
"RemoveEffectById");
321 NWNXPushObject(oObject);
322 NWNXPushEffect(eEffect);
323 NWNXCall(NWNX_Effect,
"Apply");
328 NWNXPushObject(oObject);
329 NWNXPushEffect(eEffect);
330 NWNXCall(NWNX_Effect,
"SetEffectCreator");
331 return NWNXPopEffect();
336 NWNXPushEffect(eEffect);
337 NWNXCall(NWNX_Effect,
"GetIsEffectValid");
343 NWNXPushObject(oObject);
344 NWNXCall(NWNX_Effect,
"GetAppliedEffectCount");
351 NWNXPushObject(oObject);
352 NWNXCall(NWNX_Effect,
"GetAppliedEffect");
353 return NWNXPopEffect();
int NWNX_Effect_GetIsEffectValid(effect eEffect)
Checks if the given effect is valid. Unlike the game builtin, this call considers internal types too.
void NWNX_Effect_Apply(effect eEffect, object oObject)
Applys an effect, bypassing any processing done by ApplyEffectToObject.
struct NWNX_EffectUnpacked NWNX_Effect_UnpackEffect(effect e)
Convert native effect type to unpacked structure.
struct NWNX_EffectUnpacked NWNX_Effect_GetTrueEffect(object oObject, int nIndex)
Gets a specific effect on an object. This can grab effects normally hidden from developers,...
int NWNX_Effect_GetAppliedEffectCount(object oObject)
Returns the number of applied effects on the given object.
int NWNX_Effect_RemoveEffectById(object oObject, string sID)
Removes effect by ID.
effect NWNX_Effect_GetAppliedEffect(object oObject, int nNth)
Returns the nNth applied effect on a object.
effect NWNX_Effect_PackEffect(struct NWNX_EffectUnpacked e)
Convert unpacked effect structure to native type.
effect NWNX_Effect_SetEffectCreator(effect eEffect, object oObject)
Sets an effect creator.
int NWNX_Effect_ReplaceEffect(object obj, effect eOld, effect eNew)
replace an already applied effect on an object Only duration, subtype, tag and spell related fields c...
int NWNX_Effect_GetTrueEffectCount(object oObject)
Gets the true effect count.
void NWNX_Effect_ReplaceEffectByIndex(object oObject, int nIndex, struct NWNX_EffectUnpacked e)
Replaces an already applied effect with another.
const int DURATION_TYPE_INNATE
const int DURATION_TYPE_EQUIPPED
struct NWNX_EffectUnpacked __NWNX_Effect_ResolveUnpack(int bLink=TRUE)
void __NWNX_Effect_ResolvePack(struct NWNX_EffectUnpacked e, int bReplace=FALSE)