You've already forked AM2R-Community-Updates
mirror of
https://github.com/izzy2lost/AM2R-Community-Updates.git
synced 2026-03-10 11:23:35 -07:00
419 lines
13 KiB
XML
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><undefined></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 > y) yVel = 3.5;
|
|
if (oCharacter.y - 20 < y) yVel = -3.5;
|
|
if (oCharacter.x > x) {
|
|
xVel = 4;
|
|
if (facing == -1) turning = 5;
|
|
}
|
|
if (oCharacter.x < 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 && stun == 0 && frozen == 0 && 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 && global.watertype == 1) {
|
|
flashing = 1;
|
|
myhealth -= 1;
|
|
event_user(1);
|
|
if (myhealth <= 0) state = 100;
|
|
}
|
|
if (state == 100) {
|
|
canbehit = 0;
|
|
alarm[0] = 0;
|
|
yVel += 0.1;
|
|
moveTo(xVel, yVel);
|
|
if (xVel <= 0) image_angle += 0.6;
|
|
if (xVel > 0) image_angle -= 0.6;
|
|
if (isCollisionLeft(1) || isCollisionRight(1)) xVel = 0;
|
|
if (isCollisionBottom(1) || statetime > 240 || y > view_yview[0] + 240) {
|
|
enemy_death2();
|
|
repeat (20) instance_create(x, y, oDebris);
|
|
}
|
|
}
|
|
if (turning > 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 >= shell1hp) {
|
|
deb = instance_create(x, y, oDebris);
|
|
deb.sprite_index = sShirkArmor1;
|
|
deb.depth = -4;
|
|
}
|
|
if (myhealth >= 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 <= shell1hp && prevhealth > 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 <= shell2hp && prevhealth > 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 <= 0 && prevhealth > 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) < 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 > shell1hp) draw_sprite_ext(sShirkArmor1, -1, x, y, image_xscale, 1, image_angle, -1, image_alpha);
|
|
if (myhealth > shell2hp) draw_sprite_ext(sShirkArmor2, -1, x, y, image_xscale, 1, image_angle, -1, image_alpha);
|
|
}
|
|
if (turning > 0) {
|
|
draw_sprite_ext(sShirkTurn, -1, x, y, image_xscale, 1, image_angle, -1, image_alpha);
|
|
if (myhealth > shell1hp) draw_sprite_ext(sShirkTurnArmor1, -1, x, y, image_xscale, 1, image_angle, -1, image_alpha);
|
|
if (myhealth > 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 > shell1hp) draw_sprite_ext(sShirkArmor1, -1, x, y, image_xscale, 1, image_angle, make_color_rgb(80, 80, 80), 1);
|
|
if (myhealth > 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 > shell1hp) draw_sprite_ext(sShirkArmor1, -1, x, y, image_xscale, 1, image_angle, -1, 1 - fxtimer * 0.25);
|
|
if (myhealth > 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 > 0) {
|
|
draw_sprite_ext(sShirkTurn, -1, x, y, image_xscale, 1, image_angle, make_color_rgb(80, 80, 80), 1);
|
|
if (myhealth > shell1hp) draw_sprite_ext(sShirkTurnArmor1, -1, x, y, image_xscale, 1, image_angle, make_color_rgb(80, 80, 80), 1);
|
|
if (myhealth > 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 > shell1hp) draw_sprite_ext(sShirkTurnArmor1, -1, x, y, image_xscale, 1, image_angle, -1, 1 - fxtimer * 0.25);
|
|
if (myhealth > 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>
|