Commit graph

5650 commits

Author SHA1 Message Date
cipherCOM
a81cf28610 [11167] Added CMake support
(based on cipherCOM's commit 0039476)

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2011-02-14 12:56:50 +03:00
cipherCOM
c9942fb0cc [11166] Removed old autoconf files
(based on cipherCOM's repo commit 7b5a932)
2011-02-14 12:56:11 +03:00
VladimirMangos
b3aa3c2b22 [11165] Fixed existed win projects for build not modified tbb sources.
Instead modify #include paths in TBB sources added expected include paths to VC projects
2011-02-14 12:54:33 +03:00
cipherCOM
21794edc44 [11164] Changed TBB lib to same version but with make script
(based on cipherCOM's repo commit e8a538e)

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2011-02-14 12:53:53 +03:00
cipherCOM
cc8a11bff7 [11163] Stripped ACE library to only needed files
(based on cipherCOM's repo commit 403799b)

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2011-02-14 12:51:47 +03:00
cipherCOM
571f510ee4 [11162] Changed ACE lib to same version but with configure script
(based on cipherCOM's repo commit d3d8934)

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2011-02-14 12:51:16 +03:00
VladimirMangos
387f8a965a [11161] Implement Map copy local grid spawn data support.
Currently this functionality not used, but soon planned be used
in connection wiht map persistent state specific pool system data.

In different from grid spawn data stored in ObjectMgr and used for global
(comon for all map copies) spawns from DB data or from gameevent system,
map locla spawn data used for independet grid spawns like expected to be
for pool system case when it will work in full power in instances.
Maybe for something other, like script dependent "static" spawns
not dependent from grid load state.
2011-02-14 10:41:30 +03:00
foohey
30cb26d86a [11160] Lost from_unixtime(integer) function in prev postgre_compatibility_addon.sql
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2011-02-14 08:39:47 +03:00
VladimirMangos
04c21c95d3 [11159] Remove now redundent GetDBTableGUIDLow support.
Now any creatures/gameobjects loaded base at DB data
in non-instanceable/instanceable maps always have same guid
as in DB data.

* Also remove useless by same reasons MaNGOS::GameObjectWithDbGUIDCheck
2011-02-14 07:20:09 +03:00
VladimirMangos
654dac1e11 [11158] Fixed respawn times loading for instances.
Now MapPersistentState will created for instances at repawn time load if any not expired timers
still exist.
2011-02-14 00:27:06 +03:00
oceanor
85a8a3eed9 [11157] Fixed typo in m_GameObjectFirstGuid init.
In result typo new summoned/spawned GO can get unexpected
non-free guids with strange results dependent from load
status of related static GO spawn (low chance conflict in fact).

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2011-02-13 20:45:08 +03:00
SilverIce
76ea11489d [11156] Update speed for controlled units in any case, does not matter if owner's speed was really changed or not
Also remove static attribute from my prev. commit, thanks to vladimir
2011-02-12 22:40:46 +02:00
foohey
f31a2d3d84 [11155] Provide way define UNIX_TIMESTAMP/FROM_UNIXTIME for PosgreSQL users.
If mangos build for use Postgre SQL server
Queries from sql/postgre_compatibility_addon.sql must be used
at least one time for each mangos DB part stored in Postgre SQL server.

File constent based at article in http://janusz.slota.name/blog/

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2011-02-12 23:04:27 +03:00
VladimirMangos
f6affaf406 [11154] Revert "[11143] Spells with unit-type and destination flag should not be LOS-dependant"
This reverts commit 2e57df9f71330e278dbdf98b3f43d1d7bd5ec8d4.

* For original spells referecned in commit title:
  Posible instead LoS check it must use outdoor check instaed ignore any LoS like checks.
* Main reason for revert second part check that in _addition_ to referecned spell let ~1200 spells ignore los
  some from that have description ponting to need los check for its
2011-02-12 22:36:00 +03:00
VladimirMangos
709dd6fed8 [11153] Apply at least same checks at used at hit for miss aggro.
* Miss cases must have not less stricted checkd for combat start for comparison with normal hit.
* Also cleanup code
2011-02-12 22:14:43 +03:00
VladimirMangos
241726bf81 [11152] Clarify check code for SPELL_ATTR_EX5_USABLE_WHILE_STUNNED cast allowed 2011-02-12 21:22:52 +03:00
Darkknight900
4709c7ecb3 [11151] Fixed typo in AddCreatureToRemoveListInMapsWorker.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2011-02-12 21:09:00 +03:00
VladimirMangos
a598fb5312 [11150] Enable GameEvent system full features for instanceable maps. 2011-02-12 20:38:58 +03:00
SilverIce
4aa3361f51 [11149] Correct MSG_MOVE_SET_*_SPEED packet structures
Also update movementInfo ms time to actual server side time(need keep it updated at sending always)
2011-02-12 17:11:06 +02:00
NeatElves
ec432ea452 [11148] Add dummy effect for spell [74904]
Signed-off-by: Ambal <pogrebniak@gala.net>
2011-02-12 17:07:16 +02:00
nos4r2zod
9adb955f2a [11147] Fix a potential exploit with multicast bars - allow place only totem spells in these slots
Signed-off-by: Ambal <pogrebniak@gala.net>
2011-02-12 17:03:31 +02:00
Toinan67
ec123b59a6 [11146] Proper damage for spells [68793] and [69050]
Signed-off-by: Ambal <pogrebniak@gala.net>
2011-02-12 16:28:57 +02:00
Feanordev
6bdbfc52d4 [11145] Creatures should get into combat if spell/attack is missed or resisted
Signed-off-by: Ambal <pogrebniak@gala.net>
2011-02-12 16:17:59 +02:00
darkstalker
3d4caa275b [11144] Prevents abilities that are 'usable while stunned' being usable while in non-stun effects. The usability while stunned is restricted only to stun auras with mechanic stun
Signed-off-by: Ambal <pogrebniak@gala.net>
2011-02-12 15:59:14 +02:00
Feanordev
01e4f25888 [11143] Spells with unit-type and destination flag should not be LOS-dependant
Signed-off-by: Ambal <pogrebniak@gala.net>
2011-02-12 15:53:42 +02:00
dpedroia15
4483cbc06d [11142] Implement dummy effect for spell [3360]
Signed-off-by: Ambal <pogrebniak@gala.net>
2011-02-12 15:22:55 +02:00
Schmoozerd
f4e8c3d679 [11141] Add use of SpellMod for melee spells as needed, for exaplme, for some talents
Signed-off-by: Ambal <pogrebniak@gala.net>
2011-02-12 15:14:39 +02:00
Shadez
2bb00743e5 [11140] Properly reward faction related titles to player when achievement has been completed
Signed-off-by: Ambal <pogrebniak@gala.net>
2011-02-12 15:01:26 +02:00
VladimirMangos
cf685da47a [11139] Use for Creature/GameObject local per-map guids
* Creature/GameObject guid generators moved to Map
* For avoid wrong not converted cases generic function in ObjectMgr has been replaced by
  specilized guid generation function like sObjectMgr.GeneratePlayerLowGuid().
  This let catch all cases that need update in custom code or scripts.
* Drop many ObjectAcessor.h now dead code. This is also make mangos more thread safe.
* Restore one more time unix build broken in prev. commits.

Note: many cases when something not wotk in instance but work in continents
possible magicly start work after this commit. For example, some gm commands.
From large systems that need more chnages for start work in full power in instances
can be referecned pool/gamevent system. Last need just small hacks drop changes but
in will addded in independent commit.
2011-02-12 09:52:16 +03:00
VladimirMangos
9a8a74c2ad [11138] Make sure GameEvent/Pool systems work with static instance object guids
* Pool System for correct full power work in instance need implement
  MapPersistentState local pool system state for instanceable maps.
  Unit this not implemented pool system must avoid creating/despawn/touch
  instance map objects. Currently this work because instance map object use
  dynamic generated guids and "invisible" for Pool System, with explcitly forbiden
  for it spawn directly new objects. Code changes add explicit checks for preserve
  this way work for time when instance object will use static guids. When local pool
  state storing in persistent state this protection checks will possible drop.
  Non-instanced working cases converted in local map object search calls.

* GameEvent Systems currently have code that work correctly only with objects at
  non-instanced maps by same reasons as Pool System. But in different Pool System
  case game event activate/deactivate expected applied to _all_ object copies in all
  existed instanceable map copies. Code modified for work in expected way.
  Direct spawn disabled for instanceable maps until swith to static guids.
  Despawn code will make affect only for non-instanceavble maps unit swithc to static guids as-is.
  This is preserve current code working result.

* Convert last case usage global creature search in aura code to map local case.
  Player case also possible not need now after including caster damage/heal mods
  part to aura base damage/heal. In any cases player case preserved in old way work.

NOTE: this last places dependent from global creature/gameobject guid search so look like this
      make possible start direct work to switch instances use static guids instead dynamic generated
2011-02-12 07:24:04 +03:00
VladimirMangos
47060fe4b1 [11137] Fixed crash at reset normal dungeon while map loaded.
* Map Persistent noe have direct pointer back to map if map loaded.
  That let simplify some code and avoid map search.
* Crash showup in result changes in code logic related to reset processing.
* Also fix more old bug with reset normal dungeon with not loaded map.
* Reverse MapPersistentState::HasRespawnTimes and MapPersistentState::HasBounds() results
  to expected for function names and update related calls.

Thanks to Schmoozerd for help in research problem.
2011-02-12 06:44:52 +03:00
VladimirMangos
5858aae4d9 [11136] Add Creature::FillGuidsListFromThreatList for safe guid iteration from threat list.
Often not 100%-safe iterate by live threat list because called code can modify threat list (reset for example).
2011-02-11 21:37:12 +03:00
rsa
37afce30e0 [11135] Maybe finally fix *nix build.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2011-02-11 20:40:16 +03:00
VladimirMangos
3bfe4bbd3b [11134] Make GCC happy and restore build at *nix. 2011-02-11 18:15:50 +03:00
VladimirMangos
da1b616312 [11133] Implement template functions for call functor for all Map/MapPersistentState with some map id. 2011-02-11 04:05:18 +03:00
LordJZ
f4a2a582d9 [11132] Typo in local var name.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2011-02-11 01:05:14 +03:00
VladimirMangos
26a4eed36c [11131] Check restriction for pool spawns at instanceable maps.
Pool system can't have mixed pool spawns at different maps
if one from map instanceable. In last case all pool spawns
must be at same instanceable maps for any pools that have
common mother pool.

Now this checked at server sartup.
2011-02-10 20:20:02 +03:00
VladimirMangos
d7cf24970a [11130] Make abstract function with body syntax compatible with GCC. 2011-02-10 19:36:07 +03:00
VladimirMangos
6d26ec0e7f [11129] Added WorldMap/WorldPersistentState subclass for non-instanceable maps.
This let have symmetric Map/MapPersistentState (sub)classes hierarchy.
2011-02-10 18:52:23 +03:00
NeatElves
98aff742c1 [11128] Fixed Unix build.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2011-02-10 15:58:22 +03:00
VladimirMangos
108feb993d [11127] Rename src/game/InstanceSaveMgr.* -> src/game/MapPersistentStateMgr.* 2011-02-10 05:35:07 +03:00
VladimirMangos
dde16bc48c [11126] Rewrite InstanceSaveMgr related code.
* For better fit name to related map type class InstanceMap renamed -> DungeonMap.
  This clarify usage Instanceable()/IsDungeon() because BG/Arenas maps also instanceable maps.

* InstanceSave have many code related to only DungeonMap case, so it replaced by 3 new classes:
   - MapPersistentState as base class, used for non-instanceable maps (continents and some other) (!Instenceable())
   - DungeonPersistentState subclass of MapPersistentState, used for DungeonMap states (IsDungoen())
   - BattlegroundPersistentState subclass of MapPersistentState, used for BattlegroundMap states (IsBattleGroundOrArena())

   Now all dungeon resets code moved to subclass and all player/gpoup bound functions/structures also use it.

* Map::GetInstanceSave renamed to Map::GetPersistentState and DungeonMap have specialized version
  return DungeonPersistentState (same pointer in fact with proper subcalss type)

* InstanceResetScheduler renamed to DungeonResetScheduler
2011-02-10 05:20:56 +03:00
NoFantasy
0d16b0bdc7 [11125] Add dummy effect of spell 39189
Signed-off-by: NoFantasy <nofantasy@nf.no>
2011-02-10 00:58:54 +01:00
VladimirMangos
01178b69e5 [11124] Avoid save in DB instance/respawn data for BGs/Arenas.
* Fixed bug with not unloaded InstanceSave for BGs/ArenasPartly.
  This bug introduced with recent InstanceSave creating for all maps.
* Avoid save respawn data to DB for BGs/Arenas.
  No reason save to DB because BGs/Arenas reset at map unload.
* Always create InstanceSave for Map without recheck suggested data integrity.
  Map::GetInstanceSave expected always return != NULL value.
2011-02-09 18:34:29 +03:00
VladimirMangos
6cfa64db97 [11123] Move respawn data to InstanceSave.
This make prev commit more useful.
In future InstanceSave also planned store local pools state.
2011-02-09 06:09:32 +03:00
VladimirMangos
852c4ddf32 [11122] Create InstanceSave for non-instanceable maps.
This preparation for use structure for store another map persistance data like respawn times.
2011-02-09 04:00:14 +03:00
VladimirMangos
cd867eadef [11121] Really create records in world table for non-instanceable maps. 2011-02-09 01:01:34 +03:00
NoFantasy
e3387ec6b0 [11120] Remove all auras at creature respawn.
This will remove death persistent auras and AI does no longer need to remove any such auras at respawn manually (GM will still see the death persistent aura all until creature respawn).

Signed-off-by: NoFantasy <nofantasy@nf.no>
2011-02-08 21:21:08 +01:00
VladimirMangos
8354de4927 [11119] Fixed whitspaces line. 2011-02-08 05:01:24 +03:00
VladimirMangos
ad29153ee0 [11118] Not report empty world_template as error. 2011-02-08 04:40:16 +03:00