Commit Graph

251 Commits

Author SHA1 Message Date
XTZGZoReX
f8c5b9a4a7 ** Cleanup in ObjectAccessor/HashMapHolder:
* Correctly lock the HashMapHolder on access.
* Use ObjectAccessor wrappers (GetPlayers, GetCreatures, GetGameObjects) instead of raw HashMapHolder<Type>::GetContainer.
* General code style cleanup.

--HG--
branch : trunk
2010-03-13 16:17:25 +01:00
raczman
07f3b91426 Some Creature* casts moved to new ToCreature.
Added const Creature* ToCreature()

--HG--
branch : trunk
2010-03-07 18:30:53 +01:00
raczman
91b8ee104e Added new type-safe cast functions.
This, when properly used, should get rid of most memory corruption issues,
currently, casting types C-style with no checks leads to some abstract crashing.
Functionality is same as with dynamic_cast<>, but with no RTTI check - so when
casting into invalid type you will receive NULL, and most probably crash.
At the same time, i took the liberty to convert most Player* casts to ToPlayer().
Still needs crapload of casts being moved to new facility.

--HG--
branch : trunk
2010-03-07 15:20:19 +01:00
p0wer
8c06fe676f Fix typo in previous commit. Remove more lines now that the PSendSysMessage isn't calling the uneccesary name.
--HG--
branch : trunk
2010-02-24 21:34:24 -06:00
p0wer
ba51f553fc Add command for administrators to change channel publicity ingame rather than having to manually manipulate the database.
--HG--
branch : trunk
2010-02-24 21:30:00 -06:00
Brian
486c00891b * Core switch to client 3.3.2 (11403)
* Credits (in no particular order) to:
* n0n4m3, raczman, manuel, Spp, Malcrom, Teacher, QAston, Tartalo,
* thenecromancer, Xanadu, Trazom, Zor, kiper
* Additional credits to:
* TOM_RUS and NoFantasy from MaNGOS
* Thanks for testing Aokromes and XTElite1
* SoTA still needs some work, but is very playable (huge thanks to raczman and
* kiper)
* To upgrade, you need to apply all SQL from sql/updates/3.2.2a_old from the
* last rev you are on
* and then apply all SQL from sql/updates/3.3.2_old to char / realmd / world
* DBs
* Known problem with guild banks.

--HG--
branch : trunk
2010-02-14 19:13:14 -07:00
Xanadu
29cf32ce9b Modified the .dist command to display exact distances, too.
--HG--
branch : trunk
2010-02-06 01:00:08 +01:00
Xanadu
f8d1920fa5 Yet more cleanup, mostly in the script system. This should conclude the script integration into core.
--HG--
branch : trunk
2010-02-05 13:01:32 +01:00
QAston
10695f9131 *Drop spell_stack_masks table
*Add spell_group_stack_rules table (for more info see wiki)
*The table is maintained by core team
*Move some spell specific out of core to the new table

