Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Core/Spells] Dancing Rune Weapon #6192

Closed
Amit86 opened this issue Apr 13, 2012 · 59 comments
Closed

[Core/Spells] Dancing Rune Weapon #6192

Amit86 opened this issue Apr 13, 2012 · 59 comments

Comments

@Amit86
Copy link
Contributor

Amit86 commented Apr 13, 2012

Below may be not valid anymore, here's more fresh description of what is broken here #21538 + #25675
#6192 (comment) and in comments below
Abandoned PRs #16281 #23191

--

This spell was recently ( 24b699d ) fixed, but I am getting these log errors:

2012-04-13 08:31:43 ERROR: Unit::HandleDummyAuraProc: Spell 49028 has non-existing triggered spell 1206
2012-04-13 08:31:43 ERROR: Unit::HandleDummyAuraProc: Spell 49028 has non-existing triggered spell 1206
...

Using hash 4daafd0

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

@Vincent-Michael
Copy link
Contributor

Vincent-Michael commented Apr 13, 2012

is dbc problem ...

#16281 << needs test.

@Pikalou
Copy link

Pikalou commented Apr 16, 2012

Is this fixing the diseases problem? Now the DRW reproduce the attack like IT and PS but doesn't apply the dot's!
When we know that the damage of the HS depends of the number of diseases on the target and we've only half of these.

@jameyboor
Copy link

confirmed

@Merlin2010
Copy link

Merlin2010 commented May 2, 2012

Fix (sorry, cannot did this as diff due to core differences):

Unit.cpp:

            // Dancing Rune Weapon
            if (dummySpell->Id == 49028)
            {
                // 1 dummy aura for dismiss rune blade
                if (effIndex != 1)
                    return false;

                Unit* pPet = NULL;
                for (ControlList::const_iterator itr = m_Controlled.begin(); itr != m_Controlled.end(); ++itr) // Find Rune Weapon
                    if ((*itr)->GetEntry() == 27893)
                    {
                        pPet = *itr;
                        break;
                    }

                // special abilities damage
                if (pPet && pPet->getVictim() && damage && procSpell)
                {
                    pPet->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
                    pPet->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
                    uint32 procDmg = damage / 2;
                    pPet->SendSpellNonMeleeDamageLog(pPet->getVictim(), procSpell->Id, procDmg, GetSpellSchoolMask(procSpell), 0, 0, false, 0, false);
                    pPet->DealDamage(pPet->getVictim(), procDmg, NULL, SPELL_DIRECT_DAMAGE, GetSpellSchoolMask(procSpell), procSpell, true);
                    break;
                }
                else // copy 50% melee damage
                if (pPet && pPet->getVictim() && damage && !procSpell)
                {
                        CalcDamageInfo damageInfo;
                        CalculateMeleeDamage(pPet->getVictim(), 0, &damageInfo, BASE_ATTACK);
                        damageInfo.attacker = pPet;
                        damageInfo.damage = damageInfo.damage / 2;
                        // Send log damage message to client
                        pPet->DealDamageMods(pPet->getVictim(),damageInfo.damage,&damageInfo.absorb);
                        pPet->SendAttackStateUpdate(&damageInfo);
                        pPet->ProcDamageAndSpell(damageInfo.target, damageInfo.procAttacker, damageInfo.procVictim, damageInfo.procEx, damageInfo.damage, damageInfo.attackType);
                        pPet->DealMeleeDamage(&damageInfo,true);
                }
                else
                    return false;
            }

SQL:

    INSERT INTO `spell_proc_event` (entry, procFlags) VALUES
    ('49028','69652');

Works like a charm (blizzlike).

@Null45
Copy link

Null45 commented Jun 4, 2012

not working:)

@Merlin2010
Copy link

Very informative comment. Works on my server, did you replaced the code block?

@Null45
Copy link

Null45 commented Jun 4, 2012

Yep. I mean, that diseases cast is not working. Also, DRW cast only blood strike ability

@Merlin2010
Copy link

SQL query should be applied too.

@Null45
Copy link

Null45 commented Jun 5, 2012

Ofc, I apply query statement. Not working

@asdyy
Copy link

asdyy commented Jun 9, 2012

bump!

@nerv234
Copy link

nerv234 commented Jun 10, 2012

This patch work for me when i aplied this patch and sql, but doesn't remove drw's autoatack (1-8dmg) so you must set unitflag pacified for creature rune weapon.

@Pikalou
Copy link

Pikalou commented Jun 12, 2012

On the serv I play, the resistance of the drw is ridiculous. Any aoe kill it.

Is there a fix for this or you don't have this problem?

@nerv234
Copy link

nerv234 commented Jun 12, 2012

You must set UNIT_FLAG_NON_ATTACKABLE in creature template for rune weapon.

@Merlin2010
Copy link

Pikalou, there is already in the patch:

pPet->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
pPet->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);

@Pikalou
Copy link

Pikalou commented Jun 12, 2012

oki thx ;-)

@ghost ghost assigned Subv Nov 18, 2012
@avengerweb
Copy link
Contributor

any news?

@nerv234
Copy link

nerv234 commented Jan 17, 2013

Only one issue that is left for me to fix is diseases(damage should be 50% od original diseases, And diseases stops do damage after rune is dismissed).

@digz6666
Copy link

digz6666 commented Apr 8, 2013

Confirmed!

@Star-lion
Copy link
Contributor

you're probably using the wrong spells.

@nerv234
Copy link

nerv234 commented Apr 8, 2013

Kaendra you don't say There isn't problem with wrong spell, Becouse for example frost fever (dmg: 0.32_lvl_1.15+ 0.055_AP_1.15) is correct spell for dk, and i don't find any spell with effect_0 that have 50% of effect_0 of dk's spell and the same name). Of course there is problem with aura system, that doesn't allow to deal damage without owner beeing present.

