Jump to content

Be a Betrayer !


Guest sanakan

Recommended Posts

Hi folks,

A friend of mine, and myself, have a Server with the newest revision.

We thought about a nice quest, where the players are able to betray the own faction (means: Ally becomes Horde , and Horde becomes an Ally). This should be managed with a quest and .. well stuff .. not intresting..

We hunted the needle in the haystack so far, that we´re thinking about patching the player.cpp because of some functions (like FactionForRace() - which we modified a little and so on ..)

So the question is .. is it the riight way we are thinking ?

Regards

Daniel

EDIT: For better unterstanding - We want to change the Faction (no .. changing the faction_template doesn´t work) so that it´s possible for, let´s say, a darkelf to make normal horde-quests, trade and well ... become horde !

Link to comment
Share on other sites

Well, I tried to trade with a horde GM character with an alliance player character, but it failed - I changed the factions but it doesn't worked either, so I guess that the client checks the races for such actions.

Yes, I can confirm the client trade limitation, I guess it's also race-related, but not sure :)

Link to comment
Share on other sites

Well, I tried to trade with a horde GM character with an alliance player character, but it failed - I changed the factions but it doesn't worked either, so I guess that the client checks the races for such actions.
Yes, I can confirm the client trade limitation, I guess it's also race-related, but not sure :)

Nope, it worked in an earlyer Version of mangos (i think it was befor implementing the 2 side auction house feature, befor this the option in config was named AllowTwoSideTrade and worked as it named)

Link to comment
Share on other sites

  • 2 weeks later...
Well, I tried to trade with a horde GM character with an alliance player character, but it failed - I changed the factions but it doesn't worked either, so I guess that the client checks the races for such actions.

Partly. The main Horde/Alliance factions are hard-coded (or so it seems from a cursory visit to the source code), while some sub-groups do seem to be allowed to be made friendly or at least less warlike. I've managed to get Friendly rep with the Stormwolf Clan, f'instance- much to the consternation of the local Drarves.

If the faction comes up 'Neutral' when you first see it, you can toggle the 'At War' setting in the reputation panel of the client and go from there. However, this doesn't work for the main Alliance/Horde factions. The Defilers, Timbermaw Hold and others can also have their 'At War' setting turned off in the rep panel, but the others seem to be permanently set, hardcoded by the game code and keying on races.

Link to comment
Share on other sites

Partly. The main Horde/Alliance factions are hard-coded (or so it seems from a cursory visit to the source code), while some sub-groups do seem to be allowed to be made friendly or at least less warlike. I've managed to get Friendly rep with the Stormwolf Clan, f'instance- much to the consternation of the local Drarves.

If the faction comes up 'Neutral' when you first see it, you can toggle the 'At War' setting in the reputation panel of the client and go from there. However, this doesn't work for the main Alliance/Horde factions. The Defilers, Timbermaw Hold and others can also have their 'At War' setting turned off in the rep panel, but the others seem to be permanently set, hardcoded by the game code and keying on races.

I believe faction info is stored in DBC files, so you're require an MPQ edit to modify stuff like that. You can add custom reputations and spoof stuff like that on the client side with DBC edits.With a "modified client" (DBC files) you could add modified reputation functionality, but otherwise you will be limited by the static data in the DBCs.

Link to comment
Share on other sites

Did anyone except Arrai , read my posting ? :D

There´s a function in player.cpp , who sets the Team (alli,horde) for the chosen Race (over the dbc-files of course).

And No , it doesnt work with simply give a Nightelf 6000 rep in Orgrimmar .. it won´t get attacked .. yes , but can´t trade nore do something else.

Greets

Daniel

PS: Please read my posting ....

Link to comment
Share on other sites

Did anyone except Arrai , read my posting ? :D

There´s a function in player.cpp , who sets the Team (alli,horde) for the chosen Race (over the dbc-files of course).

And No , it doesnt work with simply give a Nightelf 6000 rep in Orgrimmar .. it won´t get attacked .. yes , but can´t trade nore do something else.

Greets

Daniel

PS: Please read my posting ....

Do you listen? The client doesn't read the DBC files from the server, it uses local ones that CANNOT BE OVERRIDDEN FROM THE SERVER, there are client side restrictions, so doing what you want is impossible.

Link to comment
Share on other sites

  • 2 weeks later...
  • 2 weeks later...

Well, i think the clients are capable to change faction, just think about the Zombie infestation event, the faction was changed to a scourge-like faction. However it was an effect of a spell i think. And another example, the Corrupted Ashbringer has a spell effect that makes Argent Dawn enemy and Scarlet Crusade friendly.

So I think you should try to do this with a passive spell that changes the factions...

Link to comment
Share on other sites

Not sure how...but running Trinity with a 2.4.3 client...If horde and alliance are in the same party (allowed by setting the config option)...they can trade with each other (allowed by setting the config option)...Yet when they are not partied it does not let them trade.

So the Server must in fact have the ability to override the DBC files. I believe some DBC files simply provide labels or data for whatever is told to the client by the server. They are not necessarily points of data that the client is ONLY allowed to use.

If Horde and Alliance was hard coded...then you couldn't set the flag and let them party together.

Link to comment
Share on other sites

In 2.4.3 the client can be fooled into not accepting the restriction, but in 3.0.x and above the restriction is definitely enforced. I think some of the old tricks of spoofing race in the client server communications won't work.

Lordsab: If its a spell, the server handles it... and from memory the scorge invasion event just sets the player to a different faction altogether (temporarily) that's hostile to both horde and alliance. The scarlet crusade ashbringer event is a entire instance script; if you plan to do that to all the mobs you have some serious performance issues.

Link to comment
Share on other sites

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privacy Policy Terms of Use