This commit is contained in:
Yehonal 2017-09-21 17:04:43 +02:00
commit ce6b9de51a
24 changed files with 71 additions and 63 deletions

View file

@ -17,9 +17,9 @@ before_install:
install:
- mysql -uroot -e 'create database test_mysql;'
# bin directory already exists in the repo and therefore is not created here
- cd bin
- cmake ../ -DWITH_WARNINGS=1 -DWITH_COREDEBUG=1 -DUSE_COREPCH=1 -DUSE_SCRIPTPCH=1 -DTOOLS=1 -DSCRIPTS=1 -DSERVERS=1 -DWITH_PERFTOOLS=1 -DENABLE_EXTRA_LOGS=1 -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=check_install
- mkdir build
- cd build
- cmake ../ -DWITH_WARNINGS=1 -DWITH_COREDEBUG=1 -DUSE_COREPCH=0 -DUSE_SCRIPTPCH=0 -DTOOLS=1 -DSCRIPTS=1 -DSERVERS=1 -DWITH_PERFTOOLS=1 -DENABLE_EXTRA_LOGS=1 -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_FLAGS="-Werror" -DCMAKE_CXX_FLAGS="-Werror" -DCMAKE_INSTALL_PREFIX=check_install
- cd ..
script:
@ -35,6 +35,7 @@ script:
- cat data/sql/updates/pending_db_characters/*.sql | mysql -uacore -pacore characters
- cat data/sql/updates/pending_db_world/*.sql | mysql -uacore -pacore world
- mysql -uroot < data/sql/create/drop_mysql.sql
- cd bin
- cd build
- make -j 8 -k && make install
- cd check_install/bin

View file

@ -10,6 +10,7 @@
#include <cstdint>
#include <cstddef>
#include <sys/types.h>
#include <ace/Basic_Types.h>
#include <ace/ACE_export.h>
#include <ace/Default_Constants.h>

View file

@ -15,6 +15,6 @@ if(WITH_COREDEBUG)
endif()
# -Wno-narrowing needed to suppress a warning in g3d
# -Wno-deprecated-register -Wstring-plus-int -Wpointer-bool-conversion are needed to suppress gsoap warnings on Unix systems.
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wno-narrowing -Wno-deprecated-register -Wstring-plus-int -Wparentheses -Wreorder -Wlogical-op-parentheses")
# -Wno-deprecated-register is needed to suppress gsoap warnings on Unix systems.
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wno-narrowing -Wno-deprecated-register")
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DDEBUG=1")

View file

@ -2183,7 +2183,7 @@ void AchievementMgr::CompletedAchievement(AchievementEntry const* achievement)
//! Since no common attributes were found, (not even in titleRewardFlags field)
//! we explicitly check by ID. Maybe in the future we could move the achievement_reward
//! condition fields to the condition system.
if (uint32 titleId = reward->titleId[achievement->ID == 1793 ? GetPlayer()->getGender() : GetPlayer()->GetTeamId()])
if (uint32 titleId = reward->titleId[achievement->ID == 1793 ? GetPlayer()->getGender() : uint8(GetPlayer()->GetTeamId())])
if (CharTitlesEntry const* titleEntry = sCharTitlesStore.LookupEntry(titleId))
GetPlayer()->SetTitle(titleEntry);

View file

@ -12,6 +12,7 @@
#include "TransportMgr.h"
#include "DBCfmt.h"
#include "BattlegroundMgr.h"
#include "World.h"
#include <map>

View file

@ -12077,7 +12077,7 @@ uint32 Unit::MeleeDamageBonusTaken(Unit* attacker, uint32 pdamage, WeaponAttackT
// ..taken
AuraEffectList const& mDamageTaken = GetAuraEffectsByType(SPELL_AURA_MOD_DAMAGE_TAKEN);
for (AuraEffectList::const_iterator i = mDamageTaken.begin(); i != mDamageTaken.end(); ++i)
if ((*i)->GetMiscValue() & (spellProto ? spellProto->SchoolMask : attacker->GetMeleeDamageSchoolMask()))
if ((*i)->GetMiscValue() & (spellProto ? spellProto->GetSchoolMask() : attacker->GetMeleeDamageSchoolMask()))
TakenFlatBenefit += (*i)->GetAmount();
if (attType != RANGED_ATTACK)
@ -12088,7 +12088,7 @@ uint32 Unit::MeleeDamageBonusTaken(Unit* attacker, uint32 pdamage, WeaponAttackT
// Taken total percent damage auras
float TakenTotalMod = 1.0f;
TakenTotalMod *= GetTotalAuraMultiplierByMiscMask(SPELL_AURA_MOD_DAMAGE_PERCENT_TAKEN, spellProto ? spellProto->SchoolMask : attacker->GetMeleeDamageSchoolMask());
TakenTotalMod *= GetTotalAuraMultiplierByMiscMask(SPELL_AURA_MOD_DAMAGE_PERCENT_TAKEN, spellProto ? spellProto->GetSchoolMask() : attacker->GetMeleeDamageSchoolMask());
// .. taken pct (special attacks)
if (spellProto)
@ -12172,7 +12172,7 @@ uint32 Unit::MeleeDamageBonusTaken(Unit* attacker, uint32 pdamage, WeaponAttackT
bool addModifier = false;
AuraEffectList const& ResIgnoreAuras = attacker->GetAuraEffectsByType(SPELL_AURA_MOD_IGNORE_TARGET_RESIST);
for (AuraEffectList::const_iterator j = ResIgnoreAuras.begin(); j != ResIgnoreAuras.end(); ++j)
if ((*j)->GetMiscValue() & (spellProto ? spellProto->SchoolMask : SPELL_SCHOOL_MASK_NORMAL))
if ((*j)->GetMiscValue() & (spellProto ? spellProto->GetSchoolMask() : SPELL_SCHOOL_MASK_NORMAL))
{
ApplyPct(ignoreModifier, (*j)->GetAmount());
addModifier = true;

View file

@ -2411,7 +2411,9 @@ class Unit : public WorldObject
virtual bool HasSpellCooldown(uint32 /*spell_id*/) const { return false; }
virtual bool HasSpellItemCooldown(uint32 /*spell_id*/, uint32 /*itemid*/) const { return false; }
virtual void AddSpellCooldown(uint32 /*spell_id*/, uint32 /*itemid*/, uint32 /*end_time*/, bool needSendToClient = false, bool forceSendToSpectator = false) {
needSendToClient = forceSendToSpectator = false; // workaround for unused parameters
// workaround for unused parameters
(void)needSendToClient;
(void)forceSendToSpectator;
}
bool CanApplyResilience() const { return m_applyResilience; }

