730 Commits

Author SHA1 Message Date
Foereaper
7550dfca0e Merge branch 'develop21' of https://github.com/mangoszero/server into develop21 2015-04-04 01:21:38 +02:00
Foereaper
ee336830b5 Implement Playerbots
This is the first, rough implementation of Playerbot AI by Ike3, originally playerbot by blueboy

There's still TONS of work left to do on this, but it should compile and build

This introduces a new cmake option, playerbots. Disabled by default
2015-04-04 01:21:17 +02:00
Antz
43bbfeae1d [Fix] Fix incorrect enum in previous commit 2015-04-03 23:36:37 +01:00
neo2003
9217fbf53e [Core] reapply Properly display creatures with waypoint when they enter player range (b95d077a408ca33c7094d304276848f50ffc8e8b) 2015-04-03 23:19:31 +01:00
evil-at-wow
6b5f0be841 [Core] Fix crash when using DB script command 34 (TERMINATE_CONDITION). (cz2656)
Using DB script command 34 (TERMINATE_CONDITION) was triggering an array out of
bounds access when debug logging was on, causing the server to crash. The array
is accessed with ConditionSource as index, but there was no corresponding string
for CONDITION_FROM_RESERVED_1. As a result, the array was missing one string and
accessing the array with the highest possible index, CONDITION_FROM_DBSCRIPTS,
accessed the array out of bounds.

Many thanks to @Schmoozerd for debugging and suggesting a fix and to @scotty0100 for patiently running many tests!
2015-04-03 22:59:35 +01:00
evil-at-wow
5415cf16c4 [Core] Remove a useless statement from (cz2654). (cz2655)
Thank you for pointing this out, @fgreinus.
2015-04-03 22:55:55 +01:00
Evildead666
2e8761f1b0 fix typo 2015-04-03 20:47:25 +02:00
Antz
e736152cb7 [Sync] Some minor project sync 2015-04-02 18:18:45 +01:00
Olion
eb688e7217 [SD2] Restore commit 'Mr Smite Weapon Correction' 2015-04-01 19:57:12 +03:00
Olion
a3038cc069 [SD2] Fixing few warnings 2015-04-01 10:44:01 +03:00
Olion
d2d83d98b7 [SD2] Gcc build fix: no cbegin()/cend() container members 2015-04-01 10:28:57 +03:00
Olion
e842daa30a [SD2] Explicit conversion ObjectGuid to uint64 (gcc build fix) 2015-04-01 10:14:18 +03:00
Olion
e28a446f24 [Core/SD2] Major refactoring of SD2 script system 2015-04-01 01:34:08 +03:00
Foereaper
312e0be043 C++11 build fix 2015-03-31 21:11:20 +02:00
Foereaper
66adfff9ba Clang return error fix 2015-03-31 21:02:21 +02:00
Foereaper
7c0c79400c Fix Archlinux build
Thanks to lfxgroove
2015-03-31 20:48:00 +02:00
Foereaper
060ab0060d Update Eluna hash 2015-03-31 19:57:34 +02:00
Foereaper
a1f33ffd9f Added and updated map mthread
Thanks to the original mtmaps and openmaps creators
2015-03-31 19:52:19 +02:00
y1x2
0491c3d5a7 [Core] Add core support for spell 29201
Basic version of Corrupted Mind spell for Loatheb encounter in Naxxramas (original) (cz2654)
2015-03-31 01:51:35 +01:00
cyberium
a61bd66528 [Core] Fix "Unknown player" bug
Fixed old bug where players where all are named "Unknown" after some log in / log out (cz2653)
2015-03-31 01:35:35 +01:00
Olion
7fcb0bb639 UpdateMask class refactoring 2015-03-31 01:27:20 +03:00
Olion
0e963b4555 [Spells]Heartbeat resist first implementation 2015-03-31 01:01:07 +03:00
Foereaper
1eb0c33e69 Correct SD2 return values
This caused Clang to fail
2015-03-29 23:22:31 +02:00
Foereaper
fce53c9d60 Add necessary pthread flag for clang
This should hopefully fix clang build
2015-03-29 22:44:55 +02:00
Evildead666
93f6f9953a enhance readability and correct numbers 2015-03-28 14:29:20 +01:00
Antz
dfe72e4234 [Clean] Some code cleanup 2015-03-26 23:29:50 +00:00
Antz
13c037972b [Core] Some minor text cleanup 2015-03-26 23:15:59 +00:00
Foereaper
28521a337b Updated Eluna hash 2015-03-26 14:48:26 +01:00
Machiavell1
0894ff4720 [Core] Fix SMSG_WHO show players matching given criteria. (c2651)
Used to be total number of players online.

Also limit shown players to 49 which is how it used to be on retail.
2015-03-26 13:43:35 +00:00
stfx
4edda934a8 [Core] Clarify weather packet (c2649)
Also clamp weather density for .wchange command instead of just return an error

Thanks to @Laizerox for info and @cala for testing
2015-03-26 13:32:25 +00:00
stfx
d6fc18dc37 [Core] Remove unused function parameters (c2647) 2015-03-26 13:14:51 +00:00
Flying--Dutchman
271b031265 [Core] Normalize Username so that Telnet users can use lower case usernames (c2646)
Username wasn't changed to uppercases, therefore the SHA1 hash is always wrong when users have lowercases in their username.
Result: Users cannot log in with telnet.
2015-03-26 12:40:59 +00:00
xfurry
64c781f42e [Core] Start dbscripts_on_spell for SPELL_EFFECT_TRIGGER_MISSILE with missing spell id (c2645) 2015-03-26 12:25:02 +00:00
krullgor
25cb227e14 [Core] Fix item Lifegiving Gem, in classic it was providing 15% health (c2644)
Was changed to 1500 in tbc.
2015-03-26 12:15:54 +00:00
krullgor
c68ae831b6 [Core] Fix Improved Shield Block Talent Its additional charge was removed by a Dummy Effect (ZERO Only) (c2642) 2015-03-26 12:08:48 +00:00
schmoozerd
c9d7879cd9 [DBScripts] Implement SCRIPT_COMMAND_SEND_MAIL (c2639)
Attention DB-Devs:

