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!

Druid Spells

Voran

Wanderer
[1.0] Druid Spells

Summary:
Druidic spells

Description:
Spells, right, for Druids.
Oh, more extended than that?
OK, a selection of 16 spells, scrolls, regs and spellbook for druidic spells. They use Animal Lore and Animal Taming.

Installation:
Stick files in Custom folder. Replace Spellbook.cs. Modify Initialiser to contain the following:
Code:
	// Druid Spells
         Register( 301, typeof( Druid.SheildOfEarthSpell ) );
         Register( 302, typeof( Druid.HollowReedSpell ) );
         Register( 303, typeof( Druid.PackOfBeastSpell ) );
         Register( 304, typeof( Druid.SpringOfLifeSpell ) );
         Register( 305, typeof( Druid.GraspingRootsSpell ) );
         Register( 306, typeof( Druid.BlendWithForestSpell ) );
         Register( 307, typeof( Druid.SwarmOfInsectsSpell ) );
         Register( 308, typeof( Druid.VolcanicEruptionSpell ) );
			 Register( 309, typeof( Druid.TreefellowSpell ) );
			 Register( 310, typeof( Druid.StoneCircleSpell ) );
			Register( 311, typeof( Druid.EnchantedGroveSpell ) );
			Register( 312, typeof( Druid.LureStoneSpell ) );
			Register( 313, typeof( Druid.NaturesPassageSpell ) );
			Register( 314, typeof( Druid.MushroomGatewaySpell ) );
			Register( 315, typeof( Druid.RestorativeSoilSpell ) );
			Register( 316, typeof( Druid.FireflySpell ) );

You'll need to use a modified reagent.cs file - this one was submitted by sk123:
Code:
using System;
using Server.Items;

namespace Server.Spells
{
	public class Reagent
	{
		private static Type[] m_Types = new Type[16]
			{
				typeof( BlackPearl ),
				typeof( Bloodmoss ),
				typeof( Garlic ),
				typeof( Ginseng ),
				typeof( MandrakeRoot ),
				typeof( Nightshade ),
				typeof( SulfurousAsh ),
				typeof( SpidersSilk ),
				typeof( BatWing ),
				typeof( GraveDust ),
				typeof( DaemonBlood ),
				typeof( NoxCrystal ),
				typeof( PigIron ),
				typeof( SpringWater ),
				typeof( DestroyingAngel ),
				typeof( PetrafiedWood )
			};

		public Type[] Types
		{
			get{ return m_Types; }
		}

		public static Type BlackPearl
		{
			get{ return m_Types[0]; }
			set{ m_Types[0] = value; }
		}

		public static Type Bloodmoss
		{
			get{ return m_Types[1]; }
			set{ m_Types[1] = value; }
		}

		public static Type Garlic
		{
			get{ return m_Types[2]; }
			set{ m_Types[2] = value; }
		}

		public static Type Ginseng
		{
			get{ return m_Types[3]; }
			set{ m_Types[3] = value; }
		}

		public static Type MandrakeRoot
		{
			get{ return m_Types[4]; }
			set{ m_Types[4] = value; }
		}

		public static Type Nightshade
		{
			get{ return m_Types[5]; }
			set{ m_Types[5] = value; }
		}

		public static Type SulfurousAsh
		{
			get{ return m_Types[6]; }
			set{ m_Types[6] = value; }
		}

		public static Type SpidersSilk
		{
			get{ return m_Types[7]; }
			set{ m_Types[7] = value; }
		}

		public static Type BatWing
		{
			get{ return m_Types[8]; }
			set{ m_Types[8] = value; }
		}

		public static Type GraveDust
		{
			get{ return m_Types[9]; }
			set{ m_Types[9] = value; }
		}

		public static Type DaemonBlood
		{
			get{ return m_Types[10]; }
			set{ m_Types[10] = value; }
		}

		public static Type NoxCrystal
		{
			get{ return m_Types[11]; }
			set{ m_Types[11] = value; }
		}

		public static Type PigIron
		{
			get{ return m_Types[12]; }
			set{ m_Types[12] = value; }
		}

		public static Type SpringWater
		{
			get{ return m_Types[13]; }
			set{ m_Types[13] = value; }
		}
		public static Type DestroyingAngel
		{
			get{ return m_Types[14]; }
			set{ m_Types[14] = value; }
		}
		public static Type PetrafiedWood
		{
			get{ return m_Types[15]; }
			set{ m_Types[15] = value; }
		}


	}
}
 

