mirror of
https://github.com/2006-Scape/apollo.git
synced 2026-07-03 00:38:21 +00:00
3082fade1d
* 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.
45 lines
993 B
Ruby
45 lines
993 B
Ruby
module Combat
|
|
# A module for units which can have their own bonuses. E.G., weapons, equipment, ammo.
|
|
module BonusContainer
|
|
def attack_bonus(type)
|
|
@attack_bonuses[type]
|
|
end
|
|
|
|
def defence_bonus(type)
|
|
@defence_bonuses[type]
|
|
end
|
|
|
|
def other_bonus(type)
|
|
@other_bonuses[type]
|
|
end
|
|
|
|
def other_bonuses(melee_strength: 0, ranged_strength: 0, prayer: 0)
|
|
@other_bonuses = {
|
|
melee_strength: melee_strength,
|
|
ranged_strength: ranged_strength,
|
|
prayer: prayer
|
|
}
|
|
end
|
|
|
|
def defence_bonuses(stab: 0, slash: 0, crush: 0, magic: 0, range: 0)
|
|
@defence_bonuses = {
|
|
stab: stab,
|
|
slash: slash,
|
|
crush: crush,
|
|
magic: magic,
|
|
range: range
|
|
}
|
|
end
|
|
|
|
def attack_bonuses(stab: 0, slash: 0, crush: 0, magic: 0, range: 0)
|
|
@attack_bonuses = {
|
|
stab: stab,
|
|
slash: slash,
|
|
crush: crush,
|
|
magic: magic,
|
|
range: range
|
|
}
|
|
end
|
|
end
|
|
end
|