Hunt for Santa improvements.

Contributed by gigilo1968.
This commit is contained in:
MobiusDev
2016-12-23 21:57:23 +00:00
parent cbb1d57077
commit 039bff7a80
8 changed files with 200 additions and 11 deletions

View File

@@ -570,4 +570,15 @@
<bodyPart>hair2</bodyPart> <bodyPart>hair2</bodyPart>
<bodyPart>hairall</bodyPart> <bodyPart>hairall</bodyPart>
</appearance_stone> </appearance_stone>
<!-- Appearance Stone: Santa's Suit -->
<appearance_stone id="40330" targetType="ARMOR" type="FIXED" visualId="37534">
<bodyPart>chest</bodyPart>
<bodyPart>fullarmor</bodyPart>
</appearance_stone>
<!-- Appearance Stone: Santa's Hat -->
<appearance_stone id="40310" targetType="ACCESSORY" type="FIXED" visualId="7838">
<bodyPart>hair</bodyPart>
<bodyPart>hair2</bodyPart>
<bodyPart>hairall</bodyPart>
</appearance_stone>
</list> </list>

View File

@@ -0,0 +1,30 @@
<?xml version="1.0" encoding="UTF-8"?>
<list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../xsd/multisell.xsd">
<npcs>
<npc>34008</npc> <!-- Noelle -->
</npcs>
<item>
<ingredient id="40313" count="6"/>
<production id="37534" count="1"/>
</item>
<item>
<ingredient id="40313" count="6"/>
<production id="37535" count="1"/>
</item>
<item>
<ingredient id="40313" count="6"/>
<production id="40312" count="1"/>
</item>
<item>
<ingredient id="40313" count="6"/>
<production id="40330" count="1"/>
</item>
<item>
<ingredient id="40313" count="6"/>
<production id="40310" count="1"/>
</item>
<item>
<ingredient id="40313" count="3"/>
<production id="40311" count="1"/>
</item>
</list>

View File