Attachments

  • Druid.zip
    41.6 KB · Views: 2,989
  • Spellbook.cs
    13.6 KB · Views: 3,359
  • SpellRegistry.cs
    1.8 KB · Views: 2,668

Avelyn

Sorceror
Voran, I'm glad you reposted this! I had a question for you. First, we love your spells.. my users all want to be GM Druids. But I have an issue with the spellbook gump. I remember someone redid it for you so it only shows the spells you have in the book, but when my users get an even number of spells 2 of them overlap. Did you have a fix for this or know about it?

thanks and again awesome job on these spells!
 

Voran

Wanderer
Oh drat!
It wasn't this book that was modified, but there's one more change you need to fix that. I've posted the SpellRegstry now, which you need.
 

skaven_Aps

Wanderer
hi

i have some troubles. compiler says
- Error: Scripts\custom\Druid\EnchantedGrove.cs: CS0117: (line 20, column 13) '
Server.Spells.Reagent' does not contain a definition for 'PetrafiedWood'

so, what i must change to fix it?
 

Thorax

Wanderer
Voran said:
Oh drat!
It wasn't this book that was modified, but there's one more change you need to fix that. I've posted the SpellRegstry now, which you need.

i think this might be your answer. I havent looked at the script yet tho
 

Avelyn

Sorceror
Voran said:
Oh drat!
It wasn't this book that was modified, but there's one more change you need to fix that. I've posted the SpellRegstry now, which you need.


So it's a problem with the SpellRegistry file not the gump file?
 

Voran

Wanderer
Avelyn: Yep! I remember thew trouble I had working out what was causing it first time :)

Skaven: You need to modify your reagent.cs file. I didn't post how to, because it's prety straightforward.
 

iZJokersWild

Wanderer
Okay, is probably a stupid question, but gonna ask anyway. How do I add the Druid Spellbook & scrolls to the druid vendor? The only thing it sells is the reagents. I tried adding different things to different vendors, and I always get errors. Would it be like this?:
Code:
Add( typeof( DruidicSpellbook ), 10 );

I am guessing that I would have to modify the SBDruid.cs file, but not 100% on how to get it working right, esp with the scrolls.
 

Jarrod

Sorceror
The problem with the overlapping is still an issue. SpellRegistry wont fix that problem, its a problem in the spellbook gump itself.

in DruidSpellbookGump.cs

add this at line 58:
Code:
         if (HasSpell( from, 301) ) 
         { 
            AddLabel( 315, dby, gth, "Shield Of Earth" ); 
            AddButton( 295, dby + 3, sbtn, sbtn, 1, GumpButtonType.Reply, 1 ); 
            dbpy = dbpy + 20;              
         }

further down, remove this from the script:
Code:
         if (HasSpell( from, 301) ) 
         { 
            AddLabel( 315, dby, gth, "Shield Of Earth" ); 
            AddButton( 295, dby + 3, sbtn, sbtn, 1, GumpButtonType.Reply, 1 ); 
            
         }

works fine after that
 

ViWinfii

Sorceror
Edited druidicspellbookgump

Here is the druidic spellbook that I edited if people wanted it, I still have it. I think Voran's built-in spellbook gump is the same thing, I haven't looked at it yet.

Code:
using System;
using System.Collections;
using Server;
using Server.Items;
using Server.Network;
using Server.Spells;
using Server.Spells.Druid;
using Server.Prompts;

namespace Server.Gumps
{
	public class DruidicSpellbookGump : Gump
	{
		private DruidicSpellbook m_Book;
		
		int gth = 0x903;
		private void AddBackground()
		{
			AddPage( 0 );
			
			AddImage( 100, 10, 0x899, 0 );
			//   AddImage( 255, 10, 0x8AD, 0x48B );
			
			
			
			// AddLabel( 140, 45, gth, "Ohm - Earth" );
			// AddLabel( 140, 60, gth, "Ess - Air" );
			// AddLabel( 140, 75, gth, "Crur - Fire" );
			// AddLabel( 140, 90, gth, "Sepa - Water" );
			// AddLabel( 140, 110, gth, "Kes - One" );
			// AddLabel( 140, 125, gth, "Sec - Whole" );
			// AddLabel( 140, 140, gth, "En  - Call" );
			// AddLabel( 140, 155, gth, "Vauk - Banish" );
			// AddLabel( 140, 170, gth, "Tia - Befoul" );
			// AddLabel( 140, 185, gth, "Ante - Cleanse" );
			
		}
		
