New option for community board, cast animations of each buff.

This commit is contained in:
MobiusDev
2016-12-21 08:41:54 +00:00
parent d048556921
commit 67fe2b56b6
3 changed files with 33 additions and 6 deletions

View File

@@ -392,6 +392,10 @@ CommunityCombatDisabled = True
# Default: True
CommunityKarmaDisabled = True
# Cast animations of each buff.
# Default: False
CommunityCastAnimations = False
# ---------------------------------------------------------------------------
# Faction System (Good vs Evil)

View File

@@ -31,6 +31,8 @@ import com.l2jmobius.gameserver.handler.CommunityBoardHandler;
import com.l2jmobius.gameserver.handler.IParseBoardHandler;
import com.l2jmobius.gameserver.model.actor.L2Summon;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.skills.Skill;
import com.l2jmobius.gameserver.model.skills.SkillCaster;
import com.l2jmobius.gameserver.model.zone.ZoneId;
import com.l2jmobius.gameserver.network.serverpackets.BuyList;
import com.l2jmobius.gameserver.network.serverpackets.ExBuySellList;
@@ -148,17 +150,36 @@ public final class HomeBoard implements IParseBoardHandler
else
{
activeChar.getInventory().destroyItemByItemId("CB_Buff", Config.COMMUNITYBOARD_CURRENCY, Config.COMMUNITYBOARD_BUFF_PRICE, activeChar, activeChar);
SkillData.getInstance().getSkill(buffId, buffLevel).applyEffects(activeChar, activeChar);
final Skill skill = SkillData.getInstance().getSkill(buffId, buffLevel);
if (Config.COMMUNITYBOARD_CAST_ANIMATIONS)
{
SkillCaster.triggerCast(activeChar, activeChar, skill);
if (activeChar.getServitors().size() > 0)
{
for (L2Summon summon : activeChar.getServitors().values())
{
SkillData.getInstance().getSkill(buffId, buffLevel).applyEffects(summon, summon);
SkillCaster.triggerCast(summon, summon, skill);
}
}
if (activeChar.hasPet())
{
SkillData.getInstance().getSkill(buffId, buffLevel).applyEffects(activeChar.getPet(), activeChar.getPet());
SkillCaster.triggerCast(activeChar.getPet(), activeChar.getPet(), skill);
}
}
else
{
skill.applyEffects(activeChar, activeChar);
if (activeChar.getServitors().size() > 0)
{
for (L2Summon summon : activeChar.getServitors().values())
{
skill.applyEffects(summon, summon);
}
}
if (activeChar.hasPet())
{
skill.applyEffects(activeChar.getPet(), activeChar.getPet());
}
}
}
CommunityBoardHandler.separateAndSend(HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/CommunityBoard/Custom/" + page + ".html"), activeChar);

View File

@@ -661,6 +661,7 @@ public final class Config
public static int COMMUNITYBOARD_BUFF_PRICE;
public static boolean COMMUNITYBOARD_COMBAT_DISABLED;
public static boolean COMMUNITYBOARD_KARMA_DISABLED;
public static boolean COMMUNITYBOARD_CAST_ANIMATIONS;
public static boolean FACTION_SYSTEM_ENABLED;
public static Location FACTION_STARTING_LOCATION;
public static int FACTION_MANAGER_NPCID;
@@ -2106,6 +2107,7 @@ public final class Config
COMMUNITYBOARD_BUFF_PRICE = CustomSettings.getInt("CommunityBuffPrice", 0);
COMMUNITYBOARD_COMBAT_DISABLED = CustomSettings.getBoolean("CommunityCombatDisabled", true);
COMMUNITYBOARD_KARMA_DISABLED = CustomSettings.getBoolean("CommunityKarmaDisabled", true);
COMMUNITYBOARD_CAST_ANIMATIONS = CustomSettings.getBoolean("CommunityCastAnimations", false);
String[] tempString;
FACTION_SYSTEM_ENABLED = Boolean.valueOf(CustomSettings.getBoolean("EnableFactionSystem", false));