<!--This Document is generated by GameMaker, if you edit it by hand then you do so at your own risk!-->
<object>
  <spriteName>sQueenBody</spriteName>
  <solid>0</solid>
  <visible>-1</visible>
  <depth>5</depth>
  <persistent>0</persistent>
  <parentName>&lt;undefined&gt;</parentName>
  <maskName>&lt;undefined&gt;</maskName>
  <events>
    <event eventtype="0" enumb="0">
      <action>
        <libid>1</libid>
        <id>603</id>
        <kind>7</kind>
        <userelative>0</userelative>
        <isquestion>0</isquestion>
        <useapplyto>-1</useapplyto>
        <exetype>2</exetype>
        <functionname></functionname>
        <codestring></codestring>
        <whoName>self</whoName>
        <relative>0</relative>
        <isnot>0</isnot>
        <arguments>
          <argument>
            <kind>1</kind>
            <string>if (global.event[303] &gt; 0) {
    instance_destroy();
} else {
    //damage = 60;
    canbeX = 0;
    damage = global.mod_queenDbody;
    head_obj = instance_create(x + 250, y - 10, oQueenHead);
    front_obj = instance_create(x, y, oQueenFront);
    flashing = 0;
    fxtimer = 0;
    targetx = x;
    phase = 0;
    canhit = 1;
    maxspeed = 2;
    phasetargetx[0] = 600;
    phasetargetx[1] = 928;
    phasetargetx[2] = 1568;
    phasetargetx[3] = 1888;
    phasetargetx[4] = 2528;
    phasetargetx[5] = 2528;
    camx = x;
    camy = y;
    neck_x = x;
    neck_y = y;
    belly_x = x;
    belly_y = y;
    leg1f_x = lengthdir_x(129, image_angle + 15);
    leg1f_y = lengthdir_y(129, image_angle + 15);
    leg1f_obj = instance_create(x + leg1f_x + 13, y + leg1f_y + 69, oQueenLegFront);
    leg2f_obj = instance_create(x + leg1f_x + 13, y + leg1f_y + 69, oQueenLegBack);
    with (leg2f_obj) x += 40;
    leg1b_x = lengthdir_x(37, image_angle + 43);
    leg1b_y = lengthdir_y(37, image_angle + 43);
    leg1b_obj = instance_create(x + leg1b_x + 13, y + leg1b_y + 61, oQueenLegFront);
    with (leg1b_obj) {
        spr_foot = sQueenFootBack;
        spr_leg1 = sQueenLegBack1;
        spr_leg2 = sQueenLegBack2;
        spr_leg3 = sQueenLegBack3;
        spr_leg4 = sQueenLegBack4;
        joint1_len = 45;
        x += 40;
    }
    leg2b_obj = instance_create(x + leg1b_x + 13, y + leg1b_y + 61, oQueenLegBack);
    with (leg2b_obj) spr_foot = sQueenLeg2B;
    col_back = 0;
    col_front = 0;
    col_front_x = x + 130;
    col_front_y = y;
    head_target_x = x + 120;
    head_target_y = y - 10;
    head_target_angle = 0;
    head_target_snap = 1;
    height_target_front = 35;
    height_target_back = 35;
    height_front = 35;
    height_back = 35;
    sin_timer = 0;
    state = 0;
    statetime = 0;
    head_attacks = 0;
    mus_stop_all();
    with (oMusicV2) alarm[5] = 600;
    if (!sfx_isplaying(musQueenIntro)) mus_play_once(musQueenIntro);
    scan_log(16, get_text("ScanEvents", "ScanBioform"), 120, 0);
    
    widescreen_space = oControl.widescreen_space;
    
} // if (global.event[303] &gt; 0) else
</string>
          </argument>
        </arguments>
      </action>
    </event>
    <event eventtype="1" enumb="0">
      <action>
        <libid>1</libid>
        <id>603</id>
        <kind>7</kind>
        <userelative>0</userelative>
        <isquestion>0</isquestion>
        <useapplyto>-1</useapplyto>
        <exetype>2</exetype>
        <functionname></functionname>
        <codestring></codestring>
        <whoName>self</whoName>
        <relative>0</relative>
        <isnot>0</isnot>
        <arguments>
          <argument>
            <kind>1</kind>
            <string>global.monstersleft = 0;
global.monstersarea = 0;
</string>
          </argument>
        </arguments>
      </action>
    </event>
    <event eventtype="2" enumb="10">
      <action>
        <libid>1</libid>
        <id>603</id>
        <kind>7</kind>
        <userelative>0</userelative>
        <isquestion>0</isquestion>
        <useapplyto>-1</useapplyto>
        <exetype>2</exetype>
        <functionname></functionname>
        <codestring></codestring>
        <whoName>self</whoName>
        <relative>0</relative>
        <isnot>0</isnot>
        <arguments>
          <argument>
            <kind>1</kind>
            <string>repeat (50) {
    expl = instance_create(x + random_range(-90, 150), y + random_range(-60, 30), oFXAnimSpark);
    expl.image_speed = 0.5 + random(0.5);
    expl.additive = 0;
    expl.sprite_index = sExpl1;
    expl.direction = random(360);
    expl.speed = 2 + random(1);
}
make_explosion4(x, y);
make_explosion4(x + 40, y + 30);
make_explosion4(x + 80, y + 20);
make_explosion4(x - 30, y + 10);
make_explosion4(x - 80, y + 35);
screen_shake(60, 4);
instance_create(x, y, oScreenFlash);
sfx_play(sndMissileExpl);
sfx_play(sndSMissileExpl);
sfx_play(sndMEggBreak);
event_user(10);
instance_destroy();
</string>
          </argument>
        </arguments>
      </action>
    </event>
    <event eventtype="2" enumb="9">
      <action>
        <libid>1</libid>
        <id>603</id>
        <kind>7</kind>
        <userelative>0</userelative>
        <isquestion>0</isquestion>
        <useapplyto>-1</useapplyto>
        <exetype>2</exetype>
        <functionname></functionname>
        <codestring></codestring>
        <whoName>self</whoName>
        <relative>0</relative>
        <isnot>0</isnot>
        <arguments>
          <argument>
            <kind>1</kind>
            <string>expl = instance_create(x + random_range(-90, 150), y + random_range(-60, 30), oFXAnimSpark);
expl.image_speed = 0.5;
expl.additive = 0;
expl.sprite_index = sExpl1;
expl.image_xscale = 0.5;
expl.image_yscale = 0.5;
expl.depth = -50;
alarm[9] = 2;
</string>
          </argument>
        </arguments>
      </action>
    </event>
    <event eventtype="3" enumb="2">
      <action>
        <libid>1</libid>
        <id>603</id>
        <kind>7</kind>
        <userelative>0</userelative>
        <isquestion>0</isquestion>
        <useapplyto>-1</useapplyto>
        <exetype>2</exetype>
        <functionname></functionname>
        <codestring></codestring>
        <whoName>self</whoName>
        <relative>0</relative>
        <isnot>0</isnot>
        <arguments>
          <argument>
            <kind>1</kind>
            <string>belly_x = lengthdir_x(86, image_angle - 15);
