/* * This program 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. * * This program 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 . */ package com.l2jserver.gameserver.templates.chars; import com.l2jserver.gameserver.templates.StatsSet; /** * This class ... * * @version $Revision: 1.2.4.6 $ $Date: 2005/04/02 15:57:51 $ */ public class L2CharTemplate { // BaseStats public final int baseSTR; public final int baseCON; public final int baseDEX; public final int baseINT; public final int baseWIT; public final int baseMEN; public float baseHpMax; public final float baseCpMax; public final float baseMpMax; /** HP Regen base */ public final float baseHpReg; /** MP Regen base */ public final float baseMpReg; public final int basePAtk; public final int baseMAtk; public final int basePDef; public final int baseMDef; public final int basePAtkSpd; public final int baseMAtkSpd; public final float baseMReuseRate; public final int baseShldDef; public final int baseAtkRange; public final int baseShldRate; public final int baseCritRate; public final int baseMCritRate; public final int baseWalkSpd; public final int baseRunSpd; // SpecialStats public final int baseBreath; public final int baseAggression; public final int baseBleed; public final int basePoison; public final int baseStun; public final int baseRoot; public final int baseMovement; public final int baseConfusion; public final int baseSleep; public final double baseAggressionVuln; public final double baseBleedVuln; public final double basePoisonVuln; public final double baseStunVuln; public final double baseRootVuln; public final double baseMovementVuln; public final double baseSleepVuln; public int baseFire; public int baseWind; public int baseWater; public int baseEarth; public int baseHoly; public int baseDark; public double baseFireRes; public double baseWindRes; public double baseWaterRes; public double baseEarthRes; public double baseHolyRes; public double baseDarkRes; public final double baseCritVuln; //C4 Stats public final int baseMpConsumeRate; public final int baseHpConsumeRate; /** * Caution : * For client info use {@link #fCollisionRadius} *

*/ public final int collisionRadius; /** * Caution : * For client info use {@link #fCollisionHeight} *

*/ public final int collisionHeight; public final double fCollisionRadius; public final double fCollisionHeight; public L2CharTemplate(StatsSet set) { // Base stats baseSTR = set.getInteger("baseSTR"); baseCON = set.getInteger("baseCON"); baseDEX = set.getInteger("baseDEX"); baseINT = set.getInteger("baseINT"); baseWIT = set.getInteger("baseWIT"); baseMEN = set.getInteger("baseMEN"); baseHpMax = set.getFloat("baseHpMax"); baseCpMax = set.getFloat("baseCpMax"); baseMpMax = set.getFloat("baseMpMax"); baseHpReg = set.getFloat("baseHpReg"); baseMpReg = set.getFloat("baseMpReg"); basePAtk = set.getInteger("basePAtk"); baseMAtk = set.getInteger("baseMAtk"); basePDef = set.getInteger("basePDef"); baseMDef = set.getInteger("baseMDef"); basePAtkSpd = set.getInteger("basePAtkSpd"); baseMAtkSpd = set.getInteger("baseMAtkSpd"); baseMReuseRate = set.getFloat("baseMReuseDelay", 1.f); baseShldDef = set.getInteger("baseShldDef"); baseAtkRange = set.getInteger("baseAtkRange"); baseShldRate = set.getInteger("baseShldRate"); baseCritRate = set.getInteger("baseCritRate"); baseMCritRate = set.getInteger("baseMCritRate", 80); // CT2: The magic critical rate has been increased to 10 times. baseWalkSpd = set.getInteger("baseWalkSpd"); baseRunSpd = set.getInteger("baseRunSpd"); // SpecialStats baseBreath = set.getInteger("baseBreath", 100); baseAggression = set.getInteger("baseAggression", 0); baseBleed = set.getInteger("baseBleed", 0); basePoison = set.getInteger("basePoison", 0); baseStun = set.getInteger("baseStun", 0); baseRoot = set.getInteger("baseRoot", 0); baseMovement = set.getInteger("baseMovement", 0); baseConfusion = set.getInteger("baseConfusion", 0); baseSleep = set.getInteger("baseSleep", 0); baseFire = set.getInteger("baseFire", 0); baseWind = set.getInteger("baseWind", 0); baseWater = set.getInteger("baseWater", 0); baseEarth = set.getInteger("baseEarth", 0); baseHoly = set.getInteger("baseHoly", 0); baseDark = set.getInteger("baseDark", 0); baseAggressionVuln = set.getInteger("baseAggressionVuln", 0); baseBleedVuln = set.getInteger("baseBleedVuln", 0); basePoisonVuln = set.getInteger("basePoisonVuln", 0); baseStunVuln = set.getInteger("baseStunVuln", 0); baseRootVuln = set.getInteger("baseRootVuln", 0); baseMovementVuln = set.getInteger("baseMovementVuln", 0); baseSleepVuln = set.getInteger("baseSleepVuln", 0); baseFireRes = set.getInteger("baseFireRes", 0); baseWindRes = set.getInteger("baseWindRes", 0); baseWaterRes = set.getInteger("baseWaterRes", 0); baseEarthRes = set.getInteger("baseEarthRes", 0); baseHolyRes = set.getInteger("baseHolyRes", 0); baseDarkRes = set.getInteger("baseDarkRes", 0); baseCritVuln = set.getInteger("baseCritVuln", 1); //C4 Stats baseMpConsumeRate = set.getInteger("baseMpConsumeRate", 0); baseHpConsumeRate = set.getInteger("baseHpConsumeRate", 0); // Geometry fCollisionHeight = set.getDouble("collision_height"); fCollisionRadius = set.getDouble("collision_radius"); collisionRadius = (int) fCollisionRadius; collisionHeight = (int) fCollisionHeight; } }