darkstalker
Members-
Posts
717 -
Joined
-
Last visited
Never -
Donations
0.00 GBP
Content Type
Profiles
Bug Tracker
Wiki
Release Notes
Forums
Downloads
Blogs
Events
Everything posted by darkstalker
-
Effect0 6 SPELL_EFFECT_APPLY_AURA Effect1 6 SPELL_EFFECT_APPLY_AURA Effect2 6 SPELL_EFFECT_APPLY_AURA EffectImplicitTargetA0 22 TARGET_CASTER_COORDINATES EffectImplicitTargetA1 22 TARGET_CASTER_COORDINATES EffectImplicitTargetA2 22 TARGET_CASTER_COORDINATES EffectImplicitTargetB0 7 TARGET_AREAEFFECT_INSTANT EffectImplicitTargetB1 7 TARGET_AREAEFFECT_INSTANT EffectImplicitTargetB2 7 TARGET_AREAEFFECT_INSTANT EffectRadiusIndex0 27 Radius: 50, Radius2: 50 EffectRadiusIndex1 27 Radius: 50, Radius2: 50 EffectRadiusIndex2 27 Radius: 50, Radius2: 50 EffectApplyAuraName0 79 SPELL_AURA_MOD_DAMAGE_PERCENT_DONE EffectApplyAuraName1 61 SPELL_AURA_MOD_SCALE EffectApplyAuraName2 133 SPELL_AURA_MOD_INCREASE_HEALTH_PERCENT looks like an AoE spell for me
-
someday they'll become normal data fields instead of text..
-
really good idea, it could be extended to creature spawns too. other thing that could be done is setting spawnMask = 0 instead of deleting creatures/GOs, this way prevents destroying DB data
-
[patch] implement SPLINEFLAG_TRAJECTORY (jump effect visual)
darkstalker replied to Auntie Mangos's topic in ... rejectedOld
Thanks for the info, i don't have retail access so everything i did is guessed. edit: there is the collected data, first block for feral charge and second for death grip seems to be a lineal relation between travel time and distance, but couldn't find one for speedZ doesn't look like stuff matching DBC data, maybe values are result of calculating parabolic movement -
|PHP| Interesting Scripts for your Website
darkstalker replied to Auntie Mangos's topic in Old3rd party projects
achievement points rank (assuming you have Achievement.dbc dumped into database 'dbc_335') SELECT c.name, (SELECT SUM(at.points) FROM character_achievement AS ca INNER JOIN dbc_335.Achievement AS at ON ca.achievement = at.id WHERE ca.guid = c.guid) AS points FROM characters AS c ORDER BY points DESC LIMIT 10; -
Dark knight directly level 80 whith full talents points
darkstalker replied to a topic in OldGeneral discussion
comment out parts like here: uint32 Player::CalculateTalentsPoints() const { uint32 base_talent = getLevel() < 10 ? 0 : getLevel()-9; //if(getClass() != CLASS_DEATH_KNIGHT) return uint32(base_talent * sWorld.getConfig(CONFIG_FLOAT_RATE_TALENT)); /* uint32 talentPointsForLevel = getLevel() < 56 ? 0 : getLevel() - 55; talentPointsForLevel += m_questRewardTalentCount; if(talentPointsForLevel > base_talent) talentPointsForLevel = base_talent; return uint32(talentPointsForLevel * sWorld.getConfig(CONFIG_FLOAT_RATE_TALENT)); */ } -
At first sight seems to send some kind of "pet not found" response to client, so it tries to get correct one. Not sending this might break an asynchronous query/response chain client side, and as result you get an "unknown" pet.
-
http://en.wikipedia.org/wiki/ETA this?
-
|PHP| Interesting Scripts for your Website
darkstalker replied to Auntie Mangos's topic in Old3rd party projects
arena rank: SELECT s.rating, a.name, s.wins2, s.played FROM arena_team_stats AS s LEFT JOIN arena_team AS a ON s.arenateamid = a.arenateamid WHERE a.type = 2 ORDER BY s.rating DESC LIMIT 10; if you want 3v3 or 5v5 rankings just change there where clause to 3 or 5 -- i'm interested in a way to get a ranking of achievement points, is that possible? -
[patch] implement SPLINEFLAG_TRAJECTORY (jump effect visual)
darkstalker replied to Auntie Mangos's topic in ... rejectedOld
Yea, but don't know how to do that. I just copied nearby function (MonsterMove) that seems to be working fine atm for similar purpose. Maybe should make something in movement generators but still i don't understand that part of the code. Just giving default values when dbc data is missing. If you got something better for that then contribute it (visually comparing with retail). I don't have any reference, just made it "look ok" knockback effects are actually a SMSG_MOVE_KNOCK_BACK, has nothing to do with this. -
[patch] implement SPLINEFLAG_TRAJECTORY (jump effect visual)
darkstalker replied to Auntie Mangos's topic in ... rejectedOld
* What bug does the patch fix? What features does the patch add? Implements packet structure for sending monster move with SPLINEFLAG_TRAJECTORY and its usage on Spell:EffectJump. This is used for effect of spells like http://www.wowhead.com/spell=49376 and http://www.wowhead.com/spell=49575. * For which repository revision was the patch created? 10567 * Is there a thread in the bug report section or at lighthouse? If yes, please add a link to the thread. i think there was one, but can't find it. * Who has been writing this patch? Please include either forum user names or email addresses. darkstalker diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp index 823966a..76869a5 100644 --- a/src/game/SpellEffects.cpp +++ b/src/game/SpellEffects.cpp @@ -2877,7 +2877,14 @@ void Spell::EffectJump(SpellEffectIndex eff_idx) return; } - m_caster->NearTeleportTo(x, y, z, o, true); + uint32 speed_z = m_spellInfo->EffectMiscValue[eff_idx]; + if (!speed_z) + speed_z = 10; + uint32 time = m_spellInfo->EffectMiscValueB[eff_idx]; + if (!time) + time = speed_z * 10; + + m_caster->MonsterJump(x, y, z, o, time, speed_z); } void Spell::EffectTeleportUnits(SpellEffectIndex eff_idx) diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index 3448163..ba3f8d8 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -401,6 +401,11 @@ void Unit::SendMonsterMove(float NewPosX, float NewPosY, float NewPosZ, SplineTy data << uint32(flags); // splineflags data << uint32(moveTime); // Time in between points + if (flags & SPLINEFLAG_TRAJECTORY) + { + data << float(va_arg(vargs, double)); // Z jump speed + data << uint32(0); // walk time after jump + } data << uint32(1); // 1 single waypoint data << NewPosX << NewPosY << NewPosZ; // the single waypoint Point B @@ -10435,6 +10440,28 @@ void Unit::MonsterMoveWithSpeed(float x, float y, float z, uint32 transitTime) } } +void Unit::MonsterJump(float x, float y, float z, float o, uint32 transitTime, uint32 verticalSpeed) +{ + SendMonsterMove(x, y, z, SPLINETYPE_NORMAL, SplineFlags(SPLINEFLAG_TRAJECTORY | SPLINEFLAG_WALKMODE), transitTime, NULL, double(verticalSpeed)); + + if (GetTypeId() != TYPEID_PLAYER) + { + Creature* c = (Creature*)this; + // Creature relocation acts like instant movement generator, so current generator expects interrupt/reset calls to react properly + if (!c->GetMotionMaster()->empty()) + if (MovementGenerator *movgen = c->GetMotionMaster()->top()) + movgen->Interrupt(*c); + + GetMap()->CreatureRelocation((Creature*)this, x, y, z, o); + + // finished relocation, movegen can different from top before creature relocation, + // but apply Reset expected to be safe in any case + if (!c->GetMotionMaster()->empty()) + if (MovementGenerator *movgen = c->GetMotionMaster()->top()) + movgen->Reset(*c); + } +} + struct SetPvPHelper { explicit SetPvPHelper(bool _state) : state(_state) {} diff --git a/src/game/Unit.h b/src/game/Unit.h index 5efc783..332b6d4 100644 --- a/src/game/Unit.h +++ b/src/game/Unit.h @@ -1450,6 +1450,7 @@ class MANGOS_DLL_SPEC Unit : public WorldObject void MonsterMove(float x, float y, float z, uint32 transitTime); void MonsterMoveWithSpeed(float x, float y, float z, uint32 transitTime = 0); + void MonsterJump(float x, float y, float z, float o, uint32 transitTime, uint32 verticalSpeed); // recommend use MonsterMove/MonsterMoveWithSpeed for most case that correctly work with movegens // if used additional args in ... part then floats must explicitly casted to double -
need to check if wmo's are transparent?
-
.bet app doesn't run on unix :3
-
seems to be related with pet deaths -> despawn
-
const char *res[3] = { fields[0].GetString(), fields[1].GetString(), fields[2].GetString() }; return res[3]; you can't do that, seems you trying to do vectorial assignations like php/perl, that syntax isn't supported, besides you usingthe wrong types this looks better for me: bool GetLatestNews(std::string& user, std::string& title, std::string& msg) { // 0 1 2 QueryResult *result = SiteDatabase.PQuery("SELECT user, title, message FROM news ORDER BY date DESC LIMIT 1"); if (!result) return false; Field *fields = result->Fetch(); user = fields[0].GetCppString(); title = fields[1].GetCppString(); msg = fields[2].GetCppString(); return true; }
-
something like this? http://www.wowhead.com/spell=57353
-
maybe you Spell.dbc is corrupted, try re-extracting it
-
LoS and height caused by gameobjects still has to be implemented
-
check combat log while doing autoshots, you might get a "Wild Quiver failed: not recovered yet" message, if that the case might be a non-triggered cast being blocked by the gcd check
-
will do more testing with hunters later, about http://www.wowhead.com/spell=3045 its a "ranged haste" aura that maybe its not related to unit cast speed and not being put in calculation (i'm not hunter player so didnt really care lol)
-
i used to like the ajax stuff of vbulletin, doesnt lag me at all
-
[patch] Deathbringer's Will and Tiny Abomination in a Jar Fix(es)
darkstalker replied to a topic in ... under reviewOld
REPLACE INTO spell_proc_event (entry, Cooldown) VALUES (71519, 105), (71562, 105); -
maybe forgot to add ranged haste..
-
Bad: seems i lost all my thanks count again ;<
-
spell 75 (auto-shot) has no gcd (StartRecoveryCategory = 0, StartRecoveryTime = 0) spell 53209 (chimera shot) has the standard gcd (StartRecoveryCategory = 133, StartRecoveryTime = 1500) spell 34490 (silencing shot) is again with no gcd (both values 0), so shouldn't interfere with chimera That "another thing" you say must be a spell with no gcd or in a different category to be able to cast it succefully on a single gcd. So maybe you should say "MM burst exploit is dead"?
Contact Us
To contact us
click here
You can also email us at [email protected]
Privacy Policy | Terms & Conditions
You can also email us at [email protected]
Privacy Policy | Terms & Conditions
Copyright © getMaNGOS. All rights Reserved.
This website is in no way associated with or endorsed by Blizzard Entertainment®
This website is in no way associated with or endorsed by Blizzard Entertainment®