ArcEmu: [Applied][Applied]Scaling mounts - ArcEmu

Jump to content

Toggle shoutbox Lastest Announcements

dfighter  : (07 December 2014 - 12:06 PM) Arcemu is in hibernation mode, please read http://arcemu.org/fo...showtopic=26903
dfighter  : (01 January 2013 - 05:56 PM) Arcemu wishes you all a happy new year!
Hasbro  : (12 September 2012 - 10:01 AM) Please excuse our outage from the web! Our web host had a major malfunction!
dfighter  : (01 September 2012 - 04:05 PM) Since the spam bots just don't want to stop, I've enabled admin verification when registering.
dfighter  : (23 January 2012 - 09:56 PM) Please note that from now on you will need to confirm your email on the wiki in order to edit it!
Hasbro  : (31 December 2011 - 12:50 PM) Happy New Years all!
Navid  : (26 December 2011 - 04:09 AM) Merry Christmas !!!!!! Happy holidays all :)
WAmadeus  : (24 December 2011 - 03:54 PM) Merry Christmas to all!
dfighter  : (24 December 2011 - 11:05 AM) The Arcemu team wishes y'all a Merry Christmukkah!
Hasbro  : (05 October 2011 - 12:53 PM) Looking for web designers for upcoming web related project. If you're interested in designing user interfaces contact me
dfighter  : (02 September 2011 - 03:47 PM) So who here wants vehicles in Arcemu? :P http://arcemu.org/fo...showtopic=25440
Hasbro  : (14 August 2011 - 03:25 PM) Join us on irc, grab an irc client and connect to irc.freenode.net join channel #arcemu /server irc.freenode.net:6667 /join #arcemu
jackpoz  : (03 August 2011 - 05:33 AM) to all Lua Engine (old one) users: please check http://arcemu.org/fo...showtopic=25274
Hasbro  : (20 May 2011 - 05:27 PM) Looking for people experienced with CMake configuration and setup! Contact me asap
Hasbro  : (15 May 2011 - 05:03 PM) ArcEmu is recruiting C++ programmers, contact Hasbro if interested.
paroxysm  : (03 May 2011 - 06:26 PM) Updated luabridge gossip example to describe the whole gossip creation process rather than just how to create menu. Gossip tutorial
paroxysm  : (23 April 2011 - 11:35 AM) Lua writers can refer to the Luabridge Tutorials section in the Wiki to learn how to write gossip code correctly.
Hasbro  : (20 April 2011 - 05:22 PM) Thank you for your continuous contribution of bug reports, we are working on them.
Hasbro  : (17 April 2011 - 03:20 AM) Please consider donating to support our bills. Donations can be sent using PayPal to donations@arcemu.org - Thank you for your support.
paroxysm  : (10 April 2011 - 12:43 AM) Refer to the Luabridge Tutorials section in the Wiki to learn the new syntax of luabridge.
Resize Shouts Area

  • (4 Pages)
  • +
  • 1
  • 2
  • 3
  • 4
  • You cannot start a new topic
  • You cannot reply to this topic

[Applied][Applied]Scaling mounts

#41 User is offline   Dzjhenghiz 

  • حشّاشين
  • Group: Contributor
  • Posts: 1,936
  • Joined: 07-June 08
  • Gender:Male
  • Location:2nd stone after the 3rd oase western sahara
  • Interests:M.C.S.E :- Minesweeper Consultant & Solitaire Expert
  • Server OS:Other

Posted 07 October 2009 - 01:33 PM

ok ty indeed a good one (me goes ans feels ashamed xD) but isn't the spell only triggering the missiles and not do the spawns ?


EDIT : sniff so it is only summoning 3 missiles shootin in to the air... not the spawns sniff :wacko:

insert into `creature_names` (`entry`, `name`, `subname`, `info_str`, `QuestItem1`, `QuestItem2`, `QuestItem3`, `QuestItem4`, `QuestItem5`, `QuestItem6`, `Flags1`, `type`, `family`, `rank`, `unk4`, `spelldataid`, `male_displayid`, `female_displayid`, `male_displayid2`, `female_displayid2`, `unknown_float1`, `unknown_float2`, `civilian`, `leader`) values('27936','Pumpkin Soldier','','','0','0','0','0','0','0','8','4','0','0','0','0','24950','0','0','0','0.3','1',NULL,'0');
insert into `creature_proto` (`entry`, `minlevel`, `maxlevel`, `faction`, `minhealth`, `maxhealth`, `mana`, `scale`, `npcflags`, `attacktime`, `attacktype`, `mindamage`, `maxdamage`, `can_ranged`, `rangedattacktime`, `rangedmindamage`, `rangedmaxdamage`, `respawntime`, `armor`, `resistance1`, `resistance2`, `resistance3`, `resistance4`, `resistance5`, `resistance6`, `combat_reach`, `bounding_radius`, `auras`, `boss`, `money`, `invisibility_type`, `death_state`, `walk_speed`, `run_speed`, `fly_speed`, `extra_a9_flags`, `spell1`, `spell2`, `spell3`, `spell4`, `spell_flags`, `modImmunities`, `isTrainingDummy`, `guardtype`) values('27936','1','1','35','1','1','0','1','0','2000','0','1','1','0','0','1','1','36000','0','0','0','0','0','0','0','1','1','','0','0','0','0','2.5','8','14','0','0','0','0','0','0','0','0','0');

