Commit Graph

458 Commits

Author SHA1 Message Date
joschiwald
c38d95ac33 Core/Spells: convert some spells to SpellScripts 2013-01-20 04:30:17 +01:00
Spp
802657250c Core/Misc: Apply codestyle to multiple files 2013-01-14 09:50:59 +01:00
Nay
d0e4e20265 Merge pull request #8825 from joschiwald/vmapspelligno
Core/VMaps: drop "vmap.ignoreSpellIds" in config
this is not longer necessary since we use SPELL_ATTR2_CAN_TARGET_NOT_IN_LOS
2013-01-07 07:36:40 -08:00
Spp
601fcc5612 Core/Misc: Removed odd code from CreatureAIImpl.h, it does not belong here
- Also some minor corrections from previous commit
2013-01-02 14:20:20 +01:00
Spp
5280a77fe1 Core/Misc: Some minor changes here and there 2013-01-02 11:00:16 +01:00
Vincent_Michael
cc65aba789 Update copyright note for 2013.
Happy new year.
2013-01-01 00:41:01 +01:00
joschiwald
18bfa14b74 Core/DisableMgr: readd possibility to disable los check for spells 2012-12-31 01:48:51 +01:00
joschiwald
22896bd7a4 Core/VMaps: drop "vmap.ignoreSpellIds" in config, this is not longer necessary since we use SPELL_ATTR2_CAN_TARGET_NOT_IN_LOS 2012-12-30 18:52:32 +01:00
Trista
452e585f7b Core/Vehicles: Fixed seat id for auras with SPELL_AURA_CONTROL_VEHICLE. Also always allow npc passengers to cast spells and remove TRIGGERED_IGNORE_CASTER_MOUNTED_OR_ON_VEHICLE hacks.
* Author: Horn. Please give feedback, I tested a lot stuff, but it will be appreciated.
* One of the fixes allow all creatures to cast when being passangers, researched, this doesn't involve players.
* This basically rewrittes vehicle seat formula calculated, so it fix quite stuff that will not be visible and some eye candies: #3831 and #1984 Heart part ;) (which magically fix a lot more of it and some quests), also Yog-Sarron mechanics
2012-12-27 01:35:38 +02:00
Subv
c33a1724ae Core/Spells: Spells that are usable while stunned should no longer have problems with stun auras that don't apply any mechanic. 2012-12-23 13:21:00 -05:00
joschiwald
5c33c54054 Core/Player: correct SetHomebind and cleanup Spell::EffectBind 2012-12-08 23:46:16 +01:00
Warpten
ff1ca5522e Core/Spells:
* Bryntroll's Drain Life should not crit.
* Bestial Wrath can be used while under CC since patch 3.3.2

