2013-09-26

Marine Core Changes

Core/Movement: Fix uninitialized MovementInfo fields

Fix uninitialized fallTime and splineElevation fields of MovementInfo.

DB/SAI: Guided by Honor 11289

Requires spell to give quest credit, hence the issue of being unable to turn it in.

Core/Misc: Fixed some more issues found by code analysis tools.

Core/Misc: Solved some issues found by static code analysis.

DB/SAI: Disclosure (12710)

The credit timing is very strange, it is given right at the start of the script, but that's how it is from Blizzard, so we'll stick to that.

As for the areatriggers, I know I could've just simplified it and made it into an areatrigger_teleport. But the sniffs state that it is the trigger that just makes the bunnies cast the teleport spell, so we'll keep that one complicated.

This is the penultimate quest of the chain, the final quest is a WIP.

DB/Update: Spells update for Bloadted Abomination

DB/Creature: Delete 2 mobs spawned on the void

Quest/SAI: Fix quest credit for quest "Monitoring the Rift: Cleftcliff Anomaly"

DB/SAI: Mystery of the Infinite (12470)

Scripts/HallsOfStone: Sjonnir, some improvements

rewritten to BossAI

added spawn ordered by percent, according to official data

Scripts/HoL/HoS: changed some bosses to optional, doors are always open

Core/SAI: Added SMART_ACTION_CALL_KILLEDMONSTER log for has already spell kill credit

Core: Fix compile with PCH enabled and warnings

Few corrections to worldserver.conf

Scripts/HallsOfStone: reworked InstanceScript

Fix Some Rbac Data

Build Commands RBAC Data for

Character, Message, lookup, lfg, learn, Instance, Honor, Guild, gobkect, go, gm, event, disable, deserter, cheat, debug

Core/Spells: move debug log into debug mode

Core/Socket: Fix race condition in WorldSocket

ReactorRunnable::svc() checks the status of WorldSockets while WorldRunnable::run() updates them, causing a race condition....

Core/Account: Make account password change security variable and various changes

Settings within Worldserver.conf Can be set None,Email,RBAC

Core/Commands: fixes .learn all crafts.

Core/Spell: Fix farsight log error "Player requests non-existing seer"

Core/Objects: Removed obsolete code

DB/Loot: Rework skinning_loot_template definitions, removing the horrible definitions ripped from wowhead and replacing them with a proper defined set of loot

Scripts/Misc: Removed unused fields and fixed a warning about uninitialized value

Scripts/Misc: Removed unused fields and fixed a warning about uninitialized value

DB/SAI: Fix quest credit for quest "Torching Sunfury Hold"

Core/Thread: Fix race condition in FreezeDetectorRunnable

Fix race condition by replacing a static volatile uint32 with proper atomic thread-safe ACE_Atomic_Op<ACE_Thread_Mutex, uint32>, incremented in WorldRunnable::run() at each world loop and read in FreezeDetectorRunnable::run().

Core/SmartAI: Add a spellid to SMART_EVENT_TARGET_CASTING. If left on 0, it checks for all spells (like it did without these changes)

Core/SAI: Allow using SMART_ACTION_SET_HOME_POS with multiple target types

Core/SAI: Also use loot recipient for SMART_ACTION_CALL_KILLEDMONSTER when target is SMART_TARGET_SELF (used in four cases in a clean TDB which will be fixed by this)

Core/SAI: Fix processing linked events when return is used in ProcessAction

Dep/G3D: Fix encoding of G3D-v8.0_hotfix8.diff

Dep/G3D: Fix a typo in Vector3int32 += operator

Core/NetworkIO: Fixed memory leak

DB/TrinityString: Fix an issue with non-ascii characters encoding

Scripts/Ulduar: fix mark of the faceless and add missing door handling

Core/Creatures: Added error log for SPELL_AURA_CONTROL_VEHICLE auras in creature_addon / creature_template_addon

Core/RBAC: Move bf commands to RBAC (using individual permissions)

Core/NetworkIO: Fix memory leak

Packet headers not being correctly deallocated.

DB/Creature: Fix cords for quest "Death Comes From On High"

DB/Sai: Fix quest credit for quest "Blessing of Incineratus"

Core/Spells: Fix quest credit for quest "Death Comes From On High"

Core/Scripts: add creature_text to pet mojo

Scripts/Karazhan/Moroes: cleanup a bit (should fixes mem leak)

DB/SAI: The Lost Mistwhisper Treasure (12575)

Dep/G3D: Fix a typo in Matrix4 == operator