--HG--
branch : trunk
2010-02-02 22:35:01 +01:00
QAston
a1256d88ee *drop spell_elixir table
*add spell_group table for storage of groups of spell (kinda obvious, isn't it?) and populate the table with converted spell_elixir table data
*the table is going to be maintained by core team
*fix percentage display at spell_ranks table loading
*add TARGET_UNIT_CASTER to allowed learn spell targets in npc_trainer table, thanks to Aokromes for noticing the issue.

--HG--
branch : trunk
2010-02-01 19:22:32 +01:00
XTZGZoReX
9f00ca3eb8 * Remove CellLock class and all cell-level thread locking.
** It was wasting CPU power as cell-level locking is not needed.
** Our multithreading is on map-level, not cell-level.
** CellLock was just a 'proxy' between Cell and CellPair and in some cases carried redundant data.
** Some minor cleanup in Cell::Visit/Map::Visit.

--HG--
branch : trunk
2010-01-23 22:24:41 +01:00
thenecromancer
d32e0878c7 Remove Battle Shout/Blessing of Might hack
Add table holding stacking masks for non-target/caster related stacking rules
Aura bounce check is still to be done

--HG--
branch : trunk
2010-01-23 17:05:20 +01:00
Anubisss
d9cb070215 Implement QueryResult_AutoPtr type which is ACE's reference counted auto_ptr(ACE_Refcounted_Auto_Ptr) for QueryResult pointers.
Use this auto_ptr for every DB queries(except QueryNamedResult yet).

This patch guarantees NO memory leaks from QueryResult pointers.

Thanks to raczman for the idea and for the helping to make this patch.

--HG--
branch : trunk
2010-01-23 14:45:58 +01:00
win32
19ac6f6a3c Implement new commands for add/remove/lookup titles.
Autor Vladimir.

--HG--
branch : trunk
2010-01-21 11:19:34 +02:00
Trazom62
72a2f50513 Fix .server shutdown command
--HG--
branch : trunk
2010-01-20 19:52:27 +01:00
Spp
91c174075d closes #245 - GMs will resurrect with full health
--HG--
branch : trunk
2010-01-20 15:43:16 +01:00
Rat
0cc053ea4d *Integrate Script system to Core
-added ScriptMgr for loading scripts
-removed bindings
-moved script system to src/game
-moved scripts to src/scripts
-VC project files updated
-cmakes updated (not 100% done yet)

NOTE to Devs:
-file locations changed
-precompiled renamed to ScriptedPch
-ecsort_ai renamed to ScriptedEscortAI
-follower_ai renamed to ScriptedFollowerAI
-guard_ai renamed to ScriptedGuardAI
-simple_ai renamed to ScriptedSimpleAI
-sc_creature renamed to ScriptedCreature
-sc_gossip renamed to ScriptedGossip
-sc_instance  renamed to ScriptedInstance

*use the new headers in scripts, thank you

NOTE to ALL:
cmake not fully tested, please report any errors with it
could make creashes, incompability
USE AT YOUR OWN RISK before further tests!!

--HG--
branch : trunk
2010-01-19 11:36:05 +01:00
n0n4m3
99f66a6bc9 Updated copyright for new year.
--HG--
branch : trunk
2010-01-16 20:19:18 +03:00
Astellar
4bd6d06e26 Fixed typo.
--HG--
branch : trunk
2010-01-10 22:01:18 +03:00
Brian
1e7087c75c * add armor output in .npc info
--HG--
branch : trunk
2010-01-10 16:11:24 -07:00
QAston
8e9d2cdf01 Update aura system:
* Change system logic - unify Auras, AreaAuras and PersistentAreaAuras:
  * Aura has now its owner - which is the WorldObject, which applies aura (creates AuraApplication object) dependant on aura radius, and effect type
  * Owner can be Dynobj (DynObjAura class) for PersistentAreaAuras, or Unit (UnitAura class) for Area and nonArea auras
  * Aura data is shared for all units which have AuraApplication of the Aura
   * Because of that AuraEffect handlers , and periodic tick functions can't modify AuraEffect object (they are const now)
  * Remove spell source and AreaAuraEffect classes
  * Add AuraEffect::UpdatePeriodic function, to allow periodic aura object modification (target independant)
  * Add AuraEffect::CalculateAmount and AuraEffect::CalculateSpellMod function, to allow non-default amount calculation
  * AreaAura updates are done in owner _UpdateSpells cycle
  * Since now you don't need to wait an aura update cycle to get area aura applied on it's correct target list
  * And you can access area aura target list
  * Add basic support for aura amount recalculation
  * Save recalculation state and base amount of auras to db
  * Add AuraEffect::CalculatePeriodic function to determine if aura is periodic, and to set correct tick number after aura is loaded from db
  * Add ChangeAmount function in addition to SetAmount function, to allow easy reapplication of AuraEffect handlers on all targets
  * Sort aura effect handlers in SpellAuras.cpp and .h by their use
  * Add check for already existing aura of that type to some AuraEffect handlers, to prevent incorrect effect removal
  * SPELL_AURA_CONVERT_RUNE and MOD_POWER_REGEN and MOD_REGEN hacky handlers are now implemented correctly
  * Send aura application client update only once per unit update - prevent unnecesary packet spam
 * Fix ByteBuffer::appendPackGUID function - it added additionall 0s at the end of the packet
 * Fix memory leak at player creation (not deleted auras)
 * Updated some naming conventions (too many to mention)
 * Added Unit::GetAuraOfRankedSpell() function
 * Remove procflags on aura remove, use Aura::HandleAuraSpecificMods instead
 * Added functions to maintain owned auras (GetOwnedAuras, GetOwnedAura, RemoveOwnedAura, etc)
 * Implement AURA_INTERRUPT_FLAG_LANDING
 * Implement EffectPlayerNotification (thanks to Spp)
 * Remove wrong aura 304 handler
 * Add better handler for death runes
 * Remove unnecesary variables from DynamicObject class, and cleanup related code, link dynobj duration with aura
 * Add GetAuraEffectTriggerTarget function in CreatureAi for special target selection for periodic trigger auras used in a script
 * Add many assert() procection from idiots using some functions in wrong way
 * I am to lazy to write here anything more
Thanks to Visagalis for testing this patch
PS: Do not make patches like this, please

--HG--
branch : trunk
2010-01-10 01:23:15 +01:00
Brian
f91b289733 * Added support for outputting phasemask in .npc info
--HG--
branch : trunk
2010-01-07 21:43:55 -07:00
n0n4m3
250a00cc1c Temporary revert 6743 commit. I fix this patch across 1-2 days.
--HG--
branch : trunk
2009-12-24 10:20:15 +01:00
n0n4m3
3fe0bc5254 Replaced time(NULL) on sGameTime.GetGameTime() this is used for better performance.
Original Timer.h divided into 2 parts. Shared project has no need to know about GameTime Singleton.
2 Identical structures with different types are now replaced with one generic templated structure and 2 typedefs.

--HG--
branch : trunk
2009-12-23 08:04:10 +01:00
maanuel
fafad0a3a4 Added new function "GetSecurity(targetAccountId, gmRealmID);" by ogeraisi.
Fixed command .account set gmlevel
Fixed command .ticket assing by Sundark/ogeraisi.
Improvements in .modify scale by ogeraisi.
Repaired Remote Access by Sundark.
The original patch of the access by realms was from ogeraisi/Kudlaty, not ilixiumemu like commit 6710 say.

--HG--
branch : trunk
2009-12-22 15:35:44 -03:00
p0wer
7590479186 * Add support for different gmlevel's for different realms.
*
* Using the value -1 will add the same value for all realms.
* Make sure to apply the updates.
* Information regarding this patch will be posted on the database forums soon.
*
* Thanks to Sundark and the Ilixiuemu team(for original patch)

--HG--
branch : trunk
2009-12-21 21:08:29 -06:00
Brian
c4ac6323b0 * Added support for RepObjectiveFaction2 / RepObjectiveValue2 (opposite
* faction) IE: need to LOSE reputation with that faction.
* Original patch by Brian / Ported to latest rev. by Kudlaty -- THANKS!

--HG--
branch : trunk
2009-12-20 16:51:41 -07:00
Rat
6fe36efe0f *apply trinity style to whole source
*comment out all mangos to trinity defines
*this will make merging a little harder, but code will be more clear

--HG--
branch : trunk
2009-12-20 15:20:04 +01:00
win32
7c9f6b4bc3 Merge MaNGOS, Gossip System. Autor NoFantasy.
* DB support required
* Closes #859

--HG--
branch : trunk
2009-12-20 13:35:08 +02:00
n0n4m3
57bdbdc0ca Add function to update orientation of unit (for both server andclient). by NoFantasy
--HG--
branch : trunk
2009-12-19 17:48:45 +01:00
maximius
dc1207139a *Cleanup, proper indentation, and remove some wrong/irrelevant comments copied from custom patches..
--HG--
branch : trunk
2009-12-18 13:41:30 -08:00
n0n4m3
89656d5749 Restore some commits from trinitycore2 3.1.3
--HG--
branch : trunk
2009-12-17 13:07:38 +01:00
n0n4m3
9f45beb67e Update Map for 322a and new instance system
--HG--
branch : trunk
2009-12-17 11:30:18 +01:00
win32
bf2c3fd8cf MaNGOS merge: Mail System.
* Store loot in mail_loot_template indexed by mail template ids.
* Implement proper creating mail text copy item from mail template based mail.
* Move send functions to new MailDraft class from WorldSession.
* Implement mails sending at player levelup.
* Autor VladimirMangos, converted by me.

--HG--
branch : trunk
2009-12-16 18:58:36 +02:00
maximius
654519d1a6 *Some cleanup (mostly whitespace changes)
--HG--
branch : trunk
2009-11-20 19:11:28 -08:00
maximius
7ad284bd33 *Some cleanup.
--HG--
branch : trunk
2009-11-19 03:53:49 -08:00
maximius
d22768a6b5 *Cleanup
--HG--
branch : trunk
2009-10-18 18:38:46 -07:00
maximius
3f338cc1c3 *Massive cleanup redux.
--HG--
branch : trunk
2009-10-17 16:20:24 -07:00
maximius
e585187b24 *Backed out changeset 3be01fb200a5
--HG--
branch : trunk
2009-10-17 15:51:44 -07:00
maximius
26b5e033ff *Massive cleanup (\n\n -> \n, *\n -> \n, cleanup for(...) to for (...), and some other cleanups by hand)
*Fix a possible crash in Spell::DoAllEffectOnTarget

--HG--
branch : trunk
2009-10-17 15:35:07 -07:00
maximius
73fd09f4d6 *Cleanup, fix a lot of potential crashes and typos.
--HG--
branch : trunk
2009-10-15 11:50:11 -07:00
maximius
a76ec97a06 *Add Reload AccessRequirement to reloadall command, by Xlybriem
--HG--
branch : trunk
2009-10-13 16:21:05 -07:00
Machiavelli
5654721269 * Modify .respawn command handler so that it does not work on pets, fixes crash in underlying object functions.
--HG--
branch : trunk
2009-10-09 23:00:02 +02:00
Machiavelli
b1e2eda5be * Some changes to command handlers. Patch by ogeraisi
--HG--
branch : trunk
2009-10-05 21:47:51 +02:00
maximius
0a9addd224 *Attempt to fix a crash, and sanitize some input.
--HG--
branch : trunk
2009-09-28 15:48:03 -07:00
maximius
f980dd9ac6 *Merge [8524] New cell search algorithm implemented. You can now choose different
visibility distances on continents, in BG/Arenas and instances. Author: Ambal
*Some warning cleanup

--HG--
branch : trunk
2009-09-27 02:24:25 -07:00
maximius
7396b641ae *Gundrak: GO Handling & Slad Ran script by Tartalo
*Cleanup, and don't consider creatures to be in combat if they have no victim, or if their victim is a GM.

--HG--
branch : trunk
2009-09-26 16:01:30 -07:00
maximius
333f1c9d72 *[8475] fixed some gcc-warnings Author: balrok
*[8476] Revert some recent cleanup changes, some other fixes and cleanups. Author: VladimirMangos
*[8489] Fixed player visibility update in case view point different from player itself. Author: SilverIce
*[8493] Avoid unexpected multiply error messages at wrong `quest_template`.`RewSpell*` Author: VladimirMangos
*[8496] Resolve some #include cycles and unsafe code.
* Common.h -> Threading.h -> Errors.h -> Common.h
* Remove reduncdent #include "ByteBuffer.h" in headers
* Remove redundent #include "Auth/BigNumber.h" in headers
* Avoid multyply data copy at use some now dropped functions in BigNumber.
* Avoid copy fixed byte count from byte arrays with unknown real size created from BigNumber.
* Avoid possible problems for build mangos at different platform or compilers. Author: VladimirMangos.
*[8501] Apply code style and cleanups to some Player functions. Author: VladimirMangos.
*[8502] Disable quests related to specific game events at startup if event not active. Also rename member boolean variable. Author: NoFantasy
*[8506] Add check for IsAutoComplete() in SendPreparedQuest().
For cases where quest is repeatable but has Method!=0, QuestDetails must be sent instead of RequestItems.
Some additional code cleanup. Author: NoFantasy
*[8507] Check amount of spawned pools before decrement to avoid unexpected result. Also rename variable to more meaningful name. Signed-off-by: NoFantasy <nofantasy@nf.no>

Thanks to Stryker and onkelz28!

--HG--
branch : trunk
2009-09-18 14:10:37 -07:00
maximius
140ec674a0 Backed out changeset d3fe2d6d504a (please test your patches thoroughly before getting me to push them ogeraisi)
--HG--
branch : trunk
2009-09-14 16:49:23 -07:00
maximius
b37f9b1e55 *Merged MaNGOS [8458], [8475], [8476] by ogeraisi, thanks to all authors :)
--HG--
branch : trunk
2009-09-14 16:02:13 -07:00