Commit graph

125 commits

Author SHA1 Message Date
billy1arm
c94dbc84c2 [m] Lots of Doxygen fixes/additions - thanks to lfxGroove 2020-02-17 08:59:03 +00:00
billy1arm
ef445ea523 [12632] Revert previous commit (see Notes) 2020-02-17 00:54:15 +00:00
Dramacydal
bf5c6b1ddd [c12562] Cleanup Style 2020-02-16 23:12:16 +00:00
Schmoozerd
a27787851c [c12537] Update Authorship information
(based on commit [12388] - 037f217)

Signed-off-by: Xfurry <xfurry@scriptdev2.com>
2020-02-16 21:27:46 +00:00
Schmoozerd
a05738717a [c12536] Happy New Year 2013
Update authorship information and prepare for easier ways next year

Signed-off-by: Schmoozerd <schmoozerd@cmangos>

(based on commit [12325] - b7dbcda)
2020-02-16 21:25:01 +00:00
Schmoozerd
36cb073438 [12102] Implement ACTION_T_CHANCED_TEXT
This action allows to display a text with a chance.
The Chance must be provided in param1, text(s) can be provided in param2, optionally param3
2020-02-16 19:17:40 +00:00
Schmoozerd
835d1c7479 [12069] Cleanup comment style 2012-07-22 14:39:31 +02:00
stfx
3707b04330 [12066] Optimize some parts for ++C 2012-07-21 17:15:11 +02:00
Schmoozerd
e32b9953a1 Cleanup Operator padding 2012-07-20 17:38:23 +02:00
Schmoozerd
c5c09cee3c Various Cleanups (game C-E) 2012-07-19 21:45:58 +02:00
Schmoozerd
8c29893310 [11964] Implement new conditions system
Tree-like design idea by Faramir118, thanks for that!

* Add `conditions` table to store conditions.
* REPLACE current handling of conditions for the *_loot_template tables
  Convert the old conditions in *_loot_template to the new system by SQL-Queries
* ADD support for new conditions to gossip_menu and gossip_menu_option.
  If for these tables no condition_id (new system) is provided, the old conditions will still be used
* Add a small helper python script to contrib/convertConditions, see README there for details
* Add new command to reload the `conditions` table (.reload conditions)
* Add two Meta-Condition types CONDITION_AND (-1) and CONDITION_OR (-2) which are used as:
  value1 (as condition_entry) AND / OR value2 (as condition_entry)

  With these meta-conditions it is possible to create tree like and very complicated combined conditions (like HasAura && (HasItem || HasQuest))

NOTE about conversion:
For easier convertion all the old table data is still preserved, but will be removed eventually (within a circle of the moon approximately)
The python script will not create an optimal initial fill of the `conditions` table. You might want to tweak it manually or suggest some optimized algorithm :)

Signed-off-by: Schmoozerd <schmoozerd@scriptdev2.com>
2012-04-15 23:06:00 +02:00
Quriq14
97cb838de1 [11901] Prevent EVENT_T_TIMER_OCC to expire while evading
Signed-off-by: Schmoozerd <schmoozerd@scriptdev2.com>
2012-02-06 21:18:39 +01:00
Schmoozerd
8068dcf6dd [11875] Update Copyright notice to year 2012
Start timemachine and a Happy new year to all!
2012-01-16 17:43:59 +01:00
Schmoozerd
4ba5aa83e3 [11523] Implement .npc aiinfo
Comamnd show information about used AI and scripts for targeted creature.
AI classes (including from script DLL) can provide additinal info about own state.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2011-05-23 03:05:05 +04:00
NoFantasy
ecdb435b1e [11489] Remove the old and custom UNIT_NPC_FLAG_GUARD for creatures.
Existing data moved to flags_extra field, with value CREATURE_FLAG_EXTRA_GUARD (0x400 / 1024).
Remove isGuard() from Unit class to a new IsGuard() function in Creature class.