DB/Reputation: Move quest_repeatable_rate after quest_monthly_rate

Scripts/Icecrown Citaldel: Fixed spells cast by Professor Putricide during heroic Festergut and Rotface encounters

DB/SAI: Deeprun Rat Roundup (6661)

Core/CharacterHandler: Some more rules for CMSG_CHAR_ENUM allowance

Core/Maps: Fix Spline triggered assert

Fix an assert triggered by float to int32 cast overflowing to -1, now it replaces -1 with max int32 value.

Fix another assert triggered by Vector3 magnitude float overflow to max/infinity in StaticMapTree::isInLineOfSight(), in this case return false.

Both asserts can be reproduced by casting Mind Control to a NPC, tele to z: 1.0e+38 using client hack tools, move to allow the server to register the new position and stop Mind Control.

Core/Quests: Split Flags and SpecialFlags

Core/Creatures: Fix base stats calculations for some cases.

i.e. health_mod of 0.001 resulting in hp of 0 instead of 1

Core/Quests: Remove CastedCreatureOrGO method

Remove EAI's ACTION_T_CAST_EVENT and ACTION_T_CAST_EVENT_ALL

Remove SAI's SMART_ACTION_CALL_CASTEDCREATUREORGO

Split QUEST_TRINITY_FLAGS_KILL_OR_CAST into QUEST_TRINITY_FLAGS_KILL and QUEST_TRINITY_FLAGS_CAST

Assign QUEST_TRINITY_FLAGS_CAST to all the quests that were using RequiredSpellCastX

(unrelated) Fix a warning in Player.cpp

Replace CastedCreatureOrGO usage in scripts by KilledMonsterCredit

Core/Server: Fix a spammy warning in WorldSession and move code to .cpp

Core/RBAC: Move ban commands to RBAC (using individual permissions)

Core/RBAC: Move Achievements and Arena commands to RBAC (using individual permissions)

Core/RBAC: Move account commands to RBAC (using individual permissions)

Correct RBAC command names in DB

Core/RBAC: Move RBAC commands to RBAC using individual permissions

Core/RBAC: Move commands security to RBAC (using generic RBAC Permissions)

Core/NetworkIO: Allow CMSG_CHAR_ENUM after char creation and char deletion

Implement SMART_ACTION_GAME_EVENT_STOP (111) and SMART_ACTION_GAME_EVENT_START (112).

DB/Errors: Db error fix

Core/Quests: Drop world.quest_template.RequiredSpellCastX

DB/Sai: Suppression (7583)

DB/Loot: Fix Sealed Chest loot

Core/Quests: Escape from Silverbrook 12308

Core/SmartAI: Add passive check for WP movement

DB/Update: Bladespire Kegger & Getting the Bladespire Tanked

DB/SAI: Matthias Lehner

Fix up for gossip. He should also show gossip only on quest, and for both alliance and horde.

Scripts/Spells: fix codestyle

DB/Misc: Fix startup errors

DB/Conditions: fix startup error

DB/Quests: Fix "I'm Not Dead Yet!"

DB/Quests: Prepping the Speech description/progress/completion text

DB/Spawns: Kor'kron Reaver & Skybreaker Marine are currently missing from Dalaran's Krasus landing

DB/Schema: Fix typo in reputation_reward_rate.quest_repeatable_rate name

Scripts/UtgardeKeep/Ingvar: remove hacks and fix warning

DB/Reputation: Reward 3x reputation for Sporegar on repeteable quests

Core/Quests: Add repeatable quest rate to world.reputation_reward_rate

Core/Build: Force minimum ACE (5.8.3) and OpenSSL (1.0.0) version detection

Core/Build: Do not ignore command line cmake options: ACE_INCLUDE_DIR, ACE_LIBRARY and OPENSSL_INCLUDE_DIR

Scripts/UtgardeKeep: reworked InstanceScript and cleanup some boss script

Core&Scripts: Fix clang compiler warnings

Server/Collision: Fix build on clang

Core/Misc: Fix compiler warnings

DB: Missing declaration

DB/SAI: Sabotage 12676 (part 1)

DB/SAI: Zero Tolerance & Hazardous Materials

Use the Hand of Drakuru to kill Darmuk, player should stand from a distance

DB/Loot: Bosses in Shattered Halls Heroic

DB/Comments: Unclear comments

DB/SAI: It Rolls Downhill 12673

Core/EventAI: Shut up compiler warnings

Scripts/Auchindoun: add missing InstanceScripts and cleanup some boss scripts

Build fix

Core/Scripts: Fixed uninitialized variable and memory leaks

