From 2840eb30f5e42a87ca186a54c6826dfca87f51aa Mon Sep 17 00:00:00 2001 From: CharonInferar Date: Thu, 22 May 2014 19:28:03 +0200 Subject: [PATCH 1/5] First ideas --- src/services/spawn/MixedSpawnArea.java | 335 +++++++++++++++++++++++++ src/services/spawn/SpawnGroup.java | 30 +++ 2 files changed, 365 insertions(+) create mode 100644 src/services/spawn/MixedSpawnArea.java create mode 100644 src/services/spawn/SpawnGroup.java diff --git a/src/services/spawn/MixedSpawnArea.java b/src/services/spawn/MixedSpawnArea.java new file mode 100644 index 00000000..4a24c44d --- /dev/null +++ b/src/services/spawn/MixedSpawnArea.java @@ -0,0 +1,335 @@ +/******************************************************************************* + * Copyright (c) 2013 + * + * This File is part of NGECore2. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program. If not, see . + * + * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine. + * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination. + ******************************************************************************/ +package services.spawn; + +import java.util.Collections; +import java.util.Random; +import java.util.Vector; + +import resources.datatables.Options; +import resources.datatables.Posture; +import main.NGECore; +import net.engio.mbassy.listener.Handler; +import resources.common.collidables.AbstractCollidable; +import resources.common.collidables.AbstractCollidable.EnterEvent; +import resources.common.collidables.AbstractCollidable.ExitEvent; +import resources.objects.creature.CreatureObject; +import services.TerrainService; +import services.SimulationService.MoveEvent; +import engine.resources.objects.SWGObject; +import engine.resources.scene.Planet; +import engine.resources.scene.Point3D; + +public class MixedSpawnArea extends SpawnArea { + + private SpawnGroup spawnGroup; + private Vector spawnGroups; + private Vector mobiles = new Vector(); + + public MixedSpawnArea(Planet planet, AbstractCollidable area, SpawnGroup spawnGroup) { + super(planet, area); + this.spawnGroup = spawnGroup; + } + + public MixedSpawnArea(Planet planet, AbstractCollidable area, Vector spawnGroups) { + super(planet, area); + this.spawnGroups = spawnGroups; + } + + @Override + @Handler + public void onEnter(EnterEvent event) { + + SWGObject object = event.object; + // ToDo: Mounted players must be handled too + //System.out.println("Entering object " + object.getClass().getName()); + if(object == null || !(object instanceof CreatureObject)) + return; + + + CreatureObject creature = (CreatureObject) object; + + if(creature.getSlottedObject("ghost") == null && !creature.getOption(Options.MOUNT)) + return; + + creature.getEventBus().subscribe(this); + // spawn some creatures + if (spawnGroups==null){ + if (spawnGroup.getGroupMembersNumber()==-1){ + for(int i = 0; i < 5; i++) + spawnCreature(creature); + } else { + Vector groupMembers = new Vector(); + Point3D randomGroupPosition = getRandomPosition(creature.getWorldPosition(), 32, 100); + for(int i = 0; i < spawnGroup.getGroupMembersNumber(); i++) {// A group with a specified number of members + CreatureObject spawnedCreature = spawnCreatureMember(creature, groupMembers, randomGroupPosition, i); + if (spawnedCreature!=null) + groupMembers.add(spawnedCreature); + } + } + } else { + // select randomly one of the spawngroups -> minimizes number of collidables for areas with multiple different NPC groups + // One spawnarea -> many NPC groups + int index = new Random().nextInt(spawnGroups.size()); + this.spawnGroup = spawnGroups.get(index); + Vector groupMembers = new Vector(); + Point3D randomGroupPosition = getRandomPosition(creature.getWorldPosition(), 32, 100); + int spawnCount = spawnGroup.getGroupMembersNumber(); + if (spawnCount<0){ + int spawnCount2 = 1; + if (Math.abs(spawnCount) groupMembers = new Vector(); + Point3D randomGroupPosition = getRandomPosition(creature.getWorldPosition(), 32, 100); + for(int i = 0; i < spawnGroup.getGroupMembersNumber(); i++) {// A group with a specified number of members + CreatureObject spawnedCreature = spawnCreatureMember(creature, groupMembers, randomGroupPosition, i); + if (spawnedCreature!=null) + groupMembers.add(spawnedCreature); + } + } + } else { + // select randomly one of the spawngroups -> minimizes number of collidables for areas with multiple different NPC groups + // One spawnarea -> many NPC groups + int index = new Random().nextInt(spawnGroups.size()); + this.spawnGroup = spawnGroups.get(index); + + Vector groupMembers = new Vector(); + //Point3D randomGroupPosition = getRandomPosition(creature.getWorldPosition(), 32, 100); + Point3D randomGroupPosition = getRandomPosition(creature.getWorldPosition(), 32, spawnGroup.getMinSpawnDistance()+10); + int spawnCount = spawnGroup.getGroupMembersNumber(); + if (spawnCount<0){ + int spawnCount2 = 1; + if (Math.abs(spawnCount) it = mobiles.iterator(); // This stops further execution of this method for some reason +// it.forEachRemaining(mobile -> { +// if(mobile.getPosture() == Posture.Dead) +// it.remove(); +// }); + + mobiles.removeAll(Collections.singleton(null)); + Vector removers = new Vector(); + for (CreatureObject ob : mobiles){ + if (ob.getPosture() == Posture.Dead) + removers.add(ob); + } + mobiles.removeAll(removers); + + if(mobiles.size() >= spawnGroup.getMaxSpawns()) + return; + + boolean foundPos = false; + int tries = 0; + Point3D randomPosition = null; + + while(!foundPos && ++tries < 10) { + + randomPosition = getRandomPosition(creature.getWorldPosition(), 32.f, 200.f); + + if(randomPosition == null) + return; + + TerrainService terrainSvc = core.terrainService; + + float height = terrainSvc.getHeight(getPlanet().getID(), randomPosition.x, randomPosition.z); + randomPosition.y = height; + + if (mobiles.size()>0){ // Fix, mobiles must be filled first, before doing this check + for(CreatureObject mobile : mobiles) { + if(mobile.getWorldPosition().getDistance(randomPosition) > spawnGroup.getMinSpawnDistance()) + foundPos = true; + } + } else {foundPos = true;} + + if(!terrainSvc.canBuildAtPosition(creature, randomPosition.x, randomPosition.z)) + foundPos = false; + + } + + if(!foundPos) + return; + + Random random = new Random(); + + String mobileTemplate = spawnGroup.getMobiles().get(random.nextInt(spawnGroup.getMobiles().size())); + CreatureObject spawnedCreature = core.spawnService.spawnCreature(mobileTemplate, getPlanet().getName(), 0, randomPosition.x, randomPosition.y, randomPosition.z); + if(spawnedCreature != null){ + mobiles.add(spawnedCreature); + } + + } + + + private CreatureObject spawnCreatureMember(CreatureObject creature, Vector groupMembers, Point3D randomGroupPosition, int spawnIndex) { + + NGECore core = NGECore.getInstance(); + +// Iterator it = mobiles.iterator(); // This stops further execution of this method for some reason +// it.forEachRemaining(mobile -> { +// if(mobile.getPosture() == Posture.Dead) +// it.remove(); +// }); + + mobiles.removeAll(Collections.singleton(null)); + Vector removers = new Vector(); + for (CreatureObject ob : mobiles){ + if (ob.getPosture() == Posture.Dead) + removers.add(ob); + } + mobiles.removeAll(removers); + +// if(mobiles.size() >= spawnGroup.getMaxSpawns()) +// return; + + boolean foundPos = false; + int tries = 0; + Point3D randomPosition = null; + String template = spawnGroup.getMobiles().get(spawnIndex); + MobileTemplate mobileTemplate = NGECore.getInstance().spawnService.getMobileTemplate(template); + if (mobileTemplate==null){ + System.out.println("mobileTemplate==null for template " + template); + return null; + } + + while(!foundPos && ++tries < 30) { + + randomPosition = getRandomPosition(randomGroupPosition, mobileTemplate.getMinSpawnDistance(), mobileTemplate.getMaxSpawnDistance()); + + if(randomPosition == null){ + //System.out.println("randomPosition == null"); + return null; + } + + TerrainService terrainSvc = core.terrainService; + + float height = terrainSvc.getHeight(getPlanet().getID(), randomPosition.x, randomPosition.z); + randomPosition.y = height; + + if (mobiles.size()>0){ // Fix, mobiles must be filled first, before doing this check + boolean minDistViolated = false; + for(CreatureObject mobile : mobiles) { + if(mobile.getWorldPosition().getDistance(randomPosition) < spawnGroup.getMinSpawnDistance() && ! groupMembers.contains(mobile)){ + minDistViolated = true; // Distance to other nearby groups + //System.out.println("minDistViolated " + mobile.getWorldPosition().getDistance(randomPosition) + "mobile: " + mobile.getTemplate()); + } + } + if (minDistViolated) + foundPos = false; + else + foundPos = true; + } else {foundPos = true;} + + if(!terrainSvc.canBuildAtPosition(creature, randomPosition.x, randomPosition.z)) + foundPos = false; + + } + + if(!foundPos){ + //System.out.println("mobileTemplate pos not found " + mobileTemplate.getCreatureName()); + return null; + } + //System.out.println("mobileTemplate pos found " + mobileTemplate.getCreatureName()); + + CreatureObject spawnedCreature = core.spawnService.spawnCreature(template, getPlanet().getName(), 0, randomPosition.x, randomPosition.y, randomPosition.z); + if(spawnedCreature != null){ + mobiles.add(spawnedCreature); + //System.err.println("Creature ADDED " + spawnedCreature.getTemplate()); + } else + { + //System.out.println("Creature not spawned" + template); + } + + return spawnedCreature; + } +} diff --git a/src/services/spawn/SpawnGroup.java b/src/services/spawn/SpawnGroup.java new file mode 100644 index 00000000..de8abe0f --- /dev/null +++ b/src/services/spawn/SpawnGroup.java @@ -0,0 +1,30 @@ +/******************************************************************************* + * Copyright (c) 2013 + * + * This File is part of NGECore2. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program. If not, see . + * + * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine. + * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination. + ******************************************************************************/ +package services.spawn; + + +public abstract class SpawnGroup { + + public SpawnGroup() { + + } +} From d450228e60921d5e30fc53cef7802bf2b1bff655 Mon Sep 17 00:00:00 2001 From: CharonInferar Date: Fri, 23 May 2014 01:44:25 +0200 Subject: [PATCH 2/5] Added MixedSpawnArea To save server resources, a mixed spawn area can consist of dynamic groups and lair groups. Also the minimal distance from dynamic group to nearest lair will be kept to prevent lairs and NPCs too close together a bit more. --- options.cfg | 6 +- .../piket_plains_walker_group.py | 3 + .../spawnareas/dantooine_mining_lair.py | 3 +- .../spawnareas/dantooine_mining_mixed.py | 11 ++ src/services/spawn/DynamicSpawnGroup.java | 2 +- src/services/spawn/LairGroupTemplate.java | 2 +- src/services/spawn/MixedSpawnArea.java | 163 ++++++++++++++---- src/services/spawn/SpawnGroup.java | 20 ++- src/services/spawn/SpawnService.java | 22 +++ 9 files changed, 190 insertions(+), 42 deletions(-) create mode 100644 scripts/mobiles/spawnareas/dantooine_mining_mixed.py diff --git a/options.cfg b/options.cfg index 03abf4cf..4a7be4e0 100644 --- a/options.cfg +++ b/options.cfg @@ -1,7 +1,7 @@ -LOAD.SNAPSHOT_OBJECTS=1 -LOAD.BUILDOUT_OBJECTS=1 +LOAD.SNAPSHOT_OBJECTS=0 +LOAD.BUILDOUT_OBJECTS=0 #LOAD.BUILDOUT_ONLY_FOR="dantooine" LOAD.RESOURCE.SYSTEM=1 # Misc -CLEAN.ODB.FOLDERS=0 \ No newline at end of file +CLEAN.ODB.FOLDERS=1 \ No newline at end of file diff --git a/scripts/mobiles/dynamicgroups/piket_plains_walker_group.py b/scripts/mobiles/dynamicgroups/piket_plains_walker_group.py index 84bdefe0..2d6914b7 100644 --- a/scripts/mobiles/dynamicgroups/piket_plains_walker_group.py +++ b/scripts/mobiles/dynamicgroups/piket_plains_walker_group.py @@ -8,6 +8,9 @@ def addDynamicGroup(core): dynamicGroup = DynamicSpawnGroup() mobileTemplates = Vector() mobileTemplates.add('piket_plains_walker') + mobileTemplates.add('piket_plains_walker') + mobileTemplates.add('piket_plains_walker') + mobileTemplates.add('piket_plains_walker') dynamicGroup.setMobiles(mobileTemplates) dynamicGroup.setGroupMembersNumber(-3) dynamicGroup.setName('piket_plains_walker_group') diff --git a/scripts/mobiles/spawnareas/dantooine_mining_lair.py b/scripts/mobiles/spawnareas/dantooine_mining_lair.py index f3fba3f0..a4e6734a 100644 --- a/scripts/mobiles/spawnareas/dantooine_mining_lair.py +++ b/scripts/mobiles/spawnareas/dantooine_mining_lair.py @@ -1,6 +1,7 @@ # Spawn Area file created with PSWG Planetary Spawn Tool import sys +from java.util import Vector def addSpawnArea(core): - core.spawnService.addLairSpawnArea('mixed_lair_group_1', 0, 2355, 1024, 'dantooine') + #core.spawnService.addLairSpawnArea('mixed_lair_group_1', 0, 2355, 1024, 'dantooine') return diff --git a/scripts/mobiles/spawnareas/dantooine_mining_mixed.py b/scripts/mobiles/spawnareas/dantooine_mining_mixed.py new file mode 100644 index 00000000..7fd81cad --- /dev/null +++ b/scripts/mobiles/spawnareas/dantooine_mining_mixed.py @@ -0,0 +1,11 @@ +# Spawn Area file created with PSWG Planetary Spawn Tool +import sys +from java.util import Vector + +def addSpawnArea(core): + mixedGroups = Vector() + mixedGroups.add('piket_plains_walker_group') + mixedGroups.add('mixed_lair_group_1') + mixedGroups.add('naboo_starter') + core.spawnService.addMixedSpawnArea(mixedGroups, 0, 2355, 1024, 'dantooine') + return diff --git a/src/services/spawn/DynamicSpawnGroup.java b/src/services/spawn/DynamicSpawnGroup.java index da3df12e..ceaed7d1 100644 --- a/src/services/spawn/DynamicSpawnGroup.java +++ b/src/services/spawn/DynamicSpawnGroup.java @@ -23,7 +23,7 @@ package services.spawn; import java.util.Vector; -public class DynamicSpawnGroup { +public class DynamicSpawnGroup extends SpawnGroup { private Vector mobiles; private String name; diff --git a/src/services/spawn/LairGroupTemplate.java b/src/services/spawn/LairGroupTemplate.java index 4cca3ea2..49e816ba 100644 --- a/src/services/spawn/LairGroupTemplate.java +++ b/src/services/spawn/LairGroupTemplate.java @@ -2,7 +2,7 @@ package services.spawn; import java.util.Vector; -public class LairGroupTemplate { +public class LairGroupTemplate extends SpawnGroup{ private Vector lairSpawnTemplates; private String name; diff --git a/src/services/spawn/MixedSpawnArea.java b/src/services/spawn/MixedSpawnArea.java index 4a24c44d..e0b0a68b 100644 --- a/src/services/spawn/MixedSpawnArea.java +++ b/src/services/spawn/MixedSpawnArea.java @@ -35,6 +35,7 @@ import resources.common.collidables.AbstractCollidable.ExitEvent; import resources.objects.creature.CreatureObject; import services.TerrainService; import services.SimulationService.MoveEvent; +import services.ai.LairActor; import engine.resources.objects.SWGObject; import engine.resources.scene.Planet; import engine.resources.scene.Point3D; @@ -44,6 +45,8 @@ public class MixedSpawnArea extends SpawnArea { private SpawnGroup spawnGroup; private Vector spawnGroups; private Vector mobiles = new Vector(); + private Vector lairs = new Vector(); + private long lastSpawnTime = 0; public MixedSpawnArea(Planet planet, AbstractCollidable area, SpawnGroup spawnGroup) { super(planet, area); @@ -89,26 +92,43 @@ public class MixedSpawnArea extends SpawnArea { } else { // select randomly one of the spawngroups -> minimizes number of collidables for areas with multiple different NPC groups // One spawnarea -> many NPC groups + + int index = new Random().nextInt(spawnGroups.size()); this.spawnGroup = spawnGroups.get(index); - Vector groupMembers = new Vector(); - Point3D randomGroupPosition = getRandomPosition(creature.getWorldPosition(), 32, 100); - int spawnCount = spawnGroup.getGroupMembersNumber(); - if (spawnCount<0){ - int spawnCount2 = 1; - if (Math.abs(spawnCount) groupMembers = new Vector(); + Point3D randomGroupPosition = getRandomPosition(creature.getWorldPosition(), 32, 100); + int spawnCount = spawnGroup.getGroupMembersNumber(); + if (spawnCount<0){ + int spawnCount2 = 1; + if (Math.abs(spawnCount) many NPC groups int index = new Random().nextInt(spawnGroups.size()); this.spawnGroup = spawnGroups.get(index); - - Vector groupMembers = new Vector(); - //Point3D randomGroupPosition = getRandomPosition(creature.getWorldPosition(), 32, 100); - Point3D randomGroupPosition = getRandomPosition(creature.getWorldPosition(), 32, spawnGroup.getMinSpawnDistance()+10); - int spawnCount = spawnGroup.getGroupMembersNumber(); - if (spawnCount<0){ - int spawnCount2 = 1; - if (Math.abs(spawnCount) groupMembers = new Vector(); + //Point3D randomGroupPosition = getRandomPosition(creature.getWorldPosition(), 32, 100); + Point3D randomGroupPosition = getRandomPosition(creature.getWorldPosition(), 32, spawnGroup.getMinSpawnDistance()+10); + int spawnCount = spawnGroup.getGroupMembersNumber(); + if (spawnCount<0){ + int spawnCount2 = 1; + if (Math.abs(spawnCount) lairTemplates = lairGroup.getLairSpawnTemplates(); + + if(lairGroup == null || lairTemplates.isEmpty()) + return; + + if((System.currentTimeMillis() - lastSpawnTime) < 10000) + return; + + Point3D randomPosition = getRandomPosition(object.getWorldPosition(), 32.f, 200.f); + + if(randomPosition == null) + return; + + TerrainService terrainSvc = core.terrainService; + + float height = terrainSvc.getHeight(getPlanet().getID(), randomPosition.x, randomPosition.z); + randomPosition.y = height; + + for(LairActor otherLair : lairs) { + if(otherLair.getLairObject().getWorldPosition().getDistance(randomPosition) < 30) + return; + } + + if(!terrainSvc.canBuildAtPosition(object, randomPosition.x, randomPosition.z)) + return; + + Random random = new Random(); + + LairSpawnTemplate lairSpawn = lairTemplates.get(random.nextInt(lairTemplates.size())); + + int level = -1; // If level equals -1 then the mobile template CL will be used! + if (lairSpawn.getMinLevel() != -1 && lairSpawn.getMaxLevel()!=-1) + level = random.nextInt((int) (lairSpawn.getMaxLevel() - lairSpawn.getMinLevel()) + 1) + lairSpawn.getMinLevel(); + + + + LairActor lairActor = core.spawnService.spawnLair(lairSpawn.getLairTemplate(), getPlanet(), randomPosition, (short) level); + if(lairActor == null) + return; + lairs.add(lairActor); + lastSpawnTime = System.currentTimeMillis(); + + } + } diff --git a/src/services/spawn/SpawnGroup.java b/src/services/spawn/SpawnGroup.java index de8abe0f..b0d62402 100644 --- a/src/services/spawn/SpawnGroup.java +++ b/src/services/spawn/SpawnGroup.java @@ -21,10 +21,26 @@ ******************************************************************************/ package services.spawn; +import java.util.Vector; +// Making this an abstract class, not having to implement unused methods in either spawn group classes public abstract class SpawnGroup { - public SpawnGroup() { - + public SpawnGroup() {} + + public int getGroupMembersNumber(){ + return 0; + } + + public Vector getMobiles() { + return new Vector(); + } + + public int getMinSpawnDistance(){ + return 0; + } + + public int getMaxSpawns(){ + return 0; } } diff --git a/src/services/spawn/SpawnService.java b/src/services/spawn/SpawnService.java index b3edec85..4d6c4084 100644 --- a/src/services/spawn/SpawnService.java +++ b/src/services/spawn/SpawnService.java @@ -418,6 +418,28 @@ public class SpawnService { spawnAreas.get(planet).add(dynamicSpawnArea); core.simulationService.addCollidable(collidableCircle, x, z); } + + public void addMixedSpawnArea(Vector passedGroups, float x, float z, float radius, String planetName) { + Vector mixedSpawnGroups = new Vector(); + for (String template : passedGroups){ + if (dynamicGroupTemplates.get(template)!=null){ + mixedSpawnGroups.add(dynamicGroupTemplates.get(template)); + } + if (lairGroupTemplates.get(template)!=null){ + mixedSpawnGroups.add(lairGroupTemplates.get(template)); + } + if(dynamicGroupTemplates.get(template) == null && lairGroupTemplates.get(template)==null) + return; + } + + Planet planet = core.terrainService.getPlanetByName(planetName); + if(mixedSpawnGroups == null || mixedSpawnGroups.size() == 0 || planet == null) + return; + CollidableCircle collidableCircle = new CollidableCircle(new Point3D(x, 0, z), radius, planet); + MixedSpawnArea dynamicSpawnArea = new MixedSpawnArea(planet, collidableCircle, mixedSpawnGroups); + spawnAreas.get(planet).add(dynamicSpawnArea); + core.simulationService.addCollidable(collidableCircle, x, z); + } public Map getMobileTemplates() { return mobileTemplates; From ad0203fe27915aa99220a0742e37aaf5c5ab4823 Mon Sep 17 00:00:00 2001 From: tacef Date: Fri, 23 May 2014 13:37:55 +0200 Subject: [PATCH 3/5] More work on Faction NPC scripts --- .../Copy of imp_1st_lieutenant_20_2.py | 39 +++++++++++++++++++ .../imperial/imp_1st_lieutenant_20_2.py | 39 +++++++++++++++++++ .../imperial/imp_comm_security_guard_15.py | 39 +++++++++++++++++++ .../imperial/imp_comm_security_guard_67.py | 39 +++++++++++++++++++ .../imperial/imp_comm_specialist_35.py | 39 +++++++++++++++++++ .../imperial/imp_comm_specialist_77.py | 39 +++++++++++++++++++ .../{mp_commop_64.py => imp_commop_64.py} | 0 .../faction/imperial/imp_corporal_16.py | 39 +++++++++++++++++++ .../faction/imperial/imp_corporal_66.py | 39 +++++++++++++++++++ .../faction/imperial/imp_dead-eye_36.py | 39 +++++++++++++++++++ .../faction/imperial/imp_dead-eye_78.py | 39 +++++++++++++++++++ .../faction/imperial/imp_exterminator.py | 39 +++++++++++++++++++ .../generic/faction/imperial/imp_general.py | 39 +++++++++++++++++++ .../faction/imperial/imp_high_general.py | 39 +++++++++++++++++++ 14 files changed, 507 insertions(+) create mode 100644 scripts/mobiles/generic/faction/imperial/Copy of imp_1st_lieutenant_20_2.py create mode 100644 scripts/mobiles/generic/faction/imperial/imp_1st_lieutenant_20_2.py create mode 100644 scripts/mobiles/generic/faction/imperial/imp_comm_security_guard_15.py create mode 100644 scripts/mobiles/generic/faction/imperial/imp_comm_security_guard_67.py create mode 100644 scripts/mobiles/generic/faction/imperial/imp_comm_specialist_35.py create mode 100644 scripts/mobiles/generic/faction/imperial/imp_comm_specialist_77.py rename scripts/mobiles/generic/faction/imperial/{mp_commop_64.py => imp_commop_64.py} (100%) create mode 100644 scripts/mobiles/generic/faction/imperial/imp_corporal_16.py create mode 100644 scripts/mobiles/generic/faction/imperial/imp_corporal_66.py create mode 100644 scripts/mobiles/generic/faction/imperial/imp_dead-eye_36.py create mode 100644 scripts/mobiles/generic/faction/imperial/imp_dead-eye_78.py create mode 100644 scripts/mobiles/generic/faction/imperial/imp_exterminator.py create mode 100644 scripts/mobiles/generic/faction/imperial/imp_general.py create mode 100644 scripts/mobiles/generic/faction/imperial/imp_high_general.py diff --git a/scripts/mobiles/generic/faction/imperial/Copy of imp_1st_lieutenant_20_2.py b/scripts/mobiles/generic/faction/imperial/Copy of imp_1st_lieutenant_20_2.py new file mode 100644 index 00000000..d9613112 --- /dev/null +++ b/scripts/mobiles/generic/faction/imperial/Copy of imp_1st_lieutenant_20_2.py @@ -0,0 +1,39 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('crackdown_imperial_first_lieutenant') + mobileTemplate.setLevel(20) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(15) + mobileTemplate.setAttackSpeed(1.0) + mobileTemplate.setWeaponType(1) + mobileTemplate.setMinSpawnDistance(4) + mobileTemplate.setMaxSpawnDistance(8) + mobileTemplate.setDeathblow(False) + mobileTemplate.setScale(1) + mobileTemplate.setSocialGroup("imperial") + mobileTemplate.setAssistRange(0) + mobileTemplate.setStalker(False) + mobileTemplate.setFaction("imperial") + mobileTemplate.setFactionStatus(1) + + templates = Vector() + templates.add('object/mobile/shared_dressed_imperial_lieutenant_m.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/ranged/carbine/shared_carbine_e11.iff', 1, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('rangedshot') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('imp_fst_lieutenant', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/generic/faction/imperial/imp_1st_lieutenant_20_2.py b/scripts/mobiles/generic/faction/imperial/imp_1st_lieutenant_20_2.py new file mode 100644 index 00000000..255a32fd --- /dev/null +++ b/scripts/mobiles/generic/faction/imperial/imp_1st_lieutenant_20_2.py @@ -0,0 +1,39 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('crackdown_imperial_first_lieutenant') + mobileTemplate.setLevel(20) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(15) + mobileTemplate.setAttackSpeed(1.0) + mobileTemplate.setWeaponType(1) + mobileTemplate.setMinSpawnDistance(4) + mobileTemplate.setMaxSpawnDistance(8) + mobileTemplate.setDeathblow(True) + mobileTemplate.setScale(1) + mobileTemplate.setSocialGroup("imperial") + mobileTemplate.setAssistRange(0) + mobileTemplate.setStalker(False) + mobileTemplate.setFaction("imperial") + mobileTemplate.setFactionStatus(1) + + templates = Vector() + templates.add('object/mobile/shared_dressed_imperial_lieutenant_m.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/ranged/carbine/shared_carbine_e11.iff', 1, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('rangedshot') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('imp_fst_lieutenant_20_2', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/generic/faction/imperial/imp_comm_security_guard_15.py b/scripts/mobiles/generic/faction/imperial/imp_comm_security_guard_15.py new file mode 100644 index 00000000..3b0da7d6 --- /dev/null +++ b/scripts/mobiles/generic/faction/imperial/imp_comm_security_guard_15.py @@ -0,0 +1,39 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('crackdown_command_security_guard') + mobileTemplate.setLevel(15) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(15) + mobileTemplate.setAttackSpeed(1.0) + mobileTemplate.setWeaponType(1) + mobileTemplate.setMinSpawnDistance(4) + mobileTemplate.setMaxSpawnDistance(8) + mobileTemplate.setDeathblow(True) + mobileTemplate.setScale(1) + mobileTemplate.setSocialGroup("imperial") + mobileTemplate.setAssistRange(0) + mobileTemplate.setStalker(True) + mobileTemplate.setFaction("imperial") + mobileTemplate.setFactionStatus(1) + + templates = Vector() + templates.add('object/mobile/shared_dressed_npe_imperial_officer.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/ranged/carbine/shared_carbine_e11.iff', 1, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('rangedshot') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('imp_comm_security_guard_15', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/generic/faction/imperial/imp_comm_security_guard_67.py b/scripts/mobiles/generic/faction/imperial/imp_comm_security_guard_67.py new file mode 100644 index 00000000..e5e97604 --- /dev/null +++ b/scripts/mobiles/generic/faction/imperial/imp_comm_security_guard_67.py @@ -0,0 +1,39 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('crackdown_command_security_guard') + mobileTemplate.setLevel(67) + mobileTemplate.setDifficulty(1) + mobileTemplate.setAttackRange(15) + mobileTemplate.setAttackSpeed(1.0) + mobileTemplate.setWeaponType(1) + mobileTemplate.setMinSpawnDistance(4) + mobileTemplate.setMaxSpawnDistance(8) + mobileTemplate.setDeathblow(True) + mobileTemplate.setScale(1) + mobileTemplate.setSocialGroup("imperial") + mobileTemplate.setAssistRange(0) + mobileTemplate.setStalker(True) + mobileTemplate.setFaction("imperial") + mobileTemplate.setFactionStatus(1) + + templates = Vector() + templates.add('object/mobile/shared_dressed_npe_imperial_officer.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/ranged/carbine/shared_carbine_e11.iff', 1, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('rangedshot') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('imp_comm_security_guard_67', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/generic/faction/imperial/imp_comm_specialist_35.py b/scripts/mobiles/generic/faction/imperial/imp_comm_specialist_35.py new file mode 100644 index 00000000..4270e134 --- /dev/null +++ b/scripts/mobiles/generic/faction/imperial/imp_comm_specialist_35.py @@ -0,0 +1,39 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('crackdown_comm_operator_hard') + mobileTemplate.setLevel(77) + mobileTemplate.setDifficulty(1) + mobileTemplate.setAttackRange(15) + mobileTemplate.setAttackSpeed(1.0) + mobileTemplate.setWeaponType(1) + mobileTemplate.setMinSpawnDistance(4) + mobileTemplate.setMaxSpawnDistance(8) + mobileTemplate.setDeathblow(True) + mobileTemplate.setScale(1) + mobileTemplate.setSocialGroup("imperial") + mobileTemplate.setAssistRange(0) + mobileTemplate.setStalker(True) + mobileTemplate.setFaction("imperial") + mobileTemplate.setFactionStatus(1) + + templates = Vector() + templates.add('object/mobile/shared_dressed_npe_imperial_officer.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/ranged/carbine/shared_carbine_e11.iff', 1, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('rangedshot') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('imp_comm_specialist_77', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/generic/faction/imperial/imp_comm_specialist_77.py b/scripts/mobiles/generic/faction/imperial/imp_comm_specialist_77.py new file mode 100644 index 00000000..72807a6d --- /dev/null +++ b/scripts/mobiles/generic/faction/imperial/imp_comm_specialist_77.py @@ -0,0 +1,39 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('crackdown_comm_operator_hard') + mobileTemplate.setLevel(35) + mobileTemplate.setDifficulty(1) + mobileTemplate.setAttackRange(15) + mobileTemplate.setAttackSpeed(1.0) + mobileTemplate.setWeaponType(1) + mobileTemplate.setMinSpawnDistance(4) + mobileTemplate.setMaxSpawnDistance(8) + mobileTemplate.setDeathblow(True) + mobileTemplate.setScale(1) + mobileTemplate.setSocialGroup("imperial") + mobileTemplate.setAssistRange(0) + mobileTemplate.setStalker(True) + mobileTemplate.setFaction("imperial") + mobileTemplate.setFactionStatus(1) + + templates = Vector() + templates.add('object/mobile/shared_dressed_npe_imperial_officer.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/ranged/carbine/shared_carbine_e11.iff', 1, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('rangedshot') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('imp_comm_specialist_35', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/generic/faction/imperial/mp_commop_64.py b/scripts/mobiles/generic/faction/imperial/imp_commop_64.py similarity index 100% rename from scripts/mobiles/generic/faction/imperial/mp_commop_64.py rename to scripts/mobiles/generic/faction/imperial/imp_commop_64.py diff --git a/scripts/mobiles/generic/faction/imperial/imp_corporal_16.py b/scripts/mobiles/generic/faction/imperial/imp_corporal_16.py new file mode 100644 index 00000000..ed5aa57a --- /dev/null +++ b/scripts/mobiles/generic/faction/imperial/imp_corporal_16.py @@ -0,0 +1,39 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('crackdown_imperial_corporal') + mobileTemplate.setLevel(16) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(15) + mobileTemplate.setAttackSpeed(1.0) + mobileTemplate.setWeaponType(1) + mobileTemplate.setMinSpawnDistance(4) + mobileTemplate.setMaxSpawnDistance(8) + mobileTemplate.setDeathblow(True) + mobileTemplate.setScale(1) + mobileTemplate.setSocialGroup("imperial") + mobileTemplate.setAssistRange(0) + mobileTemplate.setStalker(True) + mobileTemplate.setFaction("imperial") + mobileTemplate.setFactionStatus(1) + + templates = Vector() + templates.add('object/mobile/shared_dressed_npe_imperial_officer.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/ranged/carbine/shared_carbine_e11.iff', 1, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('rangedshot') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('imp_corporal_16', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/generic/faction/imperial/imp_corporal_66.py b/scripts/mobiles/generic/faction/imperial/imp_corporal_66.py new file mode 100644 index 00000000..19bc409c --- /dev/null +++ b/scripts/mobiles/generic/faction/imperial/imp_corporal_66.py @@ -0,0 +1,39 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('crackdown_imperial_corporal') + mobileTemplate.setLevel(66) + mobileTemplate.setDifficulty(1) + mobileTemplate.setAttackRange(15) + mobileTemplate.setAttackSpeed(1.0) + mobileTemplate.setWeaponType(1) + mobileTemplate.setMinSpawnDistance(4) + mobileTemplate.setMaxSpawnDistance(8) + mobileTemplate.setDeathblow(True) + mobileTemplate.setScale(1) + mobileTemplate.setSocialGroup("imperial") + mobileTemplate.setAssistRange(0) + mobileTemplate.setStalker(True) + mobileTemplate.setFaction("imperial") + mobileTemplate.setFactionStatus(1) + + templates = Vector() + templates.add('object/mobile/shared_dressed_npe_imperial_officer.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/ranged/carbine/shared_carbine_e11.iff', 1, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('rangedshot') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('imp_corporal_66', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/generic/faction/imperial/imp_dead-eye_36.py b/scripts/mobiles/generic/faction/imperial/imp_dead-eye_36.py new file mode 100644 index 00000000..d10d1bd7 --- /dev/null +++ b/scripts/mobiles/generic/faction/imperial/imp_dead-eye_36.py @@ -0,0 +1,39 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('crackdown_imperial_sharpshooter_hard') + mobileTemplate.setLevel(36) + mobileTemplate.setDifficulty(1) + mobileTemplate.setAttackRange(15) + mobileTemplate.setAttackSpeed(1.0) + mobileTemplate.setWeaponType(1) + mobileTemplate.setMinSpawnDistance(4) + mobileTemplate.setMaxSpawnDistance(8) + mobileTemplate.setDeathblow(True) + mobileTemplate.setScale(1) + mobileTemplate.setSocialGroup("imperial") + mobileTemplate.setAssistRange(0) + mobileTemplate.setStalker(True) + mobileTemplate.setFaction("imperial") + mobileTemplate.setFactionStatus(1) + + templates = Vector() + templates.add('object/mobile/shared_dressed_npe_imperial_officer.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/ranged/carbine/shared_carbine_e11.iff', 1, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('rangedshot') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('imp_dead-eye_36', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/generic/faction/imperial/imp_dead-eye_78.py b/scripts/mobiles/generic/faction/imperial/imp_dead-eye_78.py new file mode 100644 index 00000000..30b40ec1 --- /dev/null +++ b/scripts/mobiles/generic/faction/imperial/imp_dead-eye_78.py @@ -0,0 +1,39 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('crackdown_imperial_sharpshooter_hard') + mobileTemplate.setLevel(78) + mobileTemplate.setDifficulty(1) + mobileTemplate.setAttackRange(15) + mobileTemplate.setAttackSpeed(1.0) + mobileTemplate.setWeaponType(1) + mobileTemplate.setMinSpawnDistance(4) + mobileTemplate.setMaxSpawnDistance(8) + mobileTemplate.setDeathblow(True) + mobileTemplate.setScale(1) + mobileTemplate.setSocialGroup("imperial") + mobileTemplate.setAssistRange(0) + mobileTemplate.setStalker(True) + mobileTemplate.setFaction("imperial") + mobileTemplate.setFactionStatus(1) + + templates = Vector() + templates.add('object/mobile/shared_dressed_npe_imperial_officer.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/ranged/carbine/shared_carbine_e11.iff', 1, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('rangedshot') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('imp_dead-eye_78', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/generic/faction/imperial/imp_exterminator.py b/scripts/mobiles/generic/faction/imperial/imp_exterminator.py new file mode 100644 index 00000000..3155520b --- /dev/null +++ b/scripts/mobiles/generic/faction/imperial/imp_exterminator.py @@ -0,0 +1,39 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('crackdown_imperial_exterminator') + mobileTemplate.setLevel(28) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(15) + mobileTemplate.setAttackSpeed(1.0) + mobileTemplate.setWeaponType(1) + mobileTemplate.setMinSpawnDistance(4) + mobileTemplate.setMaxSpawnDistance(8) + mobileTemplate.setDeathblow(True) + mobileTemplate.setScale(1) + mobileTemplate.setSocialGroup("imperial") + mobileTemplate.setAssistRange(0) + mobileTemplate.setStalker(True) + mobileTemplate.setFaction("imperial") + mobileTemplate.setFactionStatus(1) + + templates = Vector() + templates.add('object/mobile/shared_dressed_imperial_exterminator.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/ranged/carbine/shared_carbine_e11.iff', 1, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('rangedshot') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('imp_exterminator', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/generic/faction/imperial/imp_general.py b/scripts/mobiles/generic/faction/imperial/imp_general.py new file mode 100644 index 00000000..13254277 --- /dev/null +++ b/scripts/mobiles/generic/faction/imperial/imp_general.py @@ -0,0 +1,39 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('imperial_general') + mobileTemplate.setLevel(28) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(15) + mobileTemplate.setAttackSpeed(1.0) + mobileTemplate.setWeaponType(1) + mobileTemplate.setMinSpawnDistance(4) + mobileTemplate.setMaxSpawnDistance(8) + mobileTemplate.setDeathblow(True) + mobileTemplate.setScale(1) + mobileTemplate.setSocialGroup("imperial") + mobileTemplate.setAssistRange(0) + mobileTemplate.setStalker(False) + mobileTemplate.setFaction("imperial") + mobileTemplate.setFactionStatus(1) + + templates = Vector() + templates.add('object/mobile/shared_dressed_imperial_general_m.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/ranged/carbine/shared_carbine_e11.iff', 1, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('rangedshot') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('imp_general', mobileTemplate) + return \ No newline at end of file diff --git a/scripts/mobiles/generic/faction/imperial/imp_high_general.py b/scripts/mobiles/generic/faction/imperial/imp_high_general.py new file mode 100644 index 00000000..30603663 --- /dev/null +++ b/scripts/mobiles/generic/faction/imperial/imp_high_general.py @@ -0,0 +1,39 @@ +import sys +from services.spawn import MobileTemplate +from services.spawn import WeaponTemplate +from java.util import Vector + +def addTemplate(core): + mobileTemplate = MobileTemplate() + + mobileTemplate.setCreatureName('imperial_high_general') + mobileTemplate.setLevel(29) + mobileTemplate.setDifficulty(0) + mobileTemplate.setAttackRange(15) + mobileTemplate.setAttackSpeed(1.0) + mobileTemplate.setWeaponType(1) + mobileTemplate.setMinSpawnDistance(4) + mobileTemplate.setMaxSpawnDistance(8) + mobileTemplate.setDeathblow(True) + mobileTemplate.setScale(1) + mobileTemplate.setSocialGroup("imperial") + mobileTemplate.setAssistRange(0) + mobileTemplate.setStalker(False) + mobileTemplate.setFaction("imperial") + mobileTemplate.setFactionStatus(1) + + templates = Vector() + templates.add('object/mobile/shared_dressed_imperial_general_m.iff') + mobileTemplate.setTemplates(templates) + + weaponTemplates = Vector() + weapontemplate = WeaponTemplate('object/weapon/ranged/carbine/shared_carbine_e11.iff', 1, 1.0) + weaponTemplates.add(weapontemplate) + mobileTemplate.setWeaponTemplateVector(weaponTemplates) + + attacks = Vector() + mobileTemplate.setDefaultAttack('rangedshot') + mobileTemplate.setAttacks(attacks) + + core.spawnService.addMobileTemplate('imp_high_general', mobileTemplate) + return \ No newline at end of file From b8ff47bbdd4fa607cc2646a01d922d29c02cce24 Mon Sep 17 00:00:00 2001 From: tacef Date: Fri, 23 May 2014 15:45:37 +0200 Subject: [PATCH 4/5] Fixed Typo in Restuss Emperors Hand --- scripts/mobiles/rori/emperors_hand.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/mobiles/rori/emperors_hand.py b/scripts/mobiles/rori/emperors_hand.py index 3b80e747..d878eb8b 100644 --- a/scripts/mobiles/rori/emperors_hand.py +++ b/scripts/mobiles/rori/emperors_hand.py @@ -15,7 +15,7 @@ def addTemplate(core): mobileTemplate.setMinSpawnDistance(4) mobileTemplate.setMaxSpawnDistance(8) mobileTemplate.setDeathblow(True) - mobileTemplate.setScale(1.3) + mobileTemplate.setScale(1) mobileTemplate.setAssistRange(0) mobileTemplate.setStalker(True) mobileTemplate.setOptionsBitmask(192) From 7ec3c26eadb0ece607857f7959176046692809d2 Mon Sep 17 00:00:00 2001 From: CharonInferar Date: Fri, 23 May 2014 17:31:36 +0200 Subject: [PATCH 5/5] Placed more Lair areas on dantooine Replaced most dynamic mob spawn areas on dantooine with mixed spawn areas that spawn lairs and dnamic groups. --- options.cfg | 6 +++--- scripts/mobiles/lairgroups/bol_lair_group_1.py | 11 +++++++++++ .../lairgroups/dantooine_nw_lair_group_1.py | 13 +++++++++++++ scripts/mobiles/lairgroups/graul_lair_group_1.py | 11 +++++++++++ .../lairgroups/graul_mauler_lair_group_1.py | 11 +++++++++++ scripts/mobiles/lairgroups/huurton_lair_group_1.py | 11 +++++++++++ .../lairgroups/piket_longhorn_lair_group_1.py | 11 +++++++++++ scripts/mobiles/lairgroups/quenker_lair_group_1.py | 11 +++++++++++ scripts/mobiles/lairgroups/thune_lair_group_1.py | 11 +++++++++++ scripts/mobiles/lairgroups/voritor_lair_group_1.py | 11 +++++++++++ scripts/mobiles/lairgroups/voritor_lair_group_2.py | 11 +++++++++++ .../mobiles/lairs/dantooine_graul_mauler_lair_1.py | 5 +++++ .../lairs/dantooine_piket_plains_walker_lair_1.py | 7 +++++++ scripts/mobiles/lairs/dantooine_thune_lair_1.py | 9 +++++++++ scripts/mobiles/lairs/dantooine_voritor_lair_1.py | 5 +++++ scripts/mobiles/lairs/dantooine_voritor_lair_2.py | 11 +++++++++++ .../mobiles/spawnareas/dantooine_central_dyn_1.py | 12 ------------ .../mobiles/spawnareas/dantooine_central_dyn_2.py | 12 ------------ .../mobiles/spawnareas/dantooine_central_dyn_3.py | 12 ------------ .../spawnareas/dantooine_central_mixed_1.py | 11 +++++++++++ .../spawnareas/dantooine_central_mixed_2.py | 13 +++++++++++++ .../spawnareas/dantooine_central_mixed_3.py | 13 +++++++++++++ scripts/mobiles/spawnareas/dantooine_east_dyn_1.py | 9 --------- scripts/mobiles/spawnareas/dantooine_east_dyn_2.py | 10 ---------- scripts/mobiles/spawnareas/dantooine_east_dyn_3.py | 11 ----------- .../mobiles/spawnareas/dantooine_east_mixed_1.py | 10 ++++++++++ .../mobiles/spawnareas/dantooine_east_mixed_2.py | 9 +++++++++ .../mobiles/spawnareas/dantooine_east_mixed_3.py | 11 +++++++++++ .../mobiles/spawnareas/dantooine_north_dyn_1.py | 11 ----------- .../mobiles/spawnareas/dantooine_north_dyn_2.py | 12 ------------ .../mobiles/spawnareas/dantooine_north_dyn_3.py | 12 ------------ .../mobiles/spawnareas/dantooine_north_mixed_1.py | 11 +++++++++++ .../mobiles/spawnareas/dantooine_north_mixed_2.py | 12 ++++++++++++ .../mobiles/spawnareas/dantooine_north_mixed_3.py | 12 ++++++++++++ scripts/mobiles/spawnareas/dantooine_nw_dyn_1.py | 11 ----------- scripts/mobiles/spawnareas/dantooine_nw_mixed_1.py | 10 ++++++++++ .../mobiles/spawnareas/dantooine_south_dyn_1.py | 10 ---------- .../mobiles/spawnareas/dantooine_south_dyn_2.py | 14 -------------- .../mobiles/spawnareas/dantooine_south_mixed_1.py | 14 ++++++++++++++ .../mobiles/spawnareas/dantooine_south_mixed_3.py | 11 +++++++++++ scripts/mobiles/spawnareas/dantooine_sw_dyn_1.py | 12 ------------ scripts/mobiles/spawnareas/dantooine_sw_mixed_1.py | 12 ++++++++++++ scripts/mobiles/spawnareas/dantooine_west_dyn_1.py | 11 ----------- .../mobiles/spawnareas/dantooine_west_mixed_1.py | 12 ++++++++++++ 44 files changed, 313 insertions(+), 162 deletions(-) create mode 100644 scripts/mobiles/lairgroups/bol_lair_group_1.py create mode 100644 scripts/mobiles/lairgroups/dantooine_nw_lair_group_1.py create mode 100644 scripts/mobiles/lairgroups/graul_lair_group_1.py create mode 100644 scripts/mobiles/lairgroups/graul_mauler_lair_group_1.py create mode 100644 scripts/mobiles/lairgroups/huurton_lair_group_1.py create mode 100644 scripts/mobiles/lairgroups/piket_longhorn_lair_group_1.py create mode 100644 scripts/mobiles/lairgroups/quenker_lair_group_1.py create mode 100644 scripts/mobiles/lairgroups/thune_lair_group_1.py create mode 100644 scripts/mobiles/lairgroups/voritor_lair_group_1.py create mode 100644 scripts/mobiles/lairgroups/voritor_lair_group_2.py create mode 100644 scripts/mobiles/lairs/dantooine_graul_mauler_lair_1.py create mode 100644 scripts/mobiles/lairs/dantooine_piket_plains_walker_lair_1.py create mode 100644 scripts/mobiles/lairs/dantooine_thune_lair_1.py create mode 100644 scripts/mobiles/lairs/dantooine_voritor_lair_1.py create mode 100644 scripts/mobiles/lairs/dantooine_voritor_lair_2.py delete mode 100644 scripts/mobiles/spawnareas/dantooine_central_dyn_1.py delete mode 100644 scripts/mobiles/spawnareas/dantooine_central_dyn_2.py delete mode 100644 scripts/mobiles/spawnareas/dantooine_central_dyn_3.py create mode 100644 scripts/mobiles/spawnareas/dantooine_central_mixed_1.py create mode 100644 scripts/mobiles/spawnareas/dantooine_central_mixed_2.py create mode 100644 scripts/mobiles/spawnareas/dantooine_central_mixed_3.py delete mode 100644 scripts/mobiles/spawnareas/dantooine_east_dyn_1.py delete mode 100644 scripts/mobiles/spawnareas/dantooine_east_dyn_2.py delete mode 100644 scripts/mobiles/spawnareas/dantooine_east_dyn_3.py create mode 100644 scripts/mobiles/spawnareas/dantooine_east_mixed_1.py create mode 100644 scripts/mobiles/spawnareas/dantooine_east_mixed_2.py create mode 100644 scripts/mobiles/spawnareas/dantooine_east_mixed_3.py delete mode 100644 scripts/mobiles/spawnareas/dantooine_north_dyn_1.py delete mode 100644 scripts/mobiles/spawnareas/dantooine_north_dyn_2.py delete mode 100644 scripts/mobiles/spawnareas/dantooine_north_dyn_3.py create mode 100644 scripts/mobiles/spawnareas/dantooine_north_mixed_1.py create mode 100644 scripts/mobiles/spawnareas/dantooine_north_mixed_2.py create mode 100644 scripts/mobiles/spawnareas/dantooine_north_mixed_3.py delete mode 100644 scripts/mobiles/spawnareas/dantooine_nw_dyn_1.py create mode 100644 scripts/mobiles/spawnareas/dantooine_nw_mixed_1.py delete mode 100644 scripts/mobiles/spawnareas/dantooine_south_dyn_1.py delete mode 100644 scripts/mobiles/spawnareas/dantooine_south_dyn_2.py create mode 100644 scripts/mobiles/spawnareas/dantooine_south_mixed_1.py create mode 100644 scripts/mobiles/spawnareas/dantooine_south_mixed_3.py delete mode 100644 scripts/mobiles/spawnareas/dantooine_sw_dyn_1.py create mode 100644 scripts/mobiles/spawnareas/dantooine_sw_mixed_1.py delete mode 100644 scripts/mobiles/spawnareas/dantooine_west_dyn_1.py create mode 100644 scripts/mobiles/spawnareas/dantooine_west_mixed_1.py diff --git a/options.cfg b/options.cfg index 4a7be4e0..03abf4cf 100644 --- a/options.cfg +++ b/options.cfg @@ -1,7 +1,7 @@ -LOAD.SNAPSHOT_OBJECTS=0 -LOAD.BUILDOUT_OBJECTS=0 +LOAD.SNAPSHOT_OBJECTS=1 +LOAD.BUILDOUT_OBJECTS=1 #LOAD.BUILDOUT_ONLY_FOR="dantooine" LOAD.RESOURCE.SYSTEM=1 # Misc -CLEAN.ODB.FOLDERS=1 \ No newline at end of file +CLEAN.ODB.FOLDERS=0 \ No newline at end of file diff --git a/scripts/mobiles/lairgroups/bol_lair_group_1.py b/scripts/mobiles/lairgroups/bol_lair_group_1.py new file mode 100644 index 00000000..0aff2d4d --- /dev/null +++ b/scripts/mobiles/lairgroups/bol_lair_group_1.py @@ -0,0 +1,11 @@ +# Spawn Group file created with PSWG Planetary Spawn Tool +import sys +from services.spawn import LairSpawnTemplate +from java.util import Vector + +def addLairGroup(core): + spawnTemplates = Vector() + spawnTemplate = LairSpawnTemplate(-1, 'dantooine_bol_lair_1', -1, -1) + spawnTemplates.add(spawnTemplate) + core.spawnService.addLairGroup('bol_lair_group_1', spawnTemplates) + return diff --git a/scripts/mobiles/lairgroups/dantooine_nw_lair_group_1.py b/scripts/mobiles/lairgroups/dantooine_nw_lair_group_1.py new file mode 100644 index 00000000..bb93ad97 --- /dev/null +++ b/scripts/mobiles/lairgroups/dantooine_nw_lair_group_1.py @@ -0,0 +1,13 @@ +# Spawn Group file created with PSWG Planetary Spawn Tool +import sys +from services.spawn import LairSpawnTemplate +from java.util import Vector + +def addLairGroup(core): + spawnTemplates = Vector() + spawnTemplate = LairSpawnTemplate(-1, 'dantooine_graul_mauler_lair_1', -1, -1) + spawnTemplates.add(spawnTemplate) + spawnTemplate = LairSpawnTemplate(-1, 'dantooine_voritor_lair_1', -1, -1) + spawnTemplates.add(spawnTemplate) + core.spawnService.addLairGroup('dantooine_nw_lair_group_1', spawnTemplates) + return diff --git a/scripts/mobiles/lairgroups/graul_lair_group_1.py b/scripts/mobiles/lairgroups/graul_lair_group_1.py new file mode 100644 index 00000000..6700ed59 --- /dev/null +++ b/scripts/mobiles/lairgroups/graul_lair_group_1.py @@ -0,0 +1,11 @@ +# Spawn Group file created with PSWG Planetary Spawn Tool +import sys +from services.spawn import LairSpawnTemplate +from java.util import Vector + +def addLairGroup(core): + spawnTemplates = Vector() + spawnTemplate = LairSpawnTemplate(-1, 'dantooine_graul_lair_1', -1, -1) + spawnTemplates.add(spawnTemplate) + core.spawnService.addLairGroup('graul_lair_group_1', spawnTemplates) + return diff --git a/scripts/mobiles/lairgroups/graul_mauler_lair_group_1.py b/scripts/mobiles/lairgroups/graul_mauler_lair_group_1.py new file mode 100644 index 00000000..11142ef1 --- /dev/null +++ b/scripts/mobiles/lairgroups/graul_mauler_lair_group_1.py @@ -0,0 +1,11 @@ +# Spawn Group file created with PSWG Planetary Spawn Tool +import sys +from services.spawn import LairSpawnTemplate +from java.util import Vector + +def addLairGroup(core): + spawnTemplates = Vector() + spawnTemplate = LairSpawnTemplate(-1, 'dantooine_graul_lair_1', -1, -1) + spawnTemplates.add(spawnTemplate) + core.spawnService.addLairGroup('graul_mauler_lair_group_1', spawnTemplates) + return diff --git a/scripts/mobiles/lairgroups/huurton_lair_group_1.py b/scripts/mobiles/lairgroups/huurton_lair_group_1.py new file mode 100644 index 00000000..662e23c1 --- /dev/null +++ b/scripts/mobiles/lairgroups/huurton_lair_group_1.py @@ -0,0 +1,11 @@ +# Spawn Group file created with PSWG Planetary Spawn Tool +import sys +from services.spawn import LairSpawnTemplate +from java.util import Vector + +def addLairGroup(core): + spawnTemplates = Vector() + spawnTemplate = LairSpawnTemplate(-1, 'dantooine_huurton_lair_1', -1, -1) + spawnTemplates.add(spawnTemplate) + core.spawnService.addLairGroup('huurton_lair_group_1', spawnTemplates) + return diff --git a/scripts/mobiles/lairgroups/piket_longhorn_lair_group_1.py b/scripts/mobiles/lairgroups/piket_longhorn_lair_group_1.py new file mode 100644 index 00000000..d63ad6e7 --- /dev/null +++ b/scripts/mobiles/lairgroups/piket_longhorn_lair_group_1.py @@ -0,0 +1,11 @@ +# Spawn Group file created with PSWG Planetary Spawn Tool +import sys +from services.spawn import LairSpawnTemplate +from java.util import Vector + +def addLairGroup(core): + spawnTemplates = Vector() + spawnTemplate = LairSpawnTemplate(-1, 'dantooine_piket_longhorn_lair_1', -1, -1) + spawnTemplates.add(spawnTemplate) + core.spawnService.addLairGroup('piket_longhorn_lair_group_1', spawnTemplates) + return diff --git a/scripts/mobiles/lairgroups/quenker_lair_group_1.py b/scripts/mobiles/lairgroups/quenker_lair_group_1.py new file mode 100644 index 00000000..ba1bf3e8 --- /dev/null +++ b/scripts/mobiles/lairgroups/quenker_lair_group_1.py @@ -0,0 +1,11 @@ +# Spawn Group file created with PSWG Planetary Spawn Tool +import sys +from services.spawn import LairSpawnTemplate +from java.util import Vector + +def addLairGroup(core): + spawnTemplates = Vector() + spawnTemplate = LairSpawnTemplate(-1, 'dantooine_quenker_lair_1', -1, -1) + spawnTemplates.add(spawnTemplate) + core.spawnService.addLairGroup('quenker_lair_group_1', spawnTemplates) + return diff --git a/scripts/mobiles/lairgroups/thune_lair_group_1.py b/scripts/mobiles/lairgroups/thune_lair_group_1.py new file mode 100644 index 00000000..4d0b1767 --- /dev/null +++ b/scripts/mobiles/lairgroups/thune_lair_group_1.py @@ -0,0 +1,11 @@ +# Spawn Group file created with PSWG Planetary Spawn Tool +import sys +from services.spawn import LairSpawnTemplate +from java.util import Vector + +def addLairGroup(core): + spawnTemplates = Vector() + spawnTemplate = LairSpawnTemplate(-1, 'dantooine_thune_lair_1', -1, -1) + spawnTemplates.add(spawnTemplate) + core.spawnService.addLairGroup('thune_lair_group_1', spawnTemplates) + return diff --git a/scripts/mobiles/lairgroups/voritor_lair_group_1.py b/scripts/mobiles/lairgroups/voritor_lair_group_1.py new file mode 100644 index 00000000..028ceab1 --- /dev/null +++ b/scripts/mobiles/lairgroups/voritor_lair_group_1.py @@ -0,0 +1,11 @@ +# Spawn Group file created with PSWG Planetary Spawn Tool +import sys +from services.spawn import LairSpawnTemplate +from java.util import Vector + +def addLairGroup(core): + spawnTemplates = Vector() + spawnTemplate = LairSpawnTemplate(-1, 'dantooine_voritor_lair_1', -1, -1) + spawnTemplates.add(spawnTemplate) + core.spawnService.addLairGroup('voritor_lair_group_1', spawnTemplates) + return diff --git a/scripts/mobiles/lairgroups/voritor_lair_group_2.py b/scripts/mobiles/lairgroups/voritor_lair_group_2.py new file mode 100644 index 00000000..ece717a5 --- /dev/null +++ b/scripts/mobiles/lairgroups/voritor_lair_group_2.py @@ -0,0 +1,11 @@ +# Spawn Group file created with PSWG Planetary Spawn Tool +import sys +from services.spawn import LairSpawnTemplate +from java.util import Vector + +def addLairGroup(core): + spawnTemplates = Vector() + spawnTemplate = LairSpawnTemplate(-1, 'dantooine_voritor_lair_2', -1, -1) + spawnTemplates.add(spawnTemplate) + core.spawnService.addLairGroup('voritor_lair_group_2', spawnTemplates) + return diff --git a/scripts/mobiles/lairs/dantooine_graul_mauler_lair_1.py b/scripts/mobiles/lairs/dantooine_graul_mauler_lair_1.py new file mode 100644 index 00000000..dfad5707 --- /dev/null +++ b/scripts/mobiles/lairs/dantooine_graul_mauler_lair_1.py @@ -0,0 +1,5 @@ +import sys +from java.util import Vector + +def addTemplate(core): + core.spawnService.addLairTemplate('dantooine_graul_mauler_lair_1', 'graul_mauler', 15, 'object/tangible/lair/base/shared_poi_all_lair_brambles_small.iff') \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_piket_plains_walker_lair_1.py b/scripts/mobiles/lairs/dantooine_piket_plains_walker_lair_1.py new file mode 100644 index 00000000..b837fe8c --- /dev/null +++ b/scripts/mobiles/lairs/dantooine_piket_plains_walker_lair_1.py @@ -0,0 +1,7 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('piket_plains_walker') + core.spawnService.addLairTemplate('dantooine_piket_plains_walker_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/shared_earthmound_light.iff') \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_thune_lair_1.py b/scripts/mobiles/lairs/dantooine_thune_lair_1.py new file mode 100644 index 00000000..93962a7a --- /dev/null +++ b/scripts/mobiles/lairs/dantooine_thune_lair_1.py @@ -0,0 +1,9 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('thune') + mobileTemplates.add('thune_grassland_guardian') + mobileTemplates.add('thune_herd_leader') + core.spawnService.addLairTemplate('dantooine_thune_lair_1', mobileTemplates, 15, 'object/tangible/lair/base/shared_earthmound_light.iff') \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_voritor_lair_1.py b/scripts/mobiles/lairs/dantooine_voritor_lair_1.py new file mode 100644 index 00000000..8e1afee4 --- /dev/null +++ b/scripts/mobiles/lairs/dantooine_voritor_lair_1.py @@ -0,0 +1,5 @@ +import sys +from java.util import Vector + +def addTemplate(core): + core.spawnService.addLairTemplate('dantooine_voritor_lair_1', 'voritor_lizard', 15, 'object/tangible/lair/base/shared_poi_all_lair_brambles_small.iff') \ No newline at end of file diff --git a/scripts/mobiles/lairs/dantooine_voritor_lair_2.py b/scripts/mobiles/lairs/dantooine_voritor_lair_2.py new file mode 100644 index 00000000..9352c9f3 --- /dev/null +++ b/scripts/mobiles/lairs/dantooine_voritor_lair_2.py @@ -0,0 +1,11 @@ +import sys +from java.util import Vector + +def addTemplate(core): + mobileTemplates = Vector() + mobileTemplates.add('voritor_lizard') + mobileTemplates.add('horned_voritor_jungle_lizard') + mobileTemplates.add('vexed_voritor_lizard') + mobileTemplates.add('voritor_dasher') + mobileTemplates.add('spiked_slasher') + core.spawnService.addLairTemplate('dantooine_voritor_lair_2', mobileTemplates, 15, 'object/tangible/lair/base/shared_poi_all_lair_brambles_small.iff') \ No newline at end of file diff --git a/scripts/mobiles/spawnareas/dantooine_central_dyn_1.py b/scripts/mobiles/spawnareas/dantooine_central_dyn_1.py deleted file mode 100644 index 60f3233e..00000000 --- a/scripts/mobiles/spawnareas/dantooine_central_dyn_1.py +++ /dev/null @@ -1,12 +0,0 @@ -# Spawn Area file created with PSWG Planetary Spawn Tool -import sys -from java.util import Vector - -def addSpawnArea(core): - dynamicGroups = Vector() - dynamicGroups.add('frenzied_graul_1') - dynamicGroups.add('thunes_1') - dynamicGroups.add('kunga_central_group_1') - dynamicGroups.add('huurton_group_1') - core.spawnService.addDynamicSpawnArea(dynamicGroups, 1064, -839, 2273, 'dantooine') - return diff --git a/scripts/mobiles/spawnareas/dantooine_central_dyn_2.py b/scripts/mobiles/spawnareas/dantooine_central_dyn_2.py deleted file mode 100644 index 30dc142b..00000000 --- a/scripts/mobiles/spawnareas/dantooine_central_dyn_2.py +++ /dev/null @@ -1,12 +0,0 @@ -# Spawn Area file created with PSWG Planetary Spawn Tool -import sys -from java.util import Vector - -def addSpawnArea(core): - dynamicGroups = Vector() - dynamicGroups.add('bol_group_1') - dynamicGroups.add('piket_longhorn_group_1') - dynamicGroups.add('huurton_group_2') - dynamicGroups.add('kunga_central_group_1') - core.spawnService.addDynamicSpawnArea(dynamicGroups, -2539, 716, 2109, 'dantooine') - return diff --git a/scripts/mobiles/spawnareas/dantooine_central_dyn_3.py b/scripts/mobiles/spawnareas/dantooine_central_dyn_3.py deleted file mode 100644 index 0bdc52f1..00000000 --- a/scripts/mobiles/spawnareas/dantooine_central_dyn_3.py +++ /dev/null @@ -1,12 +0,0 @@ -# Spawn Area file created with PSWG Planetary Spawn Tool -import sys -from java.util import Vector - -def addSpawnArea(core): - dynamicGroups = Vector() - dynamicGroups.add('mokk_group_1') - dynamicGroups.add('bol_group_1') - dynamicGroups.add('piket_longhorn_group_1') - dynamicGroups.add('huurton_group_2') - core.spawnService.addDynamicSpawnArea(dynamicGroups, -1320, -3981, 1843, 'dantooine') - return diff --git a/scripts/mobiles/spawnareas/dantooine_central_mixed_1.py b/scripts/mobiles/spawnareas/dantooine_central_mixed_1.py new file mode 100644 index 00000000..5a45beeb --- /dev/null +++ b/scripts/mobiles/spawnareas/dantooine_central_mixed_1.py @@ -0,0 +1,11 @@ +# Spawn Area file created with PSWG Planetary Spawn Tool +import sys +from java.util import Vector + +def addSpawnArea(core): + mixedGroups = Vector() + mixedGroups.add('huurton_lair_group_1') + mixedGroups.add('piket_longhorn_lair_group_1') + mixedGroups.add('bol_lair_group_1') + core.spawnService.addMixedSpawnArea(mixedGroups, -2580, 737, 2068, 'dantooine') + return diff --git a/scripts/mobiles/spawnareas/dantooine_central_mixed_2.py b/scripts/mobiles/spawnareas/dantooine_central_mixed_2.py new file mode 100644 index 00000000..8da5820c --- /dev/null +++ b/scripts/mobiles/spawnareas/dantooine_central_mixed_2.py @@ -0,0 +1,13 @@ +# Spawn Area file created with PSWG Planetary Spawn Tool +import sys +from java.util import Vector + +def addSpawnArea(core): + mixedGroups = Vector() + mixedGroups.add('kunga_central_group_1') + mixedGroups.add('huurton_lair_group_1') + mixedGroups.add('thune_lair_group_1') + mixedGroups.add('graul_lair_group_1') + mixedGroups.add('huurton_group_2') + core.spawnService.addMixedSpawnArea(mixedGroups, 1044, -798, 2252, 'dantooine') + return diff --git a/scripts/mobiles/spawnareas/dantooine_central_mixed_3.py b/scripts/mobiles/spawnareas/dantooine_central_mixed_3.py new file mode 100644 index 00000000..7730e79a --- /dev/null +++ b/scripts/mobiles/spawnareas/dantooine_central_mixed_3.py @@ -0,0 +1,13 @@ +# Spawn Area file created with PSWG Planetary Spawn Tool +import sys +from java.util import Vector + +def addSpawnArea(core): + mixedGroups = Vector() + mixedGroups.add('mokk_group_1') + mixedGroups.add('piket_longhorn_lair_group_1') + mixedGroups.add('huurton_lair_group_1') + mixedGroups.add('bol_lair_group_1') + mixedGroups.add('huurton_group_1') + core.spawnService.addMixedSpawnArea(mixedGroups, -1740, -3297, 1822, 'dantooine') + return diff --git a/scripts/mobiles/spawnareas/dantooine_east_dyn_1.py b/scripts/mobiles/spawnareas/dantooine_east_dyn_1.py deleted file mode 100644 index ad103142..00000000 --- a/scripts/mobiles/spawnareas/dantooine_east_dyn_1.py +++ /dev/null @@ -1,9 +0,0 @@ -# Spawn Area file created with PSWG Planetary Spawn Tool -import sys -from java.util import Vector - -def addSpawnArea(core): - dynamicGroups = Vector() - dynamicGroups.add('voritors_east_group_1') - core.spawnService.addDynamicSpawnArea(dynamicGroups, 5713, -1146, 2416, 'dantooine') - return diff --git a/scripts/mobiles/spawnareas/dantooine_east_dyn_2.py b/scripts/mobiles/spawnareas/dantooine_east_dyn_2.py deleted file mode 100644 index 15e6bece..00000000 --- a/scripts/mobiles/spawnareas/dantooine_east_dyn_2.py +++ /dev/null @@ -1,10 +0,0 @@ -# Spawn Area file created with PSWG Planetary Spawn Tool -import sys -from java.util import Vector - -def addSpawnArea(core): - dynamicGroups = Vector() - dynamicGroups.add('voritors_east_group_1') - dynamicGroups.add('jantas_nw_group_1') - core.spawnService.addDynamicSpawnArea(dynamicGroups, 5324, -5775, 2560, 'dantooine') - return diff --git a/scripts/mobiles/spawnareas/dantooine_east_dyn_3.py b/scripts/mobiles/spawnareas/dantooine_east_dyn_3.py deleted file mode 100644 index 51e027c3..00000000 --- a/scripts/mobiles/spawnareas/dantooine_east_dyn_3.py +++ /dev/null @@ -1,11 +0,0 @@ -# Spawn Area file created with PSWG Planetary Spawn Tool -import sys -from java.util import Vector - -def addSpawnArea(core): - dynamicGroups = Vector() - dynamicGroups.add('piket_plains_walker_group') - dynamicGroups.add('quenker_relic_reaper_group') - dynamicGroups.add('thune_group_2') - core.spawnService.addDynamicSpawnArea(dynamicGroups, 3461, 1331, 2662, 'dantooine') - return diff --git a/scripts/mobiles/spawnareas/dantooine_east_mixed_1.py b/scripts/mobiles/spawnareas/dantooine_east_mixed_1.py new file mode 100644 index 00000000..b80c96c0 --- /dev/null +++ b/scripts/mobiles/spawnareas/dantooine_east_mixed_1.py @@ -0,0 +1,10 @@ +# Spawn Area file created with PSWG Planetary Spawn Tool +import sys +from java.util import Vector + +def addSpawnArea(core): + mixedGroups = Vector() + mixedGroups.add('voritors_east_group_1') + mixedGroups.add('voritor_lair_group_1') + core.spawnService.addMixedSpawnArea(mixedGroups, 5672, -1146, 2396, 'dantooine') + return diff --git a/scripts/mobiles/spawnareas/dantooine_east_mixed_2.py b/scripts/mobiles/spawnareas/dantooine_east_mixed_2.py new file mode 100644 index 00000000..5dabb9c8 --- /dev/null +++ b/scripts/mobiles/spawnareas/dantooine_east_mixed_2.py @@ -0,0 +1,9 @@ +# Spawn Area file created with PSWG Planetary Spawn Tool +import sys +from java.util import Vector + +def addSpawnArea(core): + mixedGroups = Vector() + mixedGroups.add('voritor_lair_group_2') + core.spawnService.addMixedSpawnArea(mixedGroups, 5345, -5795, 2560, 'dantooine') + return diff --git a/scripts/mobiles/spawnareas/dantooine_east_mixed_3.py b/scripts/mobiles/spawnareas/dantooine_east_mixed_3.py new file mode 100644 index 00000000..b2debb9f --- /dev/null +++ b/scripts/mobiles/spawnareas/dantooine_east_mixed_3.py @@ -0,0 +1,11 @@ +# Spawn Area file created with PSWG Planetary Spawn Tool +import sys +from java.util import Vector + +def addSpawnArea(core): + mixedGroups = Vector() + mixedGroups.add('piket_plains_walker_lair_group') + mixedGroups.add('quenker_relic_reaper_group') + mixedGroups.add('thune_lair_group_1') + core.spawnService.addMixedSpawnArea(mixedGroups, 3440, 1310, 2641, 'dantooine') + return diff --git a/scripts/mobiles/spawnareas/dantooine_north_dyn_1.py b/scripts/mobiles/spawnareas/dantooine_north_dyn_1.py deleted file mode 100644 index cb16dfb9..00000000 --- a/scripts/mobiles/spawnareas/dantooine_north_dyn_1.py +++ /dev/null @@ -1,11 +0,0 @@ -# Spawn Area file created with PSWG Planetary Spawn Tool -import sys -from java.util import Vector - -def addSpawnArea(core): - dynamicGroups = Vector() - dynamicGroups.add('force_sensitives_wild_1') - dynamicGroups.add('graul_mauler_nw_group_1') - dynamicGroups.add('voritors_wild_1') - core.spawnService.addDynamicSpawnArea(dynamicGroups, 61, 6615, 1966, 'dantooine') - return diff --git a/scripts/mobiles/spawnareas/dantooine_north_dyn_2.py b/scripts/mobiles/spawnareas/dantooine_north_dyn_2.py deleted file mode 100644 index 9a2115ba..00000000 --- a/scripts/mobiles/spawnareas/dantooine_north_dyn_2.py +++ /dev/null @@ -1,12 +0,0 @@ -# Spawn Area file created with PSWG Planetary Spawn Tool -import sys -from java.util import Vector - -def addSpawnArea(core): - dynamicGroups = Vector() - dynamicGroups.add('huurton_group_1') - dynamicGroups.add('quenker_group_south_1') - dynamicGroups.add('mokk_group_1') - dynamicGroups.add('bol_group_1') - core.spawnService.addDynamicSpawnArea(dynamicGroups, -1433, 3809, 1064, 'dantooine') - return diff --git a/scripts/mobiles/spawnareas/dantooine_north_dyn_3.py b/scripts/mobiles/spawnareas/dantooine_north_dyn_3.py deleted file mode 100644 index 89083ea3..00000000 --- a/scripts/mobiles/spawnareas/dantooine_north_dyn_3.py +++ /dev/null @@ -1,12 +0,0 @@ -# Spawn Area file created with PSWG Planetary Spawn Tool -import sys -from java.util import Vector - -def addSpawnArea(core): - dynamicGroups = Vector() - dynamicGroups.add('mokk_group_1') - dynamicGroups.add('huurton_group_1') - dynamicGroups.add('bol_group_1') - dynamicGroups.add('quenker_group_south_1') - core.spawnService.addDynamicSpawnArea(dynamicGroups, 778, 4280, 1187, 'dantooine') - return diff --git a/scripts/mobiles/spawnareas/dantooine_north_mixed_1.py b/scripts/mobiles/spawnareas/dantooine_north_mixed_1.py new file mode 100644 index 00000000..0105e3c0 --- /dev/null +++ b/scripts/mobiles/spawnareas/dantooine_north_mixed_1.py @@ -0,0 +1,11 @@ +# Spawn Area file created with PSWG Planetary Spawn Tool +import sys +from java.util import Vector + +def addSpawnArea(core): + mixedGroups = Vector() + mixedGroups.add('force_sensitives_wild_1') + mixedGroups.add('graul_mauler_lair_group_1') + mixedGroups.add('graul_mauler_nw_group_1') + core.spawnService.addMixedSpawnArea(mixedGroups, 20, 6574, 1966, 'dantooine') + return diff --git a/scripts/mobiles/spawnareas/dantooine_north_mixed_2.py b/scripts/mobiles/spawnareas/dantooine_north_mixed_2.py new file mode 100644 index 00000000..f24e179b --- /dev/null +++ b/scripts/mobiles/spawnareas/dantooine_north_mixed_2.py @@ -0,0 +1,12 @@ +# Spawn Area file created with PSWG Planetary Spawn Tool +import sys +from java.util import Vector + +def addSpawnArea(core): + mixedGroups = Vector() + mixedGroups.add('huurton_lair_group_1') + mixedGroups.add('bol_lair_group_1') + mixedGroups.add('mokk_group_1') + mixedGroups.add('quenker_lair_group_1') + core.spawnService.addMixedSpawnArea(mixedGroups, -1454, 3829, 1044, 'dantooine') + return diff --git a/scripts/mobiles/spawnareas/dantooine_north_mixed_3.py b/scripts/mobiles/spawnareas/dantooine_north_mixed_3.py new file mode 100644 index 00000000..237654cb --- /dev/null +++ b/scripts/mobiles/spawnareas/dantooine_north_mixed_3.py @@ -0,0 +1,12 @@ +# Spawn Area file created with PSWG Planetary Spawn Tool +import sys +from java.util import Vector + +def addSpawnArea(core): + mixedGroups = Vector() + mixedGroups.add('quenker_lair_group_1') + mixedGroups.add('huurton_lair_group_1') + mixedGroups.add('bol_lair_group_1') + mixedGroups.add('mokk_group_1') + core.spawnService.addMixedSpawnArea(mixedGroups, 757, 4321, 1167, 'dantooine') + return diff --git a/scripts/mobiles/spawnareas/dantooine_nw_dyn_1.py b/scripts/mobiles/spawnareas/dantooine_nw_dyn_1.py deleted file mode 100644 index 2a53c883..00000000 --- a/scripts/mobiles/spawnareas/dantooine_nw_dyn_1.py +++ /dev/null @@ -1,11 +0,0 @@ -# Spawn Area file created with PSWG Planetary Spawn Tool -import sys -from java.util import Vector - -def addSpawnArea(core): - dynamicGroups = Vector() - dynamicGroups.add('voritor_nw_group_1') - dynamicGroups.add('graul_mauler_nw_group_1') - dynamicGroups.add('jantas_nw_group_1') - core.spawnService.addDynamicSpawnArea(dynamicGroups, -4751, 4935, 3215, 'dantooine') - return diff --git a/scripts/mobiles/spawnareas/dantooine_nw_mixed_1.py b/scripts/mobiles/spawnareas/dantooine_nw_mixed_1.py new file mode 100644 index 00000000..1ffb716c --- /dev/null +++ b/scripts/mobiles/spawnareas/dantooine_nw_mixed_1.py @@ -0,0 +1,10 @@ +# Spawn Area file created with PSWG Planetary Spawn Tool +import sys +from java.util import Vector + +def addSpawnArea(core): + mixedGroups = Vector() + mixedGroups.add('dantooine_nw_lair_group_1') + mixedGroups.add('jantas_nw_group_1') + core.spawnService.addMixedSpawnArea(mixedGroups, -4751, 4935, 3200, 'dantooine') + return diff --git a/scripts/mobiles/spawnareas/dantooine_south_dyn_1.py b/scripts/mobiles/spawnareas/dantooine_south_dyn_1.py deleted file mode 100644 index a0720f13..00000000 --- a/scripts/mobiles/spawnareas/dantooine_south_dyn_1.py +++ /dev/null @@ -1,10 +0,0 @@ -# Spawn Area file created with PSWG Planetary Spawn Tool -import sys -from java.util import Vector - -def addSpawnArea(core): - dynamicGroups = Vector() - dynamicGroups.add('huurton_group_1') - dynamicGroups.add('quenker_group_south_1') - core.spawnService.addDynamicSpawnArea(dynamicGroups, 1904, -3624, 2211, 'dantooine') - return diff --git a/scripts/mobiles/spawnareas/dantooine_south_dyn_2.py b/scripts/mobiles/spawnareas/dantooine_south_dyn_2.py deleted file mode 100644 index 15810219..00000000 --- a/scripts/mobiles/spawnareas/dantooine_south_dyn_2.py +++ /dev/null @@ -1,14 +0,0 @@ -# Spawn Area file created with PSWG Planetary Spawn Tool -import sys -from java.util import Vector - -def addSpawnArea(core): - dynamicGroups = Vector() - dynamicGroups.add('jantas_nw_group_1') - dynamicGroups.add('graul_mauler_nw_group_1') - dynamicGroups.add('quenker_relic_reaper_group') - dynamicGroups.add('thune_group_2') - dynamicGroups.add('bol_group_1') - dynamicGroups.add('voritors_wild_1') - core.spawnService.addDynamicSpawnArea(dynamicGroups, -2109, -7045, 2600, 'dantooine') - return diff --git a/scripts/mobiles/spawnareas/dantooine_south_mixed_1.py b/scripts/mobiles/spawnareas/dantooine_south_mixed_1.py new file mode 100644 index 00000000..28c50059 --- /dev/null +++ b/scripts/mobiles/spawnareas/dantooine_south_mixed_1.py @@ -0,0 +1,14 @@ +# Spawn Area file created with PSWG Planetary Spawn Tool +import sys +from java.util import Vector + +def addSpawnArea(core): + mixedGroups = Vector() + mixedGroups.add('jantas_nw_group_1') + mixedGroups.add('graul_mauler_lair_group_1') + mixedGroups.add('quenker_relic_reaper_group') + mixedGroups.add('voritor_lair_group_1') + mixedGroups.add('thune_lair_group_1') + mixedGroups.add('bol_lair_group_1') + core.spawnService.addMixedSpawnArea(mixedGroups, -2109, -6983, 2580, 'dantooine') + return diff --git a/scripts/mobiles/spawnareas/dantooine_south_mixed_3.py b/scripts/mobiles/spawnareas/dantooine_south_mixed_3.py new file mode 100644 index 00000000..addd1210 --- /dev/null +++ b/scripts/mobiles/spawnareas/dantooine_south_mixed_3.py @@ -0,0 +1,11 @@ +# Spawn Area file created with PSWG Planetary Spawn Tool +import sys +from java.util import Vector + +def addSpawnArea(core): + mixedGroups = Vector() + mixedGroups.add('quenker_lair_group_1') + mixedGroups.add('huurton_lair_group_1') + mixedGroups.add('quenker_group_south_1') + core.spawnService.addMixedSpawnArea(mixedGroups, 1495, -3502, 2396, 'dantooine') + return diff --git a/scripts/mobiles/spawnareas/dantooine_sw_dyn_1.py b/scripts/mobiles/spawnareas/dantooine_sw_dyn_1.py deleted file mode 100644 index e68d67d8..00000000 --- a/scripts/mobiles/spawnareas/dantooine_sw_dyn_1.py +++ /dev/null @@ -1,12 +0,0 @@ -# Spawn Area file created with PSWG Planetary Spawn Tool -import sys -from java.util import Vector - -def addSpawnArea(core): - dynamicGroups = Vector() - dynamicGroups.add('mokk_group_1') - dynamicGroups.add('voritors_wild_1') - dynamicGroups.add('quenker_relic_reaper_group') - dynamicGroups.add('graul_mauler_nw_group_1') - core.spawnService.addDynamicSpawnArea(dynamicGroups, -5898, -4218, 2191, 'dantooine') - return diff --git a/scripts/mobiles/spawnareas/dantooine_sw_mixed_1.py b/scripts/mobiles/spawnareas/dantooine_sw_mixed_1.py new file mode 100644 index 00000000..57fa09a7 --- /dev/null +++ b/scripts/mobiles/spawnareas/dantooine_sw_mixed_1.py @@ -0,0 +1,12 @@ +# Spawn Area file created with PSWG Planetary Spawn Tool +import sys +from java.util import Vector + +def addSpawnArea(core): + mixedGroups = Vector() + mixedGroups.add('mokk_group_1') + mixedGroups.add('voritor_lair_group_1') + mixedGroups.add('graul_mauler_lair_group_1') + mixedGroups.add('quenker_relic_reaper_group') + core.spawnService.addMixedSpawnArea(mixedGroups, -5877, -4239, 2170, 'dantooine') + return diff --git a/scripts/mobiles/spawnareas/dantooine_west_dyn_1.py b/scripts/mobiles/spawnareas/dantooine_west_dyn_1.py deleted file mode 100644 index 172cdf5e..00000000 --- a/scripts/mobiles/spawnareas/dantooine_west_dyn_1.py +++ /dev/null @@ -1,11 +0,0 @@ -# Spawn Area file created with PSWG Planetary Spawn Tool -import sys -from java.util import Vector - -def addSpawnArea(core): - dynamicGroups = Vector() - dynamicGroups.add('kunga_central_group_1') - dynamicGroups.add('piket_longhorn_group_1') - dynamicGroups.add('thunes_1') - core.spawnService.addDynamicSpawnArea(dynamicGroups, -6369, -102, 1966, 'dantooine') - return diff --git a/scripts/mobiles/spawnareas/dantooine_west_mixed_1.py b/scripts/mobiles/spawnareas/dantooine_west_mixed_1.py new file mode 100644 index 00000000..a0e8156a --- /dev/null +++ b/scripts/mobiles/spawnareas/dantooine_west_mixed_1.py @@ -0,0 +1,12 @@ +# Spawn Area file created with PSWG Planetary Spawn Tool +import sys +from java.util import Vector + +def addSpawnArea(core): + mixedGroups = Vector() + mixedGroups.add('kunga_central_group_1') + mixedGroups.add('piket_longhorn_lair_group_1') + mixedGroups.add('thune_lair_group_1') + mixedGroups.add('piket_longhorn_group_1') + core.spawnService.addMixedSpawnArea(mixedGroups, -6410, 0, 1986, 'dantooine') + return