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.1] FS:Grave Digging System

RoninGT

Sorceror
FS: Grave Digging System

Version: 0.0.4 beta
Release Date: 7/29/2011
Built On: RunUO 2.1 revision 605

Update 8/1/2011
  • Fixed spelling mistakes
  • Removed unused code that was causing double multi times amounts on stack-able items.
  • Changed found treasure maps to randomly choose a level between 1-7, You may mod if you dont have level 7 maps.
  • Added a range check when digging, Can no longer dig from max range.
  • Removed the "You finish digging" message.
  • Special shovels now spawn with random charges between 5-20 decreasing with the power of the shovel.
  • Added my original grave digger quest back into system as an optional install.
  • Added 2 new shovels increasing your bonus by x6 and x8 these shovels are a part of the grave digger quest but can be used without the quest.

Update 7/30/2011
Special thanks to Iraq- for his feedback on the system for these updates
  • System now has a 3 second limit between digs. This also comes with dig animation and sound.
  • Added new shovel called "a grave diggers shovel" which has 15 uses and x4 bonus this found in the rare loot table of the system.
  • Lowered amounts given to stack-able items.
  • System now has a significant chance to not find anything regardless of skill (Cant get something in every swing)
  • All skill levels now have a chance to disturb the dead (Spawn monsters)
  • Added gold to generic loot table instead of chance to get it with and item.
  • Added fertile dirt to the generic loot table.
  • Fixed problem with monsters z on spawn.
Update 7/29/2011
  • System now check to see if your using a sturdy shovel and applies correct bonus.
  • Tool bonus now effects the amount of items you dig up including gold.
Overview
Allows players to dig for treasures from a grave. The player uses any shovel to dig in a grave using the skills mining to dig for the treasure and forensics to make sense of what they find and recover the treasure. However depending on their skill they might end up disturbing the dead and have nasty creatures of the underworld attacking them.

Currently i have 2 loot tables setup for this system. 1 is a generic item list that includes basic items such as gems, regs, and bones. I plan to add in more generic loot as the system goes on. The 2nd loot table is for rare items such as artifacts. I have 3 times in that loot table which are Axe Of The Heavens, Armor Of Fortune, and Bracelet Of Health. Feel free to change or add to these as you see fit. Drop rates are set based on the players forensics. The player must have over 80 forensics to even have a chance at a rare drop item. A player with 100 forensics will have a 2% chance at a drop before the tool bonus. A normal shovel does not give the player a tool bonus however a sturdy shovel will give the player a x2 bonus to his or her chance at a rare item drop.

Future Plans
  • Digging has a chance to spawn a mini boss for player to engage in pve combat for other rare items.
  • More Custom items and mobiles for system.
Disclaimer
The scripts posted here are for testing only. The drop rates of items have not been fully tested and by be set to high and may over populate items on your server. Please review all drop rates and items dropped to make sure they are suitable for your server before installing these scripts on an active server.

Install
Drop the "FS Grave Digging System" folder into your custom scripts folder.

Only stock file you need to mod is HarvestTarget.cs. Open HarvestTarget.cs and find...

Code:
using Server.Engines.Quests.Hag;

Below add

Code:
using Server.FSGraveDiggingSystem;

Then find...

Code:
                        if ( qs is WitchApprenticeQuest )
                        {
                            FindIngredientObjective obj = qs.FindObjective( typeof( FindIngredientObjective ) ) as FindIngredientObjective;

                            if ( obj != null && !obj.Completed && obj.Ingredient == Ingredient.Bones )
                            {
                                player.SendLocalizedMessage( 1055037 ); // You finish your grim work, finding some of the specific bones listed in the Hag's recipe.
                                obj.Complete();

                                return;
                            }
                        }

Below add...

Code:
                        else
                        {
                            FSGraveSystem.StartDig( m_Tool, from, targeted );
                            return;
                        }

Then close and save it and your all done. Restart your server and get a shovel :)

