Quick question - what are "valid" spellid ranges? Reason I'm asking, is, i've created and configured the necromancer spellbook, as follows:
Code: Select all
Spellbook 0xF9FB
{
Name necrospellbook
desc Book of Necromancy
Graphic 0x2253
SpellType Necro
Gump 0xFFFF
MinX 40
MaxX 60
MinY 20
MaxY 80
Newbie 1
BlocksCastingIfInHand 0
RequiresAttention 0
VendorSellsFor 22
VendorBuysFor 11
weight 1
}
Code: Select all
Item 0x2260
{
Name necroanimatedeadscroll
Desc Animate Dead scroll
Script necroscroll
CProp Spellid i501
VendorBuysFor 6
VendorSellsFor 12
Weight 1/10
}
etc..
Code: Select all
Spell 501
{
SpellId 501
Name Animate Dead
Script animatedead
PowerWords Uus Corp
mana 23
difficulty 40
pointvalue 50
delay 1
Reagent 0x0F92
Reagent 0x0F93
}
etc...
As you can see, they use the 501- range. Yet, when I try to cast one of these spells, I get the message "Only a mage can cast these spells". This message comes from spellRestrictions.inc, in the maincast function.
Nowhere in my necro scripts am I calling that function - so why is it being called? I can only assume the core is doing this - but why?
NOTE: When I do StartSpellEffect(who,501);, it calls the correct spell. But when done via the necro spellbook, it doesn't.
Can anyone advise?