//The program does some interesting things if you click and hold as you drag the mouse outside the workspace
//Makes Arcanus look real evil if you go past the top left, or just explode if you go past the bottom right
void setup() {
//Sets the size of the window
size(400, 400);
}
void draw() {
//Resets the framerate to 60fps after clicking
frameRate(60);
//Draws the background to refresh the workspace
background((mouseX+mouseY)/100,(mouseX+mouseY)/33.33,(mouseX+mouseY)/16.6666);
//
////
//////
//"Particle effect"
//////
////
//
//Makes the stroke thick when the mouse is in the bottom right
strokeWeight(abs((mouseX+mouseY)/53.33+5));
//Slightly shifts the blue lighter at the bottom right
stroke((mouseX+mouseY)/16.666+115,(mouseX+mouseY)/29.6296+196,(mouseX+mouseY)/40+240,(mouseX+mouseY)/8+60);
//Inner section starts as a faded blue then bright blue-white at the bottom right
fill((mouseX+mouseY)/2.116+66,(mouseX+mouseY)/6.66+189,255,(mouseX+mouseY)/5+100);
//Two rectangles that begin -50 pixels off the window and approach the right at slightly different speeds
//Tan functions accelerate towards infinity then reset so I used them to make objects that respawn at the side
//The * inside the backets dictates speed/severity while the * outside it dictates the range (or the how far until the object begins to accelerate)
rect(tan(frameCount*0.01)*150-50,-50 ,(mouseX+mouseY)/40+10,4000);
rect(tan(frameCount*0.009)*150-50,-50 ,(mouseX+mouseY)/40+30,4000);
rect(tan(frameCount*0.008)*150-50,-50 ,(mouseX+mouseY)/40+20,4000);
//The little magic circles floating up in the background
ellipse(-5, (-1)*tan(frameCount*0.009)*200,(mouseX+mouseY)/30+5,(mouseX+mouseY)/30+5);
ellipse(43, (-1)*tan(frameCount*0.015)*200,(mouseX+mouseY)/30+5,(mouseX+mouseY)/30+5);
ellipse(97, (-1)*tan(frameCount*0.01)*200,(mouseX+mouseY)/30+5,(mouseX+mouseY)/30+5);
ellipse(193, (-1)*tan(frameCount*0.011)*200,(mouseX+mouseY)/30+5,(mouseX+mouseY)/30+5);
ellipse(266, (-1)*tan(frameCount*0.018)*200,(mouseX+mouseY)/30+5,(mouseX+mouseY)/30+5);
ellipse(321, (-1)*tan(frameCount*0.012)*200,(mouseX+mouseY)/30+5,(mouseX+mouseY)/30+5);
ellipse(373, (-1)*tan(frameCount*0.016)*200,(mouseX+mouseY)/30+5,(mouseX+mouseY)/30+5);
ellipse(413, (-1)*tan(frameCount*0.007)*200,(mouseX+mouseY)/30+5,(mouseX+mouseY)/30+5);
//Removes the stroke after the particles
noStroke();
//
////
//////
//Torso Section
//////
////
//
//Beige (All fills from this point on transition to lighter versions of the colour as the mouse reaches 400,400)
//Objects infront of the spell get darker instead (Fingers for example)
fill((mouseX+mouseY)/28.5714+148,(mouseX+mouseY)/16.3265+130,(mouseX+mouseY)/11.42857+95);
//Shoulders
ellipse(0, 260+(mouseY/20), 170, 170);
ellipse(400, 260+(mouseY/20), 170, 170);
//Dark blue
fill((mouseX+mouseY)/11.9402+23,(mouseX+mouseY)/11.9402+62,(mouseX+mouseY)/16+119);
//Body
curve(20, 1465+(mouseY/40), 30, 340+(mouseY/40), 370, 340+(mouseY/40), 380, 1465+(mouseY/40));
quad(30, 340+(mouseY/40), 370, 340+(mouseY/40), 360, 400+(mouseY/40), 40, 400+(mouseY/40));
//Faded light gray blue
fill(194-(mouseX+mouseY)/100,(mouseX+mouseY)/100+204,(mouseX+mouseY)/80+219);
//Lighter vest stripes
quad(100, 260+(mouseY/40), 130, 230+(mouseY/40), 130, 430+(mouseY/40), 100, 430+(mouseY/40));
quad(160, 220+(mouseY/40), 190, 220+(mouseY/40), 190, 430+(mouseY/40), 160, 430+(mouseY/40));
quad(220, 220+(mouseY/40), 250, 220+(mouseY/40), 250, 430+(mouseY/40), 220, 430+(mouseY/40));
quad(280, 230+(mouseY/40), 310, 295+(mouseY/40), 310, 430+(mouseY/40), 280, 430+(mouseY/40));
//Dark gray blue
fill((mouseX+mouseY)/12.6984+89,(mouseX+mouseY)/11.4285+104,(mouseX+mouseY)/12.5+126);
//Darker vest stripes
quad(80, 320+(mouseY/40), 100, 260+(mouseY/40), 100, 420+(mouseY/40), 95, 420+(mouseY/40));
rect(130, 230+(mouseY/40), 30, 350+(mouseY/40));
rect(190, 220+(mouseY/40), 30, 350+(mouseY/40));
rect(250, 230+(mouseY/40), 30, 350+(mouseY/40));
quad(310, 295+(mouseY/40), 320, 320+(mouseY/40), 310, 400+(mouseY/40), 310, 400+(mouseY/40));
//ect(310,300, 20,350);
//Blue
fill((mouseX+mouseY)/18.60465+27,(mouseX+mouseY)/22.2222+81,(mouseX+mouseY)/40+161);
//Lapels
quad(80,320+(mouseY/40), 110,250+(mouseY/40), 40,300+(pmouseY/20), 100,420+(mouseY/40));
quad(320,320+(mouseY/40), 290,250+(mouseY/40), 360,300+(pmouseY/20), 300,420+(mouseY/40));
//White cream colour
fill(232-(mouseX+mouseY)/88.88888,229-(mouseX+mouseY)/800,(mouseX+mouseY)/100+224);
//Undershirt
triangle(200, 300+(mouseY/40), 140, 220+(mouseY/40), 260, 220+(mouseY/40));
//Shirt collar
ellipse(200, 225+(mouseY/40), 160, 65+(mouseY/40));
//Near black
fill(20);
//Neck hole (Gets taller/shorter to simulate 3D)
ellipse(200, 225+(mouseY/40), 120, 35+(mouseY/40));
//White cream colour
fill(232-(mouseX+mouseY)/88.88888,229-(mouseX+mouseY)/800,(mouseX+mouseY)/100+224);
//collar front (Places infront of the neck hole)
//left
quad(130, 210+(mouseY/40), 170, 230+(mouseY/40), 190, 250+(mouseY/40), 130, 240+(mouseY/40));
//right
quad(270, 210+(mouseY/40), 230, 230+(mouseY/40), 210, 250+(mouseY/40), 270, 240+(mouseY/40));
//Desaturated gold colour
fill((mouseX+mouseY)/266.666+198,(mouseX+mouseY)/53.333+189,(mouseX+mouseY)/15.6862+113);
//Buttons
ellipse(195, 320+(mouseY/40), 30, 30);
ellipse(195, 380+(mouseY/40), 30, 30);
//Leftbow
bezier(100, 261.5+(pmouseY/20), 100, 200+(pmouseY/20), 120, 200+(pmouseY/20), 200, 260+(mouseY/40));
bezier(100, 260+(pmouseY/20), 100, 320+(pmouseY/20), 120, 320+(pmouseY/20), 200, 260+(mouseY/40));
//Right bow
bezier(300, 261.5+(pmouseY/20), 300, 200+(pmouseY/20), 280, 200+(pmouseY/20), 200, 260+(mouseY/40));
bezier(300, 260+(pmouseY/20), 300, 320+(pmouseY/20), 280, 320+(pmouseY/20), 200, 260+(mouseY/40));
//Edges bounce slightly due to pmouse
//Slightly brighter gold
fill((mouseX+mouseY)/266.666+205,(mouseX+mouseY)/53.333+196,(mouseX+mouseY)/15.6862+120);
//Bowtie center
ellipse(200, 260+(mouseY/40), 40, 40);
//
////
//////
//Head section
//////
////
//
//Same colour used by the shoulders
fill((mouseX+mouseY)/28.5714+148,(mouseX+mouseY)/16.3265+130,(mouseX+mouseY)/11.42857+95);
//Left spikes
//Top left hairspike
quad(40, 0-(mouseY/40), 80, 23-(mouseY/40), 120, 30-(mouseY/40), 120, -20-(mouseY/40));
//Left middle hairspike
quad(50, 60-(mouseY/40), 90, 37-(mouseY/40), 100, 33-(mouseY/40), 120, 30-(mouseY/40));
quad(40, 60-(mouseY/40), 120, 30-(mouseY/40), 140, 80-(mouseY/40), 90, 75-(mouseY/40));
//Left bottom hairspike
quad(120, 140-(mouseY/40), 125, 105-(mouseY/40), 140, 80-(mouseY/40), 160, 100-(mouseY/40));
quad(120, 140-(mouseY/40), 140, 80-(mouseY/40), 180, 100-(mouseY/40), 150, 115-(mouseY/40));
//Right spikes
//Top right hairspike
quad(360, 0-(mouseY/40), 320, 23-(mouseY/40), 280, 30-(mouseY/40), 280, -20-(mouseY/40));
//Left right hairspike
quad(350, 60-(mouseY/40), 310, 37-(mouseY/40), 300, 33-(mouseY/40), 280, 30-(mouseY/40));
quad(360, 60-(mouseY/40), 280, 30-(mouseY/40), 260, 80-(mouseY/40), 310, 75-(mouseY/40));
//Left right hairspike
quad(280, 140-(mouseY/40), 275, 105-(mouseY/40), 260, 80-(mouseY/40), 240, 100-(mouseY/40));
quad(280, 140-(mouseY/40), 260, 80-(mouseY/40), 220, 100-(mouseY/40), 250, 115-(mouseY/40));
//Gray wood
fill((mouseX+mouseY)/114.28+179,(mouseX+mouseY)/29.629+179,(mouseX+mouseY)/21.0526+177);
//Face
curve(20, -1125-(mouseY/40), 110, 0-(mouseY/40), 290, 0-(mouseY/40), 380, -1125-(mouseY/40));
//Dark blue (Same as jacket)
fill((mouseX+mouseY)/11.9402+23,(mouseX+mouseY)/11.9402+62,(mouseX+mouseY)/16+119);
//Hat brim
//ABS makes it so the brim lowers when in the top left corner
//Makes Arcanus look like he's looking down
ellipse(200,-15-(mouseY/40), 360,abs(60-(pmouseY/15-25)));
//
////
//////
//spell and Hands section
//////
////
//
//Slightly darker cream white, darkens slightly instead of brightening
fill(222-(mouseX+mouseY)/44.444,219-(mouseX+mouseY)/53.3333,214-(mouseX+mouseY)/72.72727);
//Wrist
//Ends off the workspace so there's no shapes hovering off the edge
quad(48-mouseX/20,340+mouseY/20, 158-mouseX/20,380+mouseY/20, 208-mouseX/20,440+mouseY/20, -52-mouseX/20,440+mouseY/20);
//inverted wrist
quad(352+mouseX/20,340+mouseY/20, 242+mouseX/20,380+mouseY/20, 192+mouseX/20,440+mouseY/20, 452+mouseX/20,440+mouseY/20);
//Brightest finger as it's behind the spell
fill((mouseX+mouseY)/114.28+179,(mouseX+mouseY)/29.629+179,(mouseX+mouseY)/21.0526+177);
//Thumb
ellipse(83-mouseX/20,235+mouseY/20, 30,30 );
//Inverted thumb
ellipse(317+mouseX/20,235+mouseY/20, 30,30 );
//I start using kinesiology terms here
//Distal = Furthest section
//Intermediate = Middle section
//Proximal = Closest section
//Phalange = Finger bone
//Distal thumb
quad(68.05708-mouseX/20 , 233.69266+mouseY/20, 98.77212-mouseX/20 , 237.60472+mouseY/20, 93-mouseX/20,290+mouseY/20, 63-mouseX/20,290+mouseY/20);
//Inverted distal thumb
quad(331.94292+mouseX/20 , 233.69266+mouseY/20, 301.22788+mouseX/20 , 237.60472+mouseY/20, 307+mouseX/20,290+mouseY/20, 337+mouseX/20,290+mouseY/20);
//Slightly darker segment of the thumb
fill((mouseX+mouseY)/114.28+159,(mouseX+mouseY)/29.629+159,(mouseX+mouseY)/21.0526+157);
//Thumb
quad(63-mouseX/20,290+mouseY/20, 93-mouseX/20,290+mouseY/20, 108-mouseX/20,320+mouseY/20, 68-mouseX/20,320+mouseY/20);
//Inverted thumb
quad(337+mouseX/20,290+mouseY/20, 307+mouseX/20,290+mouseY/20, 292+mouseX/20,320+mouseY/20, 332+mouseX/20,320+mouseY/20);
//Lighter dark blue (Same as lapels)
fill((mouseX+mouseY)/18.60465+27,(mouseX+mouseY)/22.2222+81,(mouseX+mouseY)/40+161);
//Palm
bezier(38-mouseX/20, 351+mouseY/20, 48-mouseX/20, 300+mouseY/20, 178-mouseX/20, 300+mouseY/20, 166-mouseX/20, 390.6+mouseY/20);
bezier(38-mouseX/20, 350+mouseY/20, 38-mouseX/20, 380+mouseY/20, 138-mouseX/20, 410+mouseY/20, 166-mouseX/20, 390+mouseY/20);
//Inverted palm
bezier(362+mouseX/20, 351+mouseY/20, 352+mouseX/20, 300+mouseY/20, 222+mouseX/20, 300+mouseY/20, 234+mouseX/20, 390.6+mouseY/20);
bezier(362+mouseX/20, 350+mouseY/20, 362+mouseX/20, 380+mouseY/20, 262+mouseX/20, 410+mouseY/20, 234+mouseX/20, 390+mouseY/20);
//
////
//////
//Spell
//////
////
//
//Middle pulse large
strokeWeight(abs((mouseX+mouseY)/53.33+5));
stroke((mouseX+mouseY)/16.666+115,(mouseX+mouseY)/29.6296+196,(mouseX+mouseY)/40+240,(mouseX+mouseY)/8+60);
fill(200,240,mouseX/16+230,(mouseX+mouseY)/8+60);
ellipse(200,200,(mouseX)/3+50,(mouseY)/3+50);
ellipse(200,200,(mouseX+mouseY)/3+30,(mouseX+mouseY)/3+30);
//Middle pulse small
fill((mouseX+mouseY)/2.116+66,(mouseX+mouseY)/6.66+189,255,(mouseX+mouseY)/5+100);
ellipse(200,200,(mouseX+mouseY)/8+30,(mouseX+mouseY)/8+30);
//Mouse pulse
ellipse((mouseX+200)*0.5,(mouseY+200)*0.5,(mouseX+mouseY)/10+10,(mouseX+mouseY)/10+10);
//Inverted mouse pulse
ellipse(mouseX+(400-mouseX*2)*0.7,mouseY+(400-mouseY*2)*0.7,(mouseX+mouseY)/10+20,(mouseX+mouseY)/10+20);
//Switched X/Y to make it perpendicular
ellipse((mouseY+200)*0.5,(mouseX+200)*0.5,(mouseX+mouseY)/15+10,(mouseX+mouseY)/15+10);
//Inverted perpendicular pulse
ellipse(mouseY+(400-mouseY*2)*0.7,mouseX+(400-mouseX*2)*0.7,(mouseX+mouseY)/15+20,(mouseX+mouseY)/15+20);
//Removes the magic stroke effect
noStroke();
//Gray wood for fingers (All fingers at this point darken)
fill(179-(mouseX+mouseY)/28.571,179-(mouseX+mouseY)/29.629,177-(mouseX+mouseY)/32);
//Proximal phalange of second finger
quad(10.712719-mouseX/20 , 303.60364+mouseY/20, 37.990864-mouseX/20 , 295.5235+mouseY/20, 68-mouseX/20,330+mouseY/20, 38-mouseX/20,350+mouseY/20);
//Inverted proximal phalange of second finger
quad(389.287281+mouseX/20 , 303.60364+mouseY/20, 362.009136+mouseX/20 , 295.5235+mouseY/20, 332+mouseX/20,330+mouseY/20, 362+mouseX/20,350+mouseY/20);
//Knuckles
ellipse(58-mouseX/20,350+mouseY/20, 35,35);
ellipse(103-mouseX/20,370+mouseY/20, 35,35);
ellipse(148-mouseX/20,380+mouseY/20, 30,30);
//Inverted knuckles
ellipse(342+mouseX/20,350+mouseY/20, 35,35);
ellipse(297+mouseX/20,370+mouseY/20, 35,35);
ellipse(252+mouseX/20,380+mouseY/20, 30,30);
//Proximal phalanges
quad(40.765865-mouseX/20 , 353.03885+mouseY/20, 74.44462-mouseX/20 , 344.01465+mouseY/20, 69.44462-mouseX/20 , 335.98535+mouseY/20, 36.55538-mouseX/20 , 335.98535+mouseY/20);
quad(107.8697-mouseX/20 , 350.9046+mouseY/20, 123.6066-mouseX/20 , 350.6066+mouseY/20, 108.98535-mouseX/20 , 386.4446+mouseY/20, 99.96116-mouseX/20 , 352.76587+mouseY/20);
quad(157.8697-mouseX/20 , 360.9046+mouseY/20, 170.5-mouseX/20 , 387.9904+mouseY/20, 153.13031-mouseX/20 , 394.0954+mouseY/20, 142.8697-mouseX/20 , 365.9046+mouseY/20);
//Inverted proximal phalanges
quad(359.234135+mouseX/20 , 353.03885+mouseY/20, 325.55538+mouseX/20 , 344.01465+mouseY/20, 330.55538+mouseX/20 , 335.98535+mouseY/20, 363.44462+mouseX/20 , 335.98535+mouseY/20);
quad(292.1303+mouseX/20 , 350.9046+mouseY/20, 276.3934+mouseX/20 , 375.6066+mouseY/20, 291.01465+mouseX/20 , 386.4446+mouseY/20, 300.03884+mouseX/20 , 352.76587+mouseY/20);
quad(242.1303+mouseX/20 , 360.9046+mouseY/20, 229.5+mouseX/20 , 387.9904+mouseY/20, 246.86969+mouseX/20 , 394.0954+mouseY/20, 257.1303+mouseX/20 , 365.9046+mouseY/20);
//Darker segment
fill(164-(mouseX+mouseY)/8.6956,164-(mouseX+mouseY)/9.0909,162-(mouseX+mouseY)/10.2564);
//Second finger tip
ellipse(48-mouseX/20,200+mouseY/20, 30,30);
//Inverted second finger tip
ellipse(352+mouseX/20,200+mouseY/20, 30,30);
//Distal second finger phalange
quad(33.90461-mouseX/20 , 194.86969+mouseY/20, 60.99038-mouseX/20 , 207.5+mouseY/20, 42.09539-mouseX/20 , 255.1303+mouseY/20, 15.0096188-mouseX/20 , 242.5+mouseY/20);
//Inverted distal second finger phalange
quad(366.09539+mouseX/20 , 194.86969+mouseY/20, 339.00962+mouseX/20 , 207.5+mouseY/20, 357.90461+mouseX/20 , 255.1303+mouseY/20, 384.9903812+mouseX/20 , 242.5+mouseY/20);
//Darkest section of the fingers
fill(159-(mouseX+mouseY)/8.6956,159-(mouseX+mouseY)/9.0909,157-(mouseX+mouseY)/10.2564);
//Finger tips
ellipse(113-mouseX/20, 245+mouseY/20 , 30,30);
ellipse(143-mouseX/20, 275+mouseY/20, 30,30);
ellipse(188-mouseX/20, 300+mouseY/20, 22.5,22.5);
//Inverted finger tips
ellipse(287+mouseX/20, 245+mouseY/20, 30,30);
ellipse(257+mouseX/20, 275+mouseY/20, 30,30);
ellipse(212+mouseX/20, 300+mouseY/20, 22.5,22.5);
//Distal phalanges
quad(101.50933-mouseX/20 , 235.35818+mouseY/20, 125.28728-mouseX/20 , 253.60365+mouseY/20, 97.31122-mouseX/20 , 291.32062+mouseY/20, 71.551777-mouseX/20 , 271.5547+mouseY/20);
quad(128.22788-mouseX/20 , 272.39526+mouseY/20, 157.09538-mouseX/20 , 280.1303+mouseY/20, 142.09538-mouseX/20 , 325.1303+mouseY/20, 113.22788-mouseX/20 , 317.39526+mouseY/20);
quad(176.79282-mouseX/20 , 299.0195+mouseY/20, 199.20718-mouseX/20 , 300.9805+mouseY/20, 197.94292-mouseX/20 , 336.30734+mouseY/20, 168.22789-mouseX/20 , 332.39526+mouseY/20);
//Inverted distal phalanges
quad(298.49067+mouseX/20 , 235.35818+mouseY/20, 274.71272+mouseX/20 , 253.60365+mouseY/20, 302.68878+mouseX/20 , 291.32062+mouseY/20, 328.448223+mouseX/20 , 271.5547+mouseY/20);
quad(271.77212+mouseX/20 , 272.39526+mouseY/20, 242.90462+mouseX/20 , 280.1303+mouseY/20, 257.90462+mouseX/20 , 325.1303+mouseY/20, 286.77212+mouseX/20 , 317.39526+mouseY/20);
quad(223.20718+mouseX/20 , 299.0195+mouseY/20, 200.79282+mouseX/20 , 300.9805+mouseY/20, 202.05708+mouseX/20 , 336.30734+mouseY/20, 231.77211+mouseX/20 , 332.39526+mouseY/20);
//Brighter finger sections as they aren't directly in the way of the spell's light
fill(169-(mouseX+mouseY)/13.1147,169-(mouseX+mouseY)/13.5593,167-(mouseX+mouseY)/15.3846);
//First joints
ellipse(23-mouseX/20,295+mouseY/20, 30,30);
ellipse(53-mouseX/20,330+mouseY/20, 35,35);
ellipse(113-mouseX/20,365+mouseY/20, 30,30);
ellipse(163-mouseX/20,375+mouseY/20, 30,30);
//Inverted first joints
ellipse(377+mouseX/20,295+mouseY/20, 30,30);
ellipse(347+mouseX/20,330+mouseY/20, 35,35);
ellipse(287+mouseX/20,365+mouseY/20, 30,30);
ellipse(237+mouseX/20,375+mouseY/20, 30,30);
//Second joints
ellipse(28-mouseX/20,250+mouseY/20, 30,30);
ellipse(84-mouseX/20,282+mouseY/20, 32.5,32.5);
ellipse(128-mouseX/20,320+mouseY/20, 30,30);
ellipse(183-mouseX/20,335+mouseY/20, 30,30);
//Inverted second joints
ellipse(372+mouseX/20,250+mouseY/20, 30,30);
ellipse(316+mouseX/20,282+mouseY/20, 32.5,32.5);
ellipse(272+mouseX/20,320+mouseY/20, 30,30);
ellipse(217+mouseX/20,335+mouseY/20, 30,30);
//Intermediate phalanges
quad(13.0570803-mouseX/20 , 251.30734+mouseY/20, 40.99038-mouseX/20 , 257.5+mouseY/20, 38.0-mouseX/20 , 295.0+mouseY/20, 8.2278843-mouseX/20 , 292.39526+mouseY/20);
quad(69.44462-mouseX/20 , 335.98535+mouseY/20, 37.844555-mouseX/20 , 321.25+mouseY/20, 68.729996-mouseX/20 , 276.44217+mouseY/20, 95.490486-mouseX/20 , 293.49048+mouseY/20);
quad(113.0-mouseX/20 , 320.0+mouseY/20, 139.49066-mouseX/20 , 329.6418+mouseY/20, 125.99038-mouseX/20 , 372.5+mouseY/20, 98.22788-mouseX/20 , 362.39526+mouseY/20);
quad(168.0-mouseX/20 , 335.0+mouseY/20, 195.99039-mouseX/20 , 342.5+mouseY/20, 177.09538-mouseX/20 , 380.1303+mouseY/20, 150.71272-mouseX/20 , 366.39636+mouseY/20);
//Inverted intermediate phalanges
quad(386.9429197+mouseX/20 , 251.30734+mouseY/20, 359.00962+mouseX/20 , 257.5+mouseY/20, 362+mouseX/20 , 295.0+mouseY/20, 391.7721157+mouseX/20 , 292.39526+mouseY/20);
quad(330.55538+mouseX/20 , 335.98535+mouseY/20, 362.155445+mouseX/20 , 321.25+mouseY/20, 331.270004+mouseX/20 , 276.44217+mouseY/20, 304.509514+mouseX/20 , 293.49048+mouseY/20);
quad(287+mouseX/20 , 320.0+mouseY/20, 260.50934+mouseX/20 , 329.6418+mouseY/20, 274.00962+mouseX/20 , 372.5+mouseY/20, 301.77212+mouseX/20 , 362.39526+mouseY/20);
quad(232+mouseX/20 , 335.0+mouseY/20, 204.00961+mouseX/20 , 342.5+mouseY/20, 222.90462+mouseX/20 , 380.1303+mouseY/20, 249.28728+mouseX/20 , 366.39636+mouseY/20);
}
//This entire section redraws the hands and the spell and applies the spell's max fill and stroke values to them
//It also adds glowing eyes to Arcanus's face
void mousePressed(){
//Allows the frame to persist enough to spam click it but not enough that it causes too much jittering
frameRate(15);
//Sets the stroke to the spell kind
strokeWeight((mouseX+mouseY)/150+5);
stroke((mouseX+mouseY)/16.666+115,(mouseX+mouseY)/29.6296+196,(mouseX+mouseY)/40+240,(mouseX+mouseY)/8+60);
//Bright white-blue
fill(245,245,255);
//Thumb
ellipse(83-mouseX/20,235+mouseY/20, 30,30 );
//Inverted thumb
ellipse(317+mouseX/20,235+mouseY/20, 30,30 );
//Distal thumb
quad(68.05708-mouseX/20 , 233.69266+mouseY/20, 98.77212-mouseX/20 , 237.60472+mouseY/20, 93-mouseX/20,290+mouseY/20, 63-mouseX/20,290+mouseY/20);
//Inverted distal thumb
quad(331.94292+mouseX/20 , 233.69266+mouseY/20, 301.22788+mouseX/20 , 237.60472+mouseY/20, 307+mouseX/20,290+mouseY/20, 337+mouseX/20,290+mouseY/20);
//Thumb
quad(63-mouseX/20,290+mouseY/20, 93-mouseX/20,290+mouseY/20, 108-mouseX/20,320+mouseY/20, 68-mouseX/20,320+mouseY/20);
//Inverted thumb
quad(337+mouseX/20,290+mouseY/20, 307+mouseX/20,290+mouseY/20, 292+mouseX/20,320+mouseY/20, 332+mouseX/20,320+mouseY/20);
//Palm
bezier(38-mouseX/20, 351+mouseY/20, 48-mouseX/20, 300+mouseY/20, 178-mouseX/20, 300+mouseY/20, 166-mouseX/20, 390.6+mouseY/20);
bezier(38-mouseX/20, 350+mouseY/20, 38-mouseX/20, 380+mouseY/20, 138-mouseX/20, 410+mouseY/20, 166-mouseX/20, 390+mouseY/20);
//Inverted palm
bezier(362+mouseX/20, 351+mouseY/20, 352+mouseX/20, 300+mouseY/20, 222+mouseX/20, 300+mouseY/20, 234+mouseX/20, 390.6+mouseY/20);
bezier(362+mouseX/20, 350+mouseY/20, 362+mouseX/20, 380+mouseY/20, 262+mouseX/20, 410+mouseY/20, 234+mouseX/20, 390+mouseY/20);
////
//magic
////
//Middle pulse large
fill(200,240,255,(mouseX+mouseY)/8+60);
ellipse(200,200,(mouseX)/3+50,(mouseY)/3+50);
ellipse(200,200,(mouseX+mouseY)/3+30,(mouseX+mouseY)/3+30);
//Middle pulse small
fill(245,245,255);
ellipse(200,200,(mouseX+mouseY)/8+30,(mouseX+mouseY)/8+30);
//Mouse pulse
ellipse((mouseX+200)*0.5,(mouseY+200)*0.5,(mouseX+mouseY)/10+10,(mouseX+mouseY)/10+10);
ellipse(mouseX+(400-mouseX*2)*0.7,mouseY+(400-mouseY*2)*0.7,(mouseX+mouseY)/10+20,(mouseX+mouseY)/10+20);
ellipse((mouseY+200)*0.5,(mouseX+200)*0.5,(mouseX+mouseY)/15+10,(mouseX+mouseY)/15+10);
ellipse(mouseY+(400-mouseY*2)*0.7,mouseX+(400-mouseX*2)*0.7,(mouseX+mouseY)/15+20,(mouseX+mouseY)/15+20);
////
//hands glow
////
//Proximal phalange of second finger
quad(10.712719-mouseX/20 , 303.60364+mouseY/20, 37.990864-mouseX/20 , 295.5235+mouseY/20, 68-mouseX/20,330+mouseY/20, 38-mouseX/20,350+mouseY/20);
//Inverted proximal phalange of second finger
quad(389.287281+mouseX/20 , 303.60364+mouseY/20, 362.009136+mouseX/20 , 295.5235+mouseY/20, 332+mouseX/20,330+mouseY/20, 362+mouseX/20,350+mouseY/20);
//Knuckles
ellipse(58-mouseX/20,350+mouseY/20, 35,35);
ellipse(103-mouseX/20,370+mouseY/20, 35,35);
ellipse(148-mouseX/20,380+mouseY/20, 30,30);
//Inverted knuckles
ellipse(342+mouseX/20,350+mouseY/20, 35,35);
ellipse(297+mouseX/20,370+mouseY/20, 35,35);
ellipse(252+mouseX/20,380+mouseY/20, 30,30);
//Proximal phalanges
quad(40.765865-mouseX/20 , 353.03885+mouseY/20, 74.44462-mouseX/20 , 344.01465+mouseY/20, 69.44462-mouseX/20 , 335.98535+mouseY/20, 36.55538-mouseX/20 , 335.98535+mouseY/20);
quad(107.8697-mouseX/20 , 350.9046+mouseY/20, 123.6066-mouseX/20 , 350.6066+mouseY/20, 108.98535-mouseX/20 , 386.4446+mouseY/20, 99.96116-mouseX/20 , 352.76587+mouseY/20);
quad(157.8697-mouseX/20 , 360.9046+mouseY/20, 170.5-mouseX/20 , 387.9904+mouseY/20, 153.13031-mouseX/20 , 394.0954+mouseY/20, 142.8697-mouseX/20 , 365.9046+mouseY/20);
//Inverted proximal phalanges
quad(359.234135+mouseX/20 , 353.03885+mouseY/20, 325.55538+mouseX/20 , 344.01465+mouseY/20, 330.55538+mouseX/20 , 335.98535+mouseY/20, 363.44462+mouseX/20 , 335.98535+mouseY/20);
quad(292.1303+mouseX/20 , 350.9046+mouseY/20, 276.3934+mouseX/20 , 375.6066+mouseY/20, 291.01465+mouseX/20 , 386.4446+mouseY/20, 300.03884+mouseX/20 , 352.76587+mouseY/20);
quad(242.1303+mouseX/20 , 360.9046+mouseY/20, 229.5+mouseX/20 , 387.9904+mouseY/20, 246.86969+mouseX/20 , 394.0954+mouseY/20, 257.1303+mouseX/20 , 365.9046+mouseY/20);
//Second finger tip
ellipse(48-mouseX/20,200+mouseY/20, 30,30);
//Inverted second finger tip
ellipse(352+mouseX/20,200+mouseY/20, 30,30);
//Distal second finger phalange
quad(33.90461-mouseX/20 , 194.86969+mouseY/20, 60.99038-mouseX/20 , 207.5+mouseY/20, 42.09539-mouseX/20 , 255.1303+mouseY/20, 15.0096188-mouseX/20 , 242.5+mouseY/20);
//Inverted distal second finger phalange
quad(366.09539+mouseX/20 , 194.86969+mouseY/20, 339.00962+mouseX/20 , 207.5+mouseY/20, 357.90461+mouseX/20 , 255.1303+mouseY/20, 384.9903812+mouseX/20 , 242.5+mouseY/20);
//Finger tips
ellipse(113-mouseX/20, 245+mouseY/20 , 30,30);
ellipse(143-mouseX/20, 275+mouseY/20, 30,30);
ellipse(188-mouseX/20, 300+mouseY/20, 22.5,22.5);
//Inverted finger tips
ellipse(287+mouseX/20, 245+mouseY/20, 30,30);
ellipse(257+mouseX/20, 275+mouseY/20, 30,30);
ellipse(212+mouseX/20, 300+mouseY/20, 22.5,22.5);
//Distal phalanges
quad(101.50933-mouseX/20 , 235.35818+mouseY/20, 125.28728-mouseX/20 , 253.60365+mouseY/20, 97.31122-mouseX/20 , 291.32062+mouseY/20, 71.551777-mouseX/20 , 271.5547+mouseY/20);
quad(128.22788-mouseX/20 , 272.39526+mouseY/20, 157.09538-mouseX/20 , 280.1303+mouseY/20, 142.09538-mouseX/20 , 325.1303+mouseY/20, 113.22788-mouseX/20 , 317.39526+mouseY/20);
quad(176.79282-mouseX/20 , 299.0195+mouseY/20, 199.20718-mouseX/20 , 300.9805+mouseY/20, 197.94292-mouseX/20 , 336.30734+mouseY/20, 168.22789-mouseX/20 , 332.39526+mouseY/20);
//Inverted Distal phalanges
quad(298.49067+mouseX/20 , 235.35818+mouseY/20, 274.71272+mouseX/20 , 253.60365+mouseY/20, 302.68878+mouseX/20 , 291.32062+mouseY/20, 328.448223+mouseX/20 , 271.5547+mouseY/20);
quad(271.77212+mouseX/20 , 272.39526+mouseY/20, 242.90462+mouseX/20 , 280.1303+mouseY/20, 257.90462+mouseX/20 , 325.1303+mouseY/20, 286.77212+mouseX/20 , 317.39526+mouseY/20);
quad(223.20718+mouseX/20 , 299.0195+mouseY/20, 200.79282+mouseX/20 , 300.9805+mouseY/20, 202.05708+mouseX/20 , 336.30734+mouseY/20, 231.77211+mouseX/20 , 332.39526+mouseY/20);
//First joints
ellipse(23-mouseX/20,295+mouseY/20, 30,30);
ellipse(53-mouseX/20,330+mouseY/20, 35,35);
ellipse(113-mouseX/20,365+mouseY/20, 30,30);
ellipse(163-mouseX/20,375+mouseY/20, 30,30);
//Inverted first joints
ellipse(377+mouseX/20,295+mouseY/20, 30,30);
ellipse(347+mouseX/20,330+mouseY/20, 35,35);
ellipse(287+mouseX/20,365+mouseY/20, 30,30);
ellipse(237+mouseX/20,375+mouseY/20, 30,30);
//Second joints
ellipse(28-mouseX/20,250+mouseY/20, 30,30);
ellipse(84-mouseX/20,282+mouseY/20, 32.5,32.5);
ellipse(128-mouseX/20,320+mouseY/20, 30,30);
ellipse(183-mouseX/20,335+mouseY/20, 30,30);
//Inverted second joints
ellipse(372+mouseX/20,250+mouseY/20, 30,30);
ellipse(316+mouseX/20,282+mouseY/20, 32.5,32.5);
ellipse(272+mouseX/20,320+mouseY/20, 30,30);
ellipse(217+mouseX/20,335+mouseY/20, 30,30);
//Intermediate phalanges
quad(13.0570803-mouseX/20 , 251.30734+mouseY/20, 40.99038-mouseX/20 , 257.5+mouseY/20, 38.0-mouseX/20 , 295.0+mouseY/20, 8.2278843-mouseX/20 , 292.39526+mouseY/20);
quad(69.44462-mouseX/20 , 335.98535+mouseY/20, 37.844555-mouseX/20 , 321.25+mouseY/20, 68.729996-mouseX/20 , 276.44217+mouseY/20, 95.490486-mouseX/20 , 293.49048+mouseY/20);
quad(113.0-mouseX/20 , 320.0+mouseY/20, 139.49066-mouseX/20 , 329.6418+mouseY/20, 125.99038-mouseX/20 , 372.5+mouseY/20, 98.22788-mouseX/20 , 362.39526+mouseY/20);
quad(168.0-mouseX/20 , 335.0+mouseY/20, 195.99039-mouseX/20 , 342.5+mouseY/20, 177.09538-mouseX/20 , 380.1303+mouseY/20, 150.71272-mouseX/20 , 366.39636+mouseY/20);
//Inverted intermediate phalanges
quad(386.9429197+mouseX/20 , 251.30734+mouseY/20, 359.00962+mouseX/20 , 257.5+mouseY/20, 362+mouseX/20 , 295.0+mouseY/20, 391.7721157+mouseX/20 , 292.39526+mouseY/20);
quad(330.55538+mouseX/20 , 335.98535+mouseY/20, 362.155445+mouseX/20 , 321.25+mouseY/20, 331.270004+mouseX/20 , 276.44217+mouseY/20, 304.509514+mouseX/20 , 293.49048+mouseY/20);
quad(287+mouseX/20 , 320.0+mouseY/20, 260.50934+mouseX/20 , 329.6418+mouseY/20, 274.00962+mouseX/20 , 372.5+mouseY/20, 301.77212+mouseX/20 , 362.39526+mouseY/20);
quad(232+mouseX/20 , 335.0+mouseY/20, 204.00961+mouseX/20 , 342.5+mouseY/20, 222.90462+mouseX/20 , 380.1303+mouseY/20, 249.28728+mouseX/20 , 366.39636+mouseY/20);
//Glowing Eyes
//Left
bezier(135, abs(40-(mouseY/20)), 145, abs(30-(mouseY/20)), 175, abs(30-(mouseY/20)), 185, abs(40-(mouseY/20)));
bezier(135, abs(40-(mouseY/20)), 155, abs(70-(mouseY/20)), 175, abs(70-(mouseY/20)), 185, abs(40-(mouseY/20)));
//Right
bezier(265, abs(40-(mouseY/20)), 255, abs(30-(mouseY/20)), 225, abs(30-(mouseY/20)), 215, abs(40-(mouseY/20)));
bezier(265, abs(40-(mouseY/20)), 245, abs(70-(mouseY/20)), 225, abs(70-(mouseY/20)), 215, abs(40-(mouseY/20)));
}