View difference between Paste ID: vsRDhuwz and gXgsLfut
SHOW: | | - or go back to the newest paste.
1
local ply = game.Players.LocalPlayer
2
char = ply.Character
3
torso = char.Torso
4
head = char.Head
5
holding = false
6
RS = game:service'RunService'
7
larm,rarm = char['Left Arm'],char['Right Arm']
8
Debris = game:service'Debris'
9
floatforce = 196.25
10
attacking = false
11
lh,rh = torso['Left Hip'],torso['Right Hip']
12
curcam = Workspace.CurrentCamera
13
mouse = ply:GetMouse()
14
FFS = function(A,B) return A:FindFirstChild(B) end ---- FindFirstChild Shortcut
15
function genNew(ClassName, Parent, Properties)
16
        local nObj = Instance.new(ClassName, Parent)
17
        if Properties["FormFactor"] then
18
                nObj["FormFactor"] = Properties["FormFactor"]
19
        end
20
        for Prop, Value in pairs(Properties) do
21
                nObj[Prop] = Value
22
        end
23
        return nObj
24
end
25
pcall(function() char.Sole:Destroy() end) --- Destroys Physical Tool
26
Weapon = Instance.new("Model",char) Weapon.Name = 'Sole'
27
cfn,ang,md,mr = CFrame.new,CFrame.Angles,math.rad,math.random --- Some Shortcuts
28
udim = function(a,b)
29
if type(a) ~= 'string' then
30
return UDim2.new(a,0,b,0)
31
else
32
local x,y = a:match('(%.*%d+)%,(%.*%d+)')
33
return UDim2.new(x,0,y,0)
34
end
35
end
36
for i,v in pairs(head:children()) do
37
        if v.Name == 'MugSound' then v:Destroy() end
38
end
39
Name = 'Seokinji'
40
pcall(function() ply.Backpack[Name]:Destroy() end) --- Destroys Tool
41
hop = Instance.new('HopperBin',ply.Backpack)
42
hop.Name = Name
43
rw,lw = _,_
44
Col3 = function(r,g,b) return Color3.new(r/255,g/255,b/255) end
45
udim = function(x,y) return UDim2.new(x,0,y,0) end
46
bcol = BrickColor.new
47
---TOOLS---
48
Add ={ --- Array for handy functions
49
BG = function(parent)
50
        local bg = Instance.new("BodyGyro",parent)
51
        bg.P = 20e+003
52
        bg.maxTorque = Vector3.new(4e+005,4e+005,4e+005)*math.huge
53
        return bg
54
end;
55
BP = function(parent,position)
56
        local bp = Instance.new("BodyPosition",parent)
57
        bp.maxForce = Vector3.new()*math.huge
58
        bp.position = position or parent.Position
59
        return bp
60
end;
61
BV = function(parent,force)
62
        local bv = Instance.new("BodyVelocity",parent)
63
        bv.maxForce = Vector3.new()*math.huge
64
        bv.velocity = force or Vector3.new(0,0,0)
65
        return bv
66
end;
67
Sound = function(id,pitch,parent)
68
        local tab = {}
69
        local snd = Instance.new("Sound",char.Head)
70
        snd.Name = 'MugSound'
71
        snd.SoundId = id
72
        snd.Pitch = pitch or 1
73
        tab.Sound = snd
74
        function tab:Play()
75
                self.Sound:Play()
76
        end
77
        function tab:Stop()
78
                self.Sound:Stop()
79
        end
80
        function tab:Pitch(a)
81
                self.Sound.Pitch = a
82
        end
83
        setmetatable(tab,{
84
                 __call = function(t,param) local cl = t.Sound:Clone() cl.Parent = param return cl end;
85
        })
86
        return tab
87
end;
88
Fire = function(parent,size,heat,color,color2)
89
local f = Instance.new("Fire",parent)
90
f.Size = size
91
f.Heat = heat
92
f.Color = BrickColor.new(color).Color
93
if color2 then
94
f.SecondaryColor = BrickColor.new(color2).Color
95
end
96
return f
97
end;
98
}
99
function l(a,x,y,z,xx,yy,zz)
100
if string.find(tostring(a),',') == _ then
101
return (a.CFrame * cfn(x,y,z))*ang(xx or 0,yy or 0,zz or 0)
102
else
103
return (a * cfn(x,y,z))*ang(xx or 0,yy or 0,zz or 0)
104
end
105
end
106
Cur_Parent = _
107
Part = function(x,y,z,color,tr,cc,an,parent)
108
local p = Instance.new('Part',parent or Cur_Parent or Weapon)
109
p.formFactor = 'Custom'
110
p.Locked = true
111
p.Size = Vector3.new(x,y,z)
112-
p.BrickColor = BrickColor.new(color or 'White')
112+
p.BrickColor = BrickColor.new(color or 'Black')
113
p.CanCollide = cc or false
114
p.Anchored = an or false
115
p.Transparency = tr or 0
116
p.TopSurface,p.BottomSurface = 0,0
117
return p
118
end
119
Wedge = function(x,y,z,color,tr,cc,an,parent)
120
local p = Instance.new('WedgePart',parent or Weapon)
121
p.formFactor = 'Custom'
122
p.Size = Vector3.new(x,y,z)
123-
p.BrickColor = BrickColor.new(color or 'White')
123+
p.BrickColor = BrickColor.new(color or 'Black')
124
p.CanCollide = cc or false
125
p.Anchored = an or false
126
p.Transparency = tr or 0
127
p.TopSurface,p.BottomSurface = 0,0
128
return p
129
end
130
Meshes = {Diamond = 'rbxassetid://9756362'; Spikeball = 'rbxassetid://9982590'; Table = 'rbxassetid://111868131'; --- MeshIds
131
Egg = 'rbxassetid://1527559'; Ring = 'rbxassetid://3270017'; Bullet = 'rbxassetid://2697549'; Grass = 'rbxassetid://1080954';
132
Shark = 'rbxassetid://82821384';Sword = 'rbxassetid://12221720'}
133
Mesh = function(par,num,x,y,z,tex)
134
local msh = _
135
if num == 1 then msh = Instance.new("CylinderMesh",par)
136
elseif num == 2 then msh = Instance.new("SpecialMesh",par) msh.MeshType = 3
137
elseif num == 3 then msh = Instance.new("BlockMesh",par)
138
elseif type(num) == 'string' then msh = Instance.new("SpecialMesh",par)
139
msh.MeshId = string.find(num,'://') == _ and Meshes[num] or num
140
msh.TextureId = tex and tex or ''
141
end
142
msh.Scale = Vector3.new(x or 1,y or 1,z or 1)
143
return msh
144
end
145
Weld = function(p0,p1,x,y,z,rx,ry,rz,par)
146
p0.Position = p1.Position
147
local w = Instance.new('Motor',par or p0)
148
w.Part0 = p1
149
w.Part1 = p0
150
w.C0 = CFrame.new(x or 0,y or 0,z or 0)*CFrame.Angles(rx or 0,ry or 0,rz or 0)
151
w.MaxVelocity = .1
152
return w
153
end
154
GetGround = function(position,radius) local result = _ --- Check's height from nearest object
155
        local r = Ray.new(position,Vector3.FromNormalId(Enum.NormalId.Bottom)*radius)
156
        local o,p = Workspace:FindPartOnRay(r,char)
157
        if o and p then result = {}
158
                result.obj = o
159
                result.pos = p
160
                result.mag = (position-p).magnitude
161
        end
162
        return result
163
end
164
gTorso = char.Torso
165
ftorso = _
166
function genNew(ClassName, Parent, Properties)
167
        local nObj = Instance.new(ClassName, Parent)
168
        if Properties["FormFactor"] then
169
                        nObj["FormFactor"] = Properties["FormFactor"]
170
        end
171
        for Prop, Value in pairs(Properties) do
172
                        nObj[Prop] = Value
173
        end
174
        return nObj
175
end
176
--Anim
177
Lock = function(which) --- For using Animation
178
local torso = ftorso or gTorso
179
local result = {rw=false,lw=false}
180
if which == 'R' then
181
if not rw then
182
        rabr = Part(1,1,1,'White',0) rabr.Transparency = 1
183
        rabr.Position = torso.Position
184
        rw = Weld(rabr,torso,1.5,.5,0,0,0,0) rw.Parent = Weapon rw.Name = 'rw'
185
        w = Instance.new("Weld",Weapon)
186
        w.Part0,w.Part1 = char['Right Arm'],rabr
187
        w.C1 = CFrame.new(0,-.5,0)
188
else
189
        rabr:Destroy()
190
        rw = _
191
end
192
elseif which == 'L' then
193
if not lw then
194
        labr = Part(1,1,1,'White',0) labr.Transparency = 1
195
        labr.Position = torso.Position
196
        lw = Weld(labr,torso,-1.5,.5,0,0,0,0) lw.Parent = Weapon rw.Name = 'lw'
197
        w = Instance.new("Weld",Weapon)
198
        w.Part0,w.Part1 = char['Left Arm'],labr
199
        w.C1 = CFrame.new(0,-.5,0)
200
else
201
        labr:Destroy()
202
        lw = _
203
end
204
elseif which == _ then
205
if b then
206
        local rw,lw = FFS(b,'rw') FFS(b,'lw')
207
        return rw,lw
208
else
209
        return rw,lw
210
end
211
end
212
end
213
Lock2 = function(which) --- For using Animation
214
local torso = ftorso or gTorso
215
local result = {rw2=false,lw2=false}
216
if which == 'R' then
217
if not rw2 then
218
        rlbr = Part(1,1,1,'White',0) rlbr.Transparency = 1
219
        rlbr.Position = torso.Position
220
        rw2 = Weld(rlbr,torso,.5,-1.5,0,0,0,0) rw2.Parent = Weapon rw2.Name = 'rw2'
221
        w = Instance.new("Weld",Weapon)
222
        w.Part0,w.Part1 = char['Right Leg'],rlbr
223
        w.C1 = CFrame.new(0,-.5,0)
224
else
225
        rlbr:Destroy()
226
        rw2 = _
227
end
228
elseif which == 'L' then
229
if not lw2 then
230
        llbr = Part(1,1,1,'White',0) llbr.Transparency = 1
231
        llbr.Position = torso.Position
232
        lw2 = Weld(llbr,torso,-.5,-1.5,0,0,0,0) lw2.Parent = Weapon lw2.Name = 'lw2'
233
        w = Instance.new("Weld",Weapon)
234
        w.Part0,w.Part1 = char['Left Leg'],llbr
235
        w.C1 = CFrame.new(0,-.5,0)
236
else
237
        llbr:Destroy()
238
        lw2 = _
239
end
240
elseif which == _ then
241
if b then
242
        local rw2,lw2 = FFS(b,'rw2') FFS(b,'lw2')
243
        return rw2,lw2
244
else
245
        return rw2,lw2
246
end
247
end
248
end
249
tw = function(Weld, Stop, Step,a) --- TweenWeld function
250
local func = function()
251
        local Start = Weld.C1
252
        local X1, Y1, Z1 = Start:toEulerAnglesXYZ()
253
        local Stop = Stop
254
        local X2, Y2, Z2 = Stop:toEulerAnglesXYZ()
255
        
256
        for i = 0, 1, Step or .1 do
257
                Weld.C1 = CFrame.new( (Start.p.X * (1 - i)) + (Stop.p.X * i), 
258
                                (Start.p.Y * (1 - i)) + (Stop.p.Y * i), 
259
                                (Start.p.Z * (1 - i)) + (Stop.p.Z * i)) * CFrame.fromEulerAnglesXYZ(
260
                                (X1 * (1 - i)) + (X2 * i), (Y1 * (1 - i)) + (Y2 * i),
261
                                (Z1 * (1 - i)) + (Z2 * i) )
262
                wait()
263
        end
264
        
265
        Weld.C1 = Stop
266
end
267
if a then coroutine.wrap(function() func() end)() else func() end
268
end
269
tw2 = function(Weld, Stop, Step,a) --- TweenWeld function
270
local func = function()
271
        local Start = Weld.C0
272
        local X1, Y1, Z1 = Start:toEulerAnglesXYZ()
273
        local Stop = Stop
274
        local X2, Y2, Z2 = Stop:toEulerAnglesXYZ()
275
        
276
        for i = 0, 1, Step or .1 do
277
                Weld.C0 = CFrame.new( (Start.p.X * (1 - i)) + (Stop.p.X * i), 
278
                                (Start.p.Y * (1 - i)) + (Stop.p.Y * i), 
279
                                (Start.p.Z * (1 - i)) + (Stop.p.Z * i)) * CFrame.fromEulerAnglesXYZ(
280
                                (X1 * (1 - i)) + (X2 * i), (Y1 * (1 - i)) + (Y2 * i),
281
                                (Z1 * (1 - i)) + (Z2 * i) )
282
                wait()
283
        end
284
        
285
        Weld.C0 = Stop
286
end
287
if a then coroutine.wrap(function() func() end)() else func() end
288
end
289
tc = function(Part, Stop, Step,a) --- TweenCFrame function
290
local func = function()
291
        local Start = Part.CFrame
292
        local X1, Y1, Z1 = Start:toEulerAnglesXYZ()
293
        local Stop = Stop
294
        local X2, Y2, Z2 = Stop:toEulerAnglesXYZ()
295
        
296
        for i = 0, 1, Step or .1 do
