Skip to content

Commit

Permalink
Starfield AMMO
Browse files Browse the repository at this point in the history
  • Loading branch information
Noggog committed Jan 1, 2024
1 parent 5d04922 commit 7ffe5ab
Show file tree
Hide file tree
Showing 10 changed files with 2,503 additions and 106 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ Functions can then be written that take in `INamed`, allowing any record that ha
- Keyword
### IKeyworded
- Activator
- Ammunition
- Armor
- Book
- Container
Expand All @@ -57,6 +58,7 @@ Functions can then be written that take in `INamed`, allowing any record that ha
- Weather
### IModeled
- Activator
- Ammunition
- AnimatedObject
- AObjectModification
- ArmorModification
Expand Down Expand Up @@ -84,6 +86,7 @@ Functions can then be written that take in `INamed`, allowing any record that ha
- Activator
- Activity
- ActorValueModulation
- Ammunition
- AnimationSceneAction
- AObjectModification
- APackageData
Expand Down Expand Up @@ -174,6 +177,7 @@ Functions can then be written that take in `INamed`, allowing any record that ha
### IObjectBounded
- AcousticSpace
- Activator
- Ammunition
- Armor
- AudioOcclusionPrimitive
- BendableSpline
Expand Down Expand Up @@ -234,6 +238,7 @@ Functions can then be written that take in `INamed`, allowing any record that ha
- PlacedTrap
- Weapon
### IWeightValue
- Ammunition
- Book
- Ingestible
## Concrete Classes to Interfaces
Expand All @@ -250,6 +255,12 @@ Functions can then be written that take in `INamed`, allowing any record that ha
- INamed
### ActorValueModulation
- INamed
### Ammunition
- IKeyworded
- IModeled
- INamed
- IObjectBounded
- IWeightValue
### AnimatedObject
- IModeled
### AnimationSceneAction
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@ public StarfieldAspectInterfaceMapping()
dict[typeof(IKeyworded<IKeywordGetter>)] = new InterfaceMappingResult(true, new ILoquiRegistration[]
{
Activator_Registration.Instance,
Ammunition_Registration.Instance,
Armor_Registration.Instance,
Book_Registration.Instance,
Container_Registration.Instance,
Expand All @@ -83,6 +84,7 @@ public StarfieldAspectInterfaceMapping()
dict[typeof(IModeled)] = new InterfaceMappingResult(true, new ILoquiRegistration[]
{
Activator_Registration.Instance,
Ammunition_Registration.Instance,
AnimatedObject_Registration.Instance,
AObjectModification_Registration.Instance,
ArmorModification_Registration.Instance,
Expand Down Expand Up @@ -112,6 +114,7 @@ public StarfieldAspectInterfaceMapping()
{
Activator_Registration.Instance,
Activity_Registration.Instance,
Ammunition_Registration.Instance,
AObjectModification_Registration.Instance,
APackageData_Registration.Instance,
Armor_Registration.Instance,
Expand Down Expand Up @@ -172,6 +175,7 @@ public StarfieldAspectInterfaceMapping()
Activator_Registration.Instance,
Activity_Registration.Instance,
ActorValueModulation_Registration.Instance,
Ammunition_Registration.Instance,
AnimationSceneAction_Registration.Instance,
AObjectModification_Registration.Instance,
APackageData_Registration.Instance,
Expand Down Expand Up @@ -265,6 +269,7 @@ public StarfieldAspectInterfaceMapping()
{
Activator_Registration.Instance,
Activity_Registration.Instance,
Ammunition_Registration.Instance,
AObjectModification_Registration.Instance,
Armor_Registration.Instance,
ArmorModification_Registration.Instance,
Expand Down Expand Up @@ -311,6 +316,7 @@ public StarfieldAspectInterfaceMapping()
{
Activator_Registration.Instance,
Activity_Registration.Instance,
Ammunition_Registration.Instance,
AObjectModification_Registration.Instance,
Armor_Registration.Instance,
ArmorModification_Registration.Instance,
Expand Down Expand Up @@ -358,6 +364,7 @@ public StarfieldAspectInterfaceMapping()
{
AcousticSpace_Registration.Instance,
Activator_Registration.Instance,
Ammunition_Registration.Instance,
Armor_Registration.Instance,
AudioOcclusionPrimitive_Registration.Instance,
Book_Registration.Instance,
Expand Down Expand Up @@ -431,6 +438,7 @@ public StarfieldAspectInterfaceMapping()
dict[typeof(IScriptedGetter)] = dict[typeof(IScripted)] with { Setter = false };
dict[typeof(IWeightValue)] = new InterfaceMappingResult(true, new ILoquiRegistration[]
{
Ammunition_Registration.Instance,
Book_Registration.Instance,
Ingestible_Registration.Instance,
});
Expand Down
7 changes: 6 additions & 1 deletion Mutagen.Bethesda.Starfield/Mutagen.Bethesda.Starfield.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -2036,6 +2036,9 @@
<Compile Include="Records\Major Records\AMagicEffectArchetype.cs">
<DependentUpon>MagicEffect.xml</DependentUpon>
</Compile>
<Compile Include="Records\Major Records\Ammunition.cs">
<DependentUpon>Ammunition.xml</DependentUpon>
</Compile>
<Compile Include="Records\Major Records\APackageData.cs">
<DependentUpon>Package.xml</DependentUpon>
</Compile>
Expand Down Expand Up @@ -2147,7 +2150,9 @@
<Compile Include="Records\Major Records\Ingestible.cs">
<DependentUpon>Ingestible.xml</DependentUpon>
</Compile>
<Compile Include="Records\Major Records\InstanceNamingRule.cs" />
<Compile Include="Records\Major Records\InstanceNamingRule.cs">
<DependentUpon>InstanceNamingRules.xml</DependentUpon>
</Compile>
<Compile Include="Records\Major Records\InstanceNamingRules.cs">
<DependentUpon>InstanceNamingRules.xml</DependentUpon>
</Compile>
Expand Down
18 changes: 18 additions & 0 deletions Mutagen.Bethesda.Starfield/Records/Major Records/Ammunition.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
namespace Mutagen.Bethesda.Starfield;

public partial class Ammunition
{
[Flags]
public enum MajorFlag
{
NonPlayable = 0x0000_0004,
}

[Flags]
public enum Flag
{
IgnoresNormalWeaponResistance = 0x01,
NonPlayable = 0x02,
HasCountBased3d = 0x04
}
}
30 changes: 29 additions & 1 deletion Mutagen.Bethesda.Starfield/Records/Major Records/Ammunition.xml
Original file line number Diff line number Diff line change
@@ -1,7 +1,35 @@
<?xml version="1.0" encoding="us-ascii"?>
<Loqui xmlns="http://tempuri.org/LoquiSource.xsd">
<Object name="Ammunition" recordType="AMMO" objType="Record" baseClass="StarfieldMajorRecord">
<Object name="Ammunition" recordType="AMMO" objType="Record" baseClass="StarfieldMajorRecord" majorFlag="true">
<Fields>
<RefDirect name="ObjectBounds" refName="ObjectBounds" nullable="False" />
<Float name="ODTY" recordType="ODTY" unknown="true" />
<RefDirect name="Transforms" refName="Transforms" />
<String name="Name" recordType="FULL" translated="Normal" />
<RefDirect name="Model" refName="Model" />
<RefDirect name="PickupSound" refName="SoundReference" recordType="PUSH" />
<RefDirect name="DropdownSound" refName="SoundReference" recordType="PDSH" />
<String name="Description" recordType="DESC" nullable="False" translated="DL" />
<List name="Keywords" counterRecType="KSIZ" recordType="KWDA">
<FormLink refName="Keyword" />
</List>
<Data>
<Fields>
<UInt32 name="Value" />
<Float name="Weight" />
</Fields>
</Data>
<Data recordType="DNAM">
<Fields>
<FormLink name="Projectile" refName="Projectile" />
<Enum name="Flags" enumName="Ammunition.Flag" byteLength="4" />
<Float name="Damage" />
<UInt32 name="Health" />
</Fields>
</Data>
<String name="ShortName" recordType="ONAM" translated="Normal" />
<String name="CasingModel" recordType="NAM1" />
<RefDirect name="NAM2" refName="Model" />
</Fields>
<LinkInterface>IStaticTarget</LinkInterface>
<LinkInterface>IItem</LinkInterface>
Expand Down
Loading

0 comments on commit 7ffe5ab

Please sign in to comment.