Jump to content

Christian Schamara

Members
  • Posts

    586
  • Joined

  • Last visited

  • Donations

    0.00 GBP 

Everything posted by Christian Schamara

  1. Thanks i need Send Item or Money to the TABLE mail_external and mail_external_items
  2. you forgot ..\\..\\..\\..\\..\\dep\\ACE_wrappers\\ in luascript.sln AdditionalIncludeDirectories="..\\..\\..\\src\\shared;..\\..\\..\\src\\framework;..\\..\\..\\dep\\include;.\\;.\\lua\\include;"\\ ..\\..\\dep\\include";.\\lua\\src;..\\..\\..\\src\\mangosd;..\\..\\..\\src\\game;".\\cpp-scripts"..\\..\\..\\..\\..\\dep\\ACE_wrappers\\"
  3. git clone git://github.com/mangos/mangos.git cd mangos git pull git://github.com/Salja/mangos.git Vehicles
  4. it truly better that would be completely again from scratch to Beguines
  5. The big Problem is the Vehicle Patch is fully broken, we need complet new Patch.
  6. No Darkruler look in my Commits i have CleanUps and other Fixes and the Patch need more Clean
  7. Thanks Fixed http://github.com/Salja/mangos/commit/d15909af4b8758703cca33fa715c32ec74a56cc2
  8. My Repo is for Mangos Basic Core
  9. http://github.com/Salja/mangos/commit/555ab1807ff5dd3eff1088ef943bdd2449911147 http://github.com/Salja/mangos/commit/dcb35b282811d4a61387d0eaf71c4283fe0cfd68
  10. This Thread is for Vehicles and not for DualSpec
  11. git clone git://github.com/mangos/mangos.git cd mangos git pull git://github.com/Salja/mangos.git Vehicles
  12. http://github.com/Salja/mangos/tree/Vehicles
  13. @Darkruler Tasssadar Branch have not Support for Arena Turnement, traponinet patches have more Support for vehicles.
  14. traponinet can you make Pls a Full Patch for all new Updates Thanks.
  15. DeathKnight is forgot in the first Patch and not work
  16. Support for DeathKnight diff --git a/src/game/CharacterHandler.cpp b/src/game/CharacterHandler.cpp index 68754d8..f5acf06 100644 --- a/src/game/CharacterHandler.cpp +++ b/src/game/CharacterHandler.cpp @@ -340,7 +340,7 @@ uint32 priest = sWorld.getConfig(CONFIG_UINT32_PRIEST_ENABLE); uint32 shaman = sWorld.getConfig(CONFIG_UINT32_SHAMAN_ENABLE); uint32 mage = sWorld.getConfig(CONFIG_UINT32_MAGE_ENABLE); uint32 warlock = sWorld.getConfig(CONFIG_UINT32_WARLOCK_ENABLE); - +uint32 deathknight = sWorld.getConfig(CONFIG_UINT32_DEATH_KNIGHT_ENABLE); uint32 dwarf = sWorld.getConfig(CONFIG_UINT32_DWARF_ENABLE); uint32 gnome = sWorld.getConfig(CONFIG_UINT32_GNOME_ENABLE); @@ -402,7 +402,12 @@ if(warlock == 0 && class_ == CLASS_WARLOCK) SendPacket( &data ); return; } - +if(deathknight == 0 && class_ == CLASS_DEATH_KNIGHT) + { + data << (uint8)CHAR_CREATE_DISABLED; + SendPacket( &data ); + return; + } if(dwarf == 0 && race_ == RACE_DWARF) { diff --git a/src/game/World.cpp b/src/game/World.cpp index 05e6b9e..0f8ef0f 100644 --- a/src/game/World.cpp +++ b/src/game/World.cpp @@ -579,6 +579,7 @@ void World::LoadConfigSettings(bool reload) setConfig(CONFIG_UINT32_SHAMAN_ENABLE, "Shaman.Character.Enable", 0); setConfig(CONFIG_UINT32_MAGE_ENABLE, "Mage.Character.Enable", 0); setConfig(CONFIG_UINT32_WARLOCK_ENABLE, "Warlock.Character.Enable", 0); + setConfig(CONFIG_UINT32_DEATH_KNIGHT_ENABLE, "DeathKnight.Character.Enable", 0); setConfig(CONFIG_UINT32_DWARF_ENABLE, "Dwarf.Character.Enable", 0); setConfig(CONFIG_UINT32_GNOME_ENABLE, "Gnome.Character.Enable", 0); diff --git a/src/game/World.h b/src/game/World.h index 6ea9a18..1d774ac 100644 --- a/src/game/World.h +++ b/src/game/World.h @@ -187,6 +187,7 @@ enum eConfigUInt32Values CONFIG_UINT32_SHAMAN_ENABLE, CONFIG_UINT32_MAGE_ENABLE, CONFIG_UINT32_WARLOCK_ENABLE, + CONFIG_UINT32_DEATH_KNIGHT_ENABLE, CONFIG_UINT32_DWARF_ENABLE, CONFIG_UINT32_GNOME_ENABLE, CONFIG_UINT32_HUMAN_ENABLE, -- 1.7.0.2
  17. EDIT: Credits go to jizar diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp index b0acd37..6d67881 100644 --- a/src/game/Spell.cpp +++ b/src/game/Spell.cpp @@ -2197,6 +2197,11 @@ void Spell::SetTargetMap(SpellEffectIndex effIndex, uint32 targetMode, UnitList& { // add here custom effects that need default target. // FOR EVERY TARGET TYPE THERE IS A DIFFERENT FILL!! + if (m_spellInfo->SpellFamilyFlags2 & UI64LIT (0x00000020) && m_spellInfo->SpellIconID == 3217) + { + targetUnitMap.push_back(m_caster); + break; + } switch(m_spellInfo->Effect[effIndex]) { case SPELL_EFFECT_DUMMY: @@ -3995,7 +4000,9 @@ SpellCastResult Spell::CheckCast(bool strict) return SPELL_FAILED_CASTER_AURASTATE; // Caster aura req check if need - if(m_spellInfo->casterAuraSpell && !m_caster->HasAura(m_spellInfo->casterAuraSpell)) + if(m_spellInfo->casterAuraSpell && + sSpellStore.LookupEntry(m_spellInfo->casterAuraSpell) && + !m_caster->HasAura(m_spellInfo->casterAuraSpell)) return SPELL_FAILED_CASTER_AURASTATE; if(m_spellInfo->excludeCasterAuraSpell) { diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp index 35362de..2df7592 100644 --- a/src/game/SpellAuras.cpp +++ b/src/game/SpellAuras.cpp @@ -1229,6 +1229,38 @@ bool Aura::_RemoveAura() return true; } +void Aura::SendFakeAuraUpdate(uint32 auraId, bool remove) +{ + WorldPacket data(SMSG_AURA_UPDATE); + data << m_target->GetPackGUID(); + data << uint8(64); + data << uint32(remove ? 0 : auraId); + + if(remove) + { + m_target->SendMessageToSet(&data, true); + return; + } + + uint8 auraFlags = GetAuraFlags(); + data << uint8(auraFlags); + data << uint8(GetAuraLevel()); + data << uint8(m_procCharges ? m_procCharges : m_stackAmount); + + if(!(auraFlags & AFLAG_NOT_CASTER)) + { + data << uint8(0); // pguid + } + + if(auraFlags & AFLAG_DURATION) + { + data << uint32(GetAuraMaxDuration()); + data << uint32(GetAuraDuration()); + } + + m_target->SendMessageToSet(&data, true); +} + void Aura::SendAuraUpdate(bool remove) { WorldPacket data(SMSG_AURA_UPDATE); @@ -4474,6 +4506,19 @@ void Aura::HandleModMechanicImmunity(bool apply, bool /*Real*/) m_target->ApplySpellImmune(GetId(),IMMUNITY_MECHANIC,misc,apply); + // Demonic Circle + if (GetSpellProto()->SpellFamilyName == SPELLFAMILY_WARLOCK && GetSpellProto()->SpellIconID == 3221) + { + if (m_target->GetTypeId() != TYPEID_PLAYER) + return; + if (apply) + { + GameObject* obj = m_target->GetGameObject(48018); + if (obj) + if (m_target->IsWithinDist(obj,GetSpellMaxRange(sSpellRangeStore.LookupEntry(GetSpellProto()->rangeIndex)))) + ((Player*)m_target)->TeleportTo(obj->GetMapId(),obj->GetPositionX(),obj->GetPositionY(),obj->GetPositionZ(),obj->GetOrientation()); + } + } // Bestial Wrath if (GetSpellProto()->SpellFamilyName == SPELLFAMILY_HUNTER && GetSpellProto()->SpellIconID == 1680) { @@ -4745,6 +4790,21 @@ void Aura::HandleAuraPeriodicDummy(bool apply, bool Real) } break; } + case SPELLFAMILY_WARLOCK: + { + switch (spell->Id) + { + case 48018: + if (apply) + SendFakeAuraUpdate(62388,false); + else + { + m_target->RemoveGameObject(spell->Id,true); + SendFakeAuraUpdate(62388,true); + } + break; + } + } case SPELLFAMILY_HUNTER: { Unit* caster = GetCaster(); @@ -7855,6 +7915,20 @@ void Aura::PeriodicDummyTick() } break; } + case SPELLFAMILY_WARLOCK: + switch (spell->Id) + { + case 48018: + GameObject* obj = m_target->GetGameObject(spell->Id); + if (!obj) return; + // We must take a range of teleport spell, not summon. + const SpellEntry* goToCircleSpell = sSpellStore.LookupEntry(48020); + if (m_target->IsWithinDist(obj,GetSpellMaxRange(sSpellRangeStore.LookupEntry(goToCircleSpell->rangeIndex)))) + SendFakeAuraUpdate(62388,false); + else + SendFakeAuraUpdate(62388,true); + } + break; case SPELLFAMILY_ROGUE: { switch (spell->Id) diff --git a/src/game/SpellAuras.h b/src/game/SpellAuras.h index fa7d86d..e5c0d82 100644 --- a/src/game/SpellAuras.h +++ b/src/game/SpellAuras.h @@ -294,6 +294,7 @@ class MANGOS_DLL_SPEC Aura void SetAura(bool remove) { m_target->SetVisibleAura(m_auraSlot, remove ? 0 : GetId()); } void SendAuraUpdate(bool remove); + void SendFakeAuraUpdate(uint32 auraId, bool remove); uint8 GetStackAmount() {return m_stackAmount;} void SetStackAmount(uint8 num); diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp index 819db61..24baef9 100644 --- a/src/game/SpellEffects.cpp +++ b/src/game/SpellEffects.cpp @@ -6571,7 +6571,16 @@ void Spell::EffectSummonObject(SpellEffectIndex eff_idx) } // Summon in random point all other units if location present else - m_caster->GetClosePoint(x, y, z, DEFAULT_WORLD_OBJECT_SIZE); + { + if(m_spellInfo->Id == 48018) + { + x = m_caster->GetPositionX(); + y = m_caster->GetPositionY(); + z = m_caster->GetPositionZ(); + } + else + m_caster->GetClosePoint(x, y, z, DEFAULT_WORLD_OBJECT_SIZE); + } Map *map = m_caster->GetMap(); if(!pGameObj->Create(sObjectMgr.GenerateLowGuid(HIGHGUID_GAMEOBJECT), go_id, map, -- 1.7.0.2
  18. New command is not the problem i can help. But first you have to fix these errors before we add new commands If you want I have is a root server, we can then open a forum here, I think the wrong place for it, perhaps we can find people to help us dan PM me when you need
  19. do you have a status for us to go when is it?
  20. yepp and the same errors have you here http://code.google.com/p/mangos-luascript/source/list is the same
  21. it has many errors and does not like the others from other svn 9>c:\\Users\\Salja\\Desktop\\mangos\\src\\framework\\Platform/Define.h(24) : fatal error C1083: file (include) can not be opened: "ace/Basic_Types.h": No such file or directory
  22. have you managed to make it? exactly where you need help?
  23. would no longer are working on this thing?
×
×
  • 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