Commit Graph

863 Commits

Author SHA1 Message Date
Steve Soltys 682e48bdc8 Add AttackRequirementDSL and small changes to CombatSpellDSL 2016-03-16 22:41:51 +00:00
Steve Soltys ec248a185b Add initial combat spell support 2016-03-16 22:41:20 +00:00
Gary Tierney 9f47fae6a9 Fix combat not working after logout; Fix DDS hits
* Removes the use of the MOB_STATE_CACHE and instead monkey patches a
  get_combat_state method onto Mob.
2016-03-16 22:39:33 +00:00
Gary Tierney 3082fade1d Add ranged combat support
* Clean up the CombatAction and Attack code to make it easier to use for
  range.

* Add collision detection to the distance checks before attacking in the
  CombatAction.

* Create a Ruby DSL for defining projectile types and fix the
  ProjectileUpdateOperation so it uses the correct position offset.

* Fix the packet structure of the HintIconMessageEncoder.
2016-02-29 22:24:26 +00:00
Gary Tierney f80ea82ce7 Add regexp support to name_lookup#find_entities 2016-02-29 22:22:32 +00:00
Gary Tierney a2864d6318 Stop a players current action upon logout 2016-02-29 22:21:58 +00:00
Gary Tierney c32d19ac08 Update the combat plugin definition file 2016-02-29 22:21:51 +00:00
Gary Tierney 17e8d02886 Move next_attack logic to CombatState
* Moves the decision of what attack is used next to CombatState and
  defers selecting the attack until the player is actually ready to hit
  their target for damage.

* Adds a distance check so combat is only initiated within the correct
  range. If the player isn't close enough to their target, they will run
  towards it and check every tick if they're close enough to make an
  attack.
2016-02-29 22:21:21 +00:00
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
Major 7731eedf3d Merge pull request #256 from CharlesVaneenoo/remove-useless-if2
Remove a useless if in GameObjectDecoder
2016-02-27 08:21:03 +00:00
CharlesVaneenoo 5fd8640d62 new PR after bad rebase 2016-02-26 21:25:20 +01:00
Major f0af06f0c4 Merge pull request #254 from CharlesVaneenoo/refactor-wrap
Refactor Dialogue#wrap()
2016-02-26 19:10:24 +00:00
AymericDu 92f3d91cb4 refactor wrap in dialogue.rb 2016-02-26 16:49:04 +01:00
Major 51df75bd16 Merge pull request #246 from CharlesVaneenoo/simplify-Crcs-getter
Simplify the getter of Crcs
2016-02-26 08:57:33 +00:00
CharlesVaneenoo b2c0d94db1 Simplify the getter of Crcs 2016-02-25 16:58:41 +01:00
Major 6779a3983d Merge pull request #238 from CharlesVaneenoo/pom-new-version
Update versions in pom.xml
2016-02-16 20:52:56 +00:00
AymericDu fd1d3f578a POM : new plugin version 2016-02-16 14:44:44 +01:00
Major f085636a12 Merge pull request #234 from WizardJesse1/master
Add prayer level requirements for equipping items
2016-02-16 07:27:54 +00:00
Jesse Woolsey ddaa505c6a * Fix Several Items that were glitched when worn.
* Fix items that were not able to be worn due to the name.
* Added prayer check in due to one of the items using it during 377
2016-02-15 21:47:25 -05:00
Major 27448bcdde Merge pull request #224 from Major-/377
Fix #218
2016-02-15 19:22:00 +00:00
Major- d3c5417403 Fix #218 2016-02-15 17:32:00 +00:00
Major 710c8c70d0 Merge pull request #230 from WizardJesse1/master
Fix some incorrect messages
2016-02-15 17:30:18 +00:00
Jesse Woolsey fd855263a4 * Fix messages that were wrong 2016-02-15 09:23:51 -05:00
Major 0417939b56 Merge pull request #228 from WizardJesse1/master
Ensure beards are displayed with med helms
2016-02-15 02:18:42 +00:00
Jesse Woolsey 08d797d907 Fixed beards for helmets. 2016-02-14 20:59:22 -05:00
Major 420fe587da Merge pull request #226 from Major-/issue_170
Fix #170
2016-02-14 19:44:46 +00:00
Major c545015501 Merge pull request #225 from Major-/shops
Create shops using npc/item names instead of ids
2016-02-14 19:40:16 +00:00
Major- 8f5ddb0761 Fix #170 2016-02-14 16:25:38 +00:00
Major- 1a86e286bb Require shops to use names instead of ids 2016-02-14 16:12:57 +00:00
Major- 6eebdd1f11 Improve Falador/Varrock npcs.rb formatting 2016-02-14 16:11:31 +00:00
Major 9b91e6e650 Merge pull request #223 from Major-/issue_221
Fix #221
2016-02-14 03:47:19 +00:00
Major- 3a926c6173 Fix #221 2016-02-14 03:42:50 +00:00
Major 4b901214c1 Merge pull request #220 from WizardJesse1/master
Fix prayer burying and add Varrock shops
2016-02-13 23:12:52 +00:00
Jesse Woolsey f00998d58e Add Varrock shops 2016-02-13 17:54:57 -05:00
Jesse Woolsey ae9a3098e9 * Fix Prayer Burying Animation 2016-02-13 17:28:07 -05:00
Gary Tierney 3443f64110 Merge pull request #219 from apollo-rsps/view_distance
Set default viewing distance to 15
2016-02-13 18:49:31 +00:00
Major- 6559c03209 Set default viewing distance to 15 2016-02-13 18:41:42 +00:00
Gary Tierney 39b02a1a52 Merge pull request #217 from Major-/tutorial_island
Fix many issues with the Tutorial island plugin
2016-02-13 18:37:32 +00:00
Major- f83e8b3040 Fix many issues with the Tutorial Island plugin
Amongst other things, this:
* Stops the player from trying to leave the Runescape Guide's house if
  they have yet to speak to him.
* Fixes the hint icon for both the Runescape Guide and the door.
* Ensures all files pass rubocop.
* Generally improves the code throughout the plugin.
2016-02-13 17:49:44 +00:00
Major- 9e20ecfe39 Fix 377 FlashTabInterfaceMessageEncoder 2016-02-13 16:31:42 +00:00
Major- 70c0856df8 Fix text-only dialogues with continues 2016-02-13 16:31:42 +00:00
Major- 8e6760c617 Only fire door events when the door is reached 2016-02-13 16:31:42 +00:00
Major- 0f32ec92c4 Fix HintIconMessage.Type 2016-02-13 16:31:42 +00:00
Major- 9a920d95ee Add support for Events defined in Ruby
A slightly complicated and hacky change, because this requires working
around JRuby issue 2359.
2016-02-13 16:31:42 +00:00
Major 8e52dfb121 Merge pull request #216 from WizardJesse1/master
Add Npcs to Falador
2016-02-13 15:30:47 +00:00