public override bool OnUse(GameClient session, string[] args) { if (args.Length >= 2) { GameClient target = Skylight.GetGame().GetGameClientManager().GetGameClientByUsername(args[1]); if (target != null) { RoomUnit me = session.GetHabbo().GetRoomSession().GetRoomUser(); RoomUnitUser other = target.GetHabbo().GetRoomSession().GetRoomUser(); if (target.GetHabbo().GetRoomSession().IsInRoom&& target.GetHabbo().GetRoomSession().CurrentRoomID == session.GetHabbo().GetRoomSession().CurrentRoomID) { bool doit = true; if ((me.X + 1 != other.X || me.Y != other.Y) && (me.X - 1 != other.X || me.Y != other.Y) && (me.Y + 1 != other.Y || me.X != other.X)) { bool skip = false; if (me.X - 1 == other.X) { if (me.Y == other.Y) { skip = true; } } if (!skip) { doit = me.X == other.X || me.Y == other.Y; } } if (doit) { me.Speak("*RKO'S " + other.Session.GetHabbo().Username + " OUT OF NO WHERE*", true); other.Speak("Ouch", true); if (!other.HasStatus("lay") && !other.HasStatus("sit")) { if (other.BodyRotation == 0 || other.BodyRotation == 2 || other.BodyRotation == 4 || other.BodyRotation == 6) { other.AddStatus("sit", TextUtilies.DoubleWithDotDecimal((other.Z + 1) / 2 - other.Z * 0.5)); } } } return(true); } } } return(false); }
public virtual void Handle(GameClient session, ClientMessage message) { Room room; if ((room = session?.GetHabbo()?.GetRoomSession()?.GetRoom()) != null) { RoomUnitUser user = room.RoomUserManager.GetUserByVirtualID(this.VirtualID); if (user != null) { RoomAllowTradeType tradeSettings = room.RoomData.AllowTrade; if (tradeSettings == RoomAllowTradeType.ALLOWED || (tradeSettings == RoomAllowTradeType.OWNER_ONLY && room.HaveOwnerRights(session)) || (tradeSettings == RoomAllowTradeType.CATEGORY && (Skylight.GetGame().GetNavigatorManager().GetFlatCat(session.GetHabbo().GetRoomSession().GetRoom().RoomData.Category)?.CanTrade ?? false))) { if (session.GetHabbo().GetUserSettings().AcceptTrading) { if (!session.GetHabbo().GetRoomSession().GetRoomUser().HasStatus("trd")) { if (!user.HasStatus("trd")) { if (user.Session.GetHabbo().GetUserSettings().AcceptTrading) { room.StartTrade(session.GetHabbo().GetRoomSession().GetRoomUser(), user); } else { session.SendMessage(new TradeStartErrorComposerHandler(TradeStartErrorCode.TargetCannotTrade)); } } else { session.SendMessage(new TradeStartErrorComposerHandler(TradeStartErrorCode.TargetTrading)); } } else { session.SendMessage(new TradeStartErrorComposerHandler(TradeStartErrorCode.TradeOpen)); } } else { session.SendMessage(new TradeStartErrorComposerHandler(TradeStartErrorCode.YourTradingDisabled)); } } else { session.SendMessage(new TradeStartErrorComposerHandler(TradeStartErrorCode.TradingNotAllowInRoom)); } } } }