mirror of
https://github.com/2006-Scape/apollo.git
synced 2026-07-03 08:39:11 +00:00
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.
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
BOW_WIDGET_ID = 10
|
||||
BOW_SPECIAL_BAR_ID = 10
|
||||
#
|
||||
# create_weapon_class :longbow, widget: BOW_WIDGET_ID do
|
||||
# special_bar = BOW_SPECIAL_BAR_ID
|
||||
#
|
||||
#
|
||||
# add_style :accurate, speed: 6, range: 7
|
||||
# add_style :rapid, speed: 6, range: 7
|
||||
# add_style :long_range, speed: 6, range: 9
|
||||
# end
|
||||
#
|
||||
# create_weapon_class :shortbow, widget: BOW_WIDGET_ID do
|
||||
# special_bar = BOW_SPECIAL_BAR_ID
|
||||
#
|
||||
# add_style :accurate, speed: 4, range: 7
|
||||
# add_style :rapid, speed: 3, range: 7
|
||||
# add_style :long_range, speed: 4, range: 9
|
||||
# end
|
||||
#
|
||||
Reference in New Issue
Block a user