Jump to content

Reiner030

Members
  • Posts

    4
  • Joined

  • Last visited

  • Donations

    0.00 GBP 

Reiner030's Achievements

Newbie

Newbie (1/3)

0

Reputation

  1. Hi, what about a sticky thread with the Subject "WoW 3.0.2 comes out..." ;-) ... so none of the writer can say the haven't found such toping because the search get no results ^^ ... seems that some of them (new post from today) think the mangos is supported by blizz and the mangos waits for updating only a few days till the client version is stable. I heard that the mounts, pets and honor get out of the bag and into the char window. also the pet has now a talent tree ... reads like a very big change in the core (therefore the upgrade version from 2.x to 3.x)
  2. Hi, as described under http://www.wowwiki.com/Formulas:Mob_XP#Two_Character_Groups a friend has got the same XP when leveling as lowchar with a highchar on the offi...I've tested a little and this works / calculated the XP as expected. Perhaps it make sense to modify the code a little to look only for the "member_with_max_level" which is the highest member with XP and set a highlevel flag when a higher char exists in the rewarded group. Then it could be compared as below, too. Index: mangos/src/game/Group.h =================================================================== --- mangos/src/game/Group.h (Revision 6766) +++ mangos/src/game/Group.h (Arbeitskopie) @@ -215,7 +215,7 @@ MemberSlotList const& GetMemberSlots() const { return m_memberSlots; } GroupReference* GetFirstMember() { return m_memberMgr.getFirst(); } uint32 GetMembersCount() const { return m_memberSlots.size(); } - void GetDataForXPAtKill(Unit const* victim, uint32& count,uint32& sum_level, Player* & member_with_max_level); + void GetDataForXPAtKill(Unit const* victim, uint32& count,uint32& sum_level, Player* & member_with_max_level, Player* & not_gray_member_with_max_level); uint8 GetMemberGroup(uint64 guid) const { member_citerator mslot = _getMemberCSlot(guid); Index: mangos/src/game/Group.cpp =================================================================== --- mangos/src/game/Group.cpp (Revision 6766) +++ mangos/src/game/Group.cpp (Arbeitskopie) @@ -24,6 +24,7 @@ #include "World.h" #include "ObjectMgr.h" #include "Group.h" +#include "Formulas.h" #include "ObjectAccessor.h" #include "BattleGround.h" #include "MapManager.h" @@ -783,7 +784,7 @@ BroadcastPacket(&data); } -void Group::GetDataForXPAtKill(Unit const* victim, uint32& count,uint32& sum_level, Player* & member_with_max_level) +void Group::GetDataForXPAtKill(Unit const* victim, uint32& count,uint32& sum_level, Player* & member_with_max_level, Player* & not_gray_member_with_max_level) { for(GroupReference *itr = GetFirstMember(); itr != NULL; itr = itr->next()) { @@ -798,6 +799,11 @@ sum_level += member->getLevel(); if(!member_with_max_level || member_with_max_level->getLevel() < member->getLevel()) member_with_max_level = member; + + uint32 gray_level = MaNGOS::XP::GetGrayLevel(member->getLevel()); + if( victim->getLevel() > gray_level && (!not_gray_member_with_max_level + || not_gray_member_with_max_level->getLevel() < member->getLevel())) + not_gray_member_with_max_level = member; } } Index: mangos/src/game/Player.cpp =================================================================== --- mangos/src/game/Player.cpp (Revision 6766) +++ mangos/src/game/Player.cpp (Arbeitskopie) @@ -17815,12 +17815,13 @@ uint32 count = 0; uint32 sum_level = 0; Player* member_with_max_level = NULL; + Player* not_gray_member_with_max_level = NULL; - pGroup->GetDataForXPAtKill(pVictim,count,sum_level,member_with_max_level); + pGroup->GetDataForXPAtKill(pVictim,count,sum_level,member_with_max_level,not_gray_member_with_max_level); if(member_with_max_level) { - xp = PvP ? 0 : MaNGOS::XP::Gain(member_with_max_level, pVictim); + xp = PvP ? 0 : MaNGOS::XP::Gain(not_gray_member_with_max_level, pVictim); // skip in check PvP case (for speed, not used) bool is_raid = PvP ? false : sMapStore.LookupEntry(GetMapId())->IsRaid() && pGroup->isRaidGroup(); @@ -17850,9 +17851,10 @@ pGroupGuy->RewardReputation(pVictim,is_dungeon ? 1.0f : rate); // XP updated only for alive group member - if(pGroupGuy->isAlive()) + if(pGroupGuy->isAlive() && not_gray_member_with_max_level && + pGroupGuy->getLevel() <= not_gray_member_with_max_level->getLevel()) { - uint32 itr_xp = uint32(xp*rate); + uint32 itr_xp = (member_with_max_level == not_gray_member_with_max_level) ? uint32(xp*rate) : uint32((xp*rate/2)+1); pGroupGuy->GiveXP(itr_xp, pVictim); if(Pet* pet = pGroupGuy->GetPet())
  3. # diff -p mangos/src/mangosd/CliRunnable.cpp . *** mangos/src/mangosd/CliRunnable.cpp 2008-10-11 20:39:26.000000000 +0200 --- ./CliRunnable.cpp 2008-10-15 12:45:18.000000000 +0200 *************** void CliSetAddon(char *command,pPrintf z *** 1075,1081 **** if(!szAcc||!szExp) { ! zprintf("Syntax is: setbc $account $number (0 - normal, 1 - tbc, 2 - wotlk)>\\r\\n"); return; } --- 1075,1081 ---- if(!szAcc||!szExp) { ! zprintf("Syntax is: setaddon $account $number (0 - normal, 1 - tbc, 2 - wotlk)>\\r\\n"); return; } *************** void CliSetAddon(char *command,pPrintf z *** 1083,1089 **** if(lev < 0) { ! zprintf("Syntax is: setbc $account $number (0 - normal, 1 - tbc, 2 - wotlk)>\\r\\n"); return; } --- 1083,1089 ---- if(lev < 0) { ! zprintf("Syntax is: setaddon $account $number (0 - normal, 1 - tbc, 2 - wotlk)>\\r\\n"); return; }
  4. Hi, sorry if this question was already asked - the searched for "git", "svn" or "git svn" and the forum says always: So... I asked this question because it's very easy (but not quick made).I tried it as described on this page: http://www.simplisticcomplexity.com/2008/03/05/cleanly-migrate-your-subversion-repository-to-a-git-repository/ (without author remapping) and get a nice result: ... r6766 = 3b1f43e134513f415414836c40404a9e9ea0e945 (trunk) M src/shared/Common.h M src/game/WorldSocket.cpp r6767 = 321a9d099c1c8ab53ba7aeab2c2dc33d8cda608d (trunk) Auto packing your repository for optimum performance. You may also run "git gc" manually. See "git help gc" for more information. Counting objects: 60221, done. Compressing objects: 100% (60102/60102), done. Writing objects: 100% (60221/60221), done. Total 60221 (delta 49552), reused 0 (delta 0) Removing duplicate objects: 100% (256/256), done. Checking out files: 100% (3338/3338), done. Checked out HEAD: [url]https://mangos.svn.sourceforge.net/svnroot/mangos/trunk[/url] r6767 # git clone mangos-svn mangos-svn-final Initialized empty Git repository in /home/mangos/git/mangos-svn-final/.git/ Checking out files: 100% (3338/3338), done. Here a look on the log: # git log commit 321a9d099c1c8ab53ba7aeab2c2dc33d8cda608d Author: mr_derex <mr_derex@26674162-90ff-0310-a85b-b64107c8dee9> Date: Mon Oct 13 19:52:18 2008 +0000 * Some small cosmetics in netcode patch. commit 3b1f43e134513f415414836c40404a9e9ea0e945 Author: mr_derex <mr_derex@26674162-90ff-0310-a85b-b64107c8dee9> Date: Sun Oct 12 21:19:42 2008 +0000 * Restore a from previous commits. * Add configuration options to mangosd.conf. commit 8391adbba045352e0eee36a147bd81ca5f6bdce3 Author: mr_derex <mr_derex@26674162-90ff-0310-a85b-b64107c8dee9> Date: Sun Oct 12 19:08:22 2008 +0000 * Add Makefiles for ACE netcode patch. * Some other Makefile fixes. ... If you want take a look at the git archive, I packed the .git folder http://rapidshare.com/files/155586090/git-mangos-r6767.rar (45MB) It could be downloaded, extracted and then checked out ;-) - tested under git-gui under windows. Perhaps you can import the svn repo into the git repo ?
×
×
  • 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