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!

Ultima VII Spell project (Updated 15th Jan 2004) - v5.1

Status
Not open for further replies.

goodmojo

Wanderer
I cannot cast half the spells in the spellbook. Nothing happens, no magic words, no effects ,nada. Are they not all active yet? Ie, Weather, Ignite, Fire RIng and many others dont work.
 

Voran

Wanderer
if you look at the initializer on the first page, you can see which ones are active so far. The commented out ones aren't finished.
 

Voran

Wanderer
No idea what's wrong with the Armadillo spell, but I've updated anyway!
One new Forbidden Spell (not in the book):
VAS CORP (Mass Death)
Reagents: Garlic, Ginseng, Mandrake Root, Nightshade, Blood Moss
This spell causes everyone in sight (whom the mage can harm) to instantly drop dead.

And one Sixth Circle Spell:
KAL FLAM GRAV (Fire Ring)
Reagents: Sulfurous Ash, Black Pearl, Mandrake Root, Spider’s Silk
This spell create a ring of fire that will encircle the mage’s target.

The initializer's been updted on the first page, and all the scrolls have been changed slightly to fix a potential bug. The spellbook gump has also been modified to cast Fire Ring
 

wraith

Wanderer
cool update but i have 2 errors. LoL had 28. had to change some gump and spell class to ULTIMAVII from the spell circles they were in. here are the errors. i'm confussed.

[code:1]
- Error: Scripts\Spells\UltimaVII\Souless.cs: CS0246: (line 51, column 56) The
type or namespace name 'PeerSpell' could not be found (are you missing a using d
irective or an assembly reference?)
- Error: Scripts\Spells\UltimaVII\Souless.cs: CS0246: (line 52, column 46) The
type or namespace name 'PeerSpell' could not be found (are you missing a using d
irective or an assembly reference?)
[/code:1]

any ideas?

BTW what i edited was, instead of Linear and first, second, third and so on i use UltimaVII for the class.
 

wraith

Wanderer
ok i think i fixed it, changed the souless.cs file line 6 from

[code:1]using Server.Spells.Third;[/code:1]

to

[code:1]using Server.Spells.UltimaVII;[/code:1]

seems to have done the job. but when i cast it on myself ( as a admin) it works great untill the spell ends, at that point it leave me blessed. i dont have the time right now to see if it is because im an Admin or not, will check it out later. Great work man :)
 

wraith

Wanderer
Ok i was able to test it as a player and not as an admin. it does still leave me in blessed mode so i invaulnrable and i found you could cheat kinda. when the spell wheres off it will bring your body to you. not you back to your body. i see people cheating with this. unless this is what it is suppose to do.
 
Voran said:
No idea what's wrong with the Armadillo spell,

figured it out. gotta change the "300" in the spell registry to a higher number. i just went with 2000 and its working fine now.

and while we are speaking of the agamemnon spell ...
Anyone mounted dies, as they should, but their mount is left alive. is it possable to add another volly of death after a short delay?

please dont mistake this request for a critique. i am among your deciples.
 

wraith

Wanderer
I was wondering if anyone else has this trouble when casting the Peer spell on themselfs. it casts just fine, and i can rome around ( most cool) but there are 2 things that seem odd to me.

1) after the spell wears off, it leaves me blessed.
2) instead of my sight returning to my body, my body returns to my sight.

i have tested this as a Admin and a player, it does the same thing to both.
 

Voran

Wanderer
The body->sight thing is an issue I'm trying to fix for the next release - it was a quick fix ater returning your sight to your body ended up crashing you.

As to the blessed thing - it records your blessed state, so it should only leave you blessed if you were blessed before.
 

wraith

Wanderer
hmmm, im not blessed when i cast it, i checked this time, and i dont seem to be blessed while im under the spell. it seems to make me blessed when the spell weres off. not before or during. I.m running beta35 and a 2D client for what its worth.
 

wraith

Wanderer
I think i know whats wrong, after the spell is cast (Peer), it leaves my body in a nonblessed state and the eyes (if you will) ARE blessed. then when you return to your eyes it then makes you blessed. does that make sence to you? LoL i mean did i get across what i was trying to say? i know there is a bug you are trying to fix with the eye and body comeing together so this maybe a side effect.
 

bleis

Sorceror
well seem to me to be ok that your body returns to your eyes. reason for this is, you should time your sightseeing so you can come back before the spell is finished, as a backfire thing your body will return to your eyes insteed,....hehe and yes your body should be non blessed when you leave it and your eyes blessed ofcause.....it makes sence
 

LM

Wanderer
Fix for 3D Client

Okey, the bug really in 3D and not in script - client can't handle more than 30-35 pages with such massive info.
That why I convert all script description to html with scroll bars.
Here, my AncientSpellBookGump.cs

[code:1]
using System;
using System.Collections;
using Server;
using Server.Items;
using Server.Network;
using Server.Spells;
using Server.Spells.Linear;
using Server.Spells.First;
using Server.Spells.Second;
using Server.Spells.Third;
using Server.Spells.Fourth;
using Server.Spells.Fifth;
using Server.Spells.Sixth;
using Server.Spells.Seventh;
using Server.Spells.Eighth;
using Server.Prompts;

