EffectFilter
< Modding
Modding/EffectFilterWork in Progress
This page is currently WORK IN PROGRESS. Some things may be missing.
Feel free to contribute and don't worry about perfection - other editors can make corrections if necessary. Just get creating!
Code location (what's this?):
Cosmoteer.Simulation.EffectFilter
Stores rules for filtering hit and media effects.
Also behaves like a rules class.
Name | Type | Required? | Buffable? | Default value | Description |
---|---|---|---|---|---|
Ships | bool | - | - | - | |
OperationalHealth | bool | - | - | - | |
StructuralHealth | bool | - | - | - | |
OnlyPartCategories | HashSet<ID<PartCategory>>? | - | - | - | |
ExcludePartCategories | HashSet<ID<PartCategory>>? | - | - | - | |
Shields | bool | - | - | - | |
Bullets | bool | - | - | - | If "false", the next 2 parameters are ignored. |
OnlyBulletCategories | HashSet<ID<BulletTargetableRules>>? | - | - | - | |
ExcludeBulletCategories | HashSet<ID<BulletTargetableRules>>? | - | - | - | |
Crew | bool | - | - | - | |
Nuggets | bool | - | - | - | |
IgnoreInvulnerability | bool | - | - | false
(effectively) |
|
Self | bool? | - | - | - | |
TargetedSelf | bool? | - | - | - | |
Friendlies | bool? | - | - | false
(effectively) |
|
TargetedFriendlies | bool? | - | - | - | |
Enemies | bool? | - | - | - | |
TargetedEnemies | bool? | - | - | - | |
Neutrals | bool? | - | - | - | |
TargetedNeutrals | bool? | - | - | - | |
Junk | bool? | - | - | - | |
TargetedJunk | bool? | - | - | - | |
Deconstruction | bool? | - | - | - |
Notes
Here is the switch for the defaults :
case EffectFilter.Defaults.All:
this.Ships = true;
this.OperationalHealth = true;
this.StructuralHealth = true;
this.Shields = true;
this.Bullets = true;
this.Crew = true;
this.Nuggets = true;
this.IgnoreInvulnerability = true;
this.Friendlies = new bool?(true);
this.Enemies = new bool?(true);
this.Neutrals = new bool?(true);
this.Junk = new bool?(true);
break;
case EffectFilter.Defaults.Enemy:
this.Ships = true;
this.OperationalHealth = true;
this.StructuralHealth = true;
this.Shields = true;
this.Bullets = true;
this.Crew = true;
this.Nuggets = true;
break;
case EffectFilter.Defaults.None:
this.Ships = false;
this.OperationalHealth = false;
this.StructuralHealth = false;
this.Shields = false;
this.Bullets = false;
this.Crew = false;
this.Nuggets = false;
this.Friendlies = new bool?(false);
this.Enemies = new bool?(false);
this.Neutrals = new bool?(false);
this.Junk = new bool?(false);
break;
case EffectFilter.Defaults.CollisionsOff:
this.Ships = true;
this.OperationalHealth = true;
this.StructuralHealth = true;
this.Shields = true;
this.Bullets = true;
this.Crew = true;
this.Nuggets = true;
this.IgnoreInvulnerability = true;
this.Friendlies = new bool?(false);
this.Enemies = new bool?(false);
this.Neutrals = new bool?(false);
this.Junk = new bool?(false);
break;
default:
throw new ArgumentOutOfRangeException(nameof (defaults), (object) defaults, (string) null);