void setup() {
size(400, 400);
smooth();
}
void draw() {
frameRate(60);
background(173, 207, 241);
rectMode(CENTER);
ellipseMode(CENTER);
//Halo
stroke(157, 231, 215);
fill(98, 181, 229);
ellipse(0, 0, 450, 550);
ellipse(400, 0, 250, 550);
//Foreground
stroke(0, 122, 83);
fill(164, 214, 94);
ellipse(200, 400, 1000, 350);
noStroke();
fill(0, 100);
ellipse(200, 280, 130, 30);
//Grunt Back
noStroke();
fill(253, 175, 30);
triangle(170, 195, 230, 200, 205, 140);
fill(150);
triangle(175, 195, 225, 200, 204, 150);
//Grunt Arms
fill(179, 176, 196);
ellipse(172, 208, 30, 33);
ellipse(170, 217, 15, 18);
quad(235, 240, 250, 260, 250, 235, 229, 195);
quad(220, 205, 230, 250, 243, 240, 229, 195);
//Grunt Legs
ellipse(171, 273, 25, 15);
quad(185, 225, 196, 230, 180, 275, 160, 275);
ellipse(227, 277, 30, 15);
quad(213, 225, 208, 230, 215, 280, 240, 280);
//Grunt Body
fill(253, 175, 30);
quad(165, 190, 235, 195, 210, 250, 190, 249);
//Grunt Head
fill(179, 176, 196);
ellipse(200, 180, 30, 30);
//Grunt Eyes
stroke(0);
fill(50);
ellipse(193, 177, 10, 10);
ellipse(207, 177, 10, 10);
//Grunt Mask
stroke(150);
fill(190);
ellipse(195, 190, 15, 10);
ellipse(205, 190, 15, 10);
fill(200);
ellipse(200, 190, 10, 10);
//Needler
stroke(114, 60, 152);
fill(130, 78, 161);
ellipse(175, 213, 20, 22);
stroke(150);
fill(190);
ellipse(175, 223, 5, 10);
ellipse(175, 214, 5, 10);
fill(95, 37, 159);
stroke(116, 209, 234);
ellipse(170, 207, 4, 2);
fill(245, 126, 182);
triangle(168, 206, 172, 206, 166, 195);
fill(95, 37, 159);
ellipse(175, 205, 4, 2);
stroke(116, 209, 234);
fill(245, 126, 182);
triangle(173, 204, 177, 204, 175, 190);
fill(95, 37, 159);
ellipse(180, 207, 4, 2);
stroke(116, 209, 234);
fill(245, 126, 182);
triangle(178, 206, 182, 206, 184, 195);
//Assult Rifle
noStroke();
fill(150);
quad(mouseX*0.2+330, mouseY*0.2+300, mouseX*0.2+280, mouseY*0.2+300, 425, 380, 550, 380);
fill(150);
quad(mouseX*0.2+300, mouseY*0.2+250, mouseX*0.23+250, mouseY*0.25+275, mouseX*0.2+280, mouseY*0.2+320, mouseX*0.2+280, mouseY*0.2+300);
quad(mouseX*0.23+250, mouseY*0.25+275, mouseX*0.23+250, mouseY*0.25+325, mouseX*0.15+300, mouseY*0.2+400, mouseX*0.1+360, mouseY*0.1+400);
fill(100);
quad(mouseX*0.2+279, mouseY*0.2+300, mouseX*0.2+279, mouseY*0.2+329, 400, 475, 475, 380);
fill(45, 204, 211);
quad(mouseX*0.2+280, mouseY*0.2+300, mouseX*0.2+330, mouseY*0.2+300, mouseX*0.22+335, mouseY*0.2+285, mouseX*0.21+270, mouseY*0.2+285);
quad(mouseX*0.21+270, mouseY*0.2+286, mouseX*0.22+335, mouseY*0.2+286, mouseX*0.2+310, mouseY*0.2+250, mouseX*0.2+300, mouseY*0.2+250);
//Hand
fill(75);
quad(mouseX*0.2+265, mouseY*0.2+350, mouseX*0.19+275, mouseY*0.2+360, mouseX*0.19+285, mouseY*0.2+381, mouseX*0.2+255, mouseY*0.2+381);
quad(mouseX*0.2+255, mouseY*0.2+380, mouseX*0.19+285, mouseY*0.2+380, mouseX*0.1+350, mouseY*0.2+450, mouseX*0.2+260, mouseY*0.2+450);
fill(0, 150, 57);
quad(mouseX*0.2+251, mouseY*0.2+381, mouseX*0.2+255, mouseY*0.2+380, mouseX*0.2+260, mouseY*0.2+450, mouseX*0.2+250, mouseY*0.2+451);
}
void mousePressed() {
frameRate(5);
//Muzzle Flash
strokeWeight(5);
stroke(255, 127, 50, 190);
fill(255, 163, 0, 190);
ellipseMode(CENTER);
ellipse(mouseX*0.21+265, mouseY*0.2+305, 70, 85);
strokeWeight(1);
//Assult Rifle 2
noStroke();
fill(150);
quad(mouseX*0.2+330, mouseY*0.2+300, mouseX*0.2+280, mouseY*0.2+300, 425, 380, 550, 380);
fill(150);
quad(mouseX*0.2+300, mouseY*0.2+250, mouseX*0.23+250, mouseY*0.25+275, mouseX*0.2+280, mouseY*0.2+320, mouseX*0.2+280, mouseY*0.2+300);
quad(mouseX*0.23+250, mouseY*0.25+275, mouseX*0.23+250, mouseY*0.25+325, mouseX*0.15+300, mouseY*0.2+400, mouseX*0.1+360, mouseY*0.1+400);
fill(100);
quad(mouseX*0.2+279, mouseY*0.2+300, mouseX*0.2+279, mouseY*0.2+329, 400, 475, 475, 380);
fill(45, 204, 211);
quad(mouseX*0.2+280, mouseY*0.2+300, mouseX*0.2+330, mouseY*0.2+300, mouseX*0.22+335, mouseY*0.2+285, mouseX*0.21+270, mouseY*0.2+285);
quad(mouseX*0.21+270, mouseY*0.2+286, mouseX*0.22+335, mouseY*0.2+286, mouseX*0.2+310, mouseY*0.2+250, mouseX*0.2+300, mouseY*0.2+250);
//Hand 2
fill(75);
quad(mouseX*0.2+265, mouseY*0.2+350, mouseX*0.19+275, mouseY*0.2+360, mouseX*0.19+285, mouseY*0.2+381, mouseX*0.2+255, mouseY*0.2+381);
quad(mouseX*0.2+255, mouseY*0.2+380, mouseX*0.19+285, mouseY*0.2+380, mouseX*0.1+350, mouseY*0.2+450, mouseX*0.2+260, mouseY*0.2+450);
fill(0, 150, 57);
quad(mouseX*0.2+251, mouseY*0.2+381, mouseX*0.2+255, mouseY*0.2+380, mouseX*0.2+260, mouseY*0.2+450, mouseX*0.2+250, mouseY*0.2+451);
}