From 958ccc93f9339a232cc761f0842a85d14e2865b8 Mon Sep 17 00:00:00 2001 From: Alexander Pickering Date: Sat, 2 Jan 2016 22:35:29 -0500 Subject: Added more documentation on ai overhaul --- gamemode/npcsystem/npcs/base.lua | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'gamemode/npcsystem') diff --git a/gamemode/npcsystem/npcs/base.lua b/gamemode/npcsystem/npcs/base.lua index 0e8ea53..880e4a5 100644 --- a/gamemode/npcsystem/npcs/base.lua +++ b/gamemode/npcsystem/npcs/base.lua @@ -17,7 +17,9 @@ NPC.Stats = { } --Some npc's like birds have diffent names for their idle sequence -NPC.IdleSequence = "Idle" +NPC.IdleSequences = { + [0] = "Idle", +} --Drops should be formated as [index]={["item name"], percent_drop} where percent_drop is a number from 0 to 100 NPC.Drops = nil @@ -25,11 +27,16 @@ NPC.Drops = nil --Attacks should be formated as [i]={function attackpriority() = function doattack()} NPC.Attacks = nil ---Attack priority should be formated as [i] = func tion(return int priority) attackpriority -NPC.AttackPriority = nil +--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) + local dist = ply:GetPos():Distance(self:GetPos()) + return self.Stats["AwareDist"] - dist +end --A function that takes a position and returns true if this is an acceptable place to spawn -NPC.SpawnLocations = nil +function NPC:SpawnLocations(pos) + return true +end --The entity that is this npc's current target, if it has one NPC.Target = nil -- cgit v1.2.3-70-g09d2