Core/Aura: Fix SPELL_AURA_BIND_SIGHT invalid read

Mind Vision has Aura Effect SPELL_AURA_BIND_SIGHT which adds the target to a special Map container i_objectsToSwitch, used to switch grid containers for target Creatures of this Aura Effect.

When the target is a Creature, when the Creature is removed from world it's added to i_objectsToSwitch and then to i_objectsToRemove, iterated in this order in Map::RemoveAllObjectsInRemoveList() so the reference in i_objectsToSwitch is valid.

When the target is a Player, when the Player logs out it's added to i_objectsToSwitch but then Map::RemovePlayerFromMap() deletes the Player, leaving an invalid reference in i_objectsToSwitch.

Since the whole point of i_objectsToSwitch is to store Creatures and since the stored references are used only if the condition "GetTypeId() == TYPEID_UNIT" is verified, it's safe to add only objects of TYPEID_UNIT type to the container.

SAI & Scripts: Fix unitialized values found by Valgrind

DB/Errors: Error fix

Core/Guild: Fix uninitialized value on guild creation

Fix GuildMember flags left uninitialized when creating a new guild.

Core&Tools: Fix multiple issues found by a static code coverage tool

DB/SAI: Ribbly Screwspigot (4136)

DB/SAI: Out of Body Experience (12327)

Core/Instances: Fix mutex released after being deleted

Modify how InstanceSave is deleted so the local mutex can be released before deleting the class itself.

DB/Sai: Make cauldrons reward buffs

Core&Tools: Fix warnings and non-pch build

Core/Player: Fix uninitialized Player field.

m_MonthlyQuestChanged was initialized only when loading a Player from DB and left uninitialized when creating a new Player.

Core/Auth: Implement time-based token for user login as described in RFC 6238.

New column in account table is a base32 of token key bytes,

coincidentally it is the same format Google's Authenticator Android app uses.

If you want that to work, set system time on server correctly and use ntpd.

Core&Tools: Fix multiple issues found by a static code coverage tool

DB/SAI: Cannot Reproduce (13320,13355) & Retest Now (13321,13322,13356,13357)

Fix uninitialized UpdateMask field

Initialized UpdateMask::_bits to NULL in all constructors.

UpdateMask(UpdateMask const& right) constructor sets the field count with SetCount() method before any field initialization. This means that SetCount() will call delete[] on the uninitialized _bits pointer field, leading to undefined behavior.

DB/SAI: The Last of Her Kind credit update

DB/Conditions: Awakening Rod

Core/Settings: Fix build in non cpp11 compilers

[DB/SAI] Sleeping Giants (11432 & 11433)

Core/Settings: Fix a crash if worldserver.conf DataDir setting is empty

Core/Misc: Implement CMSG_SET_TAXI_BENCHMARK_MODE to toggle PLAYER_FLAGS_TAXI_BENCHMARK based on arguments. To enable/disable this, call '/script SetTaxiBenchmarkMode(1)' (1 = on, 0 = off). Basically debugs the taxi flight and outputs min, max and avg FPS during flight. Automatically toggled off when flight ends.

Scripts: Fix two issues found by Valgrind

Tools: Fix compiler warnings

[DB/Errors] Really fix a few more errors.

Scripts/Halls of Reflection: Fixed accessing uninitialized memory

[DB/Errors] Fix a few DB errors.

Script/Ahnkahet: Fix warning

[DB/SAI]: I've Got a Flying Machine! (11390)

[DB/SAI] Vile Like Fire!

Scripted/ShadeOfAkama: Some cleanups

Scripts/GruulsLair: reworked InstanceScript

Scripts/AhnKahet: reworked InstanceScript

Core: Fix warnings and random changes

Scripts/BlackTemple: reworked InstanceScript

Core/Command: Fixing .account password to no longer crash

Core/Groups: Allow to configure the way in which instance reset message is sent, to the whole party (not blizzlike) or not.

DB/SAI: War is Hell

Core: Fix non PCH build

DB/SAI: Strengthen the Ancients addition

Core/Commands: Fixing some problems with .account email

Core/ArenaTeam: Add teamnames to logs.

Scripts/Commands: Retrieve Creature template in HandlePetCreateCommand from Creature itself

Scripts/Murmur: Remove unused field

Core/Timer: Better handle system clock changes

Core/Thread: Fix race condition converting time values to local time

Scripts/Halion: refixed Twilight Cutter

Scripts/PitOfSaron: some changes

DB/Cond: Error fix-up

