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!

Druidic Spells Final-all 16 spells - updated 6th Jan 04

Status
Not open for further replies.

Voran

Wanderer
Druidic Spells Final-all 16 spells - updated 6th Jan 04

Click here to download

Summary:
An update of the original Druidic Spells posted by Tru. Currently for B36.

Description:
6 further Druid spells, and an updated book with descriptions of all the spells.
(note - to make this work with a non-AOS server, you'll need to create a treefriend mobile - I'd recomend making it a Dryad instead. I haven't done this, because I use AOS.)
New spells:
Stone Circle, Summon Firefly, Summon Treefriend, Nature's Passage, Lure Stone, Mushroom Gate, Restorative Soil, Enchanted Grove

Installation:
Initializer.cs:
Add these lines after the Chivalry and Necromancy spells(or replace the old Druid Spells)
[code:1]// 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 ) );[/code:1]

Changelog:
v 3 (Final release)
The spell Stone Cricle has been upgraded to be more... well... circular. Improved spellbook code by ViWinfii added - you can no longer see what spells you don't have do.

v 2.3
The spell Enchanted Grove has been added, and the spellbook updated accordingly!


v 2.2
The spell Restorative Soil, the special effects for it, and the spell book entry have been added!

v 2.1
Updated Reagent.cs now included - please note, if you have a custom Reagent.cs already, you will need to update it by hand.
Lure and Stone Circle no longer produce eternal, movable items. Both can now be dispelled.
Graphics fixes for the book and the Lure Spell have been added.
The sound effects for Stone Circle have been tweaked.


Again, if you don't use pet bonding, please see below for the "fix" to Nature's Passage.
 

KillerBeeZ

Knight
ok forgive me if I'm wrong, but I believe he intended you to d/l the old druid scripts and use his mods to edit them, as for the d/l link maybe he is spamming his site?
 

Voran

Wanderer
It's not traditional to spam a site on the "page not found" page - let me edit the link.

*edit*
There - sorry, it's nearly 3:00am here - I'd put a . instead of a / in the URL

Sample pictures:

 

Voran

Wanderer
I didn't mean to be snappish - it's been a long day.

I've got Enchanted Grove and Restoring Soil still to do - Soil will be a Resurrect spell, Grove... well, I have no idea yet :) Probably a wood that attacks things.
*shrugs*
This was a bit of a break from the UVII spells, and a chance to dabble in spell book gumps.
By the end of the weekend, I'm hoping to have the new Druid spells fixed and finished, and the beta version of my UVII spellbook complete.
*goes to bed*
 

wraith

Wanderer
I installed the new spells. but i got this error.



[code:1]Scripts: Compiling C# scripts...failed (3 errors, 8 warnings)
- Warning: Scripts\Custom\Modified\Items\Wands\BaseWand.cs: CS0219: (line 211, column 8) The variable 'number
' is assigned but its value is never used
- Warning: Scripts\Custom\Armor\HoodedRobe.cs: CS0183: (line 34, column 20) The given expression is always of
the provided ('Server.Mobile') type
- Warning: Scripts\Custom\Armor\HoodedRobe.cs: CS0183: (line 38, column 21) The given expression is always of
the provided ('Server.Mobile') type
- Warning: Scripts\Custom\Commands\jail.cs: CS0168: (line 323, column 5) The variable 'err' is declared but n
ever used
- Warning: Scripts\Custom\Commands\jail.cs: CS0168: (line 442, column 7) The variable 'err' is declared but n
ever used
- Warning: Scripts\Custom\Commands\jail.cs: CS0168: (line 457, column 4) The variable 'err' is declared but n
ever used
- Warning: Scripts\Custom\Quests\FortuneTellerQuest\Items\TamireyasGem.cs: CS0162: (line 40, column 4) Unreac
hable code detected
- Warning: Scripts\Custom\Quests\SlayersQuest\SlayerQuestGump.cs: CS0219: (line 26, column 39) The variable '
initialState' is assigned but its value is never used
- Error: Scripts\Custom\Spells\Druid\Spells\NaturesPassageSpell.cs: CS1501: (line 111, column 5) No overload
for method 'TeleportPets' takes '4' arguments
- Error: Scripts\Custom\Spells\Druid\Spells\TreefellowSpell.cs: CS0246: (line 47, column 30) The type or name
space name 'SummonedTreefellow' could not be found (are you missing a using directive or an assembly reference
?)
- Error: Scripts\Custom\Spells\Edited Files\Initializer.cs: CS0234: (line 140, column 61) The type or namespa
ce name 'MushroomCircleSpell' does not exist in the class or namespace 'Server.Spells.Druid' (are you missing
an assembly reference?)
Scripts: One or more scripts failed to compile or no script files were found.
- Press return to exit, or R to try again.
[/code:1]

im not sure what to do. please help. I have setup the initializer and everything i can think of.
 

KillerBeeZ

Knight
Voran said:
I didn't mean to be snappish - it's been a long day.

I've got Enchanted Grove and Restoring Soil still to do - Soil will be a Resurrect spell, Grove... well, I have no idea yet :) Probably a wood that attacks things.
*shrugs*
This was a bit of a break from the UVII spells, and a chance to dabble in spell book gumps.
By the end of the weekend, I'm hoping to have the new Druid spells fixed and finished, and the beta version of my UVII spellbook complete.
*goes to bed*

what level is Enchanted grove? cause if its low you can be really unique and make it so that the area your in is temporarily safe to logout in (as long as its not in town) so far I dont believe there is a spell for this, granted camping is quite easy to use, but what are spells really but eleborate ways to do normal things? and it would really make it hard to pk a Druid as he casts a spell and logs out :)

