Commit graph

53 commits

Author SHA1 Message Date
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
bf0ecf6e71 [10947] Update copyright notice for 2011 year. 2011-01-01 20:33:43 +03:00
zergtmn
ec6089bbd8 [10935] Move script calls to ScriptMgr
- Script library presence is now optional.
- Some script hooks have new names. Scripting libraries need to be adjusted accordingly.

Signed-off-by: zergtmn <zerg@myisp.com>
2010-12-29 21:48:06 +05:00
Schmoozerd
16cd545df8 [10761] Basic support for target-name in MonsterSay/etc
Change MonsterSay's target to pointer.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-11-20 21:27:21 +03:00
Schmoozerd
146e7d3970 [10760] Remove unneeded non-player Say et al.
Now expected direct use non-player WorldObject::MonsterSay/etc version

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-11-20 21:26:07 +03:00
VladimirMangos
f5cf98e9f4 [10748] Convert MonsterSay/Say and similar functions to ObjectGuid use. 2010-11-19 20:34:23 +03:00
Ambal
f67d89f109 [10727] Map system re-engineered. Special thanks to Blueboy for tests.
Signed-off-by: Ambal <pogrebniak@gala.net>
2010-11-16 21:08:28 +02:00
DasBlub
61102e3b16 [10610] Renamed some functions from the Creature class
Also other classes have been affected, due to the use of search&replace.
This will probably break some patches and 3rd party libraries, so make sure to update them if required.
Thanks to Phille for the original idea and patch!
2010-10-14 22:07:04 +02:00
NoFantasy
3b35153b7d [10533] Revert [10528], simply wrong (scriptId already called properly)
Signed-off-by: NoFantasy <nofantasy@nf.no>
2010-09-25 11:33:15 +02:00
NoFantasy
f92518ee14 [10528] Run creature_movement_scripts also at first waypoint
Signed-off-by: NoFantasy <nofantasy@nf.no>
2010-09-24 19:05:53 +02:00
NoFantasy
db7db6382a [10362] Implement creature_movement_template
Template can be used for several cases:
* Unique creature that are already spawned in database (requires creature.MovementType=2 like guid based creature_movement)
* Summoned creature that has a pre-defined path (requires creature_template.MovementType=2)

Note that creature_template.MovementType=2 should be used with care, and must not be used for creatures that may be summoned in random locations in world.

Added additional startup checks for existing creature_movement-table

Signed-off-by: NoFantasy <nofantasy@nf.no>
2010-08-16 14:39:45 +02:00
NoFantasy
647f731e3b [10358] A small spoon of changes and cleanup for WaypointMovementGenerator
* Initialization to ensure destination is always set (prevent evade problem)
* Simplify how behavior for node is processed, incl fix MovementInform script call (based on idea/past code from Quriq14)
* Make sure last node is also processed correct (DB script for last node will now work as expected)

As usual if any problems occur, you can call our toll free customer support number.

Signed-off-by: NoFantasy <nofantasy@nf.no>
2010-08-14 23:38:49 +02:00
NoFantasy
c7761a6db9 [10355] Correctly clearUnitState at Interrupt of WaypointMovementGenerator for creature
Signed-off-by: NoFantasy <nofantasy@nf.no>
2010-08-13 12:31:38 +02:00
NoFantasy
2ad9cd34b2 [10299] Add new script call ProcessEventId
Let script library know when some event is about to start. Event id's may be found in several sources, such as spells, GO's and transport/taxi paths.
Database scripts may be prevented by returning true from script side whenever needed. If false, DB script will run like normal.
New database table event_id_scripts will need a ScriptName for the event id, in same way as for example areatrigger_scripts.

Signed-off-by: NoFantasy <nofantasy@nf.no>
2010-07-31 17:52:38 +02:00
Lynx3d
01d326b90d [10202] Rename isInFlight() to IsTaxiFlying() and UNIT_STAT_IN_FLIGHT to UNIT_STAT_TAXI_FLIGHT.
Also add IsFreeFlying() function to Player class.
2010-07-17 02:06:28 +02:00
NoFantasy
312a076491 [9891] Implement *_scripts for creature_movement
New field script_id in creature_movement can be filled for each waypoint point and run the corresponding script from creature_movement_scripts.
Script_id can be any value and several points/creatures can share the same script (with limits of course, such as script depending on location and other factors).

