From a5f4df51acb755fd3c995314662165d5f1c837ea Mon Sep 17 00:00:00 2001 From: Alejandro <25-alejandro@users.noreply.git.krews.org> Date: Tue, 28 Jan 2020 00:17:31 +0200 Subject: [PATCH] Give badge when purchasing a room ad --- sqlupdates/2_3_0-RC-1_TO_2_3_0-RC-2.sql | 4 +++- .../rooms/promotions/BuyRoomPromotionEvent.java | 14 ++++++++++++-- .../java/com/eu/habbo/plugin/PluginManager.java | 3 +++ 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/sqlupdates/2_3_0-RC-1_TO_2_3_0-RC-2.sql b/sqlupdates/2_3_0-RC-1_TO_2_3_0-RC-2.sql index 26b22d5d..f766bc3a 100644 --- a/sqlupdates/2_3_0-RC-1_TO_2_3_0-RC-2.sql +++ b/sqlupdates/2_3_0-RC-1_TO_2_3_0-RC-2.sql @@ -7,4 +7,6 @@ ADD COLUMN `start_timestamp` int(11) NOT NULL DEFAULT -1 AFTER `end_timestamp`; ALTER TABLE `room_promotions` ADD COLUMN `category` int(11) NOT NULL DEFAULT 0 AFTER `start_timestamp`; -INSERT INTO `emulator_settings`(`key`, `value`) VALUES ('navigator.eventcategories', '1,Hottest Events,false;2,Parties & Music,true;3,Role Play,true;4,Help Desk,true;5,Trading,true;6,Games,true;7,Debates & Discussions,true;8,Grand Openings,true;9,Friending,true;10,Jobs,true;11,Group Events,true'); \ No newline at end of file +INSERT INTO `emulator_settings`(`key`, `value`) VALUES ('navigator.eventcategories', '1,Hottest Events,false;2,Parties & Music,true;3,Role Play,true;4,Help Desk,true;5,Trading,true;6,Games,true;7,Debates & Discussions,true;8,Grand Openings,true;9,Friending,true;10,Jobs,true;11,Group Events,true'); + +INSERT INTO `emulator_settings`(`key`, `value`) VALUES ('room.promotion.badge', 'RADZZ'); diff --git a/src/main/java/com/eu/habbo/messages/incoming/rooms/promotions/BuyRoomPromotionEvent.java b/src/main/java/com/eu/habbo/messages/incoming/rooms/promotions/BuyRoomPromotionEvent.java index dc5278c5..2fa40246 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/rooms/promotions/BuyRoomPromotionEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/rooms/promotions/BuyRoomPromotionEvent.java @@ -11,6 +11,8 @@ import com.eu.habbo.messages.outgoing.navigator.NewNavigatorEventCategoriesCompo import com.eu.habbo.messages.outgoing.rooms.promotions.RoomPromotionMessageComposer; public class BuyRoomPromotionEvent extends MessageHandler { + public static String ROOM_PROMOTION_BADGE = "RADZZ"; + @Override public void handle() throws Exception { int pageId = this.packet.readInt(); @@ -43,12 +45,20 @@ public class BuyRoomPromotionEvent extends MessageHandler { } if (room.isPromoted()) { - if (!this.client.getHabbo().hasPermission("acc_infinite_credits")) + if (!this.client.getHabbo().hasPermission("acc_infinite_credits")) { this.client.getHabbo().giveCredits(-item.getCredits()); - if (!this.client.getHabbo().hasPermission("acc_infinite_points")) + } + + if (!this.client.getHabbo().hasPermission("acc_infinite_points")) { this.client.getHabbo().givePoints(item.getPointsType(), -item.getPoints()); + } + this.client.sendResponse(new PurchaseOKComposer()); room.sendComposer(new RoomPromotionMessageComposer(room, room.getPromotion()).compose()); + + if (!this.client.getHabbo().getInventory().getBadgesComponent().hasBadge(BuyRoomPromotionEvent.ROOM_PROMOTION_BADGE)) { + this.client.getHabbo().addBadge(BuyRoomPromotionEvent.ROOM_PROMOTION_BADGE); + } } else { this.client.sendResponse(new AlertPurchaseFailedComposer(AlertPurchaseFailedComposer.SERVER_ERROR)); } diff --git a/src/main/java/com/eu/habbo/plugin/PluginManager.java b/src/main/java/com/eu/habbo/plugin/PluginManager.java index 92c636d2..2a6c45f9 100644 --- a/src/main/java/com/eu/habbo/plugin/PluginManager.java +++ b/src/main/java/com/eu/habbo/plugin/PluginManager.java @@ -27,6 +27,7 @@ import com.eu.habbo.messages.incoming.camera.CameraPublishToWebEvent; import com.eu.habbo.messages.incoming.camera.CameraPurchaseEvent; import com.eu.habbo.messages.incoming.floorplaneditor.FloorPlanEditorSaveEvent; import com.eu.habbo.messages.incoming.hotelview.HotelViewRequestLTDAvailabilityEvent; +import com.eu.habbo.messages.incoming.rooms.promotions.BuyRoomPromotionEvent; import com.eu.habbo.messages.incoming.users.ChangeNameCheckUsernameEvent; import com.eu.habbo.messages.outgoing.catalog.DiscountComposer; import com.eu.habbo.messages.outgoing.navigator.NewNavigatorEventCategoriesComposer; @@ -134,6 +135,8 @@ public class PluginManager { CameraPurchaseEvent.CAMERA_PURCHASE_POINTS = Emulator.getConfig().getInt("camera.price.points", 5); CameraPurchaseEvent.CAMERA_PURCHASE_POINTS_TYPE = Emulator.getConfig().getInt("camera.price.points.type", 0); + BuyRoomPromotionEvent.ROOM_PROMOTION_BADGE = Emulator.getConfig().getValue("room.promotion.badge", "RADZZ"); + NewNavigatorEventCategoriesComposer.CATEGORIES.clear(); for (String category : Emulator.getConfig().getValue("navigator.eventcategories", "").split(";")) { try {