Jump to content

Auntie Mangos

Moderators
  • Posts

    2446
  • Joined

  • Last visited

    Never
  • Donations

    0.00 GBP 

Everything posted by Auntie Mangos

  1. http://getmangos.eu/community/showthread.php?12411-High-Performance-Tips =)
  2. 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.
  3. Master poisoner from rogue http://getmangos.eu/community/showthread.php?11564-[patch]Master-Poisoner
  4. 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),' ');
  5. 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
  6. http://getmangos.eu/community/topic/6299/bug-druid-thorns/ now in 10400 and still bug. dr.damage indicates damage of 370 points with the talent brambles, thorns only does with the talent brambles 125 points of damage. without the talent just makes wretched 73 points this ability is Moonkin's impresindible really nerf The bonus damage given to Thorns is 13% of the spell damage. any solution?
  7. Maybe it is related to this? Otherwise it would be helpful to know what exactly does not work.
  8. 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.
  9. 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=
  10. 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
  11. Well I thought that if I use this in if(), then its false when chest.groupLootRules = 0 and true when chest.groupLootRules = 1..?
  12. 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.. :-(
  13. Why does the "fast" in such gibberish requests always sound so annoyingly demanding? There is the search: http://getmangos.eu/community/search.php
  14. * 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.
  15. mangos`log show me this: ERROR:Error in creature_template table, probably sql file format was updated (there should be 84 fields in sql). http://getmangos.eu/community/topic/8512/the-big-faq-thread/ but the version is the latest in ./mangos/sql/update what can i do? thanks
  16. * What bug does the patch fix? What features does the patch add? Implements aura 293 (note: rename at will) * For which repository revision was the patch created? 10820 * Is there a thread in the bug report section or at lighthouse? If yes, please add a link to the thread. not that i know of * Who has been writing this patch? Please include either forum user names or email addresses. me * Patch. notes: thanks to Shauren for the addSpell part, it really helped me with this PD: as i mentioned on the previous thread, implementation looks similar because i dont really think there is a better way to implement it
  17. this guy is raynar, the one who sells ingame items for real money, he makes money from Mangos and then comes here to get this community fix stuff for him cause he can't even code
  18. 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...
  19. @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
  20. It wasn't implemented. U can find useful infos here.
  21. read here: http://getmangos.eu/community/viewforum.php?id=27
  22. 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
  23. Firstly it is a wrong place to ask this question. Playerbot has its own thread http://getmangos.eu/community/topic/8238/playerbot/ Also original playerbot repository was abandoned long ago. Active work is done in blueboy's repo https://github.com/blueboy. Choose 'mangos' which considered stable or 'portal' for new and not very well tested stuff. And finally, why on earth are you trying to create a patch? Git lets you mix code to your needs. Just learn to use it. Cheers.
  24. What bug does the patch fix? What features does the patch add? Fixes the "SPELLMOD_SPELL_BONUS_DAMAGE", which should rather be added to the default coefficient, than multiply it. For example talent Empowered Corruption Rank 3 (Increases the damage of your Corruption spell by an amount equal to 36% of your spell power.) has value 6, meaning that every tick should take an additional 6% of spell power. The default coefficient od Corruption is 0,2 per tick, after this modifier it should be 0,26. According to the current formula, it is 0,2 * 1,06 = 0,212. This goes for all spells, using this modifier... To confirm that, you may take a look at wowwiki, which says: For which repository revision was the patch created? Rev. 9020 Is there a thread in the bug report section or at lighthouse? If yes, please add a link to the thread. Found this: http://getmangos.eu/community/viewtopic.php?id=2004 Who has been writing this patch? Please include either forum user names or email addresses. Me, reeshack diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index 3d17605..d59a2d4 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -8754,7 +8754,7 @@ uint32 Unit::SpellDamageBonus(Unit *pVictim, SpellEntry const *spellProto, uint3 float LvlPenalty = CalculateLevelPenalty(spellProto); // Spellmod SpellDamage - float SpellModSpellDamage = 100.0f; + float SpellModSpellDamage = 0.0f; if(Player* modOwner = GetSpellModOwner()) modOwner->ApplySpellMod(spellProto->Id,SPELLMOD_SPELL_BONUS_DAMAGE,SpellModSpellDamage); SpellModSpellDamage /= 100.0f; @@ -8771,7 +8771,7 @@ uint32 Unit::SpellDamageBonus(Unit *pVictim, SpellEntry const *spellProto, uint3 if (bonus->ap_bonus) DoneTotal += int32(bonus->ap_bonus * GetTotalAttackPowerValue(BASE_ATTACK) * stack); - DoneTotal += int32(DoneAdvertisedBenefit * coeff * SpellModSpellDamage); + DoneTotal += int32(DoneAdvertisedBenefit * (coeff + SpellModSpellDamage)); TakenTotal += int32(TakenAdvertisedBenefit * coeff); } // Default calculation Alternative (and better) patch by darkstalker: http://getmangos.eu/community/viewtopic.php?id=10609
  25. maybe related to http://getmangos.eu/community/viewtopic.php?id=7117 ? but still no solution
×
×
  • 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