From 0047c734939ac3fb0701202ae0858cecbf33d33a Mon Sep 17 00:00:00 2001 From: Waverunner Date: Thu, 27 Mar 2014 20:19:22 -0400 Subject: [PATCH 1/2] Added Unity Ring to CBT --- src/services/DevService.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/services/DevService.java b/src/services/DevService.java index 062adf0f..6af9c783 100644 --- a/src/services/DevService.java +++ b/src/services/DevService.java @@ -83,12 +83,15 @@ public class DevService implements INetworkDispatch { suiOptions.put((long) 21, "(Dark) Jedi Robe"); suiOptions.put((long) 22, "Composite Armor"); suiOptions.put((long) 23, "Weapons"); + suiOptions.put((long) 24, "Misc Items"); break; case 3: // [Items] Weapons suiOptions.put((long) 30, "Jedi Weapons"); suiOptions.put((long) 31, "Melee Weapons"); suiOptions.put((long) 32, "Ranged Weapons"); break; + case 4: // [Items] Misc Items + suiOptions.put((long) 40, "Unity Ring"); } final SUIWindow window = core.suiService.createListBox(ListBoxType.LIST_BOX_OK_CANCEL, "Character Builder Terminal", "Select the desired option and click OK.", suiOptions, creature, null, 10); @@ -209,7 +212,10 @@ public class DevService implements INetworkDispatch { case 23: // Weapons sendCharacterBuilderSUI(player, 3); return; - + + case 24: // Misc Items + sendCharacterBuilderSUI(player, 4); + return; // [Items] Weapons case 30: // Jedi Weapons SWGObject lightsaber1 = core.objectService.createObject("object/weapon/melee/sword/crafted_saber/shared_sword_lightsaber_one_handed_gen5.iff", planet); @@ -257,6 +263,10 @@ public class DevService implements INetworkDispatch { inventory.add(rifle1); return; + case 40: + TangibleObject ring = (TangibleObject) core.objectService.createObject("object/tangible/wearables/ring/shared_ring_s01.iff", planet); + ring.setCustomName("Unity Ring"); + inventory.add(ring); } } }); From ebe52b49aabacfa2330ff31bc87147bf3ba7bb91 Mon Sep 17 00:00:00 2001 From: Seefo Date: Thu, 27 Mar 2014 20:57:51 -0400 Subject: [PATCH 2/2] Fixed combat bug, read extended Fixed the combat bug, where if an enemy were to be incapacitated and you were not the attacker, you would remain in combat. --- src/services/combat/CombatService.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/services/combat/CombatService.java b/src/services/combat/CombatService.java index 4b738dcc..86c6f2ba 100644 --- a/src/services/combat/CombatService.java +++ b/src/services/combat/CombatService.java @@ -87,6 +87,8 @@ public class CombatService implements INetworkDispatch { public void doCombat(final CreatureObject attacker, final TangibleObject target, final WeaponObject weapon, final CombatCommand command, final int actionCounter) { + if(target instanceof CreatureObject) if(((CreatureObject) target).getPosture() == Posture.Incapacitated || ((CreatureObject) target).getPosture() == Posture.Dead) return; + boolean success = true; if((command.getAttackType() == 0 || command.getAttackType() == 1 || command.getAttackType() == 3) && !attemptCombat(attacker, target)) @@ -181,10 +183,14 @@ public class CombatService implements INetworkDispatch { if(target instanceof CreatureObject) { - if(((CreatureObject)(target)).getPosture() == Posture.Incapacitated) + CreatureObject creature = (CreatureObject)target; + if(creature.getPosture() == Posture.Incapacitated || creature.getPosture() == Posture.Dead) { - attacker.removeDefender(target); - target.removeDefender(attacker); + for (TangibleObject defender : creature.getDefendersList()) + { + defender.removeDefender(creature); + creature.removeDefender(defender); + } } } }