Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
90 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
b8db208
Merge remote-tracking branch 'adeptus/main' into random_marine_compon…
OH296 Apr 21, 2026
f1d9aa3
post merger error cleannup
OH296 Apr 21, 2026
f6c9fd5
grind through debugger errors
OH296 Apr 21, 2026
9332887
shitty duplicationn
OH296 Apr 22, 2026
e99120d
refactor event code event func calling
OH296 Apr 22, 2026
505e114
bundle momre merge errors
OH296 Apr 22, 2026
f050edb
enum renames
OH296 Apr 22, 2026
00ba73b
purge scripts that ake sense
OH296 Apr 22, 2026
4d2196e
update drop types
OH296 Apr 22, 2026
9d53e7c
spaceing
OH296 Apr 22, 2026
9d0ca6f
navy finishedd
OH296 Apr 22, 2026
b11e11e
mission repair part 1
OH296 Apr 22, 2026
0f9feca
mission duplicate
OH296 Apr 22, 2026
ed3586b
more ennum catchup
OH296 Apr 22, 2026
c604fcc
enums and fix ork growth
OH296 Apr 22, 2026
b70b3af
faction enums
OH296 Apr 22, 2026
9fad197
restore starship mission function
OH296 Apr 22, 2026
ed92e56
planet data debugging
OH296 Apr 22, 2026
b6fe4ae
fallen mission patch
OH296 Apr 22, 2026
e988e31
porting event shuffling
OH296 Apr 22, 2026
c2bb821
accidental reversioo to old methods
OH296 Apr 22, 2026
b1d8c00
right click to tables
OH296 Apr 22, 2026
23ad288
merge error on trade
OH296 Apr 23, 2026
76883e8
load more coinstant catch up
OH296 Apr 23, 2026
0727d44
fix alarm 1 changes
OH296 Apr 23, 2026
167fd35
final enum reworks
OH296 Apr 23, 2026
27b3ce9
revert all pane stuff to mine and layer etty on top
OH296 Apr 23, 2026
c012ae7
finish off panel stuff
OH296 Apr 23, 2026
6cb2b0e
fold in changes
OH296 Apr 23, 2026
879e7e9
scr_draw planet features fixed
OH296 Apr 23, 2026
14a6172
revert changes but run gobo
OH296 Apr 23, 2026
ed7e94a
starighten ouot planet data
OH296 Apr 23, 2026
7143267
niggles
OH296 Apr 23, 2026
9437c65
final file now
OH296 Apr 23, 2026
2a72168
may this be the end of this madness
OH296 Apr 23, 2026
72750d8
start fixing governor profiles
OH296 Apr 23, 2026
d25aa4d
lading and saving of governor
OH296 Apr 23, 2026
1bdc68a
copy on write issue
OH296 Apr 23, 2026
d639572
Merge remote-tracking branch 'adeptus/main' into Complex_ai_and_playe…
OH296 Apr 25, 2026
d74b450
solve remmaining launch crashes
OH296 Apr 25, 2026
07d9899
finish pathway for choosing to keep trophy
OH296 Apr 25, 2026
f799fde
merge problems a_D
OH296 Apr 25, 2026
a49eea2
repair ai a
OH296 Apr 25, 2026
58ef484
variable naming
OH296 Apr 25, 2026
b686fe9
solve allreaining end turn issues
OH296 Apr 25, 2026
ff2c0df
fix fundamentals of battleground
OH296 Apr 25, 2026
07ab623
add epithet fromm deliver trophy mission
OH296 Apr 25, 2026
5056797
fix non xenos chaos glitch
OH296 Apr 25, 2026
8b2c0e1
more enum stuff that somehowslllipped passed me
OH296 Apr 25, 2026
5b9bb21
flavour to battle ground trawl
OH296 Apr 25, 2026
5ddf5f6
Merge remote-tracking branch 'adeptus/main' into Complex_ai_and_playe…
OH296 Apr 26, 2026
411efa4
chapter traits
OH296 Apr 27, 2026
c2f65c3
Merge remote-tracking branch 'adeptus/main' into Complex_ai_and_playe…
OH296 Apr 27, 2026
d4e2558
Merge remote-tracking branch 'adeptus/main' into Complex_ai_and_playe…
OH296 Apr 28, 2026
ff67aef
previously spotted typo
OH296 Apr 28, 2026
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
6 changes: 6 additions & 0 deletions ChapterMaster.yyp
Original file line number Diff line number Diff line change
Expand Up @@ -747,6 +747,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 @@ -834,6 +835,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 @@ -843,6 +845,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 @@ -879,6 +882,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 @@ -947,6 +951,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 @@ -968,6 +973,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
4 changes: 2 additions & 2 deletions objects/obj_controller/Alarm_1.gml
Original file line number Diff line number Diff line change
Expand Up @@ -462,13 +462,13 @@ if (did) {
}
orkz += 3;
n = array_length(_non_xenos_chaos);
_non_xenos_chaos = array_shuffle(_non_xenos_chaos);
for (var j = 0; j < orkz && j < n; j++) {
_current_system = array_random_element(_non_xenos_chaos);
_current_system = array_pop(_non_xenos_chaos);

_current_system.planet[1] = 1;
_current_system.p_owner[1] = 90;
_current_system.owner = 90;
array_delete(_non_xenos_chaos, i, 1);
}
}

