diff --git a/src/resources/objects/creature/CreatureMessageBuilder.java b/src/resources/objects/creature/CreatureMessageBuilder.java index b253d930..148ee2ba 100644 --- a/src/resources/objects/creature/CreatureMessageBuilder.java +++ b/src/resources/objects/creature/CreatureMessageBuilder.java @@ -93,6 +93,7 @@ public class CreatureMessageBuilder extends ObjectMessageBuilder { buffer.putFloat(1); buffer.put(getAsciiString(creature.getStfFilename())); buffer.putInt(0); + if(creature.getStfName() == null) creature.setStfName(""); buffer.put(getAsciiString(creature.getStfName())); if (creature.getCustomName() == null) { creature.setCustomName(""); }//Not all CreatureObjects have CustomName (Shuttles) buffer.put(getUnicodeString(creature.getCustomName())); diff --git a/src/services/SimulationService.java b/src/services/SimulationService.java index dd219d6b..37b706aa 100644 --- a/src/services/SimulationService.java +++ b/src/services/SimulationService.java @@ -163,6 +163,7 @@ public class SimulationService implements INetworkDispatch { core.commandService.registerCommand("setbiography"); core.commandService.registerCommand("requestbiography"); core.commandService.registerCommand("eject"); + core.commandService.registerGmCommand("broadcast"); } diff --git a/src/services/combat/CombatService.java b/src/services/combat/CombatService.java index 4b738dcc..e6eb60b7 100644 --- a/src/services/combat/CombatService.java +++ b/src/services/combat/CombatService.java @@ -560,7 +560,7 @@ public class CombatService implements INetworkDispatch { float rawDamage = command.getAddedDamage(); - if(command.getPercentFromWeapon() > 0 && weapon != attacker.getSlottedObject("default_weapon")) { + if(command.getPercentFromWeapon() > 0) { float weaponMinDmg = weapon.getMinDamage(); float weaponMaxDmg = weapon.getMaxDamage(); @@ -589,23 +589,6 @@ public class CombatService implements INetworkDispatch { } - } else if(command.getPercentFromWeapon() > 0) { - - float weaponMinDmg = 50; - float weaponMaxDmg = 100; - - float weaponDmg = new Random().nextInt((int) (weaponMaxDmg - weaponMinDmg + 1)) + weaponMinDmg; - weaponDmg *= command.getPercentFromWeapon(); - rawDamage += weaponDmg; - - if(weapon.isMelee()) { - - if(attacker.getStrength() > 0) { - rawDamage += ((attacker.getStrength() / 100) * 33); - } - - } - } rawDamage *= getWeaponDamageIncrease(attacker, weapon); @@ -656,23 +639,6 @@ public class CombatService implements INetworkDispatch { } - } else if(command.getPercentFromWeapon() > 0) { - - float weaponMinDmg = 50; - float weaponMaxDmg = 100; - - float weaponDmg = new Random().nextInt((int) (weaponMaxDmg - weaponMinDmg + 1)) + weaponMinDmg; - weaponDmg *= command.getPercentFromWeapon(); - rawDamage += weaponDmg; - - if(weapon.isMelee()) { - - if(attacker.getStrength() > 0) { - rawDamage += ((attacker.getStrength() / 100) * 33); - } - - } - } return rawDamage; diff --git a/src/services/spawn/MobileTemplate.java b/src/services/spawn/MobileTemplate.java index 5853ddf4..8d68731f 100644 --- a/src/services/spawn/MobileTemplate.java +++ b/src/services/spawn/MobileTemplate.java @@ -35,8 +35,8 @@ public class MobileTemplate { private short level; private Vector attacks; private String defaultAttack; - private int minDamage; - private int maxDamage; + private int minDamage = 0; + private int maxDamage = 0; private int difficulty = 0; private int health, action; private String creatureName; diff --git a/src/services/spawn/SpawnService.java b/src/services/spawn/SpawnService.java index 9c41ea92..75dbbffa 100644 --- a/src/services/spawn/SpawnService.java +++ b/src/services/spawn/SpawnService.java @@ -125,6 +125,7 @@ public class SpawnService { } creature.addObjectToEquipList(defaultWeapon); creature.add(defaultWeapon); + creature.setWeaponId(defaultWeapon.getObjectID()); creature.addObjectToEquipList(inventory); creature.add(inventory);