查看: 1208|回复: 4
求魔道脚本的修改
本帖最后由 kixiang 于
18:51 编辑
能不能帮我注明下哪个是技能的发动机率..哪个是杀怪加属性的机率..哪个是技能范围..
入雷魔成功 你会获得 雷魔之迅雷剑
4%概率释放 雷击 10个随机单位 伤害:跟力量 武器熟练度 有关
5%概率释放 雷闪 把周围的敌人一净化减速 并驱散敌人的正面魔法 比如敌人的心灵之火之类
5%概率释放 雷霆一击 对周围的敌人造成伤害 伤害跟生命 力量及武器熟练度有关 生命百分比也少威力越打
3%概率释放 落雷锁魄 对攻击的单体敌人减速 并让它的攻击只有150范围 有颜色跟大小变化
function Trig_LeiWeapon_Conditions takes nothing returns boolean
return ((IsUnitEnemy(GetTriggerUnit(),GetOwningPlayer(GetAttacker()))))and((udg_LeiMo[GetConvertedPlayerId(GetOwningPlayer(GetAttacker()))]))and((IsUnitType(GetAttacker(),UNIT_TYPE_HERO)))and((GetAttacker()==udg_MonkUnitMH[GetConvertedPlayerId(GetOwningPlayer(GetAttacker()))]))
endfunction
function Trig_LeiWeapon_Func001Func001 takes nothing returns boolean
return (IsUnitEnemy(GetFilterUnit(),GetOwningPlayer(GetAttacker())))
endfunction
function Trig_LeiWeapon_Func001Func002001 takes nothing returns boolean
return (IsUnitAliveBJ(GetFilterUnit()))
endfunction
function Trig_LeiWeapon_Func001Func002002 takes nothing returns boolean
return (IsUnitType(GetFilterUnit(),UNIT_TYPE_STRUCTURE)!=true)
endfunction
function Trig_LeiWeapon_Func001Func002 takes nothing returns boolean
return GetBooleanAnd(Trig_LeiWeapon_Func001Func002001(),Trig_LeiWeapon_Func001Func002002())
endfunction
function Trig_LeiWeapon_Func001Func takes nothing returns boolean
return GetBooleanAnd(Trig_LeiWeapon_Func001Func001(),Trig_LeiWeapon_Func001Func002())
endfunction
function Trig_LeiWeapon_Func001Func005A takes nothing returns nothing
call AddSpecialEffectTargetUnitBJ(&overhead&,GetEnumUnit(),&Abilities\\Spells\\Other\\Monsoon\\MonsoonBoltTarget.mdl&)
call DestroyEffect(GetLastCreatedEffectBJ())
call UnitDamageTargetBJ(GetAttacker(),GetEnumUnit(),((I2R(GetHeroLevel(GetAttacker()))*I2R(GetHeroStr(GetAttacker(),true)))*I2R(udg_LeiWeaponL[GetConvertedPlayerId(GetOwningPlayer(GetAttacker()))])),ATTACK_TYPE_NORMAL,DAMAGE_TYPE_NORMAL)
endfunction
function Trig_LeiWeapon_Func001C takes nothing returns boolean
return ((GetRandomInt(1,100)&=4))
endfunction
function Trig_LeiWeapon_Func002Func takes nothing returns boolean
return (IsUnitEnemy(GetFilterUnit(),GetOwningPlayer(GetAttacker())))
endfunction
function Trig_LeiWeapon_Func002Func001 takes nothing returns boolean
return (IsUnitAliveBJ(GetFilterUnit()))
endfunction
function Trig_LeiWeapon_Func002Func002 takes nothing returns boolean
return (IsUnitType(GetFilterUnit(),UNIT_TYPE_STRUCTURE)!=true)
endfunction
function Trig_LeiWeapon_Func002Func takes nothing returns boolean
return GetBooleanAnd(Trig_LeiWeapon_Func002Func001(),Trig_LeiWeapon_Func002Func002())
endfunction
function Trig_LeiWeapon_Func002Func takes nothing returns boolean
return GetBooleanAnd(Trig_LeiWeapon_Func002Func(),Trig_LeiWeapon_Func002Func())
endfunction
function Trig_LeiWeapon_Func002Func005A takes nothing returns nothing
set udg_HuoP=PolarProjectionBJ(GetUnitLoc(GetAttacker()),500.00,GetRandomReal(0,360.00))
call AddSpecialEffectTargetUnitBJ(&origin&,GetEnumUnit(),&Abilities\\Weapons\\Bolt\\BoltImpact.mdl&)
call DestroyEffect(GetLastCreatedEffectBJ())
call AddSpecialEffectTargetUnitBJ(&chest&,GetEnumUnit(),&Abilities\\Spells\\Orc\\Purge\\PurgeBuffTarget.mdl&)
call DestroyEffect(GetLastCreatedEffectBJ())
call AddLightningLoc(&CLPB&,GetUnitLoc(GetEnumUnit()),udg_HuoP)
call DestroyLightning(GetLastCreatedLightningBJ())
call SetUnitMoveSpeed(GetEnumUnit(),150.00)
call UnitRemoveBuffs(GetEnumUnit(),true,false)
call RemoveLocation(udg_HuoP)
endfunction
function Trig_LeiWeapon_Func002C takes nothing returns boolean
return ((GetRandomInt(1,100)&=5))
endfunction
function Trig_LeiWeapon_Func003C takes nothing returns boolean
return ((GetRandomInt(1,100)&=3))
endfunction
function Trig_LeiWeapon_Func004Func takes nothing returns boolean
return (IsUnitEnemy(GetFilterUnit(),GetOwningPlayer(GetAttacker())))
endfunction
function Trig_LeiWeapon_Func004Func001 takes nothing returns boolean
return (IsUnitAliveBJ(GetFilterUnit()))
endfunction
function Trig_LeiWeapon_Func004Func002001 takes nothing returns boolean
return (IsUnitType(GetFilterUnit(),UNIT_TYPE_STRUCTURE)!=true)
endfunction
function Trig_LeiWeapon_Func004Func002002 takes nothing returns boolean
return (IsUnitType(GetFilterUnit(),UNIT_TYPE_HERO)!=true)
endfunction
function Trig_LeiWeapon_Func004Func002 takes nothing returns boolean
return GetBooleanAnd(Trig_LeiWeapon_Func004Func002001(),Trig_LeiWeapon_Func004Func002002())
endfunction
function Trig_LeiWeapon_Func004Func takes nothing returns boolean
return GetBooleanAnd(Trig_LeiWeapon_Func004Func001(),Trig_LeiWeapon_Func004Func002())
endfunction
function Trig_LeiWeapon_Func004Func takes nothing returns boolean
return GetBooleanAnd(Trig_LeiWeapon_Func004Func(),Trig_LeiWeapon_Func004Func())
endfunction
function Trig_LeiWeapon_Func004Func007A takes nothing returns nothing
call AddSpecialEffectTargetUnitBJ(&origin&,GetEnumUnit(),&Abilities\\Spells\\Items\\AIlb\\AIlbSpecialArt.mdl&)
call DestroyEffect(GetLastCreatedEffectBJ())
call UnitDamageTarget(GetAttacker(),GetEnumUnit(),(I2R(GetHeroStr(GetAttacker(),true))*(I2R(udg_LeiWeaponL[GetConvertedPlayerId(GetOwningPlayer(GetAttacker()))])*GetRandomReal(1.00,5.00))),true,false,ATTACK_TYPE_NORMAL,DAMAGE_TYPE_NORMAL,WEAPON_TYPE_WHOKNOWS)
endfunction
function Trig_LeiWeapon_Func004C takes nothing returns boolean
return ((GetRandomInt(1,100)&=10))
endfunction
function Trig_LeiWeapon_Actions takes nothing returns nothing
if (Trig_LeiWeapon_Func001C()) then
call CreateTextTagUnitBJ((((&|cFFFFFF00&+&迅雷之击&)+&|r &)+&|cFFFF0033发动|r&),GetAttacker(),0,10.00,10.00,80.00,60.00,0)
call SetTextTagVelocityBJ(GetLastCreatedTextTag(),70.00,90)
call SetTextTagPermanent(GetLastCreatedTextTag(),false)
call SetTextTagLifespan(GetLastCreatedTextTag(),2.00)
call ForGroupBJ(GetRandomSubGroup(10,GetUnitsInRangeOfLocMatching(700.00,GetUnitLoc(GetAttacker()),Condition(function Trig_LeiWeapon_Func001Func))),function Trig_LeiWeapon_Func001Func005A)
call RemoveLocation(GetUnitLoc(GetAttacker()))
if (Trig_LeiWeapon_Func002C()) then
call CreateTextTagUnitBJ((((&|cFFFFFF00&+&闪电净化&)+&|r &)+&|cFFFF0033发动|r&),GetAttacker(),0,10.00,10.00,80.00,60.00,0)
call SetTextTagVelocityBJ(GetLastCreatedTextTag(),70.00,90)
call SetTextTagPermanent(GetLastCreatedTextTag(),false)
call SetTextTagLifespan(GetLastCreatedTextTag(),2.00)
call ForGroupBJ(GetUnitsInRangeOfLocMatching(400.00,GetUnitLoc(GetAttacker()),Condition(function Trig_LeiWeapon_Func002Func)),function Trig_LeiWeapon_Func002Func005A)
call RemoveLocation(GetUnitLoc(GetAttacker()))
if (Trig_LeiWeapon_Func003C()) then
call CreateTextTagUnitBJ((((&|cFFFFFF00&+&雷魔突袭&)+&|r &)+&|cFFFF0033发动|r&),GetAttacker(),0,10.00,10.00,80.00,60.00,0)
call SetTextTagVelocityBJ(GetLastCreatedTextTag(),70.00,90)
call SetTextTagPermanent(GetLastCreatedTextTag(),false)
call SetTextTagLifespan(GetLastCreatedTextTag(),2.00)
call AddSpecialEffectTargetUnitBJ(&origin&,GetTriggerUnit(),&Abilities\\Spells\\Orc\\LightningShield\\LightningShieldTarget.mdl&)
call DestroyEffect(GetLastCreatedEffectBJ())
call SetUnitMoveSpeed(GetTriggerUnit(),1.00)
call SetUnitAcquireRange(GetTriggerUnit(),150.00)
call SetUnitVertexColorBJ(GetTriggerUnit(),50.00,50.00,100,0)
call SetUnitScalePercent(GetTriggerUnit(),80.00,80.00,80.00)
if (Trig_LeiWeapon_Func004C()) then
call CreateTextTagUnitBJ((((&|cFFFFFF00&+&雷霆一击&)+&|r &)+&|cFFFF0033发动|r&),GetAttacker(),0,10.00,10.00,80.00,60.00,0)
call SetTextTagVelocityBJ(GetLastCreatedTextTag(),70.00,90)
call SetTextTagPermanent(GetLastCreatedTextTag(),false)
call SetTextTagLifespan(GetLastCreatedTextTag(),2.00)
call AddSpecialEffectLocBJ(GetUnitLoc(GetAttacker()),&Abilities\\Spells\\Human\\ThunderClap\\ThunderClapCaster.mdl&)
call DestroyEffect(GetLastCreatedEffectBJ())
call ForGroupBJ(GetUnitsInRangeOfLocMatching(400.00,GetUnitLoc(GetAttacker()),Condition(function Trig_LeiWeapon_Func004Func)),function Trig_LeiWeapon_Func004Func007A)
call RemoveLocation(GetUnitLoc(GetAttacker()))
endfunction
function Trig_LeiWeaponUP_Conditions takes nothing returns boolean
return ((IsUnitEnemy(GetTriggerUnit(),GetOwningPlayer(GetKillingUnitBJ()))))and((udg_LeiMo[GetConvertedPlayerId(GetOwningPlayer(GetKillingUnitBJ()))]))and((GetKillingUnitBJ()==udg_MonkUnitMH[GetConvertedPlayerId(GetOwningPlayer(GetKillingUnitBJ()))]))and((IsUnitType(GetKillingUnitBJ(),UNIT_TYPE_HERO)))
endfunction
function Trig_LeiWeaponUP_Func003C takes nothing returns boolean
return ((udg_WeaponLevelUp[GetConvertedPlayerId(GetOwningPlayer(GetKillingUnitBJ()))]&=200))
endfunction
function Trig_LeiWeaponUP_Func004C takes nothing returns boolean
return ((GetRandomInt(1,100)&=3))
endfunction
function Trig_LeiWeaponUP_Actions takes nothing returns nothing
set udg_WeaponLevelUp[GetConvertedPlayerId(GetOwningPlayer(GetKillingUnitBJ()))]=(udg_WeaponLevelUp[GetConvertedPlayerId(GetOwningPlayer(GetKillingUnitBJ()))]+1)
if (Trig_LeiWeaponUP_Func003C()) then
set udg_WeaponLevelUp[GetConvertedPlayerId(GetOwningPlayer(GetKillingUnitBJ()))]=0
set udg_LeiWeaponL[GetConvertedPlayerId(GetOwningPlayer(GetKillingUnitBJ()))]=(udg_LeiWeaponL[GetConvertedPlayerId(GetOwningPlayer(GetKillingUnitBJ()))]+1)
call DisplayTextToForce(GetPlayersAll(),((GetUnitName(GetKillingUnitBJ())+& 所持有的|cFFFF0000雷魔之迅雷剑|r熟练度为 &)+I2S(udg_LeiWeaponL[GetConvertedPlayerId(GetOwningPlayer(GetKillingUnitBJ()))])))
call DisplayTextToPlayer(GetOwningPlayer(GetKillingUnitBJ()),0,0,(&|cFFFF0000雷魔之迅雷剑|r &+(I2S(udg_WeaponLevelUp[GetConvertedPlayerId(GetOwningPlayer(GetKillingUnitBJ()))])+&/200&)))
if (Trig_LeiWeaponUP_Func004C()) then
call ModifyHeroStat(bj_HEROSTAT_STR,GetKillingUnitBJ(),bj_MODIFYMETHOD_ADD,5)
call ModifyHeroStat(bj_HEROSTAT_AGI,GetKillingUnitBJ(),bj_MODIFYMETHOD_ADD,3)
call ModifyHeroStat(bj_HEROSTAT_INT,GetKillingUnitBJ(),bj_MODIFYMETHOD_ADD,2)
endfunction
{:soso__:}吃饭去..回来再看..
。。。。太长了
Kigami 发表于
。。。。太长了
{:6_333:}貌似雷魔的就特别长...
a677520 发表于
@^_^Goku @鬼子 @轩辕无痕丶 @ou99三六九 @axelrocky
感谢了..貌似找到规律了