-
Posts
2446 -
Joined
-
Last visited
Never -
Donations
0.00 GBP
Content Type
Bug Tracker
Wiki
Release Notes
Forums
Downloads
Blogs
Events
Everything posted by Auntie Mangos
-
[PATCH] Horde & Alliance grouping/trade
Auntie Mangos replied to Auntie Mangos's topic in OldCore modifications
Today compiled this patch with 10280. Normal... I recommend use patch from 74 post of this topic: http://getmangos.eu/community/viewtopic.php?id=7910&p=117127&viewfull=1#post117127 If it's don't help you I can post my patch (that I compiled today) again later... For 10283: diff --git a/src/game/Group.cpp b/src/game/Group.cpp index aa3cc94..393692e 100644 --- a/src/game/Group.cpp +++ b/src/game/Group.cpp @@ -346,6 +346,10 @@ bool Group::AddMember(const uint64 &guid, const char* name) uint32 Group::RemoveMember(const uint64 &guid, const uint8 &method) { + // Frozen Mod + BroadcastGroupUpdate(); + // Frozen Mod + // remove member and change leader (if need) only if strong more 2 members _before_ member remove if(GetMembersCount() > uint32(isBGGroup() ? 1 : 2)) // in BG group case allow 1 members group { @@ -1810,6 +1814,36 @@ void Group::_homebindIfInstance(Player *player) } } } +//Frozen Mod +void Group::BroadcastGroupUpdate(void) +{ + for(member_citerator citr = m_memberSlots.begin(); citr != m_memberSlots.end(); ++citr) + { + Player *pp = sObjectMgr.GetPlayer(citr->guid); + if(pp && pp->IsInWorld()) + { + pp->ForceValuesUpdateAtIndex(UNIT_FIELD_BYTES_2); + pp->ForceValuesUpdateAtIndex(UNIT_FIELD_FACTIONTEMPLATE); + DEBUG_LOG("-- Forced group value update for '%s'", pp->GetName()); + if(pp->GetPet()) + { + pp->GetPet()->ForceValuesUpdateAtIndex(UNIT_FIELD_BYTES_2); + pp->GetPet()->ForceValuesUpdateAtIndex(UNIT_FIELD_FACTIONTEMPLATE); + DEBUG_LOG("-- Forced group value update for '%s' pet '%s'", pp->GetName(), pp->GetPet()->GetName()); + } + for(uint32 i = 0; i < MAX_TOTEM_SLOT; ++i) + { + if(Unit *totem = Unit::GetUnit(*pp, pp->m_TotemSlot[i])) + { + totem->ForceValuesUpdateAtIndex(UNIT_FIELD_BYTES_2); + totem->ForceValuesUpdateAtIndex(UNIT_FIELD_FACTIONTEMPLATE); + DEBUG_LOG("-- Forced group value update for '%s' totem #%u", pp->GetName(), i); + } + } + } + } +} +// Frozen Mod static void RewardGroupAtKill_helper(Player* pGroupGuy, Unit* pVictim, uint32 count, bool PvP, float group_rate, uint32 sum_level, bool is_dungeon, Player* not_gray_member_with_max_level, Player* member_with_max_level, uint32 xp ) { diff --git a/src/game/Group.h b/src/game/Group.h index 85efa1c..2f436a3 100644 --- a/src/game/Group.h +++ b/src/game/Group.h @@ -375,6 +375,10 @@ class MANGOS_DLL_SPEC Group InstanceGroupBind* GetBoundInstance(uint32 mapId, Player* player); InstanceGroupBind* GetBoundInstance(Map* aMap, Difficulty difficulty); BoundInstancesMap& GetBoundInstances(Difficulty difficulty) { return m_boundInstances[difficulty]; } + + // Frozen Mod + void BroadcastGroupUpdate(void); + // Frozen Mod protected: bool _addMember(const uint64 &guid, const char* name, bool isAssistant=false); diff --git a/src/game/GroupHandler.cpp b/src/game/GroupHandler.cpp index c432d4a..2f6df07 100644 --- a/src/game/GroupHandler.cpp +++ b/src/game/GroupHandler.cpp @@ -207,6 +207,10 @@ void WorldSession::HandleGroupAcceptOpcode( WorldPacket & recv_data ) // everything is fine, do it, PLAYER'S GROUP IS SET IN ADDMEMBER!!! if(!group->AddMember(GetPlayer()->GetGUID(), GetPlayer()->GetName())) return; + + // Frozen Mod + group->BroadcastGroupUpdate(); + // Frozen Mod } void WorldSession::HandleGroupDeclineOpcode( WorldPacket & /*recv_data*/ ) diff --git a/src/game/Object.cpp b/src/game/Object.cpp index 9b25096..1e90052 100644 --- a/src/game/Object.cpp +++ b/src/game/Object.cpp @@ -662,6 +662,54 @@ void Object::BuildValuesUpdate(uint8 updatetype, ByteBuffer * data, UpdateMask * else *data << (m_uint32Values[ index ] & ~UNIT_DYNFLAG_TAPPED); } + + // Frozen Mod + else if(index == UNIT_FIELD_BYTES_2 || index == UNIT_FIELD_FACTIONTEMPLATE) + { + bool ch = false; + + if((GetTypeId() == TYPEID_PLAYER || GetTypeId() == TYPEID_UNIT) && target != this) + { + bool forcefriendly = false; // bool for pets/totems to offload more code from the big if below + + if(GetTypeId() == TYPEID_UNIT) + { + forcefriendly = (((Creature*)this)->isTotem() || ((Creature*)this)->isPet()) + && ((Creature*)this)->GetOwner()->GetTypeId() == TYPEID_PLAYER + && ((Creature*)this)->GetOwner()->IsFriendlyTo(target) // pet owner must be friendly to target + && ((Creature*)this)->GetOwner() != target // no need to send hackfix to pet owner + && (target->IsInSameGroupWith((Player*)((Creature*)this)->GetOwner()) || target->IsInSameRaidWith((Player*)((Creature*)this)->GetOwner())); + } + + if(((Unit*)this)->IsSpoofSamePlayerFaction() || forcefriendly || (target->GetTypeId() == TYPEID_PLAYER && GetTypeId() == TYPEID_PLAYER && (target->IsInSameGroupWith((Player*)this) || target->IsInSameRaidWith((Player*)this)))) + { + if(index == UNIT_FIELD_BYTES_2) + { + DEBUG_LOG("-- VALUES_UPDATE: Sending '%s' the blue-group-fix from '%s' (flag)", target->GetName(), ((Unit*)this)->GetName()); + *data << ( m_uint32Values[ index ] & (UNIT_BYTE2_FLAG_SANCTUARY << 8) ); // this flag is at uint8 offset 1 !! + ch = true; + } + else if(index == UNIT_FIELD_FACTIONTEMPLATE) + { + FactionTemplateEntry const *ft1, *ft2; + ft1 = ((Unit*)this)->getFactionTemplateEntry(); + ft2 = ((Unit*)target)->getFactionTemplateEntry(); + + if(ft1 && ft2 && (!ft1->IsFriendlyTo(*ft2) || ((Unit*)this)->IsSpoofSamePlayerFaction())) + { + uint32 faction = ((Player*)target)->getFaction(); // pretend that all other HOSTILE players have own faction, to allow follow, heal, rezz (trade wont work) + DEBUG_LOG("-- VALUES_UPDATE: Sending '%s' the blue-group-fix from '%s' (faction %u)", target->GetName(), ((Unit*)this)->GetName(), faction); + *data << uint32(faction); + ch = true; + } + } + } + } + + if(!ch) + *data << m_uint32Values[ index ]; + } + // Frozen Mod else { // send in current format (float as float, uint32 as uint32) @@ -1664,6 +1712,21 @@ Creature* WorldObject::SummonCreature(uint32 id, float x, float y, float z, floa return pCreature; } +// Frozen Mod +void Object::ForceValuesUpdateAtIndex(uint32 i) +{ + m_uint32Values_mirror[i] = GetUInt32Value(i) + 1; // makes server think the field changed + if(m_inWorld) + { + if(!m_objectUpdated) + { + AddToClientUpdateList(); + m_objectUpdated = true; + } + } +} +// Frozen Mod + namespace MaNGOS { class NearUsedPosDo diff --git a/src/game/Object.h b/src/game/Object.h index c900e4d..4e8063a 100644 --- a/src/game/Object.h +++ b/src/game/Object.h @@ -288,6 +288,11 @@ class MANGOS_DLL_SPEC Object virtual bool hasQuest(uint32 /* quest_id */) const { return false; } virtual bool hasInvolvedQuest(uint32 /* quest_id */) const { return false; } + + // Frozen Mod + void ForceValuesUpdateAtIndex(uint32); + // Frozen Mod + protected: Object ( ); diff --git a/src/game/TradeHandler.cpp b/src/game/TradeHandler.cpp index 6abb061..8fb7f64 100644 --- a/src/game/TradeHandler.cpp +++ b/src/game/TradeHandler.cpp @@ -604,11 +604,13 @@ void WorldSession::HandleInitiateTradeOpcode(WorldPacket& recvPacket) return; } - if (pOther->GetTeam() !=_player->GetTeam() ) + // Frozen Mod + /* if (pOther->GetTeam() !=_player->GetTeam() ) { SendTradeStatus(TRADE_STATUS_WRONG_FACTION); return; - } + } */ + // Frozen Mod if (!pOther->IsWithinDistInMap(_player,10.0f,false)) { diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index 1d38c35..309c474 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -242,6 +242,10 @@ Unit::Unit() // remove aurastates allowing special moves for(int i=0; i < MAX_REACTIVE; ++i) m_reactiveTimer[i] = 0; + + // Frozen Mod + m_spoofSamePlayerFaction = false; + // Frozen Mod } Unit::~Unit() diff --git a/src/game/Unit.h b/src/game/Unit.h index 37cb495..9508fb9 100644 --- a/src/game/Unit.h +++ b/src/game/Unit.h @@ -1885,6 +1885,11 @@ class MANGOS_DLL_SPEC Unit : public WorldObject PetAuraSet m_petAuras; void AddPetAura(PetAura const* petSpell); void RemovePetAura(PetAura const* petSpell); + + // Frozen Mod + inline void SetSpoofSamePlayerFaction(bool b) { m_spoofSamePlayerFaction = b; } + inline bool IsSpoofSamePlayerFaction(void) {return m_spoofSamePlayerFaction; } + // Frozen Mod // Movement info MovementInfo m_movementInfo; @@ -1937,8 +1942,12 @@ class MANGOS_DLL_SPEC Unit : public WorldObject uint32 m_reactiveTimer[MAX_REACTIVE]; uint32 m_regenTimer; uint32 m_lastManaUseTimer; + + // Frozen Mod + bool m_spoofSamePlayerFaction : 1; + // Frozen Mod - private: + public: void CleanupDeletedAuras(); // player or player's pet -
Ok now I see this is related to the following post. http://getmangos.eu/community/showthread.php?13138-%5B9606%5D-Causes-client-freezes Sorry for this.
-
Mangos Version: 9110 Custom Patches: ahbot, playerbot, vehicle SD2 Version: 1532 Database Name and Version : UDB Rev. 386 How it SHOULD work: Trinket Lifestone (833). Equip: Restores 10 health every 5 sec. Should stop restoring HP, when dead. How it DOES work: Continues restoring HP, even when player dead. Player is immediately is visible alive with 10, 20, next 30 HP and so on, but cannot be resurrected anymore, cannot move and is really dead. Only to way to solve this, is relogin as ghost and go to corpse. Don`t know if there problems with other "gaining +hp" trinkets as well, because of thread http://getmangos.eu/community/showthread.php?6106-[sql-fix][9007]-Engineering-Trinkets-PPM. Regards warrior
-
and with that you're wrong. you simply do a 'git reset' to the version. e.g. to go to commit 1afd598 (just took any number, this is not a real commit) just do this: git reset 1afd598 btw, the forum search doesn't bite, you can use it look here for more informations: http://getmangos.eu/community/viewforum.php?id=27
-
What bug does the patch fix? What features does the patch add? - It fixes the 10% dmg penalty for Titan's grip while wielding a 2h weapon. - It fixes unequiping of offhand 2h weapon at talent reset. For which repository revision was the patch created? Rev. 8578 Is there a thread in the bug report section or at lighthouse? If yes, please add a link to the thread. Yes: http://getmangos.eu/community/viewtopic.php?id=9928 And here is stated that the problem with unequiping at reseting talents has been fixed, however in rev. 8578 it is bugged as for me : http://getmangos.eu/community/viewtopic.php?id=6638 Who has been writing this patch? Please include either forum user names or email addresses. Me, reeshack Paste2.org: http://paste2.org/p/465228 Well I'm afraid that maybe this is not the right way how to fix it, but I haven't found another one (the reason is probably because I'm not very MaNGOS-experienced ) - so I'm looking forward to some new ideas how to do it .
-
What bug does the patch fix? What features does the patch add? This fixes the bug that potions and other such energize effects make the client display twice as much of a gain, sometimes resulting in "not enough mana/energy/rage/etc" because the client thinks it has more than it does. For which repository revision was the patch created? 7887 Is there a thread in the bug report section or at lighthouse? If yes, please add a link to the thread. See posts #8 and 9 here. Who has been writing this patch? Please include either forum user names or email addresses Myself ModifyPower has a call to SetPower, which tells the client to set its mana value to the value the server has after the amount energized is added. When it calls SendEnergizeSpellLog afterward, the client adds the amount energized a second time. Switching calls to ModifyPower and SendEnergizeSpellLog around fixes this problem. Patch
-
Git mirrored to SourceForge SVN
Auntie Mangos replied to Auntie Mangos's topic in OldAnnouncements & news
You people should read more ... those forums are full of answers to "no! stay with SVN!", mine as well: http://getmangos.eu/community/viewtopic.php?id=4159 -
I have done * DELETE FROM character_instance; * DELETE FROM instance; * DELETE FROM group_instance; * DELETE FROM instance_reset and PERFECT, thanks a lot !!! that means their is a bug somewhere....
-
What bug does the patch fix? What features does the patch add? Aura-Removal by damage is no more hardcoded to DealDamage, but done depending on procFlags and Proc-Events. For which repository revision was the patch created? 11125 Is there a thread in the bug report section or at lighthouse? If yes, please add a link to the thread. http://getmangos.eu/community/viewtopic.php?id=15078 Who has been writing this patch? Please include either forum user names or email addresses. me, helped by laise Thanks to Laise for guidence Patch: http://paste2.org/p/1237990 Remarks: this system atm handles victim's aura removal of confuse, stealh, fear, root, invisible, pacify_silence It is _very_ likely that there will be need for many entries in spell_proc_event, to correct the procFlags for some spells. Example: Vanish Invisibility along the description, these auras should be removed on taking dmg so (just testing) DELETE FROM spell_proc_event WHERE entry IN (26888, 32612); INSERT INTO spell_proc_event (entry, procFlags) VALUES (26888, 664232), (32612, 664232); might be needed. The procFlags 664232 correspond "remove on any damage taken" Remark2: While thinking about these aura removals: if (damagetype != DOT) { RemoveSpellsCausingAura(SPELL_AURA_MOD_STEALTH); RemoveSpellsCausingAura(SPELL_AURA_FEIGN_DEATH); if(pVictim != this) RemoveSpellsCausingAura(SPELL_AURA_MOD_INVISIBILITY); if(pVictim->GetTypeId() == TYPEID_PLAYER && !pVictim->IsStandState() && !pVictim->hasUnitState(UNIT_STAT_STUNNED)) pVictim->SetStandState(UNIT_STAND_STATE_STAND); might be better placed in something like Attack Start and spell::Prepare (stealth, feign_death is already in prepar) Or on the long term also handled by something similar to procFlags (related to special invisibility cases which shouldn't be removed) Would be nice if someone would take his time to do a few more tests Edit Remark3: uint32 max_dmg = getLevel() > 8 ? 25 * getLevel() - 150 : 50; this means, that for a level 80+ target, every dmg higher than 1850 results in removal, this seems a bit low to me! infact there need to be done quite a bit more work, as wowwiki states that players react different to fear than mobs, glyph of fear, etc..
-
You shloud consult this thread.
-
[Guide] Mangos Windows Setup
Auntie Mangos replied to a topic in OldInstallation, configuration & upgrades
No No Drop your Mangos Database Import your UDB CORE with dump file into your Database Please see this thread to find the appropriate download http://getmangos.eu/community/showthread.php?13121-World-of-Warcraft-Server-for-Windows-Installation-Guide -
yes, http://getmangos.eu/community/showthread.php?11965-[fix]weapon-enchantment-procs , please test
-
This patch should be accepted becouse: 1. According to http://getmangos.eu/community/showthread.php?p=81340#post81340 there is a chance (small) to have a empty loot with "loot animation". 2. In mangos u can loot everybody (which is wrong).... Prince patch solve problem with all creatures which havent got loot (not lootable) or summoned etc.... there is no sparkle and finally u cant loot them my 2 cents. Regards.
-
2 - This patch would fix the bug that Seal of Command (Paladin talent/spell) still uses the old 70% coefficient instead of the new 45%. 2 2 2 2 - http://getmangos.eu/community/viewtopic.php?id=6229 1
-
I can agree with this post, SVN was for me personally a lot better. I have no experience with Git yet (Currently learning it) and simple things like "Create / Apply Patches" make already problems for me on Git. A Public SVN with something like a Release or "Stable" Version would be awesome. Got the SVN closed cause of resource issues, can we maybe help?
-
http://getmangos.eu/community/showthread.php?13587-vmap-rewrite Seems promising. =P
-
here is more crap about them.. http://forums.digitalpoint.com/showthread.php?t=1587906 i am poting it here because i knw this guy is on this forum for beaware of him Same guy, different names and different websites... he is a big bloody scammer he is member on this forum so be aware http://getmangos.eu/community/member.php?u=41024 he is not banned here, but i am sure he will get soon with the scamming levels he been doing around trying to fool people and keeping their money
-
In official, situation when creatures can drop no loot and they still sparkle is really rarely. few times i saw this ...and thats all. So i thing that happens only when "creature has a lootid and the random loot generation function produces an empty loot"(arrai). For example take mob from "A new plague quest. After his death u will never see that animation (becouse he is not lootable). In mangos u can loot everyone....(which is wrong) There is another thread about that http://getmangos.eu/community/viewtopic.php?id=9193 where mr. PRINCE trying solve this problem.
-
There you go: mtmaps fix for win: http://getmangos.eu/community/showpost.php?p=60214&postcount=37
-
==32040== LEAK SUMMARY: ==32040== definitely lost: 1,439,090 bytes in 133,908 blocks. ==32040== indirectly lost: 176,216 bytes in 2,761 blocks. ==32040== possibly lost: 27,115,260 bytes in 108,642 blocks. ==32040== still reachable: 1,116,263,870 bytes in 1,148,081 blocks. ==32040== suppressed: 0 bytes in 0 blocks. http://filebeam.com/fcf3744fbae5a5ec418c6892be2c0f10 i used this script : #!/bin/bash COUNTER=0 ulimit -c unlimited while : do valgrind --tool=memcheck --leak-check=full --show-reachable=yes --log-file=valgrind-$COUNTER.log ./mangosd #should be console disabled;) mv valgrind.core* valgrind-core.$COUNTER #if system not add .proccess_id to dumps for sure move it to keep it COUNTER=$(($COUNTER+1)) done i am trying to get mangos stable again, so any help would be nice, i am not experienced with valgrind, so tell me if i am doing this right, or what to do,. also have problems, mangos really lags with vlagrind(60online and 3-10sec lag), it use only 1-2core (have 8) i used also derex mtmaps patch with this test, if anyone know how to use valgrind on all cores ...or some special settings, what DEVS need thx, and tell if this logs are need .. or how to find, that annoig freez in mangos also tryied some gdb : theres loop somewhere:( http://getmangos.eu/community/showpost.php?p=56091&postcount=88 http://getmangos.eu/community/showpost.php?p=56097&postcount=89 hope i helped little bit informations taken from : www.valgrind.org
-
* What bug does the patch fix? What features does the patch add? Fix handling of SPELL_AURA_ADD_TARGET_TRIGGER auras. e.g. fix Shadow Weaving proccing from Mind Flay. Periodic trigger from Mind Flay in casted by target with original caster guid. * For which repository revision was the patch created? 11956 * Is there a thread in the bug report section or at lighthouse? If yes, please add a link to the thread. don't know http://getmangos.eu/community/topic/13391/2x-bug-mind-sear-priest/ * Who has been writing this patch? Please include either forum user names or email addresses. me http://paste2.org/p/1978871 src/game/Spell.cpp | 54 ++++++++++++++++++++++++++++----------------------- 1 files changed, 30 insertions(+), 24 deletions(-) diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp index ab9f141..099c1dd 100644 --- a/src/game/Spell.cpp +++ b/src/game/Spell.cpp @@ -3547,30 +3547,36 @@ void Spell::finish(bool ok) if (!ok) return; - // handle SPELL_AURA_ADD_TARGET_TRIGGER auras - Unit::AuraList const& targetTriggers = m_caster->GetAurasByType(SPELL_AURA_ADD_TARGET_TRIGGER); - for(Unit::AuraList::const_iterator i = targetTriggers.begin(); i != targetTriggers.end(); ++i) - { - if (!(*i)->isAffectedOnSpell(m_spellInfo)) - continue; - for(TargetList::const_iterator ihit = m_UniqueTargetInfo.begin(); ihit != m_UniqueTargetInfo.end(); ++ihit) - { - if (ihit->missCondition == SPELL_MISS_NONE) - { - // check m_caster->GetGUID() let load auras at login and speedup most often case - Unit *unit = m_caster->GetObjectGuid() == ihit->targetGUID ? m_caster : ObjectAccessor::GetUnit(*m_caster, ihit->targetGUID); - if (unit && unit->isAlive()) - { - SpellEntry const *auraSpellInfo = (*i)->GetSpellProto(); - SpellEffectIndex auraSpellIdx = (*i)->GetEffIndex(); - // Calculate chance at that moment (can be depend for example from combo points) - int32 auraBasePoints = (*i)->GetBasePoints(); - int32 chance = m_caster->CalculateSpellDamage(unit, auraSpellInfo, auraSpellIdx, &auraBasePoints); - if(roll_chance_i(chance)) - m_caster->CastSpell(unit, auraSpellInfo->EffectTriggerSpell[auraSpellIdx], true, NULL, (*i)); - } - } - } + if (Unit* caster = GetAffectiveCaster()) + { + Unit::AuraList const& targetTriggers = caster->GetAurasByType(SPELL_AURA_ADD_TARGET_TRIGGER); + for (Unit::AuraList::const_iterator i = targetTriggers.begin(); i != targetTriggers.end(); ++i) + { + if (!(*i)->isAffectedOnSpell(m_spellInfo)) + continue; + + for (TargetList::const_iterator ihit = m_UniqueTargetInfo.begin(); ihit != m_UniqueTargetInfo.end(); ++ihit) + { + if (ihit->deleted) + continue; + + if (ihit->missCondition == SPELL_MISS_NONE) + { + // check caster->GetGUID() let load auras at login and speedup most often case + Unit* unit = caster->GetObjectGuid() == ihit->targetGUID ? caster : ObjectAccessor::GetUnit(*caster, ihit->targetGUID); + if (unit && unit->isAlive()) + { + SpellEntry const * auraSpellInfo = (*i)->GetSpellProto(); + SpellEffectIndex auraSpellIdx = (*i)->GetEffIndex(); + // Calculate chance at that moment (can be depend for example from combo points) + int32 auraBasePoints = (*i)->GetBasePoints(); + int32 chance = caster->CalculateSpellDamage(unit, auraSpellInfo, auraSpellIdx, &auraBasePoints); + if (roll_chance_i(chance)) + caster->CastSpell(unit, auraSpellInfo->EffectTriggerSpell[auraSpellIdx], true, NULL, (*i)); + } + } + } + } } // Heal caster for all health leech from all targets
-
To put an end to this discussion: see this thread please. Yes, we do listen to comments, and to some extent we even try to make it comfortable for the lazy ones out there.
-
100% argee with X-Savior git sould be used for devs only an people who wants to devolp big patches like Arena or so but there should be a normal public SVN witch contains the master of MaNGOS git i think a good solution were if the devs and everyone who want to held develop MaNGOS use git and the usefull features like branches etc. but the user who wants to compile or apply patches should have the possibility to use SVn so perhaps it would be possible to clone the git master to an SVN server or so. one of the big advantage of SVN was TortoiseSVN because manymany people used this tool. Linux user havent such big diffrent from SVN or git but windows user do. a big
-
Edit discussion for my patch focused to http://getmangos.eu/community/topic/15909/in-dev-creature-linking-via-database/ A little bump I revamped my old SpawnSpecial system, rewrote it entirely, and changed to some different behaviour. So I got a (very basic) system for linking creatures together. it can be seen here: https://github.com/Schmoozerd/mangos/compare/master...CreatureLinkingMgr Current functionality (only npcs by entry supported) FLAG_AGGRO_ON_AGGRO = 0x0001, the "slave" aggroes when the "master" aggroes FLAG_TO_AGGRO_ON_AGGRO = 0x0002, the master aggroes when the slave aggroes FLAG_RESPAWN_ON_EVADE = 0x0004, the slave respawns when the master evades FLAG_TO_RESPAWN_ON_EVADE = 0x0008, the master respawns when the slave evades FLAG_DESPAWN_ON_DEATH = 0x0010, the slave despawns when the master dies FLAG_SELFKILL_ON_DEATH = 0x0020, the slave goes suicide when the master dies FLAG_RESPAWN_ON_DEATH = 0x0040, the slave respawn when the master dies planned are - following - CanSpawn when boss alive - CanSpawn when boss dead Feel free to give any ideas on missing features or things that can be done better
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®