Duke4.net Forums: Double damage with RPG_IMPACT flag ? - Duke4.net Forums

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Double damage with RPG_IMPACT flag ?  "with RPG_TYPE and hitradius 0"

#1

I already talked about this issue in my Kickass Duke mod thread HERE

Since Eduke build 2016/08/29 (both 32bit and 64bit), custom RPG_TYPE projectiles with PROJECTILE_RPG_IMPACT flag set and hitradius 0 started to inflict on direct impact a damage equal to double the EXTRA declared.
Prior to this build, projectiles always inflicted only 1 times EXTRA damage on direct hit with hitradius 0.
(In reality, projectiles did EXTRA -1 damage points, now (EXTRA x2 ) -1 points )
Of course, projectiles with no PROJECTILE_RPG_IMPACT flag and hitradius 0 do no damage at all.

Someone on my thread told that this is a new damage system similar to DOS version, where the RPG with hitradius 0 inflicted double damage on impact anyway, while i always assumed that hitradius 0 meant NO hitradius instance, for projectiles like lasers, plasma, spikes/nails etc.

I doubt this is an intended feature, as i read no mention about it in changelog files next to that release, it would force ppl to define an halved damage for projectiles like this.

This kind of behaviour still occurs to other Dukers, so i think logs and sys configuration are not relevant atm.

This post has been edited by RichardStorm: 29 August 2018 - 03:31 AM

1

User is offline   Zaxtor 

#2

Maybe in USER.con

"define RPGBLASTRADIUS 1780"

may have a factor.

On the define projectile we use extra and hitradius ***** *** *** ***
0

User is offline   Danukem 

  • Duke Plus Developer

#3

View PostRichardStorm, on 29 August 2018 - 03:30 AM, said:

I already talked about this issue in my Kickass Duke mod thread HERE

Since Eduke build 2016/08/29 (both 32bit and 64bit), custom RPG_TYPE projectiles with PROJECTILE_RPG_IMPACT flag set and hitradius 0 started to inflict on direct impact a damage equal to double the EXTRA declared.
Prior to this build, projectiles always inflicted only 1 times EXTRA damage on direct hit with hitradius 0.


I don't really want to keep harping on this, but I will make one more post about it so that everyone understands why it's kind of a big deal. I'm sorry in advance for the strong wording below. I don't actually harbor any anger towards any EDuke32 devs, but things like this are very frustrating.

It may sound like we are talking about a small number of cases, but actually this kind of projectile is extremely common. If you want to make any projectile that is similar to the liztroop lasers, or a freezer shot...anything that is not hitscan and also doesn't do splash damage... then it's going to be affected by this change. That means, for example, that most of the projectiles in WGR2 will now do twice the intended damage if someone plays it with an Eduke32 revision post Aug 2016. In fact, the vast majority of mods released before that date are going to be severely impacted. Think about that: the player is taking DOUBLE damage from a lot of the enemies. This could make a lot of mods and TCs almost unplayable, because they were already tuned to a much lower damage amount.

If you want to know why some of us have become cynical about the Eduke32 development process, this is a prime example. The reason given for keeping this change is totally inadequate. The reason given was that in DOS Duke, if you set hitradius to 0 on RPG, it would still do twice the listed damage on direct impact, just as it does with non-zero hitradius. But DOS Duke never had custom projectiles, and the behavior of the hardcoded RPG isn't at issue here. The custom projectile system has worked differently from the RPG since its inception. It makes much more sense to accept the hardcoded RPG as a special case and continue to allow the custom projectiles to work differently (and more logically, as RichardStorm pointed out) than to fuck over twelve years of mods and TCs with a change that has ZERO benefit to anyone. And at this point, yes, we would have to make a few adjustments to accommodate changing it back, since some stuff has been released in the interim. But that still is the lesser of two evils.
2

User is offline   TerminX 

  • el fundador

  #4

What you guys are talking about was actually a bug that was fixed... the "extra" field on the projectile was being used uninitialized!

The current behavior was always the intended behavior. The reason for the "-1" in the damage was because either we initialize the .extra of all sprites to -1 or because the -1 was left over in the structure from a monster that died, etc.

So, the bug was fixed by setting the projectile's .extra (damage) to the correct base damage value at spawn time, making the flag function as intended; e.g produce an impact effect similar to RPG.

I can see how this fix may cause undesired effects with projects that had successfully made use of the previous bugged behavior. Maybe PROJECTILE_RPG_IMPACT should be split into two flags with the new flag controlling the damage and the existing flag reverting to something closer to the previous behavior.
0

User is offline   Hendricks266 

  • Weaponized Autism

  #5

PROJECTILE_RPG_IMPACT needs to be restored to exactly its original definition. A new flag to result in your desired behavior should then be designed around that existing way.
0

User is offline   Danukem 

  • Duke Plus Developer

#6

View PostHendricks266, on 29 August 2018 - 04:16 PM, said:

PROJECTILE_RPG_IMPACT needs to be restored to exactly its original definition. A new flag to result in your desired behavior should then be designed around that existing way.