Core/RBAC: Update RBACPermissions enum with 4.3.4 branch

Core/RBAC: Remove obsolete generic command permissions

Core/RBAC: Move titles and wp commands to RBAC (using individual permissions)

Core/RBAC: Move ticket commands to RBAC (using individual permissions)

Core/RBAC: Move tele commands to RBAC (using individual permissions)

Core/RBAC: Move server commands to RBAC (using individual permissions)

Core/RBAC: Move reset commands to RBAC (using individual permissions)

Core/RBAC: Move reload command to RBAC (using individual permissions)

Core/RBAC: Move quest commands to RBAC (using individual permissions)

Core/RBAC: Move npc commands to RBAC (using individual permissions)

Core/RBAC: Move modify commands to RBAC (using individual permissions)

Core/RBAC: Move mmap commands to RBAC (using individual permissions)

Core/RBAC: Move misc commands to RBAC (using individual permissions)

Core/RBAC: Move send commands to RBAC (using individual permissions)

DB/SAI: The Zephyrium Capacitorium(part 1), The Singing Ridge(part 2), Razaan's Landing, Ruuan Weald

Core/RBAC: Move pet commands to RBAC (using individual permissions)

Core/RBAC: Move group commands to RBAC (using individual permissions)

DB/Cond: Conditions for Hodir's Horn

DB/SAI: Blowing Hodir's Horn (12977)

Core/SmartAI: Fixed creatures using SAI not attacking its charmer after it breaks

DB/Update: Needs null spawndist

DB/SAI: Trapping the Light Fantastic (10674) & Gather the Orbs (10859)

Adds support for the Alliance quest also, and makes the orbs go in tandem with the horde version script.

Core/SmartScripts: Fixed heap corruption in SMART_ACTION_EQUIP

DB/Sai: Teron Gorefiend, I am...

Added horde version for the script also.

DB/Updates: AI fixups

Scripts/Blood Furnace: Fix possible compile errors on old VS versions

Core/Battlegrounds: Allow random BG winner/loser rewards to be configurable

Core/Guild: Fix memory leak on Guild disband

Core/SAI: Make SMART_TARGET_OWNER_OR_SUMMONER also work for creatures summoned by spells

Scripts/Spells: drop obsolete code

Core/Condition: Added CONDITION_SOURCE_TYPE_PHASE_DEFINITION define for only 4.3.4 branch

Core/Battleground: Fix scoreboard

Scripts/YoggSaron: fixed rewarding loot

Core/Spells: add an other condition to SpellInfo::NeedsToBeTriggeredByCaster to correct spells with are wrongly triggered by target instead of caster

convert archavons rock shards to spellscript (now it works properly)

add a spellscript for one spell that can't be corrected by this (and delete the sai hack, now i uses the correct spell)

Core/Commands: Fix .debug send opcode freeze if file dont exists.

Update DBCStructure.h

Scripts/Commands: Check if creature entry is valid before attempting to spawn (fixes unneccessary error in logs)

Core/Vehicles: Add vehicle_seat_flag_unk18 (0x20000) to seat.IsUsableByOverride

Core/Achievements: Converted save queries to prepared statements

DB/Misc: Fix few startup errors

Core/Guild: Fix Guild validation crash on start up

Core/SAI: Added SMART_ACTION_SUMMON_CREA / SMART_ACTION_SUMMON_GO log for has already summon spell

Core/Battlegrounds/IoC: fix fortress teleport pads

Core/Command Line: Fix memory leak

DB/Spawns: Spawns & AI for Corpulent Horrors

DB/SAI: A Cleansing Song AI

DB/SAI: Putting Olakin Back Together Again (13220)

Core/Build: Fixed build

Core/Build: Updated the header files to fix the build.

Core/Misc: Fixed some more issues found by static code analysis tools.

Auth/Misc: Code cleanup.

Random performance optimizations

Scripts/HallsOfReflection: Fixed a typo detected by static analysis tool.

Core/Logs: Random changes

DB/SAI: Zeth'Gor Must Burn!

Core/Script: ICC: Convert possible non valid pointer to guid

DB/SAI: Eyes of Grillok

cripts/ScarletEnclave: Fix uninitialized values in Highlord Darion Mograine

Core/Guild: Fix withdraw money from bank overflowing int32 limit

Core/DB: Make a26a24a consistent with Trinity code style

Core/AccountMgr: Fix memory leak on account creation

Core/SAI: Make SMART_ACTION_RANDOM_MOVE also work with SMART_TARGET_NONE and non-creature targets (if a non-creature target_type is specified and no creature target was found, the action is fired at the source)

