(01-23-2018, 09:55 PM)kyonides Wrote: Here's another curious thing about classes in Ruby, they are not static, meaning you can add new methods at will. How many methods? That depends on you only! Getter methods like those created by attr_reader belong to their own class and not the copies you make of their class.great info to know thank you very much!
Class Game_Actor
attr_reader :age, :height, :weight, :hunger
def max_age
100
end
end
$game_actors[50] = Game_Actor.new(50)
$game_actors[50].name = "Evil Pod Pod"
$game_actors[50].age = 0
Here comes the explanation, I created a new actor namely Evil Pod Pod, even if you ask how long Aluxes, the first hero, should ever live or need to get Evil Pod Pod's end of cycle date, they both would only live 100 hours or 100 days or 100 years because we have not determine the basic life unit we will use to set the duration of their life cycles. Why do they all have the same time limit? Because methods like max_age are class specific for they make no distinction between Aluxes or Evil Pod Pod, and they do not return a variable with a value, the maximum age, specific for the idiotic fighter or the newborn cat-droid. Variables like @age do belong to their owners, that idiot and that evil robot respectively.
$game_actors[1].age = 16
$game_actors[50].age = 0
Ask them how old they are...
p $game_actors[1].age
16
While Evil Pod Pod would reply she is not even one year old because she was born last October??
lol Pod-Pod was technically "born" in 2011 as thats when she was designed! for official ingame though her birthdays not for another 595 years
new logo for Yesteryear created by Lunarberry!