To be clear, what we actually desired was consistent behavior so that our mods wouldn't be broken by changes. Going forward, it doesn't matter one way or another whether the flag doubles damage when hitradius is 0 -- as long as there is consistency, we can set damage values accordingly.

If a new flag needs to be applied to projectile definitions to make them work as they had worked for many years (when the bug was in effect), then I don't see any point to adding the flag at all.

Anyone making a new projectile can just use the current (non-bugged) behavior to set the damage value. If we were going to go back and update our old mods, then instead of adding the additional flag, we might as well just change the projectile damage values instead and include the current EDuke32 revision. Either way, in the absence of an update, projectile damage will be broken if someone runs them with a recent build.

By the way, was there ever a time prior to 2016/08/29 when custom projectiles did not exhibit the bug?
0

User is offline   TerminX 

  • el fundador

  #7

The additional flag would control the addition of the damage for PROJECTILE_RPG_IMPACT. Not using the additional flag would give you behavior more like how it used to operate, without said damage being applied. Using the new flag would result in using the behavior that's current at the time of this post.
0

User is offline   Danukem 

  • Duke Plus Developer

#8

View PostTerminX, on 29 August 2018 - 05:39 PM, said:

The additional flag would control the addition of the damage for PROJECTILE_RPG_IMPACT. Not using the additional flag would give you behavior more like how it used to operate, without said damage being applied. Using the new flag would result in using the behavior that's current at the time of this post.


OK, I had some pronoun confusion when replying to Hendricks266; he didn't quote anyone so I assumed he was replying to the OP and me when he said "your desired behavior".

It also wasn't clear what he meant by "original definition", since in my layman's lexicon that could either mean the original way the custom projectiles were coded, or it could mean the original intent, which in this case diverge.
0

#9

From 2018-09-01 build changelog

Quote

r6974 | terminx | 2018-09-01 12:36:15 -0700 (Sat, 01 Sep 2018) | 1 line

Add PROJECTILE_RPG_IMPACT_DAMAGE flag for projectiles, 0x00400000. This makes PROJECTILE_RPG_IMPACT function more or less how it did prior to late 2016 when an issue involving the damage was identified and fixed, and moves the damage to the new flag.


Many thanks guys.

This post has been edited by RichardStorm: 03 September 2018 - 05:19 AM

0

User is offline   TerminX 

  • el fundador

  #10

You're welcome. Let me know if it doesn't meet your needs for some reason.
0

User is offline   Danukem 

  • Duke Plus Developer

#11

Thanks also for the autoaim change, I will be testing and report back. :rolleyes:
0

User is offline   Danukem 

  • Duke Plus Developer

#12

Playing AA and geting hit by some projectiles.

This one worked fine in the previous build, and now it does no damage at all, at least when enemies shoot the player with it:

defineprojectile RANGERPROJ PROJ_WORKSLIKE 163842
defineprojectile RANGERPROJ PROJ_VEL 844
defineprojectile RANGERPROJ PROJ_VEL_MULT 3
defineprojectile RANGERPROJ PROJ_HITRADIUS 0
defineprojectile RANGERPROJ PROJ_SPAWNS RAILIMPACT
defineprojectile RANGERPROJ PROJ_EXTRA 36
defineprojectile RANGERPROJ PROJ_EXTRA_RAND 6
defineprojectile RANGERPROJ PROJ_XREPEAT 12
defineprojectile RANGERPROJ PROJ_YREPEAT 12
defineprojectile RANGERPROJ PROJ_TRAIL RANGERTRAIL
defineprojectile RANGERPROJ PROJ_PAL 21
defineprojectile RANGERPROJ PROJ_FLASH_COLOR 255


EDIT: I thought it was a bad workslike value, but I changed it to 32770 and still the same things happens now. Weird.

On the other hand, this projectile which also uses the flag, works fine:

defineprojectile SCUBAPROJ PROJ_WORKSLIKE 32770
defineprojectile SCUBAPROJ PROJ_EXTRA 12
defineprojectile SCUBAPROJ PROJ_EXTRA_RAND 3
defineprojectile SCUBAPROJ PROJ_VEL 844
defineprojectile SCUBAPROJ PROJ_SPAWNS ELEC_EXP
defineprojectile SCUBAPROJ PROJ_ISOUND MEGAIMPACT1
defineprojectile SCUBAPROJ PROJ_HITRADIUS 0
defineprojectile SCUBAPROJ PROJ_TRAIL -1
defineprojectile SCUBAPROJ PROJ_XREPEAT 32
defineprojectile SCUBAPROJ PROJ_YREPEAT 32
defineprojectile SCUBAPROJ PROJ_PAL 0
defineprojectile SCUBAPROJ PROJ_FLASH_COLOR 49344
defineprojectile SCUBAPROJ PROJ_SHADE -127

0

User is offline   Danukem 

  • Duke Plus Developer

#13

Well, shit, I really tried. I have this very important projectile that now won't hurt the player at all. I have tried changing the workslike, I have tried putting it on a different tile number, I have tried removing the vel_mult, changing the damage, removing all other code associated with it in the mod....nothing works. Here are the values I currently use that work fine using r6969:

