2025-07-23 18:11 CEST

View Issue Details Jump to Notes ]
IDProjectCategoryView StatusLast Update
0002606Spring engineGeneralpublic2011-08-09 13:00
ReporterGoogle_Frog 
Assigned To 
PrioritynormalSeverityminorReproducibilityunable to reproduce
StatusclosedResolutionno change required 
Product Version0.82.7.1 
Target VersionFixed in Version 
Summary0002606: Invulnerable unit
Descriptionhttp://zero-k.info/Battles/Detail/22324

In this game there was a unit that could not be killed, it seems no damage could be dealt to it.

I don't know how to disable luarules in a replay so I cannot test if it was a gadget error. But I know there is nothing done with a gadget that would set all incoming damage to 0 for this unit.

It's like gadget:UnitPreDamaged was never called as there are some things that should have occurred if it was called. If an Outlaw hit it then it should have had a unitParam edited and subsequently displayed by the healthbars widget.
TagsNo tags attached.
Checked infolog.txt for Errors
Attached Files

-Relationships
related to 0002071closed Invulnerable Unit 
+Relationships

-Notes

~0007228

Kloot (developer)

The information provided here is completely and totally inadequate, and _nobody_ is going to watch a 92-minute demo with tons of things going on everywhere to find a bug that may very well be in gadget code.

"there was a unit that could not be killed"

1. WHAT TYPE OF UNIT?
2. AT WHICH POINT IN THE GAME?
3. WHERE ON THE MAP?
4. HOW / BY WHICH TYPES OF WEAPONS DID IT GET DAMAGED?

"If an Outlaw hit it then it should have had a unitParam edited"

5. WHAT MAKES AN "OUTLAW" SPECIAL IN THIS CONTEXT?
6. WHICH LUAUNITPARAM AND WHAT PURPOSE DOES IT NORMALLY SERVE?
7. HUMAN UNIT NAMES ARE USELESS BECAUSE THEY MEAN NOTHING

Even if you are convinced the engine is to blame, you sure didn't put any effort into making it easy for _us_ to verify that.

~0007229

Google_Frog (reporter)

Hmm, I didn't make it clear that the unit was never killed. To find it set the demo to max speed and wait until the end.

I first noticed it at 3580 2920 1:10:19, corclog unit. If you watch it from here to the end you'll notice that it is damaged by a wide range of weapon types, I didn't count (colloquially I would say 'all of them'). The unit is affected by impulse as it often flies around, this demonstrates it's immunity to falling damage.

The Outlaw is not really relevant it merely demonstrated to me that a gadget:UnitPreDamaged was not being called or at least there was something very strange as the arguments. The UnitRulesParam that should be set is "slowState" if an Outlaw (cormak) hits an enemy unit.

For a more specific gadget code breakdown here are the simple possibilities that could consistently cause 0 damage in gadget:UnitPreDamaged(unitID, unitDefID, unitTeam, damage, paralyzer, weaponID, attackerID, attackerDefID, attackerTeam).

if unitDefID == UnitDefNames["terraunit"].id
if unitID == attackerID

~0007237

Google_Frog (reporter)

http://zero-k.info/Battles/Detail/22842

~0007238

Google_Frog (reporter)

Another replay, with ticket http://code.google.com/p/zero-k/issues/detail?id=722

~0007239

Kloot (developer)

Both cases are the result of gadget bugs.

    [CUnit::DoDamage][f=38520][id=10411 (corpyro)] isDead=0, damage=3.250000
        [UnitPreDamaged] newDamage=0.000000, impulseMult=1.000000

We are not your personal Lua debug service. Don't dump that responsibility on our doorstep, or next time you can expect your reports to be closed without warning.
+Notes

-Issue History
Date Modified Username Field Change
2011-08-06 16:50 Google_Frog New Issue
2011-08-06 17:08 abma Relationship added related to 0002071
2011-08-06 18:42 Kloot Note Added: 0007228
2011-08-07 04:36 Google_Frog Note Added: 0007229
2011-08-09 09:05 Google_Frog Note Added: 0007237
2011-08-09 09:06 Google_Frog Note Added: 0007238
2011-08-09 12:59 Kloot Note Added: 0007239
2011-08-09 13:00 Kloot Status new => closed
2011-08-09 13:00 Kloot Resolution open => no change required
+Issue History