		public static bool HasSpell( Mobile from, int spellID )
		{
			Spellbook book = Spellbook.Find( from, spellID );
			return ( book != null && book.HasSpell( spellID ) );
		}
		
		
		public DruidicSpellbookGump( Mobile from, DruidicSpellbook book ) : base( 150, 200 )
		{
			
			m_Book = book;
			AddBackground();
			AddPage( 1 );
			AddLabel( 150, 17, gth, "Natural Magic" );
			int sbtn = 0x93A;
			int dby = 40;
			int dbpy = 40;;
			AddButton( 396, 14, 0x89E, 0x89E, 17, GumpButtonType.Page, 2 );
			
			if (HasSpell( from, 316) )
			{
				AddLabel( 145, dbpy, gth, "Summon Firefly" );
				AddButton( 125, dbpy + 3, sbtn, sbtn, 16, GumpButtonType.Reply, 1 );
				dby = dby + 20;
			}
			if (HasSpell( from, 302) )
			{
				AddLabel( 145, dby, gth, "Hollow Reed" );
				AddButton( 125, dby + 3, sbtn, sbtn, 2, GumpButtonType.Reply, 1 );
				dby = dby + 20;
				
			}
			if (HasSpell( from, 303) )
			{
				AddLabel( 145, dby, gth, "Pack Of Beasts" );
				AddButton( 125, dby + 3, sbtn, sbtn, 3, GumpButtonType.Reply, 1 );
				dby = dby + 20;
			}
			if (HasSpell( from, 304) )
			{
				AddLabel( 145, dby, gth, "Spring Of Life" );
				AddButton( 125, dby + 3, sbtn, sbtn, 4, GumpButtonType.Reply, 1 );
				dby = dby + 20;
			}
			if (HasSpell( from, 305) )
			{
				AddLabel( 145, dby, gth, "Grasping Roots" );
				AddButton( 125, dby + 3, sbtn, sbtn, 5, GumpButtonType.Reply, 1 );
				dby = dby + 20;
			}
			if (HasSpell( from, 306) )
			{
				AddLabel( 145, dby, gth, "Blend With Forest" );
				AddButton( 125, dby + 3, sbtn, sbtn, 6, GumpButtonType.Reply, 1 );
				dby = dby + 20;
			}
			if (HasSpell( from, 307) )
			{
				AddLabel( 145, dby, gth, "Swarm Of Insects" );
				AddButton( 125, dby + 3, sbtn, sbtn, 7, GumpButtonType.Reply, 1 );
				dby = dby + 20;
			}
			if (HasSpell( from, 308) )
			{
				AddLabel( 145, dby, gth, "Volcanic Eruption" );
				AddButton( 125, dby + 3, sbtn, sbtn, 8, GumpButtonType.Reply, 1 );
			}
			if (HasSpell( from, 309) )
			{
				AddLabel( 315, dbpy, gth, "Summon Treefellow" );
				AddButton( 295, dbpy + 3, sbtn, sbtn, 9, GumpButtonType.Reply, 1 );
				dbpy = dbpy + 20;
			}
			if (HasSpell( from, 310) )
			{
				AddLabel( 315, dbpy, gth, "Stone Circle" );
				AddButton( 295, dbpy + 3, sbtn, sbtn, 10, GumpButtonType.Reply, 1 );
				dbpy = dbpy + 20;
			}
			if (HasSpell( from, 311) )
			{
				AddLabel( 315, dbpy, gth, "Enchanted Grove" );
				AddButton( 295, dbpy + 3, sbtn, sbtn, 11, GumpButtonType.Reply, 1 );
				dbpy = dbpy + 20;
			}
			if (HasSpell( from, 312) )
			{
				AddLabel( 315, dbpy, gth, "Lure Stone" );
				AddButton( 295, dbpy + 3, sbtn, sbtn, 12, GumpButtonType.Reply, 1 );
				dbpy = dbpy + 20;
			}
			if (HasSpell( from, 313) )
			{
				AddLabel( 315, dbpy, gth, "Nature's Passage" );
				AddButton( 295, dbpy + 3, sbtn, sbtn, 13, GumpButtonType.Reply, 1 );
				dbpy = dbpy + 20;
			}
			if (HasSpell( from, 314) )
			{
				AddLabel( 315, dbpy, gth, "Mushroom Gateway" );
				AddButton( 295, dbpy + 3, sbtn, sbtn, 14, GumpButtonType.Reply, 1 );
				dbpy = dbpy + 20;
			}
			if (HasSpell( from, 315) )
			{
				AddLabel( 315, dbpy, gth, "Restorative Soil" );
				AddButton( 295, dbpy + 3, sbtn, sbtn, 15, GumpButtonType.Reply, 1 );
				dbpy = dbpy + 20;
			}
			if (HasSpell( from, 301) )
			{
				AddLabel( 315, dby, gth, "Shield Of Earth" );
				AddButton( 295, dby + 3, sbtn, sbtn, 1, GumpButtonType.Reply, 1 );
				
			}
			
			int i = 2;
			
			if (HasSpell( from, 316) )
			{
				AddPage( i );
				AddButton( 396, 14, 0x89E, 0x89E, 18, GumpButtonType.Page, i+1 );
				AddButton( 123, 15, 0x89D, 0x89D, 19, GumpButtonType.Page, i-1 );
				AddLabel( 150, 37, gth, "Summon Firefly" );
				AddHtml( 130, 59, 123, 132, "Summons a tiny firefly to light the Druid's path. The Firefly is a weak creature with little or no combat skills.", false, false );
				AddLabel( 295, 37, gth, "Reagents:" );
				AddLabel( 295, 57, gth, "Sulfurous Ash" );
				AddLabel( 295, 77, gth, "Destroying Angel" );
				AddLabel( 295, 167, gth, "Required Skill:  1" );
				AddLabel( 295, 187, gth, "Required Mana:  10" );
				i++;
			}
			
			if (HasSpell( from, 302) )
			{
				AddPage( i );
				AddButton( 396, 14, 0x89E, 0x89E, 18, GumpButtonType.Page, i+1 );
				AddButton( 123, 15, 0x89D, 0x89D, 19, GumpButtonType.Page, i-1 );
				AddLabel( 150, 37, gth, "Hollow Reed" );
				AddHtml( 130, 59, 123, 132, "Increases both the strength and the intelligence of the Druid.", false, false );
				AddLabel( 295, 37, gth, "Reagents:" );
				AddLabel( 295, 57, gth, "Bloodmoss" );
				AddLabel( 295, 77, gth, "Mandrake Root" );
				AddLabel( 295, 97, gth, "Nightshade" );
				AddLabel( 295, 167, gth, "Required Skill:  30" );
				AddLabel( 295, 187, gth, "Required Mana:  30" );
				i++;
			}
			
			if (HasSpell( from, 303) )
			{
				AddPage( i );
				AddButton( 396, 14, 0x89E, 0x89E, 18, GumpButtonType.Page, i+1 );
				AddButton( 123, 15, 0x89D, 0x89D, 19, GumpButtonType.Page, i-1 );
				AddLabel( 150, 37, gth, "Pack Of Beasts" );
				AddHtml( 130, 59, 123, 132, "Summons a pack of beasts to fight for the Druid. Spell length increases with skill.", false, false );
				AddLabel( 295, 37, gth, "Reagents:" );
				AddLabel( 295, 57, gth, "Bloodmoss" );
				AddLabel( 295, 77, gth, "Black Pearl" );
				AddLabel( 295, 97, gth, "Petrified Wood" );
				AddLabel( 295, 167, gth, "Required Skill:  40" );
				AddLabel( 295, 187, gth, "Required Mana:  45" );
				i++;
			}
			if (HasSpell( from, 304) )
			{
				AddPage( i );
				AddButton( 396, 14, 0x89E, 0x89E, 18, GumpButtonType.Page, i+1 );
				AddButton( 123, 15, 0x89D, 0x89D, 19, GumpButtonType.Page, i-1 );
				AddLabel( 150, 37, gth, "Spring Of Life" );
				AddHtml( 130, 59, 123, 132, "Creates a magical spring that heals the Druid and their party.", false, false );
				AddLabel( 295, 37, gth, "Reagents:" );
				AddLabel( 295, 57, gth, "Spring Water" );
				AddLabel( 295, 77, gth, "Spring Water" );
				AddLabel( 295, 167, gth, "Required Skill:  40" );
				AddLabel( 295, 187, gth, "Required Mana:  40" );
				i++;
			}
			if (HasSpell( from, 305) )
			{
				AddPage( i );
				AddButton( 396, 14, 0x89E, 0x89E, 18, GumpButtonType.Page, i+1 );
				AddButton( 123, 15, 0x89D, 0x89D, 19, GumpButtonType.Page, i-1 );
				AddLabel( 150, 37, gth, "Grasping Roots" );
				AddHtml( 130, 59, 123, 132, "Summons roots from the ground to entangle a single target.", false, false );
				AddLabel( 295, 37, gth, "Reagents:" );
				AddLabel( 295, 57, gth, "Bloodmoss" );
				AddLabel( 295, 77, gth, "Spring Water" );
				AddLabel( 295, 97, gth, "Spiders Silk" );
				AddLabel( 295, 167, gth, "Required Skill:  40" );
				AddLabel( 295, 187, gth, "Required Mana:  40" );
				i++;
			}
			if (HasSpell( from, 306) )
			{
				AddPage( i );
				AddButton( 396, 14, 0x89E, 0x89E, 18, GumpButtonType.Page, i+1 );
				AddButton( 123, 15, 0x89D, 0x89D, 19, GumpButtonType.Page, i-1 );
				AddLabel( 150, 37, gth, "Blend With Forest" );
				AddHtml( 130, 59, 123, 132, "The Druid blends seamlessly with the background, becoming invisible to their foes.", false, false );
				AddLabel( 295, 37, gth, "Reagents:" );
				AddLabel( 295, 57, gth, "Bloodmoss" );
				AddLabel( 295, 77, gth, "Nightshade" );
				AddLabel( 295, 167, gth, "Required Skill:  75" );
				AddLabel( 295, 187, gth, "Required Mana:  60" );
				i++;
			}
			if (HasSpell( from, 307) )
			{
				AddPage( i );
				AddButton( 396, 14, 0x89E, 0x89E, 18, GumpButtonType.Page, i+1 );
				AddButton( 123, 15, 0x89D, 0x89D, 19, GumpButtonType.Page, i-1 );
				AddLabel( 150, 37, gth, "Swarm Of Insects" );
				AddHtml( 130, 59, 123, 132, "Summons a swam of insects that bite and sting the Druid's enemies.", false, false );
				AddLabel( 295, 37, gth, "Reagents:" );
				AddLabel( 295, 57, gth, "Garlic" );
				AddLabel( 295, 77, gth, "Nightshade" );
				AddLabel( 295, 97, gth, "Destroying Angel" );
				AddLabel( 295, 167, gth, "Required Skill:  85" );
				AddLabel( 295, 187, gth, "Required Mana:  70" );
				i++;
			}
			if (HasSpell( from, 308) )
			{
				AddPage( i );
				AddButton( 396, 14, 0x89E, 0x89E, 18, GumpButtonType.Page, i+1 );
				AddButton( 123, 15, 0x89D, 0x89D, 19, GumpButtonType.Page, i-1 );
				AddLabel( 150, 37, gth, "Volcanic Eruption" );
				AddHtml( 130, 59, 123, 132, "A blast of molten lava bursts from the ground, hitting every enemy nearby.", false, false );
				AddLabel( 295, 37, gth, "Reagents:" );
				AddLabel( 295, 57, gth, "Sulfurous Ash" );
				AddLabel( 295, 77, gth, "Destroying Angel" );
				AddLabel( 295, 167, gth, "Required Skill:  98" );
				AddLabel( 295, 187, gth, "Required Mana:  85" );
				i++;
			}
			if (HasSpell( from, 309) )
			{
				AddPage( i );
				AddButton( 396, 14, 0x89E, 0x89E, 18, GumpButtonType.Page, i+1 );
				AddButton( 123, 15, 0x89D, 0x89D, 19, GumpButtonType.Page, i-1 );
				AddLabel( 150, 37, gth, "Summon Treefellow" );
				AddHtml( 130, 59, 123, 132, "Summons a powerful woodland spirit to fight for the Druid.", false, false );
				AddLabel( 295, 37, gth, "Reagents:" );
				AddLabel( 295, 57, gth, "Bloodmoss" );
				AddLabel( 295, 77, gth, "Black Pearl" );
				AddLabel( 295, 97, gth, "Petrified Wood" );
				AddLabel( 295, 167, gth, "Required Skill:  80" );
				AddLabel( 295, 187, gth, "Required Mana:  50" );
				i++;
			}
			if (HasSpell( from, 310) )
			{
				AddPage( i );
				AddButton( 396, 14, 0x89E, 0x89E, 18, GumpButtonType.Page, i+1 );
				AddButton( 123, 15, 0x89D, 0x89D, 19, GumpButtonType.Page, i-1 );
				AddLabel( 150, 37, gth, "Stone Circle" );
				AddHtml( 130, 59, 123, 132, "Forms an impassable circle of stones, ideal for trapping enemies.", false, false );
				AddLabel( 295, 37, gth, "Reagents:" );
				AddLabel( 295, 57, gth, "Black Pearl" );
				AddLabel( 295, 77, gth, "Ginseng" );
				AddLabel( 295, 97, gth, "Spring Water" );
				AddLabel( 295, 167, gth, "Required Skill:  60" );
				AddLabel( 295, 187, gth, "Required Mana:  45" );
				i++;
			}
			if (HasSpell( from, 311) )
			{
				AddPage( i );
				AddButton( 396, 14, 0x89E, 0x89E, 18, GumpButtonType.Page, i+1 );
				AddButton( 123, 15, 0x89D, 0x89D, 19, GumpButtonType.Page, i-1 );
				AddLabel( 150, 37, gth, "Enchanted Grove" );
				AddHtml( 130, 59, 123, 132, "Causes a grove of magical trees to grow.", false, false );
				AddLabel( 295, 37, gth, "Reagents:" );
				AddLabel( 295, 57, gth, "Petrified Wood" );
				AddLabel( 295, 77, gth, "Mandrake Root" );
				AddLabel( 295, 97, gth, "Spring Water" );
				AddLabel( 295, 167, gth, "Required Skill:  95" );
				AddLabel( 295, 187, gth, "Required Mana:  60" );
				i++;
			}
			if (HasSpell( from, 312) )
			{
				AddPage( i );
				AddButton( 396, 14, 0x89E, 0x89E, 18, GumpButtonType.Page, i+1 );
				AddButton( 123, 15, 0x89D, 0x89D, 19, GumpButtonType.Page, i-1 );
				AddLabel( 150, 37, gth, "Lure Stone" );
				AddHtml( 130, 59, 123, 132, "Creates a magical stone that calls all nearby animals to it.", false, false );
				AddLabel( 295, 37, gth, "Reagents:" );
				AddLabel( 295, 57, gth, "Black Pearl" );
				AddLabel( 295, 77, gth, "Spring Water" );
				AddLabel( 295, 167, gth, "Required Skill:  15" );
				AddLabel( 295, 187, gth, "Required Mana:  30" );
				i++;
			}
			if (HasSpell( from, 313) )
			{
				AddPage( i );
				AddButton( 396, 14, 0x89E, 0x89E, 18, GumpButtonType.Page, i+1 );
				AddButton( 123, 15, 0x89D, 0x89D, 19, GumpButtonType.Page, i-1 );
				AddLabel( 150, 37, gth, "Nature's Passage" );
				AddHtml( 130, 59, 123, 132, "The Druid is turned into flower petals and carried on the wind to a recall rune location.", false, false );
				AddLabel( 295, 37, gth, "Reagents:" );
				AddLabel( 295, 57, gth, "Black Pearl" );
				AddLabel( 295, 77, gth, "Bloodmoss" );
				AddLabel( 295, 97, gth, "Mandrake Root" );
				AddLabel( 295, 167, gth, "Required Skill:  15" );
				AddLabel( 295, 187, gth, "Required Mana:  10" );
				i++;
			}
			if (HasSpell( from, 314) )
			{
				AddPage( i );
				AddButton( 396, 14, 0x89E, 0x89E, 18, GumpButtonType.Page, i+1 );
				AddButton( 123, 15, 0x89D, 0x89D, 19, GumpButtonType.Page, i-1 );
				AddLabel( 150, 37, gth, "Mushroom Gateway" );
				AddHtml( 130, 59, 123, 132, "A magical circle of mushrooms opens, allowing the Druid to step through it to another location.", false, false );
				AddLabel( 295, 37, gth, "Reagents:" );
				AddLabel( 295, 57, gth, "Black Pearl" );
				AddLabel( 295, 77, gth, "Spring Water" );
				AddLabel( 295, 97, gth, "Mandrake Root" );
				AddLabel( 295, 167, gth, "Required Skill:  70" );
				AddLabel( 295, 187, gth, "Required Mana:  40" );
				i++;
			}
			if (HasSpell( from, 315) )
			{
				AddPage( i );
				AddButton( 396, 14, 0x89E, 0x89E, 18, GumpButtonType.Page, i+1 );
				AddButton( 123, 15, 0x89D, 0x89D, 19, GumpButtonType.Page, i-1 );
				AddLabel( 150, 37, gth, "Restorative Soil" );
				AddHtml( 130, 59, 123, 132, "Saturates a patch of land with power, causing healing mud to seep through . The mud can restore the dead to life.", false, false );
				AddLabel( 295, 37, gth, "Reagents:" );
				AddLabel( 295, 57, gth, "Garlic" );
				AddLabel( 295, 77, gth, "Ginseng" );
				AddLabel( 295, 97, gth, "Spring Water" );
				AddLabel( 295, 167, gth, "Required Skill:  89" );
				AddLabel( 295, 187, gth, "Required Mana:  55" );
				i++;
			}
			if (HasSpell( from, 301) )
			{
				AddPage( i );
				AddButton( 123, 15, 0x89D, 0x89D, 19, GumpButtonType.Page, i-1 );
				AddLabel( 150, 37, gth, "Shield Of Earth" );
				AddHtml( 130, 59, 123, 132, "A quick-growing wall of foliage springs up at the bidding of the Druid.", false, false );
				AddLabel( 295, 37, gth, "Reagents:" );
				AddLabel( 295, 57, gth, "Ginseng" );
				AddLabel( 295, 77, gth, "Spring Water" );
				AddLabel( 295, 167, gth, "Required Skill:  20" );
				AddLabel( 295, 187, gth, "Required Mana:  15" );
				i++;
			}
			
			AddPage( i );
			AddButton( 123, 15, 0x89D, 0x89D, 19, GumpButtonType.Page, i-1 );
		}
		
		
		
		
		
