View Full Version : Faction and Aggro
Got a couple of questions, that I hope someone can answer.
On Faction:
Looking at the Faction Table in the database, I see that there is a base faction and many mods. Does anyone know what the acceptable range for base faction is? (ie. what number is going to represent KOS?). The mods are labeled as Mod_c1 - Mod_c15 (presumably class modifiers) Mod_r1 - Mod_r14 (presumably racial modifiers) Then several nonsequential Mod_r## (which I assume are religious modifiers). Does anyone have a list of what specific class/race/religion each of these represent?
On Aggro:
Are mobs supposed to be assisting one another? Because on my server they are not. I can walk up to a group of mobs, and as long as I'm not KOS to them, I can fight one in the middle of the group and the others will stand by and do nothing. I thought that was what the Social entry in the NPC Table was for. Is there something I need to do to turn this on, or is it not implemented yet?
Thanks for any help.
Lurker_005
07-06-2003, 01:18 PM
Drwade did the work for ya, the first line of his faction_list.txt file
#INSERT INTO faction_list VALUES (1,'Faction',0Default,0War,0Clr,0Pal,0Rng,0Shd,0Dr u,0Mnk,0Brd,0Rog,0Shm,0Nec,0Wiz,0Mag,0Enc,0Bst,0Hu m,0Barb,0Erud,0WElf,0HElf,0DElf,0HlfElf,0Dwf,0Trl, 0Ogr,0Half,0Gnm,0Were,0Skel,0Elem,0Zomm,0Wolf,0Iks ,0Vah,0IksSkel,0Agn,0Bertox,0Brell,0Cazic,0Errol,0 Bristle,0Karana,0Innor,0Mithan,0Prexus,0Quell,0Ral los,0Nife,0Solusek,0Tribun,0Tunare,0Veeshan);
Ah... I missed that.
Thanks
Unfortunately I am not at my computer to test this. How does this change to the database effect aggro?
Unfortunately I can't edit my last post. Let me rephrase my question. Is the faction setting the only setting in the database that affects aggro?
Also, I haven't figured out all the secrets to moving mobs along more than one way point yet. So perhaps someone can tell me, does the emulator also allow for bad aggro between spawns? If set up appropriately, will they fight each other if in close contact?
tcsmyworld
07-12-2003, 10:00 AM
A while back there was code to set up npc vs npc , not sure if it can still be added into current code or not.
I'll dig around and see if I can find it again.
Bigpull
07-12-2003, 10:13 AM
Yes an npc will attack another npc with a conflicting faction.
What version of Eqemu was this implemented?
I ran a test by truncating my npc and faction databases completely. I created two factions called the Hatfields and McCoys. One faction was a dark elf hater and the other was a dwarf hater. I set a dwarf and dark elf on the same waypoint patrol, each assigned to their corresponding faction. The dwarf and dark elf had identical stats apart from race. They passed each other on their patrols without conflict.
However, I could create a character with identical stats and change my race to one or the other, and they would attack me accordingly.
For the life of me, I haven't been able to get NPC's to assist either.
Well... They only way they assist each other, based on my limited experiementation, is by individual faction checks. If your character fits the bill as the creature's most wanted, they will attack you individually -- so they never to truely assist each other as a separate checksum. (Which would be nice if they included that in the newest release.) Unless someone could prove me wrong with some insight, I didn't see any checksums for NPC -vs- NPC either. My upcomming server story-line will depend on that heavily. It's nice that they'll have the source code available too, just in case. ;)
I had assumed that was what the social field was for in the DB...
tcsmyworld
07-14-2003, 04:51 PM
Not sure if anyone remembers way back when Malevolent created an AI addition that used npc bosses and had it fixed so that you could have different npc's under different bosses fight for territory.
I'm trying to find the source from that , I archived it on CD somewhere , I'll post the source files when I find them , might be able to pick thru it and come up with something that would work for this.
I would really like to see that, TCS. Thanks!
I experimented with the socials and didn't turn up anything. However, your suggestion has given me reason to re-examine some more possiblities.
Now I am only assuming that the social is either turned off or on, '0 or 1' respectivly. So using the database from my earlier experiement above, I could create two Hatfields with the social of 1. Next, I switch my character to a neutral race with the #race command. Lastely I would attack one hatfield. The other hatfield being well in aggro radias should then come to the other's aid, pending I understood this correctly. Maybe someone could edjucate me otherwise.
Though, having the NPC's making checksums against themselves away from any 'city defined zone' would give the GM great versitility in carrying through story-based events. I can't wait to see TCS's code.
Although this opens another question for me. How does City Defense concure with NPC's that might be stationed in zones that contained more than one city area such as Greater Faydark? There would have to be 'bubbles', so to speak, in the database that defined city areas and NPC's that were stationed in them. Or perhaps there is a flag in the NPC setup that I have overlooked that gives direction to NPC's flagged in the CityDefense database?
tcsmyworld
07-14-2003, 06:03 PM
City defense only works on Guildwars servers.
The old source I have (when I find it , archived a bunch of stuff when HDD got full) sets up a completely different aspect of AI.
Was really cool when he made it, was early days when AI wasn't quite working , I'll look for it and see about getting it posted somewhere for you .
Unfortunately, I haven't had a chance to check out the server code yet, but does someone know off hand what overall values trigger Friend, Foe, allie, ect?
I found the values, so I thought I would post them here for quick
reference:
if(character_value >= 1101) return FACTION_ALLY;
if(character_value >= 701 && character_value <= 1100) return FACTION_WARMLY;
if(character_value >= 401 && character_value <= 700) return FACTION_KINDLY;
if(character_value >= 101 && character_value <= 400) return FACTION_AMIABLE;
if(character_value >= 0 && character_value <= 100) return FACTION_INDIFFERENT;
if(character_value >= -100 && character_value <= -1) return FACTION_APPREHENSIVE;
if(character_value >= -700 && character_value <= -101) return FACTION_DUBIOUS;
if(character_value >= -999 && character_value <= -701) return FACTION_THREATENLY;
if(character_value <= -1000) return FACTION_SCOWLS;
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.