summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2011-11-13 04:57:16 +0300
committerAndrei Karas <akaras@inbox.ru>2011-11-13 04:57:16 +0300
commit4d453108f45f9fb2ff4f5715cc1b3ddd63d36a80 (patch)
treec1edb8d8b368fdd43cd8639e6044b0f4e8dde70a
parentece00592ecd93f7a96db0ca82589d00846e2f938 (diff)
parentd471e99fd38ac589a8a9e8e8677b9f577f0cc5c6 (diff)
downloadplus-stripped1.1.11.12.tar.gz
plus-stripped1.1.11.12.tar.bz2
plus-stripped1.1.11.12.tar.xz
plus-stripped1.1.11.12.zip
Merge branch 'master' into strippedstripped1.1.11.12
Conflicts: data/fonts/mplus-1p-bold.ttf data/fonts/mplus-1p-regular.ttf src/guichan/basiccontainer.cpp src/guichan/focushandler.cpp src/guichan/graphics.cpp src/guichan/gui.cpp src/guichan/image.cpp src/guichan/include/guichan/widgets/checkbox.hpp src/guichan/include/guichan/widgets/dropdown.hpp src/guichan/sdl/sdlgraphics.cpp src/guichan/sdl/sdlimage.cpp src/guichan/widget.cpp src/guichan/widgets/dropdown.cpp src/guichan/widgets/icon.cpp src/guichan/widgets/imagebutton.cpp src/guichan/widgets/listbox.cpp src/guichan/widgets/scrollarea.cpp src/guichan/widgets/tab.cpp src/guichan/widgets/tabbedarea.cpp src/guichan/widgets/textbox.cpp src/guichan/widgets/window.cpp
-rw-r--r--ChangeLog21
-rw-r--r--README2
-rw-r--r--README.txt2
-rwxr-xr-xbuild/bmakesnapshot44
-rwxr-xr-xbuild/maketest.sh (renamed from tests/maketest.sh)63
-rwxr-xr-xbuild/packwin2
-rwxr-xr-xconfigure.ac2
-rw-r--r--data/help/chatcommands.txt12
-rw-r--r--data/help/es/chatcommands.txt43
-rw-r--r--data/help/ru/chatcommands.txt12
-rw-r--r--manaplus.cbp1
-rw-r--r--po/LINGUAS4
-rw-r--r--po/cs.po1018
-rw-r--r--po/de.po1023
-rw-r--r--po/es.po1033
-rw-r--r--po/fi.po1028
-rw-r--r--po/fr.po1044
-rw-r--r--po/id.po1011
-rw-r--r--po/it.po1166
-rw-r--r--po/ja.po1049
-rw-r--r--po/manaplus.pot982
-rw-r--r--po/nl_BE.po1028
-rw-r--r--po/pt.po1025
-rw-r--r--po/pt_BR.po1025
-rw-r--r--po/ru.po1042
-rw-r--r--po/zh_CN.po1022
-rw-r--r--src/CMakeLists.txt1
-rw-r--r--src/Makefile.am1
-rw-r--r--src/actor.cpp4
-rw-r--r--src/actorsprite.cpp18
-rw-r--r--src/actorsprite.h4
-rw-r--r--src/actorspritemanager.cpp70
-rw-r--r--src/animatedsprite.cpp16
-rw-r--r--src/animationparticle.cpp8
-rw-r--r--src/being.cpp61
-rw-r--r--src/being.h6
-rw-r--r--src/channel.cpp2
-rw-r--r--src/channelmanager.cpp6
-rw-r--r--src/client.cpp153
-rw-r--r--src/commandhandler.cpp46
-rw-r--r--src/commandhandler.h10
-rw-r--r--src/compoundsprite.cpp51
-rw-r--r--src/configuration.cpp10
-rw-r--r--src/debug.h4
-rw-r--r--src/defaults.cpp4
-rw-r--r--src/equipment.h8
-rw-r--r--src/event.cpp2
-rw-r--r--src/flooritem.cpp2
-rw-r--r--src/game.cpp226
-rw-r--r--src/game.h6
-rw-r--r--src/graphics.cpp6
-rw-r--r--src/graphicsvertexes.cpp8
-rw-r--r--src/graphicsvertexes.h3
-rw-r--r--src/gui/beingpopup.cpp8
-rw-r--r--src/gui/botcheckerwindow.cpp2
-rw-r--r--src/gui/buydialog.cpp6
-rw-r--r--src/gui/buyselldialog.cpp10
-rw-r--r--src/gui/changeemaildialog.cpp4
-rw-r--r--src/gui/changepassworddialog.cpp4
-rw-r--r--src/gui/charcreatedialog.cpp12
-rw-r--r--src/gui/charselectdialog.cpp16
-rw-r--r--src/gui/chatwindow.cpp34
-rw-r--r--src/gui/confirmdialog.cpp2
-rw-r--r--src/gui/confirmdialog.h4
-rw-r--r--src/gui/debugwindow.cpp10
-rw-r--r--src/gui/didyouknowwindow.cpp2
-rw-r--r--src/gui/editdialog.h4
-rw-r--r--src/gui/emotepopup.cpp2
-rw-r--r--src/gui/equipmentwindow.cpp16
-rw-r--r--src/gui/focushandler.cpp2
-rw-r--r--src/gui/gui.cpp36
-rw-r--r--src/gui/helpwindow.cpp2
-rw-r--r--src/gui/inventorywindow.cpp8
-rw-r--r--src/gui/itemamountwindow.cpp10
-rw-r--r--src/gui/itempopup.cpp8
-rw-r--r--src/gui/killstats.cpp2
-rw-r--r--src/gui/logindialog.cpp8
-rw-r--r--src/gui/minimap.cpp8
-rw-r--r--src/gui/ministatuswindow.cpp12
-rw-r--r--src/gui/npcdialog.cpp42
-rw-r--r--src/gui/npcpostdialog.cpp2
-rw-r--r--src/gui/okdialog.h4
-rw-r--r--src/gui/outfitwindow.cpp10
-rw-r--r--src/gui/popupmenu.cpp89
-rw-r--r--src/gui/quitdialog.cpp23
-rw-r--r--src/gui/register.cpp12
-rw-r--r--src/gui/sdlfont.cpp8
-rw-r--r--src/gui/selldialog.cpp8
-rw-r--r--src/gui/serverdialog.cpp16
-rw-r--r--src/gui/setup.cpp4
-rw-r--r--src/gui/setup_colors.cpp8
-rw-r--r--src/gui/setup_joystick.cpp114
-rw-r--r--src/gui/setup_joystick.h11
-rw-r--r--src/gui/setup_keyboard.cpp10
-rw-r--r--src/gui/setup_other.cpp5
-rw-r--r--src/gui/setup_relations.cpp13
-rw-r--r--src/gui/setup_theme.cpp115
-rw-r--r--src/gui/setup_theme.h11
-rw-r--r--src/gui/setup_video.cpp18
-rw-r--r--src/gui/shopwindow.cpp16
-rw-r--r--src/gui/shortcutwindow.cpp12
-rw-r--r--src/gui/skilldialog.cpp20
-rw-r--r--src/gui/socialwindow.cpp104
-rw-r--r--src/gui/specialswindow.cpp10
-rw-r--r--src/gui/statuspopup.cpp48
-rw-r--r--src/gui/statuspopup.h1
-rw-r--r--src/gui/statuswindow.cpp37
-rw-r--r--src/gui/textcommandeditor.cpp8
-rw-r--r--src/gui/textdialog.cpp4
-rw-r--r--src/gui/theme.cpp44
-rw-r--r--src/gui/tradewindow.cpp6
-rw-r--r--src/gui/unregisterdialog.cpp4
-rw-r--r--src/gui/updaterwindow.cpp23
-rw-r--r--src/gui/viewport.cpp32
-rw-r--r--src/gui/whoisonline.cpp30
-rw-r--r--src/gui/widgets/avatarlistbox.cpp8
-rw-r--r--src/gui/widgets/browserbox.cpp58
-rw-r--r--src/gui/widgets/browserbox.h11
-rw-r--r--src/gui/widgets/button.cpp2
-rw-r--r--src/gui/widgets/chattab.cpp4
-rw-r--r--src/gui/widgets/checkbox.cpp24
-rw-r--r--src/gui/widgets/checkbox.h4
-rw-r--r--src/gui/widgets/desktop.cpp4
-rw-r--r--src/gui/widgets/dropdown.cpp2
-rw-r--r--src/gui/widgets/dropdown.h4
-rw-r--r--src/gui/widgets/dropshortcutcontainer.cpp10
-rw-r--r--src/gui/widgets/emoteshortcutcontainer.cpp2
-rw-r--r--src/gui/widgets/flowcontainer.cpp2
-rw-r--r--src/gui/widgets/guitable.cpp16
-rw-r--r--src/gui/widgets/guitable.h4
-rw-r--r--src/gui/widgets/icon.cpp2
-rw-r--r--src/gui/widgets/itemcontainer.cpp8
-rw-r--r--src/gui/widgets/itemlinkhandler.cpp2
-rw-r--r--src/gui/widgets/itemshortcutcontainer.cpp12
-rw-r--r--src/gui/widgets/layout.cpp4
-rw-r--r--src/gui/widgets/layout.h6
-rw-r--r--src/gui/widgets/playerbox.cpp4
-rw-r--r--src/gui/widgets/playerbox.h3
-rw-r--r--src/gui/widgets/popup.cpp6
-rw-r--r--src/gui/widgets/progressbar.cpp4
-rw-r--r--src/gui/widgets/radiobutton.cpp2
-rw-r--r--src/gui/widgets/resizegrip.cpp4
-rw-r--r--src/gui/widgets/scrollarea.cpp8
-rw-r--r--src/gui/widgets/setupitem.cpp98
-rw-r--r--src/gui/widgets/setuptabscroll.cpp4
-rw-r--r--src/gui/widgets/shopitems.cpp6
-rw-r--r--src/gui/widgets/shoplistbox.cpp2
-rw-r--r--src/gui/widgets/shortcutcontainer.cpp2
-rw-r--r--src/gui/widgets/slider.cpp32
-rw-r--r--src/gui/widgets/spellshortcutcontainer.cpp8
-rw-r--r--src/gui/widgets/tab.cpp2
-rw-r--r--src/gui/widgets/tabbedarea.cpp22
-rw-r--r--src/gui/widgets/tablemodel.cpp4
-rw-r--r--src/gui/widgets/textfield.cpp2
-rw-r--r--src/gui/widgets/textfield.h4
-rw-r--r--src/gui/widgets/textpreview.cpp2
-rw-r--r--src/gui/widgets/window.cpp16
-rw-r--r--src/gui/widgets/window.h3
-rw-r--r--src/gui/widgets/windowcontainer.cpp2
-rw-r--r--src/gui/windowmenu.cpp12
-rw-r--r--src/gui/worldselectdialog.cpp13
-rw-r--r--src/guild.cpp8
-rw-r--r--src/guildmanager.cpp12
-rw-r--r--src/imageparticle.cpp4
-rw-r--r--src/imagesprite.cpp2
-rw-r--r--src/inventory.cpp12
-rw-r--r--src/item.cpp6
-rw-r--r--src/joystick.cpp179
-rw-r--r--src/joystick.h38
-rw-r--r--src/keyboardconfig.cpp4
-rw-r--r--src/keyboardconfig.h1
-rw-r--r--src/localconsts.h24
-rw-r--r--src/localplayer.cpp141
-rw-r--r--src/localplayer.h25
-rw-r--r--src/logger.cpp16
-rw-r--r--src/main.cpp29
-rw-r--r--src/main.h4
-rw-r--r--src/map.cpp66
-rw-r--r--src/mumblemanager.cpp17
-rw-r--r--src/net/download.cpp28
-rw-r--r--src/net/ea/beinghandler.cpp4
-rw-r--r--src/net/ea/buysellhandler.cpp2
-rw-r--r--src/net/ea/charserverhandler.cpp4
-rw-r--r--src/net/ea/gamehandler.cpp2
-rw-r--r--src/net/ea/guildhandler.cpp12
-rw-r--r--src/net/ea/inventoryhandler.cpp24
-rw-r--r--src/net/ea/inventoryhandler.h5
-rw-r--r--src/net/ea/npchandler.cpp2
-rw-r--r--src/net/ea/partyhandler.cpp20
-rw-r--r--src/net/ea/playerhandler.cpp6
-rw-r--r--src/net/ea/tradehandler.cpp6
-rw-r--r--src/net/manaserv/chathandler.cpp11
-rw-r--r--src/net/manaserv/chathandler.h4
-rw-r--r--src/net/manaserv/network.cpp6
-rw-r--r--src/net/manaserv/partyhandler.cpp2
-rw-r--r--src/net/messageout.cpp2
-rw-r--r--src/net/net.cpp34
-rw-r--r--src/net/tmwa/charserverhandler.cpp6
-rw-r--r--src/net/tmwa/chathandler.cpp2
-rw-r--r--src/net/tmwa/generalhandler.cpp6
-rw-r--r--src/net/tmwa/messagehandler.cpp2
-rw-r--r--src/net/tmwa/network.cpp23
-rw-r--r--src/net/tmwa/npchandler.cpp6
-rw-r--r--src/openglgraphics.cpp2
-rw-r--r--src/particle.cpp6
-rw-r--r--src/particle.h2
-rw-r--r--src/particlecontainer.cpp8
-rw-r--r--src/particlecontainer.h10
-rw-r--r--src/party.cpp8
-rw-r--r--src/playerinfo.cpp17
-rw-r--r--src/playerrelations.cpp33
-rw-r--r--src/playerrelations.h9
-rw-r--r--src/resources/action.cpp2
-rw-r--r--src/resources/ambientlayer.cpp2
-rw-r--r--src/resources/animation.cpp10
-rw-r--r--src/resources/beinginfo.cpp6
-rw-r--r--src/resources/colordb.cpp2
-rw-r--r--src/resources/dye.cpp4
-rw-r--r--src/resources/emotedb.cpp6
-rw-r--r--src/resources/image.cpp68
-rw-r--r--src/resources/image.h3
-rw-r--r--src/resources/imageloader.cpp9
-rw-r--r--src/resources/imageset.cpp2
-rw-r--r--src/resources/imagewriter.cpp9
-rw-r--r--src/resources/itemdb.cpp2
-rw-r--r--src/resources/iteminfo.cpp14
-rw-r--r--src/resources/mapreader.cpp36
-rw-r--r--src/resources/music.cpp2
-rw-r--r--src/resources/resourcemanager.cpp50
-rw-r--r--src/resources/soundeffect.cpp4
-rw-r--r--src/resources/specialdb.cpp4
-rw-r--r--src/resources/spritedef.cpp8
-rw-r--r--src/resources/wallpaper.cpp4
-rw-r--r--src/rotationalparticle.cpp6
-rw-r--r--src/shopitem.cpp2
-rw-r--r--src/simpleanimation.cpp6
-rw-r--r--src/sound.cpp14
-rw-r--r--src/spellmanager.cpp8
-rw-r--r--src/sprite.h4
-rw-r--r--src/statuseffect.cpp6
-rw-r--r--src/text.cpp28
-rw-r--r--src/textcommand.cpp10
-rw-r--r--src/textmanager.cpp4
-rw-r--r--src/utils/base64.cpp6
-rw-r--r--src/utils/copynpaste.cpp30
-rw-r--r--src/utils/dtor.h6
-rw-r--r--src/utils/paths.cpp2
-rw-r--r--src/utils/specialfolder.cpp2
-rw-r--r--src/utils/stringutils.cpp15
-rw-r--r--src/utils/xml.cpp10
250 files changed, 10419 insertions, 7937 deletions
diff --git a/ChangeLog b/ChangeLog
index f1158ae7d..cbf0956f3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,24 @@
+2011-11-12 New release 1.1.11.12
+ManaPlus:
+fix: hide death message on reconnect.
+fix: stop move after open npc dialog.
+fix: disable incomplete hr, hy translations.
+fix: self player ignore.
+fix: double network error dialog.
+fix: joystick support.
+fix: random key press loses.
+add: pseudo away.
+Command: /pseudoaway text
+add: enemy relation. (no any ignore, but mark player as enemy)
+add: option for attack players in pvp "Switch pvp attack". Default key not assigned
+add: interface language selection.
+Settings / Theme / Language.
+add: Bold text type in chat. (To enable command ##B, to disable ##b)
+Example: ##Bbold##b text.
+add: update mplus fonts.
+add: joystick selection, option for joystick usage only in active game.
+add: enable joystick hat (if exists).
+
2011-10-30 New release 1.1.10.30
ManaPlus:
fix: disable autofix position for archer mode.
diff --git a/README b/README
index fd3bcf6fd..a2a2e70d8 100644
--- a/README
+++ b/README
@@ -1,7 +1,7 @@
THE MANA PLUS CLIENT
===============
- Version: 1.1.10.30 Date: 2011-10-30
+ Version: 1.1.11.12 Date: 2011-11-12
Development team:
- See AUTHORS file for a list
diff --git a/README.txt b/README.txt
index 846685c60..27db90d2c 100644
--- a/README.txt
+++ b/README.txt
@@ -1,7 +1,7 @@
THE MANA PLUS CLIENT
===============
- Version: 1.1.10.30 Date: 2011-10-30
+ Version: 1.1.11.12 Date: 2011-11-12
Development team:
- See AUTHORS file for a list
diff --git a/build/bmakesnapshot b/build/bmakesnapshot
new file mode 100755
index 000000000..4736fb8a5
--- /dev/null
+++ b/build/bmakesnapshot
@@ -0,0 +1,44 @@
+#!/bin/sh
+
+cd ..
+
+#need fix: -Wzero-as-null-pointer-constant
+
+dir=`pwd`
+
+export PATH=/usr/lib/gcc-snapshot/bin:$PATH
+export CC=gcc
+export CXX=g++
+
+export LANG=C
+
+export CXXFLAGS="-Wvariadic-macros -Wvla -Wredundant-decls \
+-Wpacked-bitfield-compat -Wtrampolines \
+-Wsuggest-attribute=noreturn -Wunused -Wstrict-aliasing=2 \
+-fstrict-aliasing -Wunreachable-code -Wabi -Wdisabled-optimization \
+-Wvolatile-register-var -Winvalid-pch -Wredundant-decls \
+-Wnormalized=nfkc -Wmissing-format-attribute -Wmissing-noreturn \
+-Wswitch-default -Wsign-promo -Waddress -Wmissing-declarations \
+-Wctor-dtor-privacy -Wstrict-null-sentinel -Wlogical-op \
+-Wcast-align -Wpointer-arith -Wundef \
+-Wmissing-include-dirs -Winit-self -pedantic -Wall -ggdb3 -O2 -pipe \
+-Wpacked -Wextra -Wstrict-overflow=1 -Wunknown-pragmas -Wwrite-strings \
+-Wstack-protector -Wshadow -Wunused -Wunused-macros -Wsynth \
+-Wbuiltin-macro-redefined -Wctor-dtor-privacy -Wdeprecated -Wextra \
+-Wendif-labels -Wformat=1 -Wimport -Wnon-virtual-dtor -Wpsabi \
+-Wsign-promo -Wwrite-strings -D_FORTIFY_SOURCE=2 -Wc++11-compat -std=c++0x \
+-Wdelete-non-virtual-dtor -Wmaybe-uninitialized -Wunused-local-typedefs \
+-Wvector-operation-performance"
+
+autoreconf -i
+./configure --prefix=$dir/run \
+--datadir=$dir/run/share/games \
+--bindir=$dir/run/bin \
+--mandir=$dir/run/share/man
+
+cd po
+#make -j5 update-po 2>../build/make1.log
+make -j5 update-gmo 2>../build/make1.log
+cd ..
+make -j5 2>build/make2.log
+
diff --git a/tests/maketest.sh b/build/maketest.sh
index eeea5706e..61b20f0fe 100755
--- a/tests/maketest.sh
+++ b/build/maketest.sh
@@ -3,14 +3,15 @@
dir=`pwd`
export LANG=C
+cd ..
#--enable-applebuild=yes
#--without-librt
-echo start >make2.log
+echo start >build/make.log
autoreconf -i
-echo opengl+debug+guichan >>make2.log
-make clean 2>>make2.log
+echo opengl+debug+guichan >>build/make.log
+make clean 2>>build/make.log
./configure --prefix=$dir/run \
--datadir=$dir/run/share/games \
--bindir=$dir/run/bin \
@@ -19,11 +20,11 @@ make clean 2>>make2.log
--with-internalguichan=yes \
--enable-tcmalloc=no \
--enable-googleprofiler=no
-make -j5 2>>make2.log
+make -j5 2>>build/make.log
autoreconf -i
-echo opengl+guichan >>make2.log
-make clean 2>>make2.log
+echo opengl+guichan >>build/make.log
+make clean 2>>build/make.log
./configure --prefix=$dir/run \
--datadir=$dir/run/share/games \
--bindir=$dir/run/bin \
@@ -32,11 +33,11 @@ make clean 2>>make2.log
--with-internalguichan=yes \
--enable-tcmalloc=no \
--enable-googleprofiler=no
-make -j5 2>>make2.log
+make -j5 2>>build/make.log
autoreconf -i
-echo opengl >>make2.log
-make clean 2>>make2.log
+echo opengl >>build/make.log
+make clean 2>>build/make.log
./configure --prefix=$dir/run \
--datadir=$dir/run/share/games \
--bindir=$dir/run/bin \
@@ -45,11 +46,11 @@ make clean 2>>make2.log
--with-internalguichan=no \
--enable-tcmalloc=no \
--enable-googleprofiler=no
-make -j5 2>>make2.log
+make -j5 2>>build/make.log
autoreconf -i
-echo opengl+manaserv >>make2.log
-make clean 2>>make2.log
+echo opengl+manaserv >>build/make.log
+make clean 2>>build/make.log
./configure --prefix=$dir/run \
--datadir=$dir/run/share/games \
--bindir=$dir/run/bin \
@@ -59,11 +60,11 @@ make clean 2>>make2.log
--enable-tcmalloc=no \
--enable-googleprofiler=no \
--enable-manaserv=yes
-make -j5 2>>make2.log
+make -j5 2>>build/make.log
autoreconf -i
-echo opengl+guichan+manaserv >>make2.log
-make clean 2>>make2.log
+echo opengl+guichan+manaserv >>build/make.log
+make clean 2>>build/make.log
./configure --prefix=$dir/run \
--datadir=$dir/run/share/games \
--bindir=$dir/run/bin \
@@ -73,11 +74,11 @@ make clean 2>>make2.log
--enable-tcmalloc=no \
--enable-googleprofiler=no \
--enable-manaserv=yes
-make -j5 2>>make2.log
+make -j5 2>>build/make.log
autoreconf -i
-echo guichan >>make2.log
-make clean 2>>make2.log
+echo guichan >>build/make.log
+make clean 2>>build/make.log
./configure --prefix=$dir/run \
--datadir=$dir/run/share/games \
--bindir=$dir/run/bin \
@@ -87,11 +88,11 @@ make clean 2>>make2.log
--enable-tcmalloc=no \
--enable-googleprofiler=no \
--without-opengl
-make -j5 2>>make2.log
+make -j5 2>>build/make.log
autoreconf -i
-echo "-" >>make2.log
-make clean 2>>make2.log
+echo "-" >>build/make.log
+make clean 2>>build/make.log
./configure --prefix=$dir/run \
--datadir=$dir/run/share/games \
--bindir=$dir/run/bin \
@@ -101,11 +102,11 @@ make clean 2>>make2.log
--enable-tcmalloc=no \
--enable-googleprofiler=no \
--without-opengl
-make -j5 2>>make2.log
+make -j5 2>>build/make.log
autoreconf -i
-echo guichan+manaserv >>make2.log
-make clean 2>>make2.log
+echo guichan+manaserv >>build/make.log
+make clean 2>>build/make.log
./configure --prefix=$dir/run \
--datadir=$dir/run/share/games \
--bindir=$dir/run/bin \
@@ -116,11 +117,11 @@ make clean 2>>make2.log
--enable-googleprofiler=no \
--enable-manaserv=yes \
--without-opengl
-make -j5 2>>make2.log
+make -j5 2>>build/make.log
autoreconf -i
-echo opengl+debug+guichan+portable >>make2.log
-make clean 2>>make2.log
+echo opengl+debug+guichan+portable >>build/make.log
+make clean 2>>build/make.log
./configure --prefix=$dir/run \
--datadir=$dir/run/share/games \
--bindir=$dir/run/bin \
@@ -130,11 +131,11 @@ make clean 2>>make2.log
--enable-tcmalloc=no \
--enable-googleprofiler=no \
--enable-portable=yes
-make -j5 2>>make2.log
+make -j5 2>>build/make.log
autoreconf -i
-echo opengl+guichan+portable+manaserv >>make2.log
-make clean 2>>make2.log
+echo opengl+guichan+portable+manaserv >>build/make.log
+make clean 2>>build/make.log
./configure --prefix=$dir/run \
--datadir=$dir/run/share/games \
--bindir=$dir/run/bin \
@@ -145,4 +146,4 @@ make clean 2>>make2.log
--enable-googleprofiler=no \
--enable-manaserv=yes \
--enable-portable=yes
-make -j5 2>>make2.log
+make -j5 2>>build/make.log
diff --git a/build/packwin b/build/packwin
index a817b5d4b..2d43c0b42 100755
--- a/build/packwin
+++ b/build/packwin
@@ -7,7 +7,7 @@ dir=`pwd`
cd packaging/windows
./make-translations.sh
makensis -DDLLDIR=$dir/../mana_win/libs/dll/ \
- -DPRODUCT_VERSION="1.1.10.30" \
+ -DPRODUCT_VERSION="1.1.11.12" \
-DEXESUFFIX=/src \
-DUPX=true \
setup.nsi
diff --git a/configure.ac b/configure.ac
index 0a4027e9a..8fbf51822 100755
--- a/configure.ac
+++ b/configure.ac
@@ -1,5 +1,5 @@
AC_PREREQ(2.59)
-AC_INIT([ManaPlus], [1.1.10.30], [akaras@inbox.ru], [manaplus])
+AC_INIT([ManaPlus], [1.1.11.12], [akaras@inbox.ru], [manaplus])
AM_INIT_AUTOMAKE([1.9])
AC_CONFIG_HEADERS([config.h:config.h.in])
AC_LANG_CPLUSPLUS
diff --git a/data/help/chatcommands.txt b/data/help/chatcommands.txt
index e5f09aa12..c62a9c2ed 100644
--- a/data/help/chatcommands.txt
+++ b/data/help/chatcommands.txt
@@ -21,6 +21,7 @@
/outfit prev - wear previous outfit.
/emote N - use emotion number N.
/away, /away MSG - set away mode.
+ /pseudoaway, /pseudoaway MSG - set/unset pseudo away mode.
/follow NICK - start follow mode.
/imitation NICK - start imitation mode.
/heal NICK - heal nick.
@@ -30,7 +31,10 @@
/disconnect - quick disconnect from server.
/attack - attack target.
/undress NICK - remove all clothes from nick. Local effect only.
-
+ /addattack NAME - add monster to attack list.
+ /addpriorityattack NAME - add monster to priority attack list.
+ /removeattack NAME - remove monster from attack list.
+ /addignoreattack NAME - add monster to ignore attack list.
##PTrade
##2
@@ -46,11 +50,13 @@
/friend NICK, /befriend NICK - add nick to friends list.
/disregard NICK - add nick to disregarded list.
/neutral NICK - add nick to neutral relation list.
+ /blacklist NICK - add nick to blacklist relation list.
/erase NICK - add nick to erased list.
/clear - clear current chat tab.
/createparty NAME - create party with selected name.
/me text - send text to chat as /me command in irc.
-
+ /serverignoreall - ignore all whispers on server side.
+ /serverunignoreall - unignore all whispers on server side.
##PDebug
##2
@@ -59,6 +65,8 @@
/where - print current player position to chat.
/cacheinfo - show text cache info.
/uptime - show client uptime.
+ /dumpg - dump graphics and some other settings to chat.
+ /dirs - show client dirs in debug chat tab.
##PWhispers commands
diff --git a/data/help/es/chatcommands.txt b/data/help/es/chatcommands.txt
index a1c016c9b..edf83709a 100644
--- a/data/help/es/chatcommands.txt
+++ b/data/help/es/chatcommands.txt
@@ -8,48 +8,55 @@
##2
/closeall - Cerrar todas las pestañas de susurro abiertas.
/ignoreall - Ignorar todas las pestañas de susurros abiertas.
- /msg NICK texto, /whisper NICK texto, /w NICK texto - Susurrar a nick.
- /query NICK, /q NICK - Abrir una pestaña de susurro para nick.
+ /msg NICK texto, /whisper NICK texto, /w NICK texto - Susurrar a NICK (nombre del personaje).
+ /query NICK, /q NICK - Abrir una pestaña de susurro para NICK.
##PAcciones
##2
/help - Muestra una pequeña ayuda acerca de comandos del chat.
- /target NICK - Seleccionar nick como objetivo, sea un monstruo o un jugador.
+ /target NICK - Seleccionar NICK como objetivo, sea un monstruo o un jugador.
/outfit N - Equipar conjunto número N.
/outfit next - Equipar siguiente conjunto.
/outfit prev - Equipar conjunto anterior.
- /emote N - Usar emoticon número N.
- /away, /away MSG - Establecer modo lejos de teclado.
- /follow NICK - Seguir a nick.
- /imitation NICK - Imitar a nick.
- /heal NICK - Curar a nick.
+ /emote N - Usar emoticón número N.
+ /away, /away MSG - Establecer modo AFK.
+ /pseudoaway, /pseudoaway MSG - establecer/quitar modo pseudo AFK.
+ /follow NICK - Seguir a NICK.
+ /imitation NICK - Imitar a NICK.
+ /heal NICK - Curar a NICK.
/move X Y - Moverse a la posición X,Y (distancias cortas).
/navigate x y - Moverse a la posición x,y en el mapa actual.
/mail NICK MSG - Enviar mensaje sin conexión a NICK (sólo funciona en el servidor tmw).
/disconnect - Desconectarse rápidamente del servidor.
/attack - Atacar objetivo seleccionado.
- /undress NICK - Remover toda la ropa de nick (efecto local, sólamente).
-
+ /undress NICK - Remover toda la ropa de NICK (efecto local, sólamente).
+ /addattack NOMBRE - Agregar al monstruo especificado en NOMBRE a la lista de ataque.
+ /addpriorityattack NOMBRE - Agregar al monstruo especificado en NOMBRE a la lista de ataque prioritario.
+ /removeattack NOMBRE - Remover al monstruo especificado de la lista de ataque.
+ /addignoreattack NOMBRE - Agregar al monstruo especificado a la lista de criaturas ignorados.
##PIntercambio
##2
- /trade NICK - Iniciar intercambio con nick.
+ /trade NICK - Iniciar intercambio con NICK.
/priceload - Cargar precio de tienda desde el disco.
/pricesave - Guardar precio de tienda al disco.
##PRelaciones con jugadores
##2
- /ignore NICK - Agregar nick a la lista de ignorados.
- /unignore NICK - Quitar nick de la lista de ignorados.
- /friend NICK, /befriend NICK - Agregar nick a la lista de amigos.
- /disregard NICK - Agregar nick a la lista de desatendidos.
- /neutral NICK - Agregar nick a la lista de relación neutral.
- /erase NICK - Agregar nick lista de borrados.
+ /ignore NICK - Agregar NICK a la lista de ignorados.
+ /unignore NICK - Quitar NICK de la lista de ignorados.
+ /friend NICK, /befriend NICK - Agregar NICK a la lista de amigos.
+ /disregard NICK - Agregar NICK a la lista de desatendidos.
+ /neutral NICK - Agregar NICK a la lista de relación neutral.
+ /blacklist NICK - Agregar NICK a la lista negra add nick to blacklist relation list.
+ /erase NICK - Agregar NICK lista de borrados.
/clear - Limpia la charla de la pestaña actual.
/createparty NOMBRE - Crear grupo con el nombre indicado.
/me texto - Enviar texto al chat como el comando /me en el irc.
+ /serverignoreall - Ignorar todos los susurros del lado del servidor.
+ /serverunignoreall - Des-ignorar todos los susurros del lado del servidor.
##PDebug
@@ -59,6 +66,8 @@
/where - Escribir la posición actual del jugador en el chat.
/cacheinfo - Muestra texto cache info.
/uptime - Muestra el tiempo de actividad del cliente.
+ /dumpg - Vacia la configuraciones gráficas y algunas otras al chat.
+ /dirs - Muestra los directorios utilizados por el cliente en en chat, en la pestaña de depurador.
##PComandos en pestañas
diff --git a/data/help/ru/chatcommands.txt b/data/help/ru/chatcommands.txt
index 9d1699686..5a89b23f3 100644
--- a/data/help/ru/chatcommands.txt
+++ b/data/help/ru/chatcommands.txt
@@ -21,6 +21,7 @@
/outfit prev - одеть предыдущий наряд.
/emote N - использовать эмоцию N.
/away, /away MSG - включить режим отошел.
+ /pseudoaway, /pseudoaway MSG - включить симуляцию режима отошел.
/follow NICK - включить режим следования.
/imitation NICK -включить режим эмитации.
/heal NICK - лечить игрока.
@@ -30,7 +31,10 @@
/disconnect - быстрое отсоединение от сервера.
/attack - атаковать выбранную цель.
/undress NICK - раздеть выбранный ник. Имеет только эффект в локальном клиенте.
-
+ /addattack NAME - добавить монстра в список атаки.
+ /addpriorityattack NAME - добавить монстра в список приоритетной атаки.
+ /removeattack NAME - удалить монстра из всех списков атаки.
+ /addignoreattack NAME - добавить монстра в с список игнорирования атаки.
##PТорговля
##2
@@ -46,10 +50,13 @@
/friend NICK, /befriend NICK - добавление пользователя в список друзей.
/disregard NICK - добавление пользователя в список пренебрегаемых игроков.
/neutral NICK - добавление пользователя в список нейтральных игроков.
+ /blacklist NICK - добавление пользователя в черный список.
/erase NICK - добавление пользователя в список удаляемых игроков.
/clear - очистка текущей страницы чата.
/createparty NAME - создание общества.
/me text - аналог команды /me из irc.
+ /serverignoreall - игнорировать все приваты на стороне сервера.
+ /serverunignoreall - снять игнорирование приватов на стороне сервера.
##PОтладка
@@ -59,7 +66,8 @@
/where - выводит в чат текущую позицию пользователя.
/cacheinfo - вывод информации о кеше текста.
/uptime - вывод времени работы клиента.
-
+ /dumpg - вывод графических настроек в чат.
+ /dirs - вывод директорий в отладочное окно.
##PКоманды приватов
##2
diff --git a/manaplus.cbp b/manaplus.cbp
index 3d9ddb4be..3c39ed68b 100644
--- a/manaplus.cbp
+++ b/manaplus.cbp
@@ -416,6 +416,7 @@
<Unit filename="src\keyboardconfig.h" />
<Unit filename="src\listener.cpp" />
<Unit filename="src\listener.h" />
+ <Unit filename="src\localconsts.h" />
<Unit filename="src\localplayer.cpp" />
<Unit filename="src\localplayer.h" />
<Unit filename="src\logger.cpp" />
diff --git a/po/LINGUAS b/po/LINGUAS
index 44b6e67b7..9d3dffda2 100644
--- a/po/LINGUAS
+++ b/po/LINGUAS
@@ -13,8 +13,8 @@ es
fi
fr
#he # Disabled because of current client limitations (RTL)
-hr
-hu
+#hr
+#hu
id
#it # Not enough translations
ja
diff --git a/po/cs.po b/po/cs.po
index 9fbfa2a0c..1cbe2d6e0 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR The ManaPlus Developers
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
# Andrei Karas <akaras@inbox.ru>, 2011.
# Pitriss <chytrex@wjake.com>, 2011.
@@ -10,80 +10,79 @@ msgid ""
msgstr ""
"Project-Id-Version: ManaPlus\n"
"Report-Msgid-Bugs-To: akaras@inbox.ru\n"
-"POT-Creation-Date: 2011-10-28 03:52+0300\n"
-"PO-Revision-Date: 2011-10-28 00:55+0000\n"
+"POT-Creation-Date: 2011-11-12 00:23+0300\n"
+"PO-Revision-Date: 2011-11-11 21:38+0000\n"
"Last-Translator: akaras <akaras@inbox.ru>\n"
-"Language-Team: Czech (http://www.transifex.net/projects/p/manaplus/team/"
-"cs/)\n"
-"Language: cs\n"
+"Language-Team: Czech (http://www.transifex.net/projects/p/manaplus/team/cs/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Language: cs\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2\n"
#: src/actorspritemanager.cpp:1171
msgid "Visible on map"
msgstr "Viditelný na mapě"
-#: src/being.cpp:548
+#: src/being.cpp:551
msgid "dodge"
msgstr "úskočil"
-#: src/being.cpp:548
+#: src/being.cpp:551
msgid "miss"
msgstr "minul"
#. TRANSLATORS: this away status writed in player nick
-#: src/being.cpp:1527
+#: src/being.cpp:1530
msgid "A"
msgstr ""
#. TRANSLATORS: this inactive status writed in player nick
-#: src/being.cpp:1532
+#: src/being.cpp:1535
msgid "I"
msgstr ""
-#: src/client.cpp:835 src/gui/setup.cpp:54 src/gui/windowmenu.cpp:100
+#: src/client.cpp:869 src/gui/setup.cpp:54 src/gui/windowmenu.cpp:100
msgid "Setup"
msgstr "Nastavení"
-#: src/client.cpp:842 src/gui/setup_perfomance.cpp:48
+#: src/client.cpp:876 src/gui/setup_perfomance.cpp:48
msgid "Perfomance"
msgstr "Výkon"
-#: src/client.cpp:847 src/gui/setup_video.cpp:315
+#: src/client.cpp:881 src/gui/setup_video.cpp:315
msgid "Video"
msgstr "Video"
-#: src/client.cpp:852
+#: src/client.cpp:886
msgid "Themes"
msgstr ""
-#: src/client.cpp:934
+#: src/client.cpp:968
msgid "Connecting to server"
msgstr "Připojuji se k serveru"
-#: src/client.cpp:965
+#: src/client.cpp:999
msgid "Logging in"
msgstr "Přihlašuji se"
-#: src/client.cpp:998
+#: src/client.cpp:1032
msgid "Entering game world"
msgstr "Vstupuji do herního světa"
-#: src/client.cpp:1098
+#: src/client.cpp:1132
msgid "Requesting characters"
msgstr "Požaduji postavy"
-#: src/client.cpp:1129
+#: src/client.cpp:1163
msgid "Connecting to the game server"
msgstr "Připojuji se k hernímu serveru"
-#: src/client.cpp:1139
+#: src/client.cpp:1173
msgid "Changing game servers"
msgstr "Zaměňuji herní servery"
-#: src/client.cpp:1182 src/client.cpp:1189 src/client.cpp:1323
+#: src/client.cpp:1216 src/client.cpp:1223 src/client.cpp:1357
#: src/gui/changeemaildialog.cpp:157 src/gui/changepassworddialog.cpp:147
#: src/gui/charcreatedialog.cpp:221 src/gui/charselectdialog.cpp:253
#: src/gui/register.cpp:228 src/gui/serverdialog.cpp:401
@@ -93,166 +92,170 @@ msgstr "Zaměňuji herní servery"
msgid "Error"
msgstr "Chyba"
-#: src/client.cpp:1198
+#: src/client.cpp:1232
msgid "Requesting registration details"
msgstr "Požaduji registrační detaily"
-#: src/client.cpp:1224
+#: src/client.cpp:1258
msgid "Password Change"
msgstr "Změna hesla"
-#: src/client.cpp:1225
+#: src/client.cpp:1259
msgid "Password changed successfully!"
msgstr "Heslo úspěšně změněno!"
-#: src/client.cpp:1244
+#: src/client.cpp:1278
msgid "Email Change"
msgstr "Změna emailu"
-#: src/client.cpp:1245
+#: src/client.cpp:1279
msgid "Email changed successfully!"
msgstr "Email úspěšně změněn!"
-#: src/client.cpp:1265
+#: src/client.cpp:1299
msgid "Unregister Successful"
msgstr "Zrušení registrace úspěšné"
-#: src/client.cpp:1266
+#: src/client.cpp:1300
msgid "Farewell, come back any time..."
msgstr "Nashledanou, vraťte se kdykoli..."
-#: src/client.cpp:1465 src/client.cpp:1495 src/client.cpp:1510
-#: src/client.cpp:1935 src/client.cpp:1942
+#: src/client.cpp:1499 src/client.cpp:1529 src/client.cpp:1544
+#: src/client.cpp:1969 src/client.cpp:1976
#, c-format
msgid "%s doesn't exist and can't be created! Exiting."
msgstr ""
-#: src/client.cpp:1641
+#: src/client.cpp:1675
#, c-format
msgid "Invalid update host: %s"
msgstr "Neplatný host updatů: %s"
-#: src/client.cpp:1675 src/client.cpp:1681
+#: src/client.cpp:1709 src/client.cpp:1715
msgid "Error creating updates directory!"
msgstr "Chyba při vytváření adresáře s updaty!"
-#: src/client.cpp:1702
+#: src/client.cpp:1736
#, c-format
msgid "Error: %s doesn't exist and can't be created! Exiting."
msgstr "Chyba: %s neexistuje a nelze ho vytvořit. Ukončuji."
-#: src/commandhandler.cpp:205
+#: src/commandhandler.cpp:209
msgid "Unknown command."
msgstr "Neznámý příkaz."
-#: src/commandhandler.cpp:304
+#: src/commandhandler.cpp:329
msgid "Cannot send empty whispers!"
msgstr "Nelze zaslat prázdné šeptání!"
-#: src/commandhandler.cpp:318
+#: src/commandhandler.cpp:343
#, c-format
msgid ""
-"Cannot create a whisper tab for nick \"%s\"! It either already exists, or is "
-"you."
+"Cannot create a whisper tab for nick \"%s\"! It either already exists, or is"
+" you."
msgstr ""
"Nelze vytvořit záložku se šeptáním pro \"%s\"! Buďto záložka existuje nebo "
"jsi to ty."
-#: src/commandhandler.cpp:338
+#: src/commandhandler.cpp:363
#, c-format
msgid "Requesting to join channel %s."
msgstr ""
-#: src/commandhandler.cpp:354 src/net/ea/gui/partytab.cpp:125
+#: src/commandhandler.cpp:379 src/net/ea/gui/partytab.cpp:125
msgid "Party name is missing."
msgstr "Chybí jméno party."
-#: src/commandhandler.cpp:365
+#: src/commandhandler.cpp:390
msgid "Guild name is missing."
msgstr "Chybí jméno guildy."
-#: src/commandhandler.cpp:378 src/commandhandler.cpp:496
-#: src/commandhandler.cpp:537 src/commandhandler.cpp:572
+#: src/commandhandler.cpp:403 src/commandhandler.cpp:521
+#: src/commandhandler.cpp:562 src/commandhandler.cpp:602
msgid "Please specify a name."
msgstr "Prosím zadej jméno."
-#: src/commandhandler.cpp:430
+#: src/commandhandler.cpp:455
msgid "Return toggles chat."
msgstr "Enter přepíná chat."
-#: src/commandhandler.cpp:430
+#: src/commandhandler.cpp:455
msgid "Message closes chat."
msgstr "Zpráva zavírá chat."
-#: src/commandhandler.cpp:441
+#: src/commandhandler.cpp:466
msgid "Return now toggles chat."
msgstr "Enter nyní přepíná chat."
-#: src/commandhandler.cpp:447
+#: src/commandhandler.cpp:472
msgid "Message now closes chat."
msgstr "Zpráva nyní ukončuje chat."
-#: src/commandhandler.cpp:475
+#: src/commandhandler.cpp:500
msgid "friend"
msgstr "přítel"
-#: src/commandhandler.cpp:480
+#: src/commandhandler.cpp:505
msgid "disregarded"
msgstr "přehlížený"
-#: src/commandhandler.cpp:485
+#: src/commandhandler.cpp:510
msgid "neutral"
msgstr "neutrální"
-#: src/commandhandler.cpp:504
+#: src/commandhandler.cpp:529
#, c-format
msgid "Player already %s!"
msgstr "Hráč je již %s!"
-#: src/commandhandler.cpp:518
+#: src/commandhandler.cpp:543
#, c-format
msgid "Player successfully %s!"
msgstr "Hráč byl úspěšně zařazen jako %s!"
-#: src/commandhandler.cpp:526
+#: src/commandhandler.cpp:551
#, c-format
msgid "Player could not be %s!"
msgstr "Hráč nemůže být zařazen jako %s!"
-#: src/commandhandler.cpp:549
+#: src/commandhandler.cpp:574
msgid "Player wasn't ignored!"
msgstr "Hráč nebyl ignorován!"
-#: src/commandhandler.cpp:556
+#: src/commandhandler.cpp:581
msgid "Player no longer ignored!"
msgstr "Hráč již není ignorován!"
-#: src/commandhandler.cpp:558
+#: src/commandhandler.cpp:583
msgid "Player could not be unignored!"
msgstr "Hráč nemůže být odignorován!"
-#: src/commandhandler.cpp:564
+#: src/commandhandler.cpp:589
msgid "blacklisted"
msgstr ""
-#: src/commandhandler.cpp:579
+#: src/commandhandler.cpp:594
+msgid "enemy"
+msgstr ""
+
+#: src/commandhandler.cpp:609
msgid "Player already erased!"
msgstr "Hráč již byl vymazán!"
-#: src/commandhandler.cpp:590
+#: src/commandhandler.cpp:620
msgid "Player successfully erased!"
msgstr "Hráč byl úspěšně vymazán!"
-#: src/commandhandler.cpp:592
+#: src/commandhandler.cpp:622
msgid "Player could not be erased!"
msgstr "Hráč nemůže být vymazán!"
-#: src/commandhandler.cpp:892 src/commandhandler.cpp:938
+#: src/commandhandler.cpp:929 src/commandhandler.cpp:975
#, c-format
msgid "Client uptime: %s"
msgstr "Doba běhu klienta: %s"
-#: src/commandhandler.cpp:902
+#: src/commandhandler.cpp:939
#, c-format
msgid "%d week"
msgid_plural "%d weeks"
@@ -260,7 +263,7 @@ msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
-#: src/commandhandler.cpp:911
+#: src/commandhandler.cpp:948
#, c-format
msgid "%d day"
msgid_plural "%d days"
@@ -268,7 +271,7 @@ msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
-#: src/commandhandler.cpp:919
+#: src/commandhandler.cpp:956
#, c-format
msgid "%d hour"
msgid_plural "%d hours"
@@ -276,7 +279,7 @@ msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
-#: src/commandhandler.cpp:927
+#: src/commandhandler.cpp:964
#, c-format
msgid "%d minute"
msgid_plural "%d minutes"
@@ -284,7 +287,7 @@ msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
-#: src/commandhandler.cpp:935
+#: src/commandhandler.cpp:972
#, c-format
msgid "%d second"
msgid_plural "%d seconds"
@@ -292,27 +295,27 @@ msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
-#: src/commandhandler.cpp:1014
+#: src/commandhandler.cpp:1051
msgid "font cache size"
msgstr "velikost chache fontů"
-#: src/commandhandler.cpp:1026
+#: src/commandhandler.cpp:1063
msgid "Cache size:"
msgstr "Velikost cache:"
-#: src/commandhandler.cpp:1030
+#: src/commandhandler.cpp:1067
msgid "Created:"
msgstr "Vytvořeno:"
-#: src/commandhandler.cpp:1032
+#: src/commandhandler.cpp:1069
msgid "Deleted:"
msgstr "Odstraněno:"
-#: src/commandhandler.cpp:1133 src/commandhandler.cpp:1140
+#: src/commandhandler.cpp:1171 src/commandhandler.cpp:1178
msgid "Resource images:"
msgstr ""
-#: src/commandhandler.cpp:1135 src/commandhandler.cpp:1142
+#: src/commandhandler.cpp:1173 src/commandhandler.cpp:1180
msgid "Resource orphaned images:"
msgstr ""
@@ -329,35 +332,35 @@ msgstr ""
msgid "Debug"
msgstr ""
-#: src/game.cpp:513
+#: src/game.cpp:506
msgid "Screenshot saved as "
msgstr "Snímky obrazovky ukládat jako "
-#: src/game.cpp:521
+#: src/game.cpp:514
msgid "Saving screenshot failed!"
msgstr "Ukládání snímku obrazovky selhalo!"
-#: src/game.cpp:560
+#: src/game.cpp:554
msgid "The connection to the server was lost."
msgstr "Spojení se serverem bylo ztraceno."
-#: src/game.cpp:572
+#: src/game.cpp:557
msgid "Network Error"
msgstr "Chyba sítě"
-#: src/game.cpp:1322
+#: src/game.cpp:1332
msgid "Ignoring incoming trade requests"
msgstr "Ignorovat příchozí žádosti o obchodování"
-#: src/game.cpp:1332
+#: src/game.cpp:1342
msgid "Accepting incoming trade requests"
msgstr "Akceptovat příchozí žádosti o obchodování"
-#: src/game.cpp:1732
+#: src/game.cpp:1750
msgid "Could Not Load Map"
msgstr "Nelze načíst mapu"
-#: src/game.cpp:1733
+#: src/game.cpp:1751
#, c-format
msgid "Error while loading %s"
msgstr "Chyba při načítání %s"
@@ -391,19 +394,19 @@ msgid "Name"
msgstr "Jméno"
#: src/gui/botcheckerwindow.cpp:297 src/gui/popupmenu.cpp:133
-#: src/gui/popupmenu.cpp:292 src/gui/popupmenu.cpp:614
+#: src/gui/popupmenu.cpp:303 src/gui/popupmenu.cpp:636
#: src/keyboardconfig.cpp:49 src/net/tmwa/generalhandler.cpp:269
msgid "Attack"
msgstr "Útok"
-#: src/gui/botcheckerwindow.cpp:298 src/gui/popupmenu.cpp:281
+#: src/gui/botcheckerwindow.cpp:298 src/gui/popupmenu.cpp:292
#: src/keyboardconfig.cpp:62
msgid "Talk"
msgstr "Mluvit"
-#: src/gui/botcheckerwindow.cpp:299 src/gui/popupmenu.cpp:253
-#: src/gui/popupmenu.cpp:285 src/gui/popupmenu.cpp:437
-#: src/gui/popupmenu.cpp:669 src/gui/popupmenu.cpp:756
+#: src/gui/botcheckerwindow.cpp:299 src/gui/popupmenu.cpp:264
+#: src/gui/popupmenu.cpp:296 src/gui/popupmenu.cpp:459
+#: src/gui/popupmenu.cpp:702 src/gui/popupmenu.cpp:789
msgid "Move"
msgstr ""
@@ -416,8 +419,8 @@ msgid "Reset"
msgstr "Vynulovat"
#: src/gui/buydialog.cpp:58 src/gui/buydialog.cpp:65 src/gui/buydialog.cpp:112
-#: src/gui/buyselldialog.cpp:65 src/gui/popupmenu.cpp:265
-#: src/gui/popupmenu.cpp:282 src/gui/popupmenu.cpp:681
+#: src/gui/buyselldialog.cpp:65 src/gui/popupmenu.cpp:276
+#: src/gui/popupmenu.cpp:293 src/gui/popupmenu.cpp:714
msgid "Buy"
msgstr "Nákup"
@@ -435,7 +438,7 @@ msgstr ""
#. You may change this symbol if your language uses another.
#: src/gui/buydialog.cpp:108 src/gui/itemamountwindow.cpp:207
#: src/gui/itemamountwindow.cpp:235 src/gui/npcdialog.cpp:114
-#: src/gui/selldialog.cpp:91 src/gui/statuswindow.cpp:977
+#: src/gui/selldialog.cpp:91 src/gui/statuswindow.cpp:998
msgid "+"
msgstr ""
@@ -443,7 +446,7 @@ msgstr ""
#. You may change this symbol if your language uses another.
#: src/gui/buydialog.cpp:111 src/gui/itemamountwindow.cpp:206
#: src/gui/itemamountwindow.cpp:234 src/gui/npcdialog.cpp:115
-#: src/gui/selldialog.cpp:92 src/gui/statuswindow.cpp:989
+#: src/gui/selldialog.cpp:92 src/gui/statuswindow.cpp:1010
msgid "-"
msgstr ""
@@ -455,8 +458,8 @@ msgid "Quit"
msgstr "Ukončit"
#: src/gui/buydialog.cpp:114 src/gui/selldialog.cpp:95
-#: src/gui/statuswindow.cpp:504 src/gui/statuswindow.cpp:554
-#: src/gui/statuswindow.cpp:976 src/gui/statuswindow.cpp:1007
+#: src/gui/statuswindow.cpp:505 src/gui/statuswindow.cpp:555
+#: src/gui/statuswindow.cpp:997 src/gui/statuswindow.cpp:1028
msgid "Max"
msgstr "Vše"
@@ -465,8 +468,8 @@ msgstr "Vše"
msgid "Shop"
msgstr "Obchod"
-#: src/gui/buyselldialog.cpp:65 src/gui/popupmenu.cpp:266
-#: src/gui/popupmenu.cpp:283 src/gui/popupmenu.cpp:682
+#: src/gui/buyselldialog.cpp:65 src/gui/popupmenu.cpp:277
+#: src/gui/popupmenu.cpp:294 src/gui/popupmenu.cpp:715
#: src/gui/selldialog.cpp:53 src/gui/selldialog.cpp:60
#: src/gui/selldialog.cpp:93
msgid "Sell"
@@ -475,15 +478,15 @@ msgstr "Prodej"
#: src/gui/buyselldialog.cpp:65 src/gui/changeemaildialog.cpp:59
#: src/gui/changepassworddialog.cpp:61 src/gui/charcreatedialog.cpp:96
#: src/gui/connectiondialog.cpp:47 src/gui/itemamountwindow.cpp:209
-#: src/gui/npcpostdialog.cpp:58 src/gui/popupmenu.cpp:333
-#: src/gui/popupmenu.cpp:354 src/gui/popupmenu.cpp:478
-#: src/gui/popupmenu.cpp:504 src/gui/popupmenu.cpp:528
-#: src/gui/popupmenu.cpp:541 src/gui/popupmenu.cpp:559
-#: src/gui/popupmenu.cpp:772 src/gui/popupmenu.cpp:796
-#: src/gui/popupmenu.cpp:1732 src/gui/popupmenu.cpp:1760
-#: src/gui/popupmenu.cpp:1816 src/gui/popupmenu.cpp:1861
-#: src/gui/popupmenu.cpp:1896 src/gui/popupmenu.cpp:1935
-#: src/gui/popupmenu.cpp:1987 src/gui/popupmenu.cpp:2007
+#: src/gui/npcpostdialog.cpp:58 src/gui/popupmenu.cpp:344
+#: src/gui/popupmenu.cpp:365 src/gui/popupmenu.cpp:500
+#: src/gui/popupmenu.cpp:526 src/gui/popupmenu.cpp:550
+#: src/gui/popupmenu.cpp:563 src/gui/popupmenu.cpp:581
+#: src/gui/popupmenu.cpp:805 src/gui/popupmenu.cpp:829
+#: src/gui/popupmenu.cpp:1775 src/gui/popupmenu.cpp:1803
+#: src/gui/popupmenu.cpp:1859 src/gui/popupmenu.cpp:1904
+#: src/gui/popupmenu.cpp:1939 src/gui/popupmenu.cpp:1978
+#: src/gui/popupmenu.cpp:2030 src/gui/popupmenu.cpp:2050
#: src/gui/quitdialog.cpp:55 src/gui/register.cpp:82 src/gui/setup.cpp:72
#: src/gui/socialwindow.cpp:1077 src/gui/textcommandeditor.cpp:241
#: src/gui/textdialog.cpp:51 src/gui/unregisterdialog.cpp:59
@@ -654,7 +657,7 @@ msgid "Enter password:"
msgstr "Zadej heslo:"
#: src/gui/charselectdialog.cpp:410 src/gui/serverdialog.cpp:298
-#: src/gui/setup_relations.cpp:243 src/gui/shopwindow.cpp:122
+#: src/gui/setup_relations.cpp:244 src/gui/shopwindow.cpp:122
#: src/gui/shopwindow.cpp:125 src/gui/textcommandeditor.cpp:244
msgid "Delete"
msgstr "Smazat"
@@ -730,8 +733,9 @@ msgstr "duhová 3"
#: src/gui/chatwindow.cpp:142 src/gui/inventorywindow.cpp:90
#: src/gui/itemamountwindow.cpp:93 src/gui/logindialog.cpp:78
-#: src/gui/setup_relations.cpp:221 src/gui/setup_theme.cpp:73
-#: src/gui/setup_theme.cpp:127 src/gui/setup_video.cpp:211
+#: src/gui/setup_joystick.cpp:60 src/gui/setup_relations.cpp:222
+#: src/gui/setup_theme.cpp:74 src/gui/setup_theme.cpp:128
+#: src/gui/setup_theme.cpp:173 src/gui/setup_video.cpp:211
#: src/gui/textcommandeditor.cpp:102 src/gui/textcommandeditor.cpp:141
#: src/gui/textcommandeditor.cpp:160
msgid "???"
@@ -741,12 +745,12 @@ msgstr "???"
msgid "Chat"
msgstr "Chat"
-#: src/gui/chatwindow.cpp:613
+#: src/gui/chatwindow.cpp:615
#, c-format
msgid "Present: %s; %d players are present."
msgstr "Přítomno: %s; %d hráčů je přítomno."
-#: src/gui/chatwindow.cpp:1000
+#: src/gui/chatwindow.cpp:1002
#, c-format
msgid "Whispering to %s: %s"
msgstr "Šeptání pro %s: %s"
@@ -760,10 +764,12 @@ msgid "No"
msgstr "Ne"
#: src/gui/confirmdialog.cpp:52 src/gui/popupmenu.cpp:146
-#: src/gui/popupmenu.cpp:153 src/gui/popupmenu.cpp:161
-#: src/gui/popupmenu.cpp:380 src/gui/popupmenu.cpp:387
-#: src/gui/popupmenu.cpp:395 src/gui/popupmenu.cpp:626
-#: src/gui/popupmenu.cpp:633 src/gui/popupmenu.cpp:641
+#: src/gui/popupmenu.cpp:154 src/gui/popupmenu.cpp:163
+#: src/gui/popupmenu.cpp:171 src/gui/popupmenu.cpp:391
+#: src/gui/popupmenu.cpp:399 src/gui/popupmenu.cpp:408
+#: src/gui/popupmenu.cpp:427 src/gui/popupmenu.cpp:648
+#: src/gui/popupmenu.cpp:656 src/gui/popupmenu.cpp:665
+#: src/gui/popupmenu.cpp:679
msgid "Ignore"
msgstr "Ignorovat"
@@ -909,7 +915,7 @@ msgstr "Víte že ... ?"
#: src/gui/didyouknowwindow.cpp:63 src/gui/helpwindow.cpp:59
#: src/gui/inventorywindow.cpp:205 src/gui/npcdialog.cpp:53
-#: src/gui/popupmenu.cpp:574 src/gui/shopwindow.cpp:113
+#: src/gui/popupmenu.cpp:596 src/gui/shopwindow.cpp:113
msgid "Close"
msgstr "Zavřít"
@@ -936,8 +942,8 @@ msgstr "Vybavení"
#: src/gui/equipmentwindow.cpp:95 src/gui/inventorywindow.cpp:160
#: src/gui/inventorywindow.cpp:545 src/gui/inventorywindow.cpp:554
-#: src/gui/popupmenu.cpp:1694 src/gui/popupmenu.cpp:1786
-#: src/gui/popupmenu.cpp:1831
+#: src/gui/popupmenu.cpp:1737 src/gui/popupmenu.cpp:1829
+#: src/gui/popupmenu.cpp:1874
msgid "Unequip"
msgstr "Odstranit z vybavení"
@@ -979,31 +985,31 @@ msgid "Filter:"
msgstr "Filtr:"
#: src/gui/inventorywindow.cpp:158 src/gui/inventorywindow.cpp:547
-#: src/gui/inventorywindow.cpp:556 src/gui/popupmenu.cpp:1696
-#: src/gui/popupmenu.cpp:1788 src/gui/popupmenu.cpp:1833
+#: src/gui/inventorywindow.cpp:556 src/gui/popupmenu.cpp:1739
+#: src/gui/popupmenu.cpp:1831 src/gui/popupmenu.cpp:1876
msgid "Equip"
msgstr "Vybavit"
#: src/gui/inventorywindow.cpp:159 src/gui/inventorywindow.cpp:548
-#: src/gui/inventorywindow.cpp:552 src/gui/popupmenu.cpp:1700
-#: src/gui/popupmenu.cpp:1755 src/gui/popupmenu.cpp:1792
-#: src/gui/popupmenu.cpp:1837
+#: src/gui/inventorywindow.cpp:552 src/gui/popupmenu.cpp:1743
+#: src/gui/popupmenu.cpp:1798 src/gui/popupmenu.cpp:1835
+#: src/gui/popupmenu.cpp:1880
msgid "Use"
msgstr "Použít"
#: src/gui/inventorywindow.cpp:173 src/gui/inventorywindow.cpp:652
-#: src/gui/popupmenu.cpp:1705 src/gui/popupmenu.cpp:1797
-#: src/gui/popupmenu.cpp:1842
+#: src/gui/popupmenu.cpp:1748 src/gui/popupmenu.cpp:1840
+#: src/gui/popupmenu.cpp:1885
msgid "Drop..."
msgstr "Upustit..."
-#: src/gui/inventorywindow.cpp:174 src/gui/popupmenu.cpp:1714
-#: src/gui/popupmenu.cpp:1806 src/gui/popupmenu.cpp:1851
+#: src/gui/inventorywindow.cpp:174 src/gui/popupmenu.cpp:1757
+#: src/gui/popupmenu.cpp:1849 src/gui/popupmenu.cpp:1894
msgid "Split"
msgstr "Rozdělit"
#: src/gui/inventorywindow.cpp:175 src/gui/outfitwindow.cpp:60
-#: src/gui/popupmenu.cpp:537
+#: src/gui/popupmenu.cpp:559
msgid "Outfits"
msgstr "Výstroje"
@@ -1012,17 +1018,17 @@ msgid "Weight:"
msgstr "Hmotnost:"
#: src/gui/inventorywindow.cpp:203 src/gui/inventorywindow.cpp:643
-#: src/gui/popupmenu.cpp:1680 src/gui/popupmenu.cpp:1809
-#: src/gui/popupmenu.cpp:1854 src/gui/setup.cpp:73
+#: src/gui/popupmenu.cpp:1723 src/gui/popupmenu.cpp:1852
+#: src/gui/popupmenu.cpp:1897 src/gui/setup.cpp:73
msgid "Store"
msgstr "Uložit"
-#: src/gui/inventorywindow.cpp:204 src/gui/popupmenu.cpp:1721
+#: src/gui/inventorywindow.cpp:204 src/gui/popupmenu.cpp:1764
msgid "Retrieve"
msgstr "Vzít"
-#: src/gui/inventorywindow.cpp:654 src/gui/popupmenu.cpp:1710
-#: src/gui/popupmenu.cpp:1802 src/gui/popupmenu.cpp:1847
+#: src/gui/inventorywindow.cpp:654 src/gui/popupmenu.cpp:1753
+#: src/gui/popupmenu.cpp:1845 src/gui/popupmenu.cpp:1890
#: src/gui/windowmenu.cpp:97
msgid "Drop"
msgstr "Upustit"
@@ -1264,7 +1270,7 @@ msgstr "Odeslat"
msgid "NPC"
msgstr "NPC"
-#: src/gui/npcdialog.cpp:108 src/gui/popupmenu.cpp:576
+#: src/gui/npcdialog.cpp:108 src/gui/popupmenu.cpp:598
msgid "Clear"
msgstr "Vyprázdnit"
@@ -1302,331 +1308,347 @@ msgstr "Nejdřív odstrojit"
msgid "Away outfit"
msgstr "Výstroj pro \"Away\""
-#: src/gui/popupmenu.cpp:132 src/gui/popupmenu.cpp:613
+#: src/gui/popupmenu.cpp:132 src/gui/popupmenu.cpp:635
#: src/gui/widgets/tradetab.cpp:44
msgid "Trade"
msgstr "Obchod"
-#: src/gui/popupmenu.cpp:134 src/gui/popupmenu.cpp:372
+#: src/gui/popupmenu.cpp:134 src/gui/popupmenu.cpp:383
msgid "Whisper"
msgstr "Šeptat"
-#: src/gui/popupmenu.cpp:138 src/gui/popupmenu.cpp:618
+#: src/gui/popupmenu.cpp:138 src/gui/popupmenu.cpp:640
msgid "Heal"
msgstr "Vyléčit"
-#: src/gui/popupmenu.cpp:144 src/gui/popupmenu.cpp:378
-#: src/gui/popupmenu.cpp:624
+#: src/gui/popupmenu.cpp:144 src/gui/popupmenu.cpp:389
+#: src/gui/popupmenu.cpp:646
msgid "Be friend"
msgstr "Být přátelé"
-#: src/gui/popupmenu.cpp:145 src/gui/popupmenu.cpp:152
-#: src/gui/popupmenu.cpp:160 src/gui/popupmenu.cpp:178
-#: src/gui/popupmenu.cpp:379 src/gui/popupmenu.cpp:386
-#: src/gui/popupmenu.cpp:394 src/gui/popupmenu.cpp:412
-#: src/gui/popupmenu.cpp:625 src/gui/popupmenu.cpp:632
-#: src/gui/popupmenu.cpp:640 src/gui/popupmenu.cpp:658
+#: src/gui/popupmenu.cpp:145 src/gui/popupmenu.cpp:153
+#: src/gui/popupmenu.cpp:162 src/gui/popupmenu.cpp:170
+#: src/gui/popupmenu.cpp:189 src/gui/popupmenu.cpp:390
+#: src/gui/popupmenu.cpp:398 src/gui/popupmenu.cpp:407
+#: src/gui/popupmenu.cpp:426 src/gui/popupmenu.cpp:434
+#: src/gui/popupmenu.cpp:647 src/gui/popupmenu.cpp:655
+#: src/gui/popupmenu.cpp:664 src/gui/popupmenu.cpp:678
+#: src/gui/popupmenu.cpp:691
msgid "Disregard"
msgstr "Přehlížet"
-#: src/gui/popupmenu.cpp:147 src/gui/popupmenu.cpp:154
-#: src/gui/popupmenu.cpp:381 src/gui/popupmenu.cpp:388
-#: src/gui/popupmenu.cpp:627 src/gui/popupmenu.cpp:634
+#: src/gui/popupmenu.cpp:147 src/gui/popupmenu.cpp:155
+#: src/gui/popupmenu.cpp:172 src/gui/popupmenu.cpp:392
+#: src/gui/popupmenu.cpp:400 src/gui/popupmenu.cpp:428
+#: src/gui/popupmenu.cpp:649 src/gui/popupmenu.cpp:657
+#: src/gui/popupmenu.cpp:680
msgid "Black list"
msgstr ""
-#: src/gui/popupmenu.cpp:148 src/gui/popupmenu.cpp:155
-#: src/gui/popupmenu.cpp:162 src/gui/popupmenu.cpp:168
-#: src/gui/popupmenu.cpp:173 src/gui/popupmenu.cpp:382
-#: src/gui/popupmenu.cpp:389 src/gui/popupmenu.cpp:396
-#: src/gui/popupmenu.cpp:402 src/gui/popupmenu.cpp:407
-#: src/gui/popupmenu.cpp:628 src/gui/popupmenu.cpp:635
-#: src/gui/popupmenu.cpp:642 src/gui/popupmenu.cpp:648
-#: src/gui/popupmenu.cpp:653
+#: src/gui/popupmenu.cpp:148 src/gui/popupmenu.cpp:156
+#: src/gui/popupmenu.cpp:164 src/gui/popupmenu.cpp:393
+#: src/gui/popupmenu.cpp:401 src/gui/popupmenu.cpp:409
+#: src/gui/popupmenu.cpp:650 src/gui/popupmenu.cpp:658
+#: src/gui/popupmenu.cpp:666
+msgid "Set as enemy"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:149 src/gui/popupmenu.cpp:157
+#: src/gui/popupmenu.cpp:165 src/gui/popupmenu.cpp:173
+#: src/gui/popupmenu.cpp:179 src/gui/popupmenu.cpp:184
+#: src/gui/popupmenu.cpp:394 src/gui/popupmenu.cpp:402
+#: src/gui/popupmenu.cpp:410 src/gui/popupmenu.cpp:416
+#: src/gui/popupmenu.cpp:421 src/gui/popupmenu.cpp:429
+#: src/gui/popupmenu.cpp:651 src/gui/popupmenu.cpp:659
+#: src/gui/popupmenu.cpp:667 src/gui/popupmenu.cpp:673
+#: src/gui/popupmenu.cpp:681 src/gui/popupmenu.cpp:686
msgid "Erase"
msgstr "Vymazat"
-#: src/gui/popupmenu.cpp:159 src/gui/popupmenu.cpp:166
-#: src/gui/popupmenu.cpp:172 src/gui/popupmenu.cpp:177
-#: src/gui/popupmenu.cpp:393 src/gui/popupmenu.cpp:400
-#: src/gui/popupmenu.cpp:406 src/gui/popupmenu.cpp:411
-#: src/gui/popupmenu.cpp:639 src/gui/popupmenu.cpp:646
-#: src/gui/popupmenu.cpp:652 src/gui/popupmenu.cpp:657
+#: src/gui/popupmenu.cpp:161 src/gui/popupmenu.cpp:169
+#: src/gui/popupmenu.cpp:177 src/gui/popupmenu.cpp:183
+#: src/gui/popupmenu.cpp:188 src/gui/popupmenu.cpp:406
+#: src/gui/popupmenu.cpp:414 src/gui/popupmenu.cpp:420
+#: src/gui/popupmenu.cpp:425 src/gui/popupmenu.cpp:433
+#: src/gui/popupmenu.cpp:663 src/gui/popupmenu.cpp:671
+#: src/gui/popupmenu.cpp:677 src/gui/popupmenu.cpp:685
+#: src/gui/popupmenu.cpp:690
msgid "Unignore"
msgstr "Odignorovat"
-#: src/gui/popupmenu.cpp:167 src/gui/popupmenu.cpp:179
-#: src/gui/popupmenu.cpp:401 src/gui/popupmenu.cpp:413
-#: src/gui/popupmenu.cpp:647 src/gui/popupmenu.cpp:659
-#: src/playerrelations.cpp:421
+#: src/gui/popupmenu.cpp:178 src/gui/popupmenu.cpp:190
+#: src/gui/popupmenu.cpp:415 src/gui/popupmenu.cpp:435
+#: src/gui/popupmenu.cpp:672 src/gui/popupmenu.cpp:692
+#: src/playerrelations.cpp:446
msgid "Completely ignore"
msgstr "Kompletně ignorovat"
-#: src/gui/popupmenu.cpp:187 src/gui/popupmenu.cpp:421
-#: src/gui/popupmenu.cpp:667 src/gui/popupmenu.cpp:746
+#: src/gui/popupmenu.cpp:198 src/gui/popupmenu.cpp:443
+#: src/gui/popupmenu.cpp:700 src/gui/popupmenu.cpp:779
msgid "Follow"
msgstr "Následovat"
-#: src/gui/popupmenu.cpp:188 src/gui/popupmenu.cpp:422
-#: src/gui/popupmenu.cpp:668 src/gui/popupmenu.cpp:747
+#: src/gui/popupmenu.cpp:199 src/gui/popupmenu.cpp:444
+#: src/gui/popupmenu.cpp:701 src/gui/popupmenu.cpp:780
msgid "Imitation"
msgstr "imitovat"
-#: src/gui/popupmenu.cpp:197 src/gui/popupmenu.cpp:700
+#: src/gui/popupmenu.cpp:208 src/gui/popupmenu.cpp:733
msgid "Invite to party"
msgstr "Pozvat do party"
-#: src/gui/popupmenu.cpp:202 src/gui/popupmenu.cpp:433
-#: src/gui/popupmenu.cpp:705
+#: src/gui/popupmenu.cpp:213 src/gui/popupmenu.cpp:455
+#: src/gui/popupmenu.cpp:738
msgid "Kick from party"
msgstr "Vykopnout z party"
-#: src/gui/popupmenu.cpp:217 src/gui/popupmenu.cpp:229
-#: src/gui/popupmenu.cpp:450 src/gui/popupmenu.cpp:722
+#: src/gui/popupmenu.cpp:228 src/gui/popupmenu.cpp:240
+#: src/gui/popupmenu.cpp:472 src/gui/popupmenu.cpp:755
msgid "Kick from guild"
msgstr "Vykopnout z gildy"
-#: src/gui/popupmenu.cpp:222 src/gui/popupmenu.cpp:234
-#: src/gui/popupmenu.cpp:455 src/gui/popupmenu.cpp:727
+#: src/gui/popupmenu.cpp:233 src/gui/popupmenu.cpp:245
+#: src/gui/popupmenu.cpp:477 src/gui/popupmenu.cpp:760
msgid "Change pos in guild"
msgstr "Změnit pozici v gildě"
-#: src/gui/popupmenu.cpp:242 src/gui/popupmenu.cpp:463
-#: src/gui/popupmenu.cpp:736
+#: src/gui/popupmenu.cpp:253 src/gui/popupmenu.cpp:485
+#: src/gui/popupmenu.cpp:769
msgid "Invite to guild"
msgstr "Pozvat do gildy"
-#: src/gui/popupmenu.cpp:250
+#: src/gui/popupmenu.cpp:261
msgid "Kick player"
msgstr "Vykopnout hráče"
-#: src/gui/popupmenu.cpp:252
+#: src/gui/popupmenu.cpp:263
msgid "Nuke"
msgstr ""
-#: src/gui/popupmenu.cpp:254 src/gui/popupmenu.cpp:670
-#: src/gui/popupmenu.cpp:759
+#: src/gui/popupmenu.cpp:265 src/gui/popupmenu.cpp:703
+#: src/gui/popupmenu.cpp:792
msgid "Show Items"
msgstr "Zobrazit věci"
-#: src/gui/popupmenu.cpp:255 src/gui/popupmenu.cpp:671
-#: src/gui/popupmenu.cpp:760 src/gui/popupmenu.cpp:2004
+#: src/gui/popupmenu.cpp:266 src/gui/popupmenu.cpp:704
+#: src/gui/popupmenu.cpp:793 src/gui/popupmenu.cpp:2047
msgid "Undress"
msgstr "Svléct"
-#: src/gui/popupmenu.cpp:256 src/gui/popupmenu.cpp:286
-#: src/gui/popupmenu.cpp:423 src/gui/popupmenu.cpp:672
-#: src/gui/popupmenu.cpp:761
+#: src/gui/popupmenu.cpp:267 src/gui/popupmenu.cpp:297
+#: src/gui/popupmenu.cpp:445 src/gui/popupmenu.cpp:705
+#: src/gui/popupmenu.cpp:794
msgid "Add comment"
msgstr "Přidat komentář"
-#: src/gui/popupmenu.cpp:271 src/gui/popupmenu.cpp:471
-#: src/gui/popupmenu.cpp:687 src/gui/popupmenu.cpp:766
+#: src/gui/popupmenu.cpp:282 src/gui/popupmenu.cpp:493
+#: src/gui/popupmenu.cpp:720 src/gui/popupmenu.cpp:799
msgid "Buy (?)"
msgstr "Koupit (?)"
-#: src/gui/popupmenu.cpp:272 src/gui/popupmenu.cpp:472
-#: src/gui/popupmenu.cpp:688 src/gui/popupmenu.cpp:767
+#: src/gui/popupmenu.cpp:283 src/gui/popupmenu.cpp:494
+#: src/gui/popupmenu.cpp:721 src/gui/popupmenu.cpp:800
msgid "Sell (?)"
msgstr "Prodat (?)"
-#: src/gui/popupmenu.cpp:297
+#: src/gui/popupmenu.cpp:308
msgid "Kick"
msgstr "Vykopnout"
-#: src/gui/popupmenu.cpp:308
+#: src/gui/popupmenu.cpp:319
msgid "Remove from attack list"
msgstr ""
-#: src/gui/popupmenu.cpp:313
+#: src/gui/popupmenu.cpp:324
msgid "Add to priority attack list"
msgstr ""
-#: src/gui/popupmenu.cpp:315
+#: src/gui/popupmenu.cpp:326
msgid "Add to attack list"
msgstr ""
-#: src/gui/popupmenu.cpp:317
+#: src/gui/popupmenu.cpp:328
msgid "Add to ignore list"
msgstr "Vložit do seznamu ignorovaných"
-#: src/gui/popupmenu.cpp:330 src/gui/popupmenu.cpp:475
+#: src/gui/popupmenu.cpp:341 src/gui/popupmenu.cpp:497
msgid "Add name to chat"
msgstr "Vložit jméno do chatu"
-#: src/gui/popupmenu.cpp:500
+#: src/gui/popupmenu.cpp:522
msgid "Pick up"
msgstr "Sebrat"
-#: src/gui/popupmenu.cpp:501 src/gui/popupmenu.cpp:1730
-#: src/gui/popupmenu.cpp:1810 src/gui/popupmenu.cpp:1855
+#: src/gui/popupmenu.cpp:523 src/gui/popupmenu.cpp:1773
+#: src/gui/popupmenu.cpp:1853 src/gui/popupmenu.cpp:1898
msgid "Add to chat"
msgstr "Vložit do chatu"
-#: src/gui/popupmenu.cpp:518
+#: src/gui/popupmenu.cpp:540
msgid "Map Item"
msgstr "Označit na mapě"
-#: src/gui/popupmenu.cpp:519
+#: src/gui/popupmenu.cpp:541
msgid "Rename"
msgstr "Přejmenovat"
-#: src/gui/popupmenu.cpp:520 src/gui/popupmenu.cpp:1965
-#: src/gui/popupmenu.cpp:1976 src/gui/popupmenu.cpp:1980
+#: src/gui/popupmenu.cpp:542 src/gui/popupmenu.cpp:2008
+#: src/gui/popupmenu.cpp:2019 src/gui/popupmenu.cpp:2023
msgid "Remove"
msgstr "Odebrat"
-#: src/gui/popupmenu.cpp:525
+#: src/gui/popupmenu.cpp:547
msgid "Warp"
msgstr ""
-#: src/gui/popupmenu.cpp:538
+#: src/gui/popupmenu.cpp:560
msgid "Load old outfits"
msgstr "Načíst staré výstroje"
-#: src/gui/popupmenu.cpp:554 src/gui/windowmenu.cpp:96
+#: src/gui/popupmenu.cpp:576 src/gui/windowmenu.cpp:96
msgid "Spells"
msgstr "Kouzla"
-#: src/gui/popupmenu.cpp:555
+#: src/gui/popupmenu.cpp:577
msgid "Load old spells"
msgstr "Načíst stará kouzla"
-#: src/gui/popupmenu.cpp:556
+#: src/gui/popupmenu.cpp:578
msgid "Edit spell"
msgstr "Upravit kouzlo"
-#: src/gui/popupmenu.cpp:580
+#: src/gui/popupmenu.cpp:602
msgid "Disable highlight"
msgstr "vypnout zvýrazǒvání"
-#: src/gui/popupmenu.cpp:582
+#: src/gui/popupmenu.cpp:604
msgid "Enable highlight"
msgstr "Zapnout zvýrazňování"
-#: src/gui/popupmenu.cpp:584
+#: src/gui/popupmenu.cpp:606
msgid "Don't remove name"
msgstr "Neodebírat jméno"
-#: src/gui/popupmenu.cpp:586
+#: src/gui/popupmenu.cpp:608
msgid "Remove name"
msgstr "Odebrat jméno"
-#: src/gui/popupmenu.cpp:588
+#: src/gui/popupmenu.cpp:610
msgid "Enable away"
msgstr "Zapnout \"away\""
-#: src/gui/popupmenu.cpp:590
+#: src/gui/popupmenu.cpp:612
msgid "Disable away"
msgstr "Vypnout \"away\""
-#: src/gui/popupmenu.cpp:595 src/gui/socialwindow.cpp:1141
+#: src/gui/popupmenu.cpp:617 src/gui/socialwindow.cpp:1141
msgid "Leave"
msgstr "Odejít"
-#: src/gui/popupmenu.cpp:780
+#: src/gui/popupmenu.cpp:813
msgid "Change guild position"
msgstr ""
#. TRANSLATORS: number of chars in string should be near original
-#: src/gui/popupmenu.cpp:1243
+#: src/gui/popupmenu.cpp:1286
msgid "Rename map sign "
msgstr "Přejmenovat značku an mapě"
#. TRANSLATORS: number of chars in string should be near original
-#: src/gui/popupmenu.cpp:1245
+#: src/gui/popupmenu.cpp:1288
msgid "Name: "
msgstr "Jméno: "
#. TRANSLATORS: number of chars in string should be near original
-#: src/gui/popupmenu.cpp:1295
+#: src/gui/popupmenu.cpp:1338
msgid "Player comment "
msgstr "Hráčův komentář"
#. TRANSLATORS: number of chars in string should be near original
-#: src/gui/popupmenu.cpp:1297
+#: src/gui/popupmenu.cpp:1340
msgid "Comment: "
msgstr "Komentář: "
-#: src/gui/popupmenu.cpp:1668
+#: src/gui/popupmenu.cpp:1711
msgid "Add to trade"
msgstr "Přidat do transakce"
-#: src/gui/popupmenu.cpp:1672
+#: src/gui/popupmenu.cpp:1715
msgid "Add to trade 10"
msgstr "Přidat 10 do transakce"
-#: src/gui/popupmenu.cpp:1673
+#: src/gui/popupmenu.cpp:1716
msgid "Add to trade half"
msgstr "Přidat polovinu do transakce"
-#: src/gui/popupmenu.cpp:1674
+#: src/gui/popupmenu.cpp:1717
msgid "Add to trade all"
msgstr "Přidat vše do transakce"
-#: src/gui/popupmenu.cpp:1684
+#: src/gui/popupmenu.cpp:1727
msgid "Store 10"
msgstr "Uschovat 10"
-#: src/gui/popupmenu.cpp:1685
+#: src/gui/popupmenu.cpp:1728
msgid "Store half"
msgstr "Uschovat polovinu"
-#: src/gui/popupmenu.cpp:1686
+#: src/gui/popupmenu.cpp:1729
msgid "Store all"
msgstr "Uschovat všechny"
-#: src/gui/popupmenu.cpp:1706 src/gui/popupmenu.cpp:1798
-#: src/gui/popupmenu.cpp:1843
+#: src/gui/popupmenu.cpp:1749 src/gui/popupmenu.cpp:1841
+#: src/gui/popupmenu.cpp:1886
msgid "Drop all"
msgstr "Upustit vše"
-#: src/gui/popupmenu.cpp:1725
+#: src/gui/popupmenu.cpp:1768
msgid "Retrieve 10"
msgstr "Vzít 10"
-#: src/gui/popupmenu.cpp:1726
+#: src/gui/popupmenu.cpp:1769
msgid "Retrieve half"
msgstr "Vzít polovinu"
-#: src/gui/popupmenu.cpp:1727
+#: src/gui/popupmenu.cpp:1770
msgid "Retrieve all"
msgstr "Vzít všechny"
-#: src/gui/popupmenu.cpp:1758 src/gui/popupmenu.cpp:1814
+#: src/gui/popupmenu.cpp:1801 src/gui/popupmenu.cpp:1857
msgid "Load old item shortcuts"
msgstr "Načíst staré zkratky věcí"
-#: src/gui/popupmenu.cpp:1859
+#: src/gui/popupmenu.cpp:1902
msgid "Load old drop shortcuts"
msgstr "Načíst staré zkratky upuštění"
-#: src/gui/popupmenu.cpp:1885 src/gui/popupmenu.cpp:1920
+#: src/gui/popupmenu.cpp:1928 src/gui/popupmenu.cpp:1963
msgid "Hide"
msgstr "Skrýt"
-#: src/gui/popupmenu.cpp:1891 src/gui/popupmenu.cpp:1926
+#: src/gui/popupmenu.cpp:1934 src/gui/popupmenu.cpp:1969
msgid "Show"
msgstr "Zobrazit"
-#: src/gui/popupmenu.cpp:1932
+#: src/gui/popupmenu.cpp:1975
msgid "Reset yellow bar"
msgstr "Resetovat žlutý pruh"
-#: src/gui/popupmenu.cpp:1934 src/gui/statuswindow.cpp:241
+#: src/gui/popupmenu.cpp:1977 src/gui/statuswindow.cpp:242
msgid "Copy to chat"
msgstr "Zkopírovat do chatu"
-#: src/gui/popupmenu.cpp:1952 src/gui/socialwindow.cpp:958
+#: src/gui/popupmenu.cpp:1995 src/gui/setup_theme.cpp:88
+#: src/gui/setup_theme.cpp:145 src/gui/socialwindow.cpp:958
#: src/gui/socialwindow.cpp:993 src/gui/socialwindow.cpp:1028
msgid "(default)"
msgstr ""
-#: src/gui/popupmenu.cpp:1962 src/gui/popupmenu.cpp:1973
+#: src/gui/popupmenu.cpp:2005 src/gui/popupmenu.cpp:2016
msgid "Move up"
msgstr "Posunout nahoru"
-#: src/gui/popupmenu.cpp:1964 src/gui/popupmenu.cpp:1975
+#: src/gui/popupmenu.cpp:2007 src/gui/popupmenu.cpp:2018
msgid "Move down"
msgstr "Posunout dolů"
@@ -1940,28 +1962,32 @@ msgstr "Použít"
msgid "Reset Windows"
msgstr "Resetovat okna"
-#: src/gui/setup_joystick.cpp:40 src/gui/setup_joystick.cpp:79
+#: src/gui/setup_joystick.cpp:70 src/gui/setup_joystick.cpp:142
msgid "Press the button to start calibration"
msgstr "Stiskněte tlačítko pro zahájení kalibrace"
-#: src/gui/setup_joystick.cpp:41 src/gui/setup_joystick.cpp:77
+#: src/gui/setup_joystick.cpp:71 src/gui/setup_joystick.cpp:140
msgid "Calibrate"
msgstr "Kalibrovat"
-#: src/gui/setup_joystick.cpp:42
+#: src/gui/setup_joystick.cpp:72
msgid "Enable joystick"
msgstr "Zapnout joystick"
-#: src/gui/setup_joystick.cpp:44
+#: src/gui/setup_joystick.cpp:75
+msgid "Use joystick if client window inactive"
+msgstr ""
+
+#: src/gui/setup_joystick.cpp:78
msgid "Joystick"
msgstr "Joystick"
-#: src/gui/setup_joystick.cpp:84
+#: src/gui/setup_joystick.cpp:147
msgid "Stop"
msgstr "Zastavit"
-#: src/gui/setup_joystick.cpp:85
-msgid "Rotate the stick"
+#: src/gui/setup_joystick.cpp:149
+msgid "Rotate the stick and dont press buttons"
msgstr ""
#: src/gui/setup_keyboard.cpp:80
@@ -2145,22 +2171,22 @@ msgid "Enable bot checker"
msgstr "Zapnout ověřovač botů"
#: src/gui/setup_other.cpp:174
-msgid "Enable buggy servers protection"
-msgstr "Zapnout ochranu proti vadným serverům"
+msgid "Enable buggy servers protection (do not disable)"
+msgstr ""
-#: src/gui/setup_other.cpp:177
+#: src/gui/setup_other.cpp:178
msgid "Enable debug log"
msgstr "Zapnout debug záznam"
-#: src/gui/setup_other.cpp:180
+#: src/gui/setup_other.cpp:181
msgid "Low traffic mode"
msgstr "Mód nízké síťvé náročnosti"
-#: src/gui/setup_other.cpp:183
+#: src/gui/setup_other.cpp:184
msgid "Hide shield sprite"
msgstr "Skrýt zobrazení štítu"
-#: src/gui/setup_other.cpp:186
+#: src/gui/setup_other.cpp:187
msgid "Show background"
msgstr "Zobrazit pozadí"
@@ -2288,91 +2314,151 @@ msgstr "Vymazán"
msgid "Blacklisted"
msgstr ""
-#: src/gui/setup_relations.cpp:239
+#: src/gui/setup_relations.cpp:76
+msgid "Enemy"
+msgstr ""
+
+#: src/gui/setup_relations.cpp:240
msgid "Allow trading"
msgstr "Povolit obchodování"
-#: src/gui/setup_relations.cpp:241
+#: src/gui/setup_relations.cpp:242
msgid "Allow whispers"
msgstr "Povolit šeptání"
-#: src/gui/setup_relations.cpp:244
+#: src/gui/setup_relations.cpp:245
msgid "Old"
msgstr "Starý"
-#: src/gui/setup_relations.cpp:246
+#: src/gui/setup_relations.cpp:247
msgid "Relations"
msgstr "Vztahy"
-#: src/gui/setup_relations.cpp:271
+#: src/gui/setup_relations.cpp:272
msgid "When ignoring:"
msgstr "Když ignoruji:"
-#: src/gui/setup_theme.cpp:107
+#: src/gui/setup_theme.cpp:108
msgid "Tiny (10)"
msgstr "Mrňavý (10)"
-#: src/gui/setup_theme.cpp:108
+#: src/gui/setup_theme.cpp:109
msgid "Small (11)"
msgstr "Malý (11)"
-#: src/gui/setup_theme.cpp:109
+#: src/gui/setup_theme.cpp:110
msgid "Medium (12)"
msgstr "Střední (12)"
-#: src/gui/setup_theme.cpp:110
+#: src/gui/setup_theme.cpp:111
msgid "Large (13)"
msgstr "Velký (13)"
-#: src/gui/setup_theme.cpp:111
+#: src/gui/setup_theme.cpp:112
msgid "Big (14)"
msgstr "Větší (14)"
-#: src/gui/setup_theme.cpp:112
+#: src/gui/setup_theme.cpp:113
msgid "Huge (15)"
msgstr "Obrovský (15)"
-#: src/gui/setup_theme.cpp:143
+#: src/gui/setup_theme.cpp:146
+msgid "Chinese (China)"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:147
+msgid "Czech"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:148
+msgid "English"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:149
+msgid "Finnish"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:150
+msgid "French"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:151
+msgid "German"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:152
+msgid "Indonesian"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:153
+msgid "Japanese"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:154
+msgid "Dutch (Belgium/Flemish)"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:155
+msgid "Portuguese"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:156
+msgid "Portuguese (Brazilian)"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:157
+msgid "Russian"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:158
+msgid "Spanish (Castilian)"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:190
msgid "Theme"
msgstr "Téma"
-#: src/gui/setup_theme.cpp:145
+#: src/gui/setup_theme.cpp:192
msgid "Gui theme"
msgstr "Téma GUI"
-#: src/gui/setup_theme.cpp:146
+#: src/gui/setup_theme.cpp:193
+msgid "Language"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:194
msgid "Main Font"
msgstr "Hlavní font"
-#: src/gui/setup_theme.cpp:147
+#: src/gui/setup_theme.cpp:195
msgid "Bold font"
msgstr "Tučný font"
-#: src/gui/setup_theme.cpp:148
+#: src/gui/setup_theme.cpp:196
msgid "Particle font"
msgstr "Font částic"
-#: src/gui/setup_theme.cpp:149
+#: src/gui/setup_theme.cpp:197
msgid "Help font"
msgstr "Pomocný font"
-#: src/gui/setup_theme.cpp:150
+#: src/gui/setup_theme.cpp:198
msgid "Secure font"
msgstr "Bezpečný font"
-#: src/gui/setup_theme.cpp:151
+#: src/gui/setup_theme.cpp:199
msgid "Japanese font"
msgstr "Japonský font"
-#: src/gui/setup_theme.cpp:183
+#: src/gui/setup_theme.cpp:236
msgid "Font size"
msgstr "Velikost písma"
-#: src/gui/setup_theme.cpp:299
+#: src/gui/setup_theme.cpp:377
msgid "Theme Changed"
msgstr "Téma změněno"
-#: src/gui/setup_theme.cpp:300 src/gui/setup_video.cpp:619
+#: src/gui/setup_theme.cpp:378 src/gui/setup_video.cpp:619
#: src/gui/setup_video.cpp:624
msgid "Restart your client for the change to take effect."
msgstr "Restartujte klient pro aplikováni změn."
@@ -2802,422 +2888,445 @@ msgstr "Zvolte jméno vaší party."
msgid "Specials"
msgstr ""
-#: src/gui/statuspopup.cpp:197
+#: src/gui/statuspopup.cpp:204
msgid "(D) default moves"
msgstr "(D) výchozí pohyby"
-#: src/gui/statuspopup.cpp:202
+#: src/gui/statuspopup.cpp:209
msgid "(I) invert moves"
msgstr "(I) invertované pohyby"
-#: src/gui/statuspopup.cpp:207
+#: src/gui/statuspopup.cpp:214
msgid "(c) moves with some crazy moves"
msgstr "(c) pohyby s trochou šílených pohybů"
-#: src/gui/statuspopup.cpp:212
+#: src/gui/statuspopup.cpp:219
msgid "(C) moves with crazy moves"
msgstr "(C) pohyby s šílenými pohyby"
-#: src/gui/statuspopup.cpp:217
+#: src/gui/statuspopup.cpp:224
msgid "(d) double normal + crazy"
msgstr "(d) dvojité normální + šílené"
-#: src/gui/statuspopup.cpp:222
+#: src/gui/statuspopup.cpp:229
msgid "(?) move"
msgstr "(?) pohyb"
-#: src/gui/statuspopup.cpp:240
+#: src/gui/statuspopup.cpp:247
msgid "(a) custom crazy move"
msgstr "(a) vlastní šílené pohyby"
-#: src/gui/statuspopup.cpp:244
+#: src/gui/statuspopup.cpp:251
msgid "(?) crazy move"
msgstr "(?) šílené pohyby"
-#: src/gui/statuspopup.cpp:254
+#: src/gui/statuspopup.cpp:261
msgid "(0) default moves to target"
msgstr "(0) výchozí pohyb k cíli"
-#: src/gui/statuspopup.cpp:259
+#: src/gui/statuspopup.cpp:266
msgid "(1) moves to target in distance 1"
msgstr "(1) pohyb k cíli do vzdálenosti 1"
-#: src/gui/statuspopup.cpp:264
+#: src/gui/statuspopup.cpp:271
msgid "(2) moves to target in distance 2"
msgstr "(2) pohyb k cíli do vzdálenosti 2"
-#: src/gui/statuspopup.cpp:269
+#: src/gui/statuspopup.cpp:276
msgid "(3) moves to target in distance 3"
msgstr "(3) pohyb k cíli do vzdálenosti 3"
-#: src/gui/statuspopup.cpp:274
+#: src/gui/statuspopup.cpp:281
msgid "(5) moves to target in distance 5"
msgstr "(5) pohyb k cíli do vzdálenosti 5"
-#: src/gui/statuspopup.cpp:279
+#: src/gui/statuspopup.cpp:286
msgid "(7) moves to target in distance 7"
msgstr "(7) pohyb k cíli do vzdálenosti 7"
-#: src/gui/statuspopup.cpp:284
+#: src/gui/statuspopup.cpp:291
msgid "(A) moves to target in attack range"
msgstr "(A) pohyb k cíli na útočný dosah"
-#: src/gui/statuspopup.cpp:289
+#: src/gui/statuspopup.cpp:296
msgid "(a) archer attack range"
msgstr ""
-#: src/gui/statuspopup.cpp:294
+#: src/gui/statuspopup.cpp:301
msgid "(?) move to target"
msgstr "(?) pohyb k cíli"
-#: src/gui/statuspopup.cpp:302
+#: src/gui/statuspopup.cpp:309
msgid "(D) default follow"
msgstr "(D) výchozí následování"
-#: src/gui/statuspopup.cpp:306
+#: src/gui/statuspopup.cpp:313
msgid "(R) relative follow"
msgstr "(R) relativní následování"
-#: src/gui/statuspopup.cpp:310
+#: src/gui/statuspopup.cpp:317
msgid "(M) mirror follow"
msgstr "(M) zrcadlené následování"
-#: src/gui/statuspopup.cpp:314
+#: src/gui/statuspopup.cpp:321
msgid "(P) pet follow"
msgstr ""
-#: src/gui/statuspopup.cpp:318
+#: src/gui/statuspopup.cpp:325
msgid "(?) unknown follow"
msgstr "(?) neznámé následování"
-#: src/gui/statuspopup.cpp:327 src/gui/statuspopup.cpp:350
+#: src/gui/statuspopup.cpp:334 src/gui/statuspopup.cpp:357
msgid "(D) default attack"
msgstr "(D) výchozí útok"
-#: src/gui/statuspopup.cpp:332
+#: src/gui/statuspopup.cpp:339
msgid "(s) switch attack without shield"
msgstr "(s) přepínat útok bez štítu"
-#: src/gui/statuspopup.cpp:337
+#: src/gui/statuspopup.cpp:344
msgid "(S) switch attack with shield"
msgstr "(S) přepínat útok se štítem"
-#: src/gui/statuspopup.cpp:341 src/gui/statuspopup.cpp:366
+#: src/gui/statuspopup.cpp:348 src/gui/statuspopup.cpp:373
msgid "(?) attack"
msgstr "(?) útok"
-#: src/gui/statuspopup.cpp:354
+#: src/gui/statuspopup.cpp:361
msgid "(G) go and attack"
msgstr "(G) jdi a útoč"
-#: src/gui/statuspopup.cpp:358
+#: src/gui/statuspopup.cpp:365
msgid "(A) go, attack, pickup"
msgstr "(A) jdi, útoč, sbírej"
-#: src/gui/statuspopup.cpp:362
+#: src/gui/statuspopup.cpp:369
msgid "(d) without auto attack"
msgstr "(d) bez automatického útoku"
-#: src/gui/statuspopup.cpp:380
+#: src/gui/statuspopup.cpp:387
msgid "(S) small pick up 1x1 cells"
msgstr "(S) malý sběr 1x1 pole"
-#: src/gui/statuspopup.cpp:384
+#: src/gui/statuspopup.cpp:391
msgid "(D) default pick up 2x1 cells"
msgstr "(D) výchozí sběr 2x1 pole"
-#: src/gui/statuspopup.cpp:388
+#: src/gui/statuspopup.cpp:395
msgid "(F) forward pick up 2x3 cells"
msgstr "(F) sběr před 2x3 pole"
-#: src/gui/statuspopup.cpp:392
+#: src/gui/statuspopup.cpp:399
msgid "(3) pick up 3x3 cells"
msgstr "(3) sběr 3x3 pole"
-#: src/gui/statuspopup.cpp:396
+#: src/gui/statuspopup.cpp:403
msgid "(g) go and pick up in distance 4"
msgstr "(g) jdi a seber do vzdálenosti 4"
-#: src/gui/statuspopup.cpp:400
+#: src/gui/statuspopup.cpp:407
msgid "(G) go and pick up in distance 8"
msgstr "(G) jdi a seber do vzdálenosti 8"
-#: src/gui/statuspopup.cpp:404
+#: src/gui/statuspopup.cpp:411
msgid "(A) go and pick up in max distance"
msgstr "(A) jdi a seber do max. vzdálenosti"
-#: src/gui/statuspopup.cpp:408
+#: src/gui/statuspopup.cpp:415
msgid "(?) pick up"
msgstr "(?) sběr"
-#: src/gui/statuspopup.cpp:417
+#: src/gui/statuspopup.cpp:424
msgid "(N) normal map view"
msgstr "(N) Normální zobrazení mapy"
-#: src/gui/statuspopup.cpp:421
+#: src/gui/statuspopup.cpp:428
msgid "(D) debug map view"
msgstr "(D) debug zobrazení mapy"
-#: src/gui/statuspopup.cpp:425
+#: src/gui/statuspopup.cpp:432
msgid "(u) ultra map view"
msgstr "(u) ultra zobrazení mapy"
-#: src/gui/statuspopup.cpp:429
+#: src/gui/statuspopup.cpp:436
msgid "(U) ultra map view 2"
msgstr "(U) ultra zobrazení mapy 2"
-#: src/gui/statuspopup.cpp:433
+#: src/gui/statuspopup.cpp:440
msgid "(e) empty map view"
msgstr "(e) zobrazen prázdné mapy"
-#: src/gui/statuspopup.cpp:437
+#: src/gui/statuspopup.cpp:444
msgid "(b) black & white map view"
msgstr "(b) zobrazení černobílé mapy"
-#: src/gui/statuspopup.cpp:441
+#: src/gui/statuspopup.cpp:448
msgid "(?) map view"
msgstr "(?) zobrazení pamy"
-#: src/gui/statuspopup.cpp:449
+#: src/gui/statuspopup.cpp:456
msgid "(f) use #flar for magic attack"
msgstr "(f) použij #flar pro magický útok"
-#: src/gui/statuspopup.cpp:454
+#: src/gui/statuspopup.cpp:461
msgid "(c) use #chiza for magic attack"
msgstr "(c) použij #chiza pro magický útok"
-#: src/gui/statuspopup.cpp:459
+#: src/gui/statuspopup.cpp:466
msgid "(I) use #ingrav for magic attack"
msgstr "(I) použij #ingrav pro magický útok"
-#: src/gui/statuspopup.cpp:464
+#: src/gui/statuspopup.cpp:471
msgid "(F) use #frillyar for magic attack"
msgstr "(F) použij #frillyar pro magický útok"
-#: src/gui/statuspopup.cpp:469
+#: src/gui/statuspopup.cpp:476
msgid "(U) use #upmarmu for magic attack"
msgstr "(U) použij #upmarmu pro magický útok"
-#: src/gui/statuspopup.cpp:473
+#: src/gui/statuspopup.cpp:480
msgid "(?) magic attack"
msgstr "(?) magický útok attack"
-#: src/gui/statuspopup.cpp:482
+#: src/gui/statuspopup.cpp:489
+msgid "(a) attack all players"
+msgstr ""
+
+#: src/gui/statuspopup.cpp:493
+msgid "(f) attack not friends"
+msgstr ""
+
+#: src/gui/statuspopup.cpp:497
+msgid "(b) attack bad relations"
+msgstr ""
+
+#: src/gui/statuspopup.cpp:501
+msgid "(d) dont attack players"
+msgstr ""
+
+#: src/gui/statuspopup.cpp:505
+msgid "(?) pvp attack"
+msgstr ""
+
+#: src/gui/statuspopup.cpp:514
msgid "(D) default imitation"
msgstr "(D) výchozí imitace"
-#: src/gui/statuspopup.cpp:486
+#: src/gui/statuspopup.cpp:518
msgid "(O) outfits imitation"
msgstr "(O) imitace výstroje"
-#: src/gui/statuspopup.cpp:490
+#: src/gui/statuspopup.cpp:522
msgid "(?) imitation"
msgstr "(?) imitace"
-#: src/gui/statuspopup.cpp:499
+#: src/gui/statuspopup.cpp:531
msgid "(O) on keyboard"
msgstr "(O) u počítače"
-#: src/gui/statuspopup.cpp:502
+#: src/gui/statuspopup.cpp:534
msgid "(A) away"
msgstr "(A) pryč (away)"
-#: src/gui/statuspopup.cpp:505 src/gui/statuspopup.cpp:525
+#: src/gui/statuspopup.cpp:537 src/gui/statuspopup.cpp:557
msgid "(?) away"
msgstr "(?) away"
-#: src/gui/statuspopup.cpp:513
+#: src/gui/statuspopup.cpp:545
msgid "(G) game camera mode"
msgstr "(G) mód herní kamery"
-#: src/gui/statuspopup.cpp:517
+#: src/gui/statuspopup.cpp:549
msgid "(F) free camera mode"
msgstr "(F) mód volné kamery"
-#: src/gui/statuspopup.cpp:521
+#: src/gui/statuspopup.cpp:553
msgid "(D) design camera mode"
msgstr ""
-#: src/gui/statuspopup.cpp:532
+#: src/gui/statuspopup.cpp:564
msgid "Game modifiers are disabled"
msgstr "Modifikátory hry jsou vypnuty"
-#: src/gui/statuspopup.cpp:537
+#: src/gui/statuspopup.cpp:569
msgid "Game modifiers are enabled"
msgstr "Modifikátory hry jsou zapnuty"
-#: src/gui/statuswindow.cpp:143 src/gui/statuswindow.cpp:273
-#: src/gui/statuswindow.cpp:336
+#: src/gui/statuswindow.cpp:144 src/gui/statuswindow.cpp:274
+#: src/gui/statuswindow.cpp:337
#, c-format
msgid "Level: %d"
msgstr "Úroveň: %d"
-#: src/gui/statuswindow.cpp:144 src/gui/statuswindow.cpp:259
-#: src/gui/statuswindow.cpp:303
+#: src/gui/statuswindow.cpp:145 src/gui/statuswindow.cpp:260
+#: src/gui/statuswindow.cpp:304
#, c-format
msgid "Money: %s"
msgstr "Peníze: %s"
-#: src/gui/statuswindow.cpp:150
+#: src/gui/statuswindow.cpp:151
msgid "HP:"
msgstr ""
-#: src/gui/statuswindow.cpp:157
+#: src/gui/statuswindow.cpp:158
msgid "Exp:"
msgstr "Exp:"
-#: src/gui/statuswindow.cpp:171
+#: src/gui/statuswindow.cpp:172
msgid "MP:"
msgstr ""
-#: src/gui/statuswindow.cpp:203 src/gui/statuswindow.cpp:386
+#: src/gui/statuswindow.cpp:204 src/gui/statuswindow.cpp:387
#, c-format
msgid "Job: %d"
msgstr "Práce: %d"
-#: src/gui/statuswindow.cpp:204
+#: src/gui/statuswindow.cpp:205
msgid "Job:"
msgstr "Práce:"
-#: src/gui/statuswindow.cpp:262 src/gui/statuswindow.cpp:310
+#: src/gui/statuswindow.cpp:263 src/gui/statuswindow.cpp:311
#, c-format
msgid "Character points: %d"
msgstr "Bodů postavy: %d"
-#: src/gui/statuswindow.cpp:268
+#: src/gui/statuswindow.cpp:269
#, c-format
msgid "Level: %d (GM %d)"
msgstr "Úroveň: %d (GM %d)"
-#: src/gui/statuswindow.cpp:324
+#: src/gui/statuswindow.cpp:325
#, c-format
msgid "Correction points: %d"
msgstr ""
-#: src/gui/statuswindow.cpp:648 src/gui/statuswindow.cpp:716
-#: src/gui/statuswindow.cpp:736 src/gui/statuswindow.cpp:752
-#: src/gui/statuswindow.cpp:798 src/gui/statuswindow.cpp:827
-#: src/gui/statuswindow.cpp:850 src/gui/statuswindow.cpp:869
+#: src/gui/statuswindow.cpp:649 src/gui/statuswindow.cpp:717
+#: src/gui/statuswindow.cpp:737 src/gui/statuswindow.cpp:753
+#: src/gui/statuswindow.cpp:818 src/gui/statuswindow.cpp:847
+#: src/gui/statuswindow.cpp:870 src/gui/statuswindow.cpp:889
msgid "(D)"
msgstr "(D)"
-#: src/gui/statuswindow.cpp:651 src/gui/statuswindow.cpp:777
+#: src/gui/statuswindow.cpp:652 src/gui/statuswindow.cpp:778
msgid "(I)"
msgstr "(I)"
-#: src/gui/statuswindow.cpp:654 src/gui/statuswindow.cpp:774
+#: src/gui/statuswindow.cpp:655 src/gui/statuswindow.cpp:775
msgid "(c)"
msgstr "(c)"
-#: src/gui/statuswindow.cpp:657
+#: src/gui/statuswindow.cpp:658
msgid "(C)"
msgstr "(C)"
-#: src/gui/statuswindow.cpp:660 src/gui/statuswindow.cpp:761
+#: src/gui/statuswindow.cpp:661 src/gui/statuswindow.cpp:762
+#: src/gui/statuswindow.cpp:803
msgid "(d)"
msgstr "(d)"
-#: src/gui/statuswindow.cpp:663 src/gui/statuswindow.cpp:677
-#: src/gui/statuswindow.cpp:709 src/gui/statuswindow.cpp:728
-#: src/gui/statuswindow.cpp:745 src/gui/statuswindow.cpp:764
-#: src/gui/statuswindow.cpp:786 src/gui/statuswindow.cpp:816
-#: src/gui/statuswindow.cpp:842 src/gui/statuswindow.cpp:856
-#: src/gui/statuswindow.cpp:872 src/gui/statuswindow.cpp:885
+#: src/gui/statuswindow.cpp:664 src/gui/statuswindow.cpp:678
+#: src/gui/statuswindow.cpp:710 src/gui/statuswindow.cpp:729
+#: src/gui/statuswindow.cpp:746 src/gui/statuswindow.cpp:765
+#: src/gui/statuswindow.cpp:787 src/gui/statuswindow.cpp:806
+#: src/gui/statuswindow.cpp:836 src/gui/statuswindow.cpp:862
+#: src/gui/statuswindow.cpp:876 src/gui/statuswindow.cpp:892
+#: src/gui/statuswindow.cpp:905
msgid "(?)"
msgstr "(?)"
-#: src/gui/statuswindow.cpp:674 src/gui/statuswindow.cpp:706
+#: src/gui/statuswindow.cpp:675 src/gui/statuswindow.cpp:707
+#: src/gui/statuswindow.cpp:794
msgid "(a)"
msgstr "(a)"
-#: src/gui/statuswindow.cpp:685
+#: src/gui/statuswindow.cpp:686
msgid "(0)"
msgstr "(0)"
-#: src/gui/statuswindow.cpp:688
+#: src/gui/statuswindow.cpp:689
msgid "(1)"
msgstr "(1)"
-#: src/gui/statuswindow.cpp:691
+#: src/gui/statuswindow.cpp:692
msgid "(2)"
msgstr " (2)"
-#: src/gui/statuswindow.cpp:694 src/gui/statuswindow.cpp:804
+#: src/gui/statuswindow.cpp:695 src/gui/statuswindow.cpp:824
msgid "(3)"
msgstr "(3)"
-#: src/gui/statuswindow.cpp:697
+#: src/gui/statuswindow.cpp:698
msgid "(5)"
msgstr "(5)"
-#: src/gui/statuswindow.cpp:700
+#: src/gui/statuswindow.cpp:701
msgid "(7)"
msgstr "(7)"
-#: src/gui/statuswindow.cpp:703 src/gui/statuswindow.cpp:758
-#: src/gui/statuswindow.cpp:813 src/gui/statuswindow.cpp:882
+#: src/gui/statuswindow.cpp:704 src/gui/statuswindow.cpp:759
+#: src/gui/statuswindow.cpp:833 src/gui/statuswindow.cpp:902
msgid "(A)"
msgstr "(A)"
-#: src/gui/statuswindow.cpp:719
+#: src/gui/statuswindow.cpp:720
msgid "(R)"
msgstr "(R)"
-#: src/gui/statuswindow.cpp:722
+#: src/gui/statuswindow.cpp:723
msgid "(M)"
msgstr "(M)"
-#: src/gui/statuswindow.cpp:725
+#: src/gui/statuswindow.cpp:726
msgid "(P)"
msgstr "(P)"
-#: src/gui/statuswindow.cpp:739
+#: src/gui/statuswindow.cpp:740
msgid "(s)"
msgstr "(s)"
-#: src/gui/statuswindow.cpp:742 src/gui/statuswindow.cpp:795
+#: src/gui/statuswindow.cpp:743 src/gui/statuswindow.cpp:815
msgid "(S)"
msgstr "(S)"
-#: src/gui/statuswindow.cpp:755 src/gui/statuswindow.cpp:810
-#: src/gui/statuswindow.cpp:863
+#: src/gui/statuswindow.cpp:756 src/gui/statuswindow.cpp:830
+#: src/gui/statuswindow.cpp:883
msgid "(G)"
msgstr "(G)"
-#: src/gui/statuswindow.cpp:771
+#: src/gui/statuswindow.cpp:772 src/gui/statuswindow.cpp:797
msgid "(f)"
msgstr "(f)"
-#: src/gui/statuswindow.cpp:780 src/gui/statuswindow.cpp:801
-#: src/gui/statuswindow.cpp:866
+#: src/gui/statuswindow.cpp:781 src/gui/statuswindow.cpp:821
+#: src/gui/statuswindow.cpp:886
msgid "(F)"
msgstr "(F)"
-#: src/gui/statuswindow.cpp:783 src/gui/statuswindow.cpp:833
+#: src/gui/statuswindow.cpp:784 src/gui/statuswindow.cpp:853
msgid "(U)"
msgstr "(U)"
-#: src/gui/statuswindow.cpp:807
+#: src/gui/statuswindow.cpp:800 src/gui/statuswindow.cpp:859
+msgid "(b)"
+msgstr "(b)"
+
+#: src/gui/statuswindow.cpp:827
msgid "(g)"
msgstr "(g)"
-#: src/gui/statuswindow.cpp:824
+#: src/gui/statuswindow.cpp:844
msgid "(N)"
msgstr "(N)"
-#: src/gui/statuswindow.cpp:830
+#: src/gui/statuswindow.cpp:850
msgid "(u)"
msgstr "(u)"
-#: src/gui/statuswindow.cpp:836
+#: src/gui/statuswindow.cpp:856
msgid "(e)"
msgstr "(e)"
-#: src/gui/statuswindow.cpp:839
-msgid "(b)"
-msgstr "(b)"
-
-#: src/gui/statuswindow.cpp:853 src/gui/statuswindow.cpp:879
+#: src/gui/statuswindow.cpp:873 src/gui/statuswindow.cpp:899
msgid "(O)"
msgstr "(O)"
@@ -3347,7 +3456,8 @@ msgid "You don't have enough money."
msgstr "Nemáte dost peněz."
#: src/gui/tradewindow.cpp:454
-msgid "Failed adding item. You can not overlap one kind of item on the window."
+msgid ""
+"Failed adding item. You can not overlap one kind of item on the window."
msgstr ""
#: src/gui/unregisterdialog.cpp:54
@@ -3367,21 +3477,21 @@ msgstr "Připojuji se..."
msgid "Play"
msgstr "Hrát"
-#: src/gui/updaterwindow.cpp:564
+#: src/gui/updaterwindow.cpp:565
msgid "##1 The update process is incomplete."
msgstr "##1 Proces aktualizace není kompletní."
#. TRANSLATORS: Continues "you try again later.".
-#: src/gui/updaterwindow.cpp:566
+#: src/gui/updaterwindow.cpp:567
msgid "##1 It is strongly recommended that"
msgstr "##1 silně doporučujeme zkusit"
#. TRANSLATORS: Begins "It is strongly recommended that".
-#: src/gui/updaterwindow.cpp:568
+#: src/gui/updaterwindow.cpp:569
msgid "##1 you try again later."
msgstr "##1 aktualizaci později"
-#: src/gui/updaterwindow.cpp:744
+#: src/gui/updaterwindow.cpp:745
msgid "Completed"
msgstr "Hotovo"
@@ -3725,7 +3835,8 @@ msgid "Command: /unignore <player>"
msgstr ""
#: src/gui/widgets/whispertab.cpp:131
-msgid "This command stops ignoring the other player if they are being ignored."
+msgid ""
+"This command stops ignoring the other player if they are being ignored."
msgstr ""
#: src/gui/windowmenu.cpp:65
@@ -3942,7 +4053,7 @@ msgstr ""
#: src/keyboardconfig.cpp:116 src/keyboardconfig.cpp:119
#: src/keyboardconfig.cpp:121 src/keyboardconfig.cpp:123
#: src/keyboardconfig.cpp:125 src/keyboardconfig.cpp:127
-#: src/keyboardconfig.cpp:369
+#: src/keyboardconfig.cpp:371
#, c-format
msgid "Item Shortcut %d"
msgstr ""
@@ -4069,7 +4180,7 @@ msgstr "Smajlíky"
#: src/keyboardconfig.cpp:258 src/keyboardconfig.cpp:260
#: src/keyboardconfig.cpp:262 src/keyboardconfig.cpp:264
#: src/keyboardconfig.cpp:266 src/keyboardconfig.cpp:268
-#: src/keyboardconfig.cpp:364
+#: src/keyboardconfig.cpp:366
#, c-format
msgid "Emote Shortcut %d"
msgstr "Zkratka smajlíku %d"
@@ -4198,51 +4309,55 @@ msgstr "Použít magický útok"
msgid "Switch magic attack"
msgstr "Přepnout magický útok"
-#: src/keyboardconfig.cpp:328
+#: src/keyboardconfig.cpp:329
+msgid "Switch pvp attack"
+msgstr ""
+
+#: src/keyboardconfig.cpp:330
msgid "Change move type"
msgstr "Změnit typ pohybu"
-#: src/keyboardconfig.cpp:330
+#: src/keyboardconfig.cpp:332
msgid "Change Attack Weapon Type"
msgstr "Změnit typ útočné zbraně"
-#: src/keyboardconfig.cpp:332
+#: src/keyboardconfig.cpp:334
msgid "Change Attack Type"
msgstr "Změnit typ útoku"
-#: src/keyboardconfig.cpp:334
+#: src/keyboardconfig.cpp:336
msgid "Change Follow mode"
msgstr "Změnit mód následování"
-#: src/keyboardconfig.cpp:336
+#: src/keyboardconfig.cpp:338
msgid "Change Imitation mode"
msgstr "Změnit mód imitace"
-#: src/keyboardconfig.cpp:339
+#: src/keyboardconfig.cpp:341
msgid "Disable / Enable Game modifier keys"
msgstr ""
-#: src/keyboardconfig.cpp:340
+#: src/keyboardconfig.cpp:342
msgid "On / Off audio"
msgstr "Zapnout/Vypnout audio"
-#: src/keyboardconfig.cpp:342
+#: src/keyboardconfig.cpp:344
msgid "Enable / Disable away mode"
msgstr "Zapnout/Vypnout Away mód"
-#: src/keyboardconfig.cpp:344
+#: src/keyboardconfig.cpp:346
msgid "Emulate right click from keyboard"
msgstr "Emulovat pravý klik z klávesnice"
-#: src/keyboardconfig.cpp:346
+#: src/keyboardconfig.cpp:348
msgid "Toggle camera mode"
msgstr "přemnout mód kamery"
-#: src/keyboardconfig.cpp:348
+#: src/keyboardconfig.cpp:350
msgid "Modifier key"
msgstr "Klávesa modifikátoru"
-#: src/keyboardconfig.cpp:427
+#: src/keyboardconfig.cpp:429
#, c-format
msgid ""
"Conflict \"%s\" and \"%s\" keys. Resolve them, or gameplay may result in "
@@ -4251,41 +4366,41 @@ msgstr ""
"Konflikt klávesy \"%s\" a klávesy \"%s\". Vyřešte jej, neboť se hra může "
"chovat podivně."
-#: src/localplayer.cpp:381
+#: src/localplayer.cpp:389
msgid "You were killed by "
msgstr "Zabil vás "
-#: src/localplayer.cpp:1428
+#: src/localplayer.cpp:1442
msgid "Tried to pick up nonexistent item."
msgstr "Snažili jste se sebrat neexistující předmět."
-#: src/localplayer.cpp:1430
+#: src/localplayer.cpp:1444
msgid "Item is too heavy."
msgstr "Předmět je příliš těžký."
-#: src/localplayer.cpp:1432
+#: src/localplayer.cpp:1446
msgid "Item is too far away."
msgstr "Předmět je příliš daleko."
-#: src/localplayer.cpp:1434
+#: src/localplayer.cpp:1448
msgid "Inventory is full."
msgstr "Inventář je plný."
-#: src/localplayer.cpp:1436
+#: src/localplayer.cpp:1450
msgid "Stack is too big."
msgstr "Hromada je příliš velká."
-#: src/localplayer.cpp:1439
+#: src/localplayer.cpp:1453
msgid "Item belongs to someone else."
msgstr "Předmět patří někomu jinému."
-#: src/localplayer.cpp:1442
+#: src/localplayer.cpp:1456
msgid "Unknown problem picking up item."
msgstr "Neznámý problém při pokusu sebrat předmět."
#. TRANSLATORS: %d is number,
#. [@@%d|%s@@] - here player can see link to item
-#: src/localplayer.cpp:1466
+#: src/localplayer.cpp:1480
#, c-format
msgid "You picked up %d [@@%d|%s@@]."
msgid_plural "You picked up %d [@@%d|%s@@]."
@@ -4293,27 +4408,27 @@ msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
-#: src/localplayer.cpp:3181
+#: src/localplayer.cpp:3206
msgid "Away"
msgstr ""
-#: src/localplayer.cpp:3509
+#: src/localplayer.cpp:3541
msgid "Follow: "
msgstr ""
-#: src/localplayer.cpp:3511 src/localplayer.cpp:3526
+#: src/localplayer.cpp:3543 src/localplayer.cpp:3558
msgid "Follow canceled"
msgstr "Následování zrušeno."
-#: src/localplayer.cpp:3518
+#: src/localplayer.cpp:3550
msgid "Imitation: "
msgstr ""
-#: src/localplayer.cpp:3520 src/localplayer.cpp:3528
+#: src/localplayer.cpp:3552 src/localplayer.cpp:3560
msgid "Imitation canceled"
msgstr "Imitace zrušena."
-#: src/localplayer.cpp:3876
+#: src/localplayer.cpp:3908
msgid "You see "
msgstr "Vidíte "
@@ -4447,7 +4562,8 @@ msgstr "Štěstí:"
#: src/net/ea/charserverhandler.cpp:102
msgid "Access denied. Most likely, there are too many players on this server."
-msgstr "Přístup zamítnut. Nejpravděpodobněji je na serveru příliš mnoho hráčů."
+msgstr ""
+"Přístup zamítnut. Nejpravděpodobněji je na serveru příliš mnoho hráčů."
#: src/net/ea/charserverhandler.cpp:106
msgid "Cannot use this ID."
@@ -4896,8 +5012,8 @@ msgid ""
"No, kids. Your character did not really die. It... err... went to a better "
"place."
msgstr ""
-"Ne, děti. Vaše postava ve skutečnosti neumřela. Ona.. errm.. odešla na lepší "
-"místo."
+"Ne, děti. Vaše postava ve skutečnosti neumřela. Ona.. errm.. odešla na lepší"
+" místo."
#: src/net/ea/playerhandler.cpp:105 src/net/manaserv/beinghandler.cpp:323
msgid ""
@@ -4995,8 +5111,10 @@ msgstr "Zpráva"
#: src/net/ea/playerhandler.cpp:336
msgid ""
-"You are carrying more than half your weight. You are unable to regain health."
-msgstr "Nesete více než polovinu vaší váhy. Obnovování života nyní není možné."
+"You are carrying more than half your weight. You are unable to regain "
+"health."
+msgstr ""
+"Nesete více než polovinu vaší váhy. Obnovování života nyní není možné."
#: src/net/ea/playerhandler.cpp:346
msgid "You are carrying less than half your weight. You can regain health."
@@ -5105,53 +5223,53 @@ msgstr ""
msgid "%s wants to trade with you, do you accept?"
msgstr ""
-#: src/net/ea/tradehandler.cpp:134
+#: src/net/ea/tradehandler.cpp:135
msgid "Trading isn't possible. Trade partner is too far away."
msgstr ""
-#: src/net/ea/tradehandler.cpp:138
+#: src/net/ea/tradehandler.cpp:139
msgid "Trading isn't possible. Character doesn't exist."
msgstr ""
-#: src/net/ea/tradehandler.cpp:142
+#: src/net/ea/tradehandler.cpp:143
msgid "Trade cancelled due to an unknown reason."
msgstr ""
-#: src/net/ea/tradehandler.cpp:148
+#: src/net/ea/tradehandler.cpp:149
#, c-format
msgid "Trade: You and %s"
msgstr ""
-#: src/net/ea/tradehandler.cpp:158
+#: src/net/ea/tradehandler.cpp:159
#, c-format
msgid "Trade with %s cancelled."
msgstr ""
-#: src/net/ea/tradehandler.cpp:171
+#: src/net/ea/tradehandler.cpp:172
msgid "Unhandled trade cancel packet."
msgstr ""
-#: src/net/ea/tradehandler.cpp:236
+#: src/net/ea/tradehandler.cpp:237
msgid "Failed adding item. Trade partner is over weighted."
msgstr ""
-#: src/net/ea/tradehandler.cpp:241
+#: src/net/ea/tradehandler.cpp:242
msgid "Failed adding item. Trade partner has no free slot."
msgstr ""
-#: src/net/ea/tradehandler.cpp:246
+#: src/net/ea/tradehandler.cpp:247
msgid "Failed adding item. You can't trade this item."
msgstr ""
-#: src/net/ea/tradehandler.cpp:250
+#: src/net/ea/tradehandler.cpp:251
msgid "Failed adding item for unknown reason."
msgstr ""
-#: src/net/ea/tradehandler.cpp:269 src/net/manaserv/tradehandler.cpp:160
+#: src/net/ea/tradehandler.cpp:270 src/net/manaserv/tradehandler.cpp:160
msgid "Trade canceled."
msgstr ""
-#: src/net/ea/tradehandler.cpp:280 src/net/manaserv/tradehandler.cpp:167
+#: src/net/ea/tradehandler.cpp:281 src/net/manaserv/tradehandler.cpp:167
msgid "Trade completed."
msgstr ""
@@ -5570,15 +5688,15 @@ msgstr ""
msgid "Damage per sec."
msgstr ""
-#: src/net/tmwa/network.cpp:152
+#: src/net/tmwa/network.cpp:153
msgid "Empty address given to Network::connect()!"
msgstr ""
-#: src/net/tmwa/network.cpp:356
+#: src/net/tmwa/network.cpp:357
msgid "Unable to resolve host \""
msgstr ""
-#: src/net/tmwa/network.cpp:426
+#: src/net/tmwa/network.cpp:427
msgid "Connection to server terminated. "
msgstr ""
@@ -5587,19 +5705,19 @@ msgstr ""
msgid "%s is not in your party!"
msgstr ""
-#: src/playerrelations.cpp:435
+#: src/playerrelations.cpp:460
msgid "Print '...'"
msgstr ""
-#: src/playerrelations.cpp:455
+#: src/playerrelations.cpp:480
msgid "Blink name"
msgstr ""
-#: src/playerrelations.cpp:499
+#: src/playerrelations.cpp:524
msgid "Floating '...' bubble"
msgstr ""
-#: src/playerrelations.cpp:502
+#: src/playerrelations.cpp:527
msgid "Floating bubble"
msgstr ""
@@ -5631,3 +5749,5 @@ msgstr ""
#: src/resources/itemdb.cpp:169
msgid "Unknown item"
msgstr "Neznámý předmět"
+
+
diff --git a/po/de.po b/po/de.po
index 961f67b55..ae6f34c90 100644
--- a/po/de.po
+++ b/po/de.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR The ManaPlus Developers
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
# Andrei Karas <akaras@inbox.ru>, 2011.
# <clos3rlook@gmail.com>, 2011.
@@ -12,80 +12,79 @@ msgid ""
msgstr ""
"Project-Id-Version: ManaPlus\n"
"Report-Msgid-Bugs-To: akaras@inbox.ru\n"
-"POT-Creation-Date: 2011-10-28 03:52+0300\n"
-"PO-Revision-Date: 2011-10-28 00:55+0000\n"
+"POT-Creation-Date: 2011-11-12 00:23+0300\n"
+"PO-Revision-Date: 2011-11-11 21:38+0000\n"
"Last-Translator: akaras <akaras@inbox.ru>\n"
-"Language-Team: German (http://www.transifex.net/projects/p/manaplus/team/"
-"de/)\n"
-"Language: de\n"
+"Language-Team: German (http://www.transifex.net/projects/p/manaplus/team/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Language: de\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
#: src/actorspritemanager.cpp:1171
msgid "Visible on map"
msgstr ""
-#: src/being.cpp:548
+#: src/being.cpp:551
msgid "dodge"
msgstr "ausweichen"
-#: src/being.cpp:548
+#: src/being.cpp:551
msgid "miss"
msgstr "verfehlt"
#. TRANSLATORS: this away status writed in player nick
-#: src/being.cpp:1527
+#: src/being.cpp:1530
msgid "A"
msgstr ""
#. TRANSLATORS: this inactive status writed in player nick
-#: src/being.cpp:1532
+#: src/being.cpp:1535
msgid "I"
msgstr ""
-#: src/client.cpp:835 src/gui/setup.cpp:54 src/gui/windowmenu.cpp:100
+#: src/client.cpp:869 src/gui/setup.cpp:54 src/gui/windowmenu.cpp:100
msgid "Setup"
msgstr "Einstellungen"
-#: src/client.cpp:842 src/gui/setup_perfomance.cpp:48
+#: src/client.cpp:876 src/gui/setup_perfomance.cpp:48
msgid "Perfomance"
msgstr ""
-#: src/client.cpp:847 src/gui/setup_video.cpp:315
+#: src/client.cpp:881 src/gui/setup_video.cpp:315
msgid "Video"
msgstr "Video"
-#: src/client.cpp:852
+#: src/client.cpp:886
msgid "Themes"
msgstr ""
-#: src/client.cpp:934
+#: src/client.cpp:968
msgid "Connecting to server"
msgstr "Verbinde zum Server"
-#: src/client.cpp:965
+#: src/client.cpp:999
msgid "Logging in"
msgstr "Anmelden"
-#: src/client.cpp:998
+#: src/client.cpp:1032
msgid "Entering game world"
msgstr "Betrete die Spielwelt"
-#: src/client.cpp:1098
+#: src/client.cpp:1132
msgid "Requesting characters"
msgstr "Spielfiguren werden angefragt"
-#: src/client.cpp:1129
+#: src/client.cpp:1163
msgid "Connecting to the game server"
msgstr "Verbinde zum Charakterserver"
-#: src/client.cpp:1139
+#: src/client.cpp:1173
msgid "Changing game servers"
msgstr "Charakterserver wechseln"
-#: src/client.cpp:1182 src/client.cpp:1189 src/client.cpp:1323
+#: src/client.cpp:1216 src/client.cpp:1223 src/client.cpp:1357
#: src/gui/changeemaildialog.cpp:157 src/gui/changepassworddialog.cpp:147
#: src/gui/charcreatedialog.cpp:221 src/gui/charselectdialog.cpp:253
#: src/gui/register.cpp:228 src/gui/serverdialog.cpp:401
@@ -95,230 +94,233 @@ msgstr "Charakterserver wechseln"
msgid "Error"
msgstr "Fehler"
-#: src/client.cpp:1198
+#: src/client.cpp:1232
msgid "Requesting registration details"
msgstr "Anfrage der Registrierungsdetails"
-#: src/client.cpp:1224
+#: src/client.cpp:1258
msgid "Password Change"
msgstr "Passwort ändern"
-#: src/client.cpp:1225
+#: src/client.cpp:1259
msgid "Password changed successfully!"
msgstr "Passwort erfolgreich geändert!"
-#: src/client.cpp:1244
+#: src/client.cpp:1278
msgid "Email Change"
msgstr "E-Mail ändern"
-#: src/client.cpp:1245
+#: src/client.cpp:1279
msgid "Email changed successfully!"
msgstr "E-Mail erfolgreich geändert!"
-#: src/client.cpp:1265
+#: src/client.cpp:1299
msgid "Unregister Successful"
msgstr "erfolgreich abgemeldet."
-#: src/client.cpp:1266
+#: src/client.cpp:1300
msgid "Farewell, come back any time..."
msgstr "Leb wohl und komme jeder Zeit wieder..."
-#: src/client.cpp:1465 src/client.cpp:1495 src/client.cpp:1510
-#: src/client.cpp:1935 src/client.cpp:1942
+#: src/client.cpp:1499 src/client.cpp:1529 src/client.cpp:1544
+#: src/client.cpp:1969 src/client.cpp:1976
#, c-format
msgid "%s doesn't exist and can't be created! Exiting."
msgstr "%s existiert nicht und kann nicht erstellt werden! Beende."
-#: src/client.cpp:1641
+#: src/client.cpp:1675
#, c-format
msgid "Invalid update host: %s"
msgstr "Ungültiger Updateserver: %s"
-#: src/client.cpp:1675 src/client.cpp:1681
+#: src/client.cpp:1709 src/client.cpp:1715
msgid "Error creating updates directory!"
msgstr "Fehler beim Erstellen des Verzeichnisses für Updates!"
-#: src/client.cpp:1702
+#: src/client.cpp:1736
#, c-format
msgid "Error: %s doesn't exist and can't be created! Exiting."
msgstr ""
"Fehler: %s existiert nicht und kann nicht erstellt werden! Verlassend..."
-#: src/commandhandler.cpp:205
+#: src/commandhandler.cpp:209
msgid "Unknown command."
msgstr "Unbekannter Befehl."
-#: src/commandhandler.cpp:304
+#: src/commandhandler.cpp:329
msgid "Cannot send empty whispers!"
msgstr "Kann keine leeren Nachrichten versenden!"
-#: src/commandhandler.cpp:318
+#: src/commandhandler.cpp:343
#, c-format
msgid ""
-"Cannot create a whisper tab for nick \"%s\"! It either already exists, or is "
-"you."
+"Cannot create a whisper tab for nick \"%s\"! It either already exists, or is"
+" you."
msgstr ""
-"Kann keinen tab für Spieler \"%s\" erstellen! Entweder existiert er bereits, "
-"oder du bist es selbst."
+"Kann keinen tab für Spieler \"%s\" erstellen! Entweder existiert er bereits,"
+" oder du bist es selbst."
-#: src/commandhandler.cpp:338
+#: src/commandhandler.cpp:363
#, c-format
msgid "Requesting to join channel %s."
msgstr "Anfrage den Kanal %s betreten zu dürfen."
-#: src/commandhandler.cpp:354 src/net/ea/gui/partytab.cpp:125
+#: src/commandhandler.cpp:379 src/net/ea/gui/partytab.cpp:125
msgid "Party name is missing."
msgstr "Name der Party fehlt."
-#: src/commandhandler.cpp:365
+#: src/commandhandler.cpp:390
msgid "Guild name is missing."
msgstr "Name der Gilde fehlt."
-#: src/commandhandler.cpp:378 src/commandhandler.cpp:496
-#: src/commandhandler.cpp:537 src/commandhandler.cpp:572
+#: src/commandhandler.cpp:403 src/commandhandler.cpp:521
+#: src/commandhandler.cpp:562 src/commandhandler.cpp:602
msgid "Please specify a name."
msgstr "Bitte gib einen Namen an."
-#: src/commandhandler.cpp:430
+#: src/commandhandler.cpp:455
msgid "Return toggles chat."
msgstr "Enter-Taste steuert den Chat (zeigen/verstecken)"
-#: src/commandhandler.cpp:430
+#: src/commandhandler.cpp:455
msgid "Message closes chat."
msgstr "Nachricht schließt den Chat."
-#: src/commandhandler.cpp:441
+#: src/commandhandler.cpp:466
msgid "Return now toggles chat."
msgstr "Enter aktiviert jetzt den Chat."
-#: src/commandhandler.cpp:447
+#: src/commandhandler.cpp:472
msgid "Message now closes chat."
msgstr "Nachricht schließt jetzt den Chat."
-#: src/commandhandler.cpp:475
+#: src/commandhandler.cpp:500
msgid "friend"
msgstr "Freund"
-#: src/commandhandler.cpp:480
+#: src/commandhandler.cpp:505
msgid "disregarded"
msgstr "unbeachtet"
-#: src/commandhandler.cpp:485
+#: src/commandhandler.cpp:510
msgid "neutral"
msgstr "neutral"
-#: src/commandhandler.cpp:504
+#: src/commandhandler.cpp:529
#, c-format
msgid "Player already %s!"
msgstr "Spieler ist bereits %s!"
-#: src/commandhandler.cpp:518
+#: src/commandhandler.cpp:543
#, c-format
msgid "Player successfully %s!"
msgstr "Spieler erfolgreich %s!"
-#: src/commandhandler.cpp:526
+#: src/commandhandler.cpp:551
#, c-format
msgid "Player could not be %s!"
msgstr "Spieler konnte nicht %s werden!"
-#: src/commandhandler.cpp:549
+#: src/commandhandler.cpp:574
msgid "Player wasn't ignored!"
msgstr "Spieler wurde nicht ignoriert!"
-#: src/commandhandler.cpp:556
+#: src/commandhandler.cpp:581
msgid "Player no longer ignored!"
msgstr "Spieler wird nicht länger ignoriert!"
-#: src/commandhandler.cpp:558
+#: src/commandhandler.cpp:583
msgid "Player could not be unignored!"
msgstr "Ignorieren des Spielers konnte nicht rückgängig gemacht werden!"
-#: src/commandhandler.cpp:564
+#: src/commandhandler.cpp:589
msgid "blacklisted"
msgstr ""
-#: src/commandhandler.cpp:579
+#: src/commandhandler.cpp:594
+msgid "enemy"
+msgstr ""
+
+#: src/commandhandler.cpp:609
msgid "Player already erased!"
msgstr "Spieler ist bereits gelöscht!"
-#: src/commandhandler.cpp:590
+#: src/commandhandler.cpp:620
msgid "Player successfully erased!"
msgstr "Spieler erfolgreich gelöscht!"
-#: src/commandhandler.cpp:592
+#: src/commandhandler.cpp:622
msgid "Player could not be erased!"
msgstr "Spieler konnte nicht gelöscht werden!"
-#: src/commandhandler.cpp:892 src/commandhandler.cpp:938
+#: src/commandhandler.cpp:929 src/commandhandler.cpp:975
#, c-format
msgid "Client uptime: %s"
msgstr ""
-#: src/commandhandler.cpp:902
+#: src/commandhandler.cpp:939
#, c-format
msgid "%d week"
msgid_plural "%d weeks"
msgstr[0] ""
msgstr[1] ""
-#: src/commandhandler.cpp:911
+#: src/commandhandler.cpp:948
#, c-format
msgid "%d day"
msgid_plural "%d days"
msgstr[0] ""
msgstr[1] ""
-#: src/commandhandler.cpp:919
+#: src/commandhandler.cpp:956
#, c-format
msgid "%d hour"
msgid_plural "%d hours"
msgstr[0] ""
msgstr[1] ""
-#: src/commandhandler.cpp:927
+#: src/commandhandler.cpp:964
#, c-format
msgid "%d minute"
msgid_plural "%d minutes"
msgstr[0] ""
msgstr[1] ""
-#: src/commandhandler.cpp:935
+#: src/commandhandler.cpp:972
#, c-format
msgid "%d second"
msgid_plural "%d seconds"
msgstr[0] ""
msgstr[1] ""
-#: src/commandhandler.cpp:1014
+#: src/commandhandler.cpp:1051
msgid "font cache size"
msgstr ""
-#: src/commandhandler.cpp:1026
+#: src/commandhandler.cpp:1063
msgid "Cache size:"
msgstr ""
-#: src/commandhandler.cpp:1030
+#: src/commandhandler.cpp:1067
msgid "Created:"
msgstr ""
-#: src/commandhandler.cpp:1032
+#: src/commandhandler.cpp:1069
msgid "Deleted:"
msgstr ""
-#: src/commandhandler.cpp:1133 src/commandhandler.cpp:1140
+#: src/commandhandler.cpp:1171 src/commandhandler.cpp:1178
msgid "Resource images:"
msgstr ""
-#: src/commandhandler.cpp:1135 src/commandhandler.cpp:1142
+#: src/commandhandler.cpp:1173 src/commandhandler.cpp:1180
msgid "Resource orphaned images:"
msgstr ""
#: src/commandhandler.h:40
#, c-format
msgid "Options to /%s are \"yes\", \"no\", \"true\", \"false\", \"1\", \"0\"."
-msgstr ""
-"Gültige Optionen für /%s sind \"yes\",\"no\",\"true\",\"false\",\"1\",\"0\"."
+msgstr "Gültige Optionen für /%s sind \"yes\",\"no\",\"true\",\"false\",\"1\",\"0\"."
#: src/game.cpp:252 src/gui/widgets/chattab.cpp:403
msgid "General"
@@ -328,35 +330,35 @@ msgstr "Allgemein"
msgid "Debug"
msgstr "Debug"
-#: src/game.cpp:513
+#: src/game.cpp:506
msgid "Screenshot saved as "
msgstr "Bildschirmfoto gespeichert unter"
-#: src/game.cpp:521
+#: src/game.cpp:514
msgid "Saving screenshot failed!"
msgstr "Bildschirmfoto konnte nicht gespeichert werden!"
-#: src/game.cpp:560
+#: src/game.cpp:554
msgid "The connection to the server was lost."
msgstr "Die Verbindung zum Server wurde getrennt."
-#: src/game.cpp:572
+#: src/game.cpp:557
msgid "Network Error"
msgstr "Netzwerkfehler"
-#: src/game.cpp:1322
+#: src/game.cpp:1332
msgid "Ignoring incoming trade requests"
msgstr "Ignoriere eingehende Handelsanfragen"
-#: src/game.cpp:1332
+#: src/game.cpp:1342
msgid "Accepting incoming trade requests"
msgstr "Akzeptiere eingehende Handelsanfragen"
-#: src/game.cpp:1732
+#: src/game.cpp:1750
msgid "Could Not Load Map"
msgstr "Karte konnte nicht geladen werden."
-#: src/game.cpp:1733
+#: src/game.cpp:1751
#, c-format
msgid "Error while loading %s"
msgstr "Fehler beim Laden von %s"
@@ -390,19 +392,19 @@ msgid "Name"
msgstr "Name"
#: src/gui/botcheckerwindow.cpp:297 src/gui/popupmenu.cpp:133
-#: src/gui/popupmenu.cpp:292 src/gui/popupmenu.cpp:614
+#: src/gui/popupmenu.cpp:303 src/gui/popupmenu.cpp:636
#: src/keyboardconfig.cpp:49 src/net/tmwa/generalhandler.cpp:269
msgid "Attack"
msgstr "Angriff"
-#: src/gui/botcheckerwindow.cpp:298 src/gui/popupmenu.cpp:281
+#: src/gui/botcheckerwindow.cpp:298 src/gui/popupmenu.cpp:292
#: src/keyboardconfig.cpp:62
msgid "Talk"
msgstr "Sprechen"
-#: src/gui/botcheckerwindow.cpp:299 src/gui/popupmenu.cpp:253
-#: src/gui/popupmenu.cpp:285 src/gui/popupmenu.cpp:437
-#: src/gui/popupmenu.cpp:669 src/gui/popupmenu.cpp:756
+#: src/gui/botcheckerwindow.cpp:299 src/gui/popupmenu.cpp:264
+#: src/gui/popupmenu.cpp:296 src/gui/popupmenu.cpp:459
+#: src/gui/popupmenu.cpp:702 src/gui/popupmenu.cpp:789
msgid "Move"
msgstr "Bewegen"
@@ -415,8 +417,8 @@ msgid "Reset"
msgstr "Zurücksetzten"
#: src/gui/buydialog.cpp:58 src/gui/buydialog.cpp:65 src/gui/buydialog.cpp:112
-#: src/gui/buyselldialog.cpp:65 src/gui/popupmenu.cpp:265
-#: src/gui/popupmenu.cpp:282 src/gui/popupmenu.cpp:681
+#: src/gui/buyselldialog.cpp:65 src/gui/popupmenu.cpp:276
+#: src/gui/popupmenu.cpp:293 src/gui/popupmenu.cpp:714
msgid "Buy"
msgstr "Kaufen"
@@ -434,7 +436,7 @@ msgstr ""
#. You may change this symbol if your language uses another.
#: src/gui/buydialog.cpp:108 src/gui/itemamountwindow.cpp:207
#: src/gui/itemamountwindow.cpp:235 src/gui/npcdialog.cpp:114
-#: src/gui/selldialog.cpp:91 src/gui/statuswindow.cpp:977
+#: src/gui/selldialog.cpp:91 src/gui/statuswindow.cpp:998
msgid "+"
msgstr "+"
@@ -442,7 +444,7 @@ msgstr "+"
#. You may change this symbol if your language uses another.
#: src/gui/buydialog.cpp:111 src/gui/itemamountwindow.cpp:206
#: src/gui/itemamountwindow.cpp:234 src/gui/npcdialog.cpp:115
-#: src/gui/selldialog.cpp:92 src/gui/statuswindow.cpp:989
+#: src/gui/selldialog.cpp:92 src/gui/statuswindow.cpp:1010
msgid "-"
msgstr "-"
@@ -454,8 +456,8 @@ msgid "Quit"
msgstr "Beenden"
#: src/gui/buydialog.cpp:114 src/gui/selldialog.cpp:95
-#: src/gui/statuswindow.cpp:504 src/gui/statuswindow.cpp:554
-#: src/gui/statuswindow.cpp:976 src/gui/statuswindow.cpp:1007
+#: src/gui/statuswindow.cpp:505 src/gui/statuswindow.cpp:555
+#: src/gui/statuswindow.cpp:997 src/gui/statuswindow.cpp:1028
msgid "Max"
msgstr "Max"
@@ -464,8 +466,8 @@ msgstr "Max"
msgid "Shop"
msgstr "Laden"
-#: src/gui/buyselldialog.cpp:65 src/gui/popupmenu.cpp:266
-#: src/gui/popupmenu.cpp:283 src/gui/popupmenu.cpp:682
+#: src/gui/buyselldialog.cpp:65 src/gui/popupmenu.cpp:277
+#: src/gui/popupmenu.cpp:294 src/gui/popupmenu.cpp:715
#: src/gui/selldialog.cpp:53 src/gui/selldialog.cpp:60
#: src/gui/selldialog.cpp:93
msgid "Sell"
@@ -474,15 +476,15 @@ msgstr "Verkaufen"
#: src/gui/buyselldialog.cpp:65 src/gui/changeemaildialog.cpp:59
#: src/gui/changepassworddialog.cpp:61 src/gui/charcreatedialog.cpp:96
#: src/gui/connectiondialog.cpp:47 src/gui/itemamountwindow.cpp:209
-#: src/gui/npcpostdialog.cpp:58 src/gui/popupmenu.cpp:333
-#: src/gui/popupmenu.cpp:354 src/gui/popupmenu.cpp:478
-#: src/gui/popupmenu.cpp:504 src/gui/popupmenu.cpp:528
-#: src/gui/popupmenu.cpp:541 src/gui/popupmenu.cpp:559
-#: src/gui/popupmenu.cpp:772 src/gui/popupmenu.cpp:796
-#: src/gui/popupmenu.cpp:1732 src/gui/popupmenu.cpp:1760
-#: src/gui/popupmenu.cpp:1816 src/gui/popupmenu.cpp:1861
-#: src/gui/popupmenu.cpp:1896 src/gui/popupmenu.cpp:1935
-#: src/gui/popupmenu.cpp:1987 src/gui/popupmenu.cpp:2007
+#: src/gui/npcpostdialog.cpp:58 src/gui/popupmenu.cpp:344
+#: src/gui/popupmenu.cpp:365 src/gui/popupmenu.cpp:500
+#: src/gui/popupmenu.cpp:526 src/gui/popupmenu.cpp:550
+#: src/gui/popupmenu.cpp:563 src/gui/popupmenu.cpp:581
+#: src/gui/popupmenu.cpp:805 src/gui/popupmenu.cpp:829
+#: src/gui/popupmenu.cpp:1775 src/gui/popupmenu.cpp:1803
+#: src/gui/popupmenu.cpp:1859 src/gui/popupmenu.cpp:1904
+#: src/gui/popupmenu.cpp:1939 src/gui/popupmenu.cpp:1978
+#: src/gui/popupmenu.cpp:2030 src/gui/popupmenu.cpp:2050
#: src/gui/quitdialog.cpp:55 src/gui/register.cpp:82 src/gui/setup.cpp:72
#: src/gui/socialwindow.cpp:1077 src/gui/textcommandeditor.cpp:241
#: src/gui/textdialog.cpp:51 src/gui/unregisterdialog.cpp:59
@@ -653,7 +655,7 @@ msgid "Enter password:"
msgstr ""
#: src/gui/charselectdialog.cpp:410 src/gui/serverdialog.cpp:298
-#: src/gui/setup_relations.cpp:243 src/gui/shopwindow.cpp:122
+#: src/gui/setup_relations.cpp:244 src/gui/shopwindow.cpp:122
#: src/gui/shopwindow.cpp:125 src/gui/textcommandeditor.cpp:244
msgid "Delete"
msgstr "Löschen"
@@ -729,8 +731,9 @@ msgstr "Regenbogen 3"
#: src/gui/chatwindow.cpp:142 src/gui/inventorywindow.cpp:90
#: src/gui/itemamountwindow.cpp:93 src/gui/logindialog.cpp:78
-#: src/gui/setup_relations.cpp:221 src/gui/setup_theme.cpp:73
-#: src/gui/setup_theme.cpp:127 src/gui/setup_video.cpp:211
+#: src/gui/setup_joystick.cpp:60 src/gui/setup_relations.cpp:222
+#: src/gui/setup_theme.cpp:74 src/gui/setup_theme.cpp:128
+#: src/gui/setup_theme.cpp:173 src/gui/setup_video.cpp:211
#: src/gui/textcommandeditor.cpp:102 src/gui/textcommandeditor.cpp:141
#: src/gui/textcommandeditor.cpp:160
msgid "???"
@@ -740,12 +743,12 @@ msgstr "???"
msgid "Chat"
msgstr "Chat"
-#: src/gui/chatwindow.cpp:613
+#: src/gui/chatwindow.cpp:615
#, c-format
msgid "Present: %s; %d players are present."
msgstr "Anwesend: %s ;%d Spieler sind anwesend."
-#: src/gui/chatwindow.cpp:1000
+#: src/gui/chatwindow.cpp:1002
#, c-format
msgid "Whispering to %s: %s"
msgstr "Flüsternd zu %s: %s"
@@ -759,10 +762,12 @@ msgid "No"
msgstr "Nein"
#: src/gui/confirmdialog.cpp:52 src/gui/popupmenu.cpp:146
-#: src/gui/popupmenu.cpp:153 src/gui/popupmenu.cpp:161
-#: src/gui/popupmenu.cpp:380 src/gui/popupmenu.cpp:387
-#: src/gui/popupmenu.cpp:395 src/gui/popupmenu.cpp:626
-#: src/gui/popupmenu.cpp:633 src/gui/popupmenu.cpp:641
+#: src/gui/popupmenu.cpp:154 src/gui/popupmenu.cpp:163
+#: src/gui/popupmenu.cpp:171 src/gui/popupmenu.cpp:391
+#: src/gui/popupmenu.cpp:399 src/gui/popupmenu.cpp:408
+#: src/gui/popupmenu.cpp:427 src/gui/popupmenu.cpp:648
+#: src/gui/popupmenu.cpp:656 src/gui/popupmenu.cpp:665
+#: src/gui/popupmenu.cpp:679
msgid "Ignore"
msgstr "ignorieren"
@@ -908,7 +913,7 @@ msgstr ""
#: src/gui/didyouknowwindow.cpp:63 src/gui/helpwindow.cpp:59
#: src/gui/inventorywindow.cpp:205 src/gui/npcdialog.cpp:53
-#: src/gui/popupmenu.cpp:574 src/gui/shopwindow.cpp:113
+#: src/gui/popupmenu.cpp:596 src/gui/shopwindow.cpp:113
msgid "Close"
msgstr "Schließen"
@@ -935,8 +940,8 @@ msgstr "Ausrüstung"
#: src/gui/equipmentwindow.cpp:95 src/gui/inventorywindow.cpp:160
#: src/gui/inventorywindow.cpp:545 src/gui/inventorywindow.cpp:554
-#: src/gui/popupmenu.cpp:1694 src/gui/popupmenu.cpp:1786
-#: src/gui/popupmenu.cpp:1831
+#: src/gui/popupmenu.cpp:1737 src/gui/popupmenu.cpp:1829
+#: src/gui/popupmenu.cpp:1874
msgid "Unequip"
msgstr "Ablegen"
@@ -978,31 +983,31 @@ msgid "Filter:"
msgstr "Filter:"
#: src/gui/inventorywindow.cpp:158 src/gui/inventorywindow.cpp:547
-#: src/gui/inventorywindow.cpp:556 src/gui/popupmenu.cpp:1696
-#: src/gui/popupmenu.cpp:1788 src/gui/popupmenu.cpp:1833
+#: src/gui/inventorywindow.cpp:556 src/gui/popupmenu.cpp:1739
+#: src/gui/popupmenu.cpp:1831 src/gui/popupmenu.cpp:1876
msgid "Equip"
msgstr "Ausrüsten"
#: src/gui/inventorywindow.cpp:159 src/gui/inventorywindow.cpp:548
-#: src/gui/inventorywindow.cpp:552 src/gui/popupmenu.cpp:1700
-#: src/gui/popupmenu.cpp:1755 src/gui/popupmenu.cpp:1792
-#: src/gui/popupmenu.cpp:1837
+#: src/gui/inventorywindow.cpp:552 src/gui/popupmenu.cpp:1743
+#: src/gui/popupmenu.cpp:1798 src/gui/popupmenu.cpp:1835
+#: src/gui/popupmenu.cpp:1880
msgid "Use"
msgstr "Benutzen"
#: src/gui/inventorywindow.cpp:173 src/gui/inventorywindow.cpp:652
-#: src/gui/popupmenu.cpp:1705 src/gui/popupmenu.cpp:1797
-#: src/gui/popupmenu.cpp:1842
+#: src/gui/popupmenu.cpp:1748 src/gui/popupmenu.cpp:1840
+#: src/gui/popupmenu.cpp:1885
msgid "Drop..."
msgstr "Wegwerfen"
-#: src/gui/inventorywindow.cpp:174 src/gui/popupmenu.cpp:1714
-#: src/gui/popupmenu.cpp:1806 src/gui/popupmenu.cpp:1851
+#: src/gui/inventorywindow.cpp:174 src/gui/popupmenu.cpp:1757
+#: src/gui/popupmenu.cpp:1849 src/gui/popupmenu.cpp:1894
msgid "Split"
msgstr "Aufteilen"
#: src/gui/inventorywindow.cpp:175 src/gui/outfitwindow.cpp:60
-#: src/gui/popupmenu.cpp:537
+#: src/gui/popupmenu.cpp:559
msgid "Outfits"
msgstr "Ausrüstung"
@@ -1011,17 +1016,17 @@ msgid "Weight:"
msgstr "Gewicht:"
#: src/gui/inventorywindow.cpp:203 src/gui/inventorywindow.cpp:643
-#: src/gui/popupmenu.cpp:1680 src/gui/popupmenu.cpp:1809
-#: src/gui/popupmenu.cpp:1854 src/gui/setup.cpp:73
+#: src/gui/popupmenu.cpp:1723 src/gui/popupmenu.cpp:1852
+#: src/gui/popupmenu.cpp:1897 src/gui/setup.cpp:73
msgid "Store"
msgstr "Aufbewahren"
-#: src/gui/inventorywindow.cpp:204 src/gui/popupmenu.cpp:1721
+#: src/gui/inventorywindow.cpp:204 src/gui/popupmenu.cpp:1764
msgid "Retrieve"
msgstr "Abholen"
-#: src/gui/inventorywindow.cpp:654 src/gui/popupmenu.cpp:1710
-#: src/gui/popupmenu.cpp:1802 src/gui/popupmenu.cpp:1847
+#: src/gui/inventorywindow.cpp:654 src/gui/popupmenu.cpp:1753
+#: src/gui/popupmenu.cpp:1845 src/gui/popupmenu.cpp:1890
#: src/gui/windowmenu.cpp:97
msgid "Drop"
msgstr "Wegwerfen"
@@ -1261,7 +1266,7 @@ msgstr "Absenden"
msgid "NPC"
msgstr "NPC"
-#: src/gui/npcdialog.cpp:108 src/gui/popupmenu.cpp:576
+#: src/gui/npcdialog.cpp:108 src/gui/popupmenu.cpp:598
msgid "Clear"
msgstr "Frei"
@@ -1299,331 +1304,347 @@ msgstr "Zuerst ausziehen"
msgid "Away outfit"
msgstr "Abwesend-Outfit"
-#: src/gui/popupmenu.cpp:132 src/gui/popupmenu.cpp:613
+#: src/gui/popupmenu.cpp:132 src/gui/popupmenu.cpp:635
#: src/gui/widgets/tradetab.cpp:44
msgid "Trade"
msgstr "Handeln"
-#: src/gui/popupmenu.cpp:134 src/gui/popupmenu.cpp:372
+#: src/gui/popupmenu.cpp:134 src/gui/popupmenu.cpp:383
msgid "Whisper"
msgstr "Flüstern"
-#: src/gui/popupmenu.cpp:138 src/gui/popupmenu.cpp:618
+#: src/gui/popupmenu.cpp:138 src/gui/popupmenu.cpp:640
msgid "Heal"
msgstr "Heilen"
-#: src/gui/popupmenu.cpp:144 src/gui/popupmenu.cpp:378
-#: src/gui/popupmenu.cpp:624
+#: src/gui/popupmenu.cpp:144 src/gui/popupmenu.cpp:389
+#: src/gui/popupmenu.cpp:646
msgid "Be friend"
msgstr "Befreunden"
-#: src/gui/popupmenu.cpp:145 src/gui/popupmenu.cpp:152
-#: src/gui/popupmenu.cpp:160 src/gui/popupmenu.cpp:178
-#: src/gui/popupmenu.cpp:379 src/gui/popupmenu.cpp:386
-#: src/gui/popupmenu.cpp:394 src/gui/popupmenu.cpp:412
-#: src/gui/popupmenu.cpp:625 src/gui/popupmenu.cpp:632
-#: src/gui/popupmenu.cpp:640 src/gui/popupmenu.cpp:658
+#: src/gui/popupmenu.cpp:145 src/gui/popupmenu.cpp:153
+#: src/gui/popupmenu.cpp:162 src/gui/popupmenu.cpp:170
+#: src/gui/popupmenu.cpp:189 src/gui/popupmenu.cpp:390
+#: src/gui/popupmenu.cpp:398 src/gui/popupmenu.cpp:407
+#: src/gui/popupmenu.cpp:426 src/gui/popupmenu.cpp:434
+#: src/gui/popupmenu.cpp:647 src/gui/popupmenu.cpp:655
+#: src/gui/popupmenu.cpp:664 src/gui/popupmenu.cpp:678
+#: src/gui/popupmenu.cpp:691
msgid "Disregard"
msgstr ""
-#: src/gui/popupmenu.cpp:147 src/gui/popupmenu.cpp:154
-#: src/gui/popupmenu.cpp:381 src/gui/popupmenu.cpp:388
-#: src/gui/popupmenu.cpp:627 src/gui/popupmenu.cpp:634
+#: src/gui/popupmenu.cpp:147 src/gui/popupmenu.cpp:155
+#: src/gui/popupmenu.cpp:172 src/gui/popupmenu.cpp:392
+#: src/gui/popupmenu.cpp:400 src/gui/popupmenu.cpp:428
+#: src/gui/popupmenu.cpp:649 src/gui/popupmenu.cpp:657
+#: src/gui/popupmenu.cpp:680
msgid "Black list"
msgstr ""
-#: src/gui/popupmenu.cpp:148 src/gui/popupmenu.cpp:155
-#: src/gui/popupmenu.cpp:162 src/gui/popupmenu.cpp:168
-#: src/gui/popupmenu.cpp:173 src/gui/popupmenu.cpp:382
-#: src/gui/popupmenu.cpp:389 src/gui/popupmenu.cpp:396
-#: src/gui/popupmenu.cpp:402 src/gui/popupmenu.cpp:407
-#: src/gui/popupmenu.cpp:628 src/gui/popupmenu.cpp:635
-#: src/gui/popupmenu.cpp:642 src/gui/popupmenu.cpp:648
-#: src/gui/popupmenu.cpp:653
+#: src/gui/popupmenu.cpp:148 src/gui/popupmenu.cpp:156
+#: src/gui/popupmenu.cpp:164 src/gui/popupmenu.cpp:393
+#: src/gui/popupmenu.cpp:401 src/gui/popupmenu.cpp:409
+#: src/gui/popupmenu.cpp:650 src/gui/popupmenu.cpp:658
+#: src/gui/popupmenu.cpp:666
+msgid "Set as enemy"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:149 src/gui/popupmenu.cpp:157
+#: src/gui/popupmenu.cpp:165 src/gui/popupmenu.cpp:173
+#: src/gui/popupmenu.cpp:179 src/gui/popupmenu.cpp:184
+#: src/gui/popupmenu.cpp:394 src/gui/popupmenu.cpp:402
+#: src/gui/popupmenu.cpp:410 src/gui/popupmenu.cpp:416
+#: src/gui/popupmenu.cpp:421 src/gui/popupmenu.cpp:429
+#: src/gui/popupmenu.cpp:651 src/gui/popupmenu.cpp:659
+#: src/gui/popupmenu.cpp:667 src/gui/popupmenu.cpp:673
+#: src/gui/popupmenu.cpp:681 src/gui/popupmenu.cpp:686
msgid "Erase"
msgstr ""
-#: src/gui/popupmenu.cpp:159 src/gui/popupmenu.cpp:166
-#: src/gui/popupmenu.cpp:172 src/gui/popupmenu.cpp:177
-#: src/gui/popupmenu.cpp:393 src/gui/popupmenu.cpp:400
-#: src/gui/popupmenu.cpp:406 src/gui/popupmenu.cpp:411
-#: src/gui/popupmenu.cpp:639 src/gui/popupmenu.cpp:646
-#: src/gui/popupmenu.cpp:652 src/gui/popupmenu.cpp:657
+#: src/gui/popupmenu.cpp:161 src/gui/popupmenu.cpp:169
+#: src/gui/popupmenu.cpp:177 src/gui/popupmenu.cpp:183
+#: src/gui/popupmenu.cpp:188 src/gui/popupmenu.cpp:406
+#: src/gui/popupmenu.cpp:414 src/gui/popupmenu.cpp:420
+#: src/gui/popupmenu.cpp:425 src/gui/popupmenu.cpp:433
+#: src/gui/popupmenu.cpp:663 src/gui/popupmenu.cpp:671
+#: src/gui/popupmenu.cpp:677 src/gui/popupmenu.cpp:685
+#: src/gui/popupmenu.cpp:690
msgid "Unignore"
msgstr ""
-#: src/gui/popupmenu.cpp:167 src/gui/popupmenu.cpp:179
-#: src/gui/popupmenu.cpp:401 src/gui/popupmenu.cpp:413
-#: src/gui/popupmenu.cpp:647 src/gui/popupmenu.cpp:659
-#: src/playerrelations.cpp:421
+#: src/gui/popupmenu.cpp:178 src/gui/popupmenu.cpp:190
+#: src/gui/popupmenu.cpp:415 src/gui/popupmenu.cpp:435
+#: src/gui/popupmenu.cpp:672 src/gui/popupmenu.cpp:692
+#: src/playerrelations.cpp:446
msgid "Completely ignore"
msgstr "@@ignore|Ignoriere %s komplett@@"
-#: src/gui/popupmenu.cpp:187 src/gui/popupmenu.cpp:421
-#: src/gui/popupmenu.cpp:667 src/gui/popupmenu.cpp:746
+#: src/gui/popupmenu.cpp:198 src/gui/popupmenu.cpp:443
+#: src/gui/popupmenu.cpp:700 src/gui/popupmenu.cpp:779
msgid "Follow"
msgstr "Folgen"
-#: src/gui/popupmenu.cpp:188 src/gui/popupmenu.cpp:422
-#: src/gui/popupmenu.cpp:668 src/gui/popupmenu.cpp:747
+#: src/gui/popupmenu.cpp:199 src/gui/popupmenu.cpp:444
+#: src/gui/popupmenu.cpp:701 src/gui/popupmenu.cpp:780
msgid "Imitation"
msgstr ""
-#: src/gui/popupmenu.cpp:197 src/gui/popupmenu.cpp:700
+#: src/gui/popupmenu.cpp:208 src/gui/popupmenu.cpp:733
msgid "Invite to party"
msgstr ""
-#: src/gui/popupmenu.cpp:202 src/gui/popupmenu.cpp:433
-#: src/gui/popupmenu.cpp:705
+#: src/gui/popupmenu.cpp:213 src/gui/popupmenu.cpp:455
+#: src/gui/popupmenu.cpp:738
msgid "Kick from party"
msgstr ""
-#: src/gui/popupmenu.cpp:217 src/gui/popupmenu.cpp:229
-#: src/gui/popupmenu.cpp:450 src/gui/popupmenu.cpp:722
+#: src/gui/popupmenu.cpp:228 src/gui/popupmenu.cpp:240
+#: src/gui/popupmenu.cpp:472 src/gui/popupmenu.cpp:755
msgid "Kick from guild"
msgstr ""
-#: src/gui/popupmenu.cpp:222 src/gui/popupmenu.cpp:234
-#: src/gui/popupmenu.cpp:455 src/gui/popupmenu.cpp:727
+#: src/gui/popupmenu.cpp:233 src/gui/popupmenu.cpp:245
+#: src/gui/popupmenu.cpp:477 src/gui/popupmenu.cpp:760
msgid "Change pos in guild"
msgstr ""
-#: src/gui/popupmenu.cpp:242 src/gui/popupmenu.cpp:463
-#: src/gui/popupmenu.cpp:736
+#: src/gui/popupmenu.cpp:253 src/gui/popupmenu.cpp:485
+#: src/gui/popupmenu.cpp:769
msgid "Invite to guild"
msgstr ""
-#: src/gui/popupmenu.cpp:250
+#: src/gui/popupmenu.cpp:261
msgid "Kick player"
msgstr ""
-#: src/gui/popupmenu.cpp:252
+#: src/gui/popupmenu.cpp:263
msgid "Nuke"
msgstr ""
-#: src/gui/popupmenu.cpp:254 src/gui/popupmenu.cpp:670
-#: src/gui/popupmenu.cpp:759
+#: src/gui/popupmenu.cpp:265 src/gui/popupmenu.cpp:703
+#: src/gui/popupmenu.cpp:792
msgid "Show Items"
msgstr ""
-#: src/gui/popupmenu.cpp:255 src/gui/popupmenu.cpp:671
-#: src/gui/popupmenu.cpp:760 src/gui/popupmenu.cpp:2004
+#: src/gui/popupmenu.cpp:266 src/gui/popupmenu.cpp:704
+#: src/gui/popupmenu.cpp:793 src/gui/popupmenu.cpp:2047
msgid "Undress"
msgstr ""
-#: src/gui/popupmenu.cpp:256 src/gui/popupmenu.cpp:286
-#: src/gui/popupmenu.cpp:423 src/gui/popupmenu.cpp:672
-#: src/gui/popupmenu.cpp:761
+#: src/gui/popupmenu.cpp:267 src/gui/popupmenu.cpp:297
+#: src/gui/popupmenu.cpp:445 src/gui/popupmenu.cpp:705
+#: src/gui/popupmenu.cpp:794
msgid "Add comment"
msgstr "Kommentar hinzufügen"
-#: src/gui/popupmenu.cpp:271 src/gui/popupmenu.cpp:471
-#: src/gui/popupmenu.cpp:687 src/gui/popupmenu.cpp:766
+#: src/gui/popupmenu.cpp:282 src/gui/popupmenu.cpp:493
+#: src/gui/popupmenu.cpp:720 src/gui/popupmenu.cpp:799
msgid "Buy (?)"
msgstr ""
-#: src/gui/popupmenu.cpp:272 src/gui/popupmenu.cpp:472
-#: src/gui/popupmenu.cpp:688 src/gui/popupmenu.cpp:767
+#: src/gui/popupmenu.cpp:283 src/gui/popupmenu.cpp:494
+#: src/gui/popupmenu.cpp:721 src/gui/popupmenu.cpp:800
msgid "Sell (?)"
msgstr ""
-#: src/gui/popupmenu.cpp:297
+#: src/gui/popupmenu.cpp:308
msgid "Kick"
msgstr ""
-#: src/gui/popupmenu.cpp:308
+#: src/gui/popupmenu.cpp:319
msgid "Remove from attack list"
msgstr ""
-#: src/gui/popupmenu.cpp:313
+#: src/gui/popupmenu.cpp:324
msgid "Add to priority attack list"
msgstr ""
-#: src/gui/popupmenu.cpp:315
+#: src/gui/popupmenu.cpp:326
msgid "Add to attack list"
msgstr ""
-#: src/gui/popupmenu.cpp:317
+#: src/gui/popupmenu.cpp:328
msgid "Add to ignore list"
msgstr ""
-#: src/gui/popupmenu.cpp:330 src/gui/popupmenu.cpp:475
+#: src/gui/popupmenu.cpp:341 src/gui/popupmenu.cpp:497
msgid "Add name to chat"
msgstr ""
-#: src/gui/popupmenu.cpp:500
+#: src/gui/popupmenu.cpp:522
msgid "Pick up"
msgstr "Aufheben"
-#: src/gui/popupmenu.cpp:501 src/gui/popupmenu.cpp:1730
-#: src/gui/popupmenu.cpp:1810 src/gui/popupmenu.cpp:1855
+#: src/gui/popupmenu.cpp:523 src/gui/popupmenu.cpp:1773
+#: src/gui/popupmenu.cpp:1853 src/gui/popupmenu.cpp:1898
msgid "Add to chat"
msgstr "Zu Chat hinzufügen"
-#: src/gui/popupmenu.cpp:518
+#: src/gui/popupmenu.cpp:540
msgid "Map Item"
msgstr ""
-#: src/gui/popupmenu.cpp:519
+#: src/gui/popupmenu.cpp:541
msgid "Rename"
msgstr "Umbenennen"
-#: src/gui/popupmenu.cpp:520 src/gui/popupmenu.cpp:1965
-#: src/gui/popupmenu.cpp:1976 src/gui/popupmenu.cpp:1980
+#: src/gui/popupmenu.cpp:542 src/gui/popupmenu.cpp:2008
+#: src/gui/popupmenu.cpp:2019 src/gui/popupmenu.cpp:2023
msgid "Remove"
msgstr "Entfernen"
-#: src/gui/popupmenu.cpp:525
+#: src/gui/popupmenu.cpp:547
msgid "Warp"
msgstr ""
-#: src/gui/popupmenu.cpp:538
+#: src/gui/popupmenu.cpp:560
msgid "Load old outfits"
msgstr ""
-#: src/gui/popupmenu.cpp:554 src/gui/windowmenu.cpp:96
+#: src/gui/popupmenu.cpp:576 src/gui/windowmenu.cpp:96
msgid "Spells"
msgstr "Zaubersprüche"
-#: src/gui/popupmenu.cpp:555
+#: src/gui/popupmenu.cpp:577
msgid "Load old spells"
msgstr ""
-#: src/gui/popupmenu.cpp:556
+#: src/gui/popupmenu.cpp:578
msgid "Edit spell"
msgstr ""
-#: src/gui/popupmenu.cpp:580
+#: src/gui/popupmenu.cpp:602
msgid "Disable highlight"
msgstr "Hervorhebung abschalten"
-#: src/gui/popupmenu.cpp:582
+#: src/gui/popupmenu.cpp:604
msgid "Enable highlight"
msgstr "Hervorhebung einschalten"
-#: src/gui/popupmenu.cpp:584
+#: src/gui/popupmenu.cpp:606
msgid "Don't remove name"
msgstr ""
-#: src/gui/popupmenu.cpp:586
+#: src/gui/popupmenu.cpp:608
msgid "Remove name"
msgstr ""
-#: src/gui/popupmenu.cpp:588
+#: src/gui/popupmenu.cpp:610
msgid "Enable away"
msgstr ""
-#: src/gui/popupmenu.cpp:590
+#: src/gui/popupmenu.cpp:612
msgid "Disable away"
msgstr ""
-#: src/gui/popupmenu.cpp:595 src/gui/socialwindow.cpp:1141
+#: src/gui/popupmenu.cpp:617 src/gui/socialwindow.cpp:1141
msgid "Leave"
msgstr "Verlassen"
-#: src/gui/popupmenu.cpp:780
+#: src/gui/popupmenu.cpp:813
msgid "Change guild position"
msgstr "Position der Gilde ändern"
#. TRANSLATORS: number of chars in string should be near original
-#: src/gui/popupmenu.cpp:1243
+#: src/gui/popupmenu.cpp:1286
msgid "Rename map sign "
msgstr "Kartenzeichen umbenennen"
#. TRANSLATORS: number of chars in string should be near original
-#: src/gui/popupmenu.cpp:1245
+#: src/gui/popupmenu.cpp:1288
msgid "Name: "
msgstr "Name:"
#. TRANSLATORS: number of chars in string should be near original
-#: src/gui/popupmenu.cpp:1295
+#: src/gui/popupmenu.cpp:1338
msgid "Player comment "
msgstr ""
#. TRANSLATORS: number of chars in string should be near original
-#: src/gui/popupmenu.cpp:1297
+#: src/gui/popupmenu.cpp:1340
msgid "Comment: "
msgstr ""
-#: src/gui/popupmenu.cpp:1668
+#: src/gui/popupmenu.cpp:1711
msgid "Add to trade"
msgstr ""
-#: src/gui/popupmenu.cpp:1672
+#: src/gui/popupmenu.cpp:1715
msgid "Add to trade 10"
msgstr ""
-#: src/gui/popupmenu.cpp:1673
+#: src/gui/popupmenu.cpp:1716
msgid "Add to trade half"
msgstr ""
-#: src/gui/popupmenu.cpp:1674
+#: src/gui/popupmenu.cpp:1717
msgid "Add to trade all"
msgstr ""
-#: src/gui/popupmenu.cpp:1684
+#: src/gui/popupmenu.cpp:1727
msgid "Store 10"
msgstr "10 aufbewahren"
-#: src/gui/popupmenu.cpp:1685
+#: src/gui/popupmenu.cpp:1728
msgid "Store half"
msgstr "Die Hälfte aufbewahren"
-#: src/gui/popupmenu.cpp:1686
+#: src/gui/popupmenu.cpp:1729
msgid "Store all"
msgstr "Alles aufbewahren"
-#: src/gui/popupmenu.cpp:1706 src/gui/popupmenu.cpp:1798
-#: src/gui/popupmenu.cpp:1843
+#: src/gui/popupmenu.cpp:1749 src/gui/popupmenu.cpp:1841
+#: src/gui/popupmenu.cpp:1886
msgid "Drop all"
msgstr ""
-#: src/gui/popupmenu.cpp:1725
+#: src/gui/popupmenu.cpp:1768
msgid "Retrieve 10"
msgstr "10 abholen"
-#: src/gui/popupmenu.cpp:1726
+#: src/gui/popupmenu.cpp:1769
msgid "Retrieve half"
msgstr "Die Hälfte abholen"
-#: src/gui/popupmenu.cpp:1727
+#: src/gui/popupmenu.cpp:1770
msgid "Retrieve all"
msgstr "Alles abholen"
-#: src/gui/popupmenu.cpp:1758 src/gui/popupmenu.cpp:1814
+#: src/gui/popupmenu.cpp:1801 src/gui/popupmenu.cpp:1857
msgid "Load old item shortcuts"
msgstr ""
-#: src/gui/popupmenu.cpp:1859
+#: src/gui/popupmenu.cpp:1902
msgid "Load old drop shortcuts"
msgstr ""
-#: src/gui/popupmenu.cpp:1885 src/gui/popupmenu.cpp:1920
+#: src/gui/popupmenu.cpp:1928 src/gui/popupmenu.cpp:1963
msgid "Hide"
msgstr ""
-#: src/gui/popupmenu.cpp:1891 src/gui/popupmenu.cpp:1926
+#: src/gui/popupmenu.cpp:1934 src/gui/popupmenu.cpp:1969
msgid "Show"
msgstr ""
-#: src/gui/popupmenu.cpp:1932
+#: src/gui/popupmenu.cpp:1975
msgid "Reset yellow bar"
msgstr ""
-#: src/gui/popupmenu.cpp:1934 src/gui/statuswindow.cpp:241
+#: src/gui/popupmenu.cpp:1977 src/gui/statuswindow.cpp:242
msgid "Copy to chat"
msgstr ""
-#: src/gui/popupmenu.cpp:1952 src/gui/socialwindow.cpp:958
+#: src/gui/popupmenu.cpp:1995 src/gui/setup_theme.cpp:88
+#: src/gui/setup_theme.cpp:145 src/gui/socialwindow.cpp:958
#: src/gui/socialwindow.cpp:993 src/gui/socialwindow.cpp:1028
msgid "(default)"
msgstr ""
-#: src/gui/popupmenu.cpp:1962 src/gui/popupmenu.cpp:1973
+#: src/gui/popupmenu.cpp:2005 src/gui/popupmenu.cpp:2016
msgid "Move up"
msgstr ""
-#: src/gui/popupmenu.cpp:1964 src/gui/popupmenu.cpp:1975
+#: src/gui/popupmenu.cpp:2007 src/gui/popupmenu.cpp:2018
msgid "Move down"
msgstr ""
@@ -1938,29 +1959,33 @@ msgstr "Anwenden"
msgid "Reset Windows"
msgstr "Fenster zurücksetzen"
-#: src/gui/setup_joystick.cpp:40 src/gui/setup_joystick.cpp:79
+#: src/gui/setup_joystick.cpp:70 src/gui/setup_joystick.cpp:142
msgid "Press the button to start calibration"
msgstr "Knopf drücken um die Kalibrierung zu starten"
-#: src/gui/setup_joystick.cpp:41 src/gui/setup_joystick.cpp:77
+#: src/gui/setup_joystick.cpp:71 src/gui/setup_joystick.cpp:140
msgid "Calibrate"
msgstr "Kalibrieren"
-#: src/gui/setup_joystick.cpp:42
+#: src/gui/setup_joystick.cpp:72
msgid "Enable joystick"
msgstr "Joystick aktivieren"
-#: src/gui/setup_joystick.cpp:44
+#: src/gui/setup_joystick.cpp:75
+msgid "Use joystick if client window inactive"
+msgstr ""
+
+#: src/gui/setup_joystick.cpp:78
msgid "Joystick"
msgstr "Joystick"
-#: src/gui/setup_joystick.cpp:84
+#: src/gui/setup_joystick.cpp:147
msgid "Stop"
msgstr "Stopp"
-#: src/gui/setup_joystick.cpp:85
-msgid "Rotate the stick"
-msgstr "Kreise den Steuerknüppel"
+#: src/gui/setup_joystick.cpp:149
+msgid "Rotate the stick and dont press buttons"
+msgstr ""
#: src/gui/setup_keyboard.cpp:80
msgid "Keyboard"
@@ -2143,22 +2168,22 @@ msgid "Enable bot checker"
msgstr "Botprüfer einschalten"
#: src/gui/setup_other.cpp:174
-msgid "Enable buggy servers protection"
+msgid "Enable buggy servers protection (do not disable)"
msgstr ""
-#: src/gui/setup_other.cpp:177
+#: src/gui/setup_other.cpp:178
msgid "Enable debug log"
msgstr "Debug-Protokoll benutzen"
-#: src/gui/setup_other.cpp:180
+#: src/gui/setup_other.cpp:181
msgid "Low traffic mode"
msgstr ""
-#: src/gui/setup_other.cpp:183
+#: src/gui/setup_other.cpp:184
msgid "Hide shield sprite"
msgstr ""
-#: src/gui/setup_other.cpp:186
+#: src/gui/setup_other.cpp:187
msgid "Show background"
msgstr "Zeige Hintergrund"
@@ -2286,91 +2311,151 @@ msgstr "Gelöscht"
msgid "Blacklisted"
msgstr ""
-#: src/gui/setup_relations.cpp:239
+#: src/gui/setup_relations.cpp:76
+msgid "Enemy"
+msgstr ""
+
+#: src/gui/setup_relations.cpp:240
msgid "Allow trading"
msgstr "Handeln erlauben"
-#: src/gui/setup_relations.cpp:241
+#: src/gui/setup_relations.cpp:242
msgid "Allow whispers"
msgstr "Flüstern erlauben"
-#: src/gui/setup_relations.cpp:244
+#: src/gui/setup_relations.cpp:245
msgid "Old"
msgstr "Alt"
-#: src/gui/setup_relations.cpp:246
+#: src/gui/setup_relations.cpp:247
msgid "Relations"
msgstr ""
-#: src/gui/setup_relations.cpp:271
+#: src/gui/setup_relations.cpp:272
msgid "When ignoring:"
msgstr "Wenn ignorierend:"
-#: src/gui/setup_theme.cpp:107
+#: src/gui/setup_theme.cpp:108
msgid "Tiny (10)"
msgstr "Winzig"
-#: src/gui/setup_theme.cpp:108
+#: src/gui/setup_theme.cpp:109
msgid "Small (11)"
msgstr "Klein"
-#: src/gui/setup_theme.cpp:109
+#: src/gui/setup_theme.cpp:110
msgid "Medium (12)"
msgstr "Mittel"
-#: src/gui/setup_theme.cpp:110
+#: src/gui/setup_theme.cpp:111
msgid "Large (13)"
msgstr "Groß"
-#: src/gui/setup_theme.cpp:111
+#: src/gui/setup_theme.cpp:112
msgid "Big (14)"
msgstr "Sehr groß"
-#: src/gui/setup_theme.cpp:112
+#: src/gui/setup_theme.cpp:113
msgid "Huge (15)"
msgstr "Riesig"
-#: src/gui/setup_theme.cpp:143
+#: src/gui/setup_theme.cpp:146
+msgid "Chinese (China)"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:147
+msgid "Czech"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:148
+msgid "English"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:149
+msgid "Finnish"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:150
+msgid "French"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:151
+msgid "German"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:152
+msgid "Indonesian"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:153
+msgid "Japanese"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:154
+msgid "Dutch (Belgium/Flemish)"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:155
+msgid "Portuguese"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:156
+msgid "Portuguese (Brazilian)"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:157
+msgid "Russian"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:158
+msgid "Spanish (Castilian)"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:190
msgid "Theme"
msgstr "Theme"
-#: src/gui/setup_theme.cpp:145
+#: src/gui/setup_theme.cpp:192
msgid "Gui theme"
msgstr "GUI Theme"
-#: src/gui/setup_theme.cpp:146
+#: src/gui/setup_theme.cpp:193
+msgid "Language"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:194
msgid "Main Font"
msgstr "Hauptschriftart"
-#: src/gui/setup_theme.cpp:147
+#: src/gui/setup_theme.cpp:195
msgid "Bold font"
msgstr "Dicke Schrift"
-#: src/gui/setup_theme.cpp:148
+#: src/gui/setup_theme.cpp:196
msgid "Particle font"
msgstr "Schrift von Spieleraktionen"
-#: src/gui/setup_theme.cpp:149
+#: src/gui/setup_theme.cpp:197
msgid "Help font"
msgstr ""
-#: src/gui/setup_theme.cpp:150
+#: src/gui/setup_theme.cpp:198
msgid "Secure font"
msgstr ""
-#: src/gui/setup_theme.cpp:151
+#: src/gui/setup_theme.cpp:199
msgid "Japanese font"
msgstr ""
-#: src/gui/setup_theme.cpp:183
+#: src/gui/setup_theme.cpp:236
msgid "Font size"
msgstr "Schriftgröße"
-#: src/gui/setup_theme.cpp:299
+#: src/gui/setup_theme.cpp:377
msgid "Theme Changed"
msgstr "Theme geändert"
-#: src/gui/setup_theme.cpp:300 src/gui/setup_video.cpp:619
+#: src/gui/setup_theme.cpp:378 src/gui/setup_video.cpp:619
#: src/gui/setup_video.cpp:624
msgid "Restart your client for the change to take effect."
msgstr "Starte das Spiel neu um die Änderungen zu übernehmen."
@@ -2805,422 +2890,445 @@ msgstr "Name deiner Party wählen."
msgid "Specials"
msgstr "Special"
-#: src/gui/statuspopup.cpp:197
+#: src/gui/statuspopup.cpp:204
msgid "(D) default moves"
msgstr ""
-#: src/gui/statuspopup.cpp:202
+#: src/gui/statuspopup.cpp:209
msgid "(I) invert moves"
msgstr ""
-#: src/gui/statuspopup.cpp:207
+#: src/gui/statuspopup.cpp:214
msgid "(c) moves with some crazy moves"
msgstr ""
-#: src/gui/statuspopup.cpp:212
+#: src/gui/statuspopup.cpp:219
msgid "(C) moves with crazy moves"
msgstr ""
-#: src/gui/statuspopup.cpp:217
+#: src/gui/statuspopup.cpp:224
msgid "(d) double normal + crazy"
msgstr ""
-#: src/gui/statuspopup.cpp:222
+#: src/gui/statuspopup.cpp:229
msgid "(?) move"
msgstr ""
-#: src/gui/statuspopup.cpp:240
+#: src/gui/statuspopup.cpp:247
msgid "(a) custom crazy move"
msgstr ""
-#: src/gui/statuspopup.cpp:244
+#: src/gui/statuspopup.cpp:251
msgid "(?) crazy move"
msgstr ""
-#: src/gui/statuspopup.cpp:254
+#: src/gui/statuspopup.cpp:261
msgid "(0) default moves to target"
msgstr ""
-#: src/gui/statuspopup.cpp:259
+#: src/gui/statuspopup.cpp:266
msgid "(1) moves to target in distance 1"
msgstr ""
-#: src/gui/statuspopup.cpp:264
+#: src/gui/statuspopup.cpp:271
msgid "(2) moves to target in distance 2"
msgstr ""
-#: src/gui/statuspopup.cpp:269
+#: src/gui/statuspopup.cpp:276
msgid "(3) moves to target in distance 3"
msgstr ""
-#: src/gui/statuspopup.cpp:274
+#: src/gui/statuspopup.cpp:281
msgid "(5) moves to target in distance 5"
msgstr ""
-#: src/gui/statuspopup.cpp:279
+#: src/gui/statuspopup.cpp:286
msgid "(7) moves to target in distance 7"
msgstr ""
-#: src/gui/statuspopup.cpp:284
+#: src/gui/statuspopup.cpp:291
msgid "(A) moves to target in attack range"
msgstr ""
-#: src/gui/statuspopup.cpp:289
+#: src/gui/statuspopup.cpp:296
msgid "(a) archer attack range"
msgstr ""
-#: src/gui/statuspopup.cpp:294
+#: src/gui/statuspopup.cpp:301
msgid "(?) move to target"
msgstr ""
-#: src/gui/statuspopup.cpp:302
+#: src/gui/statuspopup.cpp:309
msgid "(D) default follow"
msgstr ""
-#: src/gui/statuspopup.cpp:306
+#: src/gui/statuspopup.cpp:313
msgid "(R) relative follow"
msgstr ""
-#: src/gui/statuspopup.cpp:310
+#: src/gui/statuspopup.cpp:317
msgid "(M) mirror follow"
msgstr ""
-#: src/gui/statuspopup.cpp:314
+#: src/gui/statuspopup.cpp:321
msgid "(P) pet follow"
msgstr ""
-#: src/gui/statuspopup.cpp:318
+#: src/gui/statuspopup.cpp:325
msgid "(?) unknown follow"
msgstr ""
-#: src/gui/statuspopup.cpp:327 src/gui/statuspopup.cpp:350
+#: src/gui/statuspopup.cpp:334 src/gui/statuspopup.cpp:357
msgid "(D) default attack"
msgstr ""
-#: src/gui/statuspopup.cpp:332
+#: src/gui/statuspopup.cpp:339
msgid "(s) switch attack without shield"
msgstr ""
-#: src/gui/statuspopup.cpp:337
+#: src/gui/statuspopup.cpp:344
msgid "(S) switch attack with shield"
msgstr ""
-#: src/gui/statuspopup.cpp:341 src/gui/statuspopup.cpp:366
+#: src/gui/statuspopup.cpp:348 src/gui/statuspopup.cpp:373
msgid "(?) attack"
msgstr ""
-#: src/gui/statuspopup.cpp:354
+#: src/gui/statuspopup.cpp:361
msgid "(G) go and attack"
msgstr ""
-#: src/gui/statuspopup.cpp:358
+#: src/gui/statuspopup.cpp:365
msgid "(A) go, attack, pickup"
msgstr ""
-#: src/gui/statuspopup.cpp:362
+#: src/gui/statuspopup.cpp:369
msgid "(d) without auto attack"
msgstr ""
-#: src/gui/statuspopup.cpp:380
+#: src/gui/statuspopup.cpp:387
msgid "(S) small pick up 1x1 cells"
msgstr ""
-#: src/gui/statuspopup.cpp:384
+#: src/gui/statuspopup.cpp:391
msgid "(D) default pick up 2x1 cells"
msgstr ""
-#: src/gui/statuspopup.cpp:388
+#: src/gui/statuspopup.cpp:395
msgid "(F) forward pick up 2x3 cells"
msgstr ""
-#: src/gui/statuspopup.cpp:392
+#: src/gui/statuspopup.cpp:399
msgid "(3) pick up 3x3 cells"
msgstr ""
-#: src/gui/statuspopup.cpp:396
+#: src/gui/statuspopup.cpp:403
msgid "(g) go and pick up in distance 4"
msgstr ""
-#: src/gui/statuspopup.cpp:400
+#: src/gui/statuspopup.cpp:407
msgid "(G) go and pick up in distance 8"
msgstr ""
-#: src/gui/statuspopup.cpp:404
+#: src/gui/statuspopup.cpp:411
msgid "(A) go and pick up in max distance"
msgstr ""
-#: src/gui/statuspopup.cpp:408
+#: src/gui/statuspopup.cpp:415
msgid "(?) pick up"
msgstr ""
-#: src/gui/statuspopup.cpp:417
+#: src/gui/statuspopup.cpp:424
msgid "(N) normal map view"
msgstr ""
-#: src/gui/statuspopup.cpp:421
+#: src/gui/statuspopup.cpp:428
msgid "(D) debug map view"
msgstr ""
-#: src/gui/statuspopup.cpp:425
+#: src/gui/statuspopup.cpp:432
msgid "(u) ultra map view"
msgstr ""
-#: src/gui/statuspopup.cpp:429
+#: src/gui/statuspopup.cpp:436
msgid "(U) ultra map view 2"
msgstr ""
-#: src/gui/statuspopup.cpp:433
+#: src/gui/statuspopup.cpp:440
msgid "(e) empty map view"
msgstr ""
-#: src/gui/statuspopup.cpp:437
+#: src/gui/statuspopup.cpp:444
msgid "(b) black & white map view"
msgstr ""
-#: src/gui/statuspopup.cpp:441
+#: src/gui/statuspopup.cpp:448
msgid "(?) map view"
msgstr ""
-#: src/gui/statuspopup.cpp:449
+#: src/gui/statuspopup.cpp:456
msgid "(f) use #flar for magic attack"
msgstr ""
-#: src/gui/statuspopup.cpp:454
+#: src/gui/statuspopup.cpp:461
msgid "(c) use #chiza for magic attack"
msgstr ""
-#: src/gui/statuspopup.cpp:459
+#: src/gui/statuspopup.cpp:466
msgid "(I) use #ingrav for magic attack"
msgstr ""
-#: src/gui/statuspopup.cpp:464
+#: src/gui/statuspopup.cpp:471
msgid "(F) use #frillyar for magic attack"
msgstr ""
-#: src/gui/statuspopup.cpp:469
+#: src/gui/statuspopup.cpp:476
msgid "(U) use #upmarmu for magic attack"
msgstr ""
-#: src/gui/statuspopup.cpp:473
+#: src/gui/statuspopup.cpp:480
msgid "(?) magic attack"
msgstr ""
-#: src/gui/statuspopup.cpp:482
+#: src/gui/statuspopup.cpp:489
+msgid "(a) attack all players"
+msgstr ""
+
+#: src/gui/statuspopup.cpp:493
+msgid "(f) attack not friends"
+msgstr ""
+
+#: src/gui/statuspopup.cpp:497
+msgid "(b) attack bad relations"
+msgstr ""
+
+#: src/gui/statuspopup.cpp:501
+msgid "(d) dont attack players"
+msgstr ""
+
+#: src/gui/statuspopup.cpp:505
+msgid "(?) pvp attack"
+msgstr ""
+
+#: src/gui/statuspopup.cpp:514
msgid "(D) default imitation"
msgstr ""
-#: src/gui/statuspopup.cpp:486
+#: src/gui/statuspopup.cpp:518
msgid "(O) outfits imitation"
msgstr ""
-#: src/gui/statuspopup.cpp:490
+#: src/gui/statuspopup.cpp:522
msgid "(?) imitation"
msgstr ""
-#: src/gui/statuspopup.cpp:499
+#: src/gui/statuspopup.cpp:531
msgid "(O) on keyboard"
msgstr ""
-#: src/gui/statuspopup.cpp:502
+#: src/gui/statuspopup.cpp:534
msgid "(A) away"
msgstr ""
-#: src/gui/statuspopup.cpp:505 src/gui/statuspopup.cpp:525
+#: src/gui/statuspopup.cpp:537 src/gui/statuspopup.cpp:557
msgid "(?) away"
msgstr ""
-#: src/gui/statuspopup.cpp:513
+#: src/gui/statuspopup.cpp:545
msgid "(G) game camera mode"
msgstr ""
-#: src/gui/statuspopup.cpp:517
+#: src/gui/statuspopup.cpp:549
msgid "(F) free camera mode"
msgstr ""
-#: src/gui/statuspopup.cpp:521
+#: src/gui/statuspopup.cpp:553
msgid "(D) design camera mode"
msgstr ""
-#: src/gui/statuspopup.cpp:532
+#: src/gui/statuspopup.cpp:564
msgid "Game modifiers are disabled"
msgstr ""
-#: src/gui/statuspopup.cpp:537
+#: src/gui/statuspopup.cpp:569
msgid "Game modifiers are enabled"
msgstr ""
-#: src/gui/statuswindow.cpp:143 src/gui/statuswindow.cpp:273
-#: src/gui/statuswindow.cpp:336
+#: src/gui/statuswindow.cpp:144 src/gui/statuswindow.cpp:274
+#: src/gui/statuswindow.cpp:337
#, c-format
msgid "Level: %d"
msgstr "Stufe: %d"
-#: src/gui/statuswindow.cpp:144 src/gui/statuswindow.cpp:259
-#: src/gui/statuswindow.cpp:303
+#: src/gui/statuswindow.cpp:145 src/gui/statuswindow.cpp:260
+#: src/gui/statuswindow.cpp:304
#, c-format
msgid "Money: %s"
msgstr "Geld: %s"
-#: src/gui/statuswindow.cpp:150
+#: src/gui/statuswindow.cpp:151
msgid "HP:"
msgstr "HP:"
-#: src/gui/statuswindow.cpp:157
+#: src/gui/statuswindow.cpp:158
msgid "Exp:"
msgstr "Exp:"
-#: src/gui/statuswindow.cpp:171
+#: src/gui/statuswindow.cpp:172
msgid "MP:"
msgstr "MP:"
-#: src/gui/statuswindow.cpp:203 src/gui/statuswindow.cpp:386
+#: src/gui/statuswindow.cpp:204 src/gui/statuswindow.cpp:387
#, c-format
msgid "Job: %d"
msgstr "Job: %d"
-#: src/gui/statuswindow.cpp:204
+#: src/gui/statuswindow.cpp:205
msgid "Job:"
msgstr "Job:"
-#: src/gui/statuswindow.cpp:262 src/gui/statuswindow.cpp:310
+#: src/gui/statuswindow.cpp:263 src/gui/statuswindow.cpp:311
#, c-format
msgid "Character points: %d"
msgstr ""
-#: src/gui/statuswindow.cpp:268
+#: src/gui/statuswindow.cpp:269
#, c-format
msgid "Level: %d (GM %d)"
msgstr "Level: %d (GM %d)"
-#: src/gui/statuswindow.cpp:324
+#: src/gui/statuswindow.cpp:325
#, c-format
msgid "Correction points: %d"
msgstr ""
-#: src/gui/statuswindow.cpp:648 src/gui/statuswindow.cpp:716
-#: src/gui/statuswindow.cpp:736 src/gui/statuswindow.cpp:752
-#: src/gui/statuswindow.cpp:798 src/gui/statuswindow.cpp:827
-#: src/gui/statuswindow.cpp:850 src/gui/statuswindow.cpp:869
+#: src/gui/statuswindow.cpp:649 src/gui/statuswindow.cpp:717
+#: src/gui/statuswindow.cpp:737 src/gui/statuswindow.cpp:753
+#: src/gui/statuswindow.cpp:818 src/gui/statuswindow.cpp:847
+#: src/gui/statuswindow.cpp:870 src/gui/statuswindow.cpp:889
msgid "(D)"
msgstr ""
-#: src/gui/statuswindow.cpp:651 src/gui/statuswindow.cpp:777
+#: src/gui/statuswindow.cpp:652 src/gui/statuswindow.cpp:778
msgid "(I)"
msgstr ""
-#: src/gui/statuswindow.cpp:654 src/gui/statuswindow.cpp:774
+#: src/gui/statuswindow.cpp:655 src/gui/statuswindow.cpp:775
msgid "(c)"
msgstr ""
-#: src/gui/statuswindow.cpp:657
+#: src/gui/statuswindow.cpp:658
msgid "(C)"
msgstr ""
-#: src/gui/statuswindow.cpp:660 src/gui/statuswindow.cpp:761
+#: src/gui/statuswindow.cpp:661 src/gui/statuswindow.cpp:762
+#: src/gui/statuswindow.cpp:803
msgid "(d)"
msgstr ""
-#: src/gui/statuswindow.cpp:663 src/gui/statuswindow.cpp:677
-#: src/gui/statuswindow.cpp:709 src/gui/statuswindow.cpp:728
-#: src/gui/statuswindow.cpp:745 src/gui/statuswindow.cpp:764
-#: src/gui/statuswindow.cpp:786 src/gui/statuswindow.cpp:816
-#: src/gui/statuswindow.cpp:842 src/gui/statuswindow.cpp:856
-#: src/gui/statuswindow.cpp:872 src/gui/statuswindow.cpp:885
+#: src/gui/statuswindow.cpp:664 src/gui/statuswindow.cpp:678
+#: src/gui/statuswindow.cpp:710 src/gui/statuswindow.cpp:729
+#: src/gui/statuswindow.cpp:746 src/gui/statuswindow.cpp:765
+#: src/gui/statuswindow.cpp:787 src/gui/statuswindow.cpp:806
+#: src/gui/statuswindow.cpp:836 src/gui/statuswindow.cpp:862
+#: src/gui/statuswindow.cpp:876 src/gui/statuswindow.cpp:892
+#: src/gui/statuswindow.cpp:905
msgid "(?)"
msgstr ""
-#: src/gui/statuswindow.cpp:674 src/gui/statuswindow.cpp:706
+#: src/gui/statuswindow.cpp:675 src/gui/statuswindow.cpp:707
+#: src/gui/statuswindow.cpp:794
msgid "(a)"
msgstr ""
-#: src/gui/statuswindow.cpp:685
+#: src/gui/statuswindow.cpp:686
msgid "(0)"
msgstr ""
-#: src/gui/statuswindow.cpp:688
+#: src/gui/statuswindow.cpp:689
msgid "(1)"
msgstr ""
-#: src/gui/statuswindow.cpp:691
+#: src/gui/statuswindow.cpp:692
msgid "(2)"
msgstr ""
-#: src/gui/statuswindow.cpp:694 src/gui/statuswindow.cpp:804
+#: src/gui/statuswindow.cpp:695 src/gui/statuswindow.cpp:824
msgid "(3)"
msgstr ""
-#: src/gui/statuswindow.cpp:697
+#: src/gui/statuswindow.cpp:698
msgid "(5)"
msgstr ""
-#: src/gui/statuswindow.cpp:700
+#: src/gui/statuswindow.cpp:701
msgid "(7)"
msgstr ""
-#: src/gui/statuswindow.cpp:703 src/gui/statuswindow.cpp:758
-#: src/gui/statuswindow.cpp:813 src/gui/statuswindow.cpp:882
+#: src/gui/statuswindow.cpp:704 src/gui/statuswindow.cpp:759
+#: src/gui/statuswindow.cpp:833 src/gui/statuswindow.cpp:902
msgid "(A)"
msgstr ""
-#: src/gui/statuswindow.cpp:719
+#: src/gui/statuswindow.cpp:720
msgid "(R)"
msgstr ""
-#: src/gui/statuswindow.cpp:722
+#: src/gui/statuswindow.cpp:723
msgid "(M)"
msgstr ""
-#: src/gui/statuswindow.cpp:725
+#: src/gui/statuswindow.cpp:726
msgid "(P)"
msgstr ""
-#: src/gui/statuswindow.cpp:739
+#: src/gui/statuswindow.cpp:740
msgid "(s)"
msgstr ""
-#: src/gui/statuswindow.cpp:742 src/gui/statuswindow.cpp:795
+#: src/gui/statuswindow.cpp:743 src/gui/statuswindow.cpp:815
msgid "(S)"
msgstr ""
-#: src/gui/statuswindow.cpp:755 src/gui/statuswindow.cpp:810
-#: src/gui/statuswindow.cpp:863
+#: src/gui/statuswindow.cpp:756 src/gui/statuswindow.cpp:830
+#: src/gui/statuswindow.cpp:883
msgid "(G)"
msgstr ""
-#: src/gui/statuswindow.cpp:771
+#: src/gui/statuswindow.cpp:772 src/gui/statuswindow.cpp:797
msgid "(f)"
msgstr ""
-#: src/gui/statuswindow.cpp:780 src/gui/statuswindow.cpp:801
-#: src/gui/statuswindow.cpp:866
+#: src/gui/statuswindow.cpp:781 src/gui/statuswindow.cpp:821
+#: src/gui/statuswindow.cpp:886
msgid "(F)"
msgstr ""
-#: src/gui/statuswindow.cpp:783 src/gui/statuswindow.cpp:833
+#: src/gui/statuswindow.cpp:784 src/gui/statuswindow.cpp:853
msgid "(U)"
msgstr ""
-#: src/gui/statuswindow.cpp:807
+#: src/gui/statuswindow.cpp:800 src/gui/statuswindow.cpp:859
+msgid "(b)"
+msgstr ""
+
+#: src/gui/statuswindow.cpp:827
msgid "(g)"
msgstr ""
-#: src/gui/statuswindow.cpp:824
+#: src/gui/statuswindow.cpp:844
msgid "(N)"
msgstr ""
-#: src/gui/statuswindow.cpp:830
+#: src/gui/statuswindow.cpp:850
msgid "(u)"
msgstr ""
-#: src/gui/statuswindow.cpp:836
+#: src/gui/statuswindow.cpp:856
msgid "(e)"
msgstr ""
-#: src/gui/statuswindow.cpp:839
-msgid "(b)"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:853 src/gui/statuswindow.cpp:879
+#: src/gui/statuswindow.cpp:873 src/gui/statuswindow.cpp:899
msgid "(O)"
msgstr ""
@@ -3350,10 +3458,11 @@ msgid "You don't have enough money."
msgstr "Du hast nicht genügend Geld."
#: src/gui/tradewindow.cpp:454
-msgid "Failed adding item. You can not overlap one kind of item on the window."
+msgid ""
+"Failed adding item. You can not overlap one kind of item on the window."
msgstr ""
-"Gegenstand konnte nicht hinzugefügt werden. Du kannst keinen weiteren dieser "
-"Gegenstände hinzufügen."
+"Gegenstand konnte nicht hinzugefügt werden. Du kannst keinen weiteren dieser"
+" Gegenstände hinzufügen."
#: src/gui/unregisterdialog.cpp:54
#, c-format
@@ -3372,21 +3481,21 @@ msgstr "Verbinde..."
msgid "Play"
msgstr "Los!"
-#: src/gui/updaterwindow.cpp:564
+#: src/gui/updaterwindow.cpp:565
msgid "##1 The update process is incomplete."
msgstr "##1 Update wurde nicht erfolgreich abgeschlossen."
#. TRANSLATORS: Continues "you try again later.".
-#: src/gui/updaterwindow.cpp:566
+#: src/gui/updaterwindow.cpp:567
msgid "##1 It is strongly recommended that"
msgstr "##1 Es wird dringend empfohlen,"
#. TRANSLATORS: Begins "It is strongly recommended that".
-#: src/gui/updaterwindow.cpp:568
+#: src/gui/updaterwindow.cpp:569
msgid "##1 you try again later."
msgstr ""
-#: src/gui/updaterwindow.cpp:744
+#: src/gui/updaterwindow.cpp:745
msgid "Completed"
msgstr "Fertig"
@@ -3734,7 +3843,8 @@ msgid "Command: /unignore <player>"
msgstr "Befehl: /unignore <Spieler>"
#: src/gui/widgets/whispertab.cpp:131
-msgid "This command stops ignoring the other player if they are being ignored."
+msgid ""
+"This command stops ignoring the other player if they are being ignored."
msgstr ""
#: src/gui/windowmenu.cpp:65
@@ -3951,7 +4061,7 @@ msgstr ""
#: src/keyboardconfig.cpp:116 src/keyboardconfig.cpp:119
#: src/keyboardconfig.cpp:121 src/keyboardconfig.cpp:123
#: src/keyboardconfig.cpp:125 src/keyboardconfig.cpp:127
-#: src/keyboardconfig.cpp:369
+#: src/keyboardconfig.cpp:371
#, c-format
msgid "Item Shortcut %d"
msgstr "Kurztaste %d"
@@ -4078,7 +4188,7 @@ msgstr "Grinsen"
#: src/keyboardconfig.cpp:258 src/keyboardconfig.cpp:260
#: src/keyboardconfig.cpp:262 src/keyboardconfig.cpp:264
#: src/keyboardconfig.cpp:266 src/keyboardconfig.cpp:268
-#: src/keyboardconfig.cpp:364
+#: src/keyboardconfig.cpp:366
#, c-format
msgid "Emote Shortcut %d"
msgstr "Gefühlstaste %d"
@@ -4207,119 +4317,123 @@ msgstr ""
msgid "Switch magic attack"
msgstr ""
-#: src/keyboardconfig.cpp:328
-msgid "Change move type"
+#: src/keyboardconfig.cpp:329
+msgid "Switch pvp attack"
msgstr ""
#: src/keyboardconfig.cpp:330
-msgid "Change Attack Weapon Type"
+msgid "Change move type"
msgstr ""
#: src/keyboardconfig.cpp:332
-msgid "Change Attack Type"
+msgid "Change Attack Weapon Type"
msgstr ""
#: src/keyboardconfig.cpp:334
-msgid "Change Follow mode"
+msgid "Change Attack Type"
msgstr ""
#: src/keyboardconfig.cpp:336
+msgid "Change Follow mode"
+msgstr ""
+
+#: src/keyboardconfig.cpp:338
msgid "Change Imitation mode"
msgstr ""
-#: src/keyboardconfig.cpp:339
+#: src/keyboardconfig.cpp:341
msgid "Disable / Enable Game modifier keys"
msgstr ""
-#: src/keyboardconfig.cpp:340
+#: src/keyboardconfig.cpp:342
msgid "On / Off audio"
msgstr ""
-#: src/keyboardconfig.cpp:342
+#: src/keyboardconfig.cpp:344
msgid "Enable / Disable away mode"
msgstr ""
-#: src/keyboardconfig.cpp:344
+#: src/keyboardconfig.cpp:346
msgid "Emulate right click from keyboard"
msgstr ""
-#: src/keyboardconfig.cpp:346
+#: src/keyboardconfig.cpp:348
msgid "Toggle camera mode"
msgstr ""
-#: src/keyboardconfig.cpp:348
+#: src/keyboardconfig.cpp:350
msgid "Modifier key"
msgstr ""
-#: src/keyboardconfig.cpp:427
+#: src/keyboardconfig.cpp:429
#, c-format
msgid ""
"Conflict \"%s\" and \"%s\" keys. Resolve them, or gameplay may result in "
"strange behaviour."
msgstr ""
-#: src/localplayer.cpp:381
+#: src/localplayer.cpp:389
msgid "You were killed by "
msgstr ""
-#: src/localplayer.cpp:1428
+#: src/localplayer.cpp:1442
msgid "Tried to pick up nonexistent item."
msgstr ""
-#: src/localplayer.cpp:1430
+#: src/localplayer.cpp:1444
msgid "Item is too heavy."
msgstr ""
-#: src/localplayer.cpp:1432
+#: src/localplayer.cpp:1446
msgid "Item is too far away."
msgstr ""
-#: src/localplayer.cpp:1434
+#: src/localplayer.cpp:1448
msgid "Inventory is full."
msgstr ""
-#: src/localplayer.cpp:1436
+#: src/localplayer.cpp:1450
msgid "Stack is too big."
msgstr ""
-#: src/localplayer.cpp:1439
+#: src/localplayer.cpp:1453
msgid "Item belongs to someone else."
msgstr ""
-#: src/localplayer.cpp:1442
+#: src/localplayer.cpp:1456
msgid "Unknown problem picking up item."
msgstr ""
#. TRANSLATORS: %d is number,
#. [@@%d|%s@@] - here player can see link to item
-#: src/localplayer.cpp:1466
+#: src/localplayer.cpp:1480
#, c-format
msgid "You picked up %d [@@%d|%s@@]."
msgid_plural "You picked up %d [@@%d|%s@@]."
msgstr[0] ""
msgstr[1] ""
-#: src/localplayer.cpp:3181
+#: src/localplayer.cpp:3206
msgid "Away"
msgstr "Abwesend"
-#: src/localplayer.cpp:3509
+#: src/localplayer.cpp:3541
msgid "Follow: "
msgstr "Folgen:"
-#: src/localplayer.cpp:3511 src/localplayer.cpp:3526
+#: src/localplayer.cpp:3543 src/localplayer.cpp:3558
msgid "Follow canceled"
msgstr ""
-#: src/localplayer.cpp:3518
+#: src/localplayer.cpp:3550
msgid "Imitation: "
msgstr ""
-#: src/localplayer.cpp:3520 src/localplayer.cpp:3528
+#: src/localplayer.cpp:3552 src/localplayer.cpp:3560
msgid "Imitation canceled"
msgstr ""
-#: src/localplayer.cpp:3876
+#: src/localplayer.cpp:3908
msgid "You see "
msgstr "Du siehst"
@@ -4909,8 +5023,8 @@ msgid ""
"Your plan of breaking your enemies weapon by bashing it with your throat "
"failed."
msgstr ""
-"Dein Plan, die Waffe deines Feindes mit Deinem Hals zu zerstören, war leider "
-"nicht ganz so genial, wie Du dachtest..."
+"Dein Plan, die Waffe deines Feindes mit Deinem Hals zu zerstören, war leider"
+" nicht ganz so genial, wie Du dachtest..."
#: src/net/ea/playerhandler.cpp:107 src/net/manaserv/beinghandler.cpp:325
msgid "I guess this did not run too well."
@@ -5000,7 +5114,8 @@ msgstr "Nachricht"
#: src/net/ea/playerhandler.cpp:336
msgid ""
-"You are carrying more than half your weight. You are unable to regain health."
+"You are carrying more than half your weight. You are unable to regain "
+"health."
msgstr ""
#: src/net/ea/playerhandler.cpp:346
@@ -5110,53 +5225,53 @@ msgstr ""
msgid "%s wants to trade with you, do you accept?"
msgstr "%s möchte mit dir handeln, stimmst du zu?"
-#: src/net/ea/tradehandler.cpp:134
+#: src/net/ea/tradehandler.cpp:135
msgid "Trading isn't possible. Trade partner is too far away."
msgstr ""
-#: src/net/ea/tradehandler.cpp:138
+#: src/net/ea/tradehandler.cpp:139
msgid "Trading isn't possible. Character doesn't exist."
msgstr ""
-#: src/net/ea/tradehandler.cpp:142
+#: src/net/ea/tradehandler.cpp:143
msgid "Trade cancelled due to an unknown reason."
msgstr ""
-#: src/net/ea/tradehandler.cpp:148
+#: src/net/ea/tradehandler.cpp:149
#, c-format
msgid "Trade: You and %s"
msgstr ""
-#: src/net/ea/tradehandler.cpp:158
+#: src/net/ea/tradehandler.cpp:159
#, c-format
msgid "Trade with %s cancelled."
msgstr ""
-#: src/net/ea/tradehandler.cpp:171
+#: src/net/ea/tradehandler.cpp:172
msgid "Unhandled trade cancel packet."
msgstr ""
-#: src/net/ea/tradehandler.cpp:236
+#: src/net/ea/tradehandler.cpp:237
msgid "Failed adding item. Trade partner is over weighted."
msgstr ""
-#: src/net/ea/tradehandler.cpp:241
+#: src/net/ea/tradehandler.cpp:242
msgid "Failed adding item. Trade partner has no free slot."
msgstr ""
-#: src/net/ea/tradehandler.cpp:246
+#: src/net/ea/tradehandler.cpp:247
msgid "Failed adding item. You can't trade this item."
msgstr ""
-#: src/net/ea/tradehandler.cpp:250
+#: src/net/ea/tradehandler.cpp:251
msgid "Failed adding item for unknown reason."
msgstr ""
-#: src/net/ea/tradehandler.cpp:269 src/net/manaserv/tradehandler.cpp:160
+#: src/net/ea/tradehandler.cpp:270 src/net/manaserv/tradehandler.cpp:160
msgid "Trade canceled."
msgstr "Handel abgebrochen."
-#: src/net/ea/tradehandler.cpp:280 src/net/manaserv/tradehandler.cpp:167
+#: src/net/ea/tradehandler.cpp:281 src/net/manaserv/tradehandler.cpp:167
msgid "Trade completed."
msgstr "Handel abgeschlossen."
@@ -5578,15 +5693,15 @@ msgstr ""
msgid "Damage per sec."
msgstr ""
-#: src/net/tmwa/network.cpp:152
+#: src/net/tmwa/network.cpp:153
msgid "Empty address given to Network::connect()!"
msgstr "Empty address given to Network::connect()!"
-#: src/net/tmwa/network.cpp:356
+#: src/net/tmwa/network.cpp:357
msgid "Unable to resolve host \""
msgstr "Nicht möglich den host \" aufzulösen"
-#: src/net/tmwa/network.cpp:426
+#: src/net/tmwa/network.cpp:427
msgid "Connection to server terminated. "
msgstr "Verbindung mit Server abgebrochen. "
@@ -5595,19 +5710,19 @@ msgstr "Verbindung mit Server abgebrochen. "
msgid "%s is not in your party!"
msgstr "%s ist nicht in Deiner Party!"
-#: src/playerrelations.cpp:435
+#: src/playerrelations.cpp:460
msgid "Print '...'"
msgstr "Drucke '..'"
-#: src/playerrelations.cpp:455
+#: src/playerrelations.cpp:480
msgid "Blink name"
msgstr "Blinkender Name"
-#: src/playerrelations.cpp:499
+#: src/playerrelations.cpp:524
msgid "Floating '...' bubble"
msgstr "Schwebende '...' Blase"
-#: src/playerrelations.cpp:502
+#: src/playerrelations.cpp:527
msgid "Floating bubble"
msgstr "Schwebende Blase"
@@ -5639,3 +5754,5 @@ msgstr "MP %+d"
#: src/resources/itemdb.cpp:169
msgid "Unknown item"
msgstr "Unbekannter Gegenstand"
+
+
diff --git a/po/es.po b/po/es.po
index 03ba04764..528ba58fe 100644
--- a/po/es.po
+++ b/po/es.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR The ManaPlus Developers
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
# Andrei Karas <akaras@inbox.ru>, 2011.
# Jumpy <antoinebcn@hotmail.com>, 2011.
@@ -12,80 +12,79 @@ msgid ""
msgstr ""
"Project-Id-Version: ManaPlus\n"
"Report-Msgid-Bugs-To: akaras@inbox.ru\n"
-"POT-Creation-Date: 2011-10-28 03:52+0300\n"
-"PO-Revision-Date: 2011-10-29 03:29+0000\n"
-"Last-Translator: nelson6e65 <nelson6e65-manaplus@yahoo.es>\n"
-"Language-Team: Spanish (Castilian) (http://www.transifex.net/projects/p/"
-"manaplus/team/es/)\n"
-"Language: es\n"
+"POT-Creation-Date: 2011-11-12 00:23+0300\n"
+"PO-Revision-Date: 2011-11-11 21:38+0000\n"
+"Last-Translator: akaras <akaras@inbox.ru>\n"
+"Language-Team: Spanish (Castilian) (http://www.transifex.net/projects/p/manaplus/team/es/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Language: es\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
#: src/actorspritemanager.cpp:1171
msgid "Visible on map"
msgstr "Visible sobre el mapa"
-#: src/being.cpp:548
+#: src/being.cpp:551
msgid "dodge"
msgstr "evade"
-#: src/being.cpp:548
+#: src/being.cpp:551
msgid "miss"
msgstr "falla"
#. TRANSLATORS: this away status writed in player nick
-#: src/being.cpp:1527
+#: src/being.cpp:1530
msgid "A"
msgstr "A"
#. TRANSLATORS: this inactive status writed in player nick
-#: src/being.cpp:1532
+#: src/being.cpp:1535
msgid "I"
msgstr "I"
-#: src/client.cpp:835 src/gui/setup.cpp:54 src/gui/windowmenu.cpp:100
+#: src/client.cpp:869 src/gui/setup.cpp:54 src/gui/windowmenu.cpp:100
msgid "Setup"
msgstr "Configuración"
-#: src/client.cpp:842 src/gui/setup_perfomance.cpp:48
+#: src/client.cpp:876 src/gui/setup_perfomance.cpp:48
msgid "Perfomance"
msgstr "Rendimiento"
-#: src/client.cpp:847 src/gui/setup_video.cpp:315
+#: src/client.cpp:881 src/gui/setup_video.cpp:315
msgid "Video"
msgstr "Vídeo"
-#: src/client.cpp:852
+#: src/client.cpp:886
msgid "Themes"
msgstr "Temas"
-#: src/client.cpp:934
+#: src/client.cpp:968
msgid "Connecting to server"
msgstr "Conectando al servidor"
-#: src/client.cpp:965
+#: src/client.cpp:999
msgid "Logging in"
msgstr "Accediendo a la cuenta"
-#: src/client.cpp:998
+#: src/client.cpp:1032
msgid "Entering game world"
msgstr "Entrando al mundo del juego"
-#: src/client.cpp:1098
+#: src/client.cpp:1132
msgid "Requesting characters"
msgstr "Cargando personajes"
-#: src/client.cpp:1129
+#: src/client.cpp:1163
msgid "Connecting to the game server"
msgstr "Conectando al servidor del juego"
-#: src/client.cpp:1139
+#: src/client.cpp:1173
msgid "Changing game servers"
msgstr "Cambiando servidores del juego"
-#: src/client.cpp:1182 src/client.cpp:1189 src/client.cpp:1323
+#: src/client.cpp:1216 src/client.cpp:1223 src/client.cpp:1357
#: src/gui/changeemaildialog.cpp:157 src/gui/changepassworddialog.cpp:147
#: src/gui/charcreatedialog.cpp:221 src/gui/charselectdialog.cpp:253
#: src/gui/register.cpp:228 src/gui/serverdialog.cpp:401
@@ -95,229 +94,232 @@ msgstr "Cambiando servidores del juego"
msgid "Error"
msgstr "Error"
-#: src/client.cpp:1198
+#: src/client.cpp:1232
msgid "Requesting registration details"
msgstr "Solicitando detalles de registro"
-#: src/client.cpp:1224
+#: src/client.cpp:1258
msgid "Password Change"
msgstr "Cambio de contraseña"
-#: src/client.cpp:1225
+#: src/client.cpp:1259
msgid "Password changed successfully!"
msgstr "¡Contraseña cambiada exitosamente!"
-#: src/client.cpp:1244
+#: src/client.cpp:1278
msgid "Email Change"
msgstr "Cambio de Email"
-#: src/client.cpp:1245
+#: src/client.cpp:1279
msgid "Email changed successfully!"
msgstr "¡Email modificado exitosamente!"
-#: src/client.cpp:1265
+#: src/client.cpp:1299
msgid "Unregister Successful"
msgstr "Registro cancelado"
-#: src/client.cpp:1266
+#: src/client.cpp:1300
msgid "Farewell, come back any time..."
msgstr "Adiós, vuelve cuando quieras..."
-#: src/client.cpp:1465 src/client.cpp:1495 src/client.cpp:1510
-#: src/client.cpp:1935 src/client.cpp:1942
+#: src/client.cpp:1499 src/client.cpp:1529 src/client.cpp:1544
+#: src/client.cpp:1969 src/client.cpp:1976
#, c-format
msgid "%s doesn't exist and can't be created! Exiting."
msgstr "¡%s no existe y no puede ser creado! Saliendo."
-#: src/client.cpp:1641
+#: src/client.cpp:1675
#, c-format
msgid "Invalid update host: %s"
msgstr "Servidor de actualización inválido: %s"
-#: src/client.cpp:1675 src/client.cpp:1681
+#: src/client.cpp:1709 src/client.cpp:1715
msgid "Error creating updates directory!"
msgstr "¡Error al crear la carpeta de actualizaciones!"
-#: src/client.cpp:1702
+#: src/client.cpp:1736
#, c-format
msgid "Error: %s doesn't exist and can't be created! Exiting."
msgstr "Error: ¡%s no existe y no puede ser creado! Saliendo."
-#: src/commandhandler.cpp:205
+#: src/commandhandler.cpp:209
msgid "Unknown command."
msgstr "Comando desconocido."
-#: src/commandhandler.cpp:304
+#: src/commandhandler.cpp:329
msgid "Cannot send empty whispers!"
msgstr "¡No puedes enviar susurros vacíos!"
-#: src/commandhandler.cpp:318
+#: src/commandhandler.cpp:343
#, c-format
msgid ""
-"Cannot create a whisper tab for nick \"%s\"! It either already exists, or is "
-"you."
+"Cannot create a whisper tab for nick \"%s\"! It either already exists, or is"
+" you."
msgstr ""
"¡No se puede crear una pestaña de susurro para el nick \"%s\"! O bien ya "
"existe, o eres tú."
-#: src/commandhandler.cpp:338
+#: src/commandhandler.cpp:363
#, c-format
msgid "Requesting to join channel %s."
msgstr "Solicitando la entrada del canal %s."
-#: src/commandhandler.cpp:354 src/net/ea/gui/partytab.cpp:125
+#: src/commandhandler.cpp:379 src/net/ea/gui/partytab.cpp:125
msgid "Party name is missing."
msgstr "Falta el nombre del grupo."
-#: src/commandhandler.cpp:365
+#: src/commandhandler.cpp:390
msgid "Guild name is missing."
msgstr "Falta el nombre del Clan."
-#: src/commandhandler.cpp:378 src/commandhandler.cpp:496
-#: src/commandhandler.cpp:537 src/commandhandler.cpp:572
+#: src/commandhandler.cpp:403 src/commandhandler.cpp:521
+#: src/commandhandler.cpp:562 src/commandhandler.cpp:602
msgid "Please specify a name."
msgstr "Por favor, especifique un nombre."
-#: src/commandhandler.cpp:430
+#: src/commandhandler.cpp:455
msgid "Return toggles chat."
msgstr "Volver a alternar el chat."
-#: src/commandhandler.cpp:430
+#: src/commandhandler.cpp:455
msgid "Message closes chat."
msgstr "Mensaje cierra la charla."
-#: src/commandhandler.cpp:441
+#: src/commandhandler.cpp:466
msgid "Return now toggles chat."
msgstr "Volver ahora a cambiar de chat."
-#: src/commandhandler.cpp:447
+#: src/commandhandler.cpp:472
msgid "Message now closes chat."
msgstr "Mensaje ahora cierra el chat."
-#: src/commandhandler.cpp:475
+#: src/commandhandler.cpp:500
msgid "friend"
msgstr "amigo"
-#: src/commandhandler.cpp:480
+#: src/commandhandler.cpp:505
msgid "disregarded"
msgstr "desatendido"
-#: src/commandhandler.cpp:485
+#: src/commandhandler.cpp:510
msgid "neutral"
msgstr "neutral"
-#: src/commandhandler.cpp:504
+#: src/commandhandler.cpp:529
#, c-format
msgid "Player already %s!"
msgstr "¡Jugador ya es %s!"
-#: src/commandhandler.cpp:518
+#: src/commandhandler.cpp:543
#, c-format
msgid "Player successfully %s!"
msgstr "¡Jugador %s exitosamente!"
-#: src/commandhandler.cpp:526
+#: src/commandhandler.cpp:551
#, c-format
msgid "Player could not be %s!"
msgstr "¡Jugador no pudo ser %s!"
-#: src/commandhandler.cpp:549
+#: src/commandhandler.cpp:574
msgid "Player wasn't ignored!"
msgstr "El jugador no estaba ignorado!"
-#: src/commandhandler.cpp:556
+#: src/commandhandler.cpp:581
msgid "Player no longer ignored!"
msgstr "¡El jugador ya no es ignorado!"
-#: src/commandhandler.cpp:558
+#: src/commandhandler.cpp:583
msgid "Player could not be unignored!"
msgstr "¡Al jugador no se le puede dejar de ignorar!"
-#: src/commandhandler.cpp:564
+#: src/commandhandler.cpp:589
msgid "blacklisted"
msgstr "en la lista negra"
-#: src/commandhandler.cpp:579
+#: src/commandhandler.cpp:594
+msgid "enemy"
+msgstr "enemigo"
+
+#: src/commandhandler.cpp:609
msgid "Player already erased!"
msgstr "¡Jugador ya borrado!"
-#: src/commandhandler.cpp:590
+#: src/commandhandler.cpp:620
msgid "Player successfully erased!"
msgstr "¡Jugador borrado con éxito!"
-#: src/commandhandler.cpp:592
+#: src/commandhandler.cpp:622
msgid "Player could not be erased!"
msgstr "¡Jugador no pudo ser borrado!"
-#: src/commandhandler.cpp:892 src/commandhandler.cpp:938
+#: src/commandhandler.cpp:929 src/commandhandler.cpp:975
#, c-format
msgid "Client uptime: %s"
msgstr "Tiempo de actividad del cliente: %s"
-#: src/commandhandler.cpp:902
+#: src/commandhandler.cpp:939
#, c-format
msgid "%d week"
msgid_plural "%d weeks"
msgstr[0] "%d semana"
msgstr[1] "%d semanas"
-#: src/commandhandler.cpp:911
+#: src/commandhandler.cpp:948
#, c-format
msgid "%d day"
msgid_plural "%d days"
msgstr[0] "%d día"
msgstr[1] "%d días"
-#: src/commandhandler.cpp:919
+#: src/commandhandler.cpp:956
#, c-format
msgid "%d hour"
msgid_plural "%d hours"
msgstr[0] "%d hora"
msgstr[1] "%d horas"
-#: src/commandhandler.cpp:927
+#: src/commandhandler.cpp:964
#, c-format
msgid "%d minute"
msgid_plural "%d minutes"
msgstr[0] "%d minuto"
msgstr[1] "%d minutos"
-#: src/commandhandler.cpp:935
+#: src/commandhandler.cpp:972
#, c-format
msgid "%d second"
msgid_plural "%d seconds"
msgstr[0] "%d segundo"
msgstr[1] "%d segundos"
-#: src/commandhandler.cpp:1014
+#: src/commandhandler.cpp:1051
msgid "font cache size"
msgstr "tamaño de caché de fuente"
-#: src/commandhandler.cpp:1026
+#: src/commandhandler.cpp:1063
msgid "Cache size:"
msgstr "Tám. caché:"
-#: src/commandhandler.cpp:1030
+#: src/commandhandler.cpp:1067
msgid "Created:"
msgstr "Creado:"
-#: src/commandhandler.cpp:1032
+#: src/commandhandler.cpp:1069
msgid "Deleted:"
msgstr "Borrado:"
-#: src/commandhandler.cpp:1133 src/commandhandler.cpp:1140
+#: src/commandhandler.cpp:1171 src/commandhandler.cpp:1178
msgid "Resource images:"
msgstr "Imágenes de recurso:"
-#: src/commandhandler.cpp:1135 src/commandhandler.cpp:1142
+#: src/commandhandler.cpp:1173 src/commandhandler.cpp:1180
msgid "Resource orphaned images:"
msgstr "Imágenes de recurso huérfano:"
#: src/commandhandler.h:40
#, c-format
msgid "Options to /%s are \"yes\", \"no\", \"true\", \"false\", \"1\", \"0\"."
-msgstr ""
-"Opciones para /%s son \"yes\" | \"no\", \"true\" | \"false\", \"1\" | \"0\"."
+msgstr "Opciones para /%s son \"yes\" | \"no\", \"true\" | \"false\", \"1\" | \"0\"."
#: src/game.cpp:252 src/gui/widgets/chattab.cpp:403
msgid "General"
@@ -327,35 +329,35 @@ msgstr "General"
msgid "Debug"
msgstr "Depurador"
-#: src/game.cpp:513
+#: src/game.cpp:506
msgid "Screenshot saved as "
msgstr "Captura de pantalla guardada como "
-#: src/game.cpp:521
+#: src/game.cpp:514
msgid "Saving screenshot failed!"
msgstr "¡El guardado de la captura de pantalla ha fallado!"
-#: src/game.cpp:560
+#: src/game.cpp:554
msgid "The connection to the server was lost."
msgstr "Se ha perdido la conexión con el servidor."
-#: src/game.cpp:572
+#: src/game.cpp:557
msgid "Network Error"
msgstr "Error de Red"
-#: src/game.cpp:1322
+#: src/game.cpp:1332
msgid "Ignoring incoming trade requests"
msgstr "Ignorando las peticiones de intercambio"
-#: src/game.cpp:1332
+#: src/game.cpp:1342
msgid "Accepting incoming trade requests"
msgstr "Aceptando las peticiones de intercambio"
-#: src/game.cpp:1732
+#: src/game.cpp:1750
msgid "Could Not Load Map"
msgstr "No se pudo cargar el mapa"
-#: src/game.cpp:1733
+#: src/game.cpp:1751
#, c-format
msgid "Error while loading %s"
msgstr "Error mientras cargaba %s"
@@ -389,19 +391,19 @@ msgid "Name"
msgstr "Nombre"
#: src/gui/botcheckerwindow.cpp:297 src/gui/popupmenu.cpp:133
-#: src/gui/popupmenu.cpp:292 src/gui/popupmenu.cpp:614
+#: src/gui/popupmenu.cpp:303 src/gui/popupmenu.cpp:636
#: src/keyboardconfig.cpp:49 src/net/tmwa/generalhandler.cpp:269
msgid "Attack"
msgstr "Atacar"
-#: src/gui/botcheckerwindow.cpp:298 src/gui/popupmenu.cpp:281
+#: src/gui/botcheckerwindow.cpp:298 src/gui/popupmenu.cpp:292
#: src/keyboardconfig.cpp:62
msgid "Talk"
msgstr "Hablar"
-#: src/gui/botcheckerwindow.cpp:299 src/gui/popupmenu.cpp:253
-#: src/gui/popupmenu.cpp:285 src/gui/popupmenu.cpp:437
-#: src/gui/popupmenu.cpp:669 src/gui/popupmenu.cpp:756
+#: src/gui/botcheckerwindow.cpp:299 src/gui/popupmenu.cpp:264
+#: src/gui/popupmenu.cpp:296 src/gui/popupmenu.cpp:459
+#: src/gui/popupmenu.cpp:702 src/gui/popupmenu.cpp:789
msgid "Move"
msgstr "Mover"
@@ -414,8 +416,8 @@ msgid "Reset"
msgstr "Restablecer"
#: src/gui/buydialog.cpp:58 src/gui/buydialog.cpp:65 src/gui/buydialog.cpp:112
-#: src/gui/buyselldialog.cpp:65 src/gui/popupmenu.cpp:265
-#: src/gui/popupmenu.cpp:282 src/gui/popupmenu.cpp:681
+#: src/gui/buyselldialog.cpp:65 src/gui/popupmenu.cpp:276
+#: src/gui/popupmenu.cpp:293 src/gui/popupmenu.cpp:714
msgid "Buy"
msgstr "Comprar"
@@ -433,7 +435,7 @@ msgstr "Cantidad:"
#. You may change this symbol if your language uses another.
#: src/gui/buydialog.cpp:108 src/gui/itemamountwindow.cpp:207
#: src/gui/itemamountwindow.cpp:235 src/gui/npcdialog.cpp:114
-#: src/gui/selldialog.cpp:91 src/gui/statuswindow.cpp:977
+#: src/gui/selldialog.cpp:91 src/gui/statuswindow.cpp:998
msgid "+"
msgstr "+"
@@ -441,7 +443,7 @@ msgstr "+"
#. You may change this symbol if your language uses another.
#: src/gui/buydialog.cpp:111 src/gui/itemamountwindow.cpp:206
#: src/gui/itemamountwindow.cpp:234 src/gui/npcdialog.cpp:115
-#: src/gui/selldialog.cpp:92 src/gui/statuswindow.cpp:989
+#: src/gui/selldialog.cpp:92 src/gui/statuswindow.cpp:1010
msgid "-"
msgstr "-"
@@ -453,8 +455,8 @@ msgid "Quit"
msgstr "Salir"
#: src/gui/buydialog.cpp:114 src/gui/selldialog.cpp:95
-#: src/gui/statuswindow.cpp:504 src/gui/statuswindow.cpp:554
-#: src/gui/statuswindow.cpp:976 src/gui/statuswindow.cpp:1007
+#: src/gui/statuswindow.cpp:505 src/gui/statuswindow.cpp:555
+#: src/gui/statuswindow.cpp:997 src/gui/statuswindow.cpp:1028
msgid "Max"
msgstr "Máximo"
@@ -463,8 +465,8 @@ msgstr "Máximo"
msgid "Shop"
msgstr "Tienda"
-#: src/gui/buyselldialog.cpp:65 src/gui/popupmenu.cpp:266
-#: src/gui/popupmenu.cpp:283 src/gui/popupmenu.cpp:682
+#: src/gui/buyselldialog.cpp:65 src/gui/popupmenu.cpp:277
+#: src/gui/popupmenu.cpp:294 src/gui/popupmenu.cpp:715
#: src/gui/selldialog.cpp:53 src/gui/selldialog.cpp:60
#: src/gui/selldialog.cpp:93
msgid "Sell"
@@ -473,15 +475,15 @@ msgstr "Vender"
#: src/gui/buyselldialog.cpp:65 src/gui/changeemaildialog.cpp:59
#: src/gui/changepassworddialog.cpp:61 src/gui/charcreatedialog.cpp:96
#: src/gui/connectiondialog.cpp:47 src/gui/itemamountwindow.cpp:209
-#: src/gui/npcpostdialog.cpp:58 src/gui/popupmenu.cpp:333
-#: src/gui/popupmenu.cpp:354 src/gui/popupmenu.cpp:478
-#: src/gui/popupmenu.cpp:504 src/gui/popupmenu.cpp:528
-#: src/gui/popupmenu.cpp:541 src/gui/popupmenu.cpp:559
-#: src/gui/popupmenu.cpp:772 src/gui/popupmenu.cpp:796
-#: src/gui/popupmenu.cpp:1732 src/gui/popupmenu.cpp:1760
-#: src/gui/popupmenu.cpp:1816 src/gui/popupmenu.cpp:1861
-#: src/gui/popupmenu.cpp:1896 src/gui/popupmenu.cpp:1935
-#: src/gui/popupmenu.cpp:1987 src/gui/popupmenu.cpp:2007
+#: src/gui/npcpostdialog.cpp:58 src/gui/popupmenu.cpp:344
+#: src/gui/popupmenu.cpp:365 src/gui/popupmenu.cpp:500
+#: src/gui/popupmenu.cpp:526 src/gui/popupmenu.cpp:550
+#: src/gui/popupmenu.cpp:563 src/gui/popupmenu.cpp:581
+#: src/gui/popupmenu.cpp:805 src/gui/popupmenu.cpp:829
+#: src/gui/popupmenu.cpp:1775 src/gui/popupmenu.cpp:1803
+#: src/gui/popupmenu.cpp:1859 src/gui/popupmenu.cpp:1904
+#: src/gui/popupmenu.cpp:1939 src/gui/popupmenu.cpp:1978
+#: src/gui/popupmenu.cpp:2030 src/gui/popupmenu.cpp:2050
#: src/gui/quitdialog.cpp:55 src/gui/register.cpp:82 src/gui/setup.cpp:72
#: src/gui/socialwindow.cpp:1077 src/gui/textcommandeditor.cpp:241
#: src/gui/textdialog.cpp:51 src/gui/unregisterdialog.cpp:59
@@ -652,7 +654,7 @@ msgid "Enter password:"
msgstr "Ingrese contraseña:"
#: src/gui/charselectdialog.cpp:410 src/gui/serverdialog.cpp:298
-#: src/gui/setup_relations.cpp:243 src/gui/shopwindow.cpp:122
+#: src/gui/setup_relations.cpp:244 src/gui/shopwindow.cpp:122
#: src/gui/shopwindow.cpp:125 src/gui/textcommandeditor.cpp:244
msgid "Delete"
msgstr "Borrar"
@@ -728,8 +730,9 @@ msgstr "arco iris 3"
#: src/gui/chatwindow.cpp:142 src/gui/inventorywindow.cpp:90
#: src/gui/itemamountwindow.cpp:93 src/gui/logindialog.cpp:78
-#: src/gui/setup_relations.cpp:221 src/gui/setup_theme.cpp:73
-#: src/gui/setup_theme.cpp:127 src/gui/setup_video.cpp:211
+#: src/gui/setup_joystick.cpp:60 src/gui/setup_relations.cpp:222
+#: src/gui/setup_theme.cpp:74 src/gui/setup_theme.cpp:128
+#: src/gui/setup_theme.cpp:173 src/gui/setup_video.cpp:211
#: src/gui/textcommandeditor.cpp:102 src/gui/textcommandeditor.cpp:141
#: src/gui/textcommandeditor.cpp:160
msgid "???"
@@ -739,12 +742,12 @@ msgstr "???"
msgid "Chat"
msgstr "Chat"
-#: src/gui/chatwindow.cpp:613
+#: src/gui/chatwindow.cpp:615
#, c-format
msgid "Present: %s; %d players are present."
msgstr "Presentes: %s; %d jugadores estan presentes."
-#: src/gui/chatwindow.cpp:1000
+#: src/gui/chatwindow.cpp:1002
#, c-format
msgid "Whispering to %s: %s"
msgstr "Susurrando a %s: %s"
@@ -758,10 +761,12 @@ msgid "No"
msgstr "No"
#: src/gui/confirmdialog.cpp:52 src/gui/popupmenu.cpp:146
-#: src/gui/popupmenu.cpp:153 src/gui/popupmenu.cpp:161
-#: src/gui/popupmenu.cpp:380 src/gui/popupmenu.cpp:387
-#: src/gui/popupmenu.cpp:395 src/gui/popupmenu.cpp:626
-#: src/gui/popupmenu.cpp:633 src/gui/popupmenu.cpp:641
+#: src/gui/popupmenu.cpp:154 src/gui/popupmenu.cpp:163
+#: src/gui/popupmenu.cpp:171 src/gui/popupmenu.cpp:391
+#: src/gui/popupmenu.cpp:399 src/gui/popupmenu.cpp:408
+#: src/gui/popupmenu.cpp:427 src/gui/popupmenu.cpp:648
+#: src/gui/popupmenu.cpp:656 src/gui/popupmenu.cpp:665
+#: src/gui/popupmenu.cpp:679
msgid "Ignore"
msgstr "Ignorar"
@@ -907,7 +912,7 @@ msgstr "¿Sabías que...?"
#: src/gui/didyouknowwindow.cpp:63 src/gui/helpwindow.cpp:59
#: src/gui/inventorywindow.cpp:205 src/gui/npcdialog.cpp:53
-#: src/gui/popupmenu.cpp:574 src/gui/shopwindow.cpp:113
+#: src/gui/popupmenu.cpp:596 src/gui/shopwindow.cpp:113
msgid "Close"
msgstr "Cerrar"
@@ -934,8 +939,8 @@ msgstr "Equipamiento"
#: src/gui/equipmentwindow.cpp:95 src/gui/inventorywindow.cpp:160
#: src/gui/inventorywindow.cpp:545 src/gui/inventorywindow.cpp:554
-#: src/gui/popupmenu.cpp:1694 src/gui/popupmenu.cpp:1786
-#: src/gui/popupmenu.cpp:1831
+#: src/gui/popupmenu.cpp:1737 src/gui/popupmenu.cpp:1829
+#: src/gui/popupmenu.cpp:1874
msgid "Unequip"
msgstr "Quitárselo"
@@ -977,31 +982,31 @@ msgid "Filter:"
msgstr "Filtro:"
#: src/gui/inventorywindow.cpp:158 src/gui/inventorywindow.cpp:547
-#: src/gui/inventorywindow.cpp:556 src/gui/popupmenu.cpp:1696
-#: src/gui/popupmenu.cpp:1788 src/gui/popupmenu.cpp:1833
+#: src/gui/inventorywindow.cpp:556 src/gui/popupmenu.cpp:1739
+#: src/gui/popupmenu.cpp:1831 src/gui/popupmenu.cpp:1876
msgid "Equip"
msgstr "Equipar"
#: src/gui/inventorywindow.cpp:159 src/gui/inventorywindow.cpp:548
-#: src/gui/inventorywindow.cpp:552 src/gui/popupmenu.cpp:1700
-#: src/gui/popupmenu.cpp:1755 src/gui/popupmenu.cpp:1792
-#: src/gui/popupmenu.cpp:1837
+#: src/gui/inventorywindow.cpp:552 src/gui/popupmenu.cpp:1743
+#: src/gui/popupmenu.cpp:1798 src/gui/popupmenu.cpp:1835
+#: src/gui/popupmenu.cpp:1880
msgid "Use"
msgstr "Usar"
#: src/gui/inventorywindow.cpp:173 src/gui/inventorywindow.cpp:652
-#: src/gui/popupmenu.cpp:1705 src/gui/popupmenu.cpp:1797
-#: src/gui/popupmenu.cpp:1842
+#: src/gui/popupmenu.cpp:1748 src/gui/popupmenu.cpp:1840
+#: src/gui/popupmenu.cpp:1885
msgid "Drop..."
msgstr "Tirar..."
-#: src/gui/inventorywindow.cpp:174 src/gui/popupmenu.cpp:1714
-#: src/gui/popupmenu.cpp:1806 src/gui/popupmenu.cpp:1851
+#: src/gui/inventorywindow.cpp:174 src/gui/popupmenu.cpp:1757
+#: src/gui/popupmenu.cpp:1849 src/gui/popupmenu.cpp:1894
msgid "Split"
msgstr "Dividir"
#: src/gui/inventorywindow.cpp:175 src/gui/outfitwindow.cpp:60
-#: src/gui/popupmenu.cpp:537
+#: src/gui/popupmenu.cpp:559
msgid "Outfits"
msgstr "Conjuntos"
@@ -1010,17 +1015,17 @@ msgid "Weight:"
msgstr "Peso:"
#: src/gui/inventorywindow.cpp:203 src/gui/inventorywindow.cpp:643
-#: src/gui/popupmenu.cpp:1680 src/gui/popupmenu.cpp:1809
-#: src/gui/popupmenu.cpp:1854 src/gui/setup.cpp:73
+#: src/gui/popupmenu.cpp:1723 src/gui/popupmenu.cpp:1852
+#: src/gui/popupmenu.cpp:1897 src/gui/setup.cpp:73
msgid "Store"
msgstr "Almacenar"
-#: src/gui/inventorywindow.cpp:204 src/gui/popupmenu.cpp:1721
+#: src/gui/inventorywindow.cpp:204 src/gui/popupmenu.cpp:1764
msgid "Retrieve"
msgstr "Recuperar"
-#: src/gui/inventorywindow.cpp:654 src/gui/popupmenu.cpp:1710
-#: src/gui/popupmenu.cpp:1802 src/gui/popupmenu.cpp:1847
+#: src/gui/inventorywindow.cpp:654 src/gui/popupmenu.cpp:1753
+#: src/gui/popupmenu.cpp:1845 src/gui/popupmenu.cpp:1890
#: src/gui/windowmenu.cpp:97
msgid "Drop"
msgstr "Tirar"
@@ -1096,7 +1101,7 @@ msgstr "Exp: %d/%d Queda: %d"
#: src/gui/killstats.cpp:228
#, c-format
msgid "1%% = %d exp, avg mob for 1%%: %s"
-msgstr "1%% = %d exp, prom. pandilla para 1%%: %s"
+msgstr "1%% = %d exp, prom. criatura para 1%%: %s"
#: src/gui/killstats.cpp:82 src/gui/killstats.cpp:145
#: src/gui/killstats.cpp:237
@@ -1108,7 +1113,7 @@ msgstr "Muertes: %s, exp. total: %s"
#: src/gui/killstats.cpp:223 src/gui/killstats.cpp:233
#, c-format
msgid "Avg Exp: %s, No. of avg mob to next level: %s"
-msgstr "Prom. Exp: %s, Prom. de pandilla para siguiente nivel: %s"
+msgstr "Exp prom.: %s, Prom. de criatura para siguiente nivel: %s"
#: src/gui/killstats.cpp:85 src/gui/killstats.cpp:165
#: src/gui/killstats.cpp:240
@@ -1260,7 +1265,7 @@ msgstr "Enviar"
msgid "NPC"
msgstr "NPC"
-#: src/gui/npcdialog.cpp:108 src/gui/popupmenu.cpp:576
+#: src/gui/npcdialog.cpp:108 src/gui/popupmenu.cpp:598
msgid "Clear"
msgstr "Limpiar"
@@ -1298,331 +1303,347 @@ msgstr "Quitárselo antes"
msgid "Away outfit"
msgstr "Conjunto para modo AFK"
-#: src/gui/popupmenu.cpp:132 src/gui/popupmenu.cpp:613
+#: src/gui/popupmenu.cpp:132 src/gui/popupmenu.cpp:635
#: src/gui/widgets/tradetab.cpp:44
msgid "Trade"
msgstr "Intercambio"
-#: src/gui/popupmenu.cpp:134 src/gui/popupmenu.cpp:372
+#: src/gui/popupmenu.cpp:134 src/gui/popupmenu.cpp:383
msgid "Whisper"
msgstr "Susurrar"
-#: src/gui/popupmenu.cpp:138 src/gui/popupmenu.cpp:618
+#: src/gui/popupmenu.cpp:138 src/gui/popupmenu.cpp:640
msgid "Heal"
msgstr "Sanar"
-#: src/gui/popupmenu.cpp:144 src/gui/popupmenu.cpp:378
-#: src/gui/popupmenu.cpp:624
+#: src/gui/popupmenu.cpp:144 src/gui/popupmenu.cpp:389
+#: src/gui/popupmenu.cpp:646
msgid "Be friend"
msgstr "Ser amigo"
-#: src/gui/popupmenu.cpp:145 src/gui/popupmenu.cpp:152
-#: src/gui/popupmenu.cpp:160 src/gui/popupmenu.cpp:178
-#: src/gui/popupmenu.cpp:379 src/gui/popupmenu.cpp:386
-#: src/gui/popupmenu.cpp:394 src/gui/popupmenu.cpp:412
-#: src/gui/popupmenu.cpp:625 src/gui/popupmenu.cpp:632
-#: src/gui/popupmenu.cpp:640 src/gui/popupmenu.cpp:658
+#: src/gui/popupmenu.cpp:145 src/gui/popupmenu.cpp:153
+#: src/gui/popupmenu.cpp:162 src/gui/popupmenu.cpp:170
+#: src/gui/popupmenu.cpp:189 src/gui/popupmenu.cpp:390
+#: src/gui/popupmenu.cpp:398 src/gui/popupmenu.cpp:407
+#: src/gui/popupmenu.cpp:426 src/gui/popupmenu.cpp:434
+#: src/gui/popupmenu.cpp:647 src/gui/popupmenu.cpp:655
+#: src/gui/popupmenu.cpp:664 src/gui/popupmenu.cpp:678
+#: src/gui/popupmenu.cpp:691
msgid "Disregard"
msgstr "Desatender"
-#: src/gui/popupmenu.cpp:147 src/gui/popupmenu.cpp:154
-#: src/gui/popupmenu.cpp:381 src/gui/popupmenu.cpp:388
-#: src/gui/popupmenu.cpp:627 src/gui/popupmenu.cpp:634
+#: src/gui/popupmenu.cpp:147 src/gui/popupmenu.cpp:155
+#: src/gui/popupmenu.cpp:172 src/gui/popupmenu.cpp:392
+#: src/gui/popupmenu.cpp:400 src/gui/popupmenu.cpp:428
+#: src/gui/popupmenu.cpp:649 src/gui/popupmenu.cpp:657
+#: src/gui/popupmenu.cpp:680
msgid "Black list"
msgstr "Lista negra"
-#: src/gui/popupmenu.cpp:148 src/gui/popupmenu.cpp:155
-#: src/gui/popupmenu.cpp:162 src/gui/popupmenu.cpp:168
-#: src/gui/popupmenu.cpp:173 src/gui/popupmenu.cpp:382
-#: src/gui/popupmenu.cpp:389 src/gui/popupmenu.cpp:396
-#: src/gui/popupmenu.cpp:402 src/gui/popupmenu.cpp:407
-#: src/gui/popupmenu.cpp:628 src/gui/popupmenu.cpp:635
-#: src/gui/popupmenu.cpp:642 src/gui/popupmenu.cpp:648
-#: src/gui/popupmenu.cpp:653
+#: src/gui/popupmenu.cpp:148 src/gui/popupmenu.cpp:156
+#: src/gui/popupmenu.cpp:164 src/gui/popupmenu.cpp:393
+#: src/gui/popupmenu.cpp:401 src/gui/popupmenu.cpp:409
+#: src/gui/popupmenu.cpp:650 src/gui/popupmenu.cpp:658
+#: src/gui/popupmenu.cpp:666
+msgid "Set as enemy"
+msgstr "Establecer como enemigo"
+
+#: src/gui/popupmenu.cpp:149 src/gui/popupmenu.cpp:157
+#: src/gui/popupmenu.cpp:165 src/gui/popupmenu.cpp:173
+#: src/gui/popupmenu.cpp:179 src/gui/popupmenu.cpp:184
+#: src/gui/popupmenu.cpp:394 src/gui/popupmenu.cpp:402
+#: src/gui/popupmenu.cpp:410 src/gui/popupmenu.cpp:416
+#: src/gui/popupmenu.cpp:421 src/gui/popupmenu.cpp:429
+#: src/gui/popupmenu.cpp:651 src/gui/popupmenu.cpp:659
+#: src/gui/popupmenu.cpp:667 src/gui/popupmenu.cpp:673
+#: src/gui/popupmenu.cpp:681 src/gui/popupmenu.cpp:686
msgid "Erase"
msgstr "Borrar"
-#: src/gui/popupmenu.cpp:159 src/gui/popupmenu.cpp:166
-#: src/gui/popupmenu.cpp:172 src/gui/popupmenu.cpp:177
-#: src/gui/popupmenu.cpp:393 src/gui/popupmenu.cpp:400
-#: src/gui/popupmenu.cpp:406 src/gui/popupmenu.cpp:411
-#: src/gui/popupmenu.cpp:639 src/gui/popupmenu.cpp:646
-#: src/gui/popupmenu.cpp:652 src/gui/popupmenu.cpp:657
+#: src/gui/popupmenu.cpp:161 src/gui/popupmenu.cpp:169
+#: src/gui/popupmenu.cpp:177 src/gui/popupmenu.cpp:183
+#: src/gui/popupmenu.cpp:188 src/gui/popupmenu.cpp:406
+#: src/gui/popupmenu.cpp:414 src/gui/popupmenu.cpp:420
+#: src/gui/popupmenu.cpp:425 src/gui/popupmenu.cpp:433
+#: src/gui/popupmenu.cpp:663 src/gui/popupmenu.cpp:671
+#: src/gui/popupmenu.cpp:677 src/gui/popupmenu.cpp:685
+#: src/gui/popupmenu.cpp:690
msgid "Unignore"
msgstr "Des-ignorar"
-#: src/gui/popupmenu.cpp:167 src/gui/popupmenu.cpp:179
-#: src/gui/popupmenu.cpp:401 src/gui/popupmenu.cpp:413
-#: src/gui/popupmenu.cpp:647 src/gui/popupmenu.cpp:659
-#: src/playerrelations.cpp:421
+#: src/gui/popupmenu.cpp:178 src/gui/popupmenu.cpp:190
+#: src/gui/popupmenu.cpp:415 src/gui/popupmenu.cpp:435
+#: src/gui/popupmenu.cpp:672 src/gui/popupmenu.cpp:692
+#: src/playerrelations.cpp:446
msgid "Completely ignore"
msgstr "Ignorar completamente"
-#: src/gui/popupmenu.cpp:187 src/gui/popupmenu.cpp:421
-#: src/gui/popupmenu.cpp:667 src/gui/popupmenu.cpp:746
+#: src/gui/popupmenu.cpp:198 src/gui/popupmenu.cpp:443
+#: src/gui/popupmenu.cpp:700 src/gui/popupmenu.cpp:779
msgid "Follow"
msgstr "Seguir"
-#: src/gui/popupmenu.cpp:188 src/gui/popupmenu.cpp:422
-#: src/gui/popupmenu.cpp:668 src/gui/popupmenu.cpp:747
+#: src/gui/popupmenu.cpp:199 src/gui/popupmenu.cpp:444
+#: src/gui/popupmenu.cpp:701 src/gui/popupmenu.cpp:780
msgid "Imitation"
msgstr "Imitación"
-#: src/gui/popupmenu.cpp:197 src/gui/popupmenu.cpp:700
+#: src/gui/popupmenu.cpp:208 src/gui/popupmenu.cpp:733
msgid "Invite to party"
msgstr "Invitar a grupo"
-#: src/gui/popupmenu.cpp:202 src/gui/popupmenu.cpp:433
-#: src/gui/popupmenu.cpp:705
+#: src/gui/popupmenu.cpp:213 src/gui/popupmenu.cpp:455
+#: src/gui/popupmenu.cpp:738
msgid "Kick from party"
msgstr "Sacar del grupo"
-#: src/gui/popupmenu.cpp:217 src/gui/popupmenu.cpp:229
-#: src/gui/popupmenu.cpp:450 src/gui/popupmenu.cpp:722
+#: src/gui/popupmenu.cpp:228 src/gui/popupmenu.cpp:240
+#: src/gui/popupmenu.cpp:472 src/gui/popupmenu.cpp:755
msgid "Kick from guild"
msgstr "Sacar del clan"
-#: src/gui/popupmenu.cpp:222 src/gui/popupmenu.cpp:234
-#: src/gui/popupmenu.cpp:455 src/gui/popupmenu.cpp:727
+#: src/gui/popupmenu.cpp:233 src/gui/popupmenu.cpp:245
+#: src/gui/popupmenu.cpp:477 src/gui/popupmenu.cpp:760
msgid "Change pos in guild"
msgstr "Cambiar posición en el clan"
-#: src/gui/popupmenu.cpp:242 src/gui/popupmenu.cpp:463
-#: src/gui/popupmenu.cpp:736
+#: src/gui/popupmenu.cpp:253 src/gui/popupmenu.cpp:485
+#: src/gui/popupmenu.cpp:769
msgid "Invite to guild"
msgstr "Invitar al clan"
-#: src/gui/popupmenu.cpp:250
+#: src/gui/popupmenu.cpp:261
msgid "Kick player"
msgstr "Sacar jugador"
-#: src/gui/popupmenu.cpp:252
+#: src/gui/popupmenu.cpp:263
msgid "Nuke"
msgstr "Eliminar"
-#: src/gui/popupmenu.cpp:254 src/gui/popupmenu.cpp:670
-#: src/gui/popupmenu.cpp:759
+#: src/gui/popupmenu.cpp:265 src/gui/popupmenu.cpp:703
+#: src/gui/popupmenu.cpp:792
msgid "Show Items"
msgstr "Mostrar artículos"
-#: src/gui/popupmenu.cpp:255 src/gui/popupmenu.cpp:671
-#: src/gui/popupmenu.cpp:760 src/gui/popupmenu.cpp:2004
+#: src/gui/popupmenu.cpp:266 src/gui/popupmenu.cpp:704
+#: src/gui/popupmenu.cpp:793 src/gui/popupmenu.cpp:2047
msgid "Undress"
msgstr "Desvestir"
-#: src/gui/popupmenu.cpp:256 src/gui/popupmenu.cpp:286
-#: src/gui/popupmenu.cpp:423 src/gui/popupmenu.cpp:672
-#: src/gui/popupmenu.cpp:761
+#: src/gui/popupmenu.cpp:267 src/gui/popupmenu.cpp:297
+#: src/gui/popupmenu.cpp:445 src/gui/popupmenu.cpp:705
+#: src/gui/popupmenu.cpp:794
msgid "Add comment"
msgstr "Agregar comentario"
-#: src/gui/popupmenu.cpp:271 src/gui/popupmenu.cpp:471
-#: src/gui/popupmenu.cpp:687 src/gui/popupmenu.cpp:766
+#: src/gui/popupmenu.cpp:282 src/gui/popupmenu.cpp:493
+#: src/gui/popupmenu.cpp:720 src/gui/popupmenu.cpp:799
msgid "Buy (?)"
msgstr "Comprar (?)"
-#: src/gui/popupmenu.cpp:272 src/gui/popupmenu.cpp:472
-#: src/gui/popupmenu.cpp:688 src/gui/popupmenu.cpp:767
+#: src/gui/popupmenu.cpp:283 src/gui/popupmenu.cpp:494
+#: src/gui/popupmenu.cpp:721 src/gui/popupmenu.cpp:800
msgid "Sell (?)"
msgstr "Vender (?)"
-#: src/gui/popupmenu.cpp:297
+#: src/gui/popupmenu.cpp:308
msgid "Kick"
msgstr "Sacar"
-#: src/gui/popupmenu.cpp:308
+#: src/gui/popupmenu.cpp:319
msgid "Remove from attack list"
msgstr "Remover de la lista de ataque"
-#: src/gui/popupmenu.cpp:313
+#: src/gui/popupmenu.cpp:324
msgid "Add to priority attack list"
msgstr "Añadir a la lista de ataque prioritaria"
-#: src/gui/popupmenu.cpp:315
+#: src/gui/popupmenu.cpp:326
msgid "Add to attack list"
msgstr "Agregar a la lista de ataque"
-#: src/gui/popupmenu.cpp:317
+#: src/gui/popupmenu.cpp:328
msgid "Add to ignore list"
msgstr "Agregar a la lista de ignorados"
-#: src/gui/popupmenu.cpp:330 src/gui/popupmenu.cpp:475
+#: src/gui/popupmenu.cpp:341 src/gui/popupmenu.cpp:497
msgid "Add name to chat"
msgstr "Agregar nombre al chat"
-#: src/gui/popupmenu.cpp:500
+#: src/gui/popupmenu.cpp:522
msgid "Pick up"
msgstr "Recoger"
-#: src/gui/popupmenu.cpp:501 src/gui/popupmenu.cpp:1730
-#: src/gui/popupmenu.cpp:1810 src/gui/popupmenu.cpp:1855
+#: src/gui/popupmenu.cpp:523 src/gui/popupmenu.cpp:1773
+#: src/gui/popupmenu.cpp:1853 src/gui/popupmenu.cpp:1898
msgid "Add to chat"
msgstr "Añadir al chat"
-#: src/gui/popupmenu.cpp:518
+#: src/gui/popupmenu.cpp:540
msgid "Map Item"
msgstr "Mapa Objeto"
-#: src/gui/popupmenu.cpp:519
+#: src/gui/popupmenu.cpp:541
msgid "Rename"
msgstr "Renombrar"
-#: src/gui/popupmenu.cpp:520 src/gui/popupmenu.cpp:1965
-#: src/gui/popupmenu.cpp:1976 src/gui/popupmenu.cpp:1980
+#: src/gui/popupmenu.cpp:542 src/gui/popupmenu.cpp:2008
+#: src/gui/popupmenu.cpp:2019 src/gui/popupmenu.cpp:2023
msgid "Remove"
msgstr "Quitar"
-#: src/gui/popupmenu.cpp:525
+#: src/gui/popupmenu.cpp:547
msgid "Warp"
msgstr "Deformar"
-#: src/gui/popupmenu.cpp:538
+#: src/gui/popupmenu.cpp:560
msgid "Load old outfits"
msgstr "Cargar conjuntos antiguos"
-#: src/gui/popupmenu.cpp:554 src/gui/windowmenu.cpp:96
+#: src/gui/popupmenu.cpp:576 src/gui/windowmenu.cpp:96
msgid "Spells"
msgstr "Hechizos"
-#: src/gui/popupmenu.cpp:555
+#: src/gui/popupmenu.cpp:577
msgid "Load old spells"
msgstr "Cargar hechizos antiguos"
-#: src/gui/popupmenu.cpp:556
+#: src/gui/popupmenu.cpp:578
msgid "Edit spell"
msgstr "Editar hechizo"
-#: src/gui/popupmenu.cpp:580
+#: src/gui/popupmenu.cpp:602
msgid "Disable highlight"
msgstr "Deshabilitar resaltado"
-#: src/gui/popupmenu.cpp:582
+#: src/gui/popupmenu.cpp:604
msgid "Enable highlight"
msgstr "Habilitar resaltado"
-#: src/gui/popupmenu.cpp:584
+#: src/gui/popupmenu.cpp:606
msgid "Don't remove name"
msgstr "No remover nombre"
-#: src/gui/popupmenu.cpp:586
+#: src/gui/popupmenu.cpp:608
msgid "Remove name"
msgstr "Remover nombre"
-#: src/gui/popupmenu.cpp:588
+#: src/gui/popupmenu.cpp:610
msgid "Enable away"
msgstr "Habilitar ausencia"
-#: src/gui/popupmenu.cpp:590
+#: src/gui/popupmenu.cpp:612
msgid "Disable away"
msgstr "Deshabilitar ausencia"
-#: src/gui/popupmenu.cpp:595 src/gui/socialwindow.cpp:1141
+#: src/gui/popupmenu.cpp:617 src/gui/socialwindow.cpp:1141
msgid "Leave"
msgstr "Dejar"
-#: src/gui/popupmenu.cpp:780
+#: src/gui/popupmenu.cpp:813
msgid "Change guild position"
msgstr "Cambiar posición del Clan"
#. TRANSLATORS: number of chars in string should be near original
-#: src/gui/popupmenu.cpp:1243
+#: src/gui/popupmenu.cpp:1286
msgid "Rename map sign "
msgstr "Renombrar señal del mapa"
#. TRANSLATORS: number of chars in string should be near original
-#: src/gui/popupmenu.cpp:1245
+#: src/gui/popupmenu.cpp:1288
msgid "Name: "
msgstr "Nombre:"
#. TRANSLATORS: number of chars in string should be near original
-#: src/gui/popupmenu.cpp:1295
+#: src/gui/popupmenu.cpp:1338
msgid "Player comment "
msgstr "Comentario del jugador "
#. TRANSLATORS: number of chars in string should be near original
-#: src/gui/popupmenu.cpp:1297
+#: src/gui/popupmenu.cpp:1340
msgid "Comment: "
msgstr "Comentario: "
-#: src/gui/popupmenu.cpp:1668
+#: src/gui/popupmenu.cpp:1711
msgid "Add to trade"
msgstr "Agredar al intercambio"
-#: src/gui/popupmenu.cpp:1672
+#: src/gui/popupmenu.cpp:1715
msgid "Add to trade 10"
msgstr "Agregar 10 al intercambio"
-#: src/gui/popupmenu.cpp:1673
+#: src/gui/popupmenu.cpp:1716
msgid "Add to trade half"
msgstr "Agregar la mitad al intercambio"
-#: src/gui/popupmenu.cpp:1674
+#: src/gui/popupmenu.cpp:1717
msgid "Add to trade all"
msgstr "Agregar todo al intercambio"
-#: src/gui/popupmenu.cpp:1684
+#: src/gui/popupmenu.cpp:1727
msgid "Store 10"
msgstr "Almacenar 10"
-#: src/gui/popupmenu.cpp:1685
+#: src/gui/popupmenu.cpp:1728
msgid "Store half"
msgstr "Almacenar la mitad"
-#: src/gui/popupmenu.cpp:1686
+#: src/gui/popupmenu.cpp:1729
msgid "Store all"
msgstr "Almacenar todo"
-#: src/gui/popupmenu.cpp:1706 src/gui/popupmenu.cpp:1798
-#: src/gui/popupmenu.cpp:1843
+#: src/gui/popupmenu.cpp:1749 src/gui/popupmenu.cpp:1841
+#: src/gui/popupmenu.cpp:1886
msgid "Drop all"
msgstr "Tirar todo"
-#: src/gui/popupmenu.cpp:1725
+#: src/gui/popupmenu.cpp:1768
msgid "Retrieve 10"
msgstr "Recuperar 10"
-#: src/gui/popupmenu.cpp:1726
+#: src/gui/popupmenu.cpp:1769
msgid "Retrieve half"
msgstr "Recuperar la mitad"
-#: src/gui/popupmenu.cpp:1727
+#: src/gui/popupmenu.cpp:1770
msgid "Retrieve all"
msgstr "Recuperar todo"
-#: src/gui/popupmenu.cpp:1758 src/gui/popupmenu.cpp:1814
+#: src/gui/popupmenu.cpp:1801 src/gui/popupmenu.cpp:1857
msgid "Load old item shortcuts"
msgstr "Cargar atajos antiguos de artículos"
-#: src/gui/popupmenu.cpp:1859
+#: src/gui/popupmenu.cpp:1902
msgid "Load old drop shortcuts"
msgstr "Cargar atajos antiguos de soltar (drop)"
-#: src/gui/popupmenu.cpp:1885 src/gui/popupmenu.cpp:1920
+#: src/gui/popupmenu.cpp:1928 src/gui/popupmenu.cpp:1963
msgid "Hide"
msgstr "Ocultar"
-#: src/gui/popupmenu.cpp:1891 src/gui/popupmenu.cpp:1926
+#: src/gui/popupmenu.cpp:1934 src/gui/popupmenu.cpp:1969
msgid "Show"
msgstr "Mostrar"
-#: src/gui/popupmenu.cpp:1932
+#: src/gui/popupmenu.cpp:1975
msgid "Reset yellow bar"
msgstr "Restablecer barra amarilla"
-#: src/gui/popupmenu.cpp:1934 src/gui/statuswindow.cpp:241
+#: src/gui/popupmenu.cpp:1977 src/gui/statuswindow.cpp:242
msgid "Copy to chat"
msgstr "Copiar al chat"
-#: src/gui/popupmenu.cpp:1952 src/gui/socialwindow.cpp:958
+#: src/gui/popupmenu.cpp:1995 src/gui/setup_theme.cpp:88
+#: src/gui/setup_theme.cpp:145 src/gui/socialwindow.cpp:958
#: src/gui/socialwindow.cpp:993 src/gui/socialwindow.cpp:1028
msgid "(default)"
msgstr "(predeterminado)"
-#: src/gui/popupmenu.cpp:1962 src/gui/popupmenu.cpp:1973
+#: src/gui/popupmenu.cpp:2005 src/gui/popupmenu.cpp:2016
msgid "Move up"
msgstr "Subir"
-#: src/gui/popupmenu.cpp:1964 src/gui/popupmenu.cpp:1975
+#: src/gui/popupmenu.cpp:2007 src/gui/popupmenu.cpp:2018
msgid "Move down"
msgstr "Bajar"
@@ -1937,29 +1958,33 @@ msgstr "Aplicar"
msgid "Reset Windows"
msgstr "Restaurar Ventanas"
-#: src/gui/setup_joystick.cpp:40 src/gui/setup_joystick.cpp:79
+#: src/gui/setup_joystick.cpp:70 src/gui/setup_joystick.cpp:142
msgid "Press the button to start calibration"
msgstr "Presiona el botón para empezar la calibración"
-#: src/gui/setup_joystick.cpp:41 src/gui/setup_joystick.cpp:77
+#: src/gui/setup_joystick.cpp:71 src/gui/setup_joystick.cpp:140
msgid "Calibrate"
msgstr "Calibrar"
-#: src/gui/setup_joystick.cpp:42
+#: src/gui/setup_joystick.cpp:72
msgid "Enable joystick"
msgstr "Habilitar joystick"
-#: src/gui/setup_joystick.cpp:44
+#: src/gui/setup_joystick.cpp:75
+msgid "Use joystick if client window inactive"
+msgstr ""
+
+#: src/gui/setup_joystick.cpp:78
msgid "Joystick"
msgstr "Joystick"
-#: src/gui/setup_joystick.cpp:84
+#: src/gui/setup_joystick.cpp:147
msgid "Stop"
msgstr "Parar"
-#: src/gui/setup_joystick.cpp:85
-msgid "Rotate the stick"
-msgstr "Gira el stick"
+#: src/gui/setup_joystick.cpp:149
+msgid "Rotate the stick and dont press buttons"
+msgstr ""
#: src/gui/setup_keyboard.cpp:80
msgid "Keyboard"
@@ -2142,22 +2167,22 @@ msgid "Enable bot checker"
msgstr "Habilitar el control de robot"
#: src/gui/setup_other.cpp:174
-msgid "Enable buggy servers protection"
-msgstr "Habilitar la proteción contra servidores defectuosos"
+msgid "Enable buggy servers protection (do not disable)"
+msgstr "Activar la protección de servidores con errores (no deshabilitar)"
-#: src/gui/setup_other.cpp:177
+#: src/gui/setup_other.cpp:178
msgid "Enable debug log"
msgstr "Habilitar registro de depuración"
-#: src/gui/setup_other.cpp:180
+#: src/gui/setup_other.cpp:181
msgid "Low traffic mode"
msgstr "Modo de bajo tráfico"
-#: src/gui/setup_other.cpp:183
+#: src/gui/setup_other.cpp:184
msgid "Hide shield sprite"
msgstr "Ocultar los objetos escudos"
-#: src/gui/setup_other.cpp:186
+#: src/gui/setup_other.cpp:187
msgid "Show background"
msgstr "Mostrar fondo"
@@ -2285,91 +2310,151 @@ msgstr "Borrado"
msgid "Blacklisted"
msgstr "En la lista negra"
-#: src/gui/setup_relations.cpp:239
+#: src/gui/setup_relations.cpp:76
+msgid "Enemy"
+msgstr "Enemigo"
+
+#: src/gui/setup_relations.cpp:240
msgid "Allow trading"
msgstr "Permitir intercambios"
-#: src/gui/setup_relations.cpp:241
+#: src/gui/setup_relations.cpp:242
msgid "Allow whispers"
msgstr "Permitir mensajes privados"
-#: src/gui/setup_relations.cpp:244
+#: src/gui/setup_relations.cpp:245
msgid "Old"
msgstr "Viejo"
-#: src/gui/setup_relations.cpp:246
+#: src/gui/setup_relations.cpp:247
msgid "Relations"
msgstr "Relaciones"
-#: src/gui/setup_relations.cpp:271
+#: src/gui/setup_relations.cpp:272
msgid "When ignoring:"
msgstr "Cuando se ignora a alguien:"
-#: src/gui/setup_theme.cpp:107
+#: src/gui/setup_theme.cpp:108
msgid "Tiny (10)"
msgstr "Diminuto (10)"
-#: src/gui/setup_theme.cpp:108
+#: src/gui/setup_theme.cpp:109
msgid "Small (11)"
msgstr "Pequeño (11)"
-#: src/gui/setup_theme.cpp:109
+#: src/gui/setup_theme.cpp:110
msgid "Medium (12)"
msgstr "Medio (12)"
-#: src/gui/setup_theme.cpp:110
+#: src/gui/setup_theme.cpp:111
msgid "Large (13)"
msgstr "Extenso (13)"
-#: src/gui/setup_theme.cpp:111
+#: src/gui/setup_theme.cpp:112
msgid "Big (14)"
msgstr "Grande (14)"
-#: src/gui/setup_theme.cpp:112
+#: src/gui/setup_theme.cpp:113
msgid "Huge (15)"
msgstr "Enorme (15)"
-#: src/gui/setup_theme.cpp:143
+#: src/gui/setup_theme.cpp:146
+msgid "Chinese (China)"
+msgstr "Chino (China)"
+
+#: src/gui/setup_theme.cpp:147
+msgid "Czech"
+msgstr "Checo"
+
+#: src/gui/setup_theme.cpp:148
+msgid "English"
+msgstr "Inglés"
+
+#: src/gui/setup_theme.cpp:149
+msgid "Finnish"
+msgstr "Finlandés"
+
+#: src/gui/setup_theme.cpp:150
+msgid "French"
+msgstr "Francés"
+
+#: src/gui/setup_theme.cpp:151
+msgid "German"
+msgstr "Alemán"
+
+#: src/gui/setup_theme.cpp:152
+msgid "Indonesian"
+msgstr "Indonesio"
+
+#: src/gui/setup_theme.cpp:153
+msgid "Japanese"
+msgstr "Japonés"
+
+#: src/gui/setup_theme.cpp:154
+msgid "Dutch (Belgium/Flemish)"
+msgstr "Holanda (Bélgica/Flandes)"
+
+#: src/gui/setup_theme.cpp:155
+msgid "Portuguese"
+msgstr "Portugués"
+
+#: src/gui/setup_theme.cpp:156
+msgid "Portuguese (Brazilian)"
+msgstr "Portugués (Brasileño)"
+
+#: src/gui/setup_theme.cpp:157
+msgid "Russian"
+msgstr "Ruso"
+
+#: src/gui/setup_theme.cpp:158
+msgid "Spanish (Castilian)"
+msgstr "Español (Castellano)"
+
+#: src/gui/setup_theme.cpp:190
msgid "Theme"
msgstr "Tema"
-#: src/gui/setup_theme.cpp:145
+#: src/gui/setup_theme.cpp:192
msgid "Gui theme"
msgstr "Tema de interfáz gráfica"
-#: src/gui/setup_theme.cpp:146
+#: src/gui/setup_theme.cpp:193
+msgid "Language"
+msgstr "Idioma"
+
+#: src/gui/setup_theme.cpp:194
msgid "Main Font"
msgstr "Fuente principal"
-#: src/gui/setup_theme.cpp:147
+#: src/gui/setup_theme.cpp:195
msgid "Bold font"
msgstr "Fuente negrita"
-#: src/gui/setup_theme.cpp:148
+#: src/gui/setup_theme.cpp:196
msgid "Particle font"
msgstr "Fuente de partícula"
-#: src/gui/setup_theme.cpp:149
+#: src/gui/setup_theme.cpp:197
msgid "Help font"
msgstr "Fuente de la ayuda"
-#: src/gui/setup_theme.cpp:150
+#: src/gui/setup_theme.cpp:198
msgid "Secure font"
msgstr "Fuente segura"
-#: src/gui/setup_theme.cpp:151
+#: src/gui/setup_theme.cpp:199
msgid "Japanese font"
msgstr "Fuente japonesa"
-#: src/gui/setup_theme.cpp:183
+#: src/gui/setup_theme.cpp:236
msgid "Font size"
msgstr "Tamaño de fuente"
-#: src/gui/setup_theme.cpp:299
+#: src/gui/setup_theme.cpp:377
msgid "Theme Changed"
msgstr "Tema cambiado"
-#: src/gui/setup_theme.cpp:300 src/gui/setup_video.cpp:619
+#: src/gui/setup_theme.cpp:378 src/gui/setup_video.cpp:619
#: src/gui/setup_video.cpp:624
msgid "Restart your client for the change to take effect."
msgstr "Reincie el juego para que los cambios tengan efecto."
@@ -2679,15 +2764,15 @@ msgstr "Ataque"
#: src/gui/socialwindow.cpp:944
msgid "Priority mobs"
-msgstr "Pandillas prioritarias"
+msgstr "Criaturas prioritarias"
#: src/gui/socialwindow.cpp:976
msgid "Attack mobs"
-msgstr "Ataques de las pandillas"
+msgstr "Criaturas atacadas"
#: src/gui/socialwindow.cpp:1011
msgid "Ignore mobs"
-msgstr "Ignorar pandillas"
+msgstr "Criaturas ignoradas"
#: src/gui/socialwindow.cpp:1074
msgid "Create Guild"
@@ -2799,422 +2884,445 @@ msgstr "Escoja el nombre del grupo."
msgid "Specials"
msgstr "Especiales"
-#: src/gui/statuspopup.cpp:197
+#: src/gui/statuspopup.cpp:204
msgid "(D) default moves"
msgstr "(D) moverse predeterminado"
-#: src/gui/statuspopup.cpp:202
+#: src/gui/statuspopup.cpp:209
msgid "(I) invert moves"
msgstr "(I) moverse invertido"
-#: src/gui/statuspopup.cpp:207
+#: src/gui/statuspopup.cpp:214
msgid "(c) moves with some crazy moves"
msgstr "(c) moverse con algunos movimientos locos"
-#: src/gui/statuspopup.cpp:212
+#: src/gui/statuspopup.cpp:219
msgid "(C) moves with crazy moves"
msgstr "(C) moverse con movimientos locos"
-#: src/gui/statuspopup.cpp:217
+#: src/gui/statuspopup.cpp:224
msgid "(d) double normal + crazy"
msgstr "(d) doble normal + loco"
-#: src/gui/statuspopup.cpp:222
+#: src/gui/statuspopup.cpp:229
msgid "(?) move"
msgstr "(?) maniobra"
-#: src/gui/statuspopup.cpp:240
+#: src/gui/statuspopup.cpp:247
msgid "(a) custom crazy move"
msgstr "(a) maniobra alocada personalizada"
-#: src/gui/statuspopup.cpp:244
+#: src/gui/statuspopup.cpp:251
msgid "(?) crazy move"
msgstr "(?) maniobra loca"
-#: src/gui/statuspopup.cpp:254
+#: src/gui/statuspopup.cpp:261
msgid "(0) default moves to target"
msgstr "(0) moverse por defecto hacia el objetivo"
-#: src/gui/statuspopup.cpp:259
+#: src/gui/statuspopup.cpp:266
msgid "(1) moves to target in distance 1"
msgstr "(1) moverse al objetivo en distancia 1"
-#: src/gui/statuspopup.cpp:264
+#: src/gui/statuspopup.cpp:271
msgid "(2) moves to target in distance 2"
msgstr "(2) moverse al objetivo en distancia 2"
-#: src/gui/statuspopup.cpp:269
+#: src/gui/statuspopup.cpp:276
msgid "(3) moves to target in distance 3"
msgstr "(3) moverse al objetivo en distancia 3"
-#: src/gui/statuspopup.cpp:274
+#: src/gui/statuspopup.cpp:281
msgid "(5) moves to target in distance 5"
msgstr "(5) moverse al objetivo en distancia 5"
-#: src/gui/statuspopup.cpp:279
+#: src/gui/statuspopup.cpp:286
msgid "(7) moves to target in distance 7"
msgstr "(7) moverse al objetivo en distancia 7"
-#: src/gui/statuspopup.cpp:284
+#: src/gui/statuspopup.cpp:291
msgid "(A) moves to target in attack range"
msgstr "(A) desplazarse al objetivo en el rango de ataque"
-#: src/gui/statuspopup.cpp:289
+#: src/gui/statuspopup.cpp:296
msgid "(a) archer attack range"
msgstr "(a) rango de ataque de arquero"
-#: src/gui/statuspopup.cpp:294
+#: src/gui/statuspopup.cpp:301
msgid "(?) move to target"
msgstr "(?) mover al objetivo"
-#: src/gui/statuspopup.cpp:302
+#: src/gui/statuspopup.cpp:309
msgid "(D) default follow"
msgstr "(D) seguimiento predeterminado"
-#: src/gui/statuspopup.cpp:306
+#: src/gui/statuspopup.cpp:313
msgid "(R) relative follow"
msgstr "(R) seguimiento relativo"
-#: src/gui/statuspopup.cpp:310
+#: src/gui/statuspopup.cpp:317
msgid "(M) mirror follow"
msgstr "(M) seguimiento tipo espejo"
-#: src/gui/statuspopup.cpp:314
+#: src/gui/statuspopup.cpp:321
msgid "(P) pet follow"
msgstr "(P) seguimiento como mascota"
-#: src/gui/statuspopup.cpp:318
+#: src/gui/statuspopup.cpp:325
msgid "(?) unknown follow"
msgstr "(?) seguimiento desconoicido"
-#: src/gui/statuspopup.cpp:327 src/gui/statuspopup.cpp:350
+#: src/gui/statuspopup.cpp:334 src/gui/statuspopup.cpp:357
msgid "(D) default attack"
msgstr "(D) ataque predeterminado"
-#: src/gui/statuspopup.cpp:332
+#: src/gui/statuspopup.cpp:339
msgid "(s) switch attack without shield"
msgstr "(s) intercambiar ataque sin escudo"
-#: src/gui/statuspopup.cpp:337
+#: src/gui/statuspopup.cpp:344
msgid "(S) switch attack with shield"
msgstr "(S) intercambiar ataque con escudo"
-#: src/gui/statuspopup.cpp:341 src/gui/statuspopup.cpp:366
+#: src/gui/statuspopup.cpp:348 src/gui/statuspopup.cpp:373
msgid "(?) attack"
msgstr "(?) atacar"
-#: src/gui/statuspopup.cpp:354
+#: src/gui/statuspopup.cpp:361
msgid "(G) go and attack"
msgstr "(G) ir y atacar"
-#: src/gui/statuspopup.cpp:358
+#: src/gui/statuspopup.cpp:365
msgid "(A) go, attack, pickup"
msgstr "(A) ir, atacar, recoger"
-#: src/gui/statuspopup.cpp:362
+#: src/gui/statuspopup.cpp:369
msgid "(d) without auto attack"
msgstr "(d) sin atacar automáticamente"
-#: src/gui/statuspopup.cpp:380
+#: src/gui/statuspopup.cpp:387
msgid "(S) small pick up 1x1 cells"
msgstr "(S) recoger a 1x1 celdas (pequeño)"
-#: src/gui/statuspopup.cpp:384
+#: src/gui/statuspopup.cpp:391
msgid "(D) default pick up 2x1 cells"
msgstr "(D) recoger a 2x1 celdas (predeterminado)"
-#: src/gui/statuspopup.cpp:388
+#: src/gui/statuspopup.cpp:395
msgid "(F) forward pick up 2x3 cells"
msgstr "(F) recoger interesadamente a 2x3 celda"
-#: src/gui/statuspopup.cpp:392
+#: src/gui/statuspopup.cpp:399
msgid "(3) pick up 3x3 cells"
msgstr "(3) recoger a 3x3 celdas"
-#: src/gui/statuspopup.cpp:396
+#: src/gui/statuspopup.cpp:403
msgid "(g) go and pick up in distance 4"
msgstr "(g) ir y recoger en distancia 4"
-#: src/gui/statuspopup.cpp:400
+#: src/gui/statuspopup.cpp:407
msgid "(G) go and pick up in distance 8"
msgstr "(G) ir y recoger en distancia 8"
-#: src/gui/statuspopup.cpp:404
+#: src/gui/statuspopup.cpp:411
msgid "(A) go and pick up in max distance"
msgstr "(A) ir y recoger a máxima distancia"
-#: src/gui/statuspopup.cpp:408
+#: src/gui/statuspopup.cpp:415
msgid "(?) pick up"
msgstr "(?) recoger"
-#: src/gui/statuspopup.cpp:417
+#: src/gui/statuspopup.cpp:424
msgid "(N) normal map view"
msgstr "(N) vista normal del mapa"
-#: src/gui/statuspopup.cpp:421
+#: src/gui/statuspopup.cpp:428
msgid "(D) debug map view"
msgstr "(D) vista depurar del mapa"
-#: src/gui/statuspopup.cpp:425
+#: src/gui/statuspopup.cpp:432
msgid "(u) ultra map view"
msgstr "(u) ultra vista del mapa"
-#: src/gui/statuspopup.cpp:429
+#: src/gui/statuspopup.cpp:436
msgid "(U) ultra map view 2"
msgstr "(U) ultra vista del mapa 2"
-#: src/gui/statuspopup.cpp:433
+#: src/gui/statuspopup.cpp:440
msgid "(e) empty map view"
msgstr "(e) vista vacía del mapa"
-#: src/gui/statuspopup.cpp:437
+#: src/gui/statuspopup.cpp:444
msgid "(b) black & white map view"
msgstr "(b) vista del mapa en blanco y negro"
-#: src/gui/statuspopup.cpp:441
+#: src/gui/statuspopup.cpp:448
msgid "(?) map view"
msgstr "(?) vista del mapa"
-#: src/gui/statuspopup.cpp:449
+#: src/gui/statuspopup.cpp:456
msgid "(f) use #flar for magic attack"
msgstr "(f) usar #flar para ataque mágico"
-#: src/gui/statuspopup.cpp:454
+#: src/gui/statuspopup.cpp:461
msgid "(c) use #chiza for magic attack"
msgstr "(c) usar #chiza para ataque mágico"
-#: src/gui/statuspopup.cpp:459
+#: src/gui/statuspopup.cpp:466
msgid "(I) use #ingrav for magic attack"
msgstr "(I) usar #ingrav para ataque mágico"
-#: src/gui/statuspopup.cpp:464
+#: src/gui/statuspopup.cpp:471
msgid "(F) use #frillyar for magic attack"
msgstr "(F) usar #frillyar para ataque mágico"
-#: src/gui/statuspopup.cpp:469
+#: src/gui/statuspopup.cpp:476
msgid "(U) use #upmarmu for magic attack"
msgstr "(U) usar #upmarmu para ataque mágico"
-#: src/gui/statuspopup.cpp:473
+#: src/gui/statuspopup.cpp:480
msgid "(?) magic attack"
msgstr "(?) ataque mágico"
-#: src/gui/statuspopup.cpp:482
+#: src/gui/statuspopup.cpp:489
+msgid "(a) attack all players"
+msgstr "(a) atacar a todos los jugadores"
+
+#: src/gui/statuspopup.cpp:493
+msgid "(f) attack not friends"
+msgstr "(f) atacar a los que no son amigos"
+
+#: src/gui/statuspopup.cpp:497
+msgid "(b) attack bad relations"
+msgstr "(b) atacar a quienes están en malas relaciones"
+
+#: src/gui/statuspopup.cpp:501
+msgid "(d) dont attack players"
+msgstr "(d) no atacar a los jugadores"
+
+#: src/gui/statuspopup.cpp:505
+msgid "(?) pvp attack"
+msgstr "(?) ataque pvp"
+
+#: src/gui/statuspopup.cpp:514
msgid "(D) default imitation"
msgstr "(D) imitación predeterminada"
-#: src/gui/statuspopup.cpp:486
+#: src/gui/statuspopup.cpp:518
msgid "(O) outfits imitation"
msgstr "(O) imitación de conjuntos"
-#: src/gui/statuspopup.cpp:490
+#: src/gui/statuspopup.cpp:522
msgid "(?) imitation"
msgstr "(?) imitación"
-#: src/gui/statuspopup.cpp:499
+#: src/gui/statuspopup.cpp:531
msgid "(O) on keyboard"
msgstr "(O) en el teclado"
-#: src/gui/statuspopup.cpp:502
+#: src/gui/statuspopup.cpp:534
msgid "(A) away"
msgstr "(A) lejos del teclado"
-#: src/gui/statuspopup.cpp:505 src/gui/statuspopup.cpp:525
+#: src/gui/statuspopup.cpp:537 src/gui/statuspopup.cpp:557
msgid "(?) away"
msgstr "(?) afuera"
-#: src/gui/statuspopup.cpp:513
+#: src/gui/statuspopup.cpp:545
msgid "(G) game camera mode"
msgstr "(G) modo de cámara de juego"
-#: src/gui/statuspopup.cpp:517
+#: src/gui/statuspopup.cpp:549
msgid "(F) free camera mode"
msgstr "(F) modo de cámara libre"
-#: src/gui/statuspopup.cpp:521
+#: src/gui/statuspopup.cpp:553
msgid "(D) design camera mode"
msgstr "(D) Definir el modo operativo de la cámara"
-#: src/gui/statuspopup.cpp:532
+#: src/gui/statuspopup.cpp:564
msgid "Game modifiers are disabled"
msgstr "Modificadores del juego están deshabilitados"
-#: src/gui/statuspopup.cpp:537
+#: src/gui/statuspopup.cpp:569
msgid "Game modifiers are enabled"
msgstr "Modificadores del juego están habilitados"
-#: src/gui/statuswindow.cpp:143 src/gui/statuswindow.cpp:273
-#: src/gui/statuswindow.cpp:336
+#: src/gui/statuswindow.cpp:144 src/gui/statuswindow.cpp:274
+#: src/gui/statuswindow.cpp:337
#, c-format
msgid "Level: %d"
msgstr "Nivel: %d"
-#: src/gui/statuswindow.cpp:144 src/gui/statuswindow.cpp:259
-#: src/gui/statuswindow.cpp:303
+#: src/gui/statuswindow.cpp:145 src/gui/statuswindow.cpp:260
+#: src/gui/statuswindow.cpp:304
#, c-format
msgid "Money: %s"
msgstr "Dinero: %s"
-#: src/gui/statuswindow.cpp:150
+#: src/gui/statuswindow.cpp:151
msgid "HP:"
msgstr "PV:"
-#: src/gui/statuswindow.cpp:157
+#: src/gui/statuswindow.cpp:158
msgid "Exp:"
msgstr "Exp:"
-#: src/gui/statuswindow.cpp:171
+#: src/gui/statuswindow.cpp:172
msgid "MP:"
msgstr "PM:"
-#: src/gui/statuswindow.cpp:203 src/gui/statuswindow.cpp:386
+#: src/gui/statuswindow.cpp:204 src/gui/statuswindow.cpp:387
#, c-format
msgid "Job: %d"
msgstr "Trabajo: %d"
-#: src/gui/statuswindow.cpp:204
+#: src/gui/statuswindow.cpp:205
msgid "Job:"
msgstr "Trabajo:"
-#: src/gui/statuswindow.cpp:262 src/gui/statuswindow.cpp:310
+#: src/gui/statuswindow.cpp:263 src/gui/statuswindow.cpp:311
#, c-format
msgid "Character points: %d"
msgstr "Puntos del personaje: %d"
-#: src/gui/statuswindow.cpp:268
+#: src/gui/statuswindow.cpp:269
#, c-format
msgid "Level: %d (GM %d)"
msgstr "Nivel: %d (GM %d)"
-#: src/gui/statuswindow.cpp:324
+#: src/gui/statuswindow.cpp:325
#, c-format
msgid "Correction points: %d"
msgstr "Puntos de corrección: %d"
-#: src/gui/statuswindow.cpp:648 src/gui/statuswindow.cpp:716
-#: src/gui/statuswindow.cpp:736 src/gui/statuswindow.cpp:752
-#: src/gui/statuswindow.cpp:798 src/gui/statuswindow.cpp:827
-#: src/gui/statuswindow.cpp:850 src/gui/statuswindow.cpp:869
+#: src/gui/statuswindow.cpp:649 src/gui/statuswindow.cpp:717
+#: src/gui/statuswindow.cpp:737 src/gui/statuswindow.cpp:753
+#: src/gui/statuswindow.cpp:818 src/gui/statuswindow.cpp:847
+#: src/gui/statuswindow.cpp:870 src/gui/statuswindow.cpp:889
msgid "(D)"
msgstr "(D)"
-#: src/gui/statuswindow.cpp:651 src/gui/statuswindow.cpp:777
+#: src/gui/statuswindow.cpp:652 src/gui/statuswindow.cpp:778
msgid "(I)"
msgstr "(I)"
-#: src/gui/statuswindow.cpp:654 src/gui/statuswindow.cpp:774
+#: src/gui/statuswindow.cpp:655 src/gui/statuswindow.cpp:775
msgid "(c)"
msgstr "(c)"
-#: src/gui/statuswindow.cpp:657
+#: src/gui/statuswindow.cpp:658
msgid "(C)"
msgstr "(C)"
-#: src/gui/statuswindow.cpp:660 src/gui/statuswindow.cpp:761
+#: src/gui/statuswindow.cpp:661 src/gui/statuswindow.cpp:762
+#: src/gui/statuswindow.cpp:803
msgid "(d)"
msgstr "(d)"
-#: src/gui/statuswindow.cpp:663 src/gui/statuswindow.cpp:677
-#: src/gui/statuswindow.cpp:709 src/gui/statuswindow.cpp:728
-#: src/gui/statuswindow.cpp:745 src/gui/statuswindow.cpp:764
-#: src/gui/statuswindow.cpp:786 src/gui/statuswindow.cpp:816
-#: src/gui/statuswindow.cpp:842 src/gui/statuswindow.cpp:856
-#: src/gui/statuswindow.cpp:872 src/gui/statuswindow.cpp:885
+#: src/gui/statuswindow.cpp:664 src/gui/statuswindow.cpp:678
+#: src/gui/statuswindow.cpp:710 src/gui/statuswindow.cpp:729
+#: src/gui/statuswindow.cpp:746 src/gui/statuswindow.cpp:765
+#: src/gui/statuswindow.cpp:787 src/gui/statuswindow.cpp:806
+#: src/gui/statuswindow.cpp:836 src/gui/statuswindow.cpp:862
+#: src/gui/statuswindow.cpp:876 src/gui/statuswindow.cpp:892
+#: src/gui/statuswindow.cpp:905
msgid "(?)"
msgstr "(?)"
-#: src/gui/statuswindow.cpp:674 src/gui/statuswindow.cpp:706
+#: src/gui/statuswindow.cpp:675 src/gui/statuswindow.cpp:707
+#: src/gui/statuswindow.cpp:794
msgid "(a)"
msgstr "(a)"
-#: src/gui/statuswindow.cpp:685
+#: src/gui/statuswindow.cpp:686
msgid "(0)"
msgstr "(0)"
-#: src/gui/statuswindow.cpp:688
+#: src/gui/statuswindow.cpp:689
msgid "(1)"
msgstr "(1)"
-#: src/gui/statuswindow.cpp:691
+#: src/gui/statuswindow.cpp:692
msgid "(2)"
msgstr "(2)"
-#: src/gui/statuswindow.cpp:694 src/gui/statuswindow.cpp:804
+#: src/gui/statuswindow.cpp:695 src/gui/statuswindow.cpp:824
msgid "(3)"
msgstr "(3)"
-#: src/gui/statuswindow.cpp:697
+#: src/gui/statuswindow.cpp:698
msgid "(5)"
msgstr "(5)"
-#: src/gui/statuswindow.cpp:700
+#: src/gui/statuswindow.cpp:701
msgid "(7)"
msgstr "(7)"
-#: src/gui/statuswindow.cpp:703 src/gui/statuswindow.cpp:758
-#: src/gui/statuswindow.cpp:813 src/gui/statuswindow.cpp:882
+#: src/gui/statuswindow.cpp:704 src/gui/statuswindow.cpp:759
+#: src/gui/statuswindow.cpp:833 src/gui/statuswindow.cpp:902
msgid "(A)"
msgstr "(A)"
-#: src/gui/statuswindow.cpp:719
+#: src/gui/statuswindow.cpp:720
msgid "(R)"
msgstr "(R)"
-#: src/gui/statuswindow.cpp:722
+#: src/gui/statuswindow.cpp:723
msgid "(M)"
msgstr "(M)"
-#: src/gui/statuswindow.cpp:725
+#: src/gui/statuswindow.cpp:726
msgid "(P)"
msgstr "(P)"
-#: src/gui/statuswindow.cpp:739
+#: src/gui/statuswindow.cpp:740
msgid "(s)"
msgstr "(s)"
-#: src/gui/statuswindow.cpp:742 src/gui/statuswindow.cpp:795
+#: src/gui/statuswindow.cpp:743 src/gui/statuswindow.cpp:815
msgid "(S)"
msgstr "(S)"
-#: src/gui/statuswindow.cpp:755 src/gui/statuswindow.cpp:810
-#: src/gui/statuswindow.cpp:863
+#: src/gui/statuswindow.cpp:756 src/gui/statuswindow.cpp:830
+#: src/gui/statuswindow.cpp:883
msgid "(G)"
msgstr "(G)"
-#: src/gui/statuswindow.cpp:771
+#: src/gui/statuswindow.cpp:772 src/gui/statuswindow.cpp:797
msgid "(f)"
msgstr "(f)"
-#: src/gui/statuswindow.cpp:780 src/gui/statuswindow.cpp:801
-#: src/gui/statuswindow.cpp:866
+#: src/gui/statuswindow.cpp:781 src/gui/statuswindow.cpp:821
+#: src/gui/statuswindow.cpp:886
msgid "(F)"
msgstr "(F)"
-#: src/gui/statuswindow.cpp:783 src/gui/statuswindow.cpp:833
+#: src/gui/statuswindow.cpp:784 src/gui/statuswindow.cpp:853
msgid "(U)"
msgstr "(U)"
-#: src/gui/statuswindow.cpp:807
+#: src/gui/statuswindow.cpp:800 src/gui/statuswindow.cpp:859
+msgid "(b)"
+msgstr "(b)"
+
+#: src/gui/statuswindow.cpp:827
msgid "(g)"
msgstr "(g)"
-#: src/gui/statuswindow.cpp:824
+#: src/gui/statuswindow.cpp:844
msgid "(N)"
msgstr "(N)"
-#: src/gui/statuswindow.cpp:830
+#: src/gui/statuswindow.cpp:850
msgid "(u)"
msgstr "(u)"
-#: src/gui/statuswindow.cpp:836
+#: src/gui/statuswindow.cpp:856
msgid "(e)"
msgstr "(e)"
-#: src/gui/statuswindow.cpp:839
-msgid "(b)"
-msgstr "(b)"
-
-#: src/gui/statuswindow.cpp:853 src/gui/statuswindow.cpp:879
+#: src/gui/statuswindow.cpp:873 src/gui/statuswindow.cpp:899
msgid "(O)"
msgstr "(O)"
@@ -3344,7 +3452,8 @@ msgid "You don't have enough money."
msgstr "No tienes dinero suficiente."
#: src/gui/tradewindow.cpp:454
-msgid "Failed adding item. You can not overlap one kind of item on the window."
+msgid ""
+"Failed adding item. You can not overlap one kind of item on the window."
msgstr ""
"Fallo al añadir objeto. No puedes añadir más de un mismo tipo de objeto en "
"la ventana."
@@ -3366,21 +3475,21 @@ msgstr "Conectando..."
msgid "Play"
msgstr "Jugar"
-#: src/gui/updaterwindow.cpp:564
+#: src/gui/updaterwindow.cpp:565
msgid "##1 The update process is incomplete."
msgstr "##1 El proceso de actualización esta incompleto."
#. TRANSLATORS: Continues "you try again later.".
-#: src/gui/updaterwindow.cpp:566
+#: src/gui/updaterwindow.cpp:567
msgid "##1 It is strongly recommended that"
msgstr "##1 Es altamente recomendado que"
#. TRANSLATORS: Begins "It is strongly recommended that".
-#: src/gui/updaterwindow.cpp:568
+#: src/gui/updaterwindow.cpp:569
msgid "##1 you try again later."
msgstr "##1 lo intentes de nuevo más tarde."
-#: src/gui/updaterwindow.cpp:744
+#: src/gui/updaterwindow.cpp:745
msgid "Completed"
msgstr "Completado"
@@ -3728,7 +3837,8 @@ msgid "Command: /unignore <player>"
msgstr "Comando: /unignore <jugador>"
#: src/gui/widgets/whispertab.cpp:131
-msgid "This command stops ignoring the other player if they are being ignored."
+msgid ""
+"This command stops ignoring the other player if they are being ignored."
msgstr "Este comando para de ignorar al jugador si está siendo ignorado."
#: src/gui/windowmenu.cpp:65
@@ -3945,7 +4055,7 @@ msgstr "Tecla de acceso directo de objeto"
#: src/keyboardconfig.cpp:116 src/keyboardconfig.cpp:119
#: src/keyboardconfig.cpp:121 src/keyboardconfig.cpp:123
#: src/keyboardconfig.cpp:125 src/keyboardconfig.cpp:127
-#: src/keyboardconfig.cpp:369
+#: src/keyboardconfig.cpp:371
#, c-format
msgid "Item Shortcut %d"
msgstr "Atajo para el objeto %d"
@@ -4072,7 +4182,7 @@ msgstr "Emoticono"
#: src/keyboardconfig.cpp:258 src/keyboardconfig.cpp:260
#: src/keyboardconfig.cpp:262 src/keyboardconfig.cpp:264
#: src/keyboardconfig.cpp:266 src/keyboardconfig.cpp:268
-#: src/keyboardconfig.cpp:364
+#: src/keyboardconfig.cpp:366
#, c-format
msgid "Emote Shortcut %d"
msgstr "Atajo para Emoticono %d"
@@ -4201,51 +4311,55 @@ msgstr "Usar ataque mágico"
msgid "Switch magic attack"
msgstr "Intercambiar ataque mágico"
-#: src/keyboardconfig.cpp:328
+#: src/keyboardconfig.cpp:329
+msgid "Switch pvp attack"
+msgstr "Intercambiar ataque pvp"
+
+#: src/keyboardconfig.cpp:330
msgid "Change move type"
msgstr "Cambiar tipo de maniobra"
-#: src/keyboardconfig.cpp:330
+#: src/keyboardconfig.cpp:332
msgid "Change Attack Weapon Type"
msgstr "Cambiar tipo de arma de ataque"
-#: src/keyboardconfig.cpp:332
+#: src/keyboardconfig.cpp:334
msgid "Change Attack Type"
msgstr "Cambiar tipo de ataque"
-#: src/keyboardconfig.cpp:334
+#: src/keyboardconfig.cpp:336
msgid "Change Follow mode"
msgstr "Cambiar modo de perseguir"
-#: src/keyboardconfig.cpp:336
+#: src/keyboardconfig.cpp:338
msgid "Change Imitation mode"
msgstr "Cambiar modo de Imitación"
-#: src/keyboardconfig.cpp:339
+#: src/keyboardconfig.cpp:341
msgid "Disable / Enable Game modifier keys"
msgstr "Habilitar / Deshabilitar las teclas de modification del juego"
-#: src/keyboardconfig.cpp:340
+#: src/keyboardconfig.cpp:342
msgid "On / Off audio"
msgstr "Encender / Apagar audio"
-#: src/keyboardconfig.cpp:342
+#: src/keyboardconfig.cpp:344
msgid "Enable / Disable away mode"
msgstr "Habilitar / Deshabilitar modo AFK"
-#: src/keyboardconfig.cpp:344
+#: src/keyboardconfig.cpp:346
msgid "Emulate right click from keyboard"
msgstr "Emular clic derecho desde el teclado"
-#: src/keyboardconfig.cpp:346
+#: src/keyboardconfig.cpp:348
msgid "Toggle camera mode"
msgstr "Interruptor de tipo de cámara"
-#: src/keyboardconfig.cpp:348
+#: src/keyboardconfig.cpp:350
msgid "Modifier key"
msgstr "Tecla modificadora"
-#: src/keyboardconfig.cpp:427
+#: src/keyboardconfig.cpp:429
#, c-format
msgid ""
"Conflict \"%s\" and \"%s\" keys. Resolve them, or gameplay may result in "
@@ -4254,68 +4368,68 @@ msgstr ""
"Conflito con las teclas \"%s\" e \"%s\" . Resuelva el conflicto, o el juego "
"puede presentar un comportamiento raro."
-#: src/localplayer.cpp:381
+#: src/localplayer.cpp:389
msgid "You were killed by "
msgstr "Fuiste eliminado por "
-#: src/localplayer.cpp:1428
+#: src/localplayer.cpp:1442
msgid "Tried to pick up nonexistent item."
msgstr "Intentaste recoger un objeto inexistante."
-#: src/localplayer.cpp:1430
+#: src/localplayer.cpp:1444
msgid "Item is too heavy."
msgstr "El artículo es muy pesado."
-#: src/localplayer.cpp:1432
+#: src/localplayer.cpp:1446
msgid "Item is too far away."
msgstr "El artículo está muy lejos."
-#: src/localplayer.cpp:1434
+#: src/localplayer.cpp:1448
msgid "Inventory is full."
msgstr "El inventario está lleno."
-#: src/localplayer.cpp:1436
+#: src/localplayer.cpp:1450
msgid "Stack is too big."
msgstr "El agrupamiento es demasiado grande."
-#: src/localplayer.cpp:1439
+#: src/localplayer.cpp:1453
msgid "Item belongs to someone else."
msgstr "El artículo pertenece a alguien más."
-#: src/localplayer.cpp:1442
+#: src/localplayer.cpp:1456
msgid "Unknown problem picking up item."
msgstr "Problema desconocido al intentar recoger el artículo."
#. TRANSLATORS: %d is number,
#. [@@%d|%s@@] - here player can see link to item
-#: src/localplayer.cpp:1466
+#: src/localplayer.cpp:1480
#, c-format
msgid "You picked up %d [@@%d|%s@@]."
msgid_plural "You picked up %d [@@%d|%s@@]."
msgstr[0] "Usted cogió un/a %d [@@%d|%s@@]."
msgstr[1] "Usted Cogió %d [@@%d|%s@@]."
-#: src/localplayer.cpp:3181
+#: src/localplayer.cpp:3206
msgid "Away"
msgstr "Fuera del Teclado"
-#: src/localplayer.cpp:3509
+#: src/localplayer.cpp:3541
msgid "Follow: "
msgstr "Seguir: "
-#: src/localplayer.cpp:3511 src/localplayer.cpp:3526
+#: src/localplayer.cpp:3543 src/localplayer.cpp:3558
msgid "Follow canceled"
msgstr "Seguir cancelado"
-#: src/localplayer.cpp:3518
+#: src/localplayer.cpp:3550
msgid "Imitation: "
msgstr "Imitacion: "
-#: src/localplayer.cpp:3520 src/localplayer.cpp:3528
+#: src/localplayer.cpp:3552 src/localplayer.cpp:3560
msgid "Imitation canceled"
msgstr "Imitación cancelada"
-#: src/localplayer.cpp:3876
+#: src/localplayer.cpp:3908
msgid "You see "
msgstr "Ves "
@@ -4709,8 +4823,8 @@ msgid ""
"<policy> can be one of \"1\", \"yes\", \"true\" to enable experience "
"sharing, or \"0\", \"no\", \"false\" to disable experience sharing."
msgstr ""
-"<política> puede ser \"1\", \"yes\" y \"true\" para compartir experiencia, o "
-"\"0\", \"no\" y \"false\" para no compartir."
+"<política> puede ser \"1\", \"yes\" y \"true\" para compartir experiencia, o"
+" \"0\", \"no\" y \"false\" para no compartir."
#: src/net/ea/gui/partytab.cpp:113
msgid "Command: /exp"
@@ -4801,8 +4915,8 @@ msgstr "Rechazado del servidor."
msgid ""
"You have been permanently banned from the game. Please contact the GM team."
msgstr ""
-"Has sido baneado permanentemente del juego. Por favor contacta con el equipo "
-"GM."
+"Has sido baneado permanentemente del juego. Por favor contacta con el equipo"
+" GM."
#: src/net/ea/loginhandler.cpp:219
msgid "Client too old."
@@ -5009,7 +5123,8 @@ msgstr "Mensaje"
#: src/net/ea/playerhandler.cpp:336
msgid ""
-"You are carrying more than half your weight. You are unable to regain health."
+"You are carrying more than half your weight. You are unable to regain "
+"health."
msgstr "Llevas más de la mitad del peso que puedes. No recuperarás PV o PM."
#: src/net/ea/playerhandler.cpp:346
@@ -5120,54 +5235,54 @@ msgstr "Veneno no tuvo ningún efecto..."
msgid "%s wants to trade with you, do you accept?"
msgstr "%s quiere comerciar contigo, aceptas?"
-#: src/net/ea/tradehandler.cpp:134
+#: src/net/ea/tradehandler.cpp:135
msgid "Trading isn't possible. Trade partner is too far away."
msgstr ""
"No es posible realizar el Intercambio. El otro personaje está muy alejado."
-#: src/net/ea/tradehandler.cpp:138
+#: src/net/ea/tradehandler.cpp:139
msgid "Trading isn't possible. Character doesn't exist."
msgstr "El intercambio no es posible. El personaje no existe."
-#: src/net/ea/tradehandler.cpp:142
+#: src/net/ea/tradehandler.cpp:143
msgid "Trade cancelled due to an unknown reason."
msgstr "Intercambio cancelado por una razón desconocida."
-#: src/net/ea/tradehandler.cpp:148
+#: src/net/ea/tradehandler.cpp:149
#, c-format
msgid "Trade: You and %s"
msgstr "Intercambio: Tú y %s"
-#: src/net/ea/tradehandler.cpp:158
+#: src/net/ea/tradehandler.cpp:159
#, c-format
msgid "Trade with %s cancelled."
msgstr "Intercambio con %s cancelado."
-#: src/net/ea/tradehandler.cpp:171
+#: src/net/ea/tradehandler.cpp:172
msgid "Unhandled trade cancel packet."
msgstr "Intercambio no soportado."
-#: src/net/ea/tradehandler.cpp:236
+#: src/net/ea/tradehandler.cpp:237
msgid "Failed adding item. Trade partner is over weighted."
msgstr "Error al añadir objeto. El otro jugador lleva mucho peso."
-#: src/net/ea/tradehandler.cpp:241
+#: src/net/ea/tradehandler.cpp:242
msgid "Failed adding item. Trade partner has no free slot."
msgstr "Error al añadir objeto. El otro jugador no tiene más espacio."
-#: src/net/ea/tradehandler.cpp:246
+#: src/net/ea/tradehandler.cpp:247
msgid "Failed adding item. You can't trade this item."
msgstr "Fallo al agregar artículo. No puedes intercambiar este artículo."
-#: src/net/ea/tradehandler.cpp:250
+#: src/net/ea/tradehandler.cpp:251
msgid "Failed adding item for unknown reason."
msgstr "Fallo al anadir objeto por una razón desconocida."
-#: src/net/ea/tradehandler.cpp:269 src/net/manaserv/tradehandler.cpp:160
+#: src/net/ea/tradehandler.cpp:270 src/net/manaserv/tradehandler.cpp:160
msgid "Trade canceled."
msgstr "Intercambio Cancelado."
-#: src/net/ea/tradehandler.cpp:280 src/net/manaserv/tradehandler.cpp:167
+#: src/net/ea/tradehandler.cpp:281 src/net/manaserv/tradehandler.cpp:167
msgid "Trade completed."
msgstr "Intercambio Realizado."
@@ -5590,15 +5705,15 @@ msgstr "Alcance de Ataque"
msgid "Damage per sec."
msgstr "Daño por segundo."
-#: src/net/tmwa/network.cpp:152
+#: src/net/tmwa/network.cpp:153
msgid "Empty address given to Network::connect()!"
msgstr "Adress vacía enviada a Network::connect()!"
-#: src/net/tmwa/network.cpp:356
+#: src/net/tmwa/network.cpp:357
msgid "Unable to resolve host \""
msgstr "No es posible determinar el host \""
-#: src/net/tmwa/network.cpp:426
+#: src/net/tmwa/network.cpp:427
msgid "Connection to server terminated. "
msgstr "Conexión al servidor terminada."
@@ -5607,19 +5722,19 @@ msgstr "Conexión al servidor terminada."
msgid "%s is not in your party!"
msgstr "%s no está en tu grupo!"
-#: src/playerrelations.cpp:435
+#: src/playerrelations.cpp:460
msgid "Print '...'"
msgstr "Imprimir '...'"
-#: src/playerrelations.cpp:455
+#: src/playerrelations.cpp:480
msgid "Blink name"
msgstr "Parpadear nombre"
-#: src/playerrelations.cpp:499
+#: src/playerrelations.cpp:524
msgid "Floating '...' bubble"
msgstr "Burbuja '...' flotante"
-#: src/playerrelations.cpp:502
+#: src/playerrelations.cpp:527
msgid "Floating bubble"
msgstr "Burbuja Flotante"
@@ -5651,3 +5766,5 @@ msgstr "PM %+d"
#: src/resources/itemdb.cpp:169
msgid "Unknown item"
msgstr "Objeto desconocido"
+
+
diff --git a/po/fi.po b/po/fi.po
index b7071d382..0b3eecbeb 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR The ManaPlus Developers
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
# Andrei Karas <akaras@inbox.ru>, 2011.
# Sini Ruohomaa <sini.ruohomaa@iki.fi>, 2011.
@@ -9,79 +9,79 @@ msgid ""
msgstr ""
"Project-Id-Version: ManaPlus\n"
"Report-Msgid-Bugs-To: akaras@inbox.ru\n"
-"POT-Creation-Date: 2011-10-28 03:52+0300\n"
-"PO-Revision-Date: 2011-10-28 00:55+0000\n"
+"POT-Creation-Date: 2011-11-12 00:23+0300\n"
+"PO-Revision-Date: 2011-11-11 21:38+0000\n"
"Last-Translator: akaras <akaras@inbox.ru>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
-"Language: fi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Language: fi\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
#: src/actorspritemanager.cpp:1171
msgid "Visible on map"
msgstr "Näkyvillä kartalla"
-#: src/being.cpp:548
+#: src/being.cpp:551
msgid "dodge"
msgstr "väistö"
-#: src/being.cpp:548
+#: src/being.cpp:551
msgid "miss"
msgstr "huti"
#. TRANSLATORS: this away status writed in player nick
-#: src/being.cpp:1527
+#: src/being.cpp:1530
msgid "A"
msgstr ""
#. TRANSLATORS: this inactive status writed in player nick
-#: src/being.cpp:1532
+#: src/being.cpp:1535
msgid "I"
msgstr ""
-#: src/client.cpp:835 src/gui/setup.cpp:54 src/gui/windowmenu.cpp:100
+#: src/client.cpp:869 src/gui/setup.cpp:54 src/gui/windowmenu.cpp:100
msgid "Setup"
msgstr "Asetukset"
-#: src/client.cpp:842 src/gui/setup_perfomance.cpp:48
+#: src/client.cpp:876 src/gui/setup_perfomance.cpp:48
msgid "Perfomance"
msgstr ""
-#: src/client.cpp:847 src/gui/setup_video.cpp:315
+#: src/client.cpp:881 src/gui/setup_video.cpp:315
msgid "Video"
msgstr "Kuva"
-#: src/client.cpp:852
+#: src/client.cpp:886
msgid "Themes"
msgstr ""
-#: src/client.cpp:934
+#: src/client.cpp:968
msgid "Connecting to server"
msgstr "Yhdistän palvelimeen"
-#: src/client.cpp:965
+#: src/client.cpp:999
msgid "Logging in"
msgstr "Kirjaudun sisään"
-#: src/client.cpp:998
+#: src/client.cpp:1032
msgid "Entering game world"
msgstr "Siirryn pelimaailmaan"
-#: src/client.cpp:1098
+#: src/client.cpp:1132
msgid "Requesting characters"
msgstr "Pyydän hahmoja"
-#: src/client.cpp:1129
+#: src/client.cpp:1163
msgid "Connecting to the game server"
msgstr "Yhdistän pelipalvelimeen"
-#: src/client.cpp:1139
+#: src/client.cpp:1173
msgid "Changing game servers"
msgstr "Vaihdan pelipalvelinta"
-#: src/client.cpp:1182 src/client.cpp:1189 src/client.cpp:1323
+#: src/client.cpp:1216 src/client.cpp:1223 src/client.cpp:1357
#: src/gui/changeemaildialog.cpp:157 src/gui/changepassworddialog.cpp:147
#: src/gui/charcreatedialog.cpp:221 src/gui/charselectdialog.cpp:253
#: src/gui/register.cpp:228 src/gui/serverdialog.cpp:401
@@ -91,221 +91,225 @@ msgstr "Vaihdan pelipalvelinta"
msgid "Error"
msgstr "Virhe"
-#: src/client.cpp:1198
+#: src/client.cpp:1232
msgid "Requesting registration details"
msgstr "Pyydän rekisteröitymisen yksityiskohtia"
-#: src/client.cpp:1224
+#: src/client.cpp:1258
msgid "Password Change"
msgstr "Salasanan vaihto"
-#: src/client.cpp:1225
+#: src/client.cpp:1259
msgid "Password changed successfully!"
msgstr "Salasana vaihdettu onnistuneesti!"
-#: src/client.cpp:1244
+#: src/client.cpp:1278
msgid "Email Change"
msgstr "Sähköpostin vaihto"
-#: src/client.cpp:1245
+#: src/client.cpp:1279
msgid "Email changed successfully!"
msgstr "Sähköpostiosoite vaihdettu onnistuneesti!"
-#: src/client.cpp:1265
+#: src/client.cpp:1299
msgid "Unregister Successful"
msgstr "Tietojen poisto onnistui"
-#: src/client.cpp:1266
+#: src/client.cpp:1300
msgid "Farewell, come back any time..."
msgstr "Näkemisiin, tule pian takaisin..."
-#: src/client.cpp:1465 src/client.cpp:1495 src/client.cpp:1510
-#: src/client.cpp:1935 src/client.cpp:1942
+#: src/client.cpp:1499 src/client.cpp:1529 src/client.cpp:1544
+#: src/client.cpp:1969 src/client.cpp:1976
#, c-format
msgid "%s doesn't exist and can't be created! Exiting."
msgstr "%s ei ole olemassa eikä sitä voi luoda! Poistun."
-#: src/client.cpp:1641
+#: src/client.cpp:1675
#, c-format
msgid "Invalid update host: %s"
msgstr "Epäkelpo päivitysosoite: %s"
-#: src/client.cpp:1675 src/client.cpp:1681
+#: src/client.cpp:1709 src/client.cpp:1715
msgid "Error creating updates directory!"
msgstr "Päivityshakemistoa luodessa tapahtui virhe!"
-#: src/client.cpp:1702
+#: src/client.cpp:1736
#, c-format
msgid "Error: %s doesn't exist and can't be created! Exiting."
msgstr "Virhe: %s ei ole olemassa eikä sitä voi luoda! Poistun."
-#: src/commandhandler.cpp:205
+#: src/commandhandler.cpp:209
msgid "Unknown command."
msgstr "Tuntematon komento."
-#: src/commandhandler.cpp:304
+#: src/commandhandler.cpp:329
msgid "Cannot send empty whispers!"
msgstr "Et voi lähettää tyhjiä kuiskauksia!"
-#: src/commandhandler.cpp:318
+#: src/commandhandler.cpp:343
#, c-format
msgid ""
-"Cannot create a whisper tab for nick \"%s\"! It either already exists, or is "
-"you."
+"Cannot create a whisper tab for nick \"%s\"! It either already exists, or is"
+" you."
msgstr ""
-"Kuiskausvälilehden luonti nimelle \"%s\" epäonnistui! Se on joko jo auki tai "
-"käytit omaa nimeäsi."
+"Kuiskausvälilehden luonti nimelle \"%s\" epäonnistui! Se on joko jo auki tai"
+" käytit omaa nimeäsi."
-#: src/commandhandler.cpp:338
+#: src/commandhandler.cpp:363
#, c-format
msgid "Requesting to join channel %s."
msgstr "Pyyntö liittyä kanavalle %s lähetetty."
-#: src/commandhandler.cpp:354 src/net/ea/gui/partytab.cpp:125
+#: src/commandhandler.cpp:379 src/net/ea/gui/partytab.cpp:125
msgid "Party name is missing."
msgstr "Ryhmän nimi puuttuu."
-#: src/commandhandler.cpp:365
+#: src/commandhandler.cpp:390
msgid "Guild name is missing."
msgstr "Killan nimi puuttuu."
-#: src/commandhandler.cpp:378 src/commandhandler.cpp:496
-#: src/commandhandler.cpp:537 src/commandhandler.cpp:572
+#: src/commandhandler.cpp:403 src/commandhandler.cpp:521
+#: src/commandhandler.cpp:562 src/commandhandler.cpp:602
msgid "Please specify a name."
msgstr "Anna nimi."
-#: src/commandhandler.cpp:430
+#: src/commandhandler.cpp:455
msgid "Return toggles chat."
msgstr "Rivinvaihto aktivoi ja sulkee keskustelun."
-#: src/commandhandler.cpp:430
+#: src/commandhandler.cpp:455
msgid "Message closes chat."
msgstr "Viesti sulkee keskustelun."
-#: src/commandhandler.cpp:441
+#: src/commandhandler.cpp:466
msgid "Return now toggles chat."
msgstr "Nyt rivinvaihto aktivoi ja sulkee keskustelun."
-#: src/commandhandler.cpp:447
+#: src/commandhandler.cpp:472
msgid "Message now closes chat."
msgstr "Nyt viesti sulkee keskustelun."
-#: src/commandhandler.cpp:475
+#: src/commandhandler.cpp:500
msgid "friend"
msgstr "ystävä"
-#: src/commandhandler.cpp:480
+#: src/commandhandler.cpp:505
msgid "disregarded"
msgstr "vaimennettu"
-#: src/commandhandler.cpp:485
+#: src/commandhandler.cpp:510
msgid "neutral"
msgstr "neutraali"
-#: src/commandhandler.cpp:504
+#: src/commandhandler.cpp:529
#, c-format
msgid "Player already %s!"
msgstr "Pelaaja on jo %s!"
-#: src/commandhandler.cpp:518
+#: src/commandhandler.cpp:543
#, c-format
msgid "Player successfully %s!"
msgstr "Pelaaja on nyt %s."
-#: src/commandhandler.cpp:526
+#: src/commandhandler.cpp:551
#, c-format
msgid "Player could not be %s!"
msgstr "Toiminto epäonnistui, pelaaja ei ole vielä %s!"
-#: src/commandhandler.cpp:549
+#: src/commandhandler.cpp:574
msgid "Player wasn't ignored!"
msgstr "Pelaajaa ei ollut jätetty huomiotta!"
-#: src/commandhandler.cpp:556
+#: src/commandhandler.cpp:581
msgid "Player no longer ignored!"
msgstr "Pelaaja huomioidaan taas."
-#: src/commandhandler.cpp:558
+#: src/commandhandler.cpp:583
msgid "Player could not be unignored!"
msgstr "Pelaajan uudelleenhuomiointi epäonnistui."
-#: src/commandhandler.cpp:564
+#: src/commandhandler.cpp:589
msgid "blacklisted"
msgstr ""
-#: src/commandhandler.cpp:579
+#: src/commandhandler.cpp:594
+msgid "enemy"
+msgstr ""
+
+#: src/commandhandler.cpp:609
msgid "Player already erased!"
msgstr "Pelaaja on jo pyyhitty!"
-#: src/commandhandler.cpp:590
+#: src/commandhandler.cpp:620
msgid "Player successfully erased!"
msgstr "Pelaaja pyyhitty."
-#: src/commandhandler.cpp:592
+#: src/commandhandler.cpp:622
msgid "Player could not be erased!"
msgstr "Toiminto epäonnistui, pelaajaa ei ole vielä pyyhitty."
-#: src/commandhandler.cpp:892 src/commandhandler.cpp:938
+#: src/commandhandler.cpp:929 src/commandhandler.cpp:975
#, c-format
msgid "Client uptime: %s"
msgstr "Ohjelma ollut käynnissä: %s"
-#: src/commandhandler.cpp:902
+#: src/commandhandler.cpp:939
#, c-format
msgid "%d week"
msgid_plural "%d weeks"
msgstr[0] "%d viikon"
msgstr[1] "%d viikkoa"
-#: src/commandhandler.cpp:911
+#: src/commandhandler.cpp:948
#, c-format
msgid "%d day"
msgid_plural "%d days"
msgstr[0] "%d päivän"
msgstr[1] "%d päivää"
-#: src/commandhandler.cpp:919
+#: src/commandhandler.cpp:956
#, c-format
msgid "%d hour"
msgid_plural "%d hours"
msgstr[0] "%d tunnin"
msgstr[1] "%d tuntia"
-#: src/commandhandler.cpp:927
+#: src/commandhandler.cpp:964
#, c-format
msgid "%d minute"
msgid_plural "%d minutes"
msgstr[0] "%d minuutin"
msgstr[1] "%d minuuttia"
-#: src/commandhandler.cpp:935
+#: src/commandhandler.cpp:972
#, c-format
msgid "%d second"
msgid_plural "%d seconds"
msgstr[0] "%d sekunnin"
msgstr[1] "%d sekuntia"
-#: src/commandhandler.cpp:1014
+#: src/commandhandler.cpp:1051
msgid "font cache size"
msgstr "kirjasinvälimuistin koko"
-#: src/commandhandler.cpp:1026
+#: src/commandhandler.cpp:1063
msgid "Cache size:"
msgstr "Välimuistin koko:"
-#: src/commandhandler.cpp:1030
+#: src/commandhandler.cpp:1067
msgid "Created:"
msgstr "Luotu:"
-#: src/commandhandler.cpp:1032
+#: src/commandhandler.cpp:1069
msgid "Deleted:"
msgstr "Poistettu:"
-#: src/commandhandler.cpp:1133 src/commandhandler.cpp:1140
+#: src/commandhandler.cpp:1171 src/commandhandler.cpp:1178
msgid "Resource images:"
msgstr "Resurssikuvat:"
-#: src/commandhandler.cpp:1135 src/commandhandler.cpp:1142
+#: src/commandhandler.cpp:1173 src/commandhandler.cpp:1180
msgid "Resource orphaned images:"
msgstr "Orvot resurssikuvat:"
@@ -313,8 +317,8 @@ msgstr "Orvot resurssikuvat:"
#, c-format
msgid "Options to /%s are \"yes\", \"no\", \"true\", \"false\", \"1\", \"0\"."
msgstr ""
-"Vaihtoehdot komennolle /%s ovat \"yes\" (kyllä), \"no\" (ei) tai vastaavasti "
-"\"true\", \"false\", \"1\" tai \"0\"."
+"Vaihtoehdot komennolle /%s ovat \"yes\" (kyllä), \"no\" (ei) tai vastaavasti"
+" \"true\", \"false\", \"1\" tai \"0\"."
#: src/game.cpp:252 src/gui/widgets/chattab.cpp:403
msgid "General"
@@ -324,35 +328,35 @@ msgstr "Yleiset"
msgid "Debug"
msgstr "Debug"
-#: src/game.cpp:513
+#: src/game.cpp:506
msgid "Screenshot saved as "
msgstr "Ruutukaappaus tallennettu nimellä "
-#: src/game.cpp:521
+#: src/game.cpp:514
msgid "Saving screenshot failed!"
msgstr "Ruutukaappauksen tallentaminen epäonnistui!"
-#: src/game.cpp:560
+#: src/game.cpp:554
msgid "The connection to the server was lost."
msgstr "Yhteys palvelimeen katkesi."
-#: src/game.cpp:572
+#: src/game.cpp:557
msgid "Network Error"
msgstr "Verkkovirhe"
-#: src/game.cpp:1322
+#: src/game.cpp:1332
msgid "Ignoring incoming trade requests"
msgstr "Et huomioi kaupankäyntipyyntöjä"
-#: src/game.cpp:1332
+#: src/game.cpp:1342
msgid "Accepting incoming trade requests"
msgstr "Hyväksyt kaupankäyntipyynnöt"
-#: src/game.cpp:1732
+#: src/game.cpp:1750
msgid "Could Not Load Map"
msgstr "Kartan lataaminen epäonnistui"
-#: src/game.cpp:1733
+#: src/game.cpp:1751
#, c-format
msgid "Error while loading %s"
msgstr "Kohdetta %s ladattaessa tapahtui virhe."
@@ -386,19 +390,19 @@ msgid "Name"
msgstr "Nimi"
#: src/gui/botcheckerwindow.cpp:297 src/gui/popupmenu.cpp:133
-#: src/gui/popupmenu.cpp:292 src/gui/popupmenu.cpp:614
+#: src/gui/popupmenu.cpp:303 src/gui/popupmenu.cpp:636
#: src/keyboardconfig.cpp:49 src/net/tmwa/generalhandler.cpp:269
msgid "Attack"
msgstr "Hyökkää"
-#: src/gui/botcheckerwindow.cpp:298 src/gui/popupmenu.cpp:281
+#: src/gui/botcheckerwindow.cpp:298 src/gui/popupmenu.cpp:292
#: src/keyboardconfig.cpp:62
msgid "Talk"
msgstr "Keskustele"
-#: src/gui/botcheckerwindow.cpp:299 src/gui/popupmenu.cpp:253
-#: src/gui/popupmenu.cpp:285 src/gui/popupmenu.cpp:437
-#: src/gui/popupmenu.cpp:669 src/gui/popupmenu.cpp:756
+#: src/gui/botcheckerwindow.cpp:299 src/gui/popupmenu.cpp:264
+#: src/gui/popupmenu.cpp:296 src/gui/popupmenu.cpp:459
+#: src/gui/popupmenu.cpp:702 src/gui/popupmenu.cpp:789
msgid "Move"
msgstr "Liiku"
@@ -411,8 +415,8 @@ msgid "Reset"
msgstr "Nollaa"
#: src/gui/buydialog.cpp:58 src/gui/buydialog.cpp:65 src/gui/buydialog.cpp:112
-#: src/gui/buyselldialog.cpp:65 src/gui/popupmenu.cpp:265
-#: src/gui/popupmenu.cpp:282 src/gui/popupmenu.cpp:681
+#: src/gui/buyselldialog.cpp:65 src/gui/popupmenu.cpp:276
+#: src/gui/popupmenu.cpp:293 src/gui/popupmenu.cpp:714
msgid "Buy"
msgstr "Osta"
@@ -430,7 +434,7 @@ msgstr ""
#. You may change this symbol if your language uses another.
#: src/gui/buydialog.cpp:108 src/gui/itemamountwindow.cpp:207
#: src/gui/itemamountwindow.cpp:235 src/gui/npcdialog.cpp:114
-#: src/gui/selldialog.cpp:91 src/gui/statuswindow.cpp:977
+#: src/gui/selldialog.cpp:91 src/gui/statuswindow.cpp:998
msgid "+"
msgstr "+"
@@ -438,7 +442,7 @@ msgstr "+"
#. You may change this symbol if your language uses another.
#: src/gui/buydialog.cpp:111 src/gui/itemamountwindow.cpp:206
#: src/gui/itemamountwindow.cpp:234 src/gui/npcdialog.cpp:115
-#: src/gui/selldialog.cpp:92 src/gui/statuswindow.cpp:989
+#: src/gui/selldialog.cpp:92 src/gui/statuswindow.cpp:1010
msgid "-"
msgstr "-"
@@ -450,8 +454,8 @@ msgid "Quit"
msgstr "Sulje"
#: src/gui/buydialog.cpp:114 src/gui/selldialog.cpp:95
-#: src/gui/statuswindow.cpp:504 src/gui/statuswindow.cpp:554
-#: src/gui/statuswindow.cpp:976 src/gui/statuswindow.cpp:1007
+#: src/gui/statuswindow.cpp:505 src/gui/statuswindow.cpp:555
+#: src/gui/statuswindow.cpp:997 src/gui/statuswindow.cpp:1028
msgid "Max"
msgstr "Max"
@@ -460,8 +464,8 @@ msgstr "Max"
msgid "Shop"
msgstr "Kauppa"
-#: src/gui/buyselldialog.cpp:65 src/gui/popupmenu.cpp:266
-#: src/gui/popupmenu.cpp:283 src/gui/popupmenu.cpp:682
+#: src/gui/buyselldialog.cpp:65 src/gui/popupmenu.cpp:277
+#: src/gui/popupmenu.cpp:294 src/gui/popupmenu.cpp:715
#: src/gui/selldialog.cpp:53 src/gui/selldialog.cpp:60
#: src/gui/selldialog.cpp:93
msgid "Sell"
@@ -470,15 +474,15 @@ msgstr "Myy"
#: src/gui/buyselldialog.cpp:65 src/gui/changeemaildialog.cpp:59
#: src/gui/changepassworddialog.cpp:61 src/gui/charcreatedialog.cpp:96
#: src/gui/connectiondialog.cpp:47 src/gui/itemamountwindow.cpp:209
-#: src/gui/npcpostdialog.cpp:58 src/gui/popupmenu.cpp:333
-#: src/gui/popupmenu.cpp:354 src/gui/popupmenu.cpp:478
-#: src/gui/popupmenu.cpp:504 src/gui/popupmenu.cpp:528
-#: src/gui/popupmenu.cpp:541 src/gui/popupmenu.cpp:559
-#: src/gui/popupmenu.cpp:772 src/gui/popupmenu.cpp:796
-#: src/gui/popupmenu.cpp:1732 src/gui/popupmenu.cpp:1760
-#: src/gui/popupmenu.cpp:1816 src/gui/popupmenu.cpp:1861
-#: src/gui/popupmenu.cpp:1896 src/gui/popupmenu.cpp:1935
-#: src/gui/popupmenu.cpp:1987 src/gui/popupmenu.cpp:2007
+#: src/gui/npcpostdialog.cpp:58 src/gui/popupmenu.cpp:344
+#: src/gui/popupmenu.cpp:365 src/gui/popupmenu.cpp:500
+#: src/gui/popupmenu.cpp:526 src/gui/popupmenu.cpp:550
+#: src/gui/popupmenu.cpp:563 src/gui/popupmenu.cpp:581
+#: src/gui/popupmenu.cpp:805 src/gui/popupmenu.cpp:829
+#: src/gui/popupmenu.cpp:1775 src/gui/popupmenu.cpp:1803
+#: src/gui/popupmenu.cpp:1859 src/gui/popupmenu.cpp:1904
+#: src/gui/popupmenu.cpp:1939 src/gui/popupmenu.cpp:1978
+#: src/gui/popupmenu.cpp:2030 src/gui/popupmenu.cpp:2050
#: src/gui/quitdialog.cpp:55 src/gui/register.cpp:82 src/gui/setup.cpp:72
#: src/gui/socialwindow.cpp:1077 src/gui/textcommandeditor.cpp:241
#: src/gui/textdialog.cpp:51 src/gui/unregisterdialog.cpp:59
@@ -649,7 +653,7 @@ msgid "Enter password:"
msgstr "Salasana:"
#: src/gui/charselectdialog.cpp:410 src/gui/serverdialog.cpp:298
-#: src/gui/setup_relations.cpp:243 src/gui/shopwindow.cpp:122
+#: src/gui/setup_relations.cpp:244 src/gui/shopwindow.cpp:122
#: src/gui/shopwindow.cpp:125 src/gui/textcommandeditor.cpp:244
msgid "Delete"
msgstr "Poista"
@@ -725,8 +729,9 @@ msgstr "sateenkaari 3"
#: src/gui/chatwindow.cpp:142 src/gui/inventorywindow.cpp:90
#: src/gui/itemamountwindow.cpp:93 src/gui/logindialog.cpp:78
-#: src/gui/setup_relations.cpp:221 src/gui/setup_theme.cpp:73
-#: src/gui/setup_theme.cpp:127 src/gui/setup_video.cpp:211
+#: src/gui/setup_joystick.cpp:60 src/gui/setup_relations.cpp:222
+#: src/gui/setup_theme.cpp:74 src/gui/setup_theme.cpp:128
+#: src/gui/setup_theme.cpp:173 src/gui/setup_video.cpp:211
#: src/gui/textcommandeditor.cpp:102 src/gui/textcommandeditor.cpp:141
#: src/gui/textcommandeditor.cpp:160
msgid "???"
@@ -736,12 +741,12 @@ msgstr "???"
msgid "Chat"
msgstr "Keskustelu"
-#: src/gui/chatwindow.cpp:613
+#: src/gui/chatwindow.cpp:615
#, c-format
msgid "Present: %s; %d players are present."
msgstr "Läsnä: %s; %d pelaajaa paikalla."
-#: src/gui/chatwindow.cpp:1000
+#: src/gui/chatwindow.cpp:1002
#, c-format
msgid "Whispering to %s: %s"
msgstr "Kuiskaat pelaajalle %s: %s"
@@ -755,10 +760,12 @@ msgid "No"
msgstr "Ei"
#: src/gui/confirmdialog.cpp:52 src/gui/popupmenu.cpp:146
-#: src/gui/popupmenu.cpp:153 src/gui/popupmenu.cpp:161
-#: src/gui/popupmenu.cpp:380 src/gui/popupmenu.cpp:387
-#: src/gui/popupmenu.cpp:395 src/gui/popupmenu.cpp:626
-#: src/gui/popupmenu.cpp:633 src/gui/popupmenu.cpp:641
+#: src/gui/popupmenu.cpp:154 src/gui/popupmenu.cpp:163
+#: src/gui/popupmenu.cpp:171 src/gui/popupmenu.cpp:391
+#: src/gui/popupmenu.cpp:399 src/gui/popupmenu.cpp:408
+#: src/gui/popupmenu.cpp:427 src/gui/popupmenu.cpp:648
+#: src/gui/popupmenu.cpp:656 src/gui/popupmenu.cpp:665
+#: src/gui/popupmenu.cpp:679
msgid "Ignore"
msgstr "Ohita"
@@ -904,7 +911,7 @@ msgstr ""
#: src/gui/didyouknowwindow.cpp:63 src/gui/helpwindow.cpp:59
#: src/gui/inventorywindow.cpp:205 src/gui/npcdialog.cpp:53
-#: src/gui/popupmenu.cpp:574 src/gui/shopwindow.cpp:113
+#: src/gui/popupmenu.cpp:596 src/gui/shopwindow.cpp:113
msgid "Close"
msgstr "Sulje"
@@ -931,8 +938,8 @@ msgstr "Varusteet"
#: src/gui/equipmentwindow.cpp:95 src/gui/inventorywindow.cpp:160
#: src/gui/inventorywindow.cpp:545 src/gui/inventorywindow.cpp:554
-#: src/gui/popupmenu.cpp:1694 src/gui/popupmenu.cpp:1786
-#: src/gui/popupmenu.cpp:1831
+#: src/gui/popupmenu.cpp:1737 src/gui/popupmenu.cpp:1829
+#: src/gui/popupmenu.cpp:1874
msgid "Unequip"
msgstr "Poista varuste käytöstä"
@@ -974,31 +981,31 @@ msgid "Filter:"
msgstr "Suodin:"
#: src/gui/inventorywindow.cpp:158 src/gui/inventorywindow.cpp:547
-#: src/gui/inventorywindow.cpp:556 src/gui/popupmenu.cpp:1696
-#: src/gui/popupmenu.cpp:1788 src/gui/popupmenu.cpp:1833
+#: src/gui/inventorywindow.cpp:556 src/gui/popupmenu.cpp:1739
+#: src/gui/popupmenu.cpp:1831 src/gui/popupmenu.cpp:1876
msgid "Equip"
msgstr "Ota käyttöön"
#: src/gui/inventorywindow.cpp:159 src/gui/inventorywindow.cpp:548
-#: src/gui/inventorywindow.cpp:552 src/gui/popupmenu.cpp:1700
-#: src/gui/popupmenu.cpp:1755 src/gui/popupmenu.cpp:1792
-#: src/gui/popupmenu.cpp:1837
+#: src/gui/inventorywindow.cpp:552 src/gui/popupmenu.cpp:1743
+#: src/gui/popupmenu.cpp:1798 src/gui/popupmenu.cpp:1835
+#: src/gui/popupmenu.cpp:1880
msgid "Use"
msgstr "Käytä"
#: src/gui/inventorywindow.cpp:173 src/gui/inventorywindow.cpp:652
-#: src/gui/popupmenu.cpp:1705 src/gui/popupmenu.cpp:1797
-#: src/gui/popupmenu.cpp:1842
+#: src/gui/popupmenu.cpp:1748 src/gui/popupmenu.cpp:1840
+#: src/gui/popupmenu.cpp:1885
msgid "Drop..."
msgstr "Pudota..."
-#: src/gui/inventorywindow.cpp:174 src/gui/popupmenu.cpp:1714
-#: src/gui/popupmenu.cpp:1806 src/gui/popupmenu.cpp:1851
+#: src/gui/inventorywindow.cpp:174 src/gui/popupmenu.cpp:1757
+#: src/gui/popupmenu.cpp:1849 src/gui/popupmenu.cpp:1894
msgid "Split"
msgstr "Jaa"
#: src/gui/inventorywindow.cpp:175 src/gui/outfitwindow.cpp:60
-#: src/gui/popupmenu.cpp:537
+#: src/gui/popupmenu.cpp:559
msgid "Outfits"
msgstr "Asukokonaisuudet"
@@ -1007,17 +1014,17 @@ msgid "Weight:"
msgstr "Paino:"
#: src/gui/inventorywindow.cpp:203 src/gui/inventorywindow.cpp:643
-#: src/gui/popupmenu.cpp:1680 src/gui/popupmenu.cpp:1809
-#: src/gui/popupmenu.cpp:1854 src/gui/setup.cpp:73
+#: src/gui/popupmenu.cpp:1723 src/gui/popupmenu.cpp:1852
+#: src/gui/popupmenu.cpp:1897 src/gui/setup.cpp:73
msgid "Store"
msgstr "Varastoi"
-#: src/gui/inventorywindow.cpp:204 src/gui/popupmenu.cpp:1721
+#: src/gui/inventorywindow.cpp:204 src/gui/popupmenu.cpp:1764
msgid "Retrieve"
msgstr "Ota"
-#: src/gui/inventorywindow.cpp:654 src/gui/popupmenu.cpp:1710
-#: src/gui/popupmenu.cpp:1802 src/gui/popupmenu.cpp:1847
+#: src/gui/inventorywindow.cpp:654 src/gui/popupmenu.cpp:1753
+#: src/gui/popupmenu.cpp:1845 src/gui/popupmenu.cpp:1890
#: src/gui/windowmenu.cpp:97
msgid "Drop"
msgstr "Pudota"
@@ -1257,7 +1264,7 @@ msgstr "Lähetä"
msgid "NPC"
msgstr "Ei-pelaajahahmo (NPC)"
-#: src/gui/npcdialog.cpp:108 src/gui/popupmenu.cpp:576
+#: src/gui/npcdialog.cpp:108 src/gui/popupmenu.cpp:598
msgid "Clear"
msgstr "Tyhjennä"
@@ -1295,331 +1302,347 @@ msgstr "Riisu ensin"
msgid "Away outfit"
msgstr "Poissaoloasu"
-#: src/gui/popupmenu.cpp:132 src/gui/popupmenu.cpp:613
+#: src/gui/popupmenu.cpp:132 src/gui/popupmenu.cpp:635
#: src/gui/widgets/tradetab.cpp:44
msgid "Trade"
msgstr "Tee kaupat"
-#: src/gui/popupmenu.cpp:134 src/gui/popupmenu.cpp:372
+#: src/gui/popupmenu.cpp:134 src/gui/popupmenu.cpp:383
msgid "Whisper"
msgstr "Kuiskaa"
-#: src/gui/popupmenu.cpp:138 src/gui/popupmenu.cpp:618
+#: src/gui/popupmenu.cpp:138 src/gui/popupmenu.cpp:640
msgid "Heal"
msgstr "Paranna"
-#: src/gui/popupmenu.cpp:144 src/gui/popupmenu.cpp:378
-#: src/gui/popupmenu.cpp:624
+#: src/gui/popupmenu.cpp:144 src/gui/popupmenu.cpp:389
+#: src/gui/popupmenu.cpp:646
msgid "Be friend"
msgstr "Ystävysty"
-#: src/gui/popupmenu.cpp:145 src/gui/popupmenu.cpp:152
-#: src/gui/popupmenu.cpp:160 src/gui/popupmenu.cpp:178
-#: src/gui/popupmenu.cpp:379 src/gui/popupmenu.cpp:386
-#: src/gui/popupmenu.cpp:394 src/gui/popupmenu.cpp:412
-#: src/gui/popupmenu.cpp:625 src/gui/popupmenu.cpp:632
-#: src/gui/popupmenu.cpp:640 src/gui/popupmenu.cpp:658
+#: src/gui/popupmenu.cpp:145 src/gui/popupmenu.cpp:153
+#: src/gui/popupmenu.cpp:162 src/gui/popupmenu.cpp:170
+#: src/gui/popupmenu.cpp:189 src/gui/popupmenu.cpp:390
+#: src/gui/popupmenu.cpp:398 src/gui/popupmenu.cpp:407
+#: src/gui/popupmenu.cpp:426 src/gui/popupmenu.cpp:434
+#: src/gui/popupmenu.cpp:647 src/gui/popupmenu.cpp:655
+#: src/gui/popupmenu.cpp:664 src/gui/popupmenu.cpp:678
+#: src/gui/popupmenu.cpp:691
msgid "Disregard"
msgstr "Vaimenna"
-#: src/gui/popupmenu.cpp:147 src/gui/popupmenu.cpp:154
-#: src/gui/popupmenu.cpp:381 src/gui/popupmenu.cpp:388
-#: src/gui/popupmenu.cpp:627 src/gui/popupmenu.cpp:634
+#: src/gui/popupmenu.cpp:147 src/gui/popupmenu.cpp:155
+#: src/gui/popupmenu.cpp:172 src/gui/popupmenu.cpp:392
+#: src/gui/popupmenu.cpp:400 src/gui/popupmenu.cpp:428
+#: src/gui/popupmenu.cpp:649 src/gui/popupmenu.cpp:657
+#: src/gui/popupmenu.cpp:680
msgid "Black list"
msgstr ""
-#: src/gui/popupmenu.cpp:148 src/gui/popupmenu.cpp:155
-#: src/gui/popupmenu.cpp:162 src/gui/popupmenu.cpp:168
-#: src/gui/popupmenu.cpp:173 src/gui/popupmenu.cpp:382
-#: src/gui/popupmenu.cpp:389 src/gui/popupmenu.cpp:396
-#: src/gui/popupmenu.cpp:402 src/gui/popupmenu.cpp:407
-#: src/gui/popupmenu.cpp:628 src/gui/popupmenu.cpp:635
-#: src/gui/popupmenu.cpp:642 src/gui/popupmenu.cpp:648
-#: src/gui/popupmenu.cpp:653
+#: src/gui/popupmenu.cpp:148 src/gui/popupmenu.cpp:156
+#: src/gui/popupmenu.cpp:164 src/gui/popupmenu.cpp:393
+#: src/gui/popupmenu.cpp:401 src/gui/popupmenu.cpp:409
+#: src/gui/popupmenu.cpp:650 src/gui/popupmenu.cpp:658
+#: src/gui/popupmenu.cpp:666
+msgid "Set as enemy"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:149 src/gui/popupmenu.cpp:157
+#: src/gui/popupmenu.cpp:165 src/gui/popupmenu.cpp:173
+#: src/gui/popupmenu.cpp:179 src/gui/popupmenu.cpp:184
+#: src/gui/popupmenu.cpp:394 src/gui/popupmenu.cpp:402
+#: src/gui/popupmenu.cpp:410 src/gui/popupmenu.cpp:416
+#: src/gui/popupmenu.cpp:421 src/gui/popupmenu.cpp:429
+#: src/gui/popupmenu.cpp:651 src/gui/popupmenu.cpp:659
+#: src/gui/popupmenu.cpp:667 src/gui/popupmenu.cpp:673
+#: src/gui/popupmenu.cpp:681 src/gui/popupmenu.cpp:686
msgid "Erase"
msgstr "Pyyhi"
-#: src/gui/popupmenu.cpp:159 src/gui/popupmenu.cpp:166
-#: src/gui/popupmenu.cpp:172 src/gui/popupmenu.cpp:177
-#: src/gui/popupmenu.cpp:393 src/gui/popupmenu.cpp:400
-#: src/gui/popupmenu.cpp:406 src/gui/popupmenu.cpp:411
-#: src/gui/popupmenu.cpp:639 src/gui/popupmenu.cpp:646
-#: src/gui/popupmenu.cpp:652 src/gui/popupmenu.cpp:657
+#: src/gui/popupmenu.cpp:161 src/gui/popupmenu.cpp:169
+#: src/gui/popupmenu.cpp:177 src/gui/popupmenu.cpp:183
+#: src/gui/popupmenu.cpp:188 src/gui/popupmenu.cpp:406
+#: src/gui/popupmenu.cpp:414 src/gui/popupmenu.cpp:420
+#: src/gui/popupmenu.cpp:425 src/gui/popupmenu.cpp:433
+#: src/gui/popupmenu.cpp:663 src/gui/popupmenu.cpp:671
+#: src/gui/popupmenu.cpp:677 src/gui/popupmenu.cpp:685
+#: src/gui/popupmenu.cpp:690
msgid "Unignore"
msgstr "Huomioi jälleen"
-#: src/gui/popupmenu.cpp:167 src/gui/popupmenu.cpp:179
-#: src/gui/popupmenu.cpp:401 src/gui/popupmenu.cpp:413
-#: src/gui/popupmenu.cpp:647 src/gui/popupmenu.cpp:659
-#: src/playerrelations.cpp:421
+#: src/gui/popupmenu.cpp:178 src/gui/popupmenu.cpp:190
+#: src/gui/popupmenu.cpp:415 src/gui/popupmenu.cpp:435
+#: src/gui/popupmenu.cpp:672 src/gui/popupmenu.cpp:692
+#: src/playerrelations.cpp:446
msgid "Completely ignore"
msgstr "Jätä täysin huomiotta"
-#: src/gui/popupmenu.cpp:187 src/gui/popupmenu.cpp:421
-#: src/gui/popupmenu.cpp:667 src/gui/popupmenu.cpp:746
+#: src/gui/popupmenu.cpp:198 src/gui/popupmenu.cpp:443
+#: src/gui/popupmenu.cpp:700 src/gui/popupmenu.cpp:779
msgid "Follow"
msgstr "Seuraa"
-#: src/gui/popupmenu.cpp:188 src/gui/popupmenu.cpp:422
-#: src/gui/popupmenu.cpp:668 src/gui/popupmenu.cpp:747
+#: src/gui/popupmenu.cpp:199 src/gui/popupmenu.cpp:444
+#: src/gui/popupmenu.cpp:701 src/gui/popupmenu.cpp:780
msgid "Imitation"
msgstr "Matki"
-#: src/gui/popupmenu.cpp:197 src/gui/popupmenu.cpp:700
+#: src/gui/popupmenu.cpp:208 src/gui/popupmenu.cpp:733
msgid "Invite to party"
msgstr "Kutsu ryhmään"
-#: src/gui/popupmenu.cpp:202 src/gui/popupmenu.cpp:433
-#: src/gui/popupmenu.cpp:705
+#: src/gui/popupmenu.cpp:213 src/gui/popupmenu.cpp:455
+#: src/gui/popupmenu.cpp:738
msgid "Kick from party"
msgstr "Potki ryhmästä"
-#: src/gui/popupmenu.cpp:217 src/gui/popupmenu.cpp:229
-#: src/gui/popupmenu.cpp:450 src/gui/popupmenu.cpp:722
+#: src/gui/popupmenu.cpp:228 src/gui/popupmenu.cpp:240
+#: src/gui/popupmenu.cpp:472 src/gui/popupmenu.cpp:755
msgid "Kick from guild"
msgstr "Potki killasta"
-#: src/gui/popupmenu.cpp:222 src/gui/popupmenu.cpp:234
-#: src/gui/popupmenu.cpp:455 src/gui/popupmenu.cpp:727
+#: src/gui/popupmenu.cpp:233 src/gui/popupmenu.cpp:245
+#: src/gui/popupmenu.cpp:477 src/gui/popupmenu.cpp:760
msgid "Change pos in guild"
msgstr "Muuta kilta-asemaa"
-#: src/gui/popupmenu.cpp:242 src/gui/popupmenu.cpp:463
-#: src/gui/popupmenu.cpp:736
+#: src/gui/popupmenu.cpp:253 src/gui/popupmenu.cpp:485
+#: src/gui/popupmenu.cpp:769
msgid "Invite to guild"
msgstr "Kutsu kiltaan"
-#: src/gui/popupmenu.cpp:250
+#: src/gui/popupmenu.cpp:261
msgid "Kick player"
msgstr "Potki pelaaja"
-#: src/gui/popupmenu.cpp:252
+#: src/gui/popupmenu.cpp:263
msgid "Nuke"
msgstr "Pommita"
-#: src/gui/popupmenu.cpp:254 src/gui/popupmenu.cpp:670
-#: src/gui/popupmenu.cpp:759
+#: src/gui/popupmenu.cpp:265 src/gui/popupmenu.cpp:703
+#: src/gui/popupmenu.cpp:792
msgid "Show Items"
msgstr "Näytä tavarat"
-#: src/gui/popupmenu.cpp:255 src/gui/popupmenu.cpp:671
-#: src/gui/popupmenu.cpp:760 src/gui/popupmenu.cpp:2004
+#: src/gui/popupmenu.cpp:266 src/gui/popupmenu.cpp:704
+#: src/gui/popupmenu.cpp:793 src/gui/popupmenu.cpp:2047
msgid "Undress"
msgstr "Riisu"
-#: src/gui/popupmenu.cpp:256 src/gui/popupmenu.cpp:286
-#: src/gui/popupmenu.cpp:423 src/gui/popupmenu.cpp:672
-#: src/gui/popupmenu.cpp:761
+#: src/gui/popupmenu.cpp:267 src/gui/popupmenu.cpp:297
+#: src/gui/popupmenu.cpp:445 src/gui/popupmenu.cpp:705
+#: src/gui/popupmenu.cpp:794
msgid "Add comment"
msgstr ""
-#: src/gui/popupmenu.cpp:271 src/gui/popupmenu.cpp:471
-#: src/gui/popupmenu.cpp:687 src/gui/popupmenu.cpp:766
+#: src/gui/popupmenu.cpp:282 src/gui/popupmenu.cpp:493
+#: src/gui/popupmenu.cpp:720 src/gui/popupmenu.cpp:799
msgid "Buy (?)"
msgstr ""
-#: src/gui/popupmenu.cpp:272 src/gui/popupmenu.cpp:472
-#: src/gui/popupmenu.cpp:688 src/gui/popupmenu.cpp:767
+#: src/gui/popupmenu.cpp:283 src/gui/popupmenu.cpp:494
+#: src/gui/popupmenu.cpp:721 src/gui/popupmenu.cpp:800
msgid "Sell (?)"
msgstr ""
-#: src/gui/popupmenu.cpp:297
+#: src/gui/popupmenu.cpp:308
msgid "Kick"
msgstr "Potki"
-#: src/gui/popupmenu.cpp:308
+#: src/gui/popupmenu.cpp:319
msgid "Remove from attack list"
msgstr "Poista hyökkäyslistasta"
-#: src/gui/popupmenu.cpp:313
+#: src/gui/popupmenu.cpp:324
msgid "Add to priority attack list"
msgstr "Lisää prioriteettihyökkäyslistalle"
-#: src/gui/popupmenu.cpp:315
+#: src/gui/popupmenu.cpp:326
msgid "Add to attack list"
msgstr "Lisää hyökkäyslistaan"
-#: src/gui/popupmenu.cpp:317
+#: src/gui/popupmenu.cpp:328
msgid "Add to ignore list"
msgstr "Lisää ohitettavien listaan"
-#: src/gui/popupmenu.cpp:330 src/gui/popupmenu.cpp:475
+#: src/gui/popupmenu.cpp:341 src/gui/popupmenu.cpp:497
msgid "Add name to chat"
msgstr "Lisää nimi keskusteluun"
-#: src/gui/popupmenu.cpp:500
+#: src/gui/popupmenu.cpp:522
msgid "Pick up"
msgstr "Nosta"
-#: src/gui/popupmenu.cpp:501 src/gui/popupmenu.cpp:1730
-#: src/gui/popupmenu.cpp:1810 src/gui/popupmenu.cpp:1855
+#: src/gui/popupmenu.cpp:523 src/gui/popupmenu.cpp:1773
+#: src/gui/popupmenu.cpp:1853 src/gui/popupmenu.cpp:1898
msgid "Add to chat"
msgstr "Lisää keskusteluun"
-#: src/gui/popupmenu.cpp:518
+#: src/gui/popupmenu.cpp:540
msgid "Map Item"
msgstr "Karttaolio"
-#: src/gui/popupmenu.cpp:519
+#: src/gui/popupmenu.cpp:541
msgid "Rename"
msgstr "Nimeä uudelleen"
-#: src/gui/popupmenu.cpp:520 src/gui/popupmenu.cpp:1965
-#: src/gui/popupmenu.cpp:1976 src/gui/popupmenu.cpp:1980
+#: src/gui/popupmenu.cpp:542 src/gui/popupmenu.cpp:2008
+#: src/gui/popupmenu.cpp:2019 src/gui/popupmenu.cpp:2023
msgid "Remove"
msgstr "Poista"
-#: src/gui/popupmenu.cpp:525
+#: src/gui/popupmenu.cpp:547
msgid "Warp"
msgstr ""
-#: src/gui/popupmenu.cpp:538
+#: src/gui/popupmenu.cpp:560
msgid "Load old outfits"
msgstr "Lataa vanhat asut"
-#: src/gui/popupmenu.cpp:554 src/gui/windowmenu.cpp:96
+#: src/gui/popupmenu.cpp:576 src/gui/windowmenu.cpp:96
msgid "Spells"
msgstr "Loitsut"
-#: src/gui/popupmenu.cpp:555
+#: src/gui/popupmenu.cpp:577
msgid "Load old spells"
msgstr "Lataa vanhat loitsut"
-#: src/gui/popupmenu.cpp:556
+#: src/gui/popupmenu.cpp:578
msgid "Edit spell"
msgstr "Muokkaa loitsua"
-#: src/gui/popupmenu.cpp:580
+#: src/gui/popupmenu.cpp:602
msgid "Disable highlight"
msgstr "Estä korostus"
-#: src/gui/popupmenu.cpp:582
+#: src/gui/popupmenu.cpp:604
msgid "Enable highlight"
msgstr "Salli korostus"
-#: src/gui/popupmenu.cpp:584
+#: src/gui/popupmenu.cpp:606
msgid "Don't remove name"
msgstr ""
-#: src/gui/popupmenu.cpp:586
+#: src/gui/popupmenu.cpp:608
msgid "Remove name"
msgstr "Poista nimi"
-#: src/gui/popupmenu.cpp:588
+#: src/gui/popupmenu.cpp:610
msgid "Enable away"
msgstr "Ota poissaolo käyttöön"
-#: src/gui/popupmenu.cpp:590
+#: src/gui/popupmenu.cpp:612
msgid "Disable away"
msgstr "Poista poissaolo käytöstä"
-#: src/gui/popupmenu.cpp:595 src/gui/socialwindow.cpp:1141
+#: src/gui/popupmenu.cpp:617 src/gui/socialwindow.cpp:1141
msgid "Leave"
msgstr "Eroa"
-#: src/gui/popupmenu.cpp:780
+#: src/gui/popupmenu.cpp:813
msgid "Change guild position"
msgstr "Muuta asemaa killassa"
#. TRANSLATORS: number of chars in string should be near original
-#: src/gui/popupmenu.cpp:1243
+#: src/gui/popupmenu.cpp:1286
msgid "Rename map sign "
msgstr "Muuta merkin nimeä "
#. TRANSLATORS: number of chars in string should be near original
-#: src/gui/popupmenu.cpp:1245
+#: src/gui/popupmenu.cpp:1288
msgid "Name: "
msgstr "Nimi: "
#. TRANSLATORS: number of chars in string should be near original
-#: src/gui/popupmenu.cpp:1295
+#: src/gui/popupmenu.cpp:1338
msgid "Player comment "
msgstr ""
#. TRANSLATORS: number of chars in string should be near original
-#: src/gui/popupmenu.cpp:1297
+#: src/gui/popupmenu.cpp:1340
msgid "Comment: "
msgstr ""
-#: src/gui/popupmenu.cpp:1668
+#: src/gui/popupmenu.cpp:1711
msgid "Add to trade"
msgstr "Lisää kauppaan"
-#: src/gui/popupmenu.cpp:1672
+#: src/gui/popupmenu.cpp:1715
msgid "Add to trade 10"
msgstr "Lisää 10 kauppaan"
-#: src/gui/popupmenu.cpp:1673
+#: src/gui/popupmenu.cpp:1716
msgid "Add to trade half"
msgstr "Lisää puolet kauppaan"
-#: src/gui/popupmenu.cpp:1674
+#: src/gui/popupmenu.cpp:1717
msgid "Add to trade all"
msgstr "Lisää kaikki kauppaan"
-#: src/gui/popupmenu.cpp:1684
+#: src/gui/popupmenu.cpp:1727
msgid "Store 10"
msgstr "Varastoi 10"
-#: src/gui/popupmenu.cpp:1685
+#: src/gui/popupmenu.cpp:1728
msgid "Store half"
msgstr "Varastoi puolet"
-#: src/gui/popupmenu.cpp:1686
+#: src/gui/popupmenu.cpp:1729
msgid "Store all"
msgstr "Varastoi kaikki"
-#: src/gui/popupmenu.cpp:1706 src/gui/popupmenu.cpp:1798
-#: src/gui/popupmenu.cpp:1843
+#: src/gui/popupmenu.cpp:1749 src/gui/popupmenu.cpp:1841
+#: src/gui/popupmenu.cpp:1886
msgid "Drop all"
msgstr ""
-#: src/gui/popupmenu.cpp:1725
+#: src/gui/popupmenu.cpp:1768
msgid "Retrieve 10"
msgstr "Ota 10"
-#: src/gui/popupmenu.cpp:1726
+#: src/gui/popupmenu.cpp:1769
msgid "Retrieve half"
msgstr "Ota puolet"
-#: src/gui/popupmenu.cpp:1727
+#: src/gui/popupmenu.cpp:1770
msgid "Retrieve all"
msgstr "Ota kaikki"
-#: src/gui/popupmenu.cpp:1758 src/gui/popupmenu.cpp:1814
+#: src/gui/popupmenu.cpp:1801 src/gui/popupmenu.cpp:1857
msgid "Load old item shortcuts"
msgstr "Lataa vanhat tavarapikavalinnat"
-#: src/gui/popupmenu.cpp:1859
+#: src/gui/popupmenu.cpp:1902
msgid "Load old drop shortcuts"
msgstr "Lataa vanhat pudotuspikavalinnat"
-#: src/gui/popupmenu.cpp:1885 src/gui/popupmenu.cpp:1920
+#: src/gui/popupmenu.cpp:1928 src/gui/popupmenu.cpp:1963
msgid "Hide"
msgstr "Piilota"
-#: src/gui/popupmenu.cpp:1891 src/gui/popupmenu.cpp:1926
+#: src/gui/popupmenu.cpp:1934 src/gui/popupmenu.cpp:1969
msgid "Show"
msgstr "Näytä"
-#: src/gui/popupmenu.cpp:1932
+#: src/gui/popupmenu.cpp:1975
msgid "Reset yellow bar"
msgstr "Palauta oletusmuokkaimet (keltainen palkki)"
-#: src/gui/popupmenu.cpp:1934 src/gui/statuswindow.cpp:241
+#: src/gui/popupmenu.cpp:1977 src/gui/statuswindow.cpp:242
msgid "Copy to chat"
msgstr ""
-#: src/gui/popupmenu.cpp:1952 src/gui/socialwindow.cpp:958
+#: src/gui/popupmenu.cpp:1995 src/gui/setup_theme.cpp:88
+#: src/gui/setup_theme.cpp:145 src/gui/socialwindow.cpp:958
#: src/gui/socialwindow.cpp:993 src/gui/socialwindow.cpp:1028
msgid "(default)"
msgstr "(oletus)"
-#: src/gui/popupmenu.cpp:1962 src/gui/popupmenu.cpp:1973
+#: src/gui/popupmenu.cpp:2005 src/gui/popupmenu.cpp:2016
msgid "Move up"
msgstr "Siirrä ylös"
-#: src/gui/popupmenu.cpp:1964 src/gui/popupmenu.cpp:1975
+#: src/gui/popupmenu.cpp:2007 src/gui/popupmenu.cpp:2018
msgid "Move down"
msgstr "Siirrä alas"
@@ -1768,8 +1791,8 @@ msgstr "Huomaa"
#: src/gui/setup_audio.cpp:120
msgid "You may have to restart your client if you want to download new music"
msgstr ""
-"Voit joutua uudelleenkäynnistämään asiakasohjelmasi, jos haluat ladata uudet "
-"musiikit"
+"Voit joutua uudelleenkäynnistämään asiakasohjelmasi, jos haluat ladata uudet"
+" musiikit"
#: src/gui/setup_audio.cpp:133
msgid "Sound Engine"
@@ -1934,29 +1957,33 @@ msgstr "Hyväksy"
msgid "Reset Windows"
msgstr "Palauta ikkunoiden oletusasetukset"
-#: src/gui/setup_joystick.cpp:40 src/gui/setup_joystick.cpp:79
+#: src/gui/setup_joystick.cpp:70 src/gui/setup_joystick.cpp:142
msgid "Press the button to start calibration"
msgstr "Paina tätä nappia aloittaaksesi peliohjaimen kalibroinnin"
-#: src/gui/setup_joystick.cpp:41 src/gui/setup_joystick.cpp:77
+#: src/gui/setup_joystick.cpp:71 src/gui/setup_joystick.cpp:140
msgid "Calibrate"
msgstr "Kalibroi"
-#: src/gui/setup_joystick.cpp:42
+#: src/gui/setup_joystick.cpp:72
msgid "Enable joystick"
msgstr "Ota peliohjain käyttöön"
-#: src/gui/setup_joystick.cpp:44
+#: src/gui/setup_joystick.cpp:75
+msgid "Use joystick if client window inactive"
+msgstr ""
+
+#: src/gui/setup_joystick.cpp:78
msgid "Joystick"
msgstr "Peliohjain"
-#: src/gui/setup_joystick.cpp:84
+#: src/gui/setup_joystick.cpp:147
msgid "Stop"
msgstr "Lopeta"
-#: src/gui/setup_joystick.cpp:85
-msgid "Rotate the stick"
-msgstr "Pyöräytä ohjainta ääriasennoissaan"
+#: src/gui/setup_joystick.cpp:149
+msgid "Rotate the stick and dont press buttons"
+msgstr ""
#: src/gui/setup_keyboard.cpp:80
msgid "Keyboard"
@@ -2139,22 +2166,22 @@ msgid "Enable bot checker"
msgstr "Ota bottitutka käyttöön"
#: src/gui/setup_other.cpp:174
-msgid "Enable buggy servers protection"
-msgstr "Ota käyttöön suoja bugisten palvelinten varalta"
+msgid "Enable buggy servers protection (do not disable)"
+msgstr ""
-#: src/gui/setup_other.cpp:177
+#: src/gui/setup_other.cpp:178
msgid "Enable debug log"
msgstr "Ota käyttöön debug-loki"
-#: src/gui/setup_other.cpp:180
+#: src/gui/setup_other.cpp:181
msgid "Low traffic mode"
msgstr "Matalan liikenteen tila"
-#: src/gui/setup_other.cpp:183
+#: src/gui/setup_other.cpp:184
msgid "Hide shield sprite"
msgstr "Piilota kilpihahmo"
-#: src/gui/setup_other.cpp:186
+#: src/gui/setup_other.cpp:187
msgid "Show background"
msgstr "Näytä tausta"
@@ -2282,91 +2309,151 @@ msgstr "Pyyhitty"
msgid "Blacklisted"
msgstr ""
-#: src/gui/setup_relations.cpp:239
+#: src/gui/setup_relations.cpp:76
+msgid "Enemy"
+msgstr ""
+
+#: src/gui/setup_relations.cpp:240
msgid "Allow trading"
msgstr "Salli kaupakäynti"
-#: src/gui/setup_relations.cpp:241
+#: src/gui/setup_relations.cpp:242
msgid "Allow whispers"
msgstr "Salli kuiskaukset"
-#: src/gui/setup_relations.cpp:244
+#: src/gui/setup_relations.cpp:245
msgid "Old"
msgstr "Vanha"
-#: src/gui/setup_relations.cpp:246
+#: src/gui/setup_relations.cpp:247
msgid "Relations"
msgstr ""
-#: src/gui/setup_relations.cpp:271
+#: src/gui/setup_relations.cpp:272
msgid "When ignoring:"
msgstr "Kun jätät huomiotta:"
-#: src/gui/setup_theme.cpp:107
+#: src/gui/setup_theme.cpp:108
msgid "Tiny (10)"
msgstr "Pikkiriikkinen (10)"
-#: src/gui/setup_theme.cpp:108
+#: src/gui/setup_theme.cpp:109
msgid "Small (11)"
msgstr "Pieni (11)"
-#: src/gui/setup_theme.cpp:109
+#: src/gui/setup_theme.cpp:110
msgid "Medium (12)"
msgstr "Keskikokoinen (12)"
-#: src/gui/setup_theme.cpp:110
+#: src/gui/setup_theme.cpp:111
msgid "Large (13)"
msgstr "Kookas (13)"
-#: src/gui/setup_theme.cpp:111
+#: src/gui/setup_theme.cpp:112
msgid "Big (14)"
msgstr "Suuri (14)"
-#: src/gui/setup_theme.cpp:112
+#: src/gui/setup_theme.cpp:113
msgid "Huge (15)"
msgstr "Jättimäinen (15)"
-#: src/gui/setup_theme.cpp:143
+#: src/gui/setup_theme.cpp:146
+msgid "Chinese (China)"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:147
+msgid "Czech"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:148
+msgid "English"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:149
+msgid "Finnish"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:150
+msgid "French"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:151
+msgid "German"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:152
+msgid "Indonesian"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:153
+msgid "Japanese"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:154
+msgid "Dutch (Belgium/Flemish)"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:155
+msgid "Portuguese"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:156
+msgid "Portuguese (Brazilian)"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:157
+msgid "Russian"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:158
+msgid "Spanish (Castilian)"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:190
msgid "Theme"
msgstr "Teema"
-#: src/gui/setup_theme.cpp:145
+#: src/gui/setup_theme.cpp:192
msgid "Gui theme"
msgstr "Käyttöliittymän teema"
-#: src/gui/setup_theme.cpp:146
+#: src/gui/setup_theme.cpp:193
+msgid "Language"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:194
msgid "Main Font"
msgstr "Pääkirjasin"
-#: src/gui/setup_theme.cpp:147
+#: src/gui/setup_theme.cpp:195
msgid "Bold font"
msgstr "Lihavoitu kirjasin"
-#: src/gui/setup_theme.cpp:148
+#: src/gui/setup_theme.cpp:196
msgid "Particle font"
msgstr "Hiukkaskirjasin"
-#: src/gui/setup_theme.cpp:149
+#: src/gui/setup_theme.cpp:197
msgid "Help font"
msgstr "Ohjekirjasin"
-#: src/gui/setup_theme.cpp:150
+#: src/gui/setup_theme.cpp:198
msgid "Secure font"
msgstr ""
-#: src/gui/setup_theme.cpp:151
+#: src/gui/setup_theme.cpp:199
msgid "Japanese font"
msgstr ""
-#: src/gui/setup_theme.cpp:183
+#: src/gui/setup_theme.cpp:236
msgid "Font size"
msgstr "Kirjasimen koko"
-#: src/gui/setup_theme.cpp:299
+#: src/gui/setup_theme.cpp:377
msgid "Theme Changed"
msgstr "Ulkoasua muutettu"
-#: src/gui/setup_theme.cpp:300 src/gui/setup_video.cpp:619
+#: src/gui/setup_theme.cpp:378 src/gui/setup_video.cpp:619
#: src/gui/setup_video.cpp:624
msgid "Restart your client for the change to take effect."
msgstr "Käynnistä ohjelma uudelleen, jotta muutos astuu voimaan."
@@ -2479,7 +2566,8 @@ msgstr "-"
#: src/gui/setup_video.cpp:484
msgid ""
"Failed to switch to windowed mode and restoration of old mode also failed!"
-msgstr "Ikkunoituun tilaan vaihto epäonnistui, samoin paluu edelliseen tilaan!"
+msgstr ""
+"Ikkunoituun tilaan vaihto epäonnistui, samoin paluu edelliseen tilaan!"
#: src/gui/setup_video.cpp:490
msgid ""
@@ -2794,422 +2882,445 @@ msgstr "Anna ryhmällesi nimi."
msgid "Specials"
msgstr "Erikoisuudet"
-#: src/gui/statuspopup.cpp:197
+#: src/gui/statuspopup.cpp:204
msgid "(D) default moves"
msgstr "(D) oletusliikkeet"
-#: src/gui/statuspopup.cpp:202
+#: src/gui/statuspopup.cpp:209
msgid "(I) invert moves"
msgstr "(I) käännetyt liikkeet"
-#: src/gui/statuspopup.cpp:207
+#: src/gui/statuspopup.cpp:214
msgid "(c) moves with some crazy moves"
msgstr "(c) liikkuu osin villiliikkein"
-#: src/gui/statuspopup.cpp:212
+#: src/gui/statuspopup.cpp:219
msgid "(C) moves with crazy moves"
msgstr "(C) liikkuu villiliikkein"
-#: src/gui/statuspopup.cpp:217
+#: src/gui/statuspopup.cpp:224
msgid "(d) double normal + crazy"
msgstr "(d) tuplaa tavallinen + villi"
-#: src/gui/statuspopup.cpp:222
+#: src/gui/statuspopup.cpp:229
msgid "(?) move"
msgstr "(?) liiku"
-#: src/gui/statuspopup.cpp:240
+#: src/gui/statuspopup.cpp:247
msgid "(a) custom crazy move"
msgstr "(a) oma villiliike"
-#: src/gui/statuspopup.cpp:244
+#: src/gui/statuspopup.cpp:251
msgid "(?) crazy move"
msgstr "(?) villiliike"
-#: src/gui/statuspopup.cpp:254
+#: src/gui/statuspopup.cpp:261
msgid "(0) default moves to target"
msgstr "(0) oletussiirtymä kohteen luo"
-#: src/gui/statuspopup.cpp:259
+#: src/gui/statuspopup.cpp:266
msgid "(1) moves to target in distance 1"
msgstr "(1) siirry kohteen luo etäisyydellä 1"
-#: src/gui/statuspopup.cpp:264
+#: src/gui/statuspopup.cpp:271
msgid "(2) moves to target in distance 2"
msgstr "(2) siirry kohteen luo etäisyydellä 2"
-#: src/gui/statuspopup.cpp:269
+#: src/gui/statuspopup.cpp:276
msgid "(3) moves to target in distance 3"
msgstr "(3) siirry kohteen luo etäisyydellä 3"
-#: src/gui/statuspopup.cpp:274
+#: src/gui/statuspopup.cpp:281
msgid "(5) moves to target in distance 5"
msgstr "(5) siirry kohteen luo etäisyydellä 5"
-#: src/gui/statuspopup.cpp:279
+#: src/gui/statuspopup.cpp:286
msgid "(7) moves to target in distance 7"
msgstr "(7) siirry kohteen luo etäisyydellä 7"
-#: src/gui/statuspopup.cpp:284
+#: src/gui/statuspopup.cpp:291
msgid "(A) moves to target in attack range"
msgstr "(A) siirry kohteen luo hyökkäyskantamalla"
-#: src/gui/statuspopup.cpp:289
+#: src/gui/statuspopup.cpp:296
msgid "(a) archer attack range"
msgstr ""
-#: src/gui/statuspopup.cpp:294
+#: src/gui/statuspopup.cpp:301
msgid "(?) move to target"
msgstr "(?) siirry kohteen luo"
-#: src/gui/statuspopup.cpp:302
+#: src/gui/statuspopup.cpp:309
msgid "(D) default follow"
msgstr "(D) oletusseuraaminen"
-#: src/gui/statuspopup.cpp:306
+#: src/gui/statuspopup.cpp:313
msgid "(R) relative follow"
msgstr "(R) suhteellinen seuraaminen"
-#: src/gui/statuspopup.cpp:310
+#: src/gui/statuspopup.cpp:317
msgid "(M) mirror follow"
msgstr "(M) peilikuvaseuraaminen"
-#: src/gui/statuspopup.cpp:314
+#: src/gui/statuspopup.cpp:321
msgid "(P) pet follow"
msgstr "(P) lemmikkiseuraaminen"
-#: src/gui/statuspopup.cpp:318
+#: src/gui/statuspopup.cpp:325
msgid "(?) unknown follow"
msgstr "(?) tuntematon seuraaminen"
-#: src/gui/statuspopup.cpp:327 src/gui/statuspopup.cpp:350
+#: src/gui/statuspopup.cpp:334 src/gui/statuspopup.cpp:357
msgid "(D) default attack"
msgstr "(D) oletushyökkäys"
-#: src/gui/statuspopup.cpp:332
+#: src/gui/statuspopup.cpp:339
msgid "(s) switch attack without shield"
msgstr "(s) vaihda hyökkäystä, ei kilpeä"
-#: src/gui/statuspopup.cpp:337
+#: src/gui/statuspopup.cpp:344
msgid "(S) switch attack with shield"
msgstr "(S) vaihda hyökkäystä, kilpi mukana"
-#: src/gui/statuspopup.cpp:341 src/gui/statuspopup.cpp:366
+#: src/gui/statuspopup.cpp:348 src/gui/statuspopup.cpp:373
msgid "(?) attack"
msgstr "(?) hyökkäys"
-#: src/gui/statuspopup.cpp:354
+#: src/gui/statuspopup.cpp:361
msgid "(G) go and attack"
msgstr "(G) mene ja hyökkää"
-#: src/gui/statuspopup.cpp:358
+#: src/gui/statuspopup.cpp:365
msgid "(A) go, attack, pickup"
msgstr "(A) mene, hyökkää, nosta"
-#: src/gui/statuspopup.cpp:362
+#: src/gui/statuspopup.cpp:369
msgid "(d) without auto attack"
msgstr "(d) ei automaattista hyökkäystä"
-#: src/gui/statuspopup.cpp:380
+#: src/gui/statuspopup.cpp:387
msgid "(S) small pick up 1x1 cells"
msgstr "(S) pieni nosto 1x1 ruutua"
-#: src/gui/statuspopup.cpp:384
+#: src/gui/statuspopup.cpp:391
msgid "(D) default pick up 2x1 cells"
msgstr "(D) oletusnosto 2x1 ruutua"
-#: src/gui/statuspopup.cpp:388
+#: src/gui/statuspopup.cpp:395
msgid "(F) forward pick up 2x3 cells"
msgstr "(F) nosto edestä 2x3 ruutua"
-#: src/gui/statuspopup.cpp:392
+#: src/gui/statuspopup.cpp:399
msgid "(3) pick up 3x3 cells"
msgstr "(3) nosto 3x3 ruutua"
-#: src/gui/statuspopup.cpp:396
+#: src/gui/statuspopup.cpp:403
msgid "(g) go and pick up in distance 4"
msgstr "(g) mene ja nosta etäisyydellä 4"
-#: src/gui/statuspopup.cpp:400
+#: src/gui/statuspopup.cpp:407
msgid "(G) go and pick up in distance 8"
msgstr "(G) mene ja nosta etäisyydellä 8"
-#: src/gui/statuspopup.cpp:404
+#: src/gui/statuspopup.cpp:411
msgid "(A) go and pick up in max distance"
msgstr "(A) mene ja nosta maksimietäisyydellä"
-#: src/gui/statuspopup.cpp:408
+#: src/gui/statuspopup.cpp:415
msgid "(?) pick up"
msgstr "(?) nosta"
-#: src/gui/statuspopup.cpp:417
+#: src/gui/statuspopup.cpp:424
msgid "(N) normal map view"
msgstr "(N) normaali karttanäkymä"
-#: src/gui/statuspopup.cpp:421
+#: src/gui/statuspopup.cpp:428
msgid "(D) debug map view"
msgstr "(D) debug-karttanäkymä"
-#: src/gui/statuspopup.cpp:425
+#: src/gui/statuspopup.cpp:432
msgid "(u) ultra map view"
msgstr "(u) ultra-karttanäkymä"
-#: src/gui/statuspopup.cpp:429
+#: src/gui/statuspopup.cpp:436
msgid "(U) ultra map view 2"
msgstr "(U) ultra-karttanäkymä 2"
-#: src/gui/statuspopup.cpp:433
+#: src/gui/statuspopup.cpp:440
msgid "(e) empty map view"
msgstr "(e) tyhjä karttanäkymä"
-#: src/gui/statuspopup.cpp:437
+#: src/gui/statuspopup.cpp:444
msgid "(b) black & white map view"
msgstr "(b) mustavalkoinen karttanäkymä"
-#: src/gui/statuspopup.cpp:441
+#: src/gui/statuspopup.cpp:448
msgid "(?) map view"
msgstr "(?) karttanäkymä"
-#: src/gui/statuspopup.cpp:449
+#: src/gui/statuspopup.cpp:456
msgid "(f) use #flar for magic attack"
msgstr "(f) #flar taikahyökkäyksenä"
-#: src/gui/statuspopup.cpp:454
+#: src/gui/statuspopup.cpp:461
msgid "(c) use #chiza for magic attack"
msgstr "(c) #chiza taikahyökkäyksenä"
-#: src/gui/statuspopup.cpp:459
+#: src/gui/statuspopup.cpp:466
msgid "(I) use #ingrav for magic attack"
msgstr "(I) #ingrav taikahyökkäyksenä"
-#: src/gui/statuspopup.cpp:464
+#: src/gui/statuspopup.cpp:471
msgid "(F) use #frillyar for magic attack"
msgstr "(F) #frillyar taikahyökkäyksenä"
-#: src/gui/statuspopup.cpp:469
+#: src/gui/statuspopup.cpp:476
msgid "(U) use #upmarmu for magic attack"
msgstr "(U) #upmarmu taikahyökkäyksenä"
-#: src/gui/statuspopup.cpp:473
+#: src/gui/statuspopup.cpp:480
msgid "(?) magic attack"
msgstr "(?) taikahyökkäys"
-#: src/gui/statuspopup.cpp:482
+#: src/gui/statuspopup.cpp:489
+msgid "(a) attack all players"
+msgstr ""
+
+#: src/gui/statuspopup.cpp:493
+msgid "(f) attack not friends"
+msgstr ""
+
+#: src/gui/statuspopup.cpp:497
+msgid "(b) attack bad relations"
+msgstr ""
+
+#: src/gui/statuspopup.cpp:501
+msgid "(d) dont attack players"
+msgstr ""
+
+#: src/gui/statuspopup.cpp:505
+msgid "(?) pvp attack"
+msgstr ""
+
+#: src/gui/statuspopup.cpp:514
msgid "(D) default imitation"
msgstr "(D) oletusmatkinta"
-#: src/gui/statuspopup.cpp:486
+#: src/gui/statuspopup.cpp:518
msgid "(O) outfits imitation"
msgstr "(O) asun matkinta"
-#: src/gui/statuspopup.cpp:490
+#: src/gui/statuspopup.cpp:522
msgid "(?) imitation"
msgstr "(?) matkinta"
-#: src/gui/statuspopup.cpp:499
+#: src/gui/statuspopup.cpp:531
msgid "(O) on keyboard"
msgstr "(O) paikalla"
-#: src/gui/statuspopup.cpp:502
+#: src/gui/statuspopup.cpp:534
msgid "(A) away"
msgstr "(A) poissa"
-#: src/gui/statuspopup.cpp:505 src/gui/statuspopup.cpp:525
+#: src/gui/statuspopup.cpp:537 src/gui/statuspopup.cpp:557
msgid "(?) away"
msgstr "(?) poissaolo"
-#: src/gui/statuspopup.cpp:513
+#: src/gui/statuspopup.cpp:545
msgid "(G) game camera mode"
msgstr "(G) pelin kameratila"
-#: src/gui/statuspopup.cpp:517
+#: src/gui/statuspopup.cpp:549
msgid "(F) free camera mode"
msgstr "(F) vapaa kamera"
-#: src/gui/statuspopup.cpp:521
+#: src/gui/statuspopup.cpp:553
msgid "(D) design camera mode"
msgstr "(D) suunnittelukamera"
-#: src/gui/statuspopup.cpp:532
+#: src/gui/statuspopup.cpp:564
msgid "Game modifiers are disabled"
msgstr "Pelimuokkaimet poissa käytöstä"
-#: src/gui/statuspopup.cpp:537
+#: src/gui/statuspopup.cpp:569
msgid "Game modifiers are enabled"
msgstr "Pelimuokkaimet käytössä"
-#: src/gui/statuswindow.cpp:143 src/gui/statuswindow.cpp:273
-#: src/gui/statuswindow.cpp:336
+#: src/gui/statuswindow.cpp:144 src/gui/statuswindow.cpp:274
+#: src/gui/statuswindow.cpp:337
#, c-format
msgid "Level: %d"
msgstr "Taso: %d"
-#: src/gui/statuswindow.cpp:144 src/gui/statuswindow.cpp:259
-#: src/gui/statuswindow.cpp:303
+#: src/gui/statuswindow.cpp:145 src/gui/statuswindow.cpp:260
+#: src/gui/statuswindow.cpp:304
#, c-format
msgid "Money: %s"
msgstr "Rahat: %s"
-#: src/gui/statuswindow.cpp:150
+#: src/gui/statuswindow.cpp:151
msgid "HP:"
msgstr "VP:"
-#: src/gui/statuswindow.cpp:157
+#: src/gui/statuswindow.cpp:158
msgid "Exp:"
msgstr "Kok:"
-#: src/gui/statuswindow.cpp:171
+#: src/gui/statuswindow.cpp:172
msgid "MP:"
msgstr "MP:"
-#: src/gui/statuswindow.cpp:203 src/gui/statuswindow.cpp:386
+#: src/gui/statuswindow.cpp:204 src/gui/statuswindow.cpp:387
#, c-format
msgid "Job: %d"
msgstr "Työ: %d"
-#: src/gui/statuswindow.cpp:204
+#: src/gui/statuswindow.cpp:205
msgid "Job:"
msgstr "Työ:"
-#: src/gui/statuswindow.cpp:262 src/gui/statuswindow.cpp:310
+#: src/gui/statuswindow.cpp:263 src/gui/statuswindow.cpp:311
#, c-format
msgid "Character points: %d"
msgstr "Hahmopisteitä: %d"
-#: src/gui/statuswindow.cpp:268
+#: src/gui/statuswindow.cpp:269
#, c-format
msgid "Level: %d (GM %d)"
msgstr "Taso: %d (GM %d)"
-#: src/gui/statuswindow.cpp:324
+#: src/gui/statuswindow.cpp:325
#, c-format
msgid "Correction points: %d"
msgstr "Korjauspisteitä: %d"
-#: src/gui/statuswindow.cpp:648 src/gui/statuswindow.cpp:716
-#: src/gui/statuswindow.cpp:736 src/gui/statuswindow.cpp:752
-#: src/gui/statuswindow.cpp:798 src/gui/statuswindow.cpp:827
-#: src/gui/statuswindow.cpp:850 src/gui/statuswindow.cpp:869
+#: src/gui/statuswindow.cpp:649 src/gui/statuswindow.cpp:717
+#: src/gui/statuswindow.cpp:737 src/gui/statuswindow.cpp:753
+#: src/gui/statuswindow.cpp:818 src/gui/statuswindow.cpp:847
+#: src/gui/statuswindow.cpp:870 src/gui/statuswindow.cpp:889
msgid "(D)"
msgstr "(D)"
-#: src/gui/statuswindow.cpp:651 src/gui/statuswindow.cpp:777
+#: src/gui/statuswindow.cpp:652 src/gui/statuswindow.cpp:778
msgid "(I)"
msgstr "(I)"
-#: src/gui/statuswindow.cpp:654 src/gui/statuswindow.cpp:774
+#: src/gui/statuswindow.cpp:655 src/gui/statuswindow.cpp:775
msgid "(c)"
msgstr "(c)"
-#: src/gui/statuswindow.cpp:657
+#: src/gui/statuswindow.cpp:658
msgid "(C)"
msgstr "(C)"
-#: src/gui/statuswindow.cpp:660 src/gui/statuswindow.cpp:761
+#: src/gui/statuswindow.cpp:661 src/gui/statuswindow.cpp:762
+#: src/gui/statuswindow.cpp:803
msgid "(d)"
msgstr "(d)"
-#: src/gui/statuswindow.cpp:663 src/gui/statuswindow.cpp:677
-#: src/gui/statuswindow.cpp:709 src/gui/statuswindow.cpp:728
-#: src/gui/statuswindow.cpp:745 src/gui/statuswindow.cpp:764
-#: src/gui/statuswindow.cpp:786 src/gui/statuswindow.cpp:816
-#: src/gui/statuswindow.cpp:842 src/gui/statuswindow.cpp:856
-#: src/gui/statuswindow.cpp:872 src/gui/statuswindow.cpp:885
+#: src/gui/statuswindow.cpp:664 src/gui/statuswindow.cpp:678
+#: src/gui/statuswindow.cpp:710 src/gui/statuswindow.cpp:729
+#: src/gui/statuswindow.cpp:746 src/gui/statuswindow.cpp:765
+#: src/gui/statuswindow.cpp:787 src/gui/statuswindow.cpp:806
+#: src/gui/statuswindow.cpp:836 src/gui/statuswindow.cpp:862
+#: src/gui/statuswindow.cpp:876 src/gui/statuswindow.cpp:892
+#: src/gui/statuswindow.cpp:905
msgid "(?)"
msgstr "(?)"
-#: src/gui/statuswindow.cpp:674 src/gui/statuswindow.cpp:706
+#: src/gui/statuswindow.cpp:675 src/gui/statuswindow.cpp:707
+#: src/gui/statuswindow.cpp:794
msgid "(a)"
msgstr "(a)"
-#: src/gui/statuswindow.cpp:685
+#: src/gui/statuswindow.cpp:686
msgid "(0)"
msgstr "(0)"
-#: src/gui/statuswindow.cpp:688
+#: src/gui/statuswindow.cpp:689
msgid "(1)"
msgstr "(1)"
-#: src/gui/statuswindow.cpp:691
+#: src/gui/statuswindow.cpp:692
msgid "(2)"
msgstr "(2)"
-#: src/gui/statuswindow.cpp:694 src/gui/statuswindow.cpp:804
+#: src/gui/statuswindow.cpp:695 src/gui/statuswindow.cpp:824
msgid "(3)"
msgstr "(3)"
-#: src/gui/statuswindow.cpp:697
+#: src/gui/statuswindow.cpp:698
msgid "(5)"
msgstr "(5)"
-#: src/gui/statuswindow.cpp:700
+#: src/gui/statuswindow.cpp:701
msgid "(7)"
msgstr "(7)"
-#: src/gui/statuswindow.cpp:703 src/gui/statuswindow.cpp:758
-#: src/gui/statuswindow.cpp:813 src/gui/statuswindow.cpp:882
+#: src/gui/statuswindow.cpp:704 src/gui/statuswindow.cpp:759
+#: src/gui/statuswindow.cpp:833 src/gui/statuswindow.cpp:902
msgid "(A)"
msgstr "(A)"
-#: src/gui/statuswindow.cpp:719
+#: src/gui/statuswindow.cpp:720
msgid "(R)"
msgstr "(R)"
-#: src/gui/statuswindow.cpp:722
+#: src/gui/statuswindow.cpp:723
msgid "(M)"
msgstr "(M)"
-#: src/gui/statuswindow.cpp:725
+#: src/gui/statuswindow.cpp:726
msgid "(P)"
msgstr "(P)"
-#: src/gui/statuswindow.cpp:739
+#: src/gui/statuswindow.cpp:740
msgid "(s)"
msgstr "(s)"
-#: src/gui/statuswindow.cpp:742 src/gui/statuswindow.cpp:795
+#: src/gui/statuswindow.cpp:743 src/gui/statuswindow.cpp:815
msgid "(S)"
msgstr "(S)"
-#: src/gui/statuswindow.cpp:755 src/gui/statuswindow.cpp:810
-#: src/gui/statuswindow.cpp:863
+#: src/gui/statuswindow.cpp:756 src/gui/statuswindow.cpp:830
+#: src/gui/statuswindow.cpp:883
msgid "(G)"
msgstr "(G)"
-#: src/gui/statuswindow.cpp:771
+#: src/gui/statuswindow.cpp:772 src/gui/statuswindow.cpp:797
msgid "(f)"
msgstr "(f)"
-#: src/gui/statuswindow.cpp:780 src/gui/statuswindow.cpp:801
-#: src/gui/statuswindow.cpp:866
+#: src/gui/statuswindow.cpp:781 src/gui/statuswindow.cpp:821
+#: src/gui/statuswindow.cpp:886
msgid "(F)"
msgstr "(F)"
-#: src/gui/statuswindow.cpp:783 src/gui/statuswindow.cpp:833
+#: src/gui/statuswindow.cpp:784 src/gui/statuswindow.cpp:853
msgid "(U)"
msgstr "(U)"
-#: src/gui/statuswindow.cpp:807
+#: src/gui/statuswindow.cpp:800 src/gui/statuswindow.cpp:859
+msgid "(b)"
+msgstr "(b)"
+
+#: src/gui/statuswindow.cpp:827
msgid "(g)"
msgstr "(g)"
-#: src/gui/statuswindow.cpp:824
+#: src/gui/statuswindow.cpp:844
msgid "(N)"
msgstr "(N)"
-#: src/gui/statuswindow.cpp:830
+#: src/gui/statuswindow.cpp:850
msgid "(u)"
msgstr "(u)"
-#: src/gui/statuswindow.cpp:836
+#: src/gui/statuswindow.cpp:856
msgid "(e)"
msgstr "(e)"
-#: src/gui/statuswindow.cpp:839
-msgid "(b)"
-msgstr "(b)"
-
-#: src/gui/statuswindow.cpp:853 src/gui/statuswindow.cpp:879
+#: src/gui/statuswindow.cpp:873 src/gui/statuswindow.cpp:899
msgid "(O)"
msgstr "(O)"
@@ -3339,7 +3450,8 @@ msgid "You don't have enough money."
msgstr "Sinulla ei ole tarpeeksi rahaa."
#: src/gui/tradewindow.cpp:454
-msgid "Failed adding item. You can not overlap one kind of item on the window."
+msgid ""
+"Failed adding item. You can not overlap one kind of item on the window."
msgstr "Tavaran lisääminen epäonnistui, limittämisongelma."
#: src/gui/unregisterdialog.cpp:54
@@ -3359,21 +3471,21 @@ msgstr "Yhdistetään..."
msgid "Play"
msgstr "Pelaa"
-#: src/gui/updaterwindow.cpp:564
+#: src/gui/updaterwindow.cpp:565
msgid "##1 The update process is incomplete."
msgstr "##1 Päivitysprosessi keskeytyi"
#. TRANSLATORS: Continues "you try again later.".
-#: src/gui/updaterwindow.cpp:566
+#: src/gui/updaterwindow.cpp:567
msgid "##1 It is strongly recommended that"
msgstr "##1 Suosittelemme vahvasti että"
#. TRANSLATORS: Begins "It is strongly recommended that".
-#: src/gui/updaterwindow.cpp:568
+#: src/gui/updaterwindow.cpp:569
msgid "##1 you try again later."
msgstr "##1 yrität myöhemmin uudelleen"
-#: src/gui/updaterwindow.cpp:744
+#: src/gui/updaterwindow.cpp:745
msgid "Completed"
msgstr "Valmis"
@@ -3721,7 +3833,8 @@ msgid "Command: /unignore <player>"
msgstr "Komento: /unignore <pelaajan nimi>"
#: src/gui/widgets/whispertab.cpp:131
-msgid "This command stops ignoring the other player if they are being ignored."
+msgid ""
+"This command stops ignoring the other player if they are being ignored."
msgstr ""
"Tämä komento huomioi pelaajan taas, jos tämä on ensin jätetty huomiotta."
@@ -3939,7 +4052,7 @@ msgstr "Tavaroiden pikavalintanäppäin"
#: src/keyboardconfig.cpp:116 src/keyboardconfig.cpp:119
#: src/keyboardconfig.cpp:121 src/keyboardconfig.cpp:123
#: src/keyboardconfig.cpp:125 src/keyboardconfig.cpp:127
-#: src/keyboardconfig.cpp:369
+#: src/keyboardconfig.cpp:371
#, c-format
msgid "Item Shortcut %d"
msgstr "Tavarapikavalinta %d"
@@ -4066,7 +4179,7 @@ msgstr "Hymiö"
#: src/keyboardconfig.cpp:258 src/keyboardconfig.cpp:260
#: src/keyboardconfig.cpp:262 src/keyboardconfig.cpp:264
#: src/keyboardconfig.cpp:266 src/keyboardconfig.cpp:268
-#: src/keyboardconfig.cpp:364
+#: src/keyboardconfig.cpp:366
#, c-format
msgid "Emote Shortcut %d"
msgstr "Eleen pikavalinta %d"
@@ -4195,51 +4308,55 @@ msgstr "Käytä magiahyökkäystä"
msgid "Switch magic attack"
msgstr "Vaihda magiahyökkäystä"
-#: src/keyboardconfig.cpp:328
+#: src/keyboardconfig.cpp:329
+msgid "Switch pvp attack"
+msgstr ""
+
+#: src/keyboardconfig.cpp:330
msgid "Change move type"
msgstr "Vaihda liikkumistyyppiä"
-#: src/keyboardconfig.cpp:330
+#: src/keyboardconfig.cpp:332
msgid "Change Attack Weapon Type"
msgstr "Vaihda hyökkäysaseen tyyppiä"
-#: src/keyboardconfig.cpp:332
+#: src/keyboardconfig.cpp:334
msgid "Change Attack Type"
msgstr "Vaihda hyökkäystyyppiä"
-#: src/keyboardconfig.cpp:334
+#: src/keyboardconfig.cpp:336
msgid "Change Follow mode"
msgstr "Vaihda seuraustyyliä"
-#: src/keyboardconfig.cpp:336
+#: src/keyboardconfig.cpp:338
msgid "Change Imitation mode"
msgstr "Vaihda matkintatyyliä"
-#: src/keyboardconfig.cpp:339
+#: src/keyboardconfig.cpp:341
msgid "Disable / Enable Game modifier keys"
msgstr "Ota käyttöön / poista pelimuokkaimet"
-#: src/keyboardconfig.cpp:340
+#: src/keyboardconfig.cpp:342
msgid "On / Off audio"
msgstr "Äänet päälle / pois"
-#: src/keyboardconfig.cpp:342
+#: src/keyboardconfig.cpp:344
msgid "Enable / Disable away mode"
msgstr "Aseta / peru poissaolo"
-#: src/keyboardconfig.cpp:344
+#: src/keyboardconfig.cpp:346
msgid "Emulate right click from keyboard"
msgstr "Kontekstivalikkoon \"klikkaus\" näppäimistöltä"
-#: src/keyboardconfig.cpp:346
+#: src/keyboardconfig.cpp:348
msgid "Toggle camera mode"
msgstr "Vaihda kameran toimintaa"
-#: src/keyboardconfig.cpp:348
+#: src/keyboardconfig.cpp:350
msgid "Modifier key"
msgstr ""
-#: src/keyboardconfig.cpp:427
+#: src/keyboardconfig.cpp:429
#, c-format
msgid ""
"Conflict \"%s\" and \"%s\" keys. Resolve them, or gameplay may result in "
@@ -4248,68 +4365,68 @@ msgstr ""
"Päällekkäiset näppäinoikotiet \"%s\" ja \"%s\" voivat aiheuttaa outouksia; "
"ole hyvä ja poista päällekkäisyydet. "
-#: src/localplayer.cpp:381
+#: src/localplayer.cpp:389
msgid "You were killed by "
msgstr "Sinut otti hengiltä "
-#: src/localplayer.cpp:1428
+#: src/localplayer.cpp:1442
msgid "Tried to pick up nonexistent item."
msgstr "Yritit nostaa olemattoman tavaran."
-#: src/localplayer.cpp:1430
+#: src/localplayer.cpp:1444
msgid "Item is too heavy."
msgstr "Tavara on liian painava."
-#: src/localplayer.cpp:1432
+#: src/localplayer.cpp:1446
msgid "Item is too far away."
msgstr "Tavara on liian kaukana."
-#: src/localplayer.cpp:1434
+#: src/localplayer.cpp:1448
msgid "Inventory is full."
msgstr "Sinulla on liikaa tavaraa ennestään."
-#: src/localplayer.cpp:1436
+#: src/localplayer.cpp:1450
msgid "Stack is too big."
msgstr "Kasa on liian suuri."
-#: src/localplayer.cpp:1439
+#: src/localplayer.cpp:1453
msgid "Item belongs to someone else."
msgstr "Tavara kuuluu jollekulle muulle."
-#: src/localplayer.cpp:1442
+#: src/localplayer.cpp:1456
msgid "Unknown problem picking up item."
msgstr "Tuntematon ongelma esti tavaran nostamisen."
#. TRANSLATORS: %d is number,
#. [@@%d|%s@@] - here player can see link to item
-#: src/localplayer.cpp:1466
+#: src/localplayer.cpp:1480
#, c-format
msgid "You picked up %d [@@%d|%s@@]."
msgid_plural "You picked up %d [@@%d|%s@@]."
msgstr[0] "[@@%2$d|%3$s@@] (%1$d kpl) otettu."
msgstr[1] "[@@%2$d|%3$s@@] (%1$d kpl) otettu."
-#: src/localplayer.cpp:3181
+#: src/localplayer.cpp:3206
msgid "Away"
msgstr "Poissa"
-#: src/localplayer.cpp:3509
+#: src/localplayer.cpp:3541
msgid "Follow: "
msgstr "Seuraa: "
-#: src/localplayer.cpp:3511 src/localplayer.cpp:3526
+#: src/localplayer.cpp:3543 src/localplayer.cpp:3558
msgid "Follow canceled"
msgstr "Seuraaminen keskeytetty"
-#: src/localplayer.cpp:3518
+#: src/localplayer.cpp:3550
msgid "Imitation: "
msgstr "Matki: "
-#: src/localplayer.cpp:3520 src/localplayer.cpp:3528
+#: src/localplayer.cpp:3552 src/localplayer.cpp:3560
msgid "Imitation canceled"
msgstr "Matkiminen keskeytetty"
-#: src/localplayer.cpp:3876
+#: src/localplayer.cpp:3908
msgid "You see "
msgstr "Näet "
@@ -4456,7 +4573,8 @@ msgstr "Tuntematon hahmopalvelinvirhe."
#: src/net/ea/charserverhandler.cpp:138
msgid "Failed to create character. Most likely the name is already taken."
-msgstr "Hahmon luonti epäonnistui. Todennäköisesti hahmon nimi on jo käytössä."
+msgstr ""
+"Hahmon luonti epäonnistui. Todennäköisesti hahmon nimi on jo käytössä."
#: src/net/ea/charserverhandler.cpp:142 src/net/ea/loginhandler.cpp:235
msgid "Wrong name."
@@ -4998,8 +5116,10 @@ msgstr "Viesti"
#: src/net/ea/playerhandler.cpp:336
msgid ""
-"You are carrying more than half your weight. You are unable to regain health."
-msgstr "Kannat roinaa yli puolen elopainoasi. Rasitus estää sinua paranemasta."
+"You are carrying more than half your weight. You are unable to regain "
+"health."
+msgstr ""
+"Kannat roinaa yli puolen elopainoasi. Rasitus estää sinua paranemasta."
#: src/net/ea/playerhandler.cpp:346
msgid "You are carrying less than half your weight. You can regain health."
@@ -5108,54 +5228,54 @@ msgstr "Myrkyllä ei ollut vaikutusta..."
msgid "%s wants to trade with you, do you accept?"
msgstr "%s haluaa tehdä kauppaa kanssasi, katsotko tarjouksen?"
-#: src/net/ea/tradehandler.cpp:134
+#: src/net/ea/tradehandler.cpp:135
msgid "Trading isn't possible. Trade partner is too far away."
msgstr "Kaupanteko ei ole mahdollista. kauppa kumppani on liian kaukana."
-#: src/net/ea/tradehandler.cpp:138
+#: src/net/ea/tradehandler.cpp:139
msgid "Trading isn't possible. Character doesn't exist."
msgstr "Kaupanteko ei ole mahdollista. Hahmoa ei ole."
-#: src/net/ea/tradehandler.cpp:142
+#: src/net/ea/tradehandler.cpp:143
msgid "Trade cancelled due to an unknown reason."
msgstr "Kaupanteko keskeytyi tuntemattomasta syystä."
-#: src/net/ea/tradehandler.cpp:148
+#: src/net/ea/tradehandler.cpp:149
#, c-format
msgid "Trade: You and %s"
msgstr "Kauppa: sinä ja %s"
-#: src/net/ea/tradehandler.cpp:158
+#: src/net/ea/tradehandler.cpp:159
#, c-format
msgid "Trade with %s cancelled."
msgstr "Kaupanteko pelaajan %s kanssa peruttu."
-#: src/net/ea/tradehandler.cpp:171
+#: src/net/ea/tradehandler.cpp:172
msgid "Unhandled trade cancel packet."
msgstr "Käsittelemätön kaupan peruutus -paketti."
-#: src/net/ea/tradehandler.cpp:236
+#: src/net/ea/tradehandler.cpp:237
msgid "Failed adding item. Trade partner is over weighted."
msgstr ""
"Tavaran lisääminen epäonnistui; kauppakumppanilla on liian painava lasti."
-#: src/net/ea/tradehandler.cpp:241
+#: src/net/ea/tradehandler.cpp:242
msgid "Failed adding item. Trade partner has no free slot."
msgstr "Tavaran lisääminen epäonnistui; kauppakumppanilla ei ole tilaa sille."
-#: src/net/ea/tradehandler.cpp:246
+#: src/net/ea/tradehandler.cpp:247
msgid "Failed adding item. You can't trade this item."
msgstr "Tavaran lisääminen epäonnistui. Et voi kaupitella sitä."
-#: src/net/ea/tradehandler.cpp:250
+#: src/net/ea/tradehandler.cpp:251
msgid "Failed adding item for unknown reason."
msgstr "Tavaran lisääminen epäonnistui tuntemattomasta syystä."
-#: src/net/ea/tradehandler.cpp:269 src/net/manaserv/tradehandler.cpp:160
+#: src/net/ea/tradehandler.cpp:270 src/net/manaserv/tradehandler.cpp:160
msgid "Trade canceled."
msgstr "Kaupat peruttu."
-#: src/net/ea/tradehandler.cpp:280 src/net/manaserv/tradehandler.cpp:167
+#: src/net/ea/tradehandler.cpp:281 src/net/manaserv/tradehandler.cpp:167
msgid "Trade completed."
msgstr "Kaupat tuli."
@@ -5578,15 +5698,15 @@ msgstr "Hyökkäyskantama"
msgid "Damage per sec."
msgstr ""
-#: src/net/tmwa/network.cpp:152
+#: src/net/tmwa/network.cpp:153
msgid "Empty address given to Network::connect()!"
msgstr "Tyhjä osoite Network::connect()-pyynnössä!"
-#: src/net/tmwa/network.cpp:356
+#: src/net/tmwa/network.cpp:357
msgid "Unable to resolve host \""
msgstr "Osoitetta ei löydy: \""
-#: src/net/tmwa/network.cpp:426
+#: src/net/tmwa/network.cpp:427
msgid "Connection to server terminated. "
msgstr "Yhteys palvelimeen katkaistu. "
@@ -5595,19 +5715,19 @@ msgstr "Yhteys palvelimeen katkaistu. "
msgid "%s is not in your party!"
msgstr "%s ei ole ryhmässäsi!"
-#: src/playerrelations.cpp:435
+#: src/playerrelations.cpp:460
msgid "Print '...'"
msgstr "Tulosta '...'"
-#: src/playerrelations.cpp:455
+#: src/playerrelations.cpp:480
msgid "Blink name"
msgstr "Vilkuta nimeä"
-#: src/playerrelations.cpp:499
+#: src/playerrelations.cpp:524
msgid "Floating '...' bubble"
msgstr "Leijuva '...' -puhekupla"
-#: src/playerrelations.cpp:502
+#: src/playerrelations.cpp:527
msgid "Floating bubble"
msgstr "Leijuva puhekupla"
@@ -5639,3 +5759,5 @@ msgstr "MP %+d"
#: src/resources/itemdb.cpp:169
msgid "Unknown item"
msgstr "Tuntematon tavara"
+
+
diff --git a/po/fr.po b/po/fr.po
index 84e80cbba..177f9dcaf 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR The ManaPlus Developers
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
# Andrei Karas <akaras@inbox.ru>, 2011.
# <antoinebcn@hotmail.com>, 2011.
@@ -12,80 +12,79 @@ msgid ""
msgstr ""
"Project-Id-Version: ManaPlus\n"
"Report-Msgid-Bugs-To: akaras@inbox.ru\n"
-"POT-Creation-Date: 2011-10-28 03:52+0300\n"
-"PO-Revision-Date: 2011-10-28 22:46+0000\n"
-"Last-Translator: reid <reidyaro@gmail.com>\n"
-"Language-Team: French (http://www.transifex.net/projects/p/manaplus/team/"
-"fr/)\n"
-"Language: fr\n"
+"POT-Creation-Date: 2011-11-12 00:23+0300\n"
+"PO-Revision-Date: 2011-11-11 21:38+0000\n"
+"Last-Translator: akaras <akaras@inbox.ru>\n"
+"Language-Team: French (http://www.transifex.net/projects/p/manaplus/team/fr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Language: fr\n"
"Plural-Forms: nplurals=2; plural=(n > 1)\n"
#: src/actorspritemanager.cpp:1171
msgid "Visible on map"
msgstr "Visible sur la carte"
-#: src/being.cpp:548
+#: src/being.cpp:551
msgid "dodge"
msgstr "esquivé"
-#: src/being.cpp:548
+#: src/being.cpp:551
msgid "miss"
msgstr "raté"
#. TRANSLATORS: this away status writed in player nick
-#: src/being.cpp:1527
+#: src/being.cpp:1530
msgid "A"
msgstr "A"
#. TRANSLATORS: this inactive status writed in player nick
-#: src/being.cpp:1532
+#: src/being.cpp:1535
msgid "I"
msgstr "I"
-#: src/client.cpp:835 src/gui/setup.cpp:54 src/gui/windowmenu.cpp:100
+#: src/client.cpp:869 src/gui/setup.cpp:54 src/gui/windowmenu.cpp:100
msgid "Setup"
msgstr "Configuration"
-#: src/client.cpp:842 src/gui/setup_perfomance.cpp:48
+#: src/client.cpp:876 src/gui/setup_perfomance.cpp:48
msgid "Perfomance"
msgstr "Performance"
-#: src/client.cpp:847 src/gui/setup_video.cpp:315
+#: src/client.cpp:881 src/gui/setup_video.cpp:315
msgid "Video"
msgstr "Vidéo"
-#: src/client.cpp:852
+#: src/client.cpp:886
msgid "Themes"
msgstr "Thèmes"
-#: src/client.cpp:934
+#: src/client.cpp:968
msgid "Connecting to server"
msgstr "Connexion au serveur"
-#: src/client.cpp:965
+#: src/client.cpp:999
msgid "Logging in"
msgstr "Connexion"
-#: src/client.cpp:998
+#: src/client.cpp:1032
msgid "Entering game world"
msgstr "Vous entrez dans un nouveau monde"
-#: src/client.cpp:1098
+#: src/client.cpp:1132
msgid "Requesting characters"
msgstr "Téléchargement des personnages"
-#: src/client.cpp:1129
+#: src/client.cpp:1163
msgid "Connecting to the game server"
msgstr "Connexion au serveur de jeu"
-#: src/client.cpp:1139
+#: src/client.cpp:1173
msgid "Changing game servers"
msgstr "Changement de serveur de jeu"
-#: src/client.cpp:1182 src/client.cpp:1189 src/client.cpp:1323
+#: src/client.cpp:1216 src/client.cpp:1223 src/client.cpp:1357
#: src/gui/changeemaildialog.cpp:157 src/gui/changepassworddialog.cpp:147
#: src/gui/charcreatedialog.cpp:221 src/gui/charselectdialog.cpp:253
#: src/gui/register.cpp:228 src/gui/serverdialog.cpp:401
@@ -95,231 +94,234 @@ msgstr "Changement de serveur de jeu"
msgid "Error"
msgstr "Erreur"
-#: src/client.cpp:1198
+#: src/client.cpp:1232
msgid "Requesting registration details"
msgstr "Demande des paramètres d'inscription"
-#: src/client.cpp:1224
+#: src/client.cpp:1258
msgid "Password Change"
msgstr "Changement de mot de passe"
-#: src/client.cpp:1225
+#: src/client.cpp:1259
msgid "Password changed successfully!"
msgstr "Le mot de passe a été changé avec succès !"
-#: src/client.cpp:1244
+#: src/client.cpp:1278
msgid "Email Change"
msgstr "Changer d'e-mail"
-#: src/client.cpp:1245
+#: src/client.cpp:1279
msgid "Email changed successfully!"
msgstr "L'adresse e-mail a été changée avec succès !"
-#: src/client.cpp:1265
+#: src/client.cpp:1299
msgid "Unregister Successful"
msgstr "Désinscription réussie"
-#: src/client.cpp:1266
+#: src/client.cpp:1300
msgid "Farewell, come back any time..."
msgstr "A bientôt, revenez quand vous voudrez..."
-#: src/client.cpp:1465 src/client.cpp:1495 src/client.cpp:1510
-#: src/client.cpp:1935 src/client.cpp:1942
+#: src/client.cpp:1499 src/client.cpp:1529 src/client.cpp:1544
+#: src/client.cpp:1969 src/client.cpp:1976
#, c-format
msgid "%s doesn't exist and can't be created! Exiting."
msgstr "%s n'existe pas et ne peut pas être créé ! Fermeture du programme."
-#: src/client.cpp:1641
+#: src/client.cpp:1675
#, c-format
msgid "Invalid update host: %s"
msgstr "Site de mise à jour invalide : %s"
-#: src/client.cpp:1675 src/client.cpp:1681
+#: src/client.cpp:1709 src/client.cpp:1715
msgid "Error creating updates directory!"
msgstr "Impossible de créer le dossier de mise à jour !"
-#: src/client.cpp:1702
+#: src/client.cpp:1736
#, c-format
msgid "Error: %s doesn't exist and can't be created! Exiting."
msgstr ""
"Erreur : %s n'existe pas et ne peut pas être créé ! Fermeture du programme."
-#: src/commandhandler.cpp:205
+#: src/commandhandler.cpp:209
msgid "Unknown command."
msgstr "Commande inconnue."
-#: src/commandhandler.cpp:304
+#: src/commandhandler.cpp:329
msgid "Cannot send empty whispers!"
msgstr "Vous ne pouvez pas envoyer de messages vides."
-#: src/commandhandler.cpp:318
+#: src/commandhandler.cpp:343
#, c-format
msgid ""
-"Cannot create a whisper tab for nick \"%s\"! It either already exists, or is "
-"you."
+"Cannot create a whisper tab for nick \"%s\"! It either already exists, or is"
+" you."
msgstr ""
-"Vous ne pouvez créer une nouvelle fenêtre de message privé avec le nom \"%s"
-"\". Soit elle existe déjà, soit il s'agit de vous même."
+"Vous ne pouvez créer une nouvelle fenêtre de message privé avec le nom "
+"\"%s\". Soit elle existe déjà, soit il s'agit de vous même."
-#: src/commandhandler.cpp:338
+#: src/commandhandler.cpp:363
#, c-format
msgid "Requesting to join channel %s."
msgstr "Demande de rejoindre le canal %s."
-#: src/commandhandler.cpp:354 src/net/ea/gui/partytab.cpp:125
+#: src/commandhandler.cpp:379 src/net/ea/gui/partytab.cpp:125
msgid "Party name is missing."
msgstr "Le nom du groupe est manquant."
-#: src/commandhandler.cpp:365
+#: src/commandhandler.cpp:390
msgid "Guild name is missing."
msgstr "Le nom de la guilde est manquant."
-#: src/commandhandler.cpp:378 src/commandhandler.cpp:496
-#: src/commandhandler.cpp:537 src/commandhandler.cpp:572
+#: src/commandhandler.cpp:403 src/commandhandler.cpp:521
+#: src/commandhandler.cpp:562 src/commandhandler.cpp:602
msgid "Please specify a name."
msgstr "Veuillez indiquer un nom."
-#: src/commandhandler.cpp:430
+#: src/commandhandler.cpp:455
msgid "Return toggles chat."
msgstr "La touche <entrée> ferme la ligne d'entrée du chat."
-#: src/commandhandler.cpp:430
+#: src/commandhandler.cpp:455
msgid "Message closes chat."
msgstr "Le message ferme la conversation."
-#: src/commandhandler.cpp:441
+#: src/commandhandler.cpp:466
msgid "Return now toggles chat."
msgstr ""
"La touche <entrée> ferme maintenant la ligne d'entrée de la conversation."
-#: src/commandhandler.cpp:447
+#: src/commandhandler.cpp:472
msgid "Message now closes chat."
msgstr "Le message ferme maintenant la conversation."
-#: src/commandhandler.cpp:475
+#: src/commandhandler.cpp:500
msgid "friend"
msgstr "ami"
-#: src/commandhandler.cpp:480
+#: src/commandhandler.cpp:505
msgid "disregarded"
msgstr "écarté"
-#: src/commandhandler.cpp:485
+#: src/commandhandler.cpp:510
msgid "neutral"
msgstr "neutre"
-#: src/commandhandler.cpp:504
+#: src/commandhandler.cpp:529
#, c-format
msgid "Player already %s!"
msgstr "Joueur déjà %s !"
-#: src/commandhandler.cpp:518
+#: src/commandhandler.cpp:543
#, c-format
msgid "Player successfully %s!"
msgstr "Joueur %s avec succès!"
-#: src/commandhandler.cpp:526
+#: src/commandhandler.cpp:551
#, c-format
msgid "Player could not be %s!"
msgstr "Le joueur n'a pas pu %s !"
-#: src/commandhandler.cpp:549
+#: src/commandhandler.cpp:574
msgid "Player wasn't ignored!"
msgstr "Le joueur n'était pas ignoré !"
-#: src/commandhandler.cpp:556
+#: src/commandhandler.cpp:581
msgid "Player no longer ignored!"
msgstr "Le joueur n'est plus ignoré !"
-#: src/commandhandler.cpp:558
+#: src/commandhandler.cpp:583
msgid "Player could not be unignored!"
msgstr "Vous n'avez pas pu enlever le statut ignoré de ce joueur !"
-#: src/commandhandler.cpp:564
+#: src/commandhandler.cpp:589
msgid "blacklisted"
msgstr "sous liste noir"
-#: src/commandhandler.cpp:579
+#: src/commandhandler.cpp:594
+msgid "enemy"
+msgstr ""
+
+#: src/commandhandler.cpp:609
msgid "Player already erased!"
msgstr "Joueur déjà effacé !"
-#: src/commandhandler.cpp:590
+#: src/commandhandler.cpp:620
msgid "Player successfully erased!"
msgstr "Joueur éliminé avec succès !"
-#: src/commandhandler.cpp:592
+#: src/commandhandler.cpp:622
msgid "Player could not be erased!"
msgstr "le joueur n'a pas pu être effacé !"
-#: src/commandhandler.cpp:892 src/commandhandler.cpp:938
+#: src/commandhandler.cpp:929 src/commandhandler.cpp:975
#, c-format
msgid "Client uptime: %s"
msgstr "Heure de lancement du client : %s"
-#: src/commandhandler.cpp:902
+#: src/commandhandler.cpp:939
#, c-format
msgid "%d week"
msgid_plural "%d weeks"
msgstr[0] "%d semaine"
msgstr[1] "%d semaines"
-#: src/commandhandler.cpp:911
+#: src/commandhandler.cpp:948
#, c-format
msgid "%d day"
msgid_plural "%d days"
msgstr[0] "%d jour"
msgstr[1] "%d jours"
-#: src/commandhandler.cpp:919
+#: src/commandhandler.cpp:956
#, c-format
msgid "%d hour"
msgid_plural "%d hours"
msgstr[0] "%d heure"
msgstr[1] "%d heures"
-#: src/commandhandler.cpp:927
+#: src/commandhandler.cpp:964
#, c-format
msgid "%d minute"
msgid_plural "%d minutes"
msgstr[0] "%d minute"
msgstr[1] "%d minutes"
-#: src/commandhandler.cpp:935
+#: src/commandhandler.cpp:972
#, c-format
msgid "%d second"
msgid_plural "%d seconds"
msgstr[0] "%d secondes"
msgstr[1] "%d secondes"
-#: src/commandhandler.cpp:1014
+#: src/commandhandler.cpp:1051
msgid "font cache size"
msgstr "Taille du cache de polices"
-#: src/commandhandler.cpp:1026
+#: src/commandhandler.cpp:1063
msgid "Cache size:"
msgstr "Dimension du cache :"
-#: src/commandhandler.cpp:1030
+#: src/commandhandler.cpp:1067
msgid "Created:"
msgstr "Créé : "
-#: src/commandhandler.cpp:1032
+#: src/commandhandler.cpp:1069
msgid "Deleted:"
msgstr "Effacé :"
-#: src/commandhandler.cpp:1133 src/commandhandler.cpp:1140
+#: src/commandhandler.cpp:1171 src/commandhandler.cpp:1178
msgid "Resource images:"
msgstr "Images des ressources :"
-#: src/commandhandler.cpp:1135 src/commandhandler.cpp:1142
+#: src/commandhandler.cpp:1173 src/commandhandler.cpp:1180
msgid "Resource orphaned images:"
msgstr "Images des ressources non affectées :"
#: src/commandhandler.h:40
#, c-format
msgid "Options to /%s are \"yes\", \"no\", \"true\", \"false\", \"1\", \"0\"."
-msgstr ""
-"Les options de /%s sont \"yes\", \"no\", \"true\", \"false\", \"1\", \"0\"."
+msgstr "Les options de /%s sont \"yes\", \"no\", \"true\", \"false\", \"1\", \"0\"."
#: src/game.cpp:252 src/gui/widgets/chattab.cpp:403
msgid "General"
@@ -329,36 +331,36 @@ msgstr "Général"
msgid "Debug"
msgstr "Informations"
-#: src/game.cpp:513
+#: src/game.cpp:506
msgid "Screenshot saved as "
msgstr "Capture d'écran sauvegardée sous"
-#: src/game.cpp:521
+#: src/game.cpp:514
msgid "Saving screenshot failed!"
msgstr "La sauvegarde de la capture d'écran a échoué !"
-#: src/game.cpp:560
+#: src/game.cpp:554
msgid "The connection to the server was lost."
msgstr ""
"La connexion au serveur a été coupée, le programme va maintenant se fermer."
-#: src/game.cpp:572
+#: src/game.cpp:557
msgid "Network Error"
msgstr "Erreur Réseau"
-#: src/game.cpp:1322
+#: src/game.cpp:1332
msgid "Ignoring incoming trade requests"
msgstr "Ignorer les requêtes d'échanges entrantes"
-#: src/game.cpp:1332
+#: src/game.cpp:1342
msgid "Accepting incoming trade requests"
msgstr "Accepter les requêtes d'échanges entrantes"
-#: src/game.cpp:1732
+#: src/game.cpp:1750
msgid "Could Not Load Map"
msgstr "La carte n'a pu être chargée"
-#: src/game.cpp:1733
+#: src/game.cpp:1751
#, c-format
msgid "Error while loading %s"
msgstr "Erreur durant le chargement %s"
@@ -392,19 +394,19 @@ msgid "Name"
msgstr "Nom"
#: src/gui/botcheckerwindow.cpp:297 src/gui/popupmenu.cpp:133
-#: src/gui/popupmenu.cpp:292 src/gui/popupmenu.cpp:614
+#: src/gui/popupmenu.cpp:303 src/gui/popupmenu.cpp:636
#: src/keyboardconfig.cpp:49 src/net/tmwa/generalhandler.cpp:269
msgid "Attack"
msgstr "Attaquer"
-#: src/gui/botcheckerwindow.cpp:298 src/gui/popupmenu.cpp:281
+#: src/gui/botcheckerwindow.cpp:298 src/gui/popupmenu.cpp:292
#: src/keyboardconfig.cpp:62
msgid "Talk"
msgstr "Parler"
-#: src/gui/botcheckerwindow.cpp:299 src/gui/popupmenu.cpp:253
-#: src/gui/popupmenu.cpp:285 src/gui/popupmenu.cpp:437
-#: src/gui/popupmenu.cpp:669 src/gui/popupmenu.cpp:756
+#: src/gui/botcheckerwindow.cpp:299 src/gui/popupmenu.cpp:264
+#: src/gui/popupmenu.cpp:296 src/gui/popupmenu.cpp:459
+#: src/gui/popupmenu.cpp:702 src/gui/popupmenu.cpp:789
msgid "Move"
msgstr "Déplacement"
@@ -417,8 +419,8 @@ msgid "Reset"
msgstr "Réinitialiser"
#: src/gui/buydialog.cpp:58 src/gui/buydialog.cpp:65 src/gui/buydialog.cpp:112
-#: src/gui/buyselldialog.cpp:65 src/gui/popupmenu.cpp:265
-#: src/gui/popupmenu.cpp:282 src/gui/popupmenu.cpp:681
+#: src/gui/buyselldialog.cpp:65 src/gui/popupmenu.cpp:276
+#: src/gui/popupmenu.cpp:293 src/gui/popupmenu.cpp:714
msgid "Buy"
msgstr "Acheter"
@@ -436,7 +438,7 @@ msgstr "Montant"
#. You may change this symbol if your language uses another.
#: src/gui/buydialog.cpp:108 src/gui/itemamountwindow.cpp:207
#: src/gui/itemamountwindow.cpp:235 src/gui/npcdialog.cpp:114
-#: src/gui/selldialog.cpp:91 src/gui/statuswindow.cpp:977
+#: src/gui/selldialog.cpp:91 src/gui/statuswindow.cpp:998
msgid "+"
msgstr "+"
@@ -444,7 +446,7 @@ msgstr "+"
#. You may change this symbol if your language uses another.
#: src/gui/buydialog.cpp:111 src/gui/itemamountwindow.cpp:206
#: src/gui/itemamountwindow.cpp:234 src/gui/npcdialog.cpp:115
-#: src/gui/selldialog.cpp:92 src/gui/statuswindow.cpp:989
+#: src/gui/selldialog.cpp:92 src/gui/statuswindow.cpp:1010
msgid "-"
msgstr "-"
@@ -456,8 +458,8 @@ msgid "Quit"
msgstr "Quitter"
#: src/gui/buydialog.cpp:114 src/gui/selldialog.cpp:95
-#: src/gui/statuswindow.cpp:504 src/gui/statuswindow.cpp:554
-#: src/gui/statuswindow.cpp:976 src/gui/statuswindow.cpp:1007
+#: src/gui/statuswindow.cpp:505 src/gui/statuswindow.cpp:555
+#: src/gui/statuswindow.cpp:997 src/gui/statuswindow.cpp:1028
msgid "Max"
msgstr "Max."
@@ -466,8 +468,8 @@ msgstr "Max."
msgid "Shop"
msgstr "Boutique"
-#: src/gui/buyselldialog.cpp:65 src/gui/popupmenu.cpp:266
-#: src/gui/popupmenu.cpp:283 src/gui/popupmenu.cpp:682
+#: src/gui/buyselldialog.cpp:65 src/gui/popupmenu.cpp:277
+#: src/gui/popupmenu.cpp:294 src/gui/popupmenu.cpp:715
#: src/gui/selldialog.cpp:53 src/gui/selldialog.cpp:60
#: src/gui/selldialog.cpp:93
msgid "Sell"
@@ -476,15 +478,15 @@ msgstr "Vendre"
#: src/gui/buyselldialog.cpp:65 src/gui/changeemaildialog.cpp:59
#: src/gui/changepassworddialog.cpp:61 src/gui/charcreatedialog.cpp:96
#: src/gui/connectiondialog.cpp:47 src/gui/itemamountwindow.cpp:209
-#: src/gui/npcpostdialog.cpp:58 src/gui/popupmenu.cpp:333
-#: src/gui/popupmenu.cpp:354 src/gui/popupmenu.cpp:478
-#: src/gui/popupmenu.cpp:504 src/gui/popupmenu.cpp:528
-#: src/gui/popupmenu.cpp:541 src/gui/popupmenu.cpp:559
-#: src/gui/popupmenu.cpp:772 src/gui/popupmenu.cpp:796
-#: src/gui/popupmenu.cpp:1732 src/gui/popupmenu.cpp:1760
-#: src/gui/popupmenu.cpp:1816 src/gui/popupmenu.cpp:1861
-#: src/gui/popupmenu.cpp:1896 src/gui/popupmenu.cpp:1935
-#: src/gui/popupmenu.cpp:1987 src/gui/popupmenu.cpp:2007
+#: src/gui/npcpostdialog.cpp:58 src/gui/popupmenu.cpp:344
+#: src/gui/popupmenu.cpp:365 src/gui/popupmenu.cpp:500
+#: src/gui/popupmenu.cpp:526 src/gui/popupmenu.cpp:550
+#: src/gui/popupmenu.cpp:563 src/gui/popupmenu.cpp:581
+#: src/gui/popupmenu.cpp:805 src/gui/popupmenu.cpp:829
+#: src/gui/popupmenu.cpp:1775 src/gui/popupmenu.cpp:1803
+#: src/gui/popupmenu.cpp:1859 src/gui/popupmenu.cpp:1904
+#: src/gui/popupmenu.cpp:1939 src/gui/popupmenu.cpp:1978
+#: src/gui/popupmenu.cpp:2030 src/gui/popupmenu.cpp:2050
#: src/gui/quitdialog.cpp:55 src/gui/register.cpp:82 src/gui/setup.cpp:72
#: src/gui/socialwindow.cpp:1077 src/gui/textcommandeditor.cpp:241
#: src/gui/textdialog.cpp:51 src/gui/unregisterdialog.cpp:59
@@ -655,7 +657,7 @@ msgid "Enter password:"
msgstr "Entrer le mot de passe :"
#: src/gui/charselectdialog.cpp:410 src/gui/serverdialog.cpp:298
-#: src/gui/setup_relations.cpp:243 src/gui/shopwindow.cpp:122
+#: src/gui/setup_relations.cpp:244 src/gui/shopwindow.cpp:122
#: src/gui/shopwindow.cpp:125 src/gui/textcommandeditor.cpp:244
msgid "Delete"
msgstr "Supprimer"
@@ -731,8 +733,9 @@ msgstr "arc en ciel 3"
#: src/gui/chatwindow.cpp:142 src/gui/inventorywindow.cpp:90
#: src/gui/itemamountwindow.cpp:93 src/gui/logindialog.cpp:78
-#: src/gui/setup_relations.cpp:221 src/gui/setup_theme.cpp:73
-#: src/gui/setup_theme.cpp:127 src/gui/setup_video.cpp:211
+#: src/gui/setup_joystick.cpp:60 src/gui/setup_relations.cpp:222
+#: src/gui/setup_theme.cpp:74 src/gui/setup_theme.cpp:128
+#: src/gui/setup_theme.cpp:173 src/gui/setup_video.cpp:211
#: src/gui/textcommandeditor.cpp:102 src/gui/textcommandeditor.cpp:141
#: src/gui/textcommandeditor.cpp:160
msgid "???"
@@ -742,12 +745,12 @@ msgstr "???"
msgid "Chat"
msgstr "Conversation"
-#: src/gui/chatwindow.cpp:613
+#: src/gui/chatwindow.cpp:615
#, c-format
msgid "Present: %s; %d players are present."
msgstr "Présents : %s ; %d joueurs sont présents."
-#: src/gui/chatwindow.cpp:1000
+#: src/gui/chatwindow.cpp:1002
#, c-format
msgid "Whispering to %s: %s"
msgstr "Message envoyé à %s : %s"
@@ -761,10 +764,12 @@ msgid "No"
msgstr "Non"
#: src/gui/confirmdialog.cpp:52 src/gui/popupmenu.cpp:146
-#: src/gui/popupmenu.cpp:153 src/gui/popupmenu.cpp:161
-#: src/gui/popupmenu.cpp:380 src/gui/popupmenu.cpp:387
-#: src/gui/popupmenu.cpp:395 src/gui/popupmenu.cpp:626
-#: src/gui/popupmenu.cpp:633 src/gui/popupmenu.cpp:641
+#: src/gui/popupmenu.cpp:154 src/gui/popupmenu.cpp:163
+#: src/gui/popupmenu.cpp:171 src/gui/popupmenu.cpp:391
+#: src/gui/popupmenu.cpp:399 src/gui/popupmenu.cpp:408
+#: src/gui/popupmenu.cpp:427 src/gui/popupmenu.cpp:648
+#: src/gui/popupmenu.cpp:656 src/gui/popupmenu.cpp:665
+#: src/gui/popupmenu.cpp:679
msgid "Ignore"
msgstr "Ignorer"
@@ -910,7 +915,7 @@ msgstr "Le saviez-vous ?"
#: src/gui/didyouknowwindow.cpp:63 src/gui/helpwindow.cpp:59
#: src/gui/inventorywindow.cpp:205 src/gui/npcdialog.cpp:53
-#: src/gui/popupmenu.cpp:574 src/gui/shopwindow.cpp:113
+#: src/gui/popupmenu.cpp:596 src/gui/shopwindow.cpp:113
msgid "Close"
msgstr "Fermer"
@@ -937,8 +942,8 @@ msgstr "Équipement"
#: src/gui/equipmentwindow.cpp:95 src/gui/inventorywindow.cpp:160
#: src/gui/inventorywindow.cpp:545 src/gui/inventorywindow.cpp:554
-#: src/gui/popupmenu.cpp:1694 src/gui/popupmenu.cpp:1786
-#: src/gui/popupmenu.cpp:1831
+#: src/gui/popupmenu.cpp:1737 src/gui/popupmenu.cpp:1829
+#: src/gui/popupmenu.cpp:1874
msgid "Unequip"
msgstr "Retirer"
@@ -980,31 +985,31 @@ msgid "Filter:"
msgstr "Filtre :"
#: src/gui/inventorywindow.cpp:158 src/gui/inventorywindow.cpp:547
-#: src/gui/inventorywindow.cpp:556 src/gui/popupmenu.cpp:1696
-#: src/gui/popupmenu.cpp:1788 src/gui/popupmenu.cpp:1833
+#: src/gui/inventorywindow.cpp:556 src/gui/popupmenu.cpp:1739
+#: src/gui/popupmenu.cpp:1831 src/gui/popupmenu.cpp:1876
msgid "Equip"
msgstr "Équiper"
#: src/gui/inventorywindow.cpp:159 src/gui/inventorywindow.cpp:548
-#: src/gui/inventorywindow.cpp:552 src/gui/popupmenu.cpp:1700
-#: src/gui/popupmenu.cpp:1755 src/gui/popupmenu.cpp:1792
-#: src/gui/popupmenu.cpp:1837
+#: src/gui/inventorywindow.cpp:552 src/gui/popupmenu.cpp:1743
+#: src/gui/popupmenu.cpp:1798 src/gui/popupmenu.cpp:1835
+#: src/gui/popupmenu.cpp:1880
msgid "Use"
msgstr "Utiliser"
#: src/gui/inventorywindow.cpp:173 src/gui/inventorywindow.cpp:652
-#: src/gui/popupmenu.cpp:1705 src/gui/popupmenu.cpp:1797
-#: src/gui/popupmenu.cpp:1842
+#: src/gui/popupmenu.cpp:1748 src/gui/popupmenu.cpp:1840
+#: src/gui/popupmenu.cpp:1885
msgid "Drop..."
msgstr "Jeter..."
-#: src/gui/inventorywindow.cpp:174 src/gui/popupmenu.cpp:1714
-#: src/gui/popupmenu.cpp:1806 src/gui/popupmenu.cpp:1851
+#: src/gui/inventorywindow.cpp:174 src/gui/popupmenu.cpp:1757
+#: src/gui/popupmenu.cpp:1849 src/gui/popupmenu.cpp:1894
msgid "Split"
msgstr "Partager"
#: src/gui/inventorywindow.cpp:175 src/gui/outfitwindow.cpp:60
-#: src/gui/popupmenu.cpp:537
+#: src/gui/popupmenu.cpp:559
msgid "Outfits"
msgstr "Tenues"
@@ -1013,17 +1018,17 @@ msgid "Weight:"
msgstr "Poids :"
#: src/gui/inventorywindow.cpp:203 src/gui/inventorywindow.cpp:643
-#: src/gui/popupmenu.cpp:1680 src/gui/popupmenu.cpp:1809
-#: src/gui/popupmenu.cpp:1854 src/gui/setup.cpp:73
+#: src/gui/popupmenu.cpp:1723 src/gui/popupmenu.cpp:1852
+#: src/gui/popupmenu.cpp:1897 src/gui/setup.cpp:73
msgid "Store"
msgstr "Entreposer"
-#: src/gui/inventorywindow.cpp:204 src/gui/popupmenu.cpp:1721
+#: src/gui/inventorywindow.cpp:204 src/gui/popupmenu.cpp:1764
msgid "Retrieve"
msgstr "Récupérer"
-#: src/gui/inventorywindow.cpp:654 src/gui/popupmenu.cpp:1710
-#: src/gui/popupmenu.cpp:1802 src/gui/popupmenu.cpp:1847
+#: src/gui/inventorywindow.cpp:654 src/gui/popupmenu.cpp:1753
+#: src/gui/popupmenu.cpp:1845 src/gui/popupmenu.cpp:1890
#: src/gui/windowmenu.cpp:97
msgid "Drop"
msgstr "Jeter"
@@ -1263,7 +1268,7 @@ msgstr "Soumettre"
msgid "NPC"
msgstr "PNJ"
-#: src/gui/npcdialog.cpp:108 src/gui/popupmenu.cpp:576
+#: src/gui/npcdialog.cpp:108 src/gui/popupmenu.cpp:598
msgid "Clear"
msgstr "Effacer"
@@ -1301,331 +1306,347 @@ msgstr "Retirer d'abord l'équipement"
msgid "Away outfit"
msgstr "Équipement en absence"
-#: src/gui/popupmenu.cpp:132 src/gui/popupmenu.cpp:613
+#: src/gui/popupmenu.cpp:132 src/gui/popupmenu.cpp:635
#: src/gui/widgets/tradetab.cpp:44
msgid "Trade"
msgstr "Échange"
-#: src/gui/popupmenu.cpp:134 src/gui/popupmenu.cpp:372
+#: src/gui/popupmenu.cpp:134 src/gui/popupmenu.cpp:383
msgid "Whisper"
msgstr "Message"
-#: src/gui/popupmenu.cpp:138 src/gui/popupmenu.cpp:618
+#: src/gui/popupmenu.cpp:138 src/gui/popupmenu.cpp:640
msgid "Heal"
msgstr "Soigner"
-#: src/gui/popupmenu.cpp:144 src/gui/popupmenu.cpp:378
-#: src/gui/popupmenu.cpp:624
+#: src/gui/popupmenu.cpp:144 src/gui/popupmenu.cpp:389
+#: src/gui/popupmenu.cpp:646
msgid "Be friend"
msgstr "Être ami"
-#: src/gui/popupmenu.cpp:145 src/gui/popupmenu.cpp:152
-#: src/gui/popupmenu.cpp:160 src/gui/popupmenu.cpp:178
-#: src/gui/popupmenu.cpp:379 src/gui/popupmenu.cpp:386
-#: src/gui/popupmenu.cpp:394 src/gui/popupmenu.cpp:412
-#: src/gui/popupmenu.cpp:625 src/gui/popupmenu.cpp:632
-#: src/gui/popupmenu.cpp:640 src/gui/popupmenu.cpp:658
+#: src/gui/popupmenu.cpp:145 src/gui/popupmenu.cpp:153
+#: src/gui/popupmenu.cpp:162 src/gui/popupmenu.cpp:170
+#: src/gui/popupmenu.cpp:189 src/gui/popupmenu.cpp:390
+#: src/gui/popupmenu.cpp:398 src/gui/popupmenu.cpp:407
+#: src/gui/popupmenu.cpp:426 src/gui/popupmenu.cpp:434
+#: src/gui/popupmenu.cpp:647 src/gui/popupmenu.cpp:655
+#: src/gui/popupmenu.cpp:664 src/gui/popupmenu.cpp:678
+#: src/gui/popupmenu.cpp:691
msgid "Disregard"
msgstr "Éviter"
-#: src/gui/popupmenu.cpp:147 src/gui/popupmenu.cpp:154
-#: src/gui/popupmenu.cpp:381 src/gui/popupmenu.cpp:388
-#: src/gui/popupmenu.cpp:627 src/gui/popupmenu.cpp:634
+#: src/gui/popupmenu.cpp:147 src/gui/popupmenu.cpp:155
+#: src/gui/popupmenu.cpp:172 src/gui/popupmenu.cpp:392
+#: src/gui/popupmenu.cpp:400 src/gui/popupmenu.cpp:428
+#: src/gui/popupmenu.cpp:649 src/gui/popupmenu.cpp:657
+#: src/gui/popupmenu.cpp:680
msgid "Black list"
msgstr "Liste noir"
-#: src/gui/popupmenu.cpp:148 src/gui/popupmenu.cpp:155
-#: src/gui/popupmenu.cpp:162 src/gui/popupmenu.cpp:168
-#: src/gui/popupmenu.cpp:173 src/gui/popupmenu.cpp:382
-#: src/gui/popupmenu.cpp:389 src/gui/popupmenu.cpp:396
-#: src/gui/popupmenu.cpp:402 src/gui/popupmenu.cpp:407
-#: src/gui/popupmenu.cpp:628 src/gui/popupmenu.cpp:635
-#: src/gui/popupmenu.cpp:642 src/gui/popupmenu.cpp:648
-#: src/gui/popupmenu.cpp:653
+#: src/gui/popupmenu.cpp:148 src/gui/popupmenu.cpp:156
+#: src/gui/popupmenu.cpp:164 src/gui/popupmenu.cpp:393
+#: src/gui/popupmenu.cpp:401 src/gui/popupmenu.cpp:409
+#: src/gui/popupmenu.cpp:650 src/gui/popupmenu.cpp:658
+#: src/gui/popupmenu.cpp:666
+msgid "Set as enemy"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:149 src/gui/popupmenu.cpp:157
+#: src/gui/popupmenu.cpp:165 src/gui/popupmenu.cpp:173
+#: src/gui/popupmenu.cpp:179 src/gui/popupmenu.cpp:184
+#: src/gui/popupmenu.cpp:394 src/gui/popupmenu.cpp:402
+#: src/gui/popupmenu.cpp:410 src/gui/popupmenu.cpp:416
+#: src/gui/popupmenu.cpp:421 src/gui/popupmenu.cpp:429
+#: src/gui/popupmenu.cpp:651 src/gui/popupmenu.cpp:659
+#: src/gui/popupmenu.cpp:667 src/gui/popupmenu.cpp:673
+#: src/gui/popupmenu.cpp:681 src/gui/popupmenu.cpp:686
msgid "Erase"
msgstr "Éliminer"
-#: src/gui/popupmenu.cpp:159 src/gui/popupmenu.cpp:166
-#: src/gui/popupmenu.cpp:172 src/gui/popupmenu.cpp:177
-#: src/gui/popupmenu.cpp:393 src/gui/popupmenu.cpp:400
-#: src/gui/popupmenu.cpp:406 src/gui/popupmenu.cpp:411
-#: src/gui/popupmenu.cpp:639 src/gui/popupmenu.cpp:646
-#: src/gui/popupmenu.cpp:652 src/gui/popupmenu.cpp:657
+#: src/gui/popupmenu.cpp:161 src/gui/popupmenu.cpp:169
+#: src/gui/popupmenu.cpp:177 src/gui/popupmenu.cpp:183
+#: src/gui/popupmenu.cpp:188 src/gui/popupmenu.cpp:406
+#: src/gui/popupmenu.cpp:414 src/gui/popupmenu.cpp:420
+#: src/gui/popupmenu.cpp:425 src/gui/popupmenu.cpp:433
+#: src/gui/popupmenu.cpp:663 src/gui/popupmenu.cpp:671
+#: src/gui/popupmenu.cpp:677 src/gui/popupmenu.cpp:685
+#: src/gui/popupmenu.cpp:690
msgid "Unignore"
msgstr "Ne plus ignorer"
-#: src/gui/popupmenu.cpp:167 src/gui/popupmenu.cpp:179
-#: src/gui/popupmenu.cpp:401 src/gui/popupmenu.cpp:413
-#: src/gui/popupmenu.cpp:647 src/gui/popupmenu.cpp:659
-#: src/playerrelations.cpp:421
+#: src/gui/popupmenu.cpp:178 src/gui/popupmenu.cpp:190
+#: src/gui/popupmenu.cpp:415 src/gui/popupmenu.cpp:435
+#: src/gui/popupmenu.cpp:672 src/gui/popupmenu.cpp:692
+#: src/playerrelations.cpp:446
msgid "Completely ignore"
msgstr "Ignorer complètement"
-#: src/gui/popupmenu.cpp:187 src/gui/popupmenu.cpp:421
-#: src/gui/popupmenu.cpp:667 src/gui/popupmenu.cpp:746
+#: src/gui/popupmenu.cpp:198 src/gui/popupmenu.cpp:443
+#: src/gui/popupmenu.cpp:700 src/gui/popupmenu.cpp:779
msgid "Follow"
msgstr "Suivre"
-#: src/gui/popupmenu.cpp:188 src/gui/popupmenu.cpp:422
-#: src/gui/popupmenu.cpp:668 src/gui/popupmenu.cpp:747
+#: src/gui/popupmenu.cpp:199 src/gui/popupmenu.cpp:444
+#: src/gui/popupmenu.cpp:701 src/gui/popupmenu.cpp:780
msgid "Imitation"
msgstr "Imiter"
-#: src/gui/popupmenu.cpp:197 src/gui/popupmenu.cpp:700
+#: src/gui/popupmenu.cpp:208 src/gui/popupmenu.cpp:733
msgid "Invite to party"
msgstr "Inviter dans le groupe"
-#: src/gui/popupmenu.cpp:202 src/gui/popupmenu.cpp:433
-#: src/gui/popupmenu.cpp:705
+#: src/gui/popupmenu.cpp:213 src/gui/popupmenu.cpp:455
+#: src/gui/popupmenu.cpp:738
msgid "Kick from party"
msgstr "Sortir du groupe"
-#: src/gui/popupmenu.cpp:217 src/gui/popupmenu.cpp:229
-#: src/gui/popupmenu.cpp:450 src/gui/popupmenu.cpp:722
+#: src/gui/popupmenu.cpp:228 src/gui/popupmenu.cpp:240
+#: src/gui/popupmenu.cpp:472 src/gui/popupmenu.cpp:755
msgid "Kick from guild"
msgstr "Sortir de la guilde"
-#: src/gui/popupmenu.cpp:222 src/gui/popupmenu.cpp:234
-#: src/gui/popupmenu.cpp:455 src/gui/popupmenu.cpp:727
+#: src/gui/popupmenu.cpp:233 src/gui/popupmenu.cpp:245
+#: src/gui/popupmenu.cpp:477 src/gui/popupmenu.cpp:760
msgid "Change pos in guild"
msgstr "Changer la position dans la guilde"
-#: src/gui/popupmenu.cpp:242 src/gui/popupmenu.cpp:463
-#: src/gui/popupmenu.cpp:736
+#: src/gui/popupmenu.cpp:253 src/gui/popupmenu.cpp:485
+#: src/gui/popupmenu.cpp:769
msgid "Invite to guild"
msgstr "Inviter dans la guilde"
-#: src/gui/popupmenu.cpp:250
+#: src/gui/popupmenu.cpp:261
msgid "Kick player"
msgstr "Sortir le joueur"
-#: src/gui/popupmenu.cpp:252
+#: src/gui/popupmenu.cpp:263
msgid "Nuke"
msgstr "Annihiler"
-#: src/gui/popupmenu.cpp:254 src/gui/popupmenu.cpp:670
-#: src/gui/popupmenu.cpp:759
+#: src/gui/popupmenu.cpp:265 src/gui/popupmenu.cpp:703
+#: src/gui/popupmenu.cpp:792
msgid "Show Items"
msgstr "Montrer les objets"
-#: src/gui/popupmenu.cpp:255 src/gui/popupmenu.cpp:671
-#: src/gui/popupmenu.cpp:760 src/gui/popupmenu.cpp:2004
+#: src/gui/popupmenu.cpp:266 src/gui/popupmenu.cpp:704
+#: src/gui/popupmenu.cpp:793 src/gui/popupmenu.cpp:2047
msgid "Undress"
msgstr "Déshabiller"
-#: src/gui/popupmenu.cpp:256 src/gui/popupmenu.cpp:286
-#: src/gui/popupmenu.cpp:423 src/gui/popupmenu.cpp:672
-#: src/gui/popupmenu.cpp:761
+#: src/gui/popupmenu.cpp:267 src/gui/popupmenu.cpp:297
+#: src/gui/popupmenu.cpp:445 src/gui/popupmenu.cpp:705
+#: src/gui/popupmenu.cpp:794
msgid "Add comment"
msgstr "Ajouter commentaire"
-#: src/gui/popupmenu.cpp:271 src/gui/popupmenu.cpp:471
-#: src/gui/popupmenu.cpp:687 src/gui/popupmenu.cpp:766
+#: src/gui/popupmenu.cpp:282 src/gui/popupmenu.cpp:493
+#: src/gui/popupmenu.cpp:720 src/gui/popupmenu.cpp:799
msgid "Buy (?)"
msgstr "Acheter (?)"
-#: src/gui/popupmenu.cpp:272 src/gui/popupmenu.cpp:472
-#: src/gui/popupmenu.cpp:688 src/gui/popupmenu.cpp:767
+#: src/gui/popupmenu.cpp:283 src/gui/popupmenu.cpp:494
+#: src/gui/popupmenu.cpp:721 src/gui/popupmenu.cpp:800
msgid "Sell (?)"
msgstr "Vendre (?)"
-#: src/gui/popupmenu.cpp:297
+#: src/gui/popupmenu.cpp:308
msgid "Kick"
msgstr "Virer"
-#: src/gui/popupmenu.cpp:308
+#: src/gui/popupmenu.cpp:319
msgid "Remove from attack list"
msgstr "Enlever de la liste d'attaque"
-#: src/gui/popupmenu.cpp:313
+#: src/gui/popupmenu.cpp:324
msgid "Add to priority attack list"
msgstr "Ajouter à la liste de priorités d'attaque"
-#: src/gui/popupmenu.cpp:315
+#: src/gui/popupmenu.cpp:326
msgid "Add to attack list"
msgstr "Ajouter à la liste d'attaque"
-#: src/gui/popupmenu.cpp:317
+#: src/gui/popupmenu.cpp:328
msgid "Add to ignore list"
msgstr "Ajouter à la liste d'ignorés"
-#: src/gui/popupmenu.cpp:330 src/gui/popupmenu.cpp:475
+#: src/gui/popupmenu.cpp:341 src/gui/popupmenu.cpp:497
msgid "Add name to chat"
msgstr "Ajouter le nom dans la boite de dialogue"
-#: src/gui/popupmenu.cpp:500
+#: src/gui/popupmenu.cpp:522
msgid "Pick up"
msgstr "Ramasser"
-#: src/gui/popupmenu.cpp:501 src/gui/popupmenu.cpp:1730
-#: src/gui/popupmenu.cpp:1810 src/gui/popupmenu.cpp:1855
+#: src/gui/popupmenu.cpp:523 src/gui/popupmenu.cpp:1773
+#: src/gui/popupmenu.cpp:1853 src/gui/popupmenu.cpp:1898
msgid "Add to chat"
msgstr "Ajouter à la conversation"
-#: src/gui/popupmenu.cpp:518
+#: src/gui/popupmenu.cpp:540
msgid "Map Item"
msgstr "Objet de carte"
-#: src/gui/popupmenu.cpp:519
+#: src/gui/popupmenu.cpp:541
msgid "Rename"
msgstr "Renommer"
-#: src/gui/popupmenu.cpp:520 src/gui/popupmenu.cpp:1965
-#: src/gui/popupmenu.cpp:1976 src/gui/popupmenu.cpp:1980
+#: src/gui/popupmenu.cpp:542 src/gui/popupmenu.cpp:2008
+#: src/gui/popupmenu.cpp:2019 src/gui/popupmenu.cpp:2023
msgid "Remove"
msgstr "Enlever"
-#: src/gui/popupmenu.cpp:525
+#: src/gui/popupmenu.cpp:547
msgid "Warp"
msgstr "Télétransportation"
-#: src/gui/popupmenu.cpp:538
+#: src/gui/popupmenu.cpp:560
msgid "Load old outfits"
msgstr "Charger les anciennes tenues"
-#: src/gui/popupmenu.cpp:554 src/gui/windowmenu.cpp:96
+#: src/gui/popupmenu.cpp:576 src/gui/windowmenu.cpp:96
msgid "Spells"
msgstr "Sortilèges"
-#: src/gui/popupmenu.cpp:555
+#: src/gui/popupmenu.cpp:577
msgid "Load old spells"
msgstr "Charger les anciens sorts"
-#: src/gui/popupmenu.cpp:556
+#: src/gui/popupmenu.cpp:578
msgid "Edit spell"
msgstr "Éditer le sortilège"
-#: src/gui/popupmenu.cpp:580
+#: src/gui/popupmenu.cpp:602
msgid "Disable highlight"
msgstr "Désactiver la surbrillance"
-#: src/gui/popupmenu.cpp:582
+#: src/gui/popupmenu.cpp:604
msgid "Enable highlight"
msgstr "Activer la surbrillance"
-#: src/gui/popupmenu.cpp:584
+#: src/gui/popupmenu.cpp:606
msgid "Don't remove name"
msgstr "Ne pas enlever les noms"
-#: src/gui/popupmenu.cpp:586
+#: src/gui/popupmenu.cpp:608
msgid "Remove name"
msgstr "Enlève le nom"
-#: src/gui/popupmenu.cpp:588
+#: src/gui/popupmenu.cpp:610
msgid "Enable away"
msgstr "Active la fonction Absence"
-#: src/gui/popupmenu.cpp:590
+#: src/gui/popupmenu.cpp:612
msgid "Disable away"
msgstr "Désactive la fonction Absence"
-#: src/gui/popupmenu.cpp:595 src/gui/socialwindow.cpp:1141
+#: src/gui/popupmenu.cpp:617 src/gui/socialwindow.cpp:1141
msgid "Leave"
msgstr "Quitter"
-#: src/gui/popupmenu.cpp:780
+#: src/gui/popupmenu.cpp:813
msgid "Change guild position"
msgstr "Changer la position de la Guilde"
#. TRANSLATORS: number of chars in string should be near original
-#: src/gui/popupmenu.cpp:1243
+#: src/gui/popupmenu.cpp:1286
msgid "Rename map sign "
msgstr "Renommer le panneau de carte"
#. TRANSLATORS: number of chars in string should be near original
-#: src/gui/popupmenu.cpp:1245
+#: src/gui/popupmenu.cpp:1288
msgid "Name: "
msgstr "Nom : "
#. TRANSLATORS: number of chars in string should be near original
-#: src/gui/popupmenu.cpp:1295
+#: src/gui/popupmenu.cpp:1338
msgid "Player comment "
msgstr "Le joueur commente "
#. TRANSLATORS: number of chars in string should be near original
-#: src/gui/popupmenu.cpp:1297
+#: src/gui/popupmenu.cpp:1340
msgid "Comment: "
msgstr "Commentaire : "
-#: src/gui/popupmenu.cpp:1668
+#: src/gui/popupmenu.cpp:1711
msgid "Add to trade"
msgstr "Ajouter à la transaction"
-#: src/gui/popupmenu.cpp:1672
+#: src/gui/popupmenu.cpp:1715
msgid "Add to trade 10"
msgstr "Ajouter 10 dans l'échange"
-#: src/gui/popupmenu.cpp:1673
+#: src/gui/popupmenu.cpp:1716
msgid "Add to trade half"
msgstr "Ajouter la moitié dans l'échange"
-#: src/gui/popupmenu.cpp:1674
+#: src/gui/popupmenu.cpp:1717
msgid "Add to trade all"
msgstr "Ajouter tout dans l'échange"
-#: src/gui/popupmenu.cpp:1684
+#: src/gui/popupmenu.cpp:1727
msgid "Store 10"
msgstr "Entreposer 10"
-#: src/gui/popupmenu.cpp:1685
+#: src/gui/popupmenu.cpp:1728
msgid "Store half"
msgstr "Entreposer la moitié"
-#: src/gui/popupmenu.cpp:1686
+#: src/gui/popupmenu.cpp:1729
msgid "Store all"
msgstr "Entreposer tout"
-#: src/gui/popupmenu.cpp:1706 src/gui/popupmenu.cpp:1798
-#: src/gui/popupmenu.cpp:1843
+#: src/gui/popupmenu.cpp:1749 src/gui/popupmenu.cpp:1841
+#: src/gui/popupmenu.cpp:1886
msgid "Drop all"
msgstr "Jeter tout"
-#: src/gui/popupmenu.cpp:1725
+#: src/gui/popupmenu.cpp:1768
msgid "Retrieve 10"
msgstr "Reprendre 10"
-#: src/gui/popupmenu.cpp:1726
+#: src/gui/popupmenu.cpp:1769
msgid "Retrieve half"
msgstr "Reprendre la moitié"
-#: src/gui/popupmenu.cpp:1727
+#: src/gui/popupmenu.cpp:1770
msgid "Retrieve all"
msgstr "Reprendre tout"
-#: src/gui/popupmenu.cpp:1758 src/gui/popupmenu.cpp:1814
+#: src/gui/popupmenu.cpp:1801 src/gui/popupmenu.cpp:1857
msgid "Load old item shortcuts"
msgstr "Charger les anciens raccourcis d'objets"
-#: src/gui/popupmenu.cpp:1859
+#: src/gui/popupmenu.cpp:1902
msgid "Load old drop shortcuts"
msgstr "Charger les anciens raccourcis de jets d'objets"
-#: src/gui/popupmenu.cpp:1885 src/gui/popupmenu.cpp:1920
+#: src/gui/popupmenu.cpp:1928 src/gui/popupmenu.cpp:1963
msgid "Hide"
msgstr "Cacher"
-#: src/gui/popupmenu.cpp:1891 src/gui/popupmenu.cpp:1926
+#: src/gui/popupmenu.cpp:1934 src/gui/popupmenu.cpp:1969
msgid "Show"
msgstr "Montrer"
-#: src/gui/popupmenu.cpp:1932
+#: src/gui/popupmenu.cpp:1975
msgid "Reset yellow bar"
msgstr "Remise aux valeurs de défaut de la barre jaune"
-#: src/gui/popupmenu.cpp:1934 src/gui/statuswindow.cpp:241
+#: src/gui/popupmenu.cpp:1977 src/gui/statuswindow.cpp:242
msgid "Copy to chat"
msgstr "Copier dans la conversation"
-#: src/gui/popupmenu.cpp:1952 src/gui/socialwindow.cpp:958
+#: src/gui/popupmenu.cpp:1995 src/gui/setup_theme.cpp:88
+#: src/gui/setup_theme.cpp:145 src/gui/socialwindow.cpp:958
#: src/gui/socialwindow.cpp:993 src/gui/socialwindow.cpp:1028
msgid "(default)"
msgstr "(défaut)"
-#: src/gui/popupmenu.cpp:1962 src/gui/popupmenu.cpp:1973
+#: src/gui/popupmenu.cpp:2005 src/gui/popupmenu.cpp:2016
msgid "Move up"
msgstr "Aller vers le haut"
-#: src/gui/popupmenu.cpp:1964 src/gui/popupmenu.cpp:1975
+#: src/gui/popupmenu.cpp:2007 src/gui/popupmenu.cpp:2018
msgid "Move down"
msgstr "Aller vers le bas"
@@ -1939,29 +1960,33 @@ msgstr "Appliquer"
msgid "Reset Windows"
msgstr "Rétablir les fenêtres"
-#: src/gui/setup_joystick.cpp:40 src/gui/setup_joystick.cpp:79
+#: src/gui/setup_joystick.cpp:70 src/gui/setup_joystick.cpp:142
msgid "Press the button to start calibration"
msgstr "Presser le bouton pour démarrer la calibration"
-#: src/gui/setup_joystick.cpp:41 src/gui/setup_joystick.cpp:77
+#: src/gui/setup_joystick.cpp:71 src/gui/setup_joystick.cpp:140
msgid "Calibrate"
msgstr "Calibrer"
-#: src/gui/setup_joystick.cpp:42
+#: src/gui/setup_joystick.cpp:72
msgid "Enable joystick"
msgstr "Activer la manette de jeu"
-#: src/gui/setup_joystick.cpp:44
+#: src/gui/setup_joystick.cpp:75
+msgid "Use joystick if client window inactive"
+msgstr ""
+
+#: src/gui/setup_joystick.cpp:78
msgid "Joystick"
msgstr "Manette"
-#: src/gui/setup_joystick.cpp:84
+#: src/gui/setup_joystick.cpp:147
msgid "Stop"
msgstr "Stop"
-#: src/gui/setup_joystick.cpp:85
-msgid "Rotate the stick"
-msgstr "Tourner la manette de jeu"
+#: src/gui/setup_joystick.cpp:149
+msgid "Rotate the stick and dont press buttons"
+msgstr ""
#: src/gui/setup_keyboard.cpp:80
msgid "Keyboard"
@@ -2133,7 +2158,8 @@ msgstr "Activer le support pour auction bot"
#: src/gui/setup_other.cpp:162
msgid "Enable guild bot support and disable native guild support"
-msgstr "Activer le support pour guild bot et désactiver le support par défault"
+msgstr ""
+"Activer le support pour guild bot et désactiver le support par défault"
#: src/gui/setup_other.cpp:168
msgid "Enable server side attack"
@@ -2144,22 +2170,22 @@ msgid "Enable bot checker"
msgstr "Activer le testeur de robots"
#: src/gui/setup_other.cpp:174
-msgid "Enable buggy servers protection"
-msgstr "Activer la protection contre les serveurs instables"
+msgid "Enable buggy servers protection (do not disable)"
+msgstr ""
-#: src/gui/setup_other.cpp:177
+#: src/gui/setup_other.cpp:178
msgid "Enable debug log"
msgstr "Activer l'enregistrement des informations"
-#: src/gui/setup_other.cpp:180
+#: src/gui/setup_other.cpp:181
msgid "Low traffic mode"
msgstr "Mode traffic faible"
-#: src/gui/setup_other.cpp:183
+#: src/gui/setup_other.cpp:184
msgid "Hide shield sprite"
msgstr "Cacher le bouclier"
-#: src/gui/setup_other.cpp:186
+#: src/gui/setup_other.cpp:187
msgid "Show background"
msgstr "Montrer le fond"
@@ -2178,7 +2204,8 @@ msgstr "Accélération matériel"
#: src/gui/setup_perfomance.cpp:64
msgid "Enable opacity cache (Software, can use many memory)"
msgstr ""
-"Autoriser l'opacité du cache (Le programme peut utiliser beaucoup de mémoire)"
+"Autoriser l'opacité du cache (Le programme peut utiliser beaucoup de "
+"mémoire)"
#: src/gui/setup_perfomance.cpp:67
msgid "Enable map reduce (Software)"
@@ -2289,91 +2316,151 @@ msgstr "Effacé"
msgid "Blacklisted"
msgstr "Sous liste noir"
-#: src/gui/setup_relations.cpp:239
+#: src/gui/setup_relations.cpp:76
+msgid "Enemy"
+msgstr ""
+
+#: src/gui/setup_relations.cpp:240
msgid "Allow trading"
msgstr "Autoriser les échanges"
-#: src/gui/setup_relations.cpp:241
+#: src/gui/setup_relations.cpp:242
msgid "Allow whispers"
msgstr "Autoriser les messages privés"
-#: src/gui/setup_relations.cpp:244
+#: src/gui/setup_relations.cpp:245
msgid "Old"
msgstr "Ancien"
-#: src/gui/setup_relations.cpp:246
+#: src/gui/setup_relations.cpp:247
msgid "Relations"
msgstr "Relations"
-#: src/gui/setup_relations.cpp:271
+#: src/gui/setup_relations.cpp:272
msgid "When ignoring:"
msgstr "Quand ignoré :"
-#: src/gui/setup_theme.cpp:107
+#: src/gui/setup_theme.cpp:108
msgid "Tiny (10)"
msgstr "Minuscule (10)"
-#: src/gui/setup_theme.cpp:108
+#: src/gui/setup_theme.cpp:109
msgid "Small (11)"
msgstr "Petite (11)"
-#: src/gui/setup_theme.cpp:109
+#: src/gui/setup_theme.cpp:110
msgid "Medium (12)"
msgstr "Moyenne (12)"
-#: src/gui/setup_theme.cpp:110
+#: src/gui/setup_theme.cpp:111
msgid "Large (13)"
msgstr "Grande (13)"
-#: src/gui/setup_theme.cpp:111
+#: src/gui/setup_theme.cpp:112
msgid "Big (14)"
msgstr "Grand (14)"
-#: src/gui/setup_theme.cpp:112
+#: src/gui/setup_theme.cpp:113
msgid "Huge (15)"
msgstr "Immense (15)"
-#: src/gui/setup_theme.cpp:143
+#: src/gui/setup_theme.cpp:146
+msgid "Chinese (China)"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:147
+msgid "Czech"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:148
+msgid "English"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:149
+msgid "Finnish"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:150
+msgid "French"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:151
+msgid "German"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:152
+msgid "Indonesian"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:153
+msgid "Japanese"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:154
+msgid "Dutch (Belgium/Flemish)"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:155
+msgid "Portuguese"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:156
+msgid "Portuguese (Brazilian)"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:157
+msgid "Russian"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:158
+msgid "Spanish (Castilian)"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:190
msgid "Theme"
msgstr "Thème"
-#: src/gui/setup_theme.cpp:145
+#: src/gui/setup_theme.cpp:192
msgid "Gui theme"
msgstr "Thème de l'interface"
-#: src/gui/setup_theme.cpp:146
+#: src/gui/setup_theme.cpp:193
+msgid "Language"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:194
msgid "Main Font"
msgstr "Police principale"
-#: src/gui/setup_theme.cpp:147
+#: src/gui/setup_theme.cpp:195
msgid "Bold font"
msgstr "Police grasse"
-#: src/gui/setup_theme.cpp:148
+#: src/gui/setup_theme.cpp:196
msgid "Particle font"
msgstr "Taille des effets de particules"
-#: src/gui/setup_theme.cpp:149
+#: src/gui/setup_theme.cpp:197
msgid "Help font"
msgstr "Police de l'aide"
-#: src/gui/setup_theme.cpp:150
+#: src/gui/setup_theme.cpp:198
msgid "Secure font"
msgstr "Police sécurisée"
-#: src/gui/setup_theme.cpp:151
+#: src/gui/setup_theme.cpp:199
msgid "Japanese font"
msgstr "police japonaise"
-#: src/gui/setup_theme.cpp:183
+#: src/gui/setup_theme.cpp:236
msgid "Font size"
msgstr "Taille de police"
-#: src/gui/setup_theme.cpp:299
+#: src/gui/setup_theme.cpp:377
msgid "Theme Changed"
msgstr "Thème changé"
-#: src/gui/setup_theme.cpp:300 src/gui/setup_video.cpp:619
+#: src/gui/setup_theme.cpp:378 src/gui/setup_video.cpp:619
#: src/gui/setup_video.cpp:624
msgid "Restart your client for the change to take effect."
msgstr "Redémarrez le jeu pour que les changements soient appliqués."
@@ -2755,8 +2842,8 @@ msgstr "Choisissez le nom de la guilde."
#: src/gui/socialwindow.cpp:1425
msgid "Received guild request, but one already exists."
msgstr ""
-"Vous avez reçu une invitation pour rejoindre une guilde, mais vous êtes déjà "
-"dans une."
+"Vous avez reçu une invitation pour rejoindre une guilde, mais vous êtes déjà"
+" dans une."
#: src/gui/socialwindow.cpp:1431
#, c-format
@@ -2812,422 +2899,445 @@ msgstr "Choisissez le nom du groupe."
msgid "Specials"
msgstr "Cpt. spéciales"
-#: src/gui/statuspopup.cpp:197
+#: src/gui/statuspopup.cpp:204
msgid "(D) default moves"
msgstr "(D) Mouvements par défaut"
-#: src/gui/statuspopup.cpp:202
+#: src/gui/statuspopup.cpp:209
msgid "(I) invert moves"
msgstr "(I) Mouvements inversés"
-#: src/gui/statuspopup.cpp:207
+#: src/gui/statuspopup.cpp:214
msgid "(c) moves with some crazy moves"
msgstr "(c) Mouvements un peu fous"
-#: src/gui/statuspopup.cpp:212
+#: src/gui/statuspopup.cpp:219
msgid "(C) moves with crazy moves"
msgstr "(C) Mouvement complètement fous"
-#: src/gui/statuspopup.cpp:217
+#: src/gui/statuspopup.cpp:224
msgid "(d) double normal + crazy"
msgstr "(d) double normal et fou"
-#: src/gui/statuspopup.cpp:222
+#: src/gui/statuspopup.cpp:229
msgid "(?) move"
msgstr "(?) Mouvements"
-#: src/gui/statuspopup.cpp:240
+#: src/gui/statuspopup.cpp:247
msgid "(a) custom crazy move"
msgstr "(a) Mouvements fous personnalisés"
-#: src/gui/statuspopup.cpp:244
+#: src/gui/statuspopup.cpp:251
msgid "(?) crazy move"
msgstr "(?) Mouvements fous"
-#: src/gui/statuspopup.cpp:254
+#: src/gui/statuspopup.cpp:261
msgid "(0) default moves to target"
msgstr "(0) Aller à la cible distante par défaut"
-#: src/gui/statuspopup.cpp:259
+#: src/gui/statuspopup.cpp:266
msgid "(1) moves to target in distance 1"
msgstr "(1) Aller à la cible en distante de 1"
-#: src/gui/statuspopup.cpp:264
+#: src/gui/statuspopup.cpp:271
msgid "(2) moves to target in distance 2"
msgstr "(2) Aller vers la cible jusqu'à 2 de distance"
-#: src/gui/statuspopup.cpp:269
+#: src/gui/statuspopup.cpp:276
msgid "(3) moves to target in distance 3"
msgstr "(3) Aller à la cible en distante de 3"
-#: src/gui/statuspopup.cpp:274
+#: src/gui/statuspopup.cpp:281
msgid "(5) moves to target in distance 5"
msgstr "(5) Aller à la cible en distante de 5"
-#: src/gui/statuspopup.cpp:279
+#: src/gui/statuspopup.cpp:286
msgid "(7) moves to target in distance 7"
msgstr "(7) Aller à la cible en distante de 7"
-#: src/gui/statuspopup.cpp:284
+#: src/gui/statuspopup.cpp:291
msgid "(A) moves to target in attack range"
msgstr "(A) Aller à la cible dans le champ d'attaque"
-#: src/gui/statuspopup.cpp:289
+#: src/gui/statuspopup.cpp:296
msgid "(a) archer attack range"
msgstr "(a) Portée des attaques des Archéens"
-#: src/gui/statuspopup.cpp:294
+#: src/gui/statuspopup.cpp:301
msgid "(?) move to target"
msgstr "(?) Aller à la cible"
-#: src/gui/statuspopup.cpp:302
+#: src/gui/statuspopup.cpp:309
msgid "(D) default follow"
msgstr "(D) Suivre : défaut"
-#: src/gui/statuspopup.cpp:306
+#: src/gui/statuspopup.cpp:313
msgid "(R) relative follow"
msgstr "(R) Suivre: mouvement relatif"
-#: src/gui/statuspopup.cpp:310
+#: src/gui/statuspopup.cpp:317
msgid "(M) mirror follow"
msgstr "(M) Suivre effet miroir"
-#: src/gui/statuspopup.cpp:314
+#: src/gui/statuspopup.cpp:321
msgid "(P) pet follow"
msgstr "(P) Suivre comme un toutou"
-#: src/gui/statuspopup.cpp:318
+#: src/gui/statuspopup.cpp:325
msgid "(?) unknown follow"
msgstr "(?) Suivre : mode inconnu"
-#: src/gui/statuspopup.cpp:327 src/gui/statuspopup.cpp:350
+#: src/gui/statuspopup.cpp:334 src/gui/statuspopup.cpp:357
msgid "(D) default attack"
msgstr "(D) Attaque : défaut"
-#: src/gui/statuspopup.cpp:332
+#: src/gui/statuspopup.cpp:339
msgid "(s) switch attack without shield"
msgstr "(s) Attaquer sans protection"
-#: src/gui/statuspopup.cpp:337
+#: src/gui/statuspopup.cpp:344
msgid "(S) switch attack with shield"
msgstr "(S) Attaquer avec protection"
-#: src/gui/statuspopup.cpp:341 src/gui/statuspopup.cpp:366
+#: src/gui/statuspopup.cpp:348 src/gui/statuspopup.cpp:373
msgid "(?) attack"
msgstr "(?) Attaque"
-#: src/gui/statuspopup.cpp:354
+#: src/gui/statuspopup.cpp:361
msgid "(G) go and attack"
msgstr "(G) Se déplacer et attaquer"
-#: src/gui/statuspopup.cpp:358
+#: src/gui/statuspopup.cpp:365
msgid "(A) go, attack, pickup"
msgstr "(A) Se déplacer, attaquer et ramasser"
-#: src/gui/statuspopup.cpp:362
+#: src/gui/statuspopup.cpp:369
msgid "(d) without auto attack"
msgstr "(d) Sans attaque automatique"
-#: src/gui/statuspopup.cpp:380
+#: src/gui/statuspopup.cpp:387
msgid "(S) small pick up 1x1 cells"
msgstr "(S) Ramassage sur 1x1 case"
-#: src/gui/statuspopup.cpp:384
+#: src/gui/statuspopup.cpp:391
msgid "(D) default pick up 2x1 cells"
msgstr "(D) Ramassage par défaut sur 2x1 cases"
-#: src/gui/statuspopup.cpp:388
+#: src/gui/statuspopup.cpp:395
msgid "(F) forward pick up 2x3 cells"
msgstr "(F) Ramassage avant sur 2x3 cases"
-#: src/gui/statuspopup.cpp:392
+#: src/gui/statuspopup.cpp:399
msgid "(3) pick up 3x3 cells"
msgstr "(3) Ramassage sur 3x3 cases"
-#: src/gui/statuspopup.cpp:396
+#: src/gui/statuspopup.cpp:403
msgid "(g) go and pick up in distance 4"
msgstr "(g) Aller et ramasser jusqu'à 4 de distance"
-#: src/gui/statuspopup.cpp:400
+#: src/gui/statuspopup.cpp:407
msgid "(G) go and pick up in distance 8"
msgstr "(G) Aller et ramasser jusqu'à 8 de distance"
-#: src/gui/statuspopup.cpp:404
+#: src/gui/statuspopup.cpp:411
msgid "(A) go and pick up in max distance"
msgstr "(A) Aller et ramasser jusqu'à la distance max"
-#: src/gui/statuspopup.cpp:408
+#: src/gui/statuspopup.cpp:415
msgid "(?) pick up"
msgstr "(?) Ramassage"
-#: src/gui/statuspopup.cpp:417
+#: src/gui/statuspopup.cpp:424
msgid "(N) normal map view"
msgstr "(N) Vue normale du jeu"
-#: src/gui/statuspopup.cpp:421
+#: src/gui/statuspopup.cpp:428
msgid "(D) debug map view"
msgstr "(D) Vue du jeu mode déverminage"
-#: src/gui/statuspopup.cpp:425
+#: src/gui/statuspopup.cpp:432
msgid "(u) ultra map view"
msgstr "(u) Vue du jeu mode Ultra 1"
-#: src/gui/statuspopup.cpp:429
+#: src/gui/statuspopup.cpp:436
msgid "(U) ultra map view 2"
msgstr "(u) Vue du jeu mode Ultra 2"
-#: src/gui/statuspopup.cpp:433
+#: src/gui/statuspopup.cpp:440
msgid "(e) empty map view"
msgstr "(e) Vue de la carte vide"
-#: src/gui/statuspopup.cpp:437
+#: src/gui/statuspopup.cpp:444
msgid "(b) black & white map view"
msgstr "(b) Vue de la carte en N&B"
-#: src/gui/statuspopup.cpp:441
+#: src/gui/statuspopup.cpp:448
msgid "(?) map view"
msgstr "(?) Carte"
-#: src/gui/statuspopup.cpp:449
+#: src/gui/statuspopup.cpp:456
msgid "(f) use #flar for magic attack"
msgstr "(f) Utiliser #flar comme sort d'attaque"
-#: src/gui/statuspopup.cpp:454
+#: src/gui/statuspopup.cpp:461
msgid "(c) use #chiza for magic attack"
msgstr "(c) Utiliser #chiza comme sort d'attaque"
-#: src/gui/statuspopup.cpp:459
+#: src/gui/statuspopup.cpp:466
msgid "(I) use #ingrav for magic attack"
msgstr "(I) Utiliser #ingrav comme sort d'attaque"
-#: src/gui/statuspopup.cpp:464
+#: src/gui/statuspopup.cpp:471
msgid "(F) use #frillyar for magic attack"
msgstr "(F) Utiliser #frillyar comme sort d'attaque"
-#: src/gui/statuspopup.cpp:469
+#: src/gui/statuspopup.cpp:476
msgid "(U) use #upmarmu for magic attack"
msgstr "(U) Utiliser #upmarmu comme sort d'attaque"
-#: src/gui/statuspopup.cpp:473
+#: src/gui/statuspopup.cpp:480
msgid "(?) magic attack"
msgstr "(?) Sorts d'attaque"
-#: src/gui/statuspopup.cpp:482
+#: src/gui/statuspopup.cpp:489
+msgid "(a) attack all players"
+msgstr ""
+
+#: src/gui/statuspopup.cpp:493
+msgid "(f) attack not friends"
+msgstr ""
+
+#: src/gui/statuspopup.cpp:497
+msgid "(b) attack bad relations"
+msgstr ""
+
+#: src/gui/statuspopup.cpp:501
+msgid "(d) dont attack players"
+msgstr ""
+
+#: src/gui/statuspopup.cpp:505
+msgid "(?) pvp attack"
+msgstr ""
+
+#: src/gui/statuspopup.cpp:514
msgid "(D) default imitation"
msgstr "(D) Imitation par défaut"
-#: src/gui/statuspopup.cpp:486
+#: src/gui/statuspopup.cpp:518
msgid "(O) outfits imitation"
msgstr "(O) Imiter les équipements"
-#: src/gui/statuspopup.cpp:490
+#: src/gui/statuspopup.cpp:522
msgid "(?) imitation"
msgstr "(?) Imitation"
-#: src/gui/statuspopup.cpp:499
+#: src/gui/statuspopup.cpp:531
msgid "(O) on keyboard"
msgstr "(O) Présent sur le jeu"
-#: src/gui/statuspopup.cpp:502
+#: src/gui/statuspopup.cpp:534
msgid "(A) away"
msgstr "(A) Absent"
-#: src/gui/statuspopup.cpp:505 src/gui/statuspopup.cpp:525
+#: src/gui/statuspopup.cpp:537 src/gui/statuspopup.cpp:557
msgid "(?) away"
msgstr "(?) Absent"
-#: src/gui/statuspopup.cpp:513
+#: src/gui/statuspopup.cpp:545
msgid "(G) game camera mode"
msgstr "(G) Mode camera du jeu"
-#: src/gui/statuspopup.cpp:517
+#: src/gui/statuspopup.cpp:549
msgid "(F) free camera mode"
msgstr "(F) Mode camera libre"
-#: src/gui/statuspopup.cpp:521
+#: src/gui/statuspopup.cpp:553
msgid "(D) design camera mode"
msgstr "(D) Définir le mode camera"
-#: src/gui/statuspopup.cpp:532
+#: src/gui/statuspopup.cpp:564
msgid "Game modifiers are disabled"
msgstr "Modificateurs de mode de jeu désactivés"
-#: src/gui/statuspopup.cpp:537
+#: src/gui/statuspopup.cpp:569
msgid "Game modifiers are enabled"
msgstr "Modificateurs de mode de jeu activés"
-#: src/gui/statuswindow.cpp:143 src/gui/statuswindow.cpp:273
-#: src/gui/statuswindow.cpp:336
+#: src/gui/statuswindow.cpp:144 src/gui/statuswindow.cpp:274
+#: src/gui/statuswindow.cpp:337
#, c-format
msgid "Level: %d"
msgstr "Niveau : %d"
-#: src/gui/statuswindow.cpp:144 src/gui/statuswindow.cpp:259
-#: src/gui/statuswindow.cpp:303
+#: src/gui/statuswindow.cpp:145 src/gui/statuswindow.cpp:260
+#: src/gui/statuswindow.cpp:304
#, c-format
msgid "Money: %s"
msgstr "Argent : %s"
-#: src/gui/statuswindow.cpp:150
+#: src/gui/statuswindow.cpp:151
msgid "HP:"
msgstr "Vie :"
-#: src/gui/statuswindow.cpp:157
+#: src/gui/statuswindow.cpp:158
msgid "Exp:"
msgstr "Exp :"
-#: src/gui/statuswindow.cpp:171
+#: src/gui/statuswindow.cpp:172
msgid "MP:"
msgstr "PM :"
-#: src/gui/statuswindow.cpp:203 src/gui/statuswindow.cpp:386
+#: src/gui/statuswindow.cpp:204 src/gui/statuswindow.cpp:387
#, c-format
msgid "Job: %d"
msgstr "Métier : %d"
-#: src/gui/statuswindow.cpp:204
+#: src/gui/statuswindow.cpp:205
msgid "Job:"
msgstr "Compétences :"
-#: src/gui/statuswindow.cpp:262 src/gui/statuswindow.cpp:310
+#: src/gui/statuswindow.cpp:263 src/gui/statuswindow.cpp:311
#, c-format
msgid "Character points: %d"
msgstr "Points de caractéristiques du personnage : %d"
-#: src/gui/statuswindow.cpp:268
+#: src/gui/statuswindow.cpp:269
#, c-format
msgid "Level: %d (GM %d)"
msgstr "Niveau : %d (GM %d)"
-#: src/gui/statuswindow.cpp:324
+#: src/gui/statuswindow.cpp:325
#, c-format
msgid "Correction points: %d"
msgstr "Points de correction : %d"
-#: src/gui/statuswindow.cpp:648 src/gui/statuswindow.cpp:716
-#: src/gui/statuswindow.cpp:736 src/gui/statuswindow.cpp:752
-#: src/gui/statuswindow.cpp:798 src/gui/statuswindow.cpp:827
-#: src/gui/statuswindow.cpp:850 src/gui/statuswindow.cpp:869
+#: src/gui/statuswindow.cpp:649 src/gui/statuswindow.cpp:717
+#: src/gui/statuswindow.cpp:737 src/gui/statuswindow.cpp:753
+#: src/gui/statuswindow.cpp:818 src/gui/statuswindow.cpp:847
+#: src/gui/statuswindow.cpp:870 src/gui/statuswindow.cpp:889
msgid "(D)"
msgstr "(D)"
-#: src/gui/statuswindow.cpp:651 src/gui/statuswindow.cpp:777
+#: src/gui/statuswindow.cpp:652 src/gui/statuswindow.cpp:778
msgid "(I)"
msgstr "(I)"
-#: src/gui/statuswindow.cpp:654 src/gui/statuswindow.cpp:774
+#: src/gui/statuswindow.cpp:655 src/gui/statuswindow.cpp:775
msgid "(c)"
msgstr "(c)"
-#: src/gui/statuswindow.cpp:657
+#: src/gui/statuswindow.cpp:658
msgid "(C)"
msgstr "(C)"
-#: src/gui/statuswindow.cpp:660 src/gui/statuswindow.cpp:761
+#: src/gui/statuswindow.cpp:661 src/gui/statuswindow.cpp:762
+#: src/gui/statuswindow.cpp:803
msgid "(d)"
msgstr "(d)"
-#: src/gui/statuswindow.cpp:663 src/gui/statuswindow.cpp:677
-#: src/gui/statuswindow.cpp:709 src/gui/statuswindow.cpp:728
-#: src/gui/statuswindow.cpp:745 src/gui/statuswindow.cpp:764
-#: src/gui/statuswindow.cpp:786 src/gui/statuswindow.cpp:816
-#: src/gui/statuswindow.cpp:842 src/gui/statuswindow.cpp:856
-#: src/gui/statuswindow.cpp:872 src/gui/statuswindow.cpp:885
+#: src/gui/statuswindow.cpp:664 src/gui/statuswindow.cpp:678
+#: src/gui/statuswindow.cpp:710 src/gui/statuswindow.cpp:729
+#: src/gui/statuswindow.cpp:746 src/gui/statuswindow.cpp:765
+#: src/gui/statuswindow.cpp:787 src/gui/statuswindow.cpp:806
+#: src/gui/statuswindow.cpp:836 src/gui/statuswindow.cpp:862
+#: src/gui/statuswindow.cpp:876 src/gui/statuswindow.cpp:892
+#: src/gui/statuswindow.cpp:905
msgid "(?)"
msgstr "(?)"
-#: src/gui/statuswindow.cpp:674 src/gui/statuswindow.cpp:706
+#: src/gui/statuswindow.cpp:675 src/gui/statuswindow.cpp:707
+#: src/gui/statuswindow.cpp:794
msgid "(a)"
msgstr "(a)"
-#: src/gui/statuswindow.cpp:685
+#: src/gui/statuswindow.cpp:686
msgid "(0)"
msgstr "(0)"
-#: src/gui/statuswindow.cpp:688
+#: src/gui/statuswindow.cpp:689
msgid "(1)"
msgstr "(1)"
-#: src/gui/statuswindow.cpp:691
+#: src/gui/statuswindow.cpp:692
msgid "(2)"
msgstr "(2)"
-#: src/gui/statuswindow.cpp:694 src/gui/statuswindow.cpp:804
+#: src/gui/statuswindow.cpp:695 src/gui/statuswindow.cpp:824
msgid "(3)"
msgstr "(3)"
-#: src/gui/statuswindow.cpp:697
+#: src/gui/statuswindow.cpp:698
msgid "(5)"
msgstr "(5)"
-#: src/gui/statuswindow.cpp:700
+#: src/gui/statuswindow.cpp:701
msgid "(7)"
msgstr "(7)"
-#: src/gui/statuswindow.cpp:703 src/gui/statuswindow.cpp:758
-#: src/gui/statuswindow.cpp:813 src/gui/statuswindow.cpp:882
+#: src/gui/statuswindow.cpp:704 src/gui/statuswindow.cpp:759
+#: src/gui/statuswindow.cpp:833 src/gui/statuswindow.cpp:902
msgid "(A)"
msgstr "(A)"
-#: src/gui/statuswindow.cpp:719
+#: src/gui/statuswindow.cpp:720
msgid "(R)"
msgstr "(R)"
-#: src/gui/statuswindow.cpp:722
+#: src/gui/statuswindow.cpp:723
msgid "(M)"
msgstr "(M)"
-#: src/gui/statuswindow.cpp:725
+#: src/gui/statuswindow.cpp:726
msgid "(P)"
msgstr "(P)"
-#: src/gui/statuswindow.cpp:739
+#: src/gui/statuswindow.cpp:740
msgid "(s)"
msgstr "(s)"
-#: src/gui/statuswindow.cpp:742 src/gui/statuswindow.cpp:795
+#: src/gui/statuswindow.cpp:743 src/gui/statuswindow.cpp:815
msgid "(S)"
msgstr "(S)"
-#: src/gui/statuswindow.cpp:755 src/gui/statuswindow.cpp:810
-#: src/gui/statuswindow.cpp:863
+#: src/gui/statuswindow.cpp:756 src/gui/statuswindow.cpp:830
+#: src/gui/statuswindow.cpp:883
msgid "(G)"
msgstr "(G)"
-#: src/gui/statuswindow.cpp:771
+#: src/gui/statuswindow.cpp:772 src/gui/statuswindow.cpp:797
msgid "(f)"
msgstr "(f)"
-#: src/gui/statuswindow.cpp:780 src/gui/statuswindow.cpp:801
-#: src/gui/statuswindow.cpp:866
+#: src/gui/statuswindow.cpp:781 src/gui/statuswindow.cpp:821
+#: src/gui/statuswindow.cpp:886
msgid "(F)"
msgstr "(F)"
-#: src/gui/statuswindow.cpp:783 src/gui/statuswindow.cpp:833
+#: src/gui/statuswindow.cpp:784 src/gui/statuswindow.cpp:853
msgid "(U)"
msgstr "(U)"
-#: src/gui/statuswindow.cpp:807
+#: src/gui/statuswindow.cpp:800 src/gui/statuswindow.cpp:859
+msgid "(b)"
+msgstr "(b)"
+
+#: src/gui/statuswindow.cpp:827
msgid "(g)"
msgstr "(g)"
-#: src/gui/statuswindow.cpp:824
+#: src/gui/statuswindow.cpp:844
msgid "(N)"
msgstr "(N)"
-#: src/gui/statuswindow.cpp:830
+#: src/gui/statuswindow.cpp:850
msgid "(u)"
msgstr "(u)"
-#: src/gui/statuswindow.cpp:836
+#: src/gui/statuswindow.cpp:856
msgid "(e)"
msgstr "(e)"
-#: src/gui/statuswindow.cpp:839
-msgid "(b)"
-msgstr "(b)"
-
-#: src/gui/statuswindow.cpp:853 src/gui/statuswindow.cpp:879
+#: src/gui/statuswindow.cpp:873 src/gui/statuswindow.cpp:899
msgid "(O)"
msgstr "(O)"
@@ -3357,7 +3467,8 @@ msgid "You don't have enough money."
msgstr "Vous n'avez pas assez d'argent."
#: src/gui/tradewindow.cpp:454
-msgid "Failed adding item. You can not overlap one kind of item on the window."
+msgid ""
+"Failed adding item. You can not overlap one kind of item on the window."
msgstr ""
"L'objet ne peux être ajouté. Vous ne pouvez ajouter deux fois le même objet "
"dans cette fenêtre."
@@ -3379,21 +3490,21 @@ msgstr "Connexion..."
msgid "Play"
msgstr "Jouer"
-#: src/gui/updaterwindow.cpp:564
+#: src/gui/updaterwindow.cpp:565
msgid "##1 The update process is incomplete."
msgstr "##1 Le processus de mise à jour n'est pas achevé"
#. TRANSLATORS: Continues "you try again later.".
-#: src/gui/updaterwindow.cpp:566
+#: src/gui/updaterwindow.cpp:567
msgid "##1 It is strongly recommended that"
msgstr "##1 Il est fortement recommandé que"
#. TRANSLATORS: Begins "It is strongly recommended that".
-#: src/gui/updaterwindow.cpp:568
+#: src/gui/updaterwindow.cpp:569
msgid "##1 you try again later."
msgstr "##1 Essayez à nouveau plus tard"
-#: src/gui/updaterwindow.cpp:744
+#: src/gui/updaterwindow.cpp:745
msgid "Completed"
msgstr "Terminé"
@@ -3595,7 +3706,8 @@ msgstr "Commande : /users"
#: src/gui/widgets/channeltab.cpp:67
msgid "This command shows the users in this channel."
-msgstr "Cette commande affiche la liste d'utilisateurs présents dans ce salon."
+msgstr ""
+"Cette commande affiche la liste d'utilisateurs présents dans ce salon."
#: src/gui/widgets/channeltab.cpp:71
msgid "Command: /topic <message>"
@@ -3745,8 +3857,10 @@ msgid "Command: /unignore <player>"
msgstr "Commande : /unignore <joueur>"
#: src/gui/widgets/whispertab.cpp:131
-msgid "This command stops ignoring the other player if they are being ignored."
-msgstr "Cette commande vous fait cesser d'ignorer un joueur si c'était le cas."
+msgid ""
+"This command stops ignoring the other player if they are being ignored."
+msgstr ""
+"Cette commande vous fait cesser d'ignorer un joueur si c'était le cas."
#: src/gui/windowmenu.cpp:65
msgid "BC"
@@ -3774,7 +3888,7 @@ msgstr "Émoticône"
#: src/gui/windowmenu.cpp:73
msgid "STA"
-msgstr "Car"
+msgstr "STA"
#: src/gui/windowmenu.cpp:73
msgid "Status"
@@ -3962,7 +4076,7 @@ msgstr "Touche de raccourcis items"
#: src/keyboardconfig.cpp:116 src/keyboardconfig.cpp:119
#: src/keyboardconfig.cpp:121 src/keyboardconfig.cpp:123
#: src/keyboardconfig.cpp:125 src/keyboardconfig.cpp:127
-#: src/keyboardconfig.cpp:369
+#: src/keyboardconfig.cpp:371
#, c-format
msgid "Item Shortcut %d"
msgstr "Raccourci Objet %d"
@@ -4089,7 +4203,7 @@ msgstr "Smileys"
#: src/keyboardconfig.cpp:258 src/keyboardconfig.cpp:260
#: src/keyboardconfig.cpp:262 src/keyboardconfig.cpp:264
#: src/keyboardconfig.cpp:266 src/keyboardconfig.cpp:268
-#: src/keyboardconfig.cpp:364
+#: src/keyboardconfig.cpp:366
#, c-format
msgid "Emote Shortcut %d"
msgstr "Raccourci d'émoticône %d"
@@ -4218,51 +4332,55 @@ msgstr "Utiliser l'attaque magique"
msgid "Switch magic attack"
msgstr "Changer d'attaque magique"
-#: src/keyboardconfig.cpp:328
+#: src/keyboardconfig.cpp:329
+msgid "Switch pvp attack"
+msgstr ""
+
+#: src/keyboardconfig.cpp:330
msgid "Change move type"
msgstr "Changer de type de mouvement"
-#: src/keyboardconfig.cpp:330
+#: src/keyboardconfig.cpp:332
msgid "Change Attack Weapon Type"
msgstr "Changer de type d'arme d'attaque"
-#: src/keyboardconfig.cpp:332
+#: src/keyboardconfig.cpp:334
msgid "Change Attack Type"
msgstr "Changer de type d'attaque"
-#: src/keyboardconfig.cpp:334
+#: src/keyboardconfig.cpp:336
msgid "Change Follow mode"
msgstr "Changer de type de suivi"
-#: src/keyboardconfig.cpp:336
+#: src/keyboardconfig.cpp:338
msgid "Change Imitation mode"
msgstr "Changer de type d'imitation"
-#: src/keyboardconfig.cpp:339
+#: src/keyboardconfig.cpp:341
msgid "Disable / Enable Game modifier keys"
msgstr "Désactiver / Activer les touches de modifications du jeu"
-#: src/keyboardconfig.cpp:340
+#: src/keyboardconfig.cpp:342
msgid "On / Off audio"
msgstr "Son On / Off"
-#: src/keyboardconfig.cpp:342
+#: src/keyboardconfig.cpp:344
msgid "Enable / Disable away mode"
msgstr "Activer / Désactiver le mode en absence"
-#: src/keyboardconfig.cpp:344
+#: src/keyboardconfig.cpp:346
msgid "Emulate right click from keyboard"
msgstr "Emuler le clic droit à partir du clavier"
-#: src/keyboardconfig.cpp:346
+#: src/keyboardconfig.cpp:348
msgid "Toggle camera mode"
msgstr "Changer le mode caméra"
-#: src/keyboardconfig.cpp:348
+#: src/keyboardconfig.cpp:350
msgid "Modifier key"
msgstr "Modifier la touche"
-#: src/keyboardconfig.cpp:427
+#: src/keyboardconfig.cpp:429
#, c-format
msgid ""
"Conflict \"%s\" and \"%s\" keys. Resolve them, or gameplay may result in "
@@ -4271,68 +4389,68 @@ msgstr ""
"Conflit entre les touches \"%s\" and \"%s\". Changez au moins l'une des "
"touches ou attendez vous à un possible comportement étrange du jeu."
-#: src/localplayer.cpp:381
+#: src/localplayer.cpp:389
msgid "You were killed by "
msgstr "Vous avez été tué par "
-#: src/localplayer.cpp:1428
+#: src/localplayer.cpp:1442
msgid "Tried to pick up nonexistent item."
msgstr "Vous avez essayé de prendre un item qui n'existe pas."
-#: src/localplayer.cpp:1430
+#: src/localplayer.cpp:1444
msgid "Item is too heavy."
msgstr "L'objet est trop lourd."
-#: src/localplayer.cpp:1432
+#: src/localplayer.cpp:1446
msgid "Item is too far away."
msgstr "L'objet est trop éloigné"
-#: src/localplayer.cpp:1434
+#: src/localplayer.cpp:1448
msgid "Inventory is full."
msgstr "L'inventaire est plein"
-#: src/localplayer.cpp:1436
+#: src/localplayer.cpp:1450
msgid "Stack is too big."
msgstr "La pile est trop grande"
-#: src/localplayer.cpp:1439
+#: src/localplayer.cpp:1453
msgid "Item belongs to someone else."
msgstr "L'objet appartient a quelqu'un d'autre"
-#: src/localplayer.cpp:1442
+#: src/localplayer.cpp:1456
msgid "Unknown problem picking up item."
msgstr "Problème inconnu pour ramasser l'objet."
#. TRANSLATORS: %d is number,
#. [@@%d|%s@@] - here player can see link to item
-#: src/localplayer.cpp:1466
+#: src/localplayer.cpp:1480
#, c-format
msgid "You picked up %d [@@%d|%s@@]."
msgid_plural "You picked up %d [@@%d|%s@@]."
msgstr[0] "Vous avez ramassé %d [@@%d|%s@@]."
msgstr[1] "Vous avez ramassé %d [@@%d|%s@@]."
-#: src/localplayer.cpp:3181
+#: src/localplayer.cpp:3206
msgid "Away"
msgstr "Inactif"
-#: src/localplayer.cpp:3509
+#: src/localplayer.cpp:3541
msgid "Follow: "
msgstr "Suivre : "
-#: src/localplayer.cpp:3511 src/localplayer.cpp:3526
+#: src/localplayer.cpp:3543 src/localplayer.cpp:3558
msgid "Follow canceled"
msgstr "Suivi annulé"
-#: src/localplayer.cpp:3518
+#: src/localplayer.cpp:3550
msgid "Imitation: "
msgstr "Imitation: "
-#: src/localplayer.cpp:3520 src/localplayer.cpp:3528
+#: src/localplayer.cpp:3552 src/localplayer.cpp:3560
msgid "Imitation canceled"
msgstr "Imitation annulée"
-#: src/localplayer.cpp:3876
+#: src/localplayer.cpp:3908
msgid "You see "
msgstr "Vous voyez "
@@ -4425,7 +4543,8 @@ msgstr ""
#: src/main.cpp:72
msgid " --screenshot-dir : Directory to store screenshots"
-msgstr " --screenshot-dir : Répertoire à utiliser pour les imprime-écrans"
+msgstr ""
+" --screenshot-dir : Répertoire à utiliser pour les imprime-écrans"
#: src/main.cpp:73
msgid " --safemode : Start game in safe mode"
@@ -5040,10 +5159,11 @@ msgstr "Message"
#: src/net/ea/playerhandler.cpp:336
msgid ""
-"You are carrying more than half your weight. You are unable to regain health."
+"You are carrying more than half your weight. You are unable to regain "
+"health."
msgstr ""
-"Vous portez plus de la moitié du poids de votre inventaire. Vous n'êtes plus "
-"en mesure de regagner vos points de vie."
+"Vous portez plus de la moitié du poids de votre inventaire. Vous n'êtes plus"
+" en mesure de regagner vos points de vie."
#: src/net/ea/playerhandler.cpp:346
msgid "You are carrying less than half your weight. You can regain health."
@@ -5154,57 +5274,57 @@ msgstr "Le poison fut sans effet..."
msgid "%s wants to trade with you, do you accept?"
msgstr "%s souhaite réaliser un échange avec vous. Acceptez-vous ?"
-#: src/net/ea/tradehandler.cpp:134
+#: src/net/ea/tradehandler.cpp:135
msgid "Trading isn't possible. Trade partner is too far away."
msgstr "L'échange est impossible. Votre partenaire est trop éloigné."
-#: src/net/ea/tradehandler.cpp:138
+#: src/net/ea/tradehandler.cpp:139
msgid "Trading isn't possible. Character doesn't exist."
msgstr "Échange impossible. Ce personnage n'existe pas."
-#: src/net/ea/tradehandler.cpp:142
+#: src/net/ea/tradehandler.cpp:143
msgid "Trade cancelled due to an unknown reason."
msgstr "Échange annulé pour une raison inconnue."
-#: src/net/ea/tradehandler.cpp:148
+#: src/net/ea/tradehandler.cpp:149
#, c-format
msgid "Trade: You and %s"
msgstr "Échange : Vous et %s"
-#: src/net/ea/tradehandler.cpp:158
+#: src/net/ea/tradehandler.cpp:159
#, c-format
msgid "Trade with %s cancelled."
msgstr "Échange avec %s annulé."
-#: src/net/ea/tradehandler.cpp:171
+#: src/net/ea/tradehandler.cpp:172
msgid "Unhandled trade cancel packet."
msgstr "Échange non pris en compte."
-#: src/net/ea/tradehandler.cpp:236
+#: src/net/ea/tradehandler.cpp:237
msgid "Failed adding item. Trade partner is over weighted."
msgstr ""
"Impossible de rajouter un objet. Votre partenaire pour cet échange est "
"surchargé."
-#: src/net/ea/tradehandler.cpp:241
+#: src/net/ea/tradehandler.cpp:242
msgid "Failed adding item. Trade partner has no free slot."
msgstr ""
"Impossible de rajouter un objet. Votre partenaire pour cet échange n'a plus "
"de place libre."
-#: src/net/ea/tradehandler.cpp:246
+#: src/net/ea/tradehandler.cpp:247
msgid "Failed adding item. You can't trade this item."
msgstr "Impossible d'ajouter l'objet. Celui-ci ne peut pas être échangeable."
-#: src/net/ea/tradehandler.cpp:250
+#: src/net/ea/tradehandler.cpp:251
msgid "Failed adding item for unknown reason."
msgstr "Impossible de rajouter un objet pour une raison inconnue."
-#: src/net/ea/tradehandler.cpp:269 src/net/manaserv/tradehandler.cpp:160
+#: src/net/ea/tradehandler.cpp:270 src/net/manaserv/tradehandler.cpp:160
msgid "Trade canceled."
msgstr "Échange annulé."
-#: src/net/ea/tradehandler.cpp:280 src/net/manaserv/tradehandler.cpp:167
+#: src/net/ea/tradehandler.cpp:281 src/net/manaserv/tradehandler.cpp:167
msgid "Trade completed."
msgstr "Échange finalisé."
@@ -5631,15 +5751,15 @@ msgstr "Portée de l'attaque"
msgid "Damage per sec."
msgstr "Dommage par s."
-#: src/net/tmwa/network.cpp:152
+#: src/net/tmwa/network.cpp:153
msgid "Empty address given to Network::connect()!"
msgstr "Une adresse vide a été donnée à la commande Network::connect() !"
-#: src/net/tmwa/network.cpp:356
+#: src/net/tmwa/network.cpp:357
msgid "Unable to resolve host \""
msgstr "Impossible de connecter au serveur \""
-#: src/net/tmwa/network.cpp:426
+#: src/net/tmwa/network.cpp:427
msgid "Connection to server terminated. "
msgstr "Connexion au serveur terminée."
@@ -5648,19 +5768,19 @@ msgstr "Connexion au serveur terminée."
msgid "%s is not in your party!"
msgstr "%s n'est pas membre de votre groupe !"
-#: src/playerrelations.cpp:435
+#: src/playerrelations.cpp:460
msgid "Print '...'"
msgstr "Affiche '...'"
-#: src/playerrelations.cpp:455
+#: src/playerrelations.cpp:480
msgid "Blink name"
msgstr "Fais clignoter le nom"
-#: src/playerrelations.cpp:499
+#: src/playerrelations.cpp:524
msgid "Floating '...' bubble"
msgstr "Bulle flottante '...'"
-#: src/playerrelations.cpp:502
+#: src/playerrelations.cpp:527
msgid "Floating bubble"
msgstr "Bulle flottante"
@@ -5692,3 +5812,5 @@ msgstr "PM %+d"
#: src/resources/itemdb.cpp:169
msgid "Unknown item"
msgstr "Objet inconnu"
+
+
diff --git a/po/id.po b/po/id.po
index b5991397c..b617f51cf 100644
--- a/po/id.po
+++ b/po/id.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR The ManaPlus Developers
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
# <adjieps@yahoo.com>, 2011.
# Andrei Karas <akaras@inbox.ru>, 2011.
@@ -10,80 +10,79 @@ msgid ""
msgstr ""
"Project-Id-Version: ManaPlus\n"
"Report-Msgid-Bugs-To: akaras@inbox.ru\n"
-"POT-Creation-Date: 2011-10-28 03:52+0300\n"
-"PO-Revision-Date: 2011-10-28 00:55+0000\n"
+"POT-Creation-Date: 2011-11-12 00:23+0300\n"
+"PO-Revision-Date: 2011-11-11 21:38+0000\n"
"Last-Translator: akaras <akaras@inbox.ru>\n"
-"Language-Team: Indonesian (http://www.transifex.net/projects/p/manaplus/team/"
-"id/)\n"
-"Language: id\n"
+"Language-Team: Indonesian (http://www.transifex.net/projects/p/manaplus/team/id/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Language: id\n"
"Plural-Forms: nplurals=1; plural=0\n"
#: src/actorspritemanager.cpp:1171
msgid "Visible on map"
msgstr "Terlihat di peta"
-#: src/being.cpp:548
+#: src/being.cpp:551
msgid "dodge"
msgstr "Menghindar"
-#: src/being.cpp:548
+#: src/being.cpp:551
msgid "miss"
msgstr "Luput"
#. TRANSLATORS: this away status writed in player nick
-#: src/being.cpp:1527
+#: src/being.cpp:1530
msgid "A"
msgstr "A"
#. TRANSLATORS: this inactive status writed in player nick
-#: src/being.cpp:1532
+#: src/being.cpp:1535
msgid "I"
msgstr "l"
-#: src/client.cpp:835 src/gui/setup.cpp:54 src/gui/windowmenu.cpp:100
+#: src/client.cpp:869 src/gui/setup.cpp:54 src/gui/windowmenu.cpp:100
msgid "Setup"
msgstr "Pengaturan"
-#: src/client.cpp:842 src/gui/setup_perfomance.cpp:48
+#: src/client.cpp:876 src/gui/setup_perfomance.cpp:48
msgid "Perfomance"
msgstr ""
-#: src/client.cpp:847 src/gui/setup_video.cpp:315
+#: src/client.cpp:881 src/gui/setup_video.cpp:315
msgid "Video"
msgstr "Video"
-#: src/client.cpp:852
+#: src/client.cpp:886
msgid "Themes"
msgstr ""
-#: src/client.cpp:934
+#: src/client.cpp:968
msgid "Connecting to server"
msgstr "Terhubung dengan server"
-#: src/client.cpp:965
+#: src/client.cpp:999
msgid "Logging in"
msgstr "Masuk"
-#: src/client.cpp:998
+#: src/client.cpp:1032
msgid "Entering game world"
msgstr "Memasuki arena permainan"
-#: src/client.cpp:1098
+#: src/client.cpp:1132
msgid "Requesting characters"
msgstr "Pemilihan karakter"
-#: src/client.cpp:1129
+#: src/client.cpp:1163
msgid "Connecting to the game server"
msgstr "terhubung dengan server"
-#: src/client.cpp:1139
+#: src/client.cpp:1173
msgid "Changing game servers"
msgstr "Pergantian server"
-#: src/client.cpp:1182 src/client.cpp:1189 src/client.cpp:1323
+#: src/client.cpp:1216 src/client.cpp:1223 src/client.cpp:1357
#: src/gui/changeemaildialog.cpp:157 src/gui/changepassworddialog.cpp:147
#: src/gui/charcreatedialog.cpp:221 src/gui/charselectdialog.cpp:253
#: src/gui/register.cpp:228 src/gui/serverdialog.cpp:401
@@ -93,224 +92,227 @@ msgstr "Pergantian server"
msgid "Error"
msgstr "Kesalahan"
-#: src/client.cpp:1198
+#: src/client.cpp:1232
msgid "Requesting registration details"
msgstr "Meminta detail registrasi"
-#: src/client.cpp:1224
+#: src/client.cpp:1258
msgid "Password Change"
msgstr "Ubah sandi"
-#: src/client.cpp:1225
+#: src/client.cpp:1259
msgid "Password changed successfully!"
msgstr "Perubahan sandi berhasil"
-#: src/client.cpp:1244
+#: src/client.cpp:1278
msgid "Email Change"
msgstr "Perubahan email"
-#: src/client.cpp:1245
+#: src/client.cpp:1279
msgid "Email changed successfully!"
msgstr "Perubahan email berhasil"
-#: src/client.cpp:1265
+#: src/client.cpp:1299
msgid "Unregister Successful"
msgstr "Telah tidak terdaftar"
-#: src/client.cpp:1266
+#: src/client.cpp:1300
msgid "Farewell, come back any time..."
msgstr "Selamat tinggal, datang kembali setiap saat"
-#: src/client.cpp:1465 src/client.cpp:1495 src/client.cpp:1510
-#: src/client.cpp:1935 src/client.cpp:1942
+#: src/client.cpp:1499 src/client.cpp:1529 src/client.cpp:1544
+#: src/client.cpp:1969 src/client.cpp:1976
#, c-format
msgid "%s doesn't exist and can't be created! Exiting."
msgstr "%s tidak ada dan tidak dapat dibuat!keluar."
-#: src/client.cpp:1641
+#: src/client.cpp:1675
#, c-format
msgid "Invalid update host: %s"
msgstr "Gagal mengupdate host: %s"
-#: src/client.cpp:1675 src/client.cpp:1681
+#: src/client.cpp:1709 src/client.cpp:1715
msgid "Error creating updates directory!"
msgstr "Gagal membuat direktori update!"
-#: src/client.cpp:1702
+#: src/client.cpp:1736
#, c-format
msgid "Error: %s doesn't exist and can't be created! Exiting."
msgstr "kesalahan %s tidak ada dan tidak dapat dibuat!keluar."
-#: src/commandhandler.cpp:205
+#: src/commandhandler.cpp:209
msgid "Unknown command."
msgstr "Perintah tidak dikenal."
-#: src/commandhandler.cpp:304
+#: src/commandhandler.cpp:329
msgid "Cannot send empty whispers!"
msgstr "Tidak dapat mengirimkan pesan tanpa nama"
-#: src/commandhandler.cpp:318
+#: src/commandhandler.cpp:343
#, c-format
msgid ""
-"Cannot create a whisper tab for nick \"%s\"! It either already exists, or is "
-"you."
+"Cannot create a whisper tab for nick \"%s\"! It either already exists, or is"
+" you."
msgstr ""
"Tidak dapat membuat kolom whisper baru untuk nama \"%s\"! nama telah ada, "
"atau nama anda sendiri"
-#: src/commandhandler.cpp:338
+#: src/commandhandler.cpp:363
#, c-format
msgid "Requesting to join channel %s."
msgstr "Meminta untuk masuk ke channel %s."
-#: src/commandhandler.cpp:354 src/net/ea/gui/partytab.cpp:125
+#: src/commandhandler.cpp:379 src/net/ea/gui/partytab.cpp:125
msgid "Party name is missing."
msgstr "Nama kelompok tidak dapat di temukan"
-#: src/commandhandler.cpp:365
+#: src/commandhandler.cpp:390
msgid "Guild name is missing."
msgstr "Nama organisasi tidak ditemukan."
-#: src/commandhandler.cpp:378 src/commandhandler.cpp:496
-#: src/commandhandler.cpp:537 src/commandhandler.cpp:572
+#: src/commandhandler.cpp:403 src/commandhandler.cpp:521
+#: src/commandhandler.cpp:562 src/commandhandler.cpp:602
msgid "Please specify a name."
msgstr "Tetapkan sebuah nama"
-#: src/commandhandler.cpp:430
+#: src/commandhandler.cpp:455
msgid "Return toggles chat."
msgstr "Kembalikan pengalihan obrolan"
-#: src/commandhandler.cpp:430
+#: src/commandhandler.cpp:455
msgid "Message closes chat."
msgstr "Tutup pesan obrolan"
-#: src/commandhandler.cpp:441
+#: src/commandhandler.cpp:466
msgid "Return now toggles chat."
msgstr "Kembalikan sekarang pengalihan obrolan"
-#: src/commandhandler.cpp:447
+#: src/commandhandler.cpp:472
msgid "Message now closes chat."
msgstr "Pesan menutup obrolan"
-#: src/commandhandler.cpp:475
+#: src/commandhandler.cpp:500
msgid "friend"
msgstr "Teman"
-#: src/commandhandler.cpp:480
+#: src/commandhandler.cpp:505
msgid "disregarded"
msgstr "Diabaikan"
-#: src/commandhandler.cpp:485
+#: src/commandhandler.cpp:510
msgid "neutral"
msgstr "netral"
-#: src/commandhandler.cpp:504
+#: src/commandhandler.cpp:529
#, c-format
msgid "Player already %s!"
msgstr "Pemain telah %s!"
-#: src/commandhandler.cpp:518
+#: src/commandhandler.cpp:543
#, c-format
msgid "Player successfully %s!"
msgstr "Pemain telah berhasil %s!"
-#: src/commandhandler.cpp:526
+#: src/commandhandler.cpp:551
#, c-format
msgid "Player could not be %s!"
msgstr "Pemain tidak bisa %s!"
-#: src/commandhandler.cpp:549
+#: src/commandhandler.cpp:574
msgid "Player wasn't ignored!"
msgstr "Pemain tidak diabaikan!"
-#: src/commandhandler.cpp:556
+#: src/commandhandler.cpp:581
msgid "Player no longer ignored!"
msgstr "Pemain tidak lagi diabaikan!"
-#: src/commandhandler.cpp:558
+#: src/commandhandler.cpp:583
msgid "Player could not be unignored!"
msgstr "Pemain tidak dapat diabaikan"
-#: src/commandhandler.cpp:564
+#: src/commandhandler.cpp:589
msgid "blacklisted"
msgstr ""
-#: src/commandhandler.cpp:579
+#: src/commandhandler.cpp:594
+msgid "enemy"
+msgstr ""
+
+#: src/commandhandler.cpp:609
msgid "Player already erased!"
msgstr "Pemain telah terhapus"
-#: src/commandhandler.cpp:590
+#: src/commandhandler.cpp:620
msgid "Player successfully erased!"
msgstr "Pemain telah berhasil dihapus"
-#: src/commandhandler.cpp:592
+#: src/commandhandler.cpp:622
msgid "Player could not be erased!"
msgstr "Pemain tidak dapat dihapus"
-#: src/commandhandler.cpp:892 src/commandhandler.cpp:938
+#: src/commandhandler.cpp:929 src/commandhandler.cpp:975
#, c-format
msgid "Client uptime: %s"
msgstr ""
-#: src/commandhandler.cpp:902
+#: src/commandhandler.cpp:939
#, c-format
msgid "%d week"
msgid_plural "%d weeks"
msgstr[0] ""
-#: src/commandhandler.cpp:911
+#: src/commandhandler.cpp:948
#, c-format
msgid "%d day"
msgid_plural "%d days"
msgstr[0] ""
-#: src/commandhandler.cpp:919
+#: src/commandhandler.cpp:956
#, c-format
msgid "%d hour"
msgid_plural "%d hours"
msgstr[0] ""
-#: src/commandhandler.cpp:927
+#: src/commandhandler.cpp:964
#, c-format
msgid "%d minute"
msgid_plural "%d minutes"
msgstr[0] ""
-#: src/commandhandler.cpp:935
+#: src/commandhandler.cpp:972
#, c-format
msgid "%d second"
msgid_plural "%d seconds"
msgstr[0] ""
-#: src/commandhandler.cpp:1014
+#: src/commandhandler.cpp:1051
msgid "font cache size"
msgstr "Ukuran jenis huruf cache"
-#: src/commandhandler.cpp:1026
+#: src/commandhandler.cpp:1063
msgid "Cache size:"
msgstr "Ukuran Cache:"
-#: src/commandhandler.cpp:1030
+#: src/commandhandler.cpp:1067
msgid "Created:"
msgstr "Buat"
-#: src/commandhandler.cpp:1032
+#: src/commandhandler.cpp:1069
msgid "Deleted:"
msgstr "Hapus"
-#: src/commandhandler.cpp:1133 src/commandhandler.cpp:1140
+#: src/commandhandler.cpp:1171 src/commandhandler.cpp:1178
msgid "Resource images:"
msgstr "Sumber gambar"
-#: src/commandhandler.cpp:1135 src/commandhandler.cpp:1142
+#: src/commandhandler.cpp:1173 src/commandhandler.cpp:1180
msgid "Resource orphaned images:"
msgstr ""
#: src/commandhandler.h:40
#, c-format
msgid "Options to /%s are \"yes\", \"no\", \"true\", \"false\", \"1\", \"0\"."
-msgstr ""
-"Pilihan untuk /%s adalah \"ya\", \"tidak\", \"benar\",\"salah\", \"1\",\"0\"."
+msgstr "Pilihan untuk /%s adalah \"ya\", \"tidak\", \"benar\",\"salah\", \"1\",\"0\"."
#: src/game.cpp:252 src/gui/widgets/chattab.cpp:403
msgid "General"
@@ -320,35 +322,35 @@ msgstr "Umum"
msgid "Debug"
msgstr "Debug"
-#: src/game.cpp:513
+#: src/game.cpp:506
msgid "Screenshot saved as "
msgstr "Screenshot disimpan sebagai"
-#: src/game.cpp:521
+#: src/game.cpp:514
msgid "Saving screenshot failed!"
msgstr "Gagal menyimpan screenshot!"
-#: src/game.cpp:560
+#: src/game.cpp:554
msgid "The connection to the server was lost."
msgstr "Koneksi ke server terputus"
-#: src/game.cpp:572
+#: src/game.cpp:557
msgid "Network Error"
msgstr "Kesalahan jaringan"
-#: src/game.cpp:1322
+#: src/game.cpp:1332
msgid "Ignoring incoming trade requests"
msgstr "Abaikan permohonan transaksi"
-#: src/game.cpp:1332
+#: src/game.cpp:1342
msgid "Accepting incoming trade requests"
msgstr "Terima permohonan transaksi"
-#: src/game.cpp:1732
+#: src/game.cpp:1750
msgid "Could Not Load Map"
msgstr "Tidak dapat menampilkan peta"
-#: src/game.cpp:1733
+#: src/game.cpp:1751
#, c-format
msgid "Error while loading %s"
msgstr "Error ketika menunggu %s"
@@ -382,19 +384,19 @@ msgid "Name"
msgstr "Nama"
#: src/gui/botcheckerwindow.cpp:297 src/gui/popupmenu.cpp:133
-#: src/gui/popupmenu.cpp:292 src/gui/popupmenu.cpp:614
+#: src/gui/popupmenu.cpp:303 src/gui/popupmenu.cpp:636
#: src/keyboardconfig.cpp:49 src/net/tmwa/generalhandler.cpp:269
msgid "Attack"
msgstr "Pukul"
-#: src/gui/botcheckerwindow.cpp:298 src/gui/popupmenu.cpp:281
+#: src/gui/botcheckerwindow.cpp:298 src/gui/popupmenu.cpp:292
#: src/keyboardconfig.cpp:62
msgid "Talk"
msgstr "Berbicara"
-#: src/gui/botcheckerwindow.cpp:299 src/gui/popupmenu.cpp:253
-#: src/gui/popupmenu.cpp:285 src/gui/popupmenu.cpp:437
-#: src/gui/popupmenu.cpp:669 src/gui/popupmenu.cpp:756
+#: src/gui/botcheckerwindow.cpp:299 src/gui/popupmenu.cpp:264
+#: src/gui/popupmenu.cpp:296 src/gui/popupmenu.cpp:459
+#: src/gui/popupmenu.cpp:702 src/gui/popupmenu.cpp:789
msgid "Move"
msgstr "Jalan"
@@ -407,8 +409,8 @@ msgid "Reset"
msgstr "Reset"
#: src/gui/buydialog.cpp:58 src/gui/buydialog.cpp:65 src/gui/buydialog.cpp:112
-#: src/gui/buyselldialog.cpp:65 src/gui/popupmenu.cpp:265
-#: src/gui/popupmenu.cpp:282 src/gui/popupmenu.cpp:681
+#: src/gui/buyselldialog.cpp:65 src/gui/popupmenu.cpp:276
+#: src/gui/popupmenu.cpp:293 src/gui/popupmenu.cpp:714
msgid "Buy"
msgstr "Beli"
@@ -426,7 +428,7 @@ msgstr ""
#. You may change this symbol if your language uses another.
#: src/gui/buydialog.cpp:108 src/gui/itemamountwindow.cpp:207
#: src/gui/itemamountwindow.cpp:235 src/gui/npcdialog.cpp:114
-#: src/gui/selldialog.cpp:91 src/gui/statuswindow.cpp:977
+#: src/gui/selldialog.cpp:91 src/gui/statuswindow.cpp:998
msgid "+"
msgstr "+"
@@ -434,7 +436,7 @@ msgstr "+"
#. You may change this symbol if your language uses another.
#: src/gui/buydialog.cpp:111 src/gui/itemamountwindow.cpp:206
#: src/gui/itemamountwindow.cpp:234 src/gui/npcdialog.cpp:115
-#: src/gui/selldialog.cpp:92 src/gui/statuswindow.cpp:989
+#: src/gui/selldialog.cpp:92 src/gui/statuswindow.cpp:1010
msgid "-"
msgstr "-"
@@ -446,8 +448,8 @@ msgid "Quit"
msgstr "Keluar"
#: src/gui/buydialog.cpp:114 src/gui/selldialog.cpp:95
-#: src/gui/statuswindow.cpp:504 src/gui/statuswindow.cpp:554
-#: src/gui/statuswindow.cpp:976 src/gui/statuswindow.cpp:1007
+#: src/gui/statuswindow.cpp:505 src/gui/statuswindow.cpp:555
+#: src/gui/statuswindow.cpp:997 src/gui/statuswindow.cpp:1028
msgid "Max"
msgstr "Max"
@@ -456,8 +458,8 @@ msgstr "Max"
msgid "Shop"
msgstr "Toko"
-#: src/gui/buyselldialog.cpp:65 src/gui/popupmenu.cpp:266
-#: src/gui/popupmenu.cpp:283 src/gui/popupmenu.cpp:682
+#: src/gui/buyselldialog.cpp:65 src/gui/popupmenu.cpp:277
+#: src/gui/popupmenu.cpp:294 src/gui/popupmenu.cpp:715
#: src/gui/selldialog.cpp:53 src/gui/selldialog.cpp:60
#: src/gui/selldialog.cpp:93
msgid "Sell"
@@ -466,15 +468,15 @@ msgstr "Jual"
#: src/gui/buyselldialog.cpp:65 src/gui/changeemaildialog.cpp:59
#: src/gui/changepassworddialog.cpp:61 src/gui/charcreatedialog.cpp:96
#: src/gui/connectiondialog.cpp:47 src/gui/itemamountwindow.cpp:209
-#: src/gui/npcpostdialog.cpp:58 src/gui/popupmenu.cpp:333
-#: src/gui/popupmenu.cpp:354 src/gui/popupmenu.cpp:478
-#: src/gui/popupmenu.cpp:504 src/gui/popupmenu.cpp:528
-#: src/gui/popupmenu.cpp:541 src/gui/popupmenu.cpp:559
-#: src/gui/popupmenu.cpp:772 src/gui/popupmenu.cpp:796
-#: src/gui/popupmenu.cpp:1732 src/gui/popupmenu.cpp:1760
-#: src/gui/popupmenu.cpp:1816 src/gui/popupmenu.cpp:1861
-#: src/gui/popupmenu.cpp:1896 src/gui/popupmenu.cpp:1935
-#: src/gui/popupmenu.cpp:1987 src/gui/popupmenu.cpp:2007
+#: src/gui/npcpostdialog.cpp:58 src/gui/popupmenu.cpp:344
+#: src/gui/popupmenu.cpp:365 src/gui/popupmenu.cpp:500
+#: src/gui/popupmenu.cpp:526 src/gui/popupmenu.cpp:550
+#: src/gui/popupmenu.cpp:563 src/gui/popupmenu.cpp:581
+#: src/gui/popupmenu.cpp:805 src/gui/popupmenu.cpp:829
+#: src/gui/popupmenu.cpp:1775 src/gui/popupmenu.cpp:1803
+#: src/gui/popupmenu.cpp:1859 src/gui/popupmenu.cpp:1904
+#: src/gui/popupmenu.cpp:1939 src/gui/popupmenu.cpp:1978
+#: src/gui/popupmenu.cpp:2030 src/gui/popupmenu.cpp:2050
#: src/gui/quitdialog.cpp:55 src/gui/register.cpp:82 src/gui/setup.cpp:72
#: src/gui/socialwindow.cpp:1077 src/gui/textcommandeditor.cpp:241
#: src/gui/textdialog.cpp:51 src/gui/unregisterdialog.cpp:59
@@ -645,7 +647,7 @@ msgid "Enter password:"
msgstr "Masukkan sandi"
#: src/gui/charselectdialog.cpp:410 src/gui/serverdialog.cpp:298
-#: src/gui/setup_relations.cpp:243 src/gui/shopwindow.cpp:122
+#: src/gui/setup_relations.cpp:244 src/gui/shopwindow.cpp:122
#: src/gui/shopwindow.cpp:125 src/gui/textcommandeditor.cpp:244
msgid "Delete"
msgstr "Hapus"
@@ -721,8 +723,9 @@ msgstr "pelangi 3"
#: src/gui/chatwindow.cpp:142 src/gui/inventorywindow.cpp:90
#: src/gui/itemamountwindow.cpp:93 src/gui/logindialog.cpp:78
-#: src/gui/setup_relations.cpp:221 src/gui/setup_theme.cpp:73
-#: src/gui/setup_theme.cpp:127 src/gui/setup_video.cpp:211
+#: src/gui/setup_joystick.cpp:60 src/gui/setup_relations.cpp:222
+#: src/gui/setup_theme.cpp:74 src/gui/setup_theme.cpp:128
+#: src/gui/setup_theme.cpp:173 src/gui/setup_video.cpp:211
#: src/gui/textcommandeditor.cpp:102 src/gui/textcommandeditor.cpp:141
#: src/gui/textcommandeditor.cpp:160
msgid "???"
@@ -732,12 +735,12 @@ msgstr "???"
msgid "Chat"
msgstr "Obrolan"
-#: src/gui/chatwindow.cpp:613
+#: src/gui/chatwindow.cpp:615
#, c-format
msgid "Present: %s; %d players are present."
msgstr "Kehadiran: %s; %d pemain yang hadir."
-#: src/gui/chatwindow.cpp:1000
+#: src/gui/chatwindow.cpp:1002
#, c-format
msgid "Whispering to %s: %s"
msgstr "Berbisik ke %s: %s"
@@ -751,10 +754,12 @@ msgid "No"
msgstr "Tidak"
#: src/gui/confirmdialog.cpp:52 src/gui/popupmenu.cpp:146
-#: src/gui/popupmenu.cpp:153 src/gui/popupmenu.cpp:161
-#: src/gui/popupmenu.cpp:380 src/gui/popupmenu.cpp:387
-#: src/gui/popupmenu.cpp:395 src/gui/popupmenu.cpp:626
-#: src/gui/popupmenu.cpp:633 src/gui/popupmenu.cpp:641
+#: src/gui/popupmenu.cpp:154 src/gui/popupmenu.cpp:163
+#: src/gui/popupmenu.cpp:171 src/gui/popupmenu.cpp:391
+#: src/gui/popupmenu.cpp:399 src/gui/popupmenu.cpp:408
+#: src/gui/popupmenu.cpp:427 src/gui/popupmenu.cpp:648
+#: src/gui/popupmenu.cpp:656 src/gui/popupmenu.cpp:665
+#: src/gui/popupmenu.cpp:679
msgid "Ignore"
msgstr "Abaikan"
@@ -900,7 +905,7 @@ msgstr "Apakah kamu tahu?"
#: src/gui/didyouknowwindow.cpp:63 src/gui/helpwindow.cpp:59
#: src/gui/inventorywindow.cpp:205 src/gui/npcdialog.cpp:53
-#: src/gui/popupmenu.cpp:574 src/gui/shopwindow.cpp:113
+#: src/gui/popupmenu.cpp:596 src/gui/shopwindow.cpp:113
msgid "Close"
msgstr "Tutup"
@@ -927,8 +932,8 @@ msgstr "Perlengkapan"
#: src/gui/equipmentwindow.cpp:95 src/gui/inventorywindow.cpp:160
#: src/gui/inventorywindow.cpp:545 src/gui/inventorywindow.cpp:554
-#: src/gui/popupmenu.cpp:1694 src/gui/popupmenu.cpp:1786
-#: src/gui/popupmenu.cpp:1831
+#: src/gui/popupmenu.cpp:1737 src/gui/popupmenu.cpp:1829
+#: src/gui/popupmenu.cpp:1874
msgid "Unequip"
msgstr "Lepaskan"
@@ -970,31 +975,31 @@ msgid "Filter:"
msgstr "Penyaring:"
#: src/gui/inventorywindow.cpp:158 src/gui/inventorywindow.cpp:547
-#: src/gui/inventorywindow.cpp:556 src/gui/popupmenu.cpp:1696
-#: src/gui/popupmenu.cpp:1788 src/gui/popupmenu.cpp:1833
+#: src/gui/inventorywindow.cpp:556 src/gui/popupmenu.cpp:1739
+#: src/gui/popupmenu.cpp:1831 src/gui/popupmenu.cpp:1876
msgid "Equip"
msgstr "Pakai"
#: src/gui/inventorywindow.cpp:159 src/gui/inventorywindow.cpp:548
-#: src/gui/inventorywindow.cpp:552 src/gui/popupmenu.cpp:1700
-#: src/gui/popupmenu.cpp:1755 src/gui/popupmenu.cpp:1792
-#: src/gui/popupmenu.cpp:1837
+#: src/gui/inventorywindow.cpp:552 src/gui/popupmenu.cpp:1743
+#: src/gui/popupmenu.cpp:1798 src/gui/popupmenu.cpp:1835
+#: src/gui/popupmenu.cpp:1880
msgid "Use"
msgstr "Gunakan"
#: src/gui/inventorywindow.cpp:173 src/gui/inventorywindow.cpp:652
-#: src/gui/popupmenu.cpp:1705 src/gui/popupmenu.cpp:1797
-#: src/gui/popupmenu.cpp:1842
+#: src/gui/popupmenu.cpp:1748 src/gui/popupmenu.cpp:1840
+#: src/gui/popupmenu.cpp:1885
msgid "Drop..."
msgstr "Buang..."
-#: src/gui/inventorywindow.cpp:174 src/gui/popupmenu.cpp:1714
-#: src/gui/popupmenu.cpp:1806 src/gui/popupmenu.cpp:1851
+#: src/gui/inventorywindow.cpp:174 src/gui/popupmenu.cpp:1757
+#: src/gui/popupmenu.cpp:1849 src/gui/popupmenu.cpp:1894
msgid "Split"
msgstr "Pecah"
#: src/gui/inventorywindow.cpp:175 src/gui/outfitwindow.cpp:60
-#: src/gui/popupmenu.cpp:537
+#: src/gui/popupmenu.cpp:559
msgid "Outfits"
msgstr "Setelan"
@@ -1003,17 +1008,17 @@ msgid "Weight:"
msgstr "Berat"
#: src/gui/inventorywindow.cpp:203 src/gui/inventorywindow.cpp:643
-#: src/gui/popupmenu.cpp:1680 src/gui/popupmenu.cpp:1809
-#: src/gui/popupmenu.cpp:1854 src/gui/setup.cpp:73
+#: src/gui/popupmenu.cpp:1723 src/gui/popupmenu.cpp:1852
+#: src/gui/popupmenu.cpp:1897 src/gui/setup.cpp:73
msgid "Store"
msgstr "Simpan"
-#: src/gui/inventorywindow.cpp:204 src/gui/popupmenu.cpp:1721
+#: src/gui/inventorywindow.cpp:204 src/gui/popupmenu.cpp:1764
msgid "Retrieve"
msgstr "Kembalikan"
-#: src/gui/inventorywindow.cpp:654 src/gui/popupmenu.cpp:1710
-#: src/gui/popupmenu.cpp:1802 src/gui/popupmenu.cpp:1847
+#: src/gui/inventorywindow.cpp:654 src/gui/popupmenu.cpp:1753
+#: src/gui/popupmenu.cpp:1845 src/gui/popupmenu.cpp:1890
#: src/gui/windowmenu.cpp:97
msgid "Drop"
msgstr "Buang"
@@ -1251,7 +1256,7 @@ msgstr "Masukan"
msgid "NPC"
msgstr "NPC"
-#: src/gui/npcdialog.cpp:108 src/gui/popupmenu.cpp:576
+#: src/gui/npcdialog.cpp:108 src/gui/popupmenu.cpp:598
msgid "Clear"
msgstr "Hapus"
@@ -1289,331 +1294,347 @@ msgstr "Copot lebih dahulu"
msgid "Away outfit"
msgstr "Setelan saat bepergian"
-#: src/gui/popupmenu.cpp:132 src/gui/popupmenu.cpp:613
+#: src/gui/popupmenu.cpp:132 src/gui/popupmenu.cpp:635
#: src/gui/widgets/tradetab.cpp:44
msgid "Trade"
msgstr "Tukar"
-#: src/gui/popupmenu.cpp:134 src/gui/popupmenu.cpp:372
+#: src/gui/popupmenu.cpp:134 src/gui/popupmenu.cpp:383
msgid "Whisper"
msgstr "Berbisik"
-#: src/gui/popupmenu.cpp:138 src/gui/popupmenu.cpp:618
+#: src/gui/popupmenu.cpp:138 src/gui/popupmenu.cpp:640
msgid "Heal"
msgstr "Menyembuhkan"
-#: src/gui/popupmenu.cpp:144 src/gui/popupmenu.cpp:378
-#: src/gui/popupmenu.cpp:624
+#: src/gui/popupmenu.cpp:144 src/gui/popupmenu.cpp:389
+#: src/gui/popupmenu.cpp:646
msgid "Be friend"
msgstr "Jadikan teman"
-#: src/gui/popupmenu.cpp:145 src/gui/popupmenu.cpp:152
-#: src/gui/popupmenu.cpp:160 src/gui/popupmenu.cpp:178
-#: src/gui/popupmenu.cpp:379 src/gui/popupmenu.cpp:386
-#: src/gui/popupmenu.cpp:394 src/gui/popupmenu.cpp:412
-#: src/gui/popupmenu.cpp:625 src/gui/popupmenu.cpp:632
-#: src/gui/popupmenu.cpp:640 src/gui/popupmenu.cpp:658
+#: src/gui/popupmenu.cpp:145 src/gui/popupmenu.cpp:153
+#: src/gui/popupmenu.cpp:162 src/gui/popupmenu.cpp:170
+#: src/gui/popupmenu.cpp:189 src/gui/popupmenu.cpp:390
+#: src/gui/popupmenu.cpp:398 src/gui/popupmenu.cpp:407
+#: src/gui/popupmenu.cpp:426 src/gui/popupmenu.cpp:434
+#: src/gui/popupmenu.cpp:647 src/gui/popupmenu.cpp:655
+#: src/gui/popupmenu.cpp:664 src/gui/popupmenu.cpp:678
+#: src/gui/popupmenu.cpp:691
msgid "Disregard"
msgstr ""
-#: src/gui/popupmenu.cpp:147 src/gui/popupmenu.cpp:154
-#: src/gui/popupmenu.cpp:381 src/gui/popupmenu.cpp:388
-#: src/gui/popupmenu.cpp:627 src/gui/popupmenu.cpp:634
+#: src/gui/popupmenu.cpp:147 src/gui/popupmenu.cpp:155
+#: src/gui/popupmenu.cpp:172 src/gui/popupmenu.cpp:392
+#: src/gui/popupmenu.cpp:400 src/gui/popupmenu.cpp:428
+#: src/gui/popupmenu.cpp:649 src/gui/popupmenu.cpp:657
+#: src/gui/popupmenu.cpp:680
msgid "Black list"
msgstr ""
-#: src/gui/popupmenu.cpp:148 src/gui/popupmenu.cpp:155
-#: src/gui/popupmenu.cpp:162 src/gui/popupmenu.cpp:168
-#: src/gui/popupmenu.cpp:173 src/gui/popupmenu.cpp:382
-#: src/gui/popupmenu.cpp:389 src/gui/popupmenu.cpp:396
-#: src/gui/popupmenu.cpp:402 src/gui/popupmenu.cpp:407
-#: src/gui/popupmenu.cpp:628 src/gui/popupmenu.cpp:635
-#: src/gui/popupmenu.cpp:642 src/gui/popupmenu.cpp:648
-#: src/gui/popupmenu.cpp:653
+#: src/gui/popupmenu.cpp:148 src/gui/popupmenu.cpp:156
+#: src/gui/popupmenu.cpp:164 src/gui/popupmenu.cpp:393
+#: src/gui/popupmenu.cpp:401 src/gui/popupmenu.cpp:409
+#: src/gui/popupmenu.cpp:650 src/gui/popupmenu.cpp:658
+#: src/gui/popupmenu.cpp:666
+msgid "Set as enemy"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:149 src/gui/popupmenu.cpp:157
+#: src/gui/popupmenu.cpp:165 src/gui/popupmenu.cpp:173
+#: src/gui/popupmenu.cpp:179 src/gui/popupmenu.cpp:184
+#: src/gui/popupmenu.cpp:394 src/gui/popupmenu.cpp:402
+#: src/gui/popupmenu.cpp:410 src/gui/popupmenu.cpp:416
+#: src/gui/popupmenu.cpp:421 src/gui/popupmenu.cpp:429
+#: src/gui/popupmenu.cpp:651 src/gui/popupmenu.cpp:659
+#: src/gui/popupmenu.cpp:667 src/gui/popupmenu.cpp:673
+#: src/gui/popupmenu.cpp:681 src/gui/popupmenu.cpp:686
msgid "Erase"
msgstr "Hapus"
-#: src/gui/popupmenu.cpp:159 src/gui/popupmenu.cpp:166
-#: src/gui/popupmenu.cpp:172 src/gui/popupmenu.cpp:177
-#: src/gui/popupmenu.cpp:393 src/gui/popupmenu.cpp:400
-#: src/gui/popupmenu.cpp:406 src/gui/popupmenu.cpp:411
-#: src/gui/popupmenu.cpp:639 src/gui/popupmenu.cpp:646
-#: src/gui/popupmenu.cpp:652 src/gui/popupmenu.cpp:657
+#: src/gui/popupmenu.cpp:161 src/gui/popupmenu.cpp:169
+#: src/gui/popupmenu.cpp:177 src/gui/popupmenu.cpp:183
+#: src/gui/popupmenu.cpp:188 src/gui/popupmenu.cpp:406
+#: src/gui/popupmenu.cpp:414 src/gui/popupmenu.cpp:420
+#: src/gui/popupmenu.cpp:425 src/gui/popupmenu.cpp:433
+#: src/gui/popupmenu.cpp:663 src/gui/popupmenu.cpp:671
+#: src/gui/popupmenu.cpp:677 src/gui/popupmenu.cpp:685
+#: src/gui/popupmenu.cpp:690
msgid "Unignore"
msgstr "Batalkan pengabaian"
-#: src/gui/popupmenu.cpp:167 src/gui/popupmenu.cpp:179
-#: src/gui/popupmenu.cpp:401 src/gui/popupmenu.cpp:413
-#: src/gui/popupmenu.cpp:647 src/gui/popupmenu.cpp:659
-#: src/playerrelations.cpp:421
+#: src/gui/popupmenu.cpp:178 src/gui/popupmenu.cpp:190
+#: src/gui/popupmenu.cpp:415 src/gui/popupmenu.cpp:435
+#: src/gui/popupmenu.cpp:672 src/gui/popupmenu.cpp:692
+#: src/playerrelations.cpp:446
msgid "Completely ignore"
msgstr ""
-#: src/gui/popupmenu.cpp:187 src/gui/popupmenu.cpp:421
-#: src/gui/popupmenu.cpp:667 src/gui/popupmenu.cpp:746
+#: src/gui/popupmenu.cpp:198 src/gui/popupmenu.cpp:443
+#: src/gui/popupmenu.cpp:700 src/gui/popupmenu.cpp:779
msgid "Follow"
msgstr "Mengikuti"
-#: src/gui/popupmenu.cpp:188 src/gui/popupmenu.cpp:422
-#: src/gui/popupmenu.cpp:668 src/gui/popupmenu.cpp:747
+#: src/gui/popupmenu.cpp:199 src/gui/popupmenu.cpp:444
+#: src/gui/popupmenu.cpp:701 src/gui/popupmenu.cpp:780
msgid "Imitation"
msgstr "Tirukan"
-#: src/gui/popupmenu.cpp:197 src/gui/popupmenu.cpp:700
+#: src/gui/popupmenu.cpp:208 src/gui/popupmenu.cpp:733
msgid "Invite to party"
msgstr "Undang ke kelompok"
-#: src/gui/popupmenu.cpp:202 src/gui/popupmenu.cpp:433
-#: src/gui/popupmenu.cpp:705
+#: src/gui/popupmenu.cpp:213 src/gui/popupmenu.cpp:455
+#: src/gui/popupmenu.cpp:738
msgid "Kick from party"
msgstr "Keluarkan dari kelompok"
-#: src/gui/popupmenu.cpp:217 src/gui/popupmenu.cpp:229
-#: src/gui/popupmenu.cpp:450 src/gui/popupmenu.cpp:722
+#: src/gui/popupmenu.cpp:228 src/gui/popupmenu.cpp:240
+#: src/gui/popupmenu.cpp:472 src/gui/popupmenu.cpp:755
msgid "Kick from guild"
msgstr "Keluarkan dari organisasi"
-#: src/gui/popupmenu.cpp:222 src/gui/popupmenu.cpp:234
-#: src/gui/popupmenu.cpp:455 src/gui/popupmenu.cpp:727
+#: src/gui/popupmenu.cpp:233 src/gui/popupmenu.cpp:245
+#: src/gui/popupmenu.cpp:477 src/gui/popupmenu.cpp:760
msgid "Change pos in guild"
msgstr "Ubah posisi di organisasi"
-#: src/gui/popupmenu.cpp:242 src/gui/popupmenu.cpp:463
-#: src/gui/popupmenu.cpp:736
+#: src/gui/popupmenu.cpp:253 src/gui/popupmenu.cpp:485
+#: src/gui/popupmenu.cpp:769
msgid "Invite to guild"
msgstr "Undang ke organisasi"
-#: src/gui/popupmenu.cpp:250
+#: src/gui/popupmenu.cpp:261
msgid "Kick player"
msgstr "keluarkan pemain"
-#: src/gui/popupmenu.cpp:252
+#: src/gui/popupmenu.cpp:263
msgid "Nuke"
msgstr "Sembunyikan"
-#: src/gui/popupmenu.cpp:254 src/gui/popupmenu.cpp:670
-#: src/gui/popupmenu.cpp:759
+#: src/gui/popupmenu.cpp:265 src/gui/popupmenu.cpp:703
+#: src/gui/popupmenu.cpp:792
msgid "Show Items"
msgstr "Perlihatkan item"
-#: src/gui/popupmenu.cpp:255 src/gui/popupmenu.cpp:671
-#: src/gui/popupmenu.cpp:760 src/gui/popupmenu.cpp:2004
+#: src/gui/popupmenu.cpp:266 src/gui/popupmenu.cpp:704
+#: src/gui/popupmenu.cpp:793 src/gui/popupmenu.cpp:2047
msgid "Undress"
msgstr "Tanggalkan pakaian"
-#: src/gui/popupmenu.cpp:256 src/gui/popupmenu.cpp:286
-#: src/gui/popupmenu.cpp:423 src/gui/popupmenu.cpp:672
-#: src/gui/popupmenu.cpp:761
+#: src/gui/popupmenu.cpp:267 src/gui/popupmenu.cpp:297
+#: src/gui/popupmenu.cpp:445 src/gui/popupmenu.cpp:705
+#: src/gui/popupmenu.cpp:794
msgid "Add comment"
msgstr "Penambahan komentar"
-#: src/gui/popupmenu.cpp:271 src/gui/popupmenu.cpp:471
-#: src/gui/popupmenu.cpp:687 src/gui/popupmenu.cpp:766
+#: src/gui/popupmenu.cpp:282 src/gui/popupmenu.cpp:493
+#: src/gui/popupmenu.cpp:720 src/gui/popupmenu.cpp:799
msgid "Buy (?)"
msgstr "Beli(?)"
-#: src/gui/popupmenu.cpp:272 src/gui/popupmenu.cpp:472
-#: src/gui/popupmenu.cpp:688 src/gui/popupmenu.cpp:767
+#: src/gui/popupmenu.cpp:283 src/gui/popupmenu.cpp:494
+#: src/gui/popupmenu.cpp:721 src/gui/popupmenu.cpp:800
msgid "Sell (?)"
msgstr "Jual(?)"
-#: src/gui/popupmenu.cpp:297
+#: src/gui/popupmenu.cpp:308
msgid "Kick"
msgstr "keluarkan"
-#: src/gui/popupmenu.cpp:308
+#: src/gui/popupmenu.cpp:319
msgid "Remove from attack list"
msgstr "Hapus dari daftar menyerang"
-#: src/gui/popupmenu.cpp:313
+#: src/gui/popupmenu.cpp:324
msgid "Add to priority attack list"
msgstr "Tambahkan prioritas daftar menyerang"
-#: src/gui/popupmenu.cpp:315
+#: src/gui/popupmenu.cpp:326
msgid "Add to attack list"
msgstr "Tambahkan ke daftar menyerang"
-#: src/gui/popupmenu.cpp:317
+#: src/gui/popupmenu.cpp:328
msgid "Add to ignore list"
msgstr "Tambahkan ke daftar Abaikan"
-#: src/gui/popupmenu.cpp:330 src/gui/popupmenu.cpp:475
+#: src/gui/popupmenu.cpp:341 src/gui/popupmenu.cpp:497
msgid "Add name to chat"
msgstr "Tambahkan nama ke Obrolan"
-#: src/gui/popupmenu.cpp:500
+#: src/gui/popupmenu.cpp:522
msgid "Pick up"
msgstr "Ambil"
-#: src/gui/popupmenu.cpp:501 src/gui/popupmenu.cpp:1730
-#: src/gui/popupmenu.cpp:1810 src/gui/popupmenu.cpp:1855
+#: src/gui/popupmenu.cpp:523 src/gui/popupmenu.cpp:1773
+#: src/gui/popupmenu.cpp:1853 src/gui/popupmenu.cpp:1898
msgid "Add to chat"
msgstr "Ambil ke obrolan"
-#: src/gui/popupmenu.cpp:518
+#: src/gui/popupmenu.cpp:540
msgid "Map Item"
msgstr "Daftar barang"
-#: src/gui/popupmenu.cpp:519
+#: src/gui/popupmenu.cpp:541
msgid "Rename"
msgstr "Ganti nama"
-#: src/gui/popupmenu.cpp:520 src/gui/popupmenu.cpp:1965
-#: src/gui/popupmenu.cpp:1976 src/gui/popupmenu.cpp:1980
+#: src/gui/popupmenu.cpp:542 src/gui/popupmenu.cpp:2008
+#: src/gui/popupmenu.cpp:2019 src/gui/popupmenu.cpp:2023
msgid "Remove"
msgstr "Hapus"
-#: src/gui/popupmenu.cpp:525
+#: src/gui/popupmenu.cpp:547
msgid "Warp"
msgstr ""
-#: src/gui/popupmenu.cpp:538
+#: src/gui/popupmenu.cpp:560
msgid "Load old outfits"
msgstr "Memuat setelan lama"
-#: src/gui/popupmenu.cpp:554 src/gui/windowmenu.cpp:96
+#: src/gui/popupmenu.cpp:576 src/gui/windowmenu.cpp:96
msgid "Spells"
msgstr "Mantra"
-#: src/gui/popupmenu.cpp:555
+#: src/gui/popupmenu.cpp:577
msgid "Load old spells"
msgstr "Memuat mantra lama"
-#: src/gui/popupmenu.cpp:556
+#: src/gui/popupmenu.cpp:578
msgid "Edit spell"
msgstr "Edit mantra"
-#: src/gui/popupmenu.cpp:580
+#: src/gui/popupmenu.cpp:602
msgid "Disable highlight"
msgstr "Nonaktifkan sorotan"
-#: src/gui/popupmenu.cpp:582
+#: src/gui/popupmenu.cpp:604
msgid "Enable highlight"
msgstr "Aktifkan sorotan"
-#: src/gui/popupmenu.cpp:584
+#: src/gui/popupmenu.cpp:606
msgid "Don't remove name"
msgstr ""
-#: src/gui/popupmenu.cpp:586
+#: src/gui/popupmenu.cpp:608
msgid "Remove name"
msgstr "hapus nama"
-#: src/gui/popupmenu.cpp:588
+#: src/gui/popupmenu.cpp:610
msgid "Enable away"
msgstr ""
-#: src/gui/popupmenu.cpp:590
+#: src/gui/popupmenu.cpp:612
msgid "Disable away"
msgstr ""
-#: src/gui/popupmenu.cpp:595 src/gui/socialwindow.cpp:1141
+#: src/gui/popupmenu.cpp:617 src/gui/socialwindow.cpp:1141
msgid "Leave"
msgstr ""
-#: src/gui/popupmenu.cpp:780
+#: src/gui/popupmenu.cpp:813
msgid "Change guild position"
msgstr "Ubah posisi Organisasi"
#. TRANSLATORS: number of chars in string should be near original
-#: src/gui/popupmenu.cpp:1243
+#: src/gui/popupmenu.cpp:1286
msgid "Rename map sign "
msgstr "Ubah nama tanda peta"
#. TRANSLATORS: number of chars in string should be near original
-#: src/gui/popupmenu.cpp:1245
+#: src/gui/popupmenu.cpp:1288
msgid "Name: "
msgstr "Nama:"
#. TRANSLATORS: number of chars in string should be near original
-#: src/gui/popupmenu.cpp:1295
+#: src/gui/popupmenu.cpp:1338
msgid "Player comment "
msgstr "Komentar pemain"
#. TRANSLATORS: number of chars in string should be near original
-#: src/gui/popupmenu.cpp:1297
+#: src/gui/popupmenu.cpp:1340
msgid "Comment: "
msgstr "komentar"
-#: src/gui/popupmenu.cpp:1668
+#: src/gui/popupmenu.cpp:1711
msgid "Add to trade"
msgstr ""
-#: src/gui/popupmenu.cpp:1672
+#: src/gui/popupmenu.cpp:1715
msgid "Add to trade 10"
msgstr ""
-#: src/gui/popupmenu.cpp:1673
+#: src/gui/popupmenu.cpp:1716
msgid "Add to trade half"
msgstr ""
-#: src/gui/popupmenu.cpp:1674
+#: src/gui/popupmenu.cpp:1717
msgid "Add to trade all"
msgstr "Tambahkan semua ke Penukaran"
-#: src/gui/popupmenu.cpp:1684
+#: src/gui/popupmenu.cpp:1727
msgid "Store 10"
msgstr "Masukkan 10"
-#: src/gui/popupmenu.cpp:1685
+#: src/gui/popupmenu.cpp:1728
msgid "Store half"
msgstr "Masukkan setengah"
-#: src/gui/popupmenu.cpp:1686
+#: src/gui/popupmenu.cpp:1729
msgid "Store all"
msgstr "Masukkan semua"
-#: src/gui/popupmenu.cpp:1706 src/gui/popupmenu.cpp:1798
-#: src/gui/popupmenu.cpp:1843
+#: src/gui/popupmenu.cpp:1749 src/gui/popupmenu.cpp:1841
+#: src/gui/popupmenu.cpp:1886
msgid "Drop all"
msgstr "Buang semuanya"
-#: src/gui/popupmenu.cpp:1725
+#: src/gui/popupmenu.cpp:1768
msgid "Retrieve 10"
msgstr "Ambil 10"
-#: src/gui/popupmenu.cpp:1726
+#: src/gui/popupmenu.cpp:1769
msgid "Retrieve half"
msgstr "Ambil setengah"
-#: src/gui/popupmenu.cpp:1727
+#: src/gui/popupmenu.cpp:1770
msgid "Retrieve all"
msgstr "Ambil semua"
-#: src/gui/popupmenu.cpp:1758 src/gui/popupmenu.cpp:1814
+#: src/gui/popupmenu.cpp:1801 src/gui/popupmenu.cpp:1857
msgid "Load old item shortcuts"
msgstr "Muat jalan pintas iItem lama"
-#: src/gui/popupmenu.cpp:1859
+#: src/gui/popupmenu.cpp:1902
msgid "Load old drop shortcuts"
msgstr "Muat jalan pintas Buang yang lama"
-#: src/gui/popupmenu.cpp:1885 src/gui/popupmenu.cpp:1920
+#: src/gui/popupmenu.cpp:1928 src/gui/popupmenu.cpp:1963
msgid "Hide"
msgstr "Sembunyikan"
-#: src/gui/popupmenu.cpp:1891 src/gui/popupmenu.cpp:1926
+#: src/gui/popupmenu.cpp:1934 src/gui/popupmenu.cpp:1969
msgid "Show"
msgstr "Tampilkan"
-#: src/gui/popupmenu.cpp:1932
+#: src/gui/popupmenu.cpp:1975
msgid "Reset yellow bar"
msgstr "Atur ulang bar kuning"
-#: src/gui/popupmenu.cpp:1934 src/gui/statuswindow.cpp:241
+#: src/gui/popupmenu.cpp:1977 src/gui/statuswindow.cpp:242
msgid "Copy to chat"
msgstr "Pindahkan ke chat"
-#: src/gui/popupmenu.cpp:1952 src/gui/socialwindow.cpp:958
+#: src/gui/popupmenu.cpp:1995 src/gui/setup_theme.cpp:88
+#: src/gui/setup_theme.cpp:145 src/gui/socialwindow.cpp:958
#: src/gui/socialwindow.cpp:993 src/gui/socialwindow.cpp:1028
msgid "(default)"
msgstr "(kembalikan)"
-#: src/gui/popupmenu.cpp:1962 src/gui/popupmenu.cpp:1973
+#: src/gui/popupmenu.cpp:2005 src/gui/popupmenu.cpp:2016
msgid "Move up"
msgstr "Bergerak keatas"
-#: src/gui/popupmenu.cpp:1964 src/gui/popupmenu.cpp:1975
+#: src/gui/popupmenu.cpp:2007 src/gui/popupmenu.cpp:2018
msgid "Move down"
msgstr "Bergerak kebawah"
@@ -1926,29 +1947,33 @@ msgstr "Terapkan"
msgid "Reset Windows"
msgstr "Atur ulang jendela"
-#: src/gui/setup_joystick.cpp:40 src/gui/setup_joystick.cpp:79
+#: src/gui/setup_joystick.cpp:70 src/gui/setup_joystick.cpp:142
msgid "Press the button to start calibration"
msgstr "Tekan tombol untuk memulai kalibrasi"
-#: src/gui/setup_joystick.cpp:41 src/gui/setup_joystick.cpp:77
+#: src/gui/setup_joystick.cpp:71 src/gui/setup_joystick.cpp:140
msgid "Calibrate"
msgstr "Kalibrasi"
-#: src/gui/setup_joystick.cpp:42
+#: src/gui/setup_joystick.cpp:72
msgid "Enable joystick"
msgstr "Membolehkan joistik"
-#: src/gui/setup_joystick.cpp:44
+#: src/gui/setup_joystick.cpp:75
+msgid "Use joystick if client window inactive"
+msgstr ""
+
+#: src/gui/setup_joystick.cpp:78
msgid "Joystick"
msgstr "Joystick"
-#: src/gui/setup_joystick.cpp:84
+#: src/gui/setup_joystick.cpp:147
msgid "Stop"
msgstr "Berhenti"
-#: src/gui/setup_joystick.cpp:85
-msgid "Rotate the stick"
-msgstr "Putar stik"
+#: src/gui/setup_joystick.cpp:149
+msgid "Rotate the stick and dont press buttons"
+msgstr ""
#: src/gui/setup_keyboard.cpp:80
msgid "Keyboard"
@@ -2131,22 +2156,22 @@ msgid "Enable bot checker"
msgstr "Perbolehkan pengecekan bot"
#: src/gui/setup_other.cpp:174
-msgid "Enable buggy servers protection"
+msgid "Enable buggy servers protection (do not disable)"
msgstr ""
-#: src/gui/setup_other.cpp:177
+#: src/gui/setup_other.cpp:178
msgid "Enable debug log"
msgstr ""
-#: src/gui/setup_other.cpp:180
+#: src/gui/setup_other.cpp:181
msgid "Low traffic mode"
msgstr ""
-#: src/gui/setup_other.cpp:183
+#: src/gui/setup_other.cpp:184
msgid "Hide shield sprite"
msgstr ""
-#: src/gui/setup_other.cpp:186
+#: src/gui/setup_other.cpp:187
msgid "Show background"
msgstr "Perlihatkan latar belakang"
@@ -2274,91 +2299,151 @@ msgstr "Dihapus"
msgid "Blacklisted"
msgstr ""
-#: src/gui/setup_relations.cpp:239
+#: src/gui/setup_relations.cpp:76
+msgid "Enemy"
+msgstr ""
+
+#: src/gui/setup_relations.cpp:240
msgid "Allow trading"
msgstr "Perbolehkan penukaran"
-#: src/gui/setup_relations.cpp:241
+#: src/gui/setup_relations.cpp:242
msgid "Allow whispers"
msgstr "Perbolehkan berbisik"
-#: src/gui/setup_relations.cpp:244
+#: src/gui/setup_relations.cpp:245
msgid "Old"
msgstr "Lama"
-#: src/gui/setup_relations.cpp:246
+#: src/gui/setup_relations.cpp:247
msgid "Relations"
msgstr ""
-#: src/gui/setup_relations.cpp:271
+#: src/gui/setup_relations.cpp:272
msgid "When ignoring:"
msgstr "Ketika menolak:"
-#: src/gui/setup_theme.cpp:107
+#: src/gui/setup_theme.cpp:108
msgid "Tiny (10)"
msgstr "Sangat kecil (10)"
-#: src/gui/setup_theme.cpp:108
+#: src/gui/setup_theme.cpp:109
msgid "Small (11)"
msgstr "Kecil (11)"
-#: src/gui/setup_theme.cpp:109
+#: src/gui/setup_theme.cpp:110
msgid "Medium (12)"
msgstr "Sedang (12)"
-#: src/gui/setup_theme.cpp:110
+#: src/gui/setup_theme.cpp:111
msgid "Large (13)"
msgstr "Besar (13)"
-#: src/gui/setup_theme.cpp:111
+#: src/gui/setup_theme.cpp:112
msgid "Big (14)"
msgstr "Sangat besar (14)"
-#: src/gui/setup_theme.cpp:112
+#: src/gui/setup_theme.cpp:113
msgid "Huge (15)"
msgstr "Sangat besar sekali (15)"
-#: src/gui/setup_theme.cpp:143
+#: src/gui/setup_theme.cpp:146
+msgid "Chinese (China)"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:147
+msgid "Czech"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:148
+msgid "English"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:149
+msgid "Finnish"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:150
+msgid "French"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:151
+msgid "German"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:152
+msgid "Indonesian"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:153
+msgid "Japanese"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:154
+msgid "Dutch (Belgium/Flemish)"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:155
+msgid "Portuguese"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:156
+msgid "Portuguese (Brazilian)"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:157
+msgid "Russian"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:158
+msgid "Spanish (Castilian)"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:190
msgid "Theme"
msgstr "Tema"
-#: src/gui/setup_theme.cpp:145
+#: src/gui/setup_theme.cpp:192
msgid "Gui theme"
msgstr "Tema Gui"
-#: src/gui/setup_theme.cpp:146
+#: src/gui/setup_theme.cpp:193
+msgid "Language"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:194
msgid "Main Font"
msgstr "Jenis huruf utama"
-#: src/gui/setup_theme.cpp:147
+#: src/gui/setup_theme.cpp:195
msgid "Bold font"
msgstr "Jenis huruf tebal"
-#: src/gui/setup_theme.cpp:148
+#: src/gui/setup_theme.cpp:196
msgid "Particle font"
msgstr ""
-#: src/gui/setup_theme.cpp:149
+#: src/gui/setup_theme.cpp:197
msgid "Help font"
msgstr ""
-#: src/gui/setup_theme.cpp:150
+#: src/gui/setup_theme.cpp:198
msgid "Secure font"
msgstr "Jenis huruf/Karakter yang diperbolehkan"
-#: src/gui/setup_theme.cpp:151
+#: src/gui/setup_theme.cpp:199
msgid "Japanese font"
msgstr ""
-#: src/gui/setup_theme.cpp:183
+#: src/gui/setup_theme.cpp:236
msgid "Font size"
msgstr "Ukuran huruf"
-#: src/gui/setup_theme.cpp:299
+#: src/gui/setup_theme.cpp:377
msgid "Theme Changed"
msgstr "Tema diganti"
-#: src/gui/setup_theme.cpp:300 src/gui/setup_video.cpp:619
+#: src/gui/setup_theme.cpp:378 src/gui/setup_video.cpp:619
#: src/gui/setup_video.cpp:624
msgid "Restart your client for the change to take effect."
msgstr "Restart client anda untuk memberikan efek."
@@ -2785,422 +2870,445 @@ msgstr ""
msgid "Specials"
msgstr ""
-#: src/gui/statuspopup.cpp:197
+#: src/gui/statuspopup.cpp:204
msgid "(D) default moves"
msgstr "(D) jalan normal"
-#: src/gui/statuspopup.cpp:202
+#: src/gui/statuspopup.cpp:209
msgid "(I) invert moves"
msgstr ""
-#: src/gui/statuspopup.cpp:207
+#: src/gui/statuspopup.cpp:214
msgid "(c) moves with some crazy moves"
msgstr ""
-#: src/gui/statuspopup.cpp:212
+#: src/gui/statuspopup.cpp:219
msgid "(C) moves with crazy moves"
msgstr ""
-#: src/gui/statuspopup.cpp:217
+#: src/gui/statuspopup.cpp:224
msgid "(d) double normal + crazy"
msgstr "(d) normal ganda + mode gila"
-#: src/gui/statuspopup.cpp:222
+#: src/gui/statuspopup.cpp:229
msgid "(?) move"
msgstr "(?) jalan"
-#: src/gui/statuspopup.cpp:240
+#: src/gui/statuspopup.cpp:247
msgid "(a) custom crazy move"
msgstr ""
-#: src/gui/statuspopup.cpp:244
+#: src/gui/statuspopup.cpp:251
msgid "(?) crazy move"
msgstr ""
-#: src/gui/statuspopup.cpp:254
+#: src/gui/statuspopup.cpp:261
msgid "(0) default moves to target"
msgstr ""
-#: src/gui/statuspopup.cpp:259
+#: src/gui/statuspopup.cpp:266
msgid "(1) moves to target in distance 1"
msgstr ""
-#: src/gui/statuspopup.cpp:264
+#: src/gui/statuspopup.cpp:271
msgid "(2) moves to target in distance 2"
msgstr "(2) jalan ke target di jarak 2"
-#: src/gui/statuspopup.cpp:269
+#: src/gui/statuspopup.cpp:276
msgid "(3) moves to target in distance 3"
msgstr ""
-#: src/gui/statuspopup.cpp:274
+#: src/gui/statuspopup.cpp:281
msgid "(5) moves to target in distance 5"
msgstr ""
-#: src/gui/statuspopup.cpp:279
+#: src/gui/statuspopup.cpp:286
msgid "(7) moves to target in distance 7"
msgstr ""
-#: src/gui/statuspopup.cpp:284
+#: src/gui/statuspopup.cpp:291
msgid "(A) moves to target in attack range"
msgstr ""
-#: src/gui/statuspopup.cpp:289
+#: src/gui/statuspopup.cpp:296
msgid "(a) archer attack range"
msgstr ""
-#: src/gui/statuspopup.cpp:294
+#: src/gui/statuspopup.cpp:301
msgid "(?) move to target"
msgstr "(?)bergerak ke target"
-#: src/gui/statuspopup.cpp:302
+#: src/gui/statuspopup.cpp:309
msgid "(D) default follow"
msgstr ""
-#: src/gui/statuspopup.cpp:306
+#: src/gui/statuspopup.cpp:313
msgid "(R) relative follow"
msgstr ""
-#: src/gui/statuspopup.cpp:310
+#: src/gui/statuspopup.cpp:317
msgid "(M) mirror follow"
msgstr ""
-#: src/gui/statuspopup.cpp:314
+#: src/gui/statuspopup.cpp:321
msgid "(P) pet follow"
msgstr ""
-#: src/gui/statuspopup.cpp:318
+#: src/gui/statuspopup.cpp:325
msgid "(?) unknown follow"
msgstr ""
-#: src/gui/statuspopup.cpp:327 src/gui/statuspopup.cpp:350
+#: src/gui/statuspopup.cpp:334 src/gui/statuspopup.cpp:357
msgid "(D) default attack"
msgstr "(D) pukulan normal"
-#: src/gui/statuspopup.cpp:332
+#: src/gui/statuspopup.cpp:339
msgid "(s) switch attack without shield"
msgstr "(s) ganti pukulan tanpa pelindung"
-#: src/gui/statuspopup.cpp:337
+#: src/gui/statuspopup.cpp:344
msgid "(S) switch attack with shield"
msgstr "(S) pukulan dengan pelindung"
-#: src/gui/statuspopup.cpp:341 src/gui/statuspopup.cpp:366
+#: src/gui/statuspopup.cpp:348 src/gui/statuspopup.cpp:373
msgid "(?) attack"
msgstr "(?)serangan"
-#: src/gui/statuspopup.cpp:354
+#: src/gui/statuspopup.cpp:361
msgid "(G) go and attack"
msgstr "(G) jalan dan serang"
-#: src/gui/statuspopup.cpp:358
+#: src/gui/statuspopup.cpp:365
msgid "(A) go, attack, pickup"
msgstr "(A) jalan, serang, ambil"
-#: src/gui/statuspopup.cpp:362
+#: src/gui/statuspopup.cpp:369
msgid "(d) without auto attack"
msgstr "(d) tanpa penyerangan otomatis"
-#: src/gui/statuspopup.cpp:380
+#: src/gui/statuspopup.cpp:387
msgid "(S) small pick up 1x1 cells"
msgstr ""
-#: src/gui/statuspopup.cpp:384
+#: src/gui/statuspopup.cpp:391
msgid "(D) default pick up 2x1 cells"
msgstr ""
-#: src/gui/statuspopup.cpp:388
+#: src/gui/statuspopup.cpp:395
msgid "(F) forward pick up 2x3 cells"
msgstr ""
-#: src/gui/statuspopup.cpp:392
+#: src/gui/statuspopup.cpp:399
msgid "(3) pick up 3x3 cells"
msgstr ""
-#: src/gui/statuspopup.cpp:396
+#: src/gui/statuspopup.cpp:403
msgid "(g) go and pick up in distance 4"
msgstr ""
-#: src/gui/statuspopup.cpp:400
+#: src/gui/statuspopup.cpp:407
msgid "(G) go and pick up in distance 8"
msgstr ""
-#: src/gui/statuspopup.cpp:404
+#: src/gui/statuspopup.cpp:411
msgid "(A) go and pick up in max distance"
msgstr ""
-#: src/gui/statuspopup.cpp:408
+#: src/gui/statuspopup.cpp:415
msgid "(?) pick up"
msgstr "(?)mengambil"
-#: src/gui/statuspopup.cpp:417
+#: src/gui/statuspopup.cpp:424
msgid "(N) normal map view"
msgstr "(N) penampilan peta normal"
-#: src/gui/statuspopup.cpp:421
+#: src/gui/statuspopup.cpp:428
msgid "(D) debug map view"
msgstr ""
-#: src/gui/statuspopup.cpp:425
+#: src/gui/statuspopup.cpp:432
msgid "(u) ultra map view"
msgstr ""
-#: src/gui/statuspopup.cpp:429
+#: src/gui/statuspopup.cpp:436
msgid "(U) ultra map view 2"
msgstr ""
-#: src/gui/statuspopup.cpp:433
+#: src/gui/statuspopup.cpp:440
msgid "(e) empty map view"
msgstr "(e) penampilan peta kosong"
-#: src/gui/statuspopup.cpp:437
+#: src/gui/statuspopup.cpp:444
msgid "(b) black & white map view"
msgstr "(b)penampilan peta hitam & putih"
-#: src/gui/statuspopup.cpp:441
+#: src/gui/statuspopup.cpp:448
msgid "(?) map view"
msgstr ""
-#: src/gui/statuspopup.cpp:449
+#: src/gui/statuspopup.cpp:456
msgid "(f) use #flar for magic attack"
msgstr "(f) gunakan #flar untuk serangan magic"
-#: src/gui/statuspopup.cpp:454
+#: src/gui/statuspopup.cpp:461
msgid "(c) use #chiza for magic attack"
msgstr "(c) gunakan #chiza untuk serangan magic"
-#: src/gui/statuspopup.cpp:459
+#: src/gui/statuspopup.cpp:466
msgid "(I) use #ingrav for magic attack"
msgstr "(l) gunakan #ingrav untuk serangan magic"
-#: src/gui/statuspopup.cpp:464
+#: src/gui/statuspopup.cpp:471
msgid "(F) use #frillyar for magic attack"
msgstr "(F) gunakan #frillyar untuk serangan magic"
-#: src/gui/statuspopup.cpp:469
+#: src/gui/statuspopup.cpp:476
msgid "(U) use #upmarmu for magic attack"
msgstr "(U) gunakan #upmarmu untuk serangan magic"
-#: src/gui/statuspopup.cpp:473
+#: src/gui/statuspopup.cpp:480
msgid "(?) magic attack"
msgstr "(?) serangan magic"
-#: src/gui/statuspopup.cpp:482
+#: src/gui/statuspopup.cpp:489
+msgid "(a) attack all players"
+msgstr ""
+
+#: src/gui/statuspopup.cpp:493
+msgid "(f) attack not friends"
+msgstr ""
+
+#: src/gui/statuspopup.cpp:497
+msgid "(b) attack bad relations"
+msgstr ""
+
+#: src/gui/statuspopup.cpp:501
+msgid "(d) dont attack players"
+msgstr ""
+
+#: src/gui/statuspopup.cpp:505
+msgid "(?) pvp attack"
+msgstr ""
+
+#: src/gui/statuspopup.cpp:514
msgid "(D) default imitation"
msgstr ""
-#: src/gui/statuspopup.cpp:486
+#: src/gui/statuspopup.cpp:518
msgid "(O) outfits imitation"
msgstr ""
-#: src/gui/statuspopup.cpp:490
+#: src/gui/statuspopup.cpp:522
msgid "(?) imitation"
msgstr ""
-#: src/gui/statuspopup.cpp:499
+#: src/gui/statuspopup.cpp:531
msgid "(O) on keyboard"
msgstr "(O) pada keyboard"
-#: src/gui/statuspopup.cpp:502
+#: src/gui/statuspopup.cpp:534
msgid "(A) away"
msgstr "(A) pergi"
-#: src/gui/statuspopup.cpp:505 src/gui/statuspopup.cpp:525
+#: src/gui/statuspopup.cpp:537 src/gui/statuspopup.cpp:557
msgid "(?) away"
msgstr "(?) pergi"
-#: src/gui/statuspopup.cpp:513
+#: src/gui/statuspopup.cpp:545
msgid "(G) game camera mode"
msgstr ""
-#: src/gui/statuspopup.cpp:517
+#: src/gui/statuspopup.cpp:549
msgid "(F) free camera mode"
msgstr ""
-#: src/gui/statuspopup.cpp:521
+#: src/gui/statuspopup.cpp:553
msgid "(D) design camera mode"
msgstr ""
-#: src/gui/statuspopup.cpp:532
+#: src/gui/statuspopup.cpp:564
msgid "Game modifiers are disabled"
msgstr "Perombakan game tidak diperbolehkan"
-#: src/gui/statuspopup.cpp:537
+#: src/gui/statuspopup.cpp:569
msgid "Game modifiers are enabled"
msgstr "Perombakan game diperbolehkan"
-#: src/gui/statuswindow.cpp:143 src/gui/statuswindow.cpp:273
-#: src/gui/statuswindow.cpp:336
+#: src/gui/statuswindow.cpp:144 src/gui/statuswindow.cpp:274
+#: src/gui/statuswindow.cpp:337
#, c-format
msgid "Level: %d"
msgstr "Tingkatan: %d"
-#: src/gui/statuswindow.cpp:144 src/gui/statuswindow.cpp:259
-#: src/gui/statuswindow.cpp:303
+#: src/gui/statuswindow.cpp:145 src/gui/statuswindow.cpp:260
+#: src/gui/statuswindow.cpp:304
#, c-format
msgid "Money: %s"
msgstr ""
-#: src/gui/statuswindow.cpp:150
+#: src/gui/statuswindow.cpp:151
msgid "HP:"
msgstr ""
-#: src/gui/statuswindow.cpp:157
+#: src/gui/statuswindow.cpp:158
msgid "Exp:"
msgstr ""
-#: src/gui/statuswindow.cpp:171
+#: src/gui/statuswindow.cpp:172
msgid "MP:"
msgstr ""
-#: src/gui/statuswindow.cpp:203 src/gui/statuswindow.cpp:386
+#: src/gui/statuswindow.cpp:204 src/gui/statuswindow.cpp:387
#, c-format
msgid "Job: %d"
msgstr ""
-#: src/gui/statuswindow.cpp:204
+#: src/gui/statuswindow.cpp:205
msgid "Job:"
msgstr ""
-#: src/gui/statuswindow.cpp:262 src/gui/statuswindow.cpp:310
+#: src/gui/statuswindow.cpp:263 src/gui/statuswindow.cpp:311
#, c-format
msgid "Character points: %d"
msgstr ""
-#: src/gui/statuswindow.cpp:268
+#: src/gui/statuswindow.cpp:269
#, c-format
msgid "Level: %d (GM %d)"
msgstr ""
-#: src/gui/statuswindow.cpp:324
+#: src/gui/statuswindow.cpp:325
#, c-format
msgid "Correction points: %d"
msgstr ""
-#: src/gui/statuswindow.cpp:648 src/gui/statuswindow.cpp:716
-#: src/gui/statuswindow.cpp:736 src/gui/statuswindow.cpp:752
-#: src/gui/statuswindow.cpp:798 src/gui/statuswindow.cpp:827
-#: src/gui/statuswindow.cpp:850 src/gui/statuswindow.cpp:869
+#: src/gui/statuswindow.cpp:649 src/gui/statuswindow.cpp:717
+#: src/gui/statuswindow.cpp:737 src/gui/statuswindow.cpp:753
+#: src/gui/statuswindow.cpp:818 src/gui/statuswindow.cpp:847
+#: src/gui/statuswindow.cpp:870 src/gui/statuswindow.cpp:889
msgid "(D)"
msgstr "(D)"
-#: src/gui/statuswindow.cpp:651 src/gui/statuswindow.cpp:777
+#: src/gui/statuswindow.cpp:652 src/gui/statuswindow.cpp:778
msgid "(I)"
msgstr "(l)"
-#: src/gui/statuswindow.cpp:654 src/gui/statuswindow.cpp:774
+#: src/gui/statuswindow.cpp:655 src/gui/statuswindow.cpp:775
msgid "(c)"
msgstr "(c)"
-#: src/gui/statuswindow.cpp:657
+#: src/gui/statuswindow.cpp:658
msgid "(C)"
msgstr "(C)"
-#: src/gui/statuswindow.cpp:660 src/gui/statuswindow.cpp:761
+#: src/gui/statuswindow.cpp:661 src/gui/statuswindow.cpp:762
+#: src/gui/statuswindow.cpp:803
msgid "(d)"
msgstr "(d)"
-#: src/gui/statuswindow.cpp:663 src/gui/statuswindow.cpp:677
-#: src/gui/statuswindow.cpp:709 src/gui/statuswindow.cpp:728
-#: src/gui/statuswindow.cpp:745 src/gui/statuswindow.cpp:764
-#: src/gui/statuswindow.cpp:786 src/gui/statuswindow.cpp:816
-#: src/gui/statuswindow.cpp:842 src/gui/statuswindow.cpp:856
-#: src/gui/statuswindow.cpp:872 src/gui/statuswindow.cpp:885
+#: src/gui/statuswindow.cpp:664 src/gui/statuswindow.cpp:678
+#: src/gui/statuswindow.cpp:710 src/gui/statuswindow.cpp:729
+#: src/gui/statuswindow.cpp:746 src/gui/statuswindow.cpp:765
+#: src/gui/statuswindow.cpp:787 src/gui/statuswindow.cpp:806
+#: src/gui/statuswindow.cpp:836 src/gui/statuswindow.cpp:862
+#: src/gui/statuswindow.cpp:876 src/gui/statuswindow.cpp:892
+#: src/gui/statuswindow.cpp:905
msgid "(?)"
msgstr "(?)"
-#: src/gui/statuswindow.cpp:674 src/gui/statuswindow.cpp:706
+#: src/gui/statuswindow.cpp:675 src/gui/statuswindow.cpp:707
+#: src/gui/statuswindow.cpp:794
msgid "(a)"
msgstr "(a)"
-#: src/gui/statuswindow.cpp:685
+#: src/gui/statuswindow.cpp:686
msgid "(0)"
msgstr "(0)"
-#: src/gui/statuswindow.cpp:688
+#: src/gui/statuswindow.cpp:689
msgid "(1)"
msgstr "(1)"
-#: src/gui/statuswindow.cpp:691
+#: src/gui/statuswindow.cpp:692
msgid "(2)"
msgstr "(2)"
-#: src/gui/statuswindow.cpp:694 src/gui/statuswindow.cpp:804
+#: src/gui/statuswindow.cpp:695 src/gui/statuswindow.cpp:824
msgid "(3)"
msgstr "(3)"
-#: src/gui/statuswindow.cpp:697
+#: src/gui/statuswindow.cpp:698
msgid "(5)"
msgstr "(5)"
-#: src/gui/statuswindow.cpp:700
+#: src/gui/statuswindow.cpp:701
msgid "(7)"
msgstr "(7)"
-#: src/gui/statuswindow.cpp:703 src/gui/statuswindow.cpp:758
-#: src/gui/statuswindow.cpp:813 src/gui/statuswindow.cpp:882
+#: src/gui/statuswindow.cpp:704 src/gui/statuswindow.cpp:759
+#: src/gui/statuswindow.cpp:833 src/gui/statuswindow.cpp:902
msgid "(A)"
msgstr "(A)"
-#: src/gui/statuswindow.cpp:719
+#: src/gui/statuswindow.cpp:720
msgid "(R)"
msgstr "(R)"
-#: src/gui/statuswindow.cpp:722
+#: src/gui/statuswindow.cpp:723
msgid "(M)"
msgstr "(M)"
-#: src/gui/statuswindow.cpp:725
+#: src/gui/statuswindow.cpp:726
msgid "(P)"
msgstr "(P)"
-#: src/gui/statuswindow.cpp:739
+#: src/gui/statuswindow.cpp:740
msgid "(s)"
msgstr "(s)"
-#: src/gui/statuswindow.cpp:742 src/gui/statuswindow.cpp:795
+#: src/gui/statuswindow.cpp:743 src/gui/statuswindow.cpp:815
msgid "(S)"
msgstr "(S)"
-#: src/gui/statuswindow.cpp:755 src/gui/statuswindow.cpp:810
-#: src/gui/statuswindow.cpp:863
+#: src/gui/statuswindow.cpp:756 src/gui/statuswindow.cpp:830
+#: src/gui/statuswindow.cpp:883
msgid "(G)"
msgstr "(G)"
-#: src/gui/statuswindow.cpp:771
+#: src/gui/statuswindow.cpp:772 src/gui/statuswindow.cpp:797
msgid "(f)"
msgstr "(f)"
-#: src/gui/statuswindow.cpp:780 src/gui/statuswindow.cpp:801
-#: src/gui/statuswindow.cpp:866
+#: src/gui/statuswindow.cpp:781 src/gui/statuswindow.cpp:821
+#: src/gui/statuswindow.cpp:886
msgid "(F)"
msgstr "(F)"
-#: src/gui/statuswindow.cpp:783 src/gui/statuswindow.cpp:833
+#: src/gui/statuswindow.cpp:784 src/gui/statuswindow.cpp:853
msgid "(U)"
msgstr "(U)"
-#: src/gui/statuswindow.cpp:807
+#: src/gui/statuswindow.cpp:800 src/gui/statuswindow.cpp:859
+msgid "(b)"
+msgstr "(b)"
+
+#: src/gui/statuswindow.cpp:827
msgid "(g)"
msgstr "(g)"
-#: src/gui/statuswindow.cpp:824
+#: src/gui/statuswindow.cpp:844
msgid "(N)"
msgstr "(N)"
-#: src/gui/statuswindow.cpp:830
+#: src/gui/statuswindow.cpp:850
msgid "(u)"
msgstr "(u)"
-#: src/gui/statuswindow.cpp:836
+#: src/gui/statuswindow.cpp:856
msgid "(e)"
msgstr "(e)"
-#: src/gui/statuswindow.cpp:839
-msgid "(b)"
-msgstr "(b)"
-
-#: src/gui/statuswindow.cpp:853 src/gui/statuswindow.cpp:879
+#: src/gui/statuswindow.cpp:873 src/gui/statuswindow.cpp:899
msgid "(O)"
msgstr "(O)"
@@ -3330,7 +3438,8 @@ msgid "You don't have enough money."
msgstr "Anda tidak memiliki cukup uang."
#: src/gui/tradewindow.cpp:454
-msgid "Failed adding item. You can not overlap one kind of item on the window."
+msgid ""
+"Failed adding item. You can not overlap one kind of item on the window."
msgstr ""
#: src/gui/unregisterdialog.cpp:54
@@ -3350,21 +3459,21 @@ msgstr "Menyambung..."
msgid "Play"
msgstr "Main"
-#: src/gui/updaterwindow.cpp:564
+#: src/gui/updaterwindow.cpp:565
msgid "##1 The update process is incomplete."
msgstr ""
#. TRANSLATORS: Continues "you try again later.".
-#: src/gui/updaterwindow.cpp:566
+#: src/gui/updaterwindow.cpp:567
msgid "##1 It is strongly recommended that"
msgstr ""
#. TRANSLATORS: Begins "It is strongly recommended that".
-#: src/gui/updaterwindow.cpp:568
+#: src/gui/updaterwindow.cpp:569
msgid "##1 you try again later."
msgstr ""
-#: src/gui/updaterwindow.cpp:744
+#: src/gui/updaterwindow.cpp:745
msgid "Completed"
msgstr ""
@@ -3708,7 +3817,8 @@ msgid "Command: /unignore <player>"
msgstr "perintah: /unignore <nama pemain>"
#: src/gui/widgets/whispertab.cpp:131
-msgid "This command stops ignoring the other player if they are being ignored."
+msgid ""
+"This command stops ignoring the other player if they are being ignored."
msgstr ""
#: src/gui/windowmenu.cpp:65
@@ -3925,7 +4035,7 @@ msgstr ""
#: src/keyboardconfig.cpp:116 src/keyboardconfig.cpp:119
#: src/keyboardconfig.cpp:121 src/keyboardconfig.cpp:123
#: src/keyboardconfig.cpp:125 src/keyboardconfig.cpp:127
-#: src/keyboardconfig.cpp:369
+#: src/keyboardconfig.cpp:371
#, c-format
msgid "Item Shortcut %d"
msgstr ""
@@ -4052,7 +4162,7 @@ msgstr ""
#: src/keyboardconfig.cpp:258 src/keyboardconfig.cpp:260
#: src/keyboardconfig.cpp:262 src/keyboardconfig.cpp:264
#: src/keyboardconfig.cpp:266 src/keyboardconfig.cpp:268
-#: src/keyboardconfig.cpp:364
+#: src/keyboardconfig.cpp:366
#, c-format
msgid "Emote Shortcut %d"
msgstr ""
@@ -4181,118 +4291,122 @@ msgstr ""
msgid "Switch magic attack"
msgstr ""
-#: src/keyboardconfig.cpp:328
-msgid "Change move type"
+#: src/keyboardconfig.cpp:329
+msgid "Switch pvp attack"
msgstr ""
#: src/keyboardconfig.cpp:330
-msgid "Change Attack Weapon Type"
+msgid "Change move type"
msgstr ""
#: src/keyboardconfig.cpp:332
-msgid "Change Attack Type"
+msgid "Change Attack Weapon Type"
msgstr ""
#: src/keyboardconfig.cpp:334
-msgid "Change Follow mode"
+msgid "Change Attack Type"
msgstr ""
#: src/keyboardconfig.cpp:336
+msgid "Change Follow mode"
+msgstr ""
+
+#: src/keyboardconfig.cpp:338
msgid "Change Imitation mode"
msgstr ""
-#: src/keyboardconfig.cpp:339
+#: src/keyboardconfig.cpp:341
msgid "Disable / Enable Game modifier keys"
msgstr ""
-#: src/keyboardconfig.cpp:340
+#: src/keyboardconfig.cpp:342
msgid "On / Off audio"
msgstr ""
-#: src/keyboardconfig.cpp:342
+#: src/keyboardconfig.cpp:344
msgid "Enable / Disable away mode"
msgstr ""
-#: src/keyboardconfig.cpp:344
+#: src/keyboardconfig.cpp:346
msgid "Emulate right click from keyboard"
msgstr ""
-#: src/keyboardconfig.cpp:346
+#: src/keyboardconfig.cpp:348
msgid "Toggle camera mode"
msgstr ""
-#: src/keyboardconfig.cpp:348
+#: src/keyboardconfig.cpp:350
msgid "Modifier key"
msgstr "Kunci pengubah"
-#: src/keyboardconfig.cpp:427
+#: src/keyboardconfig.cpp:429
#, c-format
msgid ""
"Conflict \"%s\" and \"%s\" keys. Resolve them, or gameplay may result in "
"strange behaviour."
msgstr ""
-#: src/localplayer.cpp:381
+#: src/localplayer.cpp:389
msgid "You were killed by "
msgstr ""
-#: src/localplayer.cpp:1428
+#: src/localplayer.cpp:1442
msgid "Tried to pick up nonexistent item."
msgstr "Mencoba mengambil item yang tidak lagi ada"
-#: src/localplayer.cpp:1430
+#: src/localplayer.cpp:1444
msgid "Item is too heavy."
msgstr "item terlalu berat"
-#: src/localplayer.cpp:1432
+#: src/localplayer.cpp:1446
msgid "Item is too far away."
msgstr "barang terlalu jauh"
-#: src/localplayer.cpp:1434
+#: src/localplayer.cpp:1448
msgid "Inventory is full."
msgstr "Perbekalan sudah penuh"
-#: src/localplayer.cpp:1436
+#: src/localplayer.cpp:1450
msgid "Stack is too big."
msgstr ""
-#: src/localplayer.cpp:1439
+#: src/localplayer.cpp:1453
msgid "Item belongs to someone else."
msgstr "Barang milik orang lain."
-#: src/localplayer.cpp:1442
+#: src/localplayer.cpp:1456
msgid "Unknown problem picking up item."
msgstr ""
#. TRANSLATORS: %d is number,
#. [@@%d|%s@@] - here player can see link to item
-#: src/localplayer.cpp:1466
+#: src/localplayer.cpp:1480
#, c-format
msgid "You picked up %d [@@%d|%s@@]."
msgid_plural "You picked up %d [@@%d|%s@@]."
msgstr[0] ""
-#: src/localplayer.cpp:3181
+#: src/localplayer.cpp:3206
msgid "Away"
msgstr ""
-#: src/localplayer.cpp:3509
+#: src/localplayer.cpp:3541
msgid "Follow: "
msgstr "Ikuti:"
-#: src/localplayer.cpp:3511 src/localplayer.cpp:3526
+#: src/localplayer.cpp:3543 src/localplayer.cpp:3558
msgid "Follow canceled"
msgstr "Batal mengikuti"
-#: src/localplayer.cpp:3518
+#: src/localplayer.cpp:3550
msgid "Imitation: "
msgstr "Tirukan:"
-#: src/localplayer.cpp:3520 src/localplayer.cpp:3528
+#: src/localplayer.cpp:3552 src/localplayer.cpp:3560
msgid "Imitation canceled"
msgstr "Batal menirukan"
-#: src/localplayer.cpp:3876
+#: src/localplayer.cpp:3908
msgid "You see "
msgstr ""
@@ -4966,7 +5080,8 @@ msgstr ""
#: src/net/ea/playerhandler.cpp:336
msgid ""
-"You are carrying more than half your weight. You are unable to regain health."
+"You are carrying more than half your weight. You are unable to regain "
+"health."
msgstr ""
#: src/net/ea/playerhandler.cpp:346
@@ -5078,53 +5193,53 @@ msgstr ""
msgid "%s wants to trade with you, do you accept?"
msgstr ""
-#: src/net/ea/tradehandler.cpp:134
+#: src/net/ea/tradehandler.cpp:135
msgid "Trading isn't possible. Trade partner is too far away."
msgstr ""
-#: src/net/ea/tradehandler.cpp:138
+#: src/net/ea/tradehandler.cpp:139
msgid "Trading isn't possible. Character doesn't exist."
msgstr ""
-#: src/net/ea/tradehandler.cpp:142
+#: src/net/ea/tradehandler.cpp:143
msgid "Trade cancelled due to an unknown reason."
msgstr ""
-#: src/net/ea/tradehandler.cpp:148
+#: src/net/ea/tradehandler.cpp:149
#, c-format
msgid "Trade: You and %s"
msgstr ""
-#: src/net/ea/tradehandler.cpp:158
+#: src/net/ea/tradehandler.cpp:159
#, c-format
msgid "Trade with %s cancelled."
msgstr ""
-#: src/net/ea/tradehandler.cpp:171
+#: src/net/ea/tradehandler.cpp:172
msgid "Unhandled trade cancel packet."
msgstr ""
-#: src/net/ea/tradehandler.cpp:236
+#: src/net/ea/tradehandler.cpp:237
msgid "Failed adding item. Trade partner is over weighted."
msgstr ""
-#: src/net/ea/tradehandler.cpp:241
+#: src/net/ea/tradehandler.cpp:242
msgid "Failed adding item. Trade partner has no free slot."
msgstr ""
-#: src/net/ea/tradehandler.cpp:246
+#: src/net/ea/tradehandler.cpp:247
msgid "Failed adding item. You can't trade this item."
msgstr "Gagal menambahkan barang. Kamu tidak dapat menukar barang ini."
-#: src/net/ea/tradehandler.cpp:250
+#: src/net/ea/tradehandler.cpp:251
msgid "Failed adding item for unknown reason."
msgstr ""
-#: src/net/ea/tradehandler.cpp:269 src/net/manaserv/tradehandler.cpp:160
+#: src/net/ea/tradehandler.cpp:270 src/net/manaserv/tradehandler.cpp:160
msgid "Trade canceled."
msgstr ""
-#: src/net/ea/tradehandler.cpp:280 src/net/manaserv/tradehandler.cpp:167
+#: src/net/ea/tradehandler.cpp:281 src/net/manaserv/tradehandler.cpp:167
msgid "Trade completed."
msgstr ""
@@ -5543,15 +5658,15 @@ msgstr ""
msgid "Damage per sec."
msgstr ""
-#: src/net/tmwa/network.cpp:152
+#: src/net/tmwa/network.cpp:153
msgid "Empty address given to Network::connect()!"
msgstr ""
-#: src/net/tmwa/network.cpp:356
+#: src/net/tmwa/network.cpp:357
msgid "Unable to resolve host \""
msgstr ""
-#: src/net/tmwa/network.cpp:426
+#: src/net/tmwa/network.cpp:427
msgid "Connection to server terminated. "
msgstr ""
@@ -5560,19 +5675,19 @@ msgstr ""
msgid "%s is not in your party!"
msgstr ""
-#: src/playerrelations.cpp:435
+#: src/playerrelations.cpp:460
msgid "Print '...'"
msgstr ""
-#: src/playerrelations.cpp:455
+#: src/playerrelations.cpp:480
msgid "Blink name"
msgstr ""
-#: src/playerrelations.cpp:499
+#: src/playerrelations.cpp:524
msgid "Floating '...' bubble"
msgstr ""
-#: src/playerrelations.cpp:502
+#: src/playerrelations.cpp:527
msgid "Floating bubble"
msgstr ""
@@ -5604,3 +5719,5 @@ msgstr "MP %+d"
#: src/resources/itemdb.cpp:169
msgid "Unknown item"
msgstr ""
+
+
diff --git a/po/it.po b/po/it.po
index 3ba14752a..6607a008d 100644
--- a/po/it.po
+++ b/po/it.po
@@ -11,8 +11,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ManaPlus\n"
"Report-Msgid-Bugs-To: akaras@inbox.ru\n"
-"POT-Creation-Date: 2011-10-28 03:52+0300\n"
-"PO-Revision-Date: 2011-10-28 00:55+0000\n"
+"POT-Creation-Date: 2011-11-12 00:23+0300\n"
+"PO-Revision-Date: 2011-11-11 21:38+0000\n"
"Last-Translator: akaras <akaras@inbox.ru>\n"
"Language-Team: Italian (http://www.transifex.net/projects/p/manaplus/team/it/)\n"
"MIME-Version: 1.0\n"
@@ -25,65 +25,65 @@ msgstr ""
msgid "Visible on map"
msgstr ""
-#: src/being.cpp:548
+#: src/being.cpp:551
msgid "dodge"
msgstr "Schivato"
-#: src/being.cpp:548
+#: src/being.cpp:551
msgid "miss"
msgstr "Mancato"
#. TRANSLATORS: this away status writed in player nick
-#: src/being.cpp:1527
+#: src/being.cpp:1530
msgid "A"
msgstr ""
#. TRANSLATORS: this inactive status writed in player nick
-#: src/being.cpp:1532
+#: src/being.cpp:1535
msgid "I"
msgstr ""
-#: src/client.cpp:835 src/gui/setup.cpp:54 src/gui/windowmenu.cpp:100
+#: src/client.cpp:869 src/gui/setup.cpp:54 src/gui/windowmenu.cpp:100
msgid "Setup"
msgstr "Impostazioni"
-#: src/client.cpp:842 src/gui/setup_perfomance.cpp:48
+#: src/client.cpp:876 src/gui/setup_perfomance.cpp:48
msgid "Perfomance"
msgstr ""
-#: src/client.cpp:847 src/gui/setup_video.cpp:315
+#: src/client.cpp:881 src/gui/setup_video.cpp:315
msgid "Video"
msgstr "Video"
-#: src/client.cpp:852
+#: src/client.cpp:886
msgid "Themes"
msgstr ""
-#: src/client.cpp:934
+#: src/client.cpp:968
msgid "Connecting to server"
msgstr "Connessione al server"
-#: src/client.cpp:965
+#: src/client.cpp:999
msgid "Logging in"
-msgstr "Accesso"
+msgstr "Accesso all'account"
-#: src/client.cpp:998
+#: src/client.cpp:1032
msgid "Entering game world"
msgstr "Accesso al gioco"
-#: src/client.cpp:1098
+#: src/client.cpp:1132
msgid "Requesting characters"
-msgstr "Ricerca personaggi"
+msgstr "Caricamento personaggi"
-#: src/client.cpp:1129
+#: src/client.cpp:1163
msgid "Connecting to the game server"
msgstr "Connessione al server del gioco"
-#: src/client.cpp:1139
+#: src/client.cpp:1173
msgid "Changing game servers"
msgstr "Cambiamento server del gioco"
-#: src/client.cpp:1182 src/client.cpp:1189 src/client.cpp:1323
+#: src/client.cpp:1216 src/client.cpp:1223 src/client.cpp:1357
#: src/gui/changeemaildialog.cpp:157 src/gui/changepassworddialog.cpp:147
#: src/gui/charcreatedialog.cpp:221 src/gui/charselectdialog.cpp:253
#: src/gui/register.cpp:228 src/gui/serverdialog.cpp:401
@@ -93,63 +93,63 @@ msgstr "Cambiamento server del gioco"
msgid "Error"
msgstr "Errore"
-#: src/client.cpp:1198
+#: src/client.cpp:1232
msgid "Requesting registration details"
msgstr "Richiesta dettagli di registrazione"
-#: src/client.cpp:1224
+#: src/client.cpp:1258
msgid "Password Change"
-msgstr "Cambiamento password"
+msgstr "Cambia password"
-#: src/client.cpp:1225
+#: src/client.cpp:1259
msgid "Password changed successfully!"
msgstr "Password modificata con successo!"
-#: src/client.cpp:1244
+#: src/client.cpp:1278
msgid "Email Change"
-msgstr "Cambio Email"
+msgstr "Cambia Email"
-#: src/client.cpp:1245
+#: src/client.cpp:1279
msgid "Email changed successfully!"
msgstr "Email cambiata con successo!"
-#: src/client.cpp:1265
+#: src/client.cpp:1299
msgid "Unregister Successful"
msgstr "Annullamento registrazione effettuato con successo"
-#: src/client.cpp:1266
+#: src/client.cpp:1300
msgid "Farewell, come back any time..."
msgstr "Addio, torna quando vuoi..."
-#: src/client.cpp:1465 src/client.cpp:1495 src/client.cpp:1510
-#: src/client.cpp:1935 src/client.cpp:1942
+#: src/client.cpp:1499 src/client.cpp:1529 src/client.cpp:1544
+#: src/client.cpp:1969 src/client.cpp:1976
#, c-format
msgid "%s doesn't exist and can't be created! Exiting."
msgstr "%s non esiste e non può essere creato! Uscita in corso."
-#: src/client.cpp:1641
+#: src/client.cpp:1675
#, c-format
msgid "Invalid update host: %s"
msgstr "Invalido aggiornamento host: %s"
-#: src/client.cpp:1675 src/client.cpp:1681
+#: src/client.cpp:1709 src/client.cpp:1715
msgid "Error creating updates directory!"
msgstr "Errore durante la creazione della directory degli aggiornamenti"
-#: src/client.cpp:1702
+#: src/client.cpp:1736
#, c-format
msgid "Error: %s doesn't exist and can't be created! Exiting."
msgstr "Errore: %s non esiste e non può essere creato! Ucita in corso."
-#: src/commandhandler.cpp:205
+#: src/commandhandler.cpp:209
msgid "Unknown command."
msgstr "Comando sconosciuto."
-#: src/commandhandler.cpp:304
+#: src/commandhandler.cpp:329
msgid "Cannot send empty whispers!"
msgstr "Impossibile inviare un sussurro vuoto!"
-#: src/commandhandler.cpp:318
+#: src/commandhandler.cpp:343
#, c-format
msgid ""
"Cannot create a whisper tab for nick \"%s\"! It either already exists, or is"
@@ -158,156 +158,160 @@ msgstr ""
"Impossibile creare una scheda per sussurrare a \"%s\"! Esiste già, oppure "
"sei tu."
-#: src/commandhandler.cpp:338
+#: src/commandhandler.cpp:363
#, c-format
msgid "Requesting to join channel %s."
msgstr "Richiesta per accedere al canale %s."
-#: src/commandhandler.cpp:354 src/net/ea/gui/partytab.cpp:125
+#: src/commandhandler.cpp:379 src/net/ea/gui/partytab.cpp:125
msgid "Party name is missing."
msgstr "Manca il nome del party."
-#: src/commandhandler.cpp:365
+#: src/commandhandler.cpp:390
msgid "Guild name is missing."
msgstr "Manca il nome della gilda."
-#: src/commandhandler.cpp:378 src/commandhandler.cpp:496
-#: src/commandhandler.cpp:537 src/commandhandler.cpp:572
+#: src/commandhandler.cpp:403 src/commandhandler.cpp:521
+#: src/commandhandler.cpp:562 src/commandhandler.cpp:602
msgid "Please specify a name."
msgstr "Prego specificare un nome."
-#: src/commandhandler.cpp:430
+#: src/commandhandler.cpp:455
msgid "Return toggles chat."
-msgstr "Invio attiva/disattiva la conversazione."
+msgstr "Attiva/disattiva la chat."
-#: src/commandhandler.cpp:430
+#: src/commandhandler.cpp:455
msgid "Message closes chat."
msgstr "I messaggi chiudono la conversazione."
-#: src/commandhandler.cpp:441
+#: src/commandhandler.cpp:466
msgid "Return now toggles chat."
-msgstr "\"Invio\" adesso attiva/disattiva la conversazione."
+msgstr "Attiva/disattiva la chat adesso."
-#: src/commandhandler.cpp:447
+#: src/commandhandler.cpp:472
msgid "Message now closes chat."
-msgstr "I messaggi adesso chiudono la conversazione."
+msgstr "I messaggi adesso chiudono la chat."
-#: src/commandhandler.cpp:475
+#: src/commandhandler.cpp:500
msgid "friend"
msgstr "Amico"
-#: src/commandhandler.cpp:480
+#: src/commandhandler.cpp:505
msgid "disregarded"
msgstr "Disprezzato"
-#: src/commandhandler.cpp:485
+#: src/commandhandler.cpp:510
msgid "neutral"
-msgstr "Neutro"
+msgstr "Neutrale"
-#: src/commandhandler.cpp:504
+#: src/commandhandler.cpp:529
#, c-format
msgid "Player already %s!"
-msgstr "Giocatore già %s!"
+msgstr "Il giocatore è già %s!"
-#: src/commandhandler.cpp:518
+#: src/commandhandler.cpp:543
#, c-format
msgid "Player successfully %s!"
-msgstr "Giocatore %s con successo!"
+msgstr "Il giocatore è stato %s con successo!"
-#: src/commandhandler.cpp:526
+#: src/commandhandler.cpp:551
#, c-format
msgid "Player could not be %s!"
-msgstr "Player non può essere %s!"
+msgstr "Il giocatore non può essere %s!"
-#: src/commandhandler.cpp:549
+#: src/commandhandler.cpp:574
msgid "Player wasn't ignored!"
msgstr "Il giocatore non era ignorato!"
-#: src/commandhandler.cpp:556
+#: src/commandhandler.cpp:581
msgid "Player no longer ignored!"
msgstr "Giocatore non più ignorato!"
-#: src/commandhandler.cpp:558
+#: src/commandhandler.cpp:583
msgid "Player could not be unignored!"
msgstr "Impossibile annullare l'ignoro!"
-#: src/commandhandler.cpp:564
+#: src/commandhandler.cpp:589
msgid "blacklisted"
msgstr ""
-#: src/commandhandler.cpp:579
+#: src/commandhandler.cpp:594
+msgid "enemy"
+msgstr ""
+
+#: src/commandhandler.cpp:609
msgid "Player already erased!"
msgstr "Il giocatore è già cancellato!"
-#: src/commandhandler.cpp:590
+#: src/commandhandler.cpp:620
msgid "Player successfully erased!"
msgstr "Giocatore cancellato dal tuo schermo con successo!"
-#: src/commandhandler.cpp:592
+#: src/commandhandler.cpp:622
msgid "Player could not be erased!"
msgstr "Il giocatore non può essere cancellato!"
-#: src/commandhandler.cpp:892 src/commandhandler.cpp:938
+#: src/commandhandler.cpp:929 src/commandhandler.cpp:975
#, c-format
msgid "Client uptime: %s"
msgstr ""
-#: src/commandhandler.cpp:902
+#: src/commandhandler.cpp:939
#, c-format
msgid "%d week"
msgid_plural "%d weeks"
msgstr[0] ""
msgstr[1] ""
-#: src/commandhandler.cpp:911
+#: src/commandhandler.cpp:948
#, c-format
msgid "%d day"
msgid_plural "%d days"
msgstr[0] ""
msgstr[1] ""
-#: src/commandhandler.cpp:919
+#: src/commandhandler.cpp:956
#, c-format
msgid "%d hour"
msgid_plural "%d hours"
msgstr[0] ""
msgstr[1] ""
-#: src/commandhandler.cpp:927
+#: src/commandhandler.cpp:964
#, c-format
msgid "%d minute"
msgid_plural "%d minutes"
msgstr[0] ""
msgstr[1] ""
-#: src/commandhandler.cpp:935
+#: src/commandhandler.cpp:972
#, c-format
msgid "%d second"
msgid_plural "%d seconds"
msgstr[0] ""
msgstr[1] ""
-#: src/commandhandler.cpp:1014
+#: src/commandhandler.cpp:1051
msgid "font cache size"
msgstr ""
-#: src/commandhandler.cpp:1026
+#: src/commandhandler.cpp:1063
msgid "Cache size:"
msgstr ""
-#: src/commandhandler.cpp:1030
+#: src/commandhandler.cpp:1067
msgid "Created:"
msgstr ""
-#: src/commandhandler.cpp:1032
+#: src/commandhandler.cpp:1069
msgid "Deleted:"
msgstr ""
-#: src/commandhandler.cpp:1133 src/commandhandler.cpp:1140
+#: src/commandhandler.cpp:1171 src/commandhandler.cpp:1178
msgid "Resource images:"
msgstr ""
-#: src/commandhandler.cpp:1135 src/commandhandler.cpp:1142
+#: src/commandhandler.cpp:1173 src/commandhandler.cpp:1180
msgid "Resource orphaned images:"
msgstr ""
@@ -326,35 +330,35 @@ msgstr "Generale"
msgid "Debug"
msgstr "Debug"
-#: src/game.cpp:513
+#: src/game.cpp:506
msgid "Screenshot saved as "
msgstr "Screenshot salvato come"
-#: src/game.cpp:521
+#: src/game.cpp:514
msgid "Saving screenshot failed!"
-msgstr "Salvataggio della schermata fallito!"
+msgstr "Salvataggio immagine fallito!"
-#: src/game.cpp:560
+#: src/game.cpp:554
msgid "The connection to the server was lost."
-msgstr "La connessione al server è stata persa."
+msgstr "La connessione al server è caduta."
-#: src/game.cpp:572
+#: src/game.cpp:557
msgid "Network Error"
msgstr "Errore di rete"
-#: src/game.cpp:1322
+#: src/game.cpp:1332
msgid "Ignoring incoming trade requests"
msgstr "Le richieste di scambio in arrivo saranno ignorate"
-#: src/game.cpp:1332
+#: src/game.cpp:1342
msgid "Accepting incoming trade requests"
msgstr "Le richieste di scambio in arrivo saranno accettate"
-#: src/game.cpp:1732
+#: src/game.cpp:1750
msgid "Could Not Load Map"
msgstr "Impossibile caricare la mappa."
-#: src/game.cpp:1733
+#: src/game.cpp:1751
#, c-format
msgid "Error while loading %s"
msgstr "Errore durante il caricamento di %s"
@@ -388,19 +392,19 @@ msgid "Name"
msgstr "Nome"
#: src/gui/botcheckerwindow.cpp:297 src/gui/popupmenu.cpp:133
-#: src/gui/popupmenu.cpp:292 src/gui/popupmenu.cpp:614
+#: src/gui/popupmenu.cpp:303 src/gui/popupmenu.cpp:636
#: src/keyboardconfig.cpp:49 src/net/tmwa/generalhandler.cpp:269
msgid "Attack"
msgstr "Attacco"
-#: src/gui/botcheckerwindow.cpp:298 src/gui/popupmenu.cpp:281
+#: src/gui/botcheckerwindow.cpp:298 src/gui/popupmenu.cpp:292
#: src/keyboardconfig.cpp:62
msgid "Talk"
msgstr "Parla"
-#: src/gui/botcheckerwindow.cpp:299 src/gui/popupmenu.cpp:253
-#: src/gui/popupmenu.cpp:285 src/gui/popupmenu.cpp:437
-#: src/gui/popupmenu.cpp:669 src/gui/popupmenu.cpp:756
+#: src/gui/botcheckerwindow.cpp:299 src/gui/popupmenu.cpp:264
+#: src/gui/popupmenu.cpp:296 src/gui/popupmenu.cpp:459
+#: src/gui/popupmenu.cpp:702 src/gui/popupmenu.cpp:789
msgid "Move"
msgstr "Movimento"
@@ -413,8 +417,8 @@ msgid "Reset"
msgstr "Reimposta"
#: src/gui/buydialog.cpp:58 src/gui/buydialog.cpp:65 src/gui/buydialog.cpp:112
-#: src/gui/buyselldialog.cpp:65 src/gui/popupmenu.cpp:265
-#: src/gui/popupmenu.cpp:282 src/gui/popupmenu.cpp:681
+#: src/gui/buyselldialog.cpp:65 src/gui/popupmenu.cpp:276
+#: src/gui/popupmenu.cpp:293 src/gui/popupmenu.cpp:714
msgid "Buy"
msgstr "Compra"
@@ -432,7 +436,7 @@ msgstr ""
#. You may change this symbol if your language uses another.
#: src/gui/buydialog.cpp:108 src/gui/itemamountwindow.cpp:207
#: src/gui/itemamountwindow.cpp:235 src/gui/npcdialog.cpp:114
-#: src/gui/selldialog.cpp:91 src/gui/statuswindow.cpp:977
+#: src/gui/selldialog.cpp:91 src/gui/statuswindow.cpp:998
msgid "+"
msgstr "+"
@@ -440,7 +444,7 @@ msgstr "+"
#. You may change this symbol if your language uses another.
#: src/gui/buydialog.cpp:111 src/gui/itemamountwindow.cpp:206
#: src/gui/itemamountwindow.cpp:234 src/gui/npcdialog.cpp:115
-#: src/gui/selldialog.cpp:92 src/gui/statuswindow.cpp:989
+#: src/gui/selldialog.cpp:92 src/gui/statuswindow.cpp:1010
msgid "-"
msgstr "-"
@@ -452,8 +456,8 @@ msgid "Quit"
msgstr "Esci"
#: src/gui/buydialog.cpp:114 src/gui/selldialog.cpp:95
-#: src/gui/statuswindow.cpp:504 src/gui/statuswindow.cpp:554
-#: src/gui/statuswindow.cpp:976 src/gui/statuswindow.cpp:1007
+#: src/gui/statuswindow.cpp:505 src/gui/statuswindow.cpp:555
+#: src/gui/statuswindow.cpp:997 src/gui/statuswindow.cpp:1028
msgid "Max"
msgstr "Massimo"
@@ -462,8 +466,8 @@ msgstr "Massimo"
msgid "Shop"
msgstr "Negozio"
-#: src/gui/buyselldialog.cpp:65 src/gui/popupmenu.cpp:266
-#: src/gui/popupmenu.cpp:283 src/gui/popupmenu.cpp:682
+#: src/gui/buyselldialog.cpp:65 src/gui/popupmenu.cpp:277
+#: src/gui/popupmenu.cpp:294 src/gui/popupmenu.cpp:715
#: src/gui/selldialog.cpp:53 src/gui/selldialog.cpp:60
#: src/gui/selldialog.cpp:93
msgid "Sell"
@@ -472,15 +476,15 @@ msgstr "Vendi"
#: src/gui/buyselldialog.cpp:65 src/gui/changeemaildialog.cpp:59
#: src/gui/changepassworddialog.cpp:61 src/gui/charcreatedialog.cpp:96
#: src/gui/connectiondialog.cpp:47 src/gui/itemamountwindow.cpp:209
-#: src/gui/npcpostdialog.cpp:58 src/gui/popupmenu.cpp:333
-#: src/gui/popupmenu.cpp:354 src/gui/popupmenu.cpp:478
-#: src/gui/popupmenu.cpp:504 src/gui/popupmenu.cpp:528
-#: src/gui/popupmenu.cpp:541 src/gui/popupmenu.cpp:559
-#: src/gui/popupmenu.cpp:772 src/gui/popupmenu.cpp:796
-#: src/gui/popupmenu.cpp:1732 src/gui/popupmenu.cpp:1760
-#: src/gui/popupmenu.cpp:1816 src/gui/popupmenu.cpp:1861
-#: src/gui/popupmenu.cpp:1896 src/gui/popupmenu.cpp:1935
-#: src/gui/popupmenu.cpp:1987 src/gui/popupmenu.cpp:2007
+#: src/gui/npcpostdialog.cpp:58 src/gui/popupmenu.cpp:344
+#: src/gui/popupmenu.cpp:365 src/gui/popupmenu.cpp:500
+#: src/gui/popupmenu.cpp:526 src/gui/popupmenu.cpp:550
+#: src/gui/popupmenu.cpp:563 src/gui/popupmenu.cpp:581
+#: src/gui/popupmenu.cpp:805 src/gui/popupmenu.cpp:829
+#: src/gui/popupmenu.cpp:1775 src/gui/popupmenu.cpp:1803
+#: src/gui/popupmenu.cpp:1859 src/gui/popupmenu.cpp:1904
+#: src/gui/popupmenu.cpp:1939 src/gui/popupmenu.cpp:1978
+#: src/gui/popupmenu.cpp:2030 src/gui/popupmenu.cpp:2050
#: src/gui/quitdialog.cpp:55 src/gui/register.cpp:82 src/gui/setup.cpp:72
#: src/gui/socialwindow.cpp:1077 src/gui/textcommandeditor.cpp:241
#: src/gui/textdialog.cpp:51 src/gui/unregisterdialog.cpp:59
@@ -513,7 +517,7 @@ msgstr "Il nuovo indirizzo email deve essere lungo meno di %d caratteri."
#: src/gui/changeemaildialog.cpp:146
msgid "The email address entries mismatch."
-msgstr ""
+msgstr "Gli indirizzi email immessi non coincidono."
#: src/gui/changepassworddialog.cpp:50 src/gui/changepassworddialog.cpp:59
#: src/gui/charselectdialog.cpp:139
@@ -545,7 +549,7 @@ msgstr "La nuova password deve essere più corta di %d caratteri."
#: src/gui/changepassworddialog.cpp:134
msgid "The new password entries mismatch."
-msgstr ""
+msgstr "Le password immesse non coincidono."
#: src/gui/charcreatedialog.cpp:58
msgid "Create Character"
@@ -651,7 +655,7 @@ msgid "Enter password:"
msgstr ""
#: src/gui/charselectdialog.cpp:410 src/gui/serverdialog.cpp:298
-#: src/gui/setup_relations.cpp:243 src/gui/shopwindow.cpp:122
+#: src/gui/setup_relations.cpp:244 src/gui/shopwindow.cpp:122
#: src/gui/shopwindow.cpp:125 src/gui/textcommandeditor.cpp:244
msgid "Delete"
msgstr "Elimina"
@@ -727,8 +731,9 @@ msgstr "Arcobaleno 3"
#: src/gui/chatwindow.cpp:142 src/gui/inventorywindow.cpp:90
#: src/gui/itemamountwindow.cpp:93 src/gui/logindialog.cpp:78
-#: src/gui/setup_relations.cpp:221 src/gui/setup_theme.cpp:73
-#: src/gui/setup_theme.cpp:127 src/gui/setup_video.cpp:211
+#: src/gui/setup_joystick.cpp:60 src/gui/setup_relations.cpp:222
+#: src/gui/setup_theme.cpp:74 src/gui/setup_theme.cpp:128
+#: src/gui/setup_theme.cpp:173 src/gui/setup_video.cpp:211
#: src/gui/textcommandeditor.cpp:102 src/gui/textcommandeditor.cpp:141
#: src/gui/textcommandeditor.cpp:160
msgid "???"
@@ -738,12 +743,12 @@ msgstr "???"
msgid "Chat"
msgstr "Chat"
-#: src/gui/chatwindow.cpp:613
+#: src/gui/chatwindow.cpp:615
#, c-format
msgid "Present: %s; %d players are present."
msgstr "Presente: %s; %d giocatori sono presenti."
-#: src/gui/chatwindow.cpp:1000
+#: src/gui/chatwindow.cpp:1002
#, c-format
msgid "Whispering to %s: %s"
msgstr "Sussurra a %s: %s"
@@ -757,10 +762,12 @@ msgid "No"
msgstr "No"
#: src/gui/confirmdialog.cpp:52 src/gui/popupmenu.cpp:146
-#: src/gui/popupmenu.cpp:153 src/gui/popupmenu.cpp:161
-#: src/gui/popupmenu.cpp:380 src/gui/popupmenu.cpp:387
-#: src/gui/popupmenu.cpp:395 src/gui/popupmenu.cpp:626
-#: src/gui/popupmenu.cpp:633 src/gui/popupmenu.cpp:641
+#: src/gui/popupmenu.cpp:154 src/gui/popupmenu.cpp:163
+#: src/gui/popupmenu.cpp:171 src/gui/popupmenu.cpp:391
+#: src/gui/popupmenu.cpp:399 src/gui/popupmenu.cpp:408
+#: src/gui/popupmenu.cpp:427 src/gui/popupmenu.cpp:648
+#: src/gui/popupmenu.cpp:656 src/gui/popupmenu.cpp:665
+#: src/gui/popupmenu.cpp:679
msgid "Ignore"
msgstr "Ignora"
@@ -838,7 +845,7 @@ msgstr ""
#: src/gui/debugwindow.cpp:233
#, c-format
msgid "Particle count: %d"
-msgstr ""
+msgstr "Conto particelle: %d"
#: src/gui/debugwindow.cpp:270 src/gui/debugwindow.cpp:301
#: src/gui/debugwindow.cpp:345
@@ -906,7 +913,7 @@ msgstr ""
#: src/gui/didyouknowwindow.cpp:63 src/gui/helpwindow.cpp:59
#: src/gui/inventorywindow.cpp:205 src/gui/npcdialog.cpp:53
-#: src/gui/popupmenu.cpp:574 src/gui/shopwindow.cpp:113
+#: src/gui/popupmenu.cpp:596 src/gui/shopwindow.cpp:113
msgid "Close"
msgstr "Chiudi"
@@ -933,8 +940,8 @@ msgstr "Equipaggiamento"
#: src/gui/equipmentwindow.cpp:95 src/gui/inventorywindow.cpp:160
#: src/gui/inventorywindow.cpp:545 src/gui/inventorywindow.cpp:554
-#: src/gui/popupmenu.cpp:1694 src/gui/popupmenu.cpp:1786
-#: src/gui/popupmenu.cpp:1831
+#: src/gui/popupmenu.cpp:1737 src/gui/popupmenu.cpp:1829
+#: src/gui/popupmenu.cpp:1874
msgid "Unequip"
msgstr "Togli"
@@ -976,31 +983,31 @@ msgid "Filter:"
msgstr "Filtro:"
#: src/gui/inventorywindow.cpp:158 src/gui/inventorywindow.cpp:547
-#: src/gui/inventorywindow.cpp:556 src/gui/popupmenu.cpp:1696
-#: src/gui/popupmenu.cpp:1788 src/gui/popupmenu.cpp:1833
+#: src/gui/inventorywindow.cpp:556 src/gui/popupmenu.cpp:1739
+#: src/gui/popupmenu.cpp:1831 src/gui/popupmenu.cpp:1876
msgid "Equip"
msgstr "Equipaggia"
#: src/gui/inventorywindow.cpp:159 src/gui/inventorywindow.cpp:548
-#: src/gui/inventorywindow.cpp:552 src/gui/popupmenu.cpp:1700
-#: src/gui/popupmenu.cpp:1755 src/gui/popupmenu.cpp:1792
-#: src/gui/popupmenu.cpp:1837
+#: src/gui/inventorywindow.cpp:552 src/gui/popupmenu.cpp:1743
+#: src/gui/popupmenu.cpp:1798 src/gui/popupmenu.cpp:1835
+#: src/gui/popupmenu.cpp:1880
msgid "Use"
msgstr "Usa"
#: src/gui/inventorywindow.cpp:173 src/gui/inventorywindow.cpp:652
-#: src/gui/popupmenu.cpp:1705 src/gui/popupmenu.cpp:1797
-#: src/gui/popupmenu.cpp:1842
+#: src/gui/popupmenu.cpp:1748 src/gui/popupmenu.cpp:1840
+#: src/gui/popupmenu.cpp:1885
msgid "Drop..."
msgstr "Lascia..."
-#: src/gui/inventorywindow.cpp:174 src/gui/popupmenu.cpp:1714
-#: src/gui/popupmenu.cpp:1806 src/gui/popupmenu.cpp:1851
+#: src/gui/inventorywindow.cpp:174 src/gui/popupmenu.cpp:1757
+#: src/gui/popupmenu.cpp:1849 src/gui/popupmenu.cpp:1894
msgid "Split"
msgstr "Dividi"
#: src/gui/inventorywindow.cpp:175 src/gui/outfitwindow.cpp:60
-#: src/gui/popupmenu.cpp:537
+#: src/gui/popupmenu.cpp:559
msgid "Outfits"
msgstr "Attrezzatura"
@@ -1009,17 +1016,17 @@ msgid "Weight:"
msgstr "Peso:"
#: src/gui/inventorywindow.cpp:203 src/gui/inventorywindow.cpp:643
-#: src/gui/popupmenu.cpp:1680 src/gui/popupmenu.cpp:1809
-#: src/gui/popupmenu.cpp:1854 src/gui/setup.cpp:73
+#: src/gui/popupmenu.cpp:1723 src/gui/popupmenu.cpp:1852
+#: src/gui/popupmenu.cpp:1897 src/gui/setup.cpp:73
msgid "Store"
msgstr "Magazzino"
-#: src/gui/inventorywindow.cpp:204 src/gui/popupmenu.cpp:1721
+#: src/gui/inventorywindow.cpp:204 src/gui/popupmenu.cpp:1764
msgid "Retrieve"
msgstr "Recupera"
-#: src/gui/inventorywindow.cpp:654 src/gui/popupmenu.cpp:1710
-#: src/gui/popupmenu.cpp:1802 src/gui/popupmenu.cpp:1847
+#: src/gui/inventorywindow.cpp:654 src/gui/popupmenu.cpp:1753
+#: src/gui/popupmenu.cpp:1845 src/gui/popupmenu.cpp:1890
#: src/gui/windowmenu.cpp:97
msgid "Drop"
msgstr "Lascia"
@@ -1259,7 +1266,7 @@ msgstr "Invia"
msgid "NPC"
msgstr "NPC"
-#: src/gui/npcdialog.cpp:108 src/gui/popupmenu.cpp:576
+#: src/gui/npcdialog.cpp:108 src/gui/popupmenu.cpp:598
msgid "Clear"
msgstr "Cancella"
@@ -1297,331 +1304,347 @@ msgstr "Rimuovi prima"
msgid "Away outfit"
msgstr "Away outfit"
-#: src/gui/popupmenu.cpp:132 src/gui/popupmenu.cpp:613
+#: src/gui/popupmenu.cpp:132 src/gui/popupmenu.cpp:635
#: src/gui/widgets/tradetab.cpp:44
msgid "Trade"
msgstr "Commercia"
-#: src/gui/popupmenu.cpp:134 src/gui/popupmenu.cpp:372
+#: src/gui/popupmenu.cpp:134 src/gui/popupmenu.cpp:383
msgid "Whisper"
msgstr ""
-#: src/gui/popupmenu.cpp:138 src/gui/popupmenu.cpp:618
+#: src/gui/popupmenu.cpp:138 src/gui/popupmenu.cpp:640
msgid "Heal"
msgstr ""
-#: src/gui/popupmenu.cpp:144 src/gui/popupmenu.cpp:378
-#: src/gui/popupmenu.cpp:624
+#: src/gui/popupmenu.cpp:144 src/gui/popupmenu.cpp:389
+#: src/gui/popupmenu.cpp:646
msgid "Be friend"
msgstr ""
-#: src/gui/popupmenu.cpp:145 src/gui/popupmenu.cpp:152
-#: src/gui/popupmenu.cpp:160 src/gui/popupmenu.cpp:178
-#: src/gui/popupmenu.cpp:379 src/gui/popupmenu.cpp:386
-#: src/gui/popupmenu.cpp:394 src/gui/popupmenu.cpp:412
-#: src/gui/popupmenu.cpp:625 src/gui/popupmenu.cpp:632
-#: src/gui/popupmenu.cpp:640 src/gui/popupmenu.cpp:658
+#: src/gui/popupmenu.cpp:145 src/gui/popupmenu.cpp:153
+#: src/gui/popupmenu.cpp:162 src/gui/popupmenu.cpp:170
+#: src/gui/popupmenu.cpp:189 src/gui/popupmenu.cpp:390
+#: src/gui/popupmenu.cpp:398 src/gui/popupmenu.cpp:407
+#: src/gui/popupmenu.cpp:426 src/gui/popupmenu.cpp:434
+#: src/gui/popupmenu.cpp:647 src/gui/popupmenu.cpp:655
+#: src/gui/popupmenu.cpp:664 src/gui/popupmenu.cpp:678
+#: src/gui/popupmenu.cpp:691
msgid "Disregard"
msgstr ""
-#: src/gui/popupmenu.cpp:147 src/gui/popupmenu.cpp:154
-#: src/gui/popupmenu.cpp:381 src/gui/popupmenu.cpp:388
-#: src/gui/popupmenu.cpp:627 src/gui/popupmenu.cpp:634
+#: src/gui/popupmenu.cpp:147 src/gui/popupmenu.cpp:155
+#: src/gui/popupmenu.cpp:172 src/gui/popupmenu.cpp:392
+#: src/gui/popupmenu.cpp:400 src/gui/popupmenu.cpp:428
+#: src/gui/popupmenu.cpp:649 src/gui/popupmenu.cpp:657
+#: src/gui/popupmenu.cpp:680
msgid "Black list"
msgstr ""
-#: src/gui/popupmenu.cpp:148 src/gui/popupmenu.cpp:155
-#: src/gui/popupmenu.cpp:162 src/gui/popupmenu.cpp:168
-#: src/gui/popupmenu.cpp:173 src/gui/popupmenu.cpp:382
-#: src/gui/popupmenu.cpp:389 src/gui/popupmenu.cpp:396
-#: src/gui/popupmenu.cpp:402 src/gui/popupmenu.cpp:407
-#: src/gui/popupmenu.cpp:628 src/gui/popupmenu.cpp:635
-#: src/gui/popupmenu.cpp:642 src/gui/popupmenu.cpp:648
-#: src/gui/popupmenu.cpp:653
+#: src/gui/popupmenu.cpp:148 src/gui/popupmenu.cpp:156
+#: src/gui/popupmenu.cpp:164 src/gui/popupmenu.cpp:393
+#: src/gui/popupmenu.cpp:401 src/gui/popupmenu.cpp:409
+#: src/gui/popupmenu.cpp:650 src/gui/popupmenu.cpp:658
+#: src/gui/popupmenu.cpp:666
+msgid "Set as enemy"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:149 src/gui/popupmenu.cpp:157
+#: src/gui/popupmenu.cpp:165 src/gui/popupmenu.cpp:173
+#: src/gui/popupmenu.cpp:179 src/gui/popupmenu.cpp:184
+#: src/gui/popupmenu.cpp:394 src/gui/popupmenu.cpp:402
+#: src/gui/popupmenu.cpp:410 src/gui/popupmenu.cpp:416
+#: src/gui/popupmenu.cpp:421 src/gui/popupmenu.cpp:429
+#: src/gui/popupmenu.cpp:651 src/gui/popupmenu.cpp:659
+#: src/gui/popupmenu.cpp:667 src/gui/popupmenu.cpp:673
+#: src/gui/popupmenu.cpp:681 src/gui/popupmenu.cpp:686
msgid "Erase"
msgstr ""
-#: src/gui/popupmenu.cpp:159 src/gui/popupmenu.cpp:166
-#: src/gui/popupmenu.cpp:172 src/gui/popupmenu.cpp:177
-#: src/gui/popupmenu.cpp:393 src/gui/popupmenu.cpp:400
-#: src/gui/popupmenu.cpp:406 src/gui/popupmenu.cpp:411
-#: src/gui/popupmenu.cpp:639 src/gui/popupmenu.cpp:646
-#: src/gui/popupmenu.cpp:652 src/gui/popupmenu.cpp:657
+#: src/gui/popupmenu.cpp:161 src/gui/popupmenu.cpp:169
+#: src/gui/popupmenu.cpp:177 src/gui/popupmenu.cpp:183
+#: src/gui/popupmenu.cpp:188 src/gui/popupmenu.cpp:406
+#: src/gui/popupmenu.cpp:414 src/gui/popupmenu.cpp:420
+#: src/gui/popupmenu.cpp:425 src/gui/popupmenu.cpp:433
+#: src/gui/popupmenu.cpp:663 src/gui/popupmenu.cpp:671
+#: src/gui/popupmenu.cpp:677 src/gui/popupmenu.cpp:685
+#: src/gui/popupmenu.cpp:690
msgid "Unignore"
msgstr ""
-#: src/gui/popupmenu.cpp:167 src/gui/popupmenu.cpp:179
-#: src/gui/popupmenu.cpp:401 src/gui/popupmenu.cpp:413
-#: src/gui/popupmenu.cpp:647 src/gui/popupmenu.cpp:659
-#: src/playerrelations.cpp:421
+#: src/gui/popupmenu.cpp:178 src/gui/popupmenu.cpp:190
+#: src/gui/popupmenu.cpp:415 src/gui/popupmenu.cpp:435
+#: src/gui/popupmenu.cpp:672 src/gui/popupmenu.cpp:692
+#: src/playerrelations.cpp:446
msgid "Completely ignore"
msgstr ""
-#: src/gui/popupmenu.cpp:187 src/gui/popupmenu.cpp:421
-#: src/gui/popupmenu.cpp:667 src/gui/popupmenu.cpp:746
+#: src/gui/popupmenu.cpp:198 src/gui/popupmenu.cpp:443
+#: src/gui/popupmenu.cpp:700 src/gui/popupmenu.cpp:779
msgid "Follow"
msgstr ""
-#: src/gui/popupmenu.cpp:188 src/gui/popupmenu.cpp:422
-#: src/gui/popupmenu.cpp:668 src/gui/popupmenu.cpp:747
+#: src/gui/popupmenu.cpp:199 src/gui/popupmenu.cpp:444
+#: src/gui/popupmenu.cpp:701 src/gui/popupmenu.cpp:780
msgid "Imitation"
msgstr ""
-#: src/gui/popupmenu.cpp:197 src/gui/popupmenu.cpp:700
+#: src/gui/popupmenu.cpp:208 src/gui/popupmenu.cpp:733
msgid "Invite to party"
msgstr ""
-#: src/gui/popupmenu.cpp:202 src/gui/popupmenu.cpp:433
-#: src/gui/popupmenu.cpp:705
+#: src/gui/popupmenu.cpp:213 src/gui/popupmenu.cpp:455
+#: src/gui/popupmenu.cpp:738
msgid "Kick from party"
msgstr ""
-#: src/gui/popupmenu.cpp:217 src/gui/popupmenu.cpp:229
-#: src/gui/popupmenu.cpp:450 src/gui/popupmenu.cpp:722
+#: src/gui/popupmenu.cpp:228 src/gui/popupmenu.cpp:240
+#: src/gui/popupmenu.cpp:472 src/gui/popupmenu.cpp:755
msgid "Kick from guild"
msgstr ""
-#: src/gui/popupmenu.cpp:222 src/gui/popupmenu.cpp:234
-#: src/gui/popupmenu.cpp:455 src/gui/popupmenu.cpp:727
+#: src/gui/popupmenu.cpp:233 src/gui/popupmenu.cpp:245
+#: src/gui/popupmenu.cpp:477 src/gui/popupmenu.cpp:760
msgid "Change pos in guild"
msgstr ""
-#: src/gui/popupmenu.cpp:242 src/gui/popupmenu.cpp:463
-#: src/gui/popupmenu.cpp:736
+#: src/gui/popupmenu.cpp:253 src/gui/popupmenu.cpp:485
+#: src/gui/popupmenu.cpp:769
msgid "Invite to guild"
msgstr ""
-#: src/gui/popupmenu.cpp:250
+#: src/gui/popupmenu.cpp:261
msgid "Kick player"
msgstr ""
-#: src/gui/popupmenu.cpp:252
+#: src/gui/popupmenu.cpp:263
msgid "Nuke"
msgstr ""
-#: src/gui/popupmenu.cpp:254 src/gui/popupmenu.cpp:670
-#: src/gui/popupmenu.cpp:759
+#: src/gui/popupmenu.cpp:265 src/gui/popupmenu.cpp:703
+#: src/gui/popupmenu.cpp:792
msgid "Show Items"
msgstr ""
-#: src/gui/popupmenu.cpp:255 src/gui/popupmenu.cpp:671
-#: src/gui/popupmenu.cpp:760 src/gui/popupmenu.cpp:2004
+#: src/gui/popupmenu.cpp:266 src/gui/popupmenu.cpp:704
+#: src/gui/popupmenu.cpp:793 src/gui/popupmenu.cpp:2047
msgid "Undress"
msgstr ""
-#: src/gui/popupmenu.cpp:256 src/gui/popupmenu.cpp:286
-#: src/gui/popupmenu.cpp:423 src/gui/popupmenu.cpp:672
-#: src/gui/popupmenu.cpp:761
+#: src/gui/popupmenu.cpp:267 src/gui/popupmenu.cpp:297
+#: src/gui/popupmenu.cpp:445 src/gui/popupmenu.cpp:705
+#: src/gui/popupmenu.cpp:794
msgid "Add comment"
msgstr ""
-#: src/gui/popupmenu.cpp:271 src/gui/popupmenu.cpp:471
-#: src/gui/popupmenu.cpp:687 src/gui/popupmenu.cpp:766
+#: src/gui/popupmenu.cpp:282 src/gui/popupmenu.cpp:493
+#: src/gui/popupmenu.cpp:720 src/gui/popupmenu.cpp:799
msgid "Buy (?)"
msgstr ""
-#: src/gui/popupmenu.cpp:272 src/gui/popupmenu.cpp:472
-#: src/gui/popupmenu.cpp:688 src/gui/popupmenu.cpp:767
+#: src/gui/popupmenu.cpp:283 src/gui/popupmenu.cpp:494
+#: src/gui/popupmenu.cpp:721 src/gui/popupmenu.cpp:800
msgid "Sell (?)"
msgstr ""
-#: src/gui/popupmenu.cpp:297
+#: src/gui/popupmenu.cpp:308
msgid "Kick"
msgstr ""
-#: src/gui/popupmenu.cpp:308
+#: src/gui/popupmenu.cpp:319
msgid "Remove from attack list"
msgstr ""
-#: src/gui/popupmenu.cpp:313
+#: src/gui/popupmenu.cpp:324
msgid "Add to priority attack list"
msgstr ""
-#: src/gui/popupmenu.cpp:315
+#: src/gui/popupmenu.cpp:326
msgid "Add to attack list"
msgstr ""
-#: src/gui/popupmenu.cpp:317
+#: src/gui/popupmenu.cpp:328
msgid "Add to ignore list"
msgstr ""
-#: src/gui/popupmenu.cpp:330 src/gui/popupmenu.cpp:475
+#: src/gui/popupmenu.cpp:341 src/gui/popupmenu.cpp:497
msgid "Add name to chat"
msgstr ""
-#: src/gui/popupmenu.cpp:500
+#: src/gui/popupmenu.cpp:522
msgid "Pick up"
msgstr ""
-#: src/gui/popupmenu.cpp:501 src/gui/popupmenu.cpp:1730
-#: src/gui/popupmenu.cpp:1810 src/gui/popupmenu.cpp:1855
+#: src/gui/popupmenu.cpp:523 src/gui/popupmenu.cpp:1773
+#: src/gui/popupmenu.cpp:1853 src/gui/popupmenu.cpp:1898
msgid "Add to chat"
msgstr "Aggiungi alla chat"
-#: src/gui/popupmenu.cpp:518
+#: src/gui/popupmenu.cpp:540
msgid "Map Item"
msgstr "Oggetto mappa"
-#: src/gui/popupmenu.cpp:519
+#: src/gui/popupmenu.cpp:541
msgid "Rename"
msgstr ""
-#: src/gui/popupmenu.cpp:520 src/gui/popupmenu.cpp:1965
-#: src/gui/popupmenu.cpp:1976 src/gui/popupmenu.cpp:1980
+#: src/gui/popupmenu.cpp:542 src/gui/popupmenu.cpp:2008
+#: src/gui/popupmenu.cpp:2019 src/gui/popupmenu.cpp:2023
msgid "Remove"
msgstr ""
-#: src/gui/popupmenu.cpp:525
+#: src/gui/popupmenu.cpp:547
msgid "Warp"
msgstr ""
-#: src/gui/popupmenu.cpp:538
+#: src/gui/popupmenu.cpp:560
msgid "Load old outfits"
msgstr ""
-#: src/gui/popupmenu.cpp:554 src/gui/windowmenu.cpp:96
+#: src/gui/popupmenu.cpp:576 src/gui/windowmenu.cpp:96
msgid "Spells"
msgstr "Spells"
-#: src/gui/popupmenu.cpp:555
+#: src/gui/popupmenu.cpp:577
msgid "Load old spells"
msgstr ""
-#: src/gui/popupmenu.cpp:556
+#: src/gui/popupmenu.cpp:578
msgid "Edit spell"
msgstr ""
-#: src/gui/popupmenu.cpp:580
+#: src/gui/popupmenu.cpp:602
msgid "Disable highlight"
msgstr "Disabilita highlight"
-#: src/gui/popupmenu.cpp:582
+#: src/gui/popupmenu.cpp:604
msgid "Enable highlight"
msgstr "Abilita highlight"
-#: src/gui/popupmenu.cpp:584
+#: src/gui/popupmenu.cpp:606
msgid "Don't remove name"
msgstr ""
-#: src/gui/popupmenu.cpp:586
+#: src/gui/popupmenu.cpp:608
msgid "Remove name"
msgstr ""
-#: src/gui/popupmenu.cpp:588
+#: src/gui/popupmenu.cpp:610
msgid "Enable away"
msgstr ""
-#: src/gui/popupmenu.cpp:590
+#: src/gui/popupmenu.cpp:612
msgid "Disable away"
msgstr ""
-#: src/gui/popupmenu.cpp:595 src/gui/socialwindow.cpp:1141
+#: src/gui/popupmenu.cpp:617 src/gui/socialwindow.cpp:1141
msgid "Leave"
msgstr ""
-#: src/gui/popupmenu.cpp:780
+#: src/gui/popupmenu.cpp:813
msgid "Change guild position"
msgstr "Cambia posizione nella gilda"
#. TRANSLATORS: number of chars in string should be near original
-#: src/gui/popupmenu.cpp:1243
+#: src/gui/popupmenu.cpp:1286
msgid "Rename map sign "
-msgstr ""
+msgstr "Rinomina mappa"
#. TRANSLATORS: number of chars in string should be near original
-#: src/gui/popupmenu.cpp:1245
+#: src/gui/popupmenu.cpp:1288
msgid "Name: "
msgstr "Nome:"
#. TRANSLATORS: number of chars in string should be near original
-#: src/gui/popupmenu.cpp:1295
+#: src/gui/popupmenu.cpp:1338
msgid "Player comment "
msgstr ""
#. TRANSLATORS: number of chars in string should be near original
-#: src/gui/popupmenu.cpp:1297
+#: src/gui/popupmenu.cpp:1340
msgid "Comment: "
msgstr ""
-#: src/gui/popupmenu.cpp:1668
+#: src/gui/popupmenu.cpp:1711
msgid "Add to trade"
msgstr ""
-#: src/gui/popupmenu.cpp:1672
+#: src/gui/popupmenu.cpp:1715
msgid "Add to trade 10"
msgstr ""
-#: src/gui/popupmenu.cpp:1673
+#: src/gui/popupmenu.cpp:1716
msgid "Add to trade half"
msgstr ""
-#: src/gui/popupmenu.cpp:1674
+#: src/gui/popupmenu.cpp:1717
msgid "Add to trade all"
msgstr ""
-#: src/gui/popupmenu.cpp:1684
+#: src/gui/popupmenu.cpp:1727
msgid "Store 10"
msgstr "Salva 10"
-#: src/gui/popupmenu.cpp:1685
+#: src/gui/popupmenu.cpp:1728
msgid "Store half"
msgstr "Salva metà"
-#: src/gui/popupmenu.cpp:1686
+#: src/gui/popupmenu.cpp:1729
msgid "Store all"
msgstr "Salva tutto"
-#: src/gui/popupmenu.cpp:1706 src/gui/popupmenu.cpp:1798
-#: src/gui/popupmenu.cpp:1843
+#: src/gui/popupmenu.cpp:1749 src/gui/popupmenu.cpp:1841
+#: src/gui/popupmenu.cpp:1886
msgid "Drop all"
msgstr ""
-#: src/gui/popupmenu.cpp:1725
+#: src/gui/popupmenu.cpp:1768
msgid "Retrieve 10"
msgstr "Ritira 10"
-#: src/gui/popupmenu.cpp:1726
+#: src/gui/popupmenu.cpp:1769
msgid "Retrieve half"
msgstr "Ritira metà"
-#: src/gui/popupmenu.cpp:1727
+#: src/gui/popupmenu.cpp:1770
msgid "Retrieve all"
msgstr "Ritira tutto"
-#: src/gui/popupmenu.cpp:1758 src/gui/popupmenu.cpp:1814
+#: src/gui/popupmenu.cpp:1801 src/gui/popupmenu.cpp:1857
msgid "Load old item shortcuts"
msgstr "Carica vecchie scorciatoie oggetti"
-#: src/gui/popupmenu.cpp:1859
+#: src/gui/popupmenu.cpp:1902
msgid "Load old drop shortcuts"
msgstr "Carica vecchie scorciatoie drop"
-#: src/gui/popupmenu.cpp:1885 src/gui/popupmenu.cpp:1920
+#: src/gui/popupmenu.cpp:1928 src/gui/popupmenu.cpp:1963
msgid "Hide"
msgstr ""
-#: src/gui/popupmenu.cpp:1891 src/gui/popupmenu.cpp:1926
+#: src/gui/popupmenu.cpp:1934 src/gui/popupmenu.cpp:1969
msgid "Show"
msgstr ""
-#: src/gui/popupmenu.cpp:1932
+#: src/gui/popupmenu.cpp:1975
msgid "Reset yellow bar"
msgstr ""
-#: src/gui/popupmenu.cpp:1934 src/gui/statuswindow.cpp:241
+#: src/gui/popupmenu.cpp:1977 src/gui/statuswindow.cpp:242
msgid "Copy to chat"
msgstr ""
-#: src/gui/popupmenu.cpp:1952 src/gui/socialwindow.cpp:958
+#: src/gui/popupmenu.cpp:1995 src/gui/setup_theme.cpp:88
+#: src/gui/setup_theme.cpp:145 src/gui/socialwindow.cpp:958
#: src/gui/socialwindow.cpp:993 src/gui/socialwindow.cpp:1028
msgid "(default)"
msgstr ""
-#: src/gui/popupmenu.cpp:1962 src/gui/popupmenu.cpp:1973
+#: src/gui/popupmenu.cpp:2005 src/gui/popupmenu.cpp:2016
msgid "Move up"
msgstr ""
-#: src/gui/popupmenu.cpp:1964 src/gui/popupmenu.cpp:1975
+#: src/gui/popupmenu.cpp:2007 src/gui/popupmenu.cpp:2018
msgid "Move down"
msgstr ""
@@ -1787,7 +1810,7 @@ msgstr "Rimuovi colori dei messaggi ricevuti in chat"
#: src/gui/setup_chat.cpp:60
msgid "Show chat colors list"
-msgstr ""
+msgstr "Mostra colori per la chat"
#: src/gui/setup_chat.cpp:64
msgid "Commands"
@@ -1803,11 +1826,11 @@ msgstr ""
#: src/gui/setup_chat.cpp:72
msgid "Limit max chars in chat line"
-msgstr ""
+msgstr "Limita un massimo di caratteri per messaggio"
#: src/gui/setup_chat.cpp:75
msgid "Limit max lines in chat"
-msgstr ""
+msgstr "Limita un massimo di messaggi per la chat"
#: src/gui/setup_chat.cpp:79
msgid "Logs"
@@ -1815,11 +1838,11 @@ msgstr ""
#: src/gui/setup_chat.cpp:81
msgid "Enable chat Log"
-msgstr ""
+msgstr "Abilita I logs della chat"
#: src/gui/setup_chat.cpp:84
msgid "Show chat history"
-msgstr ""
+msgstr "Mostra la storia della chat"
#: src/gui/setup_chat.cpp:88
msgid "Messages"
@@ -1827,7 +1850,7 @@ msgstr ""
#: src/gui/setup_chat.cpp:90
msgid "Hide shop messages"
-msgstr ""
+msgstr "Nascondi i messaggi del negozio"
#: src/gui/setup_chat.cpp:94
msgid "Tabs"
@@ -1843,19 +1866,19 @@ msgstr "Salva i messaggi delle magie nella debug tab"
#: src/gui/setup_chat.cpp:102
msgid "Show server messages in debug tab"
-msgstr ""
+msgstr "Mostra i messaggi del server nella chat di debug"
#: src/gui/setup_chat.cpp:105
msgid "Enable trade tab"
-msgstr ""
+msgstr "Abilita la chat di commercio"
#: src/gui/setup_chat.cpp:108
msgid "Enable battle tab"
-msgstr ""
+msgstr "Abilita la chat di battaglia"
#: src/gui/setup_chat.cpp:111
msgid "Show battle events"
-msgstr ""
+msgstr "Mostra gli eventi della battaglia"
#: src/gui/setup_chat.cpp:114
msgid "Resize chat tabs if need"
@@ -1887,7 +1910,7 @@ msgstr "Come appaiono i colori"
#: src/gui/setup_colors.cpp:75
msgid "Type:"
-msgstr ""
+msgstr "Type:"
#: src/gui/setup_colors.cpp:86 src/gui/setup_colors.cpp:407
msgid "Static"
@@ -1910,7 +1933,7 @@ msgstr "Gamma"
#: src/gui/setup_colors.cpp:97 src/gui/setup_colors.cpp:319
msgid "Delay:"
-msgstr ""
+msgstr "Ritardo: "
#: src/gui/setup_colors.cpp:112
msgid "Red:"
@@ -1926,7 +1949,7 @@ msgstr "blu"
#: src/gui/setup_colors.cpp:314
msgid "Alpha:"
-msgstr ""
+msgstr "Alfa:"
#: src/gui/setup.cpp:71
msgid "Apply"
@@ -1936,29 +1959,33 @@ msgstr "Applica"
msgid "Reset Windows"
msgstr "Resetta finestre"
-#: src/gui/setup_joystick.cpp:40 src/gui/setup_joystick.cpp:79
+#: src/gui/setup_joystick.cpp:70 src/gui/setup_joystick.cpp:142
msgid "Press the button to start calibration"
msgstr "Premi il pulsante per cominciare la calibrazione"
-#: src/gui/setup_joystick.cpp:41 src/gui/setup_joystick.cpp:77
+#: src/gui/setup_joystick.cpp:71 src/gui/setup_joystick.cpp:140
msgid "Calibrate"
msgstr "Calibra"
-#: src/gui/setup_joystick.cpp:42
+#: src/gui/setup_joystick.cpp:72
msgid "Enable joystick"
msgstr "Abilita joystick"
-#: src/gui/setup_joystick.cpp:44
+#: src/gui/setup_joystick.cpp:75
+msgid "Use joystick if client window inactive"
+msgstr ""
+
+#: src/gui/setup_joystick.cpp:78
msgid "Joystick"
msgstr "Joystick"
-#: src/gui/setup_joystick.cpp:84
+#: src/gui/setup_joystick.cpp:147
msgid "Stop"
msgstr "Ferma"
-#: src/gui/setup_joystick.cpp:85
-msgid "Rotate the stick"
-msgstr "Ruota la manopola"
+#: src/gui/setup_joystick.cpp:149
+msgid "Rotate the stick and dont press buttons"
+msgstr ""
#: src/gui/setup_keyboard.cpp:80
msgid "Keyboard"
@@ -1970,7 +1997,7 @@ msgstr "Imposta"
#: src/gui/setup_keyboard.cpp:93
msgid "Unassign"
-msgstr ""
+msgstr "Annullare l'assegnazione"
#: src/gui/setup_keyboard.cpp:97
msgid "Default"
@@ -1982,7 +2009,7 @@ msgstr "Sono stati rilevati conflitti nei tasti."
#: src/gui/setup_other.cpp:39
msgid "Misc"
-msgstr ""
+msgstr "Varie"
#: src/gui/setup_other.cpp:45 src/gui/userpalette.cpp:125
msgid "Monsters"
@@ -1990,19 +2017,19 @@ msgstr "Mostri"
#: src/gui/setup_other.cpp:47
msgid "Show damage inflicted to monsters"
-msgstr ""
+msgstr "Mostra danno afflitto ai nemici"
#: src/gui/setup_other.cpp:50
msgid "Auto target only reachable monsters"
-msgstr ""
+msgstr "Target automatico solo sui nemici raggiungibili"
#: src/gui/setup_other.cpp:53
msgid "Highlight monster attack range"
-msgstr ""
+msgstr "Evidenzia distanza massima di attacco del nemico"
#: src/gui/setup_other.cpp:57
msgid "Show monster hp bar"
-msgstr ""
+msgstr "Mostra la barra hp dei nemici, punti vita"
#: src/gui/setup_other.cpp:60
msgid "Cycle monster targets"
@@ -2014,15 +2041,15 @@ msgstr ""
#: src/gui/setup_other.cpp:69
msgid "Highlight map portals"
-msgstr ""
+msgstr "Evidenzia i cambiamenti di mappa"
#: src/gui/setup_other.cpp:72
msgid "Highlight floor items"
-msgstr ""
+msgstr "Evidenzia oggetti sul terreno"
#: src/gui/setup_other.cpp:75
msgid "Highlight player attack range"
-msgstr ""
+msgstr "Evidenzia distanza massima d'attacco"
#: src/gui/setup_other.cpp:78
msgid "Show extended minimaps"
@@ -2030,11 +2057,11 @@ msgstr ""
#: src/gui/setup_other.cpp:81
msgid "Draw path"
-msgstr ""
+msgstr "Traccia sentiero"
#: src/gui/setup_other.cpp:84
msgid "Draw hotkeys on map"
-msgstr ""
+msgstr "Mostra hotkeys sulla mappa"
#: src/gui/setup_other.cpp:87
msgid "Enable lazy scrolling"
@@ -2054,19 +2081,19 @@ msgstr ""
#: src/gui/setup_other.cpp:99
msgid "Auto fix position"
-msgstr ""
+msgstr "Correggi posizione automaticamente"
#: src/gui/setup_other.cpp:102
msgid "Attack while moving"
-msgstr ""
+msgstr "Attacca in movimento"
#: src/gui/setup_other.cpp:105
msgid "Sync player move"
-msgstr ""
+msgstr "Sincronizza movimenti giocatore"
#: src/gui/setup_other.cpp:108
msgid "Crazy move A program"
-msgstr ""
+msgstr "Movimento matto \"A\""
#: src/gui/setup_other.cpp:112
msgid "Player"
@@ -2074,11 +2101,11 @@ msgstr ""
#: src/gui/setup_other.cpp:114
msgid "Show own hp bar"
-msgstr ""
+msgstr "Mostra la mia barra hp"
#: src/gui/setup_other.cpp:117
msgid "Enable quick stats"
-msgstr ""
+msgstr "Abilita statistiche veloci"
#: src/gui/setup_other.cpp:120
msgid "Cycle player targets"
@@ -2098,7 +2125,7 @@ msgstr ""
#: src/gui/setup_other.cpp:132
msgid "Show job"
-msgstr ""
+msgstr "Mostra barra lavoro"
#: src/gui/setup_other.cpp:135
msgid "Enable attack filter"
@@ -2110,15 +2137,15 @@ msgstr ""
#: src/gui/setup_other.cpp:144
msgid "Accept sell/buy requests"
-msgstr ""
+msgstr "Accetta richieste di vendita/acquisto"
#: src/gui/setup_other.cpp:147
msgid "Enable shop mode"
-msgstr ""
+msgstr "Abilita la modalità negozio"
#: src/gui/setup_other.cpp:153
msgid "Log NPC dialogue"
-msgstr ""
+msgstr "Log dialoghi NPC"
#: src/gui/setup_other.cpp:157
msgid "Bots support"
@@ -2138,27 +2165,27 @@ msgstr ""
#: src/gui/setup_other.cpp:171
msgid "Enable bot checker"
-msgstr ""
+msgstr "Abilita il bot checker"
#: src/gui/setup_other.cpp:174
-msgid "Enable buggy servers protection"
+msgid "Enable buggy servers protection (do not disable)"
msgstr ""
-#: src/gui/setup_other.cpp:177
+#: src/gui/setup_other.cpp:178
msgid "Enable debug log"
-msgstr ""
+msgstr "Abilita i log di debug"
-#: src/gui/setup_other.cpp:180
+#: src/gui/setup_other.cpp:181
msgid "Low traffic mode"
-msgstr ""
+msgstr "Modalità basso traffico"
-#: src/gui/setup_other.cpp:183
+#: src/gui/setup_other.cpp:184
msgid "Hide shield sprite"
-msgstr ""
+msgstr "Nascondi lo scudo"
-#: src/gui/setup_other.cpp:186
+#: src/gui/setup_other.cpp:187
msgid "Show background"
-msgstr ""
+msgstr "Mostra sfondo"
#: src/gui/setup_perfomance.cpp:55
msgid "Better perfomance (enable for better perfomance)"
@@ -2170,7 +2197,7 @@ msgstr ""
#: src/gui/setup_perfomance.cpp:61
msgid "Hw acceleration"
-msgstr ""
+msgstr "Accellerazione hw"
#: src/gui/setup_perfomance.cpp:64
msgid "Enable opacity cache (Software, can use many memory)"
@@ -2214,15 +2241,15 @@ msgstr "Giocatori"
#: src/gui/setup_players.cpp:54
msgid "Show gender"
-msgstr ""
+msgstr "Mostra il sesso"
#: src/gui/setup_players.cpp:57
msgid "Show level"
-msgstr ""
+msgstr "Mostra il livello"
#: src/gui/setup_players.cpp:60
msgid "Show own name"
-msgstr ""
+msgstr "Mostra il proprio nome"
#: src/gui/setup_players.cpp:63
msgid "Enable extended mouse targeting"
@@ -2230,7 +2257,7 @@ msgstr ""
#: src/gui/setup_players.cpp:66
msgid "Target dead players"
-msgstr ""
+msgstr "Target sui personaggi morti"
#: src/gui/setup_players.cpp:69
msgid "Visible names"
@@ -2278,112 +2305,172 @@ msgstr "Ignorato"
#: src/gui/setup_relations.cpp:74
msgid "Erased"
-msgstr ""
+msgstr "Cancellato"
#: src/gui/setup_relations.cpp:75
msgid "Blacklisted"
msgstr ""
-#: src/gui/setup_relations.cpp:239
+#: src/gui/setup_relations.cpp:76
+msgid "Enemy"
+msgstr ""
+
+#: src/gui/setup_relations.cpp:240
msgid "Allow trading"
msgstr "Permetti scambi"
-#: src/gui/setup_relations.cpp:241
+#: src/gui/setup_relations.cpp:242
msgid "Allow whispers"
msgstr "Permetti sussurri"
-#: src/gui/setup_relations.cpp:244
+#: src/gui/setup_relations.cpp:245
msgid "Old"
-msgstr ""
+msgstr "Vecchio"
-#: src/gui/setup_relations.cpp:246
+#: src/gui/setup_relations.cpp:247
msgid "Relations"
msgstr ""
-#: src/gui/setup_relations.cpp:271
+#: src/gui/setup_relations.cpp:272
msgid "When ignoring:"
msgstr "Quando si ignora:"
-#: src/gui/setup_theme.cpp:107
+#: src/gui/setup_theme.cpp:108
msgid "Tiny (10)"
-msgstr ""
+msgstr "Minuscolo (10)"
-#: src/gui/setup_theme.cpp:108
+#: src/gui/setup_theme.cpp:109
msgid "Small (11)"
-msgstr ""
+msgstr "Piccolo (11)"
-#: src/gui/setup_theme.cpp:109
+#: src/gui/setup_theme.cpp:110
msgid "Medium (12)"
-msgstr ""
+msgstr "Medio (12)"
-#: src/gui/setup_theme.cpp:110
+#: src/gui/setup_theme.cpp:111
msgid "Large (13)"
-msgstr ""
+msgstr "Largo (13)"
-#: src/gui/setup_theme.cpp:111
+#: src/gui/setup_theme.cpp:112
msgid "Big (14)"
-msgstr ""
+msgstr "Grande (14)"
-#: src/gui/setup_theme.cpp:112
+#: src/gui/setup_theme.cpp:113
msgid "Huge (15)"
+msgstr "Enorme (15)"
+
+#: src/gui/setup_theme.cpp:146
+msgid "Chinese (China)"
msgstr ""
-#: src/gui/setup_theme.cpp:143
-msgid "Theme"
+#: src/gui/setup_theme.cpp:147
+msgid "Czech"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:148
+msgid "English"
msgstr ""
-#: src/gui/setup_theme.cpp:145
+#: src/gui/setup_theme.cpp:149
+msgid "Finnish"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:150
+msgid "French"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:151
+msgid "German"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:152
+msgid "Indonesian"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:153
+msgid "Japanese"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:154
+msgid "Dutch (Belgium/Flemish)"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:155
+msgid "Portuguese"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:156
+msgid "Portuguese (Brazilian)"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:157
+msgid "Russian"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:158
+msgid "Spanish (Castilian)"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:190
+msgid "Theme"
+msgstr "Tema"
+
+#: src/gui/setup_theme.cpp:192
msgid "Gui theme"
+msgstr "Tema Gui"
+
+#: src/gui/setup_theme.cpp:193
+msgid "Language"
msgstr ""
-#: src/gui/setup_theme.cpp:146
+#: src/gui/setup_theme.cpp:194
msgid "Main Font"
-msgstr ""
+msgstr "Font principale"
-#: src/gui/setup_theme.cpp:147
+#: src/gui/setup_theme.cpp:195
msgid "Bold font"
-msgstr ""
+msgstr "Font in grassetto"
-#: src/gui/setup_theme.cpp:148
+#: src/gui/setup_theme.cpp:196
msgid "Particle font"
-msgstr ""
+msgstr "Font con particelle"
-#: src/gui/setup_theme.cpp:149
+#: src/gui/setup_theme.cpp:197
msgid "Help font"
-msgstr ""
+msgstr "Help font"
-#: src/gui/setup_theme.cpp:150
+#: src/gui/setup_theme.cpp:198
msgid "Secure font"
msgstr ""
-#: src/gui/setup_theme.cpp:151
+#: src/gui/setup_theme.cpp:199
msgid "Japanese font"
msgstr ""
-#: src/gui/setup_theme.cpp:183
+#: src/gui/setup_theme.cpp:236
msgid "Font size"
msgstr "Dimensione caratteri"
-#: src/gui/setup_theme.cpp:299
+#: src/gui/setup_theme.cpp:377
msgid "Theme Changed"
-msgstr ""
+msgstr "Tema cambiato"
-#: src/gui/setup_theme.cpp:300 src/gui/setup_video.cpp:619
+#: src/gui/setup_theme.cpp:378 src/gui/setup_video.cpp:619
#: src/gui/setup_video.cpp:624
msgid "Restart your client for the change to take effect."
msgstr "Per applicare le modifiche, è necessario riavviare il client."
#: src/gui/setup_video.cpp:194
msgid "Software"
-msgstr ""
+msgstr "Software"
#: src/gui/setup_video.cpp:195
msgid "Fast OpenGL"
-msgstr ""
+msgstr "OpenGL veloce"
#: src/gui/setup_video.cpp:196
msgid "Safe OpenGL"
-msgstr ""
+msgstr "OpenGL sicuro"
#: src/gui/setup_video.cpp:223
msgid "No text"
@@ -2435,7 +2522,7 @@ msgstr "Effetti particelle"
#: src/gui/setup_video.cpp:293
msgid "Show pickup notification"
-msgstr ""
+msgstr "Mostra notifica pickup"
#. TRANSLATORS: Refers to "Show own name"
#: src/gui/setup_video.cpp:295
@@ -2445,16 +2532,16 @@ msgstr "in chat"
#. TRANSLATORS: Refers to "Show own name"
#: src/gui/setup_video.cpp:297
msgid "as particle"
-msgstr ""
+msgstr "come particelle"
#: src/gui/setup_video.cpp:302
msgid "FPS limit:"
-msgstr ""
+msgstr "Limite FPS:"
#: src/gui/setup_video.cpp:306 src/gui/setup_video.cpp:341
#: src/gui/setup_video.cpp:562 src/gui/setup_video.cpp:710
msgid "Alt FPS limit: "
-msgstr ""
+msgstr "Limite Alt FPS: "
#: src/gui/setup_video.cpp:321
msgid "Overhead text"
@@ -2470,27 +2557,31 @@ msgstr "Suoni ambientali"
#: src/gui/setup_video.cpp:324
msgid "Particle detail"
-msgstr ""
+msgstr "Dettaglio particelle"
#: src/gui/setup_video.cpp:339 src/gui/setup_video.cpp:342
#: src/gui/setup_video.cpp:561 src/gui/setup_video.cpp:696
#: src/gui/setup_video.cpp:708
msgid "None"
-msgstr ""
+msgstr "Nessuno"
#: src/gui/setup_video.cpp:484
msgid ""
"Failed to switch to windowed mode and restoration of old mode also failed!"
msgstr ""
+"Cambio verso la modalità finestra fallito e anche il ripristino modalità "
+"precedente è fallito!"
#: src/gui/setup_video.cpp:490
msgid ""
"Failed to switch to fullscreen mode and restoration of old mode also failed!"
msgstr ""
+"Cambio verso la modalità schermo intero fallito e anche il ripristino della "
+"modalità precedente è fallito!"
#: src/gui/setup_video.cpp:501
msgid "Switching to Full Screen"
-msgstr ""
+msgstr "Cambiamento a schermo intero"
#: src/gui/setup_video.cpp:502
msgid "Restart needed for changes to take effect."
@@ -2498,7 +2589,7 @@ msgstr "Riavvio necessario affinchè i cambiamenti abbiano effetto."
#: src/gui/setup_video.cpp:514
msgid "Changing to OpenGL"
-msgstr ""
+msgstr "Cambiamento a OpenGL"
#: src/gui/setup_video.cpp:515
msgid "Applying change to OpenGL requires restart."
@@ -2506,11 +2597,11 @@ msgstr "Applicare le modifiche ad OpenGL richiede il riavvio."
#: src/gui/setup_video.cpp:602
msgid "Custom resolution (example: 1024x768)"
-msgstr ""
+msgstr "Risoluzione scelta (esempio 1024x768)"
#: src/gui/setup_video.cpp:603
msgid "Enter new resolution: "
-msgstr ""
+msgstr "Nuova risoluzione: "
#: src/gui/setup_video.cpp:618 src/gui/setup_video.cpp:623
msgid "Screen Resolution Changed"
@@ -2795,422 +2886,445 @@ msgstr ""
msgid "Specials"
msgstr ""
-#: src/gui/statuspopup.cpp:197
+#: src/gui/statuspopup.cpp:204
msgid "(D) default moves"
msgstr ""
-#: src/gui/statuspopup.cpp:202
+#: src/gui/statuspopup.cpp:209
msgid "(I) invert moves"
msgstr ""
-#: src/gui/statuspopup.cpp:207
+#: src/gui/statuspopup.cpp:214
msgid "(c) moves with some crazy moves"
msgstr ""
-#: src/gui/statuspopup.cpp:212
+#: src/gui/statuspopup.cpp:219
msgid "(C) moves with crazy moves"
msgstr ""
-#: src/gui/statuspopup.cpp:217
+#: src/gui/statuspopup.cpp:224
msgid "(d) double normal + crazy"
msgstr ""
-#: src/gui/statuspopup.cpp:222
+#: src/gui/statuspopup.cpp:229
msgid "(?) move"
msgstr ""
-#: src/gui/statuspopup.cpp:240
+#: src/gui/statuspopup.cpp:247
msgid "(a) custom crazy move"
msgstr ""
-#: src/gui/statuspopup.cpp:244
+#: src/gui/statuspopup.cpp:251
msgid "(?) crazy move"
msgstr ""
-#: src/gui/statuspopup.cpp:254
+#: src/gui/statuspopup.cpp:261
msgid "(0) default moves to target"
msgstr ""
-#: src/gui/statuspopup.cpp:259
+#: src/gui/statuspopup.cpp:266
msgid "(1) moves to target in distance 1"
msgstr ""
-#: src/gui/statuspopup.cpp:264
+#: src/gui/statuspopup.cpp:271
msgid "(2) moves to target in distance 2"
msgstr ""
-#: src/gui/statuspopup.cpp:269
+#: src/gui/statuspopup.cpp:276
msgid "(3) moves to target in distance 3"
msgstr ""
-#: src/gui/statuspopup.cpp:274
+#: src/gui/statuspopup.cpp:281
msgid "(5) moves to target in distance 5"
msgstr ""
-#: src/gui/statuspopup.cpp:279
+#: src/gui/statuspopup.cpp:286
msgid "(7) moves to target in distance 7"
msgstr ""
-#: src/gui/statuspopup.cpp:284
+#: src/gui/statuspopup.cpp:291
msgid "(A) moves to target in attack range"
msgstr ""
-#: src/gui/statuspopup.cpp:289
+#: src/gui/statuspopup.cpp:296
msgid "(a) archer attack range"
msgstr ""
-#: src/gui/statuspopup.cpp:294
+#: src/gui/statuspopup.cpp:301
msgid "(?) move to target"
msgstr ""
-#: src/gui/statuspopup.cpp:302
+#: src/gui/statuspopup.cpp:309
msgid "(D) default follow"
msgstr ""
-#: src/gui/statuspopup.cpp:306
+#: src/gui/statuspopup.cpp:313
msgid "(R) relative follow"
msgstr ""
-#: src/gui/statuspopup.cpp:310
+#: src/gui/statuspopup.cpp:317
msgid "(M) mirror follow"
msgstr ""
-#: src/gui/statuspopup.cpp:314
+#: src/gui/statuspopup.cpp:321
msgid "(P) pet follow"
msgstr ""
-#: src/gui/statuspopup.cpp:318
+#: src/gui/statuspopup.cpp:325
msgid "(?) unknown follow"
msgstr ""
-#: src/gui/statuspopup.cpp:327 src/gui/statuspopup.cpp:350
+#: src/gui/statuspopup.cpp:334 src/gui/statuspopup.cpp:357
msgid "(D) default attack"
msgstr ""
-#: src/gui/statuspopup.cpp:332
+#: src/gui/statuspopup.cpp:339
msgid "(s) switch attack without shield"
msgstr ""
-#: src/gui/statuspopup.cpp:337
+#: src/gui/statuspopup.cpp:344
msgid "(S) switch attack with shield"
msgstr ""
-#: src/gui/statuspopup.cpp:341 src/gui/statuspopup.cpp:366
+#: src/gui/statuspopup.cpp:348 src/gui/statuspopup.cpp:373
msgid "(?) attack"
msgstr ""
-#: src/gui/statuspopup.cpp:354
+#: src/gui/statuspopup.cpp:361
msgid "(G) go and attack"
msgstr ""
-#: src/gui/statuspopup.cpp:358
+#: src/gui/statuspopup.cpp:365
msgid "(A) go, attack, pickup"
msgstr ""
-#: src/gui/statuspopup.cpp:362
+#: src/gui/statuspopup.cpp:369
msgid "(d) without auto attack"
msgstr ""
-#: src/gui/statuspopup.cpp:380
+#: src/gui/statuspopup.cpp:387
msgid "(S) small pick up 1x1 cells"
msgstr ""
-#: src/gui/statuspopup.cpp:384
+#: src/gui/statuspopup.cpp:391
msgid "(D) default pick up 2x1 cells"
msgstr ""
-#: src/gui/statuspopup.cpp:388
+#: src/gui/statuspopup.cpp:395
msgid "(F) forward pick up 2x3 cells"
msgstr ""
-#: src/gui/statuspopup.cpp:392
+#: src/gui/statuspopup.cpp:399
msgid "(3) pick up 3x3 cells"
msgstr ""
-#: src/gui/statuspopup.cpp:396
+#: src/gui/statuspopup.cpp:403
msgid "(g) go and pick up in distance 4"
msgstr ""
-#: src/gui/statuspopup.cpp:400
+#: src/gui/statuspopup.cpp:407
msgid "(G) go and pick up in distance 8"
msgstr ""
-#: src/gui/statuspopup.cpp:404
+#: src/gui/statuspopup.cpp:411
msgid "(A) go and pick up in max distance"
msgstr ""
-#: src/gui/statuspopup.cpp:408
+#: src/gui/statuspopup.cpp:415
msgid "(?) pick up"
msgstr ""
-#: src/gui/statuspopup.cpp:417
+#: src/gui/statuspopup.cpp:424
msgid "(N) normal map view"
msgstr ""
-#: src/gui/statuspopup.cpp:421
+#: src/gui/statuspopup.cpp:428
msgid "(D) debug map view"
msgstr ""
-#: src/gui/statuspopup.cpp:425
+#: src/gui/statuspopup.cpp:432
msgid "(u) ultra map view"
msgstr ""
-#: src/gui/statuspopup.cpp:429
+#: src/gui/statuspopup.cpp:436
msgid "(U) ultra map view 2"
msgstr ""
-#: src/gui/statuspopup.cpp:433
+#: src/gui/statuspopup.cpp:440
msgid "(e) empty map view"
msgstr ""
-#: src/gui/statuspopup.cpp:437
+#: src/gui/statuspopup.cpp:444
msgid "(b) black & white map view"
msgstr ""
-#: src/gui/statuspopup.cpp:441
+#: src/gui/statuspopup.cpp:448
msgid "(?) map view"
msgstr ""
-#: src/gui/statuspopup.cpp:449
+#: src/gui/statuspopup.cpp:456
msgid "(f) use #flar for magic attack"
msgstr ""
-#: src/gui/statuspopup.cpp:454
+#: src/gui/statuspopup.cpp:461
msgid "(c) use #chiza for magic attack"
msgstr ""
-#: src/gui/statuspopup.cpp:459
+#: src/gui/statuspopup.cpp:466
msgid "(I) use #ingrav for magic attack"
msgstr ""
-#: src/gui/statuspopup.cpp:464
+#: src/gui/statuspopup.cpp:471
msgid "(F) use #frillyar for magic attack"
msgstr ""
-#: src/gui/statuspopup.cpp:469
+#: src/gui/statuspopup.cpp:476
msgid "(U) use #upmarmu for magic attack"
msgstr ""
-#: src/gui/statuspopup.cpp:473
+#: src/gui/statuspopup.cpp:480
msgid "(?) magic attack"
msgstr ""
-#: src/gui/statuspopup.cpp:482
+#: src/gui/statuspopup.cpp:489
+msgid "(a) attack all players"
+msgstr ""
+
+#: src/gui/statuspopup.cpp:493
+msgid "(f) attack not friends"
+msgstr ""
+
+#: src/gui/statuspopup.cpp:497
+msgid "(b) attack bad relations"
+msgstr ""
+
+#: src/gui/statuspopup.cpp:501
+msgid "(d) dont attack players"
+msgstr ""
+
+#: src/gui/statuspopup.cpp:505
+msgid "(?) pvp attack"
+msgstr ""
+
+#: src/gui/statuspopup.cpp:514
msgid "(D) default imitation"
msgstr ""
-#: src/gui/statuspopup.cpp:486
+#: src/gui/statuspopup.cpp:518
msgid "(O) outfits imitation"
msgstr ""
-#: src/gui/statuspopup.cpp:490
+#: src/gui/statuspopup.cpp:522
msgid "(?) imitation"
msgstr ""
-#: src/gui/statuspopup.cpp:499
+#: src/gui/statuspopup.cpp:531
msgid "(O) on keyboard"
msgstr ""
-#: src/gui/statuspopup.cpp:502
+#: src/gui/statuspopup.cpp:534
msgid "(A) away"
msgstr ""
-#: src/gui/statuspopup.cpp:505 src/gui/statuspopup.cpp:525
+#: src/gui/statuspopup.cpp:537 src/gui/statuspopup.cpp:557
msgid "(?) away"
msgstr ""
-#: src/gui/statuspopup.cpp:513
+#: src/gui/statuspopup.cpp:545
msgid "(G) game camera mode"
msgstr ""
-#: src/gui/statuspopup.cpp:517
+#: src/gui/statuspopup.cpp:549
msgid "(F) free camera mode"
msgstr ""
-#: src/gui/statuspopup.cpp:521
+#: src/gui/statuspopup.cpp:553
msgid "(D) design camera mode"
msgstr ""
-#: src/gui/statuspopup.cpp:532
+#: src/gui/statuspopup.cpp:564
msgid "Game modifiers are disabled"
msgstr ""
-#: src/gui/statuspopup.cpp:537
+#: src/gui/statuspopup.cpp:569
msgid "Game modifiers are enabled"
msgstr ""
-#: src/gui/statuswindow.cpp:143 src/gui/statuswindow.cpp:273
-#: src/gui/statuswindow.cpp:336
+#: src/gui/statuswindow.cpp:144 src/gui/statuswindow.cpp:274
+#: src/gui/statuswindow.cpp:337
#, c-format
msgid "Level: %d"
msgstr "Livello: %d"
-#: src/gui/statuswindow.cpp:144 src/gui/statuswindow.cpp:259
-#: src/gui/statuswindow.cpp:303
+#: src/gui/statuswindow.cpp:145 src/gui/statuswindow.cpp:260
+#: src/gui/statuswindow.cpp:304
#, c-format
msgid "Money: %s"
msgstr "Soldi: %s"
-#: src/gui/statuswindow.cpp:150
+#: src/gui/statuswindow.cpp:151
msgid "HP:"
msgstr "HP:"
-#: src/gui/statuswindow.cpp:157
+#: src/gui/statuswindow.cpp:158
msgid "Exp:"
msgstr "Esperienza:"
-#: src/gui/statuswindow.cpp:171
+#: src/gui/statuswindow.cpp:172
msgid "MP:"
msgstr "MP:"
-#: src/gui/statuswindow.cpp:203 src/gui/statuswindow.cpp:386
+#: src/gui/statuswindow.cpp:204 src/gui/statuswindow.cpp:387
#, c-format
msgid "Job: %d"
msgstr "Lavoro: %d"
-#: src/gui/statuswindow.cpp:204
+#: src/gui/statuswindow.cpp:205
msgid "Job:"
msgstr "Lavoro:"
-#: src/gui/statuswindow.cpp:262 src/gui/statuswindow.cpp:310
+#: src/gui/statuswindow.cpp:263 src/gui/statuswindow.cpp:311
#, c-format
msgid "Character points: %d"
msgstr ""
-#: src/gui/statuswindow.cpp:268
+#: src/gui/statuswindow.cpp:269
#, c-format
msgid "Level: %d (GM %d)"
msgstr ""
-#: src/gui/statuswindow.cpp:324
+#: src/gui/statuswindow.cpp:325
#, c-format
msgid "Correction points: %d"
msgstr ""
-#: src/gui/statuswindow.cpp:648 src/gui/statuswindow.cpp:716
-#: src/gui/statuswindow.cpp:736 src/gui/statuswindow.cpp:752
-#: src/gui/statuswindow.cpp:798 src/gui/statuswindow.cpp:827
-#: src/gui/statuswindow.cpp:850 src/gui/statuswindow.cpp:869
+#: src/gui/statuswindow.cpp:649 src/gui/statuswindow.cpp:717
+#: src/gui/statuswindow.cpp:737 src/gui/statuswindow.cpp:753
+#: src/gui/statuswindow.cpp:818 src/gui/statuswindow.cpp:847
+#: src/gui/statuswindow.cpp:870 src/gui/statuswindow.cpp:889
msgid "(D)"
msgstr ""
-#: src/gui/statuswindow.cpp:651 src/gui/statuswindow.cpp:777
+#: src/gui/statuswindow.cpp:652 src/gui/statuswindow.cpp:778
msgid "(I)"
msgstr ""
-#: src/gui/statuswindow.cpp:654 src/gui/statuswindow.cpp:774
+#: src/gui/statuswindow.cpp:655 src/gui/statuswindow.cpp:775
msgid "(c)"
msgstr ""
-#: src/gui/statuswindow.cpp:657
+#: src/gui/statuswindow.cpp:658
msgid "(C)"
msgstr ""
-#: src/gui/statuswindow.cpp:660 src/gui/statuswindow.cpp:761
+#: src/gui/statuswindow.cpp:661 src/gui/statuswindow.cpp:762
+#: src/gui/statuswindow.cpp:803
msgid "(d)"
msgstr ""
-#: src/gui/statuswindow.cpp:663 src/gui/statuswindow.cpp:677
-#: src/gui/statuswindow.cpp:709 src/gui/statuswindow.cpp:728
-#: src/gui/statuswindow.cpp:745 src/gui/statuswindow.cpp:764
-#: src/gui/statuswindow.cpp:786 src/gui/statuswindow.cpp:816
-#: src/gui/statuswindow.cpp:842 src/gui/statuswindow.cpp:856
-#: src/gui/statuswindow.cpp:872 src/gui/statuswindow.cpp:885
+#: src/gui/statuswindow.cpp:664 src/gui/statuswindow.cpp:678
+#: src/gui/statuswindow.cpp:710 src/gui/statuswindow.cpp:729
+#: src/gui/statuswindow.cpp:746 src/gui/statuswindow.cpp:765
+#: src/gui/statuswindow.cpp:787 src/gui/statuswindow.cpp:806
+#: src/gui/statuswindow.cpp:836 src/gui/statuswindow.cpp:862
+#: src/gui/statuswindow.cpp:876 src/gui/statuswindow.cpp:892
+#: src/gui/statuswindow.cpp:905
msgid "(?)"
msgstr ""
-#: src/gui/statuswindow.cpp:674 src/gui/statuswindow.cpp:706
+#: src/gui/statuswindow.cpp:675 src/gui/statuswindow.cpp:707
+#: src/gui/statuswindow.cpp:794
msgid "(a)"
msgstr ""
-#: src/gui/statuswindow.cpp:685
+#: src/gui/statuswindow.cpp:686
msgid "(0)"
msgstr ""
-#: src/gui/statuswindow.cpp:688
+#: src/gui/statuswindow.cpp:689
msgid "(1)"
msgstr ""
-#: src/gui/statuswindow.cpp:691
+#: src/gui/statuswindow.cpp:692
msgid "(2)"
msgstr ""
-#: src/gui/statuswindow.cpp:694 src/gui/statuswindow.cpp:804
+#: src/gui/statuswindow.cpp:695 src/gui/statuswindow.cpp:824
msgid "(3)"
msgstr ""
-#: src/gui/statuswindow.cpp:697
+#: src/gui/statuswindow.cpp:698
msgid "(5)"
msgstr ""
-#: src/gui/statuswindow.cpp:700
+#: src/gui/statuswindow.cpp:701
msgid "(7)"
msgstr ""
-#: src/gui/statuswindow.cpp:703 src/gui/statuswindow.cpp:758
-#: src/gui/statuswindow.cpp:813 src/gui/statuswindow.cpp:882
+#: src/gui/statuswindow.cpp:704 src/gui/statuswindow.cpp:759
+#: src/gui/statuswindow.cpp:833 src/gui/statuswindow.cpp:902
msgid "(A)"
msgstr ""
-#: src/gui/statuswindow.cpp:719
+#: src/gui/statuswindow.cpp:720
msgid "(R)"
msgstr ""
-#: src/gui/statuswindow.cpp:722
+#: src/gui/statuswindow.cpp:723
msgid "(M)"
msgstr ""
-#: src/gui/statuswindow.cpp:725
+#: src/gui/statuswindow.cpp:726
msgid "(P)"
msgstr ""
-#: src/gui/statuswindow.cpp:739
+#: src/gui/statuswindow.cpp:740
msgid "(s)"
msgstr ""
-#: src/gui/statuswindow.cpp:742 src/gui/statuswindow.cpp:795
+#: src/gui/statuswindow.cpp:743 src/gui/statuswindow.cpp:815
msgid "(S)"
msgstr ""
-#: src/gui/statuswindow.cpp:755 src/gui/statuswindow.cpp:810
-#: src/gui/statuswindow.cpp:863
+#: src/gui/statuswindow.cpp:756 src/gui/statuswindow.cpp:830
+#: src/gui/statuswindow.cpp:883
msgid "(G)"
msgstr ""
-#: src/gui/statuswindow.cpp:771
+#: src/gui/statuswindow.cpp:772 src/gui/statuswindow.cpp:797
msgid "(f)"
msgstr ""
-#: src/gui/statuswindow.cpp:780 src/gui/statuswindow.cpp:801
-#: src/gui/statuswindow.cpp:866
+#: src/gui/statuswindow.cpp:781 src/gui/statuswindow.cpp:821
+#: src/gui/statuswindow.cpp:886
msgid "(F)"
msgstr ""
-#: src/gui/statuswindow.cpp:783 src/gui/statuswindow.cpp:833
+#: src/gui/statuswindow.cpp:784 src/gui/statuswindow.cpp:853
msgid "(U)"
msgstr ""
-#: src/gui/statuswindow.cpp:807
+#: src/gui/statuswindow.cpp:800 src/gui/statuswindow.cpp:859
+msgid "(b)"
+msgstr ""
+
+#: src/gui/statuswindow.cpp:827
msgid "(g)"
msgstr ""
-#: src/gui/statuswindow.cpp:824
+#: src/gui/statuswindow.cpp:844
msgid "(N)"
msgstr ""
-#: src/gui/statuswindow.cpp:830
+#: src/gui/statuswindow.cpp:850
msgid "(u)"
msgstr ""
-#: src/gui/statuswindow.cpp:836
+#: src/gui/statuswindow.cpp:856
msgid "(e)"
msgstr ""
-#: src/gui/statuswindow.cpp:839
-msgid "(b)"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:853 src/gui/statuswindow.cpp:879
+#: src/gui/statuswindow.cpp:873 src/gui/statuswindow.cpp:899
msgid "(O)"
msgstr ""
@@ -3363,21 +3477,21 @@ msgstr "Connessione..."
msgid "Play"
msgstr "Gioca"
-#: src/gui/updaterwindow.cpp:564
+#: src/gui/updaterwindow.cpp:565
msgid "##1 The update process is incomplete."
msgstr "##1 L'aggiornamento è stato completato."
#. TRANSLATORS: Continues "you try again later.".
-#: src/gui/updaterwindow.cpp:566
+#: src/gui/updaterwindow.cpp:567
msgid "##1 It is strongly recommended that"
msgstr "##1 È fortemente raccomandato"
#. TRANSLATORS: Begins "It is strongly recommended that".
-#: src/gui/updaterwindow.cpp:568
+#: src/gui/updaterwindow.cpp:569
msgid "##1 you try again later."
msgstr ""
-#: src/gui/updaterwindow.cpp:744
+#: src/gui/updaterwindow.cpp:745
msgid "Completed"
msgstr "Completato"
@@ -3688,7 +3802,7 @@ msgstr ""
#: src/gui/widgets/setupitem.cpp:271 src/gui/widgets/setupitem.cpp:394
msgid "Edit"
-msgstr ""
+msgstr "Modifica"
#: src/gui/widgets/whispertab.cpp:107
msgid "/ignore > Ignore the other player"
@@ -3941,7 +4055,7 @@ msgstr ""
#: src/keyboardconfig.cpp:116 src/keyboardconfig.cpp:119
#: src/keyboardconfig.cpp:121 src/keyboardconfig.cpp:123
#: src/keyboardconfig.cpp:125 src/keyboardconfig.cpp:127
-#: src/keyboardconfig.cpp:369
+#: src/keyboardconfig.cpp:371
#, c-format
msgid "Item Shortcut %d"
msgstr "Scorciatoia %d"
@@ -4068,7 +4182,7 @@ msgstr ""
#: src/keyboardconfig.cpp:258 src/keyboardconfig.cpp:260
#: src/keyboardconfig.cpp:262 src/keyboardconfig.cpp:264
#: src/keyboardconfig.cpp:266 src/keyboardconfig.cpp:268
-#: src/keyboardconfig.cpp:364
+#: src/keyboardconfig.cpp:366
#, c-format
msgid "Emote Shortcut %d"
msgstr ""
@@ -4197,119 +4311,123 @@ msgstr ""
msgid "Switch magic attack"
msgstr ""
-#: src/keyboardconfig.cpp:328
-msgid "Change move type"
+#: src/keyboardconfig.cpp:329
+msgid "Switch pvp attack"
msgstr ""
#: src/keyboardconfig.cpp:330
-msgid "Change Attack Weapon Type"
+msgid "Change move type"
msgstr ""
#: src/keyboardconfig.cpp:332
-msgid "Change Attack Type"
+msgid "Change Attack Weapon Type"
msgstr ""
#: src/keyboardconfig.cpp:334
-msgid "Change Follow mode"
+msgid "Change Attack Type"
msgstr ""
#: src/keyboardconfig.cpp:336
+msgid "Change Follow mode"
+msgstr ""
+
+#: src/keyboardconfig.cpp:338
msgid "Change Imitation mode"
msgstr ""
-#: src/keyboardconfig.cpp:339
+#: src/keyboardconfig.cpp:341
msgid "Disable / Enable Game modifier keys"
msgstr ""
-#: src/keyboardconfig.cpp:340
+#: src/keyboardconfig.cpp:342
msgid "On / Off audio"
msgstr ""
-#: src/keyboardconfig.cpp:342
+#: src/keyboardconfig.cpp:344
msgid "Enable / Disable away mode"
msgstr ""
-#: src/keyboardconfig.cpp:344
+#: src/keyboardconfig.cpp:346
msgid "Emulate right click from keyboard"
msgstr ""
-#: src/keyboardconfig.cpp:346
+#: src/keyboardconfig.cpp:348
msgid "Toggle camera mode"
msgstr ""
-#: src/keyboardconfig.cpp:348
+#: src/keyboardconfig.cpp:350
msgid "Modifier key"
msgstr ""
-#: src/keyboardconfig.cpp:427
+#: src/keyboardconfig.cpp:429
#, c-format
msgid ""
"Conflict \"%s\" and \"%s\" keys. Resolve them, or gameplay may result in "
"strange behaviour."
msgstr ""
-#: src/localplayer.cpp:381
+#: src/localplayer.cpp:389
msgid "You were killed by "
msgstr ""
-#: src/localplayer.cpp:1428
+#: src/localplayer.cpp:1442
msgid "Tried to pick up nonexistent item."
msgstr ""
-#: src/localplayer.cpp:1430
+#: src/localplayer.cpp:1444
msgid "Item is too heavy."
msgstr ""
-#: src/localplayer.cpp:1432
+#: src/localplayer.cpp:1446
msgid "Item is too far away."
msgstr ""
-#: src/localplayer.cpp:1434
+#: src/localplayer.cpp:1448
msgid "Inventory is full."
msgstr ""
-#: src/localplayer.cpp:1436
+#: src/localplayer.cpp:1450
msgid "Stack is too big."
msgstr ""
-#: src/localplayer.cpp:1439
+#: src/localplayer.cpp:1453
msgid "Item belongs to someone else."
msgstr ""
-#: src/localplayer.cpp:1442
+#: src/localplayer.cpp:1456
msgid "Unknown problem picking up item."
msgstr ""
#. TRANSLATORS: %d is number,
#. [@@%d|%s@@] - here player can see link to item
-#: src/localplayer.cpp:1466
+#: src/localplayer.cpp:1480
#, c-format
msgid "You picked up %d [@@%d|%s@@]."
msgid_plural "You picked up %d [@@%d|%s@@]."
msgstr[0] ""
msgstr[1] ""
-#: src/localplayer.cpp:3181
+#: src/localplayer.cpp:3206
msgid "Away"
msgstr ""
-#: src/localplayer.cpp:3509
+#: src/localplayer.cpp:3541
msgid "Follow: "
msgstr ""
-#: src/localplayer.cpp:3511 src/localplayer.cpp:3526
+#: src/localplayer.cpp:3543 src/localplayer.cpp:3558
msgid "Follow canceled"
msgstr ""
-#: src/localplayer.cpp:3518
+#: src/localplayer.cpp:3550
msgid "Imitation: "
msgstr ""
-#: src/localplayer.cpp:3520 src/localplayer.cpp:3528
+#: src/localplayer.cpp:3552 src/localplayer.cpp:3560
msgid "Imitation canceled"
msgstr ""
-#: src/localplayer.cpp:3876
+#: src/localplayer.cpp:3908
msgid "You see "
msgstr ""
@@ -5099,53 +5217,53 @@ msgstr ""
msgid "%s wants to trade with you, do you accept?"
msgstr "%s vuole commerciare con te, accetti?"
-#: src/net/ea/tradehandler.cpp:134
+#: src/net/ea/tradehandler.cpp:135
msgid "Trading isn't possible. Trade partner is too far away."
msgstr ""
-#: src/net/ea/tradehandler.cpp:138
+#: src/net/ea/tradehandler.cpp:139
msgid "Trading isn't possible. Character doesn't exist."
msgstr ""
-#: src/net/ea/tradehandler.cpp:142
+#: src/net/ea/tradehandler.cpp:143
msgid "Trade cancelled due to an unknown reason."
msgstr ""
-#: src/net/ea/tradehandler.cpp:148
+#: src/net/ea/tradehandler.cpp:149
#, c-format
msgid "Trade: You and %s"
msgstr ""
-#: src/net/ea/tradehandler.cpp:158
+#: src/net/ea/tradehandler.cpp:159
#, c-format
msgid "Trade with %s cancelled."
msgstr ""
-#: src/net/ea/tradehandler.cpp:171
+#: src/net/ea/tradehandler.cpp:172
msgid "Unhandled trade cancel packet."
msgstr ""
-#: src/net/ea/tradehandler.cpp:236
+#: src/net/ea/tradehandler.cpp:237
msgid "Failed adding item. Trade partner is over weighted."
msgstr ""
-#: src/net/ea/tradehandler.cpp:241
+#: src/net/ea/tradehandler.cpp:242
msgid "Failed adding item. Trade partner has no free slot."
msgstr ""
-#: src/net/ea/tradehandler.cpp:246
+#: src/net/ea/tradehandler.cpp:247
msgid "Failed adding item. You can't trade this item."
msgstr ""
-#: src/net/ea/tradehandler.cpp:250
+#: src/net/ea/tradehandler.cpp:251
msgid "Failed adding item for unknown reason."
msgstr ""
-#: src/net/ea/tradehandler.cpp:269 src/net/manaserv/tradehandler.cpp:160
+#: src/net/ea/tradehandler.cpp:270 src/net/manaserv/tradehandler.cpp:160
msgid "Trade canceled."
msgstr "Scambio cancellato."
-#: src/net/ea/tradehandler.cpp:280 src/net/manaserv/tradehandler.cpp:167
+#: src/net/ea/tradehandler.cpp:281 src/net/manaserv/tradehandler.cpp:167
msgid "Trade completed."
msgstr "Scambio completato."
@@ -5564,15 +5682,15 @@ msgstr ""
msgid "Damage per sec."
msgstr ""
-#: src/net/tmwa/network.cpp:152
+#: src/net/tmwa/network.cpp:153
msgid "Empty address given to Network::connect()!"
msgstr ""
-#: src/net/tmwa/network.cpp:356
+#: src/net/tmwa/network.cpp:357
msgid "Unable to resolve host \""
msgstr ""
-#: src/net/tmwa/network.cpp:426
+#: src/net/tmwa/network.cpp:427
msgid "Connection to server terminated. "
msgstr ""
@@ -5581,19 +5699,19 @@ msgstr ""
msgid "%s is not in your party!"
msgstr "%s non è nel tuo party!"
-#: src/playerrelations.cpp:435
+#: src/playerrelations.cpp:460
msgid "Print '...'"
msgstr ""
-#: src/playerrelations.cpp:455
+#: src/playerrelations.cpp:480
msgid "Blink name"
msgstr ""
-#: src/playerrelations.cpp:499
+#: src/playerrelations.cpp:524
msgid "Floating '...' bubble"
msgstr ""
-#: src/playerrelations.cpp:502
+#: src/playerrelations.cpp:527
msgid "Floating bubble"
msgstr ""
diff --git a/po/ja.po b/po/ja.po
index 2e5373ec6..fbe04c585 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR The ManaPlus Developers
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
# Andrei Karas <akaras@inbox.ru>, 2011.
# Necromonger <Necromong@inbox.ru>, 2011.
@@ -11,80 +11,79 @@ msgid ""
msgstr ""
"Project-Id-Version: ManaPlus\n"
"Report-Msgid-Bugs-To: akaras@inbox.ru\n"
-"POT-Creation-Date: 2011-10-28 03:52+0300\n"
-"PO-Revision-Date: 2011-10-28 00:55+0000\n"
+"POT-Creation-Date: 2011-11-12 00:23+0300\n"
+"PO-Revision-Date: 2011-11-11 21:38+0000\n"
"Last-Translator: akaras <akaras@inbox.ru>\n"
-"Language-Team: Japanese (http://www.transifex.net/projects/p/manaplus/team/"
-"ja/)\n"
-"Language: ja\n"
+"Language-Team: Japanese (http://www.transifex.net/projects/p/manaplus/team/ja/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Language: ja\n"
"Plural-Forms: nplurals=1; plural=0\n"
#: src/actorspritemanager.cpp:1171
msgid "Visible on map"
msgstr ""
-#: src/being.cpp:548
+#: src/being.cpp:551
msgid "dodge"
msgstr "ドッジ"
-#: src/being.cpp:548
+#: src/being.cpp:551
msgid "miss"
msgstr "ミス"
#. TRANSLATORS: this away status writed in player nick
-#: src/being.cpp:1527
+#: src/being.cpp:1530
msgid "A"
msgstr ""
#. TRANSLATORS: this inactive status writed in player nick
-#: src/being.cpp:1532
+#: src/being.cpp:1535
msgid "I"
msgstr ""
-#: src/client.cpp:835 src/gui/setup.cpp:54 src/gui/windowmenu.cpp:100
+#: src/client.cpp:869 src/gui/setup.cpp:54 src/gui/windowmenu.cpp:100
msgid "Setup"
msgstr "設定"
-#: src/client.cpp:842 src/gui/setup_perfomance.cpp:48
+#: src/client.cpp:876 src/gui/setup_perfomance.cpp:48
msgid "Perfomance"
msgstr ""
-#: src/client.cpp:847 src/gui/setup_video.cpp:315
+#: src/client.cpp:881 src/gui/setup_video.cpp:315
msgid "Video"
msgstr "ビデオ"
-#: src/client.cpp:852
+#: src/client.cpp:886
msgid "Themes"
msgstr ""
-#: src/client.cpp:934
+#: src/client.cpp:968
msgid "Connecting to server"
msgstr "サーバー通信中…"
-#: src/client.cpp:965
+#: src/client.cpp:999
msgid "Logging in"
msgstr "ログイン中…"
-#: src/client.cpp:998
+#: src/client.cpp:1032
msgid "Entering game world"
msgstr "ゲームの世界に入る中"
-#: src/client.cpp:1098
+#: src/client.cpp:1132
msgid "Requesting characters"
msgstr "服:%d"
-#: src/client.cpp:1129
+#: src/client.cpp:1163
msgid "Connecting to the game server"
msgstr "ゲームサーバー通信中…"
-#: src/client.cpp:1139
+#: src/client.cpp:1173
msgid "Changing game servers"
msgstr "サーバーを入り替え中…"
-#: src/client.cpp:1182 src/client.cpp:1189 src/client.cpp:1323
+#: src/client.cpp:1216 src/client.cpp:1223 src/client.cpp:1357
#: src/gui/changeemaildialog.cpp:157 src/gui/changepassworddialog.cpp:147
#: src/gui/charcreatedialog.cpp:221 src/gui/charselectdialog.cpp:253
#: src/gui/register.cpp:228 src/gui/serverdialog.cpp:401
@@ -94,225 +93,225 @@ msgstr "サーバーを入り替え中…"
msgid "Error"
msgstr "エラー"
-#: src/client.cpp:1198
+#: src/client.cpp:1232
msgid "Requesting registration details"
msgstr "登録細目を要請中"
-#: src/client.cpp:1224
+#: src/client.cpp:1258
msgid "Password Change"
msgstr "パスワード変更"
-#: src/client.cpp:1225
+#: src/client.cpp:1259
msgid "Password changed successfully!"
msgstr "パスワード変更成功!"
-#: src/client.cpp:1244
+#: src/client.cpp:1278
msgid "Email Change"
msgstr "メール変更"
-#: src/client.cpp:1245
+#: src/client.cpp:1279
msgid "Email changed successfully!"
msgstr "メール変更成功!"
-#: src/client.cpp:1265
+#: src/client.cpp:1299
msgid "Unregister Successful"
msgstr "登録解除成功"
-#: src/client.cpp:1266
+#: src/client.cpp:1300
msgid "Farewell, come back any time..."
msgstr "さよなら、いつでも戻ってね..."
-#: src/client.cpp:1465 src/client.cpp:1495 src/client.cpp:1510
-#: src/client.cpp:1935 src/client.cpp:1942
+#: src/client.cpp:1499 src/client.cpp:1529 src/client.cpp:1544
+#: src/client.cpp:1969 src/client.cpp:1976
#, c-format
msgid "%s doesn't exist and can't be created! Exiting."
msgstr "%s は存在しないので作成することが不可能!終了中…"
-#: src/client.cpp:1641
+#: src/client.cpp:1675
#, c-format
msgid "Invalid update host: %s"
msgstr "無効なアップデートホスト: %s"
-#: src/client.cpp:1675 src/client.cpp:1681
+#: src/client.cpp:1709 src/client.cpp:1715
msgid "Error creating updates directory!"
msgstr "更新フォルダの作成エラー"
-#: src/client.cpp:1702
+#: src/client.cpp:1736
#, c-format
msgid "Error: %s doesn't exist and can't be created! Exiting."
msgstr "エラー: %s は存在しないので作成することが不可能!終了中…"
-#: src/commandhandler.cpp:205
+#: src/commandhandler.cpp:209
msgid "Unknown command."
msgstr "不明なコマンド"
-#: src/commandhandler.cpp:304
+#: src/commandhandler.cpp:329
msgid "Cannot send empty whispers!"
msgstr "空のメッセージを送信することはできません!"
-#: src/commandhandler.cpp:318
+#: src/commandhandler.cpp:343
#, c-format
msgid ""
-"Cannot create a whisper tab for nick \"%s\"! It either already exists, or is "
-"you."
-msgstr ""
-"%sと言うメッセージタブの作成ができません!それはもう既に存在しているか、自分"
-"です。"
+"Cannot create a whisper tab for nick \"%s\"! It either already exists, or is"
+" you."
+msgstr "%sと言うメッセージタブの作成ができません!それはもう既に存在しているか、自分です。"
-#: src/commandhandler.cpp:338
+#: src/commandhandler.cpp:363
#, c-format
msgid "Requesting to join channel %s."
msgstr "%sというチャンネルへの参加を要求しています。"
-#: src/commandhandler.cpp:354 src/net/ea/gui/partytab.cpp:125
+#: src/commandhandler.cpp:379 src/net/ea/gui/partytab.cpp:125
msgid "Party name is missing."
msgstr "パーティ名がない。"
-#: src/commandhandler.cpp:365
+#: src/commandhandler.cpp:390
msgid "Guild name is missing."
msgstr "ギルド名がない。"
-#: src/commandhandler.cpp:378 src/commandhandler.cpp:496
-#: src/commandhandler.cpp:537 src/commandhandler.cpp:572
+#: src/commandhandler.cpp:403 src/commandhandler.cpp:521
+#: src/commandhandler.cpp:562 src/commandhandler.cpp:602
msgid "Please specify a name."
msgstr "名前を教えてください。"
-#: src/commandhandler.cpp:430
+#: src/commandhandler.cpp:455
msgid "Return toggles chat."
msgstr "リターンはチャットを留めておきます。"
-#: src/commandhandler.cpp:430
+#: src/commandhandler.cpp:455
msgid "Message closes chat."
msgstr "メッセージはチャットを閉じます。"
-#: src/commandhandler.cpp:441
+#: src/commandhandler.cpp:466
msgid "Return now toggles chat."
msgstr "リターンはこれからチャットを留めておきます。"
-#: src/commandhandler.cpp:447
+#: src/commandhandler.cpp:472
msgid "Message now closes chat."
msgstr "メッセージはこれからチャットを閉じます。"
-#: src/commandhandler.cpp:475
+#: src/commandhandler.cpp:500
msgid "friend"
msgstr "友達"
-#: src/commandhandler.cpp:480
+#: src/commandhandler.cpp:505
msgid "disregarded"
msgstr "無視"
-#: src/commandhandler.cpp:485
+#: src/commandhandler.cpp:510
msgid "neutral"
msgstr "中性"
-#: src/commandhandler.cpp:504
+#: src/commandhandler.cpp:529
#, c-format
msgid "Player already %s!"
msgstr "プレイヤーはもう%s!"
-#: src/commandhandler.cpp:518
+#: src/commandhandler.cpp:543
#, c-format
msgid "Player successfully %s!"
msgstr "プレイヤーは%s成功!"
-#: src/commandhandler.cpp:526
+#: src/commandhandler.cpp:551
#, c-format
msgid "Player could not be %s!"
msgstr "選手は%sを居られなかった "
-#: src/commandhandler.cpp:549
+#: src/commandhandler.cpp:574
msgid "Player wasn't ignored!"
msgstr "プレイヤーは無視されなかった!"
-#: src/commandhandler.cpp:556
+#: src/commandhandler.cpp:581
msgid "Player no longer ignored!"
msgstr "プレイヤーはもう無視していない!"
-#: src/commandhandler.cpp:558
+#: src/commandhandler.cpp:583
msgid "Player could not be unignored!"
msgstr "Playerはunignoredことができなかった!"
-#: src/commandhandler.cpp:564
+#: src/commandhandler.cpp:589
msgid "blacklisted"
msgstr ""
-#: src/commandhandler.cpp:579
+#: src/commandhandler.cpp:594
+msgid "enemy"
+msgstr ""
+
+#: src/commandhandler.cpp:609
msgid "Player already erased!"
msgstr "プレイヤーはもう消している!"
-#: src/commandhandler.cpp:590
+#: src/commandhandler.cpp:620
msgid "Player successfully erased!"
msgstr "プレーアが首尾よくに消去!"
-#: src/commandhandler.cpp:592
+#: src/commandhandler.cpp:622
msgid "Player could not be erased!"
msgstr ""
-#: src/commandhandler.cpp:892 src/commandhandler.cpp:938
+#: src/commandhandler.cpp:929 src/commandhandler.cpp:975
#, c-format
msgid "Client uptime: %s"
msgstr "クライアントの稼働時間:%s"
-#: src/commandhandler.cpp:902
+#: src/commandhandler.cpp:939
#, c-format
msgid "%d week"
msgid_plural "%d weeks"
msgstr[0] ""
-#: src/commandhandler.cpp:911
+#: src/commandhandler.cpp:948
#, c-format
msgid "%d day"
msgid_plural "%d days"
msgstr[0] ""
-#: src/commandhandler.cpp:919
+#: src/commandhandler.cpp:956
#, c-format
msgid "%d hour"
msgid_plural "%d hours"
msgstr[0] ""
-#: src/commandhandler.cpp:927
+#: src/commandhandler.cpp:964
#, c-format
msgid "%d minute"
msgid_plural "%d minutes"
msgstr[0] ""
-#: src/commandhandler.cpp:935
+#: src/commandhandler.cpp:972
#, c-format
msgid "%d second"
msgid_plural "%d seconds"
msgstr[0] ""
-#: src/commandhandler.cpp:1014
+#: src/commandhandler.cpp:1051
msgid "font cache size"
msgstr ""
-#: src/commandhandler.cpp:1026
+#: src/commandhandler.cpp:1063
msgid "Cache size:"
msgstr ""
-#: src/commandhandler.cpp:1030
+#: src/commandhandler.cpp:1067
msgid "Created:"
msgstr ""
-#: src/commandhandler.cpp:1032
+#: src/commandhandler.cpp:1069
msgid "Deleted:"
msgstr ""
-#: src/commandhandler.cpp:1133 src/commandhandler.cpp:1140
+#: src/commandhandler.cpp:1171 src/commandhandler.cpp:1178
msgid "Resource images:"
msgstr ""
-#: src/commandhandler.cpp:1135 src/commandhandler.cpp:1142
+#: src/commandhandler.cpp:1173 src/commandhandler.cpp:1180
msgid "Resource orphaned images:"
msgstr ""
#: src/commandhandler.h:40
#, c-format
msgid "Options to /%s are \"yes\", \"no\", \"true\", \"false\", \"1\", \"0\"."
-msgstr ""
-"/%sへの可能なオプションは:\"yes\", \"no\", \"true\", \"false\", \"1\", "
-"\"0\"。"
+msgstr "/%sへの可能なオプションは:\"yes\", \"no\", \"true\", \"false\", \"1\", \"0\"。"
#: src/game.cpp:252 src/gui/widgets/chattab.cpp:403
msgid "General"
@@ -322,35 +321,35 @@ msgstr "一般"
msgid "Debug"
msgstr "デバッグ"
-#: src/game.cpp:513
+#: src/game.cpp:506
msgid "Screenshot saved as "
msgstr ""
-#: src/game.cpp:521
+#: src/game.cpp:514
msgid "Saving screenshot failed!"
msgstr "スクリーンショットを保存することに失敗しました!"
-#: src/game.cpp:560
+#: src/game.cpp:554
msgid "The connection to the server was lost."
msgstr ""
-#: src/game.cpp:572
+#: src/game.cpp:557
msgid "Network Error"
msgstr "ネットワークエラー"
-#: src/game.cpp:1322
+#: src/game.cpp:1332
msgid "Ignoring incoming trade requests"
msgstr "他人からのトレードリクエストを無視します。"
-#: src/game.cpp:1332
+#: src/game.cpp:1342
msgid "Accepting incoming trade requests"
msgstr "他人からのトレードリクエストを受け入れます。"
-#: src/game.cpp:1732
+#: src/game.cpp:1750
msgid "Could Not Load Map"
msgstr "マップをロードできませんでした"
-#: src/game.cpp:1733
+#: src/game.cpp:1751
#, c-format
msgid "Error while loading %s"
msgstr "%sをロードしている間にエラーが起きました。"
@@ -384,19 +383,19 @@ msgid "Name"
msgstr "名前"
#: src/gui/botcheckerwindow.cpp:297 src/gui/popupmenu.cpp:133
-#: src/gui/popupmenu.cpp:292 src/gui/popupmenu.cpp:614
+#: src/gui/popupmenu.cpp:303 src/gui/popupmenu.cpp:636
#: src/keyboardconfig.cpp:49 src/net/tmwa/generalhandler.cpp:269
msgid "Attack"
msgstr "攻撃"
-#: src/gui/botcheckerwindow.cpp:298 src/gui/popupmenu.cpp:281
+#: src/gui/botcheckerwindow.cpp:298 src/gui/popupmenu.cpp:292
#: src/keyboardconfig.cpp:62
msgid "Talk"
msgstr "話す"
-#: src/gui/botcheckerwindow.cpp:299 src/gui/popupmenu.cpp:253
-#: src/gui/popupmenu.cpp:285 src/gui/popupmenu.cpp:437
-#: src/gui/popupmenu.cpp:669 src/gui/popupmenu.cpp:756
+#: src/gui/botcheckerwindow.cpp:299 src/gui/popupmenu.cpp:264
+#: src/gui/popupmenu.cpp:296 src/gui/popupmenu.cpp:459
+#: src/gui/popupmenu.cpp:702 src/gui/popupmenu.cpp:789
msgid "Move"
msgstr "動く"
@@ -409,8 +408,8 @@ msgid "Reset"
msgstr "リセット"
#: src/gui/buydialog.cpp:58 src/gui/buydialog.cpp:65 src/gui/buydialog.cpp:112
-#: src/gui/buyselldialog.cpp:65 src/gui/popupmenu.cpp:265
-#: src/gui/popupmenu.cpp:282 src/gui/popupmenu.cpp:681
+#: src/gui/buyselldialog.cpp:65 src/gui/popupmenu.cpp:276
+#: src/gui/popupmenu.cpp:293 src/gui/popupmenu.cpp:714
msgid "Buy"
msgstr "買う"
@@ -428,7 +427,7 @@ msgstr ""
#. You may change this symbol if your language uses another.
#: src/gui/buydialog.cpp:108 src/gui/itemamountwindow.cpp:207
#: src/gui/itemamountwindow.cpp:235 src/gui/npcdialog.cpp:114
-#: src/gui/selldialog.cpp:91 src/gui/statuswindow.cpp:977
+#: src/gui/selldialog.cpp:91 src/gui/statuswindow.cpp:998
msgid "+"
msgstr "+"
@@ -436,7 +435,7 @@ msgstr "+"
#. You may change this symbol if your language uses another.
#: src/gui/buydialog.cpp:111 src/gui/itemamountwindow.cpp:206
#: src/gui/itemamountwindow.cpp:234 src/gui/npcdialog.cpp:115
-#: src/gui/selldialog.cpp:92 src/gui/statuswindow.cpp:989
+#: src/gui/selldialog.cpp:92 src/gui/statuswindow.cpp:1010
msgid "-"
msgstr "-"
@@ -448,8 +447,8 @@ msgid "Quit"
msgstr "終了"
#: src/gui/buydialog.cpp:114 src/gui/selldialog.cpp:95
-#: src/gui/statuswindow.cpp:504 src/gui/statuswindow.cpp:554
-#: src/gui/statuswindow.cpp:976 src/gui/statuswindow.cpp:1007
+#: src/gui/statuswindow.cpp:505 src/gui/statuswindow.cpp:555
+#: src/gui/statuswindow.cpp:997 src/gui/statuswindow.cpp:1028
msgid "Max"
msgstr "最大"
@@ -458,8 +457,8 @@ msgstr "最大"
msgid "Shop"
msgstr "店"
-#: src/gui/buyselldialog.cpp:65 src/gui/popupmenu.cpp:266
-#: src/gui/popupmenu.cpp:283 src/gui/popupmenu.cpp:682
+#: src/gui/buyselldialog.cpp:65 src/gui/popupmenu.cpp:277
+#: src/gui/popupmenu.cpp:294 src/gui/popupmenu.cpp:715
#: src/gui/selldialog.cpp:53 src/gui/selldialog.cpp:60
#: src/gui/selldialog.cpp:93
msgid "Sell"
@@ -468,15 +467,15 @@ msgstr "売る"
#: src/gui/buyselldialog.cpp:65 src/gui/changeemaildialog.cpp:59
#: src/gui/changepassworddialog.cpp:61 src/gui/charcreatedialog.cpp:96
#: src/gui/connectiondialog.cpp:47 src/gui/itemamountwindow.cpp:209
-#: src/gui/npcpostdialog.cpp:58 src/gui/popupmenu.cpp:333
-#: src/gui/popupmenu.cpp:354 src/gui/popupmenu.cpp:478
-#: src/gui/popupmenu.cpp:504 src/gui/popupmenu.cpp:528
-#: src/gui/popupmenu.cpp:541 src/gui/popupmenu.cpp:559
-#: src/gui/popupmenu.cpp:772 src/gui/popupmenu.cpp:796
-#: src/gui/popupmenu.cpp:1732 src/gui/popupmenu.cpp:1760
-#: src/gui/popupmenu.cpp:1816 src/gui/popupmenu.cpp:1861
-#: src/gui/popupmenu.cpp:1896 src/gui/popupmenu.cpp:1935
-#: src/gui/popupmenu.cpp:1987 src/gui/popupmenu.cpp:2007
+#: src/gui/npcpostdialog.cpp:58 src/gui/popupmenu.cpp:344
+#: src/gui/popupmenu.cpp:365 src/gui/popupmenu.cpp:500
+#: src/gui/popupmenu.cpp:526 src/gui/popupmenu.cpp:550
+#: src/gui/popupmenu.cpp:563 src/gui/popupmenu.cpp:581
+#: src/gui/popupmenu.cpp:805 src/gui/popupmenu.cpp:829
+#: src/gui/popupmenu.cpp:1775 src/gui/popupmenu.cpp:1803
+#: src/gui/popupmenu.cpp:1859 src/gui/popupmenu.cpp:1904
+#: src/gui/popupmenu.cpp:1939 src/gui/popupmenu.cpp:1978
+#: src/gui/popupmenu.cpp:2030 src/gui/popupmenu.cpp:2050
#: src/gui/quitdialog.cpp:55 src/gui/register.cpp:82 src/gui/setup.cpp:72
#: src/gui/socialwindow.cpp:1077 src/gui/textcommandeditor.cpp:241
#: src/gui/textdialog.cpp:51 src/gui/unregisterdialog.cpp:59
@@ -647,7 +646,7 @@ msgid "Enter password:"
msgstr ""
#: src/gui/charselectdialog.cpp:410 src/gui/serverdialog.cpp:298
-#: src/gui/setup_relations.cpp:243 src/gui/shopwindow.cpp:122
+#: src/gui/setup_relations.cpp:244 src/gui/shopwindow.cpp:122
#: src/gui/shopwindow.cpp:125 src/gui/textcommandeditor.cpp:244
msgid "Delete"
msgstr "削除"
@@ -723,8 +722,9 @@ msgstr "虹 3"
#: src/gui/chatwindow.cpp:142 src/gui/inventorywindow.cpp:90
#: src/gui/itemamountwindow.cpp:93 src/gui/logindialog.cpp:78
-#: src/gui/setup_relations.cpp:221 src/gui/setup_theme.cpp:73
-#: src/gui/setup_theme.cpp:127 src/gui/setup_video.cpp:211
+#: src/gui/setup_joystick.cpp:60 src/gui/setup_relations.cpp:222
+#: src/gui/setup_theme.cpp:74 src/gui/setup_theme.cpp:128
+#: src/gui/setup_theme.cpp:173 src/gui/setup_video.cpp:211
#: src/gui/textcommandeditor.cpp:102 src/gui/textcommandeditor.cpp:141
#: src/gui/textcommandeditor.cpp:160
msgid "???"
@@ -734,12 +734,12 @@ msgstr "???"
msgid "Chat"
msgstr "チャット"
-#: src/gui/chatwindow.cpp:613
+#: src/gui/chatwindow.cpp:615
#, c-format
msgid "Present: %s; %d players are present."
msgstr ""
-#: src/gui/chatwindow.cpp:1000
+#: src/gui/chatwindow.cpp:1002
#, c-format
msgid "Whispering to %s: %s"
msgstr "%sに送信中: %s"
@@ -753,10 +753,12 @@ msgid "No"
msgstr "いいえ"
#: src/gui/confirmdialog.cpp:52 src/gui/popupmenu.cpp:146
-#: src/gui/popupmenu.cpp:153 src/gui/popupmenu.cpp:161
-#: src/gui/popupmenu.cpp:380 src/gui/popupmenu.cpp:387
-#: src/gui/popupmenu.cpp:395 src/gui/popupmenu.cpp:626
-#: src/gui/popupmenu.cpp:633 src/gui/popupmenu.cpp:641
+#: src/gui/popupmenu.cpp:154 src/gui/popupmenu.cpp:163
+#: src/gui/popupmenu.cpp:171 src/gui/popupmenu.cpp:391
+#: src/gui/popupmenu.cpp:399 src/gui/popupmenu.cpp:408
+#: src/gui/popupmenu.cpp:427 src/gui/popupmenu.cpp:648
+#: src/gui/popupmenu.cpp:656 src/gui/popupmenu.cpp:665
+#: src/gui/popupmenu.cpp:679
msgid "Ignore"
msgstr "無視"
@@ -902,7 +904,7 @@ msgstr ""
#: src/gui/didyouknowwindow.cpp:63 src/gui/helpwindow.cpp:59
#: src/gui/inventorywindow.cpp:205 src/gui/npcdialog.cpp:53
-#: src/gui/popupmenu.cpp:574 src/gui/shopwindow.cpp:113
+#: src/gui/popupmenu.cpp:596 src/gui/shopwindow.cpp:113
msgid "Close"
msgstr "閉じる"
@@ -929,8 +931,8 @@ msgstr "装備"
#: src/gui/equipmentwindow.cpp:95 src/gui/inventorywindow.cpp:160
#: src/gui/inventorywindow.cpp:545 src/gui/inventorywindow.cpp:554
-#: src/gui/popupmenu.cpp:1694 src/gui/popupmenu.cpp:1786
-#: src/gui/popupmenu.cpp:1831
+#: src/gui/popupmenu.cpp:1737 src/gui/popupmenu.cpp:1829
+#: src/gui/popupmenu.cpp:1874
msgid "Unequip"
msgstr "外す"
@@ -972,31 +974,31 @@ msgid "Filter:"
msgstr "フィルタ:"
#: src/gui/inventorywindow.cpp:158 src/gui/inventorywindow.cpp:547
-#: src/gui/inventorywindow.cpp:556 src/gui/popupmenu.cpp:1696
-#: src/gui/popupmenu.cpp:1788 src/gui/popupmenu.cpp:1833
+#: src/gui/inventorywindow.cpp:556 src/gui/popupmenu.cpp:1739
+#: src/gui/popupmenu.cpp:1831 src/gui/popupmenu.cpp:1876
msgid "Equip"
msgstr "装備する"
#: src/gui/inventorywindow.cpp:159 src/gui/inventorywindow.cpp:548
-#: src/gui/inventorywindow.cpp:552 src/gui/popupmenu.cpp:1700
-#: src/gui/popupmenu.cpp:1755 src/gui/popupmenu.cpp:1792
-#: src/gui/popupmenu.cpp:1837
+#: src/gui/inventorywindow.cpp:552 src/gui/popupmenu.cpp:1743
+#: src/gui/popupmenu.cpp:1798 src/gui/popupmenu.cpp:1835
+#: src/gui/popupmenu.cpp:1880
msgid "Use"
msgstr "使う"
#: src/gui/inventorywindow.cpp:173 src/gui/inventorywindow.cpp:652
-#: src/gui/popupmenu.cpp:1705 src/gui/popupmenu.cpp:1797
-#: src/gui/popupmenu.cpp:1842
+#: src/gui/popupmenu.cpp:1748 src/gui/popupmenu.cpp:1840
+#: src/gui/popupmenu.cpp:1885
msgid "Drop..."
msgstr "落とす..."
-#: src/gui/inventorywindow.cpp:174 src/gui/popupmenu.cpp:1714
-#: src/gui/popupmenu.cpp:1806 src/gui/popupmenu.cpp:1851
+#: src/gui/inventorywindow.cpp:174 src/gui/popupmenu.cpp:1757
+#: src/gui/popupmenu.cpp:1849 src/gui/popupmenu.cpp:1894
msgid "Split"
msgstr "分割する"
#: src/gui/inventorywindow.cpp:175 src/gui/outfitwindow.cpp:60
-#: src/gui/popupmenu.cpp:537
+#: src/gui/popupmenu.cpp:559
msgid "Outfits"
msgstr "服"
@@ -1005,17 +1007,17 @@ msgid "Weight:"
msgstr "重量"
#: src/gui/inventorywindow.cpp:203 src/gui/inventorywindow.cpp:643
-#: src/gui/popupmenu.cpp:1680 src/gui/popupmenu.cpp:1809
-#: src/gui/popupmenu.cpp:1854 src/gui/setup.cpp:73
+#: src/gui/popupmenu.cpp:1723 src/gui/popupmenu.cpp:1852
+#: src/gui/popupmenu.cpp:1897 src/gui/setup.cpp:73
msgid "Store"
msgstr "保存"
-#: src/gui/inventorywindow.cpp:204 src/gui/popupmenu.cpp:1721
+#: src/gui/inventorywindow.cpp:204 src/gui/popupmenu.cpp:1764
msgid "Retrieve"
msgstr "取り戻す"
-#: src/gui/inventorywindow.cpp:654 src/gui/popupmenu.cpp:1710
-#: src/gui/popupmenu.cpp:1802 src/gui/popupmenu.cpp:1847
+#: src/gui/inventorywindow.cpp:654 src/gui/popupmenu.cpp:1753
+#: src/gui/popupmenu.cpp:1845 src/gui/popupmenu.cpp:1890
#: src/gui/windowmenu.cpp:97
msgid "Drop"
msgstr "落とす"
@@ -1253,7 +1255,7 @@ msgstr "決定"
msgid "NPC"
msgstr "NPC"
-#: src/gui/npcdialog.cpp:108 src/gui/popupmenu.cpp:576
+#: src/gui/npcdialog.cpp:108 src/gui/popupmenu.cpp:598
msgid "Clear"
msgstr "クリア"
@@ -1291,331 +1293,347 @@ msgstr "外す第一"
msgid "Away outfit"
msgstr "装備一式不在で"
-#: src/gui/popupmenu.cpp:132 src/gui/popupmenu.cpp:613
+#: src/gui/popupmenu.cpp:132 src/gui/popupmenu.cpp:635
#: src/gui/widgets/tradetab.cpp:44
msgid "Trade"
msgstr "交換"
-#: src/gui/popupmenu.cpp:134 src/gui/popupmenu.cpp:372
+#: src/gui/popupmenu.cpp:134 src/gui/popupmenu.cpp:383
msgid "Whisper"
msgstr ""
-#: src/gui/popupmenu.cpp:138 src/gui/popupmenu.cpp:618
+#: src/gui/popupmenu.cpp:138 src/gui/popupmenu.cpp:640
msgid "Heal"
msgstr ""
-#: src/gui/popupmenu.cpp:144 src/gui/popupmenu.cpp:378
-#: src/gui/popupmenu.cpp:624
+#: src/gui/popupmenu.cpp:144 src/gui/popupmenu.cpp:389
+#: src/gui/popupmenu.cpp:646
msgid "Be friend"
msgstr ""
-#: src/gui/popupmenu.cpp:145 src/gui/popupmenu.cpp:152
-#: src/gui/popupmenu.cpp:160 src/gui/popupmenu.cpp:178
-#: src/gui/popupmenu.cpp:379 src/gui/popupmenu.cpp:386
-#: src/gui/popupmenu.cpp:394 src/gui/popupmenu.cpp:412
-#: src/gui/popupmenu.cpp:625 src/gui/popupmenu.cpp:632
-#: src/gui/popupmenu.cpp:640 src/gui/popupmenu.cpp:658
+#: src/gui/popupmenu.cpp:145 src/gui/popupmenu.cpp:153
+#: src/gui/popupmenu.cpp:162 src/gui/popupmenu.cpp:170
+#: src/gui/popupmenu.cpp:189 src/gui/popupmenu.cpp:390
+#: src/gui/popupmenu.cpp:398 src/gui/popupmenu.cpp:407
+#: src/gui/popupmenu.cpp:426 src/gui/popupmenu.cpp:434
+#: src/gui/popupmenu.cpp:647 src/gui/popupmenu.cpp:655
+#: src/gui/popupmenu.cpp:664 src/gui/popupmenu.cpp:678
+#: src/gui/popupmenu.cpp:691
msgid "Disregard"
msgstr ""
-#: src/gui/popupmenu.cpp:147 src/gui/popupmenu.cpp:154
-#: src/gui/popupmenu.cpp:381 src/gui/popupmenu.cpp:388
-#: src/gui/popupmenu.cpp:627 src/gui/popupmenu.cpp:634
+#: src/gui/popupmenu.cpp:147 src/gui/popupmenu.cpp:155
+#: src/gui/popupmenu.cpp:172 src/gui/popupmenu.cpp:392
+#: src/gui/popupmenu.cpp:400 src/gui/popupmenu.cpp:428
+#: src/gui/popupmenu.cpp:649 src/gui/popupmenu.cpp:657
+#: src/gui/popupmenu.cpp:680
msgid "Black list"
msgstr ""
-#: src/gui/popupmenu.cpp:148 src/gui/popupmenu.cpp:155
-#: src/gui/popupmenu.cpp:162 src/gui/popupmenu.cpp:168
-#: src/gui/popupmenu.cpp:173 src/gui/popupmenu.cpp:382
-#: src/gui/popupmenu.cpp:389 src/gui/popupmenu.cpp:396
-#: src/gui/popupmenu.cpp:402 src/gui/popupmenu.cpp:407
-#: src/gui/popupmenu.cpp:628 src/gui/popupmenu.cpp:635
-#: src/gui/popupmenu.cpp:642 src/gui/popupmenu.cpp:648
-#: src/gui/popupmenu.cpp:653
+#: src/gui/popupmenu.cpp:148 src/gui/popupmenu.cpp:156
+#: src/gui/popupmenu.cpp:164 src/gui/popupmenu.cpp:393
+#: src/gui/popupmenu.cpp:401 src/gui/popupmenu.cpp:409
+#: src/gui/popupmenu.cpp:650 src/gui/popupmenu.cpp:658
+#: src/gui/popupmenu.cpp:666
+msgid "Set as enemy"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:149 src/gui/popupmenu.cpp:157
+#: src/gui/popupmenu.cpp:165 src/gui/popupmenu.cpp:173
+#: src/gui/popupmenu.cpp:179 src/gui/popupmenu.cpp:184
+#: src/gui/popupmenu.cpp:394 src/gui/popupmenu.cpp:402
+#: src/gui/popupmenu.cpp:410 src/gui/popupmenu.cpp:416
+#: src/gui/popupmenu.cpp:421 src/gui/popupmenu.cpp:429
+#: src/gui/popupmenu.cpp:651 src/gui/popupmenu.cpp:659
+#: src/gui/popupmenu.cpp:667 src/gui/popupmenu.cpp:673
+#: src/gui/popupmenu.cpp:681 src/gui/popupmenu.cpp:686
msgid "Erase"
msgstr ""
-#: src/gui/popupmenu.cpp:159 src/gui/popupmenu.cpp:166
-#: src/gui/popupmenu.cpp:172 src/gui/popupmenu.cpp:177
-#: src/gui/popupmenu.cpp:393 src/gui/popupmenu.cpp:400
-#: src/gui/popupmenu.cpp:406 src/gui/popupmenu.cpp:411
-#: src/gui/popupmenu.cpp:639 src/gui/popupmenu.cpp:646
-#: src/gui/popupmenu.cpp:652 src/gui/popupmenu.cpp:657
+#: src/gui/popupmenu.cpp:161 src/gui/popupmenu.cpp:169
+#: src/gui/popupmenu.cpp:177 src/gui/popupmenu.cpp:183
+#: src/gui/popupmenu.cpp:188 src/gui/popupmenu.cpp:406
+#: src/gui/popupmenu.cpp:414 src/gui/popupmenu.cpp:420
+#: src/gui/popupmenu.cpp:425 src/gui/popupmenu.cpp:433
+#: src/gui/popupmenu.cpp:663 src/gui/popupmenu.cpp:671
+#: src/gui/popupmenu.cpp:677 src/gui/popupmenu.cpp:685
+#: src/gui/popupmenu.cpp:690
msgid "Unignore"
msgstr ""
-#: src/gui/popupmenu.cpp:167 src/gui/popupmenu.cpp:179
-#: src/gui/popupmenu.cpp:401 src/gui/popupmenu.cpp:413
-#: src/gui/popupmenu.cpp:647 src/gui/popupmenu.cpp:659
-#: src/playerrelations.cpp:421
+#: src/gui/popupmenu.cpp:178 src/gui/popupmenu.cpp:190
+#: src/gui/popupmenu.cpp:415 src/gui/popupmenu.cpp:435
+#: src/gui/popupmenu.cpp:672 src/gui/popupmenu.cpp:692
+#: src/playerrelations.cpp:446
msgid "Completely ignore"
msgstr "完全無視"
-#: src/gui/popupmenu.cpp:187 src/gui/popupmenu.cpp:421
-#: src/gui/popupmenu.cpp:667 src/gui/popupmenu.cpp:746
+#: src/gui/popupmenu.cpp:198 src/gui/popupmenu.cpp:443
+#: src/gui/popupmenu.cpp:700 src/gui/popupmenu.cpp:779
msgid "Follow"
msgstr ""
-#: src/gui/popupmenu.cpp:188 src/gui/popupmenu.cpp:422
-#: src/gui/popupmenu.cpp:668 src/gui/popupmenu.cpp:747
+#: src/gui/popupmenu.cpp:199 src/gui/popupmenu.cpp:444
+#: src/gui/popupmenu.cpp:701 src/gui/popupmenu.cpp:780
msgid "Imitation"
msgstr ""
-#: src/gui/popupmenu.cpp:197 src/gui/popupmenu.cpp:700
+#: src/gui/popupmenu.cpp:208 src/gui/popupmenu.cpp:733
msgid "Invite to party"
msgstr ""
-#: src/gui/popupmenu.cpp:202 src/gui/popupmenu.cpp:433
-#: src/gui/popupmenu.cpp:705
+#: src/gui/popupmenu.cpp:213 src/gui/popupmenu.cpp:455
+#: src/gui/popupmenu.cpp:738
msgid "Kick from party"
msgstr ""
-#: src/gui/popupmenu.cpp:217 src/gui/popupmenu.cpp:229
-#: src/gui/popupmenu.cpp:450 src/gui/popupmenu.cpp:722
+#: src/gui/popupmenu.cpp:228 src/gui/popupmenu.cpp:240
+#: src/gui/popupmenu.cpp:472 src/gui/popupmenu.cpp:755
msgid "Kick from guild"
msgstr ""
-#: src/gui/popupmenu.cpp:222 src/gui/popupmenu.cpp:234
-#: src/gui/popupmenu.cpp:455 src/gui/popupmenu.cpp:727
+#: src/gui/popupmenu.cpp:233 src/gui/popupmenu.cpp:245
+#: src/gui/popupmenu.cpp:477 src/gui/popupmenu.cpp:760
msgid "Change pos in guild"
msgstr ""
-#: src/gui/popupmenu.cpp:242 src/gui/popupmenu.cpp:463
-#: src/gui/popupmenu.cpp:736
+#: src/gui/popupmenu.cpp:253 src/gui/popupmenu.cpp:485
+#: src/gui/popupmenu.cpp:769
msgid "Invite to guild"
msgstr ""
-#: src/gui/popupmenu.cpp:250
+#: src/gui/popupmenu.cpp:261
msgid "Kick player"
msgstr ""
-#: src/gui/popupmenu.cpp:252
+#: src/gui/popupmenu.cpp:263
msgid "Nuke"
msgstr ""
-#: src/gui/popupmenu.cpp:254 src/gui/popupmenu.cpp:670
-#: src/gui/popupmenu.cpp:759
+#: src/gui/popupmenu.cpp:265 src/gui/popupmenu.cpp:703
+#: src/gui/popupmenu.cpp:792
msgid "Show Items"
msgstr ""
-#: src/gui/popupmenu.cpp:255 src/gui/popupmenu.cpp:671
-#: src/gui/popupmenu.cpp:760 src/gui/popupmenu.cpp:2004
+#: src/gui/popupmenu.cpp:266 src/gui/popupmenu.cpp:704
+#: src/gui/popupmenu.cpp:793 src/gui/popupmenu.cpp:2047
msgid "Undress"
msgstr ""
-#: src/gui/popupmenu.cpp:256 src/gui/popupmenu.cpp:286
-#: src/gui/popupmenu.cpp:423 src/gui/popupmenu.cpp:672
-#: src/gui/popupmenu.cpp:761
+#: src/gui/popupmenu.cpp:267 src/gui/popupmenu.cpp:297
+#: src/gui/popupmenu.cpp:445 src/gui/popupmenu.cpp:705
+#: src/gui/popupmenu.cpp:794
msgid "Add comment"
msgstr ""
-#: src/gui/popupmenu.cpp:271 src/gui/popupmenu.cpp:471
-#: src/gui/popupmenu.cpp:687 src/gui/popupmenu.cpp:766
+#: src/gui/popupmenu.cpp:282 src/gui/popupmenu.cpp:493
+#: src/gui/popupmenu.cpp:720 src/gui/popupmenu.cpp:799
msgid "Buy (?)"
msgstr ""
-#: src/gui/popupmenu.cpp:272 src/gui/popupmenu.cpp:472
-#: src/gui/popupmenu.cpp:688 src/gui/popupmenu.cpp:767
+#: src/gui/popupmenu.cpp:283 src/gui/popupmenu.cpp:494
+#: src/gui/popupmenu.cpp:721 src/gui/popupmenu.cpp:800
msgid "Sell (?)"
msgstr ""
-#: src/gui/popupmenu.cpp:297
+#: src/gui/popupmenu.cpp:308
msgid "Kick"
msgstr ""
-#: src/gui/popupmenu.cpp:308
+#: src/gui/popupmenu.cpp:319
msgid "Remove from attack list"
msgstr ""
-#: src/gui/popupmenu.cpp:313
+#: src/gui/popupmenu.cpp:324
msgid "Add to priority attack list"
msgstr ""
-#: src/gui/popupmenu.cpp:315
+#: src/gui/popupmenu.cpp:326
msgid "Add to attack list"
msgstr ""
-#: src/gui/popupmenu.cpp:317
+#: src/gui/popupmenu.cpp:328
msgid "Add to ignore list"
msgstr ""
-#: src/gui/popupmenu.cpp:330 src/gui/popupmenu.cpp:475
+#: src/gui/popupmenu.cpp:341 src/gui/popupmenu.cpp:497
msgid "Add name to chat"
msgstr ""
-#: src/gui/popupmenu.cpp:500
+#: src/gui/popupmenu.cpp:522
msgid "Pick up"
msgstr ""
-#: src/gui/popupmenu.cpp:501 src/gui/popupmenu.cpp:1730
-#: src/gui/popupmenu.cpp:1810 src/gui/popupmenu.cpp:1855
+#: src/gui/popupmenu.cpp:523 src/gui/popupmenu.cpp:1773
+#: src/gui/popupmenu.cpp:1853 src/gui/popupmenu.cpp:1898
msgid "Add to chat"
msgstr "チャットに追加"
-#: src/gui/popupmenu.cpp:518
+#: src/gui/popupmenu.cpp:540
msgid "Map Item"
msgstr "マップアイテム"
-#: src/gui/popupmenu.cpp:519
+#: src/gui/popupmenu.cpp:541
msgid "Rename"
msgstr ""
-#: src/gui/popupmenu.cpp:520 src/gui/popupmenu.cpp:1965
-#: src/gui/popupmenu.cpp:1976 src/gui/popupmenu.cpp:1980
+#: src/gui/popupmenu.cpp:542 src/gui/popupmenu.cpp:2008
+#: src/gui/popupmenu.cpp:2019 src/gui/popupmenu.cpp:2023
msgid "Remove"
msgstr "取り去る"
-#: src/gui/popupmenu.cpp:525
+#: src/gui/popupmenu.cpp:547
msgid "Warp"
msgstr ""
-#: src/gui/popupmenu.cpp:538
+#: src/gui/popupmenu.cpp:560
msgid "Load old outfits"
msgstr ""
-#: src/gui/popupmenu.cpp:554 src/gui/windowmenu.cpp:96
+#: src/gui/popupmenu.cpp:576 src/gui/windowmenu.cpp:96
msgid "Spells"
msgstr "呪文"
-#: src/gui/popupmenu.cpp:555
+#: src/gui/popupmenu.cpp:577
msgid "Load old spells"
msgstr ""
-#: src/gui/popupmenu.cpp:556
+#: src/gui/popupmenu.cpp:578
msgid "Edit spell"
msgstr ""
-#: src/gui/popupmenu.cpp:580
+#: src/gui/popupmenu.cpp:602
msgid "Disable highlight"
msgstr "強調表示を無効"
-#: src/gui/popupmenu.cpp:582
+#: src/gui/popupmenu.cpp:604
msgid "Enable highlight"
msgstr "強調表示を有効"
-#: src/gui/popupmenu.cpp:584
+#: src/gui/popupmenu.cpp:606
msgid "Don't remove name"
msgstr ""
-#: src/gui/popupmenu.cpp:586
+#: src/gui/popupmenu.cpp:608
msgid "Remove name"
msgstr ""
-#: src/gui/popupmenu.cpp:588
+#: src/gui/popupmenu.cpp:610
msgid "Enable away"
msgstr ""
-#: src/gui/popupmenu.cpp:590
+#: src/gui/popupmenu.cpp:612
msgid "Disable away"
msgstr ""
-#: src/gui/popupmenu.cpp:595 src/gui/socialwindow.cpp:1141
+#: src/gui/popupmenu.cpp:617 src/gui/socialwindow.cpp:1141
msgid "Leave"
msgstr "でる"
-#: src/gui/popupmenu.cpp:780
+#: src/gui/popupmenu.cpp:813
msgid "Change guild position"
msgstr "ギルドポジションを変更"
#. TRANSLATORS: number of chars in string should be near original
-#: src/gui/popupmenu.cpp:1243
+#: src/gui/popupmenu.cpp:1286
msgid "Rename map sign "
msgstr ""
#. TRANSLATORS: number of chars in string should be near original
-#: src/gui/popupmenu.cpp:1245
+#: src/gui/popupmenu.cpp:1288
msgid "Name: "
msgstr " 名前: "
#. TRANSLATORS: number of chars in string should be near original
-#: src/gui/popupmenu.cpp:1295
+#: src/gui/popupmenu.cpp:1338
msgid "Player comment "
msgstr ""
#. TRANSLATORS: number of chars in string should be near original
-#: src/gui/popupmenu.cpp:1297
+#: src/gui/popupmenu.cpp:1340
msgid "Comment: "
msgstr ""
-#: src/gui/popupmenu.cpp:1668
+#: src/gui/popupmenu.cpp:1711
msgid "Add to trade"
msgstr "に貿易を足す"
-#: src/gui/popupmenu.cpp:1672
+#: src/gui/popupmenu.cpp:1715
msgid "Add to trade 10"
msgstr ""
-#: src/gui/popupmenu.cpp:1673
+#: src/gui/popupmenu.cpp:1716
msgid "Add to trade half"
msgstr ""
-#: src/gui/popupmenu.cpp:1674
+#: src/gui/popupmenu.cpp:1717
msgid "Add to trade all"
msgstr ""
-#: src/gui/popupmenu.cpp:1684
+#: src/gui/popupmenu.cpp:1727
msgid "Store 10"
msgstr "10保存"
-#: src/gui/popupmenu.cpp:1685
+#: src/gui/popupmenu.cpp:1728
msgid "Store half"
msgstr "半分保存"
-#: src/gui/popupmenu.cpp:1686
+#: src/gui/popupmenu.cpp:1729
msgid "Store all"
msgstr "全部保存"
-#: src/gui/popupmenu.cpp:1706 src/gui/popupmenu.cpp:1798
-#: src/gui/popupmenu.cpp:1843
+#: src/gui/popupmenu.cpp:1749 src/gui/popupmenu.cpp:1841
+#: src/gui/popupmenu.cpp:1886
msgid "Drop all"
msgstr ""
-#: src/gui/popupmenu.cpp:1725
+#: src/gui/popupmenu.cpp:1768
msgid "Retrieve 10"
msgstr "10取る"
-#: src/gui/popupmenu.cpp:1726
+#: src/gui/popupmenu.cpp:1769
msgid "Retrieve half"
msgstr "半分取る"
-#: src/gui/popupmenu.cpp:1727
+#: src/gui/popupmenu.cpp:1770
msgid "Retrieve all"
msgstr "全部取る"
-#: src/gui/popupmenu.cpp:1758 src/gui/popupmenu.cpp:1814
+#: src/gui/popupmenu.cpp:1801 src/gui/popupmenu.cpp:1857
msgid "Load old item shortcuts"
msgstr ""
-#: src/gui/popupmenu.cpp:1859
+#: src/gui/popupmenu.cpp:1902
msgid "Load old drop shortcuts"
msgstr ""
-#: src/gui/popupmenu.cpp:1885 src/gui/popupmenu.cpp:1920
+#: src/gui/popupmenu.cpp:1928 src/gui/popupmenu.cpp:1963
msgid "Hide"
msgstr " 隠す"
-#: src/gui/popupmenu.cpp:1891 src/gui/popupmenu.cpp:1926
+#: src/gui/popupmenu.cpp:1934 src/gui/popupmenu.cpp:1969
msgid "Show"
msgstr "見せる"
-#: src/gui/popupmenu.cpp:1932
+#: src/gui/popupmenu.cpp:1975
msgid "Reset yellow bar"
msgstr ""
-#: src/gui/popupmenu.cpp:1934 src/gui/statuswindow.cpp:241
+#: src/gui/popupmenu.cpp:1977 src/gui/statuswindow.cpp:242
msgid "Copy to chat"
msgstr ""
-#: src/gui/popupmenu.cpp:1952 src/gui/socialwindow.cpp:958
+#: src/gui/popupmenu.cpp:1995 src/gui/setup_theme.cpp:88
+#: src/gui/setup_theme.cpp:145 src/gui/socialwindow.cpp:958
#: src/gui/socialwindow.cpp:993 src/gui/socialwindow.cpp:1028
msgid "(default)"
msgstr "(デフォルト)"
-#: src/gui/popupmenu.cpp:1962 src/gui/popupmenu.cpp:1973
+#: src/gui/popupmenu.cpp:2005 src/gui/popupmenu.cpp:2016
msgid "Move up"
msgstr ""
-#: src/gui/popupmenu.cpp:1964 src/gui/popupmenu.cpp:1975
+#: src/gui/popupmenu.cpp:2007 src/gui/popupmenu.cpp:2018
msgid "Move down"
msgstr ""
@@ -1763,9 +1781,7 @@ msgstr "お知らせ"
#: src/gui/setup_audio.cpp:120
msgid "You may have to restart your client if you want to download new music"
-msgstr ""
-"新しい音楽をダウンロードする場合は、クライアントを再起動する必要がある可能性"
-"がある"
+msgstr "新しい音楽をダウンロードする場合は、クライアントを再起動する必要がある可能性がある"
#: src/gui/setup_audio.cpp:133
msgid "Sound Engine"
@@ -1930,29 +1946,33 @@ msgstr "適用"
msgid "Reset Windows"
msgstr "ウィンドウをリセットする"
-#: src/gui/setup_joystick.cpp:40 src/gui/setup_joystick.cpp:79
+#: src/gui/setup_joystick.cpp:70 src/gui/setup_joystick.cpp:142
msgid "Press the button to start calibration"
msgstr "ボタンを押すと較正が始まります。"
-#: src/gui/setup_joystick.cpp:41 src/gui/setup_joystick.cpp:77
+#: src/gui/setup_joystick.cpp:71 src/gui/setup_joystick.cpp:140
msgid "Calibrate"
msgstr "変化させる"
-#: src/gui/setup_joystick.cpp:42
+#: src/gui/setup_joystick.cpp:72
msgid "Enable joystick"
msgstr "ジョイスティックを使用可能にする"
-#: src/gui/setup_joystick.cpp:44
+#: src/gui/setup_joystick.cpp:75
+msgid "Use joystick if client window inactive"
+msgstr ""
+
+#: src/gui/setup_joystick.cpp:78
msgid "Joystick"
msgstr "ジョイスティック"
-#: src/gui/setup_joystick.cpp:84
+#: src/gui/setup_joystick.cpp:147
msgid "Stop"
msgstr "停止"
-#: src/gui/setup_joystick.cpp:85
-msgid "Rotate the stick"
-msgstr "スティックを回転させる"
+#: src/gui/setup_joystick.cpp:149
+msgid "Rotate the stick and dont press buttons"
+msgstr ""
#: src/gui/setup_keyboard.cpp:80
msgid "Keyboard"
@@ -2135,22 +2155,22 @@ msgid "Enable bot checker"
msgstr ""
#: src/gui/setup_other.cpp:174
-msgid "Enable buggy servers protection"
+msgid "Enable buggy servers protection (do not disable)"
msgstr ""
-#: src/gui/setup_other.cpp:177
+#: src/gui/setup_other.cpp:178
msgid "Enable debug log"
msgstr "デバッグループを有効にする"
-#: src/gui/setup_other.cpp:180
+#: src/gui/setup_other.cpp:181
msgid "Low traffic mode"
msgstr ""
-#: src/gui/setup_other.cpp:183
+#: src/gui/setup_other.cpp:184
msgid "Hide shield sprite"
msgstr ""
-#: src/gui/setup_other.cpp:186
+#: src/gui/setup_other.cpp:187
msgid "Show background"
msgstr "背景を表示する"
@@ -2278,91 +2298,151 @@ msgstr "消した"
msgid "Blacklisted"
msgstr ""
-#: src/gui/setup_relations.cpp:239
+#: src/gui/setup_relations.cpp:76
+msgid "Enemy"
+msgstr ""
+
+#: src/gui/setup_relations.cpp:240
msgid "Allow trading"
msgstr "交換を承認する"
-#: src/gui/setup_relations.cpp:241
+#: src/gui/setup_relations.cpp:242
msgid "Allow whispers"
msgstr "プライベートメッセージを受け取ることを承認する"
-#: src/gui/setup_relations.cpp:244
+#: src/gui/setup_relations.cpp:245
msgid "Old"
msgstr "古い"
-#: src/gui/setup_relations.cpp:246
+#: src/gui/setup_relations.cpp:247
msgid "Relations"
msgstr ""
-#: src/gui/setup_relations.cpp:271
+#: src/gui/setup_relations.cpp:272
msgid "When ignoring:"
msgstr "無視の際には:"
-#: src/gui/setup_theme.cpp:107
+#: src/gui/setup_theme.cpp:108
msgid "Tiny (10)"
msgstr "小さい (10)"
-#: src/gui/setup_theme.cpp:108
+#: src/gui/setup_theme.cpp:109
msgid "Small (11)"
msgstr "小(11)"
-#: src/gui/setup_theme.cpp:109
+#: src/gui/setup_theme.cpp:110
msgid "Medium (12)"
msgstr "媒体(12)"
-#: src/gui/setup_theme.cpp:110
+#: src/gui/setup_theme.cpp:111
msgid "Large (13)"
msgstr "大(13)"
-#: src/gui/setup_theme.cpp:111
+#: src/gui/setup_theme.cpp:112
msgid "Big (14)"
msgstr "ビッグ(14)"
-#: src/gui/setup_theme.cpp:112
+#: src/gui/setup_theme.cpp:113
msgid "Huge (15)"
msgstr "巨大(15)"
-#: src/gui/setup_theme.cpp:143
+#: src/gui/setup_theme.cpp:146
+msgid "Chinese (China)"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:147
+msgid "Czech"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:148
+msgid "English"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:149
+msgid "Finnish"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:150
+msgid "French"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:151
+msgid "German"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:152
+msgid "Indonesian"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:153
+msgid "Japanese"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:154
+msgid "Dutch (Belgium/Flemish)"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:155
+msgid "Portuguese"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:156
+msgid "Portuguese (Brazilian)"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:157
+msgid "Russian"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:158
+msgid "Spanish (Castilian)"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:190
msgid "Theme"
msgstr "テーマ"
-#: src/gui/setup_theme.cpp:145
+#: src/gui/setup_theme.cpp:192
msgid "Gui theme"
msgstr "GUIテーマ"
-#: src/gui/setup_theme.cpp:146
+#: src/gui/setup_theme.cpp:193
+msgid "Language"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:194
msgid "Main Font"
msgstr "メインフォント"
-#: src/gui/setup_theme.cpp:147
+#: src/gui/setup_theme.cpp:195
msgid "Bold font"
msgstr "太字フォント"
-#: src/gui/setup_theme.cpp:148
+#: src/gui/setup_theme.cpp:196
msgid "Particle font"
msgstr "粒子のフォント"
-#: src/gui/setup_theme.cpp:149
+#: src/gui/setup_theme.cpp:197
msgid "Help font"
msgstr "ヘルプフォント"
-#: src/gui/setup_theme.cpp:150
+#: src/gui/setup_theme.cpp:198
msgid "Secure font"
msgstr ""
-#: src/gui/setup_theme.cpp:151
+#: src/gui/setup_theme.cpp:199
msgid "Japanese font"
msgstr ""
-#: src/gui/setup_theme.cpp:183
+#: src/gui/setup_theme.cpp:236
msgid "Font size"
msgstr "フォントサイズ"
-#: src/gui/setup_theme.cpp:299
+#: src/gui/setup_theme.cpp:377
msgid "Theme Changed"
msgstr "テーマは変えました"
-#: src/gui/setup_theme.cpp:300 src/gui/setup_video.cpp:619
+#: src/gui/setup_theme.cpp:378 src/gui/setup_video.cpp:619
#: src/gui/setup_video.cpp:624
msgid "Restart your client for the change to take effect."
msgstr "設定変更のため、アプリケーションを再起動してください。"
@@ -2789,422 +2869,445 @@ msgstr "パーティ名を選んでください"
msgid "Specials"
msgstr "スペシアール"
-#: src/gui/statuspopup.cpp:197
+#: src/gui/statuspopup.cpp:204
msgid "(D) default moves"
msgstr ""
-#: src/gui/statuspopup.cpp:202
+#: src/gui/statuspopup.cpp:209
msgid "(I) invert moves"
msgstr ""
-#: src/gui/statuspopup.cpp:207
+#: src/gui/statuspopup.cpp:214
msgid "(c) moves with some crazy moves"
msgstr ""
-#: src/gui/statuspopup.cpp:212
+#: src/gui/statuspopup.cpp:219
msgid "(C) moves with crazy moves"
msgstr ""
-#: src/gui/statuspopup.cpp:217
+#: src/gui/statuspopup.cpp:224
msgid "(d) double normal + crazy"
msgstr ""
-#: src/gui/statuspopup.cpp:222
+#: src/gui/statuspopup.cpp:229
msgid "(?) move"
msgstr "(?) 動く"
-#: src/gui/statuspopup.cpp:240
+#: src/gui/statuspopup.cpp:247
msgid "(a) custom crazy move"
msgstr ""
-#: src/gui/statuspopup.cpp:244
+#: src/gui/statuspopup.cpp:251
msgid "(?) crazy move"
msgstr ""
-#: src/gui/statuspopup.cpp:254
+#: src/gui/statuspopup.cpp:261
msgid "(0) default moves to target"
msgstr ""
-#: src/gui/statuspopup.cpp:259
+#: src/gui/statuspopup.cpp:266
msgid "(1) moves to target in distance 1"
msgstr ""
-#: src/gui/statuspopup.cpp:264
+#: src/gui/statuspopup.cpp:271
msgid "(2) moves to target in distance 2"
msgstr ""
-#: src/gui/statuspopup.cpp:269
+#: src/gui/statuspopup.cpp:276
msgid "(3) moves to target in distance 3"
msgstr ""
-#: src/gui/statuspopup.cpp:274
+#: src/gui/statuspopup.cpp:281
msgid "(5) moves to target in distance 5"
msgstr ""
-#: src/gui/statuspopup.cpp:279
+#: src/gui/statuspopup.cpp:286
msgid "(7) moves to target in distance 7"
msgstr ""
-#: src/gui/statuspopup.cpp:284
+#: src/gui/statuspopup.cpp:291
msgid "(A) moves to target in attack range"
msgstr ""
-#: src/gui/statuspopup.cpp:289
+#: src/gui/statuspopup.cpp:296
msgid "(a) archer attack range"
msgstr ""
-#: src/gui/statuspopup.cpp:294
+#: src/gui/statuspopup.cpp:301
msgid "(?) move to target"
msgstr ""
-#: src/gui/statuspopup.cpp:302
+#: src/gui/statuspopup.cpp:309
msgid "(D) default follow"
msgstr ""
-#: src/gui/statuspopup.cpp:306
+#: src/gui/statuspopup.cpp:313
msgid "(R) relative follow"
msgstr ""
-#: src/gui/statuspopup.cpp:310
+#: src/gui/statuspopup.cpp:317
msgid "(M) mirror follow"
msgstr ""
-#: src/gui/statuspopup.cpp:314
+#: src/gui/statuspopup.cpp:321
msgid "(P) pet follow"
msgstr ""
-#: src/gui/statuspopup.cpp:318
+#: src/gui/statuspopup.cpp:325
msgid "(?) unknown follow"
msgstr ""
-#: src/gui/statuspopup.cpp:327 src/gui/statuspopup.cpp:350
+#: src/gui/statuspopup.cpp:334 src/gui/statuspopup.cpp:357
msgid "(D) default attack"
msgstr ""
-#: src/gui/statuspopup.cpp:332
+#: src/gui/statuspopup.cpp:339
msgid "(s) switch attack without shield"
msgstr ""
-#: src/gui/statuspopup.cpp:337
+#: src/gui/statuspopup.cpp:344
msgid "(S) switch attack with shield"
msgstr ""
-#: src/gui/statuspopup.cpp:341 src/gui/statuspopup.cpp:366
+#: src/gui/statuspopup.cpp:348 src/gui/statuspopup.cpp:373
msgid "(?) attack"
msgstr "(?) 襲う"
-#: src/gui/statuspopup.cpp:354
+#: src/gui/statuspopup.cpp:361
msgid "(G) go and attack"
msgstr ""
-#: src/gui/statuspopup.cpp:358
+#: src/gui/statuspopup.cpp:365
msgid "(A) go, attack, pickup"
msgstr ""
-#: src/gui/statuspopup.cpp:362
+#: src/gui/statuspopup.cpp:369
msgid "(d) without auto attack"
msgstr ""
-#: src/gui/statuspopup.cpp:380
+#: src/gui/statuspopup.cpp:387
msgid "(S) small pick up 1x1 cells"
msgstr ""
-#: src/gui/statuspopup.cpp:384
+#: src/gui/statuspopup.cpp:391
msgid "(D) default pick up 2x1 cells"
msgstr ""
-#: src/gui/statuspopup.cpp:388
+#: src/gui/statuspopup.cpp:395
msgid "(F) forward pick up 2x3 cells"
msgstr ""
-#: src/gui/statuspopup.cpp:392
+#: src/gui/statuspopup.cpp:399
msgid "(3) pick up 3x3 cells"
msgstr ""
-#: src/gui/statuspopup.cpp:396
+#: src/gui/statuspopup.cpp:403
msgid "(g) go and pick up in distance 4"
msgstr ""
-#: src/gui/statuspopup.cpp:400
+#: src/gui/statuspopup.cpp:407
msgid "(G) go and pick up in distance 8"
msgstr ""
-#: src/gui/statuspopup.cpp:404
+#: src/gui/statuspopup.cpp:411
msgid "(A) go and pick up in max distance"
msgstr ""
-#: src/gui/statuspopup.cpp:408
+#: src/gui/statuspopup.cpp:415
msgid "(?) pick up"
msgstr "(?) 拾い上げる"
-#: src/gui/statuspopup.cpp:417
+#: src/gui/statuspopup.cpp:424
msgid "(N) normal map view"
msgstr ""
-#: src/gui/statuspopup.cpp:421
+#: src/gui/statuspopup.cpp:428
msgid "(D) debug map view"
msgstr ""
-#: src/gui/statuspopup.cpp:425
+#: src/gui/statuspopup.cpp:432
msgid "(u) ultra map view"
msgstr ""
-#: src/gui/statuspopup.cpp:429
+#: src/gui/statuspopup.cpp:436
msgid "(U) ultra map view 2"
msgstr ""
-#: src/gui/statuspopup.cpp:433
+#: src/gui/statuspopup.cpp:440
msgid "(e) empty map view"
msgstr ""
-#: src/gui/statuspopup.cpp:437
+#: src/gui/statuspopup.cpp:444
msgid "(b) black & white map view"
msgstr ""
-#: src/gui/statuspopup.cpp:441
+#: src/gui/statuspopup.cpp:448
msgid "(?) map view"
msgstr ""
-#: src/gui/statuspopup.cpp:449
+#: src/gui/statuspopup.cpp:456
msgid "(f) use #flar for magic attack"
msgstr ""
-#: src/gui/statuspopup.cpp:454
+#: src/gui/statuspopup.cpp:461
msgid "(c) use #chiza for magic attack"
msgstr ""
-#: src/gui/statuspopup.cpp:459
+#: src/gui/statuspopup.cpp:466
msgid "(I) use #ingrav for magic attack"
msgstr ""
-#: src/gui/statuspopup.cpp:464
+#: src/gui/statuspopup.cpp:471
msgid "(F) use #frillyar for magic attack"
msgstr ""
-#: src/gui/statuspopup.cpp:469
+#: src/gui/statuspopup.cpp:476
msgid "(U) use #upmarmu for magic attack"
msgstr ""
-#: src/gui/statuspopup.cpp:473
+#: src/gui/statuspopup.cpp:480
msgid "(?) magic attack"
msgstr ""
-#: src/gui/statuspopup.cpp:482
+#: src/gui/statuspopup.cpp:489
+msgid "(a) attack all players"
+msgstr ""
+
+#: src/gui/statuspopup.cpp:493
+msgid "(f) attack not friends"
+msgstr ""
+
+#: src/gui/statuspopup.cpp:497
+msgid "(b) attack bad relations"
+msgstr ""
+
+#: src/gui/statuspopup.cpp:501
+msgid "(d) dont attack players"
+msgstr ""
+
+#: src/gui/statuspopup.cpp:505
+msgid "(?) pvp attack"
+msgstr ""
+
+#: src/gui/statuspopup.cpp:514
msgid "(D) default imitation"
msgstr ""
-#: src/gui/statuspopup.cpp:486
+#: src/gui/statuspopup.cpp:518
msgid "(O) outfits imitation"
msgstr ""
-#: src/gui/statuspopup.cpp:490
+#: src/gui/statuspopup.cpp:522
msgid "(?) imitation"
msgstr "(?) "
-#: src/gui/statuspopup.cpp:499
+#: src/gui/statuspopup.cpp:531
msgid "(O) on keyboard"
msgstr ""
-#: src/gui/statuspopup.cpp:502
+#: src/gui/statuspopup.cpp:534
msgid "(A) away"
msgstr "(A) "
-#: src/gui/statuspopup.cpp:505 src/gui/statuspopup.cpp:525
+#: src/gui/statuspopup.cpp:537 src/gui/statuspopup.cpp:557
msgid "(?) away"
msgstr "(?) 不在で"
-#: src/gui/statuspopup.cpp:513
+#: src/gui/statuspopup.cpp:545
msgid "(G) game camera mode"
msgstr ""
-#: src/gui/statuspopup.cpp:517
+#: src/gui/statuspopup.cpp:549
msgid "(F) free camera mode"
msgstr ""
-#: src/gui/statuspopup.cpp:521
+#: src/gui/statuspopup.cpp:553
msgid "(D) design camera mode"
msgstr ""
-#: src/gui/statuspopup.cpp:532
+#: src/gui/statuspopup.cpp:564
msgid "Game modifiers are disabled"
msgstr ""
-#: src/gui/statuspopup.cpp:537
+#: src/gui/statuspopup.cpp:569
msgid "Game modifiers are enabled"
msgstr ""
-#: src/gui/statuswindow.cpp:143 src/gui/statuswindow.cpp:273
-#: src/gui/statuswindow.cpp:336
+#: src/gui/statuswindow.cpp:144 src/gui/statuswindow.cpp:274
+#: src/gui/statuswindow.cpp:337
#, c-format
msgid "Level: %d"
msgstr "レベル: %d"
-#: src/gui/statuswindow.cpp:144 src/gui/statuswindow.cpp:259
-#: src/gui/statuswindow.cpp:303
+#: src/gui/statuswindow.cpp:145 src/gui/statuswindow.cpp:260
+#: src/gui/statuswindow.cpp:304
#, c-format
msgid "Money: %s"
msgstr "GP:%s"
-#: src/gui/statuswindow.cpp:150
+#: src/gui/statuswindow.cpp:151
msgid "HP:"
msgstr "HP:"
-#: src/gui/statuswindow.cpp:157
+#: src/gui/statuswindow.cpp:158
msgid "Exp:"
msgstr "経験値:"
-#: src/gui/statuswindow.cpp:171
+#: src/gui/statuswindow.cpp:172
msgid "MP:"
msgstr "MP:"
-#: src/gui/statuswindow.cpp:203 src/gui/statuswindow.cpp:386
+#: src/gui/statuswindow.cpp:204 src/gui/statuswindow.cpp:387
#, c-format
msgid "Job: %d"
msgstr "ジョブ: %d"
-#: src/gui/statuswindow.cpp:204
+#: src/gui/statuswindow.cpp:205
msgid "Job:"
msgstr "ジョブポイント:"
-#: src/gui/statuswindow.cpp:262 src/gui/statuswindow.cpp:310
+#: src/gui/statuswindow.cpp:263 src/gui/statuswindow.cpp:311
#, c-format
msgid "Character points: %d"
msgstr "キャラクターポイント: %d"
-#: src/gui/statuswindow.cpp:268
+#: src/gui/statuswindow.cpp:269
#, c-format
msgid "Level: %d (GM %d)"
msgstr "レベル: %d (GM %d)"
-#: src/gui/statuswindow.cpp:324
+#: src/gui/statuswindow.cpp:325
#, c-format
msgid "Correction points: %d"
msgstr "修正点: %d"
-#: src/gui/statuswindow.cpp:648 src/gui/statuswindow.cpp:716
-#: src/gui/statuswindow.cpp:736 src/gui/statuswindow.cpp:752
-#: src/gui/statuswindow.cpp:798 src/gui/statuswindow.cpp:827
-#: src/gui/statuswindow.cpp:850 src/gui/statuswindow.cpp:869
+#: src/gui/statuswindow.cpp:649 src/gui/statuswindow.cpp:717
+#: src/gui/statuswindow.cpp:737 src/gui/statuswindow.cpp:753
+#: src/gui/statuswindow.cpp:818 src/gui/statuswindow.cpp:847
+#: src/gui/statuswindow.cpp:870 src/gui/statuswindow.cpp:889
msgid "(D)"
msgstr "(D)"
-#: src/gui/statuswindow.cpp:651 src/gui/statuswindow.cpp:777
+#: src/gui/statuswindow.cpp:652 src/gui/statuswindow.cpp:778
msgid "(I)"
msgstr "(I)"
-#: src/gui/statuswindow.cpp:654 src/gui/statuswindow.cpp:774
+#: src/gui/statuswindow.cpp:655 src/gui/statuswindow.cpp:775
msgid "(c)"
msgstr "(c)"
-#: src/gui/statuswindow.cpp:657
+#: src/gui/statuswindow.cpp:658
msgid "(C)"
msgstr "(C)"
-#: src/gui/statuswindow.cpp:660 src/gui/statuswindow.cpp:761
+#: src/gui/statuswindow.cpp:661 src/gui/statuswindow.cpp:762
+#: src/gui/statuswindow.cpp:803
msgid "(d)"
msgstr "(d)"
-#: src/gui/statuswindow.cpp:663 src/gui/statuswindow.cpp:677
-#: src/gui/statuswindow.cpp:709 src/gui/statuswindow.cpp:728
-#: src/gui/statuswindow.cpp:745 src/gui/statuswindow.cpp:764
-#: src/gui/statuswindow.cpp:786 src/gui/statuswindow.cpp:816
-#: src/gui/statuswindow.cpp:842 src/gui/statuswindow.cpp:856
-#: src/gui/statuswindow.cpp:872 src/gui/statuswindow.cpp:885
+#: src/gui/statuswindow.cpp:664 src/gui/statuswindow.cpp:678
+#: src/gui/statuswindow.cpp:710 src/gui/statuswindow.cpp:729
+#: src/gui/statuswindow.cpp:746 src/gui/statuswindow.cpp:765
+#: src/gui/statuswindow.cpp:787 src/gui/statuswindow.cpp:806
+#: src/gui/statuswindow.cpp:836 src/gui/statuswindow.cpp:862
+#: src/gui/statuswindow.cpp:876 src/gui/statuswindow.cpp:892
+#: src/gui/statuswindow.cpp:905
msgid "(?)"
msgstr "(?)"
-#: src/gui/statuswindow.cpp:674 src/gui/statuswindow.cpp:706
+#: src/gui/statuswindow.cpp:675 src/gui/statuswindow.cpp:707
+#: src/gui/statuswindow.cpp:794
msgid "(a)"
msgstr "(a)"
-#: src/gui/statuswindow.cpp:685
+#: src/gui/statuswindow.cpp:686
msgid "(0)"
msgstr "(0)"
-#: src/gui/statuswindow.cpp:688
+#: src/gui/statuswindow.cpp:689
msgid "(1)"
msgstr "(1)"
-#: src/gui/statuswindow.cpp:691
+#: src/gui/statuswindow.cpp:692
msgid "(2)"
msgstr "(2)"
-#: src/gui/statuswindow.cpp:694 src/gui/statuswindow.cpp:804
+#: src/gui/statuswindow.cpp:695 src/gui/statuswindow.cpp:824
msgid "(3)"
msgstr "(3)"
-#: src/gui/statuswindow.cpp:697
+#: src/gui/statuswindow.cpp:698
msgid "(5)"
msgstr "(5)"
-#: src/gui/statuswindow.cpp:700
+#: src/gui/statuswindow.cpp:701
msgid "(7)"
msgstr "(7)"
-#: src/gui/statuswindow.cpp:703 src/gui/statuswindow.cpp:758
-#: src/gui/statuswindow.cpp:813 src/gui/statuswindow.cpp:882
+#: src/gui/statuswindow.cpp:704 src/gui/statuswindow.cpp:759
+#: src/gui/statuswindow.cpp:833 src/gui/statuswindow.cpp:902
msgid "(A)"
msgstr "(A)"
-#: src/gui/statuswindow.cpp:719
+#: src/gui/statuswindow.cpp:720
msgid "(R)"
msgstr "(R)"
-#: src/gui/statuswindow.cpp:722
+#: src/gui/statuswindow.cpp:723
msgid "(M)"
msgstr "(M)"
-#: src/gui/statuswindow.cpp:725
+#: src/gui/statuswindow.cpp:726
msgid "(P)"
msgstr "(P)"
-#: src/gui/statuswindow.cpp:739
+#: src/gui/statuswindow.cpp:740
msgid "(s)"
msgstr "(s)"
-#: src/gui/statuswindow.cpp:742 src/gui/statuswindow.cpp:795
+#: src/gui/statuswindow.cpp:743 src/gui/statuswindow.cpp:815
msgid "(S)"
msgstr "(S)"
-#: src/gui/statuswindow.cpp:755 src/gui/statuswindow.cpp:810
-#: src/gui/statuswindow.cpp:863
+#: src/gui/statuswindow.cpp:756 src/gui/statuswindow.cpp:830
+#: src/gui/statuswindow.cpp:883
msgid "(G)"
msgstr "(G)"
-#: src/gui/statuswindow.cpp:771
+#: src/gui/statuswindow.cpp:772 src/gui/statuswindow.cpp:797
msgid "(f)"
msgstr "(f)"
-#: src/gui/statuswindow.cpp:780 src/gui/statuswindow.cpp:801
-#: src/gui/statuswindow.cpp:866
+#: src/gui/statuswindow.cpp:781 src/gui/statuswindow.cpp:821
+#: src/gui/statuswindow.cpp:886
msgid "(F)"
msgstr "(F)"
-#: src/gui/statuswindow.cpp:783 src/gui/statuswindow.cpp:833
+#: src/gui/statuswindow.cpp:784 src/gui/statuswindow.cpp:853
msgid "(U)"
msgstr "(U)"
-#: src/gui/statuswindow.cpp:807
+#: src/gui/statuswindow.cpp:800 src/gui/statuswindow.cpp:859
+msgid "(b)"
+msgstr "(b)"
+
+#: src/gui/statuswindow.cpp:827
msgid "(g)"
msgstr "(g)"
-#: src/gui/statuswindow.cpp:824
+#: src/gui/statuswindow.cpp:844
msgid "(N)"
msgstr "(N)"
-#: src/gui/statuswindow.cpp:830
+#: src/gui/statuswindow.cpp:850
msgid "(u)"
msgstr "(u)"
-#: src/gui/statuswindow.cpp:836
+#: src/gui/statuswindow.cpp:856
msgid "(e)"
msgstr "(e)"
-#: src/gui/statuswindow.cpp:839
-msgid "(b)"
-msgstr "(b)"
-
-#: src/gui/statuswindow.cpp:853 src/gui/statuswindow.cpp:879
+#: src/gui/statuswindow.cpp:873 src/gui/statuswindow.cpp:899
msgid "(O)"
msgstr "(O)"
@@ -3334,10 +3437,9 @@ msgid "You don't have enough money."
msgstr "現金不足です。"
#: src/gui/tradewindow.cpp:454
-msgid "Failed adding item. You can not overlap one kind of item on the window."
-msgstr ""
-"アイテムを追加することに失敗しました。アイテム一種類を一つのウインドウ上で重"
-"複して追加することは出来ません!"
+msgid ""
+"Failed adding item. You can not overlap one kind of item on the window."
+msgstr "アイテムを追加することに失敗しました。アイテム一種類を一つのウインドウ上で重複して追加することは出来ません!"
#: src/gui/unregisterdialog.cpp:54
#, c-format
@@ -3356,21 +3458,21 @@ msgstr "接続しています..."
msgid "Play"
msgstr "プレイ"
-#: src/gui/updaterwindow.cpp:564
+#: src/gui/updaterwindow.cpp:565
msgid "##1 The update process is incomplete."
msgstr "##1 アップデートは完了していません。"
#. TRANSLATORS: Continues "you try again later.".
-#: src/gui/updaterwindow.cpp:566
+#: src/gui/updaterwindow.cpp:567
msgid "##1 It is strongly recommended that"
msgstr "##1 とても推奨されます。"
#. TRANSLATORS: Begins "It is strongly recommended that".
-#: src/gui/updaterwindow.cpp:568
+#: src/gui/updaterwindow.cpp:569
msgid "##1 you try again later."
msgstr ""
-#: src/gui/updaterwindow.cpp:744
+#: src/gui/updaterwindow.cpp:745
msgid "Completed"
msgstr "完了"
@@ -3606,15 +3708,11 @@ msgstr "このコマンドでは、入力したユーザーをチャンネルの
#: src/gui/widgets/guildchattab.cpp:61 src/net/ea/gui/guildtab.cpp:69
#: src/net/ea/gui/partytab.cpp:85
msgid "If the <nick> has spaces in it, enclose it in double quotes (\")."
-msgstr ""
-"入力するニックネームにスペースが入っている場合、ダブルコーテーション(\"\")で"
-"囲んでください。"
+msgstr "入力するニックネームにスペースが入っている場合、ダブルコーテーション(\"\")で囲んでください。"
#: src/gui/widgets/channeltab.cpp:87
msgid "Channel operators can kick and op other users from the channel."
-msgstr ""
-"チャンネルのオペレーターはチャンネルからオペレーター以外のユーザーを追い出す"
-"ことができます。"
+msgstr "チャンネルのオペレーターはチャンネルからオペレーター以外のユーザーを追い出すことができます。"
#: src/gui/widgets/channeltab.cpp:92
msgid "Command: /kick <nick>"
@@ -3703,8 +3801,7 @@ msgstr "コマンド: /close"
#: src/gui/widgets/whispertab.cpp:120
msgid "This command closes the current whisper tab."
-msgstr ""
-"このコマンドでは、現在開いているプライベートメッセージのタブを閉じます。"
+msgstr "このコマンドでは、現在開いているプライベートメッセージのタブを閉じます。"
#: src/gui/widgets/whispertab.cpp:124
msgid "Command: /ignore"
@@ -3719,7 +3816,8 @@ msgid "Command: /unignore <player>"
msgstr "コマンド: /unignore <プレイヤー>"
#: src/gui/widgets/whispertab.cpp:131
-msgid "This command stops ignoring the other player if they are being ignored."
+msgid ""
+"This command stops ignoring the other player if they are being ignored."
msgstr ""
#: src/gui/windowmenu.cpp:65
@@ -3936,7 +4034,7 @@ msgstr ""
#: src/keyboardconfig.cpp:116 src/keyboardconfig.cpp:119
#: src/keyboardconfig.cpp:121 src/keyboardconfig.cpp:123
#: src/keyboardconfig.cpp:125 src/keyboardconfig.cpp:127
-#: src/keyboardconfig.cpp:369
+#: src/keyboardconfig.cpp:371
#, c-format
msgid "Item Shortcut %d"
msgstr "アイテムショートカット: %d"
@@ -4063,7 +4161,7 @@ msgstr "スマイリー"
#: src/keyboardconfig.cpp:258 src/keyboardconfig.cpp:260
#: src/keyboardconfig.cpp:262 src/keyboardconfig.cpp:264
#: src/keyboardconfig.cpp:266 src/keyboardconfig.cpp:268
-#: src/keyboardconfig.cpp:364
+#: src/keyboardconfig.cpp:366
#, c-format
msgid "Emote Shortcut %d"
msgstr "スマイリーショートカット: %d"
@@ -4192,118 +4290,122 @@ msgstr "魔法攻撃を使用"
msgid "Switch magic attack"
msgstr ""
-#: src/keyboardconfig.cpp:328
-msgid "Change move type"
+#: src/keyboardconfig.cpp:329
+msgid "Switch pvp attack"
msgstr ""
#: src/keyboardconfig.cpp:330
-msgid "Change Attack Weapon Type"
+msgid "Change move type"
msgstr ""
#: src/keyboardconfig.cpp:332
-msgid "Change Attack Type"
+msgid "Change Attack Weapon Type"
msgstr ""
#: src/keyboardconfig.cpp:334
-msgid "Change Follow mode"
+msgid "Change Attack Type"
msgstr ""
#: src/keyboardconfig.cpp:336
+msgid "Change Follow mode"
+msgstr ""
+
+#: src/keyboardconfig.cpp:338
msgid "Change Imitation mode"
msgstr ""
-#: src/keyboardconfig.cpp:339
+#: src/keyboardconfig.cpp:341
msgid "Disable / Enable Game modifier keys"
msgstr ""
-#: src/keyboardconfig.cpp:340
+#: src/keyboardconfig.cpp:342
msgid "On / Off audio"
msgstr "アウディオ オン/オフ"
-#: src/keyboardconfig.cpp:342
+#: src/keyboardconfig.cpp:344
msgid "Enable / Disable away mode"
msgstr ""
-#: src/keyboardconfig.cpp:344
+#: src/keyboardconfig.cpp:346
msgid "Emulate right click from keyboard"
msgstr ""
-#: src/keyboardconfig.cpp:346
+#: src/keyboardconfig.cpp:348
msgid "Toggle camera mode"
msgstr ""
-#: src/keyboardconfig.cpp:348
+#: src/keyboardconfig.cpp:350
msgid "Modifier key"
msgstr ""
-#: src/keyboardconfig.cpp:427
+#: src/keyboardconfig.cpp:429
#, c-format
msgid ""
"Conflict \"%s\" and \"%s\" keys. Resolve them, or gameplay may result in "
"strange behaviour."
msgstr ""
-#: src/localplayer.cpp:381
+#: src/localplayer.cpp:389
msgid "You were killed by "
msgstr ""
-#: src/localplayer.cpp:1428
+#: src/localplayer.cpp:1442
msgid "Tried to pick up nonexistent item."
msgstr ""
-#: src/localplayer.cpp:1430
+#: src/localplayer.cpp:1444
msgid "Item is too heavy."
msgstr ""
-#: src/localplayer.cpp:1432
+#: src/localplayer.cpp:1446
msgid "Item is too far away."
msgstr ""
-#: src/localplayer.cpp:1434
+#: src/localplayer.cpp:1448
msgid "Inventory is full."
msgstr ""
-#: src/localplayer.cpp:1436
+#: src/localplayer.cpp:1450
msgid "Stack is too big."
msgstr ""
-#: src/localplayer.cpp:1439
+#: src/localplayer.cpp:1453
msgid "Item belongs to someone else."
msgstr ""
-#: src/localplayer.cpp:1442
+#: src/localplayer.cpp:1456
msgid "Unknown problem picking up item."
msgstr ""
#. TRANSLATORS: %d is number,
#. [@@%d|%s@@] - here player can see link to item
-#: src/localplayer.cpp:1466
+#: src/localplayer.cpp:1480
#, c-format
msgid "You picked up %d [@@%d|%s@@]."
msgid_plural "You picked up %d [@@%d|%s@@]."
msgstr[0] ""
-#: src/localplayer.cpp:3181
+#: src/localplayer.cpp:3206
msgid "Away"
msgstr "去って"
-#: src/localplayer.cpp:3509
+#: src/localplayer.cpp:3541
msgid "Follow: "
msgstr "従う: "
-#: src/localplayer.cpp:3511 src/localplayer.cpp:3526
+#: src/localplayer.cpp:3543 src/localplayer.cpp:3558
msgid "Follow canceled"
msgstr ""
-#: src/localplayer.cpp:3518
+#: src/localplayer.cpp:3550
msgid "Imitation: "
msgstr "擬い: "
-#: src/localplayer.cpp:3520 src/localplayer.cpp:3528
+#: src/localplayer.cpp:3552 src/localplayer.cpp:3560
msgid "Imitation canceled"
msgstr ""
-#: src/localplayer.cpp:3876
+#: src/localplayer.cpp:3908
msgid "You see "
msgstr "あなた"
@@ -4669,8 +4771,7 @@ msgid ""
"<policy> can be one of \"1\", \"yes\", \"true\" to enable item sharing, or "
"\"0\", \"no\", \"false\" to disable item sharing."
msgstr ""
-"<ポリシ>を有効するためには「1」、「yes」か「true」を設定ください。無効にす"
-"るために、「0」、「no」か「false」を設定ください。"
+"<ポリシ>を有効するためには「1」、「yes」か「true」を設定ください。無効にするために、「0」、「no」か「false」を設定ください。"
#: src/net/ea/gui/partytab.cpp:101
msgid "Command: /item"
@@ -4693,8 +4794,7 @@ msgid ""
"<policy> can be one of \"1\", \"yes\", \"true\" to enable experience "
"sharing, or \"0\", \"no\", \"false\" to disable experience sharing."
msgstr ""
-"<ポリシ>を有効するためには、「1」、「yes」か「true」を設定ください。無効にす"
-"る場合、「0」、「no」か「false」を設定ください。"
+"<ポリシ>を有効するためには、「1」、「yes」か「true」を設定ください。無効にする場合、「0」、「no」か「false」を設定ください。"
#: src/net/ea/gui/partytab.cpp:113
msgid "Command: /exp"
@@ -4889,9 +4989,7 @@ msgstr "ゲームを続けるためにはコインを入れてください。"
msgid ""
"No, kids. Your character did not really die. It... err... went to a better "
"place."
-msgstr ""
-"ううん、棒ややち。あなたのキャラは本当にしんでなかった。もっと綺麗なところに"
-"向かっただけ。"
+msgstr "ううん、棒ややち。あなたのキャラは本当にしんでなかった。もっと綺麗なところに向かっただけ。"
#: src/net/ea/playerhandler.cpp:105 src/net/manaserv/beinghandler.cpp:323
msgid ""
@@ -4950,9 +5048,7 @@ msgstr "命を失い、天国に向かった。"
#: src/net/ea/playerhandler.cpp:126
msgid "If you weren't so animated, you'd be pushing up the daisies."
-msgstr ""
-"もしあなたがそんなにも生気に満ちていなかったならば、死んで葬られていたんじゃ"
-"ないか?"
+msgstr "もしあなたがそんなにも生気に満ちていなかったならば、死んで葬られていたんじゃないか?"
#: src/net/ea/playerhandler.cpp:127
msgid "Your metabolic processes are now history."
@@ -4987,7 +5083,8 @@ msgstr "メッセージ"
#: src/net/ea/playerhandler.cpp:336
msgid ""
-"You are carrying more than half your weight. You are unable to regain health."
+"You are carrying more than half your weight. You are unable to regain "
+"health."
msgstr "持っているアイテムは体重より半分以上なので、体力が回復できない。"
#: src/net/ea/playerhandler.cpp:346
@@ -5097,53 +5194,53 @@ msgstr "毒は不効果"
msgid "%s wants to trade with you, do you accept?"
msgstr "%sはあなたと取引したいみたいが、応じる?"
-#: src/net/ea/tradehandler.cpp:134
+#: src/net/ea/tradehandler.cpp:135
msgid "Trading isn't possible. Trade partner is too far away."
msgstr "取引は不可能。取引の相手は遠すぎる。"
-#: src/net/ea/tradehandler.cpp:138
+#: src/net/ea/tradehandler.cpp:139
msgid "Trading isn't possible. Character doesn't exist."
msgstr "取引は不可能。本キャラが存在していない。"
-#: src/net/ea/tradehandler.cpp:142
+#: src/net/ea/tradehandler.cpp:143
msgid "Trade cancelled due to an unknown reason."
msgstr "不明な理由で取引が中止された。"
-#: src/net/ea/tradehandler.cpp:148
+#: src/net/ea/tradehandler.cpp:149
#, c-format
msgid "Trade: You and %s"
msgstr "あなたと%sとの取引"
-#: src/net/ea/tradehandler.cpp:158
+#: src/net/ea/tradehandler.cpp:159
#, c-format
msgid "Trade with %s cancelled."
msgstr "%sとの取引が中止された。"
-#: src/net/ea/tradehandler.cpp:171
+#: src/net/ea/tradehandler.cpp:172
msgid "Unhandled trade cancel packet."
msgstr "できなかった取引キャンセルパケット"
-#: src/net/ea/tradehandler.cpp:236
+#: src/net/ea/tradehandler.cpp:237
msgid "Failed adding item. Trade partner is over weighted."
msgstr "アイテム追加失敗。相手はアイテムを持ちすぎている状態である。"
-#: src/net/ea/tradehandler.cpp:241
+#: src/net/ea/tradehandler.cpp:242
msgid "Failed adding item. Trade partner has no free slot."
msgstr "アイテム追加失敗。相手の空いているスロットはない。"
-#: src/net/ea/tradehandler.cpp:246
+#: src/net/ea/tradehandler.cpp:247
msgid "Failed adding item. You can't trade this item."
msgstr ""
-#: src/net/ea/tradehandler.cpp:250
+#: src/net/ea/tradehandler.cpp:251
msgid "Failed adding item for unknown reason."
msgstr "不明な理由でアイテム追加失敗"
-#: src/net/ea/tradehandler.cpp:269 src/net/manaserv/tradehandler.cpp:160
+#: src/net/ea/tradehandler.cpp:270 src/net/manaserv/tradehandler.cpp:160
msgid "Trade canceled."
msgstr "取引中止"
-#: src/net/ea/tradehandler.cpp:280 src/net/manaserv/tradehandler.cpp:167
+#: src/net/ea/tradehandler.cpp:281 src/net/manaserv/tradehandler.cpp:167
msgid "Trade completed."
msgstr "取引完了"
@@ -5562,15 +5659,15 @@ msgstr "攻撃距離"
msgid "Damage per sec."
msgstr ""
-#: src/net/tmwa/network.cpp:152
+#: src/net/tmwa/network.cpp:153
msgid "Empty address given to Network::connect()!"
msgstr ""
-#: src/net/tmwa/network.cpp:356
+#: src/net/tmwa/network.cpp:357
msgid "Unable to resolve host \""
msgstr "ホスト名を解決できません。"
-#: src/net/tmwa/network.cpp:426
+#: src/net/tmwa/network.cpp:427
msgid "Connection to server terminated. "
msgstr ""
@@ -5579,19 +5676,19 @@ msgstr ""
msgid "%s is not in your party!"
msgstr "%sはパーティにはいない!"
-#: src/playerrelations.cpp:435
+#: src/playerrelations.cpp:460
msgid "Print '...'"
msgstr "'...'を表示する"
-#: src/playerrelations.cpp:455
+#: src/playerrelations.cpp:480
msgid "Blink name"
msgstr "名前を瞬き"
-#: src/playerrelations.cpp:499
+#: src/playerrelations.cpp:524
msgid "Floating '...' bubble"
msgstr "フローティング'...'バブル"
-#: src/playerrelations.cpp:502
+#: src/playerrelations.cpp:527
msgid "Floating bubble"
msgstr "フローティングバブル"
@@ -5623,3 +5720,5 @@ msgstr "MP %+d"
#: src/resources/itemdb.cpp:169
msgid "Unknown item"
msgstr "不明なアイテム"
+
+
diff --git a/po/manaplus.pot b/po/manaplus.pot
index a7a34c90e..ec8d2f6b2 100644
--- a/po/manaplus.pot
+++ b/po/manaplus.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: akaras@inbox.ru\n"
-"POT-Creation-Date: 2011-10-28 03:52+0300\n"
+"POT-Creation-Date: 2011-11-12 00:23+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -22,65 +22,65 @@ msgstr ""
msgid "Visible on map"
msgstr ""
-#: src/being.cpp:548
+#: src/being.cpp:551
msgid "dodge"
msgstr ""
-#: src/being.cpp:548
+#: src/being.cpp:551
msgid "miss"
msgstr ""
#. TRANSLATORS: this away status writed in player nick
-#: src/being.cpp:1527
+#: src/being.cpp:1530
msgid "A"
msgstr ""
#. TRANSLATORS: this inactive status writed in player nick
-#: src/being.cpp:1532
+#: src/being.cpp:1535
msgid "I"
msgstr ""
-#: src/client.cpp:835 src/gui/setup.cpp:54 src/gui/windowmenu.cpp:100
+#: src/client.cpp:869 src/gui/setup.cpp:54 src/gui/windowmenu.cpp:100
msgid "Setup"
msgstr ""
-#: src/client.cpp:842 src/gui/setup_perfomance.cpp:48
+#: src/client.cpp:876 src/gui/setup_perfomance.cpp:48
msgid "Perfomance"
msgstr ""
-#: src/client.cpp:847 src/gui/setup_video.cpp:315
+#: src/client.cpp:881 src/gui/setup_video.cpp:315
msgid "Video"
msgstr ""
-#: src/client.cpp:852
+#: src/client.cpp:886
msgid "Themes"
msgstr ""
-#: src/client.cpp:934
+#: src/client.cpp:968
msgid "Connecting to server"
msgstr ""
-#: src/client.cpp:965
+#: src/client.cpp:999
msgid "Logging in"
msgstr ""
-#: src/client.cpp:998
+#: src/client.cpp:1032
msgid "Entering game world"
msgstr ""
-#: src/client.cpp:1098
+#: src/client.cpp:1132
msgid "Requesting characters"
msgstr ""
-#: src/client.cpp:1129
+#: src/client.cpp:1163
msgid "Connecting to the game server"
msgstr ""
-#: src/client.cpp:1139
+#: src/client.cpp:1173
msgid "Changing game servers"
msgstr ""
-#: src/client.cpp:1182 src/client.cpp:1189 src/client.cpp:1323
+#: src/client.cpp:1216 src/client.cpp:1223 src/client.cpp:1357
#: src/gui/changeemaildialog.cpp:157 src/gui/changepassworddialog.cpp:147
#: src/gui/charcreatedialog.cpp:221 src/gui/charselectdialog.cpp:253
#: src/gui/register.cpp:228 src/gui/serverdialog.cpp:401
@@ -90,219 +90,223 @@ msgstr ""
msgid "Error"
msgstr ""
-#: src/client.cpp:1198
+#: src/client.cpp:1232
msgid "Requesting registration details"
msgstr ""
-#: src/client.cpp:1224
+#: src/client.cpp:1258
msgid "Password Change"
msgstr ""
-#: src/client.cpp:1225
+#: src/client.cpp:1259
msgid "Password changed successfully!"
msgstr ""
-#: src/client.cpp:1244
+#: src/client.cpp:1278
msgid "Email Change"
msgstr ""
-#: src/client.cpp:1245
+#: src/client.cpp:1279
msgid "Email changed successfully!"
msgstr ""
-#: src/client.cpp:1265
+#: src/client.cpp:1299
msgid "Unregister Successful"
msgstr ""
-#: src/client.cpp:1266
+#: src/client.cpp:1300
msgid "Farewell, come back any time..."
msgstr ""
-#: src/client.cpp:1465 src/client.cpp:1495 src/client.cpp:1510
-#: src/client.cpp:1935 src/client.cpp:1942
+#: src/client.cpp:1499 src/client.cpp:1529 src/client.cpp:1544
+#: src/client.cpp:1969 src/client.cpp:1976
#, c-format
msgid "%s doesn't exist and can't be created! Exiting."
msgstr ""
-#: src/client.cpp:1641
+#: src/client.cpp:1675
#, c-format
msgid "Invalid update host: %s"
msgstr ""
-#: src/client.cpp:1675 src/client.cpp:1681
+#: src/client.cpp:1709 src/client.cpp:1715
msgid "Error creating updates directory!"
msgstr ""
-#: src/client.cpp:1702
+#: src/client.cpp:1736
#, c-format
msgid "Error: %s doesn't exist and can't be created! Exiting."
msgstr ""
-#: src/commandhandler.cpp:205
+#: src/commandhandler.cpp:209
msgid "Unknown command."
msgstr ""
-#: src/commandhandler.cpp:304
+#: src/commandhandler.cpp:329
msgid "Cannot send empty whispers!"
msgstr ""
-#: src/commandhandler.cpp:318
+#: src/commandhandler.cpp:343
#, c-format
msgid ""
"Cannot create a whisper tab for nick \"%s\"! It either already exists, or is "
"you."
msgstr ""
-#: src/commandhandler.cpp:338
+#: src/commandhandler.cpp:363
#, c-format
msgid "Requesting to join channel %s."
msgstr ""
-#: src/commandhandler.cpp:354 src/net/ea/gui/partytab.cpp:125
+#: src/commandhandler.cpp:379 src/net/ea/gui/partytab.cpp:125
msgid "Party name is missing."
msgstr ""
-#: src/commandhandler.cpp:365
+#: src/commandhandler.cpp:390
msgid "Guild name is missing."
msgstr ""
-#: src/commandhandler.cpp:378 src/commandhandler.cpp:496
-#: src/commandhandler.cpp:537 src/commandhandler.cpp:572
+#: src/commandhandler.cpp:403 src/commandhandler.cpp:521
+#: src/commandhandler.cpp:562 src/commandhandler.cpp:602
msgid "Please specify a name."
msgstr ""
-#: src/commandhandler.cpp:430
+#: src/commandhandler.cpp:455
msgid "Return toggles chat."
msgstr ""
-#: src/commandhandler.cpp:430
+#: src/commandhandler.cpp:455
msgid "Message closes chat."
msgstr ""
-#: src/commandhandler.cpp:441
+#: src/commandhandler.cpp:466
msgid "Return now toggles chat."
msgstr ""
-#: src/commandhandler.cpp:447
+#: src/commandhandler.cpp:472
msgid "Message now closes chat."
msgstr ""
-#: src/commandhandler.cpp:475
+#: src/commandhandler.cpp:500
msgid "friend"
msgstr ""
-#: src/commandhandler.cpp:480
+#: src/commandhandler.cpp:505
msgid "disregarded"
msgstr ""
-#: src/commandhandler.cpp:485
+#: src/commandhandler.cpp:510
msgid "neutral"
msgstr ""
-#: src/commandhandler.cpp:504
+#: src/commandhandler.cpp:529
#, c-format
msgid "Player already %s!"
msgstr ""
-#: src/commandhandler.cpp:518
+#: src/commandhandler.cpp:543
#, c-format
msgid "Player successfully %s!"
msgstr ""
-#: src/commandhandler.cpp:526
+#: src/commandhandler.cpp:551
#, c-format
msgid "Player could not be %s!"
msgstr ""
-#: src/commandhandler.cpp:549
+#: src/commandhandler.cpp:574
msgid "Player wasn't ignored!"
msgstr ""
-#: src/commandhandler.cpp:556
+#: src/commandhandler.cpp:581
msgid "Player no longer ignored!"
msgstr ""
-#: src/commandhandler.cpp:558
+#: src/commandhandler.cpp:583
msgid "Player could not be unignored!"
msgstr ""
-#: src/commandhandler.cpp:564
+#: src/commandhandler.cpp:589
msgid "blacklisted"
msgstr ""
-#: src/commandhandler.cpp:579
+#: src/commandhandler.cpp:594
+msgid "enemy"
+msgstr ""
+
+#: src/commandhandler.cpp:609
msgid "Player already erased!"
msgstr ""
-#: src/commandhandler.cpp:590
+#: src/commandhandler.cpp:620
msgid "Player successfully erased!"
msgstr ""
-#: src/commandhandler.cpp:592
+#: src/commandhandler.cpp:622
msgid "Player could not be erased!"
msgstr ""
-#: src/commandhandler.cpp:892 src/commandhandler.cpp:938
+#: src/commandhandler.cpp:929 src/commandhandler.cpp:975
#, c-format
msgid "Client uptime: %s"
msgstr ""
-#: src/commandhandler.cpp:902
+#: src/commandhandler.cpp:939
#, c-format
msgid "%d week"
msgid_plural "%d weeks"
msgstr[0] ""
msgstr[1] ""
-#: src/commandhandler.cpp:911
+#: src/commandhandler.cpp:948
#, c-format
msgid "%d day"
msgid_plural "%d days"
msgstr[0] ""
msgstr[1] ""
-#: src/commandhandler.cpp:919
+#: src/commandhandler.cpp:956
#, c-format
msgid "%d hour"
msgid_plural "%d hours"
msgstr[0] ""
msgstr[1] ""
-#: src/commandhandler.cpp:927
+#: src/commandhandler.cpp:964
#, c-format
msgid "%d minute"
msgid_plural "%d minutes"
msgstr[0] ""
msgstr[1] ""
-#: src/commandhandler.cpp:935
+#: src/commandhandler.cpp:972
#, c-format
msgid "%d second"
msgid_plural "%d seconds"
msgstr[0] ""
msgstr[1] ""
-#: src/commandhandler.cpp:1014
+#: src/commandhandler.cpp:1051
msgid "font cache size"
msgstr ""
-#: src/commandhandler.cpp:1026
+#: src/commandhandler.cpp:1063
msgid "Cache size:"
msgstr ""
-#: src/commandhandler.cpp:1030
+#: src/commandhandler.cpp:1067
msgid "Created:"
msgstr ""
-#: src/commandhandler.cpp:1032
+#: src/commandhandler.cpp:1069
msgid "Deleted:"
msgstr ""
-#: src/commandhandler.cpp:1133 src/commandhandler.cpp:1140
+#: src/commandhandler.cpp:1171 src/commandhandler.cpp:1178
msgid "Resource images:"
msgstr ""
-#: src/commandhandler.cpp:1135 src/commandhandler.cpp:1142
+#: src/commandhandler.cpp:1173 src/commandhandler.cpp:1180
msgid "Resource orphaned images:"
msgstr ""
@@ -319,35 +323,35 @@ msgstr ""
msgid "Debug"
msgstr ""
-#: src/game.cpp:513
+#: src/game.cpp:506
msgid "Screenshot saved as "
msgstr ""
-#: src/game.cpp:521
+#: src/game.cpp:514
msgid "Saving screenshot failed!"
msgstr ""
-#: src/game.cpp:560
+#: src/game.cpp:554
msgid "The connection to the server was lost."
msgstr ""
-#: src/game.cpp:572
+#: src/game.cpp:557
msgid "Network Error"
msgstr ""
-#: src/game.cpp:1322
+#: src/game.cpp:1332
msgid "Ignoring incoming trade requests"
msgstr ""
-#: src/game.cpp:1332
+#: src/game.cpp:1342
msgid "Accepting incoming trade requests"
msgstr ""
-#: src/game.cpp:1732
+#: src/game.cpp:1750
msgid "Could Not Load Map"
msgstr ""
-#: src/game.cpp:1733
+#: src/game.cpp:1751
#, c-format
msgid "Error while loading %s"
msgstr ""
@@ -381,19 +385,19 @@ msgid "Name"
msgstr ""
#: src/gui/botcheckerwindow.cpp:297 src/gui/popupmenu.cpp:133
-#: src/gui/popupmenu.cpp:292 src/gui/popupmenu.cpp:614
+#: src/gui/popupmenu.cpp:303 src/gui/popupmenu.cpp:636
#: src/keyboardconfig.cpp:49 src/net/tmwa/generalhandler.cpp:269
msgid "Attack"
msgstr ""
-#: src/gui/botcheckerwindow.cpp:298 src/gui/popupmenu.cpp:281
+#: src/gui/botcheckerwindow.cpp:298 src/gui/popupmenu.cpp:292
#: src/keyboardconfig.cpp:62
msgid "Talk"
msgstr ""
-#: src/gui/botcheckerwindow.cpp:299 src/gui/popupmenu.cpp:253
-#: src/gui/popupmenu.cpp:285 src/gui/popupmenu.cpp:437
-#: src/gui/popupmenu.cpp:669 src/gui/popupmenu.cpp:756
+#: src/gui/botcheckerwindow.cpp:299 src/gui/popupmenu.cpp:264
+#: src/gui/popupmenu.cpp:296 src/gui/popupmenu.cpp:459
+#: src/gui/popupmenu.cpp:702 src/gui/popupmenu.cpp:789
msgid "Move"
msgstr ""
@@ -406,8 +410,8 @@ msgid "Reset"
msgstr ""
#: src/gui/buydialog.cpp:58 src/gui/buydialog.cpp:65 src/gui/buydialog.cpp:112
-#: src/gui/buyselldialog.cpp:65 src/gui/popupmenu.cpp:265
-#: src/gui/popupmenu.cpp:282 src/gui/popupmenu.cpp:681
+#: src/gui/buyselldialog.cpp:65 src/gui/popupmenu.cpp:276
+#: src/gui/popupmenu.cpp:293 src/gui/popupmenu.cpp:714
msgid "Buy"
msgstr ""
@@ -425,7 +429,7 @@ msgstr ""
#. You may change this symbol if your language uses another.
#: src/gui/buydialog.cpp:108 src/gui/itemamountwindow.cpp:207
#: src/gui/itemamountwindow.cpp:235 src/gui/npcdialog.cpp:114
-#: src/gui/selldialog.cpp:91 src/gui/statuswindow.cpp:977
+#: src/gui/selldialog.cpp:91 src/gui/statuswindow.cpp:998
msgid "+"
msgstr ""
@@ -433,7 +437,7 @@ msgstr ""
#. You may change this symbol if your language uses another.
#: src/gui/buydialog.cpp:111 src/gui/itemamountwindow.cpp:206
#: src/gui/itemamountwindow.cpp:234 src/gui/npcdialog.cpp:115
-#: src/gui/selldialog.cpp:92 src/gui/statuswindow.cpp:989
+#: src/gui/selldialog.cpp:92 src/gui/statuswindow.cpp:1010
msgid "-"
msgstr ""
@@ -445,8 +449,8 @@ msgid "Quit"
msgstr ""
#: src/gui/buydialog.cpp:114 src/gui/selldialog.cpp:95
-#: src/gui/statuswindow.cpp:504 src/gui/statuswindow.cpp:554
-#: src/gui/statuswindow.cpp:976 src/gui/statuswindow.cpp:1007
+#: src/gui/statuswindow.cpp:505 src/gui/statuswindow.cpp:555
+#: src/gui/statuswindow.cpp:997 src/gui/statuswindow.cpp:1028
msgid "Max"
msgstr ""
@@ -455,8 +459,8 @@ msgstr ""
msgid "Shop"
msgstr ""
-#: src/gui/buyselldialog.cpp:65 src/gui/popupmenu.cpp:266
-#: src/gui/popupmenu.cpp:283 src/gui/popupmenu.cpp:682
+#: src/gui/buyselldialog.cpp:65 src/gui/popupmenu.cpp:277
+#: src/gui/popupmenu.cpp:294 src/gui/popupmenu.cpp:715
#: src/gui/selldialog.cpp:53 src/gui/selldialog.cpp:60
#: src/gui/selldialog.cpp:93
msgid "Sell"
@@ -465,15 +469,15 @@ msgstr ""
#: src/gui/buyselldialog.cpp:65 src/gui/changeemaildialog.cpp:59
#: src/gui/changepassworddialog.cpp:61 src/gui/charcreatedialog.cpp:96
#: src/gui/connectiondialog.cpp:47 src/gui/itemamountwindow.cpp:209
-#: src/gui/npcpostdialog.cpp:58 src/gui/popupmenu.cpp:333
-#: src/gui/popupmenu.cpp:354 src/gui/popupmenu.cpp:478
-#: src/gui/popupmenu.cpp:504 src/gui/popupmenu.cpp:528
-#: src/gui/popupmenu.cpp:541 src/gui/popupmenu.cpp:559
-#: src/gui/popupmenu.cpp:772 src/gui/popupmenu.cpp:796
-#: src/gui/popupmenu.cpp:1732 src/gui/popupmenu.cpp:1760
-#: src/gui/popupmenu.cpp:1816 src/gui/popupmenu.cpp:1861
-#: src/gui/popupmenu.cpp:1896 src/gui/popupmenu.cpp:1935
-#: src/gui/popupmenu.cpp:1987 src/gui/popupmenu.cpp:2007
+#: src/gui/npcpostdialog.cpp:58 src/gui/popupmenu.cpp:344
+#: src/gui/popupmenu.cpp:365 src/gui/popupmenu.cpp:500
+#: src/gui/popupmenu.cpp:526 src/gui/popupmenu.cpp:550
+#: src/gui/popupmenu.cpp:563 src/gui/popupmenu.cpp:581
+#: src/gui/popupmenu.cpp:805 src/gui/popupmenu.cpp:829
+#: src/gui/popupmenu.cpp:1775 src/gui/popupmenu.cpp:1803
+#: src/gui/popupmenu.cpp:1859 src/gui/popupmenu.cpp:1904
+#: src/gui/popupmenu.cpp:1939 src/gui/popupmenu.cpp:1978
+#: src/gui/popupmenu.cpp:2030 src/gui/popupmenu.cpp:2050
#: src/gui/quitdialog.cpp:55 src/gui/register.cpp:82 src/gui/setup.cpp:72
#: src/gui/socialwindow.cpp:1077 src/gui/textcommandeditor.cpp:241
#: src/gui/textdialog.cpp:51 src/gui/unregisterdialog.cpp:59
@@ -644,7 +648,7 @@ msgid "Enter password:"
msgstr ""
#: src/gui/charselectdialog.cpp:410 src/gui/serverdialog.cpp:298
-#: src/gui/setup_relations.cpp:243 src/gui/shopwindow.cpp:122
+#: src/gui/setup_relations.cpp:244 src/gui/shopwindow.cpp:122
#: src/gui/shopwindow.cpp:125 src/gui/textcommandeditor.cpp:244
msgid "Delete"
msgstr ""
@@ -720,8 +724,9 @@ msgstr ""
#: src/gui/chatwindow.cpp:142 src/gui/inventorywindow.cpp:90
#: src/gui/itemamountwindow.cpp:93 src/gui/logindialog.cpp:78
-#: src/gui/setup_relations.cpp:221 src/gui/setup_theme.cpp:73
-#: src/gui/setup_theme.cpp:127 src/gui/setup_video.cpp:211
+#: src/gui/setup_joystick.cpp:60 src/gui/setup_relations.cpp:222
+#: src/gui/setup_theme.cpp:74 src/gui/setup_theme.cpp:128
+#: src/gui/setup_theme.cpp:173 src/gui/setup_video.cpp:211
#: src/gui/textcommandeditor.cpp:102 src/gui/textcommandeditor.cpp:141
#: src/gui/textcommandeditor.cpp:160
msgid "???"
@@ -731,12 +736,12 @@ msgstr ""
msgid "Chat"
msgstr ""
-#: src/gui/chatwindow.cpp:613
+#: src/gui/chatwindow.cpp:615
#, c-format
msgid "Present: %s; %d players are present."
msgstr ""
-#: src/gui/chatwindow.cpp:1000
+#: src/gui/chatwindow.cpp:1002
#, c-format
msgid "Whispering to %s: %s"
msgstr ""
@@ -750,10 +755,12 @@ msgid "No"
msgstr ""
#: src/gui/confirmdialog.cpp:52 src/gui/popupmenu.cpp:146
-#: src/gui/popupmenu.cpp:153 src/gui/popupmenu.cpp:161
-#: src/gui/popupmenu.cpp:380 src/gui/popupmenu.cpp:387
-#: src/gui/popupmenu.cpp:395 src/gui/popupmenu.cpp:626
-#: src/gui/popupmenu.cpp:633 src/gui/popupmenu.cpp:641
+#: src/gui/popupmenu.cpp:154 src/gui/popupmenu.cpp:163
+#: src/gui/popupmenu.cpp:171 src/gui/popupmenu.cpp:391
+#: src/gui/popupmenu.cpp:399 src/gui/popupmenu.cpp:408
+#: src/gui/popupmenu.cpp:427 src/gui/popupmenu.cpp:648
+#: src/gui/popupmenu.cpp:656 src/gui/popupmenu.cpp:665
+#: src/gui/popupmenu.cpp:679
msgid "Ignore"
msgstr ""
@@ -899,7 +906,7 @@ msgstr ""
#: src/gui/didyouknowwindow.cpp:63 src/gui/helpwindow.cpp:59
#: src/gui/inventorywindow.cpp:205 src/gui/npcdialog.cpp:53
-#: src/gui/popupmenu.cpp:574 src/gui/shopwindow.cpp:113
+#: src/gui/popupmenu.cpp:596 src/gui/shopwindow.cpp:113
msgid "Close"
msgstr ""
@@ -926,8 +933,8 @@ msgstr ""
#: src/gui/equipmentwindow.cpp:95 src/gui/inventorywindow.cpp:160
#: src/gui/inventorywindow.cpp:545 src/gui/inventorywindow.cpp:554
-#: src/gui/popupmenu.cpp:1694 src/gui/popupmenu.cpp:1786
-#: src/gui/popupmenu.cpp:1831
+#: src/gui/popupmenu.cpp:1737 src/gui/popupmenu.cpp:1829
+#: src/gui/popupmenu.cpp:1874
msgid "Unequip"
msgstr ""
@@ -969,31 +976,31 @@ msgid "Filter:"
msgstr ""
#: src/gui/inventorywindow.cpp:158 src/gui/inventorywindow.cpp:547
-#: src/gui/inventorywindow.cpp:556 src/gui/popupmenu.cpp:1696
-#: src/gui/popupmenu.cpp:1788 src/gui/popupmenu.cpp:1833
+#: src/gui/inventorywindow.cpp:556 src/gui/popupmenu.cpp:1739
+#: src/gui/popupmenu.cpp:1831 src/gui/popupmenu.cpp:1876
msgid "Equip"
msgstr ""
#: src/gui/inventorywindow.cpp:159 src/gui/inventorywindow.cpp:548
-#: src/gui/inventorywindow.cpp:552 src/gui/popupmenu.cpp:1700
-#: src/gui/popupmenu.cpp:1755 src/gui/popupmenu.cpp:1792
-#: src/gui/popupmenu.cpp:1837
+#: src/gui/inventorywindow.cpp:552 src/gui/popupmenu.cpp:1743
+#: src/gui/popupmenu.cpp:1798 src/gui/popupmenu.cpp:1835
+#: src/gui/popupmenu.cpp:1880
msgid "Use"
msgstr ""
#: src/gui/inventorywindow.cpp:173 src/gui/inventorywindow.cpp:652
-#: src/gui/popupmenu.cpp:1705 src/gui/popupmenu.cpp:1797
-#: src/gui/popupmenu.cpp:1842
+#: src/gui/popupmenu.cpp:1748 src/gui/popupmenu.cpp:1840
+#: src/gui/popupmenu.cpp:1885
msgid "Drop..."
msgstr ""
-#: src/gui/inventorywindow.cpp:174 src/gui/popupmenu.cpp:1714
-#: src/gui/popupmenu.cpp:1806 src/gui/popupmenu.cpp:1851
+#: src/gui/inventorywindow.cpp:174 src/gui/popupmenu.cpp:1757
+#: src/gui/popupmenu.cpp:1849 src/gui/popupmenu.cpp:1894
msgid "Split"
msgstr ""
#: src/gui/inventorywindow.cpp:175 src/gui/outfitwindow.cpp:60
-#: src/gui/popupmenu.cpp:537
+#: src/gui/popupmenu.cpp:559
msgid "Outfits"
msgstr ""
@@ -1002,17 +1009,17 @@ msgid "Weight:"
msgstr ""
#: src/gui/inventorywindow.cpp:203 src/gui/inventorywindow.cpp:643
-#: src/gui/popupmenu.cpp:1680 src/gui/popupmenu.cpp:1809
-#: src/gui/popupmenu.cpp:1854 src/gui/setup.cpp:73
+#: src/gui/popupmenu.cpp:1723 src/gui/popupmenu.cpp:1852
+#: src/gui/popupmenu.cpp:1897 src/gui/setup.cpp:73
msgid "Store"
msgstr ""
-#: src/gui/inventorywindow.cpp:204 src/gui/popupmenu.cpp:1721
+#: src/gui/inventorywindow.cpp:204 src/gui/popupmenu.cpp:1764
msgid "Retrieve"
msgstr ""
-#: src/gui/inventorywindow.cpp:654 src/gui/popupmenu.cpp:1710
-#: src/gui/popupmenu.cpp:1802 src/gui/popupmenu.cpp:1847
+#: src/gui/inventorywindow.cpp:654 src/gui/popupmenu.cpp:1753
+#: src/gui/popupmenu.cpp:1845 src/gui/popupmenu.cpp:1890
#: src/gui/windowmenu.cpp:97
msgid "Drop"
msgstr ""
@@ -1252,7 +1259,7 @@ msgstr ""
msgid "NPC"
msgstr ""
-#: src/gui/npcdialog.cpp:108 src/gui/popupmenu.cpp:576
+#: src/gui/npcdialog.cpp:108 src/gui/popupmenu.cpp:598
msgid "Clear"
msgstr ""
@@ -1290,331 +1297,347 @@ msgstr ""
msgid "Away outfit"
msgstr ""
-#: src/gui/popupmenu.cpp:132 src/gui/popupmenu.cpp:613
+#: src/gui/popupmenu.cpp:132 src/gui/popupmenu.cpp:635
#: src/gui/widgets/tradetab.cpp:44
msgid "Trade"
msgstr ""
-#: src/gui/popupmenu.cpp:134 src/gui/popupmenu.cpp:372
+#: src/gui/popupmenu.cpp:134 src/gui/popupmenu.cpp:383
msgid "Whisper"
msgstr ""
-#: src/gui/popupmenu.cpp:138 src/gui/popupmenu.cpp:618
+#: src/gui/popupmenu.cpp:138 src/gui/popupmenu.cpp:640
msgid "Heal"
msgstr ""
-#: src/gui/popupmenu.cpp:144 src/gui/popupmenu.cpp:378
-#: src/gui/popupmenu.cpp:624
+#: src/gui/popupmenu.cpp:144 src/gui/popupmenu.cpp:389
+#: src/gui/popupmenu.cpp:646
msgid "Be friend"
msgstr ""
-#: src/gui/popupmenu.cpp:145 src/gui/popupmenu.cpp:152
-#: src/gui/popupmenu.cpp:160 src/gui/popupmenu.cpp:178
-#: src/gui/popupmenu.cpp:379 src/gui/popupmenu.cpp:386
-#: src/gui/popupmenu.cpp:394 src/gui/popupmenu.cpp:412
-#: src/gui/popupmenu.cpp:625 src/gui/popupmenu.cpp:632
-#: src/gui/popupmenu.cpp:640 src/gui/popupmenu.cpp:658
+#: src/gui/popupmenu.cpp:145 src/gui/popupmenu.cpp:153
+#: src/gui/popupmenu.cpp:162 src/gui/popupmenu.cpp:170
+#: src/gui/popupmenu.cpp:189 src/gui/popupmenu.cpp:390
+#: src/gui/popupmenu.cpp:398 src/gui/popupmenu.cpp:407
+#: src/gui/popupmenu.cpp:426 src/gui/popupmenu.cpp:434
+#: src/gui/popupmenu.cpp:647 src/gui/popupmenu.cpp:655
+#: src/gui/popupmenu.cpp:664 src/gui/popupmenu.cpp:678
+#: src/gui/popupmenu.cpp:691
msgid "Disregard"
msgstr ""
-#: src/gui/popupmenu.cpp:147 src/gui/popupmenu.cpp:154
-#: src/gui/popupmenu.cpp:381 src/gui/popupmenu.cpp:388
-#: src/gui/popupmenu.cpp:627 src/gui/popupmenu.cpp:634
+#: src/gui/popupmenu.cpp:147 src/gui/popupmenu.cpp:155
+#: src/gui/popupmenu.cpp:172 src/gui/popupmenu.cpp:392
+#: src/gui/popupmenu.cpp:400 src/gui/popupmenu.cpp:428
+#: src/gui/popupmenu.cpp:649 src/gui/popupmenu.cpp:657
+#: src/gui/popupmenu.cpp:680
msgid "Black list"
msgstr ""
-#: src/gui/popupmenu.cpp:148 src/gui/popupmenu.cpp:155
-#: src/gui/popupmenu.cpp:162 src/gui/popupmenu.cpp:168
-#: src/gui/popupmenu.cpp:173 src/gui/popupmenu.cpp:382
-#: src/gui/popupmenu.cpp:389 src/gui/popupmenu.cpp:396
-#: src/gui/popupmenu.cpp:402 src/gui/popupmenu.cpp:407
-#: src/gui/popupmenu.cpp:628 src/gui/popupmenu.cpp:635
-#: src/gui/popupmenu.cpp:642 src/gui/popupmenu.cpp:648
-#: src/gui/popupmenu.cpp:653
+#: src/gui/popupmenu.cpp:148 src/gui/popupmenu.cpp:156
+#: src/gui/popupmenu.cpp:164 src/gui/popupmenu.cpp:393
+#: src/gui/popupmenu.cpp:401 src/gui/popupmenu.cpp:409
+#: src/gui/popupmenu.cpp:650 src/gui/popupmenu.cpp:658
+#: src/gui/popupmenu.cpp:666
+msgid "Set as enemy"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:149 src/gui/popupmenu.cpp:157
+#: src/gui/popupmenu.cpp:165 src/gui/popupmenu.cpp:173
+#: src/gui/popupmenu.cpp:179 src/gui/popupmenu.cpp:184
+#: src/gui/popupmenu.cpp:394 src/gui/popupmenu.cpp:402
+#: src/gui/popupmenu.cpp:410 src/gui/popupmenu.cpp:416
+#: src/gui/popupmenu.cpp:421 src/gui/popupmenu.cpp:429
+#: src/gui/popupmenu.cpp:651 src/gui/popupmenu.cpp:659
+#: src/gui/popupmenu.cpp:667 src/gui/popupmenu.cpp:673
+#: src/gui/popupmenu.cpp:681 src/gui/popupmenu.cpp:686
msgid "Erase"
msgstr ""
-#: src/gui/popupmenu.cpp:159 src/gui/popupmenu.cpp:166
-#: src/gui/popupmenu.cpp:172 src/gui/popupmenu.cpp:177
-#: src/gui/popupmenu.cpp:393 src/gui/popupmenu.cpp:400
-#: src/gui/popupmenu.cpp:406 src/gui/popupmenu.cpp:411
-#: src/gui/popupmenu.cpp:639 src/gui/popupmenu.cpp:646
-#: src/gui/popupmenu.cpp:652 src/gui/popupmenu.cpp:657
+#: src/gui/popupmenu.cpp:161 src/gui/popupmenu.cpp:169
+#: src/gui/popupmenu.cpp:177 src/gui/popupmenu.cpp:183
+#: src/gui/popupmenu.cpp:188 src/gui/popupmenu.cpp:406
+#: src/gui/popupmenu.cpp:414 src/gui/popupmenu.cpp:420
+#: src/gui/popupmenu.cpp:425 src/gui/popupmenu.cpp:433
+#: src/gui/popupmenu.cpp:663 src/gui/popupmenu.cpp:671
+#: src/gui/popupmenu.cpp:677 src/gui/popupmenu.cpp:685
+#: src/gui/popupmenu.cpp:690
msgid "Unignore"
msgstr ""
-#: src/gui/popupmenu.cpp:167 src/gui/popupmenu.cpp:179
-#: src/gui/popupmenu.cpp:401 src/gui/popupmenu.cpp:413
-#: src/gui/popupmenu.cpp:647 src/gui/popupmenu.cpp:659
-#: src/playerrelations.cpp:421
+#: src/gui/popupmenu.cpp:178 src/gui/popupmenu.cpp:190
+#: src/gui/popupmenu.cpp:415 src/gui/popupmenu.cpp:435
+#: src/gui/popupmenu.cpp:672 src/gui/popupmenu.cpp:692
+#: src/playerrelations.cpp:446
msgid "Completely ignore"
msgstr ""
-#: src/gui/popupmenu.cpp:187 src/gui/popupmenu.cpp:421
-#: src/gui/popupmenu.cpp:667 src/gui/popupmenu.cpp:746
+#: src/gui/popupmenu.cpp:198 src/gui/popupmenu.cpp:443
+#: src/gui/popupmenu.cpp:700 src/gui/popupmenu.cpp:779
msgid "Follow"
msgstr ""
-#: src/gui/popupmenu.cpp:188 src/gui/popupmenu.cpp:422
-#: src/gui/popupmenu.cpp:668 src/gui/popupmenu.cpp:747
+#: src/gui/popupmenu.cpp:199 src/gui/popupmenu.cpp:444
+#: src/gui/popupmenu.cpp:701 src/gui/popupmenu.cpp:780
msgid "Imitation"
msgstr ""
-#: src/gui/popupmenu.cpp:197 src/gui/popupmenu.cpp:700
+#: src/gui/popupmenu.cpp:208 src/gui/popupmenu.cpp:733
msgid "Invite to party"
msgstr ""
-#: src/gui/popupmenu.cpp:202 src/gui/popupmenu.cpp:433
-#: src/gui/popupmenu.cpp:705
+#: src/gui/popupmenu.cpp:213 src/gui/popupmenu.cpp:455
+#: src/gui/popupmenu.cpp:738
msgid "Kick from party"
msgstr ""
-#: src/gui/popupmenu.cpp:217 src/gui/popupmenu.cpp:229
-#: src/gui/popupmenu.cpp:450 src/gui/popupmenu.cpp:722
+#: src/gui/popupmenu.cpp:228 src/gui/popupmenu.cpp:240
+#: src/gui/popupmenu.cpp:472 src/gui/popupmenu.cpp:755
msgid "Kick from guild"
msgstr ""
-#: src/gui/popupmenu.cpp:222 src/gui/popupmenu.cpp:234
-#: src/gui/popupmenu.cpp:455 src/gui/popupmenu.cpp:727
+#: src/gui/popupmenu.cpp:233 src/gui/popupmenu.cpp:245
+#: src/gui/popupmenu.cpp:477 src/gui/popupmenu.cpp:760
msgid "Change pos in guild"
msgstr ""
-#: src/gui/popupmenu.cpp:242 src/gui/popupmenu.cpp:463
-#: src/gui/popupmenu.cpp:736
+#: src/gui/popupmenu.cpp:253 src/gui/popupmenu.cpp:485
+#: src/gui/popupmenu.cpp:769
msgid "Invite to guild"
msgstr ""
-#: src/gui/popupmenu.cpp:250
+#: src/gui/popupmenu.cpp:261
msgid "Kick player"
msgstr ""
-#: src/gui/popupmenu.cpp:252
+#: src/gui/popupmenu.cpp:263
msgid "Nuke"
msgstr ""
-#: src/gui/popupmenu.cpp:254 src/gui/popupmenu.cpp:670
-#: src/gui/popupmenu.cpp:759
+#: src/gui/popupmenu.cpp:265 src/gui/popupmenu.cpp:703
+#: src/gui/popupmenu.cpp:792
msgid "Show Items"
msgstr ""
-#: src/gui/popupmenu.cpp:255 src/gui/popupmenu.cpp:671
-#: src/gui/popupmenu.cpp:760 src/gui/popupmenu.cpp:2004
+#: src/gui/popupmenu.cpp:266 src/gui/popupmenu.cpp:704
+#: src/gui/popupmenu.cpp:793 src/gui/popupmenu.cpp:2047
msgid "Undress"
msgstr ""
-#: src/gui/popupmenu.cpp:256 src/gui/popupmenu.cpp:286
-#: src/gui/popupmenu.cpp:423 src/gui/popupmenu.cpp:672
-#: src/gui/popupmenu.cpp:761
+#: src/gui/popupmenu.cpp:267 src/gui/popupmenu.cpp:297
+#: src/gui/popupmenu.cpp:445 src/gui/popupmenu.cpp:705
+#: src/gui/popupmenu.cpp:794
msgid "Add comment"
msgstr ""
-#: src/gui/popupmenu.cpp:271 src/gui/popupmenu.cpp:471
-#: src/gui/popupmenu.cpp:687 src/gui/popupmenu.cpp:766
+#: src/gui/popupmenu.cpp:282 src/gui/popupmenu.cpp:493
+#: src/gui/popupmenu.cpp:720 src/gui/popupmenu.cpp:799
msgid "Buy (?)"
msgstr ""
-#: src/gui/popupmenu.cpp:272 src/gui/popupmenu.cpp:472
-#: src/gui/popupmenu.cpp:688 src/gui/popupmenu.cpp:767
+#: src/gui/popupmenu.cpp:283 src/gui/popupmenu.cpp:494
+#: src/gui/popupmenu.cpp:721 src/gui/popupmenu.cpp:800
msgid "Sell (?)"
msgstr ""
-#: src/gui/popupmenu.cpp:297
+#: src/gui/popupmenu.cpp:308
msgid "Kick"
msgstr ""
-#: src/gui/popupmenu.cpp:308
+#: src/gui/popupmenu.cpp:319
msgid "Remove from attack list"
msgstr ""
-#: src/gui/popupmenu.cpp:313
+#: src/gui/popupmenu.cpp:324
msgid "Add to priority attack list"
msgstr ""
-#: src/gui/popupmenu.cpp:315
+#: src/gui/popupmenu.cpp:326
msgid "Add to attack list"
msgstr ""
-#: src/gui/popupmenu.cpp:317
+#: src/gui/popupmenu.cpp:328
msgid "Add to ignore list"
msgstr ""
-#: src/gui/popupmenu.cpp:330 src/gui/popupmenu.cpp:475
+#: src/gui/popupmenu.cpp:341 src/gui/popupmenu.cpp:497
msgid "Add name to chat"
msgstr ""
-#: src/gui/popupmenu.cpp:500
+#: src/gui/popupmenu.cpp:522
msgid "Pick up"
msgstr ""
-#: src/gui/popupmenu.cpp:501 src/gui/popupmenu.cpp:1730
-#: src/gui/popupmenu.cpp:1810 src/gui/popupmenu.cpp:1855
+#: src/gui/popupmenu.cpp:523 src/gui/popupmenu.cpp:1773
+#: src/gui/popupmenu.cpp:1853 src/gui/popupmenu.cpp:1898
msgid "Add to chat"
msgstr ""
-#: src/gui/popupmenu.cpp:518
+#: src/gui/popupmenu.cpp:540
msgid "Map Item"
msgstr ""
-#: src/gui/popupmenu.cpp:519
+#: src/gui/popupmenu.cpp:541
msgid "Rename"
msgstr ""
-#: src/gui/popupmenu.cpp:520 src/gui/popupmenu.cpp:1965
-#: src/gui/popupmenu.cpp:1976 src/gui/popupmenu.cpp:1980
+#: src/gui/popupmenu.cpp:542 src/gui/popupmenu.cpp:2008
+#: src/gui/popupmenu.cpp:2019 src/gui/popupmenu.cpp:2023
msgid "Remove"
msgstr ""
-#: src/gui/popupmenu.cpp:525
+#: src/gui/popupmenu.cpp:547
msgid "Warp"
msgstr ""
-#: src/gui/popupmenu.cpp:538
+#: src/gui/popupmenu.cpp:560
msgid "Load old outfits"
msgstr ""
-#: src/gui/popupmenu.cpp:554 src/gui/windowmenu.cpp:96
+#: src/gui/popupmenu.cpp:576 src/gui/windowmenu.cpp:96
msgid "Spells"
msgstr ""
-#: src/gui/popupmenu.cpp:555
+#: src/gui/popupmenu.cpp:577
msgid "Load old spells"
msgstr ""
-#: src/gui/popupmenu.cpp:556
+#: src/gui/popupmenu.cpp:578
msgid "Edit spell"
msgstr ""
-#: src/gui/popupmenu.cpp:580
+#: src/gui/popupmenu.cpp:602
msgid "Disable highlight"
msgstr ""
-#: src/gui/popupmenu.cpp:582
+#: src/gui/popupmenu.cpp:604
msgid "Enable highlight"
msgstr ""
-#: src/gui/popupmenu.cpp:584
+#: src/gui/popupmenu.cpp:606
msgid "Don't remove name"
msgstr ""
-#: src/gui/popupmenu.cpp:586
+#: src/gui/popupmenu.cpp:608
msgid "Remove name"
msgstr ""
-#: src/gui/popupmenu.cpp:588
+#: src/gui/popupmenu.cpp:610
msgid "Enable away"
msgstr ""
-#: src/gui/popupmenu.cpp:590
+#: src/gui/popupmenu.cpp:612
msgid "Disable away"
msgstr ""
-#: src/gui/popupmenu.cpp:595 src/gui/socialwindow.cpp:1141
+#: src/gui/popupmenu.cpp:617 src/gui/socialwindow.cpp:1141
msgid "Leave"
msgstr ""
-#: src/gui/popupmenu.cpp:780
+#: src/gui/popupmenu.cpp:813
msgid "Change guild position"
msgstr ""
#. TRANSLATORS: number of chars in string should be near original
-#: src/gui/popupmenu.cpp:1243
+#: src/gui/popupmenu.cpp:1286
msgid "Rename map sign "
msgstr ""
#. TRANSLATORS: number of chars in string should be near original
-#: src/gui/popupmenu.cpp:1245
+#: src/gui/popupmenu.cpp:1288
msgid "Name: "
msgstr ""
#. TRANSLATORS: number of chars in string should be near original
-#: src/gui/popupmenu.cpp:1295
+#: src/gui/popupmenu.cpp:1338
msgid "Player comment "
msgstr ""
#. TRANSLATORS: number of chars in string should be near original
-#: src/gui/popupmenu.cpp:1297
+#: src/gui/popupmenu.cpp:1340
msgid "Comment: "
msgstr ""
-#: src/gui/popupmenu.cpp:1668
+#: src/gui/popupmenu.cpp:1711
msgid "Add to trade"
msgstr ""
-#: src/gui/popupmenu.cpp:1672
+#: src/gui/popupmenu.cpp:1715
msgid "Add to trade 10"
msgstr ""
-#: src/gui/popupmenu.cpp:1673
+#: src/gui/popupmenu.cpp:1716
msgid "Add to trade half"
msgstr ""
-#: src/gui/popupmenu.cpp:1674
+#: src/gui/popupmenu.cpp:1717
msgid "Add to trade all"
msgstr ""
-#: src/gui/popupmenu.cpp:1684
+#: src/gui/popupmenu.cpp:1727
msgid "Store 10"
msgstr ""
-#: src/gui/popupmenu.cpp:1685
+#: src/gui/popupmenu.cpp:1728
msgid "Store half"
msgstr ""
-#: src/gui/popupmenu.cpp:1686
+#: src/gui/popupmenu.cpp:1729
msgid "Store all"
msgstr ""
-#: src/gui/popupmenu.cpp:1706 src/gui/popupmenu.cpp:1798
-#: src/gui/popupmenu.cpp:1843
+#: src/gui/popupmenu.cpp:1749 src/gui/popupmenu.cpp:1841
+#: src/gui/popupmenu.cpp:1886
msgid "Drop all"
msgstr ""
-#: src/gui/popupmenu.cpp:1725
+#: src/gui/popupmenu.cpp:1768
msgid "Retrieve 10"
msgstr ""
-#: src/gui/popupmenu.cpp:1726
+#: src/gui/popupmenu.cpp:1769
msgid "Retrieve half"
msgstr ""
-#: src/gui/popupmenu.cpp:1727
+#: src/gui/popupmenu.cpp:1770
msgid "Retrieve all"
msgstr ""
-#: src/gui/popupmenu.cpp:1758 src/gui/popupmenu.cpp:1814
+#: src/gui/popupmenu.cpp:1801 src/gui/popupmenu.cpp:1857
msgid "Load old item shortcuts"
msgstr ""
-#: src/gui/popupmenu.cpp:1859
+#: src/gui/popupmenu.cpp:1902
msgid "Load old drop shortcuts"
msgstr ""
-#: src/gui/popupmenu.cpp:1885 src/gui/popupmenu.cpp:1920
+#: src/gui/popupmenu.cpp:1928 src/gui/popupmenu.cpp:1963
msgid "Hide"
msgstr ""
-#: src/gui/popupmenu.cpp:1891 src/gui/popupmenu.cpp:1926
+#: src/gui/popupmenu.cpp:1934 src/gui/popupmenu.cpp:1969
msgid "Show"
msgstr ""
-#: src/gui/popupmenu.cpp:1932
+#: src/gui/popupmenu.cpp:1975
msgid "Reset yellow bar"
msgstr ""
-#: src/gui/popupmenu.cpp:1934 src/gui/statuswindow.cpp:241
+#: src/gui/popupmenu.cpp:1977 src/gui/statuswindow.cpp:242
msgid "Copy to chat"
msgstr ""
-#: src/gui/popupmenu.cpp:1952 src/gui/socialwindow.cpp:958
+#: src/gui/popupmenu.cpp:1995 src/gui/setup_theme.cpp:88
+#: src/gui/setup_theme.cpp:145 src/gui/socialwindow.cpp:958
#: src/gui/socialwindow.cpp:993 src/gui/socialwindow.cpp:1028
msgid "(default)"
msgstr ""
-#: src/gui/popupmenu.cpp:1962 src/gui/popupmenu.cpp:1973
+#: src/gui/popupmenu.cpp:2005 src/gui/popupmenu.cpp:2016
msgid "Move up"
msgstr ""
-#: src/gui/popupmenu.cpp:1964 src/gui/popupmenu.cpp:1975
+#: src/gui/popupmenu.cpp:2007 src/gui/popupmenu.cpp:2018
msgid "Move down"
msgstr ""
@@ -1927,28 +1950,32 @@ msgstr ""
msgid "Reset Windows"
msgstr ""
-#: src/gui/setup_joystick.cpp:40 src/gui/setup_joystick.cpp:79
+#: src/gui/setup_joystick.cpp:70 src/gui/setup_joystick.cpp:142
msgid "Press the button to start calibration"
msgstr ""
-#: src/gui/setup_joystick.cpp:41 src/gui/setup_joystick.cpp:77
+#: src/gui/setup_joystick.cpp:71 src/gui/setup_joystick.cpp:140
msgid "Calibrate"
msgstr ""
-#: src/gui/setup_joystick.cpp:42
+#: src/gui/setup_joystick.cpp:72
msgid "Enable joystick"
msgstr ""
-#: src/gui/setup_joystick.cpp:44
+#: src/gui/setup_joystick.cpp:75
+msgid "Use joystick if client window inactive"
+msgstr ""
+
+#: src/gui/setup_joystick.cpp:78
msgid "Joystick"
msgstr ""
-#: src/gui/setup_joystick.cpp:84
+#: src/gui/setup_joystick.cpp:147
msgid "Stop"
msgstr ""
-#: src/gui/setup_joystick.cpp:85
-msgid "Rotate the stick"
+#: src/gui/setup_joystick.cpp:149
+msgid "Rotate the stick and dont press buttons"
msgstr ""
#: src/gui/setup_keyboard.cpp:80
@@ -2132,22 +2159,22 @@ msgid "Enable bot checker"
msgstr ""
#: src/gui/setup_other.cpp:174
-msgid "Enable buggy servers protection"
+msgid "Enable buggy servers protection (do not disable)"
msgstr ""
-#: src/gui/setup_other.cpp:177
+#: src/gui/setup_other.cpp:178
msgid "Enable debug log"
msgstr ""
-#: src/gui/setup_other.cpp:180
+#: src/gui/setup_other.cpp:181
msgid "Low traffic mode"
msgstr ""
-#: src/gui/setup_other.cpp:183
+#: src/gui/setup_other.cpp:184
msgid "Hide shield sprite"
msgstr ""
-#: src/gui/setup_other.cpp:186
+#: src/gui/setup_other.cpp:187
msgid "Show background"
msgstr ""
@@ -2275,91 +2302,151 @@ msgstr ""
msgid "Blacklisted"
msgstr ""
-#: src/gui/setup_relations.cpp:239
+#: src/gui/setup_relations.cpp:76
+msgid "Enemy"
+msgstr ""
+
+#: src/gui/setup_relations.cpp:240
msgid "Allow trading"
msgstr ""
-#: src/gui/setup_relations.cpp:241
+#: src/gui/setup_relations.cpp:242
msgid "Allow whispers"
msgstr ""
-#: src/gui/setup_relations.cpp:244
+#: src/gui/setup_relations.cpp:245
msgid "Old"
msgstr ""
-#: src/gui/setup_relations.cpp:246
+#: src/gui/setup_relations.cpp:247
msgid "Relations"
msgstr ""
-#: src/gui/setup_relations.cpp:271
+#: src/gui/setup_relations.cpp:272
msgid "When ignoring:"
msgstr ""
-#: src/gui/setup_theme.cpp:107
+#: src/gui/setup_theme.cpp:108
msgid "Tiny (10)"
msgstr ""
-#: src/gui/setup_theme.cpp:108
+#: src/gui/setup_theme.cpp:109
msgid "Small (11)"
msgstr ""
-#: src/gui/setup_theme.cpp:109
+#: src/gui/setup_theme.cpp:110
msgid "Medium (12)"
msgstr ""
-#: src/gui/setup_theme.cpp:110
+#: src/gui/setup_theme.cpp:111
msgid "Large (13)"
msgstr ""
-#: src/gui/setup_theme.cpp:111
+#: src/gui/setup_theme.cpp:112
msgid "Big (14)"
msgstr ""
-#: src/gui/setup_theme.cpp:112
+#: src/gui/setup_theme.cpp:113
msgid "Huge (15)"
msgstr ""
-#: src/gui/setup_theme.cpp:143
+#: src/gui/setup_theme.cpp:146
+msgid "Chinese (China)"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:147
+msgid "Czech"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:148
+msgid "English"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:149
+msgid "Finnish"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:150
+msgid "French"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:151
+msgid "German"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:152
+msgid "Indonesian"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:153
+msgid "Japanese"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:154
+msgid "Dutch (Belgium/Flemish)"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:155
+msgid "Portuguese"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:156
+msgid "Portuguese (Brazilian)"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:157
+msgid "Russian"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:158
+msgid "Spanish (Castilian)"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:190
msgid "Theme"
msgstr ""
-#: src/gui/setup_theme.cpp:145
+#: src/gui/setup_theme.cpp:192
msgid "Gui theme"
msgstr ""
-#: src/gui/setup_theme.cpp:146
+#: src/gui/setup_theme.cpp:193
+msgid "Language"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:194
msgid "Main Font"
msgstr ""
-#: src/gui/setup_theme.cpp:147
+#: src/gui/setup_theme.cpp:195
msgid "Bold font"
msgstr ""
-#: src/gui/setup_theme.cpp:148
+#: src/gui/setup_theme.cpp:196
msgid "Particle font"
msgstr ""
-#: src/gui/setup_theme.cpp:149
+#: src/gui/setup_theme.cpp:197
msgid "Help font"
msgstr ""
-#: src/gui/setup_theme.cpp:150
+#: src/gui/setup_theme.cpp:198
msgid "Secure font"
msgstr ""
-#: src/gui/setup_theme.cpp:151
+#: src/gui/setup_theme.cpp:199
msgid "Japanese font"
msgstr ""
-#: src/gui/setup_theme.cpp:183
+#: src/gui/setup_theme.cpp:236
msgid "Font size"
msgstr ""
-#: src/gui/setup_theme.cpp:299
+#: src/gui/setup_theme.cpp:377
msgid "Theme Changed"
msgstr ""
-#: src/gui/setup_theme.cpp:300 src/gui/setup_video.cpp:619
+#: src/gui/setup_theme.cpp:378 src/gui/setup_video.cpp:619
#: src/gui/setup_video.cpp:624
msgid "Restart your client for the change to take effect."
msgstr ""
@@ -2786,422 +2873,445 @@ msgstr ""
msgid "Specials"
msgstr ""
-#: src/gui/statuspopup.cpp:197
+#: src/gui/statuspopup.cpp:204
msgid "(D) default moves"
msgstr ""
-#: src/gui/statuspopup.cpp:202
+#: src/gui/statuspopup.cpp:209
msgid "(I) invert moves"
msgstr ""
-#: src/gui/statuspopup.cpp:207
+#: src/gui/statuspopup.cpp:214
msgid "(c) moves with some crazy moves"
msgstr ""
-#: src/gui/statuspopup.cpp:212
+#: src/gui/statuspopup.cpp:219
msgid "(C) moves with crazy moves"
msgstr ""
-#: src/gui/statuspopup.cpp:217
+#: src/gui/statuspopup.cpp:224
msgid "(d) double normal + crazy"
msgstr ""
-#: src/gui/statuspopup.cpp:222
+#: src/gui/statuspopup.cpp:229
msgid "(?) move"
msgstr ""
-#: src/gui/statuspopup.cpp:240
+#: src/gui/statuspopup.cpp:247
msgid "(a) custom crazy move"
msgstr ""
-#: src/gui/statuspopup.cpp:244
+#: src/gui/statuspopup.cpp:251
msgid "(?) crazy move"
msgstr ""
-#: src/gui/statuspopup.cpp:254
+#: src/gui/statuspopup.cpp:261
msgid "(0) default moves to target"
msgstr ""
-#: src/gui/statuspopup.cpp:259
+#: src/gui/statuspopup.cpp:266
msgid "(1) moves to target in distance 1"
msgstr ""
-#: src/gui/statuspopup.cpp:264
+#: src/gui/statuspopup.cpp:271
msgid "(2) moves to target in distance 2"
msgstr ""
-#: src/gui/statuspopup.cpp:269
+#: src/gui/statuspopup.cpp:276
msgid "(3) moves to target in distance 3"
msgstr ""
-#: src/gui/statuspopup.cpp:274
+#: src/gui/statuspopup.cpp:281
msgid "(5) moves to target in distance 5"
msgstr ""
-#: src/gui/statuspopup.cpp:279
+#: src/gui/statuspopup.cpp:286
msgid "(7) moves to target in distance 7"
msgstr ""
-#: src/gui/statuspopup.cpp:284
+#: src/gui/statuspopup.cpp:291
msgid "(A) moves to target in attack range"
msgstr ""
-#: src/gui/statuspopup.cpp:289
+#: src/gui/statuspopup.cpp:296
msgid "(a) archer attack range"
msgstr ""
-#: src/gui/statuspopup.cpp:294
+#: src/gui/statuspopup.cpp:301
msgid "(?) move to target"
msgstr ""
-#: src/gui/statuspopup.cpp:302
+#: src/gui/statuspopup.cpp:309
msgid "(D) default follow"
msgstr ""
-#: src/gui/statuspopup.cpp:306
+#: src/gui/statuspopup.cpp:313
msgid "(R) relative follow"
msgstr ""
-#: src/gui/statuspopup.cpp:310
+#: src/gui/statuspopup.cpp:317
msgid "(M) mirror follow"
msgstr ""
-#: src/gui/statuspopup.cpp:314
+#: src/gui/statuspopup.cpp:321
msgid "(P) pet follow"
msgstr ""
-#: src/gui/statuspopup.cpp:318
+#: src/gui/statuspopup.cpp:325
msgid "(?) unknown follow"
msgstr ""
-#: src/gui/statuspopup.cpp:327 src/gui/statuspopup.cpp:350
+#: src/gui/statuspopup.cpp:334 src/gui/statuspopup.cpp:357
msgid "(D) default attack"
msgstr ""
-#: src/gui/statuspopup.cpp:332
+#: src/gui/statuspopup.cpp:339
msgid "(s) switch attack without shield"
msgstr ""
-#: src/gui/statuspopup.cpp:337
+#: src/gui/statuspopup.cpp:344
msgid "(S) switch attack with shield"
msgstr ""
-#: src/gui/statuspopup.cpp:341 src/gui/statuspopup.cpp:366
+#: src/gui/statuspopup.cpp:348 src/gui/statuspopup.cpp:373
msgid "(?) attack"
msgstr ""
-#: src/gui/statuspopup.cpp:354
+#: src/gui/statuspopup.cpp:361
msgid "(G) go and attack"
msgstr ""
-#: src/gui/statuspopup.cpp:358
+#: src/gui/statuspopup.cpp:365
msgid "(A) go, attack, pickup"
msgstr ""
-#: src/gui/statuspopup.cpp:362
+#: src/gui/statuspopup.cpp:369
msgid "(d) without auto attack"
msgstr ""
-#: src/gui/statuspopup.cpp:380
+#: src/gui/statuspopup.cpp:387
msgid "(S) small pick up 1x1 cells"
msgstr ""
-#: src/gui/statuspopup.cpp:384
+#: src/gui/statuspopup.cpp:391
msgid "(D) default pick up 2x1 cells"
msgstr ""
-#: src/gui/statuspopup.cpp:388
+#: src/gui/statuspopup.cpp:395
msgid "(F) forward pick up 2x3 cells"
msgstr ""
-#: src/gui/statuspopup.cpp:392
+#: src/gui/statuspopup.cpp:399
msgid "(3) pick up 3x3 cells"
msgstr ""
-#: src/gui/statuspopup.cpp:396
+#: src/gui/statuspopup.cpp:403
msgid "(g) go and pick up in distance 4"
msgstr ""
-#: src/gui/statuspopup.cpp:400
+#: src/gui/statuspopup.cpp:407
msgid "(G) go and pick up in distance 8"
msgstr ""
-#: src/gui/statuspopup.cpp:404
+#: src/gui/statuspopup.cpp:411
msgid "(A) go and pick up in max distance"
msgstr ""
-#: src/gui/statuspopup.cpp:408
+#: src/gui/statuspopup.cpp:415
msgid "(?) pick up"
msgstr ""
-#: src/gui/statuspopup.cpp:417
+#: src/gui/statuspopup.cpp:424
msgid "(N) normal map view"
msgstr ""
-#: src/gui/statuspopup.cpp:421
+#: src/gui/statuspopup.cpp:428
msgid "(D) debug map view"
msgstr ""
-#: src/gui/statuspopup.cpp:425
+#: src/gui/statuspopup.cpp:432
msgid "(u) ultra map view"
msgstr ""
-#: src/gui/statuspopup.cpp:429
+#: src/gui/statuspopup.cpp:436
msgid "(U) ultra map view 2"
msgstr ""
-#: src/gui/statuspopup.cpp:433
+#: src/gui/statuspopup.cpp:440
msgid "(e) empty map view"
msgstr ""
-#: src/gui/statuspopup.cpp:437
+#: src/gui/statuspopup.cpp:444
msgid "(b) black & white map view"
msgstr ""
-#: src/gui/statuspopup.cpp:441
+#: src/gui/statuspopup.cpp:448
msgid "(?) map view"
msgstr ""
-#: src/gui/statuspopup.cpp:449
+#: src/gui/statuspopup.cpp:456
msgid "(f) use #flar for magic attack"
msgstr ""
-#: src/gui/statuspopup.cpp:454
+#: src/gui/statuspopup.cpp:461
msgid "(c) use #chiza for magic attack"
msgstr ""
-#: src/gui/statuspopup.cpp:459
+#: src/gui/statuspopup.cpp:466
msgid "(I) use #ingrav for magic attack"
msgstr ""
-#: src/gui/statuspopup.cpp:464
+#: src/gui/statuspopup.cpp:471
msgid "(F) use #frillyar for magic attack"
msgstr ""
-#: src/gui/statuspopup.cpp:469
+#: src/gui/statuspopup.cpp:476
msgid "(U) use #upmarmu for magic attack"
msgstr ""
-#: src/gui/statuspopup.cpp:473
+#: src/gui/statuspopup.cpp:480
msgid "(?) magic attack"
msgstr ""
-#: src/gui/statuspopup.cpp:482
+#: src/gui/statuspopup.cpp:489
+msgid "(a) attack all players"
+msgstr ""
+
+#: src/gui/statuspopup.cpp:493
+msgid "(f) attack not friends"
+msgstr ""
+
+#: src/gui/statuspopup.cpp:497
+msgid "(b) attack bad relations"
+msgstr ""
+
+#: src/gui/statuspopup.cpp:501
+msgid "(d) dont attack players"
+msgstr ""
+
+#: src/gui/statuspopup.cpp:505
+msgid "(?) pvp attack"
+msgstr ""
+
+#: src/gui/statuspopup.cpp:514
msgid "(D) default imitation"
msgstr ""
-#: src/gui/statuspopup.cpp:486
+#: src/gui/statuspopup.cpp:518
msgid "(O) outfits imitation"
msgstr ""
-#: src/gui/statuspopup.cpp:490
+#: src/gui/statuspopup.cpp:522
msgid "(?) imitation"
msgstr ""
-#: src/gui/statuspopup.cpp:499
+#: src/gui/statuspopup.cpp:531
msgid "(O) on keyboard"
msgstr ""
-#: src/gui/statuspopup.cpp:502
+#: src/gui/statuspopup.cpp:534
msgid "(A) away"
msgstr ""
-#: src/gui/statuspopup.cpp:505 src/gui/statuspopup.cpp:525
+#: src/gui/statuspopup.cpp:537 src/gui/statuspopup.cpp:557
msgid "(?) away"
msgstr ""
-#: src/gui/statuspopup.cpp:513
+#: src/gui/statuspopup.cpp:545
msgid "(G) game camera mode"
msgstr ""
-#: src/gui/statuspopup.cpp:517
+#: src/gui/statuspopup.cpp:549
msgid "(F) free camera mode"
msgstr ""
-#: src/gui/statuspopup.cpp:521
+#: src/gui/statuspopup.cpp:553
msgid "(D) design camera mode"
msgstr ""
-#: src/gui/statuspopup.cpp:532
+#: src/gui/statuspopup.cpp:564
msgid "Game modifiers are disabled"
msgstr ""
-#: src/gui/statuspopup.cpp:537
+#: src/gui/statuspopup.cpp:569
msgid "Game modifiers are enabled"
msgstr ""
-#: src/gui/statuswindow.cpp:143 src/gui/statuswindow.cpp:273
-#: src/gui/statuswindow.cpp:336
+#: src/gui/statuswindow.cpp:144 src/gui/statuswindow.cpp:274
+#: src/gui/statuswindow.cpp:337
#, c-format
msgid "Level: %d"
msgstr ""
-#: src/gui/statuswindow.cpp:144 src/gui/statuswindow.cpp:259
-#: src/gui/statuswindow.cpp:303
+#: src/gui/statuswindow.cpp:145 src/gui/statuswindow.cpp:260
+#: src/gui/statuswindow.cpp:304
#, c-format
msgid "Money: %s"
msgstr ""
-#: src/gui/statuswindow.cpp:150
+#: src/gui/statuswindow.cpp:151
msgid "HP:"
msgstr ""
-#: src/gui/statuswindow.cpp:157
+#: src/gui/statuswindow.cpp:158
msgid "Exp:"
msgstr ""
-#: src/gui/statuswindow.cpp:171
+#: src/gui/statuswindow.cpp:172
msgid "MP:"
msgstr ""
-#: src/gui/statuswindow.cpp:203 src/gui/statuswindow.cpp:386
+#: src/gui/statuswindow.cpp:204 src/gui/statuswindow.cpp:387
#, c-format
msgid "Job: %d"
msgstr ""
-#: src/gui/statuswindow.cpp:204
+#: src/gui/statuswindow.cpp:205
msgid "Job:"
msgstr ""
-#: src/gui/statuswindow.cpp:262 src/gui/statuswindow.cpp:310
+#: src/gui/statuswindow.cpp:263 src/gui/statuswindow.cpp:311
#, c-format
msgid "Character points: %d"
msgstr ""
-#: src/gui/statuswindow.cpp:268
+#: src/gui/statuswindow.cpp:269
#, c-format
msgid "Level: %d (GM %d)"
msgstr ""
-#: src/gui/statuswindow.cpp:324
+#: src/gui/statuswindow.cpp:325
#, c-format
msgid "Correction points: %d"
msgstr ""
-#: src/gui/statuswindow.cpp:648 src/gui/statuswindow.cpp:716
-#: src/gui/statuswindow.cpp:736 src/gui/statuswindow.cpp:752
-#: src/gui/statuswindow.cpp:798 src/gui/statuswindow.cpp:827
-#: src/gui/statuswindow.cpp:850 src/gui/statuswindow.cpp:869
+#: src/gui/statuswindow.cpp:649 src/gui/statuswindow.cpp:717
+#: src/gui/statuswindow.cpp:737 src/gui/statuswindow.cpp:753
+#: src/gui/statuswindow.cpp:818 src/gui/statuswindow.cpp:847
+#: src/gui/statuswindow.cpp:870 src/gui/statuswindow.cpp:889
msgid "(D)"
msgstr ""
-#: src/gui/statuswindow.cpp:651 src/gui/statuswindow.cpp:777
+#: src/gui/statuswindow.cpp:652 src/gui/statuswindow.cpp:778
msgid "(I)"
msgstr ""
-#: src/gui/statuswindow.cpp:654 src/gui/statuswindow.cpp:774
+#: src/gui/statuswindow.cpp:655 src/gui/statuswindow.cpp:775
msgid "(c)"
msgstr ""
-#: src/gui/statuswindow.cpp:657
+#: src/gui/statuswindow.cpp:658
msgid "(C)"
msgstr ""
-#: src/gui/statuswindow.cpp:660 src/gui/statuswindow.cpp:761
+#: src/gui/statuswindow.cpp:661 src/gui/statuswindow.cpp:762
+#: src/gui/statuswindow.cpp:803
msgid "(d)"
msgstr ""
-#: src/gui/statuswindow.cpp:663 src/gui/statuswindow.cpp:677
-#: src/gui/statuswindow.cpp:709 src/gui/statuswindow.cpp:728
-#: src/gui/statuswindow.cpp:745 src/gui/statuswindow.cpp:764
-#: src/gui/statuswindow.cpp:786 src/gui/statuswindow.cpp:816
-#: src/gui/statuswindow.cpp:842 src/gui/statuswindow.cpp:856
-#: src/gui/statuswindow.cpp:872 src/gui/statuswindow.cpp:885
+#: src/gui/statuswindow.cpp:664 src/gui/statuswindow.cpp:678
+#: src/gui/statuswindow.cpp:710 src/gui/statuswindow.cpp:729
+#: src/gui/statuswindow.cpp:746 src/gui/statuswindow.cpp:765
+#: src/gui/statuswindow.cpp:787 src/gui/statuswindow.cpp:806
+#: src/gui/statuswindow.cpp:836 src/gui/statuswindow.cpp:862
+#: src/gui/statuswindow.cpp:876 src/gui/statuswindow.cpp:892
+#: src/gui/statuswindow.cpp:905
msgid "(?)"
msgstr ""
-#: src/gui/statuswindow.cpp:674 src/gui/statuswindow.cpp:706
+#: src/gui/statuswindow.cpp:675 src/gui/statuswindow.cpp:707
+#: src/gui/statuswindow.cpp:794
msgid "(a)"
msgstr ""
-#: src/gui/statuswindow.cpp:685
+#: src/gui/statuswindow.cpp:686
msgid "(0)"
msgstr ""
-#: src/gui/statuswindow.cpp:688
+#: src/gui/statuswindow.cpp:689
msgid "(1)"
msgstr ""
-#: src/gui/statuswindow.cpp:691
+#: src/gui/statuswindow.cpp:692
msgid "(2)"
msgstr ""
-#: src/gui/statuswindow.cpp:694 src/gui/statuswindow.cpp:804
+#: src/gui/statuswindow.cpp:695 src/gui/statuswindow.cpp:824
msgid "(3)"
msgstr ""
-#: src/gui/statuswindow.cpp:697
+#: src/gui/statuswindow.cpp:698
msgid "(5)"
msgstr ""
-#: src/gui/statuswindow.cpp:700
+#: src/gui/statuswindow.cpp:701
msgid "(7)"
msgstr ""
-#: src/gui/statuswindow.cpp:703 src/gui/statuswindow.cpp:758
-#: src/gui/statuswindow.cpp:813 src/gui/statuswindow.cpp:882
+#: src/gui/statuswindow.cpp:704 src/gui/statuswindow.cpp:759
+#: src/gui/statuswindow.cpp:833 src/gui/statuswindow.cpp:902
msgid "(A)"
msgstr ""
-#: src/gui/statuswindow.cpp:719
+#: src/gui/statuswindow.cpp:720
msgid "(R)"
msgstr ""
-#: src/gui/statuswindow.cpp:722
+#: src/gui/statuswindow.cpp:723
msgid "(M)"
msgstr ""
-#: src/gui/statuswindow.cpp:725
+#: src/gui/statuswindow.cpp:726
msgid "(P)"
msgstr ""
-#: src/gui/statuswindow.cpp:739
+#: src/gui/statuswindow.cpp:740
msgid "(s)"
msgstr ""
-#: src/gui/statuswindow.cpp:742 src/gui/statuswindow.cpp:795
+#: src/gui/statuswindow.cpp:743 src/gui/statuswindow.cpp:815
msgid "(S)"
msgstr ""
-#: src/gui/statuswindow.cpp:755 src/gui/statuswindow.cpp:810
-#: src/gui/statuswindow.cpp:863
+#: src/gui/statuswindow.cpp:756 src/gui/statuswindow.cpp:830
+#: src/gui/statuswindow.cpp:883
msgid "(G)"
msgstr ""
-#: src/gui/statuswindow.cpp:771
+#: src/gui/statuswindow.cpp:772 src/gui/statuswindow.cpp:797
msgid "(f)"
msgstr ""
-#: src/gui/statuswindow.cpp:780 src/gui/statuswindow.cpp:801
-#: src/gui/statuswindow.cpp:866
+#: src/gui/statuswindow.cpp:781 src/gui/statuswindow.cpp:821
+#: src/gui/statuswindow.cpp:886
msgid "(F)"
msgstr ""
-#: src/gui/statuswindow.cpp:783 src/gui/statuswindow.cpp:833
+#: src/gui/statuswindow.cpp:784 src/gui/statuswindow.cpp:853
msgid "(U)"
msgstr ""
-#: src/gui/statuswindow.cpp:807
+#: src/gui/statuswindow.cpp:800 src/gui/statuswindow.cpp:859
+msgid "(b)"
+msgstr ""
+
+#: src/gui/statuswindow.cpp:827
msgid "(g)"
msgstr ""
-#: src/gui/statuswindow.cpp:824
+#: src/gui/statuswindow.cpp:844
msgid "(N)"
msgstr ""
-#: src/gui/statuswindow.cpp:830
+#: src/gui/statuswindow.cpp:850
msgid "(u)"
msgstr ""
-#: src/gui/statuswindow.cpp:836
+#: src/gui/statuswindow.cpp:856
msgid "(e)"
msgstr ""
-#: src/gui/statuswindow.cpp:839
-msgid "(b)"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:853 src/gui/statuswindow.cpp:879
+#: src/gui/statuswindow.cpp:873 src/gui/statuswindow.cpp:899
msgid "(O)"
msgstr ""
@@ -3351,21 +3461,21 @@ msgstr ""
msgid "Play"
msgstr ""
-#: src/gui/updaterwindow.cpp:564
+#: src/gui/updaterwindow.cpp:565
msgid "##1 The update process is incomplete."
msgstr ""
#. TRANSLATORS: Continues "you try again later.".
-#: src/gui/updaterwindow.cpp:566
+#: src/gui/updaterwindow.cpp:567
msgid "##1 It is strongly recommended that"
msgstr ""
#. TRANSLATORS: Begins "It is strongly recommended that".
-#: src/gui/updaterwindow.cpp:568
+#: src/gui/updaterwindow.cpp:569
msgid "##1 you try again later."
msgstr ""
-#: src/gui/updaterwindow.cpp:744
+#: src/gui/updaterwindow.cpp:745
msgid "Completed"
msgstr ""
@@ -3926,7 +4036,7 @@ msgstr ""
#: src/keyboardconfig.cpp:116 src/keyboardconfig.cpp:119
#: src/keyboardconfig.cpp:121 src/keyboardconfig.cpp:123
#: src/keyboardconfig.cpp:125 src/keyboardconfig.cpp:127
-#: src/keyboardconfig.cpp:369
+#: src/keyboardconfig.cpp:371
#, c-format
msgid "Item Shortcut %d"
msgstr ""
@@ -4053,7 +4163,7 @@ msgstr ""
#: src/keyboardconfig.cpp:258 src/keyboardconfig.cpp:260
#: src/keyboardconfig.cpp:262 src/keyboardconfig.cpp:264
#: src/keyboardconfig.cpp:266 src/keyboardconfig.cpp:268
-#: src/keyboardconfig.cpp:364
+#: src/keyboardconfig.cpp:366
#, c-format
msgid "Emote Shortcut %d"
msgstr ""
@@ -4182,119 +4292,123 @@ msgstr ""
msgid "Switch magic attack"
msgstr ""
-#: src/keyboardconfig.cpp:328
-msgid "Change move type"
+#: src/keyboardconfig.cpp:329
+msgid "Switch pvp attack"
msgstr ""
#: src/keyboardconfig.cpp:330
-msgid "Change Attack Weapon Type"
+msgid "Change move type"
msgstr ""
#: src/keyboardconfig.cpp:332
-msgid "Change Attack Type"
+msgid "Change Attack Weapon Type"
msgstr ""
#: src/keyboardconfig.cpp:334
-msgid "Change Follow mode"
+msgid "Change Attack Type"
msgstr ""
#: src/keyboardconfig.cpp:336
+msgid "Change Follow mode"
+msgstr ""
+
+#: src/keyboardconfig.cpp:338
msgid "Change Imitation mode"
msgstr ""
-#: src/keyboardconfig.cpp:339
+#: src/keyboardconfig.cpp:341
msgid "Disable / Enable Game modifier keys"
msgstr ""
-#: src/keyboardconfig.cpp:340
+#: src/keyboardconfig.cpp:342
msgid "On / Off audio"
msgstr ""
-#: src/keyboardconfig.cpp:342
+#: src/keyboardconfig.cpp:344
msgid "Enable / Disable away mode"
msgstr ""
-#: src/keyboardconfig.cpp:344
+#: src/keyboardconfig.cpp:346
msgid "Emulate right click from keyboard"
msgstr ""
-#: src/keyboardconfig.cpp:346
+#: src/keyboardconfig.cpp:348
msgid "Toggle camera mode"
msgstr ""
-#: src/keyboardconfig.cpp:348
+#: src/keyboardconfig.cpp:350
msgid "Modifier key"
msgstr ""
-#: src/keyboardconfig.cpp:427
+#: src/keyboardconfig.cpp:429
#, c-format
msgid ""
"Conflict \"%s\" and \"%s\" keys. Resolve them, or gameplay may result in "
"strange behaviour."
msgstr ""
-#: src/localplayer.cpp:381
+#: src/localplayer.cpp:389
msgid "You were killed by "
msgstr ""
-#: src/localplayer.cpp:1428
+#: src/localplayer.cpp:1442
msgid "Tried to pick up nonexistent item."
msgstr ""
-#: src/localplayer.cpp:1430
+#: src/localplayer.cpp:1444
msgid "Item is too heavy."
msgstr ""
-#: src/localplayer.cpp:1432
+#: src/localplayer.cpp:1446
msgid "Item is too far away."
msgstr ""
-#: src/localplayer.cpp:1434
+#: src/localplayer.cpp:1448
msgid "Inventory is full."
msgstr ""
-#: src/localplayer.cpp:1436
+#: src/localplayer.cpp:1450
msgid "Stack is too big."
msgstr ""
-#: src/localplayer.cpp:1439
+#: src/localplayer.cpp:1453
msgid "Item belongs to someone else."
msgstr ""
-#: src/localplayer.cpp:1442
+#: src/localplayer.cpp:1456
msgid "Unknown problem picking up item."
msgstr ""
#. TRANSLATORS: %d is number,
#. [@@%d|%s@@] - here player can see link to item
-#: src/localplayer.cpp:1466
+#: src/localplayer.cpp:1480
#, c-format
msgid "You picked up %d [@@%d|%s@@]."
msgid_plural "You picked up %d [@@%d|%s@@]."
msgstr[0] ""
msgstr[1] ""
-#: src/localplayer.cpp:3181
+#: src/localplayer.cpp:3206
msgid "Away"
msgstr ""
-#: src/localplayer.cpp:3509
+#: src/localplayer.cpp:3541
msgid "Follow: "
msgstr ""
-#: src/localplayer.cpp:3511 src/localplayer.cpp:3526
+#: src/localplayer.cpp:3543 src/localplayer.cpp:3558
msgid "Follow canceled"
msgstr ""
-#: src/localplayer.cpp:3518
+#: src/localplayer.cpp:3550
msgid "Imitation: "
msgstr ""
-#: src/localplayer.cpp:3520 src/localplayer.cpp:3528
+#: src/localplayer.cpp:3552 src/localplayer.cpp:3560
msgid "Imitation canceled"
msgstr ""
-#: src/localplayer.cpp:3876
+#: src/localplayer.cpp:3908
msgid "You see "
msgstr ""
@@ -5078,53 +5192,53 @@ msgstr ""
msgid "%s wants to trade with you, do you accept?"
msgstr ""
-#: src/net/ea/tradehandler.cpp:134
+#: src/net/ea/tradehandler.cpp:135
msgid "Trading isn't possible. Trade partner is too far away."
msgstr ""
-#: src/net/ea/tradehandler.cpp:138
+#: src/net/ea/tradehandler.cpp:139
msgid "Trading isn't possible. Character doesn't exist."
msgstr ""
-#: src/net/ea/tradehandler.cpp:142
+#: src/net/ea/tradehandler.cpp:143
msgid "Trade cancelled due to an unknown reason."
msgstr ""
-#: src/net/ea/tradehandler.cpp:148
+#: src/net/ea/tradehandler.cpp:149
#, c-format
msgid "Trade: You and %s"
msgstr ""
-#: src/net/ea/tradehandler.cpp:158
+#: src/net/ea/tradehandler.cpp:159
#, c-format
msgid "Trade with %s cancelled."
msgstr ""
-#: src/net/ea/tradehandler.cpp:171
+#: src/net/ea/tradehandler.cpp:172
msgid "Unhandled trade cancel packet."
msgstr ""
-#: src/net/ea/tradehandler.cpp:236
+#: src/net/ea/tradehandler.cpp:237
msgid "Failed adding item. Trade partner is over weighted."
msgstr ""
-#: src/net/ea/tradehandler.cpp:241
+#: src/net/ea/tradehandler.cpp:242
msgid "Failed adding item. Trade partner has no free slot."
msgstr ""
-#: src/net/ea/tradehandler.cpp:246
+#: src/net/ea/tradehandler.cpp:247
msgid "Failed adding item. You can't trade this item."
msgstr ""
-#: src/net/ea/tradehandler.cpp:250
+#: src/net/ea/tradehandler.cpp:251
msgid "Failed adding item for unknown reason."
msgstr ""
-#: src/net/ea/tradehandler.cpp:269 src/net/manaserv/tradehandler.cpp:160
+#: src/net/ea/tradehandler.cpp:270 src/net/manaserv/tradehandler.cpp:160
msgid "Trade canceled."
msgstr ""
-#: src/net/ea/tradehandler.cpp:280 src/net/manaserv/tradehandler.cpp:167
+#: src/net/ea/tradehandler.cpp:281 src/net/manaserv/tradehandler.cpp:167
msgid "Trade completed."
msgstr ""
@@ -5543,15 +5657,15 @@ msgstr ""
msgid "Damage per sec."
msgstr ""
-#: src/net/tmwa/network.cpp:152
+#: src/net/tmwa/network.cpp:153
msgid "Empty address given to Network::connect()!"
msgstr ""
-#: src/net/tmwa/network.cpp:356
+#: src/net/tmwa/network.cpp:357
msgid "Unable to resolve host \""
msgstr ""
-#: src/net/tmwa/network.cpp:426
+#: src/net/tmwa/network.cpp:427
msgid "Connection to server terminated. "
msgstr ""
@@ -5560,19 +5674,19 @@ msgstr ""
msgid "%s is not in your party!"
msgstr ""
-#: src/playerrelations.cpp:435
+#: src/playerrelations.cpp:460
msgid "Print '...'"
msgstr ""
-#: src/playerrelations.cpp:455
+#: src/playerrelations.cpp:480
msgid "Blink name"
msgstr ""
-#: src/playerrelations.cpp:499
+#: src/playerrelations.cpp:524
msgid "Floating '...' bubble"
msgstr ""
-#: src/playerrelations.cpp:502
+#: src/playerrelations.cpp:527
msgid "Floating bubble"
msgstr ""
diff --git a/po/nl_BE.po b/po/nl_BE.po
index 09fb798ab..7dabe9900 100644
--- a/po/nl_BE.po
+++ b/po/nl_BE.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR The ManaPlus Developers
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
# Jeroen De Meerleer <jeroen.de.meerleer@telenet.be>, 2011.
# Maarten Vanraes <maarten.vanraes@gmail.com>, 2011.
@@ -9,80 +9,79 @@ msgid ""
msgstr ""
"Project-Id-Version: ManaPlus\n"
"Report-Msgid-Bugs-To: akaras@inbox.ru\n"
-"POT-Creation-Date: 2011-10-28 03:52+0300\n"
-"PO-Revision-Date: 2011-10-28 00:55+0000\n"
+"POT-Creation-Date: 2011-11-12 00:23+0300\n"
+"PO-Revision-Date: 2011-11-11 21:38+0000\n"
"Last-Translator: akaras <akaras@inbox.ru>\n"
-"Language-Team: Dutch (Belgium/Flemish) (http://www.transifex.net/projects/p/"
-"manaplus/team/nl_BE/)\n"
-"Language: nl_BE\n"
+"Language-Team: Dutch (Belgium/Flemish) (http://www.transifex.net/projects/p/manaplus/team/nl_BE/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Language: nl_BE\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
#: src/actorspritemanager.cpp:1171
msgid "Visible on map"
msgstr "Zichtbaar op de map"
-#: src/being.cpp:548
+#: src/being.cpp:551
msgid "dodge"
msgstr "ontwijkt"
-#: src/being.cpp:548
+#: src/being.cpp:551
msgid "miss"
msgstr "mist"
#. TRANSLATORS: this away status writed in player nick
-#: src/being.cpp:1527
+#: src/being.cpp:1530
msgid "A"
msgstr "A"
#. TRANSLATORS: this inactive status writed in player nick
-#: src/being.cpp:1532
+#: src/being.cpp:1535
msgid "I"
msgstr "I"
-#: src/client.cpp:835 src/gui/setup.cpp:54 src/gui/windowmenu.cpp:100
+#: src/client.cpp:869 src/gui/setup.cpp:54 src/gui/windowmenu.cpp:100
msgid "Setup"
msgstr "Configureren"
-#: src/client.cpp:842 src/gui/setup_perfomance.cpp:48
+#: src/client.cpp:876 src/gui/setup_perfomance.cpp:48
msgid "Perfomance"
msgstr ""
-#: src/client.cpp:847 src/gui/setup_video.cpp:315
+#: src/client.cpp:881 src/gui/setup_video.cpp:315
msgid "Video"
msgstr "Video"
-#: src/client.cpp:852
+#: src/client.cpp:886
msgid "Themes"
msgstr ""
-#: src/client.cpp:934
+#: src/client.cpp:968
msgid "Connecting to server"
msgstr "Verbinden met server"
-#: src/client.cpp:965
+#: src/client.cpp:999
msgid "Logging in"
msgstr "Inloggen"
-#: src/client.cpp:998
+#: src/client.cpp:1032
msgid "Entering game world"
msgstr "Spelwereld binnenkomen"
-#: src/client.cpp:1098
+#: src/client.cpp:1132
msgid "Requesting characters"
msgstr "Aanvragen personage"
-#: src/client.cpp:1129
+#: src/client.cpp:1163
msgid "Connecting to the game server"
msgstr "Verbinden met de spelserver"
-#: src/client.cpp:1139
+#: src/client.cpp:1173
msgid "Changing game servers"
msgstr "Wijzigen spelservers"
-#: src/client.cpp:1182 src/client.cpp:1189 src/client.cpp:1323
+#: src/client.cpp:1216 src/client.cpp:1223 src/client.cpp:1357
#: src/gui/changeemaildialog.cpp:157 src/gui/changepassworddialog.cpp:147
#: src/gui/charcreatedialog.cpp:221 src/gui/charselectdialog.cpp:253
#: src/gui/register.cpp:228 src/gui/serverdialog.cpp:401
@@ -92,229 +91,232 @@ msgstr "Wijzigen spelservers"
msgid "Error"
msgstr "Fout"
-#: src/client.cpp:1198
+#: src/client.cpp:1232
msgid "Requesting registration details"
msgstr "Aanvragen registratie details"
-#: src/client.cpp:1224
+#: src/client.cpp:1258
msgid "Password Change"
msgstr "Paswoord Wijziging"
-#: src/client.cpp:1225
+#: src/client.cpp:1259
msgid "Password changed successfully!"
msgstr "Paswoord is gewijzigd!"
-#: src/client.cpp:1244
+#: src/client.cpp:1278
msgid "Email Change"
msgstr "Email Wijziging"
-#: src/client.cpp:1245
+#: src/client.cpp:1279
msgid "Email changed successfully!"
msgstr "Email is gewijzigd!"
-#: src/client.cpp:1265
+#: src/client.cpp:1299
msgid "Unregister Successful"
msgstr "Registratie ongedaan gemaakt!"
-#: src/client.cpp:1266
+#: src/client.cpp:1300
msgid "Farewell, come back any time..."
msgstr "Tot ziens..."
-#: src/client.cpp:1465 src/client.cpp:1495 src/client.cpp:1510
-#: src/client.cpp:1935 src/client.cpp:1942
+#: src/client.cpp:1499 src/client.cpp:1529 src/client.cpp:1544
+#: src/client.cpp:1969 src/client.cpp:1976
#, c-format
msgid "%s doesn't exist and can't be created! Exiting."
msgstr "%s bestaat niet en kan niet gecreëerd worden! Stoppen."
-#: src/client.cpp:1641
+#: src/client.cpp:1675
#, c-format
msgid "Invalid update host: %s"
msgstr "Ongeldige update host %s"
-#: src/client.cpp:1675 src/client.cpp:1681
+#: src/client.cpp:1709 src/client.cpp:1715
msgid "Error creating updates directory!"
msgstr "Fout bij het creëren van de update map!"
-#: src/client.cpp:1702
+#: src/client.cpp:1736
#, c-format
msgid "Error: %s doesn't exist and can't be created! Exiting."
msgstr "Fout: %s bestaat niet en kan niet gecreëerd worden! Stoppen."
-#: src/commandhandler.cpp:205
+#: src/commandhandler.cpp:209
msgid "Unknown command."
msgstr "Onbekend commando."
-#: src/commandhandler.cpp:304
+#: src/commandhandler.cpp:329
msgid "Cannot send empty whispers!"
msgstr "Kan geen lege berichten sturen!"
-#: src/commandhandler.cpp:318
+#: src/commandhandler.cpp:343
#, c-format
msgid ""
-"Cannot create a whisper tab for nick \"%s\"! It either already exists, or is "
-"you."
+"Cannot create a whisper tab for nick \"%s\"! It either already exists, or is"
+" you."
msgstr ""
"Je kan geen fluister-tab aanmaken voor \"%s\"! Het kan zijn dat hij reeds "
"bestaat, of het is jezelf."
-#: src/commandhandler.cpp:338
+#: src/commandhandler.cpp:363
#, c-format
msgid "Requesting to join channel %s."
msgstr "Aanvragen om bij kanaal %s toegevoegd te worden."
-#: src/commandhandler.cpp:354 src/net/ea/gui/partytab.cpp:125
+#: src/commandhandler.cpp:379 src/net/ea/gui/partytab.cpp:125
msgid "Party name is missing."
msgstr "Groepsnaam ontbreekt."
-#: src/commandhandler.cpp:365
+#: src/commandhandler.cpp:390
msgid "Guild name is missing."
msgstr "Guild-naam ontbreekt."
-#: src/commandhandler.cpp:378 src/commandhandler.cpp:496
-#: src/commandhandler.cpp:537 src/commandhandler.cpp:572
+#: src/commandhandler.cpp:403 src/commandhandler.cpp:521
+#: src/commandhandler.cpp:562 src/commandhandler.cpp:602
msgid "Please specify a name."
msgstr "Gelieve een naam te specifiëren"
-#: src/commandhandler.cpp:430
+#: src/commandhandler.cpp:455
msgid "Return toggles chat."
msgstr "Ga terug naar chat"
-#: src/commandhandler.cpp:430
+#: src/commandhandler.cpp:455
msgid "Message closes chat."
msgstr "Bericht sluit chat."
-#: src/commandhandler.cpp:441
+#: src/commandhandler.cpp:466
msgid "Return now toggles chat."
msgstr "Ga nu terug naar chat."
-#: src/commandhandler.cpp:447
+#: src/commandhandler.cpp:472
msgid "Message now closes chat."
msgstr "Bericht sluit nu chat."
-#: src/commandhandler.cpp:475
+#: src/commandhandler.cpp:500
msgid "friend"
msgstr "vriend"
-#: src/commandhandler.cpp:480
+#: src/commandhandler.cpp:505
msgid "disregarded"
msgstr "genegeerd"
-#: src/commandhandler.cpp:485
+#: src/commandhandler.cpp:510
msgid "neutral"
msgstr "neutraal"
-#: src/commandhandler.cpp:504
+#: src/commandhandler.cpp:529
#, c-format
msgid "Player already %s!"
msgstr "Speler reeds %s!"
-#: src/commandhandler.cpp:518
+#: src/commandhandler.cpp:543
#, c-format
msgid "Player successfully %s!"
msgstr "Speler succesvol %s!"
-#: src/commandhandler.cpp:526
+#: src/commandhandler.cpp:551
#, c-format
msgid "Player could not be %s!"
msgstr "Speler kan niet %s zijn!"
-#: src/commandhandler.cpp:549
+#: src/commandhandler.cpp:574
msgid "Player wasn't ignored!"
msgstr "Speler is niet genegeerd!"
-#: src/commandhandler.cpp:556
+#: src/commandhandler.cpp:581
msgid "Player no longer ignored!"
msgstr "Speler niet langer genegeerd!"
-#: src/commandhandler.cpp:558
+#: src/commandhandler.cpp:583
msgid "Player could not be unignored!"
msgstr "Speler kan niet worden genegeerd!"
-#: src/commandhandler.cpp:564
+#: src/commandhandler.cpp:589
msgid "blacklisted"
msgstr ""
-#: src/commandhandler.cpp:579
+#: src/commandhandler.cpp:594
+msgid "enemy"
+msgstr ""
+
+#: src/commandhandler.cpp:609
msgid "Player already erased!"
msgstr "Speler reeds verwijderd!"
-#: src/commandhandler.cpp:590
+#: src/commandhandler.cpp:620
msgid "Player successfully erased!"
msgstr "Speler succesvol verwijderd!"
-#: src/commandhandler.cpp:592
+#: src/commandhandler.cpp:622
msgid "Player could not be erased!"
msgstr "Speler kan niet worden verwijderd!"
-#: src/commandhandler.cpp:892 src/commandhandler.cpp:938
+#: src/commandhandler.cpp:929 src/commandhandler.cpp:975
#, c-format
msgid "Client uptime: %s"
msgstr "Client uptime: %s"
-#: src/commandhandler.cpp:902
+#: src/commandhandler.cpp:939
#, c-format
msgid "%d week"
msgid_plural "%d weeks"
msgstr[0] "%d week"
msgstr[1] "%d weken"
-#: src/commandhandler.cpp:911
+#: src/commandhandler.cpp:948
#, c-format
msgid "%d day"
msgid_plural "%d days"
msgstr[0] "%d dag"
msgstr[1] "%d dagen"
-#: src/commandhandler.cpp:919
+#: src/commandhandler.cpp:956
#, c-format
msgid "%d hour"
msgid_plural "%d hours"
msgstr[0] "%d uur"
msgstr[1] "%d uren"
-#: src/commandhandler.cpp:927
+#: src/commandhandler.cpp:964
#, c-format
msgid "%d minute"
msgid_plural "%d minutes"
msgstr[0] "%d minuut"
msgstr[1] "%d minuten"
-#: src/commandhandler.cpp:935
+#: src/commandhandler.cpp:972
#, c-format
msgid "%d second"
msgid_plural "%d seconds"
msgstr[0] "%d seconde"
msgstr[1] "%d seconden"
-#: src/commandhandler.cpp:1014
+#: src/commandhandler.cpp:1051
msgid "font cache size"
msgstr ""
-#: src/commandhandler.cpp:1026
+#: src/commandhandler.cpp:1063
msgid "Cache size:"
msgstr ""
-#: src/commandhandler.cpp:1030
+#: src/commandhandler.cpp:1067
msgid "Created:"
msgstr "Aangemaakt:"
-#: src/commandhandler.cpp:1032
+#: src/commandhandler.cpp:1069
msgid "Deleted:"
msgstr "Verwijdered:"
-#: src/commandhandler.cpp:1133 src/commandhandler.cpp:1140
+#: src/commandhandler.cpp:1171 src/commandhandler.cpp:1178
msgid "Resource images:"
msgstr ""
-#: src/commandhandler.cpp:1135 src/commandhandler.cpp:1142
+#: src/commandhandler.cpp:1173 src/commandhandler.cpp:1180
msgid "Resource orphaned images:"
msgstr ""
#: src/commandhandler.h:40
#, c-format
msgid "Options to /%s are \"yes\", \"no\", \"true\", \"false\", \"1\", \"0\"."
-msgstr ""
-"Opties voor /%s zijn \"yes\", \"no\", \"true\", \"false\", \"1\", \"0\"."
+msgstr "Opties voor /%s zijn \"yes\", \"no\", \"true\", \"false\", \"1\", \"0\"."
#: src/game.cpp:252 src/gui/widgets/chattab.cpp:403
msgid "General"
@@ -324,35 +326,35 @@ msgstr "Algemeen"
msgid "Debug"
msgstr "Debug"
-#: src/game.cpp:513
+#: src/game.cpp:506
msgid "Screenshot saved as "
msgstr "Scherafdruk opgeslagen als:"
-#: src/game.cpp:521
+#: src/game.cpp:514
msgid "Saving screenshot failed!"
msgstr "Opslaan van screenshot mislukt!"
-#: src/game.cpp:560
+#: src/game.cpp:554
msgid "The connection to the server was lost."
msgstr "De verbinding met de server is verbroken."
-#: src/game.cpp:572
+#: src/game.cpp:557
msgid "Network Error"
msgstr "Netwerkfout"
-#: src/game.cpp:1322
+#: src/game.cpp:1332
msgid "Ignoring incoming trade requests"
msgstr "Inkomende handelsaanvragen negeren"
-#: src/game.cpp:1332
+#: src/game.cpp:1342
msgid "Accepting incoming trade requests"
msgstr "Inkomende handelsaanvragen accepteren"
-#: src/game.cpp:1732
+#: src/game.cpp:1750
msgid "Could Not Load Map"
msgstr "Kon Map Niet Laden"
-#: src/game.cpp:1733
+#: src/game.cpp:1751
#, c-format
msgid "Error while loading %s"
msgstr "Fout bij het laden van %s"
@@ -386,19 +388,19 @@ msgid "Name"
msgstr "Naam"
#: src/gui/botcheckerwindow.cpp:297 src/gui/popupmenu.cpp:133
-#: src/gui/popupmenu.cpp:292 src/gui/popupmenu.cpp:614
+#: src/gui/popupmenu.cpp:303 src/gui/popupmenu.cpp:636
#: src/keyboardconfig.cpp:49 src/net/tmwa/generalhandler.cpp:269
msgid "Attack"
msgstr "Aanvallen"
-#: src/gui/botcheckerwindow.cpp:298 src/gui/popupmenu.cpp:281
+#: src/gui/botcheckerwindow.cpp:298 src/gui/popupmenu.cpp:292
#: src/keyboardconfig.cpp:62
msgid "Talk"
msgstr "Spreken"
-#: src/gui/botcheckerwindow.cpp:299 src/gui/popupmenu.cpp:253
-#: src/gui/popupmenu.cpp:285 src/gui/popupmenu.cpp:437
-#: src/gui/popupmenu.cpp:669 src/gui/popupmenu.cpp:756
+#: src/gui/botcheckerwindow.cpp:299 src/gui/popupmenu.cpp:264
+#: src/gui/popupmenu.cpp:296 src/gui/popupmenu.cpp:459
+#: src/gui/popupmenu.cpp:702 src/gui/popupmenu.cpp:789
msgid "Move"
msgstr "Beweeg"
@@ -411,8 +413,8 @@ msgid "Reset"
msgstr "Reset"
#: src/gui/buydialog.cpp:58 src/gui/buydialog.cpp:65 src/gui/buydialog.cpp:112
-#: src/gui/buyselldialog.cpp:65 src/gui/popupmenu.cpp:265
-#: src/gui/popupmenu.cpp:282 src/gui/popupmenu.cpp:681
+#: src/gui/buyselldialog.cpp:65 src/gui/popupmenu.cpp:276
+#: src/gui/popupmenu.cpp:293 src/gui/popupmenu.cpp:714
msgid "Buy"
msgstr "Kopen"
@@ -430,7 +432,7 @@ msgstr ""
#. You may change this symbol if your language uses another.
#: src/gui/buydialog.cpp:108 src/gui/itemamountwindow.cpp:207
#: src/gui/itemamountwindow.cpp:235 src/gui/npcdialog.cpp:114
-#: src/gui/selldialog.cpp:91 src/gui/statuswindow.cpp:977
+#: src/gui/selldialog.cpp:91 src/gui/statuswindow.cpp:998
msgid "+"
msgstr "+"
@@ -438,7 +440,7 @@ msgstr "+"
#. You may change this symbol if your language uses another.
#: src/gui/buydialog.cpp:111 src/gui/itemamountwindow.cpp:206
#: src/gui/itemamountwindow.cpp:234 src/gui/npcdialog.cpp:115
-#: src/gui/selldialog.cpp:92 src/gui/statuswindow.cpp:989
+#: src/gui/selldialog.cpp:92 src/gui/statuswindow.cpp:1010
msgid "-"
msgstr "-"
@@ -450,8 +452,8 @@ msgid "Quit"
msgstr "Afsluiten"
#: src/gui/buydialog.cpp:114 src/gui/selldialog.cpp:95
-#: src/gui/statuswindow.cpp:504 src/gui/statuswindow.cpp:554
-#: src/gui/statuswindow.cpp:976 src/gui/statuswindow.cpp:1007
+#: src/gui/statuswindow.cpp:505 src/gui/statuswindow.cpp:555
+#: src/gui/statuswindow.cpp:997 src/gui/statuswindow.cpp:1028
msgid "Max"
msgstr "Maximum"
@@ -460,8 +462,8 @@ msgstr "Maximum"
msgid "Shop"
msgstr "Winkel"
-#: src/gui/buyselldialog.cpp:65 src/gui/popupmenu.cpp:266
-#: src/gui/popupmenu.cpp:283 src/gui/popupmenu.cpp:682
+#: src/gui/buyselldialog.cpp:65 src/gui/popupmenu.cpp:277
+#: src/gui/popupmenu.cpp:294 src/gui/popupmenu.cpp:715
#: src/gui/selldialog.cpp:53 src/gui/selldialog.cpp:60
#: src/gui/selldialog.cpp:93
msgid "Sell"
@@ -470,15 +472,15 @@ msgstr "Verkopen"
#: src/gui/buyselldialog.cpp:65 src/gui/changeemaildialog.cpp:59
#: src/gui/changepassworddialog.cpp:61 src/gui/charcreatedialog.cpp:96
#: src/gui/connectiondialog.cpp:47 src/gui/itemamountwindow.cpp:209
-#: src/gui/npcpostdialog.cpp:58 src/gui/popupmenu.cpp:333
-#: src/gui/popupmenu.cpp:354 src/gui/popupmenu.cpp:478
-#: src/gui/popupmenu.cpp:504 src/gui/popupmenu.cpp:528
-#: src/gui/popupmenu.cpp:541 src/gui/popupmenu.cpp:559
-#: src/gui/popupmenu.cpp:772 src/gui/popupmenu.cpp:796
-#: src/gui/popupmenu.cpp:1732 src/gui/popupmenu.cpp:1760
-#: src/gui/popupmenu.cpp:1816 src/gui/popupmenu.cpp:1861
-#: src/gui/popupmenu.cpp:1896 src/gui/popupmenu.cpp:1935
-#: src/gui/popupmenu.cpp:1987 src/gui/popupmenu.cpp:2007
+#: src/gui/npcpostdialog.cpp:58 src/gui/popupmenu.cpp:344
+#: src/gui/popupmenu.cpp:365 src/gui/popupmenu.cpp:500
+#: src/gui/popupmenu.cpp:526 src/gui/popupmenu.cpp:550
+#: src/gui/popupmenu.cpp:563 src/gui/popupmenu.cpp:581
+#: src/gui/popupmenu.cpp:805 src/gui/popupmenu.cpp:829
+#: src/gui/popupmenu.cpp:1775 src/gui/popupmenu.cpp:1803
+#: src/gui/popupmenu.cpp:1859 src/gui/popupmenu.cpp:1904
+#: src/gui/popupmenu.cpp:1939 src/gui/popupmenu.cpp:1978
+#: src/gui/popupmenu.cpp:2030 src/gui/popupmenu.cpp:2050
#: src/gui/quitdialog.cpp:55 src/gui/register.cpp:82 src/gui/setup.cpp:72
#: src/gui/socialwindow.cpp:1077 src/gui/textcommandeditor.cpp:241
#: src/gui/textdialog.cpp:51 src/gui/unregisterdialog.cpp:59
@@ -649,7 +651,7 @@ msgid "Enter password:"
msgstr "Geef wachtwoord:"
#: src/gui/charselectdialog.cpp:410 src/gui/serverdialog.cpp:298
-#: src/gui/setup_relations.cpp:243 src/gui/shopwindow.cpp:122
+#: src/gui/setup_relations.cpp:244 src/gui/shopwindow.cpp:122
#: src/gui/shopwindow.cpp:125 src/gui/textcommandeditor.cpp:244
msgid "Delete"
msgstr "Verwijderen"
@@ -725,8 +727,9 @@ msgstr "regenboog 3"
#: src/gui/chatwindow.cpp:142 src/gui/inventorywindow.cpp:90
#: src/gui/itemamountwindow.cpp:93 src/gui/logindialog.cpp:78
-#: src/gui/setup_relations.cpp:221 src/gui/setup_theme.cpp:73
-#: src/gui/setup_theme.cpp:127 src/gui/setup_video.cpp:211
+#: src/gui/setup_joystick.cpp:60 src/gui/setup_relations.cpp:222
+#: src/gui/setup_theme.cpp:74 src/gui/setup_theme.cpp:128
+#: src/gui/setup_theme.cpp:173 src/gui/setup_video.cpp:211
#: src/gui/textcommandeditor.cpp:102 src/gui/textcommandeditor.cpp:141
#: src/gui/textcommandeditor.cpp:160
msgid "???"
@@ -736,12 +739,12 @@ msgstr "???"
msgid "Chat"
msgstr "Chat"
-#: src/gui/chatwindow.cpp:613
+#: src/gui/chatwindow.cpp:615
#, c-format
msgid "Present: %s; %d players are present."
msgstr "Aanwezig: %s; %d speler zijn aanwezig."
-#: src/gui/chatwindow.cpp:1000
+#: src/gui/chatwindow.cpp:1002
#, c-format
msgid "Whispering to %s: %s"
msgstr "Fluisteren naar %s: %s"
@@ -755,10 +758,12 @@ msgid "No"
msgstr "Nee"
#: src/gui/confirmdialog.cpp:52 src/gui/popupmenu.cpp:146
-#: src/gui/popupmenu.cpp:153 src/gui/popupmenu.cpp:161
-#: src/gui/popupmenu.cpp:380 src/gui/popupmenu.cpp:387
-#: src/gui/popupmenu.cpp:395 src/gui/popupmenu.cpp:626
-#: src/gui/popupmenu.cpp:633 src/gui/popupmenu.cpp:641
+#: src/gui/popupmenu.cpp:154 src/gui/popupmenu.cpp:163
+#: src/gui/popupmenu.cpp:171 src/gui/popupmenu.cpp:391
+#: src/gui/popupmenu.cpp:399 src/gui/popupmenu.cpp:408
+#: src/gui/popupmenu.cpp:427 src/gui/popupmenu.cpp:648
+#: src/gui/popupmenu.cpp:656 src/gui/popupmenu.cpp:665
+#: src/gui/popupmenu.cpp:679
msgid "Ignore"
msgstr "Negeer"
@@ -904,7 +909,7 @@ msgstr "Weet u?"
#: src/gui/didyouknowwindow.cpp:63 src/gui/helpwindow.cpp:59
#: src/gui/inventorywindow.cpp:205 src/gui/npcdialog.cpp:53
-#: src/gui/popupmenu.cpp:574 src/gui/shopwindow.cpp:113
+#: src/gui/popupmenu.cpp:596 src/gui/shopwindow.cpp:113
msgid "Close"
msgstr "Sluiten"
@@ -931,8 +936,8 @@ msgstr "Uitrusting"
#: src/gui/equipmentwindow.cpp:95 src/gui/inventorywindow.cpp:160
#: src/gui/inventorywindow.cpp:545 src/gui/inventorywindow.cpp:554
-#: src/gui/popupmenu.cpp:1694 src/gui/popupmenu.cpp:1786
-#: src/gui/popupmenu.cpp:1831
+#: src/gui/popupmenu.cpp:1737 src/gui/popupmenu.cpp:1829
+#: src/gui/popupmenu.cpp:1874
msgid "Unequip"
msgstr "Afdoen"
@@ -974,31 +979,31 @@ msgid "Filter:"
msgstr "Filter:"
#: src/gui/inventorywindow.cpp:158 src/gui/inventorywindow.cpp:547
-#: src/gui/inventorywindow.cpp:556 src/gui/popupmenu.cpp:1696
-#: src/gui/popupmenu.cpp:1788 src/gui/popupmenu.cpp:1833
+#: src/gui/inventorywindow.cpp:556 src/gui/popupmenu.cpp:1739
+#: src/gui/popupmenu.cpp:1831 src/gui/popupmenu.cpp:1876
msgid "Equip"
msgstr "Uitrusten"
#: src/gui/inventorywindow.cpp:159 src/gui/inventorywindow.cpp:548
-#: src/gui/inventorywindow.cpp:552 src/gui/popupmenu.cpp:1700
-#: src/gui/popupmenu.cpp:1755 src/gui/popupmenu.cpp:1792
-#: src/gui/popupmenu.cpp:1837
+#: src/gui/inventorywindow.cpp:552 src/gui/popupmenu.cpp:1743
+#: src/gui/popupmenu.cpp:1798 src/gui/popupmenu.cpp:1835
+#: src/gui/popupmenu.cpp:1880
msgid "Use"
msgstr "Gebruiken"
#: src/gui/inventorywindow.cpp:173 src/gui/inventorywindow.cpp:652
-#: src/gui/popupmenu.cpp:1705 src/gui/popupmenu.cpp:1797
-#: src/gui/popupmenu.cpp:1842
+#: src/gui/popupmenu.cpp:1748 src/gui/popupmenu.cpp:1840
+#: src/gui/popupmenu.cpp:1885
msgid "Drop..."
msgstr "Neerleggen..."
-#: src/gui/inventorywindow.cpp:174 src/gui/popupmenu.cpp:1714
-#: src/gui/popupmenu.cpp:1806 src/gui/popupmenu.cpp:1851
+#: src/gui/inventorywindow.cpp:174 src/gui/popupmenu.cpp:1757
+#: src/gui/popupmenu.cpp:1849 src/gui/popupmenu.cpp:1894
msgid "Split"
msgstr "Splitsen"
#: src/gui/inventorywindow.cpp:175 src/gui/outfitwindow.cpp:60
-#: src/gui/popupmenu.cpp:537
+#: src/gui/popupmenu.cpp:559
msgid "Outfits"
msgstr "Kleren"
@@ -1007,17 +1012,17 @@ msgid "Weight:"
msgstr "Gewicht:"
#: src/gui/inventorywindow.cpp:203 src/gui/inventorywindow.cpp:643
-#: src/gui/popupmenu.cpp:1680 src/gui/popupmenu.cpp:1809
-#: src/gui/popupmenu.cpp:1854 src/gui/setup.cpp:73
+#: src/gui/popupmenu.cpp:1723 src/gui/popupmenu.cpp:1852
+#: src/gui/popupmenu.cpp:1897 src/gui/setup.cpp:73
msgid "Store"
msgstr "Opslaan"
-#: src/gui/inventorywindow.cpp:204 src/gui/popupmenu.cpp:1721
+#: src/gui/inventorywindow.cpp:204 src/gui/popupmenu.cpp:1764
msgid "Retrieve"
msgstr "Afhalen"
-#: src/gui/inventorywindow.cpp:654 src/gui/popupmenu.cpp:1710
-#: src/gui/popupmenu.cpp:1802 src/gui/popupmenu.cpp:1847
+#: src/gui/inventorywindow.cpp:654 src/gui/popupmenu.cpp:1753
+#: src/gui/popupmenu.cpp:1845 src/gui/popupmenu.cpp:1890
#: src/gui/windowmenu.cpp:97
msgid "Drop"
msgstr "Neerleggen"
@@ -1257,7 +1262,7 @@ msgstr "Indienen"
msgid "NPC"
msgstr "NPC"
-#: src/gui/npcdialog.cpp:108 src/gui/popupmenu.cpp:576
+#: src/gui/npcdialog.cpp:108 src/gui/popupmenu.cpp:598
msgid "Clear"
msgstr "Wissen"
@@ -1295,331 +1300,347 @@ msgstr "Verwijder uitrusting eerst"
msgid "Away outfit"
msgstr "Kleren om weg te gaan"
-#: src/gui/popupmenu.cpp:132 src/gui/popupmenu.cpp:613
+#: src/gui/popupmenu.cpp:132 src/gui/popupmenu.cpp:635
#: src/gui/widgets/tradetab.cpp:44
msgid "Trade"
msgstr "Handel"
-#: src/gui/popupmenu.cpp:134 src/gui/popupmenu.cpp:372
+#: src/gui/popupmenu.cpp:134 src/gui/popupmenu.cpp:383
msgid "Whisper"
msgstr "Fluister"
-#: src/gui/popupmenu.cpp:138 src/gui/popupmenu.cpp:618
+#: src/gui/popupmenu.cpp:138 src/gui/popupmenu.cpp:640
msgid "Heal"
msgstr "Genees"
-#: src/gui/popupmenu.cpp:144 src/gui/popupmenu.cpp:378
-#: src/gui/popupmenu.cpp:624
+#: src/gui/popupmenu.cpp:144 src/gui/popupmenu.cpp:389
+#: src/gui/popupmenu.cpp:646
msgid "Be friend"
msgstr "Word vriend"
-#: src/gui/popupmenu.cpp:145 src/gui/popupmenu.cpp:152
-#: src/gui/popupmenu.cpp:160 src/gui/popupmenu.cpp:178
-#: src/gui/popupmenu.cpp:379 src/gui/popupmenu.cpp:386
-#: src/gui/popupmenu.cpp:394 src/gui/popupmenu.cpp:412
-#: src/gui/popupmenu.cpp:625 src/gui/popupmenu.cpp:632
-#: src/gui/popupmenu.cpp:640 src/gui/popupmenu.cpp:658
+#: src/gui/popupmenu.cpp:145 src/gui/popupmenu.cpp:153
+#: src/gui/popupmenu.cpp:162 src/gui/popupmenu.cpp:170
+#: src/gui/popupmenu.cpp:189 src/gui/popupmenu.cpp:390
+#: src/gui/popupmenu.cpp:398 src/gui/popupmenu.cpp:407
+#: src/gui/popupmenu.cpp:426 src/gui/popupmenu.cpp:434
+#: src/gui/popupmenu.cpp:647 src/gui/popupmenu.cpp:655
+#: src/gui/popupmenu.cpp:664 src/gui/popupmenu.cpp:678
+#: src/gui/popupmenu.cpp:691
msgid "Disregard"
msgstr "Geen rekening mee houden"
-#: src/gui/popupmenu.cpp:147 src/gui/popupmenu.cpp:154
-#: src/gui/popupmenu.cpp:381 src/gui/popupmenu.cpp:388
-#: src/gui/popupmenu.cpp:627 src/gui/popupmenu.cpp:634
+#: src/gui/popupmenu.cpp:147 src/gui/popupmenu.cpp:155
+#: src/gui/popupmenu.cpp:172 src/gui/popupmenu.cpp:392
+#: src/gui/popupmenu.cpp:400 src/gui/popupmenu.cpp:428
+#: src/gui/popupmenu.cpp:649 src/gui/popupmenu.cpp:657
+#: src/gui/popupmenu.cpp:680
msgid "Black list"
msgstr ""
-#: src/gui/popupmenu.cpp:148 src/gui/popupmenu.cpp:155
-#: src/gui/popupmenu.cpp:162 src/gui/popupmenu.cpp:168
-#: src/gui/popupmenu.cpp:173 src/gui/popupmenu.cpp:382
-#: src/gui/popupmenu.cpp:389 src/gui/popupmenu.cpp:396
-#: src/gui/popupmenu.cpp:402 src/gui/popupmenu.cpp:407
-#: src/gui/popupmenu.cpp:628 src/gui/popupmenu.cpp:635
-#: src/gui/popupmenu.cpp:642 src/gui/popupmenu.cpp:648
-#: src/gui/popupmenu.cpp:653
+#: src/gui/popupmenu.cpp:148 src/gui/popupmenu.cpp:156
+#: src/gui/popupmenu.cpp:164 src/gui/popupmenu.cpp:393
+#: src/gui/popupmenu.cpp:401 src/gui/popupmenu.cpp:409
+#: src/gui/popupmenu.cpp:650 src/gui/popupmenu.cpp:658
+#: src/gui/popupmenu.cpp:666
+msgid "Set as enemy"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:149 src/gui/popupmenu.cpp:157
+#: src/gui/popupmenu.cpp:165 src/gui/popupmenu.cpp:173
+#: src/gui/popupmenu.cpp:179 src/gui/popupmenu.cpp:184
+#: src/gui/popupmenu.cpp:394 src/gui/popupmenu.cpp:402
+#: src/gui/popupmenu.cpp:410 src/gui/popupmenu.cpp:416
+#: src/gui/popupmenu.cpp:421 src/gui/popupmenu.cpp:429
+#: src/gui/popupmenu.cpp:651 src/gui/popupmenu.cpp:659
+#: src/gui/popupmenu.cpp:667 src/gui/popupmenu.cpp:673
+#: src/gui/popupmenu.cpp:681 src/gui/popupmenu.cpp:686
msgid "Erase"
msgstr "Wis"
-#: src/gui/popupmenu.cpp:159 src/gui/popupmenu.cpp:166
-#: src/gui/popupmenu.cpp:172 src/gui/popupmenu.cpp:177
-#: src/gui/popupmenu.cpp:393 src/gui/popupmenu.cpp:400
-#: src/gui/popupmenu.cpp:406 src/gui/popupmenu.cpp:411
-#: src/gui/popupmenu.cpp:639 src/gui/popupmenu.cpp:646
-#: src/gui/popupmenu.cpp:652 src/gui/popupmenu.cpp:657
+#: src/gui/popupmenu.cpp:161 src/gui/popupmenu.cpp:169
+#: src/gui/popupmenu.cpp:177 src/gui/popupmenu.cpp:183
+#: src/gui/popupmenu.cpp:188 src/gui/popupmenu.cpp:406
+#: src/gui/popupmenu.cpp:414 src/gui/popupmenu.cpp:420
+#: src/gui/popupmenu.cpp:425 src/gui/popupmenu.cpp:433
+#: src/gui/popupmenu.cpp:663 src/gui/popupmenu.cpp:671
+#: src/gui/popupmenu.cpp:677 src/gui/popupmenu.cpp:685
+#: src/gui/popupmenu.cpp:690
msgid "Unignore"
msgstr ""
-#: src/gui/popupmenu.cpp:167 src/gui/popupmenu.cpp:179
-#: src/gui/popupmenu.cpp:401 src/gui/popupmenu.cpp:413
-#: src/gui/popupmenu.cpp:647 src/gui/popupmenu.cpp:659
-#: src/playerrelations.cpp:421
+#: src/gui/popupmenu.cpp:178 src/gui/popupmenu.cpp:190
+#: src/gui/popupmenu.cpp:415 src/gui/popupmenu.cpp:435
+#: src/gui/popupmenu.cpp:672 src/gui/popupmenu.cpp:692
+#: src/playerrelations.cpp:446
msgid "Completely ignore"
msgstr "Volledig genegeerd"
-#: src/gui/popupmenu.cpp:187 src/gui/popupmenu.cpp:421
-#: src/gui/popupmenu.cpp:667 src/gui/popupmenu.cpp:746
+#: src/gui/popupmenu.cpp:198 src/gui/popupmenu.cpp:443
+#: src/gui/popupmenu.cpp:700 src/gui/popupmenu.cpp:779
msgid "Follow"
msgstr "Volg"
-#: src/gui/popupmenu.cpp:188 src/gui/popupmenu.cpp:422
-#: src/gui/popupmenu.cpp:668 src/gui/popupmenu.cpp:747
+#: src/gui/popupmenu.cpp:199 src/gui/popupmenu.cpp:444
+#: src/gui/popupmenu.cpp:701 src/gui/popupmenu.cpp:780
msgid "Imitation"
msgstr "Imiteer"
-#: src/gui/popupmenu.cpp:197 src/gui/popupmenu.cpp:700
+#: src/gui/popupmenu.cpp:208 src/gui/popupmenu.cpp:733
msgid "Invite to party"
msgstr ""
-#: src/gui/popupmenu.cpp:202 src/gui/popupmenu.cpp:433
-#: src/gui/popupmenu.cpp:705
+#: src/gui/popupmenu.cpp:213 src/gui/popupmenu.cpp:455
+#: src/gui/popupmenu.cpp:738
msgid "Kick from party"
msgstr ""
-#: src/gui/popupmenu.cpp:217 src/gui/popupmenu.cpp:229
-#: src/gui/popupmenu.cpp:450 src/gui/popupmenu.cpp:722
+#: src/gui/popupmenu.cpp:228 src/gui/popupmenu.cpp:240
+#: src/gui/popupmenu.cpp:472 src/gui/popupmenu.cpp:755
msgid "Kick from guild"
msgstr ""
-#: src/gui/popupmenu.cpp:222 src/gui/popupmenu.cpp:234
-#: src/gui/popupmenu.cpp:455 src/gui/popupmenu.cpp:727
+#: src/gui/popupmenu.cpp:233 src/gui/popupmenu.cpp:245
+#: src/gui/popupmenu.cpp:477 src/gui/popupmenu.cpp:760
msgid "Change pos in guild"
msgstr ""
-#: src/gui/popupmenu.cpp:242 src/gui/popupmenu.cpp:463
-#: src/gui/popupmenu.cpp:736
+#: src/gui/popupmenu.cpp:253 src/gui/popupmenu.cpp:485
+#: src/gui/popupmenu.cpp:769
msgid "Invite to guild"
msgstr ""
-#: src/gui/popupmenu.cpp:250
+#: src/gui/popupmenu.cpp:261
msgid "Kick player"
msgstr "Schop speler"
-#: src/gui/popupmenu.cpp:252
+#: src/gui/popupmenu.cpp:263
msgid "Nuke"
msgstr ""
-#: src/gui/popupmenu.cpp:254 src/gui/popupmenu.cpp:670
-#: src/gui/popupmenu.cpp:759
+#: src/gui/popupmenu.cpp:265 src/gui/popupmenu.cpp:703
+#: src/gui/popupmenu.cpp:792
msgid "Show Items"
msgstr "Toon Voorwerpen"
-#: src/gui/popupmenu.cpp:255 src/gui/popupmenu.cpp:671
-#: src/gui/popupmenu.cpp:760 src/gui/popupmenu.cpp:2004
+#: src/gui/popupmenu.cpp:266 src/gui/popupmenu.cpp:704
+#: src/gui/popupmenu.cpp:793 src/gui/popupmenu.cpp:2047
msgid "Undress"
msgstr "ontkleed"
-#: src/gui/popupmenu.cpp:256 src/gui/popupmenu.cpp:286
-#: src/gui/popupmenu.cpp:423 src/gui/popupmenu.cpp:672
-#: src/gui/popupmenu.cpp:761
+#: src/gui/popupmenu.cpp:267 src/gui/popupmenu.cpp:297
+#: src/gui/popupmenu.cpp:445 src/gui/popupmenu.cpp:705
+#: src/gui/popupmenu.cpp:794
msgid "Add comment"
msgstr ""
-#: src/gui/popupmenu.cpp:271 src/gui/popupmenu.cpp:471
-#: src/gui/popupmenu.cpp:687 src/gui/popupmenu.cpp:766
+#: src/gui/popupmenu.cpp:282 src/gui/popupmenu.cpp:493
+#: src/gui/popupmenu.cpp:720 src/gui/popupmenu.cpp:799
msgid "Buy (?)"
msgstr "Koop (?)"
-#: src/gui/popupmenu.cpp:272 src/gui/popupmenu.cpp:472
-#: src/gui/popupmenu.cpp:688 src/gui/popupmenu.cpp:767
+#: src/gui/popupmenu.cpp:283 src/gui/popupmenu.cpp:494
+#: src/gui/popupmenu.cpp:721 src/gui/popupmenu.cpp:800
msgid "Sell (?)"
msgstr "Verkoop (?)"
-#: src/gui/popupmenu.cpp:297
+#: src/gui/popupmenu.cpp:308
msgid "Kick"
msgstr "Schop"
-#: src/gui/popupmenu.cpp:308
+#: src/gui/popupmenu.cpp:319
msgid "Remove from attack list"
msgstr ""
-#: src/gui/popupmenu.cpp:313
+#: src/gui/popupmenu.cpp:324
msgid "Add to priority attack list"
msgstr ""
-#: src/gui/popupmenu.cpp:315
+#: src/gui/popupmenu.cpp:326
msgid "Add to attack list"
msgstr ""
-#: src/gui/popupmenu.cpp:317
+#: src/gui/popupmenu.cpp:328
msgid "Add to ignore list"
msgstr ""
-#: src/gui/popupmenu.cpp:330 src/gui/popupmenu.cpp:475
+#: src/gui/popupmenu.cpp:341 src/gui/popupmenu.cpp:497
msgid "Add name to chat"
msgstr ""
-#: src/gui/popupmenu.cpp:500
+#: src/gui/popupmenu.cpp:522
msgid "Pick up"
msgstr "Raap op"
-#: src/gui/popupmenu.cpp:501 src/gui/popupmenu.cpp:1730
-#: src/gui/popupmenu.cpp:1810 src/gui/popupmenu.cpp:1855
+#: src/gui/popupmenu.cpp:523 src/gui/popupmenu.cpp:1773
+#: src/gui/popupmenu.cpp:1853 src/gui/popupmenu.cpp:1898
msgid "Add to chat"
msgstr "Aan chat toevoegen"
-#: src/gui/popupmenu.cpp:518
+#: src/gui/popupmenu.cpp:540
msgid "Map Item"
msgstr "Plaats voorwerp op de kaart"
-#: src/gui/popupmenu.cpp:519
+#: src/gui/popupmenu.cpp:541
msgid "Rename"
msgstr "Hernoem"
-#: src/gui/popupmenu.cpp:520 src/gui/popupmenu.cpp:1965
-#: src/gui/popupmenu.cpp:1976 src/gui/popupmenu.cpp:1980
+#: src/gui/popupmenu.cpp:542 src/gui/popupmenu.cpp:2008
+#: src/gui/popupmenu.cpp:2019 src/gui/popupmenu.cpp:2023
msgid "Remove"
msgstr "Verwijder"
-#: src/gui/popupmenu.cpp:525
+#: src/gui/popupmenu.cpp:547
msgid "Warp"
msgstr ""
-#: src/gui/popupmenu.cpp:538
+#: src/gui/popupmenu.cpp:560
msgid "Load old outfits"
msgstr "Inladen oude kleren"
-#: src/gui/popupmenu.cpp:554 src/gui/windowmenu.cpp:96
+#: src/gui/popupmenu.cpp:576 src/gui/windowmenu.cpp:96
msgid "Spells"
msgstr "Spreuken"
-#: src/gui/popupmenu.cpp:555
+#: src/gui/popupmenu.cpp:577
msgid "Load old spells"
msgstr "Laad oude spreuken"
-#: src/gui/popupmenu.cpp:556
+#: src/gui/popupmenu.cpp:578
msgid "Edit spell"
msgstr "Wijzig spreuk"
-#: src/gui/popupmenu.cpp:580
+#: src/gui/popupmenu.cpp:602
msgid "Disable highlight"
msgstr "Markering afzetten"
-#: src/gui/popupmenu.cpp:582
+#: src/gui/popupmenu.cpp:604
msgid "Enable highlight"
msgstr "Markering aanzetten"
-#: src/gui/popupmenu.cpp:584
+#: src/gui/popupmenu.cpp:606
msgid "Don't remove name"
msgstr ""
-#: src/gui/popupmenu.cpp:586
+#: src/gui/popupmenu.cpp:608
msgid "Remove name"
msgstr "Verwijder naam"
-#: src/gui/popupmenu.cpp:588
+#: src/gui/popupmenu.cpp:610
msgid "Enable away"
msgstr "away aanzetten"
-#: src/gui/popupmenu.cpp:590
+#: src/gui/popupmenu.cpp:612
msgid "Disable away"
msgstr "away afzetten"
-#: src/gui/popupmenu.cpp:595 src/gui/socialwindow.cpp:1141
+#: src/gui/popupmenu.cpp:617 src/gui/socialwindow.cpp:1141
msgid "Leave"
msgstr "Verlaat"
-#: src/gui/popupmenu.cpp:780
+#: src/gui/popupmenu.cpp:813
msgid "Change guild position"
msgstr "Wijzig uw guild positie"
#. TRANSLATORS: number of chars in string should be near original
-#: src/gui/popupmenu.cpp:1243
+#: src/gui/popupmenu.cpp:1286
msgid "Rename map sign "
msgstr "Kaart bordje hernoemen "
#. TRANSLATORS: number of chars in string should be near original
-#: src/gui/popupmenu.cpp:1245
+#: src/gui/popupmenu.cpp:1288
msgid "Name: "
msgstr "Naam: "
#. TRANSLATORS: number of chars in string should be near original
-#: src/gui/popupmenu.cpp:1295
+#: src/gui/popupmenu.cpp:1338
msgid "Player comment "
msgstr ""
#. TRANSLATORS: number of chars in string should be near original
-#: src/gui/popupmenu.cpp:1297
+#: src/gui/popupmenu.cpp:1340
msgid "Comment: "
msgstr ""
-#: src/gui/popupmenu.cpp:1668
+#: src/gui/popupmenu.cpp:1711
msgid "Add to trade"
msgstr ""
-#: src/gui/popupmenu.cpp:1672
+#: src/gui/popupmenu.cpp:1715
msgid "Add to trade 10"
msgstr ""
-#: src/gui/popupmenu.cpp:1673
+#: src/gui/popupmenu.cpp:1716
msgid "Add to trade half"
msgstr ""
-#: src/gui/popupmenu.cpp:1674
+#: src/gui/popupmenu.cpp:1717
msgid "Add to trade all"
msgstr ""
-#: src/gui/popupmenu.cpp:1684
+#: src/gui/popupmenu.cpp:1727
msgid "Store 10"
msgstr "Plaats 10"
-#: src/gui/popupmenu.cpp:1685
+#: src/gui/popupmenu.cpp:1728
msgid "Store half"
msgstr "Plaats de helft"
-#: src/gui/popupmenu.cpp:1686
+#: src/gui/popupmenu.cpp:1729
msgid "Store all"
msgstr "Plaats alles"
-#: src/gui/popupmenu.cpp:1706 src/gui/popupmenu.cpp:1798
-#: src/gui/popupmenu.cpp:1843
+#: src/gui/popupmenu.cpp:1749 src/gui/popupmenu.cpp:1841
+#: src/gui/popupmenu.cpp:1886
msgid "Drop all"
msgstr "Laat alles vallen"
-#: src/gui/popupmenu.cpp:1725
+#: src/gui/popupmenu.cpp:1768
msgid "Retrieve 10"
msgstr "Haal 10 op"
-#: src/gui/popupmenu.cpp:1726
+#: src/gui/popupmenu.cpp:1769
msgid "Retrieve half"
msgstr "Haal de helft op"
-#: src/gui/popupmenu.cpp:1727
+#: src/gui/popupmenu.cpp:1770
msgid "Retrieve all"
msgstr "Haal alles op"
-#: src/gui/popupmenu.cpp:1758 src/gui/popupmenu.cpp:1814
+#: src/gui/popupmenu.cpp:1801 src/gui/popupmenu.cpp:1857
msgid "Load old item shortcuts"
msgstr "Laden van oude voorwerpsnelkoppelingen"
-#: src/gui/popupmenu.cpp:1859
+#: src/gui/popupmenu.cpp:1902
msgid "Load old drop shortcuts"
msgstr "Laden van oude neerleggingsnelkoppeling"
-#: src/gui/popupmenu.cpp:1885 src/gui/popupmenu.cpp:1920
+#: src/gui/popupmenu.cpp:1928 src/gui/popupmenu.cpp:1963
msgid "Hide"
msgstr "Verberg"
-#: src/gui/popupmenu.cpp:1891 src/gui/popupmenu.cpp:1926
+#: src/gui/popupmenu.cpp:1934 src/gui/popupmenu.cpp:1969
msgid "Show"
msgstr "Toon"
-#: src/gui/popupmenu.cpp:1932
+#: src/gui/popupmenu.cpp:1975
msgid "Reset yellow bar"
msgstr ""
-#: src/gui/popupmenu.cpp:1934 src/gui/statuswindow.cpp:241
+#: src/gui/popupmenu.cpp:1977 src/gui/statuswindow.cpp:242
msgid "Copy to chat"
msgstr "Kopieer naar chat"
-#: src/gui/popupmenu.cpp:1952 src/gui/socialwindow.cpp:958
+#: src/gui/popupmenu.cpp:1995 src/gui/setup_theme.cpp:88
+#: src/gui/setup_theme.cpp:145 src/gui/socialwindow.cpp:958
#: src/gui/socialwindow.cpp:993 src/gui/socialwindow.cpp:1028
msgid "(default)"
msgstr "(standaard)"
-#: src/gui/popupmenu.cpp:1962 src/gui/popupmenu.cpp:1973
+#: src/gui/popupmenu.cpp:2005 src/gui/popupmenu.cpp:2016
msgid "Move up"
msgstr "Beweeg naar boven"
-#: src/gui/popupmenu.cpp:1964 src/gui/popupmenu.cpp:1975
+#: src/gui/popupmenu.cpp:2007 src/gui/popupmenu.cpp:2018
msgid "Move down"
msgstr "Beweeg naar beneden"
@@ -1934,29 +1955,33 @@ msgstr "Toepassen"
msgid "Reset Windows"
msgstr "Vensters in beginstand"
-#: src/gui/setup_joystick.cpp:40 src/gui/setup_joystick.cpp:79
+#: src/gui/setup_joystick.cpp:70 src/gui/setup_joystick.cpp:142
msgid "Press the button to start calibration"
msgstr "Druk op de knop om het kalibreren te starten"
-#: src/gui/setup_joystick.cpp:41 src/gui/setup_joystick.cpp:77
+#: src/gui/setup_joystick.cpp:71 src/gui/setup_joystick.cpp:140
msgid "Calibrate"
msgstr "Kalibreren"
-#: src/gui/setup_joystick.cpp:42
+#: src/gui/setup_joystick.cpp:72
msgid "Enable joystick"
msgstr "Joystick activeren"
-#: src/gui/setup_joystick.cpp:44
+#: src/gui/setup_joystick.cpp:75
+msgid "Use joystick if client window inactive"
+msgstr ""
+
+#: src/gui/setup_joystick.cpp:78
msgid "Joystick"
msgstr "Joystick"
-#: src/gui/setup_joystick.cpp:84
+#: src/gui/setup_joystick.cpp:147
msgid "Stop"
msgstr "Stoppen"
-#: src/gui/setup_joystick.cpp:85
-msgid "Rotate the stick"
-msgstr "Maak rondjes met de stick"
+#: src/gui/setup_joystick.cpp:149
+msgid "Rotate the stick and dont press buttons"
+msgstr ""
#: src/gui/setup_keyboard.cpp:80
msgid "Keyboard"
@@ -2139,22 +2164,22 @@ msgid "Enable bot checker"
msgstr "Bot controle aanzetten"
#: src/gui/setup_other.cpp:174
-msgid "Enable buggy servers protection"
-msgstr "Beveiliging tegen fouten van server aanzetten"
+msgid "Enable buggy servers protection (do not disable)"
+msgstr ""
-#: src/gui/setup_other.cpp:177
+#: src/gui/setup_other.cpp:178
msgid "Enable debug log"
msgstr "Zet debug log aan"
-#: src/gui/setup_other.cpp:180
+#: src/gui/setup_other.cpp:181
msgid "Low traffic mode"
msgstr ""
-#: src/gui/setup_other.cpp:183
+#: src/gui/setup_other.cpp:184
msgid "Hide shield sprite"
msgstr ""
-#: src/gui/setup_other.cpp:186
+#: src/gui/setup_other.cpp:187
msgid "Show background"
msgstr "Toon achtergrond"
@@ -2282,91 +2307,151 @@ msgstr "Gewist"
msgid "Blacklisted"
msgstr ""
-#: src/gui/setup_relations.cpp:239
+#: src/gui/setup_relations.cpp:76
+msgid "Enemy"
+msgstr ""
+
+#: src/gui/setup_relations.cpp:240
msgid "Allow trading"
msgstr "Handelen toestaan"
-#: src/gui/setup_relations.cpp:241
+#: src/gui/setup_relations.cpp:242
msgid "Allow whispers"
msgstr "Fluisteren toestaan"
-#: src/gui/setup_relations.cpp:244
+#: src/gui/setup_relations.cpp:245
msgid "Old"
msgstr "Oud"
-#: src/gui/setup_relations.cpp:246
+#: src/gui/setup_relations.cpp:247
msgid "Relations"
msgstr "Relaties"
-#: src/gui/setup_relations.cpp:271
+#: src/gui/setup_relations.cpp:272
msgid "When ignoring:"
msgstr "Tijdens negeren:"
-#: src/gui/setup_theme.cpp:107
+#: src/gui/setup_theme.cpp:108
msgid "Tiny (10)"
msgstr "Heel klein (10)"
-#: src/gui/setup_theme.cpp:108
+#: src/gui/setup_theme.cpp:109
msgid "Small (11)"
msgstr "Klein (11)"
-#: src/gui/setup_theme.cpp:109
+#: src/gui/setup_theme.cpp:110
msgid "Medium (12)"
msgstr "Middelmatig (12)"
-#: src/gui/setup_theme.cpp:110
+#: src/gui/setup_theme.cpp:111
msgid "Large (13)"
msgstr "Groot (13)"
-#: src/gui/setup_theme.cpp:111
+#: src/gui/setup_theme.cpp:112
msgid "Big (14)"
msgstr "Heel groot (14)"
-#: src/gui/setup_theme.cpp:112
+#: src/gui/setup_theme.cpp:113
msgid "Huge (15)"
msgstr "Extreem groot (15)"
-#: src/gui/setup_theme.cpp:143
+#: src/gui/setup_theme.cpp:146
+msgid "Chinese (China)"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:147
+msgid "Czech"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:148
+msgid "English"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:149
+msgid "Finnish"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:150
+msgid "French"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:151
+msgid "German"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:152
+msgid "Indonesian"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:153
+msgid "Japanese"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:154
+msgid "Dutch (Belgium/Flemish)"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:155
+msgid "Portuguese"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:156
+msgid "Portuguese (Brazilian)"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:157
+msgid "Russian"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:158
+msgid "Spanish (Castilian)"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:190
msgid "Theme"
msgstr "Thema"
-#: src/gui/setup_theme.cpp:145
+#: src/gui/setup_theme.cpp:192
msgid "Gui theme"
msgstr ""
-#: src/gui/setup_theme.cpp:146
+#: src/gui/setup_theme.cpp:193
+msgid "Language"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:194
msgid "Main Font"
msgstr "Standaard Lettertype"
-#: src/gui/setup_theme.cpp:147
+#: src/gui/setup_theme.cpp:195
msgid "Bold font"
msgstr "Vet lettertype"
-#: src/gui/setup_theme.cpp:148
+#: src/gui/setup_theme.cpp:196
msgid "Particle font"
msgstr ""
-#: src/gui/setup_theme.cpp:149
+#: src/gui/setup_theme.cpp:197
msgid "Help font"
msgstr "Help lettertype"
-#: src/gui/setup_theme.cpp:150
+#: src/gui/setup_theme.cpp:198
msgid "Secure font"
msgstr ""
-#: src/gui/setup_theme.cpp:151
+#: src/gui/setup_theme.cpp:199
msgid "Japanese font"
msgstr ""
-#: src/gui/setup_theme.cpp:183
+#: src/gui/setup_theme.cpp:236
msgid "Font size"
msgstr "Lettergrootte"
-#: src/gui/setup_theme.cpp:299
+#: src/gui/setup_theme.cpp:377
msgid "Theme Changed"
msgstr "Thema is gewijzigd"
-#: src/gui/setup_theme.cpp:300 src/gui/setup_video.cpp:619
+#: src/gui/setup_theme.cpp:378 src/gui/setup_video.cpp:619
#: src/gui/setup_video.cpp:624
msgid "Restart your client for the change to take effect."
msgstr "Herstart de client om de wijzigingen in werking te doen treden."
@@ -2521,8 +2606,8 @@ msgstr "Scherm Resolutie is gewijzigd"
#: src/gui/setup_video.cpp:621
msgid "Some windows may be moved to fit the lowered resolution."
msgstr ""
-"Enkele vensters kunnen verplaatst worden om te passen in de omlaag gebrachte "
-"resolutie"
+"Enkele vensters kunnen verplaatst worden om te passen in de omlaag gebrachte"
+" resolutie"
#: src/gui/setup_video.cpp:654
msgid "Particle Effect Settings Changed."
@@ -2799,422 +2884,445 @@ msgstr "Kies uw groepsnaam."
msgid "Specials"
msgstr "Specialen"
-#: src/gui/statuspopup.cpp:197
+#: src/gui/statuspopup.cpp:204
msgid "(D) default moves"
msgstr "(D) standaard bewegingen"
-#: src/gui/statuspopup.cpp:202
+#: src/gui/statuspopup.cpp:209
msgid "(I) invert moves"
msgstr "(I) geïnverteerde bewegingen"
-#: src/gui/statuspopup.cpp:207
+#: src/gui/statuspopup.cpp:214
msgid "(c) moves with some crazy moves"
msgstr "(c) bewegingen met enkele vreemde bewegingen"
-#: src/gui/statuspopup.cpp:212
+#: src/gui/statuspopup.cpp:219
msgid "(C) moves with crazy moves"
msgstr "(C) bewegingen met vreemde bewegingen"
-#: src/gui/statuspopup.cpp:217
+#: src/gui/statuspopup.cpp:224
msgid "(d) double normal + crazy"
msgstr "(d) dubbel normaal + raar"
-#: src/gui/statuspopup.cpp:222
+#: src/gui/statuspopup.cpp:229
msgid "(?) move"
msgstr "(?) beweeg"
-#: src/gui/statuspopup.cpp:240
+#: src/gui/statuspopup.cpp:247
msgid "(a) custom crazy move"
msgstr "(a) manuele vreemde beweging"
-#: src/gui/statuspopup.cpp:244
+#: src/gui/statuspopup.cpp:251
msgid "(?) crazy move"
msgstr "(?) vreemde beweging"
-#: src/gui/statuspopup.cpp:254
+#: src/gui/statuspopup.cpp:261
msgid "(0) default moves to target"
msgstr "(0) standaard bewegingen tot aan doel"
-#: src/gui/statuspopup.cpp:259
+#: src/gui/statuspopup.cpp:266
msgid "(1) moves to target in distance 1"
msgstr "(1) bewegen tot aan doel in bereik 1"
-#: src/gui/statuspopup.cpp:264
+#: src/gui/statuspopup.cpp:271
msgid "(2) moves to target in distance 2"
msgstr "(2) bewegen tot aan doel in bereik 2"
-#: src/gui/statuspopup.cpp:269
+#: src/gui/statuspopup.cpp:276
msgid "(3) moves to target in distance 3"
msgstr "(3) bewegen tot aan doel in bereik 3"
-#: src/gui/statuspopup.cpp:274
+#: src/gui/statuspopup.cpp:281
msgid "(5) moves to target in distance 5"
msgstr "(5) bewegen tot aan doel in bereik 5"
-#: src/gui/statuspopup.cpp:279
+#: src/gui/statuspopup.cpp:286
msgid "(7) moves to target in distance 7"
msgstr "(7) bewegen tot aan doel in bereik 7"
-#: src/gui/statuspopup.cpp:284
+#: src/gui/statuspopup.cpp:291
msgid "(A) moves to target in attack range"
msgstr "(A) beweeg tot aan doel in aanvalsbereik"
-#: src/gui/statuspopup.cpp:289
+#: src/gui/statuspopup.cpp:296
msgid "(a) archer attack range"
msgstr ""
-#: src/gui/statuspopup.cpp:294
+#: src/gui/statuspopup.cpp:301
msgid "(?) move to target"
msgstr "(?) beweeg tot aan doel"
-#: src/gui/statuspopup.cpp:302
+#: src/gui/statuspopup.cpp:309
msgid "(D) default follow"
msgstr "(D) standaard volgen"
-#: src/gui/statuspopup.cpp:306
+#: src/gui/statuspopup.cpp:313
msgid "(R) relative follow"
msgstr "(R) relatief volgen"
-#: src/gui/statuspopup.cpp:310
+#: src/gui/statuspopup.cpp:317
msgid "(M) mirror follow"
msgstr "(M) gespiegeld volgen"
-#: src/gui/statuspopup.cpp:314
+#: src/gui/statuspopup.cpp:321
msgid "(P) pet follow"
msgstr "(P) huisdier volgen"
-#: src/gui/statuspopup.cpp:318
+#: src/gui/statuspopup.cpp:325
msgid "(?) unknown follow"
msgstr "(?) onbekend volgen"
-#: src/gui/statuspopup.cpp:327 src/gui/statuspopup.cpp:350
+#: src/gui/statuspopup.cpp:334 src/gui/statuspopup.cpp:357
msgid "(D) default attack"
msgstr "(D) standaard aanval"
-#: src/gui/statuspopup.cpp:332
+#: src/gui/statuspopup.cpp:339
msgid "(s) switch attack without shield"
msgstr "(s) wissel aanval zonder schild"
-#: src/gui/statuspopup.cpp:337
+#: src/gui/statuspopup.cpp:344
msgid "(S) switch attack with shield"
msgstr "(S) wissel aanval met schild"
-#: src/gui/statuspopup.cpp:341 src/gui/statuspopup.cpp:366
+#: src/gui/statuspopup.cpp:348 src/gui/statuspopup.cpp:373
msgid "(?) attack"
msgstr "(?) aanval"
-#: src/gui/statuspopup.cpp:354
+#: src/gui/statuspopup.cpp:361
msgid "(G) go and attack"
msgstr "(G) ga en val aan"
-#: src/gui/statuspopup.cpp:358
+#: src/gui/statuspopup.cpp:365
msgid "(A) go, attack, pickup"
msgstr "(A) ga, val aan, raap op"
-#: src/gui/statuspopup.cpp:362
+#: src/gui/statuspopup.cpp:369
msgid "(d) without auto attack"
msgstr "(d) zonder auto aanval"
-#: src/gui/statuspopup.cpp:380
+#: src/gui/statuspopup.cpp:387
msgid "(S) small pick up 1x1 cells"
msgstr "(S) klein raap op 1x1 velden"
-#: src/gui/statuspopup.cpp:384
+#: src/gui/statuspopup.cpp:391
msgid "(D) default pick up 2x1 cells"
msgstr "(D) standaard raap op 2x1 velden"
-#: src/gui/statuspopup.cpp:388
+#: src/gui/statuspopup.cpp:395
msgid "(F) forward pick up 2x3 cells"
msgstr "(F) vooruit raap op 2x3 velden"
-#: src/gui/statuspopup.cpp:392
+#: src/gui/statuspopup.cpp:399
msgid "(3) pick up 3x3 cells"
msgstr "(3) raap op 3x3 velden"
-#: src/gui/statuspopup.cpp:396
+#: src/gui/statuspopup.cpp:403
msgid "(g) go and pick up in distance 4"
msgstr "(g) go en raap op met bereik 4"
-#: src/gui/statuspopup.cpp:400
+#: src/gui/statuspopup.cpp:407
msgid "(G) go and pick up in distance 8"
msgstr "(G) ga en raap op met bereik 8"
-#: src/gui/statuspopup.cpp:404
+#: src/gui/statuspopup.cpp:411
msgid "(A) go and pick up in max distance"
msgstr "(A) ga en raap op zonder bereiklimiet"
-#: src/gui/statuspopup.cpp:408
+#: src/gui/statuspopup.cpp:415
msgid "(?) pick up"
msgstr "(?) raap op"
-#: src/gui/statuspopup.cpp:417
+#: src/gui/statuspopup.cpp:424
msgid "(N) normal map view"
msgstr "(N) normale map tonen"
-#: src/gui/statuspopup.cpp:421
+#: src/gui/statuspopup.cpp:428
msgid "(D) debug map view"
msgstr "(D) debug map tonen"
-#: src/gui/statuspopup.cpp:425
+#: src/gui/statuspopup.cpp:432
msgid "(u) ultra map view"
msgstr "(u) ultra map tonen"
-#: src/gui/statuspopup.cpp:429
+#: src/gui/statuspopup.cpp:436
msgid "(U) ultra map view 2"
msgstr "(U) ultra map tonen 2"
-#: src/gui/statuspopup.cpp:433
+#: src/gui/statuspopup.cpp:440
msgid "(e) empty map view"
msgstr "(e) lege map tonen"
-#: src/gui/statuspopup.cpp:437
+#: src/gui/statuspopup.cpp:444
msgid "(b) black & white map view"
msgstr "(b) zwart & witte map tonen"
-#: src/gui/statuspopup.cpp:441
+#: src/gui/statuspopup.cpp:448
msgid "(?) map view"
msgstr "(?) map tonen"
-#: src/gui/statuspopup.cpp:449
+#: src/gui/statuspopup.cpp:456
msgid "(f) use #flar for magic attack"
msgstr "(f) gebruik #flar voor magie aanval"
-#: src/gui/statuspopup.cpp:454
+#: src/gui/statuspopup.cpp:461
msgid "(c) use #chiza for magic attack"
msgstr "(c) gebruik #chiza voor magie aanval"
-#: src/gui/statuspopup.cpp:459
+#: src/gui/statuspopup.cpp:466
msgid "(I) use #ingrav for magic attack"
msgstr "(I) gebruik #ingrav voor magie aanval"
-#: src/gui/statuspopup.cpp:464
+#: src/gui/statuspopup.cpp:471
msgid "(F) use #frillyar for magic attack"
msgstr "(F) gebruik #frillyar voor magie aanval"
-#: src/gui/statuspopup.cpp:469
+#: src/gui/statuspopup.cpp:476
msgid "(U) use #upmarmu for magic attack"
msgstr "(U) gebruik #upmarmu voor magie aanval"
-#: src/gui/statuspopup.cpp:473
+#: src/gui/statuspopup.cpp:480
msgid "(?) magic attack"
msgstr "(?) magie aanval"
-#: src/gui/statuspopup.cpp:482
+#: src/gui/statuspopup.cpp:489
+msgid "(a) attack all players"
+msgstr ""
+
+#: src/gui/statuspopup.cpp:493
+msgid "(f) attack not friends"
+msgstr ""
+
+#: src/gui/statuspopup.cpp:497
+msgid "(b) attack bad relations"
+msgstr ""
+
+#: src/gui/statuspopup.cpp:501
+msgid "(d) dont attack players"
+msgstr ""
+
+#: src/gui/statuspopup.cpp:505
+msgid "(?) pvp attack"
+msgstr ""
+
+#: src/gui/statuspopup.cpp:514
msgid "(D) default imitation"
msgstr "(D) standaard imitatie"
-#: src/gui/statuspopup.cpp:486
+#: src/gui/statuspopup.cpp:518
msgid "(O) outfits imitation"
msgstr "(O) kleren imitatie"
-#: src/gui/statuspopup.cpp:490
+#: src/gui/statuspopup.cpp:522
msgid "(?) imitation"
msgstr "(?) imitatie"
-#: src/gui/statuspopup.cpp:499
+#: src/gui/statuspopup.cpp:531
msgid "(O) on keyboard"
msgstr "(O) op toetsenbord"
-#: src/gui/statuspopup.cpp:502
+#: src/gui/statuspopup.cpp:534
msgid "(A) away"
msgstr "(A) weg"
-#: src/gui/statuspopup.cpp:505 src/gui/statuspopup.cpp:525
+#: src/gui/statuspopup.cpp:537 src/gui/statuspopup.cpp:557
msgid "(?) away"
msgstr "(?) weg"
-#: src/gui/statuspopup.cpp:513
+#: src/gui/statuspopup.cpp:545
msgid "(G) game camera mode"
msgstr "(G) spel camera modus"
-#: src/gui/statuspopup.cpp:517
+#: src/gui/statuspopup.cpp:549
msgid "(F) free camera mode"
msgstr "(F) vrije camera modus"
-#: src/gui/statuspopup.cpp:521
+#: src/gui/statuspopup.cpp:553
msgid "(D) design camera mode"
msgstr "(D) design camera modus"
-#: src/gui/statuspopup.cpp:532
+#: src/gui/statuspopup.cpp:564
msgid "Game modifiers are disabled"
msgstr ""
-#: src/gui/statuspopup.cpp:537
+#: src/gui/statuspopup.cpp:569
msgid "Game modifiers are enabled"
msgstr ""
-#: src/gui/statuswindow.cpp:143 src/gui/statuswindow.cpp:273
-#: src/gui/statuswindow.cpp:336
+#: src/gui/statuswindow.cpp:144 src/gui/statuswindow.cpp:274
+#: src/gui/statuswindow.cpp:337
#, c-format
msgid "Level: %d"
msgstr "Level: %d"
-#: src/gui/statuswindow.cpp:144 src/gui/statuswindow.cpp:259
-#: src/gui/statuswindow.cpp:303
+#: src/gui/statuswindow.cpp:145 src/gui/statuswindow.cpp:260
+#: src/gui/statuswindow.cpp:304
#, c-format
msgid "Money: %s"
msgstr "Geld: %s"
-#: src/gui/statuswindow.cpp:150
+#: src/gui/statuswindow.cpp:151
msgid "HP:"
msgstr "Leven:"
-#: src/gui/statuswindow.cpp:157
+#: src/gui/statuswindow.cpp:158
msgid "Exp:"
msgstr "Ervaring:"
-#: src/gui/statuswindow.cpp:171
+#: src/gui/statuswindow.cpp:172
msgid "MP:"
msgstr "Magie:"
-#: src/gui/statuswindow.cpp:203 src/gui/statuswindow.cpp:386
+#: src/gui/statuswindow.cpp:204 src/gui/statuswindow.cpp:387
#, c-format
msgid "Job: %d"
msgstr "Job: %d"
-#: src/gui/statuswindow.cpp:204
+#: src/gui/statuswindow.cpp:205
msgid "Job:"
msgstr "Job:"
-#: src/gui/statuswindow.cpp:262 src/gui/statuswindow.cpp:310
+#: src/gui/statuswindow.cpp:263 src/gui/statuswindow.cpp:311
#, c-format
msgid "Character points: %d"
msgstr ""
-#: src/gui/statuswindow.cpp:268
+#: src/gui/statuswindow.cpp:269
#, c-format
msgid "Level: %d (GM %d)"
msgstr "Niveau: %d (GM %d)"
-#: src/gui/statuswindow.cpp:324
+#: src/gui/statuswindow.cpp:325
#, c-format
msgid "Correction points: %d"
msgstr ""
-#: src/gui/statuswindow.cpp:648 src/gui/statuswindow.cpp:716
-#: src/gui/statuswindow.cpp:736 src/gui/statuswindow.cpp:752
-#: src/gui/statuswindow.cpp:798 src/gui/statuswindow.cpp:827
-#: src/gui/statuswindow.cpp:850 src/gui/statuswindow.cpp:869
+#: src/gui/statuswindow.cpp:649 src/gui/statuswindow.cpp:717
+#: src/gui/statuswindow.cpp:737 src/gui/statuswindow.cpp:753
+#: src/gui/statuswindow.cpp:818 src/gui/statuswindow.cpp:847
+#: src/gui/statuswindow.cpp:870 src/gui/statuswindow.cpp:889
msgid "(D)"
msgstr "(D)"
-#: src/gui/statuswindow.cpp:651 src/gui/statuswindow.cpp:777
+#: src/gui/statuswindow.cpp:652 src/gui/statuswindow.cpp:778
msgid "(I)"
msgstr "(I)"
-#: src/gui/statuswindow.cpp:654 src/gui/statuswindow.cpp:774
+#: src/gui/statuswindow.cpp:655 src/gui/statuswindow.cpp:775
msgid "(c)"
msgstr "(c)"
-#: src/gui/statuswindow.cpp:657
+#: src/gui/statuswindow.cpp:658
msgid "(C)"
msgstr "(C)"
-#: src/gui/statuswindow.cpp:660 src/gui/statuswindow.cpp:761
+#: src/gui/statuswindow.cpp:661 src/gui/statuswindow.cpp:762
+#: src/gui/statuswindow.cpp:803
msgid "(d)"
msgstr "(d)"
-#: src/gui/statuswindow.cpp:663 src/gui/statuswindow.cpp:677
-#: src/gui/statuswindow.cpp:709 src/gui/statuswindow.cpp:728
-#: src/gui/statuswindow.cpp:745 src/gui/statuswindow.cpp:764
-#: src/gui/statuswindow.cpp:786 src/gui/statuswindow.cpp:816
-#: src/gui/statuswindow.cpp:842 src/gui/statuswindow.cpp:856
-#: src/gui/statuswindow.cpp:872 src/gui/statuswindow.cpp:885
+#: src/gui/statuswindow.cpp:664 src/gui/statuswindow.cpp:678
+#: src/gui/statuswindow.cpp:710 src/gui/statuswindow.cpp:729
+#: src/gui/statuswindow.cpp:746 src/gui/statuswindow.cpp:765
+#: src/gui/statuswindow.cpp:787 src/gui/statuswindow.cpp:806
+#: src/gui/statuswindow.cpp:836 src/gui/statuswindow.cpp:862
+#: src/gui/statuswindow.cpp:876 src/gui/statuswindow.cpp:892
+#: src/gui/statuswindow.cpp:905
msgid "(?)"
msgstr "(?)"
-#: src/gui/statuswindow.cpp:674 src/gui/statuswindow.cpp:706
+#: src/gui/statuswindow.cpp:675 src/gui/statuswindow.cpp:707
+#: src/gui/statuswindow.cpp:794
msgid "(a)"
msgstr "(a)"
-#: src/gui/statuswindow.cpp:685
+#: src/gui/statuswindow.cpp:686
msgid "(0)"
msgstr "(0)"
-#: src/gui/statuswindow.cpp:688
+#: src/gui/statuswindow.cpp:689
msgid "(1)"
msgstr "(1)"
-#: src/gui/statuswindow.cpp:691
+#: src/gui/statuswindow.cpp:692
msgid "(2)"
msgstr "(2)"
-#: src/gui/statuswindow.cpp:694 src/gui/statuswindow.cpp:804
+#: src/gui/statuswindow.cpp:695 src/gui/statuswindow.cpp:824
msgid "(3)"
msgstr "(3)"
-#: src/gui/statuswindow.cpp:697
+#: src/gui/statuswindow.cpp:698
msgid "(5)"
msgstr "(5)"
-#: src/gui/statuswindow.cpp:700
+#: src/gui/statuswindow.cpp:701
msgid "(7)"
msgstr "(7)"
-#: src/gui/statuswindow.cpp:703 src/gui/statuswindow.cpp:758
-#: src/gui/statuswindow.cpp:813 src/gui/statuswindow.cpp:882
+#: src/gui/statuswindow.cpp:704 src/gui/statuswindow.cpp:759
+#: src/gui/statuswindow.cpp:833 src/gui/statuswindow.cpp:902
msgid "(A)"
msgstr "(A)"
-#: src/gui/statuswindow.cpp:719
+#: src/gui/statuswindow.cpp:720
msgid "(R)"
msgstr "(R)"
-#: src/gui/statuswindow.cpp:722
+#: src/gui/statuswindow.cpp:723
msgid "(M)"
msgstr "(M)"
-#: src/gui/statuswindow.cpp:725
+#: src/gui/statuswindow.cpp:726
msgid "(P)"
msgstr "(P)"
-#: src/gui/statuswindow.cpp:739
+#: src/gui/statuswindow.cpp:740
msgid "(s)"
msgstr "(s)"
-#: src/gui/statuswindow.cpp:742 src/gui/statuswindow.cpp:795
+#: src/gui/statuswindow.cpp:743 src/gui/statuswindow.cpp:815
msgid "(S)"
msgstr "(S)"
-#: src/gui/statuswindow.cpp:755 src/gui/statuswindow.cpp:810
-#: src/gui/statuswindow.cpp:863
+#: src/gui/statuswindow.cpp:756 src/gui/statuswindow.cpp:830
+#: src/gui/statuswindow.cpp:883
msgid "(G)"
msgstr "(G)"
-#: src/gui/statuswindow.cpp:771
+#: src/gui/statuswindow.cpp:772 src/gui/statuswindow.cpp:797
msgid "(f)"
msgstr "(f)"
-#: src/gui/statuswindow.cpp:780 src/gui/statuswindow.cpp:801
-#: src/gui/statuswindow.cpp:866
+#: src/gui/statuswindow.cpp:781 src/gui/statuswindow.cpp:821
+#: src/gui/statuswindow.cpp:886
msgid "(F)"
msgstr "(F)"
-#: src/gui/statuswindow.cpp:783 src/gui/statuswindow.cpp:833
+#: src/gui/statuswindow.cpp:784 src/gui/statuswindow.cpp:853
msgid "(U)"
msgstr "(U)"
-#: src/gui/statuswindow.cpp:807
+#: src/gui/statuswindow.cpp:800 src/gui/statuswindow.cpp:859
+msgid "(b)"
+msgstr "(b)"
+
+#: src/gui/statuswindow.cpp:827
msgid "(g)"
msgstr "(g)"
-#: src/gui/statuswindow.cpp:824
+#: src/gui/statuswindow.cpp:844
msgid "(N)"
msgstr "(N)"
-#: src/gui/statuswindow.cpp:830
+#: src/gui/statuswindow.cpp:850
msgid "(u)"
msgstr "(u)"
-#: src/gui/statuswindow.cpp:836
+#: src/gui/statuswindow.cpp:856
msgid "(e)"
msgstr "(e)"
-#: src/gui/statuswindow.cpp:839
-msgid "(b)"
-msgstr "(b)"
-
-#: src/gui/statuswindow.cpp:853 src/gui/statuswindow.cpp:879
+#: src/gui/statuswindow.cpp:873 src/gui/statuswindow.cpp:899
msgid "(O)"
msgstr "(O)"
@@ -3344,10 +3452,11 @@ msgid "You don't have enough money."
msgstr "Je hebt niet genoeg geld."
#: src/gui/tradewindow.cpp:454
-msgid "Failed adding item. You can not overlap one kind of item on the window."
+msgid ""
+"Failed adding item. You can not overlap one kind of item on the window."
msgstr ""
-"Kan dat voorwerp niet toevoegen. Je kan één type voorwerp niet overlappen in "
-"het venster."
+"Kan dat voorwerp niet toevoegen. Je kan één type voorwerp niet overlappen in"
+" het venster."
#: src/gui/unregisterdialog.cpp:54
#, c-format
@@ -3366,21 +3475,21 @@ msgstr "Verbinden..."
msgid "Play"
msgstr "Spelen"
-#: src/gui/updaterwindow.cpp:564
+#: src/gui/updaterwindow.cpp:565
msgid "##1 The update process is incomplete."
msgstr "##1 Het updateproces is onvolledig."
#. TRANSLATORS: Continues "you try again later.".
-#: src/gui/updaterwindow.cpp:566
+#: src/gui/updaterwindow.cpp:567
msgid "##1 It is strongly recommended that"
msgstr "##1 Het is ten sterkste aanbevolen dat"
#. TRANSLATORS: Begins "It is strongly recommended that".
-#: src/gui/updaterwindow.cpp:568
+#: src/gui/updaterwindow.cpp:569
msgid "##1 you try again later."
msgstr "##1 probeer later opnieuw."
-#: src/gui/updaterwindow.cpp:744
+#: src/gui/updaterwindow.cpp:745
msgid "Completed"
msgstr "Voltooid"
@@ -3732,7 +3841,8 @@ msgid "Command: /unignore <player>"
msgstr "Commando: /unignore <speler>"
#: src/gui/widgets/whispertab.cpp:131
-msgid "This command stops ignoring the other player if they are being ignored."
+msgid ""
+"This command stops ignoring the other player if they are being ignored."
msgstr ""
"Dit commando stop met de andere speler te negeren als deze genegeerd werd."
@@ -3950,7 +4060,7 @@ msgstr "Voorwerpsnelkoppelingstoets"
#: src/keyboardconfig.cpp:116 src/keyboardconfig.cpp:119
#: src/keyboardconfig.cpp:121 src/keyboardconfig.cpp:123
#: src/keyboardconfig.cpp:125 src/keyboardconfig.cpp:127
-#: src/keyboardconfig.cpp:369
+#: src/keyboardconfig.cpp:371
#, c-format
msgid "Item Shortcut %d"
msgstr "Snelkoppeling naar voorwerp %d"
@@ -4077,7 +4187,7 @@ msgstr "Smilie"
#: src/keyboardconfig.cpp:258 src/keyboardconfig.cpp:260
#: src/keyboardconfig.cpp:262 src/keyboardconfig.cpp:264
#: src/keyboardconfig.cpp:266 src/keyboardconfig.cpp:268
-#: src/keyboardconfig.cpp:364
+#: src/keyboardconfig.cpp:366
#, c-format
msgid "Emote Shortcut %d"
msgstr "Emoticon snelkoppeling %d"
@@ -4206,119 +4316,123 @@ msgstr "Gebruik magie aanval"
msgid "Switch magic attack"
msgstr ""
-#: src/keyboardconfig.cpp:328
-msgid "Change move type"
+#: src/keyboardconfig.cpp:329
+msgid "Switch pvp attack"
msgstr ""
#: src/keyboardconfig.cpp:330
-msgid "Change Attack Weapon Type"
+msgid "Change move type"
msgstr ""
#: src/keyboardconfig.cpp:332
-msgid "Change Attack Type"
+msgid "Change Attack Weapon Type"
msgstr ""
#: src/keyboardconfig.cpp:334
-msgid "Change Follow mode"
+msgid "Change Attack Type"
msgstr ""
#: src/keyboardconfig.cpp:336
+msgid "Change Follow mode"
+msgstr ""
+
+#: src/keyboardconfig.cpp:338
msgid "Change Imitation mode"
msgstr ""
-#: src/keyboardconfig.cpp:339
+#: src/keyboardconfig.cpp:341
msgid "Disable / Enable Game modifier keys"
msgstr ""
-#: src/keyboardconfig.cpp:340
+#: src/keyboardconfig.cpp:342
msgid "On / Off audio"
msgstr "Aan / Uit audio"
-#: src/keyboardconfig.cpp:342
+#: src/keyboardconfig.cpp:344
msgid "Enable / Disable away mode"
msgstr ""
-#: src/keyboardconfig.cpp:344
+#: src/keyboardconfig.cpp:346
msgid "Emulate right click from keyboard"
msgstr ""
-#: src/keyboardconfig.cpp:346
+#: src/keyboardconfig.cpp:348
msgid "Toggle camera mode"
msgstr ""
-#: src/keyboardconfig.cpp:348
+#: src/keyboardconfig.cpp:350
msgid "Modifier key"
msgstr ""
-#: src/keyboardconfig.cpp:427
+#: src/keyboardconfig.cpp:429
#, c-format
msgid ""
"Conflict \"%s\" and \"%s\" keys. Resolve them, or gameplay may result in "
"strange behaviour."
msgstr ""
-#: src/localplayer.cpp:381
+#: src/localplayer.cpp:389
msgid "You were killed by "
msgstr "U bent gedoodt door "
-#: src/localplayer.cpp:1428
+#: src/localplayer.cpp:1442
msgid "Tried to pick up nonexistent item."
msgstr "Geprobeerd een nietbestaand voorwerp op te rapen."
-#: src/localplayer.cpp:1430
+#: src/localplayer.cpp:1444
msgid "Item is too heavy."
msgstr "Voorwerp is te zwaar."
-#: src/localplayer.cpp:1432
+#: src/localplayer.cpp:1446
msgid "Item is too far away."
msgstr "Voorwerp is te ver weg."
-#: src/localplayer.cpp:1434
+#: src/localplayer.cpp:1448
msgid "Inventory is full."
msgstr ""
-#: src/localplayer.cpp:1436
+#: src/localplayer.cpp:1450
msgid "Stack is too big."
msgstr ""
-#: src/localplayer.cpp:1439
+#: src/localplayer.cpp:1453
msgid "Item belongs to someone else."
msgstr "Voorwerp behoort bij iemand anders."
-#: src/localplayer.cpp:1442
+#: src/localplayer.cpp:1456
msgid "Unknown problem picking up item."
msgstr "Onbekend probleem bij het oprapen van voorwerp."
#. TRANSLATORS: %d is number,
#. [@@%d|%s@@] - here player can see link to item
-#: src/localplayer.cpp:1466
+#: src/localplayer.cpp:1480
#, c-format
msgid "You picked up %d [@@%d|%s@@]."
msgid_plural "You picked up %d [@@%d|%s@@]."
msgstr[0] "U raapte op %d [@@%d|%s@@]."
msgstr[1] "U raapte op %d [@@%d|%s@@]."
-#: src/localplayer.cpp:3181
+#: src/localplayer.cpp:3206
msgid "Away"
msgstr "Weg"
-#: src/localplayer.cpp:3509
+#: src/localplayer.cpp:3541
msgid "Follow: "
msgstr "Volg: "
-#: src/localplayer.cpp:3511 src/localplayer.cpp:3526
+#: src/localplayer.cpp:3543 src/localplayer.cpp:3558
msgid "Follow canceled"
msgstr "Volgen onderbroken"
-#: src/localplayer.cpp:3518
+#: src/localplayer.cpp:3550
msgid "Imitation: "
msgstr "Imitatie: "
-#: src/localplayer.cpp:3520 src/localplayer.cpp:3528
+#: src/localplayer.cpp:3552 src/localplayer.cpp:3560
msgid "Imitation canceled"
msgstr "Imitatie onderbroken"
-#: src/localplayer.cpp:3876
+#: src/localplayer.cpp:3908
msgid "You see "
msgstr ""
@@ -4687,8 +4801,8 @@ msgid ""
"\"0\", \"no\", \"false\" to disable item sharing."
msgstr ""
"<beleid> kan een van de volgende zijn om voorwerpdeling in te schakelen: "
-"\"1\", \"yes\", \"true\". Of om voorwerpdeling uit te schakelen: \"0\", \"no"
-"\", \"false\"."
+"\"1\", \"yes\", \"true\". Of om voorwerpdeling uit te schakelen: \"0\", "
+"\"no\", \"false\"."
#: src/net/ea/gui/partytab.cpp:101
msgid "Command: /item"
@@ -5011,7 +5125,8 @@ msgstr "Bericht"
#: src/net/ea/playerhandler.cpp:336
msgid ""
-"You are carrying more than half your weight. You are unable to regain health."
+"You are carrying more than half your weight. You are unable to regain "
+"health."
msgstr ""
"Je draagt meer dan de helft van jouw eigen gewicht. Je kan geen leven "
"herstellen."
@@ -5123,54 +5238,54 @@ msgstr "Gif had geen effect..."
msgid "%s wants to trade with you, do you accept?"
msgstr "%s wil met jou handelen, aanvaard je dit?"
-#: src/net/ea/tradehandler.cpp:134
+#: src/net/ea/tradehandler.cpp:135
msgid "Trading isn't possible. Trade partner is too far away."
msgstr "Handelen is niet mogelijk. Partner is te ver weg."
-#: src/net/ea/tradehandler.cpp:138
+#: src/net/ea/tradehandler.cpp:139
msgid "Trading isn't possible. Character doesn't exist."
msgstr "Handelen is niet mogelijk. Personage bestaat niet."
-#: src/net/ea/tradehandler.cpp:142
+#: src/net/ea/tradehandler.cpp:143
msgid "Trade cancelled due to an unknown reason."
msgstr "Handel onderbroken vanwege een onbekende reden."
-#: src/net/ea/tradehandler.cpp:148
+#: src/net/ea/tradehandler.cpp:149
#, c-format
msgid "Trade: You and %s"
msgstr "Handelen: Jij en %s"
-#: src/net/ea/tradehandler.cpp:158
+#: src/net/ea/tradehandler.cpp:159
#, c-format
msgid "Trade with %s cancelled."
msgstr "Handel met %s geannuleerd."
-#: src/net/ea/tradehandler.cpp:171
+#: src/net/ea/tradehandler.cpp:172
msgid "Unhandled trade cancel packet."
msgstr ""
-#: src/net/ea/tradehandler.cpp:236
+#: src/net/ea/tradehandler.cpp:237
msgid "Failed adding item. Trade partner is over weighted."
msgstr "Kan voorwerp niet toevoegen. Handelspartner is al te zwaar beladen."
-#: src/net/ea/tradehandler.cpp:241
+#: src/net/ea/tradehandler.cpp:242
msgid "Failed adding item. Trade partner has no free slot."
msgstr "Kan voorwerp niet toevoegen. Handelspartner heeft geen vrij slot."
-#: src/net/ea/tradehandler.cpp:246
+#: src/net/ea/tradehandler.cpp:247
msgid "Failed adding item. You can't trade this item."
msgstr ""
"Gefaald om voorwerp toe te voegen. U kan dit voorwerp niet verhandelen."
-#: src/net/ea/tradehandler.cpp:250
+#: src/net/ea/tradehandler.cpp:251
msgid "Failed adding item for unknown reason."
msgstr "Kan voorwerp niet toevoegen voor een onbekende reden."
-#: src/net/ea/tradehandler.cpp:269 src/net/manaserv/tradehandler.cpp:160
+#: src/net/ea/tradehandler.cpp:270 src/net/manaserv/tradehandler.cpp:160
msgid "Trade canceled."
msgstr "Handel geannuleerd."
-#: src/net/ea/tradehandler.cpp:280 src/net/manaserv/tradehandler.cpp:167
+#: src/net/ea/tradehandler.cpp:281 src/net/manaserv/tradehandler.cpp:167
msgid "Trade completed."
msgstr "Handel voltooid."
@@ -5396,7 +5511,8 @@ msgstr "Het nieuwe email adres bestaat reeds."
msgid ""
"Client registration is not allowed. Please contact server administration."
msgstr ""
-"Client registratie is niet toegestaan. Contacteer aub de server adminstratie."
+"Client registratie is niet toegestaan. Contacteer aub de server "
+"adminstratie."
#: src/net/manaserv/loginhandler.cpp:275 src/net/manaserv/loginhandler.cpp:312
msgid "Client version is too old."
@@ -5590,15 +5706,15 @@ msgstr "Aanvalsbereik"
msgid "Damage per sec."
msgstr ""
-#: src/net/tmwa/network.cpp:152
+#: src/net/tmwa/network.cpp:153
msgid "Empty address given to Network::connect()!"
msgstr "Leeg adres gegeven aan Network::connect()!"
-#: src/net/tmwa/network.cpp:356
+#: src/net/tmwa/network.cpp:357
msgid "Unable to resolve host \""
msgstr "Niet mogelijk te resolven van host \""
-#: src/net/tmwa/network.cpp:426
+#: src/net/tmwa/network.cpp:427
msgid "Connection to server terminated. "
msgstr "Verbinding met server beëindigd. "
@@ -5607,19 +5723,19 @@ msgstr "Verbinding met server beëindigd. "
msgid "%s is not in your party!"
msgstr "%s is niet in jouw groep!"
-#: src/playerrelations.cpp:435
+#: src/playerrelations.cpp:460
msgid "Print '...'"
msgstr "Say '...'"
-#: src/playerrelations.cpp:455
+#: src/playerrelations.cpp:480
msgid "Blink name"
msgstr "Blink naam"
-#: src/playerrelations.cpp:499
+#: src/playerrelations.cpp:524
msgid "Floating '...' bubble"
msgstr "Zwevende '...' bel"
-#: src/playerrelations.cpp:502
+#: src/playerrelations.cpp:527
msgid "Floating bubble"
msgstr "Zwevende bel"
@@ -5651,3 +5767,5 @@ msgstr "Magie %+d"
#: src/resources/itemdb.cpp:169
msgid "Unknown item"
msgstr "Onbekend voorwerp"
+
+
diff --git a/po/pt.po b/po/pt.po
index 6a197f72c..2f877ee1a 100644
--- a/po/pt.po
+++ b/po/pt.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR The ManaPlus Developers
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
# Andrei Karas <akaras@inbox.ru>, 2011.
# <freya.df@gmail.com>, 2011.
@@ -10,80 +10,79 @@ msgid ""
msgstr ""
"Project-Id-Version: ManaPlus\n"
"Report-Msgid-Bugs-To: akaras@inbox.ru\n"
-"POT-Creation-Date: 2011-10-28 03:52+0300\n"
-"PO-Revision-Date: 2011-10-29 02:01+0000\n"
-"Last-Translator: freya <freya.df@gmail.com>\n"
-"Language-Team: Portuguese (http://www.transifex.net/projects/p/manaplus/team/"
-"pt/)\n"
-"Language: pt\n"
+"POT-Creation-Date: 2011-11-12 00:23+0300\n"
+"PO-Revision-Date: 2011-11-11 21:38+0000\n"
+"Last-Translator: akaras <akaras@inbox.ru>\n"
+"Language-Team: Portuguese (http://www.transifex.net/projects/p/manaplus/team/pt/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Language: pt\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
#: src/actorspritemanager.cpp:1171
msgid "Visible on map"
msgstr "Visivel no mapa"
-#: src/being.cpp:548
+#: src/being.cpp:551
msgid "dodge"
msgstr "desviou"
-#: src/being.cpp:548
+#: src/being.cpp:551
msgid "miss"
msgstr "errou"
#. TRANSLATORS: this away status writed in player nick
-#: src/being.cpp:1527
+#: src/being.cpp:1530
msgid "A"
msgstr "A"
#. TRANSLATORS: this inactive status writed in player nick
-#: src/being.cpp:1532
+#: src/being.cpp:1535
msgid "I"
msgstr "l"
-#: src/client.cpp:835 src/gui/setup.cpp:54 src/gui/windowmenu.cpp:100
+#: src/client.cpp:869 src/gui/setup.cpp:54 src/gui/windowmenu.cpp:100
msgid "Setup"
msgstr "Configurar"
-#: src/client.cpp:842 src/gui/setup_perfomance.cpp:48
+#: src/client.cpp:876 src/gui/setup_perfomance.cpp:48
msgid "Perfomance"
msgstr "Performance"
-#: src/client.cpp:847 src/gui/setup_video.cpp:315
+#: src/client.cpp:881 src/gui/setup_video.cpp:315
msgid "Video"
msgstr "Vídeo"
-#: src/client.cpp:852
+#: src/client.cpp:886
msgid "Themes"
msgstr "Temas"
-#: src/client.cpp:934
+#: src/client.cpp:968
msgid "Connecting to server"
msgstr "Conectando ao servidor"
-#: src/client.cpp:965
+#: src/client.cpp:999
msgid "Logging in"
msgstr "Efetuando login"
-#: src/client.cpp:998
+#: src/client.cpp:1032
msgid "Entering game world"
msgstr "Entrando no domínio do jogo"
-#: src/client.cpp:1098
+#: src/client.cpp:1132
msgid "Requesting characters"
msgstr "Requisitando personagens"
-#: src/client.cpp:1129
+#: src/client.cpp:1163
msgid "Connecting to the game server"
msgstr "Conectando ao servidor do jogo"
-#: src/client.cpp:1139
+#: src/client.cpp:1173
msgid "Changing game servers"
msgstr "Mudando servidores do jogo"
-#: src/client.cpp:1182 src/client.cpp:1189 src/client.cpp:1323
+#: src/client.cpp:1216 src/client.cpp:1223 src/client.cpp:1357
#: src/gui/changeemaildialog.cpp:157 src/gui/changepassworddialog.cpp:147
#: src/gui/charcreatedialog.cpp:221 src/gui/charselectdialog.cpp:253
#: src/gui/register.cpp:228 src/gui/serverdialog.cpp:401
@@ -93,229 +92,232 @@ msgstr "Mudando servidores do jogo"
msgid "Error"
msgstr "Erro"
-#: src/client.cpp:1198
+#: src/client.cpp:1232
msgid "Requesting registration details"
msgstr "Requisitando detalhes do registro"
-#: src/client.cpp:1224
+#: src/client.cpp:1258
msgid "Password Change"
msgstr "Mudar senha"
-#: src/client.cpp:1225
+#: src/client.cpp:1259
msgid "Password changed successfully!"
msgstr "Senha modificada com sucesso!"
-#: src/client.cpp:1244
+#: src/client.cpp:1278
msgid "Email Change"
msgstr "Mudar email"
-#: src/client.cpp:1245
+#: src/client.cpp:1279
msgid "Email changed successfully!"
msgstr "Email modificado com sucesso!"
-#: src/client.cpp:1265
+#: src/client.cpp:1299
msgid "Unregister Successful"
msgstr "Registro cancelado com sucesso"
-#: src/client.cpp:1266
+#: src/client.cpp:1300
msgid "Farewell, come back any time..."
msgstr "Tchau, volte sempre..."
-#: src/client.cpp:1465 src/client.cpp:1495 src/client.cpp:1510
-#: src/client.cpp:1935 src/client.cpp:1942
+#: src/client.cpp:1499 src/client.cpp:1529 src/client.cpp:1544
+#: src/client.cpp:1969 src/client.cpp:1976
#, c-format
msgid "%s doesn't exist and can't be created! Exiting."
msgstr "%s não existe e não pode ser criado! Saindo."
-#: src/client.cpp:1641
+#: src/client.cpp:1675
#, c-format
msgid "Invalid update host: %s"
msgstr "Host de atualização inválido: %s"
-#: src/client.cpp:1675 src/client.cpp:1681
+#: src/client.cpp:1709 src/client.cpp:1715
msgid "Error creating updates directory!"
msgstr "Erro ao criar pasta de atualizações!"
-#: src/client.cpp:1702
+#: src/client.cpp:1736
#, c-format
msgid "Error: %s doesn't exist and can't be created! Exiting."
msgstr "Erro: %s não existe e não pode se criado! Saindo."
-#: src/commandhandler.cpp:205
+#: src/commandhandler.cpp:209
msgid "Unknown command."
msgstr "Comando desconhecido."
-#: src/commandhandler.cpp:304
+#: src/commandhandler.cpp:329
msgid "Cannot send empty whispers!"
msgstr "Não é possível enviar mensagens privadas vazias!"
-#: src/commandhandler.cpp:318
+#: src/commandhandler.cpp:343
#, c-format
msgid ""
-"Cannot create a whisper tab for nick \"%s\"! It either already exists, or is "
-"you."
+"Cannot create a whisper tab for nick \"%s\"! It either already exists, or is"
+" you."
msgstr ""
-"Não é possível criar uma aba de mensagem privada para o nick \"%s\"! Ou ela "
-"já existe ou é você mesmo."
+"Não é possível criar uma aba de mensagem privada para o nick \"%s\"! Ou ela"
+" já existe ou é você mesmo."
-#: src/commandhandler.cpp:338
+#: src/commandhandler.cpp:363
#, c-format
msgid "Requesting to join channel %s."
msgstr "Solicitando entrada no canal %s."
-#: src/commandhandler.cpp:354 src/net/ea/gui/partytab.cpp:125
+#: src/commandhandler.cpp:379 src/net/ea/gui/partytab.cpp:125
msgid "Party name is missing."
msgstr "Falta o nome do grupo."
-#: src/commandhandler.cpp:365
+#: src/commandhandler.cpp:390
msgid "Guild name is missing."
msgstr "Falta o nome da guilda."
-#: src/commandhandler.cpp:378 src/commandhandler.cpp:496
-#: src/commandhandler.cpp:537 src/commandhandler.cpp:572
+#: src/commandhandler.cpp:403 src/commandhandler.cpp:521
+#: src/commandhandler.cpp:562 src/commandhandler.cpp:602
msgid "Please specify a name."
msgstr "Por favor, especifique um nome."
-#: src/commandhandler.cpp:430
+#: src/commandhandler.cpp:455
msgid "Return toggles chat."
msgstr "Enter alterna para o chat."
-#: src/commandhandler.cpp:430
+#: src/commandhandler.cpp:455
msgid "Message closes chat."
msgstr "A mensagem fecha o chat."
-#: src/commandhandler.cpp:441
+#: src/commandhandler.cpp:466
msgid "Return now toggles chat."
msgstr "Agora Enter alterna para o chat."
-#: src/commandhandler.cpp:447
+#: src/commandhandler.cpp:472
msgid "Message now closes chat."
msgstr "Agora a mensagem fecha o chat."
-#: src/commandhandler.cpp:475
+#: src/commandhandler.cpp:500
msgid "friend"
msgstr "amigo"
-#: src/commandhandler.cpp:480
+#: src/commandhandler.cpp:505
msgid "disregarded"
msgstr "ignorado"
-#: src/commandhandler.cpp:485
+#: src/commandhandler.cpp:510
msgid "neutral"
msgstr "neutro"
-#: src/commandhandler.cpp:504
+#: src/commandhandler.cpp:529
#, c-format
msgid "Player already %s!"
msgstr "Jogador já %s!"
-#: src/commandhandler.cpp:518
+#: src/commandhandler.cpp:543
#, c-format
msgid "Player successfully %s!"
msgstr "Jogador %s com sucesso!"
-#: src/commandhandler.cpp:526
+#: src/commandhandler.cpp:551
#, c-format
msgid "Player could not be %s!"
msgstr "Jogador não pode ser %s!"
-#: src/commandhandler.cpp:549
+#: src/commandhandler.cpp:574
msgid "Player wasn't ignored!"
msgstr "O jogador não estava ignorado!"
-#: src/commandhandler.cpp:556
+#: src/commandhandler.cpp:581
msgid "Player no longer ignored!"
msgstr "O jogador não está mais ignorado!"
-#: src/commandhandler.cpp:558
+#: src/commandhandler.cpp:583
msgid "Player could not be unignored!"
msgstr "Não foi possível deixar de ignorar o jogador!"
-#: src/commandhandler.cpp:564
+#: src/commandhandler.cpp:589
msgid "blacklisted"
msgstr "Na Lista Negra"
-#: src/commandhandler.cpp:579
+#: src/commandhandler.cpp:594
+msgid "enemy"
+msgstr ""
+
+#: src/commandhandler.cpp:609
msgid "Player already erased!"
msgstr "Jogador já apagado!"
-#: src/commandhandler.cpp:590
+#: src/commandhandler.cpp:620
msgid "Player successfully erased!"
msgstr "Jogador apagado com sucesso!"
-#: src/commandhandler.cpp:592
+#: src/commandhandler.cpp:622
msgid "Player could not be erased!"
msgstr "Jogador não pode ser apagado!"
-#: src/commandhandler.cpp:892 src/commandhandler.cpp:938
+#: src/commandhandler.cpp:929 src/commandhandler.cpp:975
#, c-format
msgid "Client uptime: %s"
msgstr "Uptime do cliente: %s"
-#: src/commandhandler.cpp:902
+#: src/commandhandler.cpp:939
#, c-format
msgid "%d week"
msgid_plural "%d weeks"
msgstr[0] "%d semana"
msgstr[1] "%d semanas"
-#: src/commandhandler.cpp:911
+#: src/commandhandler.cpp:948
#, c-format
msgid "%d day"
msgid_plural "%d days"
msgstr[0] "%d dia"
msgstr[1] "%d dias"
-#: src/commandhandler.cpp:919
+#: src/commandhandler.cpp:956
#, c-format
msgid "%d hour"
msgid_plural "%d hours"
msgstr[0] "%d hora"
msgstr[1] "%d horas"
-#: src/commandhandler.cpp:927
+#: src/commandhandler.cpp:964
#, c-format
msgid "%d minute"
msgid_plural "%d minutes"
msgstr[0] "%d minuto"
msgstr[1] "%d minutos"
-#: src/commandhandler.cpp:935
+#: src/commandhandler.cpp:972
#, c-format
msgid "%d second"
msgid_plural "%d seconds"
msgstr[0] "%d segundo"
msgstr[1] "%d segundos"
-#: src/commandhandler.cpp:1014
+#: src/commandhandler.cpp:1051
msgid "font cache size"
msgstr "Tamanho do cache de fonte"
-#: src/commandhandler.cpp:1026
+#: src/commandhandler.cpp:1063
msgid "Cache size:"
msgstr "Tamanho de Cache:"
-#: src/commandhandler.cpp:1030
+#: src/commandhandler.cpp:1067
msgid "Created:"
msgstr "Criado:"
-#: src/commandhandler.cpp:1032
+#: src/commandhandler.cpp:1069
msgid "Deleted:"
msgstr "Deletado:"
-#: src/commandhandler.cpp:1133 src/commandhandler.cpp:1140
+#: src/commandhandler.cpp:1171 src/commandhandler.cpp:1178
msgid "Resource images:"
msgstr "Recursos de imagens:"
-#: src/commandhandler.cpp:1135 src/commandhandler.cpp:1142
+#: src/commandhandler.cpp:1173 src/commandhandler.cpp:1180
msgid "Resource orphaned images:"
msgstr "Recursos de imagens orfãos:"
#: src/commandhandler.h:40
#, c-format
msgid "Options to /%s are \"yes\", \"no\", \"true\", \"false\", \"1\", \"0\"."
-msgstr ""
-"Opções para /%s são \"yes\" e \"no\", \"true\" e \"false\", \"1\" e \"0\"."
+msgstr "Opções para /%s são \"yes\" e \"no\", \"true\" e \"false\", \"1\" e \"0\"."
#: src/game.cpp:252 src/gui/widgets/chattab.cpp:403
msgid "General"
@@ -325,35 +327,35 @@ msgstr "Geral"
msgid "Debug"
msgstr "Depurador"
-#: src/game.cpp:513
+#: src/game.cpp:506
msgid "Screenshot saved as "
msgstr "Screenshot salva como "
-#: src/game.cpp:521
+#: src/game.cpp:514
msgid "Saving screenshot failed!"
msgstr "Falha ao salvar screenshot!"
-#: src/game.cpp:560
+#: src/game.cpp:554
msgid "The connection to the server was lost."
msgstr "A conexão com o servidor caiu."
-#: src/game.cpp:572
+#: src/game.cpp:557
msgid "Network Error"
msgstr "Erro de conexão"
-#: src/game.cpp:1322
+#: src/game.cpp:1332
msgid "Ignoring incoming trade requests"
msgstr "Ignorando propostas de negócios"
-#: src/game.cpp:1332
+#: src/game.cpp:1342
msgid "Accepting incoming trade requests"
msgstr "Aceitando propostas de negócios"
-#: src/game.cpp:1732
+#: src/game.cpp:1750
msgid "Could Not Load Map"
msgstr "Não foi possível carregar o mapa"
-#: src/game.cpp:1733
+#: src/game.cpp:1751
#, c-format
msgid "Error while loading %s"
msgstr "Erro ao carregar %s"
@@ -387,19 +389,19 @@ msgid "Name"
msgstr "Nome"
#: src/gui/botcheckerwindow.cpp:297 src/gui/popupmenu.cpp:133
-#: src/gui/popupmenu.cpp:292 src/gui/popupmenu.cpp:614
+#: src/gui/popupmenu.cpp:303 src/gui/popupmenu.cpp:636
#: src/keyboardconfig.cpp:49 src/net/tmwa/generalhandler.cpp:269
msgid "Attack"
msgstr "Atacar"
-#: src/gui/botcheckerwindow.cpp:298 src/gui/popupmenu.cpp:281
+#: src/gui/botcheckerwindow.cpp:298 src/gui/popupmenu.cpp:292
#: src/keyboardconfig.cpp:62
msgid "Talk"
msgstr "Falar"
-#: src/gui/botcheckerwindow.cpp:299 src/gui/popupmenu.cpp:253
-#: src/gui/popupmenu.cpp:285 src/gui/popupmenu.cpp:437
-#: src/gui/popupmenu.cpp:669 src/gui/popupmenu.cpp:756
+#: src/gui/botcheckerwindow.cpp:299 src/gui/popupmenu.cpp:264
+#: src/gui/popupmenu.cpp:296 src/gui/popupmenu.cpp:459
+#: src/gui/popupmenu.cpp:702 src/gui/popupmenu.cpp:789
msgid "Move"
msgstr "Mover"
@@ -412,8 +414,8 @@ msgid "Reset"
msgstr "Resetar"
#: src/gui/buydialog.cpp:58 src/gui/buydialog.cpp:65 src/gui/buydialog.cpp:112
-#: src/gui/buyselldialog.cpp:65 src/gui/popupmenu.cpp:265
-#: src/gui/popupmenu.cpp:282 src/gui/popupmenu.cpp:681
+#: src/gui/buyselldialog.cpp:65 src/gui/popupmenu.cpp:276
+#: src/gui/popupmenu.cpp:293 src/gui/popupmenu.cpp:714
msgid "Buy"
msgstr "Comprar"
@@ -431,7 +433,7 @@ msgstr "Quantidade:"
#. You may change this symbol if your language uses another.
#: src/gui/buydialog.cpp:108 src/gui/itemamountwindow.cpp:207
#: src/gui/itemamountwindow.cpp:235 src/gui/npcdialog.cpp:114
-#: src/gui/selldialog.cpp:91 src/gui/statuswindow.cpp:977
+#: src/gui/selldialog.cpp:91 src/gui/statuswindow.cpp:998
msgid "+"
msgstr "+"
@@ -439,7 +441,7 @@ msgstr "+"
#. You may change this symbol if your language uses another.
#: src/gui/buydialog.cpp:111 src/gui/itemamountwindow.cpp:206
#: src/gui/itemamountwindow.cpp:234 src/gui/npcdialog.cpp:115
-#: src/gui/selldialog.cpp:92 src/gui/statuswindow.cpp:989
+#: src/gui/selldialog.cpp:92 src/gui/statuswindow.cpp:1010
msgid "-"
msgstr "-"
@@ -451,8 +453,8 @@ msgid "Quit"
msgstr "Sair"
#: src/gui/buydialog.cpp:114 src/gui/selldialog.cpp:95
-#: src/gui/statuswindow.cpp:504 src/gui/statuswindow.cpp:554
-#: src/gui/statuswindow.cpp:976 src/gui/statuswindow.cpp:1007
+#: src/gui/statuswindow.cpp:505 src/gui/statuswindow.cpp:555
+#: src/gui/statuswindow.cpp:997 src/gui/statuswindow.cpp:1028
msgid "Max"
msgstr "Máximo"
@@ -461,8 +463,8 @@ msgstr "Máximo"
msgid "Shop"
msgstr "Loja"
-#: src/gui/buyselldialog.cpp:65 src/gui/popupmenu.cpp:266
-#: src/gui/popupmenu.cpp:283 src/gui/popupmenu.cpp:682
+#: src/gui/buyselldialog.cpp:65 src/gui/popupmenu.cpp:277
+#: src/gui/popupmenu.cpp:294 src/gui/popupmenu.cpp:715
#: src/gui/selldialog.cpp:53 src/gui/selldialog.cpp:60
#: src/gui/selldialog.cpp:93
msgid "Sell"
@@ -471,15 +473,15 @@ msgstr "Vender"
#: src/gui/buyselldialog.cpp:65 src/gui/changeemaildialog.cpp:59
#: src/gui/changepassworddialog.cpp:61 src/gui/charcreatedialog.cpp:96
#: src/gui/connectiondialog.cpp:47 src/gui/itemamountwindow.cpp:209
-#: src/gui/npcpostdialog.cpp:58 src/gui/popupmenu.cpp:333
-#: src/gui/popupmenu.cpp:354 src/gui/popupmenu.cpp:478
-#: src/gui/popupmenu.cpp:504 src/gui/popupmenu.cpp:528
-#: src/gui/popupmenu.cpp:541 src/gui/popupmenu.cpp:559
-#: src/gui/popupmenu.cpp:772 src/gui/popupmenu.cpp:796
-#: src/gui/popupmenu.cpp:1732 src/gui/popupmenu.cpp:1760
-#: src/gui/popupmenu.cpp:1816 src/gui/popupmenu.cpp:1861
-#: src/gui/popupmenu.cpp:1896 src/gui/popupmenu.cpp:1935
-#: src/gui/popupmenu.cpp:1987 src/gui/popupmenu.cpp:2007
+#: src/gui/npcpostdialog.cpp:58 src/gui/popupmenu.cpp:344
+#: src/gui/popupmenu.cpp:365 src/gui/popupmenu.cpp:500
+#: src/gui/popupmenu.cpp:526 src/gui/popupmenu.cpp:550
+#: src/gui/popupmenu.cpp:563 src/gui/popupmenu.cpp:581
+#: src/gui/popupmenu.cpp:805 src/gui/popupmenu.cpp:829
+#: src/gui/popupmenu.cpp:1775 src/gui/popupmenu.cpp:1803
+#: src/gui/popupmenu.cpp:1859 src/gui/popupmenu.cpp:1904
+#: src/gui/popupmenu.cpp:1939 src/gui/popupmenu.cpp:1978
+#: src/gui/popupmenu.cpp:2030 src/gui/popupmenu.cpp:2050
#: src/gui/quitdialog.cpp:55 src/gui/register.cpp:82 src/gui/setup.cpp:72
#: src/gui/socialwindow.cpp:1077 src/gui/textcommandeditor.cpp:241
#: src/gui/textdialog.cpp:51 src/gui/unregisterdialog.cpp:59
@@ -650,7 +652,7 @@ msgid "Enter password:"
msgstr "Entre com a senha"
#: src/gui/charselectdialog.cpp:410 src/gui/serverdialog.cpp:298
-#: src/gui/setup_relations.cpp:243 src/gui/shopwindow.cpp:122
+#: src/gui/setup_relations.cpp:244 src/gui/shopwindow.cpp:122
#: src/gui/shopwindow.cpp:125 src/gui/textcommandeditor.cpp:244
msgid "Delete"
msgstr "Excluir"
@@ -726,8 +728,9 @@ msgstr "arco-íris 3"
#: src/gui/chatwindow.cpp:142 src/gui/inventorywindow.cpp:90
#: src/gui/itemamountwindow.cpp:93 src/gui/logindialog.cpp:78
-#: src/gui/setup_relations.cpp:221 src/gui/setup_theme.cpp:73
-#: src/gui/setup_theme.cpp:127 src/gui/setup_video.cpp:211
+#: src/gui/setup_joystick.cpp:60 src/gui/setup_relations.cpp:222
+#: src/gui/setup_theme.cpp:74 src/gui/setup_theme.cpp:128
+#: src/gui/setup_theme.cpp:173 src/gui/setup_video.cpp:211
#: src/gui/textcommandeditor.cpp:102 src/gui/textcommandeditor.cpp:141
#: src/gui/textcommandeditor.cpp:160
msgid "???"
@@ -737,12 +740,12 @@ msgstr "???"
msgid "Chat"
msgstr "Chat"
-#: src/gui/chatwindow.cpp:613
+#: src/gui/chatwindow.cpp:615
#, c-format
msgid "Present: %s; %d players are present."
msgstr "Presentes: %s; %d jogadores estão presentes."
-#: src/gui/chatwindow.cpp:1000
+#: src/gui/chatwindow.cpp:1002
#, c-format
msgid "Whispering to %s: %s"
msgstr "Enviando MP para %s: %s"
@@ -756,10 +759,12 @@ msgid "No"
msgstr "Não"
#: src/gui/confirmdialog.cpp:52 src/gui/popupmenu.cpp:146
-#: src/gui/popupmenu.cpp:153 src/gui/popupmenu.cpp:161
-#: src/gui/popupmenu.cpp:380 src/gui/popupmenu.cpp:387
-#: src/gui/popupmenu.cpp:395 src/gui/popupmenu.cpp:626
-#: src/gui/popupmenu.cpp:633 src/gui/popupmenu.cpp:641
+#: src/gui/popupmenu.cpp:154 src/gui/popupmenu.cpp:163
+#: src/gui/popupmenu.cpp:171 src/gui/popupmenu.cpp:391
+#: src/gui/popupmenu.cpp:399 src/gui/popupmenu.cpp:408
+#: src/gui/popupmenu.cpp:427 src/gui/popupmenu.cpp:648
+#: src/gui/popupmenu.cpp:656 src/gui/popupmenu.cpp:665
+#: src/gui/popupmenu.cpp:679
msgid "Ignore"
msgstr "Ignora"
@@ -905,7 +910,7 @@ msgstr "Você sabia?"
#: src/gui/didyouknowwindow.cpp:63 src/gui/helpwindow.cpp:59
#: src/gui/inventorywindow.cpp:205 src/gui/npcdialog.cpp:53
-#: src/gui/popupmenu.cpp:574 src/gui/shopwindow.cpp:113
+#: src/gui/popupmenu.cpp:596 src/gui/shopwindow.cpp:113
msgid "Close"
msgstr "Fechar"
@@ -932,8 +937,8 @@ msgstr "Equipamento"
#: src/gui/equipmentwindow.cpp:95 src/gui/inventorywindow.cpp:160
#: src/gui/inventorywindow.cpp:545 src/gui/inventorywindow.cpp:554
-#: src/gui/popupmenu.cpp:1694 src/gui/popupmenu.cpp:1786
-#: src/gui/popupmenu.cpp:1831
+#: src/gui/popupmenu.cpp:1737 src/gui/popupmenu.cpp:1829
+#: src/gui/popupmenu.cpp:1874
msgid "Unequip"
msgstr "Desequipar"
@@ -975,31 +980,31 @@ msgid "Filter:"
msgstr "Filtro:"
#: src/gui/inventorywindow.cpp:158 src/gui/inventorywindow.cpp:547
-#: src/gui/inventorywindow.cpp:556 src/gui/popupmenu.cpp:1696
-#: src/gui/popupmenu.cpp:1788 src/gui/popupmenu.cpp:1833
+#: src/gui/inventorywindow.cpp:556 src/gui/popupmenu.cpp:1739
+#: src/gui/popupmenu.cpp:1831 src/gui/popupmenu.cpp:1876
msgid "Equip"
msgstr "Equipar"
#: src/gui/inventorywindow.cpp:159 src/gui/inventorywindow.cpp:548
-#: src/gui/inventorywindow.cpp:552 src/gui/popupmenu.cpp:1700
-#: src/gui/popupmenu.cpp:1755 src/gui/popupmenu.cpp:1792
-#: src/gui/popupmenu.cpp:1837
+#: src/gui/inventorywindow.cpp:552 src/gui/popupmenu.cpp:1743
+#: src/gui/popupmenu.cpp:1798 src/gui/popupmenu.cpp:1835
+#: src/gui/popupmenu.cpp:1880
msgid "Use"
msgstr "Usar"
#: src/gui/inventorywindow.cpp:173 src/gui/inventorywindow.cpp:652
-#: src/gui/popupmenu.cpp:1705 src/gui/popupmenu.cpp:1797
-#: src/gui/popupmenu.cpp:1842
+#: src/gui/popupmenu.cpp:1748 src/gui/popupmenu.cpp:1840
+#: src/gui/popupmenu.cpp:1885
msgid "Drop..."
msgstr "Descartar..."
-#: src/gui/inventorywindow.cpp:174 src/gui/popupmenu.cpp:1714
-#: src/gui/popupmenu.cpp:1806 src/gui/popupmenu.cpp:1851
+#: src/gui/inventorywindow.cpp:174 src/gui/popupmenu.cpp:1757
+#: src/gui/popupmenu.cpp:1849 src/gui/popupmenu.cpp:1894
msgid "Split"
msgstr "Dividir"
#: src/gui/inventorywindow.cpp:175 src/gui/outfitwindow.cpp:60
-#: src/gui/popupmenu.cpp:537
+#: src/gui/popupmenu.cpp:559
msgid "Outfits"
msgstr "Roupas"
@@ -1008,17 +1013,17 @@ msgid "Weight:"
msgstr "Peso:"
#: src/gui/inventorywindow.cpp:203 src/gui/inventorywindow.cpp:643
-#: src/gui/popupmenu.cpp:1680 src/gui/popupmenu.cpp:1809
-#: src/gui/popupmenu.cpp:1854 src/gui/setup.cpp:73
+#: src/gui/popupmenu.cpp:1723 src/gui/popupmenu.cpp:1852
+#: src/gui/popupmenu.cpp:1897 src/gui/setup.cpp:73
msgid "Store"
msgstr "Armazenar"
-#: src/gui/inventorywindow.cpp:204 src/gui/popupmenu.cpp:1721
+#: src/gui/inventorywindow.cpp:204 src/gui/popupmenu.cpp:1764
msgid "Retrieve"
msgstr "Retirar"
-#: src/gui/inventorywindow.cpp:654 src/gui/popupmenu.cpp:1710
-#: src/gui/popupmenu.cpp:1802 src/gui/popupmenu.cpp:1847
+#: src/gui/inventorywindow.cpp:654 src/gui/popupmenu.cpp:1753
+#: src/gui/popupmenu.cpp:1845 src/gui/popupmenu.cpp:1890
#: src/gui/windowmenu.cpp:97
msgid "Drop"
msgstr "Descartar"
@@ -1258,7 +1263,7 @@ msgstr "Enviar"
msgid "NPC"
msgstr "NPC"
-#: src/gui/npcdialog.cpp:108 src/gui/popupmenu.cpp:576
+#: src/gui/npcdialog.cpp:108 src/gui/popupmenu.cpp:598
msgid "Clear"
msgstr "Limpar"
@@ -1296,331 +1301,347 @@ msgstr "Desequipar antes"
msgid "Away outfit"
msgstr "Roupas de ocupado"
-#: src/gui/popupmenu.cpp:132 src/gui/popupmenu.cpp:613
+#: src/gui/popupmenu.cpp:132 src/gui/popupmenu.cpp:635
#: src/gui/widgets/tradetab.cpp:44
msgid "Trade"
msgstr "Negócios"
-#: src/gui/popupmenu.cpp:134 src/gui/popupmenu.cpp:372
+#: src/gui/popupmenu.cpp:134 src/gui/popupmenu.cpp:383
msgid "Whisper"
msgstr "Sussuro"
-#: src/gui/popupmenu.cpp:138 src/gui/popupmenu.cpp:618
+#: src/gui/popupmenu.cpp:138 src/gui/popupmenu.cpp:640
msgid "Heal"
msgstr "Curar:"
-#: src/gui/popupmenu.cpp:144 src/gui/popupmenu.cpp:378
-#: src/gui/popupmenu.cpp:624
+#: src/gui/popupmenu.cpp:144 src/gui/popupmenu.cpp:389
+#: src/gui/popupmenu.cpp:646
msgid "Be friend"
msgstr "Ser Amigo"
-#: src/gui/popupmenu.cpp:145 src/gui/popupmenu.cpp:152
-#: src/gui/popupmenu.cpp:160 src/gui/popupmenu.cpp:178
-#: src/gui/popupmenu.cpp:379 src/gui/popupmenu.cpp:386
-#: src/gui/popupmenu.cpp:394 src/gui/popupmenu.cpp:412
-#: src/gui/popupmenu.cpp:625 src/gui/popupmenu.cpp:632
-#: src/gui/popupmenu.cpp:640 src/gui/popupmenu.cpp:658
+#: src/gui/popupmenu.cpp:145 src/gui/popupmenu.cpp:153
+#: src/gui/popupmenu.cpp:162 src/gui/popupmenu.cpp:170
+#: src/gui/popupmenu.cpp:189 src/gui/popupmenu.cpp:390
+#: src/gui/popupmenu.cpp:398 src/gui/popupmenu.cpp:407
+#: src/gui/popupmenu.cpp:426 src/gui/popupmenu.cpp:434
+#: src/gui/popupmenu.cpp:647 src/gui/popupmenu.cpp:655
+#: src/gui/popupmenu.cpp:664 src/gui/popupmenu.cpp:678
+#: src/gui/popupmenu.cpp:691
msgid "Disregard"
msgstr "Ser inimigo"
-#: src/gui/popupmenu.cpp:147 src/gui/popupmenu.cpp:154
-#: src/gui/popupmenu.cpp:381 src/gui/popupmenu.cpp:388
-#: src/gui/popupmenu.cpp:627 src/gui/popupmenu.cpp:634
+#: src/gui/popupmenu.cpp:147 src/gui/popupmenu.cpp:155
+#: src/gui/popupmenu.cpp:172 src/gui/popupmenu.cpp:392
+#: src/gui/popupmenu.cpp:400 src/gui/popupmenu.cpp:428
+#: src/gui/popupmenu.cpp:649 src/gui/popupmenu.cpp:657
+#: src/gui/popupmenu.cpp:680
msgid "Black list"
msgstr "Lista Negra"
-#: src/gui/popupmenu.cpp:148 src/gui/popupmenu.cpp:155
-#: src/gui/popupmenu.cpp:162 src/gui/popupmenu.cpp:168
-#: src/gui/popupmenu.cpp:173 src/gui/popupmenu.cpp:382
-#: src/gui/popupmenu.cpp:389 src/gui/popupmenu.cpp:396
-#: src/gui/popupmenu.cpp:402 src/gui/popupmenu.cpp:407
-#: src/gui/popupmenu.cpp:628 src/gui/popupmenu.cpp:635
-#: src/gui/popupmenu.cpp:642 src/gui/popupmenu.cpp:648
-#: src/gui/popupmenu.cpp:653
+#: src/gui/popupmenu.cpp:148 src/gui/popupmenu.cpp:156
+#: src/gui/popupmenu.cpp:164 src/gui/popupmenu.cpp:393
+#: src/gui/popupmenu.cpp:401 src/gui/popupmenu.cpp:409
+#: src/gui/popupmenu.cpp:650 src/gui/popupmenu.cpp:658
+#: src/gui/popupmenu.cpp:666
+msgid "Set as enemy"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:149 src/gui/popupmenu.cpp:157
+#: src/gui/popupmenu.cpp:165 src/gui/popupmenu.cpp:173
+#: src/gui/popupmenu.cpp:179 src/gui/popupmenu.cpp:184
+#: src/gui/popupmenu.cpp:394 src/gui/popupmenu.cpp:402
+#: src/gui/popupmenu.cpp:410 src/gui/popupmenu.cpp:416
+#: src/gui/popupmenu.cpp:421 src/gui/popupmenu.cpp:429
+#: src/gui/popupmenu.cpp:651 src/gui/popupmenu.cpp:659
+#: src/gui/popupmenu.cpp:667 src/gui/popupmenu.cpp:673
+#: src/gui/popupmenu.cpp:681 src/gui/popupmenu.cpp:686
msgid "Erase"
msgstr "Apagar"
-#: src/gui/popupmenu.cpp:159 src/gui/popupmenu.cpp:166
-#: src/gui/popupmenu.cpp:172 src/gui/popupmenu.cpp:177
-#: src/gui/popupmenu.cpp:393 src/gui/popupmenu.cpp:400
-#: src/gui/popupmenu.cpp:406 src/gui/popupmenu.cpp:411
-#: src/gui/popupmenu.cpp:639 src/gui/popupmenu.cpp:646
-#: src/gui/popupmenu.cpp:652 src/gui/popupmenu.cpp:657
+#: src/gui/popupmenu.cpp:161 src/gui/popupmenu.cpp:169
+#: src/gui/popupmenu.cpp:177 src/gui/popupmenu.cpp:183
+#: src/gui/popupmenu.cpp:188 src/gui/popupmenu.cpp:406
+#: src/gui/popupmenu.cpp:414 src/gui/popupmenu.cpp:420
+#: src/gui/popupmenu.cpp:425 src/gui/popupmenu.cpp:433
+#: src/gui/popupmenu.cpp:663 src/gui/popupmenu.cpp:671
+#: src/gui/popupmenu.cpp:677 src/gui/popupmenu.cpp:685
+#: src/gui/popupmenu.cpp:690
msgid "Unignore"
msgstr "Não ignorar"
-#: src/gui/popupmenu.cpp:167 src/gui/popupmenu.cpp:179
-#: src/gui/popupmenu.cpp:401 src/gui/popupmenu.cpp:413
-#: src/gui/popupmenu.cpp:647 src/gui/popupmenu.cpp:659
-#: src/playerrelations.cpp:421
+#: src/gui/popupmenu.cpp:178 src/gui/popupmenu.cpp:190
+#: src/gui/popupmenu.cpp:415 src/gui/popupmenu.cpp:435
+#: src/gui/popupmenu.cpp:672 src/gui/popupmenu.cpp:692
+#: src/playerrelations.cpp:446
msgid "Completely ignore"
msgstr "Ignorar completamente"
-#: src/gui/popupmenu.cpp:187 src/gui/popupmenu.cpp:421
-#: src/gui/popupmenu.cpp:667 src/gui/popupmenu.cpp:746
+#: src/gui/popupmenu.cpp:198 src/gui/popupmenu.cpp:443
+#: src/gui/popupmenu.cpp:700 src/gui/popupmenu.cpp:779
msgid "Follow"
msgstr "Seguir"
-#: src/gui/popupmenu.cpp:188 src/gui/popupmenu.cpp:422
-#: src/gui/popupmenu.cpp:668 src/gui/popupmenu.cpp:747
+#: src/gui/popupmenu.cpp:199 src/gui/popupmenu.cpp:444
+#: src/gui/popupmenu.cpp:701 src/gui/popupmenu.cpp:780
msgid "Imitation"
msgstr "Imitar"
-#: src/gui/popupmenu.cpp:197 src/gui/popupmenu.cpp:700
+#: src/gui/popupmenu.cpp:208 src/gui/popupmenu.cpp:733
msgid "Invite to party"
msgstr "Convidar para grupo"
-#: src/gui/popupmenu.cpp:202 src/gui/popupmenu.cpp:433
-#: src/gui/popupmenu.cpp:705
+#: src/gui/popupmenu.cpp:213 src/gui/popupmenu.cpp:455
+#: src/gui/popupmenu.cpp:738
msgid "Kick from party"
msgstr "Chutar do grupo"
-#: src/gui/popupmenu.cpp:217 src/gui/popupmenu.cpp:229
-#: src/gui/popupmenu.cpp:450 src/gui/popupmenu.cpp:722
+#: src/gui/popupmenu.cpp:228 src/gui/popupmenu.cpp:240
+#: src/gui/popupmenu.cpp:472 src/gui/popupmenu.cpp:755
msgid "Kick from guild"
msgstr "Chutar da Guilda"
-#: src/gui/popupmenu.cpp:222 src/gui/popupmenu.cpp:234
-#: src/gui/popupmenu.cpp:455 src/gui/popupmenu.cpp:727
+#: src/gui/popupmenu.cpp:233 src/gui/popupmenu.cpp:245
+#: src/gui/popupmenu.cpp:477 src/gui/popupmenu.cpp:760
msgid "Change pos in guild"
msgstr "Mudar posição da Guilda"
-#: src/gui/popupmenu.cpp:242 src/gui/popupmenu.cpp:463
-#: src/gui/popupmenu.cpp:736
+#: src/gui/popupmenu.cpp:253 src/gui/popupmenu.cpp:485
+#: src/gui/popupmenu.cpp:769
msgid "Invite to guild"
msgstr "Convidar para Guilda"
-#: src/gui/popupmenu.cpp:250
+#: src/gui/popupmenu.cpp:261
msgid "Kick player"
msgstr "Chutar Jogador"
-#: src/gui/popupmenu.cpp:252
+#: src/gui/popupmenu.cpp:263
msgid "Nuke"
msgstr "Deixar pelado"
-#: src/gui/popupmenu.cpp:254 src/gui/popupmenu.cpp:670
-#: src/gui/popupmenu.cpp:759
+#: src/gui/popupmenu.cpp:265 src/gui/popupmenu.cpp:703
+#: src/gui/popupmenu.cpp:792
msgid "Show Items"
msgstr "Mostar itens:"
-#: src/gui/popupmenu.cpp:255 src/gui/popupmenu.cpp:671
-#: src/gui/popupmenu.cpp:760 src/gui/popupmenu.cpp:2004
+#: src/gui/popupmenu.cpp:266 src/gui/popupmenu.cpp:704
+#: src/gui/popupmenu.cpp:793 src/gui/popupmenu.cpp:2047
msgid "Undress"
msgstr "Deixar sem Roupas"
-#: src/gui/popupmenu.cpp:256 src/gui/popupmenu.cpp:286
-#: src/gui/popupmenu.cpp:423 src/gui/popupmenu.cpp:672
-#: src/gui/popupmenu.cpp:761
+#: src/gui/popupmenu.cpp:267 src/gui/popupmenu.cpp:297
+#: src/gui/popupmenu.cpp:445 src/gui/popupmenu.cpp:705
+#: src/gui/popupmenu.cpp:794
msgid "Add comment"
msgstr "Adicionar comentário"
-#: src/gui/popupmenu.cpp:271 src/gui/popupmenu.cpp:471
-#: src/gui/popupmenu.cpp:687 src/gui/popupmenu.cpp:766
+#: src/gui/popupmenu.cpp:282 src/gui/popupmenu.cpp:493
+#: src/gui/popupmenu.cpp:720 src/gui/popupmenu.cpp:799
msgid "Buy (?)"
msgstr "Comprar (?)"
-#: src/gui/popupmenu.cpp:272 src/gui/popupmenu.cpp:472
-#: src/gui/popupmenu.cpp:688 src/gui/popupmenu.cpp:767
+#: src/gui/popupmenu.cpp:283 src/gui/popupmenu.cpp:494
+#: src/gui/popupmenu.cpp:721 src/gui/popupmenu.cpp:800
msgid "Sell (?)"
msgstr "Vender (?)"
-#: src/gui/popupmenu.cpp:297
+#: src/gui/popupmenu.cpp:308
msgid "Kick"
msgstr "Chutar"
-#: src/gui/popupmenu.cpp:308
+#: src/gui/popupmenu.cpp:319
msgid "Remove from attack list"
msgstr "Remover da Lista de Ataques"
-#: src/gui/popupmenu.cpp:313
+#: src/gui/popupmenu.cpp:324
msgid "Add to priority attack list"
msgstr "Adicionar a prioridade na lista de ataques"
-#: src/gui/popupmenu.cpp:315
+#: src/gui/popupmenu.cpp:326
msgid "Add to attack list"
msgstr "Adicionar a lista de ataques"
-#: src/gui/popupmenu.cpp:317
+#: src/gui/popupmenu.cpp:328
msgid "Add to ignore list"
msgstr "Adicionar a lista de ignorados"
-#: src/gui/popupmenu.cpp:330 src/gui/popupmenu.cpp:475
+#: src/gui/popupmenu.cpp:341 src/gui/popupmenu.cpp:497
msgid "Add name to chat"
msgstr "Adicionar nome ao chat"
-#: src/gui/popupmenu.cpp:500
+#: src/gui/popupmenu.cpp:522
msgid "Pick up"
msgstr "Pegar"
-#: src/gui/popupmenu.cpp:501 src/gui/popupmenu.cpp:1730
-#: src/gui/popupmenu.cpp:1810 src/gui/popupmenu.cpp:1855
+#: src/gui/popupmenu.cpp:523 src/gui/popupmenu.cpp:1773
+#: src/gui/popupmenu.cpp:1853 src/gui/popupmenu.cpp:1898
msgid "Add to chat"
msgstr "Nome no chat"
-#: src/gui/popupmenu.cpp:518
+#: src/gui/popupmenu.cpp:540
msgid "Map Item"
msgstr "Mapa Item"
-#: src/gui/popupmenu.cpp:519
+#: src/gui/popupmenu.cpp:541
msgid "Rename"
msgstr "Renomear"
-#: src/gui/popupmenu.cpp:520 src/gui/popupmenu.cpp:1965
-#: src/gui/popupmenu.cpp:1976 src/gui/popupmenu.cpp:1980
+#: src/gui/popupmenu.cpp:542 src/gui/popupmenu.cpp:2008
+#: src/gui/popupmenu.cpp:2019 src/gui/popupmenu.cpp:2023
msgid "Remove"
msgstr "A Remover"
-#: src/gui/popupmenu.cpp:525
+#: src/gui/popupmenu.cpp:547
msgid "Warp"
msgstr "Urdidura"
-#: src/gui/popupmenu.cpp:538
+#: src/gui/popupmenu.cpp:560
msgid "Load old outfits"
msgstr "Carregar Antigas Roupas"
-#: src/gui/popupmenu.cpp:554 src/gui/windowmenu.cpp:96
+#: src/gui/popupmenu.cpp:576 src/gui/windowmenu.cpp:96
msgid "Spells"
msgstr "Feitiços"
-#: src/gui/popupmenu.cpp:555
+#: src/gui/popupmenu.cpp:577
msgid "Load old spells"
msgstr "Carregar Antigos Feitiços"
-#: src/gui/popupmenu.cpp:556
+#: src/gui/popupmenu.cpp:578
msgid "Edit spell"
msgstr "Editar Feitiços"
-#: src/gui/popupmenu.cpp:580
+#: src/gui/popupmenu.cpp:602
msgid "Disable highlight"
msgstr "Desabilitar destaque"
-#: src/gui/popupmenu.cpp:582
+#: src/gui/popupmenu.cpp:604
msgid "Enable highlight"
msgstr "Habilitar destaque"
-#: src/gui/popupmenu.cpp:584
+#: src/gui/popupmenu.cpp:606
msgid "Don't remove name"
msgstr "Não remova o nome"
-#: src/gui/popupmenu.cpp:586
+#: src/gui/popupmenu.cpp:608
msgid "Remove name"
msgstr "Remover nome"
-#: src/gui/popupmenu.cpp:588
+#: src/gui/popupmenu.cpp:610
msgid "Enable away"
msgstr "Habilitar longe do teclado"
-#: src/gui/popupmenu.cpp:590
+#: src/gui/popupmenu.cpp:612
msgid "Disable away"
msgstr "Desabilitar longe do teclado"
-#: src/gui/popupmenu.cpp:595 src/gui/socialwindow.cpp:1141
+#: src/gui/popupmenu.cpp:617 src/gui/socialwindow.cpp:1141
msgid "Leave"
msgstr "Sair"
-#: src/gui/popupmenu.cpp:780
+#: src/gui/popupmenu.cpp:813
msgid "Change guild position"
msgstr "Mudar a posição da guilda"
#. TRANSLATORS: number of chars in string should be near original
-#: src/gui/popupmenu.cpp:1243
+#: src/gui/popupmenu.cpp:1286
msgid "Rename map sign "
msgstr "Renomear mapa "
#. TRANSLATORS: number of chars in string should be near original
-#: src/gui/popupmenu.cpp:1245
+#: src/gui/popupmenu.cpp:1288
msgid "Name: "
msgstr "Nome: "
#. TRANSLATORS: number of chars in string should be near original
-#: src/gui/popupmenu.cpp:1295
+#: src/gui/popupmenu.cpp:1338
msgid "Player comment "
msgstr "Comentário do jogador"
#. TRANSLATORS: number of chars in string should be near original
-#: src/gui/popupmenu.cpp:1297
+#: src/gui/popupmenu.cpp:1340
msgid "Comment: "
msgstr "Comentário:"
-#: src/gui/popupmenu.cpp:1668
+#: src/gui/popupmenu.cpp:1711
msgid "Add to trade"
msgstr "Add. na negociação"
-#: src/gui/popupmenu.cpp:1672
+#: src/gui/popupmenu.cpp:1715
msgid "Add to trade 10"
msgstr "Add. 10 na negociação"
-#: src/gui/popupmenu.cpp:1673
+#: src/gui/popupmenu.cpp:1716
msgid "Add to trade half"
msgstr "Add. metade na negociação"
-#: src/gui/popupmenu.cpp:1674
+#: src/gui/popupmenu.cpp:1717
msgid "Add to trade all"
msgstr "Add. todos na negociação"
-#: src/gui/popupmenu.cpp:1684
+#: src/gui/popupmenu.cpp:1727
msgid "Store 10"
msgstr "Guardar 10"
-#: src/gui/popupmenu.cpp:1685
+#: src/gui/popupmenu.cpp:1728
msgid "Store half"
msgstr "Guardar metade"
-#: src/gui/popupmenu.cpp:1686
+#: src/gui/popupmenu.cpp:1729
msgid "Store all"
msgstr "Guardar tudo"
-#: src/gui/popupmenu.cpp:1706 src/gui/popupmenu.cpp:1798
-#: src/gui/popupmenu.cpp:1843
+#: src/gui/popupmenu.cpp:1749 src/gui/popupmenu.cpp:1841
+#: src/gui/popupmenu.cpp:1886
msgid "Drop all"
msgstr "Descartar tudo"
-#: src/gui/popupmenu.cpp:1725
+#: src/gui/popupmenu.cpp:1768
msgid "Retrieve 10"
msgstr "Retirar 10"
-#: src/gui/popupmenu.cpp:1726
+#: src/gui/popupmenu.cpp:1769
msgid "Retrieve half"
msgstr "Retirar metade"
-#: src/gui/popupmenu.cpp:1727
+#: src/gui/popupmenu.cpp:1770
msgid "Retrieve all"
msgstr "Retirar tudo"
-#: src/gui/popupmenu.cpp:1758 src/gui/popupmenu.cpp:1814
+#: src/gui/popupmenu.cpp:1801 src/gui/popupmenu.cpp:1857
msgid "Load old item shortcuts"
msgstr "Carregar antigos atalhos de item"
-#: src/gui/popupmenu.cpp:1859
+#: src/gui/popupmenu.cpp:1902
msgid "Load old drop shortcuts"
msgstr "Carregar antigos atalhos de descarte"
-#: src/gui/popupmenu.cpp:1885 src/gui/popupmenu.cpp:1920
+#: src/gui/popupmenu.cpp:1928 src/gui/popupmenu.cpp:1963
msgid "Hide"
msgstr "Ocultar"
-#: src/gui/popupmenu.cpp:1891 src/gui/popupmenu.cpp:1926
+#: src/gui/popupmenu.cpp:1934 src/gui/popupmenu.cpp:1969
msgid "Show"
msgstr "Mostrar"
-#: src/gui/popupmenu.cpp:1932
+#: src/gui/popupmenu.cpp:1975
msgid "Reset yellow bar"
msgstr "Resetar barra amarela"
-#: src/gui/popupmenu.cpp:1934 src/gui/statuswindow.cpp:241
+#: src/gui/popupmenu.cpp:1977 src/gui/statuswindow.cpp:242
msgid "Copy to chat"
msgstr "Copiar para o chat"
-#: src/gui/popupmenu.cpp:1952 src/gui/socialwindow.cpp:958
+#: src/gui/popupmenu.cpp:1995 src/gui/setup_theme.cpp:88
+#: src/gui/setup_theme.cpp:145 src/gui/socialwindow.cpp:958
#: src/gui/socialwindow.cpp:993 src/gui/socialwindow.cpp:1028
msgid "(default)"
msgstr "(padrão)"
-#: src/gui/popupmenu.cpp:1962 src/gui/popupmenu.cpp:1973
+#: src/gui/popupmenu.cpp:2005 src/gui/popupmenu.cpp:2016
msgid "Move up"
msgstr "Mover a cima"
-#: src/gui/popupmenu.cpp:1964 src/gui/popupmenu.cpp:1975
+#: src/gui/popupmenu.cpp:2007 src/gui/popupmenu.cpp:2018
msgid "Move down"
msgstr "Mover a baixo"
@@ -1934,29 +1955,33 @@ msgstr "Aplicar"
msgid "Reset Windows"
msgstr "Restaurar janelas"
-#: src/gui/setup_joystick.cpp:40 src/gui/setup_joystick.cpp:79
+#: src/gui/setup_joystick.cpp:70 src/gui/setup_joystick.cpp:142
msgid "Press the button to start calibration"
msgstr "Aperte o botão para começar a calibrar"
-#: src/gui/setup_joystick.cpp:41 src/gui/setup_joystick.cpp:77
+#: src/gui/setup_joystick.cpp:71 src/gui/setup_joystick.cpp:140
msgid "Calibrate"
msgstr "Calibrar"
-#: src/gui/setup_joystick.cpp:42
+#: src/gui/setup_joystick.cpp:72
msgid "Enable joystick"
msgstr "Habilitar joystick"
-#: src/gui/setup_joystick.cpp:44
+#: src/gui/setup_joystick.cpp:75
+msgid "Use joystick if client window inactive"
+msgstr ""
+
+#: src/gui/setup_joystick.cpp:78
msgid "Joystick"
msgstr "Joystick"
-#: src/gui/setup_joystick.cpp:84
+#: src/gui/setup_joystick.cpp:147
msgid "Stop"
msgstr "Parar"
-#: src/gui/setup_joystick.cpp:85
-msgid "Rotate the stick"
-msgstr "Gire o bastão"
+#: src/gui/setup_joystick.cpp:149
+msgid "Rotate the stick and dont press buttons"
+msgstr ""
#: src/gui/setup_keyboard.cpp:80
msgid "Keyboard"
@@ -2139,22 +2164,22 @@ msgid "Enable bot checker"
msgstr "Habilitar Analisador de bot"
#: src/gui/setup_other.cpp:174
-msgid "Enable buggy servers protection"
-msgstr "Habilitar proteção contra servidores com bugs"
+msgid "Enable buggy servers protection (do not disable)"
+msgstr ""
-#: src/gui/setup_other.cpp:177
+#: src/gui/setup_other.cpp:178
msgid "Enable debug log"
msgstr "Habilitar Depurador"
-#: src/gui/setup_other.cpp:180
+#: src/gui/setup_other.cpp:181
msgid "Low traffic mode"
msgstr "Modo de baixo tráfego"
-#: src/gui/setup_other.cpp:183
+#: src/gui/setup_other.cpp:184
msgid "Hide shield sprite"
msgstr "Ocultar sprite de escudo"
-#: src/gui/setup_other.cpp:186
+#: src/gui/setup_other.cpp:187
msgid "Show background"
msgstr "Mostrar imagem de fundo"
@@ -2282,91 +2307,151 @@ msgstr "Apagado"
msgid "Blacklisted"
msgstr "Na Lista Negra "
-#: src/gui/setup_relations.cpp:239
+#: src/gui/setup_relations.cpp:76
+msgid "Enemy"
+msgstr ""
+
+#: src/gui/setup_relations.cpp:240
msgid "Allow trading"
msgstr "Permitir negociações"
-#: src/gui/setup_relations.cpp:241
+#: src/gui/setup_relations.cpp:242
msgid "Allow whispers"
msgstr "Permitir mensagens particulares"
-#: src/gui/setup_relations.cpp:244
+#: src/gui/setup_relations.cpp:245
msgid "Old"
msgstr "Antigo"
-#: src/gui/setup_relations.cpp:246
+#: src/gui/setup_relations.cpp:247
msgid "Relations"
msgstr "Relações"
-#: src/gui/setup_relations.cpp:271
+#: src/gui/setup_relations.cpp:272
msgid "When ignoring:"
msgstr "Quando ignorar:"
-#: src/gui/setup_theme.cpp:107
+#: src/gui/setup_theme.cpp:108
msgid "Tiny (10)"
msgstr "Minúsculo (10)"
-#: src/gui/setup_theme.cpp:108
+#: src/gui/setup_theme.cpp:109
msgid "Small (11)"
msgstr "Pequeno (11)"
-#: src/gui/setup_theme.cpp:109
+#: src/gui/setup_theme.cpp:110
msgid "Medium (12)"
msgstr "Médio (12)"
-#: src/gui/setup_theme.cpp:110
+#: src/gui/setup_theme.cpp:111
msgid "Large (13)"
msgstr "Largo (13)"
-#: src/gui/setup_theme.cpp:111
+#: src/gui/setup_theme.cpp:112
msgid "Big (14)"
msgstr "Grande (14)"
-#: src/gui/setup_theme.cpp:112
+#: src/gui/setup_theme.cpp:113
msgid "Huge (15)"
msgstr "Enorme (15)"
-#: src/gui/setup_theme.cpp:143
+#: src/gui/setup_theme.cpp:146
+msgid "Chinese (China)"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:147
+msgid "Czech"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:148
+msgid "English"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:149
+msgid "Finnish"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:150
+msgid "French"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:151
+msgid "German"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:152
+msgid "Indonesian"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:153
+msgid "Japanese"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:154
+msgid "Dutch (Belgium/Flemish)"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:155
+msgid "Portuguese"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:156
+msgid "Portuguese (Brazilian)"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:157
+msgid "Russian"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:158
+msgid "Spanish (Castilian)"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:190
msgid "Theme"
msgstr "Tema"
-#: src/gui/setup_theme.cpp:145
+#: src/gui/setup_theme.cpp:192
msgid "Gui theme"
msgstr "Tema"
-#: src/gui/setup_theme.cpp:146
+#: src/gui/setup_theme.cpp:193
+msgid "Language"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:194
msgid "Main Font"
msgstr "Fonte"
-#: src/gui/setup_theme.cpp:147
+#: src/gui/setup_theme.cpp:195
msgid "Bold font"
msgstr "Fonte negrito"
-#: src/gui/setup_theme.cpp:148
+#: src/gui/setup_theme.cpp:196
msgid "Particle font"
msgstr "Fonte de particulas"
-#: src/gui/setup_theme.cpp:149
+#: src/gui/setup_theme.cpp:197
msgid "Help font"
msgstr "Fonte de ajuda"
-#: src/gui/setup_theme.cpp:150
+#: src/gui/setup_theme.cpp:198
msgid "Secure font"
msgstr "Fonte Segura"
-#: src/gui/setup_theme.cpp:151
+#: src/gui/setup_theme.cpp:199
msgid "Japanese font"
msgstr "Font Jasponesa"
-#: src/gui/setup_theme.cpp:183
+#: src/gui/setup_theme.cpp:236
msgid "Font size"
msgstr "Tamanho da fonte"
-#: src/gui/setup_theme.cpp:299
+#: src/gui/setup_theme.cpp:377
msgid "Theme Changed"
msgstr "Tema alterado"
-#: src/gui/setup_theme.cpp:300 src/gui/setup_video.cpp:619
+#: src/gui/setup_theme.cpp:378 src/gui/setup_video.cpp:619
#: src/gui/setup_video.cpp:624
msgid "Restart your client for the change to take effect."
msgstr "Reincie o cliente para que as mudanças surtam efeito."
@@ -2797,422 +2882,445 @@ msgstr "Escolha o nome do seu grupo."
msgid "Specials"
msgstr "Especiais"
-#: src/gui/statuspopup.cpp:197
+#: src/gui/statuspopup.cpp:204
msgid "(D) default moves"
msgstr "(D) movimentos padrão"
-#: src/gui/statuspopup.cpp:202
+#: src/gui/statuspopup.cpp:209
msgid "(I) invert moves"
msgstr "(l) inserir movimentos"
-#: src/gui/statuspopup.cpp:207
+#: src/gui/statuspopup.cpp:214
msgid "(c) moves with some crazy moves"
msgstr "(c) Alguns movimentos loucos"
-#: src/gui/statuspopup.cpp:212
+#: src/gui/statuspopup.cpp:219
msgid "(C) moves with crazy moves"
msgstr "(C) Movimentos loucos"
-#: src/gui/statuspopup.cpp:217
+#: src/gui/statuspopup.cpp:224
msgid "(d) double normal + crazy"
msgstr "(d) dobro normal + louco"
-#: src/gui/statuspopup.cpp:222
+#: src/gui/statuspopup.cpp:229
msgid "(?) move"
msgstr "(?) mover"
-#: src/gui/statuspopup.cpp:240
+#: src/gui/statuspopup.cpp:247
msgid "(a) custom crazy move"
msgstr "(a) movimentos loucos customizados"
-#: src/gui/statuspopup.cpp:244
+#: src/gui/statuspopup.cpp:251
msgid "(?) crazy move"
msgstr "(?) movimentos loucos"
-#: src/gui/statuspopup.cpp:254
+#: src/gui/statuspopup.cpp:261
msgid "(0) default moves to target"
msgstr "(0) Mover ao alvo padrão"
-#: src/gui/statuspopup.cpp:259
+#: src/gui/statuspopup.cpp:266
msgid "(1) moves to target in distance 1"
msgstr "(1) Mover ao alvo com distância 1"
-#: src/gui/statuspopup.cpp:264
+#: src/gui/statuspopup.cpp:271
msgid "(2) moves to target in distance 2"
msgstr "(2) mover ao alvo em distância 2"
-#: src/gui/statuspopup.cpp:269
+#: src/gui/statuspopup.cpp:276
msgid "(3) moves to target in distance 3"
msgstr "(3) Mover ao alvo com distância 3"
-#: src/gui/statuspopup.cpp:274
+#: src/gui/statuspopup.cpp:281
msgid "(5) moves to target in distance 5"
msgstr "(5) Mover ao alvo com distância 5"
-#: src/gui/statuspopup.cpp:279
+#: src/gui/statuspopup.cpp:286
msgid "(7) moves to target in distance 7"
msgstr "(7) Mover ao alvo com distância 7"
-#: src/gui/statuspopup.cpp:284
+#: src/gui/statuspopup.cpp:291
msgid "(A) moves to target in attack range"
msgstr "(A) Mover ao alvo com a distância de ataque"
-#: src/gui/statuspopup.cpp:289
+#: src/gui/statuspopup.cpp:296
msgid "(a) archer attack range"
msgstr "(a) Alcance de arqueiros"
-#: src/gui/statuspopup.cpp:294
+#: src/gui/statuspopup.cpp:301
msgid "(?) move to target"
msgstr "(?) Mover ao alvo"
-#: src/gui/statuspopup.cpp:302
+#: src/gui/statuspopup.cpp:309
msgid "(D) default follow"
msgstr "(D) Seguir em modo padrão"
-#: src/gui/statuspopup.cpp:306
+#: src/gui/statuspopup.cpp:313
msgid "(R) relative follow"
msgstr "(R) Seguir em modo relativo"
-#: src/gui/statuspopup.cpp:310
+#: src/gui/statuspopup.cpp:317
msgid "(M) mirror follow"
msgstr "(M) Seguir em modo espelhado"
-#: src/gui/statuspopup.cpp:314
+#: src/gui/statuspopup.cpp:321
msgid "(P) pet follow"
msgstr "(P) Seguir em modo animal de extimação"
-#: src/gui/statuspopup.cpp:318
+#: src/gui/statuspopup.cpp:325
msgid "(?) unknown follow"
msgstr "(?) Seguir em modo desconhecido"
-#: src/gui/statuspopup.cpp:327 src/gui/statuspopup.cpp:350
+#: src/gui/statuspopup.cpp:334 src/gui/statuspopup.cpp:357
msgid "(D) default attack"
msgstr "(D) Ataque padrão"
-#: src/gui/statuspopup.cpp:332
+#: src/gui/statuspopup.cpp:339
msgid "(s) switch attack without shield"
msgstr "(s) Trocar ataque sem escudo"
-#: src/gui/statuspopup.cpp:337
+#: src/gui/statuspopup.cpp:344
msgid "(S) switch attack with shield"
msgstr "(S) Trocar ataque com escudo"
-#: src/gui/statuspopup.cpp:341 src/gui/statuspopup.cpp:366
+#: src/gui/statuspopup.cpp:348 src/gui/statuspopup.cpp:373
msgid "(?) attack"
msgstr "(?) Ataque"
-#: src/gui/statuspopup.cpp:354
+#: src/gui/statuspopup.cpp:361
msgid "(G) go and attack"
msgstr "(G) Ir e atacar"
-#: src/gui/statuspopup.cpp:358
+#: src/gui/statuspopup.cpp:365
msgid "(A) go, attack, pickup"
msgstr "(A) Ir, atacar, pegar"
-#: src/gui/statuspopup.cpp:362
+#: src/gui/statuspopup.cpp:369
msgid "(d) without auto attack"
msgstr "(d) sem auto ataque"
-#: src/gui/statuspopup.cpp:380
+#: src/gui/statuspopup.cpp:387
msgid "(S) small pick up 1x1 cells"
msgstr "(S) Pequeno pegar 1x1 celulas"
-#: src/gui/statuspopup.cpp:384
+#: src/gui/statuspopup.cpp:391
msgid "(D) default pick up 2x1 cells"
msgstr "(D) Pegar padrão 2x1 células"
-#: src/gui/statuspopup.cpp:388
+#: src/gui/statuspopup.cpp:395
msgid "(F) forward pick up 2x3 cells"
msgstr "(F) Pegar em frente 2x3 células"
-#: src/gui/statuspopup.cpp:392
+#: src/gui/statuspopup.cpp:399
msgid "(3) pick up 3x3 cells"
msgstr "(3) Pegar 3x3 células"
-#: src/gui/statuspopup.cpp:396
+#: src/gui/statuspopup.cpp:403
msgid "(g) go and pick up in distance 4"
msgstr "(g) Ir e pegar em distância 4"
-#: src/gui/statuspopup.cpp:400
+#: src/gui/statuspopup.cpp:407
msgid "(G) go and pick up in distance 8"
msgstr "(G) Ir e pegar em distância 8"
-#: src/gui/statuspopup.cpp:404
+#: src/gui/statuspopup.cpp:411
msgid "(A) go and pick up in max distance"
msgstr "(A) Ir e pegar em distância mâxima"
-#: src/gui/statuspopup.cpp:408
+#: src/gui/statuspopup.cpp:415
msgid "(?) pick up"
msgstr "(?) Pegar item"
-#: src/gui/statuspopup.cpp:417
+#: src/gui/statuspopup.cpp:424
msgid "(N) normal map view"
msgstr "(N) Visualizardor de mapa normal"
-#: src/gui/statuspopup.cpp:421
+#: src/gui/statuspopup.cpp:428
msgid "(D) debug map view"
msgstr "(D) Visualizador de mapa depurador"
-#: src/gui/statuspopup.cpp:425
+#: src/gui/statuspopup.cpp:432
msgid "(u) ultra map view"
msgstr "(u) Visualizador de mapa ultra"
-#: src/gui/statuspopup.cpp:429
+#: src/gui/statuspopup.cpp:436
msgid "(U) ultra map view 2"
msgstr "(U) Visualizador de mapa ultra 2"
-#: src/gui/statuspopup.cpp:433
+#: src/gui/statuspopup.cpp:440
msgid "(e) empty map view"
msgstr "(e) Visualizador de mapa vazio"
-#: src/gui/statuspopup.cpp:437
+#: src/gui/statuspopup.cpp:444
msgid "(b) black & white map view"
msgstr "(b) Visualizador de mapa preto e branco"
-#: src/gui/statuspopup.cpp:441
+#: src/gui/statuspopup.cpp:448
msgid "(?) map view"
msgstr "(?) Visualizador de mapa"
-#: src/gui/statuspopup.cpp:449
+#: src/gui/statuspopup.cpp:456
msgid "(f) use #flar for magic attack"
msgstr "(f) Usar #flar para feitiço de ataque"
-#: src/gui/statuspopup.cpp:454
+#: src/gui/statuspopup.cpp:461
msgid "(c) use #chiza for magic attack"
msgstr "(c) Usar #chiza para feitiço de ataque"
-#: src/gui/statuspopup.cpp:459
+#: src/gui/statuspopup.cpp:466
msgid "(I) use #ingrav for magic attack"
msgstr "(I) Usar #ingrav para feitiço de ataque"
-#: src/gui/statuspopup.cpp:464
+#: src/gui/statuspopup.cpp:471
msgid "(F) use #frillyar for magic attack"
msgstr "(F) Usar #frillyar para feitiço de ataque"
-#: src/gui/statuspopup.cpp:469
+#: src/gui/statuspopup.cpp:476
msgid "(U) use #upmarmu for magic attack"
msgstr "(U) Usar #upmarmu para feitiço de ataque"
-#: src/gui/statuspopup.cpp:473
+#: src/gui/statuspopup.cpp:480
msgid "(?) magic attack"
msgstr "(?) Feitiço de ataque"
-#: src/gui/statuspopup.cpp:482
+#: src/gui/statuspopup.cpp:489
+msgid "(a) attack all players"
+msgstr ""
+
+#: src/gui/statuspopup.cpp:493
+msgid "(f) attack not friends"
+msgstr ""
+
+#: src/gui/statuspopup.cpp:497
+msgid "(b) attack bad relations"
+msgstr ""
+
+#: src/gui/statuspopup.cpp:501
+msgid "(d) dont attack players"
+msgstr ""
+
+#: src/gui/statuspopup.cpp:505
+msgid "(?) pvp attack"
+msgstr ""
+
+#: src/gui/statuspopup.cpp:514
msgid "(D) default imitation"
msgstr "(D) Mímica padrão"
-#: src/gui/statuspopup.cpp:486
+#: src/gui/statuspopup.cpp:518
msgid "(O) outfits imitation"
msgstr "(O) Mímica de roupas"
-#: src/gui/statuspopup.cpp:490
+#: src/gui/statuspopup.cpp:522
msgid "(?) imitation"
msgstr "(?) Mímica"
-#: src/gui/statuspopup.cpp:499
+#: src/gui/statuspopup.cpp:531
msgid "(O) on keyboard"
msgstr "(O) No teclado"
-#: src/gui/statuspopup.cpp:502
+#: src/gui/statuspopup.cpp:534
msgid "(A) away"
msgstr "(A) Ausente"
-#: src/gui/statuspopup.cpp:505 src/gui/statuspopup.cpp:525
+#: src/gui/statuspopup.cpp:537 src/gui/statuspopup.cpp:557
msgid "(?) away"
msgstr "(?) Ausente"
-#: src/gui/statuspopup.cpp:513
+#: src/gui/statuspopup.cpp:545
msgid "(G) game camera mode"
msgstr "(G) Modo de jogo câmera"
-#: src/gui/statuspopup.cpp:517
+#: src/gui/statuspopup.cpp:549
msgid "(F) free camera mode"
msgstr "(F) Modo de jogo câmera livre"
-#: src/gui/statuspopup.cpp:521
+#: src/gui/statuspopup.cpp:553
msgid "(D) design camera mode"
msgstr "(D) Modo de jogo câmera design"
-#: src/gui/statuspopup.cpp:532
+#: src/gui/statuspopup.cpp:564
msgid "Game modifiers are disabled"
msgstr "Modificadores de jogo desativados"
-#: src/gui/statuspopup.cpp:537
+#: src/gui/statuspopup.cpp:569
msgid "Game modifiers are enabled"
msgstr "Modificadores de jogo ativados"
-#: src/gui/statuswindow.cpp:143 src/gui/statuswindow.cpp:273
-#: src/gui/statuswindow.cpp:336
+#: src/gui/statuswindow.cpp:144 src/gui/statuswindow.cpp:274
+#: src/gui/statuswindow.cpp:337
#, c-format
msgid "Level: %d"
msgstr "Nível: %d"
-#: src/gui/statuswindow.cpp:144 src/gui/statuswindow.cpp:259
-#: src/gui/statuswindow.cpp:303
+#: src/gui/statuswindow.cpp:145 src/gui/statuswindow.cpp:260
+#: src/gui/statuswindow.cpp:304
#, c-format
msgid "Money: %s"
msgstr "Dinheiro: %s"
-#: src/gui/statuswindow.cpp:150
+#: src/gui/statuswindow.cpp:151
msgid "HP:"
msgstr "HP:"
-#: src/gui/statuswindow.cpp:157
+#: src/gui/statuswindow.cpp:158
msgid "Exp:"
msgstr "Exp:"
-#: src/gui/statuswindow.cpp:171
+#: src/gui/statuswindow.cpp:172
msgid "MP:"
msgstr "MP:"
-#: src/gui/statuswindow.cpp:203 src/gui/statuswindow.cpp:386
+#: src/gui/statuswindow.cpp:204 src/gui/statuswindow.cpp:387
#, c-format
msgid "Job: %d"
msgstr "Job: %d"
-#: src/gui/statuswindow.cpp:204
+#: src/gui/statuswindow.cpp:205
msgid "Job:"
msgstr "Job:"
-#: src/gui/statuswindow.cpp:262 src/gui/statuswindow.cpp:310
+#: src/gui/statuswindow.cpp:263 src/gui/statuswindow.cpp:311
#, c-format
msgid "Character points: %d"
msgstr "Pontos do personagem: %d"
-#: src/gui/statuswindow.cpp:268
+#: src/gui/statuswindow.cpp:269
#, c-format
msgid "Level: %d (GM %d)"
msgstr "Nível: %d (GM %d)"
-#: src/gui/statuswindow.cpp:324
+#: src/gui/statuswindow.cpp:325
#, c-format
msgid "Correction points: %d"
msgstr "Pontos de correção: %d"
-#: src/gui/statuswindow.cpp:648 src/gui/statuswindow.cpp:716
-#: src/gui/statuswindow.cpp:736 src/gui/statuswindow.cpp:752
-#: src/gui/statuswindow.cpp:798 src/gui/statuswindow.cpp:827
-#: src/gui/statuswindow.cpp:850 src/gui/statuswindow.cpp:869
+#: src/gui/statuswindow.cpp:649 src/gui/statuswindow.cpp:717
+#: src/gui/statuswindow.cpp:737 src/gui/statuswindow.cpp:753
+#: src/gui/statuswindow.cpp:818 src/gui/statuswindow.cpp:847
+#: src/gui/statuswindow.cpp:870 src/gui/statuswindow.cpp:889
msgid "(D)"
msgstr "(D)"
-#: src/gui/statuswindow.cpp:651 src/gui/statuswindow.cpp:777
+#: src/gui/statuswindow.cpp:652 src/gui/statuswindow.cpp:778
msgid "(I)"
msgstr "(I)"
-#: src/gui/statuswindow.cpp:654 src/gui/statuswindow.cpp:774
+#: src/gui/statuswindow.cpp:655 src/gui/statuswindow.cpp:775
msgid "(c)"
msgstr "(c)"
-#: src/gui/statuswindow.cpp:657
+#: src/gui/statuswindow.cpp:658
msgid "(C)"
msgstr "(C)"
-#: src/gui/statuswindow.cpp:660 src/gui/statuswindow.cpp:761
+#: src/gui/statuswindow.cpp:661 src/gui/statuswindow.cpp:762
+#: src/gui/statuswindow.cpp:803
msgid "(d)"
msgstr "(d)"
-#: src/gui/statuswindow.cpp:663 src/gui/statuswindow.cpp:677
-#: src/gui/statuswindow.cpp:709 src/gui/statuswindow.cpp:728
-#: src/gui/statuswindow.cpp:745 src/gui/statuswindow.cpp:764
-#: src/gui/statuswindow.cpp:786 src/gui/statuswindow.cpp:816
-#: src/gui/statuswindow.cpp:842 src/gui/statuswindow.cpp:856
-#: src/gui/statuswindow.cpp:872 src/gui/statuswindow.cpp:885
+#: src/gui/statuswindow.cpp:664 src/gui/statuswindow.cpp:678
+#: src/gui/statuswindow.cpp:710 src/gui/statuswindow.cpp:729
+#: src/gui/statuswindow.cpp:746 src/gui/statuswindow.cpp:765
+#: src/gui/statuswindow.cpp:787 src/gui/statuswindow.cpp:806
+#: src/gui/statuswindow.cpp:836 src/gui/statuswindow.cpp:862
+#: src/gui/statuswindow.cpp:876 src/gui/statuswindow.cpp:892
+#: src/gui/statuswindow.cpp:905
msgid "(?)"
msgstr "(?)"
-#: src/gui/statuswindow.cpp:674 src/gui/statuswindow.cpp:706
+#: src/gui/statuswindow.cpp:675 src/gui/statuswindow.cpp:707
+#: src/gui/statuswindow.cpp:794
msgid "(a)"
msgstr "(a)"
-#: src/gui/statuswindow.cpp:685
+#: src/gui/statuswindow.cpp:686
msgid "(0)"
msgstr "(0)"
-#: src/gui/statuswindow.cpp:688
+#: src/gui/statuswindow.cpp:689
msgid "(1)"
msgstr "(1)"
-#: src/gui/statuswindow.cpp:691
+#: src/gui/statuswindow.cpp:692
msgid "(2)"
msgstr "(2)"
-#: src/gui/statuswindow.cpp:694 src/gui/statuswindow.cpp:804
+#: src/gui/statuswindow.cpp:695 src/gui/statuswindow.cpp:824
msgid "(3)"
msgstr "(3)"
-#: src/gui/statuswindow.cpp:697
+#: src/gui/statuswindow.cpp:698
msgid "(5)"
msgstr "(4)"
-#: src/gui/statuswindow.cpp:700
+#: src/gui/statuswindow.cpp:701
msgid "(7)"
msgstr "(7)"
-#: src/gui/statuswindow.cpp:703 src/gui/statuswindow.cpp:758
-#: src/gui/statuswindow.cpp:813 src/gui/statuswindow.cpp:882
+#: src/gui/statuswindow.cpp:704 src/gui/statuswindow.cpp:759
+#: src/gui/statuswindow.cpp:833 src/gui/statuswindow.cpp:902
msgid "(A)"
msgstr "(A)"
-#: src/gui/statuswindow.cpp:719
+#: src/gui/statuswindow.cpp:720
msgid "(R)"
msgstr "(R)"
-#: src/gui/statuswindow.cpp:722
+#: src/gui/statuswindow.cpp:723
msgid "(M)"
msgstr "(M)"
-#: src/gui/statuswindow.cpp:725
+#: src/gui/statuswindow.cpp:726
msgid "(P)"
msgstr "(P)"
-#: src/gui/statuswindow.cpp:739
+#: src/gui/statuswindow.cpp:740
msgid "(s)"
msgstr "(s)"
-#: src/gui/statuswindow.cpp:742 src/gui/statuswindow.cpp:795
+#: src/gui/statuswindow.cpp:743 src/gui/statuswindow.cpp:815
msgid "(S)"
msgstr "(S)"
-#: src/gui/statuswindow.cpp:755 src/gui/statuswindow.cpp:810
-#: src/gui/statuswindow.cpp:863
+#: src/gui/statuswindow.cpp:756 src/gui/statuswindow.cpp:830
+#: src/gui/statuswindow.cpp:883
msgid "(G)"
msgstr "(G)"
-#: src/gui/statuswindow.cpp:771
+#: src/gui/statuswindow.cpp:772 src/gui/statuswindow.cpp:797
msgid "(f)"
msgstr "(f)"
-#: src/gui/statuswindow.cpp:780 src/gui/statuswindow.cpp:801
-#: src/gui/statuswindow.cpp:866
+#: src/gui/statuswindow.cpp:781 src/gui/statuswindow.cpp:821
+#: src/gui/statuswindow.cpp:886
msgid "(F)"
msgstr "(F)"
-#: src/gui/statuswindow.cpp:783 src/gui/statuswindow.cpp:833
+#: src/gui/statuswindow.cpp:784 src/gui/statuswindow.cpp:853
msgid "(U)"
msgstr "(U)"
-#: src/gui/statuswindow.cpp:807
+#: src/gui/statuswindow.cpp:800 src/gui/statuswindow.cpp:859
+msgid "(b)"
+msgstr "(b)"
+
+#: src/gui/statuswindow.cpp:827
msgid "(g)"
msgstr "(g)"
-#: src/gui/statuswindow.cpp:824
+#: src/gui/statuswindow.cpp:844
msgid "(N)"
msgstr "(N)"
-#: src/gui/statuswindow.cpp:830
+#: src/gui/statuswindow.cpp:850
msgid "(u)"
msgstr "(u)"
-#: src/gui/statuswindow.cpp:836
+#: src/gui/statuswindow.cpp:856
msgid "(e)"
msgstr "(e)"
-#: src/gui/statuswindow.cpp:839
-msgid "(b)"
-msgstr "(b)"
-
-#: src/gui/statuswindow.cpp:853 src/gui/statuswindow.cpp:879
+#: src/gui/statuswindow.cpp:873 src/gui/statuswindow.cpp:899
msgid "(O)"
msgstr "(O)"
@@ -3342,7 +3450,8 @@ msgid "You don't have enough money."
msgstr "Você não tem dinheiro suficiente."
#: src/gui/tradewindow.cpp:454
-msgid "Failed adding item. You can not overlap one kind of item on the window."
+msgid ""
+"Failed adding item. You can not overlap one kind of item on the window."
msgstr ""
"Falha ao adicionar item. Você não pode duplicar este tipo de item na janela."
@@ -3363,21 +3472,21 @@ msgstr "Conectando..."
msgid "Play"
msgstr "Jogar"
-#: src/gui/updaterwindow.cpp:564
+#: src/gui/updaterwindow.cpp:565
msgid "##1 The update process is incomplete."
msgstr "##1 O processo de update está incompleto."
#. TRANSLATORS: Continues "you try again later.".
-#: src/gui/updaterwindow.cpp:566
+#: src/gui/updaterwindow.cpp:567
msgid "##1 It is strongly recommended that"
msgstr "##1 É altamente recomendado que"
#. TRANSLATORS: Begins "It is strongly recommended that".
-#: src/gui/updaterwindow.cpp:568
+#: src/gui/updaterwindow.cpp:569
msgid "##1 you try again later."
msgstr "##1 tente novamente mais tarde."
-#: src/gui/updaterwindow.cpp:744
+#: src/gui/updaterwindow.cpp:745
msgid "Completed"
msgstr "Concluído"
@@ -3722,7 +3831,8 @@ msgid "Command: /unignore <player>"
msgstr "Comando: /unignore <jogador>"
#: src/gui/widgets/whispertab.cpp:131
-msgid "This command stops ignoring the other player if they are being ignored."
+msgid ""
+"This command stops ignoring the other player if they are being ignored."
msgstr ""
"Este comando para de ignorar o outro jogador se ele estiver sendo ignorado."
@@ -3940,7 +4050,7 @@ msgstr "Atalhos de item"
#: src/keyboardconfig.cpp:116 src/keyboardconfig.cpp:119
#: src/keyboardconfig.cpp:121 src/keyboardconfig.cpp:123
#: src/keyboardconfig.cpp:125 src/keyboardconfig.cpp:127
-#: src/keyboardconfig.cpp:369
+#: src/keyboardconfig.cpp:371
#, c-format
msgid "Item Shortcut %d"
msgstr "Atalho para item %d"
@@ -4067,7 +4177,7 @@ msgstr "Emoticon"
#: src/keyboardconfig.cpp:258 src/keyboardconfig.cpp:260
#: src/keyboardconfig.cpp:262 src/keyboardconfig.cpp:264
#: src/keyboardconfig.cpp:266 src/keyboardconfig.cpp:268
-#: src/keyboardconfig.cpp:364
+#: src/keyboardconfig.cpp:366
#, c-format
msgid "Emote Shortcut %d"
msgstr "Atalho para emoticon %d"
@@ -4196,51 +4306,55 @@ msgstr "Usar feitiço de ataque"
msgid "Switch magic attack"
msgstr "Trocar feitiço de ataque"
-#: src/keyboardconfig.cpp:328
+#: src/keyboardconfig.cpp:329
+msgid "Switch pvp attack"
+msgstr ""
+
+#: src/keyboardconfig.cpp:330
msgid "Change move type"
msgstr "Mudar tipo de movimento"
-#: src/keyboardconfig.cpp:330
+#: src/keyboardconfig.cpp:332
msgid "Change Attack Weapon Type"
msgstr "Mudar tipo de ataque de arma"
-#: src/keyboardconfig.cpp:332
+#: src/keyboardconfig.cpp:334
msgid "Change Attack Type"
msgstr "Mudar tipo de ataque"
-#: src/keyboardconfig.cpp:334
+#: src/keyboardconfig.cpp:336
msgid "Change Follow mode"
msgstr "Mudar modo de seguir"
-#: src/keyboardconfig.cpp:336
+#: src/keyboardconfig.cpp:338
msgid "Change Imitation mode"
msgstr "Mudar modo de imitação"
-#: src/keyboardconfig.cpp:339
+#: src/keyboardconfig.cpp:341
msgid "Disable / Enable Game modifier keys"
msgstr "Habilitar / Desabilitar Chaves de modificação"
-#: src/keyboardconfig.cpp:340
+#: src/keyboardconfig.cpp:342
msgid "On / Off audio"
msgstr "Ligar / Desligar áudio"
-#: src/keyboardconfig.cpp:342
+#: src/keyboardconfig.cpp:344
msgid "Enable / Disable away mode"
msgstr "Habilitar / Desabilitar modo indisponivel "
-#: src/keyboardconfig.cpp:344
+#: src/keyboardconfig.cpp:346
msgid "Emulate right click from keyboard"
msgstr "Emular botão direito do teclado"
-#: src/keyboardconfig.cpp:346
+#: src/keyboardconfig.cpp:348
msgid "Toggle camera mode"
msgstr "Alterar modo de camera"
-#: src/keyboardconfig.cpp:348
+#: src/keyboardconfig.cpp:350
msgid "Modifier key"
msgstr "Modificar chave"
-#: src/keyboardconfig.cpp:427
+#: src/keyboardconfig.cpp:429
#, c-format
msgid ""
"Conflict \"%s\" and \"%s\" keys. Resolve them, or gameplay may result in "
@@ -4249,68 +4363,68 @@ msgstr ""
"Conflito com as teclas \"%s\" e \"%s\" . Resolva o conflito para não "
"comprometer a jogabilidade."
-#: src/localplayer.cpp:381
+#: src/localplayer.cpp:389
msgid "You were killed by "
msgstr "Você foi morto por "
-#: src/localplayer.cpp:1428
+#: src/localplayer.cpp:1442
msgid "Tried to pick up nonexistent item."
msgstr "Você tentou pegar um item não existente."
-#: src/localplayer.cpp:1430
+#: src/localplayer.cpp:1444
msgid "Item is too heavy."
msgstr "Este item é muito pesado."
-#: src/localplayer.cpp:1432
+#: src/localplayer.cpp:1446
msgid "Item is too far away."
msgstr "Item está muito longe"
-#: src/localplayer.cpp:1434
+#: src/localplayer.cpp:1448
msgid "Inventory is full."
msgstr "O inventário está cheio."
-#: src/localplayer.cpp:1436
+#: src/localplayer.cpp:1450
msgid "Stack is too big."
msgstr "Esta pilha é muito grande."
-#: src/localplayer.cpp:1439
+#: src/localplayer.cpp:1453
msgid "Item belongs to someone else."
msgstr "Este item pertence a outra pessoa."
-#: src/localplayer.cpp:1442
+#: src/localplayer.cpp:1456
msgid "Unknown problem picking up item."
msgstr "Problema desconhecido ao tentar pegar item."
#. TRANSLATORS: %d is number,
#. [@@%d|%s@@] - here player can see link to item
-#: src/localplayer.cpp:1466
+#: src/localplayer.cpp:1480
#, c-format
msgid "You picked up %d [@@%d|%s@@]."
msgid_plural "You picked up %d [@@%d|%s@@]."
msgstr[0] "Você pegou %d [@@%d|%s@@]."
msgstr[1] "Você pegou %d [@@%d|%s@@]."
-#: src/localplayer.cpp:3181
+#: src/localplayer.cpp:3206
msgid "Away"
msgstr "Indisponivel "
-#: src/localplayer.cpp:3509
+#: src/localplayer.cpp:3541
msgid "Follow: "
msgstr "Seguindo:"
-#: src/localplayer.cpp:3511 src/localplayer.cpp:3526
+#: src/localplayer.cpp:3543 src/localplayer.cpp:3558
msgid "Follow canceled"
msgstr "Seguir cancelado"
-#: src/localplayer.cpp:3518
+#: src/localplayer.cpp:3550
msgid "Imitation: "
msgstr "Imitando:"
-#: src/localplayer.cpp:3520 src/localplayer.cpp:3528
+#: src/localplayer.cpp:3552 src/localplayer.cpp:3560
msgid "Imitation canceled"
msgstr "Imitação cancelada"
-#: src/localplayer.cpp:3876
+#: src/localplayer.cpp:3908
msgid "You see "
msgstr "Você vê "
@@ -4699,7 +4813,8 @@ msgstr "Comando: /exp <policy>"
#: src/net/ea/gui/partytab.cpp:108
msgid "This command changes the party's experience sharing policy."
-msgstr "Este comando muda a opção de compartilhamento de experiência do grupo."
+msgstr ""
+"Este comando muda a opção de compartilhamento de experiência do grupo."
#: src/net/ea/gui/partytab.cpp:110
msgid ""
@@ -4716,7 +4831,8 @@ msgstr "Comando: /exp"
#: src/net/ea/gui/partytab.cpp:114
msgid "This command displays the party's current experience sharing policy."
msgstr ""
-"Este comando exibe a atual opção de compartilhamento de experiência do grupo."
+"Este comando exibe a atual opção de compartilhamento de experiência do "
+"grupo."
#: src/net/ea/gui/partytab.cpp:148 src/net/ea/partyhandler.cpp:284
msgid "Item sharing enabled."
@@ -5004,7 +5120,8 @@ msgstr "Mensagem"
#: src/net/ea/playerhandler.cpp:336
msgid ""
-"You are carrying more than half your weight. You are unable to regain health."
+"You are carrying more than half your weight. You are unable to regain "
+"health."
msgstr ""
"Você está carregando mais que a metade de seu peso. Você não poderá mais "
"recuperar HP."
@@ -5118,53 +5235,53 @@ msgstr "Veneno não surtiu efeito..."
msgid "%s wants to trade with you, do you accept?"
msgstr "%s quer negociar com você, você aceita?"
-#: src/net/ea/tradehandler.cpp:134
+#: src/net/ea/tradehandler.cpp:135
msgid "Trading isn't possible. Trade partner is too far away."
msgstr "Negociação impossível. O parceiro de negócios está muito longe."
-#: src/net/ea/tradehandler.cpp:138
+#: src/net/ea/tradehandler.cpp:139
msgid "Trading isn't possible. Character doesn't exist."
msgstr "Negociação impossível. O personagem não existe."
-#: src/net/ea/tradehandler.cpp:142
+#: src/net/ea/tradehandler.cpp:143
msgid "Trade cancelled due to an unknown reason."
msgstr "Negociação cancelada devido a uma razão desconhecida."
-#: src/net/ea/tradehandler.cpp:148
+#: src/net/ea/tradehandler.cpp:149
#, c-format
msgid "Trade: You and %s"
msgstr "Negociação: Você e %s"
-#: src/net/ea/tradehandler.cpp:158
+#: src/net/ea/tradehandler.cpp:159
#, c-format
msgid "Trade with %s cancelled."
msgstr "Negociação com %s cancelada."
-#: src/net/ea/tradehandler.cpp:171
+#: src/net/ea/tradehandler.cpp:172
msgid "Unhandled trade cancel packet."
msgstr "Troca injusta pacote cancelado."
-#: src/net/ea/tradehandler.cpp:236
+#: src/net/ea/tradehandler.cpp:237
msgid "Failed adding item. Trade partner is over weighted."
msgstr "Erro ao adicionar item. Parceiro de negócios carregando muito peso."
-#: src/net/ea/tradehandler.cpp:241
+#: src/net/ea/tradehandler.cpp:242
msgid "Failed adding item. Trade partner has no free slot."
msgstr "Erro ao adicionar item. Parceiro de negócios não tem slots livres."
-#: src/net/ea/tradehandler.cpp:246
+#: src/net/ea/tradehandler.cpp:247
msgid "Failed adding item. You can't trade this item."
msgstr "Falha ao adicionar item. Você não pode trocar este item."
-#: src/net/ea/tradehandler.cpp:250
+#: src/net/ea/tradehandler.cpp:251
msgid "Failed adding item for unknown reason."
msgstr "Erro ao adicionar item devido a um motivo desconhecido."
-#: src/net/ea/tradehandler.cpp:269 src/net/manaserv/tradehandler.cpp:160
+#: src/net/ea/tradehandler.cpp:270 src/net/manaserv/tradehandler.cpp:160
msgid "Trade canceled."
msgstr "Negociação cancelada."
-#: src/net/ea/tradehandler.cpp:280 src/net/manaserv/tradehandler.cpp:167
+#: src/net/ea/tradehandler.cpp:281 src/net/manaserv/tradehandler.cpp:167
msgid "Trade completed."
msgstr "Negociação realizada."
@@ -5585,15 +5702,15 @@ msgstr "Atraso de alcance"
msgid "Damage per sec."
msgstr "Dano por seg."
-#: src/net/tmwa/network.cpp:152
+#: src/net/tmwa/network.cpp:153
msgid "Empty address given to Network::connect()!"
msgstr "Endereço vazio enviado para Network::connect()!"
-#: src/net/tmwa/network.cpp:356
+#: src/net/tmwa/network.cpp:357
msgid "Unable to resolve host \""
msgstr "Não foi possível determinar o host \""
-#: src/net/tmwa/network.cpp:426
+#: src/net/tmwa/network.cpp:427
msgid "Connection to server terminated. "
msgstr "Conexão com o servidor interrompida. "
@@ -5602,19 +5719,19 @@ msgstr "Conexão com o servidor interrompida. "
msgid "%s is not in your party!"
msgstr "%s não está em seu grupo!"
-#: src/playerrelations.cpp:435
+#: src/playerrelations.cpp:460
msgid "Print '...'"
msgstr "Imprimir '...'"
-#: src/playerrelations.cpp:455
+#: src/playerrelations.cpp:480
msgid "Blink name"
msgstr "Piscar nome"
-#: src/playerrelations.cpp:499
+#: src/playerrelations.cpp:524
msgid "Floating '...' bubble"
msgstr "Bolha '...' flutuante"
-#: src/playerrelations.cpp:502
+#: src/playerrelations.cpp:527
msgid "Floating bubble"
msgstr "Bolha Flutuante"
@@ -5646,3 +5763,5 @@ msgstr "MP %+d"
#: src/resources/itemdb.cpp:169
msgid "Unknown item"
msgstr "Item desconhecido"
+
+
diff --git a/po/pt_BR.po b/po/pt_BR.po
index e4f04c9b3..532d19385 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR The ManaPlus Developers
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
# <alasmirt@gmail.com>, 2011.
# alastrim <alasmirt@gmail.com>, 2011.
@@ -12,80 +12,79 @@ msgid ""
msgstr ""
"Project-Id-Version: ManaPlus\n"
"Report-Msgid-Bugs-To: akaras@inbox.ru\n"
-"POT-Creation-Date: 2011-10-28 03:52+0300\n"
-"PO-Revision-Date: 2011-10-29 01:59+0000\n"
-"Last-Translator: freya <freya.df@gmail.com>\n"
-"Language-Team: Portuguese (Brazilian) (http://www.transifex.net/projects/p/"
-"manaplus/team/pt_BR/)\n"
-"Language: pt_BR\n"
+"POT-Creation-Date: 2011-11-12 00:23+0300\n"
+"PO-Revision-Date: 2011-11-11 21:38+0000\n"
+"Last-Translator: akaras <akaras@inbox.ru>\n"
+"Language-Team: Portuguese (Brazilian) (http://www.transifex.net/projects/p/manaplus/team/pt_BR/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Language: pt_BR\n"
"Plural-Forms: nplurals=2; plural=(n > 1)\n"
#: src/actorspritemanager.cpp:1171
msgid "Visible on map"
msgstr "Mapa visivel "
-#: src/being.cpp:548
+#: src/being.cpp:551
msgid "dodge"
msgstr "por nome"
-#: src/being.cpp:548
+#: src/being.cpp:551
msgid "miss"
msgstr "por id"
#. TRANSLATORS: this away status writed in player nick
-#: src/being.cpp:1527
+#: src/being.cpp:1530
msgid "A"
msgstr "A"
#. TRANSLATORS: this inactive status writed in player nick
-#: src/being.cpp:1532
+#: src/being.cpp:1535
msgid "I"
msgstr "I"
-#: src/client.cpp:835 src/gui/setup.cpp:54 src/gui/windowmenu.cpp:100
+#: src/client.cpp:869 src/gui/setup.cpp:54 src/gui/windowmenu.cpp:100
msgid "Setup"
msgstr "por peso"
-#: src/client.cpp:842 src/gui/setup_perfomance.cpp:48
+#: src/client.cpp:876 src/gui/setup_perfomance.cpp:48
msgid "Perfomance"
msgstr "Performance"
-#: src/client.cpp:847 src/gui/setup_video.cpp:315
+#: src/client.cpp:881 src/gui/setup_video.cpp:315
msgid "Video"
msgstr "Vídeo"
-#: src/client.cpp:852
+#: src/client.cpp:886
msgid "Themes"
msgstr "Temas"
-#: src/client.cpp:934
+#: src/client.cpp:968
msgid "Connecting to server"
msgstr "por quantidade"
-#: src/client.cpp:965
+#: src/client.cpp:999
msgid "Logging in"
msgstr "por tipo"
-#: src/client.cpp:998
+#: src/client.cpp:1032
msgid "Entering game world"
msgstr "Habilitar rolagem preguisoça "
-#: src/client.cpp:1098
+#: src/client.cpp:1132
msgid "Requesting characters"
msgstr "Rolagem preguiçosa"
-#: src/client.cpp:1129
+#: src/client.cpp:1163
msgid "Connecting to the game server"
msgstr "Conectando ao servidor do jogo"
-#: src/client.cpp:1139
+#: src/client.cpp:1173
msgid "Changing game servers"
msgstr "Mudando servidores do jogo"
-#: src/client.cpp:1182 src/client.cpp:1189 src/client.cpp:1323
+#: src/client.cpp:1216 src/client.cpp:1223 src/client.cpp:1357
#: src/gui/changeemaildialog.cpp:157 src/gui/changepassworddialog.cpp:147
#: src/gui/charcreatedialog.cpp:221 src/gui/charselectdialog.cpp:253
#: src/gui/register.cpp:228 src/gui/serverdialog.cpp:401
@@ -95,229 +94,232 @@ msgstr "Mudando servidores do jogo"
msgid "Error"
msgstr "Erro"
-#: src/client.cpp:1198
+#: src/client.cpp:1232
msgid "Requesting registration details"
msgstr "Requisitando detalhes do registro"
-#: src/client.cpp:1224
+#: src/client.cpp:1258
msgid "Password Change"
msgstr "Mudar senha"
-#: src/client.cpp:1225
+#: src/client.cpp:1259
msgid "Password changed successfully!"
msgstr "Senha modificada com sucesso!"
-#: src/client.cpp:1244
+#: src/client.cpp:1278
msgid "Email Change"
msgstr "Mudar email"
-#: src/client.cpp:1245
+#: src/client.cpp:1279
msgid "Email changed successfully!"
msgstr "Email modificado com sucesso!"
-#: src/client.cpp:1265
+#: src/client.cpp:1299
msgid "Unregister Successful"
msgstr "Registro cancelado com sucesso"
-#: src/client.cpp:1266
+#: src/client.cpp:1300
msgid "Farewell, come back any time..."
msgstr "Tchau, volte sempre..."
-#: src/client.cpp:1465 src/client.cpp:1495 src/client.cpp:1510
-#: src/client.cpp:1935 src/client.cpp:1942
+#: src/client.cpp:1499 src/client.cpp:1529 src/client.cpp:1544
+#: src/client.cpp:1969 src/client.cpp:1976
#, c-format
msgid "%s doesn't exist and can't be created! Exiting."
msgstr "%s não existe e não pode ser criado! Saindo."
-#: src/client.cpp:1641
+#: src/client.cpp:1675
#, c-format
msgid "Invalid update host: %s"
msgstr "Host de atualização inválido: %s"
-#: src/client.cpp:1675 src/client.cpp:1681
+#: src/client.cpp:1709 src/client.cpp:1715
msgid "Error creating updates directory!"
msgstr "Erro ao criar pasta de atualizações!"
-#: src/client.cpp:1702
+#: src/client.cpp:1736
#, c-format
msgid "Error: %s doesn't exist and can't be created! Exiting."
msgstr "Erro: %s não existe e não pode se criado! Saindo."
-#: src/commandhandler.cpp:205
+#: src/commandhandler.cpp:209
msgid "Unknown command."
msgstr "Comando desconhecido."
-#: src/commandhandler.cpp:304
+#: src/commandhandler.cpp:329
msgid "Cannot send empty whispers!"
msgstr "Não é possível enviar mensagens privadas vazias!"
-#: src/commandhandler.cpp:318
+#: src/commandhandler.cpp:343
#, c-format
msgid ""
-"Cannot create a whisper tab for nick \"%s\"! It either already exists, or is "
-"you."
+"Cannot create a whisper tab for nick \"%s\"! It either already exists, or is"
+" you."
msgstr ""
-"Não é possível criar uma aba de mensagem privada para o nick \"%s\"! Ou ela "
-"já existe ou é você mesmo."
+"Não é possível criar uma aba de mensagem privada para o nick \"%s\"! Ou ela"
+" já existe ou é você mesmo."
-#: src/commandhandler.cpp:338
+#: src/commandhandler.cpp:363
#, c-format
msgid "Requesting to join channel %s."
msgstr "Solicitando entrada no canal %s."
-#: src/commandhandler.cpp:354 src/net/ea/gui/partytab.cpp:125
+#: src/commandhandler.cpp:379 src/net/ea/gui/partytab.cpp:125
msgid "Party name is missing."
msgstr "Falta o nome do grupo."
-#: src/commandhandler.cpp:365
+#: src/commandhandler.cpp:390
msgid "Guild name is missing."
msgstr "Falta o nome da guilda."
-#: src/commandhandler.cpp:378 src/commandhandler.cpp:496
-#: src/commandhandler.cpp:537 src/commandhandler.cpp:572
+#: src/commandhandler.cpp:403 src/commandhandler.cpp:521
+#: src/commandhandler.cpp:562 src/commandhandler.cpp:602
msgid "Please specify a name."
msgstr "Por favor, especifique um nome."
-#: src/commandhandler.cpp:430
+#: src/commandhandler.cpp:455
msgid "Return toggles chat."
msgstr "Enter alterna para o chat."
-#: src/commandhandler.cpp:430
+#: src/commandhandler.cpp:455
msgid "Message closes chat."
msgstr "A mensagem fecha o chat."
-#: src/commandhandler.cpp:441
+#: src/commandhandler.cpp:466
msgid "Return now toggles chat."
msgstr "Agora Enter alterna para o chat."
-#: src/commandhandler.cpp:447
+#: src/commandhandler.cpp:472
msgid "Message now closes chat."
msgstr "Agora a mensagem fecha o chat."
-#: src/commandhandler.cpp:475
+#: src/commandhandler.cpp:500
msgid "friend"
msgstr "amigo"
-#: src/commandhandler.cpp:480
+#: src/commandhandler.cpp:505
msgid "disregarded"
msgstr "ignorado"
-#: src/commandhandler.cpp:485
+#: src/commandhandler.cpp:510
msgid "neutral"
msgstr "neutro"
-#: src/commandhandler.cpp:504
+#: src/commandhandler.cpp:529
#, c-format
msgid "Player already %s!"
msgstr "Jogador já %s!"
-#: src/commandhandler.cpp:518
+#: src/commandhandler.cpp:543
#, c-format
msgid "Player successfully %s!"
msgstr "Jogador %s com sucesso!"
-#: src/commandhandler.cpp:526
+#: src/commandhandler.cpp:551
#, c-format
msgid "Player could not be %s!"
msgstr "Jogador não pode ser %s!"
-#: src/commandhandler.cpp:549
+#: src/commandhandler.cpp:574
msgid "Player wasn't ignored!"
msgstr "O jogador não estava ignorado!"
-#: src/commandhandler.cpp:556
+#: src/commandhandler.cpp:581
msgid "Player no longer ignored!"
msgstr "O jogador não está mais ignorado!"
-#: src/commandhandler.cpp:558
+#: src/commandhandler.cpp:583
msgid "Player could not be unignored!"
msgstr "Não foi possível deixar de ignorar o jogador!"
-#: src/commandhandler.cpp:564
+#: src/commandhandler.cpp:589
msgid "blacklisted"
msgstr "Na Lista Negra"
-#: src/commandhandler.cpp:579
+#: src/commandhandler.cpp:594
+msgid "enemy"
+msgstr ""
+
+#: src/commandhandler.cpp:609
msgid "Player already erased!"
msgstr "Jogador já apagado!"
-#: src/commandhandler.cpp:590
+#: src/commandhandler.cpp:620
msgid "Player successfully erased!"
msgstr "Jogador apagado com sucesso!"
-#: src/commandhandler.cpp:592
+#: src/commandhandler.cpp:622
msgid "Player could not be erased!"
msgstr "Jogador não pode ser apagado!"
-#: src/commandhandler.cpp:892 src/commandhandler.cpp:938
+#: src/commandhandler.cpp:929 src/commandhandler.cpp:975
#, c-format
msgid "Client uptime: %s"
msgstr "Uptime do cliente: %s"
-#: src/commandhandler.cpp:902
+#: src/commandhandler.cpp:939
#, c-format
msgid "%d week"
msgid_plural "%d weeks"
msgstr[0] "%d semana"
msgstr[1] "%d semanas"
-#: src/commandhandler.cpp:911
+#: src/commandhandler.cpp:948
#, c-format
msgid "%d day"
msgid_plural "%d days"
msgstr[0] "%d dia"
msgstr[1] "%d dias"
-#: src/commandhandler.cpp:919
+#: src/commandhandler.cpp:956
#, c-format
msgid "%d hour"
msgid_plural "%d hours"
msgstr[0] "%d hora"
msgstr[1] "%d horas"
-#: src/commandhandler.cpp:927
+#: src/commandhandler.cpp:964
#, c-format
msgid "%d minute"
msgid_plural "%d minutes"
msgstr[0] "%d minuto"
msgstr[1] "%d minutos"
-#: src/commandhandler.cpp:935
+#: src/commandhandler.cpp:972
#, c-format
msgid "%d second"
msgid_plural "%d seconds"
msgstr[0] "%d segundo"
msgstr[1] "%d segundos"
-#: src/commandhandler.cpp:1014
+#: src/commandhandler.cpp:1051
msgid "font cache size"
msgstr "Tamanho de fonte Cache"
-#: src/commandhandler.cpp:1026
+#: src/commandhandler.cpp:1063
msgid "Cache size:"
msgstr "Tamanho de cache:"
-#: src/commandhandler.cpp:1030
+#: src/commandhandler.cpp:1067
msgid "Created:"
msgstr "Criado:"
-#: src/commandhandler.cpp:1032
+#: src/commandhandler.cpp:1069
msgid "Deleted:"
msgstr "Deletado:"
-#: src/commandhandler.cpp:1133 src/commandhandler.cpp:1140
+#: src/commandhandler.cpp:1171 src/commandhandler.cpp:1178
msgid "Resource images:"
msgstr "Recursos de imagem:"
-#: src/commandhandler.cpp:1135 src/commandhandler.cpp:1142
+#: src/commandhandler.cpp:1173 src/commandhandler.cpp:1180
msgid "Resource orphaned images:"
msgstr "Recurso de imagem orfão:"
#: src/commandhandler.h:40
#, c-format
msgid "Options to /%s are \"yes\", \"no\", \"true\", \"false\", \"1\", \"0\"."
-msgstr ""
-"Opções para /%s são \"yes\" e \"no\", \"true\" e \"false\", \"1\" e \"0\"."
+msgstr "Opções para /%s são \"yes\" e \"no\", \"true\" e \"false\", \"1\" e \"0\"."
#: src/game.cpp:252 src/gui/widgets/chattab.cpp:403
msgid "General"
@@ -327,35 +329,35 @@ msgstr "Geral"
msgid "Debug"
msgstr "Depurador"
-#: src/game.cpp:513
+#: src/game.cpp:506
msgid "Screenshot saved as "
msgstr "Screenshot salva como "
-#: src/game.cpp:521
+#: src/game.cpp:514
msgid "Saving screenshot failed!"
msgstr "Falha ao salvar screenshot!"
-#: src/game.cpp:560
+#: src/game.cpp:554
msgid "The connection to the server was lost."
msgstr "A conexão com o servidor caiu."
-#: src/game.cpp:572
+#: src/game.cpp:557
msgid "Network Error"
msgstr "Erro de conexão"
-#: src/game.cpp:1322
+#: src/game.cpp:1332
msgid "Ignoring incoming trade requests"
msgstr "Ignorando propostas de negócios"
-#: src/game.cpp:1332
+#: src/game.cpp:1342
msgid "Accepting incoming trade requests"
msgstr "Aceitando propostas de negócios"
-#: src/game.cpp:1732
+#: src/game.cpp:1750
msgid "Could Not Load Map"
msgstr "Não foi possível carregar o mapa"
-#: src/game.cpp:1733
+#: src/game.cpp:1751
#, c-format
msgid "Error while loading %s"
msgstr "Erro ao carregar %s"
@@ -389,19 +391,19 @@ msgid "Name"
msgstr "Nome"
#: src/gui/botcheckerwindow.cpp:297 src/gui/popupmenu.cpp:133
-#: src/gui/popupmenu.cpp:292 src/gui/popupmenu.cpp:614
+#: src/gui/popupmenu.cpp:303 src/gui/popupmenu.cpp:636
#: src/keyboardconfig.cpp:49 src/net/tmwa/generalhandler.cpp:269
msgid "Attack"
msgstr "Atacar"
-#: src/gui/botcheckerwindow.cpp:298 src/gui/popupmenu.cpp:281
+#: src/gui/botcheckerwindow.cpp:298 src/gui/popupmenu.cpp:292
#: src/keyboardconfig.cpp:62
msgid "Talk"
msgstr "Falar"
-#: src/gui/botcheckerwindow.cpp:299 src/gui/popupmenu.cpp:253
-#: src/gui/popupmenu.cpp:285 src/gui/popupmenu.cpp:437
-#: src/gui/popupmenu.cpp:669 src/gui/popupmenu.cpp:756
+#: src/gui/botcheckerwindow.cpp:299 src/gui/popupmenu.cpp:264
+#: src/gui/popupmenu.cpp:296 src/gui/popupmenu.cpp:459
+#: src/gui/popupmenu.cpp:702 src/gui/popupmenu.cpp:789
msgid "Move"
msgstr "Mover"
@@ -414,8 +416,8 @@ msgid "Reset"
msgstr "Resetar"
#: src/gui/buydialog.cpp:58 src/gui/buydialog.cpp:65 src/gui/buydialog.cpp:112
-#: src/gui/buyselldialog.cpp:65 src/gui/popupmenu.cpp:265
-#: src/gui/popupmenu.cpp:282 src/gui/popupmenu.cpp:681
+#: src/gui/buyselldialog.cpp:65 src/gui/popupmenu.cpp:276
+#: src/gui/popupmenu.cpp:293 src/gui/popupmenu.cpp:714
msgid "Buy"
msgstr "Comprar"
@@ -433,7 +435,7 @@ msgstr "Quantidade:"
#. You may change this symbol if your language uses another.
#: src/gui/buydialog.cpp:108 src/gui/itemamountwindow.cpp:207
#: src/gui/itemamountwindow.cpp:235 src/gui/npcdialog.cpp:114
-#: src/gui/selldialog.cpp:91 src/gui/statuswindow.cpp:977
+#: src/gui/selldialog.cpp:91 src/gui/statuswindow.cpp:998
msgid "+"
msgstr "+"
@@ -441,7 +443,7 @@ msgstr "+"
#. You may change this symbol if your language uses another.
#: src/gui/buydialog.cpp:111 src/gui/itemamountwindow.cpp:206
#: src/gui/itemamountwindow.cpp:234 src/gui/npcdialog.cpp:115
-#: src/gui/selldialog.cpp:92 src/gui/statuswindow.cpp:989
+#: src/gui/selldialog.cpp:92 src/gui/statuswindow.cpp:1010
msgid "-"
msgstr "-"
@@ -453,8 +455,8 @@ msgid "Quit"
msgstr "Sair"
#: src/gui/buydialog.cpp:114 src/gui/selldialog.cpp:95
-#: src/gui/statuswindow.cpp:504 src/gui/statuswindow.cpp:554
-#: src/gui/statuswindow.cpp:976 src/gui/statuswindow.cpp:1007
+#: src/gui/statuswindow.cpp:505 src/gui/statuswindow.cpp:555
+#: src/gui/statuswindow.cpp:997 src/gui/statuswindow.cpp:1028
msgid "Max"
msgstr "Máximo"
@@ -463,8 +465,8 @@ msgstr "Máximo"
msgid "Shop"
msgstr "Loja"
-#: src/gui/buyselldialog.cpp:65 src/gui/popupmenu.cpp:266
-#: src/gui/popupmenu.cpp:283 src/gui/popupmenu.cpp:682
+#: src/gui/buyselldialog.cpp:65 src/gui/popupmenu.cpp:277
+#: src/gui/popupmenu.cpp:294 src/gui/popupmenu.cpp:715
#: src/gui/selldialog.cpp:53 src/gui/selldialog.cpp:60
#: src/gui/selldialog.cpp:93
msgid "Sell"
@@ -473,15 +475,15 @@ msgstr "Vender"
#: src/gui/buyselldialog.cpp:65 src/gui/changeemaildialog.cpp:59
#: src/gui/changepassworddialog.cpp:61 src/gui/charcreatedialog.cpp:96
#: src/gui/connectiondialog.cpp:47 src/gui/itemamountwindow.cpp:209
-#: src/gui/npcpostdialog.cpp:58 src/gui/popupmenu.cpp:333
-#: src/gui/popupmenu.cpp:354 src/gui/popupmenu.cpp:478
-#: src/gui/popupmenu.cpp:504 src/gui/popupmenu.cpp:528
-#: src/gui/popupmenu.cpp:541 src/gui/popupmenu.cpp:559
-#: src/gui/popupmenu.cpp:772 src/gui/popupmenu.cpp:796
-#: src/gui/popupmenu.cpp:1732 src/gui/popupmenu.cpp:1760
-#: src/gui/popupmenu.cpp:1816 src/gui/popupmenu.cpp:1861
-#: src/gui/popupmenu.cpp:1896 src/gui/popupmenu.cpp:1935
-#: src/gui/popupmenu.cpp:1987 src/gui/popupmenu.cpp:2007
+#: src/gui/npcpostdialog.cpp:58 src/gui/popupmenu.cpp:344
+#: src/gui/popupmenu.cpp:365 src/gui/popupmenu.cpp:500
+#: src/gui/popupmenu.cpp:526 src/gui/popupmenu.cpp:550
+#: src/gui/popupmenu.cpp:563 src/gui/popupmenu.cpp:581
+#: src/gui/popupmenu.cpp:805 src/gui/popupmenu.cpp:829
+#: src/gui/popupmenu.cpp:1775 src/gui/popupmenu.cpp:1803
+#: src/gui/popupmenu.cpp:1859 src/gui/popupmenu.cpp:1904
+#: src/gui/popupmenu.cpp:1939 src/gui/popupmenu.cpp:1978
+#: src/gui/popupmenu.cpp:2030 src/gui/popupmenu.cpp:2050
#: src/gui/quitdialog.cpp:55 src/gui/register.cpp:82 src/gui/setup.cpp:72
#: src/gui/socialwindow.cpp:1077 src/gui/textcommandeditor.cpp:241
#: src/gui/textdialog.cpp:51 src/gui/unregisterdialog.cpp:59
@@ -652,7 +654,7 @@ msgid "Enter password:"
msgstr "Entre com a senha:"
#: src/gui/charselectdialog.cpp:410 src/gui/serverdialog.cpp:298
-#: src/gui/setup_relations.cpp:243 src/gui/shopwindow.cpp:122
+#: src/gui/setup_relations.cpp:244 src/gui/shopwindow.cpp:122
#: src/gui/shopwindow.cpp:125 src/gui/textcommandeditor.cpp:244
msgid "Delete"
msgstr "Excluir"
@@ -728,8 +730,9 @@ msgstr "arco-íris 3"
#: src/gui/chatwindow.cpp:142 src/gui/inventorywindow.cpp:90
#: src/gui/itemamountwindow.cpp:93 src/gui/logindialog.cpp:78
-#: src/gui/setup_relations.cpp:221 src/gui/setup_theme.cpp:73
-#: src/gui/setup_theme.cpp:127 src/gui/setup_video.cpp:211
+#: src/gui/setup_joystick.cpp:60 src/gui/setup_relations.cpp:222
+#: src/gui/setup_theme.cpp:74 src/gui/setup_theme.cpp:128
+#: src/gui/setup_theme.cpp:173 src/gui/setup_video.cpp:211
#: src/gui/textcommandeditor.cpp:102 src/gui/textcommandeditor.cpp:141
#: src/gui/textcommandeditor.cpp:160
msgid "???"
@@ -739,12 +742,12 @@ msgstr "???"
msgid "Chat"
msgstr "Chat"
-#: src/gui/chatwindow.cpp:613
+#: src/gui/chatwindow.cpp:615
#, c-format
msgid "Present: %s; %d players are present."
msgstr "Presentes: %s; %d jogadores estão presentes."
-#: src/gui/chatwindow.cpp:1000
+#: src/gui/chatwindow.cpp:1002
#, c-format
msgid "Whispering to %s: %s"
msgstr "Enviando MP para %s: %s"
@@ -758,10 +761,12 @@ msgid "No"
msgstr "Não"
#: src/gui/confirmdialog.cpp:52 src/gui/popupmenu.cpp:146
-#: src/gui/popupmenu.cpp:153 src/gui/popupmenu.cpp:161
-#: src/gui/popupmenu.cpp:380 src/gui/popupmenu.cpp:387
-#: src/gui/popupmenu.cpp:395 src/gui/popupmenu.cpp:626
-#: src/gui/popupmenu.cpp:633 src/gui/popupmenu.cpp:641
+#: src/gui/popupmenu.cpp:154 src/gui/popupmenu.cpp:163
+#: src/gui/popupmenu.cpp:171 src/gui/popupmenu.cpp:391
+#: src/gui/popupmenu.cpp:399 src/gui/popupmenu.cpp:408
+#: src/gui/popupmenu.cpp:427 src/gui/popupmenu.cpp:648
+#: src/gui/popupmenu.cpp:656 src/gui/popupmenu.cpp:665
+#: src/gui/popupmenu.cpp:679
msgid "Ignore"
msgstr "Ignora"
@@ -907,7 +912,7 @@ msgstr "Você Sabia?"
#: src/gui/didyouknowwindow.cpp:63 src/gui/helpwindow.cpp:59
#: src/gui/inventorywindow.cpp:205 src/gui/npcdialog.cpp:53
-#: src/gui/popupmenu.cpp:574 src/gui/shopwindow.cpp:113
+#: src/gui/popupmenu.cpp:596 src/gui/shopwindow.cpp:113
msgid "Close"
msgstr "Fechar"
@@ -934,8 +939,8 @@ msgstr "Equipamento"
#: src/gui/equipmentwindow.cpp:95 src/gui/inventorywindow.cpp:160
#: src/gui/inventorywindow.cpp:545 src/gui/inventorywindow.cpp:554
-#: src/gui/popupmenu.cpp:1694 src/gui/popupmenu.cpp:1786
-#: src/gui/popupmenu.cpp:1831
+#: src/gui/popupmenu.cpp:1737 src/gui/popupmenu.cpp:1829
+#: src/gui/popupmenu.cpp:1874
msgid "Unequip"
msgstr "Desequipar"
@@ -977,31 +982,31 @@ msgid "Filter:"
msgstr "Filtro:"
#: src/gui/inventorywindow.cpp:158 src/gui/inventorywindow.cpp:547
-#: src/gui/inventorywindow.cpp:556 src/gui/popupmenu.cpp:1696
-#: src/gui/popupmenu.cpp:1788 src/gui/popupmenu.cpp:1833
+#: src/gui/inventorywindow.cpp:556 src/gui/popupmenu.cpp:1739
+#: src/gui/popupmenu.cpp:1831 src/gui/popupmenu.cpp:1876
msgid "Equip"
msgstr "Equipar"
#: src/gui/inventorywindow.cpp:159 src/gui/inventorywindow.cpp:548
-#: src/gui/inventorywindow.cpp:552 src/gui/popupmenu.cpp:1700
-#: src/gui/popupmenu.cpp:1755 src/gui/popupmenu.cpp:1792
-#: src/gui/popupmenu.cpp:1837
+#: src/gui/inventorywindow.cpp:552 src/gui/popupmenu.cpp:1743
+#: src/gui/popupmenu.cpp:1798 src/gui/popupmenu.cpp:1835
+#: src/gui/popupmenu.cpp:1880
msgid "Use"
msgstr "Usar"
#: src/gui/inventorywindow.cpp:173 src/gui/inventorywindow.cpp:652
-#: src/gui/popupmenu.cpp:1705 src/gui/popupmenu.cpp:1797
-#: src/gui/popupmenu.cpp:1842
+#: src/gui/popupmenu.cpp:1748 src/gui/popupmenu.cpp:1840
+#: src/gui/popupmenu.cpp:1885
msgid "Drop..."
msgstr "Descartar..."
-#: src/gui/inventorywindow.cpp:174 src/gui/popupmenu.cpp:1714
-#: src/gui/popupmenu.cpp:1806 src/gui/popupmenu.cpp:1851
+#: src/gui/inventorywindow.cpp:174 src/gui/popupmenu.cpp:1757
+#: src/gui/popupmenu.cpp:1849 src/gui/popupmenu.cpp:1894
msgid "Split"
msgstr "Dividir"
#: src/gui/inventorywindow.cpp:175 src/gui/outfitwindow.cpp:60
-#: src/gui/popupmenu.cpp:537
+#: src/gui/popupmenu.cpp:559
msgid "Outfits"
msgstr "Roupas"
@@ -1010,17 +1015,17 @@ msgid "Weight:"
msgstr "Peso:"
#: src/gui/inventorywindow.cpp:203 src/gui/inventorywindow.cpp:643
-#: src/gui/popupmenu.cpp:1680 src/gui/popupmenu.cpp:1809
-#: src/gui/popupmenu.cpp:1854 src/gui/setup.cpp:73
+#: src/gui/popupmenu.cpp:1723 src/gui/popupmenu.cpp:1852
+#: src/gui/popupmenu.cpp:1897 src/gui/setup.cpp:73
msgid "Store"
msgstr "Armazenar"
-#: src/gui/inventorywindow.cpp:204 src/gui/popupmenu.cpp:1721
+#: src/gui/inventorywindow.cpp:204 src/gui/popupmenu.cpp:1764
msgid "Retrieve"
msgstr "Retirar"
-#: src/gui/inventorywindow.cpp:654 src/gui/popupmenu.cpp:1710
-#: src/gui/popupmenu.cpp:1802 src/gui/popupmenu.cpp:1847
+#: src/gui/inventorywindow.cpp:654 src/gui/popupmenu.cpp:1753
+#: src/gui/popupmenu.cpp:1845 src/gui/popupmenu.cpp:1890
#: src/gui/windowmenu.cpp:97
msgid "Drop"
msgstr "Descartar"
@@ -1260,7 +1265,7 @@ msgstr "Enviar"
msgid "NPC"
msgstr "NPC"
-#: src/gui/npcdialog.cpp:108 src/gui/popupmenu.cpp:576
+#: src/gui/npcdialog.cpp:108 src/gui/popupmenu.cpp:598
msgid "Clear"
msgstr "Limpar"
@@ -1298,331 +1303,347 @@ msgstr "Desequipar antes"
msgid "Away outfit"
msgstr "Roupas de ocupado"
-#: src/gui/popupmenu.cpp:132 src/gui/popupmenu.cpp:613
+#: src/gui/popupmenu.cpp:132 src/gui/popupmenu.cpp:635
#: src/gui/widgets/tradetab.cpp:44
msgid "Trade"
msgstr "Negócios"
-#: src/gui/popupmenu.cpp:134 src/gui/popupmenu.cpp:372
+#: src/gui/popupmenu.cpp:134 src/gui/popupmenu.cpp:383
msgid "Whisper"
msgstr "Mensagem Privada:"
-#: src/gui/popupmenu.cpp:138 src/gui/popupmenu.cpp:618
+#: src/gui/popupmenu.cpp:138 src/gui/popupmenu.cpp:640
msgid "Heal"
msgstr "Cura"
-#: src/gui/popupmenu.cpp:144 src/gui/popupmenu.cpp:378
-#: src/gui/popupmenu.cpp:624
+#: src/gui/popupmenu.cpp:144 src/gui/popupmenu.cpp:389
+#: src/gui/popupmenu.cpp:646
msgid "Be friend"
msgstr "Ser amigo"
-#: src/gui/popupmenu.cpp:145 src/gui/popupmenu.cpp:152
-#: src/gui/popupmenu.cpp:160 src/gui/popupmenu.cpp:178
-#: src/gui/popupmenu.cpp:379 src/gui/popupmenu.cpp:386
-#: src/gui/popupmenu.cpp:394 src/gui/popupmenu.cpp:412
-#: src/gui/popupmenu.cpp:625 src/gui/popupmenu.cpp:632
-#: src/gui/popupmenu.cpp:640 src/gui/popupmenu.cpp:658
+#: src/gui/popupmenu.cpp:145 src/gui/popupmenu.cpp:153
+#: src/gui/popupmenu.cpp:162 src/gui/popupmenu.cpp:170
+#: src/gui/popupmenu.cpp:189 src/gui/popupmenu.cpp:390
+#: src/gui/popupmenu.cpp:398 src/gui/popupmenu.cpp:407
+#: src/gui/popupmenu.cpp:426 src/gui/popupmenu.cpp:434
+#: src/gui/popupmenu.cpp:647 src/gui/popupmenu.cpp:655
+#: src/gui/popupmenu.cpp:664 src/gui/popupmenu.cpp:678
+#: src/gui/popupmenu.cpp:691
msgid "Disregard"
msgstr "Ser inimigo"
-#: src/gui/popupmenu.cpp:147 src/gui/popupmenu.cpp:154
-#: src/gui/popupmenu.cpp:381 src/gui/popupmenu.cpp:388
-#: src/gui/popupmenu.cpp:627 src/gui/popupmenu.cpp:634
+#: src/gui/popupmenu.cpp:147 src/gui/popupmenu.cpp:155
+#: src/gui/popupmenu.cpp:172 src/gui/popupmenu.cpp:392
+#: src/gui/popupmenu.cpp:400 src/gui/popupmenu.cpp:428
+#: src/gui/popupmenu.cpp:649 src/gui/popupmenu.cpp:657
+#: src/gui/popupmenu.cpp:680
msgid "Black list"
msgstr "Lista Negra"
-#: src/gui/popupmenu.cpp:148 src/gui/popupmenu.cpp:155
-#: src/gui/popupmenu.cpp:162 src/gui/popupmenu.cpp:168
-#: src/gui/popupmenu.cpp:173 src/gui/popupmenu.cpp:382
-#: src/gui/popupmenu.cpp:389 src/gui/popupmenu.cpp:396
-#: src/gui/popupmenu.cpp:402 src/gui/popupmenu.cpp:407
-#: src/gui/popupmenu.cpp:628 src/gui/popupmenu.cpp:635
-#: src/gui/popupmenu.cpp:642 src/gui/popupmenu.cpp:648
-#: src/gui/popupmenu.cpp:653
+#: src/gui/popupmenu.cpp:148 src/gui/popupmenu.cpp:156
+#: src/gui/popupmenu.cpp:164 src/gui/popupmenu.cpp:393
+#: src/gui/popupmenu.cpp:401 src/gui/popupmenu.cpp:409
+#: src/gui/popupmenu.cpp:650 src/gui/popupmenu.cpp:658
+#: src/gui/popupmenu.cpp:666
+msgid "Set as enemy"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:149 src/gui/popupmenu.cpp:157
+#: src/gui/popupmenu.cpp:165 src/gui/popupmenu.cpp:173
+#: src/gui/popupmenu.cpp:179 src/gui/popupmenu.cpp:184
+#: src/gui/popupmenu.cpp:394 src/gui/popupmenu.cpp:402
+#: src/gui/popupmenu.cpp:410 src/gui/popupmenu.cpp:416
+#: src/gui/popupmenu.cpp:421 src/gui/popupmenu.cpp:429
+#: src/gui/popupmenu.cpp:651 src/gui/popupmenu.cpp:659
+#: src/gui/popupmenu.cpp:667 src/gui/popupmenu.cpp:673
+#: src/gui/popupmenu.cpp:681 src/gui/popupmenu.cpp:686
msgid "Erase"
msgstr "Apagar"
-#: src/gui/popupmenu.cpp:159 src/gui/popupmenu.cpp:166
-#: src/gui/popupmenu.cpp:172 src/gui/popupmenu.cpp:177
-#: src/gui/popupmenu.cpp:393 src/gui/popupmenu.cpp:400
-#: src/gui/popupmenu.cpp:406 src/gui/popupmenu.cpp:411
-#: src/gui/popupmenu.cpp:639 src/gui/popupmenu.cpp:646
-#: src/gui/popupmenu.cpp:652 src/gui/popupmenu.cpp:657
+#: src/gui/popupmenu.cpp:161 src/gui/popupmenu.cpp:169
+#: src/gui/popupmenu.cpp:177 src/gui/popupmenu.cpp:183
+#: src/gui/popupmenu.cpp:188 src/gui/popupmenu.cpp:406
+#: src/gui/popupmenu.cpp:414 src/gui/popupmenu.cpp:420
+#: src/gui/popupmenu.cpp:425 src/gui/popupmenu.cpp:433
+#: src/gui/popupmenu.cpp:663 src/gui/popupmenu.cpp:671
+#: src/gui/popupmenu.cpp:677 src/gui/popupmenu.cpp:685
+#: src/gui/popupmenu.cpp:690
msgid "Unignore"
msgstr "Não ignorar"
-#: src/gui/popupmenu.cpp:167 src/gui/popupmenu.cpp:179
-#: src/gui/popupmenu.cpp:401 src/gui/popupmenu.cpp:413
-#: src/gui/popupmenu.cpp:647 src/gui/popupmenu.cpp:659
-#: src/playerrelations.cpp:421
+#: src/gui/popupmenu.cpp:178 src/gui/popupmenu.cpp:190
+#: src/gui/popupmenu.cpp:415 src/gui/popupmenu.cpp:435
+#: src/gui/popupmenu.cpp:672 src/gui/popupmenu.cpp:692
+#: src/playerrelations.cpp:446
msgid "Completely ignore"
msgstr "Ignorar completamente"
-#: src/gui/popupmenu.cpp:187 src/gui/popupmenu.cpp:421
-#: src/gui/popupmenu.cpp:667 src/gui/popupmenu.cpp:746
+#: src/gui/popupmenu.cpp:198 src/gui/popupmenu.cpp:443
+#: src/gui/popupmenu.cpp:700 src/gui/popupmenu.cpp:779
msgid "Follow"
msgstr "Seguir"
-#: src/gui/popupmenu.cpp:188 src/gui/popupmenu.cpp:422
-#: src/gui/popupmenu.cpp:668 src/gui/popupmenu.cpp:747
+#: src/gui/popupmenu.cpp:199 src/gui/popupmenu.cpp:444
+#: src/gui/popupmenu.cpp:701 src/gui/popupmenu.cpp:780
msgid "Imitation"
msgstr "Imitar"
-#: src/gui/popupmenu.cpp:197 src/gui/popupmenu.cpp:700
+#: src/gui/popupmenu.cpp:208 src/gui/popupmenu.cpp:733
msgid "Invite to party"
msgstr "Convidar para grupo"
-#: src/gui/popupmenu.cpp:202 src/gui/popupmenu.cpp:433
-#: src/gui/popupmenu.cpp:705
+#: src/gui/popupmenu.cpp:213 src/gui/popupmenu.cpp:455
+#: src/gui/popupmenu.cpp:738
msgid "Kick from party"
msgstr "Expulsar do grupo"
-#: src/gui/popupmenu.cpp:217 src/gui/popupmenu.cpp:229
-#: src/gui/popupmenu.cpp:450 src/gui/popupmenu.cpp:722
+#: src/gui/popupmenu.cpp:228 src/gui/popupmenu.cpp:240
+#: src/gui/popupmenu.cpp:472 src/gui/popupmenu.cpp:755
msgid "Kick from guild"
msgstr "Expulsar da guilda"
-#: src/gui/popupmenu.cpp:222 src/gui/popupmenu.cpp:234
-#: src/gui/popupmenu.cpp:455 src/gui/popupmenu.cpp:727
+#: src/gui/popupmenu.cpp:233 src/gui/popupmenu.cpp:245
+#: src/gui/popupmenu.cpp:477 src/gui/popupmenu.cpp:760
msgid "Change pos in guild"
msgstr "Mudar pos na Guilda"
-#: src/gui/popupmenu.cpp:242 src/gui/popupmenu.cpp:463
-#: src/gui/popupmenu.cpp:736
+#: src/gui/popupmenu.cpp:253 src/gui/popupmenu.cpp:485
+#: src/gui/popupmenu.cpp:769
msgid "Invite to guild"
msgstr "Convidar pra Guilda"
-#: src/gui/popupmenu.cpp:250
+#: src/gui/popupmenu.cpp:261
msgid "Kick player"
msgstr "Chutar Jogador"
-#: src/gui/popupmenu.cpp:252
+#: src/gui/popupmenu.cpp:263
msgid "Nuke"
msgstr "Nu"
-#: src/gui/popupmenu.cpp:254 src/gui/popupmenu.cpp:670
-#: src/gui/popupmenu.cpp:759
+#: src/gui/popupmenu.cpp:265 src/gui/popupmenu.cpp:703
+#: src/gui/popupmenu.cpp:792
msgid "Show Items"
msgstr "Mostrar itens:"
-#: src/gui/popupmenu.cpp:255 src/gui/popupmenu.cpp:671
-#: src/gui/popupmenu.cpp:760 src/gui/popupmenu.cpp:2004
+#: src/gui/popupmenu.cpp:266 src/gui/popupmenu.cpp:704
+#: src/gui/popupmenu.cpp:793 src/gui/popupmenu.cpp:2047
msgid "Undress"
msgstr "Despir"
-#: src/gui/popupmenu.cpp:256 src/gui/popupmenu.cpp:286
-#: src/gui/popupmenu.cpp:423 src/gui/popupmenu.cpp:672
-#: src/gui/popupmenu.cpp:761
+#: src/gui/popupmenu.cpp:267 src/gui/popupmenu.cpp:297
+#: src/gui/popupmenu.cpp:445 src/gui/popupmenu.cpp:705
+#: src/gui/popupmenu.cpp:794
msgid "Add comment"
msgstr "Add comentário"
-#: src/gui/popupmenu.cpp:271 src/gui/popupmenu.cpp:471
-#: src/gui/popupmenu.cpp:687 src/gui/popupmenu.cpp:766
+#: src/gui/popupmenu.cpp:282 src/gui/popupmenu.cpp:493
+#: src/gui/popupmenu.cpp:720 src/gui/popupmenu.cpp:799
msgid "Buy (?)"
msgstr "Comprar (?)"
-#: src/gui/popupmenu.cpp:272 src/gui/popupmenu.cpp:472
-#: src/gui/popupmenu.cpp:688 src/gui/popupmenu.cpp:767
+#: src/gui/popupmenu.cpp:283 src/gui/popupmenu.cpp:494
+#: src/gui/popupmenu.cpp:721 src/gui/popupmenu.cpp:800
msgid "Sell (?)"
msgstr "vender (?)"
-#: src/gui/popupmenu.cpp:297
+#: src/gui/popupmenu.cpp:308
msgid "Kick"
msgstr "Chutar"
-#: src/gui/popupmenu.cpp:308
+#: src/gui/popupmenu.cpp:319
msgid "Remove from attack list"
msgstr "Remover da lista de ataque"
-#: src/gui/popupmenu.cpp:313
+#: src/gui/popupmenu.cpp:324
msgid "Add to priority attack list"
msgstr "Adicionar na prioridade da lista de ataques"
-#: src/gui/popupmenu.cpp:315
+#: src/gui/popupmenu.cpp:326
msgid "Add to attack list"
msgstr "Adicionar a lista de ataques"
-#: src/gui/popupmenu.cpp:317
+#: src/gui/popupmenu.cpp:328
msgid "Add to ignore list"
msgstr "Adicionar a lista de ignorados"
-#: src/gui/popupmenu.cpp:330 src/gui/popupmenu.cpp:475
+#: src/gui/popupmenu.cpp:341 src/gui/popupmenu.cpp:497
msgid "Add name to chat"
msgstr "Adicionar nome ao chat"
-#: src/gui/popupmenu.cpp:500
+#: src/gui/popupmenu.cpp:522
msgid "Pick up"
msgstr "Pegar"
-#: src/gui/popupmenu.cpp:501 src/gui/popupmenu.cpp:1730
-#: src/gui/popupmenu.cpp:1810 src/gui/popupmenu.cpp:1855
+#: src/gui/popupmenu.cpp:523 src/gui/popupmenu.cpp:1773
+#: src/gui/popupmenu.cpp:1853 src/gui/popupmenu.cpp:1898
msgid "Add to chat"
msgstr "Nome no chat"
-#: src/gui/popupmenu.cpp:518
+#: src/gui/popupmenu.cpp:540
msgid "Map Item"
msgstr "Mapa Item"
-#: src/gui/popupmenu.cpp:519
+#: src/gui/popupmenu.cpp:541
msgid "Rename"
msgstr "Renomear"
-#: src/gui/popupmenu.cpp:520 src/gui/popupmenu.cpp:1965
-#: src/gui/popupmenu.cpp:1976 src/gui/popupmenu.cpp:1980
+#: src/gui/popupmenu.cpp:542 src/gui/popupmenu.cpp:2008
+#: src/gui/popupmenu.cpp:2019 src/gui/popupmenu.cpp:2023
msgid "Remove"
msgstr "Remover"
-#: src/gui/popupmenu.cpp:525
+#: src/gui/popupmenu.cpp:547
msgid "Warp"
msgstr "Urdidura"
-#: src/gui/popupmenu.cpp:538
+#: src/gui/popupmenu.cpp:560
msgid "Load old outfits"
msgstr "Carregar velhas roupas"
-#: src/gui/popupmenu.cpp:554 src/gui/windowmenu.cpp:96
+#: src/gui/popupmenu.cpp:576 src/gui/windowmenu.cpp:96
msgid "Spells"
msgstr "Feitiços"
-#: src/gui/popupmenu.cpp:555
+#: src/gui/popupmenu.cpp:577
msgid "Load old spells"
msgstr "Carregar velhos feitiços"
-#: src/gui/popupmenu.cpp:556
+#: src/gui/popupmenu.cpp:578
msgid "Edit spell"
msgstr "Editar feitiços"
-#: src/gui/popupmenu.cpp:580
+#: src/gui/popupmenu.cpp:602
msgid "Disable highlight"
msgstr "Desabilitar destaque"
-#: src/gui/popupmenu.cpp:582
+#: src/gui/popupmenu.cpp:604
msgid "Enable highlight"
msgstr "Habilitar destaque"
-#: src/gui/popupmenu.cpp:584
+#: src/gui/popupmenu.cpp:606
msgid "Don't remove name"
msgstr "Não retire o nome"
-#: src/gui/popupmenu.cpp:586
+#: src/gui/popupmenu.cpp:608
msgid "Remove name"
msgstr "Remover o nome"
-#: src/gui/popupmenu.cpp:588
+#: src/gui/popupmenu.cpp:610
msgid "Enable away"
msgstr "Habilitar modo indisponível"
-#: src/gui/popupmenu.cpp:590
+#: src/gui/popupmenu.cpp:612
msgid "Disable away"
msgstr "Desabilitar modo indisponível"
-#: src/gui/popupmenu.cpp:595 src/gui/socialwindow.cpp:1141
+#: src/gui/popupmenu.cpp:617 src/gui/socialwindow.cpp:1141
msgid "Leave"
msgstr "Sair"
-#: src/gui/popupmenu.cpp:780
+#: src/gui/popupmenu.cpp:813
msgid "Change guild position"
msgstr "Mudar a posição da guilda"
#. TRANSLATORS: number of chars in string should be near original
-#: src/gui/popupmenu.cpp:1243
+#: src/gui/popupmenu.cpp:1286
msgid "Rename map sign "
msgstr "Renomear mapa "
#. TRANSLATORS: number of chars in string should be near original
-#: src/gui/popupmenu.cpp:1245
+#: src/gui/popupmenu.cpp:1288
msgid "Name: "
msgstr "Nome: "
#. TRANSLATORS: number of chars in string should be near original
-#: src/gui/popupmenu.cpp:1295
+#: src/gui/popupmenu.cpp:1338
msgid "Player comment "
msgstr "Comentário do jogador"
#. TRANSLATORS: number of chars in string should be near original
-#: src/gui/popupmenu.cpp:1297
+#: src/gui/popupmenu.cpp:1340
msgid "Comment: "
msgstr "Comentário:"
-#: src/gui/popupmenu.cpp:1668
+#: src/gui/popupmenu.cpp:1711
msgid "Add to trade"
msgstr "Add. na negociação"
-#: src/gui/popupmenu.cpp:1672
+#: src/gui/popupmenu.cpp:1715
msgid "Add to trade 10"
msgstr "Add. 10 na negociação"
-#: src/gui/popupmenu.cpp:1673
+#: src/gui/popupmenu.cpp:1716
msgid "Add to trade half"
msgstr "Add. metade na negociação"
-#: src/gui/popupmenu.cpp:1674
+#: src/gui/popupmenu.cpp:1717
msgid "Add to trade all"
msgstr "Add. todos na negociação"
-#: src/gui/popupmenu.cpp:1684
+#: src/gui/popupmenu.cpp:1727
msgid "Store 10"
msgstr "Guardar 10"
-#: src/gui/popupmenu.cpp:1685
+#: src/gui/popupmenu.cpp:1728
msgid "Store half"
msgstr "Guardar metade"
-#: src/gui/popupmenu.cpp:1686
+#: src/gui/popupmenu.cpp:1729
msgid "Store all"
msgstr "Guardar tudo"
-#: src/gui/popupmenu.cpp:1706 src/gui/popupmenu.cpp:1798
-#: src/gui/popupmenu.cpp:1843
+#: src/gui/popupmenu.cpp:1749 src/gui/popupmenu.cpp:1841
+#: src/gui/popupmenu.cpp:1886
msgid "Drop all"
msgstr "Descartar tudo"
-#: src/gui/popupmenu.cpp:1725
+#: src/gui/popupmenu.cpp:1768
msgid "Retrieve 10"
msgstr "Retirar 10"
-#: src/gui/popupmenu.cpp:1726
+#: src/gui/popupmenu.cpp:1769
msgid "Retrieve half"
msgstr "Retirar metade"
-#: src/gui/popupmenu.cpp:1727
+#: src/gui/popupmenu.cpp:1770
msgid "Retrieve all"
msgstr "Retirar tudo"
-#: src/gui/popupmenu.cpp:1758 src/gui/popupmenu.cpp:1814
+#: src/gui/popupmenu.cpp:1801 src/gui/popupmenu.cpp:1857
msgid "Load old item shortcuts"
msgstr "Carregar antigos atalhos de item"
-#: src/gui/popupmenu.cpp:1859
+#: src/gui/popupmenu.cpp:1902
msgid "Load old drop shortcuts"
msgstr "Carregar antigos atalhos de descarte"
-#: src/gui/popupmenu.cpp:1885 src/gui/popupmenu.cpp:1920
+#: src/gui/popupmenu.cpp:1928 src/gui/popupmenu.cpp:1963
msgid "Hide"
msgstr "Ocultar"
-#: src/gui/popupmenu.cpp:1891 src/gui/popupmenu.cpp:1926
+#: src/gui/popupmenu.cpp:1934 src/gui/popupmenu.cpp:1969
msgid "Show"
msgstr "Mostrar"
-#: src/gui/popupmenu.cpp:1932
+#: src/gui/popupmenu.cpp:1975
msgid "Reset yellow bar"
msgstr "Zerar barra amarela"
-#: src/gui/popupmenu.cpp:1934 src/gui/statuswindow.cpp:241
+#: src/gui/popupmenu.cpp:1977 src/gui/statuswindow.cpp:242
msgid "Copy to chat"
msgstr "Copiar para chat"
-#: src/gui/popupmenu.cpp:1952 src/gui/socialwindow.cpp:958
+#: src/gui/popupmenu.cpp:1995 src/gui/setup_theme.cpp:88
+#: src/gui/setup_theme.cpp:145 src/gui/socialwindow.cpp:958
#: src/gui/socialwindow.cpp:993 src/gui/socialwindow.cpp:1028
msgid "(default)"
msgstr "(padrão)"
-#: src/gui/popupmenu.cpp:1962 src/gui/popupmenu.cpp:1973
+#: src/gui/popupmenu.cpp:2005 src/gui/popupmenu.cpp:2016
msgid "Move up"
msgstr "Mover para cima"
-#: src/gui/popupmenu.cpp:1964 src/gui/popupmenu.cpp:1975
+#: src/gui/popupmenu.cpp:2007 src/gui/popupmenu.cpp:2018
msgid "Move down"
msgstr "Mover para baixo"
@@ -1936,29 +1957,33 @@ msgstr "Aplicar"
msgid "Reset Windows"
msgstr "Restaurar janelas"
-#: src/gui/setup_joystick.cpp:40 src/gui/setup_joystick.cpp:79
+#: src/gui/setup_joystick.cpp:70 src/gui/setup_joystick.cpp:142
msgid "Press the button to start calibration"
msgstr "Aperte o botão para começar a calibrar"
-#: src/gui/setup_joystick.cpp:41 src/gui/setup_joystick.cpp:77
+#: src/gui/setup_joystick.cpp:71 src/gui/setup_joystick.cpp:140
msgid "Calibrate"
msgstr "Calibrar"
-#: src/gui/setup_joystick.cpp:42
+#: src/gui/setup_joystick.cpp:72
msgid "Enable joystick"
msgstr "Habilitar joystick"
-#: src/gui/setup_joystick.cpp:44
+#: src/gui/setup_joystick.cpp:75
+msgid "Use joystick if client window inactive"
+msgstr ""
+
+#: src/gui/setup_joystick.cpp:78
msgid "Joystick"
msgstr "Joystick"
-#: src/gui/setup_joystick.cpp:84
+#: src/gui/setup_joystick.cpp:147
msgid "Stop"
msgstr "Parar"
-#: src/gui/setup_joystick.cpp:85
-msgid "Rotate the stick"
-msgstr "Gire o bastão"
+#: src/gui/setup_joystick.cpp:149
+msgid "Rotate the stick and dont press buttons"
+msgstr ""
#: src/gui/setup_keyboard.cpp:80
msgid "Keyboard"
@@ -2141,22 +2166,22 @@ msgid "Enable bot checker"
msgstr "Habilitar Analisador de bot"
#: src/gui/setup_other.cpp:174
-msgid "Enable buggy servers protection"
-msgstr "Habilitar proteção contra servidores com bugs"
+msgid "Enable buggy servers protection (do not disable)"
+msgstr ""
-#: src/gui/setup_other.cpp:177
+#: src/gui/setup_other.cpp:178
msgid "Enable debug log"
msgstr "Habilitar Depurador"
-#: src/gui/setup_other.cpp:180
+#: src/gui/setup_other.cpp:181
msgid "Low traffic mode"
msgstr "Modo de baixo tráfego"
-#: src/gui/setup_other.cpp:183
+#: src/gui/setup_other.cpp:184
msgid "Hide shield sprite"
msgstr "Ocultar sprite de escudo"
-#: src/gui/setup_other.cpp:186
+#: src/gui/setup_other.cpp:187
msgid "Show background"
msgstr "Mostrar imagem de fundo"
@@ -2284,91 +2309,151 @@ msgstr "Apagado"
msgid "Blacklisted"
msgstr "Na Lista Negra "
-#: src/gui/setup_relations.cpp:239
+#: src/gui/setup_relations.cpp:76
+msgid "Enemy"
+msgstr ""
+
+#: src/gui/setup_relations.cpp:240
msgid "Allow trading"
msgstr "Permitir negociações"
-#: src/gui/setup_relations.cpp:241
+#: src/gui/setup_relations.cpp:242
msgid "Allow whispers"
msgstr "Permitir mensagens particulares"
-#: src/gui/setup_relations.cpp:244
+#: src/gui/setup_relations.cpp:245
msgid "Old"
msgstr "Antigo"
-#: src/gui/setup_relations.cpp:246
+#: src/gui/setup_relations.cpp:247
msgid "Relations"
msgstr "Relações"
-#: src/gui/setup_relations.cpp:271
+#: src/gui/setup_relations.cpp:272
msgid "When ignoring:"
msgstr "Quando ignorar:"
-#: src/gui/setup_theme.cpp:107
+#: src/gui/setup_theme.cpp:108
msgid "Tiny (10)"
msgstr "Minúsculo (10)"
-#: src/gui/setup_theme.cpp:108
+#: src/gui/setup_theme.cpp:109
msgid "Small (11)"
msgstr "Pequeno (11)"
-#: src/gui/setup_theme.cpp:109
+#: src/gui/setup_theme.cpp:110
msgid "Medium (12)"
msgstr "Médio (12)"
-#: src/gui/setup_theme.cpp:110
+#: src/gui/setup_theme.cpp:111
msgid "Large (13)"
msgstr "Largo (13)"
-#: src/gui/setup_theme.cpp:111
+#: src/gui/setup_theme.cpp:112
msgid "Big (14)"
msgstr "Grande (14)"
-#: src/gui/setup_theme.cpp:112
+#: src/gui/setup_theme.cpp:113
msgid "Huge (15)"
msgstr "Enorme (15)"
-#: src/gui/setup_theme.cpp:143
+#: src/gui/setup_theme.cpp:146
+msgid "Chinese (China)"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:147
+msgid "Czech"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:148
+msgid "English"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:149
+msgid "Finnish"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:150
+msgid "French"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:151
+msgid "German"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:152
+msgid "Indonesian"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:153
+msgid "Japanese"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:154
+msgid "Dutch (Belgium/Flemish)"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:155
+msgid "Portuguese"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:156
+msgid "Portuguese (Brazilian)"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:157
+msgid "Russian"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:158
+msgid "Spanish (Castilian)"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:190
msgid "Theme"
msgstr "Tema"
-#: src/gui/setup_theme.cpp:145
+#: src/gui/setup_theme.cpp:192
msgid "Gui theme"
msgstr "Tema"
-#: src/gui/setup_theme.cpp:146
+#: src/gui/setup_theme.cpp:193
+msgid "Language"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:194
msgid "Main Font"
msgstr "Fonte"
-#: src/gui/setup_theme.cpp:147
+#: src/gui/setup_theme.cpp:195
msgid "Bold font"
msgstr "Fonte negrito"
-#: src/gui/setup_theme.cpp:148
+#: src/gui/setup_theme.cpp:196
msgid "Particle font"
msgstr "Fonte de particulas"
-#: src/gui/setup_theme.cpp:149
+#: src/gui/setup_theme.cpp:197
msgid "Help font"
msgstr "Fonte de ajuda"
-#: src/gui/setup_theme.cpp:150
+#: src/gui/setup_theme.cpp:198
msgid "Secure font"
msgstr "Fonte segura"
-#: src/gui/setup_theme.cpp:151
+#: src/gui/setup_theme.cpp:199
msgid "Japanese font"
msgstr "Font Japonesa"
-#: src/gui/setup_theme.cpp:183
+#: src/gui/setup_theme.cpp:236
msgid "Font size"
msgstr "Tamanho da fonte"
-#: src/gui/setup_theme.cpp:299
+#: src/gui/setup_theme.cpp:377
msgid "Theme Changed"
msgstr "Tema alterado"
-#: src/gui/setup_theme.cpp:300 src/gui/setup_video.cpp:619
+#: src/gui/setup_theme.cpp:378 src/gui/setup_video.cpp:619
#: src/gui/setup_video.cpp:624
msgid "Restart your client for the change to take effect."
msgstr "Reincie o cliente para que as mudanças surtam efeito."
@@ -2799,422 +2884,445 @@ msgstr "Escolha o nome do seu grupo."
msgid "Specials"
msgstr "Especiais"
-#: src/gui/statuspopup.cpp:197
+#: src/gui/statuspopup.cpp:204
msgid "(D) default moves"
msgstr "(D) movimentos padrão"
-#: src/gui/statuspopup.cpp:202
+#: src/gui/statuspopup.cpp:209
msgid "(I) invert moves"
msgstr "(l) inserir movimentos"
-#: src/gui/statuspopup.cpp:207
+#: src/gui/statuspopup.cpp:214
msgid "(c) moves with some crazy moves"
msgstr "(c) Alguns movimentos loucos"
-#: src/gui/statuspopup.cpp:212
+#: src/gui/statuspopup.cpp:219
msgid "(C) moves with crazy moves"
msgstr "(C) Movimentos loucos"
-#: src/gui/statuspopup.cpp:217
+#: src/gui/statuspopup.cpp:224
msgid "(d) double normal + crazy"
msgstr "(d) dobro normal + louco"
-#: src/gui/statuspopup.cpp:222
+#: src/gui/statuspopup.cpp:229
msgid "(?) move"
msgstr "(?) mover"
-#: src/gui/statuspopup.cpp:240
+#: src/gui/statuspopup.cpp:247
msgid "(a) custom crazy move"
msgstr "(a) movimentos loucos customizados"
-#: src/gui/statuspopup.cpp:244
+#: src/gui/statuspopup.cpp:251
msgid "(?) crazy move"
msgstr "(?) Movimentos loucos"
-#: src/gui/statuspopup.cpp:254
+#: src/gui/statuspopup.cpp:261
msgid "(0) default moves to target"
msgstr "(0) Mover ao alvo padrão"
-#: src/gui/statuspopup.cpp:259
+#: src/gui/statuspopup.cpp:266
msgid "(1) moves to target in distance 1"
msgstr "(1) Mover ao alvo com distância 1"
-#: src/gui/statuspopup.cpp:264
+#: src/gui/statuspopup.cpp:271
msgid "(2) moves to target in distance 2"
msgstr "(2) mover ao alvo em distância 2"
-#: src/gui/statuspopup.cpp:269
+#: src/gui/statuspopup.cpp:276
msgid "(3) moves to target in distance 3"
msgstr "(3) Mover ao alvo com distância 3"
-#: src/gui/statuspopup.cpp:274
+#: src/gui/statuspopup.cpp:281
msgid "(5) moves to target in distance 5"
msgstr "(5) Mover ao alvo com distância 5"
-#: src/gui/statuspopup.cpp:279
+#: src/gui/statuspopup.cpp:286
msgid "(7) moves to target in distance 7"
msgstr "(7) Mover ao alvo com distância 7"
-#: src/gui/statuspopup.cpp:284
+#: src/gui/statuspopup.cpp:291
msgid "(A) moves to target in attack range"
msgstr "(A) Mover ao alvo com a distância de ataque"
-#: src/gui/statuspopup.cpp:289
+#: src/gui/statuspopup.cpp:296
msgid "(a) archer attack range"
msgstr "(a) Alcance ataque de arqueiro"
-#: src/gui/statuspopup.cpp:294
+#: src/gui/statuspopup.cpp:301
msgid "(?) move to target"
msgstr "(?) Mover ao alvo"
-#: src/gui/statuspopup.cpp:302
+#: src/gui/statuspopup.cpp:309
msgid "(D) default follow"
msgstr "(D) Seguir em modo padrão"
-#: src/gui/statuspopup.cpp:306
+#: src/gui/statuspopup.cpp:313
msgid "(R) relative follow"
msgstr "(R) Seguir em modo relativo"
-#: src/gui/statuspopup.cpp:310
+#: src/gui/statuspopup.cpp:317
msgid "(M) mirror follow"
msgstr "(M) Seguir em modo espelhado"
-#: src/gui/statuspopup.cpp:314
+#: src/gui/statuspopup.cpp:321
msgid "(P) pet follow"
msgstr "(P) Seguir em modo animal de extimação"
-#: src/gui/statuspopup.cpp:318
+#: src/gui/statuspopup.cpp:325
msgid "(?) unknown follow"
msgstr "(?) Seguir em modo desconhecido"
-#: src/gui/statuspopup.cpp:327 src/gui/statuspopup.cpp:350
+#: src/gui/statuspopup.cpp:334 src/gui/statuspopup.cpp:357
msgid "(D) default attack"
msgstr "(D) Ataque padrão"
-#: src/gui/statuspopup.cpp:332
+#: src/gui/statuspopup.cpp:339
msgid "(s) switch attack without shield"
msgstr "(s) Trocar ataque sem escudo"
-#: src/gui/statuspopup.cpp:337
+#: src/gui/statuspopup.cpp:344
msgid "(S) switch attack with shield"
msgstr "(S) Trocar ataque com escudo"
-#: src/gui/statuspopup.cpp:341 src/gui/statuspopup.cpp:366
+#: src/gui/statuspopup.cpp:348 src/gui/statuspopup.cpp:373
msgid "(?) attack"
msgstr "(?) Ataque"
-#: src/gui/statuspopup.cpp:354
+#: src/gui/statuspopup.cpp:361
msgid "(G) go and attack"
msgstr "(G) Ir e atacar"
-#: src/gui/statuspopup.cpp:358
+#: src/gui/statuspopup.cpp:365
msgid "(A) go, attack, pickup"
msgstr "(A) Ir, atacar, pegar"
-#: src/gui/statuspopup.cpp:362
+#: src/gui/statuspopup.cpp:369
msgid "(d) without auto attack"
msgstr "(d) sem auto ataque"
-#: src/gui/statuspopup.cpp:380
+#: src/gui/statuspopup.cpp:387
msgid "(S) small pick up 1x1 cells"
msgstr "(S) Pequeno pegar 1x1 celulas"
-#: src/gui/statuspopup.cpp:384
+#: src/gui/statuspopup.cpp:391
msgid "(D) default pick up 2x1 cells"
msgstr "(D) Pegar padrão 2x1 células"
-#: src/gui/statuspopup.cpp:388
+#: src/gui/statuspopup.cpp:395
msgid "(F) forward pick up 2x3 cells"
msgstr "(F) Pegar em frente 2x3 células"
-#: src/gui/statuspopup.cpp:392
+#: src/gui/statuspopup.cpp:399
msgid "(3) pick up 3x3 cells"
msgstr "(3) Pegar 3x3 células"
-#: src/gui/statuspopup.cpp:396
+#: src/gui/statuspopup.cpp:403
msgid "(g) go and pick up in distance 4"
msgstr "(g) Ir e pegar em distância 4"
-#: src/gui/statuspopup.cpp:400
+#: src/gui/statuspopup.cpp:407
msgid "(G) go and pick up in distance 8"
msgstr "(G) Ir e pegar em distância 8"
-#: src/gui/statuspopup.cpp:404
+#: src/gui/statuspopup.cpp:411
msgid "(A) go and pick up in max distance"
msgstr "(A) Ir e pegar em distância mâxima"
-#: src/gui/statuspopup.cpp:408
+#: src/gui/statuspopup.cpp:415
msgid "(?) pick up"
msgstr "(?) Pegar item"
-#: src/gui/statuspopup.cpp:417
+#: src/gui/statuspopup.cpp:424
msgid "(N) normal map view"
msgstr "(N) Visualizardor de mapa normal"
-#: src/gui/statuspopup.cpp:421
+#: src/gui/statuspopup.cpp:428
msgid "(D) debug map view"
msgstr "(D) Visualizador de mapa depurador"
-#: src/gui/statuspopup.cpp:425
+#: src/gui/statuspopup.cpp:432
msgid "(u) ultra map view"
msgstr "(u) Visualizador de mapa ultra"
-#: src/gui/statuspopup.cpp:429
+#: src/gui/statuspopup.cpp:436
msgid "(U) ultra map view 2"
msgstr "(U) Visualizador de mapa ultra 2"
-#: src/gui/statuspopup.cpp:433
+#: src/gui/statuspopup.cpp:440
msgid "(e) empty map view"
msgstr "(e) Visualizador de mapa vazio"
-#: src/gui/statuspopup.cpp:437
+#: src/gui/statuspopup.cpp:444
msgid "(b) black & white map view"
msgstr "(b) Visualizador de mapa preto e branco"
-#: src/gui/statuspopup.cpp:441
+#: src/gui/statuspopup.cpp:448
msgid "(?) map view"
msgstr "(?) Visualizador de mapa"
-#: src/gui/statuspopup.cpp:449
+#: src/gui/statuspopup.cpp:456
msgid "(f) use #flar for magic attack"
msgstr "(f) Usar #flar para feitiço de ataque"
-#: src/gui/statuspopup.cpp:454
+#: src/gui/statuspopup.cpp:461
msgid "(c) use #chiza for magic attack"
msgstr "(c) Usar #chiza para feitiço de ataque"
-#: src/gui/statuspopup.cpp:459
+#: src/gui/statuspopup.cpp:466
msgid "(I) use #ingrav for magic attack"
msgstr "(I) Usar #ingrav para feitiço de ataque"
-#: src/gui/statuspopup.cpp:464
+#: src/gui/statuspopup.cpp:471
msgid "(F) use #frillyar for magic attack"
msgstr "(F) Usar #frillyar para feitiço de ataque"
-#: src/gui/statuspopup.cpp:469
+#: src/gui/statuspopup.cpp:476
msgid "(U) use #upmarmu for magic attack"
msgstr "(U) Usar #upmarmu para feitiço de ataque"
-#: src/gui/statuspopup.cpp:473
+#: src/gui/statuspopup.cpp:480
msgid "(?) magic attack"
msgstr "(?) Feitiço de ataque"
-#: src/gui/statuspopup.cpp:482
+#: src/gui/statuspopup.cpp:489
+msgid "(a) attack all players"
+msgstr ""
+
+#: src/gui/statuspopup.cpp:493
+msgid "(f) attack not friends"
+msgstr ""
+
+#: src/gui/statuspopup.cpp:497
+msgid "(b) attack bad relations"
+msgstr ""
+
+#: src/gui/statuspopup.cpp:501
+msgid "(d) dont attack players"
+msgstr ""
+
+#: src/gui/statuspopup.cpp:505
+msgid "(?) pvp attack"
+msgstr ""
+
+#: src/gui/statuspopup.cpp:514
msgid "(D) default imitation"
msgstr "(D) Mímica padrão"
-#: src/gui/statuspopup.cpp:486
+#: src/gui/statuspopup.cpp:518
msgid "(O) outfits imitation"
msgstr "(O) Mímica de roupas"
-#: src/gui/statuspopup.cpp:490
+#: src/gui/statuspopup.cpp:522
msgid "(?) imitation"
msgstr "(?) Mímica"
-#: src/gui/statuspopup.cpp:499
+#: src/gui/statuspopup.cpp:531
msgid "(O) on keyboard"
msgstr "(O) No teclado"
-#: src/gui/statuspopup.cpp:502
+#: src/gui/statuspopup.cpp:534
msgid "(A) away"
msgstr "(A) Ausente"
-#: src/gui/statuspopup.cpp:505 src/gui/statuspopup.cpp:525
+#: src/gui/statuspopup.cpp:537 src/gui/statuspopup.cpp:557
msgid "(?) away"
msgstr "(?) Ausente"
-#: src/gui/statuspopup.cpp:513
+#: src/gui/statuspopup.cpp:545
msgid "(G) game camera mode"
msgstr "(G) Modo de jogo câmera"
-#: src/gui/statuspopup.cpp:517
+#: src/gui/statuspopup.cpp:549
msgid "(F) free camera mode"
msgstr "(F) Modo de jogo câmera livre"
-#: src/gui/statuspopup.cpp:521
+#: src/gui/statuspopup.cpp:553
msgid "(D) design camera mode"
msgstr "(D) Modo de jogo câmera design"
-#: src/gui/statuspopup.cpp:532
+#: src/gui/statuspopup.cpp:564
msgid "Game modifiers are disabled"
msgstr "Modificadores de jogo desativados"
-#: src/gui/statuspopup.cpp:537
+#: src/gui/statuspopup.cpp:569
msgid "Game modifiers are enabled"
msgstr "Modificadores de jogo desativados"
-#: src/gui/statuswindow.cpp:143 src/gui/statuswindow.cpp:273
-#: src/gui/statuswindow.cpp:336
+#: src/gui/statuswindow.cpp:144 src/gui/statuswindow.cpp:274
+#: src/gui/statuswindow.cpp:337
#, c-format
msgid "Level: %d"
msgstr "Nível: %d"
-#: src/gui/statuswindow.cpp:144 src/gui/statuswindow.cpp:259
-#: src/gui/statuswindow.cpp:303
+#: src/gui/statuswindow.cpp:145 src/gui/statuswindow.cpp:260
+#: src/gui/statuswindow.cpp:304
#, c-format
msgid "Money: %s"
msgstr "Dinheiro: %s"
-#: src/gui/statuswindow.cpp:150
+#: src/gui/statuswindow.cpp:151
msgid "HP:"
msgstr "HP:"
-#: src/gui/statuswindow.cpp:157
+#: src/gui/statuswindow.cpp:158
msgid "Exp:"
msgstr "Exp:"
-#: src/gui/statuswindow.cpp:171
+#: src/gui/statuswindow.cpp:172
msgid "MP:"
msgstr "MP:"
-#: src/gui/statuswindow.cpp:203 src/gui/statuswindow.cpp:386
+#: src/gui/statuswindow.cpp:204 src/gui/statuswindow.cpp:387
#, c-format
msgid "Job: %d"
msgstr "Job: %d"
-#: src/gui/statuswindow.cpp:204
+#: src/gui/statuswindow.cpp:205
msgid "Job:"
msgstr "Job:"
-#: src/gui/statuswindow.cpp:262 src/gui/statuswindow.cpp:310
+#: src/gui/statuswindow.cpp:263 src/gui/statuswindow.cpp:311
#, c-format
msgid "Character points: %d"
msgstr "Pontos do personagem: %d"
-#: src/gui/statuswindow.cpp:268
+#: src/gui/statuswindow.cpp:269
#, c-format
msgid "Level: %d (GM %d)"
msgstr "Nível: %d (GM %d)"
-#: src/gui/statuswindow.cpp:324
+#: src/gui/statuswindow.cpp:325
#, c-format
msgid "Correction points: %d"
msgstr "Pontos de correção: %d"
-#: src/gui/statuswindow.cpp:648 src/gui/statuswindow.cpp:716
-#: src/gui/statuswindow.cpp:736 src/gui/statuswindow.cpp:752
-#: src/gui/statuswindow.cpp:798 src/gui/statuswindow.cpp:827
-#: src/gui/statuswindow.cpp:850 src/gui/statuswindow.cpp:869
+#: src/gui/statuswindow.cpp:649 src/gui/statuswindow.cpp:717
+#: src/gui/statuswindow.cpp:737 src/gui/statuswindow.cpp:753
+#: src/gui/statuswindow.cpp:818 src/gui/statuswindow.cpp:847
+#: src/gui/statuswindow.cpp:870 src/gui/statuswindow.cpp:889
msgid "(D)"
msgstr "(D)"
-#: src/gui/statuswindow.cpp:651 src/gui/statuswindow.cpp:777
+#: src/gui/statuswindow.cpp:652 src/gui/statuswindow.cpp:778
msgid "(I)"
msgstr "(l)"
-#: src/gui/statuswindow.cpp:654 src/gui/statuswindow.cpp:774
+#: src/gui/statuswindow.cpp:655 src/gui/statuswindow.cpp:775
msgid "(c)"
msgstr "(c)"
-#: src/gui/statuswindow.cpp:657
+#: src/gui/statuswindow.cpp:658
msgid "(C)"
msgstr "(C)"
-#: src/gui/statuswindow.cpp:660 src/gui/statuswindow.cpp:761
+#: src/gui/statuswindow.cpp:661 src/gui/statuswindow.cpp:762
+#: src/gui/statuswindow.cpp:803
msgid "(d)"
msgstr "(d)"
-#: src/gui/statuswindow.cpp:663 src/gui/statuswindow.cpp:677
-#: src/gui/statuswindow.cpp:709 src/gui/statuswindow.cpp:728
-#: src/gui/statuswindow.cpp:745 src/gui/statuswindow.cpp:764
-#: src/gui/statuswindow.cpp:786 src/gui/statuswindow.cpp:816
-#: src/gui/statuswindow.cpp:842 src/gui/statuswindow.cpp:856
-#: src/gui/statuswindow.cpp:872 src/gui/statuswindow.cpp:885
+#: src/gui/statuswindow.cpp:664 src/gui/statuswindow.cpp:678
+#: src/gui/statuswindow.cpp:710 src/gui/statuswindow.cpp:729
+#: src/gui/statuswindow.cpp:746 src/gui/statuswindow.cpp:765
+#: src/gui/statuswindow.cpp:787 src/gui/statuswindow.cpp:806
+#: src/gui/statuswindow.cpp:836 src/gui/statuswindow.cpp:862
+#: src/gui/statuswindow.cpp:876 src/gui/statuswindow.cpp:892
+#: src/gui/statuswindow.cpp:905
msgid "(?)"
msgstr "(?)"
-#: src/gui/statuswindow.cpp:674 src/gui/statuswindow.cpp:706
+#: src/gui/statuswindow.cpp:675 src/gui/statuswindow.cpp:707
+#: src/gui/statuswindow.cpp:794
msgid "(a)"
msgstr "(a)"
-#: src/gui/statuswindow.cpp:685
+#: src/gui/statuswindow.cpp:686
msgid "(0)"
msgstr "(0)"
-#: src/gui/statuswindow.cpp:688
+#: src/gui/statuswindow.cpp:689
msgid "(1)"
msgstr "(1)"
-#: src/gui/statuswindow.cpp:691
+#: src/gui/statuswindow.cpp:692
msgid "(2)"
msgstr "(2)"
-#: src/gui/statuswindow.cpp:694 src/gui/statuswindow.cpp:804
+#: src/gui/statuswindow.cpp:695 src/gui/statuswindow.cpp:824
msgid "(3)"
msgstr "(3)"
-#: src/gui/statuswindow.cpp:697
+#: src/gui/statuswindow.cpp:698
msgid "(5)"
msgstr "(5)"
-#: src/gui/statuswindow.cpp:700
+#: src/gui/statuswindow.cpp:701
msgid "(7)"
msgstr "(7)"
-#: src/gui/statuswindow.cpp:703 src/gui/statuswindow.cpp:758
-#: src/gui/statuswindow.cpp:813 src/gui/statuswindow.cpp:882
+#: src/gui/statuswindow.cpp:704 src/gui/statuswindow.cpp:759
+#: src/gui/statuswindow.cpp:833 src/gui/statuswindow.cpp:902
msgid "(A)"
msgstr "(A)"
-#: src/gui/statuswindow.cpp:719
+#: src/gui/statuswindow.cpp:720
msgid "(R)"
msgstr "(R)"
-#: src/gui/statuswindow.cpp:722
+#: src/gui/statuswindow.cpp:723
msgid "(M)"
msgstr "(M)"
-#: src/gui/statuswindow.cpp:725
+#: src/gui/statuswindow.cpp:726
msgid "(P)"
msgstr "(P)"
-#: src/gui/statuswindow.cpp:739
+#: src/gui/statuswindow.cpp:740
msgid "(s)"
msgstr "(s)"
-#: src/gui/statuswindow.cpp:742 src/gui/statuswindow.cpp:795
+#: src/gui/statuswindow.cpp:743 src/gui/statuswindow.cpp:815
msgid "(S)"
msgstr "(S)"
-#: src/gui/statuswindow.cpp:755 src/gui/statuswindow.cpp:810
-#: src/gui/statuswindow.cpp:863
+#: src/gui/statuswindow.cpp:756 src/gui/statuswindow.cpp:830
+#: src/gui/statuswindow.cpp:883
msgid "(G)"
msgstr "(G)"
-#: src/gui/statuswindow.cpp:771
+#: src/gui/statuswindow.cpp:772 src/gui/statuswindow.cpp:797
msgid "(f)"
msgstr "(f)"
-#: src/gui/statuswindow.cpp:780 src/gui/statuswindow.cpp:801
-#: src/gui/statuswindow.cpp:866
+#: src/gui/statuswindow.cpp:781 src/gui/statuswindow.cpp:821
+#: src/gui/statuswindow.cpp:886
msgid "(F)"
msgstr "(F)"
-#: src/gui/statuswindow.cpp:783 src/gui/statuswindow.cpp:833
+#: src/gui/statuswindow.cpp:784 src/gui/statuswindow.cpp:853
msgid "(U)"
msgstr "(U)"
-#: src/gui/statuswindow.cpp:807
+#: src/gui/statuswindow.cpp:800 src/gui/statuswindow.cpp:859
+msgid "(b)"
+msgstr "(b)"
+
+#: src/gui/statuswindow.cpp:827
msgid "(g)"
msgstr "(g)"
-#: src/gui/statuswindow.cpp:824
+#: src/gui/statuswindow.cpp:844
msgid "(N)"
msgstr "(N)"
-#: src/gui/statuswindow.cpp:830
+#: src/gui/statuswindow.cpp:850
msgid "(u)"
msgstr "(u)"
-#: src/gui/statuswindow.cpp:836
+#: src/gui/statuswindow.cpp:856
msgid "(e)"
msgstr "(e)"
-#: src/gui/statuswindow.cpp:839
-msgid "(b)"
-msgstr "(b)"
-
-#: src/gui/statuswindow.cpp:853 src/gui/statuswindow.cpp:879
+#: src/gui/statuswindow.cpp:873 src/gui/statuswindow.cpp:899
msgid "(O)"
msgstr "(O)"
@@ -3344,7 +3452,8 @@ msgid "You don't have enough money."
msgstr "Você não tem dinheiro suficiente."
#: src/gui/tradewindow.cpp:454
-msgid "Failed adding item. You can not overlap one kind of item on the window."
+msgid ""
+"Failed adding item. You can not overlap one kind of item on the window."
msgstr ""
"Falha ao adicionar item. Você não pode duplicar este tipo de item na janela."
@@ -3365,21 +3474,21 @@ msgstr "Conectando..."
msgid "Play"
msgstr "Jogar"
-#: src/gui/updaterwindow.cpp:564
+#: src/gui/updaterwindow.cpp:565
msgid "##1 The update process is incomplete."
msgstr "##1 O processo de update está incompleto."
#. TRANSLATORS: Continues "you try again later.".
-#: src/gui/updaterwindow.cpp:566
+#: src/gui/updaterwindow.cpp:567
msgid "##1 It is strongly recommended that"
msgstr "##1 É altamente recomendado que"
#. TRANSLATORS: Begins "It is strongly recommended that".
-#: src/gui/updaterwindow.cpp:568
+#: src/gui/updaterwindow.cpp:569
msgid "##1 you try again later."
msgstr "##1 tente novamente mais tarde."
-#: src/gui/updaterwindow.cpp:744
+#: src/gui/updaterwindow.cpp:745
msgid "Completed"
msgstr "Concluído"
@@ -3724,7 +3833,8 @@ msgid "Command: /unignore <player>"
msgstr "Comando: /unignore <jogador>"
#: src/gui/widgets/whispertab.cpp:131
-msgid "This command stops ignoring the other player if they are being ignored."
+msgid ""
+"This command stops ignoring the other player if they are being ignored."
msgstr ""
"Este comando para de ignorar o outro jogador se ele estiver sendo ignorado."
@@ -3942,7 +4052,7 @@ msgstr "Atalhos de item"
#: src/keyboardconfig.cpp:116 src/keyboardconfig.cpp:119
#: src/keyboardconfig.cpp:121 src/keyboardconfig.cpp:123
#: src/keyboardconfig.cpp:125 src/keyboardconfig.cpp:127
-#: src/keyboardconfig.cpp:369
+#: src/keyboardconfig.cpp:371
#, c-format
msgid "Item Shortcut %d"
msgstr "Atalho para item %d"
@@ -4069,7 +4179,7 @@ msgstr "Emoticon"
#: src/keyboardconfig.cpp:258 src/keyboardconfig.cpp:260
#: src/keyboardconfig.cpp:262 src/keyboardconfig.cpp:264
#: src/keyboardconfig.cpp:266 src/keyboardconfig.cpp:268
-#: src/keyboardconfig.cpp:364
+#: src/keyboardconfig.cpp:366
#, c-format
msgid "Emote Shortcut %d"
msgstr "Atalho para emoticon %d"
@@ -4198,51 +4308,55 @@ msgstr "Usar feitiço de ataque"
msgid "Switch magic attack"
msgstr "Trocar feitiço de ataque"
-#: src/keyboardconfig.cpp:328
+#: src/keyboardconfig.cpp:329
+msgid "Switch pvp attack"
+msgstr ""
+
+#: src/keyboardconfig.cpp:330
msgid "Change move type"
msgstr "Mudar tipo de movimento"
-#: src/keyboardconfig.cpp:330
+#: src/keyboardconfig.cpp:332
msgid "Change Attack Weapon Type"
msgstr "Mudar tipo de ataque de arma"
-#: src/keyboardconfig.cpp:332
+#: src/keyboardconfig.cpp:334
msgid "Change Attack Type"
msgstr "Mudar tipo de ataque"
-#: src/keyboardconfig.cpp:334
+#: src/keyboardconfig.cpp:336
msgid "Change Follow mode"
msgstr "Mudar modo de seguir"
-#: src/keyboardconfig.cpp:336
+#: src/keyboardconfig.cpp:338
msgid "Change Imitation mode"
msgstr "Mudar modo de imitação"
-#: src/keyboardconfig.cpp:339
+#: src/keyboardconfig.cpp:341
msgid "Disable / Enable Game modifier keys"
msgstr "Habilitar / Desabilitar Chaves de modificação"
-#: src/keyboardconfig.cpp:340
+#: src/keyboardconfig.cpp:342
msgid "On / Off audio"
msgstr "Ligar / Desligar áudio"
-#: src/keyboardconfig.cpp:342
+#: src/keyboardconfig.cpp:344
msgid "Enable / Disable away mode"
msgstr "Habilitar / Desabilitar modo indisponivel "
-#: src/keyboardconfig.cpp:344
+#: src/keyboardconfig.cpp:346
msgid "Emulate right click from keyboard"
msgstr "Emular botão direito do teclado"
-#: src/keyboardconfig.cpp:346
+#: src/keyboardconfig.cpp:348
msgid "Toggle camera mode"
msgstr "Alterar modo de camera"
-#: src/keyboardconfig.cpp:348
+#: src/keyboardconfig.cpp:350
msgid "Modifier key"
msgstr "Chave de modificação"
-#: src/keyboardconfig.cpp:427
+#: src/keyboardconfig.cpp:429
#, c-format
msgid ""
"Conflict \"%s\" and \"%s\" keys. Resolve them, or gameplay may result in "
@@ -4251,68 +4365,68 @@ msgstr ""
"Conflito com as teclas \"%s\" e \"%s\" . Resolva o conflito para não "
"comprometer a jogabilidade."
-#: src/localplayer.cpp:381
+#: src/localplayer.cpp:389
msgid "You were killed by "
msgstr "Você foi morto por "
-#: src/localplayer.cpp:1428
+#: src/localplayer.cpp:1442
msgid "Tried to pick up nonexistent item."
msgstr "Você tentou pegar um item não existente."
-#: src/localplayer.cpp:1430
+#: src/localplayer.cpp:1444
msgid "Item is too heavy."
msgstr "Este item é muito pesado."
-#: src/localplayer.cpp:1432
+#: src/localplayer.cpp:1446
msgid "Item is too far away."
msgstr "Item está muito longe"
-#: src/localplayer.cpp:1434
+#: src/localplayer.cpp:1448
msgid "Inventory is full."
msgstr "O inventário está cheio."
-#: src/localplayer.cpp:1436
+#: src/localplayer.cpp:1450
msgid "Stack is too big."
msgstr "Esta pilha é muito grande."
-#: src/localplayer.cpp:1439
+#: src/localplayer.cpp:1453
msgid "Item belongs to someone else."
msgstr "Este item pertence a outra pessoa."
-#: src/localplayer.cpp:1442
+#: src/localplayer.cpp:1456
msgid "Unknown problem picking up item."
msgstr "Problema desconhecido ao tentar pegar item."
#. TRANSLATORS: %d is number,
#. [@@%d|%s@@] - here player can see link to item
-#: src/localplayer.cpp:1466
+#: src/localplayer.cpp:1480
#, c-format
msgid "You picked up %d [@@%d|%s@@]."
msgid_plural "You picked up %d [@@%d|%s@@]."
msgstr[0] "Você pegou %d [@@%d|%s@@]."
msgstr[1] "Você pegou %d [@@%d|%s@@]."
-#: src/localplayer.cpp:3181
+#: src/localplayer.cpp:3206
msgid "Away"
msgstr "Indisponivel "
-#: src/localplayer.cpp:3509
+#: src/localplayer.cpp:3541
msgid "Follow: "
msgstr "Seguindo:"
-#: src/localplayer.cpp:3511 src/localplayer.cpp:3526
+#: src/localplayer.cpp:3543 src/localplayer.cpp:3558
msgid "Follow canceled"
msgstr "Seguindo cancelado"
-#: src/localplayer.cpp:3518
+#: src/localplayer.cpp:3550
msgid "Imitation: "
msgstr "Imitando:"
-#: src/localplayer.cpp:3520 src/localplayer.cpp:3528
+#: src/localplayer.cpp:3552 src/localplayer.cpp:3560
msgid "Imitation canceled"
msgstr "Imitação cancelada"
-#: src/localplayer.cpp:3876
+#: src/localplayer.cpp:3908
msgid "You see "
msgstr "Você vê "
@@ -4701,7 +4815,8 @@ msgstr "Comando: /exp <policy>"
#: src/net/ea/gui/partytab.cpp:108
msgid "This command changes the party's experience sharing policy."
-msgstr "Este comando muda a opção de compartilhamento de experiência do grupo."
+msgstr ""
+"Este comando muda a opção de compartilhamento de experiência do grupo."
#: src/net/ea/gui/partytab.cpp:110
msgid ""
@@ -4718,7 +4833,8 @@ msgstr "Comando: /exp"
#: src/net/ea/gui/partytab.cpp:114
msgid "This command displays the party's current experience sharing policy."
msgstr ""
-"Este comando exibe a atual opção de compartilhamento de experiência do grupo."
+"Este comando exibe a atual opção de compartilhamento de experiência do "
+"grupo."
#: src/net/ea/gui/partytab.cpp:148 src/net/ea/partyhandler.cpp:284
msgid "Item sharing enabled."
@@ -5006,7 +5122,8 @@ msgstr "Mensagem"
#: src/net/ea/playerhandler.cpp:336
msgid ""
-"You are carrying more than half your weight. You are unable to regain health."
+"You are carrying more than half your weight. You are unable to regain "
+"health."
msgstr ""
"Você está carregando mais que a metade de seu peso. Você não poderá mais "
"recuperar HP."
@@ -5120,53 +5237,53 @@ msgstr "Veneno não surtiu efeito..."
msgid "%s wants to trade with you, do you accept?"
msgstr "%s quer negociar com você, você aceita?"
-#: src/net/ea/tradehandler.cpp:134
+#: src/net/ea/tradehandler.cpp:135
msgid "Trading isn't possible. Trade partner is too far away."
msgstr "Negociação impossível. O parceiro de negócios está muito longe."
-#: src/net/ea/tradehandler.cpp:138
+#: src/net/ea/tradehandler.cpp:139
msgid "Trading isn't possible. Character doesn't exist."
msgstr "Negociação impossível. O personagem não existe."
-#: src/net/ea/tradehandler.cpp:142
+#: src/net/ea/tradehandler.cpp:143
msgid "Trade cancelled due to an unknown reason."
msgstr "Negociação cancelada devido a uma razão desconhecida."
-#: src/net/ea/tradehandler.cpp:148
+#: src/net/ea/tradehandler.cpp:149
#, c-format
msgid "Trade: You and %s"
msgstr "Negociação: Você e %s"
-#: src/net/ea/tradehandler.cpp:158
+#: src/net/ea/tradehandler.cpp:159
#, c-format
msgid "Trade with %s cancelled."
msgstr "Negociação com %s cancelada."
-#: src/net/ea/tradehandler.cpp:171
+#: src/net/ea/tradehandler.cpp:172
msgid "Unhandled trade cancel packet."
msgstr "Troca injusta pacote cancelado."
-#: src/net/ea/tradehandler.cpp:236
+#: src/net/ea/tradehandler.cpp:237
msgid "Failed adding item. Trade partner is over weighted."
msgstr "Erro ao adicionar item. Parceiro de negócios carregando muito peso."
-#: src/net/ea/tradehandler.cpp:241
+#: src/net/ea/tradehandler.cpp:242
msgid "Failed adding item. Trade partner has no free slot."
msgstr "Erro ao adicionar item. Parceiro de negócios não tem slots livres."
-#: src/net/ea/tradehandler.cpp:246
+#: src/net/ea/tradehandler.cpp:247
msgid "Failed adding item. You can't trade this item."
msgstr "Falha ao adicionar item. Você não pode trocar este item."
-#: src/net/ea/tradehandler.cpp:250
+#: src/net/ea/tradehandler.cpp:251
msgid "Failed adding item for unknown reason."
msgstr "Erro ao adicionar item devido a um motivo desconhecido."
-#: src/net/ea/tradehandler.cpp:269 src/net/manaserv/tradehandler.cpp:160
+#: src/net/ea/tradehandler.cpp:270 src/net/manaserv/tradehandler.cpp:160
msgid "Trade canceled."
msgstr "Negociação cancelada."
-#: src/net/ea/tradehandler.cpp:280 src/net/manaserv/tradehandler.cpp:167
+#: src/net/ea/tradehandler.cpp:281 src/net/manaserv/tradehandler.cpp:167
msgid "Trade completed."
msgstr "Negociação realizada."
@@ -5587,15 +5704,15 @@ msgstr "Atraso de alcance"
msgid "Damage per sec."
msgstr "Dano por seg."
-#: src/net/tmwa/network.cpp:152
+#: src/net/tmwa/network.cpp:153
msgid "Empty address given to Network::connect()!"
msgstr "Endereço vazio enviado para Network::connect()!"
-#: src/net/tmwa/network.cpp:356
+#: src/net/tmwa/network.cpp:357
msgid "Unable to resolve host \""
msgstr "Não foi possível determinar o host \""
-#: src/net/tmwa/network.cpp:426
+#: src/net/tmwa/network.cpp:427
msgid "Connection to server terminated. "
msgstr "Conexão com o servidor interrompida. "
@@ -5604,19 +5721,19 @@ msgstr "Conexão com o servidor interrompida. "
msgid "%s is not in your party!"
msgstr "%s não está em seu grupo!"
-#: src/playerrelations.cpp:435
+#: src/playerrelations.cpp:460
msgid "Print '...'"
msgstr "Imprimir '...'"
-#: src/playerrelations.cpp:455
+#: src/playerrelations.cpp:480
msgid "Blink name"
msgstr "Piscar nome"
-#: src/playerrelations.cpp:499
+#: src/playerrelations.cpp:524
msgid "Floating '...' bubble"
msgstr "Bolha '...' flutuante"
-#: src/playerrelations.cpp:502
+#: src/playerrelations.cpp:527
msgid "Floating bubble"
msgstr "Bolha Flutuante"
@@ -5648,3 +5765,5 @@ msgstr "MP %+d"
#: src/resources/itemdb.cpp:169
msgid "Unknown item"
msgstr "Item desconhecido"
+
+
diff --git a/po/ru.po b/po/ru.po
index de5ce3b6a..cef414ee7 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR The ManaPlus Developers
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
# Andrei Karas <akaras@inbox.ru>, 2011.
# Necromonger <Necromong@inbox.ru>, 2011.
@@ -11,81 +11,79 @@ msgid ""
msgstr ""
"Project-Id-Version: ManaPlus\n"
"Report-Msgid-Bugs-To: akaras@inbox.ru\n"
-"POT-Creation-Date: 2011-10-28 03:52+0300\n"
-"PO-Revision-Date: 2011-10-28 00:58+0000\n"
+"POT-Creation-Date: 2011-11-12 00:23+0300\n"
+"PO-Revision-Date: 2011-11-11 21:42+0000\n"
"Last-Translator: akaras <akaras@inbox.ru>\n"
-"Language-Team: Russian (http://www.transifex.net/projects/p/manaplus/team/"
-"ru/)\n"
-"Language: ru\n"
+"Language-Team: Russian (http://www.transifex.net/projects/p/manaplus/team/ru/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
-"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n"
+"Language: ru\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n"
#: src/actorspritemanager.cpp:1171
msgid "Visible on map"
msgstr "Видимые на карте"
-#: src/being.cpp:548
+#: src/being.cpp:551
msgid "dodge"
msgstr "уворот"
-#: src/being.cpp:548
+#: src/being.cpp:551
msgid "miss"
msgstr "промах"
#. TRANSLATORS: this away status writed in player nick
-#: src/being.cpp:1527
+#: src/being.cpp:1530
msgid "A"
msgstr "О"
#. TRANSLATORS: this inactive status writed in player nick
-#: src/being.cpp:1532
+#: src/being.cpp:1535
msgid "I"
msgstr "Б"
-#: src/client.cpp:835 src/gui/setup.cpp:54 src/gui/windowmenu.cpp:100
+#: src/client.cpp:869 src/gui/setup.cpp:54 src/gui/windowmenu.cpp:100
msgid "Setup"
msgstr "Настройка"
-#: src/client.cpp:842 src/gui/setup_perfomance.cpp:48
+#: src/client.cpp:876 src/gui/setup_perfomance.cpp:48
msgid "Perfomance"
msgstr "Производительность"
-#: src/client.cpp:847 src/gui/setup_video.cpp:315
+#: src/client.cpp:881 src/gui/setup_video.cpp:315
msgid "Video"
msgstr "Видео"
-#: src/client.cpp:852
+#: src/client.cpp:886
msgid "Themes"
msgstr "Темы"
-#: src/client.cpp:934
+#: src/client.cpp:968
msgid "Connecting to server"
msgstr "Идет подключение к серверу..."
-#: src/client.cpp:965
+#: src/client.cpp:999
msgid "Logging in"
msgstr "Авторизация"
-#: src/client.cpp:998
+#: src/client.cpp:1032
msgid "Entering game world"
msgstr "Входим в игровой мир"
-#: src/client.cpp:1098
+#: src/client.cpp:1132
msgid "Requesting characters"
msgstr "Получение списка персонажей"
-#: src/client.cpp:1129
+#: src/client.cpp:1163
msgid "Connecting to the game server"
msgstr "Подключение к игровому серверу"
-#: src/client.cpp:1139
+#: src/client.cpp:1173
msgid "Changing game servers"
msgstr "Смена игрового сервера"
-#: src/client.cpp:1182 src/client.cpp:1189 src/client.cpp:1323
+#: src/client.cpp:1216 src/client.cpp:1223 src/client.cpp:1357
#: src/gui/changeemaildialog.cpp:157 src/gui/changepassworddialog.cpp:147
#: src/gui/charcreatedialog.cpp:221 src/gui/charselectdialog.cpp:253
#: src/gui/register.cpp:228 src/gui/serverdialog.cpp:401
@@ -95,166 +93,170 @@ msgstr "Смена игрового сервера"
msgid "Error"
msgstr "Ошибка"
-#: src/client.cpp:1198
+#: src/client.cpp:1232
msgid "Requesting registration details"
msgstr "Запрос регистрационных данных"
-#: src/client.cpp:1224
+#: src/client.cpp:1258
msgid "Password Change"
msgstr "Изменить Пароль"
-#: src/client.cpp:1225
+#: src/client.cpp:1259
msgid "Password changed successfully!"
msgstr "Пароль изменен!"
-#: src/client.cpp:1244
+#: src/client.cpp:1278
msgid "Email Change"
msgstr "Сменить Email"
-#: src/client.cpp:1245
+#: src/client.cpp:1279
msgid "Email changed successfully!"
msgstr "Email изменен!"
-#: src/client.cpp:1265
+#: src/client.cpp:1299
msgid "Unregister Successful"
msgstr "Регистрация удалена"
-#: src/client.cpp:1266
+#: src/client.cpp:1300
msgid "Farewell, come back any time..."
msgstr "Хорошо, возвращайтесь в любое время..."
-#: src/client.cpp:1465 src/client.cpp:1495 src/client.cpp:1510
-#: src/client.cpp:1935 src/client.cpp:1942
+#: src/client.cpp:1499 src/client.cpp:1529 src/client.cpp:1544
+#: src/client.cpp:1969 src/client.cpp:1976
#, c-format
msgid "%s doesn't exist and can't be created! Exiting."
msgstr "%s не существует, и не может быть создано! Выход."
-#: src/client.cpp:1641
+#: src/client.cpp:1675
#, c-format
msgid "Invalid update host: %s"
msgstr "Некорректный сервер обновлений: %s"
-#: src/client.cpp:1675 src/client.cpp:1681
+#: src/client.cpp:1709 src/client.cpp:1715
msgid "Error creating updates directory!"
msgstr "Ошибка создания директории для обновлений!"
-#: src/client.cpp:1702
+#: src/client.cpp:1736
#, c-format
msgid "Error: %s doesn't exist and can't be created! Exiting."
msgstr "Ошибка: %s не существует, и не может быть создан! Выход."
-#: src/commandhandler.cpp:205
+#: src/commandhandler.cpp:209
msgid "Unknown command."
msgstr "Неизвестная команда."
-#: src/commandhandler.cpp:304
+#: src/commandhandler.cpp:329
msgid "Cannot send empty whispers!"
msgstr "Нельзя отправлять пустые сообщения!"
-#: src/commandhandler.cpp:318
+#: src/commandhandler.cpp:343
#, c-format
msgid ""
-"Cannot create a whisper tab for nick \"%s\"! It either already exists, or is "
-"you."
+"Cannot create a whisper tab for nick \"%s\"! It either already exists, or is"
+" you."
msgstr ""
-"Невозможно создать вкладку для личного общения с игроком \"%s\"! Или вкладка "
-"уже создана, или этот игрок Вы сами."
+"Невозможно создать вкладку для личного общения с игроком \"%s\"! Или вкладка"
+" уже создана, или этот игрок Вы сами."
-#: src/commandhandler.cpp:338
+#: src/commandhandler.cpp:363
#, c-format
msgid "Requesting to join channel %s."
msgstr "Запрос на присоединение к каналу %s."
-#: src/commandhandler.cpp:354 src/net/ea/gui/partytab.cpp:125
+#: src/commandhandler.cpp:379 src/net/ea/gui/partytab.cpp:125
msgid "Party name is missing."
msgstr "Не указано название группы"
-#: src/commandhandler.cpp:365
+#: src/commandhandler.cpp:390
msgid "Guild name is missing."
msgstr "Не задано имя гильдии."
-#: src/commandhandler.cpp:378 src/commandhandler.cpp:496
-#: src/commandhandler.cpp:537 src/commandhandler.cpp:572
+#: src/commandhandler.cpp:403 src/commandhandler.cpp:521
+#: src/commandhandler.cpp:562 src/commandhandler.cpp:602
msgid "Please specify a name."
msgstr "Пожалуйста, укажите имя"
-#: src/commandhandler.cpp:430
+#: src/commandhandler.cpp:455
msgid "Return toggles chat."
msgstr "Enter переключает Вас на окно чата."
-#: src/commandhandler.cpp:430
+#: src/commandhandler.cpp:455
msgid "Message closes chat."
msgstr "Сообщение закрывает чат."
-#: src/commandhandler.cpp:441
+#: src/commandhandler.cpp:466
msgid "Return now toggles chat."
msgstr "Теперь Return переключает чат."
-#: src/commandhandler.cpp:447
+#: src/commandhandler.cpp:472
msgid "Message now closes chat."
msgstr "Теперь сообщение закрывает чат."
-#: src/commandhandler.cpp:475
+#: src/commandhandler.cpp:500
msgid "friend"
msgstr "друг"
-#: src/commandhandler.cpp:480
+#: src/commandhandler.cpp:505
msgid "disregarded"
msgstr "пренебрегаемый"
-#: src/commandhandler.cpp:485
+#: src/commandhandler.cpp:510
msgid "neutral"
msgstr "нейтральный"
-#: src/commandhandler.cpp:504
+#: src/commandhandler.cpp:529
#, c-format
msgid "Player already %s!"
msgstr "Игрок уже %s!"
-#: src/commandhandler.cpp:518
+#: src/commandhandler.cpp:543
#, c-format
msgid "Player successfully %s!"
msgstr "Игрок удачно %s!"
-#: src/commandhandler.cpp:526
+#: src/commandhandler.cpp:551
#, c-format
msgid "Player could not be %s!"
msgstr "Игрок не может быть %s!"
-#: src/commandhandler.cpp:549
+#: src/commandhandler.cpp:574
msgid "Player wasn't ignored!"
msgstr "Игрок не был игнорируемым!"
-#: src/commandhandler.cpp:556
+#: src/commandhandler.cpp:581
msgid "Player no longer ignored!"
msgstr "Игрок больше не игнорируется!"
-#: src/commandhandler.cpp:558
+#: src/commandhandler.cpp:583
msgid "Player could not be unignored!"
msgstr "Игрок не может быть удален из списка игнорирования!"
-#: src/commandhandler.cpp:564
+#: src/commandhandler.cpp:589
msgid "blacklisted"
msgstr "добавлен в черный список"
-#: src/commandhandler.cpp:579
+#: src/commandhandler.cpp:594
+msgid "enemy"
+msgstr "враг"
+
+#: src/commandhandler.cpp:609
msgid "Player already erased!"
msgstr "Игрок и так уже удален!"
-#: src/commandhandler.cpp:590
+#: src/commandhandler.cpp:620
msgid "Player successfully erased!"
msgstr "Игрок удален!"
-#: src/commandhandler.cpp:592
+#: src/commandhandler.cpp:622
msgid "Player could not be erased!"
msgstr "Игрок не может быть удален!"
-#: src/commandhandler.cpp:892 src/commandhandler.cpp:938
+#: src/commandhandler.cpp:929 src/commandhandler.cpp:975
#, c-format
msgid "Client uptime: %s"
msgstr "Время работы клиента: %s"
-#: src/commandhandler.cpp:902
+#: src/commandhandler.cpp:939
#, c-format
msgid "%d week"
msgid_plural "%d weeks"
@@ -262,7 +264,7 @@ msgstr[0] "%d неделя"
msgstr[1] "%d недели"
msgstr[2] "%d недель"
-#: src/commandhandler.cpp:911
+#: src/commandhandler.cpp:948
#, c-format
msgid "%d day"
msgid_plural "%d days"
@@ -270,7 +272,7 @@ msgstr[0] "%d день"
msgstr[1] "%d дня"
msgstr[2] "%d дней"
-#: src/commandhandler.cpp:919
+#: src/commandhandler.cpp:956
#, c-format
msgid "%d hour"
msgid_plural "%d hours"
@@ -278,7 +280,7 @@ msgstr[0] "%d час"
msgstr[1] "%d часа"
msgstr[2] "%d часов"
-#: src/commandhandler.cpp:927
+#: src/commandhandler.cpp:964
#, c-format
msgid "%d minute"
msgid_plural "%d minutes"
@@ -286,7 +288,7 @@ msgstr[0] "%d минута"
msgstr[1] "%d минуты"
msgstr[2] "%d минут"
-#: src/commandhandler.cpp:935
+#: src/commandhandler.cpp:972
#, c-format
msgid "%d second"
msgid_plural "%d seconds"
@@ -294,36 +296,34 @@ msgstr[0] "%d секунда"
msgstr[1] "%d секунды"
msgstr[2] "%d секунд"
-#: src/commandhandler.cpp:1014
+#: src/commandhandler.cpp:1051
msgid "font cache size"
msgstr "размер кеша шрифта"
-#: src/commandhandler.cpp:1026
+#: src/commandhandler.cpp:1063
msgid "Cache size:"
msgstr "Размер кеша:"
-#: src/commandhandler.cpp:1030
+#: src/commandhandler.cpp:1067
msgid "Created:"
msgstr "Создано:"
-#: src/commandhandler.cpp:1032
+#: src/commandhandler.cpp:1069
msgid "Deleted:"
msgstr "Удалено:"
-#: src/commandhandler.cpp:1133 src/commandhandler.cpp:1140
+#: src/commandhandler.cpp:1171 src/commandhandler.cpp:1178
msgid "Resource images:"
msgstr "Изображений:"
-#: src/commandhandler.cpp:1135 src/commandhandler.cpp:1142
+#: src/commandhandler.cpp:1173 src/commandhandler.cpp:1180
msgid "Resource orphaned images:"
msgstr "Удаленных изображений:"
#: src/commandhandler.h:40
#, c-format
msgid "Options to /%s are \"yes\", \"no\", \"true\", \"false\", \"1\", \"0\"."
-msgstr ""
-"/%s может принимать значение \"yes\", \"no\", \"true\", \"false\", \"1\" или "
-"\"0\"."
+msgstr "/%s может принимать значение \"yes\", \"no\", \"true\", \"false\", \"1\" или \"0\"."
#: src/game.cpp:252 src/gui/widgets/chattab.cpp:403
msgid "General"
@@ -333,35 +333,35 @@ msgstr "Общие"
msgid "Debug"
msgstr "Отладка"
-#: src/game.cpp:513
+#: src/game.cpp:506
msgid "Screenshot saved as "
msgstr "Снимок экрана сохранен как "
-#: src/game.cpp:521
+#: src/game.cpp:514
msgid "Saving screenshot failed!"
msgstr "Ошибка при сохранении снимка экрана!"
-#: src/game.cpp:560
+#: src/game.cpp:554
msgid "The connection to the server was lost."
msgstr "Соединение с сервером потеряно."
-#: src/game.cpp:572
+#: src/game.cpp:557
msgid "Network Error"
msgstr "Ошибка сети"
-#: src/game.cpp:1322
+#: src/game.cpp:1332
msgid "Ignoring incoming trade requests"
msgstr "Игнорировать предложения о торговле"
-#: src/game.cpp:1332
+#: src/game.cpp:1342
msgid "Accepting incoming trade requests"
msgstr "Принимать предложения о торговле"
-#: src/game.cpp:1732
+#: src/game.cpp:1750
msgid "Could Not Load Map"
msgstr "Не удалось загрузить карту"
-#: src/game.cpp:1733
+#: src/game.cpp:1751
#, c-format
msgid "Error while loading %s"
msgstr "Ошибка во время загрузки %s"
@@ -395,19 +395,19 @@ msgid "Name"
msgstr "Имя"
#: src/gui/botcheckerwindow.cpp:297 src/gui/popupmenu.cpp:133
-#: src/gui/popupmenu.cpp:292 src/gui/popupmenu.cpp:614
+#: src/gui/popupmenu.cpp:303 src/gui/popupmenu.cpp:636
#: src/keyboardconfig.cpp:49 src/net/tmwa/generalhandler.cpp:269
msgid "Attack"
msgstr "Атака"
-#: src/gui/botcheckerwindow.cpp:298 src/gui/popupmenu.cpp:281
+#: src/gui/botcheckerwindow.cpp:298 src/gui/popupmenu.cpp:292
#: src/keyboardconfig.cpp:62
msgid "Talk"
msgstr "Разговор"
-#: src/gui/botcheckerwindow.cpp:299 src/gui/popupmenu.cpp:253
-#: src/gui/popupmenu.cpp:285 src/gui/popupmenu.cpp:437
-#: src/gui/popupmenu.cpp:669 src/gui/popupmenu.cpp:756
+#: src/gui/botcheckerwindow.cpp:299 src/gui/popupmenu.cpp:264
+#: src/gui/popupmenu.cpp:296 src/gui/popupmenu.cpp:459
+#: src/gui/popupmenu.cpp:702 src/gui/popupmenu.cpp:789
msgid "Move"
msgstr "Движение"
@@ -420,8 +420,8 @@ msgid "Reset"
msgstr "Сбросить"
#: src/gui/buydialog.cpp:58 src/gui/buydialog.cpp:65 src/gui/buydialog.cpp:112
-#: src/gui/buyselldialog.cpp:65 src/gui/popupmenu.cpp:265
-#: src/gui/popupmenu.cpp:282 src/gui/popupmenu.cpp:681
+#: src/gui/buyselldialog.cpp:65 src/gui/popupmenu.cpp:276
+#: src/gui/popupmenu.cpp:293 src/gui/popupmenu.cpp:714
msgid "Buy"
msgstr "Купить"
@@ -439,7 +439,7 @@ msgstr "Количество:"
#. You may change this symbol if your language uses another.
#: src/gui/buydialog.cpp:108 src/gui/itemamountwindow.cpp:207
#: src/gui/itemamountwindow.cpp:235 src/gui/npcdialog.cpp:114
-#: src/gui/selldialog.cpp:91 src/gui/statuswindow.cpp:977
+#: src/gui/selldialog.cpp:91 src/gui/statuswindow.cpp:998
msgid "+"
msgstr "+"
@@ -447,7 +447,7 @@ msgstr "+"
#. You may change this symbol if your language uses another.
#: src/gui/buydialog.cpp:111 src/gui/itemamountwindow.cpp:206
#: src/gui/itemamountwindow.cpp:234 src/gui/npcdialog.cpp:115
-#: src/gui/selldialog.cpp:92 src/gui/statuswindow.cpp:989
+#: src/gui/selldialog.cpp:92 src/gui/statuswindow.cpp:1010
msgid "-"
msgstr "-"
@@ -459,8 +459,8 @@ msgid "Quit"
msgstr "Выход"
#: src/gui/buydialog.cpp:114 src/gui/selldialog.cpp:95
-#: src/gui/statuswindow.cpp:504 src/gui/statuswindow.cpp:554
-#: src/gui/statuswindow.cpp:976 src/gui/statuswindow.cpp:1007
+#: src/gui/statuswindow.cpp:505 src/gui/statuswindow.cpp:555
+#: src/gui/statuswindow.cpp:997 src/gui/statuswindow.cpp:1028
msgid "Max"
msgstr "Макс"
@@ -469,8 +469,8 @@ msgstr "Макс"
msgid "Shop"
msgstr "Магазин"
-#: src/gui/buyselldialog.cpp:65 src/gui/popupmenu.cpp:266
-#: src/gui/popupmenu.cpp:283 src/gui/popupmenu.cpp:682
+#: src/gui/buyselldialog.cpp:65 src/gui/popupmenu.cpp:277
+#: src/gui/popupmenu.cpp:294 src/gui/popupmenu.cpp:715
#: src/gui/selldialog.cpp:53 src/gui/selldialog.cpp:60
#: src/gui/selldialog.cpp:93
msgid "Sell"
@@ -479,15 +479,15 @@ msgstr "Продать"
#: src/gui/buyselldialog.cpp:65 src/gui/changeemaildialog.cpp:59
#: src/gui/changepassworddialog.cpp:61 src/gui/charcreatedialog.cpp:96
#: src/gui/connectiondialog.cpp:47 src/gui/itemamountwindow.cpp:209
-#: src/gui/npcpostdialog.cpp:58 src/gui/popupmenu.cpp:333
-#: src/gui/popupmenu.cpp:354 src/gui/popupmenu.cpp:478
-#: src/gui/popupmenu.cpp:504 src/gui/popupmenu.cpp:528
-#: src/gui/popupmenu.cpp:541 src/gui/popupmenu.cpp:559
-#: src/gui/popupmenu.cpp:772 src/gui/popupmenu.cpp:796
-#: src/gui/popupmenu.cpp:1732 src/gui/popupmenu.cpp:1760
-#: src/gui/popupmenu.cpp:1816 src/gui/popupmenu.cpp:1861
-#: src/gui/popupmenu.cpp:1896 src/gui/popupmenu.cpp:1935
-#: src/gui/popupmenu.cpp:1987 src/gui/popupmenu.cpp:2007
+#: src/gui/npcpostdialog.cpp:58 src/gui/popupmenu.cpp:344
+#: src/gui/popupmenu.cpp:365 src/gui/popupmenu.cpp:500
+#: src/gui/popupmenu.cpp:526 src/gui/popupmenu.cpp:550
+#: src/gui/popupmenu.cpp:563 src/gui/popupmenu.cpp:581
+#: src/gui/popupmenu.cpp:805 src/gui/popupmenu.cpp:829
+#: src/gui/popupmenu.cpp:1775 src/gui/popupmenu.cpp:1803
+#: src/gui/popupmenu.cpp:1859 src/gui/popupmenu.cpp:1904
+#: src/gui/popupmenu.cpp:1939 src/gui/popupmenu.cpp:1978
+#: src/gui/popupmenu.cpp:2030 src/gui/popupmenu.cpp:2050
#: src/gui/quitdialog.cpp:55 src/gui/register.cpp:82 src/gui/setup.cpp:72
#: src/gui/socialwindow.cpp:1077 src/gui/textcommandeditor.cpp:241
#: src/gui/textdialog.cpp:51 src/gui/unregisterdialog.cpp:59
@@ -658,7 +658,7 @@ msgid "Enter password:"
msgstr "Введите пароль:"
#: src/gui/charselectdialog.cpp:410 src/gui/serverdialog.cpp:298
-#: src/gui/setup_relations.cpp:243 src/gui/shopwindow.cpp:122
+#: src/gui/setup_relations.cpp:244 src/gui/shopwindow.cpp:122
#: src/gui/shopwindow.cpp:125 src/gui/textcommandeditor.cpp:244
msgid "Delete"
msgstr "Удалить"
@@ -734,8 +734,9 @@ msgstr "радуга 3"
#: src/gui/chatwindow.cpp:142 src/gui/inventorywindow.cpp:90
#: src/gui/itemamountwindow.cpp:93 src/gui/logindialog.cpp:78
-#: src/gui/setup_relations.cpp:221 src/gui/setup_theme.cpp:73
-#: src/gui/setup_theme.cpp:127 src/gui/setup_video.cpp:211
+#: src/gui/setup_joystick.cpp:60 src/gui/setup_relations.cpp:222
+#: src/gui/setup_theme.cpp:74 src/gui/setup_theme.cpp:128
+#: src/gui/setup_theme.cpp:173 src/gui/setup_video.cpp:211
#: src/gui/textcommandeditor.cpp:102 src/gui/textcommandeditor.cpp:141
#: src/gui/textcommandeditor.cpp:160
msgid "???"
@@ -745,12 +746,12 @@ msgstr "???"
msgid "Chat"
msgstr "Чат"
-#: src/gui/chatwindow.cpp:613
+#: src/gui/chatwindow.cpp:615
#, c-format
msgid "Present: %s; %d players are present."
msgstr "Присутствуют: %s; Всего %d игроков."
-#: src/gui/chatwindow.cpp:1000
+#: src/gui/chatwindow.cpp:1002
#, c-format
msgid "Whispering to %s: %s"
msgstr "Вы прошептали %s: %s"
@@ -764,10 +765,12 @@ msgid "No"
msgstr "Нет"
#: src/gui/confirmdialog.cpp:52 src/gui/popupmenu.cpp:146
-#: src/gui/popupmenu.cpp:153 src/gui/popupmenu.cpp:161
-#: src/gui/popupmenu.cpp:380 src/gui/popupmenu.cpp:387
-#: src/gui/popupmenu.cpp:395 src/gui/popupmenu.cpp:626
-#: src/gui/popupmenu.cpp:633 src/gui/popupmenu.cpp:641
+#: src/gui/popupmenu.cpp:154 src/gui/popupmenu.cpp:163
+#: src/gui/popupmenu.cpp:171 src/gui/popupmenu.cpp:391
+#: src/gui/popupmenu.cpp:399 src/gui/popupmenu.cpp:408
+#: src/gui/popupmenu.cpp:427 src/gui/popupmenu.cpp:648
+#: src/gui/popupmenu.cpp:656 src/gui/popupmenu.cpp:665
+#: src/gui/popupmenu.cpp:679
msgid "Ignore"
msgstr "Игнорировать"
@@ -913,7 +916,7 @@ msgstr "Вы знаете?"
#: src/gui/didyouknowwindow.cpp:63 src/gui/helpwindow.cpp:59
#: src/gui/inventorywindow.cpp:205 src/gui/npcdialog.cpp:53
-#: src/gui/popupmenu.cpp:574 src/gui/shopwindow.cpp:113
+#: src/gui/popupmenu.cpp:596 src/gui/shopwindow.cpp:113
msgid "Close"
msgstr "Закрыть"
@@ -940,8 +943,8 @@ msgstr "Снаряжение"
#: src/gui/equipmentwindow.cpp:95 src/gui/inventorywindow.cpp:160
#: src/gui/inventorywindow.cpp:545 src/gui/inventorywindow.cpp:554
-#: src/gui/popupmenu.cpp:1694 src/gui/popupmenu.cpp:1786
-#: src/gui/popupmenu.cpp:1831
+#: src/gui/popupmenu.cpp:1737 src/gui/popupmenu.cpp:1829
+#: src/gui/popupmenu.cpp:1874
msgid "Unequip"
msgstr "Снять"
@@ -983,31 +986,31 @@ msgid "Filter:"
msgstr "Фильтр:"
#: src/gui/inventorywindow.cpp:158 src/gui/inventorywindow.cpp:547
-#: src/gui/inventorywindow.cpp:556 src/gui/popupmenu.cpp:1696
-#: src/gui/popupmenu.cpp:1788 src/gui/popupmenu.cpp:1833
+#: src/gui/inventorywindow.cpp:556 src/gui/popupmenu.cpp:1739
+#: src/gui/popupmenu.cpp:1831 src/gui/popupmenu.cpp:1876
msgid "Equip"
msgstr "Надеть"
#: src/gui/inventorywindow.cpp:159 src/gui/inventorywindow.cpp:548
-#: src/gui/inventorywindow.cpp:552 src/gui/popupmenu.cpp:1700
-#: src/gui/popupmenu.cpp:1755 src/gui/popupmenu.cpp:1792
-#: src/gui/popupmenu.cpp:1837
+#: src/gui/inventorywindow.cpp:552 src/gui/popupmenu.cpp:1743
+#: src/gui/popupmenu.cpp:1798 src/gui/popupmenu.cpp:1835
+#: src/gui/popupmenu.cpp:1880
msgid "Use"
msgstr "Использовать"
#: src/gui/inventorywindow.cpp:173 src/gui/inventorywindow.cpp:652
-#: src/gui/popupmenu.cpp:1705 src/gui/popupmenu.cpp:1797
-#: src/gui/popupmenu.cpp:1842
+#: src/gui/popupmenu.cpp:1748 src/gui/popupmenu.cpp:1840
+#: src/gui/popupmenu.cpp:1885
msgid "Drop..."
msgstr "Бросить"
-#: src/gui/inventorywindow.cpp:174 src/gui/popupmenu.cpp:1714
-#: src/gui/popupmenu.cpp:1806 src/gui/popupmenu.cpp:1851
+#: src/gui/inventorywindow.cpp:174 src/gui/popupmenu.cpp:1757
+#: src/gui/popupmenu.cpp:1849 src/gui/popupmenu.cpp:1894
msgid "Split"
msgstr "Разделить"
#: src/gui/inventorywindow.cpp:175 src/gui/outfitwindow.cpp:60
-#: src/gui/popupmenu.cpp:537
+#: src/gui/popupmenu.cpp:559
msgid "Outfits"
msgstr "Наряды"
@@ -1016,17 +1019,17 @@ msgid "Weight:"
msgstr "Вес:"
#: src/gui/inventorywindow.cpp:203 src/gui/inventorywindow.cpp:643
-#: src/gui/popupmenu.cpp:1680 src/gui/popupmenu.cpp:1809
-#: src/gui/popupmenu.cpp:1854 src/gui/setup.cpp:73
+#: src/gui/popupmenu.cpp:1723 src/gui/popupmenu.cpp:1852
+#: src/gui/popupmenu.cpp:1897 src/gui/setup.cpp:73
msgid "Store"
msgstr "Сохранить"
-#: src/gui/inventorywindow.cpp:204 src/gui/popupmenu.cpp:1721
+#: src/gui/inventorywindow.cpp:204 src/gui/popupmenu.cpp:1764
msgid "Retrieve"
msgstr "Получить"
-#: src/gui/inventorywindow.cpp:654 src/gui/popupmenu.cpp:1710
-#: src/gui/popupmenu.cpp:1802 src/gui/popupmenu.cpp:1847
+#: src/gui/inventorywindow.cpp:654 src/gui/popupmenu.cpp:1753
+#: src/gui/popupmenu.cpp:1845 src/gui/popupmenu.cpp:1890
#: src/gui/windowmenu.cpp:97
msgid "Drop"
msgstr "Бросить"
@@ -1268,7 +1271,7 @@ msgstr "Применить"
msgid "NPC"
msgstr "NPC"
-#: src/gui/npcdialog.cpp:108 src/gui/popupmenu.cpp:576
+#: src/gui/npcdialog.cpp:108 src/gui/popupmenu.cpp:598
msgid "Clear"
msgstr "Очистить"
@@ -1306,331 +1309,347 @@ msgstr "Сначала снять"
msgid "Away outfit"
msgstr "наряд отсутствия"
-#: src/gui/popupmenu.cpp:132 src/gui/popupmenu.cpp:613
+#: src/gui/popupmenu.cpp:132 src/gui/popupmenu.cpp:635
#: src/gui/widgets/tradetab.cpp:44
msgid "Trade"
msgstr "Торговать"
-#: src/gui/popupmenu.cpp:134 src/gui/popupmenu.cpp:372
+#: src/gui/popupmenu.cpp:134 src/gui/popupmenu.cpp:383
msgid "Whisper"
msgstr "Приват"
-#: src/gui/popupmenu.cpp:138 src/gui/popupmenu.cpp:618
+#: src/gui/popupmenu.cpp:138 src/gui/popupmenu.cpp:640
msgid "Heal"
msgstr "Лечить"
-#: src/gui/popupmenu.cpp:144 src/gui/popupmenu.cpp:378
-#: src/gui/popupmenu.cpp:624
+#: src/gui/popupmenu.cpp:144 src/gui/popupmenu.cpp:389
+#: src/gui/popupmenu.cpp:646
msgid "Be friend"
msgstr "Подружиться"
-#: src/gui/popupmenu.cpp:145 src/gui/popupmenu.cpp:152
-#: src/gui/popupmenu.cpp:160 src/gui/popupmenu.cpp:178
-#: src/gui/popupmenu.cpp:379 src/gui/popupmenu.cpp:386
-#: src/gui/popupmenu.cpp:394 src/gui/popupmenu.cpp:412
-#: src/gui/popupmenu.cpp:625 src/gui/popupmenu.cpp:632
-#: src/gui/popupmenu.cpp:640 src/gui/popupmenu.cpp:658
+#: src/gui/popupmenu.cpp:145 src/gui/popupmenu.cpp:153
+#: src/gui/popupmenu.cpp:162 src/gui/popupmenu.cpp:170
+#: src/gui/popupmenu.cpp:189 src/gui/popupmenu.cpp:390
+#: src/gui/popupmenu.cpp:398 src/gui/popupmenu.cpp:407
+#: src/gui/popupmenu.cpp:426 src/gui/popupmenu.cpp:434
+#: src/gui/popupmenu.cpp:647 src/gui/popupmenu.cpp:655
+#: src/gui/popupmenu.cpp:664 src/gui/popupmenu.cpp:678
+#: src/gui/popupmenu.cpp:691
msgid "Disregard"
msgstr "Пренебречь"
-#: src/gui/popupmenu.cpp:147 src/gui/popupmenu.cpp:154
-#: src/gui/popupmenu.cpp:381 src/gui/popupmenu.cpp:388
-#: src/gui/popupmenu.cpp:627 src/gui/popupmenu.cpp:634
+#: src/gui/popupmenu.cpp:147 src/gui/popupmenu.cpp:155
+#: src/gui/popupmenu.cpp:172 src/gui/popupmenu.cpp:392
+#: src/gui/popupmenu.cpp:400 src/gui/popupmenu.cpp:428
+#: src/gui/popupmenu.cpp:649 src/gui/popupmenu.cpp:657
+#: src/gui/popupmenu.cpp:680
msgid "Black list"
msgstr "Черный список"
-#: src/gui/popupmenu.cpp:148 src/gui/popupmenu.cpp:155
-#: src/gui/popupmenu.cpp:162 src/gui/popupmenu.cpp:168
-#: src/gui/popupmenu.cpp:173 src/gui/popupmenu.cpp:382
-#: src/gui/popupmenu.cpp:389 src/gui/popupmenu.cpp:396
-#: src/gui/popupmenu.cpp:402 src/gui/popupmenu.cpp:407
-#: src/gui/popupmenu.cpp:628 src/gui/popupmenu.cpp:635
-#: src/gui/popupmenu.cpp:642 src/gui/popupmenu.cpp:648
-#: src/gui/popupmenu.cpp:653
+#: src/gui/popupmenu.cpp:148 src/gui/popupmenu.cpp:156
+#: src/gui/popupmenu.cpp:164 src/gui/popupmenu.cpp:393
+#: src/gui/popupmenu.cpp:401 src/gui/popupmenu.cpp:409
+#: src/gui/popupmenu.cpp:650 src/gui/popupmenu.cpp:658
+#: src/gui/popupmenu.cpp:666
+msgid "Set as enemy"
+msgstr "Сделать врагом"
+
+#: src/gui/popupmenu.cpp:149 src/gui/popupmenu.cpp:157
+#: src/gui/popupmenu.cpp:165 src/gui/popupmenu.cpp:173
+#: src/gui/popupmenu.cpp:179 src/gui/popupmenu.cpp:184
+#: src/gui/popupmenu.cpp:394 src/gui/popupmenu.cpp:402
+#: src/gui/popupmenu.cpp:410 src/gui/popupmenu.cpp:416
+#: src/gui/popupmenu.cpp:421 src/gui/popupmenu.cpp:429
+#: src/gui/popupmenu.cpp:651 src/gui/popupmenu.cpp:659
+#: src/gui/popupmenu.cpp:667 src/gui/popupmenu.cpp:673
+#: src/gui/popupmenu.cpp:681 src/gui/popupmenu.cpp:686
msgid "Erase"
msgstr "Стереть"
-#: src/gui/popupmenu.cpp:159 src/gui/popupmenu.cpp:166
-#: src/gui/popupmenu.cpp:172 src/gui/popupmenu.cpp:177
-#: src/gui/popupmenu.cpp:393 src/gui/popupmenu.cpp:400
-#: src/gui/popupmenu.cpp:406 src/gui/popupmenu.cpp:411
-#: src/gui/popupmenu.cpp:639 src/gui/popupmenu.cpp:646
-#: src/gui/popupmenu.cpp:652 src/gui/popupmenu.cpp:657
+#: src/gui/popupmenu.cpp:161 src/gui/popupmenu.cpp:169
+#: src/gui/popupmenu.cpp:177 src/gui/popupmenu.cpp:183
+#: src/gui/popupmenu.cpp:188 src/gui/popupmenu.cpp:406
+#: src/gui/popupmenu.cpp:414 src/gui/popupmenu.cpp:420
+#: src/gui/popupmenu.cpp:425 src/gui/popupmenu.cpp:433
+#: src/gui/popupmenu.cpp:663 src/gui/popupmenu.cpp:671
+#: src/gui/popupmenu.cpp:677 src/gui/popupmenu.cpp:685
+#: src/gui/popupmenu.cpp:690
msgid "Unignore"
msgstr "Не игнорировать"
-#: src/gui/popupmenu.cpp:167 src/gui/popupmenu.cpp:179
-#: src/gui/popupmenu.cpp:401 src/gui/popupmenu.cpp:413
-#: src/gui/popupmenu.cpp:647 src/gui/popupmenu.cpp:659
-#: src/playerrelations.cpp:421
+#: src/gui/popupmenu.cpp:178 src/gui/popupmenu.cpp:190
+#: src/gui/popupmenu.cpp:415 src/gui/popupmenu.cpp:435
+#: src/gui/popupmenu.cpp:672 src/gui/popupmenu.cpp:692
+#: src/playerrelations.cpp:446
msgid "Completely ignore"
msgstr "@@ignore|Полностью игнорировать@@"
-#: src/gui/popupmenu.cpp:187 src/gui/popupmenu.cpp:421
-#: src/gui/popupmenu.cpp:667 src/gui/popupmenu.cpp:746
+#: src/gui/popupmenu.cpp:198 src/gui/popupmenu.cpp:443
+#: src/gui/popupmenu.cpp:700 src/gui/popupmenu.cpp:779
msgid "Follow"
msgstr "Следовать"
-#: src/gui/popupmenu.cpp:188 src/gui/popupmenu.cpp:422
-#: src/gui/popupmenu.cpp:668 src/gui/popupmenu.cpp:747
+#: src/gui/popupmenu.cpp:199 src/gui/popupmenu.cpp:444
+#: src/gui/popupmenu.cpp:701 src/gui/popupmenu.cpp:780
msgid "Imitation"
msgstr "Имитировать"
-#: src/gui/popupmenu.cpp:197 src/gui/popupmenu.cpp:700
+#: src/gui/popupmenu.cpp:208 src/gui/popupmenu.cpp:733
msgid "Invite to party"
msgstr "Пригласить в группу"
-#: src/gui/popupmenu.cpp:202 src/gui/popupmenu.cpp:433
-#: src/gui/popupmenu.cpp:705
+#: src/gui/popupmenu.cpp:213 src/gui/popupmenu.cpp:455
+#: src/gui/popupmenu.cpp:738
msgid "Kick from party"
msgstr "Выкинуть из группы"
-#: src/gui/popupmenu.cpp:217 src/gui/popupmenu.cpp:229
-#: src/gui/popupmenu.cpp:450 src/gui/popupmenu.cpp:722
+#: src/gui/popupmenu.cpp:228 src/gui/popupmenu.cpp:240
+#: src/gui/popupmenu.cpp:472 src/gui/popupmenu.cpp:755
msgid "Kick from guild"
msgstr "Выкинуть из гильдии"
-#: src/gui/popupmenu.cpp:222 src/gui/popupmenu.cpp:234
-#: src/gui/popupmenu.cpp:455 src/gui/popupmenu.cpp:727
+#: src/gui/popupmenu.cpp:233 src/gui/popupmenu.cpp:245
+#: src/gui/popupmenu.cpp:477 src/gui/popupmenu.cpp:760
msgid "Change pos in guild"
msgstr "Сменить позицию в гильдии"
-#: src/gui/popupmenu.cpp:242 src/gui/popupmenu.cpp:463
-#: src/gui/popupmenu.cpp:736
+#: src/gui/popupmenu.cpp:253 src/gui/popupmenu.cpp:485
+#: src/gui/popupmenu.cpp:769
msgid "Invite to guild"
msgstr "Пригласить в гильдию"
-#: src/gui/popupmenu.cpp:250
+#: src/gui/popupmenu.cpp:261
msgid "Kick player"
msgstr "Кикнуть игрока"
-#: src/gui/popupmenu.cpp:252
+#: src/gui/popupmenu.cpp:263
msgid "Nuke"
msgstr "Уничтожить"
-#: src/gui/popupmenu.cpp:254 src/gui/popupmenu.cpp:670
-#: src/gui/popupmenu.cpp:759
+#: src/gui/popupmenu.cpp:265 src/gui/popupmenu.cpp:703
+#: src/gui/popupmenu.cpp:792
msgid "Show Items"
msgstr "Показать предметы"
-#: src/gui/popupmenu.cpp:255 src/gui/popupmenu.cpp:671
-#: src/gui/popupmenu.cpp:760 src/gui/popupmenu.cpp:2004
+#: src/gui/popupmenu.cpp:266 src/gui/popupmenu.cpp:704
+#: src/gui/popupmenu.cpp:793 src/gui/popupmenu.cpp:2047
msgid "Undress"
msgstr "Раздеть"
-#: src/gui/popupmenu.cpp:256 src/gui/popupmenu.cpp:286
-#: src/gui/popupmenu.cpp:423 src/gui/popupmenu.cpp:672
-#: src/gui/popupmenu.cpp:761
+#: src/gui/popupmenu.cpp:267 src/gui/popupmenu.cpp:297
+#: src/gui/popupmenu.cpp:445 src/gui/popupmenu.cpp:705
+#: src/gui/popupmenu.cpp:794
msgid "Add comment"
msgstr "Добавить коментарий"
-#: src/gui/popupmenu.cpp:271 src/gui/popupmenu.cpp:471
-#: src/gui/popupmenu.cpp:687 src/gui/popupmenu.cpp:766
+#: src/gui/popupmenu.cpp:282 src/gui/popupmenu.cpp:493
+#: src/gui/popupmenu.cpp:720 src/gui/popupmenu.cpp:799
msgid "Buy (?)"
msgstr "Купить (?)"
-#: src/gui/popupmenu.cpp:272 src/gui/popupmenu.cpp:472
-#: src/gui/popupmenu.cpp:688 src/gui/popupmenu.cpp:767
+#: src/gui/popupmenu.cpp:283 src/gui/popupmenu.cpp:494
+#: src/gui/popupmenu.cpp:721 src/gui/popupmenu.cpp:800
msgid "Sell (?)"
msgstr "Продать (?)"
-#: src/gui/popupmenu.cpp:297
+#: src/gui/popupmenu.cpp:308
msgid "Kick"
msgstr "Кикнуть"
-#: src/gui/popupmenu.cpp:308
+#: src/gui/popupmenu.cpp:319
msgid "Remove from attack list"
msgstr "Удалить из списка атаки"
-#: src/gui/popupmenu.cpp:313
+#: src/gui/popupmenu.cpp:324
msgid "Add to priority attack list"
msgstr "Добавить в приоритетный список"
-#: src/gui/popupmenu.cpp:315
+#: src/gui/popupmenu.cpp:326
msgid "Add to attack list"
msgstr "Добавить в список атаки"
-#: src/gui/popupmenu.cpp:317
+#: src/gui/popupmenu.cpp:328
msgid "Add to ignore list"
msgstr "Добавить в список игнорирования"
-#: src/gui/popupmenu.cpp:330 src/gui/popupmenu.cpp:475
+#: src/gui/popupmenu.cpp:341 src/gui/popupmenu.cpp:497
msgid "Add name to chat"
msgstr "Добавить имя в чат"
-#: src/gui/popupmenu.cpp:500
+#: src/gui/popupmenu.cpp:522
msgid "Pick up"
msgstr "Поднять"
-#: src/gui/popupmenu.cpp:501 src/gui/popupmenu.cpp:1730
-#: src/gui/popupmenu.cpp:1810 src/gui/popupmenu.cpp:1855
+#: src/gui/popupmenu.cpp:523 src/gui/popupmenu.cpp:1773
+#: src/gui/popupmenu.cpp:1853 src/gui/popupmenu.cpp:1898
msgid "Add to chat"
msgstr "Добавить в чат"
-#: src/gui/popupmenu.cpp:518
+#: src/gui/popupmenu.cpp:540
msgid "Map Item"
msgstr "Элмент карты"
-#: src/gui/popupmenu.cpp:519
+#: src/gui/popupmenu.cpp:541
msgid "Rename"
msgstr "Переименовать"
-#: src/gui/popupmenu.cpp:520 src/gui/popupmenu.cpp:1965
-#: src/gui/popupmenu.cpp:1976 src/gui/popupmenu.cpp:1980
+#: src/gui/popupmenu.cpp:542 src/gui/popupmenu.cpp:2008
+#: src/gui/popupmenu.cpp:2019 src/gui/popupmenu.cpp:2023
msgid "Remove"
msgstr "Удалить"
-#: src/gui/popupmenu.cpp:525
+#: src/gui/popupmenu.cpp:547
msgid "Warp"
msgstr "Прыгнуть"
-#: src/gui/popupmenu.cpp:538
+#: src/gui/popupmenu.cpp:560
msgid "Load old outfits"
msgstr "Загрузить старые наряды"
-#: src/gui/popupmenu.cpp:554 src/gui/windowmenu.cpp:96
+#: src/gui/popupmenu.cpp:576 src/gui/windowmenu.cpp:96
msgid "Spells"
msgstr "Заклинания"
-#: src/gui/popupmenu.cpp:555
+#: src/gui/popupmenu.cpp:577
msgid "Load old spells"
msgstr "Загрузить старые заклинания"
-#: src/gui/popupmenu.cpp:556
+#: src/gui/popupmenu.cpp:578
msgid "Edit spell"
msgstr "Изменить заклинание"
-#: src/gui/popupmenu.cpp:580
+#: src/gui/popupmenu.cpp:602
msgid "Disable highlight"
msgstr "Отключить уведомление"
-#: src/gui/popupmenu.cpp:582
+#: src/gui/popupmenu.cpp:604
msgid "Enable highlight"
msgstr "Включить уведомление"
-#: src/gui/popupmenu.cpp:584
+#: src/gui/popupmenu.cpp:606
msgid "Don't remove name"
msgstr "Не скрывать имя"
-#: src/gui/popupmenu.cpp:586
+#: src/gui/popupmenu.cpp:608
msgid "Remove name"
msgstr "Скрывать имя"
-#: src/gui/popupmenu.cpp:588
+#: src/gui/popupmenu.cpp:610
msgid "Enable away"
msgstr "Рарешить режим отошел"
-#: src/gui/popupmenu.cpp:590
+#: src/gui/popupmenu.cpp:612
msgid "Disable away"
msgstr "Запретить режим отошел"
-#: src/gui/popupmenu.cpp:595 src/gui/socialwindow.cpp:1141
+#: src/gui/popupmenu.cpp:617 src/gui/socialwindow.cpp:1141
msgid "Leave"
msgstr "Покинуть"
-#: src/gui/popupmenu.cpp:780
+#: src/gui/popupmenu.cpp:813
msgid "Change guild position"
msgstr "Сменить позицию в гильдии"
#. TRANSLATORS: number of chars in string should be near original
-#: src/gui/popupmenu.cpp:1243
+#: src/gui/popupmenu.cpp:1286
msgid "Rename map sign "
msgstr "Переименовать знак на карте"
#. TRANSLATORS: number of chars in string should be near original
-#: src/gui/popupmenu.cpp:1245
+#: src/gui/popupmenu.cpp:1288
msgid "Name: "
msgstr "Имя: "
#. TRANSLATORS: number of chars in string should be near original
-#: src/gui/popupmenu.cpp:1295
+#: src/gui/popupmenu.cpp:1338
msgid "Player comment "
msgstr "Комментарий "
#. TRANSLATORS: number of chars in string should be near original
-#: src/gui/popupmenu.cpp:1297
+#: src/gui/popupmenu.cpp:1340
msgid "Comment: "
msgstr "Комментарий: "
-#: src/gui/popupmenu.cpp:1668
+#: src/gui/popupmenu.cpp:1711
msgid "Add to trade"
msgstr "Добавить к сделке"
-#: src/gui/popupmenu.cpp:1672
+#: src/gui/popupmenu.cpp:1715
msgid "Add to trade 10"
msgstr "Добавить к сделке 10"
-#: src/gui/popupmenu.cpp:1673
+#: src/gui/popupmenu.cpp:1716
msgid "Add to trade half"
msgstr "Добавить к сделке половину"
-#: src/gui/popupmenu.cpp:1674
+#: src/gui/popupmenu.cpp:1717
msgid "Add to trade all"
msgstr "Добавить к торговле все"
-#: src/gui/popupmenu.cpp:1684
+#: src/gui/popupmenu.cpp:1727
msgid "Store 10"
msgstr "Сохранить 10"
-#: src/gui/popupmenu.cpp:1685
+#: src/gui/popupmenu.cpp:1728
msgid "Store half"
msgstr "Сохранить половину"
-#: src/gui/popupmenu.cpp:1686
+#: src/gui/popupmenu.cpp:1729
msgid "Store all"
msgstr "Сохранить все"
-#: src/gui/popupmenu.cpp:1706 src/gui/popupmenu.cpp:1798
-#: src/gui/popupmenu.cpp:1843
+#: src/gui/popupmenu.cpp:1749 src/gui/popupmenu.cpp:1841
+#: src/gui/popupmenu.cpp:1886
msgid "Drop all"
msgstr "Бросить все"
-#: src/gui/popupmenu.cpp:1725
+#: src/gui/popupmenu.cpp:1768
msgid "Retrieve 10"
msgstr "Получить 10"
-#: src/gui/popupmenu.cpp:1726
+#: src/gui/popupmenu.cpp:1769
msgid "Retrieve half"
msgstr "Получить половину"
-#: src/gui/popupmenu.cpp:1727
+#: src/gui/popupmenu.cpp:1770
msgid "Retrieve all"
msgstr "Получить все"
-#: src/gui/popupmenu.cpp:1758 src/gui/popupmenu.cpp:1814
+#: src/gui/popupmenu.cpp:1801 src/gui/popupmenu.cpp:1857
msgid "Load old item shortcuts"
msgstr "Загрузить старые горячие клавиши предметов"
-#: src/gui/popupmenu.cpp:1859
+#: src/gui/popupmenu.cpp:1902
msgid "Load old drop shortcuts"
msgstr "Загрузить старые данные"
-#: src/gui/popupmenu.cpp:1885 src/gui/popupmenu.cpp:1920
+#: src/gui/popupmenu.cpp:1928 src/gui/popupmenu.cpp:1963
msgid "Hide"
msgstr "Спрятать"
-#: src/gui/popupmenu.cpp:1891 src/gui/popupmenu.cpp:1926
+#: src/gui/popupmenu.cpp:1934 src/gui/popupmenu.cpp:1969
msgid "Show"
msgstr "Показать"
-#: src/gui/popupmenu.cpp:1932
+#: src/gui/popupmenu.cpp:1975
msgid "Reset yellow bar"
msgstr "сбросить настройки"
-#: src/gui/popupmenu.cpp:1934 src/gui/statuswindow.cpp:241
+#: src/gui/popupmenu.cpp:1977 src/gui/statuswindow.cpp:242
msgid "Copy to chat"
msgstr "Скопировать в чат"
-#: src/gui/popupmenu.cpp:1952 src/gui/socialwindow.cpp:958
+#: src/gui/popupmenu.cpp:1995 src/gui/setup_theme.cpp:88
+#: src/gui/setup_theme.cpp:145 src/gui/socialwindow.cpp:958
#: src/gui/socialwindow.cpp:993 src/gui/socialwindow.cpp:1028
msgid "(default)"
msgstr "(по умолчанию)"
-#: src/gui/popupmenu.cpp:1962 src/gui/popupmenu.cpp:1973
+#: src/gui/popupmenu.cpp:2005 src/gui/popupmenu.cpp:2016
msgid "Move up"
msgstr "Передвинуть выше"
-#: src/gui/popupmenu.cpp:1964 src/gui/popupmenu.cpp:1975
+#: src/gui/popupmenu.cpp:2007 src/gui/popupmenu.cpp:2018
msgid "Move down"
msgstr "Передвинуть ниже"
@@ -1944,29 +1963,33 @@ msgstr "Применить"
msgid "Reset Windows"
msgstr "Сбросить расположение окон"
-#: src/gui/setup_joystick.cpp:40 src/gui/setup_joystick.cpp:79
+#: src/gui/setup_joystick.cpp:70 src/gui/setup_joystick.cpp:142
msgid "Press the button to start calibration"
msgstr "Нажмите кнопку, чтобы начать калибровку"
-#: src/gui/setup_joystick.cpp:41 src/gui/setup_joystick.cpp:77
+#: src/gui/setup_joystick.cpp:71 src/gui/setup_joystick.cpp:140
msgid "Calibrate"
msgstr "Калибровать"
-#: src/gui/setup_joystick.cpp:42
+#: src/gui/setup_joystick.cpp:72
msgid "Enable joystick"
msgstr "Использовать джойстик"
-#: src/gui/setup_joystick.cpp:44
+#: src/gui/setup_joystick.cpp:75
+msgid "Use joystick if client window inactive"
+msgstr "Использовать джойстик если игра свернута"
+
+#: src/gui/setup_joystick.cpp:78
msgid "Joystick"
msgstr "Джойстик"
-#: src/gui/setup_joystick.cpp:84
+#: src/gui/setup_joystick.cpp:147
msgid "Stop"
msgstr "Стоп"
-#: src/gui/setup_joystick.cpp:85
-msgid "Rotate the stick"
-msgstr "Вращайте рукоять"
+#: src/gui/setup_joystick.cpp:149
+msgid "Rotate the stick and dont press buttons"
+msgstr "Вращайте стик и не нажимайте другие кнопки"
#: src/gui/setup_keyboard.cpp:80
msgid "Keyboard"
@@ -2149,28 +2172,29 @@ msgid "Enable bot checker"
msgstr "Включить детектор ботов"
#: src/gui/setup_other.cpp:174
-msgid "Enable buggy servers protection"
-msgstr "Включить защиту от сбойных серверов"
+msgid "Enable buggy servers protection (do not disable)"
+msgstr "Включить защиту от бажных серверов (не выключать!)"
-#: src/gui/setup_other.cpp:177
+#: src/gui/setup_other.cpp:178
msgid "Enable debug log"
msgstr "Включить отлад. лог"
-#: src/gui/setup_other.cpp:180
+#: src/gui/setup_other.cpp:181
msgid "Low traffic mode"
msgstr "Режим кеширования игроков"
-#: src/gui/setup_other.cpp:183
+#: src/gui/setup_other.cpp:184
msgid "Hide shield sprite"
msgstr "Спрятать картинку счита"
-#: src/gui/setup_other.cpp:186
+#: src/gui/setup_other.cpp:187
msgid "Show background"
msgstr "Показать фон"
#: src/gui/setup_perfomance.cpp:55
msgid "Better perfomance (enable for better perfomance)"
-msgstr "Улучшение производительности (включите для большей производительности)"
+msgstr ""
+"Улучшение производительности (включите для большей производительности)"
#: src/gui/setup_perfomance.cpp:58
msgid "Auto adjust perfomance"
@@ -2297,91 +2321,151 @@ msgstr "Стерт"
msgid "Blacklisted"
msgstr "В черном списке"
-#: src/gui/setup_relations.cpp:239
+#: src/gui/setup_relations.cpp:76
+msgid "Enemy"
+msgstr "Враг"
+
+#: src/gui/setup_relations.cpp:240
msgid "Allow trading"
msgstr "Разрешить торговлю"
-#: src/gui/setup_relations.cpp:241
+#: src/gui/setup_relations.cpp:242
msgid "Allow whispers"
msgstr "Разрешить шептание"
-#: src/gui/setup_relations.cpp:244
+#: src/gui/setup_relations.cpp:245
msgid "Old"
msgstr "Старые"
-#: src/gui/setup_relations.cpp:246
+#: src/gui/setup_relations.cpp:247
msgid "Relations"
msgstr "Связи"
-#: src/gui/setup_relations.cpp:271
+#: src/gui/setup_relations.cpp:272
msgid "When ignoring:"
msgstr "Когда игнорируется:"
-#: src/gui/setup_theme.cpp:107
+#: src/gui/setup_theme.cpp:108
msgid "Tiny (10)"
msgstr "Маленький (10)"
-#: src/gui/setup_theme.cpp:108
+#: src/gui/setup_theme.cpp:109
msgid "Small (11)"
msgstr "Маленький (11)"
-#: src/gui/setup_theme.cpp:109
+#: src/gui/setup_theme.cpp:110
msgid "Medium (12)"
msgstr "Средний (12)"
-#: src/gui/setup_theme.cpp:110
+#: src/gui/setup_theme.cpp:111
msgid "Large (13)"
msgstr "Большой (13)"
-#: src/gui/setup_theme.cpp:111
+#: src/gui/setup_theme.cpp:112
msgid "Big (14)"
msgstr "Боьшой (14)"
-#: src/gui/setup_theme.cpp:112
+#: src/gui/setup_theme.cpp:113
msgid "Huge (15)"
msgstr "Огромный (15)"
-#: src/gui/setup_theme.cpp:143
+#: src/gui/setup_theme.cpp:146
+msgid "Chinese (China)"
+msgstr "Китайский"
+
+#: src/gui/setup_theme.cpp:147
+msgid "Czech"
+msgstr "Чешский"
+
+#: src/gui/setup_theme.cpp:148
+msgid "English"
+msgstr "Английский"
+
+#: src/gui/setup_theme.cpp:149
+msgid "Finnish"
+msgstr "Финский"
+
+#: src/gui/setup_theme.cpp:150
+msgid "French"
+msgstr "Французский"
+
+#: src/gui/setup_theme.cpp:151
+msgid "German"
+msgstr "Немецкий"
+
+#: src/gui/setup_theme.cpp:152
+msgid "Indonesian"
+msgstr "Индонезийский"
+
+#: src/gui/setup_theme.cpp:153
+msgid "Japanese"
+msgstr "Японский"
+
+#: src/gui/setup_theme.cpp:154
+msgid "Dutch (Belgium/Flemish)"
+msgstr "Голландский (Бельгийский / Фламандский)"
+
+#: src/gui/setup_theme.cpp:155
+msgid "Portuguese"
+msgstr "Португальский"
+
+#: src/gui/setup_theme.cpp:156
+msgid "Portuguese (Brazilian)"
+msgstr "Португальский (Бразильский)"
+
+#: src/gui/setup_theme.cpp:157
+msgid "Russian"
+msgstr "Русский"
+
+#: src/gui/setup_theme.cpp:158
+msgid "Spanish (Castilian)"
+msgstr "Испанский (Кастильский)"
+
+#: src/gui/setup_theme.cpp:190
msgid "Theme"
msgstr "Тема"
-#: src/gui/setup_theme.cpp:145
+#: src/gui/setup_theme.cpp:192
msgid "Gui theme"
msgstr "Тема интерфейса"
-#: src/gui/setup_theme.cpp:146
+#: src/gui/setup_theme.cpp:193
+msgid "Language"
+msgstr "Язык"
+
+#: src/gui/setup_theme.cpp:194
msgid "Main Font"
msgstr "Основной шрифт"
-#: src/gui/setup_theme.cpp:147
+#: src/gui/setup_theme.cpp:195
msgid "Bold font"
msgstr "Жирный шрифт"
-#: src/gui/setup_theme.cpp:148
+#: src/gui/setup_theme.cpp:196
msgid "Particle font"
msgstr "Шрифт частиц"
-#: src/gui/setup_theme.cpp:149
+#: src/gui/setup_theme.cpp:197
msgid "Help font"
msgstr "Шрифт помощи"
-#: src/gui/setup_theme.cpp:150
+#: src/gui/setup_theme.cpp:198
msgid "Secure font"
msgstr "Безопасный шрифт"
-#: src/gui/setup_theme.cpp:151
+#: src/gui/setup_theme.cpp:199
msgid "Japanese font"
msgstr "Японский шрифт"
-#: src/gui/setup_theme.cpp:183
+#: src/gui/setup_theme.cpp:236
msgid "Font size"
msgstr "Размер шрифта"
-#: src/gui/setup_theme.cpp:299
+#: src/gui/setup_theme.cpp:377
msgid "Theme Changed"
msgstr "Тема изменена"
-#: src/gui/setup_theme.cpp:300 src/gui/setup_video.cpp:619
+#: src/gui/setup_theme.cpp:378 src/gui/setup_video.cpp:619
#: src/gui/setup_video.cpp:624
msgid "Restart your client for the change to take effect."
msgstr "Перезегрузите игру дабы изменения вступили в силу."
@@ -2495,8 +2579,8 @@ msgstr "Нет"
msgid ""
"Failed to switch to windowed mode and restoration of old mode also failed!"
msgstr ""
-"Не удалось переключиться в оконный режим. Восстановить старый режим также не "
-"удалось!"
+"Не удалось переключиться в оконный режим. Восстановить старый режим также не"
+" удалось!"
#: src/gui/setup_video.cpp:490
msgid ""
@@ -2814,422 +2898,445 @@ msgstr "Выберите имя будущей группы."
msgid "Specials"
msgstr "Особые"
-#: src/gui/statuspopup.cpp:197
+#: src/gui/statuspopup.cpp:204
msgid "(D) default moves"
msgstr "(D) движения по умолчанию"
-#: src/gui/statuspopup.cpp:202
+#: src/gui/statuspopup.cpp:209
msgid "(I) invert moves"
msgstr "(I) обратное движение"
-#: src/gui/statuspopup.cpp:207
+#: src/gui/statuspopup.cpp:214
msgid "(c) moves with some crazy moves"
msgstr "(c) обычное движение иногда с сумашедшими движениями"
-#: src/gui/statuspopup.cpp:212
+#: src/gui/statuspopup.cpp:219
msgid "(C) moves with crazy moves"
msgstr "(C) движение с сумашедшими движениями"
-#: src/gui/statuspopup.cpp:217
+#: src/gui/statuspopup.cpp:224
msgid "(d) double normal + crazy"
msgstr "(d) нормальные и сумашедшие движения"
-#: src/gui/statuspopup.cpp:222
+#: src/gui/statuspopup.cpp:229
msgid "(?) move"
msgstr "(?) неизвестное движение"
-#: src/gui/statuspopup.cpp:240
+#: src/gui/statuspopup.cpp:247
msgid "(a) custom crazy move"
msgstr "(a) пользовательские сумашедшие движения"
-#: src/gui/statuspopup.cpp:244
+#: src/gui/statuspopup.cpp:251
msgid "(?) crazy move"
msgstr "(?) неизвестные сумасшедшие движения"
-#: src/gui/statuspopup.cpp:254
+#: src/gui/statuspopup.cpp:261
msgid "(0) default moves to target"
msgstr "(0) обычное движение к цели"
-#: src/gui/statuspopup.cpp:259
+#: src/gui/statuspopup.cpp:266
msgid "(1) moves to target in distance 1"
msgstr "(1) движение к цели на расстояние 1"
-#: src/gui/statuspopup.cpp:264
+#: src/gui/statuspopup.cpp:271
msgid "(2) moves to target in distance 2"
msgstr "(2) движение к цели на расстояние 2"
-#: src/gui/statuspopup.cpp:269
+#: src/gui/statuspopup.cpp:276
msgid "(3) moves to target in distance 3"
msgstr "(3) движение к цели на расстояние 3"
-#: src/gui/statuspopup.cpp:274
+#: src/gui/statuspopup.cpp:281
msgid "(5) moves to target in distance 5"
msgstr "(5) движение к цели на расстояние 5"
-#: src/gui/statuspopup.cpp:279
+#: src/gui/statuspopup.cpp:286
msgid "(7) moves to target in distance 7"
msgstr "(7) движение к цели на расстояние 7"
-#: src/gui/statuspopup.cpp:284
+#: src/gui/statuspopup.cpp:291
msgid "(A) moves to target in attack range"
msgstr "(A) движение к цели на расстояние атаки"
-#: src/gui/statuspopup.cpp:289
+#: src/gui/statuspopup.cpp:296
msgid "(a) archer attack range"
msgstr "(a) атака лучника"
-#: src/gui/statuspopup.cpp:294
+#: src/gui/statuspopup.cpp:301
msgid "(?) move to target"
msgstr "(?) неизвестное движение к цели"
-#: src/gui/statuspopup.cpp:302
+#: src/gui/statuspopup.cpp:309
msgid "(D) default follow"
msgstr "(D) следование по умолчанию"
-#: src/gui/statuspopup.cpp:306
+#: src/gui/statuspopup.cpp:313
msgid "(R) relative follow"
msgstr "(R) относительное следование"
-#: src/gui/statuspopup.cpp:310
+#: src/gui/statuspopup.cpp:317
msgid "(M) mirror follow"
msgstr "(M) зеркальное следование"
-#: src/gui/statuspopup.cpp:314
+#: src/gui/statuspopup.cpp:321
msgid "(P) pet follow"
msgstr "(P) следование как животное"
-#: src/gui/statuspopup.cpp:318
+#: src/gui/statuspopup.cpp:325
msgid "(?) unknown follow"
msgstr "(?) неизвестное следование"
-#: src/gui/statuspopup.cpp:327 src/gui/statuspopup.cpp:350
+#: src/gui/statuspopup.cpp:334 src/gui/statuspopup.cpp:357
msgid "(D) default attack"
msgstr "(D) обычная атака"
-#: src/gui/statuspopup.cpp:332
+#: src/gui/statuspopup.cpp:339
msgid "(s) switch attack without shield"
msgstr "(s) переключение атаки без щита"
-#: src/gui/statuspopup.cpp:337
+#: src/gui/statuspopup.cpp:344
msgid "(S) switch attack with shield"
msgstr "(S) переключение атаки со щитом"
-#: src/gui/statuspopup.cpp:341 src/gui/statuspopup.cpp:366
+#: src/gui/statuspopup.cpp:348 src/gui/statuspopup.cpp:373
msgid "(?) attack"
msgstr "(?) неизвестная атака"
-#: src/gui/statuspopup.cpp:354
+#: src/gui/statuspopup.cpp:361
msgid "(G) go and attack"
msgstr "(G) идти и атаковать"
-#: src/gui/statuspopup.cpp:358
+#: src/gui/statuspopup.cpp:365
msgid "(A) go, attack, pickup"
msgstr "(A) идти, атаковать, собирать"
-#: src/gui/statuspopup.cpp:362
+#: src/gui/statuspopup.cpp:369
msgid "(d) without auto attack"
msgstr "(d) без автоатаки"
-#: src/gui/statuspopup.cpp:380
+#: src/gui/statuspopup.cpp:387
msgid "(S) small pick up 1x1 cells"
msgstr "(S) поднятие в области 1x1"
-#: src/gui/statuspopup.cpp:384
+#: src/gui/statuspopup.cpp:391
msgid "(D) default pick up 2x1 cells"
msgstr "(D) поднятие из области 2x1"
-#: src/gui/statuspopup.cpp:388
+#: src/gui/statuspopup.cpp:395
msgid "(F) forward pick up 2x3 cells"
msgstr "(F) поднятие из области спереди 2x3"
-#: src/gui/statuspopup.cpp:392
+#: src/gui/statuspopup.cpp:399
msgid "(3) pick up 3x3 cells"
msgstr "(3) поднятие из области 3x3"
-#: src/gui/statuspopup.cpp:396
+#: src/gui/statuspopup.cpp:403
msgid "(g) go and pick up in distance 4"
msgstr "(g) движение и поднятие на расстоянии 4"
-#: src/gui/statuspopup.cpp:400
+#: src/gui/statuspopup.cpp:407
msgid "(G) go and pick up in distance 8"
msgstr "(g) движение и поднятие на расстоянии 8"
-#: src/gui/statuspopup.cpp:404
+#: src/gui/statuspopup.cpp:411
msgid "(A) go and pick up in max distance"
msgstr "(A) движение и поднятие на максимальном расстоянии"
-#: src/gui/statuspopup.cpp:408
+#: src/gui/statuspopup.cpp:415
msgid "(?) pick up"
msgstr "(?) неизвестный режим поднятия"
-#: src/gui/statuspopup.cpp:417
+#: src/gui/statuspopup.cpp:424
msgid "(N) normal map view"
msgstr "(N) обычный режим карты"
-#: src/gui/statuspopup.cpp:421
+#: src/gui/statuspopup.cpp:428
msgid "(D) debug map view"
msgstr "(D) отладочный режим карты"
-#: src/gui/statuspopup.cpp:425
+#: src/gui/statuspopup.cpp:432
msgid "(u) ultra map view"
msgstr "(u) специальный режим карты"
-#: src/gui/statuspopup.cpp:429
+#: src/gui/statuspopup.cpp:436
msgid "(U) ultra map view 2"
msgstr "(U) специальный режим карты 2"
-#: src/gui/statuspopup.cpp:433
+#: src/gui/statuspopup.cpp:440
msgid "(e) empty map view"
msgstr "(e) режим пустой карты"
-#: src/gui/statuspopup.cpp:437
+#: src/gui/statuspopup.cpp:444
msgid "(b) black & white map view"
msgstr "(b) черно-белый режим карты"
-#: src/gui/statuspopup.cpp:441
+#: src/gui/statuspopup.cpp:448
msgid "(?) map view"
msgstr "(?) неизвестный режим карты"
-#: src/gui/statuspopup.cpp:449
+#: src/gui/statuspopup.cpp:456
msgid "(f) use #flar for magic attack"
msgstr "(f) использовать #flar для атаки"
-#: src/gui/statuspopup.cpp:454
+#: src/gui/statuspopup.cpp:461
msgid "(c) use #chiza for magic attack"
msgstr "(c) использовать #chiza для атаки"
-#: src/gui/statuspopup.cpp:459
+#: src/gui/statuspopup.cpp:466
msgid "(I) use #ingrav for magic attack"
msgstr "(I) использовать #ingrav для атаки"
-#: src/gui/statuspopup.cpp:464
+#: src/gui/statuspopup.cpp:471
msgid "(F) use #frillyar for magic attack"
msgstr "(F) использовать #frillyar для атаки"
-#: src/gui/statuspopup.cpp:469
+#: src/gui/statuspopup.cpp:476
msgid "(U) use #upmarmu for magic attack"
msgstr "(U) использовать #upmarmu для атаки"
-#: src/gui/statuspopup.cpp:473
+#: src/gui/statuspopup.cpp:480
msgid "(?) magic attack"
msgstr "(?) неизвестная магическая атака"
-#: src/gui/statuspopup.cpp:482
+#: src/gui/statuspopup.cpp:489
+msgid "(a) attack all players"
+msgstr "(a) атаковать всех игроков"
+
+#: src/gui/statuspopup.cpp:493
+msgid "(f) attack not friends"
+msgstr "(f) атаковать всех кроме друзей"
+
+#: src/gui/statuspopup.cpp:497
+msgid "(b) attack bad relations"
+msgstr "(b) атаковать врагов"
+
+#: src/gui/statuspopup.cpp:501
+msgid "(d) dont attack players"
+msgstr "(d) не атаковать игроков"
+
+#: src/gui/statuspopup.cpp:505
+msgid "(?) pvp attack"
+msgstr "(?) pvp атака"
+
+#: src/gui/statuspopup.cpp:514
msgid "(D) default imitation"
msgstr "(D) имитация по умолчанию"
-#: src/gui/statuspopup.cpp:486
+#: src/gui/statuspopup.cpp:518
msgid "(O) outfits imitation"
msgstr "(O) имитация нарядов"
-#: src/gui/statuspopup.cpp:490
+#: src/gui/statuspopup.cpp:522
msgid "(?) imitation"
msgstr "(?) неизвестная имитация"
-#: src/gui/statuspopup.cpp:499
+#: src/gui/statuspopup.cpp:531
msgid "(O) on keyboard"
msgstr "(O) возле компьютера"
-#: src/gui/statuspopup.cpp:502
+#: src/gui/statuspopup.cpp:534
msgid "(A) away"
msgstr "(A) отошел"
-#: src/gui/statuspopup.cpp:505 src/gui/statuspopup.cpp:525
+#: src/gui/statuspopup.cpp:537 src/gui/statuspopup.cpp:557
msgid "(?) away"
msgstr "(?) неизвестный режим отошел"
-#: src/gui/statuspopup.cpp:513
+#: src/gui/statuspopup.cpp:545
msgid "(G) game camera mode"
msgstr "(G) игровая камера"
-#: src/gui/statuspopup.cpp:517
+#: src/gui/statuspopup.cpp:549
msgid "(F) free camera mode"
msgstr "(F) свободная камера"
-#: src/gui/statuspopup.cpp:521
+#: src/gui/statuspopup.cpp:553
msgid "(D) design camera mode"
msgstr "(D) камера в режиме разработки"
-#: src/gui/statuspopup.cpp:532
+#: src/gui/statuspopup.cpp:564
msgid "Game modifiers are disabled"
msgstr "Игровые модификаторы выключены"
-#: src/gui/statuspopup.cpp:537
+#: src/gui/statuspopup.cpp:569
msgid "Game modifiers are enabled"
msgstr "Игровые модификаторы включены"
-#: src/gui/statuswindow.cpp:143 src/gui/statuswindow.cpp:273
-#: src/gui/statuswindow.cpp:336
+#: src/gui/statuswindow.cpp:144 src/gui/statuswindow.cpp:274
+#: src/gui/statuswindow.cpp:337
#, c-format
msgid "Level: %d"
msgstr "Уровень: %d"
-#: src/gui/statuswindow.cpp:144 src/gui/statuswindow.cpp:259
-#: src/gui/statuswindow.cpp:303
+#: src/gui/statuswindow.cpp:145 src/gui/statuswindow.cpp:260
+#: src/gui/statuswindow.cpp:304
#, c-format
msgid "Money: %s"
msgstr "Деньги: %s"
-#: src/gui/statuswindow.cpp:150
+#: src/gui/statuswindow.cpp:151
msgid "HP:"
msgstr "ОЖ:"
-#: src/gui/statuswindow.cpp:157
+#: src/gui/statuswindow.cpp:158
msgid "Exp:"
msgstr "Exp:"
-#: src/gui/statuswindow.cpp:171
+#: src/gui/statuswindow.cpp:172
msgid "MP:"
msgstr "Мана:"
-#: src/gui/statuswindow.cpp:203 src/gui/statuswindow.cpp:386
+#: src/gui/statuswindow.cpp:204 src/gui/statuswindow.cpp:387
#, c-format
msgid "Job: %d"
msgstr "Профессия: %d"
-#: src/gui/statuswindow.cpp:204
+#: src/gui/statuswindow.cpp:205
msgid "Job:"
msgstr "Профессия:"
-#: src/gui/statuswindow.cpp:262 src/gui/statuswindow.cpp:310
+#: src/gui/statuswindow.cpp:263 src/gui/statuswindow.cpp:311
#, c-format
msgid "Character points: %d"
msgstr "Очки персонажа: %d"
-#: src/gui/statuswindow.cpp:268
+#: src/gui/statuswindow.cpp:269
#, c-format
msgid "Level: %d (GM %d)"
msgstr "Уровень: %d (GM %d)"
-#: src/gui/statuswindow.cpp:324
+#: src/gui/statuswindow.cpp:325
#, c-format
msgid "Correction points: %d"
msgstr "Очков навыков: %d"
-#: src/gui/statuswindow.cpp:648 src/gui/statuswindow.cpp:716
-#: src/gui/statuswindow.cpp:736 src/gui/statuswindow.cpp:752
-#: src/gui/statuswindow.cpp:798 src/gui/statuswindow.cpp:827
-#: src/gui/statuswindow.cpp:850 src/gui/statuswindow.cpp:869
+#: src/gui/statuswindow.cpp:649 src/gui/statuswindow.cpp:717
+#: src/gui/statuswindow.cpp:737 src/gui/statuswindow.cpp:753
+#: src/gui/statuswindow.cpp:818 src/gui/statuswindow.cpp:847
+#: src/gui/statuswindow.cpp:870 src/gui/statuswindow.cpp:889
msgid "(D)"
msgstr "(D)"
-#: src/gui/statuswindow.cpp:651 src/gui/statuswindow.cpp:777
+#: src/gui/statuswindow.cpp:652 src/gui/statuswindow.cpp:778
msgid "(I)"
msgstr "(I)"
-#: src/gui/statuswindow.cpp:654 src/gui/statuswindow.cpp:774
+#: src/gui/statuswindow.cpp:655 src/gui/statuswindow.cpp:775
msgid "(c)"
msgstr "(c)"
-#: src/gui/statuswindow.cpp:657
+#: src/gui/statuswindow.cpp:658
msgid "(C)"
msgstr "(C)"
-#: src/gui/statuswindow.cpp:660 src/gui/statuswindow.cpp:761
+#: src/gui/statuswindow.cpp:661 src/gui/statuswindow.cpp:762
+#: src/gui/statuswindow.cpp:803
msgid "(d)"
msgstr "(d)"
-#: src/gui/statuswindow.cpp:663 src/gui/statuswindow.cpp:677
-#: src/gui/statuswindow.cpp:709 src/gui/statuswindow.cpp:728
-#: src/gui/statuswindow.cpp:745 src/gui/statuswindow.cpp:764
-#: src/gui/statuswindow.cpp:786 src/gui/statuswindow.cpp:816
-#: src/gui/statuswindow.cpp:842 src/gui/statuswindow.cpp:856
-#: src/gui/statuswindow.cpp:872 src/gui/statuswindow.cpp:885
+#: src/gui/statuswindow.cpp:664 src/gui/statuswindow.cpp:678
+#: src/gui/statuswindow.cpp:710 src/gui/statuswindow.cpp:729
+#: src/gui/statuswindow.cpp:746 src/gui/statuswindow.cpp:765
+#: src/gui/statuswindow.cpp:787 src/gui/statuswindow.cpp:806
+#: src/gui/statuswindow.cpp:836 src/gui/statuswindow.cpp:862
+#: src/gui/statuswindow.cpp:876 src/gui/statuswindow.cpp:892
+#: src/gui/statuswindow.cpp:905
msgid "(?)"
msgstr "(?)"
-#: src/gui/statuswindow.cpp:674 src/gui/statuswindow.cpp:706
+#: src/gui/statuswindow.cpp:675 src/gui/statuswindow.cpp:707
+#: src/gui/statuswindow.cpp:794
msgid "(a)"
msgstr "(a)"
-#: src/gui/statuswindow.cpp:685
+#: src/gui/statuswindow.cpp:686
msgid "(0)"
msgstr "(0)"
-#: src/gui/statuswindow.cpp:688
+#: src/gui/statuswindow.cpp:689
msgid "(1)"
msgstr "(1)"
-#: src/gui/statuswindow.cpp:691
+#: src/gui/statuswindow.cpp:692
msgid "(2)"
msgstr "(2)"
-#: src/gui/statuswindow.cpp:694 src/gui/statuswindow.cpp:804
+#: src/gui/statuswindow.cpp:695 src/gui/statuswindow.cpp:824
msgid "(3)"
msgstr "(3)"
-#: src/gui/statuswindow.cpp:697
+#: src/gui/statuswindow.cpp:698
msgid "(5)"
msgstr "(5)"
-#: src/gui/statuswindow.cpp:700
+#: src/gui/statuswindow.cpp:701
msgid "(7)"
msgstr "(7)"
-#: src/gui/statuswindow.cpp:703 src/gui/statuswindow.cpp:758
-#: src/gui/statuswindow.cpp:813 src/gui/statuswindow.cpp:882
+#: src/gui/statuswindow.cpp:704 src/gui/statuswindow.cpp:759
+#: src/gui/statuswindow.cpp:833 src/gui/statuswindow.cpp:902
msgid "(A)"
msgstr "(A)"
-#: src/gui/statuswindow.cpp:719
+#: src/gui/statuswindow.cpp:720
msgid "(R)"
msgstr "(R)"
-#: src/gui/statuswindow.cpp:722
+#: src/gui/statuswindow.cpp:723
msgid "(M)"
msgstr "(M)"
-#: src/gui/statuswindow.cpp:725
+#: src/gui/statuswindow.cpp:726
msgid "(P)"
msgstr "(P)"
-#: src/gui/statuswindow.cpp:739
+#: src/gui/statuswindow.cpp:740
msgid "(s)"
msgstr "(s)"
-#: src/gui/statuswindow.cpp:742 src/gui/statuswindow.cpp:795
+#: src/gui/statuswindow.cpp:743 src/gui/statuswindow.cpp:815
msgid "(S)"
msgstr "(S)"
-#: src/gui/statuswindow.cpp:755 src/gui/statuswindow.cpp:810
-#: src/gui/statuswindow.cpp:863
+#: src/gui/statuswindow.cpp:756 src/gui/statuswindow.cpp:830
+#: src/gui/statuswindow.cpp:883
msgid "(G)"
msgstr "(G)"
-#: src/gui/statuswindow.cpp:771
+#: src/gui/statuswindow.cpp:772 src/gui/statuswindow.cpp:797
msgid "(f)"
msgstr "(f)"
-#: src/gui/statuswindow.cpp:780 src/gui/statuswindow.cpp:801
-#: src/gui/statuswindow.cpp:866
+#: src/gui/statuswindow.cpp:781 src/gui/statuswindow.cpp:821
+#: src/gui/statuswindow.cpp:886
msgid "(F)"
msgstr "(F)"
-#: src/gui/statuswindow.cpp:783 src/gui/statuswindow.cpp:833
+#: src/gui/statuswindow.cpp:784 src/gui/statuswindow.cpp:853
msgid "(U)"
msgstr "(U)"
-#: src/gui/statuswindow.cpp:807
+#: src/gui/statuswindow.cpp:800 src/gui/statuswindow.cpp:859
+msgid "(b)"
+msgstr "(b)"
+
+#: src/gui/statuswindow.cpp:827
msgid "(g)"
msgstr "(g)"
-#: src/gui/statuswindow.cpp:824
+#: src/gui/statuswindow.cpp:844
msgid "(N)"
msgstr "(N)"
-#: src/gui/statuswindow.cpp:830
+#: src/gui/statuswindow.cpp:850
msgid "(u)"
msgstr "(u)"
-#: src/gui/statuswindow.cpp:836
+#: src/gui/statuswindow.cpp:856
msgid "(e)"
msgstr "(e)"
-#: src/gui/statuswindow.cpp:839
-msgid "(b)"
-msgstr "(b)"
-
-#: src/gui/statuswindow.cpp:853 src/gui/statuswindow.cpp:879
+#: src/gui/statuswindow.cpp:873 src/gui/statuswindow.cpp:899
msgid "(O)"
msgstr "(O)"
@@ -3359,7 +3466,8 @@ msgid "You don't have enough money."
msgstr "У вас недостаточно денег"
#: src/gui/tradewindow.cpp:454
-msgid "Failed adding item. You can not overlap one kind of item on the window."
+msgid ""
+"Failed adding item. You can not overlap one kind of item on the window."
msgstr ""
"Отказано в добавлении предмета. Вы не можете добавить какой-либо вид "
"объектов более одного раза."
@@ -3381,21 +3489,21 @@ msgstr "Соединение..."
msgid "Play"
msgstr "Играть"
-#: src/gui/updaterwindow.cpp:564
+#: src/gui/updaterwindow.cpp:565
msgid "##1 The update process is incomplete."
msgstr "##1 Процесс обновления не завершен!"
#. TRANSLATORS: Continues "you try again later.".
-#: src/gui/updaterwindow.cpp:566
+#: src/gui/updaterwindow.cpp:567
msgid "##1 It is strongly recommended that"
msgstr "##1 Настоятельно рекомендуется"
#. TRANSLATORS: Begins "It is strongly recommended that".
-#: src/gui/updaterwindow.cpp:568
+#: src/gui/updaterwindow.cpp:569
msgid "##1 you try again later."
msgstr "##1 попытаться еще раз немного погодя."
-#: src/gui/updaterwindow.cpp:744
+#: src/gui/updaterwindow.cpp:745
msgid "Completed"
msgstr "Завершено"
@@ -3734,15 +3842,16 @@ msgstr "Команда: /ignore"
#: src/gui/widgets/whispertab.cpp:125
msgid "This command ignores the other player regardless of current relations."
msgstr ""
-"Эта команда позволяет игнорировать другого игрока вне зависимости от текущих "
-"отношений с ним."
+"Эта команда позволяет игнорировать другого игрока вне зависимости от текущих"
+" отношений с ним."
#: src/gui/widgets/whispertab.cpp:130
msgid "Command: /unignore <player>"
msgstr "Команда: /unignore <игрок>"
#: src/gui/widgets/whispertab.cpp:131
-msgid "This command stops ignoring the other player if they are being ignored."
+msgid ""
+"This command stops ignoring the other player if they are being ignored."
msgstr "Эта команда прекращает игнорирование другого игрока."
#: src/gui/windowmenu.cpp:65
@@ -3959,7 +4068,7 @@ msgstr "Горячие клавиши предметов"
#: src/keyboardconfig.cpp:116 src/keyboardconfig.cpp:119
#: src/keyboardconfig.cpp:121 src/keyboardconfig.cpp:123
#: src/keyboardconfig.cpp:125 src/keyboardconfig.cpp:127
-#: src/keyboardconfig.cpp:369
+#: src/keyboardconfig.cpp:371
#, c-format
msgid "Item Shortcut %d"
msgstr "Комбинация клавиш быстрого предмета %d"
@@ -4086,7 +4195,7 @@ msgstr "Смайлы"
#: src/keyboardconfig.cpp:258 src/keyboardconfig.cpp:260
#: src/keyboardconfig.cpp:262 src/keyboardconfig.cpp:264
#: src/keyboardconfig.cpp:266 src/keyboardconfig.cpp:268
-#: src/keyboardconfig.cpp:364
+#: src/keyboardconfig.cpp:366
#, c-format
msgid "Emote Shortcut %d"
msgstr "Комбинация клавиш для смайла %d"
@@ -4215,51 +4324,55 @@ msgstr "Использование магической атаки"
msgid "Switch magic attack"
msgstr "Переключение маг. атаки"
-#: src/keyboardconfig.cpp:328
+#: src/keyboardconfig.cpp:329
+msgid "Switch pvp attack"
+msgstr "Переключение pvp атаки"
+
+#: src/keyboardconfig.cpp:330
msgid "Change move type"
msgstr "Изменение типа движения"
-#: src/keyboardconfig.cpp:330
+#: src/keyboardconfig.cpp:332
msgid "Change Attack Weapon Type"
msgstr "Измение типа атаки оружием"
-#: src/keyboardconfig.cpp:332
+#: src/keyboardconfig.cpp:334
msgid "Change Attack Type"
msgstr "Изменение типа атаки"
-#: src/keyboardconfig.cpp:334
+#: src/keyboardconfig.cpp:336
msgid "Change Follow mode"
msgstr "Изменение режима следования"
-#: src/keyboardconfig.cpp:336
+#: src/keyboardconfig.cpp:338
msgid "Change Imitation mode"
msgstr "Изменение режима имитации"
-#: src/keyboardconfig.cpp:339
+#: src/keyboardconfig.cpp:341
msgid "Disable / Enable Game modifier keys"
msgstr "Включение / Выключение специальных модификаторов"
-#: src/keyboardconfig.cpp:340
+#: src/keyboardconfig.cpp:342
msgid "On / Off audio"
msgstr "Вкл. / Выкл. звука"
-#: src/keyboardconfig.cpp:342
+#: src/keyboardconfig.cpp:344
msgid "Enable / Disable away mode"
msgstr "Включение / Выключение режима отошел"
-#: src/keyboardconfig.cpp:344
+#: src/keyboardconfig.cpp:346
msgid "Emulate right click from keyboard"
msgstr "Эмуляция правого клика с клавиатуры"
-#: src/keyboardconfig.cpp:346
+#: src/keyboardconfig.cpp:348
msgid "Toggle camera mode"
msgstr "Изменение режима камеры"
-#: src/keyboardconfig.cpp:348
+#: src/keyboardconfig.cpp:350
msgid "Modifier key"
msgstr "Кнопка-модификатор"
-#: src/keyboardconfig.cpp:427
+#: src/keyboardconfig.cpp:429
#, c-format
msgid ""
"Conflict \"%s\" and \"%s\" keys. Resolve them, or gameplay may result in "
@@ -4268,41 +4381,41 @@ msgstr ""
"Конфликт клавиш \"%s\" и \"%s\".Исправьте их, или игра может себя странно "
"вести."
-#: src/localplayer.cpp:381
+#: src/localplayer.cpp:389
msgid "You were killed by "
msgstr "Вы были убиты "
-#: src/localplayer.cpp:1428
+#: src/localplayer.cpp:1442
msgid "Tried to pick up nonexistent item."
msgstr "Попытка поднять несуществующий предмет."
-#: src/localplayer.cpp:1430
+#: src/localplayer.cpp:1444
msgid "Item is too heavy."
msgstr "Предмет слишком тяжелый."
-#: src/localplayer.cpp:1432
+#: src/localplayer.cpp:1446
msgid "Item is too far away."
msgstr "Предмет слишком далеко"
-#: src/localplayer.cpp:1434
+#: src/localplayer.cpp:1448
msgid "Inventory is full."
msgstr "Инвентарь переполнен."
-#: src/localplayer.cpp:1436
+#: src/localplayer.cpp:1450
msgid "Stack is too big."
msgstr "Слишком много предметов."
-#: src/localplayer.cpp:1439
+#: src/localplayer.cpp:1453
msgid "Item belongs to someone else."
msgstr "Предмет принадлежит кому-то еще."
-#: src/localplayer.cpp:1442
+#: src/localplayer.cpp:1456
msgid "Unknown problem picking up item."
msgstr "Неизвестная проблема при поднятии предмета."
#. TRANSLATORS: %d is number,
#. [@@%d|%s@@] - here player can see link to item
-#: src/localplayer.cpp:1466
+#: src/localplayer.cpp:1480
#, c-format
msgid "You picked up %d [@@%d|%s@@]."
msgid_plural "You picked up %d [@@%d|%s@@]."
@@ -4310,27 +4423,27 @@ msgstr[0] "Вы подняли %d [@@%d|%s@@]."
msgstr[1] "Вы подняли %d [@@%d|%s@@]."
msgstr[2] "Вы подняли %d [@@%d|%s@@]."
-#: src/localplayer.cpp:3181
+#: src/localplayer.cpp:3206
msgid "Away"
msgstr "Отошел"
-#: src/localplayer.cpp:3509
+#: src/localplayer.cpp:3541
msgid "Follow: "
msgstr "Следование: "
-#: src/localplayer.cpp:3511 src/localplayer.cpp:3526
+#: src/localplayer.cpp:3543 src/localplayer.cpp:3558
msgid "Follow canceled"
msgstr "Следование отменено"
-#: src/localplayer.cpp:3518
+#: src/localplayer.cpp:3550
msgid "Imitation: "
msgstr "Имитация: "
-#: src/localplayer.cpp:3520 src/localplayer.cpp:3528
+#: src/localplayer.cpp:3552 src/localplayer.cpp:3560
msgid "Imitation canceled"
msgstr "Имитация отменена"
-#: src/localplayer.cpp:3876
+#: src/localplayer.cpp:3908
msgid "You see "
msgstr "Вы видите "
@@ -4478,7 +4591,8 @@ msgstr "Неизвестная ошибка сервера персонажей.
#: src/net/ea/charserverhandler.cpp:138
msgid "Failed to create character. Most likely the name is already taken."
-msgstr "Невозможно создать персонажа. Скорее всего, таке имя уже используется."
+msgstr ""
+"Невозможно создать персонажа. Скорее всего, таке имя уже используется."
#: src/net/ea/charserverhandler.cpp:142 src/net/ea/loginhandler.cpp:235
msgid "Wrong name."
@@ -4699,8 +4813,8 @@ msgid ""
"<policy> can be one of \"1\", \"yes\", \"true\" to enable item sharing, or "
"\"0\", \"no\", \"false\" to disable item sharing."
msgstr ""
-"<политикой> может быть \"1\", \"yes\", \"true\" для включения разделения или "
-"\"0\", \"no\", \"false\" -- для выключения."
+"<политикой> может быть \"1\", \"yes\", \"true\" для включения разделения или"
+" \"0\", \"no\", \"false\" -- для выключения."
#: src/net/ea/gui/partytab.cpp:101
msgid "Command: /item"
@@ -4708,7 +4822,8 @@ msgstr "Команда: /item"
#: src/net/ea/gui/partytab.cpp:102
msgid "This command displays the party's current item sharing policy."
-msgstr "Отображает текущую политику разделения предметов между членами группы."
+msgstr ""
+"Отображает текущую политику разделения предметов между членами группы."
#: src/net/ea/gui/partytab.cpp:107
msgid "Command: /exp <policy>"
@@ -5016,7 +5131,8 @@ msgstr "Сообщение"
#: src/net/ea/playerhandler.cpp:336
msgid ""
-"You are carrying more than half your weight. You are unable to regain health."
+"You are carrying more than half your weight. You are unable to regain "
+"health."
msgstr ""
"Вы несете груз больший, чем половина вашей грузоподъемности. Здоровье "
"восстанавливаться не будет."
@@ -5130,53 +5246,53 @@ msgstr "Яд не подействовал..."
msgid "%s wants to trade with you, do you accept?"
msgstr "%s хочет торговать с Вами, Вы принимаете предложение?"
-#: src/net/ea/tradehandler.cpp:134
+#: src/net/ea/tradehandler.cpp:135
msgid "Trading isn't possible. Trade partner is too far away."
msgstr "Торговля невозможна. Партнер по торговле слишком далеко."
-#: src/net/ea/tradehandler.cpp:138
+#: src/net/ea/tradehandler.cpp:139
msgid "Trading isn't possible. Character doesn't exist."
msgstr "Торговля невозможна. Такой персонаж не существует."
-#: src/net/ea/tradehandler.cpp:142
+#: src/net/ea/tradehandler.cpp:143
msgid "Trade cancelled due to an unknown reason."
msgstr "Торговля отменена по неизвестной причине."
-#: src/net/ea/tradehandler.cpp:148
+#: src/net/ea/tradehandler.cpp:149
#, c-format
msgid "Trade: You and %s"
msgstr "Торговля: Вы и %s"
-#: src/net/ea/tradehandler.cpp:158
+#: src/net/ea/tradehandler.cpp:159
#, c-format
msgid "Trade with %s cancelled."
msgstr "Торговля с %s отменена."
-#: src/net/ea/tradehandler.cpp:171
+#: src/net/ea/tradehandler.cpp:172
msgid "Unhandled trade cancel packet."
msgstr "Неизвестный сигнал завершения торговли."
-#: src/net/ea/tradehandler.cpp:236
+#: src/net/ea/tradehandler.cpp:237
msgid "Failed adding item. Trade partner is over weighted."
msgstr "Не удалось добавить предмет. Партнер по торговле перегружен."
-#: src/net/ea/tradehandler.cpp:241
+#: src/net/ea/tradehandler.cpp:242
msgid "Failed adding item. Trade partner has no free slot."
msgstr "Не удалось добавить предмет. У партнера по торговле кончилось место."
-#: src/net/ea/tradehandler.cpp:246
+#: src/net/ea/tradehandler.cpp:247
msgid "Failed adding item. You can't trade this item."
msgstr "Ошибка добавления предмета. Вы не можете торговать этим предметом."
-#: src/net/ea/tradehandler.cpp:250
+#: src/net/ea/tradehandler.cpp:251
msgid "Failed adding item for unknown reason."
msgstr "Не удалось добавить предмет по неизвестной причине."
-#: src/net/ea/tradehandler.cpp:269 src/net/manaserv/tradehandler.cpp:160
+#: src/net/ea/tradehandler.cpp:270 src/net/manaserv/tradehandler.cpp:160
msgid "Trade canceled."
msgstr "Торговля отменена."
-#: src/net/ea/tradehandler.cpp:280 src/net/manaserv/tradehandler.cpp:167
+#: src/net/ea/tradehandler.cpp:281 src/net/manaserv/tradehandler.cpp:167
msgid "Trade completed."
msgstr "Торговля завершена."
@@ -5601,15 +5717,15 @@ msgstr "Зона атаки"
msgid "Damage per sec."
msgstr "Урон в сек."
-#: src/net/tmwa/network.cpp:152
+#: src/net/tmwa/network.cpp:153
msgid "Empty address given to Network::connect()!"
msgstr "Пустой адрес был передан методу Network::connect()!"
-#: src/net/tmwa/network.cpp:356
+#: src/net/tmwa/network.cpp:357
msgid "Unable to resolve host \""
msgstr "Не удалось найти хост \""
-#: src/net/tmwa/network.cpp:426
+#: src/net/tmwa/network.cpp:427
msgid "Connection to server terminated. "
msgstr "Подключение к серверу прервано."
@@ -5618,19 +5734,19 @@ msgstr "Подключение к серверу прервано."
msgid "%s is not in your party!"
msgstr "%s не в группе!"
-#: src/playerrelations.cpp:435
+#: src/playerrelations.cpp:460
msgid "Print '...'"
msgstr "Печатать '...'"
-#: src/playerrelations.cpp:455
+#: src/playerrelations.cpp:480
msgid "Blink name"
msgstr "Мигать именем"
-#: src/playerrelations.cpp:499
+#: src/playerrelations.cpp:524
msgid "Floating '...' bubble"
msgstr "Плавающий '...' пузырек"
-#: src/playerrelations.cpp:502
+#: src/playerrelations.cpp:527
msgid "Floating bubble"
msgstr "Плавающий пузырек"
@@ -5662,3 +5778,5 @@ msgstr "Мана %+d"
#: src/resources/itemdb.cpp:169
msgid "Unknown item"
msgstr "Неизвестный предмет"
+
+
diff --git a/po/zh_CN.po b/po/zh_CN.po
index 171477632..f80a91390 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR The ManaPlus Developers
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
# Andrei Karas <akaras@inbox.ru>, 2011.
# <colorfullife81@gmail.com>, 2011.
@@ -10,80 +10,79 @@ msgid ""
msgstr ""
"Project-Id-Version: ManaPlus\n"
"Report-Msgid-Bugs-To: akaras@inbox.ru\n"
-"POT-Creation-Date: 2011-10-28 03:52+0300\n"
-"PO-Revision-Date: 2011-10-28 00:55+0000\n"
+"POT-Creation-Date: 2011-11-12 00:23+0300\n"
+"PO-Revision-Date: 2011-11-11 21:38+0000\n"
"Last-Translator: akaras <akaras@inbox.ru>\n"
-"Language-Team: Chinese (China) (http://www.transifex.net/projects/p/manaplus/"
-"team/zh_CN/)\n"
-"Language: zh_CN\n"
+"Language-Team: Chinese (China) (http://www.transifex.net/projects/p/manaplus/team/zh_CN/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Language: zh_CN\n"
"Plural-Forms: nplurals=1; plural=0\n"
#: src/actorspritemanager.cpp:1171
msgid "Visible on map"
msgstr "在地图上可见"
-#: src/being.cpp:548
+#: src/being.cpp:551
msgid "dodge"
msgstr "躲闪"
-#: src/being.cpp:548
+#: src/being.cpp:551
msgid "miss"
msgstr "无法出售无法出售的物品。"
#. TRANSLATORS: this away status writed in player nick
-#: src/being.cpp:1527
+#: src/being.cpp:1530
msgid "A"
msgstr "A"
#. TRANSLATORS: this inactive status writed in player nick
-#: src/being.cpp:1532
+#: src/being.cpp:1535
msgid "I"
msgstr "I"
-#: src/client.cpp:835 src/gui/setup.cpp:54 src/gui/windowmenu.cpp:100
+#: src/client.cpp:869 src/gui/setup.cpp:54 src/gui/windowmenu.cpp:100
msgid "Setup"
msgstr "魔法攻击"
-#: src/client.cpp:842 src/gui/setup_perfomance.cpp:48
+#: src/client.cpp:876 src/gui/setup_perfomance.cpp:48
msgid "Perfomance"
msgstr "性能"
-#: src/client.cpp:847 src/gui/setup_video.cpp:315
+#: src/client.cpp:881 src/gui/setup_video.cpp:315
msgid "Video"
msgstr "视频"
-#: src/client.cpp:852
+#: src/client.cpp:886
msgid "Themes"
msgstr "主题"
-#: src/client.cpp:934
+#: src/client.cpp:968
msgid "Connecting to server"
msgstr "魔法防御"
-#: src/client.cpp:965
+#: src/client.cpp:999
msgid "Logging in"
msgstr "尝试捡起不存在的物品。"
-#: src/client.cpp:998
+#: src/client.cpp:1032
msgid "Entering game world"
msgstr "捡起物品发生不存在的物品。"
-#: src/client.cpp:1098
+#: src/client.cpp:1132
msgid "Requesting characters"
msgstr "请求角色"
-#: src/client.cpp:1129
+#: src/client.cpp:1163
msgid "Connecting to the game server"
msgstr "连接到游戏服务器"
-#: src/client.cpp:1139
+#: src/client.cpp:1173
msgid "Changing game servers"
msgstr "更改游戏服务器"
-#: src/client.cpp:1182 src/client.cpp:1189 src/client.cpp:1323
+#: src/client.cpp:1216 src/client.cpp:1223 src/client.cpp:1357
#: src/gui/changeemaildialog.cpp:157 src/gui/changepassworddialog.cpp:147
#: src/gui/charcreatedialog.cpp:221 src/gui/charselectdialog.cpp:253
#: src/gui/register.cpp:228 src/gui/serverdialog.cpp:401
@@ -93,214 +92,218 @@ msgstr "更改游戏服务器"
msgid "Error"
msgstr "错误"
-#: src/client.cpp:1198
+#: src/client.cpp:1232
msgid "Requesting registration details"
msgstr "请求注册的详细信息"
-#: src/client.cpp:1224
+#: src/client.cpp:1258
msgid "Password Change"
msgstr "密码更改"
-#: src/client.cpp:1225
+#: src/client.cpp:1259
msgid "Password changed successfully!"
msgstr "更改密码成功!"
-#: src/client.cpp:1244
+#: src/client.cpp:1278
msgid "Email Change"
msgstr "更改电子邮件"
-#: src/client.cpp:1245
+#: src/client.cpp:1279
msgid "Email changed successfully!"
msgstr "更改电子邮件成功!"
-#: src/client.cpp:1265
+#: src/client.cpp:1299
msgid "Unregister Successful"
msgstr "注销成功"
-#: src/client.cpp:1266
+#: src/client.cpp:1300
msgid "Farewell, come back any time..."
msgstr "再见,随时欢迎回来... ..."
-#: src/client.cpp:1465 src/client.cpp:1495 src/client.cpp:1510
-#: src/client.cpp:1935 src/client.cpp:1942
+#: src/client.cpp:1499 src/client.cpp:1529 src/client.cpp:1544
+#: src/client.cpp:1969 src/client.cpp:1976
#, c-format
msgid "%s doesn't exist and can't be created! Exiting."
msgstr "%s 不存在,并且无法创建!退出。"
-#: src/client.cpp:1641
+#: src/client.cpp:1675
#, c-format
msgid "Invalid update host: %s"
msgstr "无效的更新主机: %s"
-#: src/client.cpp:1675 src/client.cpp:1681
+#: src/client.cpp:1709 src/client.cpp:1715
msgid "Error creating updates directory!"
msgstr "创建更新目录错误!"
-#: src/client.cpp:1702
+#: src/client.cpp:1736
#, c-format
msgid "Error: %s doesn't exist and can't be created! Exiting."
msgstr "错误:%s 不存在并且无法创建!退出。"
-#: src/commandhandler.cpp:205
+#: src/commandhandler.cpp:209
msgid "Unknown command."
msgstr "未知命令。"
-#: src/commandhandler.cpp:304
+#: src/commandhandler.cpp:329
msgid "Cannot send empty whispers!"
msgstr "无法发送空白密语!"
-#: src/commandhandler.cpp:318
+#: src/commandhandler.cpp:343
#, c-format
msgid ""
-"Cannot create a whisper tab for nick \"%s\"! It either already exists, or is "
-"you."
+"Cannot create a whisper tab for nick \"%s\"! It either already exists, or is"
+" you."
msgstr "无法同 \"%s\" 建立一个私人谈话标签页!或者已经存在,或者那就是自己。"
-#: src/commandhandler.cpp:338
+#: src/commandhandler.cpp:363
#, c-format
msgid "Requesting to join channel %s."
msgstr "请求加入频道%s。"
-#: src/commandhandler.cpp:354 src/net/ea/gui/partytab.cpp:125
+#: src/commandhandler.cpp:379 src/net/ea/gui/partytab.cpp:125
msgid "Party name is missing."
msgstr "帮会名称缺失。"
-#: src/commandhandler.cpp:365
+#: src/commandhandler.cpp:390
msgid "Guild name is missing."
msgstr "公会名称是缺少的。"
-#: src/commandhandler.cpp:378 src/commandhandler.cpp:496
-#: src/commandhandler.cpp:537 src/commandhandler.cpp:572
+#: src/commandhandler.cpp:403 src/commandhandler.cpp:521
+#: src/commandhandler.cpp:562 src/commandhandler.cpp:602
msgid "Please specify a name."
msgstr "请指定一个名称。"
-#: src/commandhandler.cpp:430
+#: src/commandhandler.cpp:455
msgid "Return toggles chat."
msgstr ""
-#: src/commandhandler.cpp:430
+#: src/commandhandler.cpp:455
msgid "Message closes chat."
msgstr "讯息关闭聊天。"
-#: src/commandhandler.cpp:441
+#: src/commandhandler.cpp:466
msgid "Return now toggles chat."
msgstr "<回车>键现在切换聊天。"
-#: src/commandhandler.cpp:447
+#: src/commandhandler.cpp:472
msgid "Message now closes chat."
msgstr "讯息现在关闭聊天。"
-#: src/commandhandler.cpp:475
+#: src/commandhandler.cpp:500
msgid "friend"
msgstr "朋友"
-#: src/commandhandler.cpp:480
+#: src/commandhandler.cpp:505
msgid "disregarded"
msgstr "无视"
-#: src/commandhandler.cpp:485
+#: src/commandhandler.cpp:510
msgid "neutral"
msgstr "中性"
-#: src/commandhandler.cpp:504
+#: src/commandhandler.cpp:529
#, c-format
msgid "Player already %s!"
msgstr "玩家已经%s!"
-#: src/commandhandler.cpp:518
+#: src/commandhandler.cpp:543
#, c-format
msgid "Player successfully %s!"
msgstr "玩家成功%s!"
-#: src/commandhandler.cpp:526
+#: src/commandhandler.cpp:551
#, c-format
msgid "Player could not be %s!"
msgstr "玩家不能为 %s"
-#: src/commandhandler.cpp:549
+#: src/commandhandler.cpp:574
msgid "Player wasn't ignored!"
msgstr "是不能忽视的!"
-#: src/commandhandler.cpp:556
+#: src/commandhandler.cpp:581
msgid "Player no longer ignored!"
msgstr "玩家不再被忽略!"
-#: src/commandhandler.cpp:558
+#: src/commandhandler.cpp:583
msgid "Player could not be unignored!"
msgstr "玩家不能被忽略!"
-#: src/commandhandler.cpp:564
+#: src/commandhandler.cpp:589
msgid "blacklisted"
msgstr ""
-#: src/commandhandler.cpp:579
+#: src/commandhandler.cpp:594
+msgid "enemy"
+msgstr ""
+
+#: src/commandhandler.cpp:609
msgid "Player already erased!"
msgstr "玩家已经被删除!"
-#: src/commandhandler.cpp:590
+#: src/commandhandler.cpp:620
msgid "Player successfully erased!"
msgstr "玩家成功删除!"
-#: src/commandhandler.cpp:592
+#: src/commandhandler.cpp:622
msgid "Player could not be erased!"
msgstr "玩家无法删除!"
-#: src/commandhandler.cpp:892 src/commandhandler.cpp:938
+#: src/commandhandler.cpp:929 src/commandhandler.cpp:975
#, c-format
msgid "Client uptime: %s"
msgstr ""
-#: src/commandhandler.cpp:902
+#: src/commandhandler.cpp:939
#, c-format
msgid "%d week"
msgid_plural "%d weeks"
msgstr[0] ""
-#: src/commandhandler.cpp:911
+#: src/commandhandler.cpp:948
#, c-format
msgid "%d day"
msgid_plural "%d days"
msgstr[0] ""
-#: src/commandhandler.cpp:919
+#: src/commandhandler.cpp:956
#, c-format
msgid "%d hour"
msgid_plural "%d hours"
msgstr[0] ""
-#: src/commandhandler.cpp:927
+#: src/commandhandler.cpp:964
#, c-format
msgid "%d minute"
msgid_plural "%d minutes"
msgstr[0] ""
-#: src/commandhandler.cpp:935
+#: src/commandhandler.cpp:972
#, c-format
msgid "%d second"
msgid_plural "%d seconds"
msgstr[0] ""
-#: src/commandhandler.cpp:1014
+#: src/commandhandler.cpp:1051
msgid "font cache size"
msgstr "字体缓存大小"
-#: src/commandhandler.cpp:1026
+#: src/commandhandler.cpp:1063
msgid "Cache size:"
msgstr ""
-#: src/commandhandler.cpp:1030
+#: src/commandhandler.cpp:1067
msgid "Created:"
msgstr "创建于:"
-#: src/commandhandler.cpp:1032
+#: src/commandhandler.cpp:1069
msgid "Deleted:"
msgstr "删除:"
-#: src/commandhandler.cpp:1133 src/commandhandler.cpp:1140
+#: src/commandhandler.cpp:1171 src/commandhandler.cpp:1178
msgid "Resource images:"
msgstr ""
-#: src/commandhandler.cpp:1135 src/commandhandler.cpp:1142
+#: src/commandhandler.cpp:1173 src/commandhandler.cpp:1180
msgid "Resource orphaned images:"
msgstr ""
@@ -317,35 +320,35 @@ msgstr "常规"
msgid "Debug"
msgstr "调试 "
-#: src/game.cpp:513
+#: src/game.cpp:506
msgid "Screenshot saved as "
msgstr "截图保存为"
-#: src/game.cpp:521
+#: src/game.cpp:514
msgid "Saving screenshot failed!"
msgstr "保存屏幕快照失败!"
-#: src/game.cpp:560
+#: src/game.cpp:554
msgid "The connection to the server was lost."
msgstr "服务器的连接丢失。"
-#: src/game.cpp:572
+#: src/game.cpp:557
msgid "Network Error"
msgstr "网络错误"
-#: src/game.cpp:1322
+#: src/game.cpp:1332
msgid "Ignoring incoming trade requests"
msgstr "忽略新进的交易请求"
-#: src/game.cpp:1332
+#: src/game.cpp:1342
msgid "Accepting incoming trade requests"
msgstr "接受传入的交易请求"
-#: src/game.cpp:1732
+#: src/game.cpp:1750
msgid "Could Not Load Map"
msgstr "不能加载地图"
-#: src/game.cpp:1733
+#: src/game.cpp:1751
#, c-format
msgid "Error while loading %s"
msgstr "加载%s时出现错误"
@@ -379,19 +382,19 @@ msgid "Name"
msgstr "姓名"
#: src/gui/botcheckerwindow.cpp:297 src/gui/popupmenu.cpp:133
-#: src/gui/popupmenu.cpp:292 src/gui/popupmenu.cpp:614
+#: src/gui/popupmenu.cpp:303 src/gui/popupmenu.cpp:636
#: src/keyboardconfig.cpp:49 src/net/tmwa/generalhandler.cpp:269
msgid "Attack"
msgstr "攻击"
-#: src/gui/botcheckerwindow.cpp:298 src/gui/popupmenu.cpp:281
+#: src/gui/botcheckerwindow.cpp:298 src/gui/popupmenu.cpp:292
#: src/keyboardconfig.cpp:62
msgid "Talk"
msgstr "说话"
-#: src/gui/botcheckerwindow.cpp:299 src/gui/popupmenu.cpp:253
-#: src/gui/popupmenu.cpp:285 src/gui/popupmenu.cpp:437
-#: src/gui/popupmenu.cpp:669 src/gui/popupmenu.cpp:756
+#: src/gui/botcheckerwindow.cpp:299 src/gui/popupmenu.cpp:264
+#: src/gui/popupmenu.cpp:296 src/gui/popupmenu.cpp:459
+#: src/gui/popupmenu.cpp:702 src/gui/popupmenu.cpp:789
msgid "Move"
msgstr "移动"
@@ -404,8 +407,8 @@ msgid "Reset"
msgstr "重置"
#: src/gui/buydialog.cpp:58 src/gui/buydialog.cpp:65 src/gui/buydialog.cpp:112
-#: src/gui/buyselldialog.cpp:65 src/gui/popupmenu.cpp:265
-#: src/gui/popupmenu.cpp:282 src/gui/popupmenu.cpp:681
+#: src/gui/buyselldialog.cpp:65 src/gui/popupmenu.cpp:276
+#: src/gui/popupmenu.cpp:293 src/gui/popupmenu.cpp:714
msgid "Buy"
msgstr "购买"
@@ -423,7 +426,7 @@ msgstr ""
#. You may change this symbol if your language uses another.
#: src/gui/buydialog.cpp:108 src/gui/itemamountwindow.cpp:207
#: src/gui/itemamountwindow.cpp:235 src/gui/npcdialog.cpp:114
-#: src/gui/selldialog.cpp:91 src/gui/statuswindow.cpp:977
+#: src/gui/selldialog.cpp:91 src/gui/statuswindow.cpp:998
msgid "+"
msgstr "+"
@@ -431,7 +434,7 @@ msgstr "+"
#. You may change this symbol if your language uses another.
#: src/gui/buydialog.cpp:111 src/gui/itemamountwindow.cpp:206
#: src/gui/itemamountwindow.cpp:234 src/gui/npcdialog.cpp:115
-#: src/gui/selldialog.cpp:92 src/gui/statuswindow.cpp:989
+#: src/gui/selldialog.cpp:92 src/gui/statuswindow.cpp:1010
msgid "-"
msgstr "-"
@@ -443,8 +446,8 @@ msgid "Quit"
msgstr "退出"
#: src/gui/buydialog.cpp:114 src/gui/selldialog.cpp:95
-#: src/gui/statuswindow.cpp:504 src/gui/statuswindow.cpp:554
-#: src/gui/statuswindow.cpp:976 src/gui/statuswindow.cpp:1007
+#: src/gui/statuswindow.cpp:505 src/gui/statuswindow.cpp:555
+#: src/gui/statuswindow.cpp:997 src/gui/statuswindow.cpp:1028
msgid "Max"
msgstr "最大"
@@ -453,8 +456,8 @@ msgstr "最大"
msgid "Shop"
msgstr "商店"
-#: src/gui/buyselldialog.cpp:65 src/gui/popupmenu.cpp:266
-#: src/gui/popupmenu.cpp:283 src/gui/popupmenu.cpp:682
+#: src/gui/buyselldialog.cpp:65 src/gui/popupmenu.cpp:277
+#: src/gui/popupmenu.cpp:294 src/gui/popupmenu.cpp:715
#: src/gui/selldialog.cpp:53 src/gui/selldialog.cpp:60
#: src/gui/selldialog.cpp:93
msgid "Sell"
@@ -463,15 +466,15 @@ msgstr "出售"
#: src/gui/buyselldialog.cpp:65 src/gui/changeemaildialog.cpp:59
#: src/gui/changepassworddialog.cpp:61 src/gui/charcreatedialog.cpp:96
#: src/gui/connectiondialog.cpp:47 src/gui/itemamountwindow.cpp:209
-#: src/gui/npcpostdialog.cpp:58 src/gui/popupmenu.cpp:333
-#: src/gui/popupmenu.cpp:354 src/gui/popupmenu.cpp:478
-#: src/gui/popupmenu.cpp:504 src/gui/popupmenu.cpp:528
-#: src/gui/popupmenu.cpp:541 src/gui/popupmenu.cpp:559
-#: src/gui/popupmenu.cpp:772 src/gui/popupmenu.cpp:796
-#: src/gui/popupmenu.cpp:1732 src/gui/popupmenu.cpp:1760
-#: src/gui/popupmenu.cpp:1816 src/gui/popupmenu.cpp:1861
-#: src/gui/popupmenu.cpp:1896 src/gui/popupmenu.cpp:1935
-#: src/gui/popupmenu.cpp:1987 src/gui/popupmenu.cpp:2007
+#: src/gui/npcpostdialog.cpp:58 src/gui/popupmenu.cpp:344
+#: src/gui/popupmenu.cpp:365 src/gui/popupmenu.cpp:500
+#: src/gui/popupmenu.cpp:526 src/gui/popupmenu.cpp:550
+#: src/gui/popupmenu.cpp:563 src/gui/popupmenu.cpp:581
+#: src/gui/popupmenu.cpp:805 src/gui/popupmenu.cpp:829
+#: src/gui/popupmenu.cpp:1775 src/gui/popupmenu.cpp:1803
+#: src/gui/popupmenu.cpp:1859 src/gui/popupmenu.cpp:1904
+#: src/gui/popupmenu.cpp:1939 src/gui/popupmenu.cpp:1978
+#: src/gui/popupmenu.cpp:2030 src/gui/popupmenu.cpp:2050
#: src/gui/quitdialog.cpp:55 src/gui/register.cpp:82 src/gui/setup.cpp:72
#: src/gui/socialwindow.cpp:1077 src/gui/textcommandeditor.cpp:241
#: src/gui/textdialog.cpp:51 src/gui/unregisterdialog.cpp:59
@@ -642,7 +645,7 @@ msgid "Enter password:"
msgstr "输入密码:"
#: src/gui/charselectdialog.cpp:410 src/gui/serverdialog.cpp:298
-#: src/gui/setup_relations.cpp:243 src/gui/shopwindow.cpp:122
+#: src/gui/setup_relations.cpp:244 src/gui/shopwindow.cpp:122
#: src/gui/shopwindow.cpp:125 src/gui/textcommandeditor.cpp:244
msgid "Delete"
msgstr "删除"
@@ -718,8 +721,9 @@ msgstr "彩虹3"
#: src/gui/chatwindow.cpp:142 src/gui/inventorywindow.cpp:90
#: src/gui/itemamountwindow.cpp:93 src/gui/logindialog.cpp:78
-#: src/gui/setup_relations.cpp:221 src/gui/setup_theme.cpp:73
-#: src/gui/setup_theme.cpp:127 src/gui/setup_video.cpp:211
+#: src/gui/setup_joystick.cpp:60 src/gui/setup_relations.cpp:222
+#: src/gui/setup_theme.cpp:74 src/gui/setup_theme.cpp:128
+#: src/gui/setup_theme.cpp:173 src/gui/setup_video.cpp:211
#: src/gui/textcommandeditor.cpp:102 src/gui/textcommandeditor.cpp:141
#: src/gui/textcommandeditor.cpp:160
msgid "???"
@@ -729,12 +733,12 @@ msgstr "???"
msgid "Chat"
msgstr "聊天"
-#: src/gui/chatwindow.cpp:613
+#: src/gui/chatwindow.cpp:615
#, c-format
msgid "Present: %s; %d players are present."
msgstr ""
-#: src/gui/chatwindow.cpp:1000
+#: src/gui/chatwindow.cpp:1002
#, c-format
msgid "Whispering to %s: %s"
msgstr "对%s密语到:%s"
@@ -748,10 +752,12 @@ msgid "No"
msgstr "否"
#: src/gui/confirmdialog.cpp:52 src/gui/popupmenu.cpp:146
-#: src/gui/popupmenu.cpp:153 src/gui/popupmenu.cpp:161
-#: src/gui/popupmenu.cpp:380 src/gui/popupmenu.cpp:387
-#: src/gui/popupmenu.cpp:395 src/gui/popupmenu.cpp:626
-#: src/gui/popupmenu.cpp:633 src/gui/popupmenu.cpp:641
+#: src/gui/popupmenu.cpp:154 src/gui/popupmenu.cpp:163
+#: src/gui/popupmenu.cpp:171 src/gui/popupmenu.cpp:391
+#: src/gui/popupmenu.cpp:399 src/gui/popupmenu.cpp:408
+#: src/gui/popupmenu.cpp:427 src/gui/popupmenu.cpp:648
+#: src/gui/popupmenu.cpp:656 src/gui/popupmenu.cpp:665
+#: src/gui/popupmenu.cpp:679
msgid "Ignore"
msgstr "忽略"
@@ -897,7 +903,7 @@ msgstr "你知道吗?"
#: src/gui/didyouknowwindow.cpp:63 src/gui/helpwindow.cpp:59
#: src/gui/inventorywindow.cpp:205 src/gui/npcdialog.cpp:53
-#: src/gui/popupmenu.cpp:574 src/gui/shopwindow.cpp:113
+#: src/gui/popupmenu.cpp:596 src/gui/shopwindow.cpp:113
msgid "Close"
msgstr "关闭"
@@ -924,8 +930,8 @@ msgstr "装备"
#: src/gui/equipmentwindow.cpp:95 src/gui/inventorywindow.cpp:160
#: src/gui/inventorywindow.cpp:545 src/gui/inventorywindow.cpp:554
-#: src/gui/popupmenu.cpp:1694 src/gui/popupmenu.cpp:1786
-#: src/gui/popupmenu.cpp:1831
+#: src/gui/popupmenu.cpp:1737 src/gui/popupmenu.cpp:1829
+#: src/gui/popupmenu.cpp:1874
msgid "Unequip"
msgstr "卸下装备"
@@ -967,31 +973,31 @@ msgid "Filter:"
msgstr "过滤器:"
#: src/gui/inventorywindow.cpp:158 src/gui/inventorywindow.cpp:547
-#: src/gui/inventorywindow.cpp:556 src/gui/popupmenu.cpp:1696
-#: src/gui/popupmenu.cpp:1788 src/gui/popupmenu.cpp:1833
+#: src/gui/inventorywindow.cpp:556 src/gui/popupmenu.cpp:1739
+#: src/gui/popupmenu.cpp:1831 src/gui/popupmenu.cpp:1876
msgid "Equip"
msgstr "装备"
#: src/gui/inventorywindow.cpp:159 src/gui/inventorywindow.cpp:548
-#: src/gui/inventorywindow.cpp:552 src/gui/popupmenu.cpp:1700
-#: src/gui/popupmenu.cpp:1755 src/gui/popupmenu.cpp:1792
-#: src/gui/popupmenu.cpp:1837
+#: src/gui/inventorywindow.cpp:552 src/gui/popupmenu.cpp:1743
+#: src/gui/popupmenu.cpp:1798 src/gui/popupmenu.cpp:1835
+#: src/gui/popupmenu.cpp:1880
msgid "Use"
msgstr "使用"
#: src/gui/inventorywindow.cpp:173 src/gui/inventorywindow.cpp:652
-#: src/gui/popupmenu.cpp:1705 src/gui/popupmenu.cpp:1797
-#: src/gui/popupmenu.cpp:1842
+#: src/gui/popupmenu.cpp:1748 src/gui/popupmenu.cpp:1840
+#: src/gui/popupmenu.cpp:1885
msgid "Drop..."
msgstr "掉落... ..."
-#: src/gui/inventorywindow.cpp:174 src/gui/popupmenu.cpp:1714
-#: src/gui/popupmenu.cpp:1806 src/gui/popupmenu.cpp:1851
+#: src/gui/inventorywindow.cpp:174 src/gui/popupmenu.cpp:1757
+#: src/gui/popupmenu.cpp:1849 src/gui/popupmenu.cpp:1894
msgid "Split"
msgstr "分离"
#: src/gui/inventorywindow.cpp:175 src/gui/outfitwindow.cpp:60
-#: src/gui/popupmenu.cpp:537
+#: src/gui/popupmenu.cpp:559
msgid "Outfits"
msgstr "套装"
@@ -1000,17 +1006,17 @@ msgid "Weight:"
msgstr "重量:"
#: src/gui/inventorywindow.cpp:203 src/gui/inventorywindow.cpp:643
-#: src/gui/popupmenu.cpp:1680 src/gui/popupmenu.cpp:1809
-#: src/gui/popupmenu.cpp:1854 src/gui/setup.cpp:73
+#: src/gui/popupmenu.cpp:1723 src/gui/popupmenu.cpp:1852
+#: src/gui/popupmenu.cpp:1897 src/gui/setup.cpp:73
msgid "Store"
msgstr "存储"
-#: src/gui/inventorywindow.cpp:204 src/gui/popupmenu.cpp:1721
+#: src/gui/inventorywindow.cpp:204 src/gui/popupmenu.cpp:1764
msgid "Retrieve"
msgstr "取回"
-#: src/gui/inventorywindow.cpp:654 src/gui/popupmenu.cpp:1710
-#: src/gui/popupmenu.cpp:1802 src/gui/popupmenu.cpp:1847
+#: src/gui/inventorywindow.cpp:654 src/gui/popupmenu.cpp:1753
+#: src/gui/popupmenu.cpp:1845 src/gui/popupmenu.cpp:1890
#: src/gui/windowmenu.cpp:97
msgid "Drop"
msgstr "丢弃"
@@ -1248,7 +1254,7 @@ msgstr "提交"
msgid "NPC"
msgstr "NPC"
-#: src/gui/npcdialog.cpp:108 src/gui/popupmenu.cpp:576
+#: src/gui/npcdialog.cpp:108 src/gui/popupmenu.cpp:598
msgid "Clear"
msgstr "清除"
@@ -1286,331 +1292,347 @@ msgstr ""
msgid "Away outfit"
msgstr ""
-#: src/gui/popupmenu.cpp:132 src/gui/popupmenu.cpp:613
+#: src/gui/popupmenu.cpp:132 src/gui/popupmenu.cpp:635
#: src/gui/widgets/tradetab.cpp:44
msgid "Trade"
msgstr "交易"
-#: src/gui/popupmenu.cpp:134 src/gui/popupmenu.cpp:372
+#: src/gui/popupmenu.cpp:134 src/gui/popupmenu.cpp:383
msgid "Whisper"
msgstr "密语"
-#: src/gui/popupmenu.cpp:138 src/gui/popupmenu.cpp:618
+#: src/gui/popupmenu.cpp:138 src/gui/popupmenu.cpp:640
msgid "Heal"
msgstr "愈合"
-#: src/gui/popupmenu.cpp:144 src/gui/popupmenu.cpp:378
-#: src/gui/popupmenu.cpp:624
+#: src/gui/popupmenu.cpp:144 src/gui/popupmenu.cpp:389
+#: src/gui/popupmenu.cpp:646
msgid "Be friend"
msgstr "是朋友"
-#: src/gui/popupmenu.cpp:145 src/gui/popupmenu.cpp:152
-#: src/gui/popupmenu.cpp:160 src/gui/popupmenu.cpp:178
-#: src/gui/popupmenu.cpp:379 src/gui/popupmenu.cpp:386
-#: src/gui/popupmenu.cpp:394 src/gui/popupmenu.cpp:412
-#: src/gui/popupmenu.cpp:625 src/gui/popupmenu.cpp:632
-#: src/gui/popupmenu.cpp:640 src/gui/popupmenu.cpp:658
+#: src/gui/popupmenu.cpp:145 src/gui/popupmenu.cpp:153
+#: src/gui/popupmenu.cpp:162 src/gui/popupmenu.cpp:170
+#: src/gui/popupmenu.cpp:189 src/gui/popupmenu.cpp:390
+#: src/gui/popupmenu.cpp:398 src/gui/popupmenu.cpp:407
+#: src/gui/popupmenu.cpp:426 src/gui/popupmenu.cpp:434
+#: src/gui/popupmenu.cpp:647 src/gui/popupmenu.cpp:655
+#: src/gui/popupmenu.cpp:664 src/gui/popupmenu.cpp:678
+#: src/gui/popupmenu.cpp:691
msgid "Disregard"
msgstr ""
-#: src/gui/popupmenu.cpp:147 src/gui/popupmenu.cpp:154
-#: src/gui/popupmenu.cpp:381 src/gui/popupmenu.cpp:388
-#: src/gui/popupmenu.cpp:627 src/gui/popupmenu.cpp:634
+#: src/gui/popupmenu.cpp:147 src/gui/popupmenu.cpp:155
+#: src/gui/popupmenu.cpp:172 src/gui/popupmenu.cpp:392
+#: src/gui/popupmenu.cpp:400 src/gui/popupmenu.cpp:428
+#: src/gui/popupmenu.cpp:649 src/gui/popupmenu.cpp:657
+#: src/gui/popupmenu.cpp:680
msgid "Black list"
msgstr ""
-#: src/gui/popupmenu.cpp:148 src/gui/popupmenu.cpp:155
-#: src/gui/popupmenu.cpp:162 src/gui/popupmenu.cpp:168
-#: src/gui/popupmenu.cpp:173 src/gui/popupmenu.cpp:382
-#: src/gui/popupmenu.cpp:389 src/gui/popupmenu.cpp:396
-#: src/gui/popupmenu.cpp:402 src/gui/popupmenu.cpp:407
-#: src/gui/popupmenu.cpp:628 src/gui/popupmenu.cpp:635
-#: src/gui/popupmenu.cpp:642 src/gui/popupmenu.cpp:648
-#: src/gui/popupmenu.cpp:653
+#: src/gui/popupmenu.cpp:148 src/gui/popupmenu.cpp:156
+#: src/gui/popupmenu.cpp:164 src/gui/popupmenu.cpp:393
+#: src/gui/popupmenu.cpp:401 src/gui/popupmenu.cpp:409
+#: src/gui/popupmenu.cpp:650 src/gui/popupmenu.cpp:658
+#: src/gui/popupmenu.cpp:666
+msgid "Set as enemy"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:149 src/gui/popupmenu.cpp:157
+#: src/gui/popupmenu.cpp:165 src/gui/popupmenu.cpp:173
+#: src/gui/popupmenu.cpp:179 src/gui/popupmenu.cpp:184
+#: src/gui/popupmenu.cpp:394 src/gui/popupmenu.cpp:402
+#: src/gui/popupmenu.cpp:410 src/gui/popupmenu.cpp:416
+#: src/gui/popupmenu.cpp:421 src/gui/popupmenu.cpp:429
+#: src/gui/popupmenu.cpp:651 src/gui/popupmenu.cpp:659
+#: src/gui/popupmenu.cpp:667 src/gui/popupmenu.cpp:673
+#: src/gui/popupmenu.cpp:681 src/gui/popupmenu.cpp:686
msgid "Erase"
msgstr ""
-#: src/gui/popupmenu.cpp:159 src/gui/popupmenu.cpp:166
-#: src/gui/popupmenu.cpp:172 src/gui/popupmenu.cpp:177
-#: src/gui/popupmenu.cpp:393 src/gui/popupmenu.cpp:400
-#: src/gui/popupmenu.cpp:406 src/gui/popupmenu.cpp:411
-#: src/gui/popupmenu.cpp:639 src/gui/popupmenu.cpp:646
-#: src/gui/popupmenu.cpp:652 src/gui/popupmenu.cpp:657
+#: src/gui/popupmenu.cpp:161 src/gui/popupmenu.cpp:169
+#: src/gui/popupmenu.cpp:177 src/gui/popupmenu.cpp:183
+#: src/gui/popupmenu.cpp:188 src/gui/popupmenu.cpp:406
+#: src/gui/popupmenu.cpp:414 src/gui/popupmenu.cpp:420
+#: src/gui/popupmenu.cpp:425 src/gui/popupmenu.cpp:433
+#: src/gui/popupmenu.cpp:663 src/gui/popupmenu.cpp:671
+#: src/gui/popupmenu.cpp:677 src/gui/popupmenu.cpp:685
+#: src/gui/popupmenu.cpp:690
msgid "Unignore"
msgstr ""
-#: src/gui/popupmenu.cpp:167 src/gui/popupmenu.cpp:179
-#: src/gui/popupmenu.cpp:401 src/gui/popupmenu.cpp:413
-#: src/gui/popupmenu.cpp:647 src/gui/popupmenu.cpp:659
-#: src/playerrelations.cpp:421
+#: src/gui/popupmenu.cpp:178 src/gui/popupmenu.cpp:190
+#: src/gui/popupmenu.cpp:415 src/gui/popupmenu.cpp:435
+#: src/gui/popupmenu.cpp:672 src/gui/popupmenu.cpp:692
+#: src/playerrelations.cpp:446
msgid "Completely ignore"
msgstr "完全忽略"
-#: src/gui/popupmenu.cpp:187 src/gui/popupmenu.cpp:421
-#: src/gui/popupmenu.cpp:667 src/gui/popupmenu.cpp:746
+#: src/gui/popupmenu.cpp:198 src/gui/popupmenu.cpp:443
+#: src/gui/popupmenu.cpp:700 src/gui/popupmenu.cpp:779
msgid "Follow"
msgstr "按照"
-#: src/gui/popupmenu.cpp:188 src/gui/popupmenu.cpp:422
-#: src/gui/popupmenu.cpp:668 src/gui/popupmenu.cpp:747
+#: src/gui/popupmenu.cpp:199 src/gui/popupmenu.cpp:444
+#: src/gui/popupmenu.cpp:701 src/gui/popupmenu.cpp:780
msgid "Imitation"
msgstr ""
-#: src/gui/popupmenu.cpp:197 src/gui/popupmenu.cpp:700
+#: src/gui/popupmenu.cpp:208 src/gui/popupmenu.cpp:733
msgid "Invite to party"
msgstr ""
-#: src/gui/popupmenu.cpp:202 src/gui/popupmenu.cpp:433
-#: src/gui/popupmenu.cpp:705
+#: src/gui/popupmenu.cpp:213 src/gui/popupmenu.cpp:455
+#: src/gui/popupmenu.cpp:738
msgid "Kick from party"
msgstr "踢从党"
-#: src/gui/popupmenu.cpp:217 src/gui/popupmenu.cpp:229
-#: src/gui/popupmenu.cpp:450 src/gui/popupmenu.cpp:722
+#: src/gui/popupmenu.cpp:228 src/gui/popupmenu.cpp:240
+#: src/gui/popupmenu.cpp:472 src/gui/popupmenu.cpp:755
msgid "Kick from guild"
msgstr "踢从公会"
-#: src/gui/popupmenu.cpp:222 src/gui/popupmenu.cpp:234
-#: src/gui/popupmenu.cpp:455 src/gui/popupmenu.cpp:727
+#: src/gui/popupmenu.cpp:233 src/gui/popupmenu.cpp:245
+#: src/gui/popupmenu.cpp:477 src/gui/popupmenu.cpp:760
msgid "Change pos in guild"
msgstr ""
-#: src/gui/popupmenu.cpp:242 src/gui/popupmenu.cpp:463
-#: src/gui/popupmenu.cpp:736
+#: src/gui/popupmenu.cpp:253 src/gui/popupmenu.cpp:485
+#: src/gui/popupmenu.cpp:769
msgid "Invite to guild"
msgstr ""
-#: src/gui/popupmenu.cpp:250
+#: src/gui/popupmenu.cpp:261
msgid "Kick player"
msgstr "踢球员"
-#: src/gui/popupmenu.cpp:252
+#: src/gui/popupmenu.cpp:263
msgid "Nuke"
msgstr ""
-#: src/gui/popupmenu.cpp:254 src/gui/popupmenu.cpp:670
-#: src/gui/popupmenu.cpp:759
+#: src/gui/popupmenu.cpp:265 src/gui/popupmenu.cpp:703
+#: src/gui/popupmenu.cpp:792
msgid "Show Items"
msgstr "显示项目"
-#: src/gui/popupmenu.cpp:255 src/gui/popupmenu.cpp:671
-#: src/gui/popupmenu.cpp:760 src/gui/popupmenu.cpp:2004
+#: src/gui/popupmenu.cpp:266 src/gui/popupmenu.cpp:704
+#: src/gui/popupmenu.cpp:793 src/gui/popupmenu.cpp:2047
msgid "Undress"
msgstr ""
-#: src/gui/popupmenu.cpp:256 src/gui/popupmenu.cpp:286
-#: src/gui/popupmenu.cpp:423 src/gui/popupmenu.cpp:672
-#: src/gui/popupmenu.cpp:761
+#: src/gui/popupmenu.cpp:267 src/gui/popupmenu.cpp:297
+#: src/gui/popupmenu.cpp:445 src/gui/popupmenu.cpp:705
+#: src/gui/popupmenu.cpp:794
msgid "Add comment"
msgstr "发表评论"
-#: src/gui/popupmenu.cpp:271 src/gui/popupmenu.cpp:471
-#: src/gui/popupmenu.cpp:687 src/gui/popupmenu.cpp:766
+#: src/gui/popupmenu.cpp:282 src/gui/popupmenu.cpp:493
+#: src/gui/popupmenu.cpp:720 src/gui/popupmenu.cpp:799
msgid "Buy (?)"
msgstr "购买(?)"
-#: src/gui/popupmenu.cpp:272 src/gui/popupmenu.cpp:472
-#: src/gui/popupmenu.cpp:688 src/gui/popupmenu.cpp:767
+#: src/gui/popupmenu.cpp:283 src/gui/popupmenu.cpp:494
+#: src/gui/popupmenu.cpp:721 src/gui/popupmenu.cpp:800
msgid "Sell (?)"
msgstr "出售(?)"
-#: src/gui/popupmenu.cpp:297
+#: src/gui/popupmenu.cpp:308
msgid "Kick"
msgstr ""
-#: src/gui/popupmenu.cpp:308
+#: src/gui/popupmenu.cpp:319
msgid "Remove from attack list"
msgstr ""
-#: src/gui/popupmenu.cpp:313
+#: src/gui/popupmenu.cpp:324
msgid "Add to priority attack list"
msgstr "优先攻击列表"
-#: src/gui/popupmenu.cpp:315
+#: src/gui/popupmenu.cpp:326
msgid "Add to attack list"
msgstr "加入攻击清单"
-#: src/gui/popupmenu.cpp:317
+#: src/gui/popupmenu.cpp:328
msgid "Add to ignore list"
msgstr ""
-#: src/gui/popupmenu.cpp:330 src/gui/popupmenu.cpp:475
+#: src/gui/popupmenu.cpp:341 src/gui/popupmenu.cpp:497
msgid "Add name to chat"
msgstr ""
-#: src/gui/popupmenu.cpp:500
+#: src/gui/popupmenu.cpp:522
msgid "Pick up"
msgstr "拾取"
-#: src/gui/popupmenu.cpp:501 src/gui/popupmenu.cpp:1730
-#: src/gui/popupmenu.cpp:1810 src/gui/popupmenu.cpp:1855
+#: src/gui/popupmenu.cpp:523 src/gui/popupmenu.cpp:1773
+#: src/gui/popupmenu.cpp:1853 src/gui/popupmenu.cpp:1898
msgid "Add to chat"
msgstr "加入聊天"
-#: src/gui/popupmenu.cpp:518
+#: src/gui/popupmenu.cpp:540
msgid "Map Item"
msgstr "地图项"
-#: src/gui/popupmenu.cpp:519
+#: src/gui/popupmenu.cpp:541
msgid "Rename"
msgstr "重命名"
-#: src/gui/popupmenu.cpp:520 src/gui/popupmenu.cpp:1965
-#: src/gui/popupmenu.cpp:1976 src/gui/popupmenu.cpp:1980
+#: src/gui/popupmenu.cpp:542 src/gui/popupmenu.cpp:2008
+#: src/gui/popupmenu.cpp:2019 src/gui/popupmenu.cpp:2023
msgid "Remove"
msgstr ""
-#: src/gui/popupmenu.cpp:525
+#: src/gui/popupmenu.cpp:547
msgid "Warp"
msgstr ""
-#: src/gui/popupmenu.cpp:538
+#: src/gui/popupmenu.cpp:560
msgid "Load old outfits"
msgstr ""
-#: src/gui/popupmenu.cpp:554 src/gui/windowmenu.cpp:96
+#: src/gui/popupmenu.cpp:576 src/gui/windowmenu.cpp:96
msgid "Spells"
msgstr "法术"
-#: src/gui/popupmenu.cpp:555
+#: src/gui/popupmenu.cpp:577
msgid "Load old spells"
msgstr ""
-#: src/gui/popupmenu.cpp:556
+#: src/gui/popupmenu.cpp:578
msgid "Edit spell"
msgstr ""
-#: src/gui/popupmenu.cpp:580
+#: src/gui/popupmenu.cpp:602
msgid "Disable highlight"
msgstr "禁用"
-#: src/gui/popupmenu.cpp:582
+#: src/gui/popupmenu.cpp:604
msgid "Enable highlight"
msgstr "启用突出"
-#: src/gui/popupmenu.cpp:584
+#: src/gui/popupmenu.cpp:606
msgid "Don't remove name"
msgstr ""
-#: src/gui/popupmenu.cpp:586
+#: src/gui/popupmenu.cpp:608
msgid "Remove name"
msgstr "移除姓名"
-#: src/gui/popupmenu.cpp:588
+#: src/gui/popupmenu.cpp:610
msgid "Enable away"
msgstr "启用远"
-#: src/gui/popupmenu.cpp:590
+#: src/gui/popupmenu.cpp:612
msgid "Disable away"
msgstr ""
-#: src/gui/popupmenu.cpp:595 src/gui/socialwindow.cpp:1141
+#: src/gui/popupmenu.cpp:617 src/gui/socialwindow.cpp:1141
msgid "Leave"
msgstr "留下"
-#: src/gui/popupmenu.cpp:780
+#: src/gui/popupmenu.cpp:813
msgid "Change guild position"
msgstr "更改公会的立场"
#. TRANSLATORS: number of chars in string should be near original
-#: src/gui/popupmenu.cpp:1243
+#: src/gui/popupmenu.cpp:1286
msgid "Rename map sign "
msgstr "重命名的地图标志"
#. TRANSLATORS: number of chars in string should be near original
-#: src/gui/popupmenu.cpp:1245
+#: src/gui/popupmenu.cpp:1288
msgid "Name: "
msgstr "名称:"
#. TRANSLATORS: number of chars in string should be near original
-#: src/gui/popupmenu.cpp:1295
+#: src/gui/popupmenu.cpp:1338
msgid "Player comment "
msgstr "玩家评论"
#. TRANSLATORS: number of chars in string should be near original
-#: src/gui/popupmenu.cpp:1297
+#: src/gui/popupmenu.cpp:1340
msgid "Comment: "
msgstr "评论:"
-#: src/gui/popupmenu.cpp:1668
+#: src/gui/popupmenu.cpp:1711
msgid "Add to trade"
msgstr ""
-#: src/gui/popupmenu.cpp:1672
+#: src/gui/popupmenu.cpp:1715
msgid "Add to trade 10"
msgstr ""
-#: src/gui/popupmenu.cpp:1673
+#: src/gui/popupmenu.cpp:1716
msgid "Add to trade half"
msgstr ""
-#: src/gui/popupmenu.cpp:1674
+#: src/gui/popupmenu.cpp:1717
msgid "Add to trade all"
msgstr ""
-#: src/gui/popupmenu.cpp:1684
+#: src/gui/popupmenu.cpp:1727
msgid "Store 10"
msgstr "商店10"
-#: src/gui/popupmenu.cpp:1685
+#: src/gui/popupmenu.cpp:1728
msgid "Store half"
msgstr "商店的一半"
-#: src/gui/popupmenu.cpp:1686
+#: src/gui/popupmenu.cpp:1729
msgid "Store all"
msgstr "商店所有"
-#: src/gui/popupmenu.cpp:1706 src/gui/popupmenu.cpp:1798
-#: src/gui/popupmenu.cpp:1843
+#: src/gui/popupmenu.cpp:1749 src/gui/popupmenu.cpp:1841
+#: src/gui/popupmenu.cpp:1886
msgid "Drop all"
msgstr "所有"
-#: src/gui/popupmenu.cpp:1725
+#: src/gui/popupmenu.cpp:1768
msgid "Retrieve 10"
msgstr "拿出10"
-#: src/gui/popupmenu.cpp:1726
+#: src/gui/popupmenu.cpp:1769
msgid "Retrieve half"
msgstr "拿出一半"
-#: src/gui/popupmenu.cpp:1727
+#: src/gui/popupmenu.cpp:1770
msgid "Retrieve all"
msgstr "检索所有"
-#: src/gui/popupmenu.cpp:1758 src/gui/popupmenu.cpp:1814
+#: src/gui/popupmenu.cpp:1801 src/gui/popupmenu.cpp:1857
msgid "Load old item shortcuts"
msgstr ""
-#: src/gui/popupmenu.cpp:1859
+#: src/gui/popupmenu.cpp:1902
msgid "Load old drop shortcuts"
msgstr ""
-#: src/gui/popupmenu.cpp:1885 src/gui/popupmenu.cpp:1920
+#: src/gui/popupmenu.cpp:1928 src/gui/popupmenu.cpp:1963
msgid "Hide"
msgstr "隐藏"
-#: src/gui/popupmenu.cpp:1891 src/gui/popupmenu.cpp:1926
+#: src/gui/popupmenu.cpp:1934 src/gui/popupmenu.cpp:1969
msgid "Show"
msgstr "显示"
-#: src/gui/popupmenu.cpp:1932
+#: src/gui/popupmenu.cpp:1975
msgid "Reset yellow bar"
msgstr ""
-#: src/gui/popupmenu.cpp:1934 src/gui/statuswindow.cpp:241
+#: src/gui/popupmenu.cpp:1977 src/gui/statuswindow.cpp:242
msgid "Copy to chat"
msgstr ""
-#: src/gui/popupmenu.cpp:1952 src/gui/socialwindow.cpp:958
+#: src/gui/popupmenu.cpp:1995 src/gui/setup_theme.cpp:88
+#: src/gui/setup_theme.cpp:145 src/gui/socialwindow.cpp:958
#: src/gui/socialwindow.cpp:993 src/gui/socialwindow.cpp:1028
msgid "(default)"
msgstr "(默认)"
-#: src/gui/popupmenu.cpp:1962 src/gui/popupmenu.cpp:1973
+#: src/gui/popupmenu.cpp:2005 src/gui/popupmenu.cpp:2016
msgid "Move up"
msgstr "x"
-#: src/gui/popupmenu.cpp:1964 src/gui/popupmenu.cpp:1975
+#: src/gui/popupmenu.cpp:2007 src/gui/popupmenu.cpp:2018
msgid "Move down"
msgstr ""
@@ -1923,29 +1945,33 @@ msgstr "应用"
msgid "Reset Windows"
msgstr "重置窗口"
-#: src/gui/setup_joystick.cpp:40 src/gui/setup_joystick.cpp:79
+#: src/gui/setup_joystick.cpp:70 src/gui/setup_joystick.cpp:142
msgid "Press the button to start calibration"
msgstr "按下开始校准按钮"
-#: src/gui/setup_joystick.cpp:41 src/gui/setup_joystick.cpp:77
+#: src/gui/setup_joystick.cpp:71 src/gui/setup_joystick.cpp:140
msgid "Calibrate"
msgstr "校准"
-#: src/gui/setup_joystick.cpp:42
+#: src/gui/setup_joystick.cpp:72
msgid "Enable joystick"
msgstr "启用游戏杆"
-#: src/gui/setup_joystick.cpp:44
+#: src/gui/setup_joystick.cpp:75
+msgid "Use joystick if client window inactive"
+msgstr ""
+
+#: src/gui/setup_joystick.cpp:78
msgid "Joystick"
msgstr "游戏杆"
-#: src/gui/setup_joystick.cpp:84
+#: src/gui/setup_joystick.cpp:147
msgid "Stop"
msgstr "停止"
-#: src/gui/setup_joystick.cpp:85
-msgid "Rotate the stick"
-msgstr "旋转手柄"
+#: src/gui/setup_joystick.cpp:149
+msgid "Rotate the stick and dont press buttons"
+msgstr ""
#: src/gui/setup_keyboard.cpp:80
msgid "Keyboard"
@@ -2128,22 +2154,22 @@ msgid "Enable bot checker"
msgstr "启用挂机检查"
#: src/gui/setup_other.cpp:174
-msgid "Enable buggy servers protection"
-msgstr "启用BUG保护"
+msgid "Enable buggy servers protection (do not disable)"
+msgstr ""
-#: src/gui/setup_other.cpp:177
+#: src/gui/setup_other.cpp:178
msgid "Enable debug log"
msgstr "启用调试日志"
-#: src/gui/setup_other.cpp:180
+#: src/gui/setup_other.cpp:181
msgid "Low traffic mode"
msgstr "低流量模式"
-#: src/gui/setup_other.cpp:183
+#: src/gui/setup_other.cpp:184
msgid "Hide shield sprite"
msgstr ""
-#: src/gui/setup_other.cpp:186
+#: src/gui/setup_other.cpp:187
msgid "Show background"
msgstr "显示背景"
@@ -2271,91 +2297,151 @@ msgstr "已删除"
msgid "Blacklisted"
msgstr ""
-#: src/gui/setup_relations.cpp:239
+#: src/gui/setup_relations.cpp:76
+msgid "Enemy"
+msgstr ""
+
+#: src/gui/setup_relations.cpp:240
msgid "Allow trading"
msgstr "允许交易"
-#: src/gui/setup_relations.cpp:241
+#: src/gui/setup_relations.cpp:242
msgid "Allow whispers"
msgstr "允许密语"
-#: src/gui/setup_relations.cpp:244
+#: src/gui/setup_relations.cpp:245
msgid "Old"
msgstr "旧"
-#: src/gui/setup_relations.cpp:246
+#: src/gui/setup_relations.cpp:247
msgid "Relations"
msgstr "关系"
-#: src/gui/setup_relations.cpp:271
+#: src/gui/setup_relations.cpp:272
msgid "When ignoring:"
msgstr "当忽略时:"
-#: src/gui/setup_theme.cpp:107
+#: src/gui/setup_theme.cpp:108
msgid "Tiny (10)"
msgstr "小(10)"
-#: src/gui/setup_theme.cpp:108
+#: src/gui/setup_theme.cpp:109
msgid "Small (11)"
msgstr "小 (11)"
-#: src/gui/setup_theme.cpp:109
+#: src/gui/setup_theme.cpp:110
msgid "Medium (12)"
msgstr "中 (12)"
-#: src/gui/setup_theme.cpp:110
+#: src/gui/setup_theme.cpp:111
msgid "Large (13)"
msgstr "大 (13)"
-#: src/gui/setup_theme.cpp:111
+#: src/gui/setup_theme.cpp:112
msgid "Big (14)"
msgstr "大(14)"
-#: src/gui/setup_theme.cpp:112
+#: src/gui/setup_theme.cpp:113
msgid "Huge (15)"
msgstr "巨大的 (15)"
-#: src/gui/setup_theme.cpp:143
+#: src/gui/setup_theme.cpp:146
+msgid "Chinese (China)"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:147
+msgid "Czech"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:148
+msgid "English"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:149
+msgid "Finnish"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:150
+msgid "French"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:151
+msgid "German"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:152
+msgid "Indonesian"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:153
+msgid "Japanese"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:154
+msgid "Dutch (Belgium/Flemish)"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:155
+msgid "Portuguese"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:156
+msgid "Portuguese (Brazilian)"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:157
+msgid "Russian"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:158
+msgid "Spanish (Castilian)"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:190
msgid "Theme"
msgstr "主题"
-#: src/gui/setup_theme.cpp:145
+#: src/gui/setup_theme.cpp:192
msgid "Gui theme"
msgstr "桂主题"
-#: src/gui/setup_theme.cpp:146
+#: src/gui/setup_theme.cpp:193
+msgid "Language"
+msgstr ""
+
+#: src/gui/setup_theme.cpp:194
msgid "Main Font"
msgstr "主要字体"
-#: src/gui/setup_theme.cpp:147
+#: src/gui/setup_theme.cpp:195
msgid "Bold font"
msgstr "加粗字体"
-#: src/gui/setup_theme.cpp:148
+#: src/gui/setup_theme.cpp:196
msgid "Particle font"
msgstr "粒子字体"
-#: src/gui/setup_theme.cpp:149
+#: src/gui/setup_theme.cpp:197
msgid "Help font"
msgstr "帮助字体"
-#: src/gui/setup_theme.cpp:150
+#: src/gui/setup_theme.cpp:198
msgid "Secure font"
msgstr "安全字体"
-#: src/gui/setup_theme.cpp:151
+#: src/gui/setup_theme.cpp:199
msgid "Japanese font"
msgstr "日文字体"
-#: src/gui/setup_theme.cpp:183
+#: src/gui/setup_theme.cpp:236
msgid "Font size"
msgstr "字体大小"
-#: src/gui/setup_theme.cpp:299
+#: src/gui/setup_theme.cpp:377
msgid "Theme Changed"
msgstr "主题更改"
-#: src/gui/setup_theme.cpp:300 src/gui/setup_video.cpp:619
+#: src/gui/setup_theme.cpp:378 src/gui/setup_video.cpp:619
#: src/gui/setup_video.cpp:624
msgid "Restart your client for the change to take effect."
msgstr "重启您的游戏客户端以使变更生效。"
@@ -2782,422 +2868,445 @@ msgstr "选择n的名称。"
msgid "Specials"
msgstr "特价商品"
-#: src/gui/statuspopup.cpp:197
+#: src/gui/statuspopup.cpp:204
msgid "(D) default moves"
msgstr ""
-#: src/gui/statuspopup.cpp:202
+#: src/gui/statuspopup.cpp:209
msgid "(I) invert moves"
msgstr ""
-#: src/gui/statuspopup.cpp:207
+#: src/gui/statuspopup.cpp:214
msgid "(c) moves with some crazy moves"
msgstr ""
-#: src/gui/statuspopup.cpp:212
+#: src/gui/statuspopup.cpp:219
msgid "(C) moves with crazy moves"
msgstr ""
-#: src/gui/statuspopup.cpp:217
+#: src/gui/statuspopup.cpp:224
msgid "(d) double normal + crazy"
msgstr ""
-#: src/gui/statuspopup.cpp:222
+#: src/gui/statuspopup.cpp:229
msgid "(?) move"
msgstr ""
-#: src/gui/statuspopup.cpp:240
+#: src/gui/statuspopup.cpp:247
msgid "(a) custom crazy move"
msgstr ""
-#: src/gui/statuspopup.cpp:244
+#: src/gui/statuspopup.cpp:251
msgid "(?) crazy move"
msgstr ""
-#: src/gui/statuspopup.cpp:254
+#: src/gui/statuspopup.cpp:261
msgid "(0) default moves to target"
msgstr ""
-#: src/gui/statuspopup.cpp:259
+#: src/gui/statuspopup.cpp:266
msgid "(1) moves to target in distance 1"
msgstr ""
-#: src/gui/statuspopup.cpp:264
+#: src/gui/statuspopup.cpp:271
msgid "(2) moves to target in distance 2"
msgstr ""
-#: src/gui/statuspopup.cpp:269
+#: src/gui/statuspopup.cpp:276
msgid "(3) moves to target in distance 3"
msgstr ""
-#: src/gui/statuspopup.cpp:274
+#: src/gui/statuspopup.cpp:281
msgid "(5) moves to target in distance 5"
msgstr ""
-#: src/gui/statuspopup.cpp:279
+#: src/gui/statuspopup.cpp:286
msgid "(7) moves to target in distance 7"
msgstr ""
-#: src/gui/statuspopup.cpp:284
+#: src/gui/statuspopup.cpp:291
msgid "(A) moves to target in attack range"
msgstr ""
-#: src/gui/statuspopup.cpp:289
+#: src/gui/statuspopup.cpp:296
msgid "(a) archer attack range"
msgstr ""
-#: src/gui/statuspopup.cpp:294
+#: src/gui/statuspopup.cpp:301
msgid "(?) move to target"
msgstr "(?)移动到目标"
-#: src/gui/statuspopup.cpp:302
+#: src/gui/statuspopup.cpp:309
msgid "(D) default follow"
msgstr ""
-#: src/gui/statuspopup.cpp:306
+#: src/gui/statuspopup.cpp:313
msgid "(R) relative follow"
msgstr ""
-#: src/gui/statuspopup.cpp:310
+#: src/gui/statuspopup.cpp:317
msgid "(M) mirror follow"
msgstr ""
-#: src/gui/statuspopup.cpp:314
+#: src/gui/statuspopup.cpp:321
msgid "(P) pet follow"
msgstr ""
-#: src/gui/statuspopup.cpp:318
+#: src/gui/statuspopup.cpp:325
msgid "(?) unknown follow"
msgstr ""
-#: src/gui/statuspopup.cpp:327 src/gui/statuspopup.cpp:350
+#: src/gui/statuspopup.cpp:334 src/gui/statuspopup.cpp:357
msgid "(D) default attack"
msgstr ""
-#: src/gui/statuspopup.cpp:332
+#: src/gui/statuspopup.cpp:339
msgid "(s) switch attack without shield"
msgstr ""
-#: src/gui/statuspopup.cpp:337
+#: src/gui/statuspopup.cpp:344
msgid "(S) switch attack with shield"
msgstr ""
-#: src/gui/statuspopup.cpp:341 src/gui/statuspopup.cpp:366
+#: src/gui/statuspopup.cpp:348 src/gui/statuspopup.cpp:373
msgid "(?) attack"
msgstr "(?) 攻击"
-#: src/gui/statuspopup.cpp:354
+#: src/gui/statuspopup.cpp:361
msgid "(G) go and attack"
msgstr "(G) 去攻击"
-#: src/gui/statuspopup.cpp:358
+#: src/gui/statuspopup.cpp:365
msgid "(A) go, attack, pickup"
msgstr ""
-#: src/gui/statuspopup.cpp:362
+#: src/gui/statuspopup.cpp:369
msgid "(d) without auto attack"
msgstr ""
-#: src/gui/statuspopup.cpp:380
+#: src/gui/statuspopup.cpp:387
msgid "(S) small pick up 1x1 cells"
msgstr ""
-#: src/gui/statuspopup.cpp:384
+#: src/gui/statuspopup.cpp:391
msgid "(D) default pick up 2x1 cells"
msgstr ""
-#: src/gui/statuspopup.cpp:388
+#: src/gui/statuspopup.cpp:395
msgid "(F) forward pick up 2x3 cells"
msgstr ""
-#: src/gui/statuspopup.cpp:392
+#: src/gui/statuspopup.cpp:399
msgid "(3) pick up 3x3 cells"
msgstr ""
-#: src/gui/statuspopup.cpp:396
+#: src/gui/statuspopup.cpp:403
msgid "(g) go and pick up in distance 4"
msgstr ""
-#: src/gui/statuspopup.cpp:400
+#: src/gui/statuspopup.cpp:407
msgid "(G) go and pick up in distance 8"
msgstr ""
-#: src/gui/statuspopup.cpp:404
+#: src/gui/statuspopup.cpp:411
msgid "(A) go and pick up in max distance"
msgstr ""
-#: src/gui/statuspopup.cpp:408
+#: src/gui/statuspopup.cpp:415
msgid "(?) pick up"
msgstr "(?)拿起"
-#: src/gui/statuspopup.cpp:417
+#: src/gui/statuspopup.cpp:424
msgid "(N) normal map view"
msgstr ""
-#: src/gui/statuspopup.cpp:421
+#: src/gui/statuspopup.cpp:428
msgid "(D) debug map view"
msgstr ""
-#: src/gui/statuspopup.cpp:425
+#: src/gui/statuspopup.cpp:432
msgid "(u) ultra map view"
msgstr ""
-#: src/gui/statuspopup.cpp:429
+#: src/gui/statuspopup.cpp:436
msgid "(U) ultra map view 2"
msgstr ""
-#: src/gui/statuspopup.cpp:433
+#: src/gui/statuspopup.cpp:440
msgid "(e) empty map view"
msgstr ""
-#: src/gui/statuspopup.cpp:437
+#: src/gui/statuspopup.cpp:444
msgid "(b) black & white map view"
msgstr ""
-#: src/gui/statuspopup.cpp:441
+#: src/gui/statuspopup.cpp:448
msgid "(?) map view"
msgstr ""
-#: src/gui/statuspopup.cpp:449
+#: src/gui/statuspopup.cpp:456
msgid "(f) use #flar for magic attack"
msgstr ""
-#: src/gui/statuspopup.cpp:454
+#: src/gui/statuspopup.cpp:461
msgid "(c) use #chiza for magic attack"
msgstr ""
-#: src/gui/statuspopup.cpp:459
+#: src/gui/statuspopup.cpp:466
msgid "(I) use #ingrav for magic attack"
msgstr ""
-#: src/gui/statuspopup.cpp:464
+#: src/gui/statuspopup.cpp:471
msgid "(F) use #frillyar for magic attack"
msgstr ""
-#: src/gui/statuspopup.cpp:469
+#: src/gui/statuspopup.cpp:476
msgid "(U) use #upmarmu for magic attack"
msgstr ""
-#: src/gui/statuspopup.cpp:473
+#: src/gui/statuspopup.cpp:480
msgid "(?) magic attack"
msgstr ""
-#: src/gui/statuspopup.cpp:482
+#: src/gui/statuspopup.cpp:489
+msgid "(a) attack all players"
+msgstr ""
+
+#: src/gui/statuspopup.cpp:493
+msgid "(f) attack not friends"
+msgstr ""
+
+#: src/gui/statuspopup.cpp:497
+msgid "(b) attack bad relations"
+msgstr ""
+
+#: src/gui/statuspopup.cpp:501
+msgid "(d) dont attack players"
+msgstr ""
+
+#: src/gui/statuspopup.cpp:505
+msgid "(?) pvp attack"
+msgstr ""
+
+#: src/gui/statuspopup.cpp:514
msgid "(D) default imitation"
msgstr ""
-#: src/gui/statuspopup.cpp:486
+#: src/gui/statuspopup.cpp:518
msgid "(O) outfits imitation"
msgstr ""
-#: src/gui/statuspopup.cpp:490
+#: src/gui/statuspopup.cpp:522
msgid "(?) imitation"
msgstr ""
-#: src/gui/statuspopup.cpp:499
+#: src/gui/statuspopup.cpp:531
msgid "(O) on keyboard"
msgstr ""
-#: src/gui/statuspopup.cpp:502
+#: src/gui/statuspopup.cpp:534
msgid "(A) away"
msgstr ""
-#: src/gui/statuspopup.cpp:505 src/gui/statuspopup.cpp:525
+#: src/gui/statuspopup.cpp:537 src/gui/statuspopup.cpp:557
msgid "(?) away"
msgstr ""
-#: src/gui/statuspopup.cpp:513
+#: src/gui/statuspopup.cpp:545
msgid "(G) game camera mode"
msgstr ""
-#: src/gui/statuspopup.cpp:517
+#: src/gui/statuspopup.cpp:549
msgid "(F) free camera mode"
msgstr ""
-#: src/gui/statuspopup.cpp:521
+#: src/gui/statuspopup.cpp:553
msgid "(D) design camera mode"
msgstr ""
-#: src/gui/statuspopup.cpp:532
+#: src/gui/statuspopup.cpp:564
msgid "Game modifiers are disabled"
msgstr ""
-#: src/gui/statuspopup.cpp:537
+#: src/gui/statuspopup.cpp:569
msgid "Game modifiers are enabled"
msgstr ""
-#: src/gui/statuswindow.cpp:143 src/gui/statuswindow.cpp:273
-#: src/gui/statuswindow.cpp:336
+#: src/gui/statuswindow.cpp:144 src/gui/statuswindow.cpp:274
+#: src/gui/statuswindow.cpp:337
#, c-format
msgid "Level: %d"
msgstr "等级:%d"
-#: src/gui/statuswindow.cpp:144 src/gui/statuswindow.cpp:259
-#: src/gui/statuswindow.cpp:303
+#: src/gui/statuswindow.cpp:145 src/gui/statuswindow.cpp:260
+#: src/gui/statuswindow.cpp:304
#, c-format
msgid "Money: %s"
msgstr "金币: %s"
-#: src/gui/statuswindow.cpp:150
+#: src/gui/statuswindow.cpp:151
msgid "HP:"
msgstr "HP:"
-#: src/gui/statuswindow.cpp:157
+#: src/gui/statuswindow.cpp:158
msgid "Exp:"
msgstr "经验:"
-#: src/gui/statuswindow.cpp:171
+#: src/gui/statuswindow.cpp:172
msgid "MP:"
msgstr "MP:"
-#: src/gui/statuswindow.cpp:203 src/gui/statuswindow.cpp:386
+#: src/gui/statuswindow.cpp:204 src/gui/statuswindow.cpp:387
#, c-format
msgid "Job: %d"
msgstr "职业:%d"
-#: src/gui/statuswindow.cpp:204
+#: src/gui/statuswindow.cpp:205
msgid "Job:"
msgstr "职业:"
-#: src/gui/statuswindow.cpp:262 src/gui/statuswindow.cpp:310
+#: src/gui/statuswindow.cpp:263 src/gui/statuswindow.cpp:311
#, c-format
msgid "Character points: %d"
msgstr "角色可用点: %d"
-#: src/gui/statuswindow.cpp:268
+#: src/gui/statuswindow.cpp:269
#, c-format
msgid "Level: %d (GM %d)"
msgstr "级别:%d (GM %d)"
-#: src/gui/statuswindow.cpp:324
+#: src/gui/statuswindow.cpp:325
#, c-format
msgid "Correction points: %d"
msgstr ""
-#: src/gui/statuswindow.cpp:648 src/gui/statuswindow.cpp:716
-#: src/gui/statuswindow.cpp:736 src/gui/statuswindow.cpp:752
-#: src/gui/statuswindow.cpp:798 src/gui/statuswindow.cpp:827
-#: src/gui/statuswindow.cpp:850 src/gui/statuswindow.cpp:869
+#: src/gui/statuswindow.cpp:649 src/gui/statuswindow.cpp:717
+#: src/gui/statuswindow.cpp:737 src/gui/statuswindow.cpp:753
+#: src/gui/statuswindow.cpp:818 src/gui/statuswindow.cpp:847
+#: src/gui/statuswindow.cpp:870 src/gui/statuswindow.cpp:889
msgid "(D)"
msgstr "(D)"
-#: src/gui/statuswindow.cpp:651 src/gui/statuswindow.cpp:777
+#: src/gui/statuswindow.cpp:652 src/gui/statuswindow.cpp:778
msgid "(I)"
msgstr "(I)"
-#: src/gui/statuswindow.cpp:654 src/gui/statuswindow.cpp:774
+#: src/gui/statuswindow.cpp:655 src/gui/statuswindow.cpp:775
msgid "(c)"
msgstr "(c)"
-#: src/gui/statuswindow.cpp:657
+#: src/gui/statuswindow.cpp:658
msgid "(C)"
msgstr "(C)"
-#: src/gui/statuswindow.cpp:660 src/gui/statuswindow.cpp:761
+#: src/gui/statuswindow.cpp:661 src/gui/statuswindow.cpp:762
+#: src/gui/statuswindow.cpp:803
msgid "(d)"
msgstr "(d)"
-#: src/gui/statuswindow.cpp:663 src/gui/statuswindow.cpp:677
-#: src/gui/statuswindow.cpp:709 src/gui/statuswindow.cpp:728
-#: src/gui/statuswindow.cpp:745 src/gui/statuswindow.cpp:764
-#: src/gui/statuswindow.cpp:786 src/gui/statuswindow.cpp:816
-#: src/gui/statuswindow.cpp:842 src/gui/statuswindow.cpp:856
-#: src/gui/statuswindow.cpp:872 src/gui/statuswindow.cpp:885
+#: src/gui/statuswindow.cpp:664 src/gui/statuswindow.cpp:678
+#: src/gui/statuswindow.cpp:710 src/gui/statuswindow.cpp:729
+#: src/gui/statuswindow.cpp:746 src/gui/statuswindow.cpp:765
+#: src/gui/statuswindow.cpp:787 src/gui/statuswindow.cpp:806
+#: src/gui/statuswindow.cpp:836 src/gui/statuswindow.cpp:862
+#: src/gui/statuswindow.cpp:876 src/gui/statuswindow.cpp:892
+#: src/gui/statuswindow.cpp:905
msgid "(?)"
msgstr "(?)"
-#: src/gui/statuswindow.cpp:674 src/gui/statuswindow.cpp:706
+#: src/gui/statuswindow.cpp:675 src/gui/statuswindow.cpp:707
+#: src/gui/statuswindow.cpp:794
msgid "(a)"
msgstr "(a)"
-#: src/gui/statuswindow.cpp:685
+#: src/gui/statuswindow.cpp:686
msgid "(0)"
msgstr "(0)"
-#: src/gui/statuswindow.cpp:688
+#: src/gui/statuswindow.cpp:689
msgid "(1)"
msgstr "(1)"
-#: src/gui/statuswindow.cpp:691
+#: src/gui/statuswindow.cpp:692
msgid "(2)"
msgstr "(2)"
-#: src/gui/statuswindow.cpp:694 src/gui/statuswindow.cpp:804
+#: src/gui/statuswindow.cpp:695 src/gui/statuswindow.cpp:824
msgid "(3)"
msgstr "(3)"
-#: src/gui/statuswindow.cpp:697
+#: src/gui/statuswindow.cpp:698
msgid "(5)"
msgstr "(5)"
-#: src/gui/statuswindow.cpp:700
+#: src/gui/statuswindow.cpp:701
msgid "(7)"
msgstr "(7)"
-#: src/gui/statuswindow.cpp:703 src/gui/statuswindow.cpp:758
-#: src/gui/statuswindow.cpp:813 src/gui/statuswindow.cpp:882
+#: src/gui/statuswindow.cpp:704 src/gui/statuswindow.cpp:759
+#: src/gui/statuswindow.cpp:833 src/gui/statuswindow.cpp:902
msgid "(A)"
msgstr "(A)"
-#: src/gui/statuswindow.cpp:719
+#: src/gui/statuswindow.cpp:720
msgid "(R)"
msgstr "(R)"
-#: src/gui/statuswindow.cpp:722
+#: src/gui/statuswindow.cpp:723
msgid "(M)"
msgstr "(M)"
-#: src/gui/statuswindow.cpp:725
+#: src/gui/statuswindow.cpp:726
msgid "(P)"
msgstr "(P)"
-#: src/gui/statuswindow.cpp:739
+#: src/gui/statuswindow.cpp:740
msgid "(s)"
msgstr "(s)"
-#: src/gui/statuswindow.cpp:742 src/gui/statuswindow.cpp:795
+#: src/gui/statuswindow.cpp:743 src/gui/statuswindow.cpp:815
msgid "(S)"
msgstr "(S)"
-#: src/gui/statuswindow.cpp:755 src/gui/statuswindow.cpp:810
-#: src/gui/statuswindow.cpp:863
+#: src/gui/statuswindow.cpp:756 src/gui/statuswindow.cpp:830
+#: src/gui/statuswindow.cpp:883
msgid "(G)"
msgstr "(G)"
-#: src/gui/statuswindow.cpp:771
+#: src/gui/statuswindow.cpp:772 src/gui/statuswindow.cpp:797
msgid "(f)"
msgstr "(f)"
-#: src/gui/statuswindow.cpp:780 src/gui/statuswindow.cpp:801
-#: src/gui/statuswindow.cpp:866
+#: src/gui/statuswindow.cpp:781 src/gui/statuswindow.cpp:821
+#: src/gui/statuswindow.cpp:886
msgid "(F)"
msgstr "(F)"
-#: src/gui/statuswindow.cpp:783 src/gui/statuswindow.cpp:833
+#: src/gui/statuswindow.cpp:784 src/gui/statuswindow.cpp:853
msgid "(U)"
msgstr "(U)"
-#: src/gui/statuswindow.cpp:807
+#: src/gui/statuswindow.cpp:800 src/gui/statuswindow.cpp:859
+msgid "(b)"
+msgstr "(b)"
+
+#: src/gui/statuswindow.cpp:827
msgid "(g)"
msgstr "(g)"
-#: src/gui/statuswindow.cpp:824
+#: src/gui/statuswindow.cpp:844
msgid "(N)"
msgstr "(N)"
-#: src/gui/statuswindow.cpp:830
+#: src/gui/statuswindow.cpp:850
msgid "(u)"
msgstr "(u)"
-#: src/gui/statuswindow.cpp:836
+#: src/gui/statuswindow.cpp:856
msgid "(e)"
msgstr "(e)"
-#: src/gui/statuswindow.cpp:839
-msgid "(b)"
-msgstr "(b)"
-
-#: src/gui/statuswindow.cpp:853 src/gui/statuswindow.cpp:879
+#: src/gui/statuswindow.cpp:873 src/gui/statuswindow.cpp:899
msgid "(O)"
msgstr "(O)"
@@ -3327,7 +3436,8 @@ msgid "You don't have enough money."
msgstr "你没有足够的钱币."
#: src/gui/tradewindow.cpp:454
-msgid "Failed adding item. You can not overlap one kind of item on the window."
+msgid ""
+"Failed adding item. You can not overlap one kind of item on the window."
msgstr "添加物品失败。你不能覆盖窗口中的该类物品。"
#: src/gui/unregisterdialog.cpp:54
@@ -3347,21 +3457,21 @@ msgstr "连接中..."
msgid "Play"
msgstr "开始"
-#: src/gui/updaterwindow.cpp:564
+#: src/gui/updaterwindow.cpp:565
msgid "##1 The update process is incomplete."
msgstr "##1 更新过程不完整。"
#. TRANSLATORS: Continues "you try again later.".
-#: src/gui/updaterwindow.cpp:566
+#: src/gui/updaterwindow.cpp:567
msgid "##1 It is strongly recommended that"
msgstr "##1 强烈建议"
#. TRANSLATORS: Begins "It is strongly recommended that".
-#: src/gui/updaterwindow.cpp:568
+#: src/gui/updaterwindow.cpp:569
msgid "##1 you try again later."
msgstr ""
-#: src/gui/updaterwindow.cpp:744
+#: src/gui/updaterwindow.cpp:745
msgid "Completed"
msgstr "已完成"
@@ -3705,7 +3815,8 @@ msgid "Command: /unignore <player>"
msgstr "命令: /unignore <玩家>"
#: src/gui/widgets/whispertab.cpp:131
-msgid "This command stops ignoring the other player if they are being ignored."
+msgid ""
+"This command stops ignoring the other player if they are being ignored."
msgstr "此命令将停止忽视了其他的球员,如果他们被忽略了。"
#: src/gui/windowmenu.cpp:65
@@ -3922,7 +4033,7 @@ msgstr "项目的快捷键"
#: src/keyboardconfig.cpp:116 src/keyboardconfig.cpp:119
#: src/keyboardconfig.cpp:121 src/keyboardconfig.cpp:123
#: src/keyboardconfig.cpp:125 src/keyboardconfig.cpp:127
-#: src/keyboardconfig.cpp:369
+#: src/keyboardconfig.cpp:371
#, c-format
msgid "Item Shortcut %d"
msgstr "物品快捷 %d"
@@ -4049,7 +4160,7 @@ msgstr "笑脸"
#: src/keyboardconfig.cpp:258 src/keyboardconfig.cpp:260
#: src/keyboardconfig.cpp:262 src/keyboardconfig.cpp:264
#: src/keyboardconfig.cpp:266 src/keyboardconfig.cpp:268
-#: src/keyboardconfig.cpp:364
+#: src/keyboardconfig.cpp:366
#, c-format
msgid "Emote Shortcut %d"
msgstr "表情快捷键为 %d"
@@ -4178,118 +4289,122 @@ msgstr "使用魔法攻击"
msgid "Switch magic attack"
msgstr "切换魔法攻击"
-#: src/keyboardconfig.cpp:328
+#: src/keyboardconfig.cpp:329
+msgid "Switch pvp attack"
+msgstr ""
+
+#: src/keyboardconfig.cpp:330
msgid "Change move type"
msgstr "更改移动类型"
-#: src/keyboardconfig.cpp:330
+#: src/keyboardconfig.cpp:332
msgid "Change Attack Weapon Type"
msgstr "更改攻击型武器"
-#: src/keyboardconfig.cpp:332
+#: src/keyboardconfig.cpp:334
msgid "Change Attack Type"
msgstr "更改攻击类型"
-#: src/keyboardconfig.cpp:334
+#: src/keyboardconfig.cpp:336
msgid "Change Follow mode"
msgstr "更改跟随模式"
-#: src/keyboardconfig.cpp:336
+#: src/keyboardconfig.cpp:338
msgid "Change Imitation mode"
msgstr "更改仿模式"
-#: src/keyboardconfig.cpp:339
+#: src/keyboardconfig.cpp:341
msgid "Disable / Enable Game modifier keys"
msgstr ""
-#: src/keyboardconfig.cpp:340
+#: src/keyboardconfig.cpp:342
msgid "On / Off audio"
msgstr "开/关 音频"
-#: src/keyboardconfig.cpp:342
+#: src/keyboardconfig.cpp:344
msgid "Enable / Disable away mode"
msgstr "启用/禁用离开模式"
-#: src/keyboardconfig.cpp:344
+#: src/keyboardconfig.cpp:346
msgid "Emulate right click from keyboard"
msgstr "从键盘模拟右键单击"
-#: src/keyboardconfig.cpp:346
+#: src/keyboardconfig.cpp:348
msgid "Toggle camera mode"
msgstr "切换模式"
-#: src/keyboardconfig.cpp:348
+#: src/keyboardconfig.cpp:350
msgid "Modifier key"
msgstr "修改按键"
-#: src/keyboardconfig.cpp:427
+#: src/keyboardconfig.cpp:429
#, c-format
msgid ""
"Conflict \"%s\" and \"%s\" keys. Resolve them, or gameplay may result in "
"strange behaviour."
msgstr ""
-#: src/localplayer.cpp:381
+#: src/localplayer.cpp:389
msgid "You were killed by "
msgstr "你被打死"
-#: src/localplayer.cpp:1428
+#: src/localplayer.cpp:1442
msgid "Tried to pick up nonexistent item."
msgstr ""
-#: src/localplayer.cpp:1430
+#: src/localplayer.cpp:1444
msgid "Item is too heavy."
msgstr "项目是太重了。"
-#: src/localplayer.cpp:1432
+#: src/localplayer.cpp:1446
msgid "Item is too far away."
msgstr "物品太远了。"
-#: src/localplayer.cpp:1434
+#: src/localplayer.cpp:1448
msgid "Inventory is full."
msgstr ""
-#: src/localplayer.cpp:1436
+#: src/localplayer.cpp:1450
msgid "Stack is too big."
msgstr ""
-#: src/localplayer.cpp:1439
+#: src/localplayer.cpp:1453
msgid "Item belongs to someone else."
msgstr ""
-#: src/localplayer.cpp:1442
+#: src/localplayer.cpp:1456
msgid "Unknown problem picking up item."
msgstr ""
#. TRANSLATORS: %d is number,
#. [@@%d|%s@@] - here player can see link to item
-#: src/localplayer.cpp:1466
+#: src/localplayer.cpp:1480
#, c-format
msgid "You picked up %d [@@%d|%s@@]."
msgid_plural "You picked up %d [@@%d|%s@@]."
msgstr[0] "你拾起%d[@@%d|%s @@]。"
-#: src/localplayer.cpp:3181
+#: src/localplayer.cpp:3206
msgid "Away"
msgstr "距离"
-#: src/localplayer.cpp:3509
+#: src/localplayer.cpp:3541
msgid "Follow: "
msgstr "跟随:"
-#: src/localplayer.cpp:3511 src/localplayer.cpp:3526
+#: src/localplayer.cpp:3543 src/localplayer.cpp:3558
msgid "Follow canceled"
msgstr ""
-#: src/localplayer.cpp:3518
+#: src/localplayer.cpp:3550
msgid "Imitation: "
msgstr ""
-#: src/localplayer.cpp:3520 src/localplayer.cpp:3528
+#: src/localplayer.cpp:3552 src/localplayer.cpp:3560
msgid "Imitation canceled"
msgstr ""
-#: src/localplayer.cpp:3876
+#: src/localplayer.cpp:3908
msgid "You see "
msgstr "你看"
@@ -4654,9 +4769,7 @@ msgstr "改命令改变帮会的物品共享策略。"
msgid ""
"<policy> can be one of \"1\", \"yes\", \"true\" to enable item sharing, or "
"\"0\", \"no\", \"false\" to disable item sharing."
-msgstr ""
-"<策略>可以为“1”,“yes”,“true”其中一以开启物品共享,或者 是\"0\",\"no\","
-"\"false\"用来禁止物品共享。"
+msgstr "<策略>可以为“1”,“yes”,“true”其中一以开启物品共享,或者 是\"0\",\"no\",\"false\"用来禁止物品共享。"
#: src/net/ea/gui/partytab.cpp:101
msgid "Command: /item"
@@ -4678,9 +4791,7 @@ msgstr "该命令改变帮会的经验共享策略。"
msgid ""
"<policy> can be one of \"1\", \"yes\", \"true\" to enable experience "
"sharing, or \"0\", \"no\", \"false\" to disable experience sharing."
-msgstr ""
-"<策略>可以为“1”,“yes”,“true”其中之一以开启经验共享,或者 是\"0\",\"no\","
-"\"false\"用来关闭经验共享。"
+msgstr "<策略>可以为“1”,“yes”,“true”其中之一以开启经验共享,或者 是\"0\",\"no\",\"false\"用来关闭经验共享。"
#: src/net/ea/gui/partytab.cpp:113
msgid "Command: /exp"
@@ -4960,9 +5071,7 @@ msgstr ""
#: src/net/ea/playerhandler.cpp:133
msgid "You're pining for the fjords."
-msgstr ""
-"<策略>可以为“1”,“yes”,“true”其中之一以开启物品共享,或者 是\"0\",\"no\","
-"\"false\"用来禁止物品共享。"
+msgstr "<策略>可以为“1”,“yes”,“true”其中之一以开启物品共享,或者 是\"0\",\"no\",\"false\"用来禁止物品共享。"
#: src/net/ea/playerhandler.cpp:335 src/net/ea/playerhandler.cpp:345
#: src/net/ea/playerhandler.cpp:427
@@ -4971,7 +5080,8 @@ msgstr "讯息"
#: src/net/ea/playerhandler.cpp:336
msgid ""
-"You are carrying more than half your weight. You are unable to regain health."
+"You are carrying more than half your weight. You are unable to regain "
+"health."
msgstr "你已携带超过半数负重。无法回复健康(体力)"
#: src/net/ea/playerhandler.cpp:346
@@ -5081,53 +5191,53 @@ msgstr "毒药无效..."
msgid "%s wants to trade with you, do you accept?"
msgstr "%s想和您进行交易,是否接受?"
-#: src/net/ea/tradehandler.cpp:134
+#: src/net/ea/tradehandler.cpp:135
msgid "Trading isn't possible. Trade partner is too far away."
msgstr "交易不可能进行。与交易伙伴太过太过遥远"
-#: src/net/ea/tradehandler.cpp:138
+#: src/net/ea/tradehandler.cpp:139
msgid "Trading isn't possible. Character doesn't exist."
msgstr "交易不可能进行。角色不存在。"
-#: src/net/ea/tradehandler.cpp:142
+#: src/net/ea/tradehandler.cpp:143
msgid "Trade cancelled due to an unknown reason."
msgstr "交易取消因不明原因。"
-#: src/net/ea/tradehandler.cpp:148
+#: src/net/ea/tradehandler.cpp:149
#, c-format
msgid "Trade: You and %s"
msgstr "交易:您和%s"
-#: src/net/ea/tradehandler.cpp:158
+#: src/net/ea/tradehandler.cpp:159
#, c-format
msgid "Trade with %s cancelled."
msgstr "与%s的交易被取消。"
-#: src/net/ea/tradehandler.cpp:171
+#: src/net/ea/tradehandler.cpp:172
msgid "Unhandled trade cancel packet."
msgstr "未处理的交易取消分组。"
-#: src/net/ea/tradehandler.cpp:236
+#: src/net/ea/tradehandler.cpp:237
msgid "Failed adding item. Trade partner is over weighted."
msgstr "添加项目失败。交易伙伴已经负重太多。"
-#: src/net/ea/tradehandler.cpp:241
+#: src/net/ea/tradehandler.cpp:242
msgid "Failed adding item. Trade partner has no free slot."
msgstr "添加项目失败。交易伙伴无空闲槽存放物品。"
-#: src/net/ea/tradehandler.cpp:246
+#: src/net/ea/tradehandler.cpp:247
msgid "Failed adding item. You can't trade this item."
msgstr "添加物品失败。您不能交易这项物品."
-#: src/net/ea/tradehandler.cpp:250
+#: src/net/ea/tradehandler.cpp:251
msgid "Failed adding item for unknown reason."
msgstr "添加项目失败,原因未知。"
-#: src/net/ea/tradehandler.cpp:269 src/net/manaserv/tradehandler.cpp:160
+#: src/net/ea/tradehandler.cpp:270 src/net/manaserv/tradehandler.cpp:160
msgid "Trade canceled."
msgstr "交易取消。"
-#: src/net/ea/tradehandler.cpp:280 src/net/manaserv/tradehandler.cpp:167
+#: src/net/ea/tradehandler.cpp:281 src/net/manaserv/tradehandler.cpp:167
msgid "Trade completed."
msgstr "交易完成。"
@@ -5546,15 +5656,15 @@ msgstr "攻击范围"
msgid "Damage per sec."
msgstr "每秒伤害"
-#: src/net/tmwa/network.cpp:152
+#: src/net/tmwa/network.cpp:153
msgid "Empty address given to Network::connect()!"
msgstr "空的地址给网络:连接()!"
-#: src/net/tmwa/network.cpp:356
+#: src/net/tmwa/network.cpp:357
msgid "Unable to resolve host \""
msgstr "无法解析主机“"
-#: src/net/tmwa/network.cpp:426
+#: src/net/tmwa/network.cpp:427
msgid "Connection to server terminated. "
msgstr "连接到服务器终止。"
@@ -5563,19 +5673,19 @@ msgstr "连接到服务器终止。"
msgid "%s is not in your party!"
msgstr "%s不在你的帮会中!"
-#: src/playerrelations.cpp:435
+#: src/playerrelations.cpp:460
msgid "Print '...'"
msgstr ""
-#: src/playerrelations.cpp:455
+#: src/playerrelations.cpp:480
msgid "Blink name"
msgstr ""
-#: src/playerrelations.cpp:499
+#: src/playerrelations.cpp:524
msgid "Floating '...' bubble"
msgstr ""
-#: src/playerrelations.cpp:502
+#: src/playerrelations.cpp:527
msgid "Floating bubble"
msgstr "流动的泡沫"
@@ -5607,3 +5717,5 @@ msgstr "MP %+d"
#: src/resources/itemdb.cpp:169
msgid "Unknown item"
msgstr "未知物品"
+
+
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index d15b6131a..66ec51a6c 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -538,6 +538,7 @@ SET(SRCS
keyboardconfig.h
listener.cpp
listener.h
+ localconsts.h
localplayer.cpp
localplayer.h
logger.cpp
diff --git a/src/Makefile.am b/src/Makefile.am
index a0c96a8ec..4b1d224bc 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -448,6 +448,7 @@ manaplus_SOURCES += gui/widgets/avatarlistbox.cpp \
keyboardconfig.h \
listener.cpp \
listener.h \
+ localconsts.h \
localplayer.cpp \
localplayer.h \
logger.cpp \
diff --git a/src/actor.cpp b/src/actor.cpp
index 147b01cb6..095f3d959 100644
--- a/src/actor.cpp
+++ b/src/actor.cpp
@@ -29,12 +29,12 @@
#include "debug.h"
Actor::Actor():
- mMap(0)
+ mMap(nullptr)
{}
Actor::~Actor()
{
- setMap(0);
+ setMap(nullptr);
}
void Actor::setMap(Map *map)
diff --git a/src/actorsprite.cpp b/src/actorsprite.cpp
index 6155bb7af..2a92cf506 100644
--- a/src/actorsprite.cpp
+++ b/src/actorsprite.cpp
@@ -53,18 +53,18 @@ ActorSprite::ActorSprite(int id):
mStatusParticleEffects(&mStunParticleEffects, false),
mChildParticleEffects(&mStatusParticleEffects, false),
mMustResetParticles(false),
- mUsedTargetCursor(0)
+ mUsedTargetCursor(nullptr)
{
}
ActorSprite::~ActorSprite()
{
- setMap(0);
+ setMap(nullptr);
- mUsedTargetCursor = 0;
+ mUsedTargetCursor = nullptr;
if (player_node && player_node->getTarget() == this)
- player_node->setTarget(0);
+ player_node->setTarget(nullptr);
// Notify listeners of the destruction.
for (ActorSpriteListenerIterator iter = mActorSpriteListeners.begin(),
@@ -160,7 +160,7 @@ struct EffectDescription
std::string mSFXEffect;
};
-static EffectDescription *default_effect = 0;
+static EffectDescription *default_effect = nullptr;
static std::map<int, EffectDescription *> effects;
static bool effects_initialized = false;
@@ -186,7 +186,7 @@ static EffectDescription *getEffectDescription(int effectId)
{
logger->log1("Error loading being effects file: "
EFFECTS_FILE);
- return NULL;
+ return nullptr;
}
for_each_xml_child_node(node, root)
@@ -462,12 +462,12 @@ void ActorSprite::cleanupTargetCursors()
if (targetCursor[type][size])
{
delete targetCursor[type][size];
- targetCursor[type][size] = 0;
+ targetCursor[type][size] = nullptr;
}
if (targetCursorImages[type][size])
{
targetCursorImages[type][size]->decRef();
- targetCursorImages[type][size] = 0;
+ targetCursorImages[type][size] = nullptr;
}
}
}
@@ -503,7 +503,7 @@ void ActorSprite::loadTargetCursor(const std::string &filename,
if (targetCursor[type][size])
{
delete targetCursor[type][size];
- targetCursor[type][size] = 0;
+ targetCursor[type][size] = nullptr;
if (targetCursorImages[type][size])
targetCursorImages[type][size]->decRef();
}
diff --git a/src/actorsprite.h b/src/actorsprite.h
index 7ec5cc391..e130269bf 100644
--- a/src/actorsprite.h
+++ b/src/actorsprite.h
@@ -24,6 +24,7 @@
#include "actor.h"
#include "compoundsprite.h"
+#include "localconsts.h"
#include "map.h"
#include "particlecontainer.h"
@@ -122,7 +123,8 @@ public:
/**
* Untargets the actor.
*/
- void untarget() { mUsedTargetCursor = NULL; }
+ void untarget()
+ { mUsedTargetCursor = nullptr; }
/**
* Triggers a visual effect, such as `level up'. Only draws the visual
diff --git a/src/actorspritemanager.cpp b/src/actorspritemanager.cpp
index cc18cfbee..4403738f9 100644
--- a/src/actorspritemanager.cpp
+++ b/src/actorspritemanager.cpp
@@ -183,7 +183,7 @@ class SortBeingFunctor
} beingSorter;
ActorSpriteManager::ActorSpriteManager() :
- mMap(0)
+ mMap(nullptr)
{
mSpellHeal1 = serverConfig.getValue("spellHeal1", "#lum");
mSpellHeal2 = serverConfig.getValue("spellHeal2", "#inma");
@@ -295,7 +295,7 @@ Being *ActorSpriteManager::findBeing(int id) const
}
}
- return NULL;
+ return nullptr;
}
Being *ActorSpriteManager::findBeing(int x, int y,
@@ -308,20 +308,20 @@ Being *ActorSpriteManager::findBeing(int x, int y,
ActorSpritesConstIterator it = find_if(mActors.begin(), mActors.end(),
beingFinder);
- return (it == mActors.end()) ? NULL : static_cast<Being*>(*it);
+ return (it == mActors.end()) ? nullptr : static_cast<Being*>(*it);
}
Being *ActorSpriteManager::findBeingByPixel(int x, int y,
bool allPlayers) const
{
if (!mMap)
- return NULL;
+ return nullptr;
bool targetDead = mTargetDeadPlayers;
if (mExtMouseTargeting)
{
- Being *tempBeing = 0;
+ Being *tempBeing = nullptr;
bool noBeing(false);
for_actors
@@ -376,7 +376,7 @@ Being *ActorSpriteManager::findBeingByPixel(int x, int y,
}
if (noBeing)
- return 0;
+ return nullptr;
return tempBeing;
}
else
@@ -402,7 +402,7 @@ Being *ActorSpriteManager::findBeingByPixel(int x, int y,
return being;
}
}
- return 0;
+ return nullptr;
}
}
@@ -448,7 +448,7 @@ void ActorSpriteManager::findBeingsByPixel(std::vector<Being*> &beings,
Being *ActorSpriteManager::findPortalByTile(int x, int y) const
{
if (!mMap)
- return NULL;
+ return nullptr;
for_actors
{
@@ -464,7 +464,7 @@ Being *ActorSpriteManager::findPortalByTile(int x, int y) const
return being;
}
- return NULL;
+ return nullptr;
}
FloorItem *ActorSpriteManager::findItem(int id) const
@@ -481,7 +481,7 @@ FloorItem *ActorSpriteManager::findItem(int id) const
}
}
- return NULL;
+ return nullptr;
}
FloorItem *ActorSpriteManager::findItem(int x, int y) const
@@ -498,7 +498,7 @@ FloorItem *ActorSpriteManager::findItem(int x, int y) const
}
}
- return NULL;
+ return nullptr;
}
bool ActorSpriteManager::pickUpAll(int x1, int y1, int x2, int y2,
@@ -526,7 +526,7 @@ bool ActorSpriteManager::pickUpAll(int x1, int y1, int x2, int y2,
}
else if (Client::checkPackets(PACKET_PICKUP))
{
- FloorItem *item = 0;
+ FloorItem *item = nullptr;
unsigned cnt = 65535;
for_actors
{
@@ -563,7 +563,7 @@ bool ActorSpriteManager::pickUpNearest(int x, int y, int maxdist)
return false;
maxdist = maxdist * maxdist;
- FloorItem *closestItem = NULL;
+ FloorItem *closestItem = nullptr;
int dist = 0;
for_actors
@@ -614,17 +614,17 @@ Being *ActorSpriteManager::findBeingByName(const std::string &name,
return being;
}
}
- return NULL;
+ return nullptr;
}
Being *ActorSpriteManager::findNearestByName(const std::string &name,
Being::Type type) const
{
if (!player_node)
- return 0;
+ return nullptr;
int dist = 0;
- Being* closestBeing = NULL;
+ Being* closestBeing = nullptr;
int x, y;
x = player_node->getTileX();
@@ -653,8 +653,8 @@ Being *ActorSpriteManager::findNearestByName(const std::string &name,
int d = (being->getTileX() - x) * (being->getTileX() - x)
+ (being->getTileY() - y) * (being->getTileY() - y);
- if (validateBeing(0, being, type, 0, 50)
- && (d < dist || closestBeing == NULL))
+ if (validateBeing(nullptr, being, type, nullptr, 50)
+ && (d < dist || closestBeing == nullptr))
{
dist = d;
closestBeing = being;
@@ -697,7 +697,7 @@ void ActorSpriteManager::logic()
if (player_node)
{
if (player_node->getTarget() == *it)
- player_node->setTarget(0);
+ player_node->setTarget(nullptr);
if (player_node->getPickUpTarget() == *it)
player_node->unSetPickUpTarget();
}
@@ -718,11 +718,11 @@ void ActorSpriteManager::logic()
void ActorSpriteManager::clear()
{
if (beingEquipmentWindow)
- beingEquipmentWindow->setBeing(0);
+ beingEquipmentWindow->setBeing(nullptr);
if (player_node)
{
- player_node->setTarget(0);
+ player_node->setTarget(nullptr);
player_node->unSetPickUpTarget();
mActors.erase(player_node);
}
@@ -745,7 +745,7 @@ Being *ActorSpriteManager::findNearestLivingBeing(int x, int y,
{
const int maxDist = maxTileDist * 32;
- return findNearestLivingBeing(NULL, maxDist, type, x, y, excluded);
+ return findNearestLivingBeing(nullptr, maxDist, type, x, y, excluded);
}
Being *ActorSpriteManager::findNearestLivingBeing(Being *aroundBeing,
@@ -753,7 +753,7 @@ Being *ActorSpriteManager::findNearestLivingBeing(Being *aroundBeing,
Being::Type type) const
{
if (!aroundBeing)
- return 0;
+ return nullptr;
int x = aroundBeing->getTileX();
int y = aroundBeing->getTileY();
@@ -769,9 +769,9 @@ Being *ActorSpriteManager::findNearestLivingBeing(Being *aroundBeing,
Being *excluded) const
{
if (!aroundBeing || !player_node)
- return 0;
+ return nullptr;
- Being *closestBeing = 0;
+ Being *closestBeing = nullptr;
std::set<std::string> attackMobs;
std::set<std::string> priorityMobs;
std::set<std::string> ignoreAttackMobs;
@@ -852,7 +852,7 @@ Being *ActorSpriteManager::findNearestLivingBeing(Being *aroundBeing,
continue;
}
}
- if (validateBeing(aroundBeing, being, type, 0, maxDist))
+ if (validateBeing(aroundBeing, being, type, nullptr, maxDist))
{
if (being != excluded)
sortedBeings.push_back(being);
@@ -861,7 +861,7 @@ Being *ActorSpriteManager::findNearestLivingBeing(Being *aroundBeing,
// no selectable beings
if (sortedBeings.empty())
- return 0;
+ return nullptr;
beingSorter.x = x;
beingSorter.y = y;
@@ -874,24 +874,24 @@ Being *ActorSpriteManager::findNearestLivingBeing(Being *aroundBeing,
}
else
{
- beingSorter.attackBeings = 0;
- beingSorter.priorityBeings = 0;
+ beingSorter.attackBeings = nullptr;
+ beingSorter.priorityBeings = nullptr;
}
sort(sortedBeings.begin(), sortedBeings.end(), beingSorter);
if (filtered)
{
- beingSorter.attackBeings = 0;
- beingSorter.priorityBeings = 0;
+ beingSorter.attackBeings = nullptr;
+ beingSorter.priorityBeings = nullptr;
}
- if (player_node->getTarget() == NULL)
+ if (player_node->getTarget() == nullptr)
{
Being *target = sortedBeings.at(0);
if (specialDistance && target->getType() == Being::MONSTER
&& target->getDistance() <= 2)
{
- return 0;
+ return nullptr;
}
// if no selected being in vector, return first nearest being
return target;
@@ -970,7 +970,7 @@ Being *ActorSpriteManager::findNearestLivingBeing(Being *aroundBeing,
// logger->log("index:" + toString(index));
// logger->log("d:" + toString(d));
- if (valid && !filtered && (d <= dist || closestBeing == 0))
+ if (valid && !filtered && (d <= dist || !closestBeing))
{
dist = d;
closestBeing = being;
@@ -1014,7 +1014,7 @@ Being *ActorSpriteManager::findNearestLivingBeing(Being *aroundBeing,
}
}
}
- return (maxDist >= dist) ? closestBeing : 0;
+ return (maxDist >= dist) ? closestBeing : nullptr;
}
}
diff --git a/src/animatedsprite.cpp b/src/animatedsprite.cpp
index fedcd8de2..c1f1cac85 100644
--- a/src/animatedsprite.cpp
+++ b/src/animatedsprite.cpp
@@ -40,9 +40,9 @@ AnimatedSprite::AnimatedSprite(SpriteDef *sprite):
mFrameIndex(0),
mFrameTime(0),
mSprite(sprite),
- mAction(0),
- mAnimation(0),
- mFrame(0)
+ mAction(nullptr),
+ mAnimation(nullptr),
+ mFrame(nullptr)
{
mAlpha = 1.0f;
@@ -59,7 +59,7 @@ AnimatedSprite *AnimatedSprite::load(const std::string &filename, int variant)
ResourceManager *resman = ResourceManager::getInstance();
SpriteDef *s = resman->getSprite(filename, variant);
if (!s)
- return 0;
+ return nullptr;
AnimatedSprite *as = new AnimatedSprite(s);
s->decRef();
return as;
@@ -70,7 +70,7 @@ AnimatedSprite::~AnimatedSprite()
if (mSprite)
{
mSprite->decRef();
- mSprite = 0;
+ mSprite = nullptr;
}
}
@@ -194,8 +194,8 @@ bool AnimatedSprite::updateCurrentAnimation(unsigned int time)
{
if (mFrame->rand == 100 || rand() % 100 <= mFrame->rand)
{
- mAnimation = 0;
- mFrame = 0;
+ mAnimation = nullptr;
+ mFrame = nullptr;
return false;
}
}
@@ -292,7 +292,7 @@ std::string AnimatedSprite::getIdPath()
const Image* AnimatedSprite::getImage() const
{
- return mFrame ? mFrame->image : 0;
+ return mFrame ? mFrame->image : nullptr;
}
void AnimatedSprite::setAlpha(float alpha)
diff --git a/src/animationparticle.cpp b/src/animationparticle.cpp
index b20625a42..ef2e0a680 100644
--- a/src/animationparticle.cpp
+++ b/src/animationparticle.cpp
@@ -28,14 +28,14 @@
#include "debug.h"
AnimationParticle::AnimationParticle(Map *map, Animation *animation):
- ImageParticle(map, 0),
+ ImageParticle(map, nullptr),
mAnimation(new SimpleAnimation(animation))
{
}
AnimationParticle::AnimationParticle(Map *map, xmlNodePtr animationNode,
const std::string& dyePalettes):
- ImageParticle(map, 0),
+ ImageParticle(map, nullptr),
mAnimation(new SimpleAnimation(animationNode, dyePalettes))
{
}
@@ -43,8 +43,8 @@ AnimationParticle::AnimationParticle(Map *map, xmlNodePtr animationNode,
AnimationParticle::~AnimationParticle()
{
delete mAnimation;
- mAnimation = 0;
- mImage = 0;
+ mAnimation = nullptr;
+ mImage = nullptr;
}
bool AnimationParticle::update()
diff --git a/src/being.cpp b/src/being.cpp
index 5eac242fd..b344e9709 100644
--- a/src/being.cpp
+++ b/src/being.cpp
@@ -212,7 +212,8 @@ Being::Being(int id, Type type, Uint16 subtype, Map *map):
ActorSprite(id),
mInfo(BeingInfo::unknown),
mActionTime(0),
- mEmotion(0), mEmotionTime(0),
+ mEmotion(0),
+ mEmotionTime(0),
mSpeechTime(0),
mAttackType(1),
mAttackSpeed(350),
@@ -221,19 +222,21 @@ Being::Being(int id, Type type, Uint16 subtype, Map *map):
mDirection(DOWN),
mDirectionDelayed(0),
mSpriteDirection(DIRECTION_DOWN),
- mDispName(0),
+ mDispName(nullptr),
mShowName(false),
- mEquippedWeapon(NULL),
- mText(0),
+ mEquippedWeapon(nullptr),
+ mText(nullptr),
mLevel(0),
mGender(GENDER_UNSPECIFIED),
- mParty(0),
+ mParty(nullptr),
mIsGM(false),
mAttackRange(1),
mType(type),
- mX(0), mY(0),
+ mX(0),
+ mY(0),
mDamageTaken(0),
- mHP(0), mMaxHP(0),
+ mHP(0),
+ mMaxHP(0),
mDistance(0),
mIsReachable(REACH_UNKNOWN),
mGoodStatus(-1),
@@ -291,16 +294,16 @@ Being::~Being()
config.removeListener("visiblenames", this);
delete[] mSpriteRemap;
- mSpriteRemap = 0;
+ mSpriteRemap = nullptr;
delete[] mSpriteHide;
- mSpriteHide = 0;
+ mSpriteHide = nullptr;
delete mSpeechBubble;
- mSpeechBubble = 0;
+ mSpeechBubble = nullptr;
delete mDispName;
- mDispName = 0;
+ mDispName = nullptr;
delete mText;
- mText = 0;
+ mText = nullptr;
}
void Being::setSubtype(Uint16 subtype)
@@ -543,7 +546,7 @@ void Being::takeDamage(Being *attacker, int amount, AttackType type)
if (!userPalette || !attacker)
return;
- gcn::Font *font = 0;
+ gcn::Font *font = nullptr;
std::string damage = amount ? toString(amount) : type == FLEE ?
_("dodge") : _("miss");
const gcn::Color *color;
@@ -751,7 +754,7 @@ void Being::setShowName(bool doShowName)
else
{
delete mDispName;
- mDispName = 0;
+ mDispName = nullptr;
}
}
@@ -795,7 +798,7 @@ Guild *Being::getGuild(const std::string &guildName) const
return guild;
}
- return 0;
+ return nullptr;
}
Guild *Being::getGuild(int id) const
@@ -805,7 +808,7 @@ Guild *Being::getGuild(int id) const
if (itr != mGuilds.end())
return itr->second;
- return 0;
+ return nullptr;
}
Guild *Being::getGuild() const
@@ -815,7 +818,7 @@ Guild *Being::getGuild() const
if (itr != mGuilds.end())
return itr->second;
- return 0;
+ return nullptr;
}
void Being::clearGuilds()
@@ -1157,7 +1160,7 @@ void Being::logic()
if (mSpeechTime == 0 && mText)
{
delete mText;
- mText = 0;
+ mText = nullptr;
}
int frameCount = static_cast<int>(getFrameCount());
@@ -1393,7 +1396,7 @@ void Being::drawSpeech(int offsetX, int offsetY)
const bool isShowName = (speech == NAME_IN_BUBBLE);
delete mText;
- mText = 0;
+ mText = nullptr;
mSpeechBubble->setCaption(isShowName ? mName : "", mTextColor);
@@ -1418,7 +1421,7 @@ void Being::drawSpeech(int offsetX, int offsetY)
mSpeechBubble->setVisible(false);
delete mText;
- mText = 0;
+ mText = nullptr;
}
}
@@ -1538,7 +1541,7 @@ std::string Being::getGenderSign() const
void Being::showName()
{
delete mDispName;
- mDispName = 0;
+ mDispName = nullptr;
std::string mDisplayName(mName);
if (mType != MONSTER && (mShowGender || mShowLevel))
@@ -1556,7 +1559,7 @@ void Being::showName()
mDisplayName += ", " + toString(getDamageTaken());
}
- gcn::Font *font = 0;
+ gcn::Font *font = nullptr;
if (player_node && player_node->getTarget() == this
&& mType != MONSTER)
{
@@ -1631,7 +1634,9 @@ void Being::updateColors()
mNameColor = &userPalette->getColor(UserPalette::DISREGARDED);
}
else if (player_relations.getRelation(mName) ==
- PlayerRelation::IGNORED)
+ PlayerRelation::IGNORED
+ || player_relations.getRelation(mName) ==
+ PlayerRelation::ENEMY2)
{
mNameColor = &userPalette->getColor(UserPalette::IGNORED);
}
@@ -1676,13 +1681,13 @@ void Being::setSprite(unsigned int slot, int id, std::string color,
removeSprite(slot);
if (isWeapon)
- mEquippedWeapon = NULL;
+ mEquippedWeapon = nullptr;
}
else
{
const ItemInfo &info = ItemDB::get(id);
std::string filename = info.getSprite(mGender);
- AnimatedSprite *equipmentSprite = NULL;
+ AnimatedSprite *equipmentSprite = nullptr;
if (!filename.empty())
{
@@ -1877,7 +1882,7 @@ BeingCacheEntry* Being::getCacheEntry(int id)
return *i;
}
}
- return 0;
+ return nullptr;
}
@@ -2519,7 +2524,7 @@ void BeingEquipBackend::clear()
for (int i = 0; i < EQUIPMENT_SIZE; i++)
{
delete mEquipment[i];
- mEquipment[i] = 0;
+ mEquipment[i] = nullptr;
}
}
@@ -2531,6 +2536,6 @@ void BeingEquipBackend::setEquipment(int index, Item *item)
Item *BeingEquipBackend::getEquipment(int index) const
{
if (index < 0 || index >= EQUIPMENT_SIZE)
- return 0;
+ return nullptr;
return mEquipment[index];
}
diff --git a/src/being.h b/src/being.h
index 9b38e1479..9ee60fcdf 100644
--- a/src/being.h
+++ b/src/being.h
@@ -354,7 +354,7 @@ class Being : public ActorSprite, public ConfigListener
{ return static_cast<short>(mGuilds.size()); }
bool isInParty() const
- { return mParty != NULL; }
+ { return mParty; }
void setParty(Party *party);
@@ -761,10 +761,10 @@ class Being : public ActorSprite, public ConfigListener
void setAttackRange(int range)
{ mAttackRange = range; }
- void attack(Being *target = NULL, bool keep = false,
+ void attack(Being *target = nullptr, bool keep = false,
bool dontChangeEquipment = false);
- void attack2(Being *target = NULL, bool keep = false,
+ void attack2(Being *target = nullptr, bool keep = false,
bool dontChangeEquipment = false);
protected:
diff --git a/src/channel.cpp b/src/channel.cpp
index c9194ec6f..19859f4ef 100644
--- a/src/channel.cpp
+++ b/src/channel.cpp
@@ -39,5 +39,5 @@ Channel::Channel(short id,
Channel::~Channel()
{
delete mTab;
- mTab = 0;
+ mTab = nullptr;
}
diff --git a/src/channelmanager.cpp b/src/channelmanager.cpp
index 23c68c1f7..4ae1ebe2a 100644
--- a/src/channelmanager.cpp
+++ b/src/channelmanager.cpp
@@ -40,7 +40,7 @@ ChannelManager::~ChannelManager()
Channel *ChannelManager::findById(int id) const
{
- Channel *channel = 0;
+ Channel *channel = nullptr;
for (std::list<Channel*>::const_iterator itr = mChannels.begin(),
end = mChannels.end();
itr != end;
@@ -60,7 +60,7 @@ Channel *ChannelManager::findById(int id) const
Channel *ChannelManager::findByName(const std::string &name) const
{
- Channel *channel = 0;
+ Channel *channel = nullptr;
if (!name.empty())
{
for (std::list<Channel*>::const_iterator itr = mChannels.begin(),
@@ -90,5 +90,5 @@ void ChannelManager::removeChannel(Channel *channel)
{
mChannels.remove(channel);
delete channel;
- channel = 0;
+ channel = nullptr;
}
diff --git a/src/client.cpp b/src/client.cpp
index c90d1886f..8a6ec2116 100644
--- a/src/client.cpp
+++ b/src/client.cpp
@@ -34,6 +34,7 @@
#include "guildmanager.h"
#include "graphicsvertexes.h"
#include "itemshortcut.h"
+#include "joystick.h"
#include "keyboardconfig.h"
#ifdef USE_OPENGL
#include "openglgraphics.h"
@@ -136,15 +137,15 @@ std::string errorMessage;
ErrorListener errorListener;
LoginData loginData;
-Configuration config; /**< XML file configuration reader */
-Configuration serverConfig; /**< XML file server configuration reader */
-Configuration branding; /**< XML branding information reader */
-Configuration paths; /**< XML default paths information reader */
-Logger *logger = 0; /**< Log object */
-ChatLogger *chatLogger = 0; /**< Chat log object */
+Configuration config; /**< XML file configuration reader */
+Configuration serverConfig; /**< XML file server configuration reader */
+Configuration branding; /**< XML branding information reader */
+Configuration paths; /**< XML default paths information reader */
+Logger *logger = nullptr; /**< Log object */
+ChatLogger *chatLogger = nullptr; /**< Chat log object */
KeyboardConfig keyboard;
-UserPalette *userPalette = 0;
-Graphics *mainGraphics = 0;
+UserPalette *userPalette = nullptr;
+Graphics *mainGraphics = nullptr;
Sound sound;
@@ -167,6 +168,10 @@ int start_time;
int textures_count = 0;
+#ifdef WIN32
+extern "C" char const *_nl_locale_name_default(void);
+#endif
+
/**
* Advances game logic counter.
* Called every 10 milliseconds by SDL_AddTimer()
@@ -235,7 +240,7 @@ class LoginListener : public gcn::ActionListener
} // anonymous namespace
-Client *Client::mInstance = 0;
+Client *Client::mInstance = nullptr;
Client::Client(const Options &options):
mOptions(options),
@@ -243,16 +248,16 @@ Client::Client(const Options &options):
mUsersDir(""),
mNpcsDir(""),
mRootDir(""),
- mCurrentDialog(0),
- mQuitDialog(0),
- mDesktop(0),
- mSetupButton(0),
- mVideoButton(0),
- mThemesButton(0),
- mPerfomanceButton(0),
+ mCurrentDialog(nullptr),
+ mQuitDialog(nullptr),
+ mDesktop(nullptr),
+ mSetupButton(nullptr),
+ mVideoButton(nullptr),
+ mThemesButton(nullptr),
+ mPerfomanceButton(nullptr),
mState(STATE_CHOOSE_SERVER),
mOldState(STATE_START),
- mIcon(0),
+ mIcon(nullptr),
mLogicCounterId(0),
mSecondsCounterId(0),
mLimitFps(false),
@@ -286,6 +291,35 @@ Client::Client(const Options &options):
storeSafeParameters();
+#if ENABLE_NLS
+ std::string lang = config.getValue("lang", "");
+#ifdef WIN32
+ if (!lang.empty())
+ lang = std::string(_nl_locale_name_default());
+
+ putenv((char*)("LANG=" + lang).c_str());
+ putenv((char*)("LANGUAGE=" + lang).c_str());
+ // mingw doesn't like LOCALEDIR to be defined for some reason
+ if (lang != "C")
+ bindtextdomain("manaplus", "translations/");
+#else
+ if (!lang.empty())
+ {
+ putenv(const_cast<char*>(("LANG=" + lang).c_str()));
+ putenv(const_cast<char*>(("LANGUAGE=" + lang).c_str()));
+ }
+#ifdef ENABLE_PORTABLE
+ bindtextdomain("manaplus", (std::string(PHYSFS_getBaseDir())
+ + "../locale/").c_str());
+#else
+ bindtextdomain("manaplus", LOCALEDIR);
+#endif
+#endif
+ setlocale(LC_MESSAGES, lang.c_str());
+ bind_textdomain_codeset("manaplus", "UTF-8");
+ textdomain("manaplus");
+#endif
+
chatLogger = new ChatLogger;
if (mOptions.chatLogDir == "")
chatLogger->setLogDir(mLocalDataDir + std::string("/logs/"));
@@ -313,7 +347,8 @@ Client::Client(const Options &options):
SDL_EnableUNICODE(1);
SDL_EnableKeyRepeat(SDL_DEFAULT_REPEAT_DELAY, SDL_DEFAULT_REPEAT_INTERVAL);
- SDL_WM_SetCaption(branding.getValue("appName", "ManaPlus").c_str(), NULL);
+ SDL_WM_SetCaption(branding.getValue("appName",
+ "ManaPlus").c_str(), nullptr);
ResourceManager *resman = ResourceManager::getInstance();
@@ -412,12 +447,11 @@ Client::Client(const Options &options):
static SDL_SysWMinfo pInfo;
SDL_GetWMInfo(&pInfo);
// Attempt to load icon from .ico file
- HICON icon = (HICON) LoadImage(NULL,
- iconFile.c_str(),
- IMAGE_ICON, 64, 64, LR_LOADFROMFILE);
+ HICON icon = (HICON) LoadImage(nullptr, iconFile.c_str(),
+ IMAGE_ICON, 64, 64, LR_LOADFROMFILE);
// If it's failing, we load the default resource file.
if (!icon)
- icon = LoadIcon(GetModuleHandle(NULL), "A");
+ icon = LoadIcon(GetModuleHandle(nullptr), "A");
if (icon)
SetClassLong(pInfo.window, GCL_HICON, (LONG) icon);
@@ -426,7 +460,7 @@ Client::Client(const Options &options):
if (mIcon)
{
SDL_SetAlpha(mIcon, SDL_SRCALPHA, SDL_ALPHA_OPAQUE);
- SDL_WM_SetIcon(mIcon, NULL);
+ SDL_WM_SetIcon(mIcon, nullptr);
}
#endif
@@ -534,6 +568,8 @@ Client::Client(const Options &options):
// Initialise player relations
player_relations.init();
+ Joystick::init();
+
userPalette = new UserPalette;
setupWindow = new Setup;
@@ -573,8 +609,8 @@ Client::Client(const Options &options):
// Initialize logic and seconds counters
tick_time = 0;
- mLogicCounterId = SDL_AddTimer(MILLISECONDS_IN_A_TICK, nextTick, NULL);
- mSecondsCounterId = SDL_AddTimer(1000, nextSecond, NULL);
+ mLogicCounterId = SDL_AddTimer(MILLISECONDS_IN_A_TICK, nextTick, nullptr);
+ mSecondsCounterId = SDL_AddTimer(1000, nextSecond, nullptr);
const int fpsLimit = config.getIntValue("fpslimit");
mLimitFps = fpsLimit > 0;
@@ -597,7 +633,7 @@ Client::Client(const Options &options):
optionChanged("fpslimit");
- start_time = static_cast<int>(time(NULL));
+ start_time = static_cast<int>(time(nullptr));
// Initialize PlayerInfo
PlayerInfo::init();
@@ -624,7 +660,7 @@ Client::~Client()
Net::getLoginHandler()->clearWorlds();
delete mumbleManager;
- mumbleManager = 0;
+ mumbleManager = nullptr;
PlayerInfo::deinit();
@@ -632,24 +668,24 @@ Client::~Client()
for (int f = 0; f < SHORTCUT_TABS; f ++)
{
delete itemShortcut[f];
- itemShortcut[f] = 0;
+ itemShortcut[f] = nullptr;
}
delete emoteShortcut;
- emoteShortcut = 0;
+ emoteShortcut = nullptr;
delete dropShortcut;
- dropShortcut = 0;
+ dropShortcut = nullptr;
player_relations.store();
logger->log1("Quitting2");
delete gui;
- gui = 0;
+ gui = nullptr;
logger->log1("Quitting3");
delete mainGraphics;
- mainGraphics = 0;
+ mainGraphics = nullptr;
logger->log1("Quitting4");
@@ -676,7 +712,10 @@ Client::~Client()
logger->log1("Quitting9");
delete userPalette;
- userPalette = 0;
+ userPalette = nullptr;
+
+ delete joystick;
+ joystick = nullptr;
logger->log1("Quitting10");
@@ -689,12 +728,12 @@ Client::~Client()
logger->log1("Quitting11");
delete chatLogger;
- chatLogger = 0;
+ chatLogger = nullptr;
delete logger;
- logger = 0;
+ logger = nullptr;
- mInstance = 0;
+ mInstance = nullptr;
}
int Client::exec()
@@ -704,7 +743,7 @@ int Client::exec()
if (!mumbleManager)
mumbleManager = new MumbleManager();
- Game *game = 0;
+ Game *game = nullptr;
SDL_Event event;
while (mState != STATE_EXIT)
@@ -874,7 +913,7 @@ int Client::exec()
if (mOldState == STATE_GAME)
{
delete game;
- game = 0;
+ game = nullptr;
Game::clearInstance();
ResourceManager *resman = ResourceManager::getInstance();
if (resman)
@@ -890,13 +929,13 @@ int Client::exec()
// Get rid of the dialog of the previous state
delete mCurrentDialog;
- mCurrentDialog = 0;
+ mCurrentDialog = nullptr;
// State has changed, while the quitDialog was active, it might
// not be correct anymore
if (mQuitDialog)
{
mQuitDialog->scheduleDelete();
- mQuitDialog = 0;
+ mQuitDialog = nullptr;
}
switch (mState)
@@ -986,7 +1025,7 @@ int Client::exec()
if (mOptions.chooseDefault)
{
static_cast<WorldSelectDialog*>(mCurrentDialog)
- ->action(gcn::ActionEvent(0, "ok"));
+ ->action(gcn::ActionEvent(nullptr, "ok"));
}
}
}
@@ -1159,17 +1198,17 @@ int Client::exec()
Theme::instance()->setMinimumOpacity(-1.0f);
delete mSetupButton;
- mSetupButton = 0;
+ mSetupButton = nullptr;
delete mVideoButton;
- mVideoButton = 0;
+ mVideoButton = nullptr;
delete mThemesButton;
- mThemesButton = 0;
+ mThemesButton = nullptr;
delete mPerfomanceButton;
- mPerfomanceButton = 0;
+ mPerfomanceButton = nullptr;
delete mDesktop;
- mDesktop = 0;
+ mDesktop = nullptr;
- mCurrentDialog = NULL;
+ mCurrentDialog = nullptr;
logger->log1("State: GAME");
if (Net::getGeneralHandler())
@@ -1181,14 +1220,14 @@ int Client::exec()
logger->log1("State: LOGIN ERROR");
mCurrentDialog = new OkDialog(_("Error"), errorMessage);
mCurrentDialog->addActionListener(&loginListener);
- mCurrentDialog = NULL; // OkDialog deletes itself
+ mCurrentDialog = nullptr; // OkDialog deletes itself
break;
case STATE_ACCOUNTCHANGE_ERROR:
logger->log1("State: ACCOUNT CHANGE ERROR");
mCurrentDialog = new OkDialog(_("Error"), errorMessage);
mCurrentDialog->addActionListener(&accountListener);
- mCurrentDialog = NULL; // OkDialog deletes itself
+ mCurrentDialog = nullptr; // OkDialog deletes itself
break;
case STATE_REGISTER_PREP:
@@ -1224,7 +1263,7 @@ int Client::exec()
mCurrentDialog = new OkDialog(_("Password Change"),
_("Password changed successfully!"));
mCurrentDialog->addActionListener(&accountListener);
- mCurrentDialog = NULL; // OkDialog deletes itself
+ mCurrentDialog = nullptr; // OkDialog deletes itself
loginData.password = loginData.newPassword;
loginData.newPassword = "";
break;
@@ -1244,7 +1283,7 @@ int Client::exec()
mCurrentDialog = new OkDialog(_("Email Change"),
_("Email changed successfully!"));
mCurrentDialog->addActionListener(&accountListener);
- mCurrentDialog = NULL; // OkDialog deletes itself
+ mCurrentDialog = nullptr; // OkDialog deletes itself
break;
case STATE_UNREGISTER:
@@ -1267,7 +1306,7 @@ int Client::exec()
loginData.clear();
//The errorlistener sets the state to STATE_CHOOSE_SERVER
mCurrentDialog->addActionListener(&errorListener);
- mCurrentDialog = NULL; // OkDialog deletes itself
+ mCurrentDialog = nullptr; // OkDialog deletes itself
break;
case STATE_SWITCH_SERVER:
@@ -1322,7 +1361,7 @@ int Client::exec()
logger->log("Error: %s\n", errorMessage.c_str());
mCurrentDialog = new OkDialog(_("Error"), errorMessage);
mCurrentDialog->addActionListener(&errorListener);
- mCurrentDialog = NULL; // OkDialog deletes itself
+ mCurrentDialog = nullptr; // OkDialog deletes itself
Net::getGameHandler()->disconnect();
break;
@@ -1510,7 +1549,7 @@ void Client::initServerConfig(std::string serverName)
logger->error(strprintf(_("%s doesn't exist and can't be created! "
"Exiting."), mServerConfigDir.c_str()));
}
- FILE *configFile = 0;
+ FILE *configFile = nullptr;
std::string configPath;
configPath = mServerConfigDir + "/config.xml";
@@ -1574,7 +1613,7 @@ void Client::initConfiguration()
// Checking if the configuration file exists... otherwise create it with
// default options.
- FILE *configFile = 0;
+ FILE *configFile = nullptr;
std::string configPath;
// bool oldConfig = false;
// int emptySize = config.getSize();
@@ -1764,11 +1803,11 @@ void Client::accountLogin(LoginData *data)
bool Client::copyFile(std::string &configPath, std::string &oldConfigPath)
{
- FILE *configFile = 0;
+ FILE *configFile = nullptr;
configFile = fopen(oldConfigPath.c_str(), "r");
- if (configFile != NULL)
+ if (configFile)
{
fclose(configFile);
diff --git a/src/commandhandler.cpp b/src/commandhandler.cpp
index cac12b8ec..d04fda150 100644
--- a/src/commandhandler.cpp
+++ b/src/commandhandler.cpp
@@ -115,6 +115,8 @@ void CommandHandler::handleCommand(const std::string &command, ChatTab *tab)
handleNeutral(args, tab);
else if (type == "blacklist")
handleBlackList(args, tab);
+ else if (type == "enemy")
+ handleEnemy(args, tab);
else if (type == "erase")
handleErase(args, tab);
else if (type == "join")
@@ -149,6 +151,8 @@ void CommandHandler::handleCommand(const std::string &command, ChatTab *tab)
handleEmote(args, tab);
else if (type == "away")
handleAway(args, tab);
+ else if (type == "pseudoaway")
+ handlePseudoAway(args, tab);
else if (type == "follow")
handleFollow(args, tab);
else if (type == "heal")
@@ -230,11 +234,32 @@ void CommandHandler::handleAnnounce(const std::string &args,
void CommandHandler::handleHelp(const std::string &args A_UNUSED,
ChatTab *tab A_UNUSED)
{
- if (helpWindow)
+ if (!helpWindow)
+ return;
+
+ if (!tab)
{
helpWindow->loadHelp("chatcommands");
helpWindow->requestMoveToTop();
+ return;
}
+ switch (tab->getType())
+ {
+ case ChatTab::TAB_PARTY:
+ {
+ helpWindow->loadHelp("chatparty");
+ break;
+ }
+ case ChatTab::TAB_GUILD:
+ {
+ helpWindow->loadHelp("chatguild");
+ break;
+ }
+ default:
+ helpWindow->loadHelp("chatcommands");
+ break;
+ }
+ helpWindow->requestMoveToTop();
}
void CommandHandler::handleWhere(const std::string &args A_UNUSED,
@@ -564,6 +589,11 @@ void CommandHandler::handleBlackList(const std::string &args, ChatTab *tab)
changeRelation(args, PlayerRelation::BLACKLISTED, _("blacklisted"), tab);
}
+void CommandHandler::handleEnemy(const std::string &args, ChatTab *tab)
+{
+ changeRelation(args, PlayerRelation::ENEMY2, _("enemy"), tab);
+}
+
void CommandHandler::handleErase(const std::string &args, ChatTab *tab)
{
if (args.empty())
@@ -712,6 +742,13 @@ void CommandHandler::handleAway(const std::string &args, ChatTab *tab A_UNUSED)
player_node->setAway(args);
}
+void CommandHandler::handlePseudoAway(const std::string &args,
+ ChatTab *tab A_UNUSED)
+{
+ if (player_node)
+ player_node->setPseudoAway(args);
+}
+
void CommandHandler::handleFollow(const std::string &args, ChatTab *tab)
{
if (!player_node)
@@ -1033,19 +1070,20 @@ void CommandHandler::handleCacheInfo(const std::string &args A_UNUSED,
#endif
}
-void CommandHandler::handleServerIgnoreAll(const std::string &args,
+void CommandHandler::handleServerIgnoreAll(const std::string &args A_UNUSED,
ChatTab *tab A_UNUSED)
{
Net::getChatHandler()->ignoreAll();
}
-void CommandHandler::handleServerUnIgnoreAll(const std::string &args,
+void CommandHandler::handleServerUnIgnoreAll(const std::string &args A_UNUSED,
ChatTab *tab A_UNUSED)
{
Net::getChatHandler()->unIgnoreAll();
}
-void CommandHandler::handleDumpGraphics(const std::string &args, ChatTab *tab)
+void CommandHandler::handleDumpGraphics(const std::string &args A_UNUSED,
+ ChatTab *tab)
{
std::string str;
str = strprintf ("%s,%s,%dX%dX%d,", PACKAGE_OS, SMALL_VERSION,
diff --git a/src/commandhandler.h b/src/commandhandler.h
index 0b3146af8..809e9e517 100644
--- a/src/commandhandler.h
+++ b/src/commandhandler.h
@@ -177,6 +177,11 @@ class CommandHandler
void handleBlackList(const std::string &args, ChatTab *tab);
/**
+ * Handle an enemy command.
+ */
+ void handleEnemy(const std::string &args, ChatTab *tab);
+
+ /**
* Handle an erase command.
*/
void handleErase(const std::string &args, ChatTab *tab);
@@ -234,6 +239,11 @@ class CommandHandler
void handleAway(const std::string &args, ChatTab *tab);
/**
+ * Handle pseudo away command.
+ */
+ void handlePseudoAway(const std::string &args, ChatTab *tab);
+
+ /**
* Handle follow command.
*/
void handleFollow(const std::string &args, ChatTab *tab);
diff --git a/src/compoundsprite.cpp b/src/compoundsprite.cpp
index ceab9a149..3ee988cec 100644
--- a/src/compoundsprite.cpp
+++ b/src/compoundsprite.cpp
@@ -45,12 +45,13 @@
static const unsigned cache_max_size = 10;
static const unsigned cache_clean_part = 3;
-CompoundSprite::CompoundSprite():
- mCacheItem(0),
- mImage(0),
- mAlphaImage(0),
- mOffsetX(0), mOffsetY(0),
- mNeedsRedraw(false)
+CompoundSprite::CompoundSprite() :
+ mCacheItem(nullptr),
+ mImage(nullptr),
+ mAlphaImage(nullptr),
+ mOffsetX(0),
+ mOffsetY(0),
+ mNeedsRedraw(false)
{
mAlpha = 1.0f;
mEnableAlphaFix = config.getBoolValue("enableAlphaFix");
@@ -67,9 +68,9 @@ CompoundSprite::~CompoundSprite()
clear();
// delete mImage;
- mImage = 0;
+ mImage = nullptr;
// delete mAlphaImage;
- mAlphaImage = 0;
+ mAlphaImage = nullptr;
}
bool CompoundSprite::reset()
@@ -166,7 +167,7 @@ void CompoundSprite::drawSpritesSDL(Graphics* graphics,
int CompoundSprite::getWidth() const
{
- Sprite *base = NULL;
+ Sprite *base = nullptr;
SpriteConstIterator it, it_end;
for (it = begin(), it_end = end(); it != it_end; ++it)
@@ -183,7 +184,7 @@ int CompoundSprite::getWidth() const
int CompoundSprite::getHeight() const
{
- Sprite *base = NULL;
+ Sprite *base = nullptr;
SpriteConstIterator it, it_end;
for (it = begin(), it_end = end(); it != it_end; ++it)
@@ -271,11 +272,11 @@ void CompoundSprite::setSprite(int layer, Sprite* sprite)
void CompoundSprite::removeSprite(int layer)
{
// Skip if it won't change anything
- if (at(layer) == NULL)
+ if (at(layer) == nullptr)
return;
delete at(layer);
- at(layer) = 0;
+ at(layer) = nullptr;
mNeedsRedraw = true;
}
@@ -290,7 +291,7 @@ void CompoundSprite::clear()
delete_all(imagesCache);
imagesCache.clear();
delete mCacheItem;
- mCacheItem = 0;
+ mCacheItem = nullptr;
}
void CompoundSprite::ensureSize(size_t layerCount)
@@ -299,7 +300,7 @@ void CompoundSprite::ensureSize(size_t layerCount)
if (size() >= layerCount)
return;
- resize(layerCount, NULL);
+ resize(layerCount, nullptr);
}
/**
@@ -381,13 +382,13 @@ void CompoundSprite::redraw() const
drawSpritesSDL(graphics, posX, posY);
delete graphics;
- graphics = 0;
+ graphics = nullptr;
SDL_Surface *surfaceA = SDL_CreateRGBSurface(SDL_HWSURFACE,
BUFFER_WIDTH, BUFFER_HEIGHT, 32, rmask, gmask, bmask, amask);
SDL_SetAlpha(surface, 0, SDL_ALPHA_OPAQUE);
- SDL_BlitSurface(surface, NULL, surfaceA, NULL);
+ SDL_BlitSurface(surface, nullptr, surfaceA, nullptr);
delete mImage;
delete mAlphaImage;
@@ -402,7 +403,7 @@ void CompoundSprite::redraw() const
}
else
{
- mAlphaImage = 0;
+ mAlphaImage = nullptr;
}
}
@@ -468,7 +469,7 @@ bool CompoundSprite::updateFromCache() const
if (mCacheItem && mCacheItem->image)
{
imagesCache.push_front(mCacheItem);
- mCacheItem = 0;
+ mCacheItem = nullptr;
if (imagesCache.size() > cache_max_size)
{
for (unsigned f = 0; f < cache_clean_part; f ++)
@@ -496,8 +497,8 @@ bool CompoundSprite::updateFromCache() const
for (; it1 != it1_end && it2 != it2_end; ++ it1, ++ it2)
{
- void *ptr1 = 0;
- void *ptr2 = 0;
+ void *ptr1 = nullptr;
+ void *ptr2 = nullptr;
if (*it1)
ptr1 = (*it1)->getHash();
if (*it2)
@@ -519,8 +520,8 @@ bool CompoundSprite::updateFromCache() const
}
}
}
- mImage = 0;
- mAlphaImage = 0;
+ mImage = nullptr;
+ mAlphaImage = nullptr;
// miss++;
return false;
}
@@ -539,14 +540,14 @@ void CompoundSprite::initCurrentCacheItem() const
if (*it)
mCacheItem->data.push_back((*it)->getHash());
else
- mCacheItem->data.push_back(0);
+ mCacheItem->data.push_back(nullptr);
}
}
CompoundItem::CompoundItem() :
// alpha(1.0f),
- image(0),
- alphaImage(0)
+ image(nullptr),
+ alphaImage(nullptr)
{
}
diff --git a/src/configuration.cpp b/src/configuration.cpp
index a0167b9b0..b8b742f53 100644
--- a/src/configuration.cpp
+++ b/src/configuration.cpp
@@ -152,7 +152,7 @@ ConfigurationObject::~ConfigurationObject()
Configuration::Configuration() :
mConfigPath(""),
- mDefaultsData(0),
+ mDefaultsData(nullptr),
mDirectory("")
{
}
@@ -168,7 +168,7 @@ void Configuration::cleanDefaults()
}
mDefaultsData->clear();
delete mDefaultsData;
- mDefaultsData = 0;
+ mDefaultsData = nullptr;
}
}
@@ -470,7 +470,7 @@ void ConfigurationObject::initFromXML(xmlNodePtr parent_node)
void Configuration::init(const std::string &filename, bool useResManager)
{
- mDefaultsData = 0;
+ mDefaultsData = nullptr;
XML::Document doc(filename, useResManager);
if (useResManager)
@@ -565,8 +565,8 @@ void Configuration::write()
logger->log1("Configuration::write() writing configuration...");
xmlTextWriterSetIndent(writer, 1);
- xmlTextWriterStartDocument(writer, NULL, NULL, NULL);
-// xmlTextWriterStartDocument(writer, NULL, "utf8", NULL);
+ xmlTextWriterStartDocument(writer, nullptr, nullptr, nullptr);
+// xmlTextWriterStartDocument(writer, nullptr, "utf8", nullptr);
xmlTextWriterStartElement(writer, BAD_CAST "configuration");
writeToXML(writer);
diff --git a/src/debug.h b/src/debug.h
index 81a2e0526..00a0ec3d0 100644
--- a/src/debug.h
+++ b/src/debug.h
@@ -18,6 +18,10 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
+#include "localconsts.h"
+
+//#define DEBUG_JOYSTICK 1
+
#ifdef ENABLE_MEM_DEBUG
//define _DEBUG_NEW_EMULATE_MALLOC 1
#include "debug/debug_new.h"
diff --git a/src/defaults.cpp b/src/defaults.cpp
index c5397a7d5..f18e0f432 100644
--- a/src/defaults.cpp
+++ b/src/defaults.cpp
@@ -220,6 +220,10 @@ DefaultsData* getConfigDefaults()
AddDEF(configData, "enableLazyScrolling", true);
AddDEF(configData, "extMouseTargeting", true);
AddDEF(configData, "showMVP", false);
+ AddDEF(configData, "pvpAttackType", 0);
+ AddDEF(configData, "lang", "");
+ AddDEF(configData, "selectedJoystick", 0);
+ AddDEF(configData, "useInactiveJoystick", false);
return configData;
}
diff --git a/src/equipment.h b/src/equipment.h
index 71b4b8593..2b6dae3ce 100644
--- a/src/equipment.h
+++ b/src/equipment.h
@@ -25,6 +25,8 @@
#define EQUIPMENT_SIZE 13
+#include "localconsts.h"
+
class Item;
class Equipment
@@ -33,14 +35,14 @@ class Equipment
/**
* Constructor.
*/
- Equipment(): mBackend(0)
+ Equipment(): mBackend(nullptr)
{ }
/**
* Destructor.
*/
~Equipment()
- { mBackend = 0; }
+ { mBackend = nullptr; }
enum Slot
{
@@ -72,7 +74,7 @@ class Equipment
* Get equipment at the given slot.
*/
Item *getEquipment(int index) const
- { return mBackend ? mBackend->getEquipment(index) : 0; }
+ { return mBackend ? mBackend->getEquipment(index) : nullptr; }
/**
* Clears equipment.
diff --git a/src/event.cpp b/src/event.cpp
index 7eaf8aea6..9d27a081a 100644
--- a/src/event.cpp
+++ b/src/event.cpp
@@ -37,7 +37,7 @@ Event::~Event()
while (it != mData.end())
{
delete it->second;
- it->second = 0;
+ it->second = nullptr;
++it;
}
}
diff --git a/src/flooritem.cpp b/src/flooritem.cpp
index 9b11bdc9c..fa6cbf618 100644
--- a/src/flooritem.cpp
+++ b/src/flooritem.cpp
@@ -97,7 +97,7 @@ bool FloorItem::draw(Graphics *graphics, int offsetX, int offsetY) const
const int x = mX * mMap->getTileWidth() + offsetX;
const int y = mY * mMap->getTileHeight() + offsetY;
- gcn::Font *font = 0;
+ gcn::Font *font = nullptr;
if (mHighlight)
{
diff --git a/src/game.cpp b/src/game.cpp
index 6ed2c2239..042bd2423 100644
--- a/src/game.cpp
+++ b/src/game.cpp
@@ -117,54 +117,54 @@
#include "debug.h"
-Joystick *joystick = NULL;
+Joystick *joystick = nullptr;
-OkDialog *weightNotice = NULL;
+OkDialog *weightNotice = nullptr;
int weightNoticeTime = 0;
-OkDialog *deathNotice = NULL;
-QuitDialog *quitDialog = NULL;
-OkDialog *disconnectedDialog = NULL;
-
-ChatWindow *chatWindow = NULL;
-StatusWindow *statusWindow = NULL;
-MiniStatusWindow *miniStatusWindow = NULL;
-InventoryWindow *inventoryWindow = NULL;
-ShopWindow *shopWindow = NULL;
-SkillDialog *skillDialog = NULL;
-Minimap *minimap = NULL;
-EquipmentWindow *equipmentWindow = NULL;
-EquipmentWindow *beingEquipmentWindow = NULL;
-TradeWindow *tradeWindow = NULL;
-HelpWindow *helpWindow = NULL;
-DebugWindow *debugWindow = NULL;
-ShortcutWindow *itemShortcutWindow = NULL;
-ShortcutWindow *emoteShortcutWindow = NULL;
-OutfitWindow *outfitWindow = NULL;
-SpecialsWindow *specialsWindow = NULL;
-ShortcutWindow *dropShortcutWindow = NULL;
-ShortcutWindow *spellShortcutWindow = NULL;
-WhoIsOnline *whoIsOnline = NULL;
-DidYouKnowWindow *didYouKnowWindow = NULL;
-KillStats *killStats = NULL;
-BotCheckerWindow *botCheckerWindow = NULL;
-SocialWindow *socialWindow = NULL;
-WindowMenu *windowMenu = NULL;
-
-ActorSpriteManager *actorSpriteManager = NULL;
-ChannelManager *channelManager = NULL;
-CommandHandler *commandHandler = NULL;
-MumbleManager *mumbleManager = NULL;
-Particle *particleEngine = NULL;
-EffectManager *effectManager = NULL;
-SpellManager *spellManager = NULL;
-Viewport *viewport = NULL; /**< Viewport on the map. */
-GuildManager *guildManager = NULL;
-AuctionManager *auctionManager = NULL;
-
-ChatTab *localChatTab = NULL;
-ChatTab *debugChatTab = NULL;
-TradeTab *tradeChatTab = NULL;
-BattleTab *battleChatTab = NULL;
+OkDialog *deathNotice = nullptr;
+QuitDialog *quitDialog = nullptr;
+OkDialog *disconnectedDialog = nullptr;
+
+ChatWindow *chatWindow = nullptr;
+StatusWindow *statusWindow = nullptr;
+MiniStatusWindow *miniStatusWindow = nullptr;
+InventoryWindow *inventoryWindow = nullptr;
+ShopWindow *shopWindow = nullptr;
+SkillDialog *skillDialog = nullptr;
+Minimap *minimap = nullptr;
+EquipmentWindow *equipmentWindow = nullptr;
+EquipmentWindow *beingEquipmentWindow = nullptr;
+TradeWindow *tradeWindow = nullptr;
+HelpWindow *helpWindow = nullptr;
+DebugWindow *debugWindow = nullptr;
+ShortcutWindow *itemShortcutWindow = nullptr;
+ShortcutWindow *emoteShortcutWindow = nullptr;
+OutfitWindow *outfitWindow = nullptr;
+SpecialsWindow *specialsWindow = nullptr;
+ShortcutWindow *dropShortcutWindow = nullptr;
+ShortcutWindow *spellShortcutWindow = nullptr;
+WhoIsOnline *whoIsOnline = nullptr;
+DidYouKnowWindow *didYouKnowWindow = nullptr;
+KillStats *killStats = nullptr;
+BotCheckerWindow *botCheckerWindow = nullptr;
+SocialWindow *socialWindow = nullptr;
+WindowMenu *windowMenu = nullptr;
+
+ActorSpriteManager *actorSpriteManager = nullptr;
+ChannelManager *channelManager = nullptr;
+CommandHandler *commandHandler = nullptr;
+MumbleManager *mumbleManager = nullptr;
+Particle *particleEngine = nullptr;
+EffectManager *effectManager = nullptr;
+SpellManager *spellManager = nullptr;
+Viewport *viewport = nullptr; /**< Viewport on the map. */
+GuildManager *guildManager = nullptr;
+AuctionManager *auctionManager = nullptr;
+
+ChatTab *localChatTab = nullptr;
+ChatTab *debugChatTab = nullptr;
+TradeTab *tradeChatTab = nullptr;
+BattleTab *battleChatTab = nullptr;
const unsigned adjustDelay = 10;
@@ -182,7 +182,7 @@ static void initEngines()
AuctionManager::init();
GuildManager::init();
- particleEngine = new Particle(NULL);
+ particleEngine = new Particle(nullptr);
particleEngine->setupEngine();
Mana::Event::trigger(CHANNEL_GAME, Mana::Event(EVENT_ENGINESINITALIZED));
@@ -206,7 +206,7 @@ static void createGuiWindows()
tradeWindow = new TradeWindow;
equipmentWindow = new EquipmentWindow(PlayerInfo::getEquipment(),
player_node);
- beingEquipmentWindow = new EquipmentWindow(0, 0, true);
+ beingEquipmentWindow = new EquipmentWindow(nullptr, nullptr, true);
beingEquipmentWindow->setVisible(false);
statusWindow = new StatusWindow;
miniStatusWindow = new MiniStatusWindow;
@@ -263,7 +263,7 @@ static void createGuiWindows()
}
else
{
- tradeChatTab = 0;
+ tradeChatTab = nullptr;
}
if (config.getBoolValue("enableBattleTab"))
@@ -273,7 +273,7 @@ static void createGuiWindows()
}
else
{
- battleChatTab = 0;
+ battleChatTab = nullptr;
}
if (config.getBoolValue("logToChat"))
@@ -288,7 +288,7 @@ static void createGuiWindows()
Mana::Event::trigger(CHANNEL_GAME, Mana::Event(EVENT_GUIWINDOWSLOADED));
}
-#define del_0(X) { delete X; X = 0; }
+#define del_0(X) { delete X; X = nullptr; }
/**
* Destroy all the globally accessible gui windows
@@ -297,7 +297,7 @@ static void destroyGuiWindows()
{
Mana::Event::trigger(CHANNEL_GAME, Mana::Event(EVENT_GUIWINDOWSUNLOADING));
- logger->setChatWindow(NULL);
+ logger->setChatWindow(nullptr);
if (whoIsOnline)
whoIsOnline->setAllowUpdate(false);
@@ -347,11 +347,11 @@ static void destroyGuiWindows()
guildManager->reload();
}
-Game *Game::mInstance = 0;
+Game *Game::mInstance = nullptr;
Game::Game():
mLastTarget(ActorSprite::UNKNOWN),
- mCurrentMap(0),
+ mCurrentMap(nullptr),
mMapName(""),
mValidSpeed(true),
mLastAction(0),
@@ -365,7 +365,7 @@ Game::Game():
assert(!mInstance);
mInstance = this;
- disconnectedDialog = NULL;
+ disconnectedDialog = nullptr;
mAdjustPerfomance = config.getBoolValue("adjustPerfomance");
@@ -403,12 +403,6 @@ Game::Game():
*/
Net::getGameHandler()->ping(tick_time);
- Joystick::init();
- // TODO: The user should be able to choose which one to use
- // Open the first device
- if (Joystick::getNumberOfJoysticks() > 0)
- joystick = new Joystick(0);
-
if (setupWindow)
setupWindow->setInGame(true);
clearKeysArray();
@@ -437,7 +431,6 @@ Game::~Game()
del_0(channelManager)
del_0(commandHandler)
del_0(effectManager)
- del_0(joystick)
del_0(particleEngine)
del_0(viewport)
del_0(mCurrentMap)
@@ -449,7 +442,7 @@ Game::~Game()
Being::clearCache();
- mInstance = 0;
+ mInstance = nullptr;
Mana::Event::trigger(CHANNEL_GAME, Mana::Event(EVENT_DESTRUCTED));
}
@@ -457,7 +450,7 @@ Game::~Game()
static bool saveScreenshot()
{
static unsigned int screenshotCount = 0;
- SDL_Surface *screenshot = 0;
+ SDL_Surface *screenshot = nullptr;
if (!config.getBoolValue("showip"))
{
@@ -542,7 +535,7 @@ void Game::logic()
if (mCurrentMap)
mCurrentMap->update();
- cur_time = static_cast<int>(time(0));
+ cur_time = static_cast<int>(time(nullptr));
Being::reReadConfig();
if (killStats)
killStats->recalcStats();
@@ -557,23 +550,25 @@ void Game::logic()
return; // Not a problem here
if (Client::getState() != STATE_ERROR)
- errorMessage = _("The connection to the server was lost.");
-
- if (!disconnectedDialog)
{
- if (viewport)
+ errorMessage = _("The connection to the server was lost.");
+ if (!disconnectedDialog)
{
- Map *map = viewport->getCurrentMap();
- if (map)
- map->saveExtraLayer();
+ disconnectedDialog = new OkDialog(_("Network Error"),
+ errorMessage, false);
+ disconnectedDialog->addActionListener(&errorListener);
+ disconnectedDialog->requestMoveToTop();
}
- Client::closeDialogs();
- Client::setFramerate(config.getIntValue("fpslimit"));
- disconnectedDialog = new OkDialog(_("Network Error"),
- errorMessage, false);
- disconnectedDialog->addActionListener(&errorListener);
- disconnectedDialog->requestMoveToTop();
}
+
+ if (viewport)
+ {
+ Map *map = viewport->getCurrentMap();
+ if (map)
+ map->saveExtraLayer();
+ }
+ closeDialogs();
+ Client::setFramerate(config.getIntValue("fpslimit"));
}
else
{
@@ -582,7 +577,7 @@ void Game::logic()
if (disconnectedDialog)
{
disconnectedDialog->scheduleDelete();
- disconnectedDialog = 0;
+ disconnectedDialog = nullptr;
}
}
}
@@ -715,6 +710,7 @@ void Game::handleInput()
if (joystick)
joystick->update();
+ bool wasDown(false);
// Events
SDL_Event event;
while (SDL_PollEvent(&event))
@@ -727,7 +723,8 @@ void Game::handleInput()
// Keyboard events (for discontinuous keys)
if (event.type == SDL_KEYDOWN)
{
- gcn::Window *requestedWindow = NULL;
+ wasDown = true;
+ gcn::Window *requestedWindow = nullptr;
if (setupWindow && setupWindow->isVisible() &&
keyboard.getNewKeyIndex() > keyboard.KEY_NO_VALUE)
@@ -785,7 +782,7 @@ void Game::handleInput()
if (keyboard.isEnabled()
&& !chatWindow->isInputFocused()
&& !setupWindow->isVisible()
- && !player_node->getAwayMode()
+ && !player_node->getAway()
&& !NpcDialog::isAnyInputFocused()
&& !InventoryWindow::isAnyInputFocused())
{
@@ -833,7 +830,7 @@ void Game::handleInput()
if ((!chatWindow || !chatWindow->isInputFocused())
&& !gui->getFocusHandler()->getModalFocused()
- && !player_node->getAwayMode())
+ && !player_node->getAway())
{
NpcDialog *dialog = NpcDialog::getActive();
if (keyboard.isKeyActive(keyboard.KEY_OK)
@@ -844,9 +841,14 @@ void Game::handleInput()
helpWindow->setVisible(false);
// Close the config window, cancelling changes if opened
else if (setupWindow->isVisible())
- setupWindow->action(gcn::ActionEvent(NULL, "cancel"));
+ {
+ setupWindow->action(gcn::ActionEvent(
+ nullptr, "cancel"));
+ }
else if (dialog)
- dialog->action(gcn::ActionEvent(NULL, "ok"));
+ {
+ dialog->action(gcn::ActionEvent(nullptr, "ok"));
+ }
}
if (chatWindow && keyboard.isKeyActive(
keyboard.KEY_TOGGLE_CHAT))
@@ -957,7 +959,7 @@ void Game::handleInput()
&& !gui->getFocusHandler()->getModalFocused()
&& mValidSpeed
&& (!setupWindow || !setupWindow->isVisible())
- && (!player_node || !player_node->getAwayMode())
+ && (!player_node || !player_node->getAway())
&& !NpcDialog::isAnyInputFocused()
&& !InventoryWindow::isAnyInputFocused())
{
@@ -1100,6 +1102,14 @@ void Game::handleInput()
}
break;
+ case KeyboardConfig::KEY_SWITCH_PVP_ATTACK:
+ if (player_node)
+ {
+ if (!player_node->getDisableGameModifiers())
+ player_node->switchPvpAttack();
+ }
+ break;
+
case KeyboardConfig::KEY_CHANGE_MOVE_TO_TARGET:
if (player_node)
{
@@ -1147,7 +1157,7 @@ void Game::handleInput()
if (keyboard.isEnabled()
&& (!chatWindow || !chatWindow->isInputFocused())
&& !NpcDialog::isAnyInputFocused()
- && (!player_node || !player_node->getAwayMode())
+ && (!player_node || !player_node->getAway())
&& !keyboard.isKeyActive(keyboard.KEY_TARGET)
&& !keyboard.isKeyActive(keyboard.KEY_UNTARGET)
&& !InventoryWindow::isAnyInputFocused())
@@ -1367,7 +1377,7 @@ void Game::handleInput()
if (event.active.gain)
{ // window restore
Client::setIsMinimized(false);
- if (!player_node && !player_node->getAwayMode())
+ if (!player_node && !player_node->getAway())
fpsLimit = config.getIntValue("fpslimit");
if (player_node)
player_node->setHalfAway(false);
@@ -1375,7 +1385,7 @@ void Game::handleInput()
else
{ // window minimisation
Client::setIsMinimized(true);
- if (player_node && !player_node->getAwayMode())
+ if (player_node && !player_node->getAway())
{
fpsLimit = config.getIntValue("altfpslimit");
player_node->setHalfAway(true);
@@ -1391,7 +1401,7 @@ void Game::handleInput()
if (event.active.state & SDL_APPMOUSEFOCUS)
Client::setMouseFocused(event.active.gain);
- if (player_node && player_node->getAwayMode())
+ if (player_node && player_node->getAway())
{
if (Client::getInputFocused() || Client::getMouseFocused())
fpsLimit = config.getIntValue("fpslimit");
@@ -1429,7 +1439,7 @@ void Game::handleInput()
} // End while
// If the user is configuring the keys then don't respond.
- if (!player_node || !keyboard.isEnabled() || player_node->getAwayMode())
+ if (!player_node || !keyboard.isEnabled() || player_node->getAway())
return;
if (keyboard.isKeyActive(keyboard.KEY_WEAR_OUTFIT)
@@ -1572,22 +1582,25 @@ void Game::handleInput()
}
}
- if (((player_node->getAttackType() == 0
- && player_node->getFollow().empty()) || event.type == SDL_KEYDOWN)
- && mValidSpeed)
+ bool joyAttack(false);
+ if (joystick && joystick->buttonPressed(0))
+ joyAttack = true;
+
+ if ((((player_node->getAttackType() == 0
+ && player_node->getFollow().empty()) || wasDown)
+ || joyAttack) && mValidSpeed)
{
// Attacking monsters
- if (keyboard.isKeyActive(keyboard.KEY_ATTACK) ||
- (joystick && joystick->buttonPressed(0)))
+ if (keyboard.isKeyActive(keyboard.KEY_ATTACK))
{
if (player_node->getTarget())
player_node->attack(player_node->getTarget(), true);
}
- if (keyboard.isKeyActive(keyboard.KEY_TARGET_ATTACK)
+ if ((keyboard.isKeyActive(keyboard.KEY_TARGET_ATTACK) || joyAttack)
&& !keyboard.isKeyActive(keyboard.KEY_MOVE_TO_TARGET))
{
- Being *target = 0;
+ Being *target = nullptr;
bool newTarget = !keyboard.isKeyActive(keyboard.KEY_TARGET);
// A set target has highest priority
@@ -1668,10 +1681,15 @@ void Game::handleInput()
if (!keyboard.isKeyActive(keyboard.KEY_ATTACK)
&& !keyboard.isKeyActive(keyboard.KEY_EMOTE))
{
- if (keyboard.isKeyActive(keyboard.KEY_TARGET))
+ if (keyboard.isKeyActive(keyboard.KEY_TARGET)
+ || (joystick && joystick->buttonPressed(4)))
+ {
player_node->stopAttack();
+ }
else if (keyboard.isKeyActive(keyboard.KEY_UNTARGET))
+ {
player_node->untarget();
+ }
}
if (joystick)
@@ -1707,7 +1725,7 @@ void Game::changeMap(const std::string &mapPath)
// Unset the map of the player so that its particles are cleared before
// being deleted in the next step
if (player_node)
- player_node->setMap(0);
+ player_node->setMap(nullptr);
if (particleEngine)
particleEngine->clear();
@@ -1870,3 +1888,13 @@ void Game::clearKeysArray()
mLastKeys[f].cnt = 0;
}
}
+
+void Game::closeDialogs()
+{
+ Client::closeDialogs();
+ if (deathNotice)
+ {
+ deathNotice->scheduleDelete();
+ deathNotice = nullptr;
+ }
+}
diff --git a/src/game.h b/src/game.h
index 84dca08e9..2205e30de 100644
--- a/src/game.h
+++ b/src/game.h
@@ -26,6 +26,8 @@
#include <string>
#include "gui/sdlinput.h"
+#include "localconsts.h"
+
#define MAX_LASTKEYS 10
extern volatile int cur_time;
@@ -66,7 +68,7 @@ class Game
{ return mInstance; }
static void clearInstance()
- { mInstance = 0; }
+ { mInstance = nullptr; }
/**
* This method takes the game a small step further. It is called 100
@@ -96,6 +98,8 @@ class Game
void setAdjustLevel(int n)
{ mAdjustLevel = n; }
+ static void closeDialogs();
+
private:
void updateHistory(SDL_Event &event);
diff --git a/src/graphics.cpp b/src/graphics.cpp
index d914b0b00..47b0cae3d 100644
--- a/src/graphics.cpp
+++ b/src/graphics.cpp
@@ -645,7 +645,7 @@ SDL_Surface *Graphics::getScreenshot()
mTarget->h, 24, rmask, gmask, bmask, amask);
if (screenshot)
- SDL_BlitSurface(mTarget, NULL, screenshot, NULL);
+ SDL_BlitSurface(mTarget, nullptr, screenshot, nullptr);
return screenshot;
}
@@ -684,8 +684,8 @@ int Graphics::SDL_FakeUpperBlit(SDL_Surface *src, SDL_Rect *srcrect,
if (src->locked || dst->locked)
return(-1);
- /* If the destination rectangle is NULL, use the entire dest surface */
- if (dstrect == NULL)
+ /* If the destination rectangle is nullptr, use the entire dest surface */
+ if (!dstrect)
{
fulldst.x = 0;
fulldst.y = 0;
diff --git a/src/graphicsvertexes.cpp b/src/graphicsvertexes.cpp
index 90a7bbf38..0e28c2b76 100644
--- a/src/graphicsvertexes.cpp
+++ b/src/graphicsvertexes.cpp
@@ -44,9 +44,9 @@ SDLGraphicsVertexes::~SDLGraphicsVertexes()
#ifdef USE_OPENGL
OpenGLGraphicsVertexes::OpenGLGraphicsVertexes() :
ptr(0),
- mFloatTexArray(0),
- mIntTexArray(0),
- mIntVertArray(0)
+ mFloatTexArray(nullptr),
+ mIntTexArray(nullptr),
+ mIntVertArray(nullptr)
{
mFloatTexPool.reserve(30);
mIntVertPool.reserve(30);
@@ -240,6 +240,6 @@ ImageVertexes::~ImageVertexes()
sdl.clear();
#ifdef USE_OPENGL
delete ogl;
- ogl = 0;
+ ogl = nullptr;
#endif
}
diff --git a/src/graphicsvertexes.h b/src/graphicsvertexes.h
index 5b39dfb08..13b7bf0c8 100644
--- a/src/graphicsvertexes.h
+++ b/src/graphicsvertexes.h
@@ -25,6 +25,7 @@
#include "main.h"
#include "graphics.h"
+#include "localconsts.h"
#ifdef USE_OPENGL
#define NO_SDL_GLEXT
@@ -122,7 +123,7 @@ class ImageVertexes
{
public:
ImageVertexes() :
- image(0)
+ image(nullptr)
{
sdl.reserve(30);
#ifdef USE_OPENGL
diff --git a/src/gui/beingpopup.cpp b/src/gui/beingpopup.cpp
index 98df1ca9a..759d4c245 100644
--- a/src/gui/beingpopup.cpp
+++ b/src/gui/beingpopup.cpp
@@ -130,7 +130,7 @@ void BeingPopup::show(int x, int y, Being *b)
label4 = label3;
label3 = label2;
label2 = label1;
- label1 = 0;
+ label1 = nullptr;
}
if (!(b->getGuildName().empty()))
@@ -143,7 +143,7 @@ void BeingPopup::show(int x, int y, Being *b)
{
label4 = label3;
label3 = label2;
- label2 = 0;
+ label2 = nullptr;
}
if (b->getPvpRank() > 0)
@@ -154,7 +154,7 @@ void BeingPopup::show(int x, int y, Being *b)
else
{
label4 = label3;
- label3 = 0;
+ label3 = nullptr;
}
if (!b->getComment().empty())
@@ -165,7 +165,7 @@ void BeingPopup::show(int x, int y, Being *b)
}
else
{
- label4 = 0;
+ label4 = nullptr;
}
int minWidth = mBeingName->getWidth();
diff --git a/src/gui/botcheckerwindow.cpp b/src/gui/botcheckerwindow.cpp
index 88bc65a78..bff9ad31a 100644
--- a/src/gui/botcheckerwindow.cpp
+++ b/src/gui/botcheckerwindow.cpp
@@ -263,7 +263,7 @@ protected:
BotCheckerWindow::BotCheckerWindow():
- Window(_("Bot Checker"), false, 0, "botchecker.xml"),
+ Window(_("Bot Checker"), false, nullptr, "botchecker.xml"),
mEnabled(false)
{
int w = 500;
diff --git a/src/gui/buydialog.cpp b/src/gui/buydialog.cpp
index 7fad622df..f5e556848 100644
--- a/src/gui/buydialog.cpp
+++ b/src/gui/buydialog.cpp
@@ -55,14 +55,14 @@
BuyDialog::DialogList BuyDialog::instances;
BuyDialog::BuyDialog(int npcId):
- Window(_("Buy"), false, 0, "buy.xml"),
+ Window(_("Buy"), false, nullptr, "buy.xml"),
mNpcId(npcId), mMoney(0), mAmountItems(0), mMaxItems(0), mNick("")
{
init();
}
BuyDialog::BuyDialog(std::string nick):
- Window(_("Buy"), false, 0, "buy.xml"),
+ Window(_("Buy"), false, nullptr, "buy.xml"),
mNpcId(-1), mMoney(0), mAmountItems(0), mMaxItems(0), mNick(nick)
{
init();
@@ -153,7 +153,7 @@ void BuyDialog::init()
BuyDialog::~BuyDialog()
{
delete mShopItems;
- mShopItems = 0;
+ mShopItems = nullptr;
instances.remove(this);
}
diff --git a/src/gui/buyselldialog.cpp b/src/gui/buyselldialog.cpp
index e1063192a..2a614ed74 100644
--- a/src/gui/buyselldialog.cpp
+++ b/src/gui/buyselldialog.cpp
@@ -37,19 +37,19 @@
BuySellDialog::DialogList BuySellDialog::instances;
BuySellDialog::BuySellDialog(int npcId):
- Window(_("Shop"), false, 0, "buysell.xml"),
+ Window(_("Shop"), false, nullptr, "buysell.xml"),
mNpcId(npcId),
mNick(""),
- mBuyButton(0)
+ mBuyButton(nullptr)
{
init();
}
BuySellDialog::BuySellDialog(std::string nick):
- Window(_("Shop"), false, 0, "buysell.xml"),
+ Window(_("Shop"), false, nullptr, "buysell.xml"),
mNpcId(-1),
mNick(nick),
- mBuyButton(0)
+ mBuyButton(nullptr)
{
init();
}
@@ -62,7 +62,7 @@ void BuySellDialog::init()
static const char *buttonNames[] =
{
- N_("Buy"), N_("Sell"), N_("Cancel"), 0
+ N_("Buy"), N_("Sell"), N_("Cancel"), nullptr
};
int x = 10, y = 10;
diff --git a/src/gui/changeemaildialog.cpp b/src/gui/changeemaildialog.cpp
index 384ebf07f..3c412b424 100644
--- a/src/gui/changeemaildialog.cpp
+++ b/src/gui/changeemaildialog.cpp
@@ -45,7 +45,7 @@
#include "debug.h"
ChangeEmailDialog::ChangeEmailDialog(LoginData *data):
- Window(_("Change Email Address"), true, 0, "changeemail.xml"),
+ Window(_("Change Email Address"), true, nullptr, "changeemail.xml"),
mWrongDataNoticeListener(new WrongDataNoticeListener),
mLoginData(data)
{
@@ -102,7 +102,7 @@ ChangeEmailDialog::ChangeEmailDialog(LoginData *data):
ChangeEmailDialog::~ChangeEmailDialog()
{
delete mWrongDataNoticeListener;
- mWrongDataNoticeListener = 0;
+ mWrongDataNoticeListener = nullptr;
}
void ChangeEmailDialog::action(const gcn::ActionEvent &event)
diff --git a/src/gui/changepassworddialog.cpp b/src/gui/changepassworddialog.cpp
index 7a67279b6..a7ebaebca 100644
--- a/src/gui/changepassworddialog.cpp
+++ b/src/gui/changepassworddialog.cpp
@@ -47,7 +47,7 @@
#include "debug.h"
ChangePasswordDialog::ChangePasswordDialog(LoginData *data):
- Window(_("Change Password"), true, 0, "changepassword.xml"),
+ Window(_("Change Password"), true, nullptr, "changepassword.xml"),
mWrongDataNoticeListener(new WrongDataNoticeListener),
mLoginData(data)
{
@@ -82,7 +82,7 @@ ChangePasswordDialog::ChangePasswordDialog(LoginData *data):
ChangePasswordDialog::~ChangePasswordDialog()
{
delete mWrongDataNoticeListener;
- mWrongDataNoticeListener = 0;
+ mWrongDataNoticeListener = nullptr;
}
void ChangePasswordDialog::action(const gcn::ActionEvent &event)
diff --git a/src/gui/charcreatedialog.cpp b/src/gui/charcreatedialog.cpp
index efe7e804f..42435f036 100644
--- a/src/gui/charcreatedialog.cpp
+++ b/src/gui/charcreatedialog.cpp
@@ -63,7 +63,7 @@ CharCreateDialog::CharCreateDialog(CharSelectDialog *parent, int slot):
setStickyButtonLock(true);
setSticky(true);
- mPlayer = new Being(0, ActorSprite::PLAYER, mRace, NULL);
+ mPlayer = new Being(0, ActorSprite::PLAYER, mRace, nullptr);
mPlayer->setGender(GENDER_MALE);
int numberOfHairColors = ColorDB::getHairSize();
@@ -180,10 +180,10 @@ CharCreateDialog::CharCreateDialog(CharSelectDialog *parent, int slot):
CharCreateDialog::~CharCreateDialog()
{
delete mPlayer;
- mPlayer = 0;
+ mPlayer = nullptr;
// Make sure the char server handler knows that we're gone
- Net::getCharHandler()->setCharCreateDialog(0);
+ Net::getCharHandler()->setCharCreateDialog(nullptr);
}
void CharCreateDialog::action(const gcn::ActionEvent &event)
@@ -335,13 +335,13 @@ void CharCreateDialog::setAttributes(const std::vector<std::string> &labels,
{
remove(mAttributeLabel[i]);
delete mAttributeLabel[i];
- mAttributeLabel[i] = 0;
+ mAttributeLabel[i] = nullptr;
remove(mAttributeSlider[i]);
delete mAttributeSlider[i];
- mAttributeSlider[i] = 0;
+ mAttributeSlider[i] = nullptr;
remove(mAttributeValue[i]);
delete mAttributeValue[i];
- mAttributeValue[i] = 0;
+ mAttributeValue[i] = nullptr;
}
mAttributeLabel.resize(labels.size());
diff --git a/src/gui/charselectdialog.cpp b/src/gui/charselectdialog.cpp
index 00cae41e6..93302e0ff 100644
--- a/src/gui/charselectdialog.cpp
+++ b/src/gui/charselectdialog.cpp
@@ -122,14 +122,14 @@ class CharacterDisplay : public Container
};
CharSelectDialog::CharSelectDialog(LoginData *data):
- Window(_("Account and Character Management"), false, 0, "char.xml"),
+ Window(_("Account and Character Management"), false, nullptr, "char.xml"),
mLocked(false),
- mUnregisterButton(0),
- mChangeEmailButton(0),
+ mUnregisterButton(nullptr),
+ mChangeEmailButton(nullptr),
mCharacterEntries(0),
mLoginData(data),
mCharHandler(Net::getCharHandler()),
- mDeleteDialog(0),
+ mDeleteDialog(nullptr),
mDeleteIndex(-1)
{
setCloseButton(false);
@@ -246,7 +246,7 @@ void CharSelectDialog::action(const gcn::ActionEvent &event)
== LoginDialog::savedPassword)
{
attemptCharacterDelete(mDeleteIndex);
- mDeleteDialog = 0;
+ mDeleteDialog = nullptr;
}
else
{
@@ -313,7 +313,7 @@ void CharSelectDialog::setCharacters(const Net::Characters &characters)
for (iter = mCharacterEntries.begin(), iter_end = mCharacterEntries.end();
iter != iter_end; ++iter)
{
- (*iter)->setCharacter(0);
+ (*iter)->setCharacter(nullptr);
}
Net::Characters::const_iterator i, i_end = characters.end();
@@ -399,7 +399,7 @@ bool CharSelectDialog::selectByName(const std::string &name,
CharacterDisplay::CharacterDisplay(CharSelectDialog *charSelectDialog):
- mCharacter(0),
+ mCharacter(nullptr),
mPlayerBox(new PlayerBox)
{
mButton = new Button("wwwwwwwww", "go", charSelectDialog);
@@ -445,7 +445,7 @@ void CharacterDisplay::setCharacter(Net::Character *character)
return;
mCharacter = character;
- mPlayerBox->setPlayer(character ? character->dummy : 0);
+ mPlayerBox->setPlayer(character ? character->dummy : nullptr);
update();
}
diff --git a/src/gui/chatwindow.cpp b/src/gui/chatwindow.cpp
index 7969f55f8..35b89b839 100644
--- a/src/gui/chatwindow.cpp
+++ b/src/gui/chatwindow.cpp
@@ -149,7 +149,7 @@ public:
ChatWindow::ChatWindow():
- Window(_("Chat"), false, 0, "chat.xml"),
+ Window(_("Chat"), false, nullptr, "chat.xml"),
mTmpVisible(false),
mChatHistoryIndex(0)
{
@@ -222,11 +222,11 @@ ChatWindow::~ChatWindow()
config.setValue("ReturnToggles", mReturnToggles);
removeAllWhispers();
delete mItemLinkHandler;
- mItemLinkHandler = 0;
+ mItemLinkHandler = nullptr;
delete mColorPicker;
- mColorPicker = 0;
+ mColorPicker = nullptr;
delete mColorListModel;
- mColorListModel = 0;
+ mColorListModel = nullptr;
}
void ChatWindow::fillCommands()
@@ -294,9 +294,11 @@ void ChatWindow::fillCommands()
mCommands.push_back("/removeattack ");
mCommands.push_back("/addignoreattack ");
mCommands.push_back("/blacklist ");
+ mCommands.push_back("/enemy ");
mCommands.push_back("/serverignoreall");
mCommands.push_back("/serverunignoreall");
mCommands.push_back("/dumpg");
+ mCommands.push_back("/pseudoaway ");
}
void ChatWindow::resetToDefaultSize()
@@ -555,13 +557,13 @@ void ChatWindow::ignoreAllWhispers()
}
delete(iter->second);
- iter->second = 0;
+ iter->second = nullptr;
}
}
void ChatWindow::chatInput(const std::string &message)
{
- ChatTab *tab = NULL;
+ ChatTab *tab = nullptr;
std::string msg = message;
trim(msg);
@@ -937,7 +939,7 @@ void ChatWindow::addWhisper(const std::string &nick,
if (tempNick.compare(playerName) == 0)
return;
- ChatTab *tab = 0;
+ ChatTab *tab = nullptr;
TabMap::const_iterator i = mWhispers.find(tempNick);
if (i != mWhispers.end())
@@ -1004,7 +1006,7 @@ void ChatWindow::addWhisper(const std::string &nick,
{
localChatTab->chatLog(nick + " : " + mes, ACT_WHISPER, false);
if (player_node)
- player_node->afkRespond(0, nick);
+ player_node->afkRespond(nullptr, nick);
}
}
}
@@ -1012,7 +1014,7 @@ void ChatWindow::addWhisper(const std::string &nick,
ChatTab *ChatWindow::addWhisperTab(const std::string &nick, bool switchTo)
{
if (!player_node)
- return NULL;
+ return nullptr;
std::string playerName = player_node->getName();
std::string tempNick = nick;
@@ -1024,7 +1026,7 @@ ChatTab *ChatWindow::addWhisperTab(const std::string &nick, bool switchTo)
ChatTab *ret;
if (tempNick.compare(playerName) == 0)
- return NULL;
+ return nullptr;
if (i != mWhispers.end())
{
@@ -1049,7 +1051,7 @@ ChatTab *ChatWindow::addWhisperTab(const std::string &nick, bool switchTo)
ChatTab *ChatWindow::getWhisperTab(const std::string &nick) const
{
if (!player_node)
- return NULL;
+ return nullptr;
std::string playerName = player_node->getName();
std::string tempNick = nick;
@@ -1058,10 +1060,10 @@ ChatTab *ChatWindow::getWhisperTab(const std::string &nick) const
toLower(tempNick);
TabMap::const_iterator i = mWhispers.find(tempNick);
- ChatTab *ret = 0;
+ ChatTab *ret = nullptr;
if (tempNick.compare(playerName) == 0)
- return NULL;
+ return nullptr;
if (i != mWhispers.end())
ret = i->second;
@@ -1348,8 +1350,8 @@ void ChatWindow::initTradeFilter()
void ChatWindow::updateOnline(std::set<std::string> &onlinePlayers)
{
TabMap::const_iterator iter;
- const Party *party = 0;
- const Guild *guild = 0;
+ const Party *party = nullptr;
+ const Guild *guild = nullptr;
if (player_node)
{
party = player_node->getParty();
@@ -1499,7 +1501,7 @@ void ChatWindow::loadCustomList()
void ChatWindow::addToAwayLog(std::string line)
{
- if (!player_node || !player_node->getAwayMode())
+ if (!player_node || !player_node->getAway())
return;
if (mAwayLog.size() > 20)
diff --git a/src/gui/confirmdialog.cpp b/src/gui/confirmdialog.cpp
index f7f81bd2f..298855563 100644
--- a/src/gui/confirmdialog.cpp
+++ b/src/gui/confirmdialog.cpp
@@ -46,7 +46,7 @@ ConfirmDialog::ConfirmDialog(const std::string &title, const std::string &msg,
gcn::Button *yesButton = new Button(_("Yes"), "yes", this);
gcn::Button *noButton = new Button(_("No"), "no", this);
- gcn::Button *ignoreButton = NULL;
+ gcn::Button *ignoreButton = nullptr;
if (ignore)
ignoreButton = new Button(_("Ignore"), "ignore", this);
diff --git a/src/gui/confirmdialog.h b/src/gui/confirmdialog.h
index 214aaba60..2b5febed0 100644
--- a/src/gui/confirmdialog.h
+++ b/src/gui/confirmdialog.h
@@ -23,6 +23,8 @@
#ifndef OPTION_DIALOG_H
#define OPTION_DIALOG_H
+#include "localconsts.h"
+
#include "gui/widgets/window.h"
#include <guichan/actionlistener.hpp>
@@ -44,7 +46,7 @@ class ConfirmDialog : public Window, public gcn::ActionListener
*/
ConfirmDialog(const std::string &title, const std::string &msg,
bool ignore = false, bool modal = false,
- Window *parent = NULL);
+ Window *parent = nullptr);
/**
* Called when receiving actions from the widgets.
diff --git a/src/gui/debugwindow.cpp b/src/gui/debugwindow.cpp
index 83e9791ef..56a63c72d 100644
--- a/src/gui/debugwindow.cpp
+++ b/src/gui/debugwindow.cpp
@@ -51,7 +51,7 @@
#include "debug.h"
DebugWindow::DebugWindow():
- Window(_("Debug"), false, 0, "debug.xml")
+ Window(_("Debug"), false, nullptr, "debug.xml")
{
setWindowName("Debug");
if (setupWindow)
@@ -85,11 +85,11 @@ DebugWindow::DebugWindow():
DebugWindow::~DebugWindow()
{
delete mMapWidget;
- mMapWidget = 0;
+ mMapWidget = nullptr;
delete mTargetWidget;
- mTargetWidget = 0;
+ mTargetWidget = nullptr;
delete mNetWidget;
- mNetWidget = 0;
+ mNetWidget = nullptr;
}
void DebugWindow::logic()
@@ -139,7 +139,7 @@ void DebugWindow::widgetResized(const gcn::Event &event)
}
MapDebugTab::MapDebugTab() :
- mTexturesLabel(0)
+ mTexturesLabel(nullptr)
{
LayoutHelper h(this);
ContainerPlacer place = h.getPlacer(0, 0);
diff --git a/src/gui/didyouknowwindow.cpp b/src/gui/didyouknowwindow.cpp
index df15e6ebd..9a913a305 100644
--- a/src/gui/didyouknowwindow.cpp
+++ b/src/gui/didyouknowwindow.cpp
@@ -44,7 +44,7 @@ static const int minTip = 1;
static const int maxTip = 14;
DidYouKnowWindow::DidYouKnowWindow():
- Window(_("Did You Know?"), false, 0, "didyouknow.xml")
+ Window(_("Did You Know?"), false, nullptr, "didyouknow.xml")
{
setMinWidth(300);
setMinHeight(250);
diff --git a/src/gui/editdialog.h b/src/gui/editdialog.h
index dc0d1cc63..69f86edca 100644
--- a/src/gui/editdialog.h
+++ b/src/gui/editdialog.h
@@ -24,6 +24,8 @@
#ifndef EDIT_DIALOG_H
#define EDIT_DIALOG_H
+#include "localconsts.h"
+
#include "gui/widgets/window.h"
#include "gui/widgets/textfield.h"
@@ -48,7 +50,7 @@ class EditDialog : public Window, public gcn::ActionListener
*/
EditDialog(const std::string &title, const std::string &msg,
std::string eventOk = ACTION_EDIT_OK, int width = 300,
- Window *parent = NULL, bool modal = true);
+ Window *parent = nullptr, bool modal = true);
/**
* Called when receiving actions from the widgets.
diff --git a/src/gui/emotepopup.cpp b/src/gui/emotepopup.cpp
index 6d2bf7be2..a8c92ed47 100644
--- a/src/gui/emotepopup.cpp
+++ b/src/gui/emotepopup.cpp
@@ -80,7 +80,7 @@ EmotePopup::~EmotePopup()
if (mSelectionImage)
{
mSelectionImage->decRef();
- mSelectionImage = 0;
+ mSelectionImage = nullptr;
}
}
diff --git a/src/gui/equipmentwindow.cpp b/src/gui/equipmentwindow.cpp
index f423cddf0..d3d230922 100644
--- a/src/gui/equipmentwindow.cpp
+++ b/src/gui/equipmentwindow.cpp
@@ -58,7 +58,7 @@ static const int BOX_HEIGHT = 36;
EquipmentWindow::EquipmentWindow(Equipment *equipment, Being *being,
bool foring):
- Window(_("Equipment"), false, 0, "equipment.xml"),
+ Window(_("Equipment"), false, nullptr, "equipment.xml"),
mEquipment(equipment),
mSelected(-1),
mForing(foring)
@@ -86,7 +86,7 @@ EquipmentWindow::EquipmentWindow(Equipment *equipment, Being *being,
mBoxes.reserve(13);
for (int f = 0; f < 13; f ++)
- mBoxes.push_back(0);
+ mBoxes.push_back(nullptr);
fillBoxes();
@@ -109,13 +109,13 @@ EquipmentWindow::EquipmentWindow(Equipment *equipment, Being *being,
EquipmentWindow::~EquipmentWindow()
{
delete mItemPopup;
- mItemPopup = 0;
+ mItemPopup = nullptr;
if (this == beingEquipmentWindow)
{
if (mEquipment)
delete mEquipment->getBackend();
delete mEquipment;
- mEquipment = 0;
+ mEquipment = nullptr;
}
delete_all(mBoxes);
mBoxes.clear();
@@ -198,7 +198,7 @@ void EquipmentWindow::action(const gcn::ActionEvent &event)
Item *EquipmentWindow::getItem(int x, int y) const
{
if (!mEquipment)
- return 0;
+ return nullptr;
std::vector<std::pair<int, int>*>::const_iterator it;
std::vector<std::pair<int, int>*>::const_iterator it_end = mBoxes.end();
@@ -215,7 +215,7 @@ Item *EquipmentWindow::getItem(int x, int y) const
if (tRect.isPointInRect(x, y))
return mEquipment->getEquipment(i);
}
- return NULL;
+ return nullptr;
}
void EquipmentWindow::mousePressed(gcn::MouseEvent& mouseEvent)
@@ -322,7 +322,7 @@ void EquipmentWindow::setBeing(Being *being)
delete mEquipment;
if (!being)
{
- mEquipment = 0;
+ mEquipment = nullptr;
return;
}
mEquipment = being->getEquipment();
@@ -337,7 +337,7 @@ void EquipmentWindow::updateBeing(Being *being)
void EquipmentWindow::resetBeing(Being *being)
{
if (being == mBeing)
- setBeing(0);
+ setBeing(nullptr);
}
void EquipmentWindow::fillBoxes()
diff --git a/src/gui/focushandler.cpp b/src/gui/focushandler.cpp
index ec854cf87..40fa2f4ed 100644
--- a/src/gui/focushandler.cpp
+++ b/src/gui/focushandler.cpp
@@ -34,7 +34,7 @@ void FocusHandler::requestModalFocus(gcn::Widget *widget)
if (mModalFocusedWidget && mModalFocusedWidget != widget)
{
mModalStack.push_front(mModalFocusedWidget);
- mModalFocusedWidget = NULL;
+ mModalFocusedWidget = nullptr;
}
gcn::FocusHandler::requestModalFocus(widget);
diff --git a/src/gui/gui.cpp b/src/gui/gui.cpp
index 658d65769..b3154fb25 100644
--- a/src/gui/gui.cpp
+++ b/src/gui/gui.cpp
@@ -48,11 +48,11 @@
#include "debug.h"
// Guichan stuff
-Gui *gui = 0;
-SDLInput *guiInput = 0;
+Gui *gui = nullptr;
+SDLInput *guiInput = nullptr;
// Bolded font
-gcn::Font *boldFont = 0;
+gcn::Font *boldFont = nullptr;
class GuiConfigListener : public ConfigListener
{
@@ -75,7 +75,7 @@ class GuiConfigListener : public ConfigListener
Gui::Gui(Graphics *graphics):
mCustomCursor(false),
- mMouseCursors(NULL),
+ mMouseCursors(nullptr),
mMouseCursorAlpha(1.0f),
mMouseInactivityTimer(0),
mCursorType(CURSOR_POINTER)
@@ -205,28 +205,28 @@ Gui::~Gui()
{
config.removeListener("customcursor", mConfigListener);
delete mConfigListener;
- mConfigListener = 0;
+ mConfigListener = nullptr;
if (mMouseCursors)
{
mMouseCursors->decRef();
- mMouseCursors = 0;
+ mMouseCursors = nullptr;
}
delete mGuiFont;
- mGuiFont = 0;
+ mGuiFont = nullptr;
delete boldFont;
- boldFont = 0;
+ boldFont = nullptr;
delete mHelpFont;
- mHelpFont = 0;
+ mHelpFont = nullptr;
delete mSecureFont;
- mSecureFont = 0;
+ mSecureFont = nullptr;
delete mInfoParticleFont;
- mInfoParticleFont = 0;
+ mInfoParticleFont = nullptr;
delete getTop();
delete guiInput;
- guiInput = 0;
+ guiInput = nullptr;
Theme::deleteInstance();
}
@@ -306,7 +306,7 @@ void Gui::setUseCustomCursor(bool customCursor)
if (mMouseCursors)
{
mMouseCursors->decRef();
- mMouseCursors = NULL;
+ mMouseCursors = nullptr;
}
}
}
@@ -357,13 +357,13 @@ void Gui::distributeMouseEvent(gcn::Widget* source, int type, int button,
gcn::Widget* parent = source;
gcn::Widget* widget = source;
- if (!force && mFocusHandler->getModalFocused() != NULL
+ if (!force && mFocusHandler->getModalFocused() != nullptr
&& !widget->isModalFocused())
{
return;
}
- if (!force && mFocusHandler->getModalMouseInputFocused() != NULL
+ if (!force && mFocusHandler->getModalMouseInputFocused() != nullptr
&& !widget->isModalMouseInputFocused())
{
return;
@@ -373,7 +373,7 @@ void Gui::distributeMouseEvent(gcn::Widget* source, int type, int button,
mAltPressed, mMetaPressed, type, button,
x, y, mClickCount);
- while (parent != NULL)
+ while (parent)
{
// If the widget has been removed due to input
// cancel the distribution.
@@ -443,7 +443,7 @@ void Gui::distributeMouseEvent(gcn::Widget* source, int type, int button,
// If a non modal focused widget has been reach
// and we have modal focus cancel the distribution.
- if (mFocusHandler->getModalFocused() != NULL
+ if (mFocusHandler->getModalFocused()
&& !widget->isModalFocused())
{
break;
@@ -451,7 +451,7 @@ void Gui::distributeMouseEvent(gcn::Widget* source, int type, int button,
// If a non modal mouse input focused widget has been reach
// and we have modal mouse input focus cancel the distribution.
- if (mFocusHandler->getModalMouseInputFocused() != NULL
+ if (mFocusHandler->getModalMouseInputFocused()
&& !widget->isModalMouseInputFocused())
{
break;
diff --git a/src/gui/helpwindow.cpp b/src/gui/helpwindow.cpp
index 019baf503..49f309bca 100644
--- a/src/gui/helpwindow.cpp
+++ b/src/gui/helpwindow.cpp
@@ -40,7 +40,7 @@
#include "debug.h"
HelpWindow::HelpWindow():
- Window(_("Help"), false, 0, "help.xml")
+ Window(_("Help"), false, nullptr, "help.xml")
{
setMinWidth(300);
setMinHeight(250);
diff --git a/src/gui/inventorywindow.cpp b/src/gui/inventorywindow.cpp
index f52151698..8ffebebff 100644
--- a/src/gui/inventorywindow.cpp
+++ b/src/gui/inventorywindow.cpp
@@ -96,7 +96,7 @@ public:
InventoryWindow::WindowList InventoryWindow::instances;
InventoryWindow::InventoryWindow(Inventory *inventory):
- Window("Inventory", false, 0, "inventory.xml"),
+ Window("Inventory", false, nullptr, "inventory.xml"),
mInventory(inventory),
mDropButton(0),
mSplit(false),
@@ -238,7 +238,7 @@ InventoryWindow::InventoryWindow(Inventory *inventory):
loadWindowState();
slotsChanged(mInventory);
- widgetResized(0);
+ widgetResized(nullptr);
if (!isMainInventory())
setVisible(true);
}
@@ -250,7 +250,7 @@ InventoryWindow::~InventoryWindow()
if (!instances.empty())
instances.front()->updateDropButton();
delete mSortModel;
- mSortModel = 0;
+ mSortModel = nullptr;
}
void InventoryWindow::action(const gcn::ActionEvent &event)
@@ -644,7 +644,7 @@ void InventoryWindow::updateDropButton()
}
else
{
- Item *item = 0;
+ Item *item = nullptr;
if (mItems)
item = mItems->getSelectedItem();
diff --git a/src/gui/itemamountwindow.cpp b/src/gui/itemamountwindow.cpp
index 7c5b19415..a80434ac0 100644
--- a/src/gui/itemamountwindow.cpp
+++ b/src/gui/itemamountwindow.cpp
@@ -138,13 +138,13 @@ void ItemAmountWindow::finish(Item *item, int amount, int price, Usage usage)
ItemAmountWindow::ItemAmountWindow(Usage usage, Window *parent, Item *item,
int maxRange):
Window("", true, parent, "amount.xml"),
- mItemPriceTextField(0),
- mGPLabel(0),
+ mItemPriceTextField(nullptr),
+ mGPLabel(nullptr),
mItem(item),
mMax(maxRange),
mUsage(usage),
- mItemPriceSlide(0),
- mItemsModal(0),
+ mItemPriceSlide(nullptr),
+ mItemsModal(nullptr),
mPrice(0)
{
if (!mItem)
@@ -293,7 +293,7 @@ ItemAmountWindow::ItemAmountWindow(Usage usage, Window *parent, Item *item,
ItemAmountWindow::~ItemAmountWindow()
{
delete mItemPopup;
- mItemPopup = 0;
+ mItemPopup = nullptr;
}
// Show ItemTooltip
diff --git a/src/gui/itempopup.cpp b/src/gui/itempopup.cpp
index b05d7fe28..2e87cd544 100644
--- a/src/gui/itempopup.cpp
+++ b/src/gui/itempopup.cpp
@@ -50,7 +50,7 @@
ItemPopup::ItemPopup():
Popup("ItemPopup", "itempopup.xml"),
- mIcon(0),
+ mIcon(nullptr),
mLastName(""),
mLastColor(1)
{
@@ -76,7 +76,7 @@ ItemPopup::ItemPopup():
mItemWeight->setEditable(false);
mItemWeight->setPosition(getPadding(), 3 * fontHeight + 4 * getPadding());
- mIcon = new Icon(0);
+ mIcon = new Icon(nullptr);
add(mItemName);
add(mItemDesc);
@@ -95,7 +95,7 @@ ItemPopup::~ItemPopup()
if (image)
{
image->decRef();
- image = 0;
+ image = nullptr;
}
}
}
@@ -164,7 +164,7 @@ void ItemPopup::setItem(const ItemInfo &item, unsigned char color,
}
else
{
- mIcon->setImage(0);
+ mIcon->setImage(nullptr);
}
mItemType = item.getType();
diff --git a/src/gui/killstats.cpp b/src/gui/killstats.cpp
index 4bcab0a09..fa6241ef6 100644
--- a/src/gui/killstats.cpp
+++ b/src/gui/killstats.cpp
@@ -43,7 +43,7 @@
#include "debug.h"
KillStats::KillStats():
- Window(_("Kill stats"), false, 0, "killstats.xml"),
+ Window(_("Kill stats"), false, nullptr, "killstats.xml"),
mKillCounter(0), mExpCounter(0),
mKillTCounter(0), mExpTCounter(0), mKillTimer(0),
m1minExpTime(0), m1minExpNum(0), m1minSpeed(0),
diff --git a/src/gui/logindialog.cpp b/src/gui/logindialog.cpp
index 136a01b37..86b3dc28b 100644
--- a/src/gui/logindialog.cpp
+++ b/src/gui/logindialog.cpp
@@ -83,7 +83,7 @@ public:
LoginDialog::LoginDialog(LoginData *data, std::string serverName,
std::string *updateHost):
- Window(_("Login"), false, 0, "login.xml"),
+ Window(_("Login"), false, nullptr, "login.xml"),
mLoginData(data),
mUpdateHost(updateHost),
mServerName(serverName)
@@ -166,7 +166,7 @@ LoginDialog::LoginDialog(LoginData *data, std::string serverName,
LoginDialog::~LoginDialog()
{
delete mUpdateTypeModel;
- mUpdateTypeModel = 0;
+ mUpdateTypeModel = nullptr;
}
void LoginDialog::action(const gcn::ActionEvent &event)
@@ -226,9 +226,9 @@ void LoginDialog::keyPressed(gcn::KeyEvent &keyEvent)
gcn::Key key = keyEvent.getKey();
if (key.getValue() == Key::ESCAPE)
- action(gcn::ActionEvent(NULL, mServerButton->getActionEventId()));
+ action(gcn::ActionEvent(nullptr, mServerButton->getActionEventId()));
else if (key.getValue() == Key::ENTER)
- action(gcn::ActionEvent(NULL, mLoginButton->getActionEventId()));
+ action(gcn::ActionEvent(nullptr, mLoginButton->getActionEventId()));
else
mLoginButton->setEnabled(canSubmit());
}
diff --git a/src/gui/minimap.cpp b/src/gui/minimap.cpp
index e42f12336..d890a462f 100644
--- a/src/gui/minimap.cpp
+++ b/src/gui/minimap.cpp
@@ -47,8 +47,8 @@
bool Minimap::mShow = true;
Minimap::Minimap():
- Window(_("Map"), false, 0, "map.xml"),
- mMapImage(0),
+ Window(_("Map"), false, nullptr, "map.xml"),
+ mMapImage(nullptr),
mWidthProportion(0.5),
mHeightProportion(0.5),
mCustomMapImage(false),
@@ -83,7 +83,7 @@ Minimap::~Minimap()
delete mMapImage;
else
mMapImage->decRef();
- mMapImage = 0;
+ mMapImage = nullptr;
}
}
@@ -107,7 +107,7 @@ void Minimap::setMap(Map *map)
delete mMapImage;
else
mMapImage->decRef();
- mMapImage = 0;
+ mMapImage = nullptr;
}
if (map)
diff --git a/src/gui/ministatuswindow.cpp b/src/gui/ministatuswindow.cpp
index 3e66f42cb..665d2b61b 100644
--- a/src/gui/ministatuswindow.cpp
+++ b/src/gui/ministatuswindow.cpp
@@ -67,7 +67,7 @@ MiniStatusWindow::MiniStatusWindow():
}
else
{
- mMpBar = 0;
+ mMpBar = nullptr;
}
int job = Net::getPlayerHandler()->getJobLocation()
@@ -85,7 +85,7 @@ MiniStatusWindow::MiniStatusWindow():
}
else
{
- mJobBar = 0;
+ mJobBar = nullptr;
}
mWeightBar = createBar(0, 140, 20, Theme::PROG_WEIGHT,
@@ -100,7 +100,7 @@ MiniStatusWindow::MiniStatusWindow():
mArrowsBar = createBar(0, 50, 20, Theme::PROG_INVY_SLOTS,
"arrows bar", _("arrows bar"));
- mStatusBar = createBar(100, 150, 20, Theme::PROG_EXP,
+ mStatusBar = createBar(100, 165, 20, Theme::PROG_EXP,
"status bar", _("status bar"));
loadBars();
@@ -124,9 +124,9 @@ MiniStatusWindow::MiniStatusWindow():
MiniStatusWindow::~MiniStatusWindow()
{
delete mTextPopup;
- mTextPopup = 0;
+ mTextPopup = nullptr;
delete mStatusPopup;
- mStatusPopup = 0;
+ mStatusPopup = nullptr;
delete_all(mIcons);
mIcons.clear();
@@ -161,7 +161,7 @@ void MiniStatusWindow::updateBars()
{
int x = 0;
std::vector <ProgressBar*>::const_iterator it, it_end;
- ProgressBar* lastBar = 0;
+ ProgressBar* lastBar = nullptr;
for (it = mBars.begin(), it_end = mBars.end(); it != it_end; ++it)
safeRemove(*it);
for (it = mBars.begin(), it_end = mBars.end(); it != it_end; ++it)
diff --git a/src/gui/npcdialog.cpp b/src/gui/npcdialog.cpp
index b926d260e..66a30c8a7 100644
--- a/src/gui/npcdialog.cpp
+++ b/src/gui/npcdialog.cpp
@@ -55,14 +55,14 @@
NpcDialog::DialogList NpcDialog::instances;
-NpcDialog::NpcDialog(int npcId)
- : Window(_("NPC"), false, 0, "npc.xml"),
- mNpcId(npcId),
- mLogInteraction(config.getBoolValue("logNpcInGui")),
- mDefaultInt(0),
- mInputState(NPC_INPUT_NONE),
- mActionState(NPC_ACTION_WAIT),
- mLastNextTime(0)
+NpcDialog::NpcDialog(int npcId) :
+ Window(_("NPC"), false, nullptr, "npc.xml"),
+ mNpcId(npcId),
+ mLogInteraction(config.getBoolValue("logNpcInGui")),
+ mDefaultInt(0),
+ mInputState(NPC_INPUT_NONE),
+ mActionState(NPC_ACTION_WAIT),
+ mLastNextTime(0)
{
// Basic Window Setup
setWindowName("NpcText");
@@ -143,32 +143,32 @@ NpcDialog::~NpcDialog()
clearLayout();
delete mTextBox;
- mTextBox = 0;
+ mTextBox = nullptr;
delete mClearButton;
- mClearButton = 0;
+ mClearButton = nullptr;
delete mButton;
- mButton = 0;
+ mButton = nullptr;
// These might not actually be in the layout, so lets be safe
delete mScrollArea;
- mScrollArea = 0;
+ mScrollArea = nullptr;
delete mItemList;
- mItemList = 0;
+ mItemList = nullptr;
delete mTextField;
- mTextField = 0;
+ mTextField = nullptr;
delete mIntField;
- mIntField = 0;
+ mIntField = nullptr;
delete mResetButton;
- mResetButton = 0;
+ mResetButton = nullptr;
delete mPlusButton;
- mPlusButton = 0;
+ mPlusButton = nullptr;
delete mMinusButton;
- mMinusButton = 0;
+ mMinusButton = nullptr;
delete mItemLinkHandler;
- mItemLinkHandler = 0;
+ mItemLinkHandler = nullptr;
delete mListScrollArea;
- mListScrollArea = 0;
+ mListScrollArea = nullptr;
instances.remove(this);
}
@@ -432,7 +432,7 @@ NpcDialog *NpcDialog::getActive()
return (*it);
}
- return 0;
+ return nullptr;
}
void NpcDialog::closeAll()
diff --git a/src/gui/npcpostdialog.cpp b/src/gui/npcpostdialog.cpp
index 67fc57ba9..ada48e832 100644
--- a/src/gui/npcpostdialog.cpp
+++ b/src/gui/npcpostdialog.cpp
@@ -39,7 +39,7 @@
NpcPostDialog::DialogList NpcPostDialog::instances;
NpcPostDialog::NpcPostDialog(int npcId):
- Window(_("NPC"), false, 0, "npcpost.xml"),
+ Window(_("NPC"), false, nullptr, "npcpost.xml"),
mNpcId(npcId)
{
setContentSize(400, 180);
diff --git a/src/gui/okdialog.h b/src/gui/okdialog.h
index 2ee8653ec..2f32d0d65 100644
--- a/src/gui/okdialog.h
+++ b/src/gui/okdialog.h
@@ -23,6 +23,8 @@
#ifndef OK_DIALOG_H
#define OK_DIALOG_H
+#include "localconsts.h"
+
#include "gui/widgets/window.h"
#include <guichan/actionlistener.hpp>
@@ -44,7 +46,7 @@ class OkDialog : public Window, public gcn::ActionListener
*/
OkDialog(const std::string &title, const std::string &msg,
bool modal = true, bool showCenter = true,
- Window *parent = NULL);
+ Window *parent = nullptr);
/**
* Called when receiving actions from the widgets.
diff --git a/src/gui/outfitwindow.cpp b/src/gui/outfitwindow.cpp
index 8e0791af1..c33c753bc 100644
--- a/src/gui/outfitwindow.cpp
+++ b/src/gui/outfitwindow.cpp
@@ -57,13 +57,13 @@
float OutfitWindow::mAlpha = 1.0;
OutfitWindow::OutfitWindow():
- Window(_("Outfits"), false, 0, "outfits.xml"),
+ Window(_("Outfits"), false, nullptr, "outfits.xml"),
mBoxWidth(33),
mBoxHeight(33),
mGridWidth(4),
mGridHeight(3),
mItemClicked(false),
- mItemMoved(NULL),
+ mItemMoved(nullptr),
mItemSelected(-1),
mItemColorSelected(1),
mCurrentOutfit(0),
@@ -383,7 +383,7 @@ void OutfitWindow::mouseDragged(gcn::MouseEvent &event)
if (item)
mItemMoved = item;
else
- mItemMoved = 0;
+ mItemMoved = nullptr;
mItems[mCurrentOutfit][index] = -1;
}
}
@@ -433,7 +433,7 @@ void OutfitWindow::mouseReleased(gcn::MouseEvent &event)
const int index = getIndexFromGrid(event.getX(), event.getY());
if (index == -1)
{
- mItemMoved = NULL;
+ mItemMoved = nullptr;
Window::mouseReleased(event);
return;
}
@@ -443,7 +443,7 @@ void OutfitWindow::mouseReleased(gcn::MouseEvent &event)
{
mItems[mCurrentOutfit][index] = mItemMoved->getId();
mItemColors[mCurrentOutfit][index] = mItemMoved->getColor();
- mItemMoved = NULL;
+ mItemMoved = nullptr;
}
if (mItemClicked)
mItemClicked = false;
diff --git a/src/gui/popupmenu.cpp b/src/gui/popupmenu.cpp
index d7c7e54df..b133f66fc 100644
--- a/src/gui/popupmenu.cpp
+++ b/src/gui/popupmenu.cpp
@@ -85,15 +85,15 @@ std::string tradePartnerName("");
PopupMenu::PopupMenu():
Popup("PopupMenu", "popupmenu.xml"),
mBeingId(0),
- mFloorItem(0),
- mItem(0),
+ mFloorItem(nullptr),
+ mItem(nullptr),
mItemId(0),
mItemColor(1),
- mMapItem(0),
- mTab(0),
- mSpell(0),
- mDialog(0),
- mButton(0),
+ mMapItem(nullptr),
+ mTab(nullptr),
+ mSpell(nullptr),
+ mDialog(nullptr),
+ mButton(nullptr),
mNick(""),
mType(Being::UNKNOWN)
{
@@ -102,10 +102,10 @@ PopupMenu::PopupMenu():
mBrowserBox->setHighlightMode(BrowserBox::BACKGROUND);
mBrowserBox->setOpaque(false);
mBrowserBox->setLinkHandler(this);
- mRenameListener.setMapItem(0);
- mRenameListener.setDialog(0);
+ mRenameListener.setMapItem(nullptr);
+ mRenameListener.setDialog(nullptr);
mPlayerListener.setNick("");
- mPlayerListener.setDialog(0);
+ mPlayerListener.setDialog(nullptr);
mPlayerListener.setType(Being::UNKNOWN);
add(mBrowserBox);
@@ -145,6 +145,7 @@ void PopupMenu::showPopup(int x, int y, Being *being)
mBrowserBox->addRow("disregard", _("Disregard"));
mBrowserBox->addRow("ignore", _("Ignore"));
mBrowserBox->addRow("blacklist", _("Black list"));
+ mBrowserBox->addRow("enemy", _("Set as enemy"));
mBrowserBox->addRow("erase", _("Erase"));
break;
@@ -152,6 +153,7 @@ void PopupMenu::showPopup(int x, int y, Being *being)
mBrowserBox->addRow("disregard", _("Disregard"));
mBrowserBox->addRow("ignore", _("Ignore"));
mBrowserBox->addRow("blacklist", _("Black list"));
+ mBrowserBox->addRow("enemy", _("Set as enemy"));
mBrowserBox->addRow("erase", _("Erase"));
break;
@@ -159,6 +161,15 @@ void PopupMenu::showPopup(int x, int y, Being *being)
mBrowserBox->addRow("unignore", _("Unignore"));
mBrowserBox->addRow("disregard", _("Disregard"));
mBrowserBox->addRow("ignore", _("Ignore"));
+ mBrowserBox->addRow("enemy", _("Set as enemy"));
+ mBrowserBox->addRow("erase", _("Erase"));
+ break;
+
+ case PlayerRelation::ENEMY2:
+ mBrowserBox->addRow("unignore", _("Unignore"));
+ mBrowserBox->addRow("disregard", _("Disregard"));
+ mBrowserBox->addRow("ignore", _("Ignore"));
+ mBrowserBox->addRow("blacklist", _("Black list"));
mBrowserBox->addRow("erase", _("Erase"));
break;
@@ -379,6 +390,7 @@ void PopupMenu::showPlayerPopup(int x, int y, std::string nick)
mBrowserBox->addRow("disregard", _("Disregard"));
mBrowserBox->addRow("ignore", _("Ignore"));
mBrowserBox->addRow("blacklist", _("Black list"));
+ mBrowserBox->addRow("enemy", _("Set as enemy"));
mBrowserBox->addRow("erase", _("Erase"));
break;
@@ -386,6 +398,7 @@ void PopupMenu::showPlayerPopup(int x, int y, std::string nick)
mBrowserBox->addRow("disregard", _("Disregard"));
mBrowserBox->addRow("ignore", _("Ignore"));
mBrowserBox->addRow("blacklist", _("Black list"));
+ mBrowserBox->addRow("enemy", _("Set as enemy"));
mBrowserBox->addRow("erase", _("Erase"));
break;
@@ -393,6 +406,7 @@ void PopupMenu::showPlayerPopup(int x, int y, std::string nick)
mBrowserBox->addRow("unignore", _("Unignore"));
mBrowserBox->addRow("disregard", _("Disregard"));
mBrowserBox->addRow("ignore", _("Ignore"));
+ mBrowserBox->addRow("enemy", _("Set as enemy"));
mBrowserBox->addRow("erase", _("Erase"));
break;
@@ -407,6 +421,14 @@ void PopupMenu::showPlayerPopup(int x, int y, std::string nick)
mBrowserBox->addRow("erase", _("Erase"));
break;
+ case PlayerRelation::ENEMY2:
+ mBrowserBox->addRow("unignore", _("Unignore"));
+ mBrowserBox->addRow("disregard", _("Disregard"));
+ mBrowserBox->addRow("ignore", _("Ignore"));
+ mBrowserBox->addRow("blacklist", _("Black list"));
+ mBrowserBox->addRow("erase", _("Erase"));
+ break;
+
case PlayerRelation::ERASED:
mBrowserBox->addRow("unignore", _("Unignore"));
mBrowserBox->addRow("disregard", _("Disregard"));
@@ -625,6 +647,7 @@ void PopupMenu::showChatPopup(int x, int y, ChatTab *tab)
mBrowserBox->addRow("disregard", _("Disregard"));
mBrowserBox->addRow("ignore", _("Ignore"));
mBrowserBox->addRow("blacklist", _("Black list"));
+ mBrowserBox->addRow("enemy", _("Set as enemy"));
mBrowserBox->addRow("erase", _("Erase"));
break;
@@ -632,6 +655,7 @@ void PopupMenu::showChatPopup(int x, int y, ChatTab *tab)
mBrowserBox->addRow("disregard", _("Disregard"));
mBrowserBox->addRow("ignore", _("Ignore"));
mBrowserBox->addRow("blacklist", _("Black list"));
+ mBrowserBox->addRow("enemy", _("Set as enemy"));
mBrowserBox->addRow("erase", _("Erase"));
break;
@@ -639,6 +663,7 @@ void PopupMenu::showChatPopup(int x, int y, ChatTab *tab)
mBrowserBox->addRow("unignore", _("Unignore"));
mBrowserBox->addRow("disregard", _("Disregard"));
mBrowserBox->addRow("ignore", _("Ignore"));
+ mBrowserBox->addRow("enemy", _("Set as enemy"));
mBrowserBox->addRow("erase", _("Erase"));
break;
@@ -648,6 +673,14 @@ void PopupMenu::showChatPopup(int x, int y, ChatTab *tab)
mBrowserBox->addRow("erase", _("Erase"));
break;
+ case PlayerRelation::ENEMY2:
+ mBrowserBox->addRow("unignore", _("Unignore"));
+ mBrowserBox->addRow("disregard", _("Disregard"));
+ mBrowserBox->addRow("ignore", _("Ignore"));
+ mBrowserBox->addRow("blacklist", _("Black list"));
+ mBrowserBox->addRow("erase", _("Erase"));
+ break;
+
case PlayerRelation::IGNORED:
mBrowserBox->addRow("unignore", _("Unignore"));
mBrowserBox->addRow("erase", _("Erase"));
@@ -800,9 +833,9 @@ void PopupMenu::showChangePos(int x, int y)
else
{
mBeingId = 0;
- mFloorItem = 0;
- mItem = 0;
- mMapItem = 0;
+ mFloorItem = nullptr;
+ mItem = nullptr;
+ mMapItem = nullptr;
mNick = "";
mType = Being::UNKNOWN;
setVisible(false);
@@ -895,6 +928,16 @@ void PopupMenu::handleLink(const std::string &link,
{
player_relations.setRelation(mNick, PlayerRelation::BLACKLISTED);
}
+ else if (link == "enemy" && being &&
+ being->getType() == ActorSprite::PLAYER)
+ {
+ player_relations.setRelation(being->getName(),
+ PlayerRelation::ENEMY2);
+ }
+ else if (link == "enemy" && !mNick.empty())
+ {
+ player_relations.setRelation(mNick, PlayerRelation::ENEMY2);
+ }
else if (link == "erase" && being &&
being->getType() == ActorSprite::PLAYER)
{
@@ -1640,11 +1683,11 @@ void PopupMenu::handleLink(const std::string &link,
setVisible(false);
mBeingId = 0;
- mFloorItem = 0;
- mItem = 0;
+ mFloorItem = nullptr;
+ mItem = nullptr;
mItemId = 0;
mItemColor = 1;
- mMapItem = 0;
+ mMapItem = nullptr;
mNick = "";
mType = Being::UNKNOWN;
}
@@ -1747,7 +1790,7 @@ void PopupMenu::showItemPopup(int x, int y, int itemId, unsigned char color)
}
else
{
- mItem = 0;
+ mItem = nullptr;
mItemId = itemId;
mItemColor = color;
mBrowserBox->clearRows();
@@ -2023,8 +2066,8 @@ void PopupMenu::showPopup(int x, int y)
}
RenameListener::RenameListener() :
- mMapItem(0),
- mDialog(0)
+ mMapItem(nullptr),
+ mDialog(nullptr)
{
}
@@ -2037,7 +2080,7 @@ void RenameListener::action(const gcn::ActionEvent &event)
return;
SpecialLayer *sl = map->getSpecialLayer();
- MapItem *item = 0;
+ MapItem *item = nullptr;
if (sl)
{
item = sl->getTile(mMapItem->getX(), mMapItem->getY());
@@ -2056,12 +2099,12 @@ void RenameListener::action(const gcn::ActionEvent &event)
if (socialWindow)
socialWindow->updatePortalNames();
}
- mDialog = 0;
+ mDialog = nullptr;
}
PlayerListener::PlayerListener() :
mNick(""),
- mDialog(0),
+ mDialog(nullptr),
mType(Being::UNKNOWN)
{
}
@@ -2077,5 +2120,5 @@ void PlayerListener::action(const gcn::ActionEvent &event)
being->setComment(comment);
Being::saveComment(mNick, comment, mType);
}
- mDialog = 0;
+ mDialog = nullptr;
}
diff --git a/src/gui/quitdialog.cpp b/src/gui/quitdialog.cpp
index 05691c2d2..450cfd86e 100644
--- a/src/gui/quitdialog.cpp
+++ b/src/gui/quitdialog.cpp
@@ -44,7 +44,7 @@
#include "debug.h"
QuitDialog::QuitDialog(QuitDialog** pointerToMe):
- Window(_("Quit"), true, 0, "quit.xml"),
+ Window(_("Quit"), true, nullptr, "quit.xml"),
mMyPointer(pointerToMe)
{
mForceQuit = new RadioButton(_("Quit"), "quitdialog");
@@ -98,16 +98,16 @@ QuitDialog::QuitDialog(QuitDialog** pointerToMe):
QuitDialog::~QuitDialog()
{
if (mMyPointer)
- *mMyPointer = 0;
+ *mMyPointer = nullptr;
// Optional widgets, so delete them by hand.
delete mForceQuit;
- mForceQuit = 0;
+ mForceQuit = nullptr;
delete mLogoutQuit;
- mLogoutQuit = 0;
+ mLogoutQuit = nullptr;
delete mSwitchAccountServer;
- mSwitchAccountServer = 0;
+ mSwitchAccountServer = nullptr;
delete mSwitchCharacter;
- mSwitchCharacter = 0;
+ mSwitchCharacter = nullptr;
}
void QuitDialog::placeOption(ContainerPlacer &placer, gcn::RadioButton *option)
@@ -133,13 +133,13 @@ void QuitDialog::action(const gcn::ActionEvent &event)
}
else if (mLogoutQuit->isSelected())
{
- Client::closeDialogs();
+ Game::closeDialogs();
Client::setState(STATE_EXIT);
}
else if (Net::getGameHandler()->isConnected()
&& mSwitchAccountServer->isSelected())
{
- Client::closeDialogs();
+ Game::closeDialogs();
Client::setState(STATE_SWITCH_SERVER);
}
else if (mSwitchCharacter->isSelected())
@@ -147,7 +147,7 @@ void QuitDialog::action(const gcn::ActionEvent &event)
if (Client::getState() == STATE_GAME)
{
Net::getCharHandler()->switchCharacter();
- Client::closeDialogs();
+ Game::closeDialogs();
}
}
}
@@ -162,10 +162,11 @@ void QuitDialog::keyPressed(gcn::KeyEvent &keyEvent)
switch (key.getValue())
{
case Key::ENTER:
- action(gcn::ActionEvent(NULL, mOkButton->getActionEventId()));
+ action(gcn::ActionEvent(nullptr, mOkButton->getActionEventId()));
break;
case Key::ESCAPE:
- action(gcn::ActionEvent(NULL, mCancelButton->getActionEventId()));
+ action(gcn::ActionEvent(nullptr,
+ mCancelButton->getActionEventId()));
break;
case Key::UP:
dir = -1;
diff --git a/src/gui/register.cpp b/src/gui/register.cpp
index 062275b80..29030aa72 100644
--- a/src/gui/register.cpp
+++ b/src/gui/register.cpp
@@ -47,7 +47,7 @@
#include "debug.h"
WrongDataNoticeListener::WrongDataNoticeListener():
- mTarget(0)
+ mTarget(nullptr)
{
}
@@ -63,10 +63,10 @@ void WrongDataNoticeListener::action(const gcn::ActionEvent &event)
}
RegisterDialog::RegisterDialog(LoginData *data):
- Window(_("Register"), false, 0, "register.xml"),
- mEmailField(0),
- mMaleButton(0),
- mFemaleButton(0),
+ Window(_("Register"), false, nullptr, "register.xml"),
+ mEmailField(nullptr),
+ mMaleButton(nullptr),
+ mFemaleButton(nullptr),
mWrongDataNoticeListener(new WrongDataNoticeListener),
mLoginData(data)
{
@@ -147,7 +147,7 @@ RegisterDialog::RegisterDialog(LoginData *data):
RegisterDialog::~RegisterDialog()
{
delete mWrongDataNoticeListener;
- mWrongDataNoticeListener = 0;
+ mWrongDataNoticeListener = nullptr;
}
void RegisterDialog::action(const gcn::ActionEvent &event)
diff --git a/src/gui/sdlfont.cpp b/src/gui/sdlfont.cpp
index b196ae4e4..001a8671a 100644
--- a/src/gui/sdlfont.cpp
+++ b/src/gui/sdlfont.cpp
@@ -49,14 +49,14 @@ class SDLTextChunk
{
public:
SDLTextChunk(const std::string &text0, const gcn::Color &color0) :
- img(0), text(text0), color(color0)
+ img(nullptr), text(text0), color(color0)
{
}
~SDLTextChunk()
{
delete img;
- img = 0;
+ img = nullptr;
}
bool operator==(const SDLTextChunk &chunk) const
@@ -79,7 +79,7 @@ class SDLTextChunk
if (!surface)
{
- img = 0;
+ img = nullptr;
return;
}
@@ -138,7 +138,7 @@ SDLFont::SDLFont(const std::string &filename, int size, int style) :
SDLFont::~SDLFont()
{
TTF_CloseFont(mFont);
- mFont = 0;
+ mFont = nullptr;
--fontCounter;
if (fontCounter == 0)
diff --git a/src/gui/selldialog.cpp b/src/gui/selldialog.cpp
index bbd0a71c1..e1a77f6c9 100644
--- a/src/gui/selldialog.cpp
+++ b/src/gui/selldialog.cpp
@@ -50,14 +50,14 @@
SellDialog::DialogList SellDialog::instances;
SellDialog::SellDialog(int npcId):
- Window(_("Sell"), false, 0, "sell.xml"),
+ Window(_("Sell"), false, nullptr, "sell.xml"),
mNpcId(npcId), mMaxItems(0), mAmountItems(0), mNick("")
{
init();
}
SellDialog::SellDialog(std::string nick):
- Window(_("Sell"), false, 0, "sell.xml"),
+ Window(_("Sell"), false, nullptr, "sell.xml"),
mNpcId(-1), mMaxItems(0), mAmountItems(0), mNick(nick)
{
init();
@@ -133,7 +133,7 @@ void SellDialog::init()
SellDialog::~SellDialog()
{
delete mShopItems;
- mShopItems = 0;
+ mShopItems = nullptr;
instances.remove(this);
}
@@ -290,7 +290,7 @@ void SellDialog::updateButtonsAndLabels()
{
int selectedItem = mShopItemList->getSelected();
int income = 0;
- ShopItem *item = 0;
+ ShopItem *item = nullptr;
if (selectedItem > -1 && mShopItems->at(selectedItem))
{
diff --git a/src/gui/serverdialog.cpp b/src/gui/serverdialog.cpp
index 5a00d4a76..3fd298159 100644
--- a/src/gui/serverdialog.cpp
+++ b/src/gui/serverdialog.cpp
@@ -234,15 +234,15 @@ private:
ServerDialog::ServerDialog(ServerInfo *serverInfo, const std::string &dir):
- Window(_("Choose Your Server"), false, 0, "server.xml"),
+ Window(_("Choose Your Server"), false, nullptr, "server.xml"),
mDir(dir),
// mDownloadStatus(DOWNLOADING_PREPARING),
mDownloadStatus(DOWNLOADING_UNKNOWN),
- mDownload(0),
+ mDownload(nullptr),
mDownloadProgress(-1.0f),
mServers(ServerInfos()),
mServerInfo(serverInfo),
- mPersistentIPCheckBox(0)
+ mPersistentIPCheckBox(nullptr)
{
if (isSafeMode)
setCaption(_("Choose Your Server *** SAFE MODE ***"));
@@ -377,12 +377,12 @@ ServerDialog::~ServerDialog()
{
mDownload->cancel();
delete mDownload;
- mDownload = 0;
+ mDownload = nullptr;
}
delete mServersListModel;
- mServersListModel = 0;
+ mServersListModel = nullptr;
delete mTypeListModel;
- mTypeListModel = 0;
+ mTypeListModel = nullptr;
}
void ServerDialog::action(const gcn::ActionEvent &event)
@@ -489,7 +489,7 @@ void ServerDialog::keyPressed(gcn::KeyEvent &keyEvent)
if (key.getValue() == Key::ESCAPE)
Client::setState(STATE_EXIT);
else if (key.getValue() == Key::ENTER)
- action(gcn::ActionEvent(NULL, mConnectButton->getActionEventId()));
+ action(gcn::ActionEvent(nullptr, mConnectButton->getActionEventId()));
}
void ServerDialog::valueChanged(const gcn::SelectionEvent &)
@@ -617,7 +617,7 @@ void ServerDialog::downloadServerList()
{
mDownload->cancel();
delete mDownload;
- mDownload = 0;
+ mDownload = nullptr;
}
mDownload = new Net::Download(this, listFile, &downloadUpdate);
diff --git a/src/gui/setup.cpp b/src/gui/setup.cpp
index ae7a3109c..d305824d5 100644
--- a/src/gui/setup.cpp
+++ b/src/gui/setup.cpp
@@ -51,7 +51,7 @@
extern Window *statusWindow;
Setup::Setup():
- Window(_("Setup"), false, 0, "setup.xml")
+ Window(_("Setup"), false, nullptr, "setup.xml")
{
setCloseButton(true);
setResizable(true);
@@ -72,7 +72,7 @@ Setup::Setup():
N_("Cancel"),
N_("Store"),
N_("Reset Windows"),
- 0
+ nullptr
};
int x = width;
for (const char **curBtn = buttonNames; *curBtn; ++curBtn)
diff --git a/src/gui/setup_colors.cpp b/src/gui/setup_colors.cpp
index 7c0306f8f..6f1a4afce 100644
--- a/src/gui/setup_colors.cpp
+++ b/src/gui/setup_colors.cpp
@@ -65,7 +65,7 @@ Setup_Colors::Setup_Colors() :
mPreview->setOpaque(false);
// don't do anything with links
- mPreview->setLinkHandler(NULL);
+ mPreview->setLinkHandler(nullptr);
mPreviewBox = new ScrollArea(mPreview);
mPreviewBox->setHeight(20);
@@ -188,12 +188,12 @@ Setup_Colors::~Setup_Colors()
if (mPreviewBox && mPreviewBox->getContent() == mPreview)
{
delete mTextPreview;
- mTextPreview = 0;
+ mTextPreview = nullptr;
}
else
{
delete mPreview;
- mPreview = 0;
+ mPreview = nullptr;
}
}
@@ -251,7 +251,7 @@ void Setup_Colors::valueChanged(const gcn::SelectionEvent &event A_UNUSED)
mPreviewBox->setContent(mTextPreview);
mTextPreview->setFont(boldFont);
mTextPreview->setTextColor(col);
- mTextPreview->setTextBGColor(NULL);
+ mTextPreview->setTextBGColor(nullptr);
mTextPreview->setOpaque(false);
mTextPreview->setShadow(true);
mTextPreview->setOutline(true);
diff --git a/src/gui/setup_joystick.cpp b/src/gui/setup_joystick.cpp
index aadfc11e3..7899247e3 100644
--- a/src/gui/setup_joystick.cpp
+++ b/src/gui/setup_joystick.cpp
@@ -24,54 +24,117 @@
#include "configuration.h"
#include "joystick.h"
+#include "logger.h"
#include "gui/widgets/button.h"
#include "gui/widgets/checkbox.h"
+#include "gui/widgets/dropdown.h"
#include "gui/widgets/label.h"
#include "gui/widgets/layouthelper.h"
#include "utils/gettext.h"
+#include <guichan/listmodel.hpp>
+
#include "debug.h"
extern Joystick *joystick;
+class NamesModel : public gcn::ListModel
+{
+ public:
+ NamesModel()
+ { }
+
+ virtual ~NamesModel()
+ { }
+
+ virtual int getNumberOfElements()
+ {
+ return static_cast<int>(mNames.size());
+ }
+
+ virtual std::string getElementAt(int i)
+ {
+ if (i >= getNumberOfElements() || i < 0)
+ return _("???");
+
+ return mNames[i];
+ }
+
+ std::vector<std::string> mNames;
+};
+
+
Setup_Joystick::Setup_Joystick():
mCalibrateLabel(new Label(_("Press the button to start calibration"))),
mCalibrateButton(new Button(_("Calibrate"), "calibrate", this)),
- mJoystickEnabled(new CheckBox(_("Enable joystick")))
+ mJoystickEnabled(new CheckBox(_("Enable joystick"))),
+ mNamesModel(new NamesModel()),
+ mNamesDropDown(new DropDown(mNamesModel)),
+ mUseInactiveCheckBox(new CheckBox(_("Use joystick if client "
+ "window inactive"), config.getBoolValue("useInactiveJoystick")))
{
setName(_("Joystick"));
- mOriginalJoystickEnabled = !config.getBoolValue("joystickEnabled");
- mJoystickEnabled->setSelected(mOriginalJoystickEnabled);
+ Joystick::getNames(mNamesModel->mNames);
+ mOriginalJoystickEnabled = config.getBoolValue("joystickEnabled");
+ mJoystickEnabled->setSelected(mOriginalJoystickEnabled);
+ mJoystickEnabled->setActionEventId("joystick");
mJoystickEnabled->addActionListener(this);
+ mCalibrateButton->setEnabled(mOriginalJoystickEnabled);
+
+ mNamesDropDown->setActionEventId("name");
+ mNamesDropDown->addActionListener(this);
+
+ if (joystick)
+ {
+ mNamesDropDown->setSelected(joystick->getNumber());
+ }
+ else
+ {
+ unsigned sel = config.getIntValue("selectedJoystick");
+ if (sel >= mNamesModel->mNames.size())
+ sel = 0;
+ mNamesDropDown->setSelected(sel);
+ }
// Do the layout
LayoutHelper h(this);
ContainerPlacer place = h.getPlacer(0, 0);
place(0, 0, mJoystickEnabled);
- place(0, 1, mCalibrateLabel);
- place.getCell().matchColWidth(0, 0);
- place = h.getPlacer(0, 1);
- place(0, 0, mCalibrateButton);
+ place(0, 1, mNamesDropDown);
+ place(0, 2, mUseInactiveCheckBox);
+ place(0, 3, mCalibrateLabel);
+ place(0, 4, mCalibrateButton);
setDimension(gcn::Rectangle(0, 0, 365, 75));
}
-void Setup_Joystick::action(const gcn::ActionEvent &event)
+Setup_Joystick::~Setup_Joystick()
{
- if (!joystick)
- return;
+ delete mNamesModel;
+ mNamesModel = nullptr;
+}
+void Setup_Joystick::action(const gcn::ActionEvent &event)
+{
if (event.getSource() == mJoystickEnabled)
{
- joystick->setEnabled(mJoystickEnabled->isSelected());
+ setTempEnabled(mJoystickEnabled->isSelected());
+ }
+ else if (event.getSource() == mNamesDropDown)
+ {
+ if (joystick)
+ joystick->setNumber(mNamesDropDown->getSelected());
}
else
{
+ if (!joystick)
+ return;
+
if (joystick->isCalibrating())
{
mCalibrateButton->setCaption(_("Calibrate"));
@@ -82,23 +145,46 @@ void Setup_Joystick::action(const gcn::ActionEvent &event)
else
{
mCalibrateButton->setCaption(_("Stop"));
- mCalibrateLabel->setCaption(_("Rotate the stick"));
+ mCalibrateLabel->setCaption(
+ _("Rotate the stick and dont press buttons"));
joystick->startCalibration();
}
}
}
+void Setup_Joystick::setTempEnabled(bool sel)
+{
+ Joystick::setEnabled(sel);
+ mCalibrateButton->setEnabled(sel);
+ if (joystick)
+ {
+ if (sel)
+ joystick->open();
+ else
+ joystick->close();
+ }
+}
+
void Setup_Joystick::cancel()
{
if (joystick)
joystick->setEnabled(mOriginalJoystickEnabled);
+ if (mOriginalJoystickEnabled != mJoystickEnabled->isSelected())
+ setTempEnabled(mOriginalJoystickEnabled);
+
mJoystickEnabled->setSelected(mOriginalJoystickEnabled);
}
void Setup_Joystick::apply()
{
+ if (!joystick)
+ return;
+
config.setValue("joystickEnabled",
- joystick ? joystick->isEnabled() : false);
-}
+ joystick ? joystick->isEnabled() : false);
+ config.setValue("useInactiveJoystick", mUseInactiveCheckBox->isSelected());
+ if (joystick)
+ joystick->setUseInactive(mUseInactiveCheckBox->isSelected());
+}
diff --git a/src/gui/setup_joystick.h b/src/gui/setup_joystick.h
index d18d5a7fb..5bd72cdad 100644
--- a/src/gui/setup_joystick.h
+++ b/src/gui/setup_joystick.h
@@ -29,21 +29,32 @@
#include <guichan/actionlistener.hpp>
+class DropDown;
+class NamesModel;
+
class Setup_Joystick : public SetupTab
{
public:
Setup_Joystick();
+ ~Setup_Joystick();
+
void apply();
+
void cancel();
void action(const gcn::ActionEvent &event);
+ void setTempEnabled(bool sel);
+
private:
gcn::Label *mCalibrateLabel;
gcn::Button *mCalibrateButton;
bool mOriginalJoystickEnabled;
gcn::CheckBox *mJoystickEnabled;
+ NamesModel *mNamesModel;
+ DropDown *mNamesDropDown;
+ gcn::CheckBox *mUseInactiveCheckBox;
};
#endif
diff --git a/src/gui/setup_keyboard.cpp b/src/gui/setup_keyboard.cpp
index 922d9797b..fa7a63b8c 100644
--- a/src/gui/setup_keyboard.cpp
+++ b/src/gui/setup_keyboard.cpp
@@ -112,16 +112,16 @@ Setup_Keyboard::Setup_Keyboard():
Setup_Keyboard::~Setup_Keyboard()
{
delete mKeyList;
- mKeyList = 0;
+ mKeyList = nullptr;
delete mKeyListModel;
- mKeyListModel = 0;
+ mKeyListModel = nullptr;
delete mAssignKeyButton;
- mAssignKeyButton = 0;
+ mAssignKeyButton = nullptr;
delete mUnassignKeyButton;
- mUnassignKeyButton = 0;
+ mUnassignKeyButton = nullptr;
delete mMakeDefaultButton;
- mMakeDefaultButton = 0;
+ mMakeDefaultButton = nullptr;
}
void Setup_Keyboard::apply()
diff --git a/src/gui/setup_other.cpp b/src/gui/setup_other.cpp
index 23fb5c086..bd445cfa0 100644
--- a/src/gui/setup_other.cpp
+++ b/src/gui/setup_other.cpp
@@ -171,8 +171,9 @@ Setup_Other::Setup_Other()
new SetupItemCheckBox(_("Enable bot checker"), "",
"enableBotCheker", this, "enableBotChekerEvent");
- new SetupItemCheckBox(_("Enable buggy servers protection"), "",
- "enableBuggyServers", this, "enableBuggyServersEvent", false);
+ new SetupItemCheckBox(_("Enable buggy servers protection "
+ "(do not disable)"), "", "enableBuggyServers", this,
+ "enableBuggyServersEvent", false);
new SetupItemCheckBox(_("Enable debug log"), "",
"debugLog", this, "debugLogEvent");
diff --git a/src/gui/setup_relations.cpp b/src/gui/setup_relations.cpp
index 6c57d981e..8ac61f90c 100644
--- a/src/gui/setup_relations.cpp
+++ b/src/gui/setup_relations.cpp
@@ -72,7 +72,8 @@ static const char *RELATION_NAMES[PlayerRelation::RELATIONS_NR] =
N_("Disregarded"),
N_("Ignored"),
N_("Erased"),
- N_("Blacklisted")
+ N_("Blacklisted"),
+ N_("Enemy")
};
class PlayerRelationListModel : public gcn::ListModel
@@ -97,7 +98,7 @@ class PlayerTableModel : public TableModel
{
public:
PlayerTableModel() :
- mPlayers(NULL),
+ mPlayers(nullptr),
mListModel(new PlayerRelationListModel)
{
playerRelationsUpdated();
@@ -107,9 +108,9 @@ public:
{
freeWidgets();
delete mListModel;
- mListModel = 0;
+ mListModel = nullptr;
delete mPlayers;
- mPlayers = 0;
+ mPlayers = nullptr;
}
virtual int getRows() const
@@ -184,7 +185,7 @@ public:
virtual void freeWidgets()
{
delete mPlayers;
- mPlayers = 0;
+ mPlayers = nullptr;
delete_all(mWidgets);
mWidgets.clear();
@@ -309,7 +310,7 @@ Setup_Relations::~Setup_Relations()
{
player_relations.removeListener(this);
delete mIgnoreActionChoicesModel;
- mIgnoreActionChoicesModel = 0;
+ mIgnoreActionChoicesModel = nullptr;
}
diff --git a/src/gui/setup_theme.cpp b/src/gui/setup_theme.cpp
index 05f8c7315..3b1c1d932 100644
--- a/src/gui/setup_theme.cpp
+++ b/src/gui/setup_theme.cpp
@@ -47,6 +47,7 @@
const char* ACTION_THEME = "theme";
const char* ACTION_FONT = "font";
+const char* ACTION_LANG = "lang";
const char* ACTION_BOLD_FONT = "bold font";
const char* ACTION_PARTICLE_FONT = "particle font";
const char* ACTION_HELP_FONT = "help font";
@@ -84,7 +85,7 @@ class ThemesModel : public NamesModel
public:
ThemesModel()
{
- mNames.push_back("(default)");
+ mNames.push_back(gettext("(default)"));
Theme::fillSkinsList(mNames);
}
@@ -130,9 +131,55 @@ public:
}
};
+struct Language
+{
+ std::string name;
+
+ std::string value;
+};
+
+const int langs_count = 14;
+
+const Language LANG_NAME[langs_count] =
+{
+ {N_("(default)"), ""},
+ {N_("Chinese (China)"), "zh_CN"},
+ {N_("Czech"), "cs_CZ"},
+ {N_("English"), "C"},
+ {N_("Finnish"), "fi_FI"},
+ {N_("French"), "fr_FR"},
+ {N_("German"), "de_DE"},
+ {N_("Indonesian"), "id_ID"},
+ {N_("Japanese"), "ja_JP.utf8"},
+ {N_("Dutch (Belgium/Flemish)"), "nl_BE"},
+ {N_("Portuguese"), "pt_PT"},
+ {N_("Portuguese (Brazilian)"), "pt_BR"},
+ {N_("Russian"), "ru_RU"},
+ {N_("Spanish (Castilian)"), "es_ES"}
+};
+
+class LangListModel : public gcn::ListModel
+{
+public:
+ virtual ~LangListModel()
+ { }
+
+ virtual int getNumberOfElements()
+ { return langs_count; }
+
+ virtual std::string getElementAt(int i)
+ {
+ if (i >= getNumberOfElements() || i < 0)
+ return _("???");
+
+ return gettext(LANG_NAME[i].name.c_str());
+ }
+};
+
Setup_Theme::Setup_Theme():
mTheme(config.getValue("theme", config.getValue("selectedSkin", ""))),
mFont(config.getStringValue("font")),
+ mLang(config.getStringValue("lang")),
mBoldFont(config.getStringValue("boldFont")),
mParticleFont(config.getStringValue("particleFont")),
mHelpFont(config.getStringValue("helpFont")),
@@ -143,6 +190,7 @@ Setup_Theme::Setup_Theme():
setName(_("Theme"));
mThemeLabel = new Label(_("Gui theme"));
+ mLangLabel = new Label(_("Language"));
mFontLabel = new Label(_("Main Font"));
mBoldFontLabel = new Label(_("Bold font"));
mParticleFontLabel = new Label(_("Particle font"));
@@ -151,6 +199,7 @@ Setup_Theme::Setup_Theme():
mJapanFontLabel = new Label(_("Japanese font"));
mThemesModel = new ThemesModel();
mFontsModel = new FontsModel();
+ mLangListModel = new LangListModel();
mThemeDropDown = new DropDown(mThemesModel);
mThemeDropDown->setActionEventId(ACTION_THEME);
@@ -160,6 +209,10 @@ Setup_Theme::Setup_Theme():
mFontDropDown->setActionEventId(ACTION_FONT);
mFontDropDown->addActionListener(this);
+ mLangDropDown = new DropDown(mLangListModel);
+ mLangDropDown->setActionEventId(ACTION_LANG);
+ mLangDropDown->addActionListener(this);
+
mBoldFontDropDown = new DropDown(mFontsModel);
mBoldFontDropDown->setActionEventId(ACTION_BOLD_FONT);
mBoldFontDropDown->addActionListener(this);
@@ -192,6 +245,17 @@ Setup_Theme::Setup_Theme():
else
mThemeDropDown->setSelected(0);
+ const std::string str = config.getStringValue("lang");
+
+ for (int f = 0; f < langs_count; f ++)
+ {
+ if (LANG_NAME[f].value == str)
+ {
+ mLangDropDown->setSelected(f);
+ break;
+ }
+ }
+
mFontDropDown->setSelectedString(getFileName(
config.getStringValue("font")));
mBoldFontDropDown->setSelectedString(getFileName(
@@ -210,22 +274,24 @@ Setup_Theme::Setup_Theme():
ContainerPlacer place = h.getPlacer(0, 0);
place(0, 0, mThemeLabel, 5);
- place(0, 1, fontSizeLabel, 5);
- place(0, 2, mFontLabel, 5);
- place(0, 3, mBoldFontLabel, 5);
- place(0, 4, mParticleFontLabel, 5);
- place(0, 5, mHelpFontLabel, 5);
- place(0, 6, mSecureFontLabel, 5);
- place(0, 7, mJapanFontLabel, 5);
+ place(0, 1, mLangLabel, 5);
+ place(0, 2, fontSizeLabel, 5);
+ place(0, 3, mFontLabel, 5);
+ place(0, 4, mBoldFontLabel, 5);
+ place(0, 5, mParticleFontLabel, 5);
+ place(0, 6, mHelpFontLabel, 5);
+ place(0, 7, mSecureFontLabel, 5);
+ place(0, 8, mJapanFontLabel, 5);
place(6, 0, mThemeDropDown, 10);
- place(6, 1, mFontSizeDropDown, 10);
- place(6, 2, mFontDropDown, 10);
- place(6, 3, mBoldFontDropDown, 10);
- place(6, 4, mParticleFontDropDown, 10);
- place(6, 5, mHelpFontDropDown, 10);
- place(6, 6, mSecureFontDropDown, 10);
- place(6, 7, mJapanFontDropDown, 10);
+ place(6, 1, mLangDropDown, 10);
+ place(6, 2, mFontSizeDropDown, 10);
+ place(6, 3, mFontDropDown, 10);
+ place(6, 4, mBoldFontDropDown, 10);
+ place(6, 5, mParticleFontDropDown, 10);
+ place(6, 6, mHelpFontDropDown, 10);
+ place(6, 7, mSecureFontDropDown, 10);
+ place(6, 8, mJapanFontDropDown, 10);
place.getCell().matchColWidth(0, 0);
place = h.getPlacer(0, 1);
@@ -236,13 +302,16 @@ Setup_Theme::Setup_Theme():
Setup_Theme::~Setup_Theme()
{
delete mThemesModel;
- mThemesModel = 0;
+ mThemesModel = nullptr;
delete mFontsModel;
- mFontsModel = 0;
+ mFontsModel = nullptr;
delete mFontSizeListModel;
- mFontSizeListModel = 0;
+ mFontSizeListModel = nullptr;
+
+ delete mLangListModel;
+ mLangListModel = nullptr;
}
void Setup_Theme::action(const gcn::ActionEvent &event)
@@ -258,6 +327,14 @@ void Setup_Theme::action(const gcn::ActionEvent &event)
{
mFont = mFontDropDown->getSelectedString();
}
+ else if (event.getId() == ACTION_LANG)
+ {
+ int id = mLangDropDown->getSelected();
+ if (id < 0 || id >= langs_count)
+ mLang = "";
+ else
+ mLang = LANG_NAME[id].value;
+ }
else if (event.getId() == ACTION_BOLD_FONT)
{
mBoldFont = mBoldFontDropDown->getSelectedString();
@@ -283,6 +360,7 @@ void Setup_Theme::action(const gcn::ActionEvent &event)
void Setup_Theme::cancel()
{
mTheme = config.getValue("theme", config.getValue("selectedSkin", ""));
+ mLang = config.getStringValue("lang");
mFont = getFileName(config.getStringValue("font"));
mBoldFont = getFileName(config.getStringValue("boldFont"));
mParticleFont = getFileName(config.getStringValue("particleFont"));
@@ -302,6 +380,7 @@ void Setup_Theme::apply()
config.setValue("selectedSkin", "");
config.setValue("theme", mTheme);
+ config.setValue("lang", mLang);
if (config.getValue("font", "dejavusans.ttf") != mFont
|| config.getValue("boldFont", "dejavusans-bold.ttf") != mBoldFont
|| config.getValue("particleFont", "dejavusans.ttf") != mParticleFont
diff --git a/src/gui/setup_theme.h b/src/gui/setup_theme.h
index c803cc296..1ff159195 100644
--- a/src/gui/setup_theme.h
+++ b/src/gui/setup_theme.h
@@ -30,10 +30,11 @@
#include <guichan/actionlistener.hpp>
+class DropDown;
+class EditDialog;
class FontsModel;
class FontSizeChoiceListModel;
-class EditDialog;
-class DropDown;
+class LangListModel;
class ThemesModel;
class Setup_Theme : public SetupTab
@@ -58,6 +59,12 @@ class Setup_Theme : public SetupTab
DropDown *mFontDropDown;
std::string mFont;
+ LangListModel *mLangListModel;
+
+ gcn::Label *mLangLabel;
+ DropDown *mLangDropDown;
+ std::string mLang;
+
gcn::Label *mBoldFontLabel;
DropDown *mBoldFontDropDown;
std::string mBoldFont;
diff --git a/src/gui/setup_video.cpp b/src/gui/setup_video.cpp
index d3c1163dc..794fd3324 100644
--- a/src/gui/setup_video.cpp
+++ b/src/gui/setup_video.cpp
@@ -130,10 +130,10 @@ bool modeSorter(std::string mode1, std::string mode2)
ModeListModel::ModeListModel()
{
/* Get available fullscreen/hardware modes */
- SDL_Rect **modes = SDL_ListModes(NULL, SDL_FULLSCREEN | SDL_HWSURFACE);
+ SDL_Rect **modes = SDL_ListModes(nullptr, SDL_FULLSCREEN | SDL_HWSURFACE);
/* Check which modes are available */
- if (modes == static_cast<SDL_Rect **>(0))
+ if (modes == static_cast<SDL_Rect **>(nullptr))
{
logger->log1("No modes available");
}
@@ -310,7 +310,7 @@ Setup_Video::Setup_Video():
mParticleDetail(3 - config.getIntValue("particleEmitterSkip")),
mParticleDetailSlider(new Slider(0, 3)),
mParticleDetailField(new Label),
- mDialog(0)
+ mDialog(nullptr)
{
setName(_("Video"));
@@ -446,13 +446,13 @@ Setup_Video::Setup_Video():
Setup_Video::~Setup_Video()
{
delete mModeListModel;
- mModeListModel = 0;
+ mModeListModel = nullptr;
delete mModeList;
- mModeList = 0;
+ mModeList = nullptr;
delete mOpenGLListModel;
- mOpenGLListModel = 0;
+ mOpenGLListModel = nullptr;
delete mDialog;
- mDialog = 0;
+ mDialog = nullptr;
}
void Setup_Video::apply()
@@ -594,7 +594,7 @@ void Setup_Video::action(const gcn::ActionEvent &event)
if (mDialog)
{
mode = mDialog->getText();
- mDialog = 0;
+ mDialog = nullptr;
}
else
{
@@ -632,7 +632,7 @@ void Setup_Video::action(const gcn::ActionEvent &event)
}
if (id == "~videomode")
{
- mDialog = 0;
+ mDialog = nullptr;
}
else if (id == "guialpha")
{
diff --git a/src/gui/shopwindow.cpp b/src/gui/shopwindow.cpp
index 2215ce699..a50a485ec 100644
--- a/src/gui/shopwindow.cpp
+++ b/src/gui/shopwindow.cpp
@@ -72,14 +72,14 @@ extern std::string tradePartnerName;
ShopWindow::DialogList ShopWindow::instances;
ShopWindow::ShopWindow():
- Window(_("Personal Shop"), false, 0, "shop.xml"),
+ Window(_("Personal Shop"), false, nullptr, "shop.xml"),
mSelectedItem(-1),
mAnnonceTime(0),
mLastRequestTimeList(0),
mLastRequestTimeItem(0),
mRandCounter(0),
mAcceptPlayer(""),
- mTradeItem(0),
+ mTradeItem(nullptr),
mTradeNick(""),
mTradeMoney(0)
{
@@ -152,8 +152,8 @@ ShopWindow::ShopWindow():
}
else
{
- mBuyAuctionButton = 0;
- mSellAuctionButton = 0;
+ mBuyAuctionButton = nullptr;
+ mSellAuctionButton = nullptr;
}
Layout &layout = getLayout();
@@ -173,10 +173,10 @@ ShopWindow::~ShopWindow()
saveList();
delete mBuyShopItems;
- mBuyShopItems = 0;
+ mBuyShopItems = nullptr;
delete mSellShopItems;
- mSellShopItems = 0;
+ mSellShopItems = nullptr;
instances.remove(this);
}
@@ -602,8 +602,8 @@ void ShopWindow::sendMessage(const std::string &nick,
void ShopWindow::showList(const std::string &nick, std::string data)
{
- BuyDialog *buyDialog = 0;
- SellDialog *sellDialog = 0;
+ BuyDialog *buyDialog = nullptr;
+ SellDialog *sellDialog = nullptr;
if (data.find("B1") == 0)
{
data = data.substr(2);
diff --git a/src/gui/shortcutwindow.cpp b/src/gui/shortcutwindow.cpp
index 6d48da197..eff28def7 100644
--- a/src/gui/shortcutwindow.cpp
+++ b/src/gui/shortcutwindow.cpp
@@ -54,7 +54,7 @@ ShortcutWindow::ShortcutWindow(const std::string &title,
ShortcutContainer *content,
std::string skinFile,
int width, int height) :
- Window("Window", false, 0, skinFile)
+ Window("Window", false, nullptr, skinFile)
{
setWindowName(title);
// no title presented, title bar is padding so window can be moved.
@@ -66,7 +66,7 @@ ShortcutWindow::ShortcutWindow(const std::string &title,
setupWindow->registerWindowForReset(this);
- mTabs = 0;
+ mTabs = nullptr;
mItems = content;
const int border = SCROLL_PADDING * 2 + getPadding() * 2;
@@ -100,7 +100,7 @@ ShortcutWindow::ShortcutWindow(const std::string &title,
ShortcutWindow::ShortcutWindow(const std::string &title, std::string skinFile,
int width, int height) :
- Window("Window", false, 0, skinFile)
+ Window("Window", false, nullptr, skinFile)
{
setWindowName(title);
// no title presented, title bar is padding so window can be moved.
@@ -114,7 +114,7 @@ ShortcutWindow::ShortcutWindow(const std::string &title, std::string skinFile,
mTabs = new TabbedArea;
- mItems = 0;
+ mItems = nullptr;
const int border = SCROLL_PADDING * 2 + getPadding() * 2;
@@ -138,9 +138,9 @@ ShortcutWindow::~ShortcutWindow()
if (mTabs)
mTabs->removeAll();
delete mTabs;
- mTabs = 0;
+ mTabs = nullptr;
delete mItems;
- mItems = 0;
+ mItems = nullptr;
}
void ShortcutWindow::addTab(std::string name, ShortcutContainer *content)
diff --git a/src/gui/skilldialog.cpp b/src/gui/skilldialog.cpp
index 8f45be5d1..072a9cb85 100644
--- a/src/gui/skilldialog.cpp
+++ b/src/gui/skilldialog.cpp
@@ -81,8 +81,8 @@ struct SkillInfo
gcn::Color color;
SkillInfo() :
- id(0), name(""), dispName(""), icon(0), modifiable(false),
- visible(false), model(0), skillLevel(""), skillLevelWidth(0),
+ id(0), name(""), dispName(""), icon(nullptr), modifiable(false),
+ visible(false), model(nullptr), skillLevel(""), skillLevelWidth(0),
skillExp(""), progress(0.0f)
{
}
@@ -92,7 +92,7 @@ struct SkillInfo
if (icon)
{
icon->decRef();
- icon = 0;
+ icon = nullptr;
}
}
@@ -161,9 +161,9 @@ public:
~SkillListBox()
{
delete mModel;
- mModel = 0;
+ mModel = nullptr;
delete mPopup;
- mPopup = 0;
+ mPopup = nullptr;
}
SkillInfo *getSelectedInfo()
@@ -172,7 +172,7 @@ public:
if (!mListModel || selected < 0
|| selected > mListModel->getNumberOfElements())
{
- return 0;
+ return nullptr;
}
return static_cast<SkillModel*>(mListModel)->getSkillAt(selected);
@@ -257,7 +257,7 @@ public:
~SkillTab()
{
delete mListBox;
- mListBox = 0;
+ mListBox = nullptr;
}
SkillInfo *getSelectedInfo()
@@ -265,7 +265,7 @@ public:
if (mListBox)
return mListBox->getSelectedInfo();
else
- return 0;
+ return nullptr;
}
private:
@@ -273,7 +273,7 @@ private:
};
SkillDialog::SkillDialog():
- Window(_("Skills"), false, 0, "skills.xml")
+ Window(_("Skills"), false, nullptr, "skills.xml")
{
setWindowName("Skills");
setCloseButton(true);
@@ -286,7 +286,7 @@ SkillDialog::SkillDialog():
mTabs = new TabbedArea();
mPointsLabel = new Label("0");
mIncreaseButton = new Button(_("Up"), "inc", this);
- mDefaultModel = 0;
+ mDefaultModel = nullptr;
place(0, 0, mTabs, 5, 5);
place(0, 5, mPointsLabel, 4);
diff --git a/src/gui/socialwindow.cpp b/src/gui/socialwindow.cpp
index a728d4051..2bc8aba9b 100644
--- a/src/gui/socialwindow.cpp
+++ b/src/gui/socialwindow.cpp
@@ -66,10 +66,10 @@ protected:
friend class SocialWindow;
SocialTab():
- mInviteDialog(0),
- mConfirmDialog(0),
- mScroll(0),
- mList(0)
+ mInviteDialog(nullptr),
+ mConfirmDialog(nullptr),
+ mScroll(nullptr),
+ mList(nullptr)
{}
virtual ~SocialTab()
@@ -79,14 +79,14 @@ protected:
{
mInviteDialog->close();
mInviteDialog->scheduleDelete();
- mInviteDialog = NULL;
+ mInviteDialog = nullptr;
}
if (mConfirmDialog)
{
mConfirmDialog->close();
mConfirmDialog->scheduleDelete();
- mConfirmDialog = NULL;
+ mConfirmDialog = nullptr;
}
}
@@ -129,9 +129,9 @@ public:
~SocialGuildTab()
{
delete mList;
- mList = 0;
+ mList = nullptr;
delete mScroll;
- mScroll = 0;
+ mScroll = nullptr;
}
void action(const gcn::ActionEvent &event)
@@ -147,11 +147,11 @@ public:
_("Invited user %s to guild %s."),
name.c_str(), mGuild->getName().c_str()), BY_SERVER);
}
- mInviteDialog = 0;
+ mInviteDialog = nullptr;
}
else if (event.getId() == "~do invite")
{
- mInviteDialog = 0;
+ mInviteDialog = nullptr;
}
else if (event.getId() == "yes")
{
@@ -161,11 +161,11 @@ public:
localChatTab->chatLog(strprintf(_("Guild %s quit requested."),
mGuild->getName().c_str()), BY_SERVER);
}
- mConfirmDialog = 0;
+ mConfirmDialog = nullptr;
}
else if (event.getId() == "~yes")
{
- mConfirmDialog = 0;
+ mConfirmDialog = nullptr;
}
}
@@ -227,9 +227,9 @@ public:
~SocialGuildTab2()
{
delete mList;
- mList = 0;
+ mList = nullptr;
delete mScroll;
- mScroll = 0;
+ mScroll = nullptr;
}
void action(const gcn::ActionEvent &event A_UNUSED)
@@ -330,9 +330,9 @@ public:
~SocialPartyTab()
{
delete mList;
- mList = 0;
+ mList = nullptr;
delete mScroll;
- mScroll = 0;
+ mScroll = nullptr;
}
void action(const gcn::ActionEvent &event)
@@ -347,11 +347,11 @@ public:
localChatTab->chatLog(strprintf(_("Invited user %s to party."),
name.c_str()), BY_SERVER);
}
- mInviteDialog = NULL;
+ mInviteDialog = nullptr;
}
else if (event.getId() == "~do invite")
{
- mInviteDialog = NULL;
+ mInviteDialog = nullptr;
}
else if (event.getId() == "yes")
{
@@ -361,11 +361,11 @@ public:
localChatTab->chatLog(strprintf(_("Party %s quit requested."),
mParty->getName().c_str()), BY_SERVER);
}
- mConfirmDialog = NULL;
+ mConfirmDialog = nullptr;
}
else if (event.getId() == "~yes")
{
- mConfirmDialog = NULL;
+ mConfirmDialog = nullptr;
}
}
@@ -465,11 +465,11 @@ public:
~SocialPlayersTab()
{
delete mList;
- mList = 0;
+ mList = nullptr;
delete mScroll;
- mScroll = 0;
+ mScroll = nullptr;
delete mBeings;
- mBeings = 0;
+ mBeings = nullptr;
}
void updateList()
@@ -525,9 +525,9 @@ public:
{
std::vector<Avatar*> *avatars = mBeings->getMembers();
if (!avatars)
- return 0;
+ return nullptr;
- Avatar *ava = 0;
+ Avatar *ava = nullptr;
std::vector<Avatar*>::const_iterator i = avatars->begin();
while (i != avatars->end())
{
@@ -629,11 +629,11 @@ public:
~SocialNavigationTab()
{
delete mList;
- mList = 0;
+ mList = nullptr;
delete mScroll;
- mScroll = 0;
+ mScroll = nullptr;
delete mBeings;
- mBeings = 0;
+ mBeings = nullptr;
}
void invite()
@@ -751,7 +751,7 @@ public:
if (!map)
return;
- Avatar *ava = 0;
+ Avatar *ava = nullptr;
std::vector<Avatar*>::const_iterator i = avatars->begin();
while (i != avatars->end())
{
@@ -785,7 +785,7 @@ public:
if (!map)
return 01;
- Avatar *ava = 0;
+ Avatar *ava = nullptr;
std::vector<Avatar*>::const_iterator i = avatars->begin();
unsigned num = 0;
while (i != avatars->end())
@@ -906,11 +906,11 @@ public:
~SocialAttackTab()
{
delete mList;
- mList = 0;
+ mList = nullptr;
delete mScroll;
- mScroll = 0;
+ mScroll = nullptr;
delete mBeings;
- mBeings = 0;
+ mBeings = nullptr;
}
void invite()
@@ -1114,11 +1114,11 @@ private:
};
SocialWindow::SocialWindow() :
- Window(_("Social"), false, 0, "social.xml"),
+ Window(_("Social"), false, nullptr, "social.xml"),
mGuildInvited(0),
- mGuildAcceptDialog(0),
- mPartyAcceptDialog(0),
- mMap(0),
+ mGuildAcceptDialog(nullptr),
+ mPartyAcceptDialog(nullptr),
+ mMap(nullptr),
mLastUpdateTime(0),
mNeedUpdate(false),
mProcessedPortals(false)
@@ -1146,7 +1146,7 @@ SocialWindow::SocialWindow() :
place(2, 0, mLeaveButton);
place(0, 1, mTabs, 4, 4);
- widgetResized(NULL);
+ widgetResized(nullptr);
mCreatePopup = new CreatePopup();
@@ -1165,7 +1165,7 @@ SocialWindow::SocialWindow() :
}
else
{
- mAttackFilter = 0;
+ mAttackFilter = nullptr;
}
if (player_node && player_node->getParty())
@@ -1184,7 +1184,7 @@ SocialWindow::~SocialWindow()
{
mGuildAcceptDialog->close();
mGuildAcceptDialog->scheduleDelete();
- mGuildAcceptDialog = NULL;
+ mGuildAcceptDialog = nullptr;
mGuildInvited = 0;
}
@@ -1193,18 +1193,18 @@ SocialWindow::~SocialWindow()
{
mPartyAcceptDialog->close();
mPartyAcceptDialog->scheduleDelete();
- mPartyAcceptDialog = NULL;
+ mPartyAcceptDialog = nullptr;
mPartyInviter = "";
}
delete mCreatePopup;
- mCreatePopup = 0;
+ mCreatePopup = nullptr;
delete mPlayers;
- mPlayers = 0;
+ mPlayers = nullptr;
delete mNavigation;
- mNavigation = 0;
+ mNavigation = nullptr;
delete mAttackFilter;
- mAttackFilter = 0;
+ mAttackFilter = nullptr;
}
bool SocialWindow::addTab(Guild *guild)
@@ -1212,7 +1212,7 @@ bool SocialWindow::addTab(Guild *guild)
if (mGuilds.find(guild) != mGuilds.end())
return false;
- SocialTab *tab = 0;
+ SocialTab *tab = nullptr;
if (guild->getServerGuild())
tab = new SocialGuildTab(guild);
else
@@ -1300,7 +1300,7 @@ void SocialWindow::action(const gcn::ActionEvent &event)
}
mPartyInviter = "";
- mPartyAcceptDialog = NULL;
+ mPartyAcceptDialog = nullptr;
}
else if (event.getSource() == mGuildAcceptDialog)
{
@@ -1333,7 +1333,7 @@ void SocialWindow::action(const gcn::ActionEvent &event)
}
mGuildInvited = 0;
- mGuildAcceptDialog = NULL;
+ mGuildAcceptDialog = nullptr;
}
else if (event.getId() == "create")
{
@@ -1374,11 +1374,11 @@ void SocialWindow::action(const gcn::ActionEvent &event)
name.c_str()), BY_SERVER);
}
- mGuildCreateDialog = NULL;
+ mGuildCreateDialog = nullptr;
}
else if (event.getId() == "~create guild")
{
- mGuildCreateDialog = NULL;
+ mGuildCreateDialog = nullptr;
}
else if (event.getId() == "create party")
{
@@ -1397,11 +1397,11 @@ void SocialWindow::action(const gcn::ActionEvent &event)
name.c_str()), BY_SERVER);
}
- mPartyCreateDialog = NULL;
+ mPartyCreateDialog = nullptr;
}
else if (event.getId() == "~create party")
{
- mPartyCreateDialog = NULL;
+ mPartyCreateDialog = nullptr;
}
}
diff --git a/src/gui/specialswindow.cpp b/src/gui/specialswindow.cpp
index c464b83b5..6abff3796 100644
--- a/src/gui/specialswindow.cpp
+++ b/src/gui/specialswindow.cpp
@@ -76,7 +76,7 @@ class SpecialEntry : public Container
};
SpecialsWindow::SpecialsWindow():
- Window(_("Specials"), false, 0, "specials.xml")
+ Window(_("Specials"), false, nullptr, "specials.xml")
{
setWindowName("Specials");
setCloseButton(true);
@@ -194,10 +194,10 @@ void SpecialsWindow::rebuild(const std::map<int, Special> &specialData)
SpecialEntry::SpecialEntry(SpecialInfo *info) :
mInfo(info),
- mIcon(NULL),
- mLevelLabel(NULL),
- mUse(NULL),
- mRechargeBar(NULL)
+ mIcon(nullptr),
+ mLevelLabel(nullptr),
+ mUse(nullptr),
+ mRechargeBar(nullptr)
{
setFrameSize(1);
setOpaque(false);
diff --git a/src/gui/statuspopup.cpp b/src/gui/statuspopup.cpp
index a0c8e06d4..5f2ec71e3 100644
--- a/src/gui/statuspopup.cpp
+++ b/src/gui/statuspopup.cpp
@@ -75,29 +75,33 @@ StatusPopup::StatusPopup():
mMagicAttackType->setPosition(getPadding(),
4 + 6 * fontHeight + getPadding());
+ mPvpAttackType = new Label;
+ mPvpAttackType->setPosition(getPadding(),
+ 4 + 7 * fontHeight + getPadding());
+
mDropCounter = new Label;
- mDropCounter->setPosition(getPadding(), 8 + 7 * fontHeight + getPadding());
+ mDropCounter->setPosition(getPadding(), 8 + 8 * fontHeight + getPadding());
mPickUpType = new Label;
- mPickUpType->setPosition(getPadding(), 8 + 8 * fontHeight + getPadding());
+ mPickUpType->setPosition(getPadding(), 8 + 9 * fontHeight + getPadding());
mMapType = new Label;
- mMapType->setPosition(getPadding(), 12 + 9 * fontHeight + getPadding());
+ mMapType->setPosition(getPadding(), 12 + 10 * fontHeight + getPadding());
mImitationMode = new Label;
mImitationMode->setPosition(getPadding(),
- 16 + 10 * fontHeight + getPadding());
+ 16 + 11 * fontHeight + getPadding());
mAwayMode = new Label;
- mAwayMode->setPosition(getPadding(), 16 + 11 * fontHeight + getPadding());
+ mAwayMode->setPosition(getPadding(), 16 + 12 * fontHeight + getPadding());
mCameraMode = new Label;
mCameraMode->setPosition(getPadding(),
- 16 + 12 * fontHeight + getPadding());
+ 16 + 13 * fontHeight + getPadding());
mDisableGameModifiers = new Label;
mDisableGameModifiers->setPosition(getPadding(),
- 20 + 13 * fontHeight + getPadding());
+ 20 + 14 * fontHeight + getPadding());
add(mMoveType);
add(mCrazyMoveType);
@@ -109,6 +113,7 @@ StatusPopup::StatusPopup():
add(mPickUpType);
add(mMapType);
add(mMagicAttackType);
+ add(mPvpAttackType);
add(mDisableGameModifiers);
add(mImitationMode);
add(mAwayMode);
@@ -145,6 +150,8 @@ void StatusPopup::update()
minWidth = mMapType->getWidth();
if (mMagicAttackType->getWidth() > minWidth)
minWidth = mMagicAttackType->getWidth();
+ if (mPvpAttackType->getWidth() > minWidth)
+ minWidth = mPvpAttackType->getWidth();
if (mDisableGameModifiers->getWidth() > minWidth)
minWidth = mDisableGameModifiers->getWidth();
if (mAwayMode->getWidth() > minWidth)
@@ -476,6 +483,31 @@ void StatusPopup::updateLabels()
}
mMagicAttackType->adjustSize();
+ switch (player_node->getPvpAttackType())
+ {
+ case 0:
+ setLabelText(mPvpAttackType, _("(a) attack all players"),
+ keyboard.KEY_SWITCH_PVP_ATTACK);
+ break;
+ case 1:
+ setLabelText(mPvpAttackType, _("(f) attack not friends"),
+ keyboard.KEY_SWITCH_PVP_ATTACK);
+ break;
+ case 2:
+ setLabelText(mPvpAttackType, _("(b) attack bad relations"),
+ keyboard.KEY_SWITCH_PVP_ATTACK);
+ break;
+ case 3:
+ setLabelText(mPvpAttackType, _("(d) dont attack players"),
+ keyboard.KEY_SWITCH_PVP_ATTACK);
+ break;
+ default:
+ setLabelText(mMagicAttackType, _("(?) pvp attack"),
+ keyboard.KEY_SWITCH_MAGIC_ATTACK);
+ break;
+ }
+ mPvpAttackType->adjustSize();
+
switch (player_node->getImitationMode())
{
case 0:
@@ -493,7 +525,7 @@ void StatusPopup::updateLabels()
}
mImitationMode->adjustSize();
- switch ((int)player_node->getAwayMode())
+ switch ((int)player_node->getAway())
{
case 0:
setLabelText(mAwayMode, _("(O) on keyboard"), keyboard.KEY_AWAY);
diff --git a/src/gui/statuspopup.h b/src/gui/statuspopup.h
index 802b077a6..2af8064c5 100644
--- a/src/gui/statuspopup.h
+++ b/src/gui/statuspopup.h
@@ -72,6 +72,7 @@ class StatusPopup : public Popup
gcn::Label *mPickUpType;
gcn::Label *mMapType;
gcn::Label *mMagicAttackType;
+ gcn::Label *mPvpAttackType;
gcn::Label *mDisableGameModifiers;
gcn::Label *mImitationMode;
gcn::Label *mAwayMode;
diff --git a/src/gui/statuswindow.cpp b/src/gui/statuswindow.cpp
index c746eb82d..37a706baf 100644
--- a/src/gui/statuswindow.cpp
+++ b/src/gui/statuswindow.cpp
@@ -123,7 +123,8 @@ class ChangeDisplay : public AttrDisplay, gcn::ActionListener
};
StatusWindow::StatusWindow():
- Window(player_node ? player_node->getName() : "?", false, 0, "status.xml")
+ Window(player_node ? player_node->getName() :
+ "?", false, nullptr, "status.xml")
{
listen(Mana::CHANNEL_ATTRIBUTES);
@@ -177,8 +178,8 @@ StatusWindow::StatusWindow():
}
else
{
- mMpLabel = 0;
- mMpBar = 0;
+ mMpLabel = nullptr;
+ mMpBar = nullptr;
}
place(0, 0, mLvlLabel, 3);
@@ -210,9 +211,9 @@ StatusWindow::StatusWindow():
}
else
{
- mJobLvlLabel = 0;
- mJobLabel = 0;
- mJobBar = 0;
+ mJobLvlLabel = nullptr;
+ mJobLabel = nullptr;
+ mJobBar = nullptr;
}
// ----------------------
@@ -787,6 +788,25 @@ void StatusWindow::updateStatusBar(ProgressBar *bar, bool percent A_UNUSED)
break;
}
+ switch (player_node->getPvpAttackType())
+ {
+ case 0:
+ str += translateLetter(N_("(a)"));
+ break;
+ case 1:
+ str += translateLetter(N_("(f)"));
+ break;
+ case 2:
+ str += translateLetter(N_("(b)"));
+ break;
+ case 3:
+ str += translateLetter(N_("(d)"));
+ break;
+ default:
+ str += translateLetter(N_("(?)"));
+ break;
+ }
+
str += " " + toString(player_node->getQuickDropCounter());
switch (player_node->getPickUpType())
@@ -873,7 +893,7 @@ void StatusWindow::updateStatusBar(ProgressBar *bar, bool percent A_UNUSED)
break;
}
- switch ((int)player_node->getAwayMode())
+ switch ((int)player_node->getAway())
{
case 0:
str += translateLetter(N_("(O)"));
@@ -944,6 +964,7 @@ AttrDisplay::AttrDisplay(int id, const std::string &name):
AttrDisplay::~AttrDisplay()
{
delete mLayout;
+ mLayout = nullptr;
}
std::string AttrDisplay::update()
@@ -993,7 +1014,7 @@ ChangeDisplay::ChangeDisplay(int id, const std::string &name):
}
else
{
- mDec = 0;
+ mDec = nullptr;
}
update();
diff --git a/src/gui/textcommandeditor.cpp b/src/gui/textcommandeditor.cpp
index 6512f8465..7d97549f3 100644
--- a/src/gui/textcommandeditor.cpp
+++ b/src/gui/textcommandeditor.cpp
@@ -165,7 +165,7 @@ public:
TextCommandEditor::TextCommandEditor(TextCommand *command):
- Window(_("Command Editor"), false, 0, "commandeditor.xml")
+ Window(_("Command Editor"), false, nullptr, "commandeditor.xml")
{
int w = 350;
int h = 370;
@@ -302,11 +302,11 @@ TextCommandEditor::TextCommandEditor(TextCommand *command):
TextCommandEditor::~TextCommandEditor()
{
delete mIconsModal;
- mIconsModal = 0;
+ mIconsModal = nullptr;
delete mTargetTypeModel;
- mTargetTypeModel = 0;
+ mTargetTypeModel = nullptr;
delete mMagicSchoolModel;
- mMagicSchoolModel = 0;
+ mMagicSchoolModel = nullptr;
}
void TextCommandEditor::action(const gcn::ActionEvent &event)
diff --git a/src/gui/textdialog.cpp b/src/gui/textdialog.cpp
index c1539684c..a32b13aa4 100644
--- a/src/gui/textdialog.cpp
+++ b/src/gui/textdialog.cpp
@@ -40,8 +40,8 @@ int TextDialog::instances = 0;
TextDialog::TextDialog(const std::string &title, const std::string &msg,
Window *parent, bool isPassword):
Window(title, true, parent, "textdialog.xml"),
- mTextField(0),
- mPasswordField(0)
+ mTextField(nullptr),
+ mPasswordField(nullptr)
{
mEnabledKeyboard = keyboard.isEnabled();
keyboard.setEnabled(false);
diff --git a/src/gui/theme.cpp b/src/gui/theme.cpp
index 0a1a930a9..0246a5b62 100644
--- a/src/gui/theme.cpp
+++ b/src/gui/theme.cpp
@@ -48,7 +48,7 @@ static std::string defaultThemePath;
std::string Theme::mThemePath;
std::string Theme::mThemeName;
-Theme *Theme::mInstance = 0;
+Theme *Theme::mInstance = nullptr;
// Set the theme path...
static void initDefaultThemePath()
@@ -82,18 +82,18 @@ Skin::~Skin()
for (int i = 0; i < 9; i++)
{
delete mBorder.grid[i];
- mBorder.grid[i] = 0;
+ mBorder.grid[i] = nullptr;
}
if (mCloseImage)
{
mCloseImage->decRef();
- mCloseImage = 0;
+ mCloseImage = nullptr;
}
delete mStickyImageUp;
- mStickyImageUp = 0;
+ mStickyImageUp = nullptr;
delete mStickyImageDown;
- mStickyImageDown = 0;
+ mStickyImageDown = nullptr;
}
void Skin::updateAlpha(float minimumOpacityAllowed)
@@ -182,7 +182,7 @@ Theme *Theme::instance()
void Theme::deleteInstance()
{
delete mInstance;
- mInstance = 0;
+ mInstance = nullptr;
}
gcn::Color Theme::getProgressColor(int type, float progress)
@@ -295,7 +295,7 @@ void Theme::optionChanged(const std::string &)
Skin *Theme::readSkin(const std::string &filename)
{
if (filename.empty())
- return 0;
+ return nullptr;
// std::string filename = filename0;
// ResourceManager *resman = ResourceManager::getInstance();
@@ -306,14 +306,14 @@ Skin *Theme::readSkin(const std::string &filename)
xmlNodePtr rootNode = doc.rootNode();
if (!rootNode || !xmlStrEqual(rootNode->name, BAD_CAST "skinset"))
- return 0;
+ return nullptr;
const std::string skinSetImage = XML::getProperty(rootNode, "image", "");
if (skinSetImage.empty())
{
logger->log1("Theme::readSkin(): Skinset does not define an image!");
- return 0;
+ return nullptr;
}
logger->log("Theme::load(): <skinset> defines '%s' as a skin image.",
@@ -355,7 +355,7 @@ Skin *Theme::readSkin(const std::string &filename)
}
else
{
- border.grid[0] = 0;
+ border.grid[0] = nullptr;
}
}
else if (partType == "top-edge")
@@ -367,7 +367,7 @@ Skin *Theme::readSkin(const std::string &filename)
}
else
{
- border.grid[1] = 0;
+ border.grid[1] = nullptr;
}
}
else if (partType == "top-right-corner")
@@ -379,7 +379,7 @@ Skin *Theme::readSkin(const std::string &filename)
}
else
{
- border.grid[2] = 0;
+ border.grid[2] = nullptr;
}
}
@@ -393,7 +393,7 @@ Skin *Theme::readSkin(const std::string &filename)
}
else
{
- border.grid[3] = 0;
+ border.grid[3] = nullptr;
}
}
else if (partType == "bg-quad")
@@ -405,7 +405,7 @@ Skin *Theme::readSkin(const std::string &filename)
}
else
{
- border.grid[4] = 0;
+ border.grid[4] = nullptr;
}
}
else if (partType == "right-edge")
@@ -417,7 +417,7 @@ Skin *Theme::readSkin(const std::string &filename)
}
else
{
- border.grid[5] = 0;
+ border.grid[5] = nullptr;
}
}
@@ -431,7 +431,7 @@ Skin *Theme::readSkin(const std::string &filename)
}
else
{
- border.grid[6] = 0;
+ border.grid[6] = nullptr;
}
}
else if (partType == "bottom-edge")
@@ -443,7 +443,7 @@ Skin *Theme::readSkin(const std::string &filename)
}
else
{
- border.grid[7] = 0;
+ border.grid[7] = nullptr;
}
}
else if (partType == "bottom-right-corner")
@@ -455,7 +455,7 @@ Skin *Theme::readSkin(const std::string &filename)
}
else
{
- border.grid[8] = 0;
+ border.grid[8] = nullptr;
}
}
@@ -490,8 +490,8 @@ Skin *Theme::readSkin(const std::string &filename)
// to look for window buttons
Image *closeImage = Theme::getImageFromTheme("close_button.png");
Image *sticky = Theme::getImageFromTheme("sticky_button.png");
- Image *stickyImageUp = 0;
- Image *stickyImageDown = 0;
+ Image *stickyImageUp = nullptr;
+ Image *stickyImageDown = nullptr;
if (sticky)
{
stickyImageUp = sticky->getSubImage(0, 0, 15, 15);
@@ -526,7 +526,7 @@ void Theme::fillSkinsList(std::vector<std::string> &list)
char **skins = PHYSFS_enumerateFiles(
branding.getStringValue("guiThemePath").c_str());
- for (char **i = skins; *i != 0; i++)
+ for (char **i = skins; *i; i++)
{
if (PHYSFS_isDirectory((
branding.getStringValue("guiThemePath") + *i).c_str()))
@@ -544,7 +544,7 @@ void Theme::fillFontsList(std::vector<std::string> &list)
char **fonts = PHYSFS_enumerateFiles(
branding.getStringValue("fontsPath").c_str());
- for (char **i = fonts; *i != 0; i++)
+ for (char **i = fonts; *i; i++)
{
if (!PHYSFS_isDirectory((
branding.getStringValue("fontsPath") + *i).c_str()))
diff --git a/src/gui/tradewindow.cpp b/src/gui/tradewindow.cpp
index bd7e9bb1e..506bf65c9 100644
--- a/src/gui/tradewindow.cpp
+++ b/src/gui/tradewindow.cpp
@@ -63,11 +63,11 @@
#define CAPTION_ACCEPTED _("Agreed. Waiting...")
TradeWindow::TradeWindow():
- Window(_("Trade: You"), false, 0, "trade.xml"),
+ Window(_("Trade: You"), false, nullptr, "trade.xml"),
mMyInventory(new Inventory(Inventory::TRADE)),
mPartnerInventory(new Inventory(Inventory::TRADE)),
mStatus(PROPOSING),
- mAutoAddItem(0),
+ mAutoAddItem(nullptr),
mAutoAddToNick(""),
mGotMoney(0),
mGotMaxMoney(0),
@@ -390,7 +390,7 @@ void TradeWindow::close()
void TradeWindow::clear()
{
- mAutoAddItem = 0;
+ mAutoAddItem = nullptr;
mAutoAddToNick = "";
mAutoMoney = 0;
mAutoAddAmount = 0;
diff --git a/src/gui/unregisterdialog.cpp b/src/gui/unregisterdialog.cpp
index cc5caca60..c43f28400 100644
--- a/src/gui/unregisterdialog.cpp
+++ b/src/gui/unregisterdialog.cpp
@@ -47,7 +47,7 @@
#include "debug.h"
UnRegisterDialog::UnRegisterDialog(LoginData *data):
- Window(_("Unregister"), true, 0, "unregister.xml"),
+ Window(_("Unregister"), true, nullptr, "unregister.xml"),
mWrongDataNoticeListener(new WrongDataNoticeListener),
mLoginData(data)
{
@@ -92,7 +92,7 @@ UnRegisterDialog::UnRegisterDialog(LoginData *data):
UnRegisterDialog::~UnRegisterDialog()
{
delete mWrongDataNoticeListener;
- mWrongDataNoticeListener = 0;
+ mWrongDataNoticeListener = nullptr;
}
void UnRegisterDialog::action(const gcn::ActionEvent &event)
diff --git a/src/gui/updaterwindow.cpp b/src/gui/updaterwindow.cpp
index 2efe82199..ac51cc76f 100644
--- a/src/gui/updaterwindow.cpp
+++ b/src/gui/updaterwindow.cpp
@@ -135,7 +135,7 @@ UpdaterWindow::UpdaterWindow(const std::string &updateHost,
const std::string &updatesDir,
bool applyUpdates,
int updateType):
- Window(_("Updating..."), false, 0, "update.xml"),
+ Window(_("Updating..."), false, nullptr, "update.xml"),
mDownloadStatus(UPDATE_NEWS),
mUpdateHost(updateHost),
mUpdatesDir(updatesDir),
@@ -147,8 +147,8 @@ UpdaterWindow::UpdaterWindow(const std::string &updateHost,
mDownloadComplete(true),
mUserCancel(false),
mDownloadedBytes(0),
- mMemoryBuffer(NULL),
- mDownload(NULL),
+ mMemoryBuffer(nullptr),
+ mDownload(nullptr),
mUpdateIndex(0),
mUpdateIndexOffset(0),
mLoadUpdates(applyUpdates),
@@ -202,7 +202,7 @@ UpdaterWindow::~UpdaterWindow()
mDownload->cancel();
delete mDownload;
- mDownload = 0;
+ mDownload = nullptr;
}
free(mMemoryBuffer);
}
@@ -256,7 +256,7 @@ void UpdaterWindow::keyPressed(gcn::KeyEvent &keyEvent)
if (key.getValue() == Key::ESCAPE)
{
- action(gcn::ActionEvent(NULL, mCancelButton->getActionEventId()));
+ action(gcn::ActionEvent(nullptr, mCancelButton->getActionEventId()));
Client::setState(STATE_WORLD_SELECT);
}
else if (key.getValue() == Key::ENTER)
@@ -264,11 +264,12 @@ void UpdaterWindow::keyPressed(gcn::KeyEvent &keyEvent)
if (mDownloadStatus == UPDATE_COMPLETE ||
mDownloadStatus == UPDATE_ERROR)
{
- action(gcn::ActionEvent(NULL, mPlayButton->getActionEventId()));
+ action(gcn::ActionEvent(nullptr, mPlayButton->getActionEventId()));
}
else
{
- action(gcn::ActionEvent(NULL, mCancelButton->getActionEventId()));
+ action(gcn::ActionEvent(nullptr,
+ mCancelButton->getActionEventId()));
}
}
}
@@ -294,12 +295,12 @@ void UpdaterWindow::loadNews()
while (line)
{
mBrowserBox->addRow(line);
- line = strtok(NULL, "\n");
+ line = strtok(nullptr, "\n");
}
// Free the memory buffer now that we don't need it anymore
free(mMemoryBuffer);
- mMemoryBuffer = NULL;
+ mMemoryBuffer = nullptr;
mDownloadedBytes = 0;
mScrollArea->setVerticalScrollAmount(0);
@@ -340,7 +341,7 @@ void UpdaterWindow::loadPatch()
// Free the memory buffer now that we don't need it anymore
free(mMemoryBuffer);
- mMemoryBuffer = NULL;
+ mMemoryBuffer = nullptr;
mDownloadedBytes = 0;
mScrollArea->setVerticalScrollAmount(0);
@@ -365,7 +366,7 @@ int UpdaterWindow::updateProgress(void *ptr, DownloadStatus status,
uw->mDownloadStatus = UPDATE_COMPLETE;
uw->mDownloadComplete = true;
free(uw->mMemoryBuffer);
- uw->mMemoryBuffer = NULL;
+ uw->mMemoryBuffer = nullptr;
}
else
{
diff --git a/src/gui/viewport.cpp b/src/gui/viewport.cpp
index 97a467add..3086a027f 100644
--- a/src/gui/viewport.cpp
+++ b/src/gui/viewport.cpp
@@ -56,7 +56,7 @@
extern volatile int tick_time;
Viewport::Viewport():
- mMap(0),
+ mMap(nullptr),
mMouseX(0),
mMouseY(0),
mPixelViewX(0.0f),
@@ -65,9 +65,9 @@ Viewport::Viewport():
mCameraMode(0),
mPlayerFollowMouse(false),
mLocalWalkTime(-1),
- mHoverBeing(0),
- mHoverItem(0),
- mHoverSign(0),
+ mHoverBeing(nullptr),
+ mHoverItem(nullptr),
+ mHoverSign(nullptr),
mCameraRelativeX(0),
mCameraRelativeY(0)
{
@@ -104,11 +104,11 @@ Viewport::~Viewport()
config.removeListener("enableLazyScrolling", this);
delete mPopupMenu;
- mPopupMenu = 0;
+ mPopupMenu = nullptr;
delete mBeingPopup;
- mBeingPopup = 0;
+ mBeingPopup = nullptr;
delete mTextPopup;
- mTextPopup = 0;
+ mTextPopup = nullptr;
}
void Viewport::setMap(Map *map)
@@ -298,8 +298,8 @@ void Viewport::_followMouse()
if (mPlayerFollowMouse && button & SDL_BUTTON(1))
{
// We create a mouse event and send it to mouseDragged.
- Uint8 *keys = SDL_GetKeyState(NULL);
- gcn::MouseEvent mouseEvent(NULL,
+ Uint8 *keys = SDL_GetKeyState(nullptr);
+ gcn::MouseEvent mouseEvent(nullptr,
(keys[SDLK_LSHIFT] || keys[SDLK_RSHIFT]),
false,
false,
@@ -699,7 +699,7 @@ void Viewport::showUndressPopup(int x, int y, Being *being, Item *item)
void Viewport::closePopupMenu()
{
if (mPopupMenu)
- mPopupMenu->handleLink("cancel", 0);
+ mPopupMenu->handleLink("cancel", nullptr);
}
void Viewport::optionChanged(const std::string &name A_UNUSED)
@@ -738,7 +738,7 @@ void Viewport::mouseMoved(gcn::MouseEvent &event A_UNUSED)
mBeingPopup->setVisible(false);
}
- mHoverItem = 0;
+ mHoverItem = nullptr;
if (!mHoverBeing && actorSpriteManager)
{
mHoverItem = actorSpriteManager->findItem(x / mMap->getTileWidth(),
@@ -844,17 +844,17 @@ void Viewport::hideBeingPopup()
void Viewport::clearHover(ActorSprite *actor)
{
if (mHoverBeing == actor)
- mHoverBeing = 0;
+ mHoverBeing = nullptr;
if (mHoverItem == actor)
- mHoverItem = 0;
+ mHoverItem = nullptr;
}
void Viewport::cleanHoverItems()
{
- mHoverBeing = 0;
- mHoverItem = 0;
- mHoverSign = 0;
+ mHoverBeing = nullptr;
+ mHoverItem = nullptr;
+ mHoverSign = nullptr;
}
void Viewport::moveCamera(int dx, int dy)
diff --git a/src/gui/whoisonline.cpp b/src/gui/whoisonline.cpp
index 3fb63a105..ead38f42b 100644
--- a/src/gui/whoisonline.cpp
+++ b/src/gui/whoisonline.cpp
@@ -82,12 +82,12 @@ class NameFunctuator
} nameCompare;
WhoIsOnline::WhoIsOnline():
- Window(_("Who Is Online - Updating"), false, 0, "whoisonline.xml"),
- mThread(NULL),
+ Window(_("Who Is Online - Updating"), false, nullptr, "whoisonline.xml"),
+ mThread(nullptr),
mDownloadStatus(UPDATE_LIST),
mDownloadComplete(true),
mDownloadedBytes(0),
- mMemoryBuffer(NULL),
+ mMemoryBuffer(nullptr),
mCurlError(new char[CURL_ERROR_SIZE]),
mAllowUpdate(true),
mShowLevel(false)
@@ -137,10 +137,10 @@ WhoIsOnline::~WhoIsOnline()
config.removeListener("updateOnlineList", this);
if (mThread && SDL_GetThreadID(mThread))
- SDL_WaitThread(mThread, NULL);
+ SDL_WaitThread(mThread, nullptr);
free(mMemoryBuffer);
- mMemoryBuffer = 0;
+ mMemoryBuffer = nullptr;
// Remove possibly leftover temporary download
delete[] mCurlError;
@@ -206,7 +206,7 @@ void WhoIsOnline::loadList()
mShowLevel = config.getBoolValue("showlevel");
- while (line != NULL)
+ while (line)
{
std::string nick;
lineStr = line;
@@ -295,7 +295,7 @@ void WhoIsOnline::loadList()
{
listStarted = true;
}
- line = strtok(NULL, "\n");
+ line = strtok(nullptr, "\n");
}
//Set window caption
@@ -333,7 +333,7 @@ void WhoIsOnline::loadList()
// Free the memory buffer now that we don't need it anymore
free(mMemoryBuffer);
- mMemoryBuffer = 0;
+ mMemoryBuffer = nullptr;
if (mScrollArea->getVerticalMaxScroll() <
mScrollArea->getVerticalScrollAmount())
@@ -377,7 +377,7 @@ int WhoIsOnline::downloadThread(void *ptr)
if (!wio->mAllowUpdate)
{
curl_easy_cleanup(curl);
- curl = 0;
+ curl = nullptr;
break;
}
wio->mDownloadedBytes = 0;
@@ -398,7 +398,7 @@ int WhoIsOnline::downloadThread(void *ptr)
curl_easy_setopt(curl, CURLOPT_CONNECTTIMEOUT, 7);
curl_easy_setopt(curl, CURLOPT_TIMEOUT, 30);
- struct curl_slist *pHeaders = 0;
+ struct curl_slist *pHeaders = nullptr;
// Make sure the resources2.txt and news.txt aren't cached,
// in order to always get the latest version.
pHeaders = curl_slist_append(pHeaders, "pragma: no-cache");
@@ -422,7 +422,7 @@ int WhoIsOnline::downloadThread(void *ptr)
attempts++;
curl_easy_cleanup(curl);
curl_slist_free_all(pHeaders);
- curl = 0;
+ curl = nullptr;
continue;
}
@@ -448,12 +448,12 @@ void WhoIsOnline::download()
{
mDownloadComplete = true;
if (mThread && SDL_GetThreadID(mThread))
- SDL_WaitThread(mThread, NULL);
+ SDL_WaitThread(mThread, nullptr);
mDownloadComplete = false;
mThread = SDL_CreateThread(WhoIsOnline::downloadThread, this);
- if (mThread == NULL)
+ if (mThread == nullptr)
mDownloadStatus = UPDATE_ERROR;
}
@@ -525,8 +525,8 @@ void WhoIsOnline::action(const gcn::ActionEvent &event)
setCaption(_("Who Is Online - Update"));
if (mThread && SDL_GetThreadID(mThread))
{
- SDL_WaitThread(mThread, NULL);
- mThread = NULL;
+ SDL_WaitThread(mThread, nullptr);
+ mThread = nullptr;
}
mDownloadComplete = true;
}
diff --git a/src/gui/widgets/avatarlistbox.cpp b/src/gui/widgets/avatarlistbox.cpp
index 18dc48417..8264f0fb9 100644
--- a/src/gui/widgets/avatarlistbox.cpp
+++ b/src/gui/widgets/avatarlistbox.cpp
@@ -43,8 +43,8 @@
#include "debug.h"
int AvatarListBox::instances = 0;
-Image *AvatarListBox::onlineIcon = 0;
-Image *AvatarListBox::offlineIcon = 0;
+Image *AvatarListBox::onlineIcon = nullptr;
+Image *AvatarListBox::offlineIcon = nullptr;
AvatarListBox::AvatarListBox(AvatarListModel *model):
ListBox(model),
@@ -83,12 +83,12 @@ AvatarListBox::~AvatarListBox()
if (onlineIcon)
{
onlineIcon->decRef();
- onlineIcon = 0;
+ onlineIcon = nullptr;
}
if (offlineIcon)
{
offlineIcon->decRef();
- offlineIcon = 0;
+ offlineIcon = nullptr;
}
}
}
diff --git a/src/gui/widgets/browserbox.cpp b/src/gui/widgets/browserbox.cpp
index 1419e213c..5ded29c55 100644
--- a/src/gui/widgets/browserbox.cpp
+++ b/src/gui/widgets/browserbox.cpp
@@ -29,6 +29,7 @@
#include "utils/stringutils.h"
+#include "gui/gui.h"
#include "gui/palette.h"
#include "gui/theme.h"
@@ -48,8 +49,9 @@
BrowserBox::BrowserBox(unsigned int mode, bool opaque):
gcn::Widget(),
- mLinkHandler(0),
- mMode(mode), mHighMode(UNDERLINE | BACKGROUND),
+ mLinkHandler(nullptr),
+ mMode(mode),
+ mHighMode(UNDERLINE | BACKGROUND),
mOpaque(opaque),
mUseLinksAndUserColors(true),
mSelectedLink(-1),
@@ -371,7 +373,10 @@ void BrowserBox::draw(gcn::Graphics *graphics)
if (!part.mType)
{
graphics->setColor(part.mColor);
- font->drawString(graphics, part.mText, part.mX, part.mY);
+ if (part.mBold)
+ boldFont->drawString(graphics, part.mText, part.mX, part.mY);
+ else
+ font->drawString(graphics, part.mText, part.mX, part.mY);
}
else if (part.mImage)
{
@@ -389,6 +394,8 @@ int BrowserBox::calcHeight()
int moreHeight = 0;
int maxWidth = getWidth();
int link = 0;
+ bool bold = false;
+
if (getWidth() < 0)
return 1;
@@ -417,7 +424,7 @@ int BrowserBox::calcHeight()
const int dashWidth = fontWidthMinus;
for (x = 0; x < (unsigned)getWidth(); x++)
{
- mLineParts.push_back(LinePart(x, y, selColor, "-"));
+ mLineParts.push_back(LinePart(x, y, selColor, "-", false));
x += dashWidth - 2;
}
@@ -458,6 +465,8 @@ int BrowserBox::calcHeight()
wrapped = false;
}
+ bold = false;
+
// "Tokenize" the string at control sequences
if (mUseLinksAndUserColors)
end = row.find("##", start + 1);
@@ -483,6 +492,14 @@ int BrowserBox::calcHeight()
prevColor = selColor;
selColor = col;
}
+ else if (c == 'B')
+ {
+ bold = true;
+ }
+ else if (c == 'b')
+ {
+ bold = false;
+ }
else if (valid)
{
selColor = col;
@@ -533,10 +550,16 @@ int BrowserBox::calcHeight()
std::string part = row.substr(start, len);
+ int width = 0;
+ if (bold)
+ width = boldFont->getWidth(part);
+ else
+ width = font->getWidth(part);
+
// Auto wrap mode
if (mMode == AUTO_WRAP && getWidth() > 0
- && font->getWidth(part) > 0
- && (x + font->getWidth(part) + 10) > (unsigned)getWidth())
+ && width > 0
+ && (x + width + 10) > (unsigned)getWidth())
{
bool forced = false;
@@ -564,16 +587,20 @@ int BrowserBox::calcHeight()
end--; // And then to the last byte of the previous one
part = row.substr(start, end - start + 1);
+ if (bold)
+ width = boldFont->getWidth(part);
+ else
+ width = font->getWidth(part);
}
- while (end > start && font->getWidth(part) > 0
- && (x + font->getWidth(part) + 10)
+ while (end > start && width > 0
+ && (x + width + 10)
> (unsigned)getWidth());
if (forced)
{
x -= hyphenWidth; // Remove the wrap-notifier accounting
mLineParts.push_back(LinePart(getWidth() - hyphenWidth,
- y, selColor, hyphen));
+ y, selColor, hyphen, bold));
end++; // Skip to the next character
}
else
@@ -585,12 +612,17 @@ int BrowserBox::calcHeight()
wrappedLines++;
}
- mLineParts.push_back(LinePart(x, y, selColor, part.c_str()));
+ mLineParts.push_back(LinePart(x, y, selColor, part.c_str(), bold));
+
+ if (bold)
+ width = boldFont->getWidth(part);
+ else
+ width = font->getWidth(part);
- if (mMode == AUTO_WRAP && font->getWidth(part) == 0)
+ if (mMode == AUTO_WRAP && width == 0)
break;
- x += font->getWidth(part);
+ x += width;
}
y += fontHeight;
}
@@ -617,5 +649,5 @@ LinePart::~LinePart()
{
if (mImage)
mImage->decRef();
- mImage = 0;
+ mImage = nullptr;
}
diff --git a/src/gui/widgets/browserbox.h b/src/gui/widgets/browserbox.h
index e86f0288e..06609b318 100644
--- a/src/gui/widgets/browserbox.h
+++ b/src/gui/widgets/browserbox.h
@@ -30,6 +30,8 @@
#include <list>
#include <vector>
+#include "localconsts.h"
+
class Image;
class Resource;
class LinkHandler;
@@ -44,13 +46,15 @@ struct BROWSER_LINK
class LinePart
{
public:
- LinePart(int x, int y, gcn::Color color, std::string text) :
- mX(x), mY(y), mColor(color), mText(text), mType(0), mImage(0)
+ LinePart(int x, int y, gcn::Color color, std::string text, bool bold) :
+ mX(x), mY(y), mColor(color), mText(text), mType(0),
+ mImage(nullptr), mBold(bold)
{
}
LinePart(int x, int y, gcn::Color color, Image *image) :
- mX(x), mY(y), mColor(color), mText(""), mType(1), mImage(image)
+ mX(x), mY(y), mColor(color), mText(""), mType(1),
+ mImage(image), mBold(false)
{
}
@@ -61,6 +65,7 @@ class LinePart
std::string mText;
unsigned char mType;
Image *mImage;
+ bool mBold;
};
/**
diff --git a/src/gui/widgets/button.cpp b/src/gui/widgets/button.cpp
index 7c46ae9df..85e4eca17 100644
--- a/src/gui/widgets/button.cpp
+++ b/src/gui/widgets/button.cpp
@@ -146,7 +146,7 @@ Button::~Button()
mInstances--;
delete mVertexes;
- mVertexes = 0;
+ mVertexes = nullptr;
if (mInstances == 0)
{
for (int mode = 0; mode < BUTTON_COUNT; mode++)
diff --git a/src/gui/widgets/chattab.cpp b/src/gui/widgets/chattab.cpp
index 9a29ae204..0a224605a 100644
--- a/src/gui/widgets/chattab.cpp
+++ b/src/gui/widgets/chattab.cpp
@@ -82,9 +82,9 @@ ChatTab::~ChatTab()
chatWindow->removeTab(this);
delete mTextOutput;
- mTextOutput = 0;
+ mTextOutput = nullptr;
delete mScrollArea;
- mScrollArea = 0;
+ mScrollArea = nullptr;
}
void ChatTab::chatLog(std::string line, Own own,
diff --git a/src/gui/widgets/checkbox.cpp b/src/gui/widgets/checkbox.cpp
index 65d26e196..dcedc8951 100644
--- a/src/gui/widgets/checkbox.cpp
+++ b/src/gui/widgets/checkbox.cpp
@@ -70,12 +70,12 @@ CheckBox::CheckBox(const std::string &caption, bool selected,
}
else
{
- checkBoxNormal = 0;
- checkBoxChecked = 0;
- checkBoxDisabled = 0;
- checkBoxDisabledChecked = 0;
- checkBoxNormalHi = 0;
- checkBoxCheckedHi = 0;
+ checkBoxNormal = nullptr;
+ checkBoxChecked = nullptr;
+ checkBoxDisabled = nullptr;
+ checkBoxDisabledChecked = nullptr;
+ checkBoxNormalHi = nullptr;
+ checkBoxCheckedHi = nullptr;
}
}
@@ -97,17 +97,17 @@ CheckBox::~CheckBox()
if (instances == 0)
{
delete checkBoxNormal;
- checkBoxNormal = 0;
+ checkBoxNormal = nullptr;
delete checkBoxChecked;
- checkBoxChecked = 0;
+ checkBoxChecked = nullptr;
delete checkBoxDisabled;
- checkBoxDisabled = 0;
+ checkBoxDisabled = nullptr;
delete checkBoxDisabledChecked;
- checkBoxDisabledChecked = 0;
+ checkBoxDisabledChecked = nullptr;
delete checkBoxNormalHi;
- checkBoxNormalHi = 0;
+ checkBoxNormalHi = nullptr;
delete checkBoxCheckedHi;
- checkBoxCheckedHi = 0;
+ checkBoxCheckedHi = nullptr;
}
}
diff --git a/src/gui/widgets/checkbox.h b/src/gui/widgets/checkbox.h
index a16ab242c..4e293aad6 100644
--- a/src/gui/widgets/checkbox.h
+++ b/src/gui/widgets/checkbox.h
@@ -25,6 +25,8 @@
#include <guichan/widgets/checkbox.hpp>
+#include "localconsts.h"
+
#ifdef __GNUC__
#define A_UNUSED __attribute__ ((unused))
#else
@@ -45,7 +47,7 @@ class CheckBox : public gcn::CheckBox
* Constructor.
*/
CheckBox(const std::string &caption, bool selected = false,
- gcn::ActionListener* listener = NULL,
+ gcn::ActionListener* listener = nullptr,
std::string eventId = "");
/**
diff --git a/src/gui/widgets/desktop.cpp b/src/gui/widgets/desktop.cpp
index 46240f76d..beb232fb2 100644
--- a/src/gui/widgets/desktop.cpp
+++ b/src/gui/widgets/desktop.cpp
@@ -39,7 +39,7 @@
#include "debug.h"
Desktop::Desktop() :
- mWallpaper(0)
+ mWallpaper(nullptr)
{
addWidgetListener(this);
@@ -66,7 +66,7 @@ Desktop::~Desktop()
if (mWallpaper)
{
mWallpaper->decRef();
- mWallpaper = 0;
+ mWallpaper = nullptr;
}
}
diff --git a/src/gui/widgets/dropdown.cpp b/src/gui/widgets/dropdown.cpp
index 687d7dc6d..2a17320de 100644
--- a/src/gui/widgets/dropdown.cpp
+++ b/src/gui/widgets/dropdown.cpp
@@ -133,7 +133,7 @@ DropDown::~DropDown()
}
delete mScrollArea;
- mScrollArea = 0;
+ mScrollArea = nullptr;
}
void DropDown::updateAlpha()
diff --git a/src/gui/widgets/dropdown.h b/src/gui/widgets/dropdown.h
index 4cbd23314..3559b634a 100644
--- a/src/gui/widgets/dropdown.h
+++ b/src/gui/widgets/dropdown.h
@@ -25,6 +25,8 @@
#include <guichan/widgets/dropdown.hpp>
+#include "localconsts.h"
+
class Image;
class ImageRect;
@@ -47,7 +49,7 @@ class DropDown : public gcn::DropDown
* @see ListModel, ScrollArea, ListBox.
*/
DropDown(gcn::ListModel *listModel = 0,
- gcn::ActionListener* listener = NULL,
+ gcn::ActionListener* listener = nullptr,
std::string eventId = "");
~DropDown();
diff --git a/src/gui/widgets/dropshortcutcontainer.cpp b/src/gui/widgets/dropshortcutcontainer.cpp
index 1fa272448..8335a61bc 100644
--- a/src/gui/widgets/dropshortcutcontainer.cpp
+++ b/src/gui/widgets/dropshortcutcontainer.cpp
@@ -49,7 +49,7 @@
DropShortcutContainer::DropShortcutContainer():
ShortcutContainer(),
mItemClicked(false),
- mItemMoved(NULL)
+ mItemMoved(nullptr)
{
addMouseListener(this);
addWidgetListener(this);
@@ -82,10 +82,10 @@ DropShortcutContainer::~DropShortcutContainer()
if (mBackgroundImg)
{
mBackgroundImg->decRef();
- mBackgroundImg = 0;
+ mBackgroundImg = nullptr;
}
delete mItemPopup;
- mItemPopup = 0;
+ mItemPopup = nullptr;
}
void DropShortcutContainer::draw(gcn::Graphics *graphics)
@@ -254,14 +254,14 @@ void DropShortcutContainer::mouseReleased(gcn::MouseEvent &event)
const int index = getIndexFromGrid(event.getX(), event.getY());
if (index == -1)
{
- mItemMoved = NULL;
+ mItemMoved = nullptr;
return;
}
if (mItemMoved)
{
dropShortcut->setItems(index, mItemMoved->getId(),
mItemMoved->getColor());
- mItemMoved = NULL;
+ mItemMoved = nullptr;
}
if (mItemClicked)
diff --git a/src/gui/widgets/emoteshortcutcontainer.cpp b/src/gui/widgets/emoteshortcutcontainer.cpp
index cc9e8badf..e8d7bb7e3 100644
--- a/src/gui/widgets/emoteshortcutcontainer.cpp
+++ b/src/gui/widgets/emoteshortcutcontainer.cpp
@@ -90,7 +90,7 @@ EmoteShortcutContainer::~EmoteShortcutContainer()
if (mBackgroundImg)
{
mBackgroundImg->decRef();
- mBackgroundImg = 0;
+ mBackgroundImg = nullptr;
}
}
diff --git a/src/gui/widgets/flowcontainer.cpp b/src/gui/widgets/flowcontainer.cpp
index 0a64a7142..7d3ddc0b4 100644
--- a/src/gui/widgets/flowcontainer.cpp
+++ b/src/gui/widgets/flowcontainer.cpp
@@ -87,5 +87,5 @@ void FlowContainer::add(gcn::Widget *widget)
Container::add(widget);
widget->setSize(mBoxWidth, mBoxHeight);
- widgetResized(NULL);
+ widgetResized(nullptr);
}
diff --git a/src/gui/widgets/guitable.cpp b/src/gui/widgets/guitable.cpp
index e02eda88c..78ce14e56 100644
--- a/src/gui/widgets/guitable.cpp
+++ b/src/gui/widgets/guitable.cpp
@@ -76,7 +76,7 @@ GuiTableActionListener::~GuiTableActionListener()
if (mWidget)
{
mWidget->removeActionListener(this);
- mWidget->_setParent(NULL);
+ mWidget->_setParent(nullptr);
}
}
@@ -92,10 +92,10 @@ GuiTable::GuiTable(TableModel *initial_model, bool opacity) :
mLinewiseMode(false),
mWrappingEnabled(false),
mOpaque(opacity),
- mModel(NULL),
+ mModel(nullptr),
mSelectedRow(0),
mSelectedColumn(0),
- mTopWidget(NULL)
+ mTopWidget(nullptr)
{
mBackgroundColor = Theme::getThemeColor(Theme::BACKGROUND);
mHighlightColor = Theme::getThemeColor(Theme::HIGHLIGHT);
@@ -110,7 +110,7 @@ GuiTable::~GuiTable()
{
uninstallActionListeners();
delete mModel;
- mModel = 0;
+ mModel = nullptr;
}
TableModel *GuiTable::getModel() const
@@ -391,7 +391,7 @@ void GuiTable::moveToBottom(gcn::Widget *widget)
{
gcn::Widget::moveToBottom(widget);
if (widget == mTopWidget)
- mTopWidget = NULL;
+ mTopWidget = nullptr;
}
gcn::Rectangle GuiTable::getChildrenArea()
@@ -512,7 +512,7 @@ void GuiTable::modelUpdated(bool completed)
}
else
{ // before the update?
- mTopWidget = NULL; // No longer valid in general
+ mTopWidget = nullptr; // No longer valid in general
uninstallActionListeners();
}
}
@@ -531,10 +531,10 @@ gcn::Widget *GuiTable::getWidgetAt(int x, int y)
if (w && w->isFocusable())
return w;
else
- return NULL; // Grab the event locally
+ return nullptr; // Grab the event locally
}
else
- return NULL;
+ return nullptr;
}
int GuiTable::getRowForY(int y) const
diff --git a/src/gui/widgets/guitable.h b/src/gui/widgets/guitable.h
index d248c4820..cf3cb8ad8 100644
--- a/src/gui/widgets/guitable.h
+++ b/src/gui/widgets/guitable.h
@@ -23,6 +23,8 @@
#ifndef TABLE_H
#define TABLE_H
+#include "localconsts.h"
+
#include "gui/widgets/tablemodel.h"
#include <guichan/keylistener.hpp>
@@ -57,7 +59,7 @@ class GuiTable : public gcn::Widget,
friend class GuiTableActionListener;
public:
- GuiTable(TableModel * initial_model = NULL,
+ GuiTable(TableModel * initial_model = nullptr,
bool opacity = true);
virtual ~GuiTable();
diff --git a/src/gui/widgets/icon.cpp b/src/gui/widgets/icon.cpp
index 3e9c7dd24..b8cc2ac3a 100644
--- a/src/gui/widgets/icon.cpp
+++ b/src/gui/widgets/icon.cpp
@@ -30,7 +30,7 @@
#include "debug.h"
Icon::Icon(const std::string &file)
- : mImage(0)
+ : mImage(nullptr)
{
mImage = ResourceManager::getInstance()->getImage(file);
if (mImage)
diff --git a/src/gui/widgets/itemcontainer.cpp b/src/gui/widgets/itemcontainer.cpp
index 9a17d81cd..57c64093b 100644
--- a/src/gui/widgets/itemcontainer.cpp
+++ b/src/gui/widgets/itemcontainer.cpp
@@ -166,7 +166,7 @@ ItemContainer::ItemContainer(Inventory *inventory, bool forceQuantity):
mDescItems(false),
mTag(0),
mSortType(0),
- mShowMatrix(0)
+ mShowMatrix(nullptr)
{
mItemPopup = new ItemPopup;
setFocusable(true);
@@ -188,10 +188,10 @@ ItemContainer::~ItemContainer()
if (mSelImg)
{
mSelImg->decRef();
- mSelImg = 0;
+ mSelImg = nullptr;
}
delete mItemPopup;
- mItemPopup = 0;
+ mItemPopup = nullptr;
delete []mShowMatrix;
}
@@ -309,7 +309,7 @@ Item *ItemContainer::getSelectedItem() const
if (mInventory)
return mInventory->getItem(mSelectedIndex);
else
- return 0;
+ return nullptr;
}
void ItemContainer::distributeValueChangedEvent()
diff --git a/src/gui/widgets/itemlinkhandler.cpp b/src/gui/widgets/itemlinkhandler.cpp
index 6ae0f6b5b..549aa1616 100644
--- a/src/gui/widgets/itemlinkhandler.cpp
+++ b/src/gui/widgets/itemlinkhandler.cpp
@@ -42,7 +42,7 @@ ItemLinkHandler::ItemLinkHandler()
ItemLinkHandler::~ItemLinkHandler()
{
delete mItemPopup;
- mItemPopup = 0;
+ mItemPopup = nullptr;
}
void ItemLinkHandler::handleLink(const std::string &link,
diff --git a/src/gui/widgets/itemshortcutcontainer.cpp b/src/gui/widgets/itemshortcutcontainer.cpp
index 560045a29..3682ec448 100644
--- a/src/gui/widgets/itemshortcutcontainer.cpp
+++ b/src/gui/widgets/itemshortcutcontainer.cpp
@@ -51,7 +51,7 @@
ItemShortcutContainer::ItemShortcutContainer(unsigned number):
ShortcutContainer(),
mItemClicked(false),
- mItemMoved(NULL),
+ mItemMoved(nullptr),
mNumber(number)
{
addMouseListener(this);
@@ -87,12 +87,12 @@ ItemShortcutContainer::~ItemShortcutContainer()
if (mBackgroundImg)
{
mBackgroundImg->decRef();
- mBackgroundImg = 0;
+ mBackgroundImg = nullptr;
}
delete mItemPopup;
- mItemPopup = 0;
+ mItemPopup = nullptr;
delete mSpellPopup;
- mSpellPopup = 0;
+ mSpellPopup = nullptr;
}
void ItemShortcutContainer::draw(gcn::Graphics *graphics)
@@ -304,14 +304,14 @@ void ItemShortcutContainer::mouseReleased(gcn::MouseEvent &event)
const int index = getIndexFromGrid(event.getX(), event.getY());
if (index == -1)
{
- mItemMoved = NULL;
+ mItemMoved = nullptr;
return;
}
if (mItemMoved)
{
itemShortcut[mNumber]->setItems(index,
mItemMoved->getId(), mItemMoved->getColor());
- mItemMoved = NULL;
+ mItemMoved = nullptr;
}
else if (itemShortcut[mNumber]->getItem(index) && mItemClicked)
{
diff --git a/src/gui/widgets/layout.cpp b/src/gui/widgets/layout.cpp
index 52b92d0bc..7f2f1f621 100644
--- a/src/gui/widgets/layout.cpp
+++ b/src/gui/widgets/layout.cpp
@@ -45,7 +45,7 @@ LayoutCell::~LayoutCell()
if (mType == ARRAY)
{
delete mArray;
- mArray = 0;
+ mArray = nullptr;
}
}
@@ -159,7 +159,7 @@ void LayoutArray::resizeGrid(int w, int h)
i = mCells.begin();
while (i != mCells.end())
{
- i->resize(w, 0);
+ i->resize(w, nullptr);
++i;
}
}
diff --git a/src/gui/widgets/layout.h b/src/gui/widgets/layout.h
index 5e3ac4532..c4c703644 100644
--- a/src/gui/widgets/layout.h
+++ b/src/gui/widgets/layout.h
@@ -23,6 +23,8 @@
#ifndef WIDGET_LAYOUT_H
#define WIDGET_LAYOUT_H
+#include "localconsts.h"
+
#include <guichan/widgets/container.hpp>
#include <vector>
@@ -35,7 +37,7 @@ class LayoutCell;
class ContainerPlacer
{
public:
- ContainerPlacer(gcn::Container *c = NULL, LayoutCell *l = NULL):
+ ContainerPlacer(gcn::Container *c = nullptr, LayoutCell *l = nullptr):
mContainer(c), mCell(l)
{}
@@ -172,7 +174,7 @@ class LayoutCell
};
LayoutCell():
- mWidget(0),
+ mWidget(nullptr),
mHPadding(0),
mVPadding(0),
mType(NONE)
diff --git a/src/gui/widgets/playerbox.cpp b/src/gui/widgets/playerbox.cpp
index 2efaa2088..fb72176bd 100644
--- a/src/gui/widgets/playerbox.cpp
+++ b/src/gui/widgets/playerbox.cpp
@@ -68,7 +68,7 @@ PlayerBox::PlayerBox(const Being *being):
}
else
{
- background.grid[a] = 0;
+ background.grid[a] = nullptr;
}
a++;
}
@@ -85,7 +85,7 @@ PlayerBox::~PlayerBox()
{
instances--;
- mBeing = 0;
+ mBeing = nullptr;
if (instances == 0)
for_each(background.grid, background.grid + 9, dtor<Image*>());
diff --git a/src/gui/widgets/playerbox.h b/src/gui/widgets/playerbox.h
index 1b1a237d8..2bf010618 100644
--- a/src/gui/widgets/playerbox.h
+++ b/src/gui/widgets/playerbox.h
@@ -52,7 +52,8 @@ class PlayerBox : public gcn::ScrollArea
* player to <code>NULL</code> causes the box not to draw any
* character.
*/
- void setPlayer(const Being *being) { mBeing = being; }
+ void setPlayer(const Being *being)
+ { mBeing = being; }
/**
* Draws the scroll area.
diff --git a/src/gui/widgets/popup.cpp b/src/gui/widgets/popup.cpp
index ac282b088..78557d481 100644
--- a/src/gui/widgets/popup.cpp
+++ b/src/gui/widgets/popup.cpp
@@ -70,7 +70,7 @@ Popup::Popup(const std::string &name, std::string skin):
}
else
{
- mSkin = 0;
+ mSkin = nullptr;
}
// Add this window to the window container
@@ -85,13 +85,13 @@ Popup::~Popup()
logger->log("Popup::~Popup(\"%s\")", mPopupName.c_str());
delete mVertexes;
- mVertexes = 0;
+ mVertexes = nullptr;
if (mSkin)
{
if (Theme::instance())
Theme::instance()->unload(mSkin);
- mSkin = 0;
+ mSkin = nullptr;
}
}
diff --git a/src/gui/widgets/progressbar.cpp b/src/gui/widgets/progressbar.cpp
index 7324fc9ad..f9b6da153 100644
--- a/src/gui/widgets/progressbar.cpp
+++ b/src/gui/widgets/progressbar.cpp
@@ -93,7 +93,7 @@ ProgressBar::ProgressBar(float progress,
else
{
for (int f = 0; f < 9; f ++)
- mBorder.grid[f] = 0;
+ mBorder.grid[f] = nullptr;
}
}
@@ -108,7 +108,7 @@ ProgressBar::~ProgressBar()
if (mInstances == 0)
for_each(mBorder.grid, mBorder.grid + 9, dtor<Image*>());
delete mVertexes;
- mVertexes = 0;
+ mVertexes = nullptr;
}
void ProgressBar::logic()
diff --git a/src/gui/widgets/radiobutton.cpp b/src/gui/widgets/radiobutton.cpp
index feedeae7b..7d344b09d 100644
--- a/src/gui/widgets/radiobutton.cpp
+++ b/src/gui/widgets/radiobutton.cpp
@@ -112,7 +112,7 @@ void RadioButton::drawBox(gcn::Graphics* graphics)
radioCheckedHi->setAlpha(mAlpha);
}
- Image *box = NULL;
+ Image *box = nullptr;
if (isEnabled())
{
diff --git a/src/gui/widgets/resizegrip.cpp b/src/gui/widgets/resizegrip.cpp
index 861dde29e..c8822eea9 100644
--- a/src/gui/widgets/resizegrip.cpp
+++ b/src/gui/widgets/resizegrip.cpp
@@ -34,7 +34,7 @@
#include "debug.h"
-Image *ResizeGrip::gripImage = 0;
+Image *ResizeGrip::gripImage = nullptr;
int ResizeGrip::mInstances = 0;
float ResizeGrip::mAlpha = 1.0;
@@ -69,7 +69,7 @@ ResizeGrip::~ResizeGrip()
if (mInstances == 0 && gripImage)
{
gripImage->decRef();
- gripImage = 0;
+ gripImage = nullptr;
}
}
diff --git a/src/gui/widgets/scrollarea.cpp b/src/gui/widgets/scrollarea.cpp
index 3204028dc..0ec4a2027 100644
--- a/src/gui/widgets/scrollarea.cpp
+++ b/src/gui/widgets/scrollarea.cpp
@@ -111,7 +111,7 @@ ScrollArea::~ScrollArea()
buttons[RIGHT][1]->decRef();
}
delete mVertexes;
- mVertexes = 0;
+ mVertexes = nullptr;
}
void ScrollArea::init()
@@ -147,7 +147,7 @@ void ScrollArea::init()
}
else
{
- background.grid[a] = 0;
+ background.grid[a] = nullptr;
}
a++;
}
@@ -179,7 +179,7 @@ void ScrollArea::init()
}
else
{
- vMarker.grid[a] = 0;
+ vMarker.grid[a] = nullptr;
}
if (vscrollHi)
{
@@ -192,7 +192,7 @@ void ScrollArea::init()
}
else
{
- vMarkerHi.grid[a] = 0;
+ vMarkerHi.grid[a] = nullptr;
}
a++;
}
diff --git a/src/gui/widgets/setupitem.cpp b/src/gui/widgets/setupitem.cpp
index 698e133dd..8081f5d7b 100644
--- a/src/gui/widgets/setupitem.cpp
+++ b/src/gui/widgets/setupitem.cpp
@@ -53,7 +53,7 @@ SetupItem::SetupItem(std::string text, std::string description,
mUseDefault(false),
mValue(""),
mDefault(""),
- mWidget(0),
+ mWidget(nullptr),
mValueType(VBOOL)
{
}
@@ -70,7 +70,7 @@ SetupItem::SetupItem(std::string text, std::string description,
mUseDefault(true),
mValue(""),
mDefault(def),
- mWidget(0),
+ mWidget(nullptr),
mValueType(VBOOL)
{
}
@@ -184,7 +184,7 @@ SetupItemCheckBox::SetupItemCheckBox(std::string text, std::string description,
SetupItemCheckBox::~SetupItemCheckBox()
{
- mWidget = 0;
+ mWidget = nullptr;
}
void SetupItemCheckBox::createControls()
@@ -225,11 +225,11 @@ SetupItemTextField::SetupItemTextField(std::string text,
std::string eventName,
bool mainConfig) :
SetupItem(text, description, keyName, parent, eventName, mainConfig),
- mHorizont(0),
- mLabel(0),
- mTextField(0),
- mButton(0),
- mEditDialog(0)
+ mHorizont(nullptr),
+ mLabel(nullptr),
+ mTextField(nullptr),
+ mButton(nullptr),
+ mEditDialog(nullptr)
{
mValueType = VSTR;
createControls();
@@ -242,11 +242,11 @@ SetupItemTextField::SetupItemTextField(std::string text,
std::string eventName, std::string def,
bool mainConfig) :
SetupItem(text, description, keyName, parent, eventName, def, mainConfig),
- mHorizont(0),
- mLabel(0),
- mTextField(0),
- mButton(0),
- mEditDialog(0)
+ mHorizont(nullptr),
+ mLabel(nullptr),
+ mTextField(nullptr),
+ mButton(nullptr),
+ mEditDialog(nullptr)
{
mValueType = VSTR;
createControls();
@@ -254,11 +254,11 @@ SetupItemTextField::SetupItemTextField(std::string text,
SetupItemTextField::~SetupItemTextField()
{
- mHorizont = 0;
- mWidget = 0;
- mTextField = 0;
- mLabel = 0;
- mButton = 0;
+ mHorizont = nullptr;
+ mWidget = nullptr;
+ mTextField = nullptr;
+ mLabel = nullptr;
+ mButton = nullptr;
}
void SetupItemTextField::createControls()
@@ -318,7 +318,7 @@ void SetupItemTextField::action(const gcn::ActionEvent &event)
else if (event.getId() == mEventName + "_EDIT_OK")
{
mTextField->setText(mEditDialog->getMsg());
- mEditDialog = 0;
+ mEditDialog = nullptr;
}
}
@@ -339,13 +339,13 @@ SetupItemIntTextField::SetupItemIntTextField(std::string text,
int min, int max,
bool mainConfig) :
SetupItem(text, description, keyName, parent, eventName, mainConfig),
- mHorizont(0),
- mLabel(0),
- mTextField(0),
- mButton(0),
+ mHorizont(nullptr),
+ mLabel(nullptr),
+ mTextField(nullptr),
+ mButton(nullptr),
mMin(min),
mMax(max),
- mEditDialog(0)
+ mEditDialog(nullptr)
{
mValueType = VSTR;
createControls();
@@ -360,13 +360,13 @@ SetupItemIntTextField::SetupItemIntTextField(std::string text,
std::string def,
bool mainConfig) :
SetupItem(text, description, keyName, parent, eventName, def, mainConfig),
- mHorizont(0),
- mLabel(0),
- mTextField(0),
- mButton(0),
+ mHorizont(nullptr),
+ mLabel(nullptr),
+ mTextField(nullptr),
+ mButton(nullptr),
mMin(min),
mMax(max),
- mEditDialog(0)
+ mEditDialog(nullptr)
{
mValueType = VSTR;
createControls();
@@ -374,11 +374,11 @@ SetupItemIntTextField::SetupItemIntTextField(std::string text,
SetupItemIntTextField::~SetupItemIntTextField()
{
- mHorizont = 0;
- mWidget = 0;
- mTextField = 0;
- mLabel = 0;
- mButton = 0;
+ mHorizont = nullptr;
+ mWidget = nullptr;
+ mTextField = nullptr;
+ mLabel = nullptr;
+ mButton = nullptr;
}
void SetupItemIntTextField::createControls()
@@ -441,7 +441,7 @@ void SetupItemIntTextField::action(const gcn::ActionEvent &event)
else if (event.getId() == mEventName + "_EDIT_OK")
{
mTextField->setValue(atoi(mEditDialog->getMsg().c_str()));
- mEditDialog = 0;
+ mEditDialog = nullptr;
}
}
@@ -459,7 +459,7 @@ void SetupItemIntTextField::apply(std::string eventName)
SetupItemLabel::SetupItemLabel(std::string text, std::string description,
SetupTabScroll *parent, bool separator) :
SetupItem(text, description, "", parent, "", "", true),
- mLabel(0),
+ mLabel(nullptr),
mIsSeparator(separator)
{
mValueType = VNONE;
@@ -468,8 +468,8 @@ SetupItemLabel::SetupItemLabel(std::string text, std::string description,
SetupItemLabel::~SetupItemLabel()
{
- mWidget = 0;
- mLabel = 0;
+ mWidget = nullptr;
+ mLabel = nullptr;
}
void SetupItemLabel::createControls()
@@ -517,10 +517,10 @@ SetupItemDropDown::SetupItemDropDown(std::string text,
gcn::ListModel *model,
bool mainConfig) :
SetupItem(text, description, keyName, parent, eventName, mainConfig),
- mHorizont(0),
- mLabel(0),
+ mHorizont(nullptr),
+ mLabel(nullptr),
mModel(model),
- mDropDown(0)
+ mDropDown(nullptr)
{
mValueType = VSTR;
createControls();
@@ -535,10 +535,10 @@ SetupItemDropDown::SetupItemDropDown(std::string text,
std::string def,
bool mainConfig) :
SetupItem(text, description, keyName, parent, eventName, def, mainConfig),
- mHorizont(0),
- mLabel(0),
+ mHorizont(nullptr),
+ mLabel(nullptr),
mModel(model),
- mDropDown(0)
+ mDropDown(nullptr)
{
mValueType = VSTR;
createControls();
@@ -546,11 +546,11 @@ SetupItemDropDown::SetupItemDropDown(std::string text,
SetupItemDropDown::~SetupItemDropDown()
{
- mHorizont = 0;
- mWidget = 0;
- mModel = 0;
- mDropDown = 0;
- mLabel = 0;
+ mHorizont = nullptr;
+ mWidget = nullptr;
+ mModel = nullptr;
+ mDropDown = nullptr;
+ mLabel = nullptr;
}
void SetupItemDropDown::createControls()
diff --git a/src/gui/widgets/setuptabscroll.cpp b/src/gui/widgets/setuptabscroll.cpp
index e9917b090..4fb092070 100644
--- a/src/gui/widgets/setuptabscroll.cpp
+++ b/src/gui/widgets/setuptabscroll.cpp
@@ -43,10 +43,10 @@ SetupTabScroll::SetupTabScroll() :
SetupTabScroll::~SetupTabScroll()
{
- mScroll = 0;
+ mScroll = nullptr;
delete mContainer;
- mContainer = 0;
+ mContainer = nullptr;
std::set<SetupItem*>::iterator it = mAllItems.begin();
std::set<SetupItem*>::iterator it_end = mAllItems.end();
diff --git a/src/gui/widgets/shopitems.cpp b/src/gui/widgets/shopitems.cpp
index e15445b77..d3aac5c56 100644
--- a/src/gui/widgets/shopitems.cpp
+++ b/src/gui/widgets/shopitems.cpp
@@ -75,7 +75,7 @@ void ShopItems::addItemNoDup(int id, unsigned char color,
void ShopItems::addItem2(int inventoryIndex, int id, unsigned char color,
int quantity, int price)
{
- ShopItem *item = 0;
+ ShopItem *item = nullptr;
if (mMergeDuplicates)
item = findItem(id, color);
@@ -93,7 +93,7 @@ void ShopItems::addItem2(int inventoryIndex, int id, unsigned char color,
ShopItem *ShopItems::at(unsigned int i) const
{
if (i >= mShopItems.size())
- return 0;
+ return nullptr;
return mShopItems.at(i);
}
@@ -137,5 +137,5 @@ ShopItem *ShopItems::findItem(int id, unsigned char color) const
++it;
}
- return 0;
+ return nullptr;
}
diff --git a/src/gui/widgets/shoplistbox.cpp b/src/gui/widgets/shoplistbox.cpp
index 793491808..b649a81ef 100644
--- a/src/gui/widgets/shoplistbox.cpp
+++ b/src/gui/widgets/shoplistbox.cpp
@@ -47,7 +47,7 @@ float ShopListBox::mAlpha = 1.0;
ShopListBox::ShopListBox(gcn::ListModel *listModel):
ListBox(listModel),
mPlayerMoney(0),
- mShopItems(0)
+ mShopItems(nullptr)
{
mRowHeight = getFont()->getHeight();
init();
diff --git a/src/gui/widgets/shortcutcontainer.cpp b/src/gui/widgets/shortcutcontainer.cpp
index 9fd9b26c6..36f88da08 100644
--- a/src/gui/widgets/shortcutcontainer.cpp
+++ b/src/gui/widgets/shortcutcontainer.cpp
@@ -33,7 +33,7 @@
float ShortcutContainer::mAlpha = 1.0;
ShortcutContainer::ShortcutContainer():
- mBackgroundImg(0),
+ mBackgroundImg(nullptr),
mMaxItems(0),
mBoxWidth(1),
mBoxHeight(1),
diff --git a/src/gui/widgets/slider.cpp b/src/gui/widgets/slider.cpp
index d29c2211f..3822d40c9 100644
--- a/src/gui/widgets/slider.cpp
+++ b/src/gui/widgets/slider.cpp
@@ -101,9 +101,9 @@ void Slider::init()
}
else
{
- hStart = 0;
- hMid = 0;
- hEnd = 0;
+ hStart = nullptr;
+ hMid = nullptr;
+ hEnd = nullptr;
}
if (sliderHi)
{
@@ -113,9 +113,9 @@ void Slider::init()
}
else
{
- hStartHi = 0;
- hMidHi = 0;
- hEndHi = 0;
+ hStartHi = nullptr;
+ hMidHi = nullptr;
+ hEndHi = nullptr;
}
x = 6; y = 8;
@@ -123,11 +123,11 @@ void Slider::init()
if (slider)
hGrip = slider->getSubImage(x, y, w, h);
else
- hGrip = 0;
+ hGrip = nullptr;
if (sliderHi)
hGripHi = sliderHi->getSubImage(x, y, w, h);
else
- hGripHi = 0;
+ hGripHi = nullptr;
x = 0; y = 6;
w = 6; h = 21;
@@ -140,9 +140,9 @@ void Slider::init()
}
else
{
- vStart = 0;
- vMid = 0;
- vEnd = 0;
+ vStart = nullptr;
+ vMid = nullptr;
+ vEnd = nullptr;
}
if (sliderHi)
{
@@ -152,9 +152,9 @@ void Slider::init()
}
else
{
- vStartHi = 0;
- vMidHi = 0;
- vEndHi = 0;
+ vStartHi = nullptr;
+ vMidHi = nullptr;
+ vEndHi = nullptr;
}
x = 6; y = 8;
@@ -162,12 +162,12 @@ void Slider::init()
if (slider)
vGrip = slider->getSubImage(x, y, w, h);
else
- vGrip = 0;
+ vGrip = nullptr;
if (sliderHi)
vGripHi = sliderHi->getSubImage(x, y, w, h);
else
- vGripHi = 0;
+ vGripHi = nullptr;
if (slider)
slider->decRef();
diff --git a/src/gui/widgets/spellshortcutcontainer.cpp b/src/gui/widgets/spellshortcutcontainer.cpp
index 6317dd56f..5c4dbc9a1 100644
--- a/src/gui/widgets/spellshortcutcontainer.cpp
+++ b/src/gui/widgets/spellshortcutcontainer.cpp
@@ -54,7 +54,7 @@
SpellShortcutContainer::SpellShortcutContainer(unsigned number):
ShortcutContainer(),
mSpellClicked(false),
- mSpellMoved(NULL),
+ mSpellMoved(nullptr),
mNumber(number)
{
mBoxWidth = mBoxWidth;
@@ -88,9 +88,9 @@ SpellShortcutContainer::~SpellShortcutContainer()
{
if (mBackgroundImg)
mBackgroundImg->decRef();
- mBackgroundImg = 0;
+ mBackgroundImg = nullptr;
delete mSpellPopup;
- mSpellPopup = 0;
+ mSpellPopup = nullptr;
}
void SpellShortcutContainer::draw(gcn::Graphics *graphics)
@@ -251,7 +251,7 @@ void SpellShortcutContainer::mouseReleased(gcn::MouseEvent &event)
}
else if (event.getButton() == gcn::MouseEvent::RIGHT)
{
- TextCommand *spell = NULL;
+ TextCommand *spell = nullptr;
if (itemId >= 0)
spell = spellManager->getSpell(itemId);
diff --git a/src/gui/widgets/tab.cpp b/src/gui/widgets/tab.cpp
index 530f1ac82..8e4b1fe6f 100644
--- a/src/gui/widgets/tab.cpp
+++ b/src/gui/widgets/tab.cpp
@@ -91,7 +91,7 @@ Tab::~Tab()
for_each(tabImg[mode].grid, tabImg[mode].grid + 9, dtor<Image*>());
}
delete mVertexes;
- mVertexes = 0;
+ mVertexes = nullptr;
}
void Tab::init()
diff --git a/src/gui/widgets/tabbedarea.cpp b/src/gui/widgets/tabbedarea.cpp
index 47b02c925..fb9279343 100644
--- a/src/gui/widgets/tabbedarea.cpp
+++ b/src/gui/widgets/tabbedarea.cpp
@@ -46,15 +46,15 @@ TabbedArea::TabbedArea()
mArrowButton[0] = new Button("<", "shift_left", this);
mArrowButton[1] = new Button(">", "shift_right", this);
- widgetResized(NULL);
+ widgetResized(nullptr);
}
TabbedArea::~TabbedArea()
{
delete mArrowButton[0];
- mArrowButton[0] = 0;
+ mArrowButton[0] = nullptr;
delete mArrowButton[1];
- mArrowButton[1] = 0;
+ mArrowButton[1] = nullptr;
}
void TabbedArea::enableScrollButtons(bool enable)
@@ -90,7 +90,7 @@ Tab *TabbedArea::getTab(const std::string &name) const
++itr;
}
- return NULL;
+ return nullptr;
}
void TabbedArea::draw(gcn::Graphics *graphics)
@@ -112,7 +112,7 @@ gcn::Widget *TabbedArea::getWidget(const std::string &name) const
++itr;
}
- return NULL;
+ return nullptr;
}
gcn::Widget *TabbedArea::getCurrentWidget()
@@ -122,7 +122,7 @@ gcn::Widget *TabbedArea::getCurrentWidget()
if (tab)
return getWidget(tab->getCaption());
else
- return NULL;
+ return nullptr;
}
void TabbedArea::addTab(gcn::Tab* tab, gcn::Widget* widget)
@@ -192,7 +192,7 @@ void TabbedArea::removeTab(gcn::Tab *tab)
if (tabIndexToBeSelected == -1)
{
- mSelectedTab = 0;
+ mSelectedTab = nullptr;
mWidgetContainer->clear();
}
else
@@ -238,7 +238,7 @@ void TabbedArea::setSelectedTab(gcn::Tab *tab)
if (newTab)
newTab->setCurrent();
- widgetResized(NULL);
+ widgetResized(nullptr);
}
void TabbedArea::setSelectedTab(const std::string &name)
@@ -266,7 +266,7 @@ void TabbedArea::widgetResized(const gcn::Event &event A_UNUSED)
if (w)
{
int newScroll = 0;
- ScrollArea* scr = 0;
+ ScrollArea* scr = nullptr;
if (mFollowDownScroll && height != 0)
{
gcn::Rectangle rect = w->getDimension();
@@ -444,14 +444,14 @@ void TabbedArea::updateArrowEnableState()
Tab *TabbedArea::getTabByIndex(int index) const
{
if (index < 0 || index >= static_cast<int>(mTabs.size()))
- return 0;
+ return nullptr;
return static_cast<Tab*>(mTabs[index].first);
}
gcn::Widget *TabbedArea::getWidgetByIndex(int index) const
{
if (index < 0 || index >= static_cast<int>(mTabs.size()))
- return 0;
+ return nullptr;
return mTabs[index].second;
}
diff --git a/src/gui/widgets/tablemodel.cpp b/src/gui/widgets/tablemodel.cpp
index 6c932a411..f54b4281a 100644
--- a/src/gui/widgets/tablemodel.cpp
+++ b/src/gui/widgets/tablemodel.cpp
@@ -68,7 +68,7 @@ StaticTableModel::StaticTableModel(int row, int column) :
mColumns(column),
mHeight(1)
{
- mTableModel.resize(row * column, NULL);
+ mTableModel.resize(row * column, nullptr);
mWidths.resize(column, 1);
}
@@ -82,7 +82,7 @@ void StaticTableModel::resize()
{
mRows = getRows();
mColumns = getColumns();
- mTableModel.resize(mRows * mColumns, NULL);
+ mTableModel.resize(mRows * mColumns, nullptr);
}
void StaticTableModel::set(int row, int column, gcn::Widget *widget)
diff --git a/src/gui/widgets/textfield.cpp b/src/gui/widgets/textfield.cpp
index 6ce4cbf3b..b4584947a 100644
--- a/src/gui/widgets/textfield.cpp
+++ b/src/gui/widgets/textfield.cpp
@@ -86,7 +86,7 @@ TextField::TextField(const std::string &text, bool loseFocusOnTab,
}
else
{
- skin.grid[a] = 0;
+ skin.grid[a] = nullptr;
}
a++;
}
diff --git a/src/gui/widgets/textfield.h b/src/gui/widgets/textfield.h
index 93f970168..e530cfef2 100644
--- a/src/gui/widgets/textfield.h
+++ b/src/gui/widgets/textfield.h
@@ -25,6 +25,8 @@
#include <guichan/widgets/textfield.hpp>
+#include "localconsts.h"
+
class ImageRect;
class TextField;
@@ -40,7 +42,7 @@ class TextField : public gcn::TextField
* Constructor, initializes the text field with the given string.
*/
TextField(const std::string &text = "", bool loseFocusOnTab = true,
- gcn::ActionListener* listener = NULL,
+ gcn::ActionListener* listener = nullptr,
std::string eventId = "", bool sendAlwaysEvents = false);
~TextField();
diff --git a/src/gui/widgets/textpreview.cpp b/src/gui/widgets/textpreview.cpp
index 07cf19b61..9be2d5b3f 100644
--- a/src/gui/widgets/textpreview.cpp
+++ b/src/gui/widgets/textpreview.cpp
@@ -44,7 +44,7 @@ TextPreview::TextPreview(const std::string &text):
mTextAlpha = false;
mFont = gui->getFont();
mTextColor = &Theme::getThemeColor(Theme::TEXT);
- mTextBGColor = NULL;
+ mTextBGColor = nullptr;
mBGColor = &Theme::getThemeColor(Theme::BACKGROUND);
mOpaque = false;
}
diff --git a/src/gui/widgets/window.cpp b/src/gui/widgets/window.cpp
index c52bf744e..273695a1a 100644
--- a/src/gui/widgets/window.cpp
+++ b/src/gui/widgets/window.cpp
@@ -49,9 +49,9 @@ int Window::mouseResize = 0;
Window::Window(const std::string &caption, bool modal, Window *parent,
std::string skin):
gcn::Window(caption),
- mGrip(0),
+ mGrip(nullptr),
mParent(parent),
- mLayout(NULL),
+ mLayout(nullptr),
mWindowName("window"),
mShowTitle(true),
mModal(modal),
@@ -91,7 +91,7 @@ Window::Window(const std::string &caption, bool modal, Window *parent,
}
else
{
- mSkin = 0;
+ mSkin = nullptr;
}
// Add this window to the window container
@@ -118,7 +118,7 @@ Window::~Window()
saveWindowState();
delete mLayout;
- mLayout = 0;
+ mLayout = nullptr;
while (!mWidgets.empty())
delete mWidgets.front();
@@ -127,7 +127,7 @@ Window::~Window()
removeWidgetListener(this);
delete mVertexes;
- mVertexes = 0;
+ mVertexes = nullptr;
instances--;
@@ -135,7 +135,7 @@ Window::~Window()
{
if (Theme::instance())
Theme::instance()->unload(mSkin);
- mSkin = 0;
+ mSkin = nullptr;
}
}
@@ -348,7 +348,7 @@ void Window::setResizable(bool r)
{
remove(mGrip);
delete mGrip;
- mGrip = 0;
+ mGrip = nullptr;
}
}
@@ -947,7 +947,7 @@ void Window::reflowLayout(int w, int h)
mLayout->reflow(w, h);
delete mLayout;
- mLayout = 0;
+ mLayout = nullptr;
setContentSize(w, h);
}
diff --git a/src/gui/widgets/window.h b/src/gui/widgets/window.h
index ffc27ab10..5ace2328e 100644
--- a/src/gui/widgets/window.h
+++ b/src/gui/widgets/window.h
@@ -25,6 +25,7 @@
#include "graphics.h"
#include "guichanfwd.h"
+#include "localconsts.h"
#include <guichan/widgetlistener.hpp>
@@ -65,7 +66,7 @@ class Window : public gcn::Window, gcn::WidgetListener
* @param skin The location where the window's skin XML can be found.
*/
Window(const std::string &caption = "Window", bool modal = false,
- Window *parent = NULL, std::string skin = "");
+ Window *parent = nullptr, std::string skin = "");
/**
* Destructor. Deletes all the added widgets.
diff --git a/src/gui/widgets/windowcontainer.cpp b/src/gui/widgets/windowcontainer.cpp
index 5a3c16037..34a6b68c7 100644
--- a/src/gui/widgets/windowcontainer.cpp
+++ b/src/gui/widgets/windowcontainer.cpp
@@ -26,7 +26,7 @@
#include "debug.h"
-WindowContainer *windowContainer = NULL;
+WindowContainer *windowContainer = nullptr;
void WindowContainer::logic()
{
diff --git a/src/gui/windowmenu.cpp b/src/gui/windowmenu.cpp
index 487035350..3f41be466 100644
--- a/src/gui/windowmenu.cpp
+++ b/src/gui/windowmenu.cpp
@@ -58,7 +58,7 @@ extern Window *botCheckerWindow;
extern Window *socialWindow;
WindowMenu::WindowMenu():
- mEmotePopup(0)
+ mEmotePopup(nullptr)
{
int x = 0, h = 0;
@@ -115,7 +115,7 @@ WindowMenu::WindowMenu():
WindowMenu::~WindowMenu()
{
delete mTextPopup;
- mTextPopup = 0;
+ mTextPopup = nullptr;
mButtonNames.clear();
std::vector <gcn::Button*>::iterator it, it_end;
for (it = mButtons.begin(), it_end = mButtons.end(); it != it_end; ++it)
@@ -132,7 +132,7 @@ WindowMenu::~WindowMenu()
void WindowMenu::action(const gcn::ActionEvent &event)
{
- Window *window = 0;
+ Window *window = nullptr;
if (event.getId() == ":-)")
{
@@ -153,14 +153,14 @@ void WindowMenu::action(const gcn::ActionEvent &event)
}
else
{
- mEmotePopup = 0;
+ mEmotePopup = nullptr;
}
}
else
{
if (windowContainer)
windowContainer->scheduleDelete(mEmotePopup);
- mEmotePopup = 0;
+ mEmotePopup = nullptr;
}
}
else if (event.getId() == "STA")
@@ -238,7 +238,7 @@ void WindowMenu::valueChanged(const gcn::SelectionEvent &event)
if (windowContainer)
windowContainer->scheduleDelete(mEmotePopup);
- mEmotePopup = 0;
+ mEmotePopup = nullptr;
}
}
diff --git a/src/gui/worldselectdialog.cpp b/src/gui/worldselectdialog.cpp
index b4f697ba3..ae5345031 100644
--- a/src/gui/worldselectdialog.cpp
+++ b/src/gui/worldselectdialog.cpp
@@ -74,7 +74,7 @@ class WorldListModel : public gcn::ListModel
};
WorldSelectDialog::WorldSelectDialog(Worlds worlds):
- Window(_("Select World"), false, 0, "world.xml")
+ Window(_("Select World"), false, nullptr, "world.xml")
{
mWorldListModel = new WorldListModel(worlds);
mWorldList = new ListBox(mWorldListModel);
@@ -114,7 +114,7 @@ WorldSelectDialog::WorldSelectDialog(Worlds worlds):
WorldSelectDialog::~WorldSelectDialog()
{
delete mWorldListModel;
- mWorldListModel = 0;
+ mWorldListModel = nullptr;
}
void WorldSelectDialog::action(const gcn::ActionEvent &event)
@@ -140,7 +140,12 @@ void WorldSelectDialog::keyPressed(gcn::KeyEvent &keyEvent)
gcn::Key key = keyEvent.getKey();
if (key.getValue() == Key::ESCAPE)
- action(gcn::ActionEvent(NULL, mChangeLoginButton->getActionEventId()));
+ {
+ action(gcn::ActionEvent(nullptr,
+ mChangeLoginButton->getActionEventId()));
+ }
else if (key.getValue() == Key::ENTER)
- action(gcn::ActionEvent(NULL, mChooseWorld->getActionEventId()));
+ {
+ action(gcn::ActionEvent(nullptr, mChooseWorld->getActionEventId()));
+ }
}
diff --git a/src/guild.cpp b/src/guild.cpp
index 5d129e11e..0e629e2be 100644
--- a/src/guild.cpp
+++ b/src/guild.cpp
@@ -129,7 +129,7 @@ GuildMember *Guild::getMember(int id) const
++itr;
}
- return NULL;
+ return nullptr;
}
GuildMember *Guild::getMember(int accountId, int charId) const
@@ -143,7 +143,7 @@ GuildMember *Guild::getMember(int accountId, int charId) const
++itr;
}
- return NULL;
+ return nullptr;
}
GuildMember *Guild::getMember(const std::string &name) const
@@ -157,7 +157,7 @@ GuildMember *Guild::getMember(const std::string &name) const
++itr;
}
- return NULL;
+ return nullptr;
}
void Guild::removeMember(GuildMember *member)
@@ -255,7 +255,7 @@ void Guild::setRights(short rights)
bool Guild::isMember(GuildMember *member) const
{
- if (member->mGuild > 0 && member->mGuild != this)
+ if (member->mGuild && member->mGuild != this)
return false;
MemberList::const_iterator itr = mMembers.begin(),
diff --git a/src/guildmanager.cpp b/src/guildmanager.cpp
index 4620de742..16edb369a 100644
--- a/src/guildmanager.cpp
+++ b/src/guildmanager.cpp
@@ -46,7 +46,7 @@ GuildManager::GuildManager() :
mSentInfoRequest(false),
mSentNameRequest(false),
mHavePower(false),
- mTab(0),
+ mTab(nullptr),
mRequest(false)
{
}
@@ -54,7 +54,7 @@ GuildManager::GuildManager() :
GuildManager::~GuildManager()
{
delete mTab;
- mTab = 0;
+ mTab = nullptr;
}
void GuildManager::init()
@@ -79,7 +79,7 @@ void GuildManager::init()
else if (guildManager)
{
delete guildManager;
- guildManager = 0;
+ guildManager = nullptr;
}
}
@@ -100,7 +100,7 @@ void GuildManager::reload()
socialWindow->removeTab(guild);
}
delete mTab;
- mTab = 0;
+ mTab = nullptr;
}
void GuildManager::send(std::string msg)
@@ -211,7 +211,7 @@ Guild *GuildManager::createGuild()
{
Guild *guild = Guild::getGuild(1);
if (!guild)
- return 0;
+ return nullptr;
guild->setServerGuild(false);
return guild;
@@ -484,7 +484,7 @@ bool GuildManager::afterRemove()
}
SERVER_NOTICE(_("You have left the guild."))
delete mTab;
- mTab = 0;
+ mTab = nullptr;
if (socialWindow)
socialWindow->removeTab(guild);
diff --git a/src/imageparticle.cpp b/src/imageparticle.cpp
index 6f6217d82..8634702ce 100644
--- a/src/imageparticle.cpp
+++ b/src/imageparticle.cpp
@@ -60,9 +60,9 @@ ImageParticle::~ImageParticle()
ImageParticle::imageParticleCountByName[name] --;
mImage->decRef();
- mImage = 0;
+ mImage = nullptr;
}
- setMap(0);
+ setMap(nullptr);
}
bool ImageParticle::draw(Graphics *graphics, int offsetX, int offsetY) const
diff --git a/src/imagesprite.cpp b/src/imagesprite.cpp
index 803c9c24f..6ccaeb5fc 100644
--- a/src/imagesprite.cpp
+++ b/src/imagesprite.cpp
@@ -44,7 +44,7 @@ ImageSprite::~ImageSprite()
if (mImage)
{
mImage->decRef();
- mImage = 0;
+ mImage = nullptr;
}
}
diff --git a/src/inventory.cpp b/src/inventory.cpp
index f907b2cc2..4521613ba 100644
--- a/src/inventory.cpp
+++ b/src/inventory.cpp
@@ -51,7 +51,7 @@ Inventory::Inventory(int type, int size):
mUsed(0)
{
mItems = new Item*[mSize];
- std::fill_n(mItems, mSize, static_cast<Item*>(0));
+ std::fill_n(mItems, mSize, static_cast<Item*>(nullptr));
}
Inventory::~Inventory()
@@ -60,7 +60,7 @@ Inventory::~Inventory()
delete mItems[i];
delete [] mItems;
- mItems = 0;
+ mItems = nullptr;
}
Item *Inventory::getItem(int index) const
@@ -68,7 +68,7 @@ Item *Inventory::getItem(int index) const
if (index < 0 || index >= static_cast<int>(mSize) || !mItems[index]
|| mItems[index]->getQuantity() <= 0)
{
- return 0;
+ return nullptr;
}
return mItems[index];
@@ -88,7 +88,7 @@ Item *Inventory::findItem(int itemId, unsigned char color) const
}
}
- return 0;
+ return nullptr;
}
void Inventory::addItem(int id, int quantity, int refine,
@@ -145,7 +145,7 @@ void Inventory::removeItem(int id)
void Inventory::removeItemAt(int index)
{
delete mItems[index];
- mItems[index] = 0;
+ mItems[index] = nullptr;
mUsed--;
if (mUsed < 0) // Already at 0, no need to distribute event
mUsed = 0;
@@ -237,7 +237,7 @@ Item *Inventory::findItemBySprite(std::string spritePath, Gender gender)
if (partialIndex != -1)
return mItems[partialIndex];
- return 0;
+ return nullptr;
}
std::string Inventory::getName()
diff --git a/src/item.cpp b/src/item.cpp
index 45a10f837..d4b41b6cb 100644
--- a/src/item.cpp
+++ b/src/item.cpp
@@ -33,8 +33,8 @@
Item::Item(int id, int quantity, int refine, unsigned char color,
bool equipment, bool equipped):
- mImage(0),
- mDrawImage(0),
+ mImage(nullptr),
+ mDrawImage(nullptr),
mQuantity(quantity),
mEquipment(equipment),
mEquipped(equipped),
@@ -50,7 +50,7 @@ Item::~Item()
if (mImage)
{
mImage->decRef();
- mImage = 0;
+ mImage = nullptr;
}
}
diff --git a/src/joystick.cpp b/src/joystick.cpp
index f45729351..29e16dff4 100644
--- a/src/joystick.cpp
+++ b/src/joystick.cpp
@@ -20,62 +20,121 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#include "configuration.h"
#include "joystick.h"
+
+#include "client.h"
+#include "configuration.h"
#include "logger.h"
#include "debug.h"
int Joystick::joystickCount = 0;
+bool Joystick::mEnabled = false;
void Joystick::init()
{
SDL_InitSubSystem(SDL_INIT_JOYSTICK);
-
- // Have SDL call SDL_JoystickUpdate() automatically
SDL_JoystickEventState(SDL_ENABLE);
-
joystickCount = SDL_NumJoysticks();
logger->log("%i joysticks/gamepads found", joystickCount);
for (int i = 0; i < joystickCount; i++)
logger->log("- %s", SDL_JoystickName(i));
+
+ mEnabled = config.getBoolValue("joystickEnabled");
+
+ if (Joystick::getNumberOfJoysticks() > 0)
+ {
+ joystick = new Joystick(config.getIntValue("selectedJoystick"));
+ if (mEnabled)
+ joystick->open();
+ }
}
Joystick::Joystick(int no):
mDirection(0),
+ mJoystick(nullptr),
+ mUpTolerance(0),
+ mDownTolerance(0),
+ mLeftTolerance(0),
+ mRightTolerance(0),
mCalibrating(false),
- mEnabled(false)
+ mCalibrated(false),
+ mButtonsNumber(MAX_BUTTONS),
+ mUseInactive(false),
+ mHaveHats(false)
{
if (no >= joystickCount)
no = joystickCount;
- mJoystick = SDL_JoystickOpen(no);
+ mNumber = no;
+
+ for (int i = 0; i < MAX_BUTTONS; i++)
+ mButtons[i] = false;
+}
+
+Joystick::~Joystick()
+{
+ close();
+}
+
+bool Joystick::open()
+{
+ logger->log("open joystick %d", mNumber);
+
+ mJoystick = SDL_JoystickOpen(mNumber);
// TODO Bail out!
if (!mJoystick)
{
logger->log("Couldn't open joystick: %s", SDL_GetError());
- return;
+ return false;
}
+ mButtonsNumber = SDL_JoystickNumButtons(mJoystick);
+ logger->log("Joystick: %i ", mNumber);
logger->log("Axes: %i ", SDL_JoystickNumAxes(mJoystick));
logger->log("Balls: %i", SDL_JoystickNumBalls(mJoystick));
logger->log("Hats: %i", SDL_JoystickNumHats(mJoystick));
- logger->log("Buttons: %i", SDL_JoystickNumButtons(mJoystick));
+ logger->log("Buttons: %i", mButtonsNumber);
- mEnabled = config.getBoolValue("joystickEnabled");
- mUpTolerance = config.getIntValue("upTolerance");
- mDownTolerance = config.getIntValue("downTolerance");
- mLeftTolerance = config.getIntValue("leftTolerance");
- mRightTolerance = config.getIntValue("rightTolerance");
+ mHaveHats = (SDL_JoystickNumHats(mJoystick) > 0);
- for (int i = 0; i < MAX_BUTTONS; i++)
- mButtons[i] = false;
+ if (mButtonsNumber > MAX_BUTTONS)
+ mButtonsNumber = MAX_BUTTONS;
+
+ mCalibrated = config.getValueBool("joystick"
+ + toString(mNumber) + "calibrated", false);
+ mUpTolerance = config.getIntValue("upTolerance" + toString(mNumber));
+ mDownTolerance = config.getIntValue("downTolerance" + toString(mNumber));
+ mLeftTolerance = config.getIntValue("leftTolerance" + toString(mNumber));
+ mRightTolerance = config.getIntValue("rightTolerance" + toString(mNumber));
+ mUseInactive = config.getBoolValue("useInactiveJoystick");
+
+ return true;
}
-Joystick::~Joystick()
+void Joystick::close()
{
- SDL_JoystickClose(mJoystick);
+ logger->log("close joystick %d", mNumber);
+ if (mJoystick)
+ {
+ SDL_JoystickClose(mJoystick);
+ mJoystick = nullptr;
+ }
+}
+
+void Joystick::setNumber(int n)
+{
+ if (mJoystick)
+ {
+ SDL_JoystickClose(mJoystick);
+ mNumber = n;
+ open();
+ }
+ else
+ {
+ mNumber = n;
+ }
}
void Joystick::update()
@@ -89,26 +148,63 @@ void Joystick::update()
return;
};
- if (!mEnabled)
+ if (!mEnabled || !mCalibrated)
return;
- // X-Axis
- int position = SDL_JoystickGetAxis(mJoystick, 0);
- if (position >= mRightTolerance)
- mDirection |= RIGHT;
- else if (position <= mLeftTolerance)
- mDirection |= LEFT;
+ if (mUseInactive || Client::getInputFocused())
+ {
+ // X-Axis
+ int position = SDL_JoystickGetAxis(mJoystick, 0);
+ if (position >= mRightTolerance)
+ mDirection |= RIGHT;
+ else if (position <= mLeftTolerance)
+ mDirection |= LEFT;
- // Y-Axis
- position = SDL_JoystickGetAxis(mJoystick, 1);
- if (position <= mUpTolerance)
- mDirection |= UP;
- else if (position >= mDownTolerance)
- mDirection |= DOWN;
+ // Y-Axis
+ position = SDL_JoystickGetAxis(mJoystick, 1);
+ if (position <= mUpTolerance)
+ mDirection |= UP;
+ else if (position >= mDownTolerance)
+ mDirection |= DOWN;
- // Buttons
- for (int i = 0; i < MAX_BUTTONS; i++)
- mButtons[i] = (SDL_JoystickGetButton(mJoystick, i) == 1);
+#ifdef DEBUG_JOYSTICK
+ if (SDL_JoystickGetAxis(mJoystick, 2))
+ logger->log("axis 2 pos: %d", SDL_JoystickGetAxis(mJoystick, 2));
+ if (SDL_JoystickGetAxis(mJoystick, 3))
+ logger->log("axis 3 pos: %d", SDL_JoystickGetAxis(mJoystick, 3));
+ if (SDL_JoystickGetAxis(mJoystick, 4))
+ logger->log("axis 4 pos: %d", SDL_JoystickGetAxis(mJoystick, 4));
+#endif
+
+ if (!mDirection && mHaveHats)
+ {
+ // reading only hat 0
+ Uint8 hat = SDL_JoystickGetHat(mJoystick, 0);
+ if (hat & SDL_HAT_RIGHT)
+ mDirection |= RIGHT;
+ else if (hat & SDL_HAT_LEFT)
+ mDirection |= LEFT;
+ if (hat & SDL_HAT_UP)
+ mDirection |= UP;
+ else if (hat & SDL_HAT_DOWN)
+ mDirection |= DOWN;
+ }
+
+ // Buttons
+ for (int i = 0; i < mButtonsNumber; i++)
+ {
+ mButtons[i] = (SDL_JoystickGetButton(mJoystick, i) == 1);
+#ifdef DEBUG_JOYSTICK
+ if (mButtons[i])
+ logger->log("button: %d", i);
+#endif
+ }
+ }
+ else
+ {
+ for (int i = 0; i < mButtonsNumber; i++)
+ mButtons[i] = false;
+ }
}
void Joystick::startCalibration()
@@ -139,14 +235,23 @@ void Joystick::doCalibration()
void Joystick::finishCalibration()
{
- config.setValue("leftTolerance", mLeftTolerance);
- config.setValue("rightTolerance", mRightTolerance);
- config.setValue("upTolerance", mUpTolerance);
- config.setValue("downTolerance", mDownTolerance);
+ mCalibrated = true;
mCalibrating = false;
+ config.setValue("joystick" + toString(mNumber) + "calibrated", true);
+ config.setValue("leftTolerance" + toString(mNumber), mLeftTolerance);
+ config.setValue("rightTolerance" + toString(mNumber), mRightTolerance);
+ config.setValue("upTolerance" + toString(mNumber), mUpTolerance);
+ config.setValue("downTolerance" + toString(mNumber), mDownTolerance);
}
bool Joystick::buttonPressed(unsigned char no) const
{
return (mEnabled && no < MAX_BUTTONS) ? mButtons[no] : false;
}
+
+void Joystick::getNames(std::vector <std::string> &names)
+{
+ names.clear();
+ for (int i = 0; i < joystickCount; i++)
+ names.push_back(SDL_JoystickName(i));
+}
diff --git a/src/joystick.h b/src/joystick.h
index 32efc5bff..be23599c9 100644
--- a/src/joystick.h
+++ b/src/joystick.h
@@ -25,6 +25,9 @@
#include <SDL.h>
+#include <string>
+#include <vector>
+
class Joystick
{
public:
@@ -33,7 +36,7 @@ class Joystick
*/
enum
{
- MAX_BUTTONS = 6
+ MAX_BUTTONS = 64
};
/**
@@ -66,12 +69,20 @@ class Joystick
~Joystick();
+ bool open();
+
+ void close();
+
bool isEnabled() const
{ return mEnabled; }
- void setEnabled(bool enabled)
+ void setNumber(int n);
+
+ static void setEnabled(bool enabled)
{ mEnabled = enabled; }
+ static void getNames(std::vector <std::string> &names);
+
/**
* Updates the direction and button information.
*/
@@ -98,18 +109,37 @@ class Joystick
bool isRight() const
{ return mEnabled && (mDirection & RIGHT); };
+ int getNumber() const
+ { return mNumber; }
+
+ void setUseInactive(bool b)
+ { mUseInactive = b; }
+
protected:
unsigned char mDirection;
bool mButtons[MAX_BUTTONS];
SDL_Joystick *mJoystick;
- int mUpTolerance, mDownTolerance, mLeftTolerance, mRightTolerance;
+ int mUpTolerance;
+ int mDownTolerance;
+ int mLeftTolerance;
+ int mRightTolerance;
bool mCalibrating;
- bool mEnabled;
+ int mNumber;
+ bool mCalibrated;
+ int mButtonsNumber;
+ bool mUseInactive;
+ bool mHaveHats;
+ /**
+ * Is joystick support enabled.
+ */
+ static bool mEnabled;
static int joystickCount;
void doCalibration();
};
+extern Joystick *joystick;
+
#endif // JOYSTICK_H
diff --git a/src/keyboardconfig.cpp b/src/keyboardconfig.cpp
index fdc8201ca..0079ee2ee 100644
--- a/src/keyboardconfig.cpp
+++ b/src/keyboardconfig.cpp
@@ -325,6 +325,8 @@ static KeyData const keyData[KeyboardConfig::KEY_TOTAL] = {
KeyboardConfig::GRP_DEFAULT},
{"keySwitchMagicAttack", SDLK_COMMA, N_("Switch magic attack"),
KeyboardConfig::GRP_DEFAULT},
+ {"keySwitchPvpAttack", KeyboardConfig::KEY_NO_VALUE,
+ N_("Switch pvp attack"), KeyboardConfig::GRP_DEFAULT},
{"keyInvertDirection", SDLK_KP0, N_("Change move type"),
KeyboardConfig::GRP_DEFAULT},
{"keyChangeAttackWeaponType", SDLK_g, N_("Change Attack Weapon Type"),
@@ -475,7 +477,7 @@ bool KeyboardConfig::isKeyActive(int index) const
void KeyboardConfig::refreshActiveKeys()
{
- mActiveKeys = SDL_GetKeyState(NULL);
+ mActiveKeys = SDL_GetKeyState(nullptr);
}
std::string KeyboardConfig::getKeyValueString(int index) const
diff --git a/src/keyboardconfig.h b/src/keyboardconfig.h
index b322eb6d1..45c5ba65f 100644
--- a/src/keyboardconfig.h
+++ b/src/keyboardconfig.h
@@ -309,6 +309,7 @@ class KeyboardConfig
KEY_MAGIC_ITENPLZ,
KEY_MAGIC_ATTACK,
KEY_SWITCH_MAGIC_ATTACK,
+ KEY_SWITCH_PVP_ATTACK,
KEY_INVERT_DIRECTION,
KEY_CHANGE_ATTACK_WEAPON_TYPE,
KEY_CHANGE_ATTACK_TYPE,
diff --git a/src/localconsts.h b/src/localconsts.h
new file mode 100644
index 000000000..cd7fcd955
--- /dev/null
+++ b/src/localconsts.h
@@ -0,0 +1,24 @@
+/*
+ * The ManaPlus Client
+ * Copyright (C) 2011 The ManaPlus Developers
+ *
+ * This file is part of The ManaPlus Client.
+ *
+ * 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 2 of the License, or
+ * 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/>.
+ */
+
+#ifndef __GXX_EXPERIMENTAL_CXX0X__
+#undef nullptr
+#define nullptr 0
+#endif
diff --git a/src/localplayer.cpp b/src/localplayer.cpp
index 58edbfd78..0739ab538 100644
--- a/src/localplayer.cpp
+++ b/src/localplayer.cpp
@@ -36,6 +36,7 @@
#include "party.h"
#include "particle.h"
#include "playerinfo.h"
+#include "playerrelations.h"
#include "simpleanimation.h"
#include "sound.h"
#include "statuseffect.h"
@@ -88,7 +89,7 @@
const short walkingKeyboardDelay = 1000;
const short awayLimitTimer = 60;
-LocalPlayer *player_node = NULL;
+LocalPlayer *player_node = nullptr;
extern std::list<BeingCacheEntry*> beingInfoCache;
extern OkDialog *weightNotice;
@@ -100,11 +101,12 @@ LocalPlayer::LocalPlayer(int id, int subtype):
Being(id, PLAYER, subtype, 0),
mTargetTime(-1),
mLastTarget(-1),
- mTarget(NULL),
+ mTarget(nullptr),
mPlayerFollowed(""),
mPlayerImitated(""),
- mPickUpTarget(NULL),
- mGoingToTarget(false), mKeepAttacking(false),
+ mPickUpTarget(nullptr),
+ mGoingToTarget(false),
+ mKeepAttacking(false),
mLastAction(-1),
mWalkingDir(0),
mPathSetByMouse(false),
@@ -113,14 +115,19 @@ LocalPlayer::LocalPlayer(int id, int subtype):
mAwayDialog(0),
mAfkTime(0),
mAwayMode(false),
+ mPseudoAwayMode(false),
mShowNavigePath(false),
mDrawPath(false),
mActivityTime(0),
- mNavigateX(0), mNavigateY(0),
+ mNavigateX(0),
+ mNavigateY(0),
mNavigateId(0),
- mCrossX(0), mCrossY(0),
- mOldX(0), mOldY(0),
- mOldTileX(0), mOldTileY(0),
+ mCrossX(0),
+ mCrossY(0),
+ mOldX(0),
+ mOldY(0),
+ mOldTileX(0),
+ mOldTileY(0),
mLastHitFrom(""),
mWaitFor(""),
mAdvertTime(0),
@@ -158,6 +165,7 @@ LocalPlayer::LocalPlayer(int id, int subtype):
mDisableCrazyMove = false;
mPickUpType = config.getIntValue("pickUpType");
mMagicAttackType = config.getIntValue("magicAttackType");
+ mPvpAttackType = config.getIntValue("pvpAttackType");
mMoveToTargetType = config.getIntValue("moveToTargetType");
mDisableGameModifiers = config.getBoolValue("disableGameModifiers");
mTargetDeadPlayers = config.getBoolValue("targetDeadPlayers");
@@ -215,9 +223,9 @@ LocalPlayer::~LocalPlayer()
config.removeListener("targetOnlyReachable", this);
delete mAwayDialog;
- mAwayDialog = 0;
+ mAwayDialog = nullptr;
delete mAwayListener;
- mAwayListener = 0;
+ mAwayListener = nullptr;
}
void LocalPlayer::logic()
@@ -261,7 +269,7 @@ void LocalPlayer::logic()
if (weightNotice && weightNoticeTime < cur_time)
{
weightNotice->scheduleDelete();
- weightNotice = 0;
+ weightNotice = nullptr;
weightNoticeTime = 0;
}
@@ -302,7 +310,7 @@ void LocalPlayer::logic()
if (get_elapsed_time(mTargetTime) >= 60000)
{
mTargetTime = tick_time;
-// setTarget(NULL);
+// setTarget(nullptr);
mLastTarget = -1;
}
@@ -357,7 +365,7 @@ void LocalPlayer::logic()
if (mTradebot && shopWindow && !shopWindow->isShopEmpty())
smile += FLAG_SHOP;
- if (mAwayMode)
+ if (mAwayMode || mPseudoAwayMode)
smile += FLAG_AWAY;
if (mInactive)
@@ -381,7 +389,7 @@ void LocalPlayer::setAction(Action action, int attackType)
debugMsg(_("You were killed by ") + mLastHitFrom);
mLastHitFrom = "";
}
- setTarget(NULL);
+ setTarget(nullptr);
}
Being::setAction(action, attackType);
@@ -939,7 +947,7 @@ bool LocalPlayer::pickUp(FloorItem *item)
if (dx * dx + dy * dy < dist)
{
Net::getPlayerHandler()->pickUp(item);
- mPickUpTarget = NULL;
+ mPickUpTarget = nullptr;
}
else if (mPickUpType >= 4 && mPickUpType <= 6)
{
@@ -974,7 +982,7 @@ bool LocalPlayer::pickUp(FloorItem *item)
void LocalPlayer::actorSpriteDestroyed(const ActorSprite &actorSprite)
{
if (mPickUpTarget == &actorSprite)
- mPickUpTarget = 0;
+ mPickUpTarget = nullptr;
}
Being *LocalPlayer::getTarget() const
@@ -1003,7 +1011,7 @@ void LocalPlayer::setTarget(Being *target)
mTargetTime = -1;
}
- Being *oldTarget = 0;
+ Being *oldTarget = nullptr;
if (mTarget)
{
mTarget->untarget();
@@ -1138,7 +1146,7 @@ void LocalPlayer::startWalking(unsigned char dir)
if (!mMap || !dir)
return;
- mPickUpTarget = 0;
+ mPickUpTarget = nullptr;
if (mAction == MOVE && !mPath.empty())
{
// Just finish the current action, otherwise we get out of sync
@@ -1211,7 +1219,7 @@ void LocalPlayer::stopWalking(bool sendToServer)
{
mWalkingDir = 0;
mLocalWalkTime = 0;
- mPickUpTarget = 0;
+ mPickUpTarget = nullptr;
setDestination(static_cast<int>(getPosition().x),
static_cast<int>(getPosition().y));
@@ -1228,6 +1236,7 @@ void LocalPlayer::stopWalking(bool sendToServer)
mPathSetByMouse = false;
clearPath();
+ navigateClean();
}
bool LocalPlayer::toggleSit()
@@ -1354,26 +1363,31 @@ void LocalPlayer::attack(Being *target, bool keep, bool dontChangeEquipment)
mTargetTime = tick_time;
}
- setAction(ATTACK);
-
- if (mEquippedWeapon)
- {
- std::string soundFile = mEquippedWeapon->getSound(EQUIP_EVENT_STRIKE);
- if (!soundFile.empty())
- sound.playSfx(soundFile);
- }
- else
+ if (target->getType() != Being::PLAYER || checAttackPermissions(target))
{
- sound.playSfx(paths.getValue("attackSfxFile", "fist-swish.ogg"));
- }
+ setAction(ATTACK);
- if (!Client::limitPackets(PACKET_ATTACK))
- return;
+ if (mEquippedWeapon)
+ {
+ std::string soundFile = mEquippedWeapon->getSound(
+ EQUIP_EVENT_STRIKE);
+ if (!soundFile.empty())
+ sound.playSfx(soundFile);
+ }
+ else
+ {
+ sound.playSfx(paths.getValue("attackSfxFile", "fist-swish.ogg"));
+ }
- if (!dontChangeEquipment && target)
- changeEquipmentBeforeAttack(target);
+ if (!Client::limitPackets(PACKET_ATTACK))
+ return;
+
+ if (!dontChangeEquipment && target)
+ changeEquipmentBeforeAttack(target);
+
+ Net::getPlayerHandler()->attack(target->getId(), mServerAttack);
+ }
- Net::getPlayerHandler()->attack(target->getId(), mServerAttack);
#ifdef MANASERV_SUPPORT
if ((Net::getNetworkType() != ServerInfo::MANASERV) && !keep)
#else
@@ -1399,7 +1413,7 @@ void LocalPlayer::untarget()
setAction(STAND);
if (mTarget)
- setTarget(NULL);
+ setTarget(nullptr);
mKeepAttacking = false;
mLastTarget = -1;
@@ -1541,7 +1555,7 @@ void LocalPlayer::setGotoTarget(Being *target)
if (!target)
return;
- mPickUpTarget = 0;
+ mPickUpTarget = nullptr;
#ifdef MANASERV_SUPPORT
if (Net::getNetworkType() == ServerInfo::MANASERV)
{
@@ -1725,7 +1739,7 @@ void LocalPlayer::moveTo(int x, int y)
void LocalPlayer::move(int dX, int dY)
{
- mPickUpTarget = 0;
+ mPickUpTarget = nullptr;
moveTo(mX + dX, mY + dY);
}
@@ -1825,7 +1839,7 @@ void LocalPlayer::moveToTarget(unsigned int dist)
void LocalPlayer::moveToHome()
{
- mPickUpTarget = 0;
+ mPickUpTarget = nullptr;
if ((mX != mCrossX || mY != mCrossY) && mCrossX && mCrossY)
{
moveTo(mCrossX, mCrossY);
@@ -1939,7 +1953,7 @@ void LocalPlayer::changeEquipmentBeforeAttack(Being* target)
bool allowSword = false;
int dx = target->getTileX() - mX;
int dy = target->getTileY() - mY;
- Item *item = NULL;
+ Item *item = nullptr;
if (dx * dx + dy * dy > 80)
return;
@@ -2888,6 +2902,17 @@ void LocalPlayer::switchMagicAttack()
miniStatusWindow->updateStatus();
}
+void LocalPlayer::switchPvpAttack()
+{
+ mPvpAttackType++;
+ if (mPvpAttackType > 3)
+ mPvpAttackType = 0;
+
+ config.setValue("pvpAttackType", mPvpAttackType);
+ if (miniStatusWindow)
+ miniStatusWindow->updateStatus();
+}
+
void LocalPlayer::magicAttack()
{
if (!chatWindow || !isAlive()
@@ -3185,7 +3210,7 @@ void LocalPlayer::changeAwayMode()
}
else
{
- mAwayDialog = 0;
+ mAwayDialog = nullptr;
sound.volumeRestore();
if (chatWindow)
{
@@ -3202,6 +3227,13 @@ void LocalPlayer::setAway(const std::string &message)
changeAwayMode();
}
+void LocalPlayer::setPseudoAway(const std::string &message)
+{
+ if (!message.empty())
+ config.setValue("afkMessage", message);
+ mPseudoAwayMode = !mPseudoAwayMode;
+}
+
void LocalPlayer::afkRespond(ChatTab *tab, const std::string &nick)
{
if (mAwayMode)
@@ -3651,7 +3683,7 @@ void LocalPlayer::followMoveTo(Being *being, int x, int y)
if (being && !mPlayerFollowed.empty()
&& being->getName() == mPlayerFollowed)
{
- mPickUpTarget = 0;
+ mPickUpTarget = nullptr;
setDestination(x, y);
}
}
@@ -3661,7 +3693,7 @@ void LocalPlayer::followMoveTo(Being *being, int x1, int y1, int x2, int y2)
if (!being)
return;
- mPickUpTarget = 0;
+ mPickUpTarget = nullptr;
if (!mPlayerFollowed.empty() && being->getName() == mPlayerFollowed)
{
switch (mFollowMode)
@@ -3888,6 +3920,7 @@ void LocalPlayer::resetYellowBar()
mAttackWeaponType = config.resetIntValue("attackWeaponType");
mAttackType = config.resetIntValue("attackType");
mMagicAttackType = config.resetIntValue("magicAttackType");
+ mPvpAttackType = config.resetIntValue("pvpAttackType");
mQuickDropCounter = config.resetIntValue("quickDropCounter");
mPickUpType = config.resetIntValue("pickUpType");
if (viewport)
@@ -3928,9 +3961,29 @@ void LocalPlayer::stopAdvert()
mBlockAdvert = true;
}
+bool LocalPlayer::checAttackPermissions(Being *target)
+{
+ if (!target)
+ return false;
+
+ switch (mPvpAttackType)
+ {
+ case 0:
+ return true;
+ case 1:
+ return !(player_relations.getRelation(target->getName())
+ == PlayerRelation::FRIEND);
+ case 2:
+ return player_relations.checkBadRelation(target->getName());
+ default:
+ case 3:
+ return false;
+ }
+}
+
void AwayListener::action(const gcn::ActionEvent &event)
{
- if (event.getId() == "ok" && player_node && player_node->getAwayMode())
+ if (event.getId() == "ok" && player_node && player_node->getAway())
{
player_node->changeAwayMode();
if (outfitWindow)
diff --git a/src/localplayer.h b/src/localplayer.h
index 414933e70..08ebbe841 100644
--- a/src/localplayer.h
+++ b/src/localplayer.h
@@ -28,6 +28,7 @@
#include "client.h"
#include "game.h"
#include "listener.h"
+#include "localconsts.h"
#include "gui/userpalette.h"
@@ -136,10 +137,10 @@ class LocalPlayer : public Being, public ActorSpriteListener,
int getAttackRange2();
- void attack(Being *target = NULL, bool keep = false,
+ void attack(Being *target = nullptr, bool keep = false,
bool dontChangeEquipment = false);
- void attack2(Being *target = NULL, bool keep = false,
+ void attack2(Being *target = nullptr, bool keep = false,
bool dontChangeEquipment = false);
void setGMLevel(int level);
@@ -271,9 +272,14 @@ class LocalPlayer : public Being, public ActorSpriteListener,
void switchMagicAttack();
+ void switchPvpAttack();
+
int getMagicAttackType()
{ return mMagicAttackType ; }
+ int getPvpAttackType()
+ { return mPvpAttackType ; }
+
int getMoveToTargetType()
{ return mMoveToTargetType ; }
@@ -325,14 +331,16 @@ class LocalPlayer : public Being, public ActorSpriteListener,
void changeAwayMode();
- bool getAwayMode()
- { return mAwayMode; }
-
void setAway(const std::string &message);
+ void setPseudoAway(const std::string &message);
+
bool getAway()
{ return mAwayMode; }
+ bool getPseudoAway()
+ { return mPseudoAwayMode; }
+
void setHalfAway(bool n)
{ mInactive = n; }
@@ -415,7 +423,7 @@ class LocalPlayer : public Being, public ActorSpriteListener,
{ return mPickUpTarget; }
void unSetPickUpTarget()
- { mPickUpTarget = 0; }
+ { mPickUpTarget = nullptr; }
/**
* Stop following a player.
@@ -473,6 +481,8 @@ class LocalPlayer : public Being, public ActorSpriteListener,
void stopAdvert();
+ bool checAttackPermissions(Being *target);
+
protected:
/** Whether or not the name settings have changed */
bool mUpdateName;
@@ -524,6 +534,8 @@ class LocalPlayer : public Being, public ActorSpriteListener,
unsigned int mPickUpType;
//magic attack type
unsigned int mMagicAttackType;
+ //pvp attack type
+ unsigned int mPvpAttackType;
//type how move to target
unsigned int mMoveToTargetType;
unsigned int mAttackType;
@@ -571,6 +583,7 @@ class LocalPlayer : public Being, public ActorSpriteListener,
int mPingTime;
int mAfkTime;
bool mAwayMode;
+ bool mPseudoAwayMode;
bool mShowNavigePath;
bool mIsServerBuggy;
diff --git a/src/logger.cpp b/src/logger.cpp
index 8ce92c6d6..c2eb1cc46 100644
--- a/src/logger.cpp
+++ b/src/logger.cpp
@@ -43,7 +43,7 @@
Logger::Logger():
mLogToStandardOut(true),
- mChatWindow(NULL),
+ mChatWindow(nullptr),
mDebugLog(false)
{
}
@@ -80,7 +80,7 @@ void Logger::dlog(std::string str)
// Get the current system time
timeval tv;
- gettimeofday(&tv, NULL);
+ gettimeofday(&tv, nullptr);
// Print the log entry
std::stringstream timeStr;
@@ -112,7 +112,7 @@ void Logger::log1(const char *buf)
{
// Get the current system time
timeval tv;
- gettimeofday(&tv, NULL);
+ gettimeofday(&tv, nullptr);
// Print the log entry
std::stringstream timeStr;
@@ -143,7 +143,7 @@ void Logger::log1(const char *buf)
void Logger::log(const char *log_text, ...)
{
unsigned size = 1024;
- char* buf = 0;
+ char* buf = nullptr;
if (strlen(log_text) * 3> size)
size = static_cast<unsigned>(strlen(log_text) * 3);
@@ -158,7 +158,7 @@ void Logger::log(const char *log_text, ...)
// Get the current system time
timeval tv;
- gettimeofday(&tv, NULL);
+ gettimeofday(&tv, nullptr);
// Print the log entry
std::stringstream timeStr;
@@ -193,17 +193,17 @@ void Logger::error(const std::string &error_text)
{
log("Error: %s", error_text.c_str());
#ifdef WIN32
- MessageBox(NULL, error_text.c_str(), "Error", MB_ICONERROR | MB_OK);
+ MessageBox(nullptr, error_text.c_str(), "Error", MB_ICONERROR | MB_OK);
#elif defined __APPLE__
// Str255 msg;
// CFStringRef error;
-// error = CFStringCreateWithCString(NULL,
+// error = CFStringCreateWithCString(nullptr,
// error_text.c_str(),
// kCFStringEncodingMacRoman);
// CFStringGetPascalString(error, msg, 255, kCFStringEncodingMacRoman);
// StandardAlert(kAlertStopAlert,
// (const unsigned char*)"\pError",
-// (ConstStr255Param) msg, NULL, NULL);
+// (ConstStr255Param) msg, nullptr, nullptr);
#elif defined __linux__ || __linux
std::cerr << "Error: " << error_text << std::endl;
std::string msg = "xmessage \"" + error_text + "\"";
diff --git a/src/main.cpp b/src/main.cpp
index 5eceee77b..b49b38300 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -107,12 +107,12 @@ static void parseOptions(int argc, char *argv[], Client::Options &options)
{ "chat-log-dir", required_argument, 0, 'L' },
{ "screenshot-dir", required_argument, 0, 'i' },
{ "safemode", no_argument, 0, 'm' },
- { 0, 0, 0, 0 }
+ { nullptr, 0, 0, 0 }
};
while (optind < argc)
{
- int result = getopt_long(argc, argv, optstring, long_options, NULL);
+ int result = getopt_long(argc, argv, optstring, long_options, nullptr);
if (result == -1)
break;
@@ -191,27 +191,6 @@ static void parseOptions(int argc, char *argv[], Client::Options &options)
extern "C" char const *_nl_locale_name_default(void);
#endif
-static void initInternationalization()
-{
-#if ENABLE_NLS
-#ifdef WIN32
- putenv(("LANG=" + std::string(_nl_locale_name_default())).c_str());
- // mingw doesn't like LOCALEDIR to be defined for some reason
- bindtextdomain("manaplus", "translations/");
-#else
-#ifdef ENABLE_PORTABLE
- bindtextdomain("manaplus", (std::string(PHYSFS_getBaseDir())
- + "../locale/").c_str());
-#else
- bindtextdomain("manaplus", LOCALEDIR);
-#endif
-#endif
- setlocale(LC_MESSAGES, "");
- bind_textdomain_codeset("manaplus", "UTF-8");
- textdomain("manaplus");
-#endif
-}
-
static void xmlNullLogger(void *ctx A_UNUSED, const char *msg A_UNUSED, ...)
{
// Does nothing, that's the whole point of it
@@ -225,7 +204,7 @@ static void initXML()
LIBXML_TEST_VERSION;
// Suppress libxml2 error messages
- xmlSetGenericErrorFunc(NULL, xmlNullLogger);
+ xmlSetGenericErrorFunc(nullptr, xmlNullLogger);
}
@@ -260,8 +239,6 @@ int main(int argc, char *argv[])
return 1;
}
- initInternationalization();
-
atexit((void(*)()) PHYSFS_deinit);
initXML();
diff --git a/src/main.h b/src/main.h
index 63db481a5..f0f3b8c2c 100644
--- a/src/main.h
+++ b/src/main.h
@@ -45,8 +45,8 @@
* different interfaces, which have different implementations for each server.
*/
-#define SMALL_VERSION "1.1.10.30"
-#define CHECK_VERSION "01.01.10.30"
+#define SMALL_VERSION "1.1.11.12"
+#define CHECK_VERSION "01.01.11.12"
#ifdef HAVE_CONFIG_H
#include "../config.h"
diff --git a/src/map.cpp b/src/map.cpp
index dc742d6bb..bcf2b22fe 100644
--- a/src/map.cpp
+++ b/src/map.cpp
@@ -90,7 +90,7 @@ class ActorFunctuator
} actorCompare;
TileAnimation::TileAnimation(Animation *ani):
- mLastImage(NULL)
+ mLastImage(nullptr)
{
mAnimation = new SimpleAnimation(ani);
}
@@ -98,7 +98,7 @@ TileAnimation::TileAnimation(Animation *ani):
TileAnimation::~TileAnimation()
{
delete mAnimation;
- mAnimation = 0;
+ mAnimation = nullptr;
}
void TileAnimation::update(int ticks)
@@ -132,7 +132,7 @@ MapLayer::MapLayer(int x, int y, int width, int height, bool fringeLayer):
const int size = mWidth * mHeight;
mTiles = new Image*[size];
- std::fill_n(mTiles, size, static_cast<Image*>(0));
+ std::fill_n(mTiles, size, static_cast<Image*>(nullptr));
config.addListener("highlightAttackRange", this);
}
@@ -258,8 +258,8 @@ void MapLayer::updateSDL(Graphics *graphics, int startX, int startY,
MapRowVertexes *row = new MapRowVertexes();
mTempRows.push_back(row);
- Image *lastImage = 0;
- ImageVertexes *imgVert = 0;
+ Image *lastImage = nullptr;
+ ImageVertexes *imgVert = nullptr;
const int yWidth = y * mWidth;
const int py0 = y * 32 + dy;
@@ -337,8 +337,8 @@ void MapLayer::updateOGL(Graphics *graphics, int startX, int startY,
MapRowVertexes *row = new MapRowVertexes();
mTempRows.push_back(row);
- Image *lastImage = 0;
- ImageVertexes *imgVert = 0;
+ Image *lastImage = nullptr;
+ ImageVertexes *imgVert = nullptr;
const int yWidth = y * mWidth;
const int py0 = y * 32 + dy;
@@ -614,11 +614,11 @@ Map::Map(int width, int height, int tileWidth, int tileHeight):
mOpacity(config.getFloatValue("guialpha")),
mPvp(0),
mTilesetsIndexed(false),
- mIndexedTilesets(0),
+ mIndexedTilesets(nullptr),
mIndexedTilesetsSize(0),
mActorFixX(0),
mActorFixY(0),
- mFringeLayer(0),
+ mFringeLayer(nullptr),
mLastX(-1),
mLastY(-1),
mLastScrollX(-1),
@@ -671,18 +671,18 @@ Map::~Map()
for (int i = 0; i < NB_BLOCKTYPES; i++)
delete[] mOccupation[i];
- mFringeLayer = 0;
+ mFringeLayer = nullptr;
delete_all(mLayers);
delete_all(mTilesets);
delete_all(mForegrounds);
delete_all(mBackgrounds);
delete_all(mTileAnimations);
delete mSpecialLayer;
- mSpecialLayer = 0;
+ mSpecialLayer = nullptr;
delete mTempLayer;
- mTempLayer = 0;
+ mTempLayer = nullptr;
delete mObjects;
- mObjects = 0;
+ mObjects = nullptr;
delete_all(mMapPortals);
}
@@ -1139,7 +1139,7 @@ Tileset *Map::getTilesetWithGid(int gid) const
if (gid >= 0 && gid < mIndexedTilesetsSize)
return mIndexedTilesets[gid];
else
- return 0;
+ return nullptr;
}
void Map::blockTile(int x, int y, BlockType type)
@@ -1797,17 +1797,17 @@ MapItem *Map::findPortalXY(int x, int y)
if (item->mX == x && item->mY == y)
return item;
}
- return 0;
+ return nullptr;
}
TileAnimation *Map::getAnimationForGid(int gid) const
{
if (mTileAnimations.empty())
- return 0;
+ return nullptr;
std::map<int, TileAnimation*>::const_iterator
i = mTileAnimations.find(gid);
- return (i == mTileAnimations.end()) ? NULL : i->second;
+ return (i == mTileAnimations.end()) ? nullptr : i->second;
}
void Map::setPvpMode(int mode)
@@ -1868,7 +1868,7 @@ void Map::indexTilesets()
mTilesetsIndexed = true;
- Tileset *s = 0;
+ Tileset *s = nullptr;
for (Tilesets::const_iterator it = mTilesets.begin(),
it_end = mTilesets.end(); it < it_end;
++it)
@@ -1882,14 +1882,14 @@ void Map::indexTilesets()
if (!s)
{
mIndexedTilesetsSize = 0;
- mIndexedTilesets = 0;
+ mIndexedTilesets = nullptr;
return;
}
const int size = s->getFirstGid() + s->size();
mIndexedTilesetsSize = size;
mIndexedTilesets = new Tileset*[size];
- std::fill_n(mIndexedTilesets, size, static_cast<Tileset*>(0));
+ std::fill_n(mIndexedTilesets, size, static_cast<Tileset*>(nullptr));
for (Tilesets::const_iterator it = mTilesets.begin(),
it_end = mTilesets.end(); it < it_end;
@@ -2031,7 +2031,7 @@ void Map::reduce()
img = (*ri)->mTiles[x + y * (*ri)->mWidth];
if (img)
{
- (*ri)->mTiles[x + y * (*ri)->mWidth] = 0;
+ (*ri)->mTiles[x + y * (*ri)->mWidth] = nullptr;
cnt ++;
}
++ ri;
@@ -2055,7 +2055,7 @@ SpecialLayer::SpecialLayer(int width, int height, bool drawSprites):
{
const int size = mWidth * mHeight;
mTiles = new MapItem*[size];
- std::fill_n(mTiles, size, static_cast<MapItem*>(0));
+ std::fill_n(mTiles, size, static_cast<MapItem*>(nullptr));
mDrawSprites = drawSprites;
}
@@ -2064,7 +2064,7 @@ SpecialLayer::~SpecialLayer()
for (int f = 0; f < mWidth * mHeight; f ++)
{
delete mTiles[f];
- mTiles[f] = 0;
+ mTiles[f] = nullptr;
}
delete[] mTiles;
}
@@ -2074,7 +2074,7 @@ MapItem* SpecialLayer::getTile(int x, int y) const
if (x < 0 || x >= mWidth ||
y < 0 || y >= mHeight)
{
- return 0;
+ return nullptr;
}
return mTiles[x + y * mWidth];
}
@@ -2175,25 +2175,25 @@ void SpecialLayer::itemDraw(Graphics *graphics, int x, int y,
MapItem::MapItem():
- mImage(0), mComment(""), mName(""), mX(-1), mY(-1)
+ mImage(nullptr), mComment(""), mName(""), mX(-1), mY(-1)
{
setType(EMPTY);
}
MapItem::MapItem(int type):
- mImage(0), mComment(""), mName(""), mX(-1), mY(-1)
+ mImage(nullptr), mComment(""), mName(""), mX(-1), mY(-1)
{
setType(type);
}
MapItem::MapItem(int type, std::string comment):
- mImage(0), mComment(comment), mName(""), mX(-1), mY(-1)
+ mImage(nullptr), mComment(comment), mName(""), mX(-1), mY(-1)
{
setType(type);
}
MapItem::MapItem(int type, std::string comment, int x, int y):
- mImage(0), mComment(comment), mName(""), mX(x), mY(y)
+ mImage(nullptr), mComment(comment), mName(""), mX(x), mY(y)
{
setType(type);
}
@@ -2203,7 +2203,7 @@ MapItem::~MapItem()
if (mImage)
{
mImage->decRef();
- mImage = 0;
+ mImage = nullptr;
}
}
@@ -2239,7 +2239,7 @@ void MapItem::setType(int type)
}
else
{
- mImage = 0;
+ mImage = nullptr;
}
}
@@ -2296,7 +2296,7 @@ ObjectsLayer::ObjectsLayer(unsigned width, unsigned height) :
{
const unsigned size = width * height;
mTiles = new MapObjectList*[size];
- std::fill_n(mTiles, size, static_cast<MapObjectList*>(0));
+ std::fill_n(mTiles, size, static_cast<MapObjectList*>(nullptr));
}
ObjectsLayer::~ObjectsLayer()
@@ -2306,7 +2306,7 @@ ObjectsLayer::~ObjectsLayer()
delete mTiles[f];
delete [] mTiles;
- mTiles = 0;
+ mTiles = nullptr;
}
void ObjectsLayer::addObject(std::string name, int type,
@@ -2338,7 +2338,7 @@ void ObjectsLayer::addObject(std::string name, int type,
MapObjectList *ObjectsLayer::getAt(unsigned x, unsigned y)
{
if (x >= mWidth || y >= mHeight)
- return 0;
+ return nullptr;
return mTiles[x + y * mWidth];
}
diff --git a/src/mumblemanager.cpp b/src/mumblemanager.cpp
index 2b3f15afa..766f4085e 100644
--- a/src/mumblemanager.cpp
+++ b/src/mumblemanager.cpp
@@ -29,7 +29,7 @@
#include "debug.h"
MumbleManager::MumbleManager() :
- mLinkedMem(0)
+ mLinkedMem(nullptr)
{
mMapBase[0] = mMapBase[1] = mMapBase[2] = 0.;
init();
@@ -45,7 +45,7 @@ MumbleManager::~MumbleManager()
#else
munmap(mLinkedMem, sizeof(struct LinkedMem));
#endif
- mLinkedMem = 0;
+ mLinkedMem = nullptr;
}
}
@@ -86,7 +86,7 @@ void MumbleManager::init()
#ifdef WIN32
HANDLE hMapObject = OpenFileMappingW(FILE_MAP_ALL_ACCESS,
FALSE, L"MumbleLink");
- if (hMapObject == NULL)
+ if (!hMapObject)
{
logger->log1("MumbleManager::init can't open MumbleLink");
return;
@@ -95,10 +95,10 @@ void MumbleManager::init()
mLinkedMem = (LinkedMem *) MapViewOfFile(hMapObject,
FILE_MAP_ALL_ACCESS, 0, 0, sizeof(LinkedMem));
- if (mLinkedMem == NULL)
+ if (!mLinkedMem)
{
CloseHandle(hMapObject);
- hMapObject = NULL;
+ hMapObject = nullptr;
logger->log1("MumbleManager::init can't map MumbleLink");
return;
}
@@ -116,12 +116,13 @@ void MumbleManager::init()
return;
}
- mLinkedMem = static_cast<LinkedMem *>(mmap(NULL, sizeof(struct LinkedMem),
- PROT_READ | PROT_WRITE, MAP_SHARED, shmfd, 0));
+ mLinkedMem = static_cast<LinkedMem *>(mmap(nullptr,
+ sizeof(struct LinkedMem), PROT_READ | PROT_WRITE,
+ MAP_SHARED, shmfd, 0));
if (mLinkedMem == reinterpret_cast<void *>(-1))
{
- mLinkedMem = NULL;
+ mLinkedMem = nullptr;
logger->log1("MumbleManager::init can't map MumbleLink");
return;
}
diff --git a/src/net/download.cpp b/src/net/download.cpp
index 969318b19..5141c022e 100644
--- a/src/net/download.cpp
+++ b/src/net/download.cpp
@@ -53,12 +53,12 @@ Download::Download(void *ptr, const std::string &url,
mPtr(ptr),
mUrl(url),
mFileName(""),
- mWriteFunction(NULL),
+ mWriteFunction(nullptr),
mAdler(0),
mUpdateFunction(updateFunction),
- mThread(NULL),
- mCurl(NULL),
- mHeaders(NULL),
+ mThread(nullptr),
+ mCurl(nullptr),
+ mHeaders(nullptr),
mIgnoreError(ignoreError)
{
mError = static_cast<char*>(calloc(CURL_ERROR_SIZE + 1, 1));
@@ -72,11 +72,11 @@ Download::~Download()
if (mHeaders)
curl_slist_free_all(mHeaders);
- mHeaders = 0;
+ mHeaders = nullptr;
int status;
if (mThread && SDL_GetThreadID(mThread))
SDL_WaitThread(mThread, &status);
- mThread = 0;
+ mThread = nullptr;
free(mError);
}
@@ -158,9 +158,9 @@ void Download::cancel()
mOptions.cancel = true;
if (mThread && SDL_GetThreadID(mThread))
- SDL_WaitThread(mThread, NULL);
+ SDL_WaitThread(mThread, nullptr);
- mThread = NULL;
+ mThread = nullptr;
}
char *Download::getError()
@@ -204,14 +204,14 @@ int Download::downloadThread(void *ptr)
while (attempts < 3 && !complete && !d->mOptions.cancel)
{
- FILE *file = NULL;
+ FILE *file = nullptr;
d->mUpdateFunction(d->mPtr, DOWNLOAD_STATUS_STARTING, 0, 0);
if (d->mOptions.cancel)
{
//need terminate thread?
- d->mThread = NULL;
+ d->mThread = nullptr;
return 0;
}
@@ -281,7 +281,7 @@ int Download::downloadThread(void *ptr)
}
curl_easy_cleanup(d->mCurl);
- d->mCurl = 0;
+ d->mCurl = nullptr;
if (!d->mOptions.memoryWrite)
{
@@ -329,13 +329,13 @@ int Download::downloadThread(void *ptr)
if (d->mCurl)
{
curl_easy_cleanup(d->mCurl);
- d->mCurl = 0;
+ d->mCurl = nullptr;
}
if (d->mOptions.cancel)
{
//need ternibate thread?
- d->mThread = NULL;
+ d->mThread = nullptr;
return 0;
}
attempts++;
@@ -354,7 +354,7 @@ int Download::downloadThread(void *ptr)
d->mUpdateFunction(d->mPtr, DOWNLOAD_STATUS_COMPLETE, 0, 0);
}
- d->mThread = NULL;
+ d->mThread = nullptr;
return 0;
}
diff --git a/src/net/ea/beinghandler.cpp b/src/net/ea/beinghandler.cpp
index 8fca76353..5c3c694b3 100644
--- a/src/net/ea/beinghandler.cpp
+++ b/src/net/ea/beinghandler.cpp
@@ -67,7 +67,7 @@ BeingHandler::BeingHandler(bool enableSync) :
Being *BeingHandler::createBeing(int id, short job)
{
if (!actorSpriteManager)
- return 0;
+ return nullptr;
ActorSprite::Type type = ActorSprite::UNKNOWN;
if (job <= 25 || (job >= 4001 && job <= 4049))
@@ -143,7 +143,7 @@ void BeingHandler::processBeingVisibleOrMove(Net::MessageIn &msg, bool visible)
{
actorSpriteManager->destroy(dstBeing);
actorSpriteManager->erase(dstBeing);
- dstBeing = 0;
+ dstBeing = nullptr;
}
if (!dstBeing)
diff --git a/src/net/ea/buysellhandler.cpp b/src/net/ea/buysellhandler.cpp
index f38d17a59..28584d97f 100644
--- a/src/net/ea/buysellhandler.cpp
+++ b/src/net/ea/buysellhandler.cpp
@@ -51,7 +51,7 @@ namespace Ea
BuySellHandler::BuySellHandler() :
mNpcId(0),
- mBuyDialog(0)
+ mBuyDialog(nullptr)
{
}
diff --git a/src/net/ea/charserverhandler.cpp b/src/net/ea/charserverhandler.cpp
index 08c9a43c8..0c01959f2 100644
--- a/src/net/ea/charserverhandler.cpp
+++ b/src/net/ea/charserverhandler.cpp
@@ -124,7 +124,7 @@ void CharServerHandler::processCharCreate(Net::MessageIn &msg, bool withColors)
if (mCharCreateDialog)
{
mCharCreateDialog->scheduleDelete();
- mCharCreateDialog = 0;
+ mCharCreateDialog = nullptr;
}
}
@@ -160,7 +160,7 @@ void CharServerHandler::processCharDelete(Net::MessageIn &msg A_UNUSED)
{
delete mSelectedCharacter;
mCharacters.remove(mSelectedCharacter);
- mSelectedCharacter = 0;
+ mSelectedCharacter = nullptr;
updateCharSelectDialog();
unlockCharSelectDialog();
new OkDialog(_("Info"), _("Character deleted."));
diff --git a/src/net/ea/gamehandler.cpp b/src/net/ea/gamehandler.cpp
index a202cbc86..b74f2384d 100644
--- a/src/net/ea/gamehandler.cpp
+++ b/src/net/ea/gamehandler.cpp
@@ -96,7 +96,7 @@ void GameHandler::processCharSwitchResponse(Net::MessageIn &msg)
void GameHandler::processMapQuitResponse(Net::MessageIn &msg)
{
if (msg.readInt8())
- new OkDialog(_("Game"), _("Request to quit denied!"), NULL);
+ new OkDialog(_("Game"), _("Request to quit denied!"), nullptr);
}
} // namespace Ea
diff --git a/src/net/ea/guildhandler.cpp b/src/net/ea/guildhandler.cpp
index 66488d5fb..907fa13db 100644
--- a/src/net/ea/guildhandler.cpp
+++ b/src/net/ea/guildhandler.cpp
@@ -35,8 +35,8 @@
namespace Ea
{
-GuildTab *guildTab = 0;
-Guild *taGuild = 0;
+GuildTab *guildTab = nullptr;
+Guild *taGuild = nullptr;
GuildHandler::GuildHandler() :
showBasicInfo(false)
@@ -46,7 +46,7 @@ GuildHandler::GuildHandler() :
GuildHandler::~GuildHandler()
{
delete guildTab;
- guildTab = 0;
+ guildTab = nullptr;
}
void GuildHandler::requestAlliance(int guildId A_UNUSED,
@@ -450,7 +450,7 @@ void GuildHandler::processGuildLeave(Net::MessageIn &msg)
}
SERVER_NOTICE(_("You have left the guild."))
delete guildTab;
- guildTab = 0;
+ guildTab = nullptr;
if (socialWindow && taGuild)
socialWindow->removeTab(taGuild);
@@ -497,7 +497,7 @@ void GuildHandler::processGuildExpulsion(Net::MessageIn &msg)
}
SERVER_NOTICE(_("You was kicked from guild."));
delete guildTab;
- guildTab = 0;
+ guildTab = nullptr;
if (socialWindow && taGuild)
socialWindow->removeTab(taGuild);
@@ -607,7 +607,7 @@ void GuildHandler::processGuildBroken(Net::MessageIn &msg)
void GuildHandler::clear()
{
- taGuild = 0;
+ taGuild = nullptr;
}
} // namespace Ea
diff --git a/src/net/ea/inventoryhandler.cpp b/src/net/ea/inventoryhandler.cpp
index 788b7f0fc..d2a1fb4f0 100644
--- a/src/net/ea/inventoryhandler.cpp
+++ b/src/net/ea/inventoryhandler.cpp
@@ -78,8 +78,8 @@ namespace Ea
InventoryHandler::InventoryHandler()
{
- mStorage = 0;
- mStorageWindow = 0;
+ mStorage = nullptr;
+ mStorageWindow = nullptr;
mDebugInventory = true;
}
@@ -88,11 +88,11 @@ InventoryHandler::~InventoryHandler()
if (mStorageWindow)
{
mStorageWindow->close();
- mStorageWindow = 0;
+ mStorageWindow = nullptr;
}
delete mStorage;
- mStorage = 0;
+ mStorage = nullptr;
}
bool InventoryHandler::canSplit(const Item *item A_UNUSED) const
@@ -164,7 +164,7 @@ void InventoryHandler::processPlayerInventory(Net::MessageIn &msg,
int index, amount, itemId, arrow;
int cards[4], itemType;
unsigned char identified;
- Inventory *inventory = 0;
+ Inventory *inventory = nullptr;
if (player_node)
inventory = PlayerInfo::getInventory();
@@ -279,7 +279,7 @@ void InventoryHandler::processPlayerInventoryAdd(Net::MessageIn &msg)
unsigned char identified;
int floorId;
- Inventory *inventory = 0;
+ Inventory *inventory = nullptr;
if (player_node)
inventory = PlayerInfo::getInventory();
@@ -345,7 +345,7 @@ void InventoryHandler::processPlayerInventoryAdd(Net::MessageIn &msg)
void InventoryHandler::processPlayerInventoryRemove(Net::MessageIn &msg)
{
int index, amount;
- Inventory *inventory = 0;
+ Inventory *inventory = nullptr;
if (player_node)
inventory = PlayerInfo::getInventory();
@@ -367,7 +367,7 @@ void InventoryHandler::processPlayerInventoryRemove(Net::MessageIn &msg)
void InventoryHandler::processPlayerInventoryUse(Net::MessageIn &msg)
{
int index, amount;
- Inventory *inventory = 0;
+ Inventory *inventory = nullptr;
if (player_node)
inventory = PlayerInfo::getInventory();
@@ -392,7 +392,7 @@ void InventoryHandler::processPlayerInventoryUse(Net::MessageIn &msg)
void InventoryHandler::processItemUseResponse(Net::MessageIn &msg)
{
int index, amount;
- Inventory *inventory = 0;
+ Inventory *inventory = nullptr;
if (player_node)
inventory = PlayerInfo::getInventory();
@@ -499,13 +499,13 @@ void InventoryHandler::processPlayerStorageClose(Net::MessageIn &msg A_UNUSED)
{
// Storage access has been closed
// Storage window deletes itself
- mStorageWindow = 0;
+ mStorageWindow = nullptr;
if (mStorage)
mStorage->clear();
delete mStorage;
- mStorage = 0;
+ mStorage = nullptr;
}
void InventoryHandler::processPlayerEquipment(Net::MessageIn &msg)
@@ -514,7 +514,7 @@ void InventoryHandler::processPlayerEquipment(Net::MessageIn &msg)
int number;
unsigned char identified;
- Inventory *inventory = 0;
+ Inventory *inventory = nullptr;
if (player_node)
inventory = PlayerInfo::getInventory();
diff --git a/src/net/ea/inventoryhandler.h b/src/net/ea/inventoryhandler.h
index 3a99bc47f..d99e34fc6 100644
--- a/src/net/ea/inventoryhandler.h
+++ b/src/net/ea/inventoryhandler.h
@@ -25,6 +25,7 @@
#include "equipment.h"
#include "inventory.h"
+#include "localconsts.h"
#include "logger.h"
#include "playerinfo.h"
@@ -58,12 +59,12 @@ class EquipBackend : public Equipment::Backend
{
int invyIndex = mEquipment[index];
if (invyIndex == -1)
- return NULL;
+ return nullptr;
if (PlayerInfo::getInventory())
return PlayerInfo::getInventory()->getItem(invyIndex);
else
- return 0;
+ return nullptr;
}
void clear()
diff --git a/src/net/ea/npchandler.cpp b/src/net/ea/npchandler.cpp
index 9a37ccc26..e8e1014d4 100644
--- a/src/net/ea/npchandler.cpp
+++ b/src/net/ea/npchandler.cpp
@@ -33,7 +33,7 @@ namespace Ea
{
NpcHandler::NpcHandler() :
- mDialog(0)
+ mDialog(nullptr)
{
}
diff --git a/src/net/ea/partyhandler.cpp b/src/net/ea/partyhandler.cpp
index 35cc77fbf..5fa0df29b 100644
--- a/src/net/ea/partyhandler.cpp
+++ b/src/net/ea/partyhandler.cpp
@@ -37,8 +37,8 @@
namespace Ea
{
-PartyTab *partyTab = 0;
-Party *taParty = 0;
+PartyTab *partyTab = nullptr;
+Party *taParty = nullptr;
PartyHandler::PartyHandler() :
mShareExp(PARTY_SHARE_UNKNOWN),
@@ -50,7 +50,7 @@ PartyHandler::PartyHandler() :
PartyHandler::~PartyHandler()
{
delete partyTab;
- partyTab = 0;
+ partyTab = nullptr;
}
void PartyHandler::join(int partyId A_UNUSED)
@@ -71,7 +71,7 @@ void PartyHandler::reload()
void PartyHandler::clear()
{
- taParty = 0;
+ taParty = nullptr;
}
void PartyHandler::processPartyCreate(Net::MessageIn &msg)
@@ -128,7 +128,7 @@ void PartyHandler::processPartyInfo(Net::MessageIn &msg)
if (Ea::taParty)
{
- PartyMember *member = 0;
+ PartyMember *member = nullptr;
if (oldParty)
{
//member = Ea::taParty->getMember(id);
@@ -314,7 +314,7 @@ void PartyHandler::processPartySettings(Net::MessageIn &msg)
void PartyHandler::processPartyMove(Net::MessageIn &msg)
{
int id = msg.readInt32(); // id
- PartyMember *m = 0;
+ PartyMember *m = nullptr;
if (Ea::taParty)
m = Ea::taParty->getMember(id);
if (m)
@@ -356,7 +356,7 @@ void PartyHandler::processPartyLeave(Net::MessageIn &msg)
}
SERVER_NOTICE(_("You have left the party."))
delete Ea::partyTab;
- Ea::partyTab = 0;
+ Ea::partyTab = nullptr;
if (socialWindow && Ea::taParty)
socialWindow->removeTab(Ea::taParty);
@@ -375,7 +375,7 @@ void PartyHandler::processPartyLeave(Net::MessageIn &msg)
Being *b = actorSpriteManager->findBeing(id);
if (b && b->getType() == Being::PLAYER)
{
- b->setParty(0);
+ b->setParty(nullptr);
b->setPartyName("");
}
}
@@ -389,7 +389,7 @@ void PartyHandler::processPartyUpdateHp(Net::MessageIn &msg)
int id = msg.readInt32();
int hp = msg.readInt16();
int maxhp = msg.readInt16();
- PartyMember *m = 0;
+ PartyMember *m = nullptr;
if (Ea::taParty)
m = Ea::taParty->getMember(id);
if (m)
@@ -410,7 +410,7 @@ void PartyHandler::processPartyUpdateHp(Net::MessageIn &msg)
void PartyHandler::processPartyUpdateCoords(Net::MessageIn &msg)
{
int id = msg.readInt32(); // id
- PartyMember *m = 0;
+ PartyMember *m = nullptr;
if (Ea::taParty)
m = Ea::taParty->getMember(id);
if (m)
diff --git a/src/net/ea/playerhandler.cpp b/src/net/ea/playerhandler.cpp
index 81e520415..02af3dbb4 100644
--- a/src/net/ea/playerhandler.cpp
+++ b/src/net/ea/playerhandler.cpp
@@ -59,7 +59,7 @@ namespace
{
void action(const gcn::ActionEvent &event A_UNUSED)
{
- weightNotice = NULL;
+ weightNotice = nullptr;
}
} weightListener;
@@ -72,9 +72,9 @@ namespace
{
if (Net::getPlayerHandler())
Net::getPlayerHandler()->respawn();
- deathNotice = NULL;
+ deathNotice = nullptr;
- Client::closeDialogs();
+ Game::closeDialogs();
if (viewport)
viewport->closePopupMenu();
diff --git a/src/net/ea/tradehandler.cpp b/src/net/ea/tradehandler.cpp
index 19aa474e3..5aaa09f91 100644
--- a/src/net/ea/tradehandler.cpp
+++ b/src/net/ea/tradehandler.cpp
@@ -53,7 +53,7 @@ namespace
{
void action(const gcn::ActionEvent &event)
{
- confirmDlg = 0;
+ confirmDlg = nullptr;
if (event.getId() == "ignore")
player_relations.ignoreTrade(tradePartnerName);
Net::getTradeHandler()->respond(event.getId() == "yes");
@@ -66,7 +66,7 @@ namespace Ea
TradeHandler::TradeHandler()
{
- confirmDlg = 0;
+ confirmDlg = nullptr;
}
void TradeHandler::removeItem(int slotNum A_UNUSED, int amount A_UNUSED)
@@ -204,7 +204,7 @@ void TradeHandler::processTradeItemAddResponse(Net::MessageIn &msg)
{
// Trade: New Item add response (was 0x00ea, now 01b1)
const int index = msg.readInt16() - INVENTORY_OFFSET;
- Item *item = 0;
+ Item *item = nullptr;
if (PlayerInfo::getInventory())
item = PlayerInfo::getInventory()->getItem(index);
diff --git a/src/net/manaserv/chathandler.cpp b/src/net/manaserv/chathandler.cpp
index 16552018e..1757b565d 100644
--- a/src/net/manaserv/chathandler.cpp
+++ b/src/net/manaserv/chathandler.cpp
@@ -470,4 +470,15 @@ void ChatHandler::sendRaw(const std::string &args A_UNUSED)
{
}
+
+void ChatHandler::ignoreAll()
+{
+
+}
+
+void ChatHandler::unIgnoreAll()
+{
+
+}
+
} // namespace ManaServ
diff --git a/src/net/manaserv/chathandler.h b/src/net/manaserv/chathandler.h
index beea40423..3ed7717ad 100644
--- a/src/net/manaserv/chathandler.h
+++ b/src/net/manaserv/chathandler.h
@@ -134,9 +134,9 @@ class ChatHandler : public MessageHandler, public Net::ChatHandler
*/
void handleWhoResponse(Net::MessageIn &msg);
- void ignoreAll()
+ void ignoreAll();
- void unIgnoreAll()
+ void unIgnoreAll();
};
} // namespace ManaServ
diff --git a/src/net/manaserv/network.cpp b/src/net/manaserv/network.cpp
index b83bc5748..44478fb4c 100644
--- a/src/net/manaserv/network.cpp
+++ b/src/net/manaserv/network.cpp
@@ -33,6 +33,8 @@
#include <map>
+#include "debug.h"
+
/**
* The local host which is shared for all outgoing connections.
*/
@@ -56,9 +58,9 @@ void initialize()
}
#if defined(ENET_VERSION) && ENET_VERSION >= ENET_CUTOFF
- client = enet_host_create(NULL, 3, 0, 0, 0);
+ client = enet_host_create(nullptr, 3, 0, 0, 0);
#else
- client = enet_host_create(NULL, 3, 0, 0);
+ client = enet_host_create(nullptr, 3, 0, 0);
#endif
if (!client)
diff --git a/src/net/manaserv/partyhandler.cpp b/src/net/manaserv/partyhandler.cpp
index 987a40dc5..660657f44 100644
--- a/src/net/manaserv/partyhandler.cpp
+++ b/src/net/manaserv/partyhandler.cpp
@@ -96,7 +96,7 @@ void PartyHandler::handleMessage(Net::MessageIn &msg)
if (msg.readInt8() == ERRMSG_OK)
{
mParty->clearMembers();
- player_node->setParty(NULL);
+ player_node->setParty(nullptr);
}
} break;
diff --git a/src/net/messageout.cpp b/src/net/messageout.cpp
index f18f65a93..b1e0c2295 100644
--- a/src/net/messageout.cpp
+++ b/src/net/messageout.cpp
@@ -37,7 +37,7 @@ namespace Net
{
MessageOut::MessageOut(short id A_UNUSED):
- mData(0),
+ mData(nullptr),
mDataSize(0),
mPos(0)
{
diff --git a/src/net/net.cpp b/src/net/net.cpp
index 49bb58903..933f7686b 100644
--- a/src/net/net.cpp
+++ b/src/net/net.cpp
@@ -48,21 +48,21 @@
#include "debug.h"
-Net::AdminHandler *adminHandler = NULL;
-Net::CharHandler *charHandler = NULL;
-Net::ChatHandler *chatHandler = NULL;
-Net::GeneralHandler *generalHandler = NULL;
-Net::InventoryHandler *inventoryHandler = NULL;
-Net::LoginHandler *loginHandler = NULL;
-Net::GameHandler *gameHandler = NULL;
-Net::GuildHandler *guildHandler = NULL;
-Net::NpcHandler *npcHandler = NULL;
-Net::PartyHandler *partyHandler = NULL;
-Net::PlayerHandler *playerHandler = NULL;
-Net::SpecialHandler *specialHandler = NULL;
-Net::TradeHandler *tradeHandler = NULL;
-Net::BeingHandler *beingHandler = NULL;
-Net::BuySellHandler *buySellHandler = NULL;
+Net::AdminHandler *adminHandler = nullptr;
+Net::CharHandler *charHandler = nullptr;
+Net::ChatHandler *chatHandler = nullptr;
+Net::GeneralHandler *generalHandler = nullptr;
+Net::InventoryHandler *inventoryHandler = nullptr;
+Net::LoginHandler *loginHandler = nullptr;
+Net::GameHandler *gameHandler = nullptr;
+Net::GuildHandler *guildHandler = nullptr;
+Net::NpcHandler *npcHandler = nullptr;
+Net::PartyHandler *partyHandler = nullptr;
+Net::PlayerHandler *playerHandler = nullptr;
+Net::SpecialHandler *specialHandler = nullptr;
+Net::TradeHandler *tradeHandler = nullptr;
+Net::BeingHandler *beingHandler = nullptr;
+Net::BuySellHandler *buySellHandler = nullptr;
Net::AdminHandler *Net::getAdminHandler()
{
@@ -151,13 +151,13 @@ void connectToServer(const ServerInfo &server)
// that
}
- if (networkType == server.type && getGeneralHandler() != NULL)
+ if (networkType == server.type && getGeneralHandler())
{
getGeneralHandler()->reload();
}
else
{
- if (networkType != ServerInfo::UNKNOWN && getGeneralHandler() != NULL)
+ if (networkType != ServerInfo::UNKNOWN && getGeneralHandler())
getGeneralHandler()->unload();
switch (server.type)
diff --git a/src/net/tmwa/charserverhandler.cpp b/src/net/tmwa/charserverhandler.cpp
index 03b63aa16..69f7165ec 100644
--- a/src/net/tmwa/charserverhandler.cpp
+++ b/src/net/tmwa/charserverhandler.cpp
@@ -123,7 +123,7 @@ void CharServerHandler::handleMessage(Net::MessageIn &msg)
player_node = mSelectedCharacter->dummy;
PlayerInfo::setBackend(mSelectedCharacter->data);
- mSelectedCharacter->dummy = 0;
+ mSelectedCharacter->dummy = nullptr;
delete_all(mCharacters);
mCharacters.clear();
@@ -151,7 +151,7 @@ void CharServerHandler::handleMessage(Net::MessageIn &msg)
if (player_node)
{
player_node->setTileCoords(x, y);
- player_node->setMap(0);
+ player_node->setMap(nullptr);
}
}
break;
@@ -271,7 +271,7 @@ void CharServerHandler::chooseCharacter(Net::Character *character)
return;
mSelectedCharacter = character;
- mCharSelectDialog = 0;
+ mCharSelectDialog = nullptr;
MessageOut outMsg(CMSG_CHAR_SELECT);
outMsg.writeInt8(static_cast<unsigned char>(mSelectedCharacter->slot));
diff --git a/src/net/tmwa/chathandler.cpp b/src/net/tmwa/chathandler.cpp
index fe6592d93..5af248e5c 100644
--- a/src/net/tmwa/chathandler.cpp
+++ b/src/net/tmwa/chathandler.cpp
@@ -145,7 +145,7 @@ void ChatHandler::sendRaw(const std::string &args)
{
std::string line = args;
std::string str;
- MessageOut *outMsg = 0;
+ MessageOut *outMsg = nullptr;
if (line == "")
return;
diff --git a/src/net/tmwa/generalhandler.cpp b/src/net/tmwa/generalhandler.cpp
index 0a9541477..293986bde 100644
--- a/src/net/tmwa/generalhandler.cpp
+++ b/src/net/tmwa/generalhandler.cpp
@@ -120,7 +120,7 @@ GeneralHandler::GeneralHandler():
GeneralHandler::~GeneralHandler()
{
delete mNetwork;
- mNetwork = 0;
+ mNetwork = nullptr;
}
void GeneralHandler::handleMessage(Net::MessageIn &msg)
@@ -294,10 +294,10 @@ void GeneralHandler::processEvent(Mana::Channels channel,
}
delete Ea::guildTab;
- Ea::guildTab = 0;
+ Ea::guildTab = nullptr;
delete Ea::partyTab;
- Ea::partyTab = 0;
+ Ea::partyTab = nullptr;
}
}
}
diff --git a/src/net/tmwa/messagehandler.cpp b/src/net/tmwa/messagehandler.cpp
index 843339718..830b3bc4f 100644
--- a/src/net/tmwa/messagehandler.cpp
+++ b/src/net/tmwa/messagehandler.cpp
@@ -32,7 +32,7 @@ namespace TmwAthena
{
MessageHandler::MessageHandler()
- : mNetwork(NULL)
+ : mNetwork(nullptr)
{
}
diff --git a/src/net/tmwa/network.cpp b/src/net/tmwa/network.cpp
index e26f48324..3181ec898 100644
--- a/src/net/tmwa/network.cpp
+++ b/src/net/tmwa/network.cpp
@@ -104,16 +104,17 @@ int networkThread(void *data)
return 0;
}
-Network *Network::mInstance = 0;
+Network *Network::mInstance = nullptr;
Network::Network() :
- mSocket(0),
+ mSocket(nullptr),
mInBuffer(new char[BUFFER_SIZE]),
mOutBuffer(new char[BUFFER_SIZE]),
- mInSize(0), mOutSize(0),
+ mInSize(0),
+ mOutSize(0),
mToSkip(0),
mState(IDLE),
- mWorkerThread(0)
+ mWorkerThread(nullptr)
{
SDLNet_Init();
@@ -129,8 +130,8 @@ Network::~Network()
disconnect();
SDL_DestroyMutex(mMutex);
- mMutex = 0;
- mInstance = 0;
+ mMutex = nullptr;
+ mInstance = nullptr;
delete[] mInBuffer;
delete[] mOutBuffer;
@@ -181,15 +182,15 @@ void Network::disconnect()
if (mWorkerThread && SDL_GetThreadID(mWorkerThread))
{
- SDL_WaitThread(mWorkerThread, NULL);
- mWorkerThread = NULL;
+ SDL_WaitThread(mWorkerThread, nullptr);
+ mWorkerThread = nullptr;
}
if (mSocket)
{
// need call SDLNet_TCP_DelSocket?
SDLNet_TCP_Close(mSocket);
- mSocket = 0;
+ mSocket = nullptr;
}
}
@@ -212,7 +213,7 @@ void Network::unregisterHandler(MessageHandler *handler)
for (const Uint16 *i = handler->handledMessages; *i; ++i)
mMessageHandlers.erase(*i);
- handler->setNetwork(0);
+ handler->setNetwork(nullptr);
}
void Network::clearHandlers()
@@ -221,7 +222,7 @@ void Network::clearHandlers()
for (i = mMessageHandlers.begin(); i != mMessageHandlers.end(); ++i)
{
if (i->second)
- i->second->setNetwork(0);
+ i->second->setNetwork(nullptr);
}
mMessageHandlers.clear();
}
diff --git a/src/net/tmwa/npchandler.cpp b/src/net/tmwa/npchandler.cpp
index f80dd6e69..6b6ffcbb6 100644
--- a/src/net/tmwa/npchandler.cpp
+++ b/src/net/tmwa/npchandler.cpp
@@ -92,7 +92,7 @@ void NpcHandler::handleMessage(Net::MessageIn &msg)
break;
}
- mDialog = 0;
+ mDialog = nullptr;
}
void NpcHandler::talk(int npcId)
@@ -195,7 +195,7 @@ int NpcHandler::getNpc(Net::MessageIn &msg, bool haveLength)
const int npcId = msg.readInt32();
NpcDialogs::const_iterator diag = mNpcDialogs.find(npcId);
- mDialog = 0;
+ mDialog = nullptr;
if (diag == mNpcDialogs.end())
{
@@ -213,6 +213,8 @@ int NpcHandler::getNpc(Net::MessageIn &msg, bool haveLength)
else
{
mDialog = new NpcDialog(npcId);
+ if (player_node)
+ player_node->stopWalking(false);
Wrapper wrap;
wrap.dialog = mDialog;
mNpcDialogs[npcId] = wrap;
diff --git a/src/openglgraphics.cpp b/src/openglgraphics.cpp
index 049556c76..f5e9f8107 100644
--- a/src/openglgraphics.cpp
+++ b/src/openglgraphics.cpp
@@ -1027,7 +1027,7 @@ SDL_Surface* OpenGLGraphics::getScreenshot()
0xff0000, 0x00ff00, 0x0000ff, 0x000000);
if (!screenshot)
- return 0;
+ return nullptr;
if (SDL_MUSTLOCK(screenshot))
SDL_LockSurface(screenshot);
diff --git a/src/particle.cpp b/src/particle.cpp
index 874e49d9a..e71791ce8 100644
--- a/src/particle.cpp
+++ b/src/particle.cpp
@@ -73,7 +73,7 @@ Particle::Particle(Map *map):
mRandomness(0),
mBounce(0.0f),
mFollow(false),
- mTarget(NULL),
+ mTarget(nullptr),
mAcceleration(0.0f),
mInvDieDistance(-1.0f),
mMomentum(1.0f)
@@ -283,7 +283,7 @@ Particle *Particle::createChild()
Particle *Particle::addEffect(const std::string &particleEffectFile,
int pixelX, int pixelY, int rotation)
{
- Particle *newParticle = NULL;
+ Particle *newParticle = nullptr;
std::string::size_type pos = particleEffectFile.find('|');
std::string dyePalettes;
@@ -296,7 +296,7 @@ Particle *Particle::addEffect(const std::string &particleEffectFile,
if (!rootNode || !xmlStrEqual(rootNode->name, BAD_CAST "effect"))
{
logger->log("Error loading particle: %s", particleEffectFile.c_str());
- return NULL;
+ return nullptr;
}
ResourceManager *resman = ResourceManager::getInstance();
diff --git a/src/particle.h b/src/particle.h
index 7220ad258..0a4a2253d 100644
--- a/src/particle.h
+++ b/src/particle.h
@@ -76,7 +76,7 @@ class Particle : public Actor
/**
* Constructor.
*
- * @param map the map this particle will add itself to, may be NULL
+ * @param map the map this particle will add itself to, may be nullptr
*/
Particle(Map *map);
diff --git a/src/particlecontainer.cpp b/src/particlecontainer.cpp
index 5f5b1b257..40ab68865 100644
--- a/src/particlecontainer.cpp
+++ b/src/particlecontainer.cpp
@@ -37,7 +37,7 @@ ParticleContainer::~ParticleContainer()
if (mDelParent)
{
delete mNext;
- mNext = 0;
+ mNext = nullptr;
}
}
@@ -139,7 +139,7 @@ void ParticleVector::setLocally(int index, Particle *particle)
delLocally(index);
if (mIndexedElements.size() <= static_cast<unsigned>(index))
- mIndexedElements.resize(index + 1, NULL);
+ mIndexedElements.resize(index + 1, nullptr);
if (particle)
particle->disableAutoDelete();
@@ -157,7 +157,7 @@ void ParticleVector::delLocally(int index)
Particle *p = mIndexedElements[index];
if (p)
{
- mIndexedElements[index] = NULL;
+ mIndexedElements[index] = nullptr;
p->kill();
}
}
@@ -182,7 +182,7 @@ void ParticleVector::moveTo(float x, float y)
if ((*it)->isExtinct())
{
(*it)->kill();
- *it = NULL;
+ *it = nullptr;
}
}
}
diff --git a/src/particlecontainer.h b/src/particlecontainer.h
index 27b52f592..937c4dd63 100644
--- a/src/particlecontainer.h
+++ b/src/particlecontainer.h
@@ -26,6 +26,8 @@
#include <list>
#include <vector>
+#include "localconsts.h"
+
class Particle;
/**
@@ -42,7 +44,9 @@ public:
*
* delParent means that the destructor should also free the parent.
*/
- ParticleContainer(ParticleContainer *parent = NULL, bool delParent = true);
+ ParticleContainer(ParticleContainer *parent = nullptr,
+ bool delParent = true);
+
virtual ~ParticleContainer();
/**
@@ -71,7 +75,7 @@ protected:
class ParticleList : public ParticleContainer
{
public:
- ParticleList(ParticleContainer *parent = NULL, bool delParent = true);
+ ParticleList(ParticleContainer *parent = nullptr, bool delParent = true);
virtual ~ParticleList();
/**
@@ -98,7 +102,7 @@ protected:
class ParticleVector : public ParticleContainer
{
public:
- ParticleVector(ParticleContainer *parent = NULL, bool delParent = true);
+ ParticleVector(ParticleContainer *parent = nullptr, bool delParent = true);
virtual ~ParticleVector();
/**
diff --git a/src/party.cpp b/src/party.cpp
index f561ca49f..b462c94a7 100644
--- a/src/party.cpp
+++ b/src/party.cpp
@@ -95,7 +95,7 @@ PartyMember *Party::getMember(int id) const
++itr;
}
- return NULL;
+ return nullptr;
}
PartyMember *Party::getMember(const std::string &name) const
@@ -110,7 +110,7 @@ PartyMember *Party::getMember(const std::string &name) const
++itr;
}
- return NULL;
+ return nullptr;
}
void Party::removeMember(PartyMember *member)
@@ -198,7 +198,7 @@ void Party::removeFromMembers()
{
Being *b = actorSpriteManager->findBeing((*itr)->getID());
if (b)
- b->setParty(0);
+ b->setParty(nullptr);
++itr;
}
}
@@ -220,7 +220,7 @@ bool Party::isMember(PartyMember *member) const
if (!member)
return false;
- if (member->mParty > 0 && member->mParty != this)
+ if (member->mParty && member->mParty != this)
return false;
MemberList::const_iterator itr = mMembers.begin();
diff --git a/src/playerinfo.cpp b/src/playerinfo.cpp
index e0f8aa494..93e704302 100644
--- a/src/playerinfo.cpp
+++ b/src/playerinfo.cpp
@@ -41,13 +41,13 @@ namespace PlayerInfo
class PlayerInfoListener;
-PlayerInfoListener *mListener = 0;
+PlayerInfoListener *mListener = nullptr;
PlayerInfoBackend mData;
int mCharId = 0;
-Inventory *mInventory = 0;
-Equipment *mEquipment = 0;
+Inventory *mInventory = nullptr;
+Equipment *mEquipment = nullptr;
std::map<int, Special> mSpecials;
char mSpecialRechargeUpdateNeeded = 0;
@@ -210,7 +210,7 @@ Item *getEquipment(unsigned int slot)
if (mEquipment)
return mEquipment->getEquipment(slot);
else
- return 0;
+ return nullptr;
}
void setEquipmentBackend(Equipment::Backend *backend)
@@ -322,7 +322,7 @@ public:
if (newState == STATE_GAME)
{
- if (mInventory == 0)
+ if (!mInventory)
{
mInventory = new Inventory(Inventory::INVENTORY);
mEquipment = new Equipment();
@@ -335,10 +335,9 @@ public:
if (event.getName() == Mana::EVENT_DESTRUCTED)
{
delete mInventory;
+ mInventory = nullptr;
delete mEquipment;
-
- mInventory = 0;
- mEquipment = 0;
+ mEquipment = nullptr;
}
}
}
@@ -356,7 +355,7 @@ void init()
void deinit()
{
delete mListener;
- mListener = 0;
+ mListener = nullptr;
}
} // namespace PlayerInfo
diff --git a/src/playerrelations.cpp b/src/playerrelations.cpp
index d7532b884..324dac065 100644
--- a/src/playerrelations.cpp
+++ b/src/playerrelations.cpp
@@ -28,6 +28,7 @@
#include "being.h"
#include "configuration.h"
#include "graphics.h"
+#include "localplayer.h"
#include "utils/dtor.h"
#include "utils/gettext.h"
@@ -68,7 +69,7 @@ class PlayerConfSerialiser :
ConfigurationObject *cobj)
{
if (!cobj || !value.second)
- return NULL;
+ return nullptr;
cobj->setValue(NAME, value.first);
cobj->setValue(RELATION, toString(
static_cast<int>(value.second->mRelation)));
@@ -108,7 +109,8 @@ const unsigned int PlayerRelation::RELATION_PERMISSIONS[RELATIONS_NR] = {
/* DISREGARDED*/ EMOTE | SPEECH_FLOAT,
/* IGNORED */ 0,
/* ERASED */ INVISIBLE,
- /* BLACKLISTED */ SPEECH_LOG | WHISPER
+ /* BLACKLISTED */ SPEECH_LOG | WHISPER,
+ /* ENEMY2 */ EMOTE | SPEECH_FLOAT | SPEECH_LOG | WHISPER | TRADE
};
PlayerRelation::PlayerRelation(Relation relation)
@@ -119,7 +121,7 @@ PlayerRelation::PlayerRelation(Relation relation)
PlayerRelationsManager::PlayerRelationsManager() :
mPersistIgnores(false),
mDefaultPermissions(PlayerRelation::DEFAULT),
- mIgnoreStrategy(0)
+ mIgnoreStrategy(nullptr)
{
}
@@ -144,7 +146,7 @@ void PlayerRelationsManager::clear()
removePlayer(*it);
}
delete names;
- names = 0;
+ names = nullptr;
}
#define PERSIST_IGNORE_LIST "persistent-player-list"
@@ -326,6 +328,12 @@ bool PlayerRelationsManager::hasPermission(const std::string &name,
void PlayerRelationsManager::setRelation(const std::string &player_name,
PlayerRelation::Relation relation)
{
+ if (!player_node || (relation != PlayerRelation::NEUTRAL
+ && player_node->getName() == player_name))
+ {
+ return;
+ }
+
PlayerRelation *r = mRelations[player_name];
if (!r)
mRelations[player_name] = new PlayerRelation(relation);
@@ -408,6 +416,23 @@ void PlayerRelationsManager::ignoreTrade(std::string name)
}
}
+bool PlayerRelationsManager::checkBadRelation(std::string name)
+{
+ if (name.empty())
+ return true;
+
+ PlayerRelation::Relation relation = getRelation(name);
+
+ if (relation == PlayerRelation::IGNORED
+ || relation == PlayerRelation::DISREGARDED
+ || relation == PlayerRelation::BLACKLISTED
+ || relation == PlayerRelation::ERASED
+ || relation == PlayerRelation::ENEMY2)
+ {
+ return true;
+ }
+ return false;
+}
////////////////////////////////////////
// ignore strategies
diff --git a/src/playerrelations.h b/src/playerrelations.h
index 41ca14b40..5fabb3d0e 100644
--- a/src/playerrelations.h
+++ b/src/playerrelations.h
@@ -45,8 +45,9 @@ struct PlayerRelation
static const unsigned int TRADE = (1 << 4);
static const unsigned int INVISIBLE = (1 << 5);
static const unsigned int BLACKLIST = (1 << 6);
+ static const unsigned int ENEMY = (1 << 7);
- static const unsigned int RELATIONS_NR = 6;
+ static const unsigned int RELATIONS_NR = 7;
static const unsigned int RELATION_PERMISSIONS[RELATIONS_NR];
static const unsigned int DEFAULT = EMOTE
@@ -61,7 +62,8 @@ struct PlayerRelation
DISREGARDED = 2,
IGNORED = 3,
ERASED = 4,
- BLACKLISTED = 5
+ BLACKLISTED = 5,
+ ENEMY2 = 6
};
PlayerRelation(Relation relation);
@@ -180,7 +182,7 @@ class PlayerRelationsManager
/**
* Return the current player ignore strategy.
*
- * \return A player ignore strategy, or NULL
+ * \return A player ignore strategy, or nullptr
*/
PlayerIgnoreStrategy *getPlayerIgnoreStrategy() const
{ return mIgnoreStrategy; }
@@ -237,6 +239,7 @@ class PlayerRelationsManager
void removeListener(PlayerRelationsListener *listener)
{ mListeners.remove(listener); }
+ bool checkBadRelation(std::string name);
private:
void signalUpdate(const std::string &name);
diff --git a/src/resources/action.cpp b/src/resources/action.cpp
index a95ebc5e3..c2af3ff9b 100644
--- a/src/resources/action.cpp
+++ b/src/resources/action.cpp
@@ -61,7 +61,7 @@ Animation *Action::getAnimation(int direction) const
i = mAnimations.begin();
}
- return (i == mAnimations.end()) ? NULL : i->second;
+ return (i == mAnimations.end()) ? nullptr : i->second;
}
void Action::setAnimation(int direction, Animation *animation)
diff --git a/src/resources/ambientlayer.cpp b/src/resources/ambientlayer.cpp
index 319bc5b8c..2ad25dcd0 100644
--- a/src/resources/ambientlayer.cpp
+++ b/src/resources/ambientlayer.cpp
@@ -68,7 +68,7 @@ AmbientLayer::~AmbientLayer()
if (mImage)
{
mImage->decRef();
- mImage = 0;
+ mImage = nullptr;
}
}
diff --git a/src/resources/animation.cpp b/src/resources/animation.cpp
index 32b57b3b1..1f3336a8b 100644
--- a/src/resources/animation.cpp
+++ b/src/resources/animation.cpp
@@ -44,28 +44,28 @@ void Animation::addFrame(Image *image, int delay, int offsetX, int offsetY,
void Animation::addTerminator(int rand)
{
- addFrame(NULL, 0, 0, 0, rand);
+ addFrame(nullptr, 0, 0, 0, rand);
}
bool Animation::isTerminator(const Frame &candidate)
{
- return (candidate.image == NULL && candidate.type == Frame::ANIMATION);
+ return (!candidate.image && candidate.type == Frame::ANIMATION);
}
void Animation::addJump(std::string name, int rand)
{
- Frame frame = { 0, 0, 0, 0, rand, Frame::JUMP, name };
+ Frame frame = { nullptr, 0, 0, 0, rand, Frame::JUMP, name };
mFrames.push_back(frame);
}
void Animation::addLabel(std::string name)
{
- Frame frame = { 0, 0, 0, 0, 100, Frame::LABEL, name };
+ Frame frame = { nullptr, 0, 0, 0, 100, Frame::LABEL, name };
mFrames.push_back(frame);
}
void Animation::addGoto(std::string name, int rand)
{
- Frame frame = { 0, 0, 0, 0, rand, Frame::GOTO, name };
+ Frame frame = { nullptr, 0, 0, 0, rand, Frame::GOTO, name };
mFrames.push_back(frame);
}
diff --git a/src/resources/beinginfo.cpp b/src/resources/beinginfo.cpp
index 4aa7515b1..0b2aaa8fa 100644
--- a/src/resources/beinginfo.cpp
+++ b/src/resources/beinginfo.cpp
@@ -29,7 +29,7 @@
#include "debug.h"
-BeingInfo *BeingInfo::unknown = 0;
+BeingInfo *BeingInfo::unknown = nullptr;
Attack *BeingInfo::empty = new Attack(SpriteAction::ATTACK, "", "");
BeingInfo::BeingInfo():
@@ -121,7 +121,7 @@ void BeingInfo::addAttack(int id, std::string action,
void BeingInfo::clear()
{
delete unknown;
- unknown = 0;
+ unknown = nullptr;
delete empty;
- empty = 0;
+ empty = nullptr;
}
diff --git a/src/resources/colordb.cpp b/src/resources/colordb.cpp
index ed8c934dc..225abef91 100644
--- a/src/resources/colordb.cpp
+++ b/src/resources/colordb.cpp
@@ -175,5 +175,5 @@ std::map <int, ColorDB::ItemColor> *ColorDB::getColorsList(std::string name)
if (it != mColorLists.end())
return &it->second;
- return 0;
+ return nullptr;
}
diff --git a/src/resources/dye.cpp b/src/resources/dye.cpp
index a782b6ec1..29b1c864e 100644
--- a/src/resources/dye.cpp
+++ b/src/resources/dye.cpp
@@ -208,7 +208,7 @@ void DyePalette::getColor(double intensity, int color[3]) const
Dye::Dye(const std::string &description)
{
for (int i = 0; i < 7; ++i)
- mDyePalettes[i] = 0;
+ mDyePalettes[i] = nullptr;
if (description.empty())
return;
@@ -255,7 +255,7 @@ Dye::~Dye()
for (int i = 0; i < 7; ++i)
{
delete mDyePalettes[i];
- mDyePalettes[i] = 0;
+ mDyePalettes[i] = nullptr;
}
}
diff --git a/src/resources/emotedb.cpp b/src/resources/emotedb.cpp
index b7f7d7901..c456c49e4 100644
--- a/src/resources/emotedb.cpp
+++ b/src/resources/emotedb.cpp
@@ -199,7 +199,7 @@ const EmoteInfo *EmoteDB::get(int id, bool allowNull)
if (i == mEmoteInfos.end())
{
if (allowNull)
- return NULL;
+ return nullptr;
logger->log("EmoteDB: Warning, unknown emote ID %d requested", id);
return &mUnknown;
}
@@ -213,7 +213,7 @@ const AnimatedSprite *EmoteDB::getAnimation(int id, bool allowNull)
{
const EmoteInfo *info = get(id, allowNull);
if (!info)
- return NULL;
+ return nullptr;
return info->sprites.front()->sprite;
}
@@ -222,7 +222,7 @@ const EmoteSprite *EmoteDB::getSprite(int id, bool allowNull)
{
const EmoteInfo *info = get(id, allowNull);
if (!info)
- return NULL;
+ return nullptr;
return info->sprites.front();
}
diff --git a/src/resources/image.cpp b/src/resources/image.cpp
index 8f5ee1d2d..df07c16a2 100644
--- a/src/resources/image.cpp
+++ b/src/resources/image.cpp
@@ -87,8 +87,8 @@ Image::Image(GLuint glimage, int width, int height,
int texWidth, int texHeight):
mAlpha(1.0f),
mHasAlphaChannel(true),
- mSDLSurface(0),
- mAlphaChannel(0),
+ mSDLSurface(nullptr),
+ mAlphaChannel(nullptr),
mUseAlphaCache(false),
mIsAlphaVisible(true),
mIsAlphaCalculated(false),
@@ -128,7 +128,7 @@ Resource *Image::load(void *buffer, unsigned bufferSize)
if (!tmpImage)
{
logger->log("Error, image load failed: %s", IMG_GetError());
- return NULL;
+ return nullptr;
}
Image *image = load(tmpImage);
@@ -145,11 +145,11 @@ Resource *Image::load(void *buffer, unsigned bufferSize, Dye const &dye)
if (!tmpImage)
{
logger->log("Error, image load failed: %s", IMG_GetError());
- return NULL;
+ return nullptr;
}
SDL_PixelFormat rgba;
- rgba.palette = NULL;
+ rgba.palette = nullptr;
rgba.BitsPerPixel = 32;
rgba.BytesPerPixel = 4;
rgba.Rmask = 0xFF000000; rgba.Rloss = 0; rgba.Rshift = 24;
@@ -195,7 +195,7 @@ Image *Image::load(SDL_Surface *tmpImage)
Image *Image::createTextSurface(SDL_Surface *tmpImage, float alpha)
{
if (!tmpImage)
- return NULL;
+ return nullptr;
Image *img;
#ifdef USE_OPENGL
@@ -251,14 +251,14 @@ Image *Image::createTextSurface(SDL_Surface *tmpImage, float alpha)
// We also delete the alpha channel since
// it's not used.
delete[] alphaChannel;
- alphaChannel = 0;
+ alphaChannel = nullptr;
}
if (!image)
{
logger->log1("Error: Image convert failed.");
delete[] alphaChannel;
- return 0;
+ return nullptr;
}
if (converted)
@@ -279,7 +279,7 @@ void Image::SDLCleanCache()
{
if (mSDLSurface != i->second)
resman->scheduleDelete(i->second);
- i->second = 0;
+ i->second = nullptr;
}
mAlphaCache.clear();
}
@@ -293,10 +293,10 @@ void Image::unload()
SDLCleanCache();
// Free the image surface.
SDL_FreeSurface(mSDLSurface);
- mSDLSurface = NULL;
+ mSDLSurface = nullptr;
delete[] mAlphaChannel;
- mAlphaChannel = NULL;
+ mAlphaChannel = nullptr;
}
#ifdef USE_OPENGL
@@ -339,7 +339,7 @@ SDL_Surface *Image::getByAlpha(float alpha)
std::map<float, SDL_Surface*>::const_iterator it = mAlphaCache.find(alpha);
if (it != mAlphaCache.end())
return (*it).second;
- return 0;
+ return nullptr;
}
void Image::setAlpha(float alpha)
@@ -451,7 +451,7 @@ void Image::setAlpha(float alpha)
Image* Image::SDLmerge(Image *image, int x, int y)
{
if (!mSDLSurface || !image || !image->mSDLSurface)
- return NULL;
+ return nullptr;
SDL_Surface* surface = new SDL_Surface(*(image->mSDLSurface));
@@ -543,14 +543,14 @@ Image* Image::SDLgetScaledImage(int width, int height)
{
// No scaling on incorrect new values.
if (width == 0 || height == 0)
- return NULL;
+ return nullptr;
// No scaling when there is ... no different given size ...
if (width == getWidth() && height == getHeight())
- return NULL;
+ return nullptr;
- Image* scaledImage = NULL;
- SDL_Surface* scaledSurface = NULL;
+ Image* scaledImage = nullptr;
+ SDL_Surface* scaledSurface = nullptr;
if (mSDLSurface)
{
@@ -573,9 +573,9 @@ Image* Image::SDLgetScaledImage(int width, int height)
SDL_Surface* Image::convertTo32Bit(SDL_Surface* tmpImage)
{
if (!tmpImage)
- return NULL;
+ return nullptr;
SDL_PixelFormat RGBAFormat;
- RGBAFormat.palette = 0;
+ RGBAFormat.palette = nullptr;
RGBAFormat.colorkey = 0;
RGBAFormat.alpha = 0;
RGBAFormat.BitsPerPixel = 32;
@@ -613,7 +613,7 @@ SDL_Surface* Image::convertTo32Bit(SDL_Surface* tmpImage)
SDL_Surface* Image::SDLDuplicateSurface(SDL_Surface* tmpImage)
{
if (!tmpImage || !tmpImage->format)
- return NULL;
+ return nullptr;
return SDL_ConvertSurface(tmpImage, tmpImage->format, SDL_SWSURFACE);
}
@@ -621,7 +621,7 @@ SDL_Surface* Image::SDLDuplicateSurface(SDL_Surface* tmpImage)
Image *Image::_SDLload(SDL_Surface *tmpImage)
{
if (!tmpImage)
- return NULL;
+ return nullptr;
bool hasAlpha = false;
bool converted = false;
@@ -636,14 +636,14 @@ Image *Image::_SDLload(SDL_Surface *tmpImage)
if (!tmpImage)
{
delete[] alphaChannel;
- return NULL;
+ return nullptr;
}
converted = true;
}
const int sz = tmpImage->w * tmpImage->h;
// Figure out whether the image uses its alpha layer
- if (tmpImage->format->palette == NULL)
+ if (!tmpImage->format->palette)
{
const SDL_PixelFormat * const fmt = tmpImage->format;
if (fmt->Amask)
@@ -692,14 +692,14 @@ Image *Image::_SDLload(SDL_Surface *tmpImage)
// We also delete the alpha channel since
// it's not used.
delete[] alphaChannel;
- alphaChannel = 0;
+ alphaChannel = nullptr;
}
if (!image)
{
logger->log1("Error: Image convert failed.");
delete[] alphaChannel;
- return 0;
+ return nullptr;
}
if (converted)
@@ -713,7 +713,7 @@ Image *Image::_SDLload(SDL_Surface *tmpImage)
Image *Image::_GLload(SDL_Surface *tmpImage)
{
if (!tmpImage)
- return NULL;
+ return nullptr;
// Flush current error flag.
glGetError();
@@ -753,10 +753,10 @@ Image *Image::_GLload(SDL_Surface *tmpImage)
if (!tmpImage)
{
logger->log("Error, image convert failed: out of memory");
- return NULL;
+ return nullptr;
}
- SDL_BlitSurface(oldImage, NULL, tmpImage, NULL);
+ SDL_BlitSurface(oldImage, nullptr, tmpImage, nullptr);
GLuint texture;
glGenTextures(1, &texture);
@@ -811,7 +811,7 @@ Image *Image::_GLload(SDL_Surface *tmpImage)
break;
}
logger->log("Error: Image GL import failed: %s", errmsg.c_str());
- return NULL;
+ return nullptr;
}
return new Image(texture, width, height, realWidth, realHeight);
@@ -880,7 +880,7 @@ SubImage::SubImage(Image *parent, SDL_Surface *image,
{
mHasAlphaChannel = false;
mIsAlphaVisible = false;
- mAlphaChannel = 0;
+ mAlphaChannel = nullptr;
}
// Set up the rectangle.
@@ -921,16 +921,16 @@ SubImage::SubImage(Image *parent, GLuint image,
SubImage::~SubImage()
{
// Avoid destruction of the image
- mSDLSurface = 0;
+ mSDLSurface = nullptr;
// Avoid possible destruction of its alpha channel
- mAlphaChannel = 0;
+ mAlphaChannel = nullptr;
#ifdef USE_OPENGL
mGLImage = 0;
#endif
if (mParent)
{
mParent->decRef();
- mParent = 0;
+ mParent = nullptr;
}
}
@@ -939,5 +939,5 @@ Image *SubImage::getSubImage(int x, int y, int w, int h)
if (mParent)
return mParent->getSubImage(mBounds.x + x, mBounds.y + y, w, h);
else
- return NULL;
+ return nullptr;
}
diff --git a/src/resources/image.h b/src/resources/image.h
index 941b34465..333dc63f9 100644
--- a/src/resources/image.h
+++ b/src/resources/image.h
@@ -23,6 +23,7 @@
#ifndef IMAGE_H
#define IMAGE_H
+#include "localconsts.h"
#include "main.h"
#include "resources/resource.h"
@@ -252,7 +253,7 @@ class Image : public Resource
/** SDL Constructor */
Image(SDL_Surface *image, bool hasAlphaChannel = false,
- Uint8 *alphaChannel = NULL);
+ Uint8 *alphaChannel = nullptr);
/** SDL_Surface to SDL_Surface Image loader */
static Image *_SDLload(SDL_Surface *tmpImage);
diff --git a/src/resources/imageloader.cpp b/src/resources/imageloader.cpp
index 72a839573..a8563c679 100644
--- a/src/resources/imageloader.cpp
+++ b/src/resources/imageloader.cpp
@@ -36,7 +36,8 @@
#endif
ProxyImage::ProxyImage(SDL_Surface *s):
- mImage(NULL), mSDLImage(s)
+ mImage(nullptr),
+ mSDLImage(s)
{
}
@@ -50,12 +51,12 @@ void ProxyImage::free()
if (mSDLImage)
{
SDL_FreeSurface(mSDLImage);
- mSDLImage = 0;
+ mSDLImage = nullptr;
}
else
{
delete mImage;
- mImage = 0;
+ mImage = nullptr;
}
}
@@ -103,7 +104,7 @@ void ProxyImage::convertToDisplayFormat()
SDL_MapRGB(mSDLImage->format, 255, 0, 255));
mImage = ::Image::load(mSDLImage);
SDL_FreeSurface(mSDLImage);
- mSDLImage = NULL;
+ mSDLImage = nullptr;
}
gcn::Image *ImageLoader::load(const std::string &filename, bool convert)
diff --git a/src/resources/imageset.cpp b/src/resources/imageset.cpp
index 5cf3e7d82..09b57be28 100644
--- a/src/resources/imageset.cpp
+++ b/src/resources/imageset.cpp
@@ -62,7 +62,7 @@ Image* ImageSet::get(size_type i) const
{
logger->log("Warning: No sprite %d in this image set",
static_cast<int>(i));
- return NULL;
+ return nullptr;
}
else
{
diff --git a/src/resources/imagewriter.cpp b/src/resources/imagewriter.cpp
index e6f3c8c27..a3a35cfd1 100644
--- a/src/resources/imagewriter.cpp
+++ b/src/resources/imagewriter.cpp
@@ -50,7 +50,8 @@ bool ImageWriter::writePNG(SDL_Surface *surface, const std::string &filename)
if (SDL_MUSTLOCK(surface))
SDL_LockSurface(surface);
- png_ptr = png_create_write_struct(PNG_LIBPNG_VER_STRING, 0, 0, 0);
+ png_ptr = png_create_write_struct(PNG_LIBPNG_VER_STRING,
+ nullptr, nullptr, nullptr);
if (!png_ptr)
{
logger->log1("Had trouble creating png_structp");
@@ -60,14 +61,14 @@ bool ImageWriter::writePNG(SDL_Surface *surface, const std::string &filename)
info_ptr = png_create_info_struct(png_ptr);
if (!info_ptr)
{
- png_destroy_write_struct(&png_ptr, static_cast<png_infopp>(NULL));
+ png_destroy_write_struct(&png_ptr, static_cast<png_infopp>(nullptr));
logger->log1("Could not create png_info");
return false;
}
if (setjmp(png_jmpbuf(png_ptr)))
{
- png_destroy_write_struct(&png_ptr, static_cast<png_infopp>(NULL));
+ png_destroy_write_struct(&png_ptr, static_cast<png_infopp>(nullptr));
logger->log("problem writing to %s", filename.c_str());
return false;
}
@@ -113,7 +114,7 @@ bool ImageWriter::writePNG(SDL_Surface *surface, const std::string &filename)
delete [] row_pointers;
- png_destroy_write_struct(&png_ptr, static_cast<png_infopp>(NULL));
+ png_destroy_write_struct(&png_ptr, static_cast<png_infopp>(nullptr));
if (SDL_MUSTLOCK(surface))
SDL_UnlockSurface(surface);
diff --git a/src/resources/itemdb.cpp b/src/resources/itemdb.cpp
index 74474e067..3e53dd6e7 100644
--- a/src/resources/itemdb.cpp
+++ b/src/resources/itemdb.cpp
@@ -421,7 +421,7 @@ void ItemDB::unload()
logger->log1("Unloading item database...");
delete mUnknown;
- mUnknown = 0;
+ mUnknown = nullptr;
delete_all(mItemInfos);
mItemInfos.clear();
diff --git a/src/resources/iteminfo.cpp b/src/resources/iteminfo.cpp
index 5b07724a1..dfcff3f76 100644
--- a/src/resources/iteminfo.cpp
+++ b/src/resources/iteminfo.cpp
@@ -77,14 +77,14 @@ ItemInfo::ItemInfo() :
mAttackAction(SpriteAction::INVALID),
mAttackRange(0),
mMissileParticle(""),
- mColors(0),
+ mColors(nullptr),
mColorList(""),
mHitEffectId(0),
mCriticalHitEffectId(0)
{
for (int f = 0; f < 9; f ++)
{
- mSpriteToItemReplaceMap[f] = 0;
+ mSpriteToItemReplaceMap[f] = nullptr;
mDrawBefore[f] = -1;
mDrawAfter[f] = -1;
mDrawPriority[f] = 0;
@@ -96,7 +96,7 @@ ItemInfo::~ItemInfo()
delete_all(mSpriteToItemReplaceList);
mSpriteToItemReplaceList.clear();
for (int f = 0; f < 9; f ++)
- mSpriteToItemReplaceMap[f] = 0;
+ mSpriteToItemReplaceMap[f] = nullptr;
}
const std::string &ItemInfo::getSprite(Gender gender) const
@@ -145,7 +145,7 @@ const std::string &ItemInfo::getSound(EquipmentSoundEvent event) const
std::map<int, int> *ItemInfo::addReplaceSprite(int sprite, int direction)
{
if (direction < 0 || direction >= 9)
- return 0;
+ return nullptr;
SpriteToItemMap *spMap = mSpriteToItemReplaceMap[direction];
@@ -170,7 +170,7 @@ void ItemInfo::setColorsList(std::string name)
{
if (name.empty())
{
- mColors = 0;
+ mColors = nullptr;
mColorList = "";
}
else
@@ -231,7 +231,7 @@ const std::string ItemInfo::replaceColors(std::string str,
SpriteToItemMap *ItemInfo::getSpriteToItemReplaceMap(int direction) const
{
if (direction < 0 || direction >= 9)
- return 0;
+ return nullptr;
SpriteToItemMap *spMap = mSpriteToItemReplaceMap[direction];
if (spMap)
@@ -242,7 +242,7 @@ SpriteToItemMap *ItemInfo::getSpriteToItemReplaceMap(int direction) const
if (direction == DIRECTION_DOWNLEFT || direction == DIRECTION_DOWNRIGHT)
return mSpriteToItemReplaceMap[DIRECTION_DOWN];
- return 0;
+ return nullptr;
}
void ItemInfo::setSpriteOrder(int *ptr, int direction, int n, int def)
diff --git a/src/resources/mapreader.cpp b/src/resources/mapreader.cpp
index f702864ea..68d39f0ae 100644
--- a/src/resources/mapreader.cpp
+++ b/src/resources/mapreader.cpp
@@ -102,7 +102,7 @@ int inflateMemory(unsigned char *in, unsigned int inLength,
do
{
- if (strm.next_out == NULL)
+ if (!strm.next_out)
{
inflateEnd(&strm);
return Z_MEM_ERROR;
@@ -128,7 +128,7 @@ int inflateMemory(unsigned char *in, unsigned int inLength,
{
out = static_cast<unsigned char*>(realloc(out, bufferSize * 2));
- if (out == NULL)
+ if (!out)
{
inflateEnd(&strm);
return Z_MEM_ERROR;
@@ -153,7 +153,7 @@ int inflateMemory(unsigned char *in, unsigned int inLength,
unsigned int outLength = 0;
int ret = inflateMemory(in, inLength, out, outLength);
- if (ret != Z_OK || out == NULL)
+ if (ret != Z_OK || !out)
{
if (ret == Z_MEM_ERROR)
{
@@ -173,7 +173,7 @@ int inflateMemory(unsigned char *in, unsigned int inLength,
}
free(out);
- out = NULL;
+ out = nullptr;
outLength = 0;
}
@@ -188,12 +188,12 @@ Map *MapReader::readMap(const std::string &filename,
ResourceManager *resman = ResourceManager::getInstance();
int fileSize;
void *buffer = resman->loadFile(realFilename, fileSize);
- Map *map = NULL;
+ Map *map = nullptr;
- if (buffer == NULL)
+ if (!buffer)
{
logger->log("Map file not found (%s)", realFilename.c_str());
- return NULL;
+ return nullptr;
}
unsigned char *inflated;
@@ -207,11 +207,11 @@ Map *MapReader::readMap(const std::string &filename,
fileSize, inflated);
free(buffer);
- if (inflated == NULL)
+ if (!inflated)
{
logger->log("Could not decompress map file (%s)",
realFilename.c_str());
- return NULL;
+ return nullptr;
}
}
else
@@ -251,7 +251,7 @@ Map *MapReader::readMap(const std::string &filename,
Map *MapReader::readMap(xmlNodePtr node, const std::string &path)
{
if (!node)
- return 0;
+ return nullptr;
// Take the filename off the path
const std::string pathDir = path.substr(0, path.rfind("/") + 1);
@@ -270,7 +270,7 @@ Map *MapReader::readMap(xmlNodePtr node, const std::string &path)
logger->log("MapReader: Warning: "
"Unitialized tile width or height value for map: %s",
path.c_str());
- return 0;
+ return nullptr;
}
Map *map = new Map(w, h, tilew, tileh);
@@ -405,7 +405,7 @@ inline static void setTile(Map *map, MapLayer *layer, int x, int y, int gid)
if (layer)
{
// Set regular tile on a layer
- Image * const img = set ? set->get(gid - set->getFirstGid()) : 0;
+ Image * const img = set ? set->get(gid - set->getFirstGid()) : nullptr;
layer->setTile(x, y, img);
}
else
@@ -458,7 +458,7 @@ void MapReader::readLayer(xmlNodePtr node, Map *map)
map->indexTilesets();
- MapLayer *layer = 0;
+ MapLayer *layer = nullptr;
if (!isCollisionLayer)
{
@@ -651,13 +651,13 @@ Tileset *MapReader::readTileset(xmlNodePtr node, const std::string &path,
Map *map)
{
if (!map)
- return NULL;
+ return nullptr;
int firstGid = XML::getProperty(node, "firstgid", 0);
int margin = XML::getProperty(node, "margin", 0);
int spacing = XML::getProperty(node, "spacing", 0);
- XML::Document* doc = NULL;
- Tileset *set = NULL;
+ XML::Document* doc = nullptr;
+ Tileset *set = nullptr;
std::string pathDir(path);
if (xmlHasProp(node, BAD_CAST "source"))
@@ -668,7 +668,7 @@ Tileset *MapReader::readTileset(xmlNodePtr node, const std::string &path,
doc = new XML::Document(filename);
node = doc->rootNode();
if (!node)
- return 0;
+ return nullptr;
// Reset path to be realtive to the tsx file
pathDir = filename.substr(0, filename.rfind("/") + 1);
@@ -760,7 +760,7 @@ Tileset *MapReader::readTileset(xmlNodePtr node, const std::string &path,
else
{
delete ani;
- ani = 0;
+ ani = nullptr;
}
}
}
diff --git a/src/resources/music.cpp b/src/resources/music.cpp
index 5ae9a2202..099d030b0 100644
--- a/src/resources/music.cpp
+++ b/src/resources/music.cpp
@@ -54,7 +54,7 @@ Resource *Music::load(void *buffer, unsigned bufferSize)
else
{
logger->log("Error, failed to load music: %s", Mix_GetError());
- return NULL;
+ return nullptr;
}
}
diff --git a/src/resources/resourcemanager.cpp b/src/resources/resourcemanager.cpp
index fcba17812..a99ca622e 100644
--- a/src/resources/resourcemanager.cpp
+++ b/src/resources/resourcemanager.cpp
@@ -48,7 +48,7 @@
#include "debug.h"
-ResourceManager *ResourceManager::instance = NULL;
+ResourceManager *ResourceManager::instance = nullptr;
ResourceManager::ResourceManager() :
mOldestOrphan(0),
@@ -94,7 +94,7 @@ ResourceManager::~ResourceManager()
continue;
}
#endif
- if (dynamic_cast<SpriteDef*>(iter->second) != 0)
+ if (dynamic_cast<SpriteDef*>(iter->second))
{
cleanUp(iter->second);
ResourceIterator toErase = iter;
@@ -118,7 +118,7 @@ ResourceManager::~ResourceManager()
continue;
}
#endif
- if (dynamic_cast<ImageSet*>(iter->second) != 0)
+ if (dynamic_cast<ImageSet*>(iter->second))
{
cleanUp(iter->second);
ResourceIterator toErase = iter;
@@ -177,7 +177,7 @@ void ResourceManager::cleanUp(Resource *res)
void ResourceManager::cleanOrphans(bool always)
{
timeval tv;
- gettimeofday(&tv, NULL);
+ gettimeofday(&tv, nullptr);
// Delete orphaned resources after 30 seconds.
time_t oldest = tv.tv_sec, threshold = oldest - 30;
@@ -324,7 +324,7 @@ std::string ResourceManager::getPath(const std::string &file)
const char* tmp = PHYSFS_getRealDir(file.c_str());
std::string path;
- // if the file is not in the search path, then its NULL
+ // if the file is not in the search path, then its nullptr
if (tmp)
{
path = std::string(tmp) + "/" + file;
@@ -388,7 +388,7 @@ Resource *ResourceManager::get(const std::string &idPath, generator fun,
logger->log("Error loaging image: " + idPath);
}
- // Returns NULL if the object could not be created.
+ // Returns nullptr if the object could not be created.
return resource;
}
@@ -400,14 +400,14 @@ struct ResourceLoader
static Resource *load(void *v)
{
if (!v)
- return NULL;
+ return nullptr;
ResourceLoader *l = static_cast< ResourceLoader * >(v);
int fileSize;
if (!l->manager)
- return NULL;
+ return nullptr;
void *buffer = l->manager->loadFile(l->path, fileSize);
if (!buffer)
- return NULL;
+ return nullptr;
Resource *res = l->fun(buffer, fileSize);
free(buffer);
return res;
@@ -437,15 +437,15 @@ struct DyedImageLoader
static Resource *load(void *v)
{
if (!v)
- return NULL;
+ return nullptr;
DyedImageLoader *l = static_cast< DyedImageLoader * >(v);
if (!l->manager)
- return NULL;
+ return nullptr;
std::string path = l->path;
std::string::size_type p = path.find('|');
- Dye *d = NULL;
+ Dye *d = nullptr;
if (p != std::string::npos)
{
d = new Dye(path.substr(p + 1));
@@ -495,15 +495,15 @@ struct ImageSetLoader
static Resource *load(void *v)
{
if (!v)
- return NULL;
+ return nullptr;
ImageSetLoader *l = static_cast< ImageSetLoader * >(v);
if (!l->manager)
- return NULL;
+ return nullptr;
Image *img = l->manager->getImage(l->path);
if (!img)
- return NULL;
+ return nullptr;
ImageSet *res = new ImageSet(img, l->w, l->h);
img->decRef();
return res;
@@ -526,7 +526,7 @@ struct SpriteDefLoader
static Resource *load(void *v)
{
if (!v)
- return NULL;
+ return nullptr;
SpriteDefLoader *l = static_cast< SpriteDefLoader * >(v);
return SpriteDef::load(l->path, l->variant);
@@ -552,7 +552,7 @@ void ResourceManager::release(Resource *res)
assert(resIter != mResources.end() && resIter->second == res);
timeval tv;
- gettimeofday(&tv, NULL);
+ gettimeofday(&tv, nullptr);
time_t timestamp = tv.tv_sec;
res->mTimeStamp = timestamp;
@@ -574,7 +574,7 @@ ResourceManager *ResourceManager::getInstance()
void ResourceManager::deleteInstance()
{
delete instance;
- instance = 0;
+ instance = nullptr;
}
void *ResourceManager::loadFile(const std::string &fileName, int &fileSize)
@@ -583,11 +583,11 @@ void *ResourceManager::loadFile(const std::string &fileName, int &fileSize)
PHYSFS_file *file = PHYSFS_openRead(fileName.c_str());
// If the handler is an invalid pointer indicate failure
- if (file == NULL)
+ if (!file)
{
logger->log("Warning: Failed to load %s: %s",
fileName.c_str(), PHYSFS_getLastError());
- return NULL;
+ return nullptr;
}
// Log the real dir of the file
@@ -698,7 +698,7 @@ SDL_Surface *ResourceManager::loadSDLSurface(const std::string &filename)
{
int fileSize;
void *buffer = loadFile(filename, fileSize);
- SDL_Surface *tmp = NULL;
+ SDL_Surface *tmp = nullptr;
if (buffer)
{
@@ -734,13 +734,13 @@ struct RescaledLoader
static Resource *load(void *v)
{
if (!v)
- return NULL;
+ return nullptr;
RescaledLoader *l = static_cast< RescaledLoader * >(v);
if (!l->manager)
- return NULL;
+ return nullptr;
Image *rescaled = l->image->SDLgetScaledImage(l->width, l->height);
if (!rescaled)
- return NULL;
+ return nullptr;
return rescaled;
}
};
@@ -748,7 +748,7 @@ struct RescaledLoader
Image *ResourceManager::getRescaled(Image *image, int width, int height)
{
if (!image)
- return 0;
+ return nullptr;
std::string idPath = image->getIdPath() + strprintf(
"_rescaled%dx%d", width, height);
diff --git a/src/resources/soundeffect.cpp b/src/resources/soundeffect.cpp
index e8e5d3dbb..a8da8dd80 100644
--- a/src/resources/soundeffect.cpp
+++ b/src/resources/soundeffect.cpp
@@ -34,7 +34,7 @@ SoundEffect::~SoundEffect()
Resource *SoundEffect::load(void *buffer, unsigned bufferSize)
{
if (!buffer)
- return NULL;
+ return nullptr;
// Load the raw file data from the buffer in an RWops structure
SDL_RWops *rw = SDL_RWFromMem(buffer, bufferSize);
@@ -49,7 +49,7 @@ Resource *SoundEffect::load(void *buffer, unsigned bufferSize)
else
{
logger->log("Error, failed to load sound effect: %s", Mix_GetError());
- return NULL;
+ return nullptr;
}
}
diff --git a/src/resources/specialdb.cpp b/src/resources/specialdb.cpp
index 2463da06a..51ba4bc74 100644
--- a/src/resources/specialdb.cpp
+++ b/src/resources/specialdb.cpp
@@ -126,9 +126,9 @@ SpecialInfo *SpecialDB::get(int id)
SpecialInfos::const_iterator i = mSpecialInfos.find(id);
if (i == mSpecialInfos.end())
- return NULL;
+ return nullptr;
else
return i->second;
- return NULL;
+ return nullptr;
}
diff --git a/src/resources/spritedef.cpp b/src/resources/spritedef.cpp
index 2e32f6c5f..3e2aac785 100644
--- a/src/resources/spritedef.cpp
+++ b/src/resources/spritedef.cpp
@@ -39,7 +39,7 @@
#include "debug.h"
-SpriteReference *SpriteReference::Empty = 0;
+SpriteReference *SpriteReference::Empty = nullptr;
Action *SpriteDef::getAction(std::string action) const
{
@@ -48,7 +48,7 @@ Action *SpriteDef::getAction(std::string action) const
if (i == mActions.end())
{
logger->log("Warning: no action \"%s\" defined!", action.c_str());
- return NULL;
+ return nullptr;
}
return i->second;
@@ -73,7 +73,7 @@ SpriteDef *SpriteDef::load(const std::string &animationFile, int variant)
if (animationFile != errorFile)
return load(errorFile, 0);
else
- return NULL;
+ return nullptr;
}
SpriteDef *def = new SpriteDef;
@@ -360,7 +360,7 @@ SpriteDef::~SpriteDef()
if (i->second)
{
i->second->decRef();
- i->second = 0;
+ i->second = nullptr;
}
}
}
diff --git a/src/resources/wallpaper.cpp b/src/resources/wallpaper.cpp
index 5cfec3b84..c8cd5ad60 100644
--- a/src/resources/wallpaper.cpp
+++ b/src/resources/wallpaper.cpp
@@ -94,7 +94,7 @@ void Wallpaper::loadWallpapers()
char **imgs = PHYSFS_enumerateFiles(wallpaperPath.c_str());
- for (char **i = imgs; *i != NULL; i++)
+ for (char **i = imgs; *i; i++)
{
int width;
int height;
@@ -157,7 +157,7 @@ std::string Wallpaper::getWallpaper(int width, int height)
{
// Return randomly a wallpaper between vector[0] and
// vector[vector.size() - 1]
- srand(static_cast<unsigned>(time(0)));
+ srand(static_cast<unsigned>(time(nullptr)));
return wallPaperVector[int(static_cast<double>(
wallPaperVector.size()) * rand() / (RAND_MAX + 1.0))];
}
diff --git a/src/rotationalparticle.cpp b/src/rotationalparticle.cpp
index 60d818cd9..c7c0d10bf 100644
--- a/src/rotationalparticle.cpp
+++ b/src/rotationalparticle.cpp
@@ -29,7 +29,7 @@
#define PI 3.14159265
RotationalParticle::RotationalParticle(Map *map, Animation *animation):
- ImageParticle(map, NULL),
+ ImageParticle(map, nullptr),
mAnimation(new SimpleAnimation(animation))
{
}
@@ -44,8 +44,8 @@ RotationalParticle::RotationalParticle(Map *map, xmlNodePtr animationNode,
RotationalParticle::~RotationalParticle()
{
delete mAnimation;
- mAnimation = 0;
- mImage = 0;
+ mAnimation = nullptr;
+ mImage = nullptr;
}
bool RotationalParticle::update()
diff --git a/src/shopitem.cpp b/src/shopitem.cpp
index 3a9b63ca6..db84d30df 100644
--- a/src/shopitem.cpp
+++ b/src/shopitem.cpp
@@ -131,7 +131,7 @@ int ShopItem::sellCurrentDuplicate(int quantity)
if (dupl->quantity == 0)
{
delete dupl;
- dupl = 0;
+ dupl = nullptr;
mDuplicates.pop();
}
return sellCount;
diff --git a/src/simpleanimation.cpp b/src/simpleanimation.cpp
index 4736b2e57..31f0c7af0 100644
--- a/src/simpleanimation.cpp
+++ b/src/simpleanimation.cpp
@@ -55,13 +55,13 @@ SimpleAnimation::SimpleAnimation(xmlNodePtr animationNode,
if (mAnimation)
mCurrentFrame = mAnimation->getFrame(0);
else
- mCurrentFrame = 0;
+ mCurrentFrame = nullptr;
}
SimpleAnimation::~SimpleAnimation()
{
delete mAnimation;
- mAnimation = 0;
+ mAnimation = nullptr;
}
bool SimpleAnimation::draw(Graphics *graphics, int posX, int posY) const
@@ -133,7 +133,7 @@ Image *SimpleAnimation::getCurrentImage() const
if (mCurrentFrame)
return mCurrentFrame->image;
else
- return NULL;
+ return nullptr;
}
void SimpleAnimation::initializeAnimation(xmlNodePtr animationNode,
diff --git a/src/sound.cpp b/src/sound.cpp
index 40c929824..a573458ef 100644
--- a/src/sound.cpp
+++ b/src/sound.cpp
@@ -51,7 +51,7 @@ Sound::Sound():
mInstalled(false),
mSfxVolume(100),
mMusicVolume(60),
- mMusic(0),
+ mMusic(nullptr),
mPlayBattle(false),
mPlayGui(false),
mPlayMusic(false),
@@ -70,7 +70,7 @@ Sound::~Sound()
config.removeListener("playMusic", this);
// Unlink the callback function.
- Mix_HookMusicFinished(NULL);
+ Mix_HookMusicFinished(nullptr);
}
void Sound::optionChanged(const std::string &value)
@@ -202,7 +202,7 @@ static Mix_Music *loadMusic(const std::string &filename)
if (success)
path = resman->getPath("tempMusic.ogg");
else
- return NULL;
+ return nullptr;
}
else
{
@@ -210,7 +210,7 @@ static Mix_Music *loadMusic(const std::string &filename)
}
if (path.empty())
- return 0;
+ return nullptr;
Mix_Music *music = Mix_LoadMUS(path.c_str());
@@ -247,7 +247,7 @@ void Sound::stopMusic()
{
Mix_HaltMusic();
Mix_FreeMusic(mMusic);
- mMusic = NULL;
+ mMusic = nullptr;
}
}
@@ -298,7 +298,7 @@ void Sound::logic()
if (mMusic)
{
Mix_FreeMusic(mMusic);
- mMusic = NULL;
+ mMusic = nullptr;
}
sFadingOutEnded = false;
@@ -380,7 +380,7 @@ void Sound::haltMusic()
Mix_HaltMusic();
Mix_FreeMusic(mMusic);
- mMusic = NULL;
+ mMusic = nullptr;
}
void Sound::changeAudio()
diff --git a/src/spellmanager.cpp b/src/spellmanager.cpp
index 9f7aaaa8b..7c4c444f0 100644
--- a/src/spellmanager.cpp
+++ b/src/spellmanager.cpp
@@ -54,7 +54,7 @@ SpellManager::~SpellManager()
TextCommand* SpellManager::getSpell(int spellId)
{
if (spellId < 0 || static_cast<unsigned int>(spellId) >= mSpells.size())
- return NULL;
+ return nullptr;
return mSpells[spellId];
}
@@ -166,7 +166,7 @@ void SpellManager::invokeSpell(TextCommand* spell) const
{
if (!chatWindow || !spell)
return;
- chatWindow->localChatInput(parseCommand(spell->getCommand(), 0));
+ chatWindow->localChatInput(parseCommand(spell->getCommand(), nullptr));
}
void SpellManager::invokeSpell(TextCommand* spell, Being* target) const
@@ -353,7 +353,7 @@ std::string SpellManager::autoComplete(std::string partName)
{
std::vector<TextCommand*>::const_iterator i = mSpellsVector.begin();
std::string newName = "";
- TextCommand *newCommand = NULL;
+ TextCommand *newCommand = nullptr;
while (i != mSpellsVector.end())
{
@@ -368,7 +368,7 @@ std::string SpellManager::autoComplete(std::string partName)
if (newName != "")
{
newName = findSameSubstring(line, newName);
- newCommand = NULL;
+ newCommand = nullptr;
}
else
{
diff --git a/src/sprite.h b/src/sprite.h
index 20f38bef0..52752619b 100644
--- a/src/sprite.h
+++ b/src/sprite.h
@@ -24,6 +24,8 @@
#include "resources/spritedef.h"
+#include "localconsts.h"
+
class Graphics;
class Image;
@@ -105,7 +107,7 @@ class Sprite
virtual unsigned int getFrameCount() const = 0;
virtual void *getHash()
- { return 0; }
+ { return nullptr; }
virtual void *getHash2()
{ return this; }
diff --git a/src/statuseffect.cpp b/src/statuseffect.cpp
index dccf21f46..f7bffc31f 100644
--- a/src/statuseffect.cpp
+++ b/src/statuseffect.cpp
@@ -65,7 +65,7 @@ void StatusEffect::deliverMessage()
Particle *StatusEffect::getParticle()
{
if (!particleEngine || mParticleEffect.empty())
- return NULL;
+ return nullptr;
else
return particleEngine->addEffect(mParticleEffect, 0, 0);
}
@@ -74,7 +74,7 @@ AnimatedSprite *StatusEffect::getIcon()
{
if (mIcon.empty())
{
- return NULL;
+ return nullptr;
}
else
{
@@ -141,7 +141,7 @@ void StatusEffect::load()
for_each_xml_child_node(node, rootNode)
{
- status_effect_map *the_map = NULL;
+ status_effect_map *the_map = nullptr;
int index = atoi(XML::getProperty(node, "id", "-1").c_str());
diff --git a/src/text.cpp b/src/text.cpp
index 8d930f4e2..bb480811f 100644
--- a/src/text.cpp
+++ b/src/text.cpp
@@ -55,7 +55,7 @@ Text::Text(const std::string &text, int x, int y,
else
mFont = font;
- if (textManager == 0)
+ if (!textManager)
{
textManager = new TextManager;
Image *sbImage = Theme::getImageFromTheme("bubble.png|W:#"
@@ -76,8 +76,8 @@ Text::Text(const std::string &text, int x, int y,
else
{
for (int f = 0; f < 9; f ++)
- mBubble.grid[f] = 0;
- mBubbleArrow = 0;
+ mBubble.grid[f] = nullptr;
+ mBubbleArrow = nullptr;
}
const float bubbleAlpha = config.getFloatValue("speechBubbleAlpha");
for (int i = 0; i < 9; i++)
@@ -121,27 +121,27 @@ Text::~Text()
if (--mInstances == 0)
{
delete textManager;
- textManager = 0;
+ textManager = nullptr;
delete mBubble.grid[0];
- mBubble.grid[0] = 0;
+ mBubble.grid[0] = nullptr;
delete mBubble.grid[1];
- mBubble.grid[1] = 0;
+ mBubble.grid[1] = nullptr;
delete mBubble.grid[2];
- mBubble.grid[2] = 0;
+ mBubble.grid[2] = nullptr;
delete mBubble.grid[3];
- mBubble.grid[3] = 0;
+ mBubble.grid[3] = nullptr;
delete mBubble.grid[4];
- mBubble.grid[4] = 0;
+ mBubble.grid[4] = nullptr;
delete mBubble.grid[5];
- mBubble.grid[5] = 0;
+ mBubble.grid[5] = nullptr;
delete mBubble.grid[6];
- mBubble.grid[6] = 0;
+ mBubble.grid[6] = nullptr;
delete mBubble.grid[7];
- mBubble.grid[7] = 0;
+ mBubble.grid[7] = nullptr;
delete mBubble.grid[8];
- mBubble.grid[8] = 0;
+ mBubble.grid[8] = nullptr;
delete mBubbleArrow;
- mBubbleArrow = 0;
+ mBubbleArrow = nullptr;
}
}
diff --git a/src/textcommand.cpp b/src/textcommand.cpp
index 30d8c2a4c..8801ef149 100644
--- a/src/textcommand.cpp
+++ b/src/textcommand.cpp
@@ -46,7 +46,7 @@ TextCommand::TextCommand(unsigned int id, std::string symbol,
mBaseLvl(basicLvl),
mSchoolLvl(schoolLvl),
mCommandType(TEXT_COMMAND_MAGIC),
- mImage(0)
+ mImage(nullptr)
{
loadImage();
}
@@ -66,7 +66,7 @@ TextCommand::TextCommand(unsigned int id, std::string symbol,
mBaseLvl(0),
mSchoolLvl(0),
mCommandType(TEXT_COMMAND_TEXT),
- mImage(0)
+ mImage(nullptr)
{
loadImage();
}
@@ -83,7 +83,7 @@ TextCommand::TextCommand(unsigned int id) :
mBaseLvl(0),
mSchoolLvl(0),
mCommandType(TEXT_COMMAND_TEXT),
- mImage(0)
+ mImage(nullptr)
{
loadImage();
}
@@ -94,7 +94,7 @@ TextCommand::~TextCommand()
if (mImage)
{
mImage->decRef();
- mImage = 0;
+ mImage = nullptr;
}
}
@@ -103,7 +103,7 @@ void TextCommand::loadImage()
if (mImage)
{
mImage->decRef();
- mImage = 0;
+ mImage = nullptr;
}
if (getIcon().empty())
diff --git a/src/textmanager.cpp b/src/textmanager.cpp
index 7c1be58cf..6c73d00b4 100644
--- a/src/textmanager.cpp
+++ b/src/textmanager.cpp
@@ -26,7 +26,7 @@
#include "debug.h"
-TextManager *textManager = 0;
+TextManager *textManager = nullptr;
TextManager::TextManager()
{
@@ -34,7 +34,7 @@ TextManager::TextManager()
void TextManager::addText(Text *text)
{
- place(text, 0, text->mX, text->mY, text->mHeight);
+ place(text, nullptr, text->mX, text->mY, text->mHeight);
mTextList.push_back(text);
}
diff --git a/src/utils/base64.cpp b/src/utils/base64.cpp
index 14876d878..843a0b534 100644
--- a/src/utils/base64.cpp
+++ b/src/utils/base64.cpp
@@ -102,8 +102,8 @@ unsigned char *php3_base64_decode(const unsigned char *string,
unsigned char *result = static_cast<unsigned char *>(
calloc(length + 1, 1));
- if (result == NULL)
- return NULL;
+ if (!result)
+ return nullptr;
/* run through the whole string, converting as we go */
while ((ch = *current++) != '\0')
@@ -155,7 +155,7 @@ unsigned char *php3_base64_decode(const unsigned char *string,
case 0:
case 1:
free(result);
- return 0;
+ return nullptr;
case 2:
k++;
case 3:
diff --git a/src/utils/copynpaste.cpp b/src/utils/copynpaste.cpp
index 6d1c675d3..3e37afd9d 100644
--- a/src/utils/copynpaste.cpp
+++ b/src/utils/copynpaste.cpp
@@ -43,7 +43,7 @@ bool retrieveBuffer(std::string& text, std::string::size_type& pos)
{
bool ret = false;
- if (!OpenClipboard(NULL))
+ if (!OpenClipboard(nullptr))
return false;
HANDLE h = GetClipboardData(CF_UNICODETEXT);
@@ -54,13 +54,13 @@ bool retrieveBuffer(std::string& text, std::string::size_type& pos)
if (data)
{
int len = WideCharToMultiByte(CP_UTF8, 0, data, -1,
- NULL, 0, NULL, NULL);
+ nullptr, 0, nullptr, nullptr);
if (len > 0)
{
// Convert from UTF-16 to UTF-8
void *temp = calloc(len, 1);
if (WideCharToMultiByte(CP_UTF8, 0, data, -1,
- (LPSTR)temp, len, NULL, NULL))
+ (LPSTR)temp, len, nullptr, nullptr))
{
text.insert(pos, (char*)temp);
pos += len-1;
@@ -94,7 +94,8 @@ bool retrieveBuffer(std::string& text, std::string::size_type& pos)
bool sendBuffer(std::string& text)
{
- int wCharsLen = MultiByteToWideChar(CP_UTF8, 0, text.c_str(), -1, NULL, 0);
+ int wCharsLen = MultiByteToWideChar(CP_UTF8,
+ 0, text.c_str(), -1, nullptr, 0);
if (!wCharsLen)
return false;
@@ -284,6 +285,9 @@ bool sendBuffer(std::string& text)
}
#elif USE_X11
+
+#include <unistd.h>
+
static char* getSelection2(Display *dpy, Window us, Atom selection,
Atom request_target)
{
@@ -295,7 +299,7 @@ static char* getSelection2(Display *dpy, Window us, Atom selection,
if (owner == None)
{
//printf("No owner\n");
- return NULL;
+ return nullptr;
}
XConvertSelection(dpy, selection, request_target,
XA_PRIMARY, us, CurrentTime);
@@ -314,13 +318,13 @@ static char* getSelection2(Display *dpy, Window us, Atom selection,
if (e.xselection.property == None)
{
//printf("Couldn't convert\n");
- return NULL;
+ return nullptr;
}
long unsigned len, left, dummy;
int format;
Atom type;
- unsigned char *data = NULL;
+ unsigned char *data = nullptr;
ret = XGetWindowProperty(dpy, us, e.xselection.property, 0, 0,
False, AnyPropertyType, &type, &format, &len, &left, &data);
@@ -328,7 +332,7 @@ static char* getSelection2(Display *dpy, Window us, Atom selection,
{
if (ret == Success)
XFree(data);
- return NULL;
+ return nullptr;
}
ret = XGetWindowProperty(dpy, us, e.xselection.property, 0,
@@ -338,7 +342,7 @@ static char* getSelection2(Display *dpy, Window us, Atom selection,
if (ret != Success)
{
//printf("Failed to get property: %p on %lu\n", data, len);
- return NULL;
+ return nullptr;
}
//printf(">>> Got %s: len=%lu left=%lu (event %i)\n", data,
@@ -346,14 +350,14 @@ static char* getSelection2(Display *dpy, Window us, Atom selection,
return reinterpret_cast<char*>(data);
}
}
- return NULL;
+ return nullptr;
}
static Atom requestAtom;
static char* getSelection(Display *dpy, Window us, Atom selection)
{
- char *data = NULL;
+ char *data = nullptr;
if (requestAtom != None)
data = getSelection2(dpy, us, selection, requestAtom);
if (!data)
@@ -371,7 +375,7 @@ bool retrieveBuffer(std::string& text, std::string::size_type& pos)
{
Display *dpy = info.info.x11.display;
Window us = info.info.x11.window;
- char *data = NULL;
+ char *data = nullptr;
requestAtom = XInternAtom (dpy, "UTF8_STRING", true);
@@ -428,7 +432,7 @@ bool sendBuffer(std::string& text)
}
close(fd[0]);
}
- execl("/usr/bin/xsel", "xsel", "-i", (char *)0);
+ execl("/usr/bin/xsel", "xsel", "-i", (char *)nullptr);
exit(1);
}
diff --git a/src/utils/dtor.h b/src/utils/dtor.h
index 11583709f..fbe903ced 100644
--- a/src/utils/dtor.h
+++ b/src/utils/dtor.h
@@ -30,14 +30,16 @@
template<typename T>
struct dtor : public std::unary_function <T, void>
{
- void operator()(T &ptr) { delete ptr; }
+ void operator()(T &ptr)
+ { delete ptr; }
};
template<typename T1, typename T2>
struct dtor<std::pair<T1, T2> > :
public std::unary_function <std::pair<T1, T2>, void>
{
- void operator()(std::pair<T1, T2> &pair) { delete pair.second; }
+ void operator()(std::pair<T1, T2> &pair)
+ { delete pair.second; }
};
template<class Cont>
diff --git a/src/utils/paths.cpp b/src/utils/paths.cpp
index b42caf9b5..3cc35cb55 100644
--- a/src/utils/paths.cpp
+++ b/src/utils/paths.cpp
@@ -41,7 +41,7 @@ std::string getRealPath(const std::string &str)
char *realPath = (char*)calloc(PATH_MAX, sizeof(char));
realpath(str.c_str(), realPath);
#else
- char *realPath = realpath(str.c_str(), NULL);
+ char *realPath = realpath(str.c_str(), nullptr);
#endif
path = realPath;
free(realPath);
diff --git a/src/utils/specialfolder.cpp b/src/utils/specialfolder.cpp
index 31eaec687..fae0fbf47 100644
--- a/src/utils/specialfolder.cpp
+++ b/src/utils/specialfolder.cpp
@@ -45,7 +45,7 @@ std::string getSpecialFolderLocation(int folderId)
char szPath[_MAX_PATH];
// get the item ID list for folderId
- HRESULT hr = SHGetSpecialFolderLocation(NULL, folderId, &pItemIdList);
+ HRESULT hr = SHGetSpecialFolderLocation(nullptr, folderId, &pItemIdList);
if (hr != S_OK)
return ret;
diff --git a/src/utils/stringutils.cpp b/src/utils/stringutils.cpp
index 6c50d4019..39f14a646 100644
--- a/src/utils/stringutils.cpp
+++ b/src/utils/stringutils.cpp
@@ -22,6 +22,8 @@
#include "utils/stringutils.h"
+#include "configuration.h"
+
#include <string.h>
#include <algorithm>
#include <cstdarg>
@@ -487,11 +489,16 @@ std::string combineDye2(std::string file, std::string dye)
std::vector<std::string> getLang()
{
std::vector<std::string> langs;
- char *lng = getenv("LANG");
- if (!lng)
- return langs;
- std::string lang(lng);
+ std::string lang = config.getValue("lang", "").c_str();
+ if (lang.empty())
+ {
+ char *lng = getenv("LANG");
+ if (!lng)
+ return langs;
+ lang = lng;
+ }
+
int dot = lang.find(".");
if (dot != (signed)std::string::npos)
lang = lang.substr(0, dot);
diff --git a/src/utils/xml.cpp b/src/utils/xml.cpp
index 89457a4e8..10436067f 100644
--- a/src/utils/xml.cpp
+++ b/src/utils/xml.cpp
@@ -35,10 +35,10 @@
namespace XML
{
Document::Document(const std::string &filename, bool useResman):
- mDoc(0)
+ mDoc(nullptr)
{
int size;
- char *data = NULL;
+ char *data = nullptr;
if (useResman)
{
ResourceManager *resman = ResourceManager::getInstance();
@@ -87,7 +87,7 @@ namespace XML
if (data)
mDoc = xmlParseMemory(data, size);
else
- mDoc = 0;
+ mDoc = nullptr;
}
Document::~Document()
@@ -98,7 +98,7 @@ namespace XML
xmlNodePtr Document::rootNode()
{
- return mDoc ? xmlDocGetRootElement(mDoc) : 0;
+ return mDoc ? xmlDocGetRootElement(mDoc) : nullptr;
}
int getProperty(xmlNodePtr node, const char* name, int def)
@@ -162,7 +162,7 @@ namespace XML
return child;
}
- return NULL;
+ return nullptr;
}
} // namespace XML