297
                Part.CFrame = CFrame.new( (Start.p.X * (1 - i)) + (Stop.p.X * i), 
298
                                (Start.p.Y * (1 - i)) + (Stop.p.Y * i), 
299
                                (Start.p.Z * (1 - i)) + (Stop.p.Z * i)) * CFrame.fromEulerAnglesXYZ(
300
                                (X1 * (1 - i)) + (X2 * i), (Y1 * (1 - i)) + (Y2 * i),
301
                                (Z1 * (1 - i)) + (Z2 * i) )
302
                wait()
303
        end
304
        
305
        Part.CFrame = Stop
306
end
307
if a then coroutine.wrap(function() func() end)() else func() end
308
end
309
--/Anim
310
--SFX
311
Sparks = function(part,position,radius,number,number2)
312
local part = part
313
part.Parent = _
314
        mode = Instance.new("Model",Weapon)
315
        for i = 1,number2 do
316
                local pos = position+Vector3.new(mr(-radius,radius),mr(-radius,radius),mr(-radius,radius))
317
                local mag = (position-pos).magnitude
318
                local laz = part:Clone() laz.Parent = mode laz.Anchored = true
319
                laz.Size = Vector3.new(laz.Size.x,mag,laz.Size.z)
320
                --Mesh(laz,1,1,1,1)
321
                laz.CFrame = (cfn(position,pos)*cfn(0,0,-mag/2))*ang(math.pi/2,0,0)
322
                cframe = (laz.CFrame*cfn(0,-mag/2,0)).p
323
                pos2 = cframe+Vector3.new(mr(-radius,radius),mr(-radius,radius),mr(-radius,radius))
324
                mag2 = (cframe-pos2).magnitude
325
                local laz2 = part:Clone() laz2.Parent = mode
326
                laz2.Size = Vector3.new(laz.Size.x,mag2,laz.Size.z) laz2.Anchored = true
327
                --Mesh(laz2,1,1,1,1)
328
                laz2.CFrame = (cfn(cframe,pos2)*cfn(0,0,-mag2/2))*ang(math.pi/2,0,0)
329
                previo = laz2
330
                for i = 1,number do
331
                        cframe = (previo.CFrame*cfn(0,-mag/2,0)).p
332
                        pos2 = cframe+Vector3.new(mr(-radius,radius),mr(-radius,radius),mr(-radius,radius))
333
                        mag2 = (cframe-pos2).magnitude
334
                        laz2 = part:Clone() laz2.Parent = mode
335
                        laz2.Size = Vector3.new(laz.Size.x,mag2,laz.Size.z) laz2.Anchored = true
336
                        --Mesh(laz2,1,1,1,1)
337
                        laz2.CFrame = (cfn(cframe,pos2)*cfn(0,0,-mag2/2))*ang(math.pi/2,0,0)
338
                        previo = laz2
339
                end
340
        end
341
        Debris:AddItem(mode,.1)
342
        return mode
343
end
344
function trace(obj,cf,color,delay,t,thick) -- offset,color,delay,transparency,thickness
345
if type(thick) == 'table' then
346
x,y = thick[1],thick[2]
347
else
348
x,y = thick,thick
349
end
350
local name
351
for i,v in pairs(getfenv()) do
352
if v == obj then name = i end
353
end
354
getfenv()[name..'tr'] = true
355
local prev = obj.CFrame
356
coroutine.wrap(function()
357
while getfenv()[name..'tr'] do
358
local cf = obj.CFrame*cf
359
local mag = (prev.p-cf.p).magnitude
360-
local p = Part(x or .1,mag,y or .1,color or 'White',t or .5) p.Anchored = true
360+
local p = Part(x or .1,mag,y or .1,color or 'Black',t or .5) p.Anchored = true
361
if type(thick) ~= 'table' then Mesh(p,1) end
362
p.CFrame = (cfn(prev.p,cf.p)*cfn(0,0,-mag/2))*ang(math.pi/2,0,0)
363
Debris:AddItem(p,delay or 1)
364
prev = cf
365
wait()
366
end end)()
367
end 
368
Lightning = function(p0,p1,tym,ofs,col,th,tra) -- start end times offset color thickness 
369
local magz = (p0 - p1).magnitude local curpos = p0 local trz = {-ofs,ofs} 
370
for i=1,tym do 
371
li = Part(th,th,magz/tym,col,tra or .4) li.Anchored = true
372
local ofz = Vector3.new(trz[math.random(1,2)],trz[math.random(1,2)],trz[math.random(1,2)]) 
373
local trolpos = CFrame.new(curpos,p1)*CFrame.new(0,0,magz/tym).p+ofz 
374
if tym == i then 
375
local magz2 = (curpos - p1).magnitude li.Size = Vector3.new(th,th,magz2) 
376
li.CFrame = CFrame.new(curpos,p1)*CFrame.new(0,0,-magz2/2) 
377
else 
378
li.CFrame = cfn(curpos,trolpos)*cfn(0,0,magz/tym/2) 
379
end 
380
curpos = li.CFrame*cfn(0,0,magz/tym/2).p Debris:AddItem(li,0.25) 
381
end 
382
end 
383
--/SFX
384
--Weapon
385-
hdl = Part(.25,4,.25,'Light stone grey')
385+
hdl = Part(.25,4,.25,'Really Black')
386
hw = Weld(hdl,rarm,0,-1,0,-math.pi/2)
387
Mesh(hdl,1)
388-
ydin = Part(.5,.5,.5,'Cyan')
388+
ydin = Part(.5,.5,.5,'Bright red')
389
Weld(ydin,hdl,0,2.25,0)
390
Mesh(ydin,2)
391-
tip = Part(1,2,1,'Cyan',.5)
391+
tip = Part(1,2,1,'Bright red',.5)
392
tipw = Weld(tip,ydin,0,.6,0)
393
Mesh(tip,2,1,1,1)
394
plate = Part(2,.1,2,'Black') Mesh(plate,1,.5,.5,.5)
395
Weld(plate,hdl,0,2,0)
396
r = .5
397
for i = 1,360,30 do
398
        p = Part(.11,.1,.1,'Black') Mesh(p,3,1,1,.5)
