diff options
Diffstat (limited to 'gamemode/itemsystem')
| -rw-r--r-- | gamemode/itemsystem/items/runefire.lua | 5 | ||||
| -rw-r--r-- | gamemode/itemsystem/items/spell_fireball.lua | 8 | ||||
| -rw-r--r-- | gamemode/itemsystem/items/spell_teleport.lua | 73 |
3 files changed, 77 insertions, 9 deletions
diff --git a/gamemode/itemsystem/items/runefire.lua b/gamemode/itemsystem/items/runefire.lua index 419712e..e629558 100644 --- a/gamemode/itemsystem/items/runefire.lua +++ b/gamemode/itemsystem/items/runefire.lua @@ -4,6 +4,7 @@ ITEM.Class = "resource" ITEM.Desc = "A perpetually warm stone"
ITEM.Model = "models/props_combine/breenlight.mdl"
ITEM.Icon = Material("wintersurvival2/hud/ws2_icons/icon_runefire.png")
+game.AddParticles("particles/particletest.pcf")
ITEM.Structure = {
{
@@ -37,11 +38,13 @@ function ITEM:OnUse(user) end
function ITEM:OnPrimary(ply,tr)
+ ParticleEffect("firetest",ply:GetPos()+Vector(0,0,72),ply:GetAngles(),ply)
if(CLIENT) then
- game.AddParticles("particles/particletest.pcf")
+
else
if(tr.Hit && tr.Entity && tr.Entity:IsPlayer()) then
tr.Entity:Ignite(5)
+ user.RemoveItem(self.Name,1)
end
end
diff --git a/gamemode/itemsystem/items/spell_fireball.lua b/gamemode/itemsystem/items/spell_fireball.lua index d8e6149..ef955bf 100644 --- a/gamemode/itemsystem/items/spell_fireball.lua +++ b/gamemode/itemsystem/items/spell_fireball.lua @@ -77,14 +77,6 @@ function ITEM:OnSecondary(pl,tr) end local fireballfunc = function(num,pl,self) - if not pl then - print("No pl to find the weapon of") - return - end - local weapon = pl:GetSelectedWeapon() - if(not weapon) then - print("Could not find the weapon") - end if(self.NumFireballs < self.MaxFireballs) then self.NumFireballs = self.NumFireballs+1 print("New num fireballs:" .. self.NumFireballs) diff --git a/gamemode/itemsystem/items/spell_teleport.lua b/gamemode/itemsystem/items/spell_teleport.lua new file mode 100644 index 0000000..6294955 --- /dev/null +++ b/gamemode/itemsystem/items/spell_teleport.lua @@ -0,0 +1,73 @@ + +ITEM.Name = "Teleport" +ITEM.Class = "weapon" +ITEM.Desc = "Right click to set target location, left click to open a portal there." +ITEM.Model = "models/props_debris/wood_board02a.mdl" +ITEM.Icon = Material("wintersurvival2/hud/ws2_icons/icon_spellteleport.png") +ITEM.HoldType = "magic" + +//Load some nessessary stuff +game.AddParticles("particles/particletest.pcf") +PrecacheParticleSystem("firetest") + + +ITEM.Recipe = { + Resources = { + ["Plank"] = 2, + ["Rope"] = 1, + ["Sap"] = 1, + }, + Tools = {}, +} + +ITEM.CD = 0.25 + +ITEM.savedpoint = nil + +function ITEM:DoTeleport(score,pl,self) + print("DoTeleport called!") + if(self.savedpoint == nil) then return end + print("Fully successfull teleport callback:") + print(pl) + local aim = pl:GetAimVector() + + local D = ents.Create("ws_teleporter") + + + D:SetPos(pl:GetShootPos()+aim*200) + D:SetOwner(pl) + D:SetAngles(aim:Angle()) + D:Spawn() + D.endpoint = self.savedpoint + pl:EmitSound(Sound("physics/flesh/flesh_impact_hard.wav"),100,math.random(90,110)) +end + +local teleportfunc = function(score, pl, self) + print("teleportfunc called!") + if(self.savedpoint == nil) then return end + print("Fully successfull teleport callback:") + print(pl) + local aim = pl:GetAimVector() + + local D = ents.Create("ws_teleporter") + + + D:SetPos(pl:GetShootPos()+aim*200) + D:SetOwner(pl) + D:SetAngles(aim:Angle()) + D:Spawn() + D.endpoint = self.savedpoint + pl:EmitSound(Sound("physics/flesh/flesh_impact_hard.wav"),100,math.random(90,110)) +end + +function ITEM:OnSecondary(pl,tr) + print("Endpoint set?") + ParticleEffect("firetest",pl:GetPos(),pl:GetAngles(),pl) + self.savedpoint = pl:GetPos() +end + +function ITEM:OnPrimary(pl,tr) + if(CLIENT) then return end + print("Attempting to cast...") + pl:Cast("Gateway",teleportfunc,self) +end |