Patch 3.2.2 (2009-09-22): "Bestial Wrath and The Beast Within Changed to function like PvP Trinkets, removing any movement impairing effects, and giving immunity to these effects for 10 seconds.", also the tooltip doesn't say this, but it now breaks all forms of CC that a PvP trinket would break (including Cyclone,Sap, etc.).
2012-12-01 14:21:44 +01:00
Spp
2251d1bfae Core/Misc: Set mode 0644 for files 2012-11-27 13:03:12 +01:00
Shauren
ba18fe1e56 Core/Spells: Fixed combat log for spells that affect item durability 2012-11-25 11:13:39 +01:00
joschiwald
e83c5d1a0f Core/Conditions: use proper SpellCastResult instead of Notification when CONDITION_SOURCE_TYPE_SPELL fails 2012-11-24 02:45:48 +01:00
Nay
4294ccf95d Misc: Whitespace and tabs cleanup 2012-11-19 01:00:47 +00:00
Subv
6325060804 Core/Spells: Enslave Demon shouldn't be usable on player pets.
Closes #7133
2012-11-14 10:33:56 -05:00
Spp
013fb1f4d9 Core/Misc: reduced amount of string memory allocations (Step I) 2012-10-24 15:34:48 +02:00
Spp
663db1cee3 Core/Misc: Add default count param to HasItemCount 2012-10-23 13:11:57 +02:00
kaelima
ca276292dc Core/BG:
- Force removal of stealth and invisible auras when using gameobjects with type GAMEOBJECT_TYPE_FLAGSTAND and GAMEOBJECT_TYPE_FLAGDROP
- Do not allow players to use unfriendly battleground objects (prevents flag cap with Nitro Boosts active for example)
2012-10-17 16:56:35 +02:00
kandera
104b86f3d4 Merge pull request #8042 from Retriman/SpellBarkskin
Core/Spell:
2012-10-11 05:41:24 -07:00
Retriman
d02298509f Core/Spell:
*Barkskin can be used to stun and sleep.
2012-10-11 01:32:28 -04:00
Spp
7831ecdb18 Core: "Initial support for C++11 compilers" 2012-10-02 15:06:19 +02:00
Spp
380db44583 Core/Utilities: Use generic templates with AddPct, ApplyPct and CalculatePct 2012-10-02 12:17:42 +02:00
Spp
8c5f011e79 Core/Achievements: Force all calls to AchievementMgr be done through Player functions (Remove GetAchievementMgr)
Note: No real use in 3.3.5 but will be used in 4.3.4
2012-09-18 14:29:53 +02:00
Shauren
bc912af806 Core/Spells: Defined and implemented SPELL_ATTR5_DONT_TURN_DURING_CAST.
This attribute controls whether unit can turn during casting spells (fixes Ingvar's Dark Smash)
2012-09-16 23:34:30 +02:00
Spp
358c6a26d6 Core: Warning fixes (Also some -pedantic under game folder) 2012-09-10 13:04:31 +02:00
Shauren
97a92036d1 Core/Spells: Fixed typo in previous commit 2012-09-09 19:22:30 +02:00
Shauren
53002dfe03 Core/Spells: Set UNIT_FIELD_CHANNEL_OBJECT also for spells that don't have explicit target unit but use NEARBY selection, fixes #7246 2012-09-09 17:52:27 +02:00
Subv
be181b2ccd Core/Spells: Use the UNIT_FIELD_CHANNEL_OBJECT field instead of Spell::m_targets to select the channel targets of a triggered spell.
Closes #7246
2012-09-08 07:51:57 -05:00
tobmaps
fb3a360575 Core/Spells: fix intervening dead targets Closes #2090 2012-09-06 11:05:45 -04:00
kaelima
7c971be3c5 Core/Misc: Fix some warnings and logic mistakes found by static code analysis 2012-09-05 17:18:05 +02:00
e
f9a1fabc7b [Spell::CleanupEffectExecuteData] Remove this confusing and potentially worthless function, use memset instead. 2012-09-04 22:38:59 -04:00
Nay
73172c67f0 Misc: Convert from CRLF to LF in cs_misc.cpp
Also cleanedup whitespace
2012-09-04 16:14:15 +01:00
kaelima
a3f9eee4e5 Core/Spells: Fix memory leak when Load() fails from spell/aura-scripts 2012-09-04 17:03:30 +02:00
Nay
80b61fa584 Core/Spells: Hard-limit the number of hit and miss targets sent in SMSG_SPELL_GO to 255 (each), fixes client crashes
Closes #3873
2012-09-03 02:45:27 +01:00
Myran2
908ae08a0a Scripts/Commands: Create a new group of commands, .cheat, and add new and move old commands to it:
Changes:
- .explorecheat is now .cheat explore
- .waterwalk is now .cheat waterwalk
- .taxicheat is now .cheat taxi

New commands:
- .cheat god
- .cheat casttime
- .cheat cooldown
- .cheat power

(Descriptions available in the SQL file / in-game)

Inspiration on ArcEmu commands
Closes #7569
2012-08-31 01:26:21 +01:00
Nay
e3d9768a50 Core: Fix many "errors"/warnings and coding style (3)
Game

Errors were found using Cppcheck, open-source static analysis tool
2012-08-30 22:44:33 +01:00
Vincent-Michael
ccb20a1947 Core/Spells: Fix Pick Lock calculation
Closes: #4323
2012-08-27 18:18:27 +02:00
Vincent-Michael
6891fe6248 Core/Battlefield: Add missing stuff for wintergrasp 2012-08-21 23:03:30 +02:00
Kandera
b9f60fe56c Core/Wintergrasp: finish implementation for battlefields. this is highly experimental enable at you're own risk. will almost definatly cause issues with the wintergrasp patch floating around 2012-08-20 16:23:24 -04:00
Manuel Carrasco
d7a7a9800b Battlefield: Make sBattlefieldMgr a pointer. By Subv. 2012-08-20 13:48:47 -04:00
Vincent-Michael
9afbb75321 Core/Spells: Fix Divine Shield and Ice Block casted in Cyclone 2012-08-05 04:18:22 +02:00
Spp
55ce180f28 Core/Logging: Add Asyncronous logging with Loggers ("What to log") and Appenders ("Where to log") system. Will allow to select to full log some parts of core while others are not even logged.
- Logging System is asyncronous to improve performance.
- Each msg and Logger has a Log Type and Log Level assigned. Each msg is assigned the Logger of same Log Type or "root" Logger is selected if there is no Logger configured for the given Log Type
- Loggers have a list of Appenders to send the msg to. The Msg in the Logger is not sent to Appenders if the msg LogLevel is lower than Logger LogLevel.
- There are three (at the moment) types of Appenders: Console, File or DB (this is WIP, not working ATM). Msg is not written to the resource if msg LogLevel is lower than Appender LogLevel.
- Appender and Console Log levels can be changed while server is active with command '.set loglevel (a/l) name level'

Explanation of use with Sample config:

Appender.Console.Type=1       (1 = Console)
Appender.Console.Level=2      (2 = Debug)

Appender.Server.Type=2        (2 = File)
Appender.Server.Level=3       (3 = Info)
Appender.Server.File=Server.log

Appender.SQL.Type=2           (2 = File)
Appender.SQL.Level=1          (1 = Trace)
Appender.SQL.File=sql.log

Appenders=Console Server      (NOTE: SQL has not been included here... that will make core ignore the config for "SQL" as it's not in this list)

Logger.root.Type=0            (0 = Default - if it's not created by config, server will create it with LogLevel = DISABLED)
Logger.root.Level=5           (5 = Error)
Logger.root.Appenders=Console

Logger.SQL.Type=26            (26 = SQL)
Logger.SQL.Level=3            (2 = Debug)
Logger.SQL.Appenders=Console Server SQL

Logger.SomeRandomName.Type=24 (24 = Guild)
Logger.SomeRandomName.Level=5 (5 = Error)
Loggers=root SQL SomeRandomName

* At loading Appender SQL will be ignored, as it's not present on "Appenders"

* sLog->outDebug(LOG_FILTER_GUILD, "Some log msg related to Guilds")
  - Msg is sent to Logger of Type LOG_FILTER_GUILD (24). Logger with name SomeRandomName is found but it's LogLevel = 5 and Msg LogLevel=2... Msg is not logged

* sLog->outError(LOG_FILTER_GUILD, "Some error log msg related to Guilds")
  - Msg is sent to Logger of Type LOG_FILTER_GUILD (24). Logger with name SomeRandomeName is found with proper LogLevel but Logger does not have any Appenders assigned to that logger... Msg is not logged

* sLog->outDebug(LOG_FILTER_SQL, "Some msg related to SQLs")
  - Msg is sent to Logger SQL (matches type), as it matches LogLevel the msg is sent to Appenders Console, Server and SQL
    - Appender Console has lower Log Level: Msg is logged to Console
    - Appender Server has higher Log Level: Msg is not logged to file
    - Appender SQL has lower Log Level: Msg is logged to file sql.log

* sLog->outDebug(LOG_FILTER_BATTLEGROUND, "Some msg related to Battelgrounds")
  - Msg is sent to Logger root (Type 0) as no Logger was found with Type LOG_FILTER_BATTLEGROUND (13). As Logger has higher LogLevel msg is not sent to any appender

* sLog->outError(LOG_FILTER_BATTLEGROUND, "Some error msg related to Battelgrounds")
  - Msg is sent to Logger root (Type 0) as no Logger was found with Type LOG_FILTER_BATTLEGROUND (13). Msg has lower LogLevel and is sent to Appender Console
    - Appender Console has lower LogLevel: Msg is logged to Console
2012-08-03 14:20:18 +02:00
Spp
5a99dfad14 Warning fixes + compile fix after the merge 2012-07-30 10:07:26 +02:00
Shauren
537caf33e9 Core/SpellScript: Implemented OnObjectTargetSelect hook for use with spell target that selects a single object 2012-07-03 12:35:06 +02:00
Shauren
2bee0e6e37 Core/SpellScript: Corrected when OnObjectAreaTargetSelect hooks are called (must be before splitting unit/go targets) 2012-07-01 21:05:53 +02:00
Shauren
c8d20004a5 Core: Minor code style corrections 2012-06-30 16:07:09 +02:00
Shauren
067c27d299 Core/SpellScript: Corrected error messages and in-source documentation for OnObjectAreaTargetSelect hook and allow using that hook only for area spell targets 2012-06-30 00:06:17 +02:00
Shauren
e0997874f5 Core/SpellScripts: Changed OnUnitTargetSelect hook to OnObjectAreaTargetSelect, it will now work with WorldObject instead of only Units and call it even for empty target lists 2012-06-29 21:53:35 +02:00