Code:
require("Resources/Script/ActorStates_Constants.lua")
function StandardRailgun(OneShotTime, Power, Accuracy, AdditionalPower)
STATE:SetFrontOffset(275)
STATE:InitLua(0, 1000, 3000, MAKEVECTOR3(50, 280, 0), 250, false, 1000)
Attack1 = CreateCAttack()
Attack1:SetConsumeAmmo( -1 )
Attack1:InitAttack1(WEAPONTYPE_RIFLE, ATTACKATTRIB_AIMED_SHOT, 100, Power + AdditionalPower, AddtionalPower)
Attack1:InitAttack2(MAKERAY(MAKEVECTOR3(0, 0, 0), MAKEVECTOR3(0, 0, -1), RayDistanceLimit), 1, 1, false)
Attack1:SetCollisionRangeAdjust(false, false)
Attack1:SetGhostCalcCollisionRange(true)
Attack1:SetCameraShakeEnable(true, true, 0)
Attack1:SetCameraShakeSetFactor1(50, 25, 30)
Attack1:SetCameraShakeSetFactor2(0, 30, 2000, 3000)
AddAttack(ATTACKS, Attack1)
Attack2 = CreateCAttack()
Attack2:InitAttack1(WEAPONTYPE_RIFLE, ATTACKATTRIB_AIMED_SHOT_2, 100, Power + AdditionalPower, AddtionalPower)
Attack2:InitAttack2(MAKERAY(MAKEVECTOR3(0, 0, 0), MAKEVECTOR3(0, 0, -1), RayDistanceLimit), 1, 1, false)
Attack2:SetCollisionRangeAdjust(false, false)
Attack2:SetGhostCalcCollisionRange(true)
Attack2:AddBlowCondition(3000, 2000)
Attack2:SetConsumeAmmo( -1 )
Attack2:SetCameraShakeEnable(true, true, 0)
Attack2:SetCameraShakeSetFactor1(100, 50, 50)
Attack2:SetCameraShakeSetFactor2(0, 50, 2000, 3000)
AddAttack(ATTACKS, Attack2)
end
function StandardRailgun2(OneShotTime, Power, Accuracy, AdditionalPower)
STATE:SetFrontOffset(275)
STATE:InitLua(0, 1000, 150, MAKEVECTOR3(50, 280, 0), 250, 1000)
ACTORSTATE:SetGunSpreadType(2)
ACTORSTATE:SetInnerAccuracyVary(30, 2, 0, 2)
ACTORSTATE:SetOuterAccuracyVary(35, 2, 0, 4)
Attack1 = CreateCAttack()
Attack1:InitAttack1(WEAPONTYPE_STANDARD_RAILGUN, ATTACKATTRIB_STANDARD_AIMED_SHOT, 0, Power * 0.5 + AdditionalPower, AddtionalPower)
Attack1:InitAttack2(MAKERAY(MAKEVECTOR3(0, 0, 0), MAKEVECTOR3(0, Accuracy, -1), RayDistanceLimit), 1, 1, false)
Attack1:SetCollisionRangeAdjust(false, false)
Attack1:SetGhostCalcCollisionRange(true)
Attack1:AddPushCondition(200, 2000, -5000)
Attack1:SetConsumeAmmo( -1 )
Attack1:SetCameraShakeEnable(true, true, 0)
Attack1:SetCameraShakeSetFactor1(50, 25, 30)
Attack1:SetCameraShakeSetFactor2(0, 50, 2000, 3000)
AddAttack(ATTACKS, Attack1)
end
function StandardZoomIn(OneShotTime, Power, Accuracy, AdditionalPower)
STATE:InitLua(0, 700, MAKEVECTOR3(50, 280, 0), false, 1500)
STATE:SetDistZoom(true, -200)
STATE:SetSnipeAimControl(true, 300, 1000)
STATE:SetCamHeight(true, -110)
ACTORSTATE:SetMouseSensitivityRotate(0.8)
Attack1 = CreateCAttack()
Attack1:InitAttack1(WEAPONTYPE_STANDARD_RAILGUN, ATTACKATTRIB_STANDARD_AIMED_SHOT_2, 0, Power + AdditionalPower, AddtionalPower)
Attack1:InitAttack2(MAKERAY(MAKEVECTOR3(0, 0, 0), MAKEVECTOR3(0, Accuracy, -1), RayDistanceLimit), 1, 1, false)
Attack1:SetCollisionRangeAdjust(false, false)
Attack1:SetGhostCalcCollisionRange(true)
Attack1:AddPushCondition(200, 2000, -5000)
Attack1:SetConsumeAmmo( -1 )
Attack1:SetCameraShakeEnable(true, true, 0)
Attack1:SetCameraShakeSetFactor1(100, 50, 100)
Attack1:SetCameraShakeSetFactor2(100, 0, 2000, 3000)
AddAttack(ATTACKS, Attack1)
end
function StandardZoomIn2(OneShotTime, Power, Accuracy, AdditionalPower)
STATE:InitLua(500, 400, MAKEVECTOR3(50, 280, 0), false, 1500)
STATE:SetDistZoom(true, -200)
STATE:SetSnipeAimControl(true, 400, 1000)
STATE:SetCamHeight(true, -110)
ACTORSTATE:SetMouseSensitivityRotate(0.8)
Attack1 = CreateCAttack()
Attack1:InitAttack1(WEAPONTYPE_STANDARD_RAILGUN, ATTACKATTRIB_STANDARD_AIMED_SHOT_2, 0, Power + AdditionalPower, AddtionalPower)
Attack1:InitAttack2(MAKERAY(MAKEVECTOR3(0, 0, 0), MAKEVECTOR3(0, Accuracy, -1), RayDistanceLimit), 1, 1, false)
Attack1:SetCollisionRangeAdjust(false, false)
Attack1:SetGhostCalcCollisionRange(true)
Attack1:AddBlowCondition(3000, 2000)
Attack1:SetConsumeAmmo( -1 )
Attack1:SetCameraShakeEnable(true, true, 0)
Attack1:SetCameraShakeSetFactor1(100, 50, 100)
Attack1:SetCameraShakeSetFactor2(100, 0, 2000, 3000)
AddAttack(ATTACKS, Attack1)
end