Signed-off-by: NoFantasy <nofantasy@nf.no>
2011-05-14 19:17:13 +02:00
VladimirMangos
ef6a48fe03 [11465] non-ObjectGuid guids in random places.
Only ChannelMgr code wide use uint64 guids now, and Map object stores.
2011-05-10 21:27:49 +04:00
NoFantasy
889ce13264 [11316] Implement a basic system to restore default faction for creatures after changes
A new specialized function SetFactionTemporary for creatures are added. It work just like setFaction but has in addition option to set flags.
The flags determine if default faction should be restored and when; most commonly just before respawn and when reaching home after evade.

SCRIPT_COMMAND_SET_FACTION for DB scripts and ACTION_T_SET_FACTION for creature_ai_scripts are now capable of using the system (documentation updated)

The intention of the system is to be able to solve basic events that include faction changes, with the use of database only and in easier ways.

It is advised that DB devs revise current database scripts to check if changes should be made. The same goes for EventAI devs regarding ACTION_T_SET_FACTION.

Signed-off-by: NoFantasy <nofantasy@nf.no>
2011-04-05 15:04:39 +02:00
VladimirMangos
caf9f0cae2 [11109] Move DoMeleeAttackIfReady to CreatureAI and reuse more wide. 2011-02-05 21:20:21 +03:00
VladimirMangos
8c5ce115c9 [11107] Fixed possible crash in CreatureEventAI melee attack proccessing.
Added target check to CreatureEventAI::DoMeleeAttackIfReady,
but crash possible as result proccesing in caller function before melee attack
different EventAI events that possible can remove combat state or target.
2011-02-05 03:24:21 +03:00
Schmoozerd
8e68d1bcaf [11105] Melee attacks distance
Inspired by patch provided by Feanordev.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2011-02-03 01:25:32 +03:00
VladimirMangos
fda171d6bd [10961] Avoid use scripting support wrappers for internal server code. 2011-01-04 22:48:04 +03:00
VladimirMangos
bf0ecf6e71 [10947] Update copyright notice for 2011 year. 2011-01-01 20:33:43 +03: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
VladimirMangos
f5cf98e9f4 [10748] Convert MonsterSay/Say and similar functions to ObjectGuid use. 2010-11-19 20:34:23 +03:00
kid 10
b435aa350f [10701] Correct check percent spell costs in AI::CanCast
Also use uint32 for spell cost fields/results

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-11-08 22:38:35 +03:00
VladimirMangos
10d3d3ce24 [10692] Fixed some GCC warnings and code errors.
Thanks to freghar for provide cleaned list of warning messages.
2010-11-07 21:30:55 +03: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
VladimirMangos
b0edd807d7 [10513] Clear grid *Check/*Searcher clases use
* Check class considered have all info select  object in world from suggested but grid walker list in some grid.
  This also meaning that Check must always have focus object around that (and in same phase) fit objects must be.
* Searcher only must ask Check and know how from all objects fiting to Check select result object(s).

For this reason and for better compatibility removed first arg (searcher) form all Searcher classes.
Instead expected used Check::GetFocusObject() object if need ( by always need check and simolify Check classes
phase checked in Search classes). This also restore source code compatibilty in related lines with prev.client
version branches code.

* While focus object adding fixed possible wrong phase object selection at stealth detection and at corpse searches.
2010-09-22 06:25:21 +04:00
kamikazetg
1544c97525 [10510] Reimplement aura stack checking EventAI events.
* In consistent with other EVENT_T_TARGET_* apply event
  to current combat target.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-09-20 13:29:22 +04:00
VladimirMangos
1753942154 [10495] Clarify not working state for target buf events in EventAI
Unclear how provide target for event...
2010-09-17 23:03:57 +04:00
VladimirMangos
241d232f3a [10494] Really allow proccesing buff events in EventAI. 2010-09-17 22:23:20 +04:00
VladimirMangos
26f8e9c35e [10493] Implement EVENT_T_TARGET_MISSING_BUFF 2010-09-17 17:58:53 +04:00
VladimirMangos
8dfeb61200 [10433] Implement EVENT_T_MISSING_BUFF for self buff check
Also added amount spell stack checks at loading
for EVENT_T_BUFFED and EVENT_T_TARGET_BUFFED.
2010-09-02 05:45:30 +04:00
VladimirMangos
77ae9a63b8 [10385] Remove Unit::GetUnit and update it callers. 2010-08-20 16:53:45 +04:00
VladimirMangos
80cef02190 [10374] Fixes for EFLAG_RANDOM_ACTION
* Field limited to uint8 so use proper flag mask (0x20 now)
* Search of selected action code also fixed.
2010-08-19 00:10:19 +04:00
NoFantasy
a15b0916b6 [10373] Drop unused team-argument in ChooseDisplayId -function
Signed-off-by: NoFantasy <nofantasy@nf.no>
2010-08-18 18:09:56 +02:00
VladimirMangos
a17450047b [10372] Implement EFLAG_RANDOM_ACTION
It allow execute one random action from EventAI event actions
instead each action from event actions.
2010-08-18 14:27:30 +04:00
NoFantasy
a6360987de [10368] Use AI function DoCastSpellIfCan for eventAI ACTION_T_CAST
Signed-off-by: NoFantasy <nofantasy@nf.no>
2010-08-18 01:31:59 +02:00
NoFantasy
9c8533335b [10367] Making sure CreaturesAddon are re-loaded after creature evade
Signed-off-by: NoFantasy <nofantasy@nf.no>
2010-08-18 00:19:46 +02:00
NoFantasy
821bb9fcc4 [10365] Implement ACTION_T_MOUNT_TO_ENTRY_OR_MODEL (43) for creature eventAI.
Read doc/EventAI.txt for details.
SQL query to update existing scripts are included (convert from using ACTION_T_SET_UNIT_FIELD, field 68)

Signed-off-by: NoFantasy <nofantasy@nf.no>
2010-08-17 19:48:19 +02:00
NoFantasy
7bdf05901d [10296] Move ChooseDisplayId to Creature class for access from script side
Signed-off-by: NoFantasy <nofantasy@nf.no>
2010-07-30 21:08:58 +02:00
SilverIce
5d0b9d2808 [10278] Reserve space for EventAIHolder container 2010-07-27 18:23:31 +03:00
VladimirMangos
61d076442f [10277] Use typedef CreatureEventAIList, some other code style cleanups in EventAI code. 2010-07-27 12:20:59 +04:00
SilverIce
8827c72a79 [10276] Use more appropriate vector container instead of list as container for CreatureEventAI holders
vector container provides less time to access to contained elements
2010-07-27 03:34:27 +03:00
Laise
a32b3063a2 [10156] Add shared object for auras of same spell and move spell proc code to its own file, also spread procs by auras and effect indexes. 2010-07-07 19:08:26 +03:00
VladimirMangos
b4b45333d8 [10053] Use UNIT_STAT_CONTROLED for mark unit state under direct player control.
* This allow prevent move home/to caster at apply
* Also replace AI and reset movegens at control time
* Also stop combat and clear threat/hostile list at lost control for prevent combat with freindly units.
2010-06-14 10:27:44 +04:00
VladimirMangos
696a4b6db0 [9918] Fixed player's tapped creature loot access by group in diff cases
* If player tap creature in group and leave then group will have access to creature loot if not disbanded
* If player tap creature and after join to group then creature loot will accesable only by player
* Also RewardPlayerAndGroupAtKill divided to simgle player and group reward versions used for group tap
  and single player tap cases.
2010-05-17 12:56:57 +04: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
NoFantasy
92ab082fc6 [9832] Move function to select an attacking target from EventAi to Creature class
Also rename function to a more descriptive name, SelectAttackingTarget

Signed-off-by: NoFantasy <nofantasy@nf.no>
2010-05-04 12:46:09 +02:00
patman128
3032e80bb6 [9795] Implement CONDITION_INSTANCE_SCRIPT (mapid, some_id)
True if mapid fit to called instance map id and instance script confirm success for some_id case.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-04-26 09:12:48 +04:00