Jump to content

amaru

Members
  • Posts

    80
  • Joined

  • Last visited

    Never
  • Donations

    0.00 GBP 

Everything posted by amaru

  1. see function IsMountAllowed() in MapEntry struct in DBCStructure.h
  2. Just go on a zeppelin, do NOT move and watch for creatures nearby...they will all disappear because the client does not send movement updates and so the server thinks you are still standing where the zeppelin started. There's only some commented code in Transport::Update(), i guess i didn't really work, since no one implemented the actualy spline movement, so positions would be far off anyway. Actually, they disappear because transport in server-side uses waypoints, and servers sends update data when this waypoint is reached. (Client has exact coordinates of transport every time) This means, when you are about to reach waypoint X, creature data and transport go data still matches coordinates as if in waypoint X-1. When you try to move or change orientation, new movementinfo is received from client, which makes your player relocate. In most cases distance between those two waypoints is larger than visibility distance in map, so npcs disappear. However, if you see npcs on transport and stand still, they wont disappear, that's because player movementinfo updates only upon reaching waypoint. In trinity there is a bad hack, which makes transport and npc on in relocate on every movementinfo send from any passenger on it, transport position taken from it. If you move everytime, you will see the npcs But if you fly nearby and follow transport path, they will disappear eventually. Perhaps, with SilverIce's spline movement somebody can fix transport update system.
  3. there should be no connection between modOwner and GetTotalAuraModifier
  4. SPELL_AURA_MOD_DISPEL_RESIST should be taken from target Spells with that aura 33206 Pain Suppression 43570 Frost State 63408 Barkskin 63409 Barkskin
  5. perhaps, these crashes are because of rsa's pet's rewrite ?
  6. good idea. stealth auras removal must definitely be done through procs. for example, one can make stealth not be removed by absorbed dots (off-like) but: - you did not remove removal () of stealth auras in Spell:DoSpellHitOnUnit - many stealth auras, e.g. Prowl 5215, 6783, 9913 have AURA_INTERRUPT_FLAG_DAMAGE, so your patch will do nothing for them
  7. the reason that delayed spells reflect with no damage is that their damage is calculated in void Spell::HandleDelayedSpellLaunch, and it does not calculate reflects it should be done like this ......... if (missInfo == SPELL_MISS_REFLECT) unitTarget = caster; // Fill base damage struct (unitTarget - is real spell target) SpellNonMeleeDamage damageInfo(caster, unitTarget, m_spellInfo->Id, m_spellSchoolMask); if (missInfo == SPELL_MISS_NONE || missInfo == SPELL_MISS_REFLECT && target->reflectResult == SPELL_MISS_NONE) { for (int32 effectNumber = 0; effectNumber < MAX_EFFECT_INDEX; ++effectNumber) { ..........
  8. + // Item conversion + if(QueryResult *result2 = WorldDatabase.Query("SELECT alliance_id, horde_id FROM player_factionchange_items")) + { + do + { + Field *fields2 = result2->Fetch(); + uint32 item_alliance = fields2[0].GetUInt32(); + uint32 item_horde = fields2[1].GetUInt32(); + CharacterDatabase.PExecute("UPDATE `character_inventory` set item = '%u' where item = '%u' AND guid = '%u'", + team == BG_TEAM_ALLIANCE ? item_alliance : item_horde, team == BG_TEAM_ALLIANCE ? item_horde : item_alliance, guid); + + CharacterDatabase.PExecute("UPDATE `item_instance` SET `data`=CONCAT(CAST(SUBSTRING_INDEX(`data`, ' ', 3) AS CHAR), ' ', '%u', ' ', CAST(SUBSTRING_INDEX(`data`, ' ', (3-64))AS CHAR)) WHERE CAST(SUBSTRING_INDEX(SUBSTRING_INDEX(`data`, ' ', 4), ' ', '-1') AS UNSIGNED) = '%u' AND owner_guid = '%u'", + team == BG_TEAM_ALLIANCE ? item_alliance : item_horde, team == BG_TEAM_ALLIANCE ? item_horde : item_alliance, GUID_LOPART(guid)); + } + while( result2->NextRow() ); + } CharacterDatabase.PExecute("UPDATE `character_inventory` set item = '%u' where item = '%u' AND guid = '%u'", i guess here must be set item_template ... where item_template ...
  9. the reason that damage of corruption does not increase is because of bad data in dbc EffectClassMask // Everlasting Affliction case 47201: case 47202: case 47203: case 47204: case 47205: { spell->EffectSpellClassMaskB[0] = 2; spell->EffectSpellClassMaskB[1] = 256+16; break; }
×
×
  • 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