-
Posts
2446 -
Joined
-
Last visited
Never -
Donations
0.00 GBP
Content Type
Bug Tracker
Wiki
Release Notes
Forums
Downloads
Blogs
Events
Everything posted by Auntie Mangos
-
What bug does the patch fix? What features does the patch add? Disables druid cat form Dash ability when not in cat form For which repository revision was the patch created? 8480+ Is there a thread in the bug report section or at lighthouse? If yes, please add a link to the thread. The bug is reported on getmangos.eu: here, here, and here. Who has been writing this patch? Please include either forum user names or email addresses. Me - Dr Bobaz Patch: In SpellAuras.cpp @@ -2942,10 +2942,12 @@ void Aura::HandleAuraModShapeshift(bool apply, bool Real) } // adding/removing linked auras // add/remove the shapeshift aura's boosts HandleShapeshiftBoosts(apply); + //update speed to enable/disable dash modifier + m_target->UpdateSpeed(MOVE_RUN, true); if(m_target->GetTypeId() == TYPEID_PLAYER) ((Player*)m_target)->InitDataForForm(); } In Unit.h @@ -1373,10 +1373,11 @@ class MANGOS_DLL_SPEC Unit : public WorldObject void ApplyAuraProcTriggerDamage(Aura* aura, bool apply); int32 GetTotalAuraModifier(AuraType auratype) const; float GetTotalAuraMultiplier(AuraType auratype) const; int32 GetMaxPositiveAuraModifier(AuraType auratype) const; + int32 GetOneBeforeMaxPositiveAuraModifier(AuraType auratype) const; int32 GetMaxNegativeAuraModifier(AuraType auratype) const; int32 GetTotalAuraModifierByMiscMask(AuraType auratype, uint32 misc_mask) const; float GetTotalAuraMultiplierByMiscMask(AuraType auratype, uint32 misc_mask) const; int32 GetMaxPositiveAuraModifierByMiscMask(AuraType auratype, uint32 misc_mask) const; In Unit.cpp @@ -3264,11 +3264,27 @@ int32 Unit::GetMaxPositiveAuraModifier(AuraType auratype) const if ((*i)->GetModifier()->m_amount > modifier) modifier = (*i)->GetModifier()->m_amount; return modifier; } +int32 Unit::GetOneBeforeMaxPositiveAuraModifier(AuraType auratype) const +{ + int32 modifier = 0; + int32 modifier2 = 0; + + AuraList const& mTotalAuraList = GetAurasByType(auratype); + for(AuraList::const_iterator i = mTotalAuraList.begin();i != mTotalAuraList.end(); ++i) + if ((*i)->GetModifier()->m_amount > modifier) + { + modifier = (*i)->GetModifier()->m_amount; + for(AuraList::const_iterator j = mTotalAuraList.begin();j != mTotalAuraList.end(); ++j) + if((j != i) && ((*j)->GetModifier()->m_amount > modifier2) && ((*j)->GetModifier()->m_amount <= modifier)) + modifier2 = (*j)->GetModifier()->m_amount; + } + return modifier2; +} int32 Unit::GetMaxNegativeAuraModifier(AuraType auratype) const { int32 modifier = 0; AuraList const& mTotalAuraList = GetAurasByType(auratype); @@ -9652,10 +9668,25 @@ void Unit::UpdateSpeed(UnitMoveType mtype, bool forced) default: sLog.outError("Unit::UpdateSpeed: Unsupported move type (%d)", mtype); return; } + //dash check + AuraList const& mSpeed = GetAurasByType(SPELL_AURA_MOD_INCREASE_SPEED); + if(m_form != FORM_CAT && mtype == MOVE_RUN) + for(AuraList::const_iterator i = mSpeed.begin(); i != mSpeed.end(); ++i) + { + if ((*i)->GetSpellProto()->SpellFamilyName == SPELLFAMILY_DRUID && (*i)->GetSpellProto()->SpellIconID == 959) + { + if(main_speed_mod > (*i)->GetModifier()->m_amount) + break; + else + main_speed_mod = GetOneBeforeMaxPositiveAuraModifier(SPELL_AURA_MOD_INCREASE_SPEED); + } + } + //dash check end + float bonus = non_stack_bonus > stack_bonus ? non_stack_bonus : stack_bonus; // now we ready for speed calculation float speed = main_speed_mod ? bonus*(100.0f + main_speed_mod)/100.0f : bonus; switch(mtype) And, an alternate version of modifications in Unit.cpp, where I eliminated the loop-in-the-loop situation, and probably it is more effictient way to do it. Only the OneBefore... function is changed: @@ -3264,11 +3264,33 @@ int32 Unit::GetMaxPositiveAuraModifier(AuraType auratype) const if ((*i)->GetModifier()->m_amount > modifier) modifier = (*i)->GetModifier()->m_amount; return modifier; } +int32 Unit::GetOneBeforeMaxPositiveAuraModifier(AuraType auratype) const +{ + int32 modifier = 0, modifier2 = 0, l = 0, ind = 0; + AuraList const& mTotalAuraList = GetAurasByType(auratype); + for(AuraList::const_iterator i = mTotalAuraList.begin();i != mTotalAuraList.end(); ++i) + { + if ((*i)->GetModifier()->m_amount > modifier) + { + modifier = (*i)->GetModifier()->m_amount; + ind = l; + } + ++l; + } + l = 0; + for(AuraList::const_iterator i = mTotalAuraList.begin();i != mTotalAuraList.end(); ++i) + { + if(((*i)->GetModifier()->m_amount > modifier2 && l != ind)) + modifier2 = (*i)->GetModifier()->m_amount; + ++l; + } + return modifier2; +} int32 Unit::GetMaxNegativeAuraModifier(AuraType auratype) const { int32 modifier = 0; AuraList const& mTotalAuraList = GetAurasByType(auratype); @@ -9652,10 +9674,25 @@ void Unit::UpdateSpeed(UnitMoveType mtype, bool forced) default: sLog.outError("Unit::UpdateSpeed: Unsupported move type (%d)", mtype); return; } + //dash check + AuraList const& mSpeed = GetAurasByType(SPELL_AURA_MOD_INCREASE_SPEED); + if(m_form != FORM_CAT && mtype == MOVE_RUN) + for(AuraList::const_iterator i = mSpeed.begin(); i != mSpeed.end(); ++i) + { + if ((*i)->GetSpellProto()->SpellFamilyName == SPELLFAMILY_DRUID && (*i)->GetSpellProto()->SpellIconID == 959) + { + if(main_speed_mod > (*i)->GetModifier()->m_amount) + break; + else + main_speed_mod = GetOneBeforeMaxPositiveAuraModifier(SPELL_AURA_MOD_INCREASE_SPEED); + } + } + //dash check end + float bonus = non_stack_bonus > stack_bonus ? non_stack_bonus : stack_bonus; // now we ready for speed calculation float speed = main_speed_mod ? bonus*(100.0f + main_speed_mod)/100.0f : bonus; switch(mtype) I'm also thinking of using the second function as GetMaxPositive, with modifier2 returned as reference, and performing second loop only if function is triggerd with parameter. But it will create a unnecesary condition check every time the function is triggerd. So maybe separate function is a better idea?
-
I'm pretty sure that this patch would completely replace this (and many other spell icon checks): http://getmangos.eu/community/viewtopic.php?id=9232 Also, if you are trying to prevent spells from stacking, you should return true (as in, it's true that it is a no stack spell.)
-
What bug does the patch fix? What features does the patch add? Function TeleportTo should return 6 parameters, not 5. For which repository revision was the patch created? 8063 Is there a thread in the bug report section or at lighthouse? If yes, please add a link to the thread. No. There is no Thread. Who has been writing this patch? Please include either forum user names or email addresses. Ambal diff --git a/src/game/Player.h b/src/game/Player.h index 02d8f30..734faba 100644 --- a/src/game/Player.h +++ b/src/game/Player.h @@ -885,7 +885,7 @@ class MANGOS_DLL_SPEC Player : public Unit bool TeleportTo(WorldLocation const &loc, uint32 options = 0) { - return TeleportTo(loc.mapid, loc.coord_x, loc.coord_y, loc.coord_z, options); + return TeleportTo(loc.mapid, loc.coord_x, loc.coord_y, loc.coord_z, loc.orientation, options); } void SetSummonPoint(uint32 mapid, float x, float y, float z)
-
Git mirrored to SourceForge SVN
Auntie Mangos replied to Auntie Mangos's topic in OldAnnouncements & news
The id is a hash of all the files contents in the repo, it is used in place of revision numbers in svn. I'm sure that is all info you already knew. Now if you want to checkout the repo to a prior state then all you have to do is as stated run the git checkout command. However you don't have to input the whole hash just the first 8 or 9 digits. Git will figure the rest out. git checkout adef994 That is just an example not a real commit . Regards, JDG -
I've put together a fresh distribution of MaNGOS using the stickied tutorial found here. Compiled everything without any errors. When I run the server, everything runs fine, ingame it all seems fine until the server comes to a crash. I'm running Windows 7 x64 and using WOLTK build 12340 (3.3.5a) Here are a few errors logged: DBErrors: Other then a large number of these errors, there isn't much Server: Crash log for mangosd.exe: I've tried using UDB with ACID, PSDB, and somebodys already put together UDB database with ACID. UDB with ACID crashes occasionally appearing at random, PSDB jsut crashed upon login and somebody elses UDB appeared to last longer without crash but might be doing exactly what my put together UDB with ACID did, hard to tell since the crashes seem random. Thanks in advance for any ideas or solutions for a fix to this problem. -Tim Edit: After starting fresh and running over everything I was to do, found out the directory for the SDKs Bin folder did not set in the compiler.. causing the server to be unstable.
-
[Guide] Mangos Windows Setup
Auntie Mangos replied to a topic in OldInstallation, configuration & upgrades
Oh thank you, it'll be added immediately -
You work after alternative way added in [9754] is a trash. And you link: "That page doesn't exist!" :)
-
[Guide] Mangos Windows Setup
Auntie Mangos replied to a topic in OldInstallation, configuration & upgrades
http://getmangos.eu/community/showthread.php?13121-World-of-Warcraft-Server-for-Windows-Installation-Guide Check Part #15, this should help you out to figure it out! -
Sorry I originally posted this in the wrong spot. You can delete my other post wrong spot Don't be too hard on the new guy I put this patch out on the Trinity site but thought I should post it here too. (I posted a previous fishing patch to the Trinity site that some how found it's way into here ) This patch fixes some more fishing achievements and also fixes proper detection of spells learned previous to update. Anyway here it is. diff -r f33a9a62e8aa src/game/AchievementMgr.cpp --- a/src/game/AchievementMgr.cpp Sat Apr 18 12:23:16 2009 +0200 +++ b/src/game/AchievementMgr.cpp Sat Apr 18 09:02:37 2009 -0400 @@ -807,7 +807,8 @@ // spell always provide and at login spell learning. if(miscvalue1 && miscvalue1!=achievementCriteria->learn_spell.spellID) continue; - if(GetPlayer()->HasSpell(miscvalue1)) + //miscvalue is 0 at login + if(GetPlayer()->HasSpell(achievementCriteria->learn_spell.spellID)) SetCriteriaProgress(achievementCriteria, 1); break; case ACHIEVEMENT_CRITERIA_TYPE_OWN_ITEM: @@ -953,6 +954,20 @@ SetCriteriaProgress(achievementCriteria, 1, PROGRESS_ACCUMULATE); break; + case ACHIEVEMENT_CRITERIA_TYPE_LOOT_TYPE: + if (!miscvalue1) + continue; + if (miscvalue1 != achievementCriteria->loot_type.lootType) + continue; + //Special case for achievement that is zone dependent + uint32 zone, subzone; + GetPlayer()->GetZoneAndAreaId(zone,subzone); + if (achievementCriteria->ID == 5274 && zone !=1637) + continue; + if (achievementCriteria->ID == 5275 && zone !=1519) + continue; + SetCriteriaProgress(achievementCriteria, 1, PROGRESS_ACCUMULATE); + break; case ACHIEVEMENT_CRITERIA_TYPE_LEARN_SKILLLINE_SPELLS: { // spell always provide and at login spell learning. @@ -1058,7 +1073,6 @@ case ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_HEALING_RECEIVED: case ACHIEVEMENT_CRITERIA_TYPE_QUEST_ABANDONED: case ACHIEVEMENT_CRITERIA_TYPE_FLIGHT_PATHS_TAKEN: - case ACHIEVEMENT_CRITERIA_TYPE_LOOT_TYPE: case ACHIEVEMENT_CRITERIA_TYPE_LEARN_SKILL_LINE: case ACHIEVEMENT_CRITERIA_TYPE_EARN_HONORABLE_KILL: case ACHIEVEMENT_CRITERIA_TYPE_ACCEPTED_SUMMONINGS: @@ -1177,6 +1191,8 @@ return progress->counter >= achievementCriteria->quest_reward_money.goldInCopper; case ACHIEVEMENT_CRITERIA_TYPE_FISH_IN_GAMEOBJECT: return progress->counter >= achievementCriteria->fish_in_gameobject.lootCount; + case ACHIEVEMENT_CRITERIA_TYPE_LOOT_TYPE: + return progress->counter >= achievementCriteria->loot_type.lootTypeCount; case ACHIEVEMENT_CRITERIA_TYPE_LOOT_MONEY: return progress->counter >= achievementCriteria->loot_money.goldInCopper; case ACHIEVEMENT_CRITERIA_TYPE_USE_GAMEOBJECT: diff -r f33a9a62e8aa src/game/GameObject.cpp --- a/src/game/GameObject.cpp Sat Apr 18 12:23:16 2009 +0200 +++ b/src/game/GameObject.cpp Sat Apr 18 09:02:37 2009 -0400 @@ -1106,6 +1106,7 @@ } else player->SendLoot(GetGUID(),LOOT_FISHING); + player->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_LOOT_TYPE, 3); } else {
-
You can edit Network.Threads in mangosd.conf Also, if you would like, you can test my async network sockets, from this thread. There are expected to be performance benefits (also no connection limits under windows)
-
What bug does the patch fix? What features does the patch add? 1) fixed work of raid assistant 2) fixed problem when sometimes players see other of raid members as "logged off" but these players is in game 3) fixed problem when sometimes players wrongly shown as member of other group in raid but it's really in your group 4) maybe something else... For which repository revision was the patch created? 9867 Is there a thread in the bug report section or at lighthouse? If yes, please add a link to the thread. http://getmangos.eu/community/showthread.php?12358 Who has been writing this patch? Please include either forum user names or email addresses. vipertv diff --git a/src/game/Group.cpp b/src/game/Group.cpp index 3af15a6..004d999 100644 --- a/src/game/Group.cpp +++ b/src/game/Group.cpp @@ -980,9 +980,9 @@ void Group::SendUpdate() // guess size WorldPacket data(SMSG_GROUP_LIST, (1+1+1+1+8+4+GetMembersCount()*20)); data << uint8(m_groupType); // group type (flags in 3.3) - data << uint8(isBGGroup() ? 1 : 0); // 2.0.x, isBattleGroundGroup? data << uint8(citr->group); // groupid data << uint8(citr->assistant ? 0x01 : 0x00); // 0x2 main assist, 0x4 main tank + data << uint8(isBGGroup() ? 1 : 0); // 2.0.x, isBattleGroundGroup? if(m_groupType & GROUPTYPE_LFD) { data << uint8(0); or http://paste2.org/p/822940
-
I wasn't aware this very same problem was already adressed in a different manner. Take a look here http://getmangos.eu/community/viewtopic.php?id=8200
-
well, you should still post them. maybe it helps others and it surely helps those who are writing then the 'correct' patch. a good example for this is the fix from Salja which he submitted lately: http://getmangos.eu/community/viewtopic.php?id=10659 after submitting his patch it was fixed in less than 12 hours, because then a dev saw what's causing the problem and because he knew the background of this code he then found the 'real' solution for it faster. -- DasBlub
-
Regardless of which client version you use, working with the server source code still follows the same basic steps. It will only differ in where you get the needed sources and additional patches, like Playerbot. If you're unfamiliar with using Git, faramir and I just helped Xenithar with patching and compiling his Zero server. If you have any issues with using Git or patching your source code, have a read through this thread, starting at around post #14....Odd NPC behavior. The branch names have changed in the Zero repository, from master to develop, so take that into account when reading my guide in post #18. Also, please read through blueboy's posts on merging Playerbot's source with MaNGOS if you're also using movemaps with it, that information is in post #509: Merging Playerbot with MaNGOS and Movemaps Good luck!
-
I made patch long time ago, never checked: http://getmangos.eu/community/topic/15730/spellsteal-resist-chance/
-
I can confirm this bug link to this topic too http://getmangos.eu/community/viewtopic.php?id=14260 And I don't know how to fix this
-
Rev of MaNGOS: 10051 Bug report: http://getmangos.eu/community/showthread.php?13862-Charge What does it fix? from www.wowwiki.com/charge: patch gives Charge DIMINISHING_NONE group, also another version with DIMINISHING_CHARGE group. PATCH: http://pastebin.com/pZphMR7a pls test (with intercept it can be seen working properly)
-
[9523] Stacking Auras from different castItems.
Auntie Mangos replied to Auntie Mangos's topic in ... acceptedOld
that has nothing todo with weaponenchants.. -
Two сrash - one reason. Solution: http://getmangos.eu/community/showthread.php?12213-%5BCrash%5D%5B9236%5DCountTheRoll [9236]CountTheRoll&p=101812&viewfull=1#post101812"]Right here
-
http://getmangos.eu/community/viewtopic.php?id=354 this patch fixes second wind
-
http://getmangos.eu/community/viewtopic.php?id=15443
-
lvl 0 is normal player, next lvls are for GM's u need write whole function for command or edit alredy impl. in core. in this forum are many custom command posts most in core mod. http://getmangos.eu/community/topic/15831/requestvip-teleports/ and many more just search
-
[patch]Tricks of the Trade, Misdirection
Auntie Mangos replied to Auntie Mangos's topic in ... acceptedOld
no error, no crash. check plz ^^;; -
PART 24 - ADD-ON: AUCTION HOUSE ** This patch modifies the core so it populates the auction houses with items. It makes the game feel a bit more like official. Items and prices are chosen randomly based on the parameters you define. If an auction expires, auctions are deleted quietly. If the auction sells, you can get the in-game mail for that item. ** Information (http://getmangos.eu/community/viewtopic.php?id=13676&p=1) ** AHBot Part 1 – Creating the Patch file ** This will download a Mangos repository including the AHBot modification made by many programmers but lately perfected by Xeros & Cyberium. I believe it's best to create a patch file out of this and use it on your own mangos folder as you don't know if the repository you've downloaded is the latest up to date version of Mangos. • Create a folder name C:\\AHBotTemp • Right click on the folder and choose "Git Bash" • Type the following commands: git clone git://github.com/cyberium/mangos.git new_ahbot cd new_ahbot git checkout new_ahbot git diff master > ../ahbot.patch • You've just created you're patch file located in C:\\AHBotTemp • Close your GIT window ** AHBot Part 2 – Auction House Patch – Require the software to be re-compile • Create the folders C:\\Mangos\\Addon\\AHBot and put your patch file there • Delete the folder C:\\AHBotTemp • Right click on C:\\Mangos and choose "Git Bash" • You will need to test the patch to make sure your not going to run into trouble by typing the following command: git apply --check Addon/AHBot/ahbot.patch • If the patch did not encountered any trouble, you can continue. • Type the following command: git apply Addon/AHBot/ahbot.patch • Close the GIT Bash window when its done ** The next step will required you to re-compile mangos. If you're thinking to add more addons witch need to re-compile mangos as well, perhaps it will save you time to take the appropriate action on each add-ons until your ready • Rebuild Mangos (See PART 8 - Compiling and PART 9 - Installing Mangos) ** Choose to replace the files in your C:\\Mangos if asked ** AHBot Part 3 – Tuning the AHBot.conf.dist.in ** The settings might differ as bit as I am writing this without seeing the configuration file • Tune up theses settings in your if needed C:\\Mangos\\src\\game\\AuctionHouseBot\\ahbot.conf.dist.in a) Basic Settings AuctionHouseBot.Seller.Enabled = 1 AuctionHouseBot.Buyer.Enabled = 1 AuctionHouseBot.Items.Vendor = 1 AuctionHouseBot.Items.Loot = 1 AuctionHouseBot.Items.Misc = 1 AuctionHouseBot.Bind.No = 1 AuctionHouseBot.Bind.Pickup = 1 AuctionHouseBot.Bind.Equip = 1 AuctionHouseBot.Bind.Use = 1 AuctionHouseBot.Bind.Quest = 1 AuctionHouseBot.ItemsPerCycle = 500 AuctionHouseBot.BuyPrice.Seller = 0 AuctionHouseBot.BuyPrice.Buyer = 0 b) The minimum (mintime) and maximum (maxtime) number of hours for an auction Mintime = 8 Maxtime = 24 c) The percentage of the auction items that should be trade goods and items of the mention quality. A value of 0 will disable. All 16 combined should give a total of 100 PercentGreyTradeGoods = 0 PercentGreyItems = 0 ercentWhiteTradeGoods = 27 PercentWhiteItems = 10 PercentGreenTradeGoods = 12 PercentGreenItems = 30 PercentBlueTradeGoods = 10 PercentBlueItems = 8 PercentPurpleTradeGoods = 1 PercentPurpleItems = 2 PercentOrangeTradeGoods = 0 PercentOrangeItems = 0 PercentYellowTradeGoods = 0 PercentYellowItems = 0 d) MinPrice and MaxPrice are the minimum and maximum price adjustment for the mention type of items. For example, let say a minimum of 150, which means 150%. So if an item vendors for 1g it would go to auction for a minimum of 1.5g MinPriceGrey = 100 MaxPriceGrey = 150 MinPriceWhite = 150 MaxPriceWhite = 250 MinPriceGreen = 800 MaxPriceGreen = 1400 MinPriceBlue = 1250 MaxPriceBlue = 1750 MinPricePurple = 2250 MaxPricePurple = 4550 MinPriceOrange = 3250 MaxPriceOrange = 5550 MinPriceYellow = 5250 MaxPriceYellow = 6550 e) MinBidPrice and MaxBidPrice are the starting and ending bid as a percent of the buyout price. For example, if this value is 50 and the buyout price is randomly chosen to be 1g, then the bid price will be 50s MinBidPriceGrey = 70 MaxBidPriceGrey = 100 MinBidPriceWhite = 70 MaxBidPriceWhite = 100 MinBidPriceGreen = 80 MaxBidPriceGreen = 100 MinBidPriceBlue = 75 MaxBidPriceBlue = 100 MinBidPricePurple = 80 MaxBidPricePurple = 100 MinBidPriceOrange = 80 MaxBidPriceOrange = 100 MinBidPriceYellow = 80 MaxBidPriceYellow = 100 f) MaxStack is maximum stack size to create for this quality type. A value of zero will disable the maximum stack size for this quality allowing the bot to create stacks (of random size) of items as big as the item type allows MaxStackGrey = 0 BuyerPriceGrey = 1 MaxStackWhite = 0 BuyerPriceWhite = 1 MaxStackGreen = 3 BuyerPriceGreen = 5 MaxStackBlue = 2 BuyerPriceBlue = 12 MaxStackPurple = 1 BuyerPricePurple = 15 MaxStackOrange = 1 BuyerPriceOrange = 20 MaxStackYellow = 1 BuyerPriceYellow = 22 g) BuyerBiddingInterval BuyerBiddingInterval = 1 BuyerBidsPerInterval = 1
-
[Help] Implementing Vehicles
Auntie Mangos replied to Auntie Mangos's topic in OldCore modifications
hello, it's just an adjustment to reflect the update by Arrai Here excuse my English I'm french
Contact Us
To contact us
click here
You can also email us at [email protected]
Privacy Policy | Terms & Conditions

You can also email us at [email protected]
Privacy Policy | Terms & Conditions
Copyright © getMaNGOS. All rights Reserved.
This website is in no way associated with or endorsed by Blizzard Entertainment®
This website is in no way associated with or endorsed by Blizzard Entertainment®