		public override void OnResponse( NetState state, RelayInfo info )
		{
			Mobile from = state.Mobile;
			switch ( info.ButtonID )
			{
				case 0:
					{
						break;
					}
					
				case 1:
					{
						new SheildOfEarthSpell( from, null ).Cast();
						break;
					}
						
				case 2:
					{
						new HollowReedSpell( from, null ).Cast();
						break;
					}
						
				case 3:
					{
						new PackOfBeastSpell( from, null ).Cast();
						break;
					}
							
				case 4:
					{
						new SpringOfLifeSpell( from, null ).Cast();
						break;
					}
								
				case 5:
					{
						new GraspingRootsSpell( from, null ).Cast();
						break;
					}
									
				case 6:
					{
						new BlendWithForestSpell( from, null ).Cast();
						break;
					}
										
				case 7:
					{
						new SwarmOfInsectsSpell( from, null ).Cast();
						break;
					}
											
				case 8:
					{
						new VolcanicEruptionSpell( from, null ).Cast();
						break;
					}
												
				case 9:
					{
						new TreefellowSpell( from, null ).Cast();
						break;
					}
													
				case 10:
					{
						new StoneCircleSpell( from, null ).Cast();
						break;
					}
														
														
				case 11:
					{
						new EnchantedGroveSpell( from, null ).Cast();
						break;
					}
															
				case 12:
					{
						new LureStoneSpell( from, null ).Cast();
						break;
					}
																
				case 13:
					{
						new NaturesPassageSpell( from, null ).Cast();
						break;
					}
																	
				case 14:
					{
						new MushroomGatewaySpell( from, null ).Cast();
						break;
					}
																		
				case 15:
					{
						new RestorativeSoilSpell( from, null ).Cast();
						break;
					}
																			
				case 16:
					{
						new FireflySpell( from, null ).Cast();
						break;
					}
																			
				case 17:
					{
						from.PlaySound(0x55);
						break;
					}
			
				case 18:
					{
						from.PlaySound(0x55);
						break;
					}
																						
				case 19:
					{
						from.PlaySound(0x55);
						break;
					}
																							
			}
		}
	}
}

