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

Setting a custom job title for someone in crew records makes them disappear from the manifest entirely #65

Open
4 of 5 tasks
Neerti opened this issue Sep 29, 2024 · 1 comment

Comments

@Neerti
Copy link

Neerti commented Sep 29, 2024

Description of issue

Assigning a custom job title with the crew records program makes the person disappear from the manifest if the job title is not one that already exists. This makes assuming Acting Captain somewhat clunky, since just setting the title to Captain might mislead players who are in the lobby into thinking that Captain is already taken, even if the slot is still open. It also discourages custom job title usage in general, which can have a lot of useful and/or fun purposes during the round.

Difference between expected and actual behavior

I expected non-standard job titles to be put under a 'Misc' category on the manifest. Instead, the person with the non-standard job title isn't shown at all.

(On Polaris code, titles like (Acting|Interim) [Head Role] get put under the correct department and not under Misc, but that's beyond the scope of this issue.)

Steps to reproduce

Join the round.
Somehow obtain access to modify crew records.
Look at the manifest and notice that you/someone else is there.
Modify your or someone elses' job field into something that isn't an already existing role.
Look at the manifest again and notice that they're now gone.
If you want, you can then give them a standard title and they will return to the manifest as that title.

Specific information for locating

N/A

Length of time in which bug has been known to occur

I recall this being a problem for this week's test as well as last week's.

Client version, Server revision & Game ID

Current master. etc etc

Issue bingo

  • Issue could be reproduced at least once
  • Issue could be reproduced by different players
  • Issue could be reproduced in multiple rounds
  • Issue happened in a recent (less than 7 days ago) round
  • Couldn't find an existing issue about this
@MistakeNot4892
Copy link

I think this is due to the way the manifest is generated:

/proc/html_crew_manifest(var/monochrome, var/OOC, records = global.all_crew_records)
	...
	for(var/datum/computer_file/report/crew_record/CR in records)
		var/name = CR.get_formal_name()
		var/rank = CR.get_job()
		...
		var/datum/job/job = SSjobs.get_by_title(rank)
		if(job)

Custom titles aren't going to have a job returned to get_by_title().
There's a couple of ways we could approach this:

  • If job is null, lump them under the Misc category as described.
  • Have the crew record track an 'original job' and reference that for get_by_title().

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants