80 lines
3.2 KiB
C++
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 );
|
|
}
|