You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
AM2R-TimeTrials/objects/oMZeta.object.gmx

1650 lines
46 KiB

<!--This Document is generated by GameMaker, if you edit it by hand then you do so at your own risk!-->
<object>
<spriteName>sMZeta_Body</spriteName>
<solid>0</solid>
<visible>-1</visible>
<depth>0</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>canbeX = 0;
zeta_head[0] = ds_map_find_value(global.zeta_heads, room);
zeta_head[1] = asset_get_index(sprite_get_name(zeta_head[0])+"_Roar");
makeActive();
setCollisionBounds(-10, -30, 10, 43);
//myhealth = 300;
myhealth = global.mod_zetahealth;
flashing = 0;
stunned = 0;
fxtimer = 0;
canbehit = 1;
hpush = 7;
vpush = -3;
//damage = 50;
damage = global.mod_zetadamage;
damagedealt = 0;
givebackhp = 200;
starthealth = myhealth;
hits_taken = 0;
limit_right = 544;
limit_left = 112;
targetx2 = 0;
target_mode = 0;
blur = 0;
roaring = 0;
noswipe = 0;
swiping = 0;
canswipe = 0;
mask_obj = instance_create(x, y, oMZetaBodyMask);
surf = surface_create(160, 128);
surf_x = 80;
surf_y = 80;
image_speed = 0;
facing = 1;
state = 0;
statetime = 0;
xoff = 0;
yoff = 0;
body_obj = instance_create(x, y, oMZetaShield);
body_spr = sMZeta_Body;
body_frame = 0;
body_x = 0;
body_y = 0;
body_angle = 0;
body_angle_base = 0;
body_target_angle = 0;
body_angle_max = 25;
body_angle_min = -25;
head_obj = instance_create(x, y, oMZetaHead);
head_spr = zeta_head[0];//sMZeta_Head;
head_follow = 1;
head_frame = 0;
head_x = 0;
head_y = 0;
head_xoff = 0;
head_yoff = 0;
head_len = 46;
head_dir = 39;
head_angle = 0;
head_target_angle = 0;
head_angle_max = 45;
head_angle_min = -45;
mouth_x = 0;
mouth_y = 0;
mouth_len = 21;
mouth_dir = -77;
farm_spr = sMZeta_FArm;
farm_frame = 0;
farm_x = 0;
farm_y = 0;
farm_xoff = 0;
farm_len = 28;
farm_dir = 25;
barm_spr = sMZeta_BArm;
barm_frame = 0;
barm_x = 0;
barm_y = 0;
barm_xoff = 0;
barm_len = 32;
barm_dir = 21;
fleg_spr = sMZeta_FLeg;
bleg_spr = sMZeta_BLeg;
fleg_frame = 0;
bleg_frame = 0;
legx = 0;
legy = 0;
targetx = 0;
targety = 0;
alarm[3] = 1;
alarm[9] = 1;
scan_log(14, get_text("ScanEvents", "ScanBioform"), 180, 0);
</string>
</argument>
</arguments>
</action>
</event>
<event eventtype="2" enumb="11">
<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 (10) {
expl = instance_create(x - 16 + random(32), y - 16 + random(32), 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);
instance_create(x, y, oScreenFlash);
sfx_play(sndMAlphaExpl);
sfx_play(sndMissileExpl);
mus_current_fadein();
if (oControl.mod_insanitymode == 0 || (global.difficulty &lt; 2 &amp;&amp; oControl.mod_insanitymode == 1)) {
if (damagedealt &gt; givebackhp) damagedealt = givebackhp;
monster_spawn_powerups(x, y, floor(damagedealt / 20), floor(starthealth / 10 / 2));
}
instance_destroy();
</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>expl = instance_create(x - 30 + random(60), y - 5 + random(40), oFXAnimSpark);
expl.image_speed = 0.5;
expl.additive = 0;
expl.sprite_index = sExpl1;
expl.image_xscale = 0.5;
expl.image_yscale = 0.5;
alarm[10] = 5;
</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>if (global.metdead[myid] &gt; 0) {
with (body_obj) instance_destroy();
with (head_obj) instance_destroy();
with (mask_obj) instance_destroy();
instance_destroy();
}
</string>
</argument>
</arguments>
</action>
</event>
<event eventtype="2" enumb="3">
<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 (roaring) {
drl = instance_create(x - surf_x + mouth_x + random_range(-2, 2), y - surf_y + mouth_y, oMZetaDrool);
drl.hspeed = 1.5 * facing;
}
alarm[3] = 3 + random(10);
</string>
</argument>
</arguments>
</action>
</event>
<event eventtype="2" 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>visible = true;
</string>
</argument>
</arguments>
</action>
</event>
<event eventtype="2" enumb="1">
<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>var trail;
trail = instance_create(x, y, oFXTrail);
trail.sprite_index = sMZetaBlur;
trail.image_alpha = 1;
trail.white = 0;
trail.fadespeed = 0.15;
trail.depth = 10;
trail.image_xscale = facing;
if (blur == 1) alarm[1] = 2;
</string>
</argument>
</arguments>
</action>
</event>
<event eventtype="2" 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>var prj;
prj = instance_create(x - surf_x + mouth_x, y - surf_y + mouth_y, oMZetaProj);
prj.speed = 4;
prj.gravity = 0.1;
prj.gravity_direction = 270;
prj.direction = body_angle + (head_dir + mouth_dir) * facing + head_angle;
if (facing == -1) prj.direction += 180;
if (state == 11 &amp;&amp; statetime &lt; 60) alarm[0] = 3;
</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>event_user(10);
if (instance_exists(head_obj)) {
head_obj.x = x - surf_x + xoff + head_x;
head_obj.y = y - surf_y + yoff + head_y;
head_obj.head_spr = head_spr;
head_obj.head_frame = head_frame;
head_obj.facing = facing;
head_obj.image_angle = body_angle + head_angle;
head_obj.image_xscale = facing;
}
if (instance_exists(body_obj)) {
body_obj.x = x + xoff;
body_obj.y = y + yoff;
body_obj.image_angle = body_angle;
body_obj.image_xscale = facing;
}
if (instance_exists(mask_obj)) {
mask_obj.x = x + xoff;
mask_obj.y = y + yoff;
mask_obj.image_xscale = facing;
}
</string>
</argument>
</arguments>
</action>
</event>
<event eventtype="3" enumb="1">
<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>instance_activate_region(x - 64, y - 64, 128, 128, 1);
</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>var msl, fr_speed;
if (target_mode == 0) {
targetx = oCharacter.x;
targety = oCharacter.y;
} else if (target_mode == 1) {
targetx = targetx2;
targety = y;
}
image_xscale = facing;
if (global.difficulty &gt;= 2 || myhealth &lt; 150) {
canswipe = 1;
} else canswipe = 0;
if (isCollisionBottom(1) == 0) {
yVel += 0.2;
} else if (yVel &gt; 0) yVel = 0;
if (state == 0) {
body_frame = 0;
head_frame = 0;
body_target_angle = 0;
fleg_spr = sMZeta_FLeg;
bleg_spr = sMZeta_BLeg;
farm_spr = sMZeta_FArm;
barm_spr = sMZeta_BArm;
bleg_frame = 0;
fleg_frame = 0;
farm_frame = 0;
barm_frame = 0;
yoff = 0;
head_yoff = 0;
head_follow = 1;
xVel = 0;
if (point_distance(x, y, oCharacter.x, y) &lt; (160 + (oControl.widescreen_space/2))) event_user(1);
if (instance_exists(oMissile)) {
msl = instance_nearest(x, y, oMissile);
if (distance_to_object(msl) &lt; 60) event_user(1);
}
if (instance_exists(oBeam)) {
msl = instance_nearest(x, y, oBeam);
if (distance_to_object(msl) &lt; 60) event_user(1);
}
} // if (state == 0)
if (state == 1) {
if (statetime == 0) {
body_target_angle = -15;
head_spr = zeta_head[1];//sMZeta_Head_Roar;
fleg_spr = sMZeta_FLeg_Walk;
bleg_spr = sMZeta_BLeg_Walk;
farm_spr = sMZeta_FArm;
barm_spr = sMZeta_BArm;
bleg_frame = 0;
fleg_frame = 0;
farm_frame = 0;
barm_frame = 0;
head_frame = 0;
yoff = 0;
head_yoff = 0;
head_follow = 1;
xVel = 2 * facing;
}
if (targetx &lt; x &amp;&amp; facing == 1 || targetx &gt; x &amp;&amp; facing == -1) {
state = 2;
statetime = 0;
}
if (target_mode == 1 &amp;&amp; distance_to_point(targetx, targety) &lt; 32) target_mode = 0;
if (fleg_frame &gt;= 3 &amp;&amp; fleg_frame &lt; 3.25 || fleg_frame &gt;= 14 &amp;&amp; fleg_frame &lt; 14.25) {
sfx_play(sndMZetaFootstep);
screen_shake(5, 2);
}
if (swiping == 0 &amp;&amp; instance_number(oMissile) &gt; 0 &amp;&amp; canswipe) {
msl = instance_nearest(x, y, oMissile);
if ((noswipe == 0) &amp;&amp; swiping == 0) { // if ((msl.smissile &gt; 0 || noswipe == 0) &amp;&amp; swiping == 0) {
if (msl.x &gt; x &amp;&amp; facing == 1 || msl.x &lt; x &amp;&amp; facing == -1) {
swiping = 1;
noswipe = 150;
farm_spr = sMZeta_FArm_Swipe;
farm_frame = 8;
sfx_play(sndMZetaAttack2);
roaring = 30;
}
}
}
if (swiping == 0 &amp;&amp; point_distance(x, y, oCharacter.x, y) &lt; 70 &amp;&amp; oCharacter.y &gt; y + 40 &amp;&amp; (oCharacter.x &gt; x &amp;&amp; facing == 1 || oCharacter.x &lt; x &amp;&amp; facing == -1)) {
if (x &gt; limit_left + 32 &amp;&amp; x &lt; limit_right - 32) {
swiping = 1;
noswipe = 150;
farm_spr = sMZeta_FArm_Swipe;
farm_frame = 8;
sfx_play(sndMZetaAttack2);
roaring = 30;
}
}
if (swiping) {
fr_speed = -0.5;
if (farm_frame &lt; 6.5) fr_speed = -0.25;
xVel = 1.2 * facing;
farm_frame = anim_frame(farm_spr, farm_frame, fr_speed);
if (farm_frame &gt;= 6 &amp;&amp; farm_frame &lt; 6.5) {
proj = instance_create(x - surf_x + farm_x + 14 * facing, y - surf_y + farm_y + 10, oMZetaSlashProj2);
proj.hspeed = 2 * facing;
proj.image_xscale = facing;
sfx_play(sndArachnusSwipe);
}
if (farm_frame &lt; 0.5) {
swiping = 0;
farm_spr = sMZeta_FArm;
}
} else xVel = 2 * facing;
if (hits_taken &gt;= 2 &amp;&amp; statetime &gt; 30 &amp;&amp; (oCharacter.x &gt; x &amp;&amp; facing == 1 || oCharacter.x &lt; x &amp;&amp; facing == -1)) {
state = choose(3, 6, 8);
statetime = 0;
hits_taken = 0;
}
if (statetime == 120 &amp;&amp; target_mode == 0) {
state = choose(3, 6, 8); // PICK ATTACK
statetime = 0;
}
if (x &gt; limit_right &amp;&amp; facing == 1 || x &lt; limit_left &amp;&amp; facing == -1) {
state = 10;
statetime = 0;
}
if (facing == 1 &amp;&amp; isCollisionRight(1) &amp;&amp; x &lt; limit_right || facing == -1 &amp;&amp; isCollisionLeft(1) &amp;&amp; x &gt; limit_left) {
state = 3;
statetime = 0;
}
if (facing == 1 &amp;&amp; collision_point(x + 20, y + 45, oSolid, false, true) == noone || facing == -1 &amp;&amp; collision_point(x - 20, y + 45, oSolid, false, true) == noone) {
state = 3;
statetime = 0;
}
fleg_frame = anim_frame_cycle(fleg_spr, fleg_frame, abs(xVel) * 0.2);
bleg_frame = fleg_frame;
if (floor(fleg_frame) == 0) {
yoff = 0;
head_yoff = 0;
body_frame = 0;
if (!swiping) farm_frame = 0;
barm_frame = 0;
}
if (floor(fleg_frame) == 1) {
yoff = 0;
head_yoff = 0;
body_frame = 0;
if (!swiping) farm_frame = 0;
barm_frame = 0;
}
if (floor(fleg_frame) == 2) {
yoff = 1;
head_yoff = 0;
body_frame = 1;
if (!swiping) farm_frame = 0;
barm_frame = 0;
}
if (floor(fleg_frame) == 3) {
yoff = 2;
head_yoff = 0;
body_frame = 1;
if (!swiping) farm_frame = 0;
barm_frame = 0;
}
if (floor(fleg_frame) == 4) {
yoff = 3;
head_yoff = 0;
body_frame = 2;
if (!swiping) farm_frame = 0;
barm_frame = 0;
}
if (floor(fleg_frame) == 5) {
yoff = 3;
head_yoff = 0;
body_frame = 2;
if (!swiping) farm_frame = 0;
barm_frame = 0;
}
if (floor(fleg_frame) == 6) {
yoff = 3;
head_yoff = 1;
body_frame = 1;
if (!swiping) farm_frame = 1;
barm_frame = 1;
}
if (floor(fleg_frame) == 7) {
yoff = 2;
head_yoff = 2;
body_frame = 1;
if (!swiping) farm_frame = 2;
barm_frame = 2;
}
if (floor(fleg_frame) == 8) {
yoff = 2;
head_yoff = 2;
body_frame = 0;
if (!swiping) farm_frame = 2;
barm_frame = 2;
}
if (floor(fleg_frame) == 9) {
yoff = 1;
head_yoff = 1;
body_frame = 0;
if (!swiping) farm_frame = 1;
barm_frame = 1;
}
if (floor(fleg_frame) == 10) {
yoff = 1;
head_yoff = 1;
body_frame = 0;
if (!swiping) farm_frame = 1;
barm_frame = 1;
}
if (floor(fleg_frame) == 11) {
yoff = 0;
head_yoff = 0;
body_frame = 0;
if (!swiping) farm_frame = 0;
barm_frame = 0;
}
if (floor(fleg_frame) == 12) {
yoff = 0;
head_yoff = 0;
body_frame = 3;
if (!swiping) farm_frame = 0;
barm_frame = 0;
}
if (floor(fleg_frame) == 13) {
yoff = 1;
head_yoff = 0;
body_frame = 3;
if (!swiping) farm_frame = 0;
barm_frame = 0;
}
if (floor(fleg_frame) == 14) {
yoff = 2;
head_yoff = 0;
body_frame = 4;
if (!swiping) farm_frame = 0;
barm_frame = 0;
}
if (floor(fleg_frame) == 15) {
yoff = 3;
head_yoff = 0;
body_frame = 4;
if (!swiping) farm_frame = 0;
barm_frame = 0;
}
if (floor(fleg_frame) == 16) {
yoff = 3;
head_yoff = 0;
body_frame = 4;
if (!swiping) farm_frame = 0;
barm_frame = 0;
}
if (floor(fleg_frame) == 17) {
yoff = 3;
head_yoff = 1;
body_frame = 3;
if (!swiping) farm_frame = 1;
barm_frame = 1;
}
if (floor(fleg_frame) == 18) {
yoff = 2;
head_yoff = 2;
body_frame = 3;
if (!swiping) farm_frame = 2;
barm_frame = 2;
}
if (floor(fleg_frame) == 19) {
yoff = 1;
head_yoff = 1;
body_frame = 0;
if (!swiping) farm_frame = 1;
barm_frame = 1;
}
if (floor(fleg_frame) == 20) {
yoff = 1;
head_yoff = 1;
body_frame = 0;
if (!swiping) farm_frame = 1;
barm_frame = 1;
}
} // if (state == 1)
if (state == 2) {
if (statetime == 0) {
head_spr = zeta_head[0];//sMZeta_Head;
body_frame = 0;
body_target_angle = 0;
head_target_angle = 0;
yoff = 0;
head_yoff = 0;
bleg_frame = 0;
fleg_frame = 0;
farm_frame = 0;
barm_frame = 0;
head_follow = 0;
}
xVel *= 0.95;
if (statetime &gt; 0) {
if (head_frame &lt; 2.5) head_frame += 0.25;
}
if (statetime == 10) {
body_spr = sMZeta_Body_Turn;
fleg_spr = -4;
bleg_spr = -4;
farm_spr = -4;
barm_spr = -4;
head_xoff = -20;
}
if (statetime == 14) facing *= -1;
if (statetime &gt;= 18) {
body_spr = sMZeta_Body;
farm_spr = sMZeta_FArm;
barm_spr = sMZeta_BArm;
fleg_spr = sMZeta_FLeg;
bleg_spr = sMZeta_BLeg;
head_xoff = 0;
if (head_frame &gt; 0) head_frame -= 0.25;
}
if (statetime == 22) {
state = 1;
statetime = -1;
}
} // if (state == 2)
if (state == 3) {
if (statetime == 0) {
body_frame = 0;
body_target_angle = -20;
head_spr = zeta_head[1];//sMZeta_Head_Roar;
fleg_spr = sMZeta_FLeg_Crouch;
bleg_spr = sMZeta_BLeg_Crouch;
bleg_frame = 0;
fleg_frame = 0;
farm_frame = 0;
barm_frame = 0;
yoff = 0;
head_yoff = 0;
head_follow = 1;
xVel = 0;
yVel = 0;
if (x &lt; limit_left + 32 &amp;&amp; x &gt; limit_right - 32) {
state = 10;
statetime = 0;
}
}
if (statetime &lt; 30) {
fleg_frame = anim_frame(sMZeta_FLeg_Crouch, fleg_frame, 0.5);
bleg_frame = fleg_frame;
}
if (statetime == 40) {
state = 4;
statetime = 0;
}
} // if (state == 3)
if (state == 4) {
if (statetime == 0) {
body_frame = 0;
body_target_angle = 20;
head_spr = zeta_head[1];//sMZeta_Head_Roar;
fleg_spr = sMZeta_FLeg_Jump;
bleg_spr = sMZeta_BLeg_Jump;
bleg_frame = 0;
fleg_frame = 0;
farm_frame = 0;
barm_frame = 0;
yoff = 0;
head_yoff = 0;
yVel = -3.2;
xVel = 4 * facing;
sfx_play(sndMZetaJump);
}
if (statetime &lt; 10) {
bleg_frame = 0;
fleg_frame = 0;
}
if (statetime &gt;= 10) {
fleg_frame = anim_frame(sMZeta_FLeg_Jump, fleg_frame, 0.2);
bleg_frame = fleg_frame;
}
if (isCollisionBottom(1) &gt; 0 &amp;&amp; statetime &gt; 10) {
state = 5;
statetime = 0;
}
} // if (state == 4)
if (state == 5) {
if (statetime == 0) {
body_frame = 0;
body_target_angle = -20;
head_spr = zeta_head[1];//sMZeta_Head_Roar;
fleg_spr = sMZeta_FLeg_Crouch;
bleg_spr = sMZeta_BLeg_Crouch;
bleg_frame = 5;
fleg_frame = 5;
farm_frame = 0;
barm_frame = 0;
yoff = 0;
head_yoff = 0;
xVel = 0;
yVel = 0;
sfx_play(sndMZetaLand);
make_smoke_explosion(x, y + 41);
make_smoke_explosion(x + 10, y + 41);
make_smoke_explosion(x - 10, y + 41);
screen_shake(8, 3);
}
if (statetime &lt; 30) {
fleg_frame = anim_frame(sMZeta_FLeg_Crouch, fleg_frame, -0.5);
bleg_frame = fleg_frame;
}
if (statetime == 20) {
state = 1;
statetime = -1;
}
} // if (state == 5)
if (state == 6) {
if (statetime == 0) {
body_frame = 0;
body_target_angle = -20;
head_spr = zeta_head[1];//sMZeta_Head_Roar;
fleg_spr = sMZeta_FLeg_Crouch;
bleg_spr = sMZeta_BLeg_Crouch;
bleg_frame = 0;
fleg_frame = 0;
farm_spr = sMZeta_FArm;
barm_spr = sMZeta_BArm;
farm_frame = 0;
barm_frame = 0;
yoff = 0;
head_yoff = 0;
head_follow = 1;
xVel = 0;
sfx_play(sndMZetaAttack);
roaring = 30;
}
if (statetime &lt; 20) {
fleg_frame = anim_frame(sMZeta_FLeg_Crouch, fleg_frame, 1);
bleg_frame = fleg_frame;
}
if (statetime == 10) {
farm_spr = sMZeta_FArm_Swipe;
body_frame = 3;
}
if (statetime &gt; 10 &amp;&amp; statetime &lt; 35) farm_frame = anim_frame(sMZeta_FArm_Swipe, farm_frame, 0.5);
if (statetime == 15) {
body_frame = 4;
head_frame = 3;
}
if (statetime == 25) {
proj = instance_create(x - surf_x + farm_x + 14 * facing, y - surf_y + farm_y + 10, oMZetaSlashProj);
proj.hspeed = 5 * facing;
proj.image_xscale = facing;
sfx_play(sndArachnusSwipe);
}
if (statetime == 30) {
farm_spr = sMZeta_FArm;
barm_spr = sMZeta_FArm_Swipe;
body_frame = 1;
head_frame = 0;
}
if (statetime &gt; 30 &amp;&amp; statetime &lt; 50) barm_frame = anim_frame(sMZeta_FArm_Swipe, barm_frame, 0.5);
if (statetime == 35) {
body_frame = 2;
head_frame = 1;
}
if (statetime == 45) {
proj = instance_create(x - surf_x + barm_x + 14 * facing, y - surf_y + barm_y + 10, oMZetaSlashProj);
proj.hspeed = 5 * facing;
proj.image_xscale = facing;
sfx_play(sndArachnusSwipe);
head_frame = 0;
}
if (statetime == 50) barm_spr = sMZeta_BArm;
if (statetime &gt; 50) {
fleg_frame = anim_frame(sMZeta_FLeg_Crouch, fleg_frame, -0.5);
bleg_frame = fleg_frame;
}
if (statetime == 60) {
state = 1;
statetime = -1;
}
} // if (state == 6)
if (state == 7) {
head_target_angle = 0;
if (statetime == 0) {
body_frame = 0;
body_target_angle = 20;
yoff = 0;
head_yoff = 0;
head_xoff = -5;
bleg_frame = 0;
fleg_frame = 0;
farm_frame = 0;
barm_frame = 0;
head_follow = 0;
}
if (statetime &gt; 0 &amp;&amp; statetime &lt; 15) {
if (head_frame &lt; 2.5) head_frame += 0.25;
if (head_xoff &lt; 0) head_xoff += 1;
}
if (statetime == 20) body_target_angle = 17;
if (statetime &gt; 30) {
if (head_frame &gt; 0) head_frame -= 0.1;
}
if (statetime == 60) {
state = 0;
statetime = -1;
}
} // if (state == 7)
if (state == 8) {
if (statetime == 0) {
body_frame = 0;
body_target_angle = -25;
fleg_spr = sMZeta_FLeg_Walk;
bleg_spr = sMZeta_BLeg_Walk;
bleg_frame = 0;
fleg_frame = 0;
farm_frame = 0;
barm_frame = 0;
yoff = 0;
head_yoff = 0;
head_follow = 0;
head_target_angle = -30 * facing;
xVel = 0;
yVel = 0;
sfx_play(sndMZetaAttack2);
roaring = 30;
}
if (statetime &lt; 50) fleg_frame = anim_frame_cycle(sMZeta_FLeg_Walk, fleg_frame, 1);
if (statetime == 50) {
state = 9;
statetime = 0;
}
switch (fleg_frame) {
case 4:
make_smoke_explosion(x + 16 * facing, y + 41);
sfx_play(sndMZetaCharge);
break;
case 6: make_smoke_explosion(x + 8 * facing, y + 41); break;
case 8: make_smoke_explosion(x - 2 * facing, y + 41); break;
case 10: make_smoke_explosion(x - 6 * facing, y + 41); break;
case 12: make_smoke_explosion(x - 14 * facing, y + 41); break;
case 14: make_smoke_explosion(x - 24 * facing, y + 41); break;
}
} // if (state == 8)
if (state == 9) {
if (statetime == 0) {
body_frame = 0;
body_target_angle = -30;
fleg_spr = sMZeta_FLeg_Walk;
bleg_spr = sMZeta_BLeg_Walk;
bleg_frame = 12;
fleg_frame = 15;
farm_frame = 0;
barm_frame = 0;
yoff = 0;
head_yoff = 10;
head_xoff = 1;
head_follow = 0;
yVel = 0;
xVel = 10 * facing;
blur = 1;
alarm[1] = 1;
sfx_play(sndArachnusHomingBall);
}
if ((facing == 1 &amp;&amp; collision_line(x, y + 40, x + 60, y + 40, oSolid, false, true) || facing == -1 &amp;&amp; collision_line(x, y + 40, x - 60, y + 40, oSolid, false, true)) &amp;&amp; statetime &lt; 17) {
statetime = 17;
xVel = 0;
}
if (statetime &gt; 16) {
xVel *= 0.7;
blur = 0;
if (floor(fleg_frame) != 8) fleg_frame = anim_frame_cycle(sMZeta_FLeg_Walk, fleg_frame, 0.5);
if (floor(bleg_frame) != 18) bleg_frame = anim_frame_cycle(sMZeta_BLeg_Walk, bleg_frame, 0.25);
}
if (statetime == 50) {
state = 1;
statetime = -1;
}
head_target_angle = -30 * facing;
head_angle = -30 * facing;
if (floor(fleg_frame) == 0) {
yoff = 0;
head_yoff = 0;
body_frame = 0;
if (!swiping) farm_frame = 0;
barm_frame = 0;
}
if (floor(fleg_frame) == 1) {
yoff = 0;
head_yoff = 0;
body_frame = 0;
if (!swiping) farm_frame = 0;
barm_frame = 0;
}
if (floor(fleg_frame) == 2) {
yoff = 1;
head_yoff = 0;
body_frame = 1;
if (!swiping) farm_frame = 0;
barm_frame = 0;
}
if (floor(fleg_frame) == 3) {
yoff = 2;
head_yoff = 0;
body_frame = 1;
if (!swiping) farm_frame = 0;
barm_frame = 0;
}
if (floor(fleg_frame) == 4) {
yoff = 3;
head_yoff = 0;
body_frame = 2;
if (!swiping) farm_frame = 0;
barm_frame = 0;
}
if (floor(fleg_frame) == 5) {
yoff = 3;
head_yoff = 0;
body_frame = 2;
if (!swiping) farm_frame = 0;
barm_frame = 0;
}
if (floor(fleg_frame) == 6) {
yoff = 3;
head_yoff = 1;
body_frame = 1;
if (!swiping) farm_frame = 1;
barm_frame = 1;
}
if (floor(fleg_frame) == 7) {
yoff = 2;
head_yoff = 2;
body_frame = 1;
if (!swiping) farm_frame = 2;
barm_frame = 2;
}
if (floor(fleg_frame) == 8) {
yoff = 2;
head_yoff = 2;
body_frame = 0;
if (!swiping) farm_frame = 2;
barm_frame = 2;
}
if (floor(fleg_frame) == 9) {
yoff = 1;
head_yoff = 1;
body_frame = 0;
if (!swiping) farm_frame = 1;
barm_frame = 1;
}
if (floor(fleg_frame) == 10) {
yoff = 1;
head_yoff = 1;
body_frame = 0;
if (!swiping) farm_frame = 1;
barm_frame = 1;
}
if (floor(fleg_frame) == 11) {
yoff = 0;
head_yoff = 0;
body_frame = 0;
if (!swiping) farm_frame = 0;
barm_frame = 0;
}
if (floor(fleg_frame) == 12) {
yoff = 0;
head_yoff = 0;
body_frame = 3;
if (!swiping) farm_frame = 0;
barm_frame = 0;
}
if (floor(fleg_frame) == 13) {
yoff = 1;
head_yoff = 0;
body_frame = 3;
if (!swiping) farm_frame = 0;
barm_frame = 0;
}
if (floor(fleg_frame) == 14) {
yoff = 2;
head_yoff = 0;
body_frame = 4;
if (!swiping) farm_frame = 0;
barm_frame = 0;
}
if (floor(fleg_frame) == 15) {
yoff = 3;
head_yoff = 0;
body_frame = 4;
if (!swiping) farm_frame = 0;
barm_frame = 0;
}
if (floor(fleg_frame) == 16) {
yoff = 3;
head_yoff = 0;
body_frame = 4;
if (!swiping) farm_frame = 0;
barm_frame = 0;
}
if (floor(fleg_frame) == 17) {
yoff = 3;
head_yoff = 1;
body_frame = 3;
if (!swiping) farm_frame = 1;
barm_frame = 1;
}
if (floor(fleg_frame) == 18) {
yoff = 2;
head_yoff = 2;
body_frame = 3;
if (!swiping) farm_frame = 2;
barm_frame = 2;
}
if (floor(fleg_frame) == 19) {
yoff = 1;
head_yoff = 1;
body_frame = 0;
if (!swiping) farm_frame = 1;
barm_frame = 1;
}
if (floor(fleg_frame) == 20) {
yoff = 1;
head_yoff = 1;
body_frame = 0;
if (!swiping) farm_frame = 1;
barm_frame = 1;
}
} // if (state == 9)
if (state == 10) {
if (statetime == 0) {
body_frame = 0;
body_target_angle = 15;
fleg_spr = sMZeta_FLeg_Walk;
bleg_spr = sMZeta_BLeg_Jump;
bleg_frame = 1;
fleg_frame = 3;
farm_frame = 0;
barm_frame = 0;
yoff = 0;
head_yoff = 0;
head_xoff = 0;
head_follow = 1;
yVel = -2;
xVel = -5 * facing;
sfx_play(sndMZetaAttack2);
sfx_play(sndMZetaJump);
roaring = 20;
}
if (isCollisionBottom(1) &gt; 0 &amp;&amp; statetime &gt; 10) {
state = 11;
statetime = 0;
sfx_play(sndMZetaLand);
screen_shake(8, 3);
make_smoke_explosion(x, y + 41);
make_smoke_explosion(x + 10, y + 41);
make_smoke_explosion(x - 10, y + 41);
}
} // if (state == 10)
if (state == 11) {
if (statetime == 0) {
body_frame = 0;
body_target_angle = -20;
fleg_spr = sMZeta_FLeg_Crouch;
bleg_spr = sMZeta_BLeg_Crouch;
bleg_frame = 0;
fleg_frame = 0;
farm_spr = sMZeta_FArm;
barm_spr = sMZeta_BArm;
farm_frame = 0;
barm_frame = 0;
yoff = 0;
head_spr = zeta_head[1];//sMZeta_Head_Roar;
head_yoff = 0;
head_follow = 0;
xVel = 0;
head_target_angle = -10 * facing;
alarm[0] = 30;
}
if (statetime &lt; 30) {
fleg_frame = anim_frame(sMZeta_FLeg_Crouch, fleg_frame, 0.5);
bleg_frame = fleg_frame;
}
if (statetime == 10) mask_index = sMZetaMask2;
if (statetime == 30) {
head_target_angle = 30 * facing;
body_target_angle = 10;
sfx_play(sndMZetaAcid);
}
if (statetime &gt; 20 &amp;&amp; statetime &lt; 60) roaring = 1;
if (statetime &gt; 90) {
fleg_frame = anim_frame(sMZeta_FLeg_Crouch, fleg_frame, -0.5);
bleg_frame = fleg_frame;
}
if (statetime == 100) {
mask_index = sprite_index;
state = 1;
statetime = -1;
target_mode = 1;
targetx2 = x + -300 * facing;
}
} // if (state == 11)
if (state == 50) {
if (statetime == 0) {
body_spr = sMZeta_Body2;
body_frame = 1;
body_target_angle = -32;
image_angle = -32;
fleg_spr = sMZeta_FLeg_Crouch;
bleg_spr = sMZeta_BLeg_Crouch;
bleg_frame = 5;
fleg_frame = 5;
farm_frame = 0;
barm_frame = 0;
yoff = 0;
head_xoff = -13;
head_yoff = 23;
head_follow = 0;
head_target_angle = -40 * facing;
head_angle = -40 * facing;
}
if (statetime &gt; 30 &amp;&amp; statetime &lt; 120) {
if (collision_line(x, y, x, y + 43, oSolid, false, true)) y -= 0.5;
}
if (statetime &gt; 70) {
fleg_frame = anim_frame(sMZeta_FLeg_Crouch, fleg_frame, -0.25);
bleg_frame = fleg_frame;
}
if (statetime &gt; 50) {
head_xoff = lerp(head_xoff, 0, 0.05);
head_yoff = lerp(head_yoff, 0, 0.05);
body_target_angle = lerp(body_target_angle, 0, 0.02);
}
if (statetime &gt; 85) head_target_angle = lerp(head_target_angle, 0, 0.05);
if (statetime == 90) {
fleg_spr = sMZeta_FLeg;
bleg_spr = sMZeta_BLeg;
bleg_frame = 0;
fleg_frame = 0;
yoff = 0;
}
if (statetime == 95) body_frame = 0;
if (statetime == 100) {
body_spr = sMZeta_Body;
body_frame = 2;
}
if (statetime &gt; 100) body_frame = anim_frame(sMZeta_Body, body_frame, -0.2);
if (statetime == 200) {
event_user(1);
statetime = -1;
with (oEventCamera2) alarm[0] = 20;
}
} // if (state == 50)
if (state == 100) {
xVel = 0;
if (statetime == 0) {
body_frame = 0;
body_target_angle = -30;
fleg_spr = sMZeta_FLeg_Crouch;
bleg_spr = sMZeta_BLeg_Crouch;
bleg_frame = 0;
fleg_frame = 0;
farm_frame = 0;
barm_frame = 0;
yoff = 0;
head_yoff = 0;
head_follow = 0;
head_target_angle = -30 * facing;
xVel = 0;
yVel = 0;
blur = 0;
sfx_play(sndMZetaDeath);
roaring = 100;
with (cam) instance_destroy();
}
if (statetime &lt; 30) {
fleg_frame = anim_frame(sMZeta_FLeg_Crouch, fleg_frame, 0.5);
bleg_frame = fleg_frame;
}
} // if (state == 100)
if (fleg_spr == sMZeta_FLeg_Crouch) {
if (floor(fleg_frame) == 0) yoff = 1;
if (floor(fleg_frame) == 1) yoff = 2;
if (floor(fleg_frame) == 2) yoff = 4;
if (floor(fleg_frame) == 3) yoff = 6;
if (floor(fleg_frame) == 4) yoff = 8;
if (floor(fleg_frame) == 5) yoff = 10;
}
if (body_spr == sMZeta_Body) {
if (body_frame == 0) {
farm_xoff = 0;
barm_xoff = 0;
}
if (body_frame == 1) {
farm_xoff = -1;
barm_xoff = 1;
}
if (body_frame == 2) {
farm_xoff = -2;
barm_xoff = 2;
}
if (body_frame == 3) {
farm_xoff = 1;
barm_xoff = -1;
}
if (body_frame == 4) {
farm_xoff = 2;
barm_xoff = -2;
}
}
if (head_target_angle != head_angle) {
head_angle = lerp(head_angle, head_target_angle, 0.1);
head_angle = clamp(head_angle, head_angle_min, head_angle_max);
}
if (body_target_angle != body_angle_base) {
body_angle_base += (body_target_angle - body_angle_base) / 10;
body_angle_base = min(body_angle_base, body_angle_max);
body_angle_base = max(body_angle_base, body_angle_min);
}
body_angle = body_angle_base * facing;
image_angle = body_angle;
body_x = surf_x + xoff * facing;
body_y = surf_y + yoff;
head_x = body_x + lengthdir_x(head_len * facing, body_angle + head_dir * facing) + head_xoff * facing;
head_y = body_y + lengthdir_y(head_len * facing, body_angle + head_dir * facing) + head_yoff;
mouth_x = head_x + lengthdir_x(mouth_len * facing, body_angle + head_dir * facing + mouth_dir * facing + head_angle);
mouth_y = head_y + lengthdir_y(mouth_len * facing, body_angle + head_dir * facing + mouth_dir * facing + head_angle);
farm_x = body_x + lengthdir_x(farm_len * facing, body_angle + farm_dir * facing) + farm_xoff * facing;
farm_y = body_y + lengthdir_y(farm_len * facing, body_angle + farm_dir * facing);
barm_x = body_x + lengthdir_x(barm_len * facing, body_angle + barm_dir * facing) + barm_xoff * facing;
barm_y = body_y + lengthdir_y(barm_len * facing, body_angle + barm_dir * facing);
if (head_follow) {
head_target_angle = round(point_direction(x - surf_x + head_x, y - surf_y + head_y, targetx, targety));
head_target_angle += 30 * facing;
if (facing == 1) {
if (head_target_angle &gt; 180) head_target_angle -= 360;
} else head_target_angle -= 180;
}
if (head_spr == zeta_head[1]/*sMZeta_Head_Roar*/) {
if (roaring &gt; 0) {
head_frame = anim_frame(zeta_head[1]/*sMZeta_Head_Roar*/, head_frame, 0.25);
} else head_frame = anim_frame(zeta_head[1]/*sMZeta_Head_Roar*/, head_frame, -0.25);
}
with (oCharacter) if (state == 41) {
if (facing == LEFT) {
xVel = 4;
} else xVel = -4;
if (statetime == 1) yVel = -4;
}
statetime += 1;
if (flashing &gt; 0) flashing -= 1;
if (fxtimer &lt; 5) {
fxtimer += 1;
} else fxtimer = 0;
if (noswipe &gt; 0) noswipe -= 1;
if (roaring &gt; 0) roaring -= 1;
moveTo(xVel, yVel);
</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 (myhealth &gt; 0) {
if (flashing == 0) {
event_user(0);
with (other) event_user(0);
} else with (other) event_user(1);
}
</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 (oBeam.chargebeam &amp;&amp; !oBeam.ibeam &amp;&amp; !oBeam.wbeam &amp;&amp; !oBeam.pbeam &amp;&amp; !oBeam.sbeam &amp;&amp; global.missiles == 0 &amp;&amp; global.smissiles == 0) {
if (myhealth &gt; 0) {
if (flashing == 0) {
event_user(0);
with (other) event_user(0);
with (other) instance_destroy();
} else with (other) event_user(1);
}
}
else {
with (other) {
event_user(1);
instance_destroy();
}
}
</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>if (surface_exists(surf)) {
surface_set_target(surf);
draw_clear_alpha(c_black, 0);
if (blur == 0) {
if (bleg_spr != -4) draw_sprite_ext(bleg_spr, bleg_frame, body_x, surf_y, facing, 1, 0, -1, 1);
if (barm_spr != -4) draw_sprite_ext(barm_spr, barm_frame, barm_x, barm_y, facing, 1, 0, -1, 1);
if (body_spr != -4) draw_sprite_ext(body_spr, body_frame, body_x, body_y, facing, 1, body_angle, -1, 1);
if (head_spr != -4) draw_sprite_ext(head_spr, head_frame, head_x, head_y, facing, 1, body_angle + head_angle, -1, 1);
if (farm_spr != -4) draw_sprite_ext(farm_spr, farm_frame, farm_x, farm_y, facing, 1, 0, -1, 1);
if (fleg_spr != -4) draw_sprite_ext(fleg_spr, fleg_frame, body_x, surf_y, facing, 1, 0, -1, 1);
} else {
draw_sprite_ext(sMZetaBlur, -1, body_x, body_y, facing, 1, 0, -1, 1);
}
surface_reset_target();
}
</string>
</argument>
</arguments>
</action>
</event>
<event eventtype="7" enumb="11">
<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>state = 1;
statetime = 0;
sfx_play(sndMZetaIntro);
roaring = 120;
mus_zeta_monster();
myposx = floor(x / 320);
myposy = floor((y - 8) / 240);
mapposx = myposx + global.mapoffsetx;
mapposy = myposy + global.mapoffsety;
global.dmap[mapposx, mapposy] = 10;
with (oControl) event_user(2);
cam = instance_create(x, y, oObjectCamera);
cam.target_obj = id;
</string>
</argument>
</arguments>
</action>
</event>
<event eventtype="7" 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>var dmg, flashtime;
dmg = 10;
flashtime = 20;
if (other.smissile == 1) {
dmg = 50;
flashtime = 60;
}
myhealth -= dmg;
flashing = flashtime;
canbehit = 0;
//noswipe = 0;
hits_taken += 1;
if (myhealth &lt;= 0) {
state = 100;
statetime = 0;
alarm[10] = 1;
alarm[11] = 160;
with (body_obj) instance_destroy();
with (head_obj) instance_destroy();
with (mask_obj) instance_destroy();
mus_fadeout(musZetaFight);
oMusicV2.bossbgm = sndJump;
global.metdead[myid] = 1;
global.monstersleft -= 1;
global.monstersarea -= 1;
check_areaclear();
global.dmap[mapposx, mapposy] = 11;
with (oControl) event_user(2);
}
if (myhealth &gt; 0) {
PlaySoundMono(sndMZetaHit);
roaring = 15;
}
</string>
</argument>
</arguments>
</action>
</event>
<event eventtype="7" enumb="5">
<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.ingame == 1 &amp;&amp; state != 0) {
mus_stop(musZetaFight);
with (oMusicV2) {
alarm[3] = -1;
bossbgm = sndJump;
}
mus_current_fadein();
}
</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.ZetaPalette, 1, false);
}
if (surface_exists(surf)) {
if (!flashing) {
draw_surface_ext(surf, x - surf_x, y - surf_y, 1, 1, 0, image_blend, 1);
} else {
draw_surface_ext(surf, x - surf_x, y - surf_y, 1, 1, 0, make_color_rgb(255 - fxtimer * 63, 255 - fxtimer * 63, 255 - fxtimer * 63), 1);
draw_set_blend_mode(bm_add);
repeat (2) draw_surface_ext(surf, x - surf_x, y - surf_y, 1, 1, 0, -1, 1 - fxtimer * 0.25);
draw_set_blend_mode(bm_normal);
}
} else {
surface_free(surf);
surf = surface_create(160, 128);
event_user(10);
}
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>