| Anonymous | Login | Signup for a new account | 2026-02-05 08:23 UTC |
| My View | View Issues | Change Log | Roadmap | Zandronum Issue Support Ranking | Rules | My Account |
| View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||||||
| ID | Project | Category | View Status | Date Submitted | Last Update | ||||||||
| 0004586 | Zandronum | [All Projects] Suggestion | public | 2026-01-29 19:18 | 2026-02-04 19:29 | ||||||||
| Reporter | Extended-Tangent | ||||||||||||
| Assigned To | |||||||||||||
| Priority | normal | Severity | feature | Reproducibility | unable to reproduce | ||||||||
| Status | needs review | Resolution | open | ||||||||||
| Platform | OS | OS Version | |||||||||||
| Product Version | 3.2.1 | ||||||||||||
| Target Version | Fixed in Version | ||||||||||||
| Summary | 0004586: ACS or Decorate function to drop team items | ||||||||||||
| Description | I think a way to force players to drop team items like flags or skulls without needing to kill the player would be useful for custom gamemode applications, and all kinds of shenanigans. Right now, the only way to drop team items without killing is via A_DropInventory or the ACS DropInventory function, and these do not trigger the team item dropped message, play the announcer, nor do they set the return timer on the item. | ||||||||||||
| Attached Files | |||||||||||||
Notes |
|
|
Extended-Tangent (reporter) 2026-01-30 00:56 edited on: 2026-01-30 00:59 |
Okay, a patch is uploaded that should implement both the ACS and Decorate functions. Ignore the one that doesn't have "Fixed" appended to it: This is my first few moments of working with the codebase, so I'm still learning how to add functions into the engine. |
|
Extended-Tangent (reporter) 2026-02-01 09:57 edited on: 2026-02-01 10:00 |
I wanted to write further that I am not sure about how to handle the dropping of team items. I would imagine these items, when dropped, would immediately be available to be picked up by opposing teams, instead of the global droptime being set. However, would it make sense for allies to also be able to reclaim the flag immediately? My main concerns regarding this feature are about what rules should be in place for this to be as useful of a feature as it can be. |
|
Kaminsky (developer) 2026-02-03 18:59 |
Quote from "Extended-Tangent" To me, this sounds like an oversight, and the code that's executed when a player is forced to drop a team item via APlayerPawn::DropImportantItems needs to be refactored and executed elsewhere too (e.g. AInventory::CreateTossable). This doesn't just affect the DropInventory ACS function and A_DropInventory DECORATE functions like you mentioned, but also the "drop" CCMD, and has the potential to break game modes like CTF. Adding new ACS/DECORATE functions specifically for dropping team items (and other game mode items like the terminator sphere and possession hellstone) would not only be overkill, but would also be working around the real problem here. That is, the drop routine for team items is missing when dropped by normal means. That being said, I had a quick look at your patches (thanks a lot for providing them) and have one general comment: I don't recommend adding new optional parameters (e.g. "bSetDropTime") before older (and also optional) parameters (e.g. "pSource") of a function. Unless you know what you're doing, it's much safer to add the new optional parameter(s) at the end. |
|
Extended-Tangent (reporter) 2026-02-04 19:28 edited on: 2026-02-04 19:29 |
Fair point! I agree with making dropping in general handle team items better. APlayerPawn::DropImportantItems does seem to have a lot of redundant code, too, so this would be a good overarching change. And also to adding parameters at the end: will do for future patches. |
| Only registered users can voice their support. Click here to register, or here to log in. | |
| Supporters: | MameXLIII |
| Opponents: | No one explicitly opposes this issue yet. |
Issue History |
|||
| Date Modified | Username | Field | Change |
| 2026-01-29 19:18 | Extended-Tangent | New Issue | |
| 2026-01-29 23:47 | Extended-Tangent | File Added: DropImportantItems.patch | |
| 2026-01-30 00:54 | Extended-Tangent | File Added: DropImportantItemsFixed.patch | |
| 2026-01-30 00:56 | Extended-Tangent | Note Added: 0024668 | |
| 2026-01-30 00:59 | Extended-Tangent | Note Edited: 0024668 | View Revisions |
| 2026-02-01 09:57 | Extended-Tangent | Note Added: 0024669 | |
| 2026-02-01 09:57 | Extended-Tangent | Note Edited: 0024669 | View Revisions |
| 2026-02-01 09:58 | Extended-Tangent | Note Edited: 0024669 | View Revisions |
| 2026-02-01 09:59 | Extended-Tangent | Note Edited: 0024669 | View Revisions |
| 2026-02-01 09:59 | Extended-Tangent | Note Edited: 0024669 | View Revisions |
| 2026-02-01 10:00 | Extended-Tangent | Note Edited: 0024669 | View Revisions |
| 2026-02-03 18:59 | Kaminsky | Note Added: 0024670 | |
| 2026-02-03 18:59 | Kaminsky | Status | new => needs review |
| 2026-02-04 19:28 | Extended-Tangent | Note Added: 0024672 | |
| 2026-02-04 19:29 | Extended-Tangent | Note Edited: 0024672 | View Revisions |
| Copyright © 2000 - 2026 MantisBT Team |