diff options
| author | Alexander Pickering <Alexander.Pickering@anondomain.site90.net> | 2016-03-28 22:02:52 -0400 |
|---|---|---|
| committer | Alexander Pickering <Alexander.Pickering@anondomain.site90.net> | 2016-03-28 22:02:52 -0400 |
| commit | c6d81a837ba5bb46246ca6703f539e69a18b8216 (patch) | |
| tree | 510bb8d0b15165dbf1737f9a860d19d7750734f2 /gamemode/npcsystem/bosses/base.lua | |
| parent | fe897eaf8d8be4cfdc4e2c4e90ed5c775de0c291 (diff) | |
| download | wintersurvival2-c6d81a837ba5bb46246ca6703f539e69a18b8216.tar.gz wintersurvival2-c6d81a837ba5bb46246ca6703f539e69a18b8216.tar.bz2 wintersurvival2-c6d81a837ba5bb46246ca6703f539e69a18b8216.zip | |
More debugging to find what's glitching ai's
Diffstat (limited to 'gamemode/npcsystem/bosses/base.lua')
| -rw-r--r-- | gamemode/npcsystem/bosses/base.lua | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/gamemode/npcsystem/bosses/base.lua b/gamemode/npcsystem/bosses/base.lua new file mode 100644 index 0000000..27f68d6 --- /dev/null +++ b/gamemode/npcsystem/bosses/base.lua @@ -0,0 +1,83 @@ +NPC.Name = "Winter Survival 2 Base NPC" +NPC.Desc = "Why the hell did I write this? No one will read it anyways!!" +NPC.Class = "Other" --Ambient, Agressive, Boss +NPC.Model = "models/props_combine/breenlight.mdl" +NPC.Icon = Material("wintersurvival2/hud/ws1_icons/icon_rock") + +NPC.Social = "Pack" --Solo, Pack + +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 +function NPC:SpawnLocations(pos) + return true +end + +--The entity that is this npc's current target, if it has one +NPC.Target = nil + +--All enemies that this NPC is aware of +NPC.AwareEnemies = nil + +--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. +/* +--What to replace the ENT:BehaveAct with +function NPC:Act() +end + +--What to replace RunBehaviour with +function NPC:Behaviour() +end + +--what to replace BehaveUpdate with +function NPC:BehaveCycle(number seconds_since_last_update) +end + +--Called when the npc is spawned +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 +*/ |
