aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/updates/480_world_scripts.sql2
-rw-r--r--sql/world.sql2
-rw-r--r--src/bindings/scripts/scripts/npc/npcs_special.cpp46
3 files changed, 49 insertions, 1 deletions
diff --git a/sql/updates/480_world_scripts.sql b/sql/updates/480_world_scripts.sql
new file mode 100644
index 00000000000..e8824571d9e
--- /dev/null
+++ b/sql/updates/480_world_scripts.sql
@@ -0,0 +1,2 @@
+UPDATE creature_template SET scriptname='npc_winter_reveler' WHERE entry=15760;
+UPDATE creature_template SET scriptname='npc_brewfest_reveler' WHERE entry=24484; \ No newline at end of file
diff --git a/sql/world.sql b/sql/world.sql
index ca5af56edd1..ec259082943 100644
--- a/sql/world.sql
+++ b/sql/world.sql
@@ -557,7 +557,7 @@ UNLOCK TABLES;
DROP TABLE IF EXISTS `creature_template_addon`;
CREATE TABLE `creature_template_addon` (
`entry` mediumint(8) unsigned NOT NULL default '0',
- `path_id' int(11) unsigned NOT NULL default '0',
+ `path_id` int(11) unsigned NOT NULL default '0',
`mount` mediumint(8) unsigned NOT NULL default '0',
`bytes0` int(10) unsigned NOT NULL default '0',
`bytes1` int(10) unsigned NOT NULL default '0',
diff --git a/src/bindings/scripts/scripts/npc/npcs_special.cpp b/src/bindings/scripts/scripts/npc/npcs_special.cpp
index 5fc234b7e7a..cc8629a1dfb 100644
--- a/src/bindings/scripts/scripts/npc/npcs_special.cpp
+++ b/src/bindings/scripts/scripts/npc/npcs_special.cpp
@@ -890,6 +890,42 @@ CreatureAI* GetAI_npc_tonk_mine(Creature *_Creature)
return new npc_tonk_mineAI(_Creature);
}
+/*####
+## npc_winter_reveler
+####*/
+
+bool ReceiveEmote_npc_winter_reveler( Player *player, Creature *_Creature, uint32 emote )
+{
+ //TODO: check auralist.
+ //if()
+ // return false;
+
+ if( emote == TEXTEMOTE_KISS )
+ {
+ _Creature->CastSpell(_Creature, 26218, false);
+ player->CastSpell(player, 26218, false);
+ switch(rand()%3)
+ {
+ case 0: _Creature->CastSpell(player, 26207, false); break;
+ case 1: _Creature->CastSpell(player, 26206, false); break;
+ case 2: _Creature->CastSpell(player, 45036, false); break;
+ }
+ }
+ return true;
+}
+
+/*####
+## npc_brewfest_reveler
+####*/
+
+bool ReceiveEmote_npc_brewfest_reveler( Player *player, Creature *_Creature, uint32 emote )
+{
+ if( emote == TEXTEMOTE_DANCE )
+ _Creature->CastSpell(player, 41586, false);
+
+ return true;
+}
+
void AddSC_npcs_special()
{
Script *newscript;
@@ -950,4 +986,14 @@ void AddSC_npcs_special()
newscript->Name="npc_tonk_mine";
newscript->GetAI = &GetAI_npc_tonk_mine;
newscript->RegisterSelf();
+
+ newscript = new Script;
+ newscript->Name="npc_winter_reveler";
+ newscript->pReceiveEmote = &ReceiveEmote_npc_winter_reveler;
+ newscript->RegisterSelf();
+
+ newscript = new Script;
+ newscript->Name="npc_brewfest_reveler";
+ newscript->pReceiveEmote = &ReceiveEmote_npc_brewfest_reveler;
+ newscript->RegisterSelf();
}