Skip to content

Commit 96af921

Browse files
committed
fix: Keep ParasiticBombDummy in the list
The only useful dummy. When a unit with parasitic bomb on it dies, the parasitic bomb remains active at that location. This is done by attaching the parasitic bomb buff to a dummy unit. Signed-off-by: Alexander Kurbatov <sir.alkurbatov@yandex.ru>
1 parent d11d0e1 commit 96af921

File tree

3 files changed

+41
-2
lines changed

3 files changed

+41
-2
lines changed

src/filters.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
11
exports.isDummy = ({ name }) => {
2+
// NB (alkurbatov): The only useful dummy.
3+
// When a unit with parasitic bomb on it dies,
4+
// the parasitic bomb remains active at that location.
5+
// This is done by attaching the parasitic bomb buff to a dummy unit.
6+
if (name === 'Zerg_ParasiticBombDummy') return false
7+
28
return name.startsWith('Dummy') || name.endsWith('Dummy')
39
}

test/cpp/__snapshots__/generate.spec.js.snap

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3483,6 +3483,8 @@ typedef SC2Type<EFFECT_ID> EffectID;
34833483
" ZERG_OVERSEER = 129,
34843484
",
34853485
" ZERG_OVERSEERSIEGEMODE = 1912,
3486+
",
3487+
" ZERG_PARASITICBOMBDUMMY = 824,
34863488
",
34873489
" ZERG_QUEEN = 126,
34883490
",
@@ -10659,6 +10661,8 @@ namespace sc2 {
1065910661
" case UNIT_TYPEID::ZERG_OVERSEER: return \\"ZERG_OVERSEER\\";
1066010662
",
1066110663
" case UNIT_TYPEID::ZERG_OVERSEERSIEGEMODE: return \\"ZERG_OVERSEERSIEGEMODE\\";
10664+
",
10665+
" case UNIT_TYPEID::ZERG_PARASITICBOMBDUMMY: return \\"ZERG_PARASITICBOMBDUMMY\\";
1066210666
",
1066310667
" case UNIT_TYPEID::ZERG_QUEEN: return \\"ZERG_QUEEN\\";
1066410668
",
@@ -17890,6 +17894,8 @@ typedef SC2Type<EFFECT_ID> EffectID;
1789017894
" ZERG_OVERSEER = 129,
1789117895
",
1789217896
" ZERG_OVERSEERSIEGEMODE = 1912,
17897+
",
17898+
" ZERG_PARASITICBOMBDUMMY = 824,
1789317899
",
1789417900
" ZERG_QUEEN = 126,
1789517901
",
@@ -25104,6 +25110,8 @@ namespace sc2 {
2510425110
" case UNIT_TYPEID::ZERG_OVERSEER: return \\"ZERG_OVERSEER\\";
2510525111
",
2510625112
" case UNIT_TYPEID::ZERG_OVERSEERSIEGEMODE: return \\"ZERG_OVERSEERSIEGEMODE\\";
25113+
",
25114+
" case UNIT_TYPEID::ZERG_PARASITICBOMBDUMMY: return \\"ZERG_PARASITICBOMBDUMMY\\";
2510725115
",
2510825116
" case UNIT_TYPEID::ZERG_QUEEN: return \\"ZERG_QUEEN\\";
2510925117
",
@@ -32359,6 +32367,8 @@ typedef SC2Type<EFFECT_ID> EffectID;
3235932367
" ZERG_OVERSEER = 129,
3236032368
",
3236132369
" ZERG_OVERSEERSIEGEMODE = 1912,
32370+
",
32371+
" ZERG_PARASITICBOMBDUMMY = 824,
3236232372
",
3236332373
" ZERG_QUEEN = 126,
3236432374
",
@@ -39631,6 +39641,8 @@ namespace sc2 {
3963139641
" case UNIT_TYPEID::ZERG_OVERSEER: return \\"ZERG_OVERSEER\\";
3963239642
",
3963339643
" case UNIT_TYPEID::ZERG_OVERSEERSIEGEMODE: return \\"ZERG_OVERSEERSIEGEMODE\\";
39644+
",
39645+
" case UNIT_TYPEID::ZERG_PARASITICBOMBDUMMY: return \\"ZERG_PARASITICBOMBDUMMY\\";
3963439646
",
3963539647
" case UNIT_TYPEID::ZERG_QUEEN: return \\"ZERG_QUEEN\\";
3963639648
",
@@ -46926,6 +46938,8 @@ typedef SC2Type<EFFECT_ID> EffectID;
4692646938
" ZERG_OVERSEER = 129,
4692746939
",
4692846940
" ZERG_OVERSEERSIEGEMODE = 1912,
46941+
",
46942+
" ZERG_PARASITICBOMBDUMMY = 824,
4692946943
",
4693046944
" ZERG_QUEEN = 126,
4693146945
",
@@ -54198,6 +54212,8 @@ namespace sc2 {
5419854212
" case UNIT_TYPEID::ZERG_OVERSEER: return \\"ZERG_OVERSEER\\";
5419954213
",
5420054214
" case UNIT_TYPEID::ZERG_OVERSEERSIEGEMODE: return \\"ZERG_OVERSEERSIEGEMODE\\";
54215+
",
54216+
" case UNIT_TYPEID::ZERG_PARASITICBOMBDUMMY: return \\"ZERG_PARASITICBOMBDUMMY\\";
5420154217
",
5420254218
" case UNIT_TYPEID::ZERG_QUEEN: return \\"ZERG_QUEEN\\";
5420354219
",
@@ -61521,6 +61537,8 @@ typedef SC2Type<EFFECT_ID> EffectID;
6152161537
" ZERG_OVERSEER = 129,
6152261538
",
6152361539
" ZERG_OVERSEERSIEGEMODE = 1912,
61540+
",
61541+
" ZERG_PARASITICBOMBDUMMY = 824,
6152461542
",
6152561543
" ZERG_QUEEN = 126,
6152661544
",
@@ -68865,6 +68883,8 @@ namespace sc2 {
6886568883
" case UNIT_TYPEID::ZERG_OVERSEER: return \\"ZERG_OVERSEER\\";
6886668884
",
6886768885
" case UNIT_TYPEID::ZERG_OVERSEERSIEGEMODE: return \\"ZERG_OVERSEERSIEGEMODE\\";
68886+
",
68887+
" case UNIT_TYPEID::ZERG_PARASITICBOMBDUMMY: return \\"ZERG_PARASITICBOMBDUMMY\\";
6886868888
",
6886968889
" case UNIT_TYPEID::ZERG_QUEEN: return \\"ZERG_QUEEN\\";
6887068890
",
@@ -76260,6 +76280,8 @@ typedef SC2Type<EFFECT_ID> EffectID;
7626076280
" ZERG_OVERSEER = 129,
7626176281
",
7626276282
" ZERG_OVERSEERSIEGEMODE = 1912,
76283+
",
76284+
" ZERG_PARASITICBOMBDUMMY = 824,
7626376285
",
7626476286
" ZERG_QUEEN = 126,
7626576287
",
@@ -83638,6 +83660,8 @@ namespace sc2 {
8363883660
" case UNIT_TYPEID::ZERG_OVERSEER: return \\"ZERG_OVERSEER\\";
8363983661
",
8364083662
" case UNIT_TYPEID::ZERG_OVERSEERSIEGEMODE: return \\"ZERG_OVERSEERSIEGEMODE\\";
83663+
",
83664+
" case UNIT_TYPEID::ZERG_PARASITICBOMBDUMMY: return \\"ZERG_PARASITICBOMBDUMMY\\";
8364183665
",
8364283666
" case UNIT_TYPEID::ZERG_QUEEN: return \\"ZERG_QUEEN\\";
8364383667
",

test/generators/generateUnits.spec.js

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ test('Generates list of units', () => {
3333
])
3434
})
3535

36-
test('Ignores dummies', () => {
36+
test('Ignores dummies except ParasiticBombDummy', () => {
3737
const units = [
3838
{
3939
id: 1,
@@ -47,7 +47,16 @@ test('Ignores dummies', () => {
4747
id: 154,
4848
name: 'FirebatACGluescreenDummy',
4949
},
50+
{
51+
id: 824,
52+
name: 'ParasiticBombDummy',
53+
},
5054
]
5155

52-
expect(generateUnits(units)).toEqual([])
56+
expect(generateUnits(units)).toEqual([
57+
{
58+
id: 824,
59+
name: 'ZERG_PARASITICBOMBDUMMY',
60+
},
61+
])
5362
})

0 commit comments

Comments
 (0)