Merge branch 'master' of github.com:azerothcore/azerothcore-wotlk into npcbots_3.3.5

This commit is contained in:
2024-08-18 13:21:53 -04:00
10 changed files with 50 additions and 28 deletions

View File

@@ -8,7 +8,6 @@ FROM ubuntu:$UBUNTU_VERSION AS skeleton
ARG DOCKER=1
ARG DEBIAN_FRONTEND=noninteractive
ENV TZ=$TZ
ENV AC_FORCE_CREATE_DB=1
RUN mkdir -pv \
@@ -29,11 +28,12 @@ RUN mkdir -pv \
/azerothcore/build
# Configure Timezone
RUN apt-get update \
&& apt-get install -y tzdata ca-certificates \
&& ln -snf /usr/share/zoneinfo/$TZ /etc/localtime \
&& echo $TZ > /etc/timezone \
&& dpkg-reconfigure --frontend noninteractive tzdata
RUN apt-get update \
&& apt-get install -y --no-install-recommends tzdata ca-certificates \
&& ln -snf "/usr/share/zoneinfo/$TZ" /etc/localtime \
&& echo "$TZ" > /etc/timezone \
&& dpkg-reconfigure --frontend noninteractive tzdata \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /azerothcore
@@ -145,7 +145,7 @@ ENTRYPOINT ["/usr/bin/env", "bash", "/azerothcore/entrypoint.sh"]
###############
FROM runtime AS authserver
LABEL description "AzerothCore Auth Server"
LABEL description="AzerothCore Auth Server"
ENV ACORE_COMPONENT=authserver
# Don't run database migrations. We can leave that up to the db-import container
@@ -167,7 +167,7 @@ CMD ["authserver"]
FROM runtime AS worldserver
LABEL description "AzerothCore World Server"
LABEL description="AzerothCore World Server"
ENV ACORE_COMPONENT=worldserver
# Don't run database migrations. We can leave that up to the db-import container
@@ -190,7 +190,7 @@ CMD ["worldserver"]
FROM runtime AS db-import
LABEL description "AzerothCore Database Import tool"
LABEL description="AzerothCore Database Import tool"
USER $DOCKER_USER
@@ -203,7 +203,7 @@ COPY --chown=$DOCKER_USER:$DOCKER_USER\
--from=build \
/azerothcore/env/dist/bin/dbimport /azerothcore/env/dist/bin/dbimport
CMD /azerothcore/env/dist/bin/dbimport
CMD [ "/azerothcore/env/dist/bin/dbimport" ]
###############
# Client Data #
@@ -225,7 +225,7 @@ VOLUME /azerothcore/env/dist/data
USER $DOCKER_USER
CMD bash -c "source /azerothcore/apps/installer/includes/functions.sh && inst_download_client_data"
CMD ["bash", "-c", "source /azerothcore/apps/installer/includes/functions.sh && inst_download_client_data" ]
##################
# Map Extractors #
@@ -233,7 +233,7 @@ CMD bash -c "source /azerothcore/apps/installer/includes/functions.sh && inst_do
FROM runtime AS tools
LABEL description "AzerothCore Tools"
LABEL description="AzerothCore Tools"
WORKDIR /azerothcore/env/dist/

View File

@@ -39,7 +39,7 @@ function inst_configureOS() {
# TODO: implement different configurations by distro
source "$AC_PATH_INSTALLER/includes/os_configs/$DISTRO.sh"
;;
bsd*) echo "BSD is not supported yet" ;;
*bsd*) echo "BSD is not supported yet" ;;
msys*) source "$AC_PATH_INSTALLER/includes/os_configs/windows.sh" ;;
*) echo "This platform is not supported" ;;
esac

View File

@@ -0,0 +1,3 @@
-- DB update 2024_08_13_03 -> 2024_08_17_00
--
UPDATE `creature_template` SET `flags_extra` = `flags_extra` |256, `mechanic_immune_mask` = `mechanic_immune_mask`|33554432 WHERE `entry` = 22950;

View File

@@ -0,0 +1,3 @@
-- DB update 2024_08_17_00 -> 2024_08_17_01
--
UPDATE `creature_template` SET `flags_extra` = `flags_extra` |256 WHERE `entry` = 22949;

View File

@@ -0,0 +1,3 @@
-- DB update 2024_08_17_01 -> 2024_08_17_02
--
UPDATE `creature_template` SET `mechanic_immune_mask` = `mechanic_immune_mask`&~2048 WHERE `entry` = 22952;

View File