I have a question tho, what exactly does SpellRegistry.cs do? I have an older version of Voran's druid spells, and it isn't used.
 

Voran

Wanderer
Odd - I had that problem with my spellbook until I edited the spell registry to hold more spells, then the problem vanished.
 

gelfling

Wanderer
Ok did that:) THANKZ !!!!(i am new at his haha)
What do i need to change in the reagents.cs ?
And can i use you spellbook from the downloads
or do i need to use the one posted someweher on the firts page ?
Cant wait to see this working on the shard:)
Looks great !!!!!!!

Greetings gelfling
 

gelfling

Wanderer
O i forgot :)
I am not so sure wich aer the reagants ??? like springwater but wich are the rest ? How many are there ?
If you answer plz keep in mind i am very new at scripting ;-)

Greetings gelfling

gelfling said:
Ok did that:) THANKZ !!!!(i am new at his haha)
What do i need to change in the reagents.cs ?
And can i use you spellbook from the downloads
or do i need to use the one posted someweher on the firts page ?
Cant wait to see this working on the shard:)
Looks great !!!!!!!

Greetings gelfling
 

Voran

Wanderer
Here's mine, but it has more regs than the posted ones:
Code:
using System;
using Server.Items;

namespace Server.Spells
{
	public class Reagent
	{
		private static Type[] m_Types = new Type[20]
			{
				typeof( BlackPearl ),
				typeof( Bloodmoss ),
				typeof( Garlic ),
				typeof( Ginseng ),
				typeof( MandrakeRoot ),
				typeof( Nightshade ),
				typeof( SulfurousAsh ),
				typeof( SpidersSilk ),
				typeof( BatWing ),
				typeof( GraveDust ),
				typeof( DaemonBlood ),
				typeof( NoxCrystal ),
				typeof( PigIron ),
				typeof( Carrot ),
				typeof( Blackrock ),
				typeof( SpringWater ),
            typeof( DestroyingAngel ),
            typeof( PetrafiedWood ),
            typeof( WyrmsHeart ),
            typeof( SerpentsScale )
			};

