Skip to content

Commit

Permalink
Starfield LVSC
Browse files Browse the repository at this point in the history
  • Loading branch information
Noggog committed Feb 2, 2024
1 parent 30251d6 commit 37eda0d
Show file tree
Hide file tree
Showing 16 changed files with 2,654 additions and 26 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,9 @@ A `FormLink<IItem>` could then point to all those record types by pointing to th
### IResourceTarget
- ConstructibleObject
- LeveledItem
### ISpaceCellSpawn
- Cell
- LeveledSpaceCell
### ISpellRecord
- Spell
### IStaticTarget
Expand Down Expand Up @@ -177,6 +180,7 @@ A `FormLink<IItem>` could then point to all those record types by pointing to th
### Cell
- ICellOrObject
- IComplexLocation
- ISpaceCellSpawn
### ConstructibleObject
- IResourceTarget
### Container
Expand Down Expand Up @@ -227,6 +231,8 @@ A `FormLink<IItem>` could then point to all those record types by pointing to th
- INpcTemplateTarget
### LeveledPackIn
- ILeveledPackInTarget
### LeveledSpaceCell
- ISpaceCellSpawn
### Light
- IEmittance
### LocationReferenceType
Expand Down
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: [Cell, LeveledSpaceCell]
/// </summary>
public partial interface ISpaceCellSpawn :
ISpaceCellSpawnGetter,
IStarfieldMajorRecordInternal
{
}

/// <summary>
/// Implemented by: [Cell, LeveledSpaceCell]
/// </summary>
public partial interface ISpaceCellSpawnGetter : IStarfieldMajorRecordGetter
{
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -158,6 +158,17 @@ public StarfieldLinkInterfaceMapping()
Setter: typeof(ICellOrObject),
Getter: typeof(ICellOrObjectGetter)));
dict[typeof(ICellOrObjectGetter)] = dict[typeof(ICellOrObject)] with { Setter = false };
dict[typeof(ISpaceCellSpawn)] = new InterfaceMappingResult(
true,
new ILoquiRegistration[]
{
Cell_Registration.Instance,
LeveledSpaceCell_Registration.Instance,
},
new InterfaceMappingTypes(
Setter: typeof(ISpaceCellSpawn),
Getter: typeof(ISpaceCellSpawnGetter)));
dict[typeof(ISpaceCellSpawnGetter)] = dict[typeof(ISpaceCellSpawn)] with { Setter = false };
dict[typeof(IResourceTarget)] = new InterfaceMappingResult(
true,
new ILoquiRegistration[]
Expand Down
4 changes: 4 additions & 0 deletions Mutagen.Bethesda.Starfield/Mutagen.Bethesda.Starfield.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -6512,5 +6512,9 @@
<Compile Include="Records\Major Records\ResourceGenerationDataItem_Generated.cs">
<DependentUpon>ResourceGenerationData.xml</DependentUpon>
</Compile>
<Compile Include="Records\Major Records\LeveledSpaceCellEntry_Generated.cs">
<DependentUpon>LeveledSpaceCell.xml</DependentUpon>
</Compile>
<Compile Include="Interfaces\Link\ISpaceCellSpawn_Generated.cs" />
</ItemGroup>
</Project>
1 change: 1 addition & 0 deletions Mutagen.Bethesda.Starfield/Records/Major Records/Cell.xml
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,7 @@
</Fields>
<LinkInterface>IComplexLocation</LinkInterface>
<LinkInterface>ICellOrObject</LinkInterface>
<LinkInterface>ISpaceCellSpawn</LinkInterface>
</Object>
<Object name="CellGrid" objType="Subrecord" recordType="XCLC">
<Fields>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1333,6 +1333,13 @@ public void Remove(
subItem.Remove(keys, type, throwIfUnknown: false);
}
break;
case "ISpaceCellSpawn":
case "ISpaceCellSpawnGetter":
foreach (var subItem in obj.SubBlocks)
{
subItem.Remove(keys, type, throwIfUnknown: false);
}
break;
case "IOwner":
case "IOwnerGetter":
foreach (var subItem in obj.SubBlocks)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2607,6 +2607,7 @@ public partial interface ICell :
IMajorRecordEnumerable,
INamed,
INamedRequired,
ISpaceCellSpawn,
IStarfieldMajorRecordInternal,
ITranslatedNamed,
ITranslatedNamedRequired
Expand Down Expand Up @@ -2680,6 +2681,7 @@ public partial interface ICellGetter :
IMapsToGetter<ICellGetter>,
INamedGetter,
INamedRequiredGetter,
ISpaceCellSpawnGetter,
ITranslatedNamedGetter,
ITranslatedNamedRequiredGetter
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,29 @@
<Loqui xmlns="http://tempuri.org/LoquiSource.xsd">
<Object name="LeveledSpaceCell" recordType="LVSC" objType="Record" baseClass="StarfieldMajorRecord">
<Fields>
<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" />
<FormLink name="UseGlobal" refName="Global" recordType="LVLG" />
<RefList name="Entries" counterRecType="LLCT" refName="LeveledNpcEntry" counterLength="1" />
</Fields>
<LinkInterface>ISpaceCellSpawn</LinkInterface>
</Object>
<Object name="LeveledSpaceCellEntry" objType="Subrecord" >
<Fields>
<Data recordType="LVLO">
<Fields>
<Int16 name="Level" />
<Int16 name="Unused" />
<FormLink name="Reference">
<Interface>ISpaceCellSpawn</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 37eda0d

Please sign in to comment.