The code I wrote for the indoor/outdoor restrictions borrowed a lot from the code Magoth78 submitted here: ( thanks Magoth78 )
http://eqemulator.net/forums/showthr...779#post146779
I followed his example and just modified it a bit, as well as adding a few lines to spells.cpp to check if there was a indoor restriction on the spell. All the lev work is still 100% his, but I just included in mine. As his modifications are included, if the previous levitation restriction was not done already, it also depends on running the sql code he posted to add "canlevitate" to the zone db before adding the "castoutdoor" one.
As this is the first time I have touched C code in about 10 years, I am a little rusty. It works, but cleanup or better naming of functions may be in order by someone more experienced than I.
I just hope its a positive addition everyone can use.