-
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
-
As promised in the previous reply, I came up with an updated version of this patch. You can follow the development and the sources at this link: https://github.com/xfurry/mangos/tree/world_pvp The DB update file is optimized for UDB and TBCDB. for YTDB it may also work but probably you'll have to change a few queries. If you want to use it on Mangos One / Zero you can backport the full patch and remove the pvp areas you don't need. There may be some issues in some areas because of grid unloading, but overall the scripts should work fine. Please let me know how it works and if you encounter any issue don't hesitate to post it here. As a note for further development of this feature: * This approach of the patch isn't 100% right, so it won't head for the master branch in the way it is. * In order to optimize stuff and make things more easier we require some features which I have already discussed here: http://getmangos.eu/community/topic/17262/feature-request-check-conditions-in-db-script/ * As I have already said in the topic linked just above, most of the pvp scripts should be handled in DB if the core would have the proper tools to handle it.
-
Got a weird tree/branch after cloning MaNGOS
Auntie Mangos replied to Auntie Mangos's topic in OldSource code management
"mangos" is a remote, not a branch -- http://getmangos.eu/community/viewtopic.php?id=4160 btw: you should do a "git fetch mangos" before merge - to download new objects to "mangos" remote. -
What bug does the patch fix? What features does the patch add? Merges the /dnd and /afk auto reply message variables into one as you can't be afk and dnd at the same time. Also cleaned up related code. This patch is the follow-up patch of http://getmangos.eu/community/topic/15375/fix-recieving-whispers-while-being-dnd/ For which repository revision was the patch created? 11799 Is there a thread in the bug report section or at lighthouse? If yes, please add a link to the thread. no Who has been writing this patch? Please include either forum user names or email addresses. me https://gist.github.com/1225696
-
maybe... it's easy to fix with my patch, just modify if (!m_target->IsInWorld() || !m_target->isAlive()) to if (!m_target || !m_target->IsInWorld() || !m_target->isAlive()) no
-
http://getmangos.eu/community/showthread.php?12411-High-Performance-Tips =)
-
What bug does the patch fix? What features does the patch add? this fix restricts mana gain from this talent when paladin is overhealed For which repository revision was the patch created? [10589] 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/viewtopic.php?pid=126095 Who has been writing this patch? Please include either forum user names or email addresses. me patch diff --git a/src/game/UnitAuraProcHandler.cpp b/src/game/UnitAuraProcHandler.cpp index 965d264..378bc7a 100644 --- a/src/game/UnitAuraProcHandler.cpp +++ b/src/game/UnitAuraProcHandler.cpp @@ -1875,7 +1875,13 @@ SpellAuraProcResult Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, Aura return SPELL_AURA_PROC_FAILED; // heal amount - basepoints[0] = triggerAmount*damage/100; + // dont count overhealing + uint32 diff = GetMaxHealth()-GetHealth(); + if (damage > diff) + basepoints[0] = triggerAmount*diff/100; + else + basepoints[0] = triggerAmount*damage/100; + target = this; triggered_spell_id = 31786; break;
-
[9283][fix]SPELL_AURA_MOD_HEALING_PCT
Auntie Mangos replied to Auntie Mangos's topic in ... acceptedOld
Old http://getmangos.eu/community/viewtopic.php?id=10686 by some strange reason indeed redirected to http://getmangos.eu/community/showthread.php?10816-[bug]-Berserk-bear And it ofc, not related to patch. -
Master poisoner from rogue http://getmangos.eu/community/showthread.php?11564-[patch]Master-Poisoner
-
Hello, I just want to share you SQL query to convert characters from 3.2.2 to 3.3.0 I hope it's accepted as welcomed (in dev) http://getmangos.eu/community/showpost.php?p=95670&postcount=5 Please use it with caution and report any bugs (supposed in quest menu...) UPDATE characters SET data = REPLACE(data,' ',' '); UPDATE characters SET data = CONCAT(TRIM(data),' '); UPDATE `characters` SET `data` = CONCAT( SUBSTRING_INDEX(`data`, ' ', 161 + 1), ' ', '0 ', SUBSTRING_INDEX(SUBSTRING_INDEX(`data`, ' ', 165 + 1), ' ', -165 + 162 - 1), ' ', '0 ', SUBSTRING_INDEX(SUBSTRING_INDEX(`data`, ' ', 165 + 4 + 1), ' ', -165 - 4 + 162 + 4 - 1), ' ', '0 ', SUBSTRING_INDEX(SUBSTRING_INDEX(`data`, ' ', 165 + 4*2 + 1), ' ', -165 - 4*2 + 162 + 4*2 - 1), ' ', '0 ', SUBSTRING_INDEX(SUBSTRING_INDEX(`data`, ' ', 165 + 4*3 + 1), ' ', -165 - 4*3 + 162 + 4*3 - 1), ' ', '0 ', SUBSTRING_INDEX(SUBSTRING_INDEX(`data`, ' ', 165 + 4*4 + 1), ' ', -165 - 4*4 + 162 + 4*4 - 1), ' ', '0 ', SUBSTRING_INDEX(SUBSTRING_INDEX(`data`, ' ', 165 + 4*5 + 1), ' ', -165 - 4*5 + 162 + 4*5 - 1), ' ', '0 ', SUBSTRING_INDEX(SUBSTRING_INDEX(`data`, ' ', 165 + 4*6 + 1), ' ', -165 - 4*6 + 162 + 4*6 - 1), ' ', '0 ', SUBSTRING_INDEX(SUBSTRING_INDEX(`data`, ' ', 165 + 4*7 + 1), ' ', -165 - 4*7 + 162 + 4*7 - 1), ' ', '0 ', SUBSTRING_INDEX(SUBSTRING_INDEX(`data`, ' ', 165 + 4*8 + 1), ' ', -165 - 4*8 + 162 + 4*8 - 1), ' ', '0 ', SUBSTRING_INDEX(SUBSTRING_INDEX(`data`, ' ', 165 + 4*9 + 1), ' ', -165 - 4*9 + 162 + 4*9 - 1), ' ', '0 ', SUBSTRING_INDEX(SUBSTRING_INDEX(`data`, ' ', 165 + 4*10 + 1), ' ', -165 - 4*10 + 162 + 4*10 - 1), ' ', '0 ', SUBSTRING_INDEX(SUBSTRING_INDEX(`data`, ' ', 165 + 4*11 + 1), ' ', -165 - 4*11 + 162 + 4*11 - 1), ' ', '0 ', SUBSTRING_INDEX(SUBSTRING_INDEX(`data`, ' ', 165 + 4*12 + 1), ' ', -165 - 4*12 + 162 + 4*12 - 1), ' ', '0 ', SUBSTRING_INDEX(SUBSTRING_INDEX(`data`, ' ', 165 + 4*13 + 1), ' ', -165 - 4*13 + 162 + 4*13 - 1), ' ', '0 ', SUBSTRING_INDEX(SUBSTRING_INDEX(`data`, ' ', 165 + 4*14 + 1), ' ', -165 - 4*14 + 162 + 4*14 - 1), ' ', '0 ', SUBSTRING_INDEX(SUBSTRING_INDEX(`data`, ' ', 165 + 4*15 + 1), ' ', -165 - 4*15 + 162 + 4*15 - 1), ' ', '0 ', SUBSTRING_INDEX(SUBSTRING_INDEX(`data`, ' ', 165 + 4*16 + 1), ' ', -165 - 4*16 + 162 + 4*16 - 1), ' ', '0 ', SUBSTRING_INDEX(SUBSTRING_INDEX(`data`, ' ', 165 + 4*17 + 1), ' ', -165 - 4*17 + 162 + 4*17 - 1), ' ', '0 ', SUBSTRING_INDEX(SUBSTRING_INDEX(`data`, ' ', 165 + 4*18 + 1), ' ', -165 - 4*18 + 162 + 4*18 - 1), ' ', '0 ', SUBSTRING_INDEX(SUBSTRING_INDEX(`data`, ' ', 165 + 4*19 + 1), ' ', -165 - 4*19 + 162 + 4*19 - 1), ' ', '0 ', SUBSTRING_INDEX(SUBSTRING_INDEX(`data`, ' ', 165 + 4*20 + 1), ' ', -165 - 4*20 + 162 + 4*20 - 1), ' ', '0 ', SUBSTRING_INDEX(SUBSTRING_INDEX(`data`, ' ', 165 + 4*21 + 1), ' ', -165 - 4*21 + 162 + 4*21 - 1), ' ', '0 ', SUBSTRING_INDEX(SUBSTRING_INDEX(`data`, ' ', 165 + 4*22 + 1), ' ', -165 - 4*22 + 162 + 4*22 - 1), ' ', '0 ', SUBSTRING_INDEX(SUBSTRING_INDEX(`data`, ' ', 165 + 4*23 + 1), ' ', -165 - 4*23 + 162 + 4*23 - 1), ' ', '0 ', SUBSTRING_INDEX(SUBSTRING_INDEX(`data`, ' ', 298 + 1), ' ', -298 + 162 + 4*24 - 1), ' ', '0 ', SUBSTRING_INDEX(SUBSTRING_INDEX(`data`, ' ', 1300 + 1), ' ', -1300 + 299 - 1), ' ' ) WHERE length(SUBSTRING_INDEX(data, ' ', 1300)) < length(data) and length(SUBSTRING_INDEX(data, ' ', 1300+1)) >= length(data); UPDATE characters SET data = REPLACE(data,' ',' '); UPDATE characters SET data = CONCAT(TRIM(data),' ');
-
Hey guys, sorry for my nooby question, but is there any tool to install a patch (like this : http://getmangos.eu/community/viewtopic.p...howtopic=20549) the easy-way? I mean, its nearly impossible to paste everything manually.. The board search didnt give me any result .. Thanks Thorsten
-
http://getmangos.eu/community/topic/8952/pvptoken-system/page/2/ check this out you need to know a little c++ to modify /improve or update that code
-
I can confirm that client is crashing with pets in groups, and this problem has long time now, I have it before the rev. 10156. I have taken a look at the source code but I can't find the problem. I have created this, TOM_RUS has explain the problem but I can't understand very good, if you want to take a look. Hope it helps.
-
Why 2.2 instead of 1.0 ? Please take a look at this post http://getmangos.eu/community/showthread.php?12740-[9415]-PvP-Changes&highlight=
-
Patch has written to improve work of farsight effects. Current farsight implementation is not full. There are some problems with current implementation: you can't see the world around controlled unit (when that unit too far from you), you can't receive broadcast packets and object field changes What is done: * added new Camera and Viewpoint classes. Camera - specialized grid object with player-owner, can update visibility of world around viewpoint, capture broadcast packets and send them to owner. Camera can be attached to dynamic object, unit or player. Even in normal state player has a camera, that attached to owner. Viewpoint - container for cameras attached to it. * added more simple interface for grid visits * each grid visitor gained a visitor-type, for example: GenericVisitorType can visit all objects in grid, excluding Cameras, CamerasVisitorType allowed to visit all existing grid objects * used camera system functions in some spell\\aura handlers * changed visibility, packet broadcast notifiers (these notifiers must visit camera grid containers, not player containers) Current active branch is: http://github.com/SilverIce/mangos/commits/cameras_changed Need testing for stability on live servers [added] due to last changes patch for sd2 library not needed I have modified eye of acherus patch to demonstrate work of camera system. Patch can work correctly only with camera system patch. Visibility updates and broadcast packet capturing now handled by camera - so, you can see more world around the eye, you can receive packets from objects around eye (i.e. you can see movements of nearby creatures, you can see how the eye casts spells, etc). This patch is still a hack(at least spell part), but it was not my purpose. eye of acherus modified patch
-
Well I thought that if I use this in if(), then its false when chest.groupLootRules = 0 and true when chest.groupLootRules = 1..?
-
This patch updates the behavior of the "auto shot" according to the changes in/with client version 3.0.2. I checked the behavior myself at an official server (some time ago, mostly auto shot) and with the help of przemratajczak (wand shoot, thanks , see first bug report). More information (bug reports): http://getmangos.eu/community/showthread.php?11893 <-- most informations http://getmangos.eu/community/showthread.php?9226 http://getmangos.eu/community/showthread.php?9605 http://getmangos.eu/community/showthread.php?1279 http://getmangos.eu/community/showthread.php?2846 ... and some more From 6e6aced55311cc74dc5f42c1dab9ae833250f17a Mon Sep 17 00:00:00 2001 From: [email][email protected][/email] Date: Tue, 16 Feb 2010 13:25:16 +0100 Subject: Updated auto reapeating spells behavior * "auto shot" won't be delayed anymore by ranged,non-channeled spells * removed "auto shot" 0.5s pre cast time * additionally fixed a server-client opcode sending loop --- src/game/SpellHandler.cpp | 4 ++-- src/game/Unit.cpp | 37 ++++++++++++++++++++++++------------- src/game/Unit.h | 4 +--- 3 files changed, 27 insertions(+), 18 deletions(-) diff --git a/src/game/SpellHandler.cpp b/src/game/SpellHandler.cpp index 4f0929b..790d1ba 100644 --- a/src/game/SpellHandler.cpp +++ b/src/game/SpellHandler.cpp @@ -487,9 +487,9 @@ void WorldSession::HandleCancelGrowthAuraOpcode( WorldPacket& /*recvPacket*/) void WorldSession::HandleCancelAutoRepeatSpellOpcode( WorldPacket& /*recvPacket*/) { - // may be better send SMSG_CANCEL_AUTO_REPEAT? // cancel and prepare for deleting - _player->m_mover->InterruptSpell(CURRENT_AUTOREPEAT_SPELL); + // do not send SMSG_CANCEL_AUTO_REPEAT! client will send this Opcode again (loop) + _player->m_mover->InterruptSpell(CURRENT_AUTOREPEAT_SPELL, true, false); } void WorldSession::HandleCancelChanneling( WorldPacket & recv_data) diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index f1b3058..0fac1ea 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -3282,20 +3282,31 @@ void Unit::_UpdateSpells( uint32 time ) void Unit::_UpdateAutoRepeatSpell() { - //check "realtime" interrupts - if ( (GetTypeId() == TYPEID_PLAYER && ((Player*)this)->isMoving()) || IsNonMeleeSpellCasted(false,false,true) ) + bool isAutoShot = m_currentSpells[CURRENT_AUTOREPEAT_SPELL]->m_spellInfo->Id == SPELL_ID_AUTOSHOT; + + //check movement + if (GetTypeId() == TYPEID_PLAYER && ((Player*)this)->isMoving()) { // cancel wand shoot - if(m_currentSpells[CURRENT_AUTOREPEAT_SPELL]->m_spellInfo->Id != SPELL_ID_AUTOSHOT) + if(!isAutoShot) InterruptSpell(CURRENT_AUTOREPEAT_SPELL); - m_AutoRepeatFirstCast = true; + // auto shot just waits return; } - //apply delay - if ( m_AutoRepeatFirstCast && getAttackTimer(RANGED_ATTACK) < 500 ) - setAttackTimer(RANGED_ATTACK,500); - m_AutoRepeatFirstCast = false; + // check spell casts + if (IsNonMeleeSpellCasted(false, false, true)) + { + // cancel wand shoot + if(!isAutoShot) + { + InterruptSpell(CURRENT_AUTOREPEAT_SPELL); + return; + } + // auto shot is delayed by everythihng, except ranged(!) CURRENT_GENERIC_SPELL's -> recheck that + else if (!(m_currentSpells[CURRENT_GENERIC_SPELL] && m_currentSpells[CURRENT_GENERIC_SPELL]->IsRangedSpell())) + return; + } //castroutine if (isAttackReady(RANGED_ATTACK)) @@ -3341,7 +3352,6 @@ void Unit::SetCurrentCastedSpell( Spell * pSpell ) // break autorepeat if not Auto Shot if (m_currentSpells[CURRENT_AUTOREPEAT_SPELL]->m_spellInfo->Id != SPELL_ID_AUTOSHOT) InterruptSpell(CURRENT_AUTOREPEAT_SPELL); - m_AutoRepeatFirstCast = true; } } break; @@ -3365,9 +3375,10 @@ void Unit::SetCurrentCastedSpell( Spell * pSpell ) // generic autorepeats break generic non-delayed and channeled non-delayed spells InterruptSpell(CURRENT_GENERIC_SPELL,false); InterruptSpell(CURRENT_CHANNELED_SPELL,false); + // special action: first cast delay + if ( getAttackTimer(RANGED_ATTACK) < 500 ) + setAttackTimer(RANGED_ATTACK,500); } - // special action: set first cast flag - m_AutoRepeatFirstCast = true; } break; default: @@ -3387,14 +3398,14 @@ void Unit::SetCurrentCastedSpell( Spell * pSpell ) pSpell->m_selfContainer = &(m_currentSpells[pSpell->GetCurrentContainer()]); } -void Unit::InterruptSpell(CurrentSpellTypes spellType, bool withDelayed) +void Unit::InterruptSpell(CurrentSpellTypes spellType, bool withDelayed, bool sendAutoRepeatCancelToClient) { assert(spellType < CURRENT_MAX_SPELL); if (m_currentSpells[spellType] && (withDelayed || m_currentSpells[spellType]->getState() != SPELL_STATE_DELAYED) ) { // send autorepeat cancel message for autorepeat spells - if (spellType == CURRENT_AUTOREPEAT_SPELL) + if (spellType == CURRENT_AUTOREPEAT_SPELL && sendAutoRepeatCancelToClient) { if(GetTypeId() == TYPEID_PLAYER) ((Player*)this)->SendAutoRepeatCancel(this); diff --git a/src/game/Unit.h b/src/game/Unit.h index dff9adc..12ae2a1 100644 --- a/src/game/Unit.h +++ b/src/game/Unit.h @@ -1505,7 +1505,7 @@ class MANGOS_DLL_SPEC Unit : public WorldObject void SetCurrentCastedSpell(Spell * pSpell); virtual void ProhibitSpellSchool(SpellSchoolMask /*idSchoolMask*/, uint32 /*unTimeMs*/ ) { } - void InterruptSpell(CurrentSpellTypes spellType, bool withDelayed = true); + void InterruptSpell(CurrentSpellTypes spellType, bool withDelayed = true, bool sendAutoRepeatCancelToClient = true); void FinishSpell(CurrentSpellTypes spellType, bool ok = true); // set withDelayed to true to account delayed spells as casted @@ -1784,9 +1784,7 @@ class MANGOS_DLL_SPEC Unit : public WorldObject explicit Unit (); void _UpdateSpells(uint32 time); - void _UpdateAutoRepeatSpell(); - bool m_AutoRepeatFirstCast; uint32 m_attackTimer[MAX_ATTACK]; -- 1.6.5.1.1367.gcd48 This patch also fixes an annoying behavior, when autoshot got stuck in loop between server and client opcode sending, when chaning the target, while autoshot is active already /I think I posted such a fix already, but did not find it anymore^^). Edit: Hmm, typo in the topic. I can't change that.. :-(
-
Why does the "fast" in such gibberish requests always sound so annoyingly demanding? There is the search: http://getmangos.eu/community/search.php
-
* What bug does the patch fix? What features does the patch add? This patch fixes a bug that causes you to stand up when a player is saved. This can interrupt drinking, eating and becomes a big nuisance with low save intervals. * For which repository revision was the patch created? 7326 * Is there a thread in the bug report section or at lighthouse? If yes, please add a link to the thread. There is: http://getmangos.eu/community/viewtopic.php?id=6123 * Who has been writing this patch? Please include either forum user names or email addresses. Just myself, SLG. Patch: diff --git a/src/game/Player.cpp b/src/game/Player.cpp index 0ce76b0..ff327b6 100644 --- a/src/game/Player.cpp +++ b/src/game/Player.cpp @@ -15591,8 +15591,7 @@ void Player::SaveToDB() uint32 tmp_displayid = GetDisplayId(); // Set player sit state to standing on save, also stealth and shifted form - SetStandState(UNIT_STAND_STATE_STAND); // stand state - RemoveStandFlags(UNIT_STAND_FLAGS_ALL); // stand flags? + SetUInt32Value(UNIT_FIELD_BYTES_1, 0); SetByteValue(UNIT_FIELD_BYTES_2, 3, 0); // shapeshift RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_STUNNED); SetDisplayId(GetNativeDisplayId()); NOTE: The code shouldn't have used SetStandState() because it sends a packet to the client to stand the player up. After saving the character values to the database, UNIT_FIELD_BYTES_1 is set back to what it was originally. There should be no packets sent during save.
-
Forum problems not appopriate for public post
Auntie Mangos replied to Auntie Mangos's topic in OldArchived Management
This is an intentional change: http://getmangos.eu/community/viewtopic.php?id=15409 (2nd post): -
Mangos Version: 10018 Custom Patches: Broadcaster SD2 Version: 1706 Database Name and Version : UDB 391 How it SHOULD work: Entering stealh(also with vanish) should give you http://www.wowhead.com/spell=58427, which should last 20 seconds after leaving stealth. How it DOES work: It lasts forever or till you change map. The bug came with switch to 3.3.3 because blizz have removed the triggeringspell 58428 and made 58427 persistent. Here the link to closed accepted thread: http://getmangos.eu/community/showthread.php?6124-FIX-PATCH-7664-Overkill/page2&highlight=overkill I think we need a remove after 20 seconds function somewhere...
-
@vladex: as shown here you just have to edit 3 lines inside src/game/AuctionHouseHandler.cpp and src/game/AuctionHouseBot.cpp. You can either download a patch file via github and apply it to your sources or edit the two files in a text editor. Just search for CONFIG_ALLOW_TWO_SIDE_INTERACTION_AUCTION and replace it with CONFIG_BOOL_ALLOW_TWO_SIDE_INTERACTION_AUCTION save the files and compile your sources again. kind regards Skirnir
-
It wasn't implemented. U can find useful infos here.
-
read here: http://getmangos.eu/community/viewforum.php?id=27
-
Hello could anyone advise me on how could i test resilience to be sure it workes? EDIT: can it be moved here: http://getmangos.eu/community/viewforum.php?id=8 ? sorry for posting in the wrong section
-
Starting with this thread: [1] Derex and Zor started an implementation of multimangos. The last code is here: [2] They stopped two years ago for unknown reasons. Iirc the old IRC "#multimangos" Derex was able to join the world, but I lost interest and later they did as well. With the current server code it is not possible. Don't know if Derex is still around, but I doubt it, and Zor doesn't develop for MaNGOS anymore. And another thing: MaNGOS devs once said they were going for multithreading and had a grown idea how to get there. Regards Skirnir [1] http://getmangos.eu/community/topic/4362/multimangos/ [2] http://www.assembla.com/code/multimangos/git/nodes
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®