mirror of
https://github.com/2006-Scape/apollo.git
synced 2026-07-07 16:49:12 +00:00
Make current skill level updating optional when using ::level.
This commit is contained in:
@@ -2,6 +2,7 @@ require 'java'
|
|||||||
java_import 'org.apollo.game.model.SkillSet'
|
java_import 'org.apollo.game.model.SkillSet'
|
||||||
java_import 'org.apollo.game.model.Skill'
|
java_import 'org.apollo.game.model.Skill'
|
||||||
|
|
||||||
|
# Maximises the player's skill set.
|
||||||
on :command, :max, RIGHTS_ADMIN do |player, command|
|
on :command, :max, RIGHTS_ADMIN do |player, command|
|
||||||
skills = player.skill_set
|
skills = player.skill_set
|
||||||
(0...skills.size).each do |skill|
|
(0...skills.size).each do |skill|
|
||||||
@@ -9,24 +10,32 @@ on :command, :max, RIGHTS_ADMIN do |player, command|
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Levels the specified skill to the specified level, optionally updating the current level as well.
|
||||||
on :command, :level, RIGHTS_ADMIN do |player, command|
|
on :command, :level, RIGHTS_ADMIN do |player, command|
|
||||||
args = command.arguments
|
args = command.arguments
|
||||||
unless args.length == 2 and (0..20).include? (skill = args[0].to_i) and (1..99).include? (level = args[1].to_i)
|
unless (2..3).include?(args.length) && (0..20).include?(skill_id = args[0].to_i) && (1..99).include?(level = args[1].to_i)
|
||||||
player.send_message("Invalid syntax - ::level [skill id] [level]")
|
player.send_message("Invalid syntax - ::level [skill-id] [level]")
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
experience = SkillSet.experience_for_level(level)
|
experience = SkillSet.experience_for_level(level)
|
||||||
player.skill_set.set_skill(skill, Skill.new(experience, level, level))
|
current = level
|
||||||
|
|
||||||
|
if args.length == 3 && args[2].to_s == "old"
|
||||||
|
skill = player.skill_set.skill(skill_id)
|
||||||
|
current = skill.current_level
|
||||||
end
|
end
|
||||||
|
|
||||||
|
player.skill_set.set_skill(skill_id, Skill.new(experience, current, level))
|
||||||
|
end
|
||||||
|
|
||||||
|
# Adds the specified amount of experience to the specified skill.
|
||||||
on :command, :xp, RIGHTS_ADMIN do |player, command|
|
on :command, :xp, RIGHTS_ADMIN do |player, command|
|
||||||
args = command.arguments
|
args = command.arguments
|
||||||
unless args.length == 2 and (0..20).include? (skill = args[0].to_i)
|
unless args.length == 2 && (0..20).include?(skill_id = args[0].to_i) && (experience = args[1].to_i) >= 0
|
||||||
player.send_message("Invalid syntax - ::xp [skill id] [experience]")
|
player.send_message("Invalid syntax - ::xp [skill-id] [experience]")
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
experience = args[1].to_i
|
player.skill_set.add_experience(skill_id, experience)
|
||||||
player.skill_set.add_experience(skill, experience)
|
|
||||||
end
|
end
|
||||||
Reference in New Issue
Block a user