belly_y = lengthdir_y(86, image_angle - 15);
if (instance_exists(front_obj)) {
    front_obj.x = x;
    front_obj.y = y;
    front_obj.image_angle = image_angle;
}
if (instance_exists(head_obj)) {
    if (head_target_snap == 1) {
        head_obj.x = lerp(head_obj.x, head_target_x, 0.2);
        head_obj.y = lerp(head_obj.y, head_target_y, 0.2);
        head_obj.head_target_angle = head_target_angle;
    }
}
if (instance_exists(leg1f_obj)) {
    leg1f_obj.joint3_x = x + leg1f_x;
    leg1f_obj.joint3_y = y + leg1f_y;
}
if (instance_exists(leg1b_obj)) {
    leg1b_obj.joint3_x = x + leg1b_x;
    leg1b_obj.joint3_y = y + leg1b_y;
}
if (instance_exists(leg2f_obj)) leg2f_obj.base_x = x + leg1f_x;
if (instance_exists(leg2b_obj)) leg2b_obj.base_x = x + leg1b_x;
if (instance_exists(oQueenHead)) {
    flashing = oQueenHead.flashing;
    fxtimer = oQueenHead.fxtimer;
    if (phase == 0 || phase == 1 &amp;&amp; oCharacter.x &lt; 928) {
        camx = 800 - (widescreen_space/2);
        camy = oQueenHead.y + (oCharacter.y - oQueenHead.y) / 2;
    } else if (phase == 1 &amp;&amp; oCharacter.x &gt; 1120 &amp;&amp; oCharacter.x &lt; 1248) {
        camx = 1120;
        camy = oQueenHead.y + (oCharacter.y - oQueenHead.y) / 2;
    } else if (phase == 2 &amp;&amp; oCharacter.x &gt; 1760 &amp;&amp; oCharacter.x &lt; 1888) {
        camx = 1760;
        camy = oQueenHead.y + (oCharacter.y - oQueenHead.y) / 2;
    } else if (phase == 3 &amp;&amp; oCharacter.x &gt; 2080 &amp;&amp; oCharacter.x &lt; 2208) {
        camx = 2080;
        camy = oQueenHead.y + (oCharacter.y - oQueenHead.y) / 2;
    } else if (abs(oCharacter.x - oQueenHead.x) &lt; 250 &amp;&amp; abs(oCharacter.y - oQueenHead.y) &lt; 180) { // tweening?
        camx = oQueenHead.x + ((oCharacter.x - oQueenHead.x) / 2);
        camy = oQueenHead.y + (oCharacter.y - oQueenHead.y) / 2;
        oCamera.focus = 0;
    } else {
        camx = oCharacter.x;
        camy = oCharacter.y;
        oCamera.focus = 0;
    }
} // if (instance_exists(oQueenHead))
oCamera.smootin = 15;
if (oCamera.focus == 0) {
    oCamera.focus = 1;
    oCamera.focustime = 0;
}
oCamera.focustime += 1;
oCamera.lockx = 1;
oCamera.locky = 1;
oCamera.targetx = camx;
oCamera.targety = camy;
oCamera.snapx = 0;
oCamera.snapy = 0;
oCamera.smoothout = 40;
oCamera.alarm[0] = 2;
</string>
          </argument>
        </arguments>
      </action>
    </event>
    <event eventtype="3" enumb="0">
      <action>
        <libid>1</libid>
        <id>603</id>
        <kind>7</kind>
        <userelative>0</userelative>
        <isquestion>0</isquestion>
        <useapplyto>-1</useapplyto>
        <exetype>2</exetype>
        <functionname></functionname>
        <codestring></codestring>
        <whoName>self</whoName>
        <relative>0</relative>
        <isnot>0</isnot>
        <arguments>
          <argument>
            <kind>1</kind>
            <string>col_front_x = x + 130;