DB projects are advised to move current text, spells and emotes data in creature_movement fields as these fields are strictly no longer needed and may be fully removed in the future.

Signed-off-by: NoFantasy <nofantasy@nf.no>
2010-05-14 12:16:54 +02:00
VladimirMangos
722135b326 [9838] More log filters and macro uses.
* LogFilter_Weather
* LogFilter_PeriodicAffects
* LogFilter_PlayerMoves
* LogFilter_SQLText
* LogFilter_AIAndMovegens
* LogFilter_PlayerStats
2010-05-05 18:46:10 +04:00
VladimirMangos
3f5eccd8a9 [9830] Implement taxi/transport event scripts support. 2010-05-03 19:39:53 +04:00
VladimirMangos
57dcc84940 [9824] Use in taxi flight movegen original taxipath data. 2010-05-02 06:14:26 +04:00
VladimirMangos
5c7f6356d6 [9644] Changes in emotes work.
Waypoint/db script/event ai/'.npc playemote' emote data now auto select by emote id way to execute:
oneshot or persistent state

So if in referenced DB data wrongly used state emote as oneshot case this will work in different way now.
2010-03-30 22:13:55 +04:00
VladimirMangos
c179c45087 [9461] Some another cases when movegen can be lost while updating. 2010-02-27 01:21:16 +03:00
VladimirMangos
73eeac234f [9454] Fixed some time existed multi-map taxi problem.
Interrupt taxi movegen at far teleport time with remove related state.
Far teleport triggered code not expect this state set.
2010-02-26 00:48:10 +03:00
VladimirMangos
87b08b4fa1 [9445] Possible fix often crashes in waypoint movegen.
Thanks to DrKLO for research source of problem!
2010-02-24 22:40:16 +03:00
VladimirMangos
0dfc2093d5 [9437] Move waypoint's GetResetPosition function body to .cpp. 2010-02-23 04:16:48 +03:00
VladimirMangos
d3fc17a81d [9435] Avoid useless creature running around at evade
* If creature near respawn point and by defult do random movement
  then restart from current point
* If creature have default waypoints movegen restart from last
  updated point. Not reload waypoints
2010-02-22 22:56:13 +03:00
VladimirMangos
f47f5a1deb [9434] Prevent crash at script call that modify movegen list at MovementInform call. 2010-02-22 22:04:08 +03:00
tomrus88
db547a008a Get rid of monster movement flags, since it's really spline flags.
Thanks to Ralek for research.
2010-02-07 15:03:36 +03:00
VladimirMangos
64ba6c5714 [9213] Fixed typos in unit states used in waypoint movegen. 2010-01-19 16:15:23 +03:00
VladimirMangos
6a2e8064f1 [9208] Big cleanup in UNIT_STAT_* use
* Re-number enums by function groups and use where possible new defined masks in code instead raw enum |-lists.
* Avoid use movement generator generic state markers like UNIT_STAT_CONFUSED for mark movement stoped.
  Add special shadow UNIT_STAT_CONFUSED_MOVE/etc states for like use.
  UNIT_STAT_CONFUSED in like case will be safe expect use for normal checks confused state presence
  And UNIT_STAT_CONFUSED_MOVE for check real move in this state
2010-01-18 11:59:10 +03:00
VladimirMangos
98adbbc3d3 [9206] Some code cleanups.
* UNIT_STAT_SEARCHING not used
* Remove some commented wrong code
* WaypointMovementGenerator<Creature>::Initialize() not have code
2010-01-18 09:13:50 +03:00
VladimirMangos
fe6e2e1746 [9122] Updated copyright notice for new year.
Also fix some lost in past cases.
2010-01-08 00:02:21 +03:00
NoFantasy
1eafc8dfc4 [8989] Clean up parts of WaypointMovementGen code for better readability
Signed-off-by: NoFantasy <nofantasy@nf.no>
2009-12-14 09:31:00 +01:00
XTZGZoReX
0734adb746 [8789] Rename several singleton macros to use more consistent names.
* objmgr -> sObjectMgr
 * spellmgr -> sSpellMgr
 * WaypointMgr -> sWaypointMgr
 * poolhandler -> sPoolMgr
 * objaccessor -> sObjectAccessor
 * mapmgr -> sMapMgr
 * sInstanceSaveManager -> sInstanceSaveMgr
 * ticketmgr -> sTicketMgr
 * CreatureEAI_Mgr -> sEventAIMgr
 * auctionmgr -> sAuctionMgr
 * achievementmgr -> sAchievementMgr
