- UID
- 4963262
- 主题
- 18
- 阅读权限
- 20
- 帖子
- 194
- 精华
- 0
- 积分
- 107
- 金钱
- 993
- 荣誉
- 1
- 人气
- 0
- 在线时间
- 292 小时
- 评议
- 0
- 帖子
- 194
- 精华
- 0
- 积分
- 107
- 金钱
- 993
- 荣誉
- 1
- 人气
- 0
- 评议
- 0
|
打开SES.KFS文件里面的uni_features.lua
然后搜索magic_shield。可见如下:
function post_magic_shield(damage,addrage,attacker,receiver,minmax,userdata)
if Attack.act_is_spell(receiver,"special_magic_shield") then
damage=damage*.5<------这个意思是伤害乘以05
addrage=addrage*.5<-----一样意思
else
if (minmax==0) then Attack.act_posthitslave(receiver,"post_magic_shield",0) end
end
return damage,addrage
end
要减免80%就乘以0.2,减免100%的话就直接0,不过建议不要,这样就不好玩了。
而决定魔法护盾的回合数的是在于ses文件里面的specials问价,一样搜索magic_shield
special_magic_shield {
category=s
hide=1
icon=s_overtime_magic_shield.png
attack=scripted
school=1
hint_config=object_spell
hint=special_magic_shield_small
hint_header=special_magic_shield_head
scripted {
nfeatures=magic_immunitet,boss,pawn
script_attack=special_magic_shield_attack
script_calccells=calccells_all_ally
attack_cursor=magicstick
ad_factor=0 // use attack/defense
}
params {
duration=3<-----------------------------------------------------就是这里,改9回合吧!咔咔!想刷护盾的就改成1回合。
power=50 // % 耥桄屙? 箴铐?<----改这个不会对魔法护盾的效力产生一点作用,别废力气了!
type=bonus
}
levels {
// level = mana_cost, crystals_cost to upgrade from previous level
1=1,0
2=2,1
3=3,2
}
}
最后提醒,你的改动对电脑一样有效。当然,你可以自己重新建立一个技能文件,例如magic_shield1这样,就可以避免了。不过这样你还得修改另外一个文件,同样是SES里面的,SPECIAL_ATTACKS.LUA文件,搜索magic_shield,可见。这个是动作文件来的,要重新建立自己的魔法盾系统,就把这3个文件另外复制个新的,改名,然后对应的角色技能改名就好了。不过至今为止貌似也就大法师一个会魔法护盾……
-- ***********************************************
-- * Magic shield
-- ***********************************************
function special_magic_shield_attack()
local target = Attack.get_target()
if (target ~= nil) then
if Attack.act_belligerent(target, nil) == 1 and cur_round<11 then
Game.GVNumInc("magic_shield_used", 1)
end
local duration = Logic.obj_par("special_magic_shield","duration")
local dfactor = Logic.obj_par("special_magic_shield","power")<-----这个其实是废的
Attack.act_del_spell(target,"special_magic_shield")
Attack.act_apply_spell_begin( target, "special_magic_shield", duration, false )
--Attack.act_apply_par_spell( "dfactor", dfactor/100, 0, 0, duration, false)
Attack.act_posthitslave(target, "post_magic_shield", duration)<--------就是这个函数跟最上面的一条决定了魔法护盾的威力,我觉得中间函数的power纯粹是威力文字说明而做的。
Attack.act_apply_spell_end()
Attack.aseq_rotate(0, target, "cast")
-- Attack.act_aseq( 0, "cast" )
dmgts = Attack.aseq_time(0, "x")
Attack.atom_spawn(target, dmgts , "shield" )
end
return true
end
有不明白的留言问我吧。浪费了我4个小时。
|
|