col_back = collision_line(x, y, x, y + height_back, oSolid, true, true);
col2_back = collision_point(x, y + height_back + 1, oSolid, true, true);
col_front = collision_line(col_front_x, col_front_y, col_front_x, col_front_y + height_front, oSolid, true, true);
col2_front = collision_point(col_front_x, col_front_y + height_front + 1, oSolid, true, true);
if (col2_back &lt; 0) {
    y += 1;
} else if (col_back &gt; 0) y -= 1;
if (col2_front &lt; 0) {
    col_front_y += 1;
} else if (col_front &gt; 0) col_front_y -= 1;
image_angle = point_direction(x, y, col_front_x, col_front_y);
neck_x = lengthdir_x(140, image_angle + 17);
neck_y = lengthdir_y(140, image_angle + 17);
leg1f_x = lengthdir_x(129, image_angle + 15);
leg1f_y = lengthdir_y(129, image_angle + 15);
leg1b_x = lengthdir_x(37, image_angle + 43);
leg1b_y = lengthdir_y(37, image_angle + 43);
if (state == 0) {
    head_target_x = x + neck_x + 50;
    head_target_y = y + neck_y - 10;
    head_obj.x = head_target_x;
    head_obj.y = head_target_y;
    height_target_front = 20;
    height_target_back = 20;
    height_front = 20;
    height_back = 20;
    head_obj.canbehit = 0;
    if (statetime == 120) {
        state = 1;
        statetime = 0;
    }
}
if (state == 1) {
    if (statetime == 0) {
        height_target_front = 20;
        height_target_back = 20;
        height_front = 20;
        height_back = 20;
        head_obj.state = 1;
        head_obj.statetime = 0;
        head_obj.canbehit = 0;
    }
    head_target_x = x + neck_x + 50;
    head_target_y = y + neck_y - 10;
    if (statetime == 60) targetx = 600;
    if (statetime == 240) {
        state = 3;
        statetime = 0;
    }
}
if (state == 2) { // Moving?
    head_target_x = x + neck_x + 20;
    head_target_y = y + neck_y;
    height_target_front = 20;
    height_target_back = 20;
    maxspeed = 2;
    if (point_distance(x, y, oCharacter.x, y) &gt; 400) maxspeed = 4;
    if (point_distance(x, y, oCharacter.x, y) &gt; 500) maxspeed = 6;
    if (x &lt; 560) {
        hspeed = lerp(maxspeed, hspeed, 0.1);
    } else {
        state = 3;
        statetime = 0;
    }
}
if (state == 3) {
    if (statetime == 0) {
        switch (phase) {
            case 0:
                height_target_front = 35;
                height_target_back = 35;
                break;
            case 1:
                height_target_front = 15;
                height_target_back = 25;
                break;
            case 2:
                height_target_front = 15;
                height_target_back = 15;
                break;
            case 3:
                height_target_front = 55;
                height_target_back = 30;
                break;
            case 4:
                height_target_front = 15;
                height_target_back = 15;
                break;
            case 5:
                height_target_front = 20;
                height_target_back = 25;
                break;
        } // switch (phase)
        head_obj.canbehit = 1;
    } // if (statetime == 0)
    head_target_x = x + neck_x + 50;
    head_target_y = y + neck_y - 10;
    if (statetime == 120) {
        if (phase == 5) {
            state = 10;
        } else state = 4;
        statetime = 0;
    }
} // if (state == 3)
if (state == 4) {
    if (statetime == 0) {
        head_obj.canbehit = 1;
        height_target_front = 20;
        head_target_x = x + neck_x + 38;
        head_target_y = y + neck_y + 12;
        switch (phase) {
            case 0:
                height_target_front = 20;
                height_target_back = 35;
                break;
            case 1:
                height_target_front = 15;
                height_target_back = 25;
                break;
            case 2:
                height_target_front = 15;
                height_target_back = 15;
                break;
            case 3:
                height_target_front = 55;
                height_target_back = 30;
                break;
            case 4:
                height_target_front = 15;
                height_target_back = 15;
                break;
            case 5:
                height_target_front = 15;
                height_target_back = 15;
                break;
        } // switch (phase)
        head_attacks = 2;
        head_obj.speedmulti = 1;
        head_obj.attackdelay = 110;
        if (head_obj.myhealth &lt;= head_obj.starthealth / 4 * 3) {
            head_attacks = 3;
            head_obj.speedmulti = 1.5;
            head_obj.attackdelay = 90;
        }
        if (head_obj.myhealth &lt;= head_obj.starthealth / 4 * 2) {
            head_attacks = 4;
            head_obj.speedmulti = 2;
            head_obj.attackdelay = 70;
        }
        if (head_obj.myhealth &lt;= head_obj.starthealth / 4) {
            head_attacks = 5;
            head_obj.speedmulti = 2.5;
            head_obj.attackdelay = 50;
        }
    } // if (statetime == 0)
    if (statetime == 10) {
        head_obj.state = 4;
        head_obj.statetime = 0;
        head_attacks -= 1;
    }
    if (statetime == 45) head_target_snap = 0;
    if (statetime == 11) {
        head_target_y = y + neck_y + 13;
        if (phase == 1 || phase == 2) {
            if (choose(0, 1) == 0) {
                if (phase == 1) {
                    head_target_y = y + neck_y - 15;
                } else head_target_y = y + neck_y - 10;
            } else head_target_y = y + neck_y + 38;
        }
    }
    if (statetime &gt; 10 &amp;&amp; head_obj.state == 0) {
        head_target_x = x + neck_x + 24;
        head_target_snap = 1;
        if (head_attacks &gt; 0) statetime = 1;
    }
    if (statetime == 170) {
        state = 8;
        statetime = 0;
    }
    with (oCharacter) if (state == 41) xVel = 4;
} // if (state == 4)

if (state == 8) { //added
    if(phase == 3 &amp;&amp; global.difficulty != 0) {
        if (statetime == 0) {
            height_target_front = 15;
            height_target_back = 15;
            targetx = phasetargetx[phase] - 40;
            maxspeed = 1;
            sfx_play(sndQueenRoar);
            head_obj.canbehit = 0;
            head_obj.push = 0;
            head_obj.state = 6;
            head_obj.statetime = 0;
        }
        head_target_x = x + neck_x + 40;
        head_target_y = y + neck_y - 10;
        if (statetime == 210) {
            state = 5;
            statetime = 0;
        }
    }
    else {
        state = 5;
        statetime = 0;
    }
} // if (state == 8)


