View Single Post
  #13  
Old 05-16-2009, 03:02 AM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

LOL, my name is all over this thread, I guess I should have been keeping up with it!

I see good points from both sides of the debate here. Yes, ultimately, this is EQEmu, and the source should try to emulate live as closely as possible, because that gives everyone a base to work towards. But, on the other hand, many things can be done with perl and the database that don't require making special exceptions in the source. And, I think we try to cater to everyone as much as possible.

As mentioned, this could probably be handled pretty easily with some basic perl scripting and the blocked spells table. Though, you would probably have to list quite a few spells in the table to block all levels of the other pets, which could stack up to be quite a few if other classes need similar blocks made.

Really, Kayen is the Pet script master lol. That guy has some pretty amazing pet scripts coming out of him lately I bet he could write something up for this in about 5 seconds if he sees the thread.

You could probably even avoid the blocked spells stuff if you just create files for ever pet type from the pets table and put them in the poair quest folder like this:

Code:
SumAirR17.pl
And so on. Then, just do:

Code:
sub EVENT_SPAWN {
quest::echo(15,"You can only summon Air pets here");
quest::depop();
}
For each one you don't want to allow.

Then, for the rest, you could spawn them and just do a simple race and size change with the quest::npcsize and quest::npcrace commands.

That zone is so customized that you would probably want to handle as much as possible with perl, otherwise, you might find that you are wanting to add more and more to the source just to support this one zone.
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote