Jump to content

michalpolko

Members
  • Posts

    311
  • Joined

  • Last visited

  • Donations

    0.00 GBP 

Everything posted by michalpolko

  1. Startup error: is this why proc chance is taken from rank1? how can we change it not to get proc_event from lower rank?
  2. http://www.scriptdev2.com/showthread.php?t=4293&page=22
  3. Someone wants to join The Banned Crew...?
  4. Bump, pls review. I would like to implement it on my repo with official code
  5. Targets TARGET_ALL_ENEMY_IN_AREA (15) includes totem targets. It shouldn't. Many boss spells use this targeting for random target selection (i.e. 63981 shouldn't be cast on a totem, but can be, also 63342 or 57557).
  6. I also have the latest core and sd2 (with those crashfixes) and my server was up for 17h with 200-300 online and then a crash appeared but not related to this issue (something with saving instance_id). So I guess You have some custom stuff that might cause this crash.
  7. Program received signal SIGABRT, Aborted. [switching to Thread 0x418f0950 (LWP 5529)] 0x00007f5f1a774ed5 in raise () from /lib/libc.so.6 #0 0x00007f5f1a774ed5 in raise () from /lib/libc.so.6 #1 0x00007f5f1a7763f3 in abort () from /lib/libc.so.6 #2 0x00007f5f1a76ddc9 in __assert_fail () from /lib/libc.so.6 #3 0x000000000082f039 in Unit::CanReachWithMeleeAttack (this=0x7f5edf792080, pVictim=<value optimized out>, flat_mod=0) at ../../../src/game/Unit.cpp:531 #4 0x0000000000893c77 in CreatureEventAI::DoMeleeAttackIfReady (this=0x7f5edf7eafc0) at ../../../src/game/CreatureEventAI.cpp:1374 #5 0x000000000057ff24 in Creature::Update (this=0x7f5edf792080, update_diff=100, diff=100) at ../../../src/game/Creature.cpp:562 #6 0x0000000000691051 in VisitorHelper<MaNGOS::ObjectUpdater, Creature> (v=@0x418f0050, c=<value optimized out>) at ../../../src/game/Object.h:417 #7 0x000000000068f01d in Map::Update (this=0x3570000, t_diff=@0x7f5eb1ac1b18) at ../../../src/game/../framework/GameSystem/TypeContainerVisitor.h:57 #8 0x000000000068f8c9 in InstanceMap::Update (this=0x1567, t_diff=@0x1599) at ../../../src/game/Map.cpp:1431 #9 0x000000000069f1d2 in MapUpdateRequest::call (this=0x7f5eb1ac1af8) at ../../../src/game/MapUpdater.cpp:47 also mangos problem
  8. assertion fails in Unit::CanReachWithMeleeAttack() (NULL pointer) I thought that it was one of custom scripts on my repo, but I see that You have the same problem... maybe it's somewhere else.
  9. Every spell with "multitargets" targeting will have totems included in targets list.
  10. Looking forward to implementation of this in MoveChase() and SD2, so that creatures would attack from proper distance
  11. Will be used in incoming patch (Dungeon Finder)? ;>
  12. So, this appeared very recently? I don't have such problems.
  13. DaemonCantor, I implemented this patch and there are some things missing, like vehicle graphic panel with spells and rider is not always in proper position when mounting on a vehicle (maybe vehicle ids are messed up in the sql file). Casting own spells and attacking from a veh also is not implemented. I guess there in an unknown flag in dbc for it. I'll take a closer look on this patch in the future.
  14. I wanted to test the rsa fork to check the vehicles, but I was too lazy to fix all compilation errors cherry picking would take too much time, so why do this if someone made a patch file? P.S. Avast found some sh!t on the download page...
  15. Yes, the link doesnt work, pls reupload
  16. Yessssss!~! FINALLY!~! THANK YOU!~! BUT! There is one more missing thing: creatures should also follow this rule, right now they follow target on 5yd distance always. EDIT: OK, I found the thread in general discussion ;p Tested this patch and it works OK Now fighting with Kel'Thuzad will be a lot easier for melee classes
  17. This attribute is clearly wrong as "can't reflected", so maybe it is "ignore LoS"...
  18. I was also thinking about this, seems to be important thing, maybe somebody knows something from playing on retail experience?
  19. Hm, probably You have wrong data types typed in SQLStorages...
  20. Like Grandres wrote, in SQLStorages.cpp we have data describing structure of some of the tables in DB. The strings describe what type of data is written in the collumns. So "ibs" means that we have a table with 3 collumns, 1st holds integer data type, 2nd one - boolean and 3rd one - string. In Your project You have a string describing a table with 84 fields, but in the DB You are using You have 90 fields. So what You have to do now is check the structure of creature_template table, more specifically, the order of collumns and their data types and check this with the string describing it. And then of course add/remove/modify the string so it will have 90 chars and the data types will match the ones in DB. I hope it is the solution You were looking for and it will be helpful
  21. Rev. 11xxx I'm a player. When someone goes far away from me on world map or instanced map, I can't see his position, it doesn't get updated until I see him/her, until he gets in my line of sight. The bug appeared around rev. 100xx.
  22. Also, fix for Tricks of the Trade damage buff: diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp index f53eae1..06974eb 100644 --- a/src/game/Spell.cpp +++ b/src/game/Spell.cpp @@ -3363,6 +3363,8 @@ void Spell::cast(bool skipCheck) { AddTriggeredSpell(52874); // Fan of Knives (offhand) } + else if (m_spellInfo->Id == 57933) + AddTriggeredSpell(59628); break; case SPELLFAMILY_HUNTER: { diff --git a/src/game/UnitAuraProcHandler.cpp b/src/game/UnitAuraProcHandler.cpp index 707bb74..c4fc7ef 100644 --- a/src/game/UnitAuraProcHandler.cpp +++ b/src/game/UnitAuraProcHandler.cpp @@ -1817,8 +1817,8 @@ SpellAuraProcResult Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, Aura // Tricks of the trade case 57934: { - triggered_spell_id = 59628; // 6 sec buff on self - target = this; + triggered_spell_id = 57933; // increased damage buff + target = getHostileRefManager().GetThreatRedirectionTarget(); break; } }
  23. Fix for Glyph of Vigilance: diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp index d8a0296..691afcc 100644 --- a/src/game/SpellEffects.cpp +++ b/src/game/SpellEffects.cpp @@ -9048,8 +9048,16 @@ void Spell::EffectRestoreItemCharges( SpellEffectIndex eff_idx ) void Spell::EffectRedirectThreat(SpellEffectIndex eff_idx) { - if (unitTarget) - m_caster->getHostileRefManager().SetThreatRedirection(unitTarget->GetObjectGuid(), uint32(damage)); + if (!unitTarget) + return; + + // modifiers + // Glyph of Vigilance + if (m_spellInfo->Id == 59665) + if (Aura *glyph = unitTarget->GetDummyAura(63326)) + damage += (uint32)glyph->GetModifier()->m_amount; + + m_caster->getHostileRefManager().SetThreatRedirection(unitTarget->GetObjectGuid(), uint32(damage)); } void Spell::EffectTeachTaxiNode( SpellEffectIndex eff_idx )
  24. I found a bug, or rather dummy code for Vigilance in this commit. Spell 59665 has no dummy aura, so there is no reset executed. I suggest this solution: diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp index 907fa37..b9af9bd 100644 --- a/src/game/SpellAuras.cpp +++ b/src/game/SpellAuras.cpp @@ -2468,7 +2468,6 @@ void Aura::HandleAuraDummy(bool apply, bool Real) } case 35079: // Misdirection, triggered buff case 59628: // Tricks of the Trade, triggered buff - case 59665: // Vigilance, redirection spell { if (Unit* pCaster = GetCaster()) pCaster->getHostileRefManager().ResetThreatRedirection(); @@ -5084,14 +5083,33 @@ void Aura::HandleAuraProcTriggerSpell(bool apply, bool Real) if(!Real) return; + Unit *caster = GetCaster(); + Unit *target = GetTarget(); + if(apply) { - // some spell have charges by functionality not have its in spell data switch (GetId()) { + // some spell have charges by functionality not have its in spell data case 28200: // Ascendance (Talisman of Ascendance trinket) GetHolder()->SetAuraCharges(6); break; + case 50720: // Vigilance (threat transfering) + if (caster && target) + target->CastSpell(caster, 59665, true); + break; + default: break; + } + } + // remove + else + { + switch (GetId()) + { + case 50720: // Vigilance (reset threat transfering) + if (target) + target->getHostileRefManager().ResetThreatRedirection(); + break; default: break; } } At first I wanted to add triggered spell in Spell::Cast, but the spell should be cast by target of aura on the caster, so I moved it to ProcAura applying/removing handler. Also, I have rewritten part for latest revision for cooldown resetting posted above by breakwater: diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp index 5500140..b46b27e 100644 --- a/src/game/SpellEffects.cpp +++ b/src/game/SpellEffects.cpp @@ -6662,6 +6662,14 @@ void Spell::EffectScriptEffect(SpellEffectIndex eff_idx) return; } + case 50725: //Vigilance - remove cooldown on Taunt + { + if (Player* pAuraCaster = (Player*)(m_caster->GetAura(50720, EFFECT_INDEX_0)->GetCaster())) + { + if (pAuraCaster->HasSpellCooldown(355)) + pAuraCaster->RemoveSpellCooldown(355, true); + } + } case 51770: // Emblazon Runeblade { Unit* caster = GetAffectiveCaster(); I'm still working on damage reduction (and also for (G)BoS, Renewed Hope, since they shouldn't stack and should be handled in one place in code). EDIT: I came up with something like this for damage reduction: diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index 35fe7f5..0a0a716 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -6970,6 +6970,18 @@ uint32 Unit::SpellDamageBonusTaken(Unit *pCaster, SpellEntry const *spellProto, // .. taken pct: dummy auras if (GetTypeId() == TYPEID_PLAYER) { + // non-stacking auras - Vigilance, Renewed Hope and (Greater) Blessing of Sanctuary + Aura *pAura = GetAura(50720, EFFECT_INDEX_0); // Vigilance + if (!pAura) + pAura = GetDummyAura(63944); // Renewed Hope + if (!pAura) + pAura = GetDummyAura(20911); // Blessing of Sanctuary + if (!pAura) + pAura = GetDummyAura(25899); // Greater Blessing of Sanctuary + + if (pAura) + TakenTotalMod *= (float(pAura->GetModifier()->m_amount) + 100.0f) / 100.0f; + //Cheat Death if (Aura *dummy = GetDummyAura(45182)) { @@ -8005,6 +8017,17 @@ uint32 Unit::MeleeDamageBonusTaken(Unit *pCaster, uint32 pdamage,WeaponAttackTyp break; } } + // non-stacking auras - Vigilance, Renewed Hope and (Greater) Blessing of Sanctuary + Aura *pAura = GetAura(50720, EFFECT_INDEX_0); // Vigilance + if (!pAura) + pAura = GetDummyAura(63944); // Renewed Hope + if (!pAura) + pAura = GetDummyAura(20911); // Blessing of Sanctuary + if (!pAura) + pAura = GetDummyAura(25899); // Greater Blessing of Sanctuary + + if (pAura) + TakenPercent *= (float(pAura->GetModifier()->m_amount) + 100.0f) / 100.0f; // final calculation // =================
  25. There is a similiar bug for conditional loot in scripted instances (i.e. loot from Sartharion hard modes) where additional items are always free for all and normal loot can be group/master etc. looted. Maybe similiar patch could be wrote for such cases?
×
×
  • 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