just an idea
 

Voran

Wanderer
Killer:[/n] Nice idea!

Wraith: Ah, sorry -my shard uses the pet bonding system. Here's the one if you're not using Bonding:
[code:1]using System;
using Server.Items;
using Server.Multis;
using Server.Network;
using Server.Targeting;
using Server.Regions;
using Server.Mobiles;

namespace Server.Spells.Druid
{
public class NaturesPassageSpell : DruidicSpell
{
private static SpellInfo m_Info = new SpellInfo(
"Nature's Passage", "Kes Sec Vauk",
SpellCircle.Fourth,
239,
9031,
Reagent.BlackPearl,
Reagent.Bloodmoss,
Reagent.MandrakeRoot
);
public override double CastDelay{ get{ return 0.5; } }
public override double RequiredSkill{ get{ return 15.0; } }
public override int RequiredMana{ get{ return 10; } }
private RunebookEntry m_Entry;
private Runebook m_Book;

public NaturesPassageSpell( Mobile caster, Item scroll ) : this( caster, scroll, null, null )
{
}

public NaturesPassageSpell( Mobile caster, Item scroll, RunebookEntry entry, Runebook book ) : base( caster, scroll, m_Info )
{
m_Entry = entry;
m_Book = book;
}



public override void OnCast()
{
if ( m_Entry == null )
Caster.Target = new InternalTarget( this );
else
Effect( m_Entry.Location, m_Entry.Map, true );
}

public override bool CheckCast()
{
if ( Caster.Criminal )
{
Caster.SendLocalizedMessage( 1005561, "", 0x22 ); // Thou'rt a criminal and cannot escape so easily.
return false;
}
else if ( SpellHelper.CheckCombat( Caster ) )
{
Caster.SendLocalizedMessage( 1005564, "", 0x22 ); // Wouldst thou flee during the heat of battle??
return false;
}
else if ( Server.Misc.WeightOverloading.IsOverloaded( Caster ) )
{
Caster.SendLocalizedMessage( 502359, "", 0x22 ); // Thou art too encumbered to move.
return false;
}

return SpellHelper.CheckTravel( Caster, TravelCheckType.RecallFrom );
}

public void Effect( Point3D loc, Map map, bool checkMulti )
{
if ( map == null || (!Core.AOS && Caster.Map != map) )
{
Caster.SendLocalizedMessage( 1005569 ); // You can not recall to another facet.
}
else if ( !SpellHelper.CheckTravel( Caster, TravelCheckType.RecallFrom ) )
{
}
else if ( !SpellHelper.CheckTravel( Caster, map, loc, TravelCheckType.RecallTo ) )
{
}
else if ( Caster.Kills >= 5 && map != Map.Felucca )
{
Caster.SendLocalizedMessage( 1019004 ); // You are not allowed to travel there.
}
else if ( Caster.Criminal )
{
Caster.SendLocalizedMessage( 1005561, "", 0x22 ); // Thou'rt a criminal and cannot escape so easily.
}
else if ( SpellHelper.CheckCombat( Caster ) )
{
Caster.SendLocalizedMessage( 1005564, "", 0x22 ); // Wouldst thou flee during the heat of battle??
}
else if ( Server.Misc.WeightOverloading.IsOverloaded( Caster ) )
{
Caster.SendLocalizedMessage( 502359, "", 0x22 ); // Thou art too encumbered to move.
}
else if ( !map.CanSpawnMobile( loc.X, loc.Y, loc.Z ) )
{
Caster.SendLocalizedMessage( 501942 ); // That location is blocked.
}
else if ( (checkMulti && SpellHelper.CheckMulti( loc, map )) )
{
Caster.SendLocalizedMessage( 501942 ); // That location is blocked.
}
else if ( m_Book != null && m_Book.CurCharges <= 0 )
{
Caster.SendLocalizedMessage( 502412 ); // There are no charges left on that item.
}
else if ( CheckSequence() )
{
// BaseCreature.TeleportPets( Caster, loc, map, true );
if ( m_Book != null )
--m_Book.CurCharges;

Caster.PlaySound( 0x19 );
Effects.SendLocationParticles( Caster, 0xC87, 9, 10, 5025 );
Caster.Map = map;
Caster.Location = loc;
Caster.PlaySound( 0x19 );
Effects.SendLocationParticles( Caster, 0xC87, 9, 10, 5025 );

}

FinishSequence();
}

private class InternalTarget : Target
{
private NaturesPassageSpell m_Owner;

public InternalTarget( NaturesPassageSpell owner ) : base( 12, false, TargetFlags.None )
{
m_Owner = owner;

owner.Caster.LocalOverheadMessage( MessageType.Regular, 0x3B2, 501029 ); // Select Marked item.
}

protected override void OnTarget( Mobile from, object o )
{
if ( o is RecallRune )
{
RecallRune rune = (RecallRune)o;

if ( rune.Marked )
m_Owner.Effect( rune.Target, rune.TargetMap, true );
else
from.SendLocalizedMessage( 501805 ); // That rune is not yet marked.
}
else if ( o is Runebook )
{
RunebookEntry e = ((Runebook)o).Default;

if ( e != null )
m_Owner.Effect( e.Location, e.Map, true );
else
from.SendLocalizedMessage( 502354 ); // Target is not marked.
}
else if ( o is Key && ((Key)o).KeyValue != 0 && ((Key)o).Link is BaseBoat )
{
BaseBoat boat = ((Key)o).Link as BaseBoat;

if ( !boat.Deleted && boat.CheckKey( ((Key)o).KeyValue ) )
m_Owner.Effect( boat.GetMarkedLocation(), boat.Map, false );
else
from.Send( new MessageLocalized( from.Serial, from.Body, MessageType.Regular, 0x3B2, 3, 502357, from.Name, "" ) ); // I can not recall from that object.
}
else
{
from.Send( new MessageLocalized( from.Serial, from.Body, MessageType.Regular, 0x3B2, 3, 502357, from.Name, "" ) ); // I can not recall from that object.
}
}

protected override void OnTargetFinish( Mobile from )
{
m_Owner.FinishSequence();
}
}
}
}
[/code:1]

