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

198 lines
5.9 KiB
XML

<!--This Document is generated by GameMaker, if you edit it by hand then you do so at your own risk!-->
<object>
<spriteName>sOctroll</spriteName>
<solid>0</solid>
<visible>-1</visible>
<depth>0</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();
makeActive();
setCollisionBounds(-4, -4, 4, 0);
facing = 1;
noglide = 0;
myhealth = 30;
if (oControl.mod_randomgamebool == 1 &amp;&amp; (global.wbeam == 0 || global.sbeam == 0 || global.pbeam == 0)){
freezehp = floor(myhealth * 0.15);
if (freezehp &lt; 1) freezehp = 1;
} //nerfed frozen enemies in random games
damage = 30;
hitsound = sndEHit4;
deathsound = sndEDeath1;
platyoffset = -8;
frozenspr = sOctrollFrozen;
target = 0;
canattack = 1;
state = 1;
image_speed = 0;
image_timer = 1;
</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>canattack = 1;
</string>
</argument>
</arguments>
</action>
</event>
<event eventtype="3" 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>if ((room == rm_a0h12) &amp;&amp; (instance_exists(oLavaSurface)) &amp;&amp; (sprite_index != sOctroll_lava)) {
sprite_index = sOctroll_lava;
}
</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(32); // originally 20
enemy_target_check(90, 1);
if (active == 1 &amp;&amp; frozen == 0) {
if (state == 1) {
image_index = 4;
image_angle = 0;
xVel = 0;
yVel = 0;
if (target &amp;&amp; canattack) {
yVel = -5;
y -= 4;
state = 2;
}
}
if (state == 2) {
if (image_index &gt; 1) image_index -= 0.5;
if(image_timer &gt; 0) image_timer -= .1;
else if(image_timer == 0) image_timer = 1;
if(image_timer &gt; .5) image_index = 1;
else if(image_timer &lt; .5) image_index = 0;
if (isCollisionTop(2)) yVel = 0;
if (oCharacter.x &gt; x) {
facing = 1;
} else facing = -1;
if (yVel &gt;= 0) {
yVel = 0;
state = 3;
image_index = 3;
image_timer = 1;
}
}
if (state == 3) {
if(image_timer &gt; 0) image_timer -= .1;
else if(image_timer == 0) image_timer = 1;
if(image_timer &gt; .5) image_index = 3;
else if(image_timer &lt; .5) image_index = 2;
if (isCollisionBottom(1)) {
yVel = 0;
xVel = 0;
canattack = 0;
alarm[0] = 60;
state = 1;
}
if (global.difficulty != 2 &amp;&amp; noglide == 0) {
xVel += 0.2 * facing;
if (abs(xVel) &gt; 3) facing = -facing;
if (abs(xVel) &gt; 1.3) yVel -= 0.16;
}
if (target == 1 &amp;&amp; noglide == 0 &amp;&amp; global.difficulty == 2) {
if (oCharacter.x &gt; x &amp;&amp; xVel &lt; 4) xVel += 0.2;
if (oCharacter.x &lt; x &amp;&amp; xVel &gt; -4) xVel -= 0.2;
}
image_angle = xVel * 4;
}
if (state != 1) { // 1.5.1 fix
yVel += 0.1;
}
if (stun == 0) moveTo(xVel, yVel);
} // if (active == 1 &amp;&amp; frozen == 0)
if (state == 100) enemy_death();
</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>