Exemple #1
0
        /// <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);
            }
        }
Exemple #2
0
        /// <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");
            }
        }
Exemple #5
0
 /// <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;
 }
Exemple #6
0
 /// <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;
 }