package com.eu.habbo.habbohotel.catalog; import com.eu.habbo.Emulator; import com.eu.habbo.habbohotel.users.cache.HabboOfferPurchase; import com.eu.habbo.messages.ServerMessage; import java.sql.ResultSet; import java.sql.SQLException; public class TargetOffer { public static int ACTIVE_TARGET_OFFER_ID = 0; private final int id; private final int catalogItem; private final String identifier; private final int priceInCredits; private final int priceInActivityPoints; private final int activityPointsType; private final int purchaseLimit; private final int expirationTime; private final String title; private final String description; private final String imageUrl; private final String icon; private final String[] vars; public TargetOffer(ResultSet set) throws SQLException { this.id = set.getInt("id"); this.identifier = set.getString("offer_code"); this.priceInCredits = set.getInt("credits"); this.priceInActivityPoints = set.getInt("points"); this.activityPointsType = set.getInt("points_type"); this.title = set.getString("title"); this.description = set.getString("description"); this.imageUrl = set.getString("image"); this.icon = set.getString("icon"); this.purchaseLimit = set.getInt("purchase_limit"); this.expirationTime = set.getInt("end_timestamp"); this.vars = set.getString("vars").split(";"); this.catalogItem = set.getInt("catalog_item"); } public void serialize(ServerMessage message, HabboOfferPurchase purchase) { message.appendInt(purchase.getState()); message.appendInt(this.id); message.appendString(this.identifier); message.appendString(this.identifier); message.appendInt(this.priceInCredits); message.appendInt(this.priceInActivityPoints); message.appendInt(this.activityPointsType); message.appendInt(Math.max(this.purchaseLimit - purchase.getAmount(), 0)); message.appendInt(Math.max(this.expirationTime - Emulator.getIntUnixTimestamp(), 0)); message.appendString(this.title); message.appendString(this.description); message.appendString(this.imageUrl); message.appendString(this.icon); message.appendInt(0); message.appendInt(this.vars.length); for (String variable : this.vars) { message.appendString(variable); } } public int getId() { return this.id; } public String getIdentifier() { return this.identifier; } public int getPriceInCredits() { return this.priceInCredits; } public int getPriceInActivityPoints() { return this.priceInActivityPoints; } public int getActivityPointsType() { return this.activityPointsType; } public int getPurchaseLimit() { return this.purchaseLimit; } public int getExpirationTime() { return this.expirationTime; } public String getTitle() { return this.title; } public String getDescription() { return this.description; } public String getImageUrl() { return this.imageUrl; } public String getIcon() { return this.icon; } public String[] getVars() { return this.vars; } public int getCatalogItem() { return this.catalogItem; } }