l2-unlegits/L2C_Server/world/templates/chars/L2CharTemplate.cpp
2012-02-01 05:25:08 +00:00

80 lines
3.2 KiB
C++

#include "pch.h"
#include "L2CharTemplate.h"
L2CharTemplate::L2CharTemplate( StatsSet& set )
{
// Base stats
set.getInt( "baseSTR", &baseSTR );
set.getInt( "baseCON", &baseCON );
set.getInt( "baseDEX", &baseDEX );
set.getInt( "baseINT", &baseINT );
set.getInt( "baseWIT", &baseWIT );
set.getInt( "baseMEN", &baseMEN );
set.getDouble( "baseHpMax", &baseHpMax );
set.getDouble( "baseCpMax", &baseCpMax );
set.getDouble( "baseMpMax", &baseMpMax );
set.getDouble( "baseHpReg", &baseHpReg );
set.getDouble( "baseMpReg", &baseMpReg );
set.getInt( "basePAtk", &basePAtk );
set.getInt( "baseMAtk", &baseMAtk );
set.getInt( "basePDef", &basePDef );
set.getInt( "baseMDef", &baseMDef );
set.getInt( "basePAtkSpd", &basePAtkSpd );
set.getInt( "baseMAtkSpd", &baseMAtkSpd );
set.getDouble( "baseMReuseDelay", &baseMReuseRate, 1.0 );
set.getInt( "baseShldDef", &baseShldDef );
set.getInt( "baseAtkRange", &baseAtkRange );
set.getInt( "baseShldRate", &baseShldRate );
set.getInt( "baseCritRate", &baseCritRate );
set.getInt( "baseMCritRate", &baseMCritRate, 80 ); // CT2: The magic critical rate has been increased to 10 times.
set.getInt( "baseWalkSpd", &baseWalkSpd );
set.getInt( "baseRunSpd", &baseRunSpd );
// missed base stats
set.getInt( "baseAccuracy", &baseAccuracy );
set.getInt( "baseEvasion", &baseEvasion );
// SpecialStats
set.getInt( "baseBreath", &baseBreath, 100 );
set.getInt( "baseAggression", &baseAggression, 0 );
set.getInt( "baseBleed", &baseBleed, 0 );
set.getInt( "basePoison", &basePoison, 0 );
set.getInt( "baseStun", &baseStun, 0 );
set.getInt( "baseRoot", &baseRoot, 0 );
set.getInt( "baseMovement", &baseMovement, 0 );
set.getInt( "baseConfusion", &baseConfusion, 0 );
set.getInt( "baseSleep", &baseSleep, 0 );
set.getInt( "baseFire", &baseFire, 0 );
set.getInt( "baseWind", &baseWind, 0 );
set.getInt( "baseWater", &baseWater, 0 );
set.getInt( "baseEarth", &baseEarth, 0 );
set.getInt( "baseHoly", &baseHoly, 0 );
set.getInt( "baseDark", &baseDark, 0 );
set.getDouble( "baseAaggressionVuln", &baseAggressionVuln, 1.0 );
set.getDouble( "baseBleedVuln", &baseBleedVuln, 1.0 );
set.getDouble( "basePoisonVuln", &basePoisonVuln, 1.0 );
set.getDouble( "baseStunVuln", &baseStunVuln, 1.0 );
set.getDouble( "baseRootVuln", &baseRootVuln, 1.0 );
set.getDouble( "baseMovementVuln", &baseMovementVuln, 1.0 );
set.getDouble( "baseConfusionVuln", &baseConfusionVuln, 1.0 );
set.getDouble( "baseSleepVuln", &baseSleepVuln, 1.0 );
set.getDouble( "baseFireRes", &baseFireRes, 0.0 );
set.getDouble( "baseWindRes", &baseWindRes, 0.0 );
set.getDouble( "baseWaterRes", &baseWaterRes, 0.0 );
set.getDouble( "baseEarthRes", &baseEarthRes, 0.0 );
set.getDouble( "baseHolyRes", &baseHolyRes, 0.0 );
set.getDouble( "baseDarkRes", &baseDarkRes, 0.0 );
set.getDouble( "baseCritVuln", &baseCritVuln, 1.0 );
// undead? default NO
set.getBool( "isUndead", &isUndead, false );
//C4 Stats
set.getInt( "baseMpConsumeRate", &baseMpConsumeRate, 0 );
set.getInt( "baseHpConsumeRate", &baseHpConsumeRate, 0 );
// Geometry
set.getInt( "collision_radius", &collisionRadius, 10 );
set.getInt( "collision_height", &collisionHeight, 10 );
}