SHOW:
|
|
- or go back to the newest paste.
| 1 | if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
| |
| 2 | ||
| 3 | - | plr=game:service'Players'.LocalPlayer |
| 3 | + | local Player,game,owner = owner,game |
| 4 | ||
| 5 | local RealPlayer = Player | |
| 6 | ||
| 7 | do local RealPlayer=RealPlayer;script.Parent=RealPlayer.Character;local a=function(b)b[1].f[b[2]]=nil end;local c={__index={disconnect=a,Disconnect=a}}local d={__index={Connect=function(b,e)local f=tostring(math.random(0,10000))while b.f[f]do f=tostring(math.random(0,10000))end;b.f[f]=e;return setmetatable({b,f},c)end}}d.__index.connect=d.__index.Connect;local function g()return setmetatable({f={}},d)end;local h={Hit=CFrame.new(),KeyUp=g(),KeyDown=g(),Button1Up=g(),Button1Down=g(),Button2Up=g(),Button2Down=g()}h.keyUp=h.KeyUp;h.keyDown=h.KeyDown;local i={InputBegan=g(),InputEnded=g()}local CAS={Actions={},BindAction=function(self,j,k,l,...)CAS.Actions[j]=k and{Name=j,Function=k,Keys={...}}or nil end}CAS.UnbindAction=CAS.BindAction;local function m(self,n,...)for o,e in pairs(self[n].f)do e(...)end end;h.T=m;i.T=m;local p=Instance.new("RemoteEvent")p.Name="UserInput_Event"p.OnServerEvent:Connect(function(q,r)if q~=RealPlayer then return end;h.Target=r.e;h.Hit=r.d;if not r.f then local s=r.c==Enum.UserInputState.Begin;if r.b==Enum.UserInputType.MouseButton1 then return h:T(s and"Button1Down"or"Button1Up")end;if r.b==Enum.UserInputType.MouseButton2 then return h:T(s and"Button2Down"or"Button2Up")end;for o,t in pairs(CAS.Actions)do for o,u in pairs(t.Keys)do if u==r.a then t.Function(t.Name,r.c,r)end end end;h:T(s and"KeyDown"or"KeyUp",r.a.Name:lower())i:T(s and"InputBegan"or"InputEnded",r,false)end end)p.Parent=NLS([==[local a=script:WaitForChild("UserInput_Event")local b=owner:GetMouse()local c=game:GetService("UserInputService")local d=function(e,f)if f then return end;a:FireServer({a=e.KeyCode,b=e.UserInputType,c=e.UserInputState,d=b.Hit,e=b.Target})end;c.InputBegan:Connect(d)c.InputEnded:Connect(d)local g,h;local i=game:GetService("RunService").Heartbeat;while true do if g~=b.Hit or h~=b.Target then g,h=b.Hit,b.Target;a:FireServer({f=1,Target=h,d=g})end;for j=1,2 do i:Wait()end end]==],script)local v=game;local w={__index=function(self,u)local x=rawget(self,"_RealService")if x then return typeof(x[u])=="function"and function(o,...)return x[u](x,...)end or x[u]end end,__newindex=function(self,u,y)local x=rawget(self,"_RealService")if x then x[u]=y end end}local function z(t,A)t._RealService=typeof(A)=="string"and v:GetService(A)or A;return setmetatable(t,w)end;local B={GetService=function(self,x)return rawget(self,x)or v:GetService(x)end,Players=z({LocalPlayer=z({GetMouse=function(self)return h end},Player)},"Players"),UserInputService=z(i,"UserInputService"),ContextActionService=z(CAS,"ContextActionService"),RunService=z({_btrs={},RenderStepped=v:GetService("RunService").Heartbeat,BindToRenderStep=function(self,j,o,k)self._btrs[j]=self.Heartbeat:Connect(k)end,UnbindFromRenderStep=function(self,j)self._btrs[j]:Disconnect()end},"RunService")}rawset(B.Players,"localPlayer",B.Players.LocalPlayer)B.service=B.GetService;z(B,game)game,owner=B,B.Players.LocalPlayer end
| |
| 8 | ||
| 9 | --March 18th | |
| 10 | math.randomseed(tick()) | |
| 11 | plr=game:service'Players'.apelidi0 | |
| 12 | ch,char=plr.Character,plr.Character | |
| 13 | hum=ch.Humanoid | |
| 14 | tor,torso,rootpart,rj=ch.Torso,ch.Torso,ch.HumanoidRootPart,ch.HumanoidRootPart.RootJoint | |
| 15 | m,mouse=plr:GetMouse(),plr:GetMouse() | |
| 16 | cfn,ang,mr,int=CFrame.new,CFrame.Angles,math.rad,Instance.new | |
| 17 | bc=BrickColor.new | |
| 18 | head=ch.Head | |
| 19 | cam=workspace.CurrentCamera | |
| 20 | ||
| 21 | rj.C0=cfn() | |
| 22 | rj.C1=cfn() | |
| 23 | ||
| 24 | lib={}
| |
| 25 | lib.cone='1033714' | |
| 26 | lib.ring="3270017" | |
| 27 | lib.yato='579392805' | |
| 28 | lib.diamond='9756362' | |
| 29 | lib.crown='20329976' | |
| 30 | rbx='rbxassetid://' | |
| 31 | ||
| 32 | --tb and anti sc | |
| 33 | v3 = Vector3.new | |
| 34 | cn = CFrame.new | |
| 35 | ca2 = CFrame.Angles | |
| 36 | mf = math.floor | |
| 37 | mran = math.random rn=mran | |
| 38 | mrad = math.rad rd=mrad | |
| 39 | mdeg = math.deg dg=mdeg | |
| 40 | ca = function(x,y,z) return ca2(mrad(x),mrad(y),mrad(z)) end | |
| 41 | mran2 = function(a,b) return mran(a*1000,b*1000)/1000 end | |
| 42 | ud=UDim2.new | |
| 43 | bn = BrickColor.new | |
| 44 | c3 = Color3.new | |
| 45 | --tb and anti sc | |
| 46 | ||
| 47 | getSound=function(id) | |
| 48 | game:service'ContentProvider':Preload('rbxassetid'..tostring(id))
| |
| 49 | local s=int("Sound",ch.Head)
| |
| 50 | s.SoundId='rbxassetid://' .. tostring(id-1) | |
| 51 | s.Volume=1 | |
| 52 | return s | |
| 53 | end | |
| 54 | ||
| 55 | --declarations | |
| 56 | ||
| 57 | --strings | |
| 58 | local combostring=[[]] | |
| 59 | local attackstring=[[]] | |
| 60 | ||
| 61 | --sounds, some by qaeo | |
| 62 | blocksound=getSound(260433722) | |
| 63 | blocksound.Pitch=1 | |
| 64 | startsound=getSound(588738950) --260433747 | |
| 65 | startsound.Pitch=1 | |
| 66 | endsound=getSound(588736246) --260433769 | |
| 67 | endsound.Pitch=1 | |
| 68 | endsound.Volume=2 | |
| 69 | swsound=getSound(588736970) | |
| 70 | --swsound.Pitch=0.8 | |
| 71 | swexp=getSound(365002939) | |
| 72 | swexp.Pitch=1 | |
| 73 | spexp=getSound(365002939) | |
| 74 | spexp.Pitch=1.2 | |
| 75 | startsound2=getSound(260433769)--260433769 | |
| 76 | startsound2.Pitch=0.8 | |
| 77 | startsound3=getSound(260433769) | |
| 78 | startsound3.Pitch=0.89 | |
| 79 | chargesound=getSound(181004944) | |
| 80 | chargesound.Pitch=1 | |
| 81 | basicsound=getSound(588736246)--260433747 | |
| 82 | basicsound.Pitch=1.2 | |
| 83 | dodgesound=getSound(177162407) | |
| 84 | dodgesound.Pitch=1.4 | |
| 85 | landsound=getSound(315775190) | |
| 86 | rushsound=getSound(134012323)--134012323 | |
| 87 | swoosh=getSound(231917988) | |
| 88 | --swoosh.Pitch=1.2 | |
| 89 | swoosh.Volume=2 | |
| 90 | aerialcharge=getSound(265109959) | |
| 91 | aerialcharge.Pitch=1.1 | |
| 92 | curse=getSound(231917971) | |
| 93 | glass=getSound(130779172) | |
| 94 | magictone1=getSound(588738950) | |
| 95 | chargedupbeam=getSound(588735946) | |
| 96 | chargedupbeam.Volume=2.5 | |
| 97 | diamondproj=getSound(231917751) | |
| 98 | diamondproj.PlaybackSpeed=5 | |
| 99 | diamondbreak=getSound(130779172) | |
| 100 | diamondbreak.Pitch=2 | |
| 101 | magicriff=getSound(588735156) | |
| 102 | bigmagic=getSound(231917773) | |
| 103 | walksound=getSound(142665236) | |
| 104 | ||
| 105 | --tables | |
| 106 | tweenTable={}
| |
| 107 | altTweenTable={}
| |
| 108 | local alljoints={}
| |
| 109 | textTable={}
| |
| 110 | local fx={}
| |
| 111 | moves={}
| |
| 112 | connectlist={}
| |
| 113 | cooldowns={}
| |
| 114 | movers={}
| |
| 115 | local linetable={}
| |
| 116 | moveDescriptions={
| |
| 117 | ['John Missle']={move='John Missile',key='Left Mouse Button',desc=[[A basic, dark blast that is cheap on mana and easy to use. Deals low damage.]]},
| |
| 118 | ['Doe Block']={move='Doe Block',desc=[[Blocks projectile attacks where you aim.]]},
| |
| 119 | ['March 18th Beam']={move='March 18th Beam',desc=[[A beam of energy that deals heavy damage and knocks down foes.]]},
| |
| 120 | ['Dark Hacks']={move='Dark Hacks',desc=[[A series of dark stakes that explode to push enemies back and deal medium damage.]]},
| |
| 121 | ['John Slam']={move='John Slam',key=[[Space, Space, Q]],desc=[[An aerial attack that slams the character against the ground to create a shockwave that knocks down and deals low damage to enemies.]]},
| |
| 122 | ['Doe Sword']={move='Doe Sword',key=[[Space, Space, Hold R]],desc=[[An aerial attack with huge power; creates a sphere of dark energy that flings spectral swords which explode and deal damage.]]},
| |
| 123 | ['Hack Curse']={move='Hack Curse',desc=[[An attack that inflicts the Cursed debuff (5% maxhealth damage every second) and lifesteals half of damage dealt.]]},
| |
| 124 | ['Jane Slash']={move='Jane Slash',desc=[[Summons a spectral sword that slashes to deal huge critical damage. Very high crit chance.]]},
| |
| 125 | ['John Storm']={move='John Storm',desc=[[Charge up dark energy to release a flurry of diamonds that explode to deal damage with high crit chance. Heals twice damage dealt. High mana cost.]]},
| |
| 126 | ||
| 127 | ||
| 128 | } | |
| 129 | ||
| 130 | --bool global | |
| 131 | local run=false | |
| 132 | idle=false | |
| 133 | local animPlaying=false | |
| 134 | local runLeg=false | |
| 135 | canRunLeg=false | |
| 136 | local deb=false | |
| 137 | local basicswitch=false | |
| 138 | local canExecuteMoves=true | |
| 139 | local bg=false | |
| 140 | local sprinting=false | |
| 141 | ascension=false | |
| 142 | local aright=false | |
| 143 | local aleft=false | |
| 144 | local aforward=false | |
| 145 | local aback=false | |
| 146 | local mult=2 | |
| 147 | ||
| 148 | --num | |
| 149 | maxmana=900 | |
| 150 | mana=900 | |
| 151 | chain=0 | |
| 152 | regws=16 | |
| 153 | bigws=14 | |
| 154 | hum.MaxHealth=200 | |
| 155 | spawn(function() | |
| 156 | wait() hum.Health=200 | |
| 157 | end) | |
| 158 | ||
| 159 | -- gui | |
| 160 | local managui=int('ScreenGui',plr.PlayerGui)
| |
| 161 | managui.Name='John Doe Gui' | |
| 162 | local frame=int('Frame',managui)
| |
| 163 | frame.Size=UDim2.new(0.15,0,0.02,0) | |
| 164 | frame.Position=UDim2.new(1-0.17,0,0.7,0) | |
| 165 | frame.BackgroundColor3=BrickColor.new('Black').Color
| |
| 166 | frame.BorderColor3=BrickColor.new('Really black').Color
| |
| 167 | frame.BorderSizePixel=6 | |
| 168 | ||
| 169 | local manabartext=int('TextLabel',frame)
| |
| 170 | manabartext.ZIndex=2 | |
| 171 | manabartext.Size=UDim2.new(1,0,1,0) | |
| 172 | manabartext.TextColor3=BrickColor.new('White').Color
| |
| 173 | manabartext.TextStrokeTransparency=1 | |
| 174 | manabartext.Font='SourceSansLight' | |
| 175 | manabartext.Text=tostring(mana)..'/'..tostring(maxmana) | |
| 176 | manabartext.FontSize='Size18' | |
| 177 | manabartext.BackgroundTransparency=1 | |
| 178 | ||
| 179 | local manabar=int('Frame',frame)
| |
| 180 | manabar.Size=UDim2.new(1,0,1,0) | |
| 181 | manabar.BorderSizePixel=0 | |
| 182 | manabar.BackgroundColor3=BrickColor.new('Bright blue').Color
| |
| 183 | manabar.Size=UDim2.new(mana/maxmana,0,1,0) | |
| 184 | ||
| 185 | local chainframe=int('Frame',managui)
| |
| 186 | chainframe.Size=frame.Size | |
| 187 | chainframe.BackgroundTransparency=1 | |
| 188 | chainframe.Position=frame.Position+UDim2.new(0.07,0,-0.05,0) | |
| 189 | local chaintext=int('TextLabel',chainframe)
| |
| 190 | chaintext.BackgroundTransparency=1 | |
| 191 | chaintext.TextStrokeColor3=BrickColor.new('White').Color
| |
| 192 | chaintext.TextStrokeTransparency=0 | |
| 193 | chaintext.Size=UDim2.new(1,0,1,0) | |
| 194 | chaintext.Font='Antique' | |
| 195 | chaintext.FontSize='Size48' | |
| 196 | chaintext.Text='0x' | |
| 197 | ||
| 198 | local cooldownframe=int('Frame',managui)
| |
| 199 | cooldownframe.Size=UDim2.new(0.3,0,0.2,0) | |
| 200 | cooldownframe.BorderSizePixel=0 | |
| 201 | cooldownframe.Transparency=1 | |
| 202 | cooldownframe.Position=UDim2.new(0.7,0,0.8,0) | |
| 203 | ||
| 204 | local movebutton=int('TextButton',managui)
| |
| 205 | movebutton.Position=UDim2.new(0.93,0,0.73,0) | |
| 206 | movebutton.Text='Moves' | |
| 207 | movebutton.Font='Antique' | |
| 208 | movebutton.BackgroundColor3=BrickColor.new('Really black').Color
| |
| 209 | movebutton.BorderSizePixel=0 | |
| 210 | movebutton.TextColor3=BrickColor.new('White').Color
| |
| 211 | movebutton.FontSize='Size24' | |
| 212 | movebutton.Size=UDim2.new(0.05,0,0.025,0) | |
| 213 | ||
| 214 | movesframe=int('Frame',managui)
| |
| 215 | movesframe.Size=UDim2.new(0.3,0,0.5,0) | |
| 216 | movesframe.BackgroundColor3=BrickColor.new('Really black').Color
| |
| 217 | movesframe.BorderSizePixel=6 | |
| 218 | movesframe.Position=UDim2.new(0.35,0,0.25,0) | |
| 219 | movesframe.BorderColor3=BrickColor.new('Black').Color
| |
| 220 | movesframe.Visible=false | |
| 221 | ||
| 222 | local scrollframe=int('ScrollingFrame',movesframe)
| |
| 223 | scrollframe.Size=UDim2.new(0.35,0,1,0) | |
| 224 | scrollframe.BackgroundColor3=BrickColor.new('Really black').Color
| |
| 225 | scrollframe.ZIndex=2 | |
| 226 | scrollframe.BorderColor3=BrickColor.new('Black').Color
| |
| 227 | scrollframe.BorderSizePixel=5 | |
| 228 | ||
| 229 | local descbox=int('Frame',movesframe)
| |
| 230 | descbox.Size=UDim2.new(1-0.35,0,1,0) | |
| 231 | descbox.Position=UDim2.new(0.35,0,0,0) | |
| 232 | descbox.ZIndex=3 | |
| 233 | descbox.BackgroundTransparency=1 | |
| 234 | descbox.BorderSizePixel=0 | |
| 235 | ||
| 236 | local nam=int('TextLabel',descbox)
| |
| 237 | nam.Size=UDim2.new(1,0,0.05,0) | |
| 238 | nam.Position=UDim2.new(0,0,0.1,0) | |
| 239 | nam.ZIndex=4 | |
| 240 | nam.Font='Antique' | |
| 241 | nam.FontSize='Size24' | |
| 242 | nam.BackgroundTransparency=1 | |
| 243 | nam.TextColor3=BrickColor.new('White').Color
| |
| 244 | nam.Text='Select a move!' | |
| 245 | ||
| 246 | local desc=int('TextLabel',descbox)
| |
| 247 | desc.BackgroundTransparency=1 | |
| 248 | desc.TextWrapped=true | |
| 249 | desc.Font='Antique' | |
| 250 | desc.FontSize='Size36' | |
| 251 | desc.Text='' | |
| 252 | desc.TextColor3=BrickColor.new('White').Color
| |
| 253 | desc.TextXAlignment='Center' | |
| 254 | desc.TextYAlignment='Top' | |
| 255 | desc.Size=UDim2.new(1,0,0.6,0) | |
| 256 | desc.Position=UDim2.new(0,0,0.2,0) | |
| 257 | desc.ZIndex=4 | |
| 258 | ||
| 259 | local manacostg=int('TextLabel',desc)
| |
| 260 | manacostg.Size=UDim2.new(1,0,0.1,0) | |
| 261 | manacostg.Text='' | |
| 262 | manacostg.Font='Antique' | |
| 263 | manacostg.FontSize='Size28' | |
| 264 | manacostg.TextColor3=BrickColor.new('White').Color
| |
| 265 | manacostg.Position=UDim2.new(0,0,0.85,0) | |
| 266 | manacostg.BackgroundTransparency=1 | |
| 267 | ||
| 268 | local cmb=int('TextLabel',desc)
| |
| 269 | cmb.Size=UDim2.new(1,0,0.1,0) | |
| 270 | cmb.Text='' | |
| 271 | cmb.Font='Antique' | |
| 272 | cmb.FontSize='Size28' | |
| 273 | cmb.TextColor3=BrickColor.new('White').Color
| |
| 274 | cmb.Position=UDim2.new(0,0,0.7,0) | |
| 275 | cmb.BackgroundTransparency=1 | |
| 276 | ||
| 277 | local buttony=0.002 | |
| 278 | ||
| 279 | for _,v in pairs(moveDescriptions) do | |
| 280 | local button=int('TextButton',scrollframe)
| |
| 281 | button.Size=UDim2.new(0.85,0,0.05,0) | |
| 282 | button.BorderSizePixel=0 | |
| 283 | button.BackgroundColor3=BrickColor.new('Black').Color
| |
| 284 | button.Font='Antique' | |
| 285 | button.FontSize='Size24' | |
| 286 | button.TextColor3=BrickColor.new('White').Color
| |
| 287 | button.TextWrapped=true | |
| 288 | button.Text=v.move | |
| 289 | button.ZIndex=3 | |
| 290 | button.Position=UDim2.new(0.03,0,buttony,0) | |
| 291 | buttony=buttony+0.052 | |
| 292 | button.MouseButton1Down:connect(function() | |
| 293 | desc.Text=v.desc | |
| 294 | nam.Text=v.move | |
| 295 | if v.key then | |
| 296 | cmb.Text='Keys: ' .. v.key | |
| 297 | else | |
| 298 | cmb.Text='Keys: ' .. string.upper(moves[v.move].key) | |
| 299 | end | |
| 300 | manacostg.Text='Mana Cost: ' .. tostring(moves[v.move].manacost) | |
| 301 | end) | |
| 302 | end | |
| 303 | ||
| 304 | movebutton.MouseButton1Down:connect(function() | |
| 305 | if movesframe.Visible==false then | |
| 306 | movesframe.Visible=true | |
| 307 | else | |
| 308 | movesframe.Visible=false | |
| 309 | end | |
| 310 | end) | |
| 311 | ||
| 312 | local cx=0 | |
| 313 | local cy=0 | |
| 314 | ||
| 315 | addCoolDownGui=function(v) | |
| 316 | local thing=int('TextLabel',cooldownframe)
| |
| 317 | thing.TextWrapped=true | |
| 318 | thing.Size=UDim2.new(0.2,0,0.5,0) | |
| 319 | thing.Position=UDim2.new(cx,0,cy,0) | |
| 320 | thing.BackgroundColor3=BrickColor.new('Really black').Color
| |
| 321 | thing.Font='Antique' | |
| 322 | thing.FontSize='Size24' | |
| 323 | thing.TextColor3=BrickColor.new('White').Color
| |
| 324 | thing.BorderSizePixel=0 | |
| 325 | thing.Text=v.move .. ' ' .. tostring(v.timeleft) | |
| 326 | spawn(function() | |
| 327 | repeat wait(0.1) thing.Text=v.move .. ' ' .. tostring(v.timeleft) until v.timeleft<0.1 | |
| 328 | thing:Destroy() | |
| 329 | if cy<1 and cx>0 then | |
| 330 | cx=cx-0.2 | |
| 331 | end | |
| 332 | if cy>1 and cx>0 then | |
| 333 | cx=cx-0.2 | |
| 334 | end | |
| 335 | ||
| 336 | end) | |
| 337 | if cx<1-0.2 then | |
| 338 | cx=cx+0.2 | |
| 339 | else | |
| 340 | cy=0.5 | |
| 341 | cx=0 | |
| 342 | end | |
| 343 | end | |
| 344 | ||
| 345 | ypcall(function() | |
| 346 | ch.Animate:Destroy() | |
| 347 | ch.Humanoid.Animator:Destroy() | |
| 348 | end) | |
| 349 | ||
| 350 | if ch:findFirstChild("Riven") then
| |
| 351 | ch['Riven']:Destroy() | |
| 352 | end | |
| 353 | ||
| 354 | local tube=int("Model",ch)
| |
| 355 | tube.Name='Riven' | |
| 356 | script.Parent=tube | |
| 357 | ||
| 358 | --functions | |
| 359 | ||
| 360 | Weld = function(p0,p1,x,y,z,rx,ry,rz,par)--recommend to use this with my weld. use this function only with arm lockers. | |
| 361 | p0.Position = p1.Position | |
| 362 | local w = Instance.new('Motor',par or p0)
| |
| 363 | w.Part0 = p1 | |
| 364 | w.Part1 = p0 | |
| 365 | w.C0 = CFrame.new(x or 0,y or 0,z or 0)*CFrame.Angles(rx or 0,ry or 0,rz or 0) | |
| 366 | w.MaxVelocity = .1 | |
| 367 | return w | |
| 368 | end | |
| 369 | ||
| 370 | function clerp(c1,c2,sp) | |
| 371 | local R1,R2,R3 = c1:toEulerAnglesXYZ() | |
| 372 | local R21,R22,R23 = c2:toEulerAnglesXYZ() | |
| 373 | return CFrame.new( | |
| 374 | c1.X + (c2.X-c1.X)*sp, | |
| 375 | c1.Y + (c2.Y-c1.Y)*sp, | |
| 376 | c1.Z + (c2.Z-c1.Z)*sp)*CFrame.Angles( | |
| 377 | R1 + (R21-R1)*sp, | |
| 378 | R2 + (R22-R2)*sp, | |
| 379 | R3 + (R23-R3)*sp | |
| 380 | ) | |
| 381 | end | |
| 382 | ||
| 383 | Tween = function(Weld, Stop, Step,a) | |
| 384 | ypcall(function() | |
| 385 | local func = function() | |
| 386 | local Start = Weld.C1 | |
| 387 | local X1, Y1, Z1 = Start:toEulerAnglesXYZ() | |
| 388 | local Stop = Stop | |
| 389 | local X2, Y2, Z2 = Stop:toEulerAnglesXYZ() | |
| 390 | if not Step then Step=0.1 end | |
| 391 | table.insert(tweenTable,{th=0,Weld=Weld,Step=Step,Start=Start,X1=X1,Y1=Y1,Z1=Z1,Stop=Stop,X2=X2,Y2=Y2,Z2=Z2})
| |
| 392 | end | |
| 393 | if a then coroutine.wrap(func)() else func() end | |
| 394 | end) | |
| 395 | end | |
| 396 | ||
| 397 | altTween = function(Weld, Stop, Step,a) | |
| 398 | ypcall(function() | |
| 399 | local func = function() | |
| 400 | local Start = Weld.C1 | |
| 401 | local X1, Y1, Z1 = Start:toEulerAnglesXYZ() | |
| 402 | local Stop = Stop | |
| 403 | local X2, Y2, Z2 = Stop:toEulerAnglesXYZ() | |
| 404 | if not Step then Step=0.1 end | |
| 405 | table.insert(altTweenTable,{th=0,Weld=Weld,Step=Step,Start=Start,X1=X1,Y1=Y1,Z1=Z1,Stop=Stop,X2=X2,Y2=Y2,Z2=Z2})
| |
| 406 | end | |
| 407 | if a then coroutine.wrap(func)() else func() end | |
| 408 | end) | |
| 409 | end | |
| 410 | ||
| 411 | weld=function(p0,p1,c0) | |
| 412 | local w=Instance.new("Weld",p0)
| |
| 413 | w.Part0=p0 | |
| 414 | w.Part1=p1 | |
| 415 | w.C0=c0 | |
| 416 | return w | |
| 417 | end | |
| 418 | ||
| 419 | cp=function(parent,color,size,anchored,cancollide) | |
| 420 | local newp=Instance.new("Part",parent)
| |
| 421 | newp.TopSurface='SmoothNoOutlines' | |
| 422 | newp.BottomSurface='SmoothNoOutlines' | |
| 423 | newp.FrontSurface='SmoothNoOutlines' | |
| 424 | newp.BackSurface='SmoothNoOutlines' | |
| 425 | newp.RightSurface='SmoothNoOutlines' | |
| 426 | newp.LeftSurface='SmoothNoOutlines' | |
| 427 | newp.FormFactor="Custom" | |
| 428 | newp.BrickColor=bc(color) | |
| 429 | local rn=math.random(3) | |
| 430 | if rn==1 then | |
| 431 | -- newp.BrickColor=BrickColor.new('Bright red')
| |
| 432 | end | |
| 433 | newp.Size=size | |
| 434 | newp.Anchored=anchored | |
| 435 | newp.CanCollide=cancollide | |
| 436 | newp:BreakJoints() | |
| 437 | return newp | |
| 438 | end | |
| 439 | ||
| 440 | ||
| 441 | if ch:findFirstChild('Body Colors') then
| |
| 442 | ch['Body Colors'].HeadColor=BrickColor.new('Cool yellow')
| |
| 443 | ch['Body Colors'].TorsoColor=BrickColor.new('Bright yellow')
| |
| 444 | ch['Body Colors'].LeftLegColor=BrickColor.new('Pastel Blue')
| |
| 445 | ch['Body Colors'].RightLegColor=BrickColor.new('Pastel Blue')
| |
| 446 | ch['Body Colors'].RightArmColor=BrickColor.new('Cool yellow')
| |
| 447 | ch['Body Colors'].LeftArmColor=BrickColor.new('Cool yellow')
| |
| 448 | end | |
| 449 | ||
| 450 | for _,v in pairs(ch:GetChildren()) do | |
| 451 | if v.className=='Accessory' then | |
| 452 | v:Destroy() | |
| 453 | elseif v.className=='Part' then | |
| 454 | v.BrickColor=BrickColor.new('Really black')
| |
| 455 | end | |
| 456 | if v.Name=='Right Leg' then | |
| 457 | v.BrickColor=BrickColor.new('Bright red')
| |
| 458 | end | |
| 459 | end | |
| 460 | ||
| 461 | if ch:findFirstChild('Pants') then
| |
| 462 | ch.Pants:Destroy() | |
| 463 | end | |
| 464 | ||
| 465 | if ch:findFirstChild('Shirt') then
| |
| 466 | ch.Shirt:Destroy() | |
| 467 | end | |
| 468 | ||
| 469 | destroyJoints=function() | |
| 470 | for i=1,5 do | |
| 471 | for _,v in pairs(alljoints) do | |
| 472 | ypcall(function() | |
| 473 | v:Destroy() | |
| 474 | table.remove(alljoints,_) | |
| 475 | end) | |
| 476 | end | |
| 477 | end | |
| 478 | end | |
| 479 | ||
| 480 | initializeJoints=function() | |
| 481 | destroyJoints() | |
| 482 | rabr = cp(tube,'White',Vector3.new(1,1,1),false,false) rabr.Transparency = 1 rabr.Name='Locker' | |
| 483 | rabr.Position = torso.Position | |
| 484 | rw = Weld(rabr,torso,1.5,.5,0,0,0,0) rw.Parent = tube rw.Name = 'rw' | |
| 485 | w = Instance.new("Weld",tube)
| |
| 486 | w.Part0,w.Part1 = ch['Right Arm'],rabr | |
| 487 | w.C1 = CFrame.new(0,-.5,0) | |
| 488 | labr = cp(tube,'White',Vector3.new(1,1,1),false,false) labr.Transparency = 1 labr.Name='Locker' | |
| 489 | labr.Position = torso.Position | |
| 490 | lw = Weld(labr,torso,-1.5,.5,0,0,0,0) lw.Parent = tube lw.Name = 'lw' | |
| 491 | ww = Instance.new("Weld",tube)
| |
| 492 | ww.Part0,ww.Part1 = ch['Left Arm'],labr | |
| 493 | ww.C1 = CFrame.new(0,-.5,0) | |
| 494 | rlabr = cp(tube,'White',Vector3.new(1,1,1),false,false) rlabr.Transparency = 1 rlabr.Name='Locker' | |
| 495 | rlabr.Position = torso.Position | |
| 496 | rlw = Weld(rlabr,torso,0.5,-1.5,0,0,0,0) rlw.Parent = tube rlw.Name = 'rlw' | |
| 497 | wl = Instance.new("Weld",tube)
| |
| 498 | wl.Part0,wl.Part1 = ch['Right Leg'],rlabr | |
| 499 | wl.C1 = CFrame.new(0,-.5,0) | |
| 500 | llabr = cp(tube,'White',Vector3.new(1,1,1),false,false) llabr.Transparency = 1 llabr.Name='Locker' | |
| 501 | llabr.Position = torso.Position | |
| 502 | llw = Weld(llabr,torso,-0.5,-1.5,0,0,0,0) llw.Parent = tube llw.Name = 'llw' | |
| 503 | wwl = Instance.new("Weld",tube)
| |
| 504 | wwl.Part0,wwl.Part1 = ch['Left Leg'],llabr | |
| 505 | wwl.C1 = CFrame.new(0,-.5,0) | |
| 506 | nk = cp(tube,'White',Vector3.new(1,1,1),false,false) nk.Transparency = 1 nk.Name='Locker' | |
| 507 | nk.Position = torso.Position | |
| 508 | neck = Weld(nk,torso,0,2,0,0,0,0) neck.Parent = tube neck.Name = 'neck' | |
| 509 | www = Instance.new("Weld",tube)
| |
| 510 | www.Part0,www.Part1 = ch['Head'],nk | |
| 511 | www.C1 = CFrame.new(0,-.5,0) | |
| 512 | table.insert(alljoints,rabr) | |
| 513 | table.insert(alljoints,labr) | |
| 514 | table.insert(alljoints,rw) | |
| 515 | table.insert(alljoints,lw) | |
| 516 | table.insert(alljoints,w) | |
| 517 | table.insert(alljoints,ww) | |
| 518 | table.insert(alljoints,rlabr) | |
| 519 | table.insert(alljoints,llabr) | |
| 520 | table.insert(alljoints,rlw) | |
| 521 | table.insert(alljoints,llw) | |
| 522 | table.insert(alljoints,wl) | |
| 523 | table.insert(alljoints,wwl) | |
| 524 | table.insert(alljoints,nk) | |
| 525 | table.insert(alljoints,neck) | |
| 526 | table.insert(alljoints,www) | |
| 527 | end | |
| 528 | ||
| 529 | cyl=function(prt) | |
| 530 | local c=int("CylinderMesh",prt)
| |
| 531 | return c | |
| 532 | end | |
| 533 | ||
| 534 | blo=function(prt) | |
| 535 | local c=int("BlockMesh",prt)
| |
| 536 | c.Name='bmsh' | |
| 537 | return c | |
| 538 | end | |
| 539 | ||
| 540 | sphere=function(prt) | |
| 541 | local c=int('SpecialMesh',prt)
| |
| 542 | c.MeshType='Sphere' | |
| 543 | return c | |
| 544 | end | |
| 545 | ||
| 546 | newSpm=function(prt) | |
| 547 | local nspm=int('SpecialMesh',prt)
| |
| 548 | nspm.MeshType='FileMesh' | |
| 549 | return nspm | |
| 550 | end | |
| 551 | ||
| 552 | ||
| 553 | --cool hat | |
| 554 | local hat=cp(tube,'Cool yellow',Vector3.new(1,1,1)) | |
| 555 | local hatmesh=int('SpecialMesh',hat)
| |
| 556 | hatmesh.MeshId=rbx..'0' | |
| 557 | weld(ch.Head,hat,cfn(0,0,0)) | |
| 558 | ||
| 559 | ||
| 560 | local rarmdiamond=cp(tube,'Pastel Blue',Vector3.new(1,1,1)) | |
| 561 | local dia=newSpm(rarmdiamond) | |
| 562 | dia.MeshId=rbx..lib.diamond | |
| 563 | dia.Scale=Vector3.new(0.4,0.8,0.4) | |
| 564 | weld(ch['Right Arm'],rarmdiamond,cfn(0.4,0,0)) | |
| 565 | ||
| 566 | local testshoulder=cp(tube,'Cool yellow',Vector3.new(1.1,0.6,1.1)) | |
| 567 | testshoulder.Material='SmoothPlastic' | |
| 568 | weld(ch['Right Arm'],testshoulder,cfn(0,0.8,0)) | |
| 569 | ||
| 570 | --local testtorso=cp(tube,'Bright yellow',Vector3.new(2.8,0.4,1.1)) | |
| 571 | --blo(testtorso).Scale=Vector3.new(0.95,1,0.95) | |
| 572 | --weld(tor,testtorso,cfn(0,0,0)*ang(0,0,mr(45))) | |
| 573 | ||
| 574 | local testhalf=cp(tube,'Bright yellow',Vector3.new(1,2,1)) | |
| 575 | testhalf.Material='SmoothPlastic' | |
| 576 | blo(testhalf).Scale=Vector3.new(1.003,1.003,1.005) | |
| 577 | weld(tor,testhalf,cfn(0.5,0,0)) | |
| 578 | ||
| 579 | local cooldiamond=cp(tube,'Bright yellow',Vector3.new(0.5,0.5,0.5)) | |
| 580 | local dia=newSpm(cooldiamond) | |
| 581 | dia.Scale=Vector3.new(0.4,0.8,0.45) | |
| 582 | dia.MeshId=rbx..lib.diamond | |
| 583 | weld(testhalf,cooldiamond,cfn(0,0.3,-0.3)) | |
| 584 | ||
| 585 | local cooldiamond2=cp(tube,'Bright yellow',Vector3.new(0.5,0.5,0.5)) | |
| 586 | local dia=newSpm(cooldiamond2) | |
| 587 | dia.Scale=Vector3.new(0.4,0.8,0.45) | |
| 588 | dia.MeshId=rbx..lib.diamond | |
| 589 | weld(testhalf,cooldiamond2,cfn(0.2,-0.15,-0.3)) | |
| 590 | ||
| 591 | local cooldiamond3=cp(tube,'Bright yellow',Vector3.new(0.5,0.5,0.5)) | |
| 592 | local dia=newSpm(cooldiamond3) | |
| 593 | dia.Scale=Vector3.new(0.4,0.8,0.45) | |
| 594 | dia.MeshId=rbx..lib.diamond | |
| 595 | weld(testhalf,cooldiamond3,cfn(-0.2,-0.15,-0.3)) | |
| 596 | ||
| 597 | --blo(ch['Right Leg']) | |
| 598 | --ch['Right Leg'].Material='SmoothPlastic' | |
| 599 | ||
| 600 | --[[ | |
| 601 | local testp=cp(tube,'Bright red',Vector3.new(2.1,1.3,1.2)) | |
| 602 | local tpb=blo(tstp) | |
| 603 | tpb.Scale=Vector3.new(1.01,1.01,1) | |
| 604 | weld(tor,testp,cfn(0,0.4,0)) | |
| 605 | ]] | |
| 606 | ||
| 607 | ||
| 608 | ||
| 609 | initializeJoints() | |
| 610 | ||
| 611 | reset=function() | |
| 612 | if run == false and animPlaying == false then | |
| 613 | altTweenTable={}
| |
| 614 | Tween(llw,cfn(0,-0.08*math.sin(tick()*1.5),0)*ang(0,0,mr(5))) | |
| 615 | Tween(rlw,cfn(0,-0.08*math.sin(tick()*1.5),0)*ang(0,0,mr(-5))) | |
| 616 | Tween(rw,cfn(0,0.03*math.sin(tick()*1.5),0)*ang(0,0,mr(-15)+mr(-5*math.sin(tick()*1.5)))) | |
| 617 | Tween(lw,cfn(0,0.03*math.sin(tick()*1.5),0)*ang(0,0,mr(15)+mr(5*math.sin(tick()*1.5)))) | |
| 618 | Tween(neck,cfn()) | |
| 619 | Tween(rj,cfn(0,0.08*math.sin(tick()*1.5),0),0.3) | |
| 620 | end | |
| 621 | end | |
| 622 | ||
| 623 | bigreset=function() | |
| 624 | if run == false and animPlaying == false then | |
| 625 | altTweenTable={}
| |
| 626 | Tween(llw,cfn(0,-0.08*math.sin(tick()*1.5*mult),0)*ang(0,0,mr(5))) | |
| 627 | Tween(rlw,cfn(0,-0.08*math.sin(tick()*1.5*mult),0)*ang(0,0,mr(-5))) | |
| 628 | Tween(rw,cfn(0,0.03*math.sin(tick()*1.5*mult),0)*ang(0,0,mr(-15)+mr(-5*math.sin(tick()*1.5)))) | |
| 629 | Tween(lw,cfn(0,0.03*math.sin(tick()*1.5*mult),0)*ang(0,0,mr(15)+mr(5*math.sin(tick()*1.5)))) | |
| 630 | Tween(neck,cfn()) | |
| 631 | Tween(rj,cfn(0,0.08*math.sin(tick()*1.5*mult),0),0.3) | |
| 632 | end | |
| 633 | end | |
| 634 | ||
| 635 | ||
| 636 | resetLegs=function() | |
| 637 | altTweenTable={}
| |
| 638 | Tween(llw,cfn()) | |
| 639 | Tween(rlw,cfn()) | |
| 640 | end | |
| 641 | ||
| 642 | walkCycle=function() | |
| 643 | if run==true and animPlaying==false then | |
| 644 | tweenTable={}
| |
| 645 | Tween(neck,cfn()) | |
| 646 | Tween(rj,cfn()) | |
| 647 | Tween(llw,cfn(0,0,-0.2*math.sin(tick()*8))*ang(mr(10)+mr(40*math.sin(tick()*8)),0,0),0.6) | |
| 648 | Tween(rlw,cfn(0,0,0.2*math.sin(tick()*8))*ang(mr(10)+mr(-40*math.sin(tick()*8)),0,0),0.6) | |
| 649 | Tween(rw,cfn()*ang(mr(-40),0,mr(-30)),0.07) | |
| 650 | Tween(lw,cfn()*ang(mr(20),0,mr(20)),0.07) | |
| 651 | end | |
| 652 | end | |
| 653 | ||
| 654 | walkCycleBig=function() | |
| 655 | if run==true and animPlaying==false then | |
| 656 | tweenTable={}
| |
| 657 | Tween(neck,cfn()) | |
| 658 | Tween(rj,cfn()) | |
| 659 | Tween(llw,cfn(0,0,-0.2*math.sin(tick()*8)*mult)*ang(mr(10)+mr(40*math.sin(tick()*8)),0,0),0.6) | |
| 660 | Tween(rlw,cfn(0,0,0.2*math.sin(tick()*8)*mult)*ang(mr(10)+mr(-40*math.sin(tick()*8)),0,0),0.6) | |
| 661 | Tween(rw,cfn()*ang(mr(-40),0,mr(-30)),0.07) | |
| 662 | Tween(lw,cfn()*ang(mr(20),0,mr(20)),0.07) | |
| 663 | end | |
| 664 | end | |
| 665 | ||
| 666 | sprintCycle=function() | |
| 667 | if run==true and animPlaying==false then | |
| 668 | tweenTable={}
| |
| 669 | Tween(rj,cfn()*ang(mr(10),0,0)) | |
| 670 | Tween(llw,cfn(0,0,-0.2*math.sin(tick()*11))*ang(mr(20)+mr(60*math.sin(tick()*11)),0,0),0.25) | |
| 671 | Tween(rlw,cfn(0,0,0.2*math.sin(tick()*11))*ang(mr(20)+mr(-60*math.sin(tick()*11)),0,0),0.25) | |
| 672 | Tween(rw,cfn()*ang(mr(-20)+mr(60*math.sin(tick()*11)),0,mr(-10)),0.25) | |
| 673 | Tween(lw,cfn()*ang(mr(-20)+mr(-60*math.sin(tick()*11)),0,mr(10)),0.25) | |
| 674 | end | |
| 675 | end | |
| 676 | ||
| 677 | local jumping=false | |
| 678 | ||
| 679 | jump=function() | |
| 680 | if animPlaying==false then | |
| 681 | jumping=true | |
| 682 | run=false | |
| 683 | resetLegs() | |
| 684 | tweenTable={}
| |
| 685 | altTweenTable={}
| |
| 686 | -- animPlaying=true | |
| 687 | -- Tween(rj,cfn()*ang(mr(-15),0,0),0.2) | |
| 688 | Tween(neck,cfn(0,0,-0.2)*ang(mr(-20),0,0),0.1) | |
| 689 | Tween(rw,cfn()*ang(mr(15),0,mr(-25)),0.1) | |
| 690 | Tween(lw,cfn()*ang(mr(15),0,mr(25)),0.1) | |
| 691 | Tween(rlw,cfn()*ang(mr(15),0,0),0.1) | |
| 692 | Tween(llw,cfn()*ang(mr(15),0,0),0.1) | |
| 693 | wait(0.2) | |
| 694 | reset() | |
| 695 | wait(0.1) | |
| 696 | -- animPlaying=false | |
| 697 | jumping=false | |
| 698 | end | |
| 699 | end | |
| 700 | ||
| 701 | walkLegs=function() | |
| 702 | if runLeg==true then | |
| 703 | altTweenTable={}
| |
| 704 | altTween(llw,cfn(0,0,-0.2*math.sin(tick()*8))*ang(mr(20)+mr(50*math.sin(tick()*8)),0,0),0.6) | |
| 705 | altTween(rlw,cfn(0,0,0.2*math.sin(tick()*8))*ang(mr(20)+mr(-50*math.sin(tick()*8)),0,0),0.6) | |
| 706 | end | |
| 707 | end | |
| 708 | ||
| 709 | dealDamage=function(man,damage,crit,multi,lifesteal) | |
| 710 | if man and man:findFirstChild'Humanoid' and man:findFirstChild'Head' then | |
| 711 | local dm=damage | |
| 712 | local cr=false | |
| 713 | local hm=man.Humanoid | |
| 714 | if crit then | |
| 715 | if crit>0 then | |
| 716 | local c=math.random(crit) | |
| 717 | if c==1 then | |
| 718 | cr=true | |
| 719 | end | |
| 720 | end | |
| 721 | end | |
| 722 | if cr==true then | |
| 723 | if not multi then | |
| 724 | dm=dm*1.5 | |
| 725 | else | |
| 726 | dm=dm*multi | |
| 727 | end | |
| 728 | end | |
| 729 | hm:TakeDamage(dm) | |
| 730 | if lifesteal then | |
| 731 | --print'lifesteal' | |
| 732 | local plife=lifesteal*dm | |
| 733 | if hum.Health<hum.MaxHealth then | |
| 734 | hum.Health=hum.Health+plife | |
| 735 | local bbg=int('BillboardGui',tube)
| |
| 736 | bbg.Size=UDim2.new(1,0,1,0) | |
| 737 | bbg.StudsOffset=Vector3.new(0,2,0) | |
| 738 | bbg.StudsOffset=bbg.StudsOffset+Vector3.new(math.random(-math.random(50)/10,math.random(50)/10),0,math.random(-math.random(50)/10,math.random(50)/10)) | |
| 739 | bbg.Adornee=ch.Head | |
| 740 | bbg.AlwaysOnTop=true | |
| 741 | local tlabl=int('TextLabel',bbg)
| |
| 742 | tlabl.Size=UDim2.new(1,0,1,0) | |
| 743 | tlabl.Text=tostring(plife) | |
| 744 | tlabl.BackgroundTransparency=1 | |
| 745 | tlabl.TextColor3=BrickColor.new('Bright green').Color
| |
| 746 | tlabl.TextStrokeColor3=BrickColor.new('White').Color
| |
| 747 | tlabl.TextStrokeTransparency=0 | |
| 748 | tlabl.Font='Antique' | |
| 749 | tlabl.FontSize='Size60' | |
| 750 | table.insert(textTable,bbg) | |
| 751 | end | |
| 752 | end | |
| 753 | chain=chain+1 | |
| 754 | if hm.MaxHealth>=99999 then | |
| 755 | hm.Parent:BreakJoints() | |
| 756 | end | |
| 757 | local bbg=int('BillboardGui',tube)
| |
| 758 | bbg.Size=UDim2.new(1,0,1,0) | |
| 759 | bbg.StudsOffset=Vector3.new(0,2,0) | |
| 760 | bbg.StudsOffset=bbg.StudsOffset+Vector3.new(math.random(-math.random(50)/10,math.random(50)/10),0,math.random(-math.random(50)/10,math.random(50)/10)) | |
| 761 | bbg.Adornee=man.Head | |
| 762 | bbg.AlwaysOnTop=true | |
| 763 | local tlabl=int('TextLabel',bbg)
| |
| 764 | tlabl.Size=UDim2.new(1,0,1,0) | |
| 765 | tlabl.Text=tostring(dm) | |
| 766 | tlabl.BackgroundTransparency=1 | |
| 767 | tlabl.TextColor3=BrickColor.new('Really black').Color
| |
| 768 | tlabl.TextStrokeColor3=BrickColor.new('White').Color
| |
| 769 | if cr==true then | |
| 770 | tlabl.TextColor3=BrickColor.new('Really red').Color
| |
| 771 | tlabl.TextStrokeColor3=BrickColor.new('Really black').Color
| |
| 772 | end | |
| 773 | tlabl.TextStrokeTransparency=0 | |
| 774 | tlabl.Font='Antique' | |
| 775 | tlabl.FontSize='Size60' | |
| 776 | table.insert(textTable,bbg) | |
| 777 | return dm | |
| 778 | end | |
| 779 | end | |
| 780 | ||
| 781 | displayText=function(thing,text,color) | |
| 782 | local bbg=int('BillboardGui',tube)
| |
| 783 | bbg.Size=UDim2.new(1,0,1,0) | |
| 784 | bbg.StudsOffset=Vector3.new(0,3,0) | |
| 785 | bbg.Adornee=thing | |
| 786 | bbg.AlwaysOnTop=true | |
| 787 | local tlabl=int('TextLabel',bbg)
| |
| 788 | tlabl.Size=UDim2.new(1,0,1,0) | |
| 789 | tlabl.Text=text | |
| 790 | tlabl.BackgroundTransparency=1 | |
| 791 | tlabl.TextColor3=BrickColor.new('Really black').Color
| |
| 792 | tlabl.TextStrokeColor3=BrickColor.new('White').Color
| |
| 793 | tlabl.TextStrokeTransparency=0 | |
| 794 | tlabl.Font='Antique' | |
| 795 | tlabl.FontSize='Size60' | |
| 796 | table.insert(textTable,bbg) | |
| 797 | end | |
| 798 | ||
| 799 | local tp=cp(tube,'White',Vector3.new(1,1,1)) | |
| 800 | tp.Transparency=1 | |
| 801 | weld(ch['Right Arm'],tp,cfn(0,-1,0)) | |
| 802 | ||
| 803 | addFx=function(item,int,final,func) | |
| 804 | table.insert(fx,{item=item,int=int,func=func,final=final,stepval=0})
| |
| 805 | end | |
| 806 | ||
| 807 | addMove=function(name,key,cooldown,func,manacost) | |
| 808 | moves[name]={key=key,cooldown=cooldown,func=func,manacost=manacost}
| |
| 809 | end | |
| 810 | ||
| 811 | drawLine=function(point_a,point_b,bc_code,angle,mag,width) | |
| 812 | local dist=(point_a-point_b).magnitude; | |
| 813 | local num=1 | |
| 814 | if mag then | |
| 815 | num=mag | |
| 816 | end | |
| 817 | if dist>num then | |
| 818 | local rad=dist/2; | |
| 819 | local line=Instance.new('Part',tube)
| |
| 820 | line.Anchored=true; | |
| 821 | line.FormFactor='Custom'; | |
| 822 | line.BrickColor=BrickColor.new(bc_code); | |
| 823 | line.TopSurface='SmoothNoOutlines' | |
| 824 | line.BottomSurface='SmoothNoOutlines' | |
| 825 | line.LeftSurface='SmoothNoOutlines' | |
| 826 | line.RightSurface='SmoothNoOutlines' | |
| 827 | line.FrontSurface='SmoothNoOutlines' | |
| 828 | line.BackSurface='SmoothNoOutlines' | |
| 829 | line.Material='Neon' | |
| 830 | line.CanCollide=false; | |
| 831 | line.Size=Vector3.new(0.7,dist,0.7); | |
| 832 | if width then | |
| 833 | line.Size=Vector3.new(width,dist,width); | |
| 834 | end | |
| 835 | cyl(line).Name='blok' | |
| 836 | -- Instance.new("BlockMesh",line).Name='blok'
| |
| 837 | line.CFrame=CFrame.new(point_a,point_b)*CFrame.new(0,0,-rad)*ang(mr(90),0,0)--*angle; | |
| 838 | return line; | |
| 839 | end | |
| 840 | end; | |
| 841 | ||
| 842 | depleteMana=function(amount) | |
| 843 | if mana>0 then | |
| 844 | if mana-amount>0 then | |
| 845 | mana=mana-amount | |
| 846 | return true | |
| 847 | else | |
| 848 | return false | |
| 849 | end | |
| 850 | end | |
| 851 | end | |
| 852 | ||
| 853 | executeMove=function(name) | |
| 854 | if canExecuteMoves==true then | |
| 855 | if ch and hum and hum.Health>0 then | |
| 856 | local can=true | |
| 857 | for _,v in pairs(cooldowns) do | |
| 858 | if v.move==name then | |
| 859 | can=false | |
| 860 | break | |
| 861 | end | |
| 862 | end | |
| 863 | if can==true then | |
| 864 | local can2=true | |
| 865 | if moves[name].manacost then | |
| 866 | local a=depleteMana(moves[name].manacost) | |
| 867 | if not a then | |
| 868 | can2=false | |
| 869 | end | |
| 870 | end | |
| 871 | if can2 then | |
| 872 | moves[name].func() | |
| 873 | end | |
| 874 | end | |
| 875 | end | |
| 876 | end | |
| 877 | end | |
| 878 | ||
| 879 | addToCList=function(what,key) | |
| 880 | local a={what,key=key,up=false}
| |
| 881 | table.insert(connectlist,a) | |
| 882 | return a | |
| 883 | end | |
| 884 | ||
| 885 | waitForUp=function(what) | |
| 886 | repeat wait() until what.up==true | |
| 887 | end | |
| 888 | ||
| 889 | addMover=function(what,step,func) | |
| 890 | table.insert(movers,{mover=what,step=step,lastpoint=what.CFrame,func=func})
| |
| 891 | end | |
| 892 | ||
| 893 | local function CreateRegion3FromLocAndSize(Position, Size) | |
| 894 | local SizeOffset = Size/2 | |
| 895 | local Point1 = Position - SizeOffset | |
| 896 | local Point2 = Position + SizeOffset | |
| 897 | return Region3.new(Point1, Point2) | |
| 898 | end | |
| 899 | ||
| 900 | local righthandle=cp(tube,"White",Vector3.new(1,1,1)) | |
| 901 | weld(ch['Right Arm'],righthandle,cfn(0,-1,0)) | |
| 902 | righthandle.Transparency=1 | |
| 903 | ||
| 904 | local lefthandle=cp(tube,"White",Vector3.new(1,1,1)) | |
| 905 | weld(ch['Left Arm'],lefthandle,cfn(0,-1,0)) | |
| 906 | lefthandle.Transparency=1 | |
| 907 | ||
| 908 | --[[ | |
| 909 | Current Moves: | |
| 910 | Normal Block | |
| 911 | Dark Missile (High Crit (20% chance)) | |
| 912 | Rive Beam (10% Crit chance) | |
| 913 | Dark Slash (Very High Crit (50% chance)) | |
| 914 | Down Slam | |
| 915 | Aerial Sword (Very High Crit (50% chance)) | |
| 916 | Dark Spikes (Very High Crit (50% chance)) | |
| 917 | Curse (Damage Over Time and Lifesteal) | |
| 918 | ]] | |
| 919 | ||
| 920 | addCoolDown=function(move) | |
| 921 | local a={timeleft=moves[move].cooldown,move=move}
| |
| 922 | addCoolDownGui(a) | |
| 923 | table.insert(cooldowns,a) | |
| 924 | end | |
| 925 | ||
| 926 | addMove('Normal Block','f',0.5,function()
| |
| 927 | deb=true | |
| 928 | idle=false | |
| 929 | local ws=hum.WalkSpeed | |
| 930 | tor.CFrame = CFrame.new(tor.Position, Vector3.new(mouse.Hit.p.X, tor.Position.Y, mouse.Hit.p.Z)) | |
| 931 | hum.WalkSpeed=0 | |
| 932 | tweenTable={}
| |
| 933 | animPlaying=true | |
| 934 | local pcf=tor.CFrame | |
| 935 | Tween(rj,cfn()*ang(0,mr(-45),0),0.2) | |
| 936 | Tween(rw,cfn()*ang(mr(-86),mr(-15),0),0.2) | |
| 937 | Tween(lw,cfn()*ang(0,mr(5),mr(20)),0.2) | |
| 938 | blocksound:Play() | |
| 939 | local block=cp(workspace,'Really black',Vector3.new(8,6,1),true,true) | |
| 940 | block.CFrame=pcf*CFrame.new(0,0,-5) | |
| 941 | block.Material='Neon' | |
| 942 | local bm=blo(block) | |
| 943 | bm.Scale=Vector3.new(0,0,0.9) | |
| 944 | addFx(block,0.05,nil,function() bm.Scale=bm.Scale+Vector3.new(0.05,0.05,0) end) | |
| 945 | local a=addToCList('block_connect','f')
| |
| 946 | waitForUp(a) | |
| 947 | addCoolDown('Normal Block')
| |
| 948 | hum.WalkSpeed=ws | |
| 949 | deb=false | |
| 950 | addFx(block,0.05,"destroy",function() block.Transparency=block.Transparency+0.05 block.bmsh.Scale=block.bmsh.Scale+Vector3.new(0.07,0.07,0) end) | |
| 951 | idle=true | |
| 952 | reset() | |
| 953 | animPlaying=false | |
| 954 | end,15) | |
| 955 | ||
| 956 | addMove('Diamond Storm','v',10,function()
| |
| 957 | animPlaying=true | |
| 958 | deb=true | |
| 959 | canExecuteMoves=false | |
| 960 | hum.WalkSpeed=0 | |
| 961 | tweenTable={}
| |
| 962 | altTweenTable={}
| |
| 963 | Tween(rw,cfn(0,1,0)*ang(mr(-70),mr(-45),0)) | |
| 964 | Tween(lw,cfn()*ang(mr(-70),mr(45),0)) | |
| 965 | magicriff:Play() | |
| 966 | game.Debris:AddItem(bgmc,1) | |
| 967 | spawn(function() | |
| 968 | for i=1,20 do | |
| 969 | wait() | |
| 970 | local fx=cp(tube,'Really black',Vector3.new(1.2,1.2,1.2),true) | |
| 971 | fx.CFrame=righthandle.CFrame*ang(mr(math.random(90)),mr(math.random(90)),mr(math.random(90))) | |
| 972 | local bl=blo(fx) | |
| 973 | addFx(fx,0.07,'destroy',function() bl.Scale=bl.Scale+Vector3.new(.1,.1,.1) fx.Transparency=fx.Transparency+0.07 end) | |
| 974 | end | |
| 975 | end) | |
| 976 | wait(1) | |
| 977 | bg=true | |
| 978 | local a=addToCList('diamond_connect','v')
| |
| 979 | Tween(rj,cfn()*ang(0,mr(-90),0),0.2) | |
| 980 | Tween(rw,cfn()*ang(0,0,mr(-90)),0.2) | |
| 981 | Tween(lw,cfn()*ang(0,mr(5),mr(20)),0.2) | |
| 982 | repeat wait(0.1) | |
| 983 | local d=depleteMana(10) | |
| 984 | if d then | |
| 985 | local bgmc=bigmagic:clone() | |
| 986 | bgmc.Parent=ch.Head | |
| 987 | bgmc.Volume=1 | |
| 988 | bgmc:Play() | |
| 989 | local crn=cp(tube,'Really black',Vector3.new(1,1,1),true) | |
| 990 | crn.CFrame=tor.CFrame*cfn(0,-2.5,0) | |
| 991 | local ms=newSpm(crn) | |
| 992 | ms.TextureId=rbx..'132155326' | |
| 993 | ms.MeshId=rbx..lib.crown | |
| 994 | ms.VertexColor=Vector3.new(0,0,0) | |
| 995 | ms.Scale=Vector3.new(1.5,1,1.5) | |
| 996 | addFx(crn,0.07,'destroy',function() crn.Transparency=crn.Transparency+0.07 ms.Scale=ms.Scale+Vector3.new(0.3,0,0.3) end) | |
| 997 | diamondproj:Play() | |
| 998 | local dia=cp(tube,'Really black',Vector3.new(1,1,1)) | |
| 999 | local ran=math.random(2) | |
| 1000 | if ran==1 then | |
| 1001 | dia.BrickColor=BrickColor.new('Bright red')
| |
| 1002 | end | |
| 1003 | local dmm=newSpm(dia) | |
| 1004 | dmm.Scale=Vector3.new(0.5,1,0.5) | |
| 1005 | dmm.MeshId=rbx..lib.diamond | |
| 1006 | dia.CFrame=righthandle.CFrame | |
| 1007 | local sw=dia | |
| 1008 | local vel=int('BodyVelocity',dia)
| |
| 1009 | sw.CFrame=CFrame.new(righthandle.CFrame.p, Vector3.new(m.Hit.p.X,m.Hit.p.Y,m.Hit.p.Z))*ang(mr(math.random(-math.random(5),math.random(5))),mr(math.random(-math.random(5),math.random(5))),mr(math.random(-math.random(5),math.random(5))))--*ang(mr(90),0,0) | |
| 1010 | vel.MaxForce=Vector3.new(math.huge,math.huge,math.huge) | |
| 1011 | vel.Velocity=sw.CFrame.lookVector*152 | |
| 1012 | sw.CFrame=sw.CFrame*ang(mr(90),0,0) | |
| 1013 | game.Debris:AddItem(sw,2) | |
| 1014 | local dmgdealt=false | |
| 1015 | local nct=sw.Touched:connect(function(part) | |
| 1016 | if part.Parent and part.Parent:findFirstChild('Humanoid') and not part:IsDescendantOf(ch) and not dmgdealt then
| |
| 1017 | dealDamage(part.Parent,4.5,5,2,2) | |
| 1018 | dmgdealt=true | |
| 1019 | end | |
| 1020 | if part:IsDescendantOf(ch)==false then | |
| 1021 | local snd=diamondbreak:clone() | |
| 1022 | snd.Parent=sw | |
| 1023 | snd:Play() | |
| 1024 | vel:Destroy() | |
| 1025 | sw.Anchored=true | |
| 1026 | addFx(sw,0.07,'destroy',function() dmm.Scale=dmm.Scale+Vector3.new(0.1,0.1,0.1) dia.Transparency=dia.Transparency+0.07 end) | |
| 1027 | end | |
| 1028 | end) | |
| 1029 | else | |
| 1030 | a.up=true | |
| 1031 | end | |
| 1032 | until a.up==true | |
| 1033 | animPlaying=false | |
| 1034 | deb=false | |
| 1035 | bg=false | |
| 1036 | canExecuteMoves=true | |
| 1037 | hum.WalkSpeed=regws | |
| 1038 | reset() | |
| 1039 | end,100) | |
| 1040 | ||
| 1041 | addMove('Curse','g',25,function()
| |
| 1042 | deb=true | |
| 1043 | idle=false | |
| 1044 | animPlaying=true | |
| 1045 | canRunLeg=true | |
| 1046 | tweenTable={}
| |
| 1047 | altTweenTable={}
| |
| 1048 | Tween(rj,cfn()*ang(0,mr(-90),0),0.2) | |
| 1049 | Tween(rw,cfn()*ang(0,0,mr(-90)),0.2) | |
| 1050 | Tween(lw,cfn()*ang(0,mr(5),mr(20)),0.2) | |
| 1051 | tor.CFrame = CFrame.new(tor.Position, Vector3.new(mouse.Hit.p.X, tor.Position.Y, mouse.Hit.p.Z)) | |
| 1052 | wait(0.15) | |
| 1053 | curse:Play() | |
| 1054 | addCoolDown('Curse')
| |
| 1055 | local bullet=cp(tube,'Really black',Vector3.new(1,1,1)) | |
| 1056 | bullet.CFrame=CFrame.new(righthandle.CFrame.p, Vector3.new(m.Hit.p.X,m.Hit.p.Y,m.Hit.p.Z)) | |
| 1057 | bullet.Transparency=1 | |
| 1058 | local bulletfx=bullet:clone() | |
| 1059 | bulletfx.Transparency=1 | |
| 1060 | bulletfx.Parent=bullet | |
| 1061 | bulletfx.Anchored=true | |
| 1062 | sphere(bulletfx) | |
| 1063 | local angle=0 | |
| 1064 | local lastpoint=bullet.CFrame | |
| 1065 | spawn(function() | |
| 1066 | repeat wait(0.06) | |
| 1067 | local cfx=cp(tube,'Really black',Vector3.new(0.4,0.4,0.4),true) | |
| 1068 | cfx.Transparency=1 | |
| 1069 | local rfx=cp(tube,'Really black',Vector3.new(0.4,0.4,0.4),true) | |
| 1070 | rfx.Material='Neon' | |
| 1071 | local ran=math.random(2) | |
| 1072 | if ran==1 then | |
| 1073 | rfx.BrickColor=BrickColor.new('Bright red')
| |
| 1074 | end | |
| 1075 | local bm=int('SpecialMesh',rfx)--blo(rfx)
| |
| 1076 | bm.MeshType='FileMesh' | |
| 1077 | bm.MeshId=rbx..'9756362' | |
| 1078 | bm.Scale=Vector3.new(0.3,0.7,0.3) | |
| 1079 | local angls=ang(mr(math.random(90)),mr(math.random(90)),mr(math.random(90))) | |
| 1080 | addFx(cfx,0.02,'destroy',function() rfx.Transparency=rfx.Transparency+0.02 rfx.CFrame=cfx.CFrame*angls cfx.CFrame=cfx.CFrame*CFrame.new(0,0,0) --[[bm.Scale=bm.Scale+Vector3.new(0.02,0.02,0.02)]] end) | |
| 1081 | cfx.CFrame=bullet.CFrame*CFrame.new(math.random(-math.random(25/10),math.random(25)/10),0,math.random(-math.random(25)/10,math.random(25)/10)) | |
| 1082 | rfx.CFrame=cfx.CFrame*angls*CFrame.Angles(math.rad(-90),0,0) | |
| 1083 | game.Debris:AddItem(cfx,1.1) | |
| 1084 | game.Debris:AddItem(rfx,1.1) | |
| 1085 | until bullet.Parent==nil | |
| 1086 | end) | |
| 1087 | addMover(bullet,0.8,function() | |
| 1088 | angle=angle+1 | |
| 1089 | local angles=CFrame.Angles(0,0,mr(angle)) | |
| 1090 | bulletfx.CFrame=bullet.CFrame--*angles | |
| 1091 | --bullet.CFrame=bullet.CFrame*angles | |
| 1092 | local fxp=cp(tube,'Really black',Vector3.new(1,1,1),true) | |
| 1093 | fxp.CFrame=bulletfx.CFrame--*ang(mr(-90),0,0) | |
| 1094 | local bmesh=int('SpecialMesh',fxp)
| |
| 1095 | bmesh.MeshType='FileMesh' | |
| 1096 | bmesh.MeshId=rbx..lib.ring | |
| 1097 | bmesh.Scale=Vector3.new(2,2,2) | |
| 1098 | addFx(fxp,0.07,'destroy',function() bulletfx.CFrame=bullet.CFrame bmesh.Scale=bmesh.Scale-Vector3.new(0.1,0.1,0) fxp.Transparency=fxp.Transparency+0.07 end) | |
| 1099 | end) | |
| 1100 | bullet.Touched:connect(function(p) | |
| 1101 | if not p:isDescendantOf(ch) then | |
| 1102 | local thing | |
| 1103 | local region=CreateRegion3FromLocAndSize(bullet.Position,bullet.Size*2) | |
| 1104 | for _,v in pairs(workspace:findPartsInRegion3WithIgnoreList(region,{ch},50)) do
| |
| 1105 | if v.Parent and v.Parent:findFirstChild'Humanoid' then | |
| 1106 | thing=v | |
| 1107 | break | |
| 1108 | end | |
| 1109 | end | |
| 1110 | if thing and thing.Parent then | |
| 1111 | if thing.Parent:findFirstChild('Head') then
| |
| 1112 | displayText(thing.Parent.Head,'Cursed','Really black') | |
| 1113 | else | |
| 1114 | displayText(thing,'Cursed','Really black') | |
| 1115 | end | |
| 1116 | end | |
| 1117 | local mgp=cp(tube,'White',Vector3.new(1,1,1),true) | |
| 1118 | mgp.Transparency=1 | |
| 1119 | mgp.CFrame=bullet.CFrame | |
| 1120 | game.Debris:AddItem(mgp,3) | |
| 1121 | local tsound=glass:clone() | |
| 1122 | tsound.Volume=2 | |
| 1123 | tsound.Parent=mgp | |
| 1124 | tsound:Play() | |
| 1125 | --local explosound=getSound(142070128) | |
| 1126 | --explosound.Volume=0.8 | |
| 1127 | --explosound.Pitch=1.2 | |
| 1128 | -- explosound.Parent=p | |
| 1129 | --explosound:Play() | |
| 1130 | local position=bullet.CFrame | |
| 1131 | if thing and thing.Parent then | |
| 1132 | dealDamage(thing.Parent,5,5) | |
| 1133 | local humin=thing.Parent.Humanoid | |
| 1134 | spawn(function() | |
| 1135 | for i=1,10 do | |
| 1136 | wait(1) | |
| 1137 | if thing.Parent then | |
| 1138 | dealDamage(thing.Parent,0.05*humin.MaxHealth,10,1.5,0.5) | |
| 1139 | end | |
| 1140 | end | |
| 1141 | end) | |
| 1142 | end | |
| 1143 | local blast=cp(tube,"Really black",Vector3.new(2,2,2),true,false) | |
| 1144 | blast.Material='Neon' | |
| 1145 | local spm2=blo(blast) | |
| 1146 | spm2.Name='mesh' | |
| 1147 | blast.CFrame=CFrame.new(position.X,position.Y,position.Z)*ang(mr(math.random(90)),mr(math.random(90)),mr(math.random(90))) | |
| 1148 | if p.Name=='Torso' or p.Parent and p.Parent:findFirstChild'Torso' then | |
| 1149 | blast.CFrame=p.Parent.Torso.CFrame*ang(mr(math.random(90)),mr(math.random(90)),mr(math.random(90))) | |
| 1150 | end | |
| 1151 | for i=1,5 do | |
| 1152 | local fx=blast:clone() | |
| 1153 | fx.Parent=tube | |
| 1154 | fx.CFrame=blast.CFrame*ang(mr(math.random(90)),mr(math.random(90)),mr(math.random(90))) | |
| 1155 | addFx(fx,0.05,"destroy",function() | |
| 1156 | fx.mesh.Scale=fx.mesh.Scale+Vector3.new(0.1,0.1,0.1) | |
| 1157 | fx.Transparency=fx.Transparency+0.05 | |
| 1158 | end) | |
| 1159 | end | |
| 1160 | addFx(blast,0.05,"destroy",function() | |
| 1161 | spm2.Scale=spm2.Scale+Vector3.new(0.1,0.1,0.1) | |
| 1162 | blast.Transparency=blast.Transparency+0.05 | |
| 1163 | end) | |
| 1164 | bullet:Destroy() | |
| 1165 | bulletfx:Destroy() | |
| 1166 | end | |
| 1167 | end) | |
| 1168 | game.Debris:AddItem(bullet,3) | |
| 1169 | local bv=int('BodyVelocity',bullet)
| |
| 1170 | bv.MaxForce=Vector3.new(math.huge,math.huge,math.huge) | |
| 1171 | bv.Velocity=bullet.CFrame.lookVector*150 | |
| 1172 | wait(0.5) | |
| 1173 | reset() | |
| 1174 | deb=false | |
| 1175 | canRunLeg=false | |
| 1176 | animPlaying=false | |
| 1177 | end,100) | |
| 1178 | ||
| 1179 | addMove('Rive Beam','e',5,function()
| |
| 1180 | tweenTable={}
| |
| 1181 | animPlaying=true | |
| 1182 | idle=false | |
| 1183 | deb=true | |
| 1184 | local pcf=tor.CFrame | |
| 1185 | canRunLeg=true | |
| 1186 | startsound:Play() | |
| 1187 | chargesound.Looped=true | |
| 1188 | chargesound:Play() | |
| 1189 | Tween(rj,cfn()*ang(0,mr(-90),0),0.2) | |
| 1190 | Tween(rw,cfn()*ang(0,0,mr(-90)),0.2) | |
| 1191 | Tween(lw,cfn()*ang(0,mr(5),mr(20)),0.2) | |
| 1192 | bg=true | |
| 1193 | local a=addToCList('beam_connect','e')
| |
| 1194 | local charge=cp(tube,"Really black",Vector3.new(1,1,1)) | |
| 1195 | charge.Material='Neon' | |
| 1196 | local spm=int('SpecialMesh',charge)
| |
| 1197 | spm.MeshType='Sphere' | |
| 1198 | spm.Name='sphere' | |
| 1199 | weld(ch['Right Arm'],charge,cfn(0,-2,0)) | |
| 1200 | local up=false | |
| 1201 | local multiplier=1 | |
| 1202 | local cn=chargesound.DidLoop:connect(function() | |
| 1203 | local fx=charge:clone() | |
| 1204 | fx.Parent=tube | |
| 1205 | fx.CFrame=charge.CFrame | |
| 1206 | fx.BrickColor=BrickColor.new('Bright red')
| |
| 1207 | weld(charge,fx,cfn()) | |
| 1208 | addFx(fx,0.07,'destroy',function() if fx and fx:findFirstChild'sphere' then fx.sphere.Scale=fx.sphere.Scale+Vector3.new(0.1,0.1,0.1) fx.Transparency=fx.Transparency+0.07 end end) | |
| 1209 | end) | |
| 1210 | spawn(function() | |
| 1211 | repeat wait() if spm.Scale.X<2 then spm.Scale=spm.Scale+Vector3.new(0.05,0.05,0.05) multiplier=multiplier+0.1 end until up==true | |
| 1212 | end) | |
| 1213 | waitForUp(a) | |
| 1214 | cn:Disconnect() | |
| 1215 | up=true | |
| 1216 | addCoolDown('Rive Beam')
| |
| 1217 | chargesound:Stop() | |
| 1218 | if multiplier<3.1 then | |
| 1219 | endsound:Play() | |
| 1220 | else | |
| 1221 | chargedupbeam:Play() | |
| 1222 | end | |
| 1223 | local ringFx=cp(tube,"Really black",Vector3.new(2,2,2),true,false) | |
| 1224 | ringFx.CFrame=charge.CFrame*ang(mr(-90),0,0) | |
| 1225 | ringFx.Material='Neon' | |
| 1226 | local spm=int('SpecialMesh',ringFx)
| |
| 1227 | spm.MeshId=rbx..lib.ring | |
| 1228 | spm.Scale=Vector3.new(2,2,2) | |
| 1229 | addFx(ringFx,0.08,"destroy",function() | |
| 1230 | spm.Scale=spm.Scale+Vector3.new(0.2,0.2,0) | |
| 1231 | ringFx.Transparency=ringFx.Transparency+0.08 | |
| 1232 | end) | |
| 1233 | print(multiplier) | |
| 1234 | local beam=cp(tube,"Really black",Vector3.new(1,1,1),true,false) | |
| 1235 | if multiplier>=3.1 then | |
| 1236 | beam.BrickColor=BrickColor.new('Bright red')
| |
| 1237 | end | |
| 1238 | local ray = Ray.new(charge.CFrame.p, (mouse.Hit.p - charge.CFrame.p).unit * 300) | |
| 1239 | local part, position = workspace:FindPartOnRay(ray, ch, false, true) | |
| 1240 | local distance = (charge.CFrame.p - position).magnitude | |
| 1241 | beam.Size = Vector3.new(1, 1, distance) | |
| 1242 | beam.Material='Neon' | |
| 1243 | beam.CFrame = CFrame.new(charge.CFrame.p, position) * CFrame.new(0, 0, -distance / 2) | |
| 1244 | local blast=cp(tube,"Really black",Vector3.new(2.6*multiplier,2.6*multiplier,2.6*multiplier),true,false) | |
| 1245 | blast.Material='Neon' | |
| 1246 | blast.CFrame=CFrame.new(position.X,position.Y,position.Z) | |
| 1247 | if multiplier>=3.1 then | |
| 1248 | local blast2=blast:clone() | |
| 1249 | --blast2.Size=blast.Size-Vector3.new(1,1,1) | |
| 1250 | blast2.CFrame=blast.CFrame | |
| 1251 | blast2.Parent=blast | |
| 1252 | blast2.BrickColor=BrickColor.new('Bright red')
| |
| 1253 | local spml=sphere(blast2) | |
| 1254 | spml.Scale=Vector3.new(0.8,0.8,0.8) | |
| 1255 | addFx(blast2,0.008,'destroy',function() spml.Scale=spml.Scale+Vector3.new(0.05,0.05,0.05) blast2.Transparency=blast2.Transparency+0.008 end ) | |
| 1256 | end | |
| 1257 | local region=CreateRegion3FromLocAndSize(blast.Position,blast.Size*2) | |
| 1258 | local people={}
| |
| 1259 | for _,v in pairs(workspace:findPartsInRegion3WithIgnoreList(region,{ch},100)) do
| |
| 1260 | if v and v.Parent and v.className=='Part' and v.Parent:findFirstChild('Humanoid') then
| |
| 1261 | local can=false | |
| 1262 | if not v.Parent:findFirstChild('HitDeb') then
| |
| 1263 | can=true | |
| 1264 | end | |
| 1265 | if can==true then | |
| 1266 | local db=Instance.new('StringValue',v.Parent)
| |
| 1267 | db.Name='HitDeb' | |
| 1268 | game.Debris:AddItem(db,0.5) | |
| 1269 | local humin=v.Parent.Humanoid | |
| 1270 | if humin then | |
| 1271 | local php=humin.Health | |
| 1272 | dealDamage(humin.Parent,20*multiplier,10,1,0.05) | |
| 1273 | humin.Sit=true | |
| 1274 | humin.PlatformStand=true | |
| 1275 | if humin.Health>=php and humin.MaxHealth~=math.huge then | |
| 1276 | print('equal')
| |
| 1277 | humin:TakeDamage(20*multiplier) | |
| 1278 | end | |
| 1279 | end | |
| 1280 | end | |
| 1281 | end | |
| 1282 | end | |
| 1283 | local blastsound=getSound(262562443) | |
| 1284 | blastsound.Parent=blast | |
| 1285 | blastsound.Volume=5 | |
| 1286 | blastsound:Play() | |
| 1287 | blastsound:Stop() | |
| 1288 | blastsound:Play() | |
| 1289 | canRunLeg=false | |
| 1290 | runLeg=false | |
| 1291 | animPlaying=false | |
| 1292 | tweenTable={}
| |
| 1293 | local spm2=int('SpecialMesh',blast)
| |
| 1294 | spm2.MeshType='Sphere' | |
| 1295 | addFx(blast,0.008,"destroy",function() | |
| 1296 | spm2.Scale=spm2.Scale+Vector3.new(0.05,0.05,0.05) | |
| 1297 | blast.Transparency=blast.Transparency+0.008 | |
| 1298 | end) | |
| 1299 | addFx(beam,0.1,"destroy",function() | |
| 1300 | beam.Transparency=beam.Transparency+0.1 | |
| 1301 | end) | |
| 1302 | addFx(charge,0.1,"destroy",function() | |
| 1303 | charge.Transparency=charge.Transparency+0.1 | |
| 1304 | end) | |
| 1305 | bg=false | |
| 1306 | run=false | |
| 1307 | idle=true | |
| 1308 | reset() | |
| 1309 | deb=false | |
| 1310 | end,60) | |
| 1311 | ||
| 1312 | addMove('Down Slam','q',4,function()
| |
| 1313 | currentkey=key | |
| 1314 | deb=true | |
| 1315 | animPlaying=true | |
| 1316 | altTweenTable={}
| |
| 1317 | tweenTable={}
| |
| 1318 | local rv=tor.CFrame.upVector | |
| 1319 | local bv=int('BodyVelocity',tor)
| |
| 1320 | bv.MaxForce=Vector3.new(math.huge,math.huge,math.huge) | |
| 1321 | bv.Velocity=rv*-150 | |
| 1322 | rushsound:Play() | |
| 1323 | Tween(rj,cfn()*ang(mr(180),0,0)) | |
| 1324 | Tween(rw,cfn()*ang(mr(-180),0,0)) | |
| 1325 | Tween(lw,cfn()*ang(mr(-180),0,0)) | |
| 1326 | addCoolDown('Down Slam',4)
| |
| 1327 | spawn(function() | |
| 1328 | repeat | |
| 1329 | wait() | |
| 1330 | local cfx=cp(tube,'Really black',Vector3.new(6,6,6),true,false) | |
| 1331 | local ran=math.random(2) | |
| 1332 | if ran==1 then | |
| 1333 | cfx.BrickColor=BrickColor.new('Bright red')
| |
| 1334 | cfx.Material='Neon' | |
| 1335 | end | |
| 1336 | cfx.CFrame=tor.CFrame*CFrame.Angles(math.rad(math.random(90)),math.rad(math.random(90)),0) | |
| 1337 | local b=blo(cfx) | |
| 1338 | addFx(cfx,0.05,'destroy',function() | |
| 1339 | cfx.Transparency=cfx.Transparency+0.05 | |
| 1340 | b.Scale=b.Scale+Vector3.new(0.1,0.1,0.1) | |
| 1341 | end) | |
| 1342 | until Vector3.new(0,tor.Velocity.Y,0).magnitude<2 | |
| 1343 | end) | |
| 1344 | wait() | |
| 1345 | bv:Destroy() | |
| 1346 | multiplier=1 | |
| 1347 | repeat wait() until Vector3.new(0,tor.Velocity.Y,0).magnitude<2 | |
| 1348 | local bhit,pos=FindGround(cn(tor.CFrame.p),ch) | |
| 1349 | local blast=cp(tube,"Really black",Vector3.new(10,10,10),true,false) | |
| 1350 | blast.CFrame=pos | |
| 1351 | local region=CreateRegion3FromLocAndSize(blast.Position,blast.Size*3) | |
| 1352 | local people={}
| |
| 1353 | for _,v in pairs(workspace:findPartsInRegion3WithIgnoreList(region,{ch},100)) do
| |
| 1354 | if v and v.Parent and v.className=='Part' and v.Parent:findFirstChild('Humanoid') then
| |
| 1355 | local can=false | |
| 1356 | if not v.Parent:findFirstChild('HitDeb') then
| |
| 1357 | can=true | |
| 1358 | end | |
| 1359 | if can==true then | |
| 1360 | local db=Instance.new('StringValue',v.Parent)
| |
| 1361 | db.Name='HitDeb' | |
| 1362 | game.Debris:AddItem(db,0.5) | |
| 1363 | local humin=v.Parent.Humanoid | |
| 1364 | if humin then | |
| 1365 | local php=humin.Health | |
| 1366 | dealDamage(humin.Parent,20*multiplier,10) | |
| 1367 | humin.Sit=true | |
| 1368 | humin.PlatformStand=true | |
| 1369 | if humin.Health>=php and humin.MaxHealth~=math.huge then | |
| 1370 | print('equal')
| |
| 1371 | humin:TakeDamage(20*multiplier) | |
| 1372 | end | |
| 1373 | end | |
| 1374 | end | |
| 1375 | end | |
| 1376 | end | |
| 1377 | local sp=sphere(blast) | |
| 1378 | blast.Material='Neon' | |
| 1379 | landsound:Play() | |
| 1380 | addFx(blast,0.02,'destroy', | |
| 1381 | function() | |
| 1382 | sp.Scale=sp.Scale+Vector3.new(0.1,0.1,0.1) | |
| 1383 | blast.Transparency=blast.Transparency+0.02 | |
| 1384 | end) | |
| 1385 | animPlaying=false | |
| 1386 | deb=false | |
| 1387 | end,40) | |
| 1388 | ||
| 1389 | addMove('Aerial Sword','r',2,function()
| |
| 1390 | deb=true | |
| 1391 | animPlaying=true | |
| 1392 | tweenTable={}
| |
| 1393 | altTweenTable={}
| |
| 1394 | canExecuteMoves=false | |
| 1395 | idle=false | |
| 1396 | run=false | |
| 1397 | aerialcharge:Play() | |
| 1398 | Tween(rw,cfn()*ang(mr(-90),0,0)) | |
| 1399 | local bp | |
| 1400 | local bgg | |
| 1401 | local a=addToCList('Aerial Sword','r')
| |
| 1402 | local still=true | |
| 1403 | bp=int('BodyPosition',tor)
| |
| 1404 | bp.MaxForce=Vector3.new(math.huge,math.huge,math.huge) | |
| 1405 | bp.Position=tor.Position | |
| 1406 | local sphr=cp(tube,'Really black',Vector3.new(8,8,8),true) | |
| 1407 | sphr.Transparency=1 | |
| 1408 | sphr.Material='Neon' | |
| 1409 | local spho=sphere(sphr) | |
| 1410 | spho.Name='spho' | |
| 1411 | spho.Scale=Vector3.new(0,0,0) | |
| 1412 | sphr.CFrame=tor.CFrame | |
| 1413 | addFx(sphr,0.07,nil,function() spho.Scale=spho.Scale+Vector3.new(0.1,0.1,0.1) sphr.Transparency=sphr.Transparency-0.07 end) | |
| 1414 | Delay(6,function() | |
| 1415 | if not a.up then | |
| 1416 | a.up=true | |
| 1417 | end | |
| 1418 | end) | |
| 1419 | repeat wait(0.3) | |
| 1420 | local b=depleteMana(35) | |
| 1421 | if b then | |
| 1422 | swsound:Play() | |
| 1423 | local fx=sphr:clone() | |
| 1424 | fx.Parent=tube | |
| 1425 | fx.CFrame=sphr.CFrame | |
| 1426 | fx.BrickColor=BrickColor.new('Bright red')
| |
| 1427 | addFx(fx,0.07,'destroy',function() fx.spho.Scale=fx.spho.Scale+Vector3.new(0.1,0.1,0.1) fx.Transparency=fx.Transparency+0.07 end) | |
| 1428 | local sw=int('Part')
| |
| 1429 | game.Debris:AddItem(sw,6) | |
| 1430 | sw.CanCollide=false | |
| 1431 | sw.Anchored=false | |
| 1432 | sw.BrickColor=BrickColor.new('Really black')
| |
| 1433 | sw.Material='Neon' | |
| 1434 | sw.Size=Vector3.new(1,1,2) | |
| 1435 | sw.CFrame=CFrame.new(righthandle.CFrame.p, Vector3.new(m.Hit.p.X,m.Hit.p.Y,m.Hit.p.Z))--*ang(mr(90),0,0) | |
| 1436 | sw.Parent=tube | |
| 1437 | sw.Transparency=1 | |
| 1438 | addFx(sw,0.1,nil,function() sw.Transparency=sw.Transparency-.1 end) | |
| 1439 | local spm=int("SpecialMesh",sw)
| |
| 1440 | spm.MeshType='FileMesh' | |
| 1441 | spm.MeshId=rbx..lib.yato | |
| 1442 | spm.Scale=Vector3.new(0.05,0.05,0.05) | |
| 1443 | local vel=int('BodyVelocity',sw)
| |
| 1444 | vel.MaxForce=Vector3.new(math.huge,math.huge,math.huge) | |
| 1445 | vel.Velocity=sw.CFrame.lookVector*152 | |
| 1446 | sw.CFrame=sw.CFrame*ang(0,mr(180),0) | |
| 1447 | sw.Touched:connect(function(p) | |
| 1448 | if p:IsDescendantOf(ch)==false then | |
| 1449 | sw.Anchored=true | |
| 1450 | local mgp=cp(tube,'White',Vector3.new(1,1,1),true,false) | |
| 1451 | mgp.CFrame=sw.CFrame | |
| 1452 | mgp.Transparency=1 | |
| 1453 | game.Debris:AddItem(mgp,2) | |
| 1454 | ssp=swexp:clone() | |
| 1455 | ssp.Parent=mgp | |
| 1456 | ssp.Volume=2 | |
| 1457 | ssp:Play() | |
| 1458 | local blast=cp(tube,'Bright red',Vector3.new(8,8,8),true) | |
| 1459 | blast.Material='Neon' | |
| 1460 | blast.CFrame=sw.CFrame | |
| 1461 | local sp=sphere(blast) | |
| 1462 | addFx(sw,0.05,'destroy',function() sw.Transparency=sw.Transparency+0.05 spm.Scale=spm.Scale+Vector3.new(0.01,0.01,0.01) end) | |
| 1463 | addFx(blast,0.07,'destroy',function() blast.Transparency=blast.Transparency+0.07 sp.Scale=sp.Scale+Vector3.new(0.1,0.1,0.1) end) | |
| 1464 | local region=CreateRegion3FromLocAndSize(blast.Position,blast.Size*2) | |
| 1465 | local people={}
| |
| 1466 | for _,v in pairs(workspace:findPartsInRegion3WithIgnoreList(region,{ch},100)) do
| |
| 1467 | if v and v.Parent and v.className=='Part' and v.Parent:findFirstChild('Humanoid') then
| |
| 1468 | local can=false | |
| 1469 | if not v.Parent:findFirstChild('HitDeb') then
| |
| 1470 | can=true | |
| 1471 | end | |
| 1472 | if can==true then | |
| 1473 | local db=Instance.new('StringValue',v.Parent)
| |
| 1474 | db.Name='HitDeb' | |
| 1475 | game.Debris:AddItem(db,0.2) | |
| 1476 | local humin=v.Parent.Humanoid | |
| 1477 | if humin then | |
| 1478 | local php=humin.Health | |
| 1479 | dealDamage(humin.Parent,20+math.random(5),5) | |
| 1480 | humin.Sit=true | |
| 1481 | --humin.PlatformStand=true | |
| 1482 | if humin.Health>=php and humin.MaxHealth~=math.huge then | |
| 1483 | print('equal')
| |
| 1484 | humin:TakeDamage(20) | |
| 1485 | end | |
| 1486 | end | |
| 1487 | end | |
| 1488 | end | |
| 1489 | end | |
| 1490 | end | |
| 1491 | end) | |
| 1492 | else | |
| 1493 | a.up=true | |
| 1494 | end | |
| 1495 | until a.up==true | |
| 1496 | addCoolDown('Aerial Sword')
| |
| 1497 | addFx(sphr,0.07,'destroy',function() sphr.Transparency=sphr.Transparency+0.07 spho.Scale=spho.Scale+Vector3.new(0.1,0.1,0.1) end) | |
| 1498 | still=false | |
| 1499 | spawn(function() | |
| 1500 | wait(0.3) | |
| 1501 | canExecuteMoves=true | |
| 1502 | end) | |
| 1503 | bp:Destroy() | |
| 1504 | tor.Anchored=false | |
| 1505 | deb=false | |
| 1506 | animPlaying=false | |
| 1507 | reset() | |
| 1508 | end,200) | |
| 1509 | ||
| 1510 | addMove('Dark Missile','mb1',0.1,function()
| |
| 1511 | tweenTable={}
| |
| 1512 | animPlaying=true | |
| 1513 | deb=true | |
| 1514 | canRunLeg=true | |
| 1515 | tor.CFrame = CFrame.new(tor.Position, Vector3.new(mouse.Hit.p.X, tor.Position.Y, mouse.Hit.p.Z)) | |
| 1516 | bg=true | |
| 1517 | idle=false | |
| 1518 | basicsound:Play() | |
| 1519 | if basicswitch==false then | |
| 1520 | Tween(rw,cfn()*ang(mr(-100),mr(45),0),0.2) | |
| 1521 | Tween(rj,cfn()*ang(0,mr(-45),0),0.2) | |
| 1522 | else | |
| 1523 | Tween(lw,cfn()*ang(mr(-100),mr(-45),0),0.2) | |
| 1524 | Tween(rj,cfn()*ang(0,mr(45),0),0.2) | |
| 1525 | end | |
| 1526 | wait(0.06) | |
| 1527 | local bullet=cp(tube,"Really black",Vector3.new(1,1,1),false,false) | |
| 1528 | bullet.Transparency=1 | |
| 1529 | if basicswitch==false then | |
| 1530 | bullet.CFrame=righthandle.CFrame | |
| 1531 | bullet.CFrame=CFrame.new(righthandle.CFrame.p, Vector3.new(m.Hit.p.X,m.Hit.p.Y,m.Hit.p.Z)) | |
| 1532 | basicswitch=true | |
| 1533 | else | |
| 1534 | bullet.CFrame=lefthandle.CFrame | |
| 1535 | bullet.CFrame=CFrame.new(lefthandle.CFrame.p, Vector3.new(m.Hit.p.X,m.Hit.p.Y,m.Hit.p.Z)) | |
| 1536 | basicswitch=false | |
| 1537 | end | |
| 1538 | local bv=int('BodyVelocity',bullet)
| |
| 1539 | bv.MaxForce=Vector3.new(math.huge,math.huge,math.huge) | |
| 1540 | bv.Velocity=bullet.CFrame.lookVector*150 | |
| 1541 | local bulletfx=cp(tube,"Bright red",Vector3.new(1,1,1),true,false) | |
| 1542 | if basicswitch==false then | |
| 1543 | bulletfx.BrickColor=BrickColor.new('Really black')
| |
| 1544 | end | |
| 1545 | bulletfx.CFrame=bullet.CFrame | |
| 1546 | bulletfx.Material='Neon' | |
| 1547 | sphere(bulletfx) | |
| 1548 | local angle=0 | |
| 1549 | local bfsd=basicswitch | |
| 1550 | local lastpoint=bulletfx.CFrame | |
| 1551 | addCoolDown('Dark Missile')
| |
| 1552 | addMover(bullet,0.8,function() | |
| 1553 | angle=angle+1 | |
| 1554 | local angles=CFrame.Angles(math.rad(angle),mr(angle),0) | |
| 1555 | bulletfx.CFrame=bullet.CFrame | |
| 1556 | bulletfx.CFrame=bulletfx.CFrame*angles | |
| 1557 | if (lastpoint.p-bulletfx.CFrame.p).magnitude>1 then | |
| 1558 | local line=drawLine(lastpoint.p,bulletfx.CFrame.p,'Really black',angles) | |
| 1559 | --local ran=math.random(2) | |
| 1560 | if bfsd==true then | |
| 1561 | line.BrickColor=BrickColor.new('Bright red')
| |
| 1562 | end | |
| 1563 | addFx(line,0.05,'destroy',function() | |
| 1564 | line.blok.Scale=line.blok.Scale+Vector3.new(0.05,0,0.05) | |
| 1565 | line.Transparency=line.Transparency+0.05 | |
| 1566 | end) | |
| 1567 | lastpoint=bulletfx.CFrame | |
| 1568 | end | |
| 1569 | end) | |
| 1570 | bullet.Touched:connect(function(p) | |
| 1571 | if not p:isDescendantOf(ch) then | |
| 1572 | local thing | |
| 1573 | local region=CreateRegion3FromLocAndSize(bullet.Position,bullet.Size*2) | |
| 1574 | for _,v in pairs(workspace:findPartsInRegion3WithIgnoreList(region,{ch},50)) do
| |
| 1575 | if v.Parent and v.Parent:findFirstChild'Humanoid' then | |
| 1576 | thing=v | |
| 1577 | break | |
| 1578 | end | |
| 1579 | end | |
| 1580 | local explosound=getSound(142070128) | |
| 1581 | explosound.Volume=0.8 | |
| 1582 | explosound.Pitch=1.2 | |
| 1583 | explosound.Parent=p | |
| 1584 | explosound:Play() | |
| 1585 | local position=bullet.CFrame | |
| 1586 | if thing and thing.Parent then | |
| 1587 | dealDamage(thing.Parent,20,5) | |
| 1588 | end | |
| 1589 | local blast=cp(tube,"Really black",Vector3.new(2,2,2),true,false) | |
| 1590 | if bfsd==false then | |
| 1591 | blast.BrickColor=BrickColor.new('Bright red')
| |
| 1592 | end | |
| 1593 | blast.Material='Neon' | |
| 1594 | local spm2=sphere(blast) | |
| 1595 | blast.CFrame=CFrame.new(position.X,position.Y,position.Z) | |
| 1596 | addFx(blast,0.05,"destroy",function() | |
| 1597 | spm2.Scale=spm2.Scale+Vector3.new(0.1,0.1,0.1) | |
| 1598 | blast.Transparency=blast.Transparency+0.05 | |
| 1599 | end) | |
| 1600 | bullet:Destroy() | |
| 1601 | bulletfx:Destroy() | |
| 1602 | end | |
| 1603 | end) | |
| 1604 | game.Debris:AddItem(bullet,2.5) | |
| 1605 | game.Debris:AddItem(bulletfx,2.5) | |
| 1606 | wait(0.1) | |
| 1607 | idle=true | |
| 1608 | reset() | |
| 1609 | deb=false | |
| 1610 | animPlaying=false | |
| 1611 | bg=false | |
| 1612 | end,20) | |
| 1613 | ||
| 1614 | ||
| 1615 | ||
| 1616 | ||
| 1617 | local mult=2 | |
| 1618 | ||
| 1619 | ||
| 1620 | initializeBigJoints=function() | |
| 1621 | destroyJoints() | |
| 1622 | rabr = cp(tube,'White',Vector3.new(1,1,1),false,false) rabr.Transparency = 1 rabr.Name='Locker' | |
| 1623 | rabr.Position = torso.Position | |
| 1624 | rw = Weld(rabr,torso,1.5*mult,.5*mult,0,0,0,0) rw.Parent = tube rw.Name = 'rw' | |
| 1625 | w = Instance.new("Weld",tube)
| |
| 1626 | w.Part0,w.Part1 = ch['Right Arm'],rabr | |
| 1627 | w.C1 = CFrame.new(0,-.5,0) | |
| 1628 | labr = cp(tube,'White',Vector3.new(1,1,1),false,false) labr.Transparency = 1 labr.Name='Locker' | |
| 1629 | labr.Position = torso.Position | |
| 1630 | lw = Weld(labr,torso,-1.5*mult,.5*mult,0,0,0,0) lw.Parent = tube lw.Name = 'lw' | |
| 1631 | ww = Instance.new("Weld",tube)
| |
| 1632 | ww.Part0,ww.Part1 = ch['Left Arm'],labr | |
| 1633 | ww.C1 = CFrame.new(0,-.5,0) | |
| 1634 | rlabr = cp(tube,'White',Vector3.new(1,1,1),false,false) rlabr.Transparency = 1 rlabr.Name='Locker' | |
| 1635 | rlabr.Position = torso.Position | |
| 1636 | rlw = Weld(rlabr,torso,0.5*mult,-1.7*mult,0,0,0,0) rlw.Parent = tube rlw.Name = 'rlw' | |
| 1637 | wl = Instance.new("Weld",tube)
| |
| 1638 | wl.Part0,wl.Part1 = ch['Right Leg'],rlabr | |
| 1639 | wl.C1 = CFrame.new(0,-.5,0) | |
| 1640 | llabr = cp(tube,'White',Vector3.new(1,1,1),false,false) llabr.Transparency = 1 llabr.Name='Locker' | |
| 1641 | llabr.Position = torso.Position | |
| 1642 | llw = Weld(llabr,torso,-0.5*mult,-1.7*mult,0,0,0,0) llw.Parent = tube llw.Name = 'llw' | |
| 1643 | wwl = Instance.new("Weld",tube)
| |
| 1644 | wwl.Part0,wwl.Part1 = ch['Left Leg'],llabr | |
| 1645 | wwl.C1 = CFrame.new(0,-.5,0) | |
| 1646 | nk = cp(tube,'White',Vector3.new(1,1,1),false,false) nk.Transparency = 1 nk.Name='Locker' | |
| 1647 | nk.Position = torso.Position | |
| 1648 | neck = Weld(nk,torso,0,2,0,0,0,0) neck.Parent = tube neck.Name = 'neck' | |
| 1649 | www = Instance.new("Weld",tube)
| |
| 1650 | www.Part0,www.Part1 = ch['Head'],nk | |
| 1651 | www.C1 = CFrame.new(0,-.5,0) | |
| 1652 | table.insert(alljoints,rabr) | |
| 1653 | table.insert(alljoints,labr) | |
| 1654 | table.insert(alljoints,rw) | |
| 1655 | table.insert(alljoints,lw) | |
| 1656 | table.insert(alljoints,w) | |
| 1657 | table.insert(alljoints,ww) | |
| 1658 | table.insert(alljoints,rlabr) | |
| 1659 | table.insert(alljoints,llabr) | |
| 1660 | table.insert(alljoints,rlw) | |
| 1661 | table.insert(alljoints,llw) | |
| 1662 | table.insert(alljoints,wl) | |
| 1663 | table.insert(alljoints,wwl) | |
| 1664 | table.insert(alljoints,nk) | |
| 1665 | table.insert(alljoints,neck) | |
| 1666 | table.insert(alljoints,www) | |
| 1667 | end | |
| 1668 | ||
| 1669 | addMove('Ascend','l',1,function()
| |
| 1670 | if not ascension then | |
| 1671 | ascension=true | |
| 1672 | ch['Right Arm'].Size=ch['Right Arm'].Size*mult | |
| 1673 | ch['Left Arm'].Size=ch['Left Arm'].Size*mult | |
| 1674 | tor.Size=tor.Size*mult | |
| 1675 | ch.HumanoidRootPart.Size=ch.HumanoidRootPart.Size*mult | |
| 1676 | ch['Right Leg'].Size=ch['Right Leg'].Size*mult | |
| 1677 | ch['Left Leg'].Size=ch['Left Leg'].Size*mult | |
| 1678 | ch['Head'].Size=ch['Head'].Size*mult | |
| 1679 | ch['Right Leg'].BrickColor=BrickColor.new('Really black')
| |
| 1680 | ch['Body Colors'].RightLegColor=BrickColor.new('Really black')
| |
| 1681 | hat:Destroy() | |
| 1682 | testhalf:Destroy() | |
| 1683 | rarmdiamond:Destroy() | |
| 1684 | cooldiamond:Destroy() | |
| 1685 | cooldiamond2:Destroy() | |
| 1686 | cooldiamond3:Destroy() | |
| 1687 | -- hum.HipHeight=hum.HipHeight*mult | |
| 1688 | initializeBigJoints() | |
| 1689 | rj:Destroy() | |
| 1690 | rj=weld(ch.HumanoidRootPart,tor,cfn()) | |
| 1691 | --parts | |
| 1692 | --[[ | |
| 1693 | local rsold=cp(tube,'Really red',Vector3.new(1,0.4,1)*mult) | |
| 1694 | rsold.Material='Granite' | |
| 1695 | local rsb=blo(rsold) | |
| 1696 | rsb.Scale=Vector3.new(1.05,1.05,1.05) | |
| 1697 | weld(ch['Right Arm'],rsold,cfn(0,0.8*mult,0)) | |
| 1698 | local lsold=cp(tube,'Really red',Vector3.new(1,0.4,1)*mult) | |
| 1699 | lsold.Material='Granite' | |
| 1700 | local lsb=blo(lsold) | |
| 1701 | lsb.Scale=Vector3.new(1.05,1.05,1.05) | |
| 1702 | weld(ch['Left Arm'],lsold,cfn(0,0.8*mult,0)) | |
| 1703 | ||
| 1704 | local rhand=cp(tube,'Really red',Vector3.new(1,1,1)*mult) | |
| 1705 | rhand.Material='Granite' | |
| 1706 | local rhb=blo(rhand) | |
| 1707 | rhb.Scale=Vector3.new(1.1,1.1,1.1) | |
| 1708 | weld(ch['Right Arm'],rhand,cfn(0,-1,0)) | |
| 1709 | ||
| 1710 | ||
| 1711 | local lhand=cp(tube,'Really red',Vector3.new(1,1,1)*mult) | |
| 1712 | lhand.Material='Granite' | |
| 1713 | local rhb=blo(lhand) | |
| 1714 | rhb.Scale=Vector3.new(1.1,1.1,1.1) | |
| 1715 | weld(ch['Left Arm'],lhand,cfn(0,-1,0)) | |
| 1716 | ||
| 1717 | local lhand1=cp(tube,'Really black',Vector3.new(0.2,0.7,0.2)*mult) | |
| 1718 | weld(lhand,lhand1,cfn(-1,0,0)) | |
| 1719 | lhand1.Material='Granite' | |
| 1720 | ||
| 1721 | local lstripe1=cp(tube,'Really red',Vector3.new(1,0.8,0.3)*mult) | |
| 1722 | lstripe1.Material='Granite' | |
| 1723 | blo(lstripe1).Scale=Vector3.new(1.02,1.1,1.02) | |
| 1724 | weld(ch['Left Arm'],lstripe1,cfn(0,0.3,0)) | |
| 1725 | ||
| 1726 | local rstripe1=cp(tube,'Really red',Vector3.new(1,0.8,0.3)*mult) | |
| 1727 | rstripe1.Material='Granite' | |
| 1728 | blo(rstripe1).Scale=Vector3.new(1.02,1.1,1.02) | |
| 1729 | weld(ch['Right Arm'],rstripe1,cfn(0,0.3,0)) | |
| 1730 | ||
| 1731 | local testdiag=cp(tube,'Really red',Vector3.new(0.3,2.4,1)*mult) | |
| 1732 | testdiag.Material='Granite' | |
| 1733 | blo(testdiag).Scale=Vector3.new(1.1,1.1,1.05) | |
| 1734 | weld(tor,testdiag,(cfn(0,0,0))*ang(0,0,mr(45))) | |
| 1735 | ]] | |
| 1736 | local that=cp(tube,'Bright red',Vector3.new(1,1,1)*mult) | |
| 1737 | local spm=newSpm(that) | |
| 1738 | spm.MeshId=rbx..lib.cone | |
| 1739 | spm.Scale=Vector3.new(3,1.5,3) | |
| 1740 | weld(ch.Head,that,cfn(0,1,0)) | |
| 1741 | --[[ | |
| 1742 | local belt=cp(tube,'Really red',Vector3.new(2,0.3,1)*mult) | |
| 1743 | belt.Material='Granite' | |
| 1744 | blo(belt).Scale=Vector3.new(1.03,1.1,1.1) | |
| 1745 | weld(tor,belt,cfn(0,-2,0)) | |
| 1746 | ]] | |
| 1747 | ||
| 1748 | ||
| 1749 | New = function(Object, Parent, Name, Data) | |
| 1750 | local Object = Instance.new(Object) | |
| 1751 | for Index, Value in pairs(Data or {}) do
| |
| 1752 | Object[Index] = Value | |
| 1753 | end | |
| 1754 | Object.Parent = Parent | |
| 1755 | Object.Name = Name | |
| 1756 | return Object | |
| 1757 | end | |
| 1758 | ||
| 1759 | chest = New("Model",tube,"chest",{})
| |
| 1760 | redwedgehalf = New("WedgePart",chest,"redwedgehalf",{BrickColor = BrickColor.new("Bright red"),Material = Enum.Material.SmoothPlastic,Size = Vector3.new(2.09999919, 4.00000048, 4.05000019),CFrame = CFrame.new(14.0277252, 5.99809361, 24.9995251, -2.61053401e-011, -1.77635684e-015, -0.999506414, 2.22681209e-019, 0.999753237, -3.55271368e-015, 0.999753237, -2.00206143e-020, -1.76481052e-011),Color = Color3.new(0.768628, 0.156863, 0.109804),})
| |
| 1761 | chestdiamond = New("Part",chest,"chestdiamond",{BrickColor = BrickColor.new("Bright red"),Material = Enum.Material.Slate,FormFactor = Enum.FormFactor.Symmetric,Size = Vector3.new(2, 1.64999986, 0.200000003),CFrame = CFrame.new(15.0479803, 7.07389736, 26.0992107, 0.999506414, -2.97996383e-008, -2.97928651e-008, 2.98069978e-008, 0.999753237, -1.60258799e-019, 2.97917584e-008, -8.87859141e-016, 0.999753237),BottomSurface = Enum.SurfaceType.Smooth,Color = Color3.new(0.768628, 0.156863, 0.109804),})
| |
| 1762 | Mesh = New("SpecialMesh",chestdiamond,"Mesh",{Scale = Vector3.new(1, 1, 0.300000012),MeshId = "http://www.roblox.com/Asset/?id=9756362",MeshType = Enum.MeshType.FileMesh,})
| |
| 1763 | mot = New("Motor",chestdiamond,"mot",{Part0 = chestdiamond,Part1 = redwedgehalf,C0 = CFrame.new(0, 0, 0, 1, 2.98143554e-008, 2.98075769e-008, -2.98143554e-008, 1, -8.88533432e-016, -2.98075769e-008, -1.60245396e-019, 1),C1 = CFrame.new(1.09995651, 1.07606936, -1.02075863, -2.61182326e-011, 2.22736242e-019, 1, -1.77723415e-015, 1, -2.22736294e-019, -1, -1.77723437e-015, -2.61182343e-011),})
| |
| 1764 | blackwedgehalf = New("WedgePart",chest,"blackwedgehalf",{BrickColor = BrickColor.new("Really black"),Material = Enum.Material.SmoothPlastic,Size = Vector3.new(2.24999905, 1.00000048, 4.05000019),CFrame = CFrame.new(14.0216274, 4.49221802, 24.9745178, -8.40483239e-011, 1.0658141e-014, -0.999506414, 1.6280148e-018, 0.999753177, 7.10542736e-015, 0.999753177, -1.42536268e-018, -7.56052998e-011),Color = Color3.new(0.0666667, 0.0666667, 0.0666667),})
| |
| 1765 | mot = New("Motor",blackwedgehalf,"mot",{Part0 = blackwedgehalf,Part1 = redwedgehalf,C0 = CFrame.new(0, 0, 0, -8.40898323e-011, 1.62841702e-018, 1, 1.06634045e-014, 1, -1.62841608e-018, -1, 1.06634045e-014, -8.40898323e-011),C1 = CFrame.new(-0.0250015259, -1.50550413, 0.00609493256, -2.61182326e-011, 2.22736242e-019, 1, -1.77723415e-015, 1, -2.22736294e-019, -1, -1.77723437e-015, -2.61182343e-011),})
| |
| 1766 | -- blo(tor) | |
| 1767 | weld(tor,redwedgehalf,cfn()*ang(0,mr(90),0)) | |
| 1768 | ch['Right Arm'].BrickColor=BrickColor.new('Bright red')
| |
| 1769 | ch['Left Leg'].BrickColor=BrickColor.new('Bright red')
| |
| 1770 | ch['Right Leg'].BrickColor=BrickColor.new('Bright red')
| |
| 1771 | ch['Body Colors'].RightArmColor=BrickColor.new('Bright red')
| |
| 1772 | ch['Body Colors'].LeftLegColor=BrickColor.new('Bright red')
| |
| 1773 | ch['Body Colors'].RightLegColor=BrickColor.new('Bright red')
| |
| 1774 | pantl = New("Part",tube,"pantl",{BrickColor = BrickColor.new("Really black"),Material = Enum.Material.SmoothPlastic,FormFactor = Enum.FormFactor.Symmetric,Size = Vector3.new(2.04999995, 3.25, 2.0999999),CFrame = CFrame.new(12.9745045, 2.42501593, 25.0000038, 1, -2.98099572e-008, -2.98055873e-008, 2.98099572e-008, 1, -1.05248658e-019, 2.98055838e-008, -8.88397907e-016, 1),CanCollide = false,BackSurface = Enum.SurfaceType.SmoothNoOutlines,BottomSurface = Enum.SurfaceType.SmoothNoOutlines,FrontSurface = Enum.SurfaceType.SmoothNoOutlines,LeftSurface = Enum.SurfaceType.SmoothNoOutlines,RightSurface = Enum.SurfaceType.SmoothNoOutlines,TopSurface = Enum.SurfaceType.SmoothNoOutlines,Color = Color3.new(0.0666667, 0.0666667, 0.0666667),})
| |
| 1775 | weld(ch['Left Leg'],pantl,cfn(0,0.4,0)) | |
| 1776 | pantl = New("Part",tube,"pantl",{BrickColor = BrickColor.new("Really black"),Material = Enum.Material.SmoothPlastic,FormFactor = Enum.FormFactor.Symmetric,Size = Vector3.new(2.04999995, 3.25, 2.0999999),CFrame = CFrame.new(12.9745045, 2.42501593, 25.0000038, 1, -2.98099572e-008, -2.98055873e-008, 2.98099572e-008, 1, -1.05248658e-019, 2.98055838e-008, -8.88397907e-016, 1),CanCollide = false,BackSurface = Enum.SurfaceType.SmoothNoOutlines,BottomSurface = Enum.SurfaceType.SmoothNoOutlines,FrontSurface = Enum.SurfaceType.SmoothNoOutlines,LeftSurface = Enum.SurfaceType.SmoothNoOutlines,RightSurface = Enum.SurfaceType.SmoothNoOutlines,TopSurface = Enum.SurfaceType.SmoothNoOutlines,Color = Color3.new(0.0666667, 0.0666667, 0.0666667),})
| |
| 1777 | weld(ch['Right Leg'],pantl,cfn(0,0.4,0)) | |
| 1778 | blo(ch['Right Arm']) | |
| 1779 | --local rab=cp(tube,'Bright red',ch['Right Arm'].Size) | |
| 1780 | --blo(rab) | |
| 1781 | --weld(ch['Right Arm'],rab,cfn()) | |
| 1782 | --ch['Left Leg'].Transparency=1 | |
| 1783 | --ch['Right Leg'].Transparency=1 | |
| 1784 | --[[ | |
| 1785 | ||
| 1786 | local lpant=cp(tube,'Really red',Vector3.new(1,1,1)*mult) | |
| 1787 | blo(lpant).Scale=Vector3.new(1.02,1.23,1.02) | |
| 1788 | lpant.Material='Granite' | |
| 1789 | weld(ch['Left Leg'],lpant,cfn(0,0.8,0)) | |
| 1790 | ||
| 1791 | local rpant=cp(tube,'Really red',Vector3.new(1,1,1)*mult) | |
| 1792 | blo(rpant).Scale=Vector3.new(1.02,1.23,1.02) | |
| 1793 | rpant.Material='Granite' | |
| 1794 | weld(ch['Right Leg'],rpant,cfn(0,0.8,0)) | |
| 1795 | ||
| 1796 | ||
| 1797 | ]] | |
| 1798 | --head | |
| 1799 | --[[ | |
| 1800 | local hb1=cp(tube,'Bright red',Vector3.new(0.3,1,1)*mult) | |
| 1801 | hb1.Material='Granite' | |
| 1802 | blo(hb1).Scale=Vector3.new(0.95,1.25,1.2) | |
| 1803 | weld(ch.Head,hb1,cfn(0,0.05,0)) | |
| 1804 | ||
| 1805 | local chin=cp(tube,'Bright red',Vector3.new(0.3,1,0.3)*mult) | |
| 1806 | chin.Material='Granite' | |
| 1807 | weld(hb1,chin,cfn(0,-0.75,-1)*ang(mr(45),0,0)) | |
| 1808 | ||
| 1809 | local backchin=cp(tube,'Bright red',Vector3.new(0.3,1,0.3)*mult) | |
| 1810 | backchin.Material='Granite' | |
| 1811 | weld(hb1,backchin,cfn(0,-0.75,1)*ang(mr(-45),0,0)) | |
| 1812 | local cp1=cp(tube,'Bright red',Vector3.new(0.3,1.7,0.2)*mult) | |
| 1813 | cp1.Material='Granite' | |
| 1814 | weld(hb1,cp1,cfn(0,0,1.8)) | |
| 1815 | blo(cp1).Scale=Vector3.new(1.05,1,1.05) | |
| 1816 | ||
| 1817 | local cp2=cp(tube,'Bright red',Vector3.new(0.3,1.7,0.2)*mult) | |
| 1818 | cp2.Material='Granite' | |
| 1819 | weld(hb1,cp2,cfn(0,0,-1.8)) | |
| 1820 | blo(cp2).Scale=Vector3.new(1.05,1,1.05) | |
| 1821 | ||
| 1822 | local top=cp(tube,'Bright red',Vector3.new(0.3,0.2,2)*mult) | |
| 1823 | top.Material='Granite' | |
| 1824 | weld(hb1,top,cfn(0,1.8,0)) | |
| 1825 | ]] | |
| 1826 | end | |
| 1827 | end,1) | |
| 1828 | ||
| 1829 | local dumbbox=nil | |
| 1830 | local dhand=nil | |
| 1831 | local darknum=1 | |
| 1832 | ||
| 1833 | addMove('Dark Slash','r',2,function()
| |
| 1834 | local oldspeed=hum.WalkSpeed | |
| 1835 | hum.WalkSpeed=0 | |
| 1836 | local meshd='http://www.roblox.com/asset/?id=12171188' | |
| 1837 | tweenTable={}
| |
| 1838 | altTweenTable={}
| |
| 1839 | deb=true | |
| 1840 | animPlaying=true | |
| 1841 | canRunLeg=true | |
| 1842 | startsound2:Play() | |
| 1843 | local sp=cp(tube,'Really black',Vector3.new(10,10,10),false,false) | |
| 1844 | sp.CFrame=tor.CFrame | |
| 1845 | sp.Transparency=0.5 | |
| 1846 | local sph=sphere(sp) | |
| 1847 | addFx(sp,0.07,'destroy',function() sph.Scale=sph.Scale-Vector3.new(0.05,0.05,0.05) sp.Transparency=sp.Transparency+0.035 end) | |
| 1848 | spawn(function() | |
| 1849 | for i=1,10 do | |
| 1850 | wait() | |
| 1851 | local cool1=cp(tube,'Really black',Vector3.new(1.5,1.5,1.5),true) | |
| 1852 | local rnd=math.random(2) | |
| 1853 | if rnd==1 then | |
| 1854 | cool1.BrickColor=BrickColor.new('Bright red')
| |
| 1855 | cool1.Material='Neon' | |
| 1856 | end | |
| 1857 | local ms1=blo(cool1) | |
| 1858 | cool1.CFrame=righthandle.CFrame*ang(mr(math.random(90)),mr(math.random(90)),mr(math.random(90))) | |
| 1859 | addFx(cool1,0.07,'destroy',function() ms1.Scale=ms1.Scale+Vector3.new(0.08,0.08,0.08) cool1.Transparency=cool1.Transparency+0.07 end) | |
| 1860 | end | |
| 1861 | end) | |
| 1862 | addCoolDown('Dark Slash')
| |
| 1863 | local allahsword=cp(tube,'White',Vector3.new(1,1,1)) | |
| 1864 | local critmultiplier=2.4 | |
| 1865 | local spm=int('SpecialMesh',allahsword)
| |
| 1866 | spm.MeshType='FileMesh' | |
| 1867 | spm.MeshId=meshd | |
| 1868 | allahsword.Transparency=1 | |
| 1869 | tor.CFrame = CFrame.new(tor.Position, Vector3.new(mouse.Hit.p.X, tor.Position.Y, mouse.Hit.p.Z)) | |
| 1870 | local tv=Vector3.new(tor.CFrame.lookVector.X,0,tor.CFrame.lookVector.Z)--CFrame.new(tor.Position, Vector3.new(mouse.Hit.p.X, tor.Position.Y, mouse.Hit.p.Z)).lookVector | |
| 1871 | local col=BrickColor.new("Really black").Color
| |
| 1872 | spm.TextureId=rbx..'132155326' | |
| 1873 | spm.Name='mesh' | |
| 1874 | spm.VertexColor=Vector3.new(0,0,0) | |
| 1875 | spm.Scale=Vector3.new(1,1,1) | |
| 1876 | addFx(allahsword,0.05,nil,function() allahsword.Transparency=allahsword.Transparency-0.05 end) | |
| 1877 | weld(ch['Right Arm'],allahsword,cfn(0,-4,-0.5)*ang(mr(110),0,mr(180))) | |
| 1878 | Tween(rj,cfn()*ang(0,mr(-90),0)) | |
| 1879 | Tween(rw,cfn(0.5,0.5,0.5)*ang(mr(-55),mr(-35),0)) | |
| 1880 | Tween(lw,cfn(-0.5,0.5,0.5)*ang(mr(-55),mr(35),0)) | |
| 1881 | Delay(0.08,function() | |
| 1882 | local tstvel=int('BodyVelocity',tor)
| |
| 1883 | tstvel.MaxForce=Vector3.new(math.huge,0,math.huge) | |
| 1884 | tstvel.Velocity=tv*35 | |
| 1885 | game.Debris:AddItem(tstvel,0.24) | |
| 1886 | end) | |
| 1887 | wait(0.22) | |
| 1888 | local hitbox=cp(tube,'White',Vector3.new(2,12,2)) | |
| 1889 | hitbox.Transparency=1 | |
| 1890 | hitbox.CFrame=allahsword.CFrame | |
| 1891 | dumbbox=hitbox | |
| 1892 | dumbhand=allahsword | |
| 1893 | swoosh:Play() | |
| 1894 | spawn(function() | |
| 1895 | for i=1,10 do | |
| 1896 | wait() | |
| 1897 | local trl=allahsword:clone() | |
| 1898 | trl.Parent=tube | |
| 1899 | trl.CFrame=allahsword.CFrame | |
| 1900 | if trl:findFirstChild('mesh') then
| |
| 1901 | -- trl.mesh.VertexColor=Vector3.new(BrickColor.new('Bright red').Color.r,BrickColor.new('Bright red').Color.g,BrickColor.new('Bright red').Color.b)
| |
| 1902 | end | |
| 1903 | addFx(trl,0.07,'destroy',function() trl.Transparency=trl.Transparency+0.07 end) | |
| 1904 | end | |
| 1905 | end) | |
| 1906 | addFx(allahsword,.05,'destroy',function() allahsword.Transparency=allahsword.Transparency+.05 spm.Scale=spm.Scale+Vector3.new(0.1,0.1,0.1) --[[hitbox.CFrame=allahsword.CFrame*ang(mr(-90),0,0)]] end) | |
| 1907 | hitbox.Touched:connect(function(v) | |
| 1908 | if v and v.Parent and v.Parent:findFirstChild'Humanoid' and not v:IsDescendantOf(ch) then | |
| 1909 | --print'touched' | |
| 1910 | local can=false | |
| 1911 | if not v.Parent:findFirstChild('HitDeb') then
| |
| 1912 | can=true | |
| 1913 | end | |
| 1914 | if can==true then | |
| 1915 | local sls=getSound(220834020) | |
| 1916 | sls.Pitch=1+(math.random(3)/10) | |
| 1917 | sls.Parent=v | |
| 1918 | sls:Play() | |
| 1919 | local db=Instance.new('StringValue',v.Parent)
| |
| 1920 | db.Name='HitDeb' | |
| 1921 | game.Debris:AddItem(db,0.5) | |
| 1922 | dealDamage(v.Parent,20+math.random(20),2,critmultiplier) | |
| 1923 | end | |
| 1924 | end | |
| 1925 | end) | |
| 1926 | Tween(rj,cfn(0,0,0)*ang(mr(0),mr(90),0)) | |
| 1927 | Tween(rw,cfn(0.5,0.8,0)*ang(mr(-80),mr(-35),0)) | |
| 1928 | Tween(lw,cfn(-0.5,0.8,0)*ang(mr(-90),mr(35),0)) | |
| 1929 | wait(0.2) | |
| 1930 | hitbox:Destroy() | |
| 1931 | hum.WalkSpeed=oldspeed | |
| 1932 | reset() | |
| 1933 | animPlaying=false | |
| 1934 | canRunLeg=false | |
| 1935 | deb=false | |
| 1936 | end,80) | |
| 1937 | ||
| 1938 | --[[ | |
| 1939 | addMove('Dark Slash2','r',2,function()
| |
| 1940 | --http://www.roblox.com/asset/?id=12171188 | |
| 1941 | local oldspeed=hum.WalkSpeed | |
| 1942 | if oldspeed==0 then | |
| 1943 | oldspeed=16 | |
| 1944 | end | |
| 1945 | hum.WalkSpeed=0 | |
| 1946 | local meshd='http://www.roblox.com/asset/?id=12171188' | |
| 1947 | tweenTable={}
| |
| 1948 | altTweenTable={}
| |
| 1949 | deb=true | |
| 1950 | idle=false | |
| 1951 | animPlaying=true | |
| 1952 | canRunLeg=true | |
| 1953 | tweenTable={}
| |
| 1954 | altTweenTable={}
| |
| 1955 | startsound3:Play() | |
| 1956 | Tween(rj,cfn(),1) | |
| 1957 | tor.CFrame = CFrame.new(tor.Position, Vector3.new(mouse.Hit.p.X, tor.Position.Y, mouse.Hit.p.Z)) | |
| 1958 | local sp=cp(tube,'Really black',Vector3.new(10,10,10),false,false) | |
| 1959 | sp.CFrame=tor.CFrame | |
| 1960 | sp.Transparency=0.5 | |
| 1961 | ||
| 1962 | local sph=sphere(sp) | |
| 1963 | addFx(sp,0.07,'destroy',function() sph.Scale=sph.Scale-Vector3.new(0.05,0.05,0.05) sp.Transparency=sp.Transparency+0.035 end) | |
| 1964 | spawn(function() | |
| 1965 | for i=1,10 do | |
| 1966 | wait() | |
| 1967 | local cool1=cp(tube,'Really black',Vector3.new(1.5,1.5,1.5),true) | |
| 1968 | local ms1=blo(cool1) | |
| 1969 | cool1.CFrame=righthandle.CFrame*ang(mr(math.random(90)),mr(math.random(90)),mr(math.random(90))) | |
| 1970 | addFx(cool1,0.07,'destroy',function() ms1.Scale=ms1.Scale+Vector3.new(0.08,0.08,0.08) cool1.Transparency=cool1.Transparency+0.07 end) | |
| 1971 | end | |
| 1972 | end) | |
| 1973 | ||
| 1974 | --addCoolDown('Dark Slash2')
| |
| 1975 | local allahsword=cp(tube,'White',Vector3.new(1,1,1)) | |
| 1976 | ||
| 1977 | ||
| 1978 | local spm=int('SpecialMesh',allahsword)
| |
| 1979 | spm.MeshType='FileMesh' | |
| 1980 | spm.MeshId=meshd | |
| 1981 | allahsword.Transparency=1 | |
| 1982 | tor.CFrame = CFrame.new(tor.Position, Vector3.new(mouse.Hit.p.X, tor.Position.Y, mouse.Hit.p.Z)) | |
| 1983 | local tv=Vector3.new(tor.CFrame.lookVector.X,0,tor.CFrame.lookVector.Z)--CFrame.new(tor.Position, Vector3.new(mouse.Hit.p.X, tor.Position.Y, mouse.Hit.p.Z)).lookVector | |
| 1984 | local col=BrickColor.new("Really black").Color
| |
| 1985 | spm.TextureId=rbx..'132155326' | |
| 1986 | spm.Name='mesh' | |
| 1987 | spm.VertexColor=Vector3.new(0,0,0) | |
| 1988 | spm.Scale=Vector3.new(1,1,1) | |
| 1989 | addFx(allahsword,0.05,nil,function() allahsword.Transparency=allahsword.Transparency-0.05 end) | |
| 1990 | weld(ch['Right Arm'],allahsword,cfn(0,-4,-2)*ang(-180,0,mr(-25)))--(-25) | |
| 1991 | local hitbox=cp(tube,'White',Vector3.new(2,12,2)) | |
| 1992 | hitbox.Transparency=1 | |
| 1993 | hitbox.CFrame=allahsword.CFrame | |
| 1994 | dumbbox=hitbox | |
| 1995 | dumbhand=allahsword | |
| 1996 | Tween(rj,cfn()*ang(0,mr(90),0)) | |
| 1997 | Tween(rw,cfn(0.5,0.5,0.5)*ang(mr(-90),mr(-35),0)) | |
| 1998 | Tween(lw,cfn(-0.5,0.5,0.5)*ang(mr(-90),mr(35),0)) | |
| 1999 | ||
| 2000 | Delay(0.08,function() | |
| 2001 | local tstvel=int('BodyVelocity',tor)
| |
| 2002 | tstvel.MaxForce=Vector3.new(math.huge,0,math.huge) | |
| 2003 | tstvel.Velocity=tv*35 | |
| 2004 | game.Debris:AddItem(tstvel,0.24) | |
| 2005 | end) | |
| 2006 | ||
| 2007 | wait(0.22) | |
| 2008 | swoosh:Play() | |
| 2009 | spawn(function() | |
| 2010 | for i=1,10 do | |
| 2011 | wait() | |
| 2012 | local trl=allahsword:clone() | |
| 2013 | trl.Parent=tube | |
| 2014 | trl.CFrame=allahsword.CFrame | |
| 2015 | addFx(trl,0.07,'destroy',function() trl.Transparency=trl.Transparency+0.07 end) | |
| 2016 | end | |
| 2017 | end) | |
| 2018 | addFx(allahsword,.05,'destroy',function() allahsword.Transparency=allahsword.Transparency+.05 spm.Scale=spm.Scale+Vector3.new(0.1,0.1,0.1) end) | |
| 2019 | hitbox.Touched:connect(function(v) | |
| 2020 | if v and v.Parent and v.Parent:findFirstChild'Humanoid' and not v:IsDescendantOf(ch) then | |
| 2021 | --print'touched' | |
| 2022 | local can=false | |
| 2023 | if not v.Parent:findFirstChild('HitDeb') then
| |
| 2024 | can=true | |
| 2025 | end | |
| 2026 | if can==true then | |
| 2027 | local sls=getSound(220834020) | |
| 2028 | sls.Pitch=1+(math.random(3)/10) | |
| 2029 | sls.Parent=v | |
| 2030 | sls:Play() | |
| 2031 | local db=Instance.new('StringValue',v.Parent)
| |
| 2032 | db.Name='HitDeb' | |
| 2033 | game.Debris:AddItem(db,0.5) | |
| 2034 | dealDamage(v.Parent,20+math.random(20),10) | |
| 2035 | end | |
| 2036 | end | |
| 2037 | end) | |
| 2038 | Tween(rj,cfn(0,0,0)*ang(mr(0),mr(-90),0)) | |
| 2039 | Tween(rw,cfn(0.5,0.8,0)*ang(mr(-20),mr(-35),0)) --(-10) | |
| 2040 | Tween(lw,cfn(-0.5,0.8,0)*ang(mr(-20),mr(35),0)) | |
| 2041 | wait(0.2) | |
| 2042 | hitbox:Destroy() | |
| 2043 | hum.WalkSpeed=oldspeed | |
| 2044 | reset() | |
| 2045 | deb=false | |
| 2046 | animPlaying=false | |
| 2047 | canRunLeg=false | |
| 2048 | end) | |
| 2049 | ]] | |
| 2050 | ||
| 2051 | addMove('Dark Spikes','t',0.4,function()
| |
| 2052 | tor.CFrame = CFrame.new(tor.Position, Vector3.new(mouse.Hit.p.X, tor.Position.Y, mouse.Hit.p.Z)) | |
| 2053 | local lv=tor.CFrame | |
| 2054 | tweenTable={}
| |
| 2055 | animPlaying=true | |
| 2056 | deb=true | |
| 2057 | canRunLeg=true | |
| 2058 | magictone1:Play() | |
| 2059 | Tween(rj,cfn()*ang(0,mr(25),0),0.2) | |
| 2060 | Tween(rw,cfn()*ang(mr(25),mr(-20),0),0.2) | |
| 2061 | wait(0.2) | |
| 2062 | Tween(rj,cfn()*ang(0,mr(-55),0),0.15) | |
| 2063 | Tween(rw,cfn()*ang(mr(-115),mr(45),0),0.15) | |
| 2064 | Tween(neck,cfn()*ang(0,mr(55),0)) | |
| 2065 | local spot=4 | |
| 2066 | addCoolDown('Dark Spikes')
| |
| 2067 | for i=1,10 do | |
| 2068 | wait(0.1) | |
| 2069 | local v=lv.lookVector*spot | |
| 2070 | --print(v) | |
| 2071 | spot=spot+14 | |
| 2072 | local spike=cp(tube,'Really black',Vector3.new(10,1,10),true,false) | |
| 2073 | spike.CFrame=lv*CFrame.new(0,0,-spot) | |
| 2074 | local dam=cp(tube,'Really black',Vector3.new(7,14,7),true,false) | |
| 2075 | local dml=cyl(dam) | |
| 2076 | local angls=CFrame.Angles(spike.CFrame:toEulerAnglesXYZ()) | |
| 2077 | local bhit,pos=FindGround(cn(spike.CFrame.p),ch) | |
| 2078 | if bhit then | |
| 2079 | spike.CFrame=pos*CFrame.new(0,0,0) | |
| 2080 | local mgp=cp(tube,'White',Vector3.new(1,1,1),true,false) | |
| 2081 | mgp.Transparency=1 | |
| 2082 | mgp.CFrame=spike.CFrame | |
| 2083 | game.Debris:AddItem(mgp,2) | |
| 2084 | local sn=spexp:clone() | |
| 2085 | sn.Parent=mgp | |
| 2086 | sn.Volume=2 | |
| 2087 | sn:Play() | |
| 2088 | dam.CFrame=spike.CFrame*CFrame.new(0,7,0) | |
| 2089 | local blast=dam | |
| 2090 | local region=CreateRegion3FromLocAndSize(blast.Position,blast.Size*2) | |
| 2091 | local people={}
| |
| 2092 | for _,v in pairs(workspace:findPartsInRegion3WithIgnoreList(region,{ch},100)) do
| |
| 2093 | if v and v.Parent and v.className=='Part' and v.Parent:findFirstChild('Humanoid') then
| |
| 2094 | local can=false | |
| 2095 | if not v.Parent:findFirstChild('HitDeb') then
| |
| 2096 | can=true | |
| 2097 | end | |
| 2098 | if can==true then | |
| 2099 | local db=Instance.new('StringValue',v.Parent)
| |
| 2100 | db.Name='HitDeb' | |
| 2101 | game.Debris:AddItem(db,0.2) | |
| 2102 | local humin=v.Parent.Humanoid | |
| 2103 | if humin then | |
| 2104 | local php=humin.Health | |
| 2105 | dealDamage(humin.Parent,10+math.random(3),2) | |
| 2106 | local testvel=int('BodyVelocity',v)
| |
| 2107 | testvel.MaxForce=Vector3.new(math.huge,math.huge,math.huge) | |
| 2108 | testvel.Velocity=lv.lookVector*100 | |
| 2109 | game.Debris:addItem(testvel,1) | |
| 2110 | humin.Sit=true | |
| 2111 | if humin.Health>=php and humin.MaxHealth~=math.huge then | |
| 2112 | print('equal')
| |
| 2113 | humin:TakeDamage(20) | |
| 2114 | end | |
| 2115 | end | |
| 2116 | end | |
| 2117 | end | |
| 2118 | end | |
| 2119 | local cl=cyl(spike) | |
| 2120 | addFx(spike,0.05,'destroy',function() cl.Scale=cl.Scale-Vector3.new(0.05,0,0.05) spike.Transparency=spike.Transparency+0.05 end) | |
| 2121 | addFx(dml,0.05,'destroy',function() dml.Scale=dml.Scale-Vector3.new(0.05,-0.05,0.05) dam.Transparency=dam.Transparency+0.05 end) | |
| 2122 | else | |
| 2123 | spike:Destroy() | |
| 2124 | end | |
| 2125 | end | |
| 2126 | wait(0.7) | |
| 2127 | deb=false | |
| 2128 | canRunLeg=false | |
| 2129 | animPlaying=false | |
| 2130 | reset() | |
| 2131 | end,30) | |
| 2132 | ||
| 2133 | mouse.Button1Down:connect(function() | |
| 2134 | executeMove('Dark Missile')
| |
| 2135 | --print('movers:' .. #movers)
| |
| 2136 | --print('fx:' .. #fx)
| |
| 2137 | end) | |
| 2138 | ||
| 2139 | local vt | |
| 2140 | local dodgecool=false | |
| 2141 | ||
| 2142 | iPart=function(tab) --tigrebloodd | |
| 2143 | local v=Instance.new(tab.type or 'Part') | |
| 2144 | if tab.type~='CornerWedgePart' then v.formFactor='Custom' end | |
| 2145 | v.CanCollide=false | |
| 2146 | v.TopSurface=0 v.BottomSurface=0 | |
| 2147 | v.Size=v3(tab[2],tab[3],tab[4]) | |
| 2148 | if tab.co then v.BrickColor=bn(tab.co) end | |
| 2149 | if tab.tr then v.Transparency=tab.tr end | |
| 2150 | if tab.rf then v.Reflectance=tab.rf end | |
| 2151 | if tab.cf then v.CFrame=tab.cf end | |
| 2152 | if tab.an then v.Anchored=tab.an end | |
| 2153 | v.Parent=tab[1] | |
| 2154 | LastMade=v | |
| 2155 | return v | |
| 2156 | end | |
| 2157 | ||
| 2158 | iNew=function(tab) --tigrebloodd | |
| 2159 | local v=Instance.new(tab[1]) | |
| 2160 | for Ind,Val in pairs(tab) do | |
| 2161 | if Ind~=1 and Ind~=2 then | |
| 2162 | v[Ind] = Val | |
| 2163 | end | |
| 2164 | end | |
| 2165 | v.Parent=tab[2]==0 and LastMade or tab[2] | |
| 2166 | LastMade=v | |
| 2167 | return v | |
| 2168 | end | |
| 2169 | ||
| 2170 | -- Antiboomz0r's functions ----------------------------------------------------------------- | |
| 2171 | ||
| 2172 | local ppart = iPart{nil,0.2,0.2,0.2}
| |
| 2173 | ppart.Material = "SmoothPlastic" | |
| 2174 | ppart.TopSurface = "SmoothNoOutlines" | |
| 2175 | ppart.BottomSurface = "SmoothNoOutlines" | |
| 2176 | ppart.RightSurface = "SmoothNoOutlines" | |
| 2177 | ppart.LeftSurface = "SmoothNoOutlines" | |
| 2178 | ppart.Transparency=0 | |
| 2179 | ppart.Anchored=true | |
| 2180 | --ppart.Parent=tube | |
| 2181 | ||
| 2182 | local function CFrameFromTopBack(at, top, back) | |
| 2183 | local right = top:Cross(back) | |
| 2184 | return CFrame.new(at.x, at.y, at.z, | |
| 2185 | right.x, top.x, back.x, | |
| 2186 | right.y, top.y, back.y, | |
| 2187 | right.z, top.z, back.z) | |
| 2188 | end | |
| 2189 | ||
| 2190 | function Triangle(a, b, c) | |
| 2191 | local edg1 = (c-a):Dot((b-a).unit) | |
| 2192 | local edg2 = (a-b):Dot((c-b).unit) | |
| 2193 | local edg3 = (b-c):Dot((a-c).unit) | |
| 2194 | if edg1 <= (b-a).magnitude and edg1 >= 0 then | |
| 2195 | a, b, c = a, b, c | |
| 2196 | elseif edg2 <= (c-b).magnitude and edg2 >= 0 then | |
| 2197 | a, b, c = b, c, a | |
| 2198 | elseif edg3 <= (a-c).magnitude and edg3 >= 0 then | |
| 2199 | a, b, c = c, a, b | |
| 2200 | else | |
| 2201 | print("unreachable")
| |
| 2202 | end | |
| 2203 | local len1 = (c-a):Dot((b-a).unit) | |
| 2204 | local len2 = (b-a).magnitude - len1 | |
| 2205 | local width = (a + (b-a).unit*len1 - c).magnitude | |
| 2206 | local maincf = CFrameFromTopBack(a, (b-a):Cross(c-b).unit, -(b-a).unit) | |
| 2207 | local list = {}
| |
| 2208 | if len1 > 0.01 then | |
| 2209 | local w1 = iNew{
| |
| 2210 | "WedgePart", | |
| 2211 | Pack, | |
| 2212 | FormFactor="Custom", | |
| 2213 | BrickColor=ppart.BrickColor, | |
| 2214 | Transparency=ppart.Transparency, | |
| 2215 | Reflectance=ppart.Reflectance, | |
| 2216 | Material=ppart.Material, | |
| 2217 | CanCollide=ppart.CanCollide | |
| 2218 | } | |
| 2219 | w1.Parent=tube | |
| 2220 | local sz = v3(0.2, width, len1) | |
| 2221 | w1.Size = sz | |
| 2222 | local sp = iNew{"SpecialMesh",w1,MeshType="Wedge",Scale=v3(0,1,1)*sz/w1.Size}
| |
| 2223 | w1:BreakJoints() | |
| 2224 | w1.Anchored = true | |
| 2225 | w1.Transparency = 0.7 | |
| 2226 | Spawn(function() | |
| 2227 | for i=0,1,0.1 do | |
| 2228 | wait() | |
| 2229 | w1.Transparency=w1.Transparency+0.03 | |
| 2230 | end | |
| 2231 | end) | |
| 2232 | w1.CFrame = maincf*ca2(math.pi,0,math.pi/2)*cn(0,width/2,len1/2) | |
| 2233 | table.insert(list,w1) | |
| 2234 | end | |
| 2235 | if len2 > 0.01 then | |
| 2236 | local w2 = iNew{
| |
| 2237 | "WedgePart", | |
| 2238 | Pack, | |
| 2239 | FormFactor="Custom", | |
| 2240 | BrickColor=ppart.BrickColor, | |
| 2241 | Transparency=ppart.Transparency, | |
| 2242 | Reflectance=ppart.Reflectance, | |
| 2243 | Material=ppart.Material, | |
| 2244 | CanCollide=ppart.CanCollide | |
| 2245 | } | |
| 2246 | local sz = v3(0.2, width, len2) | |
| 2247 | w2.Size = sz | |
| 2248 | local sp = iNew{"SpecialMesh",w2,MeshType="Wedge",Scale=v3(0,1,1)*sz/w2.Size}
| |
| 2249 | w2:BreakJoints() | |
| 2250 | w2.Anchored = true | |
| 2251 | w2.Transparency = 0.7 | |
| 2252 | Spawn(function() | |
| 2253 | for i=0,1,0.1 do | |
| 2254 | wait() | |
| 2255 | w2.Transparency=w2.Transparency+0.03 | |
| 2256 | end | |
| 2257 | end) | |
| 2258 | w2.CFrame = maincf*ca2(math.pi,math.pi,-math.pi/2)*cn(0,width/2,-len1 - len2/2) | |
| 2259 | w2.Parent=tube | |
| 2260 | table.insert(list,w2) | |
| 2261 | end | |
| 2262 | return unpack(list) | |
| 2263 | end | |
| 2264 | ||
| 2265 | bclf=ch['Right Arm'].CFrame | |
| 2266 | scfr=bclf | |
| 2267 | ||
| 2268 | --[[ | |
| 2269 | while wait() do--test | |
| 2270 | ||
| 2271 | local h=3.8 | |
| 2272 | local a,b=Triangle(scfr*CFrame.new(0,h/2,0).p,scfr*CFrame.new(0,-h/2,0).p,scfr*CFrame.new(0,h/2,0).p) | |
| 2273 | scfr=bclf | |
| 2274 | bclf=ch['Right Arm'].CFrame | |
| 2275 | local a,b=Triangle(bclf*CFrame.new(0,h/2,0).p,bclf*CFrame.new(0,-h/2,0).p,bclf*CFrame.new(0,h/2,0).p) | |
| 2276 | print(a.Parent) | |
| 2277 | print(a.CFrame) | |
| 2278 | end | |
| 2279 | ]] | |
| 2280 | ||
| 2281 | -- Antiboomz0r's functions ----------------------------------------------------------------- | |
| 2282 | ||
| 2283 | -------------------tigrebloodd functions------------------------------ | |
| 2284 | ||
| 2285 | ca=CFrame.Angles | |
| 2286 | cn=CFrame.new | |
| 2287 | v3=Vector3.new | |
| 2288 | ||
| 2289 | function Raycast(Pos,Dir,Ign) | |
| 2290 | return workspace:FindPartOnRay(Ray.new(Pos,Dir.unit*300),Ign) | |
| 2291 | end | |
| 2292 | ||
| 2293 | function FindGround(cf,ig) | |
| 2294 | local ax,ay,az = cf:toEulerAnglesXYZ() | |
| 2295 | local bhit,bpos=Raycast(cf.p,cf.p-(cf.p+v3(0,200,0)),ig) | |
| 2296 | if bhit and bpos then | |
| 2297 | return bhit,cn(bpos)*ca(ax,ay,az) | |
| 2298 | end | |
| 2299 | end | |
| 2300 | -------------------tigrebloodd functions---------------------------- | |
| 2301 | ||
| 2302 | currentkey='' | |
| 2303 | ||
| 2304 | mouse.KeyDown:connect(function(key) | |
| 2305 | if key=='q' and currentkey=='32' and Vector3.new(0,tor.Velocity.Y,0).magnitude>2 then | |
| 2306 | executeMove('Down Slam')
| |
| 2307 | elseif key=='r' and currentkey=='32' and Vector3.new(0,tor.Velocity.Y,0).magnitude>2 then | |
| 2308 | executeMove('Aerial Sword')
| |
| 2309 | end | |
| 2310 | if string.byte(key)==32 and canExecuteMoves==true then | |
| 2311 | combostring=combostring..'.' | |
| 2312 | spawn(function() | |
| 2313 | jump() | |
| 2314 | end) | |
| 2315 | --jump() | |
| 2316 | if combostring:match('..') and dodgecool==false then
| |
| 2317 | currentkey=tostring(string.byte(key)) | |
| 2318 | animPlaying=true | |
| 2319 | altTween(rj,cfn()*ang(mr(-15),0,0)) | |
| 2320 | altTween(rw,cfn()*ang(mr(10),0,mr(-15))) | |
| 2321 | altTween(lw,cfn()*ang(mr(10),0,mr(15))) | |
| 2322 | dodgecool=true | |
| 2323 | combostring=[[]] | |
| 2324 | local rv=tor.CFrame.upVector | |
| 2325 | local bv=int('BodyVelocity',tor)
| |
| 2326 | dodgesound:Play() | |
| 2327 | bv.MaxForce=Vector3.new(math.huge,math.huge,math.huge) | |
| 2328 | bv.Velocity=rv*150 | |
| 2329 | spawn(function() | |
| 2330 | for i=1,14 do | |
| 2331 | wait() | |
| 2332 | local cfx=cp(tube,'Really black',Vector3.new(6,6,6),true,false) | |
| 2333 | --cfx.Material='Neon' | |
| 2334 | local ran=math.random(2) | |
| 2335 | if ran==1 then | |
| 2336 | cfx.BrickColor=BrickColor.new('Bright red')
| |
| 2337 | cfx.Material='Neon' | |
| 2338 | end | |
| 2339 | cfx.CFrame=tor.CFrame*CFrame.Angles(math.rad(math.random(90)),math.rad(math.random(90)),0) | |
| 2340 | local b=blo(cfx) | |
| 2341 | addFx(cfx,0.05,'destroy',function() | |
| 2342 | cfx.Transparency=cfx.Transparency+0.05 | |
| 2343 | b.Scale=b.Scale+Vector3.new(0.1,0.1,0.1) | |
| 2344 | end) | |
| 2345 | end | |
| 2346 | end) | |
| 2347 | wait() | |
| 2348 | bv:Destroy() | |
| 2349 | wait(0.4) | |
| 2350 | reset() | |
| 2351 | dodgecool=false | |
| 2352 | wait(0.4) | |
| 2353 | if currentkey=='32' then | |
| 2354 | currentkey='' | |
| 2355 | end | |
| 2356 | if not deb then | |
| 2357 | animPlaying=false | |
| 2358 | end | |
| 2359 | --repeat wait() until Vector3.new(0,tor.Velocity.Y,0).magnitude<2 | |
| 2360 | --currentkey | |
| 2361 | end | |
| 2362 | elseif string.byte(key)==48 and canExecuteMoves==true then | |
| 2363 | sprinting=true | |
| 2364 | hum.WalkSpeed=24 | |
| 2365 | end | |
| 2366 | if key=='d' and canExecuteMoves==true then | |
| 2367 | combostring=combostring..'d' | |
| 2368 | if combostring:match('dd') and dodgecool==false then
| |
| 2369 | --animPlaying=true | |
| 2370 | dodgecool=true | |
| 2371 | combostring=[[]] | |
| 2372 | local rv=cam.CFrame.rightVector | |
| 2373 | local bv=int('BodyVelocity',tor)
| |
| 2374 | dodgesound:Play() | |
| 2375 | bv.MaxForce=Vector3.new(math.huge,math.huge,math.huge) | |
| 2376 | bv.Velocity=rv*150 | |
| 2377 | --Tween(rj,cfn()*ang(mr(90),0,0)) | |
| 2378 | spawn(function() | |
| 2379 | for i=1,16 do | |
| 2380 | wait() | |
| 2381 | local cfx=cp(tube,'Really black',Vector3.new(6,6,6),true,false) | |
| 2382 | local ran=math.random(2) | |
| 2383 | if ran==1 then | |
| 2384 | cfx.BrickColor=BrickColor.new('Bright red')
| |
| 2385 | cfx.Material='Neon' | |
| 2386 | end | |
| 2387 | --cfx.Material='Neon' | |
| 2388 | cfx.CFrame=tor.CFrame*CFrame.Angles(math.rad(math.random(90)),math.rad(math.random(90)),0) | |
| 2389 | local b=blo(cfx) | |
| 2390 | addFx(cfx,0.05,'destroy',function() | |
| 2391 | cfx.Transparency=cfx.Transparency+0.05 | |
| 2392 | b.Scale=b.Scale+Vector3.new(0.1,0.1,0.1) | |
| 2393 | end) | |
| 2394 | end | |
| 2395 | end) | |
| 2396 | wait() | |
| 2397 | bv:Destroy() | |
| 2398 | wait(0.4) | |
| 2399 | dodgecool=false | |
| 2400 | end | |
| 2401 | elseif key=='w' and canExecuteMoves==true then | |
| 2402 | combostring=combostring..'w' | |
| 2403 | if combostring:match('ww') and dodgecool==false then
| |
| 2404 | dodgecool=true | |
| 2405 | combostring="" | |
| 2406 | local rv=cam.CFrame:vectorToWorldSpace(Vector3.new(0,0,-1)) | |
| 2407 | --tor.CFrame=CFrame.new(tor.Position,Vector3.new(rv.X,tor.Position.Y,rv.Z)) | |
| 2408 | local bv=int('BodyVelocity',tor)
| |
| 2409 | dodgesound:Play() | |
| 2410 | bv.MaxForce=Vector3.new(math.huge,0,math.huge) | |
| 2411 | bv.Velocity=rv*150 | |
| 2412 | spawn(function() | |
| 2413 | for i=1,16 do | |
| 2414 | wait() | |
| 2415 | local cfx=cp(tube,'Really black',Vector3.new(6,6,6),true,false) | |
| 2416 | --cfx.Material='Neon' | |
| 2417 | local ran=math.random(2) | |
| 2418 | if ran==1 then | |
| 2419 | cfx.BrickColor=BrickColor.new('Bright red')
| |
| 2420 | cfx.Material='Neon' | |
| 2421 | end | |
| 2422 | cfx.CFrame=tor.CFrame*CFrame.Angles(math.rad(math.random(90)),math.rad(math.random(90)),0) | |
| 2423 | local b=blo(cfx) | |
| 2424 | addFx(cfx,0.05,'destroy',function() | |
| 2425 | cfx.Transparency=cfx.Transparency+0.05 | |
| 2426 | b.Scale=b.Scale+Vector3.new(0.1,0.1,0.1) | |
| 2427 | end) | |
| 2428 | end | |
| 2429 | end) | |
| 2430 | wait() | |
| 2431 | bv:Destroy() | |
| 2432 | wait(0.4) | |
| 2433 | dodgecool=false | |
| 2434 | end | |
| 2435 | elseif key=='s' and canExecuteMoves==true then | |
| 2436 | combostring=combostring..'s' | |
| 2437 | if combostring:match('ss') and dodgecool==false then
| |
| 2438 | dodgecool=true | |
| 2439 | combostring="" | |
| 2440 | local rv=cam.CFrame:vectorToWorldSpace(Vector3.new(0,0,1)) | |
| 2441 | local bv=int('BodyVelocity',tor)
| |
| 2442 | dodgesound:Play() | |
| 2443 | bv.MaxForce=Vector3.new(math.huge,0,math.huge) | |
| 2444 | bv.Velocity=rv*150 | |
| 2445 | spawn(function() | |
| 2446 | for i=1,16 do | |
| 2447 | wait() | |
| 2448 | local cfx=cp(tube,'Really black',Vector3.new(6,6,6),true,false) | |
| 2449 | --cfx.Material='Neon' | |
| 2450 | local ran=math.random(2) | |
| 2451 | if ran==1 then | |
| 2452 | cfx.BrickColor=BrickColor.new('Bright red')
| |
| 2453 | cfx.Material='Neon' | |
| 2454 | end | |
| 2455 | cfx.CFrame=tor.CFrame*CFrame.Angles(math.rad(math.random(90)),math.rad(math.random(90)),0) | |
| 2456 | local b=blo(cfx) | |
| 2457 | addFx(cfx,0.05,'destroy',function() | |
| 2458 | cfx.Transparency=cfx.Transparency+0.05 | |
| 2459 | b.Scale=b.Scale+Vector3.new(0.1,0.1,0.1) | |
| 2460 | end) | |
| 2461 | end | |
| 2462 | end) | |
| 2463 | wait() | |
| 2464 | bv:Destroy() | |
| 2465 | wait(.4) | |
| 2466 | dodgecool=false | |
| 2467 | end | |
| 2468 | elseif key=='a' and canExecuteMoves==true then | |
| 2469 | combostring=combostring..'a' | |
| 2470 | if combostring:match('aa') and dodgecool==false then
| |
| 2471 | dodgecool=true | |
| 2472 | combostring=[[]] | |
| 2473 | local rv=cam.CFrame.rightVector | |
| 2474 | local bv=int('BodyVelocity',tor)
| |
| 2475 | dodgesound:Play() | |
| 2476 | bv.MaxForce=Vector3.new(math.huge,math.huge,math.huge) | |
| 2477 | bv.Velocity=rv*-150 | |
| 2478 | spawn(function() | |
| 2479 | for i=1,16 do | |
| 2480 | wait() | |
| 2481 | local cfx=cp(tube,'Really black',Vector3.new(6,6,6),true,false) | |
| 2482 | --cfx.Material='Neon' | |
| 2483 | local ran=math.random(2) | |
| 2484 | if ran==1 then | |
| 2485 | cfx.BrickColor=BrickColor.new('Bright red')
| |
| 2486 | cfx.Material='Neon' | |
| 2487 | end | |
| 2488 | cfx.CFrame=tor.CFrame*CFrame.Angles(math.rad(math.random(90)),math.rad(math.random(90)),0) | |
| 2489 | local b=blo(cfx) | |
| 2490 | addFx(cfx,0.05,'destroy',function() | |
| 2491 | cfx.Transparency=cfx.Transparency+0.05 | |
| 2492 | b.Scale=b.Scale+Vector3.new(0.1,0.1,0.1) | |
| 2493 | end) | |
| 2494 | end | |
| 2495 | end) | |
| 2496 | wait() | |
| 2497 | bv:Destroy() | |
| 2498 | wait(.4) | |
| 2499 | dodgecool=false | |
| 2500 | end | |
| 2501 | end | |
| 2502 | if key=='f' then | |
| 2503 | if deb==false then | |
| 2504 | executeMove('Normal Block')
| |
| 2505 | end | |
| 2506 | elseif key=='e' then | |
| 2507 | if deb==false then | |
| 2508 | executeMove('Rive Beam')
| |
| 2509 | end | |
| 2510 | elseif key=='v' then | |
| 2511 | if deb==false then | |
| 2512 | executeMove('Diamond Storm')
| |
| 2513 | end | |
| 2514 | elseif key=='t' then | |
| 2515 | if deb==false and not sprinting then | |
| 2516 | executeMove('Dark Spikes')
| |
| 2517 | end | |
| 2518 | elseif key=='g' then | |
| 2519 | if deb==false then | |
| 2520 | executeMove('Curse')
| |
| 2521 | end | |
| 2522 | elseif key=='l' then | |
| 2523 | if deb==false then | |
| 2524 | executeMove('Ascend')
| |
| 2525 | end | |
| 2526 | elseif key=='r' then | |
| 2527 | if deb==false and Vector3.new(0,tor.Velocity.Y,0).magnitude<2 and currentkey~='32' then | |
| 2528 | -- if darknum==1 then | |
| 2529 | executeMove('Dark Slash')
| |
| 2530 | --darknum=darknum+1 | |
| 2531 | -- else | |
| 2532 | -- executeMove('Dark Slash2')
| |
| 2533 | -- darknum=1 | |
| 2534 | -- end | |
| 2535 | end | |
| 2536 | end | |
| 2537 | end) | |
| 2538 | ||
| 2539 | mouse.KeyUp:connect(function(key) | |
| 2540 | for _,v in pairs(connectlist) do | |
| 2541 | if v.up==false and v.key==key then | |
| 2542 | v.up=true | |
| 2543 | table.remove(connectlist,_) | |
| 2544 | end | |
| 2545 | end | |
| 2546 | if string.byte(key)==48 and canExecuteMoves==true then | |
| 2547 | sprinting=false | |
| 2548 | hum.WalkSpeed=regws | |
| 2549 | end | |
| 2550 | end) | |
| 2551 | ||
| 2552 | mouse.Button1Up:connect(function() | |
| 2553 | for _,v in pairs(connectlist) do | |
| 2554 | if v.up==false then | |
| 2555 | v.up=true | |
| 2556 | table.remove(connectlist,_) | |
| 2557 | end | |
| 2558 | end | |
| 2559 | end) | |
| 2560 | ||
| 2561 | local oldsize=mana/maxmana | |
| 2562 | local oldchain=0 | |
| 2563 | spawn(function() | |
| 2564 | while wait(1) do | |
| 2565 | if deb==false then | |
| 2566 | if chain==oldchain then | |
| 2567 | chain=0 | |
| 2568 | end | |
| 2569 | oldchain=chain | |
| 2570 | end | |
| 2571 | end | |
| 2572 | end) | |
| 2573 | ||
| 2574 | --tor.Anchored=true | |
| 2575 | --cam.CameraType='Track' | |
| 2576 | ||
| 2577 | --[[ | |
| 2578 | local segments={}
| |
| 2579 | local head=cp(tube,'Really black',Vector3.new(1,1,1)) | |
| 2580 | weld(tor,head,cfn()) | |
| 2581 | local oldsg=head | |
| 2582 | --local linez=drawLine(oldsg.CFrame.p,ch.Head.CFrame.p,'White') | |
| 2583 | --linez.Parent=tube | |
| 2584 | ||
| 2585 | for _,v in pairs(ch:GetChildren()) do | |
| 2586 | if v.className=='Part' or v.className=='BasePart' then | |
| 2587 | v.Transparency=1 | |
| 2588 | v.CanCollide=false | |
| 2589 | end | |
| 2590 | end | |
| 2591 | ||
| 2592 | ch.Head.face:Destroy() | |
| 2593 | ch['Right Arm']:Destroy() | |
| 2594 | ch['Left Arm']:Destroy() | |
| 2595 | ch['Right Leg']:Destroy() | |
| 2596 | ch['Left Leg']:Destroy() | |
| 2597 | tor.CanCollide=false | |
| 2598 | ch.HumanoidRootPart.CanCollide=false | |
| 2599 | ||
| 2600 | for _,v in pairs(tube:GetChildren()) do | |
| 2601 | if v.className=='Part' or v.className=='BasePart' then | |
| 2602 | v.Transparency=1 | |
| 2603 | v.CanCollide=false | |
| 2604 | end | |
| 2605 | end | |
| 2606 | ||
| 2607 | ]] | |
| 2608 | ||
| 2609 | game:service'RunService'.Heartbeat:connect(function() | |
| 2610 | --oldsg=head | |
| 2611 | --[[ | |
| 2612 | if ascension==true and aright==true then | |
| 2613 | abv.Velocity=cam.CFrame.rightVector * 100 | |
| 2614 | elseif ascension==true and aforward==true then | |
| 2615 | abv.Velocity=cam.CFrame.lookVector*150 | |
| 2616 | end | |
| 2617 | local line=drawLine(oldsg.CFrame.p,ch.Head.CFrame.p,'Really black',nil,1,7) | |
| 2618 | if line then | |
| 2619 | line.Parent=tube | |
| 2620 | table.insert(segments,line) | |
| 2621 | oldsg=line | |
| 2622 | end | |
| 2623 | if #segments>=40 then | |
| 2624 | --segments[1]:Destroy() | |
| 2625 | local thing=segments[1] | |
| 2626 | for i=1,10 do | |
| 2627 | wait() | |
| 2628 | if thing and thing:findFirstChild'blok' then | |
| 2629 | thing.blok.Scale=thing.blok.Scale-Vector3.new(0.1,0.1,0.1) | |
| 2630 | thing.Transparency=thing.Transparency+0.1 | |
| 2631 | end | |
| 2632 | end | |
| 2633 | thing:Destroy() | |
| 2634 | table.remove(segments,1) | |
| 2635 | end | |
| 2636 | ]] | |
| 2637 | --tor.CFrame=cam.CFrame | |
| 2638 | --cam.CameraSubject=nil | |
| 2639 | chaintext.Text=tostring(chain) .. 'x' | |
| 2640 | manabartext.Text=tostring(mana)..'/'..tostring(maxmana) | |
| 2641 | if mana/maxmana~=oldsize then | |
| 2642 | manabar:TweenSize(UDim2.new(mana/maxmana,0,1,0),'Out','Sine',1,true) | |
| 2643 | oldsize=mana/maxmana | |
| 2644 | end | |
| 2645 | if dumbbox then | |
| 2646 | dumbbox.CFrame=dumbhand.CFrame*cfn(0,0,4)*ang(mr(-90),0,0) | |
| 2647 | end | |
| 2648 | for _,v in pairs(textTable) do | |
| 2649 | if v.TextLabel.TextTransparency<1 then | |
| 2650 | v.TextLabel.TextTransparency=v.TextLabel.TextTransparency+0.02 | |
| 2651 | v.TextLabel.TextStrokeTransparency=v.TextLabel.TextStrokeTransparency+0.02 | |
| 2652 | v.StudsOffset=v.StudsOffset+Vector3.new(0,0.02,0) | |
| 2653 | else | |
| 2654 | v:Destroy() | |
| 2655 | table.remove(textTable,_) | |
| 2656 | end | |
| 2657 | end | |
| 2658 | if Vector3.new(tor.Velocity.X,0,tor.Velocity.Z).magnitude>2 and jumping==false then | |
| 2659 | run=true | |
| 2660 | elseif Vector3.new(tor.Velocity.X,0,tor.Velocity.Z).magnitude<2 and jumping==false then | |
| 2661 | run=false | |
| 2662 | idle=true | |
| 2663 | end | |
| 2664 | --shift=48 | |
| 2665 | if Vector3.new(tor.Velocity.X,0,tor.Velocity.Z).magnitude>2 and canRunLeg==true then | |
| 2666 | runLeg=true | |
| 2667 | elseif Vector3.new(tor.Velocity.X,0,tor.Velocity.Z).magnitude<2 and canRunLeg==true then | |
| 2668 | runLeg=false | |
| 2669 | resetLegs() | |
| 2670 | end | |
| 2671 | for _,v in pairs(movers) do | |
| 2672 | if v.mover and v.mover:IsDescendantOf(tube) then | |
| 2673 | v.func() | |
| 2674 | else | |
| 2675 | table.remove(movers,_) | |
| 2676 | end | |
| 2677 | end | |
| 2678 | if bg then | |
| 2679 | if hum.Health > 0 then | |
| 2680 | tor.CFrame = CFrame.new(tor.Position, Vector3.new(mouse.Hit.p.X, tor.Position.Y, mouse.Hit.p.Z)) | |
| 2681 | end | |
| 2682 | end | |
| 2683 | for _,v in pairs(fx) do | |
| 2684 | if v.stepval<1 then | |
| 2685 | v.func() | |
| 2686 | v.stepval=v.stepval+v.int | |
| 2687 | else | |
| 2688 | if v.final then | |
| 2689 | if v.final=='destroy' then | |
| 2690 | v.item:Destroy() | |
| 2691 | table.remove(fx,_) | |
| 2692 | -- print(#fx) | |
| 2693 | end | |
| 2694 | else | |
| 2695 | table.remove(fx,_) | |
| 2696 | end | |
| 2697 | end | |
| 2698 | end | |
| 2699 | for _,v in pairs(tweenTable) do | |
| 2700 | if v.Weld.C1==v.Stop then | |
| 2701 | table.remove(tweenTable,_) | |
| 2702 | else | |
| 2703 | if v.th<1-v.Step then | |
| 2704 | v.th=v.th+v.Step | |
| 2705 | i=v.th | |
| 2706 | ||
| 2707 | v.Weld.C1 = v.Weld.C1:lerp(CFrame.new( (v.Start.p.X * (1 - i)) + (v.Stop.p.X * i), | |
| 2708 | (v.Start.p.Y * (1 - i)) + (v.Stop.p.Y * i), | |
| 2709 | (v.Start.p.Z * (1 - i)) + (v.Stop.p.Z * i)) * CFrame.fromEulerAnglesXYZ( | |
| 2710 | (v.X1 * (1 - i)) + (v.X2 * i), (v.Y1 * (1 - i)) + (v.Y2 * i), | |
| 2711 | (v.Z1 * (1 - i)) + (v.Z2 * i) ),1) | |
| 2712 | else | |
| 2713 | v.Weld.C1 = v.Stop | |
| 2714 | end | |
| 2715 | end | |
| 2716 | end | |
| 2717 | for _,v in pairs(altTweenTable) do | |
| 2718 | if v.Weld.C1==v.Stop then | |
| 2719 | table.remove(tweenTable,_) | |
| 2720 | else | |
| 2721 | if v.th<1-v.Step then | |
| 2722 | v.th=v.th+v.Step | |
| 2723 | i=v.th | |
| 2724 | v.Weld.C1 = v.Weld.C1:lerp(CFrame.new( (v.Start.p.X * (1 - i)) + (v.Stop.p.X * i), | |
| 2725 | (v.Start.p.Y * (1 - i)) + (v.Stop.p.Y * i), | |
| 2726 | (v.Start.p.Z * (1 - i)) + (v.Stop.p.Z * i)) * CFrame.fromEulerAnglesXYZ( | |
| 2727 | (v.X1 * (1 - i)) + (v.X2 * i), (v.Y1 * (1 - i)) + (v.Y2 * i), | |
| 2728 | (v.Z1 * (1 - i)) + (v.Z2 * i) ),1) | |
| 2729 | else | |
| 2730 | v.Weld.C1 = v.Stop | |
| 2731 | end | |
| 2732 | end | |
| 2733 | end | |
| 2734 | end) | |
| 2735 | ||
| 2736 | local oldcombo | |
| 2737 | local thingz=false | |
| 2738 | ||
| 2739 | spawn(function() | |
| 2740 | while wait(0.1) do | |
| 2741 | for _,v in pairs(cooldowns) do | |
| 2742 | if v.timeleft<0.1 then | |
| 2743 | table.remove(cooldowns,_) | |
| 2744 | else | |
| 2745 | v.timeleft=v.timeleft-0.1 | |
| 2746 | end | |
| 2747 | end | |
| 2748 | if thingz==false then | |
| 2749 | oldcombo=combostring | |
| 2750 | thingz=true | |
| 2751 | else | |
| 2752 | if string.len(oldcombo)==string.len(combostring) then | |
| 2753 | combostring=[[]] | |
| 2754 | oldcombo=[[]] | |
| 2755 | end | |
| 2756 | thingz=false | |
| 2757 | end | |
| 2758 | end | |
| 2759 | end) | |
| 2760 | ||
| 2761 | spawn(function() | |
| 2762 | while wait(0.3) do | |
| 2763 | if run==false then | |
| 2764 | local cfx=cp(tube,'Really black',Vector3.new(0.4,0.4,0.4),true) | |
| 2765 | cfx.Transparency=1 | |
| 2766 | local rfx=cp(tube,'Really black',Vector3.new(0.4,0.4,0.4),true) | |
| 2767 | rfx.Material='Neon' | |
| 2768 | local ran=math.random(2) | |
| 2769 | if ran==1 then | |
| 2770 | rfx.BrickColor=BrickColor.new('Bright red')
| |
| 2771 | end | |
| 2772 | local bm=int('SpecialMesh',rfx)--blo(rfx)
| |
| 2773 | bm.MeshType='FileMesh' | |
| 2774 | bm.MeshId=rbx..'9756362' | |
| 2775 | bm.Scale=Vector3.new(0.3,0.7,0.3) | |
| 2776 | local angls=ang(mr(math.random(90)),mr(math.random(90)),mr(math.random(90))) | |
| 2777 | addFx(cfx,0.02,'destroy',function() rfx.Transparency=rfx.Transparency+0.02 rfx.CFrame=cfx.CFrame*angls cfx.CFrame=cfx.CFrame*CFrame.new(0,0.1,0) --[[bm.Scale=bm.Scale+Vector3.new(0.02,0.02,0.02)]] end) | |
| 2778 | cfx.CFrame=tor.CFrame*CFrame.new(0,-2,0)*CFrame.new(math.random(-math.random(45/10),math.random(45)/10),0,math.random(-math.random(45)/10,math.random(45)/10)) | |
| 2779 | rfx.CFrame=cfx.CFrame*angls*CFrame.Angles(math.rad(-90),0,0) | |
| 2780 | game.Debris:AddItem(cfx,1.1) | |
| 2781 | game.Debris:AddItem(rfx,1.1) | |
| 2782 | end | |
| 2783 | end | |
| 2784 | end) | |
| 2785 | ||
| 2786 | while wait() do | |
| 2787 | if mana<maxmana and not deb and not animPlaying then | |
| 2788 | mana=mana+2 | |
| 2789 | if mana==maxmana+1 then | |
| 2790 | mana=maxmana | |
| 2791 | end | |
| 2792 | end | |
| 2793 | if animPlaying==true and runLeg==true then | |
| 2794 | walkLegs() | |
| 2795 | end | |
| 2796 | if run==true and animPlaying==false then | |
| 2797 | altTweenTable={}
| |
| 2798 | tweenTable={}
| |
| 2799 | if not sprinting then | |
| 2800 | if not ascension then | |
| 2801 | walkCycle() | |
| 2802 | else | |
| 2803 | walkCycleBig() | |
| 2804 | end | |
| 2805 | else | |
| 2806 | sprintCycle() | |
| 2807 | end | |
| 2808 | elseif idle==true and animPlaying==false and not jumping then | |
| 2809 | tweenTable={}
| |
| 2810 | if not ascension then | |
| 2811 | reset() | |
| 2812 | else | |
| 2813 | bigreset() | |
| 2814 | end | |
| 2815 | end | |
| 2816 | end |