Expand Down
248 changes: 99 additions & 149 deletions objects/obj_controller/Alarm_6.gml
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,12 @@ if ((menu == 1) && (managing > 0)) {
// vehicle types
var rhi = 0, pre = 0, lrad = 0, lspi = 0, whi = 0, unit;
// non chapter units
otha = 0;

var manz = 0, vanz = 0, stahp = 0;
sel_promoting = 1;
for (var f = 0; f < array_length(display_unit); f++) {
otha=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) {
if (man[f] == "man") {
Expand All @@ -31,49 +32,28 @@ if ((menu == 1) && (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++;
} 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;
}
if (man[f]=="man"){
manz+=1;
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()==_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 @@ -100,26 +80,25 @@ if ((menu == 1) && (managing > 0)) {

selecting_dudes = "";
// Infantry text
if (cap > 0) {
selecting_dudes += string(cap) + " " + string(obj_ini.role[100][5]);
if (cap > 1) {
selecting_dudes += "s";
}
selecting_dudes += ", ";
}
if (chap > 0) {
selecting_dudes += string(chap) + " " + string(obj_ini.role[100][14]);
if (chap > 1) {
selecting_dudes += "s";
}
selecting_dudes += ", ";
}
if (champ > 0) {
selecting_dudes += $"{champ} {obj_ini.role[100][eROLE.ANCIENT]}";
if (chap > 1) {
selecting_dudes += "s";
}
selecting_dudes += ", ";
if (cap>0){
selecting_dudes+=string(cap)+" "+string(_roles[5]);
if (cap>1) then selecting_dudes+="s";
selecting_dudes+=", ";
}
if (chap>0){
selecting_dudes+=string(chap)+" "+string(_roles[14]);
if (chap>1) then selecting_dudes+="s";
selecting_dudes+=", ";
}
if (champ>0){
selecting_dudes+=$"{champ} {_roles[eROLE.ANCIENT]}";
if (chap>1) then selecting_dudes+="s";
selecting_dudes+=", ";
}
Comment on lines 93 to 97
Copy link
Copy Markdown
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(_roles[15]);
if (apo>1) then selecting_dudes+="s";
selecting_dudes+=", ";
}
if (apo > 0) {
selecting_dudes += string(apo) + " " + string(obj_ini.role[100][15]);
Expand All @@ -142,26 +121,20 @@ if ((menu == 1) && (managing > 0)) {
}
selecting_dudes += ", ";
}
if (lexi > 0) {
selecting_dudes += string(lexi) + " Lexicanum";
if (lexi > 1) {
selecting_dudes += "s";
}
selecting_dudes += ", ";
if (bear>0){
selecting_dudes+=string(bear)+" "+string(_roles[11]);
if (bear>1) then selecting_dudes+="s";
selecting_dudes+=", ";
}
if (bear > 0) {
selecting_dudes += string(bear) + " " + string(obj_ini.role[100][11]);
if (bear > 1) {
selecting_dudes += "s";
}
selecting_dudes += ", ";
if (hon>0){
selecting_dudes+=string(hon)+" "+string(_roles[2]);
if (hon>1) then selecting_dudes+="s";
selecting_dudes+=", ";
}
if (hon > 0) {
selecting_dudes += string(hon) + " " + string(obj_ini.role[100][2]);
if (hon > 1) {
selecting_dudes += "s";
}
selecting_dudes += ", ";
if (tech>0){
selecting_dudes+=string(tech)+" "+string(_roles[16]);
if (tech>1) then selecting_dudes+="s";
selecting_dudes+=", ";
}
if (tech > 0) {
selecting_dudes += string(tech) + " " + string(obj_ini.role[100][16]);
Expand All @@ -170,69 +143,46 @@ if ((menu == 1) && (managing > 0)) {
}
selecting_dudes += ", ";
}
if (ter > 0) {
selecting_dudes += string(ter) + " Terminator";
if (ter > 1) {
selecting_dudes += "s";
}
selecting_dudes += ", ";
}
if (ve > 0) {
selecting_dudes += string(ve) + " " + string(obj_ini.role[100][3]);
if (ve > 1) {
selecting_dudes += "s";
}
selecting_dudes += ", ";
}
if (tct > 0) {
selecting_dudes += string(tct) + " " + string(obj_ini.role[100][8]);
if (tct > 1) {
selecting_dudes += "s";
}
selecting_dudes += ", ";
}
if (dev > 0) {
selecting_dudes += string(dev) + " " + string(obj_ini.role[100][9]);
if (dev > 1) {
selecting_dudes += "s";
}
selecting_dudes += ", ";
}
if (assa > 0) {
selecting_dudes += string(assa) + " " + string(obj_ini.role[100][eROLE.ASSAULT]);
if (sgt > 1) {
selecting_dudes += "s";
}
selecting_dudes += ", ";
}
if (sco > 0) {
selecting_dudes += string(sco) + " " + string(obj_ini.role[100][12]);
if (sco > 1) {
selecting_dudes += "s";
}
selecting_dudes += ", ";
}
if (drea > 0) {
selecting_dudes += string(drea) + " " + string(obj_ini.role[100][6]);
if (drea > 1) {
selecting_dudes += "s";
}
selecting_dudes += ", ";
}
if (sgt > 0) {
selecting_dudes += string(sgt) + " " + string(obj_ini.role[100][18]);
if (sgt > 1) {
selecting_dudes += "s";
}
selecting_dudes += ", ";
}
if (vet_sgt > 0) {
selecting_dudes += string(vet_sgt) + " " + string(obj_ini.role[100][19]);
if (vet_sgt > 1) {
selecting_dudes += "s";
}
selecting_dudes += ", ";
}
if (ve>0){
selecting_dudes+=string(ve)+" "+string(_roles[3]);
if (ve>1) then selecting_dudes+="s";
selecting_dudes+=", ";
}
if (tct>0){
selecting_dudes+=string(tct)+" "+string(_roles[8]);
if (tct>1) then selecting_dudes+="s";
selecting_dudes+=", ";
}
if (dev>0){
selecting_dudes+=string(dev)+" "+string(_roles[9]);
if (dev>1) then selecting_dudes+="s";
selecting_dudes+=", ";
}
if (assa>0){
selecting_dudes+=string(assa)+" "+string(_roles[eROLE.ASSAULT]);
if (sgt>1) then selecting_dudes+="s";
selecting_dudes+=", ";
}
Comment on lines 161 to 165
Copy link
Copy Markdown
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(_roles[12]);
if (sco>1) then selecting_dudes+="s";
selecting_dudes+=", ";
}
if (drea>0){
selecting_dudes+=string(drea)+" "+string(_roles[6]);
if (drea>1) then selecting_dudes+="s";
selecting_dudes+=", ";
}
if (sgt>0){
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(_roles[19]);
if (vet_sgt>1) then selecting_dudes+="s";
selecting_dudes+=", ";
}
// Vehicle text
if (lrad > 0) {
selecting_dudes += string(lrad) + " Land Raider";
Expand Down
Loading
Loading