Upload from upload_mods.ps1

This commit is contained in:
Nathaniel Cosford
2025-06-04 16:44:53 +09:30
commit f1fbbe67bb
1722 changed files with 165268 additions and 0 deletions

View File

@@ -0,0 +1,113 @@
using System.Collections.Generic;
using UnityEngine.Scripting;
[Preserve]
public class ObjectiveClosestPOIGotoRebirth : ObjectiveGoto
{
public override void SetupObjective()
{
this.keyword = Localization.Get("ObjectiveRallyPointHeadTo");
}
public override void SetupDisplay()
{
base.Description = this.keyword;
}
public override void SetupIcon()
{
this.icon = "ui_game_symbol_quest";
}
public override bool SetupPosition(EntityNPC ownerNPC = null, EntityPlayer player = null, List<Vector2> usedPOILocations = null, int entityIDforQuests = 1)
{
return this.GetPosition(ownerNPC, player, usedPOILocations, -1) != Vector3.zero;
}
public override void SetPosition(Vector3 position, Vector3 size)
{
base.FinalizePoint(position, size);
}
public override Vector3 GetPosition(EntityNPC ownerNPC = null, EntityPlayer entityPlayer = null, List<Vector2> usedPOILocations = null, int entityIDforQuests = -1)
{
//Log.Out("ObjectiveClosestPOIGotoRebirth-GetPosition START");
int traderId = (ownerNPC == null) ? (-1) : ownerNPC.entityId;
int playerId = (entityPlayer == null) ? (-1) : entityPlayer.entityId;
if (base.OwnerQuest.GetPositionData(out this.position, Quest.PositionDataTypes.POIPosition))
{
//Log.Out("ObjectiveClosestPOIGotoRebirth-GetPosition 1");
base.OwnerQuest.Position = this.position;
this.positionSet = true;
base.OwnerQuest.HandleMapObject(Quest.PositionDataTypes.POIPosition, this.NavObjectName, -1);
base.CurrentValue = 2;
return this.position;
}
EntityAlive entityAlive;
if (ownerNPC == null)
{
//Log.Out("ObjectiveClosestPOIGotoRebirth-GetPosition 2");
entityAlive = OwnerQuest.OwnerJournal.OwnerPlayer;
}
else
{
//Log.Out("ObjectiveClosestPOIGotoRebirth-GetPosition 3");
entityAlive = ownerNPC;
}
if (SingletonMonoBehaviour<ConnectionManager>.Instance.IsServer)
{
//Log.Out("ObjectiveClosestPOIGotoRebirth-GetPosition 4");
PrefabInstance closestPOIToWorldPos = GameManager.Instance.World.ChunkClusters[0].ChunkProvider.GetDynamicPrefabDecorator().GetClosestPOIToWorldPos(base.OwnerQuest.QuestTags, new Vector2(entityAlive.position.x, entityAlive.position.z), null, -1, false, BiomeFilterTypes.AnyBiome, "");
if (closestPOIToWorldPos == null)
{
//Log.Out("ObjectiveClosestPOIGotoRebirth-GetPosition 5");
return Vector3.zero;
}
Vector2 vector = new Vector2((float)closestPOIToWorldPos.boundingBoxPosition.x + (float)closestPOIToWorldPos.boundingBoxSize.x / 2f, (float)closestPOIToWorldPos.boundingBoxPosition.z + (float)closestPOIToWorldPos.boundingBoxSize.z / 2f);
if (vector.x == -0.1f && vector.y == -0.1f)
{
//Log.Error("ObjectiveClosestPOIGotoRebirth: No POI found.");
return Vector3.zero;
}
int num = (int)vector.x;
int num2 = (int)entityAlive.position.y;
int num3 = (int)vector.y;
if (GameManager.Instance.World.IsPositionInBounds(this.position))
{
//Log.Out("ObjectiveClosestPOIGotoRebirth-GetPosition 6");
FinalizePoint(new Vector3((float)closestPOIToWorldPos.boundingBoxPosition.x, (float)closestPOIToWorldPos.boundingBoxPosition.y, (float)closestPOIToWorldPos.boundingBoxPosition.z), new Vector3((float)closestPOIToWorldPos.boundingBoxSize.x, (float)closestPOIToWorldPos.boundingBoxSize.y, (float)closestPOIToWorldPos.boundingBoxSize.z));
position = new Vector3((float)num, (float)num2, (float)num3);
OwnerQuest.Position = this.position;
return this.position;
}
}
else
{
//Log.Out("ObjectiveClosestPOIGotoRebirth-GetPosition 7");
SingletonMonoBehaviour<ConnectionManager>.Instance.SendToServer(NetPackageManager.GetPackage<NetPackageQuestGotoPoint>().Setup(traderId, playerId, OwnerQuest.QuestTags, OwnerQuest.QuestCode, NetPackageQuestGotoPoint.QuestGotoTypes.Closest, OwnerQuest.QuestClass.DifficultyTier, 0, -1, 0f, 0f, 0f, -1f, BiomeFilterTypes.AnyBiome, ""), false);
base.CurrentValue = 1;
}
//Log.Out("ObjectiveClosestPOIGotoRebirth-GetPosition 8");
return Vector3.zero;
}
public override void UpdateState_WaitingForServer()
{
if (this.positionSet)
{
base.CurrentValue = 2;
}
}
public override BaseObjective Clone()
{
ObjectiveClosestPOIGotoRebirth ObjectiveClosestPOIGotoRebirth = new ObjectiveClosestPOIGotoRebirth();
this.CopyValues(ObjectiveClosestPOIGotoRebirth);
return ObjectiveClosestPOIGotoRebirth;
}
}

View File

