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.
228 lines
9.6 KiB
228 lines
9.6 KiB
<!--This Document is generated by GameMaker, if you edit it by hand then you do so at your own risk!-->
|
|
<object>
|
|
<spriteName><undefined></spriteName>
|
|
<solid>0</solid>
|
|
<visible>-1</visible>
|
|
<depth>-1000</depth>
|
|
<persistent>-1</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>if(!instance_exists(oClient)){
|
|
instance_destroy();
|
|
}
|
|
</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(!instance_exists(oClient)){
|
|
instance_destroy();
|
|
} else {
|
|
if(ds_list_size(oClient.roomListData) > 0){
|
|
for(var i=0; i<ds_list_size(oClient.roomListData); i++){
|
|
var arrDraw = oClient.roomListData[| i];
|
|
var arrID = arrDraw[0];
|
|
var arrX = arrDraw[1];
|
|
var arrY = arrDraw[2];
|
|
var arrSprite = arrDraw[3];
|
|
var arrImage = arrDraw[4];
|
|
var arrA1 = arrDraw[5];
|
|
var arrA1X = arrDraw[6];
|
|
var arrA1Y = arrDraw[7];
|
|
var arrA2 = arrDraw[8];
|
|
var arrA2X = arrDraw[9];
|
|
var arrA2Y = arrDraw[10];
|
|
var arrA2A = arrDraw[11];
|
|
var arrMirror = arrDraw[12];
|
|
var arrArmmsl = arrDraw[13];
|
|
var arrRoom = arrDraw[14];
|
|
var arrName = arrDraw[15];
|
|
var arrBlend = arrDraw[16];
|
|
var arrFXTimer = arrDraw[17];
|
|
var arrRoomPrev = arrDraw[18];
|
|
var arrState = arrDraw[19];
|
|
var arrSAX = arrDraw[20];
|
|
var arrHealth = arrDraw[25];
|
|
var arrSpectator = arrDraw[26];
|
|
var tunnel = false;
|
|
|
|
if(string_count("MorphBall", sprite_get_name(arrSprite)) > 0){
|
|
with(oMultiHitbox){
|
|
if(myid == arrID){
|
|
if(position_meeting(arrX, arrY + 1, oSolid) && position_meeting(arrX, arrY - 17, oSolid)) tunnel = true;
|
|
}
|
|
}
|
|
}
|
|
|
|
if((arrRoom == room || arrRoom == rm_options || arrRoom == itemroom || arrRoom == subscreenroom || arrRoom == maproom || arrRoom == rm_subscreen) && instance_exists(oCharacter) && room != rm_transition){
|
|
if(arrSAX == global.sax){
|
|
var showName = true;
|
|
switch(oControl.showname){
|
|
case "disabled":
|
|
showName = false;
|
|
break;
|
|
case "enabled":
|
|
showName = true;
|
|
break;
|
|
}
|
|
if(showName){
|
|
var text;
|
|
if(arrRoom == room){
|
|
text = arrName;
|
|
} else {
|
|
if(arrRoom == itemroom){
|
|
text = arrName + ": collecting item"
|
|
} else {
|
|
text = arrName + ": paused";
|
|
}
|
|
}
|
|
if(arrSpectator) text = "";
|
|
if(arrRoom != room){
|
|
if(arrRoomPrev == room){
|
|
var offset = 52;
|
|
if(string_lower(arrName) == "meep") offset = 54;
|
|
if(string_lower(arrName) == "omegadruid") offset = 62;
|
|
draw_set_font(fontGUI2);
|
|
draw_set_halign(fa_center);
|
|
draw_cool_text(arrX, arrY - offset, text, c_black, c_white, c_white, 1);
|
|
draw_set_halign(fa_left);
|
|
}
|
|
} else {
|
|
var offset = 52;
|
|
if(string_lower(arrName) == "meep") offset = 54;
|
|
if(string_lower(arrName) == "omegadruid") offset = 62;
|
|
draw_set_font(fontGUI2);
|
|
draw_set_halign(fa_center);
|
|
draw_cool_text(arrX, arrY - offset, text, c_black, c_white, c_white, 1);
|
|
draw_set_halign(fa_left);
|
|
}
|
|
}
|
|
} else {
|
|
if(global.showHealthIndicators && !tunnel && !arrSpectator){
|
|
var offsetY = 42;
|
|
if(string_count("MorphBall", sprite_get_name(arrSprite)) > 0) offsetY = 21;
|
|
var offsetX = 7;
|
|
draw_set_halign(fa_center);
|
|
draw_sprite(sRHealthArrow, 0, arrX - 1, arrY - offsetY);
|
|
var healthString = string(arrHealth);
|
|
var barHealthString = string_copy(healthString, string_length(healthString) - 1, string_length(healthString));
|
|
var barHealth = real(barHealthString);
|
|
var tankHealth = arrHealth - barHealth;
|
|
var fullTanks = tankHealth / 100;
|
|
var tank = 0;
|
|
for(var f=0; f<10; f++){
|
|
tank++;
|
|
var _x = 3 * floor(f / 2);
|
|
var _y = 3 * (f % 2);
|
|
var tankSprite = sHealthTank;
|
|
if(tank <= fullTanks) tankSprite = sRHealthTank;
|
|
draw_sprite(tankSprite, 0, (arrX - offsetX) + _x, arrY - (offsetY + 7) + _y);
|
|
}
|
|
draw_sprite(sRHealthBar, 0, (arrX - offsetX), arrY - (offsetY + 10));
|
|
draw_set_halign(fa_right);
|
|
var stretchMult = abs(15 - round(barHealth / 6.6)) * -1;
|
|
if(barHealth == 99) stretchMult = 0;
|
|
draw_sprite_ext(sHealthBarStretch, 0, (arrX - offsetX) + 14, arrY - (offsetY + 10), stretchMult, 1, 0, c_white, 1);
|
|
draw_set_halign(fa_left);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
if(global.showHealthIndicators && instance_exists(oCharacter)){
|
|
var offsetY = 42;
|
|
if(string_count("MorphBall", sprite_get_name(oCharacter.sprite_index)) > 0) offsetY = 21;
|
|
var offsetX = 7;
|
|
draw_set_halign(fa_center);
|
|
draw_sprite(sGHealthArrow, 0, oCharacter.x - 2, oCharacter.y - offsetY);
|
|
draw_set_halign(fa_left);
|
|
}
|
|
}
|
|
|
|
if(!global.sax && global.spectator && global.ingame){
|
|
var text = "Jump to swap players";
|
|
draw_set_font(fontGUI2);
|
|
draw_set_halign(fa_center);
|
|
draw_cool_text(view_xview[0] + 160, view_yview[0] + 200, text, c_black, c_white, c_white, image_alpha);
|
|
draw_set_halign(fa_left);
|
|
|
|
var text = "Fire to stop spectating";
|
|
draw_set_font(fontGUI2);
|
|
draw_set_halign(fa_center);
|
|
draw_cool_text(view_xview[0] + 160, view_yview[0] + 220, text, c_black, c_white, c_white, image_alpha);
|
|
draw_set_halign(fa_left);
|
|
}
|
|
|
|
if(global.sax && global.spectator && global.ingame){
|
|
if(global.reformTimer > 0){
|
|
var timerStr = string(global.reformTimer / 60);
|
|
var text = "Reform in " + timerStr + " seconds";
|
|
draw_set_font(fontGUI2);
|
|
draw_set_halign(fa_center);
|
|
draw_cool_text(view_xview[0] + 160, view_yview[0] + 220, text, c_black, c_white, c_white, image_alpha);
|
|
draw_set_halign(fa_left);
|
|
} else {
|
|
var text = "Jump to reform!";
|
|
draw_set_font(fontGUI2);
|
|
draw_set_halign(fa_center);
|
|
draw_cool_text(view_xview[0] + 160, view_yview[0] + 220, text, c_black, c_white, c_white, image_alpha);
|
|
draw_set_halign(fa_left);
|
|
}
|
|
}
|
|
|
|
</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>
|