From 621370bca820bc6491b815e007f1a89518f850db Mon Sep 17 00:00:00 2001 From: EttyKitty <20323032+EttyKitty@users.noreply.github.com> Date: Mon, 28 Oct 2024 17:41:24 +0300 Subject: [PATCH 1/4] Update macros.gml version and indent --- scripts/macros/macros.gml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/macros/macros.gml b/scripts/macros/macros.gml index e0fd6070e5..3f33376d03 100644 --- a/scripts/macros/macros.gml +++ b/scripts/macros/macros.gml @@ -1,5 +1,5 @@ function macros() { -#macro GM_version "0.9.4.0" +#macro GM_version "0.9.4.1" #macro MAX_STC_PER_SUBCATEGORY 6 #macro DEFAULT_TOOLTIP_VIEW_OFFSET 32 #macro DEFAULT_LINE_GAP -1 From 178547ddfe3029d5f6282324584456df4f153353 Mon Sep 17 00:00:00 2001 From: Nelsonh Date: Mon, 28 Oct 2024 20:30:41 +0000 Subject: [PATCH 2/4] wrong variable names that somehow went unoticed --- scripts/scr_fleet_functions/scr_fleet_functions.gml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/scr_fleet_functions/scr_fleet_functions.gml b/scripts/scr_fleet_functions/scr_fleet_functions.gml index ecce065d7c..461565506b 100644 --- a/scripts/scr_fleet_functions/scr_fleet_functions.gml +++ b/scripts/scr_fleet_functions/scr_fleet_functions.gml @@ -229,11 +229,11 @@ function calculate_fleet_eta(xx,yy,xxx,yyy, fleet_speed,star1=true, star2=true,w function calculate_action_speed(capitals=true, frigates=true, escorts=true){ var fleet_speed=128; - if (capitals>0){ + if (capital_number>0){ fleet_speed=100; - } else if (frigates>0){ + } else if (frigate_number>0){ fleet_speed=128; - }else if (escorts>0){ + }else if (escort_number>0){ fleet_speed=174; } if (obj_controller.stc_ships>=6) and (fleet_speed>=100) then fleet_speed*=1.2; From a0436186fdf3668274c10b88ae03253ede44d8af Mon Sep 17 00:00:00 2001 From: Nelsonh Date: Mon, 28 Oct 2024 20:35:29 +0000 Subject: [PATCH 3/4] aditional improvements --- scripts/scr_fleet_functions/scr_fleet_functions.gml | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/scripts/scr_fleet_functions/scr_fleet_functions.gml b/scripts/scr_fleet_functions/scr_fleet_functions.gml index 461565506b..966d5a3925 100644 --- a/scripts/scr_fleet_functions/scr_fleet_functions.gml +++ b/scripts/scr_fleet_functions/scr_fleet_functions.gml @@ -225,9 +225,11 @@ function calculate_fleet_eta(xx,yy,xxx,yyy, fleet_speed,star1=true, star2=true,w } - - function calculate_action_speed(capitals=true, frigates=true, escorts=true){ + var _is_player_fleet = object_index==obj_p_fleet; + if (_is_player_fleet){ + player_fleet_ship_count(); + } var fleet_speed=128; if (capital_number>0){ fleet_speed=100; @@ -236,7 +238,9 @@ function calculate_action_speed(capitals=true, frigates=true, escorts=true){ }else if (escort_number>0){ fleet_speed=174; } - if (obj_controller.stc_ships>=6) and (fleet_speed>=100) then fleet_speed*=1.2; + if (_is_player_fleet){ + if (obj_controller.stc_ships>=6) and (fleet_speed>=100) then fleet_speed*=1.2; + } return fleet_speed; } From fd74ba815baa945cf337cd799fb6754a7d1b3f79 Mon Sep 17 00:00:00 2001 From: Nelsonh Date: Mon, 28 Oct 2024 21:22:27 +0000 Subject: [PATCH 4/4] rework of functions --- objects/obj_fleet_select/Draw_0.gml | 36 ++++--------- objects/obj_p_fleet/Step_0.gml | 2 +- .../scr_fleet_functions.gml | 50 +++++++++++++------ .../scr_player_fleet_functions.gml | 29 +++++++++-- 4 files changed, 70 insertions(+), 47 deletions(-) diff --git a/objects/obj_fleet_select/Draw_0.gml b/objects/obj_fleet_select/Draw_0.gml index c3128a8f45..4a7dcbe9d6 100644 --- a/objects/obj_fleet_select/Draw_0.gml +++ b/objects/obj_fleet_select/Draw_0.gml @@ -84,30 +84,8 @@ if (owner == eFACTION.Player) and (player_fleet.action==""){ if (sys_dist<32) and (sys.id!=mine.id){ - var has_capitals = false; - var has_frigates = false; - var has_escorts = false; - with (player_fleet){ - for (i=0; i0){ - fleet_speed=100; - } else if (frigate_number>0){ - fleet_speed=128; - }else if (escort_number>0){ - fleet_speed=174; - } - if (_is_player_fleet){ - if (obj_controller.stc_ships>=6) and (fleet_speed>=100) then fleet_speed*=1.2; +function calculate_action_speed(fleet="none", selected=false){ + if (fleet=="none"){ + var capitals=0,frigates=0,escorts=0,i; + var _is_player_fleet = object_index==obj_p_fleet; + if (_is_player_fleet){ + if (!selected){ + player_fleet_ship_count(); + capitals=capital_number; + frigates=frigate_number; + escorts=escort_number; + } else{ + //TODO extract to a fleet selected function + var types = selected_ship_types(); + capitals=types[0]; + frigates=types[1]; + escorts=types[2]; + } + } + var fleet_speed=128; + if (capitals>0){ + fleet_speed=100; + } else if (frigates>0){ + fleet_speed=128; + }else if (escorts>0){ + fleet_speed=174; + } + if (_is_player_fleet){ + if (obj_controller.stc_ships>=6) and (fleet_speed>=100) then fleet_speed*=1.2; + } + return fleet_speed; + } else { + with (fleet){ + return calculate_action_speed(,selected); + } } - return fleet_speed; } function scr_efleet_arrive_at_trade_loc(){ diff --git a/scripts/scr_player_fleet_functions/scr_player_fleet_functions.gml b/scripts/scr_player_fleet_functions/scr_player_fleet_functions.gml index ddedf1d1d8..9d51e3bf90 100644 --- a/scripts/scr_player_fleet_functions/scr_player_fleet_functions.gml +++ b/scripts/scr_player_fleet_functions/scr_player_fleet_functions.gml @@ -166,21 +166,21 @@ function fleet_full_ship_array(fleet="none", exclude_capitals=false, exclude_fri var i; if (fleet=="none"){ if (!exclude_capitals){ - for (i=1; i<=capital_number;i++){ + for (i=0; i<=capital_number;i++){ if (i>=0 && i < array_length(capital_num)){ array_push(all_ships, capital_num[i]); } } } if (!exclude_frigates){ - for (i=1; i<=frigate_number;i++){ + for (i=0; i<=frigate_number;i++){ if (i>=0 && i < array_length(frigate_num)){ array_push(all_ships, frigate_num[i]); } } } if (!exclude_escorts){ - for (i=1; i<=escort_number;i++){ + for (i=0; i<=escort_number;i++){ if (i>=0 && i < array_length(escort_num)){ array_push(all_ships, escort_num[i]); } @@ -203,6 +203,29 @@ function set_fleet_location(location){ } } } + +function selected_ship_types(){ + var capitals=0,frigates=0,escorts=0,i; + for (i=0; i