fix: Mission bug fixing and popup rebuild part 3#1035
fix: Mission bug fixing and popup rebuild part 3#1035OH296 merged 11 commits intoAdeptus-Dominus:mainfrom
Conversation
|
Important Review skippedAuto incremental reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the 📝 WalkthroughSummary by CodeRabbitRelease Notes
WalkthroughTech‑Priest, this diff adds a new scr_inquisition_inspection resource and inspection framework, centralises many popup flows (ancient ruins, gene‑seed, system debug), expands mechanicus mission handlers and debug fleet spawns, adjusts popup option gating, extends multi‑target location checks, and updates project metadata (IDEVersion). Changes
Estimated code review effort🎯 4 (Complex) | ⏱️ ~75 minutes Possibly related PRs
Suggested labels
Suggested reviewers
Tech‑Priest: I have catalogued the changes. Proceed with rites of review. Pre-merge checks❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 9
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (3)
objects/obj_popup/Step_0.gml (1)
258-266: Tech-Priest, restore the dormant cohorts before this rite concludes.
instance_deactivate_all(true);silences every other instance in the sector. Onlyobj_ground_missionandobj_popupare reawakened, so vital engines likeobj_controllerremain indefinitely deactivated once this popup self-immolates. The campaign logic will freeze. Reinvokeinstance_activate_all()(or otherwise reactivate the required controllers) before destroying the popup, or avoid the blanket deactivation entirely. Without that correction, the machine-spirit of the game never resumes its chant.- instance_deactivate_all(true); - instance_activate_object(obj_ground_mission); - instance_activate_object(obj_popup); + instance_deactivate_all(true); + instance_activate_object(obj_ground_mission); + instance_activate_object(obj_popup); var _explore_feature = obj_ground_mission.explore_feature; _explore_feature.suprise_attack(); woopwoopwoop = 0; - instance_destroy(self.id); - instance_destroy(); + instance_activate_all(); + instance_destroy();scripts/scr_event_code/scr_event_code.gml (2)
288-295: Incorrect payload fed to add_new_problemTech-Priest,
add_new_problemexpects raw planet index (and optional system), not the fullPlanetDataconstruct. Passing the struct will misalign arguments and the mission will never register. Deliver the primitive values.- add_new_problem(_planet, "mech_tomb1", 17); + add_new_problem(_planet.planet, "mech_tomb1", 17, _planet.system);
255-268: Options tied to the wrong reliquaryTech-Priest, within the tomb branch you craft
_mission_datayet append handlers tomission_data. That symbol lies undefined here, birthing an exception and leaving the popup optionless. Attach the array to_mission_data.- mission_data.options =[ + _mission_data.options =[
📜 Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
📒 Files selected for processing (14)
ChapterMaster.yyp(1 hunks)objects/obj_controller/Mouse_54.gml(1 hunks)objects/obj_en_fleet/Alarm_1.gml(1 hunks)objects/obj_popup/Destroy_0.gml(0 hunks)objects/obj_popup/Step_0.gml(1 hunks)scripts/scr_cheatcode/scr_cheatcode.gml(2 hunks)scripts/scr_event_code/scr_event_code.gml(3 hunks)scripts/scr_inquisition_fleet_functions/scr_inquisition_fleet_functions.gml(2 hunks)scripts/scr_inquisition_mission/scr_inquisition_mission.gml(2 hunks)scripts/scr_marine_struct/scr_marine_struct.gml(1 hunks)scripts/scr_mechanicus_missions/scr_mechanicus_missions.gml(3 hunks)scripts/scr_popup_functions/scr_popup_functions.gml(3 hunks)scripts/scr_random_event/scr_random_event.gml(1 hunks)scripts/scr_ruins_reward/scr_ruins_reward.gml(3 hunks)
💤 Files with no reviewable changes (1)
- objects/obj_popup/Destroy_0.gml
🧰 Additional context used
📓 Path-based instructions (2)
**/*.gml
⚙️ CodeRabbit configuration file
**/*.gml: - Macro constants require a space between the constant name and value. Without it, the compiler will throw an error. I.e.#macro ARR_body_parts["arm"]will crash the game, because there is no space between the array and the name of the macro.
- Color codes in the code shouldn't have any spaces in their id. I.e., color code
# 80bf40will crash the game.- All code should comply with the main GML documentation: https://manual.gamemaker.io/beta/en/GameMaker_Language/GML_Reference/GML_Reference.htm
Files:
scripts/scr_marine_struct/scr_marine_struct.gmlobjects/obj_controller/Mouse_54.gmlobjects/obj_popup/Step_0.gmlscripts/scr_ruins_reward/scr_ruins_reward.gmlscripts/scr_random_event/scr_random_event.gmlobjects/obj_en_fleet/Alarm_1.gmlscripts/scr_popup_functions/scr_popup_functions.gmlscripts/scr_inquisition_mission/scr_inquisition_mission.gmlscripts/scr_mechanicus_missions/scr_mechanicus_missions.gmlscripts/scr_event_code/scr_event_code.gmlscripts/scr_cheatcode/scr_cheatcode.gmlscripts/scr_inquisition_fleet_functions/scr_inquisition_fleet_functions.gml
**/*.*
⚙️ CodeRabbit configuration file
**/*.*: - Having humanly understandable and maintainable code is the top most priority.
- DRY (Don't repeat yourself) principle is also very important.
- If a TODO comment is added, ask the user if you should create a GitHub issue for this TODO.
- If a TODO comment is deleted, remind the user if there is an active GitHub issue related to that comment.
Files:
scripts/scr_marine_struct/scr_marine_struct.gmlobjects/obj_controller/Mouse_54.gmlChapterMaster.yypobjects/obj_popup/Step_0.gmlscripts/scr_ruins_reward/scr_ruins_reward.gmlscripts/scr_random_event/scr_random_event.gmlobjects/obj_en_fleet/Alarm_1.gmlscripts/scr_popup_functions/scr_popup_functions.gmlscripts/scr_inquisition_mission/scr_inquisition_mission.gmlscripts/scr_mechanicus_missions/scr_mechanicus_missions.gmlscripts/scr_event_code/scr_event_code.gmlscripts/scr_cheatcode/scr_cheatcode.gmlscripts/scr_inquisition_fleet_functions/scr_inquisition_fleet_functions.gml
scripts/scr_inquisition_fleet_functions/scr_inquisition_fleet_functions.gml
Outdated
Show resolved
Hide resolved
|
@coderabbitai review |
✅ Actions performedReview triggered.
|
There was a problem hiding this comment.
Actionable comments posted: 7
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
scripts/scr_ruins_reward/scr_ruins_reward.gml (1)
205-320: Fortress popup invoked without vital dataInvocation of
ancient_fortress_ruins_loot()arrives barren—nostar_system,planet, nor_ruinsoffered. Consequently_pop_data.star,_pop_data.planet, and_pop_data.featurebecomeundefined, so the option methods cannot adjust fortification tiers or requisition safely. Provide the required arguments from the calling branch before entrusting the popup cogitators.
♻️ Duplicate comments (2)
scripts/scr_ruins_reward/scr_ruins_reward.gml (1)
193-274: Undefined gene-seed context still unfixedTech-Priest, this rite still summons
ancient_gene_lab_ruins_loot()without supplying the gene-seed numbers it intones, leavinggene(and thus_pop_data.gene_foundand the narrative string) as unbound void. The function echoes the very fault previously flagged: on execution the machine-spirit will halt with an “unknown variable gene” exception long before the popup awakens. Forge the helper to accept explicitgene_amount/estimate_amountparameters and pass the actual values from the loot branch instead of leaning on absent globals.scripts/scr_random_event/scr_random_event.gml (1)
752-752: Bind pop_data to the gene-seed rite.Tech-Priest, the void string still blocks
_pop_datafrom reachingscr_popup; no options awaken, andevent_dispose_of_mutated_genestrikespop_data.percent_removeon a mere string—runtime failure exactly as the machine spirit foretold. Deliver the payload directly.- scr_popup("Gene-Seed Mutated!",text,"gene_bad","",_pop_data); + scr_popup("Gene-Seed Mutated!", text, "gene_bad", _pop_data);
📜 Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
📒 Files selected for processing (10)
ChapterMaster.yyp(2 hunks)scripts/scr_ComplexSet/tokenisation of farmland fordiversified income.md(1 hunks)scripts/scr_event_code/scr_event_code.gml(3 hunks)scripts/scr_inquisition_fleet_functions/scr_inquisition_fleet_functions.gml(0 hunks)scripts/scr_inquisition_inspection/scr_inquisition_inspection.gml(1 hunks)scripts/scr_inquisition_inspection/scr_inquisition_inspection.yy(1 hunks)scripts/scr_marine_struct/scr_marine_struct.gml(1 hunks)scripts/scr_mechanicus_missions/scr_mechanicus_missions.gml(3 hunks)scripts/scr_random_event/scr_random_event.gml(1 hunks)scripts/scr_ruins_reward/scr_ruins_reward.gml(3 hunks)
💤 Files with no reviewable changes (1)
- scripts/scr_inquisition_fleet_functions/scr_inquisition_fleet_functions.gml
🧰 Additional context used
📓 Path-based instructions (3)
**/*.*
⚙️ CodeRabbit configuration file
**/*.*: - Having humanly understandable and maintainable code is the top most priority.
- DRY (Don't repeat yourself) principle is also very important.
- If a TODO comment is added, ask the user if you should create a GitHub issue for this TODO.
- If a TODO comment is deleted, remind the user if there is an active GitHub issue related to that comment.
Files:
ChapterMaster.yypscripts/scr_marine_struct/scr_marine_struct.gmlscripts/scr_inquisition_inspection/scr_inquisition_inspection.yyscripts/scr_ComplexSet/tokenisation of farmland fordiversified income.mdscripts/scr_random_event/scr_random_event.gmlscripts/scr_mechanicus_missions/scr_mechanicus_missions.gmlscripts/scr_ruins_reward/scr_ruins_reward.gmlscripts/scr_inquisition_inspection/scr_inquisition_inspection.gmlscripts/scr_event_code/scr_event_code.gml
**/*.gml
⚙️ CodeRabbit configuration file
**/*.gml: - Macro constants require a space between the constant name and value. Without it, the compiler will throw an error. I.e.#macro ARR_body_parts["arm"]will crash the game, because there is no space between the array and the name of the macro.
- Color codes in the code shouldn't have any spaces in their id. I.e., color code
# 80bf40will crash the game.- All code should comply with the main GML documentation: https://manual.gamemaker.io/beta/en/GameMaker_Language/GML_Reference/GML_Reference.htm
Files:
scripts/scr_marine_struct/scr_marine_struct.gmlscripts/scr_random_event/scr_random_event.gmlscripts/scr_mechanicus_missions/scr_mechanicus_missions.gmlscripts/scr_ruins_reward/scr_ruins_reward.gmlscripts/scr_inquisition_inspection/scr_inquisition_inspection.gmlscripts/scr_event_code/scr_event_code.gml
**/*.yy
⚙️ CodeRabbit configuration file
**/*.yy: - When any script or sprite .yy files are deleted, their paths should also be deleted from the project .yyp file, otherwise the game will crash.
- When any script or sprite .yy files are created, their paths should be added to the project .yyp file, otherwise they'll fail.
Files:
scripts/scr_inquisition_inspection/scr_inquisition_inspection.yy
🪛 LanguageTool
scripts/scr_ComplexSet/tokenisation of farmland fordiversified income.md
[grammar] ~6-~6: This noun normally spelled as one word.
Context: ...- Who does this benefit - Farmers and land owners - Diversified Income - lprofit fro...
(OWNER_COMPOUNDS)
🪛 markdownlint-cli2 (0.18.1)
scripts/scr_ComplexSet/tokenisation of farmland fordiversified income.md
3-3: Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
3-3: First line in a file should be a top-level heading
(MD041, first-line-heading, first-line-h1)
5-5: Trailing spaces
Expected: 0 or 2; Actual: 1
(MD009, no-trailing-spaces)
6-6: Unordered list indentation
Expected: 2; Actual: 1
(MD007, ul-indent)
6-6: Hard tabs
Column: 1
(MD010, no-hard-tabs)
7-7: Unordered list indentation
Expected: 4; Actual: 2
(MD007, ul-indent)
7-7: Hard tabs
Column: 1
(MD010, no-hard-tabs)
8-8: Unordered list indentation
Expected: 4; Actual: 2
(MD007, ul-indent)
8-8: Hard tabs
Column: 1
(MD010, no-hard-tabs)
9-9: Unordered list indentation
Expected: 2; Actual: 1
(MD007, ul-indent)
9-9: Hard tabs
Column: 1
(MD010, no-hard-tabs)
10-10: Unordered list indentation
Expected: 4; Actual: 2
(MD007, ul-indent)
10-10: Hard tabs
Column: 1
(MD010, no-hard-tabs)
11-11: Unordered list indentation
Expected: 2; Actual: 1
(MD007, ul-indent)
11-11: Hard tabs
Column: 1
(MD010, no-hard-tabs)
12-12: Unordered list indentation
Expected: 4; Actual: 2
(MD007, ul-indent)
12-12: Hard tabs
Column: 1
(MD010, no-hard-tabs)
13-13: Unordered list indentation
Expected: 4; Actual: 2
(MD007, ul-indent)
13-13: Hard tabs
Column: 1
(MD010, no-hard-tabs)
14-14: Unordered list indentation
Expected: 2; Actual: 1
(MD007, ul-indent)
14-14: Hard tabs
Column: 1
(MD010, no-hard-tabs)
15-15: Unordered list indentation
Expected: 4; Actual: 2
(MD007, ul-indent)
15-15: Hard tabs
Column: 1
(MD010, no-hard-tabs)
17-17: Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
18-18: Trailing spaces
Expected: 0 or 2; Actual: 1
(MD009, no-trailing-spaces)
20-20: Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
26-26: Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
31-31: Files should end with a single newline character
(MD047, single-trailing-newline)
🔇 Additional comments (1)
scripts/scr_marine_struct/scr_marine_struct.gml (1)
2120-2120: Critical defects remediated—array membership checks now correct.Tech-Priest, the machine spirit registers that the grave errors in array membership invocations have been purged. Lines 2120 and 2129 now correctly pass the parameter arrays (
planet,ship) toarray_containsrather than the boolean sentinels (_multi_planet,_multi_ship). This ritual of correction prevents the catastrophic runtime failures previously prophesied.Also applies to: 2129-2129
Purpose and Description
Testing done
Related things and/or additional context