Changed CL range for Tatooine from 5 - 20 to 10 - 20

Removed Ancient Krayt Dragen and Grand Krayt Dragon from dynamic spawn list for Tatooine
Added more spawner types
Changed visual template for dynamic spawners (before circular / now green controller box)
Increased dynamic spawner range to 150m (110m before)
Decreased dynamic spawner chance to 5%
Increased max observed NPCs for dynamic spawners to 20
This commit is contained in:
Undercova
2021-03-07 23:49:26 +01:00
parent a3e79c9d9b
commit 0719cdd7e7
5 changed files with 20 additions and 12 deletions

View File

@@ -187,7 +187,7 @@ public class SimpleSpawnInfo implements SpawnInfo {
private Builder() {
info = new SimpleSpawnInfo();
info.id = "simple";
info.id = "SPAWNER";
info.behavior = AIBehavior.IDLE;
info.mood = "";
info.spawnerFlag = NpcStaticSpawnLoader.SpawnerFlag.INVULNERABLE;

View File

@@ -36,6 +36,18 @@ public enum SpawnerType {
GCW_BANNER_ONPOLE("object/tangible/gcw/shared_flip_banner_onpole_spawner.iff"),
QUEST("object/tangible/spawning/shared_quest_spawner.iff"),
EGG("object/tangible/spawning/shared_spawn_egg.iff"),
WAYPOINT("object/path_waypoint/shared_path_waypoint.iff"),
WAYPOINT_AUTO_SPAWN("object/path_waypoint/shared_path_waypoint_auto_spawn.iff"),
WAYPOINT_CITY("object/path_waypoint/shared_path_waypoint_city.iff"),
WAYPOINT_DROID("object/path_waypoint/shared_path_waypoint_droid.iff"),
WAYPOINT_PATROL("object/path_waypoint/shared_path_waypoint_patrol.iff"),
DYNAMIC_REGION_CONTROLLER("object/building/shared_invisible_dynamic_region_controller.iff"),
HOLIDAY_CONTROLLER("object/building/shared_invisible_holiday_controller.iff"),
EVENT_CONTROLLER("object/building/shared_local_event_controller.iff"),
BUILDOUT("object/tangible/buildout/shared_buildout_placeholder.iff"),
BUILDOUT_RING("object/tangible/buildout/shared_buildout_placeholder_ring.iff"),
POI_BASE("object/tangible/poi/base/shared_poi_base.iff"),
INVISIBLE_OBJECT("object/tangible/theme_park/shared_invisible_object.iff"),
GCW_CLONING("object/tangible/spawning/event/shared_gcw_cloning_sickness_droid_spawner.iff"),
GCW_CITY("object/tangible/gcw/shared_gcw_city_spawner.iff"),
MISSION_EASY("object/tangible/mission/shared_mission_informant_spawner_easy.iff"),
@@ -54,9 +66,7 @@ public enum SpawnerType {
OUT_SCIENTIST("object/tangible/spawning/event/shared_outbreak_dungeon_scientist_spawner.iff"),
OUT_GAMMA("object/tangible/spawning/event/shared_outbreak_gamma_survivor_spawner.iff"),
OUT_HIDDEN("object/tangible/spawning/event/shared_outbreak_hidden_content_spawner.iff"),
WOD_HERB("object/tangible/spawning/event/shared_wod_themepark_herb_spawner.iff"),
UNCHECKED("object/mobile/shared_bossk.iff"),
CHECKED("object/mobile/shared_boba_fett.iff");
WOD_HERB("object/tangible/spawning/event/shared_wod_themepark_herb_spawner.iff");
private static final SpawnerType [] VALUES = values();

View File

@@ -60,8 +60,8 @@ import java.util.concurrent.ThreadLocalRandom;
public class DynamicSpawnService extends Service {
private static final int MAX_SPAWN_DISTANCE_TO_PLAYER = 110; // Spawner is created up to this amount of meters away from the player
private static final SpawnerType SPAWNER_TYPE = SpawnerType.RANDOM; // Important that this type is only used by dynamic spawns
private static final int MAX_SPAWN_DISTANCE_TO_PLAYER = 150; // Spawner is created up to this amount of meters away from the player
private static final SpawnerType SPAWNER_TYPE = SpawnerType.DYNAMIC_REGION_CONTROLLER; // Important that this type is only used by dynamic spawns
private final DynamicSpawnLoader dynamicSpawnLoader;
private final NoSpawnZoneLoader noSpawnZoneLoader;
@@ -73,8 +73,8 @@ public class DynamicSpawnService extends Service {
dynamicSpawnLoader = ServerData.INSTANCE.getDynamicSpawns();
noSpawnZoneLoader = ServerData.INSTANCE.getNoSpawnZones();
terrainLevelLoader = ServerData.INSTANCE.getTerrainLevels();
npcSpawnChance = PswgDatabase.INSTANCE.getConfig().getLong(this, "npcSpawnChance", 15);
maxObservedNpcs = PswgDatabase.INSTANCE.getConfig().getLong(this, "maxObservedNpcs", 8);
npcSpawnChance = PswgDatabase.INSTANCE.getConfig().getLong(this, "npcSpawnChance", 5);
maxObservedNpcs = PswgDatabase.INSTANCE.getConfig().getLong(this, "maxObservedNpcs", 20);
}
@IntentHandler
@@ -202,7 +202,7 @@ public class DynamicSpawnService extends Service {
return;
}
SimpleSpawnInfo simpleSpawnInfo = SimpleSpawnInfo.builder().withNpcId(npcId).withDifficulty(difficulty).withSpawnerType(SpawnerType.RANDOM)
SimpleSpawnInfo simpleSpawnInfo = SimpleSpawnInfo.builder().withNpcId(npcId).withDifficulty(difficulty).withSpawnerType(SpawnerType.DYNAMIC_REGION_CONTROLLER)
.withMinLevel(minLevel).withMaxLevel(maxLevel).withSpawnerFlag(spawnerFlag).withBehavior(AIBehavior.LOITER).withLocation(location)
.build();