@nerv234
Copy link

nerv234 commented Apr 8, 2013

And i'll be faster, for research i'm using spellwork.

@Faq
Copy link
Contributor

Faq commented Aug 24, 2013

@nerv234 any research results?

@nerv234
Copy link

nerv234 commented Aug 24, 2013

I have enough informations, but i need time, The only one thing to do is rewrite aura system to make it allow deal damage after disapearing owner(rune).

@ghost
Copy link

ghost commented Jul 21, 2014

confirm doesnt work rev: 2b88b49

@Pirricli
Copy link
Contributor

It doesn't work yet at commit:

0bad996

@ikir83
Copy link

ikir83 commented Jan 12, 2016

Yes as you all know i can confirm still happens

ccrs added a commit to ccrs/TrinityCore that referenced this issue Jan 16, 2016
ccrs added a commit to ccrs/TrinityCore that referenced this issue Jan 16, 2016
ccrs added a commit to ccrs/TrinityCore that referenced this issue Jan 17, 2016
ccrs added a commit to ccrs/TrinityCore that referenced this issue Jan 22, 2016
ccrs added a commit to ccrs/TrinityCore that referenced this issue Feb 25, 2016
@mayaren888
Copy link

@ccrs

my pet_dk_rune_weapon Each attack damage value =1?
Where is the problem?
4fbffab

@massivezs
Copy link

massivezs commented May 8, 2016

@mayaren888
Because your DRW pet hasn't deffined 50% copy of your autoattack damage from crit or noncrit damage > Trinity have bad spellscript for aura Death Knight Rune Weapon Scaling 02 which you can see here
https://github.com/TrinityCore/TrinityCore/blob/3.3.5/src/server/scripts/Spells/spell_pet.cpp
The biggest problem in the definitions is only the damage is comprised dead inside a file spell_pet.cpp this file already not working at all. Calculations do statsystem. Deleting this file will cause nothing, because pets are coded in the file Statsystem.cpp globally. Each pet there has calculation the Health, Mana, Str, Agi Spell Damage. Unfortunatelly this is bad way how to fix those calculations. Codes which are located in https://github.com/TrinityCore/TrinityCore/blob/3.3.5/src/server/scripts/Spells/spell_pet.cpp should be in class scripts e.g. in spell_dk.cpp or spell_warlock.cpp or spell_hunter.cpp maybe looks better for me. But it needs rewrite Statsystem and you will need create new codes in Unit.cpp Unit.h maybe spellauraeffect for all sripted auras.
Before a year ago maybe more I or Another next posts this link http://pastebin.com/JDmVJzx5 This solution is relatively correct. There are a few mistakes because the core had undergone major fixing over the years, but they are not so important. It's just the principle of the solution. If you look Aura here You can see 3 effects 1st is SPELL_AURA_MOD_DAMAGE_DONE calculation pet damage for your DRW spells from your spells and base attack. 2nd is SPELL_AURA_MELEE_SLOW attack speed and 3th SPELL_AURA_MOD_DAMAGE_PERCENT_DONE this calculate percentable -50 of DK damage
DRW code in Unit.cpp is brutal hack ... eg now When you use in activated DRW spell RUNE TAP - IT'S DK heal but your DRW Hit victim target with rune tap :D and if you have a tank eq you can hit with your drw more than your spells via spell rune tap used in drw :)

@hlainin
Copy link

hlainin commented Nov 13, 2016

Good evening. Need your help. I used a hack to fix a Rune Weapon. Now I can't paste the code in Unit.cpp. Can't find where to. Please tell me where to insert. Thanks in advance for your help.

@ccrs
Copy link
Contributor

ccrs commented Nov 13, 2016

lul

@hlainin
Copy link

hlainin commented Nov 13, 2016

ccrs
If you have no desire to help, then don't write your "lul"

@ariel-
Copy link
Contributor

ariel- commented Nov 13, 2016

This is not a forum

@ghost
Copy link

ghost commented Nov 13, 2016

Regarding previous fix suggestions to this issue, note that TDB 335 no longer uses spell_proc_event.
This change was implemented in commit 2ff8550 (Core/Scripts: Convert spells to new proc system)

@Regrad
Copy link

Regrad commented Nov 24, 2017

Any temporary fix? The ability does not work at all, is there any way to fix it, albeit not quite right?

@ghost
Copy link

ghost commented Nov 24, 2017

At the moment, I don't know of any other solution than the open PR Core/Spells: Dancing Rune Weapon #16281

@Regrad
Copy link

Regrad commented Nov 24, 2017

There is no solution for several years. This is very bad. Even a workaround would be good. #16281 not working at the moment. Too many changes.

@ghost
Copy link

ghost commented Nov 24, 2017

Well, then we need someone with enough time and skills to write a new PR suggestion.

@sawd20
Copy link

sawd20 commented Nov 26, 2020

@offl maybe we should open a new ticket for this isuue because no one worked on this lately maybe a new ticket ncourage to work on it. Its a core spell for blood dk and its important i think

@offl
Copy link
Contributor

offl commented Nov 27, 2020

Dunno, that's not common practice here
I added links to another issues and PRs in the description
This issue can be closed only if new will be filled with literally everything useful from comments here and from another issues and PRs and with links to PRs

To encourage people a bounty can be added and priority label added if more people can agree this is high-priority issue
Personally I think only description here should be updated because it's 8yo issue and nobody yet updated the description

@ccrs
Copy link
Contributor

ccrs commented Aug 20, 2021

3e886c5

@ccrs ccrs closed this as completed Aug 20, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests