Letter Collector event adjustments.
Thanks to Sero.
This commit is contained in:
@@ -88,26 +88,26 @@ public class LetterCollector extends LongTimeEvent implements IXmlReader
|
||||
forEach(listNode, "reward", rewardNode ->
|
||||
{
|
||||
final int id = new StatSet(parseAttributes(rewardNode)).getInt("id");
|
||||
final AtomicReference<List<ItemHolder>> word = new AtomicReference<>(new ArrayList<>());
|
||||
final AtomicReference<List<ItemChanceHolder>> rewards = new AtomicReference<>(new ArrayList<>());
|
||||
AtomicBoolean needToSumAllChance = new AtomicBoolean(false);
|
||||
AtomicReference<Double> chanceSum = new AtomicReference<>(0.0);
|
||||
final List<ItemHolder> word = new ArrayList<>();
|
||||
final List<ItemChanceHolder> rewards = new ArrayList<>();
|
||||
final AtomicBoolean needToSumAllChance = new AtomicBoolean(false);
|
||||
final AtomicReference<Double> chanceSum = new AtomicReference<>(0d);
|
||||
forEach(rewardNode, "word", wordNode ->
|
||||
{
|
||||
String[] letter = wordNode.getTextContent().trim().split(";");
|
||||
for (String token : letter)
|
||||
{
|
||||
int count = 1;
|
||||
for (ItemHolder check : word.get())
|
||||
for (ItemHolder check : word)
|
||||
{
|
||||
if (check.getId() == letters.get(token))
|
||||
{
|
||||
count = Math.toIntExact(check.getCount() + 1);
|
||||
word.get().remove(check);
|
||||
word.remove(check);
|
||||
break;
|
||||
}
|
||||
}
|
||||
word.get().add(new ItemHolder(letters.get(token), count));
|
||||
word.add(new ItemHolder(letters.get(token), count));
|
||||
}
|
||||
});
|
||||
forEach(rewardNode, "rewards", rewardsNode ->
|
||||
@@ -121,12 +121,12 @@ public class LetterCollector extends LongTimeEvent implements IXmlReader
|
||||
{
|
||||
chanceSum.set(chanceSum.get() + chance);
|
||||
}
|
||||
rewards.get().add(new ItemChanceHolder(itemSet.getInt("id"), chance, itemSet.getLong("count"), (byte) itemSet.getInt("enchantLevel", 0)));
|
||||
rewards.add(new ItemChanceHolder(itemSet.getInt("id"), chance, itemSet.getLong("count"), (byte) itemSet.getInt("enchantLevel", 0)));
|
||||
});
|
||||
});
|
||||
LetterCollectorManager lcm = LetterCollectorManager.getInstance();
|
||||
lcm.addWords(id, word.get());
|
||||
lcm.addRewards(id, new LetterCollectorManager.LetterCollectorRewardHolder(rewards.get(), chanceSum.get() == 0d ? 100d : chanceSum.get()));
|
||||
final LetterCollectorManager lcm = LetterCollectorManager.getInstance();
|
||||
lcm.addWords(id, word);
|
||||
lcm.addRewards(id, new LetterCollectorManager.LetterCollectorRewardHolder(rewards, chanceSum.get() == 0d ? 100d : chanceSum.get()));
|
||||
lcm.setLetters(letters);
|
||||
lcm.setMinLevel(minimumLevel.get());
|
||||
lcm.setMaxLevel(maximumLevel.get());
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
<add item="22894" min="1" max="1" chance="1%" minLevel="95" /> <!-- Letter Collector's W -->
|
||||
<add item="29545" min="1" max="1" chance="1%" minLevel="95" /> <!-- Letter Collector's D -->
|
||||
<add item="29825" min="1" max="1" chance="1%" minLevel="95" /> <!-- Letter Collector's P -->
|
||||
<add item="80012" min="1" max="1" chance="1%" minLevel="95" /> <!-- Letter - K -->
|
||||
</droplist>
|
||||
<messages>
|
||||
<add type="onEnd" text="Letter Collector: Event end!" />
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
<item name="W" id="22894" />
|
||||
<item name="D" id="29545" />
|
||||
<item name="P" id="29825" />
|
||||
<item name="K" id="80012" />
|
||||
</letters>
|
||||
<!-- client id -->
|
||||
<reward id="0">
|
||||
|
||||
@@ -1157,6 +1157,7 @@
|
||||
<set name="is_tradable" val="false" />
|
||||
<set name="is_dropable" val="false" />
|
||||
<set name="is_sellable" val="false" />
|
||||
<set name="is_stackable" val="true" />
|
||||
</item>
|
||||
<item id="82096" name="Letter I" additionalName="Event" type="EtcItem">
|
||||
<!-- A letter that can be obtained while hunting monsters on the continent. If you collect a word from such letters, you'll be able to participate in the event and get useful items. -->
|
||||
@@ -1168,6 +1169,7 @@
|
||||
<set name="is_tradable" val="false" />
|
||||
<set name="is_dropable" val="false" />
|
||||
<set name="is_sellable" val="false" />
|
||||
<set name="is_stackable" val="true" />
|
||||
</item>
|
||||
<item id="82097" name="Letter N" additionalName="Event" type="EtcItem">
|
||||
<!-- A letter that can be obtained while hunting monsters on the continent. If you collect a word from such letters, you'll be able to participate in the event and get useful items. -->
|
||||
@@ -1179,6 +1181,7 @@
|
||||
<set name="is_tradable" val="false" />
|
||||
<set name="is_dropable" val="false" />
|
||||
<set name="is_sellable" val="false" />
|
||||
<set name="is_stackable" val="true" />
|
||||
</item>
|
||||
<item id="82098" name="Letter E" additionalName="Event" type="EtcItem">
|
||||
<!-- A letter that can be obtained while hunting monsters on the continent. If you collect a word from such letters, you'll be able to participate in the event and get useful items. -->
|
||||
@@ -1190,6 +1193,7 @@
|
||||
<set name="is_tradable" val="false" />
|
||||
<set name="is_dropable" val="false" />
|
||||
<set name="is_sellable" val="false" />
|
||||
<set name="is_stackable" val="true" />
|
||||
</item>
|
||||
<item id="82099" name="Letter A" additionalName="Event" type="EtcItem">
|
||||
<!-- A letter that can be obtained while hunting monsters on the continent. If you collect a word from such letters, you'll be able to participate in the event and get useful items. -->
|
||||
@@ -1201,5 +1205,6 @@
|
||||
<set name="is_tradable" val="false" />
|
||||
<set name="is_dropable" val="false" />
|
||||
<set name="is_sellable" val="false" />
|
||||
<set name="is_stackable" val="true" />
|
||||
</item>
|
||||
</list>
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
<set name="is_tradable" val="false" />
|
||||
<set name="is_dropable" val="false" />
|
||||
<set name="is_sellable" val="false" />
|
||||
<set name="is_stackable" val="true" />
|
||||
</item>
|
||||
<item id="82101" name="Number II" additionalName="Event" type="EtcItem">
|
||||
<!-- A letter that can be obtained while hunting monsters on the continent. If you collect a word from such letters, you'll be able to participate in the event and get useful items. -->
|
||||
@@ -21,6 +22,7 @@
|
||||
<set name="is_tradable" val="false" />
|
||||
<set name="is_dropable" val="false" />
|
||||
<set name="is_sellable" val="false" />
|
||||
<set name="is_stackable" val="true" />
|
||||
</item>
|
||||
<item id="82102" name="Letter W" additionalName="Event" type="EtcItem">
|
||||
<!-- A letter that can be obtained while hunting monsters on the continent. If you collect a word from such letters, you'll be able to participate in the event and get useful items. -->
|
||||
@@ -32,6 +34,7 @@
|
||||
<set name="is_tradable" val="false" />
|
||||
<set name="is_dropable" val="false" />
|
||||
<set name="is_sellable" val="false" />
|
||||
<set name="is_stackable" val="true" />
|
||||
</item>
|
||||
<item id="82103" name="Letter D" additionalName="Event" type="EtcItem">
|
||||
<!-- A letter that can be obtained while hunting monsters on the continent. If you collect a word from such letters, you'll be able to participate in the event and get useful items. -->
|
||||
@@ -43,6 +46,7 @@
|
||||
<set name="is_tradable" val="false" />
|
||||
<set name="is_dropable" val="false" />
|
||||
<set name="is_sellable" val="false" />
|
||||
<set name="is_stackable" val="true" />
|
||||
</item>
|
||||
<item id="82104" name="Letter T" additionalName="Event" type="EtcItem">
|
||||
<!-- A letter that can be obtained while hunting monsters on the continent. If you collect a word from such letters, you'll be able to participate in the event and get useful items. -->
|
||||
@@ -54,6 +58,7 @@
|
||||
<set name="is_tradable" val="false" />
|
||||
<set name="is_dropable" val="false" />
|
||||
<set name="is_sellable" val="false" />
|
||||
<set name="is_stackable" val="true" />
|
||||
</item>
|
||||
<item id="82105" name="Letter O" additionalName="Event" type="EtcItem">
|
||||
<!-- A letter that can be obtained while hunting monsters on the continent. If you collect a word from such letters, you'll be able to participate in the event and get useful items. -->
|
||||
@@ -65,6 +70,7 @@
|
||||
<set name="is_tradable" val="false" />
|
||||
<set name="is_dropable" val="false" />
|
||||
<set name="is_sellable" val="false" />
|
||||
<set name="is_stackable" val="true" />
|
||||
</item>
|
||||
<item id="82106" name="Letter H" additionalName="Event" type="EtcItem">
|
||||
<!-- A letter that can be obtained while hunting monsters on the continent. If you collect a word from such letters, you'll be able to participate in the event and get useful items. -->
|
||||
@@ -76,6 +82,7 @@
|
||||
<set name="is_tradable" val="false" />
|
||||
<set name="is_dropable" val="false" />
|
||||
<set name="is_sellable" val="false" />
|
||||
<set name="is_stackable" val="true" />
|
||||
</item>
|
||||
<item id="82107" name="Letter P" additionalName="Event" type="EtcItem">
|
||||
<!-- A letter that can be obtained while hunting monsters on the continent. If you collect a word from such letters, you'll be able to participate in the event and get useful items. -->
|
||||
@@ -87,6 +94,7 @@
|
||||
<set name="is_tradable" val="false" />
|
||||
<set name="is_dropable" val="false" />
|
||||
<set name="is_sellable" val="false" />
|
||||
<set name="is_stackable" val="true" />
|
||||
</item>
|
||||
<item id="82108" name="Conquest Leader" additionalName="30-day" type="Armor">
|
||||
<!-- Given only to the Conquest Leader. When equipped, Max HP/ MP/ CP +5%, weight limit +25,600, damage +15%, received damage -15%, Damage Reflection Resistance +20%, Fixed Damage Resistance +20%, Critical Damage -20%, inventory slots +36, Attribute Resistance +50. -->
|
||||
|
||||
Reference in New Issue
Block a user