defineprojectile RANGERPROJ PROJ_WORKSLIKE 32770
defineprojectile RANGERPROJ PROJ_VEL 844
defineprojectile RANGERPROJ PROJ_VEL_MULT 3
defineprojectile RANGERPROJ PROJ_HITRADIUS 0
defineprojectile RANGERPROJ PROJ_SPAWNS RAILIMPACT
defineprojectile RANGERPROJ PROJ_EXTRA 18
defineprojectile RANGERPROJ PROJ_EXTRA_RAND 6
defineprojectile RANGERPROJ PROJ_XREPEAT 12
defineprojectile RANGERPROJ PROJ_YREPEAT 12
defineprojectile RANGERPROJ PROJ_TRAIL RANGERTRAIL
defineprojectile RANGERPROJ PROJ_PAL 21
defineprojectile RANGERPROJ PROJ_FLASH_COLOR 255


I just can't use the latest revision with this broken, so I have to continue using the older one.

UPDATE: I have now confirmed with multiple different custom projectiles, that at least some projectiles REQUIRE the new flag to do any damage at all.

These are cases where the projectile has a workslike of 32770 (PROJECTILE_RPG + PROJECTILE_RPG_IMPACT). Again, they do no damage at all. on the other hand, if I change the workslike to 4194306 (PROJECTILE_RPG + PROJECTILE_RPG_IMPACT_DAMAGE) then the projectile does the amount of damage defined by PROJ_EXTRA.

This surely can't be the intended behavior, since that would mean that lots of projectiles which were happily using a workslike of 32770 are now completely broken in the new build.

Here's another example. It's the grenades fired by Bombshell's devastator. Now they do no damage at all on a direct impact. Only splash damage from a nearby impact will cause any damage.

the workslike flags are PROJECTILE_RADIUS_PICNUM + PROJECTILE_RPG_IMPACT + PROJECTILE_BOUNCESOFFWALLS + PROJECTILE_RPG

defineprojectile GRENADEPROJ PROJ_WORKSLIKE 98310
defineprojectile GRENADEPROJ PROJ_BOUNCES 3
defineprojectile GRENADEPROJ PROJ_BSOUND GRENADE_BOUNCE
defineprojectile GRENADEPROJ PROJ_EXTRA 120
defineprojectile GRENADEPROJ PROJ_EXTRA_RAND 40
defineprojectile GRENADEPROJ PROJ_HITRADIUS 2560
defineprojectile GRENADEPROJ PROJ_VEL 644
defineprojectile GRENADEPROJ PROJ_SPAWNS EXPLOSION2
defineprojectile GRENADEPROJ PROJ_DROP -200
defineprojectile GRENADEPROJ PROJ_ISOUND RPG_EXPLODE
defineprojectile GRENADEPROJ PROJ_TRAIL SPARKFALL
defineprojectile GRENADEPROJ PROJ_XREPEAT 24
defineprojectile GRENADEPROJ PROJ_YREPEAT 20
defineprojectile GRENADEPROJ PROJ_SHADE -127
defineprojectile GRENADEPROJ PROJ_FLASH_COLOR 255


This post has been edited by Trooper Dan: 04 September 2018 - 02:12 AM
Reason for edit: update with new information

0

User is offline   Striker 

  • Auramancer

#14

That's definitely not right. It should be doing 1x damage, not zero, or 2x.
0

User is offline   Striker 

  • Auramancer

#15

View PostStriker, on 04 September 2018 - 11:46 AM, said:

That's definitely not right. It should be doing 1x damage, not zero, or 2x.

Since I can't edit... I fucked up and missed that projectile has a hitradius, so that one should be doing 2x, not zero. But 1x if it didn't have a hitradius.

This post has been edited by Striker: 05 September 2018 - 05:08 AM

0

User is offline   Forge 

  • Speaker of the Outhouse

#16

Tx is an 'official' video game developer now, so this was bound to happen.

Before we know it, he'll have removed extended magazines and bump-stocks from the game as well.
0

User is offline   Mark 

#17

:rolleyes:
0

User is offline   Danukem 

  • Duke Plus Developer

#18

So, to reiterate. Many custom projectiles are currently quite broken in the most recent revision r6976, by the change introduced in r6975.

The new flag, rather than merely adding additional damage, is required to do any direct impact damage at all, at least for many projectiles. For example, in the grenade projectile that I included a definition for above. This means we have to assume that most mods using custom projectiles are broken by the current build, and in a vastly worse way than they were impacted by the change in 2016 that the recent update was supposed to address.
0

User is offline   TerminX 

  • el fundador

  #19

r6978
2

User is offline   Danukem 

  • Duke Plus Developer

#20

Thank you, it seems to work as intended now.
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic


All copyrights and trademarks not owned by Voidpoint, LLC are the sole property of their respective owners. Play Ion Fury! ;) © Voidpoint, LLC

Enter your sign in name and password


Sign in options