Need Help With Arcemu ? ^^
Posted Image
Concordia res parvae crescunt In varietate concordia
Spoiler

0

#42 User is offline   Shauren 

  • Helper
  • Group: Contributor
  • Posts: 808
  • Joined: 04-November 08
  • Gender:Male
  • Location:Poland
  • Interests:hmm, wow?

Posted 07 October 2009 - 01:47 PM

nope, but im checking some other **** (yay, debugging with printf ftw)
0

#43 User is offline   Dzjhenghiz 

  • حشّاشين
  • Group: Contributor
  • Posts: 1,936
  • Joined: 07-June 08
  • Gender:Male
  • Location:2nd stone after the 3rd oase western sahara
  • Interests:M.C.S.E :- Minesweeper Consultant & Solitaire Expert
  • Server OS:Other

Posted 07 October 2009 - 01:56 PM

xD :wacko: i wonder what the **** where ^^, -censorship-
Need Help With Arcemu ? ^^
Posted Image
Concordia res parvae crescunt In varietate concordia
Spoiler

0

#44 User is offline   Shauren 

  • Helper
  • Group: Contributor
  • Posts: 808
  • Joined: 04-November 08
  • Gender:Male
  • Location:Poland
  • Interests:hmm, wow?

Posted 07 October 2009 - 01:58 PM

shi* if you really wanted to know :wacko:

edit: i think i know why. testing my theory (will let you know after i test it ingame)
edit2: starting to hate arcemu for failing to read configs for 7 times and loading on 8th try
edit3: 3rd try to fix it
0

#45 User is offline   Dzjhenghiz 

  • حشّاشين
  • Group: Contributor
  • Posts: 1,936
  • Joined: 07-June 08
  • Gender:Male
  • Location:2nd stone after the 3rd oase western sahara
  • Interests:M.C.S.E :- Minesweeper Consultant & Solitaire Expert
  • Server OS:Other

Posted 07 October 2009 - 03:22 PM

meuh configs ? maybe delete all comments out ? ## stuff ?

hope u will manage it xD :wacko:
Need Help With Arcemu ? ^^
Posted Image
Concordia res parvae crescunt In varietate concordia
Spoiler

0

#46 User is offline   Shauren 

  • Helper
  • Group: Contributor
  • Posts: 808
  • Joined: 04-November 08
  • Gender:Male
  • Location:Poland
  • Interests:hmm, wow?

Posted 07 October 2009 - 03:39 PM

lulz 4th try (previous 3 failed)
0

#47 User is offline   Dzjhenghiz 

  • حشّاشين
  • Group: Contributor
  • Posts: 1,936
  • Joined: 07-June 08
  • Gender:Male
  • Location:2nd stone after the 3rd oase western sahara
  • Interests:M.C.S.E :- Minesweeper Consultant & Solitaire Expert
  • Server OS:Other

Posted 07 October 2009 - 03:42 PM

Maybe some usefull code in the threants part for the druide ?

edit : http://www.wowhead.com/?spell=33831

This post has been edited by Dzjhenghiz: 07 October 2009 - 03:45 PM

Need Help With Arcemu ? ^^
Posted Image
Concordia res parvae crescunt In varietate concordia
Spoiler

0

#48 User is offline   Shauren 

  • Helper
  • Group: Contributor
  • Posts: 808
  • Joined: 04-November 08
  • Gender:Male
  • Location:Poland
  • Interests:hmm, wow?

Posted 08 October 2009 - 01:25 AM

no, http://www.wowhead.com/?spell=50062 works fine.

currently im wondering why http://www.wowhead.com/?spell=50071 is not working

edit: i have no idea why it doesnt enter its effect handler
edit2: my last idea (not going to check that, sorry)
SpellFixes.cpp - add this
sp = dbcSpell.LookupEntryForced( 50071 );
if( sp != NULL )
	sp->Effect[0] = SPELL_EFFECT_TRIGGER_MISSILE;

be sure to check in combat and out of combat, might work differently (have come across spells that should work always but only did in combat)

ps. i hope i didnt misspell the effect name, wrote it from memory without looking at code

