From 560df308deacfa4403dbef93d693b2af1f1ce751 Mon Sep 17 00:00:00 2001 From: CharonInferar Date: Sat, 9 Aug 2014 01:35:47 +0200 Subject: [PATCH] Revert "Fix of Rifle bug part1" This reverts commit e79d1ad9d01ae3e907fab83ba75cf544e067ceb3. --- scripts/character_builder_terminal.py | 18 +++++++------- scripts/commands/transferitemweapon.py | 13 ++++++---- src/services/equipment/EquipmentService.java | 25 +++----------------- 3 files changed, 19 insertions(+), 37 deletions(-) diff --git a/scripts/character_builder_terminal.py b/scripts/character_builder_terminal.py index c46fb1cf..29675e3f 100644 --- a/scripts/character_builder_terminal.py +++ b/scripts/character_builder_terminal.py @@ -378,15 +378,13 @@ def combatLevelDown(owner): return def rangedWeapons(owner, inventory): - #rifle = core.objectService.createObject('object/weapon/ranged/rifle/shared_rifle_e11.iff', owner.getPlanet()) - #rifle.setDamageType("energy"); - #rifle.setWeaponType(WeaponType.RIFLE); - #rifle.setAttackSpeed(0.8); - #rifle.setMinDamage(518); - #rifle.setMaxDamage(1035); - #rifle.setMaxRange(64) - - core.equipmentService.addRifle(owner, inventory) + rifle = core.objectService.createObject('object/weapon/ranged/rifle/shared_rifle_e11.iff', owner.getPlanet()) + rifle.setDamageType("energy"); + rifle.setWeaponType(WeaponType.RIFLE); + rifle.setAttackSpeed(0.8); + rifle.setMinDamage(518); + rifle.setMaxDamage(1035); + rifle.setMaxRange(64) pistol = core.objectService.createObject('object/weapon/ranged/pistol/shared_pistol_dl44.iff', owner.getPlanet()) pistol.setDamageType("energy"); @@ -414,7 +412,7 @@ def rangedWeapons(owner, inventory): heavy.setStringAttribute('wpn_elemental_value', '50') heavy.setMaxRange(64) - #inventory.add(rifle) + inventory.add(rifle) inventory.add(pistol) inventory.add(carbine) inventory.add(heavy) diff --git a/scripts/commands/transferitemweapon.py b/scripts/commands/transferitemweapon.py index 5a521e0b..c75635a3 100644 --- a/scripts/commands/transferitemweapon.py +++ b/scripts/commands/transferitemweapon.py @@ -4,6 +4,8 @@ def setup(): return def run(core, actor, target, commandString): + + parsedMsg = commandString.split(' ', 3) objService = core.objectService @@ -12,8 +14,8 @@ def run(core, actor, target, commandString): if target and container and target.getContainer(): oldContainer = target.getContainer() if container == oldContainer: - print 'Error: New container is same as old container.' - return + print 'Error: New container is same as old container.' + return; canEquip = core.equipmentService.canEquip(actor, target) @@ -25,18 +27,19 @@ def run(core, actor, target, commandString): slotName = None replacedObjects = [] slotNames = None - + if actor == container: slotNames = container.getSlotNamesForObject(target) - + for slotName in slotNames: object = container.getSlottedObject(slotName) - + if not object in replacedObjects and not object == None: replacedObjects.append(object) if object != None: container.transferTo(actor, container, object) + if target.getTemplate().find('/wearables/') or target.getTemplate().find('/weapon/'): core.equipmentService.equip(actor, target) diff --git a/src/services/equipment/EquipmentService.java b/src/services/equipment/EquipmentService.java index 827478ce..f5220c53 100644 --- a/src/services/equipment/EquipmentService.java +++ b/src/services/equipment/EquipmentService.java @@ -39,7 +39,6 @@ import org.python.core.Py; import org.python.core.PyObject; import resources.datatables.FactionStatus; -import resources.datatables.WeaponType; import resources.objects.creature.CreatureObject; import main.NGECore; import engine.resources.container.Traverser; @@ -161,19 +160,14 @@ public class EquipmentService implements INetworkDispatch { { String template = ((item.getAttachment("customServerTemplate") == null) ? item.getTemplate() : (item.getTemplate().split("shared_")[0] + "shared_" + ((String) item.getAttachment("customServerTemplate")) + ".iff")); String serverTemplate = template.replace(".iff", ""); - System.out.println("scripts/" + serverTemplate.split("shared_" , 2)[0].replace("shared_", "")); + PyObject func = core.scriptService.getMethod("scripts/" + serverTemplate.split("shared_" , 2)[0].replace("shared_", ""), serverTemplate.split("shared_" , 2)[1], "equip"); if(func != null) func.__call__(Py.java2py(core), Py.java2py(actor), Py.java2py(item)); if(!actor.getEquipmentList().contains(item.getObjectID())) { - if(item instanceof WeaponObject){ - System.out.println(item.getTemplate() + " setWeaponId(item.getObjectID() " + item.getObjectID()); - actor.setWeaponId(item.getObjectID()); - } - - actor.addObjectToEquipList(item); + if(item instanceof WeaponObject) actor.setWeaponId(item.getObjectID()); + actor.addObjectToEquipList(item); processItemAtrributes(actor, item, true); - System.out.println("Item added " + item.getTemplate()); } } @@ -204,9 +198,7 @@ public class EquipmentService implements INetworkDispatch { if(equipping) { - System.out.println("Equipping"); if(item.getStringAttribute("cat_wpn_damage.wpn_category") != null) { - System.out.println("cat_wpn_damage.wpn_category"); core.skillModService.addSkillMod(creature, "display_only_critical", getWeaponCriticalChance(creature, item)); creature.setAttachment("EquippedWeapon", item.getObjectID()); @@ -526,15 +518,4 @@ public class EquipmentService implements INetworkDispatch { } catch (IOException e) { e.printStackTrace(); } } - - public void addRifle(CreatureObject actor, SWGObject inventory){ - WeaponObject rifle = (WeaponObject) core.objectService.createObject("object/weapon/ranged/rifle/shared_rifle_e11.iff", actor.getPlanet()); - rifle.setDamageType("energy"); - rifle.setWeaponType(WeaponType.RIFLE); - rifle.setAttackSpeed(0.8F); - rifle.setMinDamage(518); - rifle.setMaxDamage(1035); - rifle.setMaxRange(64); - inventory.add(rifle); - } }