| 
 
| 赞 | 0 |  
| VIP | 0 |  
| 好人卡 | 0 |  
| 积分 | 1 |  
| 经验 | 1343 |  
| 最后登录 | 2014-10-10 |  
| 在线时间 | 16 小时 |  
 Lv1.梦旅人 
	梦石0 星屑50 在线时间16 小时注册时间2010-7-1帖子31 | 
3楼
 
 
 楼主|
发表于 2011-6-18 19:55:42
|
只看该作者 
| 就是Game_BattleAction #--------------------------------------------------------------------------
 # ● 技能评价(指定目标)
 #     target : 目标战斗者
 #--------------------------------------------------------------------------
 def evaluate_skill_with_target(target)
 target.clear_action_results
 target.make_obj_damage_value(battler, skill)
 if skill.for_opponent?
 return target.hp_damage.to_f / [target.hp, 1].max
 else
 recovery = [-target.hp_damage, target.maxhp - target.hp].min
 return recovery.to_f / target.maxhp
 end
 end
 这两段东西,貌似是角色用的,敌人身上很不给力。
 
 
 cqr19950307于2011-6-18 19:56补充以下内容:
 #--------------------------------------------------------------------------
 # ● 技能评价
 #--------------------------------------------------------------------------
 def evaluate_skill
 @value = 0
 unless battler.skill_can_use?(skill)
 return
 end
 if skill.for_opponent?
 targets = opponents_unit.existing_members
 elsif skill.for_user?
 targets = [battler]
 elsif skill.for_dead_friend?
 targets = friends_unit.dead_members
 else
 targets = friends_unit.existing_members
 end
 for target in targets
 value = evaluate_skill_with_target(target)
 if skill.for_all?
 @value += value
 elsif value > @value
 @value = value
 @target_index = target.index
 end
 end
 end
 还有这个
 
 
 cqr19950307于2011-6-25 11:05补充以下内容:
 好了解决了。
 | 
 |