Show
Ignore:
Timestamp:
11/22/08 01:55:16 (17 years ago)
Author:
yumileroy
Message:

*Alterac Valley. By Bogie and Balrok. Note: some core contents are modified. Will fix them later. Some sql are disabled because of possible conflict with offical DB. Use them at your own risk.

Original author: megamage
Date: 2008-11-21 19:45:49-06:00

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/src/game/Player.cpp

    r279 r283  
    5555#include "Weather.h" 
    5656#include "BattleGround.h" 
     57#include "BattleGroundAV.h" 
    5758#include "BattleGroundMgr.h" 
    5859#include "OutdoorPvP.h" 
     
    41614162    BattleGround *bg = sBattleGroundMgr.GetBattleGround(GetBattleGroundId()); 
    41624163 
    4163     if(bg && (bg->GetTypeID() == BATTLEGROUND_AB || bg->GetTypeID() == BATTLEGROUND_EY)) 
     4164    if(bg && (bg->GetTypeID() == BATTLEGROUND_AB || bg->GetTypeID() == BATTLEGROUND_EY || bg->GetTypeID() == BATTLEGROUND_AV)) 
    41644165        ClosestGrave = bg->GetClosestGraveYard(GetPositionX(), GetPositionY(), GetPositionZ(), GetTeam()); 
    41654166    else 
     
    72167217            uint32 lootid =  go->GetLootId(); 
    72177218 
     7219            //TODO: fix this big hack 
     7220            if((go->GetEntry() == BG_AV_OBJECTID_MINE_N || go->GetEntry() == BG_AV_OBJECTID_MINE_S)) 
     7221                if( BattleGround *bg = GetBattleGround()) 
     7222                    if(bg->GetTypeID() == BATTLEGROUND_AV) 
     7223                        if(!(((BattleGroundAV*)bg)->PlayerCanDoMineQuest(go->GetEntry(),GetTeam()))) 
     7224                        { 
     7225                            SendLootRelease(guid); 
     7226                            return; 
     7227                        } 
     7228 
    72187229            if(lootid) 
    72197230            { 
     
    72927303            uint32 pLevel = bones->loot.gold; 
    72937304            bones->loot.clear(); 
     7305            if(GetBattleGround()->GetTypeID() == BATTLEGROUND_AV) 
     7306                loot->FillLoot(1, LootTemplates_Creature, this); 
    72947307            // It may need a better formula 
    72957308            // Now it works like this: lvl10: ~6copper, lvl70: ~9silver 
     
    76657678            break; 
    76667679        case 2597:                                          // AV 
    7667             data << uint32(0x7ae) << uint32(0x1);           // 7 
    7668             data << uint32(0x532) << uint32(0x1);           // 8 
    7669             data << uint32(0x531) << uint32(0x0);           // 9 
    7670             data << uint32(0x52e) << uint32(0x0);           // 10 
    7671             data << uint32(0x571) << uint32(0x0);           // 11 
    7672             data << uint32(0x570) << uint32(0x0);           // 12 
    7673             data << uint32(0x567) << uint32(0x1);           // 13 
    7674             data << uint32(0x566) << uint32(0x1);           // 14 
    7675             data << uint32(0x550) << uint32(0x1);           // 15 
    7676             data << uint32(0x544) << uint32(0x0);           // 16 
    7677             data << uint32(0x536) << uint32(0x0);           // 17 
    7678             data << uint32(0x535) << uint32(0x1);           // 18 
    7679             data << uint32(0x518) << uint32(0x0);           // 19 
    7680             data << uint32(0x517) << uint32(0x0);           // 20 
    7681             data << uint32(0x574) << uint32(0x0);           // 21 
    7682             data << uint32(0x573) << uint32(0x0);           // 22 
    7683             data << uint32(0x572) << uint32(0x0);           // 23 
    7684             data << uint32(0x56f) << uint32(0x0);           // 24 
    7685             data << uint32(0x56e) << uint32(0x0);           // 25 
    7686             data << uint32(0x56d) << uint32(0x0);           // 26 
    7687             data << uint32(0x56c) << uint32(0x0);           // 27 
    7688             data << uint32(0x56b) << uint32(0x0);           // 28 
    7689             data << uint32(0x56a) << uint32(0x1);           // 29 
    7690             data << uint32(0x569) << uint32(0x1);           // 30 
    7691             data << uint32(0x568) << uint32(0x1);           // 13 
    7692             data << uint32(0x565) << uint32(0x0);           // 32 
    7693             data << uint32(0x564) << uint32(0x0);           // 33 
    7694             data << uint32(0x563) << uint32(0x0);           // 34 
    7695             data << uint32(0x562) << uint32(0x0);           // 35 
    7696             data << uint32(0x561) << uint32(0x0);           // 36 
    7697             data << uint32(0x560) << uint32(0x0);           // 37 
    7698             data << uint32(0x55f) << uint32(0x0);           // 38 
    7699             data << uint32(0x55e) << uint32(0x0);           // 39 
    7700             data << uint32(0x55d) << uint32(0x0);           // 40 
    7701             data << uint32(0x3c6) << uint32(0x4);           // 41 
    7702             data << uint32(0x3c4) << uint32(0x6);           // 42 
    7703             data << uint32(0x3c2) << uint32(0x4);           // 43 
    7704             data << uint32(0x516) << uint32(0x1);           // 44 
    7705             data << uint32(0x515) << uint32(0x0);           // 45 
    7706             data << uint32(0x3b6) << uint32(0x6);           // 46 
    7707             data << uint32(0x55c) << uint32(0x0);           // 47 
    7708             data << uint32(0x55b) << uint32(0x0);           // 48 
    7709             data << uint32(0x55a) << uint32(0x0);           // 49 
    7710             data << uint32(0x559) << uint32(0x0);           // 50 
    7711             data << uint32(0x558) << uint32(0x0);           // 51 
    7712             data << uint32(0x557) << uint32(0x0);           // 52 
    7713             data << uint32(0x556) << uint32(0x0);           // 53 
    7714             data << uint32(0x555) << uint32(0x0);           // 54 
    7715             data << uint32(0x554) << uint32(0x1);           // 55 
    7716             data << uint32(0x553) << uint32(0x1);           // 56 
    7717             data << uint32(0x552) << uint32(0x1);           // 57 
    7718             data << uint32(0x551) << uint32(0x1);           // 58 
    7719             data << uint32(0x54f) << uint32(0x0);           // 59 
    7720             data << uint32(0x54e) << uint32(0x0);           // 60 
    7721             data << uint32(0x54d) << uint32(0x1);           // 61 
    7722             data << uint32(0x54c) << uint32(0x0);           // 62 
    7723             data << uint32(0x54b) << uint32(0x0);           // 63 
    7724             data << uint32(0x545) << uint32(0x0);           // 64 
    7725             data << uint32(0x543) << uint32(0x1);           // 65 
    7726             data << uint32(0x542) << uint32(0x0);           // 66 
    7727             data << uint32(0x540) << uint32(0x0);           // 67 
    7728             data << uint32(0x53f) << uint32(0x0);           // 68 
    7729             data << uint32(0x53e) << uint32(0x0);           // 69 
    7730             data << uint32(0x53d) << uint32(0x0);           // 70 
    7731             data << uint32(0x53c) << uint32(0x0);           // 71 
    7732             data << uint32(0x53b) << uint32(0x0);           // 72 
    7733             data << uint32(0x53a) << uint32(0x1);           // 73 
    7734             data << uint32(0x539) << uint32(0x0);           // 74 
    7735             data << uint32(0x538) << uint32(0x0);           // 75 
    7736             data << uint32(0x537) << uint32(0x0);           // 76 
    7737             data << uint32(0x534) << uint32(0x0);           // 77 
    7738             data << uint32(0x533) << uint32(0x0);           // 78 
    7739             data << uint32(0x530) << uint32(0x0);           // 79 
    7740             data << uint32(0x52f) << uint32(0x0);           // 80 
    7741             data << uint32(0x52d) << uint32(0x1);           // 81 
     7680            if (bg && bg->GetTypeID() == BATTLEGROUND_AV) 
     7681                bg->FillInitialWorldStates(data); 
     7682            else 
     7683            { 
     7684                data << uint32(0x7ae) << uint32(0x1);           // 7 snowfall n 
     7685                data << uint32(0x532) << uint32(0x1);           // 8 frostwolfhut hc 
     7686                data << uint32(0x531) << uint32(0x0);           // 9 frostwolfhut ac 
     7687                data << uint32(0x52e) << uint32(0x0);           // 10 stormpike firstaid a_a 
     7688                data << uint32(0x571) << uint32(0x0);           // 11 east frostwolf tower horde assaulted -unused 
     7689                data << uint32(0x570) << uint32(0x0);           // 12 west frostwolf tower horde assaulted - unused 
     7690                data << uint32(0x567) << uint32(0x1);           // 13 frostwolfe c 
     7691                data << uint32(0x566) << uint32(0x1);           // 14 frostwolfw c 
     7692                data << uint32(0x550) << uint32(0x1);           // 15 irondeep (N) ally 
     7693                data << uint32(0x544) << uint32(0x0);           // 16 ice grave a_a 
     7694                data << uint32(0x536) << uint32(0x0);           // 17 stormpike grave h_c 
     7695                data << uint32(0x535) << uint32(0x1);           // 18 stormpike grave a_c 
     7696                data << uint32(0x518) << uint32(0x0);           // 19 stoneheart grave a_a 
     7697                data << uint32(0x517) << uint32(0x0);           // 20 stoneheart grave h_a 
     7698                data << uint32(0x574) << uint32(0x0);           // 21 1396 unk 
     7699                data << uint32(0x573) << uint32(0x0);           // 22 iceblood tower horde assaulted -unused 
     7700                data << uint32(0x572) << uint32(0x0);           // 23 towerpoint horde assaulted - unused 
     7701                data << uint32(0x56f) << uint32(0x0);           // 24 1391 unk 
     7702                data << uint32(0x56e) << uint32(0x0);           // 25 iceblood a 
     7703                data << uint32(0x56d) << uint32(0x0);           // 26 towerp a 
     7704                data << uint32(0x56c) << uint32(0x0);           // 27 frostwolfe a 
     7705                data << uint32(0x56b) << uint32(0x0);           // 28 froswolfw a 
     7706                data << uint32(0x56a) << uint32(0x1);           // 29 1386 unk 
     7707                data << uint32(0x569) << uint32(0x1);           // 30 iceblood c 
     7708                data << uint32(0x568) << uint32(0x1);           // 31 towerp c 
     7709                data << uint32(0x565) << uint32(0x0);           // 32 stoneh tower a 
     7710                data << uint32(0x564) << uint32(0x0);           // 33 icewing tower a 
     7711                data << uint32(0x563) << uint32(0x0);           // 34 dunn a 
     7712                data << uint32(0x562) << uint32(0x0);           // 35 duns a 
     7713                data << uint32(0x561) << uint32(0x0);           // 36 stoneheart bunker alliance assaulted - unused 
     7714                data << uint32(0x560) << uint32(0x0);           // 37 icewing bunker alliance assaulted - unused 
     7715                data << uint32(0x55f) << uint32(0x0);           // 38 dunbaldar south alliance assaulted - unused 
     7716                data << uint32(0x55e) << uint32(0x0);           // 39 dunbaldar north alliance assaulted - unused 
     7717                data << uint32(0x55d) << uint32(0x0);           // 40 stone tower d 
     7718                data << uint32(0x3c6) << uint32(0x0);           // 41 966 unk 
     7719                data << uint32(0x3c4) << uint32(0x0);           // 42 964 unk 
     7720                data << uint32(0x3c2) << uint32(0x0);           // 43 962 unk 
     7721                data << uint32(0x516) << uint32(0x1);           // 44 stoneheart grave a_c 
     7722                data << uint32(0x515) << uint32(0x0);           // 45 stonheart grave h_c 
     7723                data << uint32(0x3b6) << uint32(0x0);           // 46 950 unk 
     7724                data << uint32(0x55c) << uint32(0x0);           // 47 icewing tower d 
     7725                data << uint32(0x55b) << uint32(0x0);           // 48 dunn d 
     7726                data << uint32(0x55a) << uint32(0x0);           // 49 duns d 
     7727                data << uint32(0x559) << uint32(0x0);           // 50 1369 unk 
     7728                data << uint32(0x558) << uint32(0x0);           // 51 iceblood d 
     7729                data << uint32(0x557) << uint32(0x0);           // 52 towerp d 
     7730                data << uint32(0x556) << uint32(0x0);           // 53 frostwolfe d 
     7731                data << uint32(0x555) << uint32(0x0);           // 54 frostwolfw d 
     7732                data << uint32(0x554) << uint32(0x1);           // 55 stoneh tower c 
     7733                data << uint32(0x553) << uint32(0x1);           // 56 icewing tower c 
     7734                data << uint32(0x552) << uint32(0x1);           // 57 dunn c 
     7735                data << uint32(0x551) << uint32(0x1);           // 58 duns c 
     7736                data << uint32(0x54f) << uint32(0x0);           // 59 irondeep (N) horde 
     7737                data << uint32(0x54e) << uint32(0x0);           // 60 irondeep (N) ally 
     7738                data << uint32(0x54d) << uint32(0x1);           // 61 mine (S) neutral 
     7739                data << uint32(0x54c) << uint32(0x0);           // 62 mine (S) horde 
     7740                data << uint32(0x54b) << uint32(0x0);           // 63 mine (S) ally 
     7741                data << uint32(0x545) << uint32(0x0);           // 64 iceblood h_a 
     7742                data << uint32(0x543) << uint32(0x1);           // 65 iceblod h_c 
     7743                data << uint32(0x542) << uint32(0x0);           // 66 iceblood a_c 
     7744                data << uint32(0x540) << uint32(0x0);           // 67 snowfall h_a 
     7745                data << uint32(0x53f) << uint32(0x0);           // 68 snowfall a_a 
     7746                data << uint32(0x53e) << uint32(0x0);           // 69 snowfall h_c 
     7747                data << uint32(0x53d) << uint32(0x0);           // 70 snowfall a_c 
     7748                data << uint32(0x53c) << uint32(0x0);           // 71 frostwolf g h_a 
     7749                data << uint32(0x53b) << uint32(0x0);           // 72 frostwolf g a_a 
     7750                data << uint32(0x53a) << uint32(0x1);           // 73 frostwolf g h_c 
     7751                data << uint32(0x539) << uint32(0x0);           // 74 frostwolf g a_c 
     7752                data << uint32(0x538) << uint32(0x0);           // 75 stormpike grave h_a 
     7753                data << uint32(0x537) << uint32(0x0);           // 76 stormpike grave a_a 
     7754                data << uint32(0x534) << uint32(0x0);           // 77 frostwolf hut h_a 
     7755                data << uint32(0x533) << uint32(0x0);           // 78 frostwolf hut a_a 
     7756                data << uint32(0x530) << uint32(0x0);           // 79 stormpike first aid h_a 
     7757                data << uint32(0x52f) << uint32(0x0);           // 80 stormpike first aid h_c 
     7758                data << uint32(0x52d) << uint32(0x1);           // 81 stormpike first aid a_c 
     7759            } 
    77427760            break; 
    77437761        case 3277:                                          // WS 
     
    1335113369            // hide quest if player is in raid-group and quest is no raid quest 
    1335213370            if(GetGroup() && GetGroup()->isRaidGroup() && qinfo->GetType() != QUEST_TYPE_RAID) 
    13353                 continue; 
     13371                if(!InBattleGround()) //there are two ways.. we can make every bg-quest a raidquest, or add this code here.. i don't know if this can be exploited by other quests, but i think all other quests depend on a specific area.. but keep this in mind, if something strange happens later 
     13372                    continue; 
    1335413373 
    1335513374            // There should be no mixed ReqItem/ReqSource drop 
     
    1804618065} 
    1804718066 
     18067//TODO make this more generic - current implementation is wrong 
    1804818068uint32 Player::GetBattleGroundQueueIdFromLevel() const 
    1804918069{ 
     
    1893718957                target->AddThreat(this, 1000000.0f); 
    1893818958        } 
    18939         // Disable the assigned possessed AI 
    18940         ((Creature*)target)->DisablePossessedAI(); 
     18959        // Delete the assigned possessed AI 
     18960        ((Creature*)target)->DeletePossessedAI(); 
    1894118961    } 
    1894218962}