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

Project1

 找回密码
 注册会员
搜索
楼主: Ajucaqiu
打印 上一主题 下一主题

[交流讨论] 大家不妨来说说有趣的技能

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
75 小时
注册时间
2017-4-13
帖子
71
11
发表于 2017-6-7 16:39:18 | 只看该作者
铁布衫:受到伤害时,若受到的伤害等于自身最大HP的1~19%,则无效化,若受到的伤害等于自身最大HP的20%~39%,则受到的伤害减半,若受到的伤害等于自身最大HP的40%~100%,则受到全额伤害
群兽援护:召唤1~3只猎豹出战,当本场战斗我方召唤兽数量大于等于4时,召唤失败,但召唤者的DEF/SDF得到20%的增长(这个技能我目前没能实现,主要是搞不定队伍人数限制,一旦出战人数是满的,召唤物都召不到场上来)
破魔箭:对目标造成ATK*10的伤害,并瞬间抽光目标所有MP(MP归0),若目标受到该攻击前MP就已经为0,则造成的伤害加倍
不动的桥墩:自身HP越接近最大值,受到的伤害越低,具体比例为,当自身HP大于80%时,受到的伤害降低50%,当自身的HP大于40%时,受到的伤害降低30%,当自身的HP小于40%时,则受到全额伤害(这个和第一个类似,但做法不同)
心明镜水:吞噬身上所有异常状态,每个异常状态恢复自身20%最大HP
连锁打击:对目标造成100点伤害,若该次攻击击杀目标,则随机对另一个敌对目标重复一次技能,若再次击杀,则继续重复以上步骤,若技能没有击杀目标,则结束

小弟在做一款高度策略对抗RPG,以上是几个技能的设计,如果大神感兴趣,我可以提供更多技能设计灵感
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
216
在线时间
154 小时
注册时间
2017-2-27
帖子
167

开拓者

12
 楼主| 发表于 2017-6-7 16:40:15 | 只看该作者
soulsaga 发表于 2017-6-7 13:02
HP的10位数決定某个技能的连续打击次数XN
也就是9是最大..9XN
控制HP10位数的数字就能把这技能伤害最大化 ...

用Math.floor()能得到位数的值,然后重复次数的问题我试了几次没成功。。
所以索性直接xXN吧
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
216
在线时间
154 小时
注册时间
2017-2-27
帖子
167

开拓者

13
 楼主| 发表于 2017-6-7 16:41:43 | 只看该作者
怠惰な騎士 发表于 2017-6-7 16:03
求大佬赐教,这里的这些代码是要写在哪里?配合什么插件才能用- -?

需要yep的技能核心和状态核心插件

点评

谢谢解答:D  发表于 2017-6-7 19:07
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
440
在线时间
679 小时
注册时间
2014-3-15
帖子
292

开拓者

14
发表于 2017-6-7 17:33:45 | 只看该作者
本帖最后由 sonicdonggua 于 2017-6-7 17:38 编辑

