赞 | 8 |
VIP | 0 |
好人卡 | 0 |
积分 | 26 |
经验 | 0 |
最后登录 | 2024-10-29 |
在线时间 | 314 小时 |
Lv3.寻梦者
- 梦石
- 0
- 星屑
- 2608
- 在线时间
- 314 小时
- 注册时间
- 2022-3-24
- 帖子
- 115
|
半夜更新一个新技能,琢磨了很久总算做出来了。
我将其命名为:电力爆发 相应的状态命名为:电气引擎 是给游戏里使用雷魔法战斗的角色使用的技能
该技能效果为:当角色处于该状态时,初始会获得20层充能。每进行一次普攻获得30层充能,每释放一次技能获得20层充能。充能层数越高,电力爆发的威力越大,在使用电力爆发后所有层数清零。
灵感取自于LOL的电刀,具体效果如下:
需要用到的插件为:战斗核心,状态核心,技能核心。一个技能,一个状态。
首先是状态:电气引擎
<Custom Apply Effect>
target._motordrive = target._motordrive || 0; //定义电气引擎层数变量并赋值
target._motordrive += 20; //初始层数为20
user.setStateCounter(185, 20); //层数计数,185为本状态ID
user.clampStateCounter(185, 0, 100); //限制层数在0~100内
</Custom Apply Effect>
<Custom Confirm Effect>
var skills = []; //定义数组skills
skills.push(313); //将电力爆发的技能ID(此处为313)放入skills数组
if (this.isAttack() && target.isActor() !== user.isActor()) { //判断角色是否进行普攻且对象为敌人
user.addStateCounter(185, 30); //计数+30
user.clampStateCounter(185, 0, 100);
target._motordrive += 30; //电气引擎变量+30
}else if (this.isSkill() && (skills.contains(this.item().id)) && target.isActor() !== user.isActor()){ //如果角色不是普攻,那么判断角色是否使用了技能,且该技能是313号电力爆发,且目标为敌人
user.setStateCounter(185, 0); //计数清零
user.clampStateCounter(185, 0, 100);
target._motordrive = 0; //变量清零
}else if (this.isSkill() && target.isActor() !== user.isActor()) { //如果角色不是普攻,且没有使用电力爆发,但使用了技能且对象为敌人
user.addStateCounter(185, 20); //计数+20
user.clampStateCounter(185, 0, 100);
target._motordrive += 20; //变量+20
}
</Custom Confirm Effect>
技能电力爆发的设置如下:
<Damage Formula>
target._motordrive = target._motordrive || 0; //获取电气引擎中电气引擎的变量
value = Math.floor(user.mat * (target._motordrive * 0.2 + 1)); //定义伤害公式,此处的伤害为角色魔力*(1+电气引擎层数*0.2)并向下取整。
</Damage Formula>
此技能可以设置的更加灵活,例如让角色进行防御,受到伤害,受到治疗等等情况都叠加电气引擎层数,应该可以做的更加有深度。 |
|