aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/bindings/scripts/scripts/zone/hellfire_citadel/blood_furnace/def_blood_furnace.h17
-rw-r--r--src/game/Group.cpp7
-rw-r--r--src/game/Level1.cpp12
-rw-r--r--src/game/Spell.cpp5
-rw-r--r--src/game/SpellEffects.cpp5
-rw-r--r--src/trinitycore/CMakeLists.txt1
6 files changed, 31 insertions, 16 deletions
diff --git a/src/bindings/scripts/scripts/zone/hellfire_citadel/blood_furnace/def_blood_furnace.h b/src/bindings/scripts/scripts/zone/hellfire_citadel/blood_furnace/def_blood_furnace.h
index 52677a6da37..b845c66823f 100644
--- a/src/bindings/scripts/scripts/zone/hellfire_citadel/blood_furnace/def_blood_furnace.h
+++ b/src/bindings/scripts/scripts/zone/hellfire_citadel/blood_furnace/def_blood_furnace.h
@@ -1,18 +1,6 @@
/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
+ * This program is free software licensed under GPL version 2
+ * Please see the included DOCS/LICENSE.TXT for more information */
#ifndef DEF_BLOOD_FURNACE_H
#define DEF_BLOOD_FURNACE_H
@@ -39,4 +27,3 @@
#define DATA_PRISON_CELL8 20
#endif
-
diff --git a/src/game/Group.cpp b/src/game/Group.cpp
index 24e5601abe8..c08d1236c32 100644
--- a/src/game/Group.cpp
+++ b/src/game/Group.cpp
@@ -1511,7 +1511,12 @@ void Group::ResetInstances(uint8 method, Player* SendMsgTo)
// if the map is loaded, reset it
Map *map = MapManager::Instance().FindMap(p->GetMapId(), p->GetInstanceId());
if(map && map->IsDungeon())
- isEmpty = ((InstanceMap*)map)->Reset(method);
+ {
+ if(p->CanReset())
+ isEmpty = ((InstanceMap*)map)->Reset(method);
+ else
+ isEmpty = !map->HavePlayers();
+ }
if(SendMsgTo)
{
diff --git a/src/game/Level1.cpp b/src/game/Level1.cpp
index 43e7fb74660..51e94452399 100644
--- a/src/game/Level1.cpp
+++ b/src/game/Level1.cpp
@@ -55,6 +55,15 @@ bool ChatHandler::HandleNpcSayCommand(const char* args)
pCreature->MonsterSay(args, LANG_UNIVERSAL, 0);
+ // make some emotes
+ char lastchar = args[strlen(args) - 1];
+ switch(lastchar)
+ {
+ case '?': pCreature->HandleEmoteCommand(EMOTE_ONESHOT_QUESTION); break;
+ case '!': pCreature->HandleEmoteCommand(EMOTE_ONESHOT_EXCLAMATION); break;
+ default: pCreature->HandleEmoteCommand(EMOTE_ONESHOT_TALK); break;
+ }
+
return true;
}
@@ -73,6 +82,9 @@ bool ChatHandler::HandleNpcYellCommand(const char* args)
pCreature->MonsterYell(args, LANG_UNIVERSAL, 0);
+ // make an emote
+ pCreature->HandleEmoteCommand(EMOTE_ONESHOT_SHOUT);
+
return true;
}
diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp
index 89eb18f2486..ed818d95570 100644
--- a/src/game/Spell.cpp
+++ b/src/game/Spell.cpp
@@ -3251,6 +3251,11 @@ void Spell::SendSpellGo()
//sLog.outDebug("Sending SMSG_SPELL_GO id=%u", m_spellInfo->Id);
uint32 castFlags = CAST_FLAG_UNKNOWN3;
+
+ // triggered spells with spell visual != 0
+ if(m_IsTriggeredSpell || m_triggeredByAuraSpell)
+ castFlags |= CAST_FLAG_UNKNOWN0;
+
if(m_spellInfo->Attributes & SPELL_ATTR_REQ_AMMO)
castFlags |= CAST_FLAG_AMMO; // arrows/bullets visual
if ((m_caster->GetTypeId() == TYPEID_PLAYER ||
diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp
index 2aa9413ede9..01e7ec07c05 100644
--- a/src/game/SpellEffects.cpp
+++ b/src/game/SpellEffects.cpp
@@ -4157,6 +4157,11 @@ void Spell::EffectTaunt(uint32 /*i*/)
unitTarget->getThreatManager().addThreat(m_caster, itsThreat - myThreat);
}
+ //Set aggro victim to caster
+ if( !unitTarget->getThreatManager().getOnlineContainer().empty() )
+ if(HostilReference* forcedVictim = unitTarget->getThreatManager().getOnlineContainer().getReferenceByTarget(m_caster))
+ unitTarget->getThreatManager().setCurrentVictim(forcedVictim);
+
if(((Creature*)unitTarget)->IsAIEnabled && !((Creature*)unitTarget)->HasReactState(REACT_PASSIVE))
((Creature*)unitTarget)->AI()->AttackStart(m_caster);
}
diff --git a/src/trinitycore/CMakeLists.txt b/src/trinitycore/CMakeLists.txt
index 268b38f55a5..81dfb849ce7 100644
--- a/src/trinitycore/CMakeLists.txt
+++ b/src/trinitycore/CMakeLists.txt
@@ -43,6 +43,7 @@ trinityauth
trinityconfig
vmaps
ZThread
+termcap
g3dlite
readline
gomp