/
tofu
/
l2interlude
Обзор
Документация
Войти
/
tofu
/
l2interlude
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
src/main/java/com/l2jserver/gameserver/model/entity/Couple.java
142 строки
4 KB
Zoey76
Copyright Update
01 янв 2025, 07:57
01 янв 2025, 07:57
16130a5
Код
Авторство
О чём код?
/* * Copyright © 2004-2025 L2J Server * * This file is part of L2J Server. * * L2J Server is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * L2J Server is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ package com.l2jserver.gameserver.model.entity; import java.util.Calendar; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.l2jserver.commons.database.ConnectionFactory; import com.l2jserver.gameserver.idfactory.IdFactory; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; /** * @author evill33t */ public class Couple { private static final Logger LOG = LoggerFactory.getLogger(Couple.class); private int _Id = 0; private int _player1Id = 0; private int _player2Id = 0; private boolean _married = false; private Calendar _affiancedDate; private Calendar _weddingDate; public Couple(int coupleId) { _Id = coupleId; try (var con = ConnectionFactory.getInstance().getConnection(); var ps = con.prepareStatement("SELECT * FROM mods_wedding WHERE id = ?")) { ps.setInt(1, _Id); try (var rs = ps.executeQuery()) { while (rs.next()) { _player1Id = rs.getInt("player1Id"); _player2Id = rs.getInt("player2Id"); _married = rs.getBoolean("married"); _affiancedDate = Calendar.getInstance(); _affiancedDate.setTimeInMillis(rs.getLong("affianceDate")); _weddingDate = Calendar.getInstance(); _weddingDate.setTimeInMillis(rs.getLong("weddingDate")); } } } catch (Exception e) { LOG.error("Exception: Couple.load(): {}", e.getMessage(), e); } } public Couple(L2PcInstance player1, L2PcInstance player2) { int _tempPlayer1Id = player1.getObjectId(); int _tempPlayer2Id = player2.getObjectId(); _player1Id = _tempPlayer1Id; _player2Id = _tempPlayer2Id; _affiancedDate = Calendar.getInstance(); _affiancedDate.setTimeInMillis(Calendar.getInstance().getTimeInMillis()); _weddingDate = Calendar.getInstance(); _weddingDate.setTimeInMillis(Calendar.getInstance().getTimeInMillis()); try (var con = ConnectionFactory.getInstance().getConnection(); var ps = con.prepareStatement("INSERT INTO mods_wedding (id, player1Id, player2Id, married, affianceDate, weddingDate) VALUES (?, ?, ?, ?, ?, ?)")) { _Id = IdFactory.getInstance().getNextId(); ps.setInt(1, _Id); ps.setInt(2, _player1Id); ps.setInt(3, _player2Id); ps.setBoolean(4, false); ps.setLong(5, _affiancedDate.getTimeInMillis()); ps.setLong(6, _weddingDate.getTimeInMillis()); ps.execute(); } catch (Exception e) { LOG.error("Could not create couple: {}", e.getMessage(), e); } } public void marry() { try (var con = ConnectionFactory.getInstance().getConnection(); var ps = con.prepareStatement("UPDATE mods_wedding set married = ?, weddingDate = ? where id = ?")) { ps.setBoolean(1, true); _weddingDate = Calendar.getInstance(); ps.setLong(2, _weddingDate.getTimeInMillis()); ps.setInt(3, _Id); ps.execute(); _married = true; } catch (Exception e) { LOG.error("Could not marry: {}", e.getMessage(), e); } } public void divorce() { try (var con = ConnectionFactory.getInstance().getConnection(); var ps = con.prepareStatement("DELETE FROM mods_wedding WHERE id=?")) { ps.setInt(1, _Id); ps.execute(); } catch (Exception e) { LOG.error("Exception: Couple.divorce(): {}", e.getMessage(), e); } } public final int getId() { return _Id; } public final int getPlayer1Id() { return _player1Id; } public final int getPlayer2Id() { return _player2Id; } public final boolean getMarried() { return _married; } public final Calendar getAffiancedDate() { return _affiancedDate; } public final Calendar getWeddingDate() { return _weddingDate; } }