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/oBlobThrowerWater.object.gmx

370 lines
9.9 KiB

<!--This Document is generated by GameMaker, if you edit it by hand then you do so at your own risk!-->
<object>
<spriteName>sBlobThrowerWater</spriteName>
<solid>0</solid>
<visible>-1</visible>
<depth>-4</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();
myhealth = 20;
freezehp = 220;
damage = 75;
hitsound = sndEHit1;
deathsound = sndEDeath2;
frozenspr = sBlobThrowerWaterFrozen;
canfreeze = 1
hitmissileexpl = 0;
target = 0;
canattack = 1;
state = 0;
image_speed = 0;
sprite_index = sBlobThrowerWaterClosed;
freezefall = 0;
canhit = 1;
statetime = 100;
platyoffset = 0;
blobsolid = instance_create(x-4,y-36,oBlobSolid);
blobsolid.image_yscale = 2.75;
blobsolid.image_xscale = 0.5;
</string>
</argument>
</arguments>
</action>
</event>
<event eventtype="1" 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>with (blobsolid) instance_destroy();
repeat (2) {
make_explosion1(x + irandom_range(-16, 16), y - 8);
make_explosion1(x + irandom_range(-16, 16), y - 24);
make_explosion1(x + irandom_range(-16, 16), y - 40);
if(frozen &gt; 0) {
sfx_stop(deathsound);
PlaySoundMono(sndIceShatter);
instance_create(x + irandom_range(-16, 16), y - 48, oIceShard);
instance_create(x + irandom_range(-16, 16), y - 32, oIceShard);
instance_create(x + irandom_range(-16, 16), y - 40, oIceShard);
instance_create(x + irandom_range(-16, 16), y - 16, oIceShard);
instance_create(x + irandom_range(-16, 16), y - 24, oIceShard);
instance_create(x + irandom_range(-16, 16), y - 8, oIceShard);
}
}
</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>event_inherited();
enemy_active_check(40);
enemy_target_check(90, 1);
//if(instance_exists(boostblock)) boostblock.visible = 0;
if (active == 1 &amp;&amp; frozen == 0) {
if (state == 0) {
image_index += 0.1;
if (target &amp;&amp; statetime &gt; 150) {
state = 1;
statetime = 0;
image_index = 0;
sprite_index = sBlobThrowerWater;
frozenspr = sBlobThrowerWaterFrozen;
}
}
if (state == 1) {
if (image_index &lt; 6) {
image_index += 0.15;
}
if (image_index &gt;= 6)
{
state = 2;
statetime = 0;
sprite_index = sBlobThrowerWaterIdle;
frozenspr = sBlobThrowerWaterIdleFrozen;
}
}
if (state == 2)
{
image_index += 0.1;
if ((image_index &gt;= 4.99) &amp;&amp; (image_index &lt;= 5.01)) {
if(instance_number(oBlobWater) &lt; 30)
{
repeat(irandom_range(3,6)) instance_create(x,y-40,oBlobWater);
}
}
if(statetime &gt; 100 &amp;&amp; image_index &gt;= 6)
{
state = 3;
statetime = 0;
sprite_index = sBlobThrowerWater;
frozenspr = sBlobThrowerWaterFrozen;
image_index = 6;
}
}
if (state == 3)
{
if (image_index &gt; 0) image_index -= 0.2;
if (image_index &lt;= 0 &amp;&amp; statetime &gt; 10) //changed
{
state = 0;
statetime = 0;
sprite_index = sBlobThrowerWaterClosed;
frozenspr = sBlobThrowerWaterClosedFrozen;
}
}
}
if (state == 100) {
enemy_death();
}
//if (!instance_exists(blobsolid)) enemy_death();
</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 (frozen == 0) {
with (other) event_user(1);
} else {
event_user(0);
with (other) event_user(0);
}
</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(other.ibeam)
{
frozen = 300;
PlaySoundMono(sndFreezeHit);
with (other)
{
event_user(0);
if(!pbeam) instance_destroy();
}
}
else if(other.pbeam) {
with (other) event_user(1);
}
else
{
with (other)
{
event_user(1);
instance_destroy();
}
}
</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>///Blank code; do nothing
</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>with (other) {
damage = 0;
}
</string>
</argument>
</arguments>
</action>
</event>
<event eventtype="4" ename="oScrewAttack">
<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 (hitscrewattack) {
if (frozen == 0)
{
damage_player(damage, hpush, vpush, 0, 0);
}
}
</string>
</argument>
</arguments>
</action>
</event>
<event eventtype="4" ename="oCharacter">
<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 (hitpseudoscrew == 1)
if(other.state == other.JUMPING &amp;&amp; other.vjump == 0 &amp;&amp; frozen == 0)
{
other.chargebeam = 0;
other.nofire = 20;
damage_player(damage, hpush, vpush, 0, 0);
}
else if (frozen == 0) event_inherited();
</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>0</PhysicsObjectKinematic>
<PhysicsShapePoints/>
</object>