mirror of
https://github.com/2006-Scape/apollo.git
synced 2026-07-04 08:39:27 +00:00
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.
This commit is contained in:
@@ -0,0 +1,15 @@
|
||||
def create_arrow(item, hash)
|
||||
hash[:projectile_type] = :arrow
|
||||
hash[:weapon_classes] = [:longbow, :shortbow]
|
||||
|
||||
create_ammo item, hash
|
||||
end
|
||||
|
||||
create_projectile_type :arrow, start_height: 41, end_height: 37, delay: 41, speed: 6, slope: 15, radius: 10
|
||||
|
||||
create_arrow :bronze_arrow, level_requirement: 1, projectile: 10, graphic: 19, drop_rate: 0.3
|
||||
create_arrow :iron_arrow, level_requirement: 1, projectile: 9, graphic: 18, drop_rate: 0.35
|
||||
create_arrow :steel_arrow, level_requirement: 5, projectile: 11, graphic: 20, drop_rate: 0.4
|
||||
create_arrow :mithril_arrow, level_requirement: 20, projectile: 12, graphic: 21, drop_rate: 0.45
|
||||
create_arrow :adamant_arrow, level_requirement: 30, projectile: 13, graphic: 22, drop_rate: 0.5
|
||||
create_arrow :rune_arrow, level_requirement: 40, projectile: 15, graphic: 24, drop_rate: 0.6
|
||||
@@ -0,0 +1,10 @@
|
||||
def create_bolt(item, hash)
|
||||
hash[:projectile_type] = :bolt
|
||||
hash[:weapon_classes] = [:crossbow]
|
||||
hash[:projectile] = 27 unless hash.key? :projectile
|
||||
create_ammo item, hash
|
||||
end
|
||||
|
||||
create_projectile_type :bolt, start_height: 44, end_height: 44, delay: 41, speed: 5, slope: 5, radius: 10
|
||||
|
||||
create_bolt :iron_bolts, level_requirement: 1, drop_rate: 0.35
|
||||
Reference in New Issue
Block a user