public override void OnUserEnterRoom(RoomUser User) { if (User.GetClient() != null && User.GetClient().GetHabbo() != null) { RoomUser Pet = GetRoomUser(); if (Pet != null) { if (User.GetClient().GetHabbo().Username == Pet.PetData.OwnerName) { string[] Speech = QuasarEnvironment.GetGame().GetChatManager().GetPetLocale().GetValue("welcome.speech.pet" + Pet.PetData.Type); string rSpeech = Speech[RandomNumber.GenerateRandom(0, Speech.Length - 1)]; Pet.Chat(rSpeech, false); } } } }
public override void OnUserEnterRoom(RoomUser User) { if (User.GetClient() != null && User.GetClient().GetHabbo() != null) { var Pet = GetRoomUser(); if (Pet != null) { if (User.GetClient().GetHabbo().Username == Pet.PetData.OwnerName) { var Speech = Program.GameContext.GetChatManager().GetPetLocale().GetValue("welcome.speech.pet" + Pet.PetData.Type); var rSpeech = Speech[RandomNumber.GenerateRandom(0, Speech.Length - 1)]; Pet.Chat(rSpeech); } } } }
private int HandleRotation(int mode, int rotation) { switch (mode) { case 1: { rotation += 2; if (rotation > 6) { rotation = 0; } break; } case 2: { rotation -= 2; if (rotation < 0) { rotation = 6; } break; } case 3: { if (RandomNumber.GenerateRandom(0, 2) == 0) { rotation += 2; if (rotation > 6) { rotation = 0; } } else { rotation -= 2; if (rotation < 0) { rotation = 6; } } break; } } return(rotation); }
public override void OnUserShout(RoomUser User, string Message) { if (User == null || User.GetClient() == null || User.GetClient().GetHabbo() == null) { return; } if (Gamemap.TileDistance(GetRoomUser().X, GetRoomUser().Y, User.X, User.Y) > 8) { return; } BotResponse Response = PlusEnvironment.GetGame().GetBotManager().GetResponse(GetBotData().AiType, Message); if (Response == null) { return; } switch (Response.ResponseType.ToLower()) { case "say": case "dizer": GetRoomUser().Chat(Response.ResponseText.Replace("{username}", User.GetClient().GetHabbo().Username), false); break; case "shout": case "gritar": GetRoomUser().Chat(Response.ResponseText.Replace("{username}", User.GetClient().GetHabbo().Username), true); break; case "whisper": case "sussurrar": User.GetClient().SendMessage(new WhisperComposer(GetRoomUser().VirtualId, Response.ResponseText.Replace("{username}", User.GetClient().GetHabbo().Username), 0, 0)); break; } if (Response.BeverageIds.Count > 0) { User.CarryItem(Response.BeverageIds[RandomNumber.GenerateRandom(0, (Response.BeverageIds.Count - 1))]); } }
public override void OnUserShout(RoomUser User, string Message) { if (User == null || User.GetClient() == null || User.GetClient().GetHabbo() == null) { return; } if (Gamemap.TileDistance(GetRoomUser().X, GetRoomUser().Y, User.X, User.Y) > 8) { return; } var Response = Program.GameContext.GetBotManager().GetResponse(GetBotData().AiType, Message); if (Response == null) { return; } switch (Response.ResponseType.ToLower()) { case "say": GetRoomUser().Chat(Response.ResponseText.Replace("{username}", User.GetClient().GetHabbo().Username)); break; case "shout": GetRoomUser().Chat(Response.ResponseText.Replace("{username}", User.GetClient().GetHabbo().Username)); break; case "whisper": User.GetClient().SendPacket(new WhisperComposer(GetRoomUser().VirtualId, Response.ResponseText.Replace("{username}", User.GetClient().GetHabbo().Username), 0, 0)); break; } if (Response.BeverageIds.Count > 0) { User.CarryItem(Response.BeverageIds[RandomNumber.GenerateRandom(0, Response.BeverageIds.Count - 1)]); } }
public override void OnUserSay(RoomUser User, string Message) { if (User == null) { return; } RoomUser Pet = GetRoomUser(); if (Pet == null) { return; } if (Pet.PetData.DBState != DatabaseUpdateState.NeedsInsert) { Pet.PetData.DBState = DatabaseUpdateState.NeedsUpdate; } if (Message.ToLower().Equals(Pet.PetData.Name.ToLower())) { Pet.SetRot(Rotation.Calculate(Pet.X, Pet.Y, User.X, User.Y), false); return; } //if (!Pet.Statusses.ContainsKey("gst thr")) // Pet.Statusses.Add("gst, TextHandling.GetString(Pet.Z)); if ((Message.ToLower().StartsWith(Pet.PetData.Name.ToLower() + " ") && User.GetClient().GetHabbo().Username.ToLower() == Pet.PetData.OwnerName.ToLower()) || (Message.ToLower().StartsWith(Pet.PetData.Name.ToLower() + " ") && BiosEmuThiago.GetGame().GetChatManager().GetPetCommands().TryInvoke(Message.Substring(Pet.PetData.Name.ToLower().Length + 1)) == 8)) { string Command = Message.Substring(Pet.PetData.Name.ToLower().Length + 1); int r = RandomNumber.GenerateRandom(1, 8); // Made Random if (Pet.PetData.Energy > 10 && r < 6 || Pet.PetData.Level > 15 || BiosEmuThiago.GetGame().GetChatManager().GetPetCommands().TryInvoke(Command) == 8) { RemovePetStatus(); // Remove Status switch (BiosEmuThiago.GetGame().GetChatManager().GetPetCommands().TryInvoke(Command)) { // TODO - Level you can use the commands at... #region free case 1: RemovePetStatus(); //int randomX = BiosEmuThiago.GetRandomNumber(0, GetRoom().Model.MapSizeX); //int randomY = BiosEmuThiago.GetRandomNumber(0, GetRoom().Model.MapSizeY); Point nextCoord = GetRoom().GetGameMap().GetRandomWalkableSquare(); Pet.MoveTo(nextCoord.X, nextCoord.Y); Pet.PetData.Addexperience(10); // Give XP break; #endregion #region here case 2: RemovePetStatus(); int NewX = User.X; int NewY = User.Y; ActionTimer = 30; // Reset ActionTimer #region Rotation if (User.RotBody == 4) { NewY = User.Y + 1; } else if (User.RotBody == 0) { NewY = User.Y - 1; } else if (User.RotBody == 6) { NewX = User.X - 1; } else if (User.RotBody == 2) { NewX = User.X + 1; } else if (User.RotBody == 3) { NewX = User.X + 1; NewY = User.Y + 1; } else if (User.RotBody == 1) { NewX = User.X + 1; NewY = User.Y - 1; } else if (User.RotBody == 7) { NewX = User.X - 1; NewY = User.Y - 1; } else if (User.RotBody == 5) { NewX = User.X - 1; NewY = User.Y + 1; } #endregion Pet.PetData.Addexperience(10); // Give XP Pet.MoveTo(NewX, NewY); break; #endregion #region sit case 3: // Remove Status RemovePetStatus(); Pet.PetData.Addexperience(10); // Give XP // Add Status Pet.Statusses.Add("sit", TextHandling.GetString(Pet.Z)); Pet.UpdateNeeded = true; ActionTimer = 25; EnergyTimer = 10; break; #endregion #region lay case 4: // Remove Status RemovePetStatus(); // Add Status Pet.Statusses.Add("lay", TextHandling.GetString(Pet.Z)); Pet.UpdateNeeded = true; Pet.PetData.Addexperience(10); // Give XP ActionTimer = 30; EnergyTimer = 5; break; #endregion #region dead case 5: // Remove Status RemovePetStatus(); // Add Status Pet.Statusses.Add("ded", TextHandling.GetString(Pet.Z)); Pet.UpdateNeeded = true; Pet.PetData.Addexperience(10); // Give XP // Don't move to speak for a set amount of time. SpeechTimer = 45; ActionTimer = 30; break; #endregion #region sleep case 6: // Remove Status RemovePetStatus(); Pet.Chat("ZzzZZZzzzzZzz", false); Pet.Statusses.Add("lay", TextHandling.GetString(Pet.Z)); Pet.UpdateNeeded = true; Pet.PetData.Addexperience(10); // Give XP // Don't move to speak for a set amount of time. EnergyTimer = 5; SpeechTimer = 30; ActionTimer = 45; break; #endregion #region jump case 7: // Remove Status RemovePetStatus(); // Add Status Pet.Statusses.Add("jmp", TextHandling.GetString(Pet.Z)); Pet.UpdateNeeded = true; Pet.PetData.Addexperience(10); // Give XP // Don't move to speak for a set amount of time. EnergyTimer = 5; SpeechTimer = 10; ActionTimer = 5; break; #endregion #region breed case 46: break; #endregion default: string[] Speech = BiosEmuThiago.GetGame().GetChatManager().GetPetLocale().GetValue("pet.unknowncommand"); Pet.Chat(Speech[RandomNumber.GenerateRandom(0, Speech.Length - 1)], false); break; } Pet.PetData.PetEnergy(false); // Remove Energy } else { RemovePetStatus(); // Remove Status if (Pet.PetData.Energy < 10) { //GetRoomUser refers to the pet //User refers to Owner RoomUser UserRiding = GetRoom().GetRoomUserManager().GetRoomUserByVirtualId(Pet.HorseID);; if (UserRiding.RidingHorse) { Pet.Chat("Getof my sit", false); UserRiding.RidingHorse = false; Pet.RidingHorse = false; UserRiding.ApplyEffect(-1); UserRiding.MoveTo(new Point(GetRoomUser().X + 1, GetRoomUser().Y + 1)); } string[] Speech = BiosEmuThiago.GetGame().GetChatManager().GetPetLocale().GetValue("pet.tired"); var RandomSpeech = new Random(); Pet.Chat(Speech[RandomNumber.GenerateRandom(0, Speech.Length - 1)], false); Pet.Statusses.Add("lay", TextHandling.GetString(Pet.Z)); Pet.UpdateNeeded = true; SpeechTimer = 50; ActionTimer = 45; EnergyTimer = 5; } else { string[] Speech = BiosEmuThiago.GetGame().GetChatManager().GetPetLocale().GetValue("pet.lazy"); var RandomSpeech = new Random(); Pet.Chat(Speech[RandomNumber.GenerateRandom(0, Speech.Length - 1)], false); Pet.PetData.PetEnergy(false); // Remove Energy } } } //Pet = null; }
public void Parse(GameClient Session, ClientPacket Packet) { int Data1 = Packet.PopInt(); // ELEMENTO 1 int Data2 = Packet.PopInt(); // ELEMENTO 2 int Data3 = Packet.PopInt(); // ELEMENTO 3 int Data4 = Packet.PopInt(); // SELECTOR var RewardName = ""; var NuxGift = RavenEnvironment.GetGame().GetNuxUserGiftsListManager().NuxUserGiftsList; switch (Data4) { case 0: switch (NuxGift.Type[0]) { case "diamonds": string[] Posibility = NuxGift.Reward[0].Split(','); int Posibility1 = int.Parse(Posibility[0]); int Posibility2 = int.Parse(Posibility[1]); int RewardDiamonds = RandomNumber.GenerateRandom(Posibility1, Posibility2); Session.GetHabbo().Diamonds += RewardDiamonds; Session.SendMessage(new HabboActivityPointNotificationComposer(Session.GetHabbo().Diamonds, RewardDiamonds, 5)); break; case "honor": string[] Posibilitya = NuxGift.Reward[0].Split(','); int Posibility1a = int.Parse(Posibilitya[0]); int Posibility2a = int.Parse(Posibilitya[1]); int RewardHonor = RandomNumber.GenerateRandom(Posibility1a, Posibility2a); Session.GetHabbo().GOTWPoints += RewardHonor; Session.SendMessage(new HabboActivityPointNotificationComposer(Session.GetHabbo().GOTWPoints, RewardHonor, 103)); break; case "item": int RewardItem = RandomNumber.GenerateRandom(1, 10); string[] Furnis = NuxGift.Reward[0].Split(','); string[] Present = Furnis[0].Split(':'); string[] Present1 = Furnis[1].Split(':'); string[] Present2 = Furnis[2].Split(':'); string[] Present3 = Furnis[3].Split(':'); string[] Present4 = Furnis[4].Split(':'); string[] Present5 = Furnis[5].Split(':'); string[] Present6 = Furnis[6].Split(':'); string[] Present7 = Furnis[7].Split(':'); string[] Present8 = Furnis[8].Split(':'); string[] Present9 = Furnis[9].Split(':'); var RewardItemId = 0; switch (RewardItem) { case 1: RewardItemId = int.Parse(Present[0]); // VIP - club_sofa RewardName = Present[1]; break; case 2: RewardItemId = int.Parse(Present1[0]); // VIP - club_sofa RewardName = Present1[1]; break; case 3: RewardItemId = int.Parse(Present2[0]); // VIP - club_sofa RewardName = Present2[1]; break; case 4: RewardItemId = int.Parse(Present3[0]); // VIP - club_sofa RewardName = Present3[1]; break; case 5: RewardItemId = int.Parse(Present4[0]); // VIP - club_sofa RewardName = Present4[1]; break; case 6: RewardItemId = int.Parse(Present5[0]); // VIP - club_sofa RewardName = Present5[1]; break; case 7: RewardItemId = int.Parse(Present6[0]); // VIP - club_sofa RewardName = Present6[1]; break; case 8: RewardItemId = int.Parse(Present7[0]); // VIP - club_sofa RewardName = Present7[1]; break; case 9: RewardItemId = int.Parse(Present8[0]); // VIP - club_sofa RewardName = Present8[1]; break; case 10: RewardItemId = int.Parse(Present9[0]); // VIP - club_sofa RewardName = Present9[1]; break; } ItemData Item = null; if (!RavenEnvironment.GetGame().GetItemManager().GetItem(RewardItemId, out Item)) { return; } Item GiveItem = ItemFactory.CreateSingleItemNullable(Item, Session.GetHabbo(), "", ""); if (GiveItem != null) { Session.GetHabbo().GetInventoryComponent().TryAddItem(GiveItem); Session.SendMessage(RoomNotificationComposer.SendBubble("image2", "Acabas de recibir un " + RewardName + ".\n\n¡Corre, " + Session.GetHabbo().Username + ", revisa tu inventario, hay algo nuevo al parecer!", "inventory/open/furni")); Session.SendMessage(new FurniListNotificationComposer(GiveItem.Id, 1)); Session.SendMessage(new FurniListUpdateComposer()); } Session.GetHabbo().GetInventoryComponent().UpdateItems(false); break; } break; case 1: switch (NuxGift.Type[1]) { case "diamonds": string[] Posibility = NuxGift.Reward[1].Split(','); int Posibility1 = int.Parse(Posibility[0]); int Posibility2 = int.Parse(Posibility[1]); int RewardDiamonds = RandomNumber.GenerateRandom(Posibility1, Posibility2); Session.GetHabbo().Diamonds += RewardDiamonds; Session.SendMessage(new HabboActivityPointNotificationComposer(Session.GetHabbo().Diamonds, RewardDiamonds, 5)); break; case "honor": string[] Posibilitya = NuxGift.Reward[1].Split(','); int Posibility1a = int.Parse(Posibilitya[0]); int Posibility2a = int.Parse(Posibilitya[1]); int RewardHonor = RandomNumber.GenerateRandom(Posibility1a, Posibility2a); Session.GetHabbo().GOTWPoints += RewardHonor; Session.SendMessage(new HabboActivityPointNotificationComposer(Session.GetHabbo().GOTWPoints, RewardHonor, 103)); break; case "item": int RewardItem = RandomNumber.GenerateRandom(1, 10); string[] Furnis = NuxGift.Reward[1].Split(','); string[] Present = Furnis[0].Split(':'); string[] Present1 = Furnis[1].Split(':'); string[] Present2 = Furnis[2].Split(':'); string[] Present3 = Furnis[3].Split(':'); string[] Present4 = Furnis[4].Split(':'); string[] Present5 = Furnis[5].Split(':'); string[] Present6 = Furnis[6].Split(':'); string[] Present7 = Furnis[7].Split(':'); string[] Present8 = Furnis[8].Split(':'); string[] Present9 = Furnis[9].Split(':'); var RewardItemId = 0; switch (RewardItem) { case 1: RewardItemId = int.Parse(Present[0]); // VIP - club_sofa RewardName = Present[1]; break; case 2: RewardItemId = int.Parse(Present1[0]); // VIP - club_sofa RewardName = Present1[1]; break; case 3: RewardItemId = int.Parse(Present2[0]); // VIP - club_sofa RewardName = Present2[1]; break; case 4: RewardItemId = int.Parse(Present3[0]); // VIP - club_sofa RewardName = Present3[1]; break; case 5: RewardItemId = int.Parse(Present4[0]); // VIP - club_sofa RewardName = Present4[1]; break; case 6: RewardItemId = int.Parse(Present5[0]); // VIP - club_sofa RewardName = Present5[1]; break; case 7: RewardItemId = int.Parse(Present6[0]); // VIP - club_sofa RewardName = Present6[1]; break; case 8: RewardItemId = int.Parse(Present7[0]); // VIP - club_sofa RewardName = Present7[1]; break; case 9: RewardItemId = int.Parse(Present8[0]); // VIP - club_sofa RewardName = Present8[1]; break; case 10: RewardItemId = int.Parse(Present9[0]); // VIP - club_sofa RewardName = Present9[1]; break; } ItemData Item = null; if (!RavenEnvironment.GetGame().GetItemManager().GetItem(RewardItemId, out Item)) { return; } Item GiveItem = ItemFactory.CreateSingleItemNullable(Item, Session.GetHabbo(), "", ""); if (GiveItem != null) { Session.GetHabbo().GetInventoryComponent().TryAddItem(GiveItem); Session.SendMessage(RoomNotificationComposer.SendBubble("image2", "Acabas de recibir un " + RewardName + ".\n\n¡Corre, " + Session.GetHabbo().Username + ", revisa tu inventario, hay algo nuevo al parecer!", "inventory/open/furni")); Session.SendMessage(new FurniListNotificationComposer(GiveItem.Id, 1)); Session.SendMessage(new FurniListUpdateComposer()); } Session.GetHabbo().GetInventoryComponent().UpdateItems(false); break; } break; case 2: switch (NuxGift.Type[2]) { case "diamonds": string[] Posibility = NuxGift.Reward[2].Split(','); int Posibility1 = int.Parse(Posibility[0]); int Posibility2 = int.Parse(Posibility[1]); int RewardDiamonds = RandomNumber.GenerateRandom(Posibility1, Posibility2); Session.GetHabbo().Diamonds += RewardDiamonds; Session.SendMessage(new HabboActivityPointNotificationComposer(Session.GetHabbo().Diamonds, RewardDiamonds, 5)); break; case "honor": string[] Posibilitya = NuxGift.Reward[2].Split(','); int Posibility1a = int.Parse(Posibilitya[0]); int Posibility2a = int.Parse(Posibilitya[1]); int RewardHonor = RandomNumber.GenerateRandom(Posibility1a, Posibility2a); Session.GetHabbo().GOTWPoints += RewardHonor; Session.SendMessage(new HabboActivityPointNotificationComposer(Session.GetHabbo().GOTWPoints, RewardHonor, 103)); break; case "item": int RewardItem = RandomNumber.GenerateRandom(1, 10); string[] Furnis = NuxGift.Reward[2].Split(','); string[] Present = Furnis[0].Split(':'); string[] Present1 = Furnis[1].Split(':'); string[] Present2 = Furnis[2].Split(':'); string[] Present3 = Furnis[3].Split(':'); string[] Present4 = Furnis[4].Split(':'); string[] Present5 = Furnis[5].Split(':'); string[] Present6 = Furnis[6].Split(':'); string[] Present7 = Furnis[7].Split(':'); string[] Present8 = Furnis[8].Split(':'); string[] Present9 = Furnis[9].Split(':'); var RewardItemId = 0; switch (RewardItem) { case 1: RewardItemId = int.Parse(Present[0]); // VIP - club_sofa RewardName = Present[1]; break; case 2: RewardItemId = int.Parse(Present1[0]); // VIP - club_sofa RewardName = Present1[1]; break; case 3: RewardItemId = int.Parse(Present2[0]); // VIP - club_sofa RewardName = Present2[1]; break; case 4: RewardItemId = int.Parse(Present3[0]); // VIP - club_sofa RewardName = Present3[1]; break; case 5: RewardItemId = int.Parse(Present4[0]); // VIP - club_sofa RewardName = Present4[1]; break; case 6: RewardItemId = int.Parse(Present5[0]); // VIP - club_sofa RewardName = Present5[1]; break; case 7: RewardItemId = int.Parse(Present6[0]); // VIP - club_sofa RewardName = Present6[1]; break; case 8: RewardItemId = int.Parse(Present7[0]); // VIP - club_sofa RewardName = Present7[1]; break; case 9: RewardItemId = int.Parse(Present8[0]); // VIP - club_sofa RewardName = Present8[1]; break; case 10: RewardItemId = int.Parse(Present9[0]); // VIP - club_sofa RewardName = Present9[1]; break; } ItemData Item = null; if (!RavenEnvironment.GetGame().GetItemManager().GetItem(RewardItemId, out Item)) { return; } Item GiveItem = ItemFactory.CreateSingleItemNullable(Item, Session.GetHabbo(), "", ""); if (GiveItem != null) { Session.GetHabbo().GetInventoryComponent().TryAddItem(GiveItem); Session.SendMessage(RoomNotificationComposer.SendBubble("image2", "Acabas de recibir un " + RewardName + ".\n\n¡Corre, " + Session.GetHabbo().Username + ", revisa tu inventario, hay algo nuevo al parecer!", "inventory/open/furni")); Session.SendMessage(new FurniListNotificationComposer(GiveItem.Id, 1)); Session.SendMessage(new FurniListUpdateComposer()); } Session.GetHabbo().GetInventoryComponent().UpdateItems(false); break; } break; } }
public void OnTrigger(GameClient Session, Item Item, int Request, bool HasRights) { if ((!string.IsNullOrEmpty(Item.FoundBy))) { if (Session.GetHabbo().Username != Item.FoundBy) { Session.SendMessage(RoomNotificationComposer.SendBubble("easteregg", "¡Este huevo ya ha sido encontrado por " + Item.FoundBy + "!", "")); return; } } else if (Session == null || Session.GetHabbo() == null || Item == null) { return; } Room Room = Session.GetHabbo().CurrentRoom; if (Room == null) { return; } RoomUser Actor = Room.GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id); if (Actor == null) { return; } if (Gamemap.TileDistance(Actor.X, Actor.Y, Item.GetX, Item.GetY) < 2) { Item.FoundBy = Session.GetHabbo().Username; } var tick = int.Parse(Item.ExtraData); if (tick < 19) { if (Gamemap.TileDistance(Actor.X, Actor.Y, Item.GetX, Item.GetY) < 2) { tick++; Item.ExtraData = tick.ToString(); Item.UpdateState(true, true); int X = Item.GetX, Y = Item.GetY, Rot = Item.Rotation; Double Z = Item.GetZ; if (tick == 19) { using (var dbClient = RavenEnvironment.GetDatabaseManager().GetQueryReactor()) { Room.GetRoomItemHandler().RemoveFurniture(Session, Item.Id); dbClient.runFastQuery("DELETE FROM items WHERE id = " + Item.Id); } // Empezamos a generar el tipo de premio según lotería. int RewardType = RandomNumber.GenerateRandom(1, 20); switch (RewardType) { case 1: int RewardDiamonds = RandomNumber.GenerateRandom(1, 10); Session.GetHabbo().Diamonds += RewardDiamonds; Session.SendMessage(new HabboActivityPointNotificationComposer(Session.GetHabbo().Diamonds, RewardDiamonds, 5)); Session.SendWhisper("Acabas de ganar " + RewardDiamonds + " diamantes con este Huevo de Pascua, ¡qué suerte!.", 34); break; case 2: case 3: case 4: case 5: case 6: case 8: case 10: case 11: case 12: case 13: case 14: case 15: case 16: case 17: case 18: case 19: case 20: Session.GetHabbo().GOTWPoints += 1; Session.SendMessage(new HabboActivityPointNotificationComposer(Session.GetHabbo().GOTWPoints, 1, 103)); Session.SendMessage(RoomNotificationComposer.SendBubble("easteregg", "Acabas de conseguir un Huevo de Pascua, colecciona varios para canjearlos por premios.", "")); break; case 7: ItemData RewardItemPrize = null; if (!RavenEnvironment.GetGame().GetItemManager().GetItem(9780, out RewardItemPrize)) { return; } Item GiveItem = ItemFactory.CreateSingleItemNullable(RewardItemPrize, Session.GetHabbo(), "", ""); if (GiveItem != null) { Session.GetHabbo().GetInventoryComponent().TryAddItem(GiveItem); Session.SendMessage(new FurniListNotificationComposer(GiveItem.Id, 1)); Session.SendMessage(new FurniListUpdateComposer()); Session.SendMessage(RoomNotificationComposer.SendBubble("easteregg", "Acabas de recibir un Huevo de Pascua raro.\n\n¡Corre, " + Session.GetHabbo().Username + ", haz click aquí y revisa tu inventario!", "inventory/open")); } Session.GetHabbo().GetInventoryComponent().UpdateItems(true); break; } RavenEnvironment.GetGame().GetAchievementManager().ProgressAchievement(Actor.GetClient(), "ACH_EggCracker", 1); } } } }
public override void OnTimerTick() { if (GameLength == 95) { // Notice to users that betting is enabled during this timelapse. GetRoomUser().Chat("Apuestas activas, abran juego.", false, 33); BetsOpen = true; } if (GameLength == 15) { // Notice to users that betting is enabled during this timelapse. GetRoomUser().Chat("Apuestas cerradas, buena suerte.", false, 33); BetsOpen = false; } if (GameLength <= 0) { // Generate the number from the roullette. #region Serialize Numbers int num = RandomNumber.GenerateRandom(0, 36); switch (num) { case 0: GetRoomUser().Chat("<font color=\"#04B404\"><b>0</b>.</font>", false, 33); break; case 1: GetRoomUser().Chat("<font color=\"#B40404\"><b>1</b>, rojo impar y falta.</font>", false, 33); break; case 2: GetRoomUser().Chat("<font color=\"#1C1C1C\"><b>2</b>, negro par y falta.</font>", false, 33); break; case 3: GetRoomUser().Chat("<font color=\"#B40404\"><b>3</b>, rojo impar y falta.</font>", false, 33); break; case 4: GetRoomUser().Chat("<font color=\"#1C1C1C\"><b>4</b>, negro par y falta.</font>", false, 33); break; case 5: GetRoomUser().Chat("<font color=\"#B40404\"><b>5</b>, rojo impar y falta.</font>", false, 33); break; case 6: GetRoomUser().Chat("<font color=\"#1C1C1C\"><b>6</b>, negro par y falta.</font>", false, 33); break; case 7: GetRoomUser().Chat("<font color=\"#B40404\"><b>7</b>, rojo impar y falta.</font>", false, 33); break; case 8: GetRoomUser().Chat("<font color=\"#1C1C1C\"><b>8</b>, negro par y falta.</font>", false, 33); break; case 9: GetRoomUser().Chat("<font color=\"#B40404\"><b>9</b>, rojo impar y falta.</font>", false, 33); break; case 10: GetRoomUser().Chat("<font color=\"#1C1C1C\"><b>10</b>, negro par y falta.</font>", false, 33); break; case 11: GetRoomUser().Chat("<font color=\"#1C1C1C\"><b>11</b>, negro impar y falta.</font>", false, 33); break; case 12: GetRoomUser().Chat("<font color=\"#B40404\"><b>12</b>, rojo par y falta.</font>", false, 33); break; case 13: GetRoomUser().Chat("<font color=\"#1C1C1C\"><b>13</b>, negro impar y falta.</font>", false, 33); break; case 14: GetRoomUser().Chat("<font color=\"#B40404\"><b>14</b>, rojo par y falta.</font>", false, 33); break; case 15: GetRoomUser().Chat("<font color=\"#1C1C1C\"><b>15</b>, negro impar y falta.</font>", false, 33); break; case 16: GetRoomUser().Chat("<font color=\"#B40404\"><b>16</b>, rojo par y falta.</font>", false, 33); break; case 17: GetRoomUser().Chat("<font color=\"#1C1C1C\"><b>17</b>, negro impar y falta.</font>", false, 33); break; case 18: GetRoomUser().Chat("<font color=\"#B40404\"><b>18</b>, rojo par y falta.</font>", false, 33); break; case 19: GetRoomUser().Chat("<font color=\"#B40404\"><b>19</b>, rojo impar y pasa.</font>", false, 33); break; case 20: GetRoomUser().Chat("<font color=\"#1C1C1C\"><b>20</b>, negro par y pasa.</font>", false, 33); break; case 21: GetRoomUser().Chat("<font color=\"#B40404\"><b>21</b>, rojo impar y pasa.</font>", false, 33); break; case 22: GetRoomUser().Chat("<font color=\"#1C1C1C\"><b>22</b>, negro par y pasa.</font>", false, 33); break; case 23: GetRoomUser().Chat("<font color=\"#B40404\"><b>23</b>, rojo impar y pasa.</font>", false, 33); break; case 24: GetRoomUser().Chat("<font color=\"#1C1C1C\"><b>24</b>, negro par y pasa.</font>", false, 33); break; case 25: GetRoomUser().Chat("<font color=\"#B40404\"><b>25</b>, rojo impar y pasa.</font>", false, 33); break; case 26: GetRoomUser().Chat("<font color=\"#1C1C1C\"><b>26</b>, negro par y pasa.</font>", false, 33); break; case 27: GetRoomUser().Chat("<font color=\"#B40404\"><b>27</b>, rojo impar y pasa.</font>", false, 33); break; case 28: GetRoomUser().Chat("<font color=\"#1C1C1C\"><b>28</b>, negro par y pasa.</font>", false, 33); break; case 29: GetRoomUser().Chat("<font color=\"#1C1C1C\"><b>29</b>, negro impar y pasa.</font>", false, 33); break; case 30: GetRoomUser().Chat("<font color=\"#B40404\"><b>30</b>, rojo par y pasa.</font>", false, 33); break; case 31: GetRoomUser().Chat("<font color=\"#1C1C1C\"><b>31</b>, negro impar y pasa.</font>", false, 33); break; case 32: GetRoomUser().Chat("<font color=\"#B40404\"><b>32</b>, rojo par y pasa.</font>", false, 33); break; case 33: GetRoomUser().Chat("<font color=\"#1C1C1C\"><b>33</b>, negro impar y pasa.</font>", false, 33); break; case 34: GetRoomUser().Chat("<font color=\"#B40404\"><b>34</b>, rojo par y pasa.</font>", false, 33); break; case 35: GetRoomUser().Chat("<font color=\"#1C1C1C\"><b>35</b>, negro impar y pasa.</font>", false, 33); break; case 36: GetRoomUser().Chat("<font color=\"#B40404\"><b>36</b>, rojo par y pasa.</font>", false, 33); break; } #endregion foreach (KeyValuePair <int, CasinoDataLocura> pair in Data1) { int userId = pair.Key; CasinoDataLocura Data2 = pair.Value; if (Data2.bet == num) { GameClient client = NeonEnvironment.GetGame().GetClientManager().GetClientByUserID(Data2.userId); if (client is GameClient) { int d = (int)Math.Ceiling(Data2.quantity * offerMultiplier); client.GetHabbo().Diamonds += d; client.SendMessage(new HabboActivityPointNotificationComposer(client.GetHabbo().Diamonds, d, 5)); } } } Data1.Clear(); offerMultiplier = 1.2; Bets = 1; // Reset the timer of the round. GameLength = 100; } else { GameLength--; } GetRoomUser().Chat(GameLength + "", false, 33); }
public void Parse(GameClient Session, ClientPacket Packet) { int Data1 = Packet.PopInt(); // ELEMENTO 1 int Data2 = Packet.PopInt(); // ELEMENTO 2 int Data3 = Packet.PopInt(); // ELEMENTO 3 int Data4 = Packet.PopInt(); // SELECTOR var RewardName = ""; switch (Data4) { case 0: int RewardDiamonds = RandomNumber.GenerateRandom(0, 5); Session.GetHabbo().Diamonds += RewardDiamonds; Session.SendMessage(new HabboActivityPointNotificationComposer(Session.GetHabbo().Diamonds, 0, 5)); Session.SendMessage(RoomNotificationComposer.SendBubble("diamonds", "Você acabou de ganha " + RewardDiamonds + " diamantes.", "")); break; case 1: int RewardGotw = RandomNumber.GenerateRandom(25, 50); Session.GetHabbo().GOTWPoints += RewardGotw; Session.SendMessage(new HabboActivityPointNotificationComposer(Session.GetHabbo().GOTWPoints, RewardGotw, 103)); break; case 2: int RewardItem = RandomNumber.GenerateRandom(1, 10); var RewardItemId = 0; switch (RewardItem) { case 1: RewardItemId = 49231247; // Pacos de Notas RewardName = "Pacos de Notas"; break; case 2: RewardItemId = 2607; // CD Antigo RewardName = "CD Antigo"; break; case 3: RewardItemId = 179; // Pato de Borracha RewardName = "Pato de Borracha"; break; case 4: RewardItemId = 3226; // Gnoma RewardName = "Gnoma"; break; case 5: RewardItemId = 3155; // Cadeira Mursh RewardName = "Cadeira Mursh"; break; case 6: RewardItemId = 3291; // Mão RewardName = "Mão"; break; case 7: RewardItemId = 206; // Abóbora RewardName = "Abóbora"; break; case 8: RewardItemId = 9159; // Teia de Aranha RewardName = "Teia de Aranha"; break; case 9: RewardItemId = 2064; // Moeda RewardName = "Moeda"; break; case 10: RewardItemId = 2064; // Moeda RewardName = "Moeda"; break; } ItemData Item = null; if (!BiosEmuThiago.GetGame().GetItemManager().GetItem(RewardItemId, out Item)) { return; } Item GiveItem = ItemFactory.CreateSingleItemNullable(Item, Session.GetHabbo(), "", ""); if (GiveItem != null) { Session.GetHabbo().GetInventoryComponent().TryAddItem(GiveItem); Session.SendMessage(new FurniListNotificationComposer(GiveItem.Id, 1)); Session.SendMessage(new FurniListUpdateComposer()); Session.SendMessage(RoomNotificationComposer.SendBubble("voucher", "Você acabou de receber um " + RewardName + ".\n\nCorre, " + Session.GetHabbo().Username + ", Verifique o seu inventário, há algo novo aparentemente!", "")); } Session.GetHabbo().GetInventoryComponent().UpdateItems(true); break; } BiosEmuThiago.GetGame().GetAchievementManager().ProgressAchievement(Session, "ACH_AnimationRanking", 1); }
public override void OnUserSay(RoomUser User, string Message) { if (User == null) { return; } var Pet = GetRoomUser(); if (Pet == null) { return; } if (Pet.PetData.DbState != DatabaseUpdateState.NeedsInsert) { Pet.PetData.DbState = DatabaseUpdateState.NeedsUpdate; } if (Message.ToLower().Equals(Pet.PetData.Name.ToLower())) { Pet.SetRot(Rotation.Calculate(Pet.X, Pet.Y, User.X, User.Y), false); return; } //if (!Pet.Statusses.ContainsKey("gst thr")) // Pet.Statusses.Add("gst thr", TextHandling.GetString(Pet.Z)); if (Message.ToLower().StartsWith(Pet.PetData.Name.ToLower() + " ") && User.GetClient().GetHabbo().Username.ToLower() == Pet.PetData.OwnerName.ToLower() || Message.ToLower().StartsWith(Pet.PetData.Name.ToLower() + " ") && PlusEnvironment.GetGame().GetChatManager().GetPetCommands() .TryInvoke(Message.Substring(Pet.PetData.Name.ToLower().Length + 1)) == 8) { var Command = Message.Substring(Pet.PetData.Name.ToLower().Length + 1); var r = RandomNumber.GenerateRandom(1, 8); // Made Random if (Pet.PetData.Energy > 10 && r < 6 || Pet.PetData.Level > 15 || PlusEnvironment.GetGame().GetChatManager().GetPetCommands().TryInvoke(Command) == 8) { RemovePetStatus(); // Remove Status switch (PlusEnvironment.GetGame().GetChatManager().GetPetCommands().TryInvoke(Command)) { // TODO - Level you can use the commands at... case 1: RemovePetStatus(); //int randomX = PlusEnvironment.GetRandomNumber(0, GetRoom().Model.MapSizeX); //int randomY = PlusEnvironment.GetRandomNumber(0, GetRoom().Model.MapSizeY); var nextCoord = GetRoom().GetGameMap().GetRandomWalkableSquare(); Pet.MoveTo(nextCoord.X, nextCoord.Y); Pet.PetData.Addexperience(10); // Give XP break; case 2: RemovePetStatus(); var NewX = User.X; var NewY = User.Y; ActionTimer = 30; // Reset ActionTimer if (User.RotBody == 4) { NewY = User.Y + 1; } else if (User.RotBody == 0) { NewY = User.Y - 1; } else if (User.RotBody == 6) { NewX = User.X - 1; } else if (User.RotBody == 2) { NewX = User.X + 1; } else if (User.RotBody == 3) { NewX = User.X + 1; NewY = User.Y + 1; } else if (User.RotBody == 1) { NewX = User.X + 1; NewY = User.Y - 1; } else if (User.RotBody == 7) { NewX = User.X - 1; NewY = User.Y - 1; } else if (User.RotBody == 5) { NewX = User.X - 1; NewY = User.Y + 1; } Pet.PetData.Addexperience(10); // Give XP Pet.MoveTo(NewX, NewY); break; case 3: // Remove Status RemovePetStatus(); Pet.PetData.Addexperience(10); // Give XP // Add Status Pet.Statusses.Add("sit", TextHandling.GetString(Pet.Z)); Pet.UpdateNeeded = true; ActionTimer = 25; EnergyTimer = 10; break; case 4: // Remove Status RemovePetStatus(); // Add Status Pet.Statusses.Add("lay", TextHandling.GetString(Pet.Z)); Pet.UpdateNeeded = true; Pet.PetData.Addexperience(10); // Give XP ActionTimer = 30; EnergyTimer = 5; break; case 5: // Remove Status RemovePetStatus(); // Add Status Pet.Statusses.Add("ded", TextHandling.GetString(Pet.Z)); Pet.UpdateNeeded = true; Pet.PetData.Addexperience(10); // Give XP // Don't move to speak for a set amount of time. SpeechTimer = 45; ActionTimer = 30; break; case 6: // Remove Status RemovePetStatus(); Pet.Chat("ZzzZZZzzzzZzz", false); Pet.Statusses.Add("lay", TextHandling.GetString(Pet.Z)); Pet.UpdateNeeded = true; Pet.PetData.Addexperience(10); // Give XP // Don't move to speak for a set amount of time. EnergyTimer = 5; SpeechTimer = 30; ActionTimer = 45; break; case 7: // Remove Status RemovePetStatus(); // Add Status Pet.Statusses.Add("jmp", TextHandling.GetString(Pet.Z)); Pet.UpdateNeeded = true; Pet.PetData.Addexperience(10); // Give XP // Don't move to speak for a set amount of time. EnergyTimer = 5; SpeechTimer = 10; ActionTimer = 5; break; case 46: break; default: var Speech = PlusEnvironment.GetGame().GetChatManager().GetPetLocale().GetValue("pet.unknowncommand"); Pet.Chat(Speech[RandomNumber.GenerateRandom(0, Speech.Length - 1)], false); break; } Pet.PetData.PetEnergy(false); // Remove Energy } else { RemovePetStatus(); // Remove Status if (Pet.PetData.Energy < 10) { var Speech = PlusEnvironment.GetGame().GetChatManager().GetPetLocale().GetValue("pet.tired"); var RandomSpeech = new Random(); Pet.Chat(Speech[RandomNumber.GenerateRandom(0, Speech.Length - 1)], false); Pet.Statusses.Add("lay", TextHandling.GetString(Pet.Z)); Pet.UpdateNeeded = true; SpeechTimer = 50; ActionTimer = 45; EnergyTimer = 5; } else { var Speech = PlusEnvironment.GetGame().GetChatManager().GetPetLocale().GetValue("pet.lazy"); var RandomSpeech = new Random(); Pet.Chat(Speech[RandomNumber.GenerateRandom(0, Speech.Length - 1)], false); Pet.PetData.PetEnergy(false); // Remove Energy } } } //Pet = null; }
public override void OnTimerTick() { if (GameLength == 95) { GetRoomUser().Chat("Apostas ativas, jogo aberto.", false, 33); BetsOpen = true; } if (GameLength == 15) { GetRoomUser().Chat("Apostas fechadas, boa sorte.", false, 33); BetsOpen = false; } if (GameLength <= 0) { #region Serialize Numbers int num = RandomNumber.GenerateRandom(0, 36); switch (num) { case 0: GetRoomUser().Chat("<font color=\"#04B404\"><b>0</b>.</font>", false, 33); break; case 1: GetRoomUser().Chat("<font color=\"#B40404\"><b>1</b>, vermelho e desaparecido.</font>", false, 33); break; case 2: GetRoomUser().Chat("<font color=\"#1C1C1C\"><b>2</b>, par preto e falha.</font>", false, 33); break; case 3: GetRoomUser().Chat("<font color=\"#B40404\"><b>3</b>, vermelho e desaparecido.</font>", false, 33); break; case 4: GetRoomUser().Chat("<font color=\"#1C1C1C\"><b>4</b>, par preto e falha.</font>", false, 33); break; case 5: GetRoomUser().Chat("<font color=\"#B40404\"><b>5</b>, vermelho e desaparecido.</font>", false, 33); break; case 6: GetRoomUser().Chat("<font color=\"#1C1C1C\"><b>6</b>, par preto e falha.</font>", false, 33); break; case 7: GetRoomUser().Chat("<font color=\"#B40404\"><b>7</b>, vermelho e desaparecido.</font>", false, 33); break; case 8: GetRoomUser().Chat("<font color=\"#1C1C1C\"><b>8</b>, par preto e falha.</font>", false, 33); break; case 9: GetRoomUser().Chat("<font color=\"#B40404\"><b>9</b>, vermelho e desaparecido.</font>", false, 33); break; case 10: GetRoomUser().Chat("<font color=\"#1C1C1C\"><b>10</b>, par preto e falha.</font>", false, 33); break; case 11: GetRoomUser().Chat("<font color=\"#1C1C1C\"><b>11</b>, preto estranho e desaparecido.</font>", false, 33); break; case 12: GetRoomUser().Chat("<font color=\"#B40404\"><b>12</b>, par vermelho e falha.</font>", false, 33); break; case 13: GetRoomUser().Chat("<font color=\"#1C1C1C\"><b>13</b>, preto estranho e desaparecido.</font>", false, 33); break; case 14: GetRoomUser().Chat("<font color=\"#B40404\"><b>14</b>, par vermelho e falha.</font>", false, 33); break; case 15: GetRoomUser().Chat("<font color=\"#1C1C1C\"><b>15</b>, preto estranho e desaparecido.</font>", false, 33); break; case 16: GetRoomUser().Chat("<font color=\"#B40404\"><b>16</b>, par vermelho e falha.</font>", false, 33); break; case 17: GetRoomUser().Chat("<font color=\"#1C1C1C\"><b>17</b>, preto estranho e desaparecido.</font>", false, 33); break; case 18: GetRoomUser().Chat("<font color=\"#B40404\"><b>18</b>, par vermelho e falha.</font>", false, 33); break; case 19: GetRoomUser().Chat("<font color=\"#B40404\"><b>19</b>, vermelho estranho e vai.</font>", false, 33); break; case 20: GetRoomUser().Chat("<font color=\"#1C1C1C\"><b>20</b>, par preto e passas.</font>", false, 33); break; case 21: GetRoomUser().Chat("<font color=\"#B40404\"><b>21</b>, vermelho estranho e vai.</font>", false, 33); break; case 22: GetRoomUser().Chat("<font color=\"#1C1C1C\"><b>22</b>, par preto e passas.</font>", false, 33); break; case 23: GetRoomUser().Chat("<font color=\"#B40404\"><b>23</b>, vermelho estranho e vai.</font>", false, 33); break; case 24: GetRoomUser().Chat("<font color=\"#1C1C1C\"><b>24</b>, par preto e passas.</font>", false, 33); break; case 25: GetRoomUser().Chat("<font color=\"#B40404\"><b>25</b>, vermelho estranho e vai.</font>", false, 33); break; case 26: GetRoomUser().Chat("<font color=\"#1C1C1C\"><b>26</b>, par preto e passas.</font>", false, 33); break; case 27: GetRoomUser().Chat("<font color=\"#B40404\"><b>27</b>, vermelho estranho e vai.</font>", false, 33); break; case 28: GetRoomUser().Chat("<font color=\"#1C1C1C\"><b>28</b>, par preto e passas.</font>", false, 33); break; case 29: GetRoomUser().Chat("<font color=\"#1C1C1C\"><b>29</b>, estranho e preto.</font>", false, 33); break; case 30: GetRoomUser().Chat("<font color=\"#B40404\"><b>30</b>, par vermelho e passas.</font>", false, 33); break; case 31: GetRoomUser().Chat("<font color=\"#1C1C1C\"><b>31</b>, estranho e preto.</font>", false, 33); break; case 32: GetRoomUser().Chat("<font color=\"#B40404\"><b>32</b>, par vermelho e passas.</font>", false, 33); break; case 33: GetRoomUser().Chat("<font color=\"#1C1C1C\"><b>33</b>, estranho e preto.</font>", false, 33); break; case 34: GetRoomUser().Chat("<font color=\"#B40404\"><b>34</b>, par vermelho e passas.</font>", false, 33); break; case 35: GetRoomUser().Chat("<font color=\"#1C1C1C\"><b>35</b>, estranho e preto.</font>", false, 33); break; case 36: GetRoomUser().Chat("<font color=\"#B40404\"><b>36</b>, par vermelho e passas.</font>", false, 33); break; } #endregion foreach (KeyValuePair <int, CasinoDataLocura> pair in Data1) { int userId = pair.Key; CasinoDataLocura Data2 = pair.Value; if (Data2.bet == num) { GameClient client = BiosEmuThiago.GetGame().GetClientManager().GetClientByUserID(Data2.userId); if (client is GameClient) { int d = (int)Math.Ceiling(Data2.quantity * offerMultiplier); client.GetHabbo().Diamonds += d; client.SendMessage(new HabboActivityPointNotificationComposer(client.GetHabbo().Diamonds, d, 5)); } } } Data1.Clear(); offerMultiplier = 1.2; Bets = 1; GameLength = 100; } else { GameLength--; } if (GameLength == 20) { GetRoomUser().Chat("90/100 segundos", false, 33); } if (GameLength == 30) { GetRoomUser().Chat("70/100 segundos", false, 33); } if (GameLength == 50) { GetRoomUser().Chat("50/100 segundos", false, 33); } if (GameLength == 70) { GetRoomUser().Chat("30/100 segundos", false, 33); } if (GameLength == 90) { GetRoomUser().Chat("10/100 segundos", false, 33); } }
public FurniMaticRewards GetRandomReward() { int level = 0; int rand5 = RandomNumber.GenerateRandom(1, 2000); if (rand5 == 1999) { level = 5; List <FurniMaticRewards> Reward = GetRewardsByLevel(level); int prize5 = RandomNumber.GenerateRandom(1, 2); if (prize5 == 1) { return(Reward[0]); } else { return(Reward[1]); } } int rand4 = RandomNumber.GenerateRandom(1, 250); if (rand4 == 199) { level = 4; List <FurniMaticRewards> Reward = GetRewardsByLevel(level); int prize4 = RandomNumber.GenerateRandom(1, 2); if (prize4 == 1) { return(Reward[0]); } else { return(Reward[1]); } } int rand3 = RandomNumber.GenerateRandom(1, 100); if (rand3 == 80) { level = 3; List <FurniMaticRewards> Reward = GetRewardsByLevel(level); int prize3 = RandomNumber.GenerateRandom(1, 4); if (prize3 == 1) { return(Reward[0]); } if (prize3 == 2) { return(Reward[1]); } if (prize3 == 3) { return(Reward[2]); } if (prize3 == 4) { return(Reward[3]); } } int rand2 = RandomNumber.GenerateRandom(1, 25); if (rand2 == 20) { level = 2; List <FurniMaticRewards> Reward = GetRewardsByLevel(level); int prize2 = RandomNumber.GenerateRandom(1, 3); if (prize2 == 1) { return(Reward[0]); } if (prize2 == 2) { return(Reward[1]); } if (prize2 == 3) { return(Reward[2]); } } else { level = 1; } List <FurniMaticRewards> possibleRewards = GetRewardsByLevel(level); if (possibleRewards != null && possibleRewards.Count >= 1) { return(possibleRewards[new Random().Next(0, (possibleRewards.Count - 1))]); } else { return(new FurniMaticRewards(0, 470, 0)); } }
public void OnTrigger(GameClient Session, Item Item, int Request, bool HasRights) { // Revisar la cantidad de diamantes que tiene. if (Session.GetHabbo().Diamonds <= 0) { Session.SendWhisper("Para poder apostar debes tener diamantes, ahora mismo tienes 0.", 34); return; } if (Session.GetHabbo()._bet > Session.GetHabbo().Diamonds) { Session.SendWhisper("Estás apostando más diamantes de los que tienes.", 34); return; } if (Session.GetHabbo()._bet <= 0) { Session.SendWhisper("No puedes apostar 0 diamantes. Utiliza el siguiente comando para apostar:", 34); Session.SendWhisper("\":apostar %cantidad%\"", 34); return; } if (Session == null || Session.GetHabbo() == null || Item == null) { return; } Room Room = Session.GetHabbo().CurrentRoom; if (Room == null) { return; } RoomUser Actor = Room.GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id); if (Actor == null) { return; } if (Gamemap.TileDistance(Actor.X, Actor.Y, Item.GetX, Item.GetY) < 2) { int Bet = Session.GetHabbo()._bet; Session.GetHabbo().Diamonds -= Bet; Session.SendMessage(new HabboActivityPointNotificationComposer(Session.GetHabbo().Diamonds, -Bet, 5)); int Random1 = RandomNumber.GenerateRandom(1, 3); switch (Random1) { case 1: Rand1 = "¥"; break; case 2: Rand1 = "|"; break; case 3: Rand1 = "ª"; break; } int Random2 = RandomNumber.GenerateRandom(1, 3); switch (Random2) { case 1: Rand2 = "¥"; break; case 2: Rand2 = "|"; break; case 3: Rand2 = "ª"; break; } int Random3 = RandomNumber.GenerateRandom(1, 3); switch (Random3) { case 1: Rand3 = "¥"; break; case 2: Rand3 = "|"; break; case 3: Rand3 = "ª"; break; } RoomUser User = Room.GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id); if (User == null || User.GetClient() == null) { return; } Session.SendWhisper("[ " + Rand1 + " - " + Rand2 + " - " + Rand3 + " ]", 34); Item.ExtraData = "1"; Item.UpdateState(true, true); new Thread(() => { Thread.Sleep(1000); Item.ExtraData = "0"; Item.UpdateState(true, true); }).Start(); int Paga = RandomNumber.GenerateRandom(1, 5); switch (Paga) { case 1: paga = 1; break; case 2: paga = 2; break; case 3: paga = 3; break; case 4: paga = 4; break; case 5: paga = 5; break; case 6: paga = 6; break; } if (Random1 == Random2 && Random1 == Random3 && Random3 == Random2) { // ¥ - Estrella - » Trebol - ª Calavera switch (Random1) { case 1: Session.GetHabbo().Diamonds += Bet * 7; Session.SendMessage(new HabboActivityPointNotificationComposer(Session.GetHabbo().Diamonds, -Bet, 5)); Session.SendWhisper("Has ganado " + Bet * 7 + " diamantes con una triple estrella.", 34); RavenEnvironment.GetGame().GetAchievementManager().ProgressAchievement(Actor.GetClient(), "ACH_StarBet", 1); break; case 2: Session.GetHabbo().Diamonds += Bet * paga; Session.SendMessage(new HabboActivityPointNotificationComposer(Session.GetHabbo().Diamonds, -Bet, 5)); Session.SendWhisper("Has ganado " + Bet * paga + " diamantes con un triple corazón.", 34); RavenEnvironment.GetGame().GetAchievementManager().ProgressAchievement(Actor.GetClient(), "ACH_HeartBet", 1); break; case 3: Session.GetHabbo().Diamonds += Bet * paga; Session.SendMessage(new HabboActivityPointNotificationComposer(Session.GetHabbo().Diamonds, -Bet, 5)); Session.SendWhisper("Has ganado " + Bet * paga + " diamantes con una triple calavera.", 34); RavenEnvironment.GetGame().GetAchievementManager().ProgressAchievement(Actor.GetClient(), "ACH_SkullBet", 1); break; } } RavenEnvironment.GetGame().GetAchievementManager().ProgressAchievement(Actor.GetClient(), "ACH_GeneralBet", 1); return; } }
public override void OnTimerTick() { var Pet = GetRoomUser(); if (Pet == null) { return; } #region Speech if (SpeechTimer <= 0) { if (Pet.PetData.DBState != PetDatabaseUpdateState.NeedsInsert) { Pet.PetData.DBState = PetDatabaseUpdateState.NeedsUpdate; } if (Pet != null) { var RandomSpeech = new Random(); RemovePetStatus(); var Speech = Program.GameContext.GetChatManager().GetPetLocale().GetValue("speech.pet" + Pet.PetData.Type); var rSpeech = Speech[RandomNumber.GenerateRandom(0, Speech.Length - 1)]; if (rSpeech.Length != 3) { Pet.Chat(rSpeech); } else { Pet.Statusses.Add(rSpeech, StringUtilities.GetString(Pet.Z)); } } SpeechTimer = RandomNumber.GenerateNewRandom(20, 120); } else { SpeechTimer--; } #endregion #region Actions if (ActionTimer <= 0) { try { RemovePetStatus(); ActionTimer = RandomNumber.GenerateRandom(15, 40 + GetRoomUser().PetData.VirtualId); if (!GetRoomUser().RidingHorse) { // Remove Status RemovePetStatus(); var nextCoord = GetRoom().GetGameMap().GetRandomWalkableSquare(); if (GetRoomUser().CanWalk) { GetRoomUser().MoveTo(nextCoord.X, nextCoord.Y); } } } catch (Exception e) { Logger.Error(e); } } else { ActionTimer--; } #endregion #region Energy if (EnergyTimer <= 0) { RemovePetStatus(); // Remove Status Pet.PetData.PetEnergy(true); // Add Energy EnergyTimer = RandomNumber.GenerateRandom(30, 120); // 2 Min Max } else { EnergyTimer--; } #endregion }
public bool TryAuthenticate(string AuthTicket) { try { UserData userData = UserDataFactory.GetUserData(AuthTicket, out byte errorCode); if (errorCode == 1 || errorCode == 2) { Disconnect(); return(false); } #region Ban Checking //Let's have a quick search for a ban before we successfully authenticate.. ModerationBan BanRecord; if (!string.IsNullOrEmpty(MachineId)) { if (NeonEnvironment.GetGame().GetModerationManager().IsBanned(MachineId, out BanRecord)) { if (NeonEnvironment.GetGame().GetModerationManager().MachineBanCheck(MachineId)) { Disconnect(); return(false); } } } if (NeonEnvironment.GetGame().GetModerationManager().IsBanned(userData.user.Username, out BanRecord)) { if (NeonEnvironment.GetGame().GetModerationManager().UsernameBanCheck(userData.user.Username)) { Disconnect(); return(false); } } #endregion NeonEnvironment.GetGame().GetClientManager().RegisterClient(this, userData.userID, userData.user.Username); _habbo = userData.user; if (_habbo != null) { ssoTicket = AuthTicket; userData.user.Init(this, userData); SendMessage(new AuthenticationOKComposer()); SendMessage(new AvatarEffectsComposer(_habbo.Effects().GetAllEffects)); SendMessage(new NavigatorSettingsComposer(_habbo.HomeRoom)); SendMessage(new FavouritesComposer(userData.user.FavoriteRooms)); SendMessage(new FigureSetIdsComposer(_habbo.GetClothing().GetClothingAllParts)); SendMessage(new UserRightsComposer(_habbo)); SendMessage(new AvailabilityStatusComposer()); SendMessage(new AchievementScoreComposer(_habbo.GetStats().AchievementPoints)); //var habboClubSubscription = new ServerPacket(ServerPacketHeader.HabboClubSubscriptionComposer); //habboClubSubscription.WriteString("club_habbo"); //habboClubSubscription.WriteInteger(0); //habboClubSubscription.WriteInteger(0); //habboClubSubscription.WriteInteger(0); //habboClubSubscription.WriteInteger(2); //habboClubSubscription.WriteBoolean(false); //habboClubSubscription.WriteBoolean(false); //habboClubSubscription.WriteInteger(0); //habboClubSubscription.WriteInteger(0); //habboClubSubscription.WriteInteger(0); //SendMessage(habboClubSubscription); SendMessage(new BuildersClubMembershipComposer()); SendMessage(new CfhTopicsInitComposer()); SendMessage(new BadgeDefinitionsComposer(NeonEnvironment.GetGame().GetAchievementManager()._achievements)); SendMessage(new SoundSettingsComposer(_habbo.ClientVolume, _habbo.ChatPreference, _habbo.AllowMessengerInvites, _habbo.FocusPreference, FriendBarStateUtility.GetInt(_habbo.FriendbarState))); if (GetHabbo().GetMessenger() != null) { GetHabbo().GetMessenger().OnStatusChanged(true); } if (_habbo.Rank < 2 && !NeonStaticGameSettings.HotelOpenForUsers) { SendMessage(new SendHotelAlertLinkEventComposer("Actualmente solo el Equipo Adminsitrativo puede entrar al hotel para comprobar que todo está bien antes de que los usuarios puedan entrar. Vuelve a intentarlo en unos minutos, podrás encontrar más información en nuestro Facebook.", NeonEnvironment.GetDBConfig().DBData["facebook_url"])); Thread.Sleep(10000); Disconnect(); return(false); } if (!string.IsNullOrEmpty(MachineId)) { if (_habbo.MachineId != MachineId) { using (IQueryAdapter dbClient = NeonEnvironment.GetDatabaseManager().GetQueryReactor()) { dbClient.SetQuery("UPDATE `users` SET `machine_id` = @MachineId WHERE `id` = @id LIMIT 1"); dbClient.AddParameter("MachineId", MachineId); dbClient.AddParameter("id", _habbo.Id); dbClient.RunQuery(); } } _habbo.MachineId = MachineId; } if (NeonEnvironment.GetGame().GetPermissionManager().TryGetGroup(_habbo.Rank, out PermissionGroup PermissionGroup)) { if (!string.IsNullOrEmpty(PermissionGroup.Badge)) { if (!_habbo.GetBadgeComponent().HasBadge(PermissionGroup.Badge)) { _habbo.GetBadgeComponent().GiveBadge(PermissionGroup.Badge, true, this); } } } if (NeonEnvironment.GetGame().GetSubscriptionManager().TryGetSubscriptionData(_habbo.VIPRank, out SubscriptionData SubData)) { if (!string.IsNullOrEmpty(SubData.Badge)) { if (!_habbo.GetBadgeComponent().HasBadge(SubData.Badge)) { _habbo.GetBadgeComponent().GiveBadge(SubData.Badge, true, this); } } } if (!NeonEnvironment.GetGame().GetCacheManager().ContainsUser(_habbo.Id)) { NeonEnvironment.GetGame().GetCacheManager().GenerateUser(_habbo.Id); } _habbo.InitProcess(); GetHabbo()._lastitems = new Dictionary <int, CatalogItem>(); //ICollection<MessengerBuddy> Friends = new List<MessengerBuddy>(); //foreach (MessengerBuddy Buddy in this.GetHabbo().GetMessenger().GetFriends().ToList()) //{ // if (Buddy == null) // continue; // GameClient Friend = NeonEnvironment.GetGame().GetClientManager().GetClientByUserID(Buddy.Id); // if (Friend == null) // continue; // string figure = this.GetHabbo().Look; // Friend.SendMessage(RoomNotificationComposer.SendBubble("usr/look/" + this.GetHabbo().Username + "", this.GetHabbo().Username + " se ha conectado a " + NeonEnvironment.GetDBConfig().DBData["hotel.name"] + ".", "")); //} if (GetHabbo()._NUX) { SendMessage(new MassEventComposer("habbopages/bienvenida.txt")); } else { SendMessage(new MassEventComposer("habbopages/welk.txt?249")); } if (NeonEnvironment.GetDBConfig().DBData["pin.system.enable"] == "0") { GetHabbo().StaffOk = true; } if (GetHabbo().StaffOk) { if (GetHabbo().GetPermissions().HasRight("mod_tickets")) { SendMessage(new ModeratorInitComposer( NeonEnvironment.GetGame().GetModerationManager().UserMessagePresets, NeonEnvironment.GetGame().GetModerationManager().RoomMessagePresets, NeonEnvironment.GetGame().GetModerationManager().GetTickets)); } } if (GetHabbo().Rank > 5 || GetHabbo()._guidelevel > 0) { HelperToolsManager.AddHelper(_habbo.GetClient(), false, true, true); SendMessage(new HandleHelperToolComposer(true)); } //SendMessage(new CampaignCalendarDataComposer(_habbo.calendarGift)); //if (int.Parse(NeonEnvironment.GetDBConfig().DBData["advent.calendar.enable"]) == 1) // Tk Custom By Whats // SendMessage(new MassEventComposer("openView/calendar")); if (NeonEnvironment.GetGame().GetTargetedOffersManager().TargetedOffer != null) { NeonEnvironment.GetGame().GetTargetedOffersManager().Initialize(NeonEnvironment.GetDatabaseManager().GetQueryReactor()); TargetedOffers TargetedOffer = NeonEnvironment.GetGame().GetTargetedOffersManager().TargetedOffer; if (TargetedOffer.Expire > NeonEnvironment.GetIUnixTimestamp()) { if (TargetedOffer.Limit != GetHabbo()._TargetedBuy) { SendMessage(NeonEnvironment.GetGame().GetTargetedOffersManager().TargetedOffer.Serialize()); } } else if (TargetedOffer.Expire == -1) { if (TargetedOffer.Limit != GetHabbo()._TargetedBuy) { SendMessage(NeonEnvironment.GetGame().GetTargetedOffersManager().TargetedOffer.Serialize()); } } else { using (IQueryAdapter dbClient = NeonEnvironment.GetDatabaseManager().GetQueryReactor()) { dbClient.runFastQuery("UPDATE targeted_offers SET active = 'false'"); } using (IQueryAdapter dbClient2 = NeonEnvironment.GetDatabaseManager().GetQueryReactor()) { dbClient2.runFastQuery("UPDATE users SET targeted_buy = '0' WHERE targeted_buy > 0"); } } } if (_habbo.MysticBoxes.Count == 0 && _habbo.MysticKeys.Count == 0) { int box = RandomNumber.GenerateRandom(1, 8); string boxcolor = ""; switch (box) { case 1: boxcolor = "purple"; break; case 2: boxcolor = "blue"; break; case 3: boxcolor = "green"; break; case 4: boxcolor = "yellow"; break; case 5: boxcolor = "lilac"; break; case 6: boxcolor = "orange"; break; case 7: boxcolor = "turquoise"; break; case 8: boxcolor = "red"; break; } int key = RandomNumber.GenerateRandom(1, 8); string keycolor = ""; switch (key) { case 1: keycolor = "purple"; break; case 2: keycolor = "blue"; break; case 3: keycolor = "green"; break; case 4: keycolor = "yellow"; break; case 5: keycolor = "lilac"; break; case 6: keycolor = "orange"; break; case 7: keycolor = "turquoise"; break; case 8: keycolor = "red"; break; } _habbo.MysticKeys.Add(keycolor); _habbo.MysticBoxes.Add(boxcolor); using (IQueryAdapter dbClient = NeonEnvironment.GetDatabaseManager().GetQueryReactor()) { dbClient.runFastQuery("INSERT INTO user_mystic_data(user_id, mystic_keys, mystic_boxes) VALUES(" + GetHabbo().Id + ", '" + keycolor + "', '" + boxcolor + "');"); } } SendMessage(new MysteryBoxDataComposer(_habbo.GetClient())); SendMessage(new HCGiftsAlertComposer()); //if(!GetHabbo()._NUX) //{ // DateTime dtDateTime = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc); // dtDateTime = dtDateTime.AddSeconds(GetHabbo().LastOnline); // if ((DateTime.Now - dtDateTime).TotalDays > 2) // { // //NeonEnvironment.GetGame().GetAchievementManager().ProgressAchievement(_habbo.GetClient(), "ACH_Login", 1, true); // NeonEnvironment.GetGame().GetAchievementManager().ProgressAchievement(_habbo.GetClient(), "ACH_RegistrationDuration", 1); // } // else if ((DateTime.Now - dtDateTime).TotalDays > 1 && (DateTime.Now - dtDateTime).TotalDays < 2) // { // NeonEnvironment.GetGame().GetAchievementManager().ProgressAchievement(_habbo.GetClient(), "ACH_Login", 1); // NeonEnvironment.GetGame().GetAchievementManager().ProgressAchievement(_habbo.GetClient(), "ACH_RegistrationDuration", 1); // if(GetHabbo().Rank > 2 || GetHabbo()._guidelevel > 0) // { // NeonEnvironment.GetGame().GetAchievementManager().ProgressAchievement(_habbo.GetClient(), "ACH_GuideEnrollmentLifetime", 1); // } // } //} NeonEnvironment.GetGame().GetRewardManager().CheckRewards(this); if (GetHabbo()._NUX) { NeonEnvironment.GetGame().GetClientManager().StaffAlert(new RoomInviteComposer(int.MinValue, GetHabbo().Username + " acaba de registrarse en Keko.")); GetHabbo()._NUX = false; using (IQueryAdapter dbClient = NeonEnvironment.GetDatabaseManager().GetQueryReactor()) { dbClient.runFastQuery("UPDATE users SET nux_user = '******' WHERE id = " + GetHabbo().Id + ";"); } } return(true); } } catch (Exception e) { Logging.LogCriticalException("Bug during user login: " + e); } return(false); }
public override void OnUserSay(RoomUser User, string Message) { if (User == null) { return; } RoomUser Pet = GetRoomUser(); if (Pet == null) { return; } if (Pet.PetData.DBState != DatabaseUpdateState.NeedsInsert) { Pet.PetData.DBState = DatabaseUpdateState.NeedsUpdate; } if (Message.ToLower().Equals(Pet.PetData.Name.ToLower())) { Pet.SetRot(Rotation.Calculate(Pet.X, Pet.Y, User.X, User.Y), false); return; } //if (!Pet.Statusses.ContainsKey("gst thr")) // Pet.Statusses.Add("gst thr", TextHandling.GetString(Pet.Z)); if ((Message.ToLower().StartsWith(Pet.PetData.Name.ToLower() + " ") && User.GetClient().GetHabbo().Username.ToLower() == Pet.PetData.OwnerName.ToLower()) || (Message.ToLower().StartsWith(Pet.PetData.Name.ToLower() + " ") && QuasarEnvironment.GetGame().GetChatManager().GetPetCommands().TryInvoke(Message.Substring(Pet.PetData.Name.ToLower().Length + 1)) == 8)) { string Command = Message.Substring(Pet.PetData.Name.ToLower().Length + 1); int r = RandomNumber.GenerateRandom(1, 8); // Made Random if (Pet.PetData.Energy > 10 && r < 6 || Pet.PetData.Level > 15 || QuasarEnvironment.GetGame().GetChatManager().GetPetCommands().TryInvoke(Command) == 8) { RemovePetStatus(); // Remove Status switch (QuasarEnvironment.GetGame().GetChatManager().GetPetCommands().TryInvoke(Command)) { // TODO - Level you can use the commands at... #region [1] Rennen case 1: RemovePetStatus(); //int randomX = QuasarEnvironment.GetRandomNumber(0, GetRoom().Model.MapSizeX); //int randomY = QuasarEnvironment.GetRandomNumber(0, GetRoom().Model.MapSizeY); Point nextCoord = GetRoom().GetGameMap().getRandomWalkableSquare(); Pet.MoveTo(nextCoord.X, nextCoord.Y); Pet.PetData.Addexperience(10); // Give XP break; #endregion #region [2] Kom Hier case 2: RemovePetStatus(); int NewX = User.X; int NewY = User.Y; ActionTimer = 30; // Reset ActionTimer #region Draaien if (User.RotBody == 4) { NewY = User.Y + 1; } else if (User.RotBody == 0) { NewY = User.Y - 1; } else if (User.RotBody == 6) { NewX = User.X - 1; } else if (User.RotBody == 2) { NewX = User.X + 1; } else if (User.RotBody == 3) { NewX = User.X + 1; NewY = User.Y + 1; } else if (User.RotBody == 1) { NewX = User.X + 1; NewY = User.Y - 1; } else if (User.RotBody == 7) { NewX = User.X - 1; NewY = User.Y - 1; } else if (User.RotBody == 5) { NewX = User.X - 1; NewY = User.Y + 1; } #endregion Pet.PetData.Addexperience(10); // Give XP Pet.MoveTo(NewX, NewY); break; #endregion #region [3] Zitten case 3: // Remove Status RemovePetStatus(); Pet.PetData.Addexperience(10); // Give XP // Add Status Pet.Statusses.Add("sit", TextHandling.GetString(Pet.Z)); Pet.UpdateNeeded = true; ActionTimer = 25; EnergyTimer = 10; break; #endregion #region [4] Liggen case 4: // Remove Status RemovePetStatus(); // Add Status Pet.Statusses.Add("lay", TextHandling.GetString(Pet.Z)); Pet.UpdateNeeded = true; Pet.PetData.Addexperience(10); // Give XP ActionTimer = 30; EnergyTimer = 5; break; #endregion #region [5] Lig Dood case 5: // Remove Status RemovePetStatus(); // Add Status Pet.Statusses.Add("ded", TextHandling.GetString(Pet.Z)); Pet.UpdateNeeded = true; Pet.PetData.Addexperience(10); // Give XP // Don't move to speak for a set amount of time. SpeechTimer = 45; ActionTimer = 30; break; #endregion #region [6] Slapen case 6: // Remove Status RemovePetStatus(); Pet.Chat("ZzzZZZzzzzZzz", false); Pet.Statusses.Add("lay", TextHandling.GetString(Pet.Z)); Pet.UpdateNeeded = true; Pet.PetData.Addexperience(10); // Give XP // Don't move to speak for a set amount of time. EnergyTimer = 5; SpeechTimer = 30; ActionTimer = 45; break; #endregion #region [7] Springen case 7: // Remove Status RemovePetStatus(); // Add Status Pet.Statusses.Add("jmp", TextHandling.GetString(Pet.Z)); Pet.UpdateNeeded = true; Pet.PetData.Addexperience(10); // Give XP // Don't move to speak for a set amount of time. EnergyTimer = 5; SpeechTimer = 10; ActionTimer = 5; break; #endregion #region [8] Tellen case 8: // Remove Status RemovePetStatus(); // Add Status Pet.Chat("1..3...39 : 3 = 13 tot de macht 38,5.. huh?", false); Pet.Statusses.Add("count", TextHandling.GetString(Pet.Z)); Pet.UpdateNeeded = true; Pet.PetData.Addexperience(10); // Give XP // Don't move to speak for a set amount of time. SpeechTimer = 45; ActionTimer = 30; break; #endregion default: string[] Speech = QuasarEnvironment.GetGame().GetChatManager().GetPetLocale().GetValue("pet.unknowncommand"); Pet.Chat(Speech[RandomNumber.GenerateRandom(0, Speech.Length - 1)], false); break; } Pet.PetData.PetEnergy(false); // Remove Energy } else { RemovePetStatus(); // Remove Status if (Pet.PetData.Energy < 10) { string[] Speech = QuasarEnvironment.GetGame().GetChatManager().GetPetLocale().GetValue("pet.tired"); var RandomSpeech = new Random(); Pet.Chat(Speech[RandomNumber.GenerateRandom(0, Speech.Length - 1)], false); Pet.Statusses.Add("lay", TextHandling.GetString(Pet.Z)); Pet.UpdateNeeded = true; SpeechTimer = 50; ActionTimer = 45; EnergyTimer = 5; } else { string[] Speech = QuasarEnvironment.GetGame().GetChatManager().GetPetLocale().GetValue("pet.lazy"); var RandomSpeech = new Random(); Pet.Chat(Speech[RandomNumber.GenerateRandom(0, Speech.Length - 1)], false); Pet.PetData.PetEnergy(false); // Remove Energy } } } //Pet = null; }
private Point HandleMovement(int Mode, Point Position) { Point NewPos = new Point(); switch (Mode) { case 0: { NewPos = Position; break; } case 1: { switch (RandomNumber.GenerateRandom(1, 8)) { case 1: NewPos = new Point(Position.X + 1, Position.Y); break; case 2: NewPos = new Point(Position.X - 1, Position.Y); break; case 3: NewPos = new Point(Position.X, Position.Y + 1); break; case 4: NewPos = new Point(Position.X, Position.Y - 1); break; case 5: NewPos = new Point(Position.X + 1, Position.Y + 1); break; case 6: NewPos = new Point(Position.X - 1, Position.Y - 1); break; case 7: NewPos = new Point(Position.X - 1, Position.Y + 1); break; case 8: NewPos = new Point(Position.X + 1, Position.Y - 1); break; } break; } case 2: { if (RandomNumber.GenerateRandom(0, 2) == 1) { NewPos = new Point(Position.X - 1, Position.Y); } else { NewPos = new Point(Position.X + 1, Position.Y); } break; } case 3: { if (RandomNumber.GenerateRandom(0, 2) == 1) { NewPos = new Point(Position.X, Position.Y - 1); } else { NewPos = new Point(Position.X, Position.Y + 1); } break; } case 4: { NewPos = new Point(Position.X, Position.Y - 1); break; } case 5: { NewPos = new Point(Position.X + 1, Position.Y); break; } case 6: { NewPos = new Point(Position.X, Position.Y + 1); break; } case 7: { NewPos = new Point(Position.X - 1, Position.Y); break; } } return(NewPos); }
public override void OnTimerTick() { RoomUser Pet = GetRoomUser(); if (Pet == null) { return; } #region Speech if (SpeechTimer <= 0) { if (Pet.PetData.DBState != DatabaseUpdateState.NeedsInsert) { Pet.PetData.DBState = DatabaseUpdateState.NeedsUpdate; } if (Pet != null) { var RandomSpeech = new Random(); RemovePetStatus(); string[] Speech = QuasarEnvironment.GetGame().GetChatManager().GetPetLocale().GetValue("speech.pet" + Pet.PetData.Type); string rSpeech = Speech[RandomNumber.GenerateRandom(0, Speech.Length - 1)]; if (rSpeech.Length != 3) { Pet.Chat(rSpeech, false); } else { Pet.Statusses.Add(rSpeech, TextHandling.GetString(Pet.Z)); } } SpeechTimer = QuasarEnvironment.GetRandomNumber(20, 120); } else { SpeechTimer--; } #endregion #region Actions if (ActionTimer <= 0) { try { RemovePetStatus(); ActionTimer = RandomNumber.GenerateRandom(15, 40 + GetRoomUser().PetData.VirtualId); if (!GetRoomUser().RidingHorse) { // Remove Status RemovePetStatus(); Point nextCoord = GetRoom().GetGameMap().getRandomWalkableSquare(); if (GetRoomUser().CanWalk) { GetRoomUser().MoveTo(nextCoord.X, nextCoord.Y); } } } catch (Exception e) { Logging.HandleException(e, "PetBot.OnTimerTick"); } } else { ActionTimer--; } #endregion #region Energy if (EnergyTimer <= 0) { RemovePetStatus(); // Remove Status Pet.PetData.PetEnergy(true); // Add Energy EnergyTimer = RandomNumber.GenerateRandom(30, 120); // 2 Min Max } else { EnergyTimer--; } #endregion }
private int HandleRotation(int mode, int rotation, int rotuser) { switch (mode) { case 1: { /*if (rotuser == 0) * rotation = 1; * if (rotuser == 1) * rotation = 2; * if (rotuser == 2) * rotation = 3; * if (rotuser == 3) * rotation = 4; * if (rotuser == 4) * rotation = 5; * if (rotuser == 5) * rotation = 6; * if (rotuser == 6) * rotation = 7; * if (rotuser == 7) * rotation = 0;*/ /*if (rotuser == 0 || rotuser == 1) * rotation = 2; * if (rotuser == 2 || rotuser == 3) * rotation = 4; * if (rotuser == 4 || rotuser == 5) * rotation = 6; * if (rotuser == 6 || rotuser == 7) * rotation = 0;*/ if (rotuser == 0 || rotuser == 7) { rotation = 2; } if (rotuser == 2 || rotuser == 1) { rotation = 4; } if (rotuser == 4 || rotuser == 3) { rotation = 6; } if (rotuser == 6 || rotuser == 5) { rotation = 0; } break; } case 2: { /*if (rotuser == 0) * rotation = 7; * if (rotuser == 7) * rotation = 6; * if (rotuser == 6) * rotation = 5; * if (rotuser == 5) * rotation = 4; * if (rotuser == 4) * rotation = 3; * if (rotuser == 3) * rotation = 2; * if (rotuser == 2) * rotation = 1; * if (rotuser == 1) * rotation = 0;*/ /*if (rotuser == 0 || rotuser == 7) * rotation = 6; * if (rotuser == 6 || rotuser == 5) * rotation = 4; * if (rotuser == 4 || rotuser == 3) * rotation = 2; * if (rotuser == 2 || rotuser == 1) * rotation = 0;*/ if (rotuser == 0 || rotuser == 1) { rotation = 6; } if (rotuser == 6 || rotuser == 3) { rotation = 4; } if (rotuser == 4 || rotuser == 5) { rotation = 2; } if (rotuser == 2 || rotuser == 7) { rotation = 0; } break; } case 3: switch (RandomNumber.GenerateRandom(1, 8)) { case 1: rotation = 0; break; case 2: rotation = 1; break; case 3: rotation = 2; break; case 4: rotation = 3; break; case 5: rotation = 4; break; case 6: rotation = 5; break; case 7: rotation = 6; break; case 8: rotation = 7; break; } break; } return(rotation); }