internal void StopEffect(int EffectId) { AvatarEffect Effect = GetEffect(EffectId, true); if (Effect == null || !Effect.HasExpired) { return; } using (IQueryAdapter dbClient = PiciEnvironment.GetDatabaseManager().getQueryreactor()) { dbClient.runFastQuery("DELETE FROM user_effects WHERE user_id = " + UserId + " AND effect_id = " + EffectId + " AND is_activated = 1"); } Effects.Remove(Effect); EffectCount--; GetClient().GetMessageHandler().GetResponse().Init(463); GetClient().GetMessageHandler().GetResponse().AppendInt32(EffectId); GetClient().GetMessageHandler().SendResponse(); if (CurrentEffect >= 0) { ApplyEffect(-1); } }
internal void EnableEffect(int EffectId) { AvatarEffect Effect = GetEffect(EffectId, false); if (Effect == null || Effect.HasExpired || Effect.Activated) { return; } using (IQueryAdapter dbClient = PiciEnvironment.GetDatabaseManager().getQueryreactor()) { dbClient.runFastQuery("UPDATE user_effects SET is_activated = 1, activated_stamp = " + PiciEnvironment.GetUnixTimestamp() + " WHERE user_id = " + UserId + " AND effect_id = " + EffectId + ""); } Effect.Activate(); GetClient().GetMessageHandler().GetResponse().Init(462); GetClient().GetMessageHandler().GetResponse().AppendInt32(Effect.EffectId); GetClient().GetMessageHandler().GetResponse().AppendInt32(Effect.TotalDuration); GetClient().GetMessageHandler().SendResponse(); }