@@ -22,13 +22,7 @@
#include "Util.h"
#include <boost/algorithm/string/join.hpp>
#include <boost/iostreams/copy.hpp>
#include <boost/process/args.hpp>
#include <boost/process/child.hpp>
#include <boost/process/env.hpp>
#include <boost/process/exe.hpp>
#include <boost/process/io.hpp>
#include <boost/process/pipe.hpp>
#include <boost/process/search_path.hpp>
#include "boost/process.hpp"
#include <filesystem>
using namespace boost::process;

View File

@@ -319,10 +319,16 @@ void PlayerMenu::SendQuestGiverQuestList(QEmote const& eEmote, std::string const
if (QuestGreeting const* questGreeting = sObjectMgr->GetQuestGreeting(guid.GetTypeId(), guid.GetEntry()))
{
LocaleConstant locale = _session->GetSessionDbLocaleIndex();
std::string strGreeting = questGreeting->Greeting[DEFAULT_LOCALE];
if (questGreeting->Greeting.size() > size_t(locale) && !questGreeting->Greeting.empty())
strGreeting = questGreeting->Greeting[locale];
std::string strGreeting;
// Check if greeting exists. Blizzlike that some creatures have empty greeting
if (!questGreeting->Greeting.empty())
{
LocaleConstant locale = _session->GetSessionDbLocaleIndex();
if (questGreeting->Greeting.size() > size_t(locale))
strGreeting = questGreeting->Greeting[locale];
else
strGreeting = questGreeting->Greeting[DEFAULT_LOCALE];
}
data << strGreeting;
data << uint32(questGreeting->EmoteDelay);

View File

@@ -3820,8 +3820,9 @@ void Spell::cancel(bool bySelf)
if (Unit* unit = m_caster->GetGUID() == ihit->targetGUID ? m_caster : ObjectAccessor::GetUnit(*m_caster, ihit->targetGUID))
unit->RemoveOwnedAura(m_spellInfo->Id, m_originalCasterGUID, 0, AURA_REMOVE_BY_CANCEL);
if (m_spellInfo->HasAttribute(SPELL_ATTR0_COOLDOWN_ON_EVENT))
m_caster->ToPlayer()->RemoveSpellCooldown(m_spellInfo->Id, true);
if (m_caster->GetTypeId() == TYPEID_PLAYER)
if (m_spellInfo->HasAttribute(SPELL_ATTR0_COOLDOWN_ON_EVENT))
m_caster->ToPlayer()->RemoveSpellCooldown(m_spellInfo->Id, true);
SendChannelUpdate(0);
SendInterrupted(SPELL_FAILED_INTERRUPTED);

View File

@@ -6171,6 +6171,9 @@ void Spell::SummonGuardian(uint32 i, uint32 entry, SummonPropertiesEntry const*
if (!caster)
return;
if (caster->IsTotem())
caster = caster->ToTotem()->GetOwner();
// in another case summon new
uint8 summonLevel = caster->GetLevel();
@@ -6284,6 +6287,14 @@ void Spell::SummonGuardian(uint32 i, uint32 entry, SummonPropertiesEntry const*
//else if (summon->HasUnitTypeMask(UNIT_MASK_MINION) && m_targets.HasDst())
// ((Minion*)summon)->SetFollowAngle(m_caster->GetAngle(summon));
// xinef: move this here, some auras are added in initstatsforlevel!
if (!summon->IsInCombat() && !summon->IsTrigger())
{
// summon->AI()->EnterEvadeMode();
summon->GetMotionMaster()->Clear(false);
summon->GetMotionMaster()->MoveFollow(caster, PET_FOLLOW_DIST, summon->GetFollowAngle(), MOTION_SLOT_ACTIVE);
}
if (properties && properties->Category == SUMMON_CATEGORY_ALLY)
summon->SetFaction(caster->GetFaction());

View File

@@ -659,13 +659,14 @@ class spell_illidari_council_judgement : public SpellScript
void HandleScriptEffect(SpellEffIndex /*effIndex*/)
{
Unit::AuraEffectList const& auras = GetCaster()->GetAuraEffectsByType(SPELL_AURA_DUMMY);
for (Unit::AuraEffectList::const_iterator i = auras.begin(); i != auras.end(); ++i)
auto const& auras = GetCaster()->GetAuraEffectsByType(SPELL_AURA_DUMMY);
for (auto i = auras.begin(); i != auras.end(); ++i)
{
if ((*i)->GetSpellInfo()->GetSpellSpecific() == SPELL_SPECIFIC_SEAL && (*i)->GetEffIndex() == EFFECT_2)
if (sSpellMgr->GetSpellInfo((*i)->GetAmount()))
{
GetCaster()->CastSpell(GetHitUnit(), (*i)->GetAmount(), true);
GetCaster()->RemoveAurasDueToSpell((*i)->GetSpellInfo()->Id);
break;
}
}