@@ -0,0 +1,250 @@
using System.Collections.Generic;
public class ObjectiveGotoNamedPOIRebirth : ObjectiveRandomPOIGoto
{
public string POIName = "";
public override void ParseProperties(DynamicProperties properties)
{
if (properties.Values.ContainsKey("PrefabName"))
POIName = properties.Values["PrefabName"];
if (properties.Values.ContainsKey("PrefabNames"))
{
var TempList = new List<string>();
var strTemp = properties.Values["PrefabNames"];
var array = strTemp.Split(',');
for (var i = 0; i < array.Length; i++)
{
if (TempList.Contains(array[i]))
continue;
TempList.Add(array[i]);
}
var random = new System.Random();
var index = random.Next(TempList.Count);
if (TempList.Count == 0)
Debug.Log(" ObjectiveGotoPOIRebirth PrefabNames Contains no prefabs.");
else
POIName = TempList[index];
}
base.ParseProperties(properties);
}
public override void SetupObjective()
{
//Log.Out("ObjectiveGotoNamedPOIRebirth-SetupObjective");
this.keyword = Localization.Get("ObjectiveRallyPointHeadTo");
}
public override void SetupIcon()
{
//Log.Out("ObjectiveGotoNamedPOIRebirth-SetupIcon");
this.icon = "ui_game_symbol_quest";
}
public override bool NeedsNPCSetPosition
{
get
{
//Log.Out("ObjectiveGotoNamedPOIRebirth-NeedsNPCSetPosition");
return true;
}
}
public override bool SetupPosition(EntityNPC ownerNPC = null, EntityPlayer player = null, List<Vector2> usedPOILocations = null, int entityIDforQuests = -1)
{
//Log.Out("ObjectiveGotoNamedPOIRebirth-SetupPosition");
return this.GetPosition(ownerNPC, player, usedPOILocations, entityIDforQuests) != Vector3.zero;
}
public override void AddHooks()
{
//Log.Out("ObjectiveGotoNamedPOIRebirth-AddHooks");
base.AddHooks();
base.OwnerQuest.HandleMapObject(Quest.PositionDataTypes.POIPosition, this.NavObjectName, -1);
}
public void SetDistanceOffset(Vector3 POISize)
{
//Log.Out("ObjectiveGotoNamedPOIRebirth-SetDistanceOffset");
if (POISize.x > POISize.z)
{
this.distanceOffset = POISize.x;
return;
}
this.distanceOffset = POISize.z;
}
public override void SetPosition(Vector3 POIPosition, Vector3 POISize)
{
//Log.Out("ObjectiveGotoNamedPOIRebirth-SetPosition");
this.SetDistanceOffset(POISize);
base.OwnerQuest.SetPositionData(Quest.PositionDataTypes.POIPosition, POIPosition);
base.OwnerQuest.SetPositionData(Quest.PositionDataTypes.POISize, POISize);
base.OwnerQuest.Position = POIPosition;
this.position = POIPosition;
}
public override Vector3 GetPosition(EntityNPC ownerNPC = null, EntityPlayer entityPlayer = null, List<Vector2> usedPOILocations = null, int entityIDforQuests = -1)
{
//Log.Out("ObjectiveGotoNamedPOIRebirth GetPosition START");
/*//Log.Out("ObjectiveGotoNamedPOIRebirth-GetPosition");
//Log.Out("ObjectiveGotoNamedPOIRebirth-GetPosition, X: " + ownerNPC.position.x);
//Log.Out("ObjectiveGotoNamedPOIRebirth-GetPosition, Y: " + ownerNPC.position.y);
//Log.Out("ObjectiveGotoNamedPOIRebirth-GetPosition, Z: " + ownerNPC.position.z);*/
if (base.OwnerQuest.GetPositionData(out this.position, Quest.PositionDataTypes.POIPosition))
{
//Log.Out("ObjectiveGotoNamedPOIRebirth GetPosition-1");
Vector3 vector;
base.OwnerQuest.GetPositionData(out vector, Quest.PositionDataTypes.POISize);
Vector2 vector2 = new Vector2(this.position.x + vector.x / 2f, this.position.z + vector.z / 2f);
int num = (int)vector2.x;
int num2 = (int)vector2.y;
int num3 = (int)GameManager.Instance.World.GetHeightAt(vector2.x, vector2.y);
this.position = new Vector3((float)num, (float)num3, (float)num2);
base.OwnerQuest.Position = this.position;
this.SetDistanceOffset(vector);
this.positionSet = true;
base.OwnerQuest.HandleMapObject(Quest.PositionDataTypes.POIPosition, this.NavObjectName, -1);
base.CurrentValue = 2;
return this.position;
}
//Log.Out("ObjectiveGotoNamedPOIRebirth GetPosition 2");
EntityAlive entityAlive = null;
if (ownerNPC == null)
{
//Log.Out("ObjectiveGotoNamedPOIRebirth GetPosition 3");
entityAlive = base.OwnerQuest.OwnerJournal.OwnerPlayer;
}
else
{
//Log.Out("ObjectiveGotoNamedPOIRebirth GetPosition 4");
entityAlive = ownerNPC;
}
if (SingletonMonoBehaviour<ConnectionManager>.Instance.IsServer)
{
//Log.Out("ObjectiveGotoNamedPOIRebirth-GetPosition 5 prefab:" + this.POIName);
List<PrefabInstance> prefabInstances = GameManager.Instance.World.ChunkClusters[0].ChunkProvider.GetDynamicPrefabDecorator().GetDynamicPrefabs().FindAll(instance => instance.name.Contains(this.POIName));
if (prefabInstances.Count == 0)
{
//Log.Out("ObjectiveGotoNamedPOIRebirth GetPosition 6");
return Vector3.zero;
}
var prefab = RebirthUtilities.FindClosesPrefabs(entityAlive.position, prefabInstances, usedPOILocations, biomeFilterType, biomeFilter);
if (prefab == null)
{
//Log.Out("ObjectiveGotoNamedPOIRebirth GetPosition 7");
return Vector3.zero;
}
//Log.Out("ObjectiveGotoNamedPOIRebirth-GetPosition prefab.boundingBoxPosition: " + prefab.boundingBoxPosition);
Vector2 vector3 = new Vector2((float)prefab.boundingBoxPosition.x + (float)prefab.boundingBoxSize.x / 2f, (float)prefab.boundingBoxPosition.z + (float)prefab.boundingBoxSize.z / 2f);
if (vector3.x == -0.1f && vector3.y == -0.1f)
{
Log.Error("ObjectiveRandomGoto: No POI found.");
return Vector3.zero;
}
int num4 = (int)vector3.x;
int num5 = (int)GameManager.Instance.World.GetHeightAt(vector3.x, vector3.y);
int num6 = (int)vector3.y;
this.position = new Vector3((float)num4, (float)num5, (float)num6);
if (GameManager.Instance.World.IsPositionInBounds(this.position))
{
//Log.Out("ObjectiveGotoNamedPOIRebirth GetPosition 8");
base.OwnerQuest.Position = this.position;
base.FinalizePoint(new Vector3((float)prefab.boundingBoxPosition.x, (float)prefab.boundingBoxPosition.y, (float)prefab.boundingBoxPosition.z), new Vector3((float)prefab.boundingBoxSize.x, (float)prefab.boundingBoxSize.y, (float)prefab.boundingBoxSize.z));
base.OwnerQuest.QuestPrefab = prefab;
base.OwnerQuest.DataVariables.Add("POIName", base.OwnerQuest.QuestPrefab.location.Name);
return this.position;
}
return Vector3.zero;
}
else
{
//Log.Out("ObjectiveGotoNamedPOIRebirth GetPosition 9");
SingletonMonoBehaviour<ConnectionManager>.Instance.SendToServer(NetPackageManager.GetPackage<NetPackageQuestNamedPOIGotoRebirth>().Setup(this.POIName, entityAlive.entityId, base.OwnerQuest.QuestTags, base.OwnerQuest.QuestCode, NetPackageQuestNamedPOIGotoRebirth.QuestGotoTypes.RandomPOI, base.OwnerQuest.QuestClass.DifficultyTier, 0, -1, 0f, 0f, 0f, -1f, this.biomeFilterType, this.biomeFilter), false);
base.CurrentValue = 1;
}
//Log.Out("ObjectiveGotoNamedPOIRebirth GetPosition END");
return Vector3.zero;
}
public override BaseObjective Clone()
{
//Log.Out("ObjectiveGotoNamedPOIRebirth-Clone");
ObjectiveGotoNamedPOIRebirth objectiveRandomPOIGoto = new ObjectiveGotoNamedPOIRebirth();
this.CopyValues(objectiveRandomPOIGoto);
objectiveRandomPOIGoto.POIName = POIName;
return objectiveRandomPOIGoto;
}
public override string ParseBinding(string bindingName)
{
//Log.Out("ObjectiveGotoNamedPOIRebirth-ParseBinding");
string id = base.ID;
string value = base.Value;
if (bindingName != null)
{
if (!(bindingName == "name"))
{
if (!(bindingName == "distance"))
{
if (bindingName == "direction")
{
if (base.OwnerQuest.QuestGiverID != -1)
{
EntityNPC entityNPC = GameManager.Instance.World.GetEntity(base.OwnerQuest.QuestGiverID) as EntityNPC;
if (entityNPC != null)
{
this.position.y = 0f;
Vector3 position = entityNPC.position;
position.y = 0f;
return ValueDisplayFormatters.Direction(GameUtils.GetDirByNormal(new Vector2(this.position.x - position.x, this.position.z - position.z)), false);
}
}
}
}
else if (base.OwnerQuest.QuestGiverID != -1)
{
EntityNPC entityNPC2 = GameManager.Instance.World.GetEntity(base.OwnerQuest.QuestGiverID) as EntityNPC;
if (entityNPC2 != null)
{
Vector3 position2 = entityNPC2.position;
this.currentDistance = Vector3.Distance(position2, this.position);
return ValueDisplayFormatters.Distance(this.currentDistance);
}
}
}
else if (SingletonMonoBehaviour<ConnectionManager>.Instance.IsServer)
{
if (base.OwnerQuest.DataVariables.ContainsKey("POIName"))
{
return base.OwnerQuest.DataVariables["POIName"];
}
if (base.OwnerQuest.QuestPrefab == null)
{
return "";
}
return base.OwnerQuest.QuestPrefab.location.Name;
}
else
{
if (!base.OwnerQuest.DataVariables.ContainsKey("POIName"))
{
return "";
}
return base.OwnerQuest.DataVariables["POIName"];
}
}
return "";
}
}

View File

