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!

[2.0 RC2] Underworld Champion/Gauntlet dungeon

Rasmenar

Sorceror
[2.0 RC2] Underworld Champion/Gauntlet dungeon

A month of work, headaches, and playtesting, and here it is. This is a new Dungeon for your servers, with a vast quantity of new items.

Overview
The dungeon has 2 stages: The Start stage, and the Gauntlet stage.

The Start stage spawns off 1 of 6 basic creatures. During this stage, any time a creature dies, it has a chance to grant the person who killed it a rare new item. The rare drops will be detailed later.

The Gauntlet stage will spawn off Boss creatures in sequence. The first creature is Acheron, which is one of the 5 Rivers in Hades in Greek myth. Also keep in mind that there wasn't a river in Greek Mythology that wasn't a sentient being as well as a body of water. Acheron will deal constant small amounts of damage to anyone within 2 steps of him. This makes it very hard for casters to kill him. Acheron has a random chance to drop a rare artifact Shirt.

Next is Styx. Styx slowly drains the mana of anyone within 10 steps, and once they are at 0 they cannot regenerate their mana. When he dies, he has a chance to drop a rather powerful ring.

After Styx is Cerberus. He's just a tough boss, has nothing special and no random drops.

After Cerberus is Cocytus. Every half a minute he has a Wail effect that will make pets run away. He drops a rare Bracelet.

After Cocytus is Lethe. Lethe's strength will increase the longer he is let live, up to a certain limit (it's much higher than his starting Strength). Lethe drops a pair of powerful Gauntlets.

After Lethe is Pyriphlegethon, who has a chance to drop the Talisman of Flame. This talisman is like the other talisman (detailed later), except that when double clicked, it blasts the user's combatant with Fire damage.

After Pyriphlegethon is Thanatos, the Greek equivalent of the Grim Reaper. He regains health whenever he kills a creature, and also summons Oneiri demons. He drops the Consecrated Blade of Thanatos, which has a chance to deal extra damage on hit. Also he drops the Shroud of Death, a Hooded shroud with good attributes. He can also drop a Talisman that will grant you Stealth for 75 steps when used.

After Thanatos is Hecate, who you cannot kill until you kill her 3 minions, Queen Hekabe (A Trojan Queen polymorphed into a Wolf), Gale (A witch transformed to a Polecat as punishment), and Melinoe (A sort of simulacrum that is similar to Hecate). Hecate also will paralyze her combatant sometimes, and also has an area blast effect that deals a lot of damage.

After Hecate, the gate opens to Hades's palace. This fight you will have to fight Hades, Persephone, and the 3 Erinyes at once. While the Erinyes are alive, they will reflect any damage that Hades takes to the attacker three fold. While Persephone is alive, she will heal Hades with her own health. So it isn't feasible to kill Hades until the other four are dead. Persephone drops the Crown of Persephone and Persephone's Thorn. When both are worn, Persephone's Thorn has a chance to infect with poison on hit, in addition to having a chance to deal multiple attacks with one swing. Hades drops the Crown of Hades and Scepter of Hades, which are similar to the Persephone items, except that instead of poison they have a higher chance to deal the extra damage. He also drops the Talisman of the Underworld, which has a Vampiric Drain effect when used. And lastly, he drops the Breastplate of the Underworld, the Cloak of the Underworld, and the Shield of the Underworld. The Cloak can be used like a Recall rune for mark and recall. And when you double click it, it becomes Active. While all 3 pieces are worn and the cloak is active, and the wearer dies, the wearer will be teleported to either the Britain Bank, or whatever location is marked on the cloak. They will be ressurected, and their corpse and any pets they have will be brought with them.

Random Drop Items
There are several rare Decoration items. Most of them don't do anything, they are just for cosmetics, but there are 2 that do have special features.

When a Fountain of Blood is locked down in your house, it will resurrect those nearby. When a Dragon Brazier is locked down, you can double click it to turn it on or off. When it's turned on, if you walk nearby, it will give you +25 Strength for 10 minutes.

The other decoration items are the Shadow Spike, the Hellstone Obelisk, the Dark Demon Statue, the Dark Bone Table, the Bone Throne, the Shadow Crystal, and the Shadow Box( A rare Container item).

Other rare drops include the Mini Coffin, which will auto-resurrect the person who holds it when they die, at Max health. The Hearthstone, which (when double clicked to activate), will teleport the person who has it to the Britain bank when they die, along with their corpse and any pets they have.

The Strength, Dexterity, and Intelligence tokens can increase the respective stats to 175.

There are also 5 Talisman items. These Talisman all have special abilities when double clicked. Each talisman has 5 charges each day, and they can use 1 charge every 5 minutes. The talisman do these things:
Make enemies flee
Restore you to full health
Restore you to full mana
Increase Melee damage for a short time.
Increase Melee resistance for a short time.

The Lamiae creature has a chance to drop a special Ring item, and the Arae creature has a chance to drop a pair of powerful Earrings.

Installation
Installing the scripts is simple: Just drag and drop.

