Project1

标题: 请问怎样让敌人战斗也能有行动值评价 [打印本页]

作者: cqr19950307    时间: 2011-6-18 19:42
标题: 请问怎样让敌人战斗也能有行动值评价
本帖最后由 cqr19950307 于 2011-6-24 16:27 编辑

就是说我想给敌人设像自动战斗那样的技能评价,而且要有些敌人有评价功能,有些敌人没有评价功能,这个怎么办?dsu_plus_rewardpost_czw
作者: 仲秋启明    时间: 2011-6-18 19:44
“技能评价”什么意思?
作者: cqr19950307    时间: 2011-6-18 19:55
就是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补充以下内容:
好了解决了。




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1