void SetFlag(eFlags flag, bool enable) { if (enable) m_flag |= (int)flag; else m_flag &= ~(int)flag; }
protected override void SetModel() { if (!ServerProperties.Properties.AUTOMODEL_GUARDS_LOADED_FROM_DB && !LoadedFromScript) { return; } switch (Realm) { case eRealm.None: case eRealm.Albion: { Model = (ushort)eLivingModel.AlbionHastener; Size = 45; break; } case eRealm.Midgard: { Model = (ushort)eLivingModel.MidgardHastener; Size = 50; Flags ^= eFlags.GHOST; break; } case eRealm.Hibernia: { Model = (ushort)eLivingModel.HiberniaHastener; Size = 45; break; } } return; }
void SetFlag(eFlags flag, bool enable) { if (enable) { m_flag |= (int)flag; } else { m_flag &= ~(int)flag; } }
bool GetFlag(eFlags flag) { return(((int)m_flag & (int)flag) > 0); }
/// <summary> /// Constructs a NPC /// </summary> public GameNPC() : base() { Level = 1; // health changes when GameNPC.Level changes m_Realm = 0; m_name = "new mob"; m_model = 408; //Fill the living variables // CurrentSpeed = 0; // cause position addition recalculation MaxSpeedBase = 200; GuildName = ""; m_brainSync = m_brains.SyncRoot; m_followTarget = new WeakRef(null); m_size = 50; //Default size TargetPosition = new Point3D(); m_followMinDist = 100; m_followMaxDist = 3000; m_flags = 0; m_maxdistance = 0; m_roamingRange = 0; // default to non roaming - tolakram m_ownerID = ""; if ( m_spawnPoint == null ) m_spawnPoint = new Point3D(); //m_factionName = ""; LinkedFactions = new ArrayList(1); if (m_ownBrain == null) { m_ownBrain = new StandardMobBrain(); m_ownBrain.Body = this; } }
public sAttributeScreen(XmlNode node) : base(node) { if (node == null) { return; } pZPosition = -100; if (node.Attributes["title"] != null) { pTitle = node.Attributes["title"].Value; } if (node.Attributes["flags"] != null) { switch (node.Attributes["flags"].Value) { case "wfNoBorder": pFlags = eFlags.wfNoBorder; break; case "wfBorder": default: pFlags = eFlags.wfBorder; break; } } pWindowStyle = (sWindowStyle)cDataBase.pWindowstyles.get(); if (node.Attributes["backgroundColor"] != null) { pBackgroundColor = (sColor)cDataBase.pColors.get(node.Attributes["backgroundColor"].Value); } else if (node.Name == "screen" && node.Attributes["position"] == null) { pBackgroundColor = (sColor)cDataBase.pColors.get("transparent"); } else { pBackgroundColor = (sColor)pWindowStyle.pColors["Background"]; } if (node.Attributes["labelforeground"] != null) { pTitle = node.Attributes["labelforeground"].Value; } else { pLabelForegroundColor = (sColor)pWindowStyle.pColors["LabelForeground"]; } pTitleFont = pWindowStyle.pFont; pTitleSize = pWindowStyle.pTitleSize * (((float)pTitleFont.Scale) / 100.0F); pTitleXOff = pWindowStyle.pXOff; pTitleYOff = pWindowStyle.pYOff; /*pbpTopLeft = ((sWindowStyle.sBorderSet)pWindowStyle.pBorderSets["bsWindow"]).pbpTopLeft; * pbpTop = ((sWindowStyle.sBorderSet)pWindowStyle.pBorderSets["bsWindow"]).pbpTop; * pbpTopRight = ((sWindowStyle.sBorderSet)pWindowStyle.pBorderSets["bsWindow"]).pbpTopRight; * pbpLeft = ((sWindowStyle.sBorderSet)pWindowStyle.pBorderSets["bsWindow"]).pbpLeft; * pbpRight = ((sWindowStyle.sBorderSet)pWindowStyle.pBorderSets["bsWindow"]).pbpRight; * pbpBottomLeft = ((sWindowStyle.sBorderSet)pWindowStyle.pBorderSets["bsWindow"]).pbpBottomLeft; * pbpBottom = ((sWindowStyle.sBorderSet)pWindowStyle.pBorderSets["bsWindow"]).pbpBottom; * pbpBottomRight = ((sWindowStyle.sBorderSet)pWindowStyle.pBorderSets["bsWindow"]).pbpBottomRight;*/ sWindowStyle style = (sWindowStyle)cDataBase.pWindowstyles.get(); sWindowStyle.sBorderSet borderset = (sWindowStyle.sBorderSet)style.pBorderSets["bsWindow"]; if (borderset != null) { if (borderset.pbpTopLeftName.Length > 0) { pbpTopLeftName = borderset.pbpTopLeftName; pbpTopLeft = borderset.pbpTopLeft; } if (borderset.pbpTopName.Length > 0) { pbpTopName = borderset.pbpTopName; pbpTop = borderset.pbpTop; } if (borderset.pbpTopRightName.Length > 0) { pbpTopRightName = borderset.pbpTopRightName; pbpTopRight = borderset.pbpTopRight; } if (borderset.pbpLeftName.Length > 0) { pbpLeftName = borderset.pbpLeftName; pbpLeft = borderset.pbpLeft; } if (borderset.pbpRightName.Length > 0) { pbpRightName = borderset.pbpRightName; pbpRight = borderset.pbpRight; } if (borderset.pbpBottomLeftName.Length > 0) { pbpBottomLeftName = borderset.pbpBottomLeftName; pbpBottomLeft = borderset.pbpBottomLeft; } if (borderset.pbpBottomName.Length > 0) { pbpBottomName = borderset.pbpBottomName; pbpBottom = borderset.pbpBottom; } if (borderset.pbpBottomRightName.Length > 0) { pbpBottomRightName = borderset.pbpBottomRightName; pbpBottomRight = borderset.pbpBottomRight; } } }
bool GetFlag(eFlags flag) { return ((int)m_flag & (int)flag) > 0; }
public sAttributeScreen(XmlNode node) : base(node) { if (node == null) return; pZPosition = -100; if (node.Attributes["title"] != null) pTitle = node.Attributes["title"].Value; if (node.Attributes["flags"] != null) switch (node.Attributes["flags"].Value) { case "wfNoBorder": pFlags = eFlags.wfNoBorder; break; case "wfBorder": default: pFlags = eFlags.wfBorder; break; } pWindowStyle = (sWindowStyle)cDataBase.pWindowstyles.get(); if (node.Attributes["backgroundColor"] != null) pBackgroundColor = (sColor)cDataBase.pColors.get(node.Attributes["backgroundColor"].Value); else pBackgroundColor = (sColor)pWindowStyle.pColors["Background"]; if (node.Attributes["labelforeground"] != null) pTitle = node.Attributes["labelforeground"].Value; else pLabelForegroundColor = (sColor)pWindowStyle.pColors["LabelForeground"]; pTitleFont = pWindowStyle.pFont; pTitleSize = pWindowStyle.pTitleSize * (((float)pTitleFont.Scale) / 100.0F); pTitleXOff = pWindowStyle.pXOff; pTitleYOff = pWindowStyle.pYOff; /*pbpTopLeft = ((sWindowStyle.sBorderSet)pWindowStyle.pBorderSets["bsWindow"]).pbpTopLeft; pbpTop = ((sWindowStyle.sBorderSet)pWindowStyle.pBorderSets["bsWindow"]).pbpTop; pbpTopRight = ((sWindowStyle.sBorderSet)pWindowStyle.pBorderSets["bsWindow"]).pbpTopRight; pbpLeft = ((sWindowStyle.sBorderSet)pWindowStyle.pBorderSets["bsWindow"]).pbpLeft; pbpRight = ((sWindowStyle.sBorderSet)pWindowStyle.pBorderSets["bsWindow"]).pbpRight; pbpBottomLeft = ((sWindowStyle.sBorderSet)pWindowStyle.pBorderSets["bsWindow"]).pbpBottomLeft; pbpBottom = ((sWindowStyle.sBorderSet)pWindowStyle.pBorderSets["bsWindow"]).pbpBottom; pbpBottomRight = ((sWindowStyle.sBorderSet)pWindowStyle.pBorderSets["bsWindow"]).pbpBottomRight;*/ sWindowStyle style = (sWindowStyle)cDataBase.pWindowstyles.get(); sWindowStyle.sBorderSet borderset = (sWindowStyle.sBorderSet)style.pBorderSets["bsWindow"]; if (borderset != null) { if (borderset.pbpTopLeftName.Length > 0) { pbpTopLeftName = borderset.pbpTopLeftName; pbpTopLeft = borderset.pbpTopLeft; } if (borderset.pbpTopName.Length > 0) { pbpTopName = borderset.pbpTopName; pbpTop = borderset.pbpTop; } if (borderset.pbpTopRightName.Length > 0) { pbpTopRightName = borderset.pbpTopRightName; pbpTopRight = borderset.pbpTopRight; } if (borderset.pbpLeftName.Length > 0) { pbpLeftName = borderset.pbpLeftName; pbpLeft = borderset.pbpLeft; } if (borderset.pbpRightName.Length > 0) { pbpRightName = borderset.pbpRightName; pbpRight = borderset.pbpRight; } if (borderset.pbpBottomLeftName.Length > 0) { pbpBottomLeftName = borderset.pbpBottomLeftName; pbpBottomLeft = borderset.pbpBottomLeft; } if (borderset.pbpBottomName.Length > 0) { pbpBottomName = borderset.pbpBottomName; pbpBottom = borderset.pbpBottom; } if (borderset.pbpBottomRightName.Length > 0) { pbpBottomRightName = borderset.pbpBottomRightName; pbpBottomRight = borderset.pbpBottomRight; } } }
/// <summary> /// Creates an off-mesh connection /// </summary> /// <param name="start"></param> /// <param name="end"></param> /// <param name="bidirectional"></param> /// <param name="area"></param> /// <param name="flags"></param> public void WriteOffMeshConnection(Vector3 start, Vector3 end, bool bidirectional = true, eAreas area = eAreas.Jump, eFlags flags = eFlags.Jump, float radius = 4.1f) { var rad = radius; start *= NavmeshMgr.CONVERSION_FACTOR; end *= NavmeshMgr.CONVERSION_FACTOR; WriteLine("c {0:F1} {1:F1} {2:F1} {3:F1} {4:F1} {5:F1} {6:F1} {7} {8} {9}", start.X, start.Z, start.Y, end.X, end.Z, end.Y, rad, bidirectional ? 1 : 0, (int)area, (int)flags); }