entry : this.susceptibilities.entrySet()) {
stats.append(" ");
stats.append(entry.getKey());
stats.append(": ");
@@ -659,14 +656,14 @@ public class Item extends PassiveEntity implements TurnListener, EquipListener {
return true;
}
- return possibleSlots.contains(slot);
+ return this.possibleSlots.contains(slot);
}
public void removeFromWorld() {
-
+
this.onUnequipped();
-
+
if (isContained()) {
// We modify the base container if the object change.
RPObject base = getContainer();
@@ -725,12 +722,12 @@ public class Item extends PassiveEntity implements TurnListener, EquipListener {
}
}
- public void setFromCorpse(boolean fromCorpse) {
+ public void setFromCorpse(final boolean fromCorpse) {
this.fromCorpse = fromCorpse;
}
public boolean isFromCorpse() {
- return fromCorpse;
+ return this.fromCorpse;
}
/**
@@ -745,8 +742,8 @@ public class Item extends PassiveEntity implements TurnListener, EquipListener {
return 0;
}
}
-
-
+
+
/**
* opportunity to affect the player when equipped
*
@@ -754,11 +751,11 @@ public class Item extends PassiveEntity implements TurnListener, EquipListener {
*
* TODO: should this return some sort of undoable thing (if it can be undone?)
*/
- public boolean onEquipped(RPEntity equipper, String slot) {
-
+ public boolean onEquipped(final RPEntity equipper, final String slot) {
+
// this.prevEntity = equipper;
// this.prevSlot = slot;
-
+
return false;
}
diff --git a/src/games/stendhal/server/entity/player/UpdatePendingAchievementsOnLogin.java b/src/games/stendhal/server/entity/player/UpdatePendingAchievementsOnLogin.java
index 0292c6f144..98e5d05401 100644
--- a/src/games/stendhal/server/entity/player/UpdatePendingAchievementsOnLogin.java
+++ b/src/games/stendhal/server/entity/player/UpdatePendingAchievementsOnLogin.java
@@ -57,6 +57,7 @@ public class UpdatePendingAchievementsOnLogin implements LoginListener, TurnList
updateItemLoots(player, command.getDetails("item.set.shadow"));
updateItemLoots(player, command.getDetails("item.set.golden"));
updateItemLoots(player, command.getDetails("item.set.red"));
+ updateItemLoots(player, command.getDetails("item.set.mainio"));
// Could also check for reached achievements here. This is also checked on login but the order may vary due to the async access?
diff --git a/src/games/stendhal/server/maps/ados/rosshouse/FatherNPC.java b/src/games/stendhal/server/maps/ados/rosshouse/FatherNPC.java
index 9a1052729e..2521e71554 100644
--- a/src/games/stendhal/server/maps/ados/rosshouse/FatherNPC.java
+++ b/src/games/stendhal/server/maps/ados/rosshouse/FatherNPC.java
@@ -52,7 +52,7 @@ public class FatherNPC implements ZoneConfigurator {
addJob("I'm looking after my daughter Susi.");
addHelp("If you need help finding any buildings in Ados, the guard Julius will give you a map. He is by the city entrance.");
addOffer("Sorry I do not have anything to offer you, but there are two places to eat in Ados - the tavern and a bar.");
- addQuest("At the end of October we will be visiting the #Semos #Mine #Town #Revival #Weeks");
+ addQuest("At the end of October we will be visiting the #Mine #Town #Revival #Weeks");
addGoodbye("Bye, nice to meet you.");
// Revival Weeks
diff --git a/src/games/stendhal/server/maps/ados/rosshouse/LittleGirlNPC.java b/src/games/stendhal/server/maps/ados/rosshouse/LittleGirlNPC.java
index 520ee7eb98..35dfb19b83 100644
--- a/src/games/stendhal/server/maps/ados/rosshouse/LittleGirlNPC.java
+++ b/src/games/stendhal/server/maps/ados/rosshouse/LittleGirlNPC.java
@@ -69,7 +69,7 @@ public class LittleGirlNPC implements ZoneConfigurator {
addJob("I am just a little girl.");
addGoodbye("Have fun!");
- addQuest("I might see you some time at the #Semos #Mine #Town #Revival #Weeks.");
+ addQuest("I might see you some time at the #Mine #Town #Revival #Weeks.");
// Revival Weeks
add(
diff --git a/src/games/stendhal/server/maps/quests/SemosMineTownRevivalWeeks.java b/src/games/stendhal/server/maps/quests/MineTownRevivalWeeks.java
similarity index 98%
rename from src/games/stendhal/server/maps/quests/SemosMineTownRevivalWeeks.java
rename to src/games/stendhal/server/maps/quests/MineTownRevivalWeeks.java
index ab26f95f3d..b93bdd6ff8 100644
--- a/src/games/stendhal/server/maps/quests/SemosMineTownRevivalWeeks.java
+++ b/src/games/stendhal/server/maps/quests/MineTownRevivalWeeks.java
@@ -31,7 +31,7 @@ import java.util.List;
* Creates a special version of Susi's father in a nearby house.
*
Puts a sign by the tower to say why it is shut.
*/
-public class SemosMineTownRevivalWeeks extends AbstractQuest {
+public class MineTownRevivalWeeks extends AbstractQuest {
public static final String QUEST_NAME = "SemosMineTownRevivalWeeks";
private static final String QUEST_SLOT = "semos_mine_town_revival";
diff --git a/src/games/stendhal/server/maps/quests/revivalweeks/FoundGirl.java b/src/games/stendhal/server/maps/quests/revivalweeks/FoundGirl.java
index ef66ccf0cf..cc909d5ef7 100644
--- a/src/games/stendhal/server/maps/quests/revivalweeks/FoundGirl.java
+++ b/src/games/stendhal/server/maps/quests/revivalweeks/FoundGirl.java
@@ -97,7 +97,7 @@ public class FoundGirl implements LoadableContent {
// greeting
addGreetingDependingOnQuestState();
- npc.addJob("I am just a litte girl waiting for my father to take me out of the house. We will have lots of fun here at the #Semos #Mine #Town #Revival #Weeks!");
+ npc.addJob("I am just a litte girl waiting for my father to take me out of the house. We will have lots of fun here at the #Mine #Town #Revival #Weeks!");
npc.addGoodbye("Have fun!");
npc.addHelp("Just have fun.");
npc.addOffer("I can offer you my #friendship.");
@@ -139,14 +139,14 @@ public class FoundGirl implements LoadableContent {
new AndCondition(new GreetingMatchesNameCondition(npc.getName()),
noFriends),
ConversationStates.ATTENDING,
- "Guess what, we are having another #Semos #Mine #Town #Revival #Weeks.", null);
+ "Guess what, we are having another #Town #Revival #Weeks.", null);
npc.add(ConversationStates.IDLE, ConversationPhrases.GREETING_MESSAGES,
new AndCondition(new GreetingMatchesNameCondition(npc.getName()),
anyFriends),
ConversationStates.ATTENDING,
null, new SayTextWithPlayerNameAction("Hello [name], nice to meet you again. "
- + "Guess what, we are having another #Semos #Mine #Town #Revival #Weeks."));
+ + "Guess what, we are having another #Town #Revival #Weeks."));
// TODO: Tell old friends about renewal
}
@@ -165,7 +165,7 @@ public class FoundGirl implements LoadableContent {
ConversationPhrases.QUEST_MESSAGES,
currentFriends,
ConversationStates.ATTENDING,
- "I have made a lot of friends during the #Semos #Mine #Town #Revival #Weeks.",
+ "I have made a lot of friends during the #Town #Revival #Weeks.",
null);
}
diff --git a/src/games/stendhal/server/maps/quests/revivalweeks/NineSwitchesGame.java b/src/games/stendhal/server/maps/quests/revivalweeks/NineSwitchesGame.java
index 8082c16a39..338ba6f75f 100644
--- a/src/games/stendhal/server/maps/quests/revivalweeks/NineSwitchesGame.java
+++ b/src/games/stendhal/server/maps/quests/revivalweeks/NineSwitchesGame.java
@@ -16,6 +16,7 @@ import games.stendhal.common.Direction;
import games.stendhal.common.parser.Sentence;
import games.stendhal.server.core.engine.SingletonRepository;
import games.stendhal.server.core.engine.StendhalRPZone;
+import games.stendhal.server.entity.RPEntity;
import games.stendhal.server.entity.mapstuff.game.NineSwitchesGameBoard;
import games.stendhal.server.entity.npc.ChatAction;
import games.stendhal.server.entity.npc.ConversationStates;
@@ -66,6 +67,10 @@ public class NineSwitchesGame implements LoadableContent {
"Good luck.",
new PlayAction(board));
}
+
+ protected void onGoodbye(RPEntity player) {
+ setDirection(Direction.DOWN);
+ }
};
npc.setEntityClass("gamesupervisornpc");
npc.setPlayerChatTimeout(CHAT_TIMEOUT);
diff --git a/src/games/stendhal/server/maps/quests/revivalweeks/TicTacToeGame.java b/src/games/stendhal/server/maps/quests/revivalweeks/TicTacToeGame.java
index 5454af6f02..4ebc633b2d 100644
--- a/src/games/stendhal/server/maps/quests/revivalweeks/TicTacToeGame.java
+++ b/src/games/stendhal/server/maps/quests/revivalweeks/TicTacToeGame.java
@@ -88,7 +88,7 @@ public class TicTacToeGame implements LoadableContent {
add(ConversationStates.IDLE,
Arrays.asList("play", "game", "yes"),
ConversationStates.IDLE,
- "",
+ null,
new PlayAction(board));
}
};
diff --git a/src/games/stendhal/server/script/SemosMineTown.java b/src/games/stendhal/server/script/MineTown.java
similarity index 77%
rename from src/games/stendhal/server/script/SemosMineTown.java
rename to src/games/stendhal/server/script/MineTown.java
index 34155fa832..80d29616ec 100644
--- a/src/games/stendhal/server/script/SemosMineTown.java
+++ b/src/games/stendhal/server/script/MineTown.java
@@ -15,7 +15,7 @@ package games.stendhal.server.script;
import games.stendhal.server.core.rp.StendhalQuestSystem;
import games.stendhal.server.core.scripting.ScriptImpl;
import games.stendhal.server.entity.player.Player;
-import games.stendhal.server.maps.quests.SemosMineTownRevivalWeeks;
+import games.stendhal.server.maps.quests.MineTownRevivalWeeks;
import java.util.List;
@@ -24,12 +24,12 @@ import java.util.List;
*
* @author hendrik
*/
-public class SemosMineTown extends ScriptImpl {
+public class MineTown extends ScriptImpl {
@Override
public void execute(final Player admin, final List args) {
if (args.size() != 1) {
- admin.sendPrivateText("/script SemosMineTown.class {true|false}");
+ admin.sendPrivateText("/script MineTown.class {true|false}");
return;
}
@@ -45,22 +45,22 @@ public class SemosMineTown extends ScriptImpl {
* starts the Mine Town Revival Weeks
*/
private void startSemosMineTowns(Player admin) {
- if (StendhalQuestSystem.get().getQuest(SemosMineTownRevivalWeeks.QUEST_NAME) != null) {
+ if (StendhalQuestSystem.get().getQuest(MineTownRevivalWeeks.QUEST_NAME) != null) {
admin.sendPrivateText("Mine Town Revival Weeks are already active.");
return;
}
- StendhalQuestSystem.get().loadQuest(new SemosMineTownRevivalWeeks());
+ StendhalQuestSystem.get().loadQuest(new MineTownRevivalWeeks());
}
/**
* ends the Mine Town Revival Weeks
*/
private void stopSemosMineTowns(Player admin) {
- if (StendhalQuestSystem.get().getQuest(SemosMineTownRevivalWeeks.QUEST_NAME) == null) {
+ if (StendhalQuestSystem.get().getQuest(MineTownRevivalWeeks.QUEST_NAME) == null) {
admin.sendPrivateText("Mine Town Revival Weeks are not active.");
return;
}
- StendhalQuestSystem.get().unloadQuest(SemosMineTownRevivalWeeks.QUEST_NAME);
+ StendhalQuestSystem.get().unloadQuest(MineTownRevivalWeeks.QUEST_NAME);
}
}
diff --git a/stendhal.jnlp b/stendhal.jnlp
index 43ae1aab1b..f9c379943d 100644
--- a/stendhal.jnlp
+++ b/stendhal.jnlp
@@ -22,7 +22,7 @@ Some of these people are NPC, they will give you tasks to accomplish and hints t
-
+
diff --git a/tests/games/stendhal/server/maps/quests/BalloonForBobbyTest.java b/tests/games/stendhal/server/maps/quests/BalloonForBobbyTest.java
index 58d01a450a..e1b1d6039f 100644
--- a/tests/games/stendhal/server/maps/quests/BalloonForBobbyTest.java
+++ b/tests/games/stendhal/server/maps/quests/BalloonForBobbyTest.java
@@ -128,7 +128,7 @@ public class BalloonForBobbyTest {
assertTrue(player.isQuestCompleted(questSlot));
// Mine Town weeks are on: it should not matter if player has a balloon or not
- StendhalQuestSystem.get().loadQuest(new SemosMineTownRevivalWeeks());
+ StendhalQuestSystem.get().loadQuest(new MineTownRevivalWeeks());
// Player HAS balloon; Mine Town Weeks ARE ON
player.setOutfit(outfitWithBalloon);
@@ -144,12 +144,12 @@ public class BalloonForBobbyTest {
en.step(player, "bye");
assertEquals("Good bye.", getReply(npc));
- StendhalQuestSystem.get().unloadQuest(SemosMineTownRevivalWeeks.QUEST_NAME);
+ StendhalQuestSystem.get().unloadQuest(MineTownRevivalWeeks.QUEST_NAME);
// Player HAS NO balloon; Mine Town Weeks ARE ON
player.setOutfit(outfitNoBalloon);
- StendhalQuestSystem.get().loadQuest(new SemosMineTownRevivalWeeks());
+ StendhalQuestSystem.get().loadQuest(new MineTownRevivalWeeks());
en.step(player, "hi");
assertEquals("Hm?", getReply(npc));
@@ -162,6 +162,6 @@ public class BalloonForBobbyTest {
en.step(player, "bye");
assertEquals("Good bye.", getReply(npc));
- StendhalQuestSystem.get().unloadQuest(SemosMineTownRevivalWeeks.QUEST_NAME);
+ StendhalQuestSystem.get().unloadQuest(MineTownRevivalWeeks.QUEST_NAME);
}
}
diff --git a/tiled/Level 0/semos/city_halloween.tmx b/tiled/Level 0/semos/city_halloween.tmx
index 9b14b56cb0..45f74ea18a 100644
--- a/tiled/Level 0/semos/city_halloween.tmx
+++ b/tiled/Level 0/semos/city_halloween.tmx
@@ -1,266 +1,265 @@
-
diff --git a/tiled/Level 0/semos/mountain_n2_mine_town_weeks.tmx b/tiled/Level 0/semos/mountain_n2_mine_town_weeks.tmx
index 174e341d02..c97e36d6aa 100644
--- a/tiled/Level 0/semos/mountain_n2_mine_town_weeks.tmx
+++ b/tiled/Level 0/semos/mountain_n2_mine_town_weeks.tmx
@@ -143,7 +143,7 @@
- H4sIAAAAAAAAC+3ZTU4CQRSFUfwbsA1ZtNvVREwMMYBNV91XVWdwRg583d/FGD0eDocjAAAAAAAAAAAAAAAAAAAAAE29XZG+jVx7/ed2q73+87qnvf5zure9/nPSf236r03/be+rwg17tNE/895btNJ/rHe/R5NH79C/zjt6pPuWG1pvazR7vf/Wn8M9vnePZxrJnu+/x2dx6/ftuekRtOre4/PY20hdKr7zCjdU759+RnL9089Hn/7p56BP//S99O+fvpH2/dN3AAAAAAAAAADzem0o/Wxk+9tITenmdrBmYzvQ3Za0ryDdSvs60u20ryPdcuTmL2fpO2beQPrd/O7cQvrZKu5g1tYjbaHVRtL3V20/4ha27CN9X7XOs21E+7W3ULH57O0r7aBa81W6V9lDtf7p919NuofWNaRb6V1buq3GNWiO3rTYQfp5yGwkfSP9+6fvItM/fQ/9+6dvABjB89mtr+8t/dyratXTHvLSDW1Be5vQ3h600j//jmanH5dbeHQf6ecY0V//b0nf9N8dpG8cWfX+17aQvmcGI/VHf/RHf/RHf2Cb05ePp2+nAvegP/qjP/rTvv/PBt4PNrCi3z8D/BxY018buJS+kb4buGQD87v8zNvA2mwAvx/i7wRr69X/E2QtR40AAAEA
+ H4sIAAAAAAAAC+3ZS04DMRRE0fAbZBuwaLYLiESKoohPp+16ts/gjBjwum8lQuJ4OByOAAAAAAAAAAAAAAAAAAAAADT18oP0beTa6z+339rrP6+/tNd/Tn9tr/+c9F+b/mvTf9v7qnDDHm30z7z3Fq30H+vd79Hk3jv0r/OO7um+5YbW2xrNXu+/9edwj9/d45lGsuf77/FZ3Pp7e256BK269/g89jZSl4rvvMIN1funn5Fc//Tz0ad/+jno0z99L/37p2+kff/0HQAAAAAAAADAvJ4bSj8b2f42UlO6uR2s2dgOdLcl7StIt9K+jnQ77etItxy5+dNJ+o6ZN5B+N5edW0g/W8UdzNp6pC202kj6/qrtR9zCln2k76vWebaNaL/2Fio2n719pR1Ua75K9yp7qNY//f6rSffQuoZ0K71rS7fVuAbN0ZsWO0g/D5mNpG+kf//0XWT6p++hf//0DQAjeDz57ed7Sz/3qlr1tIe8dENb0N4mtLcHrfTPv6PZ6cf1Fu7dR/o5RnTr/y3pm/67g/SNI6ve/6ctpO+ZwUj90R/90R/90R/Y5u3T+8O3twL3oD/6oz/6077/eQOvBxtY0eV3wJf0PeQ3cP5euJS+kb4buGYD87v+zNvA2myAW38bpG8itwH919Or/wctJID3AAABAA==
@@ -153,7 +153,7 @@
- H4sIAAAAAAAAC+3YTU4UQRgG4B4WbEmAEK8FrAHFhYmIipfgFkAkcheQoIYjgNcAPpJmIRhoGqqqa/p5knczmZ9v+u3fahoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIZ2PSNG/bvJuUnub/apixVjVs2xpmrFUN27aGGQEAAAC66LrOsRxZiazmGowsuva/Flm/fX+uwcjCOiddvG/3jQ/2EcKfyMfYF7YinyLnpQciq7PIdvT+OfIl8rv0QFCpoxd+/jiOvxPX5Wq9tH/qpv9xy9n/UK4VuwOYYShKHf8/m3+f4b5Gdtp8i5wWmmtsSvV//xnuV/MwpOf6P276H7fH+r+I8/Jlm7+T/q9fu98arFzH/+xMph/iWXL1P6//QcrV/5L+BylX/3MJ+99P99VTL0f/C9H9YsL+93p+btN9aZb+37TdXyXa3n37J/Pzf6JzgP77m4b1H/33V0v/PyLfI4elB5kypfu/6/Wp6D2N0v07d5el/3G7XTvpcv5NlYPk/xAAXt8NN2VyMAAAAQA=
+ H4sIAAAAAAAAC+3YSU7cUBQFUBeDTJEgithWYAwJZIBEIDSbYBekhAR7oVEAsQRgG8BDMQMaQeHC//uXz5HupFTNK1/b33ZVAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQHt+DKrqZ53lQe5pXlfCjKUqYduWMGOpSti2JcwIAAAAMIpRn3N8j8xHFlINRhKj9r8YWXp4f6rBSMJzTkbxq943Vu0jhIvIWuwLvyPrkcvcA5HUv8hG9P4nshk5zz0QFOpwzM8fxfF3bF0u1rj9Uzb991vK/ruyVux2YIauyHX8n1RP7+G2Itt1diKnmebqm1z9P7+HO6tehvZZ//tN//32Vv9XcV6+rnMzaP76neutzkp1/H+ZSvRDfEiq/mf030mp+v+m/05K1f90i/3/be+rJ16K/mej+68t9r/X8HMrrkuT9D9Xd3/b0vZu2j+J7/9bOgfov7lJeP6j/+ZK6f/hGm8/Msw8x6TJ3f9B9b/X9zLMNN+ky92/c3de+u+3x3U1V4at/0MA+Hz3rOzfFwAAAQA=
@@ -166,7 +166,7 @@
H4sIAAAAAAAAC+3OAQ0AAAgDoNt/djaGbkICEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD7o2h4AAAAAAAAAAAAAAAAAAADXDQ14CaMAAAEA
-
+
H4sIAAAAAAAAC+3c0W7jMAxE0fb/n/rHfQrguo4iShQ5Eu8BDGzT2KY5kux0u/vz/fX1w8bGxsYmu12tOu6T7OuuvqnI7sOu22my+7nDVkV2n7OyqZx5S3a25LEXcgYAAAAAAAAAAAAAAAAAAACAv/j96br4/fm6+PcTdZFxXWRfF9nXRva1kf+evJ7Lyd8u857p/dmM/G2iPhdH/f8G5N8v4ucjozmP1kD+/1l6v2ItHh1f1vPz2e+/0f7Prgnez3Mr7xkn8urT6L6eWZySfdR6tqIno2uHl5Oyn5172fMh+/y78V57s/uuUoealb1Q7Hn2+TMozkespXgPhj9yroeMayPz2sgZAAAAAAAAAAAAkWZ/J4G/09zXquwZI9qyc2ccrKXQe8ZBjp16zpria9fecL+Zd8L1RY+DnXt1ddr1eDh9LCjWr1BDj53HgELdJ63HKnW0ZPYs456sNhYi6lPszUhNu4+FjLqz+6CUhcoYicpfvd+ZVMbCTH29+0RT6WEv5XHQQ6nG7POvojge1Os5lcr6kNlvpXGXJXscqD2PVMr+iaU/ij1r1Uj2dr35Z/bPWiNZ21l6G1nLjmvUiSLGAeu3vhX3WzLfi0f+5L2/kfzJvSZyr4nMayN3m5nnppkt63qqG/k5R8QGH1459LyPsaBltNet/K9fW87rXSvaIvt4HTfvzv1U17vjWOrffSysWjMzezOa/9Nx3h1P4TqtVmet0pOne8n9e5b8W+eIvN7o/HbM3lPvdfSsNzM1ZObkVf/rz/fvPb1uuW5P93osx/eeGypz8tO+veew9tR7DFvOfd/P8v7ZTNTW1Na5V9aZMf+fapjZ97p/5Jz1NJK/Zb5d33vfN6tHo+uF5fjqub9kzTPv7EeuISIH1dxfLPN/9PVP510xT3rvxdVljUvLvaP3/a/39a4r5K+7Lo16lzPz/1nU/V9xnKnVk0Ep/+h1mfxjnv+Y/7qU5n/kORTHY4ZPfWg9O/W+vjr/3md+z8+Xpzhh/o8el/zPmf8YU3n+I2b+r0b+43Z5Dmo9t+1Qv6rs/HlWz5XdW3LNNfPZ2WtDnuzsPfJnDNXBmlEX943aFPP/BVxl5KEAAAEA
diff --git a/tiled/Level 0/semos/village_w.tmx b/tiled/Level 0/semos/village_w.tmx
index b4bf221829..75e7f3c0a3 100644
--- a/tiled/Level 0/semos/village_w.tmx
+++ b/tiled/Level 0/semos/village_w.tmx
@@ -1,158 +1,157 @@
-