1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Beast Wars Version 2.0

Race Wars

  1. Joshua
    Description of System
    This is a Race War system I put together. Was bored one night and wanted to have some race fun but no race scripts (that i liked) were readily available so I tossed this together. It handles 19 races with one entry for None and one entry for GameMasters. You can comment out entries for races to remove them from selection menu's and make them not usable. Maybe in a future release of this I will include a configuration file that allows easy on and off for races.

    Important Note.. Even though it can handle 19 races, it's only currently configured to use 8 races (included in the beasttoken gump as well).

    The XML attachment for this system does attach on login. Can change this is the Configuration file to false if that is not desired.

    These below edits are NOT required, but doing them will cause this to happen. All Races will be at constant war with each other, so a race war. Only in town are they safe, outside of town they are not. Races may not attack their own race, that is a normal crime.

    BeastToken is included to change the race, i built that gump up to handle the changes, can comment out buttons and labels for races that are not being used.

    There are specialized skills chosen for each race that automatically boost their skill caps to 120, and to use the beasttoken to change, one must max out their skills for the respected race. To give some goals to aim for. All of this easily modifiable. :)

    Added a control system to turn on or off specific races.

    Description for races, I will include that on the next release.

    Also to note, if you want a 'faction' system that isn't distro this is also a good ground script to do that, scripting knowledge required.

    Once again the below edit IS optional...

    Edits to Notoriety.cs
    Add to the Top for Services Used if not already there
    Code (C#):
    1. using Server.Engines.XmlSpawner2;
    2. using Server.Regions;
    Locate this line.

    Code (C#):
    1.         public static int MobileNotoriety(Mobile source, IDamageable damageable)
    2.         {
    Under that line, somewhere towards the bottom of the section add the below.

    Code (C#):
    1.             /* Beast Wars Edit */
    2.             BeastWarFactionsXML beastwars = (BeastWarFactionsXML)XmlAttach.FindAttachment(source, typeof(BeastWarFactionsXML));
    3.             if (beastwars != null)
    4.             {
    5.                 if (source is PlayerMobile && target is PlayerMobile && beastwars.SubRaceXML!=beastwars.SubRaceXML )
    6.                 {
    7.     //                if (((PlayerMobile)source).SubRace == SubRace.None)
    8.     //                    return Notoriety.Innocent;
    9.                
    10.                     if (source is PlayerMobile && source.Region.IsPartOf(typeof (TownRegion)))//maybe guarded region? a
    11.                         return Notoriety.Innocent;
    12.                     else
    13.                         return Notoriety.Enemy;
    14.                 }
    15.                 /* End Beast Wars Edit */
    Playermobile.cs Distro Edit
    This is for the Race Tag above the Toon.

    Add if not already present in playermobile services
    Code (C#):
    1. using Server.Engines.XmlSpawner2;
    Locate this Line
    Code (C#):
    1.         public override void GetProperties( ObjectPropertyList list )
    2.         {
    Under add this after
    base.GetProperties( list );

    Code (C#):
    1.             //Beast Factions
    2.             Mobile from = (Mobile)this;
    3.             BeastWarFactionsXML bestwarxml = (BeastWarFactionsXML)XmlAttach.FindAttachment(from, typeof(BeastWarFactionsXML));
    4.             if ( this is PlayerMobile )
    5.             {
    6.                 if (bestwarxml != null)
    7.                 {
    8.                     if (bestwarxml.SubRaceXML == SubRaceXML.GameMaster)
    9.                     {
    10.                         list.Add("<BASEFONT COLOR=#FBFF00>The One of Many<BASEFONT COLOR=#FFFFFF>");
    11.                     }
    12.                     else if (bestwarxml.SubRaceXML == SubRaceXML.CaitSith)
    13.                     {
    14.                         list.Add("<BASEFONT COLOR=#FBFF00>Cait Sith<BASEFONT COLOR=#FFFFFF>");
    15.                     }
    16.                     else if (bestwarxml.SubRaceXML == SubRaceXML.Elf)
    17.                     {
    18.                         list.Add("<BASEFONT COLOR=#7FD0F8>Elf<BASEFONT COLOR=#FFFFFF>");
    19.                     }
    20.                     else if (bestwarxml.SubRaceXML == SubRaceXML.Gnome)
    21.                     {
    22.                         list.Add("<BASEFONT COLOR=#694D12>Gnome<BASEFONT COLOR=#FFFFFF>");
    23.                     }
    24.                     else if (bestwarxml.SubRaceXML == SubRaceXML.Imp)
    25.                     {
    26.                         list.Add("<BASEFONT COLOR=#4D4C4B>Imp<BASEFONT COLOR=#FFFFFF>");
    27.                     }
    28.                     else if (bestwarxml.SubRaceXML == SubRaceXML.Leprechaun)
    29.                     {
    30.                         list.Add("<BASEFONT COLOR=#7A9F9D>Leprechaun<BASEFONT COLOR=#FFFFFF>");
    31.                     }
    32.                     else if (bestwarxml.SubRaceXML == SubRaceXML.Pooka)
    33.                     {
    34.                         list.Add("<BASEFONT COLOR=#A7EEB1>Pooka<BASEFONT COLOR=#FFFFFF>");
    35.                     }
    36.                     else if (bestwarxml.SubRaceXML == SubRaceXML.Salamander)
    37.                     {
    38.                         list.Add("<BASEFONT COLOR=#FB6464>Salamander<BASEFONT COLOR=#FFFFFF>");
    39.                     }
    40.                     else if (bestwarxml.SubRaceXML == SubRaceXML.Spriggan)
    41.                     {
    42.                         list.Add("<BASEFONT COLOR=#C6D6FF>Spriggan<BASEFONT COLOR=#FFFFFF>");
    43.                     }
    44.                     else if (bestwarxml.SubRaceXML == SubRaceXML.Sylph)
    45.                     {
    46.                         list.Add("<BASEFONT COLOR=#60F055>Sylph<BASEFONT COLOR=#FFFFFF>");
    47.                     }
    48.                     else if (bestwarxml.SubRaceXML == SubRaceXML.Undine)
    49.                     {
    50.                         list.Add("<BASEFONT COLOR=#307C6A>Undine<BASEFONT COLOR=#FFFFFF>");
    51.                     }
    52.                     else if (bestwarxml.SubRaceXML == SubRaceXML.Human)
    53.                     {
    54.                         list.Add("<BASEFONT COLOR=#FCFCFC>Human<BASEFONT COLOR=#FFFFFF>");
    55.                     }
    56.                     else if (bestwarxml.SubRaceXML == SubRaceXML.Gargoyle)
    57.                     {
    58.                         list.Add("<BASEFONT COLOR=#F214E7>Gargoyle<BASEFONT COLOR=#FFFFFF>");
    59.                     }
    60.                 }
    61.                 else
    62.                     return;
    63.             }
    sahisahi likes this.

Recent Updates

  1. Adjusted

Recent Reviews

  1. TheDoc
    TheDoc
    5/5,
    Version: 2019-01-08
    Really nice script and author was very helpful. Recommended!