		public Type[] Types
		{
			get{ return m_Types; }
		}

		public static Type BlackPearl
		{
			get{ return m_Types[0]; }
			set{ m_Types[0] = value; }
		}

		public static Type Bloodmoss
		{
			get{ return m_Types[1]; }
			set{ m_Types[1] = value; }
		}

		public static Type Garlic
		{
			get{ return m_Types[2]; }
			set{ m_Types[2] = value; }
		}

		public static Type Ginseng
		{
			get{ return m_Types[3]; }
			set{ m_Types[3] = value; }
		}

		public static Type MandrakeRoot
		{
			get{ return m_Types[4]; }
			set{ m_Types[4] = value; }
		}

		public static Type Nightshade
		{
			get{ return m_Types[5]; }
			set{ m_Types[5] = value; }
		}

		public static Type SulfurousAsh
		{
			get{ return m_Types[6]; }
			set{ m_Types[6] = value; }
		}

		public static Type SpidersSilk
		{
			get{ return m_Types[7]; }
			set{ m_Types[7] = value; }
		}

		public static Type BatWing
		{
			get{ return m_Types[8]; }
			set{ m_Types[8] = value; }
		}

		public static Type GraveDust
		{
			get{ return m_Types[9]; }
			set{ m_Types[9] = value; }
		}