This post has been edited by Shauren: 08 October 2009 - 09:29 AM

0

#49 User is offline   Dzjhenghiz 

  • حشّاشين
  • Group: Contributor
  • Posts: 1,936
  • Joined: 07-June 08
  • Gender:Male
  • Location:2nd stone after the 3rd oase western sahara
  • Interests:M.C.S.E :- Minesweeper Consultant & Solitaire Expert
  • Server OS:Other

Posted 08 October 2009 - 08:06 PM

Thanks for trying shauren, gonna test ure option 2 for sure xD
Need Help With Arcemu ? ^^
Posted Image
Concordia res parvae crescunt In varietate concordia
Spoiler

0

#50 User is offline   jackpoz 

  • ArcEmu Lemon Priest
  • PipPipPipPipPipPipPipPip
  • Group: Developers
  • Posts: 2,153
  • Joined: 19-June 08
  • Gender:Male
  • Location:Italy
  • Server OS:Windows

Posted 09 October 2009 - 02:03 AM

What's its default sp->Effect[0] ?
Posted Image We develop dreams. Your dreams ;)
Posted ImagePosted Image
0

#51 User is offline   Shauren 

  • Helper
  • Group: Contributor
  • Posts: 808
  • Joined: 04-November 08
  • Gender:Male
  • Location:Poland
  • Interests:hmm, wow?

Posted 09 October 2009 - 02:08 AM

SPELL_EFFECT_TRIGGER_MISSILE but for some reason this spell is not entering its effect handler

ps. i said thats my last idea after i tried everything so dont flame me for doing a pointless thing
0

#52 User is offline   Dzjhenghiz 

  • حشّاشين
  • Group: Contributor
  • Posts: 1,936
  • Joined: 07-June 08
  • Gender:Male
  • Location:2nd stone after the 3rd oase western sahara
  • Interests:M.C.S.E :- Minesweeper Consultant & Solitaire Expert
  • Server OS:Other

Posted 09 October 2009 - 05:21 AM

@ Shauren @ least u tried.. xD and thats what counts more then if u're ├╝ber 3l1t3 coder like some are (or think they are ....)

But with hitting every single attempt into the ground i can imagine why its this Quiet here..

U got my gratitude for this Scaling Mount patch and dont see any comment on that... AND IT IS WORKING!!!

So maybe a good idea to implement this also in the core, since the orb thing got in too ...
Need Help With Arcemu ? ^^
Posted Image
Concordia res parvae crescunt In varietate concordia
Spoiler

0

#53 User is offline   Shauren 

  • Helper
  • Group: Contributor
  • Posts: 808
  • Joined: 04-November 08
  • Gender:Male
  • Location:Poland
  • Interests:hmm, wow?

Posted 09 October 2009 - 09:21 AM

heh, true (this went a bit offtopic recently)
0

#54 User is offline   Suicide 

  • Occasional Poster
  • PipPip
  • Group: Members
  • Posts: 103
  • Joined: 26-June 08

Posted 09 October 2009 - 12:31 PM

Scaling mounts al work perfectly, keep up the good work Shauren, you made some pretty nice fixes lately to get things work properly.
Veni, Vidi, Mori (I came, I saw, I died)
0

#55 User is offline   SB@L 

  • ArcEmu lover
  • PipPipPipPip
  • Group: Developers
  • Posts: 616
  • Joined: 12-June 08
  • Gender:Male
  • Location:Slovakia

Posted 18 October 2009 - 05:44 AM

- Applied.
- Moved to applied patches.
SQL scripts: To remove pet spells from player
CRASH REPORTING TUTORIAL
TIP: If your core crashes on startup, its probably an outdated DB, apply recent sql updates.
0

#56 User is offline   Dzjhenghiz 

  • حشّاشين
  • Group: Contributor
  • Posts: 1,936
  • Joined: 07-June 08
  • Gender:Male
  • Location:2nd stone after the 3rd oase western sahara
  • Interests:M.C.S.E :- Minesweeper Consultant & Solitaire Expert
  • Server OS:Other

Posted 18 October 2009 - 01:08 PM

Thx very much for applying this ..
Need Help With Arcemu ? ^^
Posted Image
Concordia res parvae crescunt In varietate concordia
Spoiler

0

#57 User is offline   Veluu 

  • Enthusiast
  • PipPipPip
  • Group: Members
  • Posts: 237
  • Joined: 19-November 08

Posted 18 November 2009 - 02:48 AM

The Winged Steed no Longer Works I've Noticed..
0

#58 User is offline   Dzjhenghiz 

  • حشّاشين
  • Group: Contributor
  • Posts: 1,936
  • Joined: 07-June 08
  • Gender:Male
  • Location:2nd stone after the 3rd oase western sahara
  • Interests:M.C.S.E :- Minesweeper Consultant & Solitaire Expert
  • Server OS:Other

