Files
AM2R-Community-Updates/objects/oShirk.object.gmx
2020-12-22 20:54:55 -06:00

419 lines
13 KiB
XML

<!--This Document is generated by GameMaker, if you edit it by hand then you do so at your own risk!-->
<object>
<spriteName>sShirk</spriteName>
<solid>0</solid>
<visible>-1</visible>
<depth>-3</depth>
<persistent>0</persistent>
<parentName>oEnemy</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>action_inherited();
canbeX = 0;
makeActive();
setCollisionBounds(-10, -14, 14, 14);
facing = 1;
myhealth = 80;
freezehp = 30;
prevhealth = myhealth;
damage = 24;
stuntime = 5;
shell1hp = 60;
shell2hp = 40;
hpush = 6;
vpush = -3;
hitmissileexpl = 0;
hitsound = sndRobotHit3;
deathsound = sndRobotExpl;
canfreeze = 1;
platyoffset = -6;
frozenspr = sShirkFrozen;
flipx = 1;
target = 0;
state = 1;
targetx = x;
targety = y;
haccel = 0.2;
vaccel = 0.5;
alarm[0] = 1;
turning = 0;
inwater = 0;
hitemp = 1;
empspr = sShirkDisabled;
</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>expl = instance_create(x - 8 + random(16), y - 8 + random(16), oFXAnimSpark);
expl.image_speed = 0.5;
expl.additive = 0;
expl.sprite_index = sExpl1;
expl.depth = -4;
expl.image_xscale = 0.5;
expl.image_yscale = 0.5;
alarm[3] = 3;
</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>if (oCharacter.y - 20 &gt; y) yVel = 3.5;
if (oCharacter.y - 20 &lt; y) yVel = -3.5;
if (oCharacter.x &gt; x) {
xVel = 4;
if (facing == -1) turning = 5;
}
if (oCharacter.x &lt; x) {
xVel = -4;
if (facing == 1) turning = 5;
}
alarm[0] = 50;
</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>action_inherited();
enemy_active_check(70);
enemy_target_check(90, 1);
if (active == 1 &amp;&amp; stun == 0 &amp;&amp; frozen == 0 &amp;&amp; state != 100) {
if (state == 1) {
xVel *= 0.95;
yVel *= 0.95;
if (inwater) {
xVel *= 0.9;
yVel *= 0.9;
}
}
if (stun == 0) moveTo(xVel, yVel);
}
if (turning == 2) facing *= -1;
if (inwater &amp;&amp; global.watertype == 1) {
flashing = 1;
myhealth -= 1;
event_user(1);
if (myhealth &lt;= 0) state = 100;
}
if (state == 100) {
canbehit = 0;
alarm[0] = 0;
yVel += 0.1;
moveTo(xVel, yVel);
if (xVel &lt;= 0) image_angle += 0.6;
if (xVel &gt; 0) image_angle -= 0.6;
if (isCollisionLeft(1) || isCollisionRight(1)) xVel = 0;
if (isCollisionBottom(1) || statetime &gt; 240 || y &gt; view_yview[0] + 240) {
enemy_death2();
repeat (20) instance_create(x, y, oDebris);
}
}
if (turning &gt; 0) turning -= 1;
</string>
</argument>
</arguments>
</action>
</event>
<event eventtype="4" ename="oBatteryExpl">
<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_inherited();
if (myhealth &gt;= shell1hp) {
deb = instance_create(x, y, oDebris);
deb.sprite_index = sShirkArmor1;
deb.depth = -4;
}
if (myhealth &gt;= shell2hp) {
deb = instance_create(x, y, oDebris);
deb.sprite_index = sShirkArmor2;
deb.depth = -4;
}
</string>
</argument>
</arguments>
</action>
</event>
<event eventtype="7" enumb="25">
<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_inherited();
deb = instance_create(x, y, oDebris);
deb.sprite_index = sShirkArmor2;
deb.depth = -4;
</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>if (myhealth &lt;= shell1hp &amp;&amp; prevhealth &gt; shell1hp) {
expl = instance_create(x, y - 8, oFXAnimSpark);
expl.image_speed = 0.5;
expl.additive = 0;
expl.sprite_index = sExpl1;
expl.depth = -5;
repeat (8) instance_create(x, y, oDebris);
deb = instance_create(x, y, oDebris);
deb.sprite_index = sShirkArmor1;
deb.depth = -4;
}
if (myhealth &lt;= shell2hp &amp;&amp; prevhealth &gt; shell2hp) {
expl = instance_create(x + 8, y, oFXAnimSpark);
expl.image_speed = 0.5;
expl.additive = 0;
expl.sprite_index = sExpl1;
expl.depth = -5;
repeat (8) instance_create(x, y, oDebris);
deb = instance_create(x, y, oDebris);
deb.sprite_index = sShirkArmor2;
deb.depth = -4;
}
if (myhealth &lt;= 0 &amp;&amp; prevhealth &gt; 0) {
alarm[3] = 1;
statetime = 0;
yVel = -2;
xVel *= 0.5;
}
prevhealth = myhealth;
</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>action_inherited();
event_user(1);
if (random(2) &lt; 0.2) instance_create(x, y, oDebris);
</string>
</argument>
</arguments>
</action>
</event>
<event eventtype="7" 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>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>image_xscale = facing;
if (!flashing) {
if (turning == 0) {
draw_sprite_ext(sprite_index, -1, x, y, image_xscale, 1, image_angle, -1, image_alpha);
if (myhealth &gt; shell1hp) draw_sprite_ext(sShirkArmor1, -1, x, y, image_xscale, 1, image_angle, -1, image_alpha);
if (myhealth &gt; shell2hp) draw_sprite_ext(sShirkArmor2, -1, x, y, image_xscale, 1, image_angle, -1, image_alpha);
}
if (turning &gt; 0) {
draw_sprite_ext(sShirkTurn, -1, x, y, image_xscale, 1, image_angle, -1, image_alpha);
if (myhealth &gt; shell1hp) draw_sprite_ext(sShirkTurnArmor1, -1, x, y, image_xscale, 1, image_angle, -1, image_alpha);
if (myhealth &gt; shell2hp) draw_sprite_ext(sShirkTurnArmor2, -1, x, y, image_xscale, 1, image_angle, -1, image_alpha);
}
}
if (flashing) {
if (turning == 0) {
draw_sprite_ext(sprite_index, -1, x, y, image_xscale, 1, image_angle, make_color_rgb(80, 80, 80), 1);
if (myhealth &gt; shell1hp) draw_sprite_ext(sShirkArmor1, -1, x, y, image_xscale, 1, image_angle, make_color_rgb(80, 80, 80), 1);
if (myhealth &gt; shell2hp) draw_sprite_ext(sShirkArmor2, -1, x, y, image_xscale, 1, image_angle, make_color_rgb(80, 80, 80), 1);
draw_set_blend_mode(bm_add);
repeat (3) {
draw_sprite_ext(sprite_index, -1, x, y, image_xscale, 1, image_angle, -1, 1 - fxtimer * 0.25);
if (myhealth &gt; shell1hp) draw_sprite_ext(sShirkArmor1, -1, x, y, image_xscale, 1, image_angle, -1, 1 - fxtimer * 0.25);
if (myhealth &gt; shell2hp) draw_sprite_ext(sShirkArmor2, -1, x, y, image_xscale, 1, image_angle, -1, 1 - fxtimer * 0.25);
}
draw_set_blend_mode(bm_normal);
}
if (turning &gt; 0) {
draw_sprite_ext(sShirkTurn, -1, x, y, image_xscale, 1, image_angle, make_color_rgb(80, 80, 80), 1);
if (myhealth &gt; shell1hp) draw_sprite_ext(sShirkTurnArmor1, -1, x, y, image_xscale, 1, image_angle, make_color_rgb(80, 80, 80), 1);
if (myhealth &gt; shell2hp) draw_sprite_ext(sShirkTurnArmor2, -1, x, y, image_xscale, 1, image_angle, make_color_rgb(80, 80, 80), 1);
draw_set_blend_mode(bm_add);
repeat (3) {
draw_sprite_ext(sprite_index, -1, x, y, image_xscale, 1, image_angle, -1, 1 - fxtimer * 0.25);
if (myhealth &gt; shell1hp) draw_sprite_ext(sShirkTurnArmor1, -1, x, y, image_xscale, 1, image_angle, -1, 1 - fxtimer * 0.25);
if (myhealth &gt; shell2hp) draw_sprite_ext(sShirkTurnArmor2, -1, x, y, image_xscale, 1, image_angle, -1, 1 - fxtimer * 0.25);
}
draw_set_blend_mode(bm_normal);
}
} // if (flashing)
</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>