[Tweak] Maior requisito de tempo para diversos trabalhos#724
[Tweak] Maior requisito de tempo para diversos trabalhos#724Unlimited-Pii wants to merge 4 commits into
Conversation
WalkthroughAtualização sistemática de requisitos de cargos em 17 protótipos YAML: remove restrições de espécie Felinid ativas em 10 cargos, aumenta tempos de permanência em departamentos e requisitos de playtime global em 9 cargos, adiciona e ajusta requisitos de tempo por função em 5 cargos, e documenta requisitos de espécie Waddler comentados em 5 cargos para referência. ChangesRequisitos de Cargos: Remoção de Restrições de Espécie e Atualização de Tempos
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Possibly related PRs
Suggested labels
Suggested reviewers
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. 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: 4
🧹 Nitpick comments (2)
Resources/Prototypes/Roles/Jobs/Security/head_of_security.yml (1)
149-158: ⚡ Quick winRequisito de tempo do departamento de Segurança é muito elevado.
O requisito de 40 horas (144000 segundos) para o departamento de Segurança, combinado com os requisitos específicos de cargos (24h Warden, 6h Detective, 10h Security Officer), cria uma barreira muito alta para o cargo de Head of Security. Embora isso esteja alinhado com o objetivo da PR de prevenir que jogadores novos assumam cargos elevados, pode desencorajar até jogadores qualificados de progredirem para esta posição.
Considere se 40h é o tempo apropriado ou se um valor entre 30-35h seria mais equilibrado.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@Resources/Prototypes/Roles/Jobs/Security/head_of_security.yml` around lines 149 - 158, O requisito de tempo do DepartmentTimeRequirement para department: Security está muito alto em time: 144000 (40h); abra o bloco contendo !type:DepartmentTimeRequirement com department: Security e reduza time para um valor entre 108000 e 126000 (30–35h) para equilibrar com os !type:RoleTimeRequirement existentes (Warden 86400, JobDetective 21600, JobSecurityOfficer 36000) e manter a mesma estrutura YAML.Resources/Prototypes/Roles/Jobs/Engineering/atmospheric_technician.yml (1)
70-70: ⚡ Quick winAumento muito significativo no requisito de tempo para um cargo técnico.
O requisito de tempo para o departamento de Engenharia foi aumentado de 2,5 horas para 16 horas (aumento de 6,4x), o que representa o maior aumento relativo em toda esta PR. Para um cargo técnico não-comando como Atmospheric Technician, 16 horas parece excessivamente alto e pode criar problemas de falta de pessoal no departamento de Atmosféricos.
Considere um valor intermediário como 8-10 horas, que ainda representaria um aumento significativo mas seria mais apropriado para um cargo técnico de nível médio.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@Resources/Prototypes/Roles/Jobs/Engineering/atmospheric_technician.yml` at line 70, O campo time para o cargo "Atmospheric Technician" foi alterado de 2.5h para 16h (time: 57600), o que é excessivo; reverta ou ajuste esse valor para um intervalo intermediário mais razoável (por exemplo 8–10 horas => time: 28800–36000) alterando o valor do campo time no arquivo YAML onde o cargo "Atmospheric Technician" é definido; mantenha o resto do ficheiro inalterado e comente brevemente a razão do ajuste na PR description.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@Resources/Prototypes/Roles/Jobs/Civilian/chaplain.yml`:
- Around line 80-82: The RoleTimeRequirement entry mapping role:
JobSecurityOfficer with time: 21600 inside
Resources/Prototypes/Roles/Jobs/Civilian/chaplain.yml is inconsistent with other
civilian roles; either document why the chaplain should track JobSecurityOfficer
time (add a clear comment/justification near the !type:RoleTimeRequirement entry
and reference play_time_trackers.yml if this is an anti-grief measure) or
correct the mapping to the chaplain-specific role (replace role:
JobSecurityOfficer with the appropriate Chaplain role identifier) or remove the
RoleTimeRequirement entirely if it was added by mistake; update the chaplain.yml
entry accordingly and ensure tests/play_time_trackers references remain
consistent.
In `@Resources/Prototypes/Roles/Jobs/Command/head_of_personnel.yml`:
- Around line 148-157: Os comentários que dizem "6 hours" / "6 hrs" estão
incorretos para os valores `time: 18000`; atualize todos os comentários para "5
hours" (ou "5 hrs") para refletir corretamente 18000 segundos. Procure as
entradas com `time: 18000` e os blocos `!type:DepartmentTimeRequirement` para os
departamentos Medical, Science e Security, além da primeira ocorrência `time:
18000` acima, e altere apenas o texto do comentário sem modificar os valores.
In `@Resources/Prototypes/Roles/Jobs/Security/security_cadet.yml`:
- Around line 103-108: A combinação atual de OverallPlaytimeRequirement (time:
86400) com DepartmentTimeRequirement (department: Security, time: 86400,
inverted: true) cria uma colisão onde um jogador com 24h totais, mas também 24h
em Security, fica inelegível; ajuste os valores para criar uma janela clara de
elegibilidade — por exemplo, reduzir OverallPlaytimeRequirement.time para 18000
ou aumentar DepartmentTimeRequirement.time (quando inverted: true) para 36000 —
ou escolha outro pair de tempos que garanta OverallPlaytimeRequirement.time <
DepartmentTimeRequirement.time quando DepartmentTimeRequirement.inverted é true;
atualize os números em security_cadet.yml nas entradas
OverallPlaytimeRequirement e DepartmentTimeRequirement respectivamente.
In `@Resources/Prototypes/Roles/Jobs/Security/security_officer.yml`:
- Line 94: O campo time no protótipo SecurityOfficer foi aumentado de 9000 para
86400 segundos (linha com "time: 86400") — isso é excessivo; reverta ou reduza
para um valor intermediário (por exemplo 36000 ou 54000) no mesmo arquivo
Resources/Prototypes/Roles/Jobs/Security/security_officer.yml, atualize qualquer
comentário inline (substituir "`#24` hrs - Dumont edit") e execute
testes/monitoramento de balanceamento do servidor para validar que a
disponibilidade de oficiais de segurança não fica demasiadamente baixa antes de
subir a mudança.
---
Nitpick comments:
In `@Resources/Prototypes/Roles/Jobs/Engineering/atmospheric_technician.yml`:
- Line 70: O campo time para o cargo "Atmospheric Technician" foi alterado de
2.5h para 16h (time: 57600), o que é excessivo; reverta ou ajuste esse valor
para um intervalo intermediário mais razoável (por exemplo 8–10 horas => time:
28800–36000) alterando o valor do campo time no arquivo YAML onde o cargo
"Atmospheric Technician" é definido; mantenha o resto do ficheiro inalterado e
comente brevemente a razão do ajuste na PR description.
In `@Resources/Prototypes/Roles/Jobs/Security/head_of_security.yml`:
- Around line 149-158: O requisito de tempo do DepartmentTimeRequirement para
department: Security está muito alto em time: 144000 (40h); abra o bloco
contendo !type:DepartmentTimeRequirement com department: Security e reduza time
para um valor entre 108000 e 126000 (30–35h) para equilibrar com os
!type:RoleTimeRequirement existentes (Warden 86400, JobDetective 21600,
JobSecurityOfficer 36000) e manter a mesma estrutura YAML.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro
Run ID: dbf5703b-724f-4947-a175-bec42a6d2bd2
📒 Files selected for processing (18)
Resources/Prototypes/Roles/Jobs/Cargo/quartermaster.ymlResources/Prototypes/Roles/Jobs/Civilian/chaplain.ymlResources/Prototypes/Roles/Jobs/Command/captain.ymlResources/Prototypes/Roles/Jobs/Command/head_of_personnel.ymlResources/Prototypes/Roles/Jobs/Engineering/atmospheric_technician.ymlResources/Prototypes/Roles/Jobs/Engineering/chief_engineer.ymlResources/Prototypes/Roles/Jobs/Engineering/station_engineer.ymlResources/Prototypes/Roles/Jobs/Medical/chief_medical_officer.ymlResources/Prototypes/Roles/Jobs/Science/borg.ymlResources/Prototypes/Roles/Jobs/Science/research_director.ymlResources/Prototypes/Roles/Jobs/Security/detective.ymlResources/Prototypes/Roles/Jobs/Security/head_of_security.ymlResources/Prototypes/Roles/Jobs/Security/security_cadet.ymlResources/Prototypes/Roles/Jobs/Security/security_officer.ymlResources/Prototypes/Roles/Jobs/Security/warden.ymlResources/Prototypes/_Goobstation/Roles/Jobs/Dignitary/blueshield_officer.ymlResources/Prototypes/_Goobstation/Roles/Jobs/Dignitary/nanotrasen_representative.ymlResources/Prototypes/_Goobstation/Roles/Jobs/Security/brigmedic.yml
💤 Files with no reviewable changes (2)
- Resources/Prototypes/Roles/Jobs/Cargo/quartermaster.yml
- Resources/Prototypes/Roles/Jobs/Medical/chief_medical_officer.yml
| - !type:RoleTimeRequirement # Dumont | ||
| role: JobSecurityOfficer | ||
| time: 21600 #6 hrs |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Verificar se outros cargos civis têm requisitos de SecurityOfficer
rg -A 3 "RoleTimeRequirement" Resources/Prototypes/Roles/Jobs/Civilian/ | rg -B 1 "JobSecurityOfficer"Repository: Gaby-Station/Gaby-Station
Length of output: 249
🏁 Script executed:
#!/bin/bash
set -euo pipefail
# 1) Encontrar todas as ocorrências de JobSecurityOfficer em RoleTimeRequirement
rg -n --hidden --glob 'Resources/**/Roles/**' "RoleTimeRequirement" Resources/Prototypes/Roles -S \
| rg -n "JobSecurityOfficer" || true
# 2) Encontrar todas as ocorrências de JobSecurityOfficer no repositório (com contexto)
rg -n --hidden --glob 'Resources/**/Roles/**' "JobSecurityOfficer" Resources/Prototypes/Roles -S
# 3) Verificar se há outros RoleTimeRequirement que apontem para JobSecurityOfficer fora de Resources/Prototypes/Roles (varredura geral)
rg -n --hidden "RoleTimeRequirement" Resources -S | rg -n "JobSecurityOfficer" || trueRepository: Gaby-Station/Gaby-Station
Length of output: 610
Revisar justificativa/consistência do RoleTimeRequirement de JobSecurityOfficer no Chaplain
O requisito de 6h para role: JobSecurityOfficer aparece apenas em Resources/Prototypes/Roles/Jobs/Civilian/chaplain.yml (80-82). As demais ocorrências de JobSecurityOfficer estão no pacote de Segurança (ex.: warden.yml, security_officer.yml, head_of_security.yml, detective.yml) e no play_time_trackers.yml, sem um padrão equivalente em outros civis.
- !type:RoleTimeRequirement # Dumont
role: JobSecurityOfficer
time: 21600 `#6` hrs
Se a intenção for anti-grief/anti-abuso por causa dos itens do Chaplain, documentar a regra (por que mede “SecurityOfficer” e não outro requisito do próprio Chaplain) ou ajustar para uma abordagem mais alinhada ao cargo. Caso contrário, remover/corrigir esse mapeamento.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@Resources/Prototypes/Roles/Jobs/Civilian/chaplain.yml` around lines 80 - 82,
The RoleTimeRequirement entry mapping role: JobSecurityOfficer with time: 21600
inside Resources/Prototypes/Roles/Jobs/Civilian/chaplain.yml is inconsistent
with other civilian roles; either document why the chaplain should track
JobSecurityOfficer time (add a clear comment/justification near the
!type:RoleTimeRequirement entry and reference play_time_trackers.yml if this is
an anti-grief measure) or correct the mapping to the chaplain-specific role
(replace role: JobSecurityOfficer with the appropriate Chaplain role identifier)
or remove the RoleTimeRequirement entirely if it was added by mistake; update
the chaplain.yml entry accordingly and ensure tests/play_time_trackers
references remain consistent.
| time: 18000 # 6 hours | ||
| - !type:DepartmentTimeRequirement | ||
| department: Medical | ||
| time: 14400 # 4 hours | ||
| time: 18000 # 6 hours | ||
| - !type:DepartmentTimeRequirement | ||
| department: Science | ||
| time: 14400 # 4 hrs | ||
| time: 18000 # 6 hrs | ||
| - !type:DepartmentTimeRequirement | ||
| department: Security | ||
| time: 14400 # 4 hrs | ||
| - !type:DepartmentTimeRequirement | ||
| department: Command | ||
| time: 14400 # 4 hours | ||
| - !type:SpeciesRequirement # Goob - None Felinid | ||
| inverted: true | ||
| species: | ||
| - Felinid | ||
| time: 18000 # 6 hrs |
There was a problem hiding this comment.
Corrija os comentários de tempo incorretos.
Os comentários nas linhas 148, 151, 154 e 157 indicam "6 hours" ou "6 hrs", mas o valor configurado é 18000 segundos, que corresponde a 5 horas (18000 ÷ 3600 = 5), não 6 horas.
Atualize os comentários para refletir corretamente o valor configurado.
🐛 Correção proposta para os comentários
- !type:DepartmentTimeRequirement
department: Engineering
- time: 18000 # 6 hours
+ time: 18000 # 5 hours
- !type:DepartmentTimeRequirement
department: Medical
- time: 18000 # 6 hours
+ time: 18000 # 5 hours
- !type:DepartmentTimeRequirement
department: Science
- time: 18000 # 6 hrs
+ time: 18000 # 5 hrs
- !type:DepartmentTimeRequirement
department: Security
- time: 18000 # 6 hrs
+ time: 18000 # 5 hrs🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@Resources/Prototypes/Roles/Jobs/Command/head_of_personnel.yml` around lines
148 - 157, Os comentários que dizem "6 hours" / "6 hrs" estão incorretos para os
valores `time: 18000`; atualize todos os comentários para "5 hours" (ou "5 hrs")
para refletir corretamente 18000 segundos. Procure as entradas com `time: 18000`
e os blocos `!type:DepartmentTimeRequirement` para os departamentos Medical,
Science e Security, além da primeira ocorrência `time: 18000` acima, e altere
apenas o texto do comentário sem modificar os valores.
| - !type:OverallPlaytimeRequirement | ||
| time: 36000 #10 hrs | ||
| time: 86400 #24 hrs - Dumont edit | ||
| - !type:DepartmentTimeRequirement | ||
| department: Security | ||
| time: 36000 #10 hrs | ||
| time: 86400 #24 hrs - Dumont edit | ||
| inverted: true # stop playing intern if you're good at security! |
There was a problem hiding this comment.
Verifique a lógica combinada dos requisitos de SecurityCadet.
A combinação de OverallPlaytimeRequirement (24 hrs) com DepartmentTimeRequirement invertido (também 24 hrs) pode criar uma situação problemática:
- Um jogador precisa de 24 horas totais de jogo
- Mas NÃO pode ter 24+ horas no departamento de Segurança
Se um jogador novo dedicar a maior parte do seu tempo inicial ao departamento de Segurança (o que é natural para quem quer ser Cadet), ele pode ficar bloqueado deste cargo assim que atingir 24 horas em Security, mesmo que queira jogar como trainee.
Considere ajustar um dos valores (por exemplo, Overall: 18000 ou Department inverted: 36000) para criar uma janela de elegibilidade mais clara e funcional.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@Resources/Prototypes/Roles/Jobs/Security/security_cadet.yml` around lines 103
- 108, A combinação atual de OverallPlaytimeRequirement (time: 86400) com
DepartmentTimeRequirement (department: Security, time: 86400, inverted: true)
cria uma colisão onde um jogador com 24h totais, mas também 24h em Security,
fica inelegível; ajuste os valores para criar uma janela clara de elegibilidade
— por exemplo, reduzir OverallPlaytimeRequirement.time para 18000 ou aumentar
DepartmentTimeRequirement.time (quando inverted: true) para 36000 — ou escolha
outro pair de tempos que garanta OverallPlaytimeRequirement.time <
DepartmentTimeRequirement.time quando DepartmentTimeRequirement.inverted é true;
atualize os números em security_cadet.yml nas entradas
OverallPlaytimeRequirement e DepartmentTimeRequirement respectivamente.
| - !type:DepartmentTimeRequirement | ||
| department: Security | ||
| time: 9000 #2.5 hrs | ||
| time: 86400 #24 hrs - Dumont edit |
There was a problem hiding this comment.
Verifique o impacto no balanceamento do servidor.
O aumento de 2,5 horas para 24 horas (aumento de ~9,6x) para SecurityOfficer é extremamente agressivo. Este cargo é uma função comum de segurança, não um cargo de comando, e um requisito tão alto pode causar escassez severa de oficiais de segurança disponíveis, afetando significativamente a dinâmica do servidor e a experiência de jogo.
Considere se esse aumento está alinhado com o objetivo da PR ou se seria mais apropriado um valor intermediário (por exemplo, 36000 ou 54000 segundos).
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@Resources/Prototypes/Roles/Jobs/Security/security_officer.yml` at line 94, O
campo time no protótipo SecurityOfficer foi aumentado de 9000 para 86400
segundos (linha com "time: 86400") — isso é excessivo; reverta ou reduza para um
valor intermediário (por exemplo 36000 ou 54000) no mesmo arquivo
Resources/Prototypes/Roles/Jobs/Security/security_officer.yml, atualize qualquer
comentário inline (substituir "`#24` hrs - Dumont edit") e execute
testes/monitoramento de balanceamento do servidor para validar que a
disponibilidade de oficiais de segurança não fica demasiadamente baixa antes de
subir a mudança.
|
Pinguim é bizarro, já foi tentado colocar ele na blacklist de raças para diversas funções e não funcionou. |
|
Talvez eu tenha feito algo errado, ou blacklist de raças do Goob pode estar quebrada no caso de funções, eu não duvidaria. |
|
Não adicione role time de roboticista, roboticista nem ta disponível em 90% das estações. Vai virar literalmente impossível virar RD assim. |
Próprio Criso (nosso Mapper) pediu, e acho bem justo RD saber mecher com Borg e IA já que temos malf além das tempestades de íon normais. Se falta roboticista em mapa fala qual pro Criso que ele adiciona. |
|
Dai adiciona o roboticista primeiro. Dai adiciona o roletime. |
|
Also, poderia fazer prisoneiro não contar como tempo no departamento de segurança? |
|
O pior HOS que vi na minha vida pegou o tempo inicial de segurança dele jogando de prisoneiro imediatamente após começar a jogar o jogo. |
Ué, prisioneiro tá rodando como tempo de sec?? Isso eu consideraria um erro. Vou ver sobre. |
Concordo com o Heart, se tu quiser adicionar requerimento de roboticista, acho melhor mapear ele em todos os mapas, e só depois fazer isso aqui. |
Sempre foi assim, Goob being Goob. |
Consegue ver sobre isso? Se for esperar pela bounty eu removo e deixo pra outra. |
Melhor esperar pela bounty, que daí fica bem melhor de mapear ele, fora o roboticista, poderia colocar o geneticista junto também pra precisar de RD |
|
Transformar em rascunho então até lá |
|
tira requisito de brigmed pra ser warden, goob botou isso ai e eu perdi meu warden Exploda o brigmed |
|
This pull request has been automatically marked as stale because it has not had You can always ask for help on our development discord. If you'd like to keep this open, just leave any comment, and the stale label will be removed. |
Sobre a PR
Diversas funções agora possuem requisitos maiores de horas.
Por quê? / Balanceamento
Muitas delas precisam de mais tempo como "treinamento" para combater jogadores novos chegando cargos elevados ainda não sabendo os básicos da função.
Também adicionado requisito de Sec para capelão/padre devido a importância de sua função contra ameaças metafisicas.
Também foi removido um código que por algum motivo proibia uso de felinids em algumas funções, mesmo que felinids não estejam disponíveis como espécie selecionável roundstart. Tentei transformar alguns deles em eliminação de Pinguinador de algumas funções, mas em teste não parecia funcionar então deixei comentado para talvez tentar arrumar depois.
Detalhes Tecnicos
Apenas yml.
Anexos
Requirimentos
Changelog
🆑