ArcEmu: [Applied]Tbc Races - ArcEmu

Jump to content

Toggle shoutbox Lastest Announcements

dfighter  : (07 December 2014 - 12:06 PM) Arcemu is in hibernation mode, please read http://arcemu.org/fo...showtopic=26903
dfighter  : (01 January 2013 - 05:56 PM) Arcemu wishes you all a happy new year!
Hasbro  : (12 September 2012 - 10:01 AM) Please excuse our outage from the web! Our web host had a major malfunction!
dfighter  : (01 September 2012 - 04:05 PM) Since the spam bots just don't want to stop, I've enabled admin verification when registering.
dfighter  : (23 January 2012 - 09:56 PM) Please note that from now on you will need to confirm your email on the wiki in order to edit it!
Hasbro  : (31 December 2011 - 12:50 PM) Happy New Years all!
Navid  : (26 December 2011 - 04:09 AM) Merry Christmas !!!!!! Happy holidays all :)
WAmadeus  : (24 December 2011 - 03:54 PM) Merry Christmas to all!
dfighter  : (24 December 2011 - 11:05 AM) The Arcemu team wishes y'all a Merry Christmukkah!
Hasbro  : (05 October 2011 - 12:53 PM) Looking for web designers for upcoming web related project. If you're interested in designing user interfaces contact me
dfighter  : (02 September 2011 - 03:47 PM) So who here wants vehicles in Arcemu? :P http://arcemu.org/fo...showtopic=25440
Hasbro  : (14 August 2011 - 03:25 PM) Join us on irc, grab an irc client and connect to irc.freenode.net join channel #arcemu /server irc.freenode.net:6667 /join #arcemu
jackpoz  : (03 August 2011 - 05:33 AM) to all Lua Engine (old one) users: please check http://arcemu.org/fo...showtopic=25274
Hasbro  : (20 May 2011 - 05:27 PM) Looking for people experienced with CMake configuration and setup! Contact me asap
Hasbro  : (15 May 2011 - 05:03 PM) ArcEmu is recruiting C++ programmers, contact Hasbro if interested.
paroxysm  : (03 May 2011 - 06:26 PM) Updated luabridge gossip example to describe the whole gossip creation process rather than just how to create menu. Gossip tutorial
paroxysm  : (23 April 2011 - 11:35 AM) Lua writers can refer to the Luabridge Tutorials section in the Wiki to learn how to write gossip code correctly.
Hasbro  : (20 April 2011 - 05:22 PM) Thank you for your continuous contribution of bug reports, we are working on them.
Hasbro  : (17 April 2011 - 03:20 AM) Please consider donating to support our bills. Donations can be sent using PayPal to donations@arcemu.org - Thank you for your support.
paroxysm  : (10 April 2011 - 12:43 AM) Refer to the Luabridge Tutorials section in the Wiki to learn the new syntax of luabridge.
Resize Shouts Area

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

[Applied]Tbc Races

#1 User is offline   Roller 

  • Member
  • Pip
  • Group: Members
  • Posts: 28
  • Joined: 29-July 09

Posted 15 January 2011 - 12:51 PM

TBC races:
Fixes Blood elf and Draenei not being usable when the account flag is set to 8 (TBC according to the Arcemuwiki)
Detailed Explanation: If you set the Flags to 8 in the auth/logon database accounts table, which is TBC according to the Arcemuwiki, you get disconnected when trying to create a character that's race is Blood elf or Draenei.
This should not happen cause these races are included in the TBC expansion.

This patch will remove the WOTLK expansion check from the player.cpp thus making you able to create a Blood elf or Draenei character when the account flag is set to 8.

Index: Player.cpp
===================================================================
--- Player.cpp	(revision 4023)
+++ Player.cpp	(working copy)
@@ -675,7 +675,7 @@
 	}
 
 	// check that the account CAN create TBC characters, if we're making some
-	if(race >= RACE_BLOODELF && !((m_session->_accountFlags & ACCOUNT_FLAG_XPACK_01) && (m_session->_accountFlags & ACCOUNT_FLAG_XPACK_02)))
+	if(race >= RACE_BLOODELF && !(m_session->_accountFlags & ACCOUNT_FLAG_XPACK_01))
 	{
 		//sCheatLog.writefromsession(m_session, "tried to create player with race %u and class %u but no expansion flags", race, class_);
 		m_session->Disconnect();



Attached File  TBC race fix.patch (641bytes)
Number of downloads: 0
0

#2 User is offline   jackpoz 

  • ArcEmu Lemon Priest
  • PipPipPipPipPipPipPipPip
  • Group: Developers
  • Posts: 2,153
  • Joined: 19-June 08
  • Gender:Male
  • Location:Italy
  • Server OS:Windows

Posted 15 January 2011 - 01:12 PM

so basically you reverted http://sourceforge.n.../changeset/1584 , right?
Posted Image We develop dreams. Your dreams ;)
Posted ImagePosted Image
0

#3 User is offline   Roller 

  • Member
  • Pip
  • Group: Members
  • Posts: 28
  • Joined: 29-July 09

Posted 15 January 2011 - 01:33 PM

View PostSaintJamesApostle, on 15 January 2011 - 01:12 PM, said:

so basically you reverted http://sourceforge.n.../changeset/1584 , right?


Yes.

