Jump to content

Mirror Image


Recommended Posts

  • 2 weeks later...
  • Replies 106
  • Created
  • Last Reply

Top Posters In This Topic

Whith latest revsion this party of code dont compile for me

spawnCreature->InitStatsForLevel(level, m_caster);

+if( pet_entry == 31216 )

+{

+ spawnCreature->SetBonusDamage( int32( m_caster->SpellBaseDamageBonus( SPELL_SCHOOL_MASK_FROST ) * 0.33f ) );

+ spawnCreature->SetCreateMana(28 + 30 * level);

+ if (addSpell( 59637 ) )

+ ToggleAutocast( 59637, true );

+

+ if (addSpell( 59638 ) )

+ ToggleAutocast( 59638, true );

+}

What is the correct synthax for addSpell and toggleAutocast plz ?

Link to comment
Share on other sites

In revision [9254]-

2>..\\..\\src\\game\\SpellEffects.cpp(3615) : error C3861: 'addSpell': identifier not found

2>..\\..\\src\\game\\SpellEffects.cpp(3616) : error C3861: 'ToggleAutocast': identifier not found

2>..\\..\\src\\game\\SpellEffects.cpp(3618) : error C3861: 'addSpell': identifier not found

2>..\\..\\src\\game\\SpellEffects.cpp(3619) : error C3861: 'ToggleAutocast': identifier not found

Link to comment
Share on other sites

try this:

summon->addspell(*******l);

summon-> ToggleAutocast(*******);

may this solve it, I think

I solved the conflict whith the correct synthax

spawnCreature->learnSpell(****)

spawnCreature->ToggleAutocast(***)

But the spell dont work in game,the ghost spawn whith 1 hp and not cast spell .

Link to comment
Share on other sites

  • 2 weeks later...

autocasted spells just works with guardians/pets. So you got 3 options .... implement it the way it was posted here but summon as guardian and add spell with autocast flag or by using sd2 but this can be soluted much easier with just a few lines of code :) -> so try and learn ;) . Afterall this is an educational project so stop asking for patches all the time and try to solute this problem on your own and learn something :)

Link to comment
Share on other sites

This is work code and he clone my face and item. but need AI and clean trash.

diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp 
index eab30ba..f20a287 100644 
--- a/src/game/SpellAuras.cpp 
+++ b/src/game/SpellAuras.cpp 
@@ -7362,8 +7362,12 @@ void Aura::PeriodicDummyTick() 
          case SPELLFAMILY_MAGE: 
          { 
              // Mirror Image 
-//            if (spell->Id == 55342) 
-//                return; 
+            if (spell->Id == 55342) 
+            { 
+                // Set name of summons to name of caster 
+                m_target->CastSpell((Unit *)NULL, m_spellProto->EffectTriggerSpell[m_effIndex], true); 
+                m_isPeriodic = false; 
+            } 
              break; 
          } 
          case SPELLFAMILY_DRUID: 
diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp 
index 58384f4..371a634 100644 
--- a/src/game/SpellEffects.cpp 
+++ b/src/game/SpellEffects.cpp 
@@ -2068,6 +2068,15 @@ void Spell::EffectTriggerSpell(uint32 effIndex) 
      // special cases 
      switch(triggered_spell_id) 
      { 
+        // Mirror Image 
+        case 58832: 
+        { 
+            // Glyph of Mirror Image 
+            if (m_caster->HasAura(63093)) 
+               m_caster->CastSpell(m_caster, 65047, true); // Mirror Image 
+ 
+            break; 
+        } 
          // Vanish (not exist) 
          case 18461: 
          { 
@@ -3852,6 +3861,16 @@ void Spell::EffectSummonWild(uint32 i, uint32 forceFaction) 
              summon->SetUInt32Value(UNIT_CREATED_BY_SPELL, m_spellInfo->Id); 
              summon->SetCreatorGUID(m_caster->GetGUID()); 

+            //Mirror image 
+            if(creature_entry == 31216) 
+            { 
+                summon->SetLevel(m_caster->getLevel()); 
+                summon->SetMaxHealth(m_caster->GetMaxHealth());
+                summon->SetHealth(m_caster->GetHealth());
+                summon->SetDisplayId(m_caster->GetDisplayId());  
+                summon->SetMaxPower(POWER_MANA, m_caster->GetMaxPower(POWER_MANA)); 
+                summon->SetPower(POWER_MANA, m_caster->GetPower(POWER_MANA)); 
+                summon->SetPvP(true); 
+                summon->setFaction(m_caster->getFaction());
+                //m_caster->CastSpell(summon, 45204, false); 
+                //m_caster->CastSpell((Unit*)NULL, 58838, true);
+                summon->SetUInt32Value(UNIT_FIELD_FLAGS_2, 2064);
+    if (m_caster->GetTypeId()== TYPEID_PLAYER) 
+    { 
+        if (Item const* item = ((Player *)m_caster)->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND)) 
+            summon->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID, item->GetProto()->ItemId); 
+        if (Item const* item = ((Player *)m_caster)->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND)) 
+            summon->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 1, item->GetProto()->ItemId); 
+    } 
+    else 
+    { 
+        summon->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID, m_caster->GetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID)); 
+        summon->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 1, m_caster->GetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 1)); 
+        summon->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 2, m_caster->GetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 2)); 
+    }
+
+    WorldPacket data(SMSG_MIRRORIMAGE_DATA, 68);
+    data << (uint32)m_caster->GetDisplayId();
+    if (m_caster->GetTypeId() == TYPEID_PLAYER) 
+    { 
+        Player* pCreator = (Player *)m_caster; 
+        data << (uint8)pCreator->getRace();                         // race 
+        data << (uint8)pCreator->getGender();                       // gender 
+        data << (uint8)pCreator->getClass();                        // class 
+        data << (uint8)pCreator->GetByteValue(PLAYER_BYTES, 0);     // skin 
+        data << (uint8)pCreator->GetByteValue(PLAYER_BYTES, 1);     // face 
+        data << (uint8)pCreator->GetByteValue(PLAYER_BYTES, 2);     // hair 
+        data << (uint8)pCreator->GetByteValue(PLAYER_BYTES, 3);     // haircolor 
+        data << (uint8)pCreator->GetByteValue(PLAYER_BYTES_2, 0);   // facialhair 
+ 
+        data << (uint32)0;                    // unknown 
+ 
+        static const EquipmentSlots ItemSlots[] =   
+        { 
+            EQUIPMENT_SLOT_HEAD, 
+            EQUIPMENT_SLOT_SHOULDERS, 
+            EQUIPMENT_SLOT_BODY, 
+            EQUIPMENT_SLOT_CHEST, 
+            EQUIPMENT_SLOT_WAIST, 
+            EQUIPMENT_SLOT_LEGS, 
+            EQUIPMENT_SLOT_FEET, 
+            EQUIPMENT_SLOT_WRISTS, 
+            EQUIPMENT_SLOT_HANDS, 
+            EQUIPMENT_SLOT_BACK, 
+            EQUIPMENT_SLOT_TABARD, 
+            EQUIPMENT_SLOT_END 
+        }; 
+
+        // Display items in visible slots 
+        for (EquipmentSlots const* itr = &ItemSlots[0]; *itr != EQUIPMENT_SLOT_END; ++itr) 
+            if (Item const* item =  pCreator->GetItemByPos(INVENTORY_SLOT_BAG_0, *itr)) 
+                data << (uint32)item->GetProto()->DisplayInfoID;    // display id 
+            else 
+                data << (uint32)0;                    // no item found, so no id 
+    } 
+    else 
+    { 
+        // Skip player data for creatures 
+        data << (uint32)0; 
+        data << (uint32)0; 
+        data << (uint32)0; 
+        data << (uint32)0; 
+        data << (uint32)0; 
+        data << (uint32)0; 
+        data << (uint32)0; 
+        data << (uint32)0; 
+        data << (uint32)0; 
+        data << (uint32)0; 
+        data << (uint32)0; 
+        data << (uint32)0; 
+        data << (uint32)0; 
+        data << (uint32)0; 
+    }
+           } 
+
              if(forceFaction) 
                  summon->setFaction(forceFaction); 
          }diff --git a/sql/evo-X Update/Spells/evo_X_Spell1_mangos.sql b/sql/evo-X Update/Spells/evo_X_Spell1_mangos.sql 
