Skip to content

Commit

Permalink
Starfield LVLN
Browse files Browse the repository at this point in the history
  • Loading branch information
Noggog committed Jan 4, 2024
1 parent a8545c3 commit 3d5b96a
Show file tree
Hide file tree
Showing 17 changed files with 4,248 additions and 89 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ Functions can then be written that take in `INamed`, allowing any record that ha
- Furniture
- GenericBaseForm
- LeveledItem
- LeveledNpc
- MagicEffect
- MiscItem
- NavigationMesh
Expand Down Expand Up @@ -75,6 +76,7 @@ Functions can then be written that take in `INamed`, allowing any record that ha
- Ingestible
- LegendaryItem
- LeveledItem
- LeveledNpc
- MiscItem
- ModelComponent
- NpcModification
Expand Down Expand Up @@ -193,6 +195,7 @@ Functions can then be written that take in `INamed`, allowing any record that ha
- Ingestible
- LegendaryItem
- LeveledItem
- LeveledNpc
- MiscItem
- Npc
- ObjectEffect
Expand Down Expand Up @@ -229,6 +232,7 @@ Functions can then be written that take in `INamed`, allowing any record that ha
- Furniture
- GenericBaseForm
- LeveledItem
- LeveledNpc
- MagicEffect
- MiscItem
- NavigationMesh
Expand Down Expand Up @@ -393,6 +397,11 @@ Functions can then be written that take in `INamed`, allowing any record that ha
- IModeled
- IObjectBounded
- IScripted
### LeveledNpc
- IHaveVirtualMachineAdapter
- IModeled
- IObjectBounded
- IScripted
### Location
- IKeyworded
- INamed
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,9 @@ A `FormLink<IItem>` could then point to all those record types by pointing to th
- PlacedObject
### ILocationRecord
- LocationReferenceType
### INpcSpawn
- LeveledNpc
- Npc
### INpcTemplateTarget
- BiomeMarker
- LeveledNpc
Expand Down Expand Up @@ -201,6 +204,7 @@ A `FormLink<IItem>` could then point to all those record types by pointing to th
- IOutfitTarget
- IResourceTarget
### LeveledNpc
- INpcSpawn
- INpcTemplateTarget
### Light
- IEmittance
Expand All @@ -216,6 +220,7 @@ A `FormLink<IItem>` could then point to all those record types by pointing to th
- IStaticTarget
### Npc
- IConstructible
- INpcSpawn
- INpcTemplateTarget
- IOwner
### PackIn
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ public StarfieldAspectInterfaceMapping()
Furniture_Registration.Instance,
GenericBaseForm_Registration.Instance,
LeveledItem_Registration.Instance,
LeveledNpc_Registration.Instance,
MagicEffect_Registration.Instance,
MiscItem_Registration.Instance,
NavigationMesh_Registration.Instance,
Expand Down Expand Up @@ -101,6 +102,7 @@ public StarfieldAspectInterfaceMapping()
Ingestible_Registration.Instance,
LegendaryItem_Registration.Instance,
LeveledItem_Registration.Instance,
LeveledNpc_Registration.Instance,
MiscItem_Registration.Instance,
ModelComponent_Registration.Instance,
NpcModification_Registration.Instance,
Expand Down Expand Up @@ -381,6 +383,7 @@ public StarfieldAspectInterfaceMapping()
GenericBaseForm_Registration.Instance,
Ingestible_Registration.Instance,
LeveledItem_Registration.Instance,
LeveledNpc_Registration.Instance,
MiscItem_Registration.Instance,
Npc_Registration.Instance,
ObjectEffect_Registration.Instance,
Expand Down Expand Up @@ -429,6 +432,7 @@ public StarfieldAspectInterfaceMapping()
Furniture_Registration.Instance,
GenericBaseForm_Registration.Instance,
LeveledItem_Registration.Instance,
LeveledNpc_Registration.Instance,
MagicEffect_Registration.Instance,
MiscItem_Registration.Instance,
NavigationMesh_Registration.Instance,
Expand Down
25 changes: 25 additions & 0 deletions Mutagen.Bethesda.Starfield/Interfaces/Link/INpcSpawn_Generated.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
/*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Autogenerated by Loqui. Do not manually change.
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*/
using Mutagen.Bethesda;