@@ -38,6 +38,8 @@ public final class HuntForSanta extends LongTimeEvent
private static final SkillHolder BUFF_STOCKING = new SkillHolder(16419, 1); private static final SkillHolder BUFF_STOCKING = new SkillHolder(16419, 1);
private static final SkillHolder BUFF_TREE = new SkillHolder(16420, 1); private static final SkillHolder BUFF_TREE = new SkillHolder(16420, 1);
private static final SkillHolder BUFF_SNOWMAN = new SkillHolder(16421, 1); private static final SkillHolder BUFF_SNOWMAN = new SkillHolder(16421, 1);
// Item
// private static final int SANTAS_MARK = 40313;
private HuntForSanta() private HuntForSanta()
{ {

View File

@@ -264,6 +264,7 @@ public final class EffectMasterHandler
EffectHandler.getInstance().registerHandler("Resurrection", Resurrection::new); EffectHandler.getInstance().registerHandler("Resurrection", Resurrection::new);
EffectHandler.getInstance().registerHandler("ResurrectionSpecial", ResurrectionSpecial::new); EffectHandler.getInstance().registerHandler("ResurrectionSpecial", ResurrectionSpecial::new);
EffectHandler.getInstance().registerHandler("Reuse", Reuse::new); EffectHandler.getInstance().registerHandler("Reuse", Reuse::new);
EffectHandler.getInstance().registerHandler("RewardItemOnExit",RewardItemOnExit::new);
EffectHandler.getInstance().registerHandler("Root", Root::new); EffectHandler.getInstance().registerHandler("Root", Root::new);
EffectHandler.getInstance().registerHandler("SafeFallHeight", SafeFallHeight::new); EffectHandler.getInstance().registerHandler("SafeFallHeight", SafeFallHeight::new);
EffectHandler.getInstance().registerHandler("SendSystemMessageToClan", SendSystemMessageToClan::new); EffectHandler.getInstance().registerHandler("SendSystemMessageToClan", SendSystemMessageToClan::new);

View File

@@ -0,0 +1,46 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package handlers.effecthandlers;
import com.l2jmobius.gameserver.model.StatsSet;
import com.l2jmobius.gameserver.model.effects.AbstractEffect;
import com.l2jmobius.gameserver.model.skills.BuffInfo;
/**
* Reward Item on Exit effect implementation.
* @author Mobius
*/
public final class RewardItemOnExit extends AbstractEffect
{
private final int _itemId;
private final long _itemCount;
public RewardItemOnExit(StatsSet params)
{
_itemId = params.getInt("itemId", 40313); // Default item is Santa's Mark.
_itemCount = params.getLong("itemCount", 1);
}
@Override
public void onExit(BuffInfo info)
{
if (!info.isRemoved() && info.getEffected().isPlayer() && !info.getEffected().getActingPlayer().isDead())
{
info.getEffected().getActingPlayer().addItem("RewardItemOnExitEffect", _itemId, _itemCount, info.getEffected().getActingPlayer(), true);
}
}
}

View File

@@ -469,17 +469,30 @@
<set name="icon" val="icon.armor_ev_santas_clothes" /> <set name="icon" val="icon.armor_ev_santas_clothes" />
<set name="armor_type" val="HEAVY" /> <set name="armor_type" val="HEAVY" />
<set name="default_action" val="EQUIP" /> <set name="default_action" val="EQUIP" />
<set name="is_freightable" val="false" /> <set name="bodypart" val="alldress" />
<set name="is_clan_depositable" val="false" />
<set name="is_mailable" val="false" />
<set name="is_tradable" val="false" />
<set name="is_dropable" val="false" />
<set name="is_sellable" val="false" /> <set name="is_sellable" val="false" />
<set name="is_commissionable" val="false" />
<set name="is_private_storeable" val="false" />
<set name="commissionItemType" val="OTHER_ITEM" /> <set name="commissionItemType" val="OTHER_ITEM" />
</item> </item>
<item id="37535" name="Santa Hat" type="Armor"> <item id="37535" name="Santa Hat" type="Armor">
<!-- Santa Hat. --> <!-- Santa Hat. -->
<set name="icon" val="icon.accessory_santas_cap_i00" /> <set name="icon" val="icon.accessory_santas_cap_i00" />
<set name="default_action" val="EQUIP" /> <set name="is_clan_depositable" val="false" />
<set name="is_freightable" val="false" /> <set name="is_mailable" val="false" />
<set name="is_tradable" val="false" />
<set name="is_dropable" val="false" />
<set name="is_sellable" val="false" /> <set name="is_sellable" val="false" />
<set name="commissionItemType" val="HAIR_ACCESSORY" /> <set name="is_commissionable" val="false" />
<set name="is_private_storeable" val="false" />
<set name="bodypart" val="hairall" />
<set name="isAppearanceable" val="true" />
<set name="immediate_effect" val="true" />
<set name="default_action" val="EQUIP" />
</item> </item>
<item id="37536" name="Santa's Blessing" type="EtcItem"> <item id="37536" name="Santa's Blessing" type="EtcItem">
<!-- Double-click to change your appearance to that of a Santa for 3 hours. STR/INT/CON/DEX/WIT/MEN + 1. Buff remains even after death. Note: If you use an item that changes your appearance, such as Letter Collector's Gift, the Santa appearance might disappear. --> <!-- Double-click to change your appearance to that of a Santa for 3 hours. STR/INT/CON/DEX/WIT/MEN + 1. Buff remains even after death. Note: If you use an item that changes your appearance, such as Letter Collector's Gift, the Santa appearance might disappear. -->

View File

@@ -138,9 +138,17 @@
<!-- Changes the appearance of your hair accessory into that of a Santa Hat. Only for hair accessories that use 2 slots. --> <!-- Changes the appearance of your hair accessory into that of a Santa Hat. Only for hair accessories that use 2 slots. -->
<set name="icon" val="BranchSys3.Icon.g_shape_shifting_hair2" /> <set name="icon" val="BranchSys3.Icon.g_shape_shifting_hair2" />
<set name="is_stackable" val="true" /> <set name="is_stackable" val="true" />
<set name="is_freightable" val="false" /> <set name="is_clan_depositable" val="false" />
<set name="etcitem_type" val="SCROLL" /> <set name="is_mailable" val="false" />
<set name="commissionItemType" val="OTHER_ITEM" /> <set name="is_tradable" val="false" />
<set name="is_dropable" val="false" />
<set name="is_sellable" val="false" />
<set name="is_commissionable" val="false" />
<set name="is_private_storeable" val="false" />
<set name="etcitem_type" val="SHAPE_SHIFTING_HAIRACC_FIXED" />
<set name="commissionItemType" val="SCROLL_OTHER" />
<set name="immediate_effect" val="true" />
<set name="handler" val="Appearance" />
</item> </item>
<item id="40311" name="Noelle's Gift" type="EtcItem"> <item id="40311" name="Noelle's Gift" type="EtcItem">
<!-- Double-click to recover Vitality while in peaceful zones. A set amount of Vitality is also restored when the buff is about to expire. 6-hour. --> <!-- Double-click to recover Vitality while in peaceful zones. A set amount of Vitality is also restored when the buff is about to expire. 6-hour. -->
@@ -157,6 +165,8 @@
<!-- Light and cozy cloak. --> <!-- Light and cozy cloak. -->
<set name="icon" val="BranchSys3.icon.g_christmas_cloak" /> <set name="icon" val="BranchSys3.icon.g_christmas_cloak" />
<set name="default_action" val="EQUIP" /> <set name="default_action" val="EQUIP" />
<set name="bodypart" val="back" />
<set name="immediate_effect" val="true" />
<set name="is_clan_depositable" val="false" /> <set name="is_clan_depositable" val="false" />
<set name="is_mailable" val="false" /> <set name="is_mailable" val="false" />
<set name="is_freightable" val="false" /> <set name="is_freightable" val="false" />
@@ -310,10 +320,15 @@
<item id="40330" name="Appearance Stone: Santa Suit" type="EtcItem"> <item id="40330" name="Appearance Stone: Santa Suit" type="EtcItem">
<!-- Changes the appearance of your entire armor into that of a Santa Suit. Tops and one-pieces only. Modified armor can be restored to their original appearance with a Restoration Stone. --> <!-- Changes the appearance of your entire armor into that of a Santa Suit. Tops and one-pieces only. Modified armor can be restored to their original appearance with a Restoration Stone. -->
<set name="icon" val="BranchSys3.icon1.g_scrl_change_chest" /> <set name="icon" val="BranchSys3.icon1.g_scrl_change_chest" />
<set name="immediate_effect" val="true" />
<set name="handler" val="Appearance" />
<set name="is_stackable" val="true" /> <set name="is_stackable" val="true" />
<set name="is_freightable" val="false" /> <set name="is_freightable" val="false" />
<set name="etcitem_type" val="SHAPE_SHIFTING_AM_FIXED" /> <set name="etcitem_type" val="SHAPE_SHIFTING_AM_FIXED" />
<set name="commissionItemType" val="OTHER_ITEM" /> <set name="commissionItemType" val="OTHER_ITEM" />
<set name="is_clan_depositable" val="false" />
<set name="is_mailable" val="false" />
<set name="is_sellable" val="false" />
</item> </item>
<item id="40331" name="Magic Staff Set of Fortune" additionalName="90-day" type="EtcItem"> <item id="40331" name="Magic Staff Set of Fortune" additionalName="90-day" type="EtcItem">
<!-- Use to receive 5 magic staff weapons (S - C-grade). Disappears after 90 days if unused. --> <!-- Use to receive 5 magic staff weapons (S - C-grade). Disappears after 90 days if unused. -->

View File

@@ -176,10 +176,13 @@
<operateType>P</operateType> <operateType>P</operateType>
</skill> </skill>
<skill id="16419" toLevel="2" name="Stocking Fairy's Blessing"> <skill id="16419" toLevel="2" name="Stocking Fairy's Blessing">
<!-- AUTO GENERATED SKILL -->
<!-- For 2 hr., STR + 3, INT + 3, Speed + 7. Can obtain item after 2 hr. Must be alive with space in the inventory to receive item. --> <!-- For 2 hr., STR + 3, INT + 3, Speed + 7. Can obtain item after 2 hr. Must be alive with space in the inventory to receive item. -->
<icon>BranchSys.icon.br_xmas_present_i00</icon> <icon>BranchSys.icon.br_xmas_present_i00</icon>
<operateType>A2</operateType> <operateType>A2</operateType>
<abnormalLvl>1</abnormalLvl>
<abnormalTime>7200</abnormalTime>
<abnormalType>BR_EVENT_BUF2</abnormalType>
<abnormalVisualEffect>XMAS_SOCKS</abnormalVisualEffect>
<castRange>900</castRange> <castRange>900</castRange>
<hitTime> <hitTime>
<value level="1">1000</value> <value level="1">1000</value>
@@ -187,12 +190,33 @@
</hitTime> </hitTime>
<effectPoint>1</effectPoint> <effectPoint>1</effectPoint>
<isMagic>4</isMagic> <isMagic>4</isMagic>
<effects>
<effect name="StatUp">
<amount>3</amount>
<stat>STR</stat>
</effect>
<effect name="StatUp">
<amount>3</amount>
<stat>INT</stat>
</effect>
<effect name="Speed">
<amount>7</amount>
<mode>DIFF</mode>
</effect>
<effect name="RewardItemOnExit">
<itemId>40313</itemId>
<itemCount>1</itemCount>
</effect>
</effects>
</skill> </skill>
<skill id="16420" toLevel="2" name="Tree Fairy's Blessing"> <skill id="16420" toLevel="2" name="Tree Fairy's Blessing">
<!-- AUTO GENERATED SKILL -->
<!-- For 2 hr., CON + 3, MEN + 3, P. Critical Rate + 30, M. Critical Rate + 30. Can obtain item after 2 hr. Must be alive with space in the inventory to receive item. --> <!-- For 2 hr., CON + 3, MEN + 3, P. Critical Rate + 30, M. Critical Rate + 30. Can obtain item after 2 hr. Must be alive with space in the inventory to receive item. -->
<icon>BranchSys.icon.br_xmas_miracle_i00</icon> <icon>BranchSys.icon.br_xmas_miracle_i00</icon>
<operateType>A2</operateType> <operateType>A2</operateType>
<abnormalLvl>1</abnormalLvl>
<abnormalTime>7200</abnormalTime>
<abnormalType>BR_EVENT_BUF2</abnormalType>
<abnormalVisualEffect>XMAS_TREE</abnormalVisualEffect>
<castRange>900</castRange> <castRange>900</castRange>
<hitTime> <hitTime>
<value level="1">1000</value> <value level="1">1000</value>
@@ -200,12 +224,37 @@
</hitTime> </hitTime>
<effectPoint>1</effectPoint> <effectPoint>1</effectPoint>
<isMagic>4</isMagic> <isMagic>4</isMagic>
<effects>
<effect name="StatUp">
<amount>3</amount>
<stat>CON</stat>
</effect>
<effect name="StatUp">
<amount>3</amount>
<stat>MEN</stat>
</effect>
<effect name="CriticalRate">
<amount>30</amount>
<mode>DIFF</mode>
</effect>
<effect name="MagicCriticalRate">
<amount>30</amount>
<mode>DIFF</mode>
</effect>
<effect name="RewardItemOnExit">
<itemId>40313</itemId>
<itemCount>1</itemCount>
</effect>
</effects>
</skill> </skill>
<skill id="16421" toLevel="2" name="Snowman Fairy's Blessing"> <skill id="16421" toLevel="2" name="Snowman Fairy's Blessing">
<!-- AUTO GENERATED SKILL -->
<!-- For 2 hr., DEX + 3, WIT + 3, Max HP/MP + 2013. Can obtain item after 2 hr. Must be alive with space in the inventory to receive item. --> <!-- For 2 hr., DEX + 3, WIT + 3, Max HP/MP + 2013. Can obtain item after 2 hr. Must be alive with space in the inventory to receive item. -->
<icon>BranchSys.icon.br_xmas_present_luck_i00</icon> <icon>BranchSys.icon.br_xmas_present_luck_i00</icon>
<operateType>A2</operateType> <operateType>A2</operateType>
<abnormalLvl>1</abnormalLvl>
<abnormalTime>7200</abnormalTime>
<abnormalType>BR_EVENT_BUF2</abnormalType>
<abnormalVisualEffect>XMAS_SNOWMAN</abnormalVisualEffect>
<castRange>900</castRange> <castRange>900</castRange>
<hitTime> <hitTime>
<value level="1">1000</value> <value level="1">1000</value>
@@ -213,6 +262,28 @@
</hitTime> </hitTime>
<effectPoint>1</effectPoint> <effectPoint>1</effectPoint>
<isMagic>4</isMagic> <isMagic>4</isMagic>
<effects>
<effect name="StatUp">
<amount>3</amount>
<stat>DEX</stat>
</effect>
<effect name="StatUp">
<amount>3</amount>
<stat>WIT</stat>
</effect>
<effect name="MaxHp">
<amount>2013</amount>
<mode>DIFF</mode>
</effect>
<effect name="MaxMp">
<amount>2013</amount>
<mode>DIFF</mode>
</effect>
<effect name="RewardItemOnExit">
<itemId>40313</itemId>
<itemCount>1</itemCount>
</effect>
</effects>
</skill> </skill>
<skill id="16422" toLevel="1" name="Winter Holiday Reward"> <skill id="16422" toLevel="1" name="Winter Holiday Reward">
<!-- AUTO GENERATED SKILL --> <!-- AUTO GENERATED SKILL -->