|
|
 |
 |
 |
 |
|
 |
 |
|
 |
 |
|
 |
|
Development::Development Forum for development topics and for those interested in EQEMu development. (Not a support forum) |
 |
|
 |

05-15-2009, 05:11 PM
|
Developer
|
|
Join Date: Jul 2007
Location: my own little world
Posts: 751
|
|
Some pets in Plane of Sky
The Plane of Sky has some quirkiness to it (Sirran aside) with some pets. I've got some working code but before I check it in, I wanted to see if somebody more familliar with Sky could help out. The Skeleton pets are supposed to appear as pink wisps and the Magician is only supposed to be able to summon thier Air pet and it's supposed to appear as a female genie. What I'm wondering is if there are other pets that have some quirkiness. Beastlords came into EQ long after I was done going to Sky... were thier pets different? Enchanter pets? others? Do any mages remeber if they got some kind of message if they tried to summon a non-Air type pet?
in pets.cpp Mob::MakePet() put this:
Code:
if(zone->GetZoneID() == 71) // Special pet handling for Plane of Sky. Reference: http://mysite.verizon.net/drexxell/eq/planeofsky.html
{
if((GetClass() == NECROMANCER) || (GetClass() == SHADOWKNIGHT))
{
npc_type->race = 69; // Will-o-Wisp
npc_type->texture = 1; // Pink
npc_type->size = 4.0f;
}
if(GetClass() == MAGICIAN)
{
if(strncmp(spells[spell_id].teleport_zone, "SumAir", 6) != 0)
{
// this->Message(15, "Something like You can only summon Air pets here");
// or
// this->Say_StringID(AIR_PET_ONLY_STRING);
return; // Magicians can only summon Air pets in Sky
}
else
{
npc_type->race = 126; // Female Djinn
npc_type->size = 5.5f;
}
}
}
right above these two lines:
Code:
//this takes ownership of the npc_type data
Pet *npc = new Pet(npc_type, this, type, spell_id);
Last edited by Congdar; 05-16-2009 at 02:26 AM..
|
 |
|
 |

05-15-2009, 09:12 PM
|
 |
Demi-God
|
|
Join Date: Mar 2009
Location: Umm
Posts: 1,492
|
|
i realy hope you NOT going to hard code this into main source - i like my pets the way they are - thank you very much- and personaly i don't remeber nothing of such nature - last visit to live Sky for me was december 2002 - all pets were normal
perhaps do this as zone script in perl file instead and put illusions on pets you like=P
|

05-15-2009, 09:37 PM
|
Dragon
|
|
Join Date: May 2006
Location: Cincinnati, OH
Posts: 689
|
|
All I know is it's wonderful that you're coding this. Sorry I can't contribute, but thanks! =)
And actually, I don't think it was ever changed, ChaosSlayer, but it was sure that way during the original EQ, Kunark, Luclin, and Planes of Power eras when I played. I actually enjoyed my necromancer pet being a little pink willowisp.
|

05-15-2009, 10:10 PM
|
 |
Demi-God
|
|
Join Date: Mar 2009
Location: Umm
Posts: 1,492
|
|
can we at least do this via Rule people can turn off?
this is so going to ruin RP content for some of us :(
|

05-15-2009, 10:21 PM
|
Discordant
|
|
Join Date: Apr 2004
Location: 127.0.0.1
Posts: 402
|
|
Unfournately, by far too many "personal" project changes make their way into the SVN...but oh well.
|

05-15-2009, 10:32 PM
|
Developer
|
|
Join Date: Jul 2007
Location: my own little world
Posts: 751
|
|
I know this is, or at least was this way on Live for skeleton and air pets and isn't 'personal', just trying to EMulate Live. I'm only asking if it has changed for any other pets that anyone knows of. If it is no longer like this on Live then I guess there's no need for this, but it certainly doesn't change anything about RP if it is still this way on Live.
This only affects pets summoned in the Plane of Sky. If you already have your pet and zone up, it will not change.
Last edited by Congdar; 05-16-2009 at 06:37 AM..
|
 |
|
 |

05-15-2009, 10:53 PM
|
 |
Demi-God
|
|
Join Date: Mar 2009
Location: Umm
Posts: 1,492
|
|
Quote:
Originally Posted by Congdar
If it is no longer like this on Live then I guess there's no need for this, but it certainly doesn't change anything about RP if it is still this way on Live.
|
this is EXACTLY the problem with this kind of approach towards "LIVE"
You trying to mimic what LIVE had or has now, with no regard that LIVE is in fact dymanic. LIVE has an option to create and disable things as they please - we don't. (speicaly those of us who don't know the source that well to manipulate it at will like you do)
Think about crap laod of things which were "live-like" 2 years ago, which no longer are. Suposly you were one of the people who hard-coded all that in back them. TODAY you, been true to live, would have to go and delete all that code cuase its no longer live-like.
My final point is: its complitly POINTLESS to hard code details like that which may only exist for a fraction of a time frame in a game which timespawn has allready exeed a decade.
|
 |
|
 |

05-15-2009, 11:01 PM
|
Hill Giant
|
|
Join Date: Dec 2007
Posts: 182
|
|
You can handle the lack of fire, water and earth pets through blocked spells table in sky so they shouldn't need a hard code in the source.
Consequently, this was true as last as 2k6 and Sky has never gone through a wide scale revamp due to it's extremely unique nature.
|

