RunUO Community

This is a sample guest message. Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

RunUO 2.0 RC1 has been released.


RunUO Founder
Staff member
RunUO 2.0 RC1 has been released.

You can find it in the downloads section. There's not a whole lot to say.

We know there are some bugs. We will have a bug tracker up for you soon.

We expect community participation with this.

We thank you for your patience.

This might get updated with more information from Krrios or Mark or ASayre. I wanted to let them post their own notes. This is a huge release... enjoy it.

I'll update this soon.

Dev Team Updates:

(Mark): Don't forget, this release requires .NET Framework 2.0! Both 64 and 32 bit systems are supported natively.
(ASayre): See below for condensed changelog-in-progress


RunUO Developer
This is a tad rough, but it's the closest we've got to a changelog right now!

This does NOT include minor to moderate optimizations and or code changes & fixes, nor the MASSIVE list of things converted to generics nor the numerous spelling errors that were fixed. (Controled/Controlled anyone? and Aquire/Acquire?)

  • Account Passwords are now saved using SHA-1
  • Now defaults to 6 characters/account if AOS is enabled
  • Firewall now supports CIDR blocks. More info
  • IPLimiter now has a list of IPs which are not subject to throttling. Good for those where all connections are proxied.
  • Decorate now adds FillableContainers (see below)
  • Increased verbosity of command logging for duping and creation of items
  • GenTeleporter now creates SE and ML teleporters
  • ShaveHair/Beard turned into command aliases for set HairItemID/FacialHairItemID 0
  • Echo moved to counselor accesslevel. (Funny story: I had someone on Demise try to advertise their shard by spamming [echo...)
  • TraceExpanded added - gives a list of items using up the extra memory as later mentioned in CompactInfo
  • SpeedBoost added. Lets staff run at mount speed when not mounted
  • Where adjusted for new region system to show the hierarchy
  • Netstates paused during large commands
  • Go command will now search region names of other maps
  • BugFix with Go command so you don't get transported to 0,0 on an invalid location.
  • Staff can now [stuck themselves.
  • Props support for the 2 new accesslevels
  • GuildProps moved into Guild file
  • Tokuno can now be unfrozen
  • Abstracted fodler renamed to Generic folder
  • Serial Command implementor added. ex: [serial 0x1234 set name Moose
  • [Tele is no longer logged
  • Command Extensions:
  • - Command extensions:
    • These are in addition to the previous "where" clause, and are similar in that they act on the result set of a scoped command (such as global, online, area, etc).
    • Limit [number] - Restricts the result set such that it will contain no more than a specified number of objects.
    • Order By <property [asc | desc] ...> - Sorts the result set by one or more properties, optionally in ascending or descending order.
    • - Distinct <property ...> - Filters the result set such that it contains no objects with duplicated property values.
  • The Interface command now supports viewing object properties. For example, [online interface view faction killpoints where playermobile faction != null will display a list of all online factioners, including their faction and kill points.
  • Some Krrios haxory which makes commands go a LOT faster. Try a global type command on 2.0 as opposed to 1.0.
  • [Region and [Online moved to GM accesslevel, added checkjs for accesslevel in it
  • Trading pets now lists the correct names and such. To override this functionality for custom mobiles, see FriendlyNameAttribute in BaseCreature.
  • AcquireFocusMob cleaned up and rewritten
  • Appox Detect Hidden for creatures.
  • MageAI improved
  • It's now Called MeleeAI. Not MeeleeAI.
  • VendorAI speech range reduced to '1' for AoS and later
  • PetLoyalty Enum removed & formulas related to loyalty set to OSI standards. Now on a scale from 0-100
  • Various additions of new overrides and new Properites
  • Acid can now be spilled
  • NPCs can now have their bandages disrupted.
  • Many paragon fixes
  • There's now a Fey & Undead Slayer/opposition group.
  • Message given when not enough time has elapsed for a pet to bond
  • Small Weapon BODs
  • As per OSI, the 'turn-in-to-reset-timer' with Bods for applicable eras.
Champion Spawns
  • Idol of the Champion & all related functions added
  • Champ spawns now create their own region. As such, they can now have their bounds defined in their [props.
  • Said regions have a darker light level.
  • Cleaned up code into ChampionSpawnInfo
  • Addition of Repair Deeds, as well as cleanup
  • Addition of requiredExpansion to craftItem
  • Addition of the systemfor Recipes, as well as some minor 'starting' examples. (ie, it's boring and tedious and we want yall to do it and submit to RunUO)
  • Addition of CustomCraft for various, non-standard crafting.
  • Many additions to the Definitions for the crafting system.
  • Addition of Tinker-trappable chests
  • ASH's uses remaining only depletes with Blacksmithy
  • Weapons or armor that are enhanced And/Or crafted with Runics now have a chance to get their elemental damages randomized and the appropriate hue applied.
  • Necro spells can be crafted via Inscription.
  • Spellbooks with special attributes can also be crafted.
  • As well as certain BaseHats.
Factions & Ethics
  • Town capture now property credits the faction with silver.
  • Addition of the Ethics system & it's integration with Factions. (krrios can elaborate.)
  • Can no longer stack traps upon one another for the appropriate Era
  • Pages and responses are now tracked and logged.
  • Emino's Undertaking quest added (SE starting quest)
  • Haochi's Trials quest added (SE starting quest)
  • Terrible Hatchling's quest added
  • Walking range added. Use -1 for old functionality. Defaults to -1.
Treasures of Tokuno
  • Treasures of Tokuno system added. Defaults to requiring the expansion to be set to SE and only SE.
  • Related items/mobiles/etc added.
  • Honor added
  • Valor Added
  • Values for ALL the virtues have been adjusted, as well as the amount of each virtue gained and loss have been adjusted to match OSI.
  • Virtues each have their own caps depending on virtue.
  • Admin gump additions for performance viewing as well as changes to accommodate the 2 new accesslevels
  • Addition of BaseImageTiledButtonGump. Despite the long name, simple to use. See the Treasures of Tokuno usage for examples. Easy support and access to a list of buttons that support Tooltips as well as Hued ItemIDs
  • Pet release gump now allows releasing even if you can't control the pet
  • New polymorph gump implemented
  • BaseAddon: good example of use of some of the new generic serialization methods
  • Flour mills now closer to OSI standards
  • Lots of decor Addons from ML added
  • Daemon armor now has self-repair 1
  • Dragon armor now uses and has it's own material type
  • Correct resources for various SE armor
  • Beginning Additions of various ML Armor/Weapons/Clothing/Decor
  • Added RequiredRace property to Armor/Weapon/Clothing
  • Addition of Choppable BonePiles & RibCages
  • All books everywhere optimized and redesigned for efficiency purposes
  • Ankhs can no longer open up >1 Resurrect gump
  • Containers no longer have their boundaries defined in the scripts, instead, bounds.bin in Data.
  • Addition of FillableContainers, more commonly known as the Shop containers you can steal rares from.
  • Addition of DecorationArtifacts, ie, the Doom/Tokuno dungeon spawning and stealable artifacts
  • Beard and Hair obsoleted. They're now 'virtual items' to save on memory consumption.
  • Addition of Bowls of Foodstuffs as well as addition of SE Foodstuffs and other misc forgotten food
  • Guildstones are now chopable and turned into Addons if the new Guild system is active.
  • Jewelry now Observes the DoNotColor crafting option
  • Many hue and other tweaks to artifacts to make them match OSI
  • Guillotine added
  • IDurability interface added
  • KeyRing added
  • Origami added
  • Promotional Tokens added. See Soulstone promo token for example
  • The gump for publicMoongates now closes when you walk too far away from them
  • You can now [dupe statics. Horray!
  • Potential server-lagging bug in WarningItem fixed
  • Misc ML resources that do nothing except sit there and act as a test for some RunUO snippits added.
  • Shields now properly lose (and gain with self repair) Durability for AoS and later
  • Ancient SoS's added
  • Fabled fishing nets added
  • Tools now have a crafter and quality, with extra uses give to exceptional tools
  • Rune hues/names added for Tokuno
  • ExorcismScroll added
  • Non-magery spellbooks now equippable for appropriate eras
  • Runebook UseDelay added
  • Runebooks no longer equippable for AoS and later
  • Runebooks now show their crafter for exceptional ones
  • Slayer spellbooks and Spellbooks with bonuses added
  • Spellweaving book added
  • Firehorn now requires Line of sight to do damage, as well as flagging that damage correctly
  • RecipeScroll & RepairDeed added
  • BaseInstrument now has a property to allow itself to replenish it's charges.
  • SE special clickables (shuriken/fukiya darts/ Egg & Smoke Bombs) added
  • OSI easter eggs wih scissors added. (Trying to cut yourself as well as running with scissors)
  • SledgeHammer tool added
  • Solen Items now have charge limits as well as recharge limits
  • Soulstone fragments added
  • SE Abilties for Weapons implemented.
  • Thsoe under WraithForm &/| LichForm no longer affected by BleedAttack
  • Concussion Blow damage changed to match OSI
  • CAn no longer disarm spellbooks
  • Time immunity to Paralyzing Blow added after being hit with one
  • Bushido & Ninjitsu now count towards mana reduction due to skills
  • WhirlwindAttack formula changed to match OSI
  • Glacial Staff added (Doesn't have Pre-AoS abilities though)
  • Can no longer herd animals which have a current owner
  • Slayer2 added to BaseWeapon
  • Messages added for conflicting Layers
  • Damage formula updated
  • Min. delay changed to osi standards
  • Parrying with Bushido skill implemented
  • Cap of 300% total Damage Increase added
  • Mana leeched with Wraithform spell now actually stolen instead of leeched.
  • Weapon damage is more gory SE and later.
  • Elemental Damage applied to weapons
  • Slayers updated/added/changed
  • Server now uses Console.ReadKey( true ) for console input that doesn't show up as well as not having to press 'Enter' after the single keypress.
  • 35 Direct Damage cap added for appropriate era
  • SE/AOS.Enabled and Configure removed from AoS.cs - replaced with ExpansionInfo. SE.cs removed completely
  • Restarting server via timed restart or restart command now sends the new instance of the server the arguments passed to the current instance of the server.
  • System for BuffIcons implemented. Not all buffIcons are used currently (again, exercise for yall), but the base system is there and working. Only works on clients past 5.0.2b due to former clients either havign issues or not supporting them at all
  • Character creation updated with more validations, support for Elves, Ninjitsu/Bushido, and safe handling of clients connecting and choosing those characters when they don't have the expansion needed (ie, they dont' haver the map files for it)
  • Cleanup now converts the old hair to the new virtual hair system automatically each startup.
  • CurrentExpansion.cs added. Use to specify the current Expansion. Support expansions currently: None, AOS, SE, ML.
  • Datapath will now properly detect a UO installation on a 64 bit system.
  • Time consuming *Gens now freeze netstate while they're working.
  • Emitter.cs added. Krrios haxory right there.
  • FindByName removed. Use globals with conditionals for the same effect.
  • FindRunes removed.
  • New Guild System added. More Info. Includes guild alliances, Ranks, customizable Wars. guild (\) and Alliance(|) chat and much more. See the current gumps for customization options.
  • Language Statistics added.
  • Loot definitions updated for SE, Shields, BaseHats, Necro scrolls and other things past forgotten
  • Luck chance now calculated instead of a huge table.
  • LootPacks for SE added.
  • Map size for tram/Fel adjusted for ML
  • NameVerification now disallows 'admin' in the beginning
  • Anyone above player level are no longer affected by the normal rules of notoriety. as long as they're mortal, they can always attack and be attacked.
  • ProfanityProtection lists exposed
  • RaceDefinitions added. Controls Male/Female BodyValues, including ghosts, the name of the Race, Required Expansion, Valid hair styles, and valid hair/skin hues. Note that for Character creation of races, you're still bound by the client to Elves/Humans and the normal hair/skin hues and values
  • Humans get +2 HP regen
  • Pet rename requests made more OSI-like
  • Stats now have their own individual stat gain time limits.
  • TextDefinition has helper methods for use in Gumps and Messages
  • Ninja/Samurai titles added for Elder and LEgendary skill ranks.
  • Harrower and Champion titles implemented.
  • UOAM vendors now reads '-vet'
  • Counselors can no longer get overloaded with too much weight.
  • WeightOverloading.GetMaxWeight moved to virtual function in Mobile.
  • Cranes added
  • Eagles aren't as rich
  • BullFrogs now use lootPacks
  • Dolphins randomly jump
  • Gaman added
  • Mount Abilities added
  • Kirin's Mount ability of damaging what's attacking you added
  • Unicorn's ability to heal/cure you when hurt added
  • MountPrevention expanded and moved to BaseMount (away from Bola)
  • Firesteed Loot updated
  • Hiryu & Lesser Hiryu and it's special attack added.
  • Unicorns & Kirins part of Fey & undead opposition
  • Nightmare loot increase
  • SwampDragons (all types) autodispel only when not controlled now
  • IceSerpants now drop body parts and glacial staves
  • Rats now use LootPack
  • Evil wandering healers now have the proper titles depending on Era
  • Ant lions have proper loot
  • Solens have proper loot
  • Solen Queen and Warriors now spill acid
  • Doom Gaunt creatures no longer ignore young players during ML era
  • Lootpack updates for doom gaunt creatures
  • Immunity to barding tweaked for Gaunt creatures
  • Undead and Elemental creatures now bleed immune, as well as loot changes
  • Merathan Matriarch & Warrior loot increased
  • Efreets now drop Daemon Armor
  • Undeads part of Undead/Fey opposition
  • ArcaneDaemon now uses proper weaponAbility
  • balron loot tweaks
  • Daemon Control Slots changed from 5 to 4 for SE. as well as loot updates
  • Elder gazers poorer, but still don't qualify for Medicaid
  • Evil Mage Lords are richer. They raised the rents on the Geezers.. err.. Elder Gazers
  • Gargoyle destroyers richer
  • GargoyleEnforcers use proper WeaponAbility now
  • Ratmen now pack statues.
  • Savage shamans now drop deerMasks
  • Titans are richer.
  • Arctic Ogre Lords are richer. They found oil.
  • Chaos Daemons slightly richer
  • Cyclops slightly poorer
  • Can now chop up Dopplegangers for resources
  • Enslaved Gargoyles richer. Must be the trickle down effect from the destroyers.
  • GazerLarva now use lootpacks
  • Molochs now use ConcussionBlow instead of whirlwind attack
  • OgreLords lost their 'Bling' and no longer carry gems.
  • Orc Bombers carry slightly poorer. Govt. sanctions against explosives and such.
  • Orc Brutes are richer.
  • Rotting Corpses now drop treasure maps. Theyr'e also richer.
  • Spectral Armors are richer
  • Stone Gargoyles had their ingot drop stabilized. But now they can't afford to drop gems.
  • Zombies now properly drop body parts. Ick.
  • Exodus mobiles now properly capitalized
  • Juka Warriors redistributed some of their wealth to the Lords. Rent Increases.
  • Meers autodispel.
  • DarkWisp added
  • Pixies now have statues too.
  • ShadowWisps finally got a backbone. They drop bonepiles now.
  • BladeSpirits and Energy Vortices have had their control slots as well as HP doubled for SE era, made immune to bleeding, and now restricted to 6 spirits or vortices within 5 tiles of each one.
  • Energy Vortices are always murders. They can also be llamas.
  • PlagueBeasts found new areas to roll around and occasionally pick up an extra gem.
  • Sand vortices now use lootpacks
  • Bog things are richer.
  • Ancient Wyrms are richer as well as having a HitPoison
  • Deep & normal SeaSerpants now have randomized hues
  • Only uncontrolled dragons can autodispel
  • Leviathan added.
  • OphidianMatriarchs richer
  • Serpentine dragons poorer,and not have a 300% damage bonus to pets instead of just untaming them.
  • Krakens now drop Ropes and MIBs. That's what they get for thinking it's an alien.
  • SE Monsters as well as many of their abilities added.
  • SummonedDaemon lowered controlSlots to 4
  • Baracoon isn't as rich, and will always AutoDispel.
  • Champions now randomly drop their skull in the pack of one of the players on the Loot list instead of their corpse.
  • Harrowers now spawn in more than one location, as well as having it's skills updated and being abel to AutoDispel.
  • HarrowerTentacles not as rich.
  • Tentacle drain range upped to 9 as well as affecting Pets/Summons of players.
  • LordOaks richer and can AutoDispel
  • Memphitis richer
  • Neira poorer, cannot be dismounted, and gets a speed boost when low on health
  • Rikkitor richer and does earthquakes more often.
  • Serado and some of it's special abilities added.
  • ServantOfSemidar added.
  • Wanderers (those really annoying 'ME' Ogres) now set to accesslevel Counselor so that GMs can delete 'em after they add a million of them, subsequently pissing everyone off.
  • More Townfolk added. Actor, Artist, BrideGroom, Gypsy, HarborMaster, Merchant, Messenger, Ninja, Peasant, Samurai, Sculptor
  • Blacksmith Guildmasters are now also vendors
  • Pets are now completely happy when retrieved from the AnimalTrainer
  • Miller Added
  • SE SBInfos added to vendors in Tokuno.
  • Many many SBInfos added and tweaked.
  • Vendors now have Tokuno names in Tokuno.
  • Bugfix with Lockdowns and Vendors and selling containers.
  • Bugfix with High vendor prices
  • Bugfix with PlayerVendors and hair
  • Bugfix with PlayerVendors and oddly-layer'd items
  • Bugfix with PlayerVendors not having CanBeDamaged set to false
  • New flags: AcceptGuildInvites, DisplayChampionTitle
  • New properties:
    • GuildRank
    • GuildMessageHue
    • AllianceMessageHue
    • LastOnline
    • ToTItemsTurnedIn
    • ToTTotalMonsterFame
  • Racial abilities
    • Elves get +5 max energy resistance
    • Humans can carry +40 more stones
    • Elves get +20 mana
    • Humans get a not visible in skills menu +20 to every skill that doesn't apply towards skill cap
  • More accurate checks for BaseClothing and other checks for wearability of wearables
  • bug with HitsMax fixed where GetStatOffset( Strength ) was being applied twice
  • Hard Caps of 150 str/dex/int
  • Ghosts can ignore movable impassables
  • Restrictions of skills when in AnimalForm
  • Champion Title Displays and toggle
  • Can Insure NON-blessed spellbooks
  • Addition of confirmation gump for canceling renew inventory insurance
  • Can now push/shove through any mobile when in WraithForm
  • LastEscortTime can now be seen and edited from ingame
  • Support for Guild chat and Alliance chat, and displaying it to staff.
  • Reiterating the fact that Virtues now atrophy with time
  • A call to BaseHouse to handle character deletion is made to transfer houses to another character on the acct
  • You no longer stealth while customizing a house
  • Fastwalk prevention no longer applies to counselors
  • Logout time if TC is enabled is now zero.
  • Young death teleports now correctly teleports to the outside of a dungeon is within one.
  • champion Titles added
  • BuffIcon support and functions added
  • Can no longer place a boat while on another boat or from within a house
  • Boats now correctly wrap around the map in tokuno
  • Can no longer place a boat in a Champ spawn region
  • Anti-stranding support for Tokuno
  • Houses now have a BonusStorageScalar, currently increases a house's storage by 20% for ML
  • Can't trade a house to a ghost.
  • Added Guild secure level. Is based on Guild of the house Owner mobile.
  • Component verification of Customizable houses
  • Addition of Elven foundations
  • CustomizationCost property. Now set to 0 for SE and later.
  • ML doors, ML doors that don't follow any patterns except to piss ASayre off. ASAYRE SMASH
  • Must have a houseplacement tool in pack to place a house even after the gump is displayed
  • Unnamed houses default name changed
  • House names have HTML stripped
  • Cliloc fix in house status
  • House Regions no longer give a You may not enter for SE eras and later
  • Many regions moved from definitions in scripts to definitions in the Regions.xml files
  • BaseRegion added to Scripts. (The old BaseRegion of 1.0 core is now called Region)
  • BaseRegion support for region spawns and Rune Names for runes marked in that area.
  • SpawnDefinitions & Entries added and read from SpawnDefinitions.xml
  • Animal Lore: Now shows barding difficulty for SE and later
  • Animal Taming:
    • Int is now scaled
    • Skill caps are set to the creature's current skill level if it exceeds 100 in a skill
    • CanAngerOnTame property of BaseCreature added & used instead of a giant list of creature is Bla || creature is Bla2
  • Discordance: requires instrument in pack, misc formula tweaks
  • Hiding: Range adjusted to OSI formula
  • Meditation:
    • 10 sec skill delay if at peace AoS & later
    • Armor prevention fixed for AoS and later
    • Skillgain only on successful meditation
    • Chance to meditate adjusted to OSI formula: The further away from your max mana, the harder it is to meditate.
  • Peacemaking: requires instrument in pack, proper skill delay
  • Poisoning: Can poison Shurikens & Darts
  • Provocation: requires instrument in pack, proper skill delay
  • RemoveTrap: Properly sets TrapLEvel to 0
  • Stealing: SpawnableArtifacts stealing support, returning stolen items now properly checks if enough time has elapsed
  • Stealthing: Bugfix for stealthing and hiding without enough skill. Formula redone to match OSI. It's now accurate and actually works for AoS. Funny note, tie max value is '42'. Coincidence?
  • Tracking: Support for the SE skills that use tracking, formula change for SE and later
  • Ninjitsu & Bushido spells added
  • Exorcism added
  • DelayedDamage stacking prevented for certian spells like Magic Arrow & Explosion.
  • Arcane gem charges are consumed as one per spell, irregardless of circle (for appropriate era)
  • Spellbook Slayers for spells
  • misc fixes and tweaks
  • TravelValidators added for Champ spawns & tokuno dungeons
  • Spell Times for chivalry adjusted for OSI accuracy
  • Close wounds heals a tad more
  • Noble Sacrifice can no longer be used in houses,
  • Blade spirit spell takes a shorter time to cast for SE and later
  • Incognito properly validating clothes
  • Paralyze spell duration 2 seconds shorter for SE and later
  • Heal spell formula adjusted to OSI standards
  • ArchCure now properly has a CHANCE to cure, not a sure-thing
  • You can now curse yourself. Watch where you click.
  • Animate dead definition updates
  • Corpse Skin gives -15 to fire and poison, as per OSI
  • CurseWeapon duration increased, depending still on SpiritSpeak
  • EvilOmen duration adjusted to OSI standards
  • Lich Form gives -10 to Fire, as per OSI
  • MindRot now does double damage to non-players
  • PainSpike formula tweak
  • PoisonStrike now properly flags
  • Wither spell circle adjusted
  • MagicTrap & removeTrap properly sets trapLevel to 0
  • ChainLightning and MeteorSwarm requires Line of Sight for AoS and later, as well as slightly increased damage
  • Polymorph validates clothing as well as new polymorph gump
  • EBolt damage slightly increased
  • Explosion damage slightly increased
  • Can no longer cast invis on Vendors or those with a higher Accesslevel then yourself
  • Mass Curse range dropped to 2
  • Para field paralyze duration adjusted
  • PAragon chests cannot be MagicLocked
Global changes:
  • .NET 2.0 is REQUIRED.
  • Support for 64 bit processors
  • Massive optimizations every which what way
  • Easier support for adding new expansions and customization of expansions without millions of if/else/if/else statements
  • Such as: SupportedFeatures, CharacterList and CustomHousing
  • Also determines what Expansion a client has
  • Support for Compressed Gumps
  • Support for tooltips on certain gump elements
  • Support for GumpImageTiledButtons, ie, gump buttons with backgrounds and a hueable ItemID as the foreground of the button
  • Layer.Unused_x9 converted to Layer.Talisman
  • Now implements IComparable
  • Addition of CompactInfo. Stores information that most Items don't ever use, thus reducing the footprint for the majority of items. Transparent outside of Item.
  • BlessedFor isn't BlessedFor if the BlessedFor mobile is deleted.
  • Newbied removed - use LootType instead.
  • TotalItem/Weight/Gold optimized. Get Krrios to elaborate :p
  • Weight changed. First sees if there's a custom specifically set weight. if not, uses the DefaultWeight specified as an override, otherwise uses TileData info.
  • Dupe function removed. Items which are stackable need to have a 0 parameter constructor. Use OnAfterDuped(...) for special cases where certain things need to be changed.
  • RootEntity & RootParentEntity accessors added
  • X,Y,Z no longer virtual
  • DefaultName added. when name is accessed, first tries to see if there's a custom name. if not, uses the DefaultName specified.
  • AoS/SE/ML turned into quick helper properties that just check CurrentExpansion
  • Now detects 64 bit, and number of processors
  • Uses console.ReadKey. Cut your coding time in half, only press 'r' instead of 'r + Enter'! Think of the enter keys saved!
  • Multiprocessor optimizations
  • Performance counters added
  • Containers now get their bounds from containers.cfg
  • Support for Elf bodies, Bodies now use an easy to read BodyTable.cfg instead of an annoying .bin
  • Conversion of filenames to all lowercase for consistency and better mono support
  • Virtue values changed to approx. reflect the formula changes in scripts
  • IEntity and Entity now implement IComparable
  • IMount now has OnRiderDamaged
  • IWeapon now has OnBeforeSwing
  • Assembly Info changes, version convention changed from 1.0.0.* to 2.0.*.* as well as some additional metadata
  • Client Version parsing improved to support clients without a letter
  • Compression removed from ZLib in scripts to Compression in core.
  • Point2D & Point3D implement IComaparable, as well as additional safety and sanity checks
  • Entry for Spellweaving skill added
  • Racial bonus support for skills
  • Bugfix with 'bad' skill locks
  • Serial.LastItem & Serial.LastMobile exposed
  • *Collections removed, Generics are now used in place of these.
  • Optimizations and Bug fixes which I will make Mark explain.
  • Callbacks for Prompts added.
  • Accesslevels Owner & Developer added.
  • now implements IComparable
  • Race added. OnRaceChange() added.
  • Various properties virtualized
  • GetTotal* stuff changed as per Item. Ask Krrios ;p
  • Walk/Run&Foot/Mount speeds exposed
  • speed limit no longer applies to counselors
  • CheckShove added using code from what used to be OnMoveOver
  • deleted Mobiles can no longer do criminal actions
  • Stabled mobiles are now deleted if the owning mobile is deleted
  • LiftItemDupe added - the new dupe used by the core for speed purposes as the [dupe, while deeper, is alot slower
  • Heal() now has a paramater to specify wether or not a message is sent.
  • FindGump(...) added
  • squelch message changed for ML
  • OnHits/Stam/ManaChanged added
  • Mobiles who are above players with equal accesslevels can now see eachother.
  • Players with GM spiritSpeak can always see ghosts SE and later.
  • Counselors can nolonger rename things.
  • LastStr/Int/Dex gain added as opposed to LastStatGain
  • Lifetime of Packets must now be strictly defined: if you want to send the same packet instance twice, you must first Acquire() it, and Release() it when finished. If you attempt to send a non-acquired packet twice, you will receive a warning in net_opt.log and the packet _WILL NOT_ be sent.
  • SpeedBoost packet, 0xBF subcommand 0x26 - tells the client to run at horse speed, even when not mounted
  • ToggleSpecialAbility, 0xBF subcommand 0x25 - Tells the client to toggle a specailAbility (used in SE abilities)
  • DisplayGumpPacked, 0xDD - compressed Gump Goodness.
  • MobileStatusExtended now sends max weight if ML is enabled, as well as the raceID + 1
  • MobileStatus.SendAOSInfo removed due to over complications with many expansions. also sends the weigth and race info as above.
  • CharacterListUpdate tweaked and fixed
  • CharacterList now sends CurrentExpansion.CharacterListFlags for it's flags.
  • Support for Guild/Alliance/Command MessageType. (Command si the message type that was sent back when the CLIENT had a GM: prompt when you pressed '[')
  • Support for Encoded 0x32, QuestGumpRequest
  • Support for TextCommand subcommand 0xF4, Invoking Virtues using macros
  • Support for Races in Packet 0x00, Character creation
  • Class to store and access the race's body values, hair, name, etc
  • Taiko music added to the enum
  • ISpawner added for Region spawns
  • Virtually a complete overhaul of regions.
  • The XML data for regions now contains alot more info.
  • Hierarchical regions. Regions now can have region parents. ie, the Haven bank has it's own region which has a parent of the Haven region. anything that's not explicitly handled in the child's region is delegated to the parent region.
  • Probably some other stuff that I forgot to mention.
  • 3 Save methods: Standard (single processor), Dual (Two processors), Parallel (Multi). Parallel is NOT reccomended for ANY production shard at this time. (Ask Krrios or mark to elaborate on these)
  • Generic Serialization methods. Type Safety for anything derived from Item/Mobile/Guild and List<>s of them. See scripts for examples.
  • Scripts are now hashed for the ability to cache the scripts.dll
  • Warnings and Errors are now grouped together as well as color coded.
  • Seperate(...) Helper method for appending a string to a string builder with a delimiter
  • Intern( string ) - Helper method designed to assist in memory savings. See MSDN's String.Intern
  • CIDR Matching
  • To[Something] Methods now use TryParse for better performance.
  • Get[Something] Methods used as helper methods for XML
  • GetAddressValue and GetLongAddressValue, IPAddress.Address wrapper. Wrapped with the warning disable - Although it's depreciated/obsolete, it has performance benefits. Since we don't use anything other than IPv4, ipAddress.Address is fine.
  • Push/Pop Color - Accessors to a stack of Foreground colors for the console
  • AssignRandom[Facial]Hair - helper methods that check the race and gets their methods for random hair and hair hue
  • public static List<TOutput> CastConvertList<TInput, TOutput>( List<TInput> list ) where TOutput : TInput This method is to convert a list of, say, List<BaseClass> to List<DerivedClass> by casting. For use only when you know that the list has ONLY things that can be castable to DerivedClass in it.
  • public static List<TOutput> SafeConvertList<TInput, TOutput>( List<TInput> list ) where TOutput : class Same as above, but used when unsure of the status of the input list. Will not include any objects which aren't assignable to TOutput.
Virtual Hair
  • Virtual hair is a memory saving technique where, instead of saving a whole item for each hair and beard, we only save the ItemID and hue of each.
  • Packets designed to emulate the Item packets are in here. Serials for these virtual items are serials counting backwards from 0x7FFFFFFF. 4 serials reserved for each mobile. one for normal hair, one for facial hair, and corresponding versions of these but on the corpse.
  • Region serialization removed.
  • Save Time more accurate
  • Netstate is paused during saves
  • much of the saving is moved to Persistence


Sweet :)
Doh you posted right before I did hehe.....Feel free to use whatever ive found so far if you want to. Its nowhere near everything but it could help get started on the changelog =)


Yay! *cheers the Dev team* Thanks so much for all of your hard work!
*Gives the Dev team hugs and lovin' again and again* :D :D :D


I'm glad all the hard work is coming together into a release! Thanks to the whole team for all your efforts!


Well done! Hats off to you Ryan and to the rest of the dev team!

I, and I'm sure most everyone else are eternally grateful for your effort and perseverance with this project. It truly is a masterpiece! Keep up the excellent work!


Thanks Ryan and DEVS!

Its christmas time again! and we can now stop hearing the same old stupid question. I got it running and trying to see what all is there Thanks to all of you!



Support our troops!!!