@@ -0,0 +1,79 @@
using System.Collections.Generic;
using System.Globalization;
// Token: 0x0200055C RID: 1372
public class ObjectiveGotoRandomNPCRebirth : ObjectiveGotoRandomSDX
{
public override bool NeedsNPCSetPosition
{
get
{
return true;
}
}
public override bool SetupPosition(EntityNPC ownerNPC = null, EntityPlayer player = null, List<Vector2> usedPOILocations = null, int entityIDforQuests = -1)
{
return this.GetPosition(ownerNPC) != Vector3.zero;
}
protected Vector3 GetPosition(EntityNPC ownerNPC)
{
if (base.OwnerQuest.GetPositionData(out this.position, Quest.PositionDataTypes.Location))
{
base.OwnerQuest.Position = this.position;
this.positionSet = true;
base.OwnerQuest.HandleMapObject(Quest.PositionDataTypes.Location, this.NavObjectName, -1);
base.CurrentValue = 2;
return this.position;
}
if (base.OwnerQuest.GetPositionData(out this.position, Quest.PositionDataTypes.TreasurePoint))
{
this.positionSet = true;
base.OwnerQuest.SetPositionData(Quest.PositionDataTypes.Location, base.OwnerQuest.Position);
base.CurrentValue = 2;
return this.position;
}
float distance = 50f;
if (base.Value != null && base.Value != "" && !StringParsers.TryParseFloat(base.Value, out distance, 0, -1, NumberStyles.Any) && base.Value.Contains("-"))
{
string[] array = base.Value.Split(new char[]
{
'-'
});
float num = StringParsers.ParseFloat(array[0], 0, -1, NumberStyles.Any);
float num2 = StringParsers.ParseFloat(array[1], 0, -1, NumberStyles.Any);
distance = GameManager.Instance.World.GetGameRandom().RandomFloat * (num2 - num) + num;
}
if (SingletonMonoBehaviour<ConnectionManager>.Instance.IsServer)
{
Vector3i vector3i = ObjectiveGotoRandomNPCRebirth.CalculateRandomPoint(ownerNPC.entityId, distance, base.OwnerQuest.ID);
if (!GameManager.Instance.World.CheckForLevelNearbyHeights((float)vector3i.x, (float)vector3i.z, 5) || GameManager.Instance.World.GetWaterAt((float)vector3i.x, (float)vector3i.z))
{
return Vector3.zero;
}
World world = GameManager.Instance.World;
if (vector3i.y > 0 && world.IsPositionInBounds(this.position) && !world.IsPositionWithinPOI(this.position, 5))
{
base.FinalizePoint(vector3i.x, vector3i.y, vector3i.z);
return this.position;
}
}
else
{
SingletonMonoBehaviour<ConnectionManager>.Instance.SendToServer(NetPackageManager.GetPackage<NetPackageQuestTreasurePoint>().Setup(ownerNPC.entityId, distance, 1, base.OwnerQuest.QuestCode, 0, -1, 0, false), false);
base.CurrentValue = 1;
}
return Vector3.zero;
}
public override BaseObjective Clone()
{
ObjectiveGotoRandomNPCRebirth objectiveRandomGotoNPC = new ObjectiveGotoRandomNPCRebirth();
this.CopyValues(objectiveRandomGotoNPC);
objectiveRandomGotoNPC.position = this.position;
objectiveRandomGotoNPC.positionSet = this.positionSet;
objectiveRandomGotoNPC.completionDistance = this.completionDistance;
return objectiveRandomGotoNPC;
}
}

View File

@@ -0,0 +1,326 @@
using System.Globalization;
public class ObjectiveGotoRandomSDX : BaseObjective
{
public override BaseObjective.ObjectiveValueTypes ObjectiveValueType
{
get
{
return BaseObjective.ObjectiveValueTypes.Distance;
}
}
public override void SetupObjective()
{
this.keyword = Localization.Get("ObjectiveRallyPointHeadTo");
this.SetupIcon();
}
public override bool UpdateUI
{
get
{
return base.ObjectiveState != BaseObjective.ObjectiveStates.Failed;
}
}
public override void SetupDisplay()
{
base.Description = this.keyword;
this.StatusText = "";
}
public override string StatusText
{
get
{
if (base.OwnerQuest.CurrentState == Quest.QuestState.InProgress)
{
return ValueDisplayFormatters.Distance(this.distance);
}
if (base.OwnerQuest.CurrentState == Quest.QuestState.NotStarted)
{
return "";
}
if (base.ObjectiveState == BaseObjective.ObjectiveStates.Failed)
{
return Localization.Get("failed");
}
return Localization.Get("completed");
}
}
public override void AddHooks()
{
QuestEventManager.Current.AddObjectiveToBeUpdated(this);
base.OwnerQuest.HandleMapObject(Quest.PositionDataTypes.Location, this.NavObjectName, -1);
}
public override void RemoveHooks()
{
QuestEventManager.Current.RemoveObjectiveToBeUpdated(this);
}
protected virtual void SetupIcon()
{
}
protected virtual Vector3 GetPosition()
{
//Log.Out("ObjectiveGotoRandomSDX-GetPosition START");
//Log.Out("ObjectiveGotoRandomSDX-GetPosition this.position.x: " + this.position.x);
//Log.Out("ObjectiveGotoRandomSDX-GetPosition this.position.y: " + this.position.y);
//Log.Out("ObjectiveGotoRandomSDX-GetPosition this.position.z: " + this.position.z);
if (base.OwnerQuest.GetPositionData(out this.position, Quest.PositionDataTypes.Location))
{
//Log.Out("ObjectiveGotoRandomSDX-GetPosition 1");
base.OwnerQuest.Position = this.position;
this.positionSet = true;
base.OwnerQuest.HandleMapObject(Quest.PositionDataTypes.Location, this.NavObjectName, -1);
base.CurrentValue = 2;
return this.position;
}
if (base.OwnerQuest.GetPositionData(out this.position, Quest.PositionDataTypes.TreasurePoint))
{
//Log.Out("ObjectiveGotoRandomSDX-GetPosition 2");
this.positionSet = true;
base.OwnerQuest.SetPositionData(Quest.PositionDataTypes.Location, base.OwnerQuest.Position);
base.OwnerQuest.HandleMapObject(Quest.PositionDataTypes.Location, this.NavObjectName, -1);
base.CurrentValue = 2;
return this.position;
}
EntityPlayer ownerPlayer = base.OwnerQuest.OwnerJournal.OwnerPlayer;
float num = 50f;
if (base.Value != null && base.Value != "" && !StringParsers.TryParseFloat(base.Value, out num, 0, -1, NumberStyles.Any) && base.Value.Contains("-"))
{
//Log.Out("ObjectiveGotoRandomSDX-GetPosition 3");
string[] array = base.Value.Split(new char[]
{
'-'
});
float num2 = StringParsers.ParseFloat(array[0], 0, -1, NumberStyles.Any);
float num3 = StringParsers.ParseFloat(array[1], 0, -1, NumberStyles.Any);
num = GameManager.Instance.World.GetGameRandom().RandomFloat * (num3 - num2) + num2;
}
//Log.Out("ObjectiveGotoRandomSDX-GetPosition Instance.IsServer: " + SingletonMonoBehaviour<ConnectionManager>.Instance.IsServer);
if (SingletonMonoBehaviour<ConnectionManager>.Instance.IsServer)
{
//Log.Out("ObjectiveGotoRandomSDX-GetPosition 4");
Vector3i vector3i = ObjectiveGotoRandomSDX.CalculateRandomPoint(ownerPlayer.entityId, num, base.OwnerQuest.ID);
if (!GameManager.Instance.World.CheckForLevelNearbyHeights((float)vector3i.x, (float)vector3i.z, 5) || GameManager.Instance.World.GetWaterAt((float)vector3i.x, (float)vector3i.z))
{
//Log.Out("ObjectiveGotoRandomSDX-GetPosition 4a");
return Vector3.zero;
}
World world = GameManager.Instance.World;
Vector3 vector3 = new Vector3((float)vector3i.x, (float)vector3i.y, (float)vector3i.z);
//Log.Out("ObjectiveGotoRandomSDX-GetPosition vector3i.y: " + vector3i.y);
//Log.Out("ObjectiveGotoRandomSDX-GetPosition IsPositionInBounds: " + world.IsPositionInBounds(vector3));
//Log.Out("ObjectiveGotoRandomSDX-GetPosition IsPositionWithinPOI: " + world.IsPositionWithinPOI(vector3, 5));
if (vector3i.y > 0 && world.IsPositionInBounds(vector3) && !world.IsPositionWithinPOI(vector3, 5))
{
//Log.Out("ObjectiveGotoRandomSDX-GetPosition 4b");
this.FinalizePoint(vector3i.x, vector3i.y, vector3i.z);
return this.position;
}
}
else
{
//Log.Out("ObjectiveGotoRandomSDX-GetPosition 5");
SingletonMonoBehaviour<ConnectionManager>.Instance.SendToServer(NetPackageManager.GetPackage<NetPackageQuestPointTreasureSDX>().Setup(ownerPlayer.entityId, num, 1, base.OwnerQuest.QuestCode, 0, -1, 0, false), false);
base.CurrentValue = 1;
}
//Log.Out("ObjectiveGotoRandomSDX-GetPosition END");
return Vector3.zero;
}
public static Vector3i CalculateRandomPoint(int entityID, float distance, string questID)
{
//Log.Out("ObjectiveGotoRandomSDX-CalculateRandomPoint START");
//Log.Out("ObjectiveGotoRandomSDX-CalculateRandomPoint distance: " + distance);
World world = GameManager.Instance.World;
EntityAlive entityAlive = world.GetEntity(entityID) as EntityAlive;
var vector = new Vector3(world.GetGameRandom().RandomFloat * 2f + -1f, 0f, world.GetGameRandom().RandomFloat * 2f + -1f);
vector.Normalize();
Vector3 vector2 = entityAlive.position + vector * distance;
int x = (int)vector2.x;
int z = (int)vector2.z;
int y = (int)world.GetHeightAt(vector2.x, vector2.z);
//Log.Out("ObjectiveGotoRandomSDX-CalculateRandomPoint x: " + x);
//Log.Out("ObjectiveGotoRandomSDX-CalculateRandomPoint y: " + y);
//Log.Out("ObjectiveGotoRandomSDX-CalculateRandomPoint z: " + z);
Vector3i vector3i = new Vector3i(x, y, z);
Vector3 vector3 = new Vector3((float)vector3i.x, (float)vector3i.y, (float)vector3i.z);
//Log.Out("ObjectiveGotoRandomSDX-CalculateRandomPoint IsPositionInBounds: " + world.IsPositionInBounds(vector3));
//Log.Out("ObjectiveGotoRandomSDX-CalculateRandomPoint CanPlaceBlockAt: " + world.CanPlaceBlockAt(vector3i, GameManager.Instance.GetPersistentLocalPlayer(), false));
//Log.Out("ObjectiveGotoRandomSDX-CalculateRandomPoint IsPositionWithinPOI: " + world.IsPositionWithinPOI(vector3, 2));
if (!world.IsPositionInBounds(vector3) || (entityAlive is EntityPlayer && !world.CanPlaceBlockAt(vector3i, GameManager.Instance.GetPersistentLocalPlayer(), false)) || world.IsPositionWithinPOI(vector3, 2))
{
//Log.Out("ObjectiveGotoRandomSDX-CalculateRandomPoint 1");
return new Vector3i(0, -99999, 0);
}
//Log.Out("ObjectiveGotoRandomSDX-CalculateRandomPoint CheckForLevelNearbyHeights: " + world.CheckForLevelNearbyHeights(vector2.x, vector2.z, 5));
//Log.Out("ObjectiveGotoRandomSDX-CalculateRandomPoint GetWaterAt: " + world.GetWaterAt(vector2.x, vector2.z));
if (!world.CheckForLevelNearbyHeights(vector2.x, vector2.z, 5) || world.GetWaterAt(vector2.x, vector2.z))
{
//Log.Out("ObjectiveGotoRandomSDX-CalculateRandomPoint 2");
return new Vector3i(0, -99999, 0);
}
//Log.Out("ObjectiveGotoRandomSDX-CalculateRandomPoint END");
return vector3i;
}
public void FinalizePoint(int x, int y, int z)
{
//Log.Out("ObjectiveGotoRandomSDX-FinalizePoint START");
this.position = new Vector3((float)x, (float)y, (float)z);
base.OwnerQuest.SetPositionData(Quest.PositionDataTypes.Location, this.position);
base.OwnerQuest.Position = this.position;
this.positionSet = true;
base.OwnerQuest.HandleMapObject(Quest.PositionDataTypes.Location, this.NavObjectName, -1);
base.CurrentValue = 2;
}
public override void Update(float deltaTime)
{
if (Time.time > this.updateTime)
{
this.updateTime = Time.time + 1f;
if (!this.positionSet && base.CurrentValue != 1)
{
//Log.Out("ObjectiveGotoRandomSDX-Update 1");
bool position = this.GetPosition() != Vector3.zero;
}
switch (base.CurrentValue)
{
case 0:
//Log.Out("ObjectiveGotoRandomSDX-Update 2");
bool flag = this.GetPosition() != Vector3.zero;
return;
case 1:
//Log.Out("ObjectiveGotoRandomSDX-Update 3");
break;
case 2:
{
//Log.Out("ObjectiveGotoRandomSDX-Update 4");
Entity ownerPlayer = base.OwnerQuest.OwnerJournal.OwnerPlayer;
if (base.OwnerQuest.NavObject != null && base.OwnerQuest.NavObject.TrackedPosition != this.position)
{
//Log.Out("ObjectiveGotoRandomSDX-Update 5");
base.OwnerQuest.NavObject.TrackedPosition = this.position;
}
Vector3 vector = ownerPlayer.position;
this.distance = Vector3.Distance(vector, this.position);
if (this.distance < this.completionDistance && base.OwnerQuest.CheckRequirements())
{
//Log.Out("ObjectiveGotoRandomSDX-Update 6");
base.CurrentValue = 3;
this.Refresh();
return;
}
break;
}
case 3:
{
//Log.Out("ObjectiveGotoRandomSDX-Update 7");
if (this.completeWithinRange)
{
//Log.Out("ObjectiveGotoRandomSDX-Update 8");
QuestEventManager.Current.RemoveObjectiveToBeUpdated(this);
return;
}
Entity ownerPlayer2 = base.OwnerQuest.OwnerJournal.OwnerPlayer;
if (base.OwnerQuest.NavObject != null && base.OwnerQuest.NavObject.TrackedPosition != this.position)
{
//Log.Out("ObjectiveGotoRandomSDX-Update 9");
base.OwnerQuest.NavObject.TrackedPosition = this.position;
}
Vector3 vector2 = ownerPlayer2.position;
this.distance = Vector3.Distance(vector2, this.position);
if (this.distance > this.completionDistance)
{
//Log.Out("ObjectiveGotoRandomSDX-Update 10");
base.CurrentValue = 2;
this.Refresh();
}
break;
}
default:
//Log.Out("ObjectiveGotoRandomSDX-Update 11");
return;
}
}
}
public override void Refresh()
{
bool complete = base.CurrentValue == 3;
base.Complete = complete;
if (base.Complete)
{
base.OwnerQuest.RefreshQuestCompletion(QuestClass.CompletionTypes.AutoComplete, null, this.PlayObjectiveComplete);
}
}
public override BaseObjective Clone()
{
ObjectiveGotoRandomSDX objectiveRandomGoto = new ObjectiveGotoRandomSDX();
this.CopyValues(objectiveRandomGoto);
objectiveRandomGoto.position = this.position;
objectiveRandomGoto.positionSet = this.positionSet;
objectiveRandomGoto.completionDistance = this.completionDistance;
return objectiveRandomGoto;
}
public override bool SetLocation(Vector3 pos, Vector3 size)
{
this.FinalizePoint((int)pos.x, (int)pos.y, (int)pos.z);
return true;
}
public override void ParseProperties(DynamicProperties properties)
{
base.ParseProperties(properties);
if (properties.Values.ContainsKey(ObjectiveGotoRandomSDX.PropDistance))
{
base.Value = properties.Values[ObjectiveGotoRandomSDX.PropDistance];
}
if (properties.Values.ContainsKey(ObjectiveGotoRandomSDX.PropCompletionDistance))
{
this.completionDistance = StringParsers.ParseFloat(properties.Values[ObjectiveGotoRandomSDX.PropCompletionDistance], 0, -1, NumberStyles.Any);
}
}
protected bool positionSet;
protected float distance;
protected float completionDistance = 10f;
protected Vector3 position;
protected string icon = "ui_game_symbol_quest";
private float updateTime;
protected bool completeWithinRange = true;
public static string PropDistance = "distance";
public static string PropCompletionDistance = "completion_distance";
protected enum GotoStates
{
NoPosition,
WaitingForPoint,
TryComplete,
Completed
}
}

View File

@@ -0,0 +1,125 @@
using System.Collections.Generic;
public class ObjectiveInteractWithNPCRebirth : BaseObjective
{
public override void SetupObjective()
{
//Log.Out("ObjectiveInteractWithNPCRebirth-SetupObjective");
}
public override void SetupDisplay()
{
//Log.Out("ObjectiveInteractWithNPCRebirth-SetupDisplay");
Description = Localization.Get("ObjectiveTalkToTrader_" + traderID);
StatusText = "";
}
public override bool PlayObjectiveComplete
{
get
{
return false;
}
}
public override void AddHooks()
{
//Log.Out("ObjectiveInteractWithNPCRebirth-AddHooks");
QuestEventManager.Current.NPCInteract += Current_NPCInteract;
if (useClosest)
{
List<Entity> entitiesInBounds = GameManager.Instance.World.GetEntitiesInBounds(null, new Bounds(OwnerQuest.Position, new Vector3(50f, 50f, 50f)));
if (entitiesInBounds != null && entitiesInBounds.Count > 0)
{
for (int i = 0; i < entitiesInBounds.Count; i++)
{
if (entitiesInBounds[i] is EntityNPC)
{
OwnerQuest.SetPositionData(Quest.PositionDataTypes.QuestGiver, entitiesInBounds[i].position);
OwnerQuest.QuestGiverID = entitiesInBounds[i].entityId;
OwnerQuest.QuestFaction = ((EntityNPC)entitiesInBounds[i]).NPCInfo.QuestFaction;
OwnerQuest.RallyMarkerActivated = true;
OwnerQuest.HandleMapObject(Quest.PositionDataTypes.QuestGiver, NavObjectName, -1);
return;
}
}
}
}
}
public override void RemoveHooks()
{
//Log.Out("ObjectiveInteractWithNPCRebirth-RemoveHooks");
QuestEventManager.Current.NPCInteract -= Current_NPCInteract;
}
private void Current_NPCInteract(EntityNPC npc)
{
/*Log.Out("ObjectiveInteractWithNPCRebirth-Current_NPCInteract EntityName: " + npc.EntityName);
Log.Out("ObjectiveInteractWithNPCRebirth-Current_NPCInteract entityClassName: " + npc.EntityClass.entityClassName);
Log.Out("ObjectiveInteractWithNPCRebirth-Current_NPCInteract traderID: " + traderID);*/
string[] words = traderID.Split('~');
for (int i = 0; i < words.Length; i++)
{
if (npc.EntityClass.entityClassName == words[i])
{
if (OwnerQuest.QuestFaction == 0)
{
OwnerQuest.QuestFaction = npc.NPCInfo.QuestFaction;
}
traderName = npc.EntityName;
CurrentValue = 1;
Refresh();
break;
}
}
}
public override void Refresh()
{
//Log.Out("ObjectiveInteractWithNPCRebirth-Refresh");
if (Complete) return;
bool complete = CurrentValue == 1;
Complete = complete;
if (Complete)
{
OwnerQuest.RefreshQuestCompletion(QuestClass.CompletionTypes.AutoComplete, null, PlayObjectiveComplete);
}
}
public override BaseObjective Clone()
{
//Log.Out("ObjectiveInteractWithNPCRebirth-Clone");
ObjectiveInteractWithNPCRebirth ObjectiveInteractWithNPCRebirth = new ObjectiveInteractWithNPCRebirth();
CopyValues(ObjectiveInteractWithNPCRebirth);
ObjectiveInteractWithNPCRebirth.useClosest = useClosest;
ObjectiveInteractWithNPCRebirth.traderID = traderID;
return ObjectiveInteractWithNPCRebirth;
}
public override void ParseProperties(DynamicProperties properties)
{
//Log.Out("ObjectiveInteractWithNPCRebirth-ParseProperties");
base.ParseProperties(properties);
if (properties.Values.ContainsKey(PropUseClosest))
{
useClosest = StringParsers.ParseBool(properties.Values[PropUseClosest], 0, -1, true);
}
if (properties.Values.ContainsKey(PropTraderName))
{
traderID = properties.Values[PropTraderName];
}
//Log.Out("ObjectiveInteractWithNPCRebirth-ParseProperties, this.traderID: " + this.traderID);
}
public static string PropUseClosest = "use_closest";
public static string PropTraderName = "trader_id";
private bool useClosest;
private string traderID = "";
private string traderName = "";
}

View File

