gen1us2k
Members-
Posts
20 -
Joined
-
Last visited
Never -
Donations
0.00 GBP
Content Type
Profiles
Bug Tracker
Wiki
Release Notes
Forums
Downloads
Blogs
Events
Everything posted by gen1us2k
-
[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
-
but... I understood one thing. I got a clean source... Then git pull git://github.com/Tasssadar/Valhalla-Project.git vehicle then patch -p1 -l <dua.patch now compiling... then testing... and I notices 3-4 SQL errors,,, but a made vehicle.pacth as diff master vehicle.... Well ... see how It Will work sorry for my bad English is difference as I apply updates from vehicles previous to MaNGOS updates or not?
-
Im recompiled 5 times... doesn't work... maybe i do anything wrong ,,, Ok I test now another way
-
git clone git://github.com/mangos/mangos.git cd mangos git checkout -b vehicle git pull git://github.com/Tasssadar/Valhalla-Project.git vehicle git diff -p master vehicle > vehicle.patch cp vehicle.patch ../path/to/your/patches git checkout master patch -p1 -l < ../path/to/your/patches/dualspec.patch patch -p1 -l < ../path/to/your/patches/vehicle.patch I do so...
-
MaNGOS rev 8913.. U dont need patches... ITs work perfectly... Clean sources
-
NetSky Maybe you give link to your git repo?
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®