Jump to content

Doixdd

Members
  • Posts

    8
  • Joined

  • Last visited

    Never
  • Donations

    0.00 GBP 

Everything posted by Doixdd

  1. MOVEMENTFLAG_JUMPING is not used anymore, now its SPLINEFLAG_TRAJECTORY < but this flag causes client side crashes, so just use SPLINEFLAG_FALLING (it has the same animation - more or less) heres my patch @@ -2489,10 +2489,27 @@ void Spell::EffectDummy(SpellEffectIndex eff_idx) } m_caster->CastCustomSpell(m_caster, 45470, &bp, NULL, NULL, true); return; } + //Death Grip - Lacking propper Jump/Leap (EffectJump - implementation) + else if (m_spellInfo->Id == 49576) + { + if (!unitTarget) + return; + + m_caster->CastSpell(unitTarget, 49560, true); + return; + } + else if (m_spellInfo->Id == 49560) + { + if (!unitTarget) + return; + + unitTarget->CastSpell(m_caster->GetPositionX(), m_caster->GetPositionY(), m_caster->GetPositionZ(), m_spellInfo->CalculateSimpleValue(EFFECT_INDEX_0), true); + return; + } break; } } // pet auras @@ -2731,13 +2748,12 @@ void Spell::EffectTriggerMissileSpell(SpellEffectIndex effect_idx) m_caster->CastSpell(m_targets.m_destX, m_targets.m_destY, m_targets.m_destZ, spellInfo, true, m_CastItem, 0, m_originalCasterGUID); } void Spell::EffectJump(SpellEffectIndex eff_idx) { - if(m_caster->isInFlight()) + if(!unitTarget || m_caster->isInFlight()) return; - // Init dest coordinates float x,y,z,o; if(m_targets.m_targetMask & TARGET_FLAG_DEST_LOCATION) { x = m_targets.m_destX; @@ -2775,11 +2791,13 @@ void Spell::EffectJump(SpellEffectIndex eff_idx) { sLog.outError( "Spell::EffectJump - unsupported target mode for spell ID %u", m_spellInfo->Id ); return; } - m_caster->NearTeleportTo(x, y, z, o, true); + float time = 1.0f; + // m_caster->NearTeleportTo(x, y, z, o, true); + m_caster->SendMonsterMove(x, y, z, SPLINETYPE_NORMAL, SPLINEFLAG_FALLING, time); } void Spell::EffectTeleportUnits(SpellEffectIndex eff_idx) { if(!unitTarget || unitTarget->isInFlight()) @@ -2771,10 +2771,12 @@ void Spell::EffectJump(SpellEffectIndex eff_idx) pTarget = m_caster->getVictim(); else if(m_caster->GetTypeId() == TYPEID_PLAYER) pTarget = ObjectAccessor::GetUnit(*m_caster, ((Player*)m_caster)->GetSelection()); o = pTarget ? pTarget->GetOrientation() : m_caster->GetOrientation(); + + m_caster->NearTeleportTo(x, y, z, o, true); // forgot to add this from my original patch... sorry my mistake } else o = m_caster->GetOrientation(); } else if(unitTarget) It's based on rev 10064, (the first patch is for Death Grip itself, the second if cuz i forgot to add something to the first patch and im too lazy to merge them) and it's the short version of my EffectJump implementation for mangos, it was working fine except of the flag i mentioned before (SPLINEFLAG_TRAJECTORY) which caused client side crashes, and since im hard headed i refused to finish the patch due to that flag (yes i just wanted to use that flag lol) and because the server where i play on doesn't accept too complex patches, hence the trimmed version (which works perfectly - at least none reported any bug with it). §Give credit if you share it further
  2. Indeed, epic Picture! On Topic: This arcane missile bugged combined with the mage's spell power increasing infinite amount of times (when the shield absorbs dmg that is) is really annoying and should be fixed asap
  3. i am using drdamage + im calculating the dmg based on the formulas i have from wowwiki/other sources, the dmg is just too low in anything (critters included) so its the spell formula in the core
  4. Hi guys , i'm trying to learn how to fix spells and stuff in mangos(for my own c++ skill increasing). I am having problems with some spells that deal low dmg, for example: Blood Strike does almost 50% less dmg it should, i browsed trough spelleffects.cpp spell.pp and other files, i found the part where the spell is tackled, and i did this: 1. modified the formula, increasing the bonus 2. deleting the whole thread inserting my own code 3. deleted part of the DK spells in those files >.< and made my own Death Knight Blood Strike None of them worked, no dmg increase/decrease nothing there.. oh i also tried adding "juice" in the spell_bonus_data again.. no use . Maybe any of you have an idea where/what/how to modify ~Thank you very much, Eddie(DoiX)
  5. Well... i dont get why a spell should be db related since the formula is a bit more complex: Heal = (level*15) + 35 + (SP or AP) < db has "OR" option to choose the highest stat?
  6. Well.. i checked that table.. "gift of the naaru" is not there any other hint?
  7. thank you very much heres what i manage to do about 1 hours after i posted this Unit.cpp Line: 359 /* Original code */ ///* Called by DealDamage for auras that have a chance to be dispelled on damage taken. */ //void Unit::RemoveSpellbyDamageTaken(AuraType auraType, uint32 damage) //{ // if(!HasAuraType(auraType)) // return; // // // The chance to dispel an aura depends on the damage taken with respect to the casters level. // uint32 max_dmg = getLevel() > 8 ? 25 * getLevel() - 150 : 50; // with this formula it breaks at every dmg.. bigger than > 50 (more or less) the cap is so low it doesnt get a change to /roll // float chance = float(damage) / max_dmg * 100.0f; // if (roll_chance_f(chance)) // RemoveSpellsCausingAura(auraType); //} /* Called by DealDamage for auras that have a chance to be dispelled on damage taken. */ void Unit::RemoveSpellbyDamageTaken(AuraType auraType, uint32 damage) { if(!HasAuraType(auraType)) return; // The chance to dispel an aura depends on the damage taken with respect to the casters level. uint32 max_dmg = getLevel() * 2450 / 80; // tried to make it break according to what i saw on youtube.. and this cap seems to be the optimum one float chance = float(damage) / max_dmg * 100.0f; if (roll_chance_f(chance)) RemoveSpellsCausingAura(auraType); } Line: 734 /* Original code */ // polymorphed and other negative transformed cases // if(pVictim->getTransForm() && pVictim->hasUnitState(UNIT_STAT_CONFUSED)) // pVictim->RemoveAurasDueToSpell(pVictim->getTransForm()); // polymorphed, hex and other negative transformed cases if(pVictim->getTransForm() && pVictim->HasAuraType(SPELL_AURA_MOD_CONFUSE)) pVictim->RemoveAurasDueToSpell(pVictim->getTransForm()); else if (pVictim->HasAuraType(SPELL_AURA_MOD_PACIFY_SILENCE)) pVictim->RemoveSpellbyDamageTaken(SPELL_AURA_MOD_PACIFY_SILENCE, damage); Im using it on my server right now... and it works well i tested all the spells i could think of that breaks on dmg/should break it works this is my first try but hey.. if its good enough maybe it will get implemented in mangos Part 2: Gift of the Naaru I've noticed its bugged and does not benefit from Spell Power or Attack Power and for the last couple of hours i've been browsing the source code for that spell but i didnt found it -.-' can someone give me a hint(not a fix) where i should look, maybe even the line? Thank You
  8. Hey guys, my c++ skills recently increased enough to understand enough from mangos code, but i want to learn more. On the server i play people are complaining from getting ganked under the hex effect so i wanna give a try at fixing it.. the problem is i can't find the actual hex code line.. can anyone help me with this? (i know theres a fix for it.. but i wanna try on my own ) P.S Sorry if i posted this in the wrong section..
×
×
  • 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