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

Archive::Development Archive area for Development's posts that were moved here after an inactivity period of 90 days.

 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
  #1  
Old 07-08-2004, 03:03 PM
RangerDown
Demi-God
 
Join Date: Mar 2004
Posts: 1,066
Default PBAE and distance checks

I was trying to put in Vox's breath (Frosty Death, spell#952 -- or Frosty Death2, spell#1356), and the breath never would go off. After turning spell debugging on I saw what was happening: the entry in spells_us.txt had a range of 0. I assume most if not all of the PBAE spells have a range of 0 since range isn't applicable with a pbae. I was able to get the breath to go off only if I /summoned her on top of me.

I made this change to the MobAI.cpp file so that if the spell is targettype 4 (pbae) then the distance check doesn't have to pass:

The change is in line 84 of zone/MobAI.cpp. (As of the 6/21/04 release it's on line 84 -- dunno if that's the case in later CVS's)

Change from:
Code:
dist <= spells[AIspells[i].spellid].range
to:
Code:
(dist <= spells[AIspells[i].spellid].range || spells[AIspells[i].spellid].targettype == 4)
If you wanna change the debug messages so they now accurately show the new logic:

Line 92, add this to the end of the line:
Code:
<< "||targettype[" << spells[AIspells[i].spellid].targettype << "]==4"
and change line 206 to read:
Code:
cout << "Mob::AICastSpell: NotCasting: spellid=" << AIspells[i].spellid << ", tar=" << tar->GetName() << ",tar=" << tar->GetName() << ", dist[" << dist << "]<=" << spells[AIspells[i].spellid].range << "||targettype[" << spells[AIspells[i].spellid].targettype << "]==4" << ", mana_cost[" << mana_cost << "]<=" << GetMana() << ", cancast[" << AIspells[i].time_cancast << "]<=" << Timer::GetCurrentTime() << endl;
(Damn that's a long line :P)

After that, Vox started AE'ing quite nicely... much to the dismay of cocky young adventurers everywhere :lol:
Reply With Quote
 


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 12:30 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