new file mode 100644 
index 0000000..d908b77 
--- /dev/null 
+++ b/sql/evo-X Update/Spells/evo_X_Spell1_mangos.sql   
@@ -0,0 +1,5 @@ 
+DELETE FROM `spell_script_target` WHERE `entry` IN (58836); 
+INSERT INTO `spell_script_target` VALUES
(58836, 1, 31216); 
+ 
+UPDATE `creature_template` SET `ScriptName`='npc_mirror_image' WHERE `entry`=31216; 
+UPDATE `creature_template` SET `spell1`=59638, `spell2` = 59637 WHERE `entry`=31216; 
\\ No newline at end of file 
diff --git a/src/game/Opcodes.cpp b/src/game/Opcodes.cpp 
index 04f7317..2b29f71 100644 
--- a/src/game/Opcodes.cpp 
+++ b/src/game/Opcodes.cpp 
@@ -1051,8 +1051,8 @@ OpcodeHandler opcodeTable[NUM_MSG_TYPES] = 
      /*0x3FE*/ { "MSG_GUILD_BANK_MONEY_WITHDRAWN",               STATUS_LOGGEDIN, &WorldSession::HandleGuildBankMoneyWithdrawn   }, 
      /*0x3FF*/ { "MSG_GUILD_EVENT_LOG_QUERY",                    STATUS_LOGGEDIN, &WorldSession::HandleGuildEventLogQueryOpcode  }, 
      /*0x400*/ { "CMSG_MAELSTROM_RENAME_GUILD",                  STATUS_NEVER,    &WorldSession::Handle_NULL                     }, 
-    /*0x401*/ { "CMSG_GET_MIRRORIMAGE_DATA",                    STATUS_NEVER,    &WorldSession::Handle_NULL                     }, 
-    /*0x402*/ { "SMSG_MIRRORIMAGE_DATA",                        STATUS_NEVER,    &WorldSession::Handle_ServerSide               }, 
+    /*0x401*/ { "CMSG_GET_MIRRORIMAGE_DATA",                    STATUS_LOGGEDIN, &WorldSession::HandleMirrrorImageDataRequest   }, 
+    /*0x402*/ { "SMSG_MIRRORIMAGE_DATA",                        STATUS_LOGGEDIN, &WorldSession::Handle_ServerSide               }, 
      /*0x403*/ { "SMSG_FORCE_DISPLAY_UPDATE",                    STATUS_NEVER,    &WorldSession::Handle_ServerSide               }, 
      /*0x404*/ { "SMSG_SPELL_CHANCE_RESIST_PUSHBACK",            STATUS_NEVER,    &WorldSession::Handle_ServerSide               }, 
      /*0x405*/ { "CMSG_IGNORE_DIMINISHING_RETURNS_CHEAT",        STATUS_NEVER,    &WorldSession::Handle_NULL                     }, 
diff --git a/src/game/SpellAuraDefines.h b/src/game/SpellAuraDefines.h 
index a784d2f..e5c2513 100644 
--- a/src/game/SpellAuraDefines.h 
+++ b/src/game/SpellAuraDefines.h 
@@ -289,7 +289,7 @@ enum AuraType 
      SPELL_AURA_COMPREHEND_LANGUAGE = 244, 
      SPELL_AURA_MOD_DURATION_OF_MAGIC_EFFECTS = 245, 
      SPELL_AURA_MOD_DURATION_OF_EFFECTS_BY_DISPEL = 246, 
-    SPELL_AURA_247 = 247, 
+    SPELL_AURA_CLONE_CASTER = 247, 
      SPELL_AURA_MOD_COMBAT_RESULT_CHANCE = 248, 
      SPELL_AURA_CONVERT_RUNE = 249, 
      SPELL_AURA_MOD_INCREASE_HEALTH_2 = 250, 
@@ -321,7 +321,7 @@ enum AuraType 
      SPELL_AURA_276 = 276,                    // Only "Test Mod Damage % Mechanic" spell, possible mod damage done 
      SPELL_AURA_MOD_MAX_AFFECTED_TARGETS = 277, 
      SPELL_AURA_MOD_DISARM_RANGED = 278, 
-    SPELL_AURA_279 = 279, 
+    SPELL_AURA_INITIALIZE_IMAGES = 279, 
      SPELL_AURA_MOD_TARGET_ARMOR_PCT = 280, 
      SPELL_AURA_MOD_HONOR_GAIN = 281, 
      SPELL_AURA_MOD_BASE_HEALTH_PCT = 282, 
diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp 
index f20a287..7ca4371 100644 
--- a/src/game/SpellAuras.cpp 
+++ b/src/game/SpellAuras.cpp 
@@ -297,7 +297,7 @@ pAuraHandler AuraHandler[TOTAL_AURAS]= 
      &Aura::HandleComprehendLanguage,                        //244 SPELL_AURA_COMPREHEND_LANGUAGE 
      &Aura::HandleNoImmediateEffect,                         //245 SPELL_AURA_MOD_DURATION_OF_MAGIC_EFFECTS     implemented in Unit::CalculateSpellDuration 
      &Aura::HandleNoImmediateEffect,                         //246 SPELL_AURA_MOD_DURATION_OF_EFFECTS_BY_DISPEL implemented in Unit::CalculateSpellDuration 
-    &Aura::HandleNULL,                    //247 target to become a clone of the caster 
+    &Aura::HandleAuraCloneCaster,                           //247 SPELL_AURA_CLONE_CASTER 
      &Aura::HandleNoImmediateEffect,                         //248 SPELL_AURA_MOD_COMBAT_RESULT_CHANCE         implemented in Unit::RollMeleeOutcomeAgainst 
      &Aura::HandleAuraConvertRune,                           //249 SPELL_AURA_CONVERT_RUNE 
      &Aura::HandleAuraModIncreaseHealth,                     //250 SPELL_AURA_MOD_INCREASE_HEALTH_2 
@@ -329,7 +329,7 @@ pAuraHandler AuraHandler[TOTAL_AURAS]= 
      &Aura::HandleNULL,                    //276 mod damage % mechanic? 
      &Aura::HandleNoImmediateEffect,                         //277 SPELL_AURA_MOD_MAX_AFFECTED_TARGETS Use SpellClassMask for spell select 
      &Aura::HandleNULL,                    //278 SPELL_AURA_MOD_DISARM_RANGED disarm ranged weapon 
-    &Aura::HandleNULL,                    //279 visual effects? 58836 and 57507 
+    &Aura::HandleAuraInitializeImages,                      //279 SPELL_AURA_INITIALIZE_IMAGES 
      &Aura::HandleModTargetArmorPct,                         //280 SPELL_AURA_MOD_TARGET_ARMOR_PCT 
      &Aura::HandleNoImmediateEffect,                         //281 SPELL_AURA_MOD_HONOR_GAIN             implemented in Player::RewardHonor 
      &Aura::HandleAuraIncreaseBaseHealthPercent,             //282 SPELL_AURA_INCREASE_BASE_HEALTH_PERCENT 
@@ -7844,3 +7844,42 @@ void Aura::HandleAllowOnlyAbility(bool apply, bool Real) 
      m_target->UpdateDamagePhysical(RANGED_ATTACK); 
      m_target->UpdateDamagePhysical(OFF_ATTACK); 
  } 
+ 
+void Aura::HandleAuraInitializeImages(bool Apply, bool Real) 
+{ 
+    if (!Real || !Apply) 
+        return; 
+ 
+    Unit* caster = GetCaster(); 
+    if (!caster) 
+        return; 
+ 
+    // Set item visual 
+} 
+ 
+void Aura::HandleAuraCloneCaster(bool Apply, bool Real) 
+{ 
+    if (!Real || !Apply) 
+        return; 
+ 
+    Unit * caster = GetCaster(); 
+    if (!caster) 
+        return; 
+ 
+    // Set item visual 
+    m_target->SetDisplayId(caster->GetDisplayId()); 
+    m_target->SetUInt32Value(UNIT_FIELD_FLAGS_2, 2064); 
+} 
\\ No newline at end of file 
diff --git a/src/game/SpellAuras.h b/src/game/SpellAuras.h 
index 5698f36..731fbd0 100644 
--- a/src/game/SpellAuras.h 
+++ b/src/game/SpellAuras.h 
@@ -215,6 +215,8 @@ class MANGOS_DLL_SPEC Aura 
          void HandleModTargetArmorPct(bool Apply, bool Real); 
          void HandleAuraModAllCritChance(bool Apply, bool Real); 
          void HandleAllowOnlyAbility(bool Apply, bool Real); 
+        void HandleAuraInitializeImages(bool Apply, bool Real); 
+        void HandleAuraCloneCaster(bool Apply, bool Real); 

          virtual ~Aura(); 

diff --git a/src/game/SpellHandler.cpp b/src/game/SpellHandler.cpp 
index 433f266..f6318c5 100644 
--- a/src/game/SpellHandler.cpp 
+++ b/src/game/SpellHandler.cpp 
@@ -575,3 +575,83 @@ void WorldSession::HandleSpellClick( WorldPacket & recv_data ) 
          } 
      } 
  } 
