Commit Graph

673 Commits

Author SHA1 Message Date
Rochet2 117d1c31c9 Scripts/Commands: Fix guid usage and enhance commands (#18278)
- Fix targeting gameobjects and creatures for .dist and .gps. The old code used DB guid to search from core generated guid lists.
- Fix some error messages saying 'no player found' even if creatures and gameobjects and players were searched
- Change atoi to atoul when receiving lowguids as string or other uint32 values
- Use ObjectGuid::LowType instead of uint32 for lowguid type
- Allow .gob info to take in gameobject guid link as well as entry link in addition to gameobject entry and update the documentation of the command
- Change .gob delete to post the spawnid (dbguid) instead of the ingame generated guid (which is basically never seen or used by the player in any other commands that I see)
- Allow spawntimesecs to be negative when spawning a gameobject
- Disable searching by ingame spawn id in commands. (it makes little sense for a user to provide a number which is then attempted to be used as DB guid and non DB guid when both could have a match)
- Update .gob turn documentation to tell about possibility to provide orientation in command
- Correct the types in .gob add command result trinity_string
- Correct the creature search for .npc del
- Change .event to .event info
- Add .go offset command
- Remove the .go command for empty string (no subcommand given) because it just used .go xyz
- Extend .gob info to show size, faction, flags and model dimensions
- Remove some unnecessary casts
- Document .wp show better (first and last were not documented)
- Insert spawnid to .wp show info error message
- Fix spawntime printing for .gobject target
- Fix guid targetting for .npc set movetype
- Fix query by spawnid for .wp show info
- Fix deleting of existing waypoints when twice doing the command .wp show on
- Fix deleting of existing waypoints when doing the command .wp show off
- Change wpguid column in DB and in core to uint32, which is what the spawnid type is in core and db.
2017-01-08 04:55:22 +01:00
ariel- f7f865f818 Core/Scripts: added command to move characters across accounts 2017-01-06 02:34:52 -03:00
ariel- 829deec2bd Core/Scripts: kill one ugly char buffer 2017-01-06 00:45:58 -03:00
tkrokli 6a51a88767 Update Copyright notice for 2017
Happy new year!
2017-01-02 19:52:45 +01:00
Shauren 618cf0e1c2 Core/Units: Cleanup hardcoded magic numbers for byte field offsets
(cherry picked from commit ac1dc758b9)
2016-12-15 08:16:01 -03:00
ariel- 25281ecb31 Core/Guild: avoid data integrity problems wrapping delete+insert statements in a transaction 2016-11-19 23:28:52 -03:00
ariel- ca1c4525c7 Core/Unit: damage immune improvements (9f5df023b7 follow up)
- Handling checked in sniffs: Spell 63710 Void Barrier vs 49143 Frost Strike
  * Send spell miss immune only if spell consists of damage effects
- Checked with 348 Immolate:
  * No packets sent if damage immune, aura is applied normally

Also... who the fuck uses 0 to compare against pointers
2016-11-15 22:39:15 -03:00
ariel- 85143f305d Core/Spell: make a distinction between triggered flags with debugging purposes, and don't use them when casting triggered spells
Fixes #9721 (also other spells affected, example Threat of Thassarian, Stormstrike)
2016-11-07 20:36:23 -03:00
ariel- d3a71a8338 Core/Spells: use DamageInfo struct to calc spell absorbs and resists, and use calculated proc hitMask on aura ticks
Closes #18135
2016-10-26 02:16:11 -03:00
ariel- 66688a7855 Core/Channel: revamp channel system (#17980)
* Core/Channel: change the way channels are stored and sent to client.

- Fixes multiple channels per zone when using different locales
- Connected clients will receive locally the name of the channel for their apropiate locale (if available)
- In other cases default locale name will be sent, so as to prevent breaking channel chat for those players

Closes #8411
2016-10-07 00:59:56 -03:00
ariel- e641d0c7d7 Core/Spells: Implementation of QAston proc system
- Move checks from Unit::IsTriggeredAtSpellProcEvent (old system) to Aura::IsProcTriggeredOnEvent (new system)
- Templatize SpellModOp param of Player::ApplySpellMod, also killed charge counter from SpellModifier and Player system for handling charges... no point in having 3 different systems doing the same thing
- Automatically add default entries to spellProcMap, based on spellinfo (else auras won't proc without an entry) Based on old Unit::ProcDamageAndSpellFor
- Old Unit::ProcDamageAndSpellFor renamed to Unit::ProcSkillsAndReactives and made private, will no longer handle auras.
- Start making use of HealInfo::AbsorbHeal in unit calculations, add effective healing info to HealInfo struct
- Changes in spell reflection system, emulates old behaviour, delaying aura drop
- Removed old charge count hacks in SpellMgr::LoadSpellInfoCorrections
- Removed bogus error log when procChance is 0: Some auras have initial 0 procChance but modified by SPELLMOD_CHANCE_OF_SUCCESS
- Fixed TriggerAurasProcOnEvent logic that tried to trigger twice from actor.
- Allow non damaging spells with DamageClass Melee or Ranged to proc character enchants. Ref issue #17034:

  * http://web.archive.org/web/20110309092008/http://elitistjerks.com/f47/t49865-paladin_retribution_pve/
  * When an auto-attack lands (does not dodge/parry/miss) that can proc a seal the of the following things happen independently of each other (see 2 roll system).

  * 1) A "hidden strike" which uses melee combat mechanics occurs. If it lands it refreshes/stacks SoV DoT. Only white swings can trigger a refresh or stack. (This hidden strike mechanic can also proc things like berserking..)
  * 2) A weapon damage based proc will occur if you used a special (CS/DS/judge) or if you have a 5 stack (from auto attacks). This attack can not be avoided.

  * Holy Vengeance is the "hidden strike" it has an apply aura effect and damage class melee.
- Fixed Blood Tap interaction with Death Runes (btw, don't know what was going on with those MiscValueB, spell 45529 doesn't have any MiscValueB in SPELL_EFFECT_ACTIVATE_RUNE)
- Ported some AuraEffect checks from old Unit.cpp function. added new AuraScript hook to check procs of an specific effect
- Allow only AuraEffects that passed the check to proc, this won't block whole aura from proccing (and lose charges) if at least one of the effects procs, though
- Changes in spell mod system (for SPELLMOD_CASTING_TIME). fixes #17558.
- Added an exception for SPELLMOD_CRITICAL_CHANCE too, fixes #15193
2016-10-04 20:21:55 -03:00
Rochet2 c52566a888 Core/Scripts: Enhance quest status hook by making it catch more status changes (#17865) 2016-09-09 21:11:36 +02:00
ariel- 14445d2202 Core/Misc: calculate rotation fields from orientation in some places it's impossible to get:
- SmartScripts: SMART_ACTION_SUMMON_GO
- Spell Effects:
  * SPELL_EFFECT_DUEL
  * SPELL_EFFECT_SUMMON_OBJECT_WILD
  * SPELL_EFFECT_SUMMON_OBJECT_SLOT1
  * SPELL_EFFECT_SUMMON_OBJECT_SLOT2
  * SPELL_EFFECT_SUMMON_OBJECT_SLOT3
  * SPELL_EFFECT_SUMMON_OBJECT_SLOT4
- Command Scripts: .gobject add

Closes #17891
2016-09-03 17:31:29 -03:00
Gustavo 6ee35734e4 Whitespace clean-up 2016-08-29 01:11:04 +02:00
jackpoz eb9bf314c4 Core/Commands: Code cleanup
Remove commented out code
2016-08-20 20:53:08 +02:00
ariel- 1b44377cda Core/Scripts: allow ".debug arena" and ".debug battleground" commands to be issued in the console 2016-08-16 00:40:56 -03:00
ForesterDev fdcea5c7ef Core/Command: Check account password max length 2016-08-11 13:32:52 +02:00
treeston d760219062 Scripts/Commands: Some adjustments to make shutdown commands more user-friendly.
- New error message if a shutdown is delayed due to force threshold.
- New status message indicating that a server shutdown was successfully cancelled.
2016-08-06 14:34:07 +02:00
jackpoz b37c7101de Scripts/Commands: Change "server shutdown" behavior
Change "server shutdown 0" behavior to delay the shutdown by the force threshold specified in configs if there are still players connected, set to 30 by default
2016-08-04 15:03:58 +02:00
jackpoz 884736b3b2 Scripts/Commands: Change "server shutdown" behavior
Change "server shutdown" behavior to always include [force] optional parameter when issued from local or remote console.
2016-08-03 16:26:30 +02:00
ariel- 62bfee37cb 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)
2016-07-30 18:50:44 -03:00
Tomatoes 29826a92ef Core/Ticket System: Ticket comment visual output bug
* Commenting on a ticket no longer sends the GM's name to the ticket handler for assignment
* Closes #16091
* Closes #17686

Signed-off-by: Naios <naios-dev@live.de>
2016-07-30 22:37:35 +02:00
ariel- 2967bf59b4 Core/GameObjects: Gameobject rotation (from cmangos/mangos-wotlk@2bcbc0f) (#14146)
cmangos/mangos-wotlk@0fe88f35df: [11531] Normalize gameobject's quaternion, thanks to zergtmn for pointing
cmangos/mangos-wotlk@060dfb791b: [11667] Implement transport path rotation
cmangos/mangos-wotlk@565f52c6c1: [11806] A bit gameobject code refactoring
cmangos/mangos-wotlk@6874951: [11807] Add gameobject_addon table

Closes #14146
2016-07-30 11:36:18 +02:00
Shauren 86a594a4dd Core/Commands: Cooldown command should fall back to targeting self in case of no valid selection 2016-07-16 14:12:15 +02:00
Shauren 9509aac38b Core/Commands: Allow .cooldown command to work on player pets 2016-07-16 11:15:23 +02:00
DDuarte 42028a1842 Scripts/Commands: Fix build warning 2016-07-05 11:55:29 +01:00
DDuarte 1100fe6057 Scripts/Commands: Remove unused argument of .cometome command 2016-07-05 11:21:50 +01:00
xjose93 e2c0189927 Core/Commands: Implement .neargraveyard (find nearest graveyard from dbc). (#17301) 2016-06-14 17:23:45 +01:00
Shauren b36da77185 Core/Units: Renamed and documented UNIT_FLAG_DISABLE_MOVE to prevent people from trying to use this flag to root a creature leaving them wondering why it doesn't do anything 2016-05-27 14:45:06 +02:00
ForesterDev c73c51d7b1 Merge branch '3.3.5' into creature_family 2016-05-27 12:51:28 +04:00
Aokromes 862d068cde * DB/Graveyards: Added a comment field to describe the graveyards in graveyard_zone 2016-05-25 19:08:52 +02:00
ForesterDev 8eac30448f improve error message 2016-05-17 13:46:13 +04:00
ForesterDev d5dd8e8926 fix build 2016-05-16 19:16:40 +04:00
r00ty-tc de918a0f64 Core/Maps - Improvements to Cinematic function
- Moves to own class for reading, storage and player subclass
 - Proper destruction handling for player (ensure cinematic is ended)
 - Timeout for cinematic if it reaches past the end without completing
 - boost::filesystem::path used for path/filename transform
 - Correct for assert trigger under certain circumstances
 - Other changes previously suggested
2016-05-11 11:56:25 +02:00
treeston 0e1eb460d6 Scripts/Commands: Small QoL adjustments
- .debug hostil now shows spawn ID (DBGUID) in addition to current GUID (so you can .go creature to it)
- .npc temp now takes an additional argument before the creature entry that determines whether the spawned creature instantly despawns upon death. Default is instant despawn (current behavior).
- Add .npc evade command.
- Add .pet level command.
- .server shutdown and .server restart now fail with an error message if time is below a config var (GM.ForceShutdownThreshold, default 30s) as long as another player is connected.
    - New commands .server shutdown force and .server restart force bypass this limitation.
2016-05-10 15:09:18 +02:00
Vincent-Michael 993f6b393c Core: Fixed warning
(cherry picked from commit b29005925e)
2016-05-08 16:12:20 +02:00
Vincent-Michael 3a74b52ddc Core/Commands: Cleanup in 0940f3e077
(cherry picked from commit a3b4c40073)
2016-05-08 16:12:11 +02:00
Vincent-Michael 797a168f9a Core/Commands: Allowed .server idlerestart / idleshutdown / restart / shutdown to take another parameter structure:
e.g.:
* .server idlerestart 12d3h13m13s
* .server idleshutdown 46m13s
* .server restart 45h56m
* .server shutdown 323m42s

(cherry picked from commit 0940f3e077)
2016-05-08 16:12:03 +02:00
Incorrect 1aa30d3cce Core/Spells: Fixed overwriting summon requests
Closes #17049
2016-05-01 12:31:55 +02:00
KarrokDC 775b03bf6f Core/Scripts: Cleanup cs_modify.cpp
* Removed a chunk of duplicate code
* Generalized Message notification
* Generalized checking of resources modification with a min-max
* Generalized checking of single value modification
* Closes #16858
2016-04-30 01:06:05 +02:00
Chaouki Dhib dc3327f9c5 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.
2016-04-16 01:36:32 +02:00
r00ty-tc 87b4533046 [Core/Maps] Activate creatures and objects during opening cinematics and other flyby
cameras (sunwell etc).

Requires re-running map extractor to extract camera m2 files from data
files. These are very small.

Closes #4755
Closes #16772
2016-04-14 01:34:17 +02:00
Shauren e2687b31ed Core/Entities: Ported byte field offset naming from 6.x 2016-04-12 20:06:04 +02:00
Naios eaf102b3c5 Core/Game: Rewrote the ScriptMgr to support script reloading.
* Finally this commit enables dynamic script hotswapping
  and finished the PR #15671.
* Split the storage layout to use optimized storages
  for database bound and unbound scripts.
* Add several unload workers to reload scripts correctly
  -> Requires further investigation.
* Fixes memory leaks in ScriptMgr when dropping invalid scripts.
* Fixes VehicleScripts
* Makes OutdoorPvP scripts reloadable
* Makes InstanceMapScripts reloadable
* Makes CommandScripts reloadable

(cherry picked from commit 9cc97f226d)
2016-04-11 21:42:28 +02:00
Naios 775e0764e8 Core/Game: Move scheduled map scripts counter methods into MapManager
* Since those have nothing to do with core scripts and are
  not wished inside the ScriptMgr

(cherry picked from commit 59e3cf82ac)
2016-04-11 21:40:38 +02:00
Shauren b197163a1d Core/Commands: Prevent creating accounts containing '@' character with .account create command
(cherry picked from commit 4a679ba1be)
2016-04-09 12:36:27 +02:00
Vincent-Michael 5e74c2223b Core: Remove whitespaces 2016-03-16 21:40:15 +01:00
blub 8050f58b21 Merge pull request #16649 from ForesterDev/3.3.5
Scripts/Commands: Modify ".debug anim" command to target any selected unit
2016-03-16 20:56:16 +01:00
r00ty-tc 971f4ccab8 Core/Maps: Implement optional pre-loading of maps.
- Option to preload basemaps upon server load (BaseMapLoadAllGrids)
- Option to preload instance maps upon map load (InstanceMapLoadAllGrids)
- Change default logging to only log mmap errors to server log
- Add new public to map to load all cells in map
- change debug loadcells to use new function instead
2016-03-15 02:05:13 +01:00
Vincent-Michael 509e54423a Scripts: Added missing overrides
(cherry picked from commit 00b4e8b6cc)
2016-03-12 21:45:37 +01:00