diff options
| author | Alexander Pickering <alexandermpickering@gmail.com> | 2016-10-24 21:52:20 -0400 |
|---|---|---|
| committer | Alexander Pickering <alexandermpickering@gmail.com> | 2016-10-24 21:52:20 -0400 |
| commit | 78e40d9fd55b6ba23db4f459e2c7e9ae2109cf5a (patch) | |
| tree | 3c87a74fb2c6a792a93c7f242d9e92e478f4f77a /gamemode/shared/itemsystem/weapons/scraphammer.lua | |
| parent | 9ae67530dc4be9eaab7b1243330e810d1d5a6fee (diff) | |
| download | artery-78e40d9fd55b6ba23db4f459e2c7e9ae2109cf5a.tar.gz artery-78e40d9fd55b6ba23db4f459e2c7e9ae2109cf5a.tar.bz2 artery-78e40d9fd55b6ba23db4f459e2c7e9ae2109cf5a.zip | |
Allowed items to be dropped
Diffstat (limited to 'gamemode/shared/itemsystem/weapons/scraphammer.lua')
| -rw-r--r-- | gamemode/shared/itemsystem/weapons/scraphammer.lua | 71 |
1 files changed, 16 insertions, 55 deletions
diff --git a/gamemode/shared/itemsystem/weapons/scraphammer.lua b/gamemode/shared/itemsystem/weapons/scraphammer.lua index 978fde8..9ec7ac9 100644 --- a/gamemode/shared/itemsystem/weapons/scraphammer.lua +++ b/gamemode/shared/itemsystem/weapons/scraphammer.lua @@ -60,49 +60,6 @@ item.Shape = { --Optional, If this item can be equiped in any player slots, put them here. item.Equipable = "Right" ---[[ returns the direction the player swung]] -local function playermovedir(player) - local vel = player:GetVelocity():GetNormalized() - vel.z = 0 - local swings = { - {player:GetForward(),"forward"}, - {-player:GetForward(),"backward"}, - {player:GetRight(),"right"}, - {-player:GetRight(),"left"} - } - table.sort(swings,function(a,b) - return vel:Dot(a[1]) > vel:Dot(b[1]) - end) - return swings[1][2] -end - -local positionset = {} - -local function swingarc(player,times,positions,onhit) - local positionpoints = {} - table.insert(positionset,positionpoints) - local hitents = {} - for k,v in ipairs(times) do - timer.Simple(v,function() - local weaponpos = positions[k] + player:GetPos() - table.insert(positionpoints,weaponpos) - if #positionpoints > 1 then - local tr = util.TraceLine({ - start = positionpoints[#positionpoints-1], - endpos = positionpoints[#positionpoints], - }) - if tr.Hit then - onhit(tr) - end - end - end) - end - timer.Simple(times[#times],function() - print("Inserted swing, drawn positions are now:") - PrintTable(positionset) - end) -end - --Optional, what to do when the player clicks, and this item is in the slot in inventory. only works for items equipable in left and right @@ -123,10 +80,10 @@ item.onClick = function(self,owner) local hits = ART.swingarc(owner,{ 1,1.1,1.2,1.3 },{ - fow*20 + up*90, - fow*45 + up*70, - fow*35 + up*45, - fow*20 + up*30, + fow*40 + up*26, + fow*60 + up*6, + fow*55 + up*-13, + fow*40 + up*-34, },function(tr) if tr.Entity.TakeDamage ~= nil and tr.Entity ~= owner then tr.Entity:TakeDamage(5, owner, owner:GetActiveWeapon()) @@ -145,10 +102,10 @@ item.onClick = function(self,owner) local hits = ART.swingarc(owner,{ 1,1.1,1.2,1.3 },{ - rig*30 + up*59, - rig*10 + fow*30 + up*55, - rig*-10 + fow*30 + up*54, - rig*-30 + up*50, + rig*30 + up*-5, + rig*20 + fow*40 + up*-9, + rig*-20 + fow*40 + up*-10, + rig*-30 + up*-15, },function(tr) if tr.Entity.TakeDamage ~= nil and tr.Entity ~= owner then tr.Entity:TakeDamage(10, owner, owner:GetActiveWeapon()) @@ -164,10 +121,10 @@ item.onClick = function(self,owner) local hits = ART.swingarc(owner,{ 1,1.1,1.2,1.3 },{ - rig*-30 + up*59, - rig*-10 + fow*30 + up*55, - rig*10 + fow*30 + up*54, - rig*30 + up*50, + rig*-30 + up*-5, + rig*-10 + fow*40 + up*-9, + rig*10 + fow*40 + up*-10, + rig*30 + up*-15, },function(tr) if tr.Entity.TakeDamage ~= nil and tr.Entity ~= owner then tr.Entity:TakeDamage(5, owner, owner:GetActiveWeapon()) @@ -199,6 +156,10 @@ item.onUnEquip = function(self,who) ART.RemovePAC(who,"scraphammer") end +item.onDropped = function(self, ent) + ART.ApplyPAC(ent,"scraphammer") +end + print("Hello from scrapgun.lua") --Don't forget to register the item! ART.RegisterItem(item) |