+void WorldSession::HandleMirrrorImageDataRequest( WorldPacket & recv_data ) 
+{ 
+    sLog.outDebug("WORLD: CMSG_GET_MIRRORIMAGE_DATA"); 
+    uint64 guid; 
+    recv_data >> guid; 
+ 
+    // Get unit for which data is needed by client 
+    Unit *unit = ObjectAccessor::GetUnit(*_player, guid); 
+    if (!unit) 
+        return; 
+ 
+    // Get creator of the unit 
+    Unit *creator = ObjectAccessor::GetUnit(*_player, unit->GetCreatorGUID()); 
+    if (!creator) 
+        creator = unit; 
+ 
+    if (!creator)   
+        return; 
+ 
+    WorldPacket data(SMSG_MIRRORIMAGE_DATA, 68); 
+    data << (uint64)guid; 
+    data << (uint32)creator->GetDisplayId(); 
+    if (creator->GetTypeId() == TYPEID_PLAYER) 
+    { 
+        Player* pCreator = (Player *)creator; 
+        data << (uint8)pCreator->getRace();                         // race 
+        data << (uint8)pCreator->getGender();                       // gender 
+        data << (uint8)pCreator->getClass();                        // class 
+        data << (uint8)pCreator->GetByteValue(PLAYER_BYTES, 0);     // skin 
+        data << (uint8)pCreator->GetByteValue(PLAYER_BYTES, 1);     // face 
+        data << (uint8)pCreator->GetByteValue(PLAYER_BYTES, 2);     // hair 
+        data << (uint8)pCreator->GetByteValue(PLAYER_BYTES, 3);     // haircolor 
+        data << (uint8)pCreator->GetByteValue(PLAYER_BYTES_2, 0);   // facialhair 
+ 
+        data << (uint32)0;                    // unknown 
+ 
+        static const EquipmentSlots ItemSlots[] =   
+        { 
+            EQUIPMENT_SLOT_HEAD, 
+            EQUIPMENT_SLOT_SHOULDERS, 
+            EQUIPMENT_SLOT_BODY, 
+            E QUIPMENT_SLOT_CHEST, 
+            EQUIPMENT_SLOT_WAIST, 
+            EQUIPMENT_SLOT_LEGS, 
+            EQUIPMENT_SLOT_FEET, 
+            E QUIPMENT_SLOT_WRISTS, 
+            EQUIPMENT_SLOT_HANDS, 
+            EQUIPMENT_SLOT_BACK, 
+            EQUIPMENT_SLOT_TABARD, 
+            E QUIPMENT_SLOT_END 
+        }; 
+ 
+        // Display items in visible slots 
+        for (EquipmentSlots const* itr = &ItemSlots[0]; *itr != EQUIPMENT_SLOT_END; ++itr) 
+            if (Item const* item =  pCreator->GetItemByPos(INVENTORY_SLOT_BAG_0, *itr)) 
+                data << (uint32)item->GetProto()->DisplayInfoID;    // display id 
+            else 
+                data << (uint32)0;                    // no item found, so no id 
+    } 
+    else 
+    { 
+        // Skip player data for creatures 
+        data << (uint32)0; 
+        data << (uint32)0; 
+        data << (uint32)0; 
+        data << (uint32)0; 
+        data << (uint32)0; 
+        data << (uint32)0; 
+        data << (uint32)0; 
+        data << (uint32)0; 
+        data << (uint32)0; 
+        data << (uint32)0; 
+        data << (uint32)0; 
+        data << (uint32)0; 
+        data << (uint32)0; 
+        data << (uint32)0; 
+    } 
+ 
+    SendPacket( &data ); 
+} 
\\ No newline at end of file 
diff --git a/src/game/WorldSession.h b/src/game/WorldSession.h 
index aa69a84..90c98c8 100644 
--- a/src/game/WorldSession.h 
+++ b/src/game/WoÇrldSession.h 
@@ -730,6 +730,7 @@ class MANGOS_DLL_SPEC WorldSession 
          void HandleCalendarGetNumPending(WorldPacket& recv_data); 

          void HandleSpellClick(WorldPacket& recv_data); 