And if ACCOUNT_FLAG_XPACK_01 is TBC and ACCOUNT_FLAG_XPACK_02 is WOTLK
this should be right.

If the client with TBC can choose Draenei and Blood elf as a race, the way it is now would cause a disconnect cause according to the IF, it should not do it.

EDIT: Or wait, NO.

Cause in that patch it is an OR between the flag checks. and in the current core it is and AND:

Current
!((m_session->_accountFlags & ACCOUNT_FLAG_XPACK_01) && (m_session->_accountFlags & ACCOUNT_FLAG_XPACK_02))


Old
!m_session->_accountFlags & (ACCOUNT_FLAG_XPACK_01 || ACCOUNT_FLAG_XPACK_02)


new
!(m_session->_accountFlags & ACCOUNT_FLAG_XPACK_01))

OR if you want it this way
!((m_session->_accountFlags & ACCOUNT_FLAG_XPACK_01) || (m_session->_accountFlags & ACCOUNT_FLAG_XPACK_02))

0

#4 User is offline   jackpoz 

  • ArcEmu Lemon Priest
  • PipPipPipPipPipPipPipPip
  • Group: Developers
  • Posts: 2,153
  • Joined: 19-June 08
  • Gender:Male
  • Location:Italy
  • Server OS:Windows

Posted 15 January 2011 - 01:59 PM

View PostRoller, on 15 January 2011 - 01:33 PM, said:

Cause in that patch it is an OR between the flag checks. and in the current core it is and AND:

but it's a boolean OR, not a bitwise OR. that's why it was changed, a || there has absolutely NO MEANING at all.
Posted Image We develop dreams. Your dreams ;)
Posted ImagePosted Image
0

#5 User is offline   Shauren 

  • Helper
  • Group: Contributor
  • Posts: 808
  • Joined: 04-November 08
  • Gender:Male
  • Location:Poland
  • Interests:hmm, wow?

Posted 16 January 2011 - 12:14 PM

this makes no sense to check wotlk flag for blood elves/draenei, what you should rather do is enforce TBC flag during account loading if its not set AND wotlk is set
0

#6 User is offline   Roller 

  • Member
  • Pip
  • Group: Members
  • Posts: 28
  • Joined: 29-July 09

Posted 16 January 2011 - 01:33 PM

View PostShauren, on 16 January 2011 - 12:14 PM, said:

this makes no sense to check wotlk flag for blood elves/draenei, what you should rather do is enforce TBC flag during account loading if its not set AND wotlk is set


Umm ..this.

And If i got it right, atm the core is checking for both, wotlk and tbc account flags for tbc races.
(kinda like shauren said)

So with the "latest" core, the TBC race creation will disconnect you.
0

#7 User is offline   Artox 

  • Occasional Poster
  • PipPip
  • Group: Members
  • Posts: 142
  • Joined: 01-November 08

Posted 23 January 2011 - 08:34 AM

To get this patch forwards: Here is how I thgink this should be handled:
when we want to create TBC character we need to check if account has TBC flag and when we want to create a deathknight we have to check if account has wotlk flag.
to Shauren: I think that it should be possible to have accounts with wotlk flag and without tbc flag. This way people could disable draenei and bloodelfs if they wanted to. There is no need to force tbc flag when we have wotlk flag
Index: src/arcemu-world/Player.cpp
===================================================================
--- src/arcemu-world/Player.cpp	(Revision 4028)
+++ src/arcemu-world/Player.cpp	(Arbeitskopie)
@@ -674,13 +674,19 @@
 		return false;
 	}
 
-	// check that the account CAN create TBC characters, if we're making some
-	if(race >= RACE_BLOODELF && !((m_session->_accountFlags & ACCOUNT_FLAG_XPACK_01) && (m_session->_accountFlags & ACCOUNT_FLAG_XPACK_02)))
+	// check that the account can create TBC characters, if we're making some
+	if( race >= RACE_BLOODELF && !(m_session->_accountFlags & ACCOUNT_FLAG_XPACK_01) )
 	{
-		//sCheatLog.writefromsession(m_session, "tried to create player with race %u and class %u but no expansion flags", race, class_);
 		m_session->Disconnect();
 		return false;
 	}
+	
+	// check that the account can create deathknights, if we're making one
+	if( class_ == DEATHKNIGHT && !(m_session->_accountFlags & ACCOUNT_FLAG_XPACK_02) )
+	{
+		m_session->Disconnect();
+		return false;
+	}
 
 	m_mapId = info->mapId;
 	SetZoneId(info->zoneId);
@@ -13753,4 +13759,4 @@
 	}
 
 	return true;
-}
\ No newline at end of file
+}
Attached File  tbc-races.patch (1.05K)
Number of downloads: 2

NOTE: those 2 if-statements can be combined but as you can see I didnt do that!
Posted Image
0

#8 User is offline   jackpoz 

  • ArcEmu Lemon Priest
  • PipPipPipPipPipPipPipPip
  • Group: Developers
  • Posts: 2,153
  • Joined: 19-June 08
  • Gender:Male
  • Location:Italy
  • Server OS:Windows

Posted 26 August 2011 - 07:30 AM

- Applied.
- Moved to applied patches.
Posted Image We develop dreams. Your dreams ;)
Posted ImagePosted Image
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users