Jump to content

Auntie Mangos

Moderators
  • Posts

    2446
  • Joined

  • Last visited

    Never
  • Donations

    0.00 GBP 

Everything posted by Auntie Mangos

  1. As soon as we announce it. As usual the Announcements & News will contain an announcement for client support changes.
  2. I'm looking for good guides - how to apply patch for mangos one under Debian. Im intrested in http://getmangos.eu/community/topic/13676/patch-auction-house-bot-xeross-branch/ but i totaly dont know how to apply this .patch file?
  3. Or just clone my branch and pull mangos master on top of it. Continue discussion here(And use the version from this thread) here: http://getmangos.eu/community/viewtopic.php?id=10618
  4. http://getmangos.eu/community/viewtopic.php?id=8580
  5. 10 seconds of searching would have answerewd this, THE most asked question in the history of most asked questions. You missed some SQL updates Read one of the MANY excellent GiT guides posted on the forum (written by Freghar).
  6. What bug does the patch fix? What features does the patch add? This patch implements the dummy effect of Pandemic, warlock talent http://www.wowhead.com/?spell=58437 For which repository revision was the patch created? 7454 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?id=6119 Who has been writing this patch? Please include either forum user names or email addresses. Me (Corfen) patch: diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index e933d29..8e1135c 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -5045,6 +5045,21 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, Aura* triggeredByAu triggered_spell_id = 37378; break; } + //Pandemic proc + case 58435: + case 58436: + case 58437: + { + float chance = 0.0f; // I don't know how to get spell crit rating better o_O + chance += ((Player*)this)->GetSpellCritFromIntellect(); + chance += ((Player*)this)->GetTotalAuraModifier(SPELL_AURA_MOD_SPELL_CRIT_CHANCE); + chance += ((Player*)this)->GetRatingBonusValue(CR_CRIT_SPELL); + if (!roll_chance_f(chance)) + return false; + basepoints0 = int32(damage*triggerAmount/100); + triggered_spell_id = 58691; + break; + } } break; } I don't know how to get spell crit chance in better way =/
  7. this patch produces smaller vmaps (even if it's not the main goal). I still use it with a 2.4.3 branch.
  8. Hi, I'm working the same problem myself. I haven't finished yet, but here are three useful resources I found: Trinity 9001 to MaNGOS 10267 character converter http://pastebin.com/QYLWbNz8 (by The_Game_Master, from this thread: http://getmangos.eu/community/topic/15092/trinitycore2-to-mangos/) The Trinity Core Database Structures: http://www.trinitycore.info/DB:Characters The Mangos Core Database Structures: http://getmangos.eu/wiki/Characters Also, everything got a lot easier once I started using SOAP. You can enable it in the Mangos Config Files, and it will allow you to interface with Mangos via PHP. Good luck! Post you're results here, there is not much information on this subject and I'm sure others are interested in converting.
  9. Nice, thanks for first link. But I registered at sd2 forum and dont get a confirmation.
  10. no problem, nothing personally, btw this guy http://getmangos.eu/community/member.php?u=3717 has those patches on his signature
  11. i was looking somewhere to find where speed increasement are handled to fix crusader aura ( http://getmangos.eu/community/viewtopic.php?id=23821 ) with flying mount, and i found this in unit.cpp line 8280: switch(mtype) { case MOVE_WALK: data.Initialize(MSG_MOVE_SET_WALK_SPEED, 8+4+1+4+4+4+4+4+4+4); break; case MOVE_MOUNTED: case MOVE_RUN: data.Initialize(MSG_MOVE_SET_RUN_SPEED, 8+4+1+4+4+4+4+4+4+4); break; case MOVE_WALKBACK: data.Initialize(MSG_MOVE_SET_RUN_BACK_SPEED, 8+4+1+4+4+4+4+4+4+4); break; case MOVE_SWIM: data.Initialize(MSG_MOVE_SET_SWIM_SPEED, 8+4+1+4+4+4+4+4+4+4); break; case MOVE_SWIMBACK: data.Initialize(MSG_MOVE_SET_SWIM_BACK_SPEED, 8+4+1+4+4+4+4+4+4+4); break; case MOVE_TURN: data.Initialize(MSG_MOVE_SET_TURN_RATE, 8+4+1+4+4+4+4+4+4+4); break; case MOVE_FLY: data.Initialize(MSG_MOVE_SET_FLY_SPEED, 8+4+1+4+4+4+4+4+4+4); break; case MOVE_FLYBACK: data.Initialize(MSG_MOVE_SET_FLY_BACK_SPEED, 8+4+1+4+4+4+4+4+4+4); break; default: sLog.outError("Unit::SetSpeed: Unsupported move type (%d), data not sent to client.",mtype); return; } i saw that we're missing case MOVE_MOUNTED and so i searched in opcodes.h line 236 and we can see that we're missing a MSG_MOVE_SET_ something with mount. why?
  12. as UDB forums is down: http://getmangos.eu/community/post/132557/#p132557 this should give some information. Everything about SD2 installation can be found on www.scriptdev2.com forums.
  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. Read the source code management section. It contains guides for patching, merging, etc. freghar has collected and written quite a few very good ones.
  15. @cyberium I had the same problem when I started using git on windows. autocrlf is a huge problem... read this thread.
  16. In reference to http://getmangos.eu/community/showthread.php?p=49627#post49627 Ads the following subcommands to .pinfo: .pinfo account [account name] looks up account info & characters .pinfo character [character name] looks up character info .pinfo ip [ip address] looks up account(s) belonging to ip-address Code probably need lots of cleaning up, don't blame me lol, i started with c++ yesterday written for revision 8078 Patch: diff --git a/src/game/Chat.cpp b/src/game/Chat.cpp index 3444776..af4f749 100644 --- a/src/game/Chat.cpp +++ b/src/game/Chat.cpp @@ -363,6 +363,15 @@ ChatCommand * ChatHandler::getCommandTable() { NULL, 0, false, NULL, "", NULL } }; + static ChatCommand pinfoCommandTable[] = + { + { "account", SEC_GAMEMASTER, true, &ChatHandler::HandlePInfoAccountCommand, "", NULL }, + { "character", SEC_GAMEMASTER, true, &ChatHandler::HandlePInfoCharacterCommand, "", NULL }, + { "ip", SEC_GAMEMASTER, true, &ChatHandler::HandlePInfoIpCommand, "", NULL }, + { "", SEC_GAMEMASTER, true, &ChatHandler::HandlePInfoCommand, "", NULL }, + { NULL, 0, false, NULL, "", NULL } + }; + static ChatCommand questCommandTable[] = { { "add", SEC_ADMINISTRATOR, false, &ChatHandler::HandleQuestAdd, "", NULL }, @@ -628,7 +637,7 @@ ChatCommand * ChatHandler::getCommandTable() { "maxskill", SEC_ADMINISTRATOR, false, &ChatHandler::HandleMaxSkillCommand, "", NULL }, { "setskill", SEC_ADMINISTRATOR, false, &ChatHandler::HandleSetSkillCommand, "", NULL }, { "whispers", SEC_MODERATOR, false, &ChatHandler::HandleWhispersCommand, "", NULL }, - { "pinfo", SEC_GAMEMASTER, true, &ChatHandler::HandlePInfoCommand, "", NULL }, + { "pinfo", SEC_GAMEMASTER, true, NULL, "", pinfoCommandTable }, { "respawn", SEC_ADMINISTRATOR, false, &ChatHandler::HandleRespawnCommand, "", NULL }, { "send", SEC_MODERATOR, true, NULL, "", sendCommandTable }, { "loadscripts", SEC_ADMINISTRATOR, true, &ChatHandler::HandleLoadScriptsCommand, "", NULL }, diff --git a/src/game/Chat.h b/src/game/Chat.h index 18ef9cc..80bb19f 100644 --- a/src/game/Chat.h +++ b/src/game/Chat.h @@ -295,6 +295,11 @@ class ChatHandler bool HandlePDumpLoadCommand(const char *args); bool HandlePDumpWriteCommand(const char *args); + bool HandlePInfoAccountCommand(const char* args); + bool HandlePInfoCharacterCommand(const char* args); + bool HandlePInfoIpCommand(const char* args); + bool HandlePInfoCommand(const char* args); + bool HandleQuestAdd(const char * args); bool HandleQuestRemove(const char * args); bool HandleQuestComplete(const char * args); @@ -445,7 +450,6 @@ class ChatHandler bool HandleGUIDCommand(const char* args); bool HandleItemMoveCommand(const char* args); bool HandleDeMorphCommand(const char* args); - bool HandlePInfoCommand(const char* args); bool HandleMuteCommand(const char* args); bool HandleUnmuteCommand(const char* args); bool HandleMovegensCommand(const char* args); diff --git a/src/game/Language.h b/src/game/Language.h index e1c15fb..e2fa4d2 100644 --- a/src/game/Language.h +++ b/src/game/Language.h @@ -777,6 +777,11 @@ enum MangosStrings // 10000-10999 // Use for custom patches 11000-11999 + LANG_PINFO_CHARS = 11000, + LANG_PINFO_ACCOUNT_ACCOUNT = 11001, + LANG_PINFO_CHARACTER = 11002, + LANG_PINFO_IP = 11003, + LANG_ACCOUNT_NOT_FOUND = 11004, // NOT RESERVED IDS 12000-1999999999 // `db_script_string` table index 2000000000-2000009999 (MIN_DB_SCRIPT_STRING_ID-MAX_DB_SCRIPT_STRING_ID) diff --git a/src/game/Level2.cpp b/src/game/Level2.cpp index 7489cc8..fd123bd 100644 --- a/src/game/Level2.cpp +++ b/src/game/Level2.cpp @@ -2098,6 +2098,282 @@ bool ChatHandler::HandleModifyPhaseCommand(const char* args) return true; } +//show info of account +bool ChatHandler::HandlePInfoAccountCommand(const char* args) +{ + if(!*args) + return false; + + uint32 accId = 0; + std::string username = (char*)args; + std::string last_ip = GetMangosString(LANG_ERROR); + uint32 security = 0; + std::string last_login = GetMangosString(LANG_ERROR); + std::string email = GetMangosString(LANG_ERROR); + std::string joindate = GetMangosString(LANG_ERROR); + uint32 banned = 0; + std::string isbanned = GetMangosString(LANG_ERROR); + + QueryResult* result = loginDatabase.PQuery("SELECT username,gmlevel,last_ip,last_login,account.id,email,joindate,account_banned.id as bannedid,account_banned.active as banactive FROM account LEFT JOIN account_banned ON account.id = account_banned.id WHERE username = '%s'",username.c_str()); + if(result) + { + Field* fields = result->Fetch(); + username = fields[0].GetCppString(); + security = fields[1].GetUInt32(); + + if(!m_session || m_session->GetSecurity() >= security) + { + last_ip = fields[2].GetCppString(); + last_login = fields[3].GetCppString(); + } + else + { + last_ip = "-"; + last_login = "-"; + } + + accId = fields[4].GetUInt32(); + email = fields[5].GetCppString(); + joindate = fields[6].GetCppString(); + banned = fields[8].GetUInt32(); + if(banned > 0) + { + isbanned = "Yes"; + } + else + { + isbanned = "No"; + } + + delete result; + } + else + { + SendSysMessage(LANG_ACCOUNT_NOT_FOUND); + SetSentErrorMessage(true); + return false; + } + + //Characters + std::string playerChars; + uint32 count = 0; + result = CharacterDatabase.PQuery("SELECT name, account, guid, level FROM characters WHERE account = '%u'",accId); + if(result) + { + count = result->GetRowCount(); // Number of chars + for(int i = 0; i < count ; i++) + { + Field *fields = result->Fetch(); + + //Convert id to string + std::string cId; + std::stringstream ss; + ss << fields[2].GetUInt32(); + cId = ss.str(); + //Convert level to string + std::string pLevel; + std::stringstream ss2; + ss2 << fields[3].GetUInt32(); + pLevel = ss2.str(); + + //Make character line: Charname[level] (id: guid) - + std::string charLink = playerLink(fields[0].GetCppString()); + playerChars += charLink; + playerChars += '['; + playerChars += pLevel.c_str(); + playerChars += "] "; + playerChars += "(id: "; + playerChars += cId.c_str(); + playerChars += ')'; + playerChars += " - ";//Break apart different chars + + result->NextRow(); + } + + delete result; + } + else + { + playerChars = "No characters found"; + } + + + PSendSysMessage(LANG_PINFO_ACCOUNT_ACCOUNT, username.c_str(), accId, security, last_ip.c_str(), last_login.c_str(), email.c_str(), joindate.c_str(), isbanned.c_str()); + PSendSysMessage(LANG_PINFO_CHARS, count, playerChars.c_str()); + + return true; +} + +//show info of character +bool ChatHandler::HandlePInfoCharacterCommand(const char* args) +{ + if(!*args) + return false; + + uint32 total_player_time = 0; + uint32 level = 0; + uint32 money = 0; + uint32 accId = 0; + uint32 leveltime = 0; + uint32 guid = 0; + std::string name = (char*)args; + uint32 race = 0; + uint32 pclass = 0; + uint32 online = 0; + std::string isonline = "(Offline)"; + + QueryResult *result = CharacterDatabase.PQuery("SELECT totaltime, level, money, account, leveltime, guid, name, race, class, online FROM characters WHERE name = '%s'", name.c_str()); + if (result) + { + Field *fields = result->Fetch(); + total_player_time = fields[0].GetUInt32(); + level = fields[1].GetUInt32(); + money = fields[2].GetUInt32(); + accId = fields[3].GetUInt32(); + leveltime = fields[4].GetUInt32(); + guid = fields[5].GetUInt32(); + name = fields[6].GetCppString(); + race = fields[7].GetUInt32(); + pclass = fields[8].GetUInt32(); + online = fields[9].GetUInt32(); + if(online > 0) + isonline = "(Online)"; + + delete result; + } + else + { + SendSysMessage(LANG_PLAYER_NOT_FOUND); + SetSentErrorMessage(true); + return false; + } + + std::string username = GetMangosString(LANG_ERROR); + std::string last_ip = GetMangosString(LANG_ERROR); + uint32 security = 0; + std::string last_login = GetMangosString(LANG_ERROR); + std::string joindate = GetMangosString(LANG_ERROR); + + result = loginDatabase.PQuery("SELECT username,gmlevel,last_ip,last_login,id,joindate FROM account WHERE id = '%u'",accId); + if(result) + { + Field* fields = result->Fetch(); + username = fields[0].GetCppString(); + security = fields[1].GetUInt32(); + + if(!m_session || m_session->GetSecurity() >= security) + { + last_ip = fields[2].GetCppString(); + last_login = fields[3].GetCppString(); + } + else + { + last_ip = "-"; + last_login = "-"; + } + + accId = fields[4].GetUInt32(); + joindate = fields[5].GetCppString(); + + delete result; + } + else + { + SendSysMessage(LANG_ACCOUNT_NOT_FOUND);//Char has no account? + SetSentErrorMessage(true); + return false; + } + + uint32 gold = money /GOLD; + uint32 silv = (money % GOLD) / SILVER; + uint32 copp = (money % GOLD) % SILVER; + std::string timeStr = secsToTimeString(total_player_time,true,true); + std::string timeStr2 = secsToTimeString(leveltime,true,true); + + std::string charLink = playerLink(name.c_str()); + + PSendSysMessage(LANG_PINFO_CHARACTER, charLink.c_str(), isonline.c_str(), guid, race, pclass, gold, silv, copp, username.c_str(), accId, security, joindate.c_str(), last_ip.c_str(), last_login.c_str(), timeStr.c_str(), timeStr2.c_str() ); + + return true; +} + +//show info of IP +bool ChatHandler::HandlePInfoIpCommand(const char* args) +{ + if(!*args) + return false; + + std::string last_ip = (char*)args; + std::string ipAccounts; + uint32 count = 0; + std::string last_login = GetMangosString(LANG_ERROR); + + QueryResult* result = loginDatabase.PQuery("SELECT username,last_ip,last_login,account.id,online,account_banned.id as bannedid,account_banned.active as banactive FROM account LEFT JOIN account_banned ON account.id = account_banned.id WHERE last_ip = '%s' ORDER BY last_login ASC",last_ip.c_str()); + if(result) + { + count = result->GetRowCount(); // Number of accounts + for(int i = 0; i < count ; i++) + { + uint32 banned = 0; + std::string isBanned; + uint32 online = 0; + std::string isOnline; + Field *fields = result->Fetch(); + + //Checking for a online account + online = fields[4].GetUInt32(); + if(online > 0) + { + isOnline = "(ONLINE) "; + } + else + { + isOnline = ""; + } + + //Checking for a banned account + banned = fields[6].GetUInt32(); + if(banned > 0) + { + isBanned = "(BANNED) "; + } + else + { + isBanned = ""; + } + + //Convert id to string + std::string cId; + std::stringstream ss; + ss << fields[3].GetUInt32(); + cId = ss.str(); + + //Make account line: Account (id: id) *(banned) - + ipAccounts += fields[0].GetCppString(); + ipAccounts += " (id: "; + ipAccounts += cId.c_str(); + ipAccounts += ") "; + ipAccounts += isOnline; + ipAccounts += isBanned; + ipAccounts += "- ";//Break apart different accounts + last_login = fields[2].GetCppString();//Replace with last data ( latest last online ) + result->NextRow(); + } + + delete result; + } + else + { + SendSysMessage(LANG_ACCOUNT_NOT_FOUND); + SetSentErrorMessage(true); + return false; + } + + PSendSysMessage(LANG_PINFO_IP, last_ip.c_str(), last_login.c_str(), ipAccounts.c_str()); + + return true; +} + //show info of player bool ChatHandler::HandlePInfoCommand(const char* args) { @@ -2129,6 +2405,10 @@ bool ChatHandler::HandlePInfoCommand(const char* args) // get additional information from DB else { + //check for valid args + if(!*args) + return false; + // check offline security if (HasLowerSecurity(NULL, target_guid)) return false; @@ -2172,6 +2452,49 @@ bool ChatHandler::HandlePInfoCommand(const char* args) delete result; } + //Characters + std::string playerChars; + uint32 count = 0; + result = CharacterDatabase.PQuery("SELECT name, account, guid, level FROM characters WHERE account = '%u'",accId); + if(result) + { + count = result->GetRowCount(); // Number of chars + for(int i = 0; i < count ; i++) + { + Field *fields = result->Fetch(); + + //Convert id to string + std::string cId; + std::stringstream ss; + ss << fields[2].GetUInt32(); + cId = ss.str(); + //Convert level to string + std::string pLevel; + std::stringstream ss2; + ss2 << fields[3].GetUInt32(); + pLevel = ss2.str(); + + //Make character line: Charname[level] (id: guid) - + std::string charLink = playerLink(fields[0].GetCppString()); + playerChars += charLink; + playerChars += '['; + playerChars += pLevel.c_str(); + playerChars += "] "; + playerChars += "(id: "; + playerChars += cId.c_str(); + playerChars += ')'; + playerChars += " - ";//Breakup Chars + + result->NextRow(); + } + + delete result; + } + else + { + playerChars = "No characters found"; + } + std::string nameLink = playerLink(target_name); PSendSysMessage(LANG_PINFO_ACCOUNT, (target?"":GetMangosString(LANG_OFFLINE)), nameLink.c_str(), GUID_LOPART(target_guid), username.c_str(), accId, security, last_ip.c_str(), last_login.c_str(), latency); @@ -2181,10 +2504,10 @@ bool ChatHandler::HandlePInfoCommand(const char* args) uint32 silv = (money % GOLD) / SILVER; uint32 copp = (money % GOLD) % SILVER; PSendSysMessage(LANG_PINFO_LEVEL, timeStr.c_str(), level, gold,silv,copp ); + PSendSysMessage(LANG_PINFO_CHARS, count, playerChars.c_str());//Account characters return true; } - //show tickets void ChatHandler::ShowTicket(uint64 guid, char const* text, char const* time) { SQL: INSERT INTO `mangos_string` (`entry`, `content_default`, `content_loc1`, `content_loc2`, `content_loc3`, `content_loc4`, `content_loc5`, `content_loc6`, `content_loc7`, `content_loc8`) VALUES (11004, 'Account not found!', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), (11003, 'IP: %s Last login: %s\\r\\nAccount(s): %s', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), (11002, 'Player: %s %s (id: %u) Race: %u Class: %u Money: %ug%us Account: %s (id: %u) GMLevel: %u Join date: %s Last IP: %s Last login: %s Total time: %s Time this level: %s', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), (11001, 'Account: %s (id: %u) GMLevel: %u Last IP: %s Last login: %s Email: %s Join date: %s Banned: %s', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), (11000, 'Accounts characters (%u):\\r\\n%s', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); http://www.rvdev.net/pinfo2.patch http://www.rvdev.net/mangos_mangos_string.sql *right click, save as duhh
  17. I tried 1400 users without any vmaps. Slightly less spelllag but still noticeable. I'd really like to know where that stuff is coming from... With mtmaps the mainthread mostly ranks around 70% cpu usage, so not really overloaded. @throneinc Those patches above are Derex mtmaps patch. I adapted the version from that trinity patch collection and it's working fine. Anticheat: http://getmangos.eu/community/viewtopic.php?id=4404 @Poe What's your playercount?
  18. What bug does the patch fix: Missing proc for spell 38139 For which SubVersion revision was the patch created? 6528 Thread in the bug report section: http://getmangos.eu/community/viewtopic.php?id=28159 Who has been writing this patch?: Malah INSERT INTO `spell_proc_event` VALUES (38319,0,0,0,0,0x0000000000000000,0x00020000,0,0);
  19. Hi Guys, I was asked to describe how to merge playerbot & movemaps with MaNGOS Zero, similar to the instructions previously posted for MaNGOS here Please bear with me on this, because these scripts and patches wouldn't work when posted to PM. Specifying the display type for code tags as cyberium suggested is pretty to read, but a nightmare when you try to copy/paste. So I will post these in raw format. 1. Run the 'follow/movemaps' > MaNGOS Zero bash script #!/bin/bash -x mkdir portal cd portal git init git pull git://github.com/mangos-zero/server.git feature/movemaps:master git pull git://github.com/mangos-zero/server.git # # Apply merge_mmap_into_core.patch to fix conflicts # Then it is most important to do the following within the portal folder <source root> # git commit -a # # save the file to finalize the merge # check that the merge has taken by viewing the commit history 'git log' Then from the portal directory, fix the merge conflicts with this patch (Note: ignore the binary conflicts. All binaries should be re-built to be compatible with your system) (remove the --check option to actually apply patch) diff --git a/src/game/CreatureAI.h b/src/game/CreatureAI.h index 45aecec..851fc31 100644 --- a/src/game/CreatureAI.h +++ b/src/game/CreatureAI.h @@ -103,16 +103,11 @@ class MANGOS_DLL_SPEC CreatureAI */ virtual void JustReachedHome() {} -<<<<<<< HEAD - // Called at any heal cast/item used (call non implemented) - // virtual void HealBy(Unit * /*healer*/, uint32 /*amount_healed*/) {} -======= /** * Called at any heal cast/item used * @param healer Unit* who healed the creature */ virtual void HealBy(Unit* healer, uint32 amount_healed) {} ->>>>>>> 182b8438135d5e5a2c1cd404b005706ad788f262 /** * Called at any Damage to any victim (before damage apply) diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp index b8328ea..fdb40f1 100644 --- a/src/game/SpellEffects.cpp +++ b/src/game/SpellEffects.cpp @@ -3521,17 +3521,6 @@ void Spell::EffectScriptEffect(SpellEffectIndex eff_idx) return; } case 28560: // Summon Blizzard -<<<<<<< HEAD - { - if (!unitTarget) - return; - - m_caster->SummonCreature(16474, unitTarget->GetPositionX(), unitTarget->GetPositionY(), unitTarget->GetPositionZ(), 0.0f, TEMPSUMMON_TIMED_DESPAWN, 30000); - return; - } - case 30918: // Improved Sprint -======= ->>>>>>> 182b8438135d5e5a2c1cd404b005706ad788f262 { m_caster->CastSpell(m_caster, 28561, true); return; diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index 6db1602..d57f534 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -7255,15 +7255,9 @@ void Unit::IncrDiminishing(DiminishingGroup group) m_Diminishing.push_back(DiminishingReturn(group,WorldTimer::getMSTime(),DIMINISHING_LEVEL_2)); } -<<<<<<< HEAD -void Unit::ApplyDiminishingToDuration(DiminishingGroup group, int32 &duration,Unit* caster,DiminishingLevels Level, bool isReflected) -{ - if(duration == -1 || group == DIMINISHING_NONE || (!isReflected && caster->IsFriendlyTo(this)) ) -======= void Unit::ApplyDiminishingToDuration(DiminishingGroup group, int32 &duration, Unit* caster, DiminishingLevels Level, bool isReflected) { if (duration == -1 || group == DIMINISHING_NONE || (!isReflected && caster->IsFriendlyTo(this))) ->>>>>>> 182b8438135d5e5a2c1cd404b005706ad788f262 return; float mod = 1.0f; diff --git a/src/game/Unit.h b/src/game/Unit.h index 171f276..816d9f3 100644 --- a/src/game/Unit.h +++ b/src/game/Unit.h @@ -990,11 +990,7 @@ class MANGOS_DLL_SPEC Unit : public WorldObject DiminishingLevels GetDiminishing(DiminishingGroup group); void IncrDiminishing(DiminishingGroup group); -<<<<<<< HEAD - void ApplyDiminishingToDuration(DiminishingGroup group, int32 &duration,Unit* caster, DiminishingLevels Level, bool isReflected); -======= void ApplyDiminishingToDuration(DiminishingGroup group, int32 &duration, Unit* caster, DiminishingLevels Level, bool isReflected); ->>>>>>> 182b8438135d5e5a2c1cd404b005706ad788f262 void ApplyDiminishingAura(DiminishingGroup group, bool apply); void ClearDiminishings() { m_Diminishing.clear(); } diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index 888957d..4e00ba6 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,8 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ -<<<<<<< HEAD - #define REVISION_NR "1789" -======= #define REVISION_NR "1809" ->>>>>>> 182b8438135d5e5a2c1cd404b005706ad788f262 #endif // __REVISION_NR_H__ Then you need to finalize the merge by This will open the default text editor to allow you to change the merge header. Just save the file and exit. You can check that the merge has taken by 2. Next you will be merging the playerbot code (zeronew-ai branch) into your previous merge (1.). Run this script from the portal parent directory. #!/bin/bash -x cd portal git pull git://github.com/blueboy/portalzero.git zeronew-ai:zeronew-ai # # Apply merge_pbot.patch to fix conflict # Then it is most important to do the following within the portal folder <source root> # git add win/VC100/game.vcxproj.filters # git commit -a # # save file to finalize merge # check that the merge has taken by viewing the commit history 'git log' copy the following patch to portal and apply it to fix merge conflicts. diff --git a/win/VC100/game.vcxproj.filters b/win/VC100/game.vcxproj.filters index 2d2e52d..fbe2d09 100644 --- a/win/VC100/game.vcxproj.filters +++ b/win/VC100/game.vcxproj.filters @@ -836,12 +836,6 @@ <ClInclude Include="..\\..\\src\\game\\Camera.h"> <Filter>Object</Filter> </ClInclude> -<<<<<<< HEAD - <ClInclude Include="..\\..\\src\\game\\MoveMap.h"> - <Filter>World/Handlers</Filter> - </ClInclude> - <ClInclude Include="..\\..\\src\\game\\MoveMapSharedDefines.h"> -======= <ClInclude Include="..\\..\\src\\game\\playerbot\\PlayerbotAI.h"> <Filter>World/Handlers</Filter> </ClInclude> @@ -876,7 +870,12 @@ <Filter>World/Handlers</Filter> </ClInclude> <ClInclude Include="..\\..\\src\\game\\playerbot\\PlayerbotWarriorAI.h"> ->>>>>>> 25635d12680da625b0a297e535a6d2c4c9d4c553 + <Filter>World/Handlers</Filter> + </ClInclude> + <ClInclude Include="..\\..\\src\\game\\MoveMap.h"> + <Filter>World/Handlers</Filter> + </ClInclude> + <ClInclude Include="..\\..\\src\\game\\MoveMapSharedDefines.h"> <Filter>World/Handlers</Filter> </ClInclude> <ClInclude Include="..\\..\\src\\game\\vmap\\BIH.h"> again finalize the merge (git commit -a) and save. The code is now ready to build. @EDIT I have found the problem. You need to change the file format from PC to Unix. If you have a text editor that does this fine, if not I have found a link to a utility that convert CR/LF line endings into LF line endings to prepare files edited under windows for use on unix machines that does. Hope this helps
  20. I would recommend to actually copy and paste the error output somewhere. This is probably not specific enough for helping you. It might be the same issue like in this topic.
  21. its true i think this isnt implemented because of that, SOTA and IOTC doesnt work, and before to get them work vehicle need to be implemented. or at least Random BG could be implemented with and option in the mangos.cfg where you can turn off/on the bgs available for the Random BG
  22. hello,everyone! this forum is really a good place and many nice people are here! recently, chinese players would have their WOW version from TBC 3.1.3 update to WLK 3.2.2-12484. i followed this great guy's guide here: http://getmangos.eu/community/viewtopic.php?id=7318 ,luckly, everything goes fine ,and it worked well on my WOW 3.3.5a-12340 version (though the post recommended 3.3.3a, but my 3.3.5a also did well,due to my data update?) but when i used my China's WOW version 3.2.2-12484, it came to this error "can't validate game version", i almost know this error would happen , though ,it is said that someone can modify the MaNGOS file to make the newer version MaNGOS support lower version WOW . i used the search function of this forum, but due to my bad english ,i can only find the the "sharedefine" file contain some statment about version problems, but i really messed up, can some of you nice guys help me with this problem? or give me a link about this? that will be a great favor for me ! thank you everyone reading this post!
  23. What bug does the patch fix? What features does the patch add? fixes Moonfire & Lacerate Debuff stack For which repository revision was the patch created? [9814] 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?7656-%5BBug%5D-Moonfire-Lacerate-Debuff-overwrite&highlight=lacerate Who has been writing this patch? Please include either forum user names or email addresses. Me Code diff: @@ -1590,6 +1609,11 @@ bool SpellMgr::IsNoStackSpellDueToSpell(uint32 spellId_1, uint32 spellId_2) cons case SPELLFAMILY_DRUID: if( spellInfo_2->SpellFamilyName == SPELLFAMILY_DRUID ) { + //Lacerate and Moonfire + if (spellInfo_1->SpellIconID == 225 && spellInfo_2->SpellIconID == 2246 || + spellInfo_2->SpellIconID == 225 && spellInfo_1->SpellIconID == 2246 ) + return false; + //Omen of Clarity and Blood Frenzy if( (spellInfo_1->SpellFamilyFlags == UI64LIT(0x0) && spellInfo_1->SpellIconID == 108) && (spellInfo_2->SpellFamilyFlags & UI64LIT(0x20000000000000)) || (spellInfo_2->SpellFamilyFlags == UI64LIT(0x0) && spellInfo_2->SpellIconID == 108) && (spellInfo_1->SpellFamilyFlags & UI64LIT(0x20000000000000)) )
  24. the solution is here
  25. What bug does the patch fix? resolves stacking issues between the following Spells: Spellist For which repository revision was the patch created? master @ 57cf96c19416dc63cf444d71d5deaeaa68bab143 Is there a thread in the bug report section or at lighthouse? http://getmangos.eu/community/showpost.php?p=94873&postcount=3 Who has been writing this patch? Me commit a2f7c25996105054cf4c3671878f6121a0c7f064 Author: unknown <Spezies 0815@.(none)> Date: Thu Dec 3 17:24:17 2009 +0100 IconID:240 Issues diff --git a/src/game/SpellMgr.cpp b/src/game/SpellMgr.cpp index bdb1b66..cba3c96 100644 --- a/src/game/SpellMgr.cpp +++ b/src/game/SpellMgr.cpp @@ -1329,10 +1329,8 @@ bool SpellMgr::IsNoStackSpellDueToSpell(uint32 spellId_1, uint32 spellId_2) cons spellInfo_2->SpellVisual[0] == 99 && spellInfo_1->SpellVisual[0] == 0 ) ) return false; - // Heart of the Wild and (Primal Instinct (Idol of Terror) triggering spell or Agility) - if( spellInfo_1->SpellIconID == 240 && spellInfo_2->SpellIconID == 240 && ( - spellInfo_1->SpellVisual[0] == 0 && spellInfo_2->SpellVisual[0] == 78 || - spellInfo_2->SpellVisual[0] == 0 && spellInfo_1->SpellVisual[0] == 78 ) ) + // Heart of the Wild, Agility and various Idol Triggers + if(spellInfo_1->SpellIconID == 240 && spellInfo_2->SpellIconID == 240) return false; // Personalized Weather (thunder effect should overwrite rainy aura)
×
×
  • 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