mirror of
https://github.com/vegapnk/RJW-Genes.git
synced 2024-08-15 00:23:31 +00:00
Draft for Thoughts and Penalties of Missing or Multiple Queens
This commit is contained in:
parent
8d541c78c9
commit
b5121b0a04
15 changed files with 405 additions and 18 deletions
|
@ -8,7 +8,7 @@
|
|||
<stunTargetWhileCasting>true</stunTargetWhileCasting>
|
||||
<displayGizmoWhileUndrafted>true</displayGizmoWhileUndrafted>
|
||||
<disableGizmoWhileUndrafted>false</disableGizmoWhileUndrafted>
|
||||
<statBases>
|
||||
<statBases>
|
||||
<Ability_Duration>5</Ability_Duration>
|
||||
</statBases>
|
||||
<warmupMote>Mote_CoagulateStencil</warmupMote>
|
||||
|
|
|
@ -14,7 +14,9 @@
|
|||
<MeditationFocusGain>0.25</MeditationFocusGain>
|
||||
</statOffsets>
|
||||
|
||||
<li Class="ConditionalStatAffecter_MultipleQueens">
|
||||
|
||||
<conditionalStatAffecters>
|
||||
<li Class="RJW_Genes.ConditionalStatAffecter_MultipleQueens">
|
||||
<statFactors>
|
||||
<MoveSpeed>0.7</MoveSpeed>
|
||||
</statFactors>
|
||||
|
@ -22,13 +24,13 @@
|
|||
<WorkSpeedGlobal>-0.5</WorkSpeedGlobal>
|
||||
</statOffsets>
|
||||
</li>
|
||||
|
||||
<li Class="ConditionalStatAffecter_QueenCloseBy">
|
||||
<li Class="RJW_Genes.ConditionalStatAffecter_QueenCloseBy">
|
||||
<statFactors>
|
||||
<MoveSpeed>0.4</MoveSpeed>
|
||||
<WorkSpeedGlobal>0.2</WorkSpeedGlobal>
|
||||
</statFactors>
|
||||
</li>
|
||||
</conditionalStatAffecters>
|
||||
|
||||
<exclusionTags>
|
||||
<li>rjw_genes_hive_caste</li>
|
||||
|
@ -52,7 +54,7 @@
|
|||
</exclusionTags>
|
||||
|
||||
<conditionalStatAffecters>
|
||||
<li Class="ConditionalStatAffecter_QueenAbsent">
|
||||
<li Class="RJW_Genes.ConditionalStatAffecter_QueenAbsent">
|
||||
<statFactors>
|
||||
<MoveSpeed>0.9</MoveSpeed>
|
||||
</statFactors>
|
||||
|
@ -81,7 +83,7 @@
|
|||
</exclusionTags>
|
||||
|
||||
<conditionalStatAffecters>
|
||||
<li Class="ConditionalStatAffecter_QueenAbsent">
|
||||
<li Class="RJW_Genes.ConditionalStatAffecter_QueenAbsent">
|
||||
<statFactors>
|
||||
<MoveSpeed>0.7</MoveSpeed>
|
||||
</statFactors>
|
||||
|
@ -89,7 +91,7 @@
|
|||
<WorkSpeedGlobal>-0.5</WorkSpeedGlobal>
|
||||
</statOffsets>
|
||||
</li>
|
||||
<li Class="ConditionalStatAffecter_MultipleQueens">
|
||||
<li Class="RJW_Genes.ConditionalStatAffecter_MultipleQueens">
|
||||
<statFactors>
|
||||
<MoveSpeed>0.7</MoveSpeed>
|
||||
</statFactors>
|
||||
|
@ -97,7 +99,7 @@
|
|||
<WorkSpeedGlobal>-0.5</WorkSpeedGlobal>
|
||||
</statOffsets>
|
||||
</li>
|
||||
<li Class="ConditionalStatAffecter_QueenCloseBy">
|
||||
<li Class="RJW_Genes.ConditionalStatAffecter_QueenCloseBy">
|
||||
<statFactors>
|
||||
<MoveSpeed>1.2</MoveSpeed>
|
||||
<WorkSpeedGlobal>1.2</WorkSpeedGlobal>
|
||||
|
|
89
Common/Defs/ThoughtDefs/Thoughts_Hive.xml
Normal file
89
Common/Defs/ThoughtDefs/Thoughts_Hive.xml
Normal file
|
@ -0,0 +1,89 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
|
||||
<Defs>
|
||||
|
||||
<ThoughtDef>
|
||||
<!-- For Challenged Queens -->
|
||||
<defName>rjw_genes_rival_queen_mood</defName>
|
||||
<workerClass>RJW_Genes.Thoughtworker_RivalQueen_Mood</workerClass>
|
||||
<validWhileDespawned>false</validWhileDespawned>
|
||||
<stages>
|
||||
<li>
|
||||
<label>Rivaled</label>
|
||||
<description>There is another queen nearby!</description>
|
||||
<baseMoodEffect>-70</baseMoodEffect>
|
||||
</li>
|
||||
</stages>
|
||||
</ThoughtDef>
|
||||
|
||||
<ThoughtDef>
|
||||
<!-- For Challenged Queens -->
|
||||
<defName>rjw_genes_rival_queen_social</defName>
|
||||
<thoughtClass>Thought_SituationalSocial</thoughtClass>
|
||||
<workerClass>RJW_Genes.Thoughtworker_RivalQueen_Social</workerClass>
|
||||
<stages>
|
||||
<li>
|
||||
<label>rivals me</label>
|
||||
<description>{0} threatens my dominion. {0} must be perished.</description>
|
||||
<baseOpinionOffset>-130</baseOpinionOffset>
|
||||
</li>
|
||||
</stages>
|
||||
</ThoughtDef>
|
||||
|
||||
<ThoughtDef>
|
||||
<!-- For Loyal Pawns -->
|
||||
<defName>rjw_genes_multiple_queens_mood</defName>
|
||||
<workerClass>RJW_Genes.Thoughtworker_MultipleQueens_Mood</workerClass>
|
||||
<validWhileDespawned>false</validWhileDespawned>
|
||||
<stages>
|
||||
<li>
|
||||
<label>Confused Servitude</label>
|
||||
<description>I have too many queens around me!</description>
|
||||
<baseMoodEffect>-30</baseMoodEffect>
|
||||
</li>
|
||||
</stages>
|
||||
</ThoughtDef>
|
||||
|
||||
<ThoughtDef>
|
||||
<!-- For Loyal Pawns -->
|
||||
<defName>rjw_genes_queen_loyalty_social</defName>
|
||||
<thoughtClass>Thought_SituationalSocial</thoughtClass>
|
||||
<workerClass>RJW_Genes.Thoughtworker_QueenPresent_Social</workerClass>
|
||||
<stages>
|
||||
<li>
|
||||
<label>Worship</label>
|
||||
<description>{0} is my queen. My one and only reason to live.</description>
|
||||
<baseOpinionOffset>+80</baseOpinionOffset>
|
||||
</li>
|
||||
</stages>
|
||||
</ThoughtDef>
|
||||
|
||||
<ThoughtDef>
|
||||
<!-- For Loyal Pawns -->
|
||||
<defName>rjw_genes_no_queen_mood</defName>
|
||||
<workerClass>RJW_Genes.Thoughtworker_QueenAbsent_Mood</workerClass>
|
||||
<validWhileDespawned>false</validWhileDespawned>
|
||||
<stages>
|
||||
<li>
|
||||
<label>Missing Queen</label>
|
||||
<description>We do not have a queen! How are we suppossed to face the cruelties of the world without a shepherd?</description>
|
||||
<baseMoodEffect>-20</baseMoodEffect>
|
||||
</li>
|
||||
</stages>
|
||||
</ThoughtDef>
|
||||
|
||||
<ThoughtDef>
|
||||
<!-- For Loyal Pawns -->
|
||||
<defName>rjw_genes_queen_present_mood</defName>
|
||||
<workerClass>RJW_Genes.Thoughtworker_QueenPresent_Mood</workerClass>
|
||||
<validWhileDespawned>false</validWhileDespawned>
|
||||
<stages>
|
||||
<li>
|
||||
<label>Queen Present</label>
|
||||
<description>Our queen is so wonderful.</description>
|
||||
<baseMoodEffect>+10</baseMoodEffect>
|
||||
</li>
|
||||
</stages>
|
||||
</ThoughtDef>
|
||||
|
||||
</Defs>
|
|
@ -92,6 +92,15 @@ namespace RJW_Genes
|
|||
public static readonly GeneDef rjw_genes_succubus_tail;
|
||||
public static readonly GeneDef rjw_genes_succubus_wings;
|
||||
|
||||
// Hive
|
||||
public static readonly GeneDef rjw_genes_queen;
|
||||
public static readonly GeneDef rjw_genes_drone;
|
||||
public static readonly GeneDef rjw_genes_worker;
|
||||
public static readonly GeneDef rjw_genes_zealous_loyalty;
|
||||
public static readonly GeneDef rjw_genes_cocoonweaver;
|
||||
public static readonly GeneDef rjw_genes_spawn_spelopede;
|
||||
|
||||
|
||||
//Other Defs
|
||||
public static readonly XenotypeDef rjw_genes_succubus;
|
||||
public static readonly DutyDef rjw_genes_flirt;
|
||||
|
|
|
@ -19,8 +19,15 @@ namespace RJW_Genes
|
|||
|
||||
public override bool Applies(StatRequest req)
|
||||
{
|
||||
// => ModsConfig.BiotechActive && req.HasThing && req.Thing.Spawned && req.Thing.Position.InSunlight(req.Thing.Map);
|
||||
throw new NotImplementedException();
|
||||
if (req.Pawn == null || !req.Pawn.Spawned)
|
||||
return false;
|
||||
|
||||
if (GeneUtility.HasGeneNullCheck(req.Pawn, GeneDefOf.rjw_genes_zealous_loyalty))
|
||||
{
|
||||
return HiveUtility.QueensOnMap() >= 2;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -19,8 +19,15 @@ namespace RJW_Genes
|
|||
|
||||
public override bool Applies(StatRequest req)
|
||||
{
|
||||
//ModsConfig.BiotechActive && req.HasThing && req.Thing.Spawned && req.Thing.Position.InSunlight(req.Thing.Map);
|
||||
throw new NotImplementedException();
|
||||
if (req.Pawn == null || !req.Pawn.Spawned)
|
||||
return false;
|
||||
|
||||
if (GeneUtility.HasGeneNullCheck(req.Pawn, GeneDefOf.rjw_genes_zealous_loyalty))
|
||||
{
|
||||
return HiveUtility.QueensOnMap() == 0;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -17,12 +17,36 @@ namespace RJW_Genes
|
|||
/// </summary>
|
||||
public class ConditionalStatAffecter_QueenCloseBy : ConditionalStatAffecter
|
||||
{
|
||||
|
||||
const float EFFECT_DISTANCE = 10.0f;
|
||||
|
||||
public override string Label => (string)"StatsReport_QueenCloseBy".Translate();
|
||||
|
||||
public override bool Applies(StatRequest req)
|
||||
{
|
||||
// => ModsConfig.BiotechActive && req.HasThing && req.Thing.Spawned && req.Thing.Position.InSunlight(req.Thing.Map);
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
if (req.Pawn == null || !req.Pawn.Spawned)
|
||||
return false;
|
||||
|
||||
// Case A: Check for Loyal Pawns if their One Queen is nearby
|
||||
if (GeneUtility.HasGeneNullCheck(req.Pawn, GeneDefOf.rjw_genes_zealous_loyalty) && HiveUtility.QueensOnMap() == 1)
|
||||
{
|
||||
Pawn queen = HiveUtility.GetQueensOnMap()[0];
|
||||
|
||||
return req.Pawn.Position.DistanceTo(queen.Position) <= EFFECT_DISTANCE;
|
||||
}
|
||||
|
||||
// Case A: Check for Queen if another Queen is nearby
|
||||
if (GeneUtility.HasGeneNullCheck(req.Pawn, GeneDefOf.rjw_genes_zealous_loyalty) && HiveUtility.QueensOnMap() >= 2)
|
||||
{
|
||||
foreach (Pawn queen in HiveUtility.GetQueensOnMap())
|
||||
{
|
||||
if (queen != req.Pawn && req.Pawn.Position.DistanceTo(queen.Position) <= EFFECT_DISTANCE)
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
39
Source/Genes/Hive/Helpers/HiveUtility.cs
Normal file
39
Source/Genes/Hive/Helpers/HiveUtility.cs
Normal file
|
@ -0,0 +1,39 @@
|
|||
using RimWorld;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Verse;
|
||||
|
||||
namespace RJW_Genes
|
||||
{
|
||||
internal class HiveUtility
|
||||
{
|
||||
public static bool IsAdultQueen(Pawn pawn)
|
||||
{
|
||||
|
||||
if (pawn == null || !pawn.Spawned)
|
||||
return false;
|
||||
|
||||
if (GeneUtility.HasGeneNullCheck(pawn, GeneDefOf.rjw_genes_queen))
|
||||
{
|
||||
return pawn.ageTracker.Adult;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public static int QueensOnMap()
|
||||
{
|
||||
List<Pawn> playersPawns = Find.CurrentMap.mapPawns.SpawnedPawnsInFaction(Faction.OfPlayer);
|
||||
return playersPawns.Count(pawn => pawn.Spawned && IsAdultQueen(pawn));
|
||||
}
|
||||
|
||||
public static List<Pawn> GetQueensOnMap()
|
||||
{
|
||||
List<Pawn> playersPawns = Find.CurrentMap.mapPawns.SpawnedPawnsInFaction(Faction.OfPlayer);
|
||||
return playersPawns.FindAll(pawn => pawn.Spawned && IsAdultQueen(pawn));
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,38 @@
|
|||
using RimWorld;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Verse;
|
||||
|
||||
namespace RJW_Genes
|
||||
{
|
||||
public class ThoughtWorker_QueenPresent_Social : ThoughtWorker
|
||||
{
|
||||
protected override ThoughtState CurrentSocialStateInternal(Pawn p, Pawn other)
|
||||
{
|
||||
if (!p.RaceProps.Humanlike)
|
||||
return (ThoughtState) false;
|
||||
|
||||
if (!other.RaceProps.Humanlike)
|
||||
return (ThoughtState) false;
|
||||
|
||||
if (!RelationsUtility.PawnsKnowEachOther(p, other))
|
||||
return (ThoughtState) false;
|
||||
|
||||
// Only check if they are spawned
|
||||
if (!p.Spawned || !other.Spawned)
|
||||
{
|
||||
return (ThoughtState)false;
|
||||
}
|
||||
|
||||
if (GeneUtility.HasGeneNullCheck(p, GeneDefOf.rjw_genes_zealous_loyalty) && HiveUtility.QueensOnMap() == 1)
|
||||
{
|
||||
return (ThoughtState) HiveUtility.IsAdultQueen(other);
|
||||
}
|
||||
|
||||
return (ThoughtState)false;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,36 @@
|
|||
using RimWorld;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Verse;
|
||||
|
||||
namespace RJW_Genes
|
||||
{
|
||||
public class ThoughtWorker_RivalQueen_Social : ThoughtWorker
|
||||
{
|
||||
protected override ThoughtState CurrentSocialStateInternal(Pawn p, Pawn other)
|
||||
{
|
||||
if (!p.RaceProps.Humanlike)
|
||||
return (ThoughtState)false;
|
||||
if (!other.RaceProps.Humanlike)
|
||||
return (ThoughtState)false;
|
||||
|
||||
if (!RelationsUtility.PawnsKnowEachOther(p, other))
|
||||
return (ThoughtState)false;
|
||||
|
||||
// Only check if they are spawned
|
||||
if (!p.Spawned || !other.Spawned)
|
||||
{
|
||||
return (ThoughtState)false;
|
||||
}
|
||||
|
||||
if(HiveUtility.IsAdultQueen(p) && HiveUtility.IsAdultQueen(other))
|
||||
{
|
||||
return (ThoughtState)true;
|
||||
}
|
||||
return (ThoughtState)false;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,33 @@
|
|||
using RimWorld;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
using Verse;
|
||||
|
||||
namespace RJW_Genes
|
||||
{
|
||||
public class Thoughtworker_MultipleQueens_Mood : ThoughtWorker
|
||||
{
|
||||
|
||||
protected override ThoughtState CurrentStateInternal(Pawn p)
|
||||
{
|
||||
// Error Handling and Check for Pawn being on Map
|
||||
if (p == null || !p.Spawned)
|
||||
return (ThoughtState) false;
|
||||
// Queens cannot have loyalty thoughts
|
||||
if (GeneUtility.HasGeneNullCheck(p, GeneDefOf.rjw_genes_queen))
|
||||
return (ThoughtState)false;
|
||||
|
||||
if (GeneUtility.HasGeneNullCheck(p, GeneDefOf.rjw_genes_zealous_loyalty) && HiveUtility.QueensOnMap() >= 2)
|
||||
{
|
||||
return (ThoughtState)true;
|
||||
}
|
||||
|
||||
return (ThoughtState) false;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
33
Source/Genes/Hive/Thoughts/Thoughtworker_QueenAbsent_Mood.cs
Normal file
33
Source/Genes/Hive/Thoughts/Thoughtworker_QueenAbsent_Mood.cs
Normal file
|
@ -0,0 +1,33 @@
|
|||
using RimWorld;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
using Verse;
|
||||
|
||||
namespace RJW_Genes
|
||||
{
|
||||
public class Thoughtworker_QueenAbsent_Mood : ThoughtWorker
|
||||
{
|
||||
|
||||
protected override ThoughtState CurrentStateInternal(Pawn p)
|
||||
{
|
||||
// Error Handling and Check for Pawn being on Map
|
||||
if (p == null || !p.Spawned)
|
||||
return (ThoughtState) false;
|
||||
// Queens cannot have loyalty thoughts
|
||||
if (GeneUtility.HasGeneNullCheck(p, GeneDefOf.rjw_genes_queen))
|
||||
return (ThoughtState)false;
|
||||
|
||||
if (GeneUtility.HasGeneNullCheck(p, GeneDefOf.rjw_genes_zealous_loyalty) && HiveUtility.QueensOnMap() == 0)
|
||||
{
|
||||
return (ThoughtState)true;
|
||||
}
|
||||
|
||||
return (ThoughtState) false;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,33 @@
|
|||
using RimWorld;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
using Verse;
|
||||
|
||||
namespace RJW_Genes
|
||||
{
|
||||
public class Thoughtworker_QueenPresent_Mood : ThoughtWorker
|
||||
{
|
||||
|
||||
protected override ThoughtState CurrentStateInternal(Pawn p)
|
||||
{
|
||||
// Error Handling and Check for Pawn being on Map
|
||||
if (p == null || !p.Spawned)
|
||||
return (ThoughtState) false;
|
||||
// Queens cannot have loyalty thoughts
|
||||
if (GeneUtility.HasGeneNullCheck(p, GeneDefOf.rjw_genes_queen))
|
||||
return (ThoughtState)false;
|
||||
|
||||
if (GeneUtility.HasGeneNullCheck(p, GeneDefOf.rjw_genes_zealous_loyalty) && HiveUtility.QueensOnMap() == 1)
|
||||
{
|
||||
return (ThoughtState)true;
|
||||
}
|
||||
|
||||
return (ThoughtState) false;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
29
Source/Genes/Hive/Thoughts/Thoughtworker_RivalQueen_Mood.cs
Normal file
29
Source/Genes/Hive/Thoughts/Thoughtworker_RivalQueen_Mood.cs
Normal file
|
@ -0,0 +1,29 @@
|
|||
using RimWorld;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
using Verse;
|
||||
|
||||
namespace RJW_Genes
|
||||
{
|
||||
public class Thoughtworker_RivalQueen_Mood : ThoughtWorker
|
||||
{
|
||||
|
||||
protected override ThoughtState CurrentStateInternal(Pawn p)
|
||||
{
|
||||
if (p == null || !p.Spawned)
|
||||
return (ThoughtState) false;
|
||||
|
||||
if (HiveUtility.IsAdultQueen(p) && HiveUtility.QueensOnMap() >= 2)
|
||||
{
|
||||
return (ThoughtState) true;
|
||||
}
|
||||
|
||||
return (ThoughtState) false;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -91,6 +91,16 @@
|
|||
<Compile Include="Genes\Hive\Abilities\CompAbilityEffect_CocoonWeaver.cs" />
|
||||
<Compile Include="Genes\Hive\Abilities\CompProperties_AbilitySpawnSpelopede.cs" />
|
||||
<Compile Include="Genes\Hive\Abilities\CompProperties_AbilityCocoonWeaver.cs" />
|
||||
<Compile Include="Genes\Hive\Genes\ConditionalStatAffecters\ConditionalStatAffecter_MultipleQueens.cs" />
|
||||
<Compile Include="Genes\Hive\Genes\ConditionalStatAffecters\ConditionalStatAffecter_QueenCloseBy.cs" />
|
||||
<Compile Include="Genes\Hive\Genes\ConditionalStatAffecters\ConditionalStatAffecter_QueenAbsent.cs" />
|
||||
<Compile Include="Genes\Hive\Helpers\HiveUtility.cs" />
|
||||
<Compile Include="Genes\Hive\Thoughts\Thoughtworker_QueenAbsent_Mood.cs" />
|
||||
<Compile Include="Genes\Hive\Thoughts\Thoughtworker_MultipleQueens_Mood.cs" />
|
||||
<Compile Include="Genes\Hive\Thoughts\Thoughtworker_QueenPresent_Mood.cs" />
|
||||
<Compile Include="Genes\Hive\Thoughts\Thoughtworker_RivalQueen_Mood.cs" />
|
||||
<Compile Include="Genes\Hive\Thoughts\ThoughtWorker_QueenPresent_Social.cs" />
|
||||
<Compile Include="Genes\Hive\Thoughts\ThoughtWorker_RivalQueen_Social.cs" />
|
||||
<Compile Include="Genes\Life_Force\Abilities\AbilityUtility.cs" />
|
||||
<Compile Include="Genes\Life_Force\UI\Alert_LowFertilin.cs" />
|
||||
<Compile Include="Genes\Life_Force\Abilities\CompAbilityEffect_CasterIsNaked.cs" />
|
||||
|
@ -196,8 +206,6 @@
|
|||
<Private>False</Private>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Folder Include="Genes\Hive\Genes\" />
|
||||
</ItemGroup>
|
||||
<ItemGroup />
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
</Project>
|
Loading…
Reference in a new issue