diff options
| author | Alexander Pickering <Alexander.Pickering@anondomain.site90.net> | 2016-01-07 21:31:55 -0500 |
|---|---|---|
| committer | Alexander Pickering <Alexander.Pickering@anondomain.site90.net> | 2016-01-07 21:31:55 -0500 |
| commit | 790e96ffa5cb5e9eb3c44f6ede09612bafda2239 (patch) | |
| tree | 63cad5072bd20dcdb769ecd4905b4ec1fa0ec845 /gamemode/npcsystem/npcs/base.lua | |
| parent | 406a4148506be540bcdac0f10f2256320c5c2771 (diff) | |
| parent | 08331347cfc619852a177f9c120bf7328cd89d70 (diff) | |
| download | wintersurvival2-790e96ffa5cb5e9eb3c44f6ede09612bafda2239.tar.gz wintersurvival2-790e96ffa5cb5e9eb3c44f6ede09612bafda2239.tar.bz2 wintersurvival2-790e96ffa5cb5e9eb3c44f6ede09612bafda2239.zip | |
Merge branch 'queue' of ssh://ssh.cogarr.org:43/home/git/wintersurvival2 into queue
Diffstat (limited to 'gamemode/npcsystem/npcs/base.lua')
| -rw-r--r-- | gamemode/npcsystem/npcs/base.lua | 27 |
1 files changed, 24 insertions, 3 deletions
diff --git a/gamemode/npcsystem/npcs/base.lua b/gamemode/npcsystem/npcs/base.lua index 7afb4fe..880e4a5 100644 --- a/gamemode/npcsystem/npcs/base.lua +++ b/gamemode/npcsystem/npcs/base.lua @@ -6,16 +6,37 @@ NPC.Icon = Material("wintersurvival2/hud/ws1_icons/icon_rock") NPC.Social = "Pack" --Solo, Pack
-NPC.Vitality = 0
-NPC.Speed = 0
+NPC.Stats = {
+ ["Vitality"] = 1,
+ ["Speed"] = 1,
+ ["AwareDist"] = 1,
+ ["Accel"] = 1,
+ ["Decel"] = 1,
+ ["Step"] = 1, --Step height
+ ["Hull"] = HULL_HUMAN
+}
+
+--Some npc's like birds have diffent names for their idle sequence
+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
--Attacks should be formated as [i]={function attackpriority() = function doattack()}
NPC.Attacks = 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
|
