mirror of
https://github.com/lifestorm/wnsrc.git
synced 2025-12-17 13:53:45 +03:00
Upload
This commit is contained in:
390
lua/entities/npc_vj_hla_zombiegunner/init.lua
Normal file
390
lua/entities/npc_vj_hla_zombiegunner/init.lua
Normal file
@@ -0,0 +1,390 @@
|
||||
--[[
|
||||
| This file was obtained through the combined efforts
|
||||
| of Madbluntz & Plymouth Antiquarian Society.
|
||||
|
|
||||
| Credits: lifestorm, Gregory Wayne Rossel JR.,
|
||||
| Maloy, DrPepper10 @ RIP, Atle!
|
||||
|
|
||||
| Visit for more: https://plymouth.thetwilightzone.ru/
|
||||
--]]
|
||||
|
||||
AddCSLuaFile("shared.lua")
|
||||
include('shared.lua')
|
||||
/*-----------------------------------------------
|
||||
*** Copyright (c) 2012-2016 by DrVrej, All rights reserved. ***
|
||||
No parts of this code or any of its contents may be reproduced, copied, modified or adapted,
|
||||
without the prior written consent of the author, unless otherwise indicated for stand-alone materials.
|
||||
-----------------------------------------------*/
|
||||
ENT.Model = {"models/creatures/zombies/zombine_gunner.mdl"} -- The game will pick a random model from the table when the SNPC is spawned | Add as many as you want
|
||||
ENT.HullType = HULL_HUMAN
|
||||
ENT.EntitiesToNoCollide = {"npc_vj_hla_ocrab","npc_vj_hla_hcrab","npc_vj_hla_ahcrab","npc_vj_hla_fcrab","npc_vj_hla_bcrab","npc_vj_hla_rcrab","npc_vj_hla_fhcrab","npc_drg_headcrabv2_mdcversion","npc_drg_poisonheadcrabv2_mdcversion","npc_drg_fastheadcrabv2_mdcversion","npc_vj_hla_bcrab_hl2"} -- Entities to not collide with when HasEntitiesToNoCollide is set to true
|
||||
------ AI / Relationship Variables ------
|
||||
ENT.VJ_NPC_Class = {"CLASS_ZOMBIE"} -- NPCs with the same class with be allied to each other
|
||||
-- ====== Blood-Related Variables ====== --
|
||||
ENT.Bleeds = true -- Does the SNPC bleed? (Blood decal, particle, etc.)
|
||||
ENT.BloodColor = "Red" -- The blood type, this will determine what it should use (decal, particle, etc.)
|
||||
-- ====== Movement & Idle Variables ====== --
|
||||
ENT.AnimTbl_IdleStand = {ACT_IDLE_SMG1} -- The idle animation table when AI is enabled | DEFAULT: {ACT_IDLE}
|
||||
ENT.AnimTbl_Walk = {ACT_RUN_RIFLE} -- Set the walking animations | Put multiple to let the base pick a random animation when it moves
|
||||
ENT.AnimTbl_Run = {ACT_RUN_RIFLE} -- Set the running animations | Put multiple to let the base pick a random animation when it moves
|
||||
ENT.DisableWandering = true -- Disables wandering when the SNPC is idle
|
||||
--ENT.CanThrowBackDetectedGrenades = false -- Should it pick up the detected grenade and throw it away or to the enemy?
|
||||
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
------ Melee Attack Variables ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
ENT.HasMeleeAttack = true -- Should the SNPC have a melee attack?
|
||||
ENT.MeleeAttackDamage = 10
|
||||
-- ====== Animation Variables ====== --
|
||||
ENT.AnimTbl_MeleeAttack = {ACT_MELEE_ATTACK1} -- Melee Attack Animations
|
||||
ENT.NextMeleeAttackTime = 4 -- How much time until it can use a melee attack?
|
||||
-- ====== Corpse Variables ====== --
|
||||
ENT.HasDeathRagdoll = true -- If set to false, it will not spawn the regular ragdoll of the SNPC
|
||||
ENT.HasDeathAnimation = true -- Does it play an animation when it dies?
|
||||
ENT.AnimTbl_Death = {} -- Death Animations
|
||||
--ENT.DeathCorpseModel = {"models/creatures/zombies/zombine.mdl"} -- The corpse model that it will spawn when it dies | Leave empty to use the NPC's model | Put as many models as desired, the base will pick a random one.
|
||||
ENT.DeathCorpseSetBoneAngles = true -- This can be used to stop the corpse glitching or flying on death
|
||||
-- ====== Flinching Variables ====== --
|
||||
ENT.CanFlinch = 1 -- 0 = Don't flinch | 1 = Flinch at any damage | 2 = Flinch only from certain damages
|
||||
ENT.FlinchChance = 1 -- Chance of it flinching from 1 to x | 1 will make it always flinch
|
||||
ENT.AnimTbl_Flinch = {} -- If it uses normal based animation, use this
|
||||
-- ====== Standing-Firing Variables ====== --
|
||||
--ENT.Weapon_FiringDistanceFar = 1000 -- How far away it can shoot
|
||||
--ENT.Weapon_FiringDistanceClose = 0 -- How close until it stops shooting
|
||||
ENT.WeaponBackAway_Distance = 0 -- When the enemy is this close, the SNPC will back away | 0 = Never back away
|
||||
--ENT.HasWeaponBackAway = false -- Should the SNPC back away if the enemy is close?
|
||||
ENT.AnimTbl_WeaponAim = {ACT_IDLE_ANGRY_SMG1} -- Animations played when the NPC is supposed to raise/aim its weapon | EX: Gun is out of ammo, combat idle, etc.| DEFAULT: {ACT_IDLE_ANGRY}
|
||||
ENT.AnimTbl_WeaponAttack = {ACT_IDLE_ANGRY_SMG1} -- Animation played when the SNPC does weapon attack
|
||||
ENT.AnimTbl_WeaponAttackCrouch = {ACT_CROUCHIDLE} -- Animation played when the SNPC does weapon attack while crouching | For VJ Weapons
|
||||
ENT.AnimTbl_WeaponAttackFiringGesture = {ACT_GESTURE_RANGE_ATTACK_SMG1} -- Firing Gesture animations used when the SNPC is firing the weapon
|
||||
-- ====== Moving-Firing Variables ====== --
|
||||
ENT.HasShootWhileMoving = false -- Can it shoot while moving?
|
||||
-- ====== Move Randomly While Firing Variables ====== --
|
||||
ENT.MoveRandomlyWhenShooting = false -- Should it move randomly when shooting?
|
||||
-- ====== Reloading Variables ====== --
|
||||
ENT.AllowWeaponReloading = true -- If false, the SNPC will no longer reload
|
||||
ENT.AnimTbl_WeaponReload = {ACT_RELOAD} -- Animations that play when the SNPC reloads-- ====== File Path Variables ====== --
|
||||
------ Grenade Attack Variables ------
|
||||
ENT.HasGrenadeAttack = true -- Should the SNPC have a grenade attack?
|
||||
ENT.GrenadeAttackEntity = "obj_vj_xen_grenade" -- The entity that the SNPC throws | Half Life 2 Grenade: "npc_grenade_frag"
|
||||
ENT.GrenadeAttackAttachment = "anim_attachment_LH" -- The attachment that the grenade will spawn at | false = Custom position
|
||||
-- ====== Animation Variables ====== --
|
||||
ENT.AnimTbl_GrenadeAttack = {"ACT_COMBINE_THROW_GRENADE"} -- Grenade Attack Animations
|
||||
ENT.TimeUntilGrenadeIsReleased = 1.4 -- Time until the grenade is released
|
||||
-- ====== Distance & Chance Variables ====== --
|
||||
--ENT.ThrowGrenadeChance = 1 -- Chance that it will throw the grenade | Set to 1 to throw all the time
|
||||
-- Leave blank if you don't want any sounds to play
|
||||
ENT.SoundTbl_FootStep = {"creatures/zombine_gunner/gear1.wav","creatures/zombine_gunner/gear2.wav","creatures/zombine_gunner/gear3.wav"}
|
||||
ENT.SoundTbl_Idle = {"creatures/zombine_gunner/zombine_idle1.wav","creatures/zombine_gunner/zombine_idle2.wav","creatures/zombine_gunner/zombine_idle3.wav","creatures/zombine_gunner/zombine_idle4.wav"}
|
||||
ENT.SoundTbl_Alert = {"creatures/zombine_gunner/zombine_alert1.wav","creatures/zombine_gunner/zombine_alert2.wav","creatures/zombine_gunner/zombine_alert3.wav","creatures/zombine_gunner/zombine_alert4.wav","creatures/zombine_gunner/zombine_alert5.wav","creatures/zombine_gunner/zombine_alert6.wav","creatures/zombine_gunner/zombine_alert7.wav"}
|
||||
ENT.SoundTbl_GrenadeAttack = {"creatures/zombine_gunner/zombine_readygrenade1.wav","creatures/zombine_gunner/zombine_readygrenade2.wav"}
|
||||
ENT.SoundTbl_Pain = {"creatures/zombine_gunner/zombine_pain1.wav","creatures/zombine_gunner/zombine_pain2.wav","creatures/zombine_gunner/zombine_pain3.wav","creatures/zombine_gunner/zombine_pain4.wav"}
|
||||
ENT.SoundTbl_Death = {"creatures/zombine_gunner/zombine_die1.wav","creatures/zombine_gunner/zombine_die2.wav"}
|
||||
|
||||
ENT.FootStepTimeRun = 0.35 -- Next foot step sound when it is running
|
||||
ENT.FootStepTimeWalk = 0.35 -- Next foot step sound when it is walking
|
||||
|
||||
ENT.AlertAnim = false
|
||||
ENT.Alert2Anim = false
|
||||
ENT.GrenadeLook = false
|
||||
-------------------------------------------------------------------------------------------------------------------
|
||||
function ENT:CustomOnPreInitialize()
|
||||
if GetConVarNumber("vj_hla_enable_hard_difficulty") == 1 then
|
||||
self.StartHealth = 90
|
||||
else
|
||||
self.StartHealth = 80
|
||||
end
|
||||
end
|
||||
|
||||
function ENT:CustomOnThink()
|
||||
/*
|
||||
if self:IsMoving() and not self:GetEnemy() then
|
||||
if self:GetPos():Distance(self:GetCurWaypointPos()) <= 30 then
|
||||
if self:GetSequenceActivityName(self:GetSequence()) == "ACT_RUN_RIFLE" or self:GetSequenceActivityName(self:GetSequence()) == "ACT_RUN_RIFLE_STIMULATED" then
|
||||
self:VJ_ACT_PLAYACTIVITY("vjseq_ACT_RUN_AGITATED",true,1,false)
|
||||
end
|
||||
end
|
||||
end
|
||||
*/
|
||||
if IsValid(self:GetEnemy()) then
|
||||
if self:GetPos():Distance(self:GetEnemy():GetPos()) <= 300 and self:Health() >= 20 then
|
||||
self.AnimTbl_Run = {ACT_RUN_RIFLE_STIMULATED}
|
||||
else
|
||||
self.AnimTbl_Run = {ACT_RUN_RIFLE}
|
||||
end
|
||||
end
|
||||
if self:Health() < 20 then
|
||||
self.AnimTbl_Walk = {ACT_WALK_HURT}
|
||||
self.AnimTbl_Run = {ACT_WALK_HURT}
|
||||
self.FootStepTimeWalk = .75
|
||||
self.MoveRandomlyWhenShooting = true
|
||||
self.WeaponBackAway_Distance = 150
|
||||
end
|
||||
end
|
||||
|
||||
function ENT:CustomOnAlert(ent)
|
||||
if self.AlertAnim == false and self.Alert2Anim == false then
|
||||
if self:GetSequenceActivityName(self:GetSequence()) == "ACT_IDLE_SMG1" then
|
||||
self.AlertAnim = true
|
||||
self:VJ_ACT_PLAYACTIVITY("ACT_ARM",true,0.916667,true)
|
||||
timer.Simple(5,function()
|
||||
if self:IsValid() then
|
||||
self.AlertAnim = false
|
||||
end
|
||||
end)
|
||||
elseif self:GetSequenceActivityName(self:GetSequence()) == "ACT_IDLE" then
|
||||
self.Alert2Anim = true
|
||||
self:VJ_ACT_PLAYACTIVITY("ACT_ARM2",true,0.916667,true)
|
||||
timer.Simple(5,function()
|
||||
if self:IsValid() then
|
||||
self.Alert2Anim = false
|
||||
end
|
||||
end)
|
||||
end
|
||||
end
|
||||
self.AnimTbl_IdleStand = {ACT_IDLE}
|
||||
end
|
||||
|
||||
function ENT:CustomOnIsAbleToShootWeapon()
|
||||
if self:GetPos():Distance(self:GetEnemy():GetPos()) >= 300 then
|
||||
self:GetActiveWeapon().NPC_NextPrimaryFire = 1.5 -- 0.9
|
||||
self:GetActiveWeapon().NPC_TimeUntilFireExtraTimers = {0.15,0.35,0.55,0.75} -- Extra timers, which will make the gun fire again! | The seconds are counted after the self.NPC_TimeUntilFire!
|
||||
-- self:GetActiveWeapon().NPC_TimeUntilFireExtraTimers = {0.15,0.35} -- Extra timers, which will make the gun fire again! | The seconds are counted after the self.NPC_TimeUntilFire!
|
||||
elseif self:GetPos():Distance(self:GetEnemy():GetPos()) < 300 then
|
||||
-- self:GetActiveWeapon().NPC_NextPrimaryFire = 0.1
|
||||
self:GetActiveWeapon().NPC_NextPrimaryFire = 0.5
|
||||
self:GetActiveWeapon().NPC_TimeUntilFireExtraTimers = {0.1,0.2,0.3,0.4,0.5}
|
||||
-- self:GetActiveWeapon().NPC_TimeUntilFireExtraTimers = {0.1,0.3,0.5,0.7} -- Extra timers, which will make the gun fire again! | The seconds are counted after the self.NPC_TimeUntilFire!
|
||||
end
|
||||
return true
|
||||
end
|
||||
|
||||
function ENT:CustomOnResetEnemy()
|
||||
if self.IsReloadingWeapon == false then
|
||||
-- self:VJ_ACT_PLAYACTIVITY("vjges_ACT_ARM1",false,10.375,false)
|
||||
end
|
||||
end
|
||||
|
||||
function ENT:CustomOnTakeDamage_BeforeDamage(dmginfo,hitgroup)
|
||||
if hitgroup == 11 then
|
||||
self:AddGesture(ACT_FLINCH_HEAD)
|
||||
dmginfo:SetDamage(1.5)
|
||||
ParticleEffect("blood_impact_antlion_01",dmginfo:GetDamagePosition(),self:GetAngles())
|
||||
else
|
||||
ParticleEffect("blood_impact_red_01",dmginfo:GetDamagePosition(),self:GetAngles())
|
||||
end
|
||||
|
||||
if dmginfo:GetDamageType() == DMG_BLAST then
|
||||
self.FlinchChance = 1 -- Chance of it flinching from 1 to x | 1 will make it always flinch
|
||||
self.AnimTbl_Flinch = {ACT_BIG_FLINCH}
|
||||
else
|
||||
self.FlinchChance = 5 -- Chance of it flinching from 1 to x | 1 will make it always flinch
|
||||
self.AnimTbl_Flinch = {"vjseq_explosion_wince_a_s","vjseq_explosion_wince_b_s","vjseq_explosion_wince_c_s"}
|
||||
end
|
||||
end
|
||||
|
||||
function ENT:CustomOnInitialKilled(dmginfo, hitgroup)
|
||||
self:SetBodygroup(self:FindBodygroupByName("headcrab_classic"),1)
|
||||
|
||||
if hitgroup == 11 and GetConVarNumber("vj_hla_enable_hard_difficulty") == 0 then
|
||||
local crabdead = ents.Create("prop_ragdoll")
|
||||
crabdead:SetModel("models/creatures/headcrabs/headcrab_classic.mdl")
|
||||
crabdead:SetPos(self:GetPos()+Vector(0,0,50))
|
||||
crabdead:SetAngles(self:GetAngles())
|
||||
crabdead:Spawn()
|
||||
crabdead:SetCollisionGroup(COLLISION_GROUP_DEBRIS)
|
||||
else
|
||||
local crab = ents.Create("npc_vj_hla_hcrab")
|
||||
crab:SetPos(self:GetPos()+Vector(0,0,50))
|
||||
crab:SetAngles(self:GetAngles())
|
||||
crab:Spawn()
|
||||
crab.ALERTPLS = true
|
||||
crab:VJ_ACT_PLAYACTIVITY("ACT_VICTORY_DANCE",true,1.5,false)
|
||||
end
|
||||
|
||||
if math.random(1,60) == 1 then
|
||||
self.AnimTbl_Death = {"ACT_DIESIMPLE"} //"death_rear"
|
||||
self.DeathAnimationTime = 0.416667
|
||||
elseif math.random(1,60) == 2 then
|
||||
self.AnimTbl_Death = {"ACT_DIESIMPLE2"} //"death_shoulder_a"
|
||||
self.DeathAnimationTime = 1.20833
|
||||
elseif math.random(1,60) == 3 then
|
||||
self.AnimTbl_Death = {"ACT_DIESIMPLE3"} //"new_death_01"
|
||||
self.DeathAnimationTime = 0.708333
|
||||
elseif math.random(1,60) == 4 then
|
||||
self.AnimTbl_Death = {"ACT_DIESIMPLE4"} //"new_death_01_run"
|
||||
self.DeathAnimationTime = 0.833333
|
||||
elseif math.random(1,60) == 5 then
|
||||
self.AnimTbl_Death = {"ACT_DIESIMPLE5"} //"new_death_02"
|
||||
self.DeathAnimationTime = 0.541667
|
||||
elseif math.random(1,60) == 6 then
|
||||
self.AnimTbl_Death = {"ACT_DIESIMPLE6"} //"new_death_05"
|
||||
self.DeathAnimationTime = 0.666667
|
||||
elseif math.random(1,60) == 7 then
|
||||
self.AnimTbl_Death = {"ACT_DIESIMPLE7"} //"new_death_05_run"
|
||||
self.DeathAnimationTime = 0.666667
|
||||
elseif math.random(1,60) == 8 then
|
||||
self.AnimTbl_Death = {"ACT_DIESIMPLE8"} //"new_death_06"
|
||||
self.DeathAnimationTime = 1.125
|
||||
elseif math.random(1,60) == 9 then
|
||||
self.AnimTbl_Death = {"ACT_DIESIMPLE9"} //"new_death_07"
|
||||
self.DeathAnimationTime = 0.75
|
||||
elseif math.random(1,60) == 10 then
|
||||
self.AnimTbl_Death = {"ACT_DIESIMPLE10"} //"new_death_09"
|
||||
self.DeathAnimationTime = 0.583333
|
||||
elseif math.random(1,60) == 11 then
|
||||
self.AnimTbl_Death = {"ACT_DIESIMPLE11"} //"new_death_10"
|
||||
self.DeathAnimationTime = 0.75
|
||||
elseif math.random(1,60) == 12 then
|
||||
self.AnimTbl_Death = {"ACT_DIESIMPLE12"} //"new_death_11"
|
||||
self.DeathAnimationTime = 0.708333
|
||||
elseif math.random(1,60) == 13 then
|
||||
self.AnimTbl_Death = {"ACT_DIESIMPLE13"} //"new_death_12"
|
||||
self.DeathAnimationTime = 1.125
|
||||
elseif math.random(1,60) == 14 then
|
||||
self.AnimTbl_Death = {"ACT_DIESIMPLE14"} //"new_death_13"
|
||||
self.DeathAnimationTime = 1.95833
|
||||
elseif math.random(1,60) == 15 then
|
||||
self.AnimTbl_Death = {"ACT_DIESIMPLE15"} //"new_death_14"
|
||||
self.DeathAnimationTime = 1.58333
|
||||
elseif math.random(1,60) == 16 then
|
||||
self.AnimTbl_Death = {"ACT_DIESIMPLE16"} //"new_death_15"
|
||||
self.DeathAnimationTime = 1.58333
|
||||
elseif math.random(1,60) == 17 then
|
||||
self.AnimTbl_Death = {"ACT_DIESIMPLE17"} //"new_death_16"
|
||||
self.DeathAnimationTime = 0.958333
|
||||
elseif math.random(1,60) == 18 then
|
||||
self.AnimTbl_Death = {"ACT_DIESIMPLE18"} //"new_death_17"
|
||||
self.DeathAnimationTime = 1.125
|
||||
elseif math.random(1,60) == 19 then
|
||||
self.AnimTbl_Death = {"ACT_DIESIMPLE19"} //"new_death_18"
|
||||
self.DeathAnimationTime = 1.08333
|
||||
elseif math.random(1,60) == 20 then
|
||||
self.AnimTbl_Death = {"ACT_DIESIMPLE20"} //"new_death_20"
|
||||
self.DeathAnimationTime = 0.708333
|
||||
elseif math.random(1,60) == 21 then
|
||||
self.AnimTbl_Death = {"ACT_DIESIMPLE21"} //"new_death_20_run"
|
||||
self.DeathAnimationTime = 0.666667
|
||||
elseif math.random(1,60) == 22 then
|
||||
self.AnimTbl_Death = {"ACT_DIESIMPLE22"} //"new_death_21"
|
||||
self.DeathAnimationTime = 1.83333
|
||||
elseif math.random(1,60) == 23 then
|
||||
self.AnimTbl_Death = {"ACT_DIESIMPLE23"} //"new_death_22"
|
||||
self.DeathAnimationTime = 1.25
|
||||
elseif math.random(1,60) == 24 then
|
||||
self.AnimTbl_Death = {"ACT_DIESIMPLE24"} //"new_death_24"
|
||||
self.DeathAnimationTime = 0.833333
|
||||
elseif math.random(1,60) == 25 then
|
||||
self.AnimTbl_Death = {"ACT_DIESIMPLE25"} //"new_death_24_run"
|
||||
self.DeathAnimationTime = 0.75
|
||||
elseif math.random(1,60) == 26 then
|
||||
self.AnimTbl_Death = {"vjseq_new_location_death_01"}
|
||||
self.DeathAnimationTime = 0.94167
|
||||
elseif math.random(1,60) == 27 then
|
||||
self.AnimTbl_Death = {"vjseq_new_location_death_02"}
|
||||
self.DeathAnimationTime = 1.25
|
||||
elseif math.random(1,60) == 28 then
|
||||
self.AnimTbl_Death = {"vjseq_new_location_death_03"}
|
||||
self.DeathAnimationTime = 0.791667
|
||||
elseif math.random(1,60) == 29 then
|
||||
self.AnimTbl_Death = {"vjseq_new_location_death_04"}
|
||||
self.DeathAnimationTime = 1.375
|
||||
elseif math.random(1,60) == 30 then
|
||||
self.AnimTbl_Death = {"vjseq_new_location_death_05"}
|
||||
self.DeathAnimationTime = 1.375
|
||||
elseif math.random(1,60) == 31 then
|
||||
self.AnimTbl_Death = {"vjseq_new_location_death_06"}
|
||||
self.DeathAnimationTime = 1.375
|
||||
elseif math.random(1,60) == 32 then
|
||||
self.AnimTbl_Death = {"vjseq_new_location_death_07"}
|
||||
self.DeathAnimationTime = 1.20833
|
||||
elseif math.random(1,60) == 33 then
|
||||
self.AnimTbl_Death = {"vjseq_new_location_death_08"}
|
||||
self.DeathAnimationTime = 1.20833
|
||||
elseif math.random(1,60) == 34 then
|
||||
self.AnimTbl_Death = {"vjseq_new_location_death_09"}
|
||||
self.DeathAnimationTime = 0.541667
|
||||
elseif math.random(1,60) == 35 then
|
||||
self.AnimTbl_Death = {"vjseq_new_location_death_10"}
|
||||
self.DeathAnimationTime = 1.83333
|
||||
elseif math.random(1,60) == 36 then
|
||||
self.AnimTbl_Death = {"vjseq_new_location_death_11"}
|
||||
self.DeathAnimationTime = 2.33333
|
||||
elseif math.random(1,60) == 37 then
|
||||
self.AnimTbl_Death = {"vjseq_new_location_death_13"}
|
||||
self.DeathAnimationTime = 1.29167
|
||||
elseif math.random(1,60) == 38 then
|
||||
self.AnimTbl_Death = {"vjseq_new_location_death_14"}
|
||||
self.DeathAnimationTime = 2.66667
|
||||
elseif math.random(1,60) == 39 then
|
||||
self.AnimTbl_Death = {"vjseq_new_location_death_15"}
|
||||
self.DeathAnimationTime = 2.16667
|
||||
elseif math.random(1,60) == 40 then
|
||||
self.AnimTbl_Death = {"vjseq_new_location_death_16"}
|
||||
self.DeathAnimationTime = 1.375
|
||||
elseif math.random(1,60) == 41 then
|
||||
self.AnimTbl_Death = {"vjseq_new_location_death_17"}
|
||||
self.DeathAnimationTime = 1.91667
|
||||
elseif math.random(1,60) == 42 then
|
||||
self.AnimTbl_Death = {"vjseq_new_location_death_18"}
|
||||
self.DeathAnimationTime = 2.875
|
||||
elseif math.random(1,60) == 43 then
|
||||
self.AnimTbl_Death = {"vjseq_new_location_death_19"}
|
||||
self.DeathAnimationTime = 1.5
|
||||
elseif math.random(1,60) == 44 then
|
||||
self.AnimTbl_Death = {"vjseq_new_location_death_20"}
|
||||
self.DeathAnimationTime = 1.875
|
||||
elseif math.random(1,60) == 45 then
|
||||
self.AnimTbl_Death = {"vjseq_new_location_death_21"}
|
||||
self.DeathAnimationTime = 1.5
|
||||
elseif math.random(1,60) == 46 then
|
||||
self.AnimTbl_Death = {"vjseq_new_location_death_22"}
|
||||
self.DeathAnimationTime = 1.70833333333
|
||||
elseif math.random(1,60) == 47 then
|
||||
self.AnimTbl_Death = {"vjseq_new_location_death_23"}
|
||||
self.DeathAnimationTime = 1.5
|
||||
elseif math.random(1,60) == 48 then
|
||||
self.AnimTbl_Death = {"vjseq_new_location_death_24"}
|
||||
self.DeathAnimationTime = 1.66667
|
||||
elseif math.random(1,60) == 49 then
|
||||
self.AnimTbl_Death = {"vjseq_new_location_death_25"}
|
||||
self.DeathAnimationTime = 1.625
|
||||
elseif math.random(1,60) == 50 then
|
||||
self.AnimTbl_Death = {"vjseq_new_location_death_26"}
|
||||
self.DeathAnimationTime = 1.375
|
||||
elseif math.random(1,60) == 51 then
|
||||
self.AnimTbl_Death = {"vjseq_new_location_death_27"}
|
||||
self.DeathAnimationTime = 1.33333
|
||||
elseif math.random(1,60) == 52 then
|
||||
self.AnimTbl_Death = {"vjseq_new_location_death_28"}
|
||||
self.DeathAnimationTime = 2.08333
|
||||
elseif math.random(1,60) == 53 then
|
||||
self.AnimTbl_Death = {"vjseq_new_location_death_29"}
|
||||
self.DeathAnimationTime = 1.75
|
||||
elseif math.random(1,60) == 54 then
|
||||
self.AnimTbl_Death = {"vjseq_new_location_death_30"}
|
||||
self.DeathAnimationTime = 1.125
|
||||
elseif math.random(1,60) == 55 then
|
||||
self.AnimTbl_Death = {"vjseq_new_location_death_31"}
|
||||
self.DeathAnimationTime = 1.75
|
||||
elseif math.random(1,60) == 56 then
|
||||
self.AnimTbl_Death = {"vjseq_new_location_death_32"}
|
||||
self.DeathAnimationTime = 1.45833
|
||||
elseif math.random(1,60) == 57 then
|
||||
self.AnimTbl_Death = {"vjseq_new_location_death_33"}
|
||||
self.DeathAnimationTime = 1.41667
|
||||
elseif math.random(1,60) == 58 then
|
||||
self.AnimTbl_Death = {"vjseq_new_location_death_34"}
|
||||
self.DeathAnimationTime = 2
|
||||
elseif math.random(1,60) == 59 then
|
||||
self.AnimTbl_Death = {"vjseq_new_location_death_35"}
|
||||
self.DeathAnimationTime = 1.94167
|
||||
else
|
||||
self.AnimTbl_Death = {"vjseq_new_location_death_36"}
|
||||
self.DeathAnimationTime = 1.44167
|
||||
end
|
||||
end
|
||||
/*-----------------------------------------------
|
||||
*** Copyright (c) 2012-2016 by DrVrej, All rights reserved. ***
|
||||
No parts of this code or any of its contents may be reproduced, copied, modified or adapted,
|
||||
without the prior written consent of the author, unless otherwise indicated for stand-alone materials.
|
||||
-----------------------------------------------*/
|
||||
Reference in New Issue
Block a user