查看: 1527|回复: 2

[已经过期] 请问怎样让敌人战斗也能有行动值评价

  [复制链接]
梦石
0
星屑
50
在线时间
16 小时
注册时间
2010-7-1
回帖
21
发表于 2011-6-18 19:42:49 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
本帖最后由 cqr19950307 于 2011-6-24 16:27 编辑

就是说我想给敌人设像自动战斗那样的技能评价,而且要有些敌人有评价功能,有些敌人没有评价功能,这个怎么办?

醉啸 长风万里

梦石
0
星屑
6517
在线时间
6617 小时
注册时间
2007-12-16
回帖
4301

贵宾

发表于 2011-6-18 19:44:06 | 显示全部楼层
“技能评价”什么意思?

还在龟速填坑中
回复

使用道具 举报

梦石
0
星屑
50
在线时间
16 小时
注册时间
2010-7-1
回帖
21
 楼主| 发表于 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补充以下内容:
好了解决了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部