Hi all! ' ; para quem usou essa file , você irá encontrar um bug no bolt de cleric. ,Mas é muito facil de corrigir . Zika me pediu pra postar esse porque tá sem net D:
VÁ EM ~ resource/script/cauculate e procure por function SkillSp_Xlcz ( sklv )
e troque por essa função:
function SkillSp_Xlcz ( sklv ) --¼¼ÄÜ"Spiritual Bolt"µÄspÏûºÄ¹«Ê½
local sp_reduce = 30 + sklv * 2
return sp_reduce
end
function SkillCooldown_Xlcz( sklv )
local Cooldown = 5000 - sklv * 300
return Cooldown
end
function Skill_Xlcz_Begin ( role , sklv )
local sp = Sp(role)
local sp_reduce = SkillSp_Xlcz ( sklv )
if sp - sp_reduce < 0 then
SkillUnable(role)
return
end
Sp_Red (role , sp_reduce )
end
function Skill_Xlcz_End ( ATKER , DEFER , sklv )
if ValidCha(ATKER) == 0 then
LG ( "luascript_err" , "function Skill_Xlcz_End : ATKER as null" )
return
end
if ValidCha(DEFER) == 0 then
LG ( "luascript_err" , "function Skill_Xlcz_End : DEFER as null" )
return
end
-- local atkdmg = Atk_Dmg ( ATKER , DEFER )
local lv_atker = Lv ( TurnToCha ( ATKER ) )
local lv_defer = Lv ( TurnToCha ( DEFER ) )
local sta_atker = Sta(ATKER)
local sta_defer = Sta(DEFER)
local lv_dif = math.max ( ( - 1 ) * 10 , math.min ( 10 , lv_atker - lv_defer ) )
local AddStateLv = 0
AddStateLv = GetChaStateLv ( ATKER , STATE_MLCH )
hpdmg = math.floor (( 10 + sta_atker * 2 ) * ( 1 + sklv * 0.25 ) * ( 1 + lv_dif * 0.025 ))
local map_name_ATKER = GetChaMapName ( ATKER )
local map_name_DEFER = GetChaMapName ( DEFER )
local agi_atker = Agi(ATKER)
local Can_Pk_Garner2 = Is_NormalMonster (DEFER)
if map_name_ATKER == "garner2" or map_name_DEFER == "garner2" or map_name_ATKER == "deathcircle" or map_name_DEFER == "deathcircle" then
if Can_Pk_Garner2 == 0 then
local dmg = MAGIC_Atk_Dmg(ATKER,DEFER)
hpdmg = math.floor (dmg * ( 1 + sklv * 0.1 ) )
-- Notice ( "statetime="..statetime)
end
end
local dmg_fin = Cuihua_Mofa ( hpdmg ,AddStateLv )
local dmg_ElfSkill = ElfSkill_MagicAtk ( hpdmg , ATKER )
dmg_fin = dmg_fin + dmg_ElfSkill
Hp_Endure_Dmg ( DEFER, dmg_fin )
-- LG( "xlcz", "Spiritual Bolt Skill Level=" , sklv ,"Attacker sta=", sta ,"Normal attack damage=", atkdmg , "Skill Damage= " , dmg , "\n" )
end
function MAGIC_Atk_Dmg(a,b) --[[Magical Dmg In CA]]--
local job = GetChaAttr(a, ATTR_JOB) --²»Í¬Ö°Òµ²ÉÓò»Í¬µÄÊôÐԳɳ¤ÂÊ
local sta_atker = Sta(a)
local sta_defer = Sta(b)
local atk_mnatk = math.floor (MnatkIb(a) + sta_atker*Magic_rate1[job] + Magic_rate2[job] * math.pow(math.floor( sta_atker*4/20), 2 ))
local atk_mxatk = math.floor (MxatkIb(a) + sta_atker*Magic_rate1[job] + Magic_rate2[job] * math.pow(math.floor( sta_atker*4/20), 2 ))
local defer_mgic_def = sta_defer * 2
local defer_resist = Resist(b)
local atker_lv = Lv( a )
local defer_lv = Lv( b )
local lv_dis = atker_lv - defer_lv
local lv_eff = 1
if math.abs (lv_dis) >= 1 then
lv_eff =math.min ( math.max ( 0.5 , 1 + 0.025 * lv_dis ) , 1.5 )
end
local atk = math.random( atk_mnatk , atk_mxatk )
local dmg = Magic_Dmg ( atk, defer_mgic_def , defer_resist ) --[[¼ÆËãÕý³£É˺¦Öµ]]--
local mndmg = math.floor( Lv(a) * 0.25 + Mnatk(a) * 0 ) + 1 --[[¼ÆËã×îСÉ˺¦Öµ]]--
dmg =math.max( lv_eff * dmg , mndmg )
return dmg
end
function Magic_Dmg (atk, def, resist ) --[[ÎïÀí¹¥»÷¼ÆËã]]--
local magic_atk = atk
local magic_def = def
local magic_resist = resist
-- LuaPrint ( " Physical Attack= "..phy_atk.." Physical Defense= "..phy_def.."Physical Resist= "..phy_resist )
-- LuaPrint (\n)
-- LG ( " Damage" , "Physical attack= ", phy_atk, "Physical Resist= " , phy_def, " Physical Resist= " , phy_resist, "\n" )
dmg = math.floor( (magic_atk - magic_def ) * (1 - math.min (0.85 , magic_resist/100 ) ))
return dmg
end
Magic_rate1 = {}
Magic_rate2 = {}
Magic_rate1[ JOB_TYPE_XINSHOU ]= 1
Magic_rate1[ JOB_TYPE_JIANSHI ]= 1
Magic_rate1[ JOB_TYPE_LIEREN ]= 1
Magic_rate1[ JOB_TYPE_SHUISHOU ]= 1
Magic_rate1[ JOB_TYPE_MAOXIANZHE ]= 1.5
Magic_rate1[ JOB_TYPE_QIYUANSHI ]= 1.5
Magic_rate1[ JOB_TYPE_JISHI ]= 1
Magic_rate1[ JOB_TYPE_SHANGREN ]= 1
Magic_rate1[ JOB_TYPE_JUJS ]= 1
Magic_rate1[ JOB_TYPE_SHUANGJS ]= 1
Magic_rate1[ JOB_TYPE_JIANDUNSHI ]= 1
Magic_rate1[ JOB_TYPE_XUNSHOUSHI ]= 1
Magic_rate1[ JOB_TYPE_JUJISHOU ]= 1
Magic_rate1[ JOB_TYPE_SHENGZHIZHE ]= 2
Magic_rate1[ JOB_TYPE_FENGYINSHI ]= 3
Magic_rate1[ JOB_TYPE_CHUANZHANG ]= 1
Magic_rate1[ JOB_TYPE_HANGHAISHI ]= 2
Magic_rate1[ JOB_TYPE_BAOFAHU ]= 1
Magic_rate1[ JOB_TYPE_GONGCHENGSHI ]= 1
Magic_rate2[ JOB_TYPE_XINSHOU ]= 0.4
Magic_rate2[ JOB_TYPE_JIANSHI ]= 0.4
Magic_rate2[ JOB_TYPE_LIEREN ]= 0.4
Magic_rate2[ JOB_TYPE_SHUISHOU ]= 0.4
Magic_rate2[ JOB_TYPE_MAOXIANZHE ]= 0.3
Magic_rate2[ JOB_TYPE_QIYUANSHI ]= 0.3
Magic_rate2[ JOB_TYPE_JISHI ]= 0.4
Magic_rate2[ JOB_TYPE_SHANGREN ]= 0.4
Magic_rate2[ JOB_TYPE_JUJS ]= 0.4
Magic_rate2[ JOB_TYPE_SHUANGJS ]= 0.4
Magic_rate2[ JOB_TYPE_JIANDUNSHI ]= 0.4
Magic_rate2[ JOB_TYPE_XUNSHOUSHI ]= 0.4
Magic_rate2[ JOB_TYPE_JUJISHOU ]= 0.4
Magic_rate2[ JOB_TYPE_SHENGZHIZHE ]= 0.35
Magic_rate2[ JOB_TYPE_FENGYINSHI ]= 0.45
Magic_rate2[ JOB_TYPE_CHUANZHANG ]= 0.4
Magic_rate2[ JOB_TYPE_HANGHAISHI ]= 0.35
Magic_rate2[ JOB_TYPE_BAOFAHU ]= 0.4
Magic_rate2[ JOB_TYPE_GONGCHENGSHI ]= 0.4
Done (: