mirror of
https://github.com/AxioDL/metaforce.git
synced 2025-12-09 17:47:43 +00:00
More Collision related fixes
This commit is contained in:
@@ -3,6 +3,37 @@
|
||||
namespace urde
|
||||
{
|
||||
|
||||
const CDamageVulnerability CDamageVulnerability::sNormalVulnerability(
|
||||
EVulnerability::Normal, EVulnerability::Normal, EVulnerability::Normal, EVulnerability::Normal,
|
||||
EVulnerability::Normal, EVulnerability::Normal, EVulnerability::Normal, EVulnerability::Normal,
|
||||
EVulnerability::Normal, EVulnerability::Normal, EVulnerability::Normal, EVulnerability::Normal,
|
||||
EVulnerability::Normal, EVulnerability::Normal, EVulnerability::Normal, EVulnerability::Normal,
|
||||
EVulnerability::Normal, EVulnerability::Normal, EVulnerability::Normal, EVulnerability::Normal,
|
||||
EVulnerability::Normal, EVulnerability::Normal, EVulnerability::Normal, EVulnerability::DoubleDamage);
|
||||
|
||||
const CDamageVulnerability CDamageVulnerability::sImmuneVulnerability(
|
||||
EVulnerability::Reflect, EVulnerability::Reflect, EVulnerability::Reflect, EVulnerability::Reflect,
|
||||
EVulnerability::Reflect, EVulnerability::Reflect, EVulnerability::Reflect, EVulnerability::Reflect,
|
||||
EVulnerability::Reflect, EVulnerability::Reflect, EVulnerability::Reflect, EVulnerability::Reflect,
|
||||
EVulnerability::Reflect, EVulnerability::Reflect, EVulnerability::Reflect, EVulnerability::Reflect,
|
||||
EVulnerability::Reflect, EVulnerability::Reflect, EVulnerability::Reflect, EVulnerability::Reflect,
|
||||
EVulnerability::Reflect, EVulnerability::Reflect, EVulnerability::Reflect, EVulnerability::DoubleDamage);
|
||||
/* LOL, thanks retro */
|
||||
const CDamageVulnerability CDamageVulnerability::sReflectVulnerability(
|
||||
EVulnerability::Reflect, EVulnerability::Reflect, EVulnerability::Reflect, EVulnerability::Reflect,
|
||||
EVulnerability::Reflect, EVulnerability::Reflect, EVulnerability::Reflect, EVulnerability::Reflect,
|
||||
EVulnerability::Reflect, EVulnerability::Reflect, EVulnerability::Reflect, EVulnerability::Reflect,
|
||||
EVulnerability::Reflect, EVulnerability::Reflect, EVulnerability::Reflect, EVulnerability::Reflect,
|
||||
EVulnerability::Reflect, EVulnerability::Reflect, EVulnerability::Reflect, EVulnerability::Reflect,
|
||||
EVulnerability::Reflect, EVulnerability::Reflect, EVulnerability::Reflect, EVulnerability::DoubleDamage);
|
||||
|
||||
const CDamageVulnerability CDamageVulnerability::sPassThroughVulnerability(
|
||||
EVulnerability::PassThrough, EVulnerability::PassThrough, EVulnerability::PassThrough, EVulnerability::PassThrough,
|
||||
EVulnerability::PassThrough, EVulnerability::PassThrough, EVulnerability::PassThrough, EVulnerability::PassThrough,
|
||||
EVulnerability::PassThrough, EVulnerability::PassThrough, EVulnerability::PassThrough, EVulnerability::PassThrough,
|
||||
EVulnerability::PassThrough, EVulnerability::PassThrough, EVulnerability::PassThrough, EVulnerability::PassThrough,
|
||||
EVulnerability::PassThrough, EVulnerability::PassThrough, EVulnerability::PassThrough, EVulnerability::PassThrough,
|
||||
EVulnerability::PassThrough, EVulnerability::PassThrough, EVulnerability::PassThrough, EVulnerability::DoubleDamage);
|
||||
static inline bool is_normal_or_weak(EVulnerability vuln)
|
||||
{
|
||||
return (vuln == EVulnerability::DoubleDamage || vuln == EVulnerability::Normal);
|
||||
@@ -10,8 +41,7 @@ static inline bool is_normal_or_weak(EVulnerability vuln)
|
||||
|
||||
static inline bool is_not_immune(EVulnerability vuln)
|
||||
{
|
||||
return vuln != EVulnerability::Immune &&
|
||||
vuln != EVulnerability::DirectImmune;
|
||||
return vuln != EVulnerability::Immune && vuln != EVulnerability::DirectImmune;
|
||||
}
|
||||
|
||||
void CDamageVulnerability::ConstructNew(CInputStream& in, int propCount)
|
||||
@@ -72,6 +102,42 @@ CDamageVulnerability::CDamageVulnerability(CInputStream& in)
|
||||
ConstructNew(in, propCount);
|
||||
}
|
||||
|
||||
CDamageVulnerability::CDamageVulnerability(EVulnerability power, EVulnerability ice, EVulnerability wave,
|
||||
EVulnerability plasma, EVulnerability bomb, EVulnerability powerBomb,
|
||||
EVulnerability missile, EVulnerability boostBall, EVulnerability phazon,
|
||||
EVulnerability enemyWp1, EVulnerability enemyWp2, EVulnerability enemyWp3,
|
||||
EVulnerability enemyWp4, EVulnerability v1, EVulnerability v2,
|
||||
EVulnerability chargedPower, EVulnerability chargedIce,
|
||||
EVulnerability chargedWave, EVulnerability chargedPlasma,
|
||||
EVulnerability superMissile, EVulnerability iceSpreader,
|
||||
EVulnerability waveBuster, EVulnerability flameThrower, EVulnerability v3)
|
||||
: x0_power(power)
|
||||
, x4_ice(ice)
|
||||
, x8_wave(wave)
|
||||
, xc_plasma(plasma)
|
||||
, x10_bomb(bomb)
|
||||
, x14_powerbomb(powerBomb)
|
||||
, x18_missile(missile)
|
||||
, x1c_boostBall(boostBall)
|
||||
, x20_phazon(phazon)
|
||||
, x24_enemyWp1(enemyWp1)
|
||||
, x28_enemyWp2Poison(enemyWp2)
|
||||
, x2c_enemyWp3Lava(enemyWp3)
|
||||
, x30_enemyWp4(enemyWp4)
|
||||
, x34_unk1(v1)
|
||||
, x38_unk2(v2)
|
||||
, x3c_chargedPower(chargedPower)
|
||||
, x40_chargedIce(chargedIce)
|
||||
, x44_chargedWave(chargedWave)
|
||||
, x48_chargedPlasma(chargedPlasma)
|
||||
, x4c_superMissile(superMissile)
|
||||
, x50_iceSpreader(iceSpreader)
|
||||
, x54_wavebuster(waveBuster)
|
||||
, x58_flamethrower(flameThrower)
|
||||
, x5c_(v3)
|
||||
{
|
||||
}
|
||||
|
||||
EVulnerability CDamageVulnerability::GetPhazonVulnerability(const CWeaponMode& mode) const
|
||||
{
|
||||
if (mode.IsCharged())
|
||||
|
||||
Reference in New Issue
Block a user