Core/PathGenerator: Fix conditional jump on uninitialized value

DB/SAI: The Battle of Valhalas Quest Chain

Battle at Valhalas: Fallen Heroes (13214)

Battle at Valhalas: Khit'rix the Dark Master (13215)

Battle at Valhalas: The Return of Sigrid Iceborn (13216)

Battle at Valhalas: Carnage! (13217)

Battle at Valhalas: Thane Deathblow (13218)

Battle at Valhalas: Final Challenge (13219)

DB/GameObject: Added gameobject "Dark Iron Mole Machine (Minion Summoner Trap)"

DB/Errors: Leftoever fixes

DB/Errors: Misc db error fixes

Core/Achievement: Fix warning

Core: Fix non pch build

Core/Achievements: Implemented ACHIEVEMENT_CRITERIA_TYPE_KILL_CREATURE_TYPE

Core/Auras: Fix removing auras when player reset talents or changing/leaving shapeshift

DB/SAI: Missing addition

DB/SAI: Misc Fixes

DB/Error: Delete empty guid addon

DB/SAI: So Far, So Bad

DB/SAI: Fate of the Titans

Tools/VMAP: Fix not null terminated string

Fix not null terminated string in vmap assembler tool

Scripts/HoR: Fix possible array overflow

Core/BGs: Fix a TC_LOG_ERROR call

Core/Misc: Fixed some more issues found by static code analysis tools.

Core/Spell: Fix Blood Tap array overflow

Fix Blood Tap spellid 45529 accessing the 7th element of a size 6 array.

DB/GO: Spell Focus for Trial of the Lake

DB/Update: Warm Up - credit update

Core/Logs: Fix race condition in Log

Fix race condition in Log by using atomic operators.

Core/Commands: Fix NULL dereference crash in .account password

Scripts/Ruby Sanctum: (Possibly) fixed Twilight Mending.

Core/SAI: Using SMART_TARGET_NONE no longer works the same way as SMART_TARGET_ACTION_INVOKER but rather return NULL instead.

Core/Chat Sever: Fix handle Global announce message

Core/Guild: let try and fix the Guild member on-line status

fixers whisper message

fix the remaining whispers issues

Core/Commands/Items: Add item Reload For CI Tool to install Custom items Without a server restart

Fix Startup Errors

Core/GM Tickets: Add Surveys to have Ticket ID and Closed Date to tickets

Fix Crash

Script new Gm ingame Command

Core/Commands: New pinfo Command "painfo" use with NE_ADDON

Core/Custom: Added IS Action System to be used with the Addon

Fix Compile

Fix ouput Mesages

Fix permission loading, And Fix NE Commands

fix more permission system Should Fix compile

Add Some of the Conversion of the for permissions First part of the conversion done

Add Some More NE Permission Chnges

Core/rbac/Commands: Fix Some more Command ID's from the last merge, Still need to fix rbac_permission re-alig

Few more command changes ID We now have all TC ID Set to our System

Fix the issue with commands not Getting there ID From DB

Add ICC Gunship Let see how this plays out before i do anymore changes

ICC/Gunship: Fixers the NPC Falling though the ship

ICC/Gunship: Fix Cannon Bug

ICC/Gunship: Fix Relocation Of NPC On reset And lower the map Update Rate and Make the Timer to update as the movement happens

fix Login system to Allow the NE System to be used

Fix Saviana Ragefire Damage Done

NE vendor: Fix SQL File with missing Statement ending

Add reload Command For rbac to allow the updateing of permission though the website

Add Show/has (spell/skill/profession) check commands

Fix String Conversion errors

Fix and update CMake options now we have a folder structure again

Core/Command: Add rezz Sickness to revive command

Fix Load spam from Custom items

Trail of the Crusader: Should Fix the Crashing of _instance been NULL

Fix Mail System Spam

Fix Crash in Commands

Fix Remote Chat Crash

Add Next part of the staff Addon, The staff addon now can only be used by Staff and have to register with the server before it will allow usage od any of the addon

Add New Ticket System For the new NE_ADDON Fixers Incomplete date been sent to staff when reading tickets, and few more tweeks

Add Staff ONLY GLOBAL Addon Channel For the Addon to Use

Add Duel Cool-down reset Script

Add New command to disable channel (e.g disable global and give notice it disabled)

Add better timestamps to tickets

NE VENDOR: Apply Duel Gamble Fix

NE VENDOR: Add BM Event Vendor just needs spawning

Add AntiDos Preventions TO opcode Flooding

Show more