Anonymous | Login | Signup for a new account | 2024-04-25 12:35 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 | ||||||||
0001277 | Zandronum | [All Projects] Suggestion | public | 2013-02-09 22:43 | 2019-06-04 21:54 | ||||||||
Reporter | Dusk | ||||||||||||
Assigned To | Dusk | ||||||||||||
Priority | normal | Severity | major | Reproducibility | N/A | ||||||||
Status | new | Resolution | open | ||||||||||
Platform | OS | OS Version | |||||||||||
Product Version | |||||||||||||
Target Version | Fixed in Version | ||||||||||||
Summary | 0001277: LMS weapon rework | ||||||||||||
Description | OK so I had another code night and I went and reworked the LMS inventory code. DoomPlayer/HereticPlayer stuff are no longer uglily copy/pasted, works with any IWAD now (Hexen and Strife). Since mods also expect player classes not derived from DoomPlayer not to be given this inventory, I added a decorate flag +LMSFULLARSENAL to toggle the behavior, this adds flexibility and keeps compatibility with mods at the same time. Other changes: - stamina and accuracy are now maxed out to 100 for Strife - in Strife, the player is given the leather armor, in Chex, the player is given the equivalent of green armor. The armor item's replacement is recognized, though -INVBAR and +AUTOACTIVATE are forced on the item to automatically activate the armor (this way Strifeguys get their armor immediately, I don't know of any mods that would rely on anything else) - in Hexen, the player is given all 4 armor items - Beak and Snout given +WEAPON.NOLMS, I guess this could be removed if mods for some bizarre reason rely on them not having it... - berserk is given in all games and is given by giving APowerStrength directly, I don't think this changes a lot - misc change: (the block was neatly just below the LMS stuff :P) made DF2_COOP_SHOTGUNSTART more replacement-aware - similarly misc change: reduced code duplication in buckshot/instagib management | ||||||||||||
Additional Information | see latest commits in'https://bitbucket.org/CrimsonDusk/neurosphere/commits/all [^]' for diffs. I'm still doing testing with mods (making sure no weapons are getting lost and no extra ones are being given but I'm pretty sure by now it's solid). I'll condense the stuff to a single commit to a new head when ready. See'https://bitbucket.org/CrimsonDusk/neurosphere/src/7994827632eb644a65c176709d9803243bb339ef/src/p_user.cpp?at=default [^]' for sources, scroll down to GiveDefaultInventory Also should the LMS-specific stuff in GiveDefaultInventory be moved to lastmanstanding.cpp? I feel it'd make sense being there. | ||||||||||||
Attached Files | |||||||||||||
Notes | |
(0005982) StrikerMan780 (reporter) 2013-02-10 17:10 |
I strongly support this, as this was done as a result of some testing done between Dusk and I. |
(0005985) Torr Samaho (administrator) 2013-02-10 19:56 |
Anything that changes the existing LMS mechanics should be run through a community vote. Adding support for more IWADs is no problem of course, but any changes that alter the LMS gameplay for IWADs that are already supported should only be made if the majority of players want this to be changed. |
(0005988) Dusk (developer) 2013-02-10 21:35 edited on: 2013-02-10 23:44 |
The behavior should be mostly identical in Doom and Heretic... the only change that affects Heretic is that berserk is given in it (which Heretic doesn't even use, I added that behavior for consistency and that alone) and that the beak isn't given in LMS (and if this really is such a big deal I guess it can just be allowed again). What exactly are the problematic changes here? |
(0006005) Torr Samaho (administrator) 2013-02-11 17:48 |
I was making a general statement. From the description I wasn't completely sure which aspects may be changed. So in Doom everything is supposed to behave identically? Since PowerStrength is not used in Heretic, I think it's kinda strange to give it there. |
(0006006) Dusk (developer) 2013-02-11 20:26 |
Doom and Heretic LMS should be behaving identically, yes. PowerStrength is given for the sake of consistency but I guess it can be gametype'd out if needed. My only concern is that that modders might've used features in ways which would cause behavioral changes in some form or another but I haven't run into such cases.. at least yet. |
(0006012) StrikerMan780 (reporter) 2013-02-12 06:01 |
I make use of berserk in SMMP's heretic support, so keeping that in would be a good idea. |
(0006019) Torr Samaho (administrator) 2013-02-13 06:30 edited on: 2013-02-13 06:30 |
Neither Skulltag nor Zandronum 1.0 give you berserk in Heretic LMS, right? |
(0006020) Dusk (developer) 2013-02-13 11:32 |
No, it was something explicitly given for the DoomPlayer. Hence:Quote I don't even know of any LMS mods for Heretic to begin with. |
(0006021) Torr Samaho (administrator) 2013-02-13 20:35 |
Yeah, that's how I understood your description. JustQuote from StrikerMan780 sounded as if StrikerMan780 already relies on berserk in Heretic. But that would require berserk to be given in Heretic which it is not. StrikerMan780, can you clarify your statement? |
(0006022) StrikerMan780 (reporter) 2013-02-13 20:39 |
Well, In standard gameplay I make use of berserk, as it is randomly spawned in the place of the Gauntlets. It would be helpful for it to be given to you from the start in LMS if played under Heretic. |
(0006063) Torr Samaho (administrator) 2013-02-23 09:27 |
Since Berserk is not a Heretic item and it is not given in Zandronum 1.0 or any Skulltag version in Heretic LMS, I'd say we should not change this behavior. General remarks regarding the patch: - Please separate the buckshot and instagib merging from the LMS changes. These things are completely independent from the LMS overhaul and should go to a separate commit. Also after a quick look I think your merging changed the behavior. Previously instagib and buckshot were mutually exclusive, now it seems you can activate both at once. We may want to allow this, but if so, we should make this intentionally. - IMHO using labels should be considered a last ditch effort in C++. Most of the time using a label is an indication that the code should be redesigned. Looking at donewitharmor for example, it would be much cleaner if you move the armor giving code into a function and replace all "goto donewitharmorr" with return. - DF2_COOP_SHOTGUNSTART only affected DoomPlayer before, now it is applied to all player classes, independently of the used IWAD - The patch still looks unfinished, there are numerous debug outputs, so I didn't dissect everything in detail so far. |
(0006103) Dusk (developer) 2013-03-10 22:56 |
'https://bitbucket.org/CrimsonDusk/neurosphere/commits/493dca7001e939f2ab549d667a0ea99c78f4e2fe [^]' Better now? |
(0006138) Torr Samaho (administrator) 2013-03-17 19:30 |
Looks better. Some more questions: - Did you intentionally remove the pType->ActorInfo check from "if ( ( pType->ActorInfo->GameFilter != GAME_Any ) && ( ( pType->ActorInfo->GameFilter & gameinfo.gametype ) == 0 ) )"? - Are if ( pWeapon->Ammo1 ) and equivalent? |
(0006140) Dusk (developer) 2013-03-17 21:34 |
Quote The code filters out all non-AInventory types as the first check it performs. Anything that is an AInventory should also be an AActor and thus have ActorInfo, right? Quote I believe they are. I don't understand why is it getting the ammo's type and then finding it and setting it when it could just set the ammo directly. I've tested this code a lot and I didn't have a case of not getting full ammo. |
Only registered users can voice their support. Click here to register, or here to log in. | |
Supporters: | ZzZombo StrikerMan780 Balrog Ivan |
Opponents: | No one explicitly opposes this issue yet. |
Issue History | |||
Date Modified | Username | Field | Change |
2013-02-09 22:43 | Dusk | New Issue | |
2013-02-09 22:43 | Dusk | Status | new => assigned |
2013-02-09 22:43 | Dusk | Assigned To | => Dusk |
2013-02-09 22:43 | Dusk | Status | assigned => feedback |
2013-02-09 22:46 | Dusk | Description Updated | View Revisions |
2013-02-10 17:10 | StrikerMan780 | Note Added: 0005982 | |
2013-02-10 19:56 | Torr Samaho | Note Added: 0005985 | |
2013-02-10 21:35 | Dusk | Note Added: 0005988 | |
2013-02-10 21:35 | Dusk | Status | feedback => assigned |
2013-02-10 21:36 | Dusk | Status | assigned => feedback |
2013-02-10 21:40 | Dusk | Note Edited: 0005988 | View Revisions |
2013-02-10 23:44 | Dusk | Note Edited: 0005988 | View Revisions |
2013-02-11 17:48 | Torr Samaho | Note Added: 0006005 | |
2013-02-11 20:26 | Dusk | Note Added: 0006006 | |
2013-02-11 20:26 | Dusk | Status | feedback => assigned |
2013-02-12 05:46 | Dusk | Assigned To | Dusk => |
2013-02-12 05:46 | Dusk | Status | assigned => feedback |
2013-02-12 06:01 | StrikerMan780 | Note Added: 0006012 | |
2013-02-12 08:20 | Dusk | Assigned To | => Dusk |
2013-02-13 06:30 | Torr Samaho | Note Added: 0006019 | |
2013-02-13 06:30 | Torr Samaho | Note Edited: 0006019 | View Revisions |
2013-02-13 06:31 | Torr Samaho | Note Revision Dropped: 6019: 0003318 | |
2013-02-13 11:32 | Dusk | Note Added: 0006020 | |
2013-02-13 11:32 | Dusk | Status | feedback => assigned |
2013-02-13 11:33 | Dusk | Status | assigned => feedback |
2013-02-13 20:35 | Torr Samaho | Note Added: 0006021 | |
2013-02-13 20:39 | StrikerMan780 | Note Added: 0006022 | |
2013-02-23 09:27 | Torr Samaho | Note Added: 0006063 | |
2013-02-24 12:51 | Dusk | Status | feedback => assigned |
2013-03-10 22:56 | Dusk | Note Added: 0006103 | |
2013-03-10 22:56 | Dusk | Status | assigned => needs review |
2013-03-17 19:30 | Torr Samaho | Note Added: 0006138 | |
2013-03-17 19:31 | Torr Samaho | Status | needs review => feedback |
2013-03-17 21:34 | Dusk | Note Added: 0006140 | |
2013-03-17 21:34 | Dusk | Status | feedback => assigned |
2019-06-04 21:54 | Dusk | Status | assigned => new |
Copyright © 2000 - 2024 MantisBT Team |