spaceinator/objects/obj_chunk.object.gmx

274 lines
7.6 KiB
Plaintext
Raw Permalink Normal View History

2020-07-23 23:19:56 +00:00
<!--This Document is generated by GameMaker, if you edit it by hand then you do so at your own risk!-->
<object>
<spriteName>spr_chunk</spriteName>
<solid>0</solid>
2020-07-29 01:22:35 +00:00
<visible>-1</visible>
2020-07-23 23:19:56 +00:00
<depth>0</depth>
<persistent>0</persistent>
<parentName>&lt;undefined&gt;</parentName>
<maskName>&lt;undefined&gt;</maskName>
2020-07-24 03:08:32 +00:00
<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>
2021-03-18 06:01:07 +00:00
<string>random_set_seed(get_chunk_seed(x,y));
/// GENERATE CHUNK
2020-07-24 08:17:51 +00:00
instance_list = ds_list_create();
2020-07-24 03:08:32 +00:00
loaded = true;
2020-07-25 06:26:58 +00:00
var hasGeneratedBlackHole = false;
2020-09-08 23:53:46 +00:00
var hasGeneratedBrokenShip = false;
2020-07-24 03:08:32 +00:00
// GENERATION
for(var xx = 0; xx &lt; CHUNK_SIZE*TILE_SIZE; xx+= TILE_SIZE)
{
for(var yy = 0; yy &lt; CHUNK_SIZE*TILE_SIZE; yy+= TILE_SIZE)
{
2020-09-08 23:53:46 +00:00
var rnd = random_range(0,10000);
if(floor(rnd % 10000) == 8103)
{
if(hasGeneratedBrokenShip)
continue;
var inst = instance_create(x+xx,y+yy, obj_broken_ship);
inst.CHUNK_CONTAINED = self.id;
ds_list_add(instance_list, inst);
hasGeneratedBrokenShip = true;
continue;
}
if(floor(rnd % 5000) == 1000)
2020-07-25 06:26:58 +00:00
{
if(hasGeneratedBlackHole)
continue;
2020-07-25 06:20:00 +00:00
var inst = instance_create(x+xx,y+yy, obj_black_hole);
inst.CHUNK_CONTAINED = self.id;
ds_list_add(instance_list, inst);
2020-07-29 01:22:35 +00:00
2020-07-25 06:26:58 +00:00
hasGeneratedBlackHole = true;
2020-07-25 06:20:00 +00:00
continue;
}
if(rnd % 100 &lt; 1)
2020-07-24 03:08:32 +00:00
{
2020-07-24 08:17:51 +00:00
var inst = instance_create(x+xx,y+yy, obj_asteriod);
2020-07-24 12:24:30 +00:00
inst.CHUNK_CONTAINED = self.id;
2020-07-24 08:17:51 +00:00
ds_list_add(instance_list, inst);
2020-07-25 06:20:00 +00:00
continue;
2020-07-24 03:08:32 +00:00
}
}
}
</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>
2020-08-09 22:13:19 +00:00
<string>///Place blocks
if(mouse_check_button_pressed(mb_right) || gamepad_button_check_pressed(0,gp_shoulderl))
2020-07-24 03:08:32 +00:00
{
2020-08-09 22:13:19 +00:00
if(obj_inv_controller.is_open)
{
return 0;
}
var selected_item = obj_inv_controller.inventory[obj_hotbar.selected_slot];
if(selected_item != 0)
{
var selX = round(mouse_x/TILE_SIZE)*TILE_SIZE;
var selY = round(mouse_y/TILE_SIZE)*TILE_SIZE;
selX -= TILE_SIZE / 2;
selY -= TILE_SIZE / 2;
var objid = instance_position(selX,selY,obj_placed_item)
if(objid != noone)
{
show_debug_message(string(objid)+", "+string(objid.object_index));
return 0;
}
objid = instance_position(selX,selY,obj_player)
if(objid != noone)
{
show_debug_message(string(objid)+", "+string(objid.object_index));
return 0;
}
var inst = instance_create(selX,selY,obj_placed_item);
use_item_in_inventory(obj_hotbar.selected_slot);
var chunkid = id;
with(inst){
inst.ITEM_ID = selected_item;
inst.CHUNK_CONTAINED = chunkid;
}
ds_list_add(instance_list, inst);
}
2020-07-24 03:08:32 +00:00
}
2020-07-29 01:22:35 +00:00
</string>
</argument>
</arguments>
</action>
<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>
2020-08-09 22:13:19 +00:00
<string>var chunk_total_size = CHUNK_SIZE * TILE_SIZE
2020-07-29 02:11:35 +00:00
2020-08-09 22:13:19 +00:00
if(distance_to_object(obj_player) &gt; chunk_total_size*3)
2020-07-29 01:22:35 +00:00
{
2020-08-09 22:13:19 +00:00
event_user(0);
2020-07-29 01:22:35 +00:00
}
2020-07-24 03:08:32 +00:00
</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>
2020-07-24 06:41:57 +00:00
<string>/// load
2020-07-24 08:17:51 +00:00
for(var i = 0; i &lt; ds_list_size(instance_list); i++)
2020-07-24 03:08:32 +00:00
{
2020-07-24 08:17:51 +00:00
instance_activate_object(instance_list[| i]);
2020-07-24 03:08:32 +00:00
}
loaded = true;
</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>
2020-07-24 06:41:57 +00:00
<string>/// unload
2020-07-24 08:17:51 +00:00
for(var i = 0; i &lt; ds_list_size(instance_list); i++)
2020-07-24 03:08:32 +00:00
{
2020-07-24 08:17:51 +00:00
instance_deactivate_object(instance_list[| i]);
2020-07-24 03:08:32 +00:00
}
loaded = false;
instance_deactivate_object(id);
2020-07-29 01:22:35 +00:00
</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(global.debug)
draw_self();
var selX = round(mouse_x/TILE_SIZE)*TILE_SIZE;
var selY = round(mouse_y/TILE_SIZE)*TILE_SIZE;
selX -= TILE_SIZE / 2;
selY -= TILE_SIZE / 2;
draw_set_color(c_white);
draw_rectangle(selX,selY,selX + TILE_SIZE, selY + TILE_SIZE, true);
2020-07-24 03:08:32 +00:00
</string>
</argument>
</arguments>
</action>
</event>
</events>
2020-07-23 23:19:56 +00:00
<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>