Skip to content

Commit 35c92d4

Browse files
authored
p34.5 (#509)
1 parent 6933620 commit 35c92d4

24 files changed

+484
-92
lines changed

src/Perpetuum.Bootstrapper/Modules/EffectsModule.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,8 @@ protected override void Load(ContainerBuilder builder)
105105
_ = builder.RegisterType<AuraEffect>().Keyed<Effect>(EffectType.effect_alpha2_bonus);
106106

107107
_ = builder.RegisterType<AuraEffect>().Keyed<Effect>(EffectType.effect_field_stealth);
108+
_ = builder.RegisterType<AuraEffect>().Keyed<Effect>(EffectType.effect_field_eccm);
109+
_ = builder.RegisterType<AuraEffect>().Keyed<Effect>(EffectType.effect_field_reactor_stabilizer);
108110

109111
_ = builder.Register<EffectFactory>(x =>
110112
{

src/Perpetuum.Bootstrapper/Modules/EntitiesModule.cs

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,9 @@ protected override void Load(ContainerBuilder builder)
175175
RegisterUnit<MobileTeleport>(builder);
176176
RegisterUnit<NpcEgg>(builder);
177177

178-
RegisterUnit<FieldEffectGenerator>(builder);
178+
RegisterUnit<FieldStealthEffectGenerator>(builder);
179+
RegisterUnit<FieldEccmEffectGenerator>(builder);
180+
RegisterUnit<FieldReactorStabilizerEffectGenerator>(builder);
179181

180182
RegisterEntity<FieldContainerCapsule>(builder);
181183
RegisterEntity<Ice>(builder);
@@ -205,7 +207,9 @@ protected override void Load(ContainerBuilder builder)
205207
RegisterEntity<RiftActivator>(builder);
206208
RegisterEntity<MineralScanResultItem>(builder);
207209

208-
RegisterEntity<FieldEffectGeneratorDeployer>(builder);
210+
RegisterEntity<FieldStealthEffectGeneratorDeployer>(builder);
211+
RegisterEntity<FieldEccmEffectGeneratorDeployer>(builder);
212+
RegisterEntity<FieldReactorStabilizerEffectGeneratorDeployer>(builder);
209213

210214
RegisterModule<DrillerModule>(builder);
211215
RegisterModule<LargeDrillerModule>(builder);
@@ -585,8 +589,14 @@ void ByNamePatternAndFlag<T>(string substr, CategoryFlags cf, params Parameter[]
585589
ByCategoryFlags<SparkTeleportDevice>(CategoryFlags.cf_spark_teleport_devices);
586590
ByCategoryFlags<ServerWideEpBooster>(CategoryFlags.cf_server_wide_ep_boosters);
587591

588-
ByCategoryFlags<FieldEffectGeneratorDeployer>(CategoryFlags.cf_mobile_field_masker_capsule);
589-
ByCategoryFlags<FieldEffectGenerator>(CategoryFlags.cf_mobile_field_masker, new NamedParameter("effectType", EffectType.effect_field_stealth));
592+
ByCategoryFlags<FieldStealthEffectGeneratorDeployer>(CategoryFlags.cf_mobile_field_masker_capsule);
593+
ByCategoryFlags<FieldStealthEffectGenerator>(CategoryFlags.cf_mobile_field_masker, new NamedParameter("effectType", EffectType.effect_field_stealth));
594+
595+
ByCategoryFlags<FieldEccmEffectGeneratorDeployer>(CategoryFlags.cf_mobile_field_eccm_capsule);
596+
ByCategoryFlags<FieldEccmEffectGenerator>(CategoryFlags.cf_mobile_field_eccm, new NamedParameter("effectType", EffectType.effect_field_eccm));
597+
598+
ByCategoryFlags<FieldReactorStabilizerEffectGeneratorDeployer>(CategoryFlags.cf_mobile_field_reactor_stabilizer_capsule);
599+
ByCategoryFlags<FieldReactorStabilizerEffectGenerator>(CategoryFlags.cf_mobile_field_reactor_stabilizer, new NamedParameter("effectType", EffectType.effect_field_reactor_stabilizer));
590600

591601
// OPP new Blinder module
592602
ByNamePatternAndFlag<TargetBlinderModule>(DefinitionNames.STANDARD_BLINDER_MODULE, CategoryFlags.cf_target_painter);

src/Perpetuum.ExportedTypes/AggregateField.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -515,5 +515,7 @@ public enum AggregateField
515515
server_wide_ep_bonus_duration = 755,
516516
effect_excavator_harvesting_amount_modifier = 756,
517517
effect_excavator_enhancer_harvesting_amount_modifier = 757,
518+
effect_field_sensor_strength_modifier = 758,
519+
effect_field_reactor_radiation_modifier = 759,
518520
}
519521
}

src/Perpetuum.ExportedTypes/CategoryFlags.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -520,6 +520,8 @@ public enum CategoryFlags : long
520520
cf_teleport_back_home = 0x0000000004060278,
521521
cf_training_exit_teleport = 0x0000000000070278,
522522
cf_mobile_field_masker = 0x0000000000080278,
523+
cf_mobile_field_eccm = 0x0000000000090278,
524+
cf_mobile_field_reactor_stabilizer = 0x00000000000A0278,
523525

524526
cf_groups = 0x0000000000000082,
525527
cf_corporation = 0x0000000000000182,
@@ -673,6 +675,8 @@ public enum CategoryFlags : long
673675
cf_terraform_buoy_capsule = 0x0000000000000C98,
674676
cf_landmine_deployer = 0x0000000000000D98,
675677
cf_mobile_field_masker_capsule = 0x0000000000000E98,
678+
cf_mobile_field_eccm_capsule = 0x0000000000000F98,
679+
cf_mobile_field_reactor_stabilizer_capsule = 0x0000000000001098,
676680

677681
cf_dynamic_cprg = 0x0000000000000099,
678682

src/Perpetuum.ExportedTypes/EffectCategory.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,5 +57,6 @@ public enum EffectCategory : long
5757
effcat_mine_detection = 0x0000400000000000, // OPP: Mine detection
5858
effcat_drones_amplification = 0x0000800000000000, // OPP: Drone amplification
5959
effcat_drone_remote_command_translation = 0x0001000000000000, // OPP: Remote command translation
60+
effcat_field_effect_generators = 0x0002000000000000, // OPP: Field effect generators
6061
}
6162
}

