namespace Harmony.EntitySupplyCratePatches { [HarmonyPatch(typeof(EntitySupplyCrate))] [HarmonyPatch("OnUpdateEntity")] public class OnUpdateEntityPatch { public static bool Prefix(ref EntitySupplyCrate __instance, ref bool ___bPlayerStatsChanged) { if (SingletonMonoBehaviour.Instance.IsServer) { bool optionProtectCrate = RebirthVariables.customProtectCrate; //Log.Out("EntitySupplyCratePatches-OnUpdateEntity A"); if (optionProtectCrate && __instance.EntityName == "sc_General") { //Log.Out("EntitySupplyCratePatches-OnUpdateEntity B"); if (__instance.onGround) { __instance.bIsChunkObserver = true; float spawnEntities = __instance.Buffs.GetCustomVar("$spawnEntities"); //Log.Out("EntitySupplyCratePatches-OnUpdateEntity spawnZombies: " + spawnZombies); if (spawnEntities == 1f) { //Log.Out("EntitySupplyCratePatches-OnUpdateEntity 2"); return true; } if (RebirthUtilities.IsHordeNight()) { //Log.Out("EntitySupplyCratePatches-OnUpdateEntity 3"); return true; } EntityPlayer player = __instance.world.GetClosestPlayer(__instance, RebirthVariables.supplyCrateHostileSpawnDistance, false); if (player != null && player.AttachedToEntity == null && !RebirthUtilities.IsQuesting(player)) { //Log.Out("EntitySupplyCratePatches-OnUpdateEntity 4"); int playerLevel = player.Progression.Level; int entityID = __instance.entityId; int entityPlayerID = player.entityId; string strSound = ""; string strDistance = "15"; int minion = 0; int allNames = 1; string strEntity = "zombieBoe"; int numEntities = 1; string strHeight = ""; string strSpawner = "static"; string strDirection = ""; float numStartScale = 1; bool attackPlayer = false; int checkMaxEntities = 0; int minMax = 40; int maxEntities = 20; int repeat = 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 = "buffSupplyCrateSpawn"; int numEntitiesTotal = 8; int randomInt = 0; string biomeName = RebirthUtilities.GetBiomeName(__instance); if (biomeName == "wasteland") { handParticle = 11; } else if (biomeName == "desert") { handParticle = 1; } else if (biomeName == "forest" || biomeName == "pine_forest") { handParticle = 10; } else if (biomeName == "burnt_forest") { handParticle = 1; } else if (biomeName == "snow") { handParticle = 2; } if (playerLevel <= 10) { handParticle = -1; } randomInt = __instance.rand.RandomRange(0, 4); if (playerLevel <= 20) { randomInt = __instance.rand.RandomRange(0, 3); } //Log.Out("EntitySupplyCratePatches-OnUpdateEntity __instance.lootListAlive: " + __instance.lootListAlive); //Log.Out("EntitySupplyCratePatches-OnUpdateEntity randomInt: " + randomInt); if (randomInt == 1 & playerLevel <= 50) { randomInt = 0; } if (randomInt == 0) { // ZOMBIES if (playerLevel <= 5) { __instance.Health = 2000; //__instance.Stats.Health.BaseMax = 1000; __instance.Buffs.SetCustomVar("$healthMax", 2000); allNames = 0; strEntity = "zombieBoe,zombieJoe,zombieArlene,zombieDarlene,zombieMarlene,zombieYo,zombieSteve,zombieBusinessMan"; for (int i = 0; i < 6; i++) { 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 (playerLevel > 5 && playerLevel <= 15) { __instance.Health = 2400; __instance.Buffs.SetCustomVar("$healthMax", 2400); allNames = 0; strEntity = "zombieYo,zombieTomClark,zombieArlene,zombieDarlene,zombieMarlene,zombieNurse,zombiePartyGirl,zombieSteve,zombieJoe,zombieLab,zombieBusinessMan,zombieBurnt,zombieMaleHazmat,zombieUtilityWorker,zombieSpider,zombieBoe,zombieJanitor,zombieSkateboarder,zombieMoe,zombieFatHawaiian,zombieFemaleFat,zombieLumberjack,zombieBiker,zombieSoldier,zombieMutated,FuriousRamsayZombie001,FuriousRamsayZombie002,FuriousRamsayZombie003,FuriousRamsayZombie004,FuriousRamsayZombie005,FuriousRamsayZombie006,FuriousRamsayZombie007"; for (int i = 0; i < 8; i++) { 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 (playerLevel > 15 && playerLevel <= 25) { __instance.Health = 2800; __instance.Buffs.SetCustomVar("$healthMax", 2800); allNames = 0; strEntity = "zombieYoFeral,zombieTomClarkFeral,zombieArleneFeral,zombieDarleneFeral,zombieMarleneFeral,zombieNurseFeral,zombiePartyGirlFeral,zombieSteveFeral,zombieJoeFeral,zombieLabFeral,zombieBusinessManFeral,zombieBurntFeral,zombieMaleHazmatFeral,zombieUtilityWorkerFeral,zombieSpiderFeral,zombieBoeFeral,zombieJanitorFeral"; for (int i = 0; i < 2; i++) { 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,zombieTomClark,zombieArlene,zombieDarlene,zombieMarlene,zombieNurse,zombiePartyGirl,zombieSteve,zombieJoe,zombieLab,zombieBusinessMan,zombieBurnt,zombieMaleHazmat,zombieUtilityWorker,zombieSpider,zombieBoe,zombieJanitor,zombieSkateboarder,zombieMoe,zombieFatHawaiian,zombieFemaleFat,zombieLumberjack,zombieBiker,zombieSoldier,zombieMutated,FuriousRamsayZombie001,FuriousRamsayZombie002,FuriousRamsayZombie003,FuriousRamsayZombie004,FuriousRamsayZombie005,FuriousRamsayZombie006,FuriousRamsayZombie007,zombieFatCop,animalZombieDog"; for (int i = 0; i < 5; i++) { 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 (playerLevel > 25 && playerLevel <= 35) { __instance.Health = 3500; __instance.Buffs.SetCustomVar("$healthMax", 3500); allNames = 0; strEntity = "zombieYoFeral,zombieTomClarkFeral,zombieArleneFeral,zombieDarleneFeral,zombieMarleneFeral,zombieNurseFeral,zombiePartyGirlFeral,zombieSteveFeral,zombieJoeFeral,zombieLabFeral,zombieBusinessManFeral,zombieBurntFeral,zombieMaleHazmatFeral,zombieUtilityWorkerFeral,zombieSpiderFeral,zombieBoeFeral,zombieJanitorFeral,zombieSkateboarderFeral,zombieMoeFeral,zombieFatHawaiianFeral,zombieFemaleFatFeral,zombieLumberjackFeral,zombieBikerFeral,zombieSoldierFeral,zombieFatCopFeral,zombieMutatedFeral,zombieWightFeral,FuriousRamsayZombie008a,FuriousRamsayZombie009a,FuriousRamsayZombie010a,FuriousRamsayZombie011a,FuriousRamsayZombie012a,FuriousRamsayZombie013a,animalZombieDog"; for (int i = 0; i < 6; i++) { 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 (playerLevel > 35 && playerLevel <= 45) { __instance.Health = 4000; __instance.Buffs.SetCustomVar("$healthMax", 4000); allNames = 0; strEntity = "zombieYoRadiated,zombieTomClarkRadiated,zombieArleneRadiated,zombieDarleneRadiated,zombieMarleneRadiated,zombieNurseRadiated,zombiePartyGirlRadiated,zombieSteveRadiated,zombieJoeRadiated,zombieLabRadiated,zombieBusinessManRadiated,zombieBurntRadiated,zombieMaleHazmatRadiated,zombieUtilityWorkerRadiated,zombieSpiderRadiated,zombieBoeRadiated,zombieJanitorRadiated"; for (int i = 0; i < 2; i++) { 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 = "zombieYoFeral,zombieTomClarkFeral,zombieArleneFeral,zombieDarleneFeral,zombieMarleneFeral,zombieNurseFeral,zombiePartyGirlFeral,zombieSteveFeral,zombieJoeFeral,zombieLabFeral,zombieBusinessManFeral,zombieBurntFeral,zombieMaleHazmatFeral,zombieUtilityWorkerFeral,zombieSpiderFeral,zombieBoeFeral,zombieJanitorFeral,zombieSkateboarderFeral,zombieMoeFeral,zombieFatHawaiianFeral,zombieFemaleFatFeral,zombieLumberjackFeral,zombieBikerFeral,zombieSoldierFeral,zombieFatCopFeral,zombieMutatedFeral,zombieWightFeral,FuriousRamsayZombie008a,FuriousRamsayZombie009a,FuriousRamsayZombie010a,FuriousRamsayZombie011a,FuriousRamsayZombie012a,FuriousRamsayZombie013a,animalZombieDog"; for (int i = 0; i < 4; i++) { 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 (playerLevel > 45 && playerLevel <= 55) { __instance.Health = 5000; __instance.Buffs.SetCustomVar("$healthMax", 5000); allNames = 0; strEntity = "zombieYoRadiated,zombieTomClarkRadiated,zombieArleneRadiated,zombieDarleneRadiated,zombieMarleneRadiated,zombieNurseRadiated,zombiePartyGirlRadiated,zombieSteveRadiated,zombieJoeRadiated,zombieLabRadiated,zombieBusinessManRadiated,zombieBurntRadiated,zombieMaleHazmatRadiated,zombieUtilityWorkerRadiated,zombieSpiderRadiated,zombieBoeRadiated,zombieJanitorRadiated"; for (int i = 0; i < 5; i++) { 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 (playerLevel > 55 && playerLevel <= 65) { __instance.Health = 5000; __instance.Buffs.SetCustomVar("$healthMax", 5000); allNames = 0; strEntity = "zombieYoRadiated,zombieTomClarkRadiated,zombieArleneRadiated,zombieDarleneRadiated,zombieMarleneRadiated,zombieNurseRadiated,zombiePartyGirlRadiated,zombieSteveRadiated,zombieJoeRadiated,zombieLabRadiated,zombieBusinessManRadiated,zombieBurntRadiated,zombieMaleHazmatRadiated,zombieUtilityWorkerRadiated,zombieSpiderRadiated,zombieBoeRadiated,zombieJanitorRadiated,zombieSkateboarderRadiated,zombieMoeRadiated,zombieFatHawaiianRadiated,zombieFemaleFatRadiated,zombieLumberjackRadiated,zombieBikerRadiated,zombieSoldierRadiated,zombieMutatedRadiated,zombieWightRadiated"; for (int i = 0; i < 5; i++) { 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 (playerLevel > 65) { __instance.Health = 5000; __instance.Buffs.SetCustomVar("$healthMax", 5000); allNames = 0; strEntity = "zombieSkateboarderRadiated,zombieMoeRadiated,zombieFatHawaiianRadiated,zombieFemaleFatRadiated,zombieLumberjackRadiated,zombieBikerRadiated,zombieSoldierRadiated,zombieMutatedRadiated,zombieWightRadiated"; for (int i = 0; i < 5; i++) { 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); } } } if (randomInt == 1) { /*// ANIMALS if (playerLevel <= 5) { __instance.Health = 2000; __instance.Buffs.SetCustomVar("$healthMax", 2000); allNames = 0; strEntity = "animalSnake"; for (int i = 0; i < 6; i++) { 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 (playerLevel > 5 && playerLevel <= 15) { __instance.Health = 2500; __instance.Buffs.SetCustomVar("$healthMax", 2500); allNames = 0; strEntity = "FuriousRamsayAnimalFoxMale001,FuriousRamsayAnimalFoxMale002,FuriousRamsayAnimalFoxMale003"; for (int i = 0; i < 3; i++) { 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 (playerLevel > 15 && playerLevel <= 30) { __instance.Health = 3000; __instance.Buffs.SetCustomVar("$healthMax", 3000); allNames = 0; strEntity = "FuriousRamsayAnimalWolfMaleForest,FuriousRamsayAnimalWolfMaleDesert2"; for (int i = 0; i < 3; i++) { 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 (playerLevel > 35 && playerLevel <= 50) { __instance.Health = 4000; __instance.Buffs.SetCustomVar("$healthMax", 4000); allNames = 0; strEntity = "FuriousRamsayAnimalWolfMaleDesert,FuriousRamsayAnimalWolfMaleForest2,FuriousRamsayAnimalWolfMaleSnow"; for (int i = 0; i < 4; i++) { 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 (playerLevel > 50 && playerLevel <= 65) { __instance.Health = 5000; __instance.Buffs.SetCustomVar("$healthMax", 5000); allNames = 0; strEntity = "animalMountainLion"; for (int i = 0; i < 5; i++) { 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 (playerLevel > 65) { __instance.Health = 5000; __instance.Buffs.SetCustomVar("$healthMax", 5000); allNames = 0; strEntity = "animalBear"; for (int i = 0; i < 4; i++) { 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); } } } if (randomInt == 2) { if (playerLevel <= 5) { __instance.Health = 1600; __instance.Buffs.SetCustomVar("$healthMax", 1600); allNames = 0; strEntity = "FuriousRamsayBanditMan005aClub,FuriousRamsayBanditMan005bBat,FuriousRamsayBanditMan005cAxe,FuriousRamsayBanditMan005dKnife,FuriousRamsayBanditMan005eSpear,FuriousRamsayBanditMan005fMachete,FuriousRamsayBanditMan002aClub,FuriousRamsayBanditMan002bBat,FuriousRamsayBanditMan002cAxe,FuriousRamsayBanditMan002dSpear,FuriousRamsayBanditMan002eMachete,FuriousRamsayBanditMan002gClub,FuriousRamsayBanditMan002hBat,FuriousRamsayBanditWoman001aAxe,FuriousRamsayBanditWoman001bKnife,FuriousRamsayBanditWoman001cSpear,FuriousRamsayBanditWoman001dMachete,FuriousRamsayBanditWoman001fClub,FuriousRamsayBanditWoman001gBat,FuriousRamsayBanditWoman001hAxe"; for (int i = 0; i < 1; i++) { 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 (playerLevel > 5 && playerLevel <= 15) { __instance.Health = 2000; __instance.Buffs.SetCustomVar("$healthMax", 2000); allNames = 0; strEntity = "FuriousRamsayBanditMan005aClub,FuriousRamsayBanditMan005bBat,FuriousRamsayBanditMan005cAxe,FuriousRamsayBanditMan005dKnife,FuriousRamsayBanditMan005eSpear,FuriousRamsayBanditMan005fMachete,FuriousRamsayBanditMan002aClub,FuriousRamsayBanditMan002bBat,FuriousRamsayBanditMan002cAxe,FuriousRamsayBanditMan002dSpear,FuriousRamsayBanditMan002eMachete,FuriousRamsayBanditMan002gClub,FuriousRamsayBanditMan002hBat,FuriousRamsayBanditWoman001aAxe,FuriousRamsayBanditWoman001bKnife,FuriousRamsayBanditWoman001cSpear,FuriousRamsayBanditWoman001dMachete,FuriousRamsayBanditWoman001fClub,FuriousRamsayBanditWoman001gBat,FuriousRamsayBanditWoman001hAxe"; for (int i = 0; i < 3; i++) { 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 (playerLevel > 15 && playerLevel <= 25) { __instance.Health = 2400; __instance.Buffs.SetCustomVar("$healthMax", 2400); allNames = 0; strEntity = "FuriousRamsayBanditMan005aClub,FuriousRamsayBanditMan005bBat,FuriousRamsayBanditMan005cAxe,FuriousRamsayBanditMan005dKnife,FuriousRamsayBanditMan005eSpear,FuriousRamsayBanditMan005fMachete,FuriousRamsayBanditMan002aClub,FuriousRamsayBanditMan002bBat,FuriousRamsayBanditMan002cAxe,FuriousRamsayBanditMan002dSpear,FuriousRamsayBanditMan002eMachete,FuriousRamsayBanditMan002gClub,FuriousRamsayBanditMan002hBat,FuriousRamsayBanditWoman001aAxe,FuriousRamsayBanditWoman001bKnife,FuriousRamsayBanditWoman001cSpear,FuriousRamsayBanditWoman001dMachete,FuriousRamsayBanditWoman001fClub,FuriousRamsayBanditWoman001gBat,FuriousRamsayBanditWoman001hAxe"; for (int i = 0; i < 5; i++) { 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 (playerLevel > 25 && playerLevel <= 35) { __instance.Health = 2800; __instance.Buffs.SetCustomVar("$healthMax", 2800); allNames = 0; strEntity = "FuriousRamsayBanditMan002cPipeShotgun,FuriousRamsayBanditMan002dPipeRifle,FuriousRamsayBanditWoman001hPipeRifle,FuriousRamsayBanditWoman001gPipeShotgun,FuriousRamsayBanditWoman001aPipeShotgun,FuriousRamsayBanditWoman001bPipeRifle"; for (int i = 0; i < 1; i++) { 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 = "FuriousRamsayBanditMan005aClub,FuriousRamsayBanditMan005bBat,FuriousRamsayBanditMan005cAxe,FuriousRamsayBanditMan005dKnife,FuriousRamsayBanditMan005eSpear,FuriousRamsayBanditMan005fMachete,FuriousRamsayBanditMan002aClub,FuriousRamsayBanditMan002bBat,FuriousRamsayBanditMan002cAxe,FuriousRamsayBanditMan002dSpear,FuriousRamsayBanditMan002eMachete,FuriousRamsayBanditMan002gClub,FuriousRamsayBanditMan002hBat,FuriousRamsayBanditWoman001aAxe,FuriousRamsayBanditWoman001bKnife,FuriousRamsayBanditWoman001cSpear,FuriousRamsayBanditWoman001dMachete,FuriousRamsayBanditWoman001fClub,FuriousRamsayBanditWoman001gBat,FuriousRamsayBanditWoman001hAxe"; for (int i = 0; i < 5; i++) { 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 (playerLevel > 35 && playerLevel <= 45) { __instance.Health = 3200; __instance.Buffs.SetCustomVar("$healthMax", 3200); allNames = 0; strEntity = "FuriousRamsayBanditMan002cPipeShotgun,FuriousRamsayBanditMan002dPipeRifle,FuriousRamsayBanditWoman001hPipeRifle,FuriousRamsayBanditWoman001gPipeShotgun,FuriousRamsayBanditWoman001aPipeShotgun,FuriousRamsayBanditWoman001bPipeRifle,FuriousRamsayBanditMan002gPipePistol,FuriousRamsayBanditMan002aPipePistol,FuriousRamsayBanditMan002hPipeMachineGun,FuriousRamsayBanditWoman001cWoodenBow,FuriousRamsayBanditWoman001ePipePistol,FuriousRamsayBanditWoman001fPipeMachineGun,FuriousRamsayBanditMan002eWoodenBow,FuriousRamsayBanditMan002bPipeMachineGun"; for (int i = 0; i < 2; i++) { 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 = "FuriousRamsayBanditMan005aClub,FuriousRamsayBanditMan005bBat,FuriousRamsayBanditMan005cAxe,FuriousRamsayBanditMan005dKnife,FuriousRamsayBanditMan005eSpear,FuriousRamsayBanditMan005fMachete,FuriousRamsayBanditMan002aClub,FuriousRamsayBanditMan002bBat,FuriousRamsayBanditMan002cAxe,FuriousRamsayBanditMan002dSpear,FuriousRamsayBanditMan002eMachete,FuriousRamsayBanditMan002gClub,FuriousRamsayBanditMan002hBat,FuriousRamsayBanditWoman001aAxe,FuriousRamsayBanditWoman001bKnife,FuriousRamsayBanditWoman001cSpear,FuriousRamsayBanditWoman001dMachete,FuriousRamsayBanditWoman001fClub,FuriousRamsayBanditWoman001gBat,FuriousRamsayBanditWoman001hAxe"; for (int i = 0; i < 5; i++) { 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 (playerLevel > 45 && playerLevel <= 55) { __instance.Health = 3600; __instance.Buffs.SetCustomVar("$healthMax", 3600); allNames = 0; strEntity = "FuriousRamsayBanditMan002cPipeShotgun,FuriousRamsayBanditMan002dPipeRifle,FuriousRamsayBanditWoman001aPipeShotgun,FuriousRamsayBanditWoman001bPipeRifle,FuriousRamsayBanditWoman001gPipeShotgun,FuriousRamsayBanditWoman001hPipeRifle"; for (int i = 0; i < 3; i++) { 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 = "FuriousRamsayBanditMan005aClub,FuriousRamsayBanditMan005bBat,FuriousRamsayBanditMan005cAxe,FuriousRamsayBanditMan005dKnife,FuriousRamsayBanditMan005eSpear,FuriousRamsayBanditMan005fMachete,FuriousRamsayBanditMan002aClub,FuriousRamsayBanditMan002bBat,FuriousRamsayBanditMan002cAxe,FuriousRamsayBanditMan002dSpear,FuriousRamsayBanditMan002eMachete,FuriousRamsayBanditMan002gClub,FuriousRamsayBanditMan002hBat,FuriousRamsayBanditWoman001aAxe,FuriousRamsayBanditWoman001bKnife,FuriousRamsayBanditWoman001cSpear,FuriousRamsayBanditWoman001dMachete,FuriousRamsayBanditWoman001fClub,FuriousRamsayBanditWoman001gBat,FuriousRamsayBanditWoman001hAxe"; for (int i = 0; i < 5; i++) { 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 (playerLevel > 55 && playerLevel <= 65) { __instance.Health = 4000; __instance.Buffs.SetCustomVar("$healthMax", 4000); allNames = 0; strEntity = "FuriousRamsayBanditMan002cPipeShotgun,FuriousRamsayBanditMan002dPipeRifle,FuriousRamsayBanditWoman001aPipeShotgun,FuriousRamsayBanditWoman001bPipeRifle,FuriousRamsayBanditWoman001gPipeShotgun,FuriousRamsayBanditWoman001hPipeRifle,FuriousRamsayBanditMan002aPipePistol,FuriousRamsayBanditMan002bPipeMachineGun,FuriousRamsayBanditMan002eWoodenBow,FuriousRamsayBanditMan002gPipePistol,FuriousRamsayBanditMan002hPipeMachineGun,FuriousRamsayBanditWoman001cWoodenBow,FuriousRamsayBanditWoman001ePipePistol,FuriousRamsayBanditWoman001fPipeMachineGun,FuriousRamsayBanditMan005bPipeMachineGun,FuriousRamsayBanditMan001ePipeMachineGun"; for (int i = 0; i < 5; i++) { 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 (playerLevel > 65 && playerLevel <= 80) { __instance.Health = 4400; __instance.Buffs.SetCustomVar("$healthMax", 4400); allNames = 0; strEntity = "FuriousRamsayBanditMan005eCrossBow,FuriousRamsayBanditMan005dPumpShotgun,FuriousRamsayBanditMan005fHuntingRifle,FuriousRamsayBanditMan005gPistol,FuriousRamsayBanditMan001aPumpShotgun,FuriousRamsayBanditMan001fPistol,FuriousRamsayBanditMan001hPumpShotgun,FuriousRamsayBanditMan001aPistol,FuriousRamsayBanditMan001bPumpShotgun,FuriousRamsayBanditMan005cPistol,FuriousRamsayBanditMan005dPumpShotgun"; for (int i = 0; i < 5; i++) { 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 (playerLevel > 80) { __instance.Health = 4800; __instance.Buffs.SetCustomVar("$healthMax", 4800); allNames = 0; strEntity = "FuriousRamsayBanditMan005cAK47,FuriousRamsayBanditMan001bAK47,FuriousRamsayBanditMan001gAK47,FuriousRamsayBanditMan001cAK47,FuriousRamsayBanditMan001dSMG5,FuriousRamsayBanditMan001eM60,FuriousRamsayBanditMan001fAssaultRifle,FuriousRamsayBanditMan001gSniperRifle,FuriousRamsayBanditMan005aAutoShotgun,FuriousRamsayBanditMan005eDesertVulture,FuriousRamsayBanditMan005fM60,FuriousRamsayBanditMan005gAssaultRifle"; for (int i = 0; i < 5; i++) { 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); } } } if (randomInt == 3) { // EVENTS if (playerLevel < 35) { allNames = 1; __instance.Health = 3000; __instance.Buffs.SetCustomVar("$healthMax", 3000); randomInt = __instance.rand.RandomRange(0, 3); if (randomInt == 0) { RebirthUtilities.SpawnEntity(__instance.entityId, "FuriousRamsayZombie001,FuriousRamsayZombie002,FuriousRamsayZombie003,FuriousRamsayZombie004,FuriousRamsayZombie005,FuriousRamsayZombie006,FuriousRamsayZombie007", 1, "", "", "40", "static", "1", "", 1.5f, -1, true, false, true, __instance.entityId, -1, "", 1, 0, 40, 1, 0, 1, -1, "", "", 1, "", "FuriousRamsayBossBuffTier1B"); RebirthUtilities.SpawnEntity(__instance.entityId, "FuriousRamsayZombie001,FuriousRamsayZombie002,FuriousRamsayZombie003,FuriousRamsayZombie004,FuriousRamsayZombie005,FuriousRamsayZombie006,FuriousRamsayZombie007", 1, "", "", "40", "static", "1", "", 1.1f, -1, true, false, true, __instance.entityId, -1, "", 20, 0, 40, 12, 0, -1, -1, "", "", 1, "", "FuriousRamsayMinionBuffTier1"); } else if (randomInt == 1) { RebirthUtilities.SpawnEntity(__instance.entityId, "zombieYo,zombieTomClark,zombieArlene,zombieDarlene,zombieMarlene,zombieNurse,zombiePartyGirl,zombieSteve,zombieJoe,zombieLab,zombieBusinessMan,zombieBurnt,zombieMaleHazmat,zombieUtilityWorker,zombieSpider,zombieBoe,zombieJanitor,zombieSkateboarder,zombieMoe,zombieFatHawaiian,zombieFemaleFat,zombieLumberjack,zombieBiker,zombieSoldier,zombieMutated", 1, "", "", "40", "static", "1", "", 1.5f, -1, true, false, true, __instance.entityId, -1, "", 1, 0, 40, 1, 0, 1, -1, "", "", 1, "", "FuriousRamsayBossBuffTier1B"); RebirthUtilities.SpawnEntity(__instance.entityId, "zombieYo,zombieTomClark,zombieArlene,zombieDarlene,zombieMarlene,zombieNurse,zombiePartyGirl,zombieSteve,zombieJoe,zombieLab,zombieBusinessMan,zombieBurnt,zombieMaleHazmat,zombieUtilityWorker,zombieSpider,zombieBoe,zombieJanitor,zombieSkateboarder,zombieMoe,zombieFatHawaiian,zombieFemaleFat,zombieLumberjack,zombieBiker,zombieSoldier,zombieFatCop,zombieMutated", 1, "", "", "40", "static", "1", "", 1.1f, -1, true, false, true, __instance.entityId, -1, "", 20, 0, 40, 12, 0, -1, -1, "", "", 1, "", "FuriousRamsayMinionBuffTier1"); } else { RebirthUtilities.SpawnEntity(__instance.entityId, "zombieYo,zombieTomClark,zombieArlene,zombieDarlene,zombieMarlene,zombieNurse,zombiePartyGirl,zombieSteve,zombieJoe,zombieLab,zombieBusinessMan,zombieBurnt,zombieMaleHazmat,zombieUtilityWorker,zombieSpider,zombieBoe,zombieJanitor,zombieSkateboarder,zombieMoe,zombieFatHawaiian,zombieFemaleFat,zombieLumberjack,zombieBiker,zombieSoldier,zombieMutated,FuriousRamsayZombie001,FuriousRamsayZombie002,FuriousRamsayZombie003,FuriousRamsayZombie004,FuriousRamsayZombie005,FuriousRamsayZombie006,FuriousRamsayZombie007", 1, "", "", "40", "static", "1", "", 1.5f, -1, true, false, true, __instance.entityId, -1, "", 1, 0, 40, 1, 0, 1, -1, "", "", 1, "", "FuriousRamsayBossBuffTier1B"); RebirthUtilities.SpawnEntity(__instance.entityId, "zombieYo,zombieTomClark,zombieArlene,zombieDarlene,zombieMarlene,zombieNurse,zombiePartyGirl,zombieSteve,zombieJoe,zombieLab,zombieBusinessMan,zombieBurnt,zombieMaleHazmat,zombieUtilityWorker,zombieSpider,zombieBoe,zombieJanitor,zombieSkateboarder,zombieMoe,zombieFatHawaiian,zombieFemaleFat,zombieLumberjack,zombieBiker,zombieSoldier,zombieFatCop,zombieMutated,FuriousRamsayZombie001,FuriousRamsayZombie002,FuriousRamsayZombie003,FuriousRamsayZombie004,FuriousRamsayZombie005,FuriousRamsayZombie006,FuriousRamsayZombie007", 1, "", "", "40", "static", "1", "", 1.1f, -1, true, false, true, __instance.entityId, -1, "", 20, 0, 40, 12, 0, -1, -1, "", "", 1, "", "FuriousRamsayMinionBuffTier1"); } } else if (playerLevel >= 35 && playerLevel < 50) { __instance.Health = 4000; __instance.Buffs.SetCustomVar("$healthMax", 4000); RebirthUtilities.SpawnEntity(__instance.entityId, "zombieYo,zombieTomClark,zombieArlene,zombieDarlene,zombieMarlene,zombieNurse,zombiePartyGirl,zombieSteve,zombieJoe,zombieLab,zombieBusinessMan,zombieBurnt,zombieMaleHazmat,zombieUtilityWorker,zombieSpider,zombieBoe,zombieJanitor,zombieSkateboarder,zombieMoe,zombieFatHawaiian,zombieFemaleFat,zombieLumberjack,zombieBiker,zombieSoldier,zombieMutated,FuriousRamsayZombie001,FuriousRamsayZombie002,FuriousRamsayZombie003,FuriousRamsayZombie004,FuriousRamsayZombie005,FuriousRamsayZombie006,FuriousRamsayZombie007", 1, "", "", "40", "static", "1", "", 1.5f, -1, true, false, true, __instance.entityId, -1, "", 1, 0, 40, 1, 0, 1, -1, "", "", 1, "", "FuriousRamsayBossBuffTier1C"); RebirthUtilities.SpawnEntity(__instance.entityId, "zombieYo,zombieTomClark,zombieArlene,zombieDarlene,zombieMarlene,zombieNurse,zombiePartyGirl,zombieSteve,zombieJoe,zombieLab,zombieBusinessMan,zombieBurnt,zombieMaleHazmat,zombieUtilityWorker,zombieSpider,zombieBoe,zombieJanitor,zombieSkateboarder,zombieMoe,zombieFatHawaiian,zombieFemaleFat,zombieLumberjack,zombieBiker,zombieSoldier,zombieFatCop,zombieMutated,FuriousRamsayZombie001,FuriousRamsayZombie002,FuriousRamsayZombie003,FuriousRamsayZombie004,FuriousRamsayZombie005,FuriousRamsayZombie006,FuriousRamsayZombie007", 1, "", "", "40", "static", "1", "", 1.1f, -1, true, false, true, __instance.entityId, -1, "", 20, 0, 40, 8, 0, -1, -1, "", "", 1, "", "FuriousRamsayMinionBuffTier2"); RebirthUtilities.SpawnEntity(__instance.entityId, "zombieYoFeral,zombieTomClarkFeral,zombieArleneFeral,zombieDarleneFeral,zombieMarleneFeral,zombieNurseFeral,zombiePartyGirlFeral,zombieSteveFeral,zombieJoeFeral,zombieLabFeral,zombieBusinessManFeral,zombieBurntFeral,zombieMaleHazmatFeral,zombieUtilityWorkerFeral,zombieSpiderFeral,zombieBoeFeral,zombieJanitorFeral,zombieSkateboarderFeral,zombieMoeFeral,zombieFatHawaiianFeral,zombieFemaleFatFeral,zombieLumberjackFeral,zombieBikerFeral,zombieSoldierFeral,zombieFatCopFeral,zombieMutatedFeral,zombieWightFeral,FuriousRamsayZombie008a,FuriousRamsayZombie009a,FuriousRamsayZombie010a,FuriousRamsayZombie011a,FuriousRamsayZombie012a,FuriousRamsayZombie013a", 1, "", "", "40", "static", "1", "", 1.1f, -1, true, false, true, __instance.entityId, -1, "", 20, 0, 40, 5, 0, -1, -1, "", "", 1, "", ""); } else if (playerLevel >= 50 && playerLevel < 80) { __instance.Health = 5000; __instance.Buffs.SetCustomVar("$healthMax", 5000); RebirthUtilities.SpawnEntity(__instance.entityId, "zombieYoFeral,zombieTomClarkFeral,zombieArleneFeral,zombieDarleneFeral,zombieMarleneFeral,zombieNurseFeral,zombiePartyGirlFeral,zombieSteveFeral,zombieJoeFeral,zombieLabFeral,zombieBusinessManFeral,zombieBurntFeral,zombieMaleHazmatFeral,zombieUtilityWorkerFeral,zombieSpiderFeral,zombieBoeFeral,zombieJanitorFeral,zombieSkateboarderFeral,zombieMoeFeral,zombieFatHawaiianFeral,zombieFemaleFatFeral,zombieLumberjackFeral,zombieBikerFeral,zombieSoldierFeral,zombieMutatedFeral,zombieWightFeral,FuriousRamsayZombie008a,FuriousRamsayZombie009a,FuriousRamsayZombie010a,FuriousRamsayZombie011a,FuriousRamsayZombie012a,FuriousRamsayZombie013a", 1, "", "", "40", "static", "1", "", 1.5f, -1, true, false, true, __instance.entityId, -1, "", 1, 0, 40, 1, 0, 1, -1, "", "", 1, "", "FuriousRamsayBossBuffTier1D"); RebirthUtilities.SpawnEntity(__instance.entityId, "zombieYoFeral,zombieTomClarkFeral,zombieArleneFeral,zombieDarleneFeral,zombieMarleneFeral,zombieNurseFeral,zombiePartyGirlFeral,zombieSteveFeral,zombieJoeFeral,zombieLabFeral,zombieBusinessManFeral,zombieBurntFeral,zombieMaleHazmatFeral,zombieUtilityWorkerFeral,zombieSpiderFeral,zombieBoeFeral,zombieJanitorFeral,zombieSkateboarderFeral,zombieMoeFeral,zombieFatHawaiianFeral,zombieFemaleFatFeral,zombieLumberjackFeral,zombieBikerFeral,zombieSoldierFeral,zombieFatCopFeral,zombieMutatedFeral,zombieWightFeral,FuriousRamsayZombie008a,FuriousRamsayZombie009a,FuriousRamsayZombie010a,FuriousRamsayZombie011a,FuriousRamsayZombie012a,FuriousRamsayZombie013a,zombieDemolition", 1, "", "", "40", "static", "1", "", 1.1f, -1, true, false, true, __instance.entityId, -1, "", 20, 0, 40, 10, 0, -1, -1, "", "", 1, "", ""); } else if (playerLevel >= 80) { __instance.Health = 6000; __instance.Buffs.SetCustomVar("$healthMax", 6000); RebirthUtilities.SpawnEntity(__instance.entityId, "zombieYoRadiated,zombieTomClarkRadiated,zombieArleneRadiated,zombieDarleneRadiated,zombieMarleneRadiated,zombieNurseRadiated,zombiePartyGirlRadiated,zombieSteveRadiated,zombieJoeRadiated,zombieLabRadiated,zombieBusinessManRadiated,zombieBurntRadiated,zombieMaleHazmatRadiated,zombieUtilityWorkerRadiated,zombieSpiderRadiated,zombieBoeRadiated,zombieJanitorRadiated,zombieSkateboarderRadiated,zombieMoeRadiated,zombieFatHawaiianRadiated,zombieFemaleFatRadiated,zombieLumberjackRadiated,zombieBikerRadiated,zombieSoldierRadiated,zombieMutatedRadiated,zombieWightRadiated", 1, "", "", "40", "static", "1", "", 1.5f, -1, true, false, true, __instance.entityId, -1, "", 1, 0, 40, 1, 0, 1, -1, "", "", 1, "", "FuriousRamsayBossBuffTier1E"); RebirthUtilities.SpawnEntity(__instance.entityId, "zombieYoFeral,zombieTomClarkFeral,zombieArleneFeral,zombieDarleneFeral,zombieMarleneFeral,zombieNurseFeral,zombiePartyGirlFeral,zombieSteveFeral,zombieJoeFeral,zombieLabFeral,zombieBusinessManFeral,zombieBurntFeral,zombieMaleHazmatFeral,zombieUtilityWorkerFeral,zombieSpiderFeral,zombieBoeFeral,zombieJanitorFeral,zombieSkateboarderFeral,zombieMoeFeral,zombieFatHawaiianFeral,zombieFemaleFatFeral,zombieLumberjackFeral,zombieBikerFeral,zombieSoldierFeral,zombieFatCopFeral,zombieMutatedFeral,zombieWightFeral,FuriousRamsayZombie008a,FuriousRamsayZombie009a,FuriousRamsayZombie010a,FuriousRamsayZombie011a,FuriousRamsayZombie012a,FuriousRamsayZombie013a,zombieDemolition", 1, "", "", "40", "static", "1", "", 1.25f, -1, true, false, true, __instance.entityId, -1, "", 14, 0, 40, 12, 0, -1, -1, "", "", 1, "", ""); } } __instance.Buffs.AddBuff("FuriousRamsayExplodeCrateAfterTime"); __instance.Buffs.SetCustomVar("$spawnEntities", 1f); } } } } return true; } } }