Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Classes = {}
- Base_Class = {}
- Base_Class.Stats = {}
- Base_Class.Name = ""
- Base_Class.Desc = ""
- Base_Class.Mdl = ""
- function GenerateClassDesc(cls)
- if !cls || !cls.Stats then return end
- local de = ""
- //PrintTable(cls)
- for k,v in pairs(cls.Stats) do
- if k && v then
- de = de .. Item_Effects[k].disp(v) .. "\n"
- end
- end
- cls.Desc = de
- return de
- end
- //Put Classes Here
- //=====================================================
- //Models
- //models/player/combine_super_soldier.mdl
- //models/player/Alyx.mdl
- //models/player/breen.mdl
- //models/player/barney.mdl
- //models/player/Combine_Soldier.mdl
- //models/player/Police.mdl
- //models/player/gman_high.mdl
- Classes.Elite = table.Copy(Base_Class)
- Classes.Elite.Name = "Elite"
- Classes.Elite.Stats = {Hlt = 115, Con = 65, Sls = 65}
- Classes.Elite.Mdl = "models/player/combine_super_soldier.mdl"
- Classes.Elite.Vo = {}
- Classes.Elite.Vo.Greet =
- {"vo/sniper_specialcompleted04.wav",
- "vo/sniper_battlecry01.wav"}
- Classes.Elite.Vo.Hit =
- {"vo/sniper_specialcompleted19.wav",
- "vo/sniper_specialcompleted17.wav"}
- Classes.Elite.Vo.Struck =
- {"vo/sniper_painsharp01.wav",
- "vo/sniper_painsharp02.wav",
- "vo/sniper_painsharp03.wav",
- "vo/sniper_painsharp04.wav"}
- Classes.Elite.Vo.DieNear =
- {"vo/sniper_goodjob03.wav",
- "vo/sniper_niceshot03.wav",
- "vo/sniper_niceshot02.wav"}
- Classes.Elite.Vo.Death =
- {"vo/sniper_paincrticialdeath01.wav"}
- Classes.Elite.Vo.Buy =
- {"vo/sniper_cheers02.wav",
- "vo/sniper_cheers05.wav",
- "vo/sniper_cheers08.wav"}
- Classes.Raider = table.Copy(Base_Class)
- Classes.Raider.Name = "Raider"
- Classes.Raider.Stats = {Pwr = 90, Dex = 80, Bac = 10}
- Classes.Raider.Mdl = "models/player/Alyx.mdl"
- Classes.Raider.Vo = {}
- Classes.Raider.Vo.Greet =
- {"vo/npc/Alyx/al_excuse03.wav",
- "vo/Streetwar/Alyx_gate/al_readywhenyou.wav"}
- Classes.Raider.Vo.Hit =
- {"vo/npc/Alyx/getback01.wav",
- "vo/npc/Alyx/youreload02.wav"}
- Classes.Raider.Vo.Struck =
- {"vo/npc/Alyx/hurt04.wav",
- "vo/npc/Alyx/hurt05.wav",
- "vo/npc/Alyx/hurt06.wav"}
- Classes.Raider.Vo.DieNear =
- {"vo/npc/Alyx/brutal02.wav"}
- Classes.Raider.Vo.Death =
- {"vo/npc/Alyx/uggh02.wav"}
- Classes.Spy = table.Copy(Base_Class)
- Classes.Spy.Name = "Spy"
- Classes.Spy.Stats = {Chm = 70, Alt = 40, Bfs = 20}
- Classes.Spy.Mdl = "models/player/breen.mdl"
- Classes.Spy.Vo = {}
- Classes.Spy.Vo.Greet =
- {"vo/Citadel/br_bidder_b.wav"}
- Classes.Spy.Vo.Hit =
- {"vo/Citadel/br_mock05.wav"}
- Classes.Spy.Vo.Kill =
- {"vo/Citadel/br_mock06.wav",
- "vo/Citadel/br_mock09.wav",
- "vo/Citadel/br_mock13.wav"}
- Classes.Spy.Vo.Death =
- {"vo/Citadel/br_youneedme.wav"}
- Classes.Spy.Vo.Buy =
- {"vo/Citadel/br_laugh01.wav"}
- Classes.Assault = table.Copy(Base_Class)
- Classes.Assault.Name = "Assault"
- Classes.Assault.Stats = {Pwr = 60, Alt = 40, Jmp = 25}
- Classes.Assault.Mdl = "models/player/barney.mdl"
- Classes.Assault.Vo = {}
- Classes.Assault.Vo.Greet =
- {"vo/npc/Barney/ba_bringiton.wav",
- "vo/npc/Barney/ba_letsdoit.wav"}
- Classes.Assault.Vo.Hit =
- {"vo/npc/Barney/ba_letsgo.wav",
- "vo/npc/Barney/ba_letsdoit.wav"}
- Classes.Assault.Vo.Struck =
- {"vo/npc/Barney/ba_pain01.wav",
- "vo/npc/Barney/ba_pain02.wav",
- "vo/npc/Barney/ba_pain03.wav",
- "vo/npc/Barney/ba_pain04.wav"}
- Classes.Assault.Vo.DieNear =
- {"vo/npc/Barney/ba_imwithyou.wav",
- "vo/npc/Barney/ba_laugh01.wav",
- "vo/npc/Barney/ba_laugh02.wav"}
- Classes.Assault.Vo.Death =
- {"vo/npc/Barney/ba_ohshit03.wav"}
- Classes.Assault.Vo.Buy =
- {"vo/npc/Barney/ba_ohyeah.wav",
- "vo/npc/Barney/ba_laugh01.wav",
- "vo/npc/Barney/ba_laugh03.wav"}
- Classes.SpecOps = table.Copy(Base_Class)
- Classes.SpecOps.Name = "SpecOps"
- Classes.SpecOps.Stats = {Arm = 20, Con = 150}
- Classes.SpecOps.Mdl = "models/player/Combine_Soldier.mdl"
- Classes.SpecOps.Vo = {}
- Classes.SpecOps.Vo.Greet =
- {"vo/pyro_battlecry01.wav",
- "vo/pyro_battlecry02.wav"}
- Classes.SpecOps.Vo.Hit =
- {"vo/pyro_jeers02.wav",
- "vo/pyro_laughhappy01.wav"}
- Classes.SpecOps.Vo.Struck =
- {"vo/pyro_painsharp01.wav",
- "vo/pyro_painsharp02.wav",
- "vo/pyro_painsharp03.wav",
- "vo/pyro_painsharp04.wav"}
- Classes.SpecOps.Vo.Death =
- {"vo/pyro_paincrticialdeath01.wav"}
- Classes.SpecOps.Vo.Buy =
- {"vo/pyro_thanks01.wav",
- "vo/pyro_laughhappy01.wav"}
- Classes.Sniper = table.Copy(Base_Class)
- Classes.Sniper.Name = "Sniper"
- Classes.Sniper.Stats = {Pwr = 120, Bac = 20}
- Classes.Sniper.Mdl = "models/player/Police.mdl"
- Classes.Sniper.Vo = {}
- Classes.Sniper.Vo.Greet =
- {"npc/metropolice/vo/wearesociostablethislocation.wav",
- "npc/metropolice/vo/visceratordeployed.wav"}
- Classes.Sniper.Vo.Hit =
- {"npc/metropolice/vo/thereheis.wav",
- "npc/metropolice/vo/readytoprosecutefinalwarning.wav"}
- Classes.Sniper.Vo.Struck =
- {"npc/metropolice/pain1.wav",
- "npc/metropolice/pain2.wav",
- "npc/metropolice/pain3.wav",
- "npc/metropolice/pain4.wav"}
- Classes.Sniper.Vo.Kill =
- {"npc/metropolice/vo/nowgetoutofhere.wav",
- "npc/metropolice/vo/chuckle.wav"}
- Classes.Sniper.Vo.DieNear =
- {"npc/metropolice/vo/tagonenecrotic.wav",
- "npc/metropolice/vo/protectioncomplete.wav"}
- Classes.Sniper.Vo.Death =
- {"npc/metropolice/die1.wav"}
- Classes.Sniper.Vo.Buy =
- {"npc/metropolice/vo/prepareforjudgement.wav",
- "npc/metropolice/vo/chuckle.wav"}
- //=====================================================
- timer.Simple(0.1, function()
- for key,val in pairs(Classes) do
- val.Desc = GenerateClassDesc(val)
- end
- end)
- function ApplyClass(ply, cls)
- if ply.Class then
- UnapplyClass(ply, Classes[ply.Class])
- end
- for n,v in pairs(cls.Stats) do
- local fx = Item_Effects[n]
- if fx && fx.stat then
- local stat = fx.stat
- if type(stat) == "string" then
- ply.st[stat] = ply.st[stat] + v
- else
- for k, s in pairs(stat) do
- ply.st[s] = ply.st[s] + v
- end
- end
- end
- end
- ply.Class = cls.Name
- ply.pClass = cls
- ply:SyncStats()
- end
- function UnapplyClass(ply, cls)
- ply.Class = nil
- ply.pClass = nil
- for n,v in pairs(cls.Stats) do
- local fx = Item_Effects[n]
- if fx && fx.stat then
- local stat = fx.stat
- if type(stat) == "string" then
- ply.st[stat] = ply.st[stat] - v
- else
- for k, s in pairs(stat) do
- ply.st[s] = ply.st[s] - v
- end
- end
- end
- end
- ply:SyncStats()
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement