暂存修送囚犯能量
This commit is contained in:
Binary file not shown.
@@ -67,6 +67,7 @@
|
|||||||
<modExtensions>
|
<modExtensions>
|
||||||
<li Class="WulaFallenEmpire.WorkGiverDefExtension_FeedWula">
|
<li Class="WulaFallenEmpire.WorkGiverDefExtension_FeedWula">
|
||||||
<feedThreshold>0.25</feedThreshold>
|
<feedThreshold>0.25</feedThreshold>
|
||||||
|
<energySourceDef>WULA_Charge_Cube</energySourceDef>
|
||||||
</li>
|
</li>
|
||||||
</modExtensions>
|
</modExtensions>
|
||||||
</WorkGiverDef>
|
</WorkGiverDef>
|
||||||
@@ -85,6 +86,7 @@
|
|||||||
<modExtensions>
|
<modExtensions>
|
||||||
<li Class="WulaFallenEmpire.WorkGiverDefExtension_FeedWula">
|
<li Class="WulaFallenEmpire.WorkGiverDefExtension_FeedWula">
|
||||||
<feedThreshold>0.25</feedThreshold>
|
<feedThreshold>0.25</feedThreshold>
|
||||||
|
<energySourceDef>WULA_Charge_Cube</energySourceDef>
|
||||||
</li>
|
</li>
|
||||||
</modExtensions>
|
</modExtensions>
|
||||||
</WorkGiverDef>
|
</WorkGiverDef>
|
||||||
@@ -102,7 +104,8 @@
|
|||||||
</requiredCapacities>
|
</requiredCapacities>
|
||||||
<modExtensions>
|
<modExtensions>
|
||||||
<li Class="WulaFallenEmpire.WorkGiverDefExtension_FeedWula">
|
<li Class="WulaFallenEmpire.WorkGiverDefExtension_FeedWula">
|
||||||
<feedThreshold>0.8</feedThreshold>
|
<feedThreshold>0.35</feedThreshold>
|
||||||
|
<energySourceDef>WULA_Charge_Cube</energySourceDef>
|
||||||
</li>
|
</li>
|
||||||
</modExtensions>
|
</modExtensions>
|
||||||
</WorkGiverDef>
|
</WorkGiverDef>
|
||||||
|
|||||||
Binary file not shown.
@@ -2,6 +2,14 @@
|
|||||||
"Version": 1,
|
"Version": 1,
|
||||||
"WorkspaceRootPath": "C:\\Steam\\steamapps\\common\\RimWorld\\Mods\\3516260226\\Source\\WulaFallenEmpire\\",
|
"WorkspaceRootPath": "C:\\Steam\\steamapps\\common\\RimWorld\\Mods\\3516260226\\Source\\WulaFallenEmpire\\",
|
||||||
"Documents": [
|
"Documents": [
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{F5AE8C3B-0221-4C16-A128-9A62D521A8FF}|WulaFallenEmpire.csproj|c:\\steam\\steamapps\\common\\rimworld\\mods\\3516260226\\source\\wulafallenempire\\workgiver_warden_deliverenergy.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
|
"RelativeMoniker": "D:0:0:{F5AE8C3B-0221-4C16-A128-9A62D521A8FF}|WulaFallenEmpire.csproj|solutionrelative:workgiver_warden_deliverenergy.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{F5AE8C3B-0221-4C16-A128-9A62D521A8FF}|WulaFallenEmpire.csproj|c:\\steam\\steamapps\\common\\rimworld\\mods\\3516260226\\source\\wulafallenempire\\workgiverdefextension_feedwula.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
|
"RelativeMoniker": "D:0:0:{F5AE8C3B-0221-4C16-A128-9A62D521A8FF}|WulaFallenEmpire.csproj|solutionrelative:workgiverdefextension_feedwula.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"AbsoluteMoniker": "D:0:0:{F5AE8C3B-0221-4C16-A128-9A62D521A8FF}|WulaFallenEmpire.csproj|c:\\steam\\steamapps\\common\\rimworld\\mods\\3516260226\\source\\wulafallenempire\\compapparelinterceptor.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
"AbsoluteMoniker": "D:0:0:{F5AE8C3B-0221-4C16-A128-9A62D521A8FF}|WulaFallenEmpire.csproj|c:\\steam\\steamapps\\common\\rimworld\\mods\\3516260226\\source\\wulafallenempire\\compapparelinterceptor.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
"RelativeMoniker": "D:0:0:{F5AE8C3B-0221-4C16-A128-9A62D521A8FF}|WulaFallenEmpire.csproj|solutionrelative:compapparelinterceptor.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
"RelativeMoniker": "D:0:0:{F5AE8C3B-0221-4C16-A128-9A62D521A8FF}|WulaFallenEmpire.csproj|solutionrelative:compapparelinterceptor.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||||
@@ -42,15 +50,41 @@
|
|||||||
"DocumentGroups": [
|
"DocumentGroups": [
|
||||||
{
|
{
|
||||||
"DockedWidth": 200,
|
"DockedWidth": 200,
|
||||||
"SelectedChildIndex": 1,
|
"SelectedChildIndex": 0,
|
||||||
"Children": [
|
"Children": [
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 0,
|
||||||
|
"Title": "WorkGiver_Warden_DeliverEnergy.cs",
|
||||||
|
"DocumentMoniker": "C:\\Steam\\steamapps\\common\\RimWorld\\Mods\\3516260226\\Source\\WulaFallenEmpire\\WorkGiver_Warden_DeliverEnergy.cs",
|
||||||
|
"RelativeDocumentMoniker": "WorkGiver_Warden_DeliverEnergy.cs",
|
||||||
|
"ToolTip": "C:\\Steam\\steamapps\\common\\RimWorld\\Mods\\3516260226\\Source\\WulaFallenEmpire\\WorkGiver_Warden_DeliverEnergy.cs",
|
||||||
|
"RelativeToolTip": "WorkGiver_Warden_DeliverEnergy.cs",
|
||||||
|
"ViewState": "AQIAAAoAAAAAAAAAAAAxwCsAAAALAAAA",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2025-07-24T03:34:56.772Z",
|
||||||
|
"EditorCaption": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 1,
|
||||||
|
"Title": "WorkGiverDefExtension_FeedWula.cs",
|
||||||
|
"DocumentMoniker": "C:\\Steam\\steamapps\\common\\RimWorld\\Mods\\3516260226\\Source\\WulaFallenEmpire\\WorkGiverDefExtension_FeedWula.cs",
|
||||||
|
"RelativeDocumentMoniker": "WorkGiverDefExtension_FeedWula.cs",
|
||||||
|
"ToolTip": "C:\\Steam\\steamapps\\common\\RimWorld\\Mods\\3516260226\\Source\\WulaFallenEmpire\\WorkGiverDefExtension_FeedWula.cs",
|
||||||
|
"RelativeToolTip": "WorkGiverDefExtension_FeedWula.cs",
|
||||||
|
"ViewState": "AQIAAAAAAAAAAAAAAAAAAAcAAAAoAAAA",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2025-07-24T03:32:18.303Z",
|
||||||
|
"EditorCaption": ""
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"$type": "Bookmark",
|
"$type": "Bookmark",
|
||||||
"Name": "ST:0:0:{1c4feeaa-4718-4aa9-859d-94ce25d182ba}"
|
"Name": "ST:0:0:{1c4feeaa-4718-4aa9-859d-94ce25d182ba}"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 0,
|
"DocumentIndex": 2,
|
||||||
"Title": "CompApparelInterceptor.cs",
|
"Title": "CompApparelInterceptor.cs",
|
||||||
"DocumentMoniker": "C:\\Steam\\steamapps\\common\\RimWorld\\Mods\\3516260226\\Source\\WulaFallenEmpire\\CompApparelInterceptor.cs",
|
"DocumentMoniker": "C:\\Steam\\steamapps\\common\\RimWorld\\Mods\\3516260226\\Source\\WulaFallenEmpire\\CompApparelInterceptor.cs",
|
||||||
"RelativeDocumentMoniker": "CompApparelInterceptor.cs",
|
"RelativeDocumentMoniker": "CompApparelInterceptor.cs",
|
||||||
@@ -63,7 +97,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 1,
|
"DocumentIndex": 3,
|
||||||
"Title": "Projectile_Launch_Patch.cs",
|
"Title": "Projectile_Launch_Patch.cs",
|
||||||
"DocumentMoniker": "C:\\Steam\\steamapps\\common\\RimWorld\\Mods\\3516260226\\Source\\WulaFallenEmpire\\HarmonyPatches\\Projectile_Launch_Patch.cs",
|
"DocumentMoniker": "C:\\Steam\\steamapps\\common\\RimWorld\\Mods\\3516260226\\Source\\WulaFallenEmpire\\HarmonyPatches\\Projectile_Launch_Patch.cs",
|
||||||
"RelativeDocumentMoniker": "HarmonyPatches\\Projectile_Launch_Patch.cs",
|
"RelativeDocumentMoniker": "HarmonyPatches\\Projectile_Launch_Patch.cs",
|
||||||
@@ -75,7 +109,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 3,
|
"DocumentIndex": 5,
|
||||||
"Title": "IngestPatch.cs",
|
"Title": "IngestPatch.cs",
|
||||||
"DocumentMoniker": "C:\\Steam\\steamapps\\common\\RimWorld\\Mods\\3516260226\\Source\\WulaFallenEmpire\\IngestPatch.cs",
|
"DocumentMoniker": "C:\\Steam\\steamapps\\common\\RimWorld\\Mods\\3516260226\\Source\\WulaFallenEmpire\\IngestPatch.cs",
|
||||||
"RelativeDocumentMoniker": "IngestPatch.cs",
|
"RelativeDocumentMoniker": "IngestPatch.cs",
|
||||||
@@ -87,7 +121,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 2,
|
"DocumentIndex": 4,
|
||||||
"Title": "CompUseEffect_WulaSkillTrainer.cs",
|
"Title": "CompUseEffect_WulaSkillTrainer.cs",
|
||||||
"DocumentMoniker": "C:\\Steam\\steamapps\\common\\RimWorld\\Mods\\3516260226\\Source\\WulaFallenEmpire\\CompUseEffect_WulaSkillTrainer.cs",
|
"DocumentMoniker": "C:\\Steam\\steamapps\\common\\RimWorld\\Mods\\3516260226\\Source\\WulaFallenEmpire\\CompUseEffect_WulaSkillTrainer.cs",
|
||||||
"RelativeDocumentMoniker": "CompUseEffect_WulaSkillTrainer.cs",
|
"RelativeDocumentMoniker": "CompUseEffect_WulaSkillTrainer.cs",
|
||||||
@@ -99,7 +133,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 4,
|
"DocumentIndex": 6,
|
||||||
"Title": "Building_Wula_DarkEnergy_Engine.cs",
|
"Title": "Building_Wula_DarkEnergy_Engine.cs",
|
||||||
"DocumentMoniker": "C:\\Steam\\steamapps\\common\\RimWorld\\Mods\\3516260226\\Source\\WulaFallenEmpire\\Building_Wula_DarkEnergy_Engine.cs",
|
"DocumentMoniker": "C:\\Steam\\steamapps\\common\\RimWorld\\Mods\\3516260226\\Source\\WulaFallenEmpire\\Building_Wula_DarkEnergy_Engine.cs",
|
||||||
"RelativeDocumentMoniker": "Building_Wula_DarkEnergy_Engine.cs",
|
"RelativeDocumentMoniker": "Building_Wula_DarkEnergy_Engine.cs",
|
||||||
@@ -111,7 +145,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 5,
|
"DocumentIndex": 7,
|
||||||
"Title": "HediffComp_RegenerateBackstory.cs",
|
"Title": "HediffComp_RegenerateBackstory.cs",
|
||||||
"DocumentMoniker": "C:\\Steam\\steamapps\\common\\RimWorld\\Mods\\3516260226\\Source\\WulaFallenEmpire\\HediffComp_RegenerateBackstory.cs",
|
"DocumentMoniker": "C:\\Steam\\steamapps\\common\\RimWorld\\Mods\\3516260226\\Source\\WulaFallenEmpire\\HediffComp_RegenerateBackstory.cs",
|
||||||
"RelativeDocumentMoniker": "HediffComp_RegenerateBackstory.cs",
|
"RelativeDocumentMoniker": "HediffComp_RegenerateBackstory.cs",
|
||||||
@@ -123,7 +157,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 6,
|
"DocumentIndex": 8,
|
||||||
"Title": "WulaFallenEmpireMod.cs",
|
"Title": "WulaFallenEmpireMod.cs",
|
||||||
"DocumentMoniker": "C:\\Steam\\steamapps\\common\\RimWorld\\Mods\\3516260226\\Source\\WulaFallenEmpire\\WulaFallenEmpireMod.cs",
|
"DocumentMoniker": "C:\\Steam\\steamapps\\common\\RimWorld\\Mods\\3516260226\\Source\\WulaFallenEmpire\\WulaFallenEmpireMod.cs",
|
||||||
"RelativeDocumentMoniker": "WulaFallenEmpireMod.cs",
|
"RelativeDocumentMoniker": "WulaFallenEmpireMod.cs",
|
||||||
@@ -135,7 +169,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 7,
|
"DocumentIndex": 9,
|
||||||
"Title": "MechanitorPatch.cs",
|
"Title": "MechanitorPatch.cs",
|
||||||
"DocumentMoniker": "C:\\Steam\\steamapps\\common\\RimWorld\\Mods\\3516260226\\Source\\WulaFallenEmpire\\MechanitorPatch.cs",
|
"DocumentMoniker": "C:\\Steam\\steamapps\\common\\RimWorld\\Mods\\3516260226\\Source\\WulaFallenEmpire\\MechanitorPatch.cs",
|
||||||
"RelativeDocumentMoniker": "MechanitorPatch.cs",
|
"RelativeDocumentMoniker": "MechanitorPatch.cs",
|
||||||
|
|||||||
@@ -5,5 +5,6 @@ namespace WulaFallenEmpire
|
|||||||
public class WorkGiverDefExtension_FeedWula : DefModExtension
|
public class WorkGiverDefExtension_FeedWula : DefModExtension
|
||||||
{
|
{
|
||||||
public float feedThreshold = 0.25f;
|
public float feedThreshold = 0.25f;
|
||||||
|
public ThingDef energySourceDef;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,73 +1,112 @@
|
|||||||
using RimWorld;
|
using RimWorld;
|
||||||
using Verse;
|
using Verse;
|
||||||
using Verse.AI;
|
using Verse.AI;
|
||||||
using System.Linq;
|
|
||||||
|
|
||||||
namespace WulaFallenEmpire
|
namespace WulaFallenEmpire
|
||||||
{
|
{
|
||||||
public class WorkGiver_Warden_DeliverEnergy : WorkGiver_Warden
|
public class WorkGiver_Warden_DeliverEnergy : WorkGiver_Scanner
|
||||||
{
|
{
|
||||||
public override Job JobOnThing(Pawn pawn, Thing t, bool forced = false)
|
private WorkGiverDefExtension_FeedWula ext;
|
||||||
|
|
||||||
|
private WorkGiverDefExtension_FeedWula Ext
|
||||||
{
|
{
|
||||||
if (!(t is Pawn prisoner) || !ShouldTakeCareOfPrisoner(pawn, prisoner))
|
get
|
||||||
{
|
{
|
||||||
return null;
|
if (ext == null)
|
||||||
|
{
|
||||||
|
ext = def.GetModExtension<WorkGiverDefExtension_FeedWula>();
|
||||||
|
}
|
||||||
|
return ext;
|
||||||
}
|
}
|
||||||
|
|
||||||
Need_WulaEnergy wulaEnergyNeed = prisoner.needs.TryGetNeed<Need_WulaEnergy>();
|
|
||||||
if (wulaEnergyNeed == null || wulaEnergyNeed.CurLevelPercentage > def.GetModExtension<WorkGiverDefExtension_FeedWula>().feedThreshold)
|
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (EnergyAvailableInRoomTo(prisoner))
|
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!TryFindBestEnergySourceFor(pawn, prisoner, out Thing energySource, out _))
|
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
Job job = JobMaker.MakeJob(JobDefOf.DeliverFood, energySource, prisoner);
|
|
||||||
job.count = 1;
|
|
||||||
return job;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private bool EnergyAvailableInRoomTo(Pawn prisoner)
|
public override ThingRequest PotentialWorkThingRequest => ThingRequest.ForDef(ThingDef.Named("WulaSpecies"));
|
||||||
|
|
||||||
|
public override PathEndMode PathEndMode => PathEndMode.ClosestTouch;
|
||||||
|
|
||||||
|
public override Danger MaxPathDanger(Pawn pawn) => Danger.Deadly;
|
||||||
|
|
||||||
|
public override bool HasJobOnThing(Pawn pawn, Thing t, bool forced = false)
|
||||||
{
|
{
|
||||||
if (prisoner.GetRoom() == null)
|
Pawn prisoner = t as Pawn;
|
||||||
|
|
||||||
|
if (prisoner == null || prisoner == pawn || !prisoner.IsPrisonerOfColony || !prisoner.guest.CanBeBroughtFood)
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
var allThings = prisoner.GetRoom().ContainedAndAdjacentThings;
|
Need_WulaEnergy energyNeed = prisoner.needs.TryGetNeed<Need_WulaEnergy>();
|
||||||
foreach (Thing thing in allThings)
|
if (energyNeed == null)
|
||||||
{
|
{
|
||||||
if (thing.def.GetModExtension<ThingDefExtension_EnergySource>() != null)
|
return false;
|
||||||
{
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return false;
|
|
||||||
|
if (energyNeed.CurLevelPercentage > Ext.feedThreshold)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (WardenFeedUtility.ShouldBeFed(prisoner))
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!pawn.CanReserve(prisoner, 1, -1, null, forced))
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (Ext == null || Ext.energySourceDef == null)
|
||||||
|
{
|
||||||
|
Log.ErrorOnce("WorkGiver_Warden_DeliverEnergy is missing the DefModExtension with a valid energySourceDef.", def.GetHashCode());
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!FindBestEnergySourceFor(pawn, prisoner, out _, out _))
|
||||||
|
{
|
||||||
|
JobFailReason.Is("NoFood".Translate());
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
private bool TryFindBestEnergySourceFor(Pawn getter, Pawn eater, out Thing energySource, out ThingDef energyDef)
|
public override Job JobOnThing(Pawn pawn, Thing t, bool forced = false)
|
||||||
{
|
{
|
||||||
energySource = null;
|
Pawn prisoner = (Pawn)t;
|
||||||
energyDef = null;
|
if (FindBestEnergySourceFor(pawn, prisoner, out Thing energySource, out _))
|
||||||
|
|
||||||
var allowedThings = getter.Map.listerThings.ThingsInGroup(ThingRequestGroup.HaulableEver)
|
|
||||||
.Where(x => x.def.GetModExtension<ThingDefExtension_EnergySource>() != null);
|
|
||||||
|
|
||||||
Thing thing = GenClosest.ClosestThing_Global(eater.Position, allowedThings, 99999f,
|
|
||||||
t => t.IngestibleNow && !t.IsForbidden(getter) && getter.CanReserve(t));
|
|
||||||
|
|
||||||
if (thing != null)
|
|
||||||
{
|
{
|
||||||
energySource = thing;
|
Job job = JobMaker.MakeJob(JobDefOf.DeliverFood, energySource, prisoner);
|
||||||
energyDef = thing.def;
|
job.count = 1;
|
||||||
|
job.targetC = RCellFinder.SpotToChewStandingNear(prisoner, energySource);
|
||||||
|
return job;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
private bool FindBestEnergySourceFor(Pawn getter, Pawn eater, out Thing foodSource, out ThingDef foodDef)
|
||||||
|
{
|
||||||
|
foodSource = null;
|
||||||
|
foodDef = null;
|
||||||
|
|
||||||
|
if (Ext == null || Ext.energySourceDef == null)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
foodSource = GenClosest.ClosestThingReachable(
|
||||||
|
getter.Position,
|
||||||
|
getter.Map,
|
||||||
|
ThingRequest.ForDef(Ext.energySourceDef),
|
||||||
|
PathEndMode.OnCell,
|
||||||
|
TraverseParms.For(getter),
|
||||||
|
9999f,
|
||||||
|
(Thing x) => !x.IsForbidden(getter) && getter.CanReserve(x) && x.GetRoom() != eater.GetRoom()
|
||||||
|
);
|
||||||
|
|
||||||
|
if (foodSource != null)
|
||||||
|
{
|
||||||
|
foodDef = foodSource.def;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user