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

594 lines
17 KiB
XML

<!--This Document is generated by GameMaker, if you edit it by hand then you do so at your own risk!-->
<object>
<spriteName>sBeam</spriteName>
<solid>0</solid>
<visible>-1</visible>
<depth>-5</depth>
<persistent>0</persistent>
<parentName>&lt;undefined&gt;</parentName>
<maskName>sProjectileMask</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 (y &gt; global.waterlevel &amp;&amp; global.waterlevel != 0) {
inwater = 1;
} else {
inwater = 0;
}
time = 0;
dohit = 1;
smissile = 0; // Do not delete this. This was needed for beam attacks on Monsters.
// I am mimicking missiles here. The game will crash without this variable!!!
</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>dohit = 1;
</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>if (pbeam == 1) {
alarm[1] = 2 + sbeam;
if (time &gt; 1) {
mytrail = instance_create(x, y, oBeamTrail);
mytrail.sprite_index = sprite_index;
mytrail.image_single = 0;
mytrail.image_alpha = 0.4;
mytrail.direction = direction;
if (wbeam == 0) mytrail.speed = -speed / 2;
mytrail.image_angle = image_angle;
mytrail.image_xscale = image_xscale;
mytrail.image_yscale = image_yscale;
}
}
</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 (ibeam == 1) {
alarm[0] = 3;
if (sbeam) alarm[0] = 7 + random(15);
spark = instance_create(x + floor(random(4) - 2), y + floor(random(4) - 2), oFXAnimSpark);
spark.gravity_direction = 270;
spark.gravity = 0.2;
spark.sprite_index = sIBeamFX;
spark.image_speed = 0.3;
spark.image_index = 0;
spark.additive = 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>if (sbeam == 1) {
time += 0.4;
w_arc = 40;
} else {
time += 1;
w_arc = 25;
if (chargebeam == 1) w_arc = 30;
}
if (instance_exists(oCharacter)) {
if ((maindir == 0 || maindir == 359.5 || maindir == 45 || maindir == 315) &amp;&amp; oCharacter.xVel &gt; 0) x += oCharacter.xVel;
if ((maindir == 180 || maindir == 135 || maindir == 225) &amp;&amp; oCharacter.xVel &lt; 0) x += oCharacter.xVel;
if (maindir == 270 &amp;&amp; oCharacter.yVel &gt; 0) y += oCharacter.yVel;
}
if (wbeam &amp;&amp; sbeam == 0) {
if (wbeamdir == 1) direction = maindir + w_arc * cos(time);
if (wbeamdir == 0) direction = maindir - w_arc * cos(time);
}
if (sbeam &amp;&amp; wbeam == 0 &amp;&amp; beamid == 1) {
if (time &lt; 1 &amp;&amp; chargebeam == 0) direction = maindir + 20;
if (time &lt; 1 &amp;&amp; chargebeam == 1) direction = maindir + 20;
if (time &gt;= 1.3 &amp;&amp; direction &gt; maindir &amp;&amp; chargebeam == 0) direction -= 5;
if (time &gt;= 1 &amp;&amp; direction &gt; maindir &amp;&amp; chargebeam == 1) direction -= 10;
}
if (sbeam &amp;&amp; wbeam == 0 &amp;&amp; beamid == 2) {
if (time &lt; 1 &amp;&amp; chargebeam == 0) direction = maindir - 20;
if (time &lt; 1 &amp;&amp; chargebeam == 1) direction = maindir - 20;
if (maindir == 0) {
maindir = 359.5;
if (chargebeam == 1) y -= 1;
}
if (time &gt;= 1.3 &amp;&amp; direction &lt; maindir &amp;&amp; chargebeam == 0) direction += 5;
if (time &gt;= 1 &amp;&amp; direction &lt; maindir &amp;&amp; chargebeam == 1) direction += 10;
}
if (sbeam &amp;&amp; time &gt; 2 &amp;&amp; maindir == 359.5) direction = 0;
if (wbeam &amp;&amp; sbeam) {
if (beamid == 0 &amp;&amp; chargebeam == 0) speed = 6.7;
if (beamid == 0 &amp;&amp; chargebeam == 1) speed = 9;
if (beamid == 1) direction = maindir + 60 * cos(time);
if (beamid == 2) direction = maindir - 60 * cos(time);
}
if (wbeam &amp;&amp; pbeam) image_angle = direction;
if (chargebeam == 1 &amp;&amp; sprite_index == sBeam2) {
if (time &lt; 1) image_xscale = 0.6;
if (time &gt; 1 &amp;&amp; image_xscale &lt; 1) image_xscale += 0.2;
}
if (y &gt; global.waterlevel &amp;&amp; global.waterlevel != 0) {
if (inwater == 0) instance_create(x, global.waterlevel, oSmallSplash);
inwater = 1;
} else {
if (inwater == 1) instance_create(x, global.waterlevel, oSmallSplash);
inwater = 0;
}
if (x &lt; view_xview[0] - 48 - (oControl.widescreen_space/2) || x &gt; view_xview[0] + view_wview[0] + 48 + (oControl.widescreen_space/2) || y &lt; view_yview[0] - 48 || y &gt; view_yview[0] + view_hview[0] + 48) instance_destroy();
</string>
</argument>
</arguments>
</action>
</event>
<event eventtype="4" ename="oElderSeptogg">
<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>///NULL
</string>
</argument>
</arguments>
</action>
</event>
<event eventtype="4" ename="oBlobSolid">
<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>///NULL
</string>
</argument>
</arguments>
</action>
</event>
<event eventtype="4" ename="oMAlphaShell">
<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(1);
instance_destroy();
</string>
</argument>
</arguments>
</action>
</event>
<event eventtype="4" ename="oMAlpha">
<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(1);
instance_destroy();
</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);
if (wbeam == 0) {
event_user(0);
instance_destroy();
}
</string>
</argument>
</arguments>
</action>
</event>
<event eventtype="4" ename="oBomb">
<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);
if (wbeam == 0) {
event_user(0);
instance_destroy();
}
</string>
</argument>
</arguments>
</action>
</event>
<event eventtype="4" ename="oSolid">
<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 (wbeam == 0) {
event_user(0);
instance_destroy();
}
with (other) if (sprite_index == sBlockBomb) {
event_user(1);
visible = true;
}
</string>
</argument>
</arguments>
</action>
</event>
<event eventtype="4" ename="oBlockSand">
<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);
if (wbeam == 0) {
event_user(0);
instance_destroy();
}
</string>
</argument>
</arguments>
</action>
</event>
<event eventtype="4" ename="oBlockShootChain">
<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);
if (wbeam == 0) {
event_user(0);
instance_destroy();
}
</string>
</argument>
</arguments>
</action>
</event>
<event eventtype="4" ename="oBlockShoot">
<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) {
check_linkid();
event_user(0);
}
if (wbeam == 0) {
event_user(0);
instance_destroy();
}
</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>rspark = instance_create(x, y, oFXAnimSparkItem);
rspark.sprite_index = sReflectSpark;
rspark.image_speed = 0.5;
rspark.depth = -1000;
sfx_stop(sndDeflect);
sfx_play(sndDeflect);
light = instance_create(x, y, oFadeLight32);
light.fadespeed = 0.1;
light.alarm[0] = 2;
</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 (pbeam &amp;&amp; !chargebeam) {
dohit = 0;
alarm[2] = 2;
}
expl = instance_create(x, y, oFXAnimSparkItem);
expl.additive = 0;
expl.depth = -1000;
if (chargebeam == 0) expl.sprite_index = sBeamExpl;
if (chargebeam == 1) expl.sprite_index = sBeamExpl2;
if (wbeam) expl.sprite_index = sWBeamExpl;
if (pbeam) expl.sprite_index = sPBeamExpl;
if (ibeam) expl.sprite_index = sIBeamExpl;
if (ibeam == 1) {
expl.sprite_index = sIBeamExpl;
repeat (3) {
expl2 = instance_create(x, y, oFXAnimSparkItem);
expl2.sprite_index = sIBeamFX;
expl2.vspeed = -random(3);
expl2.hspeed = random(6) - 3;
expl2.gravity_direction = 270;
expl2.gravity = 0.2;
expl2.image_speed = 0.3;
expl2.additive = 1;
expl2.depth = -1000;
}
}
light = instance_create(x, y, oFadeLight32);
light.fadespeed = 0.1;
light.alarm[0] = 5;
</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>draw_set_blend_mode(bm_add);
draw_sprite_ext(sFlare1, -1, x, y, fxscale, fyscale, direction, fcolor, falpha);
draw_set_blend_mode(bm_normal);
draw_sprite_ext(sprite_index, -1, x, y, image_xscale, image_yscale, image_angle, image_blend, image_alpha);
</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>