/// <summary> /// Gets the player's quickbar slot info /// </summary> /// <param name="player"></param> /// <param name="slot"></param> /// <returns></returns> public static QuickBarSlot GetQuickBarSlot(NWGameObject player, int slot) { string sFunc = "GetQuickBarSlot"; QuickBarSlot qbs = new QuickBarSlot(); NWNXCore.NWNX_PushArgumentInt(NWNX_Player, sFunc, slot); NWNXCore.NWNX_PushArgumentObject(NWNX_Player, sFunc, player); NWNXCore.NWNX_CallFunction(NWNX_Player, sFunc); qbs.Associate = (NWNXCore.NWNX_GetReturnValueObject(NWNX_Player, sFunc)); qbs.AssociateType = NWNXCore.NWNX_GetReturnValueInt(NWNX_Player, sFunc); qbs.DomainLevel = NWNXCore.NWNX_GetReturnValueInt(NWNX_Player, sFunc); qbs.MetaType = NWNXCore.NWNX_GetReturnValueInt(NWNX_Player, sFunc); qbs.INTParam1 = NWNXCore.NWNX_GetReturnValueInt(NWNX_Player, sFunc); qbs.ToolTip = NWNXCore.NWNX_GetReturnValueString(NWNX_Player, sFunc); qbs.CommandLine = NWNXCore.NWNX_GetReturnValueString(NWNX_Player, sFunc); qbs.CommandLabel = NWNXCore.NWNX_GetReturnValueString(NWNX_Player, sFunc); qbs.Resref = NWNXCore.NWNX_GetReturnValueString(NWNX_Player, sFunc); qbs.MultiClass = NWNXCore.NWNX_GetReturnValueInt(NWNX_Player, sFunc); qbs.ObjectType = (QuickBarSlotType)NWNXCore.NWNX_GetReturnValueInt(NWNX_Player, sFunc); qbs.SecondaryItem = (NWNXCore.NWNX_GetReturnValueObject(NWNX_Player, sFunc)); qbs.Item = (NWNXCore.NWNX_GetReturnValueObject(NWNX_Player, sFunc)); return(qbs); }
/// <summary> /// Get Attack Event Data (to use only on Attack Event Script) /// </summary> /// <returns></returns> public static AttackEventData GetAttackEventData() { string sFunc = "GetAttackEventData"; AttackEventData data = new AttackEventData(); NWNXCore.NWNX_CallFunction(NWNX_Damage, sFunc); data.Target = NWNXCore.NWNX_GetReturnValueObject(NWNX_Damage, sFunc); data.Bludgeoning = NWNXCore.NWNX_GetReturnValueInt(NWNX_Damage, sFunc); data.Pierce = NWNXCore.NWNX_GetReturnValueInt(NWNX_Damage, sFunc); data.Slash = NWNXCore.NWNX_GetReturnValueInt(NWNX_Damage, sFunc); data.Magical = NWNXCore.NWNX_GetReturnValueInt(NWNX_Damage, sFunc); data.Acid = NWNXCore.NWNX_GetReturnValueInt(NWNX_Damage, sFunc); data.Cold = NWNXCore.NWNX_GetReturnValueInt(NWNX_Damage, sFunc); data.Divine = NWNXCore.NWNX_GetReturnValueInt(NWNX_Damage, sFunc); data.Electrical = NWNXCore.NWNX_GetReturnValueInt(NWNX_Damage, sFunc); data.Fire = NWNXCore.NWNX_GetReturnValueInt(NWNX_Damage, sFunc); data.Negative = NWNXCore.NWNX_GetReturnValueInt(NWNX_Damage, sFunc); data.Positive = NWNXCore.NWNX_GetReturnValueInt(NWNX_Damage, sFunc); data.Sonic = NWNXCore.NWNX_GetReturnValueInt(NWNX_Damage, sFunc); data.Base = NWNXCore.NWNX_GetReturnValueInt(NWNX_Damage, sFunc); data.AttackNumber = NWNXCore.NWNX_GetReturnValueInt(NWNX_Damage, sFunc); data.AttackResult = NWNXCore.NWNX_GetReturnValueInt(NWNX_Damage, sFunc); data.AttackType = NWNXCore.NWNX_GetReturnValueInt(NWNX_Damage, sFunc); data.SneakAttack = NWNXCore.NWNX_GetReturnValueInt(NWNX_Damage, sFunc); return(data); }
/// <summary> /// Get the effect creator of NWNX_Effect_SetEffectExpiredScript() /// THIS SHOULD ONLY BE CALLED FROM WITHIN A SCRIPT THAT WAS EXECUTED BY NWNX_Effect_SetEffectExpiredScript() /// </summary> /// <returns></returns> public static NWGameObject GetEffectExpiredCreator() { string sFunc = "GetEffectExpiredCreator"; NWNXCore.NWNX_CallFunction(NWNX_Effect, sFunc); return(NWNXCore.NWNX_GetReturnValueObject(NWNX_Effect, sFunc)); }
/// <summary> /// Gets the creature that last left area /// </summary> /// <param name="area"></param> /// <returns></returns> public static NWGameObject GetLastLeft(NWGameObject area) { string sFunc = "GetLastLeft"; NWNXCore.NWNX_PushArgumentObject(NWNX_Area, sFunc, area); NWNXCore.NWNX_CallFunction(NWNX_Area, sFunc); return(NWNXCore.NWNX_GetReturnValueObject(NWNX_Area, sFunc)); }
/// <summary> /// Convert native effect type to unpacked structure /// </summary> /// <param name="effect"></param> /// <returns></returns> public static EffectUnpacked UnpackEffect(Effect effect) { string sFunc = "UnpackEffect"; NWNXCore.NWNX_PushArgumentEffect(NWNX_Effect, sFunc, effect); NWNXCore.NWNX_CallFunction(NWNX_Effect, sFunc); EffectUnpacked n = new EffectUnpacked { Tag = NWNXCore.NWNX_GetReturnValueString(NWNX_Effect, sFunc), oParam3 = NWNXCore.NWNX_GetReturnValueObject(NWNX_Effect, sFunc), oParam2 = NWNXCore.NWNX_GetReturnValueObject(NWNX_Effect, sFunc), oParam1 = NWNXCore.NWNX_GetReturnValueObject(NWNX_Effect, sFunc), oParam0 = NWNXCore.NWNX_GetReturnValueObject(NWNX_Effect, sFunc), sParam5 = NWNXCore.NWNX_GetReturnValueString(NWNX_Effect, sFunc), sParam4 = NWNXCore.NWNX_GetReturnValueString(NWNX_Effect, sFunc), sParam3 = NWNXCore.NWNX_GetReturnValueString(NWNX_Effect, sFunc), sParam2 = NWNXCore.NWNX_GetReturnValueString(NWNX_Effect, sFunc), sParam1 = NWNXCore.NWNX_GetReturnValueString(NWNX_Effect, sFunc), sParam0 = NWNXCore.NWNX_GetReturnValueString(NWNX_Effect, sFunc), fParam3 = NWNXCore.NWNX_GetReturnValueFloat(NWNX_Effect, sFunc), fParam2 = NWNXCore.NWNX_GetReturnValueFloat(NWNX_Effect, sFunc), fParam1 = NWNXCore.NWNX_GetReturnValueFloat(NWNX_Effect, sFunc), fParam0 = NWNXCore.NWNX_GetReturnValueFloat(NWNX_Effect, sFunc), nParam7 = NWNXCore.NWNX_GetReturnValueInt(NWNX_Effect, sFunc), nParam6 = NWNXCore.NWNX_GetReturnValueInt(NWNX_Effect, sFunc), nParam5 = NWNXCore.NWNX_GetReturnValueInt(NWNX_Effect, sFunc), nParam4 = NWNXCore.NWNX_GetReturnValueInt(NWNX_Effect, sFunc), nParam3 = NWNXCore.NWNX_GetReturnValueInt(NWNX_Effect, sFunc), nParam2 = NWNXCore.NWNX_GetReturnValueInt(NWNX_Effect, sFunc), nParam1 = NWNXCore.NWNX_GetReturnValueInt(NWNX_Effect, sFunc), nParam0 = NWNXCore.NWNX_GetReturnValueInt(NWNX_Effect, sFunc), NumIntegers = NWNXCore.NWNX_GetReturnValueInt(NWNX_Effect, sFunc), LinkRightValid = NWNXCore.NWNX_GetReturnValueInt(NWNX_Effect, sFunc), LinkRight = NWNXCore.NWNX_GetReturnValueEffect(NWNX_Effect, sFunc), LinkLeftValid = NWNXCore.NWNX_GetReturnValueInt(NWNX_Effect, sFunc), LinkLeft = NWNXCore.NWNX_GetReturnValueEffect(NWNX_Effect, sFunc), CasterLevel = NWNXCore.NWNX_GetReturnValueInt(NWNX_Effect, sFunc), ShowIcon = NWNXCore.NWNX_GetReturnValueInt(NWNX_Effect, sFunc), Expose = NWNXCore.NWNX_GetReturnValueInt(NWNX_Effect, sFunc), SpellID = NWNXCore.NWNX_GetReturnValueInt(NWNX_Effect, sFunc), Creator = NWNXCore.NWNX_GetReturnValueObject(NWNX_Effect, sFunc), ExpiryTimeOfDay = NWNXCore.NWNX_GetReturnValueInt(NWNX_Effect, sFunc), ExpiryCalendarDay = NWNXCore.NWNX_GetReturnValueInt(NWNX_Effect, sFunc), Duration = NWNXCore.NWNX_GetReturnValueFloat(NWNX_Effect, sFunc), SubType = NWNXCore.NWNX_GetReturnValueInt(NWNX_Effect, sFunc), Type = NWNXCore.NWNX_GetReturnValueInt(NWNX_Effect, sFunc), EffectID = NWNXCore.NWNX_GetReturnValueInt(NWNX_Effect, sFunc) }; return(n); }
public static DevastatingCriticalData GetDevastatingCriticalEventData() { string sFunc = "GetEventData"; DevastatingCriticalData data = new DevastatingCriticalData(); NWNXCore.NWNX_PushArgumentInt(NWNX_Weapon, sFunc, NWNX_WEAPON_GETDATA_DC); NWNXCore.NWNX_CallFunction(NWNX_Weapon, sFunc); data.Weapon = NWNXCore.NWNX_GetReturnValueObject(NWNX_Weapon, sFunc); data.Target = NWNXCore.NWNX_GetReturnValueObject(NWNX_Weapon, sFunc); data.Damage = NWNXCore.NWNX_GetReturnValueInt(NWNX_Weapon, sFunc); return(data); }
/// <summary> /// Create and returns a transition (square shaped of specified size) at a location /// Valid object types for the target are DOOR or WAYPOINT. /// If a tag is specified the returning object will have that tag /// </summary> /// <param name="area"></param> /// <param name="target"></param> /// <param name="x"></param> /// <param name="y"></param> /// <param name="z"></param> /// <param name="size"></param> /// <param name="tag"></param> /// <returns></returns> public static NWGameObject CreateTransition(NWGameObject area, NWGameObject target, float x, float y, float z, float size = 2.0f, string tag = "") { string sFunc = "CreateTransition"; NWNXCore.NWNX_PushArgumentString(NWNX_Area, sFunc, tag); NWNXCore.NWNX_PushArgumentFloat(NWNX_Area, sFunc, size); NWNXCore.NWNX_PushArgumentFloat(NWNX_Area, sFunc, z); NWNXCore.NWNX_PushArgumentFloat(NWNX_Area, sFunc, y); NWNXCore.NWNX_PushArgumentFloat(NWNX_Area, sFunc, x); NWNXCore.NWNX_PushArgumentObject(NWNX_Area, sFunc, target); NWNXCore.NWNX_PushArgumentObject(NWNX_Area, sFunc, area); NWNXCore.NWNX_CallFunction(NWNX_Area, sFunc); return(NWNXCore.NWNX_GetReturnValueObject(NWNX_Area, sFunc)); }
/// <summary> /// Get Damage Event Data (to use only on Damage Event Script) /// </summary> /// <returns></returns> public static DamageEventData GetDamageEventData() { string sFunc = "GetDamageEventData"; DamageEventData data = new DamageEventData(); NWNXCore.NWNX_CallFunction(NWNX_Damage, sFunc); data.Damager = NWNXCore.NWNX_GetReturnValueObject(NWNX_Damage, sFunc); data.Bludgeoning = NWNXCore.NWNX_GetReturnValueInt(NWNX_Damage, sFunc); data.Pierce = NWNXCore.NWNX_GetReturnValueInt(NWNX_Damage, sFunc); data.Slash = NWNXCore.NWNX_GetReturnValueInt(NWNX_Damage, sFunc); data.Magical = NWNXCore.NWNX_GetReturnValueInt(NWNX_Damage, sFunc); data.Acid = NWNXCore.NWNX_GetReturnValueInt(NWNX_Damage, sFunc); data.Cold = NWNXCore.NWNX_GetReturnValueInt(NWNX_Damage, sFunc); data.Divine = NWNXCore.NWNX_GetReturnValueInt(NWNX_Damage, sFunc); data.Electrical = NWNXCore.NWNX_GetReturnValueInt(NWNX_Damage, sFunc); data.Fire = NWNXCore.NWNX_GetReturnValueInt(NWNX_Damage, sFunc); data.Negative = NWNXCore.NWNX_GetReturnValueInt(NWNX_Damage, sFunc); data.Positive = NWNXCore.NWNX_GetReturnValueInt(NWNX_Damage, sFunc); data.Sonic = NWNXCore.NWNX_GetReturnValueInt(NWNX_Damage, sFunc); data.Base = NWNXCore.NWNX_GetReturnValueInt(NWNX_Damage, sFunc); return(data); }
// Gets the target. May be OBJECT_INVALID if no target. // Must be called from an chat or system script handler. public static NWGameObject GetTarget() { NWNXCore.NWNX_CallFunction("NWNX_Chat", "GET_TARGET"); return(NWNXCore.NWNX_GetReturnValueObject("NWNX_Chat", "GET_TARGET")); }
// Gets the sender. // Must be called from an chat or system script handler. public static NWGameObject GetSender() { NWNXCore.NWNX_CallFunction("NWNX_Chat", "GET_SENDER"); return(NWNXCore.NWNX_GetReturnValueObject("NWNX_Chat", "GET_SENDER")); }