Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
099a82e
multipart questing
OH296 Dec 7, 2025
f16c686
create FleetEvent constructor
OH296 Dec 9, 2025
07a1896
most of new mission
OH296 Dec 10, 2025
177caab
Merge remote-tracking branch 'adeptus/main' into random_marine_compon…
OH296 Dec 10, 2025
89b1272
saving and loading and rest of mission
OH296 Dec 10, 2025
70adfbb
data mutation issues
OH296 Dec 11, 2025
d0f4a88
event_data is a reserved name
OH296 Dec 11, 2025
23f9296
another mass move to PlanetData and optomise
OH296 Dec 11, 2025
d94a5af
Merge remote-tracking branch 'adeptus/main' into random_marine_compon…
OH296 Dec 11, 2025
6731588
fixes
OH296 Dec 12, 2025
ee55baf
general refactors
OH296 Dec 14, 2025
cc7e43b
Mechanicus Fleet shenanigans
OH296 Dec 14, 2025
d885358
trouble shoooting
OH296 Dec 15, 2025
3cc8af0
problems real problems
OH296 Dec 16, 2025
6a17fd0
centralise fleet strength calc
OH296 Dec 16, 2025
e5474a5
hoperfyully sort tau fleets
OH296 Dec 16, 2025
fe1edb7
swapped and or
OH296 Dec 16, 2025
d29e9d1
abstracrt and clean up
OH296 Dec 16, 2025
b7e6510
Documentation and notes
OH296 Dec 16, 2025
303267f
Merge branch 'random_lines' into random_marine_components
OH296 Dec 16, 2025
ef1ecbb
better handlingof mech exploretion fleets
OH296 Dec 16, 2025
49d3d02
start marine bits
OH296 Dec 17, 2025
31b863e
Merge remote-tracking branch 'adeptus/main' into random_marine_compon…
OH296 Dec 17, 2025
6c157e9
syntax error
OH296 Dec 17, 2025
9f0747c
beast hunt maximum flavour
OH296 Dec 17, 2025
d8abe16
add stylistic depth
OH296 Dec 18, 2025
6b22193
minor improvements
OH296 Dec 19, 2025
03b9e6e
better searching capabilities
OH296 Dec 20, 2025
0bfe7aa
better improvements to searching units and sorting
OH296 Dec 20, 2025
03d54db
coonsistent use of active_roles and other sorting
OH296 Dec 20, 2025
2f8b517
compile and event tweaking
OH296 Dec 21, 2025
5f1c21b
governor profiles
OH296 Dec 21, 2025
8251a5b
streamline purging
OH296 Dec 21, 2025
64e0da0
error with hidden cult influence
OH296 Dec 21, 2025
3038c4a
keep grinding
OH296 Dec 27, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 7 additions & 1 deletion ChapterMaster.yyp
Original file line number Diff line number Diff line change
Expand Up @@ -579,7 +579,7 @@
"isEcma":false,
"LibraryEmitters":[],
"MetaData":{
"IDEVersion":"2024.1400.0.901",
"IDEVersion":"2024.1400.0.904",
},
"name":"ChapterMaster",
"resources":[
Expand Down Expand Up @@ -728,6 +728,7 @@
{"id":{"name":"DiploCommonComponents","path":"scripts/DiploCommonComponents/DiploCommonComponents.yy",},},
{"id":{"name":"draw_line_dashed","path":"scripts/draw_line_dashed/draw_line_dashed.yy",},},
{"id":{"name":"draw_set_blend_mode","path":"scripts/draw_set_blend_mode/draw_set_blend_mode.yy",},},
{"id":{"name":"ds_map_helpers","path":"scripts/ds_map_helpers/ds_map_helpers.yy",},},
{"id":{"name":"exp_and_exp_growth","path":"scripts/exp_and_exp_growth/exp_and_exp_growth.yy",},},
{"id":{"name":"explode_script","path":"scripts/explode_script/explode_script.yy",},},
{"id":{"name":"instance_create","path":"scripts/instance_create/instance_create.yy",},},
Expand Down Expand Up @@ -819,6 +820,7 @@
{"id":{"name":"scr_flavor","path":"scripts/scr_flavor/scr_flavor.yy",},},
{"id":{"name":"scr_flavor2","path":"scripts/scr_flavor2/scr_flavor2.yy",},},
{"id":{"name":"scr_fleet_advisor","path":"scripts/scr_fleet_advisor/scr_fleet_advisor.yy",},},
{"id":{"name":"scr_fleet_events","path":"scripts/scr_fleet_events/scr_fleet_events.yy",},},
{"id":{"name":"scr_fleet_functions","path":"scripts/scr_fleet_functions/scr_fleet_functions.yy",},},
{"id":{"name":"scr_forge_world_functions","path":"scripts/scr_forge_world_functions/scr_forge_world_functions.yy",},},
{"id":{"name":"scr_garrison","path":"scripts/scr_garrison/scr_garrison.yy",},},
Expand All @@ -828,6 +830,7 @@
{"id":{"name":"scr_get_item_names","path":"scripts/scr_get_item_names/scr_get_item_names.yy",},},
{"id":{"name":"scr_gift_items","path":"scripts/scr_gift_items/scr_gift_items.yy",},},
{"id":{"name":"scr_gov_disp","path":"scripts/scr_gov_disp/scr_gov_disp.yy",},},
{"id":{"name":"scr_governors","path":"scripts/scr_governors/scr_governors.yy",},},
{"id":{"name":"scr_ground_ai_helpers","path":"scripts/scr_ground_ai_helpers/scr_ground_ai_helpers.yy",},},
{"id":{"name":"scr_has_adv","path":"scripts/scr_has_adv/scr_has_adv.yy",},},
{"id":{"name":"scr_has_disadv","path":"scripts/scr_has_disadv/scr_has_disadv.yy",},},
Expand Down Expand Up @@ -864,6 +867,7 @@
{"id":{"name":"scr_marine_struct","path":"scripts/scr_marine_struct/scr_marine_struct.yy",},},
{"id":{"name":"scr_master_loc","path":"scripts/scr_master_loc/scr_master_loc.yy",},},
{"id":{"name":"scr_max_marine","path":"scripts/scr_max_marine/scr_max_marine.yy",},},
{"id":{"name":"scr_mechanicus_fleet_functions","path":"scripts/scr_mechanicus_fleet_functions/scr_mechanicus_fleet_functions.yy",},},
{"id":{"name":"scr_mechanicus_missions","path":"scripts/scr_mechanicus_missions/scr_mechanicus_missions.yy",},},
{"id":{"name":"scr_mission_eta","path":"scripts/scr_mission_eta/scr_mission_eta.yy",},},
{"id":{"name":"scr_mission_functions","path":"scripts/scr_mission_functions/scr_mission_functions.yy",},},
Expand Down Expand Up @@ -933,6 +937,7 @@
{"id":{"name":"scr_system_spawn_functions","path":"scripts/scr_system_spawn_functions/scr_system_spawn_functions.yy",},},
{"id":{"name":"scr_Table","path":"scripts/scr_Table/scr_Table.yy",},},
{"id":{"name":"scr_target","path":"scripts/scr_target/scr_target.yy",},},
{"id":{"name":"scr_tau_fleet_functions","path":"scripts/scr_tau_fleet_functions/scr_tau_fleet_functions.yy",},},
{"id":{"name":"scr_text_hit","path":"scripts/scr_text_hit/scr_text_hit.yy",},},
{"id":{"name":"scr_thought","path":"scripts/scr_thought/scr_thought.yy",},},
{"id":{"name":"scr_tooltip_draw","path":"scripts/scr_tooltip_draw/scr_tooltip_draw.yy",},},
Expand All @@ -954,6 +959,7 @@
{"id":{"name":"scr_unit_size","path":"scripts/scr_unit_size/scr_unit_size.yy",},},
{"id":{"name":"scr_unit_spawn_functions","path":"scripts/scr_unit_spawn_functions/scr_unit_spawn_functions.yy",},},
{"id":{"name":"scr_unit_traits","path":"scripts/scr_unit_traits/scr_unit_traits.yy",},},
{"id":{"name":"scr_UnitGroup_and_group_selection","path":"scripts/scr_UnitGroup_and_group_selection/scr_UnitGroup_and_group_selection.yy",},},
{"id":{"name":"scr_uuid_generate","path":"scripts/scr_uuid_generate/scr_uuid_generate.yy",},},
{"id":{"name":"scr_vehicle_count","path":"scripts/scr_vehicle_count/scr_vehicle_count.yy",},},
{"id":{"name":"scr_vehicle_helpers","path":"scripts/scr_vehicle_helpers/scr_vehicle_helpers.yy",},},
Expand Down
26 changes: 20 additions & 6 deletions objects/obj_controller/Alarm_5.gml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ var spikky=0;
var roll=0;
var novice_type="";
var unit;
var _roles = active_roles();


try_and_report_loop("chaos_spread", function(){
Expand Down Expand Up @@ -82,7 +83,7 @@ while (i<array_length(recruit_name)){
};
if (recruit_distance[i]<=0) then recruit_training[i]-=1;
if (recruit_training[i]<=0){
scr_add_man(obj_ini.role[100][12],10,recruit_exp[i],recruit_name[i],recruit_corruption[i],false,"default",recruit_data[i]);
scr_add_man(_roles[12],10,recruit_exp[i],recruit_name[i],recruit_corruption[i],false,"default",recruit_data[i]);
if (recruit_first=="") then recruit_first=recruit_name[i];
recruits_finished+=1;
array_delete(recruit_name,i,1);
Expand All @@ -101,9 +102,9 @@ with(obj_ini){
scr_company_order(10);
}
if (recruits_finished==1){
scr_alert("green","recruitment",$"{obj_ini.role[100][12]} {recruit_first} has joined X Company.",0,0);
scr_alert("green","recruitment",$"{_roles[12]} {recruit_first} has joined X Company.",0,0);
}else if (recruits_finished>1){
scr_alert("green","recruitment",$"{recruits_finished}x {obj_ini.role[100][12]} have joined X Company.",0,0);
scr_alert("green","recruitment",$"{recruits_finished}x {_roles[12]} have joined X Company.",0,0);
}


Expand Down Expand Up @@ -135,7 +136,12 @@ if (scr_has_adv("Tech-Scavengers")){
scr_alert("","loot",tix,0,0);
}
}
imperial_navy_fleet_construction();

try{
imperial_navy_fleet_construction();
}catch(_exception){
handle_exception(_exception);
}

// ** Adeptus Mechanicus Geneseed Tithe **
if (gene_tithe==0) and (faction_status[eFACTION.Imperium]!="War"){
Expand Down Expand Up @@ -409,10 +415,10 @@ if (disposition[eFACTION.Ork]>=60) then scr_loyalty("Xeno Associate","+");
if (disposition[eFACTION.Tau]>=60) then scr_loyalty("Xeno Associate","+");

var loyalty_counter=0;
loyalty_counter=scr_role_count(obj_ini.role[100][15],"");
loyalty_counter=scr_role_count(_roles[15],"");
if (loyalty_counter==0) then scr_loyalty("Lack of Apothecary","+");

loyalty_counter=scr_role_count(obj_ini.role[100][14],"");
loyalty_counter=scr_role_count(_roles[14],"");
if (loyalty_counter==0) then scr_loyalty("Undevout","+");
// TODO in another PR rework how Non-Codex Size is determined, perhaps the inquisition needs to pass some checks or do an investigation event
// which you could eventually interrupt (kill the team) and cover it up?
Expand Down Expand Up @@ -549,12 +555,20 @@ location_viewer.update_mission_log();
init_ork_waagh();
return_lost_ships_chance();
//complex route plotting for player fleets

with (obj_en_fleet){
if (array_length(events)){
check_events();
}
}

with (obj_p_fleet){
if (array_length(complex_route)>0 && action == ""){
set_new_player_fleet_course(complex_route);
}
}


});

if (helpful_places != false){
Expand Down
67 changes: 34 additions & 33 deletions objects/obj_controller/Alarm_6.gml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ if (menu==1) and (managing>0){

var manz=0,vanz=0,stahp=0;
sel_promoting=1;
var _roles = active_roles();
for(var f=0; f<array_length(display_unit); f++){
// cooldown=8;
if (man_sel[f]==1){
Expand All @@ -25,26 +26,26 @@ if (menu==1) and (managing>0){
// sets up count for the marines
if (man[f]=="man"){
manz+=1;
if (unit.role()==obj_ini.role[100][5]) { cap+=1;}
else if (unit.role()==obj_ini.role[100][15]) { apo+=1;}
else if (unit.role()==obj_ini.role[100][14]) { chap+=1;}
else if (unit.role()==obj_ini.role[100][17]) { lib+=1;}
else if (unit.role()==obj_ini.role[100][16]) { tech+=1;}
else if (unit.role()==obj_ini.role[100][6]) { drea+=1;}
else if (unit.role()==$"Venerable {obj_ini.role[100][6]}"){ vdrea+=1;}
else if (unit.role()==obj_ini.role[100][11]) { bear+=1;}
else if (unit.role()==obj_ini.role[100][8]) { tct+=1;}
else if (unit.role()==obj_ini.role[100][10]) { assa+=1;}
else if (unit.role()==obj_ini.role[100][9]) { dev+=1;}
else if (unit.role()==obj_ini.role[100][12]) { sco+=1;}
else if (unit.role()==obj_ini.role[100][2]) { hon+=1;}
else if (unit.role()==obj_ini.role[100][3]) { ve+=1;}
else if (unit.role()==obj_ini.role[100][4]) { ter+=1;}
else if (unit.role()==obj_ini.role[100][18]) { sgt++;}
else if (unit.role()==obj_ini.role[100][19]) { vet_sgt++;}
if (unit.role()==_roles[5]) { cap+=1;}
else if (unit.role()==_roles[15]) { apo+=1;}
else if (unit.role()==_roles[14]) { chap+=1;}
else if (unit.role()==_roles[17]) { lib+=1;}
else if (unit.role()==_roles[16]) { tech+=1;}
else if (unit.role()==_roles[6]) { drea+=1;}
else if (unit.role()==$"Venerable {_roles[6]}"){ vdrea+=1;}
else if (unit.role()==_roles[11]) { bear+=1;}
else if (unit.role()==_roles[8]) { tct+=1;}
else if (unit.role()==_roles[10]) { assa+=1;}
else if (unit.role()==_roles[9]) { dev+=1;}
else if (unit.role()==_roles[12]) { sco+=1;}
else if (unit.role()==_roles[2]) { hon+=1;}
else if (unit.role()==_roles[3]) { ve+=1;}
else if (unit.role()==_roles[4]) { ter+=1;}
else if (unit.role()==_roles[18]) { sgt++;}
else if (unit.role()==_roles[19]) { vet_sgt++;}
else if (unit.role()=="Codiciery") { codi+=1;}
else if (unit.role()=="Lexicanum") { lexi+=1;}
else if (unit.role()==obj_ini.role[100][eROLE.Ancient]) { champ+=1;}
else if (unit.role()==_roles[eROLE.Ancient]) { champ+=1;}
}
// sets up count for the vehicles
// TODO This needs to be extended to accomodate the selection text like the man ones
Expand All @@ -62,22 +63,22 @@ if (menu==1) and (managing>0){
selecting_dudes="";
// Infantry text
if (cap>0){
selecting_dudes+=string(cap)+" "+string(obj_ini.role[100][5]);
selecting_dudes+=string(cap)+" "+string(_roles[5]);
if (cap>1) then selecting_dudes+="s";
selecting_dudes+=", ";
}
if (chap>0){
selecting_dudes+=string(chap)+" "+string(obj_ini.role[100][14]);
selecting_dudes+=string(chap)+" "+string(_roles[14]);
if (chap>1) then selecting_dudes+="s";
selecting_dudes+=", ";
}
if (champ>0){
selecting_dudes+=$"{champ} {obj_ini.role[100][eROLE.Ancient]}";
selecting_dudes+=$"{champ} {_roles[eROLE.Ancient]}";
if (chap>1) then selecting_dudes+="s";
selecting_dudes+=", ";
}
Comment on lines 75 to 79
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Logic corruption in Ancient pluralisation, Tech-Priest.

The Machine Spirit detects a transcription error. The block assembles text for champ (Ancient count), yet line 77 inspects chap (Chaplain count) for pluralisation. This shall produce incorrect grammar when multiple Ancients are selected.

🔧 Proposed correction
     if (champ>0){
         selecting_dudes+=$"{champ} {_roles[eROLE.Ancient]}";
-        if (chap>1) then selecting_dudes+="s";
+        if (champ>1) then selecting_dudes+="s";
         selecting_dudes+=", ";
     }
🤖 Prompt for AI Agents
In objects/obj_controller/Alarm_6.gml around lines 75 to 79, the pluralisation
check uses the wrong variable (`chap`) when appending an "s" for Ancients;
change the conditional to test `champ>1` (the Ancient count) so the string
correctly becomes plural when multiple Ancients are selected, and keep the rest
of the concatenation logic as-is.

if (apo>0){
selecting_dudes+=string(apo)+" "+string(obj_ini.role[100][15]);
selecting_dudes+=string(apo)+" "+string(_roles[15]);
if (apo>1) then selecting_dudes+="s";
selecting_dudes+=", ";
}
Expand All @@ -97,17 +98,17 @@ if (menu==1) and (managing>0){
selecting_dudes+=", ";
}
if (bear>0){
selecting_dudes+=string(bear)+" "+string(obj_ini.role[100][11]);
selecting_dudes+=string(bear)+" "+string(_roles[11]);
if (bear>1) then selecting_dudes+="s";
selecting_dudes+=", ";
}
if (hon>0){
selecting_dudes+=string(hon)+" "+string(obj_ini.role[100][2]);
selecting_dudes+=string(hon)+" "+string(_roles[2]);
if (hon>1) then selecting_dudes+="s";
selecting_dudes+=", ";
}
if (tech>0){
selecting_dudes+=string(tech)+" "+string(obj_ini.role[100][16]);
selecting_dudes+=string(tech)+" "+string(_roles[16]);
if (tech>1) then selecting_dudes+="s";
selecting_dudes+=", ";
}
Expand All @@ -117,42 +118,42 @@ if (menu==1) and (managing>0){
selecting_dudes+=", ";
}
if (ve>0){
selecting_dudes+=string(ve)+" "+string(obj_ini.role[100][3]);
selecting_dudes+=string(ve)+" "+string(_roles[3]);
if (ve>1) then selecting_dudes+="s";
selecting_dudes+=", ";
}
if (tct>0){
selecting_dudes+=string(tct)+" "+string(obj_ini.role[100][8]);
selecting_dudes+=string(tct)+" "+string(_roles[8]);
if (tct>1) then selecting_dudes+="s";
selecting_dudes+=", ";
}
if (dev>0){
selecting_dudes+=string(dev)+" "+string(obj_ini.role[100][9]);
selecting_dudes+=string(dev)+" "+string(_roles[9]);
if (dev>1) then selecting_dudes+="s";
selecting_dudes+=", ";
}
if (assa>0){
selecting_dudes+=string(assa)+" "+string(obj_ini.role[100][eROLE.Assault]);
selecting_dudes+=string(assa)+" "+string(_roles[eROLE.Assault]);
if (sgt>1) then selecting_dudes+="s";
selecting_dudes+=", ";
}
Comment on lines 135 to 139
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Logic corruption in Assault pluralisation, Tech-Priest.

The Machine Spirit perceives another transcription error. The block assembles text for assa (Assault count), yet line 137 inspects sgt (Sergeant count) for pluralisation.

🔧 Proposed correction
     if (assa>0){
         selecting_dudes+=string(assa)+" "+string(_roles[eROLE.Assault]);
-        if (sgt>1) then selecting_dudes+="s";
+        if (assa>1) then selecting_dudes+="s";
         selecting_dudes+=", ";
     }
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
if (assa>0){
selecting_dudes+=string(assa)+" "+string(obj_ini.role[100][eROLE.Assault]);
selecting_dudes+=string(assa)+" "+string(_roles[eROLE.Assault]);
if (sgt>1) then selecting_dudes+="s";
selecting_dudes+=", ";
}
if (assa>0){
selecting_dudes+=string(assa)+" "+string(_roles[eROLE.Assault]);
if (assa>1) then selecting_dudes+="s";
selecting_dudes+=", ";
}
🤖 Prompt for AI Agents
In objects/obj_controller/Alarm_6.gml around lines 135 to 139, the pluralisation
check incorrectly tests `sgt` when building the Assault text fragment; change
the conditional to test `assa` (e.g., if (assa>1) then ...) so the "s" is added
based on the Assault count, and keep the rest of the string assembly unchanged.

if (sco>0){
selecting_dudes+=string(sco)+" "+string(obj_ini.role[100][12]);
selecting_dudes+=string(sco)+" "+string(_roles[12]);
if (sco>1) then selecting_dudes+="s";
selecting_dudes+=", ";
}
if (drea>0){
selecting_dudes+=string(drea)+" "+string(obj_ini.role[100][6]);
selecting_dudes+=string(drea)+" "+string(_roles[6]);
if (drea>1) then selecting_dudes+="s";
selecting_dudes+=", ";
}
if (sgt>0){
selecting_dudes+=string(sgt)+" "+string(obj_ini.role[100][18]);
selecting_dudes+=string(sgt)+" "+string(_roles[18]);
if (sgt>1) then selecting_dudes+="s";
selecting_dudes+=", ";
}
if (vet_sgt>0){
selecting_dudes+=string(vet_sgt)+" "+string(obj_ini.role[100][19]);
selecting_dudes+=string(vet_sgt)+" "+string(_roles[19]);
if (vet_sgt>1) then selecting_dudes+="s";
selecting_dudes+=", ";
}
Expand Down
10 changes: 2 additions & 8 deletions objects/obj_controller/CleanUp_0.gml
Original file line number Diff line number Diff line change
@@ -1,12 +1,6 @@
global.name_generator = new NameGenerator();

var _star_arrays = [];
ds_map_values_to_array(global.star_sprites,_star_arrays);

for (var i=0;i<array_length(_star_arrays);i++){
if (sprite_exists(_star_arrays[i])){
sprite_delete(_star_arrays[i]);
}
}
empty_ds_map(global.star_sprites);

ds_map_clear(global.star_sprites);
empty_ds_map(global.en_fleet_sprites);
2 changes: 1 addition & 1 deletion objects/obj_controller/Draw_0.gml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ try{

//star fleet edbug options spawn
if (global.cheat_debug == true && mouse_check_button_pressed(mb_right)){
if (!instances_exist_any([obj_turn_end,obj_ncombat,obj_fleet,obj_fleet_select,obj_popup,obj_star_select])){
if (!instances_exist_any([obj_turn_end,obj_ncombat,obj_fleet,obj_fleet_select,obj_popup,obj_star_select]) && !scr_void_click()){
new_system_debug_popup();
}
}
8 changes: 5 additions & 3 deletions objects/obj_en_fleet/Alarm_1.gml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ if (_khorne_cargo && owner=eFACTION.Chaos) {

if (_is_orbiting) {
turns_static++;
if (turns_static>5 && owner==eFACTION.Ork){
if (turns_static>5 && owner == eFACTION.Ork){
if (!irandom(7)){
ork_fleet_move();
_is_orbiting=false;
Expand Down Expand Up @@ -329,7 +329,7 @@ else if (action=="" && _is_orbiting){
new_fleet.image_index=1;

/*with(new_fleet){
var ii;ii=0;ii+=capital_number;ii+=round((frigate_number/2));ii+=round((escort_number/4));
var ii=floor(standard_fleet_strength_calc());
if (ii<=1) then ii=1;image_index=ii;
}*/

Expand All @@ -346,7 +346,9 @@ else if (action=="" && _is_orbiting){
action_x=plin.x;
action_y=plin.y;
set_fleet_movement();
if (n!=5) then good=5;
if (n!=5){
good=5;
}
}
}
}
Expand Down
Loading
Loading