Commit Graph
28 Commits
Author SHA1 Message Date
Gary Tierney 064f22d2e0 Fix the default return value for equipped_weapon 2016-02-29 22:21:12 +00:00
Gary Tierney e5a2533a30 Remove attribute decls from incorrect namespace 2016-02-29 22:21:05 +00:00
Gary Tierney 04df65be4c Move AttackRequirement to separate source unit 2016-02-29 22:20:49 +00:00
Gary Tierney 5686a1dcd6 Add support for combat related UI
* Allows switching between different combat styles, and updates the
  combat tabs styles for every equipped weapon. If a weapon with a
  special attack is equipped, the special bar for that interface will be
  shown.

* Adds a scheduled task which periodically restores special energy to
  the player and updates their special bar.
2016-02-29 21:35:55 +00:00
Gary Tierney c9592c38df Complete special attacks; Fix WeaponClass issues
* Adds a button property to a WeaponClasses styles, which maps a combat
  style to the button that was pressed in the combat tab.

* Adds full support for special attacks, with their config IDs and
  buttons.

* Adds the DDS special attack, along with the D2H special attack as some
  starting examples.

* Rename the "no_weapon" Weapon to "unarmed", so it shows up better in
  the UI.
2016-02-29 21:35:36 +00:00
Gary Tierney 348e5cc8dc Build a framework for a maintainable combat plugin
* Uses a hierarchy of WeaponClasses -> Weapons for performing attacks,
  with WeaponClass having a set of styles and associated Attacks for
  those styles. Weapons and their classes are built with an easy to use
  and clean DSL.

* Adds a BonusContainer mixin, so that Equipment, Weapons, and
  WeaponClasses can all have their own set of bonuses which apply to the
  player.

* Allows attacks to be queued to the Mobs CombatState instance from
  external code, allowing e.g., NPCs or auto-cast to queue attacks to be
  executed.
2016-02-29 21:27:17 +00:00
Gary Tierney 5fe64215f6 Merge branch 'CharlesVaneenoo-useless_condition'
Closes #211
2016-02-12 20:22:43 +00:00
Gary Tierney bea2e61b27 Add a heuristic using euclidean distance for cost 2016-02-09 23:41:15 +00:00
Gary Tierney 1ef364beb8 Fix missing direction in a* traversable call 2016-02-09 23:39:17 +00:00
Gary Tierney 51728168e9 Add developer information section to README 2016-02-06 20:10:20 +00:00
Gary Tierney 4c9fab4fcd Merge branch 'WizardJesse1-patch-11'
Closes #141
2016-01-31 23:37:59 +00:00
Gary Tierney 4874ddaa90 Add travis build config and update .gitignore 2016-01-25 22:26:32 +00:00
Gary Tierney bd63144d53 Fix actions continuing when equipping 2h swords 2015-12-23 23:04:05 +00:00
Gary Tierney 68db45e9d3 Correct the height levels of steps in a path
Makes sure that the steps in a path sent for a "Player Walk" message are
on the same level as the players current position while being processed
in the walking queue.
2015-12-22 03:56:38 +00:00
Gary Tierney ef740b36e0 Fix short circuit logic in ItemDefinitionDecoder
* Replaces an OR, with what should have been an AND while decoding
  unused item definition info.
2015-12-21 04:03:26 +00:00
Gary Tierney 2ee5a7cf7b Call executor.shutdown() to run tasks 2015-10-03 23:31:29 +01:00
Gary Tierney 9abed472e9 Handle errors thrown by SynchronousDecoder tasks
Check for errors thrown execution of any SynchronousDecoder tasks, and
rethrow any ExecutionExceptions as SynchronousDecoderExceptions.
2015-10-03 23:20:05 +01:00
Gary Tierney e9c33534a6 Add .editorconfig file to override IDE defaults
Add rules for enforcing tabs in Java, and spaces in Ruby.

Add a rule to make sure trailing whitespace is trimmed
and that no new final newline is inserted.
2015-09-19 15:18:14 +01:00
Gary Tierney 80be2691ca Remove ItemVerificationHandler test to account for #32 2015-09-13 16:06:20 +01:00
Gary Tierney c65d533288 Add tests around ItemOnObjectVerificationHandler
Add various tests around ItemOnObject messages to verify that a valid
object needs to be given as well as a valid item in order for the
message to be passed down the MessageHandlerChain.
2015-09-13 02:20:37 +01:00
Gary Tierney 15f5d4a36e Change @BeforeClass to @Before to prevent tests failing 2015-09-13 01:46:59 +01:00
Gary Tierney a21b6581d6 Move powermock to bottom of pom, change junit scope to test 2015-09-13 01:46:41 +01:00
Gary Tierney 0c074bd123 Add tests around ObjectActionVerificationHandler
Add a test which verifies an ObjectActionMessage is terminated if its
not within the specified distance of the player.

Additionally add a test which verifies that an ObjectActionMessage is
terminated if there is no object with the given id nearby.
2015-09-13 01:42:12 +01:00
Gary Tierney ef398dc098 Add a test around ChatMessageHandler, update imports
Update the previous ItemOnItemVerificationHandler test to use static
imports of PowerMockito and Assert.
2015-09-13 01:25:00 +01:00
Gary Tierney 82801df436 Add a test around the target of ItemOnItemMessage
Check that the message is terminated() if an ItemOnItemMessage
is received with an invalid target item.
2015-09-13 01:17:41 +01:00
Gary Tierney c9b702bcfb Get ItemOnItemVerificationHandlerTest passing 2015-09-13 01:14:04 +01:00
Gary Tierney a5f8b1f9fd Test messages with an invalid source are terminated 2015-09-13 01:08:11 +01:00
Gary Tierney 7dc45c0281 Add PowerMock JUnit module and Mockito API to pom 2015-09-13 01:07:19 +01:00