if (state == 5) {
    if (statetime == 0) {
        switch (phase) {
            case 0:
                height_target_front = 35;
                height_target_back = 35;
                break;
            case 1:
                height_target_front = 15;
                height_target_back = 25;
                break;
            case 2:
                height_target_front = 15;
                height_target_back = 15;
                break;
            case 3:
                height_target_front = 25;
                height_target_back = 20;
                break;
            case 4:
                height_target_front = 15;
                height_target_back = 15;
                break;
            case 5:
                height_target_front = 15;
                height_target_back = 15;
                break;
        } // switch (phase)
        targetx = phasetargetx[phase] - 88;
        maxspeed = 1;
        sfx_play(sndQueenRoar);
        head_obj.canbehit = 0;
        head_obj.push = 0;
    } // if (statetime == 0)
    head_target_x = x + neck_x + 50;
    head_target_y = y + neck_y + 20;
    if (statetime &gt; 60) {
        if (phase == 1) head_target_y = y + neck_y - 30;
        if (phase == 2) head_target_y = y + neck_y - 5;
    }
    if (statetime == 120) {
        head_obj.state = 2;
        head_obj.statetime = 0;
    }
    if (statetime == 180) targetx = phasetargetx[phase];
    if (phase == 3 &amp;&amp; statetime == 230) {
        height_target_back = 20;
        height_target_front = 55;
    }
    if (statetime == 360) {
        state = 4;
        statetime = -1;
    }
} // if (state == 5)
if (state == 6) { // Fire breathe in, do music setting?
    if (statetime == 0) {
        if (oMusicV2.useMultistageMusic)
        {
            switch (phase)
            {
                case 0:
                    mus_stop(musQueenIntro);
                    with (oMusicV2) alarm[5] = -1;
                    mus_stop(musQueen);
                    mus_play_once(musQueenBreak);
                    oMusicV2.bossbgm = musQueenBreak; //added
                    break;
                case 2:
                    mus_stop(musQueen2);
                    mus_play_once(musQueenBreak);
                    oMusicV2.bossbgm = musQueenBreak; //added
                    break;
            }
        }    
    
        switch (phase) {
            case 0:
                height_target_front = 35;
                height_target_back = 35;
                break;
            case 1:
                height_target_front = 15;
                height_target_back = 25;
                break;
            case 2:
                height_target_front = 15;
                height_target_back = 15;
                break;
            case 3:
                height_target_front = 45;
                height_target_back = 30;
                break;
            case 4:
                height_target_front = 15;
                height_target_back = 15;
                break;
            case 5:
                height_target_front = 15;
                height_target_back = 15;
                break;
        } // switch (phase)
        head_target_snap = 1;
        targetx = phasetargetx[phase];
        head_obj.canbehit = 0;
        head_obj.push = 0;
    } // if (statetime == 0)
    head_target_x = x + neck_x + 30;
    head_target_y = y + neck_y;
    if (statetime &lt; 120 &amp;&amp; head_obj.state != 3) {
        if (head_obj.state == 0) {
            head_obj.state = 3;
            head_obj.statetime = 0;
        }
    }
    if (statetime == 400) {
        state = 7;
        statetime = 0;
    }
    if (statetime &gt; 120 &amp;&amp; point_distance(oQueen.x, oQueen.y, oCharacter.x, oQueen.y) &gt; 350) {
        state = 7;
        statetime = 0;
        head_obj.state = 0;
        head_obj.statetime = 0;
        head_obj.jawglowalpha = 0;
    }
} // if (state == 6)
if (state == 7) { // Actual move???
    if (statetime == 0) {
        height_target_front = 25;
        height_target_back = 25;
        head_obj.push = 1;
        targetx = phasetargetx[phase];
    }
    head_obj.canbehit = 0;
    if (point_distance(x, y, oCharacter.x, y) &lt; 260) {
        head_target_x = oCharacter.x - 60;
        head_target_y = oCharacter.y - 30;
    } else {
        head_target_x = x + neck_x + 50;
        head_target_y = y + neck_y;
    }
    with (oCharacter) if (state == 41) {
        xVel = 4;
        if (statetime == 1) yVel = -4.5;
    }
    if (x == targetx) {
        state = 3;
        statetime = -1;
        oQueenHead.myhealth = oQueenHead.starthealthcorridors;
        if (phase == 3) oQueenHead.myhealth = oQueenHead.starthealthbigroom;
        if (phase == 4) {
            phase = 5;
            oQueenHead.myhealth = oQueenHead.starthealthlast;
        }
    }
    maxspeed = 1;
    if (point_distance(x, y, oCharacter.x, y) &gt; 400) maxspeed = 2;
    if (point_distance(x, y, oCharacter.x, y) &gt; 460) maxspeed = 3;
} // if (state == 7)
if (state == 10) {
    if (statetime == 0) {
        height_target_front = 20;
        head_target_x = x + neck_x + 30;
        head_target_y = y + neck_y;
        head_obj.state = 10;
        head_obj.statetime = 0;
        head_obj.canbehit = 1;
        sfx_play(sndQueenRoarShort);
    }
    if (statetime == 60) sfx_play(sndQueenAttack);
    if (statetime &gt; 60) {
        head_target_x = max(784, oCharacter.x - 60);
        head_target_y = oCharacter.y - 38;
        if (oCharacter.state == 53 || oCharacter.state == 54 || oCharacter.state == 55) {
            head_target_x = x + neck_x + 40;
            head_target_y = y + neck_y + 20;
        }
    }
    if (statetime == 300 &amp;&amp; (oCharacter.state == 53 || oCharacter.state == 54)) {
        head_obj.state = 11;
        head_obj.statetime = 0;
        state = 3;
        statetime = 0;
    }
} // if (state == 10)
if (state == 100) {
    if (statetime == 0) {
        height_target_front = 10;
        height_target_back = 10;
        head_obj.push = 0;
        head_obj.canhit = 0;
        head_obj.state = 100;
        head_obj.statetime = 0;
        leg1f_obj.canhit = 0;
        leg1b_obj.canhit = 0;
        head_target_x = x + neck_x + 40;
        head_target_y = y + neck_y + 5;
        alarm[9] = 1;
        alarm[10] = 300;
        head_obj.alarm[9] = 1;
        head_obj.alarm[10] = 280;
        canhit = 0;
        mus_fadeout(musQueen);
        mus_fadeout(musQueen3);
        oMusicV2.bossbgm = sndJump;
        sfx_play(sndQueenDeath);
        global.event[303] = 1;
    }
    if (statetime &gt; 40) {
        if (head_target_y &lt; 160) head_target_y += 2;
    }
} // if (state == 100)
if (x != targetx) {
    if (targetx &gt; x &amp;&amp; hspeed &lt; maxspeed) hspeed += 0.1;
    if (targetx &lt; x &amp;&amp; hspeed &gt; -maxspeed) hspeed -= 0.1;
    if (point_distance(x, y, targetx, y) &lt;= maxspeed) {
        x = targetx;
        hspeed = 0;
    }
}
height_front = height_target_front + sin(sin_timer) * 2;
height_back = height_target_back + sin(sin_timer + 10) * 2;
sin_timer += 0.06;
if (sin_timer &gt; 99999999) sin_timer = 0;
statetime += 1;
</string>
          </argument>
        </arguments>
      </action>
    </event>
    <event eventtype="4" ename="oBomb2">
      <action>
        <libid>1</libid>
        <id>603</id>
        <kind>7</kind>
        <userelative>0</userelative>
        <isquestion>0</isquestion>
        <useapplyto>-1</useapplyto>
        <exetype>2</exetype>
        <functionname></functionname>
        <codestring></codestring>
        <whoName>self</whoName>
        <relative>0</relative>
        <isnot>0</isnot>
        <arguments>
          <argument>
            <kind>1</kind>
            <string>if (state != 100) with (other) event_user(0);
