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
845 lines
24 KiB
XML
845 lines
24 KiB
XML
<!--This Document is generated by GameMaker, if you edit it by hand then you do so at your own risk!-->
|
|
<object>
|
|
<spriteName>sTorizoKneel</spriteName>
|
|
<solid>0</solid>
|
|
<visible>-1</visible>
|
|
<depth>0</depth>
|
|
<persistent>0</persistent>
|
|
<parentName><undefined></parentName>
|
|
<maskName>sTorizoMask</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 = 0;
|
|
CollisionBottom = 0;
|
|
CollisionTop = 0;
|
|
CollisionLeft = 0;
|
|
CollisionRight = 0;
|
|
WallUp = 288;
|
|
i = 0;
|
|
gravity = 0;
|
|
gravity_direction = 270;
|
|
state = 0;
|
|
statetime = 0;
|
|
globaltime = 0;
|
|
phase = 0;
|
|
facingplayer = 0;
|
|
turning = 0;
|
|
//damage = 30;
|
|
damage = global.mod_torizondamageform2;
|
|
canbehit = 1;
|
|
flashing = 0;
|
|
fxtimer = 0;
|
|
mycam = instance_create(x, y, oTorizo2Cam);
|
|
targetx = 0;
|
|
targety = 144;
|
|
targetplayer = 0;
|
|
xAcc = 0;
|
|
yAcc = 0;
|
|
maxSpeed = 0;
|
|
move = 1;
|
|
usedbirds = 0;
|
|
if (global.difficulty < 2) {
|
|
//myhealth = 240;
|
|
myhealth = global.mod_torizohealthform2;
|
|
hpforattack1 = 150;
|
|
hpforattack2 = 80;
|
|
stayaway = 1;
|
|
} else {
|
|
//myhealth = 350;
|
|
myhealth = global.mod_torizohealthform2hard;
|
|
hpforattack1 = 220;
|
|
hpforattack2 = 110;
|
|
stayaway = 0;
|
|
}
|
|
i = 0;
|
|
repeat (18) {
|
|
spk = instance_create(32 + i * 16, 432, oTorizoSpikes);
|
|
spk.alarm[0] = 300 + i * 90;
|
|
spk = instance_create(592 - i * 16, 432, oTorizoSpikes);
|
|
spk.alarm[0] = 300 + i * 90;
|
|
i += 1;
|
|
}
|
|
wings = instance_create(x, y - 65, oTorizoWings);
|
|
</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;
|
|
}
|
|
make_explosion3(x, y - 40);
|
|
repeat (30) instance_create(x, y - 50, oDebris);
|
|
instance_create(x, y, oScreenFlash);
|
|
sfx_play(sndRobotExpl);
|
|
sfx_play(sndMissileExpl);
|
|
with (mycam) instance_destroy();
|
|
with (wings) instance_destroy();
|
|
|
|
if(oControl.mod_fusion == 0) {
|
|
spawn_many_powerups(x - 64, y - 120, 120, 128);
|
|
mus_current_fadein();
|
|
with (oDoor) event_user(3);
|
|
}
|
|
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_create(x, y, oTorizoCoreXCam);
|
|
}
|
|
|
|
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(80), 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] = 4;
|
|
</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>var dir, projspeed;
|
|
dir = point_direction(x + 12 * facing, y - 65, oCharacter.x, oCharacter.y - 32);
|
|
if (phase == 0) {
|
|
if (statetime < 180) alarm[0] = 7;
|
|
projspeed = 4.5;
|
|
} else if (phase == 1) {
|
|
if (statetime < 200) alarm[0] = 6;
|
|
projspeed = 5.2;
|
|
} else if (phase > 1) {
|
|
if (statetime < 230) alarm[0] = 5;
|
|
projspeed = 6;
|
|
}
|
|
if (global.difficulty >= 2) projspeed += 1;
|
|
if (state == 2) {
|
|
if (facingplayer) {
|
|
proj = instance_create(x + 12 * facing, y - 65, oTorizoFireball);
|
|
proj.direction = dir;
|
|
proj.speed = projspeed;
|
|
proj.gravity = 0;
|
|
if (global.difficulty >= 2) {
|
|
proj = instance_create(x + 12 * facing, y - 65, oTorizoFireball);
|
|
proj.direction = dir + 30;
|
|
proj.speed = projspeed;
|
|
proj.gravity = 0;
|
|
proj = instance_create(x + 12 * facing, y - 65, oTorizoFireball);
|
|
proj.direction = dir - 30;
|
|
proj.speed = projspeed;
|
|
proj.gravity = 0;
|
|
}
|
|
} else {
|
|
dir = 90 - facing * 90;
|
|
proj = instance_create(x + 12 * facing, y - 65, oTorizoFireball);
|
|
proj.direction = dir - 30 + random(60);
|
|
proj.speed = projspeed;
|
|
proj.gravity = 0;
|
|
if (global.difficulty >= 2) {
|
|
repeat (2) {
|
|
proj = instance_create(x + 12 * facing, y - 65, oTorizoFireball);
|
|
proj.direction = dir - 30 + random(60);
|
|
proj.speed = projspeed;
|
|
proj.gravity = 0;
|
|
}
|
|
}
|
|
} // if (facingplayer) else
|
|
} // if (state == 2)
|
|
if (state == 3) {
|
|
proj = instance_create(x + 12 * facing, y - 50, oTorizoEgg);
|
|
proj.hspeed = (1.5 + random(5)) * facing;
|
|
proj.vspeed = 2 - random(4);
|
|
if (statetime < 230) alarm[0] = 7;
|
|
if (global.difficulty >= 2) {
|
|
proj.hspeed = (2 + random(9)) * facing;
|
|
proj.vspeed = 4 - random(8);
|
|
if (statetime < 230) alarm[0] = 6;
|
|
}
|
|
}
|
|
</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 (y >= 432) {
|
|
CollisionBottom = 1;
|
|
} else CollisionBottom = 0;
|
|
if (y <= WallUp + 80) {
|
|
CollisionTop = 1;
|
|
} else CollisionTop = 0;
|
|
if (x <= 48) {
|
|
CollisionLeft = 1;
|
|
} else CollisionLeft = 0;
|
|
if (x >= 592) {
|
|
CollisionRight = 1;
|
|
} else CollisionRight = 0;
|
|
facingplayer = 0;
|
|
if (facing == 1 && oCharacter.x > x) facingplayer = 1;
|
|
if (facing == -1 && oCharacter.x < x) facingplayer = 1;
|
|
wings.x = x;
|
|
wings.y = y - 65;
|
|
nextattack = floor(random(2));
|
|
if (state == 0) {
|
|
if (statetime == 0) {
|
|
sprite_index = sTorizoKneel;
|
|
image_index = 3;
|
|
image_speed = 0;
|
|
speed = 0;
|
|
turning = 0;
|
|
}
|
|
if (statetime == 45) {
|
|
sfx_play(sndTorizoRoar);
|
|
image_index = 2;
|
|
}
|
|
if (statetime == 55) image_index = 1;
|
|
if (statetime == 65) image_index = 0;
|
|
if (statetime == 75) {
|
|
vspeed = -3.5;
|
|
if (x < 160) hspeed = 1.2;
|
|
if (x > 480) hspeed = -1.2;
|
|
sprite_index = sTorizoFly;
|
|
image_index = 0;
|
|
}
|
|
if (statetime > 75) speed *= 0.95;
|
|
if (statetime == 90) {
|
|
sprite_index = sTorizoFly;
|
|
image_index = 1;
|
|
image_speed = 0;
|
|
}
|
|
if (statetime == 240) {
|
|
state = 1;
|
|
statetime = 0;
|
|
}
|
|
} // if (state == 0)
|
|
if (state == 1) {
|
|
if (statetime == 0) {
|
|
sprite_index = sTorizoFly;
|
|
image_index = 1;
|
|
image_speed = 0;
|
|
xAcc = 0.2;
|
|
yAcc = 0.15;
|
|
move = 1;
|
|
if (phase == 0) {
|
|
if (stayaway == 0) {
|
|
maxSpeed = 1.8;
|
|
} else maxSpeed = 2.5;
|
|
}
|
|
if (phase == 1) maxSpeed = 1.8;
|
|
if (phase == 2) maxSpeed = 2.35;
|
|
if (global.difficulty >= 2) maxSpeed = 2.4;
|
|
if ((instance_exists(oTorizoGhost) || instance_exists(oTorizoEgg)) && global.difficulty < 2) maxSpeed *= 0.8;
|
|
}
|
|
if (stayaway == 0) {
|
|
if (statetime > 5) {
|
|
if (oCharacter.x < x - 32 && facing == 1 && turning == 0) facing = -1;
|
|
if (oCharacter.x > x + 32 && facing == -1 && turning == 0) facing = 1;
|
|
}
|
|
if (facing == 1) {
|
|
targetx = 640;
|
|
} else targetx = 0;
|
|
targety = oCharacter.y;
|
|
if (oCharacter.y > 270 && globaltime < 1200) targety = 120;
|
|
} else {
|
|
if (oCharacter.x < x && facing == 1 && turning == 0) facing = -1;
|
|
if (oCharacter.x >= x && facing == -1 && turning == 0) facing = 1;
|
|
if (x < 128 && targetx == 0) targetx = 640;
|
|
if (x > 512 && targetx == 640) targetx = 0;
|
|
if (y >= 288 && targety == 288) targety = 144;
|
|
if (y <= 144 && targety == 144) targety = 288;
|
|
}
|
|
if (stayaway == 0 && statetime > 300 && (oCharacter.y < 270 && globaltime < 1200 || globaltime >= 1200)) {
|
|
if (nextattack == 0) {
|
|
state = 2;
|
|
statetime = 0;
|
|
}
|
|
if (nextattack == 1) {
|
|
if (phase >= 1) {
|
|
state = 3;
|
|
} else state = 2;
|
|
statetime = 0;
|
|
}
|
|
}
|
|
if (facing == 1 && oCharacter.x < x + 16 || facing == -1 && oCharacter.x > x - 16) image_index = 2;
|
|
if (facing == 1 && oCharacter.x >= x + 16 && oCharacter.x < x + 64 || facing == -1 && oCharacter.x <= x - 16 && oCharacter.x > x - 64) image_index = 1;
|
|
if (facing == 1 && oCharacter.x >= x + 64 || facing == -1 && oCharacter.x <= x - 64) image_index = 0;
|
|
if (statetime > 30 && phase == 0 && myhealth < hpforattack1 || phase == 1 && myhealth < hpforattack2) {
|
|
state = 4;
|
|
statetime = 0;
|
|
phase += 1;
|
|
with (oTorizoSpikes) alarm[0] = 1;
|
|
}
|
|
if (usedbirds == 0 && phase == 1 && statetime == 120) {
|
|
state = 3;
|
|
statetime = 0;
|
|
usedbirds = 1;
|
|
}
|
|
} // if (state == 1)
|
|
if (state == 2) {
|
|
speed *= 0.95;
|
|
if (statetime == 0) {
|
|
sprite_index = sTorizoFlyFireball;
|
|
image_index = 0;
|
|
image_speed = 0;
|
|
xAcc = 0.3;
|
|
yAcc = 0.2;
|
|
maxSpeed = 3;
|
|
move = 1;
|
|
targety = 160;
|
|
sfx_play(sndTorizoAttack1);
|
|
}
|
|
if (facing == 1) {
|
|
targetx = oCharacter.x - 140;
|
|
} else targetx = oCharacter.x + 140;
|
|
if (statetime == 60) move = 0;
|
|
if (statetime > 60) {
|
|
if (image_index < 4) image_index += 0.1;
|
|
}
|
|
if (statetime == 120) alarm[0] = 1;
|
|
if (statetime > 230) {
|
|
if (image_index > 0) image_index -= 0.1;
|
|
}
|
|
if (statetime == 240) {
|
|
state = 1;
|
|
statetime = -1;
|
|
}
|
|
} // if (state == 2)
|
|
if (state == 3) {
|
|
speed *= 0.95;
|
|
if (statetime == 0) {
|
|
sprite_index = sTorizoFly;
|
|
image_index = 0;
|
|
image_speed = 0;
|
|
xAcc = 0.2;
|
|
yAcc = 0.4;
|
|
maxSpeed = 3.5;
|
|
move = 1;
|
|
targety = 300;
|
|
sfx_play(sndTorizoAttack2);
|
|
}
|
|
if (facing == 1) {
|
|
targetx = oCharacter.x - 180;
|
|
} else targetx = oCharacter.x + 180;
|
|
if (statetime == 60) move = 0;
|
|
if (statetime == 120) alarm[0] = 1;
|
|
if (statetime == 300) {
|
|
state = 1;
|
|
statetime = -1;
|
|
}
|
|
}
|
|
if (state == 4) {
|
|
if (statetime == 0) {
|
|
sprite_index = sTorizoFly;
|
|
image_index = 0;
|
|
image_speed = 0;
|
|
speed = 0;
|
|
turning = 0;
|
|
if (facing == 1) {
|
|
targetx = -120;
|
|
} else targetx = 720;
|
|
sfx_play(sndTorizoRoar);
|
|
}
|
|
if (targetx > x) {
|
|
hspeed += 0.1;
|
|
} else hspeed -= 0.1;
|
|
if (statetime == 120) {
|
|
state = 5;
|
|
statetime = 0;
|
|
}
|
|
}
|
|
if (state == 5) {
|
|
if (statetime == 0) {
|
|
sprite_index = sTorizoDive;
|
|
mask_index = sTorizoDive;
|
|
image_index = 2;
|
|
image_speed = 0;
|
|
speed = 0;
|
|
turning = 0;
|
|
}
|
|
if (statetime == 1) {
|
|
if (facing == 1) {
|
|
x = oCharacter.x - 320;
|
|
} else x = oCharacter.x + 320;
|
|
y = oCharacter.y - 4;
|
|
hspeed = 12 * facing;
|
|
sfx_play(sndTorizoAttack2);
|
|
}
|
|
if (statetime == 60) {
|
|
facing = -facing;
|
|
if (facing == 1) {
|
|
x = oCharacter.x - 320;
|
|
} else x = oCharacter.x + 320;
|
|
y = oCharacter.y - 4;
|
|
hspeed = 12 * facing;
|
|
sfx_play(sndTorizoAttack2);
|
|
}
|
|
if (statetime == 120) {
|
|
facing = -facing;
|
|
if (facing == 1) {
|
|
x = oCharacter.x - 320;
|
|
} else x = oCharacter.x + 320;
|
|
y = oCharacter.y - 4;
|
|
hspeed = 12 * facing;
|
|
sfx_play(sndTorizoAttack2);
|
|
}
|
|
if (statetime == 180) {
|
|
facing = -facing;
|
|
if (facing == 1) {
|
|
x = oCharacter.x - 320;
|
|
} else x = oCharacter.x + 320;
|
|
y = oCharacter.y - 4;
|
|
hspeed = 12 * facing;
|
|
sfx_play(sndTorizoAttack2);
|
|
}
|
|
if (statetime == 250) {
|
|
facing = -facing;
|
|
state = 6;
|
|
statetime = 0;
|
|
}
|
|
} // if (state == 5)
|
|
if (state == 6) {
|
|
if (statetime == 0) {
|
|
sprite_index = sTorizoFly;
|
|
mask_index = sTorizoMask;
|
|
image_index = 0;
|
|
image_speed = 0;
|
|
speed = 0;
|
|
turning = 0;
|
|
sfx_play(sndTorizoAttack1);
|
|
}
|
|
if (statetime == 1) {
|
|
if (facing == 1) {
|
|
x = -120;
|
|
} else x = 720;
|
|
y = 320;
|
|
hspeed = 8 * facing;
|
|
}
|
|
if (statetime > 30) speed *= 0.95;
|
|
if (statetime > 30 && speed < 0.1) {
|
|
state = 1;
|
|
statetime = -1;
|
|
}
|
|
}
|
|
if (state == 100) {
|
|
sprite_index = sTorizoFly;
|
|
image_index = 1;
|
|
image_speed = 0;
|
|
speed = 0;
|
|
turning = 0;
|
|
if (statetime == 0) sfx_play(sndTorizoDeath);
|
|
}
|
|
if (state == 1 || state == 2 || state == 3) {
|
|
if (move) {
|
|
if (targetx > x) {
|
|
hspeed += xAcc;
|
|
} else hspeed -= xAcc;
|
|
if (targety > y) {
|
|
vspeed += yAcc;
|
|
} else vspeed -= yAcc;
|
|
if (speed > maxSpeed) speed = maxSpeed;
|
|
} else speed *= 0.9;
|
|
if (CollisionLeft && hspeed < 0) {
|
|
hspeed = 0;
|
|
x = 48;
|
|
}
|
|
if (CollisionRight && hspeed > 0) {
|
|
hspeed = 0;
|
|
x = 592;
|
|
}
|
|
if (CollisionTop && vspeed < 0) {
|
|
vspeed = 0;
|
|
y = WallUp + 80;
|
|
}
|
|
if (CollisionBottom && vspeed > 0) {
|
|
vspeed = 0;
|
|
y = 432;
|
|
}
|
|
} // if (state == 1 || state == 2 || state == 3)
|
|
if (phase > 0 || myhealth <= 200 || globaltime > 3600) stayaway = 0;
|
|
statetime += 1;
|
|
if (globaltime < 5000) globaltime += 1;
|
|
if (fxtimer < 5) {
|
|
fxtimer += 1;
|
|
} else fxtimer = 0;
|
|
if (flashing > 0) flashing -= 1;
|
|
dist = distance_to_point(oCharacter.x, oCharacter.y - 20);
|
|
</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>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 (myhealth > 0 && state > 0) {
|
|
if (!canbehit) {
|
|
with (other) event_user(1);
|
|
} else {
|
|
with (other) event_user(0);
|
|
if (state != 5) myhealth -= 5 * (1 + other.smissile * 2);
|
|
if (state != 5 && state != 4) speed *= 0.25;
|
|
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 (myhealth > 0 && state > 0 && canbehit) {
|
|
if (other.chargebeam) {
|
|
if (state != 5) myhealth -= 4 * (1 - other.sbeam * 0.4);
|
|
event_user(0);
|
|
} else {
|
|
if (state != 5) myhealth -= 1.5 * (1 - other.sbeam * 0.4);
|
|
event_user(0);
|
|
}
|
|
with (other) {
|
|
event_user(0);
|
|
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>if (myhealth > 0 && state > 0 && canbehit && !flashing) {
|
|
myhealth -= 2;
|
|
event_user(0);
|
|
}
|
|
</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 (myhealth > 0 && state > 0 && canbehit && !flashing) {
|
|
myhealth -= 1;
|
|
event_user(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 (myhealth > 0 && state > 0) damage_player(damage, 5, -3, 0, 0);
|
|
</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>flashing = 5;
|
|
fxtimer = 0;
|
|
PlaySoundMono(sndTorizoHit);
|
|
myhealth -= 1;
|
|
if (myhealth <= 0) {
|
|
state = 100;
|
|
statetime = 0;
|
|
alarm[10] = 1;
|
|
alarm[11] = 300;
|
|
with (oTorizoEgg) event_user(1);
|
|
with (oTorizoGhost) event_user(1);
|
|
if(oControl.mod_fusion == 0) {
|
|
with (oTorizoSpikes) event_user(0);
|
|
mus_fadeout(musTorizoB);
|
|
oMusicV2.bossbgm = sndJump;
|
|
}
|
|
}
|
|
</string>
|
|
</argument>
|
|
</arguments>
|
|
</action>
|
|
</event>
|
|
<event eventtype="7" enumb="7">
|
|
<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 (turning == 1) turning = 0;
|
|
</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_sprite_ext(sprite_index, -1, x, y, facing, 1, 0, image_blend, 1);
|
|
if (flashing) {
|
|
draw_sprite_ext(sprite_index, -1, x, y, facing, 1, image_angle, make_color_rgb(255 - fxtimer * 63, 255 - fxtimer * 63, 255 - fxtimer * 63), 1);
|
|
draw_set_blend_mode(bm_add);
|
|
repeat (2) draw_sprite_ext(sprite_index, -1, x, y, facing, 1, image_angle, -1, 1 - fxtimer * 0.25);
|
|
draw_set_blend_mode(bm_normal);
|
|
}
|
|
if (state == 5) {
|
|
draw_set_blend_mode(bm_add);
|
|
draw_sprite_ext(sTorizoDiveJetFX, -1, x, y, facing, 1, 0, -1, 1);
|
|
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>
|