View difference between Paste ID: zCMwwb0s and vsRDhuwz
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 'Black')
112+
p.BrickColor = BrickColor.new(color or 'White')
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 'Black')
123+
p.BrickColor = BrickColor.new(color or 'White')
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 'Black',t or .5) p.Anchored = true
360+
local p = Part(x or .1,mag,y or .1,color or 'White',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
384+
385-
hdl = Part(.25,4,.25,'Really Black')
385+
386-
hw = Weld(hdl,rarm,0,-1,0,-math.pi/2)
386+
387-
Mesh(hdl,1)
387+
388-
ydin = Part(.5,.5,.5,'Bright red')
388+
389-
Weld(ydin,hdl,0,2.25,0)
389+
390-
Mesh(ydin,2)
390+
391-
tip = Part(1,2,1,'Bright red',.5)
391+
392-
tipw = Weld(tip,ydin,0,.6,0)
392+
393-
Mesh(tip,2,1,1,1)
393+
394-
plate = Part(2,.1,2,'Black') Mesh(plate,1,.5,.5,.5)
394+
395-
Weld(plate,hdl,0,2,0)
395+
396-
r = .5
396+
397-
for i = 1,360,30 do
397+
398-
        p = Part(.11,.1,.1,'Black') Mesh(p,3,1,1,.5)
398+
399-
        Weld(p,plate,math.cos(md(i))*r,0,math.sin(md(i))*r,math.pi/2,0,math.pi/2+md(i))
399+
400-
        p2 = Part(.35,.1,.1,'Black') Mesh(p2,3,1,.5,.5)
400+
401-
        Weld(p2,p,0,r*2.25,0)
401+
402
        function stab() Lock'L'
403-
r = .1
403+
404-
for i = 0,1,.05 do
404+
405-
        if i%5 == 0 then wait() end
405+
406-
        p = Part(.1,.1,.1,'Black') Mesh(p,2)
406+
407-
        Weld(p,hdl,math.cos(md(i*360*3))*r,-2+i*4,math.sin(md(i*360*3))*r)
407+
408
                tw(rw,cfn(-.2,.3,.2)*ang(md(-130),md(-45),md(-10)),.1,'') --Rise
409-
p = Part(1,1,1,'Cyan')
409+
410-
Weld(p,hdl,0,-2,0,math.pi/2)
410+
411-
Mesh(p,'Diamond',.5,.5,.5)
411+
412-
--/Weapon
412+
413
                        tipw.C0 = cfn(0,.6+i*1.5,0)
414-
ftw = _
414+
415-
function FindHum(a) result = _
415+
416-
        for i,v in pairs(a:children()) do
416+
417-
                if v:IsA'Humanoid' then result = v end
417+
418
        end
419
        tw(rw,cfn(-.2,.3,.2)*ang(md(-130),md(-45),md(-50)),.1,'') --Rise
420
        for i = 0,1,.1 do wait() --Morph
421-
function Equip()
421+
422-
        Lock'R' --Lock'L'
422+
423-
        PutBack'F'
423+
424-
        tw(rw,cfn()*ang(0,0,md(-5)),.1)
424+
425-
        --tw(lw,cfn()*ang(0,0,md(15)))
425+
426-
        equip = rw.C1 --equip2 = lw.C1
426+
427
        tw(rw,cfn()*ang(md(40),md(0),md(-10)),.3) --Down 
428-
function Unequip() PutBack'T'
428+
429-
        Lock'R' --Lock'L'
429+
430
        tw(rw,equip,.1,'') --Back
431-
BackPos = cfn(0,0,.6)*ang(0,0,md(45))
431+
432-
HoldPos = cfn(0,-1,0)*ang(-math.pi/2,0,0)
432+
433-
function PutBack(a)
433+
434-
        if a == 'T' then
434+
435-
                hw.Part0 = torso
435+
436-
                hw.C0 = BackPos
436+
437-
        elseif a == 'F' then
437+
438-
                hw.Part0 = rarm
438+
439-
                hw.C0 = HoldPos
439+
440
function trip()
441
        Lock2'R'
442-
PutBack'T'
442+
443-
--funcs
443+
444-
local function check(k) local downed = false
444+
445-
        if not Keys[k] then downed = true else downed = false end
445+
446-
        return downed
446+
447
        tw(rw2,cfn(0,-.2,-.3)*ang(md(30),0,0)) Whoosh:Play()
448-
local function WK(key)
448+
449-
        return (Keys[key] and downed)
449+
450
        Lock2'R'
451-
local function CreateLoop(tim,keys) local count = 0
451+
452-
        while count < tim do
452+
453-
                for i,v in pairs(keys) do
453+
454-
                if WK(i) then v(mouse) return end
454+
455
Lock2'R' Lock2'L' Lock'L'
456-
                count = count+1
456+
457
sitbg = Add.BG(torso)
458
--rw2.C1 = cfn()*ang(md(i),0,md(i/(90/-30)))
459
--lw2.C1 = cfn()*ang(md(i),0,md(i/(90/30)))
460-
--/funcs
460+
461-
function lerp(a,b,c)
461+
462-
    return a+(b-a)*c
462+
463
tw(lw,cfn()*ang(md(25),0,md(20)),.1,'') --larm down
464
cf = torso.CFrame
465
for i = 0,1,.1 do wait()
466
        sitbp.position = torso.Position - Vector3.new(0,i*1.25,0)
467
        sitbg.cframe = cf*ang(md(i*20),0,0)
468
end
469
elseif sitbp ~= nil then
470
--rw2.C1 = cfn()*ang(md(i),0,md(i/(90/-30)))
471
--lw2.C1 = cfn()*ang(md(i),0,md(i/(90/30)))
472
tw(rw2,cfn(),.1,'')
473
tw(lw2,cfn(),.1,'') tw(rw,equip,.1,'')
474
for i = 0,1,.1 do wait()
475
        sitbp.position = torso.Position + Vector3.new(0,i,0)
476
        sitbg.cframe = cf*cfn(-i,-i,-i)
477
end
478
Lock2'R' Lock2'L' Lock'L'
479
sitbp:Remove() sitbg:Destroy() sitbp = nil sitbg = _
480
end
481
end
482
Crack = Add.Sound("http://www.roblox.com/Asset/?id=15933756",1)
483
Crack.Sound.Volume = 300
484
function blast() local list = {}
485
        tw(rw,cfn()*ang(md(-120),0,0),.1,'')
486
        tw(hw,cfn()*ang(md(45),0,0))
487
        met = Part(1,1,1,'White',0,1,1)
488
        holding = true
489
        mag = 1 maxmag = 15
490
        while holding do  mag = mag < maxmag and mag+.5 or maxmag
491
                met.Size = Vector3.new(1,mag*7,1)
492
                met.CFrame = l(l(torso,0,0,-7),0,0,-mag*7/2,math.pi/2)
493
                wait()
494
        end
495
        met:Destroy()
496
                tcf = torso.CFrame
497
        for y = 0,mag do
498
                local ground = GetGround(l(tcf,0,0,-7-y*7).p,300)
499
                if ground.pos then
500
                        cf = cfn(ground.pos)
501
                end
502
                for i = 1,15 do local tab = {}
503
                        p = Part(1,1,1,i%2 == 0 and 'White' or 'Cyan',0,1,1)
504
                        p.CFrame = l(cf,mr(-5,5),0,mr(-5,5))
505
                        tab.obj = p
506
                        tab.cf = p.CFrame
507
                        tab.size = mr(5,10)
508
                        table.insert(list,tab)
509
                end
510
        end Crack:Play()
511
        for i = 0,1,.2 do wait()
512
                for _,v in pairs(list) do
513
                        v.obj.Size = Vector3.new(1,v.size*i,1)
514
                        v.obj.CFrame = v.cf*cfn(0,v.size*i/2,0)
515
                end
516
        end
517
        Delay(4,function()
518
        for i = 1,0,-.2 do wait()
519
                for _,v in pairs(list) do
520
                        v.obj.Size = Vector3.new(1,v.size*i,1)
521
                        v.obj.CFrame = v.cf*cfn(0,v.size*i/2,0)
522
                end
523
        end
524
        for _,v in pairs(list) do
525
                v.obj:Destroy()
526
        end end)
527
        tw(rw,equip,.1,'') tw(hw,cfn())
528
end
529
Cages = {}
530
function shoudon(mouse) a = 0
531
        Mod = Instance.new('Model',Weapon)
532
        Cur_Parent = Mod
533
        p = Part(1,1,1,'Black',1) p.Anchored = true
534
        holding = true
535
        genNew('SelectionBox',p,{
536
                Adornee = p;
537
                Color = bcol'Cyan';
538
        })
539
        cf = mouse.hit
540
        while holding do wait() a = a+1
541
                if Keys.e then for i,v in pairs(Cages) do v:Destroy() end p:Destroy() Cages = {}
542
                return end
543
                p.Size = Vector3.new(a,a,a)
544
                p.CFrame = cfn(cf.p)*cfn(0,a/2,0)
545
        end
546
        
547
        for i = 1,0,-.1 do
548
                wait()
549
                p.Transparency = i
550
        end
551
        for _,y in pairs({-a/2+.5,a/2+.5}) do
552
                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
553
                        w = Part(1,1,a+1,'Black',0,1,1)
554
                        w.CFrame = l(p,pos.x,y,pos.z,0,pos.r and math.pi/2 or 0)
555
                        w = Part(1,a-1,a-1,'Cyan',.5,1,1)
556
                        w.CFrame = l(p,pos.x,.5,pos.z,0,pos.r and math.pi/2 or 0)
557
                end
558
        end
559
        w = Part(1,a-1,a-1,'Cyan',.5,1,1)
560
        w.CFrame = l(p,0,a/2,0,0,0,math.pi/2)
561
        w = Part(1,a-1,a-1,'Cyan',.5,1,1)
562
        w.CFrame = l(p,0,-a/2,0,0,0,math.pi/2)
563
        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
564
                w = Part(1,a,1,'Black',0,1,1)
565
                w.CFrame = l(p,pos.x,0,pos.z,0)
566-
        met = Part(1,1,1,'Black',0,1,1)
566+
567
        table.insert(Cages,Mod) Cur_Parent = _
568
        for i = 0,1,.1 do
569
                wait()
570
                p.Transparency = i
571
        end
572
        p:Destroy()
573
end
574
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
575
function teleport(mouse) char.archivable = true
576
        coroutine.wrap(function() loopi = true a = 0
577
        repeat a = a+1
578
                local p = Part(5,5,5,a%2 == 0 and 'White' or 'Cyan',.5)
579
                p.CFrame = l(torso,0,0,0,mr(-10,10),mr(-10,10),mr(-10,10))
580
                Debris:AddItem(p,.1) wait()
581
                until not loopi
582-
                        p = Part(1,1,1,i%2 == 0 and 'Black' or 'Bright red',0,1,1)
582+
583
        tc(torso,cfn(mouse.hit.p)*cfn(0,5,0),.1)
584
        loopi = false
585
end
586
function loud()
587
        tw(rw,cfn()*ang(md(40),md(-25),0),.1,'')
588
        for i = 0,1,.1 do wait()
589
                tip.Size = Vector3.new(1+i*1,2-i*1.5,1+i*1)
590
                tipw.Parent = ydin
591
                tipw.Part1 = tip
592
        end
593
        e = Instance.new("Explosion",Workspace)
594
        e.BlastPressure = 0
595
        e.Position = tip.Position
596
        e.Hit:connect(function(hit)
597
                local hum = FindHum(hit.Parent)
598
                if hum and hum.Parent ~= char then
599
                        hum.Health = hum.Health -(3)
600
                        hum.Sit = true
601
                        hum.Torso.Velocity = cfn(e.Position,Vector3.new(hum.Torso.Position.x,torso.Position.y,hum.Torso.Position.z)).lookVector*100
602
                end
603
        end)
604
        coroutine.wrap(function()
605
                local p = Part(1,1,1,'Cyan',.5,1,0)
606
                p.CFrame = cfn(tip.CFrame.p)*ang(math.pi/2,0,0)
607
                msh = Mesh(p,'Ring')
608
                for i = 1,30 do wait()
609
                        msh.Scale = Vector3.new(i,i,1)
610
                        p.Transparency = i/30
611
                end
612
                p:Destroy()
613
        end)()
614
        q = Add.BV(torso,cfn(l(torso).p,l(torso,0,2,5).p).lookVector*100)
615
        Debris:AddItem(q,.5)
616-
                Color = bcol'Bright red';
616+
617
        for i = 1,0,-.1 do wait()
618
                tip.Size = Vector3.new(1+i*1,2-i*1.5,1+i*1)
619
                tipw.Parent = ydin
620
                tipw.Part1 = tip
621
        end
622
end
623
--/Attacks
624
--Sounds
625
Synth = Add.Sound("http://www.roblox.com/Asset/?id=46153268",1)
626
--/Sounds
627
--http://www.roblox.com/asset/?id=107431751
628
--http://www.roblox.com/asset/?id=107431876
629
klist = { --- Key Bindings
630
        f = slash;
631
        x = sit;
632
        eq = blast;
633
        qq = shoudon;
634-
                        w = Part(1,a-1,a-1,'Bright red',.5,1,1)
634+
635
        c = loud;
636
        v = trip;
637
}
638-
        w = Part(1,a-1,a-1,'Bright red',.5,1,1)
638+
639
function CheckKeys(key)
640-
        w = Part(1,a-1,a-1,'Bright red',.5,1,1)
640+
641
        elseif not Keys[key] then Keys[key] = true
642
        end
643
end
644
hop.Selected:connect(function(mouse) Equip()
645
        mouse.Button1Up:connect(function() holding = false end)
646
        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)
647
        mouse.KeyDown:connect(function(key)
648
                CheckKeys(key)
649
                if attacking then return end
650
                for i,v in pairs(klist) do
651
                        if key == i:sub(1,1) then attacking = true v(mouse) attacking = false
652
                end
653
                end
654
        end)
655
end)