Commit Graph

511 Commits

Author SHA1 Message Date
Aokromes
f0e36b0863 Core/Defines: define faction templates and replace magic numbers from scripts 2017-05-23 14:37:54 +02:00
Aokromes
bdac4421e2 Core/Scripts: fix Nightfall proc chance and reduce it for victims with level above 60 2017-05-02 02:59:58 +02:00
Aokromes
c015a5cf10 Core/Misc: camelize GetFaction/SetFaction properly 2017-05-02 02:02:31 +02:00
Aokromes
3563af5c60 Core/Script: Fix low level class quest 2017-04-30 23:34:31 +02:00
Aokromes
0d61a6b512 missing part 2017-04-16 17:19:23 +02:00
Aokromes
6fef0d2eb2 Core/Trainers: Fix Multiprofession Trainers
By Malcrom, closes #61
2017-04-16 16:01:27 +02:00
Aokromes
adae2fec26 Ensure that all actions are compared to fixed point in time (ie. world update start) 2017-04-14 15:02:49 +02:00
ariel-
68c4606725 Core/Scripts: converted Argent Tournament pennants to AI
Closes #14616
2017-03-13 10:08:59 +01:00
Kittnz
5b057ed5a0 Script/GO: Alliance Bell, Horde Bell and Karazhan Bell will now send a bell sound on the start of each hour. (#19145)
* Script/GO: Alliance Bell, Horde Bell and Karazhan Bell will now send a bell sound on the start of each hour.

How many times it rings depence on the hour.

* fix little things from pr comments

* Added OnGameEvent

* Fix braces

* almost finished

* fix enum

* Add gameobjects to the game event

Fix override for InitializeAI

* enum squash

* remove braces

* Rename 9999_99_99_99_world.sql to 2017_02_19_01_world.sql
2017-03-03 01:18:00 +01:00
xinef1
62111a8c4a Core/SmartAI: Various fixes and extensions for smart scripts: (#18673)
- Possible crashes fixed
- Memory leak fixed
- Implemented checking of vehicle conditions
- Extended eventphasemask to 12 bits (sql required to change DB field type)
- SMART_EVENT_GOSSIP_HELLO - added possibility to detect for gameobject reportUse call
- Renamed action SMART_ACTION_SET_FLY to SMART_ACTION_SET_DISABLE_GRAVITY (to reflect actual functionality)
- Added targetsLimit to action SMART_ACTION_CAST and SMART_ACTION_INVOKER_CAST to limit max amount of targets (selected randomly)
- Action SMART_ACTION_TALK corrected to always work as intended
- Properly call GroupEventHappens in action SMART_ACTION_CALL_GROUPEVENTHAPPENS if invoker was charmed or owned by the player
- Properly utilize followAngle in action SMART_ACTION_FOLLOW (db orientation should be in degrees), but keep backward compatibility
- Added action SMART_ACTION_SET_CAN_FLY (119) 0/1
- Added action SMART_ACTION_REMOVE_AURAS_BY_TYPE (120) AuraType, can be used to exit vehicle for example
- Added action SMART_ACTION_SET_SIGHT_DIST (121) sightDist
- Added action SMART_ACTION_FLEE (122) fleeTime
- Added action SMART_ACTION_ADD_THREAT (123) +threat, -threat
- Added action SMART_ACTION_LOAD_EQUIPMENT (124) equipmentId
- Added action SMART_ACTION_TRIGGER_RANDOM_TIMED_EVENT (125) minId, maxId
- Added action SMART_ACTION_REMOVE_ALL_GAMEOBJECTS (126), removes all owned gameobjects
- Added action SMART_ACTION_STOP_MOTION (127), stopMoving, movementExpired
- Extended target SMART_TARGET_HOSTILE_SECOND_AGGRO with following parameters maxdist, playerOnly, powerType + 1
- Extended target SMART_TARGET_HOSTILE_LAST_AGGRO with following parameters maxdist, playerOnly, powerType + 1
- Extended target SMART_TARGET_HOSTILE_RANDOM with following parameters maxdist, playerOnly, powerType + 1
- Extended target SMART_TARGET_HOSTILE_RANDOM_NOT_TOP with following parameters maxdist, playerOnly, powerType + 1
- Extended target SMART_TARGET_THREAT_LIST with maxdist
- Extended target SMART_TARGET_OWNER_OR_SUMMONER to be able to get charmer/owner of current owner
- Added new target SMART_TARGET_FARTHEST with maxDist, playerOnly, isInLos restrictions
- Added SpellHit hook to GameObjectAI and extended SmartGameObjectAI to call SMART_EVENT_SPELLHIT when gameobject is hit by spell
- Call GameObjectAI Reset hook on gameobject respawn (for ex. to reset one time events in smart scripts)
- Fixed some logic errors in code
- SmartAI Escorts properly despawn escortee if no players are in range
- Disable Evading while charming creature with SmartAI
- Don't call SMART_EVENT_RESPAWN for dead units before they actually respawn
- Don't call SMART_EVENT_RESPAWN for not spawned gameobjects
- Properly call SMART_EVENT_RESPAWN for gameobject respawn
- Allow action SMART_ACTION_SET_IN_COMBAT_WITH_ZONE to utilize targetlist
- Allow action SMART_ACTION_CALL_FOR_HELP to utilize targetList
- Allow action SMART_ACTION_SET_INVINCIBILITY_HP_LEVEL to utilize targetList
- Allow action SMART_ACTION_SET_VISIBILITY to utilize targetList
- Allow action SMART_ACTION_SET_ACTIVE to utilize targetList
- Allow action SMART_ACTION_ATTACK_START to select random attack target instead of first on the list
- Allow gameobjects to summon gameobjects with action SMART_ACTION_SUMMON_GO
- Properly store action invokers for action SMART_ACTION_WP_START, if no player invokers are found, distance despawn check won't be used
- Allow action SMART_ACTION_WP_RESUME to compensate for the state the unit actually is in (eg. combat)
- Allow action SMART_ACTION_MOVE_TO_POS to select random of the avaiable targets, not only the first one.
- Allow action SMART_ACTION_MOVE_TO_POS to utilize x, y, z parameters as an offset to calculated coordinates
- Action SMART_ACTION_RESPAWN_TARGET should never modify respawntime of already spawned gameobjects, use dedicated function
- Properly delete ontime events created by SMART_ACTION_CREATE_TIMED_EVENT
- If action could not be started because conditions were not satisfied, do not recalculate the waittime to action repeattime, use smaller value to recheck more frequently
- Allow target SMART_TARGET_CLOSEST_PLAYER to be used by gameobjects
- Allow target SMART_TARGET_OWNER_OR_SUMMONER to be used by gameobjects
- Fixed SMART_EVENT_COUNTER_SET to be only called for the id that was incremented
- Changed the way counters work
- Protect PhaseInc from surpassing maximum phase
- Added loading checks for missing NON_REPEATABLE flag if no repeatmin, repeatmax is set
- Added spell validation for SMART_ACTION_CROSS_CAST
2017-02-19 09:10:29 +01:00
Aokromes
719a317a67 Update copyright note for 2017 2017-01-02 07:26:38 +01:00
sirikfoll
d7fcf684c0 Scripts/Events Implement Pilgrim's Bounty Bountiful Table 2016-12-28 16:03:16 +01:00
ccrs
617427ca11 Scripts/BlackTemple: minor cleanup and corrections after recent PRs
plus a ninja tabs to spaces cleanup
2016-12-06 11:05:26 +01:00
Kittnz
72d02185ba Core/Event: Change Midsummer Music container to vector 2016-10-24 13:19:28 +02:00
Kittnz
de78de624e Core/Event: Change Midsummer Music to search grid only 2016-10-24 13:19:15 +02:00
Kittnz
f0566bc2a5 Core/Scripts: Initialize rnd and remove where it was not needed 2016-10-22 10:50:23 +02:00
Kittnz
2072a3f78c Core/Event: Pirate Day Music during the event 2016-10-22 10:49:56 +02:00
Kittnz
3c1535678e Core/Event: Add Darkmoon Fair Music during the event 2016-10-22 10:49:47 +02:00
Kittnz
622e65c3e1 Core/Event: Add Midsummer Music during the event 2016-10-22 10:49:07 +02:00
Kittnz
cd22b8ea7a Core/Event: Fix Brewfest Music
Was only playing the same song over and over again.
2016-10-21 08:58:15 +02:00
SnapperRy
001f4881f8 Fix non PCH build. 2016-10-21 08:47:52 +02:00
Kittnz
f5364cc5aa Core/Event: Add Brewfest Music during the event
Note: Dark Iron invasion music can be added with a trigger at a later stage
2016-10-21 08:46:21 +02:00
tkrokli
a34fbdaa40 Core/Scripts: move npc_lunaclaw_spirit to SAI
This PR moves the core script `npc_lunaclaw_spirit` to SAI, removing hardcoded text.
The quests 6001 + 6002 are druid class quests to get bear form, removed in patch 4.0.3a

Changes in this PR:
- remove core script, including hardcoded text (with typo)
- use gossip_menu_option for each faction (Alliance & Horde)
- add SAI script to complete quest 6001 or 6002 based on option
- add gossip option conditions for team A (469) or team H (67)
- add gossip option conditions for quest 6001/6002 not completed
2016-09-24 07:00:12 +02:00
tkrokli
6953e06c4b Core/Scripts: simplified npc_pet_trainer gossip script
This is what the script changes should have been in PR #17746
(also updates issue #14719 with a correct solution).

- remove OnGossipHello() to use DB conditions
- replace OnGossipSelect() with sGossipSelect()
- focus script on the confirming gossip option
- let the other gossip menus be handled in DB
2016-09-18 07:38:25 +02:00
treeston
9a829b4761 Scripts/Events: Globally fix all ExecuteEvent loops to check UNIT_STATE_CASTING after each iteration, instead of just checking it once initially 2016-09-03 17:26:20 +02:00
treeston
109d87d3c3 Entities/Gossip: The Big One™ that gets rid of all uses of The Bad™ and The Ugly™, e.g. gossip preprocessor macros, and replaces them with the new-and-shiny gossip functions. 2016-08-31 08:39:33 +02:00
Aokromes
5de3f3c59f Core/Scripts: move npc_experience hardcoded text to DB 2016-08-25 14:59:00 +02:00
Gustavo
49d4e22c6a Scripts/Pet Implemented Argent Squire/Gruntling and Argent Pony Bridle 2016-08-25 14:52:56 +02:00
tkrokli
efa7a0639c Core/Scripts: npc_wormhole #define text moved to DB (#17805)
Another core script hardcoded text removal:
- removed #define text from script
- added the text to gossip_menu_option
- added and renamed enum to match DB entries
- minor additional adjustments and comments

Closes #6841
2016-08-23 13:54:38 +02:00
Aokromes
56b3f461fe Core/Scripts: move Pet Trainer gossip to DB
SQL content based  on issue 14719 by Killyana,
conditions output from Malcrom's Condition Creator

- remove hardcoded #define gossip options
- enum gossip menu IDs from DB
- remove outdated SD comments at the top of the file
2016-08-20 12:22:58 +02:00
tkrokli
c425b91368 Core/Scripts: remove 2 unused scripts (#17759)
These scripts are no longer in use:
- generic_creature
- trigger_death
2016-08-12 12:19:02 +02:00
ariel-
30d4f70533 Core/Entities: debloat SummonGameObject parameter list using proper wrappers and enable GO rotation in scripts
- There's still an overload allowing for x, y, z, o to be passed directly
- Fixed default animstate for GameObject creation in many places, it should be 255, not 100 (checked in sniffs)

(cherry picked from commit 62bfee37cb)

Conflicts:
	src/server/game/Entities/GameObject/GameObject.cpp
	src/server/game/Entities/Object/Object.cpp
	src/server/game/Spells/SpellEffects.cpp
	src/server/scripts/Commands/cs_gobject.cpp
	src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp
	src/server/scripts/Kalimdor/zone_feralas.cpp
2016-08-01 01:23:47 -03:00
ariel-
fa8662e617 Core/Movement: Clean up and improvements on Unit::SetSpeed (#16843)
- Clean up of Unit::SetSpeed (mostly cherry picks from the 6.x branch):
- the opcode sent depends on the unit. until now, MSG_MOVE_SET_* were sent for every units which isn't like retail behavior.
- Removed the unused method parameter "forced" from Unit::SetSpeed
- Renamed Unit::SetSpeed to SetSpeedRate
- Removed the unused method parameter "forced" from Unit::UpdateSpeed
- Added utility method Unit::SetSpeed which take the new flat value.
Conflicts:
	src/server/game/Entities/Unit/Unit.cpp
	src/server/scripts/Commands/cs_modify.cpp
	src/server/scripts/EasternKingdoms/ZulAman/boss_zuljin.cpp
	src/server/scripts/Kalimdor/zone_azshara.cpp
	src/server/scripts/Kalimdor/zone_durotar.cpp
	src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp
2016-07-23 07:02:25 -03:00
tkrokli
d9aeb17249 Core/Scripts: remove hardcoded text from npc_sayge
- remove hardcoded (and wrong) text from the script
- copy valid text from broadcast_text to gossip_menu_option
- gossip_menu / npc_text is already correct in TDB 335.61
- sort + clean up core script enum list and add new entries
- keep gossip handling unchanged in the script (low prio)
2016-07-20 16:15:41 +02:00
Aokromes
3f0c7f6b2f Core/Spells: Renamed EnsureSpellInfo to AssertSpellInfo to minimize differences between branches 2016-07-19 12:02:52 +02:00
SnapperRy
55fc90fbc3 Event/Midsummer: improve pole ribbon functionality (#17464)
Event/Midsummer: improve pole ribbon functionality:

- Bunny creature should hover, which puts it in the intended position.
- Use correct visual and internal spells to handle cosmetics and timers.
2016-07-17 16:32:52 +02:00
Aokromes
bf9a46a84b Core/Scripts: remove dead code 2016-06-20 18:08:00 +02:00
Aokromes
41c3193c6b Core: Remove whitespaces 2016-05-16 22:52:36 +02:00
Shauren
af17e23204 Core/Misc: Fixed -Wmisleading-indentation warnings
(cherry picked from commit 3ac33163db)

# Conflicts:
#	src/server/game/Server/Protocol/PacketLog.cpp
2016-05-12 09:10:53 +02:00
ariel-
65aec5f8f7 Merge remote-tracking branch 'tc/3.3.5' into 4.3.4
Note: additional hand-picked ports from 6.x to fix build

Conflicts:
	sql/updates/world/2016_02_22_00_world.sql
	sql/updates/world/2016_02_22_01_world.sql
	sql/updates/world/2016_02_22_02_world.sql
	sql/updates/world/2016_03_07_00_world.sql
	src/server/authserver/Realms/RealmList.cpp
	src/server/authserver/Realms/RealmList.h
	src/server/authserver/Server/AuthSession.cpp
	src/server/game/Accounts/AccountMgr.cpp
	src/server/game/AuctionHouse/AuctionHouseMgr.cpp
	src/server/game/Chat/Chat.cpp
	src/server/game/Conditions/ConditionMgr.cpp
	src/server/game/Conditions/ConditionMgr.h
	src/server/game/Entities/Player/Player.cpp
	src/server/game/Handlers/CharacterHandler.cpp
	src/server/game/Handlers/MiscHandler.cpp
	src/server/game/Scripting/ScriptLoader.cpp
	src/server/game/Scripting/ScriptLoader.h
	src/server/game/Server/WorldSession.cpp
	src/server/game/Server/WorldSocket.cpp
	src/server/game/World/World.cpp
	src/server/game/World/World.h
	src/server/scripts/CMakeLists.txt
	src/server/scripts/Commands/cs_gm.cpp
	src/server/scripts/Commands/cs_misc.cpp
	src/server/scripts/Commands/cs_rbac.cpp
	src/server/scripts/Commands/cs_ticket.cpp
	src/server/scripts/Commands/cs_wp.cpp
	src/server/scripts/EasternKingdoms/CMakeLists.txt
	src/server/scripts/EasternKingdoms/zone_burning_steppes.cpp
	src/server/scripts/EasternKingdoms/zone_stormwind_city.cpp
	src/server/scripts/Kalimdor/CMakeLists.txt
	src/server/scripts/Kalimdor/zone_dustwallow_marsh.cpp
	src/server/scripts/Kalimdor/zone_orgrimmar.cpp
	src/server/scripts/OutdoorPvP/CMakeLists.txt
	src/server/scripts/Spells/spell_dk.cpp
	src/server/scripts/Spells/spell_hunter.cpp
	src/server/shared/CMakeLists.txt
	src/server/worldserver/CMakeLists.txt
	src/server/worldserver/Main.cpp
	src/tools/mmaps_generator/CMakeLists.txt
2016-03-11 18:32:07 -03:00
Naios
9e43365b3d Core/Scripts: Split the huge scriptloader into smaller pieces
* Each subdirectory contains it's own translation unit now
  which is responsible for loading it's directory
* Improves merging & decoupling between 3.3.5 <-> 6.x
* Removes unused Battleground loader
* Ref #15671

(cherry picked from commit 5534915f74)
2016-02-22 16:25:54 +01:00
ariel-
35aa198984 Core/Scripts: Fix startup errors 2016-02-21 20:32:48 -03:00
ariel-
8bc477a2de Merge remote-tracking branch 'tc/3.3.5' into 4.3.4
Conflicts:
	sql/base/characters_database.sql
	sql/updates/world/2016_01_26_00_world.sql
	sql/updates/world/2016_01_31_00_world.sql
	sql/updates/world/2016_02_07_00_world.sql
	src/server/authserver/Server/AuthSession.cpp
	src/server/database/Database/Implementation/LoginDatabase.cpp
	src/server/database/Database/Implementation/LoginDatabase.h
	src/server/game/AI/ScriptedAI/ScriptedCreature.cpp
	src/server/game/AI/ScriptedAI/ScriptedCreature.h
	src/server/game/Achievements/AchievementMgr.cpp
	src/server/game/Chat/Chat.cpp
	src/server/game/DataStores/DBCStores.cpp
	src/server/game/DataStores/DBCStructure.h
	src/server/game/DataStores/DBCfmt.h
	src/server/game/Entities/Player/Player.cpp
	src/server/game/Entities/Unit/Unit.cpp
	src/server/game/Globals/ObjectMgr.cpp
	src/server/game/Handlers/AuctionHouseHandler.cpp
	src/server/game/Handlers/MailHandler.cpp
	src/server/game/Handlers/MovementHandler.cpp
	src/server/game/Server/WorldSocket.cpp
	src/server/game/Server/WorldSocket.h
	src/server/game/Spells/Auras/SpellAuraEffects.cpp
	src/server/game/Spells/SpellEffects.cpp
	src/server/game/Spells/SpellMgr.cpp
	src/server/scripts/Spells/spell_druid.cpp
	src/server/scripts/Spells/spell_generic.cpp
	src/server/scripts/Spells/spell_hunter.cpp
	src/server/scripts/Spells/spell_rogue.cpp
	src/server/scripts/Spells/spell_shaman.cpp
	src/server/shared/Networking/AsyncAcceptor.h
	src/tools/map_extractor/CMakeLists.txt
	src/tools/map_extractor/System.cpp
	src/tools/map_extractor/adt.h
	src/tools/mmaps_generator/MapBuilder.cpp
2016-02-21 07:02:53 -03:00
Kittnz
542f5264d3 Core/Pets: Move Egbert & Pandaren Monk into pet_generic.cpp 2016-02-18 21:30:49 +01:00
Kittnz
af5f4ae85b Pet/Misc: Improve Egbert's AI even more 2016-02-13 12:31:29 +01:00
Kittnz
2322ef3f50 Pet/Misc: Improve Egbert's AI 2016-02-13 12:06:19 +01:00
Keader
8130de1b9a Fix multiple summon of Omen (Lunar Festival) 2016-02-11 19:08:50 -03:00
Vincent-Michael
96cb26de28 Scripts: Fixed warning 2016-02-06 22:12:44 +01:00
Kittnz
add2179b75 Build fix 2016-02-06 22:03:24 +01:00
Kittnz
5650b9deb2 Pet/Misc: Implement Pandaran Monk followup 2016-02-06 21:58:16 +01:00