276 lines
5.4 KiB
Java
276 lines
5.4 KiB
Java
/*
|
|
* Copyright (C) 2004-2015 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.fishing;
|
|
|
|
import com.l2jserver.gameserver.model.StatsSet;
|
|
|
|
/**
|
|
* Class for the Fish object.
|
|
* @author nonom
|
|
*/
|
|
public class L2Fish implements Cloneable
|
|
{
|
|
private final int _fishId;
|
|
private final int _itemId;
|
|
private final String _itemName;
|
|
private int _fishGroup;
|
|
private final int _fishLevel;
|
|
private final double _fishBiteRate;
|
|
private final double _fishGuts;
|
|
private final int _fishHp;
|
|
private final int _fishMaxLength;
|
|
private final double _fishLengthRate;
|
|
private final double _hpRegen;
|
|
private final int _startCombatTime;
|
|
private final int _combatDuration;
|
|
private final int _gutsCheckTime;
|
|
private final double _gutsCheckProbability;
|
|
private final double _cheatingProb;
|
|
private final int _fishGrade;
|
|
|
|
public L2Fish(StatsSet set)
|
|
{
|
|
_fishId = set.getInt("fishId");
|
|
_itemId = set.getInt("itemId");
|
|
_itemName = set.getString("itemName");
|
|
_fishGroup = getGroupId(set.getString("fishGroup"));
|
|
_fishLevel = set.getInt("fishLevel");
|
|
_fishBiteRate = set.getDouble("fishBiteRate"); // TODO: Support needed.
|
|
_fishGuts = set.getDouble("fishGuts");
|
|
_fishHp = set.getInt("fishHp");
|
|
_fishMaxLength = set.getInt("fishMaxLength"); // TODO: Support needed.
|
|
_fishLengthRate = set.getDouble("fishLengthRate"); // TODO: Support needed.
|
|
_hpRegen = set.getDouble("hpRegen");
|
|
_startCombatTime = set.getInt("startCombatTime");
|
|
_combatDuration = set.getInt("combatDuration");
|
|
_gutsCheckTime = set.getInt("gutsCheckTime");
|
|
_gutsCheckProbability = set.getDouble("gutsCheckProbability"); // TODO: Support needed.
|
|
_cheatingProb = set.getDouble("cheatingProb"); // TODO: Support needed.
|
|
_fishGrade = getGradeId(set.getString("fishGrade"));
|
|
}
|
|
|
|
@Override
|
|
public L2Fish clone()
|
|
{
|
|
try
|
|
{
|
|
return (L2Fish) super.clone();
|
|
}
|
|
catch (CloneNotSupportedException e)
|
|
{
|
|
return null;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* @return the fish Id.
|
|
*/
|
|
public int getFishId()
|
|
{
|
|
return _fishId;
|
|
}
|
|
|
|
/**
|
|
* @return the fish Item Id.
|
|
*/
|
|
public int getItemId()
|
|
{
|
|
return _itemId;
|
|
}
|
|
|
|
/**
|
|
* @return the fish Item name Id.
|
|
*/
|
|
public String getItemName()
|
|
{
|
|
return _itemName;
|
|
}
|
|
|
|
/**
|
|
* @return the fish Group.
|
|
*/
|
|
public int getFishGroup()
|
|
{
|
|
return _fishGroup;
|
|
}
|
|
|
|
/**
|
|
* @return the fish Level.
|
|
*/
|
|
public int getFishLevel()
|
|
{
|
|
return _fishLevel;
|
|
}
|
|
|
|
/**
|
|
* @return the fish Bite Rate.
|
|
*/
|
|
public double getFishBiteRate()
|
|
{
|
|
return _fishBiteRate;
|
|
}
|
|
|
|
/**
|
|
* @return the fish Guts.
|
|
*/
|
|
public double getFishGuts()
|
|
{
|
|
return _fishGuts;
|
|
}
|
|
|
|
/**
|
|
* @return the fish Hp.
|
|
*/
|
|
public int getFishHp()
|
|
{
|
|
return _fishHp;
|
|
}
|
|
|
|
/**
|
|
* @return the fish Max length.
|
|
*/
|
|
public int getFishMaxLength()
|
|
{
|
|
return _fishMaxLength;
|
|
}
|
|
|
|
/**
|
|
* @return the fish Length rate.
|
|
*/
|
|
public double getFishLengthRate()
|
|
{
|
|
return _fishLengthRate;
|
|
}
|
|
|
|
/**
|
|
* @return the fish Hp regen.
|
|
*/
|
|
public double getHpRegen()
|
|
{
|
|
return _hpRegen;
|
|
}
|
|
|
|
/**
|
|
* @return the fish start Combat time.
|
|
*/
|
|
public int getStartCombatTime()
|
|
{
|
|
return _startCombatTime;
|
|
}
|
|
|
|
/**
|
|
* @return the fish Combat duration.
|
|
*/
|
|
public int getCombatDuration()
|
|
{
|
|
return _combatDuration;
|
|
}
|
|
|
|
/**
|
|
* @return the fish Guts check time.
|
|
*/
|
|
public int getGutsCheckTime()
|
|
{
|
|
return _gutsCheckTime;
|
|
}
|
|
|
|
/**
|
|
* @return the fish Guts Check probability.
|
|
*/
|
|
public double getGutsCheckProbability()
|
|
{
|
|
return _gutsCheckProbability;
|
|
}
|
|
|
|
/**
|
|
* @return the fish Cheating prob.
|
|
*/
|
|
public double getCheatingProb()
|
|
{
|
|
return _cheatingProb;
|
|
}
|
|
|
|
/**
|
|
* @return the fish Grade.
|
|
*/
|
|
public int getFishGrade()
|
|
{
|
|
return _fishGrade;
|
|
}
|
|
|
|
/**
|
|
* @param fg the fish Group.
|
|
*/
|
|
public void setFishGroup(int fg)
|
|
{
|
|
_fishGroup = fg;
|
|
}
|
|
|
|
/**
|
|
* @param name the Group Name.
|
|
* @return the fish Group Id.
|
|
*/
|
|
private int getGroupId(String name)
|
|
{
|
|
switch (name)
|
|
{
|
|
case "swift":
|
|
return 1;
|
|
case "ugly":
|
|
return 2;
|
|
case "fish_box":
|
|
return 3;
|
|
case "easy_wide":
|
|
return 4;
|
|
case "easy_swift":
|
|
return 5;
|
|
case "easy_ugly":
|
|
return 6;
|
|
case "hard_wide":
|
|
return 7;
|
|
case "hard_swift":
|
|
return 8;
|
|
case "hard_ugly":
|
|
return 9;
|
|
case "hs_fish":
|
|
return 10; // FIXME: Verify the ID
|
|
case "wide":
|
|
default:
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* @param name the Grade Name.
|
|
* @return the fish Grade Id.
|
|
*/
|
|
private int getGradeId(String name)
|
|
{
|
|
switch (name)
|
|
{
|
|
case "fish_easy":
|
|
return 0;
|
|
case "fish_hard":
|
|
return 2;
|
|
case "fish_normal":
|
|
default:
|
|
return 1;
|
|
}
|
|
}
|
|
} |