Commit Graph

582 Commits

Author SHA1 Message Date
Meji d015711fbb Core/SAI: Implemented new source type SMART_SCRIPT_TYPE_EVENT (3) (#28816) 2023-07-09 11:59:35 +02:00
Meji 76d2f29e4e Core/SAI: Fixed event SMART_EVENT_WAYPOINT_ENDED (#29025)
* also moved "any" pointid to 0xFFFFFFFF for waypoint sai events:
* SMART_EVENT_WAYPOINT_REACHED
* SMART_EVENT_WAYPOINT_RESUMED
* SMART_EVENT_WAYPOINT_PAUSED
* SMART_EVENT_WAYPOINT_STOPPED
* SMART_EVENT_WAYPOINT_ENDED
2023-06-24 19:21:37 +02:00
ModoX 356c98579b Core/SAI: Drop waypoints table and move existing rows to waypoint_data table (#28834) 2023-04-08 01:33:05 +02:00
Meji 81ea6f54d9 Core/Creatures: Compute CombatReach and BoundingRadius using DisplayScale (#28863) 2023-03-30 18:54:27 +02:00
Shauren d26d38075c Core/Creatures: Allow disabling melee attacks for all creatures, not just the ones using SAI 2023-03-13 20:22:47 +01:00
Meji 7b14b9ef22 Core/SAI: Set the trigger player as baseobject when the source type isn't a WorldObject (#28767) 2023-01-31 19:38:34 +01:00
Shauren d791afae1d Core/Logging: Switch from fmt::sprintf to fmt::format (c++20 standard compatible api) 2023-01-08 21:16:53 +01:00
Shauren d8a4668c77 Core/Misc: Add missing Containers.h include where neccessary 2023-01-06 16:44:11 +01:00
Meji f291ca9796 Core/SAI: Improved SMART_ACTION_JUMP_TO_POS to mirror behavior similar to SMART_ACTION_MOVE_TO_POS (#28547)
*  Support for targets other than positions
*  Added param3 Gravity, to use MoveJumpWithGravity (priority over SpeedZ)
*  Added param4 UseDefaultGravity (priority over Gravity): 19.29110527038574
*  Added param5 PointId, useful for linking the jump to the event SMART_EVENT_MOVEMENTINFORM (Type: 16)
*  Added param6 ContactDistance
*  If the target is different from a position, target params for coords allow to add offsets
2022-12-30 17:48:33 +01:00
Aqua Deus 09591fbdb0 Core/SAI: Add action param 7 (#28519)
Co-authored-by: Shauren <shauren.trinity@gmail.com>
2022-12-30 16:32:37 +01:00
Meji e218f27602 Core/SAI: Added param PointId to SMART_ACTION_MOVE_OFFSET (#28555) 2022-12-22 23:51:49 +01:00
ModoX 204cf030cc Core/SAI: Move (any) value for SMART_EVENT_MOVEMENTINFORM point to 0xFFFFFFFF (#28417) 2022-10-31 21:33:57 +01:00
Shauren 133334a902 Core/Loot: Implemented personal loot and tag sharing for non-boss loot 2022-10-17 23:11:46 +02:00
offl b0164fb2b9 Core/SAI: Rename LeavingWorld to OnDespawn & use it in SAI (#28059)
(cherry picked from commit b9450bcdd0)
2022-09-05 19:43:09 +02:00
Meji 9ca8cf66e6 Core/SAI: Allow using default npc_text from gossip_menu with SMART_ACTION_SEND_GOSSIP_MENU (#28097) 2022-07-07 16:08:04 +02:00
Antonio Martín Berti a4eafbd3f6 Core/SAI: Added Action SMART_ACTION_DO_ACTION for calling DoAction on target AI (#27964) 2022-06-08 15:50:44 +02:00
Shauren 51299ab886 Core/SAI: Corrected wrong useSaiTargetAsGameEventSource logic in previous commit 2022-04-24 16:21:29 +02:00
Shauren 9d0187dd56 Core/SAI: Implemented new action SMART_ACTION_TRIGGER_GAME_EVENT 2022-04-24 15:02:40 +02:00
Shauren b8246d1ba7 Core/SAI: Support gameobject targets for SMART_ACTION_PLAY_ANIMKIT 2022-04-24 14:35:38 +02:00
Shauren b47185cabf Core/Misc: Rename AddXXXFlag updatefield functions to SetXXXFlag 2022-03-27 18:14:47 +02:00
Shauren 4eba978670 Core/Misc: Rename SetXXXFlags updatefield functions to ReplaceAllXXXFlags 2022-03-26 18:59:44 +01:00
offl 050f55b62f Core/AI: OnSpellCast, OnSpellFailed, OnSpellStart hooks (#27704)
(cherry picked from commit 3dca705acc)
2022-03-26 15:15:46 +01:00
offl 8b7effa4cf Core/SAI: Remove SMART_ACTION_ADD_AURA & actions to change object flags (#27571)
(cherry picked from commit 5ba93a95de)
2022-03-24 23:52:32 +01:00
offl 52bb230e4c Core/SAI: Use GetBaseObject as second param of SMART_ACTION_ACTIVATE_GAMEOBJECT & reorder GameObjectActions (#27461)
(cherry picked from commit 87cb0a4212)
2022-03-24 21:55:46 +01:00
offl 9ea8cdb457 Core/SAI: Remove SMART_ACTION_SEND_GO_CUSTOM_ANIM, make SMART_ACTION_ADD_AURA & SMART_ACTION_SET_GO_FLAG deprecated (#27452)
(cherry picked from commit 7709837539)
2022-03-24 21:48:47 +01:00
offl e27724b362 Core/SAI: Remove deprecated events and actions (#27258)
(cherry picked from commit c508203895)
2022-03-21 23:26:47 +01:00
offl ebcd45b7e1 Core/SAI: Remove reactState param from SMART_ACTION_WP_START (#27255)
Ref #26728

(cherry picked from commit 04909bada8)
2022-03-21 23:02:31 +01:00
Giacomo Pozzoni 791b759332 Core/SAI: Add SMART_ACTION_ACTIVATE_GAMEOBJECT action (#27216)
Closes #27196

(cherry picked from commit 0817be8f76)
2022-03-21 22:59:21 +01:00
offl 29190e5642 Core/SAI: Remove deprecated events and actions (#27039)
(cherry picked from commit 887605d945)
2022-03-20 00:13:00 +01:00
offl e80777cb39 Core/SAI: Split set/remove unit_flags actions (#26954)
(cherry picked from commit 0a2fca1aed)
2022-03-18 00:04:03 +01:00
offl f55e86d907 Core/SAI: Remove possibility to set/remove unit_flags2
So far I see that only Cannot Turn flag can be changed by scripts and action to change it didn't existed in 3xx. If someone will need to change that flag, it should be implemented by action which will change only that flag and not any flag of that type.

(cherry picked from commit c8061d8ba6)
2022-03-15 23:59:35 +01:00
offl 7d9088e9cf Core/SAI: Remove SMART_ACTION_INSTALL_AI_TEMPLATE (#26797)
(cherry picked from commit ff8663ca15)
2022-03-12 16:19:47 +01:00
offl 842eb3bdd7 Core/SAI: Remove SMART_ACTION_SET_DYNAMIC_FLAG (#26783)
(cherry picked from commit b3449158b1)
2022-03-12 01:20:06 +01:00
jackpoz fc3e26fdfe Core/SAI: Temporarily allow SMART_ACTION_WP_START to specify parameter value 3 for reactState
(cherry picked from commit 60379cf2c1)
2022-03-11 19:03:36 +01:00
Giacomo Pozzoni c9e685bd9a Core/SAI: Warn when an unused parameter is set in the database (#26628)
* Core/SAI: Warn when an unused parameter is set in the database

* Warn when an unused parameter is set in the database as all unused parameters are supposed to be set to 0.

* Remove unused struct from union.

* Add a new struct simpleTalk for SMART_ACTION_SIMPLE_TALK instead of reusing only some fields of struct talk from SMART_ACTION_TALK

* Add addAura and flag structs to be used instead of generic ones to match the parameters used by actions

* Add randRangeTimedActionList struct to be used instead of generic ones to match the parameters used by actions.

* Remove unused action structs.

(cherry picked from commit aa7279df09)
2022-03-11 18:35:58 +01:00
Giacomo Pozzoni a85e77b47a Core/SAI: Add a warning when a boolean value is outside of [0,1] range (#26608)
* Core/SAI: Add a warning when a boolean value is outside of [0,1] range

*  Replace boolean fields in SAI with SAIBool (from uint32)

(cherry picked from commit 84c8d21ad3)
2022-03-11 13:30:59 +01:00
jackpoz 40416d62f3 Core/SAI: Allow SMART_ACTION_SUMMON_CREATURE to summon more than 1 creature
Add 6th parameter "count" to SMART_ACTION_SUMMON_CREATURE action to summon more than 1 creature. For backward compatibility, a value of 0 will be treated as 1.

(cherry picked from commit 5628ca7f7c)
2022-03-11 10:43:08 +01:00
Giacomo Pozzoni 76c470fb32 Core/SAI: Add support to friendly+hostile to SMART_EVENT_OOC_LOS and SMART_EVENT_IC_LOS (#26579)
Change SMART_EVENT_OOC_LOS and SMART_EVENT_IC_LOS first parameter to have 3 values:
- 0 : Hostile
- 1 : Not hostile (not that Friendly and Not hostile have different meanings)
- 2 : Any, as in both Hostile and Not hostile

Close #24789

* Add validation on startup for allowed values.
Code cleanup.

* Fix errors

(cherry picked from commit 9e7cdb02d2)
2022-03-11 01:04:48 +01:00
jackpoz 67541c58ba Core/SAI: Fix typo
(cherry picked from commit 483f24c5ed)
2022-03-10 23:57:14 +01:00
HelloKitty a67bb1f575 Core/Map: Added Map::SetZoneOverrideLight std::chrono overload (#26486)
* Core/Map: Added Map::SetZoneOverrideLight std::chrono overload

* Scripts: Replace Map::SetZoneOverrideLight usages with new std::chrono overload

* Core/Map: Remove non-chrono Map::SetZoneOverrideLight overload

(cherry picked from commit e33c4b8f7f)
2022-03-09 14:56:04 +01:00
Engilas 8a4d731d55 Core/SmartAI: AI change on charmed (#26065)
* Fix AI refresh on charmed

* Remove unnecessary refresh

* Check SMART_EVENT_FLAG_WHILE_CHARMED flag

(cherry picked from commit f6e52f6b3d)
2022-03-06 21:40:42 +01:00
Giacomo Pozzoni a4a3e2e759 Core/Creature: Allow to skip Rate.Corpse.Decay.Looted when calling SetCorpseDelay() (#25989)
Add a second parameter to SetCorpseDelay() that specifies if Rate.Corpse.Decay.Looted setting should be ignored, false by default (aka don't ignore by default).
Add a second parameter to SMART_ACTION_SET_CORPSE_DELAY to specify if Rate.Corpse.Decay.Looted should be included, false by default (aka ignore by default).

(cherry picked from commit d5fc86af8b)
2022-03-06 18:59:38 +01:00
Giacomo Pozzoni 4c30b2a182 Core/SAI: Add new action SMART_ACTION_SET_HEALTH_PCT (#25932)
* Core/SAI: Add new action SMART_ACTION_SET_HEALTH_PCT

Add new action SMART_ACTION_SET_HEALTH_PCT (142) with one single parameter "percent" to set the Unit health.
Close #25317

* Do not allow 0%

(cherry picked from commit 7d6f7e4d19)
2022-03-06 01:43:57 +01:00
Kargatum 373ed8f46b Core: whitespace cleanup, reduce double blank line to single (#25795)
* Core/Misc: fix double empty line

* worldserver.conf

(cherry picked from commit a32b6b8ac4)
2022-03-05 20:07:57 +01:00
Giacomo Pozzoni da0d9ee283 Core/SAI: Fix SMART_EVENT_FLAG_NOT_REPEATABLE flag being ignored when specifying a chance (and other SMART_ACTION_CAST fixes) (#25778)
* Core/SAI: Fix SMART_EVENT_FLAG_NOT_REPEATABLE flag being ignored when specifying a chance

Fix SMART_EVENT_FLAG_NOT_REPEATABLE flag being ignored when specifying a chance, always making the action trigger.

* Fix SMART_ACTION_CAST with SMART_EVENT_FLAG_NOT_REPEATABLE not casting the spell at all if rolled chance was successful but creature couldn't cast the spell

* Prevent linked actions if SMART_ACTION_CAST couldn't be completed and will be retried later

(cherry picked from commit 96b289cadb)
2022-03-05 17:11:58 +01:00
Ovah dde5a3e326 Core/SAI: implement new smart actions to change AI Animkits and to enable/disable hover movement (#25623)
SMART_ACTION_SET_HOVER (parameter1: enable/disable)

* added SMART_ACTION_SET_AI_ANIM_KIT as immediately deprecated

(cherry picked from commit b7ba856b63)
2022-03-05 16:46:42 +01:00
jackpoz eb17e94b2e Core/SAI: Fix SMART_ACTION_WP_RESUME actually pausing next waypoint if the current path was not paused
Fixes #25519

(cherry picked from commit 5be7c2ad4f)
2022-02-28 14:42:53 +01:00
Giacomo Pozzoni 60519e947f Core/SAI: Fix SMART_ACTION_WP_PAUSE with 0 delay pausing the path only for 1 world loop update (#25471)
* Core/SAI: Fix SMART_ACTION_WP_PAUSE with 0 delay pausing the path only for 1 world loop update

* Add code comments

* Remove special handling of SMART_ACTION_WP_PAUSE in SMART_EVENT_WAYPOINT_REACHED

(cherry picked from commit 7dd51ae6d9)
2022-02-27 20:08:41 +01:00
Shauren ad4f4bfab7 Core/Misc: Minor game include cleanup 2022-02-13 00:49:10 +01:00
Seyden 79c6054369 Core/Objects: Use player as summoner for personal clones (#27716)
* This allows clones to properly inherit phases
2022-02-08 00:03:02 +01:00