However, the Patch is a different story. This system will not be usable unless you either implement the patch, or edit the UnderworldSystem.cs to fit with your shard. I will be the first to say that editing Underworld.cs will be difficult, since you would have to change the locations that it generates all of the bosses, moongates, and spawn nodes. There are patching instructions in the download.

Implementation:
In game, just [add underworldsystem. You can add it anywhere, I'd remember where you placed it though. This system controls the entire Underworld dungeon. Also, there should only ever be ONE UnderworldSystem item in-game.

Feedback
Any feedback, comments, etc are all welcome. Also, if you guys notice any bugs, please report them to me and be as detailed as possible with your descriptions of the bugs.
But to use this system, you either have to heavily modify UnderworldSystem.cs, or implement the Statics and Hues files that I included in the downloads. There are instructions in the Downloads folder on how to do this.
 

Attachments

  • Underworld Dungeon.zip
    980.6 KB · Views: 674
  • Underworld Dungeon.rar
    795.9 KB · Views: 620

oiii88

Sorceror
I must admit this looks very nice. I truly love the rares that have been included. Brings much needed imagination to items.
 
question i have (and it does look impressive and well thought out)

where does it do this at?

might all ready have something going on where it spawns at, so be nice to know in advance
 

Rasmenar

Sorceror
Lord_Greywolf;794919 said:
question i have (and it does look impressive and well thought out)

where does it do this at?

might all ready have something going on where it spawns at, so be nice to know in advance

The Patch will construct a bunch of new areas in an open space in the Sea of Stars in Malas. For the Entry point, the coords would be 611, 1934, -90.

I have noticed a couple small bugs in the Statics, I will be fixing them and posting the fixes tomorrow morning.
 

Rasmenar

Sorceror
oiii88;794920 said:
Just a note this is not drag and drop. After extracting I seen there is patchs that must be installed. If you could mention which items have to be patched so that people who do not wish to patch can edit it accordingly.
Forgot to add that to my origional post, edited. Thanks for spotting that.

The patch just updates the statics that are frozen to your Malas map. There is no new artwork with this system.

If you wish to, you could install the patch then unfreeze the areas, but that is inadvisable as these areas will cause a lot of lag if they are purely static items.
 
you might want to consider making an addon or something for the area, so we can add it in and freeze it by hand

reason being is many shards all ready have custom static files, and this would overwrite them
but as an addon can use addon2static, then freeze and add to our own area
include where to "go to to add it in correctly also :)

otherwice might want to consider a "reference point" and use all the spawning, etc off of the reference point, so it can be placed anywhere

because as it stand now, i know i will not use it, because of having the custom statics all ready
 

Rasmenar

Sorceror
I can work up a command that generates addons for the areas, and perhaps even a command that adds the addons.

As it is, to modify the system to fit into a different map setting, you would have to change all the Point3D's for the various Boss/Moongate spawns in the beginning of UnderworldSystem.cs, and also in the Spawn generation point, and the code that handles the creation of moongates, you would have to edit the system as well.

I will work on making this area able to be implemented into other areas besides the Dungeon that I created, also I will work on a way to generate the dungeons as statics with a command.

Also, you can [add the UnderworldSystem item anywhere in game, it will generate the Spawners, bosses, etc. in the locations defined by the script. So if you wanted to, you could place it near your Shard Control/Other important items.
 

mikeymaze

Wanderer
nice champ man this will fit into my shard nicely but i also dont like the idea of using a patch to but either way this i s something that looks really good thanks for sharing it with us
 

typhoonbot

Sorceror
Really great system. One thing I did notice when reading over it, you must always be careful with items in a house that res players.

I remember on a shard I played on a while back, they had unicorns that ressed players, and people would store them in their house, and thieves / other players would simply walk into the house as a ghost (striaght through the front door) ressurect inside the house, steal all the owner's items / posessions in their house, and then hide by the door, and the second it opened, they could run out with all the stuff :)

Just something to look at, and fix if it applies to this

Regards
 

Rasmenar

Sorceror
typhoonbot;794939 said:
Really great system. One thing I did notice when reading over it, you must always be careful with items in a house that res players.

I remember on a shard I played on a while back, they had unicorns that ressed players, and people would store them in their house, and thieves / other players would simply walk into the house as a ghost (striaght through the front door) ressurect inside the house, steal all the owner's items / posessions in their house, and then hide by the door, and the second it opened, they could run out with all the stuff :)

Just something to look at, and fix if it applies to this

Regards

Hm. Maybe I could add a check to see if the person is a house owner/co-owner/friend, or a guild member of the owner. I'll take a look at it later.
 

mikeymaze

Wanderer
where is the Fallen Temple do i need to add it in or is it already done i have to kill wicked Priest and have away to enter the underworld , not sure really how this is suppose to work i know where it starts but how do players get inside (the part where u hand the coins over )?
 

Rasmenar

Sorceror
Fallen Temple hasn't been built yet, but the Wicked Priest mobile is already in the package. The Entry is on the Malas map, located at X=612, Y=1932, Z=-90.

What I did was built a basic temple and spawned a few wicked priests in it, but it's up to you.
 

Rasmenar

Sorceror
I wish I could provide one, but UO hasn't been working on my computer for a few weeks. Anyone using the system think they could upload a few?
 
Im not sure if anyone has done this but i decided on making a region for the underwold system
because players on our shard were making excuses because people would pop in on them and take loot from the monsters so i decide to do this so players have to use the ritual coins to get in the underworld

just need to add some lines in your region.xml file in your data folder

add this in

Code:
- <region type="UnderworldRegion" priority="1" name="Underworld">
  <rect x="555" y="1747" width="667" height="213" /> 
  <go x="611" y="1931" z="-90" /> 
  </region>
- <region type="UnderworldRegion2" priority="1" name="UnderworldHades">
  <rect x="1292" y="1941" width="50" height="69" /> 
  <go x="1318" y="1989" z="-95" /> 
  </region>

after this

Code:
- <region type="TownRegion" priority="50" name="Umbra">
  <rect x="2042" y="1265" width="48" height="13" /> 
  <rect x="1960" y="1278" width="146" height="135" /> 
  <rect x="2004" y="1413" width="36" height="6" /> 
  <go x="2049" y="1344" z="-85" /> 
- <region>
  <rect x="2031" y="1311" width="15" height="14" /> 
  <logoutDelay active="false" /> 
  </region>
  </region>

and before this

Code:
- <region type="DungeonRegion" priority="50" name="Doom">
  <rect x="256" y="0" width="256" height="304" /> 
  <go x="2366" y="1268" z="-85" /> 
  <music name="Dungeon9" /> 
  <entrance x="2357" y="1268" /> 
  </region>

or at least somewhere in your malas region area
then here are the files

one was made for ACC Core Spells and one for just the regular spells

i also through in a regions.txt if you get lost on where i put it in my regions.xml file

If any errors please ask ill try to help fix them but this works fine in our shard
 

Attachments

  • UnderworldRegionACC.zip
    1.2 KB · Views: 44
  • UnderworldRegion.zip
    1.1 KB · Views: 39
  • Regions.txt
    103.8 KB · Views: 46

Hands Of God

Sorceror
This is a great script. Thanks


I get one problem
This happens when they kill one of the two guards on the secound to last champ

Code:
Server Crash Report
===================

RunUO Version 2.1, Build 3641.39010
Operating System: Microsoft Windows NT 5.2.3790 Service Pack 2
.NET Framework: 2.0.50727.3603
Time: 1/28/2010 9:00:56 PM
Mobiles: 3775
Items: 130291
Exception:
System.NullReferenceException: Object reference not set to an instance of an object.
   at Server.Multis.BaseBoat.FindBoatAt(IPoint2D loc, Map map)
   at Server.Misc.TreasuresOfTokuno.CheckLocation(Mobile m)
   at Server.Misc.TreasuresOfTokuno.HandleKill(Mobile victim, Mobile killer)
   at Server.Mobiles.BaseCreature.OnDeath(Container c)
   at Server.Mobile.Kill()
   at Server.Mobile.Damage(Int32 amount, Mobile from, Boolean informMount)
   at Server.Mobile.Damage(Int32 amount, Mobile from)
   at Server.Mobiles.BaseCreature.Damage(Int32 amount, Mobile from)
   at Server.AOS.Damage(Mobile m, Mobile from, Int32 damage, Boolean ignoreArmor, Int32 phys, Int32 fire, Int32 cold, Int32 pois, Int32 nrgy, Int32 chaos, Int32 direct, Boolean keepAlive, Boolean archer)
   at Server.Items.BaseWeapon.OnHit(Mobile attacker, Mobile defender, Double damageBonus)
   at Server.Items.BaseRanged.OnHit(Mobile attacker, Mobile defender, Double damageBonus)
   at Server.Items.BaseWeapon.OnHit(Mobile attacker, Mobile defender)
   at Server.Items.BaseRanged.OnSwing(Mobile attacker, Mobile defender)
   at Server.Mobile.CombatTimer.OnTick()
   at Server.Timer.Slice()
   at Server.Core.Main(String[] args)
 

JamzeMcC

Squire
Wow, on testing this today, we ran into a bit of a problem. Not sure what I did wrong here lol

Code:
Server Crash Report
===================

RunUO Version 2.1, Build 3581.36464
Operating System: Microsoft Windows NT 6.0.6002 Service Pack 2
.NET Framework: 2.0.50727.4200
Time: 1/29/2010 4:48:16 AM
Mobiles: 36920
Items: 155394
Exception:
System.NullReferenceException: Object reference not set to an instance of an object.
   at Server.Items.RegionControl.Serialize(GenericWriter writer)
   at Server.StandardSaveStrategy.SaveItems(SaveMetrics metrics)
   at Server.DualSaveStrategy.<>c__DisplayClass1.<Save>b__0()
   at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart()
 
Top