Dynamic Creature/Go spawning

Port From (https://github.com/TrinityCore/TrinityCore/commit/03b125e6d1947258316c931499746696a95aded2)
This commit is contained in:
hondacrx
2020-08-23 21:52:32 -04:00
parent 8fc9c45d50
commit 15ae7a7c66
45 changed files with 3925 additions and 1963 deletions
+19 -4
View File
@@ -1079,11 +1079,26 @@ namespace Framework.Constants
DebugSceneObjectList = 5068,
DebugSceneObjectDetail = 5069,
NpcinfoUnitFieldFlags2 = 5070,
NpcinfoUnitFieldFlags3 = 5071,
NpcinfoNpcFlags = 5072,
// Strings Added For DynamicSpawning
SpawninfoGroupId = 5070,
SpawninfoCompatibilityMode = 5071,
SpawninfoGuidinfo = 5072,
SpawninfoSpawnidLocation = 5073,
SpawninfoDistancefromplayer = 5074,
SpawngroupBadgroup = 5075,
SpawngroupSpawncount = 5076,
ListRespawnsRange = 5077,
ListRespawnsZone = 5078,
ListRespawnsListheader = 5079,
ListRespawnsOverdue = 5080,
ListRespawnsCreatures = 5081,
ListRespawnsGameobjects = 5082,
// Room For More Trinity Strings 5073-9999
NpcinfoUnitFieldFlags2 = 5084,
NpcinfoUnitFieldFlags3 = 5085,
NpcinfoNpcFlags = 5086,
// Room For More Trinity Strings 5087-6603
// Level Requirement Notifications
SayReq = 6604,
+31
View File
@@ -20,6 +20,8 @@ namespace Framework.Constants
{
public class MapConst
{
public const uint InvalidZone = 0xFFFFFFFF;
//Grids
public const int MaxGrids = 64;
public const float SizeofGrids = 533.33333f;
@@ -200,4 +202,33 @@ namespace Framework.Constants
All = Vmap | Gobject
}
public enum SpawnObjectType
{
Creature = 0,
GameObject = 1,
Max
}
public enum SpawnObjectTypeMask
{
Creature = (1 << SpawnObjectType.Creature),
GameObject = (1 << SpawnObjectType.GameObject),
All = (1 << SpawnObjectType.Max) - 1
}
[Flags]
public enum SpawnGroupFlags
{
None = 0x00,
System = 0x01,
CompatibilityMode = 0x02,
ManualSpawn = 0x04,
DynamicSpawnRate = 0x08,
EscortQuestNpc = 0x10,
All = (System | CompatibilityMode | ManualSpawn | DynamicSpawnRate | EscortQuestNpc)
}
}
+11
View File
@@ -1316,6 +1316,17 @@ namespace Framework.Constants
RealmZone,
ResetDuelCooldowns,
ResetDuelHealthMana,
RespawnDynamicEscortNpc,
RespawnDynamicMinimumCreature,
RespawnDynamicMinimumGameObject,
RespawnDynamicMode,
RespawnDynamicRateCreature,
RespawnDynamicRateGameobject,
RespawnGuidAlertLevel,
RespawnGuidWarnLevel,
RespawnGuidWarningFrequency,
RespawnMinCheckIntervalMs,
RespawnRestartQuietTime,
RestrictedLfgChannel,
SaveRespawnTimeImmediately,
SessionAddDelay,
+15 -1
View File
@@ -13,7 +13,9 @@
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
*/
using System;
namespace Framework.Constants
{
@@ -114,6 +116,15 @@ namespace Framework.Constants
End = 3
}
[Flags]
public enum SmartAiSpawnFlags
{
None = 0x00,
IgnoreRespawn = 0x01,
ForceSpawn = 0x02,
NosaveRespawn = 0x04,
}
public enum SmartAITemplate
{
Basic = 0, //nothing is preset
@@ -125,6 +136,7 @@ namespace Framework.Constants
End = 6
}
[Flags]
public enum SmartCastFlags
{
InterruptPrevious = 0x01, //Interrupt any spell casting
@@ -361,6 +373,8 @@ namespace Framework.Constants
PlayAnimkit = 128,
ScenePlay = 129, // sceneId
SceneCancel = 130, // sceneId
SpawnSpawngroup = 131, // Group ID, min secs, max secs, spawnflags
DespawnSpawngroup = 132, // Group ID, min secs, max secs, spawnflags
// 131 - 134 : 3.3.5 reserved
PlayCinematic = 135, // reserved for future uses
SetMovementSpeed = 136, // movementType, speedInteger, speedFraction
@@ -89,6 +89,7 @@ namespace Framework.Database
PrepareStatement(WorldStatements.DEL_DISABLES, "DELETE FROM disables WHERE entry = ? AND sourceType = ?");
PrepareStatement(WorldStatements.UPD_CREATURE_ZONE_AREA_DATA, "UPDATE creature SET zoneId = ?, areaId = ? WHERE guid = ?");
PrepareStatement(WorldStatements.UPD_GAMEOBJECT_ZONE_AREA_DATA, "UPDATE gameobject SET zoneId = ?, areaId = ? WHERE guid = ?");
PrepareStatement(WorldStatements.DEL_SPAWNGROUP_MEMBER, "DELETE FROM spawn_group WHERE spawnType = ? AND spawnId = ?");
PrepareStatement(WorldStatements.SEL_GUILD_REWARDS_REQ_ACHIEVEMENTS, "SELECT AchievementRequired FROM guild_rewards_req_achievements WHERE ItemID = ?");
}
}
@@ -164,6 +165,7 @@ namespace Framework.Database
DEL_DISABLES,
UPD_CREATURE_ZONE_AREA_DATA,
UPD_GAMEOBJECT_ZONE_AREA_DATA,
DEL_SPAWNGROUP_MEMBER,
SEL_GUILD_REWARDS_REQ_ACHIEVEMENTS,
MAX_WORLDDATABASE_STATEMENTS