399
        Weld(p,plate,math.cos(md(i))*r,0,math.sin(md(i))*r,math.pi/2,0,math.pi/2+md(i))
400
        p2 = Part(.35,.1,.1,'Black') Mesh(p2,3,1,.5,.5)
401
        Weld(p2,p,0,r*2.25,0)
402
end
403
r = .1
404
for i = 0,1,.05 do
405
        if i%5 == 0 then wait() end
406
        p = Part(.1,.1,.1,'Black') Mesh(p,2)
407
        Weld(p,hdl,math.cos(md(i*360*3))*r,-2+i*4,math.sin(md(i*360*3))*r)
408
end
409
p = Part(1,1,1,'Cyan')
410
Weld(p,hdl,0,-2,0,math.pi/2)
411
Mesh(p,'Diamond',.5,.5,.5)
412
--/Weapon
413
ftorso = _
414
ftw = _
415
function FindHum(a) result = _
416
        for i,v in pairs(a:children()) do
417
                if v:IsA'Humanoid' then result = v end
418
        end
419
        return result
420
end
421
function Equip()
422
        Lock'R' --Lock'L'
423
        PutBack'F'
424
        tw(rw,cfn()*ang(0,0,md(-5)),.1)
425
        --tw(lw,cfn()*ang(0,0,md(15)))
426
        equip = rw.C1 --equip2 = lw.C1
427
end
428
function Unequip() PutBack'T'
429
        Lock'R' --Lock'L'
430
end
431
BackPos = cfn(0,0,.6)*ang(0,0,md(45))
432
HoldPos = cfn(0,-1,0)*ang(-math.pi/2,0,0)
433
function PutBack(a)
434
        if a == 'T' then
435
                hw.Part0 = torso
436
                hw.C0 = BackPos
437
        elseif a == 'F' then
438
                hw.Part0 = rarm
439
                hw.C0 = HoldPos
440
        end
441
end
442
PutBack'T'
443
--funcs
444
local function check(k) local downed = false
445
        if not Keys[k] then downed = true else downed = false end
446
        return downed
447
end
448
local function WK(key)
449
        return (Keys[key] and downed)
450
end
451
local function CreateLoop(tim,keys) local count = 0
452
        while count < tim do
453
                for i,v in pairs(keys) do
454
                if WK(i) then v(mouse) return end
455
                end
456
                count = count+1
457
                wait()
458
        end
459
end
460
--/funcs
461
function lerp(a,b,c)
462
    return a+(b-a)*c
463
end
464
--Attacks
465
nsize = tip.Size
466
Mons = Add.Sound("http://www.roblox.com/Asset/?id=2676305",2)
467
function slash()
468
hurt = false
469
local con = tip.Touched:connect(function(hit)
470
        local hum = FindHum(hit.Parent)
471
        if hum and hurt and hum.Health > 0 then 
472
                hum.Health = hum.Health -(3)
473
        elseif hum and hum.Health <= 0 and not FFS(hum,'Dead') then hum.Health = -1
474
                Mons:Play() Instance.new('BoolValue',hum).Name = 'Dead'
475
                for i,v in pairs(hum.Parent:children()) do
476
                if v:IsA('Part') then
477
                        Instance.new('BodyForce',v).force = Vector3.new(0,v:GetMass()*floatforce,0)
478
                end end
479
        end 
480
end)
481
        function stab() Lock'L'
