Addition of configurable NPC stat multipliers.

This commit is contained in:
MobiusDev
2017-11-12 12:57:06 +00:00
parent 11d68b5374
commit 2b86228d8e
15 changed files with 865 additions and 0 deletions

View File

@@ -189,6 +189,62 @@ public final class L2NpcTemplate extends L2CharTemplate implements IIdentifiable
_mpRewardAffectType = set.getEnum("mpRewardAffectType", MpRewardAffectType.class, MpRewardAffectType.SOLO);
_extendDrop = set.getList("extend_drop", Integer.class);
if (Config.ENABLE_NPC_STAT_MULTIPIERS) // Custom NPC Stat Multipliers
{
switch (_type)
{
case "L2Monster":
{
super._baseValues.put(Stats.MAX_HP, super.getBaseHpMax() * Config.MONSTER_HP_MULTIPLIER);
super._baseValues.put(Stats.MAX_MP, super.getBaseMpMax() * Config.MONSTER_MP_MULTIPLIER);
super._baseValues.put(Stats.PHYSICAL_ATTACK, super.getBasePAtk() * Config.MONSTER_PATK_MULTIPLIER);
super._baseValues.put(Stats.MAGIC_ATTACK, super.getBaseMAtk() * Config.MONSTER_MATK_MULTIPLIER);
super._baseValues.put(Stats.PHYSICAL_DEFENCE, super.getBasePDef() * Config.MONSTER_PDEF_MULTIPLIER);
super._baseValues.put(Stats.MAGICAL_DEFENCE, super.getBaseMDef() * Config.MONSTER_MDEF_MULTIPLIER);
_aggroRange *= Config.MONSTER_AGRRO_RANGE_MULTIPLIER;
_clanHelpRange *= Config.MONSTER_CLAN_HELP_RANGE_MULTIPLIER;
break;
}
case "L2RaidBoss":
case "L2GrandBoss":
{
super._baseValues.put(Stats.MAX_HP, super.getBaseHpMax() * Config.RAIDBOSS_HP_MULTIPLIER);
super._baseValues.put(Stats.MAX_MP, super.getBaseMpMax() * Config.RAIDBOSS_MP_MULTIPLIER);
super._baseValues.put(Stats.PHYSICAL_ATTACK, super.getBasePAtk() * Config.RAIDBOSS_PATK_MULTIPLIER);
super._baseValues.put(Stats.MAGIC_ATTACK, super.getBaseMAtk() * Config.RAIDBOSS_MATK_MULTIPLIER);
super._baseValues.put(Stats.PHYSICAL_DEFENCE, super.getBasePDef() * Config.RAIDBOSS_PDEF_MULTIPLIER);
super._baseValues.put(Stats.MAGICAL_DEFENCE, super.getBaseMDef() * Config.RAIDBOSS_MDEF_MULTIPLIER);
_aggroRange *= Config.RAIDBOSS_AGRRO_RANGE_MULTIPLIER;
_clanHelpRange *= Config.RAIDBOSS_CLAN_HELP_RANGE_MULTIPLIER;
break;
}
case "L2Guard":
{
super._baseValues.put(Stats.MAX_HP, super.getBaseHpMax() * Config.GUARD_HP_MULTIPLIER);
super._baseValues.put(Stats.MAX_MP, super.getBaseMpMax() * Config.GUARD_MP_MULTIPLIER);
super._baseValues.put(Stats.PHYSICAL_ATTACK, super.getBasePAtk() * Config.GUARD_PATK_MULTIPLIER);
super._baseValues.put(Stats.MAGIC_ATTACK, super.getBaseMAtk() * Config.GUARD_MATK_MULTIPLIER);
super._baseValues.put(Stats.PHYSICAL_DEFENCE, super.getBasePDef() * Config.GUARD_PDEF_MULTIPLIER);
super._baseValues.put(Stats.MAGICAL_DEFENCE, super.getBaseMDef() * Config.GUARD_MDEF_MULTIPLIER);
_aggroRange *= Config.GUARD_AGRRO_RANGE_MULTIPLIER;
_clanHelpRange *= Config.GUARD_CLAN_HELP_RANGE_MULTIPLIER;
break;
}
case "L2Defender":
{
super._baseValues.put(Stats.MAX_HP, super.getBaseHpMax() * Config.DEFENDER_HP_MULTIPLIER);
super._baseValues.put(Stats.MAX_MP, super.getBaseMpMax() * Config.DEFENDER_MP_MULTIPLIER);
super._baseValues.put(Stats.PHYSICAL_ATTACK, super.getBasePAtk() * Config.DEFENDER_PATK_MULTIPLIER);
super._baseValues.put(Stats.MAGIC_ATTACK, super.getBaseMAtk() * Config.DEFENDER_MATK_MULTIPLIER);
super._baseValues.put(Stats.PHYSICAL_DEFENCE, super.getBasePDef() * Config.DEFENDER_PDEF_MULTIPLIER);
super._baseValues.put(Stats.MAGICAL_DEFENCE, super.getBaseMDef() * Config.DEFENDER_MDEF_MULTIPLIER);
_aggroRange *= Config.DEFENDER_AGRRO_RANGE_MULTIPLIER;
_clanHelpRange *= Config.DEFENDER_CLAN_HELP_RANGE_MULTIPLIER;
break;
}
}
}
}
@Override