PoA_PRC8/_module/_removed files/nwnx_effect_t.nss
Jaysyn904 151d074880 Added "Removed Files" folder
Added "Removed Files" folder in case we needed to review any of them.
2022-10-10 10:39:34 -04:00

81 lines
3.5 KiB
Plaintext

#include "nwnx_effect"
#include "nwnx_tests"
void printeff(struct NWNX_EffectUnpacked n)
{
string s = "Unpacked effect: \n";
s += "nType = " + IntToString(n.nType) + "\n";
s += "nSubType = " + IntToString(n.nSubType) + "\n";
s += "fDuration = " + FloatToString(n.fDuration) + "\n";
s += "nExpiryCalendarDay = " + IntToString(n.nExpiryCalendarDay) + "\n";
s += "nExpiryTimeOfDay = " + IntToString(n.nExpiryTimeOfDay) + "\n";
s += "oCreator = " + ObjectToString(n.oCreator) + "\n";
s += "nSpellId = " + IntToString(n.nSpellId) + "\n";
s += "bExpose = " + IntToString(n.bExpose) + "\n";
s += "bShowIcon = " + IntToString(n.bShowIcon) + "\n";
s += "nCasterLevel = " + IntToString(n.nCasterLevel) + "\n";
s += "bLinkLeftValid = " + IntToString(n.bLinkLeftValid) + "\n";
struct NWNX_EffectUnpacked link = NWNX_Effect_UnpackEffect(n.eLinkLeft);
s += "bLinkLeft (nType) = " + IntToString(link.nType) + "\n";
s += "bLinkRightValid = " + IntToString(n.bLinkRightValid) + "\n";
link = NWNX_Effect_UnpackEffect(n.eLinkRight);
s += "bLinkRight (nType) = " + IntToString(link.nType) + "\n";
s += "nNumIntegers = " + IntToString(n.nNumIntegers) + "\n";
s += "nParam0 = " + IntToString(n.nParam0) + "\n";
s += "nParam1 = " + IntToString(n.nParam1) + "\n";
s += "nParam2 = " + IntToString(n.nParam2) + "\n";
s += "nParam3 = " + IntToString(n.nParam3) + "\n";
s += "nParam4 = " + IntToString(n.nParam4) + "\n";
s += "nParam5 = " + IntToString(n.nParam5) + "\n";
s += "nParam6 = " + IntToString(n.nParam6) + "\n";
s += "nParam7 = " + IntToString(n.nParam7) + "\n";
s += "fParam0 = " + FloatToString(n.fParam0) + "\n";
s += "fParam1 = " + FloatToString(n.fParam1) + "\n";
s += "fParam2 = " + FloatToString(n.fParam2) + "\n";
s += "fParam3 = " + FloatToString(n.fParam3) + "\n";
s += "sParam0 = " + "'" + n.sParam0 + "'" + "\n";
s += "sParam1 = " + "'" + n.sParam1 + "'" + "\n";
s += "sParam2 = " + "'" + n.sParam2 + "'" + "\n";
s += "sParam3 = " + "'" + n.sParam3 + "'" + "\n";
s += "sParam4 = " + "'" + n.sParam4 + "'" + "\n";
s += "sParam5 = " + "'" + n.sParam5 + "'" + "\n";
s += "oParam0 = " + ObjectToString(n.oParam0) + "\n";
s += "oParam1 = " + ObjectToString(n.oParam1) + "\n";
s += "oParam2 = " + ObjectToString(n.oParam2) + "\n";
s += "oParam3 = " + ObjectToString(n.oParam3) + "\n";
s += "sTag = " + "'" + n.sTag + "'" + "\n";
WriteTimestampedLogEntry(s);
}
void main()
{
WriteTimestampedLogEntry("NWNX_Effect unit test begin..");
effect eCurse = EffectCurse(1, 2, 3, 4, 5, 6);
effect eVis = EffectVisualEffect(VFX_DUR_PROT_STONESKIN);
effect e = EffectLinkEffects(eCurse, eVis);
e = TagEffect(e, "NWNX_EFFECT_TEST");
struct NWNX_EffectUnpacked unpacked = NWNX_Effect_UnpackEffect(e);
printeff(unpacked);
NWNX_Tests_Report("NWNX_Effect", "UnpackEffect", unpacked.sTag == "NWNX_EFFECT_TEST");
effect packed = NWNX_Effect_PackEffect(unpacked);
NWNX_Tests_Report("NWNX_Effect", "PackEffect", GetEffectTag(packed) == "NWNX_EFFECT_TEST");
object oCreature = CreateObject(OBJECT_TYPE_CREATURE, "nw_chicken", GetStartingLocation());
ApplyEffectToObject(DURATION_TYPE_PERMANENT, packed, oCreature);
e = NWNX_Effect_SetEffectExpiredScript(EffectDarkness(), "effect_test");
unpacked = NWNX_Effect_UnpackEffect(e);
NWNX_Tests_Report("NWNX_Effect", "SetEffectExpiredScript", unpacked.sParam4 == "effect_test");
WriteTimestampedLogEntry("NWNX_Effect unit test end.");
}