查看: 4931|回复: 5

[转载发布] [正在更新中...]LOL技能合集=。=

[复制链接]
梦石
0
星屑
1249
在线时间
69 小时
注册时间
2019-2-12
回帖
73
发表于 2020-4-26 21:57:52 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 小姐姐一个 于 2020-8-16 17:38 编辑

萌新的我打算挖一个新坑(不知道什么时候能填好吧)
其中包含了一些游戏技能或者被动(其中一些配合大佬们的脚本)
看看我什么时候能更新完吧=。=...那个,欢迎大家提点建议,第一次发这种帖子QwQ
图的话我抽空补上~
更新完成后我也会奉上范例的~
先说好,技能基础伤害不是加点的,如果要加点的技能另求大佬吧~
这里是随等级变化基础伤害
大佬们可以提提建议哦
目前已更新4个
时间刺客(大招)使用了KB.Driver大佬的脚本=.=
R时空断裂 短时间内免疫伤害且无法被选为目标,然后重新出现在数秒前所在的位置。重新出现时,艾克将回复数秒内损失生命值的一部分,并且对附近的所有敌人造成成吨的伤害。
这里把MP值也加了上去=。=,在技能属性公式中再运用公共事件对全体敌人造成伤害.
[pre lang="ruby" line="3"]module CLD99
  module REWIND_HP_MP

    # 回溯的回合数
    DEPTH = 3

    # 信息格式(请不要修改汉字以外的部分)
    FMT = "%s的%s与%s恢复到了#{DEPTH}回合之前"

  end  
end
class RPG::Skill
  def rewind_skill?
    self.note =~ /<回溯>/
  end
end

class Game_Actor
  #--------------------------------------------------------------------------
  # ● 战斗开始处理
  #--------------------------------------------------------------------------
  def on_battle_start
    super
    store_hp_mp
  end
  #--------------------------------------------------------------------------
  # ● 回合结束处理
  #--------------------------------------------------------------------------
  def on_turn_end
    super
    store_hp_mp
  end
  #--------------------------------------------------------------------------
  # ● 战斗结束处理
  #--------------------------------------------------------------------------
  def on_battle_end
    super
    clear_stroring_hp_mp
  end

  def store_hp_mp
    if skills.any?{|s| s.rewind_skill? }
      @storing_hp ||= []
      @storing_mp ||= []
      @storing_hp << @hp
      @storing_mp << @mp
    end
  end

  def rewind_hp_mp
    turn = [$game_troop.turn_count - CLD99::REWIND_HP_MP::DEPTH, 0].max
    @hp = @storing_hp[turn]
    @mp = @storing_mp[turn]
  end

  def clear_stroring_hp_mp
    if skills.any?{|s| s.rewind_skill? }
      @storing_hp && @storing_hp.clear
      @storing_mp && @storing_mp.clear
    end
  end
end

class Scene_Battle
  #--------------------------------------------------------------------------
  # ● 发动技能/物品
  #--------------------------------------------------------------------------
  alias invoke_item_for_rewind_hp_mp invoke_item
  def invoke_item(target, item)
    invoke_item_for_rewind_hp_mp(target, item)
    if item.is_a?(RPG::Skill) && item.rewind_skill?
      target.rewind_hp_mp
    end
  end
end

class Window_BattleLog
  #--------------------------------------------------------------------------
  # ● 显示行动结果
  #--------------------------------------------------------------------------
  alias display_action_results_for_rewind_hp_mp display_action_results
  def display_action_results(target, item)
    if item.is_a?(RPG::Skill) && item.rewind_skill?
      add_text(CLD99::REWIND_HP_MP::FMT % [target.name, Vocab.hp, Vocab.mp])
    end
    display_action_results_for_rewind_hp_mp(target, item)
  end
end[/pre]


[/quote]

诺手(大招)R诺克萨斯断头台 跃向目标英雄并进行致命打击,造成100/200/300(+0.75)点真实伤害。 目标身上的每层出血效果,都会使【诺克萨斯断头台】额外造成20%的伤害。


