You've already forked AM2R-Community-Updates
mirror of
https://github.com/izzy2lost/AM2R-Community-Updates.git
synced 2026-03-10 11:23:35 -07:00
362 lines
9.5 KiB
XML
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><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>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 > 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 > x) hspeed += accelx;
|
|
if (targetx < x) hspeed -= accelx;
|
|
if (targety > y) vspeed += accely;
|
|
if (targety < y) vspeed -= accely;
|
|
hspeed = min(hspeed, maxspx);
|
|
hspeed = max(hspeed, -maxspx);
|
|
vspeed = min(vspeed, maxspy);
|
|
vspeed = max(vspeed, -maxspy);
|
|
if (statetime >= 150) {
|
|
state = 2;
|
|
statetime = 0;
|
|
}
|
|
}
|
|
if (state == 2) {
|
|
speed *= 0.9;
|
|
if (image_alpha > 0) {
|
|
image_alpha -= 0.1;
|
|
} else instance_destroy();
|
|
}
|
|
if (CollisionTop != 0) {
|
|
if (instance_exists(CollisionTop)) {
|
|
if (vspeed < 0) {
|
|
vspeed *= -1;
|
|
shaking = 1;
|
|
}
|
|
}
|
|
}
|
|
if (CollisionBottom != 0) {
|
|
if (instance_exists(CollisionBottom)) {
|
|
if (vspeed > 0) {
|
|
vspeed *= -1;
|
|
shaking = 1;
|
|
}
|
|
}
|
|
}
|
|
if (CollisionLeft != 0) {
|
|
if (instance_exists(CollisionLeft)) {
|
|
if (hspeed < 0) {
|
|
hspeed *= -1;
|
|
shaking = 1;
|
|
}
|
|
}
|
|
}
|
|
if (CollisionRight != 0) {
|
|
if (instance_exists(CollisionRight)) {
|
|
if (hspeed > 0) {
|
|
hspeed *= -1;
|
|
shaking = 1;
|
|
if (state == 0) vspeed = random_range(-2, 2);
|
|
}
|
|
}
|
|
}
|
|
if (shaking > 0) {
|
|
image_speed = 1;
|
|
} else if (image_speed > 0.25) image_speed -= 0.05;
|
|
if (state == 100) enemy_death();
|
|
if (shaking > 0) shaking -= 1;
|
|
if (image_alpha < 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 <= 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>
|