482
                bp = Add.BP(torso,l(torso,0,5,-5).p)
483
                tw(rw,cfn(0,.7,0)*ang(md(-140),md(-45),md(20)),.1,'') --up
484
                tw(lw,cfn(0,.7,0)*ang(md(-140),md(45),md(20))) wait(3)
485
        end
486
        local function second()
487
                tw(rw,cfn(-.2,.3,.2)*ang(md(-130),md(-45),md(-10)),.1,'') --Rise
488
                for i = 0,1,.1 do wait() --Morph
489
                        lerp(nsize,Vector3.new(.5,4,.5),i)
490
                        tipw.Parent = ydin
491
                        tipw.Part1 = tip tipw.Part0 = ydin
492
                        tipw.C0 = cfn(0,.6+i*1.5,0)
493
                end
494
                Synth:Pitch(2) Synth:Play() 
495
                tw(rw,cfn()*ang(md(40),md(0),md(-50)),.3) --Down
496
                hurt = true
497
        end
498
        tw(rw,cfn(-.2,.3,.2)*ang(md(-130),md(-45),md(-50)),.1,'') --Rise
499
        for i = 0,1,.1 do wait() --Morph
500
                tip.Size = lerp(nsize,Vector3.new(.5,4,.5),i)
501
                tipw.Parent = ydin
502
                tipw.Part1 = tip tipw.Part0 = ydin
503
                tipw.C0 = cfn(0,.6+i*1.5,0)
504
        end Synth:Play()
505
        downed = check('f') hurt = true
506
        tw(rw,cfn()*ang(md(40),md(0),md(-10)),.3) --Down 
507
        CreateLoop(1,{f=second;q=stab})
508
        hurt = false
509
        tw(rw,equip,.1,'') --Back
510
        for i = 1,0,-.3 do wait() --Morph back
511
                tip.Size = lerp(nsize,Vector3.new(.5,4,.5),i)
512
                tipw.Parent = ydin
513
                tipw.Part1 = tip tipw.Part0 = ydin
514
                tipw.C0 = cfn(0,.6+i*1.5,0)
515
        end
516
        Synth:Pitch(1) con:disconnect()
517
end
518
Whoosh = Add.Sound("http://www.roblox.com/Asset/?id=18426149",1)
519
function trip()
520
        Lock2'R'
521
        local con = char['Right Leg'].Touched:connect(function(hit)
522
                local hum = FindHum(hit.Parent)
523
                hum.Health = hum.Health - 5
524
                if hum then hum.Sit = true end
525
        end)
526
        tw(rw2,cfn(0,-.2,-.3)*ang(md(30),0,0)) Whoosh:Play()
527
        tw(rw2,cfn(0,.5,.3)*ang(md(-70),0,0),.3)
528
        tw(rw2,cfn(),.3)
529
        Lock2'R'
530
        con:disconnect()
531
end
532
function sit()
533
if sitbp == nil then
534
Lock2'R' Lock2'L' Lock'L'
535
sitbp = Add.BP(torso,torso.Position)
536
sitbg = Add.BG(torso)
537
--rw2.C1 = cfn()*ang(md(i),0,md(i/(90/-30)))
538
--lw2.C1 = cfn()*ang(md(i),0,md(i/(90/30)))
539
tw(rw2,cfn(.15,.4,.3)*ang(md(-60),md(30),0),.1,'') --right leg
540
tw(lw2,cfn(-.15,.4,.3)*ang(md(-60),md(-30),0),.1,'') --left leg
541
tw(rw,cfn()*ang(md(25),0,md(-20)),.1,'') --rarm down
542
tw(lw,cfn()*ang(md(25),0,md(20)),.1,'') --larm down
543
cf = torso.CFrame
544
for i = 0,1,.1 do wait()
545
        sitbp.position = torso.Position - Vector3.new(0,i*1.25,0)
546
        sitbg.cframe = cf*ang(md(i*20),0,0)
547
end
548
elseif sitbp ~= nil then
549
--rw2.C1 = cfn()*ang(md(i),0,md(i/(90/-30)))
550
--lw2.C1 = cfn()*ang(md(i),0,md(i/(90/30)))
551
tw(rw2,cfn(),.1,'')
552
tw(lw2,cfn(),.1,'') tw(rw,equip,.1,'')
553
for i = 0,1,.1 do wait()
554
        sitbp.position = torso.Position + Vector3.new(0,i,0)
555
        sitbg.cframe = cf*cfn(-i,-i,-i)
