diff --git a/ChapterMaster.resource_order b/ChapterMaster.resource_order index 274e086721..da9eee18d7 100644 --- a/ChapterMaster.resource_order +++ b/ChapterMaster.resource_order @@ -229,6 +229,7 @@ {"name":"spr_ship_daemon","order":5,"path":"sprites/spr_ship_daemon/spr_ship_daemon.yy",}, {"name":"spr_ship_carnage","order":7,"path":"sprites/spr_ship_carnage/spr_ship_carnage.yy",}, {"name":"spr_ship_icono","order":9,"path":"sprites/spr_ship_icono/spr_ship_icono.yy",}, + {"name":"obj_tester","order":70,"path":"objects/obj_tester/obj_tester.yy",}, {"name":"sprite160","order":11,"path":"sprites/sprite160/sprite160.yy",}, {"name":"sprite158","order":13,"path":"sprites/sprite158/sprite158.yy",}, {"name":"spr_ship_dreadclaw","order":15,"path":"sprites/spr_ship_dreadclaw/spr_ship_dreadclaw.yy",}, diff --git a/ChapterMaster.yyp b/ChapterMaster.yyp index ff5d9d2800..b925472928 100644 --- a/ChapterMaster.yyp +++ b/ChapterMaster.yyp @@ -522,6 +522,7 @@ {"id":{"name":"spr_ship_daemon","path":"sprites/spr_ship_daemon/spr_ship_daemon.yy",},}, {"id":{"name":"spr_ship_carnage","path":"sprites/spr_ship_carnage/spr_ship_carnage.yy",},}, {"id":{"name":"spr_ship_icono","path":"sprites/spr_ship_icono/spr_ship_icono.yy",},}, + {"id":{"name":"obj_tester","path":"objects/obj_tester/obj_tester.yy",},}, {"id":{"name":"sprite160","path":"sprites/sprite160/sprite160.yy",},}, {"id":{"name":"sprite158","path":"sprites/sprite158/sprite158.yy",},}, {"id":{"name":"spr_ship_dreadclaw","path":"sprites/spr_ship_dreadclaw/spr_ship_dreadclaw.yy",},}, diff --git a/objects/obj_controller/Mouse_50.gml b/objects/obj_controller/Mouse_50.gml index 7a75045eb5..798560dcf2 100644 --- a/objects/obj_controller/Mouse_50.gml +++ b/objects/obj_controller/Mouse_50.gml @@ -1522,6 +1522,7 @@ if (action_if_number(obj_saveload, 0, 0) && if (mouse_y>=__view_get( e__VW.YView, 0 )+27){ cooldown=8000; if (menu>=500) and (temp[menu-434]=""){ + instance_create(0,0,obj_tester); menu=0; exit; } @@ -1530,7 +1531,6 @@ if (action_if_number(obj_saveload, 0, 0) && } if (menu>=500) then exit; - var zoomeh=0,diyst=999,onceh=0; xx=__view_get( e__VW.XView, 0 ); yy=__view_get( e__VW.YView, 0 ); diff --git a/objects/obj_tester/Create_0.gml b/objects/obj_tester/Create_0.gml new file mode 100644 index 0000000000..d75bb6fd51 --- /dev/null +++ b/objects/obj_tester/Create_0.gml @@ -0,0 +1,12 @@ + + +management_entered = false; +management_finished =false; +completed_company =false; +completed_select_buttons =false; +select_all=false; +deselect_all=false; +counter=0; +current_manage=0; +finished = false; +countdown=0; \ No newline at end of file diff --git a/objects/obj_tester/Step_0.gml b/objects/obj_tester/Step_0.gml new file mode 100644 index 0000000000..28efae8032 --- /dev/null +++ b/objects/obj_tester/Step_0.gml @@ -0,0 +1,139 @@ +/// @description Insert description here +// You can write your code in this editor + + + +if (!finished)and (countdown==0){ + if (!management_entered){ // enter manage area + with (obj_controller){ + scr_management(1); + menu=1; + onceh=1; + cooldown=8000; + click=1; + popup=0; + selected=0; + hide_banner=1; + with(obj_star_select){instance_destroy();} + with(obj_fleet_select){instance_destroy();} + } + management_entered =true; + completed_company=true; + } else if (!management_finished) and (obj_controller.cooldown<=0){ + if(current_manage>=0 && current_manage<16){ //company loop + if (completed_company){ + current_manage++; + obj_controller.managing++; + cooldown=8000; + with (obj_controller){//reset company variables + if (managing!=0) and (managing<=15){ + man_size=0; + selecting_location=""; + selecting_types=""; + selecting_ship=0; + selecting_planet=0; + sel_uid=0; + for(var i=0; i<501; i++){ + man[i]=""; + ide[i]=0; + man_sel[i]=0; + ma_lid[i]=0; + ma_wid[i]=0; + ma_uid[i]=0; + ma_race[i]=0; + ma_loc[i]=""; + ma_name[i]=""; + ma_role[i]=""; + ma_wep1[i]=""; + ma_wep2[i]=""; + ma_armour[i]=""; + ma_health[i]=100; + ma_chaos[i]=0; + ma_exp[i]=0; + ma_promote[i]=0; + sh_ide[i]=0; + sh_uid[i]=0; + sh_name[i]=""; + sh_class[i]=""; + sh_loc[i]=""; + sh_hp[i]=""; + sh_cargo[i]=0; + sh_cargo_max[i]=""; + squad[i]=0; + } + alll=0; + if (managing<=10) then scr_company_view(managing); + if (managing>10) then scr_special_view(managing); + cooldown=10; + sel_loading=0; + unload=0; + alarm[6]=7; + } + countdown=10 // add timer to wait until alarm[6] (above) has completed + } + completed_company=false; + } else if (!completed_select_buttons) and (obj_controller.cooldown<=0){//test selecting and deselecting units + if (!select_all){//test selecting all units in a given company + while (counter<500){ + counter++ + while (obj_controller.man[counter]=="hide") and (counter<500){counter++;} + if (obj_controller.man[counter]=="man"){ + obj_controller.man_sel[counter]=1; + cooldown=8; + }; + } + if (counter>=500){ + select_all=true; + counter=0; + } + } else if (!deselect_all){//test deslecting all units in a given company + while (counter<500){ + counter++ + while (obj_controller.man[counter]=="hide") and (counter<500){counter++;} + if (obj_controller.man[counter]=="man"){ + obj_controller.man_sel[counter]=0; + cooldown=8; + }; + } + if (counter>=500){ + deselect_all=true; + counter=0; + } + } else { + completed_select_buttons=true; //finish selcetion testing for company + } + } else if(completed_select_buttons){//finish selcting units and deselcting units + completed_select_buttons=false + deselect_all=false; + select_all=false; + completed_company=true; //finish testing in current company + if (current_manage==15){//complete testing all companies and reset variables + management_finished =true; + finished = false; + obj_controller.managing=0; + managing=0; + cooldown=8000; + scr_ui_refresh(); + scr_management(1); + cooldown=8000; + click=1; + popup=0; + selected=0; + hide_banner=1; + } + } + } + }else if (management_finished){ + finished=true;//finish test sequence + menu=0; + onceh=1; + cooldown=8000; + click=1; + hide_banner=0; + show_message("test completed"); + } +} +if (countdown>0){ + countdown--; +} + diff --git a/objects/obj_tester/obj_tester.yy b/objects/obj_tester/obj_tester.yy new file mode 100644 index 0000000000..3afa9cc9d6 --- /dev/null +++ b/objects/obj_tester/obj_tester.yy @@ -0,0 +1,34 @@ +{ + "resourceType": "GMObject", + "resourceVersion": "1.0", + "name": "obj_tester", + "eventList": [ + {"resourceType":"GMEvent","resourceVersion":"1.0","name":"","collisionObjectId":null,"eventNum":0,"eventType":0,"isDnD":false,}, + {"resourceType":"GMEvent","resourceVersion":"1.0","name":"","collisionObjectId":null,"eventNum":0,"eventType":3,"isDnD":false,}, + ], + "managed": true, + "overriddenProperties": [], + "parent": { + "name": "Objects", + "path": "folders/Objects.yy", + }, + "parentObjectId": null, + "persistent": false, + "physicsAngularDamping": 0.1, + "physicsDensity": 0.5, + "physicsFriction": 0.2, + "physicsGroup": 1, + "physicsKinematic": false, + "physicsLinearDamping": 0.1, + "physicsObject": false, + "physicsRestitution": 0.1, + "physicsSensor": false, + "physicsShape": 1, + "physicsShapePoints": [], + "physicsStartAwake": true, + "properties": [], + "solid": false, + "spriteId": null, + "spriteMaskId": null, + "visible": true, +} \ No newline at end of file