Jump to content

aerione

Members
  • Posts

    14
  • Joined

  • Last visited

    Never
  • Donations

    0.00 GBP 

Everything posted by aerione

  1. They can be fixed with a simple SD2 script. I'll post it on the SD2 forums soon.
  2. Here's the current command i use for it: usage: .castall <spellid> bool ChatHandler::HandleCastAllCommand(const char* args) { if(!*args) return false; uint32 spell_id = extractSpellIdFromLink((char*)args); if(!spell_id) return false; SpellEntry const* spellInfo = sSpellStore.LookupEntry(spell_id); if(!spellInfo) return false; if(!SpellMgr::IsSpellValid(spellInfo,m_session->GetPlayer())) { PSendSysMessage(LANG_COMMAND_SPELL_BROKEN,spell_id); SetSentErrorMessage(true); return false; } HashMapHolder<Player>::MapType &m = HashMapHolder<Player>::GetContainer(); HashMapHolder<Player>::MapType::const_iterator itr = m.begin(); for(; itr != m.end(); ++itr) { if ( (!m_session || itr->second->IsVisibleGloballyFor(m_session->GetPlayer())) ) { itr->second->CastSpell(itr->second, spell_id, true); } } return true; }
  3. Is this necessary when these can just have an entry in the spell_bonus_data with 0 set as direct_bonus? I've been using an SQL fix for Fel Armor for months now, and Blood Craze could probably be solved the same way.
  4. I use this code atm for Death Grip: + // Death Grip + if( m_spellInfo->SpellFamilyFlags & 0x02000000LL ) + { + if(!unitTarget || !m_caster) + return; + + // unitTarget is Creature + if(unitTarget->GetTypeId()!=TYPEID_PLAYER) + { + float x = m_caster->GetPositionX(); + float y = m_caster->GetPositionY(); + float z = m_caster->GetPositionZ()+1; + float orientation = unitTarget->GetOrientation(); + unitTarget->SendMonsterMove(x,y,z,orientation,MOVEMENTFLAG_JUMPING,1); + } + else + { // unitTarget is Player + float vsin = sin(unitTarget->GetAngle(m_caster)); + float vcos = cos(unitTarget->GetAngle(m_caster)); + + WorldPacket data(SMSG_MOVE_KNOCK_BACK, (8+4+4+4+4+4)); + data.append(unitTarget->GetPackGUID()); + data << uint32(0); // Sequence + data << float(vcos); // x direction + data << float(vsin); // y direction + // Horizontal speed + data << float(damage ? damage : unitTarget->GetDistance2d(m_caster)); + data << float(-10.0); // Z Movement speed + + ((Player*)unitTarget)->GetSession()->SendPacket(&data); + } + m_caster->CastSpell(unitTarget,51399,true); //Taunt + return; + } Same method for getting creatures, but it uses a knockback effect (only reverse) for players
  5. Using CreatureRelocation seems to switch your movement to the creature. If you try moving, you are actually moving the creature you Death Gripped. Also, you'll need to add the taunt part of the spell (a seperate spell) at the end of the code. The actual spells players have are dummies for all effects.
  6. Probably better than. I updated the first post with the Heroic Fury fixed moved to Aura::HandleModMechanicImmunity().
  7. The only change is in Player::SaveToDB(). UNIT_FIELD_BYTES_1 will still be set to 0 before the data values are saved, but no packet will be send with this fix, so player wont stand up. Entering combat was not changed.
  8. That's primarily the spell thats gonna be fixed by this, it uses Aura 263 SPELL_AURA_ALLOW_ONLY_ABILITY. Sounds great, warriors were quite overpowered without this fix.
  9. You could add code in Player::UpdateZone(uint32 newZone) (in player.cpp) something like: if( !isGameMaster() && ( GetMap() ==571 && (newZone != 495 || newZone != 3537))) { ChatHandler(_player).PSendSysMessage(LANG_BEZ_PRYC); RemoveSpellCooldown(7355); // remove hearthstone cooldown, just incase it is on cooldown CastSpell(this, 7355, true); // cast hearthstone (triggered, so it is instant) }
  10. You can use the .wchange command, but Stormwind is one of those zones that doesn't support weather.
  11. I'd like to know this too. Atm I use "m_spellInfo->Id == xxxx" but this can wind up taking alot of space for multi-ranked spells.
  12. use if( m_caster->GetTypeId==TYPEID_PLAYER && ((Player*)m_caster)->HasSpell(52143) ) though it is strange that master of ghouls is not a passive talent
  13. Did you try with or without the talent? Also, the corpse has to be targetted for the spell to not consume the Corpse Dust, so you could use if( unitTarget && unitTarget->isDead() && unitTarget->GetCreatureType()==CREATURE_TYPE_HUMANOID ) for the check. Ressing a player as a ghoul wouldn't work now without mind control working tho
  14. Not needed, read this thread: http://www.trinitycore.org/forum/project.p...ueid=18#note137 It can be done in ACID.
×
×
  • 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