556
end
557
Lock2'R' Lock2'L' Lock'L'
558
sitbp:Remove() sitbg:Destroy() sitbp = nil sitbg = _
559
end
560
end
561
Crack = Add.Sound("http://www.roblox.com/Asset/?id=15933756",1)
562
Crack.Sound.Volume = 300
563
function blast() local list = {}
564
        tw(rw,cfn()*ang(md(-120),0,0),.1,'')
565
        tw(hw,cfn()*ang(md(45),0,0))
566-
        met = Part(1,1,1,'White',0,1,1)
566+
        met = Part(1,1,1,'Black',0,1,1)
567
        holding = true
568
        mag = 1 maxmag = 15
569
        while holding do  mag = mag < maxmag and mag+.5 or maxmag
570
                met.Size = Vector3.new(1,mag*7,1)
571
                met.CFrame = l(l(torso,0,0,-7),0,0,-mag*7/2,math.pi/2)
572
                wait()
573
        end
574
        met:Destroy()
575
                tcf = torso.CFrame
576
        for y = 0,mag do
577
                local ground = GetGround(l(tcf,0,0,-7-y*7).p,300)
578
                if ground.pos then
579
                        cf = cfn(ground.pos)
580
                end
581
                for i = 1,15 do local tab = {}
582-
                        p = Part(1,1,1,i%2 == 0 and 'White' or 'Cyan',0,1,1)
582+
                        p = Part(1,1,1,i%2 == 0 and 'Black' or 'Bright red',0,1,1)
583
                        p.CFrame = l(cf,mr(-5,5),0,mr(-5,5))
584
                        tab.obj = p
585
                        tab.cf = p.CFrame
586
                        tab.size = mr(5,10)
587
                        table.insert(list,tab)
588
                end
589
        end Crack:Play()
590
        for i = 0,1,.2 do wait()
591
                for _,v in pairs(list) do
592
                        v.obj.Size = Vector3.new(1,v.size*i,1)
593
                        v.obj.CFrame = v.cf*cfn(0,v.size*i/2,0)
594
                end
595
        end
596
        Delay(4,function()
597
        for i = 1,0,-.2 do wait()
598
                for _,v in pairs(list) do
599
                        v.obj.Size = Vector3.new(1,v.size*i,1)
600
                        v.obj.CFrame = v.cf*cfn(0,v.size*i/2,0)
601
                end
602
        end
603
        for _,v in pairs(list) do
604
                v.obj:Destroy()
605
        end end)
606
        tw(rw,equip,.1,'') tw(hw,cfn())
607
end
608
Cages = {}
609
function shoudon(mouse) a = 0
610
        Mod = Instance.new('Model',Weapon)
611
        Cur_Parent = Mod
612
        p = Part(1,1,1,'Black',1) p.Anchored = true
613
        holding = true
614
        genNew('SelectionBox',p,{
615
                Adornee = p;
616-
                Color = bcol'Cyan';
616+
                Color = bcol'Bright red';
617
        })
618
        cf = mouse.hit
619
        while holding do wait() a = a+1
620
                if Keys.e then for i,v in pairs(Cages) do v:Destroy() end p:Destroy() Cages = {}
621
                return end
622
                p.Size = Vector3.new(a,a,a)
623
                p.CFrame = cfn(cf.p)*cfn(0,a/2,0)
624
        end
625
        
626
        for i = 1,0,-.1 do
627
                wait()
628
                p.Transparency = i
629
        end
630
        for _,y in pairs({-a/2+.5,a/2+.5}) do
631
                for _,pos in pairs({ {x=a/2,z=0};{x=-a/2,z=0};{z=a/2,x=0,r=1};{z=-a/2,x=0,r=1} }) do
632
                        w = Part(1,1,a+1,'Black',0,1,1)
633
                        w.CFrame = l(p,pos.x,y,pos.z,0,pos.r and math.pi/2 or 0)
634-
                        w = Part(1,a-1,a-1,'Cyan',.5,1,1)
634+
                        w = Part(1,a-1,a-1,'Bright red',.5,1,1)
635
                        w.CFrame = l(p,pos.x,.5,pos.z,0,pos.r and math.pi/2 or 0)
636
                end
637
        end
638-
        w = Part(1,a-1,a-1,'Cyan',.5,1,1)
638+
        w = Part(1,a-1,a-1,'Bright red',.5,1,1)
639
        w.CFrame = l(p,0,a/2,0,0,0,math.pi/2)
640-
        w = Part(1,a-1,a-1,'Cyan',.5,1,1)
640+
        w = Part(1,a-1,a-1,'Bright red',.5,1,1)
