View Issue Details

IDProjectCategoryView StatusLast Update
0002606Spring engineGeneralpublic2011-08-09 13:00
ReporterGoogle_Frog Assigned To 
PrioritynormalSeverityminorReproducibilityunable to reproduce
Status closedResolutionno change required 
Product Version0.82.7.1 
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

Relationships

related to 0002071 closed Invulnerable Unit 

Activities

Kloot

2011-08-06 18:42

developer   ~0007228

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.

Google_Frog

2011-08-07 04:36

reporter   ~0007229

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

Google_Frog

2011-08-09 09:05

reporter   ~0007237

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

Google_Frog

2011-08-09 09:06

reporter   ~0007238

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

Kloot

2011-08-09 12:59

developer   ~0007239

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.

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