Merge remote-tracking branch 'origin/master' into TuningProcess

This commit is contained in:
CharonInferar
2014-05-06 16:14:39 +02:00
17 changed files with 56 additions and 179 deletions
@@ -1,16 +0,0 @@
import sys
from services.spawn import DynamicSpawnGroup
from services.spawn import MobileTemplate
from java.util import Vector
def addDynamicGroup(core):
dynamicGroup = DynamicSpawnGroup()
mobileTemplates = Vector()
mobileTemplates.add('carrion_kreetle')
dynamicGroup.setMobiles(mobileTemplates)
dynamicGroup.setGroupMembersNumber(1)
dynamicGroup.setName('mos_eisley_carrion_kreetle_01')
dynamicGroup.setMaxSpawns(-1)
dynamicGroup.setMinSpawnDistance(5)
core.spawnService.addDynamicGroup('mos_eisley_carrion_kreetle_01', dynamicGroup)
return
@@ -1,16 +0,0 @@
import sys
from services.spawn import DynamicSpawnGroup
from services.spawn import MobileTemplate
from java.util import Vector
def addDynamicGroup(core):
dynamicGroup = DynamicSpawnGroup()
mobileTemplates = Vector()
mobileTemplates.add('city_sewer_swamprat')
dynamicGroup.setMobiles(mobileTemplates)
dynamicGroup.setGroupMembersNumber(1)
dynamicGroup.setName('mos_eisley_city_sewer_rats_01')
dynamicGroup.setMaxSpawns(-1)
dynamicGroup.setMinSpawnDistance(5)
core.spawnService.addDynamicGroup('mos_eisley_city_sewer_rats_01', dynamicGroup)
return
@@ -1,16 +0,0 @@
import sys
from services.spawn import DynamicSpawnGroup
from services.spawn import MobileTemplate
from java.util import Vector
def addDynamicGroup(core):
dynamicGroup = DynamicSpawnGroup()
mobileTemplates = Vector()
mobileTemplates.add('mound_mite')
dynamicGroup.setMobiles(mobileTemplates)
dynamicGroup.setGroupMembersNumber(1)
dynamicGroup.setName('mos_eisley_mound_mites_01')
dynamicGroup.setMaxSpawns(-1)
dynamicGroup.setMinSpawnDistance(5)
core.spawnService.addDynamicGroup('mos_eisley_mound_mites_01', dynamicGroup)
return
@@ -1,16 +0,0 @@
import sys
from services.spawn import DynamicSpawnGroup
from services.spawn import MobileTemplate
from java.util import Vector
def addDynamicGroup(core):
dynamicGroup = DynamicSpawnGroup()
mobileTemplates = Vector()
mobileTemplates.add('rockmite')
dynamicGroup.setMobiles(mobileTemplates)
dynamicGroup.setGroupMembersNumber(1)
dynamicGroup.setName('mos_eisley_rock_mites_01')
dynamicGroup.setMaxSpawns(-1)
dynamicGroup.setMinSpawnDistance(5)
core.spawnService.addDynamicGroup('mos_eisley_rock_mites_01', dynamicGroup)
return
@@ -1,16 +0,0 @@
import sys
from services.spawn import DynamicSpawnGroup
from services.spawn import MobileTemplate
from java.util import Vector
def addDynamicGroup(core):
dynamicGroup = DynamicSpawnGroup()
mobileTemplates = Vector()
mobileTemplates.add('sickly_womprat')
dynamicGroup.setMobiles(mobileTemplates)
dynamicGroup.setGroupMembersNumber(1)
dynamicGroup.setName('mos_eisley_sickly_womp_rats_01')
dynamicGroup.setMaxSpawns(-1)
dynamicGroup.setMinSpawnDistance(5)
core.spawnService.addDynamicGroup('mos_eisley_sickly_womp_rats_01', dynamicGroup)
return
@@ -1,16 +0,0 @@
import sys
from services.spawn import DynamicSpawnGroup
from services.spawn import MobileTemplate
from java.util import Vector
def addDynamicGroup(core):
dynamicGroup = DynamicSpawnGroup()
mobileTemplates = Vector()
mobileTemplates.add('tame_worrt')
dynamicGroup.setMobiles(mobileTemplates)
dynamicGroup.setGroupMembersNumber(1)
dynamicGroup.setName('mos_eisley_tame_worrts_01')
dynamicGroup.setMaxSpawns(-1)
dynamicGroup.setMinSpawnDistance(5)
core.spawnService.addDynamicGroup('mos_eisley_tame_worrts_01', dynamicGroup)
return
@@ -1,16 +0,0 @@
import sys
from services.spawn import DynamicSpawnGroup
from services.spawn import MobileTemplate
from java.util import Vector
def addDynamicGroup(core):
dynamicGroup = DynamicSpawnGroup()
mobileTemplates = Vector()
mobileTemplates.add('tempest_rill')
dynamicGroup.setMobiles(mobileTemplates)
dynamicGroup.setGroupMembersNumber(1)
dynamicGroup.setName('mos_eisley_tempest_rills_01')
dynamicGroup.setMaxSpawns(-1)
dynamicGroup.setMinSpawnDistance(5)
core.spawnService.addDynamicGroup('mos_eisley_tempest_rills_01', dynamicGroup)
return
@@ -1,16 +0,0 @@
import sys
from services.spawn import DynamicSpawnGroup
from services.spawn import MobileTemplate
from java.util import Vector
def addDynamicGroup(core):
dynamicGroup = DynamicSpawnGroup()
mobileTemplates = Vector()
mobileTemplates.add('womprat')
dynamicGroup.setMobiles(mobileTemplates)
dynamicGroup.setGroupMembersNumber(1)
dynamicGroup.setName('mos_eisley_womprats_01')
dynamicGroup.setMaxSpawns(-1)
dynamicGroup.setMinSpawnDistance(5)
core.spawnService.addDynamicGroup('mos_eisley_womprats_01', dynamicGroup)
return
@@ -1,9 +0,0 @@
import sys
from java.util import Vector
def addSpawnArea(core):
dynamicGroups = Vector()
dynamicGroups.add('mos_eisley_carrion_kreetle_01')
dynamicGroups.add('mos_eisley_city_sewer_rats_01')
core.spawnService.addDynamicSpawnArea(dynamicGroups, 3216, -4465, 100, 'tatooine')
return
@@ -1,9 +0,0 @@
import sys
from java.util import Vector
def addSpawnArea(core):
dynamicGroups = Vector()
dynamicGroups.add('mos_eisley_tame_worrts_01')
dynamicGroups.add('mos_eisley_sickly_womp_rats_01')
core.spawnService.addDynamicSpawnArea(dynamicGroups, 3115, -4758, 100, 'tatooine')
return
@@ -1,9 +0,0 @@
import sys
from java.util import Vector
def addSpawnArea(core):
dynamicGroups = Vector()
dynamicGroups.add('mos_eisley_tame_worrts_01')
dynamicGroups.add('mos_eisley_rock_mites_01')
core.spawnService.addDynamicSpawnArea(dynamicGroups, 3153, -4945, 100, 'tatooine')
return
@@ -1,9 +0,0 @@
import sys
from java.util import Vector
def addSpawnArea(core):
dynamicGroups = Vector()
dynamicGroups.add('mos_eisley_tempest_rills_01')
dynamicGroups.add('mos_eisley_mound_mites_01')
core.spawnService.addDynamicSpawnArea(dynamicGroups, 3841, -4345, 100, 'tatooine')
return
@@ -1,9 +0,0 @@
import sys
from java.util import Vector
def addSpawnArea(core):
dynamicGroups = Vector()
dynamicGroups.add('mos_eisley_womprats_01')
dynamicGroups.add('mos_eisley_mound_mites_01')
core.spawnService.addDynamicSpawnArea(dynamicGroups, 3587, -4354, 100, 'tatooine')
return
+2
View File
@@ -57,6 +57,8 @@ public class ConversationService implements INetworkDispatch {
if(player.getConversingNpc() != null && player.getConversingNpc() != npc)
handleEndConversation(player, player.getConversingNpc());
core.simulationService.faceTarget(npc, player);
player.setConversingNpc(npc);
sendStartConversation(player, npc);
core.scriptService.callScript("scripts/conversation/", (String) npc.getAttachment("conversationFile"), "startConversation", core, player, npc);
+10 -6
View File
@@ -123,6 +123,8 @@ public class EquipmentService implements INetworkDispatch {
return false;
}
if(item.getTemplate().startsWith("object/weapon/") && item.getTemplate().contains("lightsaber") && item.getAttachment("hasColorCrystal") == null) item.setAttachment("hasColorCrystal", false);
if(item.getAttachment("hasColorCrystal") != null && (Boolean) item.getAttachment("hasColorCrystal") == false)
{
actor.sendSystemMessage("You may not equip a light saber that has no color crystal!", (byte) 0);
@@ -320,7 +322,7 @@ public class EquipmentService implements INetworkDispatch {
if(!item.getTemplate().startsWith("object/tangible/component/weapon/lightsaber/")) return;
if(lightsaber.getAttachment("hasColorCrystal") == null) lightsaber.setAttachment("hasColorCrystal", false);
if(item.getAttributes().containsKey("@obj_attr_n:color") && (Boolean) lightsaber.getAttachment("hasColorCrystal")) return;
if(item.getAttributes().containsKey("@obj_attr_n:color") && (Boolean) lightsaber.getAttachment("hasColorCrystal") && !(targetContainer.getContainer() instanceof CreatureObject)) return;
// Find our tuner
if(item.getAttachment("tunerId") == null) item.setAttachment("tunerId", 0);
@@ -335,6 +337,8 @@ public class EquipmentService implements INetworkDispatch {
else item.getContainer().transferTo(actor, targetContainer, item);
// Calculate attributes
lightsaber.setAttachment("hasColorCrystal", false);
lightsaberInventory.viewChildren(lightsaberInventory, false, false, new Traverser()
{
WeaponObject saber;
@@ -342,7 +346,7 @@ public class EquipmentService implements INetworkDispatch {
int minDamageBonus = 0;
int maxDamageBonus = 0;
Boolean hasColorCrystal = false;
Boolean hasColorCrystal = false;
public void process(SWGObject item)
{
@@ -359,10 +363,10 @@ public class EquipmentService implements INetworkDispatch {
saber.setCustomizationVariable("private/alternate_shader_blade", bladeType);
saber.setCustomizationVariable("/private/index_color_blade", bladeColor);
// System.out.println("bladeColorName: " + item.getAttributes().get("@obj_attr_n:color"));
// System.out.println("bladeColor: " + bladeColor);
// System.out.println("bladeType: " + bladeType);
// System.out.println();
// System.out.println("bladeColorName: " + item.getAttributes().get("@obj_attr_n:color"));
// System.out.println("bladeColor: " + bladeColor);
// System.out.println("bladeType: " + bladeType);
// System.out.println();
hasColorCrystal = true;
}
+30
View File
@@ -948,6 +948,36 @@ public class SimulationService implements INetworkDispatch {
teleport(obj, obj.getPosition(), newRotation, obj.getParentId());
}
public void rotateToFaceTarget(SWGObject object, SWGObject target) {
float radians = (float) (((float) Math.atan2(target.getPosition().z - object.getPosition().z, target.getPosition().x - object.getPosition().x)) - object.getRadians());
transform(object, radians, object.getPosition());
}
public void faceTarget(SWGObject object, SWGObject target) {
float direction = (float) Math.atan2(target.getWorldPosition().x - object.getWorldPosition().x, target.getWorldPosition().z - object.getWorldPosition().z);
if (direction < 0) {
direction = (float) (2 * Math.PI + direction);
}
if (Math.abs(direction - object.getRadians()) < 0.05) {
return;
}
Quaternion quaternion = new Quaternion((float) Math.cos(direction / 2), 0, (float) Math.sin(direction / 2), 0);
if (quaternion.y < 0.0f && quaternion.w > 0.0f) {
quaternion.y *= -1;
quaternion.w *= -1;
}
if (object.getContainer() instanceof CellObject) {
NGECore.getInstance().simulationService.moveObject(object, object.getPosition(), quaternion, object.getMovementCounter(), 0, (CellObject) object.getContainer());
} else {
NGECore.getInstance().simulationService.moveObject(object, object.getPosition(), quaternion, object.getMovementCounter(), 0, null);
}
}
public void teleport(SWGObject obj, Point3D position, Quaternion orientation, long cellId) {
if(cellId == 0) {
+14
View File
@@ -47,6 +47,7 @@ import protocol.swg.ObjControllerMessage;
import protocol.swg.objectControllerObjects.CommandEnqueue;
import protocol.swg.objectControllerObjects.CommandEnqueueRemove;
import protocol.swg.objectControllerObjects.StartTask;
import resources.objects.cell.CellObject;
import resources.objects.creature.CreatureObject;
import resources.objects.tangible.TangibleObject;
import resources.objects.weapon.WeaponObject;
@@ -141,6 +142,11 @@ public class CommandService implements INetworkDispatch {
return false;
}
if (!target.isInQuadtree() && (target.getContainer() == null || !(target.getContainer() instanceof CellObject))) {
break;
}
if (!core.simulationService.checkLineOfSight(actor, target)) {
actor.showFlyText("@combat_effects:cant_see", 1.5f, new RGB(72, 209, 204), 1, true);
return false;
@@ -170,6 +176,10 @@ public class CommandService implements INetworkDispatch {
return false;
}
if (!target.isInQuadtree() && (target.getContainer() == null || !(target.getContainer() instanceof CellObject))) {
break;
}
if (!core.simulationService.checkLineOfSight(actor, target)) {
actor.showFlyText("@combat_effects:cant_see", 1.5f, new RGB(72, 209, 204), 1, true);
return false;
@@ -218,6 +228,10 @@ public class CommandService implements INetworkDispatch {
return false;
}
if (!target.isInQuadtree() && (target.getContainer() == null || !(target.getContainer() instanceof CellObject))) {
break;
}
if (!core.simulationService.checkLineOfSight(actor, target)) {
actor.showFlyText("@combat_effects:cant_see", 1.5f, new RGB(72, 209, 204), 1, true);
return false;