class RuneRb::Model::Player
Attributes
action_queue[R]
Interaction
appearance[R]
bank[R]
chat_queue[R]
Chat information
connection[R]
The EventMachine connection.
current_chat_message[RW]
current_shop[RW]
equipment[R]
gained_items[R]
in_cipher[R]
interface_state[R]
inventory[R]
io[R]
members[RW]
model[RW]
name[R]
name_long[R]
offered_items[R]
out_cipher[R]
password[R]
request_manager[R]
Trade
rights[RW]
session[R]
settings[RW]
skills[R]
Items
uid[R]
Info
used_item[RW]
used_loc[RW]
var[R]
Data
varp[R]
Public Class Methods
new(session)
click to toggle source
Calls superclass method
RuneRb::Model::Entity::new
# File app/model/player.rb, line 50 def initialize(session) super() @connection = session.connection @session = session @in_cipher = session.in_cipher @out_cipher = session.out_cipher @uid = session.uid @name = session.username @name_long = RuneRb::Misc::NameUtils.name_to_long(@name) #session.name_long @password = session.password @appearance = RuneRb::Player::Appearance.new @skills = RuneRb::Player::Skills.new(self) @var = OpenStruct.new @varp = OpenStruct.new @interface_state = RuneRb::Player::InterfaceState.new self @io = RuneRb::Net::ActionSender.new(self) @action_queue = RuneRb::Engine::ActionQueue.new @rights = :player @members = true @model = -1 @flags.flag :appearance @teleporting = true @equipment = RuneRb::Item::Container.new false, 14 @inventory = RuneRb::Item::Container.new false, 28 @bank = RuneRb::Item::Container.new true, 352 @settings = {} @request_manager = RuneRb::Player::RequestManager.new @offered_items = RuneRb::Item::Container.new false, 28 @gained_items = RuneRb::Item::Container.new false, 28 @chat_queue = [] @current_chat_message = nil end
Public Instance Methods
add_to_region(region)
click to toggle source
# File app/model/player.rb, line 101 def add_to_region(region) region.players << self end
change_session(session)
click to toggle source
# File app/model/player.rb, line 90 def change_session(session) @connection = session.connection @session = session @in_cipher = session.in_cipher @out_cipher = session.out_cipher @uid = session.uid @name = session.username @name_long = RuneRb::Misc::NameUtils.name_to_long(@name) @password = session.password end
remove_from_region(region)
click to toggle source
# File app/model/player.rb, line 105 def remove_from_region(region) region.players.delete self end
update_energy(running)
click to toggle source
# File app/model/player.rb, line 109 def update_energy(running) @settings[:energy] ||= 100.0 energy = @settings[:energy] if running # Decrease, we're running energy -= 0.6 else # Increase, we're standing/walking energy += 0.2 end # Cap 0 < energy < 100 energy = 100.0 if energy > 100.0 energy = 0.0 if energy < 0.0 # Turn off if we're out of energy if running && energy < 1.0 @walking_queue.run_toggle = false @settings[:move_speed] = 0 @io.send_config 173, 0 end # Save energy state @settings[:energy] = energy # Update client @connection.send_data RuneRb::Net::PacketBuilder.new(110).add_byte(@settings[:energy].to_i).to_packet end