2009-11-08 12:11:34 +01:00
NoFantasy
65965bc5fa [8642] Replace the Spanish word 'hostil' with the English one.
Signed-off-by: NoFantasy <nofantasy@nf.no>
2009-10-14 12:46:10 +02:00
balrok
02d45b4b54 [8625] feign_death cleanups
use an extra function for setfeigndeath()
like it's done with setfeared already..
allow to apply feigndeath on creatures too
avoid moving of creatures with feign death applied
and start attacking last victim when feigndeath disappears
2009-10-11 14:22:52 +02:00
balrok
bd30769dec [8475] fixed some gcc-warnings
all warnings from Wunused
and some from Wall

cause unused may be most interesting for some:
they were in following files:
src/game/Level2.cpp
src/game/Map.cpp
src/game/SpellAuras.cpp
src/game/Unit.cpp
src/mangosd/Master.cpp
but i guess mostly someone just fogot to remove this code

for some unsigned vs signed warnings i used:
ack "for.*int .*size\(\)" | ack -v uint

also note for coding:
if you do something like
    if( a && b || c)
just place parentheses around (a && b) && always will have
precedence over || but without parentheses this could be overseen
quite fast (at least that's my guess why gcc will warn for this)

Signed-off-by: balrok <der-coole-carl@gmx.net>
2009-09-05 13:47:47 +02:00
NoFantasy
b5c62ba9e5 [8347] Call MovementInform when expected for waypoint movement generator.
Also set waypoint as done, regardless of empty node behavior or not.

Signed-off-by: NoFantasy <nofantasy@nf.no>
2009-08-10 23:30:03 +02:00
NoFantasy
8e6386aac0 [8282] Correct typo in SetStoppedByPlayer() and it's related.
Signed-off-by: NoFantasy <nofantasy@nf.no>
2009-07-31 12:54:44 +02:00
VladimirMangos
21a6a26386 [8077] Resolve mixed store and use 2 different flags values types in single field.
* Create new monster move field in Creature class and use it in all cases when expected use MONSTER_MOVE_* flags.
* Store and use MOVEMENTFLAG_* values in field in MovementInfo structure of Player class.
* Cleanups and fix related code.

NOTE: DB in creature_addon store values similar MONSTER_MOVE_* flags, scritps also expected set only this flags.
2009-06-26 01:57:34 +04:00
thenecromancer
00fc1d7593 [8076] Fixed well known walk-after-taxi bug.
Also thanks to jolan, yad02, nos4r2zod for deep reseach problem.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-06-25 09:17:10 +04:00
Ambal
b76c4c2f3c [8026] Obtain object's map directly by calling appropriate WorldObject::GetMap()/GetBaseMap() functions instead of accessing MapManager. Code cleanups. Big thanks Infinity for tests.
Signed-off-by: AlexDereka <dereka.alex@gmail.com>
2009-06-16 12:47:02 +04:00
tomrus88
7e938af972 Updated to latest PTR client build 9868. 2009-05-05 10:41:22 +04:00
tomrus88
b980e9ac59 Updated to 3.1.2.9855 client build, fixed quests, some work on monster movement. Not tested. 2009-05-02 19:41:00 +04:00
tomrus88
d4323e0071 Merge commit 'origin/master' into 310
Conflicts:
	src/game/CharacterHandler.cpp
	src/game/Player.cpp
2009-04-29 11:51:15 +04:00
zhenya
8144f30199 [7730] Some optimizantion and code style.
Signed-off-by: AlexDereka <dereka.alex@gmail.com>
2009-04-29 01:05:21 +04:00
tomrus88
9d2acc22b4 Merge branch 'master' into 310
Conflicts:
	src/game/GameObject.cpp
2009-03-18 07:45:29 +03:00
VladimirMangos
b1e712f32f [7480] Clear flight flag early for safe. 2009-03-17 21:35:52 +03:00
tomrus88
a8f7f57065 New client build, SMSG_MONSTER_MOVE partly fixed 2009-02-26 11:39:00 +03:00
arrai
c6f48843ad [7017] Updated copyright notice for new year 2009-01-03 18:09:51 +01:00
VladimirMangos
3da9f3f4cc [6889] Backport some not client version specific changes and fixes from 303 branch. 2008-12-09 14:08:29 +03:00