		public static Type DaemonBlood
		{
			get{ return m_Types[10]; }
			set{ m_Types[10] = value; }
		}

		public static Type NoxCrystal
		{
			get{ return m_Types[11]; }
			set{ m_Types[11] = value; }
		}

		public static Type PigIron
		{
			get{ return m_Types[12]; }
			set{ m_Types[12] = value; }
		}
			public static Type Carrot
		{
			get{ return m_Types[13]; }
			set{ m_Types[13] = value; }
		}
			public static Type Blackrock
		{
			get{ return m_Types[14]; }
			set{ m_Types[14] = value; }
		}
		 public static Type SpringWater
      {
         get{ return m_Types[15]; }
         set{ m_Types[15] = value; }
      }

      public static Type DestroyingAngel
      {
         get{ return m_Types[16]; }
         set{ m_Types[16] = value; }
      }

      public static Type PetrafiedWood
      {
         get{ return m_Types[17]; }
         set{ m_Types[17] = value; }
      }
       public static Type WyrmsHeart
      {
         get{ return m_Types[18]; }
         set{ m_Types[18] = value; }
      }
       public static Type SerpentScale
      {
         get{ return m_Types[19]; }
         set{ m_Types[19] = value; }
      }
	}
}
 

gelfling

Wanderer
Thxxxxxxxxxxxxxxx your the best!!!!
Nearly there now *giggles*( i am a woman) lol
Ok now i have to put the scrolls ,book and reagents on a vendor.
I was tinking of putting it on a vendor thats allready in the stables???
Could i do that or should i do something else ? :)
I thank you alot for all your help sofar !!!!
Scripts i edited are fine now errors ...yesssssssssssss :)
So one last step to go :)
Greetings Gelfling
 
Top