	let objHitbox = NULL;
	let objHitboxCopy = NULL;
	let objHitboxGraphic = GCSD ~ "thHitbox.png";
	let objHitboxScale = 0;
	let objHitboxAngle = 0;
	let objHitboxAngleVel = 103;
	let objHitboxCopyScale = 1.45;
	
	sub CreateHitbox{
		objHitbox = Obj_Create(OBJ_EFFECT);
		ObjEffect_SetTexture(objHitbox, objHitboxGraphic);
		ObjEffect_SetRenderState(objHitbox, ALPHA);
		ObjEffect_SetLayer(objHitbox, 5);
		ObjEffect_SetPrimitiveType(objHitbox, PRIMITIVE_TRIANGLEFAN);
		ObjEffect_CreateVertex(objHitbox, 4);
		ObjEffect_SetVertexUV(objHitbox, 0, 0, 0);
		ObjEffect_SetVertexUV(objHitbox, 1, 63, 0);
		ObjEffect_SetVertexUV(objHitbox, 2, 63, 63);
		ObjEffect_SetVertexUV(objHitbox, 3, 0, 63);
		ObjEffect_SetVertexXY(objHitbox, 0, -32, -32);
		ObjEffect_SetVertexXY(objHitbox, 1, 32, -32);
		ObjEffect_SetVertexXY(objHitbox, 2, 32, 32);
		ObjEffect_SetVertexXY(objHitbox, 3, -32, 32);
		objHitboxCopy = Obj_Create(OBJ_EFFECT);
		ObjEffect_SetTexture(objHitboxCopy, objHitboxGraphic);
		ObjEffect_SetRenderState(objHitboxCopy, ALPHA);
		ObjEffect_SetLayer(objHitboxCopy, 5);
		ObjEffect_SetPrimitiveType(objHitboxCopy, PRIMITIVE_TRIANGLEFAN);
		ObjEffect_CreateVertex(objHitboxCopy, 4);
		ObjEffect_SetVertexUV(objHitboxCopy, 0, 0, 0);
		ObjEffect_SetVertexUV(objHitboxCopy, 1, 63, 0);
		ObjEffect_SetVertexUV(objHitboxCopy, 2, 63, 63);
		ObjEffect_SetVertexUV(objHitboxCopy, 3, 0, 63);
		ObjEffect_SetVertexXY(objHitboxCopy, 0, -32, -32);
		ObjEffect_SetVertexXY(objHitboxCopy, 1, 32, -32);
		ObjEffect_SetVertexXY(objHitboxCopy, 2, 32, 32);
		ObjEffect_SetVertexXY(objHitboxCopy, 3, -32, 32);
	}
	
	sub DrawHitbox {
		if(isFocusing || AsKoishi){
			if(GetKeyState(VK_SLOWMOVE)==KEY_PUSH && !OnMissed){
				objHitboxCopyScale = 1.45;
			}
			if(objHitboxAngleVel>3){
				objHitboxAngleVel -= 5;
			}
			if(objHitboxScale<1){
				objHitboxScale += 0.2;
			}
			if(objHitboxCopyScale>1){
				objHitboxCopyScale-=0.05;
			}
			objHitboxAngle += objHitboxAngleVel;
			ObjEffect_SetAngle(objHitbox, 0, 0, objHitboxAngle);
			ObjEffect_SetScale(objHitbox, objHitboxScale, objHitboxScale);
			ObjEffect_SetAngle(objHitboxCopy, 0, 0, -objHitboxAngle);
			ObjEffect_SetScale(objHitboxCopy, objHitboxCopyScale, objHitboxCopyScale);
			Obj_SetPosition(objHitbox, [GetPlayerX,GetCommonDataDefault("X Koishi", 0)][AsKoishi], [GetPlayerY,GetCommonDataDefault("Y Koishi", 0)][AsKoishi]);
			Obj_SetPosition(objHitboxCopy, [GetPlayerX,GetCommonDataDefault("X Koishi", 0)][AsKoishi], [GetPlayerY,GetCommonDataDefault("Y Koishi", 0)][AsKoishi]);
		} else {
			if(objHitboxScale>0){
				objHitboxScale -= 0.2;
			}else{
				objHitboxScale = 0;
			}
			if(objHitboxCopyScale>0){
				objHitboxCopyScale -= 0.2;
			}else{
				objHitboxCopyScale = 0;
			}
			objHitboxAngleVel = 103;
			ObjEffect_SetAngle(objHitbox, 0, 0, objHitboxAngle);
			ObjEffect_SetScale(objHitbox, objHitboxScale, objHitboxScale);
			ObjEffect_SetAngle(objHitboxCopy, 0, 0, -objHitboxAngle);
			ObjEffect_SetScale(objHitboxCopy, objHitboxCopyScale, objHitboxCopyScale);
		}
	}