05-15-2009, 11:26 PM
|
Developer
|
|
Join Date: Jul 2007
Location: my own little world
Posts: 751
|
|
Quote:
Originally Posted by ChaosSlayerZ
My final point is: its complitly POINTLESS to hard code details like that which may only exist for a fraction of a time frame in a game which timespawn has allready exeed a decade.
|
It has been like this on Live in the Plane of Sky for nearly a decade, no fractions. It should be in the source, hard coded. I was only askin' if anyone kows if it has been updated on Live to include other pets. It probably hasn't and you don't know. It sounds like you really care though. If you are able to find out for sure, I welcome any real data you can supply.
Thanks Dibalamin, i'll look into that blocked spells table.
|
 |
|
 |

05-15-2009, 11:51 PM
|
 |
Demi-God
|
|
Join Date: Mar 2009
Location: Umm
Posts: 1,492
|
|
Quote:
Originally Posted by Congdar
It has been like this on Live in the Plane of Sky for nearly a decade, no fractions. It should be in the source, hard coded. I was only askin' if anyone kows if it has been updated on Live to include other pets. It probably hasn't and you don't know. It sounds like you really care though. If you are able to find out for sure, I welcome any real data you can supply.
|
Well I have to be honest here - the thing I care for foremost - is HIGH level of customization freedom for Emu software. Despite the fact that project started as "live-clone", a SIGNIFICANT portion of ist current admins and players using it for totaly custom content unrelated to live or significantly altered. Most of them also are not people who can code and compile - which means they complitly depedant of actions of peopel who do - such as yourself.
To me as a develovers of fully custom server which has almost no relation to live content wise, a hard coding of a feature like this essentialy means a zone which I will have to throw out, since I have absolutly no reason why in plane of sky pets would be turned into soemthign else, and it will totaly violate my RP content. I am sure there are some people who will agree with me.
If this fetaure is something I can do TURN OFF - I don't mind it, but if its hard coded I am forced to live with it.
This may sounds like my entire plea here is only to accomidate my needs, but this little thing is one of the many on a very large list of live-like things which damage the ability to do a clean customization wihout parts of "live" dangling from all over the place.
I would realy wish that people see Emu project as a global ENGINE for some great custom development which anyoen can turn into difirent direction using a single source, rather than just a clone copy of eq1.
Anyway - once again- why not use perl script file to put illusions on pets and put into quest folder for Sky? Trev on his server has created a perl script which turns anything into anything. I bet you $100 that actual live devs didn't had to hard code this thing =P
|
 |
|
 |

05-16-2009, 12:47 AM
|
Developer
|
|
Join Date: Jul 2007
Location: my own little world
Posts: 751
|
|
Well, i did post here for input. I didn't realize this would turn into a debate over the source being for EQemulator or CUSTOMemulator. I'm really one to talk with all the bots code, but you aren't required to use it so it must be ok with you. It takes a lot of custimization to even get it working. What I have posted in this thread, though, is definitely like EQ Live. I think the underlying vision here is that the source be for emulation of Everquest as this website designates in its name.
What about it Trevius? Maybe with the blocked_spells table and your script, this EQ feature can be less intrusive on those that use the EQemulator for Non-EQness.
BTW, I could RP up any number of reasons why a certain zone changes pets on a custom server and not thow away a whole zone, but your argument for the openness of an emulator is interesting.
|
 |
|
 |

05-16-2009, 01:05 AM
|
 |
Demi-God
|
|
Join Date: Mar 2009
Location: Umm
Posts: 1,492
|
|
Quote:
Originally Posted by Congdar
BTW, I could RP up any number of reasons why a certain zone changes pets on a custom server and not thow away a whole zone, but your argument for the openness of an emulator is interesting.
|
true- so could I . But I will do it better when I will have an option to turn sceletons into batterflies on fridays and into orcs on sundays AT WILL.
Lets look realisticly into what you actualy trying to achive and realise that there is simpler way of doing it wihout ever touching the source.
With perl script in place like is run on Trevs server - ANYONE can change appearnce of ANYTHING in any zone with a NOTEPAD editor - you want all Troll SKs to look like rats - no problem. You can do this in ANY zone with any model.
But once you hard code this - we stock with it exactly this way
In otherwords- don't use the code to make ONE single detail. Use the code to make an ENGINE which can be adjusted with a couple EXTERNALY controlled variables to create ANY detail.
An thankfully for what you trying to do - the engine is allready in place
Here is Trevs code for his Illusionist script. Thsi can be used as a base
http://www.eqemulator.net/forums/showthread.php?t=25556
|
 |
|
 |
 |
|
 |

05-16-2009, 03:02 AM
|
 |
Developer
|
|
Join Date: Aug 2006
Location: USA
Posts: 5,946
|
|
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:
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.
|
 |
|
 |

05-16-2009, 04:42 AM
|
Developer
|
|
Join Date: Jul 2007
Location: my own little world
Posts: 751
|
|
Well, EVENT_SPAWN doesn't work for summoned pets because the script runs before the pet is actually popped so it still looks like the original pet model even though #showstats has the correct id's for race etc. I set a timer in EVENT_SPAWN for 0 and in EVENT_TIMER did the quest::npcrace() stuff and that worked but it was kind of ugly with the original model spawning and then changing.
So it would require almost 40 perl files with 8 lines of code each and 54 database entries in the blocked_spells table to accomplish what 12 lines of C++ code can do, and does better without the spawn glitch. I don't see the perl way as a win, even if it makes the EQemulator more generic.
|

05-16-2009, 05:19 AM
|
 |
Demi-God
|
|
Join Date: Mar 2009
Location: Umm
Posts: 1,492
|
|
Congdar, if you do ultimately decide to go with those 12 lines of C code, please do a me favor and add a 13th line which will have a Rule to turn this thing OFF 
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -4. The time now is 07:42 AM.
|
|
 |
|
 |
|
|
|
 |
|
 |
|
 |