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-17-2009, 10:39 AM
Secrets's Avatar
Secrets
Demi-God
 
Join Date: May 2007
Location: b
Posts: 1,449
Default

Quote:
Originally Posted by drakelord View Post
Well now, this thread got hijacked sideways.
I wouldn't say it got hijacked... maybe brutally mauled now and there.

I think it's nice we can have civil discussion like this. I think there's a bit of existing tension over the matter of what gets into code, and it's nice that we discuss the future of the project... it just so happens that it was in this thread.
Reply With Quote
  #2  
Old 05-17-2009, 12:13 PM
Dibalamin
Hill Giant
 
Join Date: Dec 2007
Posts: 182
Default

To kinda help get back on track:

Trev, I've never been able to run a script on a pet with sub EVENT_SPAWN. I spent DAYS trying to use it to stop enchanter pets from punching by adding the gear to them via a perl script. I eventually had to cave and start the timer in spawn and have the sub EVENT_TIMER add the gear.

Not clean but effective.

I've already blocked the spells in sky that aren't supposed to be there, that isn't a big deal for me & I tried remodeling the mobs just for Sky, big fat failure. From a development standpoint, I think source is the right fix for this issue if live emulation is the target.
Reply With Quote
  #3  
Old 05-17-2009, 12:32 PM
Congdar
Developer
 
Join Date: Jul 2007
Location: my own little world
Posts: 751
Default

Quote:
Originally Posted by Dibalamin View Post
Trev, I've never been able to run a script on a pet with sub EVENT_SPAWN...I eventually had to cave and start the timer in spawn and have the sub EVENT_TIMER add the gear.

Not clean but effective.
The second to the last line in Mob::MakePet() is entity_list.AddNPC(npc); and if you change it to entity_list.AddNPC(npc, true, true); and then put your code back into EVEN_SPAWN from EVENT_TIMER it will work.

Quote:
Originally Posted by Dibalamin View Post
I've already blocked the spells in sky that aren't supposed to be there, that isn't a big deal for me & I tried remodeling the mobs just for Sky, big fat failure. From a development standpoint, I think source is the right fix for this issue if live emulation is the target.
There had to be over 50 non-air pet spells for the magicain that you had to add to the table. could you share that sql?
__________________
The Realm
Reply With Quote
  #4  
Old 05-17-2009, 01:38 PM
nilbog
Hill Giant
 
Join Date: Nov 2007
Posts: 198
Default

Thanks a lot for posting the source fix for this issue Congdar. From everything I remember from the 1st time I went to airplane, till I quit playing live, necro and mage pets were wisps and djinni.

I took a while one day and fixed the pets using scripts.. and I have to say, it felt like a cheap workaround. Using the timer method, it still has a delay till everything looks right. My method involved creating 2 new illusion spells, wisp and djinn.

heres illusion code for skeleton pet, if it might help anyone w/ anything else.

Code:
sub EVENT_DEATH{
quest::say("Sorry to have failed you, oh Great One.");
 }

sub EVENT_SPAWN { 
 quest::say("At your service Master.");
 $mobzone = $npc->GetZoneID() ;
 if ($mobzone == 71) {
 quest::settimer(1,0);
}
}

sub EVENT_TIMER {
if($timer eq "1") {
$skel = $entity_list->GetMobByNpcTypeID(614);
if ($skel) {
      $wisp = $skel->CastToNPC();
$npc->CastSpell(8450,$npc);
quest::stoptimer(1);
}
}
}
Thanks again Congdar!
Reply With Quote
  #5  
Old 05-17-2009, 01:44 PM
Dibalamin
Hill Giant
 
Join Date: Dec 2007
Posts: 182
Default

I PM'd you my email Congdar, drop me a line there and I can send you the blocked_spells table...me and queries don't mix.
Reply With Quote
  #6  
Old 05-17-2009, 05:48 PM
cavedude's Avatar
cavedude
The PEQ Dude
 
Join Date: Apr 2003
Location: -
Posts: 1,988
Default

Would you mind making that SQL public? I was meaning to do it myself one day but if you've already got it done, then no need to reinvent the wheel.

Going way back to the original code. From a content standpoint it is correct. Before going into SVN, a simple rule can be added to disable it if anybody doesn't want their airplane changed, no big deal. (I can understand that and agree with that.) Now, I do believe you have a technical issue which KLS would know more about. I believe specifying the zoneid may not work once the instancing stuff hits trunk. But, again you'll need to clarify with KLS.
Reply With Quote
  #7  
Old 05-17-2009, 06:16 PM
Dibalamin
Hill Giant
 
Join Date: Dec 2007
Posts: 182
Default

It isn't complete yet, few more spells need blocked, but my eyes started crossing after doing #findspell over and over and over.

Keep in mind, this SQL will block all (I think) forms of teleportation from the plane of sky including gate. Leaving the parachute the only way to leave the plane. As well as coth. Alter plane sky will still function by teleporting you to the first island.

I don't think I blocked Lev spells yet.

http://www.stormrunner.net/download/blockedspells.sql
__________________
Retired EMarr
Project1999 Developer
Reply With Quote
Reply

Thread Tools
Display Modes

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 06:26 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 - 2026, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3