Go Back   EQEmulator Home > EQEmulator Forums > Development > Development::Development

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

Reply
 
Thread Tools Display Modes
  #1  
Old 05-15-2009, 05:11 PM
Congdar
Developer
 
Join Date: Jul 2007
Location: my own little world
Posts: 751
Default 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);
__________________
The Realm

Last edited by Congdar; 05-16-2009 at 02:26 AM..
Reply With Quote
  #2  
Old 05-15-2009, 09:12 PM
ChaosSlayerZ's Avatar
ChaosSlayerZ
Demi-God
 
Join Date: Mar 2009
Location: Umm
Posts: 1,492
Default

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
Reply With Quote
  #3  
Old 05-15-2009, 09:37 PM
So_1337
Dragon
 
Join Date: May 2006
Location: Cincinnati, OH
Posts: 689
Default

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.
Reply With Quote
  #4  
Old 05-15-2009, 10:10 PM
ChaosSlayerZ's Avatar
ChaosSlayerZ
Demi-God
 
Join Date: Mar 2009
Location: Umm
Posts: 1,492
Default

can we at least do this via Rule people can turn off?
this is so going to ruin RP content for some of us :(
Reply With Quote
  #5  
Old 05-15-2009, 10:21 PM
Yeormom
Discordant
 
Join Date: Apr 2004
Location: 127.0.0.1
Posts: 402
Default

Unfournately, by far too many "personal" project changes make their way into the SVN...but oh well.
__________________
Yeorwned
Bane of Life [Custom Classic/PvP]
Reply With Quote
  #6  
Old 05-15-2009, 10:32 PM
Congdar
Developer
 
Join Date: Jul 2007
Location: my own little world
Posts: 751
Default

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.
__________________
The Realm

Last edited by Congdar; 05-16-2009 at 06:37 AM..
Reply With Quote
  #7  
Old 05-15-2009, 10:53 PM
ChaosSlayerZ's Avatar
ChaosSlayerZ
Demi-God
 
Join Date: Mar 2009
Location: Umm
Posts: 1,492
Default

Quote:
Originally Posted by Congdar View Post
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.
Reply With Quote
  #8  
Old 05-15-2009, 11:01 PM
Dibalamin
Hill Giant
 
Join Date: Dec 2007
Posts: 182
Default

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.
Reply With Quote
  #9  
Old 05-15-2009, 11:26 PM
Congdar
Developer
 
Join Date: Jul 2007
Location: my own little world
Posts: 751
Default

Quote:
Originally Posted by ChaosSlayerZ View Post
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.
__________________
The Realm
Reply With Quote
  #10  
Old 05-15-2009, 11:51 PM
ChaosSlayerZ's Avatar
ChaosSlayerZ
Demi-God
 
Join Date: Mar 2009
Location: Umm
Posts: 1,492
Default

Quote:
Originally Posted by Congdar View Post
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
Reply With Quote
  #11  
Old 05-16-2009, 12:47 AM
Congdar
Developer
 
Join Date: Jul 2007
Location: my own little world
Posts: 751
Default

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.
__________________
The Realm
Reply With Quote
  #12  
Old 05-16-2009, 01:05 AM
ChaosSlayerZ's Avatar
ChaosSlayerZ
Demi-God
 
Join Date: Mar 2009
Location: Umm
Posts: 1,492
Default

Quote:
Originally Posted by Congdar View Post
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
Reply With Quote
  #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
  #14  
Old 05-16-2009, 04:42 AM
Congdar
Developer
 
Join Date: Jul 2007
Location: my own little world
Posts: 751
Default

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.
__________________
The Realm
Reply With Quote
  #15  
Old 05-16-2009, 05:19 AM
ChaosSlayerZ's Avatar
ChaosSlayerZ
Demi-God
 
Join Date: Mar 2009
Location: Umm
Posts: 1,492
Default

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
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 07:42 AM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3