namespace Mutagen.Bethesda.Starfield
{
/// <summary>
/// Implemented by: [LeveledNpc, Npc]
/// </summary>
public partial interface INpcSpawn :
INpcSpawnGetter,
IStarfieldMajorRecordInternal
{
}

/// <summary>
/// Implemented by: [LeveledNpc, Npc]
/// </summary>
public partial interface INpcSpawnGetter : IStarfieldMajorRecordGetter
{
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -157,6 +157,12 @@ public StarfieldLinkInterfaceMapping()
APlacedTrap_Registration.Instance,
});
dict[typeof(IKeywordLinkedReferenceGetter)] = dict[typeof(IKeywordLinkedReference)] with { Setter = false };
dict[typeof(INpcSpawn)] = new InterfaceMappingResult(true, new ILoquiRegistration[]
{
LeveledNpc_Registration.Instance,
Npc_Registration.Instance,
});
dict[typeof(INpcSpawnGetter)] = dict[typeof(INpcSpawn)] with { Setter = false };
dict[typeof(IEmittance)] = new InterfaceMappingResult(true, new ILoquiRegistration[]
{
Light_Registration.Instance,
Expand Down
7 changes: 7 additions & 0 deletions Mutagen.Bethesda.Starfield/Mutagen.Bethesda.Starfield.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -2169,6 +2169,9 @@
<Compile Include="Records\Major Records\LeveledItem.cs">
<DependentUpon>LeveledItem.xml</DependentUpon>
</Compile>
<Compile Include="Records\Major Records\LeveledNpc.cs">
<DependentUpon>LeveledNpc.xml</DependentUpon>
</Compile>
<Compile Include="Records\Major Records\LoadScreen.cs">
<DependentUpon>LoadScreen.xml</DependentUpon>
</Compile>
Expand Down Expand Up @@ -6241,5 +6244,9 @@
<Compile Include="Records\Major Records\FurnitureMarkerParameters_Generated.cs">
<DependentUpon>Furniture.xml</DependentUpon>
</Compile>
<Compile Include="Records\Major Records\LeveledNpcEntry_Generated.cs">
<DependentUpon>LeveledNpc.xml</DependentUpon>
</Compile>
<Compile Include="Interfaces\Link\INpcSpawn_Generated.cs" />
</ItemGroup>
</Project>
12 changes: 12 additions & 0 deletions Mutagen.Bethesda.Starfield/Records/Major Records/LeveledNpc.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
namespace Mutagen.Bethesda.Starfield;

partial class LeveledNpc
{
[Flags]
public enum Flag
{
CalculateFromAllLevelsLessThanOrEqualPlayer = 0x01,
CalculateForEachItemInCount = 0x02,
CalculateAll = 0x04
}
}
33 changes: 33 additions & 0 deletions Mutagen.Bethesda.Starfield/Records/Major Records/LeveledNpc.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,40 @@
<Loqui xmlns="http://tempuri.org/LoquiSource.xsd">
<Object name="LeveledNpc" recordType="LVLN" objType="Record" baseClass="StarfieldMajorRecord">
<Fields>
<RefDirect name="VirtualMachineAdapter" refName="VirtualMachineAdapter" overflowRecordType="XXXX" />
<RefDirect name="ObjectBounds" refName="ObjectBounds" nullable="False" />
<Float name="ODTY" recordType="ODTY" unknown="true" />
<RefDirect name="ObjectPlacementDefaults" refName="ObjectPlacementDefaults" />
<RefList name="Components" refName="AComponent" />
<ByteArray name="XALG" recordType="XALG" unknown="true" />
<Float name="ChanceNone" recordType="LVLD" nullable="False" />
<UInt8 name="MaxCount" recordType="LVLM" nullable="False" />
<Enum name="Flags" recordType="LVLF" nullable="False" enumName="LeveledNpc.Flag" byteLength="2" />
<RefList name="Conditions" refName="Condition" />
<FormLink name="UseGlobal" refName="Global" recordType="LVLG" />
<RefList name="Entries" counterRecType="LLCT" refName="LeveledNpcEntry" counterLength="1" />
<RefList name="FilterKeywordChances" refName="FilterKeywordChance" recordType="LLKC" />
<String name="OverrideName" translated="Normal" recordType="ONAM" />
<RefDirect name="Model" refName="Model" />
</Fields>
<LinkInterface>INpcSpawn</LinkInterface>
<LinkInterface>INpcTemplateTarget</LinkInterface>
</Object>
<Object name="LeveledNpcEntry" objType="Subrecord" >
<Fields>
<Data recordType="LVLO">
<Fields>
<Int16 name="Level" />
<Int16 name="Unused" />
<FormLink name="Reference">
<Interface>INpcSpawn</Interface>
</FormLink>
<Int16 name="Count" />
<Percent name="ChanceNone" integerType="Byte" />
<Int8 name="Unused2" />
</Fields>
</Data>
<RefList name="Conditions" refName="Condition" />
</Fields>
</Object>
</Loqui>
Loading

0 comments on commit 3d5b96a

Please sign in to comment.