#ifndef __URDE_CDAMAGEVULNERABILITY_HPP__ #define __URDE_CDAMAGEVULNERABILITY_HPP__ #include "RetroTypes.hpp" #include "Weapon/CWeaponMode.hpp" namespace urde { enum class EVulnerability { DoubleDamage, Normal, Reflect, Immune, PassThrough, DirectDouble, Direct }; class CDamageVulnerability { EVulnerability x0_power; EVulnerability x4_ice; EVulnerability x8_wave; EVulnerability xc_plasma; EVulnerability x10_bomb; EVulnerability x14_powerbomb; EVulnerability x18_missile; EVulnerability x1c_boostBall; EVulnerability x20_phazon; EVulnerability x24_enemyWp1; EVulnerability x28_enemyWp2Poison; EVulnerability x2c_enemyWp3Lava; EVulnerability x30_enemyWp4; EVulnerability x34_unk1; EVulnerability x38_unk2; EVulnerability x3c_chargedPower; EVulnerability x40_chargedIce; EVulnerability x44_chargedWave; EVulnerability x48_chargedPlasma; EVulnerability x4c_superMissile; EVulnerability x50_iceSpreader; EVulnerability x54_wavebuster; EVulnerability x58_flamethrower; u32 x5c_; u32 x60_; u32 x64_; void ConstructNew(CInputStream& in, int propCount) { EVulnerability* vulns = &x0_power; for (int i=0 ; i