gen1us2k
Members-
Posts
20 -
Joined
-
Last visited
Never -
Donations
0.00 GBP
gen1us2k's Achievements
Member (2/3)
0
Reputation
-
[Patch] Auction House Bot (Xeross' Branch)
gen1us2k replied to Auntie Mangos's topic in OldCore modifications
ok. thanks for your answers. I will try make AHBot work today. -
[Patch] Auction House Bot (Xeross' Branch)
gen1us2k replied to Auntie Mangos's topic in OldCore modifications
so. I need to create a character and set char's data in config file or not? PS. lookup code and maybe I'll understand. sorry for my english -
add code from *.rej file... sorry, but I patching sources, and add from rejects with my hands PS maybe later i post the correct patch
-
for MaNGOS 9565. not tested yet diff --git a/src/game/Map.cpp b/src/game/Map.cpp index befc8e1..2ac75c4 100644 --- a/src/game/Map.cpp +++ b/src/game/Map.cpp @@ -926,11 +926,36 @@ Map::CreatureRelocation(Creature *creature, float x, float y, float z, float ang creature->SetNeedNotify(); } } + // hack for eye of acherus part 1 + if(creature->isCharmed()) + { + NGridType* oldGrid = getNGrid(old_cell.GridX(), old_cell.GridY()); + RemoveFromGrid(creature->GetCharmerOrOwnerPlayerOrPlayerItself(), oldGrid, old_cell); + if(!old_cell.DiffGrid(new_cell)) + AddToGrid(creature->GetCharmerOrOwnerPlayerOrPlayerItself(), oldGrid, new_cell); + else + EnsureGridLoadedAtEnter(new_cell, creature->GetCharmerOrOwnerPlayerOrPlayerItself()); + } } else { creature->Relocate(x, y, z, ang); creature->SetNeedNotify(); + // hack for eye of acherus part 2 + if(creature->isCharmed()) + { + UpdatePlayerVisibility(creature->GetCharmerOrOwnerPlayerOrPlayerItself(), new_cell, new_val); + UpdateObjectsVisibilityFor(creature->GetCharmerOrOwnerPlayerOrPlayerItself(), new_cell, new_val); + PlayerRelocationNotify(creature->GetCharmerOrOwnerPlayerOrPlayerItself(), new_cell, new_val); + + bool same_cell = (new_cell == old_cell); + NGridType* newGrid = getNGrid(new_cell.GridX(), new_cell.GridY()); + if( !same_cell && newGrid->GetGridState()!= GRID_STATE_ACTIVE ) + { + ResetGridExpiry(*newGrid, 0.1f); + newGrid->SetGridState(GRID_STATE_ACTIVE); + } + } } assert(CheckGridIntegrity(creature,true)); diff --git a/src/game/Object.cpp b/src/game/Object.cpp index 9ec6a5b..9de6ded 100644 --- a/src/game/Object.cpp +++ b/src/game/Object.cpp @@ -1453,6 +1453,10 @@ void WorldObject::MonsterTextEmote(const char* text, uint64 TargetGuid, bool IsB { WorldPacket data(SMSG_MESSAGECHAT, 200); BuildMonsterChat(&data,IsBossEmote ? CHAT_MSG_RAID_BOSS_EMOTE : CHAT_MSG_MONSTER_EMOTE,text,LANG_UNIVERSAL,GetName(),TargetGuid); + Unit * eye = Unit::GetUnit((*this), TargetGuid); + if (eye && eye->isCharmed() && eye->GetEntry() == 28511) + SendMessageToSet(&data, true); + else SendMessageToSetInRange(&data,sWorld.getConfig(IsBossEmote ? CONFIG_FLOAT_LISTEN_RANGE_YELL : CONFIG_FLOAT_LISTEN_RANGE_TEXTEMOTE),true); } diff --git a/src/game/Spell.h b/src/game/Spell.h index a09c7c0..1c9a2e0 100644 --- a/src/game/Spell.h +++ b/src/game/Spell.h @@ -241,6 +241,7 @@ class Spell friend void Unit::SetCurrentCastedSpell( Spell * pSpell ); public: + void EffectSummonPosessed(SpellEffectIndex eff_idx); void EffectEmpty(SpellEffectIndex eff_idx); void EffectNULL(SpellEffectIndex eff_idx); void EffectUnused(SpellEffectIndex eff_idx); diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp index 9c7d8f8..b303eb1 100644 --- a/src/game/SpellEffects.cpp +++ b/src/game/SpellEffects.cpp @@ -3788,9 +3788,20 @@ void Spell::EffectSummonType(SpellEffectIndex eff_idx) } case SUMMON_PROP_GROUP_CONTROLLABLE: { + switch(prop_id) + { + //SUMMON_TYPE_POSESSED = 65 + //SUMMON_TYPE_POSESSED2 = 428 + case 65: + case 428: + EffectSummonPosessed(eff_idx); + break; + default: DoSummonGuardian(eff_idx, summon_prop->FactionId); + break; + } // no type here // maybe wrong - but thats the handler currently used for those - DoSummonGuardian(eff_idx, summon_prop->FactionId); + // DoSummonGuardian(eff_idx, summon_prop->FactionId); break; } case SUMMON_PROP_GROUP_VEHICLE: @@ -3805,6 +3816,61 @@ void Spell::EffectSummonType(SpellEffectIndex eff_idx) } } +void Spell::EffectSummonPosessed(SpellEffectIndex eff_idx) +{ + uint32 creature_entry = m_spellInfo->EffectMiscValue[eff_idx]; + if (!creature_entry) + return; + + int32 duration = GetSpellDuration(m_spellInfo); + + float px, py, pz; + // If dest location if present + if (m_targets.m_targetMask & TARGET_FLAG_DEST_LOCATION) + { + // Summon 1 unit in dest location + px = m_targets.m_destX; + py = m_targets.m_destY; + pz = m_targets.m_destZ; + } + // Summon if dest location not present near caster + else + m_caster->GetClosePoint(px, py, pz, 1.0f); + + TempSummonType summonType = (duration == 0) ? TEMPSUMMON_DEAD_DESPAWN : TEMPSUMMON_TIMED_OR_DEAD_DESPAWN; + Creature *spawnCreature = m_caster->SummonCreature(creature_entry, px, py, pz, m_caster->GetOrientation(), summonType, duration); + + if(!spawnCreature->IsPositionValid()) + { + sLog.outError("Pet (guidlow %d, entry %d) not created base at creature. Suggested coordinates isn't valid (X: %f Y: %f)", + spawnCreature->GetGUIDLow(), spawnCreature->GetEntry(), spawnCreature->GetPositionX(), spawnCreature->GetPositionY()); + delete spawnCreature; + return; + } + + spawnCreature->setFaction(m_caster->getFaction()); + spawnCreature->SetCharmerGUID(m_caster->GetGUID()); + spawnCreature->SetCreatorGUID(m_caster->GetGUID()); + + CharmInfo *charmInfo = spawnCreature->InitCharmInfo(spawnCreature); + charmInfo->InitPossessCreateSpells(); + + if(m_caster->GetTypeId()==TYPEID_PLAYER) + { + ((Player*)m_caster)->SetCharm(spawnCreature); + ((Player*)m_caster)->SetFarSightGUID(spawnCreature->GetGUID()); + ((Player*)m_caster)->SetClientControl(spawnCreature, 1); + ((Player*)m_caster)->SetMover(spawnCreature); + ((Player*)m_caster)->PossessSpellInitialize(); + } + + spawnCreature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_PLAYER_CONTROLLED); + spawnCreature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); + + spawnCreature->CombatStop(); + spawnCreature->DeleteThreatList(); +} + void Spell::DoSummon(SpellEffectIndex eff_idx) { if (m_caster->GetPetGUID()) @@ -5308,6 +5374,45 @@ void Spell::EffectScriptEffect(SpellEffectIndex eff_idx) { switch(m_spellInfo->Id) { + case 52694: // Recall Eye of Acherus + { + if(!m_caster || m_caster->GetTypeId() != TYPEID_UNIT || !(m_caster->isCharmed())) + return; + + Creature *eye = ((Creature*)m_caster); + if(m_caster->GetCharmer()->GetTypeId() != TYPEID_PLAYER) + return; + + Player *player =((Player*)m_caster->GetCharmer()); + if(eye->isInCombat()) + return; + + eye->GetMap()->CreatureRelocation(eye, 2325.0f, -5660.0f, 427.0f, 3.83f); + eye->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_PLAYER_CONTROLLED); + eye->SetCharmerGUID(0); + + player->InterruptSpell(CURRENT_CHANNELED_SPELL); + player->RemoveAurasDueToSpell(51852); // Remove The Eye of Acherus aura + player->RemoveAurasDueToSpell(51923); + player->RemoveAurasDueToSpell(51890); + player->SetCharm(NULL); + player->SetFarSightGUID(0); + player->SetClientControl(m_caster, 0); + player->SetMover(NULL); + player->RemovePetActionBar(); + + eye->CleanupsBeforeDelete(); + eye->AddObjectToRemoveList(); + return; + } + case 51904: // Summon Ghouls On Scarlet Crusade + { + if(!unitTarget) + return; + + unitTarget->CastSpell(unitTarget, 54522, true); + break; + } case 8856: // Bending Shinbone { if (!itemTarget && m_caster->GetTypeId()!=TYPEID_PLAYER)
-
git clone git://github.com/jolan/MoveMaps.git
-
for MaNGOS_rev9471 http://filebeam.com/a6f0688bbf353c28f48c63f346278011
-
[Dev] Destructible Building (type 33)
gen1us2k replied to Auntie Mangos's topic in OldCore modifications
need up-to-date -
??? have you changed this file for you? google for 500 internal server error
-
so .. sorry .. mangos now officially supports 3,2,2 and 3,3,0, or switched to? Have not dealt with mangos and histori-project commits read broke:) Shl thanks for added me:)
-
U can seat on tanks but its works nemnogo koryavo in Ulduar vehicles operate so. you can ride on them you can shoot but they have not filled with energy
-
here my vehicle data.... http://pastie.org/740244 Vehicles in Ulduar works normally (pa4ti) be useful
-
ulduar's vehicle done... look for correctly work ulduar vehicles
-
So, I understood that basically vehicles in Ulduar are realized ... all vehicles are working normally ... It's only deal with spawn left. PS now I'm picking base of 3x repositories ... repository Kicho, current repository and the base with an alternative kernel ... PPS I don't want to put trinitycore2 because there already almost is done ... It's better to look at code
-
tnx... really,,, The Argent Tournament is works i take data from http://github.com/kicho/vehicle/raw/master/sql/Vehicle/mangos_vehicle_sql.sql and ulduar'd vehicle works... but.... O see them on;y why I'm in GM mode...
-
compiled... allied updates from mangos & vehicle.... @ ulduar its dont work... @ wintergrasp too I think that vehicles dont work on me petbat ok.... I'll see ur sql file.,,, vehicles dont work.,,, maybe i not correct pacthed my database? O_o
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®