<whole action>
motion spell: user
animation wait: 10
change variable 10 = $gameTroop.members().length - 1
change variable 18 = 6
BATTLEBACK 3 ADD: battlebacks2, Blast
BATTLEBACK 3 FADE IN, 30
IMMORTAL: targets, true
jump user: 200, 30
move user: point, 540, 400, 30
wait: 40
motion swing: user
wait: 10
if !$gameTroop.members()[0].isDead() && $gameTroop.members()[0].isAppeared()
face user: opponent 0
move user: opponent 0, BACK BASE, 8
motion swing: user
wait: 2
action animation: opponent 0
MOTION DAMAGE: opponent 0
wait: 5
opacity user: 0%, 2
wait: 2
motion swing: user
if $gameTroop.members()[0].stateRate(4) > 0
ADD STATE 4: opponent 0, show
end
move user: point, 540, 400, 1
wait for animation
end
if $gameVariables.value(10) > 0 && !$gameTroop.members()[1].isDead() && $gameTroop.members()[1].isAppeared()
face user: opponent 1
move user: opponent 1, BACK BASE, 8
wait: 2
opacity user: 100%, 2
action animation: opponent 1
MOTION DAMAGE: opponent 1
wait: 5
opacity user: 0%, 2
wait: 2
if $gameTroop.members()[1].stateRate(4) > 0
ADD STATE 4: opponent 1, show
end
motion swing: user
move user: point, 540, 400, 1
wait for animation
end
if $gameVariables.value(10) > 1 && !$gameTroop.members()[2].isDead() && $gameTroop.members()[2].isAppeared()
face user: opponent 2
move user: opponent 2, BACK BASE, 8
wait: 2
opacity user: 100%, 2
action animation: opponent 2
MOTION DAMAGE: opponent 2
wait: 5
opacity user: 0%, 2
wait: 2
if $gameTroop.members()[2].stateRate(4) > 0
ADD STATE 4: opponent 2, show
end
motion swing: user
move user: point, 540, 400, 1
wait for animation
end
if $gameVariables.value(10) > 2 && !$gameTroop.members()[3].isDead() && $gameTroop.members()[3].isAppeared()
face user: opponent 3
move user: opponent 3, BACK BASE, 8
wait: 2
opacity user: 100%, 2
action animation: opponent 3
MOTION DAMAGE: opponent 3
wait: 5
opacity user: 0%, 2
wait: 2
if $gameTroop.members()[3].stateRate(4) > 0
ADD STATE 4: opponent 3, show
end
motion swing: user
move user: point, 540, 400, 1
wait for animation
end
if $gameVariables.value(10) > 3 && !$gameTroop.members()[4].isDead() && $gameTroop.members()[4].isAppeared()
face user: opponent 4
move user: opponent 4, BACK BASE, 8
wait: 2
opacity user: 100%, 2
action animation: opponent 4
MOTION DAMAGE: opponent 4
wait: 5
opacity user: 0%, 2
wait: 2
if $gameTroop.members()[4].stateRate(4) > 0
ADD STATE 4: opponent 4, show
end
motion swing: user
move user: point, 540, 400, 1
wait for animation
end
if $gameVariables.value(10) > 4 && !$gameTroop.members()[5].isDead() && $gameTroop.members()[5].isAppeared()
face user: opponent 5
move user: opponent 5, BACK BASE, 8
wait: 2
opacity user: 100%, 2
action animation: opponent 5
MOTION DAMAGE: opponent 5
wait: 5
opacity user: 0%, 2
wait: 2
if $gameTroop.members()[5].stateRate(4) > 0
ADD STATE 4: opponent 5, show
end
motion swing: user
move user: point, 540, 400, 1
wait for animation
end
if $gameVariables.value(10) > 5 && !$gameTroop.members()[6].isDead() && $gameTroop.members()[6].isAppeared()
face user: opponent 6
move user: opponent 6, BACK BASE, 8
wait: 2
opacity user: 100%, 2
action animation: opponent 6
MOTION DAMAGE: opponent 6
wait: 5
opacity user: 0%, 2
wait: 2
if $gameTroop.members()[6].stateRate(4) > 0
ADD STATE 4: opponent 6, show
end
motion swing: user
move user: point, 540, 400, 1
wait for animation
end
if $gameVariables.value(10) > 6 && !$gameTroop.members()[7].isDead() && $gameTroop.members()[7].isAppeared()
face user: opponent 7
move user: opponent 7, BACK BASE, 8
wait: 2
opacity user: 100%, 2
action animation: opponent 7
MOTION DAMAGE: opponent 7
wait: 5
opacity user: 0%, 2
wait: 2
if $gameTroop.members()[7].stateRate(4) > 0
ADD STATE 4: opponent 7, show
end
move user: point, 540, 400, 1
wait for animation
end
move user: point, 540, 350, 5
animation wait: 15
face user: target
opacity user: 100%, 20
wait for opacity
motion spell: user
animation 374: target
animation wait: 15
move user: forward, 450, 20
jump user: 100, 20
wait: 5
opacity user: 0%, 10
wait: 10
animation wait: 2
action effect
animation wait: 4
action effect
animation wait: 4
action effect
animation wait: 4
action effect
animation wait: 4
action effect
animation wait: 4
action effect
animation wait: 4
action effect
animation wait: 23
DAMAGE RATE: 200%
action effect
animation wait: 20
opacity user: 100%, 5
BATTLEBACK 3 FADE OUT, 20
IMMORTAL: targets, false
jump user: 100, 30
move user: home, 30
</whole action>
剑技·逆转技·月下狂想曲
当敌人队伍中角色存在/未死亡/未隐藏时,主角会冲向该敌人,如果敌人封技抗性不为零,则100%增加封技状态
之后八次剑击造成伤害
<Custom Apply Effect>
if (this.stateRate(1) > 0) {
this.startAnimation(194);
this._hp = 0;
}
</Custom Apply Effect>
<Custom Remove Effect>
this.startAnimation(194);
this._hp = 0;
</Custom Remove Effect>
深渊之魇 当角色死亡抗性不为零时即死,当角色死亡抗性为零时,发动死亡宣告,当若干回合状态移除后即死

点评

hah,so looong  发表于 2017-6-7 18:28
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
33269
在线时间
10505 小时
注册时间
2009-3-15
帖子
4758
15
发表于 2017-6-7 17:41:18 | 只看该作者
路过问下..MV脚本怎么写判断战斗中?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
216
在线时间
154 小时
注册时间
2017-2-27
帖子
167

开拓者

