Skip to content

Package wrap tweaks/fixes

Rob Nelson requested to merge pull/11822/packagewrap2 into Bleeding-Edge

Created by: Exxion

  1. (Only change with any gameplay significance in any scenario I'm aware is possible) Unwrapping a small package now places the contained item in the same hand the package was in. This is both way nicer to work with in-game and made part 4 easier to do. (The package is dropped to the user's loc before being unwrapped, which is relevant to both 3 and 4.)
  2. Wrapped packages no longer have the capability to drag things back from qdeletion if they are somehow qdel()ed while wrapped
  3. Similarly, wrapped packages now dump ALL contents when unwrapped rather than just the original wrapped object, meaning that if somehow a wrapped object drops other objects into the package, they will no longer be nullspaced. If the package is unwrapped in the hand, the first object in contents will attempt to be put in the user's hand, as long as they are a human. (Not sure why that restriction is there, but that's how it was when I found it.)
  4. Wrapped packages now dump their contents to their loc rather than always onto the turf. I'm not aware of any scenarios in which this is relevant, but there probably are some, and that's how it should work anyway.
  5. Wrapped packages no longer hold a reference to the originally-wrapped object because there's not really any need for them to. Just use contents[1] or iterate through instead.

P.S. I spotted lots of shitcode while working on this that I want to clean up at a later date

P.P.S. This also includes a changelog entry for the package wrap nullspacing fix because apparently people haven't all found out it got fixed yet because they aren't using it because they don't know it's fixed

Merge request reports