namespace Server.Gumps
{
public class AncientSpellbookGump : Gump
{
private AncientSpellbook m_Book;

int gth = 0x903;
public static bool HasSpell( Mobile from, int spellID )
{
Spellbook book = Spellbook.Find( from, spellID );
return ( book != null && book.HasSpell( spellID ) );
}


public AncientSpellbookGump( Mobile from, AncientSpellbook book ) : base( 179, 200 )
{
int sbtn = 0x93A;
int dby = 40;
m_Book = book;

AddPage( 0 );
AddImage( 100, 10, 0x89B, 0 );

AddPage( 1 );
AddLabel( 170, 17, gth, "Linear" );
AddButton( 396, 14, 0x89E, 0x89E, 17, GumpButtonType.Page, 2 );

if (HasSpell( from, 340) )
{
AddLabel( 145, dby, gth, "Fireworks" );
AddButton( 125, dby + 3, sbtn, sbtn, 1, GumpButtonType.Reply, 1 );
dby = dby + 20;
}
if (HasSpell( from, 341) )
{
AddLabel( 145, dby, gth, "Glimmer" );
AddButton( 125, dby + 3, sbtn, sbtn, 2, GumpButtonType.Reply, 1 );
dby = dby + 20;

}
if (HasSpell( from, 342) )
{
AddLabel( 145, dby, gth, "Awaken" );
AddButton( 125, dby + 3, sbtn, sbtn, 3, GumpButtonType.Reply, 1 );
dby = dby + 20;
}
if (HasSpell( from, 343) )
{
AddLabel( 145, dby, gth, "Thunder" );
AddButton( 125, dby + 3, sbtn, sbtn, 4, GumpButtonType.Reply, 1 );
dby = dby + 20;
}
if (HasSpell( from, 344) )
{
AddLabel( 145, dby, gth, "Weather" );
AddButton( 125, dby + 3, sbtn, sbtn, 5, GumpButtonType.Reply, 1 );
dby = dby + 20;
}
if (HasSpell( from, 345) )
{
AddLabel( 145, dby, gth, "Ignite" );
AddButton( 125, dby + 3, sbtn, sbtn, 6, GumpButtonType.Reply, 1 );
dby = dby + 20;
}
if (HasSpell( from, 346) )
{
AddLabel( 145, dby, gth, "Douse" );
AddButton( 125, dby + 3, sbtn, sbtn, 7, GumpButtonType.Reply, 1 );
dby = dby + 20;
}
if (HasSpell( from, 347) )
{
AddLabel( 145, dby, gth, "Help" );
AddButton( 125, dby + 3, sbtn, sbtn, 8, GumpButtonType.Reply, 1 );
}

dby = 40;
AddLabel( 291, 17, gth, "First Circle" );

if (HasSpell( from, 348) )
{
AddLabel( 315, dby, gth, "Locate" );
AddButton( 295, dby + 3, sbtn, sbtn, 9, GumpButtonType.Reply, 1 );
dby = dby + 20;
}
if (HasSpell( from, 349) )
{
AddLabel( 315, dby, gth, "Awaken All" );
AddButton( 295, dby + 3, sbtn, sbtn, 10, GumpButtonType.Reply, 1 );
dby = dby + 20;
}
if (HasSpell( from, 350) )
{
AddLabel( 315, dby, gth, "Detect Trap" );
AddButton( 295, dby + 3, sbtn, sbtn, 11, GumpButtonType.Reply, 1 );
dby = dby + 20;
}
if (HasSpell( from, 351) )
{
AddLabel( 315, dby, gth, "Great Douse" );
AddButton( 295, dby + 3, sbtn, sbtn, 12, GumpButtonType.Reply, 1 );
dby = dby + 20;
}
if (HasSpell( from, 352) )
{
AddLabel( 315, dby, gth, "Great Ignite" );
AddButton( 295, dby + 3, sbtn, sbtn, 13, GumpButtonType.Reply, 1 );
dby = dby + 20;
}

AddPage( 2 );
AddLabel( 170, 17, gth, "Second Circle" );
dby = 40;
AddButton( 396, 14, 0x89E, 0x89E, 17, GumpButtonType.Page, 3 );
AddButton( 123, 15, 0x89D, 0x89D, 19, GumpButtonType.Page, 1 );

if (HasSpell( from, 353) )
{
AddLabel( 145, dby, gth, "Enchant" );
AddButton( 125, dby + 3, sbtn, sbtn, 21, GumpButtonType.Reply, 1 );
dby = dby + 20;
}
if (HasSpell( from, 354) )
{
AddLabel( 145, dby, gth, "False Coin" );
AddButton( 125, dby + 3, sbtn, sbtn, 22, GumpButtonType.Reply, 1 );
dby = dby + 20;

}
if (HasSpell( from, 355) )
{
AddLabel( 145, dby, gth, "Great Light" );
AddButton( 125, dby + 3, sbtn, sbtn, 23, GumpButtonType.Reply, 1 );
dby = dby + 20;
}
if (HasSpell( from, 356) )
{
AddLabel( 145, dby, gth, "Destroy Trap" );
AddButton( 125, dby + 3, sbtn, sbtn, 24, GumpButtonType.Reply, 1 );
dby = dby + 20;
}

AddLabel( 291, 17, gth, "Third Circle" );
dby = 40;

if (HasSpell( from, 357) )
{
AddLabel( 315, dby, gth, "Sleep" );
AddButton( 295, dby + 3, sbtn, sbtn,29, GumpButtonType.Reply, 1 );
dby = dby + 20;
}
if (HasSpell( from, 358) )
{
AddLabel( 315, dby, gth, "Swarm" );
AddButton( 295, dby + 3, sbtn, sbtn, 30, GumpButtonType.Reply, 1 );
dby = dby + 20;
}
if (HasSpell( from, 359) )
{
AddLabel( 315, dby, gth, "Peer" );
AddButton( 295, dby + 3, sbtn, sbtn, 31, GumpButtonType.Reply, 1 );

}

AddPage( 3 );
AddLabel( 170, 17, gth, "Fouth Circle" );
dby = 40;
AddButton( 396, 14, 0x89E, 0x89E, 17, GumpButtonType.Page, 4 );
AddButton( 123, 15, 0x89D, 0x89D, 19, GumpButtonType.Page, 2 );

if (HasSpell( from, 360) )
{
AddLabel( 145, dby, gth, "Seance" );
AddButton( 125, dby + 3, sbtn, sbtn, 41, GumpButtonType.Reply, 1 );

}

AddLabel( 291, 17, gth, "Fifth Circle" );
dby = 40;
if (HasSpell( from, 361) )
{
AddLabel( 315, dby, gth, "Charm" );
AddButton( 295, dby + 3, sbtn, sbtn,49, GumpButtonType.Reply, 1 );
dby = dby + 20;
}
if (HasSpell( from, 362) )
{
AddLabel( 315, dby, gth, "Dance" );
AddButton( 295, dby + 3, sbtn, sbtn, 50, GumpButtonType.Reply, 1 );
dby = dby + 20;
}
if (HasSpell( from, 363) )
{
AddLabel( 315, dby, gth, "Mass Sleep" );
AddButton( 295, dby + 3, sbtn, sbtn, 51, GumpButtonType.Reply, 1 );

}

AddPage( 4 );
AddLabel( 170, 17, gth, "Sixth Circle" );
dby = 40;
AddButton( 396, 14, 0x89E, 0x89E, 17, GumpButtonType.Page, 5 );
AddButton( 123, 15, 0x89D, 0x89D, 19, GumpButtonType.Page, 3 );

if (HasSpell( from, 364) )
{
AddLabel( 145, dby, gth, "Clone" );
AddButton( 125, dby + 3, sbtn, sbtn, 52, GumpButtonType.Reply, 1 );
dby = dby + 20;
}
if (HasSpell( from, 365) )
{
AddLabel( 145, dby, gth, "Cause Fear" );
AddButton( 125, dby + 3, sbtn, sbtn, 53, GumpButtonType.Reply, 1 );
dby = dby + 20;

}
if (HasSpell( from, 366) )
{
AddLabel( 145, dby, gth, "Fire Ring" );
AddButton( 125, dby + 3, sbtn, sbtn, 54, GumpButtonType.Reply, 1 );
dby = dby + 20;
}
if (HasSpell( from, 367) )
{
AddLabel( 145, dby, gth, "Magic Storm" );
AddButton( 125, dby + 3, sbtn, sbtn, 55, GumpButtonType.Reply, 1 );
dby = dby + 20;
}
if (HasSpell( from, 368) )
{
AddLabel( 145, dby, gth, "Tremor" );
AddButton( 125, dby + 3, sbtn, sbtn, 56, GumpButtonType.Reply, 1 );
dby = dby + 20;
}
if (HasSpell( from, 369) )
{
AddLabel( 145, dby, gth, "Sleep Field" );
AddButton( 125, dby + 3, sbtn, sbtn, 57, GumpButtonType.Reply, 1 );

}

AddLabel( 291, 17, gth, "Seventh Circle" );
dby = 40;
if (HasSpell( from, 370) )
{
AddLabel( 315, dby, gth, "Mass Might" );
AddButton( 295, dby + 3, sbtn, sbtn,58, GumpButtonType.Reply, 1 );
dby = dby + 20;
}
if (HasSpell( from, 371) )
{
AddLabel( 315, dby, gth, "Energy Mist" );
AddButton( 295, dby + 3, sbtn, sbtn, 59, GumpButtonType.Reply, 1 );
dby = dby + 20;

}
if (HasSpell( from, 372) )
{
AddLabel( 315, dby, gth, "Mass Charm" );
AddButton( 295, dby + 3, sbtn, sbtn, 60, GumpButtonType.Reply, 1 );
}

AddPage( 5 );
AddLabel( 170, 17, gth, "Eighth Circle" );
dby = 40;
AddButton( 396, 14, 0x89E, 0x89E, 17, GumpButtonType.Page, 6 );
AddButton( 123, 15, 0x89D, 0x89D, 19, GumpButtonType.Page, 4 );

if (HasSpell( from, 373) )
{
AddLabel( 145, dby, gth, "Invisibility All" );
AddButton( 125, dby + 3, sbtn, sbtn, 61, GumpButtonType.Reply, 1 );
dby = dby + 20;

}
if (HasSpell( from, 374) )
{
AddLabel( 145, dby, gth, "Death Vortex" );
AddButton( 125, dby + 3, sbtn, sbtn, 62, GumpButtonType.Reply, 1 );
}

AddPage( 6 );

AddButton( 396, 14, 0x89E, 0x89E, 18, GumpButtonType.Page, 7 );
AddButton( 123, 15, 0x89D, 0x89D, 19, GumpButtonType.Page, 5 );
AddLabel( 170, 20, gth, "Fireworks" );
AddHtml( 130, 40, 140, 170, "<BODY>" +
"<BASEFONT COLOR=#7B6D20>Reagents: <BASEFONT COLOR=BLACK>None<BR>" +
"<BASEFONT COLOR=#7B6D20>Required Skill: <BASEFONT COLOR=BLACK>0<BR>" +
"<BASEFONT COLOR=#7B6D20>Required Mana: <BASEFONT COLOR=BLACK>1<BR>" +
"<BASEFONT COLOR=#7B6D20>Description: <BASEFONT COLOR=BLACK>This spell creates an impressive display of multi-colored moving lights." +
"</BODY>", false, true);

AddLabel( 340, 20, gth, "Glimmer" );
AddHtml( 285, 40, 140, 170, "<BODY>" +
"<BASEFONT COLOR=#7B6D20>Reagents: <BASEFONT COLOR=BLACK>None<BR>" +
"<BASEFONT COLOR=#7B6D20>Required Skill: <BASEFONT COLOR=BLACK>0<BR>" +
"<BASEFONT COLOR=#7B6D20>Required Mana: <BASEFONT COLOR=BLACK>3<BR>" +
"<BASEFONT COLOR=#7B6D20>Description: <BASEFONT COLOR=BLACK>This spell creates a small light source that lasts for a short period of time." +
"</BODY>", false, true);

AddPage( 7 );
AddButton( 396, 14, 0x89E, 0x89E, 18, GumpButtonType.Page, 8 );
AddButton( 123, 15, 0x89D, 0x89D, 19, GumpButtonType.Page, 6 );
AddLabel( 170, 20, gth, "Awaken" );
AddHtml( 130, 40, 140, 170, "<BODY>" +
"<BASEFONT COLOR=#7B6D20>Reagents: <BASEFONT COLOR=BLACK>None<BR>" +
"<BASEFONT COLOR=#7B6D20>Required Skill: <BASEFONT COLOR=BLACK>0<BR>" +
"<BASEFONT COLOR=#7B6D20>Required Mana: <BASEFONT COLOR=BLACK>5<BR>" +
"<BASEFONT COLOR=#7B6D20>Description: <BASEFONT COLOR=BLACK>This spell awakens one sleeping or unconscious creature." +
"</BODY>", false, true);

AddLabel( 340, 20, gth, "Thunder" );
AddHtml( 285, 40, 140, 170, "<BODY>" +
"<BASEFONT COLOR=#7B6D20>Reagents: <BASEFONT COLOR=BLACK>None<BR>" +
"<BASEFONT COLOR=#7B6D20>Required Skill: <BASEFONT COLOR=BLACK>0<BR>" +
"<BASEFONT COLOR=#7B6D20>Required Mana: <BASEFONT COLOR=BLACK>2<BR>" +
"<BASEFONT COLOR=#7B6D20>Description: <BASEFONT COLOR=BLACK>This spell causes a single thunderclap to be heard, as if a terrible storm is imminent." +
"</BODY>", false, true);

AddPage( 8 );
AddButton( 396, 14, 0x89E, 0x89E, 18, GumpButtonType.Page, 9 );
AddButton( 123, 15, 0x89D, 0x89D, 19, GumpButtonType.Page, 7 );
AddLabel( 170, 20, gth, "Weather" );
AddHtml( 130, 40, 140, 170, "<BODY>" +
"<BASEFONT COLOR=#7B6D20>Reagents: <BASEFONT COLOR=BLACK>None<BR>" +
"<BASEFONT COLOR=#7B6D20>Required Skill: <BASEFONT COLOR=BLACK>0<BR>" +
"<BASEFONT COLOR=#7B6D20>Required Mana: <BASEFONT COLOR=BLACK>8<BR>" +
"<BASEFONT COLOR=#7B6D20>Description: <BASEFONT COLOR=BLACK>This spell can create a storm or cause an existing storm to stop." +
"</BODY>", false, true);

AddLabel( 340, 20, gth, "Ignite" );
AddHtml( 285, 40, 140, 170, "<BODY>" +
"<BASEFONT COLOR=#7B6D20>Reagents: <BASEFONT COLOR=BLACK>None<BR>" +
"<BASEFONT COLOR=#7B6D20>Required Skill: <BASEFONT COLOR=BLACK>0<BR>" +
"<BASEFONT COLOR=#7B6D20>Required Mana: <BASEFONT COLOR=BLACK>6<BR>" +
"<BASEFONT COLOR=#7B6D20>Description: <BASEFONT COLOR=BLACK>This spell generates a tiny missile of sparks that can ignite flammable material." +
"</BODY>", false, true);

AddPage( 9 );
AddButton( 396, 14, 0x89E, 0x89E, 18, GumpButtonType.Page, 10 );
AddButton( 123, 15, 0x89D, 0x89D, 19, GumpButtonType.Page, 8 );
AddLabel( 170, 20, gth, "Douse" );
AddHtml( 130, 40, 140, 170, "<BODY>" +
"<BASEFONT COLOR=#7B6D20>Reagents: <BASEFONT COLOR=BLACK>None<BR>" +
"<BASEFONT COLOR=#7B6D20>Required Skill: <BASEFONT COLOR=BLACK>0<BR>" +
"<BASEFONT COLOR=#7B6D20>Required Mana: <BASEFONT COLOR=BLACK>6<BR>" +
"<BASEFONT COLOR=#7B6D20>Description: <BASEFONT COLOR=BLACK>This spell extinguishes any small, non-magical fire." +
"</BODY>", false, true);

AddLabel( 340, 20, gth, "Help" );
AddHtml( 285, 40, 140, 170, "<BODY>" +
"<BASEFONT COLOR=#7B6D20>Reagents: <BASEFONT COLOR=BLACK>None<BR>" +
"<BASEFONT COLOR=#7B6D20>Required Skill: <BASEFONT COLOR=BLACK>1<BR>" +
"<BASEFONT COLOR=#7B6D20>Required Mana: <BASEFONT COLOR=BLACK>60<BR>" +
"<BASEFONT COLOR=#7B6D20>Description: <BASEFONT COLOR=BLACK>This spell teleports the mage to a safe location." +
"</BODY>", false, true);

AddPage( 10 );
AddButton( 396, 14, 0x89E, 0x89E, 18, GumpButtonType.Page, 11 );
AddButton( 123, 15, 0x89D, 0x89D, 19, GumpButtonType.Page, 9 );
AddLabel( 170, 20, gth, "Locate" );
AddHtml( 130, 40, 140, 170, "<BODY>" +
"<BASEFONT COLOR=#7B6D20>Reagents: <BASEFONT COLOR=BLACK>Nightshade<BR>" +
"<BASEFONT COLOR=#7B6D20>Spell Circle: <BASEFONT COLOR=BLACK>1<BR>" +
"<BASEFONT COLOR=#7B6D20>Description: <BASEFONT COLOR=BLACK>This spell reveals the sextant position of the mage, even when underground." +
"</BODY>", false, true);

AddLabel( 320, 20, gth, "Awaken All" );
AddHtml( 285, 40, 140, 170, "<BODY>" +
"<BASEFONT COLOR=#7B6D20>Reagents: <BASEFONT COLOR=BLACK>Garlic, Ginseng<BR>" +
"<BASEFONT COLOR=#7B6D20>Spell Circle: <BASEFONT COLOR=BLACK>1<BR>" +
"<BASEFONT COLOR=#7B6D20>Description: <BASEFONT COLOR=BLACK>This spell awakens all unconscious members of the mage's party." +
"</BODY>", false, true);

AddPage( 11 );
AddButton( 396, 14, 0x89E, 0x89E, 18, GumpButtonType.Page, 12 );
AddButton( 123, 15, 0x89D, 0x89D, 19, GumpButtonType.Page, 10 );
AddLabel( 170, 20, gth, "Detect Trap" );
AddHtml( 130, 40, 140, 170, "<BODY>" +
"<BASEFONT COLOR=#7B6D20>Reagents: <BASEFONT COLOR=BLACK>Spider's Silk, Nightshade<BR>" +
"<BASEFONT COLOR=#7B6D20>Spell Circle: <BASEFONT COLOR=BLACK>1<BR>" +
"<BASEFONT COLOR=#7B6D20>Description: <BASEFONT COLOR=BLACK>This spell reveals the location of all traps within sight of the mage and his party." +
"</BODY>", false, true);

AddLabel( 320, 20, gth, "Great Douse" );
AddHtml( 285, 40, 140, 170, "<BODY>" +
"<BASEFONT COLOR=#7B6D20>Reagents: <BASEFONT COLOR=BLACK>Spider's Silk, Garlic<BR>" +
"<BASEFONT COLOR=#7B6D20>Spell Circle: <BASEFONT COLOR=BLACK>1<BR>" +
"<BASEFONT COLOR=#7B6D20>Description: <BASEFONT COLOR=BLACK>This spell is a more potent version of the Linear spell Douse. It extinguishes all dousable items within a certain area." +
"</BODY>", false, true);

AddPage( 12 );
AddButton( 396, 14, 0x89E, 0x89E, 18, GumpButtonType.Page, 13 );
AddButton( 123, 15, 0x89D, 0x89D, 19, GumpButtonType.Page, 11 );
AddLabel( 170, 20, gth, "Great Ignite" );
AddHtml( 130, 40, 140, 170, "<BODY>" +
"<BASEFONT COLOR=#7B6D20>Reagents: <BASEFONT COLOR=BLACK>Spider's Silk, Sulfurous Ash<BR>" +
"<BASEFONT COLOR=#7B6D20>Spell Circle: <BASEFONT COLOR=BLACK>1<BR>" +
"<BASEFONT COLOR=#7B6D20>Description: <BASEFONT COLOR=BLACK>This spell is a more potent version of the Linear spell Ignite. It will cause all flammable items within a certain area to ignite." +
"</BODY>", false, true);

AddLabel( 330, 20, gth, "Enchant" );
AddHtml( 285, 40, 140, 170, "<BODY>" +
"<BASEFONT COLOR=#7B6D20>Reagents: <BASEFONT COLOR=BLACK>Black Pearl, Mandrake Root<BR>" +
"<BASEFONT COLOR=#7B6D20>Spell Circle: <BASEFONT COLOR=BLACK>2<BR>" +
"<BASEFONT COLOR=#7B6D20>Description: <BASEFONT COLOR=BLACK>This spell causes a ranged weapon to become enchanted and glow blue. Enchanted weapons will always hit their target." +
"</BODY>", false, true);

AddPage( 13 );
AddButton( 396, 14, 0x89E, 0x89E, 18, GumpButtonType.Page, 14 );
AddButton( 123, 15, 0x89D, 0x89D, 19, GumpButtonType.Page, 12 );
AddLabel( 170, 20, gth, "False Coin" );
AddHtml( 130, 40, 140, 170, "<BODY>" +
"<BASEFONT COLOR=#7B6D20>Reagents: <BASEFONT COLOR=BLACK>Nightshade, Sulfurous Ash<BR>" +
"<BASEFONT COLOR=#7B6D20>Spell Circle: <BASEFONT COLOR=BLACK>2<BR>" +
"<BASEFONT COLOR=#7B6D20>Description: <BASEFONT COLOR=BLACK>When cast upon any coin, this spell creates five duplicate coins." +
"</BODY>", false, true);

AddLabel( 320, 20, gth, "Great Light" );
AddHtml( 285, 40, 140, 170, "<BODY>" +
"<BASEFONT COLOR=#7B6D20>Reagents: <BASEFONT COLOR=BLACK>Mandrake Root, Sulfurous Ash<BR>" +
"<BASEFONT COLOR=#7B6D20>Spell Circle: <BASEFONT COLOR=BLACK>2<BR>" +
"<BASEFONT COLOR=#7B6D20>Description: <BASEFONT COLOR=BLACK>This spell is a more potent version of the First Circle spell Nightsight, and has a substantially longer duration." +
"</BODY>", false, true);

AddPage( 14 );
AddButton( 396, 14, 0x89E, 0x89E, 18, GumpButtonType.Page, 15 );
AddButton( 123, 15, 0x89D, 0x89D, 19, GumpButtonType.Page, 13 );
AddLabel( 170, 20, gth, "Destroy Trap" );
AddHtml( 130, 40, 140, 170, "<BODY>" +
"<BASEFONT COLOR=#7B6D20>Reagents: <BASEFONT COLOR=BLACK>Blood Moss, Sulfurous Ash<BR>" +
"<BASEFONT COLOR=#7B6D20>Spell Circle: <BASEFONT COLOR=BLACK>2<BR>" +
"<BASEFONT COLOR=#7B6D20>Description: <BASEFONT COLOR=BLACK>This spell destroys any one specific trap upon which it is cast." +
"</BODY>", false, true);

AddLabel( 340, 20, gth, "Sleep" );
AddHtml( 285, 40, 140, 170, "<BODY>" +
"<BASEFONT COLOR=#7B6D20>Reagents: <BASEFONT COLOR=BLACK>Nightshade, Spider's Silk, Black Pearl<BR>" +
"<BASEFONT COLOR=#7B6D20>Spell Circle: <BASEFONT COLOR=BLACK>3<BR>" +
"<BASEFONT COLOR=#7B6D20>Description: <BASEFONT COLOR=BLACK>This spell causes the enchanted person to fall asleep." +
"</BODY>", false, true);

AddPage( 15 );
AddButton( 396, 14, 0x89E, 0x89E, 18, GumpButtonType.Page, 16 );
AddButton( 123, 15, 0x89D, 0x89D, 19, GumpButtonType.Page, 14 );
AddLabel( 170, 20, gth, "Swarm" );
AddHtml( 130, 40, 140, 170, "<BODY>" +
"<BASEFONT COLOR=#7B6D20>Reagents: <BASEFONT COLOR=BLACK>Nightshade, Mandrake Root, Blood Moss<BR>" +
"<BASEFONT COLOR=#7B6D20>Spell Circle: <BASEFONT COLOR=BLACK>3<BR>" +
"<BASEFONT COLOR=#7B6D20>Description: <BASEFONT COLOR=BLACK>This spell summons swarms of insects to attack the enemies of the mage from all directions." +
"</BODY>", false, true);

AddLabel( 340, 20, gth, "Peer" );
AddHtml( 285, 40, 140, 170, "<BODY>" +
"<BASEFONT COLOR=#7B6D20>Reagents: <BASEFONT COLOR=BLACK>Nightshade, Mandrake Root<BR>" +
"<BASEFONT COLOR=#7B6D20>Spell Circle: <BASEFONT COLOR=BLACK>3<BR>" +
"<BASEFONT COLOR=#7B6D20>Description: <BASEFONT COLOR=BLACK>This spell enables the mage's vision to leave his body and scout the area." +
"</BODY>", false, true);

AddPage( 16 );
AddButton( 396, 14, 0x89E, 0x89E, 18, GumpButtonType.Page, 17 );
AddButton( 123, 15, 0x89D, 0x89D, 19, GumpButtonType.Page, 15 );
AddLabel( 170, 20, gth, "Seance" );
AddHtml( 130, 40, 140, 170, "<BODY>" +
"<BASEFONT COLOR=#7B6D20>Reagents: <BASEFONT COLOR=BLACK>Nightshade, Mandrake Root, Blood Moss, Spider's Silk, Sulfurous Ash<BR>" +
"<BASEFONT COLOR=#7B6D20>Spell Circle: <BASEFONT COLOR=BLACK>4<BR>" +
"<BASEFONT COLOR=#7B6D20>Description: <BASEFONT COLOR=BLACK>This spell enables the mage to move as a ghost." +
"</BODY>", false, true);

AddLabel( 340, 20, gth, "Charm" );
AddHtml( 285, 40, 140, 170, "<BODY>" +
"<BASEFONT COLOR=#7B6D20>Reagents: <BASEFONT COLOR=BLACK>Nightshade, Black Pearl, Spider's Silk<BR>" +
"<BASEFONT COLOR=#7B6D20>Spell Circle: <BASEFONT COLOR=BLACK>5<BR>" +
"<BASEFONT COLOR=#7B6D20>Description: <BASEFONT COLOR=BLACK>This spell can be used either to control an enemy or creature, or to free a charmed one." +
"</BODY>", false, true);

AddPage( 17 );
AddButton( 396, 14, 0x89E, 0x89E, 18, GumpButtonType.Page, 18 );
AddButton( 123, 15, 0x89D, 0x89D, 19, GumpButtonType.Page, 16 );
AddLabel( 170, 20, gth, "Dance" );
AddHtml( 130, 40, 140, 170, "<BODY>" +
"<BASEFONT COLOR=#7B6D20>Reagents: <BASEFONT COLOR=BLACK>Mandrake Root, Garlic, Blood Moss<BR>" +
"<BASEFONT COLOR=#7B6D20>Spell Circle: <BASEFONT COLOR=BLACK>5<BR>" +
"<BASEFONT COLOR=#7B6D20>Description: <BASEFONT COLOR=BLACK>This spell makes everyone in sight (except the mage and his party) start to dance." +
"</BODY>", false, true);

AddLabel( 320, 20, gth, "Mass Sleep" );
AddHtml( 285, 40, 140, 170, "<BODY>" +
"<BASEFONT COLOR=#7B6D20>Reagents: <BASEFONT COLOR=BLACK>Ginseng, Nightshade, Spider's Silk<BR>" +
"<BASEFONT COLOR=#7B6D20>Spell Circle: <BASEFONT COLOR=BLACK>5<BR>" +
"<BASEFONT COLOR=#7B6D20>Description: <BASEFONT COLOR=BLACK>This spell is a more potent version of the Third Circle spell Sleep. It puts to sleep a group of targets." +
"</BODY>", false, true);

AddPage( 18 );
AddButton( 396, 14, 0x89E, 0x89E, 18, GumpButtonType.Page, 19 );
AddButton( 123, 15, 0x89D, 0x89D, 19, GumpButtonType.Page, 17 );
AddLabel( 170, 20, gth, "Clone" );
AddHtml( 130, 40, 140, 170, "<BODY>" +
"<BASEFONT COLOR=#7B6D20>Reagents: <BASEFONT COLOR=BLACK>Ginseng, Nightshade, Spider's Silk, Blood Moss, Sulfurous Ash, Mandrake Root<BR>" +
"<BASEFONT COLOR=#7B6D20>Spell Circle: <BASEFONT COLOR=BLACK>6<BR>" +
"<BASEFONT COLOR=#7B6D20>Description: <BASEFONT COLOR=BLACK>This spell creates an exact duplicate of any mortal creature, who will then fight for the mage." +
"</BODY>", false, true);

AddLabel( 320, 20, gth, "Fire Ring" );
AddHtml( 285, 40, 140, 170, "<BODY>" +
"<BASEFONT COLOR=#7B6D20>Reagents: <BASEFONT COLOR=BLACK>Black Pearl, Sulfurous Ash, Mandrake Root<BR>" +
"<BASEFONT COLOR=#7B6D20>Spell Circle: <BASEFONT COLOR=BLACK>6<BR>" +
"<BASEFONT COLOR=#7B6D20>Description: <BASEFONT COLOR=BLACK>This spell create a ring of fire that will encircle the mage's target." +
"</BODY>", false, true);

AddPage( 19 );
AddButton( 396, 14, 0x89E, 0x89E, 18, GumpButtonType.Page, 20 );
AddButton( 123, 15, 0x89D, 0x89D, 19, GumpButtonType.Page, 18 );
AddLabel( 170, 20, gth, "Magic Storm" );
AddHtml( 130, 40, 140, 170, "<BODY>" +
"<BASEFONT COLOR=#7B6D20>Reagents: <BASEFONT COLOR=BLACK>Blood Moss, Nightshade, Sulfurous Ash, Mandrake Root<BR>" +
"<BASEFONT COLOR=#7B6D20>Spell Circle: <BASEFONT COLOR=BLACK>6<BR>" +
"<BASEFONT COLOR=#7B6D20>Description: <BASEFONT COLOR=BLACK>This spell summons a swirling storm that will randomly attack the enemies of the mage with powerful bolts of lightning." +
"</BODY>", false, true);

AddLabel( 330, 20, gth, "Tremor" );
AddHtml( 285, 40, 140, 170, "<BODY>" +
"<BASEFONT COLOR=#7B6D20>Reagents: <BASEFONT COLOR=BLACK>Blood Moss, Sulfurous Ash, Mandrake Root<BR>" +
"<BASEFONT COLOR=#7B6D20>Spell Circle: <BASEFONT COLOR=BLACK>6<BR>" +
"<BASEFONT COLOR=#7B6D20>Description: <BASEFONT COLOR=BLACK>This spell creates violent tremors in the earth that will cause the mage's enemies to tremble frantically." +
"</BODY>", false, true);

AddPage( 20 );
AddButton( 396, 14, 0x89E, 0x89E, 18, GumpButtonType.Page, 21 );
AddButton( 123, 15, 0x89D, 0x89D, 19, GumpButtonType.Page, 19 );
AddLabel( 170, 20, gth, "Sleep Field" );
AddHtml( 130, 40, 140, 170, "<BODY>" +
"<BASEFONT COLOR=#7B6D20>Reagents: <BASEFONT COLOR=BLACK>Ginseng, Spider's Silk, Black Pearl<BR>" +
"<BASEFONT COLOR=#7B6D20>Spell Circle: <BASEFONT COLOR=BLACK>6<BR>" +
"<BASEFONT COLOR=#7B6D20>Description: <BASEFONT COLOR=BLACK>This spell creates a thick wall of energy field where the mage desires. All who enter this energy field will fall asleep." +
"</BODY>", false, true);

AddLabel( 320, 20, gth, "Mass Might" );
AddHtml( 285, 40, 140, 170, "<BODY>" +
"<BASEFONT COLOR=#7B6D20>Reagents: <BASEFONT COLOR=BLACK>Ginseng, Mandrake Root, Black Pearl<BR>" +
"<BASEFONT COLOR=#7B6D20>Spell Circle: <BASEFONT COLOR=BLACK>7<BR>" +
"<BASEFONT COLOR=#7B6D20>Description: <BASEFONT COLOR=BLACK>This spell works the same way as the Bless spell, but for everyone in the mage’s party." +
"</BODY>", false, true);

AddPage( 21 );
AddButton( 396, 14, 0x89E, 0x89E, 18, GumpButtonType.Page, 22 );
AddButton( 123, 15, 0x89D, 0x89D, 19, GumpButtonType.Page, 20 );
AddLabel( 170, 20, gth, "Energy Mist" );
AddHtml( 130, 40, 140, 170, "<BODY>" +
"<BASEFONT COLOR=#7B6D20>Reagents: <BASEFONT COLOR=BLACK>Nightshade, Mandrake Root, Sulfurous Ash, Blood Moss<BR>" +
"<BASEFONT COLOR=#7B6D20>Spell Circle: <BASEFONT COLOR=BLACK>7<BR>" +
"<BASEFONT COLOR=#7B6D20>Description: <BASEFONT COLOR=BLACK>This spell creates an electrified mist around the mage's target, harming them while they remain within." +
"</BODY>", false, true);

AddLabel( 320, 20, gth, "Mass Charm" );
AddHtml( 285, 40, 140, 170, "<BODY>" +
"<BASEFONT COLOR=#7B6D20>Reagents: <BASEFONT COLOR=BLACK>Nightshade, Mandrake Root, Black Pearl, Spider's Silk<BR>" +
"<BASEFONT COLOR=#7B6D20>Spell Circle: <BASEFONT COLOR=BLACK>7<BR>" +
"<BASEFONT COLOR=#7B6D20>Description: <BASEFONT COLOR=BLACK>This spell is similar to the Fifth Circle spell Charm, but it affects an entire group of the mage's enemies." +
"</BODY>", false, true);

AddPage( 22 );
AddButton( 396, 14, 0x89E, 0x89E, 18, GumpButtonType.Page, 23 );
AddButton( 123, 15, 0x89D, 0x89D, 19, GumpButtonType.Page, 21 );
AddLabel( 170, 20, gth, "Invivibility All" );
AddHtml( 130, 40, 140, 170, "<BODY>" +
"<BASEFONT COLOR=#7B6D20>Reagents: <BASEFONT COLOR=BLACK>Nightshade, Mandrake Root, Black Pearl, Blood Moss<BR>" +
"<BASEFONT COLOR=#7B6D20>Spell Circle: <BASEFONT COLOR=BLACK>8<BR>" +
"<BASEFONT COLOR=#7B6D20>Description: <BASEFONT COLOR=BLACK>This spell is the equivalent of casting the Fifth Circle spell Invisibility upon the mage and everyone in his party." +
"</BODY>", false, true);

AddLabel( 320, 20, gth, "Death Vortex" );
AddHtml( 285, 40, 140, 170, "<BODY>" +
"<BASEFONT COLOR=#7B6D20>Reagents: <BASEFONT COLOR=BLACK>Nightshade, Mandrake Root, Sulfurous Ash<BR>" +
"<BASEFONT COLOR=#7B6D20>Spell Circle: <BASEFONT COLOR=BLACK>8<BR>" +
"<BASEFONT COLOR=#7B6D20>Description: <BASEFONT COLOR=BLACK>This spell creates a swirling black vortex at the point the mage designates, which will thereafter move at random." +
"</BODY>", false, true);

AddPage( 23 );
AddButton( 396, 14, 0x89E, 0x89E, 18, GumpButtonType.Page, 24 );
AddButton( 123, 15, 0x89D, 0x89D, 19, GumpButtonType.Page, 22 );
AddLabel( 170, 20, gth, "Mass Death" );
AddHtml( 130, 40, 140, 170, "<BODY>" +
"<BASEFONT COLOR=#7B6D20>Reagents: <BASEFONT COLOR=BLACK>Uknown<BR>" +
"<BASEFONT COLOR=#7B6D20>Forbidden Spell<BR>" +
"<BASEFONT COLOR=#7B6D20>Description: <BASEFONT COLOR=BLACK>This spell is rumoured to kill everything within the mage's sight" +
"</BODY>", false, true);

AddLabel( 320, 20, gth, "Time Stop" );
AddHtml( 285, 40, 140, 170, "<BODY>" +
"<BASEFONT COLOR=#7B6D20>Reagents: <BASEFONT COLOR=BLACK>Uknown<BR>" +
"<BASEFONT COLOR=#7B6D20>Forbidden Spell<BR>" +
"<BASEFONT COLOR=#7B6D20>Description: <BASEFONT COLOR=BLACK>This spell is rumoured to stop time across the world." +
"</BODY>", false, true);

AddPage( 24 );
AddButton( 123, 15, 0x89D, 0x89D, 19, GumpButtonType.Page, 23 );
AddLabel( 170, 20, gth, "Armageddon" );
AddHtml( 130, 40, 140, 170, "<BODY>" +
"<BASEFONT COLOR=#7B6D20>Reagents: <BASEFONT COLOR=BLACK>Uknown<BR>" +
"<BASEFONT COLOR=#7B6D20>Forbidden Spell<BR>" +
"<BASEFONT COLOR=#7B6D20>Description: <BASEFONT COLOR=BLACK>This spell is believed to be so powerful that it may be capable of destroying all known living things in the entire world." +
"</BODY>", false, true);
}

public override void OnResponse( NetState state, RelayInfo info )
{
Mobile from = state.Mobile;
switch ( info.ButtonID )
{
case 0:
{
break;
}
case 1:
{
new FireworksSpell( from, null ).Cast();
break;
}
case 2:
{
new GlimmerSpell( from, null ).Cast();
break;
}
case 3:
{
new AwakenSpell( from, null ).Cast();
break;
}
case 4:
{
new ThunderSpell( from, null ).Cast();
break;
}
case 5:
{
// new WeatherSpell( from, null ).Cast();
break;
}
case 6:
{
// new IgniteSpell( from, null ).Cast();
break;
}
case 7:
{
// new DouseSpell( from, null ).Cast();
break;
}
case 8:
{
// new HelpSpell( from, null ).Cast();
break;
}
case 9:
{
new LocateSpell( from, null ).Cast();
break;
}
case 10:
{
new AwakenAllSpell( from, null ).Cast();
break;
}
case 11:
{
// new DetectTrapSpell( from, null ).Cast();
break;
}
case 12:
{
// new GreatDouseSpell( from, null ).Cast();
break;
}
case 13:
{
//new GreatIgniteSpell( from, null ).Cast();
break;
}

case 17:
{
from.PlaySound(0x55);
break;
}
case 18:
{
from.PlaySound(0x55);
break;
}
case 19:
{
from.PlaySound(0x55);
break;
}
case 21:
{
new EnchantSpell( from, null ).Cast();
break;
}
case 22:
{
new FalseCoinSpell( from, null ).Cast();
break;
}
case 23:
{
new GreatLightSpell( from, null ).Cast();
break;
}
case 24:
{
// new DestroyTrapSpell( from, null ).Cast();
break;
}
case 29:
{
new SleepSpell( from, null ).Cast();
break;
}
case 30:
{
new SwarmSpell( from, null ).Cast();
break;
}
case 31:
{
new PeerSpell( from, null ).Cast();
break;
}
case 41:
{
new SeanceSpell( from, null ).Cast();
break;
}
case 49:
{
new CharmSpell( from, null ).Cast();
break;
}
case 50:
{
new DanceSpell( from, null ).Cast();
break;
}
case 51:
{
new MassSleepSpell( from, null ).Cast();
break;
}
case 52:
{
new CloneSpell( from, null ).Cast();
break;
}
case 53:
{
// new CauseFearSpell( from, null ).Cast();
break;
}
case 54:
{
new FireRingSpell( from, null ).Cast();
break;
}
case 55:
{
// new MagicStormSpell( from, null ).Cast();
break;
}
case 56:
{
// new TremorSpell( from, null ).Cast();
break;
}
case 57:
{
new SleepFieldSpell( from, null ).Cast();
break;
}
case 58:
{
new MassMightSpell( from, null ).Cast();
break;
}
case 59:
{
// new EnergyMistSpell( from, null ).Cast();
break;
}
case 60:
{
// new MassCharmSpell( from, null ).Cast();
break;
}
case 61:
{
new InvisibilityAllSpell( from, null ).Cast();
break;
}
case 62:
{
new DeathVortexSpell( from, null ).Cast();
break;
}

}
}
}
}
[/code:1]
That should do the job.

ps: thx for such cool project, but I must tell that half of this spells is uselles, IMHO
but nevertheless thanks

With love from Russia :)
 

Voran

Wanderer
*grins*
Don't tell me, tell the Ultima VII development team :)
These are basically the spells left out of UO because... well, they were pointless.
Could you post a picture of your spellbook gump?
 
K

Krazy_zack

Guest
Just FYI...

you mass light spell is broke with the new release of this beta...
 

LM

Wanderer
here:

 

Voran

Wanderer
Thanks - you should probably move to a new line between "Description" and the description, otherwise very nice!

Zack, I can't get 36 running to test it yet. As soon as I can get past that stupid ODBC error, I'll get on it.
 

wraith

Wanderer
Hi all

ya not only does Greaterlight not work (lightcycle.cs and i think another file have been changed) but the druid and the UltimaVII books dont work.
I mean you can use the scrolls and all, but if you add them to the books, they get added but when you open the book its empty. there in the book, because if you try and add the same scroll again, it tells you that spell is already in the book. so it appears to be a dispaly bug of some sort.
 
Status
Not open for further replies.
Top