mirror of
https://github.com/EQEmu/Server.git
synced 2026-06-10 23:20:25 +00:00
Merge branch 'master' of https://github.com/EQEmu/Server into lsid
This commit is contained in:
+15
-8
@@ -28,11 +28,12 @@
|
||||
extern EntityList entity_list;
|
||||
extern Zone *zone;
|
||||
|
||||
SpawnEntry::SpawnEntry(uint32 in_NPCType, int in_chance, uint8 in_npc_spawn_limit)
|
||||
SpawnEntry::SpawnEntry(uint32 in_NPCType, int in_chance, uint16 in_filter, uint8 in_npc_spawn_limit)
|
||||
{
|
||||
NPCType = in_NPCType;
|
||||
chance = in_chance;
|
||||
npc_spawn_limit = in_npc_spawn_limit;
|
||||
NPCType = in_NPCType;
|
||||
chance = in_chance;
|
||||
condition_value_filter = in_filter;
|
||||
npc_spawn_limit = in_npc_spawn_limit;
|
||||
}
|
||||
|
||||
SpawnGroup::SpawnGroup(
|
||||
@@ -64,7 +65,7 @@ SpawnGroup::SpawnGroup(
|
||||
despawn_timer = despawn_timer_in;
|
||||
}
|
||||
|
||||
uint32 SpawnGroup::GetNPCType()
|
||||
uint32 SpawnGroup::GetNPCType(uint16 in_filter)
|
||||
{
|
||||
int npcType = 0;
|
||||
int totalchance = 0;
|
||||
@@ -84,6 +85,9 @@ uint32 SpawnGroup::GetNPCType()
|
||||
continue;
|
||||
}
|
||||
|
||||
if (se->condition_value_filter != in_filter)
|
||||
continue;
|
||||
|
||||
totalchance += se->chance;
|
||||
possible.push_back(se);
|
||||
}
|
||||
@@ -91,7 +95,6 @@ uint32 SpawnGroup::GetNPCType()
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
int32 roll = 0;
|
||||
roll = zone->random.Int(0, totalchance - 1);
|
||||
|
||||
@@ -239,6 +242,7 @@ bool ZoneDatabase::LoadSpawnGroups(const char *zone_name, uint16 version, SpawnG
|
||||
spawnentry.spawngroupID,
|
||||
npcid,
|
||||
chance,
|
||||
condition_value_filter,
|
||||
npc_types.spawn_limit
|
||||
AS sl
|
||||
FROM
|
||||
@@ -263,7 +267,8 @@ bool ZoneDatabase::LoadSpawnGroups(const char *zone_name, uint16 version, SpawnG
|
||||
auto new_spawn_entry = new SpawnEntry(
|
||||
atoi(row[1]),
|
||||
atoi(row[2]),
|
||||
(row[3] ? atoi(row[3]) : 0)
|
||||
atoi(row[3]),
|
||||
(row[4] ? atoi(row[4]) : 0)
|
||||
);
|
||||
|
||||
SpawnGroup *spawn_group = spawn_group_list->GetSpawnGroup(atoi(row[0]));
|
||||
@@ -339,6 +344,7 @@ bool ZoneDatabase::LoadSpawnGroupsByID(int spawn_group_id, SpawnGroupList *spawn
|
||||
(spawnentry.spawngroupID),
|
||||
spawnentry.npcid,
|
||||
spawnentry.chance,
|
||||
spawnentry.condition_value_filter,
|
||||
spawngroup.spawn_limit
|
||||
FROM
|
||||
spawnentry,
|
||||
@@ -359,7 +365,8 @@ bool ZoneDatabase::LoadSpawnGroupsByID(int spawn_group_id, SpawnGroupList *spawn
|
||||
auto new_spawn_entry = new SpawnEntry(
|
||||
atoi(row[1]),
|
||||
atoi(row[2]),
|
||||
(row[3] ? atoi(row[3]) : 0)
|
||||
atoi(row[3]),
|
||||
(row[4] ? atoi(row[4]) : 0)
|
||||
);
|
||||
|
||||
SpawnGroup *spawn_group = spawn_group_list->GetSpawnGroup(atoi(row[0]));
|
||||
|
||||
Reference in New Issue
Block a user