The fields quest_template.RewMailTemplateId and .RewMailDelaySecs are scheduled to be removed
2015-03-26 11:53:27 +00:00
virusav
5feded2664 [Core] Pool-System: Allow pooling non-lootable gameobjects (c2638) 2015-03-26 11:38:31 +00:00
cala
4a8a482151 [Core] Allow creatures to handle several EVENT_T_RECEIVE_EMOTE instead of one. (c2633)
Some NPCs can react to several emotes from player not only one.
Thanks @cyberium on nailing this.
2015-03-26 11:31:48 +00:00
kvipka
f119a6119b [Core] Fix channeling spells for unit (will not cast channeling spells when walking, attacking etc.) (c2632) 2015-03-26 11:27:36 +00:00
cyberium
606bcfc495 [Core] Fix spell 19714 is buff instead of debuff. May fix also other spells that use same aura. (c2628) 2015-03-26 11:15:10 +00:00
VelVet
c6d699e8ef xxx 2015-03-26 11:11:36 +00:00
Foereaper
5432d5e621 Merge branch 'develop21' of https://github.com/mangoszero/server into develop21 2015-03-26 11:55:35 +01:00
Foereaper
7cf82e2b2a Partial revert of PCH changes
Linux didn't like game and sd2 sharing the same pch structure
2015-03-26 11:55:14 +01:00
kvipka
4839283c1c [Core] Improved Blink (c2618,c2623)
1 - Implement generating path ( where unit can walk - there blink will available )
2 - Implement Water path (if blink starting before (or in) water - Z coord will safe, if starting IN water, and last point on a ground (if it available) - new Z will on a ground.
3 - Implement Safe blink , both parts :
  * - blink at abyss ( unit will stoped before abyss )
  * - blink in falling, where difference between unit Z and land Z < 8 yards - unit will blink on a land, if blink in falling, but difference will more then 8 yards - just blink forward

All parts of blink has check LoS (c2618)

Blink -> Check if we are near of liquid level before assigning previous Z to next Z. (c2623) @cyberium

Also when we tp to water we have to set final z a bit under the liquid level. Not at liquid level.
2015-03-26 10:33:26 +00:00
cyberium
4de5fa3543 [Core] Implement holes handling on map. Now GetHeight correctly returns no height when a hole is detected. This is very useful in vmap object because in some cases we had a bad value returned by map data wich makes it hard to choose the right height. (c2617) 2015-03-26 10:15:02 +00:00
xfurry
57f1039ece [Core] Allow GAMEOBJECT_TYPE_BUTTON and TRAP respawn using SCRIPT_COMMAND_RESPAWN_GAMEOBJECT. (c2615/2634) 2015-03-26 10:03:11 +00:00
schmoozerd
93aef79e8a [Core] Fix crash when using console commands 2015-03-26 09:57:57 +00:00
Antz
15bd01600e Implement player rank in defensive channels
Based on (c2613) by @Laizerox
2015-03-26 09:33:04 +00:00
Antz
960e2f3252 [DB] updated base world DB version 2015-03-26 01:49:16 +00:00
schmoozerd
95073a4d1c [Waypoints] Complete redesign of waypoint system
Rewrite Waypoint related commands (c2612)
Toggle the commands .wp add .wp modify and .wp show to be able to work with waypoints from creature_movement_template

Technical changes:
* Move Path Selection to WaypointManager
* Set visual waypoints to be summoned npcs

Remove .npc addmove command to add a waypoint. (c2619)
For this .wp add command is expected to be used

Remove unneeded functions from WaypointManager (c2620)

Waypoint Commands: Improve export command, remove import command (c2621)
* Also finally drop the wpguid columns from creature_movement[_template]
* Also remove all static spawns of id=1 (they are usually waypoints from the old system)
* Fix a minor bug in WaypointManager than can result in a crash if bad params are passed

Waypoint-Commands: Prefer current path's movement for handling (c2626)

WaypointMovement: Allow External sources to load waypoints (with different path ids) (c2627)

* Add SetExternalWaypointTable(..) function to ScriptMgr.h scope to be able to define from which table external waypoints are loaded
* Add AddWaypointFromExternal(..) function to ScriptMgr.h scope to load points into WaypointManager
* Expand MotionMaster::MoveWaypoint function to use source and pathId for specifying which path to load
* Expand MotionMaster::MoveWaypoint function to use some overwrite information for "entry".
  This will be helpfull to have one path for mobs with different entry (ie ally/horde npcs with same behaviour)
* For externally loaded waypoints let CreatureAI::MovementInform have EXTERNAL_WAYPOINT_MOVE(256) + pathId as type.
  This will allow an external user to know which of "his" paths is used
* Adapt the related commands a little bit such that parts of the commands will also be usable for external paths
  At the moment .wp show and .wp export work with external paths.

WaypointMovement: Add support to set the next waypoint (c2635)
* Also add support to initialize a path with waittime before starting movement
* Add additional types for external use of MovementInform such that MovementInform is called when a waypoint is started, or when the last waypoint is handled
* Improve some minor technical issues

Let .wp add command start with 1 as first waypoint (c2640)
2015-03-26 01:21:44 +00:00