src/Perpetuum.ExportedTypes/EffectType.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,5 +137,7 @@ public enum EffectType
137137
effect_excavator = 134,
138138
remote_command_translation = 135,
139139
effect_field_stealth = 136,
140+
effect_field_eccm = 137,
141+
effect_field_reactor_stabilizer = 138,
140142
}
141143
}

src/Perpetuum/Containers/Container.cs

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -293,14 +293,9 @@ protected virtual void RelocateItem(Character character, long issuerEid, Item it
293293
{
294294
TransactionLogEventBuilder b = TransactionLogEvent.Builder();
295295

296-
if (IsPersonalContainer)
297-
{
298-
_ = b.SetTransactionType(TransactionType.ItemDonate).SetContainer(targetContainer);
299-
}
300-
else
301-
{
302-
_ = b.SetTransactionType(TransactionType.ItemObtain).SetContainer(this);
303-
}
296+
_ = IsPersonalContainer
297+
? b.SetTransactionType(TransactionType.ItemDonate).SetContainer(targetContainer)
298+
: b.SetTransactionType(TransactionType.ItemObtain).SetContainer(this);
304299

305300
character.LogTransaction(b);
306301
}
@@ -476,7 +471,8 @@ public virtual void SetItemName(long itemEid, string newName)
476471

477472
public override void OnDeleteFromDb()
478473
{
479-
HasChildren.ThrowIfTrue(ErrorCodes.ContainerHasToBeEmpty);
474+
//Ghost Bases thee be gone
475+
//HasChildren.ThrowIfTrue(ErrorCodes.ContainerHasToBeEmpty);
480476
ContainerLogger.ClearLog(null);
481477
base.OnDeleteFromDb();
482478
}

src/Perpetuum/Items/ItemPropertyModifier.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,18 @@ namespace Perpetuum.Items
66
{
77
public struct ItemPropertyModifier
88
{
9-
private readonly AggregateFormula formula;
109
private readonly bool forceHasValue;
1110

1211
public ItemPropertyModifier(AggregateField field, AggregateFormula formula, double value, bool forceHasValue = false) : this()
1312
{
1413
Field = field;
15-
this.formula = formula;
14+
Formula = formula;
1615
Value = value;
1716
this.forceHasValue = forceHasValue;
1817
}
1918

2019
public AggregateField Field { get; }
20+
public AggregateFormula Formula { get; }
2121

2222
public double Value { get; private set; }
2323

@@ -64,7 +64,7 @@ public static ItemPropertyModifier Create(AggregateField field, double value, bo
6464

6565
public void NormalizeExtensionBonus()
6666
{
67-
switch (formula)
67+
switch (Formula)
6868
{
6969
case AggregateFormula.Modifier:
7070
{
@@ -134,7 +134,7 @@ public static ItemPropertyModifier Modify(ItemPropertyModifier source, ItemPrope
134134
double v = target.Value;
135135
Modify(source, ref v);
136136

137-
return new ItemPropertyModifier(target.Field, target.formula, v);
137+
return new ItemPropertyModifier(target.Field, target.Formula, v);
138138
}
139139

140140
public static void Modify(ItemPropertyModifier source, ref double targetValue)
@@ -144,7 +144,7 @@ public static void Modify(ItemPropertyModifier source, ref double targetValue)
144144
return;
145145
}
146146

147-
switch (source.formula)
147+
switch (source.Formula)
148148
{
149149
// mod & inverse
150150
case AggregateFormula.Modifier:
@@ -169,7 +169,7 @@ public static void Modify(ItemPropertyModifier source, ref double targetValue)
169169

170170
public override string ToString()
171171
{
172-
return $"Field: {Field}, Formula: {formula}, Value: {Value}";
172+
return $"Field: {Field}, Formula: {Formula}, Value: {Value}";
173173
}
174174
}
175175
}

src/Perpetuum/Perpetuum.csproj

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -710,8 +710,12 @@
710710
<Compile Include="Zones\Effects\ZoneEffects\ZoneEffect.cs" />
711711
<Compile Include="Zones\Effects\ZoneEffects\ZoneEffectHandler.cs" />
712712
<Compile Include="Zones\Effects\ZoneEffects\ZoneEffectReader.cs" />
713-
<Compile Include="Zones\FieldEffectGenerators\FieldEffectGenerator.cs" />
714-
<Compile Include="Zones\FieldEffectGenerators\FieldEffectGeneratorDeployer.cs" />
713+
<Compile Include="Zones\FieldEffectGenerators\FieldEccmEffectGenerator.cs" />
714+
<Compile Include="Zones\FieldEffectGenerators\FieldEccmEffectGeneratorDeployer.cs" />
715+
<Compile Include="Zones\FieldEffectGenerators\FieldReactorStabilizerEffectGenerator.cs" />
716+
<Compile Include="Zones\FieldEffectGenerators\FieldReactorStabilizerEffectGeneratorDeployer.cs" />
717+
<Compile Include="Zones\FieldEffectGenerators\FieldStealthEffectGenerator.cs" />
718+
<Compile Include="Zones\FieldEffectGenerators\FieldStealthEffectGeneratorDeployer.cs" />
715719
<Compile Include="Zones\Locking\Locks\TerraformDirection.cs" />
716720
<Compile Include="Zones\Locking\Locks\TerrainLockParametersPacketBuilder.cs" />
717721
<Compile Include="Zones\Locking\UnitProperties\LockingTimeProperty.cs" />

src/Perpetuum/Units/Unit.cs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1121,7 +1121,8 @@ private void InitUnitProperties()
11211121
this,
11221122
AggregateField.reactor_radiation,
11231123
AggregateField.reactor_radiation_modifier,
1124-
AggregateField.drone_amplification_reactor_radiation_modifier);
1124+
AggregateField.drone_amplification_reactor_radiation_modifier,
1125+
AggregateField.effect_field_reactor_radiation_modifier);
11251126
AddProperty(_reactorRadiation);
11261127
}
11271128

@@ -1171,7 +1172,12 @@ protected override double CalculateValue()
11711172
private class SensorStrengthProperty : UnitProperty
11721173
{
11731174
public SensorStrengthProperty(Unit owner)
1174-
: base(owner, AggregateField.sensor_strength, AggregateField.sensor_strength_modifier, AggregateField.effect_sensor_strength_modifier)
1175+
: base(
1176+
owner,
1177+
AggregateField.sensor_strength,
1178+
AggregateField.sensor_strength_modifier,
1179+
AggregateField.effect_sensor_strength_modifier,
1180+
AggregateField.effect_field_sensor_strength_modifier)
11751181
{
11761182
}
11771183

0 commit comments

Comments
 (0)