设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2106|回复: 4
打印 上一主题 下一主题

[已经解决] 攻击回复效果范围

[复制链接]

Lv3.寻梦者

梦石
0
星屑
2180
在线时间
1011 小时
注册时间
2015-10-17
帖子
1285
跳转到指定楼层
1
发表于 2016-4-24 17:36:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
怎样随机攻击5个,6个.7个敌人和随机回复两个,3个,四个5个己方队友的HP

QQ截图20121216141427.png (11.92 KB, 下载次数: 26)

QQ截图20121216141427.png

Lv3.寻梦者

梦石
0
星屑
1358
在线时间
1295 小时
注册时间
2012-8-4
帖子
749
2
发表于 2016-4-24 20:23:31 | 只看该作者
本帖最后由 夜狠简单 于 2016-4-24 20:31 编辑



RUBY 代码复制
  1. module RPG
  2.   class UsableItem < BaseItem
  3.     def initialize
  4.       super
  5.       @scope = 0
  6.       @occasion = 0
  7.       @speed = 0
  8.       @animation_id = 0
  9.       @common_event_id = 0
  10.       @base_damage = 0
  11.       @variance = 20
  12.       @atk_f = 0
  13.       @spi_f = 0
  14.       @physical_attack = false
  15.       @damage_to_mp = false
  16.       @absorb_damage = false
  17.       @ignore_defense = false
  18.       @element_set = []
  19.       @plus_state_set = []
  20.       @minus_state_set = []
  21.     end
  22.     def for_opponent?
  23.       return [1, 2, 3, 4, 5, 6].include?(@scope)
  24.     end
  25.     def for_friend?
  26.       return [7, 8, 9, 10, 11].include?(@scope)
  27.     end
  28.     def for_dead_friend?
  29.       return [9, 10].include?(@scope)
  30.     end
  31.     def for_user?
  32.       return [11].include?(@scope)
  33.     end
  34.     def for_one?
  35.       return [1, 3, 4, 7, 9, 11].include?(@scope)
  36.     end
  37.     def for_two?
  38.       return [5].include?(@scope)
  39.     end
  40.     def for_three?
  41.       return [6].include?(@scope)
  42.     end
  43.     def for_random?
  44.       return [4, 5, 6].include?(@scope)
  45.     end
  46.     def for_all?
  47.       return [2, 8, 10].include?(@scope)
  48.     end
  49.     def dual?
  50.       return [3].include?(@scope)
  51.     end
  52.     def need_selection?
  53.       return [1, 3, 7, 9].include?(@scope)
  54.     end
  55.     def battle_ok?
  56.       return [0, 1].include?(@occasion)
  57.     end
  58.     def menu_ok?
  59.       return [0, 2].include?(@occasion)
  60.     end
  61.     attr_accessor :scope
  62.     attr_accessor :occasion
  63.     attr_accessor :speed
  64.     attr_accessor :animation_id
  65.     attr_accessor :common_event_id
  66.     attr_accessor :base_damage
  67.     attr_accessor :variance
  68.     attr_accessor :atk_f
  69.     attr_accessor :spi_f
  70.     attr_accessor :physical_attack
  71.     attr_accessor :damage_to_mp
  72.     attr_accessor :absorb_damage
  73.     attr_accessor :ignore_defense
  74.     attr_accessor :element_set
  75.     attr_accessor :plus_state_set
  76.     attr_accessor :minus_state_set
  77.   end
  78. end



RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2.   # ● 生成技能或物品目标
  3.   #     obj : 技能或物品
  4.   #--------------------------------------------------------------------------
  5.   def make_obj_targets(obj)
  6.     targets = []
  7.     if obj.for_opponent?
  8.       if obj.for_random?
  9.         if obj.for_one?         # 敌随机单体
  10.           number_of_targets = 1
  11.         elsif obj.for_two?      # 敌随机二体
  12.           number_of_targets = 2
  13.         else                    # 敌随机三体
  14.           number_of_targets = 3
  15.         end
  16.         number_of_targets.times do
  17.           targets.push(opponents_unit.random_target)
  18.         end
  19.       elsif obj.dual?           # 敌单体连续
  20.         targets.push(opponents_unit.smooth_target(@target_index))
  21.         targets += targets
  22.       elsif obj.for_one?        # 敌单体
  23.         targets.push(opponents_unit.smooth_target(@target_index))
  24.       else                      # 敌全体
  25.         targets += opponents_unit.existing_members
  26.       end
  27.     elsif obj.for_user?         # 使用者
  28.       targets.push(battler)
  29.     elsif obj.for_dead_friend?
  30.       if obj.for_one?           # 我方单体(无法行动)
  31.         targets.push(friends_unit.smooth_dead_target(@target_index))
  32.       else                      # 我方全体(无法行动)
  33.         targets += friends_unit.dead_members
  34.       end
  35.     elsif obj.for_friend?
  36.       if obj.for_one?           # 我方单体
  37.         targets.push(friends_unit.smooth_target(@target_index))
  38.       else                      # 我方全体
  39.         targets += friends_unit.existing_members
  40.       end
  41.     end
  42.     return targets.compact
  43.   end
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2180
在线时间
1011 小时
注册时间
2015-10-17
帖子
1285
3
 楼主| 发表于 2016-4-24 21:34:33 | 只看该作者
夜狠简单 发表于 2016-4-24 20:23
module RPG
  class UsableItem < BaseItem
    def initialize

多谢了,可以用了
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1358
在线时间
1295 小时
注册时间
2012-8-4
帖子
749
4
发表于 2016-4-24 21:43:06 | 只看该作者
fjm 发表于 2016-4-24 21:34
多谢了,可以用了
增加4、5、6个随机敌人

优化.zip

807.09 KB, 下载次数: 58

评分

参与人数 1梦石 +2 收起 理由
正太君 + 2 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2180
在线时间
1011 小时
注册时间
2015-10-17
帖子
1285
5
 楼主| 发表于 2016-4-25 17:32:18 | 只看该作者
夜狠简单 发表于 2016-4-24 21:43
[fold=增加4、5、6个随机敌人]=begin
scope
效果的范围

多谢,RMVA中怎样实现这效果,现在我主要用RMVA做游戏

点评

VA有自己的区!VA有自己的区!VA有自己的区!  发表于 2016-4-25 18:34
回复 支持 反对

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-22 01:08

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表