@@ -0,0 +1,294 @@
using System.Collections.Generic;
public class ObjectiveRandomGotoPOISDX : ObjectiveRandomPOIGoto
{
public override void SetupObjective()
{
//Log.Out("ObjectiveRandomGotoPOISDX-SetupObjective");
this.keyword = Localization.Get("ObjectiveRallyPointHeadTo");
}
public override void SetupIcon()
{
//Log.Out("ObjectiveRandomGotoPOISDX-SetupIcon");
this.icon = "ui_game_symbol_quest";
}
public override bool NeedsNPCSetPosition
{
get
{
//Log.Out("ObjectiveRandomGotoPOISDX-NeedsNPCSetPosition");
return true;
}
}
public override bool SetupPosition(EntityNPC ownerNPC = null, EntityPlayer player = null, List<Vector2> usedPOILocations = null, int entityIDforQuests = -1)
{
//Log.Out("ObjectiveRandomGotoPOISDX-SetupPosition");
return this.GetPosition(ownerNPC, player, usedPOILocations, entityIDforQuests) != Vector3.zero;
}
public override void AddHooks()
{
//Log.Out("ObjectiveRandomGotoPOISDX-AddHooks");
base.AddHooks();
base.OwnerQuest.HandleMapObject(Quest.PositionDataTypes.POIPosition, this.NavObjectName, -1);
}
public void SetDistanceOffset(Vector3 POISize)
{
//Log.Out("ObjectiveRandomGotoPOISDX-SetDistanceOffset");
if (POISize.x > POISize.z)
{
this.distanceOffset = POISize.x;
return;
}
this.distanceOffset = POISize.z;
}
public override void SetPosition(Vector3 POIPosition, Vector3 POISize)
{
//Log.Out("ObjectiveRandomGotoPOISDX-SetPosition");
this.SetDistanceOffset(POISize);
base.OwnerQuest.SetPositionData(Quest.PositionDataTypes.POIPosition, POIPosition);
base.OwnerQuest.SetPositionData(Quest.PositionDataTypes.POISize, POISize);
base.OwnerQuest.Position = POIPosition;
this.position = POIPosition;
}
public override Vector3 GetPosition(EntityNPC ownerNPC = null, EntityPlayer entityPlayer = null, List<Vector2> usedPOILocations = null, int entityIDforQuests = -1)
{
/*Log.Out("ObjectiveRandomGotoPOISDX-GetPosition");
Log.Out("ObjectiveRandomGotoPOISDX-GetPosition, X: " + ownerNPC.position.x);
Log.Out("ObjectiveRandomGotoPOISDX-GetPosition, Y: " + ownerNPC.position.y);
Log.Out("ObjectiveRandomGotoPOISDX-GetPosition, Z: " + ownerNPC.position.z);*/
if (base.OwnerQuest.GetPositionData(out this.position, Quest.PositionDataTypes.POIPosition))
{
//Log.Out("ObjectiveRandomGotoPOISDX-GetPosition-1");
Vector3 vector;
base.OwnerQuest.GetPositionData(out vector, Quest.PositionDataTypes.POISize);
Vector2 vector2 = new Vector2(this.position.x + vector.x / 2f, this.position.z + vector.z / 2f);
int num = (int)vector2.x;
int num2 = (int)vector2.y;
int num3 = (int)GameManager.Instance.World.GetHeightAt(vector2.x, vector2.y);
this.position = new Vector3((float)num, (float)num3, (float)num2);
base.OwnerQuest.Position = this.position;
this.SetDistanceOffset(vector);
this.positionSet = true;
base.OwnerQuest.HandleMapObject(Quest.PositionDataTypes.POIPosition, this.NavObjectName, -1);
base.CurrentValue = 2;
return this.position;
}
//Log.Out("ObjectiveRandomGotoPOISDX-GetPosition: log1");
EntityAlive entityAlive = null;
if (ownerNPC == null)
{
entityAlive = base.OwnerQuest.OwnerJournal.OwnerPlayer;
}
else
{
entityAlive = ownerNPC;
}
if (SingletonMonoBehaviour<ConnectionManager>.Instance.IsServer)
{
//Log.Out("ObjectiveRandomGotoPOISDX-GetPosition-current position: x:" + entityAlive.position.x + ", z:" + entityAlive.position.z);
//Log.Out("ObjectiveRandomGotoPOISDX-GetPosition base.OwnerQuest.QuestTags:" + base.OwnerQuest.QuestTags);
//Log.Out("ObjectiveRandomGotoPOISDX-GetPosition this.OwnerQuest.QuestClass.DifficultyTier:" + (byte)this.OwnerQuest.QuestClass.DifficultyTier);
//Log.Out("ObjectiveRandomGotoPOISDX-GetPosition this.biomeFilterType:" + this.biomeFilterType);
//Log.Out("ObjectiveRandomGotoPOISDX-GetPosition this.biomeFilter:" + this.biomeFilter);
PrefabInstance prefabInstance;
prefabInstance = GameManager.Instance.World.ChunkClusters[0].ChunkProvider.GetDynamicPrefabDecorator().GetRandomPOINearWorldPos(new Vector2(entityAlive.position.x, entityAlive.position.z), 1000, 4000000, base.OwnerQuest.QuestTags, (byte)this.OwnerQuest.QuestClass.DifficultyTier, usedPOILocations, entityIDforQuests, this.biomeFilterType, this.biomeFilter);
float numPlayerX = entityAlive.position.x;
float numPlayerZ = entityAlive.position.z;
if (prefabInstance != null)
{
Vector2 vector3a = new Vector2((float)prefabInstance.boundingBoxPosition.x + (float)prefabInstance.boundingBoxSize.x / 2f, (float)prefabInstance.boundingBoxPosition.z + (float)prefabInstance.boundingBoxSize.z / 2f);
float numPreFabX = (float)vector3a.x;
float numPreFabZ = (float)vector3a.y;
float numDiffXa = Math.Abs(numPreFabX - numPlayerX);
float numDiffZa = Math.Abs(numPreFabZ - numPlayerZ);
float numDiffa = Math.Abs(numDiffXa + numDiffZa);
/*Log.Out("ObjectiveRandomGotoPOISDX-GetPosition-Prefab Name:" + prefabInstance.name);
Log.Out("ObjectiveRandomGotoPOISDX-GetPosition-Distance:" + this.Value);
Log.Out("ObjectiveRandomGotoPOISDX-GetPosition-Original Prefab diffXa:" + numDiffXa + ", diffZa: " + numDiffZa);
Log.Out("ObjectiveRandomGotoPOISDX-GetPosition-Original Prefab diff:" + numDiffa);*/
int minDistance = 0;
int maxDistance = 0;
if (this.Value != null)
{
string[] words = this.Value.Split('-');
int valueCounter = 0;
foreach (String word in words)
{
//Log.Out("ObjectiveRandomGotoPOISDX-GetPosition-Split: " + word);
valueCounter++;
if (valueCounter == 1)
{
minDistance = Int32.Parse(word);
}
else
{
maxDistance = Int32.Parse(word);
}
}
}
//Log.Out("ObjectiveRandomGotoPOISDX-GetPosition-minDistance: " + minDistance + ", maxDistance: " + maxDistance);
for (int j = 0; j < 20; j++)
{
PrefabInstance prefabInstance2;
prefabInstance2 = GameManager.Instance.World.ChunkClusters[0].ChunkProvider.GetDynamicPrefabDecorator().GetRandomPOINearWorldPos(new Vector2(entityAlive.position.x, entityAlive.position.z), 1000, 4000000, base.OwnerQuest.QuestTags, base.OwnerQuest.QuestClass.DifficultyTier, usedPOILocations, entityIDforQuests, this.biomeFilterType, this.biomeFilter);
if (prefabInstance2 != null)
{
Vector2 vector3b = new Vector2((float)prefabInstance2.boundingBoxPosition.x + (float)prefabInstance2.boundingBoxSize.x / 2f, (float)prefabInstance2.boundingBoxPosition.z + (float)prefabInstance2.boundingBoxSize.z / 2f);
numPreFabX = (float)vector3b.x;
numPreFabZ = (float)vector3b.y;
float numDiffXb = Math.Abs(numPreFabX - numPlayerX);
float numDiffZb = Math.Abs(numPreFabZ - numPlayerZ);
float numDiffb = Math.Abs(numDiffXb + numDiffZb);
if (numDiffb < numDiffa)
{
if ((numDiffb > minDistance) && (numDiffb < maxDistance))
{
prefabInstance = prefabInstance2;
numDiffa = numDiffb;
//Log.Out("ObjectiveRandomGotoPOISDX-GetPosition-Prefab Name:" + prefabInstance.name);
}
}
}
//("ObjectiveRandomGotoPOISDX-GetPosition-New Prefab diffXb:" + numDiffXb + ", diffZb: " + numDiffZb);
//Log.Out("ObjectiveRandomGotoPOISDX-GetPosition-New Prefab diff:" + numDiffb);
}
}
if (prefabInstance == null)
{
Log.Error("ObjectiveRandomGotoPOISDX: Null Prefab.");
return Vector3.zero;
}
if (prefabInstance != null)
{
Vector2 vector3 = new Vector2((float)prefabInstance.boundingBoxPosition.x + (float)prefabInstance.boundingBoxSize.x / 2f, (float)prefabInstance.boundingBoxPosition.z + (float)prefabInstance.boundingBoxSize.z / 2f);
if (vector3.x == -0.1f && vector3.y == -0.1f)
{
Log.Error("ObjectiveRandomGotoPOISDX: No POI found.");
return Vector3.zero;
}
int num4 = (int)vector3.x;
int num5 = (int)GameManager.Instance.World.GetHeightAt(vector3.x, vector3.y);
int num6 = (int)vector3.y;
this.position = new Vector3((float)num4, (float)num5, (float)num6);
//Log.Out("ObjectiveRandomGotoPOISDX-GetPosition-prefab position: x:" + this.position.x + ", z:" + this.position.z);
if (GameManager.Instance.World.IsPositionInBounds(this.position))
{
base.OwnerQuest.Position = this.position;
base.FinalizePoint(new Vector3((float)prefabInstance.boundingBoxPosition.x, (float)prefabInstance.boundingBoxPosition.y, (float)prefabInstance.boundingBoxPosition.z), new Vector3((float)prefabInstance.boundingBoxSize.x, (float)prefabInstance.boundingBoxSize.y, (float)prefabInstance.boundingBoxSize.z));
base.OwnerQuest.QuestPrefab = prefabInstance;
base.OwnerQuest.DataVariables.Add("POIName", base.OwnerQuest.QuestPrefab.location.Name);
if (usedPOILocations != null)
{
usedPOILocations.Add(new Vector2((float)prefabInstance.boundingBoxPosition.x, (float)prefabInstance.boundingBoxPosition.z));
}
return this.position;
}
}
}
else
{
//Log.Out("ObjectiveRandomGotoPOISDX-GetPosition-3");
SingletonMonoBehaviour<ConnectionManager>.Instance.SendToServer(NetPackageManager.GetPackage<NetPackageQuestPointGotoSDX>().Setup(entityAlive.entityId, base.OwnerQuest.QuestTags, base.OwnerQuest.QuestCode, NetPackageQuestPointGotoSDX.QuestGotoTypes.RandomPOI, base.OwnerQuest.QuestClass.DifficultyTier, 0, -1, 0f, 0f, 0f, -1f, this.biomeFilterType, this.biomeFilter), false);
base.CurrentValue = 1;
}
//Log.Out("ObjectiveRandomGotoPOISDX-End");
return Vector3.zero;
}
public override BaseObjective Clone()
{
//Log.Out("ObjectiveRandomGotoPOISDX-Clone");
ObjectiveRandomGotoPOISDX objectiveRandomPOIGoto = new ObjectiveRandomGotoPOISDX();
this.CopyValues(objectiveRandomPOIGoto);
return objectiveRandomPOIGoto;
}
public override string ParseBinding(string bindingName)
{
//Log.Out("ObjectiveRandomGotoPOISDX-ParseBinding");
string id = base.ID;
string value = base.Value;
if (bindingName != null)
{
if (!(bindingName == "name"))
{
if (!(bindingName == "distance"))
{
if (bindingName == "direction")
{
if (base.OwnerQuest.QuestGiverID != -1)
{
EntityNPC entityNPC = GameManager.Instance.World.GetEntity(base.OwnerQuest.QuestGiverID) as EntityNPC;
if (entityNPC != null)
{
this.position.y = 0f;
Vector3 position = entityNPC.position;
position.y = 0f;
return ValueDisplayFormatters.Direction(GameUtils.GetDirByNormal(new Vector2(this.position.x - position.x, this.position.z - position.z)), false);
}
}
}
}
else if (base.OwnerQuest.QuestGiverID != -1)
{
EntityNPC entityNPC2 = GameManager.Instance.World.GetEntity(base.OwnerQuest.QuestGiverID) as EntityNPC;
if (entityNPC2 != null)
{
Vector3 position2 = entityNPC2.position;
this.currentDistance = Vector3.Distance(position2, this.position);
return ValueDisplayFormatters.Distance(this.currentDistance);
}
}
}
else if (SingletonMonoBehaviour<ConnectionManager>.Instance.IsServer)
{
if (base.OwnerQuest.DataVariables.ContainsKey("POIName"))
{
return base.OwnerQuest.DataVariables["POIName"];
}
if (base.OwnerQuest.QuestPrefab == null)
{
return "";
}
return base.OwnerQuest.QuestPrefab.location.Name;
}
else
{
if (!base.OwnerQuest.DataVariables.ContainsKey("POIName"))
{
return "";
}
return base.OwnerQuest.DataVariables["POIName"];
}
}
return "";
}
}

