private static void SendNootArmy() { Game game = new Game(); //Thank you Lee. AbstractRoom adjacentRoom; int numOfNoodles = 20; Debug.Log("RELEASE THE NOOTS!"); for (int i = 0; i < game.player.room.exitAndDenIndex.Length; i++) { if (game.player.room.WhichRoomDoesThisExitLeadTo(game.player.room.exitAndDenIndex[i]) != null) { adjacentRoom = game.player.room.WhichRoomDoesThisExitLeadTo(game.player.room.exitAndDenIndex[i]); WorldCoordinate node = adjacentRoom.RandomNodeInRoom(); if (adjacentRoom.realizedRoom == null) { adjacentRoom.RealizeRoom(game.player.room.world, game.player.room.world.game); } for (int c = 0; c < numOfNoodles; c++) { Debug.Log("Spawned a Noodle Fly"); AbstractCreature abstractNoodle = new AbstractCreature(game.player.room.world, StaticWorld.GetCreatureTemplate(CreatureTemplate.Type.BigNeedleWorm), null, node, adjacentRoom.world.game.GetNewID()); adjacentRoom.AddEntity(abstractNoodle); abstractNoodle.RealizeInRoom(); abstractNoodle.state.socialMemory.GetOrInitiateRelationship(game.player.abstractCreature.ID).like = -50f; abstractNoodle.state.socialMemory.GetOrInitiateRelationship(game.player.abstractCreature.ID).tempLike = -50f; abstractNoodle.abstractAI.InternalSetDestination(game.player.coord); } break; } } }
public void ReadPlayer(BinaryReader br, CSteamID sentPlayer) { if (!MonklandSteamManager.WorldManager.gameRunning) { return; } string roomName = br.ReadString();//Read Room Name if (!MonklandSteamManager.WorldManager.commonRooms.ContainsKey(roomName)) { return; } AbstractRoom abstractRoom = patch_RainWorldGame.mainGame.world.GetAbstractRoom(roomName); if (abstractRoom == null || abstractRoom.realizedRoom == null) { return; } int dist = br.ReadInt32(); // Read Disinguisher WorldCoordinate startPos = WorldCoordinateHandler.Read(ref br); // Read World Coordinate foreach (AbstractCreature cr in abstractRoom.creatures) { if (((cr as AbstractPhysicalObject) as patch_AbstractPhysicalObject).dist == dist && cr.realizedCreature != null) { cr.realizedCreature = PlayerHandler.Read((cr.realizedCreature as Player), ref br);// Read Player cr.pos.room = abstractRoom.index; return; } } startPos.room = abstractRoom.index; startPos.abstractNode = -1; AbstractCreature abstractCreature = new AbstractCreature(patch_RainWorldGame.mainGame.world, StaticWorld.GetCreatureTemplate("Slugcat"), null, startPos, new EntityID(-1, 1)); abstractCreature.state = new PlayerState(abstractCreature, 1, 0, false); ((abstractCreature as AbstractPhysicalObject) as patch_AbstractPhysicalObject).dist = dist; ((abstractCreature as AbstractPhysicalObject) as patch_AbstractPhysicalObject).owner = sentPlayer.m_SteamID; abstractCreature.pos.room = abstractRoom.index; patch_RainWorldGame.mainGame.world.GetAbstractRoom(abstractCreature.pos.room).AddEntity(abstractCreature); abstractCreature.RealizeInRoom(); abstractCreature.realizedCreature = PlayerHandler.Read((abstractCreature.realizedCreature as Player), ref br);// Read Player abstractCreature.pos.room = abstractRoom.index; }