/// <summary> /// Modifies underground visibility based on time of day and racewar side. /// </summary> /// <param name="racewarside"></param> /// <returns></returns> public static int GetUnderdarkVisibilityModifier(Race.RacewarSide racewarside) { switch (racewarside) { case Race.RacewarSide.evil: return(4); case Race.RacewarSide.good: return(0); default: return(2); } }
/// <summary> /// Modifies daytime visibility based on time of day and racewar side. /// </summary> /// <param name="racewarside"></param> /// <returns></returns> public static int GetDaytimeVisibilityModifier(Race.RacewarSide racewarside) { switch (Database.SystemData.WeatherData.Sunlight) { case SunType.night: case SunType.moonset: case SunType.moonrise: if (racewarside == Race.RacewarSide.evil) { return(4); } if (racewarside == Race.RacewarSide.good) { return(0); } return(2); case SunType.sunset: case SunType.sunrise: if (racewarside == Race.RacewarSide.evil) { return(1); } if (racewarside == Race.RacewarSide.good) { return(2); } return(2); case SunType.daytime: if (racewarside == Race.RacewarSide.evil) { return(0); } if (racewarside == Race.RacewarSide.good) { return(4); } return(2); default: return(0); } }
/// <summary> /// Gets colorized text for the name of a racewar side. /// </summary> /// <param name="value"></param> /// <returns></returns> public static string RacewarSideColorString(Race.RacewarSide value) { switch (value) { case Race.RacewarSide.enslaver: return("&+rEnslaver&n"); case Race.RacewarSide.good: return("&+yGood&n"); case Race.RacewarSide.evil: return("&+REvil&n"); case Race.RacewarSide.neutral: return("&+wNeutral&n"); default: return("&+WBuggy&n"); } }
/// <summary> /// Gets racewar side as a string. /// </summary> /// <param name="value"></param> /// <returns></returns> public static string RacewarSideBWString(Race.RacewarSide value) { switch (value) { case Race.RacewarSide.enslaver: return("enslaver"); case Race.RacewarSide.good: return("good"); case Race.RacewarSide.evil: return("evil"); case Race.RacewarSide.neutral: return("neutral"); default: return("buggy"); } }
/// <summary> /// Copy constructor. Copies room data but does not copy exit data. /// </summary> /// <param name="room"></param> public RoomTemplate(RoomTemplate room) { this._controlledBy = room._controlledBy; this.Area = room.Area; this.BaseRoomFlags = new int[room.BaseRoomFlags.Length]; room.BaseRoomFlags.CopyTo(this.BaseRoomFlags, 0); this.Current = room.Current; this.CurrentDirection = room.CurrentDirection; this.CurrentRoomFlags = new int[room.CurrentRoomFlags.Length]; room.CurrentRoomFlags.CopyTo(this.CurrentRoomFlags, 0); this.Description = room.Description; this.ExitData = new Exit[Limits.MAX_DIRECTION]; this.ExtraDescriptions = new List <ExtendedDescription>(room.ExtraDescriptions); this.FallChance = room.FallChance; this.IndexNumber = Area.HighRoomIndexNumber + 1; this.Light = room.Light; this.TerrainType = room.TerrainType; this.Title = room.Title; this.WorldmapTerrainType = room.WorldmapTerrainType; ++_numRooms; }
/// <summary> /// Copy constructor. Copies room data but does not copy exit data. /// </summary> /// <param name="room"></param> public RoomTemplate(RoomTemplate room) { this._controlledBy = room._controlledBy; this.Area = room.Area; this.BaseRoomFlags = new int[room.BaseRoomFlags.Length]; room.BaseRoomFlags.CopyTo(this.BaseRoomFlags, 0); this.Current = room.Current; this.CurrentDirection = room.CurrentDirection; this.CurrentRoomFlags = new int[room.CurrentRoomFlags.Length]; room.CurrentRoomFlags.CopyTo(this.CurrentRoomFlags, 0); this.Description = room.Description; this.ExitData = new Exit[Limits.MAX_DIRECTION]; this.ExtraDescriptions = new List<ExtendedDescription>(room.ExtraDescriptions); this.FallChance = room.FallChance; this.IndexNumber = Area.HighRoomIndexNumber + 1; this.Light = room.Light; this.TerrainType = room.TerrainType; this.Title = room.Title; this.WorldmapTerrainType = room.WorldmapTerrainType; ++_numRooms; }