Jump to content

Auntie Mangos

Moderators
  • Posts

    2446
  • Joined

  • Last visited

    Never
  • Donations

    0.00 GBP 

Everything posted by Auntie Mangos

  1. Same here! P.S. Master loot bug references here
  2. The judment are ppm procs. But it won't work with the current system, because that are debuffs on the target, with a proc chance limited by the attackers weapon speed. I tried to fix this month ago (http://getmangos.eu/community/showthread.php?9326-).
  3. http://getmangos.eu/community/topic/15401/mangos-history/ as you can research, mangos built on other projects, and so actually it boils down to 1-2 people, and so the personal taste is very likely; The more interesting question might be, why the project was not converted to any other language, and there are several reasons: * the Devs know C++ (which is now like a self-roller, any new dev must know C++) * There is nothing "wrong" with C++ - so no need to actually change * Other languages aren't "better" in general.. (except APL)
  4. problem must fixed now. http://getmangos.eu/community/announcement.php?f=&a=2
  5. Trapoinet (or anyone who can do it), could you post here the SQLs for the vehicles of Strand of the Ancients ( http://www.wowhead.com/npc=27894 and http://www.wowhead.com/npc=28781 ). I'm trying to get the patch for SotA, of russian forums, work with this vehicles version. Thanks in advance ^^ P.S.: Here is the thread in this forum for GO type 33 and related (SotA)
  6. Thank you for the thorough question list! 1. I used wow.exe first, I only used launcher.exe after wow.exe appeared not to work. 2. I only have one installation of wow, and the data(./enGB/realmlist.wtf) folder is in the same place as the wow.exe that I try to run. 3. I wasn't able to completely log on to the original server because my live account is currently not paid. I get the following (from memory) [email protected]/password: the login information is incorrect. Please click this link for help. [live email][live password]: connecting, authentication, then the authenticator window comes up asking for my authenticator number. This would not happen when connecting to the mangos server. 4. I followed the .pdf guide posted by Temporary at http://getmangos.eu/community/showthread.php?13121-World-of-Warcraft-Server-for-Windows-Installation-Guide - this showed the syntax for creating a new user inside the mangosd console, which I followed exactly. Seeing that the client asks for an 'email' login I created a username that looks like an email, in this case [email protected]. This is also the username I tried to log on with. 5. I had not come across these yet. I will test these when I am at home again, also I will look in the account table with sqlyog to see what the user details are. I'll double check that realmlist.wtf is still as I changed it, will disable the launcher.exe, and will let you know what happens
  7. You should better use SOAP now: http://getmangos.eu/community/showthread.php?12712-[9466]-MaNGOS-SOAP-services
  8. Yes, it's help. But after some days it's happen again and again
  9. "2" - This patch would implement that enchanting vellums and the resulting items. "2" - 7812 "2" - http://getmangos.eu/community/viewtopic.php?id=6201 diff --git a/src/game/Item.cpp b/src/game/Item.cpp index 2d25b7f..f4acf34 100644 --- a/src/game/Item.cpp +++ b/src/game/Item.cpp @@ -740,6 +740,10 @@ bool Item::IsFitToSpellRequirements(SpellEntry const* spellInfo) const { ItemPrototype const* proto = GetProto(); + if(spellInfo->Effect[0] == SPELL_EFFECT_ENCHANT_ITEM && ((spellInfo->EquippedItemClass == ITEM_CLASS_ARMOR && IsArmorVellum()) || + (spellInfo->EquippedItemClass == ITEM_CLASS_WEAPON && IsWeaponVellum()))) + return true; + if (spellInfo->EquippedItemClass != -1) // -1 == any item class { if(spellInfo->EquippedItemClass != int32(proto->Class)) diff --git a/src/game/Item.h b/src/game/Item.h index 2f7376a..e0694e6 100644 --- a/src/game/Item.h +++ b/src/game/Item.h @@ -221,6 +221,8 @@ class MANGOS_DLL_SPEC Item : public Object void DeleteFromInventoryDB(); bool IsBag() const { return GetProto()->InventoryType == INVTYPE_BAG; } + bool IsArmorVellum() const { return (GetProto()->Class == ITEM_CLASS_TRADE_GOODS && GetProto()->SubClass == ITEM_SUBCLASS_ARMOR_ENCHANTMENT); } + bool IsWeaponVellum() const { return (GetProto()->Class == ITEM_CLASS_TRADE_GOODS && GetProto()->SubClass == ITEM_SUBCLASS_WEAPON_ENCHANTMENT); } bool IsBroken() const { return GetUInt32Value(ITEM_FIELD_MAXDURABILITY) > 0 && GetUInt32Value(ITEM_FIELD_DURABILITY) == 0; } bool CanBeTraded() const; void SetInTrade(bool b = true) { mb_in_trade = b; } diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp index 648552d..12448bf 100644 --- a/src/game/Spell.cpp +++ b/src/game/Spell.cpp @@ -3587,6 +3587,18 @@ void Spell::TakeReagents() if (p_caster->CanNoReagentCast(m_spellInfo)) return; + if(m_CastItem) + { + for(int i=0; i<3; ++i) + { + if(m_spellInfo->EffectItemType[i] == m_CastItem->GetEntry()) + { + p_caster->DestroyItemCount(m_CastItem->GetEntry(), 1, true); + return; + } + } + } + for(uint32 x=0;x<8;x++) { if(m_spellInfo->Reagent[x] <= 0) @@ -4397,6 +4409,23 @@ SpellCastResult Spell::CheckCast(bool strict) return SPELL_FAILED_BAD_TARGETS; break; } + case SPELL_EFFECT_ENCHANT_ITEM: + { + if(m_spellInfo->EffectItemType[i] && m_targets.getItemTarget()) + { + if(m_targets.getItemTarget()->IsWeaponVellum() || m_targets.getItemTarget()->IsArmorVellum()) + { + ItemPosCountVec dest; + uint8 msg = ((Player*)m_caster)->CanStoreNewItem( NULL_BAG, NULL_SLOT, dest, m_spellInfo->EffectItemType[i], 1 ); + if(msg != EQUIP_ERR_OK) + { + ((Player*)m_caster)->SendEquipError( msg, NULL, NULL ); + return SPELL_FAILED_DONT_REPORT; + } + } + } + break; + } default:break; } } @@ -4866,11 +4895,13 @@ SpellCastResult Spell::CheckItems() Player* p_caster = (Player*)m_caster; + bool isNoReagentReqCast = m_CastItem ? m_CastItem->GetEntry() == m_spellInfo->EffectItemType[0] : false; + // cast item checks if(m_CastItem) { uint32 itemid = m_CastItem->GetEntry(); - if( !p_caster->HasItemCount(itemid,1) ) + if( !p_caster->HasItemCount(itemid,1) && !isNoReagentReqCast) return SPELL_FAILED_ITEM_NOT_READY; ItemPrototype const *proto = m_CastItem->GetProto(); @@ -4943,7 +4974,7 @@ SpellCastResult Spell::CheckItems() if(!m_targets.getItemTarget()) return SPELL_FAILED_ITEM_GONE; - if(!m_targets.getItemTarget()->IsFitToSpellRequirements(m_spellInfo)) + if(!m_targets.getItemTarget()->IsFitToSpellRequirements(m_spellInfo) && !isNoReagentReqCast) return SPELL_FAILED_EQUIPPED_ITEM_CLASS; } // if not item target then required item must be equipped @@ -4975,7 +5006,7 @@ SpellCastResult Spell::CheckItems() } // check reagents (ignore triggered spells with reagents processed by original spell) and special reagent ignore case. - if (!m_IsTriggeredSpell && !p_caster->CanNoReagentCast(m_spellInfo)) + if (!m_IsTriggeredSpell && !p_caster->CanNoReagentCast(m_spellInfo) && !isNoReagentReqCast) { for(uint32 i=0;i<8;++i) { @@ -5039,7 +5070,7 @@ SpellCastResult Spell::CheckItems() else TotemCategory -= 1; } - if(TotemCategory != 0) + if(TotemCategory != 0 && !isNoReagentReqCast) return SPELL_FAILED_TOTEM_CATEGORY; //0x7B // special checks for spell effects diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp index 10ab438..a5337a6 100644 --- a/src/game/SpellEffects.cpp +++ b/src/game/SpellEffects.cpp @@ -3804,6 +3804,19 @@ void Spell::EffectEnchantItemPerm(uint32 effect_idx) if(!pEnchant) return; + ItemPrototype const* targetProto = itemTarget->GetProto(); + // EffectItemType serves as the entry of the item to be created. + if(m_spellInfo->EffectItemType[effect_idx]) + { + if((m_spellInfo->EquippedItemClass == ITEM_CLASS_ARMOR && itemTarget->IsArmorVellum()) || + (m_spellInfo->EquippedItemClass == ITEM_CLASS_WEAPON && itemTarget->IsWeaponVellum())) + { + unitTarget = m_caster; + DoCreateItem(effect_idx,m_spellInfo->EffectItemType[effect_idx]); + return; + } + } + // item can be in trade slot and have owner diff. from caster Player* item_owner = itemTarget->GetOwner(); if(!item_owner) @@ -6579,4 +6592,4 @@ void Spell::EffectRenamePet(uint32 /*eff_idx*/) return; unitTarget->SetByteValue(UNIT_FIELD_BYTES_2, 2, UNIT_RENAME_ALLOWED); -} \\ No newline at end of file +} Patchfile The patch looks really hacky. It was posted here to get more _constructive_ suggestions.
  10. using only git: git log -1 --pretty=oneline
  11. Like DaC said, unless you do use a remote service, such as web-enabled administration or automation scripts like account creation, you can safely leave SOAP turned off. If you are interested in setting up a web server to administrate your server and allow friends to sign up, take a look in the 3rd-Party projects section for some good "website in a box" kits. I highly recommend you read through the mangosd and realmd conf files. There's many options for customizing your server, such as allowing more than two main professions, which can be very helpful for players on low-population servers.
  12. also posted here: http://getmangos.eu/community/viewtopic.php?id=4159
  13. What bug does the patch fix? What features does the patch add? Fixed affected targets of spell 70728 For which repository revision was the patch created? Compatible with newest revision 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/post/135307/#p135307 Who has been writing this patch? Please include either forum user names or email addresses. Me Spell http://www.wowhead.com/spell=70728 is working wrong (used by Hunter T10 http://old.wowhead.com/spell=70727) It also affects complete raid instead of only pet and owner. SpellInfo: Targets (20, 0) (TARGET_ALL_PARTY_AROUND_CASTER, NO_TARGET) Fix: https://github.com/Iov/mangos/commit/618b11d3a7b5ecc2c671c6ac8f8b883ac0e67751 diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp index b47049f..c0ca3ea 100644 --- a/src/game/Spell.cpp +++ b/src/game/Spell.cpp @@ -2482,8 +2482,9 @@ void Spell::SetTargetMap(SpellEffectIndex effIndex, uint32 targetMode, UnitList& switch(m_spellInfo->Id) { case 24604: // Furious Howl + case 70728: // Exploit Weakness { - // from 3.1.0 only affect pet and owner + // only affect pet and owner targetUnitMap.push_back(m_caster); if (Unit *owner = m_caster->GetOwner()) targetUnitMap.push_back(owner);
  14. * What bug does the patch fix? What features does the patch add? this patch implements Destructible Buildings (base) and Effect type 87-88 (SPELL_EFFECT_WMO_DAMAGE, SPELL_EFFECT_WMO_REPAIR) * For which repository revision was the patch created? 10603 * 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, darkstalker * Patch its not a "made from scratch" patch, but the original authors are unknown to me, its mainly a clean up and fine tunning for a clean core based on this one. note: this patch doesnt include missing GO data for display IDs (missing from DB (at least YTDB doesnt have them -- some are missing)) thanks to the original authors.
  15. 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
  16. kyle1, I'm already wrote patch wich include talent's range bonus blueboy, you should compile new maps and vmaps extractors after you apply mmaps patch, then reextract maps and vmaps, then extract mmaps. I can give you all new extractors or use this (extracted maps, vmaps and mmaps): mmaps: http://narod.ru/disk/24068319000/mmaps.7z.html maps: http://narod.ru/disk/24068689000/maps.7z.html vmaps: http://narod.ru/disk/24068436000/vmaps.7z.html Patch for talent's range bonus: diff --git a/src/game/playerbot/PlayerbotAI.cpp b/src/game/playerbot/PlayerbotAI.cpp index 8b89150..86e9816 100644 --- a/src/game/playerbot/PlayerbotAI.cpp +++ b/src/game/playerbot/PlayerbotAI.cpp @@ -2238,12 +2238,16 @@ bool PlayerbotAI::CastSpell(uint32 spellId) uint64 targetGUID = m_bot->GetSelection(); Unit* pTarget = ObjectAccessor::GetUnit(*m_bot, m_bot->GetSelection()); + Spell* const pSpell = m_bot->FindCurrentSpellBySpellId(spellId); SpellRangeEntry const* srange = sSpellRangeStore.LookupEntry(pSpellInfo->rangeIndex); - float max_range = GetSpellMaxRange(srange, false); + float max_range = GetSpellMaxRange(srange, m_bot->IsFriendlyTo(pTarget)); float dist = m_bot->GetCombatDistance(pTarget); - + + if(m_bot->GetSpellModOwner()) + m_bot->ApplySpellMod(pSpellInfo->Id, SPELLMOD_RANGE, max_range, pSpell); + if(dist > max_range) - return false; + return false; if (!m_bot->IsWithinLOSInMap(pTarget)) return false; @@ -2275,7 +2279,6 @@ bool PlayerbotAI::CastSpell(uint32 spellId) // actually cast spell m_bot->CastSpell(pTarget, pSpellInfo, false); - Spell* const pSpell = m_bot->FindCurrentSpellBySpellId(spellId); if (!pSpell) return false;
  17. The main improvement is pathfinding : mobs don't walk in the air/walls/ground. There is a thread about it in "Core modifications" : mmaps redux See the first post to know what functionalities mmaps provide
  18. I've got the same trace after a crash from mindcontrol as Schmoozerd had. Posted it here: http://getmangos.eu/community/viewtopic.php?id=4235&p=119439&viewfull=1#post119439
  19. The Spell: http://www.wowhead.com/?search=demonic+pact#talents Triggered by this pet aura: http://www.wowhead.com/?spell=53646 The proc needs a custom baspoints calculation. It is calculated by the master's spellpower and a coefficient, that is stored in the talent dummy aura. Patch: From 0c15907d784c7b5f6f8ff3d7c737914903577b32 Mon Sep 17 00:00:00 2001 From: pasdVn <[email protected]> Date: Thu, 6 Aug 2009 13:35:38 +0200 Subject: [PATCH] implemented 47236 and ranks --- src/game/Unit.cpp | 26 ++++++++++++++++++++++++++ 1 files changed, 26 insertions(+), 0 deletions(-) diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index 8fb3d78..4b296a9 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -6857,6 +6857,32 @@ bool Unit::HandleProcTriggerSpell(Unit *pVictim, uint32 damage, Aura* triggeredB return false; break; } + // Demonic Pact + case 48090: + { + Unit *owner = GetOwner(); + if( !owner) + return false; + + int32 factor = 0; + // get factor from owner dummy aura + AuraList const& mDummy = owner->GetAurasByType(SPELL_AURA_DUMMY); + for(Unit::AuraList::const_iterator i = mDummy.begin(); i != mDummy.end(); ++i) + if( (*i)->GetModifier()->m_miscvalue == 12 && (*i)->GetSpellProto()->SpellIconID == 3220 ) + { + factor = (*i)->GetModifier()->m_amount; + break; + } + if( !factor) + return false; + + // cancel alredy existing demonic pact to prevent stacking + owner->RemoveAurasDueToSpell(48090); + basepoints0 = owner->SpellBaseDamageBonus(SpellSchoolMask(SPELL_SCHOOL_MASK_MAGIC))* factor /100; + + CastCustomSpell(target,trigger_spell_id,&basepoints0,&basepoints0,NULL,true,castItem,triggeredByAura); + return true; + } // Sword and Board case 50227: { -- 1.5.5.1 github: http://github.com/pasdVn/mangos/commit/0c15907d784c7b5f6f8ff3d7c737914903577b32.patch Don't forget the sql part (procs only on crit): DELETE FROM `spell_proc_event` WHERE `entry` IN ('53646'); INSERT INTO `spell_proc_event` (`entry` ,`SchoolMask` ,`SpellFamilyName` ,`SpellFamilyMask0` ,`SpellFamilyMask1` ,`SpellFamilyMask2` ,`procFlags` ,`procEx` ,`ppmRate` ,`CustomChance` ,`Cooldown`) VALUES ('53646', '0', '0', '0', '0', '0', '0', '2', '0', '0', '0'); Edit: I found a bug report^^: http://getmangos.eu/community/viewtopic.php?id=8038& pasdVn
  20. -What bug does the patch fix? It fix arena team invite in mangos-0.12 branch -Bug report: http://getmangos.eu/community/showpost.php?p=54905&postcount=2793 -What doesn't work? Sometimes players get "U already in team that size", however that's not true. -Patch: diff --git a/src/game/ArenaTeamHandler.cpp b/src/game/ArenaTeamHandler.cpp index ea0567e..27ec4be 100644 --- a/src/game/ArenaTeamHandler.cpp +++ b/src/game/ArenaTeamHandler.cpp @@ -171,7 +171,7 @@ void WorldSession::HandleArenaTeamInviteAcceptOpcode(WorldPacket & /*recv_data*/ if(!at) return; - if(_player->GetArenaTeamId(at->GetType())) + if(_player->GetArenaTeamId(at->GetSlot())) { SendArenaTeamCommandResult(ERR_ARENA_TEAM_CREATE_S,"","",ERR_ALREADY_IN_ARENA_TEAM); // already in arena team that size return;
  21. Then you should improve your searching abilities - http://getmangos.eu/community/viewtopic.php?id=5006
  22. For grounding totem, there http://getmangos.eu/community/viewtopic.php?id=2340 was working patch ... that was not accepted probably because of being too hacky (which is imo the case of your patch as well) . For the "totems immune to all spells with DoT effect" I have patch too http://pastebin.ca/1272859 which tries opposite approach - in spite of checking for certain effect that totem should be immune to (and I think it is all auras, not only periodic damage/leech), check for effect it should not be immune to. Not sure if I covered all necessary effects, though. Nevertheless, unless this issue is fixed, by using my patch, Ebrithil's patch or another way, I suggers reverting 9b52097262fa3cd9390fd6e79ed930ec3f4f64c8 as it uses wrong way to fix something and causes more serious problem I think.
  23. Exactly, and I speak here of a normal Server without VMaps or anything else. It hold only about 30-90 minutes till it reach 3GB RAM which force you to make a 2nd Realm for now. It simply exit itself cause it cant use any RAM, a lot of developers tried to use at least 4GB on 32bit System with one process but I cant remember much programs who had success except Windows itself. Thats the reason why I want to switch to Linux, I got it up and running with the SAME core which I use for Windows but its compared to Windows very unstable cause of the "assert" stuff. Since there exist no GDB tutorial anymore I cant check the exact reason ( http://getmangos.eu/community/viewtopic.php?id=4287 ). I hope that the Linux related tutorials get updated soon so i can switch to Linux so fast as possible Anyway, since Multi-Processing affect all Mangos users its probably the best way for the future of the project and defiantly better then it is currently (No real Multithreading / Multiprocessing). That would be at least for the RAM related issues a good solution. With GridUnload it need about 30-40% less RAM but it has about the same up time cause it crash of the GridUnload issues and it lag a lot more.
  24. I don't think you are going to find anybody. You can come on the mangos IRC and chat if you want. There's also a guide to linux installation http://getmangos.eu/community/showthread.php?7839-GUIDE-Ubuntu-Debian-CentOS-RHEL-Install-Guide
  25. temp: try this patch http://getmangos.eu/community/showthread.php?11657-%5Bpatch%5D%5Bnot-for-git%5DFixed-instance-reset-exploit&highlight=Exploit
×
×
  • 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