diff --git a/doc/script_commands.txt b/doc/script_commands.txt index 1068aa693..2c1fbcc77 100644 --- a/doc/script_commands.txt +++ b/doc/script_commands.txt @@ -137,6 +137,7 @@ spell_scripts 10 SCRIPT_COMMAND_TEMP_SUMMON_CREATURE source = any (summoner) * datalong = creature entry * datalong2 = despawn_delay + * data_flags = summon_as_active_object = 0x01 11 SCRIPT_COMMAND_OPEN_DOOR source = unit * datalong = db_guid diff --git a/src/game/Map.cpp b/src/game/Map.cpp index f4a4fa685..a0504c6a5 100644 --- a/src/game/Map.cpp +++ b/src/game/Map.cpp @@ -2619,7 +2619,7 @@ void Map::ScriptsProcess() float z = step.script->z; float o = step.script->o; - Creature* pCreature = summoner->SummonCreature(step.script->summonCreature.creatureEntry, x, y, z, o, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, step.script->summonCreature.despawnDelay); + Creature* pCreature = summoner->SummonCreature(step.script->summonCreature.creatureEntry, x, y, z, o, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, step.script->summonCreature.despawnDelay, (step.script->summonCreature.flags & 0x01) ? true: false); if (!pCreature) { sLog.outError("SCRIPT_COMMAND_TEMP_SUMMON (script id %u) failed for creature (entry: %u).", step.script->id, step.script->summonCreature.creatureEntry); diff --git a/src/game/ObjectMgr.h b/src/game/ObjectMgr.h index f42aa54df..c0192a906 100644 --- a/src/game/ObjectMgr.h +++ b/src/game/ObjectMgr.h @@ -193,6 +193,9 @@ struct ScriptInfo { uint32 creatureEntry; // datalong uint32 despawnDelay; // datalong2 + uint32 unused1; // datalong3 + uint32 unused2; // datalong4 + uint32 flags; // data_flags } summonCreature; struct // SCRIPT_COMMAND_OPEN_DOOR (11) diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index 3192f7cda..dae707ab2 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "10535" + #define REVISION_NR "10536" #endif // __REVISION_NR_H__