Class: GamesAndRpgParadise::MUD::ControlAnimal
- Inherits:
-
RpgParadise::Mud::MudObject
- Object
- RpgParadise::Mud::MudObject
- GamesAndRpgParadise::MUD::ControlAnimal
show all
- Defined in:
- lib/games_and_rpg_paradise/mud/control_animal/control_animal.rb
Overview
RpgParadise::MUD::ControlAnimal
Constant Summary
collapse
- AVAILABLE_TRICKS =
[
:follow,
:assist_in_combat,
:deliver_something
]
Instance Method Summary
collapse
Constructor Details
#initialize(this_animal) ⇒ ControlAnimal
45
46
47
48
49
|
# File 'lib/games_and_rpg_paradise/mud/control_animal/control_animal.rb', line 45
def initialize(this_animal)
reset
set_animal(this_animal)
end
|
Instance Method Details
#add_master(i) ⇒ Object
#
add_master
Add a master for this animal. Only the master can teach the animal new tricks to respond to.
#
87
88
89
|
# File 'lib/games_and_rpg_paradise/mud/control_animal/control_animal.rb', line 87
def add_master(i)
@master = i
end
|
#add_trick(i) ⇒ Object
152
153
154
|
# File 'lib/games_and_rpg_paradise/mud/control_animal/control_animal.rb', line 152
def add_trick(i)
@knows_these_tricks << i unless @knows_these_tricks.include?(i)
end
|
#debug ⇒ Object
138
139
140
141
142
143
144
145
146
147
|
# File 'lib/games_and_rpg_paradise/mud/control_animal/control_animal.rb', line 138
def debug
e
e 'The known tricks are:'
e
pp @knows_these_tricks
e
e 'All available tricks are:'
e
pp AVAILABLE_TRICKS
end
|
#follow ⇒ Object
131
132
133
|
# File 'lib/games_and_rpg_paradise/mud/control_animal/control_animal.rb', line 131
def follow
@animal.follow(@master)
end
|
#knows_n_tricks_already ⇒ Object
#
knows_n_tricks_already
#
77
78
79
|
# File 'lib/games_and_rpg_paradise/mud/control_animal/control_animal.rb', line 77
def knows_n_tricks_already
@knows_these_tricks.size
end
|
#knows_these_tricks? ⇒ Boolean
Also known as:
knows_these_tricks
159
160
161
|
# File 'lib/games_and_rpg_paradise/mud/control_animal/control_animal.rb', line 159
def knows_these_tricks?
@knows_these_tricks
end
|
#learn_a_trick(what_kind_of_trick = :random) ⇒ Object
Also known as:
learn_trick
#
learn_a_trick
Make the animal learn a specific trick.
#
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
|
# File 'lib/games_and_rpg_paradise/mud/control_animal/control_animal.rb', line 96
def learn_a_trick(
what_kind_of_trick = :random
)
t = what_kind_of_trick
case what_kind_of_trick
when :random
t = AVAILABLE_TRICKS.sample
end
case what_kind_of_trick
when :follow
if (@animal.int / 10) < knows_n_tricks_already
add_trick(t)
tp 'The animal will try to follow you.'
end
when :assist_in_combat
if (@animal.int / 10) < knows_n_tricks_already
add_trick(t)
tp 'The animal will try to assist you in combat.'
end
end
add_trick(t)
end
|
#reset ⇒ Object
61
62
63
64
65
66
67
68
69
70
71
72
|
# File 'lib/games_and_rpg_paradise/mud/control_animal/control_animal.rb', line 61
def reset
@knows_these_tricks = []
@master = nil
end
|
#set_animal(i) ⇒ Object
54
55
56
|
# File 'lib/games_and_rpg_paradise/mud/control_animal/control_animal.rb', line 54
def set_animal(i)
@animal = i
end
|
#set_knows_these_tricks(i) ⇒ Object
Also known as:
knows_these_tricks=
#
set_knows_these_tricks
#
166
167
168
|
# File 'lib/games_and_rpg_paradise/mud/control_animal/control_animal.rb', line 166
def set_knows_these_tricks(i)
@knows_these_tricks = [i].flatten.compact
end
|
#tame_animal(a = @animal) ⇒ Object
#
tame_animal
Pass an animal into this method.
#
175
176
177
178
179
180
|
# File 'lib/games_and_rpg_paradise/mud/control_animal/control_animal.rb', line 175
def tame_animal(a = @animal)
tp 'You begin taming the '+a.desc?+'.'
if a.tame_level == 0
learn_trick
end
end
|