641
        w.CFrame = l(p,0,-a/2,0,0,0,math.pi/2)
642
        for i,pos in pairs({ {x=a/2,z=a/2};{x=-a/2,z=-a/2};{z=a/2,x=-a/2};{z=-a/2,x= a/2} }) do
643
                w = Part(1,a,1,'Black',0,1,1)
644
                w.CFrame = l(p,pos.x,0,pos.z,0)
645
        end
646
        table.insert(Cages,Mod) Cur_Parent = _
647
        for i = 0,1,.1 do
648
                wait()
649
                p.Transparency = i
650
        end
651
        p:Destroy()
652
end
653
for i,v in pairs(torso:children()) do if v:IsA'BodyGyro' or v:IsA'BodyPosition' or v:IsA'BodyVelocity' then v:Destroy() end end
654
function teleport(mouse) char.archivable = true
655
        coroutine.wrap(function() loopi = true a = 0
656
        repeat a = a+1
657-
                local p = Part(5,5,5,a%2 == 0 and 'White' or 'Cyan',.5)
657+
                local p = Part(5,5,5,a%2 == 0 and 'Black' or 'Bright red',.5)
658
                p.CFrame = l(torso,0,0,0,mr(-10,10),mr(-10,10),mr(-10,10))
659
                Debris:AddItem(p,.1) wait()
660
                until not loopi
661
        end)()
662
        tc(torso,cfn(mouse.hit.p)*cfn(0,5,0),.1)
663
        loopi = false
664
end
665
function loud()
666
        tw(rw,cfn()*ang(md(40),md(-25),0),.1,'')
667
        for i = 0,1,.1 do wait()
668
                tip.Size = Vector3.new(1+i*1,2-i*1.5,1+i*1)
669
                tipw.Parent = ydin
670
                tipw.Part1 = tip
671
        end
672
        e = Instance.new("Explosion",Workspace)
673
        e.BlastPressure = 0
674
        e.Position = tip.Position
675
        e.Hit:connect(function(hit)
676
                local hum = FindHum(hit.Parent)
677
                if hum and hum.Parent ~= char then
678
                        hum.Health = hum.Health -(3)
679
                        hum.Sit = true
680
                        hum.Torso.Velocity = cfn(e.Position,Vector3.new(hum.Torso.Position.x,torso.Position.y,hum.Torso.Position.z)).lookVector*100
681
                end
682
        end)
683
        coroutine.wrap(function()
684-
                local p = Part(1,1,1,'Cyan',.5,1,0)
684+
                local p = Part(1,1,1,'Bright red',.5,1,0)
685
                p.CFrame = cfn(tip.CFrame.p)*ang(math.pi/2,0,0)
686
                msh = Mesh(p,'Ring')
687
                for i = 1,30 do wait()
688
                        msh.Scale = Vector3.new(i,i,1)
689
                        p.Transparency = i/30
690
                end
691
                p:Destroy()
692
        end)()
693
        q = Add.BV(torso,cfn(l(torso).p,l(torso,0,2,5).p).lookVector*100)
694
        Debris:AddItem(q,.5)
695
        tw(rw,equip,.1,'')
696
        for i = 1,0,-.1 do wait()
697
                tip.Size = Vector3.new(1+i*1,2-i*1.5,1+i*1)
698
                tipw.Parent = ydin
699
                tipw.Part1 = tip
700
        end
701
end
702
--/Attacks
703
--Sounds
704
Synth = Add.Sound("http://www.roblox.com/Asset/?id=46153268",1)
705
--/Sounds
706
--http://www.roblox.com/asset/?id=107431751
707
--http://www.roblox.com/asset/?id=107431876
708
klist = { --- Key Bindings
709
        f = slash;
710
        x = sit;
711
        eq = blast;
712
        qq = shoudon;
713
        t = teleport;
714
        c = loud;
715
        v = trip;
716
}
717
Keys = {}
718
function CheckKeys(key)
719
        if Keys[key] then Keys[key] = _
720
        elseif not Keys[key] then Keys[key] = true
721
        end
722
end
723
hop.Selected:connect(function(mouse) Equip()
724
        mouse.Button1Up:connect(function() holding = false end)
725
        mouse.KeyUp:connect(function(key) CheckKeys(key)  for i,v in pairs(klist) do if key == i:sub(1,1) and i:sub(2,2) == 'q' then  holding = false end end end)
726
        mouse.KeyDown:connect(function(key)
727
                CheckKeys(key)
728
                if attacking then return end
729
                for i,v in pairs(klist) do
730
                        if key == i:sub(1,1) then attacking = true v(mouse) attacking = false
731
                end
732
                end
733
        end)
734
end)