View file

@ -1009,12 +1009,7 @@ namespace Trinity
public:
AnyAttackableUnitExceptForOriginalCasterInObjectRangeCheck(WorldObject const* obj, Unit const* funit, float range)
: i_obj(obj), i_funit(funit), i_range(range)
{
Unit const* check = i_funit;
Unit const* owner = i_funit->GetOwner();
if (owner)
check = owner;
}
{}
bool operator()(Unit* u)
{
if (!u->IsAlive() || u->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE) || (u->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC) && !u->IsInCombat()))

View file

@ -1643,7 +1643,7 @@ void WorldSession::HandleSetRaidDifficultyOpcode(WorldPacket & recv_data)
return;
}
if (IsSharedDifficultyMap(groupGuy->GetMap()->GetId()) && mode%2 == _player->GetRaidDifficulty()%2 && group->isRaidGroup())
if (IsSharedDifficultyMap(groupGuy->GetMap()->GetId()) && (_player->GetRaidDifficulty() >= 0 && uint32(mode%2) == uint32(_player->GetRaidDifficulty()%2)) && group->isRaidGroup())
{
if (!currMap)
currMap = groupGuy->GetMap();

View file

@ -191,7 +191,7 @@ public:
return false;
}
if (tokens.size() != count+2)
if (tokens.size() != uint16(count+2))
{
handler->PSendSysMessage("Invalid number of nicknames for this bracket.");
handler->SetSentErrorMessage(true);

View file

@ -5,6 +5,7 @@
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
#include "SpellInfo.h"
#include "SpellScript.h"
#include "karazhan.h"
enum eSay

View file

@ -5,6 +5,7 @@
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
#include "karazhan.h"
#include "SpellScript.h"
enum Yells
{

View file

@ -2,6 +2,8 @@
#include "ScriptMgr.h"
#include "InstanceScript.h"
#include "karazhan.h"
#include "SpellScript.h"
#include "SpellAuraEffects.h"
const Position OptionalSpawn[] =
{

View file

@ -7,6 +7,7 @@ REWRITTEN BY XINEF
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
#include "SmartAI.h"
#include "ScriptedGossip.h"
enum AshbringerEventMisc
{

View file

@ -327,7 +327,7 @@ class spell_scholomance_shadow_portal : public SpellScriptLoader
}
else
{
room = (++room)%ROOM_MAX;
room = (room+1)%ROOM_MAX;
++attempts;
}
}

View file

@ -564,37 +564,37 @@ public:
{
uint32 essenceId = 0;
uint32 effect2Id = 0;
uint32 empoweredId = 0;
//uint32 empoweredId = 0;
uint32 touchId1 = 0;
uint32 touchId2 = 0;
//uint32 touchId2 = 0;
switch( creature->GetMap()->GetDifficulty() )
{
case 0:
essenceId = 65684;
empoweredId = 65724;
//empoweredId = 65724;
touchId1 = 65950;
touchId2 = 66001;
//touchId2 = 66001;
effect2Id = 65827;
break;
case 1:
essenceId = 67176;
empoweredId = 67213;
//empoweredId = 67213;
touchId1 = 67296;
touchId2 = 67281;
//touchId2 = 67281;
effect2Id = 67179;
break;
case 2:
essenceId = 67177;
empoweredId = 67214;
//empoweredId = 67214;
touchId1 = 67297;
touchId2 = 67282;
//touchId2 = 67282;
effect2Id = 67180;
break;
case 3:
essenceId = 67178;
empoweredId = 67215;
//empoweredId = 67215;
touchId1 = 67298;
touchId2 = 67283;
//touchId2 = 67283;
effect2Id = 67181;
break;
}
@ -610,36 +610,36 @@ public:
{
uint32 essenceId = 0;
uint32 effect2Id = 0;
uint32 empoweredId = 0;
uint32 touchId1 = 0;
//uint32 empoweredId = 0;
//uint32 touchId1 = 0;
uint32 touchId2 = 0;
switch( creature->GetMap()->GetDifficulty() )
{
case 0:
essenceId = 65686;
empoweredId = 65748;
touchId1 = 65950;
//empoweredId = 65748;
//touchId1 = 65950;
touchId2 = 66001;
effect2Id = 65811;
break;
case 1:
essenceId = 67222;
empoweredId = 67216;
touchId1 = 67296;
//empoweredId = 67216;
//touchId1 = 67296;
touchId2 = 67281;
effect2Id = 67511;
break;
case 2:
essenceId = 67223;
empoweredId = 67217;
touchId1 = 67297;
//empoweredId = 67217;
//touchId1 = 67297;
touchId2 = 67282;
effect2Id = 67512;
break;
case 3:
essenceId = 67224;
empoweredId = 67218;
touchId1 = 67298;
//empoweredId = 67218;
//touchId1 = 67298;
touchId2 = 67283;
effect2Id = 67513;
break;

View file

@ -653,7 +653,7 @@ class npc_high_overlord_saurfang_icc : public CreatureScript
void UpdateAI(uint32 diff)
{
_events.Update(diff);
switch (uint32 eventId = _events.ExecuteEvent())
switch (_events.ExecuteEvent())
{
case 0:
break;
@ -894,7 +894,7 @@ class npc_muradin_bronzebeard_icc : public CreatureScript
void UpdateAI(uint32 diff)
{
_events.Update(diff);
switch (uint32 eventId = _events.ExecuteEvent())
switch (_events.ExecuteEvent())
{
case 0:
break;
@ -1057,9 +1057,9 @@ class spell_deathbringer_blood_link_aura : public SpellScriptLoader
Unit* victim = eventInfo.GetActionTarget();
SpellInfo const* procSpell = eventInfo.GetDamageInfo()->GetSpellInfo();
uint32 markCount = 0;
if (Creature* saurfang = eventInfo.GetActor()->ToCreature())
markCount = saurfang->IsAIEnabled ? saurfang->AI()->GetData(123456 /*FALLEN_CHAMPION_CAST_COUNT*/) : 0;
//uint32 markCount = 0;
//if (Creature* saurfang = eventInfo.GetActor()->ToCreature())
//markCount = saurfang->IsAIEnabled ? saurfang->AI()->GetData(123456 /*FALLEN_CHAMPION_CAST_COUNT*/) : 0;
int32 basepoints = int32(1.0f /*+ 0.5f + 0.5f*markCount*/);
switch (procSpell->Id) // some spells give more Blood Power
{
@ -1106,13 +1106,15 @@ class spell_deathbringer_blood_link_blood_beast_aura : public SpellScriptLoader
{
PreventDefaultAction();
/*
uint32 markCount = 0;
if (Map* map = eventInfo.GetActor()->FindMap())
if (InstanceMap* imap = map->ToInstanceMap())
if (InstanceScript* isc = imap->GetInstanceScript())
if (uint64 sguid = isc->GetData64(3 /*DATA_DEATHBRINGER_SAURFANG*/))
if (uint64 sguid = isc->GetData64(3) //DATA_DEATHBRINGER_SAURFANG
if (Creature* saurfang = ObjectAccessor::GetCreature(*eventInfo.GetActor(), sguid))
markCount = saurfang->IsAIEnabled ? saurfang->AI()->GetData(123456 /*FALLEN_CHAMPION_CAST_COUNT*/) : 0;
markCount = saurfang->IsAIEnabled ? saurfang->AI()->GetData(123456) : 0; //FALLEN_CHAMPION_CAST_COUNT
*/
int32 basepoints = int32(3.0f /*+ 0.5f + 0.5f*markCount*/);
eventInfo.GetActor()->CastCustomSpell(SPELL_BLOOD_LINK_DUMMY, SPELLVALUE_BASE_POINT0, basepoints, eventInfo.GetActionTarget(), true);

View file

@ -956,7 +956,7 @@ class boss_the_lich_king : public CreatureScript
if (me->HasUnitState(UNIT_STATE_CASTING) && !((1 << _phase) & PHASE_MASK_NO_CAST_CHECK))
return;
switch (uint32 eventId = events.ExecuteEvent())
switch (events.ExecuteEvent())
{
case EVENT_BERSERK:
Talk(SAY_LK_BERSERK);
@ -1342,7 +1342,7 @@ class npc_tirion_fordring_tft : public CreatureScript
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
switch (uint32 eventId = _events.ExecuteEvent())
switch (_events.ExecuteEvent())
{
case EVENT_INTRO_LK_MOVE:
if (Creature* theLichKing = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_THE_LICH_KING)))
@ -1799,7 +1799,7 @@ class npc_shambling_horror_icc : public CreatureScript
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
switch (uint32 eventId = _events.ExecuteEvent())
switch (_events.ExecuteEvent())
{
case EVENT_SHOCKWAVE:
me->CastSpell(me->GetVictim(), SPELL_SHOCKWAVE, false);
@ -2329,7 +2329,7 @@ class npc_raging_spirit : public CreatureScript
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
switch (uint32 eventId = _events.ExecuteEvent())
switch (_events.ExecuteEvent())
{
case EVENT_RAGING_SPIRIT_UNROOT:
{
@ -2581,10 +2581,10 @@ class npc_valkyr_shadowguard : public CreatureScript
}
dropped = true;
_events.Reset();
Player* p = NULL;
/*Player* p = NULL;
if (Vehicle* v = me->GetVehicleKit())
if (Unit* passenger = v->GetPassenger(0))
p = passenger->ToPlayer();
p = passenger->ToPlayer();*/
me->CastSpell((Unit*)NULL, SPELL_EJECT_ALL_PASSENGERS, false);
if (IsHeroic())
@ -2619,7 +2619,7 @@ class npc_valkyr_shadowguard : public CreatureScript
if (me->HasUnitState(UNIT_STATE_CASTING | UNIT_STATE_STUNNED))
return;
switch (uint32 eventId = _events.ExecuteEvent())
switch (_events.ExecuteEvent())
{
case EVENT_GRAB_PLAYER:
if (!_grabbedPlayer)
@ -3154,7 +3154,7 @@ class npc_strangulate_vehicle : public CreatureScript
{
_events.Update(diff);
switch (uint32 eventId = _events.ExecuteEvent())
switch (_events.ExecuteEvent())
{
case EVENT_TELEPORT:
me->GetMotionMaster()->Clear(false);
@ -3281,7 +3281,7 @@ class npc_terenas_menethil : public CreatureScript
_events.Update(diff);
switch (uint32 eventId = _events.ExecuteEvent())
switch (_events.ExecuteEvent())
{
case EVENT_FROSTMOURNE_TALK_1:
me->SetControlled(false, UNIT_STATE_ROOT);

View file

@ -132,7 +132,7 @@ enum ThorimSpells
#define SPELL_RUNIC_SHIELD RAID_MODE(SPELL_RUNIC_SHIELD_10, SPELL_RUNIC_SHIELD_25)
#define SPELL_CHAIN_LIGHTNING RAID_MODE(SPELL_CHAIN_LIGHTNING_10, SPELL_CHAIN_LIGHTNING_25)
enum ThormNPCandGOs
enum ThormNPCandGOs : uint32
{
// ARENA INIT
NPC_DARK_RUNE_ACOLYTE_I = 32886,

View file

@ -537,9 +537,9 @@ public:
summons.DoAction(_currentIllusion, pred);
if (_isIllusionReversed)
_currentIllusion = _currentIllusion == 3 ? 1 : ++_currentIllusion;
_currentIllusion = _currentIllusion == 3 ? 1 : (_currentIllusion+1);
else
_currentIllusion = _currentIllusion == 1 ? 3 : --_currentIllusion;
_currentIllusion = _currentIllusion == 1 ? 3 : (_currentIllusion-1);
}
void SpellSounds()

View file

@ -283,7 +283,7 @@ struct violet_hold_trashAI : public npc_escortAI
void WaypointReached(uint32 id)
{
if (PLoc<6)
if (id == PLocWPCount[PLoc] -1 -(bAlt ? 1 : 0))
if (id == uint16(PLocWPCount[PLoc] -1 -(bAlt ? 1 : 0)))
CreatureStartAttackDoor();
}

View file

@ -459,7 +459,7 @@ class boss_illidan_stormrage : public CreatureScript
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
switch (uint32 eventId = events.ExecuteEvent())
switch (events.ExecuteEvent())
{
case EVENT_SUMMON_MINIONS:
if (me->HealthBelowPct(90))
@ -579,7 +579,7 @@ class boss_illidan_stormrage : public CreatureScript
me->CastSpell(me, SPELL_THROW_GLAIVE2, false);
break;
case EVENT_PHASE_2_CHANGE_POS:
beamPosId = (++beamPosId)%MAX_EYE_BEAM_POS;
beamPosId = (beamPosId+1)%MAX_EYE_BEAM_POS;
events.ScheduleEvent(EVENT_SPELL_FIREBALL, 8000, GROUP_PHASE_2_ABILITY);
events.ScheduleEvent(EVENT_SPELL_DARK_BARRAGE, 18000, GROUP_PHASE_2_ABILITY);
events.ScheduleEvent(EVENT_PHASE_2_EYE_BEAM, urand(25000, 50000), GROUP_PHASE_2_ABILITY);

View file

@ -221,7 +221,7 @@ class boss_alar : public CreatureScript
me->SummonCreature(NPC_EMBER_OF_ALAR, *me, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 6000);
}
me->GetMotionMaster()->MovePoint(POINT_PLATFORM, alarPoints[platform], false, true);
platform = (++platform)%4;
platform = (platform+1)%4;
events.ScheduleEvent(EVENT_SWITCH_PLATFORM, 30000);
}
me->setAttackTimer(BASE_ATTACK, 20000);

View file

@ -41,6 +41,7 @@ char* command_finder(const char* text, int state)
while (idx < cmd.size())
{
ret = cmd[idx].Name;
if (!cmd[idx].AllowConsole)
{
++idx;