To install the Grave digger quest just drop the folders in your customs folder and restart. Once restarted say [genGDQ in game to spawn the quest, Start the quest in brit trammel next to the tavern near main bank.

In Closing
First script i have done in like... 6-7 years :p so please report any bugs, questions, comments, suggestions and ill get to them asap.

Hope you enjoy!

RoninGT
 

Attachments

  • FS-GDS Beta 0.0.4.rar
    3.8 KB · Views: 138
  • FS-GDQ 1.0.0.rar
    21.9 KB · Views: 158

Iraq-

Sorceror
I like this concept. I've seen it before, but never tried it.

please report any bugs, questions, comments, suggestions and ill get to them asap.

After putting this into my server to play around with I noticed a few things:

1. The reward is instant upon begining to dig. (target ground, instantly an item pops into pack, character then goes through swining animation).
2. The amount of gems is pretty large (~70 gems in 1 swing).
3. Lots and lots of reagents.
4. I went through 5 shovels, and no monsters spawned.
5. I can go through an entire shovel in about 5 seconds by simply holding down LastObject and LastTarget.

1 Shovel = About: 1 Custom Drop, 50-350 each gem, 50-350 each reagent, ~10 Bones/Flesh, 0 Monsters, 3,000-5,000 gold.

I guess what I'm trying to say is that this concept is GOOD but just there is just a few things I'd like to see in this (wait timer between swings (~1-3 seconds), working monster spawn!) first.

Shovel = 20gp, 50 uses. Reward per shovel is ~35-60k + Value of Custom Drop.

One other thing: I don't see in the code where a SturdyShovel adds the 2x success multiplier. Could you point that out for me?
 

RoninGT

Sorceror
Iraq-, you are 100% correct the release i posted it was left out i am gonna drop another update tonight before i goto bed.

tass23, Ty its nice to be scripting again :)
 

Iraq-

Sorceror
Alright Ronin, I'm playing around with it too, but I'll be sure to get your next updated version. Also, I had edited my original response to this thread, so hopefully you got my full feedback.

It's fun though, adds some character to the graveyards for RP players. :)

Also, I wanted to mention that the monsters can't move when they are spawned. To fix this I simply just added "m.Z++;" in both of the spawning methods after the "m.Combatant = from;"

And to the rest of you, this system is much more balanced with the monsters spawning, although a timer is still needed between swings!
 

RoninGT

Sorceror
Ty again Iraq- i will get to work asap on some changes. The monster spawns atm are only setup for skill failure, so if your max skills you wont get monsters. Will have that in the and update tomorrow. Tyvm for your very detailed feedback. Check back tomorrow for and update.

Ronin
 

Pure Insanity

Sorceror
Nice system, I used the old one before in the past. Haven't had time to test out the new one. Only suggestion I could think of, would be to give it another option as to where to dig. AKA: Not the dirt grave tiles only.

Maybe consider making it ALSO work in regions that have the name "GraveDiggingRegion" or something. Thus allowing someone to allow this to happen in the entire graveyard, or some rather large custom grave without adding a bunch of ItemID's. Doing it by the region name instead of region object type would allow you to set up the regions via regions in a box.

It was the only thing I didn't like about the old system, it only worked on 4 specific dirt tiles without adding the ID's of other tiles...then it would work on those tiles anywhere. You could maybe even make it optional to require the region and the itemid. Then staff could prevent players from digging on certain graves, by not making a region there that shares the name. =P
 

Iraq-

Sorceror
Haha this is funny, I was going to add the grave diggers shovel last night to mine, but now I see you've done it already! :D
This update includes everything mentioned last night. Testing this I've found just a few more things worth mentioning:

1. You can dig infinitely far away from your target, so you could stand in the Guard Zone and then hit the grave from the corner of your screen, and the monsters will spawn on you then get instantly whacked.
2. "You find something burned in the grave." should be turned into "You find something buried in the grave."
3. Potentially remove the "you finish digging." message, as there is already a message sent every time.
4. Consider adding "Utility.RandomList( 5, 10, 15, 20 )" for the uses of the shovel, so that it isn't 15 all the time.
5. T-Maps appear to always be level 1. To change this I added the Utility.Random in this section of code:
Code:
                    i = new TreasureMap( level*Utility.RandomMinMax(1,4), from.Map );
                    from.SendMessage( "You find a treasure map!" );

I definitely think this system is MUCH better now, it takes ~5-10 minutes to burn through a shovel, you get only about ~15k worth of gems (if your lucky), and the rare custom item drop seems more rare.
 

Vrael

Traveler
Nice script, interesting idea!

I'm testing this system and when I trying to dig in some grave with the GraveDiggerShovel, nothing happens. What could be the problem??

Thanks!
 

RoninGT

Sorceror
Vrael, You can use any shovel and you need mining and forensics, make sure your digging in a grave.

I have update the system and added the grave digger quest back in. Hope you enjoy!
 

Iraq-

Sorceror
Great update.

Just wondering if there's a way to fix it so there isn't a 1 second pause between targeting the grave, and the dig animation starting?
 

Jhov

Wanderer
Vrael your problem is the static. If you unfreeze the static, you need freeze the static again and you can use the shovel in the graves.
 

RoninGT

Sorceror
Clark71822, Ty its nice to be back scripting again. Hopefully ill have some other scripts out soon.
 

Varkasal

Sorceror
Just a thought....... Gravedigging in most cultures is looked at as theft, you should flag the person digging the grave criminal :) also loss of karma should be involved ( Note: I have not looked at the scripts yet but plan to download it and play with it. ) Anyway my thought is make it worth digging the graves so people wont mind the karma loss or being flagged a criminal.
but don't make it too lucrative or easy for sure.
 
Top