WILTOS SKILL TREE

WILTOS SKILL TREE
mail@pastecode.io avatar
unknown
lua
2 months ago
12 kB
2
Indexable
Never
--[[-------------------------------------------------------------------
	Lightsaber Force Powers:
		The available powers that the new saber base uses.
			Powered by
						  _ _ _    ___  ____  
				__      _(_) | |_ / _ \/ ___| 
				\ \ /\ / / | | __| | | \___ \ 
				 \ V  V /| | | |_| |_| |___) |
				  \_/\_/ |_|_|\__|\___/|____/ 
											  
 _____         _                 _             _           
|_   _|__  ___| |__  _ __   ___ | | ___   __ _(_) ___  ___ 
  | |/ _ \/ __| '_ \| '_ \ / _ \| |/ _ \ / _` | |/ _ \/ __|
  | |  __/ (__| | | | | | | (_) | | (_) | (_| | |  __/\__ \
  |_|\___|\___|_| |_|_| |_|\___/|_|\___/ \__, |_|\___||___/
                                         |___/             
----------------------------- Copyright 2017, David "King David" Wiltos ]]--[[
							  
	Lua Developer: King David
	Contact: www.wiltostech.com
		
-- Copyright 2017, David "King David" Wiltos ]]--

local TREE = {}

--Name of the skill tree
TREE.Name = "Way Of The Shadow"

--Description of the skill tree
TREE.Description = "The Path Of The Sith Assassins."

--Icon for the skill tree ( Appears in category menu and above the skills )
TREE.TreeIcon = "wos/forceicons/eshell.png"

--What is the background color in the menu for this 
TREE.BackgroundColor = Color( 0, 0, 0 )

--How many tiers of skills are there?
TREE.MaxTiers = 5

--Add user groups that are allowed to use this tree. If anyone is allowed, set this to FALSE ( TREE.UserGroups = false )
TREE.UserGroups = false

TREE.JobRestricted = {"TEAM_GRANDINQUIS", "TEAM_SEVENSISTER", "TEAM_NINTHSISTER", "TEAM_EIGHTBROTHER", "TEAM_FIFTHBROTHER", "TEAM_INQUISTOR", 
					  "TEAM_RGCAPTAIN", "TEAM_SOVERIGNPROTECTOR", "TEAM_SHADOWGUARD", "TEAM_ROYALGUARD", 
					  "TEAM_PALPATINE", "TEAM_VADER", "TEAM_STARKILLER", 
					 }
TREE.Tier = {}

--Tier format is as follows:
--To create the TIER Table, do the following
--TREE.Tier[ TIER NUMBER ] = {} 
--To populate it with data, the format follows this
--TREE.Tier[ TIER NUMBER ][ SKILL NUMBER ] = DATA
--Name, description, and icon are exactly the same as before
--PointsRequired is for how many skill points are needed to unlock this particular skill
--Requirements prevent you from unlocking this skill unless you have the pre-requisite skills from the last tiers. If you are on tier 1, this should be {}
--OnPlayerSpawn is a function called when the player just spawns
--OnPlayerDeath is a function called when the player has just died
--OnSaberDeploy is a function called when the player has just pulled out their lightsaber ( assuming you have SWEP.UsePlayerSkills = true )

TREE.Tier[1] = {}
TREE.Tier[1][1] = {
	Name = "Rapid Advance [ I ]",
	Description = "Adds 30 Speed to your current Speed",
	Icon = "wos/skilltrees/characterstats/speed.png",
	PointsRequired = 1,
	Requirements = {},
	OnPlayerSpawn = function( ply ) ply:SetRunSpeed( ply:GetRunSpeed() + 30 ) end,
	OnPlayerDeath = function( ply ) end,
	OnSaberDeploy = function( wep ) end,
}

TREE.Tier[1][2] = {
	Name = "Concealed Thrust [ I ]",
	Description = "+25 base damage to your lightsaber",
	Icon = "wos/skilltrees/ravager/combatant.png",
	PointsRequired = 1,
	Requirements = {
	[1] = { 1 },
	},
	OnPlayerSpawn = function( ply ) end,
	OnPlayerDeath = function( ply ) end,
	OnSaberDeploy = function( wep ) wep.SaberDamage = wep.SaberDamage + 25 end,
}

TREE.Tier[1][3] = {
	Name = "Force Gain [ I ]",
	Description = "Adds 50 force",
	Icon = "nvn/wos/icons/1.png",
	PointsRequired = 2,
	Requirements = {
	[1] = { 2 },
	},
	OnPlayerSpawn = function( ply ) end,
	OnPlayerDeath = function( ply ) end,
	OnSaberDeploy = function( wep ) wep:SetMaxForce( wep:GetMaxForce() + 50 ) end,
}

TREE.Tier[1][4] = {
	Name = "Enhanced Fibers [ I ]",
	Description = "Adds 50 Armor",
	Icon = "wos/skilltrees/characterstats/armor.png",
	PointsRequired = 1,
	Requirements = {
	[1] = { 3 },
	},
	OnPlayerSpawn = function( ply ) ply:SetArmor( ply:Armor() + 50 ) end,
	OnPlayerDeath = function( ply ) end,
	OnSaberDeploy = function( wep ) end,
}

TREE.Tier[1][5] = {
	Name = "Be One With The Wind",
	Description = "That which you harness is all around you.",
	Icon = "wos/forceicons/icefuse/whirlwind.png",
	PointsRequired = 2,
	Requirements = {
	[1] = { 4 },
	},
	OnPlayerSpawn = function( ply ) end,
	OnPlayerDeath = function( ply ) end,
	OnSaberDeploy = function( wep ) wep:AddForcePower( "Force Whirlwind" ) end,
}
-------------------------------------------------------------------------------------------------------

TREE.Tier[2] = {}
TREE.Tier[2][1] = {
	Name = "Rapid Advance [ II ]",
	Description = "Adds 40 Speed to your current Speed",
	Icon = "wos/skilltrees/characterstats/speed.png",
	PointsRequired = 1,
	Requirements = {
	[1] = { 5 },
	},
	OnPlayerSpawn = function( ply ) ply:SetRunSpeed( ply:GetRunSpeed() + 40 ) end,
	OnPlayerDeath = function( ply ) end,
	OnSaberDeploy = function( wep ) end,
}

TREE.Tier[2][2] = {
	Name = "Enhanced Fibers [II]",
	Description = "Adds 75 Armor",
	Icon = "wos/skilltrees/characterstats/armor.png",
	PointsRequired = 1,
	Requirements = {
	[2] = { 1 },
	},
	OnPlayerSpawn = function( ply ) ply:SetArmor( ply:Armor() + 75 ) end,
	OnPlayerDeath = function( ply ) end,
	OnSaberDeploy = function( wep ) end,
}

TREE.Tier[2][3] = {
	Name = "Force Gain [ II ]",
	Description = "Adds 50 force",
	Icon = "nvn/wos/icons/1.png",
	PointsRequired = 2,
	Requirements = {
	[2] = { 2 },
	},
	OnPlayerSpawn = function( ply ) end,
	OnPlayerDeath = function( ply ) end,
	OnSaberDeploy = function( wep ) wep:SetMaxForce( wep:GetMaxForce() + 50 ) end,
}

TREE.Tier[2][4] = {
	Name = "Concealed Thrust [ II ]",
	Description = "+35 base damage to your lightsaber",
	Icon = "wos/skilltrees/ravager/combatant.png",
	PointsRequired = 1,
	Requirements = {
	[2] = { 3 },
	},
	OnPlayerSpawn = function( ply ) end,
	OnPlayerDeath = function( ply ) end,
	OnSaberDeploy = function( wep ) wep.SaberDamage = wep.SaberDamage + 35 end,
}

TREE.Tier[2][5] = {
	Name = "Stature of Darkness",
	Description = "Adds 125 Health to your current Health",
	Icon = "wos/skilltrees/characterstats/health.png",
	PointsRequired = 3,
	Requirements = {
	[2] = { 4 },
	},
	OnPlayerSpawn = function( ply ) ply:SetHealth( ply:Health() + 125 ) ply:SetMaxHealth( ply:GetMaxHealth() + 125 ) end,
	OnPlayerDeath = function( ply ) end,
	OnSaberDeploy = function( wep ) end,
}
-------------------------------------------------------------------------------------------------------

TREE.Tier[3] = {}
TREE.Tier[3][1] = {
	Name = "Vision of Blood",
	Description = "+30 base damage to your lightsaber and +120 hp",
	Icon = "wos/skilltrees/characterstats/health.png",
	PointsRequired = 2,
	Requirements = {
	[2] = { 5 },
	},
	OnPlayerSpawn = function( ply ) ply:SetHealth( ply:Health() + 120 ) ply:SetMaxHealth( ply:GetMaxHealth() + 120 ) end,
	OnPlayerDeath = function( ply ) end,
	OnSaberDeploy = function( wep ) wep.SaberDamage = wep.SaberDamage + 30 end,
}

TREE.Tier[3][2] = {
	Name = "Cloak",
	Description = "Cloak yourself for 10 seconds.",
	Icon = "wos/forceicons/cloak.png",
	PointsRequired = 3,
	Requirements = {
	[3] = { 1 },
	},
	OnPlayerSpawn = function( ply ) end,
	OnPlayerDeath = function( ply ) end,
	OnSaberDeploy = function( wep ) wep:AddForcePower( "Cloak" ) end,
}

TREE.Tier[3][3] = {
	Name = "Shadow Strike",
	Description = "Strike your opponent while invisible.",
	Icon = "wos/forceicons/shadow_strike.png",
	PointsRequired = 4,
	Requirements = {
	[3] = { 2 },
	},
	OnPlayerSpawn = function( ply ) end,
	OnPlayerDeath = function( ply ) end,
	OnSaberDeploy = function( wep ) wep:AddForcePower( "Shadow Strike" ) end,
}

TREE.Tier[3][4] = {
	Name = "Rapid Advance [ III ]",
	Description = "Adds 30 speed",
	Icon = "wos/skilltrees/characterstats/speed.png",
	PointsRequired = 1,
	Requirements = {
	[3] = { 3 },
	},
	OnPlayerSpawn = function( ply ) ply:SetRunSpeed( ply:GetRunSpeed() + 30 ) end,
	OnPlayerDeath = function( ply ) end,
	OnSaberDeploy = function( wep ) end,
}

TREE.Tier[3][5] = {
	Name = "Force Gain [ II ]",
	Description = "Adds 75 force",
	Icon = "nvn/wos/icons/1.png",
	PointsRequired = 3,
	Requirements = {
	[3] = { 4 },
	},
	OnPlayerSpawn = function( ply ) end,
	OnPlayerDeath = function( ply ) end,
	OnSaberDeploy = function( wep ) wep:SetMaxForce( wep:GetMaxForce() + 75 ) end,
}
-------------------------------------------------------------------------------------------------------

TREE.Tier[4] = {}
TREE.Tier[4][1] = {
	Name = "Killer of the Shadows",
	Description = "Adds 200 Health, But you lose 15 saber damage",
	Icon = "wos/skilltrees/characterstats/health.png",
	PointsRequired = 3,
	Requirements = {
	[3] = { 5 },
	},
	OnPlayerSpawn = function( ply ) ply:SetHealth( ply:Health() + 200 ) ply:SetMaxHealth( ply:GetMaxHealth() + 200 ) end,
	OnPlayerDeath = function( ply ) end,
	OnSaberDeploy = function( wep ) wep.SaberDamage = wep.SaberDamage - 15 end,
}

TREE.Tier[4][2] = {
	Name = "Enhanced Fibers [ III ]",
	Description = "Adds 100 Armor",
	Icon = "wos/skilltrees/characterstats/armor.png",
	PointsRequired = 2,
	Requirements = {
	[4] = { 1 },
	},
	OnPlayerSpawn = function( ply ) ply:SetArmor( ply:Armor() + 100 ) end,
	OnPlayerDeath = function( ply ) end,
	OnSaberDeploy = function( wep ) end,
}

TREE.Tier[4][3] = {
	Name = "Force Gain [ III ]",
	Description = "Adds 100 force",
	Icon = "nvn/wos/icons/1.png",
	PointsRequired = 3,
	Requirements = {
	[4] = { 2 },
	},
	OnPlayerSpawn = function( ply ) end,
	OnPlayerDeath = function( ply ) end,
	OnSaberDeploy = function( wep ) wep:SetMaxForce( wep:GetMaxForce() + 100 ) end,
}

TREE.Tier[4][4] = {
	Name = "Concealed Thrust [ III ]",
	Description = "+45 base damage to your lightsaber",
	Icon = "wos/skilltrees/ravager/combatant.png",
	PointsRequired = 2,
	Requirements = {
	[4] = { 3 },
	},
	OnPlayerSpawn = function( ply ) end,
	OnPlayerDeath = function( ply ) end,
	OnSaberDeploy = function( wep ) wep.SaberDamage = wep.SaberDamage + 45 end,
}

TREE.Tier[4][5] = {
	Name = "Force Breach",
	Description = "Make a path, Open Doors.",
	Icon = "wos/forceicons/icefuse/breach.png",
	PointsRequired = 5,
	Requirements = {
	[4] = { 4 },
	},
	OnPlayerSpawn = function( ply ) end,
	OnPlayerDeath = function( ply ) end,
	OnSaberDeploy = function( wep ) wep:AddForcePower( "Force Breach" ) end,
}
-------------------------------------------------------------------------------------------------------

TREE.Tier[5] = {}
TREE.Tier[5][1] = {
	Name = "Rise of Power",
	Description = "Adds 350 Health to your current Health",
	Icon = "wos/skilltrees/characterstats/health.png",
	PointsRequired = 4,
	Requirements = {
	[4] = { 5 },
	},
	OnPlayerSpawn = function( ply ) ply:SetHealth( ply:Health() + 350 ) ply:SetMaxHealth( ply:GetMaxHealth() + 350 ) end,
	OnPlayerDeath = function( ply ) end,
	OnSaberDeploy = function( wep ) end,
}

TREE.Tier[5][2] = {
	Name = "Advanced Cloak",
	Description = "Cloak yourself for 25 seconds.",
	Icon = "wos/forceicons/advanced_cloak.png",
	PointsRequired = 5,
	Requirements = {
	[5] = { 1 },
	},
	OnPlayerSpawn = function( ply ) end,
	OnPlayerDeath = function( ply ) end,
	OnSaberDeploy = function( wep ) wep:AddForcePower( "Advanced Cloak" ) end,
}

TREE.Tier[5][3] = {
	Name = "Sonic Discharge",
	Description = "Blind everyone around you.",
	Icon = "wos/devestators/sonic.png",
	PointsRequired = 6,
	Requirements = {
	[5] = { 2 },
	},
	OnPlayerSpawn = function( ply ) end,
	OnPlayerDeath = function( ply ) end,
	OnSaberDeploy = function( wep ) wep:AddDevestator( "Sonic Discharge" ) end,
}

TREE.Tier[5][4] = {
	Name = "Crippling Slam",
	Description = "Earth shattering slams immobilize those in your path",
	Icon = "wos/forceicons/cripple.png",
	PointsRequired = 7,
	Requirements = {
	[5] = { 3 },
	},
	OnPlayerSpawn = function( ply ) end,
	OnPlayerDeath = function( ply ) end,
	OnSaberDeploy = function( wep ) wep:AddForcePower( "Crippling Slam" ) end,
}

TREE.Tier[5][5] = {
	Name = "Teleport",
	Description = "Phase through to a new location.",
	Icon = "wos/forceicons/icefuse/teleport.png",
	PointsRequired = 8,
	Requirements = { 
	[5] = { 4 },
	},
	OnPlayerSpawn = function( ply ) end,
	OnPlayerDeath = function( ply ) end,
	OnSaberDeploy = function( wep ) wep:AddForcePower( "Teleport" ) end,
}

wOS:RegisterSkillTree( TREE )
Leave a Comment