Commit Graph

147 Commits

Author SHA1 Message Date
Discover-
1b77fd45fa Core/SAI: Revert SMART_ACTION_SET_STAND_STATE from 013fe44b92, can be done with SMART_ACTION_SET_UNIT_FIELD_BYTES_1. 2012-05-30 01:00:55 +02:00
Discover-
154a030a68 Core/SAI: Fix previous commit. Thanks Shauren for notifying. 2012-05-29 12:29:10 +02:00
Discover-
013fe44b92 Core/SAI: Implement SMART_ACTION_SET_RANGED_MOVEMENT (79) and SMART_ACTION_SET_STAND_STATE (101). Updated wiki accordingly. These were required in order to properly be able to convert EventAI to SmartAI. 2012-05-29 12:19:46 +02:00
kaelima
c3287fee06 Core/SmartAI:
- Improve an error msg in ProcessAction
- Allow dist/angle to be 0.0f and set default if negative when using SMART_ACTION_FOLLOW
- Some minor cleanup in Opcodes.cpp, all smsg's should have Handle_ServerSide
2012-05-19 13:04:58 +02:00
Subv
50f2be538c Fixed build 2012-04-19 18:43:41 -05:00
Subv
a5aba350a0 Core/SmartAI: Allow SMART_ACTION_SUMMON_GO and SMART_ACTION_SUMMON_CREATURE to use x, y, z and o parameters as relative offsets for a summoning position (example, summon creature 20 yards in front of the invoker)
Signed-off-by: Subv <s.v.h21@hotmail.com>
2012-04-19 18:33:25 -05:00
Shauren
b5dc7bc45b Core/SmartScript: Fixed crashes with stored target lists
Closes #5786
2012-04-05 22:13:20 +02:00
Subv
6759bcab16 Core/SAI: Added a new event flag to allow events to NOT reset when the creature evades (SMART_EVENT_FLAG_DONT_RESET)
Closes #5568

Signed-off-by: Subv <s.v.h21@hotmail.com>
2012-04-05 12:10:56 -05:00
Shocker
a08cb234c0 Merge pull request #5918 from GyxTom/master
Core/Misc: Various cleanups
2012-03-28 18:00:42 -07:00
click
cf29214364 Core/AI: Fix some wannabe-invinceable typos here and there... 2012-03-29 00:47:56 +02:00
Gyx
1544b208da Core/Game: Code style again.
Signed-off-by: Gyx <2359980687@qq.com>
2012-03-28 20:00:29 +08:00
Subv
ac4536327f Core/SAI: Allow using SMART_TARGET_ACTION_INVOKER with SMART_ACTION_MOVE_TO_POS
Signed-off-by: Subv <s.v.h21@hotmail.com>
2012-03-21 19:37:21 -05:00
Discover-
c4fd6b89db Core/SAI: SMART_ACTION_MOVE_TO_POS will now have param1 as PointId. This means you can now (properly) use SMART_EVENT_MOVEMENTINFORM when reaching the point you make the NPC move to.
Wiki is updated accordingly.
2012-03-03 23:41:29 +01:00
Shauren
254256668b Core: Fixed compile without PCH 2012-03-01 23:45:07 +01:00
Shauren
09f0a2c04f Core/CreatureTextMgr: Added support for creature_text localization 2012-03-01 22:26:05 +01:00
Spp
1e246cb66c Fix build (gcc) and fix warnings 2012-02-22 09:15:57 +01:00
Subv
25d9e2ec29 Core/SAI: Implemented SMARTCAST_AURA_NOT_PRESENT as castflag, the spell will only be casted if the target does not have the aura
Signed-off-by: Subv <s.v.h21@hotmail.com>
2012-02-18 19:10:18 -05:00
click
5411e1ce52 Core: Clean up whitespace and tabs in the base sourcetree 2012-02-18 16:52:08 +01:00
Subv
8a72aede16 Codestyle: Renamed some variables to fit codestyle, corrected order in structure/class fields to match alignment (they use slightly less memory now)
Signed-off-by: Subv <s.v.h21@hotmail.com>
2012-02-14 12:46:26 -05:00
Subv
231b849ac4 Fixed build 2012-02-11 11:05:37 -05:00
Subv
5d93b33f0f Fixed codestyle from last commit 2012-02-11 10:53:33 -05:00
Subv
c5e2e189de Core/Conditions: Allow to set SAI conditions to both the invoker and the object using ConditionTarget column.
ConditionTarget 0 = invoker
ConditionTarget 1 = object

Signed-off-by: Subv <s.v.h21@hotmail.com>
2012-02-11 10:49:28 -05:00
QAston
9d455c1e6f Fix build with GCC (it seems like it doesn't allow using references to temporary objects). 2012-02-11 00:15:05 +01:00
QAston
ce4a4ffe50 Core/Db/Conditions: Add ContidionTarget column which allows selection of objects which will be checked by condition, depending on SourceTypeOrReferenceId.
So far usable only with CONDITION_SOURCE_TYPE_SPELL:
ContidionTarget = 0 - check caster
ContidionTarget = 1 - check explicit target
2012-02-10 23:42:08 +01:00
QAston
8713b44ee7 Core/Db/Conditions: Prepare conditions system to work on objects of different type than players.
Warning: API has changed a bit:
ConditionScript::OnConditionCheck(Condition* condition, Player* player, Unit* invoker) is now
ConditionScript::OnConditionCheck(Condition* condition, WorldObject* object, WorldObject* invoker)
2012-02-10 14:18:59 +01:00
Shocker
08be716ef8 Core/Misc: Rename UNIT_STAT_* enums to UNIT_STATE_* 2012-02-03 19:02:17 +02:00
Subv2112
229d4119e8 Core/SAI: Fixed SMART_ACTION_SET_INVINCIBILITY_HP_LEVEL
Signed-off-by: Subv <s.v.h21@hotmail.com>
2012-02-02 14:35:45 -05:00
Subv2112
74b64150bb Core/Conditions: Implemented SAI conditions, only usable with events in which the invoker is a player.
sourceType = 22
sourceEntry = entryorguid
sourceGroup = eventId + 1
sourceId = SAI sourceType (0 = creature, 1 = gameobject, etc)

Also refactored some code

Signed-off-by: Subv2112 <s.v.h21@hotmail.com>
2012-01-29 13:49:19 -05:00
Subv2112
3d4f55723c Core/SAI: Linked events should be executed after the event that linked them is executed.
Core/SAI: Allow SMART_EVENT_GO_STATE_CHANGED to use ActionInvoker target

Signed-off-by: Subv2112 <s.v.h21@hotmail.com>
2012-01-22 20:36:01 -05:00
Shauren
94c27e3cce Core/SmartAI: Fixed SMART_ACTION_SEND_TARGET_TO_TARGET for gameobject targets 2012-01-22 16:56:55 +01:00
Subv2112
c24248fabd Core/SAI: Allow SMART_ACTION_SEND_TARGET_TO_TARGET to target multiple targets at once, thanks Shauren 2012-01-22 10:46:32 -05:00
Subv2112
8e8be7e358 Core/SAI: CAST_AI will return NULL if the cast was not successful, no need to check for AIName, thanks Shauren 2012-01-22 10:42:13 -05:00
Subv2112
a3f595ee10 Core/SAI: Implemented SMART_ACTION_SEND_TARGET_TO_TARGET, it can be used to send targets previously stored with SMART_ACTION_STORE_TARGET, to another npc, the other npc can then access them as if it was its own stored list
Signed-off-by: Subv2112 <s.v.h21@hotmail.com>
2012-01-22 07:54:32 -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
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
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
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
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
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
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
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