Also some idiot who decided to post his scripts at 03:00 decided to leave out SummonedTreefellow - it's in the zip now.
 

bleis

Sorceror
hmmmm how about adding the spell intlizer too or even put it in the zip,... cause its a bit stupied that we have to dig up an old script to get it....

Any way its a great script, thanks a lot...
 

batarex

Sorceror
GREAT WORK !!, love the druid spells... only one problem seems stone circle was left out of the zip. I can understand missing something like that as its 5:30 am here and i'm still playing with your spells, I Love them !!!
 

hellspawn

Wanderer
Just a Question: new reagents works in this simple manner or i must do something to insert it?(As new pictures etc...)
 
E

enoch144

Guest
Bugs in Druid Spells Version 2

*Summon Firefly scroll will not drop into my spellbooks
*Circle of Stone leaves the stones on the ground and they do not decay, allowing any player to pick them up and take them home
*Lure Stone graphics do not place correctly, and overlap each other, one piece of the lure stone is movable and people can pick it up, the other piece becomes a permanent static part of the map and does not decay (players will be leaving rocks everywhere that only a GM can remove)

*is firefly meant to be invisible? I just see a light radius

Enoch
 

Styla

Wanderer
These are great scripts and I am looking forward to any more you will make. I wanted to add the druid class to my shard, and you made it possible.
I did find one small bug. The spelling of Petrified is not consistent. Some scripts have petrAfiedwood and others have petrIfiedwood. It does not matter to me if you use the correct or incorrect spelling, just please make the spelling consistent. Then I don't freak because the complie blows error messages at me.
Thanks again for the scripts.
 

Voran

Wanderer
The spell initializer is one of the core scripts. You only need to copy and paste the additions posted at the top of this post.

No new graphics are required. I will NEVER do a script that needs custom grahpics. It's too much hassle.

The Stone Circle files are included - logically, they're called Mushroom Circle :) (it was originally a circle of mushrooms.)

I will be updating later tonight with bug fixes and one or both of the missing spells.
 
Status
Not open for further replies.
Top