/// <summary> /// Creates a visual beam effect. /// </summary> /// <param name="fxType">The beam effect to render.</param> /// <param name="emitter">The origin object of this beam .</param> /// <param name="origin">The origin body part of this beam.</param> /// <param name="missTarget">If true, the beam will hit a random position near or past the applied target to indicate a miss.</param> public static Effect Beam(VfxType fxType, NwGameObject emitter, BodyNode origin, bool missTarget = false) => NWScript.EffectBeam((int)fxType, emitter, (int)origin, missTarget.ToInt());
/// <summary> /// Sets how this standard faction feels about the specified creature.<br/> /// -> 0-10 means this faction is hostile to the target.<br/> /// -> 11-89 means this faction is neutral to the target.<br/> /// -> 90-100 means this faction is friendly to the target. /// </summary> /// <param name="faction">The source faction.</param> /// <param name="target">The target object.</param> /// <param name="newReputation">A value between 0-100 (inclusive).</param> public static void SetReputation(this StandardFaction faction, NwGameObject target, int newReputation) => NWScript.SetStandardFactionReputation((int)faction, newReputation, target);
/// <summary> /// Gets an integer between 0 and 100 (inclusive) that represents how this faction feels about the specified target.<br/> /// -> 0-10 means this faction is hostile to the target<br/> /// -> 11-89 means this faction is neutral to the target<br/> /// -> 90-100 means this faction is friendly to the target. /// </summary> /// <param name="faction">The source faction.</param> /// <param name="target">The target object.</param> /// <returns>0-100 (inclusive) based on the standing of the target within this standard faction.</returns> public static int GetReputation(this StandardFaction faction, NwGameObject target) => NWScript.GetStandardFactionReputation((int)faction, target);
private static void SetValue(NwGameObject obj, VisualTransformProperty prop, float value) => NWScript.SetObjectVisualTransform(obj, (int)prop, value);
private static float GetValue(NwGameObject obj, VisualTransformProperty prop) => NWScript.GetObjectVisualTransform(obj, (int)prop);
internal NwFaction(NwGameObject gameObject) { this.GameObject = gameObject; }