PolarisSS13 / Polaris-Neb

A general purpose SS13/Nebula fork.
https://discord.gg/Ddw58yF
GNU Affero General Public License v3.0
2 stars 7 forks source link

Human mobs have no item slots on Master #49

Closed Neerti closed 1 month ago

Neerti commented 1 month ago

Description of issue

When spawning in, my character had no clothing. The UI element that shows what items are equipped was also missing, and using hotkeys (the E key specifically) to equip items failed. Hands still worked fine.

I suspect the cause is a bad merge from a PR that CI was unable to catch because it was inactive at the time, and still isn't at the time of writing.

There are a number of roundstart runtimes that may or may not be relevant, but they should be fixed regardless. 25 runtimes on startup, and 1 more at roundstart.

This is a very severe issue and the game isn't really playable in this current state.

44 being resolved and merged may or may not fix this problem.

Difference between expected and actual behavior

I expected that my character would be clothed and that they would have item slots.

Steps to reproduce

Switch to Master. Untick Tradeship and tick Exodus (I haven't tested if this problem also affects other maps) Compile. Host local server. Join as a humanoid in any role. Spawn in wearing your birthday suit and no items whatsoever.

Specific information for locating

Startup 9 instances

Runtime in code/modules/species/species_bodytype.dm, line 367: bad index
proc name: Initialize (/decl/bodytype/Initialize)
src: Unbranded - Muscleplast (/decl/bodytype/prosthetic/unbranded/muscleplast)
call stack:
Unbranded - Muscleplast (/decl/bodytype/prosthetic/unbranded/muscleplast): Initialize()
/repository/decls (/repository/decls): get decl(/decl/bodytype/prosthetic/unbr... (/decl/bodytype/prosthetic/unbranded/muscleplast), 1)
/decl/trait/prosthetic_limb/le... (/decl/trait/prosthetic_limb/left_hand/muscleplast): Initialize()
/repository/decls (/repository/decls): get decl(/decl/trait/prosthetic_limb/le... (/decl/trait/prosthetic_limb/left_hand/muscleplast), 1)
/repository/decls (/repository/decls): get decls unassociated(/list (/list))
/repository/decls (/repository/decls): get decls of type unassociated(/decl/trait (/decl/trait))
/hook/startup (/hook/startup): initialize trait trees()
callHook("startup", null)
world: New()

16 instances

Runtime in code/modules/species/species.dm, line 372: Cannot execute null.Copy().
proc name: Initialize (/decl/species/Initialize)
src: /decl/species/shapeshifter (/decl/species/shapeshifter)
call stack:
/decl/species/shapeshifter (/decl/species/shapeshifter): Initialize()
/decl/species/shapeshifter (/decl/species/shapeshifter): Initialize()
/repository/decls (/repository/decls): get decl(/decl/species/shapeshifter (/decl/species/shapeshifter), 1)
/repository/decls (/repository/decls): get decls(/list (/list))
/repository/decls (/repository/decls): get decls of subtype(/decl/species (/decl/species))
build species lists()
get species by key("Human")
Taygete-Upsilon (/datum/planetoid_data/random/grass): generate surface temperature()
Taygete-Upsilon (/datum/planetoid_data/random/grass): generate atmosphere()
Taygete-Upsilon (/datum/planetoid_data/random/grass): pregenerate()
Taygete-Upsilon (/datum/planetoid_data/random/grass): setup planetoid()
lush exoplanet (/datum/map_template/planetoid/random/exoplanet/grass): create planetoid instance()
lush exoplanet (/datum/map_template/planetoid/random/exoplanet/grass): load new z(1, 1, null)
Exodus (/datum/map/exodus): spawn planet templates(/list (/list))
Exodus (/datum/map/exodus): build planets()
Mapping (/datum/controller/subsystem/mapping): Initialize(645538)
Mapping (/datum/controller/subsystem/mapping): DoInitialize(645538)
Master (/datum/controller/master): Initialize(10, 0)

Roundstart 1 instance

Runtime in code/modules/modular_computers/file_system/reports/crew_record.dm, line 50: Cannot execute null.get formal name prefix().
proc name: load from mob (/datum/computer_file/report/crew_record/proc/load_from_mob)

Length of time in which bug has been known to occur

Woodrat found this while doing local Exodus testing last night, and I encountered the same problem. Did not test to see if it's tied to Exodus or not, but the runtimes provided suggest that it isn't map-specific.

Client version, Server revision & Game ID

Client Version: 514 Server Revision: 919e40736f074d54bb00d28ffa6cd88fcbd50853 - master - 2024-09-19 Game ID: cvM-cR5R Current map: NSS Exodus

Issue bingo

Atermonera commented 1 month ago

Exodus map datum is missing the expected culture defaults. Specific fix is to copy this over to exodus_define.dm: https://github.com/PolarisSS13/Polaris-Neb/blob/master/maps/tradeship/tradeship_define.dm#L30-L49