Commit Graph

157 Commits

Author SHA1 Message Date
Vincent-Core
c37afafbbf Core/SmartAI: Fix target type SMART_TARGET_INVOKER_PARTY 2012-01-22 01:49:53 +01:00
Subv2112
07b1101a63 Core/SAI: Run mode should be disabled by default in creatures with SAI
Signed-off-by: Subv2112 <s.v.h21@hotmail.com>
2012-01-21 18:54:05 -05:00
Machiavelli
dbbac0bdaa Core/Movement: Implement spline movement subsystem.
Spline movement controls movements of server-side controlled units (monster movement, taxi movement, etc).
Proper implementation of effects such as charge, jump, cyclic movement will rely on it.
However, need improve our states system before.

Technical changes:

* Added linear, catmullrom and bezier3 splines which based on client's algorthims. They can be reused for proper transport position interpolation.
* Precission increased. There are no more position desync issues since client's position calculation formulas used.
* Now possible to move by paths with multiple points, send whole path to client.

--
Original author of research and implementation: SilverIce. Massive kudos.
Original port for Trinity (ref #4629) Chaplain and Venugh
With the following incremental fixes during my review:

- Restore flightmaster end grid pre-loading
- Fix uninitialized Creature::m_path_id
- Add missing trinity_string entries for .movegens command
- Fix a bug in WaypointMovementGenerator that would trigger unexpected pausing at waypoints for various amounts of time

Known issues:
- Errors like WaypointMovementGenerator::LoadPath creature XXX (Entry: YYYYY GUID: ZZZZZZ) doesn't have waypoint path id: 0.
This is caused by bad DB data. This commit didn't "break" it.

Do not forget to re-run CMake before compiling.
2012-01-14 15:36:07 +01:00
Machiavelli
5a504f94f7 Merge pull request #4700 from Subv/fix001
Core/SAI: Implement SMART_EVENT_GO_STATE_CHANGED and SMART_ACTION_GO_SET_LOOT_STATE
2012-01-07 11:24:53 -08:00
Subv2112
ddb4f0ce5b Core/Build: Fixed compile 2012-01-07 13:20:59 -05:00
Subv2112
3c4678085c Core/SAI: Removed unused variable: mResumeActionList
Signed-off-by: Subv2112 <s.v.h21@hotmail.com>
2012-01-06 22:31:38 -05:00
Subv2112
a40839fd7b Core/SAI: Changed SMART_ACTION_CALL_TIMED_ACTIONLIST params, now it has only 2, id and timerType
Signed-off-by: Subv2112 <s.v.h21@hotmail.com>
2012-01-06 22:29:26 -05:00
Subv2112
15d8763478 Core/SAI: Fixed the crash with using SMART_ACTION_ATTACK_START inside a TimedActionList, closes #4650
Signed-off-by: Subv2112 <s.v.h21@hotmail.com>
2012-01-06 22:24:11 -05:00
Subv2112
7f977c28b6 Core/SAI: Fixed the behaviour of SmartAI::RemoveAuras, it should only remove the auras that are applied on the unit by casters other than the unit
Signed-off-by: Subv2112 <s.v.h21@hotmail.com>
2012-01-06 20:50:05 -05:00
Subv2112
aaa255b83d Core/SAI: Implemented SMART_EVENT_GO_STATE_CHANGED and SMART_ACTION_GO_SET_LOOT_STATE
Signed-off-by: Subv2112 <s.v.h21@hotmail.com>
2012-01-06 11:09:01 -05:00
Subv2112
235b941964 Fixed a typo
Signed-off-by: Subv2112 <s.v.h21@hotmail.com>
2012-01-05 19:46:46 -05:00
Subv2112
d889edb436 Core/SAI: Self-casted auras should not be removed when the NPC resets
Signed-off-by: Subv2112 <s.v.h21@hotmail.com>
2012-01-05 15:09:55 -05:00
Subv2112
8197c37a92 Vehicles with SAI should not kick their passengers when resetting
Signed-off-by: Subv2112 <s.v.h21@hotmail.com>
2012-01-05 12:11:58 -05:00
Subv2112
7b094faa85 Core/SAI: SMART_ACTION_MOVE_TO_POS should not overwrite the effects of SMART_ACTION_SET_RUN
Signed-off-by: Subv2112 <s.v.h21@hotmail.com>
2012-01-03 16:13:34 -05:00
kiper
8299627ed9 Update headers for 2012. HAPPY NEW YEAR!!! 2012-01-01 00:32:13 +01:00
leak
73cf793e56 Core/DBLayer: Refactor prepared statement defines Note:
The new format for the middle section is a 3-letter upper case abbreviation of the sql command being executed (select -> SEL, update -> UPD, etc.)
{DB}_{SEL/INS/UPD/DEL/REP}_{Summary of data changed}
2011-12-31 20:14:38 +01:00
leak
ded31adfa1 Core/SAI: Restore build 2011-12-30 19:01:22 +01:00
Subv2112
bbfb21022f Fixed compile, thanks Lopin for pointing out 2011-12-28 07:10:59 -05:00
Subv2112
d7266c3cae Core/SAI: Added also SMART_TARGET_OWNER_OR_SUMMONER to SMART_ACTION_MOVE_TO_POS.
Codestyle

Signed-off-by: Subv2112 <s.v.h21@hotmail.com>
2011-12-27 20:37:42 -05:00
Subv2112
645a10d76f Core/SAI: Added support for SMART_TARGET_CREATURE_RANGE, SMART_TARGET_CREATURE_GUID, SMART_TARGET_CREATURE_DISTANCE, SMART_TARGET_GAMEOBJECT_RANGE, SMART_TARGET_GAMEOBJECT_GUID, SMART_TARGET_GAMEOBJECT_DISTANCE, SMART_TARGET_CLOSEST_CREATURE and SMART_TARGET_CLOSEST_GAMEOBJECT in SMART_ACTION_MOVE_TO_POS
Signed-off-by: Subv2112 <s.v.h21@hotmail.com>
2011-12-27 20:25:50 -05:00
Subv2112
c145c67331 Core/SAI: Enabled SMART_TARGET_STORED
Signed-off-by: Subv2112 <s.v.h21@hotmail.com>
2011-12-27 20:23:55 -05:00
Machiavelli
6c03bf9535 Core/Misc: Some random meaningless Engrish to English conversion in a method name because Discovered is too lazy to do it himself. 2011-12-19 22:06:29 +01:00
Machiavelli
aefbc5701c Core/SAI: Remove an improper value in case switch.. no idea when/how/why that got there, but it's conflicting with recent changes. 2011-12-11 19:04:21 +01:00
Machiavelli
1b2c413933 Core/SAI: Preliminary implementation of SMART_EVENT_GAME_EVENT_START and SMART_EVENT_GAME_EVENT_END {param1: game_event.entry} 2011-12-11 16:23:43 +01:00
kaelima
b10477a166 Core/SmartAI: Fixed crashes when using timed actionlist for gameobjects. 2011-12-10 13:44:06 +01:00
Machiavelli
f5b3553bb3 Core/SAI: Typo in second param of SMART_ACTION_SEND_GOSSIP_MENU. This is npc_text_id, not gossip_option_id. Wiki needs to be updated accordingly.
Thanks to Prodigy for pointing out.
2011-12-06 12:37:05 +01:00
kaelima
a919265623 Core/DB: Fix character creation in Player::SaveToDB.
And some misc comments/whitespaces
2011-11-26 01:53:44 +01:00
Shauren
638693e78f Core: Fixed more warnings (C6246: Local declaration of 'x' hides declaration of the same name in outer scope.) 2011-11-23 17:55:16 +01:00
kaelima
17e1f8a0d5 Core/SmartAI: Remove the requirement for only players to trigger SMART_ACTION_SOUND.
Closes #517
2011-11-13 06:40:14 +01:00
kaelima
bfdceaf07e Core/SmartAI: Initialized player pointer before use
Should fix #3757
2011-10-31 13:35:06 +01:00
kaelima
3d4d147196 Core/SmartAI:
- Drop useless actions SMART_ACTION_ENTER_VEHICLE, SMART_ACTION_LEAVE_VEHICLE and SMART_ACTION_REMOVE_PASSENGERS.
(Vehicles are aura-driven, just remove or add the proper aura to achieve the same as these actions did)
- Fixed possible crash in SMART_ACTION_SEND_GOSSIP_MENU
- Areatriggers should not be triggered by dead players
2011-10-31 02:01:17 +01:00
Nay
0b51b4ef0a Core/SAI: SMART_ACTION_TALK, if our action target is a player, use its guid as whisperGuid (used in whispers and in text $vars) 2011-10-30 14:26:49 +00:00
Nay
f17879d423 Core/SAI: Add input validation (params) to certain target types and update target comments 2011-10-30 13:12:39 +00:00
kaelima
f958fdf246 Core/SmartAI: Add actions SMART_ACTION_LEAVE_VEHICLE and SMART_ACTION_REMOVE_PASSENGERS.
Fix maxdist for SMART_TARGET_CLOSEST_PLAYER.
2011-10-25 23:50:00 +01:00
kaelima
6ca1487c48 Core/SmartAI: Fix target type SMART_TARGET_CLOSEST_PLAYER 2011-10-25 21:43:24 +01:00
kaelima
199bcf1a88 Core/SmartAI: Allow SMART_ACTION_FOLLOW to take 0 values for dist and angle - will set them to their "default" following values. 2011-10-25 19:08:21 +01:00
kaelima
f2000f3fb5 Core/Misc: Some minor cleanups
Fixed SQL added in prev commit.
2011-10-24 23:33:17 +01:00
kaelima
3a3af64f68 Core/SmartAI:
- Fixed some issues with SMART_ACTION_SET_FLY (#1073)
- Fixed allowing 0 as input for  SMART_EVENT_ACCEPTED_QUEST and SMART_EVENT_REWARD_QUEST (#2680)
- Some cleanup
2011-10-24 23:21:34 +01:00
Shocker
ce034bd544 Core/SmartAI: Delay spell cast events (SMART_ACTION_CAST) when another spell is already being casted.
Idea by ET
2011-10-23 21:34:50 +03:00
Nay
fec3db6e5d Core/SAI: Fix event phases when phase > 2
Again, phase ids != phase masks
2011-10-23 17:50:31 +01:00
Nay
5f58965fad Tiny typo on previous commit. 2011-10-23 13:01:04 +01:00
Geekotron
c2125ece3b Core/SAI: Add SMART_ACTION_SEND_GOSSIP_MENU.
It allows the scripter to change the gossip (and gossip menu option) of a creature with SAI
Param1 = `gossip_menu`.`entry`
Param2 = `gossip_menu_option`.`id`
2011-10-23 12:59:08 +01:00
kaelima
be0b2fcf97 Core/Grid:
- Simplified CellArea calculation (Original author: SilverIce)

- Removed unused code in Cell class (Original author: SilverIce)

- Improve some Visit functions.
2011-10-19 17:40:44 +01:00
megamage
c29ff41001 Rename some classes in grid system.
Note: The naming of classes is still confusing. "cell" usually refers to class "Grid", and "grid" usually refers to class "NGrid". But it requires a lot of changes to clean this up.
2011-10-18 10:53:34 -04:00
Rat
e23fe1845f Core/SmartAI: Updated SMART_ACTION_RESPAWN_TARGET, should work for GOs as intented. Param1 is to set GO respawn time. 2011-10-07 14:12:09 +02:00
Nay
8373e6c32e Core/Creature: Do not attack non-combat pets.
Fixes an issue where non-combat pets were aggroing other creatures
2011-10-01 16:57:10 +01:00
Nay
0f7d9e4837 Core/SAI: Fix an issue where SAI was ignoring civilian and passive unit flags
Closes #2526
Disclaimer: This was not thoroughly tested; report any issue caused by this change.
2011-10-01 16:29:23 +01:00
Spp
b16d2245bb Cosmetic: Multiple cosmetic changes
- Added missing space to 'if', 'for', 'while' and 'switch' when it's followed by '('
- Added missing space after a comma and remove space before comma (with some exceptions)
- Remove trailing spaces
- Convert tab to spaces

Note: Only affects files with extension "cpp" and "h" under /src/server
2011-09-29 12:43:05 +02:00
Rat
0ab9dd3f9f Core/SmartAI: Re-apply accidentally removed crash fix, whoops 2011-09-20 17:56:47 +02:00
Rat
41ad855bdf Core/SmartAI: fixed SMART_ACTION_SOUND, note: target(s) must be player(s)
Signed-off-by: Rat <gmstreetrat@gmail.com>
2011-09-20 17:46:40 +02:00