From 98e0462e4f6b13ff26af5211409352d45dd9453e Mon Sep 17 00:00:00 2001 From: Alexander Pickering Date: Sun, 8 Jan 2017 22:28:08 -0500 Subject: Add a ton of icons, more work on refactoring --- gamemode/shared/npcsystem/blockingdummy.lua | 105 -------------------------- gamemode/shared/npcsystem/dummy.lua | 95 ----------------------- gamemode/shared/npcsystem/rat.lua | 113 ---------------------------- 3 files changed, 313 deletions(-) delete mode 100644 gamemode/shared/npcsystem/blockingdummy.lua delete mode 100644 gamemode/shared/npcsystem/dummy.lua delete mode 100644 gamemode/shared/npcsystem/rat.lua (limited to 'gamemode/shared/npcsystem') diff --git a/gamemode/shared/npcsystem/blockingdummy.lua b/gamemode/shared/npcsystem/blockingdummy.lua deleted file mode 100644 index 5c6008c..0000000 --- a/gamemode/shared/npcsystem/blockingdummy.lua +++ /dev/null @@ -1,105 +0,0 @@ -local NPC = {} -NPC.Name = "Blocking Training Dummy" -NPC.Desc = "A man made of straw. His dream is to have a brain." -NPC.Class = "Ambient" --Ambient, Agressive, Boss -NPC.Model = "models/headcrab.mdl" - -NPC.Stats = { - ["Vitality"] = 100000, - ["Speed"] = 400, - ["AwareDist"] = 1000, - ["Accel"] = 100, - ["Decel"] = 200, - ["Step"] = 20, --Step height - ["Hull"] = HULL_TINY -} - ---Some npc's like birds have diffent names for their idle sequences -NPC.IdleSequences = { - [0] = "lookaround", - [1] = "Idle01", -} - ---Drops should be formated as [index]={["item name"], percent_drop} where percent_drop is a number from 0 to 100 - -NPC.Drops = { -} - ---Attacks should be formated as [i]={function attackpriority() = function doattack()} -local checknothing = function(self,ply) - return 1 -end - -local donothing = function(self,ply) -end -NPC.Attacks = { - [1] = {--run away from the player - [checknothing] = donothing - }, -} - ---A function that takes a position and returns true if this is an acceptable place to spawn -function NPC:SpawnLocations(pos) - return true -end - ---The entity that is this npc's current target, if it has one. Nil otherwise -NPC.Target = nil - ---All enemies that this NPC is aware of -NPC.AwareEnemies = {} ---Attack priority is a fucntion that takes a player, and returns an int describing it's prority to attack (higher = more important) NPC will always attack the player with the highest priority -function NPC:AttackPriority(ply) - if not ply then return 0 end - return 1 -end - ---What to replace the ENT:RunBehaviour with -function NPC:Act(deltat) -end - ---What to replace ENT:OnStuck with -function NPC:Stuck() - -end - -local blockorder = { - "forward", - "right", - "backward", - "left" -} -local cursor = 0 -function NPC:OnDammage(ammount) - self.Blocking = blockorder[cursor + 1] - cursor = (cursor + 1) % 4 - print("A dummy was hit for",ammount:GetDamage(),"!") - print("Blocking is now",self.Blocking) -end - ---These are just here to tell the editors/develoeprs what functions are available.. dont un-comment them out, as this could affect all the items. -/* -function NPC:OnSpawn() -end - ---If we need to do more than just reduce health on dammage -function NPC:OnDammage(ammount) -end - ---If we need to do more than just drop items on death -function NPC:OnDeath() -end - ---A particular spell was cast on this npc by player -function NPC:OnSpell(spell, player) -end - -function NPC:OnFindEnemy(enemy) -end - ---Called when the npc is attacking anything with any attack -function NPC:OnAttack(target) -end -*/ - -ART.RegisterNPC(NPC) diff --git a/gamemode/shared/npcsystem/dummy.lua b/gamemode/shared/npcsystem/dummy.lua deleted file mode 100644 index 869dd0e..0000000 --- a/gamemode/shared/npcsystem/dummy.lua +++ /dev/null @@ -1,95 +0,0 @@ -local NPC = {} -NPC.Name = "Training Dummy" -NPC.Desc = "A man made of straw. His dream is to have a brain." -NPC.Class = "Ambient" --Ambient, Agressive, Boss -NPC.Model = "models/headcrab.mdl" - -NPC.Stats = { - ["Vitality"] = 100000, - ["Speed"] = 400, - ["AwareDist"] = 1000, - ["Accel"] = 100, - ["Decel"] = 200, - ["Step"] = 20, --Step height - ["Hull"] = HULL_TINY -} - ---Some npc's like birds have diffent names for their idle sequences -NPC.IdleSequences = { - [0] = "lookaround", - [1] = "Idle01", -} - ---Drops should be formated as [index]={["item name"], percent_drop} where percent_drop is a number from 0 to 100 - -NPC.Drops = { -} - ---Attacks should be formated as [i]={function attackpriority() = function doattack()} -local checknothing = function(self,ply) - return 1 -end - -local donothing = function(self,ply) -end -NPC.Attacks = { - [1] = {--run away from the player - [checknothing] = donothing - }, -} - ---A function that takes a position and returns true if this is an acceptable place to spawn -function NPC:SpawnLocations(pos) - return true -end - ---The entity that is this npc's current target, if it has one. Nil otherwise -NPC.Target = nil - ---All enemies that this NPC is aware of -NPC.AwareEnemies = {} ---Attack priority is a fucntion that takes a player, and returns an int describing it's prority to attack (higher = more important) NPC will always attack the player with the highest priority -function NPC:AttackPriority(ply) - if not ply then return 0 end - return 1 -end - ---What to replace the ENT:RunBehaviour with -function NPC:Act(deltat) -end - ---What to replace ENT:OnStuck with -function NPC:Stuck() - -end - -function NPC:OnDammage(ammount) - print("A dummy was hit for",ammount:GetDamage(),"!") -end - ---These are just here to tell the editors/develoeprs what functions are available.. dont un-comment them out, as this could affect all the items. -/* -function NPC:OnSpawn() -end - ---If we need to do more than just reduce health on dammage -function NPC:OnDammage(ammount) -end - ---If we need to do more than just drop items on death -function NPC:OnDeath() -end - ---A particular spell was cast on this npc by player -function NPC:OnSpell(spell, player) -end - -function NPC:OnFindEnemy(enemy) -end - ---Called when the npc is attacking anything with any attack -function NPC:OnAttack(target) -end -*/ - -ART.RegisterNPC(NPC) diff --git a/gamemode/shared/npcsystem/rat.lua b/gamemode/shared/npcsystem/rat.lua deleted file mode 100644 index ab96883..0000000 --- a/gamemode/shared/npcsystem/rat.lua +++ /dev/null @@ -1,113 +0,0 @@ -local NPC = {} -NPC.Name = "Rat" -NPC.Desc = "A nasty little guy" -NPC.Class = "Ambient" --Ambient, Agressive, Boss -NPC.Model = "models/headcrab.mdl" - -NPC.Stats = { - ["Vitality"] = 10, - ["Speed"] = 400, - ["AwareDist"] = 1000, - ["Accel"] = 100, - ["Decel"] = 200, - ["Step"] = 20, --Step height - ["Hull"] = HULL_TINY -} - ---Some npc's like birds have diffent names for their idle sequences -NPC.IdleSequences = { - [0] = "lookaround", - [1] = "Idle01", -} - ---Drops should be formated as [index]={["item name"], percent_drop} where percent_drop is a number from 0 to 100 - -NPC.Drops = { - [0] = {"Rat Meat",100},--Rats will drop at least 1 meat, and have a 50% chance of dropping 2 - [1] = {"Rat Meat",50}, -} - ---Attacks should be formated as [i]={function attackpriority() = function doattack()} -local checkrun = function(self,ply) - --If we're aware of any enemies, run away! - return 1 -end -local runseq -local dorun = function(self,ply) - if runseq == nil then - runseq = self:LookupSequence("Run1") - end - self:StartActivity(ACT_FLY) - self:SetSequence( runseq ) - if(not ply or not ply:IsValid()) then return end - --Find a position in roughly the oposite direction of the player - local tpos = self:GetPos() - local ppos = ply:GetPos() - local direction = Vector(tpos.x - ppos.x, tpos.y - ppos.y, tpos.z - ppos.z) - direction:Normalize() - local addition = direction * 1000 - local topos = self:GetPos() + addition - --print("I want to go to ", topos) - self.TargetPos = topos -end -NPC.Attacks = { - [1] = {--run away from the player - [checkrun] = dorun - }, -} - ---A function that takes a position and returns true if this is an acceptable place to spawn -function NPC:SpawnLocations(pos) - return true -end - ---The entity that is this npc's current target, if it has one. Nil otherwise -NPC.Target = nil - ---All enemies that this NPC is aware of -NPC.AwareEnemies = {} ---Attack priority is a fucntion that takes a player, and returns an int describing it's prority to attack (higher = more important) NPC will always attack the player with the highest priority -function NPC:AttackPriority(ply) - if not ply then return 0 end - local plypos = ply:GetPos() - local mypos = self:GetPos() - if not plypos then return 0 end - local dist = plypos:Distance(mypos) - return self.Stats["AwareDist"] - dist -end - ---What to replace the ENT:RunBehaviour with -function NPC:Act(deltat) -end - ---What to replace ENT:OnStuck with -function NPC:Stuck() - -end - ---These are just here to tell the editors/develoeprs what functions are available.. dont un-comment them out, as this could affect all the items. -/* -function NPC:OnSpawn() -end - ---If we need to do more than just reduce health on dammage -function NPC:OnDammage(ammount) -end - ---If we need to do more than just drop items on death -function NPC:OnDeath() -end - ---A particular spell was cast on this npc by player -function NPC:OnSpell(spell, player) -end - -function NPC:OnFindEnemy(enemy) -end - ---Called when the npc is attacking anything with any attack -function NPC:OnAttack(target) -end -*/ - -ART.RegisterNPC(NPC) -- cgit v1.2.3-70-g09d2