1. Damage types based on shield/armor/hull.

Simple, damage type dependent on what you are firing at, either shield, armor, or hull. Examples:

Shield Disrupter: 20 Shield Damage, 2 Armor Damage, 5 Hull damage.

So if the user had shields up, you would deal 20 damage to the shields, if he had armor up, only 2 damage per. You would want to swap to a armor based weapon or have a weapon that is a good all rounder (All rounder being a standard weapon having 10 shield damage, 10 armor damage, 10 hull damage, for example). This is more simplistic but does what it needs too.

2. This is my personal likings one, having a handful or less of damage types.

Let us say the damage types are Kinetic, Thermal, Explosive, and Ballistic (If we did three, I would remove Thermal, but lets leave it in for example sake.)

Let us say we have a Shield with the following stats:

**75% Ballistic Resistance, 30% Thermal Resistance, 0% Kinetic Resistance, 10% Explosive Resistance.**

And then let us say we have the following weapons:

**Laser Beam: 30 Kinetic Damage, 10 Thermal Damage**

Chaingun: 15 Ballistic Damage

Energized Auto-cannon: 20 Ballistic Damage, 10 Kinetic Damage

Chaingun: 15 Ballistic Damage

Energized Auto-cannon: 20 Ballistic Damage, 10 Kinetic Damage

So if we take in our shield example and the weapon examples:

-Firing the laser beam would result in 37 (30 Kinetic, 7 Thermal) of the 40 damage going through (30% thermal resistance, 0% kinetic resistance).

-Firing the chaingun would result in 3.75 damage of the 15 damage going through (75% ballistic resistance).

-Firing the energized auto-cannon would result in 15 damage (5 Ballistic, 10 Kinetic) out of the 30 damage.

Overall I like the second method as stated, its a bit more complex but it might work very nicely. You can set it up in Shield and Armor, and perhaps Hull could be based on the actual ship/race you are on (settable of course).