Posted 18 November 2009 - 04:44 AM

Correct since the already applied patches where not applied again, since arcscripts had their own svn. I reported this already a couple of times but guess like the other patches here, they will take time to get applied ?

i already made a patch which will also fix some other stuff, it aint applied yet thou :

Here i made the post, and the fixes you where looking for are inside itemspells_1.cpp

Here a diff with mine :


Index: ItemSpells_1.cpp
===================================================================
--- ItemSpells_1.cpp    (revision 990)
+++ ItemSpells_1.cpp    (working copy)
@@ -1,18 +1,20 @@
-/****************************************************************************
+/*
+ * ArcScript Scripts for Arcemu MMORPG Server
+ * Copyright (C) 2008-2009 Arcemu Team
+ * Copyright (C) 2007 Moon++ <http://www.moonplusplus.com/>
  *
- * SpellHandler Plugin
- * Copyright (c) 2007 Team Ascent
+ * 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 3 of the License, or
+ * any later version.
  *
- * This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0
- * License. To view a copy of this license, visit
- * http://creativecommons.org/licenses/by-nc-sa/3.0/ or send a letter to Creative Commons,
- * 543 Howard Street, 5th Floor, San Francisco, California, 94105, USA.
+ * 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.
  *
- * EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU
- * ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES
- * ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
 #include "StdAfx.h"
@@ -33,7 +35,7 @@
 
 // *****************************************************************************
 
-bool GnomishTransporter(uint32 i, SpellPointer pSpell)
+bool GnomishTransporter(uint32 i, Spell * pSpell)
 {
     if(!pSpell->p_caster) return true;
 
@@ -44,7 +46,7 @@
 
 // -----------------------------------------------------------------------------
 
-bool NoggenFoggerElixr(uint32 i, SpellPointer pSpell)
+bool NoggenFoggerElixr(uint32 i, Spell * pSpell)
 {
     if(!pSpell->p_caster) return true;
 
@@ -67,7 +69,7 @@
 
 // -----------------------------------------------------------------------------
 
-bool HallowsEndCandy(uint32 i, SpellPointer pSpell)
+bool HallowsEndCandy(uint32 i, Spell * pSpell)
 {
     if(!pSpell->p_caster) return true;
 
@@ -82,7 +84,7 @@
 
 // -----------------------------------------------------------------------------
 
-bool DeviateFish(uint32 i, SpellPointer pSpell)
+bool DeviateFish(uint32 i, Spell * pSpell)
 {
     if(!pSpell->p_caster) return true;
 
@@ -97,7 +99,7 @@
 
 // -----------------------------------------------------------------------------
 
-bool CookedDeviateFish(uint32 i, SpellPointer pSpell)
+bool CookedDeviateFish(uint32 i, Spell * pSpell)
 {
     if(!pSpell->p_caster) return true;
 
@@ -128,17 +130,17 @@
 
 // -----------------------------------------------------------------------------
 
-bool HolidayCheer(uint32 i, SpellPointer pSpell)
+bool HolidayCheer(uint32 i, Spell * pSpell)
 {
     if(!pSpell->m_caster) return true;
 
-    UnitPointer target;
+    Unit *target;
     float dist = pSpell->GetRadius(i);
 
     for(ObjectSet::iterator itr = pSpell->m_caster->GetInRangeSetBegin(); itr != pSpell->m_caster->GetInRangeSetEnd(); ++itr)
     {
         if((*itr)->IsUnit())
-            target = TO_UNIT(*itr);
+            target = (Unit*)*itr;
         else
             continue;
 
@@ -149,12 +151,26 @@
     }
     return true;
 }
-
 // -----------------------------------------------------------------------------
+bool PiccolooftheFlamingFire(uint32 i, Spell * pSpell)
+{
+    if(!pSpell->m_caster) return true;
+    static_cast<Player*>(pSpell->m_caster)->Emote(EMOTE_ONESHOT_DANCE);
+    for (PlayerSet::iterator itr = pSpell->m_caster->GetInRangePlayerSetBegin(); itr != pSpell->m_caster->GetInRangePlayerSetEnd(); ++itr)    
+    {
+        if (*itr)
+        {
+            if ((*itr)->GetTeam() == static_cast<Player*>(pSpell->m_caster)->GetTeam())
+                (*itr)->Emote(EMOTE_ONESHOT_DANCE);
+        }
+    }
+    return true;
+}
+// -----------------------------------------------------------------------------
 
-bool NetOMatic(uint32 i, SpellPointer pSpell)
+bool NetOMatic(uint32 i, Spell * pSpell)
 {
-    UnitPointer target = pSpell->GetUnitTarget();
+    Unit *target = pSpell->GetUnitTarget();
     if(!pSpell->p_caster || !target) return true;
 
     SpellEntry *spInfo = dbcSpell.LookupEntry(13099);
@@ -178,19 +194,54 @@
 
 // -----------------------------------------------------------------------------
 
-bool BanishExile(uint32 i, SpellPointer pSpell)
+bool BanishExile(uint32 i, Spell * pSpell)
 {
-    UnitPointer  target = pSpell->GetUnitTarget();
+    Unit* target = pSpell->GetUnitTarget();
     if(!pSpell->p_caster || !target) return true;
 
-    pSpell->p_caster->SpellNonMeleeDamageLog(target, pSpell->m_spellInfo->Id, target->GetUInt32Value(UNIT_FIELD_HEALTH), true);
+    pSpell->p_caster->SpellNonMeleeDamageLog(target, pSpell->GetProto()->Id, target->GetUInt32Value(UNIT_FIELD_HEALTH), true);
     return true;
 }
 
 // -----------------------------------------------------------------------------
 
-bool NetherWraithBeacon(uint32 i, SpellPointer pSpell)
+bool ForemansBlackjack(uint32 i, Spell *pSpell)
 {
+    Unit* target = pSpell->GetUnitTarget();
+    if(!pSpell->p_caster || !target || target->GetTypeId() != TYPEID_UNIT) 
+        return true;
+    
+    // check to see that we have the correct creature
+    Creature* c_target = (Creature*)target;
+    if(!c_target || c_target->GetEntry() != 10556 || !c_target->HasAura(18795)) 
+        return true;
+
+    // Start moving again
+    if(target->GetAIInterface())
+        target->GetAIInterface()->StopMovement(0);
+
+    // Remove Zzz aura
+    c_target->RemoveAllAuras();
+
+    // send chat message
+    char msg[100];
+    sprintf(msg, "Ow! Ok, I'll get back to work, %s", pSpell->p_caster->GetName());
+    target->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, msg);
+
+    // Increment the quest log
+    sQuestMgr.OnPlayerKill( pSpell->p_caster, c_target, false );
+
+    // Add timed event to return lazy peon to Zzz after 5-10 minutes (spell 18795)
+    SpellEntry * pSpellEntry = dbcSpell.LookupEntry(18795);
+    sEventMgr.AddEvent( target ,&Unit::EventCastSpell , target , pSpellEntry , EVENT_UNK, 300000 + RandomUInt( 300000 ) , 1, EVENT_FLAG_DO_NOT_EXECUTE_IN_WORLD_CONTEXT );
+
+    return true;
+}
+
+// -----------------------------------------------------------------------------
+
+bool NetherWraithBeacon(uint32 i, Spell *pSpell)
+{
     if(!pSpell->p_caster) return true;
 
     float SSX = pSpell->p_caster->GetPositionX();
@@ -204,13 +255,13 @@
 
 // -----------------------------------------------------------------------------
 
-bool SymbolOfLife(uint32 i, SpellPointer pSpell)
+bool SymbolOfLife(uint32 i, Spell *pSpell)
 {
     /*  // commented out until the SpellTargetDummy (38) targeting is fixed
-    UnitPointer  target = pSpell->GetUnitTarget();
+    Unit* target = pSpell->GetUnitTarget();
     if(!pSpell->p_caster || !target || target->GetTypeId() != TYPEID_UNIT) return true;
 
-    CreaturePointerc_target = (Creature*)target;
+    Creature* c_target = (Creature*)target;
     if(!c_target) return true;
 
     uint32 creatureID = c_target->GetEntry();
@@ -224,7 +275,7 @@
 
 // -----------------------------------------------------------------------------
 
-bool NighInvulnBelt(uint32 i, SpellPointer pSpell)
+bool NighInvulnBelt(uint32 i, Spell *pSpell)
 {
     if(!pSpell->p_caster) return true;
 
@@ -240,7 +291,7 @@
 
 // -----------------------------------------------------------------------------
 
-bool ReindeerTransformation(uint32 i, SpellPointer pSpell)
+bool ReindeerTransformation(uint32 i, Spell *pSpell)
 {
     if(!pSpell->p_caster) return true;
 
@@ -256,21 +307,21 @@
 
 // -----------------------------------------------------------------------------
 
-bool SummonCritterDummy(uint32 i, SpellPointer pSpell)
+bool SummonCritterDummy(uint32 i, Spell *pSpell)
 {
     // the reason these spells have to be scripted is because they require a
     // reagent to summon the critter pet, but don't require one to dismiss it
 
     if(!pSpell->p_caster) return true;
-/*
+
     uint32 currentCritterID = 0;
 
-    if(pSpell->p_caster->critterPet && pSpell->p_caster->critterPet->GetCreatureName())
-        currentCritterID = pSpell->p_caster->critterPet->GetCreatureName()->Id;
+    if(pSpell->p_caster->critterPet && pSpell->p_caster->critterPet->GetCreatureInfo())
+        currentCritterID = pSpell->p_caster->critterPet->GetCreatureInfo()->Id;
 
     uint32 newspell = 0;
 
-    switch(pSpell->m_spellInfo->Id)
+    switch(pSpell->GetProto()->Id)
     {
         case 26469: // Snowman Kit
         {
@@ -309,15 +360,14 @@
     if(!spInfo) return true;
 
     pSpell->p_caster->CastSpell(pSpell->p_caster, spInfo, false); // these spells have to check items, so "triggeredspell" must be false
-*/
     return true;
 }
 
 // -----------------------------------------------------------------------------
 
