EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Support::General Support (https://www.eqemulator.org/forums/forumdisplay.php?f=598)
-   -   healing spells not agroing? (https://www.eqemulator.org/forums/showthread.php?t=25568)

spider661 06-26-2008 01:51 AM

healing spells not agroing?
 
i was watching a raid the tonight and they wiped after the clr healing alot but never hitting. but none of the npcs in the raid agroed the clr even after they wiped the clr walked over rezzed them all and medded back up never getting agro.

i asked about it and they sayed heal spells are not grabing agro they never reported becuase they thought thats the way i set it..

so my question is y are the heal spells not grabing agro?

ChaosSlayer 06-26-2008 01:59 AM

there are server rules which server admin can set. One of them is such that spells generate 0 agro :-D

spider661 06-26-2008 02:10 AM

i looked there is not one for healing spells or if there is i missed it but all the agro stuff had something set in it unless there is one for healing that is not in my db then maybe thats y?

KLS 06-26-2008 02:20 AM

It's a known problem with healing spells, they wont generate aggro unless the character has established aggro already.

spider661 06-26-2008 02:23 AM

is there a fix? or maybe if i add extra hate to the spell its self with a spell editor will that do it?

ChaosSlayer 06-26-2008 03:12 AM

dang thats makes raids ultra easy...
basicly the logic of heal agro should work like this:

if player X has agro with mob Y, then ANY beneficial spell cast on player X will be tracked to ist soruce (the caster) and caster placed on mobs hate list

spider661 06-26-2008 03:20 AM

i wonder if you could use the quest system to make them get agro then if its like it says once they are on the hate list then they build agro..

i remember seeing something about when a spell is cast on the npc.. maybe check if its a heal spell then if it is put them on the hate list with some agro from the heal type. then there on the hate list and build agro?

spider661 06-26-2008 03:29 AM

ya would this not working looking at it i think it would

Added on 4/26/08 quest event EVENT_CAST_ON will trigger if a player casts on a npc.

then use the mob quest object
AddToHateList(other, hate= 0, damage= 0, iYellForHelp= true, bFrenzy= false, iBuffTic= false)

im not sure what other means though

spider661 06-26-2008 03:20 PM

ok so far i have this to test

Code:

sub EVENT_CAST_ON
{
$mob->AddToHateList(other, hate= 100, damage= 1)
}

prob is im still learning the scripting for eqemu.

what is other, would that be the player? and how would i get the player object its the one that last cast the spell so is there an object for that or would it jsut be $client?

Congdar 06-26-2008 04:08 PM

if the heal aggro code is currently broke, maybe fix it like this:

Code:

Existing Code:

else if (IsBeneficialSpell(spell_id) && spelltar->GetHateAmount(this) > 1)
                entity_list.AddHealAggro(spelltar, this, chekHealAggroAmount(spell_id));

Code:

Option A:
else if (IsBeneficialSpell(spell_id) && spelltar->IsEngaged()) {
        Mob* targetstarget = spelltar->GetTarget();
        targetstarget->AddToHateList(this->CastToMob(), CheckHealAggroAmount(spell_id));
}

Code:

Option B:
else if (IsBeneficialSpell(spell_id) && spelltar->IsEngaged()) {
        Mob* targetstarget = spelltar->GetTarget();
        entity_list.AddHealAggro(targetstarget, this, CheckHealAggroAmount(spell_id));
}


spider661 06-26-2008 04:25 PM

Quote:

Originally Posted by Congdar (Post 151496)
if the heal aggro code is currently broke, maybe fix it like this:

Code:

Existing Code:

else if (IsBeneficialSpell(spell_id) && spelltar->GetHateAmount(this) > 1)
                entity_list.AddHealAggro(spelltar, this, chekHealAggroAmount(spell_id));


Where did you get this code from?

is it in one of the source files?

Congdar 06-26-2008 04:26 PM

I think getTarget() could be exploited so maybe use one of the hatelist options GetHateTop() GetHateMost() or GetHateRandom()
Code:

spells.cpp

Option C:
else if (IsBeneficialSpell(spell_id) && spelltar->IsEngaged()) {
        Mob* targetstarget = spelltar->GetHateTop();
        targetstarget->AddToHateList(this->CastToMob(), CheckHealAggroAmount(spell_id));
}


spider661 06-26-2008 05:30 PM

ok i tried adding this and compiling it but i cant get it working this is the first time i tried...

i have a few versions

visual c++ 9.0
vs 6.0 pro
and vs 2008 pro

and none of them work

i even downloaded the dev kit on the forums here im guessing its out of date on the dependency's becuase that did not work either lol

i know this is prob not the best place to ask this but i figure you guys know how to set it up.

what program would be best to use and how should i go about setting it up to compile the latest source on the main site there..

you an just give a quick rundown i know how to use the programs already so its not like explaining it to a complete newbie just newbie to compiling this code itself lol

trevius 06-26-2008 05:38 PM

The dev kit works just fine if you follow the directions. Though, it doesn't hurt to have a little technical experience with compiling in VB when using it. If you got errors while compiling, then most likely the changes you made are what is causing the errors. It is very particular about how changes to the source get handled and they have to be done right or you will get errors. I haven't tried these code changes suggestions, so I don't know if they work or not.

spider661 06-26-2008 06:15 PM

i followed the directions 100%
Code:

#### Dev Kit ####
1)install VC++2008.exe
2)this entire folder needs to be place in C:/EQEmu
3)open Server.sln with VC++ 2008
4)open tools menu click options
5)select Projects and Solutions drop down menu
6)click VC++ and add the Dependencys folder as Executable files,Include Files,Library files
7)on the top bar it will proly see debug change it to Release and then Build Solution
8)watch as its compiled you will notice many warnings this is normal
9)the newly compiled files will be in the Build folder

Notes: This kit includes build files for Pearl 5.8, zlib 1.2.3, mysql 6.0.4, VC++ 8.0, EQEmu 1110. They are the latest working build files that i know of. This Dev Kit was made by Opyrus. This kit is easy to update simply paste the latest source over the current files and if you wish to update any of the other required Build files you can paste them inthe Dependancys folder.

i even tried using a clean version without the changes and still error all over the place and then fails with no zonedebug.exe file or anything in the debug folder

maybe there a ver version of the dev kit i missed somewhere? the file sayed devkit2.0.exe

ill tr again from scratch see what happens


All times are GMT -4. The time now is 06:09 AM.

Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.