Jump to content

darkstalker

Members
  • Posts

    717
  • Joined

  • Last visited

    Never
  • Donations

    0.00 GBP 

Everything posted by darkstalker

  1. i wrote that lol. and its for "packing" item guids, nothing to do with creatures (original purpose was to fix a client bug with arena charters when guidlow is > 2 billions)
  2. doing it from mangos side would be prone to "stuck in combat bugs" blocking the instance (that happened a lot in ascent). Using a IsEncounterInProgress() would allow to manually tune the combat state of the raid.
  3. darkstalker

    some pointers

    the '& sign' (pass by reference) is actually a pointer, but the address is hidden from the user and cannot be changed. So pass by reference is the best way when handling object parameters unless you need to change the address of the variable.
  4. works on latest revisions
  5. didnt know this was broken, nice i would change the "? : " operator into: if (!SocketColor) SocketColor = PRISMATIC_SOCKET;
  6. when i did research about this it only happened when you targetted an enemy (applied to "friends of enemies"), so adding a rule in CheckCast() was enough case SPELL_EFFECT_APPLY_AURA: { // Wild Growth if (m_spellInfo->SpellFamilyName == SPELLFAMILY_DRUID && m_spellInfo->SpellFamilyFlags & UI64LIT(0x0400000000000000)) { Unit *target = m_targets.getUnitTarget(); if (!target) return SPELL_FAILED_BAD_IMPLICIT_TARGETS; // avoid casting on non friendly targets if (!m_caster->IsFriendlyTo(target)) return SPELL_FAILED_BAD_TARGETS; } break;
  7. UpdateObjectVisibility() is what makes chest despawn from the client point of view and yes, you can loot despawned chests but only if you're in .gm on
  8. maybe needs to escape string before writing into the dump
  9. typo? this is dead code + if(Group* group = GetGroup()) + { + if (group == this->GetGroup()) seems that because recipient implementation is missing
  10. database problem
  11. i've been doing some research on this and seems that the correct way would be to ignore the spellInfo->Mechanic field and use only EffectMechanic fields since they seem to have the correct value (aren't auras tied to a single spell effect anyway?). The only relevant spell that has EffectMechanic daze is 1604 (monster daze), using the other Mechanic field brings aftermath and avengers shield, that should be removed by shapeshifting
  12. creating a new spellmod is clearly a hack, since spell 16246 already has a "placeholder" damage mod that just need the correct basepoints to make it work
  13. also doesnt remove Chilled (proc from mage Ice Armor) seems that should remove everything but monster daze (Source). The current generic approach "looks good", but probably is not the correct way of doing it
  14. i see the case of spell 66237 (Incinerate Flesh), there is a EffectMiscValue1 = 34801, does it have a meaning? doesnt seem to be a spellid. also i don't think its correct to send basepoints through bp0 to triggered spell, since it can have more than 1 effect and with different meaning (see spell 63985 that links 62356) oh, and adding originalCaster parameter is redundant if you used triggeredByAura argument
  15. associated aura spell is 70937, but is a dummy effect
  16. maybe not in topic, but maybe a loot log would be nice too, to avoid the classical "rollback ate my glaibes!" problem.
  17. un-openable doors usually have a faction id that you cannot interact with
  18. what i would like to do is add more OOP style to ScriptDev2, like get rid of all that "if (m_timer < uiDiff) { .. } else m_timer -= uiDiff" thats copy-pasted all over the place and could be easily encapsulated in an object.
  19. tested it, works fine, but not for healing over time spells edit: updated patch for 9619 and added the HoT absorb part http://paste2.org/p/735414
  20. that field is not used at all
  21. i still think that navigation map should be generated at runtime (probabilistic roadmap comes into mind), so you dont have to use any additional data, libraries or anything. To do that would be needed: 1. When a grid is loaded, generate N random samples of terrain using vmaps near creature spawn zones (aggro radius?), that samples are made at floor level. 2. For each of those points, find the K nearest points and test if they're in line of sight. If they are, connect them into the graph 3. when a creature moves, calculate shortest path to target using the calculated graph, if the average distance between a straight line and the path is above a treshold, move the creature by the path, otherwise move in straignt line well, just an idea.
  22. all i know is that wc3 servers (and possibly sc2 too) were mostly a chat server (like irc), it didn't host games, just "published" them, so you could connect to the host that was a regular player acting as server
  23. from what i know currently everything runs on a single thread
  24. i think a correct way of implementing it would be iterating over the spells in the class trainer, to make it equivalent to training everything but withouth all the clicks
×
×
  • 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