Merge pull request #1120 from CharonInferar/RifleBugFix2

Fixed RifleBug preliminarily
This commit is contained in:
CharonInferar
2014-08-09 17:54:04 +02:00
2 changed files with 15 additions and 12 deletions
+8 -8
View File
@@ -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)
+7 -4
View File
@@ -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) {