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

Development::Feature Requests Post suggestions/feature requests here.

Reply
 
Thread Tools Display Modes
  #16  
Old 04-14-2017, 12:41 AM
Coenxai's Avatar
Coenxai
Hill Giant
 
Join Date: Dec 2013
Posts: 151
Default

Quote:
Originally Posted by ChaosSlayerZ View Post
I am not exactly sure what BT_Undead is? and how its different from just Undead?
BT is just BodyType -- so when I said BT_Undead, I'm basically just saying undead.

You can set up multiple factions to function differently. For instance, here are some factions that I use:

Undead KoS (-32000)
Undead KoS Assist (-32000, assist other undead in trouble)
Undead (0, won't attack, yay!)
Undead Assist (0, won't attack, yay! assist other undead in trouble)
NonNec KoS (undead that's KoS to everyone except necromancers)

That code I mentioned will only take the KoS conned mobs and make them attack higher level players if they exceed the undead threshold. Make sense?
Code:
RULE_INT(Aggro, UndeadLevelAggro, 6)
(GetBodyType() == BT_Undead && MyLevel >= RuleI(Aggro, UndeadLevelAggro))
__________________
"The true sign of intelligence is not knowledge but imagination."
Reply With Quote
  #17  
Old 04-14-2017, 01:02 AM
ChaosSlayerZ's Avatar
ChaosSlayerZ
Demi-God
 
Join Date: Mar 2009
Location: Umm
Posts: 1,492
Default

OK I see, yeah by Undead I always refer to the body type and not faction, since faction can be anything and can have any type of mobs of it


Basically what I am saying that body type of a mob should be irrelevant to the rule.
If mob is KOS (by faction) and has the Always Aggro FLAG - it always aggros.

So it can be NON Undead and always aggro
Or it can Undead and don't aggro (because of level difference)

Just to be clear
Reply With Quote
  #18  
Old 04-14-2017, 01:27 AM
Coenxai's Avatar
Coenxai
Hill Giant
 
Join Date: Dec 2013
Posts: 151
Default

It will always aggro if it is threatenly or scowl, bodytype has nothing to do with it -- the ONLY exception is if it ISN'T KoS

Did you want ALWAYS_AGGRO to apply to indifferent (ally, etc.) mobs too?
__________________
"The true sign of intelligence is not knowledge but imagination."
Reply With Quote
  #19  
Old 04-14-2017, 01:54 AM
ChaosSlayerZ's Avatar
ChaosSlayerZ
Demi-God
 
Join Date: Mar 2009
Location: Umm
Posts: 1,492
Default

Quote:
Originally Posted by Coenxai View Post
It will always aggro if it is threatenly or scowl, bodytype has nothing to do with it -- the ONLY exception is if it ISN'T KoS

Did you want ALWAYS_AGGRO to apply to indifferent (ally, etc.) mobs too?

OK, I am sorry if I confusing you

So let go over this again.
Normally, if we have a normal mob, that belongs to some faction and your faction is BAD (KOS or so) it will aggro. Unless you are much higher level than him.

Now, the FLAG that we are discussing should allow this mob to aggro (because of my BAD faction) even if it is out of level.

This FLAG should work instead of "Low INT" system that we currently have, because using INT stat for this is kind of stupid.

Thats what I am trying to say =)

Undead were only mentioned because it is USUALLY the type of mobs on LIVE that aggros out of level.

Obviously if mob is NOT KOS, it has no reason to aggro (unless I attack it)

But what will happen if mob is out of level range, my faction is good, BUT I attacked its friend? Normally mob will not assist because I am out of level, but mob with this FLAG should still assist because it sort of "fearless"


Sorry again if I am giving you a headache, I just want to make sure you getting me right
Reply With Quote
  #20  
Old 04-14-2017, 03:24 AM
Coenxai's Avatar
Coenxai
Hill Giant
 
Join Date: Dec 2013
Posts: 151
Default

Okay, let me try this again.

If it has the ALWAYS_AGGRO special ability. It will *ALWAYS* aggro if it's KoS. It doesn't matter the body type, level, intelligence, etc. It WILL aggro if this is set in my code.

Now, assisting (or yelling for help) is different, and it will require an additional change.

Code:
aggro.cpp

void EntityList::AIYellForHelp(Mob* sender, Mob* attacker)

   ...

		//if they are in range, make sure we are not green...
			//then jump in if they are our friend
			if(mob->GetSpecialAbility(ALWAYS_ASSIST) || mob->GetLevel() >= 50 || attacker->GetLevelCon(mob->GetLevel()) != CON_GREEN)
Code:
common.h

	PROX_AGGRO = 45,
	ALWAYS_AGGRO = 46,
	ALWAYS_ASSIST = 47,
	MAX_SPECIAL_ATTACK = 48
TO RECAP:

If a mob is set to (46) and it's KoS. It will ALWAYS ATTACK REGARDLESS OF ANYTHING.

If a mob is set to (47). It will ALWAYS ASSIST ITS FACTION REGARDLESS OF ANYTHING.

If it's set to both 46 and 47 it will always do both.
__________________
"The true sign of intelligence is not knowledge but imagination."
Reply With Quote
  #21  
Old 04-14-2017, 10:05 AM
ChaosSlayerZ's Avatar
ChaosSlayerZ
Demi-God
 
Join Date: Mar 2009
Location: Umm
Posts: 1,492
Default

Awesome
Thank You so much!
Reply With Quote
  #22  
Old 04-14-2017, 02:50 PM
Coenxai's Avatar
Coenxai
Hill Giant
 
Join Date: Dec 2013
Posts: 151
Default

No problem
__________________
"The true sign of intelligence is not knowledge but imagination."
Reply With Quote
  #23  
Old 02-01-2019, 05:07 PM
ChaosSlayerZ's Avatar
ChaosSlayerZ
Demi-God
 
Join Date: Mar 2009
Location: Umm
Posts: 1,492
Default

BUMP!

Begging the devs to implement this into official code instead of Level or INT setting.
Reply With Quote
  #24  
Old 03-17-2019, 07:33 AM
jmac
Fire Beetle
 
Join Date: Feb 2010
Posts: 4
Default

I just set all rats in misty to faction 1291 kos aggressive and they agro (lvl 1) on my lvl 70
Reply With Quote
  #25  
Old 03-17-2019, 11:00 AM
ChaosSlayerZ's Avatar
ChaosSlayerZ
Demi-God
 
Join Date: Mar 2009
Location: Umm
Posts: 1,492
Default

Quote:
Originally Posted by jmac View Post
I just set all rats in misty to faction 1291 kos aggressive and they agro (lvl 1) on my lvl 70
Thats NOT why they aggro.
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 02:22 PM.


 

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