Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- name = "Ground Slam",
- icon = "GS",
- texture = "star/icon/ground_slam.png",
- description = "Shocks and destroys everything around you.",
- action = function( self )
- if ( self:GetForce() < 60 || CLIENT || !self.Owner:IsOnGround() ) then return end
- local elev = 400
- local time = 1
- ent = self.Owner
- self:SetForce(self:GetForce() - 60)
- self:SetNextAttack( 1 )
- for j = 0,6 do
- for i = 0, 24 do
- local ed = EffectData()
- ed:SetOrigin( self.Owner:GetPos() + Vector(0,0,0) )
- ed:SetStart( self.Owner:GetPos() + Vector(0,0,0) + Angle(0 , i * 15, 0):Forward() * 512)
- util.Effect( "force_groundslam", ed, true, true )
- end
- end
- local maxdist = 128 * 4
- local ed = EffectData()
- ed:SetOrigin( self.Owner:GetPos() + Vector( 0, 0, 36 ) )
- ed:SetRadius( maxdist )
- util.Effect( "rb655_force_repulse_out", ed, true, true )
- for i, e in pairs( ents.FindInSphere( self.Owner:GetPos(), maxdist ) ) do
- if (e.Team and e:Team() == self.Owner:Team()) or (e.PlayerTeam and e.PlayerTeam == self.Owner:Team()) then continue end
- local dist = self.Owner:GetPos():Distance( e:GetPos() )
- local mul = ( maxdist - dist ) / 256
- local v = ( self.Owner:GetPos() - e:GetPos() ):GetNormalized()
- v.z = 0
- local dmg = DamageInfo()
- dmg:SetDamagePosition( e:GetPos() + e:OBBCenter() )
- dmg:SetDamage( 700 * mul )
- dmg:SetDamageType( DMG_DISSOLVE )
- dmg:SetDamageForce( -v * math.min( mul * 40000, 80000 ) )
- dmg:SetInflictor( self.Owner )
- dmg:SetAttacker( self.Owner )
- e:TakeDamageInfo( dmg )
- if ( e:IsOnGround() ) then
- e:SetVelocity( v * mul * -2048 + Vector( 0, 0, 64 ) )
- elseif ( !e:IsOnGround() ) then
- e:SetVelocity( v * mul * -1024 + Vector( 0, 0, 64 ) )
- end
- end
- if ( !self.SoundLightning ) then
- self.SoundLightning = CreateSound( self.Owner, "lightsaber/force_lightning" .. math.random( 1, 2 ) .. ".wav" )
- self.SoundLightning:Play()
- self.SoundLightning:ChangeVolume(0,0.3)
- else
- self.SoundLightning:Play()
- end
- timer.Create( "test", 0.6, 1, function() if ( self.SoundLightning ) then self.SoundLightning:Stop() self.SoundLightning = nil end end )
- self:PlayWeaponSound( "lightsaber/force_repulse.wav" )
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement