You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
AM2R-TimeTrials/objects/oErisHead.object.gmx

869 lines
25 KiB

<!--This Document is generated by GameMaker, if you edit it by hand then you do so at your own risk!-->
<object>
<spriteName>sErisHead</spriteName>
<solid>0</solid>
<visible>-1</visible>
<depth>0</depth>
<persistent>0</persistent>
<parentName>&lt;undefined&gt;</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>canbeX = 1;
// hp = 100;
hp = global.mod_serrisHealth;
// Check for ice in random games
if (global.item[11] == 0) {
hp = hp * 1.5;
}
maxhp = hp;
// damage = 50;
damage = global.mod_serrisDamage;
speed = 0; // regular move at 4
boosting = 0;
jawoff = 2;
fxtimer = 0;
flashing = 0;
bodylength = 14; // 15 segments, plus head makes 16
roaring = 0;
inrange = 0;
facing = -1;
direction = 180;
turnspeed = 3;
stun = 0;
cooldown = 0;
phase = 0;
boostphase = 0;
boostlaunch = 0;
lock = 0;
state = 10;
statetime = 0;
nextstate = 0;
startx = x;
// Targeting routine init
tgt = 0;
/*for (var p = 0; p &lt; 8; p ++) {
tgt1x[p] = 0;
tgt1y[p] = 0;
tgt2x[p] = 0;
tgt2y[p] = 0;
tgt3x[p] = 0;
tgt3y[p] = 0;
tgt4x[p] = 0;
tgt4y[p] = 0;
}*/
for (var i = bodylength; i &gt;= 0; i --) { // Create body
segment[i] = instance_create(x, y, oErisSegment);
segment[i].x = x + (i*26); // DEBUG THIS LATER
segment[i].order = i;
segment[i].image_angle = image_angle;
segment[i].direction = direction;
segment[i].depth = -50 - i;
if (i &gt; 12) {
segment[i].spr_normal = sErisNeck;
segment[i].spr_frozen = sErisNeckF;
segment[i].spr_open = sErisNeckD;
} else if ((i &lt; 4) &amp;&amp; (i &gt; 0)) {
segment[i].spr_normal = sErisBody2;
segment[i].spr_frozen = sErisBody2F;
segment[i].spr_open = sErisBody2D;
} else if (i == 0) {
segment[i].sprite_index = sErisBody3;
segment[i].tail = 1;
}
}
alarm[0] = 1; // Bubbles!
alarm[1] = 120; // Move SFX
</string>
</argument>
</arguments>
</action>
</event>
<event eventtype="1" 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>/// Pickups
if(oControl.mod_fusion == 0) monster_spawn_powerups(x, y, random(4), random(3));
</string>
</argument>
</arguments>
</action>
</event>
<event eventtype="2" enumb="1">
<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>/// Move SFX
var sfx = choose(0, 1, 2);
if (inrange) {
switch (sfx) {
case 0: sfx_play(sndErisMove1); break;
case 2: sfx_play(sndErisMove2); break;
case 3: sfx_play(sndErisMove3); break;
}
}
alarm[1] = 60 + random(90);
</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>/// BUBBLES
if ((state != 100) &amp;&amp; (inrange)) {
var bubble = instance_create(x, y - 8, oLBubble);
if (instance_exists(bubble)) {
bubble.alarm[0] = 60;
bubble.direction = image_angle;
bubble.speed = speed * 0.6;
bubble.depth = -90;
}
}
alarm[0] = 4 + irandom(4);
</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>/// ANIMATION
if (boosting &gt; 0) {
if (!audio_is_playing(sndSBEris)) {
sfx_loop(sndSBEris);
}
} else if (!boosting) {
sfx_stop(sndSBEris);
}
// FX Timer
if (fxtimer &gt;= 0) fxtimer -= 1;
if (fxtimer == -1) fxtimer = 5;
// Roaring
if (roaring &gt; 0) {
if (jawoff &lt; 8) jawoff += 2;
} else if (jawoff &gt; 2) jawoff -= 1;
if (roaring &gt; 0) roaring -= 1;
// Flashing
if (flashing &gt; 0) flashing -= 1;
/// MOVEMENT
// Move first neck segment
if (state != 100) {
segment[14].x = lerp(segment[14].x, x + lengthdir_x(8, image_angle-180), 0.5);
segment[14].y = lerp(segment[14].y, y + lengthdir_y(8, image_angle-180), 0.5);
}
/// STATE MACHINE
inrange = ((x &gt; 32) &amp;&amp; (x &lt; 608) &amp;&amp; (y &gt; 48) &amp;&amp; (y &lt; 448)); // fix later 1.5.1
if (state == 10) { // Spawn state
if (statetime == 0) {
x = 720;
startx = 720;
direction = 180;
image_yscale = -1;
event_user(0);
} else if (statetime == 120) {
sfx_play(sndErisRoar1);
} else if (statetime == 180) {
speed = 4;
state = 2; // Start in movement state 2
nextstate = 2;
statetime = 0; // Reset statetime
mus_play(musEris); // Begin music
oMusicV2.bossbgm = musEris; // Also begin music???
scan_log(37, get_text("ScanEvents", "ScanBioform"), 120, 0); // Start log
}
}
if (state == 0) {
lock = 0;
if (boosting &gt; 0) {
boosting --;
}
nextstate += 1;
if (nextstate &gt; 3) {
nextstate = 1;
}
if (statetime == 0) {
if (boosting &amp;&amp; (nextstate == 3)) {
if (point_distance(320, 256, oCharacter.x, oCharacter.y) &gt; 128) {
nextstate = 1;
}
}
switch (nextstate) {
case 1: sfx_play(sndErisRoar1); break;
case 2: sfx_play(sndErisRoar2); break;
case 3: sfx_play(sndErisRoar3); break;
//case 4: sfx_play(sndErisRoar4); break;
}
facing = -facing;
if (floor(facing) == 1) {
x = -16;
startx = -16;
direction = 0;
image_yscale = 1;
event_user(0);
event_user(3);
} else {
x = 640;
startx = 640;
direction = 180;
image_yscale = -1;
event_user(0);
event_user(3);
}
}
// move to state
if (statetime == (90 - (sign(boosting)*90))) {
if (!boosting) {
speed = 4 + (phase); // Boosts based on damage phase
} else {
speed = 9; // Boosting base speed
}
state = nextstate;
statetime = 0;
}
}
if (state == 1) {
if ((!boosting) || lock) { // normal
if (statetime == 0) {
tgt = 0;
turnspeed = 5 + (phase*2);
y = 416;
event_user(3);
}
// Targeting routine
if ((point_distance(x, y, (tgt1x[tgt]*(-facing))+(640*((1+facing)/2)), tgt1y[tgt]) &lt; 32) &amp;&amp; (speed != 0)) {
if (tgt &lt; (array_length_1d(tgt1x)-1)) {
tgt += 1;
} else {
speed = 0;
state = 0;
statetime = -1;
}
}
if ((tgt == 4) || (tgt == 5) || (tgt == 6) || (tgt == 7) || (tgt == 8) || (tgt == 9) || (tgt == 10) || (tgt == 11) || (tgt == 12)) {//4 || 5 || 6 || 8 || 9 || 10 || 11)) { // Turnspeed for loops
if (statetime &lt; 300) {
turnspeed = 6 + (phase*2) + (4*sign(boosting));
}
if ((boosting &gt; 0) &amp;&amp; (statetime &gt; 300)) { // Hope this works
turnspeed += 0.1;
}
} else {
turnspeed = 5 + (phase*2);
}
turn_towards_direction(point_direction(x, y, (tgt1x[tgt]*(-facing))+(640*((1+facing)/2)), tgt1y[tgt]), turnspeed);
} else {
// speedboosting
if (statetime == 0) {
tgt = 0;
turnspeed = 15;
y = 144;
event_user(3);
}
// Targeting routine
if ((point_distance(x, y, (tgt4x[tgt]*(-facing))+(640*((1+facing)/2)), tgt4y[tgt]) &lt; 32) &amp;&amp; (speed != 0)) {
if (tgt &lt; (array_length_1d(tgt4x)-1)) {
tgt += 1;
} else {
speed = 0;
state = 0;
statetime = -1;
}
}
turn_towards_direction(point_direction(x, y, (tgt4x[tgt]*(-facing))+(640*((1+facing)/2)), tgt4y[tgt]), turnspeed);
}
}
if (state == 2) {
if ((!boosting) || lock) {
if (statetime == 0) {
tgt = 0;
turnspeed = 3 + (phase*2);
y = 144;
event_user(3);
}
// Targeting routine
if ((point_distance(x, y, (tgt2x[tgt]*(-facing))+(640*((1+facing)/2)), tgt2y[tgt]) &lt; 32) &amp;&amp; (speed != 0)) {
if (tgt &lt; (array_length_1d(tgt2x)-1)) {
tgt += 1;
} else {
speed = 0;
state = 0;
statetime = -1;
}
}
turn_towards_direction(point_direction(x, y, (tgt2x[tgt]*(-facing))+(640*((1+facing)/2)), tgt2y[tgt]), turnspeed);
} else { // Boosting
if (statetime == 0) {
tgt = 0;
turnspeed = 15;
y = 416;
event_user(3);
}
if ((point_distance(x, y, (tgt5x[tgt]*(-facing))+(640*((1+facing)/2)), tgt5y[tgt]) &lt; 32) &amp;&amp; (speed != 0)) {
if (tgt &lt; (array_length_1d(tgt5x)-1)) {
tgt += 1;
} else {
speed = 0;
state = 0;
statetime = -1;
}
}
turn_towards_direction(point_direction(x, y, (tgt5x[tgt]*(-facing))+(640*((1+facing)/2)), tgt5y[tgt]), turnspeed);
}
}
if (state == 3) {
if ((!boosting) || lock) {
if (statetime == 0) {
tgt = 0;
turnspeed = 4 + (phase*2);
y = 288;
event_user(3);
}
// Targeting routine
if ((point_distance(x, y, (tgt3x[tgt]*(-facing))+(640*((1+facing)/2)), tgt3y[tgt]) &lt; 32) &amp;&amp; (speed != 0)) {
if (tgt &lt; (array_length_1d(tgt3x)-1)) {
tgt += 1;
} else {
speed = 0;
state = 0;
statetime = -1;
}
}
turn_towards_direction(point_direction(x, y, (tgt3x[tgt]*(-facing))+(640*((1+facing)/2)), tgt3y[tgt]), turnspeed);
} else { // Boosting
if (statetime == 0) {
tgt = 0;
turnspeed = 5;
y = 288;
event_user(3);
}
// Targeting routine
if ((point_distance(x, y, (tgt6x[tgt]*(-facing))+(640*((1+facing)/2)), tgt6y[tgt]) &lt; 32) &amp;&amp; (speed != 0)) {
if (tgt &lt; (array_length_1d(tgt6x)-1)) {
if ((tgt == 2) || (tgt == 8) || (tgt == 14)) {
event_user(4);
}
tgt += 1;
} else {
speed = 0;
state = 0;
statetime = -1;
}
}
turn_towards_direction(point_direction(x, y, (tgt6x[tgt]*(-facing))+(640*((1+facing)/2)), tgt6y[tgt]), turnspeed);
}
}
if (boostlaunch &gt; 0) { // Pre-boost
if (flashing &lt;= 1) {
flashing = 10;
}
speed *= 0.95;
boostlaunch --;
if (boostlaunch &lt;= 0) {
lock = 1;
speed = 9;
turnspeed = 15;
switch (boostphase) {
case 1: boosting = 4; break;
case 3: boosting = 5; break;
case 5: boosting = 6; break;
}
boostphase ++;
}
}
if (state == 100) {
if (statetime &lt; 30) {
speed *= 0.8;
} else if (vspeed &gt; -0.2) {
vspeed -= 0.01;
}
if (statetime == 0) {
for (i = 0; i &lt;= bodylength; i += 1) {
with (segment[i]) {
event_user(10);
}
}
sfx_play(sndErisDeath);
if(oControl.mod_fusion == 0) {
mus_fadeout(musEris);
oMusicV2.bossbgm = sndJump;
}
}
if (statetime == 280) {
repeat (8) {
var expl = instance_create(x + random_range(-16, 16), y + random_range(-16, 16), oFXAnimSpark);
expl.image_speed = 0.3 + random(0.5);
expl.additive = 0;
expl.sprite_index = sExpl1;
}
make_explosion3(x, y);
repeat (20) {
var bubble = instance_create(x, y, oLBubble);
if (instance_exists(bubble)) {
bubble.hspeed = random_range(-2.5, 2.5);
bubble.vspeed = -random(0.4);
}
}
instance_create(x, y, oScreenFlash);
sfx_play(sndMissileExpl);
global.event[261] = 1;
if(oControl.mod_fusion == 0) {
with (oDoorA5) {
event_user(3);
}
mus_current_fadein();
}
else {
var 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 = 1;
core.lastYscale = image_yscale;
core.lastBossDepth = depth;
}
instance_destroy();
}
}
if ((state != 100) &amp;&amp; (state != 0)) {
image_angle = direction;
}
statetime ++;
if (cooldown &gt; 0) {
cooldown --;
}
</string>
</argument>
</arguments>
</action>
</event>
<event eventtype="4" ename="oErisPipe">
<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.active) {
if (floor(boosting) &gt; 1) {
boosting --;
}
if (hp &gt;= 3) {
hp -= 2;
stun = 10;
event_user(2);
}
sfx_play(sndErisRoar4);
sfx_play(sndElectricExpl);
}
with (other) {
active = 0;
cooldown = cooldownmax;
time = 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>/// Damage Sarah
if (state != 100) damage_player(damage, 7, -3, 0, 0);
</string>
</argument>
</arguments>
</action>
</event>
<event eventtype="4" ename="oBlockMissile">
<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 not dead, destroy block
if (state != 100) with (other) event_user(0);
</string>
</argument>
</arguments>
</action>
</event>
<event eventtype="7" enumb="14">
<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>/// Fire projectiles
roaring = 15;
sfx_play(sndErisRoar4);
var proj = instance_create(x, y, oErisProjectile);
proj.direction = point_direction(x, y, oCharacter.x, oCharacter.y-(oCharacter.sprite_height/2));
/*
if (!boosting) {
if (boostphase &lt; 3) {
var proj = instance_create(x, y, oErisProjectile);
proj.direction = point_direction(x, y, oCharacter.x, oCharacter.y-(oCharacter.sprite_height/2));
} else if (boostphase &lt; 5) {
var proj = instance_create(x, y, oErisProjectile); // FIXED YAY
proj.direction = point_direction(x, y, oCharacter.x, oCharacter.y-(oCharacter.sprite_height/2));
proj.direction += (3);
var proj2 = instance_create(x, y, oErisProjectile); // FIXED YAY
proj2.direction = point_direction(x, y, oCharacter.x, oCharacter.y-(oCharacter.sprite_height/2));
proj2.direction -= (3);
}
else {
for (i = -1; i &lt; 2; i ++) {
var proj = instance_create(x, y, oErisProjectile); // FIXED YAY
proj.direction = point_direction(x, y, oCharacter.x, oCharacter.y-(oCharacter.sprite_height/2));
proj.direction += (i*15);
}
}
}
</string>
</argument>
</arguments>
</action>
</event>
<event eventtype="7" enumb="13">
<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>/// Realign body
for (var i = bodylength; i &gt;= 0; i --) {
segment[i].x = x + (abs(i-13)*26*-facing);
segment[i].y = y;
}
</string>
</argument>
</arguments>
</action>
</event>
<event eventtype="7" enumb="12">
<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>/// Take damage?
flashing = 10;
roaring = 30;
sfx_play(sndErisHit);
if ((hp &lt; (maxhp)) &amp;&amp; (hp &gt;= ((3*maxhp)/4))) {
phase = 0;
}
if ((hp &lt; ((3*maxhp)/4)) &amp;&amp; (hp &gt;= (maxhp/2))) {
phase = 1;
if (boostphase == 0) {
boostlaunch = 30;
boostphase ++;
}
}
if ((hp &lt; (maxhp/2)) &amp;&amp; (hp &gt;= (maxhp/4))) {
phase = 2;
if (boostphase == 2) {
boostlaunch = 30;
boostphase ++;
}
}
if (hp &lt; (maxhp/4)) {
phase = 3;
if (boostphase == 4) {
boostlaunch = 30;
boostphase ++;
}
}
if (hp &lt;= 0) {
state = 100;
statetime = 0;
}
for (i = 0; i &lt;= bodylength; i += 1) {
segment[i].flashing = 10;
}
</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>/// Maintain yscale
for (i = 0; i &lt; bodylength + 1; i += 1) {
segment[i].image_yscale = image_yscale;
}
</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>var jawdir = direction + 270 + (image_yscale == -1) * 180;
draw_sprite_ext(sErisJaw, -1, x + lengthdir_x(jawoff, jawdir), y + lengthdir_y(jawoff, jawdir), 1, image_yscale, image_angle, -1, 1);
draw_sprite_ext(sErisHead, -1, x, y, 1, image_yscale, image_angle, -1, 1);
// Flashing
if (flashing &gt; 0) {
draw_set_blend_mode(bm_add);
repeat (2) {
draw_sprite_ext(sErisJaw, -1, x + lengthdir_x(jawoff, jawdir), y + lengthdir_y(jawoff, jawdir), 1, image_yscale, image_angle, -1, flashing * 0.1);
draw_sprite_ext(sErisHead, -1, x, y, 1, image_yscale, image_angle, -1, flashing * 0.1);
}
draw_set_blend_mode(bm_normal);
}
if (boosting) {
draw_set_blend_mode(bm_add);
if (fxtimer == 0 || fxtimer == 1) {
draw_sprite_ext(sErisJaw, -1, x + lengthdir_x(jawoff, jawdir), y + lengthdir_y(jawoff, jawdir), 1, image_yscale, image_angle, c_green, 1.1 + fxtimer * 0.2);
draw_sprite_ext(sErisHead, -1, x, y, 1, image_yscale, image_angle, c_green, 1.1 + fxtimer * 0.2);
}
if (fxtimer == 2 || fxtimer == 3) {
repeat (2) {
draw_sprite_ext(sErisJaw, -1, x + lengthdir_x(jawoff, jawdir), y + lengthdir_y(jawoff, jawdir), 1, image_yscale, image_angle, c_yellow, 1);
draw_sprite_ext(sErisHead, -1, x, y, 1, image_yscale, image_angle, c_yellow, 1);
draw_sprite_ext(sErisJaw, -1, x + lengthdir_x(jawoff, jawdir), y + lengthdir_y(jawoff, jawdir), 1, image_yscale, image_angle, c_white, 1);
draw_sprite_ext(sErisHead, -1, x, y, 1, image_yscale, image_angle, c_white, 1);
}
}
if (fxtimer == 4 || fxtimer == 5) {
repeat (2) {
draw_sprite_ext(sErisJaw, -1, x + lengthdir_x(jawoff, jawdir), y + lengthdir_y(jawoff, jawdir), 1, image_yscale, image_angle, c_red, 1);
draw_sprite_ext(sErisHead, -1, x, y, 1, image_yscale, image_angle, c_red, 1);
}
}
draw_set_blend_mode(bm_normal);
}
//debug
//draw_text(16, 16, string(speed));
</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>0</PhysicsObjectKinematic>
<PhysicsShapePoints/>
</object>