+        void HandleMirrrorImageDataRequest(WorldPacket & recv_data); 
          void HandleAlterAppearance(WorldPacket& recv_data); 
          void HandleRemoveGlyph(WorldPacket& recv_data); 
          void HandleCharCustomize(WorldPacket& recv_data); 

Link to comment
Share on other sites

Someone, please, upload newest SD2 script for MI.

enum
{
  SPELL_FROSTBOLT         = 59638,
  SPELL_FIREBALL          = 59637
};

struct MANGOS_DLL_DECL npc_mirror_imageAI : public ScriptedAI
{
   npc_mirror_imageAI(Creature *pCreature) : ScriptedAI(pCreature)
  {
       Reset();
  }

uint32 m_uiFrostBoltTimer;

   void Reset() 
   { 
      m_uiFrostBoltTimer = 1000;
   } 

   void UpdateAI(const uint32 uiDiff)
   {
       if (!m_creature->SelectHostileTarget() || !m_creature->getVictim())
           return;

                   if (m_uiFrostBoltTimer < uiDiff)
                   {
                       if (DoCastSpellIfCan(m_creature->getVictim(), SPELL_FROSTBOLT) == CAST_OK)
                           m_uiFrostBoltTimer = urand(3600, 4000);
                   }else
                       m_uiFrostBoltTimer -= uiDiff;

   }
}; 

CreatureAI* GetAI_npc_mirror_image(Creature* pCreature)
{
   return new npc_mirror_imageAI(pCreature);
}

And use m_creature->GetLevel for spells.

   newscript = new Script;
   newscript->Name = "npc_mirror_image";
   newscript->GetAI = &GetAI_npc_mirror_image;
   newscript->RegisterSelf();

Link to comment
Share on other sites

Hello, I have an error in the compilation of the patch Mirror Image:

