目录
RPG::Enemy
module RPG
class Enemy
def initialize
@id = 0
@name = ""
@battler_name = ""
@battler_hue = 0
@maxhp = 500
@maxsp = 500
@str = 50
@dex = 50
@agi = 50
@int = 50
@atk = 100
@pdef = 100
@mdef = 100
@eva = 0
@animation1_id = 0
@animation2_id = 0
@element_ranks = Table.new(1)
@state_ranks = Table.new(1)
@actions = [RPG::Enemy::Action.new]
@exp = 0
@gold = 0
@item_id = 0
@weapon_id = 0
@armor_id = 0
@treasure_prob = 100
end
attr_accessor :id
attr_accessor :name
attr_accessor :battler_name
attr_accessor :battler_hue
attr_accessor :maxhp
attr_accessor :maxsp
attr_accessor :str
attr_accessor :dex
attr_accessor :agi
attr_accessor :int
attr_accessor :atk
attr_accessor :pdef
attr_accessor :mdef
attr_accessor :eva
attr_accessor :animation1_id
attr_accessor :animation2_id
attr_accessor :element_ranks
attr_accessor :state_ranks
attr_accessor :actions
attr_accessor :exp
attr_accessor :gold
attr_accessor :item_id
attr_accessor :weapon_id
attr_accessor :armor_id
attr_accessor :treasure_prob
end
end
RPG::Enemy::Action
本类作为RPG::Enemy的内部类,描述敌人可能的行动。
module RPG
class Enemy
class Action
def initialize
@kind = 0
@basic = 0
@skill_id = 1
@condition_turn_a = 0
@condition_turn_b = 1
@condition_hp = 100
@condition_level = 1
@condition_switch_id = 0
@rating = 5
end
attr_accessor :kind
attr_accessor :basic
attr_accessor :skill_id
attr_accessor :condition_turn_a
attr_accessor :condition_turn_b
attr_accessor :condition_hp
attr_accessor :condition_level
attr_accessor :condition_switch_id
attr_accessor :rating
end
end
end
图片 数据库::敌人与RPG::Enemy属性对应关系
图片 RPG::Enemey::Action
联系 rxdata
存储在Enemies.rxdata文件中。这个类描述敌人的各项属性和可能的行为。
联系 Enemy与其内部类Enemy::Action
它们之间的联系与Battler与Battler::BattleAction类似,但不相同。Enemey::Action对于每一个Enemy对象而言是确定的,它存放于Enemey.@actions中,类似于固定的数据设置,而BattleAction每一回合都会更新。
如果说Battler与BattleActoin类之间的关系像是从属式的,Enemy与Action之间的关系更像是一对多的字典索引。