View File

@@ -0,0 +1,539 @@
using Audio;
using UnityEngine.Scripting;
[Preserve]
public class QuestActionSpawnRebirth : BaseQuestAction
{
public override void SetupAction()
{
}
public override void PerformAction(Quest ownerQuest)
{
if (GameUtils.IsPlaytesting())
{
return;
}
//Log.Out("QuestActionSpawnRebirth-PerformAction START");
int entityID = ownerQuest.OwnerJournal.OwnerPlayer.entityId;
int entityPlayerID = ownerQuest.OwnerJournal.OwnerPlayer.entityId;
string strEntity = "";
string strDistance = "";
string strHeight = "";
string strSpawner = "static";
string strDirection = "";
string strSound = "";
float numStartScale = 1;
int minion = -1;
int numEntities = 1;
bool attackPlayer = true;
int checkMaxEntities = 0;
int minMax = 40;
int maxEntities = 20;
int repeat = 1;
int allNames = 1;
bool atPlayerLevel = false;
bool randomRotation = true;
int numRotation = -1;
int isBoss = -1;
int handParticle = -1;
string lootListName = "";
string lootDropClass = "";
int lootDropChance = 1;
string navIcon = "";
string buffList = "";
bool setRespawn = false;
bool canSpawn = false;
if (this.ID == "DUMMY_FR")
{
entityID = ownerQuest.OwnerJournal.OwnerPlayer.entityId;
entityPlayerID = ownerQuest.OwnerJournal.OwnerPlayer.entityId;
strEntity = "";
strDistance = "";
strHeight = "";
strSpawner = "dynamic";
strDirection = "";
strSound = "";
numStartScale = 1;
minion = -1;
numEntities = 1;
attackPlayer = true;
checkMaxEntities = 0;
minMax = 40;
maxEntities = 20;
repeat = 1;
allNames = 1;
atPlayerLevel = false;
randomRotation = true;
numRotation = -1;
isBoss = -1;
handParticle = -1;
lootListName = "";
lootDropClass = "";
lootDropChance = 1;
navIcon = "";
buffList = "";
setRespawn = false;
}
else if (this.ID == "spawn_QuestAmmoMachine")
{
//Log.Out("QuestActionSpawnRebirth-PerformAction spawn_FuriousRamsay_Kamikaze");
strEntity = "zombieWightRadiated";
isBoss = 1;
strDistance = "30";
lootDropClass = "FuriousRamsayEventLootContainerAmmoMachine";
numStartScale = 1.2f;
handParticle = 11;
//navIcon = "twitch_vote_boss";
navIcon = "";
buffList = "FuriousRamsayBossBuffTier1B";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
// RESET
isBoss = 0;
lootDropClass = "";
navIcon = "";
buffList = "";
numStartScale = 1;
handParticle = -1;
strDistance = "25";
strEntity = "FuriousRamsayKamikazeTier3";
buffList = "FuriousRamsayKamikazeDecayTier3";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
buffList = "FuriousRamsayKamikazeDecayTier4";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
buffList = "FuriousRamsayKamikazeDecayTier5";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
buffList = "";
strEntity = "zombieBikerRadiated";
handParticle = 1;
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
strEntity = "zombieSoldierRadiated";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
handParticle = -1;
strEntity = "FuriousRamsayZombie020_1_1aLeaderTier1";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
strEntity = "FuriousRamsayZombie020_2_1bLeaderTier1";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
strEntity = "FuriousRamsayZombieGiant001";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
strEntity = "FuriousRamsayZombieGiant002";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
}
else if (this.ID == "spawn_FuriousRamsay_Kamikaze")
{
//Log.Out("QuestActionSpawnRebirth-PerformAction spawn_FuriousRamsay_Kamikaze");
strEntity = "FuriousRamsayKamikazeTier1Quest";
repeat = 2;
strDistance = "34";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
strDistance = "32";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
strDistance = "30";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
strDistance = "28";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
strDistance = "26";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
strDistance = "24";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
strDistance = "22";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
strDistance = "20";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
strDistance = "18";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
}
else if (this.ID == "spawn_FuriousRamsay_Start")
{
strDistance = "1";
minion = 1;
attackPlayer = false;
string restrictiveHire = RebirthVariables.customRestrictHires;
if (restrictiveHire != "nofollowers")
{
allNames = 0;
strEntity = "FuriousRamsayNPCShepherd001_FR,FuriousRamsayNPCPitbull001_FR,FuriousRamsayNPCLabrador001_FR,FuriousRamsayNPCHusky001_FR,FuriousRamsayNPCGoldenRetriever001_FR,FuriousRamsayNPCDoberman001_FR,FuriousRamsayNPCDalmatian001_FR,FuriousRamsayNPCBullTerrier001_FR";
//strSound = "FuriousRamsayDogSense";
strSound = "";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
}
attackPlayer = true;
strSound = "";
strDistance = "1";
minion = 0;
allNames = 1;
strDistance = "30";
strEntity = "zombieBoe";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
strEntity = "zombieBoe";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
strEntity = "zombieJoe";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
strEntity = "zombieArlene";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
strEntity = "zombieDarlene";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
strEntity = "zombieMarlene";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
strEntity = "zombieYo";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
strEntity = "zombieSteve";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
strEntity = "zombieBusinessMan";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
strDistance = "25";
strEntity = "FuriousRamsayWindTornado";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
strDistance = "30";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
strDistance = "35";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
strDistance = "40";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
}
else if (this.ID == "spawn_FuriousRamsay_FactionWarWave1_Tier1")
{
strEntity = "FuriousRamsayBanditCyborg001AxeBossTier1";
isBoss = 1;
strDistance = "50";
lootDropClass = "FuriousRamsayBanditCyborg001AxeBossTier1Loot";
//navIcon = "twitch_vote_boss";
navIcon = "";
buffList = "FuriousRamsayBossBuffTier1BNoSpeed";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
// RESET
isBoss = 0;
lootDropClass = "";
navIcon = "";
buffList = "";
strDistance = "40";
strEntity = "FuriousRamsayBanditMan001aBat";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
strEntity = "FuriousRamsayBanditMan001bAxe";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
strEntity = "FuriousRamsayBanditMan002aClub";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
strEntity = "FuriousRamsayBanditMan002bKnife";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
strEntity = "FuriousRamsayBanditMan003aSpear";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
strEntity = "FuriousRamsayBanditMan005aMachete";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
strEntity = "FuriousRamsayBanditMan005dBat";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
strEntity = "FuriousRamsayBanditWoman001dAxe";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
strEntity = "FuriousRamsayBanditWoman001gMachete";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
strDistance = "20";
strEntity = "zombieBoe";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
strEntity = "zombieJoe";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
strEntity = "zombieArlene";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
strEntity = "zombieDarlene";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
strEntity = "zombieMarlene";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
strEntity = "zombieYo";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
strEntity = "zombieSteve";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
strEntity = "zombieBusinessMan";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
strEntity = "zombieSkateboarder";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
strEntity = "zombieNurse";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
attackPlayer = false;
strDistance = "10";
minion = 0;
strSpawner = "dynamic";
strEntity = "FuriousRamsaySurvivorMan010bBat";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
strEntity = "FuriousRamsaySurvivorMan002f1Spear";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
strEntity = "FuriousRamsaySurvivorMan002cMachete";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
strEntity = "FuriousRamsaySurvivorMan000eAxe";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
}
else if (this.ID == "spawn_FuriousRamsay_Ghosts_Tier1")
{
Manager.PlayInsidePlayerHead("snakealert");
strEntity = "FuriousRamsayCloakedSnakeBoss";
strDistance = "25";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
strEntity = "FuriousRamsayCloakedSnake";
strDistance = "20";
repeat = 10;
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
attackPlayer = false;
strDistance = "15";
repeat = 1;
minion = 0;
strSpawner = "dynamic";
strEntity = "FuriousRamsaySurvivorMan010bBat";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
strEntity = "FuriousRamsaySurvivorMan002cMachete";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
/*strEntity = "FuriousRamsaySurvivorMan002f1Spear";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
strEntity = "FuriousRamsaySurvivorMan000eAxe";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);*/
}
else if (this.ID == "spawn_FuriousRamsay_TheHunt_Tier1")
{
if (RebirthVariables.customEventsNotification)
{
Manager.PlayInsidePlayerHead("FuriousRamsayScarecrowAlert");
}
strEntity = "FuriousRamsayWerewolfBossTier1";
isBoss = 1;
strDistance = "35";
numStartScale = 1.2f;
lootDropClass = "FuriousRamsayWerewolfBossTier1Loot";
navIcon = "";
buffList = "FuriousRamsayBossBuffTier1NoSpeed";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
// RESET
isBoss = 0;
lootDropClass = "";
navIcon = "";
buffList = "";
strEntity = "FuriousRamsayAnimalWolfMaleForestSmall";
strDistance = "25";
repeat = 4;
allNames = 0;
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
repeat = 1;
allNames = 1;
strDistance = "15";
strEntity = "zombieBoe";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
strEntity = "zombieJoe";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
strEntity = "zombieArlene";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
strEntity = "zombieDarlene";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
strEntity = "zombieMarlene";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
strEntity = "zombieYo";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
strEntity = "zombieSteve";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
strEntity = "zombieSkateboarder";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
strEntity = "zombiePartyGirl";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
strEntity = "zombieMoe";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
strEntity = "zombieFemaleFat";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
strEntity = "zombieFatHawaiian";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
}
else if (this.ID == "spawn_FuriousRamsay_Hazard_Tier1")
{
Manager.PlayInsidePlayerHead("malehatesense05");
strEntity = "FuriousRamsayPandemicMan002aMacheteBossTier1";
isBoss = 1;
strDistance = "35";
lootDropClass = "FuriousRamsayPandemicMan002aMacheteBossTier1Loot";
navIcon = "boss_event";
buffList = "FuriousRamsayBossBuffTier1BNoSpeed";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
// RESET
isBoss = 0;
lootDropClass = "";
navIcon = "";
buffList = "";
strDistance = "30";
repeat = 15;
allNames = 0;
strEntity = "FuriousRamsayPandemicMan001aBatTier1,FuriousRamsayPandemicMan001aAxeTier1,FuriousRamsayPandemicWoman001aKnifeTier1,FuriousRamsayPandemicWoman001aSpearTier1,FuriousRamsayPandemicMan001aBatTier1,FuriousRamsayPandemicMan001aAxeTier1,FuriousRamsayPandemicWoman001aKnifeTier1,FuriousRamsayPandemicWoman001aSpearTier1,FuriousRamsayPandemicMan001aAxeTier1,FuriousRamsayPandemicWoman001aKnifeTier1,FuriousRamsayPandemicWoman001aSpearTier1,FuriousRamsayPandemicMan001aBatTier1,FuriousRamsayPandemicMan001aAxeTier1,FuriousRamsayPandemicWoman001aKnifeTier1,FuriousRamsayPandemicWoman001aSpearTier1";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
}
else if (this.ID == "spawn_FuriousRamsay_ToxicTier1")
{
strEntity = "zombieYo,zombieTomClark,zombieArlene,zombieDarlene,zombieMarlene,zombieNurse,zombiePartyGirl,zombieSteve,zombieJoe,zombieLab,zombieBusinessMan,zombieBurnt,zombieMaleHazmat,zombieUtilityWorker,zombieSpider,zombieBoe,zombieJanitor,zombieSkateboarder,zombieMoe,zombieFatHawaiian,zombieFemaleFat";
isBoss = 1;
strDistance = "40";
lootDropClass = "FuriousRamsayToxicBossLoot";
navIcon = "FuriousRamsayNavToxicBoss";
buffList = "FuriousRamsayBossBuffTier1B";
handParticle = 5;
numStartScale = 1.5f;
allNames = 0;
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
// RESET
isBoss = 0;
lootDropClass = "";
navIcon = "";
numStartScale = 1f;
strDistance = "30";
repeat = 20;
allNames = 0;
buffList = "FuriousRamsayMinionBuffTier1";
strEntity = "zombieYo,zombieTomClark,zombieArlene,zombieDarlene,zombieMarlene,zombieNurse,zombiePartyGirl,zombieSteve,zombieJoe,zombieLab,zombieBusinessMan,zombieBurnt,zombieMaleHazmat,zombieUtilityWorker,zombieSpider,zombieBoe,zombieJanitor,zombieSkateboarder,zombieMoe,zombieFatHawaiian,zombieFemaleFat";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
}
else if (this.ID == "spawn_FuriousRamsay_MiniHordeBossTier1")
{
Manager.PlayInsidePlayerHead("zombiefemalescoutalert");
strEntity = "zombieBiker";
isBoss = 1;
strDistance = "30";
handParticle = 1;
numStartScale = 1.5f;
lootDropClass = "FuriousRamsayMiniHordeBossTier1Loot";
navIcon = "FuriousRamsayNavMiniHordeBoss";
buffList = "FuriousRamsayBossBuffTier1B";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
// RESET
isBoss = 0;
lootDropClass = "";
handParticle = -1;
navIcon = "";
numStartScale = 1f;
strDistance = "20";
repeat = 20;
allNames = 0;
strEntity = "zombieSoldierFeral";
buffList = "FuriousRamsayMinionBuffTier1";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
}
else if (this.ID == "spawn_FuriousRamsay_NanosEnd_Tier1")
{
strEntity = "NanoCyborg005_Event_FR";
isBoss = 1;
strDistance = "20";
numStartScale = 1.5f;
lootDropClass = "FuriousRamsayQuestLootNanoTier1";
navIcon = "FuriousRamsayNavNanoCyborg005_FR";
buffList = "FuriousRamsayBossBuffTier1BNoSpeed";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
}
else if (this.ID == "spawn_QuestStarterDecoysWave1")
{
attackPlayer = false;
strDistance = "20";
handParticle = 1;
buffList = "";
strEntity = "zombieBoe";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
strEntity = "zombieJoe";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
}
else if (this.ID == "spawn_QuestStarterDecoysWave2")
{
attackPlayer = false;
strDistance = "20";
handParticle = 1;
buffList = "";
strEntity = "zombieJanitor";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
strEntity = "zombieArlene";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
strEntity = "zombieLab";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
strEntity = "zombieDarlene";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
}
else if (this.ID == "spawn_QuestStarterDecoysWave3")
{
attackPlayer = false;
strDistance = "20";
handParticle = 1;
buffList = "";
strEntity = "zombieLab";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
strEntity = "zombieDarlene";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
strEntity = "zombieMarlene";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
strEntity = "zombieYo";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
strEntity = "zombieSteve";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
strEntity = "zombieBusinessMan";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
}
else if (this.ID == "spawn_QuestStarterDecoysEnd")
{
attackPlayer = false;
strDistance = "20";
handParticle = 1;
buffList = "";
strEntity = "zombieBoe";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
strEntity = "zombieJoe";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
strEntity = "zombieJanitor";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
strEntity = "zombieArlene";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
strEntity = "zombieLab";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
strEntity = "zombieDarlene";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
strEntity = "zombieMarlene";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
strEntity = "zombieYo";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
strEntity = "zombieSteve";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
strEntity = "zombieBusinessMan";
RebirthUtilities.SpawnEntity(entityID, strEntity, numEntities, "", "", strDistance, strSpawner, strHeight, strDirection, numStartScale, numRotation, randomRotation, atPlayerLevel, attackPlayer, entityPlayerID, minion, strSound, maxEntities, checkMaxEntities, minMax, repeat, allNames, isBoss, handParticle, lootListName, lootDropClass, lootDropChance, navIcon, buffList);
}
}
public override BaseQuestAction Clone()
{
QuestActionSpawnRebirth QuestActionSpawnRebirth = new QuestActionSpawnRebirth();
base.CopyValues(QuestActionSpawnRebirth);
return QuestActionSpawnRebirth;
}
public override void ParseProperties(DynamicProperties properties)
{
base.ParseProperties(properties);
//properties.ParseString(QuestActionSpawnRebirth.PropSpawnAction, ref this.ID);
}
}