spaceinator/objects/obj_chunk.object.gmx

271 lines
7.1 KiB
Plaintext
Raw 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>
<string>/// 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-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-07-25 07:47:36 +00:00
var rnd = random_range(0,5000);
2020-07-25 06:20:00 +00:00
2020-07-25 07:47:36 +00:00
if(floor(rnd) == 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>
<string>var chunk_total_size = CHUNK_SIZE * TILE_SIZE
2020-07-24 06:41:57 +00:00
if(distance_to_object(obj_player) &gt; chunk_total_size*3)
2020-07-24 03:08:32 +00:00
{
event_user(0);
}
2020-07-29 01:22:35 +00:00
</string>
</argument>
</arguments>
</action>
</event>
<event eventtype="6" enumb="5">
<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>///Place items
2020-07-29 02:11:35 +00:00
if(obj_inv_controller.is_open)
{
return 0;
}
2020-07-29 01:22:35 +00:00
var selected_item = obj_inv_controller.inventory[obj_hotbar.selected_slot];
2020-07-29 02:11:35 +00:00
var has_colision = false;
2020-07-29 01:22:35 +00:00
if(selected_item != 0)
{
2020-07-29 01:47:22 +00:00
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;
2020-07-29 01:22:35 +00:00
2020-07-29 01:47:22 +00:00
for(var xx = selX; xx &lt; selX + TILE_SIZE; xx++)
{
for(yy = selY; yy &lt; selY + TILE_SIZE; yy++)
{
2020-07-29 02:11:35 +00:00
var objid = instance_place(xx,yy,obj_placed_item)
if(objid != noone)
2020-07-29 01:47:22 +00:00
{
has_colision = true;
}
2020-07-29 02:12:42 +00:00
var objid = instance_place(xx,yy,obj_player)
if(objid != noone)
{
has_colision = true;
}
2020-07-29 01:47:22 +00:00
}
}
2020-07-29 02:11:35 +00:00
if(has_colision)
{
return 0;
}
use_item_in_inventory(obj_hotbar.selected_slot);
2020-07-29 01:47:22 +00:00
var inst = instance_create(selX,selY,obj_placed_item);
2020-07-29 01:22:35 +00:00
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
</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>