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

362 lines
9.5 KiB
XML

<!--This Document is generated by GameMaker, if you edit it by hand then you do so at your own risk!-->
<object>
<spriteName>sQueenProj</spriteName>
<solid>0</solid>
<visible>-1</visible>
<depth>-10</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();
canbeX = 0;
//myhealth = 80;
myhealth = global.mod_queenHprojectile;
freezehp = 10;
//damage = 100;
damage = global.mod_queenDprojectile;
hitsound = sndEHit1;
deathsound = sndEDeath2;
platyoffset = -4;
frozenspr = sQueenProjFrozen;
target = 0;
canattack = 1;
flipx = 1;
hitbeam = 0;
hitmissile = 0;
hitmissileexpl = 0;
hitpbomb = 0;
hitbomb = 0;
hitscrewattack = 0;
hitpseudoscrew = 0;
state = 0;
facing = 1;
stuntime = 5;
accelx = 0.05;
accely = 0.02;
maxspx = 2;
maxspy = 1;
targetx = x;
targety = y;
startx = x;
starty = y;
CollisionTop = 0;
CollisionRight = 0;
CollisionLeft = 0;
CollisionBottom = 0;
shaking = 0;
image_speed = 0.25;
</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>CollisionTop = collision_line(x - 8, y - 7, x + 8, y - 7, oSolid, true, true);
CollisionRight = collision_line(x + 9, y + 6, x + 9, y - 6, oSolid, true, true);
CollisionLeft = collision_line(x - 9, y - 6, x - 9, y + 6, oSolid, true, true);
CollisionBottom = collision_line(x - 8, y + 7, x + 8, y + 7, oSolid, true, true);
if (state == 0) {
if (statetime == 0) {
hspeed = 4;
vspeed = random_range(-0.5, 0.5);
}
if (speed &gt; 2) speed -= 0.05;
if (statetime == 120) {
state = 1;
statetime = 0;
}
}
if (state == 1) {
accelx = 0.1;
accely = 0.05;
maxspx = 1.5;
maxspy = 1;
targetx = oCharacter.x;
targety = oCharacter.y - 8;
if (targetx &gt; x) hspeed += accelx;
if (targetx &lt; x) hspeed -= accelx;
if (targety &gt; y) vspeed += accely;
if (targety &lt; y) vspeed -= accely;
hspeed = min(hspeed, maxspx);
hspeed = max(hspeed, -maxspx);
vspeed = min(vspeed, maxspy);
vspeed = max(vspeed, -maxspy);
if (statetime &gt;= 150) {
state = 2;
statetime = 0;
}
}
if (state == 2) {
speed *= 0.9;
if (image_alpha &gt; 0) {
image_alpha -= 0.1;
} else instance_destroy();
}
if (CollisionTop != 0) {
if (instance_exists(CollisionTop)) {
if (vspeed &lt; 0) {
vspeed *= -1;
shaking = 1;
}
}
}
if (CollisionBottom != 0) {
if (instance_exists(CollisionBottom)) {
if (vspeed &gt; 0) {
vspeed *= -1;
shaking = 1;
}
}
}
if (CollisionLeft != 0) {
if (instance_exists(CollisionLeft)) {
if (hspeed &lt; 0) {
hspeed *= -1;
shaking = 1;
}
}
}
if (CollisionRight != 0) {
if (instance_exists(CollisionRight)) {
if (hspeed &gt; 0) {
hspeed *= -1;
shaking = 1;
if (state == 0) vspeed = random_range(-2, 2);
}
}
}
if (shaking &gt; 0) {
image_speed = 1;
} else if (image_speed &gt; 0.25) image_speed -= 0.05;
if (state == 100) enemy_death();
if (shaking &gt; 0) shaking -= 1;
if (image_alpha &lt; 1) image_alpha += 0.05;
event_inherited();
</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_inherited();
shaking = 30;
direction = other.direction;
speed = 2;
if (state == 0) state = 1;
</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) {
with (other) event_user(0);
PlaySoundMono(sndFreezeHit);
myhealth -= other.damage;
if (myhealth &lt;= freezehp) {
frz = instance_create(x, y, oEnemyFrozen);
frz.image_xscale = facing;
frz.sprite_index = frozenspr;
frz.image_index = image_index;
frz.mask_index = frozenspr;
frz.image_angle = image_angle;
frz.xVel = hspeed;
frz.yVel = vspeed;
frz.depth = 10;
frz.falling = freezefall;
frz.canbeX = 0;
instance_destroy();
}
} else with (other) event_user(1);
with (other) if (!pbeam) instance_destroy();
direction = other.direction;
speed = 1;
shaking = 30;
if (state == 0) state = 1;
</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>shaking = 60;
speed = 0;
if (state == 0) state = 1;
</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>shaking = 10;
direction = 90;
speed = 2;
if (state == 0) state = 1;
</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>direction = point_direction(oCharacter.x, oCharacter.y - 16, x, y);
speed = 4;
if (!sfx_isplaying(sndDeflect)) sfx_play(sndDeflect);
if (state == 0) state = 1;
shaking = 8;
</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_self();
</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>