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.
355 lines
11 KiB
355 lines
11 KiB
<!--This Document is generated by GameMaker, if you edit it by hand then you do so at your own risk!-->
|
|
<object>
|
|
<spriteName>sIceShard</spriteName>
|
|
<solid>0</solid>
|
|
<visible>-1</visible>
|
|
<depth>0</depth>
|
|
<persistent>0</persistent>
|
|
<parentName><undefined></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>setCollisionBounds(-8, -8, 8, 8);
|
|
makeActive();
|
|
canbeX = 1;
|
|
state = 0;
|
|
statetime = 0;
|
|
falling = 1;
|
|
deathsound = sndEDeath1;
|
|
platform = -4;
|
|
image_speed = 0;
|
|
alarm[0] = 1;
|
|
spr0xoff = 0;
|
|
spr0yoff = 0;
|
|
spr1 = -4;
|
|
spr1xoff = 0;
|
|
spr1yoff = 0;
|
|
spr1a = image_angle;
|
|
spr1xs = image_xscale;
|
|
spr1ys = image_yscale;
|
|
spr1i = 0;
|
|
spr2 = -4;
|
|
spr2xoff = 0;
|
|
spr2yoff = 0;
|
|
spr2a = image_angle;
|
|
spr2xs = image_xscale;
|
|
spr2ys = image_yscale;
|
|
spr2i = 0;
|
|
spr3 = -4;
|
|
spr3xoff = 0;
|
|
spr3yoff = 0;
|
|
spr3a = image_angle;
|
|
spr3xs = image_xscale;
|
|
spr3ys = image_yscale;
|
|
spr3i = 0;
|
|
</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>alarm[0] = 10 + random(10);
|
|
spark = instance_create(x + floor(random_range(-16, 16)), y + floor(random_range(-16, 16)), oFXAnimSpark);
|
|
spark.gravity_direction = 270;
|
|
spark.gravity = 0.1;
|
|
spark.sprite_index = sIBeamFXA;
|
|
spark.image_speed = 0.3;
|
|
spark.image_index = 0;
|
|
spark.depth = -20;
|
|
</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>if (state == 0 && falling) {
|
|
if (global.waterlevel != 0) {
|
|
if (y - 8 > global.waterlevel + global.wateroffset) {
|
|
yVel -= 0.05;
|
|
if (yVel < -0.5) yVel = -0.5;
|
|
xVel *= 0.9;
|
|
} else yVel += 0.1;
|
|
} else if (isCollisionBottom(2) == 0) yVel += 0.1;
|
|
if (isCollisionBottom(2) > 0) {
|
|
if (yVel > 1) event_user(0);
|
|
if (yVel > 0) yVel *= -0.4;
|
|
if (abs(yVel) < 0.3) yVel = 0;
|
|
if (collision_line(round(lb), round(bb + 4), round(rb - 1), round(bb + 4), oSlope1, true, true) > 0) {
|
|
xVel -= 0.5;
|
|
yVel *= 0.5;
|
|
}
|
|
if (collision_line(round(lb), round(bb + 4), round(rb - 1), round(bb + 4), oSlope2, true, true) > 0) {
|
|
xVel += 0.5;
|
|
yVel *= 0.5;
|
|
}
|
|
if (collision_line(round(lb), round(bb + 4), round(rb - 1), round(bb + 4), oSlope1B, true, true) > 0) {
|
|
xVel -= 0.2;
|
|
yVel *= 0.5;
|
|
}
|
|
if (collision_line(round(lb), round(bb + 4), round(rb - 1), round(bb + 4), oSlope2B, true, true) > 0) {
|
|
xVel += 0.2;
|
|
yVel *= 0.5;
|
|
}
|
|
xVel *= 0.9;
|
|
}
|
|
if (isCollisionTop(1) > 0 && yVel < 0) {
|
|
yVel *= -1;
|
|
xVel *= 0.9;
|
|
}
|
|
if (isCollisionRight(1) > 0 && xVel > 0 || isCollisionLeft(1) > 0 && xVel < 0) xVel *= -0.8;
|
|
xVel = min(xVel, 6);
|
|
xVel = max(xVel, -6);
|
|
yVel = min(yVel, 6);
|
|
yVel = max(yVel, -6);
|
|
moveTo(xVel, yVel);
|
|
image_angle += xVel * -2;
|
|
} // if (state == 0 && falling)
|
|
if (statetime >= 150) event_user(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>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>event_user(0);
|
|
with (other) event_user(0);
|
|
</string>
|
|
</argument>
|
|
</arguments>
|
|
</action>
|
|
</event>
|
|
<event eventtype="4" ename="oMissileExpl">
|
|
<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(0);
|
|
</string>
|
|
</argument>
|
|
</arguments>
|
|
</action>
|
|
</event>
|
|
<event eventtype="4" ename="oPBombExpl">
|
|
<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(0);
|
|
</string>
|
|
</argument>
|
|
</arguments>
|
|
</action>
|
|
</event>
|
|
<event eventtype="4" ename="oBombExpl">
|
|
<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(0);
|
|
</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>if (sprite_index == sQueenProjFrozen) {
|
|
spawn_rnd_pickup_at(x - 8, y - 4, 100);
|
|
spawn_rnd_pickup_at(x + 8, y - 4, 100);
|
|
spawn_rnd_pickup_at(x, y - 8, 100);
|
|
canbeX = 0;
|
|
}
|
|
enemy_death_frozen();
|
|
</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>spr0len = point_distance(x, y, x + spr0xoff, y + spr0yoff);
|
|
spr0dir = image_angle + point_direction(x, y, x + spr0xoff, y + spr0yoff);
|
|
spr1len = point_distance(x, y, x + spr1xoff, y + spr1yoff);
|
|
spr1dir = image_angle + point_direction(x, y, x + spr1xoff, y + spr1yoff);
|
|
spr2len = point_distance(x, y, x + spr2xoff, y + spr2yoff);
|
|
spr2dir = image_angle + point_direction(x, y, x + spr2xoff, y + spr2yoff);
|
|
spr3len = point_distance(x, y, x + spr3xoff, y + spr3yoff);
|
|
spr3dir = image_angle + point_direction(x, y, x + spr3xoff, y + spr3yoff);
|
|
draw_sprite_ext(sprite_index, -1, x + lengthdir_x(spr0len, spr0dir), y + lengthdir_y(spr0len, spr0dir), image_xscale, image_yscale, image_angle, -1, 1);
|
|
if (spr1 != -4) draw_sprite_ext(spr1, spr1i, x + lengthdir_x(spr1len, spr1dir), y + lengthdir_y(spr1len, spr1dir), spr1xs, spr1ys, image_angle + spr1a, -1, 1);
|
|
if (spr2 != -4) draw_sprite_ext(spr2, spr2i, x + lengthdir_x(spr2len, spr2dir), y + lengthdir_y(spr2len, spr2dir), spr2xs, spr2ys, image_angle + spr2a, -1, 1);
|
|
if (spr3 != -4) draw_sprite_ext(spr3, spr3i, x + lengthdir_x(spr3len, spr3dir), y + lengthdir_y(spr3len, spr3dir), spr3xs, spr3ys, image_angle + spr3a, -1, 1);
|
|
</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>
|