Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

XM4 Armor Integral Motion Detector #5586

Merged
merged 22 commits into from
Feb 16, 2024
Merged

Conversation

MobiusWon
Copy link
Contributor

@MobiusWon MobiusWon commented Jan 29, 2024

About the pull request

Adds a motion detector action to the XM4 Intelligence Officer (IO) Armor.

Explain why it's good for the game

  1. Currently there is no difference between the standard M4 "RTO" armor and the XM4 IO armor. The integral motion detector makes the X for "Experimental" meaningful.
  2. The XM4 currently goes mostly unused by IOs, this would change that.
  3. The Motion Detector is already an essential item for IOs, this change distinguishes it from the other armor choices in game and adds a uniqueness to their piece of kit.
  4. I envision the XM4 as the "safety" choice for IOs: it has extra storage, slower, and (with this feature) includes a Motion Detector to improve situational awareness. The other common choices for IOs are the Service Jacket I.E. the "speed" choice, and the M3-L armor a "middle ground" option.
  5. This should not have any meaningful impact on balance vs. skirmishers as the Motion Detector is already an essential item for IOs.
  6. Keep in mind the XM4 is only attainable by IOs and cannot be worn or purchased by anyone else.

NOTE: This is my first "major" feature. I am open to suggestions, including "balance" related stuff.

Testing Photographs and Procedure

XM4.Motion.Detector.Test.mp4

Edit: Tested to confirm that the MD turns off upon user death. ✔️

Changelog

🆑
NervanCatos
add: Adds integral Motion Detector to XM4 IO Armor
balance: Uniform utility accessories (I.E. Webbing) no longer can be equipped while the XM4 is worn. Armor slots increased to 5 to compensate.
/:cl:

modified:   code/modules/clothing/suits/marine_armor.dm
modified:   code/modules/mob/living/carbon/human/human_helpers.dm
@github-actions github-actions bot added the Feature Feature coder badge label Jan 29, 2024
@Birdtalon Birdtalon added the Balance You need to be a professional veteran game maintainer to comprehend what is being done here. label Jan 29, 2024
code/modules/clothing/suits/marine_armor.dm Outdated Show resolved Hide resolved
code/modules/clothing/suits/marine_armor.dm Outdated Show resolved Hide resolved
code/modules/clothing/suits/marine_armor.dm Outdated Show resolved Hide resolved
code/game/objects/items/devices/motion_detector.dm Outdated Show resolved Hide resolved
code/modules/clothing/suits/marine_armor.dm Outdated Show resolved Hide resolved
code/modules/mob/living/carbon/human/human_helpers.dm Outdated Show resolved Hide resolved
@MobiusWon
Copy link
Contributor Author

@Birdtalon To answer any “why” you have, this code is borrowed from the integral md that the smartgun has. That being said, I can make the changes you mentioned!

@MobiusWon
Copy link
Contributor Author

MobiusWon commented Jan 30, 2024

Update: Removed some unnecessary duplicates of code, changed some variables to be more verbose, added some documentation, added suggestions from @Birdtalon, and added a unique description for the XM4 armor.

@MobiusWon
Copy link
Contributor Author

“Later variants of USCM standard armor included integrated motion trackers, thereby leaving a Marine's hands free to ready their weapon.[[7]] The armor-integrated motion tracker appeared in the corner of a Marine's head-up display and its appearance was very similar to what was displayed on the screen of the handheld tracker. The HUD motion tracker functioned the same as the handheld M314, with a moving object shown on the tracker's display as a series of contours of probable loci and with the range and bearing given to the target. The HUD motion tracker would also display the direction of an objective that the user had active.”

Neat lore that supports this feature. The XM4 could be a prototype version of the integrated motion tracker, that after successful field testing led to it being standard issue.

@Staykeu
Copy link
Contributor

Staykeu commented Feb 8, 2024

i really dont want this PR to die, but it looks like everyone in the maintainer team is intentionally ignoring it or outright disapproving of it

if this PR goes under i'd recommend trying again but instead of an integral motion detector the XM4 comes with an integral data detector, i feel like that has a higher chance to appeal (or at least just not tick off potential biases within the maint team)

@MobiusWon MobiusWon requested a review from kiVts February 8, 2024 16:20
Copy link
Contributor

@Birdtalon Birdtalon left a comment

Choose a reason for hiding this comment

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

Code seems fine but I do not approve of the PR for design & balance reasons.

@MobiusWon
Copy link
Contributor Author

Code seems fine but I do not approve of the PR for design & balance reasons.

What needs to change for it to be balanced? First thing that comes to mind is reducing storage.

code/modules/clothing/suits/marine_armor.dm Outdated Show resolved Hide resolved
code/modules/clothing/suits/marine_armor.dm Outdated Show resolved Hide resolved
code/modules/clothing/suits/marine_armor.dm Outdated Show resolved Hide resolved
@Drulikar Drulikar marked this pull request as draft February 12, 2024 01:09
Temporarily removes webbing as a preset equipment for the IO. When the mob is spawned, the XM4 armor doesn’t load because the XM4 no longer allows webbing.
@MobiusWon MobiusWon marked this pull request as ready for review February 13, 2024 00:55
Copy link
Contributor

@Drulikar Drulikar left a comment

Choose a reason for hiding this comment

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

Couple minor things, but otherwise seems to be working.

Also I will note that:

cannot be worn ... by anyone else

Isn't true; there's nothing preventing anyone else from wearing this armor. But I don't know if that needs to change.

code/modules/gear_presets/uscm.dm Outdated Show resolved Hide resolved
code/game/objects/items/devices/motion_detector.dm Outdated Show resolved Hide resolved
code/modules/clothing/suits/marine_armor.dm Outdated Show resolved Hide resolved
@Drulikar Drulikar added the Balance Approved This PR has had its balance and gameplay-affecting aspects approved. Cry to the Head-maint about it. label Feb 15, 2024
@Drulikar Drulikar marked this pull request as draft February 15, 2024 10:22
@MobiusWon
Copy link
Contributor Author

Couple minor things, but otherwise seems to be working.

Also I will note that:

cannot be worn ... by anyone else

Isn't true; there's nothing preventing anyone else from wearing this armor. But I don't know if that needs to change.

Want me to change that?

MobiusWon and others added 3 commits February 15, 2024 09:43
@Staykeu
Copy link
Contributor

Staykeu commented Feb 15, 2024

Couple minor things, but otherwise seems to be working.
Also I will note that:

cannot be worn ... by anyone else

Isn't true; there's nothing preventing anyone else from wearing this armor. But I don't know if that needs to change.

Want me to change that?

probably could make the armor ID lockable like spec armor, therefore, when an IO permas their armor unlocks and can be repurposed

@MobiusWon MobiusWon marked this pull request as ready for review February 16, 2024 01:22
@Drulikar Drulikar added this pull request to the merge queue Feb 16, 2024
Merged via the queue into cmss13-devs:master with commit 0a90983 Feb 16, 2024
27 checks passed
cm13-github added a commit that referenced this pull request Feb 16, 2024
@MobiusWon MobiusWon deleted the XM4_MD branch February 17, 2024 00:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Balance Approved This PR has had its balance and gameplay-affecting aspects approved. Cry to the Head-maint about it. Balance You need to be a professional veteran game maintainer to comprehend what is being done here. Feature Feature coder badge
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants