diff --git a/scripts/character_builder_terminal.py b/scripts/character_builder_terminal.py index f7d8b527..d58927ff 100644 --- a/scripts/character_builder_terminal.py +++ b/scripts/character_builder_terminal.py @@ -382,13 +382,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) + 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') @@ -416,7 +416,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/src/services/command/CommandService.java b/src/services/command/CommandService.java index a8cd0210..59d2590a 100644 --- a/src/services/command/CommandService.java +++ b/src/services/command/CommandService.java @@ -94,11 +94,14 @@ public class CommandService implements INetworkDispatch { return false; } - TangibleObject weapon = (TangibleObject) core.objectService.getObject(actor.getWeaponId()); + // Causes this service method to return with false after equipping a rifle, not allowing to unequip it anymore + // because the client seems to consider rifles invalidweapons for an unkown reason - if (weapon != null && weapon instanceof WeaponObject && ((WeaponObject) weapon).getWeaponType() == command.getInvalidWeapon()) { - return false; - } +// TangibleObject weapon = (TangibleObject) core.objectService.getObject(actor.getWeaponId()); +// +// if (weapon != null && weapon instanceof WeaponObject && ((WeaponObject) weapon).getWeaponType() == command.getInvalidWeapon()) { +// return false; +// } for (long state : command.getInvalidStates()) { if ((actor.getStateBitmask() & state) == state) {