在伤害公式里写:(多花里胡哨都行,写不开在脚本里写,详细教程在救世小树大佬的帖子https://rpg.blue/forum.php?mod=viewthread&tid=307316)
比如这个:  b.hp <= 100 ? b.hp + a.add.state(1).to_i : 100
意思是,敌人受到100点真实伤害,如果敌人死亡,给自己1号状态。
然后再创一个公共事件,分歧—判定这个角色是否有1号状态,然后在公共事件中写上脚本(给自己加怒气值$game_actors[角色id].tp = $game_actors[角色id].tp + 100,100也就是返还消耗的怒气),最后在清除这个状态,就完成了

原本技能是可以刷新的,那就在公共事件下继续
搞多些选项,(应该是8个敌人)选定刷新技能第二次要进行攻击的敌人,然后有个选项是强制技能攻击敌人...这样...应该就行了吧
最后别忘了在技能伤害公式下面的属性栏里点上这个公共事件。

剑魔(被动/大招)又使用了KB.Driver大佬的脚本=.=
E暗影冲决 被动效果:剑魔会获得治疗效果
[pre lang="ruby" line="3"]module CLD99
  module Dracula

    DRAIN_STATE_ID = 1
    # 获得此ID状态后,所有攻击带吸血

    DRAIN_RATE = 0.3
    # 因上面的情况允许吸血时的比例
#这个随便写 到后面得调的~

  end
end

class Game_Battler
  #--------------------------------------------------------------------------
  # ● [追加]是否所有攻击带吸血
  #--------------------------------------------------------------------------
  def dracula?
    state?(CLD99::Dracula::DRAIN_STATE_ID)
  end
  #--------------------------------------------------------------------------
  # ● [别名修改]计算伤害
  #--------------------------------------------------------------------------
  alias :make_damage_value_for_dracula :make_damage_value
  def make_damage_value(user, item)
    make_damage_value_for_dracula(user, item)
    @result.make_dracula(item) if user.actor? && user.dracula?
  end
end

class Game_ActionResult
  attr_reader :dracula
  #--------------------------------------------------------------------------
  # ● [追加]计算吸血
  #--------------------------------------------------------------------------
  def make_dracula(item)
    return if item.damage.drain? # 自带吸血的技能不参与
    return if @hp_damage < 0     # 回复类技能不参与
    @hp_drain = (@hp_damage * CLD99::Dracula::DRAIN_RATE).to_i
    @dracula = true
  end  
  #--------------------------------------------------------------------------
  # ● [别名修改]获取 HP 伤害的文字
  #--------------------------------------------------------------------------
  alias hp_damage_text_for_dracula hp_damage_text
  def hp_damage_text
    if @dracula
      fmt = "%s造成了%s伤害,吸收了%s%s"
      return sprintf(fmt, @battler.name, @hp_damage, @hp_drain, Vocab.hp)
    end
    hp_damage_text_for_dracula
  end
end

class Window_BattleLog
  #--------------------------------------------------------------------------
  # ● 显示 HP 伤害
  #--------------------------------------------------------------------------
  alias :display_hp_damage_for_dracula :display_hp_damage
  def display_hp_damage(target, item)
    target.perform_damage_effect if target.result.dracula
    display_hp_damage_for_dracula(target, item)
  end
end[/pre]
之后是剑魔大招 期间加随等级变化的物理攻击和回复能力
随等级变化的物理攻击: 详细看我这个帖子吧,俺也不太会,问的大佬,建议用置顶的,亲测有效https://rpg.blue/thread-482465-1-1.html
然后在敌群-事件-回合结束时-间隔:回合中(建议用公共事件,有点多)写很多的东西,图已在下面给出

(真的太感谢KB.Driver大佬了=.=)

瑟提(被动,W)半兽之心 瑟提每损失5%生命值,生命回复提高0.25/0.5/1/2(于1/6/11/16级变化)
[pre lang="ruby" line="1"]
class Scene_Battle < Scene_Base
  
  alias vip20140805_1 process_action
  #--------------------------------------------------------------------------
  # ● 战斗行动结束时运行公共事件
  #--------------------------------------------------------------------------
  def process_action
    vip20140805_1
#括号里记得填上对应角色id~这里我有点懒 只写了3个等级
#敌人攻击后变量就会变化一次 然后在敌群-事件-回合结束时-间隔:回合-脚本 $game_actors[].hp += $game_variables[1]
        if $game_actors[].level == 18
          $game_variables[1] = (2 * (1 - ( 1.0 * $game_actors[].hp) / (1.0 * $game_actors[].mhp)) * 100 / 5).to_i      
        elsif $game_actors[].level >= 11
          $game_variables[1] = (1 * (1 - ( 1.0 * $game_actors[].hp) / (1.0 * $game_actors[].mhp)) * 100 / 5).to_i
        else
          $game_variables[1] = (0.25 * (1 - ( 1.0 * $game_actors[].hp) / (1.0 * $game_actors[].mhp)) * 100 / 5).to_i   
       end
  end
end[/pre]
W-蓄意轰拳
首先是被动吧 受到的100%伤害转化为豪意值 这里我打算吧TP值改成豪意值
[pre lang="ruby" line="1"]
        #受到攻击的100%转化为tp值https://rpg.blue/thread-482848-1-1.html
class Game_ActionResult
  alias old_make_damage_old make_damage
  def make_damage(value, item)
    old_make_damage_old(value, item)
    $charge_tp_damage = value if item.damage.to_hp?
  end
end

class Game_Battler < Game_BattlerBase

  attr_accessor   :charge_tp_damage

  alias old_initialize_old initialize
  def initialize
    @charge_tp_damage = 0
    old_initialize_old
  end
  
  alias old_charge_tp_by_damage_old charge_tp_by_damage
  def charge_tp_by_damage(damage_rate)
    @charge_tp_damage = $charge_tp_damage
    if @actor_id == 8 && @charge_tp_damage > 0
      self.tp += @charge_tp_damage
      @charge_tp_damage = 0
    else
      old_charge_tp_by_damage_old(damage_rate)
      @charge_tp_damage = 0
    end
  end
end[/pre]
然后在game_battler里找到700-800行
  #--------------------------------------------------------------------------
  # ● 初始化目标 TP
  #--------------------------------------------------------------------------
  def init_tp
    if @actor_id == ?
#写上该角色的id
      self.tp = 0
      else
    self.tp = rand * 25
    end
  end
Game_BattlerBase里的500行
  #--------------------------------------------------------------------------
  # ● 获取 TP 的最大值
  #--------------------------------------------------------------------------
  def max_tp
    return (self.mhp * 0.5).to_i if @actor_id == 8
    return 100
end
534行
  #--------------------------------------------------------------------------
  # ● 获取 TP 的比率
  #--------------------------------------------------------------------------
def tp_rate
  if @actor_id == 8
   @tp.to_f / (self.mhp * 0.5).to_i
  else
    @tp.to_f / 100
       end
end
现在 豪意值就做好了
开始做个技能了(写上伤害公式,写不开在脚本里写,详细教程在救世小树大佬的帖子6楼https://rpg.blue/forum.php?mod=viewthread&tid=307316)
我的是这样
value = user.level == 18 ? 55 + (user.tp * (25 + user.atk * 0.1) / 100) : user.level >= 11 ? 45 + (user.tp * (25 + user.atk * 0.1) / 100) : 35 + (user.tp * (25 + user.atk * 0.1) / 100)
user.add_state(1)#记得填上ID
解释一下吧
35/45/55这个是基础伤害值 劲量少点
(25 + user.atk * 0.1)这里是 25%的豪意值 加上每10点物理攻击加1%
然后在使用后获得1回合的状态,在敌群-事件-回合结束时-间隔:回合-分歧-如果[]的状态是[]-脚本 $game_actors[].tp = 0
再解释一下吧
为什么不直接去TP值?非得这么麻烦
试试就知道了,在技能页面中用公共事件去除TP会导致仅有一个敌人造成正常伤害,第二个敌人就只会受到基础伤害惹~
为什么去除TP值?
这里视为豪意值,释放技能后豪意值清除,不然的话...一直放满豪意值的技能,伤害这不拉胯?
另外建议在状态设置护盾值什么的,这里就不多写了
最后的话,建议使用技能冷却脚本,善用搜索

记得收藏哦,时不时看一眼,主题分类什么的搞不懂,就当是转载的吧AwA~

剑魔大招-魄视为剑魔

剑魔大招-魄视为剑魔

评分

参与人数 3赞 +3 收起 理由
171可达鸭 + 1 精品文章
chd114 + 1 塞糖
dst1996 + 1 塞糖

查看全部评分

头像被屏蔽
梦石
0
星屑
5706
在线时间
922 小时
注册时间
2013-8-29
回帖
1401
发表于 2020-4-26 23:26:18 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

梦石
0
星屑
1249
在线时间
69 小时
注册时间
2019-2-12
回帖
73
 楼主| 发表于 2020-8-16 17:10:21 | 显示全部楼层
来了,开始正常更新了~
回复

使用道具 举报

梦石
0
星屑
9813
在线时间
1647 小时
注册时间
2012-6-6
回帖
306
发表于 2020-8-16 18:39:14 | 显示全部楼层

回帖奖励 +10 星屑

本帖最后由 流浪杰哥 于 2020-8-16 18:41 编辑

很多英雄的技能都很有意思,支持支持,希望楼主未来能够做出更多的技能效果!
回复

使用道具 举报

梦石
0
星屑
254
在线时间
24 小时
注册时间
2018-7-14
回帖
3
发表于 2021-9-21 13:54:39 | 显示全部楼层

回帖奖励 +10 星屑

你的艾克脚本写的很不错,但是鄙人想求那种能全局回溯(类似于时删)并且是备注而不是指定向的那种回溯。
回复

使用道具 举报

梦石
0
星屑
12824
在线时间
1010 小时
注册时间
2019-11-5
回帖
2329

极短27参与极短25参与极短24参与

发表于 2021-9-21 17:02:45 | 显示全部楼层

回帖奖励 +10 星屑


  这是在回合制上的大招吧?!那技能里位移的部分就没有意义了呀
风继续吹,不忍远离。年少轻狂,眼神明亮,最好的年纪,最好的时光。希望岁月是一场春梦
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部