Esempio n. 1
0
        /// <summary>
        /// Formats the spell information for a terminal window.
        /// </summary>
        /// <returns></returns>
        public override string ToString()
        {
            string text = String.Format("\r\nSpell: '{0}' ", Name);

            text += String.Format("Minimum mana: {0} Castable in battle: {1}\r\n",
                                  MinimumMana,
                                  CanCastInCombat ? "Yes" : "No");
            text += String.Format("Targets: {0}  Mana Type: {1}  School: {2}\r\n",
                                  ValidTargets, ManaType, StringConversion.SpellSchoolString(School));
            text += String.Format("Duration: {0}  Save: {1}  Stack: {2}\r\n",
                                  Duration, SavingThrowEffect, StackingType);
            text += String.Format("Dmg Type: {0}  Cast Time: {1}  Dmg: 1d{2}/lvl+{3} Cap: Lv {4}\r\n",
                                  DamageInflicted.ToString(), CastingTime, DamageDicePerLevel, BaseDamage, LevelCap);
            text += String.Format("AI Pwr: {0}  AI %: {1}  AI Type: {2}  Detriment: {3}  Scribe: {4}\r\n",
                                  AIPower, AIChance, AICategoryType, Detrimental, CanBeScribed);
            text += String.Format("Cast Msg: {0}\r\nCast To Vict: {1}\r\n",
                                  MessageCompleted, MessageCompletedToTarget);
            text += String.Format("Cast To Room: {0}\r\n",
                                  MessageCompletedToRoom);
            text += String.Format("Dmg To Room: {0}\r\nDmg To Vict: {1}\r\n",
                                  MessageDamageToRoom, MessageDamageToVictim);
            text += String.Format("Dmg To Room: {0}\r\nDmg To Self: {1}\r\n",
                                  MessageDamageSelfToRoom, MessageDamageToSelf);
            text += String.Format("Damage Msg: {0}\r\nKill Msg: {1}\r\n",
                                  MessageDamage, MessageKill);
            text += String.Format("Wear Off Msg: {0}\r\n",
                                  MessageWearOff);
            text += String.Format("Provides: {0}\r\n",
                                  BitvectorFlagType.AffectString(Provides, false));
            text += String.Format("Negates: {0}\r\n",
                                  BitvectorFlagType.AffectString(Negates, false));
            text += String.Format("Modifies: {0}\r\n",
                                  "");
            text += "\r\nClass Availability:\r\n";
            for (int count = 0; count < CharClass.ClassList.Length; ++count)
            {
                text += String.Format("  {0}: {1:00}", MUDString.PadStr(CharClass.ClassList[count].Name, 18),
                                      _spellCircle[count]);
                if (count % 3 == 2)
                {
                    text += "\r\n";
                }
            }
            text += "\r\n";
            return(text);
        }