16
 楼主| 发表于 2017-6-7 18:24:45 | 只看该作者
zhujunjie988788 发表于 2017-6-7 16:39
铁布衫:受到伤害时,若受到的伤害等于自身最大HP的1~19%,则无效化,若受到的伤害等于自身最大HP的20%~39% ...

铁布衫:这个技能可以在伤害前判断
<Custom React Effect>
if (value < target.mhp*0.19){target.gainBarrier(value, 0);}//我是这个思路,加个盾效果一样
...
</Custom React Effect>
召唤兽的话你把参战人数上限调高就好了啊,高得你不可能达到
破魔剑:
<Damage Formula>
value = user.atk*10;
if (target.mp <= 0){value *= 2;}
target.gainMp(target.mp);
</Damage Formula>
桥墩好像一样的吧。。
加血:所谓异常状态其实和普通状态没什么区别,所以你还要用状态分类加以区分
<Custom Select Condition>
condition = target._states.length > 0;
</Custom Select Condition>

<Damage Formula>
var states = target._states.length;
value = (user.mhp*0.2) * states;
</Damage Formula>

<Pre-Damage Eval>
while (target._states.length > 0) {
var stateId = target._states.shift();
target.removeState(stateId);}
</Pre-Damage Eval>
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
216
在线时间
154 小时
注册时间
2017-2-27
帖子
167

开拓者

17
 楼主| 发表于 2017-6-7 18:29:29 | 只看该作者
soulsaga 发表于 2017-6-7 17:41
路过问下..MV脚本怎么写判断战斗中?

$gameParty.inBattle()

点评

感谢  发表于 2017-6-7 18:39
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
112
在线时间
376 小时
注册时间
2015-1-26
帖子
203
18
发表于 2017-6-7 18:39:54 | 只看该作者
魔封剑(来自FF6)
效果:使用后自身停止行动,吸收任何人使用的下一个魔法(无论敌我)并转化为自身MP
原理:为自身附加状态(216),停止自身行动;为场上所有人附加状态(217),当有状态(217)的目标施法时,强制中断法术并为魔封剑使用者恢复相当于法术消耗的MP。

——不过说老实话,这个技能在FF6里一点都不实用……

【技能】
编辑器效果:场上所有人附加状态(217)
Code:
<Target: Everybody>
<After Eval>
user.addState(216);
</After Eval>

【状态(216)】
效果:停止行动
code:
<State Motion: Chanting>

【状态(217)】
Code:
<Custom Conclude Effect>
if (this.isMagical()){
  this.damage = 0;
  this.lukEffectRate = 0;
  BattleManager.endAction();
  for (var i = 0; i < $gameParty.aliveMembers().length; i++) {
    var actor = $gameParty.aliveMembers()[i];
    if (actor.isStateAffected(216)){
      actor.gainMp(10);
      actor.startDamagePopup();
      actor.removeState(216);
    }
  actor.removeState(217);
  }
  for (var i = 0; i < $gameTroop._enemies.length; i++) {
  var enemy = $gameTroop._enemies[i];
  enemy.removeState(216);
  enemy.removeState(217);
  }
}
</Custom Conclude Effect>

点评

当然FF6里这招不实用的重要原因是对BOSS的特殊魔法无效。如果是对任何魔法有效的话,理论上莎莉丝小两口可以活活屈死杰夫卡  发表于 2017-6-7 18:58
不过可以改造得实用——比如改成只对敌人生效,或者使用后不停止行动。  发表于 2017-6-7 18:56
我也觉得不实用。。。  发表于 2017-6-7 18:54
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
33269
在线时间
10505 小时
注册时间
2009-3-15
帖子
4758
19
发表于 2017-6-7 19:08:59 | 只看该作者
本帖最后由 soulsaga 于 2017-6-8 12:11 编辑
zhujunjie988788 发表于 2017-6-7 16:39
铁布衫:受到伤害时,若受到的伤害等于自身最大HP的1~19%,则无效化,若受到的伤害等于自身最大HP的20%~39% ...

队伍人数限制在战斗中解除上限..
rpg_objects.js脚本里搜Game_Party.prototype.maxBattleMembers
JAVASCRIPT 代码复制
  1. Game_Party.prototype.maxBattleMembers = function() {
  2.         if (!$gameParty.inBattle()) {
  3.                 return 4;
  4.                 } else {
  5.     return 99;
  6.     }
  7. };
脚本改成这样

@zhujunjie988788
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
22 小时
注册时间
2013-9-4
帖子
2
20
发表于 2017-7-10 23:41:35 | 只看该作者
我印象最深的是黑龙舞兮云飞扬里两个骷髅小怪的“墓主加油”,这是个毫无效果的技能。
然后墓主人的招牌技是“家财万贯驱穷民”感觉名字很喜感WWWW
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-13 23:45

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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