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
659 lines
17 KiB
XML
659 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>sGenesisRoar</spriteName>
|
|
<solid>0</solid>
|
|
<visible>-1</visible>
|
|
<depth>0</depth>
|
|
<persistent>0</persistent>
|
|
<parentName><undefined></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>canbeX = 1;
|
|
makeActive();
|
|
setCollisionBounds(-4, -12, 4, 0);
|
|
state = 0;
|
|
statetime = 0;
|
|
//hp = 250;
|
|
hp = global.mod_genesisHealth;
|
|
flashing = 0;
|
|
fxtimer = 0;
|
|
facing = 0;
|
|
ceiling = 0;
|
|
dark = 1;
|
|
col = 0;
|
|
hpush = 5;
|
|
vpush = -4;
|
|
//damage = 80;
|
|
damage = global.mod_genesisDamage;
|
|
turning = 0;
|
|
turnframe = 0;
|
|
scan_log(38, get_text("ScanEvents", "ScanBioform"), 180, 0);
|
|
</string>
|
|
</argument>
|
|
</arguments>
|
|
</action>
|
|
</event>
|
|
<event eventtype="2" 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>repeat (8) {
|
|
expl = instance_create(x - 16 + random(32), y - random(80), oFXAnimSpark);
|
|
expl.image_speed = 0.3 + random(0.5);
|
|
expl.additive = 0;
|
|
expl.sprite_index = sExpl1;
|
|
}
|
|
instance_create(x, y, oScreenFlash);
|
|
sfx_play(sndMissileExpl);
|
|
make_explosion4(x, y);
|
|
|
|
if(oControl.mod_fusion == 0) {
|
|
with (oDoor) event_user(3);
|
|
spawn_many_powerups(x - 40, y - 64, 80, 64);
|
|
mus_current_fadein();
|
|
with (oA8RedLightFX) fadeout = 1;
|
|
}
|
|
else {
|
|
core = instance_create(mean(bbox_left, bbox_right), mean(bbox_top, bbox_bottom), oCoreX);
|
|
core.lastBossX = x;
|
|
core.lastBossY = y;
|
|
core.lastBossSprite = sprite_index;
|
|
core.lastBossFrame = image_index;
|
|
core.lastBossAngle = image_angle;
|
|
core.lastBossFacing = facing;
|
|
core.lastYscale = image_yscale;
|
|
core.lastBossDepth = depth;
|
|
}
|
|
|
|
instance_destroy();
|
|
</string>
|
|
</argument>
|
|
</arguments>
|
|
</action>
|
|
</event>
|
|
<event eventtype="2" 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>expl = instance_create(x - 16 + random(32), y - random(16), oFXAnimSpark);
|
|
expl.image_speed = 0.5;
|
|
expl.additive = 0;
|
|
expl.sprite_index = sExpl1;
|
|
expl.image_xscale = 0.5;
|
|
expl.image_yscale = 0.5;
|
|
alarm[10] = 5;
|
|
</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 (state == 3 && statetime < 70) {
|
|
prj = instance_create(x + 20 * facing, y - 22, oGenesisAcid);
|
|
prj.hspeed = (6 + random(3)) * facing;
|
|
prj.vspeed = 1 - random(3);
|
|
alarm[0] = 2;
|
|
}
|
|
</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 (state == 0) {
|
|
if (statetime == 0) {
|
|
image_yscale = -1;
|
|
facing = -1;
|
|
x = 512;
|
|
y = 64;
|
|
hspeed = -2;
|
|
ceiling = 1;
|
|
dark = 1;
|
|
sprite_index = sGenesisWalk;
|
|
image_speed = 0.25;
|
|
}
|
|
if (statetime == 150) {
|
|
mus_play(musGenesis);
|
|
oMusicV2.bossbgm = musGenesis;
|
|
}
|
|
if (statetime > 0 && x <= 210) {
|
|
hspeed = 0;
|
|
sprite_index = sGenesisStand;
|
|
image_speed = 0.2;
|
|
}
|
|
if (statetime == 250) sfx_play(sndGenesisGrowl);
|
|
if (statetime == 300) {
|
|
state = 1;
|
|
statetime = 0;
|
|
}
|
|
} // if (state == 0)
|
|
if (state == 1) {
|
|
if (statetime == 0) {
|
|
sprite_index = sGenesisLeap;
|
|
image_speed = 0;
|
|
image_index = 0;
|
|
image_yscale = 1;
|
|
y += 30;
|
|
ceiling = 0;
|
|
speed = 0;
|
|
dark = 0;
|
|
event_user(0);
|
|
|
|
sfx_play(sndGenesisJump);
|
|
}
|
|
if (statetime < 5) {
|
|
xVel = lengthdir_x(4, point_direction(x, y, oCharacter.x, oCharacter.y));
|
|
yVel = lengthdir_y(4, point_direction(x, y, oCharacter.x, oCharacter.y));
|
|
} else yVel += 0.1;
|
|
if (image_index < 2) image_index += 0.25;
|
|
if (isCollisionBottom(1)) {
|
|
state = 2;
|
|
statetime = 0;
|
|
}
|
|
}
|
|
if (state == 2) {
|
|
if (statetime == 0) {
|
|
sprite_index = sGenesisStand;
|
|
image_speed = 0.2;
|
|
yVel = 0;
|
|
}
|
|
xVel *= 0.6;
|
|
if (point_distance(x, y, oCharacter.x, oCharacter.y) < 60 && statetime == 10) {
|
|
state = 6;
|
|
statetime = 0;
|
|
}
|
|
if (statetime == 50) {
|
|
state = 3;
|
|
statetime = 0;
|
|
}
|
|
}
|
|
if (state == 3) {
|
|
if (statetime == 0) {
|
|
sprite_index = sGenesisRoar;
|
|
image_speed = 0;
|
|
image_index = 0;
|
|
event_user(0);
|
|
sfx_play(sndGenesisSpit);
|
|
}
|
|
if (statetime == 12) image_index = 1;
|
|
if (statetime == 20) alarm[0] = 1;
|
|
if (statetime == 80) {
|
|
state = 4;
|
|
statetime = 0;
|
|
}
|
|
}
|
|
if (state == 4) {
|
|
if (statetime == 0) sprite_index = sGenesisCrouch;
|
|
if (statetime == 10) {
|
|
sprite_index = sGenesisLeap;
|
|
image_speed = 0;
|
|
image_index = 0;
|
|
yVel = -8;
|
|
sfx_play(sndGenesisJump);
|
|
}
|
|
if (statetime > 10) {
|
|
if (yVel < -4) yVel += 0.2;
|
|
}
|
|
if (isCollisionTop(1)) {
|
|
state = 5;
|
|
statetime = 0;
|
|
}
|
|
}
|
|
if (state == 5) {
|
|
if (statetime == 0) {
|
|
sprite_index = sGenesisWalk;
|
|
image_speed = 0.25;
|
|
image_yscale = -1;
|
|
ceiling = 1;
|
|
xVel = 0;
|
|
yVel = 0;
|
|
y = 64;
|
|
event_user(0);
|
|
hspeed = 2 * facing;
|
|
}
|
|
if (statetime == 60) sfx_play(sndGenesisGrowl);
|
|
if (statetime == 120 || collision_line(x + 30 * facing, y + 1, x + 30 * facing, y + 8, oSolid, true, true)) {
|
|
state = 1;
|
|
statetime = -1;
|
|
speed = 0;
|
|
}
|
|
}
|
|
if (state == 6) {
|
|
if (statetime == 0) {
|
|
sprite_index = sGenesisSlash;
|
|
image_speed = 0;
|
|
image_index = 0;
|
|
event_user(0);
|
|
}
|
|
if (statetime == 10) {
|
|
prj = instance_create(x + 20 * facing, y, oGenesisSlashProj);
|
|
prj.hspeed = 2 * facing;
|
|
prj.image_xscale = facing;
|
|
image_index = 1;
|
|
sfx_play(sndGenesisSwing);
|
|
}
|
|
if (statetime == 30) {
|
|
state = 4;
|
|
statetime = -1;
|
|
}
|
|
}
|
|
if (state == 100) {
|
|
if (statetime == 0) {
|
|
sprite_index = sGenesisCrouch;
|
|
speed = 0;
|
|
yVel = 0;
|
|
xVel = 0;
|
|
sfx_play(sndGenesisDeath);
|
|
if (ceiling) {
|
|
sprite_index = sGenesisLeap;
|
|
image_speed = 0;
|
|
image_index = 0;
|
|
image_yscale = 1;
|
|
y += 30;
|
|
ceiling = 0;
|
|
speed = 0;
|
|
dark = 0;
|
|
}
|
|
}
|
|
if (!isCollisionBottom(1)) {
|
|
yVel += 0.1;
|
|
} else {
|
|
sprite_index = sGenesisCrouch;
|
|
yVel = 0;
|
|
}
|
|
} // if (state == 100)
|
|
if (ceiling == 0) moveTo(xVel, yVel);
|
|
if (dark == 1) {
|
|
if (col > 0) {
|
|
col -= 10;
|
|
} else col = 0;
|
|
} else {
|
|
if (col < 255) {
|
|
col += 10;
|
|
} else col = 255;
|
|
if (col > 255) col = 255;
|
|
}
|
|
image_blend = make_color_rgb(col, col, col);
|
|
if (fxtimer < 5) {
|
|
fxtimer += 1;
|
|
} else fxtimer = 0;
|
|
if (flashing > 0) flashing -= 1;
|
|
if (turning) {
|
|
turnframe += 0.25;
|
|
if (turnframe >= 2) {
|
|
turning = 0;
|
|
turnframe = 0;
|
|
}
|
|
}
|
|
statetime += 1;
|
|
</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>if (dark == 0 && flashing == 0 && state != 100) with (other) event_user(0);
|
|
</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 (dark == 0 && flashing == 0 && state != 100) {
|
|
hp -= 10 * (1 + other.smissile * 2);
|
|
flashing = 30;
|
|
with (other) event_user(0);
|
|
event_user(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 (dark == 0 && flashing == 0 && state != 100) {
|
|
hp -= 5;
|
|
flashing = 30;
|
|
with (other) event_user(0);
|
|
if (other.pbeam == 0) with (other) instance_destroy();
|
|
event_user(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>if (dark == 0 && flashing == 0 && state != 100) {
|
|
hp -= 25;
|
|
flashing = 180;
|
|
event_user(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>if (dark == 0 && flashing == 0 && state != 100) {
|
|
hp -= 10;
|
|
flashing = 60;
|
|
event_user(1);
|
|
}
|
|
</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 (dark == 0 && state != 100) damage_player(damage, hpush, vpush, 0, 0);
|
|
</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>if (hp <= 0) {
|
|
state = 100;
|
|
statetime = 0;
|
|
alarm[10] = 1;
|
|
alarm[11] = 300;
|
|
if(oControl.mod_fusion == 0) {
|
|
mus_fadeout(musGenesis);
|
|
oMusicV2.bossbgm = sndJump;
|
|
}
|
|
global.event[307] = 1;
|
|
} else sfx_play(sndGenesisHit);
|
|
</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>var t = 0
|
|
|
|
if (oCharacter.x <= x && facing == 1 || x + (sprite_width / 2) >= 912) {
|
|
facing = -1;
|
|
if (state != 1) {
|
|
turning = 1;
|
|
turnframe = 0;
|
|
t = 1
|
|
}
|
|
|
|
}
|
|
|
|
|
|
if (oCharacter.x >= x && facing == -1 && t == 0) {
|
|
facing = 1;
|
|
if (state != 1) {
|
|
turning = 1;
|
|
turnframe = 0;
|
|
}
|
|
}
|
|
|
|
//if (x >= 912 - sprite_width) { x--; }
|
|
</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>if (!flashing) {
|
|
if (turning == 0) {
|
|
draw_sprite_ext(sprite_index, -1, x, y, facing, image_yscale, 0, image_blend, image_alpha);
|
|
} else draw_sprite_ext(sGenesisTurn, turnframe, x, y, facing, image_yscale, 0, image_blend, image_alpha);
|
|
}
|
|
if (flashing) {
|
|
if (turning == 0) {
|
|
draw_sprite_ext(sprite_index, -1, x, y, facing, image_yscale, 0, make_color_rgb(80, 80, 80), image_alpha);
|
|
} else draw_sprite_ext(sGenesisTurn, turnframe, x, y, facing, image_yscale, 0, make_color_rgb(80, 80, 80), image_alpha);
|
|
draw_set_blend_mode(bm_add);
|
|
repeat (3) {
|
|
if (turning == 0) {
|
|
draw_sprite_ext(sprite_index, -1, x, y, facing, image_yscale, 0, image_blend, image_alpha - fxtimer * 0.25);
|
|
} else draw_sprite_ext(sGenesisTurn, turnframe, x, y, facing, image_yscale, 0, image_blend, image_alpha - fxtimer * 0.25);
|
|
}
|
|
draw_set_blend_mode(bm_normal);
|
|
}
|
|
</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>
|