</string>
          </argument>
        </arguments>
      </action>
    </event>
    <event eventtype="4" ename="oMissile">
      <action>
        <libid>1</libid>
        <id>603</id>
        <kind>7</kind>
        <userelative>0</userelative>
        <isquestion>0</isquestion>
        <useapplyto>-1</useapplyto>
        <exetype>2</exetype>
        <functionname></functionname>
        <codestring></codestring>
        <whoName>self</whoName>
        <relative>0</relative>
        <isnot>0</isnot>
        <arguments>
          <argument>
            <kind>1</kind>
            <string>if (state != 100) with (other) event_user(0);
</string>
          </argument>
        </arguments>
      </action>
    </event>
    <event eventtype="4" ename="oBeam">
      <action>
        <libid>1</libid>
        <id>603</id>
        <kind>7</kind>
        <userelative>0</userelative>
        <isquestion>0</isquestion>
        <useapplyto>-1</useapplyto>
        <exetype>2</exetype>
        <functionname></functionname>
        <codestring></codestring>
        <whoName>self</whoName>
        <relative>0</relative>
        <isnot>0</isnot>
        <arguments>
          <argument>
            <kind>1</kind>
            <string>if (state != 100) with (other) {
    event_user(1);
    instance_destroy();
}
</string>
          </argument>
        </arguments>
      </action>
    </event>
    <event eventtype="4" ename="oCharacter">
      <action>
        <libid>1</libid>
        <id>603</id>
        <kind>7</kind>
        <userelative>0</userelative>
        <isquestion>0</isquestion>
        <useapplyto>-1</useapplyto>
        <exetype>2</exetype>
        <functionname></functionname>
        <codestring></codestring>
        <whoName>self</whoName>
        <relative>0</relative>
        <isnot>0</isnot>
        <arguments>
          <argument>
            <kind>1</kind>
            <string>if (canhit == 1) {
    if ((state == 7) &amp;&amp; (phase &lt; 2)) {
        damage_player_push(damage/2, 1, 90, 0, 4);
    }
    else damage_player_push(damage, 1, 90, 0, 4);
}
</string>
          </argument>
        </arguments>
      </action>
    </event>
    <event eventtype="7" enumb="20">
      <action>
        <libid>1</libid>
        <id>603</id>
        <kind>7</kind>
        <userelative>0</userelative>
        <isquestion>0</isquestion>
        <useapplyto>-1</useapplyto>
        <exetype>2</exetype>
        <functionname></functionname>
        <codestring></codestring>
        <whoName>self</whoName>
        <relative>0</relative>
        <isnot>0</isnot>
        <arguments>
          <argument>
            <kind>1</kind>
            <string>with (front_obj) instance_destroy();
