Timestamp:
Apr 12, 2021, 8:17:13 AM (3 years ago)
Author:
Freagarach
Message:

Combine attack times in a single node.

Reduces duplication, allows all attack types to cause splash damage.
While at it, makes delay and minimal range optional (for obvious defaults are available).

Split from D368, so basically a patch by @bb.

Note that it may seem like one can arbitrarily name an attack now, but that is not true.

Differential revision: D2002
Comments by: @bb, @Nescio, @Stan, @wraitii

File:
1 edited

Legend:

Unmodified
Added
Removed
  • ps/trunk/binaries/data/mods/public/simulation/components/tests/test_Damage.js

    r25013 r25233  
    108108
    109109    AddMock(SYSTEM_ENTITY, IID_DelayedDamage, {
    110         "MissileHit": () => {
     110        "Hit": () => {
    111111            damageTaken = true;
    112112        },
     
    479479    });
    480480
    481     cmpDelayedDamage.MissileHit(data, 0);
     481    cmpDelayedDamage.Hit(data, 0);
    482482    TS_ASSERT(hitEnts.has(60));
    483483    hitEnts.clear();
     
    511511    });
    512512
    513     cmpDelayedDamage.MissileHit(data, 0);
     513    cmpDelayedDamage.Hit(data, 0);
    514514    TS_ASSERT(hitEnts.has(61));
    515515    hitEnts.clear();
     
    517517    // Make sure we don't corrupt other tests.
    518518    DeleteMock(60, IID_Mirage);
    519     cmpDelayedDamage.MissileHit(data, 0);
     519    cmpDelayedDamage.Hit(data, 0);
    520520    TS_ASSERT(hitEnts.has(60));
    521521    hitEnts.clear();
     
    540540    });
    541541
    542     cmpDelayedDamage.MissileHit(data, 0);
     542    cmpDelayedDamage.Hit(data, 0);
    543543    TS_ASSERT(hitEnts.has(61));
    544544    hitEnts.clear();
     
    590590    });
    591591
    592     cmpDelayedDamage.MissileHit(data, 0);
     592    cmpDelayedDamage.Hit(data, 0);
    593593    TS_ASSERT(hitEnts.has(61));
    594594    TS_ASSERT_EQUALS(dealtDamage, 100 + 200);
     
    617617
    618618    data.attackData.Bonuses = bonus;
    619     cmpDelayedDamage.MissileHit(data, 0);
     619    cmpDelayedDamage.Hit(data, 0);
    620620    TS_ASSERT(hitEnts.has(61));
    621621    TS_ASSERT_EQUALS(dealtDamage, 400 * 100 + 200);
     
    624624
    625625    data.splash.attackData.Bonuses = splashBonus;
    626     cmpDelayedDamage.MissileHit(data, 0);
     626    cmpDelayedDamage.Hit(data, 0);
    627627    TS_ASSERT(hitEnts.has(61));
    628628    TS_ASSERT_EQUALS(dealtDamage, 400 * 100 + 10000 * 200);
     
    631631
    632632    data.attackData.Bonuses = undefined;
    633     cmpDelayedDamage.MissileHit(data, 0);
     633    cmpDelayedDamage.Hit(data, 0);
    634634    TS_ASSERT(hitEnts.has(61));
    635635    TS_ASSERT_EQUALS(dealtDamage, 100 + 10000 * 200);
     
    638638
    639639    data.attackData.Bonuses = null;
    640     cmpDelayedDamage.MissileHit(data, 0);
     640    cmpDelayedDamage.Hit(data, 0);
    641641    TS_ASSERT(hitEnts.has(61));
    642642    TS_ASSERT_EQUALS(dealtDamage, 100 + 10000 * 200);
     
    645645
    646646    data.attackData.Bonuses = {};
    647     cmpDelayedDamage.MissileHit(data, 0);
     647    cmpDelayedDamage.Hit(data, 0);
    648648    TS_ASSERT(hitEnts.has(61));
    649649    TS_ASSERT_EQUALS(dealtDamage, 100 + 10000 * 200);
     
    697697    });
    698698
    699     cmpDelayedDamage.MissileHit(data, 0);
     699    cmpDelayedDamage.Hit(data, 0);
    700700    TS_ASSERT(hitEnts.has(61));
    701701    TS_ASSERT_EQUALS(dealtDamage, 100 + 200);
Note: See TracChangeset for help on using the changeset viewer.