Secret Experience

Secret Experience (https://secretexperience.net/)
-   [Lineage] Java Mods (https://secretexperience.net/lineage-java-mods/)
-   -   [L2JFree] Config for Multiples Damage (https://secretexperience.net/lineage-java-mods/11034-config-multiples-damage.html)

l2nemesis 29-07-2009 09:17 PM

Config for Multiples Damage
 
net.sf.l2j.gameserver/config.java
Código:

public static int GM_REPAIR = 75;

public static float ALT_MAGES_PHYSICAL_DAMAGE_MULTI; // Config for damage multiplies
public static float ALT_MAGES_MAGICAL_DAMAGE_MULTI; // Config for damage multiplies
public static float ALT_FIGHTERS_PHYSICAL_DAMAGE_MULTI; // Config for damage multiplies
public static float ALT_FIGHTERS_MAGICAL_DAMAGE_MULTI; // Config for damage multiplies
public static float ALT_PETS_PHYSICAL_DAMAGE_MULTI; // Config for damage multiplies
public static float ALT_PETS_MAGICAL_DAMAGE_MULTI; // Config for damage multiplies
public static float ALT_NPC_PHYSICAL_DAMAGE_MULTI; // Config for damage multiplies
public static float ALT_NPC_MAGICAL_DAMAGE_MULTI; // Config for damage multiplies

Código:

AUTO_LOOT_HERBS = altSettings.getProperty("AutoLootHerbs").equalsIgnoreCase("True");

ALT_MAGES_PHYSICAL_DAMAGE_MULTI = Float.parseFloat(altSettings.getProperty("AltPDamageMages", "1.00"));
ALT_MAGES_MAGICAL_DAMAGE_MULTI = Float.parseFloat(altSettings.getProperty("AltMDamageMages", "1.00"));
ALT_FIGHTERS_PHYSICAL_DAMAGE_MULTI = Float.parseFloat(altSettings.getProperty("AltPDamageFighters", "1.00"));
ALT_FIGHTERS_MAGICAL_DAMAGE_MULTI = Float.parseFloat(altSettings.getProperty("AltMDamageFighters", "1.00"));
ALT_PETS_PHYSICAL_DAMAGE_MULTI = Float.parseFloat(altSettings.getProperty("AltPDamagePets", "1.00"));
ALT_PETS_MAGICAL_DAMAGE_MULTI = Float.parseFloat(altSettings.getProperty("AltMDamagePets", "1.00"));
ALT_NPC_PHYSICAL_DAMAGE_MULTI = Float.parseFloat(altSettings.getProperty("AltPDamageNpc", "1.00"));
ALT_NPC_MAGICAL_DAMAGE_MULTI = Float.parseFloat(altSettings.getProperty("AltMDamageNpc", "1.00"));

net.sf.l2j.gameserver/skills/Formulas.java

Código:

package net.sf.l2j.gameserver.skills;

import java.util.logging.Logger;

import net.sf.l2j.Config;
import net.sf.l2j.gameserver.SevenSigns;
import net.sf.l2j.gameserver.SevenSignsFestival;
import net.sf.l2j.gameserver.instancemanager.ClanHallManager;
import net.sf.l2j.gameserver.instancemanager.SiegeManager;
import net.sf.l2j.gameserver.model.Inventory;
import net.sf.l2j.gameserver.model.L2Character;
import net.sf.l2j.gameserver.model.L2SiegeClan;
import net.sf.l2j.gameserver.model.L2Skill;
import net.sf.l2j.gameserver.model.L2Summon;
import net.sf.l2j.gameserver.model.L2Skill.SkillType;
import net.sf.l2j.gameserver.model.actor.instance.L2DoorInstance;
import net.sf.l2j.gameserver.model.actor.instance.L2NpcInstance;
import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
import net.sf.l2j.gameserver.model.actor.instance.L2PetInstance;
import net.sf.l2j.gameserver.model.actor.instance.L2PlayableInstance;

Código:

// Dmg bonusses in PvP fight
if((attacker instanceof L2PcInstance || attacker instanceof L2Summon)
&& (target instanceof L2PcInstance || target instanceof L2Summon))
{
if (skill == null)
damage *= attacker.calcStat(Stats.PVP_PHYSICAL_DMG, 1, null, null);
else
damage *= attacker.calcStat(Stats.PVP_PHYS_SKILL_DMG, 1, null, null);
}

if (attacker instanceof L2PcInstance){
if (((L2PcInstance) attacker).getClassId().isMage())
damage = damage*Config.ALT_MAGES_PHYSICAL_DAMAGE_MULTI;
else damage = damage*Config.ALT_FIGHTERS_PHYSICAL_DAMAGE_MULTI;}
else if (attacker instanceof L2Summon)
damage = damage*Config.ALT_PETS_PHYSICAL_DAMAGE_MULTI;
else if (attacker instanceof L2NpcInstance)
damage = damage*Config.ALT_NPC_PHYSICAL_DAMAGE_MULTI;


return damage;
}

Código:

// Pvp bonusses for dmg
if((attacker instanceof L2PcInstance || attacker instanceof L2Summon)
&& (target instanceof L2PcInstance || target instanceof L2Summon))
{
if(skill.isMagic())
damage *= attacker.calcStat(Stats.PVP_MAGICAL_DMG, 1, null, null);
else
damage *= attacker.calcStat(Stats.PVP_PHYS_SKILL_DMG, 1, null, null);
}

if (attacker instanceof L2PcInstance){
if (((L2PcInstance) attacker).getClassId().isMage())
damage = damage*Config.ALT_MAGES_MAGICAL_DAMAGE_MULTI;
else damage = damage*Config.ALT_FIGHTERS_MAGICAL_DAMAGE_MULTI;}
else if (attacker instanceof L2Summon)
damage = damage*Config.ALT_PETS_MAGICAL_DAMAGE_MULTI;
else if (attacker instanceof L2NpcInstance)
damage = damage*Config.ALT_NPC_MAGICAL_DAMAGE_MULTI;

if (skill != null)
{
if (target instanceof L2PlayableInstance) //aura flare de-buff, etc
damage *= skill.getPvpMulti();

if (skill.getSkillType() == SkillType.DEATHLINK)
damage = damage * (1.0 - attacker.getStatus().getCurrentHp()/attacker.getMaxHp()) * 2.0;
}

return damage;
}


net.sf.l2j.gameserver.model/L2Skill.java


Código:

private final int _aggroPoints;

private final float _pvpMulti;

Código:

_aggroPoints = set.getInteger("aggroPoints", 0);

_pvpMulti = set.getFloat("pvpMulti", 1.f);

Código:

public final int getAggroPoints()
{
return _aggroPoints;
}

public final float getPvpMulti()
{
return _pvpMulti;
}

/config/altsettings.properties

Código:

# Damage Multipliers for Characters.
AltPDamageMages = 1.0
AltMDamageMages = 1.0
AltPDamageFighters = 1.0
AltMDamageFighters = 1.0

# Damage Multipliers for pets and summons.
AltPDamagePets = 1.0
AltMDamagePets = 1.0

# Damage Multipliers for NPCs (mobs).
AltPDamageNpc = 1.0
AltMDamageNpc = 1.0

Config for Damages Múltiplos testada 100 % testada por mim!!!

PRETO= LOCALIZAR.
VERDE = ADD ABAIXO.

KaL 29-07-2009 11:17 PM

Obrigado por compartilhar conosco, mas poderia postar mais informações sobre a função deste Mod?

trovao 31-07-2009 05:20 PM

CONTROLE DAS CLASSES, so que so funciona para free mesmo.

paytaly 31-07-2009 05:39 PM

@trovao, obviamente não funciona só pra Free.
Tudo pode ser adaptado, do mesmo jeito que é possível fazer para um, é possível fazer
para outro.

Isso é uma multiplicação dos Damages.
Exemplo: AltPDamageMages = 1.0
Esse é o Damage dos Fighters nos Magos, 1.0 é o padrão (Retail).
Por exemplo, um Fighter dá 1.000 de Damage em um Mago com o Damage Retail (1.0).
Digamos que ele seja alterado pra 2.0, os Fighters darão 100% mais damage nos magos,
ou seja o dobro.
Se antes eles davam 1.000, agora darão 2.000.

Agora entendendo a função de cada um deles:
Código:

# Damage Multipliers for Characters.
AltPDamageMages = 1.0 ----> Damage de Fighters em Magos
AltMDamageMages = 1.0 ----> Damage de Magos em Magos
AltPDamageFighters = 1.0 -> Damage de Fighters em Fighters
AltMDamageFighters = 1.0 -> Damage de Magos em Fighters

# Damage Multipliers for pets and summons.
AltPDamagePets = 1.0 -----> Damage dos Fighters nos Summons ou Pets
AltMDamagePets = 1.0 -----> Damage dos Magos nos Summons ou Pets

# Damage Multipliers for NPCs (mobs).
AltPDamageNpc = 1.0 ------> Damage dos Fighters nos Mobs (Monstros)
AltMDamageNpc = 1.0 ------> Damage dos Magos nos Mobs (Monstros)


Over12 31-07-2009 08:53 PM

Muito ultil..
Pra quem tiver dificuldade para por no Gracia Final ..
Já Implementei os codigos no mesmo..
No link abaixo já tem as novas config.. ;)

[Somente Usuários Registrados Podem Visualizar os Links Desta PáginaClique aqui para se Registrar]

l2nemesis 04-08-2009 12:39 PM

Desculpas por minha ausencia:

Sim, vamos ao assunto rsrs.

1º. Essa configuração serve para qualquer um dos L2J basta tentar adaptar como falou o @paytaly
2º. Server para multiplicar os damages facilitando o balanceamento das classes!!!

Pronto o restante ja postaram por mim rsrs^^ Obrigado pela ajuda de todos.

trovao 26-09-2009 11:57 PM

Poderia postar ela em mod patch ? valeu.


Horários baseados na GMT -3. Agora são 09:14 AM.

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.