Making all in mangosd
make[3]: entrant dans le répertoire « /home/admin/mangos/objdir/src/mangosd »
g++ -DHAVE_CONFIG_H -I. -I../../../src/mangosd -I../..  -I../../../dep/ACE_wrappers -I../../dep/ACE_wrappers  -I/usr/include/mysql    -I../../src/shared -I../../../src/mangosd/../../dep/include -I../../../src/mangosd/../framework -I../../../src/mangosd/../shared  -I../../../src/mangosd/../game -I../../../src/mangosd -DSYSCONFDIR=\\"/home/admin/mangos/compil/etc/\\"   -DDO_MYSQL -g -O2 -MT CliRunnable.o -MD -MP -MF .deps/CliRunnable.Tpo -c -o CliRunnable.o ../../../src/mangosd/CliRunnable.cpp
mv -f .deps/CliRunnable.Tpo .deps/CliRunnable.Po
g++ -DHAVE_CONFIG_H -I. -I../../../src/mangosd -I../..  -I../../../dep/ACE_wrappers -I../../dep/ACE_wrappers  -I/usr/include/mysql    -I../../src/shared -I../../../src/mangosd/../../dep/include -I../../../src/mangosd/../framework -I../../../src/mangosd/../shared  -I../../../src/mangosd/../game -I../../../src/mangosd -DSYSCONFDIR=\\"/home/admin/mangos/compil/etc/\\"   -DDO_MYSQL -g -O2 -MT Main.o -MD -MP -MF .deps/Main.Tpo -c -o Main.o ../../../src/mangosd/Main.cpp
mv -f .deps/Main.Tpo .deps/Main.Po
g++ -DHAVE_CONFIG_H -I. -I../../../src/mangosd -I../..  -I../../../dep/ACE_wrappers -I../../dep/ACE_wrappers  -I/usr/include/mysql    -I../../src/shared -I../../../src/mangosd/../../dep/include -I../../../src/mangosd/../framework -I../../../src/mangosd/../shared  -I../../../src/mangosd/../game -I../../../src/mangosd -DSYSCONFDIR=\\"/home/admin/mangos/compil/etc/\\"   -DDO_MYSQL -g -O2 -MT Master.o -MD -MP -MF .deps/Master.Tpo -c -o Master.o ../../../src/mangosd/Master.cpp
mv -f .deps/Master.Tpo .deps/Master.Po
g++ -DHAVE_CONFIG_H -I. -I../../../src/mangosd -I../..  -I../../../dep/ACE_wrappers -I../../dep/ACE_wrappers  -I/usr/include/mysql    -I../../src/shared -I../../../src/mangosd/../../dep/include -I../../../src/mangosd/../framework -I../../../src/mangosd/../shared  -I../../../src/mangosd/../game -I../../../src/mangosd -DSYSCONFDIR=\\"/home/admin/mangos/compil/etc/\\"   -DDO_MYSQL -g -O2 -MT RASocket.o -MD -MP -MF .deps/RASocket.Tpo -c -o RASocket.o ../../../src/mangosd/RASocket.cpp
mv -f .deps/RASocket.Tpo .deps/RASocket.Po
g++ -DHAVE_CONFIG_H -I. -I../../../src/mangosd -I../..  -I../../../dep/ACE_wrappers -I../../dep/ACE_wrappers  -I/usr/include/mysql    -I../../src/shared -I../../../src/mangosd/../../dep/include -I../../../src/mangosd/../framework -I../../../src/mangosd/../shared  -I../../../src/mangosd/../game -I../../../src/mangosd -DSYSCONFDIR=\\"/home/admin/mangos/compil/etc/\\"   -DDO_MYSQL -g -O2 -MT WorldRunnable.o -MD -MP -MF .deps/WorldRunnable.Tpo -c -o WorldRunnable.o ../../../src/mangosd/WorldRunnable.cpp
mv -f .deps/WorldRunnable.Tpo .deps/WorldRunnable.Po
/bin/sh ../../libtool --tag=CXX   --mode=link g++  -DDO_MYSQL -g -O2 -L../../dep/src/sockets -L../../dep/src/g3dlite -L../bindings/universal/ -L/home/admin/mangos/compil/lib ../../dep/ACE_wrappers/ace/libACE.la  -Wl,-Bsymbolic-functions -L/usr/lib/mysql -lmysqlclient_r -lz  -lssl -lcrypto    -export-dynamic  -o mangos-worldd CliRunnable.o Main.o Master.o RASocket.o WorldRunnable.o ../bindings/universal/libmangosscript.la ../game/libmangosgame.a ../shared/Database/libmangosdatabase.a ../shared/Config/libmangosconfig.a ../shared/Auth/libmangosauth.a ../shared/libmangosshared.a ../shared/vmap/libmangosvmaps.a ../framework/libmangosframework.a ../../dep/src/sockets/libmangossockets.a ../../dep/src/g3dlite/libg3dlite.a -lpthread 
mkdir .libs
g++ -DDO_MYSQL -g -O2 -Wl,-Bsymbolic-functions -o .libs/mangos-worldd CliRunnable.o Main.o Master.o RASocket.o WorldRunnable.o -Wl,--export-dynamic  -L/home/admin/mangos/objdir/dep/src/sockets -L/home/admin/mangos/objdir/dep/src/g3dlite -L/home/admin/mangos/objdir/src/bindings/universal -L/home/admin/mangos/compil/lib ../../dep/ACE_wrappers/ace/.libs/libACE.so -L/usr/lib/mysql /usr/lib/libmysqlclient_r.so -lz -lssl -lcrypto ../bindings/universal/.libs/libmangosscript.so ../game/libmangosgame.a ../shared/Database/libmangosdatabase.a ../shared/Config/libmangosconfig.a ../shared/Auth/libmangosauth.a ../shared/libmangosshared.a ../shared/vmap/libmangosvmaps.a ../framework/libmangosframework.a ../../dep/src/sockets/libmangossockets.a ../../dep/src/g3dlite/libg3dlite.a -lpthread  -Wl,--rpath -Wl,/home/admin/mangos/compil/lib
../game/libmangosgame.a(Opcodes.o).data+0x4018): undefined reference to `WorldSession::HandleMirrrorImageDataRequest(WorldPacket&)'
collect2: ld returned 1 exit status
make[3]: *** [mangos-worldd] Erreur 1
make[3]: quittant le répertoire « /home/admin/mangos/objdir/src/mangosd »
make[2]: *** [all-recursive] Erreur 1
make[2]: quittant le répertoire « /home/admin/mangos/objdir/src »
make[1]: *** [all-recursive] Erreur 1

I have rev.9446

Link to comment
Share on other sites

as i know mirror images should cast only frostbolt.

i was cleaned patch from trailing whitespaces and other...

http://paste2.org/p/688345 core

http://paste2.org/p/688346 sd2

but after applying the SD2 part server won't start... it says you missed some functions in mangosscript.dll

I saw as clones used fire ball. Probably it depends on that on what branch the magician?

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privacy Policy Terms of Use