with (leg1f_obj) instance_destroy();
with (leg2f_obj) instance_destroy();
with (leg1b_obj) instance_destroy();
with (leg2b_obj) instance_destroy();
</string>
          </argument>
        </arguments>
      </action>
    </event>
    <event eventtype="8" enumb="0">
      <action>
        <libid>1</libid>
        <id>603</id>
        <kind>7</kind>
        <userelative>0</userelative>
        <isquestion>0</isquestion>
        <useapplyto>-1</useapplyto>
        <exetype>2</exetype>
        <functionname></functionname>
        <codestring></codestring>
        <whoName>self</whoName>
        <relative>0</relative>
        <isnot>0</isnot>
        <arguments>
          <argument>
            <kind>1</kind>
            <string>
if(oControl.mod_fusion == 1 || oControl.MonsterPalettesFusionOnly == 0) {
    pal_swap_set(oControl.QueenPalette, 1, false);
}

if (!flashing) {
    draw_self();
} else {
    draw_sprite_ext(sprite_index, -1, x, y, 1, 1, image_angle, make_color_rgb(255 - fxtimer * 63, 255 - fxtimer * 63, 255 - fxtimer * 63), 1);
    draw_set_blend_mode(bm_add);
    repeat (2) draw_sprite_ext(sprite_index, -1, x, y, 1, 1, image_angle, -1, 1 - fxtimer * 0.25);
    draw_set_blend_mode(bm_normal);
}

shader_reset();
</string>
          </argument>
        </arguments>
      </action>
    </event>
  </events>
  <PhysicsObject>0</PhysicsObject>
  <PhysicsObjectSensor>0</PhysicsObjectSensor>
  <PhysicsObjectShape>0</PhysicsObjectShape>
  <PhysicsObjectDensity>0.5</PhysicsObjectDensity>
  <PhysicsObjectRestitution>0.100000001490116</PhysicsObjectRestitution>
  <PhysicsObjectGroup>0</PhysicsObjectGroup>
  <PhysicsObjectLinearDamping>0.100000001490116</PhysicsObjectLinearDamping>
  <PhysicsObjectAngularDamping>0.100000001490116</PhysicsObjectAngularDamping>
  <PhysicsObjectFriction>0.200000002980232</PhysicsObjectFriction>
  <PhysicsObjectAwake>-1</PhysicsObjectAwake>
  <PhysicsObjectKinematic>-1</PhysicsObjectKinematic>
  <PhysicsShapePoints/>
</object>
