Project1

标题: 有没有办法使一个角色绝对魔法无效? [打印本页]

作者: kapoleo    时间: 2012-5-18 15:04
标题: 有没有办法使一个角色绝对魔法无效?
本帖最后由 kapoleo 于 2012-5-24 11:10 编辑

请问有没有办法使一个角色绝对魔法无效?
虽然能够透过魔法伤害率调成0
但角色仍然会响应队友的加持魔法和治疗魔法
所以想问一下有没有某种方法可以使角色「绝对魔法无效」?
补充一下,这角色可以被魔法瞄准,但攻击将会对其无效而已
谢了~~~

PS
如果可以我不用动状态耐性那边
因为把状态耐性调成0
会影响加持/弱化装备的使用
作者: s05s0039    时间: 2012-5-18 15:07
本帖最后由 s05s0039 于 2012-5-18 15:41 编辑

有一個很.......的方法
連補血魔法的公式也加上要扣減目標魔防
然後那個角色魔防改超高
傷害會變0


‘‘──s05s0039于2012-5-18 15:24补充以下内容

這邊回詳細一點吧
把補血魔法公式改100 + a.mat * 2 - b.mdf * 2
然後在要把魔法無效化的角色加上魔防*1000  
就能實現了

狀態無效化
造一個狀態 裡面一個一個放上狀態無效化
可以看一下VA自帶的不死之身
’’


‘‘──s05s0039于2012-5-18 15:38补充以下内容

...我加例子好了
A - 補血師
B - 騎士
我們想要B抵擋任何的治療作用
A的治療魔法補量公式寫上自身魔攻再扣減目標魔防
B的魔防放大1000倍 (這可以透過狀態或主角頁去設)
A放治療魔法 因為要扣掉目標魔防 同時 B的魔防被放大1000倍
這樣 B不會受到任何治療

狀態無效化
是直接把你想要的狀態擋掉
如果你的裝備的加成有寫上幫角色加狀態 那應該也會被擋掉
但如果你的裝備只是單純加屬性那就不會 因為那不是狀態
’’

6.png (93.53 KB, 下载次数: 24)

6.png

作者: kapoleo    时间: 2012-5-18 15:41
本帖最后由 kapoleo 于 2012-5-18 15:42 编辑
s05s0039 发表于 2012-5-18 15:07
有一個很.......的方法
連補血魔法的公式也加上要扣減目標魔防
然後那個角色魔防改超高


咦....我有个想法...这样可以吗?
首先治疗魔法那边伤害类型默认为HP恢复
然后下面的公式才加血
那么
把这个「HP恢复」转为「HP伤害」
然后下面的公式设置为减血
那么对正常角色而言负负得正
仍然会加血
而对这「魔法无效」的角色来说
HP伤害的魔法会响应该角色自身的0%魔法伤害率
于是治疗等于对它无效

这样子行吗?


‘‘──kapoleo于2012-5-18 15:56补充以下内容

我有想过设置角色的魔法回避率为100%
但那些命中类型为绝对命中的魔法的状态魔法会不会有冲突?
’’
作者: yachilo    时间: 2012-5-19 16:04
方法有几个:
脚本,事件,状态,公式

公式最简单。
 每个角色设定一个变量,希望无伤的角色把变量设成9999,其他设为0
    法术使用时,最后去扣变量。只要结果小于0,该伤害无效。
 

作者: 迷糊的安安    时间: 2012-5-19 18:50
嘛…… 是要这样的效果么?

只要该技能的类型为【魔法】(而不是无或者特技)就不会对该角色产生任何的结算?
作者: aman1124    时间: 2012-5-19 19:55
先设一个"属性",例如:魔法
然后在技能设定中,伤害类型旁边的"属性"选"魔法"
最后在状态、人物或职业的特征中把加上"属性有效度:魔法0%"
这样就无效化了
如果攻击魔法也要分不同属性,例如水火风土
就把"属性有效度"水火风土都设0%
再麻烦一点,如果攻击技能(物理)也有不同属性
就多加一些属性,例如"魔法-火"、"物理-火"这样
这是不用任何RGSS的方法
用RGSS的话可以加几个属性在同一个技能
作者: hcm    时间: 2012-5-22 12:23
只要所有魔法(包括加持魔法和治疗)的命中类型都是魔法攻击就行了,
然后用公共事件(并行处理,开关在游戏开始就一直开着)给该角色加上魔法闪避状态。
当然图标是可以去掉的。如果别的角色想要用就复制一个用,不可用同一个。
物品命中类型一定为必定命中。
作者: shalicheng2    时间: 2012-5-22 15:46
本帖最后由 shalicheng2 于 2012-5-22 15:58 编辑

给加持魔法设置属性试试,或者直接在装备上那样东西的同时赋予变量,然后把变量算进治疗公式吧
作者: kapoleo    时间: 2012-5-22 20:26
hcm 发表于 2012-5-22 12:23
只要所有魔法(包括加持魔法和治疗)的命中类型都是魔法攻击就行了,
然后用公共事件(并行处理,开关在游 ...

啊.....
这个方法很好
简单又快捷......
我去试试看
谢谢帮忙
作者: aman1124    时间: 2012-5-23 23:34
跟據7樓的思考方向,想出了新的解決方案
不過要修改一下RGSS
在Game_Battler第80行左右add_state的狀態判定中
改為以下語法
  1. #--------------------------------------------------------------------------
  2.   # ● 附加状态
  3.   #--------------------------------------------------------------------------
  4.   def add_state(state_id)
  5.     if state_addable?(state_id)
  6.       add_new_state(state_id) unless state?(state_id)
  7.       reset_state_counts(state_id)
  8.       p @result.hit?
  9.       @result.added_states.push(state_id).uniq! if @result.hit?
  10.     end
  11.   end
复制代码
在加上状态前以 if @result.hit?判定技能是否命中
不命中的话,状态成功变动百分不论多寡都无视
这么一来魔法回避100%也能把魔法附加的状态防卫掉了
经过测试可行,就算状态成功率1000%也能防卫
不过如果技能是必中的话还是没有办法
作者: kapoleo    时间: 2012-5-24 00:16
aman1124 发表于 2012-5-23 23:34
跟據7樓的思考方向,想出了新的解決方案
不過要修改一下RGSS
在Game_Battler第80行左右add_state的狀態判定 ...

成功了成功了~~~
那么这样就可以区别出一些无法对这角色的状态魔法了.......
即使是队友的加持魔法也无效.....
哈.....这让我想起三国杀中的徐庶了
感谢帮忙~~~


话说....刚刚测试时
我使用了一个正常的角色和一个魔法绝对无效的角色
两人同时出战三只只会放毒状态的毒蜂
结果很成功地只有前者才会中毒
但最奇怪的是
...
...
...
为什么这三只毒蜂都集中「只瞄着正常角色」放毒状态
却没有瞄魔法免疫的角色
直到正常角色被毒死之后
那三只毒蜂才对那个魔法免疫的角色放毒状态
这是AI自动识别...会优先攻击正常角色而忽略能免疫魔法的角色吗?
作者: 负零    时间: 2012-5-24 23:03
不是有个魔法闪避吗?单独一个状态 开局就附加...




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