-bool WinterWondervolt(uint32 i, SpellPointer pSpell)
+bool WinterWondervolt(uint32 i, Spell * pSpell)
 {
-    UnitPointer  target = pSpell->GetUnitTarget();
+    Unit* target = pSpell->GetUnitTarget();
 
     if(!target || target->GetTypeId() != TYPEID_PLAYER) return true;
 
@@ -328,9 +378,9 @@
 
 // -----------------------------------------------------------------------------
 
-bool WinterWondervoltAura(uint32 i, AuraPointer pAura, bool apply)
+bool WinterWondervoltAura(uint32 i, Aura* pAura, bool apply)
 {
-    UnitPointer u_caster = pAura->GetUnitCaster();
+    Unit *u_caster = pAura->GetUnitCaster();
 
     if(!u_caster || !u_caster->IsPlayer()) return true;
 
@@ -353,7 +403,7 @@
 
 // -----------------------------------------------------------------------------
 
-bool ScryingCrystal(uint32 i, SpellPointer pSpell)
+bool ScryingCrystal(uint32 i, Spell *pSpell)
 {
     QuestLogEntry *en = pSpell->p_caster->GetQuestLogForEntry(9824);
     if(pSpell->p_caster->GetMapMgr()->GetInterface()->GetGameObjectNearestCoords(pSpell->p_caster->GetPositionX(), 
@@ -382,12 +432,12 @@
     return true;
 }
 
-bool MinionsOfGurok(uint32 i, SpellPointer pSpell)
+bool MinionsOfGurok(uint32 i, Spell *pSpell)
 {
-    UnitPointer  target = pSpell->GetUnitTarget();
+    Unit* target = pSpell->GetUnitTarget();
     if(!pSpell->p_caster || !target || target->GetTypeId() != TYPEID_UNIT || target->GetEntry() != 17157) return true;
 
-    TO_CREATURE(target)->Despawn(500, 360000);
+    ((Creature*)target)->Despawn(500, 360000);
 
     float SSX = target->GetPositionX();
     float SSY = target->GetPositionY();
@@ -401,7 +451,7 @@
     return true;
 }
 
-bool PurifyBoarMeat(uint32 i, SpellPointer pSpell)
+bool PurifyBoarMeat(uint32 i, Spell *pSpell)
 {
     uint32 bormeat = RandomUInt(2);
     switch(bormeat)
@@ -419,20 +469,167 @@
     return true;
 }
 
-bool WarpRiftGenerator(uint32 i, SpellPointer pSpell)
+bool WarpRiftGenerator(uint32 i, Spell * pSpell)
 {
-    if(!pSpell->p_caster) return true;
+    if( !pSpell->p_caster )
+        return true;
 
     float SSX = pSpell->p_caster->GetPositionX();
     float SSY = pSpell->p_caster->GetPositionY();
     float SSZ = pSpell->p_caster->GetPositionZ();
     float SSO = pSpell->p_caster->GetOrientation();
 
-    pSpell->p_caster->GetMapMgr()->GetInterface()->SpawnCreature(16939,SSX,SSY,SSZ,SSO,true,false,0,0);
+    pSpell->p_caster->GetMapMgr()->GetInterface()->SpawnCreature(16939, SSX, SSY, SSZ, SSO, true, false, 0, 0);
 
     return true;
 }
+bool OrbOfTheSindorei(uint32 i, Aura * pAura, bool apply)
+{
+    Unit* target = pAura->GetTarget();
+    if( !target || !target->IsPlayer() )
+        return true;
+    if( apply )
+    {
+        uint32 spellid = 0;
 
+        if( target->getGender() == 0 )
+            spellid = 46355;
+        else
+            spellid = 46356;
+
+        SpellEntry *sp = dbcSpell.LookupEntry( spellid );
+
+        // we need to wait because removing an aura while we are applying leads to a crash
+        // this is because the spell this aura belongs to and the casted spells have the same namehash
+        sEventMgr.AddEvent( target ,&Unit::EventCastSpell , target , sp , EVENT_UNK, 1 , 1, EVENT_FLAG_DO_NOT_EXECUTE_IN_WORLD_CONTEXT );
+
+    }
+
+    return true;
+}
+
+bool BigBlizzardBear(uint32 i, Aura * pAura, bool apply)
+{
+    if( pAura->GetTarget()->GetTypeId() != TYPEID_PLAYER )
+        return true;
+
+    if( apply )
+    {
+        uint32 newspell = 0;
+        Player* pPlayer = TO_PLAYER( pAura->GetTarget() );
+
+        if( pPlayer->_GetSkillLineCurrent( SKILL_RIDING, true ) >= 150 )
+            newspell = 58999;
+        else
+            newspell = 58997;
+
+        SpellEntry *sp = dbcSpell.LookupEntry( newspell );
+        sEventMgr.AddEvent( pAura->GetTarget() ,&Unit::EventCastSpell , pAura->GetTarget() , sp , EVENT_UNK, 1 , 1, EVENT_FLAG_DO_NOT_EXECUTE_IN_WORLD_CONTEXT );
+    }
+
+    return true;
+}
+
+bool WingedSteed(uint32 i, Aura * pAura, bool apply)
+{
+    if( pAura->GetTarget()->GetTypeId() != TYPEID_PLAYER )
+        return true;
+
+    if( apply )
+    {
+        uint32 newspell = 0;
+        Player* pPlayer = TO_PLAYER( pAura->GetTarget() );
+
+        if( pPlayer->_GetSkillLineCurrent( SKILL_RIDING, true ) == 300 )
+            newspell = 54727;
+        else
+            newspell = 54726;
+
+        SpellEntry *sp = dbcSpell.LookupEntry( newspell );
+        sEventMgr.AddEvent( pAura->GetTarget() ,&Unit::EventCastSpell , pAura->GetTarget() , sp , EVENT_UNK, 1 , 1, EVENT_FLAG_DO_NOT_EXECUTE_IN_WORLD_CONTEXT );
+    }
+
+    return true;
+}
+
+bool HeadlessHorsemanMount(uint32 i, Aura * pAura, bool apply)
+{
+    if( pAura->GetTarget()->GetTypeId() != TYPEID_PLAYER )
+        return true;
+
+    if( apply )
+    {
+        uint32 newspell = 0;
+        Player* pPlayer = TO_PLAYER(pAura->GetTarget());
+        AreaTable *pArea = dbcArea.LookupEntry(pPlayer->GetAreaID());
+
+        if( pPlayer->_GetSkillLineCurrent( SKILL_RIDING, true ) >= 225 && 
+            ( ( pArea->AreaFlags & 1024 && pPlayer->GetMapId() != 571 ) ||
+                ( pArea->AreaFlags & 1024 && pPlayer->GetMapId() == 571 && pPlayer->HasSpellwithNameHash( SPELL_HASH_COLD_WEATHER_FLYING ) ) ) )
+        {
+            if( pPlayer->_GetSkillLineCurrent( SKILL_RIDING, true) == 300 )
+                newspell = 48023;
+            else
+                newspell = 51617;
+        }
+    else if( pPlayer->_GetSkillLineCurrent( SKILL_RIDING, true ) >= 150 )
+        newspell = 48024;            
+    else
+        newspell = 51621;
+
+    SpellEntry *sp = dbcSpell.LookupEntry( newspell );
+    sEventMgr.AddEvent( pAura->GetTarget() ,&Unit::EventCastSpell , pAura->GetTarget() , sp , EVENT_UNK, 1 , 1, EVENT_FLAG_DO_NOT_EXECUTE_IN_WORLD_CONTEXT );
+    }
+
+    return true;
+}
+
+bool MagicBroomMount(uint32 i, Aura * pAura, bool apply)
+{
+    if( pAura->GetTarget()->GetTypeId() != TYPEID_PLAYER )
+        return true;
+
+    if( apply )
+    {
+        uint32 newspell = 0;
+        Player* pPlayer = TO_PLAYER( pAura->GetTarget() );
+        AreaTable *pArea = dbcArea.LookupEntry(pPlayer->GetAreaID());
+
+        if( pPlayer->_GetSkillLineCurrent( SKILL_RIDING, true) >= 225 &&
+            ( ( pArea->AreaFlags & 1024 && pPlayer->GetMapId() != 571 ) ||
+                ( pArea->AreaFlags & 1024 && pPlayer->GetMapId() == 571 && pPlayer->HasSpellwithNameHash( SPELL_HASH_COLD_WEATHER_FLYING ) ) ) )
+    {
+        if( pPlayer->_GetSkillLineCurrent( SKILL_RIDING, true) == 300 )
+            newspell = 42668;
+        else
+            newspell = 42667;
+    }
+    else if( pPlayer->_GetSkillLineCurrent( SKILL_RIDING, true ) >= 150 )
+        newspell = 42683;            
+    else
+        newspell = 42680;
+
+    SpellEntry *sp = dbcSpell.LookupEntry(newspell);
+    sEventMgr.AddEvent( pAura->GetTarget() ,&Unit::EventCastSpell , pAura->GetTarget() , sp , EVENT_UNK, 1 , 1, EVENT_FLAG_DO_NOT_EXECUTE_IN_WORLD_CONTEXT );
+    }
+
+    return true;
+}
+
+bool MagicRoosterMount(uint32 i, Aura * pAura, bool apply)
+{
+    if( pAura->GetTarget()->GetTypeId() != TYPEID_PLAYER )
+        return true;
+
+    if( apply )
+    {
+        SpellEntry *sp = dbcSpell.LookupEntry( 66122 );
+        sEventMgr.AddEvent( pAura->GetTarget() ,&Unit::EventCastSpell , pAura->GetTarget() , sp , EVENT_UNK, 1 , 1, EVENT_FLAG_DO_NOT_EXECUTE_IN_WORLD_CONTEXT );
+    }
+
+    return true;
+}
+
 // ADD NEW FUNCTIONS ABOVE THIS LINE
 // *****************************************************************************
 
@@ -448,6 +645,7 @@
     mgr->register_dummy_spell( 4130, &BanishExile);             // Essence of the Exile Quest
     mgr->register_dummy_spell( 4131, &BanishExile);             // Essence of the Exile Quest
     mgr->register_dummy_spell( 4132, &BanishExile);             // Essence of the Exile Quest
+    mgr->register_dummy_spell(19938, &ForemansBlackjack);       // Lazy Peons Quest
     mgr->register_dummy_spell(39105, &NetherWraithBeacon);      // Spellfire Tailor Quest
     mgr->register_dummy_spell( 8593, &SymbolOfLife);            // Paladin's Redemption QuestLine
     mgr->register_dummy_spell(30458, &NighInvulnBelt);          // Nigh Invulnerability Belt
@@ -462,9 +660,15 @@
     mgr->register_dummy_spell(32001, &MinionsOfGurok);            // Minions of gurok
     mgr->register_dummy_spell(29200, &PurifyBoarMeat);            // Purify Boar meat spell
     mgr->register_dummy_spell(35036, &WarpRiftGenerator);       // Summon a Warp Rift in Void Ridge
+    mgr->register_dummy_aura( 46354, &OrbOfTheSindorei);        //Orb of the Sin'dorei
+    mgr->register_dummy_spell(17512, &PiccolooftheFlamingFire); //Piccolo of the flaming fire.
+    mgr->register_dummy_spell(18400, &PiccolooftheFlamingFire); //Piccolo of the flaming fire.
+    mgr->register_dummy_aura( 58983, &BigBlizzardBear);            // Big Blizzard Bear mount
+    mgr->register_dummy_aura( 54729, &WingedSteed);                // DK flying mount
+    mgr->register_dummy_aura( 48025, &HeadlessHorsemanMount);    // Headless Horseman Mount
+    mgr->register_dummy_aura( 47977, &MagicBroomMount);            // Magic Broom Mount
+    mgr->register_dummy_aura( 65917, &MagicRoosterMount);        // Magic Rooster Mount
 
-
-
 // REGISTER NEW DUMMY SPELLS ABOVE THIS LINE
 // *****************************************************************************
 }


http://djhenghiz.pas...n.com/m681ceed0
Need Help With Arcemu ? ^^
Posted Image
Concordia res parvae crescunt In varietate concordia
Spoiler

0

#59 User is offline   Hasbro 

  • Project Manager
  • PipPipPipPipPipPipPipPipPip
  • Group: Administrator
  • Posts: 2,526
  • Joined: 07-June 08
  • Gender:Male
  • Location:New York
  • Server OS:Windows

Posted 03 January 2010 - 12:49 AM

- Applied.
- Moved to applied patches.
0

#60 User is offline   Hasbro 

  • Project Manager
  • PipPipPipPipPipPipPipPipPip
  • Group: Administrator
  • Posts: 2,526
  • Joined: 07-June 08
  • Gender:Male
  • Location:New York
  • Server OS:Windows

Posted 03 January 2010 - 12:49 AM

- Applied.
- Moved to applied patches.